From 2b7b8d7174a2ea6f84db3b5917b0bf068213a85e Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Wed, 15 Apr 2020 10:56:57 -0400 Subject: disassemble the thumb portion of arm9. --- Makefile | 25 +- asm/arm9_thumb.s | 256758 +++++++++++++++++++++++++++++++++++++++++++++ asm/entry.s | 218 + asm/macros/function.inc | 5 - asm/main.s | 450 +- asm/rom2.s | 12 +- asm/rom_header.s | 10 +- global.inc | 2207 + ld_script.txt | 3 +- main.c | 7 - pokediamond.lcf | 26 + undefined_syms.txt | 2962 + 12 files changed, 262367 insertions(+), 316 deletions(-) create mode 100644 asm/arm9_thumb.s create mode 100644 asm/entry.s create mode 100644 global.inc delete mode 100644 main.c create mode 100644 pokediamond.lcf diff --git a/Makefile b/Makefile index cb5149ba..43483231 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ TARGET := pokediamond.us ROM := $(BUILD_DIR)/$(TARGET).nds ELF := $(BUILD_DIR)/$(TARGET).elf -LD_SCRIPT := ld_script.txt +LD_SCRIPT := pokediamond.lcf # Directories containing source files SRC_DIRS := src @@ -31,17 +31,26 @@ MWCCVERSION := 2.0/base CROSS := arm-linux-gnueabi- -MWCCARM := tools/mwccarm/$(MWCCVERSION)/mwccarm.exe +MWCCARM := tools/mwccarm/$(MWCCVERSION)/mwccarm.exe +# Argh... due to EABI version shenanigans, we can't use GNU LD to link together +# MWCC built objects and GNU built ones. mwldarm, however, doesn't care, so we +# have to use mwldarm for now. +# TODO: Is there a hack workaround to let us go back to GNU LD? Ideally, the +# only dependency should be MWCCARM. +MWLDARM := tools/mwccarm/$(MWCCVERSION)/mwldarm.exe +MWASMARM := tools/mwccarm/$(MWCCVERSION)/mwasmarm.exe -AS := $(CROSS)as +AS := $(MWASMARM) CC := $(MWCCARM) CPP := cpp -P -LD := $(CROSS)ld +LD := $(MWLDARM) AR := $(CROSS)ar OBJDUMP := $(CROSS)objdump OBJCOPY := $(CROSS)objcopy -CFLAGS = -O4,p -proc arm946e -thumb -fp soft -lang c -Cpp_exceptions off +# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o +ASFLAGS = -proc arm5te +CFLAGS = -O4,p -proc v5te -thumb -fp soft -lang c -Cpp_exceptions off -interworking ####################### Other Tools ######################### @@ -63,13 +72,13 @@ $(BUILD_DIR)/%.o: %.c $(CC) -c $(CFLAGS) -o $@ $< $(BUILD_DIR)/%.o: %.s - $(AS) $(ASFLAGS) -MD $(BUILD_DIR)/$*.d -o $@ $< + $(AS) $(ASFLAGS) $< -o $@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) $(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $< -$(ELF): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) undefined_syms.txt - $(LD) -T undefined_syms.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) -Map $(BUILD_DIR)/$(TARGET).map +$(ELF): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) + $(LD) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) -nodead $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s new file mode 100644 index 00000000..e51efe05 --- /dev/null +++ b/asm/arm9_thumb.s @@ -0,0 +1,256758 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start sub_02000E0C +sub_02000E0C: ; 0x02000E0C + push {r3, lr} + ldr r0, _02000E74 ; =0x02106FA0 + ldr r1, [r0, #0xc] + cmp r1, #0x0 + bne _02000E4A + ldr r1, [r0, #0x14] + cmp r1, #0x0 + beq _02000E70 + mov r1, #0x0 + ldr r0, [r0, #0x10] + mvn r1, r1 + cmp r0, r1 + beq _02000E2C + mov r1, #0x0 + bl sub_02005FDC +_02000E2C: + ldr r0, _02000E74 ; =0x02106FA0 + mov r2, #0x0 + ldr r1, [r0, #0x10] + str r1, [r0, #0x8] + ldr r0, [r0, #0x14] + ldr r1, _02000E78 ; =0x02106FB8 + bl sub_02006234 + ldr r1, _02000E74 ; =0x02106FA0 + str r0, [r1, #0xc] + mov r0, #0x0 + mvn r0, r0 + str r0, [r1, #0x10] + mov r0, #0x0 + str r0, [r1, #0x14] +_02000E4A: + ldr r0, _02000E74 ; =0x02106FA0 + ldr r0, [r0, #0xc] + bl sub_02006290 + cmp r0, #0x0 + beq _02000E70 + ldr r0, _02000E74 ; =0x02106FA0 + ldr r0, [r0, #0xc] + bl sub_02006260 + ldr r0, _02000E74 ; =0x02106FA0 + mov r1, #0x0 + str r1, [r0, #0xc] + ldr r0, [r0, #0x8] + sub r1, r1, #0x1 + cmp r0, r1 + beq _02000E70 + bl sub_02005F60 +_02000E70: + pop {r3, pc} + nop +_02000E74: .word 0x02106FA0 +_02000E78: .word 0x02106FB8 + + thumb_func_start sub_02000E7C +sub_02000E7C: ; 0x02000E7C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02000E98 ; =0x02106FA0 + add r4, r1, #0x0 + ldr r0, [r0, #0x14] + cmp r0, #0x0 + beq _02000E8E + bl sub_02020C2C +_02000E8E: + ldr r0, _02000E98 ; =0x02106FA0 + str r5, [r0, #0x10] + str r4, [r0, #0x14] + pop {r3-r5, pc} + nop +_02000E98: .word 0x02106FA0 + + thumb_func_start sub_02000E9C +sub_02000E9C: ; 0x02000E9C + push {r3, lr} + bl sub_0202FB80 + mov r0, #0x1 + add r1, r0, #0x0 + blx sub_020C9C0C + ldr r0, _02000EC4 ; =0x021C48B8 + ldr r1, [r0, #0x2c] + add r1, r1, #0x1 + str r1, [r0, #0x2c] + mov r1, #0x0 + str r1, [r0, #0x30] + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02000EC0 + ldr r0, [r0, #0x4] + blx r1 +_02000EC0: + pop {r3, pc} + nop +_02000EC4: .word 0x021C48B8 + + thumb_func_start sub_02000EC8 +sub_02000EC8: ; 0x02000EC8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02033678 + cmp r0, #0x0 + beq _02000EE2 + blx sub_020D6DAC + cmp r0, #0x1 + bne _02000EE2 + add r0, r4, #0x0 + blx sub_020CD3B4 +_02000EE2: + bl sub_02000E9C + pop {r4, pc} + + thumb_func_start sub_02000EE8 +sub_02000EE8: ; 0x02000EE8 + push {r3, lr} + bl sub_020335B8 + add r1, r0, #0x0 + cmp r1, #0x1 + beq _02000EFE + cmp r1, #0x2 + beq _02000F06 + cmp r1, #0x3 + beq _02000F0E + pop {r3, pc} +_02000EFE: + mov r0, #0x1 + bl sub_02000F4C + pop {r3, pc} +_02000F06: + mov r0, #0x0 + bl sub_02000F4C + pop {r3, pc} +_02000F0E: + mov r0, #0x1 + bl sub_02000F4C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02000F18 +sub_02000F18: ; 0x02000F18 + push {r4, lr} + ldr r1, _02000F48 ; =0x00007FFF + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_0200E3A0 + ldr r1, _02000F48 ; =0x00007FFF + mov r0, #0x1 + bl sub_0200E3A0 + bl sub_02032DAC + cmp r0, #0x0 + beq _02000F3C + bl sub_020225F8 + bl sub_0202287C +_02000F3C: + bl sub_02000FE8 + add r0, r4, #0x0 + bl sub_02000EC8 + b _02000F3C + .balign 4 +_02000F48: .word 0x00007FFF + + thumb_func_start sub_02000F4C +sub_02000F4C: ; 0x02000F4C + push {r4-r6, lr} + add r6, r0, #0x0 + cmp r1, #0x3 + bne _02000F60 + mov r0, #0x0 + mov r1, #0x3 + add r2, r0, #0x0 + bl sub_02033F70 + b _02000F7A +_02000F60: + cmp r6, #0x0 + bne _02000F70 + mov r0, #0x0 + mov r1, #0x2 + add r2, r0, #0x0 + bl sub_02033F70 + b _02000F7A +_02000F70: + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl sub_02033F70 +_02000F7A: + bl sub_02032DAC + ldr r5, _02000FA0 ; =0x021C48B8 + mov r4, #0x1 +_02000F82: + bl sub_02000FE8 + bl sub_02016464 + ldr r0, [r5, #0x48] + tst r0, r4 + bne _02000F96 + bl sub_02000E9C + b _02000F82 +_02000F96: + add r0, r6, #0x0 + bl sub_02000F18 + pop {r4-r6, pc} + nop +_02000FA0: .word 0x021C48B8 + + thumb_func_start sub_02000FA4 +sub_02000FA4: ; 0x02000FA4 + push {r4-r5, lr} + sub sp, #0x1c + add r0, sp, #0xc + add r1, sp, #0x0 + bl sub_0201265C + ldr r0, _02000FE4 ; =0x021C48B8 + ldr r3, [sp, #0x10] + ldr r4, [r0, #0x2c] + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r5, [sp, #0x14] + add r0, r1, r0 + lsl r2, r0, #0x18 + ldr r0, [sp, #0x0] + lsl r3, r3, #0x8 + lsl r1, r0, #0x10 + mul r3, r5 + ldr r0, [sp, #0xc] + lsl r3, r3, #0x10 + add r0, r0, r3 + add r0, r1, r0 + add r5, r2, r0 + add r0, r4, r5 + bl sub_0201BA1C + add r0, r4, r5 + bl sub_0201B9E0 + add sp, #0x1c + pop {r4-r5, pc} + nop +_02000FE4: .word 0x021C48B8 + + thumb_func_start sub_02000FE8 +sub_02000FE8: ; 0x02000FE8 + push {r3-r7, lr} + sub sp, #0x8 + ldr r0, _0200109C ; =0x027FFFA8 + ldrh r1, [r0, #0x0] + mov r0, #0x2 + lsl r0, r0, #0xe + and r0, r1 + asr r0, r0, #0xf + beq _0200107E + ldr r0, _020010A0 ; =0x021C4918 + ldrb r0, [r0, #0x7] + cmp r0, #0x0 + bne _02001064 + bl sub_0201CE04 + blx sub_020DB7A8 + cmp r0, #0x1 + bne _02001014 + ldr r0, _020010A4 ; =0x02106FA0 + mov r1, #0x1 + str r1, [r0, #0x4] +_02001014: + ldr r6, _020010A4 ; =0x02106FA0 + mov r0, #0xc + ldr r1, [r6, #0x4] + ldr r4, _0200109C ; =0x027FFFA8 + mov r2, #0x10 + add r5, r0, #0x0 + ldr r7, _020010A0 ; =0x021C4918 + orr r5, r2 +_02001024: + ldrb r2, [r7, #0x6] + mov r0, #0xc + cmp r2, #0x0 + beq _02001032 + cmp r1, #0x0 + bne _02001032 + add r0, r5, #0x0 +_02001032: + mov r1, #0x0 + add r2, r1, #0x0 + blx sub_020D4E68 + blx sub_020D7D18 + cmp r0, #0x0 + beq _02001048 + blx sub_020D5180 + b _0200105C +_02001048: + ldrh r1, [r4, #0x0] + mov r0, #0x2 + lsl r0, r0, #0xe + and r0, r1 + asr r0, r0, #0xf + beq _0200105C + mov r0, #0x1 + str r0, [r6, #0x4] + add r1, r0, #0x0 + b _02001024 +_0200105C: + bl sub_0201CDD0 + add sp, #0x8 + pop {r3-r7, pc} +_02001064: + add r0, sp, #0x4 + add r1, sp, #0x0 + blx sub_020D50D8 + ldr r0, [sp, #0x4] + cmp r0, #0x1 + bne _02001096 + mov r0, #0x2 + mov r1, #0x0 + blx sub_020D526C + add sp, #0x8 + pop {r3-r7, pc} +_0200107E: + add r0, sp, #0x4 + add r1, sp, #0x0 + blx sub_020D50D8 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bne _02001096 + ldr r1, _020010A4 ; =0x02106FA0 + mov r0, #0x2 + ldr r1, [r1, #0x0] + blx sub_020D526C +_02001096: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0200109C: .word 0x027FFFA8 +_020010A0: .word 0x021C4918 +_020010A4: .word 0x02106FA0 + + thumb_func_start sub_020010A8 +sub_020010A8: ; 0x020010A8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0x38 + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_02016998 + add r4, r0, #0x0 + add r3, r5, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [sp, #0x0] + bl sub_02013690 + str r0, [r4, #0x28] + strh r6, [r4, #0x2c] + add r1, r4, #0x0 + strh r7, [r4, #0x2e] + mov r0, #0x0 + add r1, #0x30 + strb r0, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0x31 + strb r0, [r1, #0x0] + add r1, r4, #0x0 + mov r2, #0xff + add r1, #0x32 + strb r2, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0x33 + strb r0, [r1, #0x0] + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0x34 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + ldrb r1, [r4, #0x17] + add r0, #0x20 + ldrb r2, [r0, #0x0] + lsl r1, r1, #0x18 + mov r0, #0xf + lsr r3, r1, #0x1c + mov r1, #0xf + bic r2, r0 + and r3, r1 + orr r3, r2 + add r2, r4, #0x0 + add r2, #0x20 + strb r3, [r2, #0x0] + add r2, r4, #0x0 + add r2, #0x20 + ldrb r2, [r2, #0x0] + mov r3, #0xf0 + bic r2, r3 + ldrb r3, [r4, #0x18] + lsl r3, r3, #0x1c + lsr r3, r3, #0x1c + lsl r3, r3, #0x1c + lsr r3, r3, #0x18 + orr r3, r2 + add r2, r4, #0x0 + add r2, #0x20 + strb r3, [r2, #0x0] + add r2, r4, #0x0 + add r2, #0x21 + ldrb r2, [r2, #0x0] + bic r2, r0 + ldrb r0, [r4, #0x18] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + mov r1, #0x3f + bic r0, r1 + ldrh r1, [r4, #0x1a] + lsl r1, r1, #0x1d + lsr r1, r1, #0x1d + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + mov r1, #0x3f + and r1, r2 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x22 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x24 + ldrb r0, [r0, #0x0] + mov r1, #0x7f + bic r0, r1 + ldrh r1, [r4, #0x1a] + lsl r1, r1, #0x11 + lsr r1, r1, #0x1a + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + mov r1, #0x7f + and r1, r2 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x24 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x24 + ldrb r1, [r0, #0x0] + mov r0, #0x80 + bic r1, r0 + add r0, r4, #0x0 + add r0, #0x24 + strb r1, [r0, #0x0] + ldrh r1, [r4, #0x10] + ldrh r0, [r4, #0x12] + cmp r1, r0 + bhs _020011AC + strh r1, [r4, #0x12] +_020011AC: + ldrb r2, [r4, #0x18] + ldr r0, [r4, #0x28] + lsl r1, r2, #0x1c + lsr r1, r1, #0x1c + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + ldrb r1, [r4, #0x17] + lsl r2, r2, #0x18 + lsr r2, r2, #0x1c + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + lsl r1, r1, #0x18 + lsl r2, r2, #0x18 + lsr r1, r1, #0x8 + lsr r2, r2, #0x10 + orr r1, r2 + orr r1, r3 + bl sub_020136E0 + ldrb r1, [r4, #0x18] + ldr r0, [r4, #0xc] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + bl sub_02019620 + ldrh r1, [r4, #0x2c] + ldrh r3, [r4, #0x12] + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_02001714 + add r0, r4, #0x0 + bl sub_020017AC + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02001B64 + ldr r0, [r5, #0xc] + bl sub_020191D0 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02001204 +sub_02001204: ; 0x02001204 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + ldr r6, _020012FC ; =0x021C48B8 + mov r3, #0x0 + add r1, #0x33 + strb r3, [r1, #0x0] + ldr r1, [r6, #0x48] + mov r2, #0x1 + add r5, r1, #0x0 + tst r5, r2 + beq _0200122C + ldrh r1, [r4, #0x2c] + ldrh r0, [r4, #0x2e] + ldr r2, [r4, #0x0] + add r0, r1, r0 + lsl r0, r0, #0x3 + add r0, r2, r0 + ldr r0, [r0, #0x4] + pop {r4-r6, pc} +_0200122C: + mov r5, #0x2 + tst r1, r5 + beq _02001236 + sub r0, r5, #0x4 + pop {r4-r6, pc} +_02001236: + ldr r5, [r6, #0x4c] + mov r1, #0x40 + tst r1, r5 + beq _02001254 + add r1, r2, #0x0 + bl sub_02001AA4 + cmp r0, #0x0 + bne _0200124E + mov r0, #0x1 + add r4, #0x33 + strb r0, [r4, #0x0] +_0200124E: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001254: + mov r1, #0x80 + add r3, r5, #0x0 + tst r3, r1 + beq _02001274 + add r1, r2, #0x0 + add r3, r2, #0x0 + bl sub_02001AA4 + cmp r0, #0x0 + bne _0200126E + mov r0, #0x2 + add r4, #0x33 + strb r0, [r4, #0x0] +_0200126E: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001274: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x17 + lsr r0, r0, #0x1e + beq _02001284 + cmp r0, #0x1 + beq _0200128A + cmp r0, #0x2 + beq _0200129C +_02001284: + mov r0, #0x0 + add r1, r0, #0x0 + b _020012AC +_0200128A: + mov r0, #0x20 + mov r1, #0x10 + and r0, r5 + and r1, r5 + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + lsr r0, r0, #0x10 + lsr r1, r1, #0x10 + b _020012AC +_0200129C: + lsl r0, r1, #0x2 + add r1, #0x80 + and r0, r5 + and r1, r5 + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + lsr r0, r0, #0x10 + lsr r1, r1, #0x10 +_020012AC: + cmp r0, #0x0 + beq _020012D0 + ldrh r2, [r4, #0x12] + add r0, r4, #0x0 + mov r1, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r3, #0x0 + bl sub_02001AA4 + cmp r0, #0x0 + bne _020012CA + mov r0, #0x3 + add r4, #0x33 + strb r0, [r4, #0x0] +_020012CA: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_020012D0: + cmp r1, #0x0 + beq _020012F4 + ldrh r2, [r4, #0x12] + mov r1, #0x1 + add r0, r4, #0x0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + add r3, r1, #0x0 + bl sub_02001AA4 + cmp r0, #0x0 + bne _020012EE + mov r0, #0x4 + add r4, #0x33 + strb r0, [r4, #0x0] +_020012EE: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_020012F4: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} + nop +_020012FC: .word 0x021C48B8 + + thumb_func_start sub_02001300 +sub_02001300: ; 0x02001300 + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x0 + beq _0200130C + ldrh r0, [r4, #0x2c] + strh r0, [r1, #0x0] +_0200130C: + cmp r2, #0x0 + beq _02001314 + ldrh r0, [r4, #0x2e] + strh r0, [r2, #0x0] +_02001314: + ldr r0, [r4, #0x28] + bl sub_020136C0 + add r0, r4, #0x0 + add r0, #0x34 + ldrb r0, [r0, #0x0] + add r1, r4, #0x0 + bl sub_02016A8C + pop {r4, pc} + + thumb_func_start sub_02001328 +sub_02001328: ; 0x02001328 + push {r4, lr} + add r4, r0, #0x0 + ldrb r1, [r4, #0x18] + ldr r0, [r4, #0xc] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + bl sub_02019620 + ldrh r1, [r4, #0x2c] + ldrh r3, [r4, #0x12] + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_02001714 + add r0, r4, #0x0 + bl sub_020017AC + ldr r0, [r4, #0xc] + bl sub_020191D0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02001354 +sub_02001354: ; 0x02001354 + push {r4-r6, lr} + add r4, r0, #0x0 + add r6, r1, #0x0 + beq _0200136E + add r5, r4, #0x0 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} +_0200136E: + strh r2, [r4, #0x2c] + add r0, r4, #0x0 + strh r3, [r4, #0x2e] + mov r3, #0x0 + add r0, #0x30 + strb r3, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x31 + add r1, sp, #0x0 + strb r3, [r0, #0x0] + ldrh r0, [r1, #0x14] + cmp r0, #0x40 + bne _02001398 + ldrh r1, [r1, #0x10] + add r0, r4, #0x0 + mov r2, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02001AA4 + b _020013AC +_02001398: + cmp r0, #0x80 + bne _020013AC + ldrh r1, [r1, #0x10] + mov r2, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r3, r2, #0x0 + bl sub_02001AA4 +_020013AC: + ldr r1, [sp, #0x18] + cmp r1, #0x0 + beq _020013B6 + ldrh r0, [r4, #0x2c] + strh r0, [r1, #0x0] +_020013B6: + ldr r1, [sp, #0x1c] + cmp r1, #0x0 + beq _020013C0 + ldrh r0, [r4, #0x2e] + strh r0, [r1, #0x0] +_020013C0: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020013C8 +sub_020013C8: ; 0x020013C8 + push {r4, lr} + sub sp, #0x10 + mov r4, #0x0 + str r4, [sp, #0x0] + add r4, sp, #0x8 + ldrh r4, [r4, #0x10] + str r4, [sp, #0x4] + ldr r4, [sp, #0x1c] + str r4, [sp, #0x8] + ldr r4, [sp, #0x20] + str r4, [sp, #0xc] + bl sub_02001354 + add sp, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020013E8 +sub_020013E8: ; 0x020013E8 + push {r3-r6} + add r4, r0, #0x0 + add r4, #0x20 + ldrb r6, [r4, #0x0] + mov r4, #0xf + mov r5, #0xf + bic r6, r4 + and r1, r5 + orr r6, r1 + add r1, r0, #0x0 + add r1, #0x20 + strb r6, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x20 + lsl r2, r2, #0x1c + ldrb r1, [r1, #0x0] + mov r6, #0xf0 + lsr r2, r2, #0x18 + bic r1, r6 + orr r2, r1 + add r1, r0, #0x0 + add r1, #0x20 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x21 + ldrb r2, [r1, #0x0] + add r1, r3, #0x0 + and r1, r5 + bic r2, r4 + orr r2, r1 + add r1, r0, #0x0 + add r1, #0x21 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x24 + ldrb r2, [r1, #0x0] + mov r1, #0x80 + add r0, #0x24 + orr r1, r2 + strb r1, [r0, #0x0] + pop {r3-r6} + bx lr + + thumb_func_start sub_0200143C +sub_0200143C: ; 0x0200143C + ldrh r2, [r0, #0x2c] + ldrh r0, [r0, #0x2e] + add r0, r2, r0 + strh r0, [r1, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02001448 +sub_02001448: ; 0x02001448 + cmp r1, #0x0 + beq _02001450 + ldrh r3, [r0, #0x2c] + strh r3, [r1, #0x0] +_02001450: + cmp r2, #0x0 + beq _02001458 + ldrh r0, [r0, #0x2e] + strh r0, [r2, #0x0] +_02001458: + bx lr + .balign 4 + + thumb_func_start sub_0200145C +sub_0200145C: ; 0x0200145C + add r0, #0x33 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02001464 +sub_02001464: ; 0x02001464 + ldr r2, [r0, #0x0] + lsl r0, r1, #0x3 + add r0, r2, r0 + ldr r0, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_02001470 +sub_02001470: ; 0x02001470 + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x13 + bhi _02001532 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r4, r5, #0x2 + lsl r6, r6, #0 + lsl r2, r7, #0 + lsl r6, r7, #0 + lsl r2, r0, #0x1 + lsl r2, r1, #0x1 + lsl r4, r4, #0x1 + lsl r4, r5, #0x1 + lsl r4, r6, #0x1 + lsl r4, r7, #0x1 + lsl r4, r0, #0x2 + lsl r4, r1, #0x2 + lsl r4, r2, #0x2 + lsl r4, r3, #0x2 + lsl r4, r4, #0x2 + lsl r0, r5, #0x2 + ldr r0, [r4, #0x4] + pop {r4, pc} +_020014B0: + .byte 0xA0, 0x68, 0x10, 0xBD, 0x20, 0x8A, 0x10, 0xBD, 0x60, 0x8A, 0x10, 0xBD, 0x20, 0x7D, 0x10, 0xBD + .byte 0x60, 0x7D, 0x10, 0xBD, 0xA0, 0x7D, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD + .byte 0x60, 0x8B, 0x01, 0x21, 0x40, 0x04, 0x80, 0x0E, 0x00, 0x06, 0x00, 0x0E, 0x01, 0xF0, 0xB6, 0xFC + .byte 0x61, 0x8B, 0x49, 0x06, 0x09, 0x0F, 0x08, 0x18, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x06, 0x00, 0x0F + .byte 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x06, 0x00, 0x0F + .byte 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x07, 0x40, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x06, 0x00, 0x0F + .byte 0x10, 0xBD, 0x60, 0x8B, 0xC0, 0x05, 0x80, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x04, 0x80, 0x0E + .byte 0x10, 0xBD, 0x60, 0x8B, 0x00, 0x04, 0xC0, 0x0F, 0x10, 0xBD, 0xE0, 0x68, 0x10, 0xBD, 0xE0, 0x69 + .byte 0x10, 0xBD +_02001532: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} + + thumb_func_start sub_02001538 +sub_02001538: ; 0x02001538 + cmp r1, #0x13 + bls _0200153E + b _02001648 +_0200153E: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r4, r7, #0x3 + lsl r6, r6, #0 + lsl r2, r7, #0 + lsl r6, r7, #0 + lsl r2, r0, #0x1 + lsl r4, r7, #0x3 + lsl r6, r2, #0x1 + lsl r2, r5, #0x1 + lsl r6, r7, #0x1 + lsl r2, r2, #0x2 + lsl r6, r4, #0x2 + lsl r2, r7, #0x2 + lsl r6, r1, #0x3 + lsl r2, r4, #0x3 + lsl r6, r6, #0x3 + lsl r2, r7, #0x3 + str r2, [r0, #0x4] + bx lr +_02001576: + .byte 0x82, 0x60, 0x70, 0x47, 0x02, 0x82, 0x70, 0x47, 0x42, 0x82 + .byte 0x70, 0x47, 0x02, 0x75, 0x70, 0x47, 0x42, 0x75, 0x70, 0x47, 0x82, 0x75, 0x70, 0x47, 0xC3, 0x7D + .byte 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0xC1, 0x75 + .byte 0x70, 0x47, 0xC3, 0x7D, 0xF0, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E + .byte 0x19, 0x43, 0xC1, 0x75, 0x70, 0x47, 0x03, 0x7E, 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E + .byte 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x03, 0x7E, 0xF0, 0x21, 0x8B, 0x43 + .byte 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x43, 0x8B + .byte 0x07, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x07, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x83 + .byte 0x70, 0x47, 0x43, 0x8B, 0x78, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x49, 0x0E + .byte 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x10, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E + .byte 0x89, 0x07, 0xC9, 0x0D, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x0C, 0x49, 0x0B, 0x40 + .byte 0x11, 0x06, 0x09, 0x0E, 0x89, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B + .byte 0x08, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E, 0xC9, 0x07, 0x09, 0x0C, 0x19, 0x43, 0x41, 0x83 + .byte 0x70, 0x47, 0xC2, 0x60, 0x70, 0x47, 0xC2, 0x61 +_02001648: + bx lr + nop +_0200164C: + .byte 0x7F, 0xFE, 0xFF, 0xFF + .byte 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF + + thumb_func_start sub_02001658 +sub_02001658: ; 0x02001658 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0200165C +sub_0200165C: ; 0x0200165C + push {r4-r6, lr} + sub sp, #0x18 + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, r2, #0x0 + cmp r5, #0x0 + beq _02001710 + add r0, #0x24 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + str r3, [sp, #0x0] + beq _020016CC + mov r0, #0xff + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r0, #0x20 + ldrb r2, [r0, #0x0] + add r3, r4, #0x0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsl r0, r2, #0x1c + add r2, r6, #0x0 + add r2, #0x21 + ldrb r2, [r2, #0x0] + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsl r2, r2, #0x1c + lsr r2, r2, #0x1c + lsl r2, r2, #0x18 + lsr r0, r0, #0x8 + lsr r2, r2, #0x10 + orr r0, r2 + orr r0, r1 + str r0, [sp, #0x8] + add r0, r6, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + add r2, r5, #0x0 + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r0, [r6, #0xc] + add r6, #0x24 + ldrb r1, [r6, #0x0] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + bl sub_0201BE3C + add sp, #0x18 + pop {r4-r6, pc} +_020016CC: + mov r0, #0xff + str r0, [sp, #0x4] + ldrb r1, [r6, #0x18] + add r3, r4, #0x0 + lsl r0, r1, #0x1c + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldrb r0, [r6, #0x17] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + lsl r0, r0, #0x18 + lsl r1, r1, #0x18 + lsr r0, r0, #0x8 + lsr r1, r1, #0x10 + orr r0, r1 + orr r0, r2 + str r0, [sp, #0x8] + ldrh r0, [r6, #0x1a] + add r2, r5, #0x0 + lsl r0, r0, #0x1d + lsr r0, r0, #0x1d + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldrh r1, [r6, #0x1a] + ldr r0, [r6, #0xc] + lsl r1, r1, #0x11 + lsr r1, r1, #0x1a + bl sub_0201BE3C +_02001710: + add sp, #0x18 + pop {r4-r6, pc} + + thumb_func_start sub_02001714 +sub_02001714: ; 0x02001714 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + str r3, [sp, #0x0] + ldrh r0, [r5, #0x1a] + add r4, r1, #0x0 + mov r1, #0x1 + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r6, r2, #0x0 + bl sub_02002E4C + ldrh r1, [r5, #0x1a] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1c + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + cmp r0, #0x0 + ble _020017A6 +_02001748: + ldr r1, [r5, #0x0] + lsl r0, r4, #0x3 + str r0, [sp, #0x8] + add r0, r1, r0 + ldr r1, [r0, #0x4] + mov r0, #0x2 + mvn r0, r0 + cmp r1, r0 + beq _02001760 + ldrb r0, [r5, #0x15] + str r0, [sp, #0x4] + b _02001764 +_02001760: + ldrb r0, [r5, #0x14] + str r0, [sp, #0x4] +_02001764: + ldrb r0, [r5, #0x17] + lsl r0, r0, #0x1c + lsr r3, r0, #0x1c + ldr r0, [sp, #0xc] + add r2, r0, #0x0 + mul r2, r6 + add r0, r3, r2 + lsl r0, r0, #0x18 + ldr r3, [r5, #0x8] + lsr r7, r0, #0x18 + cmp r3, #0x0 + beq _02001782 + add r0, r5, #0x0 + add r2, r7, #0x0 + blx r3 +_02001782: + ldr r2, [r5, #0x0] + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + ldr r1, [r2, r1] + ldr r2, [sp, #0x4] + add r3, r7, #0x0 + bl sub_0200165C + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [sp, #0x10] + add r6, r6, #0x1 + add r1, r0, #0x1 + ldr r0, [sp, #0x0] + str r1, [sp, #0x10] + cmp r1, r0 + blt _02001748 +_020017A6: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020017AC +sub_020017AC: ; 0x020017AC + push {r3-r5, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x1a] + mov r1, #0x1 + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02002E4C + ldrh r1, [r4, #0x1a] + ldrh r5, [r4, #0x2e] + lsl r2, r1, #0x19 + lsr r2, r2, #0x1c + add r0, r2, r0 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + ldrb r0, [r4, #0x17] + mul r3, r5 + ldrb r2, [r4, #0x16] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + add r0, r0, r3 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + lsl r0, r1, #0x10 + lsr r0, r0, #0x1f + cmp r0, #0x3 + bhi _02001802 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r1, #0 + lsl r6, r1, #0 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0xc] + bl sub_020136F8 +_02001802: + pop {r3-r5, pc} + + thumb_func_start sub_02001804 +sub_02001804: ; 0x02001804 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldrh r0, [r4, #0x1a] + add r5, r1, #0x0 + lsl r1, r0, #0x10 + lsr r1, r1, #0x1f + cmp r1, #0x3 + bhi _02001868 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r0, #0x1 + lsl r4, r0, #0x1 + lsl r4, r0, #0x1 + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + bl sub_02002E4C + ldrh r1, [r4, #0x1a] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1c + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + mov r0, #0x8 + str r0, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + ldrb r1, [r4, #0x18] + ldr r0, [r4, #0xc] + ldrb r2, [r4, #0x16] + ldrb r4, [r4, #0x17] + lsl r1, r1, #0x1c + mul r3, r5 + lsl r4, r4, #0x1c + lsr r4, r4, #0x1c + add r3, r4, r3 + lsl r3, r3, #0x10 + lsr r1, r1, #0x1c + lsr r3, r3, #0x10 + bl sub_020196F4 +_02001868: + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_0200186C +sub_0200186C: ; 0x0200186C + push {r4-r7} + ldrh r4, [r0, #0x2e] + ldrh r3, [r0, #0x2c] + cmp r1, #0x0 + ldrh r2, [r0, #0x12] + bne _020018FE + cmp r2, #0x1 + bne _02001880 + mov r1, #0x0 + b _02001898 +_02001880: + lsr r7, r2, #0x1f + lsl r6, r2, #0x1f + sub r6, r6, r7 + mov r5, #0x1f + ror r6, r5 + lsr r1, r2, #0x1 + add r5, r7, r6 + add r1, r1, r5 + sub r1, r2, r1 + sub r1, r1, #0x1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 +_02001898: + cmp r3, #0x0 + bne _020018CC + cmp r4, #0x0 + beq _020018C6 + ldr r2, [r0, #0x0] + lsl r1, r3, #0x3 + mov r3, #0x2 + add r1, r2, r1 + mvn r3, r3 +_020018AA: + sub r2, r4, #0x1 + lsl r2, r2, #0x10 + lsr r4, r2, #0x10 + lsl r2, r4, #0x3 + add r2, r1, r2 + ldr r2, [r2, #0x4] + cmp r2, r3 + beq _020018C2 + strh r4, [r0, #0x2e] + mov r0, #0x1 + pop {r4-r7} + bx lr +_020018C2: + cmp r4, #0x0 + bne _020018AA +_020018C6: + mov r0, #0x0 + pop {r4-r7} + bx lr +_020018CC: + cmp r4, r1 + bls _020018F6 + ldr r5, [r0, #0x0] + lsl r2, r3, #0x3 + add r2, r5, r2 + mov r5, #0x2 + mvn r5, r5 +_020018DA: + sub r4, r4, #0x1 + lsl r4, r4, #0x10 + lsr r4, r4, #0x10 + lsl r6, r4, #0x3 + add r6, r2, r6 + ldr r6, [r6, #0x4] + cmp r6, r5 + beq _020018F2 + strh r4, [r0, #0x2e] + mov r0, #0x1 + pop {r4-r7} + bx lr +_020018F2: + cmp r4, r1 + bhi _020018DA +_020018F6: + strh r1, [r0, #0x2e] + sub r1, r3, #0x1 + strh r1, [r0, #0x2c] + b _02001984 +_020018FE: + cmp r2, #0x1 + bne _02001906 + mov r5, #0x0 + b _0200191A +_02001906: + lsr r7, r2, #0x1f + lsl r6, r2, #0x1f + sub r6, r6, r7 + mov r5, #0x1f + ror r6, r5 + lsr r1, r2, #0x1 + add r5, r7, r6 + add r1, r1, r5 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 +_0200191A: + ldrh r1, [r0, #0x10] + sub r1, r1, r2 + cmp r3, r1 + bne _02001954 + sub r2, r2, #0x1 + cmp r4, r2 + bge _0200194E + ldr r5, [r0, #0x0] + lsl r1, r3, #0x3 + add r1, r5, r1 + mov r5, #0x2 + mvn r5, r5 +_02001932: + add r3, r4, #0x1 + lsl r3, r3, #0x10 + lsr r4, r3, #0x10 + lsl r3, r4, #0x3 + add r3, r1, r3 + ldr r3, [r3, #0x4] + cmp r3, r5 + beq _0200194A + strh r4, [r0, #0x2e] + mov r0, #0x1 + pop {r4-r7} + bx lr +_0200194A: + cmp r4, r2 + blt _02001932 +_0200194E: + mov r0, #0x0 + pop {r4-r7} + bx lr +_02001954: + cmp r4, r5 + bhs _0200197E + ldr r2, [r0, #0x0] + lsl r1, r3, #0x3 + mov r6, #0x2 + add r1, r2, r1 + mvn r6, r6 +_02001962: + add r2, r4, #0x1 + lsl r2, r2, #0x10 + lsr r4, r2, #0x10 + lsl r2, r4, #0x3 + add r2, r1, r2 + ldr r2, [r2, #0x4] + cmp r2, r6 + beq _0200197A + strh r4, [r0, #0x2e] + mov r0, #0x1 + pop {r4-r7} + bx lr +_0200197A: + cmp r4, r5 + blo _02001962 +_0200197E: + strh r5, [r0, #0x2e] + add r1, r3, #0x1 + strh r1, [r0, #0x2c] +_02001984: + mov r0, #0x2 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_0200198C +sub_0200198C: ; 0x0200198C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldrh r0, [r5, #0x12] + add r4, r1, #0x0 + add r7, r2, #0x0 + cmp r4, r0 + blt _020019B8 + ldrb r1, [r5, #0x18] + ldr r0, [r5, #0xc] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + bl sub_02019620 + ldrh r1, [r5, #0x2c] + ldrh r3, [r5, #0x12] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02001714 + add sp, #0x8 + pop {r3-r7, pc} +_020019B8: + ldrh r0, [r5, #0x1a] + mov r1, #0x1 + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02002E4C + ldrh r1, [r5, #0x1a] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1c + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r7, #0x0 + ldrb r0, [r5, #0x18] + bne _02001A46 + lsl r0, r0, #0x1c + lsr r7, r0, #0x1c + add r2, r4, #0x0 + lsl r3, r7, #0x4 + mul r2, r6 + orr r3, r7 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [r5, #0xc] + mov r1, #0x1 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0201A8C8 + ldrh r1, [r5, #0x2c] + add r0, r5, #0x0 + mov r2, #0x0 + add r3, r4, #0x0 + bl sub_02001714 + ldrb r0, [r5, #0x17] + lsl r0, r0, #0x1c + lsr r2, r0, #0x1c + ldrh r0, [r5, #0x12] + add r1, r0, #0x0 + mul r1, r6 + add r0, r2, r1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [r5, #0xc] + bl sub_0201AB0C + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0201AB10 + lsl r0, r0, #0x3 + lsl r1, r6, #0x13 + sub r0, r0, r4 + lsr r1, r1, #0x10 + lsl r0, r0, #0x10 + str r1, [sp, #0x0] + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + ldrb r1, [r5, #0x18] + ldr r0, [r5, #0xc] + mov r2, #0x0 + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + add r3, r4, #0x0 + bl sub_020196F4 + add sp, #0x8 + pop {r3-r7, pc} +_02001A46: + lsl r0, r0, #0x1c + lsr r3, r0, #0x1c + add r2, r4, #0x0 + mul r2, r6 + lsl r6, r3, #0x4 + orr r3, r6 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [r5, #0xc] + mov r1, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0201A8C8 + ldrh r0, [r5, #0x12] + ldrh r1, [r5, #0x2c] + add r3, r4, #0x0 + sub r2, r0, r4 + add r1, r1, r2 + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + bl sub_02001714 + ldr r0, [r5, #0xc] + bl sub_0201AB0C + lsl r0, r0, #0x13 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + ldrb r0, [r5, #0x17] + mov r2, #0x0 + add r3, r2, #0x0 + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + str r0, [sp, #0x4] + ldrb r1, [r5, #0x18] + ldr r0, [r5, #0xc] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + bl sub_020196F4 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02001AA4 +sub_02001AA4: ; 0x02001AA4 + push {r3-r7, lr} + sub sp, #0x10 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r4, r0, #0x0 + str r3, [sp, #0x8] + ldrh r0, [r4, #0x2e] + mov r6, #0x0 + add r5, r6, #0x0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x4] + add r7, r6, #0x0 + cmp r0, #0x0 + bls _02001AF6 +_02001AC0: + ldr r1, [sp, #0x8] + add r0, r4, #0x0 + bl sub_0200186C + orr r5, r0 + cmp r0, #0x2 + bne _02001AEA + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldrh r1, [r4, #0x2c] + ldrh r0, [r4, #0x2e] + ldr r2, [r4, #0x0] + add r0, r1, r0 + lsl r0, r0, #0x3 + add r0, r2, r0 + ldr r1, [r0, #0x4] + mov r0, #0x2 + mvn r0, r0 + cmp r1, r0 + beq _02001AC0 +_02001AEA: + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, [sp, #0x4] + cmp r7, r0 + blo _02001AC0 +_02001AF6: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _02001B5E + cmp r5, #0x3 + bhi _02001B14 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r1, #0 + lsl r2, r5, #0 + lsl r2, r5, #0 +_02001B14: + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_02001B1A: + .byte 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0x71, 0xFE, 0x20, 0x1C, 0xFF, 0xF7, 0x42, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x1A, 0xF8 + .byte 0xE0, 0x68, 0x17, 0xF0, 0x4D, 0xFB, 0x12, 0xE0, 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7, 0x62, 0xFE + .byte 0x02, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0xFF, 0xF7, 0x21, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x2E, 0xFE + .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x06, 0xF8, 0xE0, 0x68, 0x17, 0xF0, 0x39, 0xFB +_02001B5E: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_02001B64 +sub_02001B64: ; 0x02001B64 + push {r3-r5, lr} + ldr r3, [r0, #0x4] + add r2, r1, #0x0 + cmp r3, #0x0 + beq _02001B7E + ldrh r5, [r0, #0x2c] + ldrh r4, [r0, #0x2e] + ldr r1, [r0, #0x0] + add r4, r5, r4 + lsl r4, r4, #0x3 + add r1, r1, r4 + ldr r1, [r1, #0x4] + blx r3 +_02001B7E: + pop {r3-r5, pc} + + thumb_func_start sub_02001B80 +sub_02001B80: ; 0x02001B80 + ldr r3, _02001B88 ; =sub_020191D0 + ldr r0, [r0, #0xc] + bx r3 + nop +_02001B88: .word sub_020191D0 + 1 + + thumb_func_start sub_02001B8C +sub_02001B8C: ; 0x02001B8C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r3, [sp, #0x0] + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + add r6, r1, #0x0 + mov r1, #0x20 + add r7, r2, #0x0 + str r0, [sp, #0x4] + bl sub_02016998 + add r4, r0, #0x0 + add r3, r5, #0x0 + ldmia r3!, {r0-r1} + add r2, r4, #0x0 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r0, [sp, #0x4] + bl sub_02013690 + str r0, [r4, #0xc] + ldr r0, [sp, #0x24] + str r0, [r4, #0x10] + ldr r0, [sp, #0x0] + strb r0, [r4, #0x15] + add r0, r4, #0x0 + bl sub_02001FB4 + strb r0, [r4, #0x16] + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + mov r1, #0x0 + strb r0, [r4, #0x1c] + strb r6, [r4, #0x17] + strb r7, [r4, #0x18] + ldrb r0, [r5, #0x8] + bl sub_02002E4C + add r6, r0, #0x0 + ldrb r0, [r5, #0x8] + mov r1, #0x2 + bl sub_02002E4C + add r0, r6, r0 + strb r0, [r4, #0x19] + ldrb r0, [r5, #0x8] + mov r1, #0x1 + bl sub_02002E4C + add r6, r0, #0x0 + ldrb r0, [r5, #0x8] + mov r1, #0x3 + bl sub_02002E4C + add r0, r6, r0 + strb r0, [r4, #0x1a] + add r0, r4, #0x0 + bl sub_02001FF4 + add r0, r4, #0x0 + bl sub_02002080 + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02001C14 +sub_02001C14: ; 0x02001C14 + push {r4, lr} + sub sp, #0x8 + add r4, sp, #0x0 + ldrb r4, [r4, #0x10] + str r4, [sp, #0x0] + ldr r4, [sp, #0x14] + str r4, [sp, #0x4] + bl sub_02001B8C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_020191D0 + add r0, r4, #0x0 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02001C34 +sub_02001C34: ; 0x02001C34 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldrb r0, [r5, #0x8] + add r6, r1, #0x0 + add r4, r2, #0x0 + mov r1, #0x0 + bl sub_02002E4C + add r1, r0, #0x0 + str r4, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x0 + add r3, r6, #0x0 + bl sub_02001C14 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02001C5C +sub_02001C5C: ; 0x02001C5C + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x0 + beq _02001C68 + ldrb r0, [r4, #0x15] + strb r0, [r1, #0x0] +_02001C68: + ldr r0, [r4, #0xc] + bl sub_020136C0 + ldrb r0, [r4, #0x1c] + add r1, r4, #0x0 + bl sub_02016A8C + pop {r4, pc} + + thumb_func_start sub_02001C78 +sub_02001C78: ; 0x02001C78 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r1, #0x0 + ldr r2, _02001D24 ; =0x021C48B8 + strb r1, [r4, #0x1b] + ldr r2, [r2, #0x48] + mov r5, #0x1 + add r3, r2, #0x0 + tst r3, r5 + beq _02001C9E + ldr r0, _02001D28 ; =0x000005DC + bl sub_020054C8 + ldrb r0, [r4, #0x15] + ldr r1, [r4, #0x0] + lsl r0, r0, #0x3 + add r0, r1, r0 + ldr r0, [r0, #0x4] + pop {r3-r5, pc} +_02001C9E: + ldr r3, [r4, #0x10] + tst r3, r2 + beq _02001CAE + ldr r0, _02001D28 ; =0x000005DC + bl sub_020054C8 + sub r0, r5, #0x3 + pop {r3-r5, pc} +_02001CAE: + mov r3, #0x40 + tst r3, r2 + beq _02001CC8 + ldr r2, _02001D28 ; =0x000005DC + bl sub_02001E64 + cmp r0, #0x1 + bne _02001CC2 + add r0, r5, #0x0 + strb r0, [r4, #0x1b] +_02001CC2: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_02001CC8: + mov r1, #0x80 + tst r1, r2 + beq _02001CE4 + ldr r2, _02001D28 ; =0x000005DC + add r1, r5, #0x0 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001CDE + mov r0, #0x2 + strb r0, [r4, #0x1b] +_02001CDE: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_02001CE4: + mov r1, #0x20 + tst r1, r2 + beq _02001D00 + ldr r2, _02001D28 ; =0x000005DC + mov r1, #0x2 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001CFA + mov r0, #0x3 + strb r0, [r4, #0x1b] +_02001CFA: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_02001D00: + mov r1, #0x10 + tst r2, r1 + beq _02001D1C + ldr r2, _02001D28 ; =0x000005DC + mov r1, #0x3 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001D16 + mov r0, #0x4 + strb r0, [r4, #0x1b] +_02001D16: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_02001D1C: + sub r1, #0x11 + add r0, r1, #0x0 + pop {r3-r5, pc} + nop +_02001D24: .word 0x021C48B8 +_02001D28: .word 0x000005DC + + thumb_func_start sub_02001D2C +sub_02001D2C: ; 0x02001D2C + push {r4-r6, lr} + add r2, r1, #0x0 + add r4, r0, #0x0 + mov r1, #0x0 + ldr r3, _02001DD4 ; =0x021C48B8 + strb r1, [r4, #0x1b] + ldr r5, [r3, #0x48] + mov r3, #0x1 + add r6, r5, #0x0 + tst r6, r3 + beq _02001D54 + ldr r0, _02001DD8 ; =0x000005DC + bl sub_020054C8 + ldrb r0, [r4, #0x15] + ldr r1, [r4, #0x0] + lsl r0, r0, #0x3 + add r0, r1, r0 + ldr r0, [r0, #0x4] + pop {r4-r6, pc} +_02001D54: + ldr r6, [r4, #0x10] + tst r6, r5 + beq _02001D66 + ldr r0, _02001DD8 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x1 + mvn r0, r0 + pop {r4-r6, pc} +_02001D66: + mov r6, #0x40 + tst r6, r5 + beq _02001D7E + bl sub_02001E64 + cmp r0, #0x1 + bne _02001D78 + mov r0, #0x1 + strb r0, [r4, #0x1b] +_02001D78: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001D7E: + mov r1, #0x80 + tst r1, r5 + beq _02001D98 + add r1, r3, #0x0 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001D92 + mov r0, #0x2 + strb r0, [r4, #0x1b] +_02001D92: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001D98: + mov r1, #0x20 + tst r1, r5 + beq _02001DB2 + mov r1, #0x2 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001DAC + mov r0, #0x3 + strb r0, [r4, #0x1b] +_02001DAC: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001DB2: + mov r1, #0x10 + add r3, r5, #0x0 + tst r3, r1 + beq _02001DCE + mov r1, #0x3 + bl sub_02001E64 + cmp r0, #0x1 + bne _02001DC8 + mov r0, #0x4 + strb r0, [r4, #0x1b] +_02001DC8: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_02001DCE: + sub r1, #0x11 + add r0, r1, #0x0 + pop {r4-r6, pc} + .balign 4 +_02001DD4: .word 0x021C48B8 +_02001DD8: .word 0x000005DC + + thumb_func_start sub_02001DDC +sub_02001DDC: ; 0x02001DDC + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x5 + bhi _02001E52 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r4, r3, #0 + lsl r0, r5, #0 + lsl r6, r6, #0 + lsl r4, r0, #0x1 + lsl r2, r2, #0x1 + ldr r0, _02001E58 ; =0x000005DC + bl sub_020054C8 + ldrb r0, [r4, #0x15] + ldr r1, [r4, #0x0] + lsl r0, r0, #0x3 + add r0, r1, r0 + ldr r0, [r0, #0x4] + pop {r4, pc} +_02001E0E: + .byte 0x12, 0x48 + .byte 0x03, 0xF0, 0x5A, 0xFB, 0x01, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0F, 0x4A, 0x00, 0x21, 0x00, 0xF0 + .byte 0x21, 0xF8, 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0B, 0x4A, 0x01, 0x21, 0x00, 0xF0, 0x1A, 0xF8 + .byte 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x08, 0x4A, 0x02, 0x21, 0x00, 0xF0, 0x13, 0xF8, 0x00, 0x20 + .byte 0xC0, 0x43, 0x10, 0xBD, 0x04, 0x4A, 0x03, 0x21, 0x00, 0xF0, 0x0C, 0xF8, 0x00, 0x20, 0xC0, 0x43 + .byte 0x10, 0xBD +_02001E52: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} + .balign 4 +_02001E58: .word 0x000005DC + + thumb_func_start sub_02001E5C +sub_02001E5C: ; 0x02001E5C + ldrb r0, [r0, #0x15] + bx lr + + thumb_func_start sub_02001E60 +sub_02001E60: ; 0x02001E60 + ldrb r0, [r0, #0x1b] + bx lr + + thumb_func_start sub_02001E64 +sub_02001E64: ; 0x02001E64 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r6, r2, #0x0 + ldrb r4, [r5, #0x15] + bl sub_02001EBC + cmp r0, #0x0 + bne _02001E7C + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02001E7C: + ldrb r0, [r5, #0x8] + mov r1, #0x6 + bl sub_02002E4C + add r1, sp, #0x8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x8 + add r3, r4, #0x0 + bl sub_020020B0 + mov r0, #0x8 + str r0, [sp, #0x0] + ldrb r0, [r5, #0x1a] + add r3, sp, #0x8 + add r1, r7, #0x0 + str r0, [sp, #0x4] + ldrb r2, [r3, #0x1] + ldrb r3, [r3, #0x0] + ldr r0, [r5, #0x4] + bl sub_020196F4 + add r0, r5, #0x0 + bl sub_02002080 + add r0, r6, #0x0 + bl sub_020054C8 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02001EBC +sub_02001EBC: ; 0x02001EBC + push {r4-r6, lr} + add r5, r0, #0x0 + cmp r1, #0x0 + bne _02001EFA + ldrb r6, [r5, #0xa] + cmp r6, #0x1 + bhi _02001ECE + mov r0, #0x0 + pop {r4-r6, pc} +_02001ECE: + ldrb r4, [r5, #0x15] + add r1, r6, #0x0 + add r0, r4, #0x0 + blx sub_020EBC80 + cmp r1, #0x0 + bne _02001EF2 + ldrb r0, [r5, #0xb] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1e + bne _02001EE8 + mov r0, #0x0 + pop {r4-r6, pc} +_02001EE8: + sub r0, r6, #0x1 + add r0, r4, r0 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001EF2: + sub r0, r4, #0x1 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001EFA: + cmp r1, #0x1 + bne _02001F32 + ldrb r1, [r5, #0xa] + cmp r1, #0x1 + bhi _02001F08 + mov r0, #0x0 + pop {r4-r6, pc} +_02001F08: + ldrb r6, [r5, #0x15] + sub r4, r1, #0x1 + add r0, r6, #0x0 + blx sub_020EBC80 + cmp r4, r1 + bne _02001F2A + ldrb r0, [r5, #0xb] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1e + bne _02001F22 + mov r0, #0x0 + pop {r4-r6, pc} +_02001F22: + sub r0, r6, r4 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001F2A: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001F32: + cmp r1, #0x2 + bne _02001F68 + ldrb r3, [r5, #0x9] + cmp r3, #0x1 + bhi _02001F40 + mov r0, #0x0 + pop {r4-r6, pc} +_02001F40: + ldrb r2, [r5, #0xa] + ldrb r1, [r5, #0x15] + cmp r1, r2 + bhs _02001F60 + ldrb r0, [r5, #0xb] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1e + bne _02001F54 + mov r0, #0x0 + pop {r4-r6, pc} +_02001F54: + sub r0, r3, #0x1 + mul r0, r2 + add r0, r1, r0 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001F60: + sub r0, r1, r2 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001F68: + ldrb r2, [r5, #0x9] + cmp r2, #0x1 + bhi _02001F72 + mov r0, #0x0 + pop {r4-r6, pc} +_02001F72: + ldrb r1, [r5, #0xa] + ldrb r0, [r5, #0x15] + sub r2, r2, #0x1 + mul r2, r1 + cmp r0, r2 + blt _02001F94 + ldrb r2, [r5, #0xb] + lsl r2, r2, #0x18 + lsr r2, r2, #0x1e + bne _02001F8A + mov r0, #0x0 + pop {r4-r6, pc} +_02001F8A: + blx sub_020EBC80 + lsl r0, r1, #0x18 + asr r2, r0, #0x18 + b _02001F9A +_02001F94: + add r0, r0, r1 + lsl r0, r0, #0x18 + asr r2, r0, #0x18 +_02001F9A: + ldr r1, [r5, #0x0] + lsl r0, r2, #0x3 + add r0, r1, r0 + ldr r1, [r0, #0x4] + mov r0, #0x2 + mvn r0, r0 + cmp r1, r0 + bne _02001FAE + mov r0, #0x0 + pop {r4-r6, pc} +_02001FAE: + strb r2, [r5, #0x15] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_02001FB4 +sub_02001FB4: ; 0x02001FB4 + push {r3-r7, lr} + add r5, r0, #0x0 + ldrb r1, [r5, #0x9] + ldrb r0, [r5, #0xa] + mov r6, #0x0 + add r4, r6, #0x0 + mul r0, r1 + cmp r0, #0x0 + ble _02001FF0 + add r7, r6, #0x0 +_02001FC8: + ldr r2, [r5, #0x0] + lsl r1, r4, #0x3 + ldr r1, [r2, r1] + ldrb r0, [r5, #0x8] + add r2, r7, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r6, r0 + bhs _02001FE0 + add r6, r0, #0x0 +_02001FE0: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldrb r1, [r5, #0x9] + ldrb r0, [r5, #0xa] + mul r0, r1 + cmp r4, r0 + blt _02001FC8 +_02001FF0: + add r0, r6, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02001FF4 +sub_02001FF4: ; 0x02001FF4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldrb r0, [r5, #0x8] + mov r1, #0x6 + bl sub_02002E4C + add r1, r0, #0x0 + ldr r0, [r5, #0x4] + bl sub_02019620 + ldrb r0, [r5, #0x19] + ldrb r1, [r5, #0x16] + ldrb r7, [r5, #0x17] + lsl r0, r0, #0x1 + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + ldrb r0, [r5, #0x9] + mov r6, #0x0 + cmp r0, #0x0 + bls _0200207C +_02002022: + ldrb r2, [r5, #0xa] + mov r4, #0x0 + cmp r2, #0x0 + bls _02002068 +_0200202A: + ldrb r3, [r5, #0xb] + mul r2, r6 + ldrb r0, [r5, #0x1a] + lsl r3, r3, #0x1c + lsr r3, r3, #0x1c + add r0, r0, r3 + ldrb r1, [r5, #0x18] + mul r0, r4 + add r2, r4, r2 + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r3, [r5, #0x0] + lsl r2, r2, #0x3 + ldr r2, [r3, r2] + ldrb r1, [r5, #0x8] + ldr r0, [r5, #0x4] + add r3, r7, #0x0 + bl sub_0201BD84 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + ldrb r2, [r5, #0xa] + lsr r4, r0, #0x18 + cmp r4, r2 + blo _0200202A +_02002068: + ldr r0, [sp, #0xc] + add r0, r7, r0 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldrb r0, [r5, #0x9] + cmp r6, r0 + blo _02002022 +_0200207C: + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_02002080 +sub_02002080: ; 0x02002080 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldrb r1, [r4, #0xb] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1e + cmp r1, #0x1 + beq _020020AA + ldrb r3, [r4, #0x15] + add r1, sp, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + bl sub_020020B0 + add r3, sp, #0x0 + ldrb r2, [r3, #0x1] + ldrb r3, [r3, #0x0] + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x4] + bl sub_020136F8 +_020020AA: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_020020B0 +sub_020020B0: ; 0x020020B0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r3, #0x0 + ldrb r1, [r5, #0xa] + add r0, r7, #0x0 + add r6, r2, #0x0 + blx sub_020EBC80 + ldrb r2, [r5, #0x19] + ldrb r1, [r5, #0x16] + lsl r2, r2, #0x1 + add r1, r1, r2 + mul r1, r0 + strb r1, [r4, #0x0] + ldrb r1, [r5, #0xa] + add r0, r7, #0x0 + blx sub_020EBC80 + ldrb r2, [r5, #0xb] + ldrb r3, [r5, #0x1a] + ldrb r0, [r5, #0x18] + lsl r2, r2, #0x1c + lsr r2, r2, #0x1c + add r2, r3, r2 + mul r2, r1 + add r0, r0, r2 + strb r0, [r6, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020020EC +sub_020020EC: ; 0x020020EC + push {r3-r7, lr} + sub sp, #0x20 + ldr r5, [sp, #0x3c] + str r2, [sp, #0xc] + add r7, r0, #0x0 + str r1, [sp, #0x8] + str r3, [sp, #0x10] + ldr r2, _02002194 ; =0x00000141 + mov r0, #0x1 + mov r1, #0x1a + add r3, r5, #0x0 + bl sub_0200A86C + add r4, r0, #0x0 + mov r0, #0x2 + add r1, r5, #0x0 + bl sub_02012838 + add r1, r4, #0x0 + mov r2, #0x29 + mov r3, #0x0 + add r6, r0, #0x0 + bl sub_02012880 + mov r3, #0x2a + add r2, r3, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + sub r3, #0x2c + bl sub_02012880 + add r0, r4, #0x0 + bl sub_0200A8B8 + add r0, r5, #0x0 + mov r1, #0x1 + str r6, [sp, #0x14] + bl sub_02018FF4 + add r1, r0, #0x0 + str r1, [sp, #0x18] + mov r0, #0x0 + add r3, sp, #0x14 + strb r0, [r3, #0x8] + mov r0, #0x1 + strb r0, [r3, #0x9] + mov r0, #0x2 + strb r0, [r3, #0xa] + ldrb r0, [r3, #0xb] + mov r2, #0xf + bic r0, r2 + strb r0, [r3, #0xb] + ldrb r4, [r3, #0xb] + mov r0, #0x30 + bic r4, r0 + strb r4, [r3, #0xb] + ldrb r0, [r3, #0xb] + bic r0, r2 + strb r0, [r3, #0xb] + ldr r2, [sp, #0x8] + add r0, r7, #0x0 + bl sub_02019150 + ldr r0, [sp, #0x18] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x10] + mov r1, #0x1 + bl sub_0200CCA4 + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + add r3, sp, #0x28 + ldrb r3, [r3, #0x10] + add r0, sp, #0x14 + mov r1, #0x8 + mov r2, #0x0 + bl sub_02001C14 + add sp, #0x20 + pop {r3-r7, pc} + nop +_02002194: .word 0x00000141 + + thumb_func_start sub_02002198 +sub_02002198: ; 0x02002198 + push {r4, lr} + sub sp, #0x8 + mov r4, #0x0 + str r4, [sp, #0x0] + ldr r4, [sp, #0x10] + str r4, [sp, #0x4] + bl sub_020020EC + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_020021AC +sub_020021AC: ; 0x020021AC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02001C78 + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _020021C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020021EC +_020021C8: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020021CC +sub_020021CC: ; 0x020021CC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02001DDC + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _020021E8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020021EC +_020021E8: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020021EC +sub_020021EC: ; 0x020021EC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + add r4, r1, #0x0 + mov r1, #0x0 + bl sub_0200CCF8 + ldr r0, [r5, #0x4] + bl sub_02019178 + ldr r1, [r5, #0x4] + add r0, r4, #0x0 + bl sub_02016A8C + ldr r0, [r5, #0x0] + bl sub_02012870 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02001C5C + pop {r3-r5, pc} + + thumb_func_start sub_02002218 +sub_02002218: ; 0x02002218 + push {r4, lr} + sub sp, #0x18 + mov r4, #0x8 + lsl r1, r1, #0x10 + str r4, [sp, #0x0] + mov r3, #0x10 + str r3, [sp, #0x4] + lsr r1, r1, #0x10 + str r1, [sp, #0x8] + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + str r1, [sp, #0xc] + str r4, [sp, #0x10] + ldr r1, _02002244 ; =0x020ECAC8 + mov r2, #0x0 + str r3, [sp, #0x14] + add r3, r2, #0x0 + bl sub_02019658 + add sp, #0x18 + pop {r4, pc} + nop +_02002244: .word 0x020ECAC8 + + thumb_func_start sub_02002248 +sub_02002248: ; 0x02002248 + ldrh r3, [r1, #0x0] + ldr r2, _02002264 ; =0x0000FFFF + cmp r3, r2 + beq _0200225C +_02002250: + add r1, r1, #0x2 + strh r3, [r0, #0x0] + ldrh r3, [r1, #0x0] + add r0, r0, #0x2 + cmp r3, r2 + bne _02002250 +_0200225C: + ldr r1, _02002264 ; =0x0000FFFF + strh r1, [r0, #0x0] + bx lr + nop +_02002264: .word 0x0000FFFF + + thumb_func_start sub_02002268 +sub_02002268: ; 0x02002268 + push {r4-r5} + mov r4, #0x0 + cmp r2, #0x0 + bls _02002280 + add r5, r0, #0x0 +_02002272: + ldrh r3, [r1, #0x0] + add r4, r4, #0x1 + add r1, r1, #0x2 + strh r3, [r5, #0x0] + add r5, r5, #0x2 + cmp r4, r2 + blo _02002272 +_02002280: + lsl r1, r2, #0x1 + add r0, r0, r1 + pop {r4-r5} + bx lr + + thumb_func_start sub_02002288 +sub_02002288: ; 0x02002288 + ldrh r2, [r0, #0x0] + ldr r1, _020022A0 ; =0x0000FFFF + mov r3, #0x0 + cmp r2, r1 + beq _0200229C +_02002292: + add r0, r0, #0x2 + ldrh r2, [r0, #0x0] + add r3, r3, #0x1 + cmp r2, r1 + bne _02002292 +_0200229C: + add r0, r3, #0x0 + bx lr + .balign 4 +_020022A0: .word 0x0000FFFF + + thumb_func_start sub_020022A4 +sub_020022A4: ; 0x020022A4 + push {r3-r4} + ldrh r4, [r0, #0x0] + ldrh r2, [r1, #0x0] + cmp r4, r2 + bne _020022C6 + ldr r2, _020022CC ; =0x0000FFFF +_020022B0: + cmp r4, r2 + bne _020022BA + mov r0, #0x0 + pop {r3-r4} + bx lr +_020022BA: + add r0, r0, #0x2 + add r1, r1, #0x2 + ldrh r4, [r0, #0x0] + ldrh r3, [r1, #0x0] + cmp r4, r3 + beq _020022B0 +_020022C6: + mov r0, #0x1 + pop {r3-r4} + bx lr + .balign 4 +_020022CC: .word 0x0000FFFF + + thumb_func_start sub_020022D0 +sub_020022D0: ; 0x020022D0 + push {r3-r6} + ldrh r6, [r1, #0x0] + ldrh r5, [r0, #0x0] + cmp r5, r6 + bne _02002304 + ldr r3, _0200230C ; =0x0000FFFF + add r4, r3, #0x0 +_020022DE: + cmp r2, #0x0 + bne _020022E8 + mov r0, #0x0 + pop {r3-r6} + bx lr +_020022E8: + cmp r5, r4 + bne _020022F6 + cmp r6, r3 + bne _020022F6 + mov r0, #0x0 + pop {r3-r6} + bx lr +_020022F6: + add r0, r0, #0x2 + add r1, r1, #0x2 + ldrh r6, [r1, #0x0] + ldrh r5, [r0, #0x0] + sub r2, r2, #0x1 + cmp r5, r6 + beq _020022DE +_02002304: + mov r0, #0x1 + pop {r3-r6} + bx lr + nop +_0200230C: .word 0x0000FFFF + + thumb_func_start sub_02002310 +sub_02002310: ; 0x02002310 + push {r3-r4} + mov r3, #0x0 + cmp r2, #0x0 + bls _02002324 + add r4, r0, #0x0 +_0200231A: + add r3, r3, #0x1 + strh r1, [r4, #0x0] + add r4, r4, #0x2 + cmp r3, r2 + blo _0200231A +_02002324: + lsl r1, r3, #0x1 + add r0, r0, r1 + pop {r3-r4} + bx lr + + thumb_func_start sub_0200232C +sub_0200232C: ; 0x0200232C + ldr r3, _02002334 ; =sub_02002310 + add r2, r1, #0x0 + ldr r1, _02002338 ; =0x0000FFFF + bx r3 + .balign 4 +_02002334: .word sub_02002310 + 1 +_02002338: .word 0x0000FFFF + + thumb_func_start sub_0200233C +sub_0200233C: ; 0x0200233C + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + ldr r0, _020023B4 ; =0x020ECB24 + lsl r1, r3, #0x2 + ldr r4, [r0, r1] + add r6, r2, #0x0 + cmp r4, #0x0 + beq _020023AC +_0200234E: + add r0, r7, #0x0 + add r1, r4, #0x0 + blx sub_020EBE8C + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r0, r4, #0x0 + mul r0, r1 + sub r7, r7, r0 + cmp r6, #0x2 + bne _02002378 + cmp r1, #0xa + blo _0200236C + mov r0, #0xe2 + b _02002372 +_0200236C: + ldr r0, _020023B8 ; =0x020ECB08 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] +_02002372: + strh r0, [r5, #0x0] + add r5, r5, #0x2 + b _020023A0 +_02002378: + cmp r1, #0x0 + bne _02002380 + cmp r4, #0x1 + bne _02002396 +_02002380: + mov r6, #0x2 + cmp r1, #0xa + blo _0200238A + mov r0, #0xe2 + b _02002390 +_0200238A: + ldr r0, _020023B8 ; =0x020ECB08 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] +_02002390: + strh r0, [r5, #0x0] + add r5, r5, #0x2 + b _020023A0 +_02002396: + cmp r6, #0x1 + bne _020023A0 + mov r0, #0x1 + strh r0, [r5, #0x0] + add r5, r5, #0x2 +_020023A0: + add r0, r4, #0x0 + mov r1, #0xa + blx sub_020EBE8C + add r4, r0, #0x0 + bne _0200234E +_020023AC: + ldr r0, _020023BC ; =0x0000FFFF + strh r0, [r5, #0x0] + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_020023B4: .word 0x020ECB24 +_020023B8: .word 0x020ECB08 +_020023BC: .word 0x0000FFFF + + thumb_func_start sub_020023C0 +sub_020023C0: ; 0x020023C0 + push {r3-r6, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x24 + ldrb r1, [r1, #0x0] + add r6, r4, #0x0 + add r6, #0x1c + cmp r1, #0x6 + bls _020023D6 + b _02002838 +_020023D6: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r6, r3, #0xd + lsl r0, r7, #0xd + lsl r2, r4, #0xe + lsl r2, r2, #0xf + lsl r0, r5, #0x10 + lsl r4, r6, #0x10 + ldr r0, _02002658 ; =0x021C48B8 + ldr r1, [r0, #0x44] + mov r0, #0x3 + tst r0, r1 + beq _02002402 + ldrb r0, [r6, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bne _02002414 +_02002402: + ldr r0, _0200265C ; =0x021C48F8 + ldrh r0, [r0, #0x22] + cmp r0, #0x0 + beq _02002432 + ldr r0, _02002660 ; =0x02106FC4 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + beq _02002432 +_02002414: + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x26 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x25 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + beq _02002432 + ldr r1, _02002660 ; =0x02106FC4 + mov r0, #0x40 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] +_02002432: + add r0, r4, #0x0 + add r0, #0x26 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0200248C + add r0, r4, #0x0 + add r0, #0x25 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + beq _0200248C + add r0, r4, #0x0 + add r0, #0x26 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x26 + strb r1, [r0, #0x0] + ldr r0, _02002660 ; =0x02106FC4 + ldrb r0, [r0, #0x0] + lsl r1, r0, #0x1f + lsr r1, r1, #0x1f + beq _02002486 + ldr r1, _02002658 ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + bne _02002478 + ldr r1, _0200265C ; =0x021C48F8 + ldrh r1, [r1, #0x20] + cmp r1, #0x0 + beq _02002486 + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + beq _02002486 +_02002478: + ldrb r1, [r6, #0x0] + mov r0, #0x10 + add r4, #0x26 + orr r0, r1 + strb r0, [r6, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x0] +_02002486: + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_0200248C: + add r0, r4, #0x0 + add r0, #0x25 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r1, r0, #0x19 + add r0, r4, #0x0 + add r0, #0x26 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x0] + ldrh r5, [r0, #0x0] + add r0, r0, #0x2 + str r0, [r4, #0x0] + mov r0, #0xf1 + lsl r0, r0, #0x8 + cmp r5, r0 + bne _020024B0 + bl sub_02020C2C +_020024B0: + ldr r0, _02002664 ; =0x0000F0FD + cmp r5, r0 + bgt _020024DA + bge _0200250E + ldr r1, _02002668 ; =0x000025BD + cmp r5, r1 + bgt _020024D0 + sub r0, r1, #0x1 + cmp r5, r0 + blt _020024CE + bne _020024C8 + b _020026D8 +_020024C8: + cmp r5, r1 + bne _020024CE + b _020026EC +_020024CE: + b _02002700 +_020024D0: + mov r0, #0xe + lsl r0, r0, #0xc + cmp r5, r0 + beq _020024F2 + b _02002700 +_020024DA: + ldr r0, _0200266C ; =0x0000FFFE + cmp r5, r0 + bgt _020024E4 + beq _0200251A + b _02002700 +_020024E4: + add r0, r0, #0x1 + cmp r5, r0 + beq _020024EC + b _02002700 +_020024EC: + add sp, #0xc + mov r0, #0x1 + pop {r3-r6, pc} +_020024F2: + ldrb r0, [r4, #0xa] + mov r1, #0x1 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0x9] + bl sub_02002E4C + ldrb r1, [r4, #0xf] + ldrb r2, [r4, #0xd] + add sp, #0xc + add r0, r1, r0 + add r0, r2, r0 + strb r0, [r4, #0xd] + mov r0, #0x2 + pop {r3-r6, pc} +_0200250E: + ldr r0, [r4, #0x0] + add sp, #0xc + add r0, r0, #0x2 + str r0, [r4, #0x0] + mov r0, #0x2 + pop {r3-r6, pc} +_0200251A: + ldr r0, [r4, #0x0] + sub r0, r0, #0x2 + str r0, [r4, #0x0] + bl sub_0201B8E0 + lsl r0, r0, #0x10 + ldr r1, _02002670 ; =0x0000FE06 + lsr r0, r0, #0x10 + cmp r0, r1 + bgt _02002552 + blt _02002532 + b _02002678 +_02002532: + mov r1, #0x2 + lsl r1, r1, #0x8 + sub r1, r0, r1 + cmp r1, #0x4 + bhi _0200255C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r5, #0x1 + lsl r4, r2, #0x2 + lsl r6, r6, #0x2 + lsl r6, r1, #0x3 + lsl r2, r3, #0x3 +_02002552: + mov r1, #0xff + lsl r1, r1, #0x8 + cmp r0, r1 + bgt _0200255E + beq _02002566 +_0200255C: + b _020026CA +_0200255E: + add r1, r1, #0x1 + cmp r0, r1 + beq _02002630 + b _020026CA +_02002566: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl sub_0201B914 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0xff + bne _02002596 + ldrb r0, [r4, #0x11] + ldrb r2, [r4, #0x17] + sub r1, r0, #0x1 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r0, r0, #0x1 + add r0, #0x64 + strb r0, [r4, #0x17] + cmp r2, #0x64 + blo _02002644 + cmp r2, #0x6b + bhs _02002644 + sub r2, #0x64 + lsl r0, r2, #0x10 + lsr r0, r0, #0x10 + b _0200259E +_02002596: + cmp r0, #0x64 + blo _0200259E + strb r0, [r4, #0x17] + b _020026CA +_0200259E: + lsl r1, r0, #0x1 + add r0, r1, #0x1 + strb r0, [r4, #0x11] + add r0, r1, #0x2 + strb r0, [r4, #0x13] + ldrb r0, [r4, #0x11] + ldrb r1, [r4, #0x12] + ldrb r2, [r4, #0x13] + bl sub_0201C05C + b _020026CA +_020025B4: + .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0xAC, 0xF9, 0x00, 0x04, 0x03, 0x0C + .byte 0x21, 0x7B, 0x62, 0x7B, 0x20, 0x1C, 0x19, 0xF0, 0x11, 0xFE, 0x20, 0x1C, 0x25, 0x30, 0x00, 0x78 + .byte 0x00, 0x06, 0xC0, 0x0F, 0x79, 0xD0, 0x60, 0x68, 0x16, 0xF0, 0xFA, 0xFD, 0x75, 0xE0, 0x20, 0x68 + .byte 0x00, 0x21, 0x19, 0xF0, 0x97, 0xF9, 0x21, 0x1C, 0x26, 0x31, 0x08, 0x70, 0x20, 0x68, 0x19, 0xF0 + .byte 0x63, 0xF9, 0x20, 0x60, 0x06, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD + .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x86, 0xF9, 0x60, 0x85, 0x20, 0x68, 0x19, 0xF0, 0x54, 0xF9 + .byte 0x20, 0x60, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x7A, 0xF9 + .byte 0x20, 0x73, 0x52, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x74, 0xF9, 0x60, 0x73, 0x4C, 0xE0 +_02002630: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl sub_0201B914 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x64 + beq _02002646 + cmp r0, #0xc8 + beq _0200264E +_02002644: + b _020026CA +_02002646: + mov r0, #0x0 + strh r0, [r4, #0x14] + strb r0, [r4, #0x16] + b _020026CA +_0200264E: + ldr r0, _02002674 ; =0x0000FFFC + strh r0, [r4, #0x14] + mov r0, #0x0 + strb r0, [r4, #0x16] + b _020026CA + .balign 4 +_02002658: .word 0x021C48B8 +_0200265C: .word 0x021C48F8 +_02002660: .word 0x02106FC4 +_02002664: .word 0x0000F0FD +_02002668: .word 0x000025BD +_0200266C: .word 0x0000FFFE +_02002670: .word 0x0000FE06 +_02002674: .word 0x0000FFFC +_02002678: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl sub_0201B914 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + mov r0, #0xfe + lsl r0, r0, #0x8 + cmp r1, r0 + beq _020026AE + add r0, r0, #0x1 + cmp r1, r0 + bne _020026CA + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x24 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0200284C + ldr r0, [r4, #0x0] + bl sub_0201B8B8 + str r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_020026AE: + add r0, r4, #0x0 + mov r1, #0x3 + add r0, #0x24 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0200284C + ldr r0, [r4, #0x0] + bl sub_0201B8B8 + str r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_020026CA: + ldr r0, [r4, #0x0] + bl sub_0201B8B8 + str r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x2 + pop {r3-r6, pc} +_020026D8: + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x24 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0200284C + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_020026EC: + add r0, r4, #0x0 + mov r1, #0x3 + add r0, #0x24 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0200284C + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_02002700: + ldrb r0, [r6, #0x0] + add r1, r5, #0x0 + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bl sub_02002D94 + add r5, r0, #0x0 + ldrb r0, [r4, #0xc] + add r2, r5, #0x0 + add r3, r5, #0x0 + str r0, [sp, #0x0] + ldrb r0, [r4, #0xd] + add r2, #0x80 + add r3, #0x81 + str r0, [sp, #0x4] + ldrh r0, [r4, #0x14] + add r1, r5, #0x0 + str r0, [sp, #0x8] + ldrb r2, [r2, #0x0] + ldrb r3, [r3, #0x0] + ldr r0, [r4, #0x4] + bl sub_0201974C + add r5, #0x80 + ldrb r1, [r5, #0x0] + ldrb r0, [r4, #0xe] + ldrb r2, [r4, #0xc] + add sp, #0xc + add r0, r1, r0 + add r0, r2, r0 + strb r0, [r4, #0xc] + mov r0, #0x0 + pop {r3-r6, pc} +_02002742: + .byte 0x00, 0xF0, 0xFB, 0xF9, 0x00, 0x28, 0x05, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xF9 + .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xDC, 0xF9 + .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0xA1, 0x7C, 0x60, 0x68, 0x16, 0xF0 + .byte 0x57, 0xFF, 0xA0, 0x7A, 0x20, 0x73, 0xE0, 0x7A, 0x60, 0x73, 0x00, 0x20, 0x24, 0x34, 0x20, 0x70 + .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xC7, 0xF9, 0x00, 0x28, 0x10, 0xD0, 0x20, 0x1C + .byte 0x00, 0xF0, 0x36, 0xF9, 0x60, 0x7A, 0x01, 0x21, 0x00, 0xF0, 0x58, 0xFB, 0xE1, 0x7B, 0x09, 0x18 + .byte 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0xA0, 0x7A, 0x20, 0x73, 0x04, 0x20, 0x24, 0x34, 0x20, 0x70 + .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x27, 0x30, 0x02, 0x78, 0x00, 0x2A, 0x20, 0xD0, 0x04, 0x2A + .byte 0xA5, 0x7C, 0x09, 0xDA, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68, 0x00, 0x21, 0x1B, 0x0E + .byte 0x18, 0xF0, 0x7A, 0xF8, 0x00, 0x21, 0x0C, 0xE0, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68 + .byte 0x00, 0x21, 0x04, 0x22, 0x1B, 0x0E, 0x18, 0xF0, 0x6F, 0xF8, 0x20, 0x1C, 0x27, 0x30, 0x00, 0x78 + .byte 0x01, 0x1F, 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0x60, 0x68, 0x16, 0xF0, 0xE9, 0xFC, 0x02, 0xE0 + .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x24, 0x34 + .byte 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x26, 0x30, 0x00, 0x78, 0x00, 0x28, 0x05, 0xD0 + .byte 0x20, 0x1C, 0x26, 0x30, 0x00, 0x78, 0x26, 0x34, 0x40, 0x1E, 0x01, 0xE0, 0x00, 0x20, 0x24, 0x34 + .byte 0x03, 0xB0, 0x20, 0x70, 0x03, 0x20, 0x78, 0xBD +_02002838: + mov r0, #0x1 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02002840 +sub_02002840: ; 0x02002840 + ldr r1, _02002848 ; =0x02106FC4 + strh r0, [r1, #0x2] + bx lr + nop +_02002848: .word 0x02106FC4 + + thumb_func_start sub_0200284C +sub_0200284C: ; 0x0200284C + ldr r1, _02002874 ; =0x02106FC4 + add r0, #0x1c + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1d + lsr r1, r1, #0x1f + beq _02002862 + ldrb r2, [r0, #0x2] + mov r1, #0xff + bic r2, r1 + strb r2, [r0, #0x2] + bx lr +_02002862: + ldrb r2, [r0, #0x1] + mov r1, #0x60 + bic r2, r1 + strb r2, [r0, #0x1] + ldrb r2, [r0, #0x1] + mov r1, #0x1f + bic r2, r1 + strb r2, [r0, #0x1] + bx lr + .balign 4 +_02002874: .word 0x02106FC4 + + thumb_func_start sub_02002878 +sub_02002878: ; 0x02002878 + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + ldr r0, _020029F8 ; =0x02106FC4 + add r4, r5, #0x0 + ldrb r0, [r0, #0x0] + add r4, #0x1c + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _0200288E + b _020029F4 +_0200288E: + ldrb r0, [r4, #0x1] + lsl r1, r0, #0x1b + lsr r2, r1, #0x1b + beq _020028AC + mov r1, #0x1f + add r2, #0xff + bic r0, r1 + lsl r1, r2, #0x18 + lsr r2, r1, #0x18 + mov r1, #0x1f + and r1, r2 + orr r0, r1 + add sp, #0x2c + strb r0, [r4, #0x1] + pop {r4-r7, pc} +_020028AC: + ldr r0, [r5, #0x4] + bl sub_0201AB08 + str r0, [sp, #0x20] + ldr r0, [r5, #0x4] + bl sub_0201AB14 + str r0, [sp, #0x24] + ldr r0, [r5, #0x4] + bl sub_0201AB18 + str r0, [sp, #0x28] + ldr r0, [r5, #0x4] + bl sub_0201AB0C + ldr r1, _020029F8 ; =0x02106FC4 + ldrh r6, [r1, #0x2] + ldr r1, [sp, #0x28] + add r7, r1, #0x2 + ldr r1, [sp, #0x24] + add r2, r6, #0x0 + add r0, r1, r0 + str r0, [sp, #0x1c] + add r0, r0, #0x1 + str r0, [sp, #0x18] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + add r2, #0x12 + mov r12, r2 + ldrb r2, [r4, #0x1] + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x20] + lsl r2, r2, #0x19 + lsr r3, r2, #0x1e + ldr r2, _020029FC ; =0x020ECB50 + ldr r0, [r0, #0x0] + ldrb r2, [r2, r3] + mov r3, r12 + lsl r2, r2, #0x2 + add r2, r3, r2 + ldr r3, [sp, #0x18] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x20] + add r0, r0, #0x2 + str r0, [sp, #0x10] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldrb r2, [r4, #0x1] + add r7, r6, #0x0 + ldr r0, [r5, #0x4] + lsl r2, r2, #0x19 + lsr r3, r2, #0x1e + ldr r2, _020029FC ; =0x020ECB50 + add r7, #0x13 + ldrb r2, [r2, r3] + ldr r3, [sp, #0x10] + ldr r0, [r0, #0x0] + lsl r2, r2, #0x2 + add r2, r7, r2 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x28] + add r7, r6, #0x0 + add r0, r0, #0x3 + str r0, [sp, #0x14] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldrb r2, [r4, #0x1] + ldr r0, [r5, #0x4] + add r7, #0x14 + lsl r2, r2, #0x19 + lsr r3, r2, #0x1e + ldr r2, _020029FC ; =0x020ECB50 + ldr r0, [r0, #0x0] + ldrb r2, [r2, r3] + ldr r3, [sp, #0x18] + ldr r1, [sp, #0x20] + lsl r2, r2, #0x2 + add r2, r7, r2 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x14] + add r6, #0x15 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldrb r2, [r4, #0x1] + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x20] + lsl r2, r2, #0x19 + lsr r3, r2, #0x1e + ldr r2, _020029FC ; =0x020ECB50 + ldr r0, [r0, #0x0] + ldrb r2, [r2, r3] + ldr r3, [sp, #0x10] + lsl r2, r2, #0x2 + add r2, r6, r2 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x20] + ldr r0, [r0, #0x0] + bl sub_02017CD0 + ldrb r1, [r4, #0x1] + mov r0, #0x1f + bic r1, r0 + mov r0, #0x8 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r2, [r4, #0x1] + mov r1, #0x60 + add r0, r2, #0x0 + bic r0, r1 + lsl r1, r2, #0x19 + lsr r1, r1, #0x1e + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1e + lsr r1, r1, #0x19 + orr r0, r1 + strb r0, [r4, #0x1] +_020029F4: + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 +_020029F8: .word 0x02106FC4 +_020029FC: .word 0x020ECB50 + + thumb_func_start sub_02002A00 +sub_02002A00: ; 0x02002A00 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + bl sub_0201AB08 + str r0, [sp, #0x10] + ldr r0, [r5, #0x4] + bl sub_0201AB14 + str r0, [sp, #0x14] + ldr r0, [r5, #0x4] + bl sub_0201AB18 + add r6, r0, #0x0 + ldr r0, [r5, #0x4] + bl sub_0201AB0C + ldr r1, _02002A90 ; =0x02106FC4 + add r7, r6, #0x2 + ldrh r4, [r1, #0x2] + ldr r1, [sp, #0x14] + add r6, r1, r0 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r0, [r5, #0x4] + add r2, r4, #0x0 + add r2, #0xa + add r3, r6, #0x1 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + ldr r1, [sp, #0x10] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r0, [r5, #0x4] + add r4, #0xb + add r3, r6, #0x2 + lsl r2, r4, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + ldr r1, [sp, #0x10] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x10] + ldr r0, [r0, #0x0] + bl sub_02017CD0 + add sp, #0x18 + pop {r3-r7, pc} + nop +_02002A90: .word 0x02106FC4 + + thumb_func_start sub_02002A94 +sub_02002A94: ; 0x02002A94 + push {r3, lr} + ldr r0, _02002ACC ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + bne _02002AB2 + ldr r0, _02002AD0 ; =0x021C48F8 + ldrh r0, [r0, #0x20] + cmp r0, #0x0 + beq _02002AC6 + ldr r0, _02002AD4 ; =0x02106FC4 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + beq _02002AC6 +_02002AB2: + ldr r0, _02002AD8 ; =0x000005DC + bl sub_020054C8 + ldr r1, _02002AD4 ; =0x02106FC4 + mov r0, #0x80 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] + mov r0, #0x1 + pop {r3, pc} +_02002AC6: + mov r0, #0x0 + pop {r3, pc} + nop +_02002ACC: .word 0x021C48B8 +_02002AD0: .word 0x021C48F8 +_02002AD4: .word 0x02106FC4 +_02002AD8: .word 0x000005DC + + thumb_func_start sub_02002ADC +sub_02002ADC: ; 0x02002ADC + push {r4, lr} + add r2, r0, #0x0 + add r2, #0x1c + ldrb r1, [r2, #0x2] + add r4, r1, #0x0 + cmp r4, #0x64 + bne _02002AEE + mov r0, #0x1 + pop {r4, pc} +_02002AEE: + mov r3, #0xff + bic r1, r3 + add r3, r4, #0x1 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + orr r1, r3 + strb r1, [r2, #0x2] + ldr r1, _02002B14 ; =0x02106FC4 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1f + beq _02002B10 + bl sub_02002A94 + pop {r4, pc} +_02002B10: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_02002B14: .word 0x02106FC4 + + thumb_func_start sub_02002B18 +sub_02002B18: ; 0x02002B18 + push {r4, lr} + ldr r1, _02002B38 ; =0x02106FC4 + add r4, r0, #0x0 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1d + lsr r1, r1, #0x1f + beq _02002B2C + bl sub_02002ADC + pop {r4, pc} +_02002B2C: + bl sub_02002878 + add r0, r4, #0x0 + bl sub_02002A94 + pop {r4, pc} + .balign 4 +_02002B38: .word 0x02106FC4 + + thumb_func_start sub_02002B3C +sub_02002B3C: ; 0x02002B3C + push {r3, lr} + ldr r1, _02002B5C ; =0x02106FC4 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1d + lsr r1, r1, #0x1f + beq _02002B52 + bl sub_02002ADC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} +_02002B52: + bl sub_02002A94 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 +_02002B5C: .word 0x02106FC4 + + thumb_func_start sub_02002B60 +sub_02002B60: ; 0x02002B60 + ldr r2, _02002B78 ; =0x02106FC4 + mov r1, #0x1 + ldrb r3, [r2, #0x0] + lsl r0, r0, #0x18 + bic r3, r1 + lsr r1, r0, #0x18 + mov r0, #0x1 + and r0, r1 + orr r0, r3 + strb r0, [r2, #0x0] + bx lr + nop +_02002B78: .word 0x02106FC4 + + thumb_func_start sub_02002B7C +sub_02002B7C: ; 0x02002B7C + push {r3-r4} + ldr r1, _02002BB4 ; =0x02106FC4 + mov r3, #0x4 + ldrb r2, [r1, #0x0] + mov r4, #0x1 + bic r2, r3 + add r3, r0, #0x0 + and r3, r4 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + lsl r3, r3, #0x1f + lsr r3, r3, #0x1d + orr r2, r3 + asr r0, r0, #0x1 + and r0, r4 + strb r2, [r1, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1f + ldrb r2, [r1, #0x0] + mov r3, #0x20 + lsr r0, r0, #0x1a + bic r2, r3 + orr r0, r2 + strb r0, [r1, #0x0] + pop {r3-r4} + bx lr + nop +_02002BB4: .word 0x02106FC4 + + thumb_func_start sub_02002BB8 +sub_02002BB8: ; 0x02002BB8 + ldr r2, _02002BD0 ; =0x02106FC4 + lsl r0, r0, #0x18 + ldrb r3, [r2, #0x0] + lsr r0, r0, #0x18 + mov r1, #0x10 + lsl r0, r0, #0x1f + bic r3, r1 + lsr r0, r0, #0x1b + orr r0, r3 + strb r0, [r2, #0x0] + bx lr + nop +_02002BD0: .word 0x02106FC4 + + thumb_func_start sub_02002BD4 +sub_02002BD4: ; 0x02002BD4 + ldr r0, _02002BE0 ; =0x02106FC4 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr + nop +_02002BE0: .word 0x02106FC4 + + thumb_func_start sub_02002BE4 +sub_02002BE4: ; 0x02002BE4 + ldr r1, _02002BF0 ; =0x02106FC4 + mov r0, #0x40 + ldrb r2, [r1, #0x0] + bic r2, r0 + strb r2, [r1, #0x0] + bx lr + .balign 4 +_02002BF0: .word 0x02106FC4 + + thumb_func_start sub_02002BF4 +sub_02002BF4: ; 0x02002BF4 + ldr r0, _02002C00 ; =0x02106FC4 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr + nop +_02002C00: .word 0x02106FC4 + + thumb_func_start sub_02002C04 +sub_02002C04: ; 0x02002C04 + ldr r1, _02002C10 ; =0x02106FC4 + mov r0, #0x80 + ldrb r2, [r1, #0x0] + bic r2, r0 + strb r2, [r1, #0x0] + bx lr + .balign 4 +_02002C10: .word 0x02106FC4 + + thumb_func_start sub_02002C14 +sub_02002C14: ; 0x02002C14 + push {r4, lr} + ldr r0, _02002C44 ; =0x02106FCC + ldr r4, _02002C48 ; =0x02106FC8 + mov r1, #0x0 + str r0, [r4, #0x0] + add r2, r1, #0x0 + add r0, r1, #0x0 +_02002C22: + ldr r3, [r4, #0x0] + add r1, r1, #0x1 + add r3, r3, r2 + add r3, #0x84 + str r0, [r3, #0x0] + ldr r3, [r4, #0x0] + add r3, r3, r2 + add r3, #0x94 + add r2, r2, #0x4 + str r0, [r3, #0x0] + cmp r1, #0x4 + blo _02002C22 + ldr r0, _02002C4C ; =0x020ECB64 + bl sub_0201BCBC + pop {r4, pc} + nop +_02002C44: .word 0x02106FCC +_02002C48: .word 0x02106FC8 +_02002C4C: .word 0x020ECB64 + + thumb_func_start sub_02002C50 +sub_02002C50: ; 0x02002C50 + push {r3-r4, lr} + sub sp, #0x4 + str r1, [sp, #0x0] + lsl r4, r0, #0x2 + ldr r1, _02002C78 ; =0x020ECB54 + ldr r3, _02002C7C ; =0x020ECB56 + ldrh r1, [r1, r4] + ldrh r3, [r3, r4] + mov r0, #0xe + mov r2, #0x1 + bl sub_02021590 + ldr r1, _02002C80 ; =0x02106FC8 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0x94 + str r0, [r1, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + nop +_02002C78: .word 0x020ECB54 +_02002C7C: .word 0x020ECB56 +_02002C80: .word 0x02106FC8 + + thumb_func_start sub_02002C84 +sub_02002C84: ; 0x02002C84 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x4 + blt _02002C92 + bl sub_02020C2C +_02002C92: + ldr r0, _02002CBC ; =0x02106FC8 + lsl r4, r4, #0x2 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002CA6 + bl sub_02020C2C +_02002CA6: + ldr r0, _02002CBC ; =0x02106FC8 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r2, r5, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_020215E0 + pop {r3-r5, pc} + nop +_02002CBC: .word 0x02106FC8 + + thumb_func_start sub_02002CC0 +sub_02002CC0: ; 0x02002CC0 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x4 + blt _02002CCC + bl sub_02020C2C +_02002CCC: + ldr r0, _02002CF4 ; =0x02106FC8 + lsl r4, r4, #0x2 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002CE0 + bl sub_02020C2C +_02002CE0: + ldr r0, _02002CF4 ; =0x02106FC8 + mov r1, #0x1 + ldr r0, [r0, #0x0] + mov r2, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_020215E0 + pop {r4, pc} + .balign 4 +_02002CF4: .word 0x02106FC8 + + thumb_func_start sub_02002CF8 +sub_02002CF8: ; 0x02002CF8 + push {r3-r7, lr} + add r4, r0, #0x0 + cmp r4, #0x4 + blt _02002D04 + bl sub_02020C2C +_02002D04: + ldr r0, _02002D8C ; =0x02106FC8 + lsl r6, r4, #0x2 + ldr r7, [r0, #0x0] + add r0, r7, r6 + add r0, #0x84 + ldr r0, [r0, #0x0] + mov r12, r0 + cmp r0, #0x0 + beq _02002D68 + ldr r2, _02002D90 ; =0x020ECB54 + mov r1, #0x0 + ldrh r0, [r2, r6] + add r3, r7, #0x0 +_02002D1E: + cmp r1, r4 + beq _02002D3E + ldrh r5, [r2, #0x0] + cmp r5, r0 + bne _02002D3E + add r5, r3, #0x0 + add r5, #0x94 + ldr r5, [r5, #0x0] + cmp r5, #0x0 + beq _02002D3E + lsl r0, r1, #0x2 + add r2, r7, r0 + add r2, #0x84 + mov r0, r12 + str r0, [r2, #0x0] + b _02002D48 +_02002D3E: + add r1, r1, #0x1 + add r2, r2, #0x4 + add r3, r3, #0x4 + cmp r1, #0x4 + blo _02002D1E +_02002D48: + cmp r1, #0x4 + bne _02002D68 + ldr r0, _02002D8C ; =0x02106FC8 + lsl r5, r4, #0x2 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0x84 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _02002D8C ; =0x02106FC8 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0x84 + str r1, [r0, #0x0] +_02002D68: + ldr r0, _02002D8C ; =0x02106FC8 + ldr r0, [r0, #0x0] + add r0, r0, r6 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02002D88 + bl sub_020215C8 + ldr r0, _02002D8C ; =0x02106FC8 + mov r2, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + add r0, #0x94 + str r2, [r0, #0x0] +_02002D88: + pop {r3-r7, pc} + nop +_02002D8C: .word 0x02106FC8 +_02002D90: .word 0x020ECB54 + + thumb_func_start sub_02002D94 +sub_02002D94: ; 0x02002D94 + push {r3, lr} + ldr r2, _02002DAC ; =0x02106FC8 + lsl r0, r0, #0x2 + ldr r2, [r2, #0x0] + add r0, r2, r0 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_02021750 + ldr r0, _02002DAC ; =0x02106FC8 + ldr r0, [r0, #0x0] + pop {r3, pc} + .balign 4 +_02002DAC: .word 0x02106FC8 + + thumb_func_start sub_02002DB0 +sub_02002DB0: ; 0x02002DB0 + push {r4, lr} + add r3, r1, #0x0 + add r3, #0x1c + ldrb r2, [r3, #0x1] + lsl r2, r2, #0x18 + lsr r2, r2, #0x1f + bne _02002DD8 + ldrb r2, [r3, #0x0] + mov r4, #0xf + lsl r0, r0, #0x18 + bic r2, r4 + lsr r4, r0, #0x18 + mov r0, #0xf + and r0, r4 + orr r0, r2 + strb r0, [r3, #0x0] + ldrb r2, [r3, #0x1] + mov r0, #0x80 + orr r0, r2 + strb r0, [r3, #0x1] +_02002DD8: + add r0, r1, #0x0 + bl sub_020023C0 + pop {r4, pc} + + thumb_func_start sub_02002DE0 +sub_02002DE0: ; 0x02002DE0 + push {r4-r6, lr} + lsl r4, r0, #0x2 + ldr r0, _02002E10 ; =0x02106FC8 + add r5, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002DFA + bl sub_02020C2C +_02002DFA: + ldr r0, _02002E10 ; =0x02106FC8 + add r1, r5, #0x0 + ldr r0, [r0, #0x0] + add r2, r6, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_020218D8 + pop {r4-r6, pc} + nop +_02002E10: .word 0x02106FC8 + + thumb_func_start sub_02002E14 +sub_02002E14: ; 0x02002E14 + push {r4-r6, lr} + lsl r4, r0, #0x2 + ldr r0, _02002E48 ; =0x02106FC8 + add r5, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002E2E + bl sub_02020C2C +_02002E2E: + add r0, r5, #0x0 + bl sub_02021F2C + add r1, r0, #0x0 + ldr r0, _02002E48 ; =0x02106FC8 + add r2, r6, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_020218D8 + pop {r4-r6, pc} + .balign 4 +_02002E48: .word 0x02106FC8 + + thumb_func_start sub_02002E4C +sub_02002E4C: ; 0x02002E4C + mov r2, #0x0 + cmp r1, #0x7 + bhi _02002EAC + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + lsl r6, r5, #0 + lsl r6, r6, #0 + lsl r6, r7, #0 + lsl r6, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _02002EB0 ; =0x020ECB64 + ldrb r2, [r0, r1] + b _02002EAC +_02002E76: + .byte 0xC1, 0x00, 0x0E, 0x48, 0x42, 0x5C, 0x16, 0xE0, 0xC1, 0x00 + .byte 0x0D, 0x48, 0x42, 0x5C, 0x12, 0xE0, 0xC1, 0x00, 0x0C, 0x48, 0x42, 0x5C, 0x0E, 0xE0, 0xC1, 0x00 + .byte 0x0B, 0x48, 0x42, 0x5C, 0x0A, 0xE0, 0xC1, 0x00, 0x0A, 0x48, 0x42, 0x5C, 0x06, 0xE0, 0xC1, 0x00 + .byte 0x09, 0x48, 0x42, 0x5C, 0x02, 0xE0, 0xC1, 0x00, 0x08, 0x48, 0x42, 0x5C +_02002EAC: + add r0, r2, #0x0 + bx lr + .balign 4 +_02002EB0: .word 0x020ECB64 +_02002EB4: + .byte 0x65, 0xCB, 0x0E, 0x02, 0x66, 0xCB, 0x0E, 0x02, 0x67, 0xCB, 0x0E, 0x02 + .byte 0x68, 0xCB, 0x0E, 0x02, 0x69, 0xCB, 0x0E, 0x02, 0x6A, 0xCB, 0x0E, 0x02, 0x6B, 0xCB, 0x0E, 0x02 + + thumb_func_start sub_02002ED0 +sub_02002ED0: ; 0x02002ED0 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + add r3, r1, #0x0 + str r2, [sp, #0x4] + mov r0, #0xe + mov r1, #0x6 + add r2, r4, #0x0 + bl sub_02006930 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02002EEC +sub_02002EEC: ; 0x02002EEC + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + add r3, r1, #0x0 + str r2, [sp, #0x4] + mov r0, #0xe + mov r1, #0x7 + add r2, r4, #0x0 + bl sub_02006930 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02002F08 +sub_02002F08: ; 0x02002F08 + push {r4-r6, lr} + lsl r4, r0, #0x2 + ldr r0, _02002F3C ; =0x02106FC8 + add r5, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002F22 + bl sub_02020C2C +_02002F22: + add r0, r5, #0x0 + bl sub_02021F2C + add r1, r0, #0x0 + ldr r0, _02002F3C ; =0x02106FC8 + add r2, r6, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_02021934 + pop {r4-r6, pc} + .balign 4 +_02002F3C: .word 0x02106FC8 + + thumb_func_start sub_02002F40 +sub_02002F40: ; 0x02002F40 + push {r4, lr} + add r4, r3, #0x0 + bl sub_02002E14 + cmp r0, r4 + bhs _02002F52 + sub r0, r4, r0 + lsr r0, r0, #0x1 + pop {r4, pc} +_02002F52: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02002F58 +sub_02002F58: ; 0x02002F58 + push {r3-r7, lr} + ldrh r2, [r0, #0x0] + ldr r1, _02002F8C ; =0x0000FFFF + mov r5, #0x1 + cmp r2, r1 + beq _02002F88 + mov r6, #0xe + lsl r6, r6, #0xc + add r7, r1, #0x0 + sub r4, r1, #0x1 +_02002F6C: + cmp r2, r4 + bne _02002F76 + bl sub_0201B8B8 + b _02002F82 +_02002F76: + cmp r2, r6 + bne _02002F80 + add r5, r5, #0x1 + add r0, r0, #0x2 + b _02002F82 +_02002F80: + add r0, r0, #0x2 +_02002F82: + ldrh r2, [r0, #0x0] + cmp r2, r7 + bne _02002F6C +_02002F88: + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_02002F8C: .word 0x0000FFFF + + thumb_func_start sub_02002F90 +sub_02002F90: ; 0x02002F90 + push {r3, lr} + bl sub_02021F2C + bl sub_02002F58 + pop {r3, pc} + + thumb_func_start sub_02002F9C +sub_02002F9C: ; 0x02002F9C + push {r3-r5, lr} + lsl r4, r0, #0x2 + ldr r0, _02002FCC ; =0x02106FC8 + add r5, r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02002FB4 + bl sub_02020C2C +_02002FB4: + add r0, r5, #0x0 + bl sub_02021F2C + add r1, r0, #0x0 + ldr r0, _02002FCC ; =0x02106FC8 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_0202199C + pop {r3-r5, pc} + .balign 4 +_02002FCC: .word 0x02106FC8 + + thumb_func_start sub_02002FD0 +sub_02002FD0: ; 0x02002FD0 + push {r4, lr} + mov r1, #0x12 + lsl r1, r1, #0x4 + bl sub_02016998 + mov r2, #0x12 + mov r1, #0x0 + lsl r2, r2, #0x4 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02002FEC +sub_02002FEC: ; 0x02002FEC + ldr r3, _02002FF0 ; =sub_02016A18 + bx r3 + .balign 4 +_02002FF0: .word sub_02016A18 + 1 + + thumb_func_start sub_02002FF4 +sub_02002FF4: ; 0x02002FF4 + push {r3-r4} + mov r4, #0x14 + mul r4, r1 + str r2, [r0, r4] + add r1, r0, r4 + ldr r0, [sp, #0x8] + str r3, [r1, #0x4] + str r0, [r1, #0x8] + pop {r3-r4} + bx lr + + thumb_func_start sub_02003008 +sub_02003008: ; 0x02003008 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + str r3, [sp, #0x4] + add r0, r3, #0x0 + add r1, r4, #0x0 + bl sub_02016998 + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + bl sub_02016998 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + str r4, [sp, #0x0] + bl sub_02002FF4 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02003038 +sub_02003038: ; 0x02003038 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0x14 + add r5, r1, #0x0 + mul r5, r0 + ldr r0, [r4, r5] + bl sub_02016A18 + add r0, r4, r5 + ldr r0, [r0, #0x4] + bl sub_02016A18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02003054 +sub_02003054: ; 0x02003054 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, sp, #0x8 + ldrh r7, [r0, #0x10] + add r6, r2, #0x0 + mov r0, #0x14 + mul r6, r0 + str r1, [sp, #0x0] + add r0, r1, #0x0 + ldr r1, [r5, r6] + lsl r4, r3, #0x1 + add r1, r1, r4 + add r2, r7, #0x0 + blx sub_020CE1E0 + add r1, r5, r6 + ldr r1, [r1, #0x4] + ldr r0, [sp, #0x0] + add r1, r1, r4 + add r2, r7, #0x0 + blx sub_020CE1E0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02003084 +sub_02003084: ; 0x02003084 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, sp, #0x4 + ldr r4, [sp, #0x1c] + bl sub_02006C08 + add r6, r0, #0x0 + bne _0200309E + bl sub_02020C2C +_0200309E: + cmp r4, #0x0 + bne _020030A6 + ldr r0, [sp, #0x4] + ldr r4, [r0, #0x8] +_020030A6: + add r0, sp, #0x8 + ldrh r0, [r0, #0x18] + ldr r2, [sp, #0x18] + mov r1, #0x14 + mul r1, r2 + add r1, r5, r1 + lsl r0, r0, #0x1 + ldr r1, [r1, #0x8] + add r0, r4, r0 + cmp r0, r1 + bls _020030C0 + bl sub_02020C2C +_020030C0: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r3, sp, #0x8 + ldr r2, [r1, #0xc] + ldrh r1, [r3, #0x1c] + ldrh r3, [r3, #0x18] + add r0, r5, #0x0 + lsl r1, r1, #0x1 + add r1, r2, r1 + ldr r2, [sp, #0x18] + bl sub_02003054 + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020030E8 +sub_020030E8: ; 0x020030E8 + push {r4, lr} + sub sp, #0x10 + ldr r4, [sp, #0x18] + str r4, [sp, #0x0] + ldr r4, [sp, #0x1c] + str r4, [sp, #0x4] + add r4, sp, #0x8 + ldrh r4, [r4, #0x18] + str r4, [sp, #0x8] + mov r4, #0x0 + str r4, [sp, #0xc] + bl sub_02003084 + add sp, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02003108 +sub_02003108: ; 0x02003108 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x14 + add r6, r0, #0x0 + mul r1, r4 + add r5, r2, #0x0 + add r1, r6, r1 + add r7, r3, #0x0 + lsl r0, r5, #0x1 + ldr r1, [r1, #0x8] + add r0, r7, r0 + cmp r0, r1 + bls _02003126 + bl sub_02020C2C +_02003126: + cmp r4, #0x3 + bhi _0200315E + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + bl sub_020222E8 + add r1, r0, #0x0 + b _02003164 +_02003146: + .byte 0x1F, 0xF0, 0xD7, 0xF8, 0x01, 0x1C, 0x0A, 0xE0, 0x1F, 0xF0 + .byte 0xDB, 0xF8, 0x01, 0x1C, 0x06, 0xE0, 0x1F, 0xF0, 0xDB, 0xF8, 0x01, 0x1C, 0x02, 0xE0 +_0200315E: + bl sub_02020C2C + pop {r3-r7, pc} +_02003164: + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + lsl r2, r5, #0x1 + str r0, [sp, #0x0] + add r1, r1, r2 + add r0, r6, #0x0 + add r2, r4, #0x0 + add r3, r5, #0x0 + bl sub_02003054 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200317C +sub_0200317C: ; 0x0200317C + push {r3-r5, lr} + add r4, r2, #0x0 + add r5, r3, #0x0 + add r2, sp, #0x0 + add r3, r4, #0x0 + bl sub_02006C08 + add r4, r0, #0x0 + bne _02003192 + bl sub_02020C2C +_02003192: + cmp r5, #0x0 + bne _0200319A + ldr r0, [sp, #0x0] + ldr r5, [r0, #0x8] +_0200319A: + ldr r0, [sp, #0x0] + add r2, r5, #0x0 + ldr r1, [r0, #0xc] + add r0, sp, #0x0 + ldrh r0, [r0, #0x10] + lsl r0, r0, #0x1 + add r0, r1, r0 + ldr r1, [sp, #0x14] + blx sub_020CE1E0 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020031B8 +sub_020031B8: ; 0x020031B8 + push {r3-r7, lr} + sub sp, #0x8 + add r4, sp, #0x10 + add r5, r0, #0x0 + add r0, r1, #0x0 + ldrh r1, [r4, #0x14] + add r6, r3, #0x0 + str r1, [sp, #0x0] + ldrh r1, [r4, #0x10] + lsl r4, r2, #0x1 + ldr r2, [sp, #0x0] + lsl r7, r1, #0x1 + mov r1, #0x14 + mul r6, r1 + mul r1, r0 + ldr r0, [r5, r1] + str r1, [sp, #0x4] + ldr r1, [r5, r6] + add r0, r0, r4 + add r1, r1, r7 + blx sub_020CE1E0 + ldr r0, [sp, #0x4] + add r1, r5, r6 + ldr r0, [r5, r0] + ldr r1, [r1, #0x4] + ldr r2, [sp, #0x0] + add r0, r0, r4 + add r1, r1, r7 + blx sub_020CE1E0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020031FC +sub_020031FC: ; 0x020031FC + mov r2, #0x14 + mul r2, r1 + ldr r0, [r0, r2] + bx lr + + thumb_func_start sub_02003204 +sub_02003204: ; 0x02003204 + mov r2, #0x14 + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_02003210 +sub_02003210: ; 0x02003210 + push {r0-r3} + push {r3-r7, lr} + sub sp, #0x10 + str r3, [sp, #0x8] + add r5, r0, #0x0 + ldr r0, [sp, #0x38] + mov r6, #0x0 + str r0, [sp, #0x38] + ldr r0, [sp, #0x3c] + add r7, r1, #0x0 + str r0, [sp, #0x3c] + ldr r0, [sp, #0x40] + add r4, r6, #0x0 + str r0, [sp, #0x40] + add r0, sp, #0x28 + ldrh r0, [r0, #0x8] + str r0, [sp, #0xc] +_02003232: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_02003314 + cmp r0, #0x1 + bne _020032A6 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldrh r0, [r5, r0] + add r1, r4, #0x0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x12 + bl sub_02003314 + cmp r0, #0x0 + bne _020032A6 + mov r0, #0x14 + add r6, r4, #0x0 + mul r6, r0 + add r0, r4, #0x0 + add r1, r5, r6 + add r2, sp, #0x30 + bl sub_02003368 + ldr r0, [sp, #0x3c] + add r1, sp, #0x28 + str r0, [sp, #0x0] + ldr r0, [sp, #0x40] + str r0, [sp, #0x4] + add r0, r5, r6 + ldrh r1, [r1, #0x8] + ldr r2, [sp, #0x8] + ldr r3, [sp, #0x38] + add r0, #0xc + bl sub_020033A4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02003328 + cmp r4, #0x4 + blo _02003294 + mov r2, #0x1 + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x8 + bl sub_0200359C + b _0200329E +_02003294: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x10 + bl sub_0200359C +_0200329E: + ldr r1, [sp, #0xc] + add r0, sp, #0x28 + strh r1, [r0, #0x8] + mov r6, #0x1 +_020032A6: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xe + blo _02003232 + cmp r6, #0x1 + bne _02003300 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldrh r2, [r5, r0] + ldr r1, _0200330C ; =0xFFFF0003 + and r1, r2 + lsl r2, r2, #0x10 + lsr r2, r2, #0x12 + orr r2, r7 + lsl r2, r2, #0x12 + lsr r2, r2, #0x10 + orr r1, r2 + strh r1, [r5, r0] + add r1, r0, #0x2 + ldrh r1, [r5, r1] + lsl r1, r1, #0x11 + lsr r1, r1, #0x1f + bne _02003300 + add r1, r0, #0x2 + ldrh r2, [r5, r1] + mov r1, #0x1 + lsl r1, r1, #0xe + orr r2, r1 + add r1, r0, #0x2 + strh r2, [r5, r1] + ldrh r2, [r5, r0] + mov r1, #0x3 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r5, r0] + mov r2, #0x0 + add r0, r0, #0x4 + strb r2, [r5, r0] + ldr r0, _02003310 ; =sub_02003464 + add r1, r5, #0x0 + sub r2, r2, #0x2 + bl sub_0200CA44 +_02003300: + add r0, r6, #0x0 + add sp, #0x10 + pop {r3-r7} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 +_0200330C: .word 0xFFFF0003 +_02003310: .word sub_02003464 + 1 + + thumb_func_start sub_02003314 +sub_02003314: ; 0x02003314 + mov r3, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + tst r0, r2 + bne _02003320 + mov r3, #0x0 +_02003320: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + bx lr + .balign 4 + + thumb_func_start sub_02003328 +sub_02003328: ; 0x02003328 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _02003360 ; =0x0000011A + add r4, r1, #0x0 + ldrh r0, [r5, r0] + lsl r0, r0, #0x12 + lsr r0, r0, #0x12 + bl sub_02003314 + cmp r0, #0x1 + beq _0200335E + ldr r3, _02003360 ; =0x0000011A + ldr r1, _02003364 ; =0xFFFFC000 + ldrh r2, [r5, r3] + add r0, r2, #0x0 + lsl r2, r2, #0x12 + lsr r6, r2, #0x12 + mov r2, #0x1 + lsl r2, r4 + orr r2, r6 + lsl r2, r2, #0x10 + and r0, r1 + lsr r2, r2, #0x10 + lsr r1, r1, #0x12 + and r1, r2 + orr r0, r1 + strh r0, [r5, r3] +_0200335E: + pop {r4-r6, pc} + .balign 4 +_02003360: .word 0x0000011A +_02003364: .word 0xFFFFC000 + + thumb_func_start sub_02003368 +sub_02003368: ; 0x02003368 + push {r4-r5} + cmp r0, #0x4 + ldr r0, [r1, #0x8] + bge _02003374 + lsl r0, r0, #0x13 + b _02003378 +_02003374: + lsr r0, r0, #0x9 + lsl r0, r0, #0x18 +_02003378: + mov r4, #0x0 + lsr r0, r0, #0x18 + add r5, r4, #0x0 + cmp r0, #0x0 + bls _02003398 + mov r3, #0x1 +_02003384: + add r1, r3, #0x0 + lsl r1, r5 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + add r1, r5, #0x1 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + cmp r5, r0 + blo _02003384 +_02003398: + ldrh r0, [r2, #0x0] + and r0, r4 + strh r0, [r2, #0x0] + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_020033A4 +sub_020033A4: ; 0x020033A4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r3, #0x0 + cmp r2, #0x0 + bge _020033D4 + add r0, r2, #0x0 + blx sub_020DE3F0 + add r0, r0, #0x2 + ldrh r1, [r5, #0x6] + mov r2, #0xf + lsl r0, r0, #0x10 + bic r1, r2 + lsr r2, r0, #0x10 + mov r0, #0xf + and r0, r2 + orr r0, r1 + strh r0, [r5, #0x6] + ldrh r1, [r5, #0x2] + mov r0, #0x3f + bic r1, r0 + strh r1, [r5, #0x2] + b _020033F2 +_020033D4: + ldrh r1, [r5, #0x6] + mov r0, #0xf + bic r1, r0 + mov r0, #0x2 + orr r0, r1 + strh r0, [r5, #0x6] + ldrh r0, [r5, #0x2] + mov r1, #0x3f + bic r0, r1 + lsl r1, r2, #0x10 + lsr r2, r1, #0x10 + mov r1, #0x3f + and r1, r2 + orr r0, r1 + strh r0, [r5, #0x2] +_020033F2: + strh r6, [r5, #0x0] + ldrh r1, [r5, #0x2] + ldr r0, _02003454 ; =0xFFFFF83F + add r3, sp, #0x0 + and r1, r0 + lsl r0, r4, #0x1b + lsr r0, r0, #0x15 + orr r0, r1 + strh r0, [r5, #0x2] + ldrh r1, [r5, #0x2] + ldr r0, _02003458 ; =0xFFFF07FF + add r2, r1, #0x0 + ldrb r1, [r3, #0x10] + and r2, r0 + lsl r0, r1, #0x1b + lsr r0, r0, #0x10 + orr r0, r2 + strh r0, [r5, #0x2] + ldrh r0, [r5, #0x4] + ldr r2, _0200345C ; =0xFFFF8000 + ldrh r6, [r3, #0x14] + lsr r3, r2, #0x11 + and r0, r2 + and r3, r6 + orr r0, r3 + strh r0, [r5, #0x4] + ldrh r3, [r5, #0x6] + ldr r0, _02003460 ; =0xFFFFFC0F + and r0, r3 + ldrh r3, [r5, #0x2] + lsl r3, r3, #0x1a + lsr r3, r3, #0x1a + lsl r3, r3, #0x1a + lsr r3, r3, #0x16 + orr r0, r3 + strh r0, [r5, #0x6] + cmp r4, r1 + ldrh r1, [r5, #0x4] + bhs _02003448 + sub r0, r2, #0x1 + and r0, r1 + strh r0, [r5, #0x4] + pop {r4-r6, pc} +_02003448: + mov r0, #0x2 + lsl r0, r0, #0xe + orr r0, r1 + strh r0, [r5, #0x4] + pop {r4-r6, pc} + nop +_02003454: .word 0xFFFFF83F +_02003458: .word 0xFFFF07FF +_0200345C: .word 0xFFFF8000 +_02003460: .word 0xFFFFFC0F + + thumb_func_start sub_02003464 +sub_02003464: ; 0x02003464 + push {r4-r6, lr} + add r4, r1, #0x0 + mov r1, #0x47 + lsl r1, r1, #0x2 + ldrb r2, [r4, r1] + add r5, r0, #0x0 + cmp r2, #0x1 + bne _020034A4 + mov r2, #0x0 + strb r2, [r4, r1] + sub r2, r1, #0x2 + ldrh r3, [r4, r2] + ldr r2, _020034F4 ; =0xFFFFC000 + add r5, r3, #0x0 + and r5, r2 + sub r3, r1, #0x2 + strh r5, [r4, r3] + sub r3, r1, #0x4 + ldrh r5, [r4, r3] + ldr r3, _020034F8 ; =0xFFFF0003 + sub r2, r2, #0x1 + and r5, r3 + sub r3, r1, #0x4 + strh r5, [r4, r3] + sub r3, r1, #0x2 + ldrh r3, [r4, r3] + sub r1, r1, #0x2 + and r2, r3 + strh r2, [r4, r1] + bl sub_0200CAB4 + pop {r4-r6, pc} +_020034A4: + sub r0, r1, #0x4 + ldrh r2, [r4, r0] + lsl r0, r2, #0x1e + lsr r0, r0, #0x1e + cmp r0, #0x1 + bne _020034F0 + sub r0, r1, #0x2 + ldrh r0, [r4, r0] + ldr r3, _020034F4 ; =0xFFFFC000 + lsl r2, r2, #0x10 + lsr r6, r2, #0x12 + lsr r2, r3, #0x12 + and r0, r3 + and r2, r6 + orr r2, r0 + sub r0, r1, #0x2 + strh r2, [r4, r0] + add r0, r4, #0x0 + bl sub_02003500 + add r0, r4, #0x0 + bl sub_02003520 + mov r1, #0x46 + lsl r1, r1, #0x2 + ldrh r0, [r4, r1] + lsl r0, r0, #0x10 + lsr r0, r0, #0x12 + bne _020034F0 + add r0, r1, #0x2 + ldrh r2, [r4, r0] + ldr r0, _020034FC ; =0xFFFFBFFF + and r2, r0 + add r0, r1, #0x2 + strh r2, [r4, r0] + add r0, r5, #0x0 + bl sub_0200CAB4 +_020034F0: + pop {r4-r6, pc} + nop +_020034F4: .word 0xFFFFC000 +_020034F8: .word 0xFFFF0003 +_020034FC: .word 0xFFFFBFFF + + thumb_func_start sub_02003500 +sub_02003500: ; 0x02003500 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r4, #0x0 + mov r6, #0x10 +_02003508: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02003540 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + blo _02003508 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02003520 +sub_02003520: ; 0x02003520 + push {r4-r6, lr} + mov r4, #0x4 + add r6, r4, #0x0 + add r5, r0, #0x0 + add r6, #0xfc +_0200352A: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02003540 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xe + blo _0200352A + pop {r4-r6, pc} + + thumb_func_start sub_02003540 +sub_02003540: ; 0x02003540 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldrh r0, [r5, r0] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x12 + bl sub_02003314 + cmp r0, #0x0 + beq _02003594 + mov r0, #0x14 + mul r0, r4 + add r2, r5, r0 + ldrh r0, [r2, #0x12] + ldrh r3, [r2, #0xe] + lsl r1, r0, #0x16 + lsl r3, r3, #0x1a + lsr r1, r1, #0x1a + lsr r3, r3, #0x1a + cmp r1, r3 + bhs _02003584 + ldr r3, _02003598 ; =0xFFFFFC0F + and r3, r0 + add r0, r1, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1a + lsr r0, r0, #0x16 + orr r0, r3 + strh r0, [r2, #0x12] + pop {r4-r6, pc} +_02003584: + ldr r1, _02003598 ; =0xFFFFFC0F + and r0, r1 + strh r0, [r2, #0x12] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0200359C +_02003594: + pop {r4-r6, pc} + nop +_02003598: .word 0xFFFFFC0F + + thumb_func_start sub_0200359C +sub_0200359C: ; 0x0200359C + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x4] + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + mov r1, #0x14 + mul r1, r0 + ldr r0, [sp, #0x0] + mov r6, #0x0 + add r5, r0, r1 + add r0, r5, #0x0 + str r0, [sp, #0x8] + add r0, #0xc + add r7, r2, #0x0 + add r4, r6, #0x0 + str r0, [sp, #0x8] +_020035BC: + ldrh r0, [r5, #0xc] + lsl r1, r6, #0x10 + lsr r1, r1, #0x10 + bl sub_02003314 + cmp r0, #0x0 + beq _020035DC + ldr r0, [r5, #0x0] + lsl r1, r4, #0x1 + ldr r2, [r5, #0x4] + add r0, r0, r1 + add r1, r2, r1 + ldr r2, [sp, #0x8] + add r3, r7, #0x0 + bl sub_020035F8 +_020035DC: + add r6, r6, #0x1 + add r4, r4, r7 + cmp r6, #0x10 + blo _020035BC + ldr r1, [sp, #0x4] + add r5, #0xc + lsl r1, r1, #0x18 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x18 + add r2, r5, #0x0 + bl sub_02003684 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_020035F8 +sub_020035F8: ; 0x020035F8 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x4] + mov r0, #0x0 + add r6, r1, #0x0 + mov r12, r0 + str r2, [sp, #0x0] + mov lr, r3 + add r0, r3, #0x0 + beq _02003680 +_0200360C: + ldr r0, [sp, #0x4] + mov r1, #0x1f + ldrh r0, [r0, #0x0] + asr r2, r0, #0x5 + add r5, r2, #0x0 + and r5, r1 + ldr r1, [sp, #0x0] + asr r4, r0, #0xa + ldrh r1, [r1, #0x4] + lsl r1, r1, #0x11 + lsr r3, r1, #0x11 + ldr r1, [sp, #0x0] + ldrh r1, [r1, #0x2] + lsl r1, r1, #0x15 + lsr r2, r1, #0x1b + mov r1, #0x1f + and r1, r4 + mov r4, #0x1f + and r0, r4 + and r4, r3 + sub r4, r4, r0 + mul r4, r2 + asr r4, r4, #0x4 + add r0, r0, r4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + asr r4, r3, #0xa + mov r0, #0x1f + and r0, r4 + sub r0, r0, r1 + mul r0, r2 + asr r0, r0, #0x4 + add r0, r1, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + asr r3, r3, #0x5 + mov r1, #0x1f + and r1, r3 + sub r1, r1, r5 + mul r1, r2 + asr r1, r1, #0x4 + add r1, r5, r1 + lsl r1, r1, #0x18 + lsl r0, r0, #0xa + lsr r1, r1, #0x13 + orr r0, r1 + orr r0, r7 + strh r0, [r6, #0x0] + ldr r0, [sp, #0x4] + add r6, r6, #0x2 + add r0, r0, #0x2 + str r0, [sp, #0x4] + mov r0, r12 + add r1, r0, #0x1 + mov r0, lr + mov r12, r1 + cmp r1, r0 + blo _0200360C +_02003680: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02003684 +sub_02003684: ; 0x02003684 + push {r4-r5} + ldrh r4, [r2, #0x2] + lsl r3, r4, #0x10 + lsl r4, r4, #0x15 + lsr r3, r3, #0x1b + lsr r4, r4, #0x1b + cmp r4, r3 + bne _020036BE + mov r3, #0x46 + lsl r3, r3, #0x2 + ldrh r4, [r0, r3] + mov r2, #0x1 + lsl r2, r1 + lsl r1, r4, #0x10 + lsr r5, r1, #0x12 + add r1, r5, #0x0 + tst r1, r2 + beq _0200371E + eor r2, r5 + lsl r2, r2, #0x10 + ldr r1, _02003724 ; =0xFFFF0003 + lsr r2, r2, #0x10 + lsl r2, r2, #0x12 + and r1, r4 + lsr r2, r2, #0x10 + orr r1, r2 + strh r1, [r0, r3] + pop {r4-r5} + bx lr +_020036BE: + ldrh r0, [r2, #0x4] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + bne _020036F4 + lsl r0, r4, #0x10 + asr r1, r0, #0x10 + ldrh r0, [r2, #0x6] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + add r0, r1, r0 + lsl r0, r0, #0x10 + asr r4, r0, #0x10 + cmp r4, r3 + ble _020036DE + lsl r0, r3, #0x10 + asr r4, r0, #0x10 +_020036DE: + ldrh r1, [r2, #0x2] + ldr r0, _02003728 ; =0xFFFFF83F + and r1, r0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1b + lsr r0, r0, #0x15 + orr r0, r1 + strh r0, [r2, #0x2] + pop {r4-r5} + bx lr +_020036F4: + lsl r0, r4, #0x10 + asr r1, r0, #0x10 + ldrh r0, [r2, #0x6] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + sub r0, r1, r0 + lsl r0, r0, #0x10 + asr r4, r0, #0x10 + cmp r4, r3 + bge _0200370C + lsl r0, r3, #0x10 + asr r4, r0, #0x10 +_0200370C: + ldrh r1, [r2, #0x2] + ldr r0, _02003728 ; =0xFFFFF83F + and r1, r0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1b + lsr r0, r0, #0x15 + orr r0, r1 + strh r0, [r2, #0x2] +_0200371E: + pop {r4-r5} + bx lr + nop +_02003724: .word 0xFFFF0003 +_02003728: .word 0xFFFFF83F + + thumb_func_start sub_0200372C +sub_0200372C: ; 0x0200372C + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, _020038DC ; =0x0000011A + ldrh r1, [r6, r0] + lsl r1, r1, #0x10 + lsr r1, r1, #0x1f + bne _02003748 + sub r0, r0, #0x2 + ldrh r0, [r6, r0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + cmp r0, #0x1 + beq _02003748 + b _020038DA +_02003748: + mov r7, #0x2 + mov r5, #0x0 + add r4, r6, #0x0 + lsl r7, r7, #0xc +_02003750: + ldr r0, _020038DC ; =0x0000011A + ldrh r1, [r6, r0] + lsl r0, r1, #0x10 + lsr r0, r0, #0x1f + bne _02003770 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0200377C + lsl r0, r1, #0x12 + lsl r1, r5, #0x10 + lsr r0, r0, #0x12 + lsr r1, r1, #0x10 + bl sub_02003314 + cmp r0, #0x0 + beq _0200377C +_02003770: + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + blx sub_020CC15C + cmp r5, #0xd + bls _0200377E +_0200377C: + b _020038A4 +_0200377E: + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0 + lsl r6, r4, #0 + lsl r2, r6, #0 + lsl r6, r7, #0 + lsl r2, r1, #0x1 + lsl r6, r3, #0x1 + lsl r2, r6, #0x1 + lsl r0, r1, #0x2 + lsl r6, r3, #0x2 + lsl r2, r6, #0x2 + lsl r6, r0, #0x3 + lsl r4, r3, #0x3 + lsl r2, r6, #0x3 + lsl r6, r0, #0x4 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx sub_020C9550 + b _020038A4 +_020037B2: + .byte 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x96, 0xEE, 0x72, 0xE0, 0x60, 0x68 + .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5C, 0xEE, 0x6C, 0xE0, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21 + .byte 0xC5, 0xF0, 0x22, 0xEE, 0x66, 0xE0, 0xC5, 0xF0, 0x9C, 0xE9, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21 + .byte 0xC5, 0xF0, 0x56, 0xE9, 0xC5, 0xF0, 0x22, 0xE9, 0x5C, 0xE0, 0xC5, 0xF0, 0x92, 0xE9, 0x60, 0x68 + .byte 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x4C, 0xE9, 0xC5, 0xF0, 0x18, 0xE9, 0x52, 0xE0, 0xC5, 0xF0 + .byte 0x88, 0xE9, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC5, 0xF0, 0x42, 0xE9, 0xC5, 0xF0 + .byte 0x0E, 0xE9, 0x47, 0xE0, 0xC5, 0xF0, 0x7C, 0xE9, 0x06, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x09, 0x03 + .byte 0xC5, 0xF0, 0x36, 0xE9, 0xC5, 0xF0, 0x02, 0xE9, 0x3C, 0xE0, 0xC5, 0xF0, 0x50, 0xE8, 0x60, 0x68 + .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x10, 0xE8, 0xC4, 0xF0, 0xE8, 0xEF, 0x32, 0xE0, 0xC5, 0xF0 + .byte 0x46, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x06, 0xE8, 0xC4, 0xF0, 0xDE, 0xEF + .byte 0x28, 0xE0, 0xC5, 0xF0, 0x3C, 0xE8, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC4, 0xF0 + .byte 0xFC, 0xEF, 0xC4, 0xF0, 0xD4, 0xEF, 0x1D, 0xE0, 0xC5, 0xF0, 0x30, 0xE8, 0x06, 0x21, 0x60, 0x68 + .byte 0xA2, 0x68, 0x09, 0x03, 0xC4, 0xF0, 0xF0, 0xEF, 0xC4, 0xF0, 0xC8, 0xEF, 0x12, 0xE0, 0xC5, 0xF0 + .byte 0x9E, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5E, 0xE8, 0xC5, 0xF0, 0x30, 0xE8 + .byte 0x08, 0xE0, 0xC4, 0xF0, 0xAA, 0xEF, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC4, 0xF0, 0x6A, 0xEF + .byte 0xC4, 0xF0, 0x42, 0xEF +_020038A4: + add r5, r5, #0x1 + add r4, #0x14 + cmp r5, #0xe + bge _020038AE + b _02003750 +_020038AE: + ldr r3, _020038DC ; =0x0000011A + ldr r1, _020038E0 ; =0xFFFFC000 + sub r2, r3, #0x2 + ldrh r2, [r6, r2] + ldrh r0, [r6, r3] + lsl r2, r2, #0x10 + and r0, r1 + lsr r2, r2, #0x12 + lsr r1, r1, #0x12 + and r1, r2 + orr r0, r1 + strh r0, [r6, r3] + ldrh r0, [r6, r3] + lsl r0, r0, #0x12 + lsr r0, r0, #0x12 + bne _020038DA + sub r0, r3, #0x2 + ldrh r1, [r6, r0] + mov r0, #0x3 + bic r1, r0 + sub r0, r3, #0x2 + strh r1, [r6, r0] +_020038DA: + pop {r3-r7, pc} + .balign 4 +_020038DC: .word 0x0000011A +_020038E0: .word 0xFFFFC000 + + thumb_func_start sub_020038E4 +sub_020038E4: ; 0x020038E4 + mov r1, #0x46 + lsl r1, r1, #0x2 + ldrh r0, [r0, r1] + lsl r0, r0, #0x10 + lsr r0, r0, #0x12 + bx lr + + thumb_func_start sub_020038F0 +sub_020038F0: ; 0x020038F0 + push {r3-r4} + ldr r3, _0200390C ; =0x0000011A + lsl r1, r1, #0x10 + ldrh r4, [r0, r3] + ldr r2, _02003910 ; =0xFFFF7FFF + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + and r2, r4 + lsr r1, r1, #0x10 + orr r1, r2 + strh r1, [r0, r3] + pop {r3-r4} + bx lr + nop +_0200390C: .word 0x0000011A +_02003910: .word 0xFFFF7FFF + + thumb_func_start sub_02003914 +sub_02003914: ; 0x02003914 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x14 + add r4, r1, #0x0 + mul r4, r0 + add r0, sp, #0x10 + ldrh r0, [r0, #0x14] + add r7, r2, #0x0 + ldr r5, [sp, #0x20] + str r0, [sp, #0x4] + lsl r1, r0, #0x1 + add r0, r6, r4 + ldr r0, [r0, #0x8] + cmp r1, r0 + bls _0200393A + bl sub_02020C2C +_0200393A: + sub r0, r7, #0x1 + cmp r0, #0x1 + bhi _02003952 + ldr r2, [r6, r4] + lsl r1, r5, #0x1 + add r1, r2, r1 + ldr r2, [sp, #0x4] + ldr r0, [sp, #0x0] + sub r2, r2, r5 + lsl r2, r2, #0x1 + blx sub_020CE1C8 +_02003952: + cmp r7, #0x0 + beq _0200395A + cmp r7, #0x2 + bne _0200396E +_0200395A: + add r1, r6, r4 + ldr r2, [r1, #0x4] + lsl r1, r5, #0x1 + add r1, r2, r1 + ldr r2, [sp, #0x4] + ldr r0, [sp, #0x0] + sub r2, r2, r5 + lsl r2, r2, #0x1 + blx sub_020CE1C8 +_0200396E: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02003974 +sub_02003974: ; 0x02003974 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x10 + ldrh r0, [r0, #0x10] + str r1, [sp, #0x4] + add r7, r2, #0x0 + lsl r1, r0, #0x1b + lsr r1, r1, #0x1b + mov r12, r1 + lsl r1, r0, #0x16 + lsl r0, r0, #0x11 + lsr r1, r1, #0x1b + lsr r0, r0, #0x1b + mov r2, #0x0 + mov lr, r1 + str r0, [sp, #0x8] + cmp r7, #0x0 + bls _020039E2 +_0200399A: + ldr r0, [sp, #0x0] + lsl r6, r2, #0x1 + ldrh r4, [r0, r6] + lsl r0, r4, #0x1b + lsr r1, r0, #0x1b + lsl r0, r4, #0x16 + lsl r4, r4, #0x11 + lsr r5, r4, #0x1b + ldr r4, [sp, #0x8] + lsr r0, r0, #0x1b + sub r4, r4, r5 + mul r4, r3 + asr r4, r4, #0x4 + add r4, r5, r4 + lsl r5, r4, #0xa + mov r4, r12 + sub r4, r4, r1 + mul r4, r3 + asr r4, r4, #0x4 + add r1, r1, r4 + mov r4, lr + sub r4, r4, r0 + mul r4, r3 + asr r4, r4, #0x4 + add r0, r0, r4 + lsl r0, r0, #0x5 + orr r0, r1 + add r1, r5, #0x0 + orr r1, r0 + ldr r0, [sp, #0x4] + strh r1, [r0, r6] + add r0, r2, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + cmp r2, r7 + blo _0200399A +_020039E2: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020039E8 +sub_020039E8: ; 0x020039E8 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r2, #0x0 + add r5, r0, #0x0 + mov r2, #0x14 + add r6, r1, #0x0 + mul r6, r2 + str r3, [sp, #0x4] + ldr r1, [r5, r6] + mov r0, #0x0 + add r4, r5, r6 + cmp r1, #0x0 + beq _02003A0A + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _02003A0A + mov r0, #0x1 +_02003A0A: + cmp r0, #0x0 + bne _02003A12 + bl sub_02020C2C +_02003A12: + add r3, sp, #0x10 + ldrh r0, [r3, #0x14] + add r2, r5, r6 + lsl r1, r7, #0x1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, [r2, #0x4] + add r0, r0, r1 + add r1, r2, r1 + ldrb r3, [r3, #0x10] + ldr r2, [sp, #0x4] + bl sub_02003974 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02003A30 +sub_02003A30: ; 0x02003A30 + push {r3-r7, lr} + sub sp, #0x8 + str r3, [sp, #0x4] + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + ldr r7, [sp, #0x20] + beq _02003A60 +_02003A40: + mov r0, #0x1 + tst r0, r4 + beq _02003A54 + str r7, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x10 + bl sub_02003974 +_02003A54: + lsl r0, r4, #0xf + lsr r4, r0, #0x10 + add r6, #0x20 + add r5, #0x20 + cmp r4, #0x0 + bne _02003A40 +_02003A60: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02003A64 +sub_02003A64: ; 0x02003A64 + push {r4-r7, lr} + sub sp, #0xc + str r3, [sp, #0x8] + add r6, r0, #0x0 + add r7, r1, #0x0 + ldr r0, [sp, #0x20] + add r5, r2, #0x0 + mov r1, #0x14 + add r2, r7, #0x0 + str r0, [sp, #0x20] + mul r2, r1 + mov r4, #0x0 + ldr r1, [r6, r2] + add r0, r4, #0x0 + cmp r1, #0x0 + beq _02003A8E + add r1, r6, r2 + ldr r1, [r1, #0x4] + cmp r1, #0x0 + beq _02003A8E + mov r0, #0x1 +_02003A8E: + cmp r0, #0x0 + bne _02003A96 + bl sub_02020C2C +_02003A96: + cmp r5, #0x0 + beq _02003AC0 +_02003A9A: + mov r0, #0x1 + tst r0, r5 + beq _02003AB6 + ldr r0, [sp, #0x8] + lsl r2, r4, #0x10 + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + add r1, r7, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x10 + bl sub_020039E8 +_02003AB6: + lsl r0, r5, #0xf + lsr r5, r0, #0x10 + add r4, #0x10 + cmp r5, #0x0 + bne _02003A9A +_02003AC0: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02003AC4 +sub_02003AC4: ; 0x02003AC4 + push {r3-r7, lr} + mov lr, r1 + mov r12, r2 + add r7, r3, #0x0 + mov r4, #0x0 + cmp r1, #0x0 + ble _02003B3C + ldr r6, [sp, #0x18] +_02003AD4: + ldrh r3, [r0, #0x0] + mov r1, #0x1f + add r2, r3, #0x0 + asr r5, r3, #0xa + and r2, r1 + and r5, r1 + mov r1, #0x1d + mul r1, r5 + mov r5, #0x4c + mul r5, r2 + asr r3, r3, #0x5 + mov r2, #0x1f + and r3, r2 + mov r2, #0x97 + mul r2, r3 + add r2, r5, r2 + add r1, r1, r2 + asr r3, r1, #0x8 + mov r1, r12 + add r2, r1, #0x0 + mul r2, r3 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + asr r2, r1, #0x8 + add r1, r7, #0x0 + mul r1, r3 + mul r3, r6 + lsl r1, r1, #0x10 + lsl r3, r3, #0x10 + lsr r1, r1, #0x10 + lsr r3, r3, #0x10 + asr r1, r1, #0x8 + asr r3, r3, #0x8 + cmp r2, #0x1f + ble _02003B1C + mov r2, #0x1f +_02003B1C: + cmp r1, #0x1f + ble _02003B22 + mov r1, #0x1f +_02003B22: + cmp r3, #0x1f + ble _02003B28 + mov r3, #0x1f +_02003B28: + lsl r3, r3, #0xa + lsl r1, r1, #0x5 + orr r1, r3 + orr r1, r2 + strh r1, [r0, #0x0] + add r4, r4, #0x1 + mov r1, lr + add r0, r0, #0x2 + cmp r4, r1 + blt _02003AD4 +_02003B3C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02003B40 +sub_02003B40: ; 0x02003B40 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, sp, #0x4 + bl sub_02006C08 + add r4, r0, #0x0 + bne _02003B58 + bl sub_02020C2C +_02003B58: + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + bne _02003B64 + ldr r0, [sp, #0x4] + ldr r0, [r0, #0x8] + str r0, [sp, #0x1c] +_02003B64: + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x24] + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x28] + ldr r0, [r0, #0xc] + mov r1, #0x10 + bl sub_02003AC4 + ldr r0, [sp, #0x1c] + add r3, sp, #0x8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldrh r3, [r3, #0x18] + ldr r1, [r1, #0xc] + ldr r2, [sp, #0x18] + add r0, r5, #0x0 + bl sub_02003054 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_02003B98 +sub_02003B98: ; 0x02003B98 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_02003D30 + add r4, r0, #0x0 + blx sub_020C01D0 + bl sub_020040C8 + add r0, r4, #0x0 + bl sub_02004064 + add r0, r4, #0x0 + ldr r1, _02003C00 ; =0x000BBC00 + add r0, #0x94 + blx sub_020C2A94 + add r1, r4, #0x0 + add r1, #0x90 + str r0, [r1, #0x0] + add r2, r4, #0x0 + add r2, #0x90 + ldr r1, _02003C04 ; =0x02104780 + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + blx sub_020C26F8 + add r0, r4, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + blx sub_020C39CC + add r0, r4, #0x0 + bl sub_02004088 + add r0, r4, #0x0 + bl sub_020040A4 + ldr r0, _02003C08 ; =0x02107070 + mov r1, #0x0 + str r1, [r0, #0x4] + ldr r0, _02003C0C ; =0x000BCD4C + str r5, [r4, r0] + ldrh r0, [r6, #0x0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + bl sub_02004D60 + pop {r4-r6, pc} + nop +_02003C00: .word 0x000BBC00 +_02003C04: .word 0x02104780 +_02003C08: .word 0x02107070 +_02003C0C: .word 0x000BCD4C + + thumb_func_start sub_02003C10 +sub_02003C10: ; 0x02003C10 + push {r4, lr} + bl sub_02003D30 + add r4, r0, #0x0 + bl sub_02003D04 + cmp r0, #0x0 + bne _02003C30 + ldr r0, _02003C3C ; =0x000BCD00 + ldr r1, [r4, r0] + cmp r1, #0x0 + ble _02003C2C + sub r1, r1, #0x1 + str r1, [r4, r0] +_02003C2C: + bl sub_02003C40 +_02003C30: + bl sub_02005CFC + blx sub_020C01A0 + pop {r4, pc} + nop +_02003C3C: .word 0x000BCD00 + + thumb_func_start sub_02003C40 +sub_02003C40: ; 0x02003C40 + push {r4, lr} + bl sub_02003D30 + add r4, r0, #0x0 + ldr r0, _02003CDC ; =0x02107070 + ldr r0, [r0, #0x0] + cmp r0, #0x6 + bhi _02003CD8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r7, #0x1 + lsl r4, r1, #0 + lsl r2, r7, #0x1 + lsl r4, r2, #0 + lsl r4, r4, #0 + lsl r4, r6, #0 + lsl r2, r2, #0x1 + mov r0, #0x2 + bl sub_02003CE8 + pop {r4, pc} +_02003C72: + .byte 0x01, 0xF0, 0xC7, 0xFB, 0x00, 0x28, 0x2E, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x34, 0xF8 + .byte 0x10, 0xBD, 0x01, 0xF0, 0xBF, 0xFB, 0x00, 0x28, 0x26, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x2C, 0xF8 + .byte 0x10, 0xBD, 0x01, 0xF0, 0xB7, 0xFB, 0x00, 0x28, 0x1E, 0xD1, 0x01, 0xF0, 0x7B, 0xF8, 0x00, 0x28 + .byte 0x1A, 0xD1, 0x00, 0xF0, 0x1B, 0xFA, 0x0E, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xB7, 0xFA, 0x10, 0xBD + .byte 0x01, 0xF0, 0xA8, 0xFB, 0x00, 0x28, 0x0F, 0xD1, 0x01, 0xF0, 0x6C, 0xF8, 0x00, 0x28, 0x0B, 0xD1 + .byte 0x00, 0xF0, 0x0C, 0xFA, 0x06, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xA8, 0xFA, 0x05, 0x49, 0x7F, 0x20 + .byte 0x61, 0x58, 0x00, 0x22, 0x01, 0xF0, 0x5A, 0xFB +_02003CD8: + pop {r4, pc} + nop +_02003CDC: .word 0x02107070 +_02003CE0: + .byte 0x0E, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00 + + thumb_func_start sub_02003CE8 +sub_02003CE8: ; 0x02003CE8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + ldr r1, _02003CFC ; =0x000BCCFC + mov r2, #0x0 + strh r2, [r0, r1] + ldr r0, _02003D00 ; =0x02107070 + str r4, [r0, #0x0] + pop {r4, pc} + .balign 4 +_02003CFC: .word 0x000BCCFC +_02003D00: .word 0x02107070 + + thumb_func_start sub_02003D04 +sub_02003D04: ; 0x02003D04 + push {r4, lr} + bl sub_02003D30 + add r4, r0, #0x0 + mov r0, #0x2 + bl sub_020048BC + cmp r0, #0x0 + beq _02003D1A + mov r0, #0x1 + pop {r4, pc} +_02003D1A: + ldr r0, _02003D2C ; =0x000BCD12 + ldrh r0, [r4, r0] + cmp r0, #0x0 + beq _02003D26 + mov r0, #0x1 + pop {r4, pc} +_02003D26: + mov r0, #0x0 + pop {r4, pc} + nop +_02003D2C: .word 0x000BCD12 + + thumb_func_start sub_02003D30 +sub_02003D30: ; 0x02003D30 + ldr r0, _02003D34 ; =0x02107078 + bx lr + .balign 4 +_02003D34: .word 0x02107078 + + thumb_func_start sub_02003D38 +sub_02003D38: ; 0x02003D38 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + cmp r4, #0x27 + bls _02003D46 + b _02003E92 +_02003D46: + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r2, #0x1 + lsl r2, r3, #0x1 + lsl r0, r4, #0x1 + lsl r6, r4, #0x1 + lsl r4, r5, #0x1 + lsl r6, r1, #0x1 + lsl r2, r6, #0x1 + lsl r0, r7, #0x1 + lsl r6, r7, #0x1 + lsl r4, r0, #0x2 + lsl r2, r1, #0x2 + lsl r0, r2, #0x2 + lsl r6, r2, #0x2 + lsl r4, r3, #0x2 + lsl r2, r4, #0x2 + lsl r0, r5, #0x2 + lsl r6, r5, #0x2 + lsl r4, r6, #0x2 + lsl r2, r7, #0x2 + lsl r0, r0, #0x3 + lsl r6, r0, #0x3 + lsl r4, r1, #0x3 + lsl r2, r2, #0x3 + lsl r0, r3, #0x3 + lsl r6, r3, #0x3 + lsl r4, r4, #0x3 + lsl r2, r5, #0x3 + lsl r0, r6, #0x3 + lsl r6, r6, #0x3 + lsl r4, r7, #0x3 + lsl r2, r0, #0x4 + lsl r0, r1, #0x4 + lsl r6, r1, #0x4 + lsl r4, r2, #0x4 + lsl r2, r3, #0x4 + lsl r0, r4, #0x4 + lsl r6, r4, #0x4 + lsl r4, r5, #0x4 + lsl r2, r6, #0x4 + lsl r0, r7, #0x4 + ldr r1, _02003E9C ; =0x000BCCFE + add r0, r0, r1 + pop {r4, pc} +_02003DA8: + .byte 0x3D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3D, 0x49 + .byte 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD + .byte 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18 + .byte 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49 + .byte 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD + .byte 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18 + .byte 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49 + .byte 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD + .byte 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18 + .byte 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49 + .byte 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD + .byte 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18 + .byte 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49 + .byte 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD + .byte 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2A, 0x49, 0x40, 0x18 + .byte 0x10, 0xBD +_02003E92: + bl sub_02020C2C + mov r0, #0x0 + pop {r4, pc} + nop +_02003E9C: .word 0x000BCCFE +_02003EA0: + .byte 0xB8, 0xBC, 0x0B, 0x00, 0xBC, 0xBC, 0x0B, 0x00, 0xC0, 0xBC, 0x0B, 0x00, 0xE0, 0xBC, 0x0B, 0x00 + .byte 0xE0, 0xCC, 0x0B, 0x00, 0x00, 0xCD, 0x0B, 0x00, 0x04, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00 + .byte 0x0C, 0xCD, 0x0B, 0x00, 0x0E, 0xCD, 0x0B, 0x00, 0x10, 0xCD, 0x0B, 0x00, 0x11, 0xCD, 0x0B, 0x00 + .byte 0x12, 0xCD, 0x0B, 0x00, 0x14, 0xCD, 0x0B, 0x00, 0x15, 0xCD, 0x0B, 0x00, 0x16, 0xCD, 0x0B, 0x00 + .byte 0x17, 0xCD, 0x0B, 0x00, 0x18, 0xCD, 0x0B, 0x00, 0x19, 0xCD, 0x0B, 0x00, 0x1A, 0xCD, 0x0B, 0x00 + .byte 0x1B, 0xCD, 0x0B, 0x00, 0x1C, 0xCD, 0x0B, 0x00, 0x20, 0xCD, 0x0B, 0x00, 0x24, 0xCD, 0x0B, 0x00 + .byte 0x28, 0xCD, 0x0B, 0x00, 0x2C, 0xCD, 0x0B, 0x00, 0x30, 0xCD, 0x0B, 0x00, 0x34, 0xCD, 0x0B, 0x00 + .byte 0x38, 0xCD, 0x0B, 0x00, 0x39, 0xCD, 0x0B, 0x00, 0x3A, 0xCD, 0x0B, 0x00, 0x3C, 0xCD, 0x0B, 0x00 + .byte 0x40, 0xCD, 0x0B, 0x00, 0x48, 0xCD, 0x0B, 0x00, 0x4C, 0xCD, 0x0B, 0x00, 0x50, 0xCD, 0x0B, 0x00 + .byte 0x54, 0xCD, 0x0B, 0x00, 0x58, 0xCD, 0x0B, 0x00, 0x5C, 0xCD, 0x0B, 0x00 + + thumb_func_start sub_02003F3C +sub_02003F3C: ; 0x02003F3C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02003D30 + add r0, #0x90 + ldr r0, [r0, #0x0] + blx sub_020C290C + add r4, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _02003F5A + bl sub_02020C2C +_02003F5A: + cmp r5, #0x0 + beq _02003F60 + str r4, [r5, #0x0] +_02003F60: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02003F64 +sub_02003F64: ; 0x02003F64 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + add r0, #0x90 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + blx sub_020C2828 + pop {r4, pc} + + thumb_func_start sub_02003F78 +sub_02003F78: ; 0x02003F78 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + add r1, r0, #0x0 + add r1, #0x90 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + blx sub_020C36A8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02003F90 +sub_02003F90: ; 0x02003F90 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + add r1, r0, #0x0 + add r1, #0x90 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + blx sub_020C3674 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02003FA8 +sub_02003FA8: ; 0x02003FA8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02003D30 + add r2, r0, #0x0 + add r2, #0x90 + ldr r2, [r2, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020C35E0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02003FC4 +sub_02003FC4: ; 0x02003FC4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + add r1, r0, #0x0 + add r1, #0x90 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + blx sub_020C360C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02003FDC +sub_02003FDC: ; 0x02003FDC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + add r1, r0, #0x0 + add r1, #0x90 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + blx sub_020C3640 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02003FF4 +sub_02003FF4: ; 0x02003FF4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02003D30 + add r4, r0, #0x0 + cmp r5, #0x9 + blt _02004008 + bl sub_02020C2C + mov r5, #0x0 +_02004008: + ldr r0, _02004014 ; =0x000BBC94 + add r1, r4, r0 + lsl r0, r5, #0x2 + add r0, r1, r0 + pop {r3-r5, pc} + nop +_02004014: .word 0x000BBC94 + + thumb_func_start sub_02004018 +sub_02004018: ; 0x02004018 + push {r3, lr} + cmp r0, #0x7 + bhi _0200405A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + mov r0, #0x0 + pop {r3, pc} +_0200403E: + .byte 0x01, 0x20 + .byte 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x05, 0x20 + .byte 0x08, 0xBD, 0x06, 0x20, 0x08, 0xBD, 0x07, 0x20, 0x08, 0xBD +_0200405A: + bl sub_02020C2C + mov r0, #0x3 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004064 +sub_02004064: ; 0x02004064 + push {r4, lr} + ldr r2, _02004080 ; =0x000BCD60 + mov r1, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, _02004084 ; =0x000BCD1C + mov r1, #0x0 +_02004074: + add r1, r1, #0x1 + str r1, [r4, r0] + add r4, r4, #0x4 + cmp r1, #0x7 + blt _02004074 + pop {r4, pc} + .balign 4 +_02004080: .word 0x000BCD60 +_02004084: .word 0x000BCD1C + + thumb_func_start sub_02004088 +sub_02004088: ; 0x02004088 + push {r3-r5, lr} + ldr r1, _020040A0 ; =0x000BBC94 + mov r4, #0x0 + add r5, r0, r1 +_02004090: + add r0, r5, #0x0 + blx sub_020C0F80 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x9 + blt _02004090 + pop {r3-r5, pc} + .balign 4 +_020040A0: .word 0x000BBC94 + + thumb_func_start sub_020040A4 +sub_020040A4: ; 0x020040A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020040C0 ; =0x000BCD1C + add r0, r4, r0 + bl sub_02003F3C + mov r0, #0x0 + bl sub_02003F78 + ldr r0, _020040C4 ; =0x000BCD20 + add r0, r4, r0 + bl sub_02003F3C + pop {r4, pc} + .balign 4 +_020040C0: .word 0x000BCD1C +_020040C4: .word 0x000BCD20 + + thumb_func_start sub_020040C8 +sub_020040C8: ; 0x020040C8 + push {r3, lr} + blx sub_020D4A5C + mov r0, #0x1 + blx sub_020D5168 + mov r0, #0x2 + blx sub_020D5150 + pop {r3, pc} + + thumb_func_start sub_020040DC +sub_020040DC: ; 0x020040DC + push {r3, lr} + mov r0, #0x7 + mov r1, #0x0 + blx sub_020C1040 + mov r0, #0x7 + bl sub_02003FF4 + blx sub_020C0F68 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020040F4 +sub_020040F4: ; 0x020040F4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x5 + bl sub_02003D38 + strb r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004104 +sub_02004104: ; 0x02004104 + push {r3, lr} + mov r0, #0x5 + bl sub_02003D38 + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02004110 +sub_02004110: ; 0x02004110 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x9 + bl sub_02003D38 + strh r4, [r0, #0x0] + mov r0, #0x0 + bl sub_02004130 + pop {r4, pc} + + thumb_func_start sub_02004124 +sub_02004124: ; 0x02004124 + push {r3, lr} + mov r0, #0x9 + bl sub_02003D38 + ldrh r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02004130 +sub_02004130: ; 0x02004130 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xa + bl sub_02003D38 + strh r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004140 +sub_02004140: ; 0x02004140 + push {r3, lr} + mov r0, #0xa + bl sub_02003D38 + ldrh r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0200414C +sub_0200414C: ; 0x0200414C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1f + bl sub_02003D38 + strh r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200415C +sub_0200415C: ; 0x0200415C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x14 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x15 + bl sub_02003D38 + cmp r5, #0x33 + bhs _0200417A + strb r5, [r4, #0x0] + mov r1, #0x0 + strb r1, [r0, #0x0] + pop {r3-r5, pc} +_0200417A: + strb r5, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02004180 +sub_02004180: ; 0x02004180 + push {r3, lr} + cmp r0, #0x39 + bgt _020041DE + blt _0200418A + b _020042C8 +_0200418A: + cmp r0, #0x35 + bgt _020041CC + blt _02004192 + b _0200429A +_02004192: + cmp r0, #0x33 + bgt _020041C6 + bge _0200427C + cmp r0, #0xe + bhi _020041CA + add r2, r0, r0 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r0, #0x6 + lsl r0, r7, #0x1 + lsl r2, r0, #0x2 + lsl r4, r1, #0x2 + lsl r6, r2, #0x2 + lsl r0, r4, #0x2 + lsl r4, r6, #0x2 + lsl r0, r6, #0x3 + lsl r6, r7, #0x2 + lsl r0, r7, #0x1 + lsl r0, r7, #0x1 + lsl r2, r5, #0x2 + lsl r0, r1, #0x3 + lsl r2, r0, #0x2 + lsl r0, r7, #0x1 +_020041C6: + cmp r0, #0x34 + beq _02004290 +_020041CA: + b _0200432C +_020041CC: + cmp r0, #0x37 + bgt _020041D8 + bge _020042AE + cmp r0, #0x36 + beq _020042A4 + b _0200432C +_020041D8: + cmp r0, #0x38 + beq _020042BE + b _0200432C +_020041DE: + cmp r0, #0x3d + bgt _020041F8 + blt _020041E6 + b _020042F0 +_020041E6: + cmp r0, #0x3b + bgt _020041F2 + bge _020042DC + cmp r0, #0x3a + beq _020042D2 + b _0200432C +_020041F2: + cmp r0, #0x3c + beq _020042E6 + b _0200432C +_020041F8: + cmp r0, #0x3f + bgt _02004206 + blt _02004200 + b _02004304 +_02004200: + cmp r0, #0x3e + beq _020042FA + b _0200432C +_02004206: + sub r0, #0x40 + cmp r0, #0x3 + bls _0200420E + b _0200432C +_0200420E: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r6, #0x3 + lsl r2, r0, #0x4 + lsl r2, r5, #0x1 + lsl r2, r2, #0x2 + mov r0, #0x1 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_0200422C: + .byte 0x02, 0x20, 0xFF, 0xF7 + .byte 0xA3, 0xFE, 0x01, 0x1C, 0x7A, 0xE0, 0x0D, 0x20, 0xFF, 0xF7, 0x9E, 0xFE, 0x01, 0x1C, 0x75, 0xE0 + .byte 0x01, 0x20, 0xFF, 0xF7, 0x99, 0xFE, 0x01, 0x1C, 0x70, 0xE0, 0x02, 0x20, 0xFF, 0xF7, 0x94, 0xFE + .byte 0x01, 0x1C, 0x6B, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x8F, 0xFE, 0x01, 0x1C, 0x66, 0xE0, 0x0B, 0x20 + .byte 0xFF, 0xF7, 0x8A, 0xFE, 0x01, 0x1C, 0x61, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x85, 0xFE, 0x01, 0x1C + .byte 0x5C, 0xE0, 0x0E, 0x20, 0xFF, 0xF7, 0x80, 0xFE, 0x01, 0x1C, 0x57, 0xE0 +_0200427C: + mov r0, #0x3 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004286: + .byte 0x06, 0x20, 0xFF, 0xF7, 0x76, 0xFE, 0x01, 0x1C, 0x4D, 0xE0 +_02004290: + mov r0, #0x5 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_0200429A: + mov r0, #0x9 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042A4: + mov r0, #0xa + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042AE: + ldr r0, _02004330 ; =0x000005E5 + bl sub_02003FDC + ldr r0, _02004330 ; =0x000005E5 + bl sub_02003FC4 + add r1, r0, #0x0 + b _0200432C +_020042BE: + mov r0, #0xc + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042C8: + mov r0, #0x7 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042D2: + mov r0, #0x8 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042DC: + mov r0, #0xf + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042E6: + mov r0, #0x3 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042F0: + mov r0, #0x5 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_020042FA: + mov r0, #0xf + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004304: + mov r0, #0x4 + bl sub_02003F78 + add r1, r0, #0x0 + b _0200432C +_0200430E: + .byte 0x09, 0x48 + .byte 0xFF, 0xF7, 0x64, 0xFE, 0x07, 0x48, 0xFF, 0xF7, 0x55, 0xFE, 0x01, 0x1C, 0x06, 0xE0, 0x06, 0x48 + .byte 0xFF, 0xF7, 0x5C, 0xFE, 0x04, 0x48, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x1C +_0200432C: + add r0, r1, #0x0 + pop {r3, pc} + .balign 4 +_02004330: .word 0x000005E5 +_02004334: + .byte 0xED, 0x05, 0x00, 0x00, 0xEC, 0x05, 0x00, 0x00 + + thumb_func_start sub_0200433C +sub_0200433C: ; 0x0200433C + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + mov r0, #0x14 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_02003D38 + str r0, [sp, #0x0] + mov r0, #0x15 + bl sub_02003D38 + str r0, [sp, #0x4] + mov r0, #0xd + bl sub_02003D38 + add r7, r0, #0x0 + cmp r4, #0x33 + bhs _02004370 + ldr r0, [sp, #0x0] + ldrb r0, [r0, #0x0] + cmp r0, r4 + bne _0200437E + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_02004370: + ldr r0, [sp, #0x4] + ldrb r0, [r0, #0x0] + cmp r0, r4 + bne _0200437E + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0200437E: + add r0, r4, #0x0 + bl sub_0200415C + cmp r4, #0x39 + bgt _020043DC + bge _02004458 + cmp r4, #0x35 + bgt _020043CA + bge _02004458 + cmp r4, #0x33 + bgt _020043C4 + bge _02004458 + cmp r4, #0xe + bhi _020043C8 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r7, #0x3 + lsl r0, r7, #0x2 + lsl r4, r3, #0x3 + lsl r6, r5, #0x3 + lsl r4, r6, #0x1 + lsl r0, r1, #0x2 + lsl r4, r3, #0x2 + lsl r6, r4, #0x2 + lsl r6, r5, #0x3 + lsl r6, r5, #0x3 + lsl r6, r5, #0x3 + lsl r2, r2, #0x2 + lsl r6, r5, #0x3 + lsl r6, r5, #0x3 + lsl r2, r1, #0x3 +_020043C4: + cmp r4, #0x34 + beq _02004458 +_020043C8: + b _020044A0 +_020043CA: + cmp r4, #0x37 + bgt _020043D6 + bge _02004458 + cmp r4, #0x36 + beq _02004458 + b _020044A0 +_020043D6: + cmp r4, #0x38 + beq _02004458 + b _020044A0 +_020043DC: + cmp r4, #0x3d + bgt _020043F4 + bge _02004458 + cmp r4, #0x3b + bgt _020043EE + bge _02004458 + cmp r4, #0x3a + beq _02004458 + b _020044A0 +_020043EE: + cmp r4, #0x3c + beq _02004458 + b _020044A0 +_020043F4: + cmp r4, #0x3f + bgt _02004400 + bge _02004458 + cmp r4, #0x3e + beq _02004458 + b _020044A0 +_02004400: + add r0, r4, #0x0 + sub r0, #0x40 + cmp r0, #0x3 + bhi _020044A0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r0, #0x1 + lsl r2, r0, #0x1 + lsl r2, r0, #0x1 + lsl r2, r0, #0x1 + mov r0, #0x0 + bl sub_0200516C + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020044D4 + mov r0, #0x0 + strh r0, [r7, #0x0] + b _020044A0 +_02004430: + .byte 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x08, 0xF9, 0x32, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0 + .byte 0x1F, 0xF9, 0x2D, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x2A, 0xF9, 0x28, 0xE0, 0x28, 0x1C + .byte 0x31, 0x1C, 0x00, 0xF0, 0x37, 0xF9, 0x23, 0xE0 +_02004458: + add r0, r4, #0x0 + bl sub_020046E8 + b _020044A0 +_02004460: + .byte 0x01, 0x20, 0x00, 0xF0, 0x83, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x4A, 0xF9 + .byte 0x16, 0xE0, 0x02, 0x20, 0x00, 0xF0, 0x7A, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0 + .byte 0x41, 0xF9, 0x0D, 0xE0, 0x00, 0x20, 0x00, 0xF0, 0x71, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C + .byte 0x00, 0xF0, 0x38, 0xF9, 0x04, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x32, 0xF9 +_020044A0: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020044A8 +sub_020044A8: ; 0x020044A8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + ldr r0, [r0, #0x0] + bl sub_02003F64 + mov r0, #0x18 + bl sub_02003D38 + bl sub_02003F3C + add r0, r4, #0x0 + bl sub_02004180 + mov r0, #0x19 + bl sub_02003D38 + bl sub_02003F3C + pop {r4, pc} + + thumb_func_start sub_020044D4 +sub_020044D4: ; 0x020044D4 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0xb + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + mov r0, #0x1f + bl sub_02003D38 + mov r0, #0x0 + bl sub_02003FF4 + bl sub_020048EC + add r4, r0, #0x0 + ldrb r0, [r6, #0x0] + cmp r0, #0x0 + bne _0200450E + cmp r4, r5 + bne _0200450E + bl sub_02004140 + mov r1, #0x12 + lsl r1, r1, #0x6 + cmp r0, r1 + bne _02004566 +_0200450E: + mov r0, #0x1 + bl sub_02004DBC + bl sub_02005454 + cmp r4, r5 + beq _02004528 + mov r0, #0x1 + mov r1, #0x0 + bl sub_020047C8 + bl sub_0200541C +_02004528: + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + bne _02004560 + mov r0, #0x2 + bl sub_02004748 + bl sub_02003F64 + mov r0, #0x4 + bl sub_02004180 + mov r0, #0x19 + bl sub_02003D38 + bl sub_02003F3C + cmp r4, r5 + beq _02004554 + mov r0, #0x1 + mov r1, #0x0 + bl sub_020047C8 +_02004554: + lsl r1, r4, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_02004568 + pop {r4-r6, pc} +_02004560: + add r0, r5, #0x0 + bl sub_0200521C +_02004566: + pop {r4-r6, pc} + + thumb_func_start sub_02004568 +sub_02004568: ; 0x02004568 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x1f + bl sub_02003D38 + add r4, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_02004900 + ldr r1, _020045C0 ; =0x000003E9 + cmp r0, r1 + beq _02004594 + add r1, r1, #0x2 + cmp r0, r1 + beq _02004594 + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02003FA8 + bl sub_02020C2C + b _0200459C +_02004594: + ldrh r0, [r4, #0x0] + mov r1, #0x6 + bl sub_02003FA8 +_0200459C: + mov r0, #0x1a + bl sub_02003D38 + bl sub_02003F3C + mov r0, #0x1 + mov r1, #0x0 + bl sub_020047C8 + mov r0, #0x7f + mov r1, #0x28 + mov r2, #0x0 + bl sub_0200538C + mov r0, #0x0 + bl sub_02004DBC + pop {r3-r5, pc} + .balign 4 +_020045C0: .word 0x000003E9 + + thumb_func_start sub_020045C4 +sub_020045C4: ; 0x020045C4 + push {r3-r7, lr} + add r7, r0, #0x0 + mov r0, #0x12 + add r5, r1, #0x0 + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x1f + bl sub_02003D38 + add r4, r0, #0x0 + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + beq _020045E4 + cmp r5, #0x0 + bne _02004642 +_020045E4: + mov r0, #0x1 + bl sub_02004748 + bl sub_02003F64 + ldrh r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02003FA8 + mov r0, #0x18 + bl sub_02003D38 + bl sub_02003F3C + mov r0, #0x4 + bl sub_02004180 + mov r0, #0x19 + bl sub_02003D38 + bl sub_02003F3C + ldrh r0, [r4, #0x0] + bl sub_02004900 + ldr r1, _02004644 ; =0x000003E9 + cmp r0, r1 + beq _02004630 + add r1, r1, #0x2 + cmp r0, r1 + beq _02004630 + add r0, r7, #0x0 + mov r1, #0x4 + bl sub_02003FA8 + bl sub_02020C2C + b _02004638 +_02004630: + ldrh r0, [r4, #0x0] + mov r1, #0x4 + bl sub_02003FA8 +_02004638: + mov r0, #0x1a + bl sub_02003D38 + bl sub_02003F3C +_02004642: + pop {r3-r7, pc} + .balign 4 +_02004644: .word 0x000003E9 + + thumb_func_start sub_02004648 +sub_02004648: ; 0x02004648 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + bl sub_020051AC + mov r0, #0x2 + bl sub_02004748 + bl sub_02003F64 + mov r0, #0x5 + bl sub_02004180 + mov r0, #0x19 + bl sub_02003D38 + bl sub_02003F3C + mov r0, #0x1 + bl sub_02004DBC + add r0, r4, #0x0 + bl sub_0200521C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004680 +sub_02004680: ; 0x02004680 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + bl sub_0200541C + bl sub_02004810 + mov r0, #0x4 + bl sub_020044A8 + add r0, r4, #0x0 + bl sub_0200521C + pop {r4, pc} + + thumb_func_start sub_020046A0 +sub_020046A0: ; 0x020046A0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + bl sub_0200541C + mov r0, #0x6 + bl sub_020044A8 + mov r0, #0x1 + bl sub_02004DBC + add r0, r4, #0x0 + bl sub_0200521C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020046C4 +sub_020046C4: ; 0x020046C4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x17 + bl sub_02003D38 + bl sub_0200541C + mov r0, #0x7 + bl sub_020044A8 + mov r0, #0x1 + bl sub_02004DBC + add r0, r4, #0x0 + bl sub_0200521C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020046E8 +sub_020046E8: ; 0x020046E8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02004738 + add r0, r4, #0x0 + bl sub_02004180 + mov r0, #0x1b + bl sub_02003D38 + bl sub_02003F3C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004704 +sub_02004704: ; 0x02004704 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x17 + add r4, r1, #0x0 + bl sub_02003D38 + bl sub_0200541C + add r0, r5, #0x0 + bl sub_020044A8 + add r0, r4, #0x0 + bl sub_0200521C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02004724 +sub_02004724: ; 0x02004724 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02003D30 + bl sub_020051AC + add r0, r4, #0x0 + bl sub_0200521C + pop {r4, pc} + + thumb_func_start sub_02004738 +sub_02004738: ; 0x02004738 + push {r3, lr} + mov r0, #0x4 + bl sub_02004748 + bl sub_02003F64 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004748 +sub_02004748: ; 0x02004748 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02003D30 + cmp r4, #0x7 + blt _02004762 + bl sub_02020C2C + mov r0, #0x1a + bl sub_02003D38 + ldr r0, [r0, #0x0] + pop {r3-r5, pc} +_02004762: + cmp r4, #0x6 + bhi _020047C4 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r6, r2, #0 + lsl r0, r4, #0 + lsl r2, r5, #0 + lsl r4, r6, #0 + lsl r6, r7, #0 + lsl r0, r1, #0x1 + mov r0, #0x16 + bl sub_02003D38 + add r5, r0, #0x0 + b _020047C4 +_0200478A: + .byte 0x17, 0x20, 0xFF, 0xF7, 0xD4, 0xFA + .byte 0x05, 0x1C, 0x17, 0xE0, 0x18, 0x20, 0xFF, 0xF7, 0xCF, 0xFA, 0x05, 0x1C, 0x12, 0xE0, 0x19, 0x20 + .byte 0xFF, 0xF7, 0xCA, 0xFA, 0x05, 0x1C, 0x0D, 0xE0, 0x1A, 0x20, 0xFF, 0xF7, 0xC5, 0xFA, 0x05, 0x1C + .byte 0x08, 0xE0, 0x1B, 0x20, 0xFF, 0xF7, 0xC0, 0xFA, 0x05, 0x1C, 0x03, 0xE0, 0x1C, 0x20, 0xFF, 0xF7 + .byte 0xBB, 0xFA, 0x05, 0x1C +_020047C4: + ldr r0, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_020047C8 +sub_020047C8: ; 0x020047C8 + push {r4-r6, lr} + add r5, r1, #0x0 + cmp r0, #0x1 + bne _020047DC + mov r0, #0xb + bl sub_02003D38 + add r6, r0, #0x0 + mov r4, #0x0 + b _020047EA +_020047DC: + cmp r0, #0x7 + bne _0200480E + mov r0, #0xc + bl sub_02003D38 + add r6, r0, #0x0 + mov r4, #0x7 +_020047EA: + cmp r5, #0x0 + bne _02004800 + add r0, r4, #0x0 + bl sub_02003FF4 + bl sub_020048EC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02004110 +_02004800: + add r0, r4, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C0F8C + strb r5, [r6, #0x0] +_0200480E: + pop {r4-r6, pc} + + thumb_func_start sub_02004810 +sub_02004810: ; 0x02004810 + push {r4, lr} + mov r0, #0xb + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0xc + bl sub_02003D38 + mov r1, #0x0 + strb r1, [r4, #0x0] + strb r1, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_02004828 +sub_02004828: ; 0x02004828 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020C0EF4 + pop {r3-r5, pc} + + thumb_func_start sub_0200483C +sub_0200483C: ; 0x0200483C + push {r4, lr} + add r4, r1, #0x0 + bpl _02004844 + mov r4, #0x0 +_02004844: + cmp r4, #0x7f + ble _0200484A + mov r4, #0x7f +_0200484A: + bl sub_02003FF4 + add r1, r4, #0x0 + blx sub_020C0F30 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004858 +sub_02004858: ; 0x02004858 + push {r3-r5, lr} + add r5, r1, #0x0 + blx sub_020C23FC + cmp r5, #0x1 + beq _02004868 + cmp r5, #0x8 + bne _0200486C +_02004868: + mov r4, #0x7f + b _02004872 +_0200486C: + cmp r0, #0x0 + beq _0200488A + ldrb r4, [r0, #0x2] +_02004872: + bl sub_020313EC + cmp r0, #0x1 + bne _0200488A + add r0, r4, #0x0 + mov r1, #0x5 + blx sub_020EBC80 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200483C +_0200488A: + pop {r3-r5, pc} + + thumb_func_start sub_0200488C +sub_0200488C: ; 0x0200488C + push {r4, lr} + add r4, r1, #0x0 + bl sub_020048D0 + bl sub_02004018 + add r1, r4, #0x0 + bl sub_0200483C + pop {r4, pc} + + thumb_func_start sub_020048A0 +sub_020048A0: ; 0x020048A0 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02003FF4 + mov r2, #0x0 + mvn r2, r2 + add r1, r5, #0x0 + add r3, r2, #0x0 + str r4, [sp, #0x0] + blx sub_020C3910 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020048BC +sub_020048BC: ; 0x020048BC + push {r4, lr} + add r4, r0, #0x0 + bpl _020048C6 + bl sub_02020C2C +_020048C6: + add r0, r4, #0x0 + blx sub_020C0F50 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020048D0 +sub_020048D0: ; 0x020048D0 + push {r3, lr} + cmp r0, #0x0 + bne _020048DA + mov r0, #0xff + pop {r3, pc} +_020048DA: + blx sub_020C23FC + cmp r0, #0x0 + bne _020048E6 + mov r0, #0xff + pop {r3, pc} +_020048E6: + ldrb r0, [r0, #0x5] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020048EC +sub_020048EC: ; 0x020048EC + ldr r3, _020048F0 ; =sub_020C0E14 + bx r3 + .balign 4 +_020048F0: .word sub_020C0E14 + + thumb_func_start sub_020048F4 +sub_020048F4: ; 0x020048F4 + push {r3, lr} + bl sub_02004900 + blx sub_020C22D0 + pop {r3, pc} + + thumb_func_start sub_02004900 +sub_02004900: ; 0x02004900 + push {r3, lr} + blx sub_020C23FC + cmp r0, #0x0 + bne _0200490E + mov r0, #0x0 + pop {r3, pc} +_0200490E: + ldrh r0, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004914 +sub_02004914: ; 0x02004914 + ldr r3, _02004918 ; =sub_020D47CC + bx r3 + .balign 4 +_02004918: .word sub_020D47CC + + thumb_func_start sub_0200491C +sub_0200491C: ; 0x0200491C + push {r3, lr} + bl sub_02003D30 + blx sub_020D4718 + pop {r3, pc} + + thumb_func_start sub_02004928 +sub_02004928: ; 0x02004928 + push {r3, lr} + blx sub_020D4980 + pop {r3, pc} + + thumb_func_start sub_02004930 +sub_02004930: ; 0x02004930 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02003D30 + mov r0, #0xf + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + cmp r5, #0xe + beq _02004954 + cmp r5, #0xf + beq _02004954 + bl sub_02020C2C +_02004954: + cmp r5, #0xe + bne _02004962 + ldrb r0, [r6, #0x0] + cmp r0, #0x0 + bne _02004962 + bl sub_02020C2C +_02004962: + cmp r5, #0xf + bne _02004970 + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _02004970 + bl sub_02020C2C +_02004970: + cmp r5, #0xe + bne _0200497C + mov r0, #0x0 + bl sub_02003D38 + pop {r4-r6, pc} +_0200497C: + mov r0, #0x1 + bl sub_02003D38 + pop {r4-r6, pc} + + thumb_func_start sub_02004984 +sub_02004984: ; 0x02004984 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02003D30 + mov r0, #0xf + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + cmp r5, #0xe + beq _020049A8 + cmp r5, #0xf + beq _020049A8 + bl sub_02020C2C +_020049A8: + cmp r5, #0xe + bne _020049D6 + ldrb r0, [r6, #0x0] + cmp r0, #0x0 + bne _020049D0 + mov r0, #0x0 + bl sub_02003D38 + add r4, r0, #0x0 + add r0, r5, #0x0 + blx sub_020C0688 + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _020049CA + mov r0, #0x0 + pop {r4-r6, pc} +_020049CA: + mov r0, #0x1 + strb r0, [r6, #0x0] + b _020049FE +_020049D0: + bl sub_02020C2C + b _020049FE +_020049D6: + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _020049FA + mov r0, #0x1 + bl sub_02003D38 + add r6, r0, #0x0 + add r0, r5, #0x0 + blx sub_020C0688 + str r0, [r6, #0x0] + cmp r0, #0x0 + bne _020049F4 + mov r0, #0x0 + pop {r4-r6, pc} +_020049F4: + mov r0, #0x1 + strb r0, [r4, #0x0] + b _020049FE +_020049FA: + bl sub_02020C2C +_020049FE: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02004A04 +sub_02004A04: ; 0x02004A04 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02003D30 + mov r0, #0xf + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + cmp r5, #0xe + beq _02004A2A + cmp r5, #0xf + beq _02004A2A + bl sub_02020C2C + pop {r4-r6, pc} +_02004A2A: + cmp r5, #0xe + bne _02004A4C + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + bne _02004A46 + add r0, r5, #0x0 + bl sub_02004930 + ldr r0, [r0, #0x0] + blx sub_020C0670 + mov r0, #0x0 + strb r0, [r6, #0x0] + pop {r4-r6, pc} +_02004A46: + bl sub_02020C2C + pop {r4-r6, pc} +_02004A4C: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _02004A64 + add r0, r5, #0x0 + bl sub_02004930 + ldr r0, [r0, #0x0] + blx sub_020C0670 + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r4-r6, pc} +_02004A64: + bl sub_02020C2C + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02004A6C +sub_02004A6C: ; 0x02004A6C + push {r3-r5, lr} + sub sp, #0x18 + add r3, r0, #0x0 + ldr r0, [r3, #0x10] + add r4, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r3, #0x14] + str r0, [sp, #0x4] + ldr r0, [r3, #0x18] + str r0, [sp, #0x8] + ldr r0, [r3, #0x1c] + str r0, [sp, #0xc] + ldr r0, [r3, #0x20] + str r0, [sp, #0x10] + ldr r0, [r3, #0x24] + str r0, [sp, #0x14] + ldr r0, [r3, #0x0] + ldr r1, [r3, #0x4] + ldr r2, [r3, #0x8] + ldr r0, [r0, #0x0] + ldr r3, [r3, #0xc] + blx sub_020C054C + add r5, r0, #0x0 + bne _02004AA4 + add r0, r4, #0x0 + bl sub_02004A04 +_02004AA4: + add r0, r5, #0x0 + add sp, #0x18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02004AAC +sub_02004AAC: ; 0x02004AAC + push {r3, lr} + bl sub_02004930 + ldr r0, [r0, #0x0] + blx sub_020C0510 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004ABC +sub_02004ABC: ; 0x02004ABC + push {r3, lr} + bl sub_02004930 + ldr r0, [r0, #0x0] + blx sub_020C03B8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004ACC +sub_02004ACC: ; 0x02004ACC + push {r4, lr} + add r4, r1, #0x0 + cmp r4, #0x7f + bls _02004AD6 + mov r4, #0x7f +_02004AD6: + bl sub_02004930 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + blx sub_020C041C + pop {r4, pc} + + thumb_func_start sub_02004AE4 +sub_02004AE4: ; 0x02004AE4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02004930 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + blx sub_020C044C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004AF8 +sub_02004AF8: ; 0x02004AF8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_020313EC + cmp r0, #0x1 + bne _02004B20 + add r0, r4, #0x0 + bl sub_02004930 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + blx sub_020EBC80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + blx sub_020C04DC + pop {r3-r5, pc} +_02004B20: + add r0, r4, #0x0 + bl sub_02004930 + ldr r0, [r0, #0x0] + add r1, r5, #0x0 + blx sub_020C04DC + pop {r3-r5, pc} + + thumb_func_start sub_02004B30 +sub_02004B30: ; 0x02004B30 + push {r3-r7, lr} + sub sp, #0x30 + add r6, r0, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r5, r3, #0x0 + bl sub_02003D30 + mov r0, #0x21 + bl sub_02003D38 + add r4, r0, #0x0 + cmp r5, #0xe + beq _02004B54 + cmp r5, #0xf + beq _02004B54 + bl sub_02020C2C +_02004B54: + add r0, r6, #0x0 + blx sub_020C226C + add r7, r0, #0x0 + bne _02004B68 + bl sub_02020C2C + add sp, #0x30 + mov r0, #0x0 + pop {r3-r7, pc} +_02004B68: + ldr r0, [r7, #0x0] + lsl r0, r0, #0x8 + lsr r0, r0, #0x8 + blx sub_020C217C + add r6, r0, #0x0 + bne _02004B80 + bl sub_02020C2C + add sp, #0x30 + mov r0, #0x0 + pop {r3-r7, pc} +_02004B80: + cmp r5, #0xe + bne _02004BCE + ldr r0, [sp, #0x48] + add r1, r6, #0x0 + bl sub_02016998 + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _02004B9C + bl sub_02020C2C + add sp, #0x30 + mov r0, #0x0 + pop {r3-r7, pc} +_02004B9C: + mov r1, #0x0 + add r2, r6, #0x0 + blx sub_020DF4A4 + ldr r0, [r7, #0x0] + ldr r1, [r4, #0x0] + lsl r0, r0, #0x8 + lsr r0, r0, #0x8 + add r2, r6, #0x0 + mov r3, #0x0 + blx sub_020C2104 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + bne _02004BC6 + bl sub_02020C2C + add sp, #0x30 + mov r0, #0x0 + pop {r3-r7, pc} +_02004BC6: + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + bl sub_02004C1C +_02004BCE: + add r0, r5, #0x0 + bl sub_02004930 + mov r1, #0x0 + str r1, [sp, #0xc] + str r0, [sp, #0x8] + ldr r0, [r4, #0x0] + str r0, [sp, #0x10] + ldr r0, _02004C18 ; =0x00003443 + str r1, [sp, #0x14] + str r0, [sp, #0x20] + ldr r0, [sp, #0x0] + str r1, [sp, #0x18] + str r0, [sp, #0x24] + mov r0, #0x6 + lsl r0, r0, #0xc + str r0, [sp, #0x28] + ldr r0, [sp, #0x4] + add r1, r5, #0x0 + str r0, [sp, #0x2c] + add r0, sp, #0x8 + str r6, [sp, #0x1c] + bl sub_02004A6C + add r4, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02004AF8 + mov r0, #0xe + bl sub_02003D38 + mov r1, #0x1 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_02004C18: .word 0x00003443 + + thumb_func_start sub_02004C1C +sub_02004C1C: ; 0x02004C1C + push {r3-r6} + mov r5, #0x0 + lsr r6, r1, #0x1 + beq _02004C36 + sub r2, r1, #0x1 +_02004C26: + sub r3, r2, r5 + ldrb r4, [r0, r5] + ldrb r1, [r0, r3] + strb r1, [r0, r5] + add r5, r5, #0x1 + strb r4, [r0, r3] + cmp r5, r6 + blo _02004C26 +_02004C36: + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_02004C3C +sub_02004C3C: ; 0x02004C3C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02003D30 + mov r0, #0xe + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x21 + bl sub_02003D38 + add r6, r0, #0x0 + cmp r5, #0xe + beq _02004C60 + cmp r5, #0xf + beq _02004C60 + bl sub_02020C2C +_02004C60: + add r0, r5, #0x0 + bl sub_02004AAC + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _02004C76 + mov r0, #0x0 + strb r0, [r4, #0x0] + ldr r0, [r6, #0x0] + bl sub_02016A18 +_02004C76: + pop {r4-r6, pc} + + thumb_func_start sub_02004C78 +sub_02004C78: ; 0x02004C78 + ldr r3, _02004C7C ; =sub_020C1E58 + bx r3 + .balign 4 +_02004C7C: .word sub_020C1E58 + + thumb_func_start sub_02004C80 +sub_02004C80: ; 0x02004C80 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02003D30 + mov r0, #0x3 + bl sub_02003D38 + mov r1, #0x1 + mov r3, #0xfa + lsl r1, r1, #0xc + mov r2, #0x0 + lsl r3, r3, #0x6 + str r4, [sp, #0x0] + blx sub_020C1FF0 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02004CA4 +sub_02004CA4: ; 0x02004CA4 + ldr r3, _02004CA8 ; =sub_020C1F54 + bx r3 + .balign 4 +_02004CA8: .word sub_020C1F54 + + thumb_func_start sub_02004CAC +sub_02004CAC: ; 0x02004CAC + ldr r3, _02004CB0 ; =sub_020C1FA4 + bx r3 + .balign 4 +_02004CB0: .word sub_020C1FA4 + + thumb_func_start sub_02004CB4 +sub_02004CB4: ; 0x02004CB4 + push {r3-r4, lr} + sub sp, #0xc + bl sub_02003D30 + mov r0, #0x4 + bl sub_02003D38 + mov r1, #0x0 + mov r2, #0x1c + blx sub_020CE34C + mov r0, #0x3 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x4 + bl sub_02003D38 + mov r2, #0x2 + ldr r1, _02004CF4 ; =sub_02005068 + str r2, [sp, #0x0] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + lsl r1, r2, #0xb + ldr r3, _02004CF8 ; =0x000055F0 + add r0, r4, #0x0 + mov r2, #0x0 + blx sub_020C1EA4 + add sp, #0xc + pop {r3-r4, pc} + nop +_02004CF4: .word sub_02005068 + 1 +_02004CF8: .word 0x000055F0 + + thumb_func_start sub_02004CFC +sub_02004CFC: ; 0x02004CFC + ldr r3, _02004D00 ; =sub_020C1E68 + bx r3 + .balign 4 +_02004D00: .word sub_020C1E68 + + thumb_func_start sub_02004D04 +sub_02004D04: ; 0x02004D04 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x13 + bl sub_02003D38 + cmp r4, #0x8 + ble _02004D16 + mov r4, #0x8 + b _02004D1C +_02004D16: + cmp r4, #0x0 + bge _02004D1C + mov r4, #0x0 +_02004D1C: + strb r4, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_02004D20 +sub_02004D20: ; 0x02004D20 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020C0EA4 + pop {r3-r5, pc} + + thumb_func_start sub_02004D34 +sub_02004D34: ; 0x02004D34 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_020048D0 + bl sub_02004018 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02004D20 + pop {r3-r5, pc} + + thumb_func_start sub_02004D4C +sub_02004D4C: ; 0x02004D4C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020C0E7C + pop {r3-r5, pc} + + thumb_func_start sub_02004D60 +sub_02004D60: ; 0x02004D60 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020C0174 + ldr r0, _02004D70 ; =0x021C3DD8 + str r4, [r0, #0x0] + pop {r4, pc} + nop +_02004D70: .word 0x021C3DD8 + + thumb_func_start sub_02004D74 +sub_02004D74: ; 0x02004D74 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x6 + bl sub_02003D38 + str r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004D84 +sub_02004D84: ; 0x02004D84 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x7 + bl sub_02003D38 + str r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004D94 +sub_02004D94: ; 0x02004D94 + push {r3, lr} + mov r0, #0x7 + bl sub_02003D38 + ldrh r1, [r0, #0x0] + cmp r1, #0x0 + bne _02004DAA + mov r1, #0x0 + strh r1, [r0, #0x0] + add r0, r1, #0x0 + pop {r3, pc} +_02004DAA: + sub r1, r1, #0x1 + strh r1, [r0, #0x0] + ldrh r0, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02004DB4 +sub_02004DB4: ; 0x02004DB4 + ldr r0, _02004DB8 ; =0x021C3DE0 + bx lr + .balign 4 +_02004DB8: .word 0x021C3DE0 + + thumb_func_start sub_02004DBC +sub_02004DBC: ; 0x02004DBC + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x12 + bl sub_02003D38 + strb r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02004DCC +sub_02004DCC: ; 0x02004DCC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x15 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x8] + bl sub_02003D38 + add r4, r0, #0x0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r2, r7, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02004E44 + mov r0, #0x0 + strb r0, [r4, #0x0] + mov r0, #0x5 + bl sub_02003CE8 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02004E08 +sub_02004E08: ; 0x02004E08 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x8 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x8] + bl sub_02003D38 + add r4, r0, #0x0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x14] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x28] + add r2, r7, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02004E44 + ldr r0, [sp, #0x20] + str r0, [r4, #0x0] + mov r0, #0x6 + bl sub_02003CE8 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02004E44 +sub_02004E44: ; 0x02004E44 + push {r3-r7, lr} + add r6, r2, #0x0 + mov r0, #0x2 + add r5, r1, #0x0 + add r7, r3, #0x0 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r6, #0x0 + bl sub_020053CC + mov r0, #0x0 + bl sub_02004110 + add r0, r5, #0x0 + bl sub_02004130 + add r0, r7, #0x0 + bl sub_02004D84 + add r0, r5, #0x0 + bl sub_020048F4 + str r0, [r4, #0x0] + add r0, sp, #0x8 + ldrb r0, [r0, #0x10] + bl sub_02004DBC + pop {r3-r7, pc} + + thumb_func_start sub_02004E80 +sub_02004E80: ; 0x02004E80 + cmp r0, #0x0 + bne _02004E88 + mov r0, #0x0 + bx lr +_02004E88: + add r0, #0xc + bx lr + + thumb_func_start sub_02004E8C +sub_02004E8C: ; 0x02004E8C + cmp r0, #0x0 + bne _02004E94 + mov r0, #0x0 + bx lr +_02004E94: + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02004E98 +sub_02004E98: ; 0x02004E98 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x5 + bl sub_02004748 + bl sub_02003F64 + lsl r0, r5, #0x10 + lsr r4, r0, #0x10 + ldr r0, _02004ECC ; =0x000001B9 + cmp r4, r0 + beq _02004EBC + add r0, #0x36 + cmp r5, r0 + bgt _02004EBA + cmp r5, #0x0 + bne _02004EBC +_02004EBA: + mov r4, #0x1 +_02004EBC: + add r0, r4, #0x0 + bl sub_02003FC4 + add r0, r4, #0x0 + bl sub_02004ED0 + pop {r3-r5, pc} + nop +_02004ECC: .word 0x000001B9 + + thumb_func_start sub_02004ED0 +sub_02004ED0: ; 0x02004ED0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x20 + bl sub_02003D38 + add r4, r0, #0x0 + lsl r0, r5, #0x10 + ldr r1, _02004F24 ; =0x000001B9 + lsr r0, r0, #0x10 + cmp r0, r1 + beq _02004EF2 + add r1, #0x36 + cmp r5, r1 + bgt _02004EF0 + cmp r5, #0x0 + bne _02004EF2 +_02004EF0: + mov r0, #0x1 +_02004EF2: + blx sub_020C226C + cmp r0, #0x0 + bne _02004F02 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_02004F02: + ldr r0, [r0, #0x0] + lsl r0, r0, #0x8 + lsr r0, r0, #0x8 + blx sub_020C20DC + cmp r0, #0x0 + bne _02004F18 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_02004F18: + mov r1, #0x0 + blx sub_020CF768 + str r0, [r4, #0x0] + pop {r3-r5, pc} + nop +_02004F24: .word 0x000001B9 + + thumb_func_start sub_02004F28 +sub_02004F28: ; 0x02004F28 + push {r4-r6, lr} + mov r0, #0x1 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_02004F64 + mov r1, #0x3 + add r4, r0, #0x0 + add r0, r6, #0x0 + lsl r1, r1, #0x8 + ldr r5, [r5, #0x8] + blx sub_020EBC80 + lsl r1, r0, #0x1 + bpl _02004F50 + mov r0, #0x20 + blx sub_020EBC80 + neg r0, r0 + b _02004F5A +_02004F50: + cmp r1, #0x0 + bne _02004F58 + mov r0, #0x20 + b _02004F5A +_02004F58: + lsl r0, r1, #0x5 +_02004F5A: + mul r0, r4 + cmp r0, r5 + blo _02004F62 + mov r0, #0x0 +_02004F62: + pop {r4-r6, pc} + + thumb_func_start sub_02004F64 +sub_02004F64: ; 0x02004F64 + push {r3, lr} + bl sub_02003FF4 + blx sub_020C0DD4 + pop {r3, pc} + + thumb_func_start sub_02004F70 +sub_02004F70: ; 0x02004F70 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + ldr r1, [sp, #0x0] + mov r0, #0x1 + add r2, r3, #0x0 + bl sub_02004F28 + add r1, r0, #0x0 + mov r12, r0 + sub r1, #0x64 + bpl _02004F8E + mov r1, #0x0 +_02004F8E: + ldr r0, [sp, #0x0] + mov r3, #0x0 + add r0, r0, r1 + ldrb r0, [r0, #0xc] + add r7, r3, #0x0 + cmp r0, #0x80 + bhs _02004FA0 + mov r0, #0x1 + b _02004FA2 +_02004FA0: + sub r0, r3, #0x1 +_02004FA2: + lsl r0, r0, #0x18 + asr r5, r0, #0x18 + mov r0, r12 + cmp r1, r0 + bhs _02005022 +_02004FAC: + mov r0, #0x0 + cmp r5, #0x0 + ble _02004FC6 + ldr r2, [sp, #0x0] + add r2, r2, r1 + str r2, [sp, #0x4] + ldrb r2, [r2, #0xc] + cmp r2, #0x80 + bls _02004FC2 + mov r0, #0x1 + b _02004FD8 +_02004FC2: + add r3, r3, #0x1 + b _02004FD8 +_02004FC6: + ldr r2, [sp, #0x0] + add r2, r2, r1 + str r2, [sp, #0x4] + ldrb r2, [r2, #0xc] + cmp r2, #0x80 + bhs _02004FD6 + mov r0, #0x1 + b _02004FD8 +_02004FD6: + add r3, r3, #0x1 +_02004FD8: + cmp r0, #0x1 + bne _0200501A + ldr r5, _02005064 ; =0x020ECB8C + mov r2, #0x0 +_02004FE0: + ldrb r0, [r5, #0x0] + cmp r3, r0 + bge _02004FEA + add r7, r2, #0x0 + b _02004FF2 +_02004FEA: + add r2, r2, #0x1 + add r5, r5, #0x1 + cmp r2, #0x9 + blt _02004FE0 +_02004FF2: + cmp r7, r6 + blt _02004FF8 + sub r7, r6, #0x1 +_02004FF8: + cmp r3, #0x0 + beq _02005006 + sub r0, r6, #0x1 + sub r0, r0, r7 + ldrb r2, [r4, r0] + add r2, r2, #0x1 + strb r2, [r4, r0] +_02005006: + ldr r0, [sp, #0x4] + mov r3, #0x0 + ldrb r0, [r0, #0xc] + cmp r0, #0x80 + bhs _02005014 + mov r0, #0x1 + b _02005016 +_02005014: + sub r0, r3, #0x1 +_02005016: + lsl r0, r0, #0x18 + asr r5, r0, #0x18 +_0200501A: + add r1, r1, #0x2 + mov r0, r12 + cmp r1, r0 + blo _02004FAC +_02005022: + mov r2, #0x0 + cmp r6, #0x0 + ble _02005038 + mov r0, #0x9 +_0200502A: + ldrb r1, [r4, r2] + cmp r1, #0xa + blo _02005032 + strb r0, [r4, r2] +_02005032: + add r2, r2, #0x1 + cmp r2, r6 + blt _0200502A +_02005038: + sub r2, r6, #0x1 + mov r3, #0x0 + cmp r2, #0x0 + ble _02005060 +_02005040: + ldrb r0, [r4, r3] + add r1, r4, r3 + cmp r0, #0x0 + bne _0200505A + ldrb r0, [r1, #0x1] + cmp r0, #0x0 + beq _0200505A + add r0, r3, #0x1 + ldrb r0, [r4, r0] + add sp, #0x8 + lsr r0, r0, #0x1 + strb r0, [r1, #0x0] + pop {r3-r7, pc} +_0200505A: + add r3, r3, #0x1 + cmp r3, r2 + blt _02005040 +_02005060: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02005064: .word 0x020ECB8C + + thumb_func_start sub_02005068 +sub_02005068: ; 0x02005068 + push {r3-r7, lr} + sub sp, #0x30 + add r5, r0, #0x0 + ldr r0, [sp, #0x48] + add r6, r1, #0x0 + str r0, [sp, #0xc] + mov r0, #0x13 + str r2, [sp, #0x0] + add r4, r3, #0x0 + bl sub_02003D38 + add r7, r0, #0x0 + cmp r4, #0x1 + beq _0200508A + ldr r0, [sp, #0x0] + lsr r0, r0, #0x1 + str r0, [sp, #0x0] +_0200508A: + ldrb r2, [r7, #0x0] + cmp r2, #0x0 + beq _0200515A + mov r0, #0x0 + cmp r2, #0x0 + ble _020050BC + add r1, sp, #0x10 +_02005098: + ldr r3, [sp, #0x0] + sub r2, r3, r2 + add r2, r0, r2 + lsl r2, r2, #0x1 + ldrsh r2, [r5, r2] + strh r2, [r1, #0x0] + ldrb r3, [r7, #0x0] + ldr r2, [sp, #0x0] + sub r2, r2, r3 + add r2, r0, r2 + lsl r2, r2, #0x1 + ldrsh r2, [r6, r2] + add r0, r0, #0x1 + strh r2, [r1, #0x2] + ldrb r2, [r7, #0x0] + add r1, r1, #0x4 + cmp r0, r2 + blt _02005098 +_020050BC: + ldr r0, [sp, #0x0] + sub r4, r0, #0x1 + sub r0, r2, #0x1 + cmp r4, r0 + blt _02005126 + lsl r1, r4, #0x1 + add r0, r5, r1 + str r0, [sp, #0x8] + add r0, r6, r1 + str r0, [sp, #0x4] +_020050D0: + mov r0, #0x0 + add r1, r0, #0x0 + cmp r2, #0x0 + ble _020050E6 +_020050D8: + sub r3, r4, r1 + lsl r3, r3, #0x1 + ldrsh r3, [r5, r3] + add r1, r1, #0x1 + add r0, r0, r3 + cmp r1, r2 + blt _020050D8 +_020050E6: + add r1, r2, #0x0 + blx sub_020EBC80 + ldr r1, [sp, #0x8] + strh r0, [r1, #0x0] + mov r0, #0x0 + ldrb r1, [r7, #0x0] + add r2, r0, #0x0 + cmp r1, #0x0 + ble _02005108 +_020050FA: + sub r3, r4, r2 + lsl r3, r3, #0x1 + ldrsh r3, [r6, r3] + add r2, r2, #0x1 + add r0, r0, r3 + cmp r2, r1 + blt _020050FA +_02005108: + blx sub_020EBC80 + ldr r1, [sp, #0x4] + sub r4, r4, #0x1 + strh r0, [r1, #0x0] + ldr r0, [sp, #0x8] + ldrb r2, [r7, #0x0] + sub r0, r0, #0x2 + str r0, [sp, #0x8] + add r0, r1, #0x0 + sub r0, r0, #0x2 + str r0, [sp, #0x4] + sub r0, r2, #0x1 + cmp r4, r0 + bge _020050D0 +_02005126: + mov r1, #0x0 + cmp r2, #0x0 + ble _0200514A + add r0, sp, #0x10 + mov r4, #0x2 +_02005130: + mov r2, #0x0 + ldrsh r3, [r0, r2] + ldr r2, [sp, #0xc] + add r1, r1, #0x1 + strh r3, [r2, #0x0] + ldrsh r3, [r0, r4] + add r0, r0, #0x4 + strh r3, [r2, #0x2] + add r2, r2, #0x4 + str r2, [sp, #0xc] + ldrb r2, [r7, #0x0] + cmp r1, r2 + blt _02005130 +_0200514A: + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + blx sub_020CC15C + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + blx sub_020CC15C +_0200515A: + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02005160 +sub_02005160: ; 0x02005160 + ldr r3, _02005168 ; =sub_020C1148 + add r1, r0, #0x0 + mov r0, #0x7 + bx r3 + .balign 4 +_02005168: .word sub_020C1148 + + thumb_func_start sub_0200516C +sub_0200516C: ; 0x0200516C + push {r3, lr} + cmp r0, #0x0 + bne _02005180 + ldr r0, _020051A4 ; =0x000007FF + bl sub_02005160 + mov r0, #0x0 + bl sub_02004CA4 + b _0200519C +_02005180: + cmp r0, #0x1 + ldr r0, _020051A8 ; =0x00007FFF + bne _02005192 + bl sub_02005160 + mov r0, #0x1e + bl sub_02004C80 + b _0200519C +_02005192: + bl sub_02005160 + mov r0, #0xf + bl sub_02004C80 +_0200519C: + bl sub_02004C78 + pop {r3, pc} + nop +_020051A4: .word 0x000007FF +_020051A8: .word 0x00007FFF + + thumb_func_start sub_020051AC +sub_020051AC: ; 0x020051AC + push {r3, lr} + bl sub_02005404 + cmp r0, #0x0 + bne _020051E0 + mov r0, #0x0 + bl sub_02003FF4 + bl sub_020048EC + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _020051E0 + bl sub_02004124 + ldr r1, _020051E8 ; =0x0000047E + cmp r0, r1 + beq _020051E0 + bl sub_02005454 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020047C8 + pop {r3, pc} +_020051E0: + bl sub_0200541C + pop {r3, pc} + nop +_020051E8: .word 0x0000047E + + thumb_func_start sub_020051EC +sub_020051EC: ; 0x020051EC + ldr r3, _020051F0 ; =sub_020C1180 + bx r3 + .balign 4 +_020051F0: .word sub_020C1180 + + thumb_func_start sub_020051F4 +sub_020051F4: ; 0x020051F4 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020048D0 + bl sub_02004018 + add r4, r0, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C3980 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200526C + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200521C +sub_0200521C: ; 0x0200521C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020048D0 + add r4, r0, #0x0 + bl sub_02004018 + add r6, r0, #0x0 + cmp r4, #0x7 + bne _0200523E + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02005288 + add r4, r0, #0x0 + b _02005258 +_0200523E: + cmp r4, #0x1 + bne _02005250 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020052B8 + add r4, r0, #0x0 + b _02005258 +_02005250: + bl sub_02020C2C + mov r0, #0x0 + pop {r4-r6, pc} +_02005258: + mov r0, #0x0 + bl sub_02004DBC + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0200526C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200526C +sub_0200526C: ; 0x0200526C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02004110 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02004858 + mov r0, #0x1 + bl sub_02003CE8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02005288 +sub_02005288: ; 0x02005288 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x3 + add r4, r2, #0x0 + bl sub_02004748 + bl sub_02003F64 + add r0, r5, #0x0 + bl sub_02003F90 + mov r0, #0x1a + bl sub_02003D38 + bl sub_02003F3C + add r0, r4, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C3980 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020052B8 +sub_020052B8: ; 0x020052B8 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r0, #0x12 + add r6, r2, #0x0 + bl sub_02003D38 + mov r0, #0x1f + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_02003FF4 + bl sub_020048EC + bl sub_02004900 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_020045C4 + add r0, r6, #0x0 + bl sub_02003FF4 + add r6, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_02004900 + mov r1, #0x0 + mvn r1, r1 + add r2, r0, #0x0 + add r0, r6, #0x0 + add r3, r1, #0x0 + str r5, [sp, #0x0] + blx sub_020C3910 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02005308 +sub_02005308: ; 0x02005308 + push {r3-r5, lr} + add r5, r1, #0x0 + cmp r0, #0x4 + beq _02005318 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_02005318: + add r0, r5, #0x0 + bl sub_020048D0 + cmp r0, #0x7 + beq _0200532A + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0200532A: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02003FA8 + mov r0, #0x7 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C3980 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02004110 + mov r0, #0x1 + bl sub_02003CE8 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02005350 +sub_02005350: ; 0x02005350 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020C0FDC + add r0, r4, #0x0 + bl sub_020048D0 + cmp r0, #0xff + beq _0200536E + bl sub_02004018 + bl sub_02003FF4 + blx sub_020C0F68 +_0200536E: + bl sub_02005374 + pop {r4, pc} + + thumb_func_start sub_02005374 +sub_02005374: ; 0x02005374 + push {r3, lr} + mov r0, #0x0 + bl sub_02004110 + mov r0, #0x0 + bl sub_02004130 + mov r0, #0x0 + bl sub_02003CE8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200538C +sub_0200538C: ; 0x0200538C + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02004124 + bl sub_020048D0 + cmp r0, #0xff + beq _020053C8 + bl sub_02004018 + add r7, r0, #0x0 + cmp r4, #0x0 + bne _020053B2 + mov r1, #0x0 + add r2, r1, #0x0 + bl sub_02004828 +_020053B2: + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02004828 + add r0, r5, #0x0 + bl sub_02004D74 + mov r0, #0x3 + bl sub_02003CE8 +_020053C8: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020053CC +sub_020053CC: ; 0x020053CC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02004124 + bl sub_020048D0 + add r6, r0, #0x0 + cmp r6, #0xff + beq _02005402 + bl sub_02005404 + cmp r0, #0x0 + bne _020053FC + add r0, r6, #0x0 + bl sub_02004018 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02004828 + add r0, r4, #0x0 + bl sub_02004D74 +_020053FC: + mov r0, #0x4 + bl sub_02003CE8 +_02005402: + pop {r4-r6, pc} + + thumb_func_start sub_02005404 +sub_02005404: ; 0x02005404 + push {r3, lr} + mov r0, #0x6 + bl sub_02003D38 + ldrh r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02005410 +sub_02005410: ; 0x02005410 + push {r3, lr} + bl sub_020048D0 + bl sub_020048BC + pop {r3, pc} + + thumb_func_start sub_0200541C +sub_0200541C: ; 0x0200541C + push {r3-r5, lr} + mov r0, #0xf + bl sub_02003D38 + add r5, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x0 + blx sub_020C0F9C + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _02005440 + mov r0, #0xe + bl sub_02004AAC +_02005440: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _0200544C + mov r0, #0xf + bl sub_02004AAC +_0200544C: + mov r0, #0x0 + bl sub_02003CE8 + pop {r3-r5, pc} + + thumb_func_start sub_02005454 +sub_02005454: ; 0x02005454 + push {r3-r7, lr} + mov r0, #0xf + bl sub_02003D38 + add r7, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x7 + bl sub_02003FF4 + mov r1, #0x0 + blx sub_020C10A4 + bl sub_02005374 + mov r5, #0x0 + add r4, r5, #0x0 +_0200547A: + add r0, r5, #0x3 + add r1, r4, #0x0 + bl sub_020054F8 + add r5, r5, #0x1 + cmp r5, #0x4 + blt _0200547A + mov r0, #0x0 + bl sub_02005614 + ldrb r0, [r7, #0x0] + cmp r0, #0x1 + bne _0200549A + mov r0, #0xe + bl sub_02004AAC +_0200549A: + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + bne _020054A6 + mov r0, #0xf + bl sub_02004AAC +_020054A6: + pop {r3-r7, pc} + + thumb_func_start sub_020054A8 +sub_020054A8: ; 0x020054A8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020054C8 + add r6, r0, #0x0 + ldr r1, _020054C4 ; =0x0000FFFF + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_02005530 + add r0, r6, #0x0 + pop {r4-r6, pc} + nop +_020054C4: .word 0x0000FFFF + + thumb_func_start sub_020054C8 +sub_020054C8: ; 0x020054C8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020048D0 + bl sub_02004018 + add r4, r0, #0x0 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C3980 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02004858 + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020054F0 +sub_020054F0: ; 0x020054F0 + ldr r3, _020054F4 ; =sub_020C0FDC + bx r3 + .balign 4 +_020054F4: .word sub_020C0FDC + + thumb_func_start sub_020054F8 +sub_020054F8: ; 0x020054F8 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02003FF4 + add r1, r4, #0x0 + blx sub_020C10A4 + pop {r4, pc} + + thumb_func_start sub_02005508 +sub_02005508: ; 0x02005508 + push {r3, lr} + bl sub_020048D0 + bl sub_020048BC + pop {r3, pc} + + thumb_func_start sub_02005514 +sub_02005514: ; 0x02005514 + push {r4, lr} + mov r4, #0x0 +_02005518: + add r0, r4, #0x3 + bl sub_020048BC + cmp r0, #0x1 + bne _02005526 + mov r0, #0x1 + pop {r4, pc} +_02005526: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _02005518 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02005530 +sub_02005530: ; 0x02005530 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_020048D0 + bl sub_02004018 + bl sub_02003FF4 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020C0E7C + pop {r3-r5, pc} + + thumb_func_start sub_0200554C +sub_0200554C: ; 0x0200554C + push {r3-r7, lr} + add r6, r0, #0x0 + mov r0, #0x3 + bl sub_02004018 + ldr r7, _02005574 ; =0x0000FFFF + add r4, r0, #0x0 + mov r5, #0x0 +_0200555C: + add r0, r4, r5 + bl sub_02003FF4 + add r1, r7, #0x0 + add r2, r6, #0x0 + blx sub_020C0E7C + add r5, r5, #0x1 + cmp r5, #0x4 + blt _0200555C + pop {r3-r7, pc} + nop +_02005574: .word 0x0000FFFF + + thumb_func_start sub_02005578 +sub_02005578: ; 0x02005578 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x11 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x23 + bl sub_02003D38 + ldr r1, _02005610 ; =0x000001B9 + cmp r5, r1 + beq _0200559C + add r1, #0x36 + cmp r5, r1 + bhi _0200559A + cmp r5, #0x0 + bne _0200559C +_0200559A: + mov r5, #0x1 +_0200559C: + ldr r1, _02005610 ; =0x000001B9 + cmp r5, r1 + bne _020055BC + mov r1, #0x0 + ldr r0, [r0, #0x0] + mov r2, #0x7f + add r3, r1, #0x0 + bl sub_02005D48 + cmp r0, #0x1 + bne _020055BC + mov r0, #0x0 + bl sub_02005E80 + mov r0, #0x1 + pop {r3-r5, pc} +_020055BC: + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _020055E8 + mov r0, #0x0 + bl sub_02005614 + mov r0, #0x1 + bl sub_02003FF4 + mov r1, #0x2 + str r1, [sp, #0x0] + sub r1, r1, #0x3 + add r2, r5, #0x0 + add r3, r1, #0x0 + blx sub_020C3910 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02004858 + b _02005606 +_020055E8: + mov r0, #0x8 + bl sub_02003FF4 + mov r1, #0x2 + str r1, [sp, #0x0] + sub r1, r1, #0x3 + add r2, r5, #0x0 + add r3, r1, #0x0 + blx sub_020C3910 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8 + bl sub_02004858 +_02005606: + mov r0, #0x0 + bl sub_02005E80 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02005610: .word 0x000001B9 + + thumb_func_start sub_02005614 +sub_02005614: ; 0x02005614 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0xf + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0xe + bl sub_02003D38 + mov r0, #0x1 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C10A4 + mov r0, #0x8 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C10A4 + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + bne _02005658 + mov r0, #0xe + bl sub_02004C3C + mov r0, #0xe + bl sub_02004A04 +_02005658: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _0200566A + mov r0, #0xf + bl sub_02004C3C + mov r0, #0xf + bl sub_02004A04 +_0200566A: + bl sub_02005DFC + pop {r4-r6, pc} + + thumb_func_start sub_02005670 +sub_02005670: ; 0x02005670 + push {r3-r5, lr} + mov r0, #0xf + bl sub_02003D38 + add r5, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0xe + bl sub_02003D38 + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _02005696 + mov r0, #0xe + bl sub_02004ABC + pop {r3-r5, pc} +_02005696: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _020056A4 + mov r0, #0xf + bl sub_02004ABC + pop {r3-r5, pc} +_020056A4: + mov r0, #0x0 + bl sub_020048BC + pop {r3-r5, pc} + + thumb_func_start sub_020056AC +sub_020056AC: ; 0x020056AC + push {r3-r7, lr} + sub sp, #0x20 + str r0, [sp, #0x4] + mov r0, #0xf + str r1, [sp, #0x8] + add r5, r2, #0x0 + add r6, r3, #0x0 + ldr r7, [sp, #0x38] + bl sub_02003D38 + str r0, [sp, #0x14] + mov r0, #0x10 + bl sub_02003D38 + str r0, [sp, #0x10] + mov r0, #0x11 + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x1d + bl sub_02003D38 + str r0, [sp, #0xc] + mov r0, #0x23 + bl sub_02003D38 + lsr r0, r5, #0x1f + add r0, r5, r0 + asr r0, r0, #0x1 + str r0, [sp, #0x1c] + add r0, #0x40 + str r0, [sp, #0x1c] + add r0, r6, #0x0 + str r0, [sp, #0x18] + sub r0, #0x1e + str r0, [sp, #0x18] + cmp r0, #0x0 + bgt _020056FC + mov r0, #0x1 + str r0, [sp, #0x18] +_020056FC: + mov r0, #0x0 + strb r0, [r4, #0x0] + ldr r0, [sp, #0x14] + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02005714 + mov r0, #0xe + bl sub_02004C3C + mov r0, #0xe + bl sub_02004A04 +_02005714: + ldr r0, [sp, #0x10] + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02005728 + mov r0, #0xf + bl sub_02004C3C + mov r0, #0xf + bl sub_02004A04 +_02005728: + ldr r4, [sp, #0x8] + ldr r0, _02005AB4 ; =0x000001B9 + add r1, r4, #0x0 + cmp r1, r0 + beq _0200573E + add r0, #0x36 + cmp r1, r0 + bhi _0200573C + add r0, r4, #0x0 + bne _0200573E +_0200573C: + mov r4, #0x1 +_0200573E: + ldr r0, _02005AB4 ; =0x000001B9 + ldr r1, [sp, #0x8] + cmp r1, r0 + bne _020057B4 + ldr r1, [sp, #0x4] + cmp r1, #0xc + bhi _020057AE + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r3, #0 + lsl r0, r3, #0 + lsl r0, r3, #0 + lsl r4, r2, #0x1 + lsl r4, r2, #0x1 + lsl r0, r3, #0 + lsl r4, r2, #0x1 + lsl r4, r2, #0x1 + lsl r4, r2, #0x1 + lsl r4, r2, #0x1 + lsl r4, r2, #0x1 + lsl r0, r3, #0 + lsl r0, r3, #0 + bl sub_02005578 + ldr r0, [sp, #0xc] + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02005794 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl sub_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_02005AC8 + b _020057A8 +_02005794: + ldr r1, [sp, #0x1c] + mov r0, #0xe + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02004ACC + mov r0, #0xe + add r1, r6, #0x0 + bl sub_02004AF8 +_020057A8: + add sp, #0x20 + mov r0, #0x1 + pop {r3-r7, pc} +_020057AE: + mov r0, #0x1 + bl sub_02005E80 +_020057B4: + ldr r0, [sp, #0x4] + cmp r0, #0xe + bls _020057BC + b _02005AC2 +_020057BC: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r3, #0 + lsl r0, r7, #0 + lsl r4, r3, #0x1 + lsl r6, r3, #0x2 + lsl r0, r5, #0x3 + lsl r6, r6, #0x4 + lsl r6, r3, #0x5 + lsl r2, r4, #0x6 + lsl r2, r2, #0x7 + lsl r0, r0, #0x8 + lsl r4, r6, #0x8 + lsl r4, r4, #0x9 + lsl r4, r1, #0xa + lsl r4, r7, #0xa + lsl r2, r6, #0xb + add r0, r4, #0x0 + bl sub_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl sub_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_02005AC8 + b _02005AC2 +_02005802: + .byte 0x20, 0x1C, 0xFF, 0xF7, 0xB8, 0xFE, 0xAB, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7 + .byte 0x9D, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x56, 0xF9, 0x14, 0x20, 0x39, 0x1C + .byte 0x00, 0xF0, 0x5E, 0xF9, 0x4D, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0xA6, 0xFE, 0xA2, 0x49, 0x01, 0x20 + .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x44, 0xF9 + .byte 0x9D, 0x49, 0x01, 0x20, 0x40, 0x22, 0xFF, 0xF7, 0x6B, 0xFA, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0 + .byte 0xBB, 0xF9, 0x99, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x78, 0xFA, 0x06, 0x9A, 0x20, 0x1C + .byte 0x08, 0x21, 0x00, 0xF0, 0x31, 0xF9, 0x2C, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x92, 0x49 + .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x6A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0 + .byte 0x23, 0xF9, 0x1E, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x2B, 0xF9, 0x8B, 0x49, 0x01, 0x20, 0xC0, 0x22 + .byte 0xFF, 0xF7, 0x46, 0xFA, 0x20, 0x1C, 0x10, 0x21, 0x00, 0xF0, 0x96, 0xF9, 0x86, 0x49, 0x08, 0x20 + .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0x0C, 0xF9 + .byte 0x07, 0xE1, 0x0E, 0x20, 0xFF, 0xF7, 0x66, 0xF8, 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23 + .byte 0x00, 0x97, 0xFF, 0xF7, 0x35, 0xF9, 0x07, 0x99, 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7 + .byte 0xFD, 0xF8, 0x0F, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x03, 0xF9, 0x86, 0x21, 0x0E, 0x20, 0x09, 0x02 + .byte 0xFF, 0xF7, 0x00, 0xF9, 0x3F, 0x21, 0x06, 0x9A, 0x07, 0x9B, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x97 + .byte 0x00, 0xF0, 0x82, 0xF9, 0x86, 0x21, 0x0F, 0x20, 0x09, 0x02, 0xFF, 0xF7, 0xF3, 0xF8, 0xE0, 0xE0 + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x39, 0xFE, 0x6C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x1E, 0xFA + .byte 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0xD7, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x66, 0x49 + .byte 0xE1, 0x3A, 0xFF, 0xF7, 0xFD, 0xF9, 0xCC, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x25, 0xFE, 0x62, 0x49 + .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x0A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0 + .byte 0xC3, 0xF8, 0x5D, 0x49, 0x01, 0x20, 0x2C, 0x22, 0xFF, 0xF7, 0xEA, 0xF9, 0x3F, 0x21, 0x20, 0x1C + .byte 0xC9, 0x43, 0x00, 0xF0, 0x39, 0xF9, 0x58, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xF6, 0xF9 + .byte 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0xAF, 0xF8, 0xAA, 0xE0, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0x03, 0xFE, 0x51, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x1C, 0x01, 0x21 + .byte 0x32, 0x1C, 0x00, 0xF0, 0xA1, 0xF8, 0x0B, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0xA9, 0xF8, 0x01, 0x20 + .byte 0x02, 0x1C, 0x49, 0x49, 0x81, 0x3A, 0xFF, 0xF7, 0xC3, 0xF9, 0x92, 0xE0, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0xEB, 0xFD, 0x45, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xD0, 0xF9, 0x20, 0x1C, 0x01, 0x21 + .byte 0x32, 0x1C, 0x00, 0xF0, 0x89, 0xF8, 0x3C, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x91, 0xF8, 0x3E, 0x49 + .byte 0x01, 0x20, 0x3C, 0x22, 0xFF, 0xF7, 0xAC, 0xF9, 0x7B, 0xE0, 0x0E, 0x20, 0xFE, 0xF7, 0xDA, 0xFF + .byte 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23, 0x00, 0x97, 0xFF, 0xF7, 0xA9, 0xF8, 0x07, 0x99 + .byte 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0x71, 0xF8, 0x0D, 0x20, 0x39, 0x1C, 0x00, 0xF0 + .byte 0x77, 0xF8, 0x1A, 0x21, 0x0E, 0x20, 0x89, 0x02, 0xFF, 0xF7, 0x74, 0xF8, 0x61, 0xE0, 0x20, 0x1C + .byte 0xFF, 0xF7, 0xBA, 0xFD, 0x2C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x9F, 0xF9, 0x20, 0x1C + .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x58, 0xF8, 0x64, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x60, 0xF8 + .byte 0x01, 0x20, 0x02, 0x1C, 0x24, 0x49, 0x2D, 0x3A, 0xFF, 0xF7, 0x7A, 0xF9, 0x49, 0xE0, 0x20, 0x1C + .byte 0xFF, 0xF7, 0xA2, 0xFD, 0x20, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x87, 0xF9, 0x20, 0x1C + .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x40, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x1A, 0x49, 0x61, 0x3A + .byte 0xFF, 0xF7, 0x66, 0xF9, 0x35, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x8E, 0xFD, 0x16, 0x49, 0x01, 0x20 + .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x73, 0xF9, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x2C, 0xF8 + .byte 0x14, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x34, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x0E, 0x49, 0x61, 0x3A + .byte 0xFF, 0xF7, 0x4E, 0xF9, 0x1D, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x76, 0xFD, 0x20, 0x1C, 0x01, 0x21 + .byte 0x7F, 0x22, 0x00, 0xF0, 0x19, 0xF8, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0, 0x95, 0xF8, 0x06, 0x49 + .byte 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x52, 0xF9, 0x08, 0x20, 0x31, 0x1C, 0x00, 0x22, 0xFE, 0xF7 + .byte 0xBB, 0xFE, 0x06, 0xE0 +_02005AB4: .word 0x000001B9 +_02005AB8: .word 0x0000FFFF +_02005ABC: + .byte 0x20, 0x1C, 0xFF, 0xF7 + .byte 0x5B, 0xFD +_02005AC2: + mov r0, #0x1 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_02005AC8 +sub_02005AC8: ; 0x02005AC8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r2, #0x0 + bl sub_0200483C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02004858 + pop {r3-r5, pc} + + thumb_func_start sub_02005AE0 +sub_02005AE0: ; 0x02005AE0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x22 + bl sub_02003D38 + add r6, r0, #0x0 + bl sub_02005BA0 + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_02016998 + add r4, r0, #0x0 + bne _02005B04 + bl sub_02020C2C + pop {r4-r6, pc} +_02005B04: + mov r2, #0x0 + strb r2, [r4, #0x0] + strb r2, [r4, #0x1] + strb r2, [r4, #0x2] + strb r2, [r4, #0x3] + strb r2, [r4, #0x4] + strb r2, [r4, #0x5] + strb r2, [r4, #0x6] + strb r2, [r4, #0x7] + ldr r0, _02005B28 ; =sub_02005B2C + add r1, r4, #0x0 + str r5, [r4, #0x0] + bl sub_0200CA44 + str r0, [r4, #0x4] + str r0, [r6, #0x0] + pop {r4-r6, pc} + nop +_02005B28: .word sub_02005B2C + 1 + + thumb_func_start sub_02005B2C +sub_02005B2C: ; 0x02005B2C + push {r4-r6, lr} + mov r0, #0xf + add r5, r1, #0x0 + bl sub_02003D38 + add r6, r0, #0x0 + mov r0, #0x10 + bl sub_02003D38 + ldr r2, [r5, #0x0] + add r4, r0, #0x0 + cmp r2, #0xa + bne _02005B58 + mov r0, #0x1 + mov r1, #0x0 + bl sub_02004828 + ldr r2, [r5, #0x0] + mov r0, #0x8 + mov r1, #0x0 + bl sub_02004828 +_02005B58: + ldr r0, [r5, #0x0] + sub r0, r0, #0x1 + str r0, [r5, #0x0] + bl sub_02005670 + cmp r0, #0x0 + bne _02005B6A + mov r0, #0x0 + str r0, [r5, #0x0] +_02005B6A: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + bgt _02005B9E + mov r0, #0x0 + bl sub_02005614 + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + bne _02005B88 + mov r0, #0xe + bl sub_02004C3C + mov r0, #0xe + bl sub_02004A04 +_02005B88: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _02005B9A + mov r0, #0xf + bl sub_02004C3C + mov r0, #0xf + bl sub_02004A04 +_02005B9A: + bl sub_02005BA0 +_02005B9E: + pop {r4-r6, pc} + + thumb_func_start sub_02005BA0 +sub_02005BA0: ; 0x02005BA0 + push {r3-r5, lr} + mov r0, #0x22 + bl sub_02003D38 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02005BC2 + bl sub_0201B6C8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0200CAB4 + add r0, r5, #0x0 + bl sub_02016A18 +_02005BC2: + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02005BC8 +sub_02005BC8: ; 0x02005BC8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x11 + add r4, r1, #0x0 + bl sub_02003D38 + mov r1, #0x1 + strb r1, [r0, #0x0] + add r0, r1, #0x0 + bl sub_02005E80 + add r0, r5, #0x0 + bl sub_02005578 + add r5, r0, #0x0 + ldr r1, _02005BF4 ; =0x0000FFFF + mov r0, #0x8 + add r2, r4, #0x0 + bl sub_02004D20 + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 +_02005BF4: .word 0x0000FFFF + + thumb_func_start sub_02005BF8 +sub_02005BF8: ; 0x02005BF8 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r0, #0x11 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02003D38 + mov r1, #0x1 + strb r1, [r0, #0x0] + mov r0, #0xf + bl sub_02004984 + ldr r0, [sp, #0x18] + add r1, r4, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0xf + bl sub_02004B30 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02005C28 +sub_02005C28: ; 0x02005C28 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020048F4 + add r0, r5, #0x0 + bl sub_02005CEC + bl sub_02004124 + bl sub_020048D0 + cmp r0, #0xff + beq _02005C48 + mov r1, #0x1 + bl sub_020047C8 +_02005C48: + mov r0, #0x1c + bl sub_02003D38 + bl sub_02003F3C + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_02003FA8 + mov r0, #0x2 + bl sub_02003FF4 + add r1, r5, #0x0 + blx sub_020C3980 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02004858 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02005C74 +sub_02005C74: ; 0x02005C74 + push {r4, lr} + mov r0, #0xd + bl sub_02003D38 + add r4, r0, #0x0 + mov r0, #0x2 + bl sub_020048BC + cmp r0, #0x0 + beq _02005C8C + mov r0, #0x1 + pop {r4, pc} +_02005C8C: + ldrh r0, [r4, #0x0] + cmp r0, #0x0 + beq _02005C9A + sub r0, r0, #0x1 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} +_02005C9A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02005CA0 +sub_02005CA0: ; 0x02005CA0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x2 + bl sub_02003FF4 + add r1, r4, #0x0 + blx sub_020C10A4 + mov r0, #0x6 + bl sub_02004748 + bl sub_02003F64 + pop {r4, pc} + + thumb_func_start sub_02005CBC +sub_02005CBC: ; 0x02005CBC + push {r3, lr} + mov r0, #0xd + bl sub_02003D38 + bl sub_02005C74 + cmp r0, #0x1 + bne _02005CD0 + mov r0, #0x1 + pop {r3, pc} +_02005CD0: + mov r0, #0x0 + bl sub_02005CA0 + bl sub_02004124 + bl sub_020048D0 + cmp r0, #0xff + beq _02005CE8 + mov r1, #0x0 + bl sub_020047C8 +_02005CE8: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02005CEC +sub_02005CEC: ; 0x02005CEC + push {r3, lr} + mov r0, #0xd + bl sub_02003D38 + mov r1, #0xf + strh r1, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02005CFC +sub_02005CFC: ; 0x02005CFC + push {r3, lr} + mov r0, #0x1d + bl sub_02003D38 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02005D1C + mov r0, #0xe + bl sub_02004ABC + cmp r0, #0x0 + bne _02005D1C + bl sub_02005DFC + mov r0, #0x1 + pop {r3, pc} +_02005D1C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02005D20 +sub_02005D20: ; 0x02005D20 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x1e + bl sub_02003D38 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02029F04 + cmp r0, #0x0 + bne _02005D3A + mov r0, #0x0 + pop {r3-r5, pc} +_02005D3A: + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + beq _02005D44 + mov r0, #0x1 + pop {r3-r5, pc} +_02005D44: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02005D48 +sub_02005D48: ; 0x02005D48 + push {r3-r7, lr} + sub sp, #0x30 + add r6, r0, #0x0 + add r5, r2, #0x0 + add r7, r3, #0x0 + bl sub_02004DB4 + str r0, [sp, #0x0] + mov r0, #0x1d + bl sub_02003D38 + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl sub_02005D20 + cmp r0, #0x0 + bne _02005D70 + add sp, #0x30 + mov r0, #0x0 + pop {r3-r7, pc} +_02005D70: + mov r0, #0x0 + bl sub_02005614 + bl sub_02005DFC + mov r0, #0xe + bl sub_02004984 + bl sub_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x13 + sub r1, r1, r2 + mov r0, #0x13 + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #0x0 + bl sub_02029F10 + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02029F14 + mov r0, #0xe + bl sub_02004930 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + bl sub_02004DB4 + str r0, [sp, #0x10] + mov r0, #0x0 + str r0, [sp, #0x14] + str r0, [sp, #0x18] + mov r0, #0x7d + lsl r0, r0, #0x4 + str r0, [sp, #0x1c] + str r0, [sp, #0x20] + mov r0, #0x2 + lsl r0, r0, #0xe + add r0, r4, r0 + str r0, [sp, #0x28] + lsr r0, r7, #0x1f + add r0, r7, r0 + asr r0, r0, #0x1 + add r0, #0x40 + str r0, [sp, #0x2c] + add r0, sp, #0x8 + mov r1, #0xe + str r5, [sp, #0x24] + bl sub_02004A6C + add r4, r0, #0x0 + mov r0, #0xe + add r1, r5, #0x0 + bl sub_02004AF8 + ldr r0, [sp, #0x4] + mov r1, #0x1 + strb r1, [r0, #0x0] + mov r0, #0x0 + bl sub_02005E80 + add r0, r4, #0x0 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02005DFC +sub_02005DFC: ; 0x02005DFC + push {r3-r5, lr} + mov r0, #0xf + bl sub_02003D38 + add r5, r0, #0x0 + mov r0, #0x1d + bl sub_02003D38 + add r4, r0, #0x0 + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _02005E20 + mov r0, #0xe + bl sub_02004C3C + mov r0, #0xe + bl sub_02004A04 +_02005E20: + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02005E28 +sub_02005E28: ; 0x02005E28 + push {lr} + sub sp, #0x1c + mov r0, #0x2 + str r0, [sp, #0x0] + bl sub_02004DB4 + mov r1, #0x7d + str r0, [sp, #0x4] + lsl r1, r1, #0x4 + mov r0, #0x1f + str r1, [sp, #0x8] + tst r0, r1 + beq _02005E48 + mov r0, #0x1f + bic r1, r0 + str r1, [sp, #0x8] +_02005E48: + ldr r0, _02005E60 ; =0x00004174 + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + str r0, [sp, #0x18] + add r0, sp, #0x0 + bl sub_02004914 + add sp, #0x1c + pop {pc} + nop +_02005E60: .word 0x00004174 + + thumb_func_start sub_02005E64 +sub_02005E64: ; 0x02005E64 + ldr r3, _02005E68 ; =sub_0200491C + bx r3 + .balign 4 +_02005E68: .word sub_0200491C + 1 + + thumb_func_start sub_02005E6C +sub_02005E6C: ; 0x02005E6C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02004DB4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02029F4C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02005E80 +sub_02005E80: ; 0x02005E80 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1e + bl sub_02003D38 + strb r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02005E90 +sub_02005E90: ; 0x02005E90 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x23 + add r7, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02003D38 + cmp r5, #0x0 + bne _02005EB2 + ldr r0, [r0, #0x0] + add r1, r7, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02005D48 + b _02005EBE +_02005EB2: + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02005D48 +_02005EBE: + cmp r0, #0x0 + bne _02005ED8 + mov r0, #0x1 + bl sub_02005E80 + mov r0, #0xb + str r0, [sp, #0x0] + ldr r1, _02005EDC ; =0x000001B9 + mov r0, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_020056AC +_02005ED8: + pop {r3-r7, pc} + nop +_02005EDC: .word 0x000001B9 + + thumb_func_start sub_02005EE0 +sub_02005EE0: ; 0x02005EE0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02029F04 + cmp r0, #0x0 + bne _02005EF0 + mov r0, #0x0 + pop {r4, pc} +_02005EF0: + add r0, r4, #0x0 + bl sub_02029F10 + mov r1, #0xf + ldrsb r0, [r0, r1] + sub r1, #0x2d + cmp r0, r1 + bge _02005F04 + mov r0, #0x1 + pop {r4, pc} +_02005F04: + cmp r0, #0x1e + blt _02005F10 + cmp r0, #0x80 + bge _02005F10 + mov r0, #0x2 + pop {r4, pc} +_02005F10: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02005F14 +sub_02005F14: ; 0x02005F14 + cmp r0, #0xb + bgt _02005F2E + bge _02005F32 + cmp r0, #0x5 + bgt _02005F36 + cmp r0, #0x0 + blt _02005F36 + beq _02005F32 + cmp r0, #0x1 + beq _02005F32 + cmp r0, #0x5 + beq _02005F32 + b _02005F36 +_02005F2E: + cmp r0, #0xc + bne _02005F36 +_02005F32: + mov r0, #0x1 + bx lr +_02005F36: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02005F3C +sub_02005F3C: ; 0x02005F3C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + beq _02005F4A + bl sub_02020C2C +_02005F4A: + ldr r1, [r4, #0x0] + mov r0, #0x0 + blx sub_020D2040 + cmp r0, #0x1 + beq _02005F5A + bl sub_02020C2C +_02005F5A: + mov r0, #0x0 + str r0, [r4, #0x4] + pop {r4, pc} + + thumb_func_start sub_02005F60 +sub_02005F60: ; 0x02005F60 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02005F90 + bl sub_0200610C + mov r2, #0x0 + add r3, r0, #0x0 +_02005F70: + ldr r1, [r3, #0x4] + cmp r1, #0x1 + bne _02005F86 + ldr r1, [r3, #0x0] + cmp r4, r1 + bne _02005F86 + lsl r1, r2, #0x3 + add r0, r0, r1 + bl sub_02005F3C + pop {r4, pc} +_02005F86: + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, #0x8 + blt _02005F70 + pop {r4, pc} + + thumb_func_start sub_02005F90 +sub_02005F90: ; 0x02005F90 + push {lr} + sub sp, #0x2c + add r2, r0, #0x0 + add r0, sp, #0x0 + mov r1, #0x0 + blx sub_020D24EC + cmp r0, #0x1 + beq _02005FA6 + bl sub_02020C2C +_02005FA6: + mov r0, #0x2 + ldr r2, [sp, #0x4] + lsl r0, r0, #0x18 + cmp r2, r0 + bhi _02005FBC + lsr r0, r0, #0x1 + cmp r2, r0 + blo _02005FBC + add sp, #0x2c + mov r0, #0x1 + pop {pc} +_02005FBC: + mov r0, #0x1 + ldr r1, _02005FD8 ; =0x027E0000 + lsl r0, r0, #0xe + add r0, r1, r0 + cmp r2, r0 + bhi _02005FD2 + cmp r2, r1 + blo _02005FD2 + add sp, #0x2c + mov r0, #0x2 + pop {pc} +_02005FD2: + mov r0, #0x0 + add sp, #0x2c + pop {pc} + .balign 4 +_02005FD8: .word 0x027E0000 + + thumb_func_start sub_02005FDC +sub_02005FDC: ; 0x02005FDC + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + str r1, [sp, #0x0] + bl sub_02006090 + cmp r0, #0x0 + bne _02005FF4 + mov r0, #0x0 + pop {r3-r7, pc} +_02005FF4: + add r0, r5, #0x0 + bl sub_02005F90 + add r7, r0, #0x0 + bl sub_0200610C + add r3, r0, #0x0 + mov r6, #0x0 + add r1, r3, #0x0 +_02006006: + ldr r0, [r1, #0x4] + cmp r0, #0x0 + bne _02006018 + lsl r1, r6, #0x3 + add r2, r3, r1 + mov r0, #0x1 + str r0, [r2, #0x4] + str r5, [r3, r1] + b _02006020 +_02006018: + add r6, r6, #0x1 + add r1, #0x8 + cmp r6, #0x8 + blt _02006006 +_02006020: + cmp r6, #0x8 + blt _0200602C + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0200602C: + sub r6, r7, #0x1 + cmp r6, #0x1 + bhi _0200603C + mov r0, #0x0 + mvn r0, r0 + blx sub_020D1D30 + str r0, [sp, #0x0] +_0200603C: + cmp r4, #0x0 + beq _0200604A + cmp r4, #0x1 + beq _02006056 + cmp r4, #0x2 + beq _02006062 + b _0200606E +_0200604A: + mov r0, #0x0 + add r1, r5, #0x0 + bl sub_02006168 + add r4, r0, #0x0 + b _02006076 +_02006056: + mov r0, #0x0 + add r1, r5, #0x0 + bl sub_02006170 + add r4, r0, #0x0 + b _02006076 +_02006062: + mov r0, #0x0 + add r1, r5, #0x0 + bl sub_020061A8 + add r4, r0, #0x0 + b _02006076 +_0200606E: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_02006076: + cmp r6, #0x1 + bhi _02006080 + ldr r0, [sp, #0x0] + blx sub_020D1D30 +_02006080: + cmp r4, #0x0 + bne _0200608C + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0200608C: + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_02006090 +sub_02006090: ; 0x02006090 + push {r3-r7, lr} + sub sp, #0x10 + add r1, sp, #0xc + add r2, sp, #0x8 + add r4, r0, #0x0 + bl sub_02006130 + cmp r0, #0x0 + bne _020060A8 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_020060A8: + add r0, r4, #0x0 + bl sub_02005F90 + bl sub_0200610C + add r5, r0, #0x0 + mov r4, #0x0 + add r6, sp, #0x4 + add r7, sp, #0x0 +_020060BA: + ldr r0, [r5, #0x4] + cmp r0, #0x1 + bne _020060FC + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02006130 + cmp r0, #0x1 + bne _020060FC + ldr r1, [sp, #0x4] + ldr r2, [sp, #0xc] + cmp r2, r1 + blo _020060DC + ldr r0, [sp, #0x0] + cmp r2, r0 + blo _020060F2 +_020060DC: + ldr r3, [sp, #0x8] + cmp r3, r1 + bls _020060E8 + ldr r0, [sp, #0x0] + cmp r3, r0 + bls _020060F2 +_020060E8: + cmp r2, r1 + bhi _020060FC + ldr r0, [sp, #0x0] + cmp r3, r0 + blo _020060FC +_020060F2: + bl sub_02020C2C + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_020060FC: + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x8 + blt _020060BA + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200610C +sub_0200610C: ; 0x0200610C + cmp r0, #0x0 + beq _02006118 + cmp r0, #0x1 + beq _0200611C + cmp r0, #0x2 + beq _02006120 +_02006118: + ldr r0, _02006124 ; =0x021C45B0 + bx lr +_0200611C: + ldr r0, _02006128 ; =0x021C45F0 + bx lr +_02006120: + ldr r0, _0200612C ; =0x021C4630 + bx lr + .balign 4 +_02006124: .word 0x021C45B0 +_02006128: .word 0x021C45F0 +_0200612C: .word 0x021C4630 + + thumb_func_start sub_02006130 +sub_02006130: ; 0x02006130 + push {r4-r5, lr} + sub sp, #0x2c + add r3, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r0, sp, #0x0 + mov r1, #0x0 + add r2, r3, #0x0 + blx sub_020D24EC + cmp r0, #0x0 + bne _02006152 + bl sub_02020C2C + add sp, #0x2c + mov r0, #0x0 + pop {r4-r5, pc} +_02006152: + ldr r2, [sp, #0x4] + str r2, [r5, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [sp, #0xc] + add r0, r1, r0 + add r0, r2, r0 + str r0, [r4, #0x0] + mov r0, #0x1 + add sp, #0x2c + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02006168 +sub_02006168: ; 0x02006168 + ldr r3, _0200616C ; =sub_020D2094 + bx r3 + .balign 4 +_0200616C: .word sub_020D2094 + + thumb_func_start sub_02006170 +sub_02006170: ; 0x02006170 + push {lr} + sub sp, #0x2c + add r3, r0, #0x0 + add r2, r1, #0x0 + add r0, sp, #0x0 + add r1, r3, #0x0 + blx sub_020D24EC + cmp r0, #0x0 + bne _0200618A + add sp, #0x2c + mov r0, #0x0 + pop {pc} +_0200618A: + add r0, sp, #0x0 + blx sub_020D23B4 + cmp r0, #0x0 + bne _0200619A + add sp, #0x2c + mov r0, #0x0 + pop {pc} +_0200619A: + add r0, sp, #0x0 + blx sub_020D2210 + mov r0, #0x1 + add sp, #0x2c + pop {pc} + .balign 4 + + thumb_func_start sub_020061A8 +sub_020061A8: ; 0x020061A8 + push {lr} + sub sp, #0x74 + add r3, r0, #0x0 + add r2, r1, #0x0 + add r0, sp, #0x0 + add r1, r3, #0x0 + blx sub_020D24EC + cmp r0, #0x0 + bne _020061C2 + add sp, #0x74 + mov r0, #0x0 + pop {pc} +_020061C2: + add r0, sp, #0x2c + blx sub_020D1C94 + add r0, sp, #0x0 + add r1, sp, #0x2c + blx sub_020D2454 + add r0, sp, #0x2c + blx sub_020D182C + add r0, sp, #0x2c + blx sub_020D18FC + add r0, sp, #0x0 + blx sub_020D2210 + mov r0, #0x1 + add sp, #0x74 + pop {pc} + + thumb_func_start sub_020061E8 +sub_020061E8: ; 0x020061E8 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r7, r2, #0x0 + cmp r5, #0x0 + beq _0200620C + add r0, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + bne _02006202 + mov r0, #0x0 + pop {r3-r7, pc} +_02006202: + mov r1, #0x0 + add r2, r5, #0x0 + blx sub_020DF4A4 + b _0200620E +_0200620C: + mov r4, #0x0 +_0200620E: + add r0, r6, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0200CA44 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200621C +sub_0200621C: ; 0x0200621C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201B6C8 + cmp r0, #0x0 + beq _0200622C + bl sub_02016A18 +_0200622C: + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + + thumb_func_start sub_02006234 +sub_02006234: ; 0x02006234 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x28 + bl sub_02016998 + add r3, r0, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0x0 + str r0, [r3, #0x10] + str r0, [r3, #0x14] + str r4, [r3, #0x18] + str r0, [r3, #0x1c] + str r0, [r3, #0x20] + str r0, [r3, #0x24] + add r0, r3, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02006260 +sub_02006260: ; 0x02006260 + ldr r3, _02006264 ; =sub_02016A18 + bx r3 + .balign 4 +_02006264: .word sub_02016A18 + 1 + + thumb_func_start sub_02006268 +sub_02006268: ; 0x02006268 + push {r4, lr} + add r4, r0, #0x0 + add r0, r2, #0x0 + bl sub_02016998 + str r0, [r4, #0x1c] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02006278 +sub_02006278: ; 0x02006278 + ldr r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_0200627C +sub_0200627C: ; 0x0200627C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x1c] + pop {r4, pc} + + thumb_func_start sub_0200628C +sub_0200628C: ; 0x0200628C + ldr r0, [r0, #0x18] + bx lr + + thumb_func_start sub_02006290 +sub_02006290: ; 0x02006290 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x10] + cmp r1, #0x3 + bhi _0200630E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r3, #0 + lsl r2, r6, #0 + lsl r0, r1, #0x1 + mov r1, #0x0 + ldr r0, [r4, #0xc] + mvn r1, r1 + cmp r0, r1 + beq _020062BE + mov r1, #0x2 + bl sub_02005FDC +_020062BE: + mov r0, #0x1 + str r0, [r4, #0x10] + add r1, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + add r1, #0x14 + blx r2 + cmp r0, #0x1 + bne _0200630E + mov r0, #0x2 + str r0, [r4, #0x10] + mov r0, #0x0 + str r0, [r4, #0x14] + b _0200630E +_020062DA: + .byte 0x21, 0x1C, 0x62, 0x68, 0x14, 0x31 + .byte 0x90, 0x47, 0x01, 0x28, 0x13, 0xD1, 0x03, 0x20, 0x20, 0x61, 0x00, 0x20, 0x60, 0x61, 0x0E, 0xE0 + .byte 0x21, 0x1C, 0xA2, 0x68, 0x14, 0x31, 0x90, 0x47, 0x01, 0x28, 0x08, 0xD1, 0x00, 0x21, 0xE0, 0x68 + .byte 0xC9, 0x43, 0x88, 0x42, 0x01, 0xD0, 0xFF, 0xF7, 0x2B, 0xFE, 0x01, 0x20, 0x10, 0xBD +_0200630E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02006314 +sub_02006314: ; 0x02006314 + push {r3-r7, lr} + sub sp, #0x60 + add r4, r1, #0x0 + mov r1, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x14] + str r1, [sp, #0x10] + str r1, [sp, #0xc] + add r0, sp, #0x8 + strh r1, [r0, #0x0] + add r0, sp, #0x18 + add r5, r2, #0x0 + str r3, [sp, #0x4] + blx sub_020D1C94 + add r0, sp, #0x18 + add r1, r4, #0x0 + blx sub_020D1944 + add r0, sp, #0x18 + mov r1, #0xc + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x2 + blx sub_020D180C + ldr r4, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x4 + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x18 + add r1, sp, #0x8 + mov r2, #0x2 + blx sub_020D180C + add r0, sp, #0x8 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200637A + bl sub_02020C2C +_0200637A: + ldr r0, [sp, #0x14] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x18 + add r1, r6, #0x4 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx sub_020D180C + add r4, #0xc + lsl r1, r5, #0x3 + add r0, sp, #0x18 + add r1, r4, r1 + mov r2, #0x0 + ldr r7, [sp, #0x14] + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x10 + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x18 + add r1, sp, #0xc + mov r2, #0x4 + blx sub_020D180C + add r2, r6, r7 + ldr r1, [sp, #0x10] + add r2, #0x8 + add r2, r2, r1 + ldr r1, [sp, #0x4] + add r0, sp, #0x18 + add r1, r1, r2 + mov r2, #0x0 + blx sub_020D17A0 + ldr r0, [sp, #0x78] + cmp r0, #0x0 + bne _020063D6 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x10] + sub r0, r1, r0 +_020063D6: + str r0, [sp, #0x14] + cmp r0, #0x0 + bne _020063E0 + bl sub_02020C2C +_020063E0: + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x14] + add r0, sp, #0x18 + blx sub_020D180C + add r0, sp, #0x18 + blx sub_020D18FC + add sp, #0x60 + pop {r3-r7, pc} + + thumb_func_start sub_020063F4 +sub_020063F4: ; 0x020063F4 + push {r3-r7, lr} + sub sp, #0x60 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0x14] + str r1, [sp, #0x10] + str r1, [sp, #0xc] + add r0, sp, #0x8 + strh r1, [r0, #0x0] + add r0, sp, #0x18 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + blx sub_020D1C94 + add r0, sp, #0x18 + add r1, r4, #0x0 + blx sub_020D1944 + add r0, sp, #0x18 + mov r1, #0xc + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x2 + blx sub_020D180C + ldr r4, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x4 + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x18 + add r1, sp, #0x8 + mov r2, #0x2 + blx sub_020D180C + add r0, sp, #0x8 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200645A + bl sub_02020C2C +_0200645A: + ldr r0, [sp, #0x14] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x18 + add r1, r6, #0x4 + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx sub_020D180C + add r4, #0xc + lsl r1, r5, #0x3 + add r0, sp, #0x18 + add r1, r4, r1 + mov r2, #0x0 + ldr r7, [sp, #0x14] + blx sub_020D17A0 + add r0, sp, #0x18 + add r1, sp, #0x10 + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x18 + add r1, sp, #0xc + mov r2, #0x4 + blx sub_020D180C + add r2, r6, r7 + ldr r1, [sp, #0x10] + add r2, #0x8 + add r2, r2, r1 + ldr r1, [sp, #0x4] + add r0, sp, #0x18 + add r1, r1, r2 + mov r2, #0x0 + blx sub_020D17A0 + ldr r0, [sp, #0x78] + cmp r0, #0x0 + bne _020064B6 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x10] + sub r0, r1, r0 +_020064B6: + str r0, [sp, #0x14] + cmp r0, #0x0 + bne _020064C0 + bl sub_02020C2C +_020064C0: + ldr r0, [sp, #0x7c] + cmp r0, #0x0 + bne _020064D0 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x14] + bl sub_02016998 + b _020064D8 +_020064D0: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x14] + bl sub_020169D8 +_020064D8: + add r4, r0, #0x0 + ldr r2, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x0 + blx sub_020D180C + add r0, sp, #0x18 + blx sub_020D18FC + add r0, r4, #0x0 + add sp, #0x60 + pop {r3-r7, pc} + + thumb_func_start sub_020064F0 +sub_020064F0: ; 0x020064F0 + push {r3-r4, lr} + sub sp, #0x4 + mov r3, #0x0 + lsl r4, r1, #0x2 + ldr r1, _02006508 ; =0x021058A0 + str r3, [sp, #0x0] + ldr r1, [r1, r4] + bl sub_02006314 + add sp, #0x4 + pop {r3-r4, pc} + nop +_02006508: .word 0x021058A0 + + thumb_func_start sub_0200650C +sub_0200650C: ; 0x0200650C + push {r4, lr} + sub sp, #0x8 + mov r3, #0x0 + str r3, [sp, #0x0] + lsl r4, r0, #0x2 + ldr r0, _02006524 ; =0x021058A0 + str r3, [sp, #0x4] + ldr r0, [r0, r4] + bl sub_020063F4 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_02006524: .word 0x021058A0 + + thumb_func_start sub_02006528 +sub_02006528: ; 0x02006528 + push {r4, lr} + sub sp, #0x8 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r4, #0x1 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _02006544 ; =0x021058A0 + ldr r0, [r0, r4] + bl sub_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_02006544: .word 0x021058A0 + + thumb_func_start sub_02006548 +sub_02006548: ; 0x02006548 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + lsl r4, r1, #0x2 + ldr r1, _02006560 ; =0x021058A0 + ldr r1, [r1, r4] + bl sub_02006314 + add sp, #0x4 + pop {r3-r4, pc} + nop +_02006560: .word 0x021058A0 + + thumb_func_start sub_02006564 +sub_02006564: ; 0x02006564 + push {r4, lr} + sub sp, #0x8 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + mov r4, #0x0 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _02006580 ; =0x021058A0 + ldr r0, [r0, r4] + bl sub_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_02006580: .word 0x021058A0 + + thumb_func_start sub_02006584 +sub_02006584: ; 0x02006584 + push {r4, lr} + sub sp, #0x8 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + mov r4, #0x1 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _020065A0 ; =0x021058A0 + ldr r0, [r0, r4] + bl sub_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_020065A0: .word 0x021058A0 + + thumb_func_start sub_020065A4 +sub_020065A4: ; 0x020065A4 + push {r3-r7, lr} + sub sp, #0x58 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0xc] + str r1, [sp, #0x8] + str r1, [sp, #0x4] + add r0, sp, #0x0 + strh r1, [r0, #0x0] + add r0, sp, #0x10 + blx sub_020D1C94 + ldr r1, _0200666C ; =0x021058A0 + lsl r2, r4, #0x2 + ldr r1, [r1, r2] + add r0, sp, #0x10 + blx sub_020D1944 + add r0, sp, #0x10 + mov r1, #0xc + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x2 + blx sub_020D180C + ldr r4, [sp, #0xc] + add r0, sp, #0x10 + add r1, r4, #0x4 + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x10 + add r1, sp, #0x0 + mov r2, #0x2 + blx sub_020D180C + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200660A + bl sub_02020C2C +_0200660A: + ldr r0, [sp, #0xc] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x10 + add r1, r6, #0x4 + blx sub_020D17A0 + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x4 + blx sub_020D180C + add r4, #0xc + lsl r1, r5, #0x3 + add r0, sp, #0x10 + add r1, r4, r1 + mov r2, #0x0 + ldr r7, [sp, #0xc] + blx sub_020D17A0 + add r0, sp, #0x10 + add r1, sp, #0x8 + mov r2, #0x4 + blx sub_020D180C + add r0, sp, #0x10 + add r1, sp, #0x4 + mov r2, #0x4 + blx sub_020D180C + add r2, r6, r7 + ldr r1, [sp, #0x8] + add r2, #0x8 + add r1, r2, r1 + add r0, sp, #0x10 + mov r2, #0x0 + blx sub_020D17A0 + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + sub r0, r1, r0 + str r0, [sp, #0xc] + bne _02006664 + bl sub_02020C2C +_02006664: + ldr r0, [sp, #0xc] + add sp, #0x58 + pop {r3-r7, pc} + nop +_0200666C: .word 0x021058A0 + + thumb_func_start sub_02006670 +sub_02006670: ; 0x02006670 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x54 + bl sub_02016998 + add r4, r0, #0x0 + beq _020066EC + mov r1, #0x0 + str r1, [r4, #0x48] + blx sub_020D1C94 + ldr r1, _020066F0 ; =0x021058A0 + lsl r2, r5, #0x2 + ldr r1, [r1, r2] + add r0, r4, #0x0 + blx sub_020D1944 + add r0, r4, #0x0 + mov r1, #0xc + mov r2, #0x0 + blx sub_020D17A0 + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x48 + mov r2, #0x2 + blx sub_020D180C + ldr r1, [r4, #0x48] + add r0, r4, #0x0 + add r1, r1, #0x4 + mov r2, #0x0 + blx sub_020D17A0 + add r0, r4, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x50 + mov r2, #0x2 + blx sub_020D180C + ldr r1, [r4, #0x48] + ldr r0, [sp, #0x0] + mov r2, #0x0 + add r5, r1, r0 + add r0, r4, #0x0 + add r1, r5, #0x4 + blx sub_020D17A0 + add r0, r4, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldr r0, [sp, #0x0] + add r0, r5, r0 + str r0, [r4, #0x4c] +_020066EC: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_020066F0: .word 0x021058A0 + + thumb_func_start sub_020066F4 +sub_020066F4: ; 0x020066F4 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020D18FC + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02006704 +sub_02006704: ; 0x02006704 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r0, r4 + bhi _0200671A + bl sub_02020C2C +_0200671A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx sub_020D180C + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldr r2, [r5, #0x4c] + ldr r1, [sp, #0x4] + add r2, #0x8 + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + ldr r2, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + sub r1, r2, r1 + bl sub_02016998 + add r4, r0, #0x0 + beq _0200676C + ldr r3, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + sub r2, r3, r2 + blx sub_020D180C +_0200676C: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02006774 +sub_02006774: ; 0x02006774 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r0, r4 + bhi _0200678A + bl sub_02020C2C +_0200678A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx sub_020D180C + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldr r2, [r5, #0x4c] + ldr r1, [sp, #0x4] + add r2, #0x8 + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + ldr r3, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r6, #0x0 + sub r2, r3, r2 + blx sub_020D180C + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_020067D0 +sub_020067D0: ; 0x020067D0 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + cmp r0, r4 + bhi _020067E4 + bl sub_02020C2C +_020067E4: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx sub_020D180C + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x4] + sub r0, r1, r0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02006814 +sub_02006814: ; 0x02006814 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, r4 + bhi _0200682A + bl sub_02020C2C +_0200682A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx sub_020D17A0 + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldr r2, [r5, #0x4c] + ldr r1, [sp, #0x0] + add r2, #0x8 + add r1, r2, r1 + add r0, r5, #0x0 + add r1, r6, r1 + mov r2, #0x0 + blx sub_020D17A0 + ldr r1, [sp, #0x18] + add r0, r5, #0x0 + add r2, r7, #0x0 + blx sub_020D180C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02006864 +sub_02006864: ; 0x02006864 + add r3, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, _02006870 ; =0x020D180C + bx r3 + nop +_02006870: .word 0x020D180C + + thumb_func_start sub_02006874 +sub_02006874: ; 0x02006874 + add r0, #0x50 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0200687C +sub_0200687C: ; 0x0200687C + push {r3-r7, lr} + sub sp, #0x8 + add r6, r2, #0x0 + mov r2, #0x0 + add r5, r3, #0x0 + str r2, [sp, #0x0] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x2c] + ldr r4, [sp, #0x24] + bl sub_02006C98 + add r7, r0, #0x0 + beq _020068C2 + add r1, sp, #0x4 + blx sub_020B0030 + cmp r0, #0x0 + beq _020068BC + cmp r4, #0x0 + bne _020068A8 + ldr r0, [sp, #0x4] + ldr r4, [r0, #0x10] +_020068A8: + ldr r0, [sp, #0x20] + lsl r1, r5, #0x18 + str r0, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + ldr r2, [r2, #0x14] + lsr r1, r1, #0x18 + add r3, r4, #0x0 + bl sub_02017E14 +_020068BC: + add r0, r7, #0x0 + bl sub_02016A18 +_020068C2: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_020068C8 +sub_020068C8: ; 0x020068C8 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r2, #0x0 + mov r2, #0x1 + add r5, r3, #0x0 + str r2, [sp, #0x0] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x2c] + ldr r4, [sp, #0x24] + bl sub_02006C98 + add r7, r0, #0x0 + beq _0200692C + add r1, sp, #0x4 + blx sub_020B0180 + cmp r0, #0x0 + beq _02006926 + cmp r4, #0x0 + bne _020068F4 + ldr r0, [sp, #0x4] + ldr r4, [r0, #0x8] +_020068F4: + lsl r1, r5, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + bl sub_0201886C + cmp r0, #0x0 + beq _02006912 + ldr r2, [sp, #0x4] + lsl r1, r5, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + add r2, #0xc + add r3, r4, #0x0 + bl sub_02017DFC +_02006912: + ldr r0, [sp, #0x20] + lsl r1, r5, #0x18 + str r0, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + lsr r1, r1, #0x18 + add r2, #0xc + add r3, r4, #0x0 + bl sub_02017CE8 +_02006926: + add r0, r7, #0x0 + bl sub_02016A18 +_0200692C: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02006930 +sub_02006930: ; 0x02006930 + push {lr} + sub sp, #0xc + str r3, [sp, #0x0] + ldr r3, [sp, #0x10] + str r3, [sp, #0x4] + ldr r3, [sp, #0x14] + str r3, [sp, #0x8] + mov r3, #0x0 + bl sub_02006948 + add sp, #0xc + pop {pc} + + thumb_func_start sub_02006948 +sub_02006948: ; 0x02006948 + push {r4-r7, lr} + sub sp, #0xc + add r4, r2, #0x0 + add r7, r3, #0x0 + mov r2, #0x1 + str r2, [sp, #0x0] + ldr r3, [sp, #0x28] + mov r2, #0x0 + ldr r6, [sp, #0x20] + ldr r5, [sp, #0x24] + bl sub_02006C98 + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02006A2A + add r1, sp, #0x8 + blx sub_020B0138 + cmp r0, #0x0 + beq _02006A24 + ldr r0, [sp, #0x8] + ldr r1, [r0, #0xc] + add r1, r1, r7 + str r1, [r0, #0xc] + cmp r5, #0x0 + bne _02006982 + ldr r0, [sp, #0x8] + ldr r0, [r0, #0x8] + sub r5, r0, r7 +_02006982: + ldr r0, [sp, #0x8] + add r1, r5, #0x0 + ldr r0, [r0, #0xc] + blx sub_020CC15C + cmp r4, #0x7 + bhi _02006A14 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r1, #0 + lsl r2, r0, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r0, r5, #0 + lsl r4, r3, #0x1 + blx sub_020C8B10 + ldr r0, [sp, #0x8] + ldr r3, _02006A30 ; =0x020ECBB0 + lsl r4, r4, #0x2 + ldr r0, [r0, #0xc] + ldr r3, [r3, r4] + add r1, r6, #0x0 + add r2, r5, #0x0 + blx r3 + blx sub_020C8A2C + b _02006A24 +_020069C6: + .byte 0xC1, 0xF0, 0x82, 0xEF, 0x02, 0x98, 0x18, 0x4B, 0xA4, 0x00 + .byte 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x18, 0xEF, 0x21, 0xE0 + .byte 0xC1, 0xF0, 0xEC, 0xEF, 0x02, 0x98, 0x12, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C + .byte 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x7C, 0xEF, 0x14, 0xE0, 0xC1, 0xF0, 0xF6, 0xEE, 0x02, 0x98 + .byte 0x0B, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0 + .byte 0x8C, 0xEE, 0x07, 0xE0 +_02006A14: + ldr r0, [sp, #0x8] + ldr r3, _02006A30 ; =0x020ECBB0 + lsl r4, r4, #0x2 + ldr r0, [r0, #0xc] + ldr r3, [r3, r4] + add r1, r6, #0x0 + add r2, r5, #0x0 + blx r3 +_02006A24: + ldr r0, [sp, #0x4] + bl sub_02016A18 +_02006A2A: + add sp, #0xc + pop {r4-r7, pc} + nop +_02006A30: .word 0x020ECBB0 + + thumb_func_start sub_02006A34 +sub_02006A34: ; 0x02006A34 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r2, #0x0 + mov r2, #0x1 + add r6, r3, #0x0 + str r2, [sp, #0x0] + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x28] + ldr r4, [sp, #0x20] + bl sub_02006C98 + add r7, r0, #0x0 + beq _02006A80 + add r1, sp, #0x4 + blx sub_020B0088 + cmp r0, #0x0 + beq _02006A7A + cmp r4, #0x0 + bne _02006A60 + ldr r0, [sp, #0x4] + ldr r4, [r0, #0x10] +_02006A60: + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + ldr r0, [r0, #0x14] + blx sub_020CC15C + ldr r0, [sp, #0x4] + ldr r3, _02006A88 ; =0x020ECBA0 + lsl r5, r5, #0x2 + ldr r0, [r0, #0x14] + ldr r3, [r3, r5] + add r1, r6, #0x0 + add r2, r4, #0x0 + blx r3 +_02006A7A: + add r0, r7, #0x0 + bl sub_02016A18 +_02006A80: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + nop +_02006A88: .word 0x020ECBA0 + + thumb_func_start sub_02006A8C +sub_02006A8C: ; 0x02006A8C + push {r4-r7, lr} + sub sp, #0xc + add r5, r2, #0x0 + add r4, r3, #0x0 + mov r2, #0x1 + str r2, [sp, #0x0] + ldr r3, [sp, #0x20] + mov r2, #0x0 + bl sub_02006C98 + add r6, r0, #0x0 + beq _02006AE0 + add r1, sp, #0x4 + blx sub_020B00F0 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r1, sp, #0x8 + blx sub_020B0138 + cmp r0, #0x0 + beq _02006ADA + cmp r7, #0x0 + beq _02006ACE + ldr r0, [sp, #0x24] + add r2, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + add r3, r5, #0x0 + blx sub_020B10E8 + b _02006ADA +_02006ACE: + ldr r0, [sp, #0x8] + ldr r3, [sp, #0x24] + add r1, r4, #0x0 + add r2, r5, #0x0 + blx sub_020B1240 +_02006ADA: + add r0, r6, #0x0 + bl sub_02016A18 +_02006AE0: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02006AE4 +sub_02006AE4: ; 0x02006AE4 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r3, #0x0 + mov r3, #0x1 + str r3, [sp, #0x0] + ldr r3, [sp, #0x24] + bl sub_02006C98 + add r6, r0, #0x0 + ldr r4, _02006B30 ; =0x00000000 + beq _02006B28 + add r1, sp, #0x4 + blx sub_020B0088 + cmp r0, #0x0 + beq _02006B22 + ldr r1, [sp, #0x18] + cmp r1, #0x0 + beq _02006B0E + ldr r0, [sp, #0x4] + str r1, [r0, #0x10] +_02006B0E: + ldr r4, _02006B34 ; =0x020ECBA8 + lsl r5, r5, #0x2 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x20] + ldr r2, [sp, #0x1c] + ldr r3, [sp, #0x28] + ldr r4, [r4, r5] + blx r4 + ldr r0, [sp, #0x4] + ldr r4, [r0, #0x10] +_02006B22: + add r0, r6, #0x0 + bl sub_02016A18 +_02006B28: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + nop +_02006B30: .word 0x00000000 +_02006B34: .word 0x020ECBA8 + + thumb_func_start sub_02006B38 +sub_02006B38: ; 0x02006B38 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r3, #0x0 + mov r3, #0x1 + str r3, [sp, #0x0] + ldr r3, [sp, #0x24] + bl sub_02006C98 + add r4, r0, #0x0 + beq _02006B9E + add r1, sp, #0x4 + blx sub_020B0088 + cmp r0, #0x0 + beq _02006B98 + ldr r1, [sp, #0x18] + cmp r1, #0x0 + beq _02006B60 + ldr r0, [sp, #0x4] + str r1, [r0, #0x10] +_02006B60: + ldr r0, [sp, #0x1c] + cmp r0, #0x1 + beq _02006B6C + cmp r0, #0x2 + beq _02006B7C + b _02006B88 +_02006B6C: + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + ldr r0, _02006BA4 ; =0x00300010 + and r1, r0 + ldr r0, [sp, #0x4] + str r1, [r0, #0x8] + b _02006B88 +_02006B7C: + ldr r0, _02006BA8 ; =0x04001000 + ldr r1, [r0, #0x0] + ldr r0, _02006BA4 ; =0x00300010 + and r1, r0 + ldr r0, [sp, #0x4] + str r1, [r0, #0x8] +_02006B88: + lsl r6, r5, #0x2 + ldr r5, _02006BAC ; =0x020ECB98 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x20] + ldr r2, [sp, #0x1c] + ldr r3, [sp, #0x28] + ldr r5, [r5, r6] + blx r5 +_02006B98: + add r0, r4, #0x0 + bl sub_02016A18 +_02006B9E: + add sp, #0x8 + pop {r4-r6, pc} + nop +_02006BA4: .word 0x00300010 +_02006BA8: .word 0x04001000 +_02006BAC: .word 0x020ECB98 + + thumb_func_start sub_02006BB0 +sub_02006BB0: ; 0x02006BB0 + push {r3-r5, lr} + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r3, [sp, #0x10] + bl sub_02006C98 + add r5, r0, #0x0 + beq _02006BD6 + add r1, r4, #0x0 + blx sub_020B0030 + cmp r0, #0x0 + bne _02006BD6 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02006BD6: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02006BDC +sub_02006BDC: ; 0x02006BDC + push {r3-r5, lr} + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r3, [sp, #0x10] + bl sub_02006C98 + add r5, r0, #0x0 + beq _02006C02 + add r1, r4, #0x0 + blx sub_020B0180 + cmp r0, #0x0 + bne _02006C02 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02006C02: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02006C08 +sub_02006C08: ; 0x02006C08 + push {r3-r5, lr} + add r5, r2, #0x0 + mov r2, #0x0 + str r2, [sp, #0x0] + bl sub_02006C98 + add r4, r0, #0x0 + beq _02006C2C + add r1, r5, #0x0 + blx sub_020B0138 + cmp r0, #0x0 + bne _02006C2C + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02006C2C: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02006C30 +sub_02006C30: ; 0x02006C30 + push {r3-r5, lr} + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r3, [sp, #0x10] + bl sub_02006C98 + add r5, r0, #0x0 + beq _02006C56 + add r1, r4, #0x0 + blx sub_020AFEB8 + cmp r0, #0x0 + bne _02006C56 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02006C56: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02006C5C +sub_02006C5C: ; 0x02006C5C + push {r3-r5, lr} + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r3, [sp, #0x10] + bl sub_02006C98 + add r5, r0, #0x0 + beq _02006C82 + add r1, r4, #0x0 + blx sub_020AFD94 + cmp r0, #0x0 + bne _02006C82 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02006C82: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02006C88 +sub_02006C88: ; 0x02006C88 + push {r3, lr} + add r3, r2, #0x0 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r2, #0x1 + bl sub_02006C98 + pop {r3, pc} + + thumb_func_start sub_02006C98 +sub_02006C98: ; 0x02006C98 + push {r3-r7, lr} + add r5, r2, #0x0 + add r7, r0, #0x0 + add r6, r3, #0x0 + str r1, [sp, #0x0] + cmp r5, #0x0 + bne _02006CAC + ldr r2, [sp, #0x18] + cmp r2, #0x1 + bne _02006CC0 +_02006CAC: + ldr r1, [sp, #0x0] + add r0, r7, #0x0 + bl sub_020065A4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_020169D8 + add r4, r0, #0x0 + b _02006CCE +_02006CC0: + bl sub_020065A4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_02016998 + add r4, r0, #0x0 +_02006CCE: + cmp r4, #0x0 + beq _02006D12 + ldr r2, [sp, #0x0] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_020064F0 + cmp r5, #0x0 + beq _02006D12 + ldr r0, [sp, #0x18] + cmp r0, #0x0 + bne _02006CF2 + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + lsr r1, r1, #0x8 + bl sub_02016998 + b _02006CFC +_02006CF2: + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + lsr r1, r1, #0x8 + bl sub_020169D8 +_02006CFC: + add r5, r0, #0x0 + cmp r5, #0x0 + beq _02006D10 + add r0, r4, #0x0 + add r1, r5, #0x0 + blx sub_020CE528 + add r0, r4, #0x0 + bl sub_02016A18 +_02006D10: + add r4, r5, #0x0 +_02006D12: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02006D18 +sub_02006D18: ; 0x02006D18 + push {r3-r7, lr} + sub sp, #0x8 + ldr r5, [sp, #0x24] + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020065A4 + str r0, [r5, #0x0] + cmp r6, #0x0 + bne _02006D36 + ldr r0, [sp, #0x20] + cmp r0, #0x1 + bne _02006D42 +_02006D36: + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_020169D8 + add r4, r0, #0x0 + b _02006D4C +_02006D42: + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_02016998 + add r4, r0, #0x0 +_02006D4C: + cmp r4, #0x0 + beq _02006D92 + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + bl sub_020064F0 + cmp r6, #0x0 + beq _02006D92 + ldr r0, [r4, #0x0] + lsr r0, r0, #0x8 + str r0, [r5, #0x0] + ldr r0, [sp, #0x20] + cmp r0, #0x0 + bne _02006D74 + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_02016998 + b _02006D7C +_02006D74: + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_020169D8 +_02006D7C: + add r5, r0, #0x0 + cmp r5, #0x0 + beq _02006D90 + add r0, r4, #0x0 + add r1, r5, #0x0 + blx sub_020CE528 + add r0, r4, #0x0 + bl sub_02016A18 +_02006D90: + add r4, r5, #0x0 +_02006D92: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02006D98 +sub_02006D98: ; 0x02006D98 + push {r3-r7, lr} + sub sp, #0x10 + mov r1, #0xba + lsl r1, r1, #0x2 + add r5, r0, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0xa6 + lsl r0, r0, #0x2 + add r1, r0, #0x0 + add r3, r0, #0x0 + str r5, [r4, r0] + mov r2, #0x0 + add r1, #0x48 + strb r2, [r4, r1] + add r1, r0, #0x4 + str r2, [r4, r1] + mov r1, #0x2 + lsl r1, r1, #0xe + add r3, #0x8 + str r1, [r4, r3] + add r3, r0, #0x0 + add r3, #0xc + str r2, [r4, r3] + mov r2, #0x80 + add r0, #0x10 + str r2, [r4, r0] + add r0, r5, #0x0 + bl sub_02016998 + mov r1, #0xab + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r5, #0x0 + mov r1, #0xc0 + bl sub_02016998 + mov r1, #0x2b + lsl r1, r1, #0x4 + str r0, [r4, r1] + ldr r1, [r4, r1] + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CE240 + add r0, r5, #0x0 + mov r1, #0xc0 + bl sub_02016998 + mov r1, #0xad + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, [r4, r1] + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CE240 + mov r6, #0x0 + add r5, r4, #0x0 + add r7, r6, #0x0 +_02006E12: + add r0, r7, #0x0 + add r1, r5, #0x0 + mov r2, #0x98 + blx sub_020CE240 + add r6, r6, #0x1 + add r5, #0x98 + cmp r6, #0x4 + blt _02006E12 + blx sub_020B02C8 + ldr r2, _02006EC8 ; =0x000002E3 + mov r0, #0x0 + strb r0, [r4, r2] + sub r2, #0x4b + ldr r2, [r4, r2] + mov r0, #0x75 + mov r1, #0xd3 + bl sub_0200650C + add r1, sp, #0xc + str r0, [sp, #0x4] + blx sub_020B0088 + ldr r0, [sp, #0xc] + mov r1, #0xaf + ldr r0, [r0, #0x4] + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [sp, #0xc] + ldr r2, [r0, #0x8] + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [sp, #0xc] + add r1, #0x8 + ldr r0, [r0, #0xc] + str r0, [r4, r1] + ldr r0, [sp, #0xc] + ldr r0, [r0, #0x14] + str r0, [sp, #0x8] + bl sub_02008A74 + ldr r1, [sp, #0x8] + mov r0, #0xab + lsl r0, r0, #0x2 + mov r2, #0x2 + ldrb r1, [r1, #0x0] + ldr r0, [r4, r0] + lsl r2, r2, #0xe + blx sub_020CE34C + mov r0, #0x0 + mov r7, #0xab + ldr r6, _02006ECC ; =0x00005050 + mov r12, r0 + str r0, [sp, #0x0] + add r3, r0, #0x0 + lsl r7, r7, #0x2 +_02006E86: + ldr r2, [sp, #0x8] + ldr r0, [sp, #0x0] + mov r1, #0x0 + add r2, r2, r0 +_02006E8E: + ldr r5, [r4, r7] + ldrb r0, [r2, #0x0] + add r5, r3, r5 + add r5, r1, r5 + add r1, r1, #0x1 + add r2, r2, #0x1 + strb r0, [r5, r6] + cmp r1, #0x28 + blt _02006E8E + ldr r0, [sp, #0x0] + add r3, #0x80 + add r0, #0x50 + str r0, [sp, #0x0] + mov r0, r12 + add r0, r0, #0x1 + mov r12, r0 + cmp r0, #0x50 + blt _02006E86 + ldr r0, [sp, #0x4] + bl sub_02016A18 + ldr r0, _02006ED0 ; =0x000002E1 + mov r1, #0x1 + strb r1, [r4, r0] + add r0, r0, #0x1 + strb r1, [r4, r0] + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02006EC8: .word 0x000002E3 +_02006ECC: .word 0x00005050 +_02006ED0: .word 0x000002E1 + + thumb_func_start sub_02006ED4 +sub_02006ED4: ; 0x02006ED4 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + bl sub_020082A8 + add r0, r5, #0x0 + bl sub_020086F4 + blx sub_020BB394 + mov r6, #0x9f + mov r0, #0x0 + ldr r4, _02007250 ; =0x04000444 + lsl r6, r6, #0x2 + str r0, [r4, #0x0] + str r0, [sp, #0x18] + add r0, r6, #0x0 + sub r0, #0xc + ldr r1, [r5, r0] + add r3, r6, #0x0 + ldr r2, [r5, r6] + add r0, r6, #0x0 + sub r3, #0x8 + add r6, #0x20 + ldr r3, [r5, r3] + ldr r6, [r5, r6] + sub r0, #0x10 + ldr r0, [r5, r0] + lsr r6, r6, #0x3 + lsl r3, r3, #0x1a + orr r6, r3 + mov r3, #0x1 + lsl r3, r3, #0x1e + lsl r0, r0, #0x14 + orr r3, r6 + lsl r1, r1, #0x17 + orr r0, r3 + lsl r2, r2, #0x1d + orr r0, r1 + orr r0, r2 + str r0, [r4, #0x64] + ldr r0, [sp, #0x18] + add r4, r5, #0x0 + str r0, [sp, #0x14] + ldr r0, _02007254 ; =0x020ECD4C + str r0, [sp, #0x1c] +_02006F30: + ldr r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _02006F46 + ldr r0, [r4, #0x54] + lsl r1, r0, #0x1f + lsr r1, r1, #0x1f + bne _02006F46 + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + beq _02006F48 +_02006F46: + b _020072BC +_02006F48: + ldr r2, [r4, #0x68] + cmp r2, #0x0 + beq _02006F56 + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x24 + blx r2 +_02006F56: + blx sub_020BB394 + ldr r0, _02007258 ; =0x000002E3 + ldrb r0, [r5, r0] + cmp r0, #0x1 + beq _02006F68 + ldr r0, _0200725C ; =0x04000454 + mov r1, #0x0 + str r1, [r0, #0x0] +_02006F68: + add r0, r4, #0x0 + bl sub_02007F48 + mov r0, #0x9d + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + cmp r0, #0x2 + bne _02006F7C + mov r0, #0x1 + b _02006F7E +_02006F7C: + mov r0, #0x0 +_02006F7E: + mov r1, #0xa9 + lsl r1, r1, #0x2 + ldr r2, [r5, r1] + ldr r1, [sp, #0x14] + add r2, r2, r1 + mov r1, #0x4 + sub r0, r1, r0 + add r1, r2, #0x0 + lsr r1, r0 + ldr r0, _02007260 ; =0x040004AC + str r1, [r0, #0x0] + ldr r0, [r4, #0x28] + lsl r1, r0, #0xc + mov r0, #0x26 + ldrsh r2, [r4, r0] + mov r0, #0x42 + ldrsh r0, [r4, r0] + add r0, r2, r0 + mov r2, #0x24 + ldrsh r3, [r4, r2] + mov r2, #0x40 + ldrsh r2, [r4, r2] + lsl r0, r0, #0xc + add r2, r3, r2 + lsl r3, r2, #0xc + ldr r2, _02007264 ; =0x04000470 + str r3, [r2, #0x0] + str r0, [r2, #0x0] + add r0, r2, #0x0 + str r1, [r0, #0x0] + ldrh r0, [r4, #0x38] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02007268 ; =0x020FFA38 + add r2, r0, r1 + ldrsh r0, [r0, r1] + mov r1, #0x2 + ldrsh r1, [r2, r1] + blx sub_020C8068 + ldrh r0, [r4, #0x3a] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02007268 ; =0x020FFA38 + add r2, r0, r1 + ldrsh r0, [r0, r1] + mov r1, #0x2 + ldrsh r1, [r2, r1] + blx sub_020C802C + ldrh r0, [r4, #0x3c] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02007268 ; =0x020FFA38 + add r2, r0, r1 + ldrsh r0, [r0, r1] + mov r1, #0x2 + ldrsh r1, [r2, r1] + blx sub_020C7FF0 + ldr r0, [r4, #0x28] + lsl r0, r0, #0xc + neg r1, r0 + mov r0, #0x26 + ldrsh r2, [r4, r0] + mov r0, #0x42 + ldrsh r0, [r4, r0] + add r0, r2, r0 + mov r2, #0x24 + ldrsh r3, [r4, r2] + mov r2, #0x40 + ldrsh r2, [r4, r2] + lsl r0, r0, #0xc + neg r0, r0 + add r2, r3, r2 + lsl r2, r2, #0xc + neg r3, r2 + ldr r2, _02007264 ; =0x04000470 + str r3, [r2, #0x0] + str r0, [r2, #0x0] + add r0, r2, #0x0 + str r1, [r0, #0x0] + ldr r3, [r4, #0x50] + lsl r0, r3, #0x11 + lsr r0, r0, #0x1b + lsl r2, r3, #0x16 + lsl r1, r0, #0xa + lsl r0, r3, #0x1b + lsr r2, r2, #0x1b + lsr r0, r0, #0x1b + lsl r2, r2, #0x5 + orr r0, r2 + orr r0, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + lsl r0, r3, #0x2 + lsr r0, r0, #0x1b + lsl r1, r0, #0xa + lsl r0, r3, #0xc + lsl r3, r3, #0x7 + lsr r3, r3, #0x1b + lsr r0, r0, #0x1b + lsl r3, r3, #0x5 + orr r0, r3 + orr r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + add r1, r2, #0x0 + orr r1, r0 + mov r0, #0x2 + lsl r0, r0, #0xe + orr r1, r0 + ldr r0, _0200726C ; =0x040004C0 + str r1, [r0, #0x0] + ldr r1, _02007270 ; =0x00004210 + add r0, r0, #0x4 + str r1, [r0, #0x0] + ldr r1, [r4, #0x0] + ldr r0, [r4, #0x54] + lsl r1, r1, #0x19 + lsl r0, r0, #0x19 + lsr r1, r1, #0x1a + lsr r0, r0, #0x1b + lsl r2, r1, #0x18 + mov r1, #0xc0 + lsl r0, r0, #0x10 + orr r1, r2 + orr r1, r0 + ldr r0, _02007274 ; =0x040004A4 + str r1, [r0, #0x0] + ldr r0, [r4, #0x54] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _02007104 + add r0, r4, #0x0 + add r0, #0x5b + ldrb r0, [r0, #0x0] + add r2, r4, #0x0 + add r2, #0x44 + lsl r1, r0, #0x4 + ldr r0, [sp, #0x1c] + ldrb r3, [r2, #0x0] + add r0, r0, r1 + ldr r2, [sp, #0x1c] + ldr r0, [r0, #0x4] + ldr r1, [r2, r1] + add r6, r3, r1 + add r1, r4, #0x0 + add r1, #0x46 + ldrb r1, [r1, #0x0] + mov r12, r1 + add r1, r4, #0x0 + add r1, #0x45 + ldrb r2, [r1, #0x0] + add r1, r2, r0 + add r0, r4, #0x0 + add r0, #0x47 + ldrb r7, [r0, #0x0] + mov r0, r12 + add r0, r0, r6 + str r7, [sp, #0x0] + str r6, [sp, #0x4] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r7, r1 + str r0, [sp, #0x10] + mov r1, #0x24 + ldrsh r1, [r4, r1] + mov r0, #0x2c + ldrsh r0, [r4, r0] + sub r1, #0x28 + add r1, r1, r3 + add r0, r0, r1 + mov r3, #0x26 + ldrsh r3, [r4, r3] + mov r1, #0x2e + lsl r0, r0, #0x10 + sub r3, #0x28 + add r2, r3, r2 + ldrsh r1, [r4, r1] + ldr r3, [r4, #0x28] + asr r0, r0, #0x10 + add r2, r1, r2 + mov r1, #0x6e + ldrsb r1, [r4, r1] + sub r1, r2, r1 + ldr r2, [r4, #0x30] + lsl r1, r1, #0x10 + add r2, r3, r2 + asr r1, r1, #0x10 + mov r3, r12 + blx sub_020B0250 + b _02007174 +_02007104: + mov r0, #0x34 + ldrsh r1, [r4, r0] + mov r0, #0x50 + ldr r2, [sp, #0x1c] + mul r0, r1 + asr r3, r0, #0x8 + mov r0, #0x36 + ldrsh r1, [r4, r0] + mov r0, #0x50 + ldr r6, [sp, #0x1c] + mul r0, r1 + asr r1, r0, #0x8 + add r0, r4, #0x0 + add r0, #0x5b + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x4 + str r1, [sp, #0x0] + add r2, r2, r0 + ldr r0, [r6, r0] + lsr r6, r1, #0x1f + str r0, [sp, #0x4] + ldr r0, [r2, #0x4] + add r6, r1, r6 + str r0, [sp, #0x8] + ldr r0, [r2, #0x8] + asr r1, r6, #0x1 + str r0, [sp, #0xc] + ldr r0, [r2, #0xc] + str r0, [sp, #0x10] + mov r0, #0x24 + ldrsh r2, [r4, r0] + lsr r0, r3, #0x1f + add r0, r3, r0 + asr r0, r0, #0x1 + sub r2, r2, r0 + mov r0, #0x2c + ldrsh r0, [r4, r0] + ldr r6, [r4, #0x28] + add r0, r2, r0 + mov r2, #0x26 + ldrsh r2, [r4, r2] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + sub r2, r2, r1 + mov r1, #0x2e + ldrsh r1, [r4, r1] + add r2, r2, r1 + mov r1, #0x6e + ldrsb r1, [r4, r1] + sub r1, r2, r1 + ldr r2, [r4, #0x30] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add r2, r6, r2 + blx sub_020B0250 +_02007174: + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r1, r0, #0x1e + lsr r1, r1, #0x1e + beq _0200719A + lsl r0, r0, #0x19 + lsr r0, r0, #0x1e + beq _0200719A + ldr r0, [r4, #0x54] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bne _0200719A + mov r0, #0xb9 + lsl r0, r0, #0x2 + ldr r1, [r5, r0] + mov r0, #0x1 + tst r0, r1 + beq _0200719C +_0200719A: + b _020072BC +_0200719C: + ldr r0, _02007258 ; =0x000002E3 + ldrb r0, [r5, r0] + cmp r0, #0x1 + beq _020071AA + ldr r0, _0200725C ; =0x04000454 + mov r1, #0x0 + str r1, [r0, #0x0] +_020071AA: + mov r0, #0x9d + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + cmp r0, #0x2 + bne _020071B8 + mov r1, #0x1 + b _020071BA +_020071B8: + mov r1, #0x0 +_020071BA: + add r2, r4, #0x0 + add r2, #0x6c + ldrh r2, [r2, #0x0] + mov r0, #0xa9 + lsl r0, r0, #0x2 + lsl r2, r2, #0x1e + lsr r2, r2, #0x1e + add r2, r2, #0x3 + ldr r0, [r5, r0] + lsl r2, r2, #0x5 + add r2, r0, r2 + mov r0, #0x4 + sub r0, r0, r1 + add r1, r2, #0x0 + lsr r1, r0 + ldr r0, _02007260 ; =0x040004AC + str r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + beq _020071FA + mov r0, #0x34 + ldrsh r0, [r4, r0] + lsl r0, r0, #0x6 + asr r3, r0, #0x8 + mov r0, #0x36 + ldrsh r0, [r4, r0] + lsl r0, r0, #0x4 + asr r1, r0, #0x8 + b _020071FE +_020071FA: + mov r3, #0x40 + mov r1, #0x10 +_020071FE: + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _02007220 + mov r0, #0x74 + ldrsh r2, [r4, r0] + mov r0, #0x24 + mov r6, #0x2c + ldrsh r0, [r4, r0] + ldrsh r6, [r4, r6] + add r0, r0, r6 + add r2, r2, r0 + add r0, r4, #0x0 + add r0, #0x70 + strh r2, [r0, #0x0] +_02007220: + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + beq _02007242 + mov r0, #0x76 + ldrsh r2, [r4, r0] + mov r0, #0x26 + mov r6, #0x2e + ldrsh r0, [r4, r0] + ldrsh r6, [r4, r6] + add r0, r0, r6 + add r2, r2, r0 + add r0, r4, #0x0 + add r0, #0x72 + strh r2, [r0, #0x0] +_02007242: + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + ldr r2, _02007278 ; =0x020ECBD0 + ldr r6, _02007278 ; =0x020ECBD0 + b _0200727C + nop +_02007250: .word 0x04000444 +_02007254: .word 0x020ECD4C +_02007258: .word 0x000002E3 +_0200725C: .word 0x04000454 +_02007260: .word 0x040004AC +_02007264: .word 0x04000470 +_02007268: .word 0x020FFA38 +_0200726C: .word 0x040004C0 +_02007270: .word 0x00004210 +_02007274: .word 0x040004A4 +_02007278: .word 0x020ECBD0 +_0200727C: + lsl r0, r0, #0x19 + lsr r0, r0, #0x1e + lsl r0, r0, #0x4 + str r1, [sp, #0x0] + add r2, r2, r0 + ldr r0, [r6, r0] + lsr r6, r1, #0x1f + str r0, [sp, #0x4] + ldr r0, [r2, #0x4] + add r6, r1, r6 + str r0, [sp, #0x8] + ldr r0, [r2, #0x8] + asr r1, r6, #0x1 + str r0, [sp, #0xc] + ldr r0, [r2, #0xc] + str r0, [sp, #0x10] + mov r0, #0x70 + ldrsh r2, [r4, r0] + lsr r0, r3, #0x1f + add r0, r3, r0 + asr r0, r0, #0x1 + sub r0, r2, r0 + mov r2, #0x72 + ldrsh r2, [r4, r2] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + sub r1, r2, r1 + lsl r1, r1, #0x10 + ldr r2, _020072E0 ; =0xFFFFFC18 + asr r1, r1, #0x10 + blx sub_020B0250 +_020072BC: + ldr r0, [sp, #0x14] + add r4, #0x98 + add r0, #0x20 + str r0, [sp, #0x14] + ldr r0, [sp, #0x1c] + add r0, #0x20 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x18] + add r0, r0, #0x1 + str r0, [sp, #0x18] + cmp r0, #0x4 + bge _020072D6 + b _02006F30 +_020072D6: + ldr r0, _020072E4 ; =0x04000448 + mov r1, #0x1 + str r1, [r0, #0x0] + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_020072E0: .word 0xFFFFFC18 +_020072E4: .word 0x04000448 + + thumb_func_start sub_020072E8 +sub_020072E8: ; 0x020072E8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0x2b + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02007314 +sub_02007314: ; 0x02007314 + push {r3-r4} + add r1, r0, #0x0 + mov r3, #0x0 + add r1, #0x59 + strb r3, [r1, #0x0] + add r1, r3, #0x0 +_02007320: + add r2, r0, r3 + add r2, #0x5c + add r3, r3, #0x1 + strb r1, [r2, #0x0] + cmp r3, #0xa + blt _02007320 + add r2, r0, #0x0 + add r2, #0x59 + ldrb r2, [r2, #0x0] + lsl r2, r2, #0x1 + add r3, r0, r2 + mov r2, #0x84 + ldrsb r4, [r3, r2] + add r3, r2, #0x0 + sub r3, #0x85 + cmp r4, r3 + bne _0200734A + add r0, #0x5b + strb r1, [r0, #0x0] + pop {r3-r4} + bx lr +_0200734A: + add r1, r0, #0x0 + mov r3, #0x1 + add r1, #0x58 + strb r3, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x59 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1 + add r1, r0, r1 + ldrsb r2, [r1, r2] + add r1, r0, #0x0 + add r1, #0x5b + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x59 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1 + add r1, r0, r1 + add r1, #0x85 + ldrb r1, [r1, #0x0] + add r0, #0x5a + strb r1, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0200737C +sub_0200737C: ; 0x0200737C + add r2, r0, #0x0 + ldr r3, _0200738C ; =sub_020CE3E0 + add r2, #0x84 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0x14 + bx r3 + nop +_0200738C: .word sub_020CE3E0 + + thumb_func_start sub_02007390 +sub_02007390: ; 0x02007390 + add r0, #0x58 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0200739C + mov r0, #0x1 + bx lr +_0200739C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020073A0 +sub_020073A0: ; 0x020073A0 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x14] + mov r4, #0x0 +_020073AE: + ldr r1, [r0, #0x0] + lsl r1, r1, #0x1f + lsr r1, r1, #0x1f + beq _020073BE + add r4, r4, #0x1 + add r0, #0x98 + cmp r4, #0x4 + blt _020073AE +_020073BE: + cmp r4, #0x4 + bne _020073C6 + bl sub_02020C2C +_020073C6: + ldr r0, [sp, #0x30] + ldr r3, [sp, #0x14] + str r0, [sp, #0x0] + ldr r0, [sp, #0x34] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x38] + str r4, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [sp, #0x3c] + add r2, r7, #0x0 + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_020073E8 + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_020073E8 +sub_020073E8: ; 0x020073E8 + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x8] + ldr r1, [sp, #0x28] + add r4, r0, #0x0 + mov r0, #0x98 + add r6, r1, #0x0 + mul r6, r0 + ldr r0, [r4, r6] + str r2, [sp, #0x0] + lsl r0, r0, #0x1f + str r3, [sp, #0x4] + lsr r0, r0, #0x1f + beq _02007408 + bl sub_02020C2C +_02007408: + add r5, r4, r6 + mov r0, #0x0 + add r1, r5, #0x0 + mov r2, #0x98 + blx sub_020CE240 + ldr r1, [r4, r6] + mov r0, #0x1 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + str r0, [r4, r6] + ldr r1, [r4, r6] + mov r0, #0x80 + orr r0, r1 + str r0, [r4, r6] + mov r0, #0x80 + ldr r1, [r4, r6] + add r0, #0x80 + orr r0, r1 + str r0, [r4, r6] + add r2, r5, #0x0 + ldr r0, [r4, r6] + mov r1, #0x7e + bic r0, r1 + ldr r1, [sp, #0x24] + add r7, r2, #0x4 + lsl r1, r1, #0x1a + lsr r1, r1, #0x19 + orr r0, r1 + str r0, [r4, r6] + ldr r0, [sp, #0x8] + mov r12, r0 + mov r3, r12 + ldmia r3!, {r0-r1} + stmia r7!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r7!, {r0-r1} + add r7, r2, #0x0 + ldr r3, [sp, #0x8] + add r7, #0x14 + ldmia r3!, {r0-r1} + stmia r7!, {r0-r1} + str r3, [sp, #0x8] + ldmia r3!, {r0-r1} + stmia r7!, {r0-r1} + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + lsl r1, r1, #0x10 + asr r7, r1, #0x10 + strh r0, [r2, #0x24] + str r3, [sp, #0x8] + ldr r1, [sp, #0x20] + strh r7, [r2, #0x26] + str r1, [r2, #0x28] + mov r1, #0x80 + add r1, #0x80 + strh r1, [r2, #0x34] + strh r1, [r2, #0x36] + ldr r1, [r5, #0x54] + mov r3, #0x7c + bic r1, r3 + mov r3, #0x7c + orr r1, r3 + str r1, [r5, #0x54] + ldr r1, [r5, #0x50] + mov r3, #0x1f + bic r1, r3 + mov r3, #0x1f + orr r3, r1 + ldr r1, _02007520 ; =0xFFFFFC1F + and r1, r3 + mov r3, #0x1f + lsl r3, r3, #0x5 + orr r3, r1 + ldr r1, _02007524 ; =0xFFFF83FF + and r1, r3 + mov r3, #0x1f + lsl r3, r3, #0xa + orr r3, r1 + ldr r1, _02007528 ; =0xFFF07FFF + and r1, r3 + mov r3, #0x80 + lsl r3, r3, #0xc + orr r3, r1 + ldr r1, _0200752C ; =0xFE0FFFFF + and r1, r3 + mov r3, #0x80 + lsl r3, r3, #0x11 + orr r3, r1 + ldr r1, _02007530 ; =0xC1FFFFFF + and r1, r3 + mov r3, #0x80 + lsl r3, r3, #0x16 + orr r1, r3 + str r1, [r5, #0x50] + ldr r1, [sp, #0x30] + str r1, [r2, #0x68] + add r1, r2, #0x0 + add r1, #0x70 + strh r0, [r1, #0x0] + add r2, #0x72 + add r0, r5, #0x0 + strh r7, [r2, #0x0] + add r0, #0x6c + ldrh r1, [r0, #0x0] + mov r0, #0x4 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x6c + strh r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x6c + ldrh r1, [r0, #0x0] + mov r0, #0x8 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x6c + strh r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x6c + ldrh r1, [r0, #0x0] + mov r0, #0x10 + add r5, #0x6c + orr r0, r1 + strh r0, [r5, #0x0] + ldr r0, [sp, #0x2c] + cmp r0, #0x0 + beq _02007518 + add r1, r4, r6 + add r1, #0x84 + mov r2, #0x14 + blx sub_020CE3E0 +_02007518: + add r0, r4, r6 + add sp, #0xc + pop {r4-r7, pc} + nop +_02007520: .word 0xFFFFFC1F +_02007524: .word 0xFFFF83FF +_02007528: .word 0xFFF07FFF +_0200752C: .word 0xFE0FFFFF +_02007530: .word 0xC1FFFFFF + + thumb_func_start sub_02007534 +sub_02007534: ; 0x02007534 + ldr r2, [r0, #0x0] + mov r1, #0x1 + bic r2, r1 + str r2, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02007540 +sub_02007540: ; 0x02007540 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_02007546: + add r0, r5, #0x0 + bl sub_02007534 + add r4, r4, #0x1 + add r5, #0x98 + cmp r4, #0x4 + blt _02007546 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02007558 +sub_02007558: ; 0x02007558 + cmp r1, #0x2e + bls _0200755E + b _02007800 +_0200755E: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r3, #0x1 + lsl r0, r4, #0x1 + lsl r4, r4, #0x1 + lsl r0, r5, #0x1 + lsl r4, r5, #0x1 + lsl r0, r6, #0x1 + lsl r4, r6, #0x1 + lsl r4, r0, #0x2 + lsl r0, r1, #0x2 + lsl r4, r1, #0x2 + lsl r0, r2, #0x2 + lsl r6, r2, #0x2 + lsl r4, r3, #0x2 + lsl r0, r4, #0x2 + lsl r4, r4, #0x2 + lsl r4, r6, #0x2 + lsl r2, r7, #0x2 + lsl r0, r0, #0x3 + lsl r6, r0, #0x3 + lsl r4, r1, #0x3 + lsl r2, r2, #0x3 + lsl r0, r3, #0x3 + lsl r6, r3, #0x3 + lsl r4, r4, #0x3 + lsl r4, r6, #0x3 + lsl r4, r0, #0x4 + lsl r4, r2, #0x4 + lsl r4, r4, #0x4 + lsl r4, r6, #0x4 + lsl r4, r0, #0x5 + lsl r4, r2, #0x5 + lsl r6, r5, #0x5 + lsl r4, r7, #0x5 + lsl r6, r1, #0x6 + lsl r0, r4, #0x6 + lsl r6, r4, #0x6 + lsl r6, r7, #0x6 + lsl r6, r2, #0x7 + lsl r6, r4, #0x7 + lsl r4, r2, #0xa + lsl r4, r5, #0x7 + lsl r4, r0, #0x8 + lsl r2, r1, #0x8 + lsl r6, r5, #0x8 + lsl r0, r1, #0x9 + lsl r2, r4, #0x9 + lsl r4, r7, #0x9 + strh r2, [r0, #0x24] + bx lr +_020075CC: + .byte 0xC2, 0x84, 0x70, 0x47 + .byte 0x82, 0x62, 0x70, 0x47, 0x82, 0x85, 0x70, 0x47, 0xC2, 0x85, 0x70, 0x47, 0x02, 0x63, 0x70, 0x47 + .byte 0x43, 0x6D, 0x01, 0x21, 0x8B, 0x43, 0x01, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 + .byte 0x02, 0x87, 0x70, 0x47, 0x42, 0x87, 0x70, 0x47, 0x82, 0x87, 0x70, 0x47, 0x40, 0x30, 0x02, 0x80 + .byte 0x70, 0x47, 0x42, 0x30, 0x02, 0x80, 0x70, 0x47, 0x82, 0x86, 0x70, 0x47, 0xC2, 0x86, 0x70, 0x47 + .byte 0x43, 0x6D, 0x02, 0x21, 0x8B, 0x43, 0xD1, 0x07, 0x89, 0x0F, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 + .byte 0x44, 0x30, 0x02, 0x70, 0x70, 0x47, 0x45, 0x30, 0x02, 0x70, 0x70, 0x47, 0x46, 0x30, 0x02, 0x70 + .byte 0x70, 0x47, 0x47, 0x30, 0x02, 0x70, 0x70, 0x47, 0x70, 0x30, 0x02, 0x80, 0x70, 0x47, 0x72, 0x30 + .byte 0x02, 0x80, 0x70, 0x47, 0x74, 0x30, 0x02, 0x80, 0x70, 0x47, 0x76, 0x30, 0x02, 0x80, 0x70, 0x47 + .byte 0x43, 0x6D, 0x7C, 0x21, 0x8B, 0x43, 0xD1, 0x06, 0x49, 0x0E, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x1F, 0x21, 0x8B, 0x43, 0x1F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x64, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x0D, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x61, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x5E, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x09, 0x0B, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x5B, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0xC9, 0x09, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x03, 0x6D, 0x58, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x08, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 + .byte 0x43, 0x6D, 0x55, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0xC9, 0x0C, 0x19, 0x43, 0x41, 0x65, 0x01, 0x21 + .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0xC2, 0x64, 0x01, 0x21, 0x02, 0x68 + .byte 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x48, 0x31, 0x0A, 0x70, 0x01, 0x21 + .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x49, 0x31, 0x0A, 0x70 + .byte 0x01, 0x21, 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x4A, 0x30, 0x02, 0x70 + .byte 0x70, 0x47, 0x43, 0x6D, 0x41, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x89, 0x0D, 0x19, 0x43, 0x41, 0x65 + .byte 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x43, 0x6D, 0x3C, 0x49, 0x0B, 0x40 + .byte 0xD1, 0x07, 0x49, 0x0D, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60 + .byte 0x70, 0x47, 0x43, 0x6D, 0x37, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x09, 0x0D, 0x19, 0x43, 0x41, 0x65 + .byte 0x70, 0x47, 0x5B, 0x30, 0x02, 0x70, 0x70, 0x47, 0x43, 0x6D, 0x33, 0x49, 0x0B, 0x40, 0x11, 0x07 + .byte 0xC9, 0x0B, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47 + .byte 0x6E, 0x30, 0x02, 0x70, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x03, 0x21, 0x8B, 0x43 + .byte 0x11, 0x04, 0x09, 0x0C, 0x03, 0x22, 0x11, 0x40, 0x0B, 0x43, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x80 + .byte 0x01, 0x68, 0xFD, 0x32, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88 + .byte 0x04, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x49, 0x0F, 0x19, 0x43 + .byte 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x08, 0x21, 0x6C, 0x30, 0x8B, 0x43 + .byte 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x09, 0x0F, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C + .byte 0x6C, 0x31, 0x0B, 0x88, 0x10, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07 + .byte 0xC9, 0x0E, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x60, 0x21 + .byte 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0x89, 0x07, 0x49, 0x0E, 0x19, 0x43, 0x01, 0x80 +_02007800: + bx lr + nop +_02007804: + .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF + .byte 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF + .byte 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF + + thumb_func_start sub_0200782C +sub_0200782C: ; 0x0200782C + push {r3, lr} + cmp r1, #0x2e + bls _02007834 + b _020079D6 +_02007834: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r3, #0x1 + lsl r2, r4, #0x1 + lsl r0, r5, #0x1 + lsl r4, r5, #0x1 + lsl r2, r6, #0x1 + lsl r0, r7, #0x1 + lsl r4, r7, #0x1 + lsl r4, r0, #0x2 + lsl r0, r1, #0x2 + lsl r4, r1, #0x2 + lsl r0, r2, #0x2 + lsl r6, r2, #0x2 + lsl r4, r3, #0x2 + lsl r2, r4, #0x2 + lsl r0, r5, #0x2 + lsl r0, r6, #0x2 + lsl r6, r6, #0x2 + lsl r4, r7, #0x2 + lsl r2, r0, #0x3 + lsl r0, r1, #0x3 + lsl r6, r1, #0x3 + lsl r4, r2, #0x3 + lsl r2, r3, #0x3 + lsl r0, r4, #0x3 + lsl r0, r5, #0x3 + lsl r0, r6, #0x3 + lsl r0, r7, #0x3 + lsl r0, r0, #0x4 + lsl r0, r1, #0x4 + lsl r0, r2, #0x4 + lsl r0, r3, #0x4 + lsl r0, r4, #0x4 + lsl r4, r4, #0x4 + lsl r2, r5, #0x4 + lsl r0, r6, #0x4 + lsl r6, r6, #0x4 + lsl r6, r7, #0x4 + lsl r6, r0, #0x5 + lsl r6, r1, #0x5 + lsl r4, r2, #0x6 + lsl r4, r2, #0x5 + lsl r4, r3, #0x5 + lsl r2, r4, #0x5 + lsl r4, r5, #0x5 + lsl r6, r6, #0x5 + lsl r0, r0, #0x6 + lsl r2, r1, #0x6 + mov r1, #0x24 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078A4: + .byte 0x26, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD, 0x2C, 0x21 + .byte 0x40, 0x5E, 0x08, 0xBD, 0x2E, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x00, 0x6B, 0x08, 0xBD, 0x40, 0x6D + .byte 0xC0, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x8F, 0x08, 0xBD, 0x40, 0x8F, 0x08, 0xBD, 0x80, 0x8F + .byte 0x08, 0xBD, 0x40, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x42, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x34, 0x21 + .byte 0x40, 0x5E, 0x08, 0xBD, 0x36, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x07, 0xC0, 0x0F + .byte 0x08, 0xBD, 0x44, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x45, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x46, 0x30 + .byte 0x00, 0x78, 0x08, 0xBD, 0x47, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x70, 0x21, 0x40, 0x5E, 0x08, 0xBD + .byte 0x72, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x74, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x76, 0x21, 0x40, 0x5E + .byte 0x08, 0xBD, 0x40, 0x6D, 0x40, 0x06, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x06, 0xC0, 0x0E + .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x05, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0x40, 0x04, 0xC0, 0x0E + .byte 0x08, 0xBD, 0x00, 0x6D, 0x00, 0x03, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x01, 0xC0, 0x0E + .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x00, 0xC0, 0x0E, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x04, 0xC0, 0x0F + .byte 0x08, 0xBD, 0xC0, 0x6C, 0x08, 0xBD, 0x48, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x49, 0x30, 0x00, 0x78 + .byte 0x08, 0xBD, 0x4A, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x05, 0xC0, 0x0F, 0x08, 0xBD + .byte 0x40, 0x6D, 0x40, 0x05, 0xC0, 0x0F, 0x08, 0xBD, 0x40, 0x6D, 0x00, 0x05, 0xC0, 0x0F, 0x08, 0xBD + .byte 0x5B, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x03, 0x00, 0x0F, 0x08, 0xBD, 0x6E, 0x21 + .byte 0x40, 0x56, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x80, 0x07, 0x80, 0x0F, 0x08, 0xBD, 0x6C, 0x30 + .byte 0x00, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x00, 0x07, 0xC0, 0x0F + .byte 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0xC0, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88 + .byte 0x40, 0x06, 0x80, 0x0F, 0x08, 0xBD +_020079D6: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020079E0 +sub_020079E0: ; 0x020079E0 + push {r3-r4} + add r3, r0, #0x0 + add r0, r2, #0x0 + cmp r1, #0x2e + bls _020079EC + b _02007E12 +_020079EC: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r3, #0x1 + lsl r0, r5, #0x1 + lsl r4, r6, #0x1 + lsl r6, r7, #0x1 + lsl r2, r1, #0x2 + lsl r6, r2, #0x2 + lsl r0, r4, #0x2 + lsl r2, r7, #0x2 + lsl r4, r0, #0x3 + lsl r6, r1, #0x3 + lsl r0, r3, #0x3 + lsl r6, r4, #0x3 + lsl r4, r6, #0x3 + lsl r0, r0, #0x4 + lsl r4, r1, #0x4 + lsl r6, r4, #0x4 + lsl r6, r6, #0x4 + lsl r6, r0, #0x5 + lsl r6, r2, #0x5 + lsl r6, r4, #0x5 + lsl r4, r6, #0x5 + lsl r2, r0, #0x6 + lsl r0, r2, #0x6 + lsl r6, r3, #0x6 + lsl r0, r7, #0x6 + lsl r2, r2, #0x7 + lsl r2, r5, #0x7 + lsl r2, r0, #0x8 + lsl r2, r3, #0x8 + lsl r2, r6, #0x8 + lsl r2, r1, #0x9 + lsl r4, r5, #0x9 + lsl r0, r0, #0xa + lsl r4, r3, #0xa + lsl r0, r7, #0xa + lsl r0, r1, #0xb + lsl r0, r5, #0xb + lsl r0, r1, #0xc + lsl r0, r4, #0xc + lsl r0, r3, #0x10 + lsl r0, r6, #0xc + lsl r0, r2, #0xd + lsl r6, r3, #0xd + lsl r4, r1, #0xe + lsl r0, r6, #0xe + lsl r4, r2, #0xf + lsl r0, r7, #0xf + mov r1, #0x24 + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x24] + pop {r3-r4} + bx lr +_02007A62: + .byte 0x26, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x84, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x6A + .byte 0x08, 0x18, 0x98, 0x62, 0x18, 0xBC, 0x70, 0x47, 0x2C, 0x21, 0x59, 0x5E, 0x08, 0x18, 0x98, 0x85 + .byte 0x18, 0xBC, 0x70, 0x47, 0x2E, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x85, 0x18, 0xBC, 0x70, 0x47 + .byte 0x19, 0x6B, 0x08, 0x18, 0x18, 0x63, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x01, 0x22, 0x21, 0x1C + .byte 0x91, 0x43, 0xE2, 0x07, 0xD2, 0x0F, 0x12, 0x18, 0x01, 0x20, 0x10, 0x40, 0x08, 0x43, 0x58, 0x65 + .byte 0x18, 0xBC, 0x70, 0x47, 0x19, 0x8F, 0x08, 0x18, 0x18, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x59, 0x8F + .byte 0x08, 0x18, 0x58, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x8F, 0x08, 0x18, 0x98, 0x87, 0x18, 0xBC + .byte 0x70, 0x47, 0x40, 0x21, 0x59, 0x5E, 0x40, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47 + .byte 0x42, 0x21, 0x59, 0x5E, 0x42, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x34, 0x21 + .byte 0x59, 0x5E, 0x08, 0x18, 0x98, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x36, 0x21, 0x59, 0x5E, 0x08, 0x18 + .byte 0xD8, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x02, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07 + .byte 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07, 0x80, 0x0F, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47 + .byte 0x19, 0x1C, 0x44, 0x31, 0x09, 0x78, 0x44, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 + .byte 0x19, 0x1C, 0x45, 0x31, 0x09, 0x78, 0x45, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 + .byte 0x19, 0x1C, 0x46, 0x31, 0x09, 0x78, 0x46, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 + .byte 0x19, 0x1C, 0x47, 0x31, 0x09, 0x78, 0x47, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 + .byte 0x70, 0x21, 0x59, 0x5E, 0x70, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x72, 0x21 + .byte 0x59, 0x5E, 0x72, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x74, 0x21, 0x59, 0x5E + .byte 0x74, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x76, 0x21, 0x59, 0x5E, 0x76, 0x33 + .byte 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x7C, 0x22, 0x21, 0x1C, 0x91, 0x43 + .byte 0x62, 0x06, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x40, 0x0E, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC + .byte 0x70, 0x47, 0x1C, 0x6D, 0x1F, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0E, 0x12, 0x18 + .byte 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x92, 0x49 + .byte 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x18, 0x65 + .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x8D, 0x49, 0x11, 0x40, 0x52, 0x04, 0xD2, 0x0E, 0x10, 0x18 + .byte 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x88, 0x49 + .byte 0x11, 0x40, 0x12, 0x03, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x18, 0x65 + .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x83, 0x49, 0x11, 0x40, 0xD2, 0x01, 0xD2, 0x0E, 0x10, 0x18 + .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x7E, 0x49 + .byte 0x11, 0x40, 0x92, 0x00, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x18, 0x65 + .byte 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x79, 0x49, 0x11, 0x40, 0xD2, 0x04, 0xD2, 0x0F, 0x10, 0x18 + .byte 0xC0, 0x07, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x65, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43 + .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0xD9, 0x6C, 0x08, 0x18, 0xD8, 0x64, 0x01, 0x20, 0x19, 0x68 + .byte 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x48, 0x31, 0x09, 0x78 + .byte 0x09, 0x18, 0x18, 0x1C, 0x48, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43 + .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x49, 0x31, 0x09, 0x78, 0x09, 0x18, 0x18, 0x1C + .byte 0x49, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC + .byte 0x70, 0x47, 0x19, 0x1C, 0x4A, 0x31, 0x09, 0x78, 0x4A, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC + .byte 0x70, 0x47, 0x5A, 0x6D, 0x5A, 0x49, 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 + .byte 0x80, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC + .byte 0x70, 0x47, 0x5A, 0x6D, 0x53, 0x49, 0x11, 0x40, 0x52, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 + .byte 0x40, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC + .byte 0x70, 0x47, 0x5A, 0x6D, 0x4C, 0x49, 0x11, 0x40, 0x12, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 + .byte 0x00, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x5B, 0x31, 0x09, 0x78 + .byte 0x5B, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x43, 0x49, 0x11, 0x40 + .byte 0xD2, 0x03, 0x12, 0x0F, 0x10, 0x18, 0x00, 0x07, 0xC0, 0x0B, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68 + .byte 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x6E, 0x21, 0x59, 0x56, 0x6E, 0x33 + .byte 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x03, 0x22 + .byte 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x03, 0x22 + .byte 0x10, 0x40, 0x01, 0x43, 0x18, 0x1C, 0x6C, 0x30, 0x01, 0x80, 0x18, 0x68, 0xFD, 0x32, 0x10, 0x43 + .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x04, 0x22, 0x6C, 0x33 + .byte 0x21, 0x1C, 0x91, 0x43, 0x62, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07 + .byte 0x40, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88 + .byte 0x08, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0x22, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04 + .byte 0x00, 0x0C, 0xC0, 0x07, 0x00, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C + .byte 0x6C, 0x31, 0x0C, 0x88, 0x10, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0F + .byte 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07, 0xC0, 0x0E, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC + .byte 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x60, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43 + .byte 0x62, 0x06, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x80, 0x07, 0x40, 0x0E, 0x08, 0x43 + .byte 0x18, 0x80 +_02007E12: + pop {r3-r4} + bx lr + nop +_02007E18: + .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF + .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF + .byte 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF + + thumb_func_start sub_02007E40 +sub_02007E40: ; 0x02007E40 + push {r4-r5} + ldr r5, [r0, #0x54] + mov r4, #0x2 + orr r4, r5 + str r4, [r0, #0x54] + add r4, r0, #0x0 + add r4, #0x44 + strb r1, [r4, #0x0] + add r1, r0, #0x0 + add r1, #0x45 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x46 + strb r3, [r1, #0x0] + ldr r1, [sp, #0x8] + add r0, #0x47 + strb r1, [r0, #0x0] + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02007E68 +sub_02007E68: ; 0x02007E68 + push {r4-r5} + mov r4, #0x1 + ldr r5, [r0, #0x54] + lsl r4, r4, #0xc + orr r4, r5 + str r4, [r0, #0x54] + add r4, r0, #0x0 + add r4, #0x48 + strb r1, [r4, #0x0] + add r1, r0, #0x0 + add r1, #0x49 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + mov r2, #0x0 + add r1, #0x4a + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x4b + strb r3, [r1, #0x0] + ldr r1, [sp, #0x8] + str r1, [r0, #0x4c] + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02007E98 +sub_02007E98: ; 0x02007E98 + push {r4-r7} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r5, r2, #0x0 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + lsl r0, r5, #0x18 + lsr r5, r0, #0x18 + lsl r0, r3, #0x18 + ldr r2, [sp, #0x10] + mov r1, #0x0 + lsr r0, r0, #0x18 +_02007EB0: + ldr r3, [r4, #0x0] + lsl r3, r3, #0x1f + lsr r3, r3, #0x1f + beq _02007EDE + mov r3, #0x1 + ldr r7, [r4, #0x54] + lsl r3, r3, #0xc + orr r3, r7 + str r3, [r4, #0x54] + add r3, r4, #0x0 + add r3, #0x48 + strb r6, [r3, #0x0] + add r3, r4, #0x0 + add r3, #0x49 + add r7, r4, #0x0 + strb r5, [r3, #0x0] + add r7, #0x4a + mov r3, #0x0 + strb r3, [r7, #0x0] + add r3, r4, #0x0 + add r3, #0x4b + strb r0, [r3, #0x0] + str r2, [r4, #0x4c] +_02007EDE: + add r1, r1, #0x1 + add r4, #0x98 + cmp r1, #0x4 + blt _02007EB0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02007EEC +sub_02007EEC: ; 0x02007EEC + ldr r2, [r0, #0x54] + ldr r1, _02007F1C ; =0xFFFFEFFF + and r1, r2 + str r1, [r0, #0x54] + add r1, r0, #0x0 + mov r2, #0x0 + add r1, #0x48 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x49 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x4a + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x4b + strb r2, [r1, #0x0] + str r2, [r0, #0x4c] + mov r1, #0x1 + ldr r2, [r0, #0x0] + lsl r1, r1, #0x8 + orr r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 +_02007F1C: .word 0xFFFFEFFF + + thumb_func_start sub_02007F20 +sub_02007F20: ; 0x02007F20 + ldr r0, [r0, #0x54] + lsl r0, r0, #0x13 + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _02007F2E + mov r0, #0x1 + bx lr +_02007F2E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02007F34 +sub_02007F34: ; 0x02007F34 + mov r2, #0x28 + sub r2, r2, r1 + mov r1, #0x36 + ldrsh r1, [r0, r1] + mul r1, r2 + asr r1, r1, #0x8 + sub r1, r2, r1 + strh r1, [r0, #0x2e] + bx lr + .balign 4 + + thumb_func_start sub_02007F48 +sub_02007F48: ; 0x02007F48 + push {r4-r7} + add r1, r0, #0x0 + add r1, #0x58 + ldrb r1, [r1, #0x0] + add r6, r0, #0x0 + add r6, #0x59 + cmp r1, #0x0 + beq _0200800A + add r1, r0, #0x0 + add r1, #0x5a + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02007FFE + ldrb r1, [r6, #0x0] + add r1, r1, #0x1 + strb r1, [r6, #0x0] + ldrb r3, [r6, #0x0] + mov r1, #0x84 + lsl r4, r3, #0x1 + add r2, r0, r4 + ldrsb r2, [r2, r1] + sub r1, #0x85 + cmp r2, r1 + bge _02007FC6 + mov r2, #0x0 + sub r1, r2, #0x2 +_02007F7C: + add r4, r0, r3 + add r4, #0x5c + ldrb r4, [r4, #0x0] + add r3, r0, r3 + add r3, #0x5c + add r4, r4, #0x1 + strb r4, [r3, #0x0] + ldrb r5, [r6, #0x0] + lsl r3, r5, #0x1 + add r4, r0, r3 + add r3, r4, #0x0 + add r7, r0, r5 + add r3, #0x85 + add r7, #0x5c + ldrb r3, [r3, #0x0] + ldrb r7, [r7, #0x0] + cmp r3, r7 + beq _02007FA4 + cmp r3, #0x0 + bne _02007FAE +_02007FA4: + add r3, r0, r5 + add r3, #0x5c + strb r2, [r3, #0x0] + add r6, r6, #0x1 + b _02007FB6 +_02007FAE: + mov r3, #0x84 + ldrsb r3, [r4, r3] + sub r3, r1, r3 + strb r3, [r6, #0x0] +_02007FB6: + ldrb r3, [r6, #0x0] + mov r5, #0x84 + lsl r4, r3, #0x1 + add r7, r0, r4 + ldrsb r7, [r7, r5] + sub r5, #0x85 + cmp r7, r5 + blt _02007F7C +_02007FC6: + add r2, r0, r4 + mov r1, #0x84 + ldrsb r2, [r2, r1] + sub r1, #0x85 + cmp r2, r1 + beq _02007FD6 + cmp r3, #0xa + blo _02007FE6 +_02007FD6: + add r1, r0, #0x0 + mov r2, #0x0 + add r1, #0x5b + strb r2, [r1, #0x0] + add r0, #0x58 + strb r2, [r0, #0x0] + pop {r4-r7} + bx lr +_02007FE6: + add r1, r0, #0x0 + add r1, #0x5b + strb r2, [r1, #0x0] + ldrb r1, [r6, #0x0] + lsl r1, r1, #0x1 + add r1, r0, r1 + add r1, #0x85 + ldrb r1, [r1, #0x0] + add r0, #0x5a + strb r1, [r0, #0x0] + pop {r4-r7} + bx lr +_02007FFE: + add r1, r0, #0x0 + add r1, #0x5a + ldrb r1, [r1, #0x0] + add r0, #0x5a + sub r1, r1, #0x1 + strb r1, [r0, #0x0] +_0200800A: + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02008010 +sub_02008010: ; 0x02008010 + mov r2, #0x1 + strb r2, [r0, #0x0] + mov r3, #0x0 + strb r3, [r0, #0x2] + ldrsb r2, [r1, r3] + strb r2, [r0, #0x1] + ldrb r2, [r1, #0x1] + strb r2, [r0, #0x3] + str r1, [r0, #0x10] + add r2, r3, #0x0 +_02008024: + add r1, r0, r3 + add r3, r3, #0x1 + strb r2, [r1, #0x4] + cmp r3, #0xa + blt _02008024 + bx lr + + thumb_func_start sub_02008030 +sub_02008030: ; 0x02008030 + push {r4-r7} + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + beq _020080C6 + add r3, r0, #0x2 + ldr r4, [r0, #0x10] + cmp r1, #0x0 + beq _020080C0 + ldrb r1, [r0, #0x3] + cmp r1, #0x0 + bne _020080BC + ldrb r1, [r3, #0x0] + add r1, r1, #0x1 + strb r1, [r3, #0x0] + ldrb r2, [r3, #0x0] + mov r1, #0x0 + mvn r1, r1 + lsl r5, r2, #0x1 + ldrsb r6, [r4, r5] + cmp r6, r1 + bge _02008098 + mov r1, #0x0 +_0200805C: + add r5, r0, r2 + ldrb r2, [r5, #0x4] + add r2, r2, #0x1 + strb r2, [r5, #0x4] + ldrb r2, [r3, #0x0] + add r5, r0, r2 + lsl r2, r2, #0x1 + add r2, r4, r2 + ldrb r7, [r2, #0x1] + ldrb r6, [r5, #0x4] + cmp r7, r6 + beq _02008078 + cmp r7, #0x0 + bne _0200807E +_02008078: + strb r1, [r5, #0x4] + add r3, r3, #0x1 + b _0200808A +_0200807E: + mov r5, #0x0 + ldrsb r5, [r2, r5] + mov r2, #0x1 + mvn r2, r2 + sub r2, r2, r5 + strb r2, [r3, #0x0] +_0200808A: + ldrb r2, [r3, #0x0] + mov r6, #0x0 + mvn r6, r6 + lsl r5, r2, #0x1 + ldrsb r7, [r4, r5] + cmp r7, r6 + blt _0200805C +_02008098: + ldrsb r5, [r4, r5] + mov r1, #0x0 + mvn r1, r1 + cmp r5, r1 + beq _020080A6 + cmp r2, #0xa + blo _020080AE +_020080A6: + mov r1, #0x0 + strb r1, [r0, #0x1] + strb r1, [r0, #0x0] + b _020080C0 +_020080AE: + strb r5, [r0, #0x1] + ldrb r1, [r3, #0x0] + lsl r1, r1, #0x1 + add r1, r4, r1 + ldrb r1, [r1, #0x1] + strb r1, [r0, #0x3] + b _020080C0 +_020080BC: + sub r1, r1, #0x1 + strb r1, [r0, #0x3] +_020080C0: + ldrb r0, [r0, #0x1] + pop {r4-r7} + bx lr +_020080C6: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_020080D0 +sub_020080D0: ; 0x020080D0 + ldr r2, [r0, #0x0] + mov r1, #0x80 + orr r2, r1 + add r1, #0x80 + orr r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020080E0 +sub_020080E0: ; 0x020080E0 + push {r3-r4} + add r2, r0, #0x0 + add r3, r2, #0x0 + add r4, r2, #0x4 + add r3, #0x14 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + add r0, #0x6c + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x78 + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x6e + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7a + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x70 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7c + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x72 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7e + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x74 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x80 + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x76 + ldrh r0, [r0, #0x0] + add r2, #0x82 + strh r0, [r2, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_0200813C +sub_0200813C: ; 0x0200813C + push {r3-r4} + add r2, r0, #0x0 + add r4, r2, #0x0 + add r4, #0x14 + add r3, r2, #0x4 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + add r0, #0x78 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x6c + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7a + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x6e + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7c + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x70 + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x7e + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x72 + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x80 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x74 + strh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x82 + ldrh r1, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x76 + strh r1, [r0, #0x0] + ldr r1, [r2, #0x0] + mov r0, #0x80 + orr r1, r0 + add r0, #0x80 + orr r0, r1 + str r0, [r2, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_020081A8 +sub_020081A8: ; 0x020081A8 + mov r3, #0xa7 + lsl r3, r3, #0x2 + str r1, [r0, r3] + add r1, r3, #0x4 + str r2, [r0, r1] + bx lr + + thumb_func_start sub_020081B4 +sub_020081B4: ; 0x020081B4 + mov r3, #0xa9 + lsl r3, r3, #0x2 + str r1, [r0, r3] + add r1, r3, #0x4 + str r2, [r0, r1] + bx lr + + thumb_func_start sub_020081C0 +sub_020081C0: ; 0x020081C0 + add r0, r0, #0x4 + bx lr + + thumb_func_start sub_020081C4 +sub_020081C4: ; 0x020081C4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02008254 ; =0x000002E1 + ldrb r1, [r4, r0] + cmp r1, #0x0 + beq _02008212 + mov r1, #0x0 + strb r1, [r4, r0] + sub r0, #0x81 + add r0, r4, r0 + blx sub_020B1A24 + mov r3, #0xae + lsl r3, r3, #0x2 + mov r1, #0x20 + strh r1, [r4, r3] + add r0, r3, #0x2 + strh r1, [r4, r0] + add r0, r3, #0x0 + sub r0, #0x18 + ldr r1, [r4, r0] + add r0, r3, #0x0 + add r0, #0x10 + str r1, [r4, r0] + add r0, r3, #0x0 + sub r0, #0xc + ldr r1, [r4, r0] + add r0, r3, #0x0 + add r0, #0x14 + str r1, [r4, r0] + add r1, r3, #0x0 + sub r1, #0x1c + add r0, r4, r3 + sub r3, #0x58 + ldr r1, [r4, r1] + mov r2, #0x0 + add r3, r4, r3 + blx sub_020B1528 +_02008212: + ldr r0, _02008258 ; =0x000002E2 + ldrb r1, [r4, r0] + cmp r1, #0x0 + beq _02008252 + mov r1, #0x0 + strb r1, [r4, r0] + sub r0, #0x5e + add r0, r4, r0 + blx sub_020B19DC + mov r3, #0xaa + lsl r3, r3, #0x2 + add r0, r3, #0x0 + ldr r1, [r4, r3] + add r0, #0x30 + str r1, [r4, r0] + add r0, r3, #0x0 + add r0, #0x8 + ldr r1, [r4, r0] + add r0, r3, #0x0 + add r0, #0x34 + str r1, [r4, r0] + add r0, r3, #0x0 + sub r1, r3, #0x4 + add r0, #0x28 + sub r3, #0x24 + ldr r1, [r4, r1] + add r0, r4, r0 + mov r2, #0x0 + add r3, r4, r3 + blx sub_020B1240 +_02008252: + pop {r4, pc} + .balign 4 +_02008254: .word 0x000002E1 +_02008258: .word 0x000002E2 + + thumb_func_start sub_0200825C +sub_0200825C: ; 0x0200825C + ldr r2, _02008264 ; =0x000002E3 + strb r1, [r0, r2] + bx lr + nop +_02008264: .word 0x000002E3 + + thumb_func_start sub_02008268 +sub_02008268: ; 0x02008268 + push {r4, lr} + add r4, r0, #0x0 + bne _02008272 + bl sub_02020C2C +_02008272: + ldr r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _0200827E + mov r0, #0x1 + pop {r4, pc} +_0200827E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02008284 +sub_02008284: ; 0x02008284 + mov r2, #0xb9 + lsl r2, r2, #0x2 + ldr r3, [r0, r2] + orr r1, r3 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_02008290 +sub_02008290: ; 0x02008290 + push {r3-r4} + mov r3, #0xb9 + lsl r3, r3, #0x2 + mov r2, #0x0 + mvn r2, r2 + ldr r4, [r0, r3] + eor r1, r2 + and r1, r4 + str r1, [r0, r3] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_020082A8 +sub_020082A8: ; 0x020082A8 + push {r4-r7, lr} + sub sp, #0x5c + add r6, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x48] + str r0, [sp, #0x54] + ldr r0, [sp, #0x48] + str r6, [sp, #0x44] + str r0, [sp, #0x38] +_020082BA: + ldr r0, [sp, #0x44] + ldr r1, [r0, #0x0] + lsl r0, r1, #0x1f + lsr r0, r0, #0x1f + beq _020082CA + lsl r0, r1, #0x18 + lsr r0, r0, #0x1f + bne _020082CC +_020082CA: + b _020086C2 +_020082CC: + mov r0, #0x80 + bic r1, r0 + ldr r0, [sp, #0x44] + mov r2, #0xa6 + str r1, [r0, #0x0] + mov r0, #0x1 + str r0, [sp, #0x48] + ldr r0, [sp, #0x44] + ldr r1, [sp, #0x44] + lsl r2, r2, #0x2 + ldrh r0, [r0, #0x4] + ldrh r1, [r1, #0x6] + ldr r2, [r6, r2] + bl sub_0200650C + add r1, sp, #0x58 + str r0, [sp, #0x4c] + blx sub_020B0088 + ldr r0, [sp, #0x58] + mov r1, #0xaf + ldr r0, [r0, #0x4] + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x58] + ldr r2, [r0, #0x8] + add r0, r1, #0x4 + str r2, [r6, r0] + ldr r0, [sp, #0x58] + add r1, #0x8 + ldr r0, [r0, #0xc] + str r0, [r6, r1] + ldr r0, [sp, #0x58] + ldr r0, [r0, #0x14] + str r0, [sp, #0x50] + bl sub_02008A74 + ldr r0, [sp, #0x44] + ldr r1, [sp, #0x50] + bl sub_020088EC + ldr r0, [sp, #0x54] + cmp r0, #0x3 + beq _02008326 + b _02008554 +_02008326: + mov r5, #0x0 + add r0, r5, #0x0 + str r5, [sp, #0x14] + str r0, [sp, #0x24] +_0200832E: + ldr r0, [sp, #0x14] + mov r1, #0x4f + sub r2, r1, r0 + mov r0, #0x50 + add r1, r2, #0x0 + mul r1, r0 + ldr r0, [sp, #0x50] + mov r4, #0x0 + add r0, r0, r1 + str r0, [sp, #0x20] + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x24] + add r7, r1, r0 + ldr r0, [sp, #0x20] + str r7, [sp, #0x18] + str r0, [sp, #0x1c] + ldr r0, [sp, #0x14] + sub r0, r0, #0x1 + lsl r0, r0, #0x7 + str r0, [sp, #0x10] +_02008356: + cmp r4, #0x28 + bge _02008442 + ldr r0, [sp, #0x44] + ldr r1, [r0, #0x54] + lsl r0, r1, #0x16 + lsr r0, r0, #0x1f + beq _02008386 + lsl r1, r1, #0x15 + lsr r1, r1, #0x1f + beq _02008386 + mov r0, #0x27 + sub r1, r0, r4 + ldr r0, [sp, #0x1c] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r1, r4, r1 + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_02008386: + cmp r0, #0x0 + beq _020083A6 + mov r0, #0x27 + sub r1, r0, r4 + ldr r0, [sp, #0x18] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r1, r4, r1 + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_020083A6: + ldr r0, [sp, #0x44] + ldr r0, [r0, #0x54] + lsl r1, r0, #0x15 + lsr r1, r1, #0x1f + beq _020083C4 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r0, [sp, #0x20] + ldr r1, [r6, r1] + ldrb r0, [r0, #0x0] + add r1, r5, r1 + add r1, r4, r1 + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_020083C4: + lsl r0, r0, #0xf + lsr r0, r0, #0x1c + str r0, [sp, #0xc] + beq _02008430 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x14] + lsl r1, r1, #0x1 + blx sub_020EBE8C + cmp r1, #0x0 + beq _020083F4 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r1, [r6, r0] + ldr r0, [sp, #0x10] + add r0, r0, r1 + add r0, r4, r0 + add r0, #0x50 + add r1, r5, r1 + add r1, r4, r1 + ldrb r0, [r0, #0x0] + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_020083F4: + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r1, #0x0 + beq _02008416 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r2, r5, r0 + add r0, r2, r4 + add r0, #0x4f + ldrb r1, [r0, #0x0] + add r0, r2, r4 + add r0, #0x50 + strb r1, [r0, #0x0] + b _0200852E +_02008416: + ldrb r1, [r7, #0x0] + mov r0, #0xf + and r1, r0 + lsl r0, r1, #0x4 + orr r0, r1 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r1, r4, r1 + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_02008430: + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + ldrb r0, [r7, #0x0] + add r1, r5, r1 + add r1, r4, r1 + add r1, #0x50 + strb r0, [r1, #0x0] + b _0200852E +_02008442: + ldr r0, [sp, #0x44] + ldr r1, [r0, #0x54] + lsl r0, r1, #0x16 + lsr r0, r0, #0x1f + beq _02008472 + lsl r1, r1, #0x15 + lsr r1, r1, #0x1f + beq _02008472 + add r1, r4, #0x0 + sub r1, #0x28 + mov r0, #0x4f + sub r1, r0, r1 + ldr r0, [sp, #0x1c] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] + b _0200852E +_02008472: + cmp r0, #0x0 + beq _02008496 + add r1, r4, #0x0 + sub r1, #0x28 + mov r0, #0x4f + sub r1, r0, r1 + ldr r0, [sp, #0x18] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] + b _0200852E +_02008496: + ldr r0, [sp, #0x44] + ldr r0, [r0, #0x54] + lsl r1, r0, #0x15 + lsr r1, r1, #0x1f + beq _020084B4 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r0, [sp, #0x20] + ldr r1, [r6, r1] + ldrb r0, [r0, #0x0] + add r1, r5, r1 + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] + b _0200852E +_020084B4: + lsl r0, r0, #0xf + lsr r0, r0, #0x1c + str r0, [sp, #0x8] + beq _0200851E + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x14] + lsl r1, r1, #0x1 + blx sub_020EBE8C + cmp r1, #0x0 + beq _020084E4 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r1, [r6, r0] + ldr r0, [sp, #0x10] + add r0, r0, r1 + add r2, r4, r0 + ldr r0, _020086E8 ; =0x00002828 + add r1, r5, r1 + ldrb r0, [r2, r0] + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] + b _0200852E +_020084E4: + ldr r1, [sp, #0x8] + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r1, #0x0 + beq _02008504 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + ldr r1, _020086EC ; =0x00002827 + add r0, r5, r0 + add r0, r0, r4 + ldrb r2, [r0, r1] + add r1, r1, #0x1 + strb r2, [r0, r1] + b _0200852E +_02008504: + ldrb r1, [r7, #0x0] + mov r0, #0xf + and r1, r0 + lsl r0, r1, #0x4 + orr r0, r1 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] + b _0200852E +_0200851E: + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + ldrb r0, [r7, #0x0] + add r1, r5, r1 + add r2, r4, r1 + ldr r1, _020086E8 ; =0x00002828 + strb r0, [r2, r1] +_0200852E: + ldr r0, [sp, #0x20] + add r4, r4, #0x1 + add r0, r0, #0x1 + add r7, r7, #0x1 + str r0, [sp, #0x20] + cmp r4, #0x50 + bge _0200853E + b _02008356 +_0200853E: + ldr r0, [sp, #0x24] + add r5, #0x80 + add r0, #0x50 + str r0, [sp, #0x24] + ldr r0, [sp, #0x14] + add r0, r0, #0x1 + str r0, [sp, #0x14] + cmp r0, #0x50 + bge _02008552 + b _0200832E +_02008552: + b _020086BC +_02008554: + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x40] + str r0, [sp, #0x3c] +_0200855C: + ldr r0, [sp, #0x0] + mov r1, #0x4f + sub r2, r1, r0 + mov r0, #0x50 + add r1, r2, #0x0 + mul r1, r0 + ldr r0, [sp, #0x50] + mov r4, #0x0 + add r0, r0, r1 + str r0, [sp, #0x34] + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x3c] + add r7, r1, r0 + ldr r0, [sp, #0x34] + ldr r1, [sp, #0x38] + str r0, [sp, #0x30] + ldr r0, [sp, #0x40] + str r7, [sp, #0x2c] + add r5, r1, r0 + ldr r0, [sp, #0x0] + sub r0, r0, #0x1 + lsl r1, r0, #0x7 + ldr r0, [sp, #0x38] + add r0, r0, r1 + str r0, [sp, #0x28] +_0200858E: + ldr r0, [sp, #0x44] + ldr r1, [r0, #0x54] + lsl r0, r1, #0x16 + lsr r0, r0, #0x1f + beq _020085D6 + lsl r1, r1, #0x15 + lsr r1, r1, #0x1f + beq _020085D6 + cmp r4, #0x28 + bge _020085BA + mov r0, #0x27 + sub r1, r0, r4 + ldr r0, [sp, #0x30] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_020085BA: + add r1, r4, #0x0 + sub r1, #0x28 + mov r0, #0x4f + sub r1, r0, r1 + ldr r0, [sp, #0x30] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_020085D6: + cmp r0, #0x0 + beq _02008612 + cmp r4, #0x28 + bge _020085F6 + mov r0, #0x27 + sub r1, r0, r4 + ldr r0, [sp, #0x2c] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_020085F6: + add r1, r4, #0x0 + sub r1, #0x28 + mov r0, #0x4f + sub r1, r0, r1 + ldr r0, [sp, #0x2c] + ldrb r0, [r0, r1] + bl sub_020088D8 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_02008612: + ldr r0, [sp, #0x44] + ldr r0, [r0, #0x54] + lsl r1, r0, #0x15 + lsr r1, r1, #0x1f + beq _0200862C + ldr r0, [sp, #0x34] + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + ldrb r0, [r0, #0x0] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_0200862C: + lsl r0, r0, #0xf + lsr r0, r0, #0x1c + str r0, [sp, #0x4] + beq _02008688 + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x0] + lsl r1, r1, #0x1 + blx sub_020EBE8C + cmp r1, #0x0 + beq _02008654 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + ldr r1, [sp, #0x28] + add r1, r1, r0 + ldrb r1, [r4, r1] + add r0, r5, r0 + strb r1, [r4, r0] + b _02008694 +_02008654: + ldr r1, [sp, #0x4] + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r1, #0x0 + beq _02008672 + mov r0, #0xab + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r1, r5, r0 + add r0, r1, r4 + sub r0, r0, #0x1 + ldrb r0, [r0, #0x0] + strb r0, [r1, r4] + b _02008694 +_02008672: + ldrb r1, [r7, #0x0] + mov r0, #0xf + and r1, r0 + lsl r0, r1, #0x4 + orr r0, r1 + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r1, r5, r1 + strb r0, [r4, r1] + b _02008694 +_02008688: + mov r1, #0xab + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + ldrb r0, [r7, #0x0] + add r1, r5, r1 + strb r0, [r4, r1] +_02008694: + ldr r0, [sp, #0x34] + add r4, r4, #0x1 + add r0, r0, #0x1 + add r7, r7, #0x1 + str r0, [sp, #0x34] + cmp r4, #0x50 + bge _020086A4 + b _0200858E +_020086A4: + ldr r0, [sp, #0x40] + add r0, #0x80 + str r0, [sp, #0x40] + ldr r0, [sp, #0x3c] + add r0, #0x50 + str r0, [sp, #0x3c] + ldr r0, [sp, #0x0] + add r0, r0, #0x1 + str r0, [sp, #0x0] + cmp r0, #0x50 + bge _020086BC + b _0200855C +_020086BC: + ldr r0, [sp, #0x4c] + bl sub_02016A18 +_020086C2: + ldr r0, [sp, #0x44] + mov r1, #0xa + add r0, #0x98 + str r0, [sp, #0x44] + ldr r0, [sp, #0x38] + lsl r1, r1, #0xa + add r0, r0, r1 + str r0, [sp, #0x38] + ldr r0, [sp, #0x54] + add r0, r0, #0x1 + str r0, [sp, #0x54] + cmp r0, #0x4 + bge _020086DE + b _020082BA +_020086DE: + ldr r1, _020086F0 ; =0x000002E1 + ldr r0, [sp, #0x48] + strb r0, [r6, r1] + add sp, #0x5c + pop {r4-r7, pc} + .balign 4 +_020086E8: .word 0x00002828 +_020086EC: .word 0x00002827 +_020086F0: .word 0x000002E1 + + thumb_func_start sub_020086F4 +sub_020086F4: ; 0x020086F4 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x14] + ldr r0, [sp, #0xc] + add r4, r5, #0x0 + str r0, [sp, #0x8] +_02008706: + ldr r1, [r4, #0x0] + lsl r0, r1, #0x1f + lsr r0, r0, #0x1f + beq _020087E0 + lsl r0, r1, #0x17 + lsr r0, r0, #0x1f + beq _020087E0 + ldr r0, _020088CC ; =0xFFFFFEFF + mov r2, #0xa6 + and r0, r1 + str r0, [r4, #0x0] + mov r0, #0x1 + str r0, [sp, #0xc] + lsl r2, r2, #0x2 + ldrh r0, [r4, #0x4] + ldrh r1, [r4, #0x8] + ldr r2, [r5, r2] + bl sub_0200650C + add r1, sp, #0x18 + str r0, [sp, #0x10] + blx sub_020B0138 + ldr r0, [sp, #0x18] + mov r7, #0x0 + ldr r1, [r0, #0x0] + mov r0, #0x2d + lsl r0, r0, #0x4 + str r1, [r5, r0] + ldr r0, [sp, #0x18] + add r2, r7, #0x0 + ldr r1, [r0, #0xc] + ldr r0, [sp, #0x8] + lsl r3, r0, #0x1 +_0200874A: + mov r6, #0x2b + lsl r6, r6, #0x4 + ldr r6, [r5, r6] + ldrh r0, [r1, #0x0] + add r6, r3, r6 + add r7, r7, #0x1 + strh r0, [r2, r6] + mov r6, #0xad + lsl r6, r6, #0x2 + ldrh r0, [r1, #0x0] + ldr r6, [r5, r6] + add r1, r1, #0x2 + add r6, r3, r6 + strh r0, [r2, r6] + add r2, r2, #0x2 + cmp r7, #0x10 + blt _0200874A + ldr r0, [sp, #0x10] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + beq _020087E0 + mov r2, #0xa6 + lsl r2, r2, #0x2 + ldr r2, [r5, r2] + mov r0, #0x75 + mov r1, #0xd4 + bl sub_0200650C + add r1, sp, #0x18 + str r0, [sp, #0x4] + blx sub_020B0138 + ldr r0, [sp, #0x18] + mov r7, #0xad + ldr r0, [r0, #0xc] + mov r1, #0x0 + lsl r7, r7, #0x2 +_0200879E: + add r6, r4, #0x0 + add r6, #0x6c + ldrh r6, [r6, #0x0] + mov r2, #0x2b + lsl r2, r2, #0x4 + lsl r6, r6, #0x1e + lsr r6, r6, #0x1e + add r6, r6, #0x3 + lsl r6, r6, #0x4 + add r6, r1, r6 + ldrh r3, [r0, #0x0] + ldr r2, [r5, r2] + lsl r6, r6, #0x1 + strh r3, [r2, r6] + add r6, r4, #0x0 + add r6, #0x6c + ldrh r6, [r6, #0x0] + ldrh r3, [r0, #0x0] + ldr r2, [r5, r7] + lsl r6, r6, #0x1e + lsr r6, r6, #0x1e + add r6, r6, #0x3 + lsl r6, r6, #0x4 + add r6, r1, r6 + lsl r6, r6, #0x1 + add r1, r1, #0x1 + add r0, r0, #0x2 + strh r3, [r2, r6] + cmp r1, #0x10 + blt _0200879E + ldr r0, [sp, #0x4] + bl sub_02016A18 +_020087E0: + ldr r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _020088AE + ldr r0, [r4, #0x54] + lsl r0, r0, #0x13 + lsr r0, r0, #0x1f + beq _020088AE + add r0, r4, #0x0 + add r0, #0x4a + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _020088A0 + mov r0, #0x1 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r0, #0x4b + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x4a + strb r1, [r0, #0x0] + ldr r0, [sp, #0x8] + mov r2, #0xad + lsl r1, r0, #0x1 + ldr r0, [r4, #0x4c] + add r3, r4, #0x0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r2, r2, #0x2 + str r0, [sp, #0x0] + ldr r0, [r5, r2] + sub r2, r2, #0x4 + add r3, #0x48 + ldr r2, [r5, r2] + add r0, r0, r1 + add r1, r2, r1 + ldrb r3, [r3, #0x0] + mov r2, #0x10 + bl sub_02003974 + add r0, r4, #0x0 + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + beq _02008862 + add r0, r0, #0x3 + lsl r1, r0, #0x5 + ldr r0, [r4, #0x4c] + mov r2, #0xad + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r3, r4, #0x0 + lsl r2, r2, #0x2 + str r0, [sp, #0x0] + ldr r0, [r5, r2] + sub r2, r2, #0x4 + add r3, #0x48 + ldr r2, [r5, r2] + add r0, r0, r1 + add r1, r2, r1 + ldrb r3, [r3, #0x0] + mov r2, #0x10 + bl sub_02003974 +_02008862: + add r0, r4, #0x0 + add r0, #0x49 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, r1 + bne _0200887C + ldr r1, [r4, #0x54] + ldr r0, _020088D0 ; =0xFFFFEFFF + and r0, r1 + str r0, [r4, #0x54] + b _020088AE +_0200887C: + cmp r0, r1 + bls _02008890 + add r0, r4, #0x0 + add r0, #0x48 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x48 + strb r1, [r0, #0x0] + b _020088AE +_02008890: + add r0, r4, #0x0 + add r0, #0x48 + ldrb r0, [r0, #0x0] + add r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x48 + strb r1, [r0, #0x0] + b _020088AE +_020088A0: + add r0, r4, #0x0 + add r0, #0x4a + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x4a + strb r1, [r0, #0x0] +_020088AE: + ldr r0, [sp, #0x8] + add r4, #0x98 + add r0, #0x10 + str r0, [sp, #0x8] + ldr r0, [sp, #0x14] + add r0, r0, #0x1 + str r0, [sp, #0x14] + cmp r0, #0x4 + bge _020088C2 + b _02008706 +_020088C2: + ldr r1, _020088D4 ; =0x000002E2 + ldr r0, [sp, #0xc] + strb r0, [r5, r1] + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_020088CC: .word 0xFFFFFEFF +_020088D0: .word 0xFFFFEFFF +_020088D4: .word 0x000002E2 + + thumb_func_start sub_020088D8 +sub_020088D8: ; 0x020088D8 + mov r1, #0xf0 + and r1, r0 + lsl r1, r1, #0x14 + lsl r0, r0, #0x1c + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + + thumb_func_start sub_020088EC +sub_020088EC: ; 0x020088EC + push {r3, lr} + add r2, r0, #0x0 + ldrh r0, [r2, #0xa] + cmp r0, #0x0 + beq _02008900 + add r0, r1, #0x0 + ldr r1, [r2, #0x10] + mov r2, #0x1 + bl sub_02008904 +_02008900: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02008904 +sub_02008904: ; 0x02008904 + push {r4-r7, lr} + sub sp, #0x1c + add r3, r0, #0x0 + add r0, r1, #0x0 + mov lr, r0 + mov r0, #0x0 + mov r12, r0 + ldr r0, _02008A50 ; =0x02105AE8 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + str r0, [sp, #0x10] +_0200891A: + ldr r0, [sp, #0x10] + mov r1, #0x0 + ldr r6, [r0, #0x0] + ldrb r0, [r6, #0x0] + cmp r0, #0xff + beq _02008992 + ldr r0, [sp, #0x0] + mov r2, #0xf + and r0, r2 + str r0, [sp, #0xc] + sub r0, #0x8 + str r0, [sp, #0xc] + ldr r0, [sp, #0x0] + mov r2, #0xf0 + and r0, r2 + lsr r7, r0, #0x4 + sub r7, #0x8 +_0200893C: + lsl r0, r1, #0x1 + add r2, r6, r0 + ldrb r4, [r6, r0] + ldrb r2, [r2, #0x1] + ldr r0, [sp, #0xc] + add r0, r0, r4 + add r2, r7, r2 + lsl r0, r0, #0x18 + lsl r2, r2, #0x18 + lsr r0, r0, #0x18 + lsr r4, r2, #0x18 + mov r2, #0x50 + mul r2, r4 + lsr r5, r0, #0x1 + add r2, r5, r2 + mov r4, #0x1 + tst r0, r4 + ldrb r4, [r3, r2] + beq _02008974 + mov r0, #0xf0 + and r0, r4 + cmp r0, #0x10 + blt _02008984 + cmp r0, #0x30 + bgt _02008984 + add r4, #0x50 + strb r4, [r3, r2] + b _02008984 +_02008974: + mov r0, #0xf + and r0, r4 + cmp r0, #0x1 + blt _02008984 + cmp r0, #0x3 + bgt _02008984 + add r0, r4, #0x5 + strb r0, [r3, r2] +_02008984: + add r0, r1, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsl r0, r1, #0x1 + ldrb r0, [r6, r0] + cmp r0, #0xff + bne _0200893C +_02008992: + ldr r0, [sp, #0x0] + lsr r0, r0, #0x8 + str r0, [sp, #0x0] + ldr r0, [sp, #0x10] + add r0, r0, #0x4 + str r0, [sp, #0x10] + mov r0, r12 + add r0, r0, #0x1 + mov r12, r0 + cmp r0, #0x4 + blt _0200891A + mov r0, lr + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _02008A4A + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, _02008A50 ; =0x02105AE8 + str r0, [sp, #0x18] +_020089BA: + ldr r0, [sp, #0x18] + mov r4, #0x0 + ldr r2, [r0, #0x0] + ldrb r0, [r2, #0x0] + cmp r0, #0xff + beq _02008A34 + ldr r0, [sp, #0x0] + mov r1, #0xf + and r0, r1 + str r0, [sp, #0x14] + add r0, #0x48 + str r0, [sp, #0x14] + ldr r0, [sp, #0x0] + mov r1, #0xf0 + and r0, r1 + lsr r7, r0, #0x4 + sub r7, #0x8 +_020089DC: + lsl r0, r4, #0x1 + add r5, r2, r0 + ldrb r1, [r2, r0] + ldrb r5, [r5, #0x1] + ldr r0, [sp, #0x14] + sub r1, #0xe + add r0, r0, r1 + add r5, r7, r5 + lsl r0, r0, #0x18 + lsl r5, r5, #0x18 + lsr r1, r0, #0x18 + lsr r6, r5, #0x18 + mov r5, #0x50 + lsr r0, r1, #0x1 + mul r5, r6 + add r0, r0, r5 + mov r5, #0x1 + tst r1, r5 + ldrb r5, [r3, r0] + beq _02008A16 + mov r1, #0xf0 + and r1, r5 + cmp r1, #0x10 + blt _02008A26 + cmp r1, #0x30 + bgt _02008A26 + add r5, #0x50 + strb r5, [r3, r0] + b _02008A26 +_02008A16: + mov r1, #0xf + and r1, r5 + cmp r1, #0x1 + blt _02008A26 + cmp r1, #0x3 + bgt _02008A26 + add r1, r5, #0x5 + strb r1, [r3, r0] +_02008A26: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r0, r4, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0xff + bne _020089DC +_02008A34: + ldr r0, [sp, #0x0] + lsr r0, r0, #0x8 + str r0, [sp, #0x0] + ldr r0, [sp, #0x18] + add r0, r0, #0x4 + str r0, [sp, #0x18] + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + str r0, [sp, #0x8] + cmp r0, #0x4 + blt _020089BA +_02008A4A: + add sp, #0x1c + pop {r4-r7, pc} + nop +_02008A50: .word 0x02105AE8 + + thumb_func_start sub_02008A54 +sub_02008A54: ; 0x02008A54 + ldr r2, [r0, #0x0] + ldr r1, _02008A6C ; =0x41C64E6D + add r3, r2, #0x0 + mul r3, r1 + ldr r1, _02008A70 ; =0x00006073 + add r1, r3, r1 + str r1, [r0, #0x0] + lsr r0, r1, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_02008A6C: .word 0x41C64E6D +_02008A70: .word 0x00006073 + + thumb_func_start sub_02008A74 +sub_02008A74: ; 0x02008A74 + push {r3-r7, lr} + ldr r1, _02008AA0 ; =0x000018FE + mov r6, #0x0 + ldrh r2, [r0, r1] + lsr r4, r1, #0x1 + add r5, r0, r1 + str r2, [sp, #0x0] + add r7, sp, #0x0 + mvn r6, r6 +_02008A86: + ldrh r1, [r5, #0x0] + ldr r0, [sp, #0x0] + eor r0, r1 + strh r0, [r5, #0x0] + add r0, r7, #0x0 + bl sub_02008A54 + sub r4, r4, #0x1 + sub r5, r5, #0x2 + cmp r4, r6 + bgt _02008A86 + pop {r3-r7, pc} + nop +_02008AA0: .word 0x000018FE + + thumb_func_start sub_02008AA4 +sub_02008AA4: ; 0x02008AA4 + push {r3-r7, lr} + sub sp, #0x18 + mov r4, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x44] + add r6, r1, #0x0 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + str r4, [sp, #0xc] + cmp r0, #0x0 + bne _02008AC2 + bl sub_02020C2C +_02008AC2: + ldr r0, [sp, #0x48] + cmp r0, #0x0 + bne _02008ACC + bl sub_02020C2C +_02008ACC: + ldr r0, [sp, #0x50] + cmp r0, #0x0 + bne _02008AD6 + bl sub_02020C2C +_02008AD6: + ldr r0, [sp, #0x4c] + cmp r0, #0x0 + bne _02008AE0 + bl sub_02020C2C +_02008AE0: + cmp r5, #0x0 + bne _02008AE8 + bl sub_02020C2C +_02008AE8: + ldr r0, [sp, #0x44] + add r1, r6, #0x0 + bl sub_020094F0 + add r7, r0, #0x0 + bne _02008AF8 + bl sub_02020C2C +_02008AF8: + ldr r0, [sp, #0x48] + ldr r1, [sp, #0x0] + bl sub_020094F0 + str r0, [sp, #0x14] + cmp r0, #0x0 + bne _02008B0A + bl sub_02020C2C +_02008B0A: + ldr r0, [sp, #0x4c] + ldr r1, [sp, #0x4] + bl sub_020094F0 + str r0, [sp, #0x10] + cmp r0, #0x0 + bne _02008B1C + bl sub_02020C2C +_02008B1C: + ldr r0, [sp, #0x50] + cmp r0, #0x0 + beq _02008B3A + mov r2, #0x0 + ldr r1, [sp, #0x30] + mvn r2, r2 + cmp r1, r2 + beq _02008B3A + bl sub_020094F0 + str r0, [sp, #0xc] + cmp r0, #0x0 + bne _02008B3A + bl sub_02020C2C +_02008B3A: + ldr r0, [sp, #0x54] + cmp r0, #0x0 + beq _02008B62 + mov r2, #0x0 + ldr r1, [sp, #0x34] + mvn r2, r2 + cmp r1, r2 + beq _02008B50 + bl sub_020094F0 + add r4, r0, #0x0 +_02008B50: + mov r0, #0x0 + ldr r1, [sp, #0x38] + mvn r0, r0 + cmp r1, r0 + beq _02008B62 + ldr r0, [sp, #0x58] + bl sub_020094F0 + str r0, [sp, #0x8] +_02008B62: + ldr r0, [sp, #0x3c] + cmp r0, #0x0 + beq _02008B82 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + bl sub_02009C80 + add r6, r0, #0x0 + bne _02008B78 + bl sub_02020C2C +_02008B78: + add r0, r7, #0x0 + bl sub_02009544 + str r0, [r5, #0x4] + b _02008B94 +_02008B82: + add r0, r7, #0x0 + bl sub_02009C5C + add r6, r0, #0x0 + bne _02008B90 + bl sub_02020C2C +_02008B90: + mov r0, #0x0 + str r0, [r5, #0x4] +_02008B94: + ldr r0, [sp, #0x14] + add r1, r6, #0x0 + bl sub_02009E54 + str r0, [r5, #0x8] + ldr r0, [sp, #0x10] + str r6, [r5, #0x0] + bl sub_02009574 + str r0, [r5, #0xc] + ldr r0, [sp, #0xc] + cmp r0, #0x0 + beq _02008BB4 + bl sub_0200958C + b _02008BB6 +_02008BB4: + mov r0, #0x0 +_02008BB6: + str r0, [r5, #0x10] + cmp r4, #0x0 + beq _02008BCC + add r0, r4, #0x0 + bl sub_020095A4 + str r0, [r5, #0x14] + ldr r0, [sp, #0x8] + bl sub_020095BC + b _02008BD0 +_02008BCC: + mov r0, #0x0 + str r0, [r5, #0x14] +_02008BD0: + str r0, [r5, #0x18] + ldr r0, [sp, #0x3c] + str r0, [r5, #0x1c] + ldr r0, [sp, #0x40] + add r5, #0x20 + strb r0, [r5, #0x0] + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_02008BE0 +sub_02008BE0: ; 0x02008BE0 + push {r4-r7, lr} + sub sp, #0x34 + add r5, r0, #0x0 + ldr r0, [sp, #0x48] + add r7, r1, #0x0 + str r0, [sp, #0x48] + ldr r0, [sp, #0x4c] + mov r4, #0x0 + str r0, [sp, #0x4c] + ldr r0, [sp, #0x50] + ldr r1, [r5, #0x0] + str r0, [sp, #0x50] + ldr r0, [sp, #0x54] + str r2, [sp, #0x2c] + str r0, [sp, #0x54] + sub r0, r4, #0x2 + str r3, [sp, #0x30] + cmp r1, r0 + beq _02008C14 + add r2, r5, #0x0 + sub r0, r4, #0x2 +_02008C0A: + add r2, #0x20 + ldr r1, [r2, #0x0] + add r4, r4, #0x1 + cmp r1, r0 + bne _02008C0A +_02008C14: + add r0, r7, #0x0 + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x24 + add r6, r0, #0x0 + add r0, r7, #0x0 + mul r1, r4 + bl sub_02016998 + str r0, [r6, #0x0] + mov r7, #0x0 + str r4, [r6, #0x4] + cmp r4, #0x0 + ble _02008C7A + add r4, r7, #0x0 +_02008C34: + ldr r0, [r5, #0xc] + str r0, [sp, #0x0] + ldr r0, [r5, #0x10] + str r0, [sp, #0x4] + ldr r0, [r5, #0x14] + str r0, [sp, #0x8] + ldr r0, [r5, #0x18] + str r0, [sp, #0xc] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x10] + ldr r0, [sp, #0x2c] + str r0, [sp, #0x14] + ldr r0, [sp, #0x30] + str r0, [sp, #0x18] + ldr r0, [sp, #0x48] + str r0, [sp, #0x1c] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x20] + ldr r0, [sp, #0x50] + str r0, [sp, #0x24] + ldr r0, [sp, #0x54] + str r0, [sp, #0x28] + ldr r0, [r6, #0x0] + ldr r1, [r5, #0x0] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r0, r0, r4 + bl sub_02008AA4 + ldr r0, [r6, #0x4] + add r7, r7, #0x1 + add r5, #0x20 + add r4, #0x24 + cmp r7, r0 + blt _02008C34 +_02008C7A: + add r0, r6, #0x0 + add sp, #0x34 + pop {r4-r7, pc} + + thumb_func_start sub_02008C80 +sub_02008C80: ; 0x02008C80 + push {r4, lr} + add r4, r0, #0x0 + bne _02008C8A + bl sub_02020C2C +_02008C8A: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02008C94 + bl sub_02016A18 +_02008C94: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02008C9C +sub_02008C9C: ; 0x02008C9C + push {r3-r6, lr} + sub sp, #0x1c + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r1, _02008D00 ; =0xFFFFF000 + add r0, r4, #0x0 + add r6, r2, #0x0 + bl sub_0202134C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0xff + lsl r0, r0, #0xc + str r0, [sp, #0x8] + mov r0, #0x3 + lsl r0, r0, #0x12 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r0, #0x98 + add r1, sp, #0x0 + mov r2, #0x1 + add r3, r4, #0x0 + bl sub_02009FD8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0xff + mov r1, #0x3 + lsl r1, r1, #0x12 + lsl r0, r0, #0xc + str r0, [sp, #0x8] + add r0, r4, #0x0 + str r1, [sp, #0x4] + str r1, [sp, #0xc] + add r0, #0xe0 + add r1, sp, #0x0 + mov r2, #0x2 + add r3, r4, #0x0 + bl sub_02009FD8 + add r0, sp, #0x10 + str r5, [sp, #0x10] + str r4, [sp, #0x14] + str r6, [sp, #0x18] + bl sub_0201FCB0 + add sp, #0x1c + pop {r3-r6, pc} + nop +_02008D00: .word 0xFFFFF000 + + thumb_func_start sub_02008D04 +sub_02008D04: ; 0x02008D04 + push {r3, lr} + sub sp, #0x10 + str r1, [sp, #0x0] + mov r1, #0xff + lsl r1, r1, #0xc + str r1, [sp, #0x8] + mov r1, #0x3 + lsl r1, r1, #0x12 + str r1, [sp, #0xc] + add r0, #0x98 + add r1, sp, #0x0 + str r2, [sp, #0x4] + bl sub_02021390 + add sp, #0x10 + pop {r3, pc} + + thumb_func_start sub_02008D24 +sub_02008D24: ; 0x02008D24 + push {r3, lr} + sub sp, #0x10 + str r1, [sp, #0x0] + mov r1, #0xff + lsl r1, r1, #0xc + str r1, [sp, #0x8] + mov r1, #0x3 + lsl r1, r1, #0x12 + str r1, [sp, #0xc] + add r0, #0xe0 + add r1, sp, #0x0 + str r2, [sp, #0x4] + bl sub_02021390 + add sp, #0x10 + pop {r3, pc} + + thumb_func_start sub_02008D44 +sub_02008D44: ; 0x02008D44 + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x10 + beq _02008D5A + ldr r2, _02008DCC ; =0x00100010 + cmp r1, r2 + beq _02008D8A + ldr r0, _02008DD0 ; =0x00200010 + cmp r1, r0 + beq _02008D98 + b _02008DC4 +_02008D5A: + blx sub_020C5DBC + cmp r0, #0x40 + beq _02008D6A + blx sub_020C5DBC + cmp r0, #0x20 + bne _02008D7A +_02008D6A: + mov r0, #0x3e + mov r1, #0x2 + lsl r0, r0, #0x8 + lsl r1, r1, #0x8 + add r2, r4, #0x0 + bl sub_0201D194 + pop {r4, pc} +_02008D7A: + mov r0, #0x7e + mov r1, #0x2 + lsl r0, r0, #0x8 + lsl r1, r1, #0x8 + add r2, r4, #0x0 + bl sub_0201D194 + pop {r4, pc} +_02008D8A: + mov r0, #0xfe + lsr r1, r2, #0xb + lsl r0, r0, #0x8 + add r2, r4, #0x0 + bl sub_0201D194 + pop {r4, pc} +_02008D98: + blx sub_020C5DBC + cmp r0, #0x30 + beq _02008DA8 + blx sub_020C5DBC + cmp r0, #0x50 + bne _02008DB6 +_02008DA8: + mov r1, #0x2 + ldr r0, _02008DD4 ; =0x00013E00 + lsl r1, r1, #0x8 + add r2, r4, #0x0 + bl sub_0201D194 + pop {r4, pc} +_02008DB6: + mov r1, #0x2 + ldr r0, _02008DD8 ; =0x0001FE00 + lsl r1, r1, #0x8 + add r2, r4, #0x0 + bl sub_0201D194 + pop {r4, pc} +_02008DC4: + bl sub_02020C2C + pop {r4, pc} + nop +_02008DCC: .word 0x00100010 +_02008DD0: .word 0x00200010 +_02008DD4: .word 0x00013E00 +_02008DD8: .word 0x0001FE00 + + thumb_func_start sub_02008DDC +sub_02008DDC: ; 0x02008DDC + ldr r3, _02008DE8 ; =0x0201E069 + add r1, r0, #0x0 + mov r0, #0x3 + lsl r0, r0, #0xe + bx r3 + nop +_02008DE8: .word 0x0201E069 + + thumb_func_start sub_02008DEC +sub_02008DEC: ; 0x02008DEC + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + str r2, [sp, #0x0] + add r0, r2, #0x0 + mov r1, #0x14 + bl sub_02016998 + add r4, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02020C44 + str r0, [r4, #0x0] + mov r0, #0xc + add r7, r5, #0x0 + mul r7, r0 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_02016998 + mov r1, #0x0 + add r2, r7, #0x0 + str r0, [r4, #0x4] + blx sub_020DF4A4 + str r5, [r4, #0x8] + mov r0, #0x0 + str r0, [r4, #0xc] + str r6, [r4, #0x10] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02008E2C +sub_02008E2C: ; 0x02008E2C + push {r4, lr} + add r4, r0, #0x0 + bne _02008E36 + bl sub_02020C2C +_02008E36: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02008E40 + bl sub_02020C2C +_02008E40: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + bne _02008E4A + bl sub_02020C2C +_02008E4A: + add r0, r4, #0x0 + bl sub_020094C4 + ldr r0, [r4, #0x0] + bl sub_02020C90 + mov r0, #0x0 + str r0, [r4, #0x0] + ldr r0, [r4, #0x4] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x4] + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02008E6C +sub_02008E6C: ; 0x02008E6C + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r5, #0x0 + bne _02008E80 + bl sub_02020C2C +_02008E80: + cmp r4, #0x0 + bne _02008E88 + bl sub_02020C2C +_02008E88: + ldr r0, [r4, #0x4] + cmp r0, r6 + bgt _02008E92 + bl sub_02020C2C +_02008E92: + ldr r1, [r5, #0x10] + ldr r0, [r4, #0x8] + cmp r1, r0 + beq _02008E9E + bl sub_02020C2C +_02008E9E: + add r0, r5, #0x0 + bl sub_020097D0 + str r0, [sp, #0x1c] + cmp r0, #0x0 + bne _02008EAE + bl sub_02020C2C +_02008EAE: + ldrb r0, [r4, #0xc] + cmp r0, #0x0 + bne _02008EEA + ldr r2, [r4, #0x0] + mov r0, #0x4c + add r1, r6, #0x0 + mul r1, r0 + add r6, r2, r1 + ldr r1, [r2, r1] + add r0, r5, #0x0 + bl sub_0200945C + cmp r0, #0x1 + beq _02008ECE + bl sub_02020C2C +_02008ECE: + ldr r0, [r6, #0x44] + ldr r1, [sp, #0x1c] + str r0, [sp, #0x0] + ldr r0, [r6, #0x48] + add r2, r6, #0x4 + str r0, [sp, #0x4] + ldr r0, [r4, #0x8] + str r0, [sp, #0x8] + str r7, [sp, #0xc] + ldr r3, [r6, #0x0] + add r0, r5, #0x0 + bl sub_0200994C + b _02008F28 +_02008EEA: + mov r0, #0x18 + ldr r1, [r4, #0x0] + mul r0, r6 + add r6, r1, r0 + ldr r1, [r6, #0xc] + add r0, r5, #0x0 + bl sub_0200945C + cmp r0, #0x1 + beq _02008F02 + bl sub_02020C2C +_02008F02: + ldr r0, [r6, #0x8] + ldr r1, [sp, #0x1c] + str r0, [sp, #0x0] + ldr r0, [r6, #0xc] + str r0, [sp, #0x4] + ldr r0, [r6, #0x10] + str r0, [sp, #0x8] + ldr r0, [r6, #0x14] + str r0, [sp, #0xc] + ldr r0, [r4, #0x8] + str r0, [sp, #0x10] + str r7, [sp, #0x14] + mov r0, #0x0 + str r0, [sp, #0x18] + ldr r2, [r6, #0x0] + ldr r3, [r6, #0x4] + add r0, r5, #0x0 + bl sub_02009978 +_02008F28: + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + ldr r0, [sp, #0x1c] + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_02008F34 +sub_02008F34: ; 0x02008F34 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _02008F48 + bl sub_02020C2C +_02008F48: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _02008F52 + bl sub_02020C2C +_02008F52: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02008F60 + bl sub_02020C2C +_02008F60: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + mov r1, #0x0 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [sp, #0x40] + str r1, [sp, #0x10] + str r0, [sp, #0x14] + str r1, [sp, #0x18] + ldr r3, [sp, #0x1c] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02009978 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02008F90 +sub_02008F90: ; 0x02008F90 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _02008FA4 + bl sub_02020C2C +_02008FA4: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _02008FAE + bl sub_02020C2C +_02008FAE: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02008FBC + bl sub_02020C2C +_02008FBC: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_02009978 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_02008FEC +sub_02008FEC: ; 0x02008FEC + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _02009000 + bl sub_02020C2C +_02009000: + ldr r0, [r5, #0x10] + cmp r0, #0x1 + beq _0200900A + bl sub_02020C2C +_0200900A: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02009018 + bl sub_02020C2C +_02009018: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x14] + mov r0, #0x0 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_02009978 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200904C +sub_0200904C: ; 0x0200904C + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _02009060 + bl sub_02020C2C +_02009060: + ldr r0, [r5, #0x10] + cmp r0, #0x1 + beq _0200906A + bl sub_02020C2C +_0200906A: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02009078 + bl sub_02020C2C +_02009078: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x48] + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_02009978 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020090AC +sub_020090AC: ; 0x020090AC + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _020090C0 + bl sub_02020C2C +_020090C0: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _020090CE + bl sub_02020C2C +_020090CE: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + ldr r0, [sp, #0x3c] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x40] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x14] + str r1, [sp, #0x18] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02009978 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_020090FC +sub_020090FC: ; 0x020090FC + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x1c] + str r3, [sp, #0x20] + cmp r5, #0x0 + bne _02009110 + bl sub_02020C2C +_02009110: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _0200911A + bl sub_02020C2C +_0200911A: + cmp r4, #0x0 + bne _02009122 + bl sub_02020C2C +_02009122: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0200912C + bl sub_02020C2C +_0200912C: + add r0, r4, #0x0 + bl sub_02009530 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020095E4 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02009490 + ldr r0, [sp, #0x38] + mov r1, #0x0 + str r0, [sp, #0x0] + str r6, [sp, #0x4] + str r7, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [sp, #0x3c] + str r1, [sp, #0x10] + str r0, [sp, #0x14] + str r1, [sp, #0x18] + ldr r2, [sp, #0x1c] + ldr r3, [sp, #0x20] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02009978 + add sp, #0x24 + pop {r4-r7, pc} + + thumb_func_start sub_02009168 +sub_02009168: ; 0x02009168 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x1c] + str r3, [sp, #0x20] + cmp r5, #0x0 + bne _0200917C + bl sub_02020C2C +_0200917C: + ldr r0, [r5, #0x10] + cmp r0, #0x1 + beq _02009186 + bl sub_02020C2C +_02009186: + cmp r4, #0x0 + bne _0200918E + bl sub_02020C2C +_0200918E: + ldr r0, [r4, #0x4] + cmp r0, #0x1 + beq _02009198 + bl sub_02020C2C +_02009198: + add r0, r4, #0x0 + bl sub_02009530 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020095E4 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02009610 + str r0, [sp, #0x24] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02009490 + ldr r0, [sp, #0x40] + ldr r2, [sp, #0x1c] + str r0, [sp, #0x0] + str r6, [sp, #0x4] + ldr r0, [sp, #0x24] + str r7, [sp, #0x8] + str r0, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x44] + ldr r3, [sp, #0x20] + str r0, [sp, #0x14] + mov r0, #0x0 + str r0, [sp, #0x18] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02009978 + add sp, #0x28 + pop {r3-r7, pc} + + thumb_func_start sub_020091E0 +sub_020091E0: ; 0x020091E0 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _020091F4 + bl sub_02020C2C +_020091F4: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _020091FE + bl sub_02020C2C +_020091FE: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _0200920C + bl sub_02020C2C +_0200920C: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + mov r1, #0x0 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [sp, #0x40] + str r1, [sp, #0x10] + str r0, [sp, #0x14] + str r1, [sp, #0x18] + ldr r3, [sp, #0x1c] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020099B0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200923C +sub_0200923C: ; 0x0200923C + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _02009250 + bl sub_02020C2C +_02009250: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _0200925A + bl sub_02020C2C +_0200925A: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02009268 + bl sub_02020C2C +_02009268: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_020099B0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_02009298 +sub_02009298: ; 0x02009298 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _020092AC + bl sub_02020C2C +_020092AC: + ldr r0, [r5, #0x10] + cmp r0, #0x1 + beq _020092B6 + bl sub_02020C2C +_020092B6: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _020092C4 + bl sub_02020C2C +_020092C4: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x14] + mov r0, #0x0 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_020099B0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020092F8 +sub_020092F8: ; 0x020092F8 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _0200930C + bl sub_02020C2C +_0200930C: + ldr r0, [r5, #0x10] + cmp r0, #0x1 + beq _02009316 + bl sub_02020C2C +_02009316: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _02009324 + bl sub_02020C2C +_02009324: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + ldr r0, [sp, #0x40] + add r1, r6, #0x0 + str r0, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x44] + add r2, r7, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x48] + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_020099B0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02009358 +sub_02009358: ; 0x02009358 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x1c] + cmp r5, #0x0 + bne _0200936C + bl sub_02020C2C +_0200936C: + add r0, r5, #0x0 + bl sub_020097D0 + add r6, r0, #0x0 + bne _0200937A + bl sub_02020C2C +_0200937A: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + ldr r0, [sp, #0x3c] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x40] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x14] + str r1, [sp, #0x18] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020099B0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add r0, r6, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_020093A8 +sub_020093A8: ; 0x020093A8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r5, #0x0 + bne _020093BC + bl sub_02020C2C +_020093BC: + cmp r4, #0x0 + bne _020093C4 + bl sub_02020C2C +_020093C4: + str r6, [sp, #0x0] + str r7, [sp, #0x4] + ldr r3, [r4, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020093DC + ldr r0, [r4, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020093DC +sub_020093DC: ; 0x020093DC + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r5, r2, #0x0 + ldr r0, [sp, #0x24] + add r7, r5, r3 + str r1, [sp, #0x4] + ldr r4, [sp, #0x20] + str r0, [sp, #0x24] + cmp r5, r7 + bge _02009420 + add r6, r4, #0x0 + add r6, #0x8 +_020093F6: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r3, [sp, #0x24] + add r2, r5, #0x0 + bl sub_02008E6C + cmp r4, #0x0 + beq _0200941A + ldr r2, [r4, #0x8] + ldr r1, [r4, #0x4] + cmp r1, r2 + ble _0200941A + ldr r1, [r4, #0x0] + lsl r2, r2, #0x2 + str r0, [r1, r2] + ldr r0, [r6, #0x0] + add r0, r0, #0x1 + str r0, [r6, #0x0] +_0200941A: + add r5, r5, #0x1 + cmp r5, r7 + blt _020093F6 +_02009420: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02009424 +sub_02009424: ; 0x02009424 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0xc + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + lsl r1, r5, #0x2 + bl sub_02016998 + str r0, [r4, #0x0] + str r5, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02009448 +sub_02009448: ; 0x02009448 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200945C +sub_0200945C: ; 0x0200945C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0200946A + bl sub_02020C2C +_0200946A: + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02020CB0 + pop {r3-r5, pc} + + thumb_func_start sub_02009474 +sub_02009474: ; 0x02009474 + push {r4, lr} + add r4, r0, #0x0 + bne _0200947E + bl sub_02020C2C +_0200947E: + add r0, r4, #0x0 + bl sub_02009920 + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl sub_02020E1C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02009490 +sub_02009490: ; 0x02009490 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0200949E + bl sub_02020C2C +_0200949E: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _020094A8 + bl sub_02020C2C +_020094A8: + add r0, r4, #0x0 + bl sub_02009920 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl sub_02020D68 + mov r0, #0x0 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + sub r0, r0, #0x1 + str r0, [r5, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020094C4 +sub_020094C4: ; 0x020094C4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + mov r6, #0x0 + cmp r0, #0x0 + ble _020094EC + add r4, r6, #0x0 +_020094D2: + ldr r1, [r5, #0x4] + ldr r0, [r1, r4] + cmp r0, #0x0 + beq _020094E2 + add r0, r5, #0x0 + add r1, r1, r4 + bl sub_02009490 +_020094E2: + ldr r0, [r5, #0x8] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _020094D2 +_020094EC: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020094F0 +sub_020094F0: ; 0x020094F0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _020094FE + bl sub_02020C2C +_020094FE: + ldr r0, [r5, #0x8] + mov r6, #0x0 + cmp r0, #0x0 + ble _0200952C + add r4, r6, #0x0 +_02009508: + ldr r0, [r5, #0x4] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009522 + bl sub_02020E38 + cmp r0, r7 + bne _02009522 + mov r0, #0xc + ldr r1, [r5, #0x4] + mul r0, r6 + add r0, r1, r0 + pop {r3-r7, pc} +_02009522: + ldr r0, [r5, #0x8] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02009508 +_0200952C: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02009530 +sub_02009530: ; 0x02009530 + push {r4, lr} + add r4, r0, #0x0 + bne _0200953A + bl sub_02020C2C +_0200953A: + ldr r0, [r4, #0x0] + bl sub_02020E38 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02009544 +sub_02009544: ; 0x02009544 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02009552 + bl sub_02020C2C +_02009552: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_0200955C +sub_0200955C: ; 0x0200955C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + beq _0200956A + bl sub_02020C2C +_0200956A: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_02009574 +sub_02009574: ; 0x02009574 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x2 + beq _02009582 + bl sub_02020C2C +_02009582: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_0200958C +sub_0200958C: ; 0x0200958C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + beq _0200959A + bl sub_02020C2C +_0200959A: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_020095A4 +sub_020095A4: ; 0x020095A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x4 + beq _020095B2 + bl sub_02020C2C +_020095B2: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_020095BC +sub_020095BC: ; 0x020095BC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x5 + beq _020095CA + bl sub_02020C2C +_020095CA: + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_020095D4 +sub_020095D4: ; 0x020095D4 + push {r4, lr} + add r4, r0, #0x0 + bne _020095DE + bl sub_02020C2C +_020095DE: + ldr r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020095E4 +sub_020095E4: ; 0x020095E4 + push {r4, lr} + add r4, r0, #0x0 + bne _020095EE + bl sub_02020C2C +_020095EE: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + bne _020095FE + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x4] + pop {r4, pc} +_020095FE: + cmp r0, #0x1 + bne _0200960C + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x4] + pop {r4, pc} +_0200960C: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02009610 +sub_02009610: ; 0x02009610 + push {r4, lr} + add r4, r0, #0x0 + bne _0200961A + bl sub_02020C2C +_0200961A: + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0200962A + add r0, r4, #0x0 + bl sub_02009934 + ldr r0, [r0, #0x8] + pop {r4, pc} +_0200962A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02009630 +sub_02009630: ; 0x02009630 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0200963E + bl sub_02020C2C +_0200963E: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _0200964C + add r0, r5, #0x0 + bl sub_02009934 + str r4, [r0, #0x4] +_0200964C: + ldr r0, [r5, #0x4] + cmp r0, #0x1 + bne _0200965A + add r0, r5, #0x0 + bl sub_02009934 + str r4, [r0, #0x4] +_0200965A: + pop {r3-r5, pc} + + thumb_func_start sub_0200965C +sub_0200965C: ; 0x0200965C + mov r0, #0x10 + bx lr + + thumb_func_start sub_02009660 +sub_02009660: ; 0x02009660 + lsl r1, r1, #0x4 + add r0, r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_02009668 +sub_02009668: ; 0x02009668 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x0 + bne _02009678 + bl sub_02020C2C +_02009678: + ldr r0, [r5, #0x0] + str r0, [r4, #0x8] + mov r0, #0x1 + strb r0, [r4, #0xc] + add r0, r5, #0x4 + bl sub_020099E8 + add r2, r0, #0x0 + str r0, [r4, #0x4] + cmp r2, #0x0 + ble _0200969A + mov r1, #0x18 + add r0, r6, #0x0 + mul r1, r2 + bl sub_02016998 + b _0200969C +_0200969A: + mov r0, #0x0 +_0200969C: + str r0, [r4, #0x0] + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020096B0 + ldr r3, [r4, #0x4] + mov r2, #0x18 + add r1, r5, #0x4 + mul r2, r3 + blx sub_020DF438 +_020096B0: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020096B4 +sub_020096B4: ; 0x020096B4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020096C2 + bl sub_02016A18 +_020096C2: + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020096CC +sub_020096CC: ; 0x020096CC + push {r4, lr} + add r4, r0, #0x0 + bne _020096D6 + bl sub_02020C2C +_020096D6: + ldr r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020096DC +sub_020096DC: ; 0x020096DC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020096EA + bl sub_02020C2C +_020096EA: + ldr r0, [r5, #0x4] + cmp r0, r4 + bgt _020096F4 + bl sub_02020C2C +_020096F4: + ldrb r0, [r5, #0xc] + ldr r1, [r5, #0x0] + cmp r0, #0x0 + bne _02009704 + mov r0, #0x4c + mul r0, r4 + ldr r0, [r1, r0] + pop {r3-r5, pc} +_02009704: + mov r0, #0x18 + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009710 +sub_02009710: ; 0x02009710 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0200971E + bl sub_02020C2C +_0200971E: + ldr r0, [r5, #0x4] + cmp r0, r4 + bgt _02009728 + bl sub_02020C2C +_02009728: + ldrb r0, [r5, #0xc] + cmp r0, #0x1 + bne _02009738 + mov r0, #0x18 + ldr r1, [r5, #0x0] + mul r0, r4 + add r0, r1, r0 + ldr r6, [r0, #0x4] +_02009738: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0200973C +sub_0200973C: ; 0x0200973C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0200974A + bl sub_02020C2C +_0200974A: + ldr r0, [r5, #0x4] + cmp r0, r4 + bgt _02009754 + bl sub_02020C2C +_02009754: + ldrb r0, [r5, #0xc] + cmp r0, #0x1 + bne _02009764 + mov r0, #0x18 + ldr r1, [r5, #0x0] + mul r0, r4 + add r0, r1, r0 + ldr r6, [r0, #0x8] +_02009764: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02009768 +sub_02009768: ; 0x02009768 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02009776 + bl sub_02020C2C +_02009776: + ldr r0, [r5, #0x4] + cmp r0, r4 + bgt _02009780 + bl sub_02020C2C +_02009780: + ldrb r0, [r5, #0xc] + ldr r1, [r5, #0x0] + cmp r0, #0x0 + bne _02009792 + mov r0, #0x4c + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0x44] + pop {r3-r5, pc} +_02009792: + mov r0, #0x18 + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0x10] + pop {r3-r5, pc} + + thumb_func_start sub_0200979C +sub_0200979C: ; 0x0200979C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020097AA + bl sub_02020C2C +_020097AA: + ldr r0, [r5, #0x4] + cmp r0, r4 + bgt _020097B4 + bl sub_02020C2C +_020097B4: + ldrb r0, [r5, #0xc] + ldr r1, [r5, #0x0] + cmp r0, #0x0 + bne _020097C6 + mov r0, #0x4c + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0x48] + pop {r3-r5, pc} +_020097C6: + mov r0, #0x18 + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0x14] + pop {r3-r5, pc} + + thumb_func_start sub_020097D0 +sub_020097D0: ; 0x020097D0 + push {r3-r4} + ldr r4, [r0, #0x8] + mov r1, #0x0 + cmp r4, #0x0 + ble _020097F6 + ldr r3, [r0, #0x4] + add r2, r3, #0x0 +_020097DE: + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _020097EE + mov r0, #0xc + mul r0, r1 + add r0, r3, r0 + pop {r3-r4} + bx lr +_020097EE: + add r1, r1, #0x1 + add r2, #0xc + cmp r1, r4 + blt _020097DE +_020097F6: + mov r0, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_020097FC +sub_020097FC: ; 0x020097FC + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + ldr r5, [sp, #0x18] + bl sub_02020E0C + cmp r6, #0x5 + bhi _0200986A + add r1, r6, r6 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r6, r2, #0 + lsl r4, r4, #0 + lsl r6, r5, #0 + lsl r0, r7, #0 + lsl r2, r0, #0x1 + add r1, r7, #0x0 + add r2, r5, #0x0 + bl sub_0200986C + str r0, [r4, #0x8] + pop {r3-r7, pc} +_02009836: + .byte 0x00, 0x9A, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0xF0, 0x26, 0xF8 + .byte 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x33, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C + .byte 0x00, 0xF0, 0x3C, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x45, 0xF8, 0xA0, 0x60 + .byte 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x4E, 0xF8, 0xA0, 0x60 +_0200986A: + pop {r3-r7, pc} + + thumb_func_start sub_0200986C +sub_0200986C: ; 0x0200986C + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x8 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020B0088 + str r5, [r4, #0x4] + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200988C +sub_0200988C: ; 0x0200988C + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0xc + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + blx sub_020B0138 + str r5, [r4, #0x4] + str r6, [r4, #0x8] + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020098B0 +sub_020098B0: ; 0x020098B0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020AFEB8 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020098CC +sub_020098CC: ; 0x020098CC + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020AFD94 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020098E8 +sub_020098E8: ; 0x020098E8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020AFFD8 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009904 +sub_02009904: ; 0x02009904 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020AFD88 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009920 +sub_02009920: ; 0x02009920 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _0200992E + bl sub_02016A18 +_0200992E: + mov r0, #0x0 + str r0, [r4, #0x8] + pop {r4, pc} + + thumb_func_start sub_02009934 +sub_02009934: ; 0x02009934 + push {r4, lr} + add r4, r0, #0x0 + bne _0200993E + bl sub_02020C2C +_0200993E: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _02009948 + bl sub_02020C2C +_02009948: + ldr r0, [r4, #0x8] + pop {r4, pc} + + thumb_func_start sub_0200994C +sub_0200994C: ; 0x0200994C + push {r3-r4, lr} + sub sp, #0x4 + add r4, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r0, [r0, #0x0] + ldr r3, [sp, #0x1c] + bl sub_02020D10 + str r0, [r4, #0x0] + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x1c] + str r1, [r4, #0x4] + str r0, [sp, #0x0] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x14] + add r0, r4, #0x0 + bl sub_020097FC + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02009978 +sub_02009978: ; 0x02009978 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + add r4, r1, #0x0 + str r0, [sp, #0x0] + add r0, r2, #0x0 + add r1, r3, #0x0 + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x24] + bl sub_02006C98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x14] + bl sub_02020CD4 + str r0, [r4, #0x0] + ldr r1, [sp, #0x20] + ldr r0, [sp, #0x24] + str r1, [r4, #0x4] + str r0, [sp, #0x0] + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + add r0, r4, #0x0 + bl sub_020097FC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020099B0 +sub_020099B0: ; 0x020099B0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + add r4, r1, #0x0 + str r0, [sp, #0x0] + add r0, r2, #0x0 + add r1, r3, #0x0 + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x24] + bl sub_02009A04 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x14] + bl sub_02020CD4 + str r0, [r4, #0x0] + ldr r1, [sp, #0x20] + ldr r0, [sp, #0x24] + str r1, [r4, #0x4] + str r0, [sp, #0x0] + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + add r0, r4, #0x0 + bl sub_020097FC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020099E8 +sub_020099E8: ; 0x020099E8 + mov r3, #0x0 + ldr r2, [r0, #0x0] + sub r1, r3, #0x2 + cmp r2, r1 + beq _020099FE + sub r1, r3, #0x2 +_020099F4: + add r0, #0x18 + ldr r2, [r0, #0x0] + add r3, r3, #0x1 + cmp r2, r1 + bne _020099F4 +_020099FE: + add r0, r3, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02009A04 +sub_02009A04: ; 0x02009A04 + push {r4-r6, lr} + add r6, r3, #0x0 + add r5, r2, #0x0 + add r2, r6, #0x0 + bl sub_02006704 + add r4, r0, #0x0 + beq _02009A4A + cmp r5, #0x0 + beq _02009A4A + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bne _02009A2A + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + lsr r1, r1, #0x8 + bl sub_02016998 + b _02009A34 +_02009A2A: + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + lsr r1, r1, #0x8 + bl sub_020169D8 +_02009A34: + add r5, r0, #0x0 + cmp r5, #0x0 + beq _02009A48 + add r0, r4, #0x0 + add r1, r5, #0x0 + blx sub_020CE528 + add r0, r4, #0x0 + bl sub_02016A18 +_02009A48: + add r4, r5, #0x0 +_02009A4A: + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02009A50 +sub_02009A50: ; 0x02009A50 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009A5C + bl sub_02020C2C +_02009A5C: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009A6A + bl sub_02020C2C +_02009A6A: + add r0, r4, #0x0 + bl sub_02009544 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + add r0, sp, #0x0 + bl sub_0201D1F8 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009A90 +sub_02009A90: ; 0x02009A90 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009A9A + bl sub_02020C2C +_02009A9A: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009AC2 + add r4, r6, #0x0 +_02009AA4: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009AB8 + bl sub_02009A50 + cmp r0, #0x0 + bne _02009AB8 + bl sub_02020C2C +_02009AB8: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009AA4 +_02009AC2: + pop {r4-r6, pc} + + thumb_func_start sub_02009AC4 +sub_02009AC4: ; 0x02009AC4 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009AD0 + bl sub_02020C2C +_02009AD0: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009ADE + bl sub_02020C2C +_02009ADE: + add r0, r4, #0x0 + bl sub_02009544 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + add r0, sp, #0x0 + bl sub_0201D250 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009B04 +sub_02009B04: ; 0x02009B04 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009B10 + bl sub_02020C2C +_02009B10: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009B1E + bl sub_02020C2C +_02009B1E: + add r0, r4, #0x0 + bl sub_02009544 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + add r0, sp, #0x0 + bl sub_0201D1F8 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009B44 +sub_02009B44: ; 0x02009B44 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009B4E + bl sub_02020C2C +_02009B4E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009B76 + add r4, r6, #0x0 +_02009B58: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009B6C + bl sub_02009B04 + cmp r0, #0x0 + bne _02009B6C + bl sub_02020C2C +_02009B6C: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009B58 +_02009B76: + pop {r4-r6, pc} + + thumb_func_start sub_02009B78 +sub_02009B78: ; 0x02009B78 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009B84 + bl sub_02020C2C +_02009B84: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009B92 + bl sub_02020C2C +_02009B92: + add r0, r4, #0x0 + bl sub_02009544 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + add r0, sp, #0x0 + bl sub_0201D250 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009BB8 +sub_02009BB8: ; 0x02009BB8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + bne _02009BC6 + bl sub_02020C2C +_02009BC6: + cmp r5, #0x0 + bne _02009BCE + bl sub_02020C2C +_02009BCE: + add r0, r4, #0x0 + bl sub_02009530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02009544 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0201D2DC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009BE8 +sub_02009BE8: ; 0x02009BE8 + push {r3-r5, lr} + add r5, r0, #0x0 + bne _02009BF2 + bl sub_02020C2C +_02009BF2: + add r0, r5, #0x0 + bl sub_02009530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02009544 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0201D2DC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009C0C +sub_02009C0C: ; 0x02009C0C + push {r4, lr} + add r4, r0, #0x0 + bne _02009C16 + bl sub_02020C2C +_02009C16: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009C24 + bl sub_02020C2C +_02009C24: + add r0, r4, #0x0 + bl sub_02009530 + bl sub_0201D324 + pop {r4, pc} + + thumb_func_start sub_02009C30 +sub_02009C30: ; 0x02009C30 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009C3A + bl sub_02020C2C +_02009C3A: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009C5A + add r4, r6, #0x0 +_02009C44: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009C50 + bl sub_02009C0C +_02009C50: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009C44 +_02009C5A: + pop {r4-r6, pc} + + thumb_func_start sub_02009C5C +sub_02009C5C: ; 0x02009C5C + push {r4, lr} + add r4, r0, #0x0 + bne _02009C66 + bl sub_02020C2C +_02009C66: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009C74 + bl sub_02020C2C +_02009C74: + add r0, r4, #0x0 + bl sub_02009530 + bl sub_0201D3B0 + pop {r4, pc} + + thumb_func_start sub_02009C80 +sub_02009C80: ; 0x02009C80 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + bne _02009C8E + bl sub_02020C2C +_02009C8E: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x0 + beq _02009C9C + bl sub_02020C2C +_02009C9C: + cmp r5, #0x0 + bne _02009CA4 + bl sub_02020C2C +_02009CA4: + add r0, r5, #0x0 + bl sub_020095D4 + cmp r0, #0x2 + beq _02009CB2 + bl sub_02020C2C +_02009CB2: + add r0, r4, #0x0 + bl sub_02009530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02009574 + add r1, r0, #0x0 + ldr r1, [r1, #0xc] + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + bl sub_0201D3D4 + cmp r0, #0x0 + bne _02009CDA + add r0, r4, #0x0 + bl sub_0201D3B0 + bl sub_0201D458 +_02009CDA: + pop {r3-r5, pc} + + thumb_func_start sub_02009CDC +sub_02009CDC: ; 0x02009CDC + push {r4, lr} + add r4, r0, #0x0 + bne _02009CE6 + bl sub_02020C2C +_02009CE6: + add r0, r4, #0x0 + bl sub_0201D4F0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02009CF0 +sub_02009CF0: ; 0x02009CF0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009CFC + bl sub_02020C2C +_02009CFC: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x1 + beq _02009D0A + bl sub_02020C2C +_02009D0A: + add r0, r4, #0x0 + bl sub_0200955C + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02009610 + str r0, [sp, #0x8] + add r0, sp, #0x0 + bl sub_0201E0E4 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009D34 +sub_02009D34: ; 0x02009D34 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009D3E + bl sub_02020C2C +_02009D3E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009D66 + add r4, r6, #0x0 +_02009D48: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009D5C + bl sub_02009CF0 + cmp r0, #0x0 + bne _02009D5C + bl sub_02020C2C +_02009D5C: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009D48 +_02009D66: + pop {r4-r6, pc} + + thumb_func_start sub_02009D68 +sub_02009D68: ; 0x02009D68 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bne _02009D74 + bl sub_02020C2C +_02009D74: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x1 + beq _02009D82 + bl sub_02020C2C +_02009D82: + add r0, r4, #0x0 + bl sub_0200955C + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020095E4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02009530 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02009610 + str r0, [sp, #0x8] + add r0, sp, #0x0 + bl sub_0201E128 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02009DAC +sub_02009DAC: ; 0x02009DAC + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009DB6 + bl sub_02020C2C +_02009DB6: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009DDE + add r4, r6, #0x0 +_02009DC0: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009DD4 + bl sub_02009D68 + cmp r0, #0x0 + bne _02009DD4 + bl sub_02020C2C +_02009DD4: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009DC0 +_02009DDE: + pop {r4-r6, pc} + + thumb_func_start sub_02009DE0 +sub_02009DE0: ; 0x02009DE0 + push {r3-r5, lr} + add r5, r0, #0x0 + bne _02009DEA + bl sub_02020C2C +_02009DEA: + add r0, r5, #0x0 + bl sub_02009530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200955C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0201E168 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02009E04 +sub_02009E04: ; 0x02009E04 + push {r4, lr} + add r4, r0, #0x0 + bne _02009E0E + bl sub_02020C2C +_02009E0E: + add r0, r4, #0x0 + bl sub_020095D4 + cmp r0, #0x1 + beq _02009E1C + bl sub_02020C2C +_02009E1C: + add r0, r4, #0x0 + bl sub_02009530 + bl sub_0201E1C8 + pop {r4, pc} + + thumb_func_start sub_02009E28 +sub_02009E28: ; 0x02009E28 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _02009E32 + bl sub_02020C2C +_02009E32: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02009E52 + add r4, r6, #0x0 +_02009E3C: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _02009E48 + bl sub_02009E04 +_02009E48: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02009E3C +_02009E52: + pop {r4-r6, pc} + + thumb_func_start sub_02009E54 +sub_02009E54: ; 0x02009E54 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02009E62 + bl sub_02020C2C +_02009E62: + add r0, r5, #0x0 + bl sub_020095D4 + cmp r0, #0x1 + beq _02009E70 + bl sub_02020C2C +_02009E70: + add r0, r5, #0x0 + bl sub_02009530 + cmp r4, #0x0 + beq _02009E82 + add r1, r4, #0x0 + bl sub_0201E258 + pop {r3-r5, pc} +_02009E82: + bl sub_0201E230 + pop {r3-r5, pc} + + thumb_func_start sub_02009E88 +sub_02009E88: ; 0x02009E88 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x0 + bl sub_02009E54 + add r1, r4, #0x0 + blx sub_020B19C4 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02009EA8 + asr r1, r0, #0x4 + lsr r1, r1, #0x1b + add r1, r0, r1 + asr r0, r1, #0x5 +_02009EA8: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02009EAC +sub_02009EAC: ; 0x02009EAC + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + cmp r4, #0x4 + bge _02009EC0 + mov r0, #0x4 + cmp r1, #0x7c + ble _02009EC0 + sub r4, r0, r4 + sub r1, r1, r4 +_02009EC0: + cmp r2, #0x1 + bge _02009ED0 + mov r4, #0x1 + cmp r3, #0x1e + ble _02009ED2 + sub r2, r4, r2 + sub r3, r3, r2 + b _02009ED2 +_02009ED0: + add r4, r2, #0x0 +_02009ED2: + ldr r2, [sp, #0x20] + str r2, [sp, #0x0] + ldr r2, [sp, #0x24] + str r2, [sp, #0x4] + ldr r2, [sp, #0x28] + str r2, [sp, #0x8] + ldr r2, [sp, #0x2c] + str r2, [sp, #0xc] + ldr r2, [sp, #0x30] + str r2, [sp, #0x10] + add r2, r4, #0x0 + bl sub_02009EF0 + add sp, #0x14 + pop {r3-r4, pc} + + thumb_func_start sub_02009EF0 +sub_02009EF0: ; 0x02009EF0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _02009F7C ; =0x021C4670 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + beq _02009F08 + bl sub_02020C2C +_02009F08: + ldr r0, [sp, #0x30] + mov r1, #0x3c + bl sub_02016998 + ldr r1, _02009F7C ; =0x021C4670 + cmp r0, #0x0 + str r0, [r1, #0x0] + bne _02009F1C + bl sub_02020C2C +_02009F1C: + ldr r1, _02009F7C ; =0x021C4670 + lsl r3, r6, #0x10 + ldr r2, [sp, #0x30] + ldr r0, [r1, #0x0] + lsr r3, r3, #0x10 + str r2, [r0, #0x38] + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [r1, #0x0] + lsl r1, r5, #0x10 + lsl r2, r4, #0x10 + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + blx sub_020B0E34 + cmp r0, #0x0 + bne _02009F48 + bl sub_02020C2C +_02009F48: + ldr r0, [sp, #0x2c] + ldr r1, [sp, #0x20] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _02009F7C ; =0x021C4670 + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x28] + ldr r0, [r0, #0x0] + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + lsl r3, r3, #0x10 + add r0, #0x1c + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + lsr r3, r3, #0x10 + blx sub_020B0E34 + cmp r0, #0x0 + bne _02009F78 + bl sub_02020C2C +_02009F78: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02009F7C: .word 0x021C4670 + + thumb_func_start sub_02009F80 +sub_02009F80: ; 0x02009F80 + push {r3, lr} + ldr r0, _02009F9C ; =0x021C4670 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02009F98 + blx sub_020B0870 + ldr r0, _02009F9C ; =0x021C4670 + ldr r0, [r0, #0x0] + add r0, #0x1c + blx sub_020B0870 +_02009F98: + pop {r3, pc} + nop +_02009F9C: .word 0x021C4670 + + thumb_func_start sub_02009FA0 +sub_02009FA0: ; 0x02009FA0 + push {r3, lr} + ldr r0, _02009FD4 ; =0x021C4670 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02009FAE + bl sub_02020C2C +_02009FAE: + ldr r0, _02009FD4 ; =0x021C4670 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_0200A064 + ldr r0, _02009FD4 ; =0x021C4670 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_0200A06C + ldr r0, _02009FD4 ; =0x021C4670 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _02009FD4 ; =0x021C4670 + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3, pc} + nop +_02009FD4: .word 0x021C4670 + + thumb_func_start sub_02009FD8 +sub_02009FD8: ; 0x02009FD8 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + ldr r0, _0200A024 ; =0x021C4670 + add r7, r1, #0x0 + ldr r0, [r0, #0x0] + add r5, r2, #0x0 + add r4, r3, #0x0 + cmp r0, #0x0 + bne _02009FF0 + bl sub_02020C2C +_02009FF0: + cmp r5, #0x1 + bne _0200A00C + ldr r0, _0200A028 ; =sub_020213A0 + ldr r2, _0200A02C ; =sub_0200A074 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldr r3, _0200A030 ; =sub_0200A0B8 + add r0, r6, #0x0 + add r1, r7, #0x0 + str r4, [sp, #0x8] + bl sub_0202135C + add sp, #0xc + pop {r4-r7, pc} +_0200A00C: + ldr r0, _0200A028 ; =sub_020213A0 + ldr r2, _0200A034 ; =sub_0200A094 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldr r3, _0200A038 ; =sub_0200A0DC + add r0, r6, #0x0 + add r1, r7, #0x0 + str r4, [sp, #0x8] + bl sub_0202135C + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0200A024: .word 0x021C4670 +_0200A028: .word sub_020213A0 + 1 +_0200A02C: .word sub_0200A074 + 1 +_0200A030: .word sub_0200A0B8 + 1 +_0200A034: .word sub_0200A094 + 1 +_0200A038: .word sub_0200A0DC + 1 + + thumb_func_start sub_0200A03C +sub_0200A03C: ; 0x0200A03C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0200A060 ; =0x021C4670 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0200A04C + bl sub_02020C2C +_0200A04C: + cmp r4, #0x0 + bne _0200A056 + ldr r0, _0200A060 ; =0x021C4670 + ldr r0, [r0, #0x0] + pop {r4, pc} +_0200A056: + ldr r0, _0200A060 ; =0x021C4670 + ldr r0, [r0, #0x0] + add r0, #0x1c + pop {r4, pc} + nop +_0200A060: .word 0x021C4670 + + thumb_func_start sub_0200A064 +sub_0200A064: ; 0x0200A064 + ldr r3, _0200A068 ; =sub_020203CC + bx r3 + .balign 4 +_0200A068: .word sub_020203CC + 1 + + thumb_func_start sub_0200A06C +sub_0200A06C: ; 0x0200A06C + ldr r3, _0200A070 ; =sub_02020404 + bx r3 + .balign 4 +_0200A070: .word sub_02020404 + 1 + + thumb_func_start sub_0200A074 +sub_0200A074: ; 0x0200A074 + push {r4, lr} + add r3, r0, #0x0 + ldr r0, _0200A090 ; =0x021C4670 + add r2, r1, #0x0 + ldr r0, [r0, #0x0] + add r1, r3, #0x0 + blx sub_020B0C7C + add r4, r0, #0x0 + bne _0200A08C + bl sub_02020C2C +_0200A08C: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_0200A090: .word 0x021C4670 + + thumb_func_start sub_0200A094 +sub_0200A094: ; 0x0200A094 + push {r4, lr} + add r3, r0, #0x0 + ldr r0, _0200A0B4 ; =0x021C4670 + add r2, r1, #0x0 + ldr r0, [r0, #0x0] + add r1, r3, #0x0 + add r0, #0x1c + blx sub_020B0C7C + add r4, r0, #0x0 + bne _0200A0AE + bl sub_02020C2C +_0200A0AE: + add r0, r4, #0x0 + pop {r4, pc} + nop +_0200A0B4: .word 0x021C4670 + + thumb_func_start sub_0200A0B8 +sub_0200A0B8: ; 0x0200A0B8 + push {r4, lr} + add r1, r0, #0x0 + ldr r0, _0200A0D4 ; =0x021C4670 + ldr r0, [r0, #0x0] + blx sub_020B0BB0 + add r4, r0, #0x0 + ldr r0, _0200A0D8 ; =0x0000FFFE + cmp r4, r0 + bne _0200A0D0 + bl sub_02020C2C +_0200A0D0: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_0200A0D4: .word 0x021C4670 +_0200A0D8: .word 0x0000FFFE + + thumb_func_start sub_0200A0DC +sub_0200A0DC: ; 0x0200A0DC + push {r4, lr} + add r1, r0, #0x0 + ldr r0, _0200A0FC ; =0x021C4670 + ldr r0, [r0, #0x0] + add r0, #0x1c + blx sub_020B0BB0 + add r4, r0, #0x0 + ldr r0, _0200A100 ; =0x0000FFFE + cmp r4, r0 + bne _0200A0F6 + bl sub_02020C2C +_0200A0F6: + add r0, r4, #0x0 + pop {r4, pc} + nop +_0200A0FC: .word 0x021C4670 +_0200A100: .word 0x0000FFFE + + thumb_func_start sub_0200A104 +sub_0200A104: ; 0x0200A104 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x10 + ldrsb r2, [r5, r0] + mov r0, #0x14 + ldrsh r0, [r5, r0] + add r1, r2, #0x0 + mov r7, #0x1a + ldrsh r2, [r5, r7] + mul r1, r0 + mov r6, #0xa + ldrsh r0, [r5, r6] + add r1, r2, r1 + mov r4, #0x0 + cmp r0, r1 + beq _0200A162 + cmp r2, r0 + beq _0200A162 + strh r1, [r5, #0x1a] + ldrh r3, [r5, #0x18] + ldrh r0, [r5, #0x16] + add r2, r5, #0x0 + add r1, r5, #0x0 + add r0, r3, r0 + strh r0, [r5, #0x18] + ldrh r3, [r5, #0x18] + ldrh r0, [r5, #0x8] + add r2, #0x1a + add r1, #0x18 + cmp r3, r0 + blo _0200A166 + mov r3, #0x10 + ldrsh r0, [r2, r4] + ldrsb r3, [r5, r3] + add r0, r0, r3 + strh r0, [r2, #0x0] + ldrsh r2, [r5, r7] + ldrsh r0, [r5, r6] + cmp r2, r0 + beq _0200A15E + ldrh r2, [r1, #0x0] + ldrh r0, [r5, #0x8] + sub r0, r2, r0 + strh r0, [r1, #0x0] + b _0200A166 +_0200A15E: + mov r4, #0x1 + b _0200A166 +_0200A162: + strh r0, [r5, #0x1a] + mov r4, #0x1 +_0200A166: + ldr r1, [r5, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0200A17C + mov r2, #0x1a + ldrsh r2, [r5, r2] + ldr r0, _0200A198 ; =0x04000050 + ldr r1, [r5, #0x0] + blx sub_020C74B8 + b _0200A18E +_0200A17C: + mov r0, #0x2 + tst r0, r1 + beq _0200A18E + mov r2, #0x1a + ldrsh r2, [r5, r2] + ldr r0, _0200A19C ; =0x04001050 + ldr r1, [r5, #0x0] + blx sub_020C74B8 +_0200A18E: + cmp r4, #0x1 + bne _0200A196 + mov r0, #0x0 + str r0, [r5, #0x1c] +_0200A196: + pop {r3-r7, pc} + .balign 4 +_0200A198: .word 0x04000050 +_0200A19C: .word 0x04001050 + + thumb_func_start sub_0200A1A0 +sub_0200A1A0: ; 0x0200A1A0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x1c] + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + beq _0200A1B4 + bl sub_02020C2C +_0200A1B4: + ldr r1, [sp, #0x18] + mov r0, #0x1 + lsl r1, r1, #0x18 + str r0, [r5, #0x1c] + lsr r1, r1, #0x18 + str r1, [r5, #0x0] + ldr r1, [sp, #0x1c] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [r5, #0x4] + strh r4, [r5, #0x8] + strh r6, [r5, #0xa] + strh r7, [r5, #0x1a] + sub r1, r7, r6 + strh r1, [r5, #0x12] + mov r1, #0x12 + ldrsh r2, [r5, r1] + cmp r2, #0x0 + ble _0200A1E0 + sub r1, #0x13 + strb r1, [r5, #0x10] + b _0200A1EA +_0200A1E0: + strb r0, [r5, #0x10] + ldrsh r0, [r5, r1] + sub r1, #0x13 + mul r1, r0 + strh r1, [r5, #0x12] +_0200A1EA: + mov r0, #0x12 + ldrsh r0, [r5, r0] + add r1, r4, #0x0 + blx sub_020EBC80 + strh r0, [r5, #0x14] + mov r0, #0x12 + ldrsh r0, [r5, r0] + add r1, r4, #0x0 + blx sub_020EBC80 + strh r1, [r5, #0x16] + mov r0, #0x0 + strh r0, [r5, #0x18] + pop {r3-r7, pc} + + thumb_func_start sub_0200A208 +sub_0200A208: ; 0x0200A208 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + cmp r5, #0x0 + beq _0200A25E + ldr r1, [sp, #0x20] + mov r0, #0x1 + tst r0, r1 + beq _0200A23A + ldr r0, _0200A264 ; =0x04000050 + add r1, r4, #0x0 + blx sub_020C74B8 + str r4, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _0200A268 ; =0x021C4694 + add r1, r5, #0x0 + add r2, r7, #0x0 + add r3, r6, #0x0 + bl sub_0200A1A0 +_0200A23A: + ldr r1, [sp, #0x20] + mov r0, #0x2 + tst r0, r1 + beq _0200A25E + ldr r0, _0200A26C ; =0x04001050 + add r1, r4, #0x0 + add r2, r6, #0x0 + blx sub_020C74B8 + str r4, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, _0200A270 ; =0x021C4674 + add r1, r5, #0x0 + add r2, r7, #0x0 + add r3, r6, #0x0 + bl sub_0200A1A0 +_0200A25E: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0200A264: .word 0x04000050 +_0200A268: .word 0x021C4694 +_0200A26C: .word 0x04001050 +_0200A270: .word 0x021C4674 + + thumb_func_start sub_0200A274 +sub_0200A274: ; 0x0200A274 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + mov r0, #0x1 + add r6, r1, #0x0 + tst r0, r4 + beq _0200A28A + ldr r0, _0200A2A4 ; =0x04000050 + add r2, r5, #0x0 + blx sub_020C74B8 +_0200A28A: + mov r0, #0x2 + tst r0, r4 + beq _0200A29A + ldr r0, _0200A2A8 ; =0x04001050 + add r1, r6, #0x0 + add r2, r5, #0x0 + blx sub_020C74B8 +_0200A29A: + add r0, r4, #0x0 + bl sub_0200A2D8 + pop {r4-r6, pc} + nop +_0200A2A4: .word 0x04000050 +_0200A2A8: .word 0x04001050 + + thumb_func_start sub_0200A2AC +sub_0200A2AC: ; 0x0200A2AC + push {r3, lr} + ldr r0, _0200A2CC ; =0x021C4694 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + ldr r0, _0200A2D0 ; =0x021C4674 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + ldr r0, _0200A2D4 ; =0x021C4674 + mov r1, #0x0 + str r1, [r0, #0x3c] + str r1, [r0, #0x1c] + pop {r3, pc} + .balign 4 +_0200A2CC: .word 0x021C4694 +_0200A2D0: .word 0x021C4674 +_0200A2D4: .word 0x021C4674 + + thumb_func_start sub_0200A2D8 +sub_0200A2D8: ; 0x0200A2D8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1 + tst r0, r4 + beq _0200A2F2 + ldr r0, _0200A30C ; =0x021C4694 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + ldr r0, _0200A310 ; =0x021C4674 + mov r1, #0x0 + str r1, [r0, #0x3c] +_0200A2F2: + mov r0, #0x2 + tst r0, r4 + beq _0200A308 + ldr r0, _0200A314 ; =0x021C4674 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + ldr r0, _0200A310 ; =0x021C4674 + mov r1, #0x0 + str r1, [r0, #0x1c] +_0200A308: + pop {r4, pc} + nop +_0200A30C: .word 0x021C4694 +_0200A310: .word 0x021C4674 +_0200A314: .word 0x021C4674 + + thumb_func_start sub_0200A318 +sub_0200A318: ; 0x0200A318 + push {r3, lr} + ldr r0, _0200A338 ; =0x021C4674 + ldr r0, [r0, #0x3c] + cmp r0, #0x0 + beq _0200A328 + ldr r0, _0200A33C ; =0x021C4694 + bl sub_0200A104 +_0200A328: + ldr r0, _0200A338 ; =0x021C4674 + ldr r0, [r0, #0x1c] + cmp r0, #0x0 + beq _0200A336 + ldr r0, _0200A340 ; =0x021C4674 + bl sub_0200A104 +_0200A336: + pop {r3, pc} + .balign 4 +_0200A338: .word 0x021C4674 +_0200A33C: .word 0x021C4694 +_0200A340: .word 0x021C4674 + + thumb_func_start sub_0200A344 +sub_0200A344: ; 0x0200A344 + cmp r0, #0x3 + bne _0200A35A + ldr r0, _0200A380 ; =0x021C4674 + ldr r1, [r0, #0x3c] + cmp r1, #0x0 + bne _0200A37A + ldr r0, [r0, #0x1c] + cmp r0, #0x0 + bne _0200A37A + mov r0, #0x1 + bx lr +_0200A35A: + cmp r0, #0x1 + bne _0200A36A + ldr r0, _0200A380 ; =0x021C4674 + ldr r0, [r0, #0x3c] + cmp r0, #0x0 + bne _0200A37A + mov r0, #0x1 + bx lr +_0200A36A: + cmp r0, #0x2 + bne _0200A37A + ldr r0, _0200A380 ; =0x021C4674 + ldr r0, [r0, #0x1c] + cmp r0, #0x0 + bne _0200A37A + mov r0, #0x1 + bx lr +_0200A37A: + mov r0, #0x0 + bx lr + nop +_0200A380: .word 0x021C4674 + + thumb_func_start sub_0200A384 +sub_0200A384: ; 0x0200A384 + ldr r3, _0200A388 ; =sub_0200650C + bx r3 + .balign 4 +_0200A388: .word sub_0200650C + 1 + + thumb_func_start sub_0200A38C +sub_0200A38C: ; 0x0200A38C + ldr r3, _0200A390 ; =sub_02016A18 + bx r3 + .balign 4 +_0200A390: .word sub_02016A18 + 1 + + thumb_func_start sub_0200A394 +sub_0200A394: ; 0x0200A394 + push {r3-r7, lr} + sub sp, #0x8 + add r3, r0, #0x0 + ldrh r0, [r3, #0x0] + add r5, r1, #0x0 + add r4, r2, #0x0 + cmp r5, r0 + bhs _0200A404 + lsl r0, r5, #0x3 + add r0, r3, r0 + ldr r2, [r0, #0x4] + ldr r1, [r0, #0x8] + ldr r6, _0200A40C ; =0x000002FD + str r2, [sp, #0x0] + str r1, [sp, #0x4] + ldrh r0, [r3, #0x2] + add r7, r5, #0x1 + mul r6, r0 + add r0, r7, #0x0 + mul r0, r6 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + lsl r0, r6, #0x10 + orr r0, r6 + eor r2, r0 + eor r0, r1 + str r0, [sp, #0x4] + str r2, [sp, #0x0] + add r1, r3, r2 + add r0, r4, #0x0 + add r2, sp, #0x0 + bl sub_0200A4C0 + ldr r2, [sp, #0x4] + ldr r0, _0200A410 ; =0x00091BD3 + add r1, r7, #0x0 + mul r0, r1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + sub r3, r2, #0x1 + cmp r2, #0x0 + beq _0200A408 + ldr r0, _0200A414 ; =0x0000493D +_0200A3EA: + ldrh r1, [r4, #0x0] + eor r1, r5 + strh r1, [r4, #0x0] + add r1, r5, r0 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + add r1, r3, #0x0 + add r4, r4, #0x2 + sub r3, r3, #0x1 + cmp r1, #0x0 + bne _0200A3EA + add sp, #0x8 + pop {r3-r7, pc} +_0200A404: + bl sub_02020C2C +_0200A408: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0200A40C: .word 0x000002FD +_0200A410: .word 0x00091BD3 +_0200A414: .word 0x0000493D + + thumb_func_start sub_0200A418 +sub_0200A418: ; 0x0200A418 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r1, #0x0 + add r1, r3, #0x0 + add r4, r2, #0x0 + bl sub_02006670 + add r6, r0, #0x0 + beq _0200A4AE + add r1, sp, #0xc + str r1, [sp, #0x0] + add r1, r5, #0x0 + mov r2, #0x0 + mov r3, #0x4 + bl sub_02006814 + add r0, sp, #0x4 + lsl r2, r4, #0x3 + str r0, [sp, #0x0] + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r2, #0x4 + mov r3, #0x8 + bl sub_02006814 + add r0, sp, #0x4 + ldrh r2, [r0, #0xa] + ldr r0, _0200A4B4 ; =0x000002FD + add r1, r4, #0x1 + mul r0, r2 + mul r0, r1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r0, r1, #0x10 + orr r1, r0 + ldr r0, [sp, #0x4] + eor r0, r1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x8] + eor r0, r1 + str r0, [sp, #0x8] + ldr r0, [sp, #0x20] + add r1, r5, #0x0 + str r0, [sp, #0x0] + ldr r3, [sp, #0x8] + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + lsl r3, r3, #0x1 + bl sub_02006814 + ldr r2, _0200A4B8 ; =0x00091BD3 + add r3, r4, #0x1 + mul r2, r3 + lsl r2, r2, #0x10 + ldr r0, [sp, #0x8] + lsr r3, r2, #0x10 + sub r2, r0, #0x1 + ldr r1, [sp, #0x20] + cmp r0, #0x0 + beq _0200A4A8 + ldr r0, _0200A4BC ; =0x0000493D +_0200A492: + ldrh r4, [r1, #0x0] + eor r4, r3 + strh r4, [r1, #0x0] + add r3, r3, r0 + lsl r3, r3, #0x10 + add r4, r2, #0x0 + add r1, r1, #0x2 + lsr r3, r3, #0x10 + sub r2, r2, #0x1 + cmp r4, #0x0 + bne _0200A492 +_0200A4A8: + add r0, r6, #0x0 + bl sub_020066F4 +_0200A4AE: + add sp, #0x10 + pop {r4-r6, pc} + nop +_0200A4B4: .word 0x000002FD +_0200A4B8: .word 0x00091BD3 +_0200A4BC: .word 0x0000493D + + thumb_func_start sub_0200A4C0 +sub_0200A4C0: ; 0x0200A4C0 + add r3, r0, #0x0 + add r0, r1, #0x0 + add r1, r3, #0x0 + ldr r2, [r2, #0x4] + ldr r3, _0200A4D0 ; =sub_020CE1E0 + lsl r2, r2, #0x1 + bx r3 + nop +_0200A4D0: .word sub_020CE1E0 + + thumb_func_start sub_0200A4D4 +sub_0200A4D4: ; 0x0200A4D4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldrh r0, [r5, #0x0] + add r4, r1, #0x0 + str r2, [sp, #0x0] + cmp r4, r0 + bhs _0200A56A + lsl r0, r4, #0x3 + add r0, r5, r0 + ldr r3, [r0, #0x4] + ldr r2, [r0, #0x8] + ldrh r1, [r5, #0x2] + ldr r6, _0200A578 ; =0x000002FD + add r0, r4, #0x1 + mul r6, r1 + add r1, r0, #0x0 + mul r1, r6 + lsl r0, r1, #0x10 + lsr r1, r0, #0x10 + lsl r0, r1, #0x10 + orr r1, r0 + add r0, r3, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x8] + eor r0, r1 + eor r6, r1 + str r0, [sp, #0x8] + lsl r0, r6, #0x1 + str r0, [sp, #0x4] + str r2, [sp, #0xc] + ldr r1, [sp, #0x4] + mov r0, #0x0 + str r6, [sp, #0xc] + bl sub_020169D8 + add r7, r0, #0x0 + beq _0200A574 + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x4] + add r0, r5, r0 + add r1, r7, #0x0 + blx sub_020CE1E0 + ldr r1, _0200A57C ; =0x00091BD3 + add r2, r4, #0x1 + mul r1, r2 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + add r0, r7, #0x0 + sub r1, r6, #0x1 + cmp r6, #0x0 + beq _0200A556 + ldr r3, _0200A580 ; =0x0000493D +_0200A540: + ldrh r4, [r0, #0x0] + eor r4, r2 + strh r4, [r0, #0x0] + add r2, r2, r3 + lsl r2, r2, #0x10 + add r4, r1, #0x0 + add r0, r0, #0x2 + lsr r2, r2, #0x10 + sub r1, r1, #0x1 + cmp r4, #0x0 + bne _0200A540 +_0200A556: + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02021E8C + add r0, r7, #0x0 + bl sub_02016A18 + add sp, #0x10 + pop {r3-r7, pc} +_0200A56A: + bl sub_02020C2C + ldr r0, [sp, #0x0] + bl sub_02021A4C +_0200A574: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0200A578: .word 0x000002FD +_0200A57C: .word 0x00091BD3 +_0200A580: .word 0x0000493D + + thumb_func_start sub_0200A584 +sub_0200A584: ; 0x0200A584 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldrh r0, [r5, #0x0] + add r4, r1, #0x0 + str r2, [sp, #0x0] + cmp r4, r0 + bhs _0200A62C + lsl r0, r4, #0x3 + add r0, r5, r0 + ldr r3, [r0, #0x4] + ldr r2, [r0, #0x8] + ldrh r1, [r5, #0x2] + ldr r6, _0200A63C ; =0x000002FD + add r0, r4, #0x1 + mul r6, r1 + add r1, r0, #0x0 + mul r1, r6 + lsl r0, r1, #0x10 + lsr r1, r0, #0x10 + lsl r0, r1, #0x10 + orr r1, r0 + add r0, r3, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x8] + eor r0, r1 + eor r6, r1 + str r0, [sp, #0x8] + lsl r0, r6, #0x1 + str r0, [sp, #0x4] + str r2, [sp, #0xc] + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + str r6, [sp, #0xc] + bl sub_020169D8 + add r7, r0, #0x0 + beq _0200A626 + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x4] + add r0, r5, r0 + add r1, r7, #0x0 + blx sub_020CE1E0 + ldr r1, _0200A640 ; =0x00091BD3 + add r2, r4, #0x1 + mul r1, r2 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + add r0, r7, #0x0 + sub r1, r6, #0x1 + cmp r6, #0x0 + beq _0200A606 + ldr r3, _0200A644 ; =0x0000493D +_0200A5F0: + ldrh r4, [r0, #0x0] + eor r4, r2 + strh r4, [r0, #0x0] + add r2, r2, r3 + lsl r2, r2, #0x10 + add r4, r1, #0x0 + add r0, r0, #0x2 + lsr r2, r2, #0x10 + sub r1, r1, #0x1 + cmp r4, #0x0 + bne _0200A5F0 +_0200A606: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + beq _0200A61A + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02021E8C +_0200A61A: + add r0, r7, #0x0 + bl sub_02016A18 + add sp, #0x10 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0200A626: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0200A62C: + bl sub_02020C2C + ldr r1, [sp, #0x0] + mov r0, #0x4 + bl sub_020219F4 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0200A63C: .word 0x000002FD +_0200A640: .word 0x00091BD3 +_0200A644: .word 0x0000493D + + thumb_func_start sub_0200A648 +sub_0200A648: ; 0x0200A648 + push {r3-r7, lr} + add r7, r3, #0x0 + add r5, r1, #0x0 + add r1, r7, #0x0 + add r4, r2, #0x0 + bl sub_02006670 + add r6, r0, #0x0 + beq _0200A66E + ldr r1, [sp, #0x18] + add r2, r4, #0x0 + str r1, [sp, #0x0] + add r1, r5, #0x0 + add r3, r7, #0x0 + bl sub_0200A670 + add r0, r6, #0x0 + bl sub_020066F4 +_0200A66E: + pop {r3-r7, pc} + + thumb_func_start sub_0200A670 +sub_0200A670: ; 0x0200A670 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r2, #0x0 + add r2, sp, #0x10 + add r4, r3, #0x0 + str r2, [sp, #0x0] + mov r2, #0x0 + mov r3, #0x4 + add r7, r0, #0x0 + str r1, [sp, #0x4] + bl sub_02006814 + add r0, sp, #0x8 + ldrh r0, [r0, #0x8] + cmp r5, r0 + bhs _0200A71E + add r0, sp, #0x8 + lsl r2, r5, #0x3 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r7, #0x0 + add r2, r2, #0x4 + mov r3, #0x8 + bl sub_02006814 + add r0, sp, #0x8 + ldrh r2, [r0, #0xa] + ldr r0, _0200A72C ; =0x000002FD + add r1, r5, #0x1 + mul r0, r2 + mul r0, r1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r0, r1, #0x10 + orr r1, r0 + ldr r0, [sp, #0x8] + eor r0, r1 + str r0, [sp, #0x8] + ldr r0, [sp, #0xc] + eor r0, r1 + lsl r6, r0, #0x1 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020169D8 + add r4, r0, #0x0 + beq _0200A728 + str r4, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + add r0, r7, #0x0 + add r3, r6, #0x0 + bl sub_02006814 + ldr r2, _0200A730 ; =0x00091BD3 + add r3, r5, #0x1 + mul r2, r3 + lsl r2, r2, #0x10 + ldr r0, [sp, #0xc] + lsr r3, r2, #0x10 + add r1, r4, #0x0 + sub r2, r0, #0x1 + cmp r0, #0x0 + beq _0200A70A + ldr r0, _0200A734 ; =0x0000493D +_0200A6F4: + ldrh r5, [r1, #0x0] + eor r5, r3 + strh r5, [r1, #0x0] + add r3, r3, r0 + lsl r3, r3, #0x10 + add r5, r2, #0x0 + add r1, r1, #0x2 + lsr r3, r3, #0x10 + sub r2, r2, #0x1 + cmp r5, #0x0 + bne _0200A6F4 +_0200A70A: + ldr r0, [sp, #0x28] + ldr r2, [sp, #0xc] + add r1, r4, #0x0 + bl sub_02021E8C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r4-r7, pc} +_0200A71E: + bl sub_02020C2C + ldr r0, [sp, #0x28] + bl sub_02021A4C +_0200A728: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_0200A72C: .word 0x000002FD +_0200A730: .word 0x00091BD3 +_0200A734: .word 0x0000493D + + thumb_func_start sub_0200A738 +sub_0200A738: ; 0x0200A738 + push {r3-r7, lr} + add r6, r3, #0x0 + add r5, r1, #0x0 + add r1, r6, #0x0 + add r4, r2, #0x0 + bl sub_02006670 + add r7, r0, #0x0 + beq _0200A75E + add r1, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_0200A76C + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_020066F4 + b _0200A768 +_0200A75E: + mov r0, #0x4 + add r1, r6, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 +_0200A768: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0200A76C +sub_0200A76C: ; 0x0200A76C + push {r3-r7, lr} + sub sp, #0x18 + add r4, r2, #0x0 + add r2, sp, #0x14 + add r5, r3, #0x0 + str r2, [sp, #0x0] + mov r2, #0x0 + mov r3, #0x4 + add r7, r0, #0x0 + str r1, [sp, #0x4] + bl sub_02006814 + add r0, sp, #0xc + ldrh r0, [r0, #0x8] + cmp r4, r0 + bhs _0200A82A + add r0, sp, #0xc + lsl r2, r4, #0x3 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r7, #0x0 + add r2, r2, #0x4 + mov r3, #0x8 + bl sub_02006814 + add r0, sp, #0xc + ldrh r2, [r0, #0xa] + ldr r0, _0200A83C ; =0x000002FD + add r1, r4, #0x1 + mul r0, r2 + mul r0, r1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r0, r1, #0x10 + orr r1, r0 + ldr r0, [sp, #0xc] + eor r0, r1 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + eor r0, r1 + add r1, r5, #0x0 + str r0, [sp, #0x10] + bl sub_020219F4 + str r0, [sp, #0x8] + cmp r0, #0x0 + beq _0200A824 + ldr r0, [sp, #0x10] + lsl r6, r0, #0x1 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020169D8 + add r5, r0, #0x0 + beq _0200A824 + str r5, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0xc] + add r0, r7, #0x0 + add r3, r6, #0x0 + bl sub_02006814 + ldr r2, _0200A840 ; =0x00091BD3 + add r3, r4, #0x1 + mul r2, r3 + lsl r2, r2, #0x10 + ldr r0, [sp, #0x10] + lsr r3, r2, #0x10 + add r1, r5, #0x0 + sub r2, r0, #0x1 + cmp r0, #0x0 + beq _0200A814 + ldr r0, _0200A844 ; =0x0000493D +_0200A7FE: + ldrh r4, [r1, #0x0] + eor r4, r3 + strh r4, [r1, #0x0] + add r3, r3, r0 + lsl r3, r3, #0x10 + add r4, r2, #0x0 + add r1, r1, #0x2 + lsr r3, r3, #0x10 + sub r2, r2, #0x1 + cmp r4, #0x0 + bne _0200A7FE +_0200A814: + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x10] + add r1, r5, #0x0 + bl sub_02021E8C + add r0, r5, #0x0 + bl sub_02016A18 +_0200A824: + ldr r0, [sp, #0x8] + add sp, #0x18 + pop {r3-r7, pc} +_0200A82A: + bl sub_02020C2C + mov r0, #0x4 + add r1, r5, #0x0 + bl sub_020219F4 + add sp, #0x18 + pop {r3-r7, pc} + nop +_0200A83C: .word 0x000002FD +_0200A840: .word 0x00091BD3 +_0200A844: .word 0x0000493D + + thumb_func_start sub_0200A848 +sub_0200A848: ; 0x0200A848 + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0200A84C +sub_0200A84C: ; 0x0200A84C + push {r3, lr} + sub sp, #0x8 + add r3, r0, #0x0 + mov r0, #0x4 + add r2, r1, #0x0 + str r0, [sp, #0x0] + add r1, r3, #0x0 + add r0, sp, #0x4 + mov r3, #0x0 + bl sub_02006548 + add r0, sp, #0x4 + ldrh r0, [r0, #0x0] + add sp, #0x8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200A86C +sub_0200A86C: ; 0x0200A86C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0xc + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_020169D8 + add r4, r0, #0x0 + beq _0200A8B4 + cmp r5, #0x0 + bne _0200A8A0 + ldr r2, [sp, #0x0] + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_0200A384 + str r0, [r4, #0x8] + cmp r0, #0x0 + bne _0200A8AA + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r7, pc} +_0200A8A0: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_02006670 + str r0, [r4, #0x8] +_0200A8AA: + strh r5, [r4, #0x0] + strh r6, [r4, #0x4] + ldr r0, [sp, #0x0] + strh r7, [r4, #0x6] + strh r0, [r4, #0x2] +_0200A8B4: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0200A8B8 +sub_0200A8B8: ; 0x0200A8B8 + push {r4, lr} + add r4, r0, #0x0 + beq _0200A8DE + ldrh r0, [r4, #0x0] + cmp r0, #0x0 + beq _0200A8CA + cmp r0, #0x1 + beq _0200A8D2 + b _0200A8D8 +_0200A8CA: + ldr r0, [r4, #0x8] + bl sub_0200A38C + b _0200A8D8 +_0200A8D2: + ldr r0, [r4, #0x8] + bl sub_020066F4 +_0200A8D8: + add r0, r4, #0x0 + bl sub_02016A18 +_0200A8DE: + pop {r4, pc} + + thumb_func_start sub_0200A8E0 +sub_0200A8E0: ; 0x0200A8E0 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldrh r0, [r4, #0x0] + add r3, r1, #0x0 + cmp r0, #0x0 + beq _0200A8F6 + cmp r0, #0x1 + beq _0200A900 + add sp, #0x4 + pop {r3-r4, pc} +_0200A8F6: + ldr r0, [r4, #0x8] + bl sub_0200A4D4 + add sp, #0x4 + pop {r3-r4, pc} +_0200A900: + str r2, [sp, #0x0] + add r2, r3, #0x0 + ldrh r1, [r4, #0x6] + ldrh r3, [r4, #0x2] + ldr r0, [r4, #0x8] + bl sub_0200A670 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0200A914 +sub_0200A914: ; 0x0200A914 + push {r3, lr} + add r3, r0, #0x0 + ldrh r0, [r3, #0x0] + add r2, r1, #0x0 + cmp r0, #0x0 + beq _0200A926 + cmp r0, #0x1 + beq _0200A930 + b _0200A93C +_0200A926: + ldrh r2, [r3, #0x2] + ldr r0, [r3, #0x8] + bl sub_0200A584 + pop {r3, pc} +_0200A930: + ldr r0, [r3, #0x8] + ldrh r1, [r3, #0x6] + ldrh r3, [r3, #0x2] + bl sub_0200A76C + pop {r3, pc} +_0200A93C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0200A940 +sub_0200A940: ; 0x0200A940 + push {r3, lr} + add r1, r0, #0x0 + ldrh r0, [r1, #0x0] + cmp r0, #0x0 + beq _0200A950 + cmp r0, #0x1 + beq _0200A958 + b _0200A962 +_0200A950: + ldr r0, [r1, #0x8] + bl sub_0200A848 + pop {r3, pc} +_0200A958: + ldrh r0, [r1, #0x4] + ldrh r1, [r1, #0x6] + bl sub_0200A84C + pop {r3, pc} +_0200A962: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200A968 +sub_0200A968: ; 0x0200A968 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldrh r0, [r4, #0x0] + add r3, r1, #0x0 + cmp r0, #0x0 + beq _0200A97E + cmp r0, #0x1 + beq _0200A988 + add sp, #0x4 + pop {r3-r4, pc} +_0200A97E: + ldr r0, [r4, #0x8] + bl sub_0200A394 + add sp, #0x4 + pop {r3-r4, pc} +_0200A988: + str r2, [sp, #0x0] + add r2, r3, #0x0 + ldrh r0, [r4, #0x4] + ldrh r1, [r4, #0x6] + ldrh r3, [r4, #0x2] + bl sub_0200A418 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0200A99C +sub_0200A99C: ; 0x0200A99C + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r3, r1, #0x0 + ldr r2, _0200A9C0 ; =0x0000016A + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r6, r0, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0200A968 + add r0, r6, #0x0 + bl sub_0200A8B8 + pop {r4-r6, pc} + .balign 4 +_0200A9C0: .word 0x0000016A + + thumb_func_start sub_0200A9C4 +sub_0200A9C4: ; 0x0200A9C4 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + add r5, r1, #0x0 + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0xa + add r6, r2, #0x0 + str r3, [sp, #0x0] + bl sub_020219F4 + add r4, r0, #0x0 + beq _0200AA0E + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0200A914 + add r5, r0, #0x0 + beq _0200AA08 + add r0, r7, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200B7B8 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02021ACC + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02021A20 +_0200AA08: + add r0, r4, #0x0 + bl sub_02021A20 +_0200AA0E: + ldr r0, [sp, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0200AA14 +sub_0200AA14: ; 0x0200AA14 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r2, #0x93 + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + add r3, r5, #0x0 + bl sub_0200A86C + add r4, r0, #0x0 + beq _0200AA4C + mov r0, #0x10 + add r1, r5, #0x0 + bl sub_020219F4 + add r5, r0, #0x0 + beq _0200AA42 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_0200A8E0 +_0200AA42: + add r0, r4, #0x0 + bl sub_0200A8B8 + add r0, r5, #0x0 + pop {r4-r6, pc} +_0200AA4C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0200AA50 +sub_0200AA50: ; 0x0200AA50 + push {r3-r5, lr} + ldr r2, _0200AA7C ; =0x0000016A + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r5, r0, #0x0 + beq _0200AA76 + add r1, r4, #0x0 + bl sub_0200A914 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + pop {r3-r5, pc} +_0200AA76: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0200AA7C: .word 0x0000016A + + thumb_func_start sub_0200AA80 +sub_0200AA80: ; 0x0200AA80 + ldr r3, _0200AA8C ; =sub_0200AA90 + add r2, r0, #0x0 + mov r0, #0x8 + mov r1, #0x20 + bx r3 + nop +_0200AA8C: .word sub_0200AA90 + 1 + + thumb_func_start sub_0200AA90 +sub_0200AA90: ; 0x0200AA90 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + bne _0200AAA0 + bl sub_02020C2C +_0200AAA0: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _0200AAAA + bl sub_02020C2C +_0200AAAA: + ldr r0, [sp, #0x4] + mov r1, #0x10 + bl sub_020169D8 + add r4, r0, #0x0 + beq _0200AB10 + ldr r0, [sp, #0x4] + str r7, [r4, #0x0] + str r0, [r4, #0x4] + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + bl sub_020219F4 + str r0, [r4, #0xc] + cmp r0, #0x0 + beq _0200AB10 + ldr r0, [sp, #0x4] + lsl r1, r7, #0x3 + bl sub_020169D8 + str r0, [r4, #0x8] + cmp r0, #0x0 + beq _0200AB10 + mov r6, #0x0 + cmp r7, #0x0 + bls _0200AB06 + add r5, r6, #0x0 +_0200AAE0: + add r0, r0, r5 + bl sub_0200AB6C + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + bl sub_020219F4 + ldr r1, [r4, #0x8] + add r1, r1, r5 + str r0, [r1, #0x4] + ldr r0, [r4, #0x8] + add r1, r0, r5 + ldr r1, [r1, #0x4] + cmp r1, #0x0 + beq _0200AB06 + add r6, r6, #0x1 + add r5, #0x8 + cmp r6, r7 + blo _0200AAE0 +_0200AB06: + cmp r6, r7 + bne _0200AB10 + add sp, #0x8 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0200AB10: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AB18 +sub_0200AB18: ; 0x0200AB18 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x0 + bne _0200AB26 + bl sub_02020C2C +_0200AB26: + ldr r0, [r5, #0x8] + cmp r0, #0x0 + beq _0200AB54 + ldr r0, [r5, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + bls _0200AB4E + add r4, r6, #0x0 +_0200AB36: + ldr r0, [r5, #0x8] + add r0, r0, r4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0200AB4E + bl sub_02021A20 + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + add r4, #0x8 + cmp r6, r0 + blo _0200AB36 +_0200AB4E: + ldr r0, [r5, #0x8] + bl sub_02016A18 +_0200AB54: + ldr r0, [r5, #0xc] + cmp r0, #0x0 + beq _0200AB5E + bl sub_02021A20 +_0200AB5E: + mov r0, #0x0 + str r0, [r5, #0x0] + add r0, r5, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200AB6C +sub_0200AB6C: ; 0x0200AB6C + bx lr + .balign 4 + + thumb_func_start sub_0200AB70 +sub_0200AB70: ; 0x0200AB70 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + cmp r6, r0 + blo _0200AB84 + bl sub_02020C2C +_0200AB84: + ldr r0, [r5, #0x0] + cmp r6, r0 + bhs _0200ABB2 + cmp r4, #0x0 + beq _0200ABA4 + ldrb r0, [r4, #0x0] + ldr r3, [r5, #0x8] + lsl r2, r6, #0x3 + strb r0, [r3, r2] + ldrb r0, [r4, #0x1] + add r1, r3, r2 + strb r0, [r1, #0x1] + ldrb r0, [r4, #0x2] + strb r0, [r1, #0x2] + ldrb r0, [r4, #0x3] + strb r0, [r1, #0x3] +_0200ABA4: + ldr r1, [r5, #0x8] + lsl r0, r6, #0x3 + add r0, r1, r0 + ldr r0, [r0, #0x4] + add r1, r7, #0x0 + bl sub_02021A74 +_0200ABB2: + pop {r3-r7, pc} + + thumb_func_start sub_0200ABB4 +sub_0200ABB4: ; 0x0200ABB4 + push {r3, lr} + mov r3, #0x0 + bl sub_0200AB70 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200ABC0 +sub_0200ABC0: ; 0x0200ABC0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + bl sub_0202398C + add r1, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02021E28 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200ABE4 +sub_0200ABE4: ; 0x0200ABE4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + bl sub_02024EC0 + bl sub_02024EE8 + add r1, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02021E28 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200AC0C +sub_0200AC0C: ; 0x0200AC0C + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r6, r1, #0x0 + bl sub_020238F4 + add r7, r0, #0x0 + ldr r2, _0200AC5C ; =0x000001F1 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_020239CC + cmp r0, #0x0 + bne _0200AC3E + ldr r2, [r5, #0xc] + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200A8E0 + b _0200AC48 +_0200AC3E: + ldr r2, [r5, #0xc] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200A8E0 +_0200AC48: + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r4, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + .balign 4 +_0200AC5C: .word 0x000001F1 + + thumb_func_start sub_0200AC60 +sub_0200AC60: ; 0x0200AC60 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r2, #0x0 + add r6, r1, #0x0 + ldr r2, _0200ACA0 ; =0x0000016A + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r4, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r1, r0, #0x0 + ldr r2, [r5, #0xc] + add r0, r4, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r4, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + nop +_0200ACA0: .word 0x0000016A + + thumb_func_start sub_0200ACA4 +sub_0200ACA4: ; 0x0200ACA4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200ACC0 + pop {r3-r5, pc} + + thumb_func_start sub_0200ACC0 +sub_0200ACC0: ; 0x0200ACC0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200ACF4 ; =0x0000016B + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + add r7, r0, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + nop +_0200ACF4: .word 0x0000016B + + thumb_func_start sub_0200ACF8 +sub_0200ACF8: ; 0x0200ACF8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + ldr r2, [r5, #0xc] + mov r1, #0x76 + bl sub_020672BC + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200AD18 +sub_0200AD18: ; 0x0200AD18 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + ldr r2, [r5, #0xc] + mov r1, #0x90 + bl sub_020672BC + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200AD38 +sub_0200AD38: ; 0x0200AD38 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x14] + add r4, r1, #0x0 + str r0, [sp, #0x0] + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r0, [r5, #0xc] + ldr r3, [sp, #0x10] + bl sub_02021B04 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + + thumb_func_start sub_0200AD5C +sub_0200AD5C: ; 0x0200AD5C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x93 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AD90 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AD90: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AD94 +sub_0200AD94: ; 0x0200AD94 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x79 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200ADC8 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200ADC8: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200ADCC +sub_0200ADCC: ; 0x0200ADCC + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x8a + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AE00 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AE00: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AE04 +sub_0200AE04: ; 0x0200AE04 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xbe + bl sub_0200A86C + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + add r7, r0, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AE38 +sub_0200AE38: ; 0x0200AE38 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x56 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AE6C + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AE6C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AE70 +sub_0200AE70: ; 0x0200AE70 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200AEA4 ; =0x0000015A + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AEA2 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AEA2: + pop {r3-r7, pc} + .balign 4 +_0200AEA4: .word 0x0000015A + + thumb_func_start sub_0200AEA8 +sub_0200AEA8: ; 0x0200AEA8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200AEDC ; =0x0000015B + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AEDA + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AEDA: + pop {r3-r7, pc} + .balign 4 +_0200AEDC: .word 0x0000015B + + thumb_func_start sub_0200AEE0 +sub_0200AEE0: ; 0x0200AEE0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200AF14 ; =0x0000015D + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AF12 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AF12: + pop {r3-r7, pc} + .balign 4 +_0200AF14: .word 0x0000015D + + thumb_func_start sub_0200AF18 +sub_0200AF18: ; 0x0200AF18 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200AF4C ; =0x00000235 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AF4A + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AF4A: + pop {r3-r7, pc} + .balign 4 +_0200AF4C: .word 0x00000235 + + thumb_func_start sub_0200AF50 +sub_0200AF50: ; 0x0200AF50 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200AF84 ; =0x000001EF + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AF82 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AF82: + pop {r3-r7, pc} + .balign 4 +_0200AF84: .word 0x000001EF + + thumb_func_start sub_0200AF88 +sub_0200AF88: ; 0x0200AF88 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xcd + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AFBA + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AFBA: + pop {r3-r7, pc} + + thumb_func_start sub_0200AFBC +sub_0200AFBC: ; 0x0200AFBC + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x89 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200AFF0 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200AFF0: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200AFF4 +sub_0200AFF4: ; 0x0200AFF4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B028 ; =0x0000017E + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B026 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B026: + pop {r3-r7, pc} + .balign 4 +_0200B028: .word 0x0000017E + + thumb_func_start sub_0200B02C +sub_0200B02C: ; 0x0200B02C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B060 ; =0x00000196 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B05E + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B05E: + pop {r3-r7, pc} + .balign 4 +_0200B060: .word 0x00000196 + + thumb_func_start sub_0200B064 +sub_0200B064: ; 0x0200B064 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x23 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x4 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B098 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B098: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B09C +sub_0200B09C: ; 0x0200B09C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B0D0 ; =0x00000231 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B0CE + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B0CE: + pop {r3-r7, pc} + .balign 4 +_0200B0D0: .word 0x00000231 + + thumb_func_start sub_0200B0D4 +sub_0200B0D4: ; 0x0200B0D4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + mov r2, #0x23 + add r6, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x4 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B108 + ldrb r1, [r4, #0x1] + ldr r2, [r5, #0xc] + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B108: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B10C +sub_0200B10C: ; 0x0200B10C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B140 ; =0x0000022F + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B13E + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B13E: + pop {r3-r7, pc} + .balign 4 +_0200B140: .word 0x0000022F + + thumb_func_start sub_0200B144 +sub_0200B144: ; 0x0200B144 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r2, #0x14 + add r4, r1, #0x0 + add r1, r2, #0x0 + bl sub_02021E28 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200B164 +sub_0200B164: ; 0x0200B164 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B198 ; =0x00000239 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B196 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B196: + pop {r3-r7, pc} + .balign 4 +_0200B198: .word 0x00000239 + + thumb_func_start sub_0200B19C +sub_0200B19C: ; 0x0200B19C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B1D0 ; =0x0000023A + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B1CE + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B1CE: + pop {r3-r7, pc} + .balign 4 +_0200B1D0: .word 0x0000023A + + thumb_func_start sub_0200B1D4 +sub_0200B1D4: ; 0x0200B1D4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B208 ; =0x0000023B + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B206 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B206: + pop {r3-r7, pc} + .balign 4 +_0200B208: .word 0x0000023B + + thumb_func_start sub_0200B20C +sub_0200B20C: ; 0x0200B20C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x8f + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B240 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B240: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B244 +sub_0200B244: ; 0x0200B244 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B276 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B276: + pop {r3-r7, pc} + + thumb_func_start sub_0200B278 +sub_0200B278: ; 0x0200B278 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xbf + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B2AA + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B2AA: + pop {r3-r7, pc} + + thumb_func_start sub_0200B2AC +sub_0200B2AC: ; 0x0200B2AC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xbf + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B2DE + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B2DE: + pop {r3-r7, pc} + + thumb_func_start sub_0200B2E0 +sub_0200B2E0: ; 0x0200B2E0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B314 ; =0x0000023E + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B312 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B312: + pop {r3-r7, pc} + .balign 4 +_0200B314: .word 0x0000023E + + thumb_func_start sub_0200B318 +sub_0200B318: ; 0x0200B318 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B34C ; =0x0000023D + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B34A + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B34A: + pop {r3-r7, pc} + .balign 4 +_0200B34C: .word 0x0000023D + + thumb_func_start sub_0200B350 +sub_0200B350: ; 0x0200B350 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B384 ; =0x00000237 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B382 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B382: + pop {r3-r7, pc} + .balign 4 +_0200B384: .word 0x00000237 + + thumb_func_start sub_0200B388 +sub_0200B388: ; 0x0200B388 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x8e + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B3BC + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B3BC: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B3C0 +sub_0200B3C0: ; 0x0200B3C0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r6, r1, #0x0 + add r4, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc7 + bl sub_0200A86C + add r7, r0, #0x0 + cmp r4, #0x0 + beq _0200B3E0 + cmp r4, #0x1 + beq _0200B3EA + b _0200B3F4 +_0200B3E0: + ldr r2, [r5, #0xc] + mov r1, #0x44 + bl sub_0200A8E0 + b _0200B3FA +_0200B3EA: + ldr r2, [r5, #0xc] + mov r1, #0x45 + bl sub_0200A8E0 + b _0200B3FA +_0200B3F4: + ldr r0, [r5, #0xc] + bl sub_02021A4C +_0200B3FA: + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B410 +sub_0200B410: ; 0x0200B410 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + ldr r2, [r5, #0xc] + add r1, r3, #0x0 + bl sub_0206B484 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200B430 +sub_0200B430: ; 0x0200B430 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B464 ; =0x0000014B + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B462 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B462: + pop {r3-r7, pc} + .balign 4 +_0200B464: .word 0x0000014B + + thumb_func_start sub_0200B468 +sub_0200B468: ; 0x0200B468 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B49C ; =0x00000226 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B49A + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B49A: + pop {r3-r7, pc} + .balign 4 +_0200B49C: .word 0x00000226 + + thumb_func_start sub_0200B4A0 +sub_0200B4A0: ; 0x0200B4A0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x99 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B4D4 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B4D4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B4D8 +sub_0200B4D8: ; 0x0200B4D8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r6, r1, #0x0 + add r4, r3, #0x0 + bl sub_02088D40 + add r2, r0, #0x0 + beq _0200B516 + cmp r4, #0x0 + beq _0200B516 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B516 + ldr r2, [r5, #0xc] + add r1, r4, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B516: + pop {r3-r7, pc} + + thumb_func_start sub_0200B518 +sub_0200B518: ; 0x0200B518 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0xc] + add r0, r2, #0x0 + bl sub_02013A58 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + pop {r3-r5, pc} + + thumb_func_start sub_0200B534 +sub_0200B534: ; 0x0200B534 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xa + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B566 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B566: + pop {r3-r7, pc} + + thumb_func_start sub_0200B568 +sub_0200B568: ; 0x0200B568 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r3, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xb + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B59A + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B59A: + pop {r3-r7, pc} + + thumb_func_start sub_0200B59C +sub_0200B59C: ; 0x0200B59C + push {r3-r7, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r7, r1, #0x0 + bl sub_02015CC0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02015CE0 + add r4, r0, #0x0 + ldr r2, _0200B620 ; =0x020ECE64 + lsl r3, r6, #0x1 + ldrh r2, [r2, r3] + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r6, r0, #0x0 + beq _0200B61E + bl sub_0200A940 + cmp r4, r0 + bhs _0200B5EE + ldr r2, [r5, #0xc] + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r6, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} +_0200B5EE: + add r0, r6, #0x0 + bl sub_0200A8B8 + ldr r2, _0200B624 ; =0x0000017E + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r4, r0, #0x0 + beq _0200B61E + ldr r2, [r5, #0xc] + mov r1, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r4, #0x0 + bl sub_0200A8B8 +_0200B61E: + pop {r3-r7, pc} + .balign 4 +_0200B620: .word 0x020ECE64 +_0200B624: .word 0x0000017E + + thumb_func_start sub_0200B628 +sub_0200B628: ; 0x0200B628 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B65C ; =0x0000019E + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B65A + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B65A: + pop {r3-r7, pc} + .balign 4 +_0200B65C: .word 0x0000019E + + thumb_func_start sub_0200B660 +sub_0200B660: ; 0x0200B660 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B694 ; =0x00000152 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B692 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B692: + pop {r3-r7, pc} + .balign 4 +_0200B694: .word 0x00000152 + + thumb_func_start sub_0200B698 +sub_0200B698: ; 0x0200B698 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r1, #0x0 + ldr r2, _0200B6CC ; =0x00000153 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B6CA + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B6CA: + pop {r3-r7, pc} + .balign 4 +_0200B6CC: .word 0x00000153 + + thumb_func_start sub_0200B6D0 +sub_0200B6D0: ; 0x0200B6D0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r2, #0x55 + add r4, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r7, r0, #0x0 + beq _0200B704 + ldr r2, [r5, #0xc] + add r1, r6, #0x0 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r7, #0x0 + bl sub_0200A8B8 +_0200B704: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B708 +sub_0200B708: ; 0x0200B708 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x8] + add r5, r2, #0x0 + add r0, r1, #0x0 + str r3, [sp, #0xc] + bl sub_0202881C + add r6, r0, #0x0 + add r1, r5, #0x0 + bl sub_020287F8 + str r0, [sp, #0x10] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02028804 + add r7, r0, #0x0 + mov r0, #0x40 + mov r1, #0x4 + bl sub_020219F4 + add r4, r0, #0x0 + ldr r2, [sp, #0x28] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_020287A8 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02021E28 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0xc] + ldr r3, [sp, #0x10] + add r2, r4, #0x0 + str r7, [sp, #0x4] + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0200B764 +sub_0200B764: ; 0x0200B764 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + mov r2, #0x5b + add r7, r1, #0x0 + ldr r3, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r6, r0, #0x0 + beq _0200B7A4 + cmp r4, #0x1 + blo _0200B786 + cmp r4, #0xc + bls _0200B788 +_0200B786: + mov r4, #0x1 +_0200B788: + ldr r2, [r5, #0xc] + add r0, r6, #0x0 + sub r1, r4, #0x1 + bl sub_0200A8E0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r3, #0x0 + bl sub_0200AB70 + add r0, r6, #0x0 + bl sub_0200A8B8 +_0200B7A4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200B7A8 +sub_0200B7A8: ; 0x0200B7A8 + ldr r2, [r0, #0x8] + lsl r0, r1, #0x3 + add r0, r2, r0 + ldr r3, _0200B7B4 ; =sub_02021FF8 + ldr r0, [r0, #0x4] + bx r3 + .balign 4 +_0200B7B4: .word sub_02021FF8 + 1 + + thumb_func_start sub_0200B7B8 +sub_0200B7B8: ; 0x0200B7B8 + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + add r0, r2, #0x0 + bl sub_02021F2C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02021A4C + ldrh r1, [r5, #0x0] + ldr r0, _0200B844 ; =0x0000FFFF + cmp r1, r0 + beq _0200B840 +_0200B7D4: + ldr r0, _0200B848 ; =0x0000FFFE + cmp r1, r0 + bne _0200B82E + add r0, r5, #0x0 + bl sub_0201B8F8 + cmp r0, #0x0 + beq _0200B810 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0201B914 + add r4, r0, #0x0 + ldr r0, [r7, #0x0] + cmp r4, r0 + blo _0200B7F8 + bl sub_02020C2C +_0200B7F8: + ldr r2, [r7, #0x8] + lsl r1, r4, #0x3 + add r1, r2, r1 + ldr r1, [r1, #0x4] + add r0, r6, #0x0 + bl sub_02022048 + add r0, r5, #0x0 + bl sub_0201B8B8 + add r5, r0, #0x0 + b _0200B838 +_0200B810: + add r0, r5, #0x0 + add r4, r5, #0x0 + bl sub_0201B8B8 + add r5, r0, #0x0 + cmp r4, r5 + bhs _0200B838 +_0200B81E: + ldrh r1, [r4, #0x0] + add r0, r6, #0x0 + add r4, r4, #0x2 + bl sub_02021FB0 + cmp r4, r5 + blo _0200B81E + b _0200B838 +_0200B82E: + ldrh r1, [r5, #0x0] + add r0, r6, #0x0 + add r5, r5, #0x2 + bl sub_02021FB0 +_0200B838: + ldrh r1, [r5, #0x0] + ldr r0, _0200B844 ; =0x0000FFFF + cmp r1, r0 + bne _0200B7D4 +_0200B840: + pop {r3-r7, pc} + nop +_0200B844: .word 0x0000FFFF +_0200B848: .word 0x0000FFFE + + thumb_func_start sub_0200B84C +sub_0200B84C: ; 0x0200B84C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + bls _0200B86E + add r4, r6, #0x0 +_0200B85A: + ldr r0, [r5, #0x8] + add r0, r0, r4 + ldr r0, [r0, #0x4] + bl sub_02021A4C + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + add r4, #0x8 + cmp r6, r0 + blo _0200B85A +_0200B86E: + pop {r4-r6, pc} + + thumb_func_start sub_0200B870 +sub_0200B870: ; 0x0200B870 + push {r4-r7, lr} + sub sp, #0x2c + add r4, r3, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r4, #0x0 + mov r1, #0x2c + str r2, [sp, #0x4] + bl sub_02016998 + str r0, [sp, #0x8] + cmp r0, #0x0 + beq _0200B98A + ldr r3, [sp, #0x8] + mov r0, #0xe + mov r1, #0x4 + mov r2, #0x1 + add r3, r3, #0x4 + str r4, [sp, #0x0] + bl sub_02006BB0 + ldr r1, [sp, #0x8] + mov r3, #0x0 + str r0, [r1, #0x0] + add r0, r1, #0x0 + ldr r0, [r0, #0x4] + ldr r4, [r0, #0x14] + ldr r0, [r0, #0x10] + cmp r0, #0x0 + bls _0200B984 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x4] + lsl r0, r0, #0x4 + orr r1, r0 + str r1, [sp, #0xc] + add r1, r0, #0x0 + orr r1, r5 + str r1, [sp, #0x10] + orr r0, r6 + str r0, [sp, #0x14] + ldr r1, [sp, #0x4] + lsl r0, r5, #0x4 + orr r1, r0 + str r1, [sp, #0x18] + add r1, r5, #0x0 + orr r1, r0 + str r1, [sp, #0x1c] + orr r0, r6 + lsl r2, r6, #0x4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x20] + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x4] + add r7, r2, #0x0 + orr r7, r1 + add r1, r2, #0x0 + orr r1, r5 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + orr r2, r6 + str r1, [sp, #0x28] + lsl r1, r7, #0x18 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, [sp, #0x18] + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsr r1, r1, #0x18 + lsl r0, r0, #0x18 + mov r12, r2 + str r1, [sp, #0x24] + lsr r6, r0, #0x18 + ldr r0, [sp, #0x14] + ldr r1, [sp, #0x10] + ldr r2, [sp, #0xc] + lsl r0, r0, #0x18 + lsl r1, r1, #0x18 + lsl r2, r2, #0x18 + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 +_0200B914: + ldrb r5, [r4, r3] + cmp r5, #0x12 + bgt _0200B93C + bge _0200B962 + cmp r5, #0x10 + bgt _0200B936 + bge _0200B95A + cmp r5, #0x2 + bgt _0200B978 + cmp r5, #0x0 + blt _0200B978 + beq _0200B94E + cmp r5, #0x1 + beq _0200B952 + cmp r5, #0x2 + beq _0200B956 + b _0200B978 +_0200B936: + cmp r5, #0x11 + beq _0200B95E + b _0200B978 +_0200B93C: + cmp r5, #0x21 + bgt _0200B948 + bge _0200B96E + cmp r5, #0x20 + beq _0200B968 + b _0200B978 +_0200B948: + cmp r5, #0x22 + beq _0200B974 + b _0200B978 +_0200B94E: + strb r2, [r4, r3] + b _0200B978 +_0200B952: + strb r1, [r4, r3] + b _0200B978 +_0200B956: + strb r0, [r4, r3] + b _0200B978 +_0200B95A: + strb r6, [r4, r3] + b _0200B978 +_0200B95E: + strb r7, [r4, r3] + b _0200B978 +_0200B962: + ldr r5, [sp, #0x20] + strb r5, [r4, r3] + b _0200B978 +_0200B968: + ldr r5, [sp, #0x24] + strb r5, [r4, r3] + b _0200B978 +_0200B96E: + ldr r5, [sp, #0x28] + strb r5, [r4, r3] + b _0200B978 +_0200B974: + mov r5, r12 + strb r5, [r4, r3] +_0200B978: + ldr r5, [sp, #0x8] + add r3, r3, #0x1 + ldr r5, [r5, #0x4] + ldr r5, [r5, #0x10] + cmp r3, r5 + blo _0200B914 +_0200B984: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + str r1, [r0, #0x28] +_0200B98A: + ldr r0, [sp, #0x8] + add sp, #0x2c + pop {r4-r7, pc} + + thumb_func_start sub_0200B990 +sub_0200B990: ; 0x0200B990 + push {r4, lr} + add r4, r0, #0x0 + beq _0200B9A6 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0200B9A0 + bl sub_02016A18 +_0200B9A0: + add r0, r4, #0x0 + bl sub_02016A18 +_0200B9A6: + pop {r4, pc} + + thumb_func_start sub_0200B9A8 +sub_0200B9A8: ; 0x0200B9A8 + push {r3-r5, lr} + sub sp, #0x18 + add r4, r0, #0x0 + ldr r0, _0200B9E4 ; =0x020ECE6E + lsl r5, r1, #0x2 + ldrh r1, [r0, r5] + lsl r3, r3, #0x10 + mov r0, #0x8 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + lsr r3, r3, #0x10 + str r3, [sp, #0x8] + ldr r3, [sp, #0x28] + lsl r3, r3, #0x10 + lsr r3, r3, #0x10 + str r3, [sp, #0xc] + str r1, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r4, #0x4] + add r0, r2, #0x0 + ldr r2, [r1, #0x14] + ldr r1, _0200B9E8 ; =0x020ECE6C + ldrh r1, [r1, r5] + add r1, r2, r1 + mov r2, #0x0 + add r3, r2, #0x0 + bl sub_02019658 + add sp, #0x18 + pop {r3-r5, pc} + .balign 4 +_0200B9E4: .word 0x020ECE6E +_0200B9E8: .word 0x020ECE6C + + thumb_func_start sub_0200B9EC +sub_0200B9EC: ; 0x0200B9EC + push {r3-r7, lr} + sub sp, #0x18 + add r6, r0, #0x0 + ldr r0, [sp, #0x30] + add r4, r2, #0x0 + str r0, [sp, #0x30] + add r0, r6, #0x0 + add r2, r3, #0x0 + add r0, #0x8 + add r3, r4, #0x0 + ldr r5, [sp, #0x34] + ldr r7, [sp, #0x38] + bl sub_0200233C + ldrh r1, [r6, #0x8] + ldr r0, _0200BA74 ; =0x0000FFFF + cmp r1, r0 + beq _0200BA6E + lsl r0, r7, #0x10 + add r4, r6, #0x0 + lsr r7, r0, #0x10 +_0200BA16: + ldrh r2, [r4, #0x8] + cmp r2, #0xa2 + blo _0200BA4A + cmp r2, #0xab + bhi _0200BA4A + mov r0, #0x8 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + str r7, [sp, #0xc] + mov r0, #0x8 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + ldr r1, [r6, #0x4] + sub r2, #0xa2 + ldr r1, [r1, #0x14] + lsl r2, r2, #0x5 + add r1, r1, r2 + mov r2, #0x0 + ldr r0, [sp, #0x30] + add r3, r2, #0x0 + bl sub_02019658 + b _0200BA62 +_0200BA4A: + mov r0, #0x8 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r1, [r6, #0x28] + lsl r2, r5, #0x10 + lsl r1, r1, #0x18 + ldr r0, [sp, #0x30] + lsr r1, r1, #0x18 + lsr r2, r2, #0x10 + add r3, r7, #0x0 + bl sub_020196F4 +_0200BA62: + add r4, r4, #0x2 + ldrh r1, [r4, #0x8] + ldr r0, _0200BA74 ; =0x0000FFFF + add r5, #0x8 + cmp r1, r0 + bne _0200BA16 +_0200BA6E: + add sp, #0x18 + pop {r3-r7, pc} + nop +_0200BA74: .word 0x0000FFFF + + thumb_func_start sub_0200BA78 +sub_0200BA78: ; 0x0200BA78 + push {r3-r6, lr} + sub sp, #0xc + add r4, r2, #0x0 + ldr r2, [sp, #0x2c] + add r6, r3, #0x0 + str r2, [sp, #0x0] + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x28] + add r5, r0, #0x0 + bl sub_0200B9A8 + ldr r0, [sp, #0x24] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + ldr r0, [sp, #0x28] + add r1, r4, #0x0 + add r0, #0x10 + str r0, [sp, #0x4] + ldr r0, [sp, #0x2c] + add r2, r6, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0200B9EC + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_0200BAAC +sub_0200BAAC: ; 0x0200BAAC + push {r3-r7, lr} + add r7, r0, #0x0 + add r4, r2, #0x0 + ldr r2, [r7, #0x28] + ldr r6, [sp, #0x18] + lsl r0, r2, #0x4 + orr r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r0, r7, #0x0 + add r2, r3, #0x0 + add r0, #0x8 + add r3, r4, #0x0 + bl sub_0200233C + ldrh r1, [r7, #0x8] + ldr r0, _0200BB10 ; =0x0000FFFF + cmp r1, r0 + beq _0200BB0C + add r4, r7, #0x0 + mov r5, #0x0 +_0200BAD8: + ldrh r2, [r4, #0x8] + cmp r2, #0xa2 + blo _0200BAF6 + cmp r2, #0xab + bhi _0200BAF6 + ldr r0, [r7, #0x4] + sub r2, #0xa2 + ldr r1, [r0, #0x14] + lsl r0, r2, #0x5 + add r0, r1, r0 + add r1, r6, r5 + mov r2, #0x20 + blx sub_020CE210 + b _0200BB00 +_0200BAF6: + ldr r1, [sp, #0x0] + add r0, r6, r5 + mov r2, #0x20 + blx sub_020CE34C +_0200BB00: + add r4, r4, #0x2 + ldrh r1, [r4, #0x8] + ldr r0, _0200BB10 ; =0x0000FFFF + add r5, #0x20 + cmp r1, r0 + bne _0200BAD8 +_0200BB0C: + pop {r3-r7, pc} + nop +_0200BB10: .word 0x0000FFFF + + thumb_func_start sub_0200BB14 +sub_0200BB14: ; 0x0200BB14 + push {r4, lr} + mov r1, #0x4e + lsl r1, r1, #0x2 + add r4, r0, #0x0 + bl sub_02016998 + cmp r0, #0x0 + bne _0200BB28 + mov r0, #0x0 + pop {r4, pc} +_0200BB28: + str r4, [r0, #0x0] + mov r1, #0x0 + str r1, [r0, #0x4] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r4, pc} + + thumb_func_start sub_0200BB34 +sub_0200BB34: ; 0x0200BB34 + push {r4, lr} + add r4, r0, #0x0 + bne _0200BB3E + bl sub_02020C2C +_0200BB3E: + ldr r0, [r4, #0x0] + mov r1, #0x58 + bl sub_02016998 + cmp r0, #0x0 + bne _0200BB4E + mov r0, #0x0 + pop {r4, pc} +_0200BB4E: + ldr r1, [r4, #0x4] + mov r2, #0x0 + add r1, r1, #0x1 + str r1, [r4, #0x4] + add r3, r0, #0x0 + add r1, r2, #0x0 +_0200BB5A: + add r2, r2, #0x1 + str r1, [r3, #0xc] + add r3, r3, #0x4 + cmp r2, #0x6 + blt _0200BB5A + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200BB68 +sub_0200BB68: ; 0x0200BB68 + add r0, #0x10 + bx lr + + thumb_func_start sub_0200BB6C +sub_0200BB6C: ; 0x0200BB6C + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r5, #0x0 + bne _0200BB80 + bl sub_02020C2C +_0200BB80: + cmp r5, #0x0 + bne _0200BB8A + add sp, #0x24 + mov r0, #0x0 + pop {r4-r7, pc} +_0200BB8A: + ldr r0, [r6, #0x0] + str r0, [sp, #0x14] + ldr r0, [r6, #0x4] + str r0, [sp, #0x18] + ldr r0, [r6, #0x8] + str r0, [sp, #0x1c] + ldr r0, [r5, #0x0] + str r0, [sp, #0x20] + ldr r1, [r6, #0xc] + ldr r2, [r6, #0x10] + add r0, sp, #0x14 + bl sub_0201D060 + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_0201E00C + blx sub_020B0FC0 + ldr r0, [r5, #0x8] + cmp r0, #0x1 + bne _0200BBD6 + ldr r0, [r4, #0x10] + str r0, [sp, #0x0] + ldr r0, [r4, #0x14] + str r0, [sp, #0x4] + ldr r0, [r4, #0x18] + str r0, [sp, #0x8] + ldr r0, [r4, #0x1c] + str r0, [sp, #0xc] + ldr r0, [r5, #0x0] + str r0, [sp, #0x10] + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + ldr r3, [r4, #0xc] + bl sub_02009EAC +_0200BBD6: + ldr r1, [r5, #0x0] + mov r0, #0x20 + bl sub_0201C328 + str r0, [r5, #0xc] + bl sub_0201D168 + bl sub_0201E0BC + mov r0, #0x1 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200BBF0 +sub_0200BBF0: ; 0x0200BBF0 + push {r4, lr} + add r3, r0, #0x0 + add r4, r1, #0x0 + cmp r3, #0x0 + beq _0200BBFE + cmp r4, #0x0 + bne _0200BC02 +_0200BBFE: + mov r0, #0x0 + pop {r4, pc} +_0200BC02: + add r0, r2, #0x0 + add r1, r3, #0x0 + ldr r2, [r3, #0x0] + add r1, #0x10 + bl sub_02008C9C + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0200BC14 +sub_0200BC14: ; 0x0200BC14 + ldr r3, _0200BC18 ; =sub_0201FFC8 + bx r3 + .balign 4 +_0200BC18: .word sub_0201FFC8 + 1 + + thumb_func_start sub_0200BC1C +sub_0200BC1C: ; 0x0200BC1C + push {r4, lr} + add r4, r0, #0x0 + bne _0200BC26 + bl sub_02020C2C +_0200BC26: + ldr r0, [r4, #0x0] + bl sub_0201FDEC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200BC30 +sub_0200BC30: ; 0x0200BC30 + ldr r3, _0200BC34 ; =sub_02009F80 + bx r3 + .balign 4 +_0200BC34: .word sub_02009F80 + 1 + + thumb_func_start sub_0200BC38 +sub_0200BC38: ; 0x0200BC38 + ldr r3, _0200BC3C ; =sub_0201C348 + bx r3 + .balign 4 +_0200BC3C: .word sub_0201C348 + 1 + + thumb_func_start sub_0200BC40 +sub_0200BC40: ; 0x0200BC40 + ldr r3, _0200BC48 ; =sub_0201FD58 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200BC48: .word sub_0201FD58 + 1 + + thumb_func_start sub_0200BC4C +sub_0200BC4C: ; 0x0200BC4C + push {r3, lr} + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0200BC58 + bl sub_02008C80 +_0200BC58: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200BC5C +sub_0200BC5C: ; 0x0200BC5C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x54] + mov r4, #0x0 + cmp r0, #0x0 + ble _0200BC7C +_0200BC68: + ldr r0, [r5, #0x8] + add r1, r4, #0x0 + bl sub_02009660 + bl sub_020096B4 + ldr r0, [r5, #0x54] + add r4, r4, #0x1 + cmp r4, r0 + blt _0200BC68 +_0200BC7C: + ldr r0, [r5, #0x8] + bl sub_02016A18 + ldr r0, [r5, #0x24] + bl sub_02009C30 + ldr r0, [r5, #0x28] + bl sub_02009E28 + ldr r0, [r5, #0x54] + mov r6, #0x0 + cmp r0, #0x0 + ble _0200BCAE + add r4, r5, #0x0 +_0200BC98: + ldr r0, [r4, #0x24] + bl sub_02009448 + ldr r0, [r4, #0xc] + bl sub_02008E2C + ldr r0, [r5, #0x54] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _0200BC98 +_0200BCAE: + pop {r4-r6, pc} + + thumb_func_start sub_0200BCB0 +sub_0200BCB0: ; 0x0200BCB0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0201C350 + bl sub_0201D12C + bl sub_0201E08C + ldr r0, [r4, #0x8] + cmp r0, #0x1 + bne _0200BCCC + bl sub_02009FA0 +_0200BCCC: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200BCD0 +sub_0200BCD0: ; 0x0200BCD0 + ldr r2, [r0, #0x4] + ldr r3, _0200BCDC ; =sub_02016A18 + sub r2, r2, #0x1 + str r2, [r0, #0x4] + add r0, r1, #0x0 + bx r3 + .balign 4 +_0200BCDC: .word sub_02016A18 + 1 + + thumb_func_start sub_0200BCE0 +sub_0200BCE0: ; 0x0200BCE0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0200BC40 + add r0, r4, #0x0 + bl sub_0200BC4C + add r0, r4, #0x0 + bl sub_0200BC5C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200BCD0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200BD04 +sub_0200BD04: ; 0x0200BD04 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0200BD12 + bl sub_02020C2C +_0200BD12: + add r0, r4, #0x0 + bl sub_0200BCB0 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_0200BD20 +sub_0200BD20: ; 0x0200BD20 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + mov r0, #0x6 + add r4, r1, #0x0 + str r2, [sp, #0x10] + str r0, [sp, #0x14] + cmp r5, #0x0 + beq _0200BD36 + cmp r4, #0x0 + bne _0200BD3C +_0200BD36: + add sp, #0x24 + mov r0, #0x0 + pop {r4-r7, pc} +_0200BD3C: + add r0, r2, #0x0 + ldr r0, [r0, #0x10] + cmp r0, #0x0 + bne _0200BD48 + mov r0, #0x4 + str r0, [sp, #0x14] +_0200BD48: + ldr r0, [sp, #0x14] + str r0, [r4, #0x54] + bl sub_0200965C + add r2, r0, #0x0 + ldr r1, [sp, #0x14] + ldr r0, [r5, #0x0] + mul r1, r2 + bl sub_02016998 + str r0, [r4, #0x8] + ldr r0, [sp, #0x14] + mov r7, #0x0 + cmp r0, #0x0 + ble _0200BD94 + ldr r6, [sp, #0x10] +_0200BD68: + ldr r0, [r4, #0x8] + add r1, r7, #0x0 + bl sub_02009660 + str r0, [sp, #0x18] + ldr r0, [r5, #0x0] + ldr r1, [r6, #0x0] + bl sub_020161A4 + ldr r1, [sp, #0x18] + ldr r2, [r5, #0x0] + str r0, [sp, #0x1c] + bl sub_02009668 + ldr r0, [sp, #0x1c] + bl sub_02016A18 + ldr r0, [sp, #0x14] + add r7, r7, #0x1 + add r6, r6, #0x4 + cmp r7, r0 + blt _0200BD68 +_0200BD94: + ldr r0, [sp, #0x14] + mov r6, #0x0 + cmp r0, #0x0 + ble _0200BDBE + add r7, r4, #0x0 +_0200BD9E: + ldr r0, [r4, #0x8] + add r1, r6, #0x0 + bl sub_02009660 + bl sub_020096CC + ldr r2, [r5, #0x0] + add r1, r6, #0x0 + bl sub_02008DEC + str r0, [r7, #0xc] + ldr r0, [sp, #0x14] + add r6, r6, #0x1 + add r7, r7, #0x4 + cmp r6, r0 + blt _0200BD9E +_0200BDBE: + ldr r0, [sp, #0x14] + mov r7, #0x0 + cmp r0, #0x0 + ble _0200BDF6 + add r6, r4, #0x0 +_0200BDC8: + ldr r0, [r4, #0x8] + add r1, r7, #0x0 + bl sub_02009660 + str r0, [sp, #0x20] + bl sub_020096CC + ldr r1, [r5, #0x0] + bl sub_02009424 + add r2, r0, #0x0 + str r2, [r6, #0x24] + ldr r0, [r6, #0xc] + ldr r1, [sp, #0x20] + ldr r3, [r5, #0x0] + bl sub_020093A8 + str r0, [r6, #0x3c] + ldr r0, [sp, #0x14] + add r7, r7, #0x1 + add r6, r6, #0x4 + cmp r7, r0 + blt _0200BDC8 +_0200BDF6: + ldr r0, [r4, #0x24] + bl sub_02009A90 + ldr r0, [r4, #0x28] + bl sub_02009D34 + ldr r1, [sp, #0x10] + ldr r0, [r5, #0x0] + ldr r1, [r1, #0x18] + bl sub_020161A4 + ldr r1, [r4, #0x14] + add r6, r0, #0x0 + str r1, [sp, #0x0] + ldr r1, [r4, #0x18] + str r1, [sp, #0x4] + ldr r1, [r4, #0x1c] + str r1, [sp, #0x8] + ldr r1, [r4, #0x20] + str r1, [sp, #0xc] + ldr r1, [r5, #0x0] + ldr r2, [r4, #0xc] + ldr r3, [r4, #0x10] + bl sub_02008BE0 + str r0, [r4, #0x4] + add r0, r6, #0x0 + bl sub_02016A18 + mov r0, #0x1 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200BE38 +sub_0200BE38: ; 0x0200BE38 + push {r4, lr} + sub sp, #0x28 + mov r3, #0x4 + mov r4, #0x6 + ldrsh r3, [r2, r3] + ldrsh r4, [r2, r4] + str r4, [sp, #0x0] + str r3, [sp, #0x4] + ldrh r4, [r2, #0xa] + str r4, [sp, #0x8] + ldr r4, [r2, #0xc] + str r4, [sp, #0xc] + ldr r4, [r2, #0x10] + str r4, [sp, #0x10] + ldr r4, [r2, #0x14] + str r4, [sp, #0x14] + ldr r4, [r2, #0x18] + str r4, [sp, #0x18] + ldr r4, [r2, #0x1c] + str r4, [sp, #0x1c] + ldr r4, [r2, #0x20] + str r4, [sp, #0x20] + ldr r4, [r2, #0x24] + str r4, [sp, #0x24] + ldr r2, [r2, #0x0] + bl sub_0200BE74 + add sp, #0x28 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200BE74 +sub_0200BE74: ; 0x0200BE74 + push {r4, lr} + sub sp, #0x30 + add r4, r0, #0x0 + ldr r0, [r1, #0x0] + str r0, [sp, #0x0] + ldr r0, [r1, #0x4] + ldr r1, [r0, #0x0] + mov r0, #0x24 + mul r0, r2 + add r0, r1, r0 + str r0, [sp, #0x4] + cmp r3, #0x0 + ble _0200BEA0 + lsl r0, r3, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200BEAE +_0200BEA0: + lsl r0, r3, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200BEAE: + blx sub_020EB4C0 + str r0, [sp, #0x8] + add r1, sp, #0x28 + mov r0, #0x10 + ldrsh r0, [r1, r0] + cmp r0, #0x0 + ble _0200BED0 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200BEDE +_0200BED0: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200BEDE: + blx sub_020EB4C0 + str r0, [sp, #0xc] + add r1, sp, #0x28 + mov r0, #0x14 + ldrsh r0, [r1, r0] + cmp r0, #0x0 + ble _0200BF00 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200BF0E +_0200BF00: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200BF0E: + blx sub_020EB4C0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x4c] + cmp r0, #0x2 + bne _0200BF24 + mov r0, #0x3 + ldr r1, [sp, #0xc] + lsl r0, r0, #0x12 + add r0, r1, r0 + str r0, [sp, #0xc] +_0200BF24: + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x14] + str r0, [sp, #0x18] + str r0, [sp, #0x1c] + mov r1, #0x0 + add r0, sp, #0x0 + strh r1, [r0, #0x20] + ldr r0, [sp, #0x44] + str r0, [sp, #0x24] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x28] + ldr r0, [r4, #0x0] + str r0, [sp, #0x2c] + add r0, sp, #0x0 + bl sub_0201FE94 + add r4, r0, #0x0 + beq _0200BF5A + add r1, sp, #0x28 + ldrh r1, [r1, #0x18] + bl sub_02020130 + ldr r1, [sp, #0x48] + add r0, r4, #0x0 + bl sub_02020248 +_0200BF5A: + add r0, r4, #0x0 + add sp, #0x30 + pop {r4, pc} + + thumb_func_start sub_0200BF60 +sub_0200BF60: ; 0x0200BF60 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + add r5, r1, #0x0 + add r6, r2, #0x0 + cmp r0, #0x0 + beq _0200BF78 + cmp r5, #0x0 + bne _0200BF7E +_0200BF78: + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0200BF7E: + ldr r0, [r6, #0x10] + cmp r0, #0x0 + beq _0200BF8A + ldr r0, [r6, #0x14] + cmp r0, #0x0 + bne _0200BF8E +_0200BF8A: + mov r0, #0x4 + str r0, [sp, #0x4] +_0200BF8E: + ldr r0, [sp, #0x4] + str r0, [r5, #0x54] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _0200BFBE + add r7, r6, #0x0 + add r4, r5, #0x0 +_0200BFA0: + ldr r2, [sp, #0x0] + ldr r0, [r7, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [r2, #0x0] + bl sub_02008DEC + str r0, [r4, #0xc] + ldr r0, [sp, #0x8] + add r7, r7, #0x4 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + add r4, r4, #0x4 + str r1, [sp, #0x8] + cmp r1, r0 + blt _0200BFA0 +_0200BFBE: + ldr r0, [sp, #0x4] + mov r7, #0x0 + cmp r0, #0x0 + ble _0200C004 + add r4, r7, #0x0 +_0200BFC8: + ldr r0, [r6, #0x0] + cmp r0, #0x0 + beq _0200BFF8 + ldr r1, [sp, #0x0] + ldr r1, [r1, #0x0] + bl sub_02009424 + str r0, [r5, #0x24] + mov r0, #0x0 + str r0, [r5, #0x3c] + ldr r3, [r5, #0x24] + add r1, r0, #0x0 + ldr r0, [r3, #0x4] + cmp r0, #0x0 + ble _0200BFF8 + add r2, r1, #0x0 +_0200BFE8: + ldr r0, [r3, #0x0] + add r1, r1, #0x1 + str r4, [r0, r2] + ldr r3, [r5, #0x24] + add r2, r2, #0x4 + ldr r0, [r3, #0x4] + cmp r1, r0 + blt _0200BFE8 +_0200BFF8: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + add r6, r6, #0x4 + add r5, r5, #0x4 + cmp r7, r0 + blt _0200BFC8 +_0200C004: + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200C00C +sub_0200C00C: ; 0x0200C00C + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r1, [sp, #0x28] + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0200945C + cmp r0, #0x0 + bne _0200C02A + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0200C02A: + ldr r0, [sp, #0x28] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r2, r7, #0x0 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl sub_02008F34 + add r5, r0, #0x0 + beq _0200C058 + bl sub_02009B04 + ldr r0, [r4, #0x24] + add r1, r5, #0x0 + bl sub_0200C474 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C058: + bl sub_02020C2C + cmp r5, #0x0 + beq _0200C066 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C066: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200C06C +sub_0200C06C: ; 0x0200C06C + push {r3-r7, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x10] + ldr r1, [sp, #0x34] + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0200945C + cmp r0, #0x0 + bne _0200C08C + mov r0, #0x0 + add sp, #0x10 + mvn r0, r0 + pop {r3-r7, pc} +_0200C08C: + ldr r0, [sp, #0x34] + ldr r3, [sp, #0x28] + str r0, [sp, #0x0] + ldr r0, [sp, #0x30] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x2c] + add r2, r7, #0x0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + str r0, [sp, #0xc] + ldr r0, [r4, #0x10] + bl sub_02008FEC + add r5, r0, #0x0 + beq _0200C0D0 + bl sub_02009D68 + cmp r0, #0x1 + beq _0200C0B8 + bl sub_02020C2C +_0200C0B8: + ldr r0, [r4, #0x28] + add r1, r5, #0x0 + bl sub_0200C474 + ldr r1, [sp, #0x30] + add r0, r5, #0x0 + bl sub_02009E88 + lsl r0, r0, #0x18 + add sp, #0x10 + asr r0, r0, #0x18 + pop {r3-r7, pc} +_0200C0D0: + bl sub_02020C2C + mov r0, #0x0 + mvn r0, r0 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0200C0DC +sub_0200C0DC: ; 0x0200C0DC + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + add r6, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + add r1, r3, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x30] + ldr r3, [sp, #0x24] + str r0, [sp, #0x8] + ldr r0, [sp, #0x34] + str r0, [sp, #0xc] + add r0, r2, #0x0 + ldr r2, [sp, #0x20] + bl sub_0200C06C + add r4, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0200C11A + ldr r3, [sp, #0x2c] + lsl r2, r4, #0x14 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x10 + lsl r3, r3, #0x5 + bl sub_02003108 +_0200C11A: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200C124 +sub_0200C124: ; 0x0200C124 + push {r3-r4, lr} + sub sp, #0xc + ldr r4, [sp, #0x18] + str r4, [sp, #0x0] + mov r4, #0x2 + str r4, [sp, #0x4] + ldr r4, [sp, #0x1c] + str r4, [sp, #0x8] + bl sub_0200C404 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0200C13C +sub_0200C13C: ; 0x0200C13C + push {r3-r4, lr} + sub sp, #0xc + ldr r4, [sp, #0x18] + str r4, [sp, #0x0] + mov r4, #0x3 + str r4, [sp, #0x4] + ldr r4, [sp, #0x1c] + str r4, [sp, #0x8] + bl sub_0200C404 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0200C154 +sub_0200C154: ; 0x0200C154 + push {r4-r7, lr} + sub sp, #0x74 + add r7, r0, #0x0 + ldr r0, [r7, #0x0] + add r6, r1, #0x0 + mov r1, #0x10 + add r5, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + bne _0200C170 + add sp, #0x74 + mov r0, #0x0 + pop {r4-r7, pc} +_0200C170: + ldr r0, [r7, #0x0] + mov r1, #0x8 + bl sub_02016998 + str r0, [r4, #0x8] + cmp r0, #0x0 + bne _0200C184 + add sp, #0x74 + mov r0, #0x0 + pop {r4-r7, pc} +_0200C184: + ldr r0, [r7, #0x0] + mov r1, #0x24 + bl sub_02016998 + ldr r1, [r4, #0x8] + str r0, [r1, #0x0] + ldr r0, [r4, #0x8] + ldr r0, [r0, #0x0] + str r0, [r4, #0x4] + ldr r0, [r4, #0x8] + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _0200C1AC + cmp r0, #0x0 + beq _0200C1A6 + bl sub_02016A18 +_0200C1A6: + add sp, #0x74 + mov r0, #0x0 + pop {r4-r7, pc} +_0200C1AC: + mov r1, #0x0 + add r2, r5, #0x0 + add r3, sp, #0x2c +_0200C1B2: + ldr r0, [r2, #0x14] + add r1, r1, #0x1 + add r2, r2, #0x4 + stmia r3!, {r0} + cmp r1, #0x6 + blt _0200C1B2 + ldr r0, [r6, #0x1c] + cmp r0, #0x0 + beq _0200C1CA + ldr r1, [r6, #0x20] + cmp r1, #0x0 + bne _0200C1D4 +_0200C1CA: + mov r0, #0x0 + mvn r0, r0 + str r0, [sp, #0x3c] + str r0, [sp, #0x40] + b _0200C206 +_0200C1D4: + mov r2, #0x0 + ldr r1, [sp, #0x3c] + mvn r2, r2 + cmp r1, r2 + beq _0200C1EC + bl sub_0200945C + cmp r0, #0x0 + bne _0200C1EC + mov r0, #0x0 + mvn r0, r0 + str r0, [sp, #0x3c] +_0200C1EC: + mov r0, #0x0 + ldr r1, [sp, #0x40] + mvn r0, r0 + cmp r1, r0 + beq _0200C206 + ldr r0, [r6, #0x20] + bl sub_0200945C + cmp r0, #0x0 + bne _0200C206 + mov r0, #0x0 + mvn r0, r0 + str r0, [sp, #0x40] +_0200C206: + ldr r0, [sp, #0x38] + str r0, [sp, #0x0] + ldr r0, [sp, #0x3c] + str r0, [sp, #0x4] + ldr r0, [sp, #0x40] + str r0, [sp, #0x8] + ldr r0, [r5, #0x30] + str r0, [sp, #0xc] + ldr r0, [r5, #0x2c] + str r0, [sp, #0x10] + ldr r0, [r6, #0xc] + str r0, [sp, #0x14] + ldr r0, [r6, #0x10] + str r0, [sp, #0x18] + ldr r0, [r6, #0x14] + str r0, [sp, #0x1c] + ldr r0, [r6, #0x18] + str r0, [sp, #0x20] + ldr r0, [r6, #0x1c] + str r0, [sp, #0x24] + ldr r0, [r6, #0x20] + str r0, [sp, #0x28] + ldr r0, [r4, #0x4] + ldr r1, [sp, #0x2c] + ldr r2, [sp, #0x30] + ldr r3, [sp, #0x34] + bl sub_02008AA4 + ldr r0, [r6, #0x0] + str r0, [sp, #0x44] + ldr r0, [r4, #0x4] + str r0, [sp, #0x48] + mov r0, #0x0 + ldrsh r0, [r5, r0] + cmp r0, #0x0 + ble _0200C260 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200C26E +_0200C260: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200C26E: + blx sub_020EB4C0 + str r0, [sp, #0x4c] + mov r0, #0x2 + ldrsh r0, [r5, r0] + cmp r0, #0x0 + ble _0200C28E + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200C29C +_0200C28E: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200C29C: + blx sub_020EB4C0 + str r0, [sp, #0x50] + mov r0, #0x4 + ldrsh r0, [r5, r0] + cmp r0, #0x0 + ble _0200C2BC + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0200C2CA +_0200C2BC: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0200C2CA: + blx sub_020EB4C0 + str r0, [sp, #0x54] + ldr r0, [r5, #0x10] + cmp r0, #0x2 + bne _0200C2E0 + mov r0, #0x3 + ldr r1, [sp, #0x50] + lsl r0, r0, #0x12 + add r0, r1, r0 + str r0, [sp, #0x50] +_0200C2E0: + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x58] + str r0, [sp, #0x5c] + str r0, [sp, #0x60] + mov r1, #0x0 + add r0, sp, #0x2c + strh r1, [r0, #0x38] + ldr r0, [r5, #0x8] + str r0, [sp, #0x68] + ldr r0, [r5, #0x10] + str r0, [sp, #0x6c] + ldr r0, [r7, #0x0] + str r0, [sp, #0x70] + add r0, sp, #0x44 + bl sub_0201FE94 + str r0, [r4, #0x0] + ldr r0, [r5, #0x30] + str r0, [r4, #0xc] + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0200C328 + bl sub_020202A0 + add r6, r0, #0x0 + ldrh r1, [r5, #0x6] + ldr r0, [r4, #0x0] + bl sub_02020130 + ldr r1, [r5, #0xc] + ldr r0, [r4, #0x0] + add r1, r6, r1 + bl sub_02020248 + b _0200C32C +_0200C328: + bl sub_02020C2C +_0200C32C: + add r0, r4, #0x0 + add sp, #0x74 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200C334 +sub_0200C334: ; 0x0200C334 + push {r3, lr} + ldr r0, [r0, #0x10] + bl sub_020094F0 + mov r1, #0x0 + bl sub_02009E54 + pop {r3, pc} + + thumb_func_start sub_0200C344 +sub_0200C344: ; 0x0200C344 + push {r4, lr} + ldr r0, [r0, #0x10] + add r4, r2, #0x0 + bl sub_020094F0 + add r1, r4, #0x0 + bl sub_02009E88 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200C358 +sub_0200C358: ; 0x0200C358 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, [r3, #0xc] + ldr r1, [r3, #0x24] + ldr r3, _0200C364 ; =sub_0200C4F4 + bx r3 + .balign 4 +_0200C364: .word sub_0200C4F4 + 1 + + thumb_func_start sub_0200C368 +sub_0200C368: ; 0x0200C368 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, [r3, #0x10] + ldr r1, [r3, #0x28] + ldr r3, _0200C374 ; =sub_0200C548 + bx r3 + .balign 4 +_0200C374: .word sub_0200C548 + 1 + + thumb_func_start sub_0200C378 +sub_0200C378: ; 0x0200C378 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, [r3, #0x14] + ldr r1, [r3, #0x2c] + ldr r3, _0200C384 ; =sub_0200C4A8 + bx r3 + .balign 4 +_0200C384: .word sub_0200C4A8 + 1 + + thumb_func_start sub_0200C388 +sub_0200C388: ; 0x0200C388 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, [r3, #0x18] + ldr r1, [r3, #0x30] + ldr r3, _0200C394 ; =sub_0200C4A8 + bx r3 + .balign 4 +_0200C394: .word sub_0200C4A8 + 1 + + thumb_func_start sub_0200C398 +sub_0200C398: ; 0x0200C398 + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0200BC40 + ldr r0, [r6, #0x24] + bl sub_02009C30 + ldr r0, [r6, #0x28] + bl sub_02009E28 + ldr r0, [r6, #0x54] + mov r4, #0x0 + cmp r0, #0x0 + ble _0200C3D0 + add r5, r6, #0x0 +_0200C3BA: + ldr r0, [r5, #0x24] + bl sub_02009448 + ldr r0, [r5, #0xc] + bl sub_02008E2C + ldr r0, [r6, #0x54] + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r0 + blt _0200C3BA +_0200C3D0: + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_0200BCD0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200C3DC +sub_0200C3DC: ; 0x0200C3DC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + cmp r0, #0x0 + beq _0200C3EE + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x0] + bl sub_02009CDC +_0200C3EE: + ldr r0, [r4, #0x0] + bl sub_0201FFC8 + ldr r0, [r4, #0x8] + bl sub_02008C80 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200C404 +sub_0200C404: ; 0x0200C404 + push {r4-r7, lr} + sub sp, #0x14 + add r6, r1, #0x0 + add r7, r0, #0x0 + ldr r0, [sp, #0x2c] + add r5, r6, #0x0 + lsl r4, r0, #0x2 + add r5, #0xc + ldr r0, [r5, r4] + ldr r1, [sp, #0x30] + str r2, [sp, #0xc] + str r3, [sp, #0x10] + bl sub_0200945C + cmp r0, #0x0 + bne _0200C42A + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0200C42A: + ldr r0, [sp, #0x30] + ldr r1, [sp, #0xc] + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x10] + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + ldr r3, [sp, #0x28] + str r0, [sp, #0x8] + ldr r0, [r5, r4] + bl sub_020090AC + add r5, r0, #0x0 + beq _0200C460 + add r0, r6, r4 + ldr r0, [r0, #0x24] + add r1, r5, #0x0 + bl sub_0200C474 + add r4, r0, #0x0 + cmp r4, #0x1 + beq _0200C45A + bl sub_02020C2C +_0200C45A: + add sp, #0x14 + add r0, r4, #0x0 + pop {r4-r7, pc} +_0200C460: + bl sub_02020C2C + cmp r5, #0x0 + beq _0200C46E + add sp, #0x14 + mov r0, #0x1 + pop {r4-r7, pc} +_0200C46E: + mov r0, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0200C474 +sub_0200C474: ; 0x0200C474 + push {r3-r6} + ldr r6, [r0, #0x4] + mov r3, #0x0 + cmp r6, #0x0 + ble _0200C4A0 + ldr r5, [r0, #0x0] + add r4, r5, #0x0 +_0200C482: + ldr r2, [r4, #0x0] + cmp r2, #0x0 + bne _0200C498 + lsl r2, r3, #0x2 + str r1, [r5, r2] + ldr r1, [r0, #0x8] + add r1, r1, #0x1 + str r1, [r0, #0x8] + mov r0, #0x1 + pop {r3-r6} + bx lr +_0200C498: + add r3, r3, #0x1 + add r4, r4, #0x4 + cmp r3, r6 + blt _0200C482 +_0200C4A0: + mov r0, #0x0 + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_0200C4A8 +sub_0200C4A8: ; 0x0200C4A8 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + add r7, r2, #0x0 + mov r6, #0x0 + cmp r0, #0x0 + ble _0200C4F0 + add r4, r6, #0x0 +_0200C4BA: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _0200C4E6 + bl sub_02009530 + cmp r0, r7 + bne _0200C4E6 + ldr r1, [r5, #0x0] + lsl r4, r6, #0x2 + ldr r0, [sp, #0x0] + ldr r1, [r1, r4] + bl sub_02009490 + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r1, [r0, r4] + ldr r0, [r5, #0x8] + sub r0, r0, #0x1 + str r0, [r5, #0x8] + mov r0, #0x1 + pop {r3-r7, pc} +_0200C4E6: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _0200C4BA +_0200C4F0: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0200C4F4 +sub_0200C4F4: ; 0x0200C4F4 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + add r7, r2, #0x0 + mov r6, #0x0 + cmp r0, #0x0 + ble _0200C542 + add r4, r6, #0x0 +_0200C506: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _0200C538 + bl sub_02009530 + cmp r0, r7 + bne _0200C538 + add r0, r7, #0x0 + bl sub_0201D324 + ldr r1, [r5, #0x0] + lsl r4, r6, #0x2 + ldr r0, [sp, #0x0] + ldr r1, [r1, r4] + bl sub_02009490 + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r1, [r0, r4] + ldr r0, [r5, #0x8] + sub r0, r0, #0x1 + str r0, [r5, #0x8] + mov r0, #0x1 + pop {r3-r7, pc} +_0200C538: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _0200C506 +_0200C542: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200C548 +sub_0200C548: ; 0x0200C548 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + add r7, r2, #0x0 + mov r6, #0x0 + cmp r0, #0x0 + ble _0200C596 + add r4, r6, #0x0 +_0200C55A: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _0200C58C + bl sub_02009530 + cmp r0, r7 + bne _0200C58C + add r0, r7, #0x0 + bl sub_0201E1C8 + ldr r1, [r5, #0x0] + lsl r4, r6, #0x2 + ldr r0, [sp, #0x0] + ldr r1, [r1, r4] + bl sub_02009490 + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r1, [r0, r4] + ldr r0, [r5, #0x8] + sub r0, r0, #0x1 + str r0, [r5, #0x8] + mov r0, #0x1 + pop {r3-r7, pc} +_0200C58C: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _0200C55A +_0200C596: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0200C59C: + .byte 0x01, 0x4B, 0x01, 0x21 + .byte 0x09, 0x03, 0x18, 0x47, 0xE5, 0x01, 0x02, 0x02 + + thumb_func_start sub_0200C5A8 +sub_0200C5A8: ; 0x0200C5A8 + ldr r3, _0200C5B0 ; =0x0200C59D + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5B0: .word 0x0200C59D + + thumb_func_start sub_0200C5B4 +sub_0200C5B4: ; 0x0200C5B4 + ldr r3, _0200C5BC ; =sub_020201E4 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5BC: .word sub_020201E4 + 1 + + thumb_func_start sub_0200C5C0 +sub_0200C5C0: ; 0x0200C5C0 + ldr r3, _0200C5C8 ; =sub_02020130 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5C8: .word sub_02020130 + 1 + + thumb_func_start sub_0200C5CC +sub_0200C5CC: ; 0x0200C5CC + ldr r3, _0200C5D4 ; =sub_020201DC + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5D4: .word sub_020201DC + 1 + + thumb_func_start sub_0200C5D8 +sub_0200C5D8: ; 0x0200C5D8 + ldr r3, _0200C5DC ; =sub_020200BC + bx r3 + .balign 4 +_0200C5DC: .word sub_020200BC + 1 + + thumb_func_start sub_0200C5E0 +sub_0200C5E0: ; 0x0200C5E0 + ldr r3, _0200C5E8 ; =sub_0200C5D8 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5E8: .word sub_0200C5D8 + 1 + + thumb_func_start sub_0200C5EC +sub_0200C5EC: ; 0x0200C5EC + ldr r3, _0200C5F0 ; =sub_020200D8 + bx r3 + .balign 4 +_0200C5F0: .word sub_020200D8 + 1 + + thumb_func_start sub_0200C5F4 +sub_0200C5F4: ; 0x0200C5F4 + ldr r3, _0200C5FC ; =sub_0200C5EC + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C5FC: .word sub_0200C5EC + 1 + + thumb_func_start sub_0200C600 +sub_0200C600: ; 0x0200C600 + ldr r3, _0200C604 ; =sub_02020388 + bx r3 + .balign 4 +_0200C604: .word sub_02020388 + 1 + + thumb_func_start sub_0200C608 +sub_0200C608: ; 0x0200C608 + ldr r3, _0200C610 ; =sub_0200C600 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C610: .word sub_0200C600 + 1 +_0200C614: + .byte 0x00, 0x4B, 0x18, 0x47, 0x09, 0x02, 0x02, 0x02 + + thumb_func_start sub_0200C61C +sub_0200C61C: ; 0x0200C61C + ldr r3, _0200C624 ; =0x0200C615 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C624: .word 0x0200C615 + + thumb_func_start sub_0200C628 +sub_0200C628: ; 0x0200C628 + ldr r3, _0200C62C ; =sub_0202022C + bx r3 + .balign 4 +_0200C62C: .word sub_0202022C + 1 + + thumb_func_start sub_0200C630 +sub_0200C630: ; 0x0200C630 + ldr r3, _0200C638 ; =sub_0200C628 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C638: .word sub_0200C628 + 1 + + thumb_func_start sub_0200C63C +sub_0200C63C: ; 0x0200C63C + ldr r3, _0200C640 ; =sub_020200A0 + bx r3 + .balign 4 +_0200C640: .word sub_020200A0 + 1 + + thumb_func_start sub_0200C644 +sub_0200C644: ; 0x0200C644 + ldr r3, _0200C64C ; =sub_0200C63C + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C64C: .word sub_0200C63C + 1 + + thumb_func_start sub_0200C650 +sub_0200C650: ; 0x0200C650 + ldr r3, _0200C654 ; =sub_02020128 + bx r3 + .balign 4 +_0200C654: .word sub_02020128 + 1 + + thumb_func_start sub_0200C658 +sub_0200C658: ; 0x0200C658 + ldr r3, _0200C660 ; =sub_0200C650 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C660: .word sub_0200C650 + 1 + + thumb_func_start sub_0200C664 +sub_0200C664: ; 0x0200C664 + ldr r3, _0200C668 ; =sub_02020248 + bx r3 + .balign 4 +_0200C668: .word sub_02020248 + 1 + + thumb_func_start sub_0200C66C +sub_0200C66C: ; 0x0200C66C + ldr r3, _0200C674 ; =sub_0200C664 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C674: .word sub_0200C664 + 1 + + thumb_func_start sub_0200C678 +sub_0200C678: ; 0x0200C678 + ldr r3, _0200C67C ; =sub_020202A8 + bx r3 + .balign 4 +_0200C67C: .word sub_020202A8 + 1 + + thumb_func_start sub_0200C680 +sub_0200C680: ; 0x0200C680 + ldr r3, _0200C688 ; =sub_0200C678 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C688: .word sub_0200C678 + 1 + + thumb_func_start sub_0200C68C +sub_0200C68C: ; 0x0200C68C + ldr r3, _0200C694 ; =sub_02020300 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C694: .word sub_02020300 + 1 + + thumb_func_start sub_0200C698 +sub_0200C698: ; 0x0200C698 + ldr r3, _0200C6A0 ; =sub_02020238 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bx r3 + .balign 4 +_0200C6A0: .word sub_02020238 + 1 + + thumb_func_start sub_0200C6A4 +sub_0200C6A4: ; 0x0200C6A4 + ldr r3, _0200C6AC ; =0x02020241 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C6AC: .word 0x02020241 + + thumb_func_start sub_0200C6B0 +sub_0200C6B0: ; 0x0200C6B0 + ldr r3, _0200C6B8 ; =sub_0200C698 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C6B8: .word sub_0200C698 + 1 + + thumb_func_start sub_0200C6BC +sub_0200C6BC: ; 0x0200C6BC + ldr r3, _0200C6C0 ; =sub_02020310 + bx r3 + .balign 4 +_0200C6C0: .word sub_02020310 + 1 + + thumb_func_start sub_0200C6C4 +sub_0200C6C4: ; 0x0200C6C4 + ldr r3, _0200C6CC ; =sub_0200C6BC + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C6CC: .word sub_0200C6BC + 1 + + thumb_func_start sub_0200C6D0 +sub_0200C6D0: ; 0x0200C6D0 + ldr r3, _0200C6D4 ; =sub_0202032C + bx r3 + .balign 4 +_0200C6D4: .word sub_0202032C + 1 + + thumb_func_start sub_0200C6D8 +sub_0200C6D8: ; 0x0200C6D8 + ldr r3, _0200C6E0 ; =sub_0200C6D0 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C6E0: .word sub_0200C6D0 + 1 + + thumb_func_start sub_0200C6E4 +sub_0200C6E4: ; 0x0200C6E4 + push {r3-r4, lr} + sub sp, #0xc + lsl r1, r1, #0xc + str r1, [sp, #0x0] + lsl r1, r2, #0xc + add r4, r0, #0x0 + str r1, [sp, #0x4] + bl sub_02020380 + cmp r0, #0x2 + bne _0200C704 + mov r0, #0x3 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x12 + add r0, r1, r0 + str r0, [sp, #0x4] +_0200C704: + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02020044 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0200C714 +sub_0200C714: ; 0x0200C714 + ldr r3, _0200C71C ; =sub_0200C6E4 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C71C: .word sub_0200C6E4 + 1 + + thumb_func_start sub_0200C720 +sub_0200C720: ; 0x0200C720 + push {r4-r5, lr} + sub sp, #0xc + lsl r1, r1, #0xc + str r1, [sp, #0x0] + lsl r1, r2, #0xc + add r5, r0, #0x0 + add r4, r3, #0x0 + str r1, [sp, #0x4] + bl sub_02020380 + cmp r0, #0x2 + bne _0200C73E + ldr r0, [sp, #0x4] + add r0, r0, r4 + str r0, [sp, #0x4] +_0200C73E: + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02020044 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0200C750 +sub_0200C750: ; 0x0200C750 + push {r3, lr} + ldr r0, [r0, #0x0] + bl sub_0200C720 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200C75C +sub_0200C75C: ; 0x0200C75C + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + add r5, r2, #0x0 + bl sub_0202011C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r6, #0x0] + add r0, r7, #0x0 + bl sub_02020380 + cmp r0, #0x2 + ldr r1, [r4, #0x4] + bne _0200C794 + mov r0, #0x3 + lsl r0, r0, #0x12 + sub r1, r1, r0 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r5, #0x0] + pop {r3-r7, pc} +_0200C794: + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r5, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_0200C7A0 +sub_0200C7A0: ; 0x0200C7A0 + ldr r3, _0200C7A8 ; =sub_0200C75C + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C7A8: .word sub_0200C75C + 1 + + thumb_func_start sub_0200C7AC +sub_0200C7AC: ; 0x0200C7AC + push {r3-r7, lr} + str r0, [sp, #0x0] + add r6, r1, #0x0 + add r5, r2, #0x0 + add r7, r3, #0x0 + bl sub_0202011C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r6, #0x0] + ldr r0, [sp, #0x0] + bl sub_02020380 + cmp r0, #0x2 + bne _0200C7E2 + ldr r0, [r4, #0x4] + sub r1, r0, r7 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r5, #0x0] + pop {r3-r7, pc} +_0200C7E2: + ldr r1, [r4, #0x4] + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + strh r0, [r5, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_0200C7F0 +sub_0200C7F0: ; 0x0200C7F0 + push {r3, lr} + ldr r0, [r0, #0x0] + bl sub_0200C7AC + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200C7FC +sub_0200C7FC: ; 0x0200C7FC + push {r3-r6, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_0202011C + ldr r2, [r0, #0x0] + lsl r1, r5, #0xc + add r1, r2, r1 + str r1, [sp, #0x0] + ldr r2, [r0, #0x4] + lsl r1, r4, #0xc + add r1, r2, r1 + str r1, [sp, #0x4] + ldr r0, [r0, #0x8] + add r1, sp, #0x0 + str r0, [sp, #0x8] + add r0, r6, #0x0 + bl sub_02020044 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0200C82C +sub_0200C82C: ; 0x0200C82C + ldr r3, _0200C834 ; =sub_0200C7FC + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C834: .word sub_0200C7FC + 1 +_0200C838: + .byte 0x00, 0x4B, 0x18, 0x47, 0xED, 0x00, 0x02, 0x02 + + thumb_func_start sub_0200C840 +sub_0200C840: ; 0x0200C840 + ldr r3, _0200C848 ; =0x0200C839 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C848: .word 0x0200C839 + + thumb_func_start sub_0200C84C +sub_0200C84C: ; 0x0200C84C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02020120 + add r4, r0, #0x0 + ldr r0, _0200C880 ; =0x45800000 + add r1, r6, #0x0 + blx sub_020EB5C4 + blx sub_020EB4C0 + str r0, [r4, #0x0] + ldr r0, _0200C880 ; =0x45800000 + add r1, r7, #0x0 + blx sub_020EB5C4 + blx sub_020EB4C0 + str r0, [r4, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02020064 + pop {r3-r7, pc} + .balign 4 +_0200C880: .word 0x45800000 + + thumb_func_start sub_0200C884 +sub_0200C884: ; 0x0200C884 + ldr r3, _0200C88C ; =sub_0200C84C + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C88C: .word sub_0200C84C + 1 + + thumb_func_start sub_0200C890 +sub_0200C890: ; 0x0200C890 + ldr r3, _0200C894 ; =sub_02020088 + bx r3 + .balign 4 +_0200C894: .word sub_02020088 + 1 + + thumb_func_start sub_0200C898 +sub_0200C898: ; 0x0200C898 + ldr r3, _0200C8A0 ; =sub_0200C890 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C8A0: .word sub_0200C890 + 1 + + thumb_func_start sub_0200C8A4 +sub_0200C8A4: ; 0x0200C8A4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + bl sub_02020124 + add r0, r0, r5 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r0, r4, #0x0 + bl sub_02020088 + pop {r3-r5, pc} + + thumb_func_start sub_0200C8BC +sub_0200C8BC: ; 0x0200C8BC + ldr r3, _0200C8C4 ; =sub_0200C8A4 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C8C4: .word sub_0200C8A4 + 1 + + thumb_func_start sub_0200C8C8 +sub_0200C8C8: ; 0x0200C8C8 + ldr r3, _0200C8CC ; =sub_02020100 + bx r3 + .balign 4 +_0200C8CC: .word sub_02020100 + 1 + + thumb_func_start sub_0200C8D0 +sub_0200C8D0: ; 0x0200C8D0 + ldr r3, _0200C8D8 ; =sub_0200C8C8 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C8D8: .word sub_0200C8C8 + 1 + + thumb_func_start sub_0200C8DC +sub_0200C8DC: ; 0x0200C8DC + push {lr} + sub sp, #0xc + lsl r1, r1, #0xc + str r1, [sp, #0x0] + lsl r1, r2, #0xc + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + ldr r0, [r0, #0x0] + add r1, sp, #0x0 + bl sub_02020054 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0200C8F8 +sub_0200C8F8: ; 0x0200C8F8 + ldr r3, _0200C900 ; =0x02020359 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C900: .word 0x02020359 + + thumb_func_start sub_0200C904 +sub_0200C904: ; 0x0200C904 + ldr r3, _0200C908 ; =sub_02020398 + bx r3 + .balign 4 +_0200C908: .word sub_02020398 + 1 + + thumb_func_start sub_0200C90C +sub_0200C90C: ; 0x0200C90C + ldr r3, _0200C914 ; =sub_0200C904 + ldr r0, [r0, #0x0] + bx r3 + nop +_0200C914: .word sub_0200C904 + 1 + + thumb_func_start sub_0200C918 +sub_0200C918: ; 0x0200C918 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r1, [sp, #0x28] + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0200945C + cmp r0, #0x0 + bne _0200C936 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0200C936: + ldr r0, [sp, #0x28] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r2, r7, #0x0 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl sub_02008F34 + add r5, r0, #0x0 + beq _0200C964 + bl sub_02009AC4 + ldr r0, [r4, #0x24] + add r1, r5, #0x0 + bl sub_0200C474 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C964: + bl sub_02020C2C + cmp r5, #0x0 + beq _0200C972 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C972: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200C978 +sub_0200C978: ; 0x0200C978 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r1, [sp, #0x28] + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0200945C + cmp r0, #0x0 + bne _0200C996 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0200C996: + ldr r0, [sp, #0x28] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r2, r7, #0x0 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl sub_02008F34 + add r5, r0, #0x0 + beq _0200C9C4 + bl sub_02009B78 + ldr r0, [r4, #0x24] + add r1, r5, #0x0 + bl sub_0200C474 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C9C4: + bl sub_02020C2C + cmp r5, #0x0 + beq _0200C9D2 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0200C9D2: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200C9D8 +sub_0200C9D8: ; 0x0200C9D8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r1, [sp, #0x24] + add r7, r2, #0x0 + str r3, [sp, #0x8] + bl sub_020094F0 + add r6, r0, #0x0 + ldr r0, [sp, #0x20] + ldr r3, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + add r2, r7, #0x0 + bl sub_020090FC + add r0, r6, #0x0 + bl sub_02009BE8 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200CA0C +sub_0200CA0C: ; 0x0200CA0C + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x10] + ldr r1, [sp, #0x24] + add r7, r2, #0x0 + str r3, [sp, #0x8] + bl sub_020094F0 + add r6, r0, #0x0 + ldr r0, [sp, #0x20] + ldr r3, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r4, #0x10] + add r2, r7, #0x0 + bl sub_02009168 + add r0, r6, #0x0 + bl sub_02009DE0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200CA40 +sub_0200CA40: ; 0x0200CA40 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0200CA44 +sub_0200CA44: ; 0x0200CA44 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0200CA5C ; =0x021C48B8 + add r4, r1, #0x0 + add r3, r2, #0x0 + ldr r0, [r0, #0x18] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201B60C + pop {r3-r5, pc} + nop +_0200CA5C: .word 0x021C48B8 + + thumb_func_start sub_0200CA60 +sub_0200CA60: ; 0x0200CA60 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0200CA78 ; =0x021C48B8 + add r4, r1, #0x0 + add r3, r2, #0x0 + ldr r0, [r0, #0x1c] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201B60C + pop {r3-r5, pc} + nop +_0200CA78: .word 0x021C48B8 + + thumb_func_start sub_0200CA7C +sub_0200CA7C: ; 0x0200CA7C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0200CA94 ; =0x021C48B8 + add r4, r1, #0x0 + add r3, r2, #0x0 + ldr r0, [r0, #0x24] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201B60C + pop {r3-r5, pc} + nop +_0200CA94: .word 0x021C48B8 + + thumb_func_start sub_0200CA98 +sub_0200CA98: ; 0x0200CA98 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0200CAB0 ; =0x021C48B8 + add r4, r1, #0x0 + add r3, r2, #0x0 + ldr r0, [r0, #0x20] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201B60C + pop {r3-r5, pc} + nop +_0200CAB0: .word 0x021C48B8 + + thumb_func_start sub_0200CAB4 +sub_0200CAB4: ; 0x0200CAB4 + ldr r3, _0200CAB8 ; =sub_0201B6A0 + bx r3 + .balign 4 +_0200CAB8: .word sub_0201B6A0 + 1 + + thumb_func_start sub_0200CABC +sub_0200CABC: ; 0x0200CABC + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r3, #0x0 + str r2, [sp, #0x0] + bne _0200CAE2 + mov r1, #0x0 + str r1, [sp, #0x4] + ldr r0, [sp, #0x20] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + mov r0, #0x26 + add r2, r5, #0x0 + add r3, r4, #0x0 + bl sub_0200687C + add sp, #0x10 + pop {r3-r5, pc} +_0200CAE2: + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [sp, #0x20] + mov r1, #0x1 + str r0, [sp, #0xc] + mov r0, #0x26 + add r2, r5, #0x0 + add r3, r4, #0x0 + bl sub_0200687C + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_0200CAFC +sub_0200CAFC: ; 0x0200CAFC + mov r0, #0x18 + bx lr + + thumb_func_start sub_0200CB00 +sub_0200CB00: ; 0x0200CB00 + push {r4-r6, lr} + sub sp, #0x10 + add r6, r0, #0x0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + add r5, r1, #0x0 + add r4, r3, #0x0 + cmp r0, #0x0 + beq _0200CB16 + mov r1, #0x1 + b _0200CB18 +_0200CB16: + mov r1, #0x0 +_0200CB18: + str r2, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [sp, #0x24] + add r2, r6, #0x0 + str r0, [sp, #0xc] + mov r0, #0x26 + add r3, r5, #0x0 + bl sub_0200687C + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + cmp r0, #0x2 + bne _0200CB3A + mov r1, #0x2d + b _0200CB3C +_0200CB3A: + mov r1, #0x18 +_0200CB3C: + cmp r5, #0x4 + bhs _0200CB56 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + mov r2, #0x0 + str r0, [sp, #0x4] + mov r0, #0x26 + lsl r3, r4, #0x5 + bl sub_02006930 + add sp, #0x10 + pop {r4-r6, pc} +_0200CB56: + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + mov r2, #0x4 + str r0, [sp, #0x4] + mov r0, #0x26 + lsl r3, r4, #0x5 + bl sub_02006930 + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_0200CB6C +sub_0200CB6C: ; 0x0200CB6C + push {r4-r7, lr} + sub sp, #0x24 + str r1, [sp, #0x14] + str r2, [sp, #0x18] + str r3, [sp, #0x1c] + ldr r2, [sp, #0x1c] + ldr r5, [sp, #0x40] + sub r7, r2, #0x1 + ldr r2, [sp, #0x18] + str r0, [sp, #0x10] + sub r6, r2, #0x1 + lsl r2, r7, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + str r2, [sp, #0x8] + lsl r3, r6, #0x18 + str r5, [sp, #0xc] + add r2, sp, #0x28 + ldrh r2, [r2, #0x1c] + lsr r3, r3, #0x18 + bl sub_02018540 + add r1, sp, #0x28 + ldrh r4, [r1, #0x1c] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldrb r0, [r1, #0x10] + add r2, r4, #0x1 + lsl r2, r2, #0x10 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + ldr r3, [sp, #0x18] + lsr r2, r2, #0x10 + bl sub_02018540 + add r0, sp, #0x28 + ldrb r1, [r0, #0x10] + ldr r0, [sp, #0x18] + add r2, r4, #0x2 + add r0, r0, r1 + str r0, [sp, #0x20] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x20] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x3 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, sp, #0x28 + ldrb r0, [r0, #0x14] + lsl r2, r2, #0x10 + lsl r3, r6, #0x18 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, sp, #0x28 + ldrb r0, [r0, #0x14] + add r2, r4, #0x5 + lsl r2, r2, #0x10 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add r0, sp, #0x28 + ldrb r1, [r0, #0x14] + ldr r0, [sp, #0x1c] + add r2, r4, #0x6 + add r7, r0, r1 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r6, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r0, sp, #0x28 + ldrb r0, [r0, #0x10] + add r2, r4, #0x7 + lsl r2, r2, #0x10 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + ldr r3, [sp, #0x18] + lsr r2, r2, #0x10 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x20] + str r5, [sp, #0xc] + add r4, #0x8 + lsl r2, r4, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200CCA4 +sub_0200CCA4: ; 0x0200CCA4 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0201AB08 + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0201AB14 + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_0201AB18 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_0201AB0C + str r0, [sp, #0x1c] + add r0, r5, #0x0 + bl sub_0201AB10 + ldr r1, [sp, #0x1c] + ldr r2, [sp, #0x14] + str r1, [sp, #0x0] + str r0, [sp, #0x4] + str r7, [sp, #0x8] + str r6, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x10] + ldr r3, [sp, #0x18] + bl sub_0200CB6C + cmp r4, #0x0 + bne _0200CCF4 + add r0, r5, #0x0 + bl sub_020191D0 +_0200CCF4: + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_0200CCF8 +sub_0200CCF8: ; 0x0200CCF8 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201AB08 + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0201AB14 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB18 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB0C + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_0201AB10 + sub r1, r7, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + ldr r1, [sp, #0x14] + add r0, r0, #0x2 + add r1, r1, #0x2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r0, #0x18 + str r1, [sp, #0x4] + lsr r0, r0, #0x18 + sub r3, r6, #0x1 + lsl r3, r3, #0x18 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x10] + lsr r3, r3, #0x18 + bl sub_02018540 + cmp r4, #0x0 + bne _0200CD5A + add r0, r5, #0x0 + bl sub_02019570 +_0200CD5A: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200CD60 +sub_0200CD60: ; 0x0200CD60 + add r0, r0, #0x2 + bx lr + + thumb_func_start sub_0200CD64 +sub_0200CD64: ; 0x0200CD64 + add r0, #0x19 + bx lr + + thumb_func_start sub_0200CD68 +sub_0200CD68: ; 0x0200CD68 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x10] + add r0, sp, #0x18 + ldrb r7, [r0, #0x10] + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r7, #0x0 + add r4, r3, #0x0 + bl sub_0200CD60 + add r1, r0, #0x0 + str r6, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x10] + str r0, [sp, #0xc] + mov r0, #0x26 + add r3, r5, #0x0 + bl sub_0200687C + cmp r5, #0x4 + bhs _0200CDB8 + add r0, r7, #0x0 + bl sub_0200CD64 + add r1, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + mov r2, #0x0 + str r0, [sp, #0x4] + mov r0, #0x26 + lsl r3, r4, #0x5 + bl sub_02006930 + add sp, #0x14 + pop {r4-r7, pc} +_0200CDB8: + add r0, r7, #0x0 + bl sub_0200CD64 + add r1, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + mov r2, #0x4 + str r0, [sp, #0x4] + mov r0, #0x26 + lsl r3, r4, #0x5 + bl sub_02006930 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200CDD8 +sub_0200CDD8: ; 0x0200CDD8 + push {r3-r7, lr} + sub sp, #0x30 + str r1, [sp, #0x10] + str r2, [sp, #0x14] + str r3, [sp, #0x18] + ldr r2, [sp, #0x4c] + add r7, r0, #0x0 + str r2, [sp, #0x4c] + ldr r2, [sp, #0x18] + ldr r5, [sp, #0x50] + sub r6, r2, #0x1 + ldr r2, [sp, #0x14] + sub r2, r2, #0x2 + str r2, [sp, #0x28] + lsl r2, r6, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + str r2, [sp, #0x8] + ldr r3, [sp, #0x28] + str r5, [sp, #0xc] + add r2, sp, #0x38 + lsl r3, r3, #0x18 + ldrh r2, [r2, #0x1c] + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x14] + sub r0, r0, #0x1 + str r0, [sp, #0x24] + add r0, sp, #0x38 + ldrh r4, [r0, #0x1c] + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x24] + str r5, [sp, #0xc] + add r2, r4, #0x1 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r0, sp, #0x38 + ldrb r0, [r0, #0x10] + add r2, r4, #0x2 + lsl r2, r2, #0x10 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + ldr r1, [sp, #0x10] + ldr r3, [sp, #0x14] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + bl sub_02018540 + add r0, sp, #0x38 + ldrb r1, [r0, #0x10] + ldr r0, [sp, #0x14] + add r2, r4, #0x3 + add r0, r0, r1 + str r0, [sp, #0x2c] + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x2c] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x2c] + add r2, r4, #0x4 + add r0, r0, #0x1 + str r0, [sp, #0x20] + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x20] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x2c] + add r2, r4, #0x5 + add r0, r0, #0x2 + str r0, [sp, #0x1c] + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x1c] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x28] + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x4c] + add r2, r4, #0x6 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x24] + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x4c] + add r2, r4, #0x7 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x18] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x4c] + ldr r3, [sp, #0x2c] + str r0, [sp, #0x8] + str r5, [sp, #0xc] + add r2, #0x9 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x18] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x4c] + ldr r3, [sp, #0x20] + str r0, [sp, #0x8] + str r5, [sp, #0xc] + add r2, #0xa + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x18] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x4c] + ldr r3, [sp, #0x1c] + str r0, [sp, #0x8] + str r5, [sp, #0xc] + add r2, #0xb + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add r2, r4, #0x0 + ldr r3, [sp, #0x28] + add r2, #0xc + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x4c] + lsr r2, r2, #0x10 + add r6, r1, r0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r5, [sp, #0xc] + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x24] + str r5, [sp, #0xc] + add r2, #0xd + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r0, sp, #0x38 + ldrb r0, [r0, #0x10] + add r2, r4, #0x0 + add r2, #0xe + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + ldr r1, [sp, #0x10] + ldr r3, [sp, #0x14] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x2c] + str r5, [sp, #0xc] + add r2, #0xf + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x20] + str r5, [sp, #0xc] + add r2, #0x10 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x1c] + str r5, [sp, #0xc] + add r4, #0x11 + lsl r2, r4, #0x10 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x10] + add r0, r7, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200D06C +sub_0200D06C: ; 0x0200D06C + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0201AB08 + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0201AB14 + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_0201AB18 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_0201AB0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB10 + str r7, [sp, #0x0] + str r0, [sp, #0x4] + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x10] + ldr r2, [sp, #0x14] + ldr r3, [sp, #0x18] + bl sub_0200CDD8 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200D0BC +sub_0200D0BC: ; 0x0200D0BC + push {r4-r6, lr} + add r6, r2, #0x0 + add r4, r1, #0x0 + add r1, r6, #0x0 + add r2, r3, #0x0 + add r5, r0, #0x0 + bl sub_0200D06C + cmp r4, #0x0 + bne _0200D0D6 + add r0, r5, #0x0 + bl sub_020191D0 +_0200D0D6: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0200D18C + pop {r4-r6, pc} + + thumb_func_start sub_0200D0E0 +sub_0200D0E0: ; 0x0200D0E0 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201AB08 + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0201AB14 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB18 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB0C + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_0201AB10 + sub r1, r7, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + ldr r1, [sp, #0x14] + add r0, r0, #0x2 + add r1, r1, #0x5 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r0, #0x18 + str r1, [sp, #0x4] + lsr r0, r0, #0x18 + sub r3, r6, #0x2 + lsl r3, r3, #0x18 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x10] + lsr r3, r3, #0x18 + bl sub_02018540 + cmp r4, #0x0 + bne _0200D142 + add r0, r5, #0x0 + bl sub_02019570 +_0200D142: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200D148 +sub_0200D148: ; 0x0200D148 + push {r4-r5, lr} + sub sp, #0x24 + add r5, r1, #0x0 + str r0, [sp, #0x1c] + add r1, sp, #0x14 + strh r3, [r1, #0xc] + add r4, r2, #0x0 + add r0, sp, #0x20 + ldrh r2, [r0, #0x10] + add r3, r4, #0x0 + strh r2, [r1, #0xe] + ldr r2, [sp, #0x34] + str r2, [sp, #0x14] + ldrh r2, [r0, #0x18] + strh r2, [r1, #0x4] + ldrh r2, [r0, #0x1c] + strh r2, [r1, #0x6] + ldrh r1, [r0, #0x20] + add r2, r5, #0x0 + str r1, [sp, #0x0] + ldrh r1, [r0, #0x24] + str r1, [sp, #0x4] + ldrh r1, [r0, #0x28] + str r1, [sp, #0x8] + ldrh r0, [r0, #0x2c] + add r1, sp, #0x14 + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + add r0, sp, #0x1c + bl sub_02018A60 + add sp, #0x24 + pop {r4-r5, pc} + + thumb_func_start sub_0200D18C +sub_0200D18C: ; 0x0200D18C + push {r3-r7, lr} + sub sp, #0x40 + str r1, [sp, #0x24] + str r0, [sp, #0x20] + ldr r0, [r0, #0x0] + bl sub_02016BB8 + add r6, r0, #0x0 + ldr r0, [sp, #0x20] + bl sub_0201AB08 + mov r1, #0x6 + str r0, [sp, #0x28] + add r0, r6, #0x0 + lsl r1, r1, #0x6 + bl sub_02016998 + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + bl sub_020187B0 + add r4, r0, #0x0 + str r6, [sp, #0x0] + mov r0, #0x26 + mov r1, #0x16 + mov r2, #0x0 + add r3, sp, #0x3c + bl sub_02006BB0 + str r0, [sp, #0x2c] + ldr r0, [sp, #0x3c] + mov r7, #0x0 + ldr r0, [r0, #0x14] + str r0, [sp, #0x30] + ldr r0, [sp, #0x24] + add r0, #0xa + lsl r0, r0, #0x5 + str r0, [sp, #0x34] + ldr r0, [sp, #0x24] + add r0, #0xb + lsl r0, r0, #0x5 + str r0, [sp, #0x38] +_0200D1E0: + ldr r1, [sp, #0x34] + lsl r6, r7, #0x7 + add r0, r5, r6 + add r1, r4, r1 + mov r2, #0x20 + blx sub_020DF438 + add r0, r6, #0x0 + ldr r1, [sp, #0x38] + add r0, #0x20 + add r0, r5, r0 + add r1, r4, r1 + mov r2, #0x20 + blx sub_020DF438 + add r0, r6, #0x0 + ldr r1, [sp, #0x34] + add r0, #0x40 + add r0, r5, r0 + add r1, r4, r1 + mov r2, #0x20 + blx sub_020DF438 + ldr r1, [sp, #0x38] + add r6, #0x60 + add r0, r5, r6 + add r1, r4, r1 + mov r2, #0x20 + blx sub_020DF438 + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x3 + blo _0200D1E0 + mov r1, #0x30 + str r1, [sp, #0x0] + str r5, [sp, #0x4] + mov r3, #0xc + str r3, [sp, #0x8] + str r1, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + mov r2, #0x0 + str r2, [sp, #0x14] + str r3, [sp, #0x18] + str r1, [sp, #0x1c] + ldr r0, [sp, #0x30] + mov r1, #0x4 + bl sub_0200D148 + ldr r0, [sp, #0x24] + mov r3, #0x6 + add r0, #0x12 + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x28] + ldr r0, [r0, #0x0] + add r2, r5, #0x0 + lsl r3, r3, #0x6 + bl sub_02017E14 + ldr r0, [sp, #0x24] + bl sub_02002840 + ldr r0, [sp, #0x2c] + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_02016A18 + add sp, #0x40 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200D274 +sub_0200D274: ; 0x0200D274 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + add r0, sp, #0x18 + ldrb r0, [r0, #0x10] + add r7, r2, #0x0 + add r5, r3, #0x0 + bl sub_0200CD60 + add r1, r0, #0x0 + ldr r0, [sp, #0x2c] + mov r2, #0x0 + str r0, [sp, #0x0] + mov r0, #0x26 + add r3, sp, #0x10 + bl sub_02006BB0 + str r0, [sp, #0xc] + mov r1, #0x9 + ldr r0, [sp, #0x2c] + lsl r1, r1, #0x6 + bl sub_02016998 + ldr r1, [sp, #0x10] + mov r2, #0x9 + ldr r1, [r1, #0x14] + lsl r2, r2, #0x6 + add r4, r0, #0x0 + blx sub_020DF438 + mov r0, #0x9 + mov r3, #0x0 + lsl r0, r0, #0x6 + mov r1, #0xf +_0200D2BA: + ldrb r2, [r4, r3] + lsl r6, r2, #0x14 + and r2, r1 + lsl r2, r2, #0x18 + lsr r6, r6, #0x18 + lsr r2, r2, #0x18 + cmp r6, #0x0 + bne _0200D2CC + add r6, r5, #0x0 +_0200D2CC: + cmp r2, #0x0 + bne _0200D2D2 + add r2, r5, #0x0 +_0200D2D2: + lsl r6, r6, #0x4 + orr r2, r6 + strb r2, [r4, r3] + add r3, r3, #0x1 + cmp r3, r0 + blo _0200D2BA + str r7, [sp, #0x0] + mov r3, #0x9 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x8] + add r2, r4, #0x0 + lsl r3, r3, #0x6 + bl sub_02017E14 + ldr r0, [sp, #0xc] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0200D300 +sub_0200D300: ; 0x0200D300 + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x10] + add r5, r2, #0x0 + mov r0, #0xf + add r6, r1, #0x0 + add r7, r3, #0x0 + str r5, [sp, #0x0] + lsl r0, r0, #0x6 + str r0, [sp, #0x4] + mov r1, #0x0 + ldr r4, [sp, #0x38] + str r1, [sp, #0x8] + ldr r2, [sp, #0x10] + mov r0, #0x24 + add r3, r6, #0x0 + str r4, [sp, #0xc] + bl sub_0200687C + mov r0, #0x24 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200650C + add r1, sp, #0x18 + str r0, [sp, #0x14] + blx sub_020B0138 + add r2, sp, #0x20 + ldr r1, [sp, #0x18] + ldrb r2, [r2, #0x10] + lsl r3, r7, #0x15 + ldr r1, [r1, #0xc] + lsl r2, r2, #0x5 + add r1, r1, r2 + add r0, r6, #0x0 + mov r2, #0x20 + lsr r3, r3, #0x10 + bl sub_02017FB4 + ldr r1, [sp, #0x14] + add r0, r4, #0x0 + bl sub_02016A8C + add r0, sp, #0x20 + ldrb r3, [r0, #0x10] + cmp r3, #0x1 + bhi _0200D374 + ldrh r0, [r0, #0x14] + add r5, #0x1e + lsl r2, r5, #0x10 + str r0, [sp, #0x0] + ldr r0, [sp, #0x10] + add r1, r6, #0x0 + lsr r2, r2, #0x10 + str r4, [sp, #0x4] + bl sub_0200D378 +_0200D374: + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start sub_0200D378 +sub_0200D378: ; 0x0200D378 + push {r3-r5, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r1, [sp, #0x20] + cmp r3, #0x0 + bne _0200D38C + add r1, #0x21 + lsl r0, r1, #0x10 + b _0200D390 +_0200D38C: + add r0, r1, #0x2 + lsl r0, r0, #0x10 +_0200D390: + lsr r1, r0, #0x10 + mov r0, #0x3 + str r2, [sp, #0x0] + lsl r0, r0, #0x8 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x24] + add r2, r5, #0x0 + str r0, [sp, #0xc] + mov r0, #0x24 + add r3, r4, #0x0 + bl sub_0200687C + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_0200D3B0 +sub_0200D3B0: ; 0x0200D3B0 + push {r3-r7, lr} + sub sp, #0x40 + str r1, [sp, #0x14] + str r2, [sp, #0x18] + str r3, [sp, #0x1c] + ldr r2, [sp, #0x1c] + ldr r6, [sp, #0x5c] + sub r7, r2, #0x1 + ldr r2, [sp, #0x18] + ldr r5, [sp, #0x60] + str r2, [sp, #0x34] + sub r2, #0x9 + str r2, [sp, #0x34] + lsl r2, r7, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + str r2, [sp, #0x8] + ldr r3, [sp, #0x34] + str r5, [sp, #0xc] + add r2, sp, #0x48 + lsl r3, r3, #0x18 + ldrh r2, [r2, #0x1c] + lsr r3, r3, #0x18 + str r0, [sp, #0x10] + bl sub_02018540 + ldr r0, [sp, #0x18] + str r0, [sp, #0x30] + sub r0, #0x8 + str r0, [sp, #0x30] + add r0, sp, #0x48 + ldrh r4, [r0, #0x1c] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x30] + str r5, [sp, #0xc] + add r2, r4, #0x1 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add r0, sp, #0x48 + ldrb r0, [r0, #0x10] + add r2, r4, #0x2 + lsl r2, r2, #0x10 + str r0, [sp, #0x3c] + add r0, r0, #0x7 + str r0, [sp, #0x24] + ldr r0, [sp, #0x18] + lsr r2, r2, #0x10 + sub r0, r0, #0x7 + str r0, [sp, #0x20] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + ldr r3, [sp, #0x20] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r5, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r3, r3, #0x18 + bl sub_02018540 + add r2, r4, #0x3 + lsl r2, r2, #0x10 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x3c] + lsr r2, r2, #0x10 + add r0, r1, r0 + str r0, [sp, #0x38] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x38] + str r5, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x38] + add r2, r4, #0x4 + add r0, r0, #0x1 + str r0, [sp, #0x2c] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x2c] + str r5, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x38] + add r0, r0, #0x2 + str r0, [sp, #0x28] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x28] + str r5, [sp, #0xc] + add r2, r4, #0x5 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r3, [sp, #0x34] + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + str r5, [sp, #0xc] + add r2, r4, #0x6 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r3, [sp, #0x30] + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + str r5, [sp, #0xc] + add r2, r4, #0x7 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + str r5, [sp, #0xc] + ldr r3, [sp, #0x18] + add r2, #0x8 + sub r3, r3, #0x1 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r3, [sp, #0x38] + str r5, [sp, #0xc] + add r2, #0x9 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r3, [sp, #0x2c] + str r5, [sp, #0xc] + add r2, #0xa + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r3, [sp, #0x28] + str r5, [sp, #0xc] + add r2, #0xb + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r2, r4, #0x0 + add r6, r0, r6 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x34] + str r5, [sp, #0xc] + add r2, #0xc + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x30] + str r5, [sp, #0xc] + add r2, #0xd + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r2, r4, #0x0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r3, [sp, #0x20] + str r5, [sp, #0xc] + add r2, #0xe + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x38] + str r5, [sp, #0xc] + add r2, #0xf + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + ldr r3, [sp, #0x2c] + str r5, [sp, #0xc] + add r2, #0x10 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r3, [sp, #0x28] + str r5, [sp, #0xc] + add r4, #0x11 + lsl r2, r4, #0x10 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add sp, #0x40 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200D678 +sub_0200D678: ; 0x0200D678 + push {r3-r7, lr} + sub sp, #0x28 + str r1, [sp, #0x10] + add r7, r0, #0x0 + str r2, [sp, #0x14] + bl sub_0201AB08 + str r0, [sp, #0x20] + add r0, r7, #0x0 + bl sub_0201AB14 + sub r0, r0, #0x7 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x18] + add r0, r7, #0x0 + bl sub_0201AB18 + str r0, [sp, #0x1c] + mov r0, #0x0 + str r0, [sp, #0x24] +_0200D6A2: + ldr r2, [sp, #0x24] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x24] + add r3, r2, #0x0 + add r0, r1, r0 + mov r1, #0x6 + mul r3, r1 + ldr r1, [sp, #0x10] + lsl r0, r0, #0x18 + mov r4, #0x0 + add r5, r1, r3 + lsr r6, r0, #0x18 +_0200D6BA: + str r6, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [sp, #0x14] + ldr r3, [sp, #0x18] + str r0, [sp, #0xc] + add r2, r4, r5 + add r3, r3, r4 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r7, #0x0] + ldr r1, [sp, #0x20] + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x6 + blo _0200D6BA + ldr r0, [sp, #0x24] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x24] + cmp r0, #0x4 + blo _0200D6A2 + add sp, #0x28 + pop {r3-r7, pc} + + thumb_func_start sub_0200D6F8 +sub_0200D6F8: ; 0x0200D6F8 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + str r1, [sp, #0x10] + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_0201AB08 + str r0, [sp, #0x14] + add r0, sp, #0x30 + ldrb r0, [r0, #0x10] + cmp r0, #0x1 + bhi _0200D756 + add r0, r5, #0x0 + bl sub_0201AB14 + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_0201AB18 + str r0, [sp, #0x1c] + add r0, r5, #0x0 + bl sub_0201AB0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB10 + str r7, [sp, #0x0] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + str r4, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + bl sub_0200D3B0 + add r1, r4, #0x0 + add r1, #0x1e + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + add r2, r6, #0x0 + bl sub_0200D678 + b _0200D788 +_0200D756: + add r0, r5, #0x0 + bl sub_0201AB14 + str r0, [sp, #0x20] + add r0, r5, #0x0 + bl sub_0201AB18 + str r0, [sp, #0x24] + add r0, r5, #0x0 + bl sub_0201AB0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB10 + str r7, [sp, #0x0] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + str r4, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x20] + ldr r3, [sp, #0x24] + bl sub_0200CDD8 +_0200D788: + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bne _0200D794 + add r0, r5, #0x0 + bl sub_020191D0 +_0200D794: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200D18C + add sp, #0x28 + pop {r3-r7, pc} + + thumb_func_start sub_0200D7A0 +sub_0200D7A0: ; 0x0200D7A0 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x10] + bl sub_0201AB08 + str r0, [sp, #0x14] + cmp r4, #0x1 + bhi _0200D7FE + add r0, r5, #0x0 + bl sub_0201AB14 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB18 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB0C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB10 + sub r1, r7, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r0, r0, #0x2 + lsl r0, r0, #0x18 + sub r4, #0x9 + lsl r3, r4, #0x18 + add r6, #0xb + str r1, [sp, #0x0] + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x4] + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x14] + lsr r3, r3, #0x18 + bl sub_02018540 + b _0200D846 +_0200D7FE: + add r0, r5, #0x0 + bl sub_0201AB14 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB18 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0201AB10 + sub r1, r6, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + add r1, r7, #0x4 + lsl r1, r1, #0x18 + add r0, r0, #0x2 + lsr r1, r1, #0x18 + lsl r0, r0, #0x18 + str r1, [sp, #0x4] + lsr r0, r0, #0x18 + sub r3, r4, #0x2 + lsl r3, r3, #0x18 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x14] + lsr r3, r3, #0x18 + bl sub_02018540 +_0200D846: + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bne _0200D852 + add r0, r5, #0x0 + bl sub_02019570 +_0200D852: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200D858 +sub_0200D858: ; 0x0200D858 + push {r4-r7, lr} + sub sp, #0x34 + str r0, [sp, #0x20] + ldr r0, [r0, #0x0] + str r1, [sp, #0x24] + bl sub_02016BB8 + str r0, [sp, #0x28] + ldr r0, [sp, #0x20] + bl sub_0201AB08 + bl sub_020187B0 + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + ldr r1, _0200D970 ; =0x0000048C + bl sub_02016998 + ldr r1, [sp, #0x24] + add r4, r0, #0x0 + ldr r0, _0200D974 ; =0x00000404 + add r1, #0x12 + lsl r1, r1, #0x5 + add r0, r4, r0 + add r1, r5, r1 + mov r2, #0x80 + blx sub_020DF438 + ldr r0, [sp, #0x28] + mov r1, #0x80 + bl sub_02016998 + ldr r1, [sp, #0x24] + mov r2, #0x20 + add r1, #0xa + lsl r1, r1, #0x5 + str r1, [sp, #0x2c] + add r1, r5, r1 + add r6, r0, #0x0 + blx sub_020DF438 + ldr r0, [sp, #0x24] + mov r2, #0x20 + add r0, #0xb + lsl r7, r0, #0x5 + add r0, r6, #0x0 + add r0, #0x20 + add r1, r5, r7 + blx sub_020DF438 + ldr r1, [sp, #0x2c] + add r0, r6, #0x0 + add r0, #0x40 + add r1, r5, r1 + mov r2, #0x20 + blx sub_020DF438 + add r0, r6, #0x0 + add r0, #0x60 + add r1, r5, r7 + mov r2, #0x20 + blx sub_020DF438 + mov r5, #0x0 + add r7, r4, #0x4 +_0200D8DA: + lsl r0, r5, #0x7 + add r0, r7, r0 + add r1, r6, #0x0 + mov r2, #0x80 + blx sub_020DF438 + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0200D8DA + add r0, r6, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x28] + mov r1, #0x17 + str r0, [sp, #0x0] + mov r0, #0x26 + mov r2, #0x0 + add r3, sp, #0x30 + bl sub_02006BB0 + mov r2, #0x80 + add r5, r0, #0x0 + str r2, [sp, #0x0] + add r0, r4, #0x4 + str r0, [sp, #0x4] + mov r3, #0x10 + str r3, [sp, #0x8] + str r2, [sp, #0xc] + mov r1, #0x0 + str r1, [sp, #0x10] + str r1, [sp, #0x14] + str r3, [sp, #0x18] + str r2, [sp, #0x1c] + ldr r0, [sp, #0x30] + add r2, r1, #0x0 + ldr r0, [r0, #0x14] + bl sub_0200D148 + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x20] + ldr r1, _0200D978 ; =0x00000484 + str r0, [r4, #0x0] + ldr r0, [sp, #0x24] + mov r2, #0x0 + strh r0, [r4, r1] + add r0, r1, #0x2 + strb r2, [r4, r0] + add r0, r1, #0x3 + ldrb r3, [r4, r0] + mov r0, #0x7f + bic r3, r0 + add r0, r1, #0x3 + strb r3, [r4, r0] + add r0, r1, #0x4 + ldrb r3, [r4, r0] + mov r0, #0x3 + bic r3, r0 + add r0, r1, #0x4 + strb r3, [r4, r0] + ldr r0, _0200D97C ; =sub_0200DB7C + add r1, r4, #0x0 + bl sub_0200CA60 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200D980 + add r0, r4, #0x0 + add sp, #0x34 + pop {r4-r7, pc} + nop +_0200D970: .word 0x0000048C +_0200D974: .word 0x00000404 +_0200D978: .word 0x00000484 +_0200D97C: .word sub_0200DB7C + 1 + + thumb_func_start sub_0200D980 +sub_0200D980: ; 0x0200D980 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0201AB08 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0201AB14 + str r0, [sp, #0x18] + ldr r0, [r5, #0x0] + bl sub_0201AB18 + str r0, [sp, #0x1c] + ldr r0, [r5, #0x0] + bl sub_0201AB0C + str r0, [sp, #0x20] + cmp r6, #0x2 + bne _0200DA8A + ldr r2, _0200DB78 ; =0x00000484 + add r1, r4, #0x0 + ldrh r0, [r5, r2] + sub r2, #0x80 + add r2, r5, r2 + add r0, #0x12 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + mov r3, #0x80 + ldr r0, [r0, #0x0] + bl sub_02017E14 + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x18] + add r7, r0, #0x2 + ldr r0, [sp, #0x20] + ldr r2, _0200DB78 ; =0x00000484 + add r6, r1, r0 + add r0, r6, #0x1 + str r0, [sp, #0x14] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldrh r2, [r5, r2] + ldr r0, [r5, #0x0] + ldr r3, [sp, #0x14] + add r2, #0xa + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + add r6, r6, #0x2 + lsl r3, r6, #0x18 + add r2, #0xb + lsl r2, r2, #0x10 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r3, [sp, #0x14] + add r7, r0, #0x3 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + add r2, #0xa + lsl r2, r2, #0x10 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + lsl r3, r6, #0x18 + ldr r0, [r0, #0x0] + add r2, #0xb + lsl r2, r2, #0x10 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x0] + bl sub_02017CD0 + add sp, #0x24 + pop {r4-r7, pc} +_0200DA8A: + ldr r3, _0200DB78 ; =0x00000484 + add r2, r5, #0x4 + ldrh r0, [r5, r3] + add r3, r3, #0x3 + add r1, r4, #0x0 + add r0, #0x12 + str r0, [sp, #0x0] + ldrb r3, [r5, r3] + ldr r0, [r5, #0x0] + lsl r3, r3, #0x19 + lsr r3, r3, #0x19 + lsl r3, r3, #0x7 + add r2, r2, r3 + ldr r0, [r0, #0x0] + mov r3, #0x80 + bl sub_02017E14 + cmp r6, #0x0 + beq _0200DB72 + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x18] + add r7, r0, #0x2 + ldr r0, [sp, #0x20] + ldr r2, _0200DB78 ; =0x00000484 + add r6, r1, r0 + add r0, r6, #0x1 + str r0, [sp, #0x10] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldrh r2, [r5, r2] + ldr r0, [r5, #0x0] + ldr r3, [sp, #0x10] + add r2, #0x12 + lsl r2, r2, #0x10 + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + add r6, r6, #0x2 + lsl r3, r6, #0x18 + add r2, #0x13 + lsl r2, r2, #0x10 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [sp, #0x1c] + ldr r3, [sp, #0x10] + add r7, r0, #0x3 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + lsl r3, r3, #0x18 + ldr r0, [r0, #0x0] + add r2, #0x14 + lsl r2, r2, #0x10 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r2, _0200DB78 ; =0x00000484 + ldr r0, [r5, #0x0] + ldrh r2, [r5, r2] + lsl r3, r6, #0x18 + ldr r0, [r0, #0x0] + add r2, #0x15 + lsl r2, r2, #0x10 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x0] + bl sub_02017CD0 +_0200DB72: + add sp, #0x24 + pop {r4-r7, pc} + nop +_0200DB78: .word 0x00000484 + + thumb_func_start sub_0200DB7C +sub_0200DB7C: ; 0x0200DB7C + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _0200DBE4 ; =0x00000488 + ldrb r2, [r1, r0] + lsl r2, r2, #0x1e + lsr r2, r2, #0x1e + beq _0200DB9E + cmp r2, #0x1 + bne _0200DB96 + add r0, r1, #0x0 + mov r1, #0x2 + bl sub_0200D980 +_0200DB96: + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r3-r5, pc} +_0200DB9E: + sub r2, r0, #0x2 + ldrb r2, [r1, r2] + add r3, r2, #0x1 + sub r2, r0, #0x2 + strb r3, [r1, r2] + ldrb r2, [r1, r2] + cmp r2, #0x10 + bne _0200DBE0 + mov r3, #0x0 + sub r2, r0, #0x2 + strb r3, [r1, r2] + sub r2, r0, #0x1 + ldrb r2, [r1, r2] + mov r4, #0x7f + bic r2, r4 + sub r4, r0, #0x1 + ldrb r4, [r1, r4] + sub r0, r0, #0x1 + lsl r4, r4, #0x19 + lsr r4, r4, #0x19 + add r5, r4, #0x1 + mov r4, #0x7 + and r4, r5 + lsl r4, r4, #0x18 + lsr r5, r4, #0x18 + mov r4, #0x7f + and r4, r5 + orr r2, r4 + strb r2, [r1, r0] + add r0, r1, #0x0 + add r1, r3, #0x0 + bl sub_0200D980 +_0200DBE0: + pop {r3-r5, pc} + nop +_0200DBE4: .word 0x00000488 + + thumb_func_start sub_0200DBE8 +sub_0200DBE8: ; 0x0200DBE8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200DBFC +sub_0200DBFC: ; 0x0200DBFC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0200DC1C ; =sub_0200DBE8 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0200CA98 + ldr r1, _0200DC20 ; =0x00000488 + mov r0, #0x3 + ldrb r2, [r4, r1] + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r4, r1] + pop {r4, pc} + nop +_0200DC1C: .word sub_0200DBE8 + 1 +_0200DC20: .word 0x00000488 + + thumb_func_start sub_0200DC24 +sub_0200DC24: ; 0x0200DC24 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0200DC44 ; =sub_0200DBE8 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0200CA98 + ldr r1, _0200DC48 ; =0x00000488 + mov r0, #0x3 + ldrb r2, [r4, r1] + bic r2, r0 + mov r0, #0x2 + orr r0, r2 + strb r0, [r4, r1] + pop {r4, pc} + nop +_0200DC44: .word sub_0200DBE8 + 1 +_0200DC48: .word 0x00000488 + + thumb_func_start sub_0200DC4C +sub_0200DC4C: ; 0x0200DC4C + push {r4-r7, lr} + sub sp, #0xc + str r2, [sp, #0x4] + ldr r5, [sp, #0x30] + str r3, [sp, #0x8] + add r6, r0, #0x0 + add r7, r1, #0x0 + str r5, [sp, #0x0] + bl sub_0200DD70 + add r4, r0, #0x0 + add r1, r5, #0x0 + bl sub_0200DDAC + add r0, r4, #0x0 + bl sub_0200DDD8 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + add r0, r4, #0x0 + bl sub_0200DE30 + add r2, sp, #0x10 + ldrh r1, [r2, #0x18] + ldrb r2, [r2, #0x1c] + add r0, r4, #0x0 + bl sub_0200DE80 + add r2, sp, #0x10 + ldrb r1, [r2, #0x10] + ldrh r2, [r2, #0x14] + add r0, r4, #0x0 + bl sub_0200DFD8 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02017CD0 + ldr r0, _0200DCA0 ; =0x0000016F + add r0, r4, r0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0200DCA0: .word 0x0000016F + + thumb_func_start sub_0200DCA4 +sub_0200DCA4: ; 0x0200DCA4 + push {r4-r7, lr} + sub sp, #0xc + str r2, [sp, #0x4] + ldr r5, [sp, #0x2c] + str r3, [sp, #0x8] + add r6, r0, #0x0 + add r7, r1, #0x0 + str r5, [sp, #0x0] + bl sub_0200DD70 + add r4, r0, #0x0 + add r1, r5, #0x0 + bl sub_0200DDAC + add r0, r4, #0x0 + bl sub_0200DDD8 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + add r0, r4, #0x0 + bl sub_0200DE30 + ldr r1, [sp, #0x28] + add r0, r4, #0x0 + bl sub_0200DEC0 + add r2, sp, #0x10 + ldrb r1, [r2, #0x10] + ldrh r2, [r2, #0x14] + add r0, r4, #0x0 + bl sub_0200DFD8 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02017CD0 + ldr r0, _0200DCF4 ; =0x0000016F + add r0, r4, r0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0200DCF4: .word 0x0000016F + + thumb_func_start sub_0200DCF8 +sub_0200DCF8: ; 0x0200DCF8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0200DD6C ; =0x0000016F + add r4, r1, #0x0 + ldrb r1, [r4, r0] + cmp r1, #0x1 + beq _0200DD10 + cmp r1, #0x2 + beq _0200DD2E + cmp r1, #0x3 + beq _0200DD40 + b _0200DD54 +_0200DD10: + add r0, r4, #0x0 + bl sub_0200E188 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0200C3DC + add r0, r4, #0x0 + bl sub_021D99F8 + add r0, r5, #0x0 + bl sub_0200621C + pop {r3-r5, pc} +_0200DD2E: + mov r1, #0x3 + strb r1, [r4, r0] + sub r0, #0xb + ldr r0, [r4, r0] + mov r1, #0x1 + ldr r0, [r0, #0x0] + bl sub_02020130 + b _0200DD54 +_0200DD40: + sub r0, #0xb + ldr r0, [r4, r0] + ldr r0, [r0, #0x0] + bl sub_0202022C + cmp r0, #0x6 + bne _0200DD54 + ldr r0, _0200DD6C ; =0x0000016F + mov r1, #0x0 + strb r1, [r4, r0] +_0200DD54: + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, [r4, #0x0] + bl sub_0201FDEC + pop {r3-r5, pc} + .balign 4 +_0200DD6C: .word 0x0000016F + + thumb_func_start sub_0200DD70 +sub_0200DD70: ; 0x0200DD70 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r3, #0x0 + mov r1, #0x17 + add r6, r2, #0x0 + ldr r0, _0200DDA4 ; =sub_0200DCF8 + ldr r3, [sp, #0x18] + lsl r1, r1, #0x4 + mov r2, #0x0 + bl sub_020061E8 + bl sub_0201B6C8 + ldr r1, _0200DDA8 ; =0x0000016F + mov r2, #0x0 + strb r2, [r0, r1] + sub r2, r1, #0x7 + str r5, [r0, r2] + sub r2, r1, #0x3 + strb r4, [r0, r2] + sub r2, r1, #0x2 + strb r6, [r0, r2] + sub r1, r1, #0x1 + strb r7, [r0, r1] + pop {r3-r7, pc} + .balign 4 +_0200DDA4: .word sub_0200DCF8 + 1 +_0200DDA8: .word 0x0000016F + + thumb_func_start sub_0200DDAC +sub_0200DDAC: ; 0x0200DDAC + push {r4-r6, lr} + sub sp, #0x18 + ldr r5, _0200DDD4 ; =0x020ECEA8 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r3, r1, #0x0 + add r2, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r1, r2, #0x0 + add r0, r6, #0x0 + mov r2, #0x1 + bl sub_021D959C + add sp, #0x18 + pop {r4-r6, pc} + .balign 4 +_0200DDD4: .word 0x020ECEA8 + + thumb_func_start sub_0200DDD8 +sub_0200DDD8: ; 0x0200DDD8 + push {r3-r4, lr} + sub sp, #0xc + mov r1, #0x1 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, _0200DE2C ; =0x00015CD5 + mov r2, #0x31 + str r1, [sp, #0x8] + mov r1, #0x26 + mov r3, #0x0 + add r4, r0, #0x0 + bl sub_021D967C + ldr r0, _0200DE2C ; =0x00015CD5 + mov r1, #0x26 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r2, #0x2f + mov r3, #0x0 + bl sub_021D96F4 + ldr r0, _0200DE2C ; =0x00015CD5 + mov r1, #0x26 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r2, #0x2e + mov r3, #0x0 + bl sub_021D9708 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _0200DE2C ; =0x00015CD5 + mov r1, #0x26 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r2, #0x30 + mov r3, #0x0 + bl sub_021D971C + add sp, #0xc + pop {r3-r4, pc} + nop +_0200DE2C: .word 0x00015CD5 + + thumb_func_start sub_0200DE30 +sub_0200DE30: ; 0x0200DE30 + push {r4-r7, lr} + sub sp, #0x34 + ldr r5, _0200DE7C ; =0x020ECEC0 + add r6, r2, #0x0 + add r4, r0, #0x0 + add r7, r1, #0x0 + add r3, sp, #0x0 + mov r2, #0x6 +_0200DE40: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0200DE40 + ldr r0, [r5, #0x0] + str r0, [r3, #0x0] + add r0, r7, #0x5 + lsl r1, r0, #0x3 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + add r1, r6, #0x5 + lsl r1, r1, #0x3 + strh r1, [r0, #0x2] + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_021D9820 + mov r1, #0x59 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + bl sub_0201FDEC + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E74C + add sp, #0x34 + pop {r4-r7, pc} + nop +_0200DE7C: .word 0x020ECEC0 + + thumb_func_start sub_0200DE80 +sub_0200DE80: ; 0x0200DE80 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + ldr r0, _0200DEBC ; =0x00000162 + add r4, r1, #0x0 + ldrh r0, [r5, r0] + add r6, r2, #0x0 + bl sub_02006D98 + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r0, sp, #0xc + add r1, r4, #0x0 + add r2, r6, #0x0 + mov r3, #0x2 + bl sub_02068C00 + add r0, r5, #0x0 + add r1, sp, #0xc + bl sub_0200DEF4 + add r0, r7, #0x0 + bl sub_020072E8 + add sp, #0x1c + pop {r4-r7, pc} + nop +_0200DEBC: .word 0x00000162 + + thumb_func_start sub_0200DEC0 +sub_0200DEC0: ; 0x0200DEC0 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, _0200DEF0 ; =0x00000162 + add r4, r1, #0x0 + ldrh r0, [r5, r0] + bl sub_02006D98 + add r6, r0, #0x0 + add r0, sp, #0x0 + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_02068B68 + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_0200DEF4 + add r0, r6, #0x0 + bl sub_020072E8 + add sp, #0x10 + pop {r4-r6, pc} + nop +_0200DEF0: .word 0x00000162 + + thumb_func_start sub_0200DEF4 +sub_0200DEF4: ; 0x0200DEF4 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, _0200DFC8 ; =0x00000162 + add r6, r1, #0x0 + mov r1, #0x19 + ldrh r0, [r5, r0] + lsl r1, r1, #0x8 + bl sub_02016998 + add r2, sp, #0x18 + ldr r3, _0200DFCC ; =0x020ECE98 + add r4, r0, #0x0 + add r7, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + str r4, [sp, #0x0] + ldr r2, _0200DFC8 ; =0x00000162 + ldrh r0, [r6, #0x0] + ldrh r1, [r6, #0x2] + ldrh r2, [r5, r2] + add r3, r7, #0x0 + bl sub_02012400 + ldr r3, _0200DFD0 ; =0x020ECE88 + add r2, sp, #0x8 + add r7, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0x32 + lsl r0, r0, #0x6 + add r0, r4, r0 + str r0, [sp, #0x0] + ldr r2, _0200DFC8 ; =0x00000162 + ldrh r0, [r6, #0x0] + ldrh r1, [r6, #0x2] + ldrh r2, [r5, r2] + add r3, r7, #0x0 + bl sub_02012400 + mov r0, #0x13 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + ldr r1, _0200DFD4 ; =0x00015CD5 + bl sub_020094F0 + bl sub_02009C5C + mov r1, #0x1 + str r0, [sp, #0x4] + blx sub_020B1A14 + mov r1, #0x19 + add r7, r0, #0x0 + add r0, r4, #0x0 + lsl r1, r1, #0x8 + blx sub_020CC15C + mov r2, #0x19 + add r0, r4, #0x0 + add r1, r7, #0x0 + lsl r2, r2, #0x8 + blx sub_020C92F4 + add r0, r4, #0x0 + bl sub_02016A18 + ldr r2, _0200DFC8 ; =0x00000162 + ldrh r0, [r6, #0x0] + ldrh r1, [r6, #0x4] + ldrh r2, [r5, r2] + bl sub_02012470 + add r4, r0, #0x0 + mov r0, #0x4d + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r1, _0200DFD4 ; =0x00015CD5 + bl sub_020094F0 + ldr r1, [sp, #0x4] + bl sub_02009E54 + mov r1, #0x1 + blx sub_020B19C4 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x20 + blx sub_020CC15C + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x20 + blx sub_020C9480 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x28 + pop {r3-r7, pc} + nop +_0200DFC8: .word 0x00000162 +_0200DFCC: .word 0x020ECE98 +_0200DFD0: .word 0x020ECE88 +_0200DFD4: .word 0x00015CD5 + + thumb_func_start sub_0200DFD8 +sub_0200DFD8: ; 0x0200DFD8 + push {r4-r6, lr} + sub sp, #0x10 + ldr r3, _0200E184 ; =0x0000016E + add r5, r0, #0x0 + ldrb r0, [r5, r3] + add r4, r1, #0x0 + sub r1, r3, #0x2 + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + sub r3, r3, #0x1 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + add r6, r2, #0x0 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x1 + ldrb r0, [r5, r3] + sub r1, r3, #0x2 + lsl r2, r2, #0x10 + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r1, [r5, r1] + ldrb r3, [r5, r3] + ldr r0, [r5, r0] + lsr r2, r2, #0x10 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x2 + ldrb r0, [r5, r3] + lsl r2, r2, #0x10 + sub r1, r3, #0x2 + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + add r3, #0xa + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x4 + ldrb r0, [r5, r3] + lsl r2, r2, #0x10 + sub r1, r3, #0x2 + str r0, [sp, #0x0] + mov r0, #0xa + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r1, [r5, r1] + ldrb r3, [r5, r3] + ldr r0, [r5, r0] + lsr r2, r2, #0x10 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x3 + ldrb r0, [r5, r3] + lsl r2, r2, #0x10 + sub r1, r3, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0xa + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + sub r3, r3, #0x1 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x5 + ldrb r0, [r5, r3] + lsl r2, r2, #0x10 + sub r1, r3, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0xa + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + add r3, #0xa + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x6 + ldrb r0, [r5, r3] + lsl r2, r2, #0x10 + sub r1, r3, #0x2 + add r0, #0xa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + sub r3, r3, #0x1 + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r2, r6, #0x7 + ldrb r0, [r5, r3] + sub r1, r3, #0x2 + lsl r2, r2, #0x10 + add r0, #0xa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r1, [r5, r1] + ldrb r3, [r5, r3] + ldr r0, [r5, r0] + lsr r2, r2, #0x10 + bl sub_02018540 + ldr r3, _0200E184 ; =0x0000016E + add r6, #0x8 + ldrb r0, [r5, r3] + lsl r2, r6, #0x10 + sub r1, r3, #0x2 + add r0, #0xa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r4, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r5, r3] + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + add r3, #0xa + lsl r3, r3, #0x18 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + mov r1, #0x5a + lsl r1, r1, #0x2 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldrb r1, [r5, r1] + bl sub_0201AC68 + add sp, #0x10 + pop {r4-r6, pc} + nop +_0200E184: .word 0x0000016E + + thumb_func_start sub_0200E188 +sub_0200E188: ; 0x0200E188 + push {r4, lr} + sub sp, #0x10 + ldr r3, _0200E1CC ; =0x0000016E + add r4, r0, #0x0 + ldrb r0, [r4, r3] + mov r2, #0x0 + sub r1, r3, #0x2 + sub r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r2, [sp, #0xc] + sub r0, r3, #0x6 + sub r3, r3, #0x1 + ldrb r3, [r4, r3] + ldrb r1, [r4, r1] + ldr r0, [r4, r0] + sub r3, r3, #0x1 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl sub_02018540 + mov r1, #0x5a + lsl r1, r1, #0x2 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldrb r1, [r4, r1] + bl sub_0201AC68 + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0200E1CC: .word 0x0000016E + + thumb_func_start sub_0200E1D0 +sub_0200E1D0: ; 0x0200E1D0 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + ldr r0, [sp, #0x30] + add r4, r1, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + cmp r0, #0x0 + bne _0200E1E6 + bl sub_02020C2C +_0200E1E6: + ldr r0, [sp, #0x34] + cmp r0, #0x0 + bne _0200E1F0 + bl sub_02020C2C +_0200E1F0: + ldr r0, _0200E2AC ; =0x021C47F4 + ldrh r0, [r0, #0xc] + cmp r0, #0x0 + beq _0200E1FC + bl sub_02020C2C +_0200E1FC: + ldr r0, _0200E2B0 ; =0x021C46B4 + bl sub_0200E808 + ldr r1, _0200E2B0 ; =0x021C46B4 + add r0, r5, #0x0 + bl sub_0200E558 + ldr r0, _0200E2B4 ; =0x021C4728 + bl sub_0200E5F4 + ldr r0, _0200E2B0 ; =0x021C46B4 + add r1, r6, #0x0 + bl sub_0200E75C + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, _0200E2B8 ; =0x021C4740 + ldr r2, [sp, #0x30] + str r0, [sp, #0xc] + ldr r0, _0200E2B4 ; =0x021C4728 + ldr r3, [sp, #0x34] + str r0, [sp, #0x10] + ldr r0, [sp, #0x38] + add r1, r4, #0x0 + str r0, [sp, #0x14] + ldr r0, _0200E2BC ; =0x021C46C8 + str r5, [sp, #0x18] + bl sub_0200E5C8 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, _0200E2B8 ; =0x021C4740 + ldr r2, [sp, #0x30] + str r0, [sp, #0xc] + ldr r0, _0200E2B4 ; =0x021C4728 + ldr r3, [sp, #0x34] + str r0, [sp, #0x10] + ldr r0, [sp, #0x38] + add r1, r7, #0x0 + str r0, [sp, #0x14] + ldr r0, _0200E2C0 ; =0x021C46F8 + str r5, [sp, #0x18] + bl sub_0200E5C8 + ldr r0, _0200E2AC ; =0x021C47F4 + mov r1, #0x1 + strh r1, [r0, #0xc] + ldr r0, _0200E2C4 ; =0x021C46B8 + ldr r1, _0200E2BC ; =0x021C46C8 + bl sub_0200E528 + ldr r0, _0200E2C8 ; =0x021C46BC + ldr r1, _0200E2C0 ; =0x021C46F8 + bl sub_0200E528 + ldr r0, _0200E2CC ; =0x021C46B4 + ldr r0, [r0, #0xc] + cmp r0, #0x0 + beq _0200E28E + ldr r0, _0200E2B0 ; =0x021C46B4 + add r0, #0x14 + bl sub_0200E7A8 + ldr r1, _0200E2D0 ; =0x0000014E + ldr r0, _0200E2B0 ; =0x021C46B4 + mov r2, #0x1 + strb r2, [r0, r1] +_0200E28E: + ldr r0, _0200E2B0 ; =0x021C46B4 + ldr r0, [r0, #0x10] + cmp r0, #0x0 + beq _0200E2A6 + ldr r0, _0200E2B0 ; =0x021C46B4 + add r0, #0x44 + bl sub_0200E7A8 + ldr r1, _0200E2D4 ; =0x0000014F + ldr r0, _0200E2B0 ; =0x021C46B4 + mov r2, #0x1 + strb r2, [r0, r1] +_0200E2A6: + add sp, #0x1c + pop {r4-r7, pc} + nop +_0200E2AC: .word 0x021C47F4 +_0200E2B0: .word 0x021C46B4 +_0200E2B4: .word 0x021C4728 +_0200E2B8: .word 0x021C4740 +_0200E2BC: .word 0x021C46C8 +_0200E2C0: .word 0x021C46F8 +_0200E2C4: .word 0x021C46B8 +_0200E2C8: .word 0x021C46BC +_0200E2CC: .word 0x021C46B4 +_0200E2D0: .word 0x0000014E +_0200E2D4: .word 0x0000014F + + thumb_func_start sub_0200E2D8 +sub_0200E2D8: ; 0x0200E2D8 + push {r4, lr} + ldr r0, _0200E300 ; =0x021C47F4 + ldr r4, _0200E304 ; =0x021C46B4 + ldrh r0, [r0, #0xc] + cmp r0, #0x0 + beq _0200E2FC + add r1, r4, #0x0 + add r2, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x14 + add r2, #0x44 + bl sub_0200E4B8 + cmp r0, #0x1 + bne _0200E2FC + add r0, r4, #0x0 + bl sub_0200E460 +_0200E2FC: + pop {r4, pc} + nop +_0200E300: .word 0x021C47F4 +_0200E304: .word 0x021C46B4 + + thumb_func_start sub_0200E308 +sub_0200E308: ; 0x0200E308 + ldr r0, _0200E318 ; =0x021C47F4 + ldrh r0, [r0, #0xc] + cmp r0, #0x0 + bne _0200E314 + mov r0, #0x1 + bx lr +_0200E314: + mov r0, #0x0 + bx lr + .balign 4 +_0200E318: .word 0x021C47F4 + + thumb_func_start sub_0200E31C +sub_0200E31C: ; 0x0200E31C + push {r3, lr} + ldr r0, _0200E368 ; =0x021C4728 + mov r1, #0x0 + bl sub_0200E6A0 + ldr r0, _0200E368 ; =0x021C4728 + mov r1, #0x1 + bl sub_0200E6A0 + ldr r0, _0200E36C ; =0x021C46B4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0200E33A + mov r1, #0x2 + str r1, [r0, #0x20] +_0200E33A: + ldr r0, _0200E36C ; =0x021C46B4 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _0200E346 + mov r1, #0x2 + str r1, [r0, #0x50] +_0200E346: + ldr r0, _0200E370 ; =0x021C46B8 + ldr r1, _0200E374 ; =0x021C46C8 + bl sub_0200E528 + ldr r0, _0200E378 ; =0x021C46BC + ldr r1, _0200E37C ; =0x021C46F8 + bl sub_0200E528 + ldr r0, _0200E380 ; =0x021C47F4 + mov r1, #0x0 + strh r1, [r0, #0xc] + strb r1, [r0, #0xe] + strb r1, [r0, #0xf] + ldr r0, _0200E384 ; =0x021C46B4 + bl sub_0200E808 + pop {r3, pc} + .balign 4 +_0200E368: .word 0x021C4728 +_0200E36C: .word 0x021C46B4 +_0200E370: .word 0x021C46B8 +_0200E374: .word 0x021C46C8 +_0200E378: .word 0x021C46BC +_0200E37C: .word 0x021C46F8 +_0200E380: .word 0x021C47F4 +_0200E384: .word 0x021C46B4 + + thumb_func_start sub_0200E388 +sub_0200E388: ; 0x0200E388 + ldr r3, _0200E390 ; =sub_02011480 + add r1, r0, #0x0 + mov r0, #0x0 + bx r3 + .balign 4 +_0200E390: .word sub_02011480 + 1 + + thumb_func_start sub_0200E394 +sub_0200E394: ; 0x0200E394 + ldr r3, _0200E39C ; =sub_0200E440 + mov r1, #0x0 + bx r3 + nop +_0200E39C: .word sub_0200E440 + 1 + + thumb_func_start sub_0200E3A0 +sub_0200E3A0: ; 0x0200E3A0 + ldr r2, _0200E3B4 ; =0x00007FFF + cmp r1, r2 + bne _0200E3AA + mov r1, #0x10 + b _0200E3AE +_0200E3AA: + mov r1, #0xf + mvn r1, r1 +_0200E3AE: + ldr r3, _0200E3B8 ; =sub_0200E440 + bx r3 + nop +_0200E3B4: .word 0x00007FFF +_0200E3B8: .word sub_0200E440 + 1 + + thumb_func_start sub_0200E3BC +sub_0200E3BC: ; 0x0200E3BC + push {r0-r3} + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r0, sp, #0x1c + bne _0200E3D2 + mov r1, #0x0 + mov r2, #0x2 + blx sub_020C9550 + b _0200E3DA +_0200E3D2: + mov r1, #0x0 + mov r2, #0x2 + blx sub_020C94E8 +_0200E3DA: + ldr r0, _0200E41C ; =0x021C4740 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_02011634 + mov r2, #0x0 + ldr r0, _0200E41C ; =0x021C4740 + mov r1, #0x3f + add r3, r2, #0x0 + str r4, [sp, #0x0] + bl sub_02011650 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + ldr r0, _0200E41C ; =0x021C4740 + add r2, r1, #0x0 + add r3, r1, #0x0 + str r4, [sp, #0x8] + bl sub_02011698 + ldr r0, _0200E41C ; =0x021C4740 + mov r1, #0x20 + mov r2, #0x0 + add r3, r4, #0x0 + bl sub_02011678 + add sp, #0xc + pop {r3-r4} + pop {r3} + add sp, #0x10 + bx r3 + nop +_0200E41C: .word 0x021C4740 + + thumb_func_start sub_0200E420 +sub_0200E420: ; 0x0200E420 + push {r0-r3} + push {r3, lr} + add r0, sp, #0x8 + mov r1, #0x0 + mov r2, #0x2 + blx sub_020C9550 + add r0, sp, #0x8 + mov r1, #0x0 + mov r2, #0x2 + blx sub_020C94E8 + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_0200E440 +sub_0200E440: ; 0x0200E440 + push {r3, lr} + cmp r0, #0x0 + bne _0200E44E + ldr r0, _0200E458 ; =0x0400006C + blx sub_020C5978 + pop {r3, pc} +_0200E44E: + ldr r0, _0200E45C ; =0x0400106C + blx sub_020C5978 + pop {r3, pc} + nop +_0200E458: .word 0x0400006C +_0200E45C: .word 0x0400106C + + thumb_func_start sub_0200E460 +sub_0200E460: ; 0x0200E460 + push {r4, lr} + mov r1, #0x53 + add r4, r0, #0x0 + mov r2, #0x0 + lsl r1, r1, #0x2 + strh r2, [r4, r1] + bl sub_0200E770 + mov r1, #0x15 + lsl r1, r1, #0x4 + strh r0, [r4, r1] + ldr r0, [r4, #0xc] + cmp r0, #0x0 + beq _0200E490 + add r0, r4, #0x0 + add r0, #0x14 + bl sub_0200E7D8 + ldr r0, [r4, #0x3c] + cmp r0, #0x0 + bne _0200E490 + ldr r0, _0200E4B4 ; =0x021C47F4 + mov r1, #0x0 + strb r1, [r0, #0xe] +_0200E490: + ldr r0, [r4, #0x10] + cmp r0, #0x0 + beq _0200E4AA + add r0, r4, #0x0 + add r0, #0x44 + bl sub_0200E7D8 + ldr r0, [r4, #0x3c] + cmp r0, #0x0 + bne _0200E4AA + ldr r0, _0200E4B4 ; =0x021C47F4 + mov r1, #0x0 + strb r1, [r0, #0xf] +_0200E4AA: + add r0, r4, #0x0 + bl sub_0200E808 + pop {r4, pc} + nop +_0200E4B4: .word 0x021C47F4 + + thumb_func_start sub_0200E4B8 +sub_0200E4B8: ; 0x0200E4B8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r2, #0x0 + cmp r0, #0x0 + beq _0200E4CE + cmp r0, #0x1 + beq _0200E4E0 + cmp r0, #0x2 + beq _0200E4FA + b _0200E512 +_0200E4CE: + add r0, r5, #0x4 + bl sub_0200E528 + add r0, r5, #0x0 + add r0, #0x8 + add r1, r4, #0x0 + bl sub_0200E528 + b _0200E512 +_0200E4E0: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _0200E4EE + add r0, r5, #0x4 + bl sub_0200E528 + b _0200E512 +_0200E4EE: + add r0, r5, #0x0 + add r0, #0x8 + add r1, r4, #0x0 + bl sub_0200E528 + b _0200E512 +_0200E4FA: + ldr r0, [r5, #0x8] + cmp r0, #0x0 + beq _0200E50C + add r0, r5, #0x0 + add r0, #0x8 + add r1, r4, #0x0 + bl sub_0200E528 + b _0200E512 +_0200E50C: + add r0, r5, #0x4 + bl sub_0200E528 +_0200E512: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _0200E522 + ldr r0, [r5, #0x8] + cmp r0, #0x0 + bne _0200E522 + mov r0, #0x1 + pop {r3-r5, pc} +_0200E522: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200E528 +sub_0200E528: ; 0x0200E528 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0200E540 + add r0, r1, #0x0 + bl sub_0200E544 + cmp r0, #0x1 + bne _0200E540 + mov r0, #0x0 + str r0, [r4, #0x0] +_0200E540: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200E544 +sub_0200E544: ; 0x0200E544 + push {r3, lr} + ldr r1, [r0, #0x0] + lsl r2, r1, #0x2 + ldr r1, _0200E554 ; =0x020ECEF4 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + nop +_0200E554: .word 0x020ECEF4 + + thumb_func_start sub_0200E558 +sub_0200E558: ; 0x0200E558 + push {r3, lr} + cmp r0, #0x4 + bhi _0200E5B8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r2, #0 + lsl r4, r4, #0 + lsl r2, r6, #0 + lsl r0, r0, #0x1 + mov r2, #0x1 + add r0, r1, #0x0 + mov r1, #0x0 + add r3, r2, #0x0 + bl sub_0200E5BC + pop {r3, pc} +_0200E582: + .byte 0x08, 0x1C, 0x01, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD + .byte 0x01, 0x22, 0x08, 0x1C, 0x02, 0x21, 0x13, 0x1C, 0x00, 0xF0, 0x10, 0xF8, 0x08, 0xBD, 0x08, 0x1C + .byte 0x01, 0x21, 0x0A, 0x1C, 0x00, 0x23, 0x00, 0xF0, 0x09, 0xF8, 0x08, 0xBD, 0x08, 0x1C, 0x02, 0x21 + .byte 0x00, 0x22, 0x01, 0x23, 0x00, 0xF0, 0x02, 0xF8 +_0200E5B8: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200E5BC +sub_0200E5BC: ; 0x0200E5BC + str r1, [r0, #0x0] + str r2, [r0, #0x4] + str r3, [r0, #0x8] + str r2, [r0, #0xc] + str r3, [r0, #0x10] + bx lr + + thumb_func_start sub_0200E5C8 +sub_0200E5C8: ; 0x0200E5C8 + str r1, [r0, #0x0] + str r2, [r0, #0x4] + ldr r1, [sp, #0x0] + str r3, [r0, #0x8] + str r1, [r0, #0xc] + ldr r1, [sp, #0x4] + str r1, [r0, #0x14] + ldr r1, [sp, #0x8] + str r1, [r0, #0x10] + ldr r1, [sp, #0xc] + str r1, [r0, #0x18] + ldr r1, [sp, #0x10] + str r1, [r0, #0x1c] + ldr r1, [sp, #0x14] + str r1, [r0, #0x20] + ldr r1, _0200E5F0 ; =0xFFFFFFF0 + add r1, sp + ldrh r1, [r1, #0x28] + strh r1, [r0, #0x24] + bx lr + .balign 4 +_0200E5F0: .word 0xFFFFFFF0 + + thumb_func_start sub_0200E5F4 +sub_0200E5F4: ; 0x0200E5F4 + mov r3, #0x0 + ldr r1, _0200E60C ; =sub_0200E758 + add r2, r3, #0x0 +_0200E5FA: + str r2, [r0, #0x0] + str r1, [r0, #0x8] + str r2, [r0, #0x10] + add r3, r3, #0x1 + add r0, r0, #0x4 + cmp r3, #0x2 + blt _0200E5FA + bx lr + nop +_0200E60C: .word sub_0200E758 + 1 + + thumb_func_start sub_0200E610 +sub_0200E610: ; 0x0200E610 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_0200E616: + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x8] + blx r1 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x2 + blt _0200E616 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0200E628 +sub_0200E628: ; 0x0200E628 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + str r0, [sp, #0x8] + add r0, #0x10 + lsl r4, r3, #0x2 + str r0, [sp, #0x8] + ldr r0, [r0, r4] + add r7, r2, #0x0 + str r1, [sp, #0x0] + cmp r0, #0x0 + beq _0200E64A + bl sub_02020C2C +_0200E64A: + add r6, r5, #0x0 + add r6, #0x8 + ldr r0, [r6, r4] + cmp r0, #0x0 + bne _0200E658 + bl sub_02020C2C +_0200E658: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + bne _0200E672 + ldr r0, [r5, #0x14] + cmp r0, #0x0 + bne _0200E672 + ldr r0, _0200E698 ; =sub_0200E610 + add r1, r5, #0x0 + bl sub_02015F34 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] +_0200E672: + ldr r0, [sp, #0x4] + cmp r0, #0x1 + beq _0200E67C + bl sub_02020C2C +_0200E67C: + ldr r0, [sp, #0x0] + cmp r7, #0x0 + str r0, [r5, r4] + beq _0200E688 + str r7, [r6, r4] + b _0200E68C +_0200E688: + ldr r0, _0200E69C ; =sub_0200E758 + str r0, [r6, r4] +_0200E68C: + ldr r0, [sp, #0x8] + mov r1, #0x1 + str r1, [r0, r4] + add sp, #0xc + pop {r4-r7, pc} + nop +_0200E698: .word sub_0200E610 + 1 +_0200E69C: .word sub_0200E758 + 1 + + thumb_func_start sub_0200E6A0 +sub_0200E6A0: ; 0x0200E6A0 + push {r3-r5, lr} + lsl r4, r1, #0x2 + add r5, r0, #0x0 + mov r1, #0x0 + add r0, r5, r4 + str r1, [r0, #0x10] + ldr r0, [r5, #0x10] + cmp r0, #0x0 + bne _0200E6BC + ldr r0, [r5, #0x14] + cmp r0, #0x0 + bne _0200E6BC + bl sub_02015F1C +_0200E6BC: + ldr r1, _0200E6C8 ; =sub_0200E758 + add r0, r5, r4 + str r1, [r0, #0x8] + mov r0, #0x0 + str r0, [r5, r4] + pop {r3-r5, pc} + .balign 4 +_0200E6C8: .word sub_0200E758 + 1 + + thumb_func_start sub_0200E6CC +sub_0200E6CC: ; 0x0200E6CC + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r0, [sp, #0x18] + mov r1, #0x10 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020169D8 + add r1, r0, #0x0 + str r5, [r1, #0x0] + str r4, [r1, #0x4] + mov r2, #0x1 + str r6, [r1, #0x8] + ldr r0, _0200E6F4 ; =sub_0200E71C + lsl r2, r2, #0xa + str r7, [r1, #0xc] + bl sub_0200CA98 + pop {r3-r7, pc} + .balign 4 +_0200E6F4: .word sub_0200E71C + 1 + + thumb_func_start sub_0200E6F8 +sub_0200E6F8: ; 0x0200E6F8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x8 + bl sub_020169D8 + add r1, r0, #0x0 + mov r2, #0x1 + str r5, [r1, #0x0] + ldr r0, _0200E718 ; =sub_0200E73C + lsl r2, r2, #0xa + str r4, [r1, #0x4] + bl sub_0200CA98 + pop {r3-r5, pc} + .balign 4 +_0200E718: .word sub_0200E73C + 1 + + thumb_func_start sub_0200E71C +sub_0200E71C: ; 0x0200E71C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + ldr r3, [r4, #0xc] + bl sub_0200E628 + add r0, r5, #0x0 + bl sub_0200CAB4 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + + thumb_func_start sub_0200E73C +sub_0200E73C: ; 0x0200E73C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + bl sub_0200E6A0 + add r0, r5, #0x0 + bl sub_0200CAB4 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + + thumb_func_start sub_0200E758 +sub_0200E758: ; 0x0200E758 + bx lr + .balign 4 + + thumb_func_start sub_0200E75C +sub_0200E75C: ; 0x0200E75C + ldr r2, _0200E76C ; =0x0000FFFF + cmp r1, r2 + bne _0200E768 + mov r1, #0x15 + lsl r1, r1, #0x4 + ldrh r1, [r0, r1] +_0200E768: + add r0, r1, #0x0 + bx lr + .balign 4 +_0200E76C: .word 0x0000FFFF + + thumb_func_start sub_0200E770 +sub_0200E770: ; 0x0200E770 + ldr r1, [r0, #0xc] + cmp r1, #0x1 + bne _0200E77C + add r2, r0, #0x0 + add r2, #0x14 + b _0200E780 +_0200E77C: + add r2, r0, #0x0 + add r2, #0x44 +_0200E780: + ldr r1, [r2, #0x28] + cmp r1, #0x1 + bne _0200E78A + ldrh r0, [r2, #0x24] + bx lr +_0200E78A: + mov r1, #0x15 + lsl r1, r1, #0x4 + ldrh r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_0200E794 +sub_0200E794: ; 0x0200E794 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r1, #0x10] + mov r1, #0x0 + bl sub_0200E440 + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + + thumb_func_start sub_0200E7A8 +sub_0200E7A8: ; 0x0200E7A8 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, [r1, #0x28] + cmp r0, #0x0 + bne _0200E7CE + ldrh r2, [r1, #0x24] + ldr r0, _0200E7D0 ; =0x00007FFF + cmp r2, r0 + beq _0200E7BE + cmp r2, #0x0 + bne _0200E7CE +_0200E7BE: + ldr r0, [r1, #0x2c] + cmp r0, #0x0 + bne _0200E7CE + mov r2, #0x1 + ldr r0, _0200E7D4 ; =sub_0200E794 + lsl r2, r2, #0xa + bl sub_0200CA98 +_0200E7CE: + pop {r3, pc} + .balign 4 +_0200E7D0: .word 0x00007FFF +_0200E7D4: .word sub_0200E794 + 1 + + thumb_func_start sub_0200E7D8 +sub_0200E7D8: ; 0x0200E7D8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x28] + cmp r0, #0x1 + bne _0200E800 + ldrh r1, [r4, #0x24] + ldr r0, _0200E804 ; =0x00007FFF + cmp r1, r0 + beq _0200E7EE + cmp r1, #0x0 + bne _0200E800 +_0200E7EE: + ldr r0, [r4, #0x2c] + cmp r0, #0x0 + bne _0200E800 + ldr r0, [r4, #0x10] + bl sub_0200E3A0 + ldr r0, [r4, #0x10] + bl sub_0200E388 +_0200E800: + pop {r4, pc} + nop +_0200E804: .word 0x00007FFF + + thumb_func_start sub_0200E808 +sub_0200E808: ; 0x0200E808 + push {r4, lr} + add r4, r0, #0x0 + add r2, r4, #0x0 + mov r1, #0x14 + mov r0, #0x0 +_0200E812: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0200E812 + add r0, r4, #0x0 + add r0, #0x14 + mov r1, #0x0 + mov r2, #0x30 + blx sub_020DF4A4 + add r0, r4, #0x0 + add r0, #0x44 + mov r1, #0x0 + mov r2, #0x30 + blx sub_020DF4A4 + add r2, r4, #0x0 + add r2, #0x74 + mov r1, #0x18 + mov r0, #0x0 +_0200E83A: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0200E83A + add r4, #0x8c + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0xc0 + blx sub_020DF4A4 + pop {r4, pc} + + thumb_func_start sub_0200E850 +sub_0200E850: ; 0x0200E850 + push {r3, lr} + ldr r1, [r0, #0xc] + cmp r1, #0x0 + bne _0200E866 + mov r1, #0x1 + str r1, [r0, #0x28] + str r1, [r0, #0x2c] + bl sub_0200F20C + mov r0, #0x0 + pop {r3, pc} +_0200E866: + bl sub_0200F2AC + pop {r3, pc} + + thumb_func_start sub_0200E86C +sub_0200E86C: ; 0x0200E86C + push {r3, lr} + ldr r1, [r0, #0xc] + cmp r1, #0x0 + bne _0200E884 + mov r1, #0x0 + str r1, [r0, #0x28] + mov r2, #0x1 + str r2, [r0, #0x2c] + bl sub_0200F20C + mov r0, #0x0 + pop {r3, pc} +_0200E884: + bl sub_0200F2AC + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200E88C +sub_0200E88C: ; 0x0200E88C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E8B4 + ldr r1, _0200E8BC ; =0x020ECF9F + ldr r0, _0200E8C0 ; =0x02105AF8 + str r1, [r0, #0x30] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E8C4 ; =0x02105B28 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E8B4: + bl sub_02010F70 + pop {r4, pc} + nop +_0200E8BC: .word 0x020ECF9F +_0200E8C0: .word 0x02105AF8 +_0200E8C4: .word 0x02105B28 + + thumb_func_start sub_0200E8C8 +sub_0200E8C8: ; 0x0200E8C8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E8EE + ldr r1, _0200E8F4 ; =0x020ECF9C + ldr r0, _0200E8F8 ; =0x02105AF8 + str r1, [r0, #0x40] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E8FC ; =0x02105B38 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E8EE: + bl sub_02010F70 + pop {r4, pc} + .balign 4 +_0200E8F4: .word 0x020ECF9C +_0200E8F8: .word 0x02105AF8 +_0200E8FC: .word 0x02105B38 + + thumb_func_start sub_0200E900 +sub_0200E900: ; 0x0200E900 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E928 + ldr r1, _0200E930 ; =0x020ECFA5 + ldr r0, _0200E934 ; =0x02105AF8 + str r1, [r0, #0x48] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E938 ; =0x02105B40 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E928: + bl sub_02010F70 + pop {r4, pc} + nop +_0200E930: .word 0x020ECFA5 +_0200E934: .word 0x02105AF8 +_0200E938: .word 0x02105B40 + + thumb_func_start sub_0200E93C +sub_0200E93C: ; 0x0200E93C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E962 + ldr r1, _0200E968 ; =0x020ECFA2 + ldr r0, _0200E96C ; =0x02105AF8 + str r1, [r0, #0x38] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E970 ; =0x02105B30 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E962: + bl sub_02010F70 + pop {r4, pc} + .balign 4 +_0200E968: .word 0x020ECFA2 +_0200E96C: .word 0x02105AF8 +_0200E970: .word 0x02105B30 + + thumb_func_start sub_0200E974 +sub_0200E974: ; 0x0200E974 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E996 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E99C ; =0x020ED0E8 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E996: + bl sub_0200FD1C + pop {r4, pc} + .balign 4 +_0200E99C: .word 0x020ED0E8 + + thumb_func_start sub_0200E9A0 +sub_0200E9A0: ; 0x0200E9A0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E9C0 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200E9C8 ; =0x020ED154 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E9C0: + bl sub_0200FD1C + pop {r4, pc} + nop +_0200E9C8: .word 0x020ED154 + + thumb_func_start sub_0200E9CC +sub_0200E9CC: ; 0x0200E9CC + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200E9F4 + ldr r1, _0200E9FC ; =0x020ECFC0 + ldr r0, _0200EA00 ; =0x02105AF8 + str r1, [r0, #0x20] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EA04 ; =0x02105B18 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200E9F4: + bl sub_02010F70 + pop {r4, pc} + nop +_0200E9FC: .word 0x020ECFC0 +_0200EA00: .word 0x02105AF8 +_0200EA04: .word 0x02105B18 + + thumb_func_start sub_0200EA08 +sub_0200EA08: ; 0x0200EA08 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EA2E + ldr r1, _0200EA34 ; =0x020ECFC6 + ldr r0, _0200EA38 ; =0x02105AF8 + str r1, [r0, #0x28] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EA3C ; =0x02105B20 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EA2E: + bl sub_02010F70 + pop {r4, pc} + .balign 4 +_0200EA34: .word 0x020ECFC6 +_0200EA38: .word 0x02105AF8 +_0200EA3C: .word 0x02105B20 + + thumb_func_start sub_0200EA40 +sub_0200EA40: ; 0x0200EA40 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EA68 + ldr r1, _0200EA70 ; =0x020ECFA8 + ldr r0, _0200EA74 ; =0x02105AF8 + str r1, [r0, #0x10] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EA78 ; =0x02105B08 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EA68: + bl sub_02010F70 + pop {r4, pc} + nop +_0200EA70: .word 0x020ECFA8 +_0200EA74: .word 0x02105AF8 +_0200EA78: .word 0x02105B08 + + thumb_func_start sub_0200EA7C +sub_0200EA7C: ; 0x0200EA7C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EAA2 + ldr r1, _0200EAA8 ; =0x020ECFB4 + ldr r0, _0200EAAC ; =0x02105AF8 + str r1, [r0, #0x18] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EAB0 ; =0x02105B10 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EAA2: + bl sub_02010F70 + pop {r4, pc} + .balign 4 +_0200EAA8: .word 0x020ECFB4 +_0200EAAC: .word 0x02105AF8 +_0200EAB0: .word 0x02105B10 + + thumb_func_start sub_0200EAB4 +sub_0200EAB4: ; 0x0200EAB4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EAD6 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EADC ; =0x020ED1C0 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EAD6: + bl sub_0200FD1C + pop {r4, pc} + .balign 4 +_0200EADC: .word 0x020ED1C0 + + thumb_func_start sub_0200EAE0 +sub_0200EAE0: ; 0x0200EAE0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EB00 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EB08 ; =0x020ED1E4 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EB00: + bl sub_0200FD1C + pop {r4, pc} + nop +_0200EB08: .word 0x020ED1E4 + + thumb_func_start sub_0200EB0C +sub_0200EB0C: ; 0x0200EB0C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EB30 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EB38 ; =0x020ED208 + ldr r2, _0200EB3C ; =0x020ED22C + add r0, r4, #0x0 + bl sub_0200FD6C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EB30: + bl sub_0200FDC4 + pop {r4, pc} + nop +_0200EB38: .word 0x020ED208 +_0200EB3C: .word 0x020ED22C + + thumb_func_start sub_0200EB40 +sub_0200EB40: ; 0x0200EB40 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EB62 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EB68 ; =0x020ED250 + ldr r2, _0200EB6C ; =0x020ED274 + add r0, r4, #0x0 + bl sub_0200FD6C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EB62: + bl sub_0200FDC4 + pop {r4, pc} + .balign 4 +_0200EB68: .word 0x020ED250 +_0200EB6C: .word 0x020ED274 + + thumb_func_start sub_0200EB70 +sub_0200EB70: ; 0x0200EB70 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EB92 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EB98 ; =0x020ED090 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EB92: + bl sub_0200FF50 + pop {r4, pc} + .balign 4 +_0200EB98: .word 0x020ED090 + + thumb_func_start sub_0200EB9C +sub_0200EB9C: ; 0x0200EB9C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EBBC + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EBC4 ; =0x020ED040 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EBBC: + bl sub_0200FF50 + pop {r4, pc} + nop +_0200EBC4: .word 0x020ED040 + + thumb_func_start sub_0200EBC8 +sub_0200EBC8: ; 0x0200EBC8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EBEA + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EBF0 ; =0x020ED050 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EBEA: + bl sub_0200FF50 + pop {r4, pc} + .balign 4 +_0200EBF0: .word 0x020ED050 + + thumb_func_start sub_0200EBF4 +sub_0200EBF4: ; 0x0200EBF4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EC14 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EC1C ; =0x020ED060 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EC14: + bl sub_0200FF50 + pop {r4, pc} + nop +_0200EC1C: .word 0x020ED060 + + thumb_func_start sub_0200EC20 +sub_0200EC20: ; 0x0200EC20 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EC42 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EC48 ; =0x020ECFE0 + add r0, r4, #0x0 + bl sub_020101EC + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EC42: + bl sub_02010224 + pop {r4, pc} + .balign 4 +_0200EC48: .word 0x020ECFE0 + + thumb_func_start sub_0200EC4C +sub_0200EC4C: ; 0x0200EC4C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EC6C + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EC74 ; =0x020ECFEC + add r0, r4, #0x0 + bl sub_020101EC + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EC6C: + bl sub_02010224 + pop {r4, pc} + nop +_0200EC74: .word 0x020ECFEC + + thumb_func_start sub_0200EC78 +sub_0200EC78: ; 0x0200EC78 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EC9A + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ECA0 ; =0x020ED0A0 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EC9A: + bl sub_0200FD1C + pop {r4, pc} + .balign 4 +_0200ECA0: .word 0x020ED0A0 + + thumb_func_start sub_0200ECA4 +sub_0200ECA4: ; 0x0200ECA4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200ECC4 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ECCC ; =0x020ED0C4 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200ECC4: + bl sub_0200FD1C + pop {r4, pc} + nop +_0200ECCC: .word 0x020ED0C4 + + thumb_func_start sub_0200ECD0 +sub_0200ECD0: ; 0x0200ECD0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200ECF2 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ECF8 ; =0x020ED10C + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200ECF2: + bl sub_0200FD1C + pop {r4, pc} + .balign 4 +_0200ECF8: .word 0x020ED10C + + thumb_func_start sub_0200ECFC +sub_0200ECFC: ; 0x0200ECFC + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200ED1C + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ED24 ; =0x020ED178 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200ED1C: + bl sub_0200FD1C + pop {r4, pc} + nop +_0200ED24: .word 0x020ED178 + + thumb_func_start sub_0200ED28 +sub_0200ED28: ; 0x0200ED28 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200ED4A + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ED50 ; =0x020ED004 + add r0, r4, #0x0 + bl sub_020103F0 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200ED4A: + bl sub_02010428 + pop {r4, pc} + .balign 4 +_0200ED50: .word 0x020ED004 + + thumb_func_start sub_0200ED54 +sub_0200ED54: ; 0x0200ED54 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200ED74 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200ED7C ; =0x020ED010 + add r0, r4, #0x0 + bl sub_020103F0 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200ED74: + bl sub_02010428 + pop {r4, pc} + nop +_0200ED7C: .word 0x020ED010 + + thumb_func_start sub_0200ED80 +sub_0200ED80: ; 0x0200ED80 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EDC4 + ldr r0, _0200EDCC ; =0x020ED298 + mov r1, #0x4 + str r0, [sp, #0x0] + ldr r0, _0200EDD0 ; =0x020ED2D8 + str r0, [sp, #0x4] + add r0, sp, #0x0 + strb r1, [r0, #0x8] + mov r1, #0x0 + strb r1, [r0, #0x9] + mov r1, #0x3f + strb r1, [r0, #0xa] + mov r1, #0x20 + strb r1, [r0, #0xb] + mov r1, #0x1 + strb r1, [r0, #0xc] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010688 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + add sp, #0x10 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EDC4: + bl sub_020106C0 + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0200EDCC: .word 0x020ED298 +_0200EDD0: .word 0x020ED2D8 + + thumb_func_start sub_0200EDD4 +sub_0200EDD4: ; 0x0200EDD4 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EE14 + ldr r0, _0200EE1C ; =0x020ED318 + mov r1, #0x4 + str r0, [sp, #0x0] + ldr r0, _0200EE20 ; =0x020ED358 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x0 + strb r1, [r0, #0x8] + strb r2, [r0, #0x9] + mov r1, #0x3f + strb r1, [r0, #0xa] + mov r1, #0x20 + strb r1, [r0, #0xb] + strb r2, [r0, #0xc] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010688 + mov r0, #0x0 + str r0, [r4, #0x28] + add sp, #0x10 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EE14: + bl sub_020106C0 + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0200EE1C: .word 0x020ED318 +_0200EE20: .word 0x020ED358 + + thumb_func_start sub_0200EE24 +sub_0200EE24: ; 0x0200EE24 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EE4C + ldr r1, _0200EE54 ; =0x020ECFD5 + ldr r0, _0200EE58 ; =0x02105AF8 + str r1, [r0, #0x0] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EE5C ; =0x02105AF8 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EE4C: + bl sub_02010F70 + pop {r4, pc} + nop +_0200EE54: .word 0x020ECFD5 +_0200EE58: .word 0x02105AF8 +_0200EE5C: .word 0x02105AF8 + + thumb_func_start sub_0200EE60 +sub_0200EE60: ; 0x0200EE60 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EE86 + ldr r1, _0200EE8C ; =0x020ECFCC + ldr r0, _0200EE90 ; =0x02105AF8 + str r1, [r0, #0x8] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EE94 ; =0x02105B00 + add r0, r4, #0x0 + bl sub_02010F2C + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EE86: + bl sub_02010F70 + pop {r4, pc} + .balign 4 +_0200EE8C: .word 0x020ECFCC +_0200EE90: .word 0x02105AF8 +_0200EE94: .word 0x02105B00 + + thumb_func_start sub_0200EE98 +sub_0200EE98: ; 0x0200EE98 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EECA + ldr r3, _0200EED4 ; =0x020ECFF8 + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010948 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + add sp, #0xc + str r0, [r4, #0x2c] + pop {r3-r4, pc} +_0200EECA: + bl sub_02010988 + add sp, #0xc + pop {r3-r4, pc} + nop +_0200EED4: .word 0x020ECFF8 + + thumb_func_start sub_0200EED8 +sub_0200EED8: ; 0x0200EED8 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EF08 + ldr r3, _0200EF10 ; =0x020ED034 + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010948 + mov r0, #0x0 + str r0, [r4, #0x28] + add sp, #0xc + str r0, [r4, #0x2c] + pop {r3-r4, pc} +_0200EF08: + bl sub_02010988 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_0200EF10: .word 0x020ED034 + + thumb_func_start sub_0200EF14 +sub_0200EF14: ; 0x0200EF14 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EF46 + ldr r3, _0200EF50 ; =0x020ED01C + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010C7C + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + add sp, #0xc + str r0, [r4, #0x2c] + pop {r3-r4, pc} +_0200EF46: + bl sub_02010CBC + add sp, #0xc + pop {r3-r4, pc} + nop +_0200EF50: .word 0x020ED01C + + thumb_func_start sub_0200EF54 +sub_0200EF54: ; 0x0200EF54 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EF84 + ldr r3, _0200EF8C ; =0x020ED028 + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02010C7C + mov r0, #0x0 + str r0, [r4, #0x28] + add sp, #0xc + str r0, [r4, #0x2c] + pop {r3-r4, pc} +_0200EF84: + bl sub_02010CBC + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_0200EF8C: .word 0x020ED028 + + thumb_func_start sub_0200EF90 +sub_0200EF90: ; 0x0200EF90 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EFB2 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EFB8 ; =0x020ED080 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EFB2: + bl sub_0200FF50 + pop {r4, pc} + .balign 4 +_0200EFB8: .word 0x020ED080 + + thumb_func_start sub_0200EFBC +sub_0200EFBC: ; 0x0200EFBC + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200EFDC + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200EFE4 ; =0x020ED070 + add r0, r4, #0x0 + bl sub_0200FF18 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200EFDC: + bl sub_0200FF50 + pop {r4, pc} + nop +_0200EFE4: .word 0x020ED070 + + thumb_func_start sub_0200EFE8 +sub_0200EFE8: ; 0x0200EFE8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200F00A + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200F010 ; =0x020ED130 + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200F00A: + bl sub_0200FD1C + pop {r4, pc} + .balign 4 +_0200F010: .word 0x020ED130 + + thumb_func_start sub_0200F014 +sub_0200F014: ; 0x0200F014 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200F034 + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200F03C ; =0x020ED19C + add r0, r4, #0x0 + bl sub_0200FCC8 + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200F034: + bl sub_0200FD1C + pop {r4, pc} + nop +_0200F03C: .word 0x020ED19C + + thumb_func_start sub_0200F040 +sub_0200F040: ; 0x0200F040 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200F068 + ldr r1, _0200F070 ; =0x020ECFAE + ldr r0, _0200F074 ; =0x02105AF8 + str r1, [r0, #0x74] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200F078 ; =0x02105B48 + add r0, r4, #0x0 + bl sub_020111AC + mov r0, #0x1 + str r0, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + pop {r4, pc} +_0200F068: + bl sub_02011214 + pop {r4, pc} + nop +_0200F070: .word 0x020ECFAE +_0200F074: .word 0x02105AF8 +_0200F078: .word 0x02105B48 + + thumb_func_start sub_0200F07C +sub_0200F07C: ; 0x0200F07C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + bne _0200F0A2 + ldr r1, _0200F0A8 ; =0x020ECFBA + ldr r0, _0200F0AC ; =0x02105B78 + str r1, [r0, #0x24] + ldrh r0, [r4, #0x24] + bl sub_0200E420 + ldr r1, _0200F0B0 ; =0x02105B78 + add r0, r4, #0x0 + bl sub_020111AC + mov r0, #0x0 + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + pop {r4, pc} +_0200F0A2: + bl sub_02011214 + pop {r4, pc} + .balign 4 +_0200F0A8: .word 0x020ECFBA +_0200F0AC: .word 0x02105B78 +_0200F0B0: .word 0x02105B78 + + thumb_func_start sub_0200F0B4 +sub_0200F0B4: ; 0x0200F0B4 + asr r0, r0, #0x4 + lsl r1, r0, #0x1 + lsl r0, r1, #0x1 + ldr r2, _0200F0C8 ; =0x020FFA38 + add r1, r1, #0x1 + lsl r1, r1, #0x1 + ldr r3, _0200F0CC ; =sub_020C50B8 + ldrsh r0, [r2, r0] + ldrsh r1, [r2, r1] + bx r3 + .balign 4 +_0200F0C8: .word 0x020FFA38 +_0200F0CC: .word sub_020C50B8 + + thumb_func_start sub_0200F0D0 +sub_0200F0D0: ; 0x0200F0D0 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0200F0B4 + lsl r2, r4, #0xc + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + asr r0, r1, #0xc + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200F0F8 +sub_0200F0F8: ; 0x0200F0F8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + bl sub_0200F0B4 + cmp r6, r7 + bge _0200F142 + lsl r1, r6, #0x2 + str r0, [sp, #0x0] + asr r0, r0, #0x1f + lsl r4, r6, #0xc + add r5, r5, r1 + str r0, [sp, #0x4] +_0200F116: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + asr r3, r4, #0x1f + add r2, r4, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + lsl r2, r2, #0xa + add r0, r0, r2 + ldr r2, _0200F148 ; =0x00000000 + adc r1, r2 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + asr r0, r0, #0xc + stmia r5!, {r0} + mov r0, #0x1 + lsl r0, r0, #0xc + add r6, r6, #0x1 + add r4, r4, r0 + cmp r6, r7 + blt _0200F116 +_0200F142: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0200F148: .word 0x00000000 + + thumb_func_start sub_0200F14C +sub_0200F14C: ; 0x0200F14C + push {r4, lr} + add r4, r1, #0x0 + bl sub_0200F0B4 + add r1, r0, #0x0 + lsr r0, r4, #0x1f + add r0, r4, r0 + asr r0, r0, #0x1 + lsl r0, r0, #0xc + blx sub_020C50B8 + pop {r4, pc} + + thumb_func_start sub_0200F164 +sub_0200F164: ; 0x0200F164 + ldr r3, _0200F170 ; =sub_020EBC80 + sub r0, r1, r0 + lsl r0, r0, #0x7 + add r1, r2, #0x0 + bx r3 + nop +_0200F170: .word sub_020EBC80 + + thumb_func_start sub_0200F174 +sub_0200F174: ; 0x0200F174 + add r0, r0, r1 + bpl _0200F17A + mov r0, #0x0 +_0200F17A: + cmp r0, #0xff + ble _0200F180 + mov r0, #0xff +_0200F180: + bx lr + .balign 4 + + thumb_func_start sub_0200F184 +sub_0200F184: ; 0x0200F184 + ldr r3, [r0, #0x0] + ldr r2, [r1, #0x0] + add r2, r3, r2 + str r2, [r0, #0x0] + ldr r3, [r0, #0x4] + ldr r2, [r1, #0x4] + add r2, r3, r2 + str r2, [r0, #0x4] + ldr r3, [r0, #0x8] + ldr r2, [r1, #0x8] + add r2, r3, r2 + str r2, [r0, #0x8] + ldr r2, [r0, #0xc] + ldr r1, [r1, #0xc] + add r1, r2, r1 + str r1, [r0, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_0200F1A8 +sub_0200F1A8: ; 0x0200F1A8 + push {r3-r7, lr} + add r7, r1, #0x0 + ldr r1, [sp, #0x1c] + add r5, r3, #0x0 + str r1, [sp, #0x1c] + ldr r1, [r5, #0x0] + ldr r4, [sp, #0x18] + lsl r1, r1, #0x7 + str r1, [r0, #0x0] + ldr r1, [r5, #0x4] + add r6, r2, #0x0 + lsl r1, r1, #0x7 + str r1, [r0, #0x4] + ldr r1, [r5, #0x8] + add r2, r4, #0x0 + lsl r1, r1, #0x7 + str r1, [r0, #0x8] + ldr r1, [r5, #0xc] + lsl r1, r1, #0x7 + str r1, [r0, #0xc] + ldmia r2!, {r0-r1} + stmia r7!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r7!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + ldr r2, [sp, #0x1c] + bl sub_0200F164 + str r0, [r6, #0x0] + ldr r0, [r5, #0x4] + ldr r1, [r4, #0x4] + ldr r2, [sp, #0x1c] + bl sub_0200F164 + str r0, [r6, #0x4] + ldr r0, [r5, #0x8] + ldr r1, [r4, #0x8] + ldr r2, [sp, #0x1c] + bl sub_0200F164 + str r0, [r6, #0x8] + ldr r0, [r5, #0xc] + ldr r1, [r4, #0xc] + ldr r2, [sp, #0x1c] + bl sub_0200F164 + str r0, [r6, #0xc] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200F20C +sub_0200F20C: ; 0x0200F20C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r6, r1, #0x0 + mov r1, #0x1c + bl sub_02016998 + str r0, [r5, #0x14] + mov r2, #0x1c + mov r1, #0x0 +_0200F220: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _0200F220 + ldr r4, [r5, #0x14] + cmp r6, #0x0 + ldrh r1, [r5, #0x24] + ldr r0, _0200F2A8 ; =0x00007FFF + bne _0200F254 + cmp r1, r0 + bne _0200F23C + mov r7, #0x10 + mov r6, #0x0 + b _0200F274 +_0200F23C: + cmp r1, #0x0 + bne _0200F248 + mov r7, #0xf + mvn r7, r7 + mov r6, #0x0 + b _0200F274 +_0200F248: + mov r7, #0xf + mvn r7, r7 + mov r6, #0x0 + bl sub_02020C2C + b _0200F274 +_0200F254: + cmp r1, r0 + bne _0200F25E + mov r7, #0x0 + mov r6, #0x10 + b _0200F274 +_0200F25E: + cmp r1, #0x0 + bne _0200F26A + mov r7, #0x0 + add r6, r7, #0x0 + sub r6, #0x10 + b _0200F274 +_0200F26A: + mov r7, #0x0 + add r6, r7, #0x0 + sub r6, #0x10 + bl sub_02020C2C +_0200F274: + ldr r0, [r5, #0x10] + add r1, r7, #0x0 + bl sub_0200E440 + ldr r0, [r5, #0x4] + add r1, r6, #0x0 + str r0, [r4, #0x0] + ldr r0, [r5, #0x8] + str r0, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + lsl r0, r7, #0x7 + str r0, [r4, #0xc] + lsl r0, r6, #0x7 + str r0, [r4, #0x10] + ldr r2, [r5, #0x4] + add r0, r7, #0x0 + bl sub_0200F164 + str r0, [r4, #0x14] + ldr r0, [r5, #0x10] + str r0, [r4, #0x18] + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + pop {r3-r7, pc} + .balign 4 +_0200F2A8: .word 0x00007FFF + + thumb_func_start sub_0200F2AC +sub_0200F2AC: ; 0x0200F2AC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0xc] + mov r4, #0x0 + ldr r0, [r5, #0x14] + cmp r1, #0x1 + beq _0200F2C4 + cmp r1, #0x2 + beq _0200F2D4 + cmp r1, #0x3 + beq _0200F2E6 + b _0200F2E8 +_0200F2C4: + bl sub_0200F2EC + cmp r0, #0x1 + bne _0200F2E8 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200F2E8 +_0200F2D4: + bl sub_02016A18 + add r0, r4, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r4, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200F2E8 +_0200F2E6: + mov r4, #0x1 +_0200F2E8: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0200F2EC +sub_0200F2EC: ; 0x0200F2EC + push {r4, lr} + add r1, r0, #0x0 + ldr r0, [r1, #0x8] + mov r4, #0x0 + add r2, r0, #0x1 + str r2, [r1, #0x8] + ldr r0, [r1, #0x4] + cmp r2, r0 + blt _0200F32A + str r4, [r1, #0x8] + ldr r0, [r1, #0x0] + sub r0, r0, #0x1 + cmp r0, #0x0 + ble _0200F314 + str r0, [r1, #0x0] + ldr r2, [r1, #0xc] + ldr r0, [r1, #0x14] + add r0, r2, r0 + str r0, [r1, #0xc] + b _0200F31A +_0200F314: + ldr r0, [r1, #0x10] + mov r4, #0x1 + str r0, [r1, #0xc] +_0200F31A: + ldr r2, [r1, #0xc] + ldr r0, [r1, #0x18] + asr r1, r2, #0x6 + lsr r1, r1, #0x19 + add r1, r2, r1 + asr r1, r1, #0x7 + bl sub_0200E440 +_0200F32A: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0200F330 +sub_0200F330: ; 0x0200F330 + push {r4-r6, lr} + add r4, r0, #0x0 + bne _0200F33A + bl sub_02020C2C +_0200F33A: + ldr r0, _0200F54C ; =0x04000006 + ldrh r0, [r0, #0x0] + cmp r0, #0xc0 + bge _0200F3E0 + add r5, r0, #0x1 + cmp r5, #0xbf + ble _0200F34A + sub r5, #0xc0 +_0200F34A: + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0200F3FA + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + ldr r3, [r4, #0x8] + lsl r5, r5, #0x1 + mov r4, #0x6 + add r1, r0, r5 + lsl r4, r4, #0x6 + ldrsh r2, [r1, r4] + lsl r4, r4, #0x2 + ldrsh r1, [r0, r5] + ldr r0, [r0, r4] + cmp r0, #0x0 + ldr r0, _0200F550 ; =0x04000004 + bne _0200F3B4 + cmp r3, #0x0 + bne _0200F394 + ldrh r4, [r0, #0x0] + mov r3, #0x2 + tst r3, r4 + beq _0200F3E0 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3c] + mov r1, #0xc0 + add r0, #0x40 + strh r1, [r0, #0x0] + pop {r4-r6, pc} +_0200F394: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + beq _0200F3E0 + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F554 ; =0x04001040 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] + pop {r4-r6, pc} +_0200F3B4: + cmp r3, #0x0 + bne _0200F3D8 + ldrh r4, [r0, #0x0] + mov r3, #0x2 + tst r3, r4 + beq _0200F3E0 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3e] + mov r1, #0xc0 + add r0, #0x42 + strh r1, [r0, #0x0] + pop {r4-r6, pc} +_0200F3D8: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + bne _0200F3E2 +_0200F3E0: + b _0200F548 +_0200F3E2: + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F558 ; =0x04001042 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] + pop {r4-r6, pc} +_0200F3FA: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + add r3, r0, #0x0 + lsl r5, r5, #0x1 + mov r6, #0x6 + add r1, r3, r5 + lsl r6, r6, #0x6 + ldrsh r2, [r1, r6] + lsl r6, r6, #0x2 + ldrsh r1, [r3, r5] + ldr r3, [r3, r6] + ldr r0, [r4, #0x8] + cmp r3, #0x0 + bne _0200F460 + cmp r0, #0x0 + ldr r0, _0200F550 ; =0x04000004 + bne _0200F440 + ldrh r6, [r0, #0x0] + mov r3, #0x2 + tst r3, r6 + beq _0200F4A4 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3c] + mov r1, #0xc0 + add r0, #0x40 + strh r1, [r0, #0x0] + b _0200F4A4 +_0200F440: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + beq _0200F4A4 + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F554 ; =0x04001040 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] + b _0200F4A4 +_0200F460: + cmp r0, #0x0 + ldr r0, _0200F550 ; =0x04000004 + bne _0200F486 + ldrh r6, [r0, #0x0] + mov r3, #0x2 + tst r3, r6 + beq _0200F4A4 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3e] + mov r1, #0xc0 + add r0, #0x42 + strh r1, [r0, #0x0] + b _0200F4A4 +_0200F486: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + beq _0200F4A4 + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F558 ; =0x04001042 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] +_0200F4A4: + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200F5D8 + ldr r3, [r4, #0x8] + mov r4, #0x6 + add r1, r0, r5 + lsl r4, r4, #0x6 + ldrsh r2, [r1, r4] + lsl r4, r4, #0x2 + ldrsh r1, [r0, r5] + ldr r0, [r0, r4] + cmp r0, #0x0 + ldr r0, _0200F550 ; =0x04000004 + bne _0200F506 + cmp r3, #0x0 + bne _0200F4E6 + ldrh r4, [r0, #0x0] + mov r3, #0x2 + tst r3, r4 + beq _0200F548 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3c] + mov r1, #0xc0 + add r0, #0x40 + strh r1, [r0, #0x0] + pop {r4-r6, pc} +_0200F4E6: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + beq _0200F548 + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F554 ; =0x04001040 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] + pop {r4-r6, pc} +_0200F506: + cmp r3, #0x0 + bne _0200F52A + ldrh r4, [r0, #0x0] + mov r3, #0x2 + tst r3, r4 + beq _0200F548 + lsl r3, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + orr r1, r3 + strh r1, [r0, #0x3e] + mov r1, #0xc0 + add r0, #0x42 + strh r1, [r0, #0x0] + pop {r4-r6, pc} +_0200F52A: + ldrh r3, [r0, #0x0] + mov r0, #0x2 + tst r0, r3 + beq _0200F548 + mov r0, #0xff + lsl r1, r1, #0x8 + lsl r0, r0, #0x8 + and r1, r0 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + ldr r1, _0200F558 ; =0x04001042 + strh r0, [r1, #0x0] + mov r0, #0xc0 + strh r0, [r1, #0x4] +_0200F548: + pop {r4-r6, pc} + nop +_0200F54C: .word 0x04000006 +_0200F550: .word 0x04000004 +_0200F554: .word 0x04001040 +_0200F558: .word 0x04001042 + + thumb_func_start sub_0200F55C +sub_0200F55C: ; 0x0200F55C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x0 + beq _0200F572 + cmp r4, #0x1 + beq _0200F572 + cmp r4, #0x2 + beq _0200F58C + pop {r4-r6, pc} +_0200F572: + ldr r1, _0200F5B8 ; =0x00000604 + add r0, r3, #0x0 + bl sub_02016998 + str r0, [r5, #0x0] + mov r0, #0x1 + str r0, [r5, #0x4] + str r6, [r5, #0x8] + mov r0, #0x6 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x8 + str r4, [r1, r0] + pop {r4-r6, pc} +_0200F58C: + ldr r1, _0200F5BC ; =0x00000C08 + add r0, r3, #0x0 + bl sub_02016998 + str r0, [r5, #0x0] + mov r0, #0x2 + str r0, [r5, #0x4] + mov r0, #0x6 + mov r3, #0x0 + lsl r0, r0, #0x8 + str r6, [r5, #0x8] + add r4, r3, #0x0 + add r1, r0, #0x4 +_0200F5A6: + ldr r2, [r5, #0x0] + add r2, r2, r4 + str r3, [r2, r0] + add r3, r3, #0x1 + add r4, r4, r1 + cmp r3, #0x2 + blt _0200F5A6 + pop {r4-r6, pc} + nop +_0200F5B8: .word 0x00000604 +_0200F5BC: .word 0x00000C08 + + thumb_func_start sub_0200F5C0 +sub_0200F5C0: ; 0x0200F5C0 + ldr r3, _0200F5C4 ; =sub_0200F5C8 + bx r3 + .balign 4 +_0200F5C4: .word sub_0200F5C8 + 1 + + thumb_func_start sub_0200F5C8 +sub_0200F5C8: ; 0x0200F5C8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_0200F5D8 +sub_0200F5D8: ; 0x0200F5D8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + add r4, r1, #0x0 + cmp r0, r4 + bgt _0200F5E8 + bl sub_02020C2C +_0200F5E8: + ldr r0, _0200F5F4 ; =0x00000604 + ldr r1, [r5, #0x0] + mul r0, r4 + add r0, r1, r0 + pop {r3-r5, pc} + nop +_0200F5F4: .word 0x00000604 + + thumb_func_start sub_0200F5F8 +sub_0200F5F8: ; 0x0200F5F8 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + mov r4, #0x0 + cmp r0, #0x0 + ble _0200F624 + mov r7, #0x3 + lsl r7, r7, #0x8 + add r6, r7, #0x0 +_0200F60C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200F5D8 + add r1, r0, r6 + add r2, r7, #0x0 + blx sub_020DF438 + ldr r0, [r5, #0x4] + add r4, r4, #0x1 + cmp r4, r0 + blt _0200F60C +_0200F624: + ldr r0, [sp, #0x0] + bl sub_0200CAB4 + pop {r3-r7, pc} + + thumb_func_start sub_0200F62C +sub_0200F62C: ; 0x0200F62C + push {r4-r5, lr} + sub sp, #0xc + add r5, r1, #0x0 + add r4, r2, #0x0 + cmp r0, #0x0 + bne _0200F644 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02011634 + add sp, #0xc + pop {r4-r5, pc} +_0200F644: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02011634 + mov r2, #0x0 + add r0, r5, #0x0 + mov r1, #0x3f + add r3, r2, #0x0 + str r4, [sp, #0x0] + bl sub_02011650 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, r5, #0x0 + add r2, r1, #0x0 + add r3, r1, #0x0 + str r4, [sp, #0x8] + bl sub_02011698 + add r0, r5, #0x0 + mov r1, #0x20 + mov r2, #0x0 + add r3, r4, #0x0 + bl sub_02011678 + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_0200F67C +sub_0200F67C: ; 0x0200F67C + push {r4-r7, lr} + sub sp, #0xc + add r7, r2, #0x0 + ldr r2, [sp, #0x34] + add r6, r0, #0x0 + add r5, r3, #0x0 + ldr r4, [sp, #0x20] + cmp r2, #0x0 + bne _0200F6B8 + add r0, r1, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + add r3, r4, #0x0 + bl sub_020114AC + add r0, r7, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02011534 + str r5, [sp, #0x0] + ldr r0, [sp, #0x24] + ldr r1, [sp, #0x28] + ldr r2, [sp, #0x2c] + ldr r3, [sp, #0x30] + str r4, [sp, #0x4] + bl sub_02011574 + add sp, #0xc + pop {r4-r7, pc} +_0200F6B8: + mov r2, #0x0 + str r4, [sp, #0x0] + bl sub_02011650 + add r0, r6, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + add r3, r4, #0x0 + bl sub_02011678 + ldr r0, [sp, #0x30] + ldr r1, [sp, #0x24] + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x2c] + add r0, r6, #0x0 + str r4, [sp, #0x8] + bl sub_02011698 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0200F6E4 +sub_0200F6E4: ; 0x0200F6E4 + push {r3, lr} + cmp r3, #0x0 + bne _0200F6F4 + add r0, r1, #0x0 + add r1, r2, #0x0 + bl sub_02011480 + pop {r3, pc} +_0200F6F4: + bl sub_02011634 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0200F6FC +sub_0200F6FC: ; 0x0200F6FC + push {r3-r7, lr} + add r4, r2, #0x0 + mov r2, #0xc3 + add r6, r1, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + add r5, r0, #0x0 + add r7, r3, #0x0 + blx sub_020DF4A4 + cmp r4, #0x1 + bne _0200F726 + mov r0, #0x6 + lsl r0, r0, #0x6 + str r7, [r5, r0] + mov r0, #0xc2 + lsl r0, r0, #0x2 + strb r4, [r5, r0] + add r0, r0, #0x1 + strb r6, [r5, r0] + pop {r3-r7, pc} +_0200F726: + mov r0, #0x6 + lsl r0, r0, #0x6 + str r7, [r5, r0] + mov r0, #0xc1 + ldr r1, [sp, #0x18] + lsl r0, r0, #0x2 + str r1, [r5, r0] + add r1, r0, #0x4 + strb r4, [r5, r1] + add r0, r0, #0x5 + strb r6, [r5, r0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200F740 +sub_0200F740: ; 0x0200F740 + ldr r3, _0200F74C ; =sub_0200CA98 + add r1, r0, #0x0 + ldr r0, _0200F750 ; =sub_0200F780 + ldr r2, _0200F754 ; =0x000003FF + bx r3 + nop +_0200F74C: .word sub_0200CA98 + 1 +_0200F750: .word sub_0200F780 + 1 +_0200F754: .word 0x000003FF + + thumb_func_start sub_0200F758 +sub_0200F758: ; 0x0200F758 + push {r3, lr} + ldr r3, _0200F768 ; =0x00000309 + str r2, [sp, #0x0] + ldrb r3, [r1, r3] + ldr r2, _0200F76C ; =sub_0200F7AC + bl sub_0200E6CC + pop {r3, pc} + .balign 4 +_0200F768: .word 0x00000309 +_0200F76C: .word sub_0200F7AC + 1 + + thumb_func_start sub_0200F770 +sub_0200F770: ; 0x0200F770 + ldr r3, _0200F778 ; =0x00000309 + ldrb r1, [r1, r3] + ldr r3, _0200F77C ; =sub_0200E6F8 + bx r3 + .balign 4 +_0200F778: .word 0x00000309 +_0200F77C: .word sub_0200E6F8 + 1 + + thumb_func_start sub_0200F780 +sub_0200F780: ; 0x0200F780 + push {r3-r7, lr} + mov r7, #0xc0 + add r6, r7, #0x0 + str r0, [sp, #0x0] + add r5, r1, #0x0 + mov r4, #0x0 + add r6, #0xc4 +_0200F78E: + add r0, r5, #0x0 + add r0, #0xc0 + add r1, r5, #0x0 + add r2, r7, #0x0 + blx sub_020DF438 + add r4, r4, #0x1 + add r5, r5, r6 + cmp r4, #0x2 + blt _0200F78E + ldr r0, [sp, #0x0] + bl sub_0200CAB4 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200F7AC +sub_0200F7AC: ; 0x0200F7AC + push {r3-r5, lr} + add r4, r0, #0x0 + bne _0200F7B6 + bl sub_02020C2C +_0200F7B6: + ldr r0, _0200FAC0 ; =0x04000006 + ldrh r0, [r0, #0x0] + cmp r0, #0xc0 + bge _0200F838 + add r0, r0, #0x1 + cmp r0, #0xbf + ble _0200F7C6 + sub r0, #0xc0 +_0200F7C6: + mov r2, #0xc2 + lsl r2, r2, #0x2 + ldrb r1, [r4, r2] + cmp r1, #0x1 + beq _0200F7D2 + b _0200F96C +_0200F7D2: + add r0, r4, r0 + add r0, #0xc0 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0200F8A2 + add r0, r2, #0x1 + ldrb r0, [r4, r0] + cmp r0, #0x0 + ldr r0, _0200FAC4 ; =0x04000004 + bne _0200F802 + ldrh r2, [r0, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200F81C + add r0, #0x46 + ldrh r2, [r0, #0x0] + mov r1, #0x3f + bic r2, r1 + mov r1, #0x3f + orr r2, r1 + mov r1, #0x20 + orr r1, r2 + strh r1, [r0, #0x0] + b _0200F81C +_0200F802: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200F81C + ldr r1, _0200FAC8 ; =0x0400104A + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x3f + orr r2, r0 + mov r0, #0x20 + orr r0, r2 + strh r0, [r1, #0x0] +_0200F81C: + ldr r0, _0200FACC ; =0x00000309 + ldrb r1, [r4, r0] + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x0 + bne _0200F868 + cmp r1, #0x0 + bne _0200F84C + ldr r2, _0200FAC4 ; =0x04000004 + mov r0, #0x2 + ldrh r1, [r2, #0x0] + tst r0, r1 + bne _0200F83A +_0200F838: + b _0200FCB0 +_0200F83A: + add r2, #0x44 + ldrh r1, [r2, #0x0] + mov r0, #0x3f + bic r1, r0 + mov r0, #0x20 + orr r1, r0 + orr r0, r1 + strh r0, [r2, #0x0] + pop {r3-r5, pc} +_0200F84C: + ldr r0, _0200FAC4 ; =0x04000004 + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200F954 + ldr r1, _0200FAD0 ; =0x04001048 + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x20 + orr r2, r0 + orr r0, r2 + strh r0, [r1, #0x0] + pop {r3-r5, pc} +_0200F868: + cmp r1, #0x0 + ldr r0, _0200FAC4 ; =0x04000004 + bne _0200F888 + ldrh r1, [r0, #0x0] + mov r2, #0x2 + tst r1, r2 + beq _0200F954 + add r0, #0x44 + ldrh r3, [r0, #0x0] + ldr r1, _0200FAD4 ; =0xFFFFC0FF + and r3, r1 + lsl r1, r2, #0xc + orr r3, r1 + orr r1, r3 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200F888: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200F954 + ldr r2, _0200FAD0 ; =0x04001048 + ldr r0, _0200FAD4 ; =0xFFFFC0FF + ldrh r1, [r2, #0x0] + and r1, r0 + lsr r0, r2, #0xd + orr r1, r0 + orr r0, r1 + strh r0, [r2, #0x0] + pop {r3-r5, pc} +_0200F8A2: + add r0, r2, #0x1 + ldrb r0, [r4, r0] + cmp r0, #0x0 + ldr r0, _0200FAC4 ; =0x04000004 + bne _0200F8C6 + ldrh r2, [r0, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200F8DE + add r0, #0x46 + ldrh r2, [r0, #0x0] + mov r1, #0x3f + bic r2, r1 + mov r1, #0x20 + orr r2, r1 + orr r1, r2 + strh r1, [r0, #0x0] + b _0200F8DE +_0200F8C6: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200F8DE + ldr r1, _0200FAC8 ; =0x0400104A + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x20 + orr r2, r0 + orr r0, r2 + strh r0, [r1, #0x0] +_0200F8DE: + ldr r0, _0200FACC ; =0x00000309 + ldrb r1, [r4, r0] + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x0 + ldr r0, _0200FAC4 ; =0x04000004 + bne _0200F92A + cmp r1, #0x0 + bne _0200F90E + ldrh r2, [r0, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200F954 + add r0, #0x44 + ldrh r2, [r0, #0x0] + mov r1, #0x3f + bic r2, r1 + mov r1, #0x3f + orr r2, r1 + mov r1, #0x20 + orr r1, r2 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200F90E: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200F954 + ldr r1, _0200FAD0 ; =0x04001048 + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x3f + orr r2, r0 + mov r0, #0x20 + orr r0, r2 + strh r0, [r1, #0x0] + pop {r3-r5, pc} +_0200F92A: + cmp r1, #0x0 + bne _0200F94C + ldrh r1, [r0, #0x0] + mov r2, #0x2 + tst r1, r2 + beq _0200F954 + add r0, #0x44 + ldrh r3, [r0, #0x0] + ldr r1, _0200FAD4 ; =0xFFFFC0FF + and r3, r1 + mov r1, #0x3f + lsl r1, r1, #0x8 + orr r3, r1 + lsl r1, r2, #0xc + orr r1, r3 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200F94C: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + bne _0200F956 +_0200F954: + b _0200FCB0 +_0200F956: + ldr r2, _0200FAD0 ; =0x04001048 + ldr r0, _0200FAD4 ; =0xFFFFC0FF + ldrh r1, [r2, #0x0] + and r1, r0 + mov r0, #0x3f + lsl r0, r0, #0x8 + orr r1, r0 + lsr r0, r2, #0xd + orr r0, r1 + strh r0, [r2, #0x0] + pop {r3-r5, pc} +_0200F96C: + add r1, r4, r0 + add r1, #0xc0 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _0200FA38 + add r1, r2, #0x1 + ldrb r1, [r4, r1] + cmp r1, #0x0 + ldr r1, _0200FAC4 ; =0x04000004 + bne _0200F99C + ldrh r3, [r1, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200F9B6 + add r1, #0x46 + ldrh r3, [r1, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x3f + orr r3, r2 + mov r2, #0x20 + orr r2, r3 + strh r2, [r1, #0x0] + b _0200F9B6 +_0200F99C: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200F9B6 + ldr r2, _0200FAC8 ; =0x0400104A + mov r1, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r1 + mov r1, #0x3f + orr r3, r1 + mov r1, #0x20 + orr r1, r3 + strh r1, [r2, #0x0] +_0200F9B6: + ldr r1, _0200FACC ; =0x00000309 + ldrb r2, [r4, r1] + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r1, [r4, r1] + cmp r1, #0x0 + ldr r1, _0200FAC4 ; =0x04000004 + bne _0200F9FE + cmp r2, #0x0 + bne _0200F9E4 + ldrh r3, [r1, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200FA0A + add r1, #0x44 + ldrh r3, [r1, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x20 + orr r3, r2 + orr r2, r3 + strh r2, [r1, #0x0] + b _0200FB16 +_0200F9E4: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FA0A + ldr r2, _0200FAD0 ; =0x04001048 + mov r1, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r1 + mov r1, #0x20 + orr r3, r1 + orr r1, r3 + strh r1, [r2, #0x0] + b _0200FB16 +_0200F9FE: + cmp r2, #0x0 + bne _0200FA1E + ldrh r2, [r1, #0x0] + mov r3, #0x2 + tst r2, r3 + bne _0200FA0C +_0200FA0A: + b _0200FB16 +_0200FA0C: + add r1, #0x44 + ldrh r5, [r1, #0x0] + ldr r2, _0200FAD4 ; =0xFFFFC0FF + and r5, r2 + lsl r2, r3, #0xc + orr r5, r2 + orr r2, r5 + strh r2, [r1, #0x0] + b _0200FB16 +_0200FA1E: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FB16 + ldr r3, _0200FAD0 ; =0x04001048 + ldr r1, _0200FAD4 ; =0xFFFFC0FF + ldrh r2, [r3, #0x0] + and r2, r1 + lsr r1, r3, #0xd + orr r2, r1 + orr r1, r2 + strh r1, [r3, #0x0] + b _0200FB16 +_0200FA38: + add r1, r2, #0x1 + ldrb r1, [r4, r1] + cmp r1, #0x0 + ldr r1, _0200FAC4 ; =0x04000004 + bne _0200FA5C + ldrh r3, [r1, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200FA74 + add r1, #0x46 + ldrh r3, [r1, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x20 + orr r3, r2 + orr r2, r3 + strh r2, [r1, #0x0] + b _0200FA74 +_0200FA5C: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FA74 + ldr r2, _0200FAC8 ; =0x0400104A + mov r1, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r1 + mov r1, #0x20 + orr r3, r1 + orr r1, r3 + strh r1, [r2, #0x0] +_0200FA74: + ldr r1, _0200FACC ; =0x00000309 + ldrb r2, [r4, r1] + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r1, [r4, r1] + cmp r1, #0x0 + ldr r1, _0200FAC4 ; =0x04000004 + bne _0200FAD8 + cmp r2, #0x0 + bne _0200FAA4 + ldrh r3, [r1, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200FB16 + add r1, #0x44 + ldrh r3, [r1, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x3f + orr r3, r2 + mov r2, #0x20 + orr r2, r3 + strh r2, [r1, #0x0] + b _0200FB16 +_0200FAA4: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FB16 + ldr r2, _0200FAD0 ; =0x04001048 + mov r1, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r1 + mov r1, #0x3f + orr r3, r1 + mov r1, #0x20 + orr r1, r3 + strh r1, [r2, #0x0] + b _0200FB16 + .balign 4 +_0200FAC0: .word 0x04000006 +_0200FAC4: .word 0x04000004 +_0200FAC8: .word 0x0400104A +_0200FACC: .word 0x00000309 +_0200FAD0: .word 0x04001048 +_0200FAD4: .word 0xFFFFC0FF +_0200FAD8: + cmp r2, #0x0 + bne _0200FAFA + ldrh r2, [r1, #0x0] + mov r3, #0x2 + tst r2, r3 + beq _0200FB16 + add r1, #0x44 + ldrh r5, [r1, #0x0] + ldr r2, _0200FCB4 ; =0xFFFFC0FF + and r5, r2 + mov r2, #0x3f + lsl r2, r2, #0x8 + orr r5, r2 + lsl r2, r3, #0xc + orr r2, r5 + strh r2, [r1, #0x0] + b _0200FB16 +_0200FAFA: + ldrh r2, [r1, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FB16 + ldr r3, _0200FCB8 ; =0x04001048 + ldr r1, _0200FCB4 ; =0xFFFFC0FF + ldrh r2, [r3, #0x0] + and r2, r1 + mov r1, #0x3f + lsl r1, r1, #0x8 + orr r2, r1 + lsr r1, r3, #0xd + orr r1, r2 + strh r1, [r3, #0x0] +_0200FB16: + mov r1, #0x61 + lsl r1, r1, #0x2 + add r1, r4, r1 + add r0, r1, r0 + add r0, #0xc0 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ldr r0, _0200FCBC ; =0x00000309 + bne _0200FBEC + ldrb r0, [r4, r0] + cmp r0, #0x0 + ldr r0, _0200FCC0 ; =0x04000004 + bne _0200FB4C + ldrh r3, [r0, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200FB66 + add r0, #0x46 + ldrh r3, [r0, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x3f + orr r3, r2 + mov r2, #0x20 + orr r2, r3 + strh r2, [r0, #0x0] + b _0200FB66 +_0200FB4C: + ldrh r2, [r0, #0x0] + mov r0, #0x2 + tst r0, r2 + beq _0200FB66 + ldr r2, _0200FCC4 ; =0x0400104A + mov r0, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r0 + mov r0, #0x3f + orr r3, r0 + mov r0, #0x20 + orr r0, r3 + strh r0, [r2, #0x0] +_0200FB66: + ldr r0, _0200FCBC ; =0x00000309 + ldrb r2, [r4, r0] + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0200FBB2 + cmp r2, #0x0 + bne _0200FB94 + ldr r2, _0200FCC0 ; =0x04000004 + mov r0, #0x2 + ldrh r1, [r2, #0x0] + tst r0, r1 + beq _0200FB9E + add r2, #0x44 + ldrh r1, [r2, #0x0] + mov r0, #0x3f + bic r1, r0 + mov r0, #0x20 + orr r1, r0 + orr r0, r1 + strh r0, [r2, #0x0] + pop {r3-r5, pc} +_0200FB94: + ldr r0, _0200FCC0 ; =0x04000004 + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + bne _0200FBA0 +_0200FB9E: + b _0200FCB0 +_0200FBA0: + ldr r1, _0200FCB8 ; =0x04001048 + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x20 + orr r2, r0 + orr r0, r2 + strh r0, [r1, #0x0] + pop {r3-r5, pc} +_0200FBB2: + cmp r2, #0x0 + ldr r0, _0200FCC0 ; =0x04000004 + bne _0200FBD2 + ldrh r1, [r0, #0x0] + mov r2, #0x2 + tst r1, r2 + beq _0200FCB0 + add r0, #0x44 + ldrh r3, [r0, #0x0] + ldr r1, _0200FCB4 ; =0xFFFFC0FF + and r3, r1 + lsl r1, r2, #0xc + orr r3, r1 + orr r1, r3 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200FBD2: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200FCB0 + ldr r2, _0200FCB8 ; =0x04001048 + ldr r0, _0200FCB4 ; =0xFFFFC0FF + ldrh r1, [r2, #0x0] + and r1, r0 + lsr r0, r2, #0xd + orr r1, r0 + orr r0, r1 + strh r0, [r2, #0x0] + pop {r3-r5, pc} +_0200FBEC: + ldrb r0, [r4, r0] + cmp r0, #0x0 + ldr r0, _0200FCC0 ; =0x04000004 + bne _0200FC0E + ldrh r3, [r0, #0x0] + mov r2, #0x2 + tst r2, r3 + beq _0200FC26 + add r0, #0x46 + ldrh r3, [r0, #0x0] + mov r2, #0x3f + bic r3, r2 + mov r2, #0x20 + orr r3, r2 + orr r2, r3 + strh r2, [r0, #0x0] + b _0200FC26 +_0200FC0E: + ldrh r2, [r0, #0x0] + mov r0, #0x2 + tst r0, r2 + beq _0200FC26 + ldr r2, _0200FCC4 ; =0x0400104A + mov r0, #0x3f + ldrh r3, [r2, #0x0] + bic r3, r0 + mov r0, #0x20 + orr r3, r0 + orr r0, r3 + strh r0, [r2, #0x0] +_0200FC26: + ldr r0, _0200FCBC ; =0x00000309 + ldrb r2, [r4, r0] + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r1, r0] + cmp r0, #0x0 + ldr r0, _0200FCC0 ; =0x04000004 + bne _0200FC72 + cmp r2, #0x0 + bne _0200FC56 + ldrh r2, [r0, #0x0] + mov r1, #0x2 + tst r1, r2 + beq _0200FCB0 + add r0, #0x44 + ldrh r2, [r0, #0x0] + mov r1, #0x3f + bic r2, r1 + mov r1, #0x3f + orr r2, r1 + mov r1, #0x20 + orr r1, r2 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200FC56: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200FCB0 + ldr r1, _0200FCB8 ; =0x04001048 + mov r0, #0x3f + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x3f + orr r2, r0 + mov r0, #0x20 + orr r0, r2 + strh r0, [r1, #0x0] + pop {r3-r5, pc} +_0200FC72: + cmp r2, #0x0 + bne _0200FC94 + ldrh r1, [r0, #0x0] + mov r2, #0x2 + tst r1, r2 + beq _0200FCB0 + add r0, #0x44 + ldrh r3, [r0, #0x0] + ldr r1, _0200FCB4 ; =0xFFFFC0FF + and r3, r1 + mov r1, #0x3f + lsl r1, r1, #0x8 + orr r3, r1 + lsl r1, r2, #0xc + orr r1, r3 + strh r1, [r0, #0x0] + pop {r3-r5, pc} +_0200FC94: + ldrh r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0200FCB0 + ldr r2, _0200FCB8 ; =0x04001048 + ldr r0, _0200FCB4 ; =0xFFFFC0FF + ldrh r1, [r2, #0x0] + and r1, r0 + mov r0, #0x3f + lsl r0, r0, #0x8 + orr r1, r0 + lsr r0, r2, #0xd + orr r0, r1 + strh r0, [r2, #0x0] +_0200FCB0: + pop {r3-r5, pc} + nop +_0200FCB4: .word 0xFFFFC0FF +_0200FCB8: .word 0x04001048 +_0200FCBC: .word 0x00000309 +_0200FCC0: .word 0x04000004 +_0200FCC4: .word 0x0400104A + + thumb_func_start sub_0200FCC8 +sub_0200FCC8: ; 0x0200FCC8 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r6, r1, #0x0 + mov r1, #0x4c + bl sub_02016998 + str r0, [r5, #0x14] + add r4, r0, #0x0 + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r0, r4, #0x0 + bl sub_0200FE20 + add r6, #0x20 + ldrb r0, [r6, #0x0] + cmp r0, #0x0 + ldr r0, [r5, #0x18] + bne _0200FD06 + ldr r2, [r4, #0x30] + ldr r3, [r4, #0x44] + mov r1, #0x1 + bl sub_0200F6E4 + b _0200FD10 +_0200FD06: + ldr r2, [r4, #0x30] + ldr r3, [r4, #0x44] + mov r1, #0x2 + bl sub_0200F6E4 +_0200FD10: + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200FD1C +sub_0200FD1C: ; 0x0200FD1C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _0200FD34 + cmp r0, #0x2 + beq _0200FD50 + cmp r0, #0x3 + beq _0200FD64 + b _0200FD66 +_0200FD34: + add r0, r4, #0x0 + bl sub_0200FE90 + cmp r0, #0x1 + bne _0200FD66 + ldr r0, [r4, #0x44] + ldr r1, [r5, #0x18] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FD66 +_0200FD50: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FD66 +_0200FD64: + mov r6, #0x1 +_0200FD66: + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200FD6C +sub_0200FD6C: ; 0x0200FD6C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r6, r1, #0x0 + mov r1, #0x98 + add r7, r2, #0x0 + bl sub_02016998 + str r0, [r5, #0x14] + add r4, r0, #0x0 + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r0, r4, #0x0 + bl sub_0200FE20 + ldr r0, [r5, #0x10] + add r1, r7, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + add r0, r4, #0x0 + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r0, #0x4c + bl sub_0200FE20 + ldr r0, [r5, #0x18] + ldr r2, [r5, #0x10] + ldr r3, [r4, #0x44] + mov r1, #0x3 + bl sub_0200F6E4 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200FDC4 +sub_0200FDC4: ; 0x0200FDC4 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _0200FDDC + cmp r0, #0x2 + beq _0200FE04 + cmp r0, #0x3 + beq _0200FE18 + b _0200FE1A +_0200FDDC: + add r0, r4, #0x0 + bl sub_0200FE90 + add r7, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x4c + bl sub_0200FE90 + add r0, r7, r0 + cmp r0, #0x2 + bne _0200FE1A + ldr r0, [r4, #0x44] + ldr r1, [r5, #0x18] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FE1A +_0200FE04: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FE1A +_0200FE18: + mov r6, #0x1 +_0200FE1A: + add r0, r6, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200FE20 +sub_0200FE20: ; 0x0200FE20 + push {r3-r7, lr} + sub sp, #0x18 + add r4, r1, #0x0 + add r1, #0x10 + add r7, r3, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + str r1, [sp, #0x0] + add r1, r5, #0x0 + add r2, r5, #0x0 + add r1, #0x20 + add r2, #0x10 + add r3, r4, #0x0 + str r6, [sp, #0x4] + bl sub_0200F1A8 + ldr r1, [sp, #0x30] + add r0, r4, #0x0 + add r2, r4, #0x0 + str r1, [r5, #0x30] + add r0, #0x20 + ldrb r0, [r0, #0x0] + add r2, #0x23 + str r0, [r5, #0x34] + str r6, [r5, #0x38] + str r7, [r5, #0x3c] + mov r0, #0x0 + str r0, [r5, #0x40] + ldr r0, [sp, #0x34] + str r0, [r5, #0x48] + ldrb r2, [r2, #0x0] + str r2, [r5, #0x44] + str r1, [sp, #0x0] + ldr r1, [r4, #0x0] + add r2, r4, #0x0 + str r1, [sp, #0x4] + ldr r1, [r4, #0x4] + add r2, #0x22 + str r1, [sp, #0x8] + ldr r1, [r4, #0x8] + str r1, [sp, #0xc] + ldr r1, [r4, #0xc] + str r1, [sp, #0x10] + ldr r1, [r5, #0x44] + str r1, [sp, #0x14] + add r1, r4, #0x0 + add r1, #0x21 + add r4, #0x20 + ldrb r1, [r1, #0x0] + ldrb r2, [r2, #0x0] + ldrb r3, [r4, #0x0] + bl sub_0200F67C + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0200FE90 +sub_0200FE90: ; 0x0200FE90 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0x40] + add r2, r1, #0x1 + str r2, [r4, #0x40] + ldr r1, [r4, #0x3c] + cmp r2, r1 + blt _0200FF10 + mov r1, #0x0 + str r1, [r4, #0x40] + ldr r1, [r4, #0x38] + sub r1, r1, #0x1 + cmp r1, #0x0 + ble _0200FEBA + str r1, [r4, #0x38] + add r1, r4, #0x0 + add r1, #0x10 + bl sub_0200F184 + b _0200FED8 +_0200FEBA: + ldr r0, [r4, #0x2c] + str r0, [sp, #0x0] + ldr r0, [r4, #0x34] + str r0, [sp, #0x4] + ldr r0, [r4, #0x30] + str r0, [sp, #0x8] + ldr r0, [r4, #0x48] + ldr r1, [r4, #0x20] + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + bl sub_02011698 + add sp, #0xc + mov r0, #0x1 + pop {r3-r4, pc} +_0200FED8: + ldr r1, [r4, #0xc] + asr r0, r1, #0x6 + lsr r0, r0, #0x19 + add r0, r1, r0 + asr r0, r0, #0x7 + str r0, [sp, #0x0] + ldr r0, [r4, #0x34] + str r0, [sp, #0x4] + ldr r0, [r4, #0x30] + str r0, [sp, #0x8] + ldr r2, [r4, #0x0] + ldr r3, [r4, #0x4] + asr r1, r2, #0x6 + lsr r1, r1, #0x19 + add r1, r2, r1 + ldr r0, [r4, #0x48] + asr r2, r3, #0x6 + lsr r2, r2, #0x19 + add r2, r3, r2 + ldr r4, [r4, #0x8] + asr r1, r1, #0x7 + asr r3, r4, #0x6 + lsr r3, r3, #0x19 + add r3, r4, r3 + asr r2, r2, #0x7 + asr r3, r3, #0x7 + bl sub_02011698 +_0200FF10: + mov r0, #0x0 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0200FF18 +sub_0200FF18: ; 0x0200FF18 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x38 + bl sub_02016998 + str r0, [r5, #0x14] + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_0200FFAC + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_0200FF50 +sub_0200FF50: ; 0x0200FF50 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _0200FF68 + cmp r0, #0x2 + beq _0200FF84 + cmp r0, #0x3 + beq _0200FF9E + b _0200FFA2 +_0200FF68: + add r0, r4, #0x0 + bl sub_02010084 + cmp r0, #0x1 + bne _0200FFA6 + ldr r0, [r4, #0x2c] + ldr r1, [r4, #0x30] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FFA6 +_0200FF84: + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0200FFA6 +_0200FF9E: + mov r6, #0x1 + b _0200FFA6 +_0200FFA2: + bl sub_02020C2C +_0200FFA6: + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0200FFAC +sub_0200FFAC: ; 0x0200FFAC + push {r4-r7, lr} + sub sp, #0x24 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + str r2, [sp, #0x18] + str r3, [sp, #0x1c] + ldr r6, [sp, #0x38] + ldr r7, [sp, #0x3c] + bl sub_0200F164 + str r0, [sp, #0x20] + ldrb r1, [r4, #0xc] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_0200F55C + ldr r0, [r4, #0x0] + lsl r0, r0, #0x7 + str r0, [r5, #0xc] + mov r0, #0x8 + ldrsh r0, [r4, r0] + str r0, [r5, #0x10] + mov r0, #0xa + ldrsh r0, [r4, r0] + str r0, [r5, #0x14] + ldr r0, [sp, #0x20] + str r0, [r5, #0x18] + ldr r0, [sp, #0x18] + str r0, [r5, #0x1c] + ldr r0, [sp, #0x1c] + str r0, [r5, #0x20] + mov r0, #0x0 + str r0, [r5, #0x24] + ldr r0, [sp, #0x40] + str r7, [r5, #0x30] + str r0, [r5, #0x34] + ldr r0, [sp, #0x44] + str r0, [r5, #0x28] + ldrb r0, [r4, #0xf] + str r0, [r5, #0x2c] + add r0, r5, #0x0 + bl sub_02010168 + ldr r0, _02010078 ; =sub_0200F5F8 + ldr r2, _0201007C ; =0x000003FF + add r1, r5, #0x0 + bl sub_0200CA98 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + mov r1, #0x3 + str r6, [sp, #0x0] + lsl r1, r1, #0x8 + ldrsh r1, [r0, r1] + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + mov r1, #0x12 + lsl r1, r1, #0x6 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x2c] + str r0, [sp, #0x14] + ldrb r1, [r4, #0xd] + ldrb r2, [r4, #0xe] + ldrb r3, [r4, #0xc] + add r0, r7, #0x0 + bl sub_0200F67C + ldrb r0, [r4, #0xc] + cmp r0, #0x0 + bne _02010058 + ldr r3, [r5, #0x2c] + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_0200F6E4 + b _02010064 +_02010058: + ldr r3, [r5, #0x2c] + add r0, r7, #0x0 + mov r1, #0x2 + add r2, r6, #0x0 + bl sub_0200F6E4 +_02010064: + ldr r0, [sp, #0x44] + ldr r2, _02010080 ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r5, #0x34] + add r1, r5, #0x0 + add r3, r6, #0x0 + bl sub_0200E6CC + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_02010078: .word sub_0200F5F8 + 1 +_0201007C: .word 0x000003FF +_02010080: .word sub_0200F330 + 1 + + thumb_func_start sub_02010084 +sub_02010084: ; 0x02010084 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x24] + add r2, r1, #0x1 + str r2, [r4, #0x24] + ldr r1, [r4, #0x20] + cmp r2, r1 + blt _020100C8 + mov r1, #0x0 + str r1, [r4, #0x24] + ldr r1, [r4, #0x1c] + sub r1, r1, #0x1 + cmp r1, #0x0 + ble _020100BA + str r1, [r4, #0x1c] + ldr r2, [r4, #0xc] + ldr r1, [r4, #0x18] + add r1, r2, r1 + str r1, [r4, #0xc] + bl sub_02010168 + ldr r0, _020100CC ; =sub_0200F5F8 + ldr r2, _020100D0 ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _020100C8 +_020100BA: + ldr r0, [r4, #0x34] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x28] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_020100C8: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_020100CC: .word sub_0200F5F8 + 1 +_020100D0: .word 0x000003FF + + thumb_func_start sub_020100D4 +sub_020100D4: ; 0x020100D4 + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x0] + asr r1, r0, #0x6 + lsr r1, r1, #0x19 + add r1, r0, r1 + asr r1, r1, #0x7 + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x24] + sub r0, r3, r2 + bpl _020100EC + neg r0, r0 +_020100EC: + cmp r0, r1 + blt _020100FA + mov r0, #0x0 + str r0, [r5, #0x0] + add sp, #0xc + str r0, [r4, #0x0] + pop {r4-r7, pc} +_020100FA: + lsl r0, r0, #0xc + str r0, [sp, #0x4] + asr r7, r0, #0x1f + lsl r0, r1, #0xc + asr r1, r0, #0x1f + add r2, r0, #0x0 + add r3, r1, #0x0 + blx sub_020EBC30 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + add r6, r1, #0x0 + add r1, r7, #0x0 + add r2, r0, #0x0 + add r3, r7, #0x0 + blx sub_020EBC30 + add r2, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x2 + ldr r1, [sp, #0x8] + mov r7, #0x0 + lsl r0, r0, #0xa + add r0, r1, r0 + adc r6, r7 + lsl r1, r6, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + mov r1, #0x2 + lsl r1, r1, #0xa + add r2, r2, r1 + adc r3, r7 + lsl r1, r3, #0x14 + lsr r2, r2, #0xc + orr r2, r1 + sub r0, r0, r2 + blx sub_020C504C + asr r2, r0, #0xc + ldr r0, [sp, #0x0] + sub r0, r0, r2 + str r0, [r5, #0x0] + bpl _02010154 + add r0, r7, #0x0 + str r0, [r5, #0x0] +_02010154: + ldr r1, [r5, #0x0] + lsl r0, r2, #0x1 + add r0, r1, r0 + str r0, [r4, #0x0] + cmp r0, #0xff + ble _02010164 + mov r0, #0xff + str r0, [r4, #0x0] +_02010164: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02010168 +sub_02010168: ; 0x02010168 + push {r3-r7, lr} + sub sp, #0x10 + mov r1, #0x0 + add r5, r0, #0x0 + bl sub_0200F5D8 + add r7, r0, #0x0 + mov r4, #0x0 + add r6, r7, #0x0 +_0201017A: + ldr r2, [r5, #0x14] + cmp r4, r2 + bgt _02010194 + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + ldr r1, [r5, #0x10] + add r3, r4, #0x0 + bl sub_020100D4 + b _020101CE +_02010194: + lsl r0, r2, #0x1 + cmp r4, r0 + bgt _020101BC + sub r0, r0, r4 + lsl r0, r0, #0x1 + add r1, r7, r0 + mov r0, #0x3 + lsl r0, r0, #0x8 + ldrsh r0, [r1, r0] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + lsl r0, r0, #0x1 + sub r0, r0, r4 + lsl r0, r0, #0x1 + add r1, r7, r0 + mov r0, #0x12 + lsl r0, r0, #0x6 + ldrsh r0, [r1, r0] + str r0, [sp, #0x8] + b _020101CE +_020101BC: + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + ldr r1, [r5, #0x10] + add r3, r4, #0x0 + bl sub_020100D4 +_020101CE: + mov r0, #0x3 + ldr r1, [sp, #0xc] + lsl r0, r0, #0x8 + strh r1, [r6, r0] + mov r0, #0x12 + ldr r1, [sp, #0x8] + lsl r0, r0, #0x6 + strh r1, [r6, r0] + add r4, r4, #0x1 + add r6, r6, #0x2 + cmp r4, #0xc0 + blt _0201017A + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020101EC +sub_020101EC: ; 0x020101EC + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x30 + bl sub_02016998 + str r0, [r5, #0x14] + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_02010280 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02010224 +sub_02010224: ; 0x02010224 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _0201023C + cmp r0, #0x2 + beq _02010258 + cmp r0, #0x3 + beq _02010272 + b _02010276 +_0201023C: + add r0, r4, #0x0 + bl sub_02010348 + cmp r0, #0x1 + bne _0201027A + ldr r0, [r4, #0x20] + ldr r1, [r4, #0x24] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0201027A +_02010258: + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0201027A +_02010272: + mov r6, #0x1 + b _0201027A +_02010276: + bl sub_02020C2C +_0201027A: + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02010280 +sub_02010280: ; 0x02010280 + push {r3-r7, lr} + sub sp, #0x20 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + str r2, [sp, #0x18] + str r3, [sp, #0x1c] + ldr r6, [sp, #0x38] + ldr r7, [sp, #0x3c] + bl sub_0200F164 + str r0, [r5, #0x10] + ldrb r1, [r4, #0x8] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_0200F55C + ldr r0, [r4, #0x0] + lsl r0, r0, #0x7 + str r0, [r5, #0xc] + ldr r0, [sp, #0x18] + str r0, [r5, #0x14] + ldr r0, [sp, #0x1c] + str r0, [r5, #0x18] + mov r0, #0x0 + str r0, [r5, #0x1c] + ldr r0, [sp, #0x40] + str r7, [r5, #0x24] + str r0, [r5, #0x28] + ldr r0, [sp, #0x44] + str r0, [r5, #0x2c] + ldrb r0, [r4, #0xb] + str r0, [r5, #0x20] + add r0, r5, #0x0 + bl sub_02010398 + ldr r0, _0201033C ; =sub_0200F5F8 + ldr r2, _02010340 ; =0x000003FF + add r1, r5, #0x0 + bl sub_0200CA98 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + mov r1, #0x3 + str r6, [sp, #0x0] + lsl r1, r1, #0x8 + ldrsh r1, [r0, r1] + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + mov r1, #0x12 + lsl r1, r1, #0x6 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x20] + str r0, [sp, #0x14] + ldrb r1, [r4, #0x9] + ldrb r2, [r4, #0xa] + ldrb r3, [r4, #0x8] + add r0, r7, #0x0 + bl sub_0200F67C + ldrb r0, [r4, #0x8] + cmp r0, #0x0 + bne _0201031C + ldr r3, [r5, #0x20] + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_0200F6E4 + b _02010328 +_0201031C: + ldr r3, [r5, #0x20] + add r0, r7, #0x0 + mov r1, #0x2 + add r2, r6, #0x0 + bl sub_0200F6E4 +_02010328: + ldr r0, [sp, #0x44] + ldr r2, _02010344 ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r5, #0x28] + add r1, r5, #0x0 + add r3, r6, #0x0 + bl sub_0200E6CC + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_0201033C: .word sub_0200F5F8 + 1 +_02010340: .word 0x000003FF +_02010344: .word sub_0200F330 + 1 + + thumb_func_start sub_02010348 +sub_02010348: ; 0x02010348 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x1c] + add r2, r1, #0x1 + str r2, [r4, #0x1c] + ldr r1, [r4, #0x18] + cmp r2, r1 + blt _0201038C + mov r1, #0x0 + str r1, [r4, #0x1c] + ldr r1, [r4, #0x14] + sub r1, r1, #0x1 + cmp r1, #0x0 + ble _0201037E + str r1, [r4, #0x14] + ldr r2, [r4, #0xc] + ldr r1, [r4, #0x10] + add r1, r2, r1 + str r1, [r4, #0xc] + bl sub_02010398 + ldr r0, _02010390 ; =sub_0200F5F8 + ldr r2, _02010394 ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _0201038C +_0201037E: + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x2c] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_0201038C: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_02010390: .word sub_0200F5F8 + 1 +_02010394: .word 0x000003FF + + thumb_func_start sub_02010398 +sub_02010398: ; 0x02010398 + push {r3-r7, lr} + sub sp, #0x1fc + sub sp, #0x104 + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + ldr r1, [r4, #0xc] + add r5, r0, #0x0 + asr r0, r1, #0x6 + lsr r0, r0, #0x19 + add r0, r1, r0 + asr r0, r0, #0x7 + add r1, sp, #0x0 + mov r2, #0xc0 + mov r3, #0x0 + bl sub_0200F0F8 + mov r7, #0x12 + mov r6, #0x0 + add r4, sp, #0x0 + lsl r7, r7, #0x6 +_020103C4: + ldr r1, [r4, #0x0] + mov r0, #0x80 + neg r1, r1 + bl sub_0200F174 + mov r1, #0x3 + lsl r1, r1, #0x8 + strh r0, [r5, r1] + ldr r1, [r4, #0x0] + mov r0, #0x80 + bl sub_0200F174 + strh r0, [r5, r7] + add r6, r6, #0x1 + add r4, r4, #0x4 + add r5, r5, #0x2 + cmp r6, #0xc0 + blt _020103C4 + add sp, #0x1fc + add sp, #0x104 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020103F0 +sub_020103F0: ; 0x020103F0 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x34 + bl sub_02016998 + str r0, [r5, #0x14] + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_0201047C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02010428 +sub_02010428: ; 0x02010428 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _02010440 + cmp r0, #0x2 + beq _0201045C + cmp r0, #0x3 + beq _02010476 + b _02010478 +_02010440: + add r0, r4, #0x0 + bl sub_02010550 + cmp r0, #0x1 + bne _02010478 + ldr r0, [r4, #0x24] + ldr r1, [r4, #0x28] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010478 +_0201045C: + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010478 +_02010476: + mov r6, #0x1 +_02010478: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0201047C +sub_0201047C: ; 0x0201047C + push {r4-r7, lr} + sub sp, #0x24 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r4, #0x0] + str r2, [sp, #0x18] + sub r0, r1, r0 + add r1, r2, #0x0 + str r3, [sp, #0x1c] + ldr r6, [sp, #0x38] + ldr r7, [sp, #0x3c] + blx sub_020EBC80 + str r0, [sp, #0x20] + ldrb r1, [r4, #0x8] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_0200F55C + mov r0, #0x2 + lsl r0, r0, #0x12 + str r0, [r5, #0xc] + ldr r0, [r4, #0x0] + str r0, [r5, #0x10] + ldr r0, [sp, #0x20] + str r0, [r5, #0x14] + ldr r0, [sp, #0x18] + str r0, [r5, #0x18] + ldr r0, [sp, #0x1c] + str r0, [r5, #0x1c] + mov r0, #0x0 + str r0, [r5, #0x20] + ldr r0, [sp, #0x40] + str r7, [r5, #0x28] + str r0, [r5, #0x2c] + ldr r0, [sp, #0x44] + str r0, [r5, #0x30] + ldrb r0, [r4, #0xb] + str r0, [r5, #0x24] + add r0, r5, #0x0 + bl sub_020105A0 + ldr r0, _02010544 ; =sub_0200F5F8 + ldr r2, _02010548 ; =0x000003FF + add r1, r5, #0x0 + bl sub_0200CA98 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + mov r1, #0xf + str r6, [sp, #0x0] + lsl r1, r1, #0x6 + ldrsh r1, [r0, r1] + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + mov r1, #0x15 + lsl r1, r1, #0x6 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x24] + str r0, [sp, #0x14] + ldrb r1, [r4, #0x9] + ldrb r2, [r4, #0xa] + ldrb r3, [r4, #0x8] + add r0, r7, #0x0 + bl sub_0200F67C + ldrb r0, [r4, #0x8] + cmp r0, #0x0 + bne _02010524 + ldr r3, [r5, #0x24] + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_0200F6E4 + b _02010530 +_02010524: + ldr r3, [r5, #0x24] + add r0, r7, #0x0 + mov r1, #0x2 + add r2, r6, #0x0 + bl sub_0200F6E4 +_02010530: + ldr r0, [sp, #0x44] + ldr r2, _0201054C ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r5, #0x2c] + add r1, r5, #0x0 + add r3, r6, #0x0 + bl sub_0200E6CC + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_02010544: .word sub_0200F5F8 + 1 +_02010548: .word 0x000003FF +_0201054C: .word sub_0200F330 + 1 + + thumb_func_start sub_02010550 +sub_02010550: ; 0x02010550 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x20] + add r2, r1, #0x1 + str r2, [r4, #0x20] + ldr r1, [r4, #0x1c] + cmp r2, r1 + blt _02010594 + mov r1, #0x0 + str r1, [r4, #0x20] + ldr r1, [r4, #0x18] + sub r1, r1, #0x1 + cmp r1, #0x0 + ble _02010586 + str r1, [r4, #0x18] + ldr r2, [r4, #0x10] + ldr r1, [r4, #0x14] + add r1, r2, r1 + str r1, [r4, #0x10] + bl sub_020105A0 + ldr r0, _02010598 ; =sub_0200F5F8 + ldr r2, _0201059C ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _02010594 +_02010586: + ldr r0, [r4, #0x2c] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x30] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_02010594: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_02010598: .word sub_0200F5F8 + 1 +_0201059C: .word 0x000003FF + + thumb_func_start sub_020105A0 +sub_020105A0: ; 0x020105A0 + push {r4-r7, lr} + sub sp, #0x1fc + sub sp, #0x110 + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + str r0, [sp, #0x0] + ldr r0, [r4, #0x10] + ldr r2, [r4, #0xc] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02010680 ; =0x020FFA38 + asr r3, r2, #0x1f + ldrsh r0, [r0, r1] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + asr r7, r1, #0xc + lsl r0, r7, #0x1 + mov r1, #0x15 + blx sub_020EBC80 + add r0, r0, #0x1 + lsl r0, r0, #0x1 + mov r1, #0xb4 + sub r2, r1, r0 + ldr r0, _02010684 ; =0x0000FFFF + add r1, #0xb4 + mul r0, r2 + blx sub_020EBC80 + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r4, r1, #0x1 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x8 + bl sub_0200F14C + asr r0, r0, #0xc + str r0, [sp, #0x4] + cmp r0, #0xc0 + blt _0201060C + bl sub_02020C2C +_0201060C: + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + add r1, sp, #0xc + mov r3, #0x0 + bl sub_0200F0F8 + ldr r5, [sp, #0x0] + mov r4, #0x0 +_0201061C: + ldr r0, [sp, #0x4] + add r1, r4, #0x1 + sub r0, r0, r1 + add r6, r7, #0x0 + cmp r0, #0x0 + ble _02010634 + lsl r1, r0, #0x2 + add r0, sp, #0xc + ldr r0, [r0, r1] + cmp r0, r7 + ble _02010634 + add r6, r0, #0x0 +_02010634: + mov r0, #0x80 + neg r1, r6 + bl sub_0200F174 + str r0, [sp, #0x8] + mov r0, #0x80 + add r1, r6, #0x0 + bl sub_0200F174 + ldr r1, [sp, #0x8] + lsl r0, r0, #0x10 + lsl r1, r1, #0x10 + asr r2, r1, #0x10 + mov r1, #0x3 + lsl r1, r1, #0x8 + strh r2, [r5, r1] + asr r1, r0, #0x10 + mov r0, #0x12 + lsl r0, r0, #0x6 + strh r1, [r5, r0] + mov r0, #0xbf + sub r0, r0, r4 + lsl r3, r0, #0x1 + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r0, r0, r3 + mov r3, #0x3 + lsl r3, r3, #0x8 + strh r2, [r0, r3] + mov r2, #0x12 + lsl r2, r2, #0x6 + add r5, r5, #0x2 + strh r1, [r0, r2] + cmp r4, #0x60 + blt _0201061C + add sp, #0x1fc + add sp, #0x110 + pop {r4-r7, pc} + .balign 4 +_02010680: .word 0x020FFA38 +_02010684: .word 0x0000FFFF + + thumb_func_start sub_02010688 +sub_02010688: ; 0x02010688 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x30 + bl sub_02016998 + str r0, [r5, #0x14] + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_02010720 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_020106C0 +sub_020106C0: ; 0x020106C0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _020106D8 + cmp r0, #0x2 + beq _020106F4 + cmp r0, #0x3 + beq _02010714 + b _02010718 +_020106D8: + add r0, r4, #0x0 + bl sub_02010834 + cmp r0, #0x1 + bne _0201071C + ldr r0, [r4, #0x20] + ldr r1, [r4, #0x24] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0201071C +_020106F4: + add r0, r4, #0x0 + bl sub_02010884 + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _0201071C +_02010714: + mov r6, #0x1 + b _0201071C +_02010718: + bl sub_02020C2C +_0201071C: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02010720 +sub_02010720: ; 0x02010720 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r1, #0x0 + add r7, r0, #0x0 + str r2, [sp, #0x18] + ldr r0, [sp, #0x38] + ldrb r2, [r5, #0x8] + str r0, [sp, #0x38] + ldr r0, [sp, #0x44] + mov r1, #0x30 + mul r1, r2 + str r3, [sp, #0x1c] + str r0, [sp, #0x44] + bl sub_02016998 + str r0, [r7, #0xc] + cmp r0, #0x0 + bne _02010748 + bl sub_02020C2C +_02010748: + ldrb r0, [r5, #0x8] + str r0, [r7, #0x10] + mov r0, #0x0 + str r0, [sp, #0x20] + ldrb r0, [r5, #0x8] + cmp r0, #0x0 + ble _02010788 + ldr r6, [sp, #0x20] + add r4, r6, #0x0 +_0201075A: + ldr r0, [r5, #0x4] + ldr r2, [r7, #0xc] + add r0, r0, r6 + str r0, [sp, #0x0] + ldr r0, [sp, #0x18] + str r0, [sp, #0x4] + add r0, r2, r4 + ldr r3, [r5, #0x0] + add r1, r0, #0x0 + add r2, r2, r4 + add r1, #0x20 + add r2, #0x10 + add r3, r3, r6 + bl sub_0200F1A8 + ldr r0, [sp, #0x20] + ldrb r1, [r5, #0x8] + add r0, r0, #0x1 + add r6, #0x10 + add r4, #0x30 + str r0, [sp, #0x20] + cmp r0, r1 + blt _0201075A +_02010788: + ldrb r1, [r5, #0x9] + ldr r2, [sp, #0x38] + ldr r3, [sp, #0x44] + add r0, r7, #0x0 + bl sub_0200F55C + ldr r0, [sp, #0x18] + str r0, [r7, #0x14] + ldr r0, [sp, #0x1c] + str r0, [r7, #0x18] + mov r0, #0x0 + str r0, [r7, #0x1c] + ldr r0, [sp, #0x3c] + str r0, [r7, #0x24] + ldr r0, [sp, #0x40] + str r0, [r7, #0x28] + ldr r0, [sp, #0x44] + str r0, [r7, #0x2c] + ldrb r0, [r5, #0xc] + str r0, [r7, #0x20] + add r0, r7, #0x0 + bl sub_02010894 + ldr r0, _02010828 ; =sub_0200F5F8 + ldr r2, _0201082C ; =0x000003FF + add r1, r7, #0x0 + bl sub_0200CA98 + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + ldr r1, [sp, #0x38] + str r1, [sp, #0x0] + mov r1, #0x3 + lsl r1, r1, #0x8 + ldrsh r1, [r0, r1] + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + mov r1, #0x12 + lsl r1, r1, #0x6 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r7, #0x20] + str r0, [sp, #0x14] + ldrb r1, [r5, #0xa] + ldrb r2, [r5, #0xb] + ldrb r3, [r5, #0x9] + ldr r0, [sp, #0x3c] + bl sub_0200F67C + ldrb r0, [r5, #0x9] + cmp r0, #0x0 + ldr r0, [r7, #0x24] + bne _02010808 + ldr r2, [sp, #0x38] + ldr r3, [r7, #0x20] + mov r1, #0x1 + bl sub_0200F6E4 + b _02010812 +_02010808: + ldr r2, [sp, #0x38] + ldr r3, [r7, #0x20] + mov r1, #0x2 + bl sub_0200F6E4 +_02010812: + ldr r0, [sp, #0x44] + ldr r2, _02010830 ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r7, #0x28] + ldr r3, [sp, #0x38] + add r1, r7, #0x0 + bl sub_0200E6CC + add sp, #0x24 + pop {r4-r7, pc} + nop +_02010828: .word sub_0200F5F8 + 1 +_0201082C: .word 0x000003FF +_02010830: .word sub_0200F330 + 1 + + thumb_func_start sub_02010834 +sub_02010834: ; 0x02010834 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x1c] + add r2, r1, #0x1 + str r2, [r4, #0x1c] + ldr r1, [r4, #0x18] + cmp r2, r1 + blt _02010876 + mov r1, #0x0 + str r1, [r4, #0x1c] + ldr r1, [r4, #0x14] + sub r1, r1, #0x1 + cmp r1, #0x0 + ble _02010868 + str r1, [r4, #0x14] + bl sub_02010920 + add r0, r4, #0x0 + bl sub_02010894 + ldr r0, _0201087C ; =sub_0200F5F8 + ldr r2, _02010880 ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _02010876 +_02010868: + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x2c] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_02010876: + mov r0, #0x0 + pop {r4, pc} + nop +_0201087C: .word sub_0200F5F8 + 1 +_02010880: .word 0x000003FF + + thumb_func_start sub_02010884 +sub_02010884: ; 0x02010884 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0xc] + pop {r4, pc} + + thumb_func_start sub_02010894 +sub_02010894: ; 0x02010894 + push {r4-r6, lr} + mov r1, #0x0 + add r6, r0, #0x0 + bl sub_0200F5D8 + mov r2, #0x3 + lsl r2, r2, #0x8 + add r0, r0, r2 + mov r1, #0x0 + blx sub_020DF4A4 + ldr r0, [r6, #0x10] + sub r4, r0, #0x1 + bmi _020108C6 + mov r0, #0x30 + add r5, r4, #0x0 + mul r5, r0 +_020108B6: + ldr r1, [r6, #0xc] + add r0, r6, #0x0 + add r1, r1, r5 + bl sub_020108C8 + sub r5, #0x30 + sub r4, r4, #0x1 + bpl _020108B6 +_020108C6: + pop {r4-r6, pc} + + thumb_func_start sub_020108C8 +sub_020108C8: ; 0x020108C8 + push {r4-r6, lr} + add r4, r1, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + ldr r2, [r4, #0x0] + ldr r3, [r4, #0x8] + asr r1, r2, #0x6 + lsr r1, r1, #0x19 + add r1, r2, r1 + asr r2, r1, #0x7 + asr r1, r3, #0x6 + ldr r5, [r4, #0xc] + lsr r1, r1, #0x19 + add r1, r3, r1 + asr r3, r5, #0x6 + lsr r3, r3, #0x19 + add r3, r5, r3 + ldr r4, [r4, #0x4] + asr r5, r3, #0x7 + asr r3, r4, #0x6 + lsr r3, r3, #0x19 + add r3, r4, r3 + asr r3, r3, #0x7 + asr r1, r1, #0x7 + cmp r3, r5 + bge _0201091E + lsl r4, r3, #0x1 + lsl r1, r1, #0x10 + add r4, r0, r4 + lsl r0, r2, #0x10 + asr r6, r1, #0x10 + mov r1, #0x3 + mov r2, #0x12 + asr r0, r0, #0x10 + lsl r1, r1, #0x8 + lsl r2, r2, #0x6 +_02010912: + strh r0, [r4, r1] + strh r6, [r4, r2] + add r3, r3, #0x1 + add r4, r4, #0x2 + cmp r3, r5 + blt _02010912 +_0201091E: + pop {r4-r6, pc} + + thumb_func_start sub_02010920 +sub_02010920: ; 0x02010920 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + mov r6, #0x0 + cmp r0, #0x0 + ble _02010944 + add r4, r6, #0x0 +_0201092E: + ldr r1, [r5, #0xc] + add r0, r1, r4 + add r1, r1, r4 + add r1, #0x10 + bl sub_0200F184 + ldr r0, [r5, #0x10] + add r6, r6, #0x1 + add r4, #0x30 + cmp r6, r0 + blt _0201092E +_02010944: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02010948 +sub_02010948: ; 0x02010948 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x38 + bl sub_02016998 + str r0, [r5, #0x14] + mov r1, #0x0 + mov r2, #0x38 + blx sub_020DF4A4 + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_020109E8 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02010988 +sub_02010988: ; 0x02010988 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _020109A0 + cmp r0, #0x2 + beq _020109BC + cmp r0, #0x3 + beq _020109DC + b _020109E0 +_020109A0: + add r0, r4, #0x0 + bl sub_02010AE4 + cmp r0, #0x1 + bne _020109E4 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x30] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _020109E4 +_020109BC: + add r0, r4, #0x0 + bl sub_02010B3C + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _020109E4 +_020109DC: + mov r6, #0x1 + b _020109E4 +_020109E0: + bl sub_02020C2C +_020109E4: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020109E8 +sub_020109E8: ; 0x020109E8 + push {r3-r7, lr} + sub sp, #0x28 + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x0 + str r1, [r5, #0xc] + ldr r1, [r4, #0x0] + str r2, [sp, #0x18] + str r1, [r5, #0x10] + str r3, [sp, #0x1c] + ldr r2, [r4, #0x4] + ldr r1, [r4, #0x0] + ldr r6, [sp, #0x40] + sub r1, r2, r1 + str r1, [r5, #0x14] + ldr r3, [sp, #0x4c] + mov r1, #0x2 + add r2, r6, #0x0 + ldr r7, [sp, #0x44] + bl sub_0200F55C + ldr r0, [sp, #0x18] + mov r1, #0x0 + str r0, [r5, #0x18] + ldr r0, [sp, #0x1c] + str r1, [r5, #0x1c] + str r0, [r5, #0x20] + str r1, [r5, #0x24] + ldr r0, [sp, #0x48] + str r7, [r5, #0x30] + str r0, [r5, #0x34] + ldr r0, [sp, #0x4c] + str r0, [r5, #0x2c] + ldrb r0, [r4, #0xa] + str r0, [r5, #0x28] + add r0, r5, #0x0 + ldr r1, [r5, #0x1c] + ldr r2, [r5, #0x18] + add r0, #0xc + bl sub_02010C64 + add r0, r5, #0x0 + bl sub_02010B40 + ldr r0, _02010AD8 ; =sub_0200F5F8 + ldr r2, _02010ADC ; =0x000003FF + add r1, r5, #0x0 + bl sub_0200CA98 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + str r0, [sp, #0x20] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200F5D8 + str r0, [sp, #0x24] + mov r1, #0x3 + ldr r0, [sp, #0x20] + str r6, [sp, #0x0] + lsl r1, r1, #0x8 + ldrsh r0, [r0, r1] + mov r1, #0x12 + mov r3, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x20] + str r3, [sp, #0x8] + lsl r1, r1, #0x6 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x28] + str r0, [sp, #0x14] + ldrb r1, [r4, #0x8] + ldrb r2, [r4, #0x9] + add r0, r7, #0x0 + bl sub_0200F67C + mov r1, #0x3 + ldr r0, [sp, #0x24] + str r6, [sp, #0x0] + lsl r1, r1, #0x8 + ldrsh r0, [r0, r1] + mov r1, #0x12 + lsl r1, r1, #0x6 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x24] + mov r3, #0x1 + ldrsh r0, [r0, r1] + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x28] + str r0, [sp, #0x14] + ldrb r1, [r4, #0x8] + ldrb r2, [r4, #0x9] + add r0, r7, #0x0 + bl sub_0200F67C + ldr r3, [r5, #0x28] + add r0, r7, #0x0 + mov r1, #0x3 + add r2, r6, #0x0 + bl sub_0200F6E4 + ldr r0, [sp, #0x4c] + ldr r2, _02010AE0 ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r5, #0x34] + add r1, r5, #0x0 + add r3, r6, #0x0 + bl sub_0200E6CC + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 +_02010AD8: .word sub_0200F5F8 + 1 +_02010ADC: .word 0x000003FF +_02010AE0: .word sub_0200F330 + 1 + + thumb_func_start sub_02010AE4 +sub_02010AE4: ; 0x02010AE4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + add r1, r0, #0x1 + str r1, [r4, #0x24] + ldr r0, [r4, #0x20] + cmp r1, r0 + blt _02010B2E + mov r0, #0x0 + str r0, [r4, #0x24] + ldr r0, [r4, #0x1c] + add r1, r0, #0x1 + ldr r0, [r4, #0x18] + cmp r1, r0 + bgt _02010B20 + str r1, [r4, #0x1c] + add r0, r4, #0x0 + ldr r2, [r4, #0x18] + add r0, #0xc + bl sub_02010C64 + add r0, r4, #0x0 + bl sub_02010B40 + ldr r0, _02010B34 ; =sub_0200F5F8 + ldr r2, _02010B38 ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _02010B2E +_02010B20: + ldr r0, [r4, #0x34] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x2c] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_02010B2E: + mov r0, #0x0 + pop {r4, pc} + nop +_02010B34: .word sub_0200F5F8 + 1 +_02010B38: .word 0x000003FF + + thumb_func_start sub_02010B3C +sub_02010B3C: ; 0x02010B3C + bx lr + .balign 4 + + thumb_func_start sub_02010B40 +sub_02010B40: ; 0x02010B40 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + ldr r0, [r0, #0xc] + ldr r1, _02010C60 ; =0x00003FFF + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + mov r1, #0x0 + bl sub_0200F5D8 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0x1 + bl sub_0200F5D8 + add r4, r0, #0x0 + mov r6, #0x0 + add r5, r4, #0x0 +_02010B6C: + ldr r0, [sp, #0x0] + ldr r1, [r0, #0xc] + ldr r0, _02010C60 ; =0x00003FFF + cmp r1, r0 + bge _02010BB0 + mov r1, #0x60 + ldr r0, [sp, #0x4] + sub r1, r1, r6 + bl sub_0200F0D0 + cmp r0, #0x7f + ble _02010B86 + mov r0, #0x7f +_02010B86: + mov r1, #0xbf + sub r1, r1, r6 + lsl r1, r1, #0x1 + add r3, r7, r1 + mov r1, #0x80 + sub r2, r1, r0 + mov r1, #0x3 + lsl r1, r1, #0x8 + strh r2, [r3, r1] + mov r1, #0x12 + mov r2, #0x80 + lsl r1, r1, #0x6 + strh r2, [r3, r1] + mov r1, #0x3 + lsl r1, r1, #0x8 + strh r2, [r5, r1] + mov r1, #0x12 + add r0, #0x80 + lsl r1, r1, #0x6 + strh r0, [r5, r1] + b _02010BD8 +_02010BB0: + mov r0, #0xbf + sub r0, r0, r6 + lsl r0, r0, #0x1 + mov r1, #0x3 + add r0, r7, r0 + mov r2, #0x0 + lsl r1, r1, #0x8 + strh r2, [r0, r1] + mov r1, #0x12 + mov r2, #0x80 + lsl r1, r1, #0x6 + strh r2, [r0, r1] + mov r0, #0x3 + add r1, r2, #0x0 + lsl r0, r0, #0x8 + strh r1, [r5, r0] + mov r0, #0x12 + mov r1, #0xff + lsl r0, r0, #0x6 + strh r1, [r5, r0] +_02010BD8: + add r6, r6, #0x1 + add r5, r5, #0x2 + cmp r6, #0x60 + blt _02010B6C + ldr r1, _02010C60 ; =0x00003FFF + ldr r0, [sp, #0x4] + mov r5, #0x60 + add r4, #0xc0 + sub r6, r1, r0 +_02010BEA: + ldr r0, [sp, #0x0] + ldr r1, [r0, #0xc] + ldr r0, _02010C60 ; =0x00003FFF + cmp r1, r0 + bge _02010C1A + mov r0, #0xbf + sub r0, r0, r5 + lsl r0, r0, #0x1 + mov r1, #0x3 + add r0, r7, r0 + mov r2, #0x80 + lsl r1, r1, #0x8 + strh r2, [r0, r1] + mov r1, #0x12 + lsl r1, r1, #0x6 + strh r2, [r0, r1] + mov r0, #0x3 + add r1, r2, #0x0 + lsl r0, r0, #0x8 + strh r1, [r4, r0] + mov r0, #0x12 + lsl r0, r0, #0x6 + strh r1, [r4, r0] + b _02010C54 +_02010C1A: + add r1, r5, #0x0 + add r0, r6, #0x0 + sub r1, #0x60 + bl sub_0200F0D0 + add r1, r0, #0x0 + cmp r1, #0x7f + ble _02010C2C + mov r1, #0x7f +_02010C2C: + mov r0, #0xbf + sub r0, r0, r5 + lsl r0, r0, #0x1 + mov r2, #0x3 + add r0, r7, r0 + mov r3, #0x0 + lsl r2, r2, #0x8 + strh r3, [r0, r2] + mov r2, #0x80 + sub r3, r2, r1 + mov r2, #0x12 + lsl r2, r2, #0x6 + strh r3, [r0, r2] + mov r0, #0x3 + add r1, #0x80 + lsl r0, r0, #0x8 + strh r1, [r4, r0] + mov r1, #0xff + add r0, r2, #0x0 + strh r1, [r4, r0] +_02010C54: + add r5, r5, #0x1 + add r4, r4, #0x2 + cmp r5, #0xc0 + blt _02010BEA + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02010C60: .word 0x00003FFF + + thumb_func_start sub_02010C64 +sub_02010C64: ; 0x02010C64 + push {r4, lr} + add r4, r0, #0x0 + ldr r3, [r4, #0x8] + add r0, r3, #0x0 + mul r0, r1 + add r1, r2, #0x0 + blx sub_020EBC80 + ldr r1, [r4, #0x4] + add r0, r0, r1 + str r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02010C7C +sub_02010C7C: ; 0x02010C7C + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + add r4, r1, #0x0 + mov r1, #0x38 + bl sub_02016998 + str r0, [r5, #0x14] + mov r1, #0x0 + mov r2, #0x38 + blx sub_020DF4A4 + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_02010D1C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02010CBC +sub_02010CBC: ; 0x02010CBC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _02010CD4 + cmp r0, #0x2 + beq _02010CF0 + cmp r0, #0x3 + beq _02010D10 + b _02010D14 +_02010CD4: + add r0, r4, #0x0 + bl sub_02010DEC + cmp r0, #0x1 + bne _02010D18 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x30] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010D18 +_02010CF0: + add r0, r4, #0x0 + bl sub_02010E44 + add r0, r4, #0x0 + bl sub_0200F5C0 + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010D18 +_02010D10: + mov r6, #0x1 + b _02010D18 +_02010D14: + bl sub_02020C2C +_02010D18: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02010D1C +sub_02010D1C: ; 0x02010D1C + push {r3-r7, lr} + sub sp, #0x20 + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + add r5, r0, #0x0 + str r1, [r5, #0xc] + ldr r1, [r4, #0x0] + str r3, [sp, #0x1c] + str r1, [r5, #0x10] + str r2, [sp, #0x18] + ldr r2, [r4, #0x4] + ldr r1, [r4, #0x0] + ldr r6, [sp, #0x38] + sub r1, r2, r1 + str r1, [r5, #0x14] + ldr r3, [sp, #0x44] + mov r1, #0x2 + add r2, r6, #0x0 + ldr r7, [sp, #0x3c] + bl sub_0200F55C + ldr r0, [sp, #0x18] + mov r1, #0x0 + str r0, [r5, #0x18] + ldr r0, [sp, #0x1c] + str r1, [r5, #0x1c] + str r0, [r5, #0x20] + str r1, [r5, #0x24] + ldr r0, [sp, #0x40] + str r7, [r5, #0x30] + str r0, [r5, #0x34] + ldr r0, [sp, #0x44] + str r0, [r5, #0x2c] + ldrb r0, [r4, #0xa] + str r0, [r5, #0x28] + add r0, r5, #0x0 + bl sub_02010E48 + ldr r0, _02010DE0 ; =sub_0200F5F8 + ldr r2, _02010DE4 ; =0x000003FF + add r1, r5, #0x0 + bl sub_0200CA98 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200F5D8 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200F5D8 + str r6, [sp, #0x0] + mov r3, #0x0 + str r3, [sp, #0x4] + str r3, [sp, #0x8] + mov r0, #0xff + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x28] + str r0, [sp, #0x14] + ldrb r1, [r4, #0x8] + ldrb r2, [r4, #0x9] + add r0, r7, #0x0 + bl sub_0200F67C + str r6, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xff + str r0, [sp, #0xc] + mov r0, #0xc0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x28] + mov r3, #0x1 + str r0, [sp, #0x14] + ldrb r1, [r4, #0x8] + ldrb r2, [r4, #0x9] + add r0, r7, #0x0 + bl sub_0200F67C + ldr r3, [r5, #0x28] + add r0, r7, #0x0 + mov r1, #0x3 + add r2, r6, #0x0 + bl sub_0200F6E4 + ldr r0, [sp, #0x44] + ldr r2, _02010DE8 ; =sub_0200F330 + str r0, [sp, #0x0] + ldr r0, [r5, #0x34] + add r1, r5, #0x0 + add r3, r6, #0x0 + bl sub_0200E6CC + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_02010DE0: .word sub_0200F5F8 + 1 +_02010DE4: .word 0x000003FF +_02010DE8: .word sub_0200F330 + 1 + + thumb_func_start sub_02010DEC +sub_02010DEC: ; 0x02010DEC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + add r1, r0, #0x1 + str r1, [r4, #0x24] + ldr r0, [r4, #0x20] + cmp r1, r0 + blt _02010E36 + mov r0, #0x0 + str r0, [r4, #0x24] + ldr r0, [r4, #0x1c] + add r1, r0, #0x1 + ldr r0, [r4, #0x18] + cmp r1, r0 + bgt _02010E28 + str r1, [r4, #0x1c] + add r0, r4, #0x0 + ldr r2, [r4, #0x18] + add r0, #0xc + bl sub_02010F14 + add r0, r4, #0x0 + bl sub_02010E48 + ldr r0, _02010E3C ; =sub_0200F5F8 + ldr r2, _02010E40 ; =0x000003FF + add r1, r4, #0x0 + bl sub_0200CA98 + b _02010E36 +_02010E28: + ldr r0, [r4, #0x34] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x2c] + bl sub_0200E6F8 + mov r0, #0x1 + pop {r4, pc} +_02010E36: + mov r0, #0x0 + pop {r4, pc} + nop +_02010E3C: .word sub_0200F5F8 + 1 +_02010E40: .word 0x000003FF + + thumb_func_start sub_02010E44 +sub_02010E44: ; 0x02010E44 + bx lr + .balign 4 + + thumb_func_start sub_02010E48 +sub_02010E48: ; 0x02010E48 + push {r4-r7, lr} + sub sp, #0x1c + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + str r1, [sp, #0x8] + mov r1, #0x0 + bl sub_0200F5D8 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200F5D8 + str r0, [sp, #0xc] + add r5, r0, #0x0 + ldr r1, _02010F10 ; =0x00003FFF + ldr r0, [sp, #0x8] + ldr r6, [sp, #0x10] + sub r0, r1, r0 + mov r7, #0x0 + str r0, [sp, #0x4] +_02010E76: + mov r0, #0x60 + sub r0, r0, r7 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x0] + bl sub_0200F0D0 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + bl sub_0200F0D0 + cmp r4, #0x7f + ble _02010E94 + mov r4, #0x7f +_02010E94: + cmp r0, #0x7f + ble _02010E9A + mov r0, #0x7f +_02010E9A: + mov r1, #0x80 + sub r1, r1, r0 + lsl r1, r1, #0x10 + mov r2, #0x3 + asr r1, r1, #0x10 + lsl r2, r2, #0x8 + str r1, [sp, #0x14] + strh r1, [r6, r2] + mov r1, #0x80 + sub r1, r1, r4 + lsl r1, r1, #0x10 + asr r2, r1, #0x10 + mov r1, #0x12 + lsl r1, r1, #0x6 + strh r2, [r6, r1] + mov r1, #0xbf + sub r1, r1, r7 + mov r12, r2 + lsl r1, r1, #0x1 + ldr r2, [sp, #0x10] + add r0, #0x80 + add r3, r2, r1 + str r1, [sp, #0x18] + mov r2, #0x3 + ldr r1, [sp, #0x14] + lsl r2, r2, #0x8 + strh r1, [r3, r2] + mov r1, #0x12 + mov r2, r12 + lsl r1, r1, #0x6 + strh r2, [r3, r1] + add r4, #0x80 + lsl r1, r4, #0x10 + asr r2, r1, #0x10 + mov r1, #0x3 + lsl r1, r1, #0x8 + lsl r0, r0, #0x10 + strh r2, [r5, r1] + asr r1, r0, #0x10 + mov r0, #0x12 + lsl r0, r0, #0x6 + strh r1, [r5, r0] + ldr r3, [sp, #0xc] + ldr r0, [sp, #0x18] + add r7, r7, #0x1 + add r0, r3, r0 + mov r3, #0x3 + lsl r3, r3, #0x8 + strh r2, [r0, r3] + mov r2, #0x12 + lsl r2, r2, #0x6 + strh r1, [r0, r2] + add r6, r6, #0x2 + add r5, r5, #0x2 + cmp r7, #0x60 + blt _02010E76 + add sp, #0x1c + pop {r4-r7, pc} + nop +_02010F10: .word 0x00003FFF + + thumb_func_start sub_02010F14 +sub_02010F14: ; 0x02010F14 + push {r4, lr} + add r4, r0, #0x0 + ldr r3, [r4, #0x8] + add r0, r3, #0x0 + mul r0, r1 + add r1, r2, #0x0 + blx sub_020EBC80 + ldr r1, [r4, #0x4] + add r0, r0, r1 + str r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02010F2C +sub_02010F2C: ; 0x02010F2C + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0xcd + ldr r0, [r5, #0x20] + lsl r1, r1, #0x2 + bl sub_02016998 + mov r2, #0xcd + str r0, [r5, #0x14] + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020DF4A4 + ldr r0, [r5, #0x10] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + str r0, [sp, #0x4] + ldr r0, [r5, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r5, #0x20] + str r0, [sp, #0xc] + ldr r0, [r5, #0x14] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + bl sub_02010FD0 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02010F70 +sub_02010F70: ; 0x02010F70 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + ldr r4, [r5, #0x14] + cmp r0, #0x1 + beq _02010F88 + cmp r0, #0x2 + beq _02010FAA + cmp r0, #0x3 + beq _02010FC4 + b _02010FC8 +_02010F88: + add r0, r4, #0x0 + bl sub_020110BC + cmp r0, #0x1 + bne _02010FCC + mov r1, #0xc9 + lsl r1, r1, #0x2 + ldr r0, [r4, r1] + add r1, #0x8 + ldr r1, [r4, r1] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010FCC +_02010FAA: + add r0, r4, #0x0 + bl sub_0201111C + ldr r0, [r5, #0x14] + bl sub_02016A18 + add r0, r6, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r6, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02010FCC +_02010FC4: + mov r6, #0x1 + b _02010FCC +_02010FC8: + bl sub_02020C2C +_02010FCC: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02010FD0 +sub_02010FD0: ; 0x02010FD0 + push {r3-r7, lr} + sub sp, #0x20 + ldr r7, [sp, #0x38] + str r3, [sp, #0x1c] + mov r3, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x18] + str r3, [sp, #0x0] + add r1, r7, #0x0 + mov r2, #0x1 + add r5, r0, #0x0 + ldr r6, [sp, #0x3c] + bl sub_0200F6FC + ldrb r0, [r4, #0x5] + cmp r0, #0x0 + bne _0201100A + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0xc0 + blx sub_020DF4A4 + add r0, r5, #0x0 + add r0, #0xc0 + mov r1, #0x1 + mov r2, #0xc0 + blx sub_020DF4A4 + b _02011020 +_0201100A: + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0xc0 + blx sub_020DF4A4 + add r0, r5, #0x0 + add r0, #0xc0 + mov r1, #0x0 + mov r2, #0xc0 + blx sub_020DF4A4 +_02011020: + mov r1, #0xc3 + lsl r1, r1, #0x2 + ldr r0, [r4, #0x0] + add r3, r1, #0x0 + str r0, [r5, r1] + ldrb r2, [r4, #0x4] + add r0, r1, #0x4 + add r3, #0x8 + str r2, [r5, r0] + add r0, r1, #0x0 + ldrb r2, [r4, #0x5] + add r0, #0x18 + str r2, [r5, r0] + add r0, r1, #0x0 + ldr r2, [sp, #0x44] + add r0, #0x1c + str r2, [r5, r0] + ldr r0, [sp, #0x18] + str r0, [r5, r3] + add r3, r1, #0x0 + add r3, #0xc + mov r0, #0x0 + str r0, [r5, r3] + add r3, r1, #0x0 + ldr r0, [sp, #0x1c] + add r3, #0x10 + str r0, [r5, r3] + add r3, r1, #0x0 + add r3, #0x14 + mov r0, #0x0 + str r0, [r5, r3] + add r0, r1, #0x0 + add r0, #0x20 + str r6, [r5, r0] + ldr r0, [sp, #0x40] + add r1, #0x24 + str r0, [r5, r1] + add r1, r5, #0x0 + bl sub_0200F758 + ldrb r0, [r4, #0x5] + cmp r0, #0x1 + str r7, [sp, #0x0] + bne _02011090 + mov r3, #0x0 + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + str r3, [sp, #0x10] + str r0, [sp, #0x14] + add r0, r6, #0x0 + mov r1, #0x20 + mov r2, #0x3f + bl sub_0200F67C + b _020110A6 +_02011090: + mov r3, #0x0 + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + str r3, [sp, #0x10] + str r0, [sp, #0x14] + add r0, r6, #0x0 + mov r1, #0x3f + mov r2, #0x20 + bl sub_0200F67C +_020110A6: + mov r3, #0xc9 + lsl r3, r3, #0x2 + ldr r3, [r5, r3] + add r0, r6, #0x0 + mov r1, #0x1 + add r2, r7, #0x0 + bl sub_0200F6E4 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020110BC +sub_020110BC: ; 0x020110BC + push {r4, lr} + mov r2, #0x32 + add r4, r0, #0x0 + lsl r2, r2, #0x4 + ldr r1, [r4, r2] + add r1, r1, #0x1 + str r1, [r4, r2] + sub r1, r2, #0x4 + ldr r3, [r4, r2] + ldr r1, [r4, r1] + cmp r3, r1 + blt _02011116 + mov r1, #0x0 + str r1, [r4, r2] + add r1, r2, #0x0 + sub r1, #0x8 + ldr r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x0 + sub r1, #0xc + ldr r1, [r4, r1] + cmp r3, r1 + bgt _02011102 + add r1, r2, #0x0 + sub r1, #0x8 + ldr r1, [r4, r1] + sub r2, #0x8 + add r1, r1, #0x1 + str r1, [r4, r2] + bl sub_02011120 + add r0, r4, #0x0 + bl sub_0200F740 + b _02011116 +_02011102: + add r0, r2, #0x0 + add r0, #0x10 + add r2, #0x8 + ldr r0, [r4, r0] + ldr r2, [r4, r2] + add r1, r4, #0x0 + bl sub_0200F770 + mov r0, #0x1 + pop {r4, pc} +_02011116: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201111C +sub_0201111C: ; 0x0201111C + bx lr + .balign 4 + + thumb_func_start sub_02011120 +sub_02011120: ; 0x02011120 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x31 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r6, #0x0 + cmp r0, #0x0 + ble _0201115A + mov r7, #0x31 + add r4, r6, #0x0 + lsl r7, r7, #0x4 +_02011136: + mov r0, #0xc3 + lsl r0, r0, #0x2 + mov r2, #0xc6 + mov r3, #0xc5 + ldr r0, [r5, r0] + lsl r2, r2, #0x2 + lsl r3, r3, #0x2 + ldr r2, [r5, r2] + ldr r3, [r5, r3] + add r0, r0, r4 + add r1, r5, #0x0 + bl sub_0201115C + ldr r0, [r5, r7] + add r6, r6, #0x1 + add r4, r4, #0x3 + cmp r6, r0 + blt _02011136 +_0201115A: + pop {r3-r7, pc} + + thumb_func_start sub_0201115C +sub_0201115C: ; 0x0201115C + push {r3-r7, lr} + add r7, r0, #0x0 + ldrb r6, [r7, #0x0] + ldrb r4, [r7, #0x1] + add r5, r1, #0x0 + add r1, r3, #0x0 + sub r0, r4, r6 + mul r0, r2 + blx sub_020EBC80 + add r0, r0, r6 + cmp r6, r4 + bhi _0201117C + add r1, r6, #0x0 + ldrb r6, [r7, #0x2] + b _0201118C +_0201117C: + ldrb r2, [r7, #0x2] + add r1, r4, #0x0 + add r4, r6, #0x0 + cmp r2, #0x0 + bne _0201118A + mov r6, #0x1 + b _0201118C +_0201118A: + mov r6, #0x0 +_0201118C: + cmp r1, r4 + bge _020111AA + mov r2, #0x0 + mov r3, #0x1 +_02011194: + cmp r1, r0 + bne _020111A2 + cmp r6, #0x0 + bne _020111A0 + add r6, r3, #0x0 + b _020111A2 +_020111A0: + add r6, r2, #0x0 +_020111A2: + strb r6, [r5, r1] + add r1, r1, #0x1 + cmp r1, r4 + blt _02011194 +_020111AA: + pop {r3-r7, pc} + + thumb_func_start sub_020111AC +sub_020111AC: ; 0x020111AC + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0xe2 + ldr r0, [r5, #0x20] + lsl r1, r1, #0x2 + bl sub_02016998 + mov r2, #0xe2 + mov r1, #0x0 + lsl r2, r2, #0x2 + str r0, [r5, #0x14] + blx sub_020DF4A4 + add r1, r4, #0x0 + add r1, #0x23 + ldrb r1, [r1, #0x0] + ldr r0, [r5, #0x14] + cmp r1, #0x0 + ldr r1, [r5, #0x10] + bne _020111F2 + str r1, [sp, #0x0] + ldr r1, [r5, #0x18] + str r1, [sp, #0x4] + ldr r1, [r5, #0x1c] + str r1, [sp, #0x8] + ldr r1, [r5, #0x20] + str r1, [sp, #0xc] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r1, r4, #0x0 + bl sub_0201127C + b _0201120A +_020111F2: + str r1, [sp, #0x0] + ldr r1, [r5, #0x18] + str r1, [sp, #0x4] + ldr r1, [r5, #0x1c] + str r1, [sp, #0x8] + ldr r1, [r5, #0x20] + str r1, [sp, #0xc] + ldr r2, [r5, #0x4] + ldr r3, [r5, #0x8] + add r1, r4, #0x0 + bl sub_0201137C +_0201120A: + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02011214 +sub_02011214: ; 0x02011214 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0xc] + mov r4, #0x0 + ldr r0, [r5, #0x14] + cmp r1, #0x1 + beq _0201122C + cmp r1, #0x2 + beq _02011258 + cmp r1, #0x3 + beq _0201126A + b _0201126E +_0201122C: + ldr r1, _02011278 ; =0x00000386 + ldrb r1, [r0, r1] + cmp r1, #0x0 + bne _0201123C + add r1, r5, #0x0 + bl sub_02011308 + b _02011242 +_0201123C: + add r1, r5, #0x0 + bl sub_020113EC +_02011242: + cmp r0, #0x1 + bne _02011272 + ldr r0, [r5, #0x28] + ldr r1, [r5, #0x18] + ldr r2, [r5, #0x10] + bl sub_0200F62C + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02011272 +_02011258: + bl sub_02016A18 + add r0, r4, #0x0 + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r4, #0x1 + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02011272 +_0201126A: + mov r4, #0x1 + b _02011272 +_0201126E: + bl sub_02020C2C +_02011272: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_02011278: .word 0x00000386 + + thumb_func_start sub_0201127C +sub_0201127C: ; 0x0201127C + push {r3-r7, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r5, r0, #0x0 + lsl r0, r6, #0xc + ldr r2, [r4, #0x2c] + add r7, r3, #0x0 + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + add r2, r0, #0x0 + mov r0, #0x2 + mov r3, #0x0 + lsl r0, r0, #0xa + add r0, r2, r0 + adc r1, r3 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + asr r2, r0, #0xc + mov r0, #0xe1 + sub r1, r6, r2 + lsl r0, r0, #0x2 + strb r1, [r5, r0] + sub r1, r0, #0x4 + str r4, [r5, r1] + add r1, r4, #0x0 + add r1, #0x23 + ldrb r1, [r1, #0x0] + add r0, r0, #0x2 + add r3, r7, #0x0 + strb r1, [r5, r0] + ldr r0, [sp, #0x20] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0200FE20 + add r0, r4, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _020112EA + add r4, #0x23 + ldrb r3, [r4, #0x0] + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x20] + mov r1, #0x1 + bl sub_0200F6E4 + b _020112F8 +_020112EA: + add r4, #0x23 + ldrb r3, [r4, #0x0] + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x20] + mov r1, #0x2 + bl sub_0200F6E4 +_020112F8: + ldr r0, _02011304 ; =0x00000385 + mov r1, #0x0 + strb r1, [r5, r0] + add sp, #0x8 + pop {r3-r7, pc} + nop +_02011304: .word 0x00000385 + + thumb_func_start sub_02011308 +sub_02011308: ; 0x02011308 + push {r4-r6, lr} + sub sp, #0x10 + add r4, r1, #0x0 + ldr r1, _02011378 ; =0x00000385 + add r5, r0, #0x0 + ldrb r1, [r5, r1] + mov r6, #0x0 + cmp r1, #0x0 + beq _02011324 + cmp r1, #0x1 + beq _0201135A + cmp r1, #0x2 + beq _02011370 + b _02011372 +_02011324: + bl sub_0200FE90 + cmp r0, #0x1 + bne _02011372 + ldr r2, _02011378 ; =0x00000385 + ldrb r0, [r5, r2] + sub r1, r2, #0x5 + add r0, r0, #0x1 + strb r0, [r5, r2] + ldr r0, [r4, #0x10] + sub r2, r2, #0x1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, [r4, #0x1c] + str r0, [sp, #0x8] + ldr r0, [r4, #0x20] + str r0, [sp, #0xc] + ldr r1, [r5, r1] + add r0, r5, #0x0 + ldrb r2, [r5, r2] + ldr r3, [r4, #0x8] + add r0, #0x4c + add r1, #0x24 + bl sub_02010FD0 + b _02011372 +_0201135A: + add r0, #0x4c + bl sub_020110BC + cmp r0, #0x1 + bne _02011372 + ldr r0, _02011378 ; =0x00000385 + mov r6, #0x1 + ldrb r1, [r5, r0] + add r1, r1, #0x1 + strb r1, [r5, r0] + b _02011372 +_02011370: + mov r6, #0x1 +_02011372: + add r0, r6, #0x0 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_02011378: .word 0x00000385 + + thumb_func_start sub_0201137C +sub_0201137C: ; 0x0201137C + push {r3-r7, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r5, r0, #0x0 + lsl r0, r6, #0xc + ldr r2, [r4, #0x2c] + add r7, r3, #0x0 + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + add r2, r0, #0x0 + mov r0, #0x2 + mov r3, #0x0 + lsl r0, r0, #0xa + add r0, r2, r0 + adc r1, r3 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + mov r1, #0xe1 + asr r0, r0, #0xc + lsl r1, r1, #0x2 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + sub r2, r6, r0 + sub r0, r1, #0x4 + str r4, [r5, r0] + add r4, #0x23 + add r0, r1, #0x2 + ldrb r3, [r4, #0x0] + sub r1, r1, #0x4 + strb r3, [r5, r0] + ldr r0, [sp, #0x28] + add r3, r7, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + str r0, [sp, #0x4] + ldr r0, [sp, #0x30] + str r0, [sp, #0x8] + ldr r0, [sp, #0x34] + str r0, [sp, #0xc] + ldr r1, [r5, r1] + add r0, r5, #0x0 + add r0, #0x4c + add r1, #0x24 + bl sub_02010FD0 + ldr r0, _020113E8 ; =0x00000385 + mov r1, #0x0 + strb r1, [r5, r0] + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_020113E8: .word 0x00000385 + + thumb_func_start sub_020113EC +sub_020113EC: ; 0x020113EC + push {r4-r6, lr} + sub sp, #0x8 + add r4, r1, #0x0 + ldr r1, _0201147C ; =0x00000385 + add r5, r0, #0x0 + ldrb r1, [r5, r1] + mov r6, #0x0 + cmp r1, #0x0 + beq _02011408 + cmp r1, #0x1 + beq _02011460 + cmp r1, #0x2 + beq _02011474 + b _02011476 +_02011408: + add r0, #0x4c + bl sub_020110BC + cmp r0, #0x1 + bne _02011476 + ldr r2, _0201147C ; =0x00000385 + ldrb r0, [r5, r2] + sub r1, r2, #0x5 + add r0, r0, #0x1 + strb r0, [r5, r2] + ldr r0, [r4, #0x10] + sub r2, r2, #0x1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldrb r2, [r5, r2] + ldr r1, [r5, r1] + ldr r3, [r4, #0x8] + add r0, r5, #0x0 + bl sub_0200FE20 + mov r0, #0xe + lsl r0, r0, #0x6 + ldr r3, [r5, r0] + add r0, r3, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ldr r0, [r4, #0x18] + bne _02011452 + add r3, #0x23 + ldrb r3, [r3, #0x0] + ldr r2, [r4, #0x10] + mov r1, #0x1 + bl sub_0200F6E4 + b _02011476 +_02011452: + add r3, #0x23 + ldrb r3, [r3, #0x0] + ldr r2, [r4, #0x10] + mov r1, #0x2 + bl sub_0200F6E4 + b _02011476 +_02011460: + bl sub_0200FE90 + cmp r0, #0x1 + bne _02011476 + ldr r0, _0201147C ; =0x00000385 + mov r6, #0x1 + ldrb r1, [r5, r0] + add r1, r1, #0x1 + strb r1, [r5, r0] + b _02011476 +_02011474: + mov r6, #0x1 +_02011476: + add r0, r6, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0201147C: .word 0x00000385 + + thumb_func_start sub_02011480 +sub_02011480: ; 0x02011480 + cmp r1, #0x0 + ldr r1, _020114A4 ; =0xFFFF1FFF + bne _02011496 + mov r3, #0x1 + lsl r3, r3, #0x1a + ldr r2, [r3, #0x0] + lsl r0, r0, #0xd + and r1, r2 + orr r0, r1 + str r0, [r3, #0x0] + bx lr +_02011496: + ldr r3, _020114A8 ; =0x04001000 + lsl r0, r0, #0xd + ldr r2, [r3, #0x0] + and r1, r2 + orr r0, r1 + str r0, [r3, #0x0] + bx lr + .balign 4 +_020114A4: .word 0xFFFF1FFF +_020114A8: .word 0x04001000 + + thumb_func_start sub_020114AC +sub_020114AC: ; 0x020114AC + push {r3-r4} + cmp r2, #0x0 + bne _020114EE + cmp r3, #0x0 + bne _020114D2 + ldr r2, _02011528 ; =0x04000048 + ldrh r3, [r2, #0x0] + mov r2, #0x3f + bic r3, r2 + add r2, r3, #0x0 + orr r2, r0 + cmp r1, #0x0 + beq _020114CA + mov r0, #0x20 + orr r2, r0 +_020114CA: + ldr r0, _02011528 ; =0x04000048 + strh r2, [r0, #0x0] + pop {r3-r4} + bx lr +_020114D2: + ldr r2, _0201152C ; =0x04001048 + ldrh r3, [r2, #0x0] + mov r2, #0x3f + bic r3, r2 + add r2, r3, #0x0 + orr r2, r0 + cmp r1, #0x0 + beq _020114E6 + mov r0, #0x20 + orr r2, r0 +_020114E6: + ldr r0, _0201152C ; =0x04001048 + strh r2, [r0, #0x0] + pop {r3-r4} + bx lr +_020114EE: + cmp r3, #0x0 + ldr r2, _02011530 ; =0xFFFFC0FF + bne _0201150E + ldr r4, _02011528 ; =0x04000048 + lsl r0, r0, #0x8 + ldrh r3, [r4, #0x0] + and r2, r3 + orr r2, r0 + cmp r1, #0x0 + beq _02011506 + lsr r0, r4, #0xd + orr r2, r0 +_02011506: + ldr r0, _02011528 ; =0x04000048 + strh r2, [r0, #0x0] + pop {r3-r4} + bx lr +_0201150E: + ldr r4, _0201152C ; =0x04001048 + lsl r0, r0, #0x8 + ldrh r3, [r4, #0x0] + and r2, r3 + orr r2, r0 + cmp r1, #0x0 + beq _02011520 + lsr r0, r4, #0xd + orr r2, r0 +_02011520: + ldr r0, _0201152C ; =0x04001048 + strh r2, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 +_02011528: .word 0x04000048 +_0201152C: .word 0x04001048 +_02011530: .word 0xFFFFC0FF + + thumb_func_start sub_02011534 +sub_02011534: ; 0x02011534 + cmp r2, #0x0 + bne _02011552 + ldr r2, _0201156C ; =0x0400004A + ldrh r3, [r2, #0x0] + mov r2, #0x3f + bic r3, r2 + add r2, r3, #0x0 + orr r2, r0 + cmp r1, #0x0 + beq _0201154C + mov r0, #0x20 + orr r2, r0 +_0201154C: + ldr r0, _0201156C ; =0x0400004A + strh r2, [r0, #0x0] + bx lr +_02011552: + ldr r2, _02011570 ; =0x0400104A + ldrh r3, [r2, #0x0] + mov r2, #0x3f + bic r3, r2 + add r2, r3, #0x0 + orr r2, r0 + cmp r1, #0x0 + beq _02011566 + mov r0, #0x20 + orr r2, r0 +_02011566: + ldr r0, _02011570 ; =0x0400104A + strh r2, [r0, #0x0] + bx lr + .balign 4 +_0201156C: .word 0x0400004A +_02011570: .word 0x0400104A + + thumb_func_start sub_02011574 +sub_02011574: ; 0x02011574 + push {r4-r5} + add r4, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x8] + cmp r3, #0x0 + bne _020115D2 + ldr r3, [sp, #0xc] + cmp r3, #0x0 + bne _020115AC + lsl r0, r0, #0x8 + mov r3, #0xff + add r5, r0, #0x0 + lsl r3, r3, #0x8 + lsl r0, r4, #0x18 + and r5, r3 + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + add r4, r5, #0x0 + orr r4, r0 + ldr r0, _02011624 ; =0x04000040 + orr r1, r3 + strh r4, [r0, #0x0] + strh r1, [r0, #0x4] + pop {r4-r5} + bx lr +_020115AC: + lsl r0, r0, #0x8 + mov r3, #0xff + add r5, r0, #0x0 + lsl r3, r3, #0x8 + lsl r0, r4, #0x18 + and r5, r3 + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + add r4, r5, #0x0 + orr r4, r0 + ldr r0, _02011628 ; =0x04001040 + orr r1, r3 + strh r4, [r0, #0x0] + strh r1, [r0, #0x4] + pop {r4-r5} + bx lr +_020115D2: + ldr r3, [sp, #0xc] + cmp r3, #0x0 + bne _020115FE + lsl r0, r0, #0x8 + mov r3, #0xff + add r5, r0, #0x0 + lsl r3, r3, #0x8 + lsl r0, r4, #0x18 + and r5, r3 + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + add r4, r5, #0x0 + orr r4, r0 + ldr r0, _0201162C ; =0x04000042 + orr r1, r3 + strh r4, [r0, #0x0] + strh r1, [r0, #0x4] + pop {r4-r5} + bx lr +_020115FE: + lsl r0, r0, #0x8 + mov r3, #0xff + add r5, r0, #0x0 + lsl r3, r3, #0x8 + lsl r0, r4, #0x18 + and r5, r3 + lsl r1, r1, #0x8 + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + add r4, r5, #0x0 + orr r4, r0 + ldr r0, _02011630 ; =0x04001042 + orr r1, r3 + strh r4, [r0, #0x0] + strh r1, [r0, #0x4] + pop {r4-r5} + bx lr + .balign 4 +_02011624: .word 0x04000040 +_02011628: .word 0x04001040 +_0201162C: .word 0x04000042 +_02011630: .word 0x04001042 + + thumb_func_start sub_02011634 +sub_02011634: ; 0x02011634 + push {r4, lr} + lsl r3, r2, #0x3 + add r4, r0, r3 + str r1, [r0, r3] + str r2, [r4, #0x4] + ldr r0, _0201164C ; =sub_020116CC + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_0200CA98 + pop {r4, pc} + nop +_0201164C: .word sub_020116CC + 1 + + thumb_func_start sub_02011650 +sub_02011650: ; 0x02011650 + push {r4-r6, lr} + ldr r5, [sp, #0x10] + add r0, #0x10 + lsl r4, r5, #0x5 + add r6, r0, r4 + lsl r0, r3, #0x4 + add r4, r6, r0 + str r1, [r6, r0] + str r2, [r4, #0x4] + str r3, [r4, #0x8] + ldr r0, _02011674 ; =sub_020116E0 + add r1, r4, #0x0 + mov r2, #0x1 + str r5, [r4, #0xc] + bl sub_0200CA98 + pop {r4-r6, pc} + nop +_02011674: .word sub_020116E0 + 1 + + thumb_func_start sub_02011678 +sub_02011678: ; 0x02011678 + push {r3-r5, lr} + mov r4, #0xc + add r0, #0x68 + mul r4, r3 + add r5, r0, r4 + str r1, [r0, r4] + str r2, [r5, #0x4] + ldr r0, _02011694 ; =sub_020116FC + add r1, r5, #0x0 + mov r2, #0x1 + str r3, [r5, #0x8] + bl sub_0200CA98 + pop {r3-r5, pc} + .balign 4 +_02011694: .word sub_020116FC + 1 + + thumb_func_start sub_02011698 +sub_02011698: ; 0x02011698 + push {r3-r7, lr} + ldr r5, [sp, #0x20] + add r7, r1, #0x0 + add r0, #0x80 + lsl r1, r5, #0x5 + add r6, r0, r1 + add r4, r2, #0x0 + ldr r0, [sp, #0x1c] + add r2, r3, #0x0 + lsl r3, r0, #0x4 + add r1, r6, r3 + strh r7, [r6, r3] + strh r4, [r1, #0x2] + strh r2, [r1, #0x4] + ldr r2, [sp, #0x18] + strh r2, [r1, #0x6] + str r0, [r1, #0x8] + ldr r0, _020116C8 ; =sub_02011714 + mov r2, #0x1 + str r5, [r1, #0xc] + bl sub_0200CA98 + pop {r3-r7, pc} + nop +_020116C8: .word sub_02011714 + 1 + + thumb_func_start sub_020116CC +sub_020116CC: ; 0x020116CC + push {r4, lr} + add r4, r0, #0x0 + ldmia r1!, {r0-r1} + bl sub_02011480 + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020116E0 +sub_020116E0: ; 0x020116E0 + push {r4, lr} + add r3, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r3, #0x0] + ldr r1, [r3, #0x4] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_020114AC + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020116FC +sub_020116FC: ; 0x020116FC + push {r4, lr} + add r2, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r2, #0x0] + ldr r1, [r2, #0x4] + ldr r2, [r2, #0x8] + bl sub_02011534 + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + + thumb_func_start sub_02011714 +sub_02011714: ; 0x02011714 + push {r3-r5, lr} + sub sp, #0x8 + add r3, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r3, #0x8] + mov r1, #0x2 + str r0, [sp, #0x0] + ldr r0, [r3, #0xc] + mov r2, #0x4 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r5, #0x6 + ldrsh r0, [r3, r0] + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + ldrsh r3, [r3, r5] + bl sub_02011574 + add r0, r4, #0x0 + bl sub_0200CAB4 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02011744 +sub_02011744: ; 0x02011744 + push {r4-r7, lr} + sub sp, #0xc + add r7, r1, #0x0 + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x68 + bl sub_02016998 + str r0, [sp, #0x8] + cmp r0, #0x0 + bne _0201175E + bl sub_02020C2C +_0201175E: + ldr r4, [sp, #0x8] + ldr r5, [sp, #0x8] + mov r6, #0x0 + add r4, #0x30 +_02011766: + mov r0, #0x23 + add r1, r6, #0x0 + mov r2, #0x0 + add r3, r4, #0x0 + str r7, [sp, #0x0] + bl sub_02006C30 + str r0, [r5, #0x0] + cmp r0, #0x0 + bne _0201177E + bl sub_02020C2C +_0201177E: + add r6, r6, #0x1 + add r4, r4, #0x4 + add r5, r5, #0x4 + cmp r6, #0xc + blt _02011766 + ldr r0, [sp, #0x4] + mov r1, #0x14 + add r4, r0, #0x0 + mul r4, r1 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_02016998 + ldr r1, [sp, #0x8] + cmp r0, #0x0 + str r0, [r1, #0x60] + bne _020117A4 + bl sub_02020C2C +_020117A4: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + add r2, r4, #0x0 + str r1, [r0, #0x64] + ldr r0, [r0, #0x60] + mov r1, #0x0 + blx sub_020DF4A4 + ldr r0, [sp, #0x8] + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020117BC +sub_020117BC: ; 0x020117BC + push {r4-r6, lr} + add r6, r0, #0x0 + bne _020117C6 + bl sub_02020C2C +_020117C6: + mov r4, #0x0 + add r5, r6, #0x0 +_020117CA: + ldr r0, [r5, #0x0] + bl sub_02016A18 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0xc + blt _020117CA + ldr r0, [r6, #0x60] + bl sub_02016A18 + add r0, r6, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020117E8 +sub_020117E8: ; 0x020117E8 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + bne _020117F4 + bl sub_02020C2C +_020117F4: + ldr r0, [r5, #0x0] + bl sub_02011BA0 + add r4, r0, #0x0 + bne _02011802 + bl sub_02020C2C +_02011802: + ldr r0, [r5, #0x10] + add r3, sp, #0x8 + str r0, [r4, #0x8] + ldr r0, [r5, #0x18] + str r0, [r4, #0xc] + ldr r0, [r5, #0x1c] + str r0, [r4, #0x10] + str r3, [sp, #0x14] + str r3, [sp, #0x18] + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x2c] + ldrb r0, [r1, #0x7] + ldrb r1, [r1, #0x8] + bl sub_02011CA4 + add r6, r0, #0x0 + mov r1, #0x24 + ldr r0, [r5, #0x2c] + mul r1, r6 + bl sub_020169D8 + add r7, r0, #0x0 + mov r1, #0xc + ldr r0, [r5, #0x2c] + mul r1, r6 + bl sub_02016998 + str r0, [r4, #0x0] + str r6, [r4, #0x4] + ldr r0, [r5, #0x28] + add r1, sp, #0x8 + str r0, [sp, #0x0] + ldr r0, [r5, #0x2c] + add r2, r7, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0x4] + ldr r3, [r5, #0x14] + bl sub_02011D2C + add r0, r5, #0x0 + add r1, sp, #0x8 + add r2, r7, #0x0 + add r3, r4, #0x0 + bl sub_02011EAC + add r0, r7, #0x0 + bl sub_02016A18 + add r0, sp, #0x8 + bl sub_02011FDC + add r0, r4, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02011870 +sub_02011870: ; 0x02011870 + push {r4, lr} + add r4, r0, #0x0 + bne _0201187A + bl sub_02020C2C +_0201187A: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02011884 + bl sub_02020C2C +_02011884: + add r0, r4, #0x0 + bl sub_02011F00 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02011B90 + pop {r4, pc} + + thumb_func_start sub_02011898 +sub_02011898: ; 0x02011898 + push {r4-r5, lr} + sub sp, #0x14 + add r3, sp, #0x0 + add r5, r0, #0x0 + str r3, [sp, #0xc] + str r3, [sp, #0x10] + add r4, r1, #0x0 + ldrb r0, [r5, #0x7] + ldrb r1, [r5, #0x8] + bl sub_02011CA4 + add r0, sp, #0x0 + add r1, r4, #0x0 + bl sub_02011E58 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_02011FDC + add r0, r4, #0x0 + add sp, #0x14 + pop {r4-r5, pc} + + thumb_func_start sub_020118C4 +sub_020118C4: ; 0x020118C4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r7, r2, #0x0 + str r1, [sp, #0x0] + cmp r5, #0x0 + bne _020118D6 + bl sub_02020C2C +_020118D6: + ldr r0, [sp, #0x0] + str r0, [r5, #0xc] + str r7, [r5, #0x10] + lsl r0, r0, #0xc + str r0, [sp, #0x0] + ldr r0, [r5, #0x8] + lsl r7, r7, #0xc + cmp r0, #0x0 + beq _020118F8 + bl sub_0202011C + ldr r2, [r0, #0x0] + ldr r1, [sp, #0x0] + ldr r0, [r0, #0x4] + add r1, r1, r2 + str r1, [sp, #0x0] + add r7, r7, r0 +_020118F8: + mov r6, #0x0 + str r6, [sp, #0xc] + ldr r0, [r5, #0x4] + cmp r0, #0x0 + ble _02011932 + add r4, r6, #0x0 +_02011904: + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x4] + lsl r1, r0, #0xc + ldr r0, [sp, #0x0] + add r0, r0, r1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r1, sp, #0x4 + add r0, r0, r4 + ldr r0, [r0, #0x8] + lsl r0, r0, #0xc + add r0, r7, r0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + bl sub_02020044 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011904 +_02011932: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011938 +sub_02011938: ; 0x02011938 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bne _02011944 + bl sub_02020C2C +_02011944: + ldr r0, [r5, #0x8] + cmp r0, #0x0 + beq _0201199E + ldr r1, [r5, #0xc] + lsl r1, r1, #0xc + str r1, [sp, #0x0] + ldr r1, [r5, #0x10] + lsl r7, r1, #0xc + bl sub_0202011C + ldr r2, [r0, #0x0] + ldr r0, [r0, #0x4] + mov r6, #0x0 + ldr r1, [sp, #0x0] + str r6, [sp, #0xc] + add r7, r7, r0 + add r1, r1, r2 + ldr r0, [r5, #0x4] + str r1, [sp, #0x0] + cmp r0, #0x0 + ble _0201199E + add r4, r6, #0x0 +_02011970: + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x4] + lsl r1, r0, #0xc + ldr r0, [sp, #0x0] + add r0, r0, r1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r1, sp, #0x4 + add r0, r0, r4 + ldr r0, [r0, #0x8] + lsl r0, r0, #0xc + add r0, r7, r0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + bl sub_02020044 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011970 +_0201199E: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020119A4 +sub_020119A4: ; 0x020119A4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r5, #0x0 + bne _020119B4 + bl sub_02020C2C +_020119B4: + cmp r4, #0x0 + bne _020119BC + bl sub_02020C2C +_020119BC: + cmp r6, #0x0 + bne _020119C4 + bl sub_02020C2C +_020119C4: + ldr r0, [r5, #0xc] + str r0, [r4, #0x0] + ldr r0, [r5, #0x10] + str r0, [r6, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020119D0 +sub_020119D0: ; 0x020119D0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _020119DE + bl sub_02020C2C +_020119DE: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _020119FC + add r4, r6, #0x0 +_020119E8: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_020200A0 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _020119E8 +_020119FC: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011A00 +sub_02011A00: ; 0x02011A00 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011A0E + bl sub_02020C2C +_02011A0E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011A2C + add r4, r6, #0x0 +_02011A18: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02020238 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011A18 +_02011A2C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011A30 +sub_02011A30: ; 0x02011A30 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011A3E + bl sub_02020C2C +_02011A3E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011A5C + add r4, r6, #0x0 +_02011A48: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02020310 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011A48 +_02011A5C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011A60 +sub_02011A60: ; 0x02011A60 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011A6E + bl sub_02020C2C +_02011A6E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011A8C + add r4, r6, #0x0 +_02011A78: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02020248 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011A78 +_02011A8C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011A90 +sub_02011A90: ; 0x02011A90 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011A9E + bl sub_02020C2C +_02011A9E: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011ABC + add r4, r6, #0x0 +_02011AA8: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_020202A8 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011AA8 +_02011ABC: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011AC0 +sub_02011AC0: ; 0x02011AC0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011ACE + bl sub_02020C2C +_02011ACE: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011AEC + add r4, r6, #0x0 +_02011AD8: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_020202DC + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011AD8 +_02011AEC: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011AF0 +sub_02011AF0: ; 0x02011AF0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + cmp r5, #0x0 + bne _02011AFE + bl sub_02020C2C +_02011AFE: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011B1C + add r4, r6, #0x0 +_02011B08: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02020398 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011B08 +_02011B1C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02011B20 +sub_02011B20: ; 0x02011B20 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + ldr r0, [sp, #0x20] + add r7, r1, #0x0 + str r0, [sp, #0x20] + ldr r0, [sp, #0x24] + ldrb r1, [r6, #0x7] + str r0, [sp, #0x24] + add r0, r3, #0x0 + add r0, r7, r0 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + cmp r1, r0 + bge _02011B42 + bl sub_02020C2C +_02011B42: + ldrb r2, [r6, #0x8] + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x20] + add r0, r1, r0 + cmp r2, r0 + bge _02011B52 + bl sub_02020C2C +_02011B52: + ldr r0, [sp, #0x0] + mov r4, #0x0 + cmp r0, #0x0 + ble _02011B8A + lsl r0, r7, #0x5 + add r5, r4, #0x0 + str r0, [sp, #0x8] +_02011B60: + ldrb r1, [r6, #0x7] + ldr r0, [sp, #0x20] + add r2, r1, #0x0 + add r0, r4, r0 + mul r2, r0 + ldr r0, [sp, #0x4] + lsl r1, r5, #0x5 + add r2, r2, r0 + ldr r0, [sp, #0x24] + lsl r2, r2, #0x5 + add r0, r0, r1 + ldr r1, [r6, #0xc] + add r1, r1, r2 + ldr r2, [sp, #0x8] + blx sub_020DF438 + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r5, r5, r7 + cmp r4, r0 + blt _02011B60 +_02011B8A: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02011B90 +sub_02011B90: ; 0x02011B90 + mov r2, #0x14 + mov r1, #0x0 +_02011B94: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _02011B94 + bx lr + .balign 4 + + thumb_func_start sub_02011BA0 +sub_02011BA0: ; 0x02011BA0 + ldr r1, [r0, #0x64] + mov r2, #0x0 + cmp r1, #0x0 + ble _02011BC4 + ldr r3, [r0, #0x60] +_02011BAA: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + bne _02011BBA + ldr r1, [r0, #0x60] + mov r0, #0x14 + mul r0, r2 + add r0, r1, r0 + bx lr +_02011BBA: + ldr r1, [r0, #0x64] + add r2, r2, #0x1 + add r3, #0x14 + cmp r2, r1 + blt _02011BAA +_02011BC4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02011BC8 +sub_02011BC8: ; 0x02011BC8 + push {r3-r4} + ldr r4, _02011BF0 ; =0x020ED398 + mov r3, #0x0 +_02011BCE: + ldrb r2, [r4, #0x0] + cmp r2, r0 + bgt _02011BE0 + ldrb r2, [r4, #0x1] + cmp r2, r1 + bgt _02011BE0 + add r0, r3, #0x0 + pop {r3-r4} + bx lr +_02011BE0: + add r3, r3, #0x1 + add r4, r4, #0x2 + cmp r3, #0xc + blt _02011BCE + mov r0, #0xc + pop {r3-r4} + bx lr + nop +_02011BF0: .word 0x020ED398 + + thumb_func_start sub_02011BF4 +sub_02011BF4: ; 0x02011BF4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r2, #0x0 + bl sub_02011FAC + ldr r1, [r6, #0x10] + add r4, r0, #0x0 + bl sub_02011FF4 + ldr r0, [r5, #0x8] + ldr r1, [r5, #0xc] + bl sub_02011BC8 + str r0, [r4, #0x8] + ldr r0, [r5, #0x4] + ldr r1, _02011C9C ; =0x020ED398 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + ldr r6, _02011CA0 ; =0x020ED399 + str r0, [r4, #0x4] + ldr r0, [r4, #0x8] + ldr r2, [r5, #0x8] + lsl r3, r0, #0x1 + ldrb r0, [r1, r3] + ldrb r3, [r6, r3] + sub r2, r2, r0 + ldr r0, [r5, #0xc] + sub r6, r0, r3 + cmp r2, #0x0 + ble _02011C5C + str r0, [r5, #0x1c] + str r2, [r5, #0x18] + ldr r0, [r5, #0x0] + str r0, [r5, #0x10] + ldr r2, [r4, #0x8] + ldr r0, [r5, #0x4] + lsl r2, r2, #0x1 + ldrb r1, [r1, r2] + add r0, r0, r1 + str r0, [r5, #0x14] + add r0, r5, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02011C54 + bl sub_02020C2C +_02011C54: + add r0, r5, #0x0 + mov r1, #0x1 + add r0, #0x20 + strb r1, [r0, #0x0] +_02011C5C: + cmp r6, #0x0 + ble _02011C72 + ldr r0, [r4, #0x8] + ldr r2, [r5, #0x0] + lsl r1, r0, #0x1 + ldr r0, _02011CA0 ; =0x020ED399 + ldrb r0, [r0, r1] + add r0, r2, r0 + str r0, [r5, #0x0] + str r6, [r5, #0xc] + b _02011C96 +_02011C72: + add r0, r5, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02011C92 + add r3, r5, #0x0 + add r3, #0x10 + add r2, r5, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0x0 + add r5, #0x20 + strb r0, [r5, #0x0] + b _02011C96 +_02011C92: + mov r0, #0x1 + pop {r4-r6, pc} +_02011C96: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02011C9C: .word 0x020ED398 +_02011CA0: .word 0x020ED399 + + thumb_func_start sub_02011CA4 +sub_02011CA4: ; 0x02011CA4 + push {r3-r7, lr} + sub sp, #0x38 + add r7, r0, #0x0 + str r1, [sp, #0x0] + add r5, r2, #0x0 + add r6, r3, #0x0 + cmp r7, #0x0 + bne _02011CB8 + bl sub_02020C2C +_02011CB8: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02011CC2 + bl sub_02020C2C +_02011CC2: + ldr r0, [sp, #0x0] + mov r4, #0x0 + str r0, [sp, #0x10] + str r4, [sp, #0x4] + str r4, [sp, #0x8] + str r7, [sp, #0xc] + add r0, sp, #0x24 + strb r4, [r0, #0x0] + ldr r0, [sp, #0x0] + str r4, [sp, #0x2c] + str r7, [sp, #0x30] + cmp r0, #0x0 + beq _02011D20 + add r7, sp, #0x4 +_02011CDE: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x0] + bl sub_02011BC8 + lsl r1, r0, #0x1 + ldr r0, _02011D28 ; =0x020ED398 + add r0, r0, r1 + ldrb r0, [r0, #0x1] + ldr r1, [sp, #0x4] + add r1, r1, r0 + str r1, [sp, #0x28] + ldr r1, [sp, #0x10] + sub r1, r1, r0 + str r1, [sp, #0x34] + str r0, [sp, #0x10] +_02011CFC: + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + add r4, r4, #0x1 + bl sub_02011BF4 + cmp r0, #0x0 + beq _02011CFC + add r3, sp, #0x28 + add r2, sp, #0x4 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [sp, #0x10] + str r0, [sp, #0x0] + cmp r0, #0x0 + bne _02011CDE +_02011D20: + add r0, r4, #0x0 + add sp, #0x38 + pop {r3-r7, pc} + nop +_02011D28: .word 0x020ED398 + + thumb_func_start sub_02011D2C +sub_02011D2C: ; 0x02011D2C + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x10] + ldr r0, [sp, #0x30] + str r1, [sp, #0x14] + str r0, [sp, #0x30] + ldr r0, [sp, #0x34] + add r5, r2, #0x0 + str r0, [sp, #0x34] + ldr r0, [sp, #0x30] + add r6, r3, #0x0 + cmp r0, #0x1 + bne _02011D4E + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + b _02011D52 +_02011D4E: + ldr r0, _02011D98 ; =0x04001000 + ldr r1, [r0, #0x0] +_02011D52: + ldr r0, _02011D9C ; =0x00300010 + add r7, r1, #0x0 + and r7, r0 + add r0, r7, #0x0 + bl sub_0201DED0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x14] + ldr r4, [r0, #0xc] + cmp r4, r0 + beq _02011D92 +_02011D68: + add r0, r5, #0x0 + blx sub_020B1A24 + str r7, [sp, #0x0] + ldr r0, [sp, #0x30] + str r6, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [sp, #0x34] + ldr r3, [sp, #0x18] + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_02011DA0 + add r6, r0, #0x0 + ldr r4, [r4, #0xc] + ldr r0, [sp, #0x14] + add r5, #0x24 + cmp r4, r0 + bne _02011D68 +_02011D92: + add sp, #0x1c + pop {r4-r7, pc} + nop +_02011D98: .word 0x04001000 +_02011D9C: .word 0x00300010 + + thumb_func_start sub_02011DA0 +sub_02011DA0: ; 0x02011DA0 + push {r4-r7, lr} + sub sp, #0x14 + add r6, r1, #0x0 + str r0, [sp, #0x8] + ldr r0, [r6, #0x8] + add r5, r2, #0x0 + lsl r1, r0, #0x1 + ldr r0, _02011E44 ; =0x020ED398 + ldrb r0, [r0, r1] + str r0, [sp, #0x10] + ldr r0, _02011E48 ; =0x020ED399 + ldrb r0, [r0, r1] + ldr r1, [sp, #0x10] + add r4, r1, #0x0 + mul r4, r0 + str r0, [sp, #0xc] + cmp r4, r3 + bge _02011DC6 + add r4, r3, #0x0 +_02011DC6: + lsl r4, r4, #0x5 + ldr r0, [sp, #0x34] + add r1, r4, #0x0 + bl sub_020169D8 + add r7, r0, #0x0 + ldr r0, [r6, #0x4] + ldr r1, [sp, #0x10] + str r0, [sp, #0x0] + str r7, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r2, [sp, #0xc] + ldr r3, [r6, #0x0] + bl sub_02011B20 + add r0, r7, #0x0 + add r1, r4, #0x0 + blx sub_020CC15C + ldr r0, [sp, #0x30] + cmp r0, #0x1 + bne _02011E08 + ldr r6, [sp, #0x2c] + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + blx sub_020C92F4 + mov r0, #0x1 + str r6, [r5, #0x4] + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + b _02011E1A +_02011E08: + ldr r6, [sp, #0x2c] + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + blx sub_020C9294 + ldr r0, _02011E4C ; =0x04001000 + str r6, [r5, #0x8] + ldr r1, [r0, #0x0] +_02011E1A: + ldr r0, _02011E50 ; =0x00300010 + and r0, r1 + str r0, [r5, #0x20] + ldr r0, _02011E54 ; =0x0000FFFF + str r0, [r5, #0xc] + str r0, [r5, #0x10] + mov r0, #0x3 + str r0, [r5, #0x14] + mov r0, #0x0 + str r0, [r5, #0x18] + mov r0, #0x1 + str r0, [r5, #0x1c] + ldr r0, [sp, #0x28] + str r0, [r5, #0x20] + add r0, r7, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x2c] + add r0, r0, r4 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02011E44: .word 0x020ED398 +_02011E48: .word 0x020ED399 +_02011E4C: .word 0x04001000 +_02011E50: .word 0x00300010 +_02011E54: .word 0x0000FFFF + + thumb_func_start sub_02011E58 +sub_02011E58: ; 0x02011E58 + push {r3-r7, lr} + add r4, r0, #0x0 + cmp r1, #0x1 + bne _02011E68 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + b _02011E6C +_02011E68: + ldr r0, _02011EA0 ; =0x04001000 + ldr r1, [r0, #0x0] +_02011E6C: + ldr r0, _02011EA4 ; =0x00300010 + and r0, r1 + bl sub_0201DED0 + ldr r2, [r4, #0xc] + mov r3, #0x0 + cmp r2, r4 + beq _02011E9A + ldr r1, _02011EA8 ; =0x020ED398 +_02011E7E: + ldr r5, [r2, #0x8] + lsl r5, r5, #0x1 + add r7, r1, r5 + ldrb r6, [r1, r5] + ldrb r5, [r7, #0x1] + mul r5, r6 + cmp r5, r0 + bge _02011E90 + add r5, r0, #0x0 +_02011E90: + ldr r2, [r2, #0xc] + lsl r5, r5, #0x5 + add r3, r3, r5 + cmp r2, r4 + bne _02011E7E +_02011E9A: + add r0, r3, #0x0 + pop {r3-r7, pc} + nop +_02011EA0: .word 0x04001000 +_02011EA4: .word 0x00300010 +_02011EA8: .word 0x020ED398 + + thumb_func_start sub_02011EAC +sub_02011EAC: ; 0x02011EAC + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r0, r1, #0x0 + ldr r4, [r0, #0xc] + str r1, [sp, #0x4] + add r7, r2, #0x0 + add r6, r3, #0x0 + cmp r4, r0 + beq _02011EFC + mov r5, #0x0 +_02011EC2: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_02011F24 + ldr r1, [r6, #0x0] + str r0, [r1, r5] + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + bne _02011EDC + bl sub_02020C2C +_02011EDC: + ldr r0, [r4, #0x0] + add r7, #0x24 + lsl r1, r0, #0x3 + ldr r0, [r6, #0x0] + add r0, r0, r5 + str r1, [r0, #0x4] + ldr r0, [r4, #0x4] + lsl r1, r0, #0x3 + ldr r0, [r6, #0x0] + add r0, r0, r5 + str r1, [r0, #0x8] + ldr r4, [r4, #0xc] + ldr r0, [sp, #0x4] + add r5, #0xc + cmp r4, r0 + bne _02011EC2 +_02011EFC: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02011F00 +sub_02011F00: ; 0x02011F00 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02011F20 + add r4, r6, #0x0 +_02011F0E: + ldr r0, [r5, #0x0] + ldr r0, [r0, r4] + bl sub_0201FFC8 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0xc + cmp r6, r0 + blt _02011F0E +_02011F20: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02011F24 +sub_02011F24: ; 0x02011F24 + push {r4-r5, lr} + sub sp, #0x44 + add r5, r0, #0x0 + mov r0, #0x0 + str r2, [sp, #0x0] + str r0, [sp, #0x4] + add r4, r1, #0x0 + ldr r1, [r5, #0xc] + str r1, [sp, #0x8] + ldr r1, [r4, #0x8] + ldr r2, [r5, #0x0] + lsl r1, r1, #0x2 + add r1, r2, r1 + ldr r1, [r1, #0x30] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + str r0, [sp, #0x14] + str r0, [sp, #0x18] + str r0, [sp, #0x1c] + ldr r2, [r5, #0x20] + add r1, sp, #0x20 + strb r2, [r1, #0x0] + ldr r1, [r5, #0x8] + str r1, [sp, #0x24] + add r1, sp, #0x0 + str r1, [sp, #0x28] + ldr r1, [r5, #0x24] + str r1, [sp, #0x38] + ldr r1, [r5, #0x28] + str r1, [sp, #0x3c] + ldr r1, [r5, #0x2c] + str r1, [sp, #0x40] + str r0, [sp, #0x2c] + str r0, [sp, #0x30] + str r0, [sp, #0x34] + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _02011F80 + bl sub_0202011C + add r3, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x2c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] +_02011F80: + ldr r1, [r4, #0x0] + ldr r2, [r5, #0x18] + lsl r1, r1, #0x3 + add r1, r2, r1 + ldr r0, [sp, #0x2c] + lsl r1, r1, #0xc + add r0, r0, r1 + str r0, [sp, #0x2c] + ldr r1, [r4, #0x4] + ldr r2, [r5, #0x1c] + lsl r1, r1, #0x3 + add r1, r2, r1 + ldr r0, [sp, #0x30] + lsl r1, r1, #0xc + add r0, r0, r1 + str r0, [sp, #0x30] + add r0, sp, #0x24 + bl sub_0201FF84 + add sp, #0x44 + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02011FAC +sub_02011FAC: ; 0x02011FAC + push {r4, lr} + mov r1, #0x14 + bl sub_020169D8 + add r4, r0, #0x0 + bne _02011FBC + bl sub_02020C2C +_02011FBC: + mov r0, #0x0 + str r0, [r4, #0xc] + str r0, [r4, #0x10] + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02011FC8 +sub_02011FC8: ; 0x02011FC8 + push {r4, lr} + add r4, r0, #0x0 + bne _02011FD2 + bl sub_02020C2C +_02011FD2: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02011FDC +sub_02011FDC: ; 0x02011FDC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + cmp r0, r5 + beq _02011FF2 +_02011FE6: + ldr r4, [r0, #0xc] + bl sub_02011FC8 + add r0, r4, #0x0 + cmp r4, r5 + bne _02011FE6 +_02011FF2: + pop {r3-r5, pc} + + thumb_func_start sub_02011FF4 +sub_02011FF4: ; 0x02011FF4 + ldr r2, [r1, #0xc] + str r2, [r0, #0xc] + str r1, [r0, #0x10] + ldr r2, [r1, #0xc] + str r0, [r2, #0x10] + str r0, [r1, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_02012004 +sub_02012004: ; 0x02012004 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + ldr r6, [sp, #0x20] + str r1, [sp, #0x4] + add r5, r2, #0x0 + add r4, r3, #0x0 + str r0, [sp, #0x24] + mov r7, #0x0 +_02012018: + ldr r1, [r4, #0x0] + ldr r0, [sp, #0x4] + ldr r2, [r5, #0x0] + add r0, r0, r1 + ldr r1, [sp, #0x0] + add r1, r1, r2 + add r2, r6, #0x0 + blx sub_020DF438 + ldr r1, [r5, #0x0] + ldr r0, [sp, #0x24] + add r7, r7, #0x1 + add r0, r1, r0 + str r0, [r5, #0x0] + ldr r0, [r4, #0x0] + add r0, r0, r6 + str r0, [r4, #0x0] + cmp r7, #0x8 + blt _02012018 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02012044 +sub_02012044: ; 0x02012044 + push {r4-r6, lr} + add r5, r3, #0x0 + bl sub_0200650C + add r4, r0, #0x0 + bne _02012054 + bl sub_02020C2C +_02012054: + add r0, r4, #0x0 + add r1, r5, #0x0 + blx sub_020B0088 + add r6, r0, #0x0 + cmp r5, #0x0 + bne _02012066 + bl sub_02020C2C +_02012066: + cmp r6, #0x0 + bne _0201206E + bl sub_02020C2C +_0201206E: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02012078 +sub_02012078: ; 0x02012078 + push {r4-r7, lr} + sub sp, #0x2c + ldr r4, [sp, #0x40] + str r0, [sp, #0x8] + add r6, r0, r2 + ldrh r0, [r4, #0x2] + str r1, [sp, #0xc] + add r5, r3, #0x0 + cmp r0, r6 + bge _02012090 + bl sub_02020C2C +_02012090: + ldr r0, [sp, #0xc] + ldrh r1, [r4, #0x0] + add r0, r0, r5 + str r0, [sp, #0x14] + cmp r1, r0 + bge _020120A0 + bl sub_02020C2C +_020120A0: + ldr r0, [r4, #0x14] + str r0, [sp, #0x20] + ldr r0, [sp, #0x44] + str r0, [sp, #0x1c] + ldrh r0, [r4, #0x2] + lsl r7, r0, #0x2 + ldr r0, [sp, #0xc] + add r1, r0, #0x0 + mul r1, r7 + ldr r0, [sp, #0x8] + str r1, [sp, #0x18] + lsl r1, r0, #0x2 + ldr r0, [sp, #0x18] + str r1, [sp, #0x10] + add r0, r1, r0 + str r0, [sp, #0x28] + mov r0, #0x0 + str r0, [sp, #0x24] + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x14] + cmp r1, r0 + bge _0201210A +_020120CC: + ldr r4, [sp, #0x8] + add r0, r4, #0x0 + cmp r0, r6 + bge _020120F8 + ldr r0, [sp, #0x18] + lsl r1, r0, #0x3 + ldr r0, [sp, #0x10] + add r5, r0, r1 +_020120DC: + str r5, [sp, #0x28] + mov r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x1c] + add r2, sp, #0x28 + add r3, sp, #0x24 + str r7, [sp, #0x4] + bl sub_02012004 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r6 + blt _020120DC +_020120F8: + ldr r0, [sp, #0x18] + add r0, r0, r7 + str r0, [sp, #0x18] + ldr r0, [sp, #0xc] + add r1, r0, #0x1 + ldr r0, [sp, #0x14] + str r1, [sp, #0xc] + cmp r1, r0 + blt _020120CC +_0201210A: + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02012110 +sub_02012110: ; 0x02012110 + push {r4-r5} + sub sp, #0x8 + ldr r2, _02012148 ; =0x020ED3B0 + add r1, sp, #0x0 + ldr r3, [r2, #0x0] + ldr r2, [r2, #0x4] + str r3, [sp, #0x0] + str r2, [sp, #0x4] + ldr r2, _0201214C ; =0x000001EF + mov r5, #0x0 + add r3, r2, #0x0 +_02012126: + ldr r4, [r1, #0x0] + cmp r4, r3 + beq _02012140 + cmp r4, r0 + bne _02012138 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r5} + bx lr +_02012138: + add r5, r5, #0x1 + add r1, r1, #0x4 + cmp r5, r2 + blt _02012126 +_02012140: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r5} + bx lr + .balign 4 +_02012148: .word 0x020ED3B0 +_0201214C: .word 0x000001EF + + thumb_func_start sub_02012150 +sub_02012150: ; 0x02012150 + push {r3-r4, lr} + sub sp, #0xc + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [sp, #0x8] + add r3, sp, #0x8 + bl sub_02012044 + ldr r0, [sp, #0x8] + ldr r0, [r0, #0x14] + bl sub_02008A74 + ldr r0, [sp, #0x34] + bl sub_02012110 + ldr r1, [sp, #0x30] + cmp r1, #0x2 + bne _02012184 + cmp r0, #0x1 + bne _02012184 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x28] + ldr r0, [r0, #0x14] + ldr r2, [sp, #0x2c] + bl sub_02008904 +_02012184: + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x18] + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x1c] + str r0, [sp, #0x4] + ldr r3, [sp, #0x20] + add r0, r4, #0x0 + bl sub_02012078 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0201219C +sub_0201219C: ; 0x0201219C + push {r4-r7, lr} + sub sp, #0x24 + add r7, r1, #0x0 + add r5, r2, #0x0 + ldr r2, [sp, #0x3c] + ldr r1, [sp, #0x40] + add r6, r0, #0x0 + mul r1, r2 + add r0, r5, #0x0 + lsl r1, r1, #0x5 + str r3, [sp, #0x20] + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [sp, #0x38] + ldr r3, [sp, #0x20] + str r0, [sp, #0x0] + ldr r0, [sp, #0x3c] + add r1, r7, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x40] + add r2, r5, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x44] + str r4, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x48] + str r0, [sp, #0x14] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x18] + ldr r0, [sp, #0x50] + str r0, [sp, #0x1c] + add r0, r6, #0x0 + bl sub_02012150 + add r0, r4, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + + thumb_func_start sub_020121E8 +sub_020121E8: ; 0x020121E8 + push {r3-r7, lr} + sub sp, #0x30 + str r3, [sp, #0x8] + ldr r3, [sp, #0x48] + str r3, [sp, #0x48] + mov r3, #0x0 + str r3, [sp, #0x2c] + bl sub_0200650C + str r0, [sp, #0x20] + cmp r0, #0x0 + bne _02012204 + bl sub_02020C2C +_02012204: + ldr r0, [sp, #0x20] + add r1, sp, #0x2c + blx sub_020B0088 + cmp r0, #0x0 + bne _02012214 + bl sub_02020C2C +_02012214: + ldr r1, [sp, #0x4c] + ldr r0, [sp, #0x8] + add r6, r0, r1 + ldr r0, [sp, #0x2c] + ldrh r0, [r0, #0x2] + cmp r0, r6 + bge _02012226 + bl sub_02020C2C +_02012226: + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x48] + add r0, r0, r1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x2c] + ldrh r1, [r0, #0x0] + ldr r0, [sp, #0x10] + cmp r1, r0 + bge _0201223C + bl sub_02020C2C +_0201223C: + ldr r0, [sp, #0x2c] + ldr r0, [r0, #0x14] + str r0, [sp, #0x1c] + bl sub_02008A74 + ldr r0, [sp, #0x54] + str r0, [sp, #0x18] + ldr r0, [sp, #0x2c] + ldrh r0, [r0, #0x2] + lsl r7, r0, #0x2 + ldr r0, [sp, #0x48] + add r1, r0, #0x0 + mul r1, r7 + ldr r0, [sp, #0x8] + str r1, [sp, #0x14] + lsl r1, r0, #0x2 + ldr r0, [sp, #0x14] + str r1, [sp, #0xc] + add r0, r1, r0 + str r0, [sp, #0x28] + mov r0, #0x0 + str r0, [sp, #0x24] + ldr r1, [sp, #0x48] + ldr r0, [sp, #0x10] + cmp r1, r0 + bge _020122AE +_02012270: + ldr r4, [sp, #0x8] + add r0, r4, #0x0 + cmp r0, r6 + bge _0201229C + ldr r0, [sp, #0x14] + lsl r1, r0, #0x3 + ldr r0, [sp, #0xc] + add r5, r0, r1 +_02012280: + str r5, [sp, #0x28] + mov r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x18] + add r2, sp, #0x28 + add r3, sp, #0x24 + str r7, [sp, #0x4] + bl sub_02012004 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r6 + blt _02012280 +_0201229C: + ldr r0, [sp, #0x14] + add r0, r0, r7 + str r0, [sp, #0x14] + ldr r0, [sp, #0x48] + add r1, r0, #0x1 + ldr r0, [sp, #0x10] + str r1, [sp, #0x48] + cmp r1, r0 + blt _02012270 +_020122AE: + ldr r0, [sp, #0x20] + bl sub_02016A18 + add sp, #0x30 + pop {r3-r7, pc} + + thumb_func_start sub_020122B8 +sub_020122B8: ; 0x020122B8 + push {r4-r7, lr} + sub sp, #0x14 + add r7, r1, #0x0 + add r5, r2, #0x0 + ldr r2, [sp, #0x2c] + ldr r1, [sp, #0x30] + add r6, r0, #0x0 + mul r1, r2 + add r0, r5, #0x0 + lsl r1, r1, #0x5 + str r3, [sp, #0x10] + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [sp, #0x28] + ldr r3, [sp, #0x10] + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + add r1, r7, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x30] + add r2, r5, #0x0 + str r0, [sp, #0x8] + add r0, r6, #0x0 + str r4, [sp, #0xc] + bl sub_020121E8 + add r0, r4, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_020122F4 +sub_020122F4: ; 0x020122F4 + push {r3-r7, lr} + sub sp, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x44] + ldr r1, [sp, #0x38] + str r0, [sp, #0x18] + ldr r0, [sp, #0x48] + str r2, [sp, #0x4] + str r0, [sp, #0x14] + add r0, r2, #0x0 + add r7, r0, r1 + ldr r1, [sp, #0x3c] + add r0, r3, #0x0 + add r0, r0, r1 + add r1, r3, #0x0 + str r3, [sp, #0x8] + ldr r5, [sp, #0x40] + str r0, [sp, #0x10] + cmp r1, r0 + bge _0201236C + add r0, r3, #0x0 + lsl r0, r0, #0x5 + str r0, [sp, #0xc] + add r0, r2, #0x0 + lsl r0, r0, #0x5 + str r0, [sp, #0x1c] +_02012328: + ldr r6, [sp, #0x4] + add r0, r6, #0x0 + cmp r0, r7 + bge _0201235A + ldr r1, [sp, #0x0] + ldr r0, [sp, #0xc] + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [sp, #0x1c] + add r4, r0, r2 +_0201233C: + ldr r1, [r5, #0x0] + ldr r0, [sp, #0x14] + mov r2, #0x20 + add r0, r0, r1 + ldr r1, [sp, #0x18] + add r1, r1, r4 + blx sub_020DF438 + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + add r0, #0x20 + str r0, [r5, #0x0] + add r4, #0x20 + cmp r6, r7 + blt _0201233C +_0201235A: + ldr r0, [sp, #0xc] + add r0, #0x20 + str r0, [sp, #0xc] + ldr r0, [sp, #0x8] + add r1, r0, #0x1 + ldr r0, [sp, #0x10] + str r1, [sp, #0x8] + cmp r1, r0 + blt _02012328 +_0201236C: + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_02012370 +sub_02012370: ; 0x02012370 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r2, #0x0 + ldr r2, [r4, #0x8] + str r2, [sp, #0x0] + ldr r2, [r4, #0xc] + str r2, [sp, #0x4] + ldr r2, [sp, #0x20] + str r3, [sp, #0x8] + str r2, [sp, #0xc] + ldr r2, [sp, #0x24] + str r2, [sp, #0x10] + ldr r2, [r4, #0x0] + ldr r3, [r4, #0x4] + bl sub_020122F4 + add sp, #0x14 + pop {r3-r4, pc} + + thumb_func_start sub_02012394 +sub_02012394: ; 0x02012394 + push {r4-r7, lr} + sub sp, #0x7c + str r0, [sp, #0xc] + ldr r0, [sp, #0x9c] + mov r12, r3 + add r5, r2, #0x0 + ldr r6, [sp, #0x94] + ldr r7, [sp, #0x98] + ldr r3, _020123FC ; =0x020ED3D8 + str r1, [sp, #0x10] + str r0, [sp, #0x9c] + add r2, sp, #0x1c + mov r4, #0xc +_020123AE: + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + sub r4, r4, #0x1 + bne _020123AE + mov r0, #0x0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x90] + ldr r1, [sp, #0x10] + str r0, [sp, #0x0] + str r6, [sp, #0x4] + ldr r0, [sp, #0xc] + add r2, r5, #0x0 + mov r3, r12 + str r7, [sp, #0x8] + bl sub_020122B8 + str r0, [sp, #0x14] + mov r4, #0x0 + add r5, sp, #0x1c +_020123D4: + ldr r0, [sp, #0x14] + add r1, r7, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x9c] + add r2, r5, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r3, sp, #0x18 + bl sub_02012370 + add r4, r4, #0x1 + add r5, #0x10 + cmp r4, #0x6 + blt _020123D4 + ldr r0, [sp, #0x14] + bl sub_02016A18 + add sp, #0x7c + pop {r4-r7, pc} + nop +_020123FC: .word 0x020ED3D8 + + thumb_func_start sub_02012400 +sub_02012400: ; 0x02012400 + push {r4, lr} + sub sp, #0x10 + ldr r4, [r3, #0x4] + str r4, [sp, #0x0] + ldr r4, [r3, #0x8] + str r4, [sp, #0x4] + ldr r4, [r3, #0xc] + str r4, [sp, #0x8] + ldr r4, [sp, #0x18] + str r4, [sp, #0xc] + ldr r3, [r3, #0x0] + bl sub_02012394 + add sp, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02012420 +sub_02012420: ; 0x02012420 + push {r4-r7, lr} + sub sp, #0x14 + ldr r4, _02012448 ; =0x020ED3B8 + add r5, r3, #0x0 + add r3, sp, #0x4 + add r7, r0, #0x0 + mov r12, r1 + add r6, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r7, #0x0 + mov r1, r12 + add r3, r6, #0x0 + str r5, [sp, #0x0] + bl sub_02012400 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02012448: .word 0x020ED3B8 + + thumb_func_start sub_0201244C +sub_0201244C: ; 0x0201244C + push {r3-r7, lr} + add r6, r1, #0x0 + mov r1, #0x32 + add r7, r2, #0x0 + add r5, r0, #0x0 + add r0, r7, #0x0 + lsl r1, r1, #0x6 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + add r3, r4, #0x0 + bl sub_02012420 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02012470 +sub_02012470: ; 0x02012470 + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r7, #0x0 + mov r1, #0x20 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0200650C + add r1, sp, #0x0 + add r5, r0, #0x0 + blx sub_020B0138 + cmp r0, #0x1 + beq _0201249C + bl sub_02020C2C +_0201249C: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0xc] + mov r2, #0x20 + blx sub_020CE1E0 + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020124B4 +sub_020124B4: ; 0x020124B4 + push {r4-r7, lr} + sub sp, #0x8c + str r0, [sp, #0x1c] + ldr r0, [sp, #0xac] + mov r12, r3 + add r5, r2, #0x0 + ldr r6, [sp, #0xa4] + ldr r7, [sp, #0xa8] + ldr r3, _0201252C ; =0x020ED438 + str r1, [sp, #0x20] + str r0, [sp, #0xac] + add r2, sp, #0x2c + mov r4, #0xc +_020124CE: + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + sub r4, r4, #0x1 + bne _020124CE + mov r0, #0x0 + str r0, [sp, #0x28] + ldr r0, [sp, #0xa0] + ldr r1, [sp, #0x20] + str r0, [sp, #0x0] + str r6, [sp, #0x4] + ldr r0, [sp, #0xb0] + str r7, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [sp, #0xb4] + add r2, r5, #0x0 + str r0, [sp, #0x10] + ldr r0, [sp, #0xb8] + mov r3, r12 + str r0, [sp, #0x14] + ldr r0, [sp, #0xbc] + str r0, [sp, #0x18] + ldr r0, [sp, #0x1c] + bl sub_0201219C + str r0, [sp, #0x24] + mov r4, #0x0 + add r5, sp, #0x2c +_02012504: + ldr r0, [sp, #0x24] + add r1, r7, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0xac] + add r2, r5, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r3, sp, #0x28 + bl sub_02012370 + add r4, r4, #0x1 + add r5, #0x10 + cmp r4, #0x6 + blt _02012504 + ldr r0, [sp, #0x24] + bl sub_02016A18 + add sp, #0x8c + pop {r4-r7, pc} + nop +_0201252C: .word 0x020ED438 + + thumb_func_start sub_02012530 +sub_02012530: ; 0x02012530 + push {r4, lr} + sub sp, #0x20 + ldr r4, [r3, #0x4] + str r4, [sp, #0x0] + ldr r4, [r3, #0x8] + str r4, [sp, #0x4] + ldr r4, [r3, #0xc] + str r4, [sp, #0x8] + ldr r4, [sp, #0x28] + str r4, [sp, #0xc] + ldr r4, [sp, #0x2c] + str r4, [sp, #0x10] + ldr r4, [sp, #0x30] + str r4, [sp, #0x14] + ldr r4, [sp, #0x34] + str r4, [sp, #0x18] + ldr r4, [sp, #0x38] + str r4, [sp, #0x1c] + ldr r3, [r3, #0x0] + bl sub_020124B4 + add sp, #0x20 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02012560 +sub_02012560: ; 0x02012560 + push {r4-r7, lr} + sub sp, #0x24 + ldr r4, _02012598 ; =0x020ED3C8 + add r5, r3, #0x0 + add r3, sp, #0x14 + add r7, r0, #0x0 + mov r12, r1 + add r6, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [sp, #0x38] + str r5, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x3c] + mov r1, r12 + str r0, [sp, #0x8] + ldr r0, [sp, #0x40] + add r3, r6, #0x0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x44] + str r0, [sp, #0x10] + add r0, r7, #0x0 + bl sub_02012530 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_02012598: .word 0x020ED3C8 + + thumb_func_start sub_0201259C +sub_0201259C: ; 0x0201259C + push {r3, lr} + blx sub_020D614C + ldr r3, _020125CC ; =0x021C4808 + mov r0, #0x0 + add r2, r3, #0x0 + add r1, r0, #0x0 + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + stmia r2!, {r0-r1} + ldr r1, _020125D0 ; =0x021C4808 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + add r0, r3, #0x0 + bl sub_02012634 + pop {r3, pc} + .balign 4 +_020125CC: .word 0x021C4808 +_020125D0: .word 0x021C4808 + + thumb_func_start sub_020125D4 +sub_020125D4: ; 0x020125D4 + push {r3, lr} + ldr r0, _020125F4 ; =0x021C4808 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + bne _020125F2 + ldr r1, [r0, #0x8] + add r1, r1, #0x1 + str r1, [r0, #0x8] + cmp r1, #0xa + ble _020125F2 + mov r1, #0x0 + str r1, [r0, #0x8] + ldr r0, _020125F8 ; =0x021C4808 + bl sub_02012634 +_020125F2: + pop {r3, pc} + .balign 4 +_020125F4: .word 0x021C4808 +_020125F8: .word 0x021C4808 + + thumb_func_start sub_020125FC +sub_020125FC: ; 0x020125FC + push {r4, lr} + add r4, r1, #0x0 + str r0, [r4, #0xc] + cmp r0, #0x0 + beq _0201260A + bl sub_02020C2C +_0201260A: + add r3, r4, #0x0 + mov r0, #0x1 + add r2, r4, #0x0 + add r3, #0x2c + str r0, [r4, #0x0] + ldmia r3!, {r0-r1} + add r2, #0x10 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + add r3, r4, #0x0 + add r3, #0x3c + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + pop {r4, pc} + + thumb_func_start sub_02012634 +sub_02012634: ; 0x02012634 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1 + str r0, [r4, #0x4] + add r0, r4, #0x0 + add r1, r4, #0x0 + ldr r2, _02012658 ; =sub_020125FC + add r0, #0x2c + add r1, #0x3c + add r3, r4, #0x0 + blx sub_020D5F40 + str r0, [r4, #0xc] + cmp r0, #0x0 + beq _02012656 + bl sub_02020C2C +_02012656: + pop {r4, pc} + .balign 4 +_02012658: .word sub_020125FC + 1 + + thumb_func_start sub_0201265C +sub_0201265C: ; 0x0201265C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02012684 ; =0x021C4808 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _0201266E + bl sub_02020C2C +_0201266E: + ldr r2, _02012688 ; =0x021C4818 + ldmia r2!, {r0-r1} + stmia r5!, {r0-r1} + ldmia r2!, {r0-r1} + ldr r2, _0201268C ; =0x021C4828 + stmia r5!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 +_02012684: .word 0x021C4808 +_02012688: .word 0x021C4818 +_0201268C: .word 0x021C4828 + + thumb_func_start sub_02012690 +sub_02012690: ; 0x02012690 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020126AC ; =0x021C4808 + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _020126A0 + bl sub_02020C2C +_020126A0: + ldr r2, _020126B0 ; =0x021C4828 + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] + pop {r4, pc} + .balign 4 +_020126AC: .word 0x021C4808 +_020126B0: .word 0x021C4828 + + thumb_func_start sub_020126B4 +sub_020126B4: ; 0x020126B4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020126D0 ; =0x021C4808 + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _020126C4 + bl sub_02020C2C +_020126C4: + ldr r2, _020126D4 ; =0x021C4818 + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + pop {r4, pc} + .balign 4 +_020126D0: .word 0x021C4808 +_020126D4: .word 0x021C4818 + + thumb_func_start sub_020126D8 +sub_020126D8: ; 0x020126D8 + push {r3-r4} + ldr r4, _020126F8 ; =0x021C4828 + mov r0, #0x3c + ldr r1, [r4, #0x4] + ldr r3, [r4, #0x8] + add r2, r1, #0x0 + mul r2, r0 + mov r0, #0xe1 + ldr r1, [r4, #0x0] + lsl r0, r0, #0x4 + mul r0, r1 + add r0, r2, r0 + add r0, r3, r0 + pop {r3-r4} + bx lr + nop +_020126F8: .word 0x021C4828 + + thumb_func_start sub_020126FC +sub_020126FC: ; 0x020126FC + ldr r3, _02012704 ; =sub_020D6578 + ldr r0, _02012708 ; =0x021C4818 + ldr r1, _0201270C ; =0x021C4828 + bx r3 + .balign 4 +_02012704: .word sub_020D6578 +_02012708: .word 0x021C4818 +_0201270C: .word 0x021C4828 + + thumb_func_start sub_02012710 +sub_02012710: ; 0x02012710 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r2, [r5, #0x4] + ldr r0, _02012778 ; =0x020ED4B2 + lsl r1, r2, #0x1 + ldrh r0, [r0, r1] + ldr r3, [r5, #0x8] + add r4, r3, r0 + cmp r2, #0x3 + blo _02012752 + ldr r6, [r5, #0x0] + mov r0, #0x1e + lsr r2, r6, #0x1f + lsl r1, r6, #0x1e + sub r1, r1, r2 + ror r1, r0 + add r0, r2, r1 + bne _02012742 + add r0, r6, #0x0 + mov r1, #0x64 + blx sub_020EBC80 + cmp r1, #0x0 + bne _02012750 +_02012742: + mov r1, #0x19 + add r0, r6, #0x0 + lsl r1, r1, #0x4 + blx sub_020EBC80 + cmp r1, #0x0 + bne _02012752 +_02012750: + add r4, r4, #0x1 +_02012752: + add r6, r5, #0x0 + add r3, sp, #0x0 + add r2, r3, #0x0 + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r0, r2, #0x0 + blx sub_020D660C + add r0, r5, #0x0 + blx sub_020D660C + add r0, r4, #0x0 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_02012778: .word 0x020ED4B2 + + thumb_func_start sub_0201277C +sub_0201277C: ; 0x0201277C + push {r3, lr} + bl sub_02012794 + cmp r0, #0x3 + beq _0201278A + cmp r0, #0x4 + bne _0201278E +_0201278A: + mov r0, #0x1 + pop {r3, pc} +_0201278E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02012794 +sub_02012794: ; 0x02012794 + push {lr} + sub sp, #0xc + add r0, sp, #0x0 + bl sub_02012690 + ldr r0, [sp, #0x0] + bl sub_020127A8 + add sp, #0xc + pop {pc} + + thumb_func_start sub_020127A8 +sub_020127A8: ; 0x020127A8 + push {r4, lr} + add r4, r0, #0x0 + bmi _020127B2 + cmp r4, #0x18 + blt _020127B6 +_020127B2: + bl sub_02020C2C +_020127B6: + ldr r0, _020127BC ; =0x020ED4CC + ldrb r0, [r0, r4] + pop {r4, pc} + .balign 4 +_020127BC: .word 0x020ED4CC + + thumb_func_start sub_020127C0 +sub_020127C0: ; 0x020127C0 + push {r4-r7, lr} + sub sp, #0x24 + add r6, r3, #0x0 + ldr r3, _0201282C ; =0x020ED4A4 + add r4, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r2, sp, #0x14 + ldmia r3!, {r0-r1} + str r2, [sp, #0x0] + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r3, _02012830 ; =0x020ED498 + add r2, sp, #0x8 + ldmia r3!, {r0-r1} + str r2, [sp, #0x4] + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r1, [sp, #0x4] + str r0, [r2, #0x0] + ldr r0, [sp, #0x0] + blx sub_020D6578 + add r2, r1, #0x0 + add r3, r0, #0x0 + mov r1, #0x0 + ldr r0, _02012834 ; =0xBC19137F + eor r1, r2 + eor r0, r3 + orr r0, r1 + beq _02012804 + bl sub_02020C2C +_02012804: + sub r0, r4, r5 + mov r12, r7 + mov r0, r12 + sbc r0, r6 + bge _02012818 + sub r0, r5, r4 + sbc r6, r7 + add sp, #0x24 + add r1, r6, #0x0 + pop {r4-r7, pc} +_02012818: + ldr r0, _02012834 ; =0xBC19137F + mov r1, #0x0 + sub r0, r0, r4 + sbc r1, r7 + add r0, r5, r0 + adc r6, r1 + add r1, r6, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0201282C: .word 0x020ED4A4 +_02012830: .word 0x020ED498 +_02012834: .word 0xBC19137F + + thumb_func_start sub_02012838 +sub_02012838: ; 0x02012838 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x3 + bl sub_02016998 + cmp r0, #0x0 + beq _0201286E + mov r2, #0x0 + cmp r5, #0x0 + bls _02012862 + add r3, r0, #0x0 + add r1, r2, #0x0 +_02012856: + str r1, [r3, #0x0] + str r1, [r3, #0x4] + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, r5 + blo _02012856 +_02012862: + mov r1, #0x0 + lsl r2, r2, #0x3 + mvn r1, r1 + str r1, [r0, r2] + add r1, r0, r2 + str r4, [r1, #0x4] +_0201286E: + pop {r3-r5, pc} + + thumb_func_start sub_02012870 +sub_02012870: ; 0x02012870 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201291C + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02012880 +sub_02012880: ; 0x02012880 + push {r3-r7, lr} + add r6, r1, #0x0 + add r1, sp, #0x0 + add r7, r2, #0x0 + add r5, r3, #0x0 + bl sub_020128E0 + add r4, r0, #0x0 + beq _0201289E + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_0200A914 + str r0, [r4, #0x0] + str r5, [r4, #0x4] +_0201289E: + pop {r3-r7, pc} + + thumb_func_start sub_020128A0 +sub_020128A0: ; 0x020128A0 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r1, #0x0 + add r1, sp, #0x0 + add r5, r2, #0x0 + bl sub_020128E0 + add r4, r0, #0x0 + beq _020128BE + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_02021ACC + str r0, [r4, #0x0] + str r5, [r4, #0x4] +_020128BE: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_020128C4 +sub_020128C4: ; 0x020128C4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r1, #0x0 + add r1, sp, #0x0 + bl sub_020128E0 + cmp r0, #0x0 + beq _020128DC + ldr r1, [r4, #0x0] + str r1, [r0, #0x0] + ldr r1, [r4, #0x4] + str r1, [r0, #0x4] +_020128DC: + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_020128E0 +sub_020128E0: ; 0x020128E0 + push {r4, lr} + ldr r3, [r0, #0x0] + cmp r3, #0x0 + beq _02012900 + mov r2, #0x0 + mvn r2, r2 +_020128EC: + cmp r3, r2 + bne _020128F8 + bl sub_02020C2C + mov r0, #0x0 + pop {r4, pc} +_020128F8: + add r0, #0x8 + ldr r3, [r0, #0x0] + cmp r3, #0x0 + bne _020128EC +_02012900: + mov r2, #0x0 + mvn r2, r2 + add r4, r0, #0x0 + cmp r3, r2 + beq _02012912 +_0201290A: + add r0, #0x8 + ldr r3, [r0, #0x0] + cmp r3, r2 + bne _0201290A +_02012912: + ldr r0, [r0, #0x4] + str r0, [r1, #0x0] + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201291C +sub_0201291C: ; 0x0201291C + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x0 + ldr r1, [r5, #0x0] + mvn r0, r0 + cmp r1, r0 + beq _02012942 + mov r4, #0x0 + add r6, r0, #0x0 +_0201292E: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02012942 + bl sub_02021A20 + str r4, [r5, #0x0] + add r5, #0x8 + ldr r0, [r5, #0x0] + cmp r0, r6 + bne _0201292E +_02012942: + pop {r4-r6, pc} + + thumb_func_start sub_02012944 +sub_02012944: ; 0x02012944 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0xc + add r4, r2, #0x0 + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + strb r1, [r0, #0x8] + strb r1, [r0, #0x9] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + mov r1, #0x1 + strb r1, [r0, #0x9] + str r5, [r0, #0x0] + str r4, [r0, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_02012974 +sub_02012974: ; 0x02012974 + push {r4, lr} + add r4, r0, #0x0 + bne _0201297E + bl sub_02020C2C +_0201297E: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02012988 +sub_02012988: ; 0x02012988 + push {r4, lr} + add r4, r0, #0x0 + bne _02012992 + bl sub_02020C2C +_02012992: + ldrb r0, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201299C +sub_0201299C: ; 0x0201299C + push {r4, lr} + add r4, r0, #0x0 + bne _020129A6 + bl sub_02020C2C +_020129A6: + ldrb r1, [r4, #0x8] + mov r0, #0x1 + eor r0, r1 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020129B4 +sub_020129B4: ; 0x020129B4 + cmp r0, #0x0 + beq _020129C6 + ldrb r1, [r0, #0x9] + cmp r1, #0x0 + beq _020129C6 + ldrb r2, [r0, #0x8] + mov r1, #0x1 + eor r1, r2 + strb r1, [r0, #0x8] +_020129C6: + bx lr + + thumb_func_start sub_020129C8 +sub_020129C8: ; 0x020129C8 + push {r3, lr} + mov r0, #0x0 + blx sub_020CD998 + mov r0, #0x0 + blx sub_020CDA1C + pop {r3, pc} + + thumb_func_start sub_020129D8 +sub_020129D8: ; 0x020129D8 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + cmp r3, #0x1 + bne _020129F2 + mov r0, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + add r3, r4, #0x0 + blx sub_020CDE04 + pop {r4-r6, pc} +_020129F2: + mov r0, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + add r3, r4, #0x0 + blx sub_020CDD90 + pop {r4-r6, pc} + + thumb_func_start sub_02012A00 +sub_02012A00: ; 0x02012A00 + push {r3-r5, lr} + ldr r1, _02012A2C ; =0x0000079C + add r5, r0, #0x0 + bl sub_02016998 + ldr r2, _02012A2C ; =0x0000079C + mov r1, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r2, #0x3 + lsl r2, r2, #0x8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r4, r2 + bl sub_02012944 + mov r1, #0x6 + lsl r1, r1, #0x8 + str r0, [r4, r1] + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02012A2C: .word 0x0000079C + + thumb_func_start sub_02012A30 +sub_02012A30: ; 0x02012A30 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r5, #0x0 + bne _02012A42 + bl sub_02020C2C +_02012A42: + ldr r0, _02012AB0 ; =0x00000604 + ldr r0, [r5, r0] + cmp r0, #0x0 + beq _02012A4E + bl sub_02020C2C +_02012A4E: + ldr r0, _02012AB4 ; =0x0000078C + mov r2, #0x0 + strb r4, [r5, r0] + add r1, r0, #0x1 + strb r6, [r5, r1] + add r1, r0, #0x0 + add r1, #0xc + strh r2, [r5, r1] + add r2, sp, #0x8 + mov r1, #0x14 + ldrsh r2, [r2, r1] + add r1, r0, #0x0 + add r1, #0xe + strh r2, [r5, r1] + add r1, r0, #0x4 + ldr r2, [sp, #0x20] + add r0, #0x8 + str r2, [r5, r1] + ldr r1, [sp, #0x24] + ldr r3, [sp, #0x18] + str r1, [r5, r0] + ldr r0, _02012AB8 ; =0x0000060C + mov r1, #0xc0 + add r0, r5, r0 + add r2, r7, #0x0 + bl sub_02012B88 + ldr r0, _02012ABC ; =sub_02012BE4 + ldr r2, [sp, #0x28] + add r1, r5, #0x0 + bl sub_0200CA44 + ldr r1, _02012AB0 ; =0x00000604 + mov r2, #0x3 + str r0, [r5, r1] + ldr r0, _02012AC0 ; =0x00000794 + add r1, r5, #0x0 + ldr r0, [r5, r0] + lsl r2, r2, #0x8 + blx sub_020CE1FC + ldr r0, _02012AC0 ; =0x00000794 + mov r2, #0x3 + lsl r2, r2, #0x8 + ldr r0, [r5, r0] + add r1, r5, r2 + blx sub_020CE1FC + pop {r3-r7, pc} + .balign 4 +_02012AB0: .word 0x00000604 +_02012AB4: .word 0x0000078C +_02012AB8: .word 0x0000060C +_02012ABC: .word sub_02012BE4 + 1 +_02012AC0: .word 0x00000794 + + thumb_func_start sub_02012AC4 +sub_02012AC4: ; 0x02012AC4 + push {r4, lr} + add r4, r0, #0x0 + bne _02012ACE + bl sub_02020C2C +_02012ACE: + ldr r0, _02012AF8 ; =0x00000604 + ldr r0, [r4, r0] + cmp r0, #0x0 + beq _02012AF4 + bl sub_0200CAB4 + ldr r0, _02012AF8 ; =0x00000604 + mov r1, #0x0 + str r1, [r4, r0] + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02012988 + ldr r1, _02012AFC ; =0x00000794 + mov r2, #0x3 + ldr r1, [r4, r1] + lsl r2, r2, #0x8 + blx sub_020DF4A4 +_02012AF4: + pop {r4, pc} + nop +_02012AF8: .word 0x00000604 +_02012AFC: .word 0x00000794 + + thumb_func_start sub_02012B00 +sub_02012B00: ; 0x02012B00 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02012AC4 + bl sub_02012C90 + mov r0, #0x6 + lsl r0, r0, #0x8 + ldr r0, [r4, r0] + bl sub_02012974 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02012B20 +sub_02012B20: ; 0x02012B20 + mov r1, #0x6 + lsl r1, r1, #0x8 + ldr r3, _02012B2C ; =sub_02012988 + ldr r0, [r0, r1] + bx r3 + nop +_02012B2C: .word sub_02012988 + 1 + + thumb_func_start sub_02012B30 +sub_02012B30: ; 0x02012B30 + push {r4, lr} + add r4, r0, #0x0 + beq _02012B5E + ldr r0, _02012B60 ; =0x00000604 + ldr r1, [r4, r0] + cmp r1, #0x0 + beq _02012B5E + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_020129B4 + mov r0, #0x6 + lsl r0, r0, #0x8 + ldr r0, [r4, r0] + bl sub_02012988 + add r1, r0, #0x0 + ldr r0, _02012B64 ; =0x00000794 + mov r2, #0x3 + ldr r0, [r4, r0] + lsl r2, r2, #0x8 + blx sub_020CE1FC +_02012B5E: + pop {r4, pc} + .balign 4 +_02012B60: .word 0x00000604 +_02012B64: .word 0x00000794 + + thumb_func_start sub_02012B68 +sub_02012B68: ; 0x02012B68 + push {r4, lr} + add r4, r0, #0x0 + beq _02012B80 + ldr r0, _02012B84 ; =0x00000604 + ldr r0, [r4, r0] + cmp r0, #0x0 + beq _02012B80 + bl sub_02012C90 + add r0, r4, #0x0 + bl sub_02012C98 +_02012B80: + pop {r4, pc} + nop +_02012B84: .word 0x00000604 + + thumb_func_start sub_02012B88 +sub_02012B88: ; 0x02012B88 + push {r4-r7, lr} + sub sp, #0xc + mov r4, #0x0 + add r7, r1, #0x0 + add r5, r0, #0x0 + add r6, r4, #0x0 + str r2, [sp, #0x0] + cmp r7, #0x0 + bls _02012BD6 + asr r0, r3, #0x1f + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_02012BA0: + asr r0, r4, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02012BDC ; =0x020FFA38 + ldr r2, [sp, #0x4] + ldrsh r0, [r0, r1] + ldr r3, [sp, #0x8] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + lsl r2, r2, #0xa + add r0, r0, r2 + ldr r2, _02012BE0 ; =0x00000000 + adc r1, r2 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + asr r0, r0, #0xc + strh r0, [r5, #0x0] + ldr r0, [sp, #0x0] + add r6, r6, #0x1 + add r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r5, r5, #0x2 + cmp r6, r7 + blo _02012BA0 +_02012BD6: + add sp, #0xc + pop {r4-r7, pc} + nop +_02012BDC: .word 0x020FFA38 +_02012BE0: .word 0x00000000 + + thumb_func_start sub_02012BE4 +sub_02012BE4: ; 0x02012BE4 + push {r3-r7, lr} + mov r0, #0x6 + add r6, r1, #0x0 + lsl r0, r0, #0x8 + ldr r0, [r6, r0] + bl sub_02012988 + add r5, r0, #0x0 + ldr r0, _02012C80 ; =0x00000798 + mov r1, #0x64 + ldrsh r0, [r6, r0] + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + ldr r0, _02012C84 ; =0x0000078C + ldrb r4, [r6, r0] + add r0, r0, #0x1 + ldrb r0, [r6, r0] + cmp r4, r0 + bgt _02012C4C + lsl r0, r4, #0x2 + add r5, r5, r0 +_02012C12: + ldr r2, [r5, #0x0] + lsl r0, r2, #0x10 + asr r7, r0, #0x10 + lsl r0, r3, #0x1 + add r1, r6, r0 + ldr r0, _02012C88 ; =0x0000060C + ldrsh r0, [r1, r0] + add r0, r7, r0 + lsl r0, r0, #0x10 + asr r1, r0, #0x10 + lsr r0, r2, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + lsr r1, r1, #0x10 + orr r0, r1 + stmia r5!, {r0} + add r0, r3, #0x1 + mov r1, #0xc0 + blx sub_020EBC80 + lsl r0, r1, #0x18 + lsr r3, r0, #0x18 + ldr r0, _02012C8C ; =0x0000078D + add r4, r4, #0x1 + ldrb r0, [r6, r0] + cmp r4, r0 + ble _02012C12 +_02012C4C: + ldr r1, _02012C80 ; =0x00000798 + add r0, r1, #0x2 + ldrsh r2, [r6, r1] + ldrsh r0, [r6, r0] + add r4, r6, r1 + add r0, r2, r0 + strh r0, [r4, #0x0] + ldrsh r0, [r6, r1] + mov r1, #0x4b + lsl r1, r1, #0x8 + cmp r0, r1 + blt _02012C70 + mov r0, #0x0 + ldrsh r0, [r4, r0] + blx sub_020EBC80 + strh r1, [r4, #0x0] + pop {r3-r7, pc} +_02012C70: + cmp r0, #0x0 + bge _02012C7C + mov r0, #0x0 + ldrsh r0, [r4, r0] + add r0, r0, r1 + strh r0, [r4, #0x0] +_02012C7C: + pop {r3-r7, pc} + nop +_02012C80: .word 0x00000798 +_02012C84: .word 0x0000078C +_02012C88: .word 0x0000060C +_02012C8C: .word 0x0000078D + + thumb_func_start sub_02012C90 +sub_02012C90: ; 0x02012C90 + ldr r3, _02012C94 ; =sub_020129C8 + bx r3 + .balign 4 +_02012C94: .word sub_020129C8 + 1 + + thumb_func_start sub_02012C98 +sub_02012C98: ; 0x02012C98 + push {r3-r5, lr} + add r4, r0, #0x0 + bne _02012CA2 + bl sub_02020C2C +_02012CA2: + mov r0, #0x6 + lsl r0, r0, #0x8 + ldr r0, [r4, r0] + bl sub_0201299C + mov r1, #0x3 + lsl r1, r1, #0x8 + add r5, r0, #0x0 + blx sub_020CC15C + mov r1, #0x79 + lsl r1, r1, #0x4 + ldr r1, [r4, r1] + add r0, r5, #0x0 + mov r2, #0x4 + mov r3, #0x1 + bl sub_020129D8 + pop {r3-r5, pc} + + thumb_func_start sub_02012CC8 +sub_02012CC8: ; 0x02012CC8 + mov r1, #0x0 + ldr r2, _02012CD8 ; =0x021C4858 + add r0, r1, #0x0 +_02012CCE: + add r1, r1, #0x1 + stmia r2!, {r0} + cmp r1, #0x10 + blt _02012CCE + bx lr + .balign 4 +_02012CD8: .word 0x021C4858 + + thumb_func_start sub_02012CDC +sub_02012CDC: ; 0x02012CDC + push {r3-r7, lr} + sub sp, #0x10 + str r1, [sp, #0x8] + ldr r1, _02012DD0 ; =0x021C4858 + add r7, r0, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0xc] + mov r5, #0x0 +_02012CEC: + ldr r0, [r1, #0x0] + cmp r0, #0x0 + beq _02012CFA + add r5, r5, #0x1 + add r1, r1, #0x4 + cmp r5, #0x10 + blt _02012CEC +_02012CFA: + cmp r5, #0x10 + blt _02012D04 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_02012D04: + ldr r0, [sp, #0x2c] + mov r1, #0xdc + bl sub_02016998 + add r4, r0, #0x0 + bne _02012D14 + bl sub_02020C2C +_02012D14: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0xdc + blx sub_020DF4A4 + add r2, r4, #0x0 + ldr r0, [sp, #0x8] + str r7, [r4, #0x18] + ldr r3, _02012DD4 ; =0x020ED4FC + str r0, [r4, #0x1c] + ldmia r3!, {r0-r1} + add r2, #0x34 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r3, _02012DD8 ; =0x020ED4E4 + str r0, [r2, #0x0] + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x40 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r3, _02012DDC ; =0x020ED4F0 + str r0, [r2, #0x0] + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x4c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + mov r1, #0x0 + str r0, [r2, #0x0] + ldr r2, [sp, #0xc] + add r0, r6, #0x0 + blx sub_020DF4A4 + ldr r0, [sp, #0xc] + str r6, [r4, #0xc] + str r6, [r4, #0x10] + add r0, r6, r0 + str r0, [r4, #0x14] + add r0, r4, #0x0 + add r0, #0xda + strb r5, [r0, #0x0] + ldr r0, _02012DD0 ; =0x021C4858 + lsl r5, r5, #0x2 + str r4, [r0, r5] + ldr r0, [sp, #0x28] + cmp r0, #0x1 + bne _02012DA8 + ldr r0, [sp, #0x2c] + bl sub_0201EB64 + str r0, [r4, #0x20] + mov r3, #0x0 + str r3, [r4, #0x24] + str r3, [r4, #0x28] + mov r0, #0x2 + str r3, [r4, #0x2c] + lsl r0, r0, #0xc + strh r0, [r4, #0x30] + str r3, [sp, #0x0] + ldr r0, [r4, #0x20] + ldr r1, _02012DD4 ; =0x020ED4FC + str r0, [sp, #0x4] + ldrh r2, [r4, #0x30] + ldr r0, _02012DDC ; =0x020ED4F0 + bl sub_0201ED5C + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0xdb + strb r1, [r0, #0x0] + ldr r0, [r4, #0x20] + bl sub_0201EB8C +_02012DA8: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x3f + str r0, [sp, #0x4] + ldr r0, _02012DE0 ; =0x020ED508 + mov r1, #0x14 + ldr r0, [r0, r5] + mov r2, #0xc8 + mov r3, #0x5 + blx sub_0208B4A0 + str r0, [r4, #0x0] + ldr r1, _02012DD8 ; =0x020ED4E4 + add r0, r4, #0x0 + bl sub_020133FC + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_02012DD0: .word 0x021C4858 +_02012DD4: .word 0x020ED4FC +_02012DD8: .word 0x020ED4E4 +_02012DDC: .word 0x020ED4F0 +_02012DE0: .word 0x020ED508 + + thumb_func_start sub_02012DE4 +sub_02012DE4: ; 0x02012DE4 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020133D0 + add r0, r5, #0x0 + add r0, #0xd8 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + tst r0, r1 + beq _02012E02 + add r0, r5, #0x0 + add r0, #0x58 + blx sub_020AE8CC + b _02012E22 +_02012E02: + mov r0, #0x2 + tst r0, r1 + beq _02012E22 + mov r6, #0x0 + add r4, r5, #0x0 + add r7, r6, #0x0 +_02012E0E: + ldr r0, [r4, #0x58] + cmp r0, #0x0 + beq _02012E1A + blx sub_020AF894 + str r7, [r4, #0x58] +_02012E1A: + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x10 + blt _02012E0E +_02012E22: + add r0, r5, #0x0 + add r0, #0xd8 + ldrb r1, [r0, #0x0] + mov r0, #0x4 + tst r0, r1 + beq _02012E38 + add r0, r5, #0x0 + add r0, #0x98 + blx sub_020AEC7C + b _02012E60 +_02012E38: + mov r0, #0x8 + tst r0, r1 + beq _02012E60 + mov r6, #0x0 + add r4, r5, #0x0 + add r7, r6, #0x0 +_02012E44: + add r0, r4, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02012E58 + blx sub_020AFA80 + add r0, r4, #0x0 + add r0, #0x98 + str r7, [r0, #0x0] +_02012E58: + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x10 + blt _02012E44 +_02012E60: + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0xd8 + strb r1, [r0, #0x0] + str r1, [r5, #0x8] + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _02012E78 + bl sub_02016A18 + mov r0, #0x0 + str r0, [r5, #0x4] +_02012E78: + ldr r2, _02012EA8 ; =0x021C4858 + mov r1, #0x0 +_02012E7C: + ldr r0, [r2, #0x0] + cmp r0, r5 + bne _02012E8C + ldr r0, _02012EA8 ; =0x021C4858 + mov r2, #0x0 + lsl r1, r1, #0x2 + str r2, [r0, r1] + b _02012E94 +_02012E8C: + add r1, r1, #0x1 + add r2, r2, #0x4 + cmp r1, #0x10 + blt _02012E7C +_02012E94: + ldr r0, [r5, #0x20] + cmp r0, #0x0 + beq _02012E9E + bl sub_0201EB70 +_02012E9E: + add r0, r5, #0x0 + bl sub_02016A18 + pop {r3-r7, pc} + nop +_02012EA8: .word 0x021C4858 + + thumb_func_start sub_02012EAC +sub_02012EAC: ; 0x02012EAC + push {r3-r5, lr} + ldr r5, _02012EC8 ; =0x021C4858 + mov r4, #0x0 +_02012EB2: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02012EBC + bl sub_02012DE4 +_02012EBC: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x10 + blt _02012EB2 + pop {r3-r5, pc} + nop +_02012EC8: .word 0x021C4858 + + thumb_func_start sub_02012ECC +sub_02012ECC: ; 0x02012ECC + push {r4, lr} + ldr r1, _02012EF4 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x8] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012EE4 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012EE4: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012EF0 + bl sub_02020C2C +_02012EF0: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012EF4: .word 0x021C4850 + + thumb_func_start sub_02012EF8 +sub_02012EF8: ; 0x02012EF8 + push {r4, lr} + ldr r1, _02012F20 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0xc] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012F10 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012F10: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012F1C + bl sub_02020C2C +_02012F1C: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012F20: .word 0x021C4850 + + thumb_func_start sub_02012F24 +sub_02012F24: ; 0x02012F24 + push {r4, lr} + ldr r1, _02012F4C ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x10] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012F3C + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012F3C: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012F48 + bl sub_02020C2C +_02012F48: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012F4C: .word 0x021C4850 + + thumb_func_start sub_02012F50 +sub_02012F50: ; 0x02012F50 + push {r4, lr} + ldr r1, _02012F78 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x14] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012F68 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012F68: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012F74 + bl sub_02020C2C +_02012F74: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012F78: .word 0x021C4850 + + thumb_func_start sub_02012F7C +sub_02012F7C: ; 0x02012F7C + push {r4, lr} + ldr r1, _02012FA4 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x18] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012F94 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012F94: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012FA0 + bl sub_02020C2C +_02012FA0: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012FA4: .word 0x021C4850 + + thumb_func_start sub_02012FA8 +sub_02012FA8: ; 0x02012FA8 + push {r4, lr} + ldr r1, _02012FD0 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x1c] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012FC0 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012FC0: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012FCC + bl sub_02020C2C +_02012FCC: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012FD0: .word 0x021C4850 + + thumb_func_start sub_02012FD4 +sub_02012FD4: ; 0x02012FD4 + push {r4, lr} + ldr r1, _02012FFC ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x20] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02012FEC + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02012FEC: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02012FF8 + bl sub_02020C2C +_02012FF8: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02012FFC: .word 0x021C4850 + + thumb_func_start sub_02013000 +sub_02013000: ; 0x02013000 + push {r4, lr} + ldr r1, _02013028 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x24] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02013018 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02013018: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02013024 + bl sub_02020C2C +_02013024: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013028: .word 0x021C4850 + + thumb_func_start sub_0201302C +sub_0201302C: ; 0x0201302C + push {r4, lr} + ldr r1, _02013054 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x28] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02013044 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02013044: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02013050 + bl sub_02020C2C +_02013050: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013054: .word 0x021C4850 + + thumb_func_start sub_02013058 +sub_02013058: ; 0x02013058 + push {r4, lr} + ldr r1, _02013080 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x2c] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02013070 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02013070: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _0201307C + bl sub_02020C2C +_0201307C: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013080: .word 0x021C4850 + + thumb_func_start sub_02013084 +sub_02013084: ; 0x02013084 + push {r4, lr} + ldr r1, _020130AC ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x30] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _0201309C + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_0201309C: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _020130A8 + bl sub_02020C2C +_020130A8: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_020130AC: .word 0x021C4850 + + thumb_func_start sub_020130B0 +sub_020130B0: ; 0x020130B0 + push {r4, lr} + ldr r1, _020130D8 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x34] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _020130C8 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_020130C8: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _020130D4 + bl sub_02020C2C +_020130D4: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_020130D8: .word 0x021C4850 + + thumb_func_start sub_020130DC +sub_020130DC: ; 0x020130DC + push {r4, lr} + ldr r1, _02013104 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x38] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _020130F4 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_020130F4: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02013100 + bl sub_02020C2C +_02013100: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013104: .word 0x021C4850 + + thumb_func_start sub_02013108 +sub_02013108: ; 0x02013108 + push {r4, lr} + ldr r1, _02013130 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x3c] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02013120 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02013120: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _0201312C + bl sub_02020C2C +_0201312C: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013130: .word 0x021C4850 + + thumb_func_start sub_02013134 +sub_02013134: ; 0x02013134 + push {r4, lr} + ldr r1, _0201315C ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x40] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _0201314C + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_0201314C: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02013158 + bl sub_02020C2C +_02013158: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_0201315C: .word 0x021C4850 + + thumb_func_start sub_02013160 +sub_02013160: ; 0x02013160 + push {r4, lr} + ldr r1, _02013188 ; =0x021C4850 + mov r2, #0x3 + ldr r1, [r1, #0x44] + ldr r4, [r1, #0x10] + add r0, r4, r0 + add r3, r0, #0x0 + and r3, r2 + beq _02013178 + mov r2, #0x4 + sub r2, r2, r3 + add r0, r0, r2 +_02013178: + str r0, [r1, #0x10] + ldr r1, [r1, #0x14] + cmp r0, r1 + blo _02013184 + bl sub_02020C2C +_02013184: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02013188: .word 0x021C4850 + + thumb_func_start sub_0201318C +sub_0201318C: ; 0x0201318C + ldr r3, _02013190 ; =sub_0200650C + bx r3 + .balign 4 +_02013190: .word sub_0200650C + 1 + + thumb_func_start sub_02013194 +sub_02013194: ; 0x02013194 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + add r4, r2, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + bne _020131A8 + bl sub_02020C2C +_020131A8: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _020131B2 + bl sub_02020C2C +_020131B2: + add r0, r5, #0x0 + add r0, #0xd8 + strb r4, [r0, #0x0] + mov r0, #0x1 + tst r0, r4 + beq _020131C8 + add r0, r5, #0x0 + add r0, #0x58 + blx sub_020AE918 + b _020131DE +_020131C8: + mov r0, #0x2 + tst r0, r4 + beq _020131DE + mov r1, #0x0 + add r2, r5, #0x0 + add r0, r1, #0x0 +_020131D4: + add r1, r1, #0x1 + str r0, [r2, #0x58] + add r2, r2, #0x4 + cmp r1, #0x10 + blt _020131D4 +_020131DE: + mov r0, #0x4 + tst r0, r4 + beq _020131EE + add r0, r5, #0x0 + add r0, #0x98 + blx sub_020AEC98 + b _02013208 +_020131EE: + mov r0, #0x8 + tst r0, r4 + beq _02013208 + mov r2, #0x0 + add r3, r5, #0x0 + add r1, r2, #0x0 +_020131FA: + add r0, r3, #0x0 + add r0, #0x98 + add r2, r2, #0x1 + add r3, r3, #0x4 + str r1, [r0, #0x0] + cmp r2, #0x10 + blt _020131FA +_02013208: + str r6, [r5, #0x4] + cmp r7, #0x1 + bne _02013216 + add r0, r5, #0x0 + bl sub_02013228 + pop {r3-r7, pc} +_02013216: + ldr r0, _02013224 ; =sub_02013268 + add r1, r5, #0x0 + mov r2, #0x5 + bl sub_0200CA98 + pop {r3-r7, pc} + nop +_02013224: .word sub_02013268 + 1 + + thumb_func_start sub_02013228 +sub_02013228: ; 0x02013228 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + blx sub_0208B128 + ldr r0, _02013264 ; =0x021C4850 + str r4, [r0, #0x0] + ldr r1, [r4, #0x18] + ldr r0, [r4, #0x0] + cmp r1, #0x0 + bne _02013246 + blx sub_0208AF94 + b _0201324A +_02013246: + blx sub_0208B05C +_0201324A: + ldr r1, [r4, #0x1c] + ldr r0, [r4, #0x0] + cmp r1, #0x0 + bne _02013258 + blx sub_0208AF80 + b _0201325C +_02013258: + blx sub_0208AFA8 +_0201325C: + ldr r0, _02013264 ; =0x021C4850 + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r4, pc} + .balign 4 +_02013264: .word 0x021C4850 + + thumb_func_start sub_02013268 +sub_02013268: ; 0x02013268 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02013228 + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201327C +sub_0201327C: ; 0x0201327C + push {r4, lr} + add r4, r0, #0x0 + bne _02013286 + bl sub_02020C2C +_02013286: + ldr r0, _020132B8 ; =0x021C4850 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02013292 + bl sub_02020C2C +_02013292: + ldr r0, _020132B8 ; =0x021C4850 + mov r1, #0x0 + ldr r3, [r0, #0x0] + add r2, r3, #0x0 +_0201329A: + ldr r0, [r2, #0x58] + cmp r0, #0x0 + bne _020132A8 + lsl r0, r1, #0x2 + add r0, r3, r0 + str r4, [r0, #0x58] + pop {r4, pc} +_020132A8: + add r1, r1, #0x1 + add r2, r2, #0x4 + cmp r1, #0x10 + blt _0201329A + bl sub_02020C2C + pop {r4, pc} + nop +_020132B8: .word 0x021C4850 + + thumb_func_start sub_020132BC +sub_020132BC: ; 0x020132BC + push {r4, lr} + add r4, r0, #0x0 + bne _020132C6 + bl sub_02020C2C +_020132C6: + ldr r0, _020132FC ; =0x021C4850 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020132D2 + bl sub_02020C2C +_020132D2: + ldr r0, _020132FC ; =0x021C4850 + mov r1, #0x0 + ldr r3, [r0, #0x0] + add r2, r3, #0x0 +_020132DA: + add r0, r2, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020132EE + lsl r0, r1, #0x2 + add r0, r3, r0 + add r0, #0x98 + str r4, [r0, #0x0] + pop {r4, pc} +_020132EE: + add r1, r1, #0x1 + add r2, r2, #0x4 + cmp r1, #0x10 + blt _020132DA + bl sub_02020C2C + pop {r4, pc} + .balign 4 +_020132FC: .word 0x021C4850 + + thumb_func_start sub_02013300 +sub_02013300: ; 0x02013300 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x20] + cmp r1, #0x0 + beq _0201331C + add r0, #0xdb + ldrb r0, [r0, #0x0] + bl sub_0201EE2C + ldr r0, [r4, #0x20] + bl sub_0201EB8C + bl sub_0201EBA4 +_0201331C: + blx sub_020B849C + ldr r0, [r4, #0x0] + ldr r1, _02013338 ; =0x021CED64 + blx sub_0208AD80 + ldr r0, [r4, #0x20] + cmp r0, #0x0 + beq _02013332 + bl sub_0201EB98 +_02013332: + blx sub_020B849C + pop {r4, pc} + .balign 4 +_02013338: .word 0x021CED64 + + thumb_func_start sub_0201333C +sub_0201333C: ; 0x0201333C + ldr r3, _02013344 ; =0x0208AE48 + ldr r0, [r0, #0x0] + bx r3 + nop +_02013344: .word 0x0208AE48 + + thumb_func_start sub_02013348 +sub_02013348: ; 0x02013348 + mov r0, #0x0 + ldr r3, _02013360 ; =0x021C4858 + add r2, r0, #0x0 +_0201334E: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _02013356 + add r0, r0, #0x1 +_02013356: + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, #0x10 + blt _0201334E + bx lr + .balign 4 +_02013360: .word 0x021C4858 + + thumb_func_start sub_02013364 +sub_02013364: ; 0x02013364 + push {r4-r6, lr} + mov r4, #0x0 + ldr r5, _02013384 ; =0x021C4858 + add r6, r4, #0x0 +_0201336C: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02013378 + bl sub_02013300 + add r4, r4, #0x1 +_02013378: + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, #0x10 + blt _0201336C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02013384: .word 0x021C4858 + + thumb_func_start sub_02013388 +sub_02013388: ; 0x02013388 + push {r4-r6, lr} + mov r4, #0x0 + ldr r5, _020133A8 ; =0x021C4858 + add r6, r4, #0x0 +_02013390: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _0201339C + bl sub_0201333C + add r4, r4, #0x1 +_0201339C: + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, #0x10 + blt _02013390 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_020133A8: .word 0x021C4858 + + thumb_func_start sub_020133AC +sub_020133AC: ; 0x020133AC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020133C4 ; =0x021C4850 + str r3, [r0, #0x4] + ldr r0, [r4, #0x0] + blx sub_0208ACEC + ldr r1, _020133C4 ; =0x021C4850 + mov r2, #0x0 + str r2, [r1, #0x4] + str r0, [r4, #0x8] + pop {r4, pc} + .balign 4 +_020133C4: .word 0x021C4850 + + thumb_func_start sub_020133C8 +sub_020133C8: ; 0x020133C8 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_020133D0 +sub_020133D0: ; 0x020133D0 + ldr r3, _020133D8 ; =0x0208AC14 + ldr r0, [r0, #0x0] + bx r3 + nop +_020133D8: .word 0x0208AC14 + + thumb_func_start sub_020133DC +sub_020133DC: ; 0x020133DC + ldr r3, _020133E4 ; =0x0208AC58 + ldr r0, [r0, #0x0] + bx r3 + nop +_020133E4: .word 0x0208AC58 + + thumb_func_start sub_020133E8 +sub_020133E8: ; 0x020133E8 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_020133EC +sub_020133EC: ; 0x020133EC + add r2, r0, #0x0 + add r2, #0x40 + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_020133FC +sub_020133FC: ; 0x020133FC + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r3, r4, #0x0 + add r2, r5, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x40 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r1, [r5, #0x20] + add r0, r4, #0x0 + bl sub_0201EC58 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201341C +sub_0201341C: ; 0x0201341C + ldr r0, _02013424 ; =0x021C4850 + ldr r0, [r0, #0x4] + bx lr + nop +_02013424: .word 0x021C4850 + + thumb_func_start sub_02013428 +sub_02013428: ; 0x02013428 + ldr r2, _02013438 ; =0x020ED4E4 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + nop +_02013438: .word 0x020ED4E4 + + thumb_func_start sub_0201343C +sub_0201343C: ; 0x0201343C + ldr r0, [r0, #0x20] + bx lr + + thumb_func_start sub_02013440 +sub_02013440: ; 0x02013440 + add r0, #0xdb + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02013448 +sub_02013448: ; 0x02013448 + add r0, #0xdb + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02013450 +sub_02013450: ; 0x02013450 + ldr r0, [r0, #0x20] + ldr r0, [r0, #0x0] + str r1, [r0, #0x10] + bx lr + + thumb_func_start sub_02013458 +sub_02013458: ; 0x02013458 + push {r4-r7} + ldr r0, [r0, #0x20] + add r4, r1, #0x0 + ldrh r2, [r0, #0x1c] + cmp r2, #0x0 + bne _0201346A + mov r0, #0x0 + pop {r4-r7} + bx lr +_0201346A: + mov r1, #0x0 + cmp r2, #0x0 + ble _020134F4 + ldr r3, [r0, #0x18] + ldr r7, _020134FC ; =0x020908DC + ldr r0, _02013500 ; =0x020909A4 +_02013476: + cmp r3, #0x0 + beq _020134EC + cmp r4, #0x5 + bhi _020134E6 + add r5, r4, r4 + add r5, pc + ldrh r5, [r5, #0x6] + lsl r5, r5, #0x10 + asr r5, r5, #0x10 + add pc, r5 + lsl r2, r1, #0 + lsl r6, r2, #0 + lsl r2, r4, #0 + lsl r0, r6, #0 + lsl r6, r7, #0 + lsl r4, r1, #0x1 + ldr r5, [r3, #0x0] + cmp r5, r0 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr +_020134A2: + .byte 0x1D, 0x68, 0xBD, 0x42, 0x21, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68 + .byte 0x14, 0x4D, 0xAE, 0x42, 0x1A, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x12, 0x4D + .byte 0xAE, 0x42, 0x13, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0F, 0x4D, 0xAE, 0x42 + .byte 0x0C, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0D, 0x4D, 0xAE, 0x42, 0x05, 0xD1 + .byte 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47 +_020134E6: + mov r0, #0x0 + pop {r4-r7} + bx lr +_020134EC: + add r1, r1, #0x1 + add r3, #0x8 + cmp r1, r2 + blt _02013476 +_020134F4: + mov r0, #0x0 + pop {r4-r7} + bx lr + nop +_020134FC: .word 0x020908DC +_02013500: .word 0x020909A4 +_02013504: + .byte 0x58, 0x08, 0x09, 0x02, 0x80, 0x07, 0x09, 0x02, 0x64, 0x06, 0x09, 0x02 + .byte 0xD0, 0x05, 0x09, 0x02 + + thumb_func_start sub_02013514 +sub_02013514: ; 0x02013514 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x0 + bl sub_02013458 + cmp r0, #0x0 + beq _0201352E + ldrh r1, [r4, #0x0] + strh r1, [r0, #0x0] + ldrh r1, [r4, #0x2] + strh r1, [r0, #0x2] + ldrh r1, [r4, #0x4] + strh r1, [r0, #0x4] +_0201352E: + pop {r4, pc} + + thumb_func_start sub_02013530 +sub_02013530: ; 0x02013530 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x2 + bl sub_02013458 + add r2, r0, #0x0 + beq _02013546 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] +_02013546: + pop {r4, pc} + + thumb_func_start sub_02013548 +sub_02013548: ; 0x02013548 + push {r3-r4, lr} + sub sp, #0xc + add r4, r1, #0x0 + mov r1, #0x2 + bl sub_02013458 + add r2, r0, #0x0 + bne _0201356E + add r2, sp, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r0, [r2, #0x8] + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + add sp, #0xc + str r0, [r4, #0x0] + pop {r3-r4, pc} +_0201356E: + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201357C +sub_0201357C: ; 0x0201357C + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x2 + bl sub_02013458 + cmp r0, #0x0 + beq _02013590 + mov r1, #0x0 + ldrsh r1, [r4, r1] + strh r1, [r0, #0xc] +_02013590: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02013594 +sub_02013594: ; 0x02013594 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x2 + bl sub_02013458 + cmp r0, #0x0 + bne _020135A8 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} +_020135A8: + mov r1, #0xc + ldrsh r0, [r0, r1] + strh r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_020135B0 +sub_020135B0: ; 0x020135B0 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x3 + bl sub_02013458 + cmp r0, #0x0 + beq _020135C2 + ldrh r1, [r4, #0x0] + strh r1, [r0, #0x0] +_020135C2: + pop {r4, pc} + + thumb_func_start sub_020135C4 +sub_020135C4: ; 0x020135C4 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x3 + bl sub_02013458 + cmp r0, #0x0 + bne _020135D8 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} +_020135D8: + ldrh r0, [r0, #0x0] + strh r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020135E0 +sub_020135E0: ; 0x020135E0 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x3 + bl sub_02013458 + cmp r0, #0x0 + beq _020135F2 + ldrh r1, [r4, #0x0] + strh r1, [r0, #0x2] +_020135F2: + pop {r4, pc} + + thumb_func_start sub_020135F4 +sub_020135F4: ; 0x020135F4 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x3 + bl sub_02013458 + cmp r0, #0x0 + bne _02013608 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} +_02013608: + ldrh r0, [r0, #0x2] + strh r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02013610 +sub_02013610: ; 0x02013610 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x5 + bl sub_02013458 + add r2, r0, #0x0 + beq _02013626 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] +_02013626: + pop {r4, pc} + + thumb_func_start sub_02013628 +sub_02013628: ; 0x02013628 + push {r3-r4, lr} + sub sp, #0xc + add r4, r1, #0x0 + mov r1, #0x5 + bl sub_02013458 + add r2, r0, #0x0 + bne _0201364E + add r2, sp, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r0, [r2, #0x8] + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + add sp, #0xc + str r0, [r4, #0x0] + pop {r3-r4, pc} +_0201364E: + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201365C +sub_0201365C: ; 0x0201365C + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x5 + bl sub_02013458 + cmp r0, #0x0 + beq _02013670 + mov r1, #0x0 + ldrsh r1, [r4, r1] + strh r1, [r0, #0xc] +_02013670: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02013674 +sub_02013674: ; 0x02013674 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x5 + bl sub_02013458 + cmp r0, #0x0 + bne _02013688 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} +_02013688: + mov r1, #0xc + ldrsh r0, [r0, r1] + strh r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02013690 +sub_02013690: ; 0x02013690 + push {r3-r5, lr} + mov r1, #0x8 + add r5, r0, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + beq _020136B2 + ldr r0, _020136B8 ; =0x0001020F + add r1, r5, #0x0 + str r0, [r4, #0x0] + mov r0, #0x4 + bl sub_020219F4 + ldr r1, _020136BC ; =0x020ED548 + str r0, [r4, #0x4] + bl sub_02021E28 +_020136B2: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_020136B8: .word 0x0001020F +_020136BC: .word 0x020ED548 + + thumb_func_start sub_020136C0 +sub_020136C0: ; 0x020136C0 + push {r4, lr} + add r4, r0, #0x0 + bne _020136CA + bl sub_02020C2C +_020136CA: + cmp r4, #0x0 + beq _020136DE + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _020136D8 + bl sub_02021A20 +_020136D8: + add r0, r4, #0x0 + bl sub_02016A18 +_020136DE: + pop {r4, pc} + + thumb_func_start sub_020136E0 +sub_020136E0: ; 0x020136E0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020136EE + bl sub_02020C2C +_020136EE: + cmp r5, #0x0 + beq _020136F4 + str r4, [r5, #0x0] +_020136F4: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020136F8 +sub_020136F8: ; 0x020136F8 + push {r4-r6, lr} + sub sp, #0x10 + add r6, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r5, r1, #0x0 + str r0, [sp, #0x8] + mov r1, #0x0 + add r4, r2, #0x0 + str r1, [sp, #0xc] + ldr r2, [r6, #0x4] + add r0, r5, #0x0 + add r3, r4, #0x0 + bl sub_0201BDE0 + add r0, r5, #0x0 + bl sub_02019548 + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_02013724 +sub_02013724: ; 0x02013724 + ldr r1, _02013738 ; =0x0000FFFF + mov r2, #0x0 + strh r1, [r0, #0x0] +_0201372A: + add r2, r2, #0x1 + strh r1, [r0, #0x4] + add r0, r0, #0x2 + cmp r2, #0x2 + blt _0201372A + bx lr + nop +_02013738: .word 0x0000FFFF + + thumb_func_start sub_0201373C +sub_0201373C: ; 0x0201373C + strh r1, [r0, #0x0] + mov r2, #0x0 + ldr r1, _02013750 ; =0x0000FFFF + strh r2, [r0, #0x2] +_02013744: + add r2, r2, #0x1 + strh r1, [r0, #0x4] + add r0, r0, #0x2 + cmp r2, #0x2 + blt _02013744 + bx lr + .balign 4 +_02013750: .word 0x0000FFFF + + thumb_func_start sub_02013754 +sub_02013754: ; 0x02013754 + push {r4, lr} + mov r1, #0x4 + add r4, r0, #0x0 + bl sub_0201373C + mov r0, #0x5 + strh r0, [r4, #0x2] + pop {r4, pc} + + thumb_func_start sub_02013764 +sub_02013764: ; 0x02013764 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + cmp r6, #0x4 + blo _02013772 + bl sub_02020C2C +_02013772: + cmp r6, #0x4 + bhs _020137B8 + mov r0, #0xa + add r4, r6, #0x0 + mul r4, r0 + ldr r1, _020137BC ; =0x020ED556 + add r0, r5, #0x0 + ldrb r1, [r1, r4] + bl sub_0201373C + ldr r0, _020137C0 ; =0x020ED557 + mov r1, #0x0 + ldrb r0, [r0, r4] + mvn r1, r1 + strh r0, [r5, #0x2] + ldr r0, _020137C4 ; =0x020ED558 + ldrsh r0, [r0, r4] + cmp r0, r1 + beq _020137A2 + ldr r1, _020137C8 ; =0x020ED55A + ldrh r1, [r1, r4] + bl sub_02013A9C + strh r0, [r5, #0x4] +_020137A2: + ldr r0, _020137CC ; =0x020ED55C + mov r1, #0x0 + ldrsh r0, [r0, r4] + mvn r1, r1 + cmp r0, r1 + beq _020137B8 + ldr r1, _020137D0 ; =0x020ED55E + ldrh r1, [r1, r4] + bl sub_02013A9C + strh r0, [r5, #0x6] +_020137B8: + pop {r4-r6, pc} + nop +_020137BC: .word 0x020ED556 +_020137C0: .word 0x020ED557 +_020137C4: .word 0x020ED558 +_020137C8: .word 0x020ED55A +_020137CC: .word 0x020ED55C +_020137D0: .word 0x020ED55E + + thumb_func_start sub_020137D4 +sub_020137D4: ; 0x020137D4 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r0, r1, #0x0 + str r1, [sp, #0x4] + bl sub_0200AA80 + ldr r5, [sp, #0x0] + ldr r7, _02013838 ; =0x0000FFFF + add r6, r0, #0x0 + mov r4, #0x0 +_020137EA: + ldrh r2, [r5, #0x4] + cmp r2, r7 + beq _02013800 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0200B518 + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x2 + blt _020137EA +_02013800: + ldr r2, [sp, #0x0] + mov r0, #0x1 + ldrh r2, [r2, #0x0] + mov r1, #0x1a + lsl r3, r2, #0x1 + ldr r2, _0201383C ; =0x020ED54C + ldrh r2, [r2, r3] + ldr r3, [sp, #0x4] + bl sub_0200A86C + add r5, r0, #0x0 + ldr r2, [sp, #0x0] + ldr r3, [sp, #0x4] + ldrh r2, [r2, #0x2] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0200A9C4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r6, #0x0 + bl sub_0200AB18 + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02013838: .word 0x0000FFFF +_0201383C: .word 0x020ED54C + + thumb_func_start sub_02013840 +sub_02013840: ; 0x02013840 + push {r4, lr} + add r4, r0, #0x0 + add r3, r1, #0x0 + ldrh r1, [r4, #0x0] + mov r0, #0x1a + lsl r2, r1, #0x1 + ldr r1, _02013858 ; =0x020ED54C + ldrh r1, [r1, r2] + ldrh r2, [r4, #0x2] + bl sub_0200A738 + pop {r4, pc} + .balign 4 +_02013858: .word 0x020ED54C + + thumb_func_start sub_0201385C +sub_0201385C: ; 0x0201385C + ldrh r1, [r0, #0x0] + ldr r0, _0201386C ; =0x0000FFFF + cmp r1, r0 + beq _02013868 + mov r0, #0x1 + bx lr +_02013868: + mov r0, #0x0 + bx lr + .balign 4 +_0201386C: .word 0x0000FFFF + + thumb_func_start sub_02013870 +sub_02013870: ; 0x02013870 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x0] + ldrh r1, [r4, #0x2] + bl sub_020138A0 + mov r3, #0x0 + cmp r0, #0x0 + bls _02013896 + ldr r1, _0201389C ; =0x0000FFFF +_02013884: + ldrh r2, [r4, #0x4] + cmp r2, r1 + bne _0201388E + mov r0, #0x0 + pop {r4, pc} +_0201388E: + add r3, r3, #0x1 + add r4, r4, #0x2 + cmp r3, r0 + blo _02013884 +_02013896: + mov r0, #0x1 + pop {r4, pc} + nop +_0201389C: .word 0x0000FFFF + + thumb_func_start sub_020138A0 +sub_020138A0: ; 0x020138A0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x5 + blo _020138AE + bl sub_02020C2C +_020138AE: + add r0, r5, #0x0 + bl sub_02013974 + cmp r4, r0 + blo _020138BC + bl sub_02020C2C +_020138BC: + ldr r1, _02013910 ; =0x020ED54C + lsl r2, r5, #0x1 + ldrh r1, [r1, r2] + mov r0, #0x1a + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200A738 + str r0, [sp, #0x0] + bl sub_02021F2C + add r4, r0, #0x0 + ldrh r1, [r4, #0x0] + ldr r0, _02013914 ; =0x0000FFFF + mov r5, #0x0 + cmp r1, r0 + beq _02013904 + add r7, r0, #0x0 + sub r6, r0, #0x1 +_020138E2: + cmp r1, r6 + bne _020138FC + add r0, r4, #0x0 + bl sub_0201B8F8 + cmp r0, #0x0 + beq _020138F2 + add r5, r5, #0x1 +_020138F2: + add r0, r4, #0x0 + bl sub_0201B8B8 + add r4, r0, #0x0 + b _020138FE +_020138FC: + add r4, r4, #0x2 +_020138FE: + ldrh r1, [r4, #0x0] + cmp r1, r7 + bne _020138E2 +_02013904: + ldr r0, [sp, #0x0] + bl sub_02021A20 + add r0, r5, #0x0 + pop {r3-r7, pc} + nop +_02013910: .word 0x020ED54C +_02013914: .word 0x0000FFFF + + thumb_func_start sub_02013918 +sub_02013918: ; 0x02013918 + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02013920 +sub_02013920: ; 0x02013920 + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02013924 +sub_02013924: ; 0x02013924 + ldrh r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02013928 +sub_02013928: ; 0x02013928 + push {r3-r4} + ldrh r3, [r0, #0x0] + ldrh r2, [r1, #0x0] + cmp r3, r2 + bne _0201393A + ldrh r3, [r0, #0x2] + ldrh r2, [r1, #0x2] + cmp r3, r2 + beq _02013940 +_0201393A: + mov r0, #0x0 + pop {r3-r4} + bx lr +_02013940: + mov r4, #0x0 +_02013942: + ldrh r3, [r0, #0x4] + ldrh r2, [r1, #0x4] + cmp r3, r2 + beq _02013950 + mov r0, #0x0 + pop {r3-r4} + bx lr +_02013950: + add r4, r4, #0x1 + add r1, r1, #0x2 + add r0, r0, #0x2 + cmp r4, #0x2 + blt _02013942 + mov r0, #0x1 + pop {r3-r4} + bx lr + + thumb_func_start sub_02013960 +sub_02013960: ; 0x02013960 + ldrh r2, [r1, #0x0] + strh r2, [r0, #0x0] + ldrh r2, [r1, #0x2] + strh r2, [r0, #0x2] + ldrh r2, [r1, #0x4] + strh r2, [r0, #0x4] + ldrh r1, [r1, #0x6] + strh r1, [r0, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_02013974 +sub_02013974: ; 0x02013974 + cmp r0, #0x5 + bhs _0201397C + mov r0, #0x14 + bx lr +_0201397C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02013980 +sub_02013980: ; 0x02013980 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x5 + blo _02013990 + bl sub_02020C2C +_02013990: + strh r4, [r5, #0x0] + strh r6, [r5, #0x2] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02013998 +sub_02013998: ; 0x02013998 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x2 + blo _020139A8 + bl sub_02020C2C +_020139A8: + lsl r0, r4, #0x1 + add r0, r5, r0 + strh r6, [r0, #0x4] + pop {r4-r6, pc} + + thumb_func_start sub_020139B0 +sub_020139B0: ; 0x020139B0 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x0] + ldrh r1, [r4, #0x2] + bl sub_020138A0 + cmp r0, #0x2 + bhs _020139D0 + lsl r1, r0, #0x1 + add r2, r4, r1 + ldr r1, _020139D4 ; =0x0000FFFF +_020139C6: + add r0, r0, #0x1 + strh r1, [r2, #0x4] + add r2, r2, #0x2 + cmp r0, #0x2 + blo _020139C6 +_020139D0: + pop {r4, pc} + nop +_020139D4: .word 0x0000FFFF + + thumb_func_start sub_020139D8 +sub_020139D8: ; 0x020139D8 + push {r3-r7, lr} + mov r1, #0x30 + add r6, r0, #0x0 + bl sub_02016998 + ldr r4, _02013A0C ; =0x020ED5C0 + str r0, [sp, #0x0] + mov r7, #0x0 + add r5, r0, #0x0 +_020139EA: + ldr r0, [sp, #0x0] + mov r1, #0x1a + str r6, [r0, #0x0] + ldrh r2, [r4, #0x0] + mov r0, #0x1 + add r3, r6, #0x0 + bl sub_0200A86C + str r0, [r5, #0x4] + add r7, r7, #0x1 + add r4, r4, #0x2 + add r5, r5, #0x4 + cmp r7, #0xb + blt _020139EA + ldr r0, [sp, #0x0] + pop {r3-r7, pc} + nop +_02013A0C: .word 0x020ED5C0 + + thumb_func_start sub_02013A10 +sub_02013A10: ; 0x02013A10 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r4, #0x0 + add r5, r6, #0x0 +_02013A18: + ldr r0, [r5, #0x4] + bl sub_0200A8B8 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0xb + blt _02013A18 + add r0, r6, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02013A30 +sub_02013A30: ; 0x02013A30 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r2, #0x0 + add r0, r1, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + bl sub_02013AEC + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x4] + add r2, r4, #0x0 + bl sub_0200A8E0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02013A58 +sub_02013A58: ; 0x02013A58 + push {r3-r4, lr} + sub sp, #0xc + add r4, r1, #0x0 + ldr r1, _02013A94 ; =0x0000FFFF + cmp r0, r1 + beq _02013A88 + add r1, sp, #0x8 + add r2, sp, #0x4 + bl sub_02013AEC + ldr r0, [sp, #0x8] + mov r3, #0x0 + lsl r1, r0, #0x1 + ldr r0, _02013A98 ; =0x020ED5C0 + ldrh r0, [r0, r1] + str r0, [sp, #0x8] + str r4, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [sp, #0x4] + mov r0, #0x1a + bl sub_0200A648 + add sp, #0xc + pop {r3-r4, pc} +_02013A88: + add r0, r4, #0x0 + bl sub_02021A4C + add sp, #0xc + pop {r3-r4, pc} + nop +_02013A94: .word 0x0000FFFF +_02013A98: .word 0x020ED5C0 + + thumb_func_start sub_02013A9C +sub_02013A9C: ; 0x02013A9C + push {r4-r5} + ldr r4, _02013AE0 ; =0x020ED5C0 + mov r2, #0x0 +_02013AA2: + ldrh r3, [r4, #0x0] + cmp r0, r3 + bne _02013AD0 + mov r4, #0x0 + add r3, r4, #0x0 + cmp r2, #0x0 + bls _02013AC6 + ldr r0, _02013AE4 ; =0x020ED5D6 +_02013AB2: + lsl r5, r4, #0x1 + ldrh r5, [r0, r5] + add r4, r4, #0x1 + lsl r4, r4, #0x10 + add r3, r3, r5 + lsl r3, r3, #0x10 + lsr r4, r4, #0x10 + lsr r3, r3, #0x10 + cmp r4, r2 + blo _02013AB2 +_02013AC6: + add r0, r3, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4-r5} + bx lr +_02013AD0: + add r2, r2, #0x1 + add r4, r4, #0x2 + cmp r2, #0xb + blo _02013AA2 + ldr r0, _02013AE8 ; =0x0000FFFF + pop {r4-r5} + bx lr + nop +_02013AE0: .word 0x020ED5C0 +_02013AE4: .word 0x020ED5D6 +_02013AE8: .word 0x0000FFFF + + thumb_func_start sub_02013AEC +sub_02013AEC: ; 0x02013AEC + push {r3-r6} + ldr r3, _02013B20 ; =0x00000FFF + ldr r6, _02013B24 ; =0x020ED5D6 + and r3, r0 + mov r0, #0x0 + add r5, r0, #0x0 +_02013AF8: + ldrh r4, [r6, #0x0] + add r0, r0, r4 + cmp r3, r0 + bhs _02013B12 + str r5, [r1, #0x0] + ldr r1, _02013B24 ; =0x020ED5D6 + lsl r4, r5, #0x1 + ldrh r1, [r1, r4] + sub r0, r0, r1 + sub r0, r3, r0 + str r0, [r2, #0x0] + pop {r3-r6} + bx lr +_02013B12: + add r5, r5, #0x1 + add r6, r6, #0x2 + cmp r5, #0xb + blo _02013AF8 + pop {r3-r6} + bx lr + nop +_02013B20: .word 0x00000FFF +_02013B24: .word 0x020ED5D6 + + thumb_func_start sub_02013B28 +sub_02013B28: ; 0x02013B28 + mov r0, #0x8 + bx lr + + thumb_func_start sub_02013B2C +sub_02013B2C: ; 0x02013B2C + push {r3, lr} + mov r2, #0x0 + str r2, [r0, #0x0] + ldr r3, _02013B54 ; =0x020ED5B4 + str r2, [r0, #0x4] +_02013B36: + ldrb r1, [r3, #0x0] + cmp r1, #0x2 + bne _02013B48 + ldr r1, _02013B58 ; =0x020ED5B5 + lsl r2, r2, #0x1 + ldrb r1, [r1, r2] + bl sub_02013C18 + pop {r3, pc} +_02013B48: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0x6 + blo _02013B36 + pop {r3, pc} + nop +_02013B54: .word 0x020ED5B4 +_02013B58: .word 0x020ED5B5 + + thumb_func_start sub_02013B5C +sub_02013B5C: ; 0x02013B5C + ldr r3, _02013B64 ; =sub_02022610 + mov r1, #0x22 + bx r3 + nop +_02013B64: .word sub_02022610 + 1 + + thumb_func_start sub_02013B68 +sub_02013B68: ; 0x02013B68 + ldr r0, [r0, #0x4] + add r2, r0, #0x0 + lsr r2, r1 + mov r0, #0x1 + and r0, r2 + bx lr + + thumb_func_start sub_02013B74 +sub_02013B74: ; 0x02013B74 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r2, #0x0 + ldr r3, [r5, #0x4] + add r4, r2, #0x0 + mov r0, #0x1 +_02013B80: + add r1, r3, #0x0 + lsr r1, r2 + tst r1, r0 + bne _02013B8A + add r4, r4, #0x1 +_02013B8A: + add r2, r2, #0x1 + cmp r2, #0x20 + blo _02013B80 + cmp r4, #0x0 + beq _02013BC4 + bl sub_0201B9EC + add r1, r4, #0x0 + blx sub_020EBE8C + ldr r4, [r5, #0x4] + mov r0, #0x0 + mov r2, #0x1 +_02013BA4: + add r3, r4, #0x0 + lsr r3, r0 + tst r3, r2 + bne _02013BBE + cmp r1, #0x0 + bne _02013BBC + mov r1, #0x1 + ldr r2, [r5, #0x4] + lsl r1, r0 + orr r1, r2 + str r1, [r5, #0x4] + pop {r3-r5, pc} +_02013BBC: + sub r1, r1, #0x1 +_02013BBE: + add r0, r0, #0x1 + cmp r0, #0x20 + blo _02013BA4 +_02013BC4: + mov r0, #0x20 + pop {r3-r5, pc} + + thumb_func_start sub_02013BC8 +sub_02013BC8: ; 0x02013BC8 + ldr r3, [r0, #0x4] + mov r2, #0x0 + mov r0, #0x1 +_02013BCE: + add r1, r3, #0x0 + lsr r1, r2 + tst r1, r0 + bne _02013BDA + mov r0, #0x0 + bx lr +_02013BDA: + add r2, r2, #0x1 + cmp r2, #0x20 + blo _02013BCE + mov r0, #0x1 + bx lr + + thumb_func_start sub_02013BE4 +sub_02013BE4: ; 0x02013BE4 + push {r3-r4} + mov r3, #0x0 + ldr r4, _02013C08 ; =0x020ED5D6 + add r2, r3, #0x0 +_02013BEC: + ldrh r1, [r4, #0x0] + add r2, r2, #0x1 + add r4, r4, #0x2 + add r1, r3, r1 + lsl r1, r1, #0x10 + lsr r3, r1, #0x10 + cmp r2, #0x9 + blt _02013BEC + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3-r4} + bx lr + nop +_02013C08: .word 0x020ED5D6 + + thumb_func_start sub_02013C0C +sub_02013C0C: ; 0x02013C0C + ldr r0, [r0, #0x0] + add r2, r0, #0x0 + lsr r2, r1 + mov r0, #0x1 + and r0, r2 + bx lr + + thumb_func_start sub_02013C18 +sub_02013C18: ; 0x02013C18 + mov r2, #0x1 + ldr r3, [r0, #0x0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02013C28 +sub_02013C28: ; 0x02013C28 + push {r4-r7} + mov r3, #0x0 + ldr r5, _02013C64 ; =0x020ED5EC + add r2, r3, #0x0 +_02013C30: + ldr r7, [r5, #0x4] + add r4, r2, #0x0 + cmp r7, #0x0 + ble _02013C54 + ldr r6, [r5, #0x0] +_02013C3A: + ldrh r1, [r6, #0x0] + cmp r0, r1 + bne _02013C4C + ldr r0, _02013C68 ; =0x020ED5F0 + lsl r1, r3, #0x3 + ldr r0, [r0, r1] + sub r0, r0, #0x1 + pop {r4-r7} + bx lr +_02013C4C: + add r4, r4, #0x1 + add r6, r6, #0x2 + cmp r4, r7 + blt _02013C3A +_02013C54: + add r3, r3, #0x1 + add r5, #0x8 + cmp r3, #0xc + blo _02013C30 + mov r0, #0x0 + pop {r4-r7} + bx lr + nop +_02013C64: .word 0x020ED5EC +_02013C68: .word 0x020ED5F0 + + thumb_func_start sub_02013C6C +sub_02013C6C: ; 0x02013C6C + push {r3-r7, lr} + ldr r3, _02013CC8 ; =0x020ED5EC + add r6, r1, #0x0 + mov r7, #0x0 +_02013C74: + ldr r5, [r3, #0x4] + mov r2, #0x0 + cmp r5, #0x0 + ble _02013CBC + ldr r4, [r3, #0x0] +_02013C7E: + ldrh r1, [r4, #0x0] + cmp r0, r1 + bne _02013CB4 + ldr r2, _02013CCC ; =0x020ED5F0 + lsl r1, r7, #0x3 + ldr r2, [r2, r1] + mov r0, #0x0 + cmp r2, #0x0 + beq _02013CAC + ldr r2, _02013CC8 ; =0x020ED5EC + add r2, r2, r1 + ldr r2, [r2, #0x4] +_02013C96: + cmp r6, #0x0 + bne _02013CA4 + ldr r2, _02013CC8 ; =0x020ED5EC + lsl r0, r0, #0x1 + ldr r1, [r2, r1] + ldrh r0, [r1, r0] + pop {r3-r7, pc} +_02013CA4: + sub r6, r6, #0x1 + add r0, r0, #0x1 + cmp r2, #0x0 + bne _02013C96 +_02013CAC: + bl sub_02020C2C + ldr r0, _02013CD0 ; =0x0000FFFF + pop {r3-r7, pc} +_02013CB4: + add r2, r2, #0x1 + add r4, r4, #0x2 + cmp r2, r5 + blt _02013C7E +_02013CBC: + add r7, r7, #0x1 + add r3, #0x8 + cmp r7, #0xc + blo _02013C74 + pop {r3-r7, pc} + nop +_02013CC8: .word 0x020ED5EC +_02013CCC: .word 0x020ED5F0 +_02013CD0: .word 0x0000FFFF + + thumb_func_start sub_02013CD4 +sub_02013CD4: ; 0x02013CD4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r1, #0x18 + bl sub_02016998 + add r4, r0, #0x0 + bne _02013CE8 + bl sub_02020C2C +_02013CE8: + ldr r0, [r5, #0x0] + ldr r1, [r5, #0xc] + bl sub_02013F68 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + str r0, [r4, #0x4] + ldr r0, [r5, #0x4] + ldr r1, [r5, #0xc] + bl sub_02013F98 + str r0, [r4, #0x8] + ldr r0, [r5, #0x4] + str r0, [r4, #0xc] + ldr r0, [r5, #0x8] + ldr r1, [r5, #0xc] + bl sub_02013FC8 + str r0, [r4, #0x10] + ldr r0, [r5, #0x8] + str r0, [r4, #0x14] + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02013D18 +sub_02013D18: ; 0x02013D18 + push {r4, lr} + add r4, r0, #0x0 + bne _02013D22 + bl sub_02020C2C +_02013D22: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02013D2C + bl sub_02020C2C +_02013D2C: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _02013D36 + bl sub_02020C2C +_02013D36: + ldr r0, [r4, #0x10] + cmp r0, #0x0 + bne _02013D40 + bl sub_02020C2C +_02013D40: + ldr r0, [r4, #0x0] + bl sub_02016A18 + ldr r0, [r4, #0x8] + bl sub_02016A18 + ldr r0, [r4, #0x10] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02013D5C +sub_02013D5C: ; 0x02013D5C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _02013D90 ; =0x04000444 + mov r6, #0x0 + str r6, [r0, #0x0] + ldr r0, [r5, #0x4] + cmp r0, #0x0 + ble _02013D86 + add r4, r6, #0x0 +_02013D6E: + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldr r1, [r0, #0x20] + cmp r1, #0x0 + beq _02013D7C + bl sub_020140D8 +_02013D7C: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0x40 + cmp r6, r0 + blt _02013D6E +_02013D86: + ldr r0, _02013D94 ; =0x04000448 + mov r1, #0x1 + str r1, [r0, #0x0] + pop {r4-r6, pc} + nop +_02013D90: .word 0x04000444 +_02013D94: .word 0x04000448 + + thumb_func_start sub_02013D98 +sub_02013D98: ; 0x02013D98 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02014024 + add r4, r0, #0x0 + bne _02013DAA + bl sub_02020C2C +_02013DAA: + ldr r0, [r5, #0x4] + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _02013DB6 + bl sub_02020C2C +_02013DB6: + ldr r0, [r5, #0x4] + bl sub_0201407C + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _02013DC6 + bl sub_02020C2C +_02013DC6: + ldr r0, [r5, #0x4] + ldr r1, [r4, #0x0] + add r2, r4, #0x4 + bl sub_020140A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02013DD4 +sub_02013DD4: ; 0x02013DD4 + push {r4, lr} + ldr r1, _02013DE8 ; =0x021064BC + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + blx r1 + add r0, r4, #0x0 + bl sub_02013F50 + pop {r4, pc} + .balign 4 +_02013DE8: .word 0x021064BC + + thumb_func_start sub_02013DEC +sub_02013DEC: ; 0x02013DEC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r6, #0x0 + cmp r0, #0x0 + ble _02013E12 + add r4, r6, #0x0 +_02013DFA: + ldr r1, [r5, #0x8] + ldr r0, [r1, r4] + cmp r0, #0x0 + beq _02013E08 + add r0, r1, r4 + bl sub_02013DD4 +_02013E08: + ldr r0, [r5, #0xc] + add r6, r6, #0x1 + add r4, #0x28 + cmp r6, r0 + blt _02013DFA +_02013E12: + pop {r4-r6, pc} + + thumb_func_start sub_02013E14 +sub_02013E14: ; 0x02013E14 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02014050 + add r4, r0, #0x0 + bne _02013E26 + bl sub_02020C2C +_02013E26: + ldr r0, [r5, #0x8] + bl sub_02014090 + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _02013E36 + bl sub_02020C2C +_02013E36: + ldr r0, [r5, #0x4] + ldr r1, [r4, #0x0] + add r2, r4, #0x4 + bl sub_020140B4 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02013E44 +sub_02013E44: ; 0x02013E44 + push {r4, lr} + ldr r1, _02013E58 ; =0x021064C4 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + blx r1 + add r0, r4, #0x0 + bl sub_02013F5C + pop {r4, pc} + .balign 4 +_02013E58: .word 0x021064C4 + + thumb_func_start sub_02013E5C +sub_02013E5C: ; 0x02013E5C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x14] + mov r6, #0x0 + cmp r0, #0x0 + ble _02013E82 + add r4, r6, #0x0 +_02013E6A: + ldr r1, [r5, #0x10] + ldr r0, [r1, r4] + cmp r0, #0x0 + beq _02013E78 + add r0, r1, r4 + bl sub_02013E44 +_02013E78: + ldr r0, [r5, #0x14] + add r6, r6, #0x1 + add r4, #0x18 + cmp r6, r0 + blt _02013E6A +_02013E82: + pop {r4-r6, pc} + + thumb_func_start sub_02013E84 +sub_02013E84: ; 0x02013E84 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02013FF8 + add r4, r0, #0x0 + bne _02013E96 + bl sub_02020C2C +_02013E96: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02014218 + mov r0, #0x1 + str r0, [r4, #0x1c] + str r0, [r4, #0x20] + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02013EA8 +sub_02013EA8: ; 0x02013EA8 + ldr r3, _02013EAC ; =sub_02013F30 + bx r3 + .balign 4 +_02013EAC: .word sub_02013F30 + 1 + + thumb_func_start sub_02013EB0 +sub_02013EB0: ; 0x02013EB0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02013EBE + bl sub_02020C2C +_02013EBE: + str r4, [r5, #0x20] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02013EC4 +sub_02013EC4: ; 0x02013EC4 + strh r1, [r0, #0x0] + strh r2, [r0, #0x2] + bx lr + .balign 4 + + thumb_func_start sub_02013ECC +sub_02013ECC: ; 0x02013ECC + ldrh r1, [r0, #0x2] + ldrh r0, [r0, #0x0] + lsl r1, r1, #0x10 + orr r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_02013ED8 +sub_02013ED8: ; 0x02013ED8 + strh r1, [r0, #0x4] + strh r2, [r0, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_02013EE0 +sub_02013EE0: ; 0x02013EE0 + str r1, [r0, #0xc] + str r2, [r0, #0x10] + bx lr + .balign 4 + + thumb_func_start sub_02013EE8 +sub_02013EE8: ; 0x02013EE8 + strh r1, [r0, #0x8] + strh r2, [r0, #0xa] + bx lr + .balign 4 + + thumb_func_start sub_02013EF0 +sub_02013EF0: ; 0x02013EF0 + ldrh r1, [r0, #0xa] + ldrh r0, [r0, #0x8] + lsl r1, r1, #0x10 + orr r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_02013EFC +sub_02013EFC: ; 0x02013EFC + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_02013F00 +sub_02013F00: ; 0x02013F00 + ldr r0, [r0, #0x14] + bx lr + + thumb_func_start sub_02013F04 +sub_02013F04: ; 0x02013F04 + add r0, #0x3e + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02013F0C +sub_02013F0C: ; 0x02013F0C + strh r1, [r0, #0x3c] + bx lr + + thumb_func_start sub_02013F10 +sub_02013F10: ; 0x02013F10 + str r1, [r0, #0x24] + bx lr + + thumb_func_start sub_02013F14 +sub_02013F14: ; 0x02013F14 + str r1, [r0, #0x28] + bx lr + + thumb_func_start sub_02013F18 +sub_02013F18: ; 0x02013F18 + str r1, [r0, #0x2c] + bx lr + + thumb_func_start sub_02013F1C +sub_02013F1C: ; 0x02013F1C + str r1, [r0, #0x30] + bx lr + + thumb_func_start sub_02013F20 +sub_02013F20: ; 0x02013F20 + cmp r1, #0x0 + bne _02013F28 + str r2, [r0, #0x34] + bx lr +_02013F28: + str r2, [r0, #0x38] + bx lr + + thumb_func_start sub_02013F2C +sub_02013F2C: ; 0x02013F2C + str r1, [r0, #0x18] + bx lr + + thumb_func_start sub_02013F30 +sub_02013F30: ; 0x02013F30 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x40 + blx sub_020DF4A4 + add r0, r4, #0x0 + mov r1, #0x1f + add r0, #0x3e + strb r1, [r0, #0x0] + ldr r0, _02013F4C ; =0x00007FFF + strh r0, [r4, #0x3c] + pop {r4, pc} + nop +_02013F4C: .word 0x00007FFF + + thumb_func_start sub_02013F50 +sub_02013F50: ; 0x02013F50 + ldr r3, _02013F58 ; =sub_020B1A24 + mov r1, #0x0 + stmia r0!, {r1} + bx r3 + .balign 4 +_02013F58: .word sub_020B1A24 + + thumb_func_start sub_02013F5C +sub_02013F5C: ; 0x02013F5C + ldr r3, _02013F64 ; =sub_020B19DC + mov r1, #0x0 + stmia r0!, {r1} + bx r3 + .balign 4 +_02013F64: .word sub_020B19DC + + thumb_func_start sub_02013F68 +sub_02013F68: ; 0x02013F68 + push {r3-r7, lr} + add r6, r0, #0x0 + add r0, r1, #0x0 + lsl r1, r6, #0x6 + bl sub_02016998 + add r7, r0, #0x0 + bne _02013F7C + bl sub_02020C2C +_02013F7C: + mov r4, #0x0 + cmp r6, #0x0 + ble _02013F92 + add r5, r7, #0x0 +_02013F84: + add r0, r5, #0x0 + bl sub_02013F30 + add r4, r4, #0x1 + add r5, #0x40 + cmp r4, r6 + blt _02013F84 +_02013F92: + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02013F98 +sub_02013F98: ; 0x02013F98 + push {r3-r7, lr} + add r6, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x28 + mul r1, r6 + bl sub_02016998 + add r7, r0, #0x0 + bne _02013FAE + bl sub_02020C2C +_02013FAE: + mov r4, #0x0 + cmp r6, #0x0 + ble _02013FC4 + add r5, r7, #0x0 +_02013FB6: + add r0, r5, #0x0 + bl sub_02013F50 + add r4, r4, #0x1 + add r5, #0x28 + cmp r4, r6 + blt _02013FB6 +_02013FC4: + add r0, r7, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02013FC8 +sub_02013FC8: ; 0x02013FC8 + push {r3-r7, lr} + add r6, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x18 + mul r1, r6 + bl sub_02016998 + add r7, r0, #0x0 + bne _02013FDE + bl sub_02020C2C +_02013FDE: + mov r4, #0x0 + cmp r6, #0x0 + ble _02013FF4 + add r5, r7, #0x0 +_02013FE6: + add r0, r5, #0x0 + bl sub_02013F5C + add r4, r4, #0x1 + add r5, #0x18 + cmp r4, r6 + blt _02013FE6 +_02013FF4: + add r0, r7, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02013FF8 +sub_02013FF8: ; 0x02013FF8 + push {r3-r4} + ldr r4, [r0, #0x4] + mov r1, #0x0 + cmp r4, #0x0 + ble _0201401C + ldr r3, [r0, #0x0] + add r2, r3, #0x0 +_02014006: + ldr r0, [r2, #0x1c] + cmp r0, #0x0 + bne _02014014 + lsl r0, r1, #0x6 + add r0, r3, r0 + pop {r3-r4} + bx lr +_02014014: + add r1, r1, #0x1 + add r2, #0x40 + cmp r1, r4 + blt _02014006 +_0201401C: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02014024 +sub_02014024: ; 0x02014024 + push {r3-r4} + ldr r4, [r0, #0x4] + mov r1, #0x0 + cmp r4, #0x0 + ble _0201404A + ldr r3, [r0, #0x8] + add r2, r3, #0x0 +_02014032: + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _02014042 + mov r0, #0x28 + mul r0, r1 + add r0, r3, r0 + pop {r3-r4} + bx lr +_02014042: + add r1, r1, #0x1 + add r2, #0x28 + cmp r1, r4 + blt _02014032 +_0201404A: + mov r0, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_02014050 +sub_02014050: ; 0x02014050 + push {r3-r4} + ldr r4, [r0, #0x4] + mov r1, #0x0 + cmp r4, #0x0 + ble _02014076 + ldr r3, [r0, #0x10] + add r2, r3, #0x0 +_0201405E: + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _0201406E + mov r0, #0x18 + mul r0, r1 + add r0, r3, r0 + pop {r3-r4} + bx lr +_0201406E: + add r1, r1, #0x1 + add r2, #0x18 + cmp r1, r4 + blt _0201405E +_02014076: + mov r0, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_0201407C +sub_0201407C: ; 0x0201407C + push {r3, lr} + ldr r3, _0201408C ; =0x021064B8 + mov r1, #0x0 + ldr r0, [r0, #0x10] + ldr r3, [r3, #0x0] + add r2, r1, #0x0 + blx r3 + pop {r3, pc} + .balign 4 +_0201408C: .word 0x021064B8 + + thumb_func_start sub_02014090 +sub_02014090: ; 0x02014090 + push {r3, lr} + ldr r3, _020140A0 ; =0x021064C0 + mov r1, #0x0 + ldr r3, [r3, #0x0] + lsl r0, r0, #0x5 + add r2, r1, #0x0 + blx r3 + pop {r3, pc} + .balign 4 +_020140A0: .word 0x021064C0 + + thumb_func_start sub_020140A4 +sub_020140A4: ; 0x020140A4 + push {r3, lr} + lsl r1, r1, #0x10 + add r3, r2, #0x0 + lsr r1, r1, #0xd + mov r2, #0x0 + blx sub_020B1528 + pop {r3, pc} + + thumb_func_start sub_020140B4 +sub_020140B4: ; 0x020140B4 + push {r3-r5, lr} + add r3, r2, #0x0 + ldr r2, _020140D4 ; =0xFFFF0000 + add r5, r0, #0x0 + and r2, r1 + lsr r2, r2, #0x10 + lsl r1, r1, #0x10 + ldr r4, [r5, #0x8] + lsl r2, r2, #0x3 + str r2, [r5, #0x8] + lsr r1, r1, #0xd + mov r2, #0x0 + blx sub_020B1240 + str r4, [r5, #0x8] + pop {r3-r5, pc} + .balign 4 +_020140D4: .word 0xFFFF0000 + + thumb_func_start sub_020140D8 +sub_020140D8: ; 0x020140D8 + push {r3-r7, lr} + sub sp, #0x18 + ldr r7, _020141F8 ; =0x04000444 + mov r6, #0x0 + add r5, r0, #0x0 + str r6, [r7, #0x0] + ldrh r1, [r5, #0x3c] + ldr r0, _020141FC ; =0x7FFF8000 + orr r0, r1 + str r0, [r7, #0x7c] + add r0, r7, #0x0 + ldr r1, _02014200 ; =0x00004210 + add r0, #0x80 + str r1, [r0, #0x0] + ldr r3, [r5, #0x24] + ldr r4, [r3, #0x8] + ldr r2, [r3, #0x10] + ldr r1, [r3, #0x4] + ldr r0, [r3, #0x0] + lsl r3, r2, #0x1d + lsl r2, r1, #0x17 + lsl r1, r0, #0x14 + ldr r0, [r5, #0x28] + lsl r4, r4, #0x1a + lsr r0, r0, #0x3 + orr r4, r0 + mov r0, #0x1 + lsl r0, r0, #0x1e + orr r0, r4 + orr r0, r1 + orr r0, r2 + orr r0, r3 + str r0, [r7, #0x64] + ldr r0, [r5, #0x24] + ldr r0, [r0, #0x8] + cmp r0, #0x2 + bne _02014124 + mov r6, #0x1 +_02014124: + ldr r0, [r5, #0x30] + ldr r1, [r5, #0x2c] + lsl r0, r0, #0x5 + add r1, r1, r0 + mov r0, #0x4 + sub r0, r0, r6 + lsr r1, r0 + ldr r2, _02014204 ; =0x040004AC + add r0, r5, #0x0 + str r1, [r2, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + sub r2, #0x8 + lsl r1, r0, #0x10 + mov r0, #0xc0 + orr r0, r1 + str r0, [r2, #0x0] + ldr r0, [r5, #0x34] + cmp r0, #0x0 + beq _02014156 + mov r0, #0x8 + ldrsh r0, [r5, r0] + mov r7, #0x0 + str r0, [sp, #0x14] + b _0201415E +_02014156: + mov r0, #0x8 + ldrsh r7, [r5, r0] + mov r0, #0x0 + str r0, [sp, #0x14] +_0201415E: + ldr r0, [r5, #0x38] + cmp r0, #0x0 + beq _0201416C + mov r0, #0xa + ldrsh r6, [r5, r0] + mov r4, #0x0 + b _02014172 +_0201416C: + mov r0, #0xa + ldrsh r4, [r5, r0] + mov r6, #0x0 +_02014172: + ldr r0, [r5, #0x14] + mov r1, #0x6 + lsl r2, r0, #0xc + mov r0, #0x2 + ldrsh r0, [r5, r0] + ldrsh r1, [r5, r1] + mov r3, #0x4 + ldrsh r3, [r5, r3] + add r0, r0, r1 + lsl r1, r0, #0xc + mov r0, #0x0 + ldrsh r0, [r5, r0] + add r0, r0, r3 + ldr r3, _02014208 ; =0x04000470 + lsl r0, r0, #0xc + str r0, [r3, #0x0] + str r1, [r3, #0x0] + str r2, [r3, #0x0] + ldr r0, [r5, #0x18] + ldr r1, _0201420C ; =0x020FFA38 + asr r0, r0, #0x4 + lsl r2, r0, #0x1 + lsl r0, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r1, r0] + ldrsh r1, [r1, r2] + blx sub_020C7FF0 + ldr r2, [r5, #0x10] + ldr r0, [r5, #0xc] + ldr r1, _02014210 ; =0x0400046C + mov r3, #0x8 + str r0, [r1, #0x0] + str r2, [r1, #0x0] + lsr r0, r1, #0xe + str r0, [r1, #0x0] + mov r2, #0x4 + mov r0, #0x6 + ldrsh r2, [r5, r2] + ldrsh r0, [r5, r0] + neg r2, r2 + neg r0, r0 + lsl r2, r2, #0xc + lsl r0, r0, #0xc + str r2, [r1, #0x4] + str r0, [r1, #0x4] + mov r0, #0x0 + str r0, [r1, #0x4] + mov r1, #0xa + ldrsh r1, [r5, r1] + add r2, r0, #0x0 + str r1, [sp, #0x0] + ldr r1, [sp, #0x14] + str r1, [sp, #0x4] + str r6, [sp, #0x8] + str r7, [sp, #0xc] + str r4, [sp, #0x10] + ldrsh r3, [r5, r3] + add r1, r0, #0x0 + blx sub_020B0250 + ldr r0, _02014214 ; =0x04000448 + mov r1, #0x1 + str r1, [r0, #0x0] + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_020141F8: .word 0x04000444 +_020141FC: .word 0x7FFF8000 +_02014200: .word 0x00004210 +_02014204: .word 0x040004AC +_02014208: .word 0x04000470 +_0201420C: .word 0x020FFA38 +_02014210: .word 0x0400046C +_02014214: .word 0x04000448 + + thumb_func_start sub_02014218 +sub_02014218: ; 0x02014218 + push {r3-r7, lr} + add r5, r1, #0x0 + ldr r1, [r5, #0x4] + add r7, r0, #0x0 + ldr r2, [r1, #0x10] + mov r6, #0x8 + mov r0, #0x0 + cmp r2, #0x0 + ble _02014236 +_0201422A: + ldr r2, [r5, #0x4] + add r0, r0, #0x1 + ldr r2, [r2, #0x10] + lsl r6, r6, #0x1 + cmp r0, r2 + blt _0201422A +_02014236: + ldr r1, [r1, #0x14] + mov r4, #0x8 + mov r0, #0x0 + cmp r1, #0x0 + ble _0201424C +_02014240: + ldr r1, [r5, #0x4] + add r0, r0, #0x1 + ldr r1, [r1, #0x14] + lsl r4, r4, #0x1 + cmp r0, r1 + blt _02014240 +_0201424C: + mov r1, #0xc + mov r2, #0xe + ldrsh r1, [r5, r1] + ldrsh r2, [r5, r2] + add r0, r7, #0x0 + bl sub_02013EC4 + lsr r1, r6, #0x1f + lsr r2, r4, #0x1f + add r1, r6, r1 + add r2, r4, r2 + lsl r1, r1, #0xf + lsl r2, r2, #0xf + add r0, r7, #0x0 + asr r1, r1, #0x10 + asr r2, r2, #0x10 + bl sub_02013ED8 + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [r7, #0xc] + str r0, [r7, #0x10] + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02013EE8 + ldr r1, [r5, #0x18] + add r0, r7, #0x0 + bl sub_02013EFC + ldr r1, [r5, #0x14] + add r0, r7, #0x0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02013F04 + ldr r1, [r5, #0x4] + add r0, r7, #0x0 + add r1, #0x10 + bl sub_02013F10 + ldr r0, [r5, #0x4] + mov r1, #0x0 + add r0, r0, #0x4 + blx sub_020B1A14 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl sub_02013F14 + ldr r0, [r5, #0x8] + mov r1, #0x0 + add r0, r0, #0x4 + blx sub_020B19C4 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl sub_02013F18 + ldrh r1, [r5, #0x1c] + add r0, r7, #0x0 + bl sub_02013F1C + mov r1, #0x0 + add r0, r7, #0x0 + add r2, r1, #0x0 + bl sub_02013F20 + add r0, r7, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl sub_02013F20 + ldrh r1, [r5, #0x10] + add r0, r7, #0x0 + bl sub_02013F2C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020142EC +sub_020142EC: ; 0x020142EC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + ldr r0, _02014394 ; =sub_020143DC + mov r1, #0x50 + mov r2, #0x0 + bl sub_020061E8 + str r0, [sp, #0x4] + bl sub_0201B6C8 + add r4, r0, #0x0 + cmp r5, #0x0 + beq _02014330 + cmp r6, #0x0 + bne _02014320 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020031FC + str r0, [sp, #0x0] + ldr r0, _02014398 ; =sub_020144E0 + str r0, [r4, #0x4] + b _0201434A +_02014320: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020031FC + str r0, [sp, #0x0] + ldr r0, _0201439C ; =sub_020144FC + str r0, [r4, #0x4] + b _0201434A +_02014330: + cmp r6, #0x0 + bne _02014340 + bl sub_020222E8 + str r0, [sp, #0x0] + ldr r0, _020143A0 ; =sub_020144B0 + str r0, [r4, #0x4] + b _0201434A +_02014340: + bl sub_020222F8 + str r0, [sp, #0x0] + ldr r0, _020143A4 ; =sub_020144C8 + str r0, [r4, #0x4] +_0201434A: + ldr r1, [sp, #0x0] + lsl r0, r7, #0x5 + str r0, [sp, #0x8] + add r0, r1, r0 + add r1, r4, #0x0 + add r1, #0xc + mov r2, #0x20 + blx sub_020CE1E0 + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + mov r2, #0x20 + add r0, r1, r0 + add r1, r4, #0x0 + add r1, #0x2c + blx sub_020CE1E0 + ldr r0, [sp, #0x4] + mov r1, #0x1 + str r0, [r4, #0x0] + add r0, r4, #0x0 + str r5, [r4, #0x8] + add r0, #0x4c + strb r6, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x4d + strb r7, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x4e + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x4f + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02014394: .word sub_020143DC + 1 +_02014398: .word sub_020144E0 + 1 +_0201439C: .word sub_020144FC + 1 +_020143A0: .word sub_020144B0 + 1 +_020143A4: .word sub_020144C8 + 1 + + thumb_func_start sub_020143A8 +sub_020143A8: ; 0x020143A8 + cmp r1, #0x0 + beq _020143B6 + cmp r1, #0x1 + beq _020143BE + cmp r1, #0x2 + beq _020143C6 + bx lr +_020143B6: + mov r1, #0x0 + add r0, #0x4e + strb r1, [r0, #0x0] + bx lr +_020143BE: + mov r1, #0x2 + add r0, #0x4e + strb r1, [r0, #0x0] + bx lr +_020143C6: + mov r1, #0x3 + add r0, #0x4e + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020143D0 +sub_020143D0: ; 0x020143D0 + ldr r3, _020143D8 ; =sub_0200621C + ldr r0, [r0, #0x0] + bx r3 + nop +_020143D8: .word sub_0200621C + 1 + + thumb_func_start sub_020143DC +sub_020143DC: ; 0x020143DC + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x4e + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bhi _02014452 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r2, #0 + lsl r0, r3, #0x1 + lsl r2, r1, #0x1 + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x4f + strb r1, [r0, #0x0] + mov r0, #0x1 + add r4, #0x4e + strb r0, [r4, #0x0] + pop {r3-r5, pc} +_02014410: + .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xF8, 0x01, 0x28, 0x04, 0xD1, 0x21, 0x1C, 0x62, 0x68, 0x20, 0x1C + .byte 0x2C, 0x31, 0x90, 0x47, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x4F, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x20, 0x28, 0x0A, 0xD1, 0x00, 0x20, 0x4F, 0x34 + .byte 0x20, 0x70, 0x38, 0xBD, 0x62, 0x68, 0x20, 0x1C, 0x0C, 0x31, 0x90, 0x47, 0x28, 0x1C, 0xF1, 0xF7 + .byte 0xE5, 0xFE +_02014452: + pop {r3-r5, pc} + + thumb_func_start sub_02014454 +sub_02014454: ; 0x02014454 + push {r4-r5} + add r1, r0, #0x0 + add r1, #0x4f + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02014482 + mov r1, #0x1e + mov r4, #0x0 + mov r3, #0x1 + lsl r1, r1, #0xa +_02014468: + add r2, r3, #0x0 + lsl r2, r4 + tst r2, r1 + beq _02014474 + ldrh r2, [r0, #0xc] + strh r2, [r0, #0x2c] +_02014474: + add r4, r4, #0x1 + add r0, r0, #0x2 + cmp r4, #0x10 + blo _02014468 + mov r0, #0x1 + pop {r4-r5} + bx lr +_02014482: + cmp r1, #0x18 + bne _020144AA + mov r1, #0x1e + mov r5, #0x0 + add r4, r0, #0x0 + mov r3, #0x1 + lsl r1, r1, #0xa +_02014490: + add r2, r3, #0x0 + lsl r2, r5 + tst r2, r1 + beq _0201449C + ldrh r2, [r0, #0x2a] + strh r2, [r4, #0x2c] +_0201449C: + add r5, r5, #0x1 + add r4, r4, #0x2 + cmp r5, #0x10 + blo _02014490 + mov r0, #0x1 + pop {r4-r5} + bx lr +_020144AA: + mov r0, #0x0 + pop {r4-r5} + bx lr + + thumb_func_start sub_020144B0 +sub_020144B0: ; 0x020144B0 + push {r3, lr} + add r3, r0, #0x0 + add r3, #0x4d + ldrb r3, [r3, #0x0] + mov r0, #0x0 + mov r2, #0x20 + lsl r3, r3, #0x15 + lsr r3, r3, #0x10 + bl sub_02017FB4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020144C8 +sub_020144C8: ; 0x020144C8 + push {r3, lr} + add r3, r0, #0x0 + add r3, #0x4d + ldrb r3, [r3, #0x0] + mov r0, #0x4 + mov r2, #0x20 + lsl r3, r3, #0x15 + lsr r3, r3, #0x10 + bl sub_02017FB4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020144E0 +sub_020144E0: ; 0x020144E0 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [r3, #0x8] + add r3, #0x4d + ldrb r3, [r3, #0x0] + mov r2, #0x0 + lsl r3, r3, #0x14 + lsr r3, r3, #0x10 + bl sub_02003054 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020144FC +sub_020144FC: ; 0x020144FC + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [r3, #0x8] + add r3, #0x4d + ldrb r3, [r3, #0x0] + mov r2, #0x1 + lsl r3, r3, #0x14 + lsr r3, r3, #0x10 + bl sub_02003054 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02014518 +sub_02014518: ; 0x02014518 + push {r3-r7, lr} + mov r1, #0x78 + add r7, r0, #0x0 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x78 + add r6, r0, #0x0 + blx sub_020CE34C + ldr r2, _02014560 ; =0x0000019E + mov r0, #0x0 + mov r1, #0x1a + add r3, r7, #0x0 + bl sub_0200A86C + str r0, [r6, #0x0] + mov r4, #0x0 + add r5, r6, #0x0 +_0201453E: + mov r0, #0x16 + add r1, r7, #0x0 + bl sub_020219F4 + str r0, [r5, #0x4] + ldr r0, [r6, #0x0] + ldr r2, [r5, #0x4] + add r1, r4, #0x0 + bl sub_0200A8E0 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x1d + blt _0201453E + add r0, r6, #0x0 + pop {r3-r7, pc} + nop +_02014560: .word 0x0000019E + + thumb_func_start sub_02014564 +sub_02014564: ; 0x02014564 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r6, #0x0 + mov r4, #0x1c + add r5, #0x70 +_0201456E: + ldr r0, [r5, #0x4] + bl sub_02021A20 + sub r5, r5, #0x4 + sub r4, r4, #0x1 + bpl _0201456E + ldr r0, [r6, #0x0] + bl sub_0200A8B8 + add r0, r6, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + + thumb_func_start sub_02014588 +sub_02014588: ; 0x02014588 + lsl r1, r1, #0x2 + add r0, r0, r1 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02014590 +sub_02014590: ; 0x02014590 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x9c + bl sub_02016998 + add r1, r5, #0x0 + add r4, r0, #0x0 + bl sub_020146F0 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020145A8 +sub_020145A8: ; 0x020145A8 + push {r4, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x9b + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + cmp r1, #0x1 + bne _020145BE + bl sub_020146C4 +_020145BE: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020145C8 +sub_020145C8: ; 0x020145C8 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r2, [r4, #0x0] + add r5, r0, #0x0 + str r2, [r5, #0x7c] + add r2, r5, #0x0 + ldr r3, [r4, #0x4] + add r2, #0x80 + str r3, [r2, #0x0] + add r2, r5, #0x0 + ldrb r3, [r4, #0x10] + add r2, #0x98 + strb r3, [r2, #0x0] + add r2, r5, #0x0 + ldrb r3, [r4, #0x11] + add r2, #0x99 + strb r3, [r2, #0x0] + bl sub_02014730 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02014754 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02014784 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02014814 + add r0, r5, #0x0 + add r0, #0x9b + ldrb r1, [r0, #0x0] + mov r0, #0xf + bic r1, r0 + mov r0, #0x1 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x9b + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x9b + ldrb r1, [r0, #0x0] + mov r0, #0xf0 + add r5, #0x9b + bic r1, r0 + mov r0, #0x80 + orr r0, r1 + strb r0, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02014630 +sub_02014630: ; 0x02014630 + push {r4, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x9b + ldrb r2, [r1, #0x0] + mov r1, #0xf0 + bic r2, r1 + mov r1, #0x80 + orr r2, r1 + add r1, r4, #0x0 + add r1, #0x9b + strb r2, [r1, #0x0] + bl sub_0201466C + cmp r0, #0x0 + bne _0201466A + add r1, r4, #0x0 + add r1, #0x9b + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + bne _0201466A + add r4, #0x9a + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _02014668 + mov r0, #0x3 + pop {r4, pc} +_02014668: + mov r0, #0x4 +_0201466A: + pop {r4, pc} + + thumb_func_start sub_0201466C +sub_0201466C: ; 0x0201466C + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x9b + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #0x1 + beq _02014680 + bl sub_02020C2C +_02014680: + add r0, r4, #0x0 + add r0, #0x9a + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bne _02014690 + ldr r0, [r4, #0x0] + bl sub_02022144 +_02014690: + add r1, r4, #0x0 + add r1, #0x9a + ldrb r2, [r1, #0x0] + mov r0, #0x0 + cmp r2, #0x3 + beq _020146AA + add r1, r4, #0x0 + mov r0, #0x38 + add r1, #0xc + mul r0, r2 + add r0, r1, r0 + bl sub_02014930 +_020146AA: + cmp r0, #0x1 + bne _020146BE + add r4, #0x9a + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _020146BA + mov r0, #0x1 + pop {r4, pc} +_020146BA: + mov r0, #0x2 + pop {r4, pc} +_020146BE: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020146C4 +sub_020146C4: ; 0x020146C4 + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_0202212C + add r5, r6, #0x0 + mov r4, #0x0 + add r5, #0xc +_020146D4: + add r0, r5, #0x0 + bl sub_02014970 + add r4, r4, #0x1 + add r5, #0x38 + cmp r4, #0x2 + blt _020146D4 + add r0, r6, #0x0 + add r6, #0x84 + ldr r1, [r6, #0x0] + bl sub_020146F0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020146F0 +sub_020146F0: ; 0x020146F0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x0 + mov r2, #0x9c + blx sub_020DF4A4 + add r0, r5, #0x0 + add r0, #0x9b + ldrb r1, [r0, #0x0] + mov r0, #0xf + bic r1, r0 + add r0, r5, #0x0 + add r0, #0x9b + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x84 + str r4, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x3 + add r0, #0x9a + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x9b + ldrb r1, [r0, #0x0] + mov r0, #0xf0 + add r5, #0x9b + bic r1, r0 + mov r0, #0x80 + orr r0, r1 + strb r0, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02014730 +sub_02014730: ; 0x02014730 + push {r3, lr} + sub sp, #0x8 + add r3, r0, #0x0 + ldr r0, [r1, #0x8] + mov r1, #0x1 + str r0, [sp, #0x0] + add r0, r3, #0x0 + add r0, #0x84 + ldr r0, [r0, #0x0] + str r0, [sp, #0x4] + ldr r2, [r3, #0x7c] + add r3, #0x80 + ldr r3, [r3, #0x0] + mov r0, #0x54 + bl sub_02014A3C + add sp, #0x8 + pop {r3, pc} + + thumb_func_start sub_02014754 +sub_02014754: ; 0x02014754 + push {r3, lr} + sub sp, #0x8 + add r3, r1, #0x0 + add r1, r0, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + cmp r1, #0x4 + bhs _02014768 + mov r2, #0x0 + b _0201476A +_02014768: + mov r2, #0x4 +_0201476A: + mov r1, #0x40 + str r1, [sp, #0x0] + add r0, #0x84 + ldr r0, [r0, #0x0] + mov r1, #0x0 + str r0, [sp, #0x4] + ldr r3, [r3, #0xc] + mov r0, #0x54 + lsl r3, r3, #0x5 + bl sub_02014A8C + add sp, #0x8 + pop {r3, pc} + + thumb_func_start sub_02014784 +sub_02014784: ; 0x02014784 + push {r3-r7, lr} + sub sp, #0x30 + add r7, r0, #0x0 + mov r3, #0x0 + add r4, r7, #0x0 +_0201478E: + add r0, r4, #0x0 + add r3, r3, #0x1 + lsl r2, r3, #0xc + add r0, #0x88 + add r4, r4, #0x4 + str r2, [r0, #0x0] + cmp r3, #0x4 + blt _0201478E + ldr r0, [r7, #0x7c] + mov r5, #0x0 + str r0, [sp, #0x0] + add r0, r7, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r4, r7, #0x0 + str r0, [sp, #0x4] + mov r0, #0x54 + str r0, [sp, #0x8] + ldr r0, [r1, #0x8] + add r6, r5, #0x0 + str r0, [sp, #0x1c] + ldr r0, [r1, #0xc] + add r4, #0xc + str r0, [sp, #0x20] + add r0, r7, #0x0 + add r0, #0x88 + str r0, [sp, #0x24] + mov r0, #0x4 + str r0, [sp, #0x28] + add r0, r7, #0x0 + add r0, #0x98 + ldrb r1, [r0, #0x0] + add r0, sp, #0x20 + strb r1, [r0, #0xc] +_020147D2: + mov r1, #0x0 + mov r2, #0x2 + add r3, sp, #0x0 +_020147D8: + add r0, r5, r2 + str r0, [r3, #0xc] + add r1, r1, #0x1 + add r2, r2, #0x2 + add r3, r3, #0x4 + cmp r1, #0x4 + blt _020147D8 + add r0, r7, #0x0 + add r0, #0x99 + ldrb r0, [r0, #0x0] + add r2, r7, #0x0 + add r2, #0x84 + add r1, r0, r6 + add r0, sp, #0x20 + strb r1, [r0, #0xd] + ldr r0, [sp, #0x20] + add r1, sp, #0x0 + add r0, r0, r5 + str r0, [sp, #0x20] + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + bl sub_020148A8 + add r5, r5, #0x1 + add r6, r6, #0x4 + add r4, #0x38 + cmp r5, #0x2 + blt _020147D2 + add sp, #0x30 + pop {r3-r7, pc} + + thumb_func_start sub_02014814 +sub_02014814: ; 0x02014814 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r4, #0x0 +_02014820: + add r3, r4, #0x0 + add r3, #0x99 + ldrb r3, [r3, #0x0] + add r0, r0, #0x1 + lsl r3, r3, #0x3 + add r3, r3, r1 + strb r3, [r2, #0x4] + add r3, r4, #0x0 + add r3, #0x99 + ldrb r3, [r3, #0x0] + lsl r3, r3, #0x3 + add r3, r3, r1 + add r3, #0x20 + strb r3, [r2, #0x5] + add r3, r4, #0x0 + add r3, #0x98 + ldrb r3, [r3, #0x0] + add r1, #0x20 + lsl r3, r3, #0x3 + strb r3, [r2, #0x6] + add r3, r4, #0x0 + add r3, #0x98 + ldrb r3, [r3, #0x0] + lsl r3, r3, #0x3 + add r3, #0x30 + strb r3, [r2, #0x7] + add r2, r2, #0x4 + cmp r0, #0x2 + blt _02014820 + add r0, r4, #0x0 + add r0, #0x84 + ldr r0, [r0, #0x0] + ldr r2, _02014874 ; =sub_02014878 + str r0, [sp, #0x0] + add r0, r4, #0x4 + mov r1, #0x2 + add r3, r4, #0x0 + bl sub_020220C4 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_02014874: .word sub_02014878 + 1 + + thumb_func_start sub_02014878 +sub_02014878: ; 0x02014878 + push {r4, lr} + add r3, r2, #0x0 + add r3, #0x9b + ldrb r3, [r3, #0x0] + mov r4, #0xf0 + bic r3, r4 + lsl r4, r1, #0x18 + lsr r4, r4, #0x18 + lsl r4, r4, #0x1c + lsr r4, r4, #0x18 + orr r4, r3 + add r3, r2, #0x0 + add r3, #0x9b + strb r4, [r3, #0x0] + cmp r1, #0x0 + bne _020148A2 + add r2, #0x9a + strb r0, [r2, #0x0] + ldr r0, _020148A4 ; =0x000005E4 + bl sub_020054C8 +_020148A2: + pop {r4, pc} + .balign 4 +_020148A4: .word 0x000005E4 + + thumb_func_start sub_020148A8 +sub_020148A8: ; 0x020148A8 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r1, #0x0 + str r2, [sp, #0x8] + str r0, [sp, #0x4] + ldr r1, [r5, #0x24] + ldr r2, [r5, #0x28] + add r0, #0x28 + bl sub_020149FC + ldr r1, [r5, #0x0] + ldr r0, [sp, #0x4] + ldr r6, [sp, #0x4] + str r1, [r0, #0x0] + ldr r1, [r5, #0x4] + ldr r4, [sp, #0x4] + str r1, [r0, #0x4] + add r0, r5, #0x0 + add r0, #0x2c + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x4] + add r6, #0x18 + add r0, #0x34 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x2d + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x4] + add r7, r5, #0x0 + add r0, #0x35 + strb r1, [r0, #0x0] + mov r0, #0x0 + str r0, [sp, #0xc] +_020148EA: + ldr r0, [sp, #0x8] + mov r2, #0x1 + str r0, [sp, #0x0] + ldr r0, [r5, #0x8] + ldr r1, [r7, #0xc] + add r3, r6, #0x0 + bl sub_02006BDC + str r0, [r4, #0x8] + ldr r0, [r4, #0x18] + ldr r1, [r5, #0x1c] + bl sub_02014BA4 + ldr r0, [r4, #0x18] + ldr r1, [r5, #0x20] + bl sub_02014BC4 + ldr r0, [sp, #0xc] + add r6, r6, #0x4 + add r0, r0, #0x1 + add r7, r7, #0x4 + add r4, r4, #0x4 + str r0, [sp, #0xc] + cmp r0, #0x4 + blt _020148EA + ldr r0, [sp, #0x4] + bl sub_020149D0 + ldr r0, [sp, #0x4] + mov r1, #0x0 + add r0, #0x36 + str r0, [sp, #0x4] + strb r1, [r0, #0x0] + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_02014930 +sub_02014930: ; 0x02014930 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x28 + bl sub_02014A10 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x36 + ldrb r0, [r0, #0x0] + cmp r0, r4 + beq _02014952 + add r0, r5, #0x0 + bl sub_020149D0 + add r0, r5, #0x0 + add r0, #0x36 + strb r4, [r0, #0x0] +_02014952: + ldr r0, [r5, #0x2c] + sub r0, r0, #0x1 + cmp r4, r0 + bne _0201495E + mov r0, #0x1 + pop {r3-r5, pc} +_0201495E: + add r5, #0x28 + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0xc + bl sub_02014A08 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02014970 +sub_02014970: ; 0x02014970 + push {r4-r6, lr} + sub sp, #0x10 + add r6, r0, #0x0 + add r0, #0x35 + ldrb r0, [r0, #0x0] + ldr r1, [r6, #0x18] + add r3, r6, #0x0 + str r0, [sp, #0x0] + ldrh r0, [r1, #0x0] + mov r2, #0x0 + add r3, #0x34 + lsl r0, r0, #0x15 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + ldrh r0, [r1, #0x2] + lsl r0, r0, #0x15 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + ldr r1, [r6, #0x4] + ldrb r3, [r3, #0x0] + lsl r1, r1, #0x18 + ldr r0, [r6, #0x0] + lsr r1, r1, #0x18 + bl sub_02018540 + ldr r1, [r6, #0x4] + ldr r0, [r6, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0201AC68 + mov r4, #0x0 + add r5, r6, #0x0 +_020149B4: + ldr r0, [r5, #0x8] + bl sub_02016A18 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _020149B4 + add r0, r6, #0x0 + mov r1, #0x0 + mov r2, #0x38 + blx sub_020DF4A4 + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_020149D0 +sub_020149D0: ; 0x020149D0 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, #0x28 + bl sub_02014A10 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x35 + ldrb r0, [r0, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + add r4, #0x34 + ldrb r3, [r4, #0x0] + ldr r2, [r2, #0x18] + bl sub_02014B58 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_020149FC +sub_020149FC: ; 0x020149FC + str r1, [r0, #0x0] + str r2, [r0, #0x4] + mov r1, #0x0 + str r1, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_02014A08 +sub_02014A08: ; 0x02014A08 + ldr r2, [r0, #0x8] + add r1, r2, r1 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02014A10 +sub_02014A10: ; 0x02014A10 + push {r4-r5} + ldr r5, [r0, #0x4] + mov r2, #0x0 + cmp r5, #0x0 + bls _02014A34 + ldr r3, [r0, #0x0] + ldr r4, [r0, #0x8] +_02014A1E: + ldr r1, [r3, #0x0] + cmp r1, r4 + blt _02014A2A + add r0, r2, #0x0 + pop {r4-r5} + bx lr +_02014A2A: + ldr r1, [r0, #0x4] + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, r1 + blo _02014A1E +_02014A34: + sub r0, r5, #0x1 + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02014A3C +sub_02014A3C: ; 0x02014A3C + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + str r1, [sp, #0x4] + ldr r0, [sp, #0x24] + mov r1, #0x14 + add r5, r2, #0x0 + add r6, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r2, r4, #0x0 + mov r1, #0x14 + mov r0, #0x0 +_02014A58: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _02014A58 + ldr r0, [sp, #0x24] + ldr r1, [sp, #0x4] + str r0, [sp, #0x0] + add r0, r7, #0x0 + mov r2, #0x1 + add r3, r4, #0x4 + bl sub_02006BB0 + str r0, [r4, #0x8] + str r5, [r4, #0x0] + ldr r0, [sp, #0x20] + str r6, [r4, #0xc] + str r0, [r4, #0x10] + ldr r0, _02014A88 ; =sub_02014AD4 + add r1, r4, #0x0 + mov r2, #0x80 + bl sub_0200CA98 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02014A88: .word sub_02014AD4 + 1 + + thumb_func_start sub_02014A8C +sub_02014A8C: ; 0x02014A8C + push {r3-r7, lr} + add r7, r0, #0x0 + str r1, [sp, #0x0] + ldr r0, [sp, #0x1c] + mov r1, #0x14 + add r5, r2, #0x0 + add r6, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r2, r4, #0x0 + mov r1, #0x14 + mov r0, #0x0 +_02014AA6: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _02014AA6 + ldr r1, [sp, #0x0] + ldr r3, [sp, #0x1c] + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_02006C08 + str r0, [r4, #0x4] + str r5, [r4, #0x8] + ldr r0, [sp, #0x18] + str r6, [r4, #0xc] + str r0, [r4, #0x10] + ldr r0, _02014AD0 ; =sub_02014B10 + add r1, r4, #0x0 + mov r2, #0x80 + bl sub_0200CA98 + pop {r3-r7, pc} + .balign 4 +_02014AD0: .word sub_02014B10 + 1 + + thumb_func_start sub_02014AD4 +sub_02014AD4: ; 0x02014AD4 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [r4, #0x4] + add r5, r0, #0x0 + ldr r0, [r1, #0x14] + ldr r1, [r1, #0x10] + blx sub_020CC15C + ldr r3, [r4, #0x4] + ldr r0, [r4, #0x10] + str r0, [sp, #0x0] + ldr r1, [r4, #0xc] + ldr r2, [r3, #0x14] + lsl r1, r1, #0x18 + ldr r0, [r4, #0x0] + ldr r3, [r3, #0x10] + lsr r1, r1, #0x18 + bl sub_02017E14 + add r0, r5, #0x0 + bl sub_0200CAB4 + ldr r0, [r4, #0x8] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02014B10 +sub_02014B10: ; 0x02014B10 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x10] + ldr r0, [r0, #0xc] + blx sub_020CC15C + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _02014B34 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0xc] + ldr r0, [r0, #0xc] + ldr r2, [r4, #0x10] + blx sub_020C9550 + b _02014B44 +_02014B34: + cmp r0, #0x4 + bne _02014B44 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0xc] + ldr r0, [r0, #0xc] + ldr r2, [r4, #0x10] + blx sub_020C94E8 +_02014B44: + add r0, r5, #0x0 + bl sub_0200CAB4 + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + + thumb_func_start sub_02014B58 +sub_02014B58: ; 0x02014B58 + push {r3-r6, lr} + sub sp, #0x1c + add r4, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldrh r6, [r1, #0x0] + ldrh r3, [r1, #0x2] + lsl r2, r2, #0x18 + lsl r6, r6, #0x15 + lsr r6, r6, #0x18 + lsl r3, r3, #0x15 + str r6, [sp, #0x0] + lsr r3, r3, #0x18 + str r3, [sp, #0x4] + add r1, #0xc + str r1, [sp, #0x8] + mov r1, #0x0 + str r1, [sp, #0xc] + str r1, [sp, #0x10] + str r6, [sp, #0x14] + str r3, [sp, #0x18] + ldr r3, [sp, #0x30] + lsl r1, r4, #0x18 + lsl r3, r3, #0x18 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + add r5, r0, #0x0 + bl sub_02018170 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_0201AC68 + add sp, #0x1c + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02014BA4 +sub_02014BA4: ; 0x02014BA4 + push {r3-r4} + ldr r2, [r0, #0x8] + add r0, #0xc + lsr r4, r2, #0x1 + mov r3, #0x0 + cmp r4, #0x0 + ble _02014BC0 +_02014BB2: + ldrh r2, [r0, #0x0] + add r3, r3, #0x1 + add r2, r2, r1 + strh r2, [r0, #0x0] + add r0, r0, #0x2 + cmp r3, r4 + blt _02014BB2 +_02014BC0: + pop {r3-r4} + bx lr + + thumb_func_start sub_02014BC4 +sub_02014BC4: ; 0x02014BC4 + push {r4-r5} + ldr r2, [r0, #0x8] + add r0, #0xc + lsr r3, r2, #0x1 + mov r2, #0x0 + cmp r3, #0x0 + ble _02014BEA + ldr r4, _02014BF0 ; =0x00000FFF + lsl r1, r1, #0xc +_02014BD6: + ldrh r5, [r0, #0x0] + add r2, r2, #0x1 + and r5, r4 + strh r5, [r0, #0x0] + ldrh r5, [r0, #0x0] + orr r5, r1 + strh r5, [r0, #0x0] + add r0, r0, #0x2 + cmp r2, r3 + blt _02014BD6 +_02014BEA: + pop {r4-r5} + bx lr + nop +_02014BF0: .word 0x00000FFF + + thumb_func_start sub_02014BF4 +sub_02014BF4: ; 0x02014BF4 + push {r3-r7, lr} + add r7, r1, #0x0 + mov r1, #0xc + add r5, r0, #0x0 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + strb r6, [r4, #0x8] + mov r0, #0x1d + strb r7, [r4, #0x9] + lsl r0, r0, #0x4 + add r6, r7, #0x0 + mul r6, r0 + add r0, r5, #0x0 + add r1, r6, #0x0 + str r5, [r4, #0x4] + bl sub_02016998 + mov r1, #0x0 + add r2, r6, #0x0 + str r0, [r4, #0x0] + blx sub_020CE34C + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02014C28 +sub_02014C28: ; 0x02014C28 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02014C3C +sub_02014C3C: ; 0x02014C3C + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x19 + blo _02014C48 + bl sub_02020C2C +_02014C48: + ldr r0, _02014C50 ; =0x020ED64C + ldrb r0, [r0, r4] + pop {r4, pc} + nop +_02014C50: .word 0x020ED64C + + thumb_func_start sub_02014C54 +sub_02014C54: ; 0x02014C54 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + str r3, [sp, #0x4] + add r0, r2, #0x0 + ldrh r6, [r0, #0x0] + ldrh r0, [r0, #0x2] + add r7, r1, #0x0 + ldrb r1, [r5, #0x9] + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + str r2, [sp, #0x0] + cmp r0, r1 + blo _02014C74 + bl sub_02020C2C +_02014C74: + ldr r0, [sp, #0x4] + mov r1, #0x1d + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, #0x0] + mul r4, r1 + add r0, r0, r4 + ldr r0, [r0, #0x10] + cmp r0, #0x0 + beq _02014C8C + bl sub_02020C2C +_02014C8C: + ldr r0, [r5, #0x0] + mov r2, #0x1d + add r0, r0, r4 + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020CE34C + ldr r0, [r5, #0x0] + mov r1, #0x1 + add r0, r0, r4 + str r1, [r0, #0x10] + ldr r0, [r5, #0x0] + cmp r6, #0x86 + str r7, [r0, r4] + blt _02014CAE + mov r6, #0x0 + str r6, [sp, #0x8] +_02014CAE: + ldr r0, [r5, #0x0] + add r0, r0, r4 + str r6, [r0, #0x14] + ldrb r0, [r5, #0x8] + cmp r0, #0x0 + beq _02014CC0 + ldr r0, [sp, #0x0] + ldrb r2, [r0, #0x4] + b _02014CC2 +_02014CC0: + mov r2, #0x0 +_02014CC2: + ldr r0, [r5, #0x0] + add r1, r0, r4 + mov r0, #0x73 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + ldr r1, [r5, #0x0] + ldr r2, [r5, #0x4] + add r1, r1, r4 + ldr r1, [r1, #0x14] + mov r0, #0x5e + bl sub_02006528 + ldr r1, [r5, #0x0] + mov r2, #0x0 + add r1, r1, r4 + str r0, [r1, #0x8] + ldr r0, [r5, #0x0] + mov r6, #0x1c + add r1, r0, r4 + ldr r0, [r1, #0x8] + str r0, [r1, #0xc] + ldr r0, [r5, #0x0] + add r0, r0, r4 + str r2, [r0, #0x1c] + ldr r0, [r5, #0x0] + add r0, r0, r4 + str r2, [r0, #0x20] + ldr r0, [r5, #0x0] + add r1, r0, r4 + ldr r0, _02014D74 ; =0x000001CD + strb r2, [r1, r0] + ldr r1, [r5, #0x0] + add r3, r1, r4 + add r1, r0, #0x1 + strb r6, [r3, r1] + ldr r1, [r5, #0x0] + add r0, r0, #0x2 + add r1, r1, r4 + strb r2, [r1, r0] + ldr r1, [r5, #0x0] + ldr r0, _02014D78 ; =sub_02014DD8 + add r1, r1, r4 + bl sub_0200CA44 + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x4] + ldr r0, [r5, #0x0] + add r1, r0, r4 + ldr r0, [sp, #0x8] + str r0, [r1, #0x54] + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0200782C + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x58] + add r0, r7, #0x0 + mov r1, #0x1 + bl sub_0200782C + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x5c] + ldr r1, [r5, #0x0] + mov r0, #0x0 + add r1, r1, r4 + str r0, [r1, #0x60] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x64] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x68] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x6c] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x70] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x74] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x78] + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02014D74: .word 0x000001CD +_02014D78: .word sub_02014DD8 + 1 + + thumb_func_start sub_02014D7C +sub_02014D7C: ; 0x02014D7C + push {r3-r5, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0x9] + add r4, r1, #0x0 + cmp r4, r0 + blo _02014D8C + bl sub_02020C2C +_02014D8C: + mov r0, #0x1d + lsl r0, r0, #0x4 + ldr r1, [r5, #0x0] + mul r0, r4 + add r0, r1, r0 + ldr r0, [r0, #0x20] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02014D9C +sub_02014D9C: ; 0x02014D9C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x1d + lsl r0, r0, #0x4 + add r4, r1, #0x0 + mul r4, r0 + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _02014DD6 + bl sub_0200CAB4 + ldr r1, [r5, #0x0] + mov r0, #0x0 + add r1, r1, r4 + str r0, [r1, #0x4] + ldr r1, [r5, #0x0] + mov r2, #0x1 + add r1, r1, r4 + str r2, [r1, #0x20] + ldr r1, [r5, #0x0] + add r1, r1, r4 + str r0, [r1, #0x10] + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x8] + bl sub_02016A18 +_02014DD6: + pop {r3-r5, pc} + + thumb_func_start sub_02014DD8 +sub_02014DD8: ; 0x02014DD8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x54] + cmp r0, #0x0 + bne _02014DEC + add r0, r4, #0x0 + bl sub_02014E10 + b _02014DF0 +_02014DEC: + sub r0, r0, #0x1 + str r0, [r4, #0x54] +_02014DF0: + ldr r0, [r4, #0x1c] + cmp r0, #0x0 + beq _02014E0E + mov r0, #0x1 + str r0, [r4, #0x20] + mov r0, #0x0 + str r0, [r4, #0x10] + add r0, r5, #0x0 + bl sub_0200CAB4 + mov r0, #0x0 + str r0, [r4, #0x4] + ldr r0, [r4, #0x8] + bl sub_02016A18 +_02014E0E: + pop {r3-r5, pc} + + thumb_func_start sub_02014E10 +sub_02014E10: ; 0x02014E10 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r6, #0x0 + str r6, [r5, #0x18] + add r7, r5, #0x0 + str r6, [r5, #0x44] + add r4, r6, #0x0 + add r7, #0x7c +_02014E20: + mov r0, #0x54 + add r1, r4, #0x0 + mul r1, r0 + add r0, r7, r1 + ldr r1, [r7, r1] + cmp r1, #0x0 + beq _02014E4E + add r1, r0, #0x0 + add r1, #0x2d + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02014E40 + ldr r2, [r0, #0x50] + add r1, r5, #0x0 + blx r2 + b _02014E54 +_02014E40: + add r1, r0, #0x0 + add r1, #0x2d + ldrb r1, [r1, #0x0] + add r0, #0x2d + sub r1, r1, #0x1 + strb r1, [r0, #0x0] + b _02014E54 +_02014E4E: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_02014E54: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + blo _02014E20 + cmp r6, #0x4 + bne _02014E68 + ldr r0, _02014EFC ; =0x000001CD + mov r1, #0x0 + strb r1, [r5, r0] +_02014E68: + ldr r0, _02014EFC ; =0x000001CD + ldrb r1, [r5, r0] + cmp r1, #0x0 + beq _02014E7E + add r0, r5, #0x0 + bl sub_020156E8 + add r0, r5, #0x0 + bl sub_02015730 + pop {r3-r7, pc} +_02014E7E: + add r0, r0, #0x2 + ldrb r0, [r5, r0] + cmp r0, #0x0 + beq _02014E96 + ldr r0, [r5, #0x0] + bl sub_02007F20 + cmp r0, #0x0 + bne _02014EF8 + ldr r0, _02014F00 ; =0x000001CF + mov r1, #0x0 + strb r1, [r5, r0] +_02014E96: + add r6, r5, #0x0 + add r4, r5, #0x0 + ldr r7, _02014F04 ; =0x020ED6A4 + add r6, #0xc + add r4, #0x44 +_02014EA0: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x0] + cmp r0, #0x22 + blo _02014EB2 + bl sub_02020C2C +_02014EB2: + ldr r1, [r5, #0xc] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + lsl r1, r1, #0x2 + ldr r1, [r7, r1] + blx r1 + ldr r0, [r5, #0x1c] + cmp r0, #0x0 + bne _02014EF8 + ldr r0, [r6, #0x0] + add r0, r0, #0x4 + str r0, [r6, #0x0] + ldr r0, [r5, #0x18] + cmp r0, #0x0 + bne _02014EF8 + ldr r0, _02014EFC ; =0x000001CD + ldrb r0, [r5, r0] + cmp r0, #0x0 + beq _02014EE6 + add r0, r5, #0x0 + bl sub_020156E8 + add r0, r5, #0x0 + bl sub_02015730 + pop {r3-r7, pc} +_02014EE6: + mov r0, #0x1 + ldr r1, [r5, #0x44] + lsl r0, r0, #0x8 + cmp r1, r0 + blt _02014EA0 + bl sub_02020C2C + mov r0, #0x1 + str r0, [r5, #0x1c] +_02014EF8: + pop {r3-r7, pc} + nop +_02014EFC: .word 0x000001CD +_02014F00: .word 0x000001CF +_02014F04: .word 0x020ED6A4 + + thumb_func_start sub_02014F08 +sub_02014F08: ; 0x02014F08 + push {r4, lr} + lsl r1, r1, #0x2 + ldr r4, [r0, r1] + cmp r2, #0x1 + beq _02014F16 + bl sub_02020C2C +_02014F16: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02014F1C: + .byte 0x01, 0x4B, 0x0A, 0x1C + .byte 0x00, 0x21, 0x18, 0x47, 0x09, 0x4F, 0x01, 0x02 + + thumb_func_start sub_02014F28 +sub_02014F28: ; 0x02014F28 + ldr r3, _02014F30 ; =0x02014F1D + mov r1, #0x1 + bx r3 + nop +_02014F30: .word 0x02014F1D + + thumb_func_start sub_02014F34 +sub_02014F34: ; 0x02014F34 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r3, #0x0 + add r0, #0x7c + mov r2, #0x54 +_02014F3E: + add r1, r3, #0x0 + mul r1, r2 + add r4, r0, r1 + ldr r1, [r0, r1] + cmp r1, #0x0 + bne _02014F68 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x54 + blx sub_020CE34C + mov r0, #0x1 + str r0, [r4, #0x0] + mov r0, #0xc + add r1, r5, #0x0 + mul r1, r0 + ldr r0, _02014F7C ; =0x020ED668 + ldr r0, [r0, r1] + str r0, [r4, #0x50] + add r0, r4, #0x0 + pop {r3-r5, pc} +_02014F68: + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x4 + blo _02014F3E + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02014F7C: .word 0x020ED668 + + thumb_func_start sub_02014F80 +sub_02014F80: ; 0x02014F80 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, [r0, #0xc] + add r1, r1, #0x4 + str r1, [r0, #0xc] + add r0, r1, #0x0 + bl sub_02014F28 + str r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02014F94 +sub_02014F94: ; 0x02014F94 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, [r0, #0xc] + add r1, r1, #0x4 + str r1, [r0, #0xc] + add r0, r1, #0x0 + bl sub_02014F28 + strb r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02014FA8 +sub_02014FA8: ; 0x02014FA8 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, [r0, #0xc] + add r1, r1, #0x4 + str r1, [r0, #0xc] + add r0, r1, #0x0 + bl sub_02014F28 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x0] + cmp r0, #0x8 + blo _02014FC4 + bl sub_02020C2C +_02014FC4: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02014FC8 +sub_02014FC8: ; 0x02014FC8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02014FA8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02014FA8 + pop {r3-r5, pc} + + thumb_func_start sub_02014FDC +sub_02014FDC: ; 0x02014FDC + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02014FA8 + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x12 + bne _0201501C + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + add r1, r6, #0x0 + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02014F80 + add sp, #0x4 + pop {r3-r6, pc} +_0201501C: + cmp r0, #0x13 + bne _02015048 + add r1, sp, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + add r2, #0x1 + bl sub_02014FC8 + add r0, sp, #0x0 + ldrb r1, [r0, #0x2] + add sp, #0x4 + lsl r1, r1, #0x2 + add r1, r5, r1 + ldr r1, [r1, #0x24] + str r1, [r4, #0x0] + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [r6, #0x0] + pop {r3-r6, pc} +_02015048: + bl sub_02020C2C + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_02015050 +sub_02015050: ; 0x02015050 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02014FA8 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + bl sub_02014F94 + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + cmp r0, #0x12 + bne _02015082 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02014F80 + b _020150A2 +_02015082: + cmp r0, #0x13 + bne _0201509E + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x0] + b _020150A2 +_0201509E: + bl sub_02020C2C +_020150A2: + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x12 + bne _020150B6 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02014F80 + add sp, #0x4 + pop {r3-r6, pc} +_020150B6: + cmp r0, #0x13 + bne _020150D4 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [r6, #0x0] + pop {r3-r6, pc} +_020150D4: + bl sub_02020C2C + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_020150DC +sub_020150DC: ; 0x020150DC + push {r3-r7, lr} + sub sp, #0x8 + add r4, r2, #0x0 + add r2, sp, #0x0 + add r2, #0x3 + add r5, r0, #0x0 + add r6, r3, #0x0 + bl sub_02014FC8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x3] + add r1, sp, #0x0 + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r7, [r0, #0x24] + add r0, r5, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x14 + bne _02015112 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02014F80 + b _02015132 +_02015112: + cmp r0, #0x15 + bne _0201512E + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [r6, #0x0] + b _02015132 +_0201512E: + bl sub_02020C2C +_02015132: + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x14 + bne _0201514C + add r0, r5, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + b _0201516C +_0201514C: + cmp r0, #0x15 + bne _02015168 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0x4] + b _0201516C +_02015168: + bl sub_02020C2C +_0201516C: + ldr r0, [sp, #0x4] + add r0, r7, r0 + lsr r2, r0, #0x1f + lsl r1, r0, #0x10 + sub r1, r1, r2 + mov r0, #0x10 + ror r1, r0 + add r0, r2, r1 + str r0, [r4, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02015184 +sub_02015184: ; 0x02015184 + ldr r2, [r0, #0x0] + ldr r0, [r1, #0x0] + sub r0, r2, r0 + bpl _02015190 + mov r0, #0xf + bx lr +_02015190: + cmp r0, #0x0 + ble _02015198 + mov r0, #0x10 + bx lr +_02015198: + mov r0, #0x11 + bx lr + + thumb_func_start sub_0201519C +sub_0201519C: ; 0x0201519C + add r2, r0, #0x0 + ldr r0, [r2, #0x0] + ldr r2, [r2, #0x74] + mov r1, #0x1 + neg r3, r2 + asr r2, r3, #0x2 + lsr r2, r2, #0x1d + add r2, r3, r2 + ldr r3, _020151B4 ; =sub_020079E0 + asr r2, r2, #0x3 + bx r3 + nop +_020151B4: .word sub_020079E0 + 1 + + thumb_func_start sub_020151B8 +sub_020151B8: ; 0x020151B8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020151D0 + mov r0, #0x1 + str r0, [r4, #0x18] + str r0, [r4, #0x1c] + pop {r4, pc} + + thumb_func_start sub_020151C8 +sub_020151C8: ; 0x020151C8 + mov r1, #0x1 + str r1, [r0, #0x18] + bx lr + .balign 4 + + thumb_func_start sub_020151D0 +sub_020151D0: ; 0x020151D0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r4, #0x58] + mov r1, #0x0 + bl sub_02007558 + ldr r0, [r4, #0x0] + ldr r2, [r4, #0x5c] + mov r1, #0x1 + bl sub_02007558 + ldr r0, [r4, #0x0] + mov r1, #0x9 + mov r2, #0x0 + bl sub_02007558 + ldr r0, [r4, #0x0] + mov r1, #0xa + mov r2, #0x0 + bl sub_02007558 + mov r1, #0xc + add r2, r1, #0x0 + ldr r0, [r4, #0x0] + add r2, #0xf4 + bl sub_02007558 + mov r1, #0xd + add r2, r1, #0x0 + ldr r0, [r4, #0x0] + add r2, #0xf3 + bl sub_02007558 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02015218 +sub_02015218: ; 0x02015218 + push {r3-r4, lr} + sub sp, #0x4 + add r1, sp, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + add r4, r0, #0x0 + bl sub_02014FC8 + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + ldrb r0, [r0, #0x1] + lsl r1, r1, #0x2 + add r1, r4, r1 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x24] + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02015240 +sub_02015240: ; 0x02015240 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_02014FDC + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x4] + add r1, r1, r0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_02015264 +sub_02015264: ; 0x02015264 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_02014FDC + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x4] + add r2, r1, #0x0 + mul r2, r0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + str r2, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201528C +sub_0201528C: ; 0x0201528C + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_02015050 + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x4] + sub r1, r1, r0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_020152B0 +sub_020152B0: ; 0x020152B0 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_02015050 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + blx sub_020EBC80 + add r1, sp, #0x0 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x2 + add r1, r4, r1 + str r0, [r1, #0x24] + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_020152D8 +sub_020152D8: ; 0x020152D8 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_02015050 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + blx sub_020EBC80 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02015300 +sub_02015300: ; 0x02015300 + push {r3-r5, lr} + sub sp, #0x10 + add r1, sp, #0x0 + add r5, r0, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x14 + bne _02015334 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x3] + add r1, sp, #0x8 + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02014F80 + b _02015362 +_02015334: + cmp r0, #0x15 + bne _0201535E + add r1, sp, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3 + add r2, #0x2 + bl sub_02014FC8 + add r0, sp, #0x0 + ldrb r1, [r0, #0x3] + lsl r1, r1, #0x2 + add r1, r5, r1 + ldr r1, [r1, #0x24] + str r1, [sp, #0xc] + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0x8] + b _02015362 +_0201535E: + bl sub_02020C2C +_02015362: + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + cmp r0, #0x11 + bls _02015378 + bl sub_02020C2C +_02015378: + add r0, sp, #0xc + add r1, sp, #0x8 + bl sub_02015184 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x14 + bne _020153A6 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3 + bl sub_02014FA8 + add r0, r5, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + b _020153CA +_020153A6: + cmp r0, #0x15 + bne _020153C6 + add r1, sp, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3 + add r2, #0x2 + bl sub_02014FC8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0x4] + b _020153CA +_020153C6: + bl sub_02020C2C +_020153CA: + add r0, sp, #0x0 + ldrb r1, [r0, #0x1] + cmp r1, r4 + bne _020153DC + ldrb r0, [r0, #0x3] + ldr r1, [sp, #0x4] + lsl r0, r0, #0x2 + add r0, r5, r0 + str r1, [r0, #0x24] +_020153DC: + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_020153E0 +sub_020153E0: ; 0x020153E0 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r1, sp, #0x0 + bl sub_02014FA8 + ldr r0, [r4, #0xc] + add r0, r0, #0x4 + str r0, [r4, #0xc] + bl sub_02014F28 + add r1, sp, #0x0 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x2 + add r1, r4, r1 + str r0, [r1, #0x24] + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02015404 +sub_02015404: ; 0x02015404 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x50] + cmp r0, #0x0 + beq _02015412 + bl sub_02020C2C +_02015412: + ldr r0, [r4, #0xc] + add r0, r0, #0x4 + str r0, [r4, #0xc] + str r0, [r4, #0x50] + ldr r0, [r4, #0xc] + bl sub_02014F28 + str r0, [r4, #0x48] + mov r0, #0x0 + str r0, [r4, #0x4c] + pop {r4, pc} + + thumb_func_start sub_02015428 +sub_02015428: ; 0x02015428 + ldr r1, [r0, #0x4c] + add r2, r1, #0x1 + str r2, [r0, #0x4c] + ldr r1, [r0, #0x48] + cmp r2, r1 + blt _0201543E + mov r1, #0x0 + str r1, [r0, #0x50] + str r1, [r0, #0x4c] + str r1, [r0, #0x48] + bx lr +_0201543E: + ldr r1, [r0, #0x50] + str r1, [r0, #0xc] + bx lr + + thumb_func_start sub_02015444 +sub_02015444: ; 0x02015444 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02014FA8 + add r2, sp, #0x0 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x0] + ldr r1, [sp, #0x4] + lsl r2, r2, #0x2 + add r2, r4, r2 + ldr r2, [r2, #0x24] + bl sub_02007558 + add sp, #0x8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02015470 +sub_02015470: ; 0x02015470 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02014FA8 + add r2, sp, #0x0 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x0] + ldr r1, [sp, #0x4] + lsl r2, r2, #0x2 + add r2, r4, r2 + ldr r2, [r2, #0x24] + bl sub_020079E0 + add sp, #0x8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201549C +sub_0201549C: ; 0x0201549C + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x8 + add r4, r0, #0x0 + bl sub_02014F80 + add r1, sp, #0x0 + add r0, r4, #0x0 + add r1, #0x1 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + cmp r0, #0x14 + bne _020154C4 + add r0, r4, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + b _020154E4 +_020154C4: + cmp r0, #0x15 + bne _020154E0 + add r1, sp, #0x0 + add r0, r4, #0x0 + add r1, #0x2 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0x4] + b _020154E4 +_020154E0: + bl sub_02020C2C +_020154E4: + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x16 + bne _02015502 + ldr r0, [r4, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [sp, #0x4] + bl sub_02007558 + add sp, #0xc + pop {r3-r4, pc} +_02015502: + cmp r0, #0x17 + bne _02015514 + ldr r0, [r4, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [sp, #0x4] + bl sub_020079E0 + add sp, #0xc + pop {r3-r4, pc} +_02015514: + bl sub_02020C2C + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0201551C +sub_0201551C: ; 0x0201551C + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_020150DC + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x4] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _0201554C ; =0x020FFA38 + ldrsh r0, [r0, r1] + mul r0, r2 + asr r1, r0, #0xc + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + nop +_0201554C: .word 0x020FFA38 + + thumb_func_start sub_02015550 +sub_02015550: ; 0x02015550 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_020150DC + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x4] + asr r1, r1, #0x4 + lsl r1, r1, #0x1 + add r1, r1, #0x1 + lsl r2, r1, #0x1 + ldr r1, _02015584 ; =0x020FFA38 + ldrsh r1, [r1, r2] + mul r1, r0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + asr r1, r1, #0xc + lsl r0, r0, #0x2 + add r0, r4, r0 + str r1, [r0, #0x24] + add sp, #0xc + pop {r3-r4, pc} + nop +_02015584: .word 0x020FFA38 + + thumb_func_start sub_02015588 +sub_02015588: ; 0x02015588 + push {r3-r4, lr} + sub sp, #0x4 + add r1, sp, #0x0 + add r4, r0, #0x0 + add r1, #0x1 + bl sub_02014FA8 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + cmp r1, #0x8 + bne _020155B4 + ldrb r0, [r0, #0x1] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x60] + pop {r3-r4, pc} +_020155B4: + cmp r1, #0x9 + bne _020155C6 + ldrb r0, [r0, #0x1] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x64] + pop {r3-r4, pc} +_020155C6: + bl sub_02020C2C + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_020155D0 +sub_020155D0: ; 0x020155D0 + push {r3-r4, lr} + sub sp, #0x4 + add r1, sp, #0x0 + add r4, r0, #0x0 + add r1, #0x1 + bl sub_02014FA8 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + cmp r1, #0x8 + bne _02015600 + ldrb r0, [r0, #0x1] + ldr r1, [r4, #0x60] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + add r0, r1, r0 + str r0, [r4, #0x60] + pop {r3-r4, pc} +_02015600: + cmp r1, #0x9 + bne _02015616 + ldrb r0, [r0, #0x1] + ldr r1, [r4, #0x64] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + add r0, r1, r0 + str r0, [r4, #0x64] + pop {r3-r4, pc} +_02015616: + bl sub_02020C2C + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02015620 +sub_02015620: ; 0x02015620 + push {r3-r5, lr} + sub sp, #0x8 + add r1, sp, #0x0 + add r1, #0x3 + add r5, r0, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x3] + cmp r0, #0x8 + bne _0201563C + add r4, r5, #0x0 + add r4, #0x60 + b _0201567C +_0201563C: + cmp r0, #0x9 + bne _02015646 + add r4, r5, #0x0 + add r4, #0x64 + b _0201567C +_02015646: + cmp r0, #0xa + bne _02015650 + add r4, r5, #0x0 + add r4, #0x68 + b _0201567C +_02015650: + cmp r0, #0xb + bne _0201565A + add r4, r5, #0x0 + add r4, #0x6c + b _0201567C +_0201565A: + cmp r0, #0xc + bne _02015664 + add r4, r5, #0x0 + add r4, #0x70 + b _0201567C +_02015664: + cmp r0, #0xd + bne _0201566E + add r4, r5, #0x0 + add r4, #0x74 + b _0201567C +_0201566E: + cmp r0, #0xe + bne _02015678 + add r4, r5, #0x0 + add r4, #0x78 + b _0201567C +_02015678: + bl sub_02020C2C +_0201567C: + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + cmp r0, #0x14 + bne _02015698 + add r0, r5, #0x0 + add r1, sp, #0x4 + bl sub_02014F80 + b _020156B8 +_02015698: + cmp r0, #0x15 + bne _020156B4 + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + bl sub_02014FA8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x24] + str r0, [sp, #0x4] + b _020156B8 +_020156B4: + bl sub_02020C2C +_020156B8: + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02014F94 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x16 + bne _020156D0 + ldr r0, [sp, #0x4] + add sp, #0x8 + str r0, [r4, #0x0] + pop {r3-r5, pc} +_020156D0: + cmp r0, #0x17 + bne _020156E0 + ldr r0, [sp, #0x4] + ldr r1, [r4, #0x0] + add sp, #0x8 + add r0, r1, r0 + str r0, [r4, #0x0] + pop {r3-r5, pc} +_020156E0: + bl sub_02020C2C + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_020156E8 +sub_020156E8: ; 0x020156E8 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0x73 + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + cmp r0, #0x0 + ldr r0, [r4, #0x0] + beq _0201570A + ldr r3, [r4, #0x60] + ldr r2, [r4, #0x68] + ldr r5, [r4, #0x58] + add r2, r3, r2 + mov r1, #0x0 + sub r2, r5, r2 + bl sub_02007558 + b _0201571A +_0201570A: + ldr r3, [r4, #0x58] + ldr r2, [r4, #0x60] + ldr r5, [r4, #0x68] + add r2, r3, r2 + mov r1, #0x0 + add r2, r5, r2 + bl sub_02007558 +_0201571A: + ldr r3, [r4, #0x5c] + ldr r2, [r4, #0x64] + ldr r5, [r4, #0x6c] + add r2, r3, r2 + ldr r0, [r4, #0x0] + mov r1, #0x1 + add r2, r5, r2 + bl sub_02007558 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02015730 +sub_02015730: ; 0x02015730 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0xc + add r2, r1, #0x0 + ldr r3, [r4, #0x70] + add r2, #0xf4 + ldr r0, [r4, #0x0] + add r2, r3, r2 + bl sub_02007558 + mov r1, #0xd + add r2, r1, #0x0 + ldr r3, [r4, #0x74] + add r2, #0xf3 + ldr r0, [r4, #0x0] + add r2, r3, r2 + bl sub_02007558 + ldr r2, [r4, #0x78] + ldr r0, [r4, #0x0] + lsl r2, r2, #0x10 + mov r1, #0x9 + lsr r2, r2, #0x10 + bl sub_02007558 + ldr r0, _02015794 ; =0x000001CE + ldrb r0, [r4, r0] + cmp r0, #0x1b + bne _02015778 + ldr r0, [r4, #0x74] + cmp r0, #0x0 + bge _02015792 + add r0, r4, #0x0 + bl sub_0201519C + pop {r4, pc} +_02015778: + cmp r0, #0x1d + bne _0201578A + ldr r0, [r4, #0x74] + cmp r0, #0x0 + beq _02015792 + add r0, r4, #0x0 + bl sub_0201519C + pop {r4, pc} +_0201578A: + cmp r0, #0x1c + beq _02015792 + bl sub_02020C2C +_02015792: + pop {r4, pc} + .balign 4 +_02015794: .word 0x000001CE + + thumb_func_start sub_02015798 +sub_02015798: ; 0x02015798 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r1, sp, #0x0 + bl sub_02014FA8 + ldr r0, [r4, #0xc] + add r0, r0, #0x4 + str r0, [r4, #0xc] + bl sub_02014F28 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x8 + beq _020157BA + cmp r0, #0xa + bne _020157CA +_020157BA: + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x68] + pop {r3-r4, pc} +_020157CA: + cmp r0, #0x9 + beq _020157D2 + cmp r0, #0xb + bne _020157E2 +_020157D2: + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + add sp, #0x4 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x24] + str r0, [r4, #0x6c] + pop {r3-r4, pc} +_020157E2: + bl sub_02020C2C + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_020157EC +sub_020157EC: ; 0x020157EC + push {r4, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x54 + bl sub_02014F80 + mov r0, #0x1 + str r0, [r4, #0x18] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02015800 +sub_02015800: ; 0x02015800 + push {r3-r4, lr} + sub sp, #0xc + add r1, sp, #0x4 + add r1, #0x2 + add r4, r0, #0x0 + bl sub_02014F94 + add r1, sp, #0x4 + add r0, r4, #0x0 + add r1, #0x1 + bl sub_02014F94 + add r0, r4, #0x0 + add r1, sp, #0x4 + bl sub_02014F94 + add r0, r4, #0x0 + add r1, sp, #0x8 + bl sub_02014F80 + ldr r0, [sp, #0x8] + add r3, sp, #0x4 + str r0, [sp, #0x0] + ldrb r1, [r3, #0x2] + ldrb r2, [r3, #0x1] + ldrb r3, [r3, #0x0] + ldr r0, [r4, #0x0] + bl sub_02007E68 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02015840 +sub_02015840: ; 0x02015840 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02007F20 + cmp r0, #0x0 + beq _02015856 + ldr r0, _02015858 ; =0x000001CF + mov r1, #0x1 + strb r1, [r4, r0] + str r1, [r4, #0x18] +_02015856: + pop {r4, pc} + .balign 4 +_02015858: .word 0x000001CF + + thumb_func_start sub_0201585C +sub_0201585C: ; 0x0201585C + ldr r1, _02015864 ; =0x000001CD + mov r2, #0x1 + strb r2, [r0, r1] + bx lr + .balign 4 +_02015864: .word 0x000001CD + + thumb_func_start sub_02015868 +sub_02015868: ; 0x02015868 + push {r4, lr} + ldr r1, _0201589C ; =0x000001CE + add r4, r0, #0x0 + add r1, r4, r1 + bl sub_02014F94 + ldr r0, _0201589C ; =0x000001CE + mov r1, #0x1 + ldrb r0, [r4, r0] + add r2, r1, #0x0 + cmp r0, #0x1b + beq _02015886 + cmp r0, #0x1d + beq _02015886 + mov r2, #0x0 +_02015886: + cmp r2, #0x0 + bne _02015890 + cmp r0, #0x1c + beq _02015890 + mov r1, #0x0 +_02015890: + cmp r1, #0x0 + bne _02015898 + bl sub_02020C2C +_02015898: + pop {r4, pc} + nop +_0201589C: .word 0x000001CE + + thumb_func_start sub_020158A0 +sub_020158A0: ; 0x020158A0 + ldr r3, _020158A8 ; =sub_0201598C + mov r1, #0x0 + bx r3 + nop +_020158A8: .word sub_0201598C + 1 + + thumb_func_start sub_020158AC +sub_020158AC: ; 0x020158AC + ldr r3, _020158B4 ; =sub_0201598C + mov r1, #0x1 + bx r3 + nop +_020158B4: .word sub_0201598C + 1 + + thumb_func_start sub_020158B8 +sub_020158B8: ; 0x020158B8 + ldr r3, _020158C0 ; =sub_0201598C + mov r1, #0x2 + bx r3 + nop +_020158C0: .word sub_0201598C + 1 + + thumb_func_start sub_020158C4 +sub_020158C4: ; 0x020158C4 + ldr r3, _020158CC ; =sub_0201598C + mov r1, #0x3 + bx r3 + nop +_020158CC: .word sub_0201598C + 1 + + thumb_func_start sub_020158D0 +sub_020158D0: ; 0x020158D0 + ldr r3, _020158D8 ; =sub_0201598C + mov r1, #0x4 + bx r3 + nop +_020158D8: .word sub_0201598C + 1 + + thumb_func_start sub_020158DC +sub_020158DC: ; 0x020158DC + push {r3, lr} + cmp r0, #0x18 + bne _020158E8 + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + pop {r3, pc} +_020158E8: + cmp r0, #0x19 + bne _020158F6 + ldr r1, [r1, #0x0] + ldr r0, [r2, #0x0] + add r0, r1, r0 + str r0, [r3, #0x0] + pop {r3, pc} +_020158F6: + cmp r0, #0x1a + bne _02015904 + ldr r1, [r3, #0x0] + ldr r0, [r2, #0x0] + add r0, r1, r0 + str r0, [r3, #0x0] + pop {r3, pc} +_02015904: + bl sub_02020C2C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201590C +sub_0201590C: ; 0x0201590C + push {r3, lr} + sub r0, #0x23 + cmp r0, #0x4 + bhi _02015984 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r2, r3, #0 + lsl r4, r5, #0 + lsl r6, r7, #0 + lsl r0, r2, #0x1 + add r0, r1, #0x0 + add r0, #0x3c + str r0, [r1, #0x24] + add r0, r2, #0x0 + add r0, #0x68 + str r0, [r1, #0x28] + ldr r0, [r2, #0x68] + str r0, [r1, #0x30] + pop {r3, pc} +_0201593C: + .byte 0x08, 0x1C, 0x40, 0x30 + .byte 0x48, 0x62, 0x10, 0x1C, 0x6C, 0x30, 0x88, 0x62, 0xD0, 0x6E, 0x08, 0x63, 0x08, 0xBD, 0x08, 0x1C + .byte 0x44, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x70, 0x30, 0x88, 0x62, 0x10, 0x6F, 0x08, 0x63, 0x08, 0xBD + .byte 0x08, 0x1C, 0x48, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x74, 0x30, 0x88, 0x62, 0x50, 0x6F, 0x08, 0x63 + .byte 0x08, 0xBD, 0x08, 0x1C, 0x4C, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x78, 0x30, 0x88, 0x62, 0x90, 0x6F + .byte 0x08, 0x63, 0x08, 0xBD +_02015984: + bl sub_02020C2C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201598C +sub_0201598C: ; 0x0201598C + push {r3-r7, lr} + sub sp, #0x8 + add r6, r1, #0x0 + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + add r5, r0, #0x0 + bl sub_02014F34 + str r0, [sp, #0x4] + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + add r1, #0x2c + bl sub_02014F94 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + add r1, #0x2d + bl sub_02014F94 + mov r0, #0xc + mul r0, r6 + ldr r1, _02015A28 ; =0x020ED66C + str r0, [sp, #0x0] + ldr r0, [r1, r0] + mov r4, #0x0 + cmp r0, #0x0 + ble _020159E2 + ldr r1, _02015A2C ; =0x020ED668 + ldr r0, [sp, #0x0] + add r6, r1, r0 + ldr r0, [sp, #0x4] + add r7, r0, #0x4 +_020159CC: + lsl r1, r4, #0x2 + add r0, r5, #0x0 + add r1, r7, r1 + bl sub_02014F80 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [r6, #0x4] + cmp r4, r0 + blt _020159CC +_020159E2: + ldr r1, _02015A30 ; =0x020ED670 + ldr r0, [sp, #0x0] + add r2, r5, #0x0 + ldr r0, [r1, r0] + lsl r1, r0, #0x2 + ldr r0, [sp, #0x4] + add r0, r0, r1 + ldr r0, [r0, #0x4] + ldr r1, [sp, #0x4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0201590C + ldr r0, [sp, #0x4] + add r0, #0x2d + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02015A14 + ldr r0, [sp, #0x4] + add r1, r5, #0x0 + add r2, r0, #0x0 + ldr r2, [r2, #0x50] + blx r2 + add sp, #0x8 + pop {r3-r7, pc} +_02015A14: + ldr r0, [sp, #0x4] + add r0, #0x2d + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + ldr r0, [sp, #0x4] + add r0, #0x2d + str r0, [sp, #0x4] + strb r1, [r0, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02015A28: .word 0x020ED66C +_02015A2C: .word 0x020ED668 +_02015A30: .word 0x020ED670 + + thumb_func_start sub_02015A34 +sub_02015A34: ; 0x02015A34 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r1, [r4, #0x10] + add r0, r0, #0x1 + ldr r2, [r4, #0x14] + mul r0, r1 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, [r4, #0x4] + sub r0, #0x1e + cmp r0, #0x3 + bhi _02015AC0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r3, #0 + lsl r2, r6, #0 + lsl r0, r1, #0x1 + asr r0, r1, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02015AE8 ; =0x020FFA38 + ldr r2, [r4, #0xc] + ldrsh r0, [r0, r1] + mul r0, r2 + asr r1, r0, #0xc + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015AC4 +_02015A78: + .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00 + .byte 0x19, 0x49, 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0 + .byte 0x08, 0x11, 0x81, 0x00, 0x14, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42 + .byte 0x60, 0x6A, 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49 + .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 +_02015AC0: + bl sub_02020C2C +_02015AC4: + add r0, r4, #0x0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + add r1, r4, #0x0 + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + add r1, #0x30 + bl sub_020158DC + ldr r0, [r4, #0x1c] + add r1, r0, #0x1 + str r1, [r4, #0x1c] + ldr r0, [r4, #0x18] + cmp r1, r0 + blt _02015AE6 + mov r0, #0x0 + str r0, [r4, #0x0] +_02015AE6: + pop {r4, pc} + .balign 4 +_02015AE8: .word 0x020FFA38 + + thumb_func_start sub_02015AEC +sub_02015AEC: ; 0x02015AEC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r1, [r4, #0x10] + add r0, r0, #0x1 + mul r0, r1 + ldr r1, [r4, #0x18] + blx sub_020EBC80 + ldr r1, [r4, #0x14] + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, [r4, #0x4] + sub r0, #0x1e + cmp r0, #0x3 + bhi _02015B7E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r3, #0 + lsl r2, r6, #0 + lsl r0, r1, #0x1 + asr r0, r1, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02015BA8 ; =0x020FFA38 + ldr r2, [r4, #0xc] + ldrsh r0, [r0, r1] + mul r0, r2 + asr r1, r0, #0xc + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015B82 +_02015B36: + .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x1A, 0x49 + .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0, 0x08, 0x11 + .byte 0x81, 0x00, 0x15, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42, 0x60, 0x6A + .byte 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49, 0xE0, 0x68 + .byte 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 +_02015B7E: + bl sub_02020C2C +_02015B82: + add r0, r4, #0x0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + add r1, r4, #0x0 + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + add r1, #0x30 + bl sub_020158DC + ldr r0, [r4, #0x1c] + add r1, r0, #0x1 + str r1, [r4, #0x1c] + ldr r0, [r4, #0x18] + cmp r1, r0 + blt _02015BA4 + mov r0, #0x0 + str r0, [r4, #0x0] +_02015BA4: + pop {r4, pc} + nop +_02015BA8: .word 0x020FFA38 + + thumb_func_start sub_02015BAC +sub_02015BAC: ; 0x02015BAC + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x24] + ldr r3, [r4, #0xc] + ldr r2, [r4, #0x14] + ldr r5, [r4, #0x8] + mul r2, r3 + ldr r0, [r1, #0x0] + add r2, r5, r2 + add r0, r0, r2 + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x2c + add r1, r4, #0x0 + ldrb r0, [r0, #0x0] + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + add r1, #0x30 + bl sub_020158DC + ldr r0, [r4, #0x14] + add r1, r0, #0x1 + str r1, [r4, #0x14] + ldr r0, [r4, #0x10] + cmp r1, r0 + blt _02015BE4 + mov r0, #0x0 + str r0, [r4, #0x0] +_02015BE4: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02015BE8 +sub_02015BE8: ; 0x02015BE8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + add r1, r0, #0x1 + ldr r0, [r4, #0x8] + mul r0, r1 + ldr r1, [r4, #0xc] + blx sub_020EBC80 + ldr r1, [r4, #0x24] + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x2c + add r1, r4, #0x0 + ldrb r0, [r0, #0x0] + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + add r1, #0x30 + bl sub_020158DC + ldr r0, [r4, #0x10] + add r1, r0, #0x1 + str r1, [r4, #0x10] + ldr r0, [r4, #0xc] + cmp r1, r0 + blt _02015C20 + mov r0, #0x0 + str r0, [r4, #0x0] +_02015C20: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02015C24 +sub_02015C24: ; 0x02015C24 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + ldr r0, [r4, #0x14] + ldr r2, [r4, #0x8] + mul r0, r1 + ldr r1, [r4, #0x24] + add r2, r2, r0 + ldr r0, [r1, #0x0] + add r0, r0, r2 + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + cmp r0, #0x18 + beq _02015C48 + cmp r0, #0x1a + bne _02015C6E +_02015C48: + cmp r2, #0x0 + ldr r2, [r4, #0x10] + bge _02015C5E + ldr r1, [r4, #0x24] + ldr r0, [r1, #0x0] + cmp r0, r2 + bgt _02015CA4 + str r2, [r1, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02015CA4 +_02015C5E: + ldr r1, [r4, #0x24] + ldr r0, [r1, #0x0] + cmp r0, r2 + blt _02015CA4 + str r2, [r1, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02015CA4 +_02015C6E: + cmp r0, #0x19 + bne _02015CA0 + ldr r1, [r4, #0x24] + ldr r3, [r4, #0x30] + ldr r0, [r1, #0x0] + add r3, r3, r0 + cmp r2, #0x0 + ldr r2, [r4, #0x10] + bge _02015C90 + cmp r3, r2 + bgt _02015CA4 + sub r2, r2, r3 + add r0, r0, r2 + str r0, [r1, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02015CA4 +_02015C90: + cmp r3, r2 + blt _02015CA4 + sub r2, r3, r2 + sub r0, r0, r2 + str r0, [r1, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02015CA4 +_02015CA0: + bl sub_02020C2C +_02015CA4: + add r0, r4, #0x0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + add r1, r4, #0x0 + ldr r2, [r4, #0x24] + ldr r3, [r4, #0x28] + add r1, #0x30 + bl sub_020158DC + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02015CC0 +sub_02015CC0: ; 0x02015CC0 + ldr r3, _02015CDC ; =0x020ED72C + mov r2, #0x0 +_02015CC4: + ldrh r1, [r3, #0x2] + cmp r0, r1 + bhs _02015CCE + add r0, r2, #0x0 + bx lr +_02015CCE: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0x2 + blt _02015CC4 + add r0, r2, #0x0 + bx lr + nop +_02015CDC: .word 0x020ED72C + + thumb_func_start sub_02015CE0 +sub_02015CE0: ; 0x02015CE0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02015CC0 + lsl r1, r0, #0x1 + ldr r0, _02015CF4 ; =0x020ED72C + ldrh r0, [r0, r1] + sub r0, r4, r0 + pop {r4, pc} + nop +_02015CF4: .word 0x020ED72C + + thumb_func_start sub_02015CF8 +sub_02015CF8: ; 0x02015CF8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x3 + blt _02015D06 + bl sub_02020C2C +_02015D06: + ldr r0, _02015D10 ; =0x020ED72C + lsl r1, r5, #0x1 + ldrh r0, [r0, r1] + add r0, r4, r0 + pop {r3-r5, pc} + .balign 4 +_02015D10: .word 0x020ED72C + + thumb_func_start sub_02015D14 +sub_02015D14: ; 0x02015D14 + cmp r0, #0x7 + bhi _02015D34 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + lsl r0, r3, #0 + lsl r2, r2, #0 + lsl r4, r3, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 +_02015D34: + mov r0, #0xea + bx lr + + thumb_func_start sub_02015D38 +sub_02015D38: ; 0x02015D38 + mov r0, #0x6d + lsl r0, r0, #0x2 + bx lr + + non_word_aligned_thumb_func_start sub_02015D3E +sub_02015D3E: ; 0x02015D3E + ldr r0, _02015D48 ; =0x000001B7 + bx lr + + non_word_aligned_thumb_func_start sub_02015D42 +sub_02015D42: ; 0x02015D42 + ldr r0, _02015D4C ; =0x000001B6 + bx lr + nop +_02015D48: .word 0x000001B7 +_02015D4C: .word 0x000001B6 + + thumb_func_start sub_02015D50 +sub_02015D50: ; 0x02015D50 + cmp r0, #0x7 + bhi _02015D70 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r2, #0 + lsl r4, r3, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 +_02015D70: + mov r0, #0xeb + bx lr + + thumb_func_start sub_02015D74 +sub_02015D74: ; 0x02015D74 + ldr r0, _02015D84 ; =0x000001B5 + bx lr + + thumb_func_start sub_02015D78 +sub_02015D78: ; 0x02015D78 + mov r0, #0x6e + lsl r0, r0, #0x2 + bx lr + + non_word_aligned_thumb_func_start sub_02015D7E +sub_02015D7E: ; 0x02015D7E + mov r0, #0x6d + lsl r0, r0, #0x2 + bx lr + .balign 4 +_02015D84: .word 0x000001B5 + + thumb_func_start sub_02015D88 +sub_02015D88: ; 0x02015D88 + push {r3-r7, lr} + sub sp, #0x10 + add r6, r3, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + str r2, [sp, #0x8] + cmp r6, #0x1 + beq _02015D9C + mov r2, #0x1 + b _02015D9E +_02015D9C: + mov r2, #0x0 +_02015D9E: + ldr r0, [sp, #0x8] + mov r4, #0x0 + sub r0, r0, #0x1 + str r0, [sp, #0xc] + beq _02015E18 + ldr r1, _02015E28 ; =0x020ED734 + lsl r0, r2, #0x1 + ldr r5, [sp, #0x4] + add r7, r1, r0 +_02015DB0: + ldr r0, [sp, #0x0] + ldrb r0, [r0, r4] + cmp r0, #0xff + beq _02015E18 + cmp r0, #0xf7 + blo _02015DEA + ldr r0, [sp, #0x8] + sub r3, r0, #0x1 + cmp r3, #0xa + blo _02015DC6 + mov r3, #0xa +_02015DC6: + mov r1, #0x0 + cmp r3, #0x0 + ble _02015DDC + mov r0, #0x6b + ldr r2, [sp, #0x4] + lsl r0, r0, #0x2 +_02015DD2: + add r1, r1, #0x1 + strh r0, [r2, #0x0] + add r2, r2, #0x2 + cmp r1, r3 + blt _02015DD2 +_02015DDC: + ldr r0, [sp, #0x4] + ldr r2, _02015E2C ; =0x0000FFFF + lsl r1, r1, #0x1 + strh r2, [r0, r1] + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_02015DEA: + lsl r0, r0, #0x2 + ldrh r0, [r7, r0] + cmp r0, #0xea + beq _02015DF8 + cmp r0, #0xeb + beq _02015E02 + b _02015E0C +_02015DF8: + add r0, r6, #0x0 + bl sub_02015D14 + strh r0, [r5, #0x0] + b _02015E0E +_02015E02: + add r0, r6, #0x0 + bl sub_02015D50 + strh r0, [r5, #0x0] + b _02015E0E +_02015E0C: + strh r0, [r5, #0x0] +_02015E0E: + ldr r0, [sp, #0xc] + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, r0 + blo _02015DB0 +_02015E18: + ldr r2, _02015E2C ; =0x0000FFFF + ldr r0, [sp, #0x4] + lsl r1, r4, #0x1 + strh r2, [r0, r1] + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + nop +_02015E28: .word 0x020ED734 +_02015E2C: .word 0x0000FFFF + + thumb_func_start sub_02015E30 +sub_02015E30: ; 0x02015E30 + ldr r0, _02015E38 ; =0x021C4898 + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 +_02015E38: .word 0x021C4898 + + thumb_func_start sub_02015E3C +sub_02015E3C: ; 0x02015E3C + push {r3, lr} + ldr r1, _02015E5C ; =0x021C4898 + mov r2, #0x1 + str r2, [r1, #0x0] + mov r2, #0x0 + str r2, [r1, #0x10] + str r2, [r1, #0x14] + str r2, [r1, #0x8] + str r2, [r1, #0xc] + str r0, [r1, #0x4] + bl sub_02020BF4 + ldr r2, _02015E5C ; =0x021C4898 + str r0, [r2, #0x18] + str r1, [r2, #0x1c] + pop {r3, pc} + .balign 4 +_02015E5C: .word 0x021C4898 + + thumb_func_start sub_02015E60 +sub_02015E60: ; 0x02015E60 + push {r3-r5, lr} + ldr r0, _02015E9C ; =0x021C4898 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02015E9A + bl sub_02020BF4 + ldr r2, _02015E9C ; =0x021C4898 + ldr r3, [r2, #0x18] + ldr r2, [r2, #0x1c] + sub r0, r0, r3 + sbc r1, r2 + bl sub_02020C14 + add r5, r1, #0x0 + ldr r1, _02015E9C ; =0x021C4898 + add r4, r0, #0x0 + ldr r3, [r1, #0x8] + ldr r2, [r1, #0xc] + sub r0, r3, r4 + sbc r2, r5 + bhs _02015E9A + ldr r0, [r1, #0x4] + sub r1, r4, r3 + bl sub_02029E54 + ldr r0, _02015E9C ; =0x021C4898 + str r4, [r0, #0x8] + str r5, [r0, #0xc] +_02015E9A: + pop {r3-r5, pc} + .balign 4 +_02015E9C: .word 0x021C4898 + + thumb_func_start sub_02015EA0 +sub_02015EA0: ; 0x02015EA0 + push {r3, lr} + ldr r3, _02015EC8 ; =0x027E0000 + ldr r1, _02015ECC ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + mov r0, #0x3 + blx sub_020CDA1C + ldr r0, _02015ED0 ; =0x021C48B8 + ldr r0, [r0, #0x1c] + bl sub_0201B5CC + ldr r0, _02015ED0 ; =0x021C48B8 + ldr r1, [r0, #0x30] + add r1, r1, #0x1 + str r1, [r0, #0x30] + pop {r3, pc} + nop +_02015EC8: .word 0x027E0000 +_02015ECC: .word 0x00003FF8 +_02015ED0: .word 0x021C48B8 + + thumb_func_start sub_02015ED4 +sub_02015ED4: ; 0x02015ED4 + ldr r3, _02015EE8 ; =0x027E0000 + ldr r1, _02015EEC ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + ldr r3, _02015EF0 ; =sub_020CDA1C + mov r0, #0x3 + bx r3 + nop +_02015EE8: .word 0x027E0000 +_02015EEC: .word 0x00003FF8 +_02015EF0: .word sub_020CDA1C + + thumb_func_start sub_02015EF4 +sub_02015EF4: ; 0x02015EF4 + push {r3, lr} + mov r0, #0x1 + blx sub_020C9E14 + ldr r1, _02015F0C ; =sub_02015ED4 + mov r0, #0x1 + blx sub_020C9FEC + mov r0, #0x1 + blx sub_020C9E5C + pop {r3, pc} + .balign 4 +_02015F0C: .word sub_02015ED4 + 1 + + thumb_func_start sub_02015F10 +sub_02015F10: ; 0x02015F10 + ldr r2, _02015F18 ; =0x021C48B8 + str r0, [r2, #0x0] + str r1, [r2, #0x4] + bx lr + .balign 4 +_02015F18: .word 0x021C48B8 + + thumb_func_start sub_02015F1C +sub_02015F1C: ; 0x02015F1C + push {r3, lr} + mov r0, #0x0 + bl sub_02015F80 + ldr r0, _02015F30 ; =0x021C48B8 + mov r1, #0x0 + str r1, [r0, #0x8] + str r1, [r0, #0xc] + pop {r3, pc} + nop +_02015F30: .word 0x021C48B8 + + thumb_func_start sub_02015F34 +sub_02015F34: ; 0x02015F34 + push {r3, lr} + cmp r0, #0x0 + bne _02015F4C + mov r0, #0x0 + bl sub_02015F80 + ldr r0, _02015F68 ; =0x021C48B8 + mov r1, #0x0 + str r1, [r0, #0x8] + str r1, [r0, #0xc] + mov r0, #0x1 + pop {r3, pc} +_02015F4C: + ldr r2, _02015F68 ; =0x021C48B8 + ldr r3, [r2, #0x8] + cmp r3, #0x0 + bne _02015F62 + str r1, [r2, #0xc] + str r0, [r2, #0x8] + mov r0, #0x1 + bl sub_02015F80 + mov r0, #0x1 + pop {r3, pc} +_02015F62: + mov r0, #0x0 + pop {r3, pc} + nop +_02015F68: .word 0x021C48B8 + + thumb_func_start sub_02015F6C +sub_02015F6C: ; 0x02015F6C + push {r3, lr} + ldr r0, _02015F7C ; =0x021C48B8 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _02015F7A + ldr r0, [r0, #0xc] + blx r1 +_02015F7A: + pop {r3, pc} + .balign 4 +_02015F7C: .word 0x021C48B8 + + thumb_func_start sub_02015F80 +sub_02015F80: ; 0x02015F80 + push {r3, lr} + ldr r2, _02015FC0 ; =0x04000208 + ldrh r1, [r2, #0x0] + mov r1, #0x0 + strh r1, [r2, #0x0] + cmp r0, #0x0 + bne _02015F9E + ldr r0, [r2, #0x8] + mov r0, #0x2 + blx sub_020C9E14 + mov r0, #0x0 + blx sub_020C5AF8 + b _02015FB4 +_02015F9E: + ldr r0, [r2, #0x8] + ldr r1, _02015FC4 ; =sub_02015F6C + mov r0, #0x2 + blx sub_020C9FEC + mov r0, #0x2 + blx sub_020C9E5C + mov r0, #0x1 + blx sub_020C5AF8 +_02015FB4: + ldr r1, _02015FC0 ; =0x04000208 + ldrh r0, [r1, #0x0] + mov r0, #0x1 + strh r0, [r1, #0x0] + pop {r3, pc} + nop +_02015FC0: .word 0x04000208 +_02015FC4: .word sub_02015F6C + 1 + + thumb_func_start sub_02015FC8 +sub_02015FC8: ; 0x02015FC8 + push {r3, lr} + sub sp, #0x30 + add r0, sp, #0x10 + blx sub_020CD754 + add r0, sp, #0x0 + add r1, sp, #0x10 + mov r2, #0x20 + blx sub_020DDCE4 + mov r3, #0x0 + add r1, r3, #0x0 + add r2, sp, #0x0 +_02015FE2: + ldrb r0, [r2, #0x0] + add r1, r1, #0x1 + add r2, r2, #0x1 + add r3, r3, r0 + cmp r1, #0x10 + blo _02015FE2 + lsl r0, r3, #0x18 + lsr r3, r0, #0x18 + mov r0, #0x3 + tst r0, r3 + beq _02016002 + mov r0, #0x3 +_02015FFA: + add r3, r3, #0x1 + add r1, r3, #0x0 + tst r1, r0 + bne _02015FFA +_02016002: + ldr r0, _02016010 ; =0x020EDB10 + mov r1, #0x4 + mov r2, #0x5c + bl sub_020166C8 + add sp, #0x30 + pop {r3, pc} + .balign 4 +_02016010: .word 0x020EDB10 + + thumb_func_start sub_02016014 +sub_02016014: ; 0x02016014 + push {r3-r5, lr} + blx sub_020CC1B4 + blx sub_020C5974 + ldr r2, _02016124 ; =0x04000304 + ldr r0, _02016128 ; =0xFFFFFDF1 + ldrh r1, [r2, #0x0] + and r1, r0 + ldr r0, _0201612C ; =0x0000020E + orr r0, r1 + strh r0, [r2, #0x0] + blx sub_020C5B28 + blx sub_020CCD64 + bl sub_02015FC8 + mov r0, #0xa0 + bl sub_0201B578 + add r1, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CC26C + add r1, r0, #0x0 + mov r0, #0xa0 + bl sub_0201B580 + ldr r1, _02016130 ; =0x021C48B8 + str r0, [r1, #0x18] + mov r0, #0x10 + bl sub_0201B578 + add r1, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CC26C + add r1, r0, #0x0 + mov r0, #0x10 + bl sub_0201B580 + ldr r1, _02016130 ; =0x021C48B8 + str r0, [r1, #0x1c] + mov r0, #0x20 + bl sub_0201B578 + add r1, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CC26C + add r1, r0, #0x0 + mov r0, #0x20 + bl sub_0201B580 + ldr r1, _02016130 ; =0x021C48B8 + str r0, [r1, #0x20] + mov r0, #0x4 + bl sub_0201B578 + add r1, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CC26C + add r1, r0, #0x0 + mov r0, #0x4 + bl sub_0201B580 + ldr r1, _02016130 ; =0x021C48B8 + str r0, [r1, #0x24] + blx sub_020C5A80 + ldr r2, _02016134 ; =0x04001000 + ldr r0, _02016138 ; =0xFFFEFFFF + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + ldr r2, _02016124 ; =0x04000304 + ldrh r1, [r2, #0x0] + lsr r0, r2, #0xb + orr r0, r1 + strh r0, [r2, #0x0] + ldr r1, _0201613C ; =sub_02015EA0 + mov r0, #0x1 + blx sub_020C9FEC + mov r0, #0x1 + blx sub_020C9E5C + mov r0, #0x1 + lsl r0, r0, #0x12 + blx sub_020C9E5C + ldr r1, _02016140 ; =0x04000208 + ldrh r0, [r1, #0x0] + mov r0, #0x1 + strh r0, [r1, #0x0] + blx sub_020C5AC8 + mov r0, #0x1 + blx sub_020D1CD4 + bl sub_02022450 + mov r0, #0x0 + add r1, r0, #0x0 + blx sub_020D1D10 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x4 + blx sub_020CC26C + add r5, r0, #0x0 + bne _02016108 + bl sub_02020C2C +_02016108: + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020D1D10 + ldr r0, _02016130 ; =0x021C48B8 + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x8] + str r1, [r0, #0x10] + str r1, [r0, #0x14] + str r1, [r0, #0x2c] + ldr r0, _02016144 ; =0x021C4918 + strb r1, [r0, #0x5] + pop {r3-r5, pc} + .balign 4 +_02016124: .word 0x04000304 +_02016128: .word 0xFFFFFDF1 +_0201612C: .word 0x0000020E +_02016130: .word 0x021C48B8 +_02016134: .word 0x04001000 +_02016138: .word 0xFFFEFFFF +_0201613C: .word sub_02015EA0 + 1 +_02016140: .word 0x04000208 +_02016144: .word 0x021C4918 + + thumb_func_start sub_02016148 +sub_02016148: ; 0x02016148 + push {r3, lr} + ldr r0, _02016198 ; =0x000001FF + blx sub_020C63A8 + mov r1, #0x1a + mov r2, #0x29 + mov r0, #0x0 + lsl r1, r1, #0x16 + lsl r2, r2, #0xe + blx sub_020CE240 + blx sub_020C5E54 + mov r1, #0x7 + mov r2, #0x1 + mov r0, #0xc0 + lsl r1, r1, #0x18 + lsl r2, r2, #0xa + blx sub_020CE240 + mov r2, #0x1 + ldr r1, _0201619C ; =0x07000400 + mov r0, #0xc0 + lsl r2, r2, #0xa + blx sub_020CE240 + mov r1, #0x5 + mov r2, #0x1 + mov r0, #0x0 + lsl r1, r1, #0x18 + lsl r2, r2, #0xa + blx sub_020CE240 + mov r2, #0x1 + ldr r1, _020161A0 ; =0x05000400 + mov r0, #0x0 + lsl r2, r2, #0xa + blx sub_020CE240 + pop {r3, pc} + .balign 4 +_02016198: .word 0x000001FF +_0201619C: .word 0x07000400 +_020161A0: .word 0x05000400 + + thumb_func_start sub_020161A4 +sub_020161A4: ; 0x020161A4 + push {r4-r6, lr} + sub sp, #0x48 + add r6, r0, #0x0 + add r4, r1, #0x0 + add r0, sp, #0x0 + blx sub_020D1C94 + add r0, sp, #0x0 + add r1, r4, #0x0 + blx sub_020D1944 + cmp r0, #0x0 + beq _020161F0 + ldr r1, [sp, #0x28] + ldr r0, [sp, #0x24] + sub r5, r1, r0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + beq _020161E8 + add r0, sp, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + blx sub_020D180C + cmp r5, r0 + beq _020161E8 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02016A8C + mov r4, #0x0 +_020161E8: + add r0, sp, #0x0 + blx sub_020D18FC + b _020161F2 +_020161F0: + mov r4, #0x0 +_020161F2: + add r0, r4, #0x0 + add sp, #0x48 + pop {r4-r6, pc} + + thumb_func_start sub_020161F8 +sub_020161F8: ; 0x020161F8 + push {r3-r5, lr} + sub sp, #0x48 + add r5, r0, #0x0 + add r0, sp, #0x0 + add r4, r1, #0x0 + blx sub_020D1C94 + add r0, sp, #0x0 + add r1, r5, #0x0 + blx sub_020D1944 + cmp r0, #0x0 + beq _0201622A + ldr r1, [sp, #0x28] + ldr r0, [sp, #0x24] + sub r2, r1, r0 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02016224 + add r0, sp, #0x0 + blx sub_020D180C +_02016224: + add r0, sp, #0x0 + blx sub_020D18FC +_0201622A: + add sp, #0x48 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02016230 +sub_02016230: ; 0x02016230 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + blx sub_020E2EAC + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + lsr r2, r3, #0x1f + lsl r1, r3, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + beq _02016258 + lsr r0, r3, #0x2 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + b _0201625E +_02016258: + lsl r0, r3, #0xe + lsr r0, r0, #0x10 + str r0, [sp, #0x4] +_0201625E: + ldr r0, [sp, #0x4] + mov r7, #0x0 + mov r12, r7 + cmp r0, #0x0 + ble _0201629A + add r6, r7, #0x0 + add r4, r7, #0x0 +_0201626C: + ldr r2, [sp, #0x0] + mov r1, #0x0 + add r0, r1, #0x0 + add r2, r2, r6 + add r3, r1, #0x0 +_02016276: + ldrsb r5, [r2, r4] + cmp r5, #0x0 + beq _0201628A + lsl r5, r3 + add r0, r0, #0x1 + orr r1, r5 + add r2, r2, #0x1 + add r3, #0x8 + cmp r0, #0x4 + blt _02016276 +_0201628A: + mov r0, r12 + eor r7, r1 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + add r6, r6, #0x4 + mov r12, r1 + cmp r1, r0 + blt _0201626C +_0201629A: + add r0, r7, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_020162A0 +sub_020162A0: ; 0x020162A0 + ldr r3, _020162C4 ; =0x021C4928 + mov r2, #0x0 +_020162A4: + ldr r1, [r3, #0x4] + cmp r0, r1 + bne _020162B4 + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _020162B4 + add r0, r2, #0x0 + bx lr +_020162B4: + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, #0x80 + blt _020162A4 + mov r0, #0x0 + mvn r0, r0 + bx lr + nop +_020162C4: .word 0x021C4928 + + thumb_func_start sub_020162C8 +sub_020162C8: ; 0x020162C8 + push {r3-r4} + ldr r3, _020162F4 ; =0x021C4928 + mov r4, #0x0 +_020162CE: + ldr r2, [r3, #0x0] + cmp r2, #0x0 + bne _020162E4 + ldr r2, _020162F4 ; =0x021C4928 + lsl r3, r4, #0x3 + str r0, [r2, r3] + ldr r0, _020162F8 ; =0x021C492C + str r1, [r0, r3] + add r0, r4, #0x0 + pop {r3-r4} + bx lr +_020162E4: + add r4, r4, #0x1 + add r3, #0x8 + cmp r4, #0x80 + blt _020162CE + mov r0, #0x0 + mvn r0, r0 + pop {r3-r4} + bx lr + .balign 4 +_020162F4: .word 0x021C4928 +_020162F8: .word 0x021C492C + + thumb_func_start sub_020162FC +sub_020162FC: ; 0x020162FC + push {r3-r7, lr} + mov r6, #0x0 + ldr r5, _02016320 ; =0x021C4D20 + mov r4, #0x7f + sub r7, r6, #0x1 +_02016306: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02016314 + bl sub_02016A18 + str r6, [r5, #0x0] + str r6, [r5, #0x4] +_02016314: + sub r4, r4, #0x1 + sub r5, #0x8 + cmp r4, r7 + bgt _02016306 + pop {r3-r7, pc} + nop +_02016320: .word 0x021C4D20 + + thumb_func_start sub_02016324 +sub_02016324: ; 0x02016324 + push {r3-r7, lr} + sub sp, #0x68 + add r2, r0, #0x0 + mov r5, #0x0 + ldrsb r0, [r2, r5] + add r4, r1, #0x0 + cmp r0, #0x21 + add r0, sp, #0x0 + bne _02016340 + add r1, r2, #0x1 + blx sub_020E2EC8 + mov r5, #0x1 + b _02016346 +_02016340: + add r1, r2, #0x0 + blx sub_020E2EC8 +_02016346: + add r0, sp, #0x0 + bl sub_02016230 + add r7, r0, #0x0 + bl sub_020162A0 + cmp r0, #0x0 + blt _02016362 + cmp r5, #0x0 + bne _02016362 + lsl r1, r0, #0x3 + ldr r0, _020163B8 ; =0x021C4928 + ldr r4, [r0, r1] + b _020163B2 +_02016362: + add r0, sp, #0x20 + blx sub_020D1C94 + add r0, sp, #0x20 + add r1, sp, #0x0 + blx sub_020D1944 + cmp r0, #0x0 + beq _020163B0 + ldr r1, [sp, #0x48] + ldr r0, [sp, #0x44] + sub r6, r1, r0 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + beq _0201639C + add r0, sp, #0x20 + add r1, r4, #0x0 + add r2, r6, #0x0 + blx sub_020D180C + cmp r6, r0 + beq _0201639C + add r0, r4, #0x0 + bl sub_02016A18 + mov r4, #0x0 +_0201639C: + add r0, sp, #0x20 + blx sub_020D18FC + cmp r5, #0x0 + bne _020163B2 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_020162C8 + b _020163B2 +_020163B0: + mov r4, #0x0 +_020163B2: + add r0, r4, #0x0 + add sp, #0x68 + pop {r3-r7, pc} + .balign 4 +_020163B8: .word 0x021C4928 + + thumb_func_start sub_020163BC +sub_020163BC: ; 0x020163BC + push {r3, lr} + sub sp, #0x8 + ldr r0, _0201641C ; =0x021C48B8 + mov r2, #0x0 + str r2, [r0, #0x34] + str r2, [r0, #0x38] + str r2, [r0, #0x3c] + str r2, [r0, #0x40] + str r2, [r0, #0x44] + str r2, [r0, #0x48] + str r2, [r0, #0x4c] + str r2, [r0, #0x50] + mov r1, #0x8 + str r1, [r0, #0x54] + mov r1, #0xf + str r1, [r0, #0x58] + ldr r0, _02016420 ; =0x021C48F8 + strh r2, [r0, #0x1c] + strh r2, [r0, #0x1e] + strh r2, [r0, #0x20] + strh r2, [r0, #0x22] + ldr r0, _02016424 ; =0x021C4918 + strb r2, [r0, #0x4] + blx sub_020D40B8 + add r0, sp, #0x0 + blx sub_020D400C + cmp r0, #0x1 + add r0, sp, #0x0 + bne _02016402 + blx sub_020D3EC4 + add sp, #0x8 + pop {r3, pc} +_02016402: + ldr r1, _02016428 ; =0x000002AE + strh r1, [r0, #0x0] + ldr r1, _0201642C ; =0x0000058C + strh r1, [r0, #0x2] + ldr r1, _02016430 ; =0x00000E25 + strh r1, [r0, #0x4] + ldr r1, _02016434 ; =0x00001208 + strh r1, [r0, #0x6] + add r0, sp, #0x0 + blx sub_020D3EC4 + add sp, #0x8 + pop {r3, pc} + .balign 4 +_0201641C: .word 0x021C48B8 +_02016420: .word 0x021C48F8 +_02016424: .word 0x021C4918 +_02016428: .word 0x000002AE +_0201642C: .word 0x0000058C +_02016430: .word 0x00000E25 +_02016434: .word 0x00001208 + + thumb_func_start sub_02016438 +sub_02016438: ; 0x02016438 + ldr r1, _02016440 ; =0x021C4918 + strb r0, [r1, #0x6] + bx lr + nop +_02016440: .word 0x021C4918 + + thumb_func_start sub_02016444 +sub_02016444: ; 0x02016444 + ldr r1, _02016450 ; =0x021C4918 + ldrb r2, [r1, #0x7] + orr r0, r2 + strb r0, [r1, #0x7] + bx lr + nop +_02016450: .word 0x021C4918 + + thumb_func_start sub_02016454 +sub_02016454: ; 0x02016454 + ldr r1, _02016460 ; =0x021C4918 + mvn r0, r0 + ldrb r2, [r1, #0x7] + and r0, r2 + strb r0, [r1, #0x7] + bx lr + .balign 4 +_02016460: .word 0x021C4918 + + thumb_func_start sub_02016464 +sub_02016464: ; 0x02016464 + push {r4, lr} + sub sp, #0x10 + ldr r2, _02016550 ; =0x027FFFA8 + mov r0, #0x2 + ldrh r1, [r2, #0x0] + lsl r0, r0, #0xe + and r0, r1 + asr r0, r0, #0xf + beq _0201648A + ldr r0, _02016554 ; =0x021C48B8 + mov r1, #0x0 + str r1, [r0, #0x48] + str r1, [r0, #0x44] + str r1, [r0, #0x4c] + ldr r0, _02016558 ; =0x021C48F8 + add sp, #0x10 + strh r1, [r0, #0x20] + strh r1, [r0, #0x22] + pop {r4, pc} +_0201648A: + ldr r0, _0201655C ; =0x04000130 + ldrh r1, [r0, #0x0] + ldrh r0, [r2, #0x0] + orr r1, r0 + ldr r0, _02016560 ; =0x00002FFF + eor r1, r0 + and r0, r1 + ldr r1, _02016554 ; =0x021C48B8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + ldr r2, [r1, #0x38] + add r3, r0, #0x0 + eor r3, r2 + and r3, r0 + str r3, [r1, #0x3c] + str r3, [r1, #0x40] + cmp r0, #0x0 + beq _020164C2 + cmp r2, r0 + bne _020164C2 + ldr r2, [r1, #0x50] + sub r2, r2, #0x1 + str r2, [r1, #0x50] + bne _020164C8 + str r0, [r1, #0x40] + ldr r2, [r1, #0x54] + str r2, [r1, #0x50] + b _020164C8 +_020164C2: + ldr r1, _02016554 ; =0x021C48B8 + ldr r2, [r1, #0x58] + str r2, [r1, #0x50] +_020164C8: + ldr r1, _02016554 ; =0x021C48B8 + str r0, [r1, #0x38] + ldr r2, [r1, #0x3c] + str r2, [r1, #0x48] + str r0, [r1, #0x44] + ldr r0, [r1, #0x40] + str r0, [r1, #0x4c] + bl sub_02016568 + ldr r0, _02016564 ; =0x021C4918 + ldrb r0, [r0, #0x4] + cmp r0, #0x0 + bne _020164F4 + add r4, sp, #0x8 +_020164E4: + blx sub_020D3E24 + add r0, r4, #0x0 + blx sub_020D3DCC + cmp r0, #0x0 + bne _020164E4 + b _020164FA +_020164F4: + add r0, sp, #0x8 + blx sub_020D3AA0 +_020164FA: + add r0, sp, #0x0 + add r1, sp, #0x8 + blx sub_020D36F0 + add r1, sp, #0x0 + ldrh r3, [r1, #0x6] + cmp r3, #0x0 + bne _02016516 + ldrh r2, [r1, #0x0] + ldr r0, _02016558 ; =0x021C48F8 + strh r2, [r0, #0x1c] + ldrh r1, [r1, #0x2] + strh r1, [r0, #0x1e] + b _0201653A +_02016516: + ldr r0, _02016558 ; =0x021C48F8 + ldrh r2, [r0, #0x22] + cmp r2, #0x0 + beq _02016536 + cmp r3, #0x1 + beq _0201652A + cmp r3, #0x2 + beq _02016530 + cmp r3, #0x3 + b _0201653A +_0201652A: + ldrh r1, [r1, #0x2] + strh r1, [r0, #0x1e] + b _0201653A +_02016530: + ldrh r1, [r1, #0x0] + strh r1, [r0, #0x1c] + b _0201653A +_02016536: + mov r0, #0x0 + strh r0, [r1, #0x4] +_0201653A: + add r0, sp, #0x0 + ldrh r2, [r0, #0x4] + ldr r0, _02016558 ; =0x021C48F8 + ldrh r1, [r0, #0x22] + eor r1, r2 + and r1, r2 + strh r1, [r0, #0x20] + strh r2, [r0, #0x22] + add sp, #0x10 + pop {r4, pc} + nop +_02016550: .word 0x027FFFA8 +_02016554: .word 0x021C48B8 +_02016558: .word 0x021C48F8 +_0201655C: .word 0x04000130 +_02016560: .word 0x00002FFF +_02016564: .word 0x021C4918 + + thumb_func_start sub_02016568 +sub_02016568: ; 0x02016568 + ldr r0, _02016690 ; =0x021C48B8 + ldr r1, [r0, #0x34] + cmp r1, #0x3 + bls _02016572 + b _0201668C +_02016572: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0x4 + lsl r6, r0, #0 + lsl r4, r7, #0 + lsl r2, r0, #0x3 + ldr r2, [r0, #0x48] + mov r1, #0x8 + add r3, r2, #0x0 + tst r3, r1 + beq _02016596 + lsl r1, r1, #0x7 + orr r1, r2 + str r1, [r0, #0x48] +_02016596: + ldr r1, _02016690 ; =0x021C48B8 + mov r0, #0x8 + ldr r2, [r1, #0x44] + add r3, r2, #0x0 + tst r3, r0 + beq _020165A8 + lsl r0, r0, #0x7 + orr r0, r2 + str r0, [r1, #0x44] +_020165A8: + ldr r1, _02016690 ; =0x021C48B8 + mov r0, #0x8 + ldr r2, [r1, #0x4c] + add r3, r2, #0x0 + tst r3, r0 + beq _0201668C + lsl r0, r0, #0x7 + orr r0, r2 + str r0, [r1, #0x4c] + bx lr +_020165BC: + .byte 0x83, 0x6C, 0x01, 0x20 + .byte 0x80, 0x02, 0x1A, 0x1C, 0x00, 0x21, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x00, 0x01, 0x43, 0x02, 0x20 + .byte 0x80, 0x02, 0x1A, 0x1C, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x08, 0x01, 0x43, 0x2C, 0x4A, 0x2D, 0x48 + .byte 0x93, 0x6C, 0x18, 0x40, 0x08, 0x43, 0x90, 0x64, 0x53, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C + .byte 0x00, 0x20, 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C + .byte 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x08, 0x08, 0x43, 0x21, 0x4A, 0x22, 0x49, 0x53, 0x6C, 0x19, 0x40 + .byte 0x08, 0x43, 0x50, 0x64, 0xD3, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x00, 0x20, 0x0A, 0x42 + .byte 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x0A, 0x42, 0x01, 0xD0 + .byte 0x49, 0x08, 0x08, 0x43, 0x16, 0x4A, 0x17, 0x49, 0xD3, 0x6C, 0x19, 0x40, 0x08, 0x43, 0xD0, 0x64 + .byte 0x70, 0x47, 0x02, 0x21, 0x82, 0x6C, 0x09, 0x02, 0x11, 0x42, 0x02, 0xD0, 0x01, 0x21, 0x11, 0x43 + .byte 0x81, 0x64, 0x0F, 0x49, 0x02, 0x20, 0x4A, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0, 0x01, 0x20 + .byte 0x10, 0x43, 0x48, 0x64, 0x0A, 0x49, 0x02, 0x20, 0xCA, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0 + .byte 0x01, 0x20, 0x10, 0x43, 0xC8, 0x64, 0x06, 0x49, 0x07, 0x48, 0x8A, 0x6C, 0x02, 0x40, 0x8A, 0x64 + .byte 0x4A, 0x6C, 0x02, 0x40, 0x4A, 0x64, 0xCA, 0x6C, 0x10, 0x40, 0xC8, 0x64 +_0201668C: + bx lr + nop +_02016690: .word 0x021C48B8 +_02016694: + .byte 0xFF, 0xF3, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00 + + thumb_func_start sub_0201669C +sub_0201669C: ; 0x0201669C + ldr r2, _020166A4 ; =0x021C48B8 + str r0, [r2, #0x54] + str r1, [r2, #0x58] + bx lr + .balign 4 +_020166A4: .word 0x021C48B8 + + thumb_func_start sub_020166A8 +sub_020166A8: ; 0x020166A8 + ldr r1, _020166B4 ; =0x021C4918 + ldrb r2, [r1, #0x8] + orr r0, r2 + strb r0, [r1, #0x8] + bx lr + nop +_020166B4: .word 0x021C4918 + + thumb_func_start sub_020166B8 +sub_020166B8: ; 0x020166B8 + ldr r1, _020166C4 ; =0x021C4918 + mvn r0, r0 + ldrb r2, [r1, #0x8] + and r0, r2 + strb r0, [r1, #0x8] + bx lr + .balign 4 +_020166C4: .word 0x021C4918 + + thumb_func_start sub_020166C8 +sub_020166C8: ; 0x020166C8 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + str r0, [sp, #0x4] + add r0, #0x18 + add r6, r2, #0x0 + str r0, [sp, #0x4] + cmp r6, r0 + bhs _020166E0 + add r6, r0, #0x0 +_020166E0: + cmp r3, #0x0 + beq _020166FE + mov r0, #0x3 + tst r0, r3 + beq _020166F4 + mov r0, #0x3 +_020166EC: + add r3, r3, #0x1 + add r1, r3, #0x0 + tst r1, r0 + bne _020166EC +_020166F4: + mov r0, #0x0 + add r1, r3, #0x0 + mov r2, #0x4 + blx sub_020CC26C +_020166FE: + ldr r1, [sp, #0x4] + lsl r7, r6, #0x1 + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r1, #0x1 + lsl r1, r1, #0x2 + add r1, r7, r1 + mov r0, #0x0 + add r1, r6, r1 + mov r2, #0x4 + blx sub_020CC26C + ldr r1, _020167F0 ; =0x021C4D28 + str r0, [r1, #0x0] + ldr r1, [sp, #0x4] + add r1, r1, #0x1 + lsl r1, r1, #0x2 + add r1, r0, r1 + ldr r0, _020167F0 ; =0x021C4D28 + str r1, [r0, #0x4] + ldr r0, [sp, #0x4] + lsl r0, r0, #0x2 + add r2, r1, r0 + ldr r1, _020167F0 ; =0x021C4D28 + str r2, [r1, #0x8] + add r1, r2, r0 + ldr r0, _020167F0 ; =0x021C4D28 + str r1, [r0, #0xc] + add r1, r1, r7 + str r1, [r0, #0x10] + strh r6, [r0, #0x14] + strh r4, [r0, #0x16] + ldr r0, [sp, #0x4] + mov r7, #0x0 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, _020167F0 ; =0x021C4D28 + cmp r4, #0x0 + strh r1, [r0, #0x1a] + strh r1, [r0, #0x18] + bls _020167A0 + str r7, [sp, #0x0] +_02016752: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _0201675C + cmp r0, #0x2 + beq _02016768 +_0201675C: + ldr r1, [r5, #0x0] + mov r0, #0x0 + mov r2, #0x4 + blx sub_020CC26C + b _02016772 +_02016768: + ldr r1, [r5, #0x0] + mov r0, #0x2 + mov r2, #0x4 + blx sub_020CC204 +_02016772: + cmp r0, #0x0 + beq _0201678E + ldr r1, [r5, #0x0] + mov r2, #0x0 + blx sub_020ADFE8 + ldr r1, _020167F0 ; =0x021C4D28 + ldr r2, [r1, #0x0] + ldr r1, [sp, #0x0] + str r0, [r2, r1] + ldr r0, _020167F0 ; =0x021C4D28 + ldr r0, [r0, #0x10] + strb r7, [r0, r7] + b _02016792 +_0201678E: + bl sub_02020C2C +_02016792: + ldr r0, [sp, #0x0] + add r7, r7, #0x1 + add r0, r0, #0x4 + add r5, #0x8 + str r0, [sp, #0x0] + cmp r7, r4 + blo _02016752 +_020167A0: + ldr r0, [sp, #0x4] + add r1, r0, #0x1 + cmp r4, r1 + bhs _020167C0 + ldr r3, _020167F0 ; =0x021C4D28 + lsl r2, r4, #0x2 + mov r0, #0x0 +_020167AE: + ldr r5, [r3, #0x0] + str r0, [r5, r2] + ldrh r7, [r3, #0x1a] + ldr r5, [r3, #0x10] + add r2, r2, #0x4 + strb r7, [r5, r4] + add r4, r4, #0x1 + cmp r4, r1 + blo _020167AE +_020167C0: + cmp r4, r6 + bhs _020167D2 + ldr r0, _020167F0 ; =0x021C4D28 +_020167C6: + ldrh r2, [r0, #0x1a] + ldr r1, [r0, #0x10] + strb r2, [r1, r4] + add r4, r4, #0x1 + cmp r4, r6 + blo _020167C6 +_020167D2: + mov r4, #0x0 + cmp r6, #0x0 + bls _020167EA + ldr r0, _020167F0 ; =0x021C4D28 + add r3, r4, #0x0 + add r2, r4, #0x0 +_020167DE: + ldr r1, [r0, #0xc] + add r4, r4, #0x1 + strh r2, [r1, r3] + add r3, r3, #0x2 + cmp r4, r6 + blo _020167DE +_020167EA: + add sp, #0x8 + pop {r3-r7, pc} + nop +_020167F0: .word 0x021C4D28 + + thumb_func_start sub_020167F4 +sub_020167F4: ; 0x020167F4 + ldr r1, _02016818 ; =0x021C4D28 + ldrh r0, [r1, #0x16] + ldrh r3, [r1, #0x18] + cmp r0, r3 + bge _02016812 + ldr r2, [r1, #0x0] + lsl r1, r0, #0x2 + add r2, r2, r1 +_02016804: + ldr r1, [r2, #0x0] + cmp r1, #0x0 + beq _02016816 + add r0, r0, #0x1 + add r2, r2, #0x4 + cmp r0, r3 + blt _02016804 +_02016812: + mov r0, #0x0 + mvn r0, r0 +_02016816: + bx lr + .balign 4 +_02016818: .word 0x021C4D28 + + thumb_func_start sub_0201681C +sub_0201681C: ; 0x0201681C + push {r3, lr} + mov r3, #0x4 + bl sub_02016834 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02016828 +sub_02016828: ; 0x02016828 + push {r3, lr} + mov r3, #0x3 + mvn r3, r3 + bl sub_02016834 + pop {r3, pc} + + thumb_func_start sub_02016834 +sub_02016834: ; 0x02016834 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r5, r1, #0x0 + str r2, [sp, #0x0] + add r7, r3, #0x0 + blx sub_020CD374 + cmp r0, #0x12 + bne _0201684C + bl sub_02020C2C +_0201684C: + ldr r1, _020168CC ; =0x021C4D28 + ldr r0, [r1, #0x10] + ldrh r3, [r1, #0x1a] + ldrb r2, [r0, r5] + cmp r3, r2 + bne _020168C2 + ldrb r0, [r0, r4] + ldr r1, [r1, #0x0] + lsl r0, r0, #0x2 + ldr r6, [r1, r0] + cmp r6, #0x0 + beq _020168BC + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + add r2, r7, #0x0 + blx sub_020ADFA0 + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _020168B6 + bl sub_020167F4 + add r7, r0, #0x0 + bmi _020168B0 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + mov r2, #0x0 + lsl r4, r7, #0x2 + blx sub_020ADFE8 + ldr r1, _020168CC ; =0x021C4D28 + ldr r2, [r1, #0x0] + str r0, [r2, r4] + ldr r0, [r1, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + beq _020168AA + ldr r0, [r1, #0x4] + str r6, [r0, r4] + ldr r0, [sp, #0x4] + ldr r2, [r1, #0x8] + add sp, #0x8 + str r0, [r2, r4] + ldr r0, [r1, #0x10] + strb r7, [r0, r5] + mov r0, #0x1 + pop {r3-r7, pc} +_020168AA: + bl sub_02020C2C + b _020168C6 +_020168B0: + bl sub_02020C2C + b _020168C6 +_020168B6: + bl sub_02020C2C + b _020168C6 +_020168BC: + bl sub_02020C2C + b _020168C6 +_020168C2: + bl sub_02020C2C +_020168C6: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020168CC: .word 0x021C4D28 + + thumb_func_start sub_020168D0 +sub_020168D0: ; 0x020168D0 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020CD374 + cmp r0, #0x12 + bne _020168E0 + bl sub_02020C2C +_020168E0: + ldr r0, _02016940 ; =0x021C4D28 + ldr r1, [r0, #0x0] + ldr r0, [r0, #0x10] + ldrb r0, [r0, r4] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0201693E + blx sub_020ADFDC + ldr r1, _02016940 ; =0x021C4D28 + ldr r0, [r1, #0x10] + ldrb r0, [r0, r4] + lsl r2, r0, #0x2 + ldr r0, [r1, #0x4] + ldr r1, [r1, #0x8] + ldr r0, [r0, r2] + ldr r1, [r1, r2] + cmp r0, #0x0 + beq _02016912 + cmp r1, #0x0 + beq _02016912 + blx sub_020ADDF0 + b _02016916 +_02016912: + bl sub_02020C2C +_02016916: + ldr r1, _02016940 ; =0x021C4D28 + mov r0, #0x0 + ldr r2, [r1, #0x10] + ldr r3, [r1, #0x0] + ldrb r2, [r2, r4] + lsl r2, r2, #0x2 + str r0, [r3, r2] + ldr r2, [r1, #0x10] + ldr r3, [r1, #0x4] + ldrb r2, [r2, r4] + lsl r2, r2, #0x2 + str r0, [r3, r2] + ldr r2, [r1, #0x10] + ldr r3, [r1, #0x8] + ldrb r2, [r2, r4] + lsl r2, r2, #0x2 + str r0, [r3, r2] + ldrh r2, [r1, #0x1a] + ldr r0, [r1, #0x10] + strb r2, [r0, r4] +_0201693E: + pop {r4, pc} + .balign 4 +_02016940: .word 0x021C4D28 + + thumb_func_start sub_02016944 +sub_02016944: ; 0x02016944 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + cmp r5, #0x0 + bne _02016956 + bl sub_02020C2C +_02016956: + blx sub_020CD310 + add r4, #0x10 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + blx sub_020ADFA0 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + blx sub_020CD324 + cmp r4, #0x0 + beq _02016984 + ldr r1, [r4, #0xc] + mov r0, #0xff + bic r1, r0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + orr r0, r1 + str r0, [r4, #0xc] + add r4, #0x10 +_02016984: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02016988 +sub_02016988: ; 0x02016988 + push {r3, lr} + bl sub_02031810 + cmp r0, #0x0 + beq _02016996 + bl sub_0208A9B8 +_02016996: + pop {r3, pc} + + thumb_func_start sub_02016998 +sub_02016998: ; 0x02016998 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020169D4 ; =0x021C4D28 + mov r4, #0x0 + ldrh r2, [r0, #0x14] + cmp r5, r2 + bhs _020169BA + ldr r2, [r0, #0x0] + ldr r0, [r0, #0x10] + add r3, r5, #0x0 + ldrb r0, [r0, r5] + lsl r0, r0, #0x2 + ldr r0, [r2, r0] + mov r2, #0x4 + bl sub_02016944 + add r4, r0, #0x0 +_020169BA: + cmp r4, #0x0 + beq _020169CC + ldr r0, _020169D4 ; =0x021C4D28 + lsl r1, r5, #0x1 + ldr r2, [r0, #0xc] + ldrh r0, [r2, r1] + add r0, r0, #0x1 + strh r0, [r2, r1] + b _020169D0 +_020169CC: + bl sub_02016988 +_020169D0: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_020169D4: .word 0x021C4D28 + + thumb_func_start sub_020169D8 +sub_020169D8: ; 0x020169D8 + push {r3-r5, lr} + ldr r2, _02016A14 ; =0x021C4D28 + add r5, r0, #0x0 + ldrh r0, [r2, #0x14] + mov r4, #0x0 + cmp r5, r0 + bhs _020169FA + ldr r0, [r2, #0x0] + ldr r2, [r2, #0x10] + add r3, r5, #0x0 + ldrb r2, [r2, r5] + lsl r2, r2, #0x2 + ldr r0, [r0, r2] + sub r2, r4, #0x4 + bl sub_02016944 + add r4, r0, #0x0 +_020169FA: + cmp r4, #0x0 + beq _02016A0C + ldr r0, _02016A14 ; =0x021C4D28 + lsl r1, r5, #0x1 + ldr r2, [r0, #0xc] + ldrh r0, [r2, r1] + add r0, r0, #0x1 + strh r0, [r2, r1] + b _02016A10 +_02016A0C: + bl sub_02016988 +_02016A10: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02016A14: .word 0x021C4D28 + + thumb_func_start sub_02016A18 +sub_02016A18: ; 0x02016A18 + push {r3-r7, lr} + add r6, r0, #0x0 + sub r0, r6, #0x4 + ldr r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, _02016A88 ; =0x021C4D28 + ldrh r1, [r0, #0x14] + cmp r4, r1 + bhs _02016A80 + ldr r1, [r0, #0x0] + ldr r0, [r0, #0x10] + ldrb r0, [r0, r4] + lsl r0, r0, #0x2 + ldr r7, [r1, r0] + cmp r7, #0x0 + bne _02016A3E + bl sub_02020C2C +_02016A3E: + ldr r0, _02016A88 ; =0x021C4D28 + lsl r5, r4, #0x1 + ldr r0, [r0, #0xc] + ldrh r0, [r0, r5] + cmp r0, #0x0 + bne _02016A50 + add r0, r4, #0x0 + bl sub_02016B90 +_02016A50: + ldr r0, _02016A88 ; =0x021C4D28 + ldr r0, [r0, #0xc] + ldrh r0, [r0, r5] + cmp r0, #0x0 + bne _02016A5E + bl sub_02020C2C +_02016A5E: + ldr r0, _02016A88 ; =0x021C4D28 + ldr r1, [r0, #0xc] + ldrh r0, [r1, r5] + sub r0, r0, #0x1 + strh r0, [r1, r5] + blx sub_020CD310 + sub r6, #0x10 + add r4, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + blx sub_020ADDF0 + add r0, r4, #0x0 + blx sub_020CD324 + pop {r3-r7, pc} +_02016A80: + bl sub_02020C2C + pop {r3-r7, pc} + nop +_02016A88: .word 0x021C4D28 + + thumb_func_start sub_02016A8C +sub_02016A8C: ; 0x02016A8C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + blx sub_020CD374 + cmp r0, #0x12 + bne _02016A9E + bl sub_02020C2C +_02016A9E: + ldr r0, _02016AF4 ; =0x021C4D28 + ldrh r1, [r0, #0x14] + cmp r5, r1 + bhs _02016AEE + ldr r1, [r0, #0x0] + ldr r0, [r0, #0x10] + ldrb r0, [r0, r5] + lsl r0, r0, #0x2 + ldr r6, [r1, r0] + cmp r6, #0x0 + bne _02016AB8 + bl sub_02020C2C +_02016AB8: + sub r0, r4, #0x4 + ldr r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r5 + beq _02016AC8 + bl sub_02020C2C +_02016AC8: + sub r4, #0x10 + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020ADDF0 + ldr r0, _02016AF4 ; =0x021C4D28 + lsl r4, r5, #0x1 + ldr r0, [r0, #0xc] + ldrh r0, [r0, r4] + cmp r0, #0x0 + bne _02016AE2 + bl sub_02020C2C +_02016AE2: + ldr r0, _02016AF4 ; =0x021C4D28 + ldr r1, [r0, #0xc] + ldrh r0, [r1, r4] + sub r0, r0, #0x1 + strh r0, [r1, r4] + pop {r4-r6, pc} +_02016AEE: + bl sub_02020C2C + pop {r4-r6, pc} + .balign 4 +_02016AF4: .word 0x021C4D28 + + thumb_func_start sub_02016AF8 +sub_02016AF8: ; 0x02016AF8 + push {r3, lr} + ldr r1, _02016B1C ; =0x021C4D28 + ldrh r2, [r1, #0x14] + cmp r0, r2 + bhs _02016B12 + ldr r2, [r1, #0x0] + ldr r1, [r1, #0x10] + ldrb r0, [r1, r0] + lsl r0, r0, #0x2 + ldr r0, [r2, r0] + blx sub_020ADDC8 + pop {r3, pc} +_02016B12: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + nop +_02016B1C: .word 0x021C4D28 + + thumb_func_start sub_02016B20 +sub_02016B20: ; 0x02016B20 + push {r4, lr} + ldr r4, _02016B40 ; =0x021C4D28 + ldrh r3, [r4, #0x14] + cmp r1, r3 + bhs _02016B3A + ldr r3, [r4, #0x0] + ldr r4, [r4, #0x10] + ldrb r1, [r4, r1] + lsl r1, r1, #0x2 + ldr r1, [r3, r1] + blx sub_020AE82C + pop {r4, pc} +_02016B3A: + bl sub_02020C2C + pop {r4, pc} + .balign 4 +_02016B40: .word 0x021C4D28 + + thumb_func_start sub_02016B44 +sub_02016B44: ; 0x02016B44 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + blx sub_020CD374 + cmp r0, #0x12 + bne _02016B56 + bl sub_02020C2C +_02016B56: + add r0, r5, #0x0 + sub r0, #0x10 + blx sub_020ADDC0 + add r4, #0x10 + cmp r0, r4 + blo _02016B84 + sub r2, r5, #0x4 + ldr r0, _02016B8C ; =0x021C4D28 + ldr r2, [r2, #0x0] + ldr r1, [r0, #0x0] + lsl r2, r2, #0x18 + ldr r0, [r0, #0x10] + lsr r2, r2, #0x18 + ldrb r0, [r0, r2] + sub r5, #0x10 + add r2, r4, #0x0 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add r1, r5, #0x0 + blx sub_020ADE2C + pop {r3-r5, pc} +_02016B84: + bl sub_02020C2C + pop {r3-r5, pc} + nop +_02016B8C: .word 0x021C4D28 + + thumb_func_start sub_02016B90 +sub_02016B90: ; 0x02016B90 + mov r0, #0x1 + bx lr + + thumb_func_start sub_02016B94 +sub_02016B94: ; 0x02016B94 + push {r3-r5, lr} + mov r1, #0x5a + lsl r1, r1, #0x2 + add r5, r0, #0x0 + bl sub_02016998 + mov r2, #0x5a + mov r1, #0x0 + lsl r2, r2, #0x2 + add r4, r0, #0x0 + blx sub_020DF4A4 + str r5, [r4, #0x0] + mov r0, #0x0 + strh r0, [r4, #0x4] + strh r0, [r4, #0x6] + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02016BB8 +sub_02016BB8: ; 0x02016BB8 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02016BBC +sub_02016BBC: ; 0x02016BBC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + ldr r2, [r4, #0xc] + blx sub_020C59C0 + ldr r0, [r4, #0x8] + blx sub_020C59A4 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02016BF0 ; =0xC7FFFFFF + and r1, r0 + str r1, [r2, #0x0] + ldr r1, [r2, #0x0] + asr r0, r0, #0x3 + and r0, r1 + str r0, [r2, #0x0] + bl sub_0201E6D8 + bl sub_0201E740 + pop {r4, pc} + nop +_02016BF0: .word 0xC7FFFFFF + + thumb_func_start sub_02016BF4 +sub_02016BF4: ; 0x02016BF4 + push {r3, lr} + add r2, r0, #0x0 + cmp r1, #0x0 + bne _02016C0C + ldr r0, [r2, #0x0] + ldr r1, [r2, #0x4] + ldr r2, [r2, #0xc] + blx sub_020C59C0 + bl sub_0201E6D8 + pop {r3, pc} +_02016C0C: + ldr r0, [r2, #0x8] + blx sub_020C59A4 + bl sub_0201E740 + pop {r3, pc} + + thumb_func_start sub_02016C18 +sub_02016C18: ; 0x02016C18 + push {r3-r7, lr} + sub sp, #0x18 + str r1, [sp, #0x4] + str r3, [sp, #0x8] + add r4, r2, #0x0 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x10] + ldr r1, [sp, #0x8] + bl sub_020177DC + add r5, r0, #0x0 + ldr r0, [sp, #0x4] + cmp r0, #0x7 + bls _02016C36 + b _0201705A +_02016C36: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r4, #0x1 + lsl r6, r7, #0x2 + lsl r0, r4, #0x5 + lsl r2, r0, #0x8 + lsl r2, r3, #0x9 + lsl r2, r6, #0xa + lsl r4, r2, #0xd + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldrb r3, [r4, #0x14] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x11] + ldrb r2, [r4, #0x13] + lsl r6, r3, #0xd + lsl r0, r0, #0x7 + lsl r3, r2, #0x2 + str r0, [sp, #0xc] + ldr r2, _02016FB4 ; =0x04000008 + lsl r7, r1, #0x8 + ldrh r1, [r2, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r1, r0 + ldr r0, [sp, #0xc] + orr r0, r1 + orr r0, r7 + orr r0, r3 + orr r0, r6 + strh r0, [r2, #0x0] + ldrh r1, [r2, #0x0] + mov r0, #0x3 + bic r1, r0 + ldrb r0, [r4, #0x15] + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _02016CA0 + ldrh r1, [r2, #0x0] + mov r0, #0x40 + orr r0, r1 + strh r0, [r2, #0x0] + b _0201705A +_02016CA0: + ldrh r1, [r2, #0x0] + mov r0, #0x40 + bic r1, r0 + strh r1, [r2, #0x0] + b _0201705A +_02016CAA: + .byte 0x02, 0x20, 0x01, 0x21, 0x07, 0xF0 + .byte 0x19, 0xFD, 0x23, 0x7D, 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00 + .byte 0x04, 0x90, 0xBD, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43 + .byte 0x04, 0x98, 0x08, 0x43, 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20 + .byte 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88 + .byte 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB0, 0xE1, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80 + .byte 0xAB, 0xE1, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xED, 0xFC, 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0 + .byte 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0xA8, 0x4F, 0xE2, 0x7C, 0x0B, 0x02 + .byte 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43 + .byte 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D + .byte 0x93, 0x00, 0x9E, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03 + .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x97, 0x4F + .byte 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40 + .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x8F, 0x48, 0x03, 0x21 + .byte 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0 + .byte 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x5F, 0xE1, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43 + .byte 0x02, 0x80, 0x5A, 0xE1, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x9C, 0xFC, 0x02, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x80, 0x4F, 0xE2, 0x7C + .byte 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03 + .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C + .byte 0xA0, 0x7D, 0x93, 0x00, 0x76, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40 + .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C + .byte 0x6F, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00 + .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x68, 0x48 + .byte 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29 + .byte 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x0E, 0xE1, 0x02, 0x88, 0x40, 0x21 + .byte 0x8A, 0x43, 0x02, 0x80, 0x09, 0xE1, 0x01, 0x20, 0x01, 0x1C, 0x07, 0xF0, 0x7F, 0xFC, 0x23, 0x7D + .byte 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00, 0x05, 0x90, 0x59, 0x4A + .byte 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43, 0x05, 0x98, 0x08, 0x43 + .byte 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D + .byte 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43 + .byte 0x10, 0x80, 0xE2, 0xE0, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80, 0xDD, 0xE0, 0x02, 0x20 + .byte 0x01, 0x21, 0x07, 0xF0, 0x53, 0xFC, 0xE2, 0x7C, 0xA1, 0x7C, 0x60, 0x7C, 0x96, 0x00, 0x23, 0x7D + .byte 0xC0, 0x01, 0x84, 0x46, 0x44, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x5B, 0x03, 0x08, 0x40 + .byte 0xA9, 0x03, 0x08, 0x43, 0x61, 0x46, 0x08, 0x43, 0x38, 0x43, 0x30, 0x43, 0x18, 0x43, 0x10, 0x80 + .byte 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28 + .byte 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB6, 0xE0, 0x11, 0x88, 0x40, 0x20 + .byte 0x81, 0x43, 0x11, 0x80, 0xB1, 0xE0, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x27, 0xFC, 0x02, 0x98 + .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x2F, 0x4F + .byte 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40 + .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C + .byte 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x25, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20 + .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0 + .byte 0xA1, 0x7C, 0x1E, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20 + .byte 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80 + .byte 0x16, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69 + .byte 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x65, 0xE0, 0x02, 0x88 + .byte 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80, 0x60, 0xE0, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xD6, 0xFB + .byte 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x23, 0xD0, 0x02, 0x28, 0x32, 0xD0, 0xA1, 0x7C + .byte 0x07, 0x4F, 0x0F, 0xE0 +_02016FB4: .word 0x04000008 +_02016FB8: + .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04 + .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04 + .byte 0x0E, 0x10, 0x00, 0x04, 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01 + .byte 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80 + .byte 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x3D, 0x4F, 0x0A, 0x02, 0x46, 0x03 + .byte 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43 + .byte 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x36, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03 + .byte 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43 + .byte 0x30, 0x43, 0x38, 0x80, 0x2E, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43 + .byte 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80 + .byte 0x03, 0xE0, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80 +_0201705A: + ldr r0, [sp, #0x4] + mov r1, #0x2c + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mul r5, r1 + add r2, r0, r5 + mov r3, #0x0 + mov r0, #0x1 + strh r3, [r2, #0x20] + lsl r0, r0, #0xc + str r0, [r2, #0x24] + str r0, [r2, #0x28] + str r3, [r2, #0x2c] + str r3, [r2, #0x30] + ldr r1, [r4, #0x8] + cmp r1, #0x0 + beq _020170A2 + ldr r0, [sp, #0x0] + ldr r6, [sp, #0x0] + ldr r0, [r0, #0x0] + add r6, #0x8 + bl sub_02016998 + str r0, [r6, r5] + ldr r1, [r6, r5] + ldr r2, [r4, #0x8] + mov r0, #0x0 + blx sub_020CE1C8 + ldr r0, [sp, #0x0] + ldr r2, [r4, #0x8] + add r1, r0, r5 + str r2, [r1, #0xc] + ldr r0, [r4, #0xc] + str r0, [r1, #0x10] + b _020170A8 +_020170A2: + str r3, [r2, #0x8] + str r3, [r2, #0xc] + str r3, [r2, #0x10] +_020170A8: + ldr r0, [sp, #0x0] + ldrb r1, [r4, #0x10] + add r0, r0, r5 + strb r1, [r0, #0x1d] + ldr r1, [sp, #0x8] + strb r1, [r0, #0x1c] + ldrb r1, [r4, #0x11] + strb r1, [r0, #0x1e] + ldr r1, [sp, #0x8] + cmp r1, #0x0 + bne _020170CA + ldrb r1, [r4, #0x11] + cmp r1, #0x0 + bne _020170CA + mov r1, #0x20 + strb r1, [r0, #0x1f] + b _020170D2 +_020170CA: + ldr r0, [sp, #0x0] + mov r1, #0x40 + add r0, r0, r5 + strb r1, [r0, #0x1f] +_020170D2: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r3, [r4, #0x0] + mov r2, #0x0 + bl sub_020179E0 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r3, [r4, #0x4] + mov r2, #0x3 + bl sub_020179E0 + add sp, #0x18 + pop {r3-r7, pc} + nop +_020170F0: + .byte 0x0E, 0x10, 0x00, 0x04 + + thumb_func_start sub_020170F4 +sub_020170F4: ; 0x020170F4 + push {r3-r7, lr} + sub sp, #0x20 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r1, r2, #0x0 + add r0, r3, #0x0 + cmp r1, #0x0 + bne _0201710C + mov r2, #0x2c + mul r2, r4 + add r2, r5, r2 + strb r0, [r2, #0x1e] +_0201710C: + cmp r4, #0x7 + bls _02017112 + b _020177C4 +_02017112: + add r2, r4, r4 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r1, #0 + lsl r2, r7, #0x1 + lsl r6, r4, #0x3 + lsl r2, r3, #0x8 + lsl r6, r1, #0xd + lsl r4, r2, #0xf + lsl r0, r0, #0x11 + lsl r4, r6, #0x15 + ldr r2, _02017480 ; =0x04000008 + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x1e] + bne _0201714A + ldrh r3, [r2, #0x1e] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x1e] + b _0201715C +_0201714A: + cmp r1, #0x2 + bne _0201715C + ldrh r3, [r2, #0x1e] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x1e] +_0201715C: + add r0, sp, #0x0 + ldrh r3, [r0, #0x1e] + add sp, #0x20 + lsl r0, r3, #0x12 + lsr r6, r0, #0x1f + lsl r0, r3, #0x1a + lsr r2, r0, #0x1c + lsl r0, r3, #0x13 + lsr r1, r0, #0x1b + mov r0, #0x2c + mul r0, r4 + add r0, r5, r0 + lsl r3, r3, #0x10 + lsr r5, r3, #0x1e + lsl r3, r2, #0x2 + ldrb r0, [r0, #0x1e] + lsl r2, r1, #0x8 + lsl r4, r6, #0xd + lsl r1, r0, #0x7 + ldr r0, _02017480 ; =0x04000008 + mov r6, #0x43 + ldrh r7, [r0, #0x0] + lsl r5, r5, #0xe + and r6, r7 + orr r5, r6 + orr r1, r5 + orr r1, r2 + orr r1, r3 + orr r1, r4 + strh r1, [r0, #0x0] + pop {r3-r7, pc} +_0201719A: + .byte 0xBB, 0x4A, 0x01, 0x29, 0x13, 0x88 + .byte 0x00, 0xAA, 0x93, 0x83, 0x07, 0xD1, 0x93, 0x8B, 0xB6, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C + .byte 0x08, 0x43, 0x90, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x93, 0x8B, 0x3C, 0x21, 0x00, 0x07 + .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x90, 0x83, 0x00, 0xA8, 0x83, 0x8B, 0x08, 0xB0, 0x98, 0x04 + .byte 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18 + .byte 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA6, 0x48 + .byte 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43 + .byte 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B + .byte 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x9C, 0x4B, 0x01, 0x29, 0x1C, 0x88 + .byte 0x00, 0xAB, 0x5C, 0x83, 0x07, 0xD1, 0x5C, 0x8B, 0x96, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C + .byte 0x08, 0x43, 0x58, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x8B, 0x3C, 0x21, 0x00, 0x07 + .byte 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x58, 0x83, 0x00, 0xA8, 0x43, 0x8B, 0xAA, 0x18, 0x8F, 0x4E + .byte 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E + .byte 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43 + .byte 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x84, 0x4A, 0x01, 0x29, 0x13, 0x88 + .byte 0x00, 0xAA, 0x13, 0x83, 0x07, 0xD1, 0x13, 0x8B, 0x7E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C + .byte 0x08, 0x43, 0x10, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8B, 0x3C, 0x21, 0x00, 0x07 + .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x83, 0x00, 0xA8, 0x03, 0x8B, 0x77, 0x4E, 0x08, 0xB0 + .byte 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F + .byte 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43 + .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x6C, 0x4A, 0x01, 0x29, 0x13, 0x88 + .byte 0x00, 0xAA, 0xD3, 0x82, 0x07, 0xD1, 0xD3, 0x8A, 0x66, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C + .byte 0x08, 0x43, 0xD0, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x8A, 0x38, 0x21, 0x40, 0x07 + .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x82, 0x00, 0xA8, 0xC3, 0x8A, 0x5F, 0x4E, 0x08, 0xB0 + .byte 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02 + .byte 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43 + .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18 + .byte 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x50, 0x4B + .byte 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x9C, 0x82, 0x07, 0xD1, 0x9C, 0x8A, 0x49, 0x49, 0xC0, 0x06 + .byte 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x98, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x8A + .byte 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x98, 0x82, 0x00, 0xA8, 0x83, 0x8A + .byte 0xAA, 0x18, 0x43, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F + .byte 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03 + .byte 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x38, 0x4A + .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x53, 0x82, 0x07, 0xD1, 0x53, 0x8A, 0x31, 0x49, 0xC0, 0x06 + .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x50, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x8A + .byte 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x50, 0x82, 0x00, 0xA8, 0x43, 0x8A + .byte 0x2B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04 + .byte 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40 + .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x20, 0x4A + .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x82, 0x07, 0xD1, 0x13, 0x8A, 0x19, 0x49, 0xC0, 0x06 + .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8A + .byte 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x82, 0x00, 0xA8, 0x03, 0x8A + .byte 0x13, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04 + .byte 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00 + .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x09, 0x4A + .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x81, 0x14, 0xD1, 0xD3, 0x89, 0x01, 0x49, 0x0B, 0xE0 +_02017480: .word 0x04000008 +_02017484: .word 0xFFFFE0FF +_02017488: + .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04 + .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 + .byte 0xD0, 0x81, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43 + .byte 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x81, 0x00, 0xA8, 0xC3, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F + .byte 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04 + .byte 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xBA, 0x48, 0x43, 0x26 + .byte 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43 + .byte 0x01, 0x80, 0xF8, 0xBD, 0xB5, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x93, 0x81, 0x07, 0xD1 + .byte 0x93, 0x89, 0xB3, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x90, 0x81, 0x08, 0xE0 + .byte 0x02, 0x29, 0x06, 0xD1, 0x93, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 + .byte 0x90, 0x81, 0x00, 0xA8, 0x83, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F + .byte 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00 + .byte 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA0, 0x48, 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03 + .byte 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD + .byte 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0 + .byte 0x02, 0x2B, 0x5F, 0xD0, 0x97, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x5C, 0x81, 0x07, 0xD1 + .byte 0x5C, 0x89, 0x93, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x81, 0x08, 0xE0 + .byte 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43 + .byte 0x58, 0x81, 0x00, 0xA8, 0x43, 0x89, 0xAA, 0x18, 0x8A, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F + .byte 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01 + .byte 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0 + .byte 0x30, 0x80, 0xF8, 0xBD, 0x7F, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x81, 0x07, 0xD1 + .byte 0x13, 0x89, 0x7B, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x81, 0x08, 0xE0 + .byte 0x02, 0x29, 0x06, 0xD1, 0x13, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 + .byte 0x10, 0x81, 0x00, 0xA8, 0x03, 0x89, 0x73, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E + .byte 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88 + .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43 + .byte 0x30, 0x80, 0xF8, 0xBD, 0x67, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x80, 0x07, 0xD1 + .byte 0xD3, 0x88, 0x63, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0xD0, 0x80, 0x08, 0xE0 + .byte 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 + .byte 0xD0, 0x80, 0x00, 0xA8, 0xC3, 0x88, 0x5B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04 + .byte 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24 + .byte 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43 + .byte 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0 + .byte 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x4B, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB + .byte 0x9C, 0x80, 0x07, 0xD1, 0x9C, 0x88, 0x46, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43 + .byte 0x98, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43 + .byte 0x80, 0x0E, 0x20, 0x43, 0x98, 0x80, 0x00, 0xA8, 0x83, 0x88, 0xAA, 0x18, 0x3E, 0x4E, 0x98, 0x06 + .byte 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00 + .byte 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43 + .byte 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x33, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA + .byte 0x53, 0x80, 0x07, 0xD1, 0x53, 0x88, 0x2E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 + .byte 0x50, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43 + .byte 0x80, 0x0E, 0x18, 0x43, 0x50, 0x80, 0x00, 0xA8, 0x43, 0x88, 0x27, 0x4E, 0x08, 0xB0, 0xD9, 0x04 + .byte 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00 + .byte 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03 + .byte 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x1B, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA + .byte 0x13, 0x80, 0x07, 0xD1, 0x13, 0x88, 0x16, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 + .byte 0x10, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43 + .byte 0x80, 0x0E, 0x18, 0x43, 0x10, 0x80, 0x00, 0xA8, 0x03, 0x88, 0x0F, 0x4E, 0xD9, 0x04, 0xCC, 0x0E + .byte 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88 + .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43 + .byte 0x10, 0x43, 0x30, 0x80 +_020177C4: + add sp, #0x20 + pop {r3-r7, pc} +_020177C8: + .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04 + .byte 0xFF, 0xE0, 0xFF, 0xFF, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 + + thumb_func_start sub_020177DC +sub_020177DC: ; 0x020177DC + cmp r1, #0x0 + beq _020177EA + cmp r1, #0x1 + beq _0201780A + cmp r1, #0x2 + beq _0201782A + b _0201784A +_020177EA: + cmp r0, #0x1 + bne _020177F2 + mov r0, #0x0 + bx lr +_020177F2: + cmp r0, #0x2 + bne _020177FA + mov r0, #0x2 + bx lr +_020177FA: + cmp r0, #0x3 + bne _02017802 + mov r0, #0x1 + bx lr +_02017802: + cmp r0, #0x4 + bne _0201784A + mov r0, #0x3 + bx lr +_0201780A: + cmp r0, #0x0 + bne _02017812 + mov r0, #0x0 + bx lr +_02017812: + cmp r0, #0x1 + bne _0201781A + mov r0, #0x1 + bx lr +_0201781A: + cmp r0, #0x4 + bne _02017822 + mov r0, #0x2 + bx lr +_02017822: + cmp r0, #0x5 + bne _0201784A + mov r0, #0x3 + bx lr +_0201782A: + cmp r0, #0x0 + bne _02017832 + mov r0, #0x0 + bx lr +_02017832: + cmp r0, #0x1 + bne _0201783A + mov r0, #0x1 + bx lr +_0201783A: + cmp r0, #0x4 + bne _02017842 + mov r0, #0x2 + bx lr +_02017842: + cmp r0, #0x5 + bne _0201784A + mov r0, #0x3 + bx lr +_0201784A: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02017850 +sub_02017850: ; 0x02017850 + cmp r0, #0x5 + bhi _0201789E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r2, #0 + lsl r2, r3, #0 + lsl r4, r4, #0 + lsl r6, r5, #0 + lsl r6, r6, #0 + mov r0, #0x10 + strb r0, [r1, #0x0] + strb r0, [r2, #0x0] + bx lr +_02017874: + .byte 0x20, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x20, 0x20, 0x08, 0x70 + .byte 0x40, 0x20, 0x10, 0x70, 0x70, 0x47, 0x40, 0x20, 0x08, 0x70, 0x20, 0x20, 0x10, 0x70, 0x70, 0x47 + .byte 0x40, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x80, 0x20, 0x08, 0x70, 0x10, 0x70 +_0201789E: + bx lr + + thumb_func_start sub_020178A0 +sub_020178A0: ; 0x020178A0 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r2, #0x2c + add r5, r1, #0x0 + mul r5, r2 + add r4, #0x8 + ldr r0, [r4, r5] + cmp r0, #0x0 + beq _020178BA + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, r5] +_020178BA: + pop {r3-r5, pc} + + thumb_func_start sub_020178BC +sub_020178BC: ; 0x020178BC + cmp r0, #0x7 + bhi _0201795A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r3, #0 + lsl r6, r5, #0 + lsl r6, r7, #0 + lsl r6, r1, #0x1 + lsl r6, r3, #0x1 + lsl r6, r5, #0x1 + lsl r6, r7, #0x1 + ldr r2, _0201795C ; =0x04000008 + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_020178EC: + .byte 0x1C, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x19, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x16, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x13, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x10, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0D, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0A, 0x4A, 0x03, 0x20 + .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80 +_0201795A: + bx lr + .balign 4 +_0201795C: .word 0x04000008 +_02017960: + .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04 + .byte 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 + + thumb_func_start sub_0201797C +sub_0201797C: ; 0x0201797C + push {r3, lr} + cmp r0, #0x7 + bhi _020179DC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + lsl r6, r5, #0 + lsl r6, r6, #0 + lsl r6, r7, #0 + lsl r6, r0, #0x1 + mov r0, #0x1 + bl sub_0201E6E4 + pop {r3, pc} +_020179A6: + .byte 0x02, 0x20, 0x06, 0xF0, 0x9C, 0xFE, 0x08, 0xBD, 0x04, 0x20 + .byte 0x06, 0xF0, 0x98, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0x94, 0xFE, 0x08, 0xBD, 0x01, 0x20 + .byte 0x06, 0xF0, 0xC4, 0xFE, 0x08, 0xBD, 0x02, 0x20, 0x06, 0xF0, 0xC0, 0xFE, 0x08, 0xBD, 0x04, 0x20 + .byte 0x06, 0xF0, 0xBC, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0xB8, 0xFE +_020179DC: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020179E0 +sub_020179E0: ; 0x020179E0 + push {r4-r6, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + mov r0, #0x2c + add r6, r5, #0x0 + mul r6, r0 + add r0, r4, #0x0 + add r0, #0x8 + add r1, r2, #0x0 + add r2, r3, #0x0 + add r0, r0, r6 + bl sub_02017B8C + add r0, r4, r6 + ldr r1, [r0, #0x14] + ldr r0, [r0, #0x18] + cmp r5, #0x7 + bls _02017A06 + b _02017B1C +_02017A06: + add r2, r5, r5 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r1, #0 + lsl r4, r4, #0 + lsl r2, r7, #0 + lsl r4, r4, #0x1 + lsl r6, r1, #0x2 + lsl r4, r4, #0x2 + lsl r2, r7, #0x2 + lsl r2, r4, #0x3 + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B24 ; =0x04000010 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017A38: + .byte 0x39, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 + .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x37, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x22, 0x1C + .byte 0x74, 0x32, 0x12, 0x78, 0x00, 0x2A, 0x0A, 0xD1, 0x31, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 + .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x30, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C + .byte 0x02, 0x21, 0x00, 0xF0, 0xFB, 0xF8, 0x70, 0xBD, 0x22, 0x1C, 0xA0, 0x32, 0x12, 0x78, 0x00, 0x2A + .byte 0x0A, 0xD1, 0x27, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C + .byte 0x01, 0x43, 0x27, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x03, 0x21, 0x00, 0xF0, 0xE6, 0xF8 + .byte 0x70, 0xBD, 0x1F, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C + .byte 0x01, 0x43, 0x20, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x19, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 + .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x1B, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x49, 0x22 + .byte 0x92, 0x00, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1, 0xDB, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x17, 0x48 + .byte 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x16, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x06, 0x21 + .byte 0x00, 0xF0, 0xBC, 0xF8, 0x70, 0xBD, 0x15, 0x22, 0x12, 0x01, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1 + .byte 0xAF, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x0D, 0x48, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x0D, 0x48 + .byte 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x07, 0x21, 0x00, 0xF0, 0xA8, 0xF8 +_02017B1C: + pop {r4-r6, pc} + nop +_02017B20: .word 0x000001FF +_02017B24: .word 0x04000010 +_02017B28: + .byte 0x14, 0x00, 0x00, 0x04, 0x18, 0x00, 0x00, 0x04 + .byte 0x1C, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00, 0x04, 0x14, 0x10, 0x00, 0x04, 0x00, 0x00, 0xFF, 0x01 + .byte 0x18, 0x10, 0x00, 0x04, 0x1C, 0x10, 0x00, 0x04 + + thumb_func_start sub_02017B48 +sub_02017B48: ; 0x02017B48 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_02017B54 +sub_02017B54: ; 0x02017B54 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x18] + bx lr + .balign 4 + + thumb_func_start sub_02017B60 +sub_02017B60: ; 0x02017B60 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + mov r0, #0x2c + add r1, #0x8 + mul r0, r4 + add r0, r1, r0 + add r1, r2, #0x0 + add r2, r3, #0x0 + bl sub_02017B8C + ldr r0, [sp, #0x18] + ldr r2, [sp, #0x10] + str r0, [sp, #0x0] + ldr r3, [sp, #0x14] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02017BD0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02017B8C +sub_02017B8C: ; 0x02017B8C + cmp r1, #0x5 + bhi _02017BCE + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r2, r5, #0 + str r2, [r0, #0xc] + bx lr +_02017BAC: + .byte 0xC1, 0x68, 0x89, 0x18 + .byte 0xC1, 0x60, 0x70, 0x47, 0xC1, 0x68, 0x89, 0x1A, 0xC1, 0x60, 0x70, 0x47, 0x02, 0x61, 0x70, 0x47 + .byte 0x01, 0x69, 0x89, 0x18, 0x01, 0x61, 0x70, 0x47, 0x01, 0x69, 0x89, 0x1A, 0x01, 0x61 +_02017BCE: + bx lr + + thumb_func_start sub_02017BD0 +sub_02017BD0: ; 0x02017BD0 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x18] + cmp r4, #0x7 + bhi _02017C58 + add r5, r4, r4 + add r5, pc + ldrh r5, [r5, #0x6] + lsl r5, r5, #0x10 + asr r5, r5, #0x10 + add pc, r5 + lsl r2, r5, #0x1 + lsl r2, r5, #0x1 + lsl r6, r1, #0 + lsl r6, r4, #0 + lsl r2, r5, #0x1 + lsl r2, r5, #0x1 + lsl r6, r7, #0 + lsl r6, r2, #0x1 + mov r5, #0x2c + mul r5, r4 + add r4, r0, r5 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, _02017C5C ; =0x04000020 + blx sub_020C74F8 + add sp, #0x8 + pop {r3-r5, pc} +_02017C14: + .byte 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69 + .byte 0x01, 0x90, 0x0F, 0x48, 0xAF, 0xF0, 0x68, 0xEC, 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43 + .byte 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69, 0x01, 0x90, 0x0A, 0x48, 0xAF, 0xF0, 0x5C, 0xEC + .byte 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69 + .byte 0x01, 0x90, 0x05, 0x48, 0xAF, 0xF0, 0x50, 0xEC +_02017C58: + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02017C5C: .word 0x04000020 +_02017C60: + .byte 0x30, 0x00, 0x00, 0x04, 0x20, 0x10, 0x00, 0x04, 0x30, 0x10, 0x00, 0x04 + + thumb_func_start sub_02017C6C +sub_02017C6C: ; 0x02017C6C + push {r4-r5, lr} + sub sp, #0x14 + mov r2, #0x1 + lsl r2, r2, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0x0 + add r0, sp, #0x4 + add r3, r2, #0x0 + str r1, [sp, #0x0] + bl sub_0201BB74 + mov r3, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0x4 + str r3, [sp, #0x0] + bl sub_02017BD0 + add sp, #0x14 + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02017C98 +sub_02017C98: ; 0x02017C98 + push {r3-r5, lr} + cmp r2, #0x0 + bne _02017CA4 + blx sub_020CE528 + pop {r3-r5, pc} +_02017CA4: + mov r4, #0x3 + add r3, r0, #0x0 + tst r3, r4 + bne _02017CCA + add r3, r1, #0x0 + tst r3, r4 + bne _02017CCA + lsl r3, r2, #0x10 + lsr r3, r3, #0x10 + lsr r4, r3, #0x1f + lsl r5, r3, #0x1e + sub r5, r5, r4 + mov r3, #0x1e + ror r5, r3 + add r3, r4, r5 + bne _02017CCA + blx sub_020CE210 + pop {r3-r5, pc} +_02017CCA: + blx sub_020CE1E0 + pop {r3-r5, pc} + + thumb_func_start sub_02017CD0 +sub_02017CD0: ; 0x02017CD0 + push {r3, lr} + mov r2, #0x2c + mul r2, r1 + add r3, r0, r2 + ldr r2, [r3, #0x10] + str r2, [sp, #0x0] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_02017CE8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02017CE8 +sub_02017CE8: ; 0x02017CE8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x0] + cmp r3, #0x0 + bne _02017D56 + mov r0, #0x2c + add r7, r4, #0x0 + mul r7, r0 + add r0, r5, r7 + ldr r0, [r0, #0x8] + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02017D26 + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + add r2, r3, #0x0 + bl sub_02017C98 + add r3, r5, r7 + ldr r2, [r3, #0x10] + ldr r1, [sp, #0x4] + ldr r3, [r3, #0xc] + add r0, r4, #0x0 + lsl r2, r2, #0x1 + bl sub_02017D68 + add sp, #0x8 + pop {r3-r7, pc} +_02017D26: + ldr r0, [r6, #0x0] + lsr r7, r0, #0x8 + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + bl sub_020169D8 + add r5, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02017C98 + ldr r2, [sp, #0x20] + add r0, r4, #0x0 + add r1, r5, #0x0 + lsl r2, r2, #0x1 + add r3, r7, #0x0 + bl sub_02017D68 + add r0, r5, #0x0 + bl sub_02016A18 + add sp, #0x8 + pop {r3-r7, pc} +_02017D56: + ldr r2, [sp, #0x20] + add r0, r4, #0x0 + add r1, r6, #0x0 + lsl r2, r2, #0x1 + bl sub_02017D68 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02017D68 +sub_02017D68: ; 0x02017D68 + push {r3-r7, lr} + add r4, r1, #0x0 + add r6, r3, #0x0 + add r7, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r5, r2, #0x0 + blx sub_020CC15C + cmp r7, #0x7 + bhi _02017DF8 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r2, r3, #0 + lsl r6, r4, #0 + lsl r2, r6, #0 + lsl r6, r7, #0 + lsl r2, r1, #0x1 + lsl r6, r2, #0x1 + lsl r2, r4, #0x1 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx sub_020C922C + pop {r3-r7, pc} +_02017DA6: + .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xD6, 0xE9 + .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x68, 0xE9, 0xF8, 0xBD, 0x20, 0x1C + .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xFA, 0xE8, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C + .byte 0xB1, 0xF0, 0xF8, 0xE9, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x8A, 0xE9 + .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x1C, 0xE9, 0xF8, 0xBD, 0x20, 0x1C + .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xAE, 0xE8 +_02017DF8: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02017DFC +sub_02017DFC: ; 0x02017DFC + push {r4, lr} + add r4, r0, #0x0 + add r0, r2, #0x0 + mov r2, #0x2c + mul r2, r1 + add r1, r4, r2 + ldr r1, [r1, #0x8] + add r2, r3, #0x0 + bl sub_02017C98 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02017E14 +sub_02017E14: ; 0x02017E14 + push {r3-r4, lr} + sub sp, #0x4 + mov r4, #0x2c + mul r4, r1 + add r4, r0, r4 + ldrb r4, [r4, #0x1e] + cmp r4, #0x0 + bne _02017E32 + ldr r4, [sp, #0x10] + lsl r4, r4, #0x5 + str r4, [sp, #0x0] + bl sub_02017E40 + add sp, #0x4 + pop {r3-r4, pc} +_02017E32: + ldr r4, [sp, #0x10] + lsl r4, r4, #0x6 + str r4, [sp, #0x0] + bl sub_02017E40 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02017E40 +sub_02017E40: ; 0x02017E40 + push {r3-r7, lr} + add r7, r1, #0x0 + add r5, r2, #0x0 + str r3, [sp, #0x0] + cmp r3, #0x0 + bne _02017E78 + ldr r1, [r5, #0x0] + ldr r0, [r0, #0x0] + lsr r4, r1, #0x8 + add r1, r4, #0x0 + bl sub_020169D8 + add r6, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02017C98 + ldr r2, [sp, #0x18] + add r0, r7, #0x0 + add r1, r6, #0x0 + add r3, r4, #0x0 + bl sub_02017E84 + add r0, r6, #0x0 + bl sub_02016A18 + pop {r3-r7, pc} +_02017E78: + ldr r2, [sp, #0x18] + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_02017E84 + pop {r3-r7, pc} + + thumb_func_start sub_02017E84 +sub_02017E84: ; 0x02017E84 + push {r3-r7, lr} + add r4, r1, #0x0 + add r6, r3, #0x0 + add r7, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r5, r2, #0x0 + blx sub_020CC15C + cmp r7, #0x7 + bhi _02017F14 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r2, r3, #0 + lsl r6, r4, #0 + lsl r2, r6, #0 + lsl r6, r7, #0 + lsl r2, r1, #0x1 + lsl r6, r2, #0x1 + lsl r2, r4, #0x1 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx sub_020C8EEC + pop {r3-r7, pc} +_02017EC2: + .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xA8, 0xEF, 0xF8, 0xBD, 0x20, 0x1C + .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x3A, 0xEF, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C + .byte 0xB0, 0xF0, 0xCC, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xCA, 0xEF + .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x5C, 0xEF, 0xF8, 0xBD, 0x20, 0x1C + .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xEE, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C + .byte 0xB0, 0xF0, 0x80, 0xEE +_02017F14: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02017F18 +sub_02017F18: ; 0x02017F18 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r3, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_020169D8 + add r4, r0, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + blx sub_020DF4A4 + add r0, r6, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + add r3, r5, #0x0 + bl sub_02017E84 + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_02016A8C + pop {r3-r7, pc} + + thumb_func_start sub_02017F48 +sub_02017F48: ; 0x02017F48 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r1, #0x0 + add r4, r0, #0x0 + mov r1, #0x2c + add r6, r7, #0x0 + add r4, #0x1f + mul r6, r1 + ldrb r1, [r4, r6] + ldr r0, [r0, #0x0] + add r5, r2, #0x0 + mul r1, r3 + str r1, [sp, #0x0] + bl sub_020169D8 + str r0, [sp, #0x4] + ldrb r0, [r4, r6] + cmp r0, #0x20 + bne _02017F82 + lsl r2, r5, #0xc + lsl r1, r5, #0x8 + lsl r0, r5, #0x4 + orr r1, r2 + orr r0, r1 + add r1, r5, #0x0 + orr r1, r0 + lsl r0, r1, #0x10 + add r5, r1, #0x0 + b _02017F8C +_02017F82: + lsl r2, r5, #0x18 + lsl r1, r5, #0x10 + lsl r0, r5, #0x8 + orr r1, r2 + orr r0, r1 +_02017F8C: + orr r5, r0 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + blx sub_020CE240 + lsl r0, r7, #0x18 + ldrb r2, [r4, r6] + ldr r3, [sp, #0x20] + ldr r1, [sp, #0x4] + mul r2, r3 + ldr r3, [sp, #0x0] + lsr r0, r0, #0x18 + bl sub_02017E84 + ldr r0, [sp, #0x4] + bl sub_02016A18 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02017FB4 +sub_02017FB4: ; 0x02017FB4 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r7, r3, #0x0 + blx sub_020CC15C + cmp r6, #0x4 + bhs _02017FD6 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r4, #0x0 + blx sub_020C9550 + pop {r3-r7, pc} +_02017FD6: + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r4, #0x0 + blx sub_020C94E8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02017FE4 +sub_02017FE4: ; 0x02017FE4 + push {r0-r3} + push {r3, lr} + add r1, sp, #0xc + mov r2, #0x2 + mov r3, #0x0 + bl sub_02017FB4 + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 + + thumb_func_start sub_02017FFC +sub_02017FFC: ; 0x02017FFC + cmp r2, #0x5 + bhi _02018066 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r1, #0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r6, r3, #0 + lsl r4, r6, #0 + lsl r6, r2, #0x1 + lsl r1, r1, #0x4 + add r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02018022: + .byte 0x49, 0x01, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x70, 0x47, 0x1F, 0x22, 0x03, 0x1C + .byte 0x13, 0x40, 0x1F, 0x22, 0x90, 0x43, 0x08, 0x18, 0x40, 0x01, 0x18, 0x18, 0x00, 0x04, 0x00, 0x0C + .byte 0x70, 0x47, 0x4A, 0x11, 0x43, 0x11, 0x52, 0x00, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x92, 0x06 + .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0xC8, 0x06, 0x80, 0x0D, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04 + .byte 0x00, 0x0C, 0x70, 0x47, 0x00, 0x20 +_02018066: + bx lr + + thumb_func_start sub_02018068 +sub_02018068: ; 0x02018068 + push {r3-r7} + sub sp, #0x4 + str r3, [sp, #0x0] + add r6, r2, #0x0 + ldr r5, [sp, #0x0] + add r4, r6, #0x0 + sub r4, #0x20 + sub r5, #0x20 + mov r2, #0x0 + lsl r4, r4, #0x10 + lsl r5, r5, #0x10 + add r3, r2, #0x0 + asr r4, r4, #0x10 + asr r7, r5, #0x10 + lsr r5, r0, #0x5 + beq _0201808E + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 +_0201808E: + lsr r5, r1, #0x5 + beq _02018098 + add r2, r2, #0x2 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 +_02018098: + cmp r2, #0x3 + bhi _02018140 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r0, #0 + lsl r4, r4, #0 + lsl r2, r1, #0x1 + lsl r6, r6, #0x1 + cmp r4, #0x0 + blt _020180C0 + lsl r1, r1, #0x5 + add r0, r0, r1 + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + b _02018140 +_020180C0: + add r2, r1, #0x0 + mul r2, r6 + add r0, r0, r2 + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + b _02018140 +_020180CE: + .byte 0x00, 0x2F + .byte 0x02, 0xDB, 0x01, 0x22, 0x92, 0x02, 0x01, 0xE0, 0x00, 0x9A, 0x52, 0x01, 0x9A, 0x18, 0x12, 0x04 + .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0x08, 0x1C, 0x60, 0x43, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04 + .byte 0x03, 0x0C, 0x25, 0xE0, 0x72, 0x01, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x00, 0x2C, 0x06, 0xDB + .byte 0xC9, 0x06, 0x89, 0x0D, 0x40, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x18, 0xE0, 0x1F, 0x23 + .byte 0x19, 0x40, 0x0B, 0x1C, 0x73, 0x43, 0xC0, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x0F, 0xE0 + .byte 0xF2, 0x19, 0x52, 0x01, 0x9A, 0x18, 0x05, 0x1C, 0x1F, 0x23, 0x08, 0x1C, 0x18, 0x40, 0x01, 0x1C + .byte 0x12, 0x04, 0x1D, 0x40, 0x61, 0x43, 0x12, 0x0C, 0x68, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C +_02018140: + add r0, r3, #0x0 + add sp, #0x4 + pop {r3-r7} + bx lr + + thumb_func_start sub_02018148 +sub_02018148: ; 0x02018148 + push {r3-r6, lr} + sub sp, #0x1c + add r6, sp, #0x20 + ldrb r5, [r6, #0x14] + str r5, [sp, #0x0] + ldrb r4, [r6, #0x18] + str r4, [sp, #0x4] + str r2, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + str r2, [sp, #0x10] + str r5, [sp, #0x14] + str r4, [sp, #0x18] + add r2, r3, #0x0 + ldrb r3, [r6, #0x10] + bl sub_02018170 + add sp, #0x1c + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02018170 +sub_02018170: ; 0x02018170 + push {r4-r5, lr} + sub sp, #0x1c + add r4, r2, #0x0 + add r2, r3, #0x0 + mov r3, #0x2c + add r5, r1, #0x0 + mul r5, r3 + add r1, r0, r5 + ldrb r1, [r1, #0x1c] + add r3, sp, #0x18 + cmp r1, #0x1 + beq _020181BA + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldr r1, [sp, #0x30] + str r1, [sp, #0x4] + ldrb r1, [r3, #0x1c] + str r1, [sp, #0x8] + add r1, sp, #0x38 + ldrb r1, [r1, #0x0] + str r1, [sp, #0xc] + add r1, sp, #0x3c + ldrb r1, [r1, #0x0] + str r1, [sp, #0x10] + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + str r1, [sp, #0x14] + mov r1, #0x0 + str r1, [sp, #0x18] + ldrb r3, [r3, #0x10] + add r1, r4, #0x0 + bl sub_02018268 + add sp, #0x1c + pop {r4-r5, pc} +_020181BA: + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldr r1, [sp, #0x30] + str r1, [sp, #0x4] + ldrb r1, [r3, #0x1c] + str r1, [sp, #0x8] + add r1, sp, #0x38 + ldrb r1, [r1, #0x0] + str r1, [sp, #0xc] + add r1, sp, #0x3c + ldrb r1, [r1, #0x0] + str r1, [sp, #0x10] + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + str r1, [sp, #0x14] + mov r1, #0x0 + str r1, [sp, #0x18] + ldrb r3, [r3, #0x10] + add r1, r4, #0x0 + bl sub_020183DC + add sp, #0x1c + pop {r4-r5, pc} + + thumb_func_start sub_020181EC +sub_020181EC: ; 0x020181EC + push {r4-r5, lr} + sub sp, #0x1c + add r4, r2, #0x0 + add r2, r3, #0x0 + mov r3, #0x2c + add r5, r1, #0x0 + mul r5, r3 + add r1, r0, r5 + ldrb r1, [r1, #0x1c] + add r3, sp, #0x18 + cmp r1, #0x1 + beq _02018236 + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldr r1, [sp, #0x30] + str r1, [sp, #0x4] + ldrb r1, [r3, #0x1c] + str r1, [sp, #0x8] + add r1, sp, #0x38 + ldrb r1, [r1, #0x0] + str r1, [sp, #0xc] + add r1, sp, #0x3c + ldrb r1, [r1, #0x0] + str r1, [sp, #0x10] + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + str r1, [sp, #0x14] + mov r1, #0x1 + str r1, [sp, #0x18] + ldrb r3, [r3, #0x10] + add r1, r4, #0x0 + bl sub_02018268 + add sp, #0x1c + pop {r4-r5, pc} +_02018236: + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldr r1, [sp, #0x30] + str r1, [sp, #0x4] + ldrb r1, [r3, #0x1c] + str r1, [sp, #0x8] + add r1, sp, #0x38 + ldrb r1, [r1, #0x0] + str r1, [sp, #0xc] + add r1, sp, #0x3c + ldrb r1, [r1, #0x0] + str r1, [sp, #0x10] + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + str r1, [sp, #0x14] + mov r1, #0x1 + str r1, [sp, #0x18] + ldrb r3, [r3, #0x10] + add r1, r4, #0x0 + bl sub_020183DC + add sp, #0x1c + pop {r4-r5, pc} + + thumb_func_start sub_02018268 +sub_02018268: ; 0x02018268 + push {r4-r7, lr} + sub sp, #0x44 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r7, r0, #0x0 + ldr r0, [sp, #0x58] + add r6, r3, #0x0 + str r0, [sp, #0x58] + ldr r0, [sp, #0x5c] + ldr r4, [sp, #0x68] + str r0, [sp, #0x5c] + ldr r0, [sp, #0x6c] + str r0, [sp, #0x6c] + ldr r0, [r7, #0x0] + str r0, [sp, #0x2c] + cmp r0, #0x0 + bne _0201828C + b _020183D6 +_0201828C: + ldrb r0, [r7, #0x15] + add r1, sp, #0x40 + add r1, #0x1 + add r2, sp, #0x40 + bl sub_02017850 + add r0, sp, #0x70 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201833A + mov r0, #0x0 + str r0, [sp, #0x28] + ldr r0, [sp, #0x58] + cmp r0, #0x0 + bls _020182CA + add r1, sp, #0x48 + ldrb r0, [r1, #0x1c] + str r0, [sp, #0x1c] + ldrb r0, [r1, #0x18] + str r0, [sp, #0x18] + lsl r1, r0, #0x1 + ldr r0, [sp, #0x5c] + add r0, r0, r1 + str r0, [sp, #0x14] +_020182BC: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x28] + add r0, r1, r0 + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + cmp r0, r1 + blt _020182CC +_020182CA: + b _020183D6 +_020182CC: + ldr r2, [sp, #0x1c] + ldr r1, [sp, #0x28] + add r2, r2, r1 + ldr r1, [sp, #0x6c] + cmp r2, r1 + bge _020183D6 + mov r5, #0x0 + cmp r6, #0x0 + bls _02018326 + add r1, r4, #0x0 + mul r1, r2 + lsl r2, r1, #0x1 + ldr r1, [sp, #0x14] + lsl r0, r0, #0x18 + add r1, r1, r2 + lsr r0, r0, #0x18 + str r1, [sp, #0x10] + str r0, [sp, #0x30] +_020182F0: + add r1, sp, #0x40 + ldr r0, [sp, #0x0] + ldrb r1, [r1, #0x1] + add r0, r0, r5 + cmp r0, r1 + bge _02018326 + ldr r1, [sp, #0x18] + add r1, r1, r5 + cmp r1, r4 + bge _02018326 + ldrb r2, [r7, #0x15] + lsl r0, r0, #0x18 + ldr r1, [sp, #0x30] + lsr r0, r0, #0x18 + bl sub_02017FFC + ldr r1, [sp, #0x10] + lsl r2, r5, #0x1 + ldrh r1, [r1, r2] + lsl r2, r0, #0x1 + ldr r0, [sp, #0x2c] + strh r1, [r0, r2] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _020182F0 +_02018326: + ldr r0, [sp, #0x28] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + str r1, [sp, #0x28] + ldr r0, [sp, #0x58] + cmp r1, r0 + blo _020182BC + add sp, #0x44 + pop {r4-r7, pc} +_0201833A: + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x58] + cmp r0, #0x0 + bls _020183D6 + add r1, sp, #0x48 + ldrb r0, [r1, #0x1c] + str r0, [sp, #0x24] + ldrb r0, [r1, #0x18] + str r0, [sp, #0x20] +_0201834E: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + add r1, r1, r0 + add r0, sp, #0x40 + ldrb r0, [r0, #0x0] + cmp r1, r0 + bge _020183D6 + ldr r2, [sp, #0x24] + ldr r0, [sp, #0x8] + add r0, r2, r0 + ldr r2, [sp, #0x6c] + cmp r0, r2 + bge _020183D6 + mov r5, #0x0 + cmp r6, #0x0 + bls _020183C6 + lsl r1, r1, #0x18 + lsl r0, r0, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + str r1, [sp, #0x34] + str r0, [sp, #0x3c] +_0201837A: + add r1, sp, #0x40 + ldr r0, [sp, #0x0] + ldrb r1, [r1, #0x1] + add r0, r0, r5 + cmp r0, r1 + bge _020183C6 + ldr r1, [sp, #0x20] + add r1, r1, r5 + str r1, [sp, #0xc] + cmp r1, r4 + bge _020183C6 + ldrb r2, [r7, #0x15] + lsl r0, r0, #0x18 + ldr r1, [sp, #0x34] + lsr r0, r0, #0x18 + bl sub_02017FFC + str r0, [sp, #0x38] + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x3c] + lsl r0, r0, #0x18 + ldr r3, [sp, #0x6c] + lsr r0, r0, #0x18 + add r2, r4, #0x0 + bl sub_02018068 + lsl r1, r0, #0x1 + ldr r0, [sp, #0x5c] + ldrh r0, [r0, r1] + ldr r1, [sp, #0x38] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x2c] + strh r0, [r1, r2] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _0201837A +_020183C6: + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + str r1, [sp, #0x8] + ldr r0, [sp, #0x58] + cmp r1, r0 + blo _0201834E +_020183D6: + add sp, #0x44 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020183DC +sub_020183DC: ; 0x020183DC + push {r4-r7, lr} + sub sp, #0x44 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r7, r0, #0x0 + ldr r0, [sp, #0x58] + add r6, r3, #0x0 + str r0, [sp, #0x58] + ldr r0, [sp, #0x5c] + ldr r4, [sp, #0x68] + str r0, [sp, #0x5c] + ldr r0, [sp, #0x6c] + str r0, [sp, #0x6c] + ldr r0, [r7, #0x0] + str r0, [sp, #0x2c] + cmp r0, #0x0 + bne _02018400 + b _0201853C +_02018400: + ldrb r0, [r7, #0x15] + add r1, sp, #0x40 + add r1, #0x1 + add r2, sp, #0x40 + bl sub_02017850 + add r0, sp, #0x70 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _020184A4 + mov r0, #0x0 + str r0, [sp, #0x28] + ldr r0, [sp, #0x58] + cmp r0, #0x0 + bhi _02018420 + b _0201853C +_02018420: + add r1, sp, #0x48 + ldrb r0, [r1, #0x1c] + str r0, [sp, #0x1c] + ldrb r0, [r1, #0x18] + ldr r1, [sp, #0x5c] + str r0, [sp, #0x18] + add r0, r1, r0 + str r0, [sp, #0x14] +_02018430: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x28] + add r0, r1, r0 + add r1, sp, #0x40 + ldrb r1, [r1, #0x0] + cmp r0, r1 + bge _0201853C + ldr r2, [sp, #0x1c] + ldr r1, [sp, #0x28] + add r2, r2, r1 + ldr r1, [sp, #0x6c] + cmp r2, r1 + bge _0201853C + mov r5, #0x0 + cmp r6, #0x0 + bls _02018490 + ldr r1, [sp, #0x14] + mul r2, r4 + lsl r0, r0, #0x18 + add r1, r1, r2 + lsr r0, r0, #0x18 + str r1, [sp, #0x10] + str r0, [sp, #0x30] +_0201845E: + add r1, sp, #0x40 + ldr r0, [sp, #0x0] + ldrb r1, [r1, #0x1] + add r0, r0, r5 + cmp r0, r1 + bge _02018490 + ldr r1, [sp, #0x18] + add r1, r1, r5 + cmp r1, r4 + bge _02018490 + ldrb r2, [r7, #0x15] + lsl r0, r0, #0x18 + ldr r1, [sp, #0x30] + lsr r0, r0, #0x18 + bl sub_02017FFC + ldr r1, [sp, #0x10] + ldrb r2, [r1, r5] + ldr r1, [sp, #0x2c] + strb r2, [r1, r0] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _0201845E +_02018490: + ldr r0, [sp, #0x28] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + str r1, [sp, #0x28] + ldr r0, [sp, #0x58] + cmp r1, r0 + blo _02018430 + add sp, #0x44 + pop {r4-r7, pc} +_020184A4: + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x58] + cmp r0, #0x0 + bls _0201853C + add r1, sp, #0x48 + ldrb r0, [r1, #0x1c] + str r0, [sp, #0x24] + ldrb r0, [r1, #0x18] + str r0, [sp, #0x20] +_020184B8: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + add r1, r1, r0 + add r0, sp, #0x40 + ldrb r0, [r0, #0x0] + cmp r1, r0 + bge _0201853C + ldr r2, [sp, #0x24] + ldr r0, [sp, #0x8] + add r0, r2, r0 + ldr r2, [sp, #0x6c] + cmp r0, r2 + bge _0201853C + mov r5, #0x0 + cmp r6, #0x0 + bls _0201852C + lsl r1, r1, #0x18 + lsl r0, r0, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + str r1, [sp, #0x34] + str r0, [sp, #0x3c] +_020184E4: + add r1, sp, #0x40 + ldr r0, [sp, #0x0] + ldrb r1, [r1, #0x1] + add r0, r0, r5 + cmp r0, r1 + bge _0201852C + ldr r1, [sp, #0x20] + add r1, r1, r5 + str r1, [sp, #0xc] + cmp r1, r4 + bge _0201852C + ldrb r2, [r7, #0x15] + lsl r0, r0, #0x18 + ldr r1, [sp, #0x34] + lsr r0, r0, #0x18 + bl sub_02017FFC + str r0, [sp, #0x38] + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x3c] + lsl r0, r0, #0x18 + ldr r3, [sp, #0x6c] + lsr r0, r0, #0x18 + add r2, r4, #0x0 + bl sub_02018068 + ldr r1, [sp, #0x5c] + ldrb r2, [r1, r0] + ldr r1, [sp, #0x2c] + ldr r0, [sp, #0x38] + strb r2, [r1, r0] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _020184E4 +_0201852C: + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + str r1, [sp, #0x8] + ldr r0, [sp, #0x58] + cmp r1, r0 + blo _020184B8 +_0201853C: + add sp, #0x44 + pop {r4-r7, pc} + + thumb_func_start sub_02018540 +sub_02018540: ; 0x02018540 + push {r4-r5, lr} + sub sp, #0xc + add r4, r2, #0x0 + add r2, r3, #0x0 + mov r3, #0x2c + add r5, r1, #0x0 + mul r5, r3 + add r1, r0, r5 + ldrb r1, [r1, #0x1c] + add r3, sp, #0x8 + cmp r1, #0x1 + beq _02018574 + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldrb r1, [r3, #0x18] + str r1, [sp, #0x4] + ldrb r1, [r3, #0x1c] + str r1, [sp, #0x8] + ldrb r3, [r3, #0x10] + add r1, r4, #0x0 + bl sub_02018590 + add sp, #0xc + pop {r4-r5, pc} +_02018574: + ldrb r1, [r3, #0x14] + add r0, #0x8 + add r0, r0, r5 + str r1, [sp, #0x0] + ldrb r1, [r3, #0x18] + str r1, [sp, #0x4] + lsl r1, r4, #0x18 + ldrb r3, [r3, #0x10] + lsr r1, r1, #0x18 + bl sub_02018640 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02018590 +sub_02018590: ; 0x02018590 + push {r4-r7, lr} + sub sp, #0x1c + str r2, [sp, #0x4] + str r3, [sp, #0x8] + ldr r4, [r0, #0x0] + add r7, r1, #0x0 + str r0, [sp, #0x0] + ldr r6, [sp, #0x38] + cmp r4, #0x0 + beq _0201863A + ldrb r0, [r0, #0x15] + add r1, sp, #0x18 + add r1, #0x1 + add r2, sp, #0x18 + bl sub_02017850 + add r0, sp, #0x20 + ldrb r2, [r0, #0x14] + ldr r1, [sp, #0x8] + add r1, r1, r2 + ldr r2, [sp, #0x8] + str r1, [sp, #0xc] + cmp r2, r1 + bge _0201863A + ldrb r2, [r0, #0x10] + ldr r0, [sp, #0x4] + lsl r1, r6, #0xc + add r0, r0, r2 + add r1, r1, r7 + str r0, [sp, #0x10] + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x14] +_020185D2: + add r0, sp, #0x18 + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x8] + cmp r0, r1 + bhs _0201863A + ldr r5, [sp, #0x4] + ldr r0, [sp, #0x10] + add r1, r5, #0x0 + cmp r1, r0 + bge _0201862A +_020185E6: + add r0, sp, #0x18 + ldrb r0, [r0, #0x1] + cmp r5, r0 + bhs _0201862A + ldr r2, [sp, #0x0] + ldr r1, [sp, #0x8] + ldrb r2, [r2, #0x15] + add r0, r5, #0x0 + bl sub_02017FFC + cmp r6, #0x11 + bne _02018604 + lsl r0, r0, #0x1 + strh r7, [r4, r0] + b _0201861E +_02018604: + cmp r6, #0x10 + bne _02018618 + lsl r0, r0, #0x1 + ldrh r2, [r4, r0] + mov r1, #0xf + lsl r1, r1, #0xc + and r1, r2 + add r1, r7, r1 + strh r1, [r4, r0] + b _0201861E +_02018618: + lsl r1, r0, #0x1 + ldr r0, [sp, #0x14] + strh r0, [r4, r1] +_0201861E: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, [sp, #0x10] + cmp r5, r0 + blt _020185E6 +_0201862A: + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r0, [sp, #0xc] + str r1, [sp, #0x8] + cmp r1, r0 + blt _020185D2 +_0201863A: + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02018640 +sub_02018640: ; 0x02018640 + push {r4-r7, lr} + sub sp, #0x14 + str r1, [sp, #0x0] + add r7, r0, #0x0 + str r2, [sp, #0x4] + ldr r0, [r7, #0x0] + add r5, r3, #0x0 + str r0, [sp, #0xc] + cmp r0, #0x0 + beq _020186B0 + ldrb r0, [r7, #0x15] + add r1, sp, #0x10 + add r1, #0x1 + add r2, sp, #0x10 + bl sub_02017850 + add r1, sp, #0x18 + ldrb r0, [r1, #0x14] + add r0, r5, r0 + str r0, [sp, #0x8] + cmp r5, r0 + bge _020186B0 + ldrb r1, [r1, #0x10] + ldr r0, [sp, #0x4] + add r6, r0, r1 +_02018672: + add r0, sp, #0x10 + ldrb r0, [r0, #0x0] + cmp r5, r0 + bhs _020186B0 + ldr r4, [sp, #0x4] + add r0, r4, #0x0 + cmp r0, r6 + bge _020186A4 +_02018682: + add r0, sp, #0x10 + ldrb r0, [r0, #0x1] + cmp r4, r0 + bhs _020186A4 + ldrb r2, [r7, #0x15] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02017FFC + ldr r2, [sp, #0x0] + ldr r1, [sp, #0xc] + strb r2, [r1, r0] + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, r6 + blt _02018682 +_020186A4: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, [sp, #0x8] + cmp r5, r0 + blt _02018672 +_020186B0: + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_020186B4 +sub_020186B4: ; 0x020186B4 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x2c + add r7, r1, #0x0 + mul r7, r0 + str r2, [sp, #0x0] + add r0, r5, r7 + ldr r4, [r0, #0x8] + add r6, r3, #0x0 + cmp r4, #0x0 + beq _0201873C + ldrb r0, [r0, #0x1d] + add r1, sp, #0x10 + add r1, #0x1 + add r2, sp, #0x10 + bl sub_02017850 + add r0, sp, #0x18 + ldrb r1, [r0, #0x14] + add r1, r6, r1 + str r1, [sp, #0x4] + cmp r6, r1 + bge _0201873C + add r1, r5, r7 + str r1, [sp, #0xc] + ldrb r1, [r0, #0x18] + lsl r1, r1, #0xc + str r1, [sp, #0x8] + ldrb r1, [r0, #0x10] + ldr r0, [sp, #0x0] + add r7, r0, r1 +_020186F4: + add r0, sp, #0x10 + ldrb r0, [r0, #0x0] + cmp r6, r0 + bhs _0201873C + ldr r5, [sp, #0x0] + add r0, r5, #0x0 + cmp r0, r7 + bge _02018730 +_02018704: + add r0, sp, #0x10 + ldrb r0, [r0, #0x1] + cmp r5, r0 + bhs _02018730 + ldr r2, [sp, #0xc] + add r0, r5, #0x0 + ldrb r2, [r2, #0x1d] + add r1, r6, #0x0 + bl sub_02017FFC + lsl r0, r0, #0x1 + ldrh r2, [r4, r0] + ldr r1, _02018740 ; =0x00000FFF + and r2, r1 + ldr r1, [sp, #0x8] + orr r1, r2 + strh r1, [r4, r0] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r7 + blt _02018704 +_02018730: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r0, [sp, #0x4] + cmp r6, r0 + blt _020186F4 +_0201873C: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02018740: .word 0x00000FFF + + thumb_func_start sub_02018744 +sub_02018744: ; 0x02018744 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x2c + mul r0, r4 + add r2, r5, r0 + ldr r1, [r2, #0x8] + cmp r1, #0x0 + beq _02018766 + ldr r2, [r2, #0xc] + mov r0, #0x0 + blx sub_020CE1C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02017CD0 +_02018766: + pop {r3-r5, pc} + + thumb_func_start sub_02018768 +sub_02018768: ; 0x02018768 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x2c + mul r0, r4 + add r3, r5, r0 + ldr r1, [r3, #0x8] + cmp r1, #0x0 + beq _0201878A + add r0, r2, #0x0 + ldr r2, [r3, #0xc] + blx sub_020CE1C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02017CD0 +_0201878A: + pop {r3-r5, pc} + + thumb_func_start sub_0201878C +sub_0201878C: ; 0x0201878C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x2c + mul r0, r4 + add r3, r5, r0 + ldr r1, [r3, #0x8] + cmp r1, #0x0 + beq _020187AE + add r0, r2, #0x0 + ldr r2, [r3, #0xc] + blx sub_020CE1C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201AC68 +_020187AE: + pop {r3-r5, pc} + + thumb_func_start sub_020187B0 +sub_020187B0: ; 0x020187B0 + push {r3, lr} + cmp r0, #0x7 + bhi _02018802 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r4, r2, #0 + lsl r2, r3, #0 + lsl r0, r4, #0 + lsl r6, r4, #0 + lsl r4, r5, #0 + lsl r2, r6, #0 + lsl r0, r7, #0 + blx sub_020C7124 + pop {r3, pc} +_020187D8: + .byte 0xAE, 0xF0, 0x7A, 0xEC, 0x08, 0xBD, 0xAE, 0xF0 + .byte 0x3C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xE4, 0xEB, 0x08, 0xBD, 0xAE, 0xF0, 0x8C, 0xEC, 0x08, 0xBD + .byte 0xAE, 0xF0, 0x5E, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0x0C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xB0, 0xEB + .byte 0x08, 0xBD +_02018802: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02018808 +sub_02018808: ; 0x02018808 + push {r4-r7} + lsl r3, r3, #0x1c + lsr r3, r3, #0x18 + mov r4, #0x0 + cmp r1, #0x0 + bls _02018842 + mov r5, #0xf + add r6, r5, #0x0 +_02018818: + ldrb r7, [r0, r4] + and r7, r6 + strb r7, [r2, #0x0] + ldrb r7, [r2, #0x0] + cmp r7, #0x0 + beq _02018828 + add r7, r7, r3 + strb r7, [r2, #0x0] +_02018828: + ldrb r7, [r0, r4] + asr r7, r7, #0x4 + and r7, r5 + strb r7, [r2, #0x1] + ldrb r7, [r2, #0x1] + cmp r7, #0x0 + beq _0201883A + add r7, r7, r3 + strb r7, [r2, #0x1] +_0201883A: + add r4, r4, #0x1 + add r2, r2, #0x2 + cmp r4, r1 + blo _02018818 +_02018842: + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02018848 +sub_02018848: ; 0x02018848 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r0, r3, #0x0 + lsl r1, r5, #0x1 + add r7, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02018808 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201886C +sub_0201886C: ; 0x0201886C + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_02018878 +sub_02018878: ; 0x02018878 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldrh r0, [r0, #0x20] + bx lr + .balign 4 + + thumb_func_start sub_02018884 +sub_02018884: ; 0x02018884 + sub sp, #0x20 + cmp r1, #0x7 + bls _0201888C + b _02018A38 +_0201888C: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r1, #0 + lsl r2, r4, #0 + lsl r6, r6, #0 + lsl r6, r0, #0x2 + lsl r6, r2, #0x3 + lsl r2, r5, #0x3 + lsl r6, r7, #0x3 + lsl r6, r1, #0x5 + ldr r0, _02018A40 ; =0x04000008 + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x1e] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020188BC: + .byte 0x61, 0x48, 0x01, 0x88 + .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0 + .byte 0x02, 0x28, 0x13, 0xD0, 0x58, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x83, 0x88, 0x07 + .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x53, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0 + .byte 0x01, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x4E, 0x48, 0x01, 0x88 + .byte 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0 + .byte 0x02, 0x28, 0x13, 0xD0, 0x45, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x82, 0x88, 0x07 + .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x40, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0 + .byte 0x41, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x3B, 0x48, 0x01, 0x88 + .byte 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + .byte 0x37, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 + .byte 0x00, 0x0E, 0x70, 0x47, 0x33, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x81, 0x88, 0x07 + .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F + .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x2A, 0x48, 0x01, 0x88 + .byte 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + .byte 0x25, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 + .byte 0x00, 0x0E, 0x70, 0x47, 0x20, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x80, 0x88, 0x07 + .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F + .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x17, 0x48, 0x01, 0x88 + .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + .byte 0x12, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 + .byte 0x00, 0x0E, 0x70, 0x47, 0x0D, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x80, 0x88, 0x07 + .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 +_02018A38: + mov r0, #0x0 + add sp, #0x20 + bx lr + nop +_02018A40: .word 0x04000008 +_02018A44: + .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04 + .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 + + thumb_func_start sub_02018A60 +sub_02018A60: ; 0x02018A60 + push {r3-r7, lr} + sub sp, #0x68 + str r2, [sp, #0x8] + str r3, [sp, #0xc] + add r2, sp, #0x70 + str r0, [sp, #0x0] + ldrh r0, [r2, #0x10] + str r1, [sp, #0x4] + ldrh r2, [r2, #0x18] + str r0, [sp, #0x10] + add r0, r1, #0x0 + ldrh r1, [r0, #0x4] + ldr r0, [sp, #0x10] + sub r3, r1, r0 + cmp r3, r2 + bge _02018A88 + ldr r0, [sp, #0x8] + add r0, r0, r3 + str r0, [sp, #0x50] + b _02018A8E +_02018A88: + ldr r0, [sp, #0x8] + add r0, r2, r0 + str r0, [sp, #0x50] +_02018A8E: + ldr r2, [sp, #0x4] + add r3, sp, #0x70 + ldrh r0, [r3, #0x14] + ldrh r2, [r2, #0x6] + ldrh r3, [r3, #0x1c] + sub r4, r2, r0 + cmp r4, r3 + bge _02018AA6 + ldr r2, [sp, #0xc] + add r2, r2, r4 + str r2, [sp, #0x4c] + b _02018AAC +_02018AA6: + ldr r2, [sp, #0xc] + add r2, r3, r2 + str r2, [sp, #0x4c] +_02018AAC: + ldr r2, [sp, #0x0] + mov r3, #0x7 + ldrh r4, [r2, #0x4] + add r2, r4, #0x0 + and r2, r3 + add r2, r4, r2 + asr r2, r2, #0x3 + str r2, [sp, #0x48] + add r2, r1, #0x0 + and r2, r3 + add r1, r1, r2 + asr r1, r1, #0x3 + str r1, [sp, #0x44] + add r1, sp, #0x70 + ldrh r1, [r1, #0x20] + ldr r2, _02018C98 ; =0x0000FFFF + str r1, [sp, #0x38] + cmp r1, r2 + bne _02018BB4 + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x4c] + cmp r2, r1 + bge _02018ADE + cmp r2, r1 + blt _02018AE0 +_02018ADE: + b _02018C92 +_02018AE0: + add r1, r2, #0x0 + lsl r1, r1, #0x2 + lsl r0, r0, #0x2 + str r1, [sp, #0x28] + str r0, [sp, #0x24] +_02018AEA: + ldr r3, [sp, #0x8] + ldr r0, [sp, #0x50] + add r1, r3, #0x0 + ldr r4, [sp, #0x10] + cmp r1, r0 + bge _02018B96 + cmp r1, r0 + bge _02018B96 + add r0, r3, #0x0 + lsl r5, r0, #0x2 + add r0, r4, #0x0 + lsl r6, r0, #0x2 + ldr r0, _02018C9C ; =0x00003FE0 + ldr r1, [sp, #0x28] + ldr r2, [sp, #0x48] + and r1, r0 + mul r2, r1 + str r2, [sp, #0x20] + ldr r2, [sp, #0x28] + mov r1, #0x1c + and r2, r1 + str r2, [sp, #0x1c] + ldr r2, [sp, #0x24] + and r0, r2 + ldr r2, [sp, #0x44] + mul r2, r0 + ldr r0, [sp, #0x24] + str r2, [sp, #0x18] + and r0, r1 + str r0, [sp, #0x14] +_02018B26: + ldr r0, [sp, #0x4] + asr r2, r4, #0x1 + mov r1, #0x3 + ldr r0, [r0, #0x0] + and r1, r2 + add r1, r0, r1 + ldr r0, _02018C9C ; =0x00003FE0 + and r0, r6 + add r1, r1, r0 + ldr r0, [sp, #0x18] + add r6, r6, #0x4 + add r0, r1, r0 + str r0, [sp, #0x64] + lsl r0, r4, #0x1f + lsr r2, r0, #0x1d + ldr r0, [sp, #0x0] + asr r1, r3, #0x1 + ldr r7, [r0, #0x0] + mov r0, #0x3 + and r0, r1 + ldr r1, _02018C9C ; =0x00003FE0 + add r4, r4, #0x1 + and r1, r5 + str r1, [sp, #0x54] + add r1, r7, r0 + ldr r0, [sp, #0x54] + add r5, r5, #0x4 + add r1, r0, r1 + ldr r0, [sp, #0x20] + add r1, r0, r1 + ldr r0, [sp, #0x1c] + ldrb r1, [r0, r1] + lsl r0, r3, #0x1f + lsr r0, r0, #0x1d + asr r1, r0 + mov r0, #0xf + and r0, r1 + add r7, r0, #0x0 + ldr r1, [sp, #0x14] + ldr r0, [sp, #0x64] + lsl r7, r2 + ldrb r0, [r0, r1] + add r3, r3, #0x1 + str r0, [sp, #0x58] + mov r0, #0xf0 + asr r0, r2 + ldr r1, [sp, #0x58] + add r2, r7, #0x0 + and r0, r1 + orr r2, r0 + ldr r1, [sp, #0x14] + ldr r0, [sp, #0x64] + strb r2, [r0, r1] + ldr r0, [sp, #0x50] + cmp r3, r0 + blt _02018B26 +_02018B96: + ldr r0, [sp, #0x28] + add r0, r0, #0x4 + str r0, [sp, #0x28] + ldr r0, [sp, #0xc] + add r0, r0, #0x1 + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + ldr r1, [sp, #0xc] + add r0, r0, #0x4 + str r0, [sp, #0x24] + ldr r0, [sp, #0x4c] + cmp r1, r0 + blt _02018AEA + add sp, #0x68 + pop {r3-r7, pc} +_02018BB4: + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x4c] + cmp r2, r1 + bge _02018C92 + cmp r2, r1 + bge _02018C92 + add r1, r2, #0x0 + lsl r1, r1, #0x2 + lsl r0, r0, #0x2 + str r1, [sp, #0x40] + str r0, [sp, #0x3c] +_02018BCA: + ldr r3, [sp, #0x8] + ldr r0, [sp, #0x50] + add r1, r3, #0x0 + ldr r4, [sp, #0x10] + cmp r1, r0 + bge _02018C78 + cmp r1, r0 + bge _02018C78 + add r0, r3, #0x0 + lsl r1, r0, #0x2 + add r0, r4, #0x0 + lsl r2, r0, #0x2 + ldr r0, _02018C9C ; =0x00003FE0 + ldr r5, [sp, #0x40] + ldr r6, [sp, #0x48] + and r5, r0 + mul r6, r5 + str r6, [sp, #0x34] + ldr r6, [sp, #0x40] + mov r5, #0x1c + and r6, r5 + str r6, [sp, #0x30] + ldr r6, [sp, #0x3c] + and r0, r6 + ldr r6, [sp, #0x44] + mul r6, r0 + ldr r0, [sp, #0x3c] + str r6, [sp, #0x2c] + and r0, r5 + str r0, [sp, #0x60] +_02018C06: + ldr r0, [sp, #0x4] + asr r6, r4, #0x1 + mov r5, #0x3 + and r5, r6 + ldr r0, [r0, #0x0] + asr r6, r3, #0x1 + add r5, r0, r5 + ldr r0, _02018C9C ; =0x00003FE0 + and r0, r2 + add r5, r5, r0 + ldr r0, [sp, #0x2c] + add r5, r5, r0 + ldr r0, [sp, #0x0] + ldr r7, [r0, #0x0] + mov r0, #0x3 + and r0, r6 + ldr r6, _02018C9C ; =0x00003FE0 + and r6, r1 + str r6, [sp, #0x5c] + add r6, r7, r0 + ldr r0, [sp, #0x5c] + add r6, r0, r6 + ldr r0, [sp, #0x34] + add r6, r0, r6 + ldr r0, [sp, #0x30] + ldrb r6, [r0, r6] + lsl r0, r3, #0x1f + lsr r0, r0, #0x1d + asr r6, r0 + mov r0, #0xf + and r0, r6 + ldr r6, [sp, #0x38] + cmp r0, r6 + beq _02018C6A + lsl r6, r4, #0x1f + lsr r7, r6, #0x1d + lsl r0, r7 + mov lr, r0 + ldr r0, [sp, #0x60] + ldrb r0, [r5, r0] + mov r12, r0 + mov r0, #0xf0 + add r6, r0, #0x0 + asr r6, r7 + mov r0, r12 + and r0, r6 + mov r6, lr + orr r6, r0 + ldr r0, [sp, #0x60] + strb r6, [r5, r0] +_02018C6A: + ldr r0, [sp, #0x50] + add r3, r3, #0x1 + add r1, r1, #0x4 + add r2, r2, #0x4 + add r4, r4, #0x1 + cmp r3, r0 + blt _02018C06 +_02018C78: + ldr r0, [sp, #0x40] + add r0, r0, #0x4 + str r0, [sp, #0x40] + ldr r0, [sp, #0xc] + add r0, r0, #0x1 + str r0, [sp, #0xc] + ldr r0, [sp, #0x3c] + ldr r1, [sp, #0xc] + add r0, r0, #0x4 + str r0, [sp, #0x3c] + ldr r0, [sp, #0x4c] + cmp r1, r0 + blt _02018BCA +_02018C92: + add sp, #0x68 + pop {r3-r7, pc} + nop +_02018C98: .word 0x0000FFFF +_02018C9C: .word 0x00003FE0 + + thumb_func_start sub_02018CA0 +sub_02018CA0: ; 0x02018CA0 + push {r3-r7, lr} + sub sp, #0x50 + str r2, [sp, #0x8] + str r3, [sp, #0xc] + add r2, sp, #0x58 + str r0, [sp, #0x0] + ldrh r0, [r2, #0x10] + str r1, [sp, #0x4] + ldrh r2, [r2, #0x18] + str r0, [sp, #0x10] + add r0, r1, #0x0 + ldrh r1, [r0, #0x4] + ldr r0, [sp, #0x10] + sub r3, r1, r0 + cmp r3, r2 + bge _02018CC6 + ldr r0, [sp, #0x8] + add r0, r0, r3 + b _02018CCA +_02018CC6: + ldr r0, [sp, #0x8] + add r0, r2, r0 +_02018CCA: + ldr r2, [sp, #0x4] + add r3, sp, #0x58 + mov r12, r0 + ldrh r0, [r3, #0x14] + ldrh r2, [r2, #0x6] + ldrh r3, [r3, #0x1c] + sub r4, r2, r0 + cmp r4, r3 + bge _02018CE2 + ldr r2, [sp, #0xc] + add r2, r2, r4 + b _02018CE6 +_02018CE2: + ldr r2, [sp, #0xc] + add r2, r3, r2 +_02018CE6: + mov lr, r2 + ldr r2, [sp, #0x0] + mov r3, #0x7 + ldrh r4, [r2, #0x4] + add r2, r4, #0x0 + and r2, r3 + add r2, r4, r2 + asr r2, r2, #0x3 + str r2, [sp, #0x4c] + add r2, r1, #0x0 + and r2, r3 + add r1, r1, r2 + asr r1, r1, #0x3 + str r1, [sp, #0x48] + add r1, sp, #0x58 + ldrh r1, [r1, #0x20] + ldr r2, _02018E80 ; =0x0000FFFF + str r1, [sp, #0x3c] + cmp r1, r2 + bne _02018DC6 + ldr r2, [sp, #0xc] + mov r1, lr + cmp r2, r1 + bge _02018D1C + mov r1, lr + cmp r2, r1 + blt _02018D1E +_02018D1C: + b _02018E7C +_02018D1E: + add r1, r2, #0x0 + lsl r1, r1, #0x3 + lsl r0, r0, #0x3 + str r1, [sp, #0x28] + str r0, [sp, #0x24] +_02018D28: + ldr r1, [sp, #0x8] + mov r0, r12 + add r2, r1, #0x0 + ldr r7, [sp, #0x10] + cmp r2, r0 + bge _02018DA8 + mov r0, r12 + cmp r2, r0 + bge _02018DA8 + add r0, r1, #0x0 + lsl r2, r0, #0x3 + add r0, r7, #0x0 + lsl r3, r0, #0x3 + ldr r6, _02018E84 ; =0x00007FC0 + ldr r0, [sp, #0x28] + ldr r4, [sp, #0x4c] + and r0, r6 + mul r4, r0 + str r4, [sp, #0x20] + ldr r0, [sp, #0x28] + mov r5, #0x38 + and r0, r5 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x24] + ldr r4, [sp, #0x48] + and r0, r6 + mul r4, r0 + ldr r0, [sp, #0x24] + str r4, [sp, #0x18] + and r0, r5 + str r0, [sp, #0x14] +_02018D66: + ldr r0, [sp, #0x0] + add r5, r1, #0x0 + mov r4, #0x7 + and r5, r4 + ldr r0, [r0, #0x0] + ldr r4, _02018E84 ; =0x00007FC0 + add r0, r0, r5 + and r4, r2 + add r4, r4, r0 + ldr r0, [sp, #0x20] + add r5, r7, #0x0 + add r4, r0, r4 + ldr r0, [sp, #0x1c] + add r1, r1, #0x1 + ldrb r6, [r0, r4] + ldr r0, [sp, #0x4] + mov r4, #0x7 + and r5, r4 + ldr r0, [r0, #0x0] + ldr r4, _02018E84 ; =0x00007FC0 + add r0, r0, r5 + and r4, r3 + add r4, r4, r0 + ldr r0, [sp, #0x18] + add r2, #0x8 + add r4, r0, r4 + ldr r0, [sp, #0x14] + add r3, #0x8 + strb r6, [r0, r4] + mov r0, r12 + add r7, r7, #0x1 + cmp r1, r0 + blt _02018D66 +_02018DA8: + ldr r0, [sp, #0x28] + add r0, #0x8 + str r0, [sp, #0x28] + ldr r0, [sp, #0xc] + add r0, r0, #0x1 + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + ldr r1, [sp, #0xc] + add r0, #0x8 + str r0, [sp, #0x24] + mov r0, lr + cmp r1, r0 + blt _02018D28 + add sp, #0x50 + pop {r3-r7, pc} +_02018DC6: + ldr r2, [sp, #0xc] + mov r1, lr + cmp r2, r1 + bge _02018E7C + mov r1, lr + cmp r2, r1 + bge _02018E7C + add r1, r2, #0x0 + lsl r1, r1, #0x3 + lsl r0, r0, #0x3 + str r1, [sp, #0x44] + str r0, [sp, #0x40] +_02018DDE: + ldr r2, [sp, #0x8] + mov r0, r12 + add r1, r2, #0x0 + ldr r3, [sp, #0x10] + cmp r1, r0 + bge _02018E62 + mov r0, r12 + cmp r1, r0 + bge _02018E62 + add r0, r2, #0x0 + lsl r6, r0, #0x3 + add r0, r3, #0x0 + lsl r1, r0, #0x3 + ldr r7, _02018E84 ; =0x00007FC0 + ldr r0, [sp, #0x44] + ldr r4, [sp, #0x4c] + and r0, r7 + mul r4, r0 + str r4, [sp, #0x38] + ldr r0, [sp, #0x44] + mov r5, #0x38 + and r0, r5 + str r0, [sp, #0x34] + ldr r0, [sp, #0x40] + ldr r4, [sp, #0x48] + and r0, r7 + mul r4, r0 + ldr r0, [sp, #0x40] + str r4, [sp, #0x30] + and r0, r5 + str r0, [sp, #0x2c] +_02018E1C: + ldr r0, [sp, #0x4] + mov r4, #0x7 + ldr r0, [r0, #0x0] + and r4, r3 + add r0, r0, r4 + ldr r4, _02018E84 ; =0x00007FC0 + add r5, r2, #0x0 + and r4, r1 + add r4, r0, r4 + ldr r0, [sp, #0x30] + add r7, r4, r0 + ldr r0, [sp, #0x0] + mov r4, #0x7 + and r5, r4 + ldr r0, [r0, #0x0] + ldr r4, _02018E84 ; =0x00007FC0 + add r0, r0, r5 + and r4, r6 + add r4, r4, r0 + ldr r0, [sp, #0x38] + add r4, r0, r4 + ldr r0, [sp, #0x34] + ldrb r0, [r0, r4] + ldr r4, [sp, #0x3c] + cmp r0, r4 + beq _02018E54 + ldr r4, [sp, #0x2c] + strb r0, [r7, r4] +_02018E54: + add r2, r2, #0x1 + mov r0, r12 + add r6, #0x8 + add r1, #0x8 + add r3, r3, #0x1 + cmp r2, r0 + blt _02018E1C +_02018E62: + ldr r0, [sp, #0x44] + add r0, #0x8 + str r0, [sp, #0x44] + ldr r0, [sp, #0xc] + add r0, r0, #0x1 + str r0, [sp, #0xc] + ldr r0, [sp, #0x40] + ldr r1, [sp, #0xc] + add r0, #0x8 + str r0, [sp, #0x40] + mov r0, lr + cmp r1, r0 + blt _02018DDE +_02018E7C: + add sp, #0x50 + pop {r3-r7, pc} + .balign 4 +_02018E80: .word 0x0000FFFF +_02018E84: .word 0x00007FC0 + + thumb_func_start sub_02018E88 +sub_02018E88: ; 0x02018E88 + push {r4-r7, lr} + sub sp, #0x14 + str r1, [sp, #0x4] + str r2, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + str r0, [sp, #0x2c] + ldr r0, [sp, #0x4] + add r6, r0, r3 + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + cmp r6, r0 + ble _02018EA4 + add r6, r0, #0x0 +_02018EA4: + add r1, sp, #0x18 + ldrh r2, [r1, #0x10] + ldr r1, [sp, #0x8] + add r1, r1, r2 + mov r12, r1 + ldr r1, [sp, #0x0] + ldrh r2, [r1, #0x6] + mov r1, r12 + cmp r1, r2 + ble _02018EBA + mov r12, r2 +_02018EBA: + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + mov lr, r0 + ldr r1, [sp, #0x8] + mov r0, r12 + cmp r1, r0 + bge _02018F44 + add r0, r1, #0x0 + lsl r0, r0, #0x2 + str r0, [sp, #0xc] + ldr r0, [sp, #0x2c] + lsl r0, r0, #0x4 + str r0, [sp, #0x10] +_02018ED8: + ldr r1, [sp, #0x4] + add r0, r1, #0x0 + cmp r0, r6 + bge _02018F32 + lsl r5, r0, #0x2 + ldr r2, _02018F48 ; =0x00003FE0 + ldr r0, [sp, #0xc] + and r0, r2 + add r7, r0, #0x0 + mov r2, lr + mul r7, r2 + ldr r0, [sp, #0xc] + mov r2, #0x1c + and r2, r0 +_02018EF4: + ldr r0, [sp, #0x0] + asr r3, r1, #0x1 + ldr r4, [r0, #0x0] + mov r0, #0x3 + and r0, r3 + ldr r3, _02018F48 ; =0x00003FE0 + add r0, r4, r0 + and r3, r5 + add r0, r0, r3 + add r0, r0, r7 + mov r3, #0x1 + tst r3, r1 + ldrb r4, [r0, r2] + beq _02018F1C + mov r3, #0xf + and r3, r4 + strb r3, [r0, r2] + ldrb r4, [r0, r2] + ldr r3, [sp, #0x10] + b _02018F26 +_02018F1C: + mov r3, #0xf0 + and r3, r4 + strb r3, [r0, r2] + ldrb r4, [r0, r2] + ldr r3, [sp, #0x2c] +_02018F26: + orr r3, r4 + add r1, r1, #0x1 + strb r3, [r0, r2] + add r5, r5, #0x4 + cmp r1, r6 + blt _02018EF4 +_02018F32: + ldr r0, [sp, #0xc] + add r0, r0, #0x4 + str r0, [sp, #0xc] + ldr r0, [sp, #0x8] + add r1, r0, #0x1 + mov r0, r12 + str r1, [sp, #0x8] + cmp r1, r0 + blt _02018ED8 +_02018F44: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02018F48: .word 0x00003FE0 + + thumb_func_start sub_02018F4C +sub_02018F4C: ; 0x02018F4C + push {r4-r7, lr} + sub sp, #0x14 + str r1, [sp, #0x4] + str r2, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + str r0, [sp, #0x2c] + ldr r0, [sp, #0x4] + add r5, r0, r3 + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + cmp r5, r0 + ble _02018F68 + add r5, r0, #0x0 +_02018F68: + add r1, sp, #0x18 + ldrh r2, [r1, #0x10] + ldr r1, [sp, #0x8] + add r1, r1, r2 + mov lr, r1 + ldr r1, [sp, #0x0] + ldrh r2, [r1, #0x6] + mov r1, lr + cmp r1, r2 + ble _02018F7E + mov lr, r2 +_02018F7E: + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x10] + ldr r1, [sp, #0x8] + mov r0, lr + cmp r1, r0 + bge _02018FEA + add r0, r1, #0x0 + lsl r0, r0, #0x3 + str r0, [sp, #0xc] + ldr r0, [sp, #0x4] + lsl r0, r0, #0x3 + mov r12, r0 +_02018F9C: + ldr r2, [sp, #0x4] + add r0, r2, #0x0 + cmp r0, r5 + bge _02018FD8 + ldr r1, [sp, #0xc] + ldr r0, _02018FF0 ; =0x00007FC0 + mov r3, r12 + and r0, r1 + add r7, r0, #0x0 + ldr r1, [sp, #0x10] + mov r0, #0x38 + mul r7, r1 + ldr r1, [sp, #0xc] + add r6, r1, #0x0 + and r6, r0 +_02018FBA: + ldr r0, [sp, #0x0] + ldr r4, _02018FF0 ; =0x00007FC0 + ldr r1, [r0, #0x0] + mov r0, #0x7 + and r0, r2 + and r4, r3 + add r0, r1, r0 + add r0, r4, r0 + add r1, r7, r0 + ldr r0, [sp, #0x2c] + add r2, r2, #0x1 + strb r0, [r6, r1] + add r3, #0x8 + cmp r2, r5 + blt _02018FBA +_02018FD8: + ldr r0, [sp, #0xc] + add r0, #0x8 + str r0, [sp, #0xc] + ldr r0, [sp, #0x8] + add r1, r0, #0x1 + mov r0, lr + str r1, [sp, #0x8] + cmp r1, r0 + blt _02018F9C +_02018FEA: + add sp, #0x14 + pop {r4-r7, pc} + nop +_02018FF0: .word 0x00007FC0 + + thumb_func_start sub_02018FF4 +sub_02018FF4: ; 0x02018FF4 + push {r4-r6, lr} + add r5, r1, #0x0 + lsl r1, r5, #0x4 + bl sub_02016998 + add r6, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x0 + ble _02019018 +_02019006: + lsl r0, r4, #0x4 + add r0, r6, r0 + bl sub_0201901C + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r5 + blt _02019006 +_02019018: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0201901C +sub_0201901C: ; 0x0201901C + mov r3, #0x0 + str r3, [r0, #0x0] + mov r1, #0xff + strb r1, [r0, #0x4] + strb r3, [r0, #0x5] + strb r3, [r0, #0x6] + strb r3, [r0, #0x7] + strb r3, [r0, #0x8] + strb r3, [r0, #0x9] + ldrh r2, [r0, #0xa] + ldr r1, _02019044 ; =0xFFFF8000 + and r2, r1 + strh r2, [r0, #0xa] + str r3, [r0, #0xc] + ldrh r2, [r0, #0xa] + sub r1, r1, #0x1 + and r1, r2 + strh r1, [r0, #0xa] + bx lr + nop +_02019044: .word 0xFFFF8000 + + thumb_func_start sub_02019048 +sub_02019048: ; 0x02019048 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0201905A + ldrb r1, [r0, #0x4] + cmp r1, #0xff + beq _0201905A + ldr r0, [r0, #0xc] + cmp r0, #0x0 + bne _0201905E +_0201905A: + mov r0, #0x0 + bx lr +_0201905E: + mov r0, #0x1 + bx lr + .balign 4 + + thumb_func_start sub_02019064 +sub_02019064: ; 0x02019064 + push {r3-r7, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + mov r0, #0x2c + add r7, r6, #0x0 + mul r7, r0 + add r4, r1, #0x0 + str r3, [sp, #0x0] + add r1, r5, r7 + ldr r0, [r1, #0x8] + cmp r0, #0x0 + beq _020190E0 + add r3, sp, #0x8 + ldrb r2, [r1, #0x1f] + ldrb r1, [r3, #0x14] + ldrb r3, [r3, #0x18] + ldr r0, [r5, #0x0] + mul r3, r1 + add r1, r2, #0x0 + mul r1, r3 + bl sub_02016998 + add r1, r0, #0x0 + beq _020190E0 + str r5, [r4, #0x0] + strb r6, [r4, #0x4] + ldr r0, [sp, #0x0] + add r3, sp, #0x8 + strb r0, [r4, #0x5] + ldrb r0, [r3, #0x10] + ldr r2, _020190E4 ; =0xFFFF8000 + strb r0, [r4, #0x6] + ldrb r0, [r3, #0x14] + strb r0, [r4, #0x7] + ldrb r0, [r3, #0x18] + strb r0, [r4, #0x8] + ldrb r0, [r3, #0x1c] + strb r0, [r4, #0x9] + ldrh r0, [r4, #0xa] + ldrh r3, [r3, #0x20] + and r0, r2 + lsr r2, r2, #0x11 + and r2, r3 + orr r0, r2 + strh r0, [r4, #0xa] + str r1, [r4, #0xc] + add r0, r5, r7 + ldrb r0, [r0, #0x1e] + cmp r0, #0x0 + bne _020190CC + mov r2, #0x0 + b _020190CE +_020190CC: + mov r2, #0x1 +_020190CE: + ldrh r1, [r4, #0xa] + ldr r0, _020190E8 ; =0xFFFF7FFF + and r1, r0 + lsl r0, r2, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1f + lsr r0, r0, #0x10 + orr r0, r1 + strh r0, [r4, #0xa] +_020190E0: + pop {r3-r7, pc} + nop +_020190E4: .word 0xFFFF8000 +_020190E8: .word 0xFFFF7FFF + + thumb_func_start sub_020190EC +sub_020190EC: ; 0x020190EC + push {r3-r7, lr} + sub sp, #0x8 + str r3, [sp, #0x0] + add r5, r0, #0x0 + ldr r0, [sp, #0x24] + add r6, r2, #0x0 + str r0, [sp, #0x24] + ldr r0, [sp, #0x0] + add r4, r1, #0x0 + mul r0, r6 + lsl r0, r0, #0x5 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x4] + bl sub_02016998 + ldr r1, [sp, #0x24] + add r7, r0, #0x0 + lsl r2, r1, #0x4 + orr r1, r2 + lsl r1, r1, #0x18 + ldr r2, [sp, #0x4] + lsr r1, r1, #0x18 + blx sub_020DF4A4 + cmp r7, #0x0 + beq _02019148 + str r5, [r4, #0x0] + strb r6, [r4, #0x7] + ldr r0, [sp, #0x0] + strb r0, [r4, #0x8] + ldrh r1, [r4, #0xa] + ldr r0, _0201914C ; =0xFFFF8000 + add r3, r1, #0x0 + add r1, sp, #0x10 + ldrh r2, [r1, #0x10] + lsr r1, r0, #0x11 + and r3, r0 + and r1, r2 + orr r1, r3 + strh r1, [r4, #0xa] + str r7, [r4, #0xc] + ldrh r1, [r4, #0xa] + sub r0, r0, #0x1 + and r0, r1 + strh r0, [r4, #0xa] +_02019148: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0201914C: .word 0xFFFF8000 + + thumb_func_start sub_02019150 +sub_02019150: ; 0x02019150 + push {lr} + sub sp, #0x14 + add r3, r2, #0x0 + ldrb r2, [r3, #0x2] + str r2, [sp, #0x0] + ldrb r2, [r3, #0x3] + str r2, [sp, #0x4] + ldrb r2, [r3, #0x4] + str r2, [sp, #0x8] + ldrb r2, [r3, #0x5] + str r2, [sp, #0xc] + ldrh r2, [r3, #0x6] + str r2, [sp, #0x10] + ldrb r2, [r3, #0x0] + ldrb r3, [r3, #0x1] + bl sub_02019064 + add sp, #0x14 + pop {pc} + .balign 4 + + thumb_func_start sub_02019178 +sub_02019178: ; 0x02019178 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02016A18 + mov r2, #0x0 + str r2, [r4, #0x0] + mov r0, #0xff + strb r0, [r4, #0x4] + strb r2, [r4, #0x5] + strb r2, [r4, #0x6] + strb r2, [r4, #0x7] + strb r2, [r4, #0x8] + strb r2, [r4, #0x9] + ldrh r1, [r4, #0xa] + ldr r0, _020191A0 ; =0xFFFF8000 + and r0, r1 + strh r0, [r4, #0xa] + str r2, [r4, #0xc] + pop {r4, pc} + .balign 4 +_020191A0: .word 0xFFFF8000 + + thumb_func_start sub_020191A4 +sub_020191A4: ; 0x020191A4 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + mov r4, #0x0 + cmp r6, #0x0 + ble _020191C8 +_020191B0: + lsl r0, r4, #0x4 + add r0, r5, r0 + ldr r0, [r0, #0xc] + cmp r0, #0x0 + beq _020191BE + bl sub_02016A18 +_020191BE: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r6 + blt _020191B0 +_020191C8: + add r0, r5, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + + thumb_func_start sub_020191D0 +sub_020191D0: ; 0x020191D0 + push {r4, lr} + add r4, r0, #0x0 + bne _020191DA + bl sub_02020C2C +_020191DA: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _020191E4 + bl sub_02020C2C +_020191E4: + ldrb r0, [r4, #0x4] + cmp r0, #0x8 + blo _020191EE + bl sub_02020C2C +_020191EE: + ldrb r1, [r4, #0x4] + mov r0, #0x2c + ldr r2, [r4, #0x0] + mul r0, r1 + add r0, r2, r0 + ldrb r0, [r0, #0x1c] + cmp r0, #0x3 + blo _02019202 + bl sub_02020C2C +_02019202: + ldrb r2, [r4, #0x4] + mov r1, #0x2c + ldr r3, [r4, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + add r0, r4, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0201921C ; =0x020EDB68 + ldr r1, [r1, r2] + blx r1 + pop {r4, pc} + nop +_0201921C: .word 0x020EDB68 + + thumb_func_start sub_02019220 +sub_02019220: ; 0x02019220 + push {r4, lr} + add r4, r0, #0x0 + bne _0201922A + bl sub_02020C2C +_0201922A: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02019234 + bl sub_02020C2C +_02019234: + ldrb r0, [r4, #0x4] + cmp r0, #0x8 + blo _0201923E + bl sub_02020C2C +_0201923E: + ldrb r1, [r4, #0x4] + mov r0, #0x2c + ldr r2, [r4, #0x0] + mul r0, r1 + add r0, r2, r0 + ldrb r0, [r0, #0x1c] + cmp r0, #0x3 + blo _02019252 + bl sub_02020C2C +_02019252: + ldrb r2, [r4, #0x4] + mov r1, #0x2c + ldr r3, [r4, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + add r0, r4, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0201926C ; =0x020EDB5C + ldr r1, [r1, r2] + blx r1 + pop {r4, pc} + nop +_0201926C: .word 0x020EDB5C + + thumb_func_start sub_02019270 +sub_02019270: ; 0x02019270 + push {r3, lr} + ldrb r2, [r0, #0x4] + mov r1, #0x2c + ldr r3, [r0, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + lsl r2, r1, #0x2 + ldr r1, _02019288 ; =0x020EDB38 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + .balign 4 +_02019288: .word 0x020EDB38 + + thumb_func_start sub_0201928C +sub_0201928C: ; 0x0201928C + push {r4-r6, lr} + add r5, r0, #0x0 + ldrb r6, [r5, #0x7] + ldrb r4, [r5, #0x8] + strb r1, [r5, #0x7] + strb r2, [r5, #0x8] + ldrb r3, [r5, #0x4] + mov r2, #0x2c + ldr r1, [r5, #0x0] + mul r2, r3 + add r1, r1, r2 + ldrb r1, [r1, #0x1c] + lsl r2, r1, #0x2 + ldr r1, _020192B4 ; =0x020EDB38 + ldr r1, [r1, r2] + blx r1 + strb r6, [r5, #0x7] + strb r4, [r5, #0x8] + pop {r4-r6, pc} + nop +_020192B4: .word 0x020EDB38 + + thumb_func_start sub_020192B8 +sub_020192B8: ; 0x020192B8 + push {r3, lr} + ldrb r2, [r0, #0x4] + mov r1, #0x2c + ldr r3, [r0, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + lsl r2, r1, #0x2 + ldr r1, _020192D0 ; =0x020EDB74 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + .balign 4 +_020192D0: .word 0x020EDB74 + + thumb_func_start sub_020192D4 +sub_020192D4: ; 0x020192D4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldrb r1, [r5, #0x4] + mov r0, #0x2c + ldr r2, [r5, #0x0] + mul r0, r1 + add r0, r2, r0 + ldr r0, [r0, #0x8] + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02019354 + ldrh r0, [r5, #0xa] + ldrb r1, [r5, #0x5] + lsl r0, r0, #0x11 + lsr r3, r0, #0x11 + ldrb r0, [r5, #0x7] + add r7, r1, r0 + ldrb r0, [r5, #0x6] + ldrb r1, [r5, #0x8] + mov r12, r0 + add r0, r0, r1 + mov r1, r12 + mov lr, r0 + cmp r1, r0 + bhs _02019354 +_02019308: + ldrb r2, [r5, #0x5] + cmp r2, r7 + bhs _02019348 + mov r0, r12 + lsl r0, r0, #0x1b + lsr r0, r0, #0x16 + lsl r1, r0, #0x1 + ldr r0, [sp, #0x4] + add r0, r0, r1 + mov r1, r12 + str r0, [sp, #0x0] + mov r0, #0x20 + add r6, r1, #0x0 + and r6, r0 +_02019324: + ldrb r0, [r5, #0x9] + mov r4, #0x20 + add r1, r3, #0x0 + lsl r0, r0, #0xc + and r4, r2 + orr r1, r0 + mov r0, #0x1f + add r4, r6, r4 + and r0, r2 + lsl r4, r4, #0x5 + add r0, r0, r4 + lsl r4, r0, #0x1 + ldr r0, [sp, #0x0] + add r2, r2, #0x1 + strh r1, [r0, r4] + add r3, r3, #0x1 + cmp r2, r7 + blo _02019324 +_02019348: + mov r0, r12 + add r1, r0, #0x1 + mov r0, lr + mov r12, r1 + cmp r1, r0 + blo _02019308 +_02019354: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02019358 +sub_02019358: ; 0x02019358 + push {r4-r7} + ldrb r3, [r0, #0x4] + mov r1, #0x2c + add r2, r3, #0x0 + mul r2, r1 + ldr r1, [r0, #0x0] + add r1, r1, r2 + ldr r3, [r1, #0x8] + cmp r3, #0x0 + beq _020193AC + ldrb r2, [r1, #0x1d] + ldr r1, _020193B0 ; =0x020EDB30 + ldrb r6, [r1, r2] + ldrb r1, [r0, #0x6] + add r2, r1, #0x0 + mul r2, r6 + add r2, r3, r2 + ldrb r1, [r0, #0x5] + mov r3, #0x0 + add r4, r2, r1 + ldrh r1, [r0, #0xa] + lsl r1, r1, #0x11 + lsr r5, r1, #0x11 + ldrb r1, [r0, #0x8] + cmp r1, #0x0 + ble _020193AC + add r1, r3, #0x0 +_0201938E: + ldrb r7, [r0, #0x7] + add r2, r1, #0x0 + cmp r7, #0x0 + ble _020193A2 +_02019396: + strb r5, [r4, r2] + ldrb r7, [r0, #0x7] + add r2, r2, #0x1 + add r5, r5, #0x1 + cmp r2, r7 + blt _02019396 +_020193A2: + ldrb r2, [r0, #0x8] + add r3, r3, #0x1 + add r4, r4, r6 + cmp r3, r2 + blt _0201938E +_020193AC: + pop {r4-r7} + bx lr + .balign 4 +_020193B0: .word 0x020EDB30 + + thumb_func_start sub_020193B4 +sub_020193B4: ; 0x020193B4 + push {r4-r7, lr} + sub sp, #0xc + ldrb r2, [r0, #0x4] + str r0, [sp, #0x0] + mov r0, #0x2c + add r1, r2, #0x0 + mul r1, r0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + add r1, r0, r1 + ldr r0, [r1, #0x8] + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _0201943C + ldrb r1, [r1, #0x1d] + ldr r0, _02019440 ; =0x020EDB30 + ldrb r0, [r0, r1] + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + ldrb r1, [r0, #0x5] + ldrb r0, [r0, #0x7] + add r2, r1, r0 + ldr r0, [sp, #0x0] + ldrb r0, [r0, #0x6] + mov r12, r0 + ldr r0, [sp, #0x0] + ldrb r1, [r0, #0x8] + mov r0, r12 + add r0, r0, r1 + mov r1, r12 + mov lr, r0 + cmp r1, r0 + bhs _0201943C + mov r6, #0x0 + mov r7, #0x20 +_020193FA: + ldr r0, [sp, #0x0] + ldrb r1, [r0, #0x5] + cmp r1, r2 + bhs _02019430 + mov r3, r12 + mov r0, #0x1f + and r3, r0 + ldr r0, [sp, #0x8] + mul r0, r3 + lsl r3, r0, #0x1 + ldr r0, [sp, #0x4] + add r5, r0, r3 + mov r3, r12 + mov r0, #0x20 + and r3, r0 +_02019418: + add r4, r1, #0x0 + and r4, r7 + mov r0, #0x1f + add r4, r3, r4 + and r0, r1 + lsl r4, r4, #0x5 + add r0, r0, r4 + lsl r0, r0, #0x1 + add r1, r1, #0x1 + strh r6, [r5, r0] + cmp r1, r2 + blo _02019418 +_02019430: + mov r0, r12 + add r1, r0, #0x1 + mov r0, lr + mov r12, r1 + cmp r1, r0 + blo _020193FA +_0201943C: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02019440: .word 0x020EDB30 + + thumb_func_start sub_02019444 +sub_02019444: ; 0x02019444 + push {r4-r7} + ldrb r3, [r0, #0x4] + mov r1, #0x2c + add r2, r3, #0x0 + mul r2, r1 + ldr r1, [r0, #0x0] + add r1, r1, r2 + ldr r3, [r1, #0x8] + cmp r3, #0x0 + beq _02019492 + ldrb r2, [r1, #0x1d] + ldr r1, _02019498 ; =0x020EDB30 + mov r4, #0x0 + ldrb r6, [r1, r2] + ldrb r1, [r0, #0x6] + add r2, r1, #0x0 + mul r2, r6 + ldrb r1, [r0, #0x5] + add r2, r3, r2 + add r5, r2, r1 + ldrb r1, [r0, #0x8] + cmp r1, #0x0 + ble _02019492 + add r1, r4, #0x0 + add r2, r4, #0x0 +_02019476: + ldrb r7, [r0, #0x7] + add r3, r2, #0x0 + cmp r7, #0x0 + ble _02019488 +_0201947E: + strb r1, [r5, r3] + ldrb r7, [r0, #0x7] + add r3, r3, #0x1 + cmp r3, r7 + blt _0201947E +_02019488: + ldrb r3, [r0, #0x8] + add r4, r4, #0x1 + add r5, r5, r6 + cmp r4, r3 + blt _02019476 +_02019492: + pop {r4-r7} + bx lr + nop +_02019498: .word 0x020EDB30 + + thumb_func_start sub_0201949C +sub_0201949C: ; 0x0201949C + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_020192D4 + add r0, r4, #0x0 + bl sub_02019548 + ldrb r1, [r4, #0x4] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [r4, #0x0] + add r3, r0, r2 + ldr r2, [r3, #0x10] + str r2, [sp, #0x0] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_02017CE8 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_020194C8 +sub_020194C8: ; 0x020194C8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020192D4 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + add r0, r4, #0x0 + bl sub_02019548 + pop {r4, pc} + + thumb_func_start sub_020194E0 +sub_020194E0: ; 0x020194E0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02019358 + ldrb r1, [r4, #0x4] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [r4, #0x0] + add r3, r0, r2 + ldr r2, [r3, #0x10] + str r2, [sp, #0x0] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_02017CE8 + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x11 + lsr r0, r0, #0x11 + str r0, [sp, #0x0] + ldrb r5, [r4, #0x7] + ldrb r3, [r4, #0x8] + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + mul r3, r5 + ldr r2, [r4, #0xc] + lsl r3, r3, #0x6 + bl sub_02017E14 + pop {r3-r5, pc} + + thumb_func_start sub_0201951C +sub_0201951C: ; 0x0201951C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02019358 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x11 + lsr r0, r0, #0x11 + str r0, [sp, #0x0] + ldrb r5, [r4, #0x7] + ldrb r3, [r4, #0x8] + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + mul r3, r5 + ldr r2, [r4, #0xc] + lsl r3, r3, #0x6 + bl sub_02017E14 + pop {r3-r5, pc} + + thumb_func_start sub_02019548 +sub_02019548: ; 0x02019548 + push {r3-r5, lr} + add r3, r0, #0x0 + ldrh r2, [r3, #0xa] + ldrb r1, [r3, #0x4] + mov r4, #0x2c + lsl r2, r2, #0x11 + ldr r0, [r3, #0x0] + lsr r2, r2, #0x11 + str r2, [sp, #0x0] + mul r4, r1 + add r4, r0, r4 + ldr r2, [r3, #0xc] + ldrb r5, [r3, #0x7] + ldrb r3, [r3, #0x8] + ldrb r4, [r4, #0x1f] + mul r3, r5 + mul r3, r4 + bl sub_02017E14 + pop {r3-r5, pc} + + thumb_func_start sub_02019570 +sub_02019570: ; 0x02019570 + push {r3, lr} + ldrb r2, [r0, #0x4] + mov r1, #0x2c + ldr r3, [r0, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + lsl r2, r1, #0x2 + ldr r1, _02019588 ; =0x020EDB50 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + .balign 4 +_02019588: .word 0x020EDB50 + + thumb_func_start sub_0201958C +sub_0201958C: ; 0x0201958C + push {r3, lr} + ldrb r2, [r0, #0x4] + mov r1, #0x2c + ldr r3, [r0, #0x0] + mul r1, r2 + add r1, r3, r1 + ldrb r1, [r1, #0x1c] + lsl r2, r1, #0x2 + ldr r1, _020195A4 ; =0x020EDB44 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + .balign 4 +_020195A4: .word 0x020EDB44 + + thumb_func_start sub_020195A8 +sub_020195A8: ; 0x020195A8 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_020193B4 + ldrb r1, [r4, #0x4] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [r4, #0x0] + add r3, r0, r2 + ldr r2, [r3, #0x10] + str r2, [sp, #0x0] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_02017CE8 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_020195D0 +sub_020195D0: ; 0x020195D0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020193B4 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020195E4 +sub_020195E4: ; 0x020195E4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02019444 + ldrb r1, [r4, #0x4] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [r4, #0x0] + add r3, r0, r2 + ldr r2, [r3, #0x10] + str r2, [sp, #0x0] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + bl sub_02017CE8 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201960C +sub_0201960C: ; 0x0201960C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02019444 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02019620 +sub_02019620: ; 0x02019620 + push {r3-r5, lr} + add r4, r0, #0x0 + ldrb r2, [r4, #0x4] + mov r0, #0x2c + ldr r3, [r4, #0x0] + mul r0, r2 + add r0, r3, r0 + ldrb r2, [r0, #0x1f] + cmp r2, #0x20 + bne _0201963C + lsl r0, r1, #0x4 + orr r0, r1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 +_0201963C: + lsl r3, r1, #0x18 + lsl r0, r1, #0x10 + orr r0, r3 + lsl r5, r1, #0x8 + orr r0, r5 + orr r0, r1 + ldr r1, [r4, #0xc] + ldrb r3, [r4, #0x8] + ldrb r4, [r4, #0x7] + mul r2, r4 + mul r2, r3 + blx sub_020CE240 + pop {r3-r5, pc} + + thumb_func_start sub_02019658 +sub_02019658: ; 0x02019658 + push {r4-r5, lr} + sub sp, #0x1c + add r4, sp, #0x18 + ldrh r5, [r4, #0x10] + str r5, [sp, #0x0] + ldrh r5, [r4, #0x14] + str r5, [sp, #0x4] + ldrh r5, [r4, #0x18] + str r5, [sp, #0x8] + ldrh r5, [r4, #0x1c] + str r5, [sp, #0xc] + ldrh r5, [r4, #0x20] + str r5, [sp, #0x10] + ldrh r4, [r4, #0x24] + str r4, [sp, #0x14] + mov r4, #0x0 + str r4, [sp, #0x18] + bl sub_02019684 + add sp, #0x1c + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02019684 +sub_02019684: ; 0x02019684 + push {r4-r5, lr} + sub sp, #0x24 + str r1, [sp, #0x1c] + add r4, sp, #0x20 + ldrh r5, [r4, #0x10] + add r1, sp, #0x14 + strh r5, [r1, #0xc] + ldrh r5, [r4, #0x14] + strh r5, [r1, #0xe] + ldr r5, [r0, #0xc] + str r5, [sp, #0x14] + ldrb r5, [r0, #0x7] + lsl r5, r5, #0x3 + strh r5, [r1, #0x4] + ldrb r5, [r0, #0x8] + lsl r5, r5, #0x3 + strh r5, [r1, #0x6] + ldrb r5, [r0, #0x4] + ldr r1, [r0, #0x0] + mov r0, #0x2c + mul r0, r5 + add r0, r1, r0 + ldrb r0, [r0, #0x1e] + add r1, sp, #0x14 + cmp r0, #0x0 + ldrh r0, [r4, #0x18] + bne _020196D6 + str r0, [sp, #0x0] + ldrh r0, [r4, #0x1c] + str r0, [sp, #0x4] + ldrh r0, [r4, #0x20] + str r0, [sp, #0x8] + ldrh r0, [r4, #0x24] + str r0, [sp, #0xc] + ldrh r0, [r4, #0x28] + str r0, [sp, #0x10] + add r0, sp, #0x1c + bl sub_02018A60 + add sp, #0x24 + pop {r4-r5, pc} +_020196D6: + str r0, [sp, #0x0] + ldrh r0, [r4, #0x1c] + str r0, [sp, #0x4] + ldrh r0, [r4, #0x20] + str r0, [sp, #0x8] + ldrh r0, [r4, #0x24] + str r0, [sp, #0xc] + ldrh r0, [r4, #0x28] + str r0, [sp, #0x10] + add r0, sp, #0x1c + bl sub_02018CA0 + add sp, #0x24 + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_020196F4 +sub_020196F4: ; 0x020196F4 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r1, #0x0 + ldr r1, [r0, #0xc] + add r4, r2, #0x0 + str r1, [sp, #0x8] + ldrb r1, [r0, #0x7] + add r2, r3, #0x0 + lsl r3, r1, #0x3 + add r1, sp, #0x8 + strh r3, [r1, #0x4] + ldrb r3, [r0, #0x8] + lsl r3, r3, #0x3 + strh r3, [r1, #0x6] + ldrb r3, [r0, #0x4] + ldr r1, [r0, #0x0] + mov r0, #0x2c + mul r0, r3 + add r0, r1, r0 + ldrb r0, [r0, #0x1e] + add r3, sp, #0x10 + cmp r0, #0x0 + bne _02019736 + ldrh r0, [r3, #0x14] + add r1, r4, #0x0 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldrh r3, [r3, #0x10] + add r0, sp, #0x8 + bl sub_02018E88 + add sp, #0x10 + pop {r3-r5, pc} +_02019736: + ldrh r0, [r3, #0x14] + add r1, r4, #0x0 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldrh r3, [r3, #0x10] + add r0, sp, #0x8 + bl sub_02018F4C + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201974C +sub_0201974C: ; 0x0201974C + push {r4-r7, lr} + sub sp, #0x1fc + sub sp, #0x118 + add r5, r0, #0x0 + ldr r0, [sp, #0x330] + str r1, [sp, #0x0] + str r0, [sp, #0x330] + add r1, sp, #0x318 + ldrh r1, [r1, #0x10] + ldr r0, [r5, #0xc] + str r1, [sp, #0x5c] + ldrb r1, [r5, #0x7] + str r0, [sp, #0x278] + ldrb r0, [r5, #0x8] + lsl r1, r1, #0x13 + lsr r4, r1, #0x10 + ldr r1, [sp, #0x5c] + lsl r0, r0, #0x13 + sub r1, r4, r1 + lsr r0, r0, #0x10 + str r4, [sp, #0x58] + str r1, [sp, #0x8] + cmp r1, r2 + blt _0201977E + str r2, [sp, #0x8] +_0201977E: + add r1, sp, #0x318 + ldrh r1, [r1, #0x14] + sub r0, r0, r1 + str r1, [sp, #0x48] + str r0, [sp, #0x4] + cmp r0, r3 + blt _0201978E + str r3, [sp, #0x4] +_0201978E: + ldr r0, [sp, #0x8] + mov r4, #0x0 + cmp r0, #0x8 + ble _0201979E + mov r0, #0x1 + orr r0, r4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_0201979E: + ldr r0, [sp, #0x4] + cmp r0, #0x8 + ble _020197AC + mov r0, #0x2 + orr r0, r4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_020197AC: + ldrh r0, [r5, #0xa] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + beq _020197B8 + bl sub_0201A12C +_020197B8: + cmp r4, #0x3 + bls _020197C0 + bl sub_0201A8BC +_020197C0: + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r1, #0x4 + lsl r0, r3, #0xc + lsl r0, r7, #0x14 + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x70] + mov r0, #0x0 + str r0, [sp, #0x274] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bgt _020197EA + bl sub_0201A8BC +_020197EA: + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x6c] +_020197F6: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x70] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x26c] + ldr r0, [sp, #0x274] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x270] + ldr r0, [sp, #0x8] + mov r1, #0x0 + cmp r0, #0x0 + ble _020198AA + ble _020198AA + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x48] + ldr r6, [sp, #0x6c] + lsl r5, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x48] + str r6, [sp, #0x68] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + ldr r5, [sp, #0x6c] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0x64] + str r0, [sp, #0x60] +_02019848: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019B68 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0x68] + str r5, [sp, #0x27c] + add r0, r5, r0 + ldr r5, [sp, #0x26c] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _0201989C + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x280] + ldrb r5, [r0, r7] + str r5, [sp, #0x284] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x284] + and r6, r5 + ldr r5, [sp, #0x280] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x270] + cmp r0, #0x0 + beq _0201989C + ldr r6, [sp, #0x27c] + ldr r0, [sp, #0x64] + add r6, r6, r0 + ldr r0, [sp, #0x60] + strb r5, [r0, r6] +_0201989C: + ldr r0, [sp, #0x8] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _02019848 +_020198AA: + ldr r0, [sp, #0x270] + cmp r0, #0x0 + beq _020198B8 + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _020198BE +_020198B8: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_020198BE: + ldr r0, [sp, #0x0] + add r0, r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x274] + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x274] + cmp r1, r0 + blt _020197F6 + add sp, #0x1fc + add sp, #0x118 + pop {r4-r7, pc} +_020198D6: + .byte 0x00, 0x98, 0x97, 0x90, 0x12, 0x98, 0x99, 0x90, 0xCC, 0x98 + .byte 0x00, 0x06, 0x00, 0x0E, 0x15, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x21, 0x90, 0x00, 0x20, 0x9A, 0x90 + .byte 0x01, 0x98, 0x00, 0x28, 0x6D, 0xDD, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10 + .byte 0x20, 0x90, 0x97, 0x98, 0x21, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x96, 0x90, 0x9A, 0x98, 0x20, 0x9E + .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x98, 0x90, 0x10, 0x1C, 0x83, 0x00 + .byte 0x99, 0x98, 0x00, 0x21, 0x85, 0x00, 0x90, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20 + .byte 0x07, 0x40, 0x99, 0x98, 0x1F, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x8B, 0x48, 0x20, 0x9D, 0x30, 0x40 + .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x1E, 0x95, 0x1D, 0x90, 0x55, 0x10, 0x03, 0x20 + .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0x84, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x1F, 0x98, 0xA2, 0x95 + .byte 0x28, 0x18, 0x96, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E + .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xA3, 0x95, 0xC5, 0x5D, 0xA4, 0x95, 0xF0, 0x25 + .byte 0x35, 0x41, 0xA4, 0x9E, 0x2E, 0x40, 0xA3, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55 + .byte 0x98, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA2, 0x9E, 0x1E, 0x98, 0x36, 0x18, 0x1D, 0x98, 0x85, 0x55 + .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x98, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x99, 0x98, 0x80, 0x1C, 0x99, 0x90, 0x02, 0xE0, 0x99, 0x98, 0x40, 0x1C, 0x99, 0x90 + .byte 0x97, 0x98, 0x00, 0x1D, 0x97, 0x90, 0x9A, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x9A, 0x91, 0x81, 0x42 + .byte 0x97, 0xDB, 0x00, 0x98, 0x20, 0x30, 0x00, 0x90, 0x15, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x26, 0x90 + .byte 0x00, 0x20, 0x95, 0x90, 0x01, 0x98, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x67, 0xFF, 0x17, 0x98 + .byte 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x25, 0x90 + .byte 0x00, 0x98, 0x26, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x93, 0x90, 0x95, 0x98, 0x01, 0x41, 0x01, 0x20 + .byte 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x94, 0x90, 0x02, 0x98, 0x00, 0x21, 0xA5, 0x90, 0x08, 0x38 + .byte 0xA5, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x25, 0x9E + .byte 0x85, 0x00, 0x4D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98 + .byte 0x24, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x48, 0x48, 0x25, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20 + .byte 0x30, 0x40, 0x0C, 0x1C, 0x23, 0x95, 0x22, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 + .byte 0x40, 0x19, 0x41, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x24, 0x98, 0xA6, 0x95, 0x28, 0x18, 0x93, 0x9D + .byte 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07 + .byte 0x76, 0x0F, 0xB5, 0x40, 0xA7, 0x95, 0xC5, 0x5D, 0xA8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xA8, 0x9E + .byte 0x2E, 0x40, 0xA7, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x94, 0x98, 0x00, 0x28 + .byte 0x04, 0xD0, 0xA6, 0x9E, 0x23, 0x98, 0x36, 0x18, 0x22, 0x98, 0x85, 0x55, 0xA5, 0x98, 0x49, 0x1C + .byte 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x94, 0x98, 0x00, 0x28, 0x03, 0xD0 + .byte 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98 + .byte 0x00, 0x1D, 0x00, 0x90, 0x95, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x95, 0x91, 0x81, 0x42, 0x8F, 0xDB + .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x07, 0x21, 0x8F, 0x90, 0x12, 0x98, 0x91, 0x90 + .byte 0x00, 0x20, 0x92, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x2A, 0x90, 0x16, 0x98, 0x01, 0x40 + .byte 0x40, 0x18, 0xC0, 0x10, 0x10, 0x90, 0x8F, 0x98, 0x2A, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8E, 0x90 + .byte 0x92, 0x98, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x90, 0x90, 0x02, 0x98 + .byte 0x00, 0x21, 0x00, 0x28, 0x4D, 0xDD, 0x4C, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x91, 0x98, 0x10, 0x9E + .byte 0x85, 0x00, 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x91, 0x98 + .byte 0x29, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20 + .byte 0x30, 0x40, 0x0C, 0x1C, 0x28, 0x95, 0x27, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 + .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46 +_02019B68: .word 0x00003FE0 +_02019B6C: + .byte 0x1D, 0x40, 0x45, 0x19 + .byte 0x29, 0x98, 0xA9, 0x95, 0x28, 0x18, 0x8E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40 + .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xAA, 0x95, 0xC5, 0x5D + .byte 0xAB, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAB, 0x9E, 0x2E, 0x40, 0xAA, 0x9D, 0x35, 0x43, 0x2D, 0x06 + .byte 0x2D, 0x0E, 0xC5, 0x55, 0x90, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA9, 0x9E, 0x28, 0x98, 0x36, 0x18 + .byte 0x27, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42 + .byte 0xCA, 0xDB, 0x90, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x91, 0x98, 0x80, 0x1C, 0x91, 0x90, 0x02, 0xE0 + .byte 0x91, 0x98, 0x40, 0x1C, 0x91, 0x90, 0x8F, 0x98, 0x00, 0x1D, 0x8F, 0x90, 0x92, 0x98, 0x40, 0x1C + .byte 0x92, 0x90, 0x08, 0x28, 0x8F, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x40, 0x30, 0x00, 0x90, 0x12, 0x98 + .byte 0x01, 0x21, 0x08, 0x30, 0x12, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98 + .byte 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x00, 0x06 + .byte 0x00, 0x0E, 0x2E, 0x90, 0x00, 0x20, 0x08, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC + .byte 0x00, 0xF0, 0x4C, 0xFE, 0x00, 0x98, 0x2E, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8C, 0x90, 0x08, 0x98 + .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x8D, 0x90, 0x02, 0x98, 0x00, 0x21 + .byte 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x10, 0x9E, 0x85, 0x00 + .byte 0xCD, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98, 0x2D, 0x96 + .byte 0x40, 0x1C, 0x86, 0x00, 0xC8, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40 + .byte 0x0C, 0x1C, 0x2C, 0x95, 0x2B, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19 + .byte 0xC1, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x2D, 0x98, 0xAC, 0x95, 0x28, 0x18, 0x8C, 0x9D, 0x2E, 0x1C + .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F + .byte 0xB5, 0x40, 0xAD, 0x95, 0xC5, 0x5D, 0xAE, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAE, 0x9E, 0x2E, 0x40 + .byte 0xAD, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x8D, 0x98, 0x00, 0x28, 0x04, 0xD0 + .byte 0xAC, 0x9E, 0x2C, 0x98, 0x36, 0x18, 0x2B, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D + .byte 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x8D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98 + .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98, 0x01, 0x99 + .byte 0x00, 0x1D, 0x00, 0x90, 0x08, 0x98, 0x08, 0x39, 0x40, 0x1C, 0x08, 0x90, 0x88, 0x42, 0x91, 0xDB + .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x88, 0x90, 0x12, 0x98, 0x8A, 0x90, 0xCC, 0x98 + .byte 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x8B, 0x90, 0x08, 0x06, 0x00, 0x0E, 0x0F, 0x90, 0x16, 0x98 + .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0E, 0x90, 0x88, 0x98, 0x0F, 0x99, 0x00, 0x68 + .byte 0x17, 0x9A, 0x87, 0x90, 0x8B, 0x98, 0x0E, 0x9E, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06 + .byte 0x00, 0x0E, 0x89, 0x90, 0x10, 0x1C, 0x83, 0x00, 0x8A, 0x98, 0x00, 0x21, 0x85, 0x00, 0x8E, 0x48 + .byte 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x8A, 0x98, 0x31, 0x96, 0x40, 0x1C + .byte 0x86, 0x00, 0x89, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0D, 0x93 + .byte 0x0C, 0x1C, 0x30, 0x95, 0x2F, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19 + .byte 0x81, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x31, 0x98, 0xAF, 0x95, 0x28, 0x18, 0x87, 0x9D, 0x2E, 0x1C + .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F + .byte 0xB5, 0x40, 0xB0, 0x95, 0xC5, 0x5D, 0xB1, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB1, 0x9E, 0x2E, 0x40 + .byte 0xB0, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x89, 0x98, 0x00, 0x28, 0x04, 0xD0 + .byte 0xAF, 0x9E, 0x30, 0x98, 0x36, 0x18, 0x2F, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D + .byte 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x89, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x8A, 0x98, 0x80, 0x1C + .byte 0x8A, 0x90, 0x02, 0xE0, 0x8A, 0x98, 0x40, 0x1C, 0x8A, 0x90, 0x88, 0x98, 0x00, 0x1D, 0x88, 0x90 + .byte 0x8B, 0x98, 0x40, 0x1C, 0x8B, 0x90, 0x08, 0x28, 0x97, 0xDB, 0x00, 0x98, 0x83, 0x90, 0x20, 0x30 + .byte 0x83, 0x90, 0x12, 0x98, 0x85, 0x90, 0x00, 0x20, 0x86, 0x90, 0x17, 0x98, 0x35, 0x90, 0x08, 0x30 + .byte 0x35, 0x90, 0x83, 0x98, 0x0F, 0x99, 0x00, 0x68, 0x35, 0x9A, 0x82, 0x90, 0x86, 0x98, 0x01, 0x41 + .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x84, 0x90, 0x02, 0x98, 0x00, 0x21, 0xB2, 0x90 + .byte 0x08, 0x38, 0xB2, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x85, 0x98 + .byte 0x0E, 0x9E, 0x85, 0x00, 0x50, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40 + .byte 0x85, 0x98, 0x34, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x4B, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43 + .byte 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x33, 0x95, 0x32, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40 + .byte 0x9E, 0x98, 0x40, 0x19, 0x44, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x34, 0x98, 0xB3, 0x95, 0x28, 0x18 + .byte 0x82, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0 + .byte 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB4, 0x95, 0xC5, 0x5D, 0xB5, 0x95, 0xF0, 0x25, 0x35, 0x41 + .byte 0xB5, 0x9E, 0x2E, 0x40, 0xB4, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x84, 0x98 + .byte 0x00, 0x28, 0x04, 0xD0, 0xB3, 0x9E, 0x33, 0x98, 0x36, 0x18, 0x32, 0x98, 0x85, 0x55, 0xB2, 0x98 + .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x84, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x85, 0x98, 0x80, 0x1C, 0x85, 0x90, 0x02, 0xE0, 0x85, 0x98, 0x40, 0x1C, 0x85, 0x90 + .byte 0x83, 0x98, 0x00, 0x1D, 0x83, 0x90, 0x86, 0x98, 0x40, 0x1C, 0x86, 0x90, 0x08, 0x28, 0x90, 0xDB + .byte 0x00, 0x98, 0x00, 0x22, 0x7F, 0x90, 0x40, 0x30, 0x7F, 0x90, 0x12, 0x98, 0x01, 0x21, 0x08, 0x30 + .byte 0x12, 0x90, 0x81, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x81, 0x98, 0x40, 0x1C + .byte 0x81, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x14, 0x90, 0x00, 0x06 + .byte 0x00, 0x0E, 0x39, 0x90, 0x00, 0x20, 0x07, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x6B, 0xDD + .byte 0x7F, 0x98, 0x39, 0x99, 0x00, 0x68, 0x0E, 0x9E, 0x7E, 0x90, 0x07, 0x98, 0x17, 0x9A, 0x01, 0x41 + .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x80, 0x90, 0x81, 0x98, 0x00, 0x21, 0x85, 0x00 + .byte 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x81, 0x98, 0x38, 0x96 + .byte 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40 + .byte 0x0D, 0x9B, 0x0C, 0x1C, 0x37, 0x95, 0x36, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 + .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00, 0x1D, 0x40, 0x45, 0x19 + .byte 0x38, 0x98, 0xB6, 0x95, 0x28, 0x18, 0x7E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40 + .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB7, 0x95, 0xC5, 0x5D + .byte 0xB8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB8, 0x9E, 0x2E, 0x40, 0xB7, 0x9D, 0x35, 0x43, 0x2D, 0x06 + .byte 0x2D, 0x0E, 0xC5, 0x55, 0x80, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xB6, 0x9E, 0x37, 0x98, 0x36, 0x18 + .byte 0x36, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCB, 0xDB + .byte 0x80, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x81, 0x98, 0x80, 0x1C, 0x81, 0x90, 0x02, 0xE0, 0x81, 0x98 + .byte 0x40, 0x1C, 0x81, 0x90, 0x7F, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x7F, 0x90, 0x07, 0x98, 0x08, 0x39 + .byte 0x40, 0x1C, 0x07, 0x90, 0x88, 0x42, 0x93, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x60, 0x30, 0x00, 0x90 + .byte 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90 + .byte 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x14, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x3D, 0x90, 0x00, 0x20 + .byte 0x06, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x3F, 0xFC, 0x17, 0x98 + .byte 0x08, 0x30, 0x17, 0x90, 0x00, 0x98, 0x3D, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x7C, 0x90, 0x06, 0x98 + .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x7D, 0x90, 0x02, 0x98, 0x00, 0x21 + .byte 0xB9, 0x90, 0x08, 0x38, 0xB9, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00 + .byte 0x12, 0x98, 0x0E, 0x9E, 0x85, 0x00, 0xCC, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20 + .byte 0x07, 0x40, 0x12, 0x98, 0x3C, 0x96, 0x40, 0x1C, 0x86, 0x00, 0xC7, 0x48, 0x0E, 0x9D, 0x30, 0x40 + .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x3B, 0x95, 0x3A, 0x90, 0x55, 0x10, 0x03, 0x20 + .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0xC0, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x3C, 0x98, 0xBA, 0x95 + .byte 0x28, 0x18, 0x7C, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E + .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xBB, 0x95, 0xC5, 0x5D, 0xAC, 0x46, 0xF0, 0x25 + .byte 0x35, 0x41, 0x66, 0x46, 0x2E, 0x40, 0xBB, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55 + .byte 0x7D, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xBA, 0x9E, 0x3B, 0x98, 0x36, 0x18, 0x3A, 0x98, 0x85, 0x55 + .byte 0xB9, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x7D, 0x98 + .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C + .byte 0x12, 0x90, 0x00, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x00, 0x90, 0x06, 0x98, 0x08, 0x39, 0x40, 0x1C + .byte 0x06, 0x90, 0x88, 0x42, 0x8E, 0xDB, 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD + + thumb_func_start sub_0201A12C +sub_0201A12C: ; 0x0201A12C + lsl r1, r2, #0x2 + mul r1, r3 + ldr r3, [r5, #0x0] + ldrb r2, [r5, #0x9] + ldr r0, [sp, #0x0] + ldr r3, [r3, #0x0] + lsl r1, r1, #0x3 + bl sub_02018848 + str r0, [sp, #0x1ec] + cmp r4, #0x3 + bhi _0201A21E + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0x3 + lsl r0, r7, #0x9 + lsl r4, r3, #0x10 + ldr r0, [sp, #0x330] + ldr r7, [sp, #0x1ec] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x10c] + mov r0, #0x0 + str r0, [sp, #0x1e8] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _0201A21E + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x108] +_0201A178: + ldr r1, [sp, #0x10c] + ldr r0, [sp, #0x1e8] + mov r4, #0x0 + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x310] + ldr r0, [sp, #0x8] + ldr r5, [sp, #0x5c] + cmp r0, #0x0 + ble _0201A1FC + ble _0201A1FC + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x48] + ldr r2, [sp, #0x108] + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x100] + ldr r0, [sp, #0x48] + str r2, [sp, #0x104] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + ldr r2, [sp, #0x108] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0xfc] + str r0, [sp, #0xf8] +_0201A1C4: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A3AC ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x104] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A1F0 + ldr r0, [sp, #0x100] + strb r1, [r2, r0] + ldr r0, [sp, #0x310] + cmp r0, #0x0 + beq _0201A1F0 + ldr r0, [sp, #0xfc] + add r2, r3, r0 + ldr r0, [sp, #0xf8] + strb r1, [r0, r2] +_0201A1F0: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r0 + blt _0201A1C4 +_0201A1FC: + ldr r0, [sp, #0x310] + cmp r0, #0x0 + beq _0201A20A + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _0201A210 +_0201A20A: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A210: + ldr r0, [sp, #0x1e8] + add r7, #0x8 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x1e8] + cmp r1, r0 + blt _0201A178 +_0201A21E: + b _0201A8B6 +_0201A220: + .byte 0x12, 0x98, 0x7B, 0x9F, 0x78, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x13, 0x90, 0x00, 0x06 + .byte 0x00, 0x0E, 0x49, 0x90, 0x00, 0x20, 0x79, 0x90, 0x01, 0x98, 0x00, 0x28, 0x53, 0xDD, 0x16, 0x98 + .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x48, 0x90, 0x49, 0x99, 0x79, 0x98, 0x17, 0x9D + .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC3, 0x90, 0x28, 0x1C, 0xC6, 0x00 + .byte 0x78, 0x98, 0x48, 0x9A, 0xC1, 0x00, 0x51, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C + .byte 0x18, 0x40, 0x46, 0x90, 0x78, 0x98, 0x47, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x4B, 0x48, 0x48, 0x9A + .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24, 0x45, 0x92, 0x44, 0x90, 0x07, 0x20 + .byte 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x44, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x47, 0x98 + .byte 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x46, 0x98, 0x11, 0x54, 0xC3, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x45, 0x98, 0x1A, 0x18, 0x44, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C + .byte 0x08, 0x2C, 0xE4, 0xDB, 0xC3, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x78, 0x98, 0x80, 0x1C, 0x78, 0x90 + .byte 0x02, 0xE0, 0x78, 0x98, 0x40, 0x1C, 0x78, 0x90, 0x79, 0x98, 0x08, 0x37, 0x41, 0x1C, 0x01, 0x98 + .byte 0x79, 0x91, 0x81, 0x42, 0xB1, 0xDB, 0x7B, 0x98, 0xC2, 0x90, 0x40, 0x30, 0xC2, 0x90, 0x13, 0x98 + .byte 0x00, 0x06, 0x00, 0x0E, 0x4F, 0x90, 0x00, 0x20, 0x77, 0x90, 0x01, 0x98, 0x00, 0x28, 0x63, 0xDD + .byte 0x17, 0x98, 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10 + .byte 0x4E, 0x90, 0x4F, 0x99, 0x77, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06 + .byte 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x76, 0x90, 0x17, 0x9D, 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD + .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x4E, 0x9A, 0xC1, 0x00, 0x1C, 0x48, 0x38, 0x23, 0x08, 0x40 + .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4C, 0x90, 0x12, 0x98, 0x4D, 0x92, 0x40, 0x1C, 0xC1, 0x00 + .byte 0x16, 0x48, 0x4E, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4B, 0x92, 0x4A, 0x90 + .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x10, 0x48, 0x30, 0x40, 0x0B, 0x18 + .byte 0x4D, 0x98, 0x1A, 0x18, 0xC2, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x4C, 0x98, 0x11, 0x54 + .byte 0x76, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x4B, 0x98, 0x1A, 0x18, 0x4A, 0x98, 0x81, 0x54, 0x64, 0x1C + .byte 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x76, 0x98, 0x00, 0x28, 0x08, 0xD0, 0x12, 0x98 + .byte 0x80, 0x1C, 0x12, 0x90, 0x07, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00 +_0201A3AC: .word 0x00007FC0 +_0201A3B0: + .byte 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0xC2, 0x98, 0x08, 0x30, 0xC2, 0x90, 0x77, 0x98, 0x41, 0x1C + .byte 0x01, 0x98, 0x77, 0x91, 0x81, 0x42, 0xA4, 0xDB, 0x75, 0xE2, 0x12, 0x98, 0x07, 0x21, 0x74, 0x90 + .byte 0x00, 0x20, 0x75, 0x90, 0xCC, 0x98, 0x7B, 0x9F, 0x00, 0x06, 0x00, 0x0E, 0x54, 0x90, 0x16, 0x98 + .byte 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0C, 0x90, 0x54, 0x99, 0x75, 0x98, 0x00, 0x24, 0x01, 0x41 + .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC1, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28 + .byte 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x74, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0xCE, 0x48 + .byte 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x52, 0x90, 0x74, 0x98, 0x53, 0x92 + .byte 0x40, 0x1C, 0xC1, 0x00, 0xC8, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40 + .byte 0x51, 0x92, 0x50, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0xC2, 0x48 + .byte 0x30, 0x40, 0x0B, 0x18, 0x53, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x52, 0x98 + .byte 0x11, 0x54, 0xC1, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x51, 0x98, 0x1A, 0x18, 0x50, 0x98, 0x81, 0x54 + .byte 0x02, 0x98, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC1, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x74, 0x98, 0x80, 0x1C, 0x74, 0x90, 0x02, 0xE0, 0x74, 0x98, 0x40, 0x1C, 0x74, 0x90 + .byte 0x75, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x75, 0x90, 0x08, 0x28, 0xAD, 0xDB, 0x12, 0x98, 0x7B, 0x9F + .byte 0x08, 0x30, 0x12, 0x90, 0x80, 0x37, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99, 0x01, 0x41, 0x11, 0x42 + .byte 0x02, 0xD0, 0x12, 0x99, 0x49, 0x1C, 0x12, 0x91, 0x40, 0x1C, 0x08, 0x28, 0xF5, 0xDB, 0xCC, 0x98 + .byte 0x00, 0x12, 0x00, 0x06, 0x00, 0x0E, 0x59, 0x90, 0x00, 0x20, 0x05, 0x90, 0x01, 0x98, 0x08, 0x38 + .byte 0x00, 0x28, 0x53, 0xDD, 0x59, 0x99, 0x05, 0x98, 0x00, 0x24, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40 + .byte 0x00, 0x06, 0x00, 0x0E, 0xC0, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28, 0x34, 0xDD, 0x33, 0xDD + .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0x97, 0x48, 0x38, 0x23, 0x08, 0x40 + .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x57, 0x90, 0x12, 0x98, 0x58, 0x92, 0x40, 0x1C, 0xC1, 0x00 + .byte 0x91, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x56, 0x92, 0x55, 0x90 + .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x8B, 0x48, 0x30, 0x40, 0x0B, 0x18 + .byte 0x58, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x57, 0x98, 0x11, 0x54, 0xC0, 0x98 + .byte 0x00, 0x28, 0x03, 0xD0, 0x56, 0x98, 0x1A, 0x18, 0x55, 0x98, 0x81, 0x54, 0x02, 0x98, 0x64, 0x1C + .byte 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC0, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98 + .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x05, 0x98, 0x01, 0x99 + .byte 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x05, 0x90, 0x88, 0x42, 0xAB, 0xDB, 0xA3, 0xE1, 0x12, 0x98 + .byte 0x7B, 0x9F, 0x72, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x73, 0x90, 0x08, 0x06 + .byte 0x00, 0x0E, 0x0B, 0x90, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0A, 0x90 + .byte 0x0B, 0x99, 0x73, 0x98, 0x17, 0x9D, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E + .byte 0xBF, 0x90, 0x28, 0x1C, 0xC6, 0x00, 0x72, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x66, 0x48, 0x38, 0x23 + .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5C, 0x90, 0x72, 0x98, 0x5D, 0x92, 0x40, 0x1C + .byte 0xC1, 0x00, 0x61, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24 + .byte 0x09, 0x96, 0x5B, 0x92, 0x5A, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18 + .byte 0x59, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x5D, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0 + .byte 0x5C, 0x98, 0x11, 0x54, 0xBF, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5B, 0x98, 0x1A, 0x18, 0x5A, 0x98 + .byte 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBF, 0x98, 0x00, 0x28 + .byte 0x03, 0xD0, 0x72, 0x98, 0x80, 0x1C, 0x72, 0x90, 0x02, 0xE0, 0x72, 0x98, 0x40, 0x1C, 0x72, 0x90 + .byte 0x73, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x73, 0x90, 0x08, 0x28, 0xB1, 0xDB, 0x7B, 0x98, 0xBE, 0x90 + .byte 0x40, 0x30, 0xBE, 0x90, 0x12, 0x98, 0x70, 0x90, 0x00, 0x20, 0x71, 0x90, 0x17, 0x98, 0x62, 0x90 + .byte 0x08, 0x30, 0x62, 0x90, 0x0B, 0x99, 0x71, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40 + .byte 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6F, 0x90, 0x62, 0x9D, 0x00, 0x2F, 0x34, 0xDD + .byte 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x70, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x36, 0x48, 0x38, 0x23 + .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x60, 0x90, 0x70, 0x98, 0x61, 0x92, 0x40, 0x1C + .byte 0xC1, 0x00, 0x31, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5F, 0x92 + .byte 0x5E, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x2A, 0x48, 0x30, 0x40 + .byte 0x0B, 0x18, 0x61, 0x98, 0x1A, 0x18, 0xBE, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x60, 0x98 + .byte 0x11, 0x54, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5F, 0x98, 0x1A, 0x18, 0x5E, 0x98, 0x81, 0x54 + .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0 + .byte 0x70, 0x98, 0x80, 0x1C, 0x70, 0x90, 0x02, 0xE0, 0x70, 0x98, 0x40, 0x1C, 0x70, 0x90, 0xBE, 0x98 + .byte 0x08, 0x30, 0xBE, 0x90, 0x71, 0x98, 0x40, 0x1C, 0x71, 0x90, 0x08, 0x28, 0xAA, 0xDB, 0x12, 0x98 + .byte 0x7B, 0x9F, 0x08, 0x30, 0x80, 0x37, 0x12, 0x90, 0x6E, 0x90, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99 + .byte 0x01, 0x41, 0x11, 0x42, 0x02, 0xD0, 0x6E, 0x99, 0x49, 0x1C, 0x6E, 0x91, 0x40, 0x1C, 0x08, 0x28 + .byte 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x11, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x67, 0x90, 0x00, 0x20 + .byte 0x04, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x51, 0xDD, 0x67, 0x99, 0x04, 0x98, 0x0A, 0x9A + .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xBD, 0x90, 0x6E, 0x98, 0x38, 0x23 + .byte 0xC1, 0x00, 0x01, 0x48, 0x02, 0xE0, 0xC0, 0x46, 0xC0, 0x7F, 0x00, 0x00, 0x17, 0x9D, 0x08, 0x40 + .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x65, 0x90, 0x6E, 0x98, 0x66, 0x92, 0x40, 0x1C, 0xC1, 0x00 + .byte 0x58, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x09, 0x9E, 0x00, 0x24 + .byte 0x64, 0x92, 0x63, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x51, 0x48 + .byte 0x30, 0x40, 0x0B, 0x18, 0x66, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x65, 0x98 + .byte 0x11, 0x54, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x64, 0x98, 0x1A, 0x18, 0x63, 0x98, 0x81, 0x54 + .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0 + .byte 0x6E, 0x98, 0x80, 0x1C, 0x6E, 0x90, 0x02, 0xE0, 0x6E, 0x98, 0x40, 0x1C, 0x6E, 0x90, 0x04, 0x98 + .byte 0x01, 0x99, 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x04, 0x90, 0x88, 0x42, 0xAD, 0xDB, 0x7B, 0x98 + .byte 0x00, 0x22, 0xBC, 0x90, 0xC0, 0x30, 0xBC, 0x90, 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42 + .byte 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x11, 0x98 + .byte 0x00, 0x06, 0x00, 0x0E, 0x6C, 0x90, 0x00, 0x20, 0x03, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28 + .byte 0x59, 0xDD, 0x17, 0x98, 0x08, 0x30, 0x17, 0x90, 0x6C, 0x99, 0x03, 0x98, 0x02, 0x9F, 0x01, 0x41 + .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6D, 0x90, 0x17, 0x9D + .byte 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0A, 0x9A, 0xC1, 0x00 + .byte 0x24, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x6A, 0x90, 0x12, 0x98 + .byte 0x6B, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x1F, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C + .byte 0x18, 0x40, 0x69, 0x92, 0x68, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18 + .byte 0x18, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x6B, 0x98, 0x1A, 0x18, 0xBC, 0x98, 0x01, 0x5D, 0x00, 0x29 + .byte 0x08, 0xD0, 0x6A, 0x98, 0x11, 0x54, 0x6D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x69, 0x98, 0x1A, 0x18 + .byte 0x68, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6D, 0x98 + .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C + .byte 0x12, 0x90, 0xBC, 0x98, 0x01, 0x99, 0x08, 0x30, 0xBC, 0x90, 0x03, 0x98, 0x08, 0x39, 0x40, 0x1C + .byte 0x03, 0x90, 0x88, 0x42, 0xA8, 0xDB +_0201A8B6: + ldr r0, [sp, #0x1ec] + bl sub_02016A18 + + thumb_func_start sub_0201A8BC +sub_0201A8BC: ; 0x0201A8BC + add sp, #0x1fc + add sp, #0x118 + pop {r4-r7, pc} + nop +_0201A8C4: + .byte 0xC0, 0x7F, 0x00, 0x00 + + thumb_func_start sub_0201A8C8 +sub_0201A8C8: ; 0x0201A8C8 + push {r4-r6, lr} + ldrb r6, [r0, #0x4] + mov r5, #0x2c + ldr r4, [r0, #0x0] + mul r5, r6 + add r4, r4, r5 + ldrb r4, [r4, #0x1e] + cmp r4, #0x0 + bne _0201A8E0 + bl sub_0201A8E8 + pop {r4-r6, pc} +_0201A8E0: + bl sub_0201A9D4 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201A8E8 +sub_0201A8E8: ; 0x0201A8E8 + push {r3-r7, lr} + sub sp, #0x10 + add r6, r3, #0x0 + add r4, r0, #0x0 + add r0, r1, #0x0 + lsl r3, r6, #0x18 + lsl r1, r6, #0x10 + str r2, [sp, #0x0] + orr r1, r3 + lsl r5, r6, #0x8 + orr r1, r5 + orr r1, r6 + str r1, [sp, #0x4] + ldrb r1, [r4, #0x7] + ldrb r3, [r4, #0x8] + ldr r2, [r4, #0xc] + str r1, [sp, #0x8] + mul r1, r3 + lsl r1, r1, #0x5 + str r1, [sp, #0xc] + cmp r0, #0x3 + bhi _0201A9CE + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r2, #0x1 + lsl r4, r5, #0x2 + lsl r4, r5, #0x2 + add r0, r1, #0x0 + mov r7, #0x0 + cmp r0, #0x0 + ble _0201A9CE + mov r0, #0x7 + mov lr, r0 +_0201A934: + ldr r3, [sp, #0x0] + mov r4, #0x0 + add r5, r7, #0x0 +_0201A93A: + mov r0, #0x7 + add r6, r3, #0x0 + and r6, r0 + add r1, r3, #0x0 + mov r0, lr + bic r1, r0 + ldr r0, [sp, #0x8] + mul r1, r0 + add r0, r6, #0x0 + orr r0, r1 + lsl r0, r0, #0x2 + add r1, r7, r0 + ldr r0, [sp, #0xc] + cmp r1, r0 + bge _0201A95C + ldr r0, [r2, r1] + b _0201A95E +_0201A95C: + ldr r0, [sp, #0x4] +_0201A95E: + add r4, r4, #0x1 + str r0, [r2, r5] + add r3, r3, #0x1 + add r5, r5, #0x4 + cmp r4, #0x8 + blt _0201A93A + ldr r0, [sp, #0xc] + add r7, #0x20 + cmp r7, r0 + blt _0201A934 + add sp, #0x10 + pop {r3-r7, pc} +_0201A976: + .byte 0x08, 0x1C, 0x00, 0x1F, 0x12, 0x18, 0x08, 0x1C, 0x00, 0x27 + .byte 0x00, 0x28, 0x24, 0xDD, 0x07, 0x20, 0x84, 0x46, 0x00, 0x9C, 0x00, 0x25, 0x3B, 0x1C, 0x07, 0x20 + .byte 0x26, 0x1C, 0x06, 0x40, 0x21, 0x1C, 0x60, 0x46, 0x81, 0x43, 0x02, 0x98, 0x41, 0x43, 0x30, 0x1C + .byte 0x08, 0x43, 0x80, 0x00, 0x39, 0x18, 0x03, 0x98, 0x81, 0x42, 0x04, 0xDA, 0x50, 0x1A, 0x01, 0x68 + .byte 0xD0, 0x1A, 0x01, 0x60, 0x02, 0xE0, 0x01, 0x98, 0xD1, 0x1A, 0x08, 0x60, 0x6D, 0x1C, 0x64, 0x1C + .byte 0x1B, 0x1D, 0x08, 0x2D, 0xE3, 0xDB, 0x03, 0x98, 0x20, 0x37, 0x87, 0x42, 0xDC, 0xDB +_0201A9CE: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201A9D4 +sub_0201A9D4: ; 0x0201A9D4 + push {r3-r7, lr} + sub sp, #0x20 + add r6, r3, #0x0 + add r4, r0, #0x0 + str r2, [sp, #0x0] + lsl r2, r6, #0x18 + lsl r0, r6, #0x10 + orr r0, r2 + ldrb r2, [r4, #0x7] + ldr r3, [r4, #0xc] + lsl r5, r6, #0x8 + orr r0, r5 + ldrb r4, [r4, #0x8] + str r2, [sp, #0x10] + orr r0, r6 + mul r2, r4 + lsl r2, r2, #0x6 + str r2, [sp, #0x1c] + cmp r1, #0x3 + bls _0201A9FE + b _0201AB04 +_0201A9FE: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r6, #0x1 + lsl r0, r7, #0x3 + lsl r0, r7, #0x3 + mov r1, #0x0 + str r1, [sp, #0xc] + add r1, r2, #0x0 + cmp r1, #0x0 + ble _0201AB04 + add r1, r1, #0x4 + str r1, [sp, #0x14] + mov r1, #0x7 + mov lr, r1 +_0201AA24: + ldr r4, [sp, #0x0] + ldr r5, [sp, #0xc] + mov r7, #0x0 +_0201AA2A: + mov r1, #0x7 + add r6, r4, #0x0 + and r6, r1 + add r2, r4, #0x0 + mov r1, lr + bic r2, r1 + ldr r1, [sp, #0x10] + mul r2, r1 + add r1, r6, #0x0 + orr r1, r2 + lsl r2, r1, #0x3 + ldr r1, [sp, #0xc] + add r1, r1, r2 + ldr r2, [sp, #0x1c] + cmp r1, r2 + bge _0201AA50 + ldr r2, [r3, r1] + str r2, [r3, r5] + b _0201AA52 +_0201AA50: + str r0, [r3, r5] +_0201AA52: + add r2, r1, #0x4 + ldr r1, [sp, #0x14] + cmp r2, r1 + bge _0201AA62 + ldr r2, [r3, r2] + add r1, r5, #0x4 + str r2, [r3, r1] + b _0201AA66 +_0201AA62: + add r1, r5, #0x4 + str r0, [r3, r1] +_0201AA66: + add r7, r7, #0x1 + add r4, r4, #0x1 + add r5, #0x8 + cmp r7, #0x8 + blt _0201AA2A + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x1c] + add r2, #0x40 + str r2, [sp, #0xc] + cmp r2, r1 + blt _0201AA24 + add sp, #0x20 + pop {r3-r7, pc} +_0201AA80: + .byte 0x11, 0x1C, 0x08, 0x39, 0x5B, 0x18, 0x00, 0x21, 0x02, 0x91, 0x11, 0x1C, 0x00, 0x29, 0x39, 0xDD + .byte 0x00, 0x21, 0x01, 0x91, 0x07, 0x99, 0x00, 0x9D, 0x09, 0x1F, 0x06, 0x91, 0x07, 0x21, 0x02, 0x9C + .byte 0x8C, 0x46, 0x07, 0x21, 0x2E, 0x1C, 0x0E, 0x40, 0x2A, 0x1C, 0x61, 0x46, 0x8A, 0x43, 0x04, 0x99 + .byte 0x4A, 0x43, 0x31, 0x1C, 0x11, 0x43, 0xCA, 0x00, 0x02, 0x99, 0x8E, 0x18, 0x07, 0x99, 0x8E, 0x42 + .byte 0x04, 0xDA, 0x99, 0x1B, 0x0A, 0x68, 0x19, 0x1B, 0x0A, 0x60, 0x01, 0xE0, 0x19, 0x1B, 0x08, 0x60 + .byte 0x06, 0x99, 0x32, 0x1F, 0x8A, 0x42, 0x05, 0xDA, 0x99, 0x1A, 0x22, 0x1F, 0x09, 0x68, 0x9A, 0x1A + .byte 0x11, 0x60, 0x02, 0xE0, 0x21, 0x1F, 0x59, 0x1A, 0x08, 0x60, 0x01, 0x99, 0x6D, 0x1C, 0x49, 0x1C + .byte 0x08, 0x34, 0x01, 0x91, 0x08, 0x29, 0xD4, 0xDB, 0x02, 0x9A, 0x07, 0x99, 0x40, 0x32, 0x02, 0x92 + .byte 0x8A, 0x42, 0xC5, 0xDB +_0201AB04: + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_0201AB08 +sub_0201AB08: ; 0x0201AB08 + ldrb r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0201AB0C +sub_0201AB0C: ; 0x0201AB0C + ldrb r0, [r0, #0x7] + bx lr + + thumb_func_start sub_0201AB10 +sub_0201AB10: ; 0x0201AB10 + ldrb r0, [r0, #0x8] + bx lr + + thumb_func_start sub_0201AB14 +sub_0201AB14: ; 0x0201AB14 + ldrb r0, [r0, #0x5] + bx lr + + thumb_func_start sub_0201AB18 +sub_0201AB18: ; 0x0201AB18 + ldrb r0, [r0, #0x6] + bx lr + + thumb_func_start sub_0201AB1C +sub_0201AB1C: ; 0x0201AB1C + strb r1, [r0, #0x5] + bx lr + + thumb_func_start sub_0201AB20 +sub_0201AB20: ; 0x0201AB20 + strb r1, [r0, #0x6] + bx lr + + thumb_func_start sub_0201AB24 +sub_0201AB24: ; 0x0201AB24 + strb r1, [r0, #0x9] + bx lr + + thumb_func_start sub_0201AB28 +sub_0201AB28: ; 0x0201AB28 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + bl sub_020161A4 + add r1, sp, #0x0 + str r0, [r4, #0x0] + blx sub_020B0030 + ldr r0, [sp, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0201AB44 +sub_0201AB44: ; 0x0201AB44 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + bl sub_020161A4 + add r1, sp, #0x0 + str r0, [r4, #0x0] + blx sub_020B0138 + ldr r0, [sp, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0201AB60 +sub_0201AB60: ; 0x0201AB60 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201AC78 + add r0, r4, #0x0 + bl sub_0201AB78 + mov r0, #0x0 + strh r0, [r4, #0x4] + strh r0, [r4, #0x6] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201AB78 +sub_0201AB78: ; 0x0201AB78 + push {r4, lr} + add r4, r0, #0x0 + ldrh r1, [r4, #0x6] + mov r0, #0x1 + tst r0, r1 + beq _0201AB92 + ldr r2, [r4, #0x10] + ldr r1, [r4, #0x8] + ldr r3, [r4, #0xc] + mov r0, #0x0 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201AB92: + ldrh r1, [r4, #0x6] + mov r0, #0x2 + tst r0, r1 + beq _0201ABA8 + ldr r2, [r4, #0x3c] + ldr r1, [r4, #0x34] + ldr r3, [r4, #0x38] + mov r0, #0x1 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201ABA8: + ldrh r1, [r4, #0x6] + mov r0, #0x4 + tst r0, r1 + beq _0201ABBE + ldr r2, [r4, #0x68] + ldr r1, [r4, #0x60] + ldr r3, [r4, #0x64] + mov r0, #0x2 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201ABBE: + ldrh r1, [r4, #0x6] + mov r0, #0x8 + tst r0, r1 + beq _0201ABE0 + add r2, r4, #0x0 + add r1, r4, #0x0 + add r2, #0x94 + add r3, r4, #0x0 + add r1, #0x8c + ldr r2, [r2, #0x0] + add r3, #0x90 + ldr r1, [r1, #0x0] + ldr r3, [r3, #0x0] + mov r0, #0x3 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201ABE0: + ldrh r1, [r4, #0x6] + mov r0, #0x10 + tst r0, r1 + beq _0201AC02 + add r2, r4, #0x0 + add r1, r4, #0x0 + add r2, #0xc0 + add r3, r4, #0x0 + add r1, #0xb8 + ldr r2, [r2, #0x0] + add r3, #0xbc + ldr r1, [r1, #0x0] + ldr r3, [r3, #0x0] + mov r0, #0x4 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201AC02: + ldrh r1, [r4, #0x6] + mov r0, #0x20 + tst r0, r1 + beq _0201AC24 + add r2, r4, #0x0 + add r1, r4, #0x0 + add r2, #0xec + add r3, r4, #0x0 + add r1, #0xe4 + ldr r2, [r2, #0x0] + add r3, #0xe8 + ldr r1, [r1, #0x0] + ldr r3, [r3, #0x0] + mov r0, #0x5 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201AC24: + ldrh r0, [r4, #0x6] + mov r3, #0x40 + tst r0, r3 + beq _0201AC44 + add r2, r3, #0x0 + add r1, r3, #0x0 + add r2, #0xd8 + add r1, #0xd0 + ldr r2, [r4, r2] + add r3, #0xd4 + ldr r1, [r4, r1] + ldr r3, [r4, r3] + mov r0, #0x6 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201AC44: + ldrh r0, [r4, #0x6] + mov r3, #0x80 + tst r0, r3 + beq _0201AC64 + add r2, r3, #0x0 + add r1, r3, #0x0 + add r2, #0xc4 + add r1, #0xbc + ldr r2, [r4, r2] + add r3, #0xc0 + ldr r1, [r4, r1] + ldr r3, [r4, r3] + mov r0, #0x7 + lsl r2, r2, #0x1 + bl sub_02017D68 +_0201AC64: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201AC68 +sub_0201AC68: ; 0x0201AC68 + ldrh r3, [r0, #0x6] + mov r2, #0x1 + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strh r1, [r0, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_0201AC78 +sub_0201AC78: ; 0x0201AC78 + push {r4, lr} + sub sp, #0x48 + add r4, r0, #0x0 + ldrh r1, [r4, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201AC9E + ldr r1, [r4, #0x14] + ldr r0, _0201AEB0 ; =0x000001FF + add r2, r1, #0x0 + ldr r1, [r4, #0x18] + and r2, r0 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _0201AEB4 ; =0x04000010 + str r1, [r0, #0x0] +_0201AC9E: + ldrh r1, [r4, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201ACBE + ldr r1, [r4, #0x40] + ldr r0, _0201AEB0 ; =0x000001FF + add r2, r1, #0x0 + ldr r1, [r4, #0x44] + and r2, r0 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _0201AEB8 ; =0x04000014 + str r1, [r0, #0x0] +_0201ACBE: + ldrh r1, [r4, #0x4] + mov r0, #0x4 + tst r0, r1 + beq _0201AD1E + add r0, r4, #0x0 + add r0, #0x74 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201ACEA + ldr r1, [r4, #0x6c] + ldr r0, _0201AEB0 ; =0x000001FF + add r2, r1, #0x0 + ldr r1, [r4, #0x70] + and r2, r0 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _0201AEBC ; =0x04000018 + str r1, [r0, #0x0] + b _0201AD1E +_0201ACEA: + mov r0, #0x2 + str r0, [sp, #0x0] + add r1, r4, #0x0 + add r1, #0x78 + add r3, r4, #0x0 + add r3, #0x80 + ldrh r1, [r1, #0x0] + ldr r2, [r4, #0x7c] + ldr r3, [r3, #0x0] + add r0, sp, #0x38 + bl sub_0201BB74 + ldr r0, [r4, #0x6c] + add r2, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x70] + add r3, r4, #0x0 + str r0, [sp, #0x4] + add r2, #0x84 + add r3, #0x88 + ldr r0, _0201AEC0 ; =0x04000020 + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + add r1, sp, #0x38 + blx sub_020C74F8 +_0201AD1E: + ldrh r1, [r4, #0x4] + mov r0, #0x8 + tst r0, r1 + beq _0201AD8E + add r0, r4, #0x0 + add r0, #0xa0 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201AD4E + add r0, r4, #0x0 + add r2, r4, #0x0 + add r0, #0x98 + add r2, #0x9c + ldr r2, [r2, #0x0] + ldr r0, [r0, #0x0] + ldr r1, _0201AEB0 ; =0x000001FF + lsl r2, r2, #0x10 + and r0, r1 + lsl r1, r1, #0x10 + and r1, r2 + orr r1, r0 + ldr r0, _0201AEC4 ; =0x0400001C + str r1, [r0, #0x0] + b _0201AD8E +_0201AD4E: + mov r0, #0x2 + add r1, r4, #0x0 + str r0, [sp, #0x0] + add r1, #0xa4 + add r2, r4, #0x0 + add r3, r4, #0x0 + add r2, #0xa8 + add r3, #0xac + ldrh r1, [r1, #0x0] + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + add r0, sp, #0x28 + bl sub_0201BB74 + add r0, r4, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + add r2, r4, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0x9c + ldr r0, [r0, #0x0] + add r3, r4, #0x0 + str r0, [sp, #0x4] + add r2, #0xb0 + add r3, #0xb4 + ldr r0, _0201AEC8 ; =0x04000030 + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + add r1, sp, #0x28 + blx sub_020C74F8 +_0201AD8E: + ldrh r1, [r4, #0x4] + mov r0, #0x10 + tst r0, r1 + beq _0201ADB2 + add r0, r4, #0x0 + add r2, r4, #0x0 + add r0, #0xc4 + add r2, #0xc8 + ldr r2, [r2, #0x0] + ldr r0, [r0, #0x0] + ldr r1, _0201AEB0 ; =0x000001FF + lsl r2, r2, #0x10 + and r0, r1 + lsl r1, r1, #0x10 + and r1, r2 + orr r1, r0 + ldr r0, _0201AECC ; =0x04001010 + str r1, [r0, #0x0] +_0201ADB2: + ldrh r1, [r4, #0x4] + mov r0, #0x20 + tst r0, r1 + beq _0201ADD6 + add r0, r4, #0x0 + add r2, r4, #0x0 + add r0, #0xf0 + add r2, #0xf4 + ldr r2, [r2, #0x0] + ldr r0, [r0, #0x0] + ldr r1, _0201AEB0 ; =0x000001FF + lsl r2, r2, #0x10 + and r0, r1 + lsl r1, r1, #0x10 + and r1, r2 + orr r1, r0 + ldr r0, _0201AED0 ; =0x04001014 + str r1, [r0, #0x0] +_0201ADD6: + ldrh r0, [r4, #0x4] + mov r3, #0x40 + tst r0, r3 + beq _0201AE3E + add r0, r3, #0x0 + add r0, #0xe4 + ldrb r0, [r4, r0] + cmp r0, #0x0 + bne _0201AE04 + ldr r1, _0201AEB0 ; =0x000001FF + add r3, #0xdc + add r2, r1, #0x0 + sub r2, #0xdf + ldr r0, [r4, r3] + ldr r2, [r4, r2] + and r0, r1 + lsl r2, r2, #0x10 + lsl r1, r1, #0x10 + and r1, r2 + orr r1, r0 + ldr r0, _0201AED4 ; =0x04001018 + str r1, [r0, #0x0] + b _0201AE3E +_0201AE04: + mov r0, #0x2 + add r1, r3, #0x0 + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r1, #0xe8 + add r2, #0xec + add r3, #0xf0 + ldrh r1, [r4, r1] + ldr r2, [r4, r2] + ldr r3, [r4, r3] + add r0, sp, #0x18 + bl sub_0201BB74 + mov r3, #0x47 + lsl r3, r3, #0x2 + ldr r0, [r4, r3] + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r0, r3, #0x4 + ldr r0, [r4, r0] + add r2, #0x18 + str r0, [sp, #0x4] + add r3, #0x1c + ldr r0, _0201AED8 ; =0x04001020 + ldr r2, [r4, r2] + ldr r3, [r4, r3] + add r1, sp, #0x18 + blx sub_020C74F8 +_0201AE3E: + ldrh r0, [r4, #0x4] + mov r3, #0x80 + tst r0, r3 + beq _0201AEAC + add r0, r3, #0x0 + add r0, #0xd0 + ldrb r0, [r4, r0] + cmp r0, #0x0 + bne _0201AE72 + add r3, #0xc8 + ldr r1, [r4, r3] + ldr r0, _0201AEB0 ; =0x000001FF + add r2, r1, #0x0 + add r1, r0, #0x0 + sub r1, #0xb3 + ldr r1, [r4, r1] + and r2, r0 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _0201AEDC ; =0x0400101C + add sp, #0x48 + str r1, [r0, #0x0] + pop {r4, pc} +_0201AE72: + mov r0, #0x2 + add r1, r3, #0x0 + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r1, #0xd4 + add r2, #0xd8 + add r3, #0xdc + ldrh r1, [r4, r1] + ldr r2, [r4, r2] + ldr r3, [r4, r3] + add r0, sp, #0x8 + bl sub_0201BB74 + mov r3, #0x52 + lsl r3, r3, #0x2 + ldr r0, [r4, r3] + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r0, r3, #0x4 + ldr r0, [r4, r0] + add r2, #0x18 + str r0, [sp, #0x4] + add r3, #0x1c + ldr r0, _0201AEE0 ; =0x04001030 + ldr r2, [r4, r2] + ldr r3, [r4, r3] + add r1, sp, #0x8 + blx sub_020C74F8 +_0201AEAC: + add sp, #0x48 + pop {r4, pc} + .balign 4 +_0201AEB0: .word 0x000001FF +_0201AEB4: .word 0x04000010 +_0201AEB8: .word 0x04000014 +_0201AEBC: .word 0x04000018 +_0201AEC0: .word 0x04000020 +_0201AEC4: .word 0x0400001C +_0201AEC8: .word 0x04000030 +_0201AECC: .word 0x04001010 +_0201AED0: .word 0x04001014 +_0201AED4: .word 0x04001018 +_0201AED8: .word 0x04001020 +_0201AEDC: .word 0x0400101C +_0201AEE0: .word 0x04001030 + + thumb_func_start sub_0201AEE4 +sub_0201AEE4: ; 0x0201AEE4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + mov r0, #0x2c + add r1, #0x8 + mul r0, r4 + add r0, r1, r0 + add r1, r2, #0x0 + add r2, r3, #0x0 + bl sub_02017B8C + mov r0, #0x1 + ldrh r1, [r5, #0x4] + lsl r0, r4 + orr r0, r1 + strh r0, [r5, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_0201AF08 +sub_0201AF08: ; 0x0201AF08 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + mov r0, #0x2c + add r1, #0x8 + mul r0, r4 + add r0, r1, r0 + add r1, r2, #0x0 + add r2, r3, #0x0 + bl sub_0201AF2C + mov r0, #0x1 + ldrh r1, [r5, #0x4] + lsl r0, r4 + orr r0, r1 + strh r0, [r5, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_0201AF2C +sub_0201AF2C: ; 0x0201AF2C + cmp r1, #0x0 + beq _0201AF3A + cmp r1, #0x1 + beq _0201AF3E + cmp r1, #0x2 + beq _0201AF46 + bx lr +_0201AF3A: + strh r2, [r0, #0x18] + bx lr +_0201AF3E: + ldrh r1, [r0, #0x18] + add r1, r1, r2 + strh r1, [r0, #0x18] + bx lr +_0201AF46: + ldrh r1, [r0, #0x18] + sub r1, r1, r2 + strh r1, [r0, #0x18] + bx lr + .balign 4 + + thumb_func_start sub_0201AF50 +sub_0201AF50: ; 0x0201AF50 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + mov r0, #0x2c + add r1, #0x8 + mul r0, r4 + add r0, r1, r0 + add r1, r2, #0x0 + add r2, r3, #0x0 + bl sub_0201AF74 + mov r0, #0x1 + ldrh r1, [r5, #0x4] + lsl r0, r4 + orr r0, r1 + strh r0, [r5, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_0201AF74 +sub_0201AF74: ; 0x0201AF74 + sub r1, #0x9 + cmp r1, #0x5 + bhi _0201AFB8 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r2, r5, #0 + str r2, [r0, #0x24] + bx lr +_0201AF96: + .byte 0x41, 0x6A, 0x89, 0x18, 0x41, 0x62, 0x70, 0x47, 0x41, 0x6A + .byte 0x89, 0x1A, 0x41, 0x62, 0x70, 0x47, 0x82, 0x62, 0x70, 0x47, 0x81, 0x6A, 0x89, 0x18, 0x81, 0x62 + .byte 0x70, 0x47, 0x81, 0x6A, 0x89, 0x1A, 0x81, 0x62 +_0201AFB8: + bx lr + .balign 4 + + thumb_func_start sub_0201AFBC +sub_0201AFBC: ; 0x0201AFBC + push {r4-r7, lr} + sub sp, #0x1c + str r1, [sp, #0x0] + add r7, r0, #0x0 + str r2, [sp, #0x4] + ldr r0, [sp, #0x30] + str r3, [sp, #0x8] + str r0, [sp, #0x30] + ldr r0, [sp, #0x0] + add r4, r7, #0x0 + mov r1, #0x2c + add r5, r0, #0x0 + mul r5, r1 + add r4, #0x8 + ldr r0, [r4, r5] + cmp r0, #0x0 + bne _0201AFE4 + add sp, #0x1c + mov r0, #0x0 + pop {r4-r7, pc} +_0201AFE4: + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x8] + add r2, r7, r5 + lsl r0, r0, #0x15 + lsl r1, r1, #0x15 + ldrb r2, [r2, #0x1d] + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + bl sub_02017FFC + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_020187B0 + str r0, [sp, #0x18] + ldr r1, [sp, #0x4] + mov r0, #0x7 + and r1, r0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x14] + ldr r1, [sp, #0x8] + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r7, r5 + str r0, [sp, #0x10] + ldrb r0, [r1, #0x1e] + cmp r0, #0x0 + bne _0201B096 + ldr r0, [r4, r5] + mov r1, #0x40 + str r0, [sp, #0xc] + ldr r0, [r7, #0x0] + bl sub_020169D8 + add r4, r0, #0x0 + lsl r0, r6, #0x1 + ldr r1, [sp, #0xc] + mov r12, r0 + ldrh r0, [r1, r0] + mov r3, #0x0 + mov r6, #0xf + lsl r0, r0, #0x16 + lsr r1, r0, #0x11 + ldr r0, [sp, #0x18] + add r2, r0, r1 +_0201B042: + ldrb r5, [r2, r3] + lsl r0, r3, #0x1 + add r1, r4, r0 + and r5, r6 + strb r5, [r4, r0] + ldrb r0, [r2, r3] + asr r0, r0, #0x4 + strb r0, [r1, #0x1] + add r0, r3, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x20 + blo _0201B042 + ldr r2, [sp, #0xc] + mov r1, r12 + ldrh r1, [r2, r1] + add r0, r7, #0x0 + asr r2, r1, #0xa + mov r1, #0x3 + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r2, r4, #0x0 + bl sub_0201B118 + ldr r0, [sp, #0x10] + lsl r1, r0, #0x3 + ldr r0, [sp, #0x14] + add r0, r0, r1 + ldrb r5, [r4, r0] + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x30] + ldrh r2, [r0, #0x0] + mov r0, #0x1 + add r1, r0, #0x0 + lsl r1, r5 + tst r1, r2 + beq _0201B10C + add sp, #0x1c + pop {r4-r7, pc} +_0201B096: + ldrb r0, [r1, #0x1c] + cmp r0, #0x1 + beq _0201B0E0 + ldr r0, [r7, #0x0] + ldr r4, [r4, r5] + mov r1, #0x40 + bl sub_020169D8 + lsl r6, r6, #0x1 + ldrh r1, [r4, r6] + add r5, r0, #0x0 + lsl r1, r1, #0x16 + lsr r2, r1, #0x10 + ldr r1, [sp, #0x18] + add r1, r1, r2 + mov r2, #0x40 + blx sub_020DF438 + ldrh r1, [r4, r6] + add r0, r7, #0x0 + asr r2, r1, #0xa + mov r1, #0x3 + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r2, r5, #0x0 + bl sub_0201B118 + ldr r0, [sp, #0x10] + lsl r1, r0, #0x3 + ldr r0, [sp, #0x14] + add r0, r0, r1 + ldrb r4, [r5, r0] + add r0, r5, #0x0 + bl sub_02016A18 + b _0201B0F4 +_0201B0E0: + ldr r1, [r4, r5] + ldr r0, [sp, #0x10] + ldrb r1, [r1, r6] + lsl r0, r0, #0x3 + lsl r2, r1, #0x6 + ldr r1, [sp, #0x14] + add r1, r1, r2 + add r1, r0, r1 + ldr r0, [sp, #0x18] + ldrb r4, [r0, r1] +_0201B0F4: + ldr r0, [sp, #0x30] + ldrh r2, [r0, #0x0] + lsl r0, r2, #0x18 + lsr r1, r0, #0x18 + ldr r0, _0201B114 ; =0x0000FFFF +_0201B0FE: + cmp r2, r0 + beq _0201B10C + cmp r4, r1 + bne _0201B0FE + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0201B10C: + mov r0, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + nop +_0201B114: .word 0x0000FFFF + + thumb_func_start sub_0201B118 +sub_0201B118: ; 0x0201B118 + push {r3-r7, lr} + str r1, [sp, #0x0] + ldr r1, [sp, #0x0] + add r7, r2, #0x0 + cmp r1, #0x0 + beq _0201B1A4 + ldr r0, [r0, #0x0] + mov r1, #0x40 + bl sub_020169D8 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0x1 + tst r0, r1 + beq _0201B166 + mov r0, #0x0 + mov r5, #0x7 +_0201B13A: + lsl r3, r0, #0x3 + add r2, r7, r3 + mov r1, #0x0 + add r3, r4, r3 +_0201B142: + sub r6, r5, r1 + ldrb r6, [r2, r6] + strb r6, [r3, r1] + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x8 + blo _0201B142 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x8 + blo _0201B13A + add r0, r7, #0x0 + add r1, r4, #0x0 + mov r2, #0x40 + blx sub_020DF438 +_0201B166: + ldr r0, [sp, #0x0] + mov r1, #0x2 + tst r0, r1 + beq _0201B19E + mov r5, #0x0 + mov r6, #0x7 +_0201B172: + lsl r0, r5, #0x3 + add r3, r4, r0 + sub r0, r6, r5 + lsl r0, r0, #0x3 + add r2, r7, r0 + mov r1, #0x8 +_0201B17E: + ldrb r0, [r2, #0x0] + add r2, r2, #0x1 + strb r0, [r3, #0x0] + add r3, r3, #0x1 + sub r1, r1, #0x1 + bne _0201B17E + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0201B172 + add r0, r7, #0x0 + add r1, r4, #0x0 + mov r2, #0x40 + blx sub_020DF438 +_0201B19E: + add r0, r4, #0x0 + bl sub_02016A18 +_0201B1A4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201B1A8 +sub_0201B1A8: ; 0x0201B1A8 + push {r3-r5, lr} + add r5, r3, #0x0 + add r4, r2, #0x0 + bl sub_020161A4 + str r0, [r5, #0x0] + blx sub_020BC0FC + cmp r0, #0x0 + beq _0201B1D2 + bl sub_0201B254 + cmp r0, #0x0 + bne _0201B1D2 + ldr r0, [r5, #0x0] + ldr r1, [r0, #0x8] + blx sub_020CC15C + ldr r0, [r5, #0x0] + blx sub_020BB59C +_0201B1D2: + ldr r0, [r5, #0x0] + blx sub_020BC13C + ldrh r1, [r0, #0xe] + add r1, r0, r1 + ldr r1, [r1, #0xc] + add r0, r0, r1 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201B1E4 +sub_0201B1E4: ; 0x0201B1E4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + blx sub_020BC0FC + cmp r0, #0x0 + beq _0201B20A + bl sub_0201B254 + cmp r0, #0x0 + bne _0201B20A + ldr r0, [r5, #0x0] + ldr r1, [r0, #0x8] + blx sub_020CC15C + ldr r0, [r5, #0x0] + blx sub_020BB59C +_0201B20A: + ldr r0, [r5, #0x0] + blx sub_020BC13C + ldrh r1, [r0, #0xe] + add r1, r0, r1 + ldr r1, [r1, #0xc] + add r0, r0, r1 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201B21C +sub_0201B21C: ; 0x0201B21C + push {r3-r5, lr} + add r4, r3, #0x0 + add r5, r2, #0x0 + ldr r3, [sp, #0x10] + add r2, r4, #0x0 + bl sub_0201B1A8 + ldr r1, [r4, #0x0] + add r0, r5, #0x0 + blx sub_020B80B4 + pop {r3-r5, pc} + + thumb_func_start sub_0201B234 +sub_0201B234: ; 0x0201B234 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r2, #0x0 + bl sub_0201B1E4 + cmp r4, #0x0 + bne _0201B24A + bl sub_02020C2C +_0201B24A: + ldr r1, [r4, #0x0] + add r0, r5, #0x0 + blx sub_020B80B4 + pop {r3-r5, pc} + + thumb_func_start sub_0201B254 +sub_0201B254: ; 0x0201B254 + ldrh r2, [r0, #0x10] + mov r1, #0x1 + tst r2, r1 + bne _0201B262 + ldrh r0, [r0, #0x20] + tst r0, r1 + beq _0201B266 +_0201B262: + mov r0, #0x1 + bx lr +_0201B266: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0201B26C +sub_0201B26C: ; 0x0201B26C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + blx sub_020B8474 + ldr r1, _0201B2A0 ; =0x021CEDD4 + add r0, r4, #0x0 + blx sub_020CE2E0 + ldr r1, _0201B2A4 ; =0x021CED98 + mov r0, #0xa4 + ldr r2, [r1, #0x7c] + bic r2, r0 + add r0, r6, #0x0 + str r2, [r1, #0x7c] + blx sub_020B844C + blx sub_020B849C + add r0, r5, #0x0 + blx sub_020BAC98 + pop {r4-r6, pc} + nop +_0201B2A0: .word 0x021CEDD4 +_0201B2A4: .word 0x021CED98 + + thumb_func_start sub_0201B2A8 +sub_0201B2A8: ; 0x0201B2A8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + blx sub_020B8474 + ldr r1, _0201B2E4 ; =0x021CEDD4 + add r0, r4, #0x0 + blx sub_020CE2E0 + ldr r1, _0201B2E8 ; =0x021CED98 + mov r0, #0xa4 + ldr r2, [r1, #0x7c] + bic r2, r0 + str r2, [r1, #0x7c] + add r0, r6, #0x0 + blx sub_020B844C + blx sub_020B849C + mov r1, #0x0 + ldr r0, [r5, #0x4] + add r2, r1, #0x0 + mov r3, #0x1 + blx sub_020BAFB8 + blx sub_020BB394 + pop {r4-r6, pc} + .balign 4 +_0201B2E4: .word 0x021CEDD4 +_0201B2E8: .word 0x021CED98 + + thumb_func_start sub_0201B2EC +sub_0201B2EC: ; 0x0201B2EC + push {r3, lr} + sub sp, #0x8 + mov r1, #0x4 + str r1, [sp, #0x0] + ldr r1, _0201B30C ; =sub_0201B314 + mov r2, #0x2 + str r1, [sp, #0x4] + mov r1, #0x0 + add r3, r1, #0x0 + bl sub_02022318 + ldr r1, _0201B310 ; =0x021C4D44 + str r0, [r1, #0x0] + add sp, #0x8 + pop {r3, pc} + nop +_0201B30C: .word sub_0201B314 + 1 +_0201B310: .word 0x021C4D44 + + thumb_func_start sub_0201B314 +sub_0201B314: ; 0x0201B314 + push {r3, lr} + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r0, _0201B380 ; =0x04000008 + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r0, #0x0] + add r0, #0x58 + ldrh r2, [r0, #0x0] + ldr r1, _0201B384 ; =0xFFFFCFFD + and r2, r1 + strh r2, [r0, #0x0] + add r2, r1, #0x2 + ldrh r3, [r0, #0x0] + add r1, r1, #0x2 + and r3, r2 + mov r2, #0x10 + orr r2, r3 + strh r2, [r0, #0x0] + ldrh r3, [r0, #0x0] + ldr r2, _0201B388 ; =0x0000CFFB + and r3, r2 + strh r3, [r0, #0x0] + ldrh r3, [r0, #0x0] + sub r2, #0x1c + and r3, r1 + mov r1, #0x8 + orr r1, r3 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + and r1, r2 + strh r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + blx sub_020C7C28 + mov r0, #0x0 + ldr r2, _0201B38C ; =0x00007FFF + add r1, r0, #0x0 + mov r3, #0x3f + str r0, [sp, #0x0] + blx sub_020C7B3C + ldr r1, _0201B390 ; =0xBFFF0000 + ldr r0, _0201B394 ; =0x04000580 + str r1, [r0, #0x0] + pop {r3, pc} + .balign 4 +_0201B380: .word 0x04000008 +_0201B384: .word 0xFFFFCFFD +_0201B388: .word 0x0000CFFB +_0201B38C: .word 0x00007FFF +_0201B390: .word 0xBFFF0000 +_0201B394: .word 0x04000580 + + thumb_func_start sub_0201B398 +sub_0201B398: ; 0x0201B398 + ldr r0, _0201B3A0 ; =0x021C4D44 + ldr r3, _0201B3A4 ; =sub_020223BC + ldr r0, [r0, #0x0] + bx r3 + .balign 4 +_0201B3A0: .word 0x021C4D44 +_0201B3A4: .word sub_020223BC + 1 + + thumb_func_start sub_0201B3A8 +sub_0201B3A8: ; 0x0201B3A8 + push {r4, lr} + add r4, r1, #0x0 + blx sub_020BC13C + cmp r4, #0x0 + beq _0201B3BE + add r1, r4, #0x0 + blx sub_020B7790 + mov r0, #0x1 + pop {r4, pc} +_0201B3BE: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201B3C4 +sub_0201B3C4: ; 0x0201B3C4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bne _0201B3D2 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0201B3D2: + mov r1, #0x0 + str r1, [r5, #0x8] + mov r1, #0x1 + str r1, [sp, #0x8] + str r1, [sp, #0x4] + str r1, [sp, #0x0] + cmp r5, #0x0 + beq _0201B4D0 + blx sub_020B7E1C + add r6, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7E10 + add r4, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7CE4 + str r0, [sp, #0xc] + cmp r6, #0x0 + beq _0201B412 + ldr r3, _0201B4D8 ; =0x021064B8 + mov r1, #0x0 + ldr r3, [r3, #0x0] + add r0, r6, #0x0 + add r2, r1, #0x0 + blx r3 + add r7, r0, #0x0 + bne _0201B414 + mov r0, #0x0 + str r0, [sp, #0x8] + b _0201B414 +_0201B412: + mov r7, #0x0 +_0201B414: + cmp r4, #0x0 + beq _0201B42E + ldr r3, _0201B4D8 ; =0x021064B8 + add r0, r4, #0x0 + ldr r3, [r3, #0x0] + mov r1, #0x1 + mov r2, #0x0 + blx r3 + add r6, r0, #0x0 + bne _0201B430 + mov r0, #0x0 + str r0, [sp, #0x4] + b _0201B430 +_0201B42E: + mov r6, #0x0 +_0201B430: + ldr r0, [sp, #0xc] + cmp r0, #0x0 + beq _0201B450 + ldr r3, _0201B4DC ; =0x021064C0 + mov r1, #0x2 + ldrh r2, [r5, #0x20] + lsl r1, r1, #0xe + ldr r3, [r3, #0x0] + and r1, r2 + mov r2, #0x0 + blx r3 + add r4, r0, #0x0 + bne _0201B452 + mov r0, #0x0 + str r0, [sp, #0x0] + b _0201B452 +_0201B450: + mov r4, #0x0 +_0201B452: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bne _0201B46E + ldr r1, _0201B4E0 ; =0x021064BC + add r0, r7, #0x0 + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _0201B468 + bl sub_02020C2C +_0201B468: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0201B46E: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bne _0201B48A + ldr r1, _0201B4E0 ; =0x021064BC + add r0, r6, #0x0 + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _0201B484 + bl sub_02020C2C +_0201B484: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0201B48A: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _0201B4A6 + ldr r1, _0201B4E4 ; =0x021064C4 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _0201B4A0 + bl sub_02020C2C +_0201B4A0: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0201B4A6: + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + blx sub_020B7DFC + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020B7CDC + ldr r1, [r5, #0x4] + add r0, r5, #0x0 + blx sub_020CC15C + add r0, r5, #0x0 + mov r1, #0x1 + blx sub_020B7D28 + add r0, r5, #0x0 + mov r1, #0x1 + blx sub_020B7C78 +_0201B4D0: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + nop +_0201B4D8: .word 0x021064B8 +_0201B4DC: .word 0x021064C0 +_0201B4E0: .word 0x021064BC +_0201B4E4: .word 0x021064C4 + + thumb_func_start sub_0201B4E8 +sub_0201B4E8: ; 0x0201B4E8 + str r0, [r1, #0x0] + add r0, r0, #0x4 + str r0, [r1, #0x8] + str r0, [r1, #0x4] + mov r0, #0x0 + str r0, [r1, #0xc] + str r0, [r1, #0x10] + str r0, [r1, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_0201B4FC +sub_0201B4FC: ; 0x0201B4FC + push {r3-r7, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x0] + mov r7, #0x0 + cmp r0, #0x0 + ble _0201B52A + add r4, r7, #0x0 + add r6, r7, #0x0 +_0201B50C: + ldr r1, [r5, #0x24] + add r0, r5, #0x0 + add r1, r1, r4 + bl sub_0201B4E8 + ldr r0, [r5, #0x24] + add r7, r7, #0x1 + add r1, r0, r4 + ldr r0, [r5, #0x20] + add r4, #0x1c + str r1, [r0, r6] + ldrh r0, [r5, #0x0] + add r6, r6, #0x4 + cmp r7, r0 + blt _0201B50C +_0201B52A: + mov r0, #0x0 + strh r0, [r5, #0x2] + pop {r3-r7, pc} + + thumb_func_start sub_0201B530 +sub_0201B530: ; 0x0201B530 + ldrh r3, [r0, #0x2] + ldrh r1, [r0, #0x0] + cmp r3, r1 + bne _0201B53C + mov r0, #0x0 + bx lr +_0201B53C: + ldr r2, [r0, #0x20] + lsl r1, r3, #0x2 + ldr r2, [r2, r1] + add r1, r3, #0x1 + strh r1, [r0, #0x2] + add r0, r2, #0x0 + bx lr + .balign 4 +_0201B54C: + .byte 0x42, 0x88, 0x00, 0x2A + .byte 0x01, 0xD1, 0x00, 0x20, 0x70, 0x47, 0x08, 0x60, 0x02, 0x1D, 0x8A, 0x60, 0x4A, 0x60, 0x00, 0x22 + .byte 0xCA, 0x60, 0x0A, 0x61, 0x4A, 0x61, 0x42, 0x88, 0x52, 0x1E, 0x42, 0x80, 0x02, 0x6A, 0x40, 0x88 + .byte 0x80, 0x00, 0x11, 0x50, 0x01, 0x20, 0x70, 0x47 + + thumb_func_start sub_0201B578 +sub_0201B578: ; 0x0201B578 + lsl r0, r0, #0x5 + add r0, #0x34 + bx lr + .balign 4 + + thumb_func_start sub_0201B580 +sub_0201B580: ; 0x0201B580 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bne _0201B58C + bl sub_02020C2C +_0201B58C: + add r1, r4, #0x0 + add r1, #0x34 + lsl r0, r5, #0x2 + str r1, [r4, #0x20] + add r0, r1, r0 + str r0, [r4, #0x24] + strh r5, [r4, #0x0] + mov r0, #0x0 + strh r0, [r4, #0x2] + str r0, [r4, #0x28] + add r0, r4, #0x0 + bl sub_0201B5AC + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201B5AC +sub_0201B5AC: ; 0x0201B5AC + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201B4FC + str r4, [r4, #0x4] + add r0, r4, #0x4 + str r0, [r4, #0xc] + str r0, [r4, #0x8] + mov r0, #0x0 + str r0, [r4, #0x10] + str r0, [r4, #0x14] + str r0, [r4, #0x18] + ldr r0, [r4, #0xc] + str r0, [r4, #0x2c] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201B5CC +sub_0201B5CC: ; 0x0201B5CC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x28] + cmp r0, #0x0 + bne _0201B608 + ldr r1, [r5, #0xc] + add r4, r5, #0x4 + str r1, [r5, #0x2c] + cmp r1, r4 + beq _0201B604 + mov r6, #0x0 +_0201B5E2: + ldr r0, [r1, #0x8] + str r0, [r5, #0x30] + ldr r0, [r5, #0x2c] + ldr r1, [r0, #0x18] + cmp r1, #0x0 + bne _0201B5FA + ldr r2, [r0, #0x14] + cmp r2, #0x0 + beq _0201B5FC + ldr r1, [r0, #0x10] + blx r2 + b _0201B5FC +_0201B5FA: + str r6, [r0, #0x18] +_0201B5FC: + ldr r1, [r5, #0x30] + str r1, [r5, #0x2c] + cmp r1, r4 + bne _0201B5E2 +_0201B604: + mov r0, #0x0 + str r0, [r1, #0x14] +_0201B608: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201B60C +sub_0201B60C: ; 0x0201B60C + push {r3-r5, lr} + add r4, r0, #0x0 + mov r5, #0x1 + str r5, [r4, #0x28] + bl sub_0201B620 + mov r1, #0x0 + str r1, [r4, #0x28] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201B620 +sub_0201B620: ; 0x0201B620 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_0201B530 + cmp r0, #0x0 + bne _0201B636 + mov r0, #0x0 + pop {r3-r7, pc} +_0201B636: + str r4, [r0, #0xc] + str r7, [r0, #0x10] + str r6, [r0, #0x14] + ldr r2, [r5, #0x2c] + ldr r1, [r2, #0x14] + cmp r1, #0x0 + beq _0201B656 + ldr r1, [r2, #0xc] + cmp r1, r4 + bhi _0201B650 + mov r1, #0x1 + str r1, [r0, #0x18] + b _0201B65A +_0201B650: + mov r1, #0x0 + str r1, [r0, #0x18] + b _0201B65A +_0201B656: + mov r1, #0x0 + str r1, [r0, #0x18] +_0201B65A: + ldr r3, [r5, #0xc] + add r2, r5, #0x4 + cmp r3, r2 + beq _0201B686 + ldr r4, [r0, #0xc] +_0201B664: + ldr r1, [r3, #0xc] + cmp r1, r4 + bls _0201B680 + ldr r1, [r3, #0x4] + str r1, [r0, #0x4] + str r3, [r0, #0x8] + ldr r1, [r3, #0x4] + str r0, [r1, #0x8] + str r0, [r3, #0x4] + ldr r1, [r5, #0x30] + cmp r3, r1 + bne _0201B69E + str r0, [r5, #0x30] + pop {r3-r7, pc} +_0201B680: + ldr r3, [r3, #0x8] + cmp r3, r2 + bne _0201B664 +_0201B686: + ldr r2, [r5, #0x30] + add r1, r5, #0x4 + cmp r2, r1 + bne _0201B690 + str r0, [r5, #0x30] +_0201B690: + ldr r1, [r5, #0x8] + str r1, [r0, #0x4] + add r1, r5, #0x4 + str r1, [r0, #0x8] + ldr r1, [r5, #0x8] + str r0, [r1, #0x8] + str r0, [r5, #0x8] +_0201B69E: + pop {r3-r7, pc} + + thumb_func_start sub_0201B6A0 +sub_0201B6A0: ; 0x0201B6A0 + add r1, r0, #0x0 + ldr r2, [r1, #0x0] + ldr r0, [r2, #0x30] + cmp r0, r1 + bne _0201B6AE + ldr r0, [r1, #0x8] + str r0, [r2, #0x30] +_0201B6AE: + ldr r2, [r1, #0x8] + ldr r0, [r1, #0x4] + ldr r3, _0201B6C0 ; =0x0201B54D + str r2, [r0, #0x8] + ldr r2, [r1, #0x4] + ldr r0, [r1, #0x8] + str r2, [r0, #0x4] + ldr r0, [r1, #0x0] + bx r3 + .balign 4 +_0201B6C0: .word 0x0201B54D + + thumb_func_start sub_0201B6C4 +sub_0201B6C4: ; 0x0201B6C4 + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_0201B6C8 +sub_0201B6C8: ; 0x0201B6C8 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_0201B6CC +sub_0201B6CC: ; 0x0201B6CC + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_0201B6D0 +sub_0201B6D0: ; 0x0201B6D0 + push {r4-r7, lr} + sub sp, #0x34 + add r6, r1, #0x0 + add r4, r0, #0x0 + add r5, r2, #0x0 + ldmia r6!, {r0-r1} + add r2, sp, #0x1c + stmia r2!, {r0-r1} + ldr r0, [r6, #0x0] + add r4, #0x14 + str r0, [r2, #0x0] + mov r0, #0x20 + ldrsh r0, [r4, r0] + add r7, r3, #0x0 + mov r1, #0x1a + str r0, [sp, #0x0] + mov r0, #0x22 + ldrsh r0, [r4, r0] + mov r2, #0x1c + mov r3, #0x1e + str r0, [sp, #0x4] + add r0, sp, #0x28 + str r0, [sp, #0x8] + mov r0, #0x18 + ldrsh r0, [r4, r0] + ldrsh r1, [r4, r1] + ldrsh r2, [r4, r2] + ldrsh r3, [r4, r3] + bl sub_0201B808 + add r0, sp, #0x1c + blx sub_020B8474 + ldr r1, _0201B764 ; =0x021CEDD4 + add r0, r5, #0x0 + blx sub_020CE2E0 + ldr r1, _0201B768 ; =0x021CED98 + mov r0, #0xa4 + ldr r2, [r1, #0x7c] + bic r2, r0 + add r0, r7, #0x0 + str r2, [r1, #0x7c] + blx sub_020B844C + blx sub_020B849C + mov r1, #0x0 + mov r0, #0x11 + add r2, r1, #0x0 + blx sub_020BB1C0 + ldr r0, [r4, #0x24] + add r1, sp, #0x10 + str r0, [sp, #0x10] + str r0, [sp, #0x14] + str r0, [sp, #0x18] + mov r0, #0x1b + mov r2, #0x3 + blx sub_020BB1C0 + add r0, sp, #0x28 + bl sub_0201B82C + add r4, r0, #0x0 + mov r2, #0x1 + mov r0, #0x12 + add r1, sp, #0xc + str r2, [sp, #0xc] + blx sub_020BB1C0 + add r0, r4, #0x0 + add sp, #0x34 + pop {r4-r7, pc} + .balign 4 +_0201B764: .word 0x021CEDD4 +_0201B768: .word 0x021CED98 + + thumb_func_start sub_0201B76C +sub_0201B76C: ; 0x0201B76C + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x2 + ldrsh r0, [r4, r0] + str r0, [sp, #0x0] + mov r0, #0x4 + ldrsh r0, [r4, r0] + str r0, [sp, #0x4] + add r0, sp, #0x1c + str r0, [sp, #0x8] + mov r0, #0x0 + ldrsh r3, [r4, r0] + add r1, r0, #0x0 + add r2, r0, #0x0 + bl sub_0201B808 + add r0, r5, #0x0 + blx sub_020B8474 + blx sub_020B849C + mov r1, #0x0 + mov r0, #0x11 + add r2, r1, #0x0 + blx sub_020BB1C0 + ldr r0, [r4, #0x10] + lsl r2, r0, #0xc + ldr r0, [r4, #0xc] + lsl r1, r0, #0xc + ldr r0, [r4, #0x8] + lsl r0, r0, #0xc + str r0, [sp, #0x10] + str r1, [sp, #0x14] + str r2, [sp, #0x18] + mov r0, #0x1b + add r1, sp, #0x10 + mov r2, #0x3 + blx sub_020BB1C0 + add r0, sp, #0x1c + bl sub_0201B82C + add r4, r0, #0x0 + mov r2, #0x1 + mov r0, #0x12 + add r1, sp, #0xc + str r2, [sp, #0xc] + blx sub_020BB1C0 + add r0, r4, #0x0 + add sp, #0x28 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201B7DC +sub_0201B7DC: ; 0x0201B7DC + push {r4-r6, lr} + add r6, r3, #0x0 + add r4, r2, #0x0 + add r2, r6, #0x0 + add r5, r1, #0x0 + add r1, r6, #0x0 + add r2, #0x8 + bl sub_0201B880 + add r2, r6, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x2 + add r2, #0xc + bl sub_0201B880 + add r1, r6, #0x4 + add r6, #0x10 + add r0, r4, #0x0 + add r2, r6, #0x0 + bl sub_0201B880 + pop {r4-r6, pc} + + thumb_func_start sub_0201B808 +sub_0201B808: ; 0x0201B808 + push {r3-r4} + ldr r4, [sp, #0x10] + strh r0, [r4, #0x0] + strh r1, [r4, #0x2] + ldr r1, _0201B828 ; =0xFFFFFFF8 + strh r2, [r4, #0x4] + strh r3, [r4, #0x6] + add r1, sp + mov r0, #0x10 + ldrsh r0, [r1, r0] + strh r0, [r4, #0x8] + mov r0, #0x14 + ldrsh r0, [r1, r0] + strh r0, [r4, #0xa] + pop {r3-r4} + bx lr + .balign 4 +_0201B828: .word 0xFFFFFFF8 + + thumb_func_start sub_0201B82C +sub_0201B82C: ; 0x0201B82C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r0, _0201B87C ; =0x000030C1 + mov r2, #0x1 + str r0, [sp, #0x4] + mov r0, #0x29 + add r1, sp, #0x4 + str r2, [sp, #0x8] + blx sub_020BB1C0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x40 + add r1, sp, #0x0 + mov r2, #0x1 + blx sub_020BB1C0 + mov r1, #0x0 + mov r0, #0x41 + add r2, r1, #0x0 + blx sub_020BB1C0 + mov r0, #0x70 + add r1, r4, #0x0 + mov r2, #0x3 + blx sub_020BB1C0 + blx sub_020BB394 + add r4, sp, #0x8 +_0201B86A: + add r0, r4, #0x0 + blx sub_020C7A14 + cmp r0, #0x0 + bne _0201B86A + ldr r0, [sp, #0x8] + add sp, #0xc + pop {r3-r4, pc} + nop +_0201B87C: .word 0x000030C1 + + thumb_func_start sub_0201B880 +sub_0201B880: ; 0x0201B880 + push {r3-r4} + ldr r4, _0201B8B4 ; =0x00007FFF + mov r3, #0x0 + cmp r0, r4 + blo _0201B896 +_0201B88A: + add r3, r3, #0x1 + lsl r3, r3, #0x18 + lsr r0, r0, #0x1 + lsr r3, r3, #0x18 + cmp r0, r4 + bhs _0201B88A +_0201B896: + strh r0, [r1, #0x0] + mov r0, #0x1 + mov r1, #0x0 + str r0, [r2, #0x0] + cmp r3, #0x0 + ble _0201B8AE +_0201B8A2: + ldr r0, [r2, #0x0] + add r1, r1, #0x1 + lsl r0, r0, #0x1 + str r0, [r2, #0x0] + cmp r1, r3 + blt _0201B8A2 +_0201B8AE: + pop {r3-r4} + bx lr + nop +_0201B8B4: .word 0x00007FFF + + thumb_func_start sub_0201B8B8 +sub_0201B8B8: ; 0x0201B8B8 + push {r4, lr} + add r4, r0, #0x0 + ldrh r1, [r4, #0x0] + ldr r0, _0201B8DC ; =0x0000FFFE + cmp r1, r0 + beq _0201B8C8 + bl sub_02020C2C +_0201B8C8: + ldrh r1, [r4, #0x0] + ldr r0, _0201B8DC ; =0x0000FFFE + cmp r1, r0 + bne _0201B8D8 + ldrh r0, [r4, #0x4] + add r1, r4, #0x6 + lsl r0, r0, #0x1 + add r4, r1, r0 +_0201B8D8: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_0201B8DC: .word 0x0000FFFE + + thumb_func_start sub_0201B8E0 +sub_0201B8E0: ; 0x0201B8E0 + push {r4, lr} + add r4, r0, #0x0 + ldrh r1, [r4, #0x0] + ldr r0, _0201B8F4 ; =0x0000FFFE + cmp r1, r0 + beq _0201B8F0 + bl sub_02020C2C +_0201B8F0: + ldrh r0, [r4, #0x2] + pop {r4, pc} + .balign 4 +_0201B8F4: .word 0x0000FFFE + + thumb_func_start sub_0201B8F8 +sub_0201B8F8: ; 0x0201B8F8 + push {r3, lr} + bl sub_0201B8E0 + mov r1, #0xff + lsl r1, r1, #0x8 + and r1, r0 + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r1, r0 + bne _0201B910 + mov r0, #0x1 + pop {r3, pc} +_0201B910: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0201B914 +sub_0201B914: ; 0x0201B914 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldrh r1, [r5, #0x0] + ldr r0, _0201B938 ; =0x0000FFFE + cmp r1, r0 + beq _0201B926 + bl sub_02020C2C +_0201B926: + ldrh r0, [r5, #0x4] + cmp r4, r0 + blo _0201B930 + bl sub_02020C2C +_0201B930: + lsl r0, r4, #0x1 + add r0, r5, r0 + ldrh r0, [r0, #0x6] + pop {r3-r5, pc} + .balign 4 +_0201B938: .word 0x0000FFFE + + thumb_func_start sub_0201B93C +sub_0201B93C: ; 0x0201B93C + mov r1, #0x5a + lsl r1, r1, #0x2 + cmp r0, r1 + blo _0201B948 + mov r0, #0x0 + bx lr +_0201B948: + lsl r1, r0, #0x2 + ldr r0, _0201B950 ; =0x020EDF50 + ldr r0, [r0, r1] + bx lr + .balign 4 +_0201B950: .word 0x020EDF50 + + thumb_func_start sub_0201B954 +sub_0201B954: ; 0x0201B954 + mov r1, #0x5a + lsl r1, r1, #0x2 + cmp r0, r1 + blo _0201B960 + mov r0, #0x0 + bx lr +_0201B960: + add r0, #0x5a + lsl r1, r0, #0x2 + ldr r0, _0201B96C ; =0x020EDF50 + ldr r0, [r0, r1] + bx lr + nop +_0201B96C: .word 0x020EDF50 + + thumb_func_start sub_0201B970 +sub_0201B970: ; 0x0201B970 + push {r3, lr} + mov r1, #0x5a + lsl r1, r1, #0x2 + blx sub_020EBC80 + ldr r0, _0201B984 ; =0x020EDF50 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r3, pc} + nop +_0201B984: .word 0x020EDF50 + + thumb_func_start sub_0201B988 +sub_0201B988: ; 0x0201B988 + push {r3, lr} + mov r1, #0x5a + lsl r1, r1, #0x2 + blx sub_020EBC80 + add r1, #0x5a + ldr r0, _0201B99C ; =0x020EDF50 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r3, pc} + .balign 4 +_0201B99C: .word 0x020EDF50 + + thumb_func_start sub_0201B9A0 +sub_0201B9A0: ; 0x0201B9A0 + push {r3, lr} + mov r1, #0x5a + lsl r1, r1, #0x2 + blx sub_020EBC80 + ldr r0, _0201B9B4 ; =0x020EDC7E + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + pop {r3, pc} + nop +_0201B9B4: .word 0x020EDC7E + + thumb_func_start sub_0201B9B8 +sub_0201B9B8: ; 0x0201B9B8 + push {r3, lr} + lsl r0, r0, #0x4 + mov r1, #0x5a + lsr r0, r0, #0x10 + lsl r1, r1, #0x2 + blx sub_020EBC80 + ldr r0, _0201B9D0 ; =0x020EDF50 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r3, pc} + nop +_0201B9D0: .word 0x020EDF50 + + thumb_func_start sub_0201B9D4 +sub_0201B9D4: ; 0x0201B9D4 + ldr r0, _0201B9DC ; =0x021C4D48 + ldr r0, [r0, #0x0] + bx lr + nop +_0201B9DC: .word 0x021C4D48 + + thumb_func_start sub_0201B9E0 +sub_0201B9E0: ; 0x0201B9E0 + ldr r1, _0201B9E8 ; =0x021C4D48 + str r0, [r1, #0x0] + bx lr + nop +_0201B9E8: .word 0x021C4D48 + + thumb_func_start sub_0201B9EC +sub_0201B9EC: ; 0x0201B9EC + ldr r1, _0201BA04 ; =0x021C4D48 + ldr r0, _0201BA08 ; =0x41C64E6D + ldr r2, [r1, #0x0] + add r3, r2, #0x0 + mul r3, r0 + ldr r0, _0201BA0C ; =0x00006073 + add r0, r3, r0 + str r0, [r1, #0x0] + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + .balign 4 +_0201BA04: .word 0x021C4D48 +_0201BA08: .word 0x41C64E6D +_0201BA0C: .word 0x00006073 + + thumb_func_start sub_0201BA10 +sub_0201BA10: ; 0x0201BA10 + ldr r1, _0201BA18 ; =0x6C078965 + mul r1, r0 + add r0, r1, #0x1 + bx lr + .balign 4 +_0201BA18: .word 0x6C078965 + + thumb_func_start sub_0201BA1C +sub_0201BA1C: ; 0x0201BA1C + push {r4-r5} + ldr r1, _0201BA50 ; =0x021C4D48 + mov r4, #0x27 + str r0, [r1, #0x4] + ldr r1, _0201BA54 ; =0x02105BA8 + mov r0, #0x1 + str r0, [r1, #0x0] + ldr r1, _0201BA58 ; =0x021C4D50 + ldr r3, _0201BA5C ; =0x6C078965 + lsl r4, r4, #0x4 +_0201BA30: + sub r2, r1, #0x4 + ldr r5, [r2, #0x0] + lsr r2, r5, #0x1e + eor r2, r5 + add r5, r2, #0x0 + mul r5, r3 + add r2, r0, r5 + add r0, r0, #0x1 + stmia r1!, {r2} + cmp r0, r4 + blt _0201BA30 + ldr r1, _0201BA54 ; =0x02105BA8 + str r0, [r1, #0x0] + pop {r4-r5} + bx lr + nop +_0201BA50: .word 0x021C4D48 +_0201BA54: .word 0x02105BA8 +_0201BA58: .word 0x021C4D50 +_0201BA5C: .word 0x6C078965 + + thumb_func_start sub_0201BA60 +sub_0201BA60: ; 0x0201BA60 + push {r3-r7, lr} + ldr r0, _0201BB44 ; =0x02105BA8 + ldr r1, [r0, #0x0] + mov r0, #0x27 + lsl r0, r0, #0x4 + cmp r1, r0 + blt _0201BB18 + add r0, r0, #0x1 + cmp r1, r0 + bne _0201BA7A + ldr r0, _0201BB48 ; =0x00001571 + bl sub_0201BA1C +_0201BA7A: + ldr r4, _0201BB4C ; =0x021C4D4C + ldr r1, _0201BB50 ; =0x02105BAC + ldr r5, _0201BB54 ; =0x7FFFFFFF + ldr r6, _0201BB58 ; =0x00000634 + mov r0, #0x0 +_0201BA84: + mov r2, #0x2 + ldr r3, [r4, #0x0] + lsl r2, r2, #0x1e + and r3, r2 + ldr r2, [r4, #0x4] + add r0, r0, #0x1 + and r2, r5 + orr r3, r2 + lsr r7, r3, #0x1 + lsl r3, r3, #0x1f + ldr r2, [r4, r6] + lsr r3, r3, #0x1d + ldr r3, [r1, r3] + eor r2, r7 + eor r2, r3 + stmia r4!, {r2} + cmp r0, #0xe3 + blt _0201BA84 + ldr r1, _0201BB5C ; =0x0000026F + cmp r0, r1 + bge _0201BAE4 + ldr r2, _0201BB4C ; =0x021C4D4C + lsl r1, r0, #0x2 + add r1, r2, r1 + mov r2, #0xe3 + ldr r4, _0201BB50 ; =0x02105BAC + ldr r3, _0201BB5C ; =0x0000026F + lsl r2, r2, #0x2 +_0201BABC: + mov r5, #0x2 + ldr r6, [r1, #0x0] + lsl r5, r5, #0x1e + and r5, r6 + ldr r7, [r1, #0x4] + ldr r6, _0201BB54 ; =0x7FFFFFFF + add r0, r0, #0x1 + and r6, r7 + orr r6, r5 + lsr r5, r6, #0x1 + sub r7, r1, r2 + lsl r6, r6, #0x1f + ldr r7, [r7, #0x0] + lsr r6, r6, #0x1d + ldr r6, [r4, r6] + eor r5, r7 + eor r5, r6 + stmia r1!, {r5} + cmp r0, r3 + blt _0201BABC +_0201BAE4: + ldr r2, _0201BB60 ; =0x021C56C8 + mov r0, #0x2 + ldr r1, [r2, #0x40] + lsl r0, r0, #0x1e + add r3, r1, #0x0 + ldr r1, _0201BB64 ; =0x021C4D48 + and r3, r0 + ldr r1, [r1, #0x4] + sub r0, r0, #0x1 + and r0, r1 + add r4, r3, #0x0 + orr r4, r0 + ldr r0, _0201BB68 ; =0x021C5348 + ldr r1, [r0, #0x34] + lsr r0, r4, #0x1 + add r3, r1, #0x0 + eor r3, r0 + lsl r0, r4, #0x1f + lsr r1, r0, #0x1d + ldr r0, _0201BB50 ; =0x02105BAC + ldr r0, [r0, r1] + mov r1, #0x0 + eor r0, r3 + str r0, [r2, #0x40] + ldr r0, _0201BB44 ; =0x02105BA8 + str r1, [r0, #0x0] +_0201BB18: + ldr r0, _0201BB44 ; =0x02105BA8 + ldr r2, [r0, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x0] + ldr r0, _0201BB4C ; =0x021C4D4C + lsl r1, r2, #0x2 + ldr r1, [r0, r1] + lsr r0, r1, #0xb + add r2, r1, #0x0 + eor r2, r0 + ldr r0, _0201BB6C ; =0x9D2C5680 + lsl r1, r2, #0x7 + and r0, r1 + eor r2, r0 + ldr r0, _0201BB70 ; =0xEFC60000 + lsl r1, r2, #0xf + and r0, r1 + add r1, r2, #0x0 + eor r1, r0 + lsr r0, r1, #0x12 + eor r0, r1 + pop {r3-r7, pc} + .balign 4 +_0201BB44: .word 0x02105BA8 +_0201BB48: .word 0x00001571 +_0201BB4C: .word 0x021C4D4C +_0201BB50: .word 0x02105BAC +_0201BB54: .word 0x7FFFFFFF +_0201BB58: .word 0x00000634 +_0201BB5C: .word 0x0000026F +_0201BB60: .word 0x021C56C8 +_0201BB64: .word 0x021C4D48 +_0201BB68: .word 0x021C5348 +_0201BB6C: .word 0x9D2C5680 +_0201BB70: .word 0xEFC60000 + + thumb_func_start sub_0201BB74 +sub_0201BB74: ; 0x0201BB74 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x10] + add r4, r2, #0x0 + add r6, r3, #0x0 + cmp r0, #0x1 + bne _0201BB8E + ldr r0, _0201BBC8 ; =0x0000FFFF + mul r0, r1 + lsl r0, r0, #0x8 + lsr r1, r0, #0x10 + b _0201BBA2 +_0201BB8E: + cmp r0, #0x2 + bne _0201BBA2 + ldr r0, _0201BBC8 ; =0x0000FFFF + mul r0, r1 + mov r1, #0x5a + lsl r1, r1, #0x2 + blx sub_020EBE8C + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 +_0201BBA2: + asr r0, r1, #0x4 + lsl r3, r0, #0x1 + lsl r1, r3, #0x1 + ldr r2, _0201BBCC ; =0x020FFA38 + add r3, r3, #0x1 + lsl r3, r3, #0x1 + ldrsh r1, [r2, r1] + ldrsh r2, [r2, r3] + add r0, r5, #0x0 + bl sub_020C3EA4 + add r0, r5, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + blx sub_020C3EB0 + pop {r4-r6, pc} + nop +_0201BBC8: .word 0x0000FFFF +_0201BBCC: .word 0x020FFA38 + + thumb_func_start sub_0201BBD0 +sub_0201BBD0: ; 0x0201BBD0 + push {r3-r7, lr} + sub sp, #0x38 + lsl r5, r0, #0xc + lsl r4, r1, #0xc + mov r1, #0x0 + lsl r0, r2, #0xc + lsl r6, r3, #0xc + str r1, [sp, #0x34] + str r0, [sp, #0x0] + str r0, [sp, #0x20] + str r1, [sp, #0x28] + str r1, [sp, #0x8] + str r1, [sp, #0xc] + asr r1, r5, #0x1f + add r0, r5, #0x0 + asr r3, r6, #0x1f + add r2, r6, #0x0 + str r5, [sp, #0x2c] + str r4, [sp, #0x30] + str r6, [sp, #0x24] + blx sub_020EBC30 + str r0, [sp, #0x4] + add r2, r4, #0x0 + ldr r0, [sp, #0x20] + add r7, r1, #0x0 + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + ldr r3, [sp, #0x4] + lsl r2, r2, #0xa + add r3, r3, r2 + ldr r2, _0201BC80 ; =0x00000000 + str r4, [sp, #0x2c] + adc r7, r2 + lsl r2, r7, #0x14 + lsr r3, r3, #0xc + orr r3, r2 + mov r2, #0x2 + lsl r2, r2, #0xa + add r0, r0, r2 + ldr r2, _0201BC80 ; =0x00000000 + str r5, [sp, #0x30] + adc r1, r2 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + sub r2, r3, r0 + ldr r1, [sp, #0x8] + ldr r0, [sp, #0xc] + str r2, [sp, #0x10] + add r0, r1, r0 + add r7, r2, r0 + mov r0, #0x0 + str r0, [sp, #0x34] + add r0, sp, #0x2c + add r1, sp, #0x14 + blx sub_020C5288 + mov r1, #0x0 + ldr r0, [sp, #0x0] + str r1, [sp, #0x34] + str r0, [sp, #0x20] + str r1, [sp, #0x28] + add r0, sp, #0x20 + add r1, sp, #0x2c + add r2, sp, #0x8 + str r5, [sp, #0x2c] + str r4, [sp, #0x30] + str r6, [sp, #0x24] + blx sub_020C5600 + add r0, sp, #0x14 + add r1, sp, #0x8 + blx sub_020C5588 + asr r0, r0, #0xc + bpl _0201BC72 + neg r0, r0 +_0201BC72: + cmp r7, #0x0 + bgt _0201BC7C + mov r1, #0x0 + mvn r1, r1 + mul r0, r1 +_0201BC7C: + add sp, #0x38 + pop {r3-r7, pc} + .balign 4 +_0201BC80: .word 0x00000000 + + thumb_func_start sub_0201BC84 +sub_0201BC84: ; 0x0201BC84 + push {r3-r5, lr} + lsl r0, r0, #0xd + add r4, r1, #0x0 + ldr r2, _0201BCB4 ; =0x0000323D + asr r1, r0, #0x1f + mov r3, #0x0 + blx sub_020EBC30 + add r5, r0, #0x0 + ldr r0, _0201BCB8 ; =0x0000FFFF + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + mul r0, r4 + add r2, r5, r2 + adc r1, r3 + lsl r1, r1, #0x14 + lsr r2, r2, #0xc + orr r2, r1 + asr r1, r2, #0xc + blx sub_020EBC80 + pop {r3-r5, pc} + nop +_0201BCB4: .word 0x0000323D +_0201BCB8: .word 0x0000FFFF + + thumb_func_start sub_0201BCBC +sub_0201BCBC: ; 0x0201BCBC + ldr r1, _0201BCC4 ; =0x02105BB4 + str r0, [r1, #0x0] + bx lr + nop +_0201BCC4: .word 0x02105BB4 + + thumb_func_start sub_0201BCC8 +sub_0201BCC8: ; 0x0201BCC8 + push {r4-r6, lr} + ldr r4, _0201BCF8 ; =0x021C5714 + mov r5, #0x0 +_0201BCCE: + ldr r3, [r4, #0x0] + cmp r3, #0x0 + bne _0201BCE8 + ldr r6, _0201BCF8 ; =0x021C5714 + lsl r4, r5, #0x2 + bl sub_0200CA7C + str r0, [r6, r4] + ldr r0, [r6, r4] + cmp r0, #0x0 + bne _0201BCF0 + mov r5, #0x8 + b _0201BCF0 +_0201BCE8: + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x8 + blt _0201BCCE +_0201BCF0: + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + pop {r4-r6, pc} + nop +_0201BCF8: .word 0x021C5714 + + thumb_func_start sub_0201BCFC +sub_0201BCFC: ; 0x0201BCFC + push {r4-r6, lr} + add r5, r0, #0x0 + cmp r5, #0x8 + blo _0201BD08 + bl sub_02020C2C +_0201BD08: + ldr r6, _0201BD40 ; =0x021C5714 + lsl r4, r5, #0x2 + ldr r0, [r6, r4] + cmp r0, #0x0 + bne _0201BD16 + bl sub_02020C2C +_0201BD16: + cmp r5, #0x8 + bhs _0201BD3C + ldr r0, [r6, r4] + cmp r0, #0x0 + beq _0201BD3C + bl sub_0201B6C8 + add r5, r0, #0x0 + beq _0201BD32 + bl sub_0201C238 + add r0, r5, #0x0 + bl sub_02016A18 +_0201BD32: + ldr r0, [r6, r4] + bl sub_0200CAB4 + mov r0, #0x0 + str r0, [r6, r4] +_0201BD3C: + pop {r4-r6, pc} + nop +_0201BD40: .word 0x021C5714 + + thumb_func_start sub_0201BD44 +sub_0201BD44: ; 0x0201BD44 + lsl r1, r0, #0x2 + ldr r0, _0201BD58 ; =0x021C5714 + ldr r0, [r0, r1] + cmp r0, #0x0 + beq _0201BD52 + mov r0, #0x1 + bx lr +_0201BD52: + mov r0, #0x0 + bx lr + nop +_0201BD58: .word 0x021C5714 + + thumb_func_start sub_0201BD5C +sub_0201BD5C: ; 0x0201BD5C + mov r1, #0x0 + ldr r2, _0201BD6C ; =0x021C5714 + add r0, r1, #0x0 +_0201BD62: + add r1, r1, #0x1 + stmia r2!, {r0} + cmp r1, #0x8 + blt _0201BD62 + bx lr + .balign 4 +_0201BD6C: .word 0x021C5714 + + thumb_func_start sub_0201BD70 +sub_0201BD70: ; 0x0201BD70 + push {r3, lr} + bl sub_0201BD44 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + + thumb_func_start sub_0201BD7C +sub_0201BD7C: ; 0x0201BD7C + ldr r3, _0201BD80 ; =sub_0201BCFC + bx r3 + .balign 4 +_0201BD80: .word sub_0201BCFC + 1 + + thumb_func_start sub_0201BD84 +sub_0201BD84: ; 0x0201BD84 + push {r3, lr} + sub sp, #0x18 + str r0, [sp, #0x4] + lsl r0, r3, #0x18 + lsr r3, r0, #0x18 + ldr r0, [sp, #0x20] + str r2, [sp, #0x0] + add r2, sp, #0x0 + strb r1, [r2, #0x9] + lsl r0, r0, #0x18 + strb r3, [r2, #0xa] + lsr r0, r0, #0x18 + strb r0, [r2, #0xb] + strb r3, [r2, #0xc] + strb r0, [r2, #0xd] + ldr r0, _0201BDDC ; =0x02105BB4 + lsl r1, r1, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r1 + ldrb r0, [r1, #0x2] + strb r0, [r2, #0xe] + ldrb r0, [r1, #0x3] + strb r0, [r2, #0xf] + ldrb r0, [r1, #0x4] + strb r0, [r2, #0x10] + ldrb r0, [r1, #0x5] + strb r0, [r2, #0x11] + ldrb r0, [r1, #0x6] + strb r0, [r2, #0x12] + ldrb r0, [r1, #0x7] + ldr r1, [sp, #0x24] + strb r0, [r2, #0x13] + mov r0, #0x0 + strh r0, [r2, #0x14] + strb r0, [r2, #0x16] + mov r0, #0xff + strb r0, [r2, #0x17] + ldr r2, [sp, #0x28] + add r0, sp, #0x0 + bl sub_0201BE98 + add sp, #0x18 + pop {r3, pc} + nop +_0201BDDC: .word 0x02105BB4 + + thumb_func_start sub_0201BDE0 +sub_0201BDE0: ; 0x0201BDE0 + push {r3, lr} + sub sp, #0x18 + str r0, [sp, #0x4] + lsl r0, r3, #0x18 + lsr r3, r0, #0x18 + ldr r0, [sp, #0x20] + str r2, [sp, #0x0] + add r2, sp, #0x0 + strb r1, [r2, #0x9] + lsl r0, r0, #0x18 + strb r3, [r2, #0xa] + lsr r0, r0, #0x18 + strb r0, [r2, #0xb] + strb r3, [r2, #0xc] + strb r0, [r2, #0xd] + ldr r0, _0201BE38 ; =0x02105BB4 + lsl r1, r1, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r1 + ldrb r0, [r1, #0x2] + strb r0, [r2, #0xe] + ldrb r0, [r1, #0x3] + strb r0, [r2, #0xf] + ldrb r0, [r1, #0x4] + ldr r1, [sp, #0x28] + strb r0, [r2, #0x10] + lsr r0, r1, #0x10 + strb r0, [r2, #0x11] + lsr r0, r1, #0x8 + strb r0, [r2, #0x13] + strb r1, [r2, #0x12] + mov r0, #0x0 + strh r0, [r2, #0x14] + strb r0, [r2, #0x16] + mov r0, #0xff + strb r0, [r2, #0x17] + ldr r1, [sp, #0x24] + ldr r2, [sp, #0x2c] + add r0, sp, #0x0 + bl sub_0201BE98 + add sp, #0x18 + pop {r3, pc} + nop +_0201BE38: .word 0x02105BB4 + + thumb_func_start sub_0201BE3C +sub_0201BE3C: ; 0x0201BE3C + push {r3, lr} + sub sp, #0x18 + str r0, [sp, #0x4] + lsl r0, r3, #0x18 + lsr r3, r0, #0x18 + ldr r0, [sp, #0x20] + str r2, [sp, #0x0] + add r2, sp, #0x0 + strb r1, [r2, #0x9] + lsl r0, r0, #0x18 + strb r3, [r2, #0xa] + lsr r0, r0, #0x18 + strb r0, [r2, #0xb] + strb r3, [r2, #0xc] + strb r0, [r2, #0xd] + ldr r0, [sp, #0x2c] + strb r0, [r2, #0xe] + ldr r0, [sp, #0x30] + strb r0, [r2, #0xf] + ldr r0, _0201BE94 ; =0x02105BB4 + ldr r3, [r0, #0x0] + lsl r0, r1, #0x3 + add r0, r3, r0 + ldrb r0, [r0, #0x4] + ldr r1, [sp, #0x28] + strb r0, [r2, #0x10] + lsr r0, r1, #0x10 + strb r0, [r2, #0x11] + lsr r0, r1, #0x8 + strb r0, [r2, #0x13] + strb r1, [r2, #0x12] + mov r0, #0x0 + strh r0, [r2, #0x14] + strb r0, [r2, #0x16] + mov r0, #0xff + strb r0, [r2, #0x17] + ldr r1, [sp, #0x24] + ldr r2, [sp, #0x34] + add r0, sp, #0x0 + bl sub_0201BE98 + add sp, #0x18 + pop {r3, pc} + nop +_0201BE94: .word 0x02105BB4 + + thumb_func_start sub_0201BE98 +sub_0201BE98: ; 0x0201BE98 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _0201BFD0 ; =0x02105BB4 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + add r5, r2, #0x0 + cmp r0, #0x0 + bne _0201BEAC + mov r0, #0xff + pop {r3-r7, pc} +_0201BEAC: + mov r0, #0x0 + mov r1, #0x30 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x1 + add r0, #0x23 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + add r0, #0x24 + strb r3, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x25 + ldrb r2, [r0, #0x0] + mov r0, #0x7f + bic r2, r0 + lsl r0, r6, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x7f + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x25 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x26 + strb r3, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x27 + strb r3, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x29 + strb r3, [r0, #0x0] + add r1, r3, #0x0 +_0201BEF4: + add r0, r4, r3 + add r3, r3, #0x1 + strb r1, [r0, #0x1c] + cmp r3, #0x7 + blt _0201BEF4 + add r3, r7, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + bl sub_02021F2C + str r0, [r4, #0x0] + ldr r0, _0201BFD4 ; =0x021C570C + str r5, [r4, #0x18] + mov r1, #0x0 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0201C1A8 + cmp r6, #0xff + beq _0201BF74 + cmp r6, #0x0 + beq _0201BF74 + add r0, r4, #0x0 + add r0, #0x25 + ldrb r2, [r0, #0x0] + mov r1, #0x7f + add r0, r2, #0x0 + bic r0, r1 + lsl r1, r2, #0x19 + lsr r1, r1, #0x19 + add r1, #0xff + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + mov r1, #0x7f + and r1, r2 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x25 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x25 + ldrb r1, [r0, #0x0] + mov r0, #0x80 + mov r2, #0x1 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x25 + strb r1, [r0, #0x0] + ldr r0, _0201BFD8 ; =sub_0201BFDC + add r1, r4, #0x0 + bl sub_0201BCC8 + add r1, r4, #0x0 + add r1, #0x28 + strb r0, [r1, #0x0] + add r4, #0x28 + ldrb r0, [r4, #0x0] + pop {r3-r7, pc} +_0201BF74: + add r0, r4, #0x0 + add r0, #0x25 + ldrb r1, [r0, #0x0] + mov r0, #0x7f + mov r5, #0x0 + bic r1, r0 + add r0, r4, #0x0 + add r0, #0x25 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x25 + ldrb r1, [r0, #0x0] + mov r0, #0x80 + bic r1, r0 + add r0, r4, #0x0 + add r0, #0x25 + strb r1, [r0, #0x0] + ldrb r0, [r7, #0x11] + ldrb r1, [r7, #0x12] + ldrb r2, [r7, #0x13] + bl sub_0201C05C + mov r7, #0x1 + lsl r7, r7, #0xa +_0201BFA4: + add r0, r4, #0x0 + bl sub_0201C048 + cmp r0, #0x1 + beq _0201BFB4 + add r5, r5, #0x1 + cmp r5, r7 + blo _0201BFA4 +_0201BFB4: + cmp r6, #0xff + beq _0201BFBE + ldr r0, [r4, #0x4] + bl sub_020191D0 +_0201BFBE: + add r0, r4, #0x0 + bl sub_0201C238 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x8 + pop {r3-r7, pc} + nop +_0201BFD0: .word 0x02105BB4 +_0201BFD4: .word 0x021C570C +_0201BFD8: .word sub_0201BFDC + 1 + + thumb_func_start sub_0201BFDC +sub_0201BFDC: ; 0x0201BFDC + push {r4, lr} + ldr r0, _0201C044 ; =0x021C570C + add r4, r1, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201C042 + add r0, r4, #0x0 + add r0, #0x29 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201C036 + mov r0, #0x0 + strh r0, [r4, #0x2a] + ldrb r0, [r4, #0x11] + ldrb r1, [r4, #0x12] + ldrb r2, [r4, #0x13] + bl sub_0201C05C + add r0, r4, #0x0 + bl sub_0201C048 + cmp r0, #0x0 + beq _0201C014 + cmp r0, #0x1 + beq _0201C02C + cmp r0, #0x3 + beq _0201C01A + pop {r4, pc} +_0201C014: + ldr r0, [r4, #0x4] + bl sub_020191D0 +_0201C01A: + ldr r2, [r4, #0x18] + cmp r2, #0x0 + beq _0201C042 + ldrh r1, [r4, #0x2a] + add r0, r4, #0x0 + blx r2 + add r4, #0x29 + strb r0, [r4, #0x0] + pop {r4, pc} +_0201C02C: + add r4, #0x28 + ldrb r0, [r4, #0x0] + bl sub_0201BCFC + pop {r4, pc} +_0201C036: + ldrh r1, [r4, #0x2a] + ldr r2, [r4, #0x18] + add r0, r4, #0x0 + blx r2 + add r4, #0x29 + strb r0, [r4, #0x0] +_0201C042: + pop {r4, pc} + .balign 4 +_0201C044: .word 0x021C570C + + thumb_func_start sub_0201C048 +sub_0201C048: ; 0x0201C048 + push {r4, lr} + add r4, r0, #0x0 +_0201C04C: + ldrb r0, [r4, #0x9] + add r1, r4, #0x0 + bl sub_02002DB0 + cmp r0, #0x2 + beq _0201C04C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201C05C +sub_0201C05C: ; 0x0201C05C + push {r3-r7, lr} + sub sp, #0x30 + ldr r3, _0201C0F8 ; =0x021C570C + mov r5, #0x0 + str r5, [sp, #0x20] + str r0, [sp, #0x24] + str r2, [sp, #0x28] + str r1, [sp, #0x2c] + strh r1, [r3, #0x6] + strh r0, [r3, #0x2] + add r0, sp, #0x20 + strh r2, [r3, #0x4] + str r5, [sp, #0x14] + str r0, [sp, #0x8] + mov r12, r0 + mov lr, r0 + str r0, [sp, #0x18] +_0201C07E: + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + str r0, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r0, [r0, #0x0] + str r0, [sp, #0x1c] +_0201C08C: + mov r0, #0x0 + str r0, [sp, #0xc] + mov r0, lr + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + ldr r0, [r0, #0x0] + lsl r7, r0, #0x4 +_0201C09A: + ldr r0, [sp, #0x0] + mov r3, #0x0 + ldr r0, [r0, #0x0] + mov r4, r12 + lsl r6, r0, #0x8 +_0201C0A4: + ldr r0, [r4, #0x0] + add r1, r7, #0x0 + lsl r0, r0, #0xc + orr r0, r6 + orr r1, r0 + ldr r0, [sp, #0x1c] + add r3, r3, #0x1 + add r2, r0, #0x0 + orr r2, r1 + lsl r1, r5, #0x1 + ldr r0, _0201C0FC ; =0x021C5734 + add r5, r5, #0x1 + add r4, r4, #0x4 + strh r2, [r0, r1] + cmp r3, #0x4 + blt _0201C0A4 + ldr r0, [sp, #0x0] + add r0, r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + add r0, r0, #0x1 + str r0, [sp, #0xc] + cmp r0, #0x4 + blt _0201C09A + ldr r0, [sp, #0x4] + add r0, r0, #0x4 + str r0, [sp, #0x4] + ldr r0, [sp, #0x10] + add r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, #0x4 + blt _0201C08C + ldr r0, [sp, #0x8] + add r0, r0, #0x4 + str r0, [sp, #0x8] + ldr r0, [sp, #0x14] + add r0, r0, #0x1 + str r0, [sp, #0x14] + cmp r0, #0x4 + blt _0201C07E + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_0201C0F8: .word 0x021C570C +_0201C0FC: .word 0x021C5734 + + thumb_func_start sub_0201C100 +sub_0201C100: ; 0x0201C100 + ldrh r2, [r0, #0x0] + lsr r2, r2, #0x8 + lsl r3, r2, #0x1 + ldr r2, _0201C1A4 ; =0x021C5734 + ldrh r3, [r2, r3] + strh r3, [r1, #0x0] + ldrh r3, [r0, #0x0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0x2] + ldrh r3, [r0, #0x2] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x4] + ldrh r3, [r0, #0x2] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0x6] + ldrh r3, [r0, #0x4] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x8] + ldrh r3, [r0, #0x4] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0xa] + ldrh r3, [r0, #0x6] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0xc] + ldrh r3, [r0, #0x6] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0xe] + ldrh r3, [r0, #0x8] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x10] + ldrh r3, [r0, #0x8] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0x12] + ldrh r3, [r0, #0xa] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x14] + ldrh r3, [r0, #0xa] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0x16] + ldrh r3, [r0, #0xc] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x18] + ldrh r3, [r0, #0xc] + lsl r3, r3, #0x18 + lsr r3, r3, #0x17 + ldrh r3, [r2, r3] + strh r3, [r1, #0x1a] + ldrh r3, [r0, #0xe] + lsr r3, r3, #0x8 + lsl r3, r3, #0x1 + ldrh r3, [r2, r3] + strh r3, [r1, #0x1c] + ldrh r0, [r0, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x17 + ldrh r0, [r2, r0] + strh r0, [r1, #0x1e] + bx lr + .balign 4 +_0201C1A4: .word 0x021C5734 + + thumb_func_start sub_0201C1A8 +sub_0201C1A8: ; 0x0201C1A8 + mov r1, #0x0 + str r1, [r0, #0x2c] + bx lr + .balign 4 + + thumb_func_start sub_0201C1B0 +sub_0201C1B0: ; 0x0201C1B0 + push {r3-r5, lr} + sub sp, #0x8 + mov r1, #0x6 + mov r0, #0x0 + lsl r1, r1, #0x8 + bl sub_02016998 + mov r2, #0x0 + add r5, r0, #0x0 + str r2, [sp, #0x0] + mov r0, #0xe + mov r1, #0x5 + add r3, sp, #0x4 + bl sub_02006BB0 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + mov r2, #0x6 + ldr r0, [r0, #0x14] + add r1, r5, #0x0 + lsl r2, r2, #0x8 + blx sub_020CE210 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201C1EC +sub_0201C1EC: ; 0x0201C1EC + push {r3-r7, lr} + sub sp, #0x18 + add r4, r0, #0x0 + ldr r0, [r4, #0x2c] + add r7, r3, #0x0 + ldr r5, [r4, #0x4] + cmp r0, #0x0 + bne _0201C202 + bl sub_0201C1B0 + str r0, [r4, #0x2c] +_0201C202: + mov r0, #0x6 + lsl r0, r0, #0x6 + add r6, r7, #0x0 + mul r6, r0 + add r0, r5, #0x0 + ldr r4, [r4, #0x2c] + bl sub_0201AB0C + sub r0, r0, #0x3 + lsl r0, r0, #0x13 + mov r1, #0x18 + lsr r2, r0, #0x10 + str r1, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r2, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + str r1, [sp, #0x10] + str r0, [sp, #0x14] + add r0, r5, #0x0 + add r1, r4, r6 + add r3, r2, #0x0 + bl sub_02019658 + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_0201C238 +sub_0201C238: ; 0x0201C238 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x2c] + cmp r0, #0x0 + beq _0201C24A + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x2c] +_0201C24A: + pop {r4, pc} + + thumb_func_start sub_0201C24C +sub_0201C24C: ; 0x0201C24C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0201C298 ; =0x021C5934 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201C25E + bl sub_02020C2C +_0201C25E: + add r0, r4, #0x0 + mov r1, #0xc + bl sub_02016998 + ldr r1, _0201C298 ; =0x021C5934 + cmp r0, #0x0 + str r0, [r1, #0x0] + bne _0201C272 + bl sub_02020C2C +_0201C272: + add r0, r4, #0x0 + lsl r1, r5, #0x4 + bl sub_02016998 + ldr r1, _0201C298 ; =0x021C5934 + ldr r2, [r1, #0x0] + str r0, [r2, #0x8] + ldr r0, [r1, #0x0] + mov r2, #0x0 + str r5, [r0, #0x0] + ldr r0, [r1, #0x0] + str r2, [r0, #0x4] + ldr r1, [r1, #0x0] + ldr r0, [r1, #0x8] + ldr r1, [r1, #0x0] + blx sub_020AEF1C + pop {r3-r5, pc} + nop +_0201C298: .word 0x021C5934 + + thumb_func_start sub_0201C29C +sub_0201C29C: ; 0x0201C29C + push {r3, lr} + ldr r0, _0201C2C4 ; =0x021C5934 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201C2AA + bl sub_02020C2C +_0201C2AA: + ldr r0, _0201C2C4 ; =0x021C5934 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x8] + bl sub_02016A18 + ldr r0, _0201C2C4 ; =0x021C5934 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201C2C4 ; =0x021C5934 + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3, pc} + .balign 4 +_0201C2C4: .word 0x021C5934 + + thumb_func_start sub_0201C2C8 +sub_0201C2C8: ; 0x0201C2C8 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0201C308 ; =0x021C5934 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + bne _0201C2DE + bl sub_02020C2C +_0201C2DE: + ldr r1, _0201C308 ; =0x021C5934 + ldr r0, [r1, #0x0] + ldr r2, [r0, #0x4] + add r2, r2, #0x1 + str r2, [r0, #0x4] + ldr r0, [r1, #0x0] + ldr r1, [r0, #0x4] + ldr r0, [r0, #0x0] + cmp r1, r0 + blo _0201C2FA + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0201C2FA: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + blx sub_020AEE40 + pop {r3-r7, pc} + .balign 4 +_0201C308: .word 0x021C5934 + + thumb_func_start sub_0201C30C +sub_0201C30C: ; 0x0201C30C + push {r3, lr} + ldr r0, _0201C324 ; =0x021C5934 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201C322 + blx sub_020AEEB8 + ldr r0, _0201C324 ; =0x021C5934 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x4] +_0201C322: + pop {r3, pc} + .balign 4 +_0201C324: .word 0x021C5934 + + thumb_func_start sub_0201C328 +sub_0201C328: ; 0x0201C328 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x30 + mul r1, r4 + bl sub_02016998 + ldr r2, _0201C344 ; =sub_0201C358 + add r1, r4, #0x0 + add r5, r0, #0x0 + blx sub_020B4568 + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 +_0201C344: .word sub_0201C358 + 1 + + thumb_func_start sub_0201C348 +sub_0201C348: ; 0x0201C348 + ldr r3, _0201C34C ; =sub_020B442C + bx r3 + .balign 4 +_0201C34C: .word sub_020B442C + + thumb_func_start sub_0201C350 +sub_0201C350: ; 0x0201C350 + ldr r3, _0201C354 ; =sub_02016A18 + bx r3 + .balign 4 +_0201C354: .word sub_02016A18 + 1 + + thumb_func_start sub_0201C358 +sub_0201C358: ; 0x0201C358 + push {r3, lr} + bl sub_0201C2C8 + pop {r3, pc} + + thumb_func_start sub_0201C360 +sub_0201C360: ; 0x0201C360 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x14 + add r4, r0, #0x0 + add r0, r6, #0x0 + mul r1, r5 + bl sub_02016998 + str r0, [r4, #0x0] + mov r6, #0x0 + str r5, [r4, #0x4] + cmp r5, #0x0 + ble _0201C398 + add r5, r6, #0x0 +_0201C386: + ldr r0, [r4, #0x0] + add r0, r0, r5 + bl sub_0201C444 + ldr r0, [r4, #0x4] + add r6, r6, #0x1 + add r5, #0x14 + cmp r6, r0 + blt _0201C386 +_0201C398: + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0201C39C +sub_0201C39C: ; 0x0201C39C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201C414 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201C3B4 +sub_0201C3B4: ; 0x0201C3B4 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + mov r4, #0x0 + add r7, r2, #0x0 + mov r12, r1 + add r6, r3, #0x0 + add r2, r4, #0x0 + cmp r0, #0x0 + ble _0201C3E2 + ldr r5, [r5, #0x0] + add r3, r5, #0x0 +_0201C3CC: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + bne _0201C3DA + mov r0, #0x14 + mul r0, r2 + add r4, r5, r0 + b _0201C3E2 +_0201C3DA: + add r2, r2, #0x1 + add r3, #0x14 + cmp r2, r0 + blt _0201C3CC +_0201C3E2: + cmp r4, #0x0 + bne _0201C3EA + mov r0, #0x0 + pop {r3-r7, pc} +_0201C3EA: + mov r0, r12 + str r0, [r4, #0x0] + str r7, [r4, #0x4] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x18] + str r6, [r4, #0x8] + str r0, [r4, #0xc] + mov r0, #0xff + strb r0, [r4, #0x10] + lsl r1, r1, #0x4 + strb r0, [r4, #0x11] + add r0, r4, #0x0 + lsr r1, r1, #0x10 + bl sub_0201C454 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0201C40C +sub_0201C40C: ; 0x0201C40C + ldr r3, _0201C410 ; =sub_0201C444 + bx r3 + .balign 4 +_0201C410: .word sub_0201C444 + 1 + + thumb_func_start sub_0201C414 +sub_0201C414: ; 0x0201C414 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _0201C434 + add r4, r6, #0x0 +_0201C422: + ldr r0, [r5, #0x0] + add r0, r0, r4 + bl sub_0201C444 + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0x14 + cmp r6, r0 + blt _0201C422 +_0201C434: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201C438 +sub_0201C438: ; 0x0201C438 + ldr r3, _0201C440 ; =sub_0201C454 + lsl r1, r1, #0x4 + lsr r1, r1, #0x10 + bx r3 + .balign 4 +_0201C440: .word sub_0201C454 + 1 + + thumb_func_start sub_0201C444 +sub_0201C444: ; 0x0201C444 + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + str r1, [r0, #0x8] + str r1, [r0, #0xc] + strb r1, [r0, #0x10] + strb r1, [r0, #0x11] + bx lr + + thumb_func_start sub_0201C454 +sub_0201C454: ; 0x0201C454 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02022244 + add r2, sp, #0x0 + strb r0, [r2, #0x0] + lsr r0, r0, #0x8 + strb r0, [r2, #0x1] + ldrb r0, [r2, #0x0] + add r1, sp, #0x0 + add r1, #0x2 + strb r0, [r2, #0x2] + ldrb r0, [r2, #0x1] + strb r0, [r2, #0x3] + ldrb r3, [r4, #0x10] + ldrb r0, [r2, #0x2] + cmp r3, r0 + beq _0201C482 + add r0, r4, #0x0 + bl sub_0201C49C +_0201C482: + add r0, sp, #0x0 + ldrb r1, [r4, #0x11] + ldrb r0, [r0, #0x3] + cmp r1, r0 + beq _0201C496 + add r1, sp, #0x0 + add r0, r4, #0x0 + add r1, #0x2 + bl sub_0201C4C8 +_0201C496: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201C49C +sub_0201C49C: ; 0x0201C49C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201C4F4 + ldr r3, [r5, #0x8] + add r2, r0, #0x0 + lsl r1, r3, #0x10 + ldr r6, _0201C4C4 ; =0x7FFF0000 + mov r0, #0x0 + and r3, r6 + lsr r3, r3, #0x10 + lsr r1, r1, #0xd + lsl r3, r3, #0x4 + bl sub_0201C2C8 + ldrb r0, [r4, #0x0] + strb r0, [r5, #0x10] + pop {r4-r6, pc} + nop +_0201C4C4: .word 0x7FFF0000 + + thumb_func_start sub_0201C4C8 +sub_0201C4C8: ; 0x0201C4C8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201C500 + ldr r3, [r5, #0xc] + add r2, r0, #0x0 + lsl r1, r3, #0x10 + ldr r6, _0201C4F0 ; =0xFFFF0000 + mov r0, #0x1 + and r3, r6 + lsr r3, r3, #0x10 + lsr r1, r1, #0xd + lsl r3, r3, #0x3 + bl sub_0201C2C8 + ldrb r0, [r4, #0x1] + strb r0, [r5, #0x11] + pop {r4-r6, pc} + nop +_0201C4F0: .word 0xFFFF0000 + + thumb_func_start sub_0201C4F4 +sub_0201C4F4: ; 0x0201C4F4 + ldr r3, _0201C4FC ; =0x0201C50D + ldr r0, [r0, #0x4] + ldrb r1, [r1, #0x0] + bx r3 + .balign 4 +_0201C4FC: .word 0x0201C50D + + thumb_func_start sub_0201C500 +sub_0201C500: ; 0x0201C500 + ldr r3, _0201C508 ; =0x0201C541 + ldr r0, [r0, #0x4] + ldrb r1, [r1, #0x1] + bx r3 + .balign 4 +_0201C508: .word 0x0201C541 +_0201C50C: + .byte 0x18, 0xB4, 0x02, 0x1C + .byte 0x42, 0x32, 0x12, 0x88, 0x04, 0x1C, 0x3C, 0x34, 0xA3, 0x18, 0xA2, 0x5A, 0x1B, 0x1D, 0x51, 0x43 + .byte 0x5B, 0x18, 0x02, 0xD1, 0x00, 0x20, 0x18, 0xBC, 0x70, 0x47, 0x41, 0x69, 0x42, 0x18, 0x19, 0x68 + .byte 0x80, 0x68, 0x09, 0x04, 0x09, 0x0C, 0x08, 0x18, 0xC0, 0x00, 0x10, 0x18, 0x18, 0xBC, 0x70, 0x47 + .byte 0x18, 0xB4, 0x82, 0x8E, 0x84, 0x18, 0xE2, 0x88, 0xA3, 0x18, 0xA2, 0x5A, 0x1B, 0x1D, 0x51, 0x43 + .byte 0x5A, 0x18, 0x02, 0xD1, 0x00, 0x20, 0x18, 0xBC, 0x70, 0x47, 0x81, 0x6B, 0x41, 0x18, 0x10, 0x88 + .byte 0xC0, 0x00, 0x08, 0x18, 0x18, 0xBC, 0x70, 0x47 + + thumb_func_start sub_0201C568 +sub_0201C568: ; 0x0201C568 + ldr r1, [r1, #0x0] + ldr r0, [r0, #0x8] + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + lsr r1, r1, #0xd + lsr r0, r0, #0xd + add r0, r1, r0 + bx lr + + thumb_func_start sub_0201C578 +sub_0201C578: ; 0x0201C578 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_0201C750 + add r0, r4, #0x0 + add r0, #0x3c + add r1, sp, #0x0 + blx sub_020BC2A0 + add r1, r0, #0x0 + bne _0201C598 + add sp, #0x10 + mov r0, #0x0 + pop {r4, pc} +_0201C598: + add r0, r4, #0x0 + bl sub_0201C568 + add sp, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201C5A4 +sub_0201C5A4: ; 0x0201C5A4 + push {r3, lr} + ldr r0, [r1, #0x0] + mov r1, #0x7 + lsl r1, r1, #0x1a + and r1, r0 + lsr r1, r1, #0x1a + cmp r1, #0x4 + bhi _0201C5DA + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r3, #0 + lsl r4, r2, #0 + lsl r0, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + mov r1, #0x4 + b _0201C5DE +_0201C5CE: + .byte 0x02, 0x21 + .byte 0x05, 0xE0, 0x01, 0x21, 0x03, 0xE0, 0x01, 0x21, 0x01, 0xE0 +_0201C5DA: + mov r0, #0x0 + pop {r3, pc} +_0201C5DE: + mov r3, #0x7 + lsl r3, r3, #0x14 + add r2, r0, #0x0 + and r2, r3 + lsl r3, r3, #0x3 + and r0, r3 + lsr r2, r2, #0x14 + lsr r0, r0, #0x17 + lsl r2, r2, #0x4 + lsl r0, r0, #0x4 + mul r0, r2 + blx sub_020EBE8C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201C5FC +sub_0201C5FC: ; 0x0201C5FC + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_0201C750 + add r0, r4, #0x0 + add r0, #0x3c + add r1, sp, #0x0 + blx sub_020BC2A0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0201C5A4 + add sp, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201C620 +sub_0201C620: ; 0x0201C620 + ldrb r3, [r0, #0x0] + strb r3, [r1, #0x0] + ldrb r0, [r0, #0x1] + strb r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0201C62C +sub_0201C62C: ; 0x0201C62C + ldrb r3, [r0, #0x2] + strb r3, [r1, #0x0] + ldrb r0, [r0, #0x3] + strb r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0201C638 +sub_0201C638: ; 0x0201C638 + push {r4-r5} + ldr r5, _0201C6B0 ; =0xFFFFFFF8 + ldr r4, [sp, #0xc] + add r5, sp + ldrb r5, [r5, #0x18] + cmp r5, #0x3 + bhi _0201C678 + add r5, r5, r5 + add r5, pc + ldrh r5, [r5, #0x6] + lsl r5, r5, #0x10 + asr r5, r5, #0x10 + add pc, r5 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r4, r4, #0x3 + add r4, r0, r4 + ldrb r4, [r4, #0x4] + b _0201C678 +_0201C662: + .byte 0xE4, 0x00, 0x04, 0x19, 0x64, 0x79, 0x06, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xA4, 0x79 + .byte 0x02, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xE4, 0x79 +_0201C678: + cmp r1, #0x0 + beq _0201C682 + lsl r5, r4, #0x3 + ldrb r5, [r0, r5] + strb r5, [r1, #0x0] +_0201C682: + cmp r2, #0x0 + beq _0201C68E + lsl r1, r4, #0x3 + add r1, r0, r1 + ldrb r1, [r1, #0x1] + strb r1, [r2, #0x0] +_0201C68E: + cmp r3, #0x0 + beq _0201C69A + lsl r1, r4, #0x3 + add r1, r0, r1 + ldrb r1, [r1, #0x2] + strb r1, [r3, #0x0] +_0201C69A: + ldr r2, [sp, #0x8] + cmp r2, #0x0 + beq _0201C6A8 + lsl r1, r4, #0x3 + add r0, r0, r1 + ldrb r0, [r0, #0x3] + strb r0, [r2, #0x0] +_0201C6A8: + add r0, r4, #0x0 + pop {r4-r5} + bx lr + nop +_0201C6B0: .word 0xFFFFFFF8 + + thumb_func_start sub_0201C6B4 +sub_0201C6B4: ; 0x0201C6B4 + mov r2, #0x0 + ldrsb r1, [r0, r2] + cmp r1, #0x0 + beq _0201C6C4 +_0201C6BC: + add r2, r2, #0x1 + ldrsb r1, [r0, r2] + cmp r1, #0x0 + bne _0201C6BC +_0201C6C4: + add r0, r2, #0x0 + bx lr + + thumb_func_start sub_0201C6C8 +sub_0201C6C8: ; 0x0201C6C8 + push {r4-r5} + mov r4, #0x1 + mov r3, #0x0 + lsl r4, r4, #0x8 +_0201C6D0: + ldrsb r5, [r0, r3] + strb r5, [r1, r3] + ldrsb r5, [r0, r3] + cmp r2, r5 + beq _0201C6DE + cmp r5, #0x0 + bne _0201C6FE +_0201C6DE: + mov r4, #0x0 + strb r4, [r1, r3] + cmp r2, #0xd + bne _0201C6F6 + add r1, r3, #0x1 + ldrsb r1, [r0, r1] + cmp r1, #0xa + bne _0201C6F6 + add r1, r3, #0x2 + add r0, r0, r1 + pop {r4-r5} + bx lr +_0201C6F6: + add r1, r3, #0x1 + add r0, r0, r1 + pop {r4-r5} + bx lr +_0201C6FE: + add r3, r3, #0x1 + cmp r3, r4 + blt _0201C6D0 + mov r0, #0x0 + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_0201C70C +sub_0201C70C: ; 0x0201C70C + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_0201C6B4 + mov r5, #0x1 + mov r6, #0x0 + sub r3, r0, #0x1 + bmi _0201C74A + sub r1, r6, #0x1 + mov r0, #0xa +_0201C720: + ldrsb r2, [r4, r3] + cmp r2, #0x30 + blt _0201C732 + cmp r2, #0x39 + bgt _0201C732 + sub r2, #0x30 + mul r2, r5 + add r6, r6, r2 + b _0201C744 +_0201C732: + cmp r3, #0x0 + bne _0201C73E + cmp r2, #0x2d + bne _0201C744 + mul r6, r1 + b _0201C744 +_0201C73E: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_0201C744: + mul r5, r0 + sub r3, r3, #0x1 + bpl _0201C720 +_0201C74A: + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201C750 +sub_0201C750: ; 0x0201C750 + push {r3-r5, lr} + mov r2, #0x0 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r1, r2, #0x0 +_0201C75A: + lsl r0, r2, #0x2 + str r1, [r5, r0] + add r0, r2, #0x1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x4 + blo _0201C75A + add r0, r4, #0x0 + bl sub_0201C6B4 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r2, _0201C788 ; =0x00000000 + beq _0201C784 +_0201C776: + ldrsb r0, [r4, r2] + strb r0, [r5, r2] + add r0, r2, #0x1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, r1 + blo _0201C776 +_0201C784: + pop {r3-r5, pc} + nop +_0201C788: .word 0x00000000 + + thumb_func_start sub_0201C78C +sub_0201C78C: ; 0x0201C78C + ldr r1, _0201C79C ; =0x00000121 + cmp r0, r1 + bhs _0201C796 + mov r0, #0x1 + bx lr +_0201C796: + mov r0, #0x0 + bx lr + nop +_0201C79C: .word 0x00000121 + + thumb_func_start sub_0201C7A0 +sub_0201C7A0: ; 0x0201C7A0 + cmp r0, r1 + blt _0201C7A6 + add r0, r1, #0x0 +_0201C7A6: + bx lr + + thumb_func_start sub_0201C7A8 +sub_0201C7A8: ; 0x0201C7A8 + cmp r0, r1 + bgt _0201C7AE + add r0, r1, #0x0 +_0201C7AE: + bx lr + + thumb_func_start sub_0201C7B0 +sub_0201C7B0: ; 0x0201C7B0 + push {r3-r7, lr} + sub sp, #0x30 + add r4, r1, #0x0 + add r1, sp, #0x24 + blx sub_020C5288 + add r0, r4, #0x0 + add r1, sp, #0x18 + blx sub_020C5288 + ldr r0, [sp, #0x24] + ldr r4, [sp, #0x18] + str r0, [sp, #0x0] + asr r0, r0, #0x1f + str r0, [sp, #0x4] + ldr r0, [sp, #0x20] + asr r6, r4, #0x1f + str r0, [sp, #0x8] + asr r0, r0, #0x1f + str r0, [sp, #0xc] + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x8] + asr r7, r0, #0x1f + ldr r3, [sp, #0xc] + add r1, r7, #0x0 + str r0, [sp, #0x10] + blx sub_020EBC30 + str r0, [sp, #0x14] + add r5, r1, #0x0 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r2, r4, #0x0 + add r3, r6, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + ldr r3, [sp, #0x14] + lsl r2, r2, #0xa + add r3, r3, r2 + ldr r2, _0201C874 ; =0x00000000 + adc r5, r2 + lsl r2, r5, #0x14 + lsr r3, r3, #0xc + orr r3, r2 + mov r2, #0x2 + lsl r2, r2, #0xa + add r0, r0, r2 + ldr r2, _0201C874 ; =0x00000000 + adc r1, r2 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + add r5, r3, r0 + ldr r0, [sp, #0x10] + add r1, r7, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + blx sub_020EBC30 + add r6, r0, #0x0 + add r4, r1, #0x0 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + ldr r3, [sp, #0xc] + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r6, r6, r2 + adc r4, r3 + lsl r4, r4, #0x14 + lsr r6, r6, #0xc + orr r6, r4 + add r4, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r4, #0xc + orr r1, r0 + sub r0, r6, r1 + cmp r5, #0x0 + bne _0201C86A + cmp r0, #0x0 + ble _0201C862 + add sp, #0x30 + lsl r0, r2, #0x3 + pop {r3-r7, pc} +_0201C862: + mov r0, #0x3 + add sp, #0x30 + lsl r0, r0, #0xe + pop {r3-r7, pc} +_0201C86A: + add r1, r5, #0x0 + blx sub_020C5668 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_0201C874: .word 0x00000000 + + thumb_func_start sub_0201C878 +sub_0201C878: ; 0x0201C878 + push {r0-r3} + push {r4-r7, lr} + sub sp, #0x54 + ldr r0, [sp, #0x7c] + ldr r2, [sp, #0x80] + str r0, [sp, #0x8] + ldr r0, [sp, #0x94] + ldr r1, [sp, #0x8c] + str r0, [sp, #0xc] + ldr r0, [sp, #0x88] + ldr r4, [sp, #0x70] + str r0, [sp, #0x10] + sub r0, r2, r1 + str r0, [sp, #0x14] + asr r0, r0, #0x1f + str r0, [sp, #0x18] + ldr r0, [sp, #0x8] + asr r0, r0, #0x1f + str r0, [sp, #0x1c] + ldr r0, [sp, #0x74] + sub r3, r0, r2 + sub r0, r1, r0 + str r3, [sp, #0x20] + asr r3, r3, #0x1f + str r3, [sp, #0x24] + ldr r3, [sp, #0xc] + str r0, [sp, #0x2c] + asr r0, r0, #0x1f + str r0, [sp, #0x30] + ldr r0, [sp, #0x10] + asr r3, r3, #0x1f + str r3, [sp, #0x28] + asr r0, r0, #0x1f + ldr r3, [sp, #0x68] + str r0, [sp, #0x34] + asr r0, r4, #0x1f + str r0, [sp, #0x38] + sub r2, r2, r3 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x1c] + asr r3, r2, #0x1f + blx sub_020EBC30 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldr r3, [sp, #0x68] + ldr r2, [sp, #0x74] + ldr r0, [sp, #0x10] + sub r2, r3, r2 + ldr r1, [sp, #0x34] + asr r3, r2, #0x1f + blx sub_020EBC30 + add r5, r1, #0x0 + str r0, [sp, #0x3c] + ldr r1, [sp, #0x38] + ldr r2, [sp, #0x20] + ldr r3, [sp, #0x24] + add r0, r4, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + str r0, [sp, #0x4c] + add r0, r1, #0x0 + mov r1, #0x0 + lsl r2, r2, #0xa + add r3, r7, r2 + adc r6, r1 + lsl r2, r6, #0x14 + lsr r3, r3, #0xc + orr r3, r2 + mov r2, #0x2 + ldr r6, [sp, #0x3c] + lsl r2, r2, #0xa + add r2, r6, r2 + adc r5, r1 + mov r6, #0x2 + lsl r5, r5, #0x14 + lsr r2, r2, #0xc + orr r2, r5 + ldr r5, [sp, #0x4c] + lsl r6, r6, #0xa + add r5, r5, r6 + adc r0, r1 + lsl r0, r0, #0x14 + lsr r1, r5, #0xc + orr r1, r0 + add r0, r2, r1 + add r0, r3, r0 + str r0, [sp, #0x4] + ldr r3, [sp, #0x8c] + ldr r2, [sp, #0x68] + ldr r0, [sp, #0x10] + sub r2, r3, r2 + ldr r1, [sp, #0x34] + asr r3, r2, #0x1f + blx sub_020EBC30 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldr r3, [sp, #0x68] + ldr r2, [sp, #0x80] + ldr r0, [sp, #0xc] + sub r2, r3, r2 + ldr r1, [sp, #0x28] + asr r3, r2, #0x1f + blx sub_020EBC30 + str r0, [sp, #0x40] + add r5, r1, #0x0 + ldr r1, [sp, #0x38] + ldr r2, [sp, #0x14] + ldr r3, [sp, #0x18] + add r0, r4, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + str r0, [sp, #0x50] + add r0, r1, #0x0 + mov r1, #0x0 + lsl r2, r2, #0xa + add r3, r7, r2 + adc r6, r1 + lsl r2, r6, #0x14 + lsr r3, r3, #0xc + orr r3, r2 + mov r2, #0x2 + ldr r6, [sp, #0x40] + lsl r2, r2, #0xa + add r2, r6, r2 + adc r5, r1 + mov r6, #0x2 + lsl r5, r5, #0x14 + lsr r2, r2, #0xc + orr r2, r5 + ldr r5, [sp, #0x50] + lsl r6, r6, #0xa + add r5, r5, r6 + adc r0, r1 + lsl r0, r0, #0x14 + lsr r1, r5, #0xc + orr r1, r0 + add r0, r2, r1 + add r0, r3, r0 + str r0, [sp, #0x0] + ldr r3, [sp, #0x74] + ldr r2, [sp, #0x68] + ldr r0, [sp, #0xc] + sub r2, r3, r2 + ldr r1, [sp, #0x28] + asr r3, r2, #0x1f + blx sub_020EBC30 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldr r3, [sp, #0x68] + ldr r2, [sp, #0x8c] + ldr r0, [sp, #0x8] + sub r2, r3, r2 + ldr r1, [sp, #0x1c] + asr r3, r2, #0x1f + blx sub_020EBC30 + add r5, r1, #0x0 + str r0, [sp, #0x44] + ldr r1, [sp, #0x38] + ldr r2, [sp, #0x2c] + ldr r3, [sp, #0x30] + add r0, r4, #0x0 + blx sub_020EBC30 + mov r3, #0x2 + mov r2, #0x0 + lsl r3, r3, #0xa + add r4, r7, r3 + adc r6, r2 + lsl r3, r6, #0x14 + lsr r4, r4, #0xc + orr r4, r3 + mov r3, #0x2 + ldr r6, [sp, #0x44] + lsl r3, r3, #0xa + add r3, r6, r3 + adc r5, r2 + lsl r5, r5, #0x14 + lsr r3, r3, #0xc + orr r3, r5 + mov r5, #0x2 + lsl r5, r5, #0xa + add r5, r0, r5 + adc r1, r2 + lsl r0, r1, #0x14 + lsr r1, r5, #0xc + orr r1, r0 + add r0, r3, r1 + add r6, r4, r0 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x34] + ldr r2, [sp, #0x2c] + ldr r3, [sp, #0x30] + blx sub_020EBC30 + add r7, r0, #0x0 + add r5, r1, #0x0 + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x28] + ldr r2, [sp, #0x20] + ldr r3, [sp, #0x24] + blx sub_020EBC30 + str r0, [sp, #0x48] + add r4, r1, #0x0 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x1c] + ldr r2, [sp, #0x14] + ldr r3, [sp, #0x18] + blx sub_020EBC30 + mov r12, r0 + mov r0, #0x2 + add r2, r1, #0x0 + mov r1, #0x0 + lsl r0, r0, #0xa + add r0, r7, r0 + adc r5, r1 + lsl r3, r5, #0x14 + lsr r0, r0, #0xc + orr r0, r3 + mov r3, #0x2 + ldr r5, [sp, #0x48] + lsl r3, r3, #0xa + add r3, r5, r3 + adc r4, r1 + lsl r4, r4, #0x14 + lsr r3, r3, #0xc + orr r3, r4 + mov r4, #0x2 + lsl r4, r4, #0xa + mov r5, r12 + add r4, r5, r4 + adc r2, r1 + lsl r2, r2, #0x14 + lsr r4, r4, #0xc + orr r4, r2 + add r2, r3, r4 + add r0, r0, r2 + bpl _0201CA72 + add sp, #0x54 + add r0, r1, #0x0 + pop {r4-r7} + pop {r3} + add sp, #0x10 + bx r3 +_0201CA72: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bge _0201CA84 + add sp, #0x54 + add r0, r1, #0x0 + pop {r4-r7} + pop {r3} + add sp, #0x10 + bx r3 +_0201CA84: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bge _0201CA96 + add sp, #0x54 + add r0, r1, #0x0 + pop {r4-r7} + pop {r3} + add sp, #0x10 + bx r3 +_0201CA96: + cmp r6, #0x0 + blt _0201CA9C + mov r1, #0x1 +_0201CA9C: + add r0, r1, #0x0 + add sp, #0x54 + pop {r4-r7} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_0201CAA8 +sub_0201CAA8: ; 0x0201CAA8 + push {r4-r5, lr} + sub sp, #0x24 + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + ldr r3, _0201CB1C ; =0x020FFA38 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + asr r1, r1, #0x4 + lsl r2, r1, #0x1 + lsl r1, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + add r5, r0, #0x0 + bl sub_020C3F38 + ldr r0, [r4, #0x4] + ldr r3, _0201CB1C ; =0x020FFA38 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + asr r0, r0, #0x4 + lsl r2, r0, #0x1 + lsl r1, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + add r0, sp, #0x0 + bl sub_020C3F54 + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, r5, #0x0 + blx sub_020C400C + ldr r0, [r4, #0x8] + ldr r3, _0201CB1C ; =0x020FFA38 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + asr r0, r0, #0x4 + lsl r2, r0, #0x1 + lsl r1, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + add r0, sp, #0x0 + bl sub_020C3F70 + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, r5, #0x0 + blx sub_020C400C + add sp, #0x24 + pop {r4-r5, pc} + nop +_0201CB1C: .word 0x020FFA38 + + thumb_func_start sub_0201CB20 +sub_0201CB20: ; 0x0201CB20 + push {r4-r7, lr} + sub sp, #0x24 + add r6, r1, #0x0 + add r5, r2, #0x0 + lsl r1, r6, #0x2 + ldr r2, _0201CB78 ; =0x020EDF50 + add r6, #0x5a + add r4, r3, #0x0 + lsl r3, r6, #0x2 + ldr r1, [r2, r1] + ldr r2, [r2, r3] + add r7, r0, #0x0 + bl sub_020C3F38 + lsl r1, r5, #0x2 + ldr r3, _0201CB78 ; =0x020EDF50 + add r5, #0x5a + lsl r2, r5, #0x2 + ldr r1, [r3, r1] + ldr r2, [r3, r2] + add r0, sp, #0x0 + bl sub_020C3F54 + add r0, r7, #0x0 + add r1, sp, #0x0 + add r2, r7, #0x0 + blx sub_020C400C + lsl r1, r4, #0x2 + ldr r3, _0201CB78 ; =0x020EDF50 + add r4, #0x5a + lsl r2, r4, #0x2 + ldr r1, [r3, r1] + ldr r2, [r3, r2] + add r0, sp, #0x0 + bl sub_020C3F70 + add r0, r7, #0x0 + add r1, sp, #0x0 + add r2, r7, #0x0 + blx sub_020C400C + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_0201CB78: .word 0x020EDF50 + + thumb_func_start sub_0201CB7C +sub_0201CB7C: ; 0x0201CB7C + push {r3-r7, lr} + asr r0, r0, #0x4 + add r7, r2, #0x0 + lsl r2, r0, #0x1 + add r6, r1, #0x0 + lsl r0, r2, #0x1 + ldr r1, _0201CBE8 ; =0x020FFA38 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r1, r0] + ldrsh r1, [r1, r2] + add r5, r3, #0x0 + ldr r4, [sp, #0x18] + blx sub_020C50B8 + add r2, r0, #0x0 + asr r1, r6, #0x1f + add r0, r6, #0x0 + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r6, #0x2 + mov r2, #0x0 + lsl r6, r6, #0xa + add r0, r0, r6 + adc r1, r2 + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + asr r3, r0, #0x1f + lsr r1, r0, #0x13 + lsl r3, r3, #0xd + orr r3, r1 + lsl r0, r0, #0xd + add r0, r0, r6 + adc r3, r2 + lsl r1, r3, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + asr r1, r0, #0x1f + asr r3, r7, #0x1f + add r2, r7, #0x0 + str r0, [r4, #0x0] + blx sub_020EBC30 + mov r3, #0x0 + add r2, r6, #0x0 + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + str r1, [r5, #0x0] + pop {r3-r7, pc} + .balign 4 +_0201CBE8: .word 0x020FFA38 + + thumb_func_start sub_0201CBEC +sub_0201CBEC: ; 0x0201CBEC + push {r3, lr} + sub r0, r0, r2 + sub r2, r1, r3 + add r1, r0, #0x0 + mul r1, r0 + add r0, r2, #0x0 + mul r0, r2 + add r0, r1, r0 + lsl r0, r0, #0xc + blx sub_020C504C + asr r0, r0, #0xc + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201CC08 +sub_0201CC08: ; 0x0201CC08 + push {r3, lr} + ldr r0, _0201CC20 ; =0x021C5978 + ldrh r0, [r0, #0x1a] + cmp r0, #0x0 + beq _0201CC16 + bl sub_02020C2C +_0201CC16: + ldr r0, _0201CC20 ; =0x021C5978 + mov r1, #0x0 + strh r1, [r0, #0x18] + strh r1, [r0, #0x1a] + pop {r3, pc} + .balign 4 +_0201CC20: .word 0x021C5978 + + thumb_func_start sub_0201CC24 +sub_0201CC24: ; 0x0201CC24 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _0201CC74 ; =0x021C5978 + ldrh r0, [r0, #0x1a] + cmp r0, #0x0 + beq _0201CC36 + bl sub_02020C2C +_0201CC36: + cmp r4, #0x5 + bhs _0201CC3E + cmp r4, #0x0 + bne _0201CC44 +_0201CC3E: + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_0201CC44: + ldr r0, _0201CC74 ; =0x021C5978 + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0201CC52 + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_0201CC52: + add r0, r4, #0x0 + bl sub_0201CE2C + cmp r0, #0x1 + bne _0201CC70 + mov r2, #0x0 + str r2, [sp, #0x0] + lsl r0, r4, #0x1 + str r0, [sp, #0x4] + mov r0, #0x2 + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_0201CC78 + mov r0, #0x1 +_0201CC70: + add sp, #0x8 + pop {r4, pc} + .balign 4 +_0201CC74: .word 0x021C5978 + + thumb_func_start sub_0201CC78 +sub_0201CC78: ; 0x0201CC78 + push {r4, lr} + ldr r4, _0201CC9C ; =0x021C5978 + strh r0, [r4, #0x18] + ldr r0, _0201CCA0 ; =0x021C4918 + strb r1, [r0, #0x4] + ldr r0, _0201CCA4 ; =0x021C5938 + ldr r1, [sp, #0xc] + str r2, [r0, #0x0] + str r3, [r0, #0x4] + str r1, [r0, #0x8] + ldr r1, [sp, #0x8] + str r1, [r0, #0x54] + ldr r0, _0201CCA8 ; =0x021C5944 + mov r1, #0x9 + bl sub_0201CCAC + pop {r4, pc} + nop +_0201CC9C: .word 0x021C5978 +_0201CCA0: .word 0x021C4918 +_0201CCA4: .word 0x021C5938 +_0201CCA8: .word 0x021C5944 + + thumb_func_start sub_0201CCAC +sub_0201CCAC: ; 0x0201CCAC + mov r3, #0x0 + cmp r1, #0x0 + ble _0201CCBE + add r2, r3, #0x0 +_0201CCB4: + add r3, r3, #0x1 + strh r2, [r0, #0x4] + add r0, #0x8 + cmp r3, r1 + blt _0201CCB4 +_0201CCBE: + bx lr + + thumb_func_start sub_0201CCC0 +sub_0201CCC0: ; 0x0201CCC0 + push {r4-r6, lr} + ldr r0, _0201CD00 ; =0x021C5978 + mov r5, #0x0 + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + bne _0201CCD0 + mov r0, #0x1 + pop {r4-r6, pc} +_0201CCD0: + mov r4, #0x4 + add r6, r4, #0x0 +_0201CCD4: + blx sub_020D3C14 + add r0, r4, #0x0 + blx sub_020D36D8 + add r0, r6, #0x0 + blx sub_020D36C4 + cmp r0, #0x0 + beq _0201CCEA + add r5, r5, #0x1 +_0201CCEA: + cmp r0, #0x0 + beq _0201CCF2 + cmp r5, #0x5 + bls _0201CCD4 +_0201CCF2: + cmp r5, #0x5 + bls _0201CCFA + mov r0, #0x2 + pop {r4-r6, pc} +_0201CCFA: + mov r0, #0x1 + pop {r4-r6, pc} + nop +_0201CD00: .word 0x021C5978 + + thumb_func_start sub_0201CD04 +sub_0201CD04: ; 0x0201CD04 + push {r4, lr} + sub sp, #0x8 + ldr r0, _0201CD34 ; =0x021C5978 + ldrh r0, [r0, #0x1a] + cmp r0, #0x0 + beq _0201CD14 + bl sub_02020C2C +_0201CD14: + bl sub_0201CCC0 + add r4, r0, #0x0 + cmp r4, #0x1 + bne _0201CD2E + mov r0, #0x0 + str r0, [sp, #0x0] + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + str r0, [sp, #0x4] + bl sub_0201CC78 +_0201CD2E: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_0201CD34: .word 0x021C5978 + + thumb_func_start sub_0201CD38 +sub_0201CD38: ; 0x0201CD38 + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, _0201CD8C ; =0x021C5978 + add r6, r1, #0x0 + ldrh r0, [r0, #0x1a] + add r7, r2, #0x0 + mov r5, #0x3 + cmp r0, #0x0 + beq _0201CD4E + bl sub_02020C2C +_0201CD4E: + ldr r0, _0201CD8C ; =0x021C5978 + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0201CD88 + blx sub_020D3A90 + add r5, r0, #0x0 + ldr r0, _0201CD90 ; =0x021C5944 + mov r1, #0x9 + bl sub_0201CD94 + cmp r4, #0x0 + beq _0201CD70 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0201CFD0 +_0201CD70: + ldr r0, _0201CD8C ; =0x021C5978 + ldrh r0, [r0, #0x18] + cmp r0, #0x1 + bne _0201CD86 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl sub_0201CE70 + add r5, r0, #0x0 + b _0201CD88 +_0201CD86: + mov r5, #0x1 +_0201CD88: + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_0201CD8C: .word 0x021C5978 +_0201CD90: .word 0x021C5944 + + thumb_func_start sub_0201CD94 +sub_0201CD94: ; 0x0201CD94 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r7, #0x0 + str r1, [sp, #0x0] + add r0, r1, #0x0 + beq _0201CDCA + add r4, r5, #0x0 + add r6, sp, #0x4 +_0201CDA6: + add r0, sp, #0x4 + add r1, r5, #0x0 + blx sub_020D36F0 + ldrh r0, [r6, #0x0] + add r7, r7, #0x1 + add r5, #0x8 + strh r0, [r4, #0x0] + ldrh r0, [r6, #0x2] + strh r0, [r4, #0x2] + ldrh r0, [r6, #0x4] + strh r0, [r4, #0x4] + ldrh r0, [r6, #0x6] + strh r0, [r4, #0x6] + ldr r0, [sp, #0x0] + add r4, #0x8 + cmp r7, r0 + blo _0201CDA6 +_0201CDCA: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0201CDD0 +sub_0201CDD0: ; 0x0201CDD0 + push {r3, lr} + ldr r0, _0201CDFC ; =0x021C5978 + ldrh r1, [r0, #0x1a] + cmp r1, #0x0 + beq _0201CDF8 + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0201CDF8 + ldr r0, _0201CE00 ; =0x021C5938 + ldr r0, [r0, #0x8] + lsr r0, r0, #0x1 + bl sub_0201CE2C + cmp r0, #0x1 + beq _0201CDF2 + bl sub_02020C2C +_0201CDF2: + ldr r0, _0201CDFC ; =0x021C5978 + mov r1, #0x0 + strh r1, [r0, #0x1a] +_0201CDF8: + pop {r3, pc} + nop +_0201CDFC: .word 0x021C5978 +_0201CE00: .word 0x021C5938 + + thumb_func_start sub_0201CE04 +sub_0201CE04: ; 0x0201CE04 + push {r3, lr} + ldr r0, _0201CE28 ; =0x021C5978 + ldrh r1, [r0, #0x1a] + cmp r1, #0x1 + beq _0201CE26 + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0201CE26 + bl sub_0201CCC0 + cmp r0, #0x1 + beq _0201CE20 + bl sub_02020C2C +_0201CE20: + ldr r0, _0201CE28 ; =0x021C5978 + mov r1, #0x1 + strh r1, [r0, #0x1a] +_0201CE26: + pop {r3, pc} + .balign 4 +_0201CE28: .word 0x021C5978 + + thumb_func_start sub_0201CE2C +sub_0201CE2C: ; 0x0201CE2C + push {r3-r7, lr} + mov r5, #0x0 + lsl r0, r0, #0x10 + ldr r7, _0201CE6C ; =0x021C5944 + add r6, r5, #0x0 + lsr r4, r0, #0x10 +_0201CE38: + add r0, r6, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + mov r3, #0x9 + blx sub_020D3CB8 + mov r0, #0x2 + blx sub_020D36D8 + mov r0, #0x2 + blx sub_020D36C4 + cmp r0, #0x0 + beq _0201CE56 + add r5, r5, #0x1 +_0201CE56: + cmp r0, #0x0 + beq _0201CE5E + cmp r5, #0x5 + ble _0201CE38 +_0201CE5E: + cmp r5, #0x5 + ble _0201CE66 + mov r0, #0x2 + pop {r3-r7, pc} +_0201CE66: + mov r0, #0x1 + pop {r3-r7, pc} + nop +_0201CE6C: .word 0x021C5944 + + thumb_func_start sub_0201CE70 +sub_0201CE70: ; 0x0201CE70 + push {r3, lr} + cmp r0, #0x5 + bhi _0201CE9A + add r3, r0, r0 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r2, #0 + lsl r2, r1, #0 + lsl r6, r2, #0 + lsl r2, r1, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + bl sub_0201CEA0 + pop {r3, pc} +_0201CE94: + .byte 0x00, 0xF0, 0x60, 0xF8, 0x08, 0xBD +_0201CE9A: + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201CEA0 +sub_0201CEA0: ; 0x0201CEA0 + push {r3-r7, lr} + sub sp, #0x8 + ldr r5, _0201CF50 ; =0x021C5938 + str r1, [sp, #0x4] + ldr r1, [r5, #0x8] + str r0, [sp, #0x0] + add r7, r2, #0x0 + mov r4, #0x0 + cmp r1, #0x0 + bls _0201CF46 +_0201CEB4: + ldr r0, [sp, #0x4] + sub r0, r0, r1 + add r0, r4, r0 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + bpl _0201CEC8 + add r0, #0x9 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 +_0201CEC8: + lsl r1, r0, #0x3 + ldr r0, _0201CF54 ; =0x021C5938 + add r1, r0, r1 + ldrh r0, [r1, #0x10] + cmp r0, #0x1 + bne _0201CF3E + ldrh r0, [r1, #0x12] + cmp r0, #0x0 + bne _0201CF3E + ldr r2, [r5, #0x54] + ldr r0, [r5, #0x0] + lsl r2, r2, #0x3 + add r2, r0, r2 + add r0, r2, #0x0 + sub r0, #0x8 + ldrh r3, [r1, #0xc] + ldrh r0, [r0, #0x0] + cmp r0, r3 + blt _0201CEF2 + sub r3, r0, r3 + b _0201CEF4 +_0201CEF2: + sub r3, r3, r0 +_0201CEF4: + sub r6, r2, #0x6 + ldrh r0, [r1, #0xe] + ldrh r6, [r6, #0x0] + cmp r6, r0 + blt _0201CF02 + sub r0, r6, r0 + b _0201CF04 +_0201CF02: + sub r0, r0, r6 +_0201CF04: + cmp r3, r7 + bhs _0201CF0C + cmp r0, r7 + blo _0201CF3E +_0201CF0C: + ldrh r0, [r1, #0xc] + strh r0, [r2, #0x0] + ldrh r0, [r1, #0xe] + strh r0, [r2, #0x2] + ldrh r0, [r1, #0x10] + strh r0, [r2, #0x4] + ldrh r0, [r1, #0x12] + strh r0, [r2, #0x6] + ldr r0, [r5, #0x54] + add r0, r0, #0x1 + str r0, [r5, #0x54] + ldr r1, [r5, #0x4] + cmp r0, r1 + blo _0201CF3E + ldr r2, [sp, #0x0] + cmp r2, #0x1 + bne _0201CF36 + blx sub_020EBE8C + str r1, [r5, #0x54] + b _0201CF3E +_0201CF36: + mov r0, #0x0 + add sp, #0x8 + mvn r0, r0 + pop {r3-r7, pc} +_0201CF3E: + ldr r1, [r5, #0x8] + add r4, r4, #0x1 + cmp r4, r1 + blo _0201CEB4 +_0201CF46: + ldr r0, _0201CF50 ; =0x021C5938 + ldr r0, [r0, #0x54] + add sp, #0x8 + pop {r3-r7, pc} + nop +_0201CF50: .word 0x021C5938 +_0201CF54: .word 0x021C5938 + + thumb_func_start sub_0201CF58 +sub_0201CF58: ; 0x0201CF58 + push {r3-r7, lr} + ldr r5, _0201CFC8 ; =0x021C5938 + str r1, [sp, #0x0] + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + mov r4, #0x0 + cmp r1, #0x0 + bls _0201CFC0 +_0201CF68: + ldr r0, [sp, #0x0] + sub r0, r0, r1 + add r0, r4, r0 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + asr r1, r0, #0x10 + bpl _0201CF7C + add r1, #0x9 + lsl r0, r1, #0x10 + asr r1, r0, #0x10 +_0201CF7C: + ldr r0, [r5, #0x54] + lsl r1, r1, #0x3 + lsl r3, r0, #0x3 + ldr r0, _0201CFCC ; =0x021C5938 + ldr r6, [r5, #0x0] + add r2, r0, r1 + ldrh r0, [r2, #0xc] + add r1, r6, r3 + strh r0, [r6, r3] + ldrh r0, [r2, #0xe] + strh r0, [r1, #0x2] + ldrh r0, [r2, #0x10] + strh r0, [r1, #0x4] + ldrh r0, [r2, #0x12] + strh r0, [r1, #0x6] + ldr r0, [r5, #0x54] + add r0, r0, #0x1 + str r0, [r5, #0x54] + ldr r1, [r5, #0x4] + cmp r0, r1 + blo _0201CFB8 + cmp r7, #0x4 + bne _0201CFB2 + blx sub_020EBE8C + str r1, [r5, #0x54] + b _0201CFB8 +_0201CFB2: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0201CFB8: + ldr r1, [r5, #0x8] + add r4, r4, #0x1 + cmp r4, r1 + blo _0201CF68 +_0201CFC0: + ldr r0, _0201CFC8 ; =0x021C5938 + ldr r0, [r0, #0x54] + pop {r3-r7, pc} + nop +_0201CFC8: .word 0x021C5938 +_0201CFCC: .word 0x021C5938 + + thumb_func_start sub_0201CFD0 +sub_0201CFD0: ; 0x0201CFD0 + push {r4-r7} + mov r2, #0x0 + strh r2, [r0, #0x0] + add r3, r0, #0x0 + add r6, r2, #0x0 +_0201CFDA: + strh r6, [r3, #0x8] + strh r6, [r3, #0x6] + strh r6, [r3, #0x2] + strh r6, [r3, #0x4] + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, #0x8 + blt _0201CFDA + ldr r2, _0201D038 ; =0x021C5938 + ldr r3, [r2, #0x8] + cmp r3, #0x0 + bls _0201D034 + ldr r4, _0201D03C ; =0x021C5938 +_0201CFF4: + sub r3, r1, r3 + add r3, r6, r3 + add r3, r3, #0x1 + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + bpl _0201D006 + add r3, #0x9 + lsl r3, r3, #0x10 + asr r3, r3, #0x10 +_0201D006: + lsl r3, r3, #0x3 + add r5, r4, r3 + ldrh r3, [r5, #0x12] + cmp r3, #0x0 + bne _0201D02C + ldrh r3, [r0, #0x0] + ldrh r7, [r5, #0xc] + lsl r3, r3, #0x3 + add r3, r0, r3 + strh r7, [r3, #0x2] + ldrh r7, [r5, #0xe] + strh r7, [r3, #0x4] + ldrh r7, [r5, #0x10] + strh r7, [r3, #0x6] + ldrh r5, [r5, #0x12] + strh r5, [r3, #0x8] + ldrh r3, [r0, #0x0] + add r3, r3, #0x1 + strh r3, [r0, #0x0] +_0201D02C: + ldr r3, [r2, #0x8] + add r6, r6, #0x1 + cmp r6, r3 + blo _0201CFF4 +_0201D034: + pop {r4-r7} + bx lr + .balign 4 +_0201D038: .word 0x021C5938 +_0201D03C: .word 0x021C5938 + + thumb_func_start sub_0201D040 +sub_0201D040: ; 0x0201D040 + ldr r1, _0201D054 ; =0x04001000 + ldr r2, [r1, #0x0] + ldr r1, _0201D058 ; =0x00300010 + lsl r3, r1, #0x16 + ldr r3, [r3, #0x0] + and r2, r1 + and r1, r3 + ldr r3, _0201D05C ; =sub_0201D060 + bx r3 + nop +_0201D054: .word 0x04001000 +_0201D058: .word 0x00300010 +_0201D05C: .word sub_0201D060 + 1 + + thumb_func_start sub_0201D060 +sub_0201D060: ; 0x0201D060 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0201D120 ; =0x021C5994 + str r1, [sp, #0x0] + ldr r0, [r0, #0x0] + str r2, [sp, #0x4] + cmp r0, #0x0 + bne _0201D11A + ldr r0, [r5, #0xc] + mov r1, #0x3c + bl sub_02016998 + add r1, r0, #0x0 + ldr r0, _0201D120 ; =0x021C5994 + mov r2, #0x3c + str r1, [r0, #0x0] + mov r0, #0x0 + blx sub_020CE1FC + ldr r1, _0201D120 ; =0x021C5994 + ldr r2, [r5, #0x0] + ldr r0, [r1, #0x0] + str r2, [r0, #0x4] + ldr r1, [r1, #0x0] + ldr r0, [r5, #0xc] + ldr r2, [r1, #0x4] + mov r1, #0x54 + mul r1, r2 + bl sub_02016998 + ldr r7, _0201D120 ; =0x021C5994 + mov r6, #0x0 + ldr r1, [r7, #0x0] + str r0, [r1, #0x0] + ldr r0, [r5, #0x0] + cmp r0, #0x0 + ble _0201D0C2 + add r4, r6, #0x0 +_0201D0AE: + ldr r0, [r7, #0x0] + ldr r0, [r0, #0x0] + add r0, r0, r4 + bl sub_0201D690 + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + add r4, #0x54 + cmp r6, r0 + blt _0201D0AE +_0201D0C2: + ldr r0, [sp, #0x0] + bl sub_0201DED0 + ldr r1, _0201D120 ; =0x021C5994 + ldr r1, [r1, #0x0] + str r0, [r1, #0x2c] + ldr r0, [sp, #0x4] + bl sub_0201DED0 + ldr r2, _0201D120 ; =0x021C5994 + mov r3, #0x1 + ldr r1, [r2, #0x0] + lsl r3, r3, #0x1a + str r0, [r1, #0x30] + ldr r0, [r3, #0x0] + ldr r1, _0201D124 ; =0xFFCFFFEF + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + and r4, r1 + orr r0, r4 + str r0, [r3, #0x0] + ldr r3, _0201D128 ; =0x04001000 + ldr r0, [r3, #0x0] + and r1, r0 + ldr r0, [sp, #0x4] + orr r0, r1 + str r0, [r3, #0x0] + ldr r1, [r2, #0x0] + ldr r0, [r5, #0x4] + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + ldr r1, _0201D120 ; =0x021C5994 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + ldr r0, [r5, #0x8] + ldr r1, [r1, #0x30] + bl sub_0201DF2C + add r1, r0, #0x0 + ldr r2, [r5, #0xc] + add r0, r4, #0x0 + bl sub_0201DC58 +_0201D11A: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0201D120: .word 0x021C5994 +_0201D124: .word 0xFFCFFFEF +_0201D128: .word 0x04001000 + + thumb_func_start sub_0201D12C +sub_0201D12C: ; 0x0201D12C + push {r3, lr} + ldr r0, _0201D164 ; =0x021C5994 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201D162 + ldr r0, [r0, #0x34] + bl sub_0201DCC0 + ldr r0, _0201D164 ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_0201DCC0 + bl sub_0201D374 + ldr r0, _0201D164 ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201D164 ; =0x021C5994 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201D164 ; =0x021C5994 + mov r1, #0x0 + str r1, [r0, #0x0] +_0201D162: + pop {r3, pc} + .balign 4 +_0201D164: .word 0x021C5994 + + thumb_func_start sub_0201D168 +sub_0201D168: ; 0x0201D168 + push {r3, lr} + ldr r0, _0201D190 ; =0x021C5994 + mov r2, #0x0 + ldr r1, [r0, #0x0] + str r2, [r1, #0xc] + ldr r1, [r0, #0x0] + str r2, [r1, #0x10] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bl sub_0201DD00 + ldr r0, _0201D190 ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_0201DD00 + bl sub_0201DAE8 + pop {r3, pc} + nop +_0201D190: .word 0x021C5994 + + thumb_func_start sub_0201D194 +sub_0201D194: ; 0x0201D194 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r3, r1, #0x0 + cmp r2, #0x1 + add r0, sp, #0x4 + bne _0201D1CA + str r0, [sp, #0x0] + ldr r0, _0201D1F4 ; =0x021C5994 + add r2, r3, #0x0 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x1c] + add r3, sp, #0x8 + bl sub_0201DFF0 + ldr r3, [sp, #0x4] + cmp r3, #0x0 + ble _0201D1F0 + mov r2, #0x0 + str r2, [sp, #0x0] + ldr r1, [sp, #0x8] + mov r0, #0x1 + bl sub_0201D948 + add sp, #0xc + pop {r3-r4, pc} +_0201D1CA: + str r0, [sp, #0x0] + ldr r0, _0201D1F4 ; =0x021C5994 + add r2, r3, #0x0 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x20] + add r3, sp, #0x8 + bl sub_0201DFF0 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _0201D1F0 + str r0, [sp, #0x0] + mov r1, #0x0 + ldr r2, [sp, #0x8] + mov r0, #0x2 + add r3, r1, #0x0 + bl sub_0201D948 +_0201D1F0: + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_0201D1F4: .word 0x021C5994 + + thumb_func_start sub_0201D1F8 +sub_0201D1F8: ; 0x0201D1F8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_0201D2AC + cmp r0, #0x1 + bne _0201D20A + bl sub_02020C2C +_0201D20A: + bl sub_0201DAAC + add r4, r0, #0x0 + bne _0201D21A + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201D21A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201D6B4 + cmp r0, #0x0 + bne _0201D22A + mov r0, #0x0 + pop {r3-r5, pc} +_0201D22A: + add r0, r4, #0x0 + bl sub_0201D724 + cmp r0, #0x0 + bne _0201D23E + ldr r0, [r4, #0xc] + bl sub_0201D324 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D23E: + ldr r0, _0201D24C ; =0x021C5994 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x8] + add r0, r0, #0x1 + str r0, [r1, #0x8] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0201D24C: .word 0x021C5994 + + thumb_func_start sub_0201D250 +sub_0201D250: ; 0x0201D250 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_0201D2AC + cmp r0, #0x1 + bne _0201D262 + bl sub_02020C2C +_0201D262: + bl sub_0201DAAC + add r4, r0, #0x0 + bne _0201D272 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201D272: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201D6B4 + cmp r0, #0x0 + bne _0201D282 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D282: + mov r0, #0x1 + str r0, [r4, #0x40] + add r0, r4, #0x0 + bl sub_0201D724 + cmp r0, #0x0 + bne _0201D29A + ldr r0, [r4, #0xc] + bl sub_0201D324 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D29A: + ldr r0, _0201D2A8 ; =0x021C5994 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x8] + add r0, r0, #0x1 + str r0, [r1, #0x8] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0201D2A8: .word 0x021C5994 + + thumb_func_start sub_0201D2AC +sub_0201D2AC: ; 0x0201D2AC + push {r3-r4} + ldr r1, _0201D2D8 ; =0x021C5994 + mov r2, #0x0 + ldr r4, [r1, #0x0] + ldr r1, [r4, #0x4] + cmp r1, #0x0 + ble _0201D2D2 + ldr r3, [r4, #0x0] +_0201D2BC: + ldr r1, [r3, #0xc] + cmp r0, r1 + bne _0201D2C8 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0201D2C8: + ldr r1, [r4, #0x4] + add r2, r2, #0x1 + add r3, #0x54 + cmp r2, r1 + blt _0201D2BC +_0201D2D2: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 +_0201D2D8: .word 0x021C5994 + + thumb_func_start sub_0201D2DC +sub_0201D2DC: ; 0x0201D2DC + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + bne _0201D2E8 + bl sub_02020C2C +_0201D2E8: + add r0, r4, #0x0 + bl sub_0201D7F8 + add r4, r0, #0x0 + bne _0201D2F6 + bl sub_02020C2C +_0201D2F6: + str r5, [r4, #0x0] + ldr r1, [r4, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201D30C + ldr r1, [r4, #0x34] + ldr r2, [r5, #0x14] + ldr r3, [r5, #0x10] + mov r0, #0x13 + bl sub_0201C2C8 +_0201D30C: + ldr r1, [r4, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201D320 + ldr r1, [r4, #0x38] + ldr r2, [r5, #0x14] + ldr r3, [r5, #0x10] + mov r0, #0x23 + bl sub_0201C2C8 +_0201D320: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201D324 +sub_0201D324: ; 0x0201D324 + push {r3-r7, lr} + add r6, r0, #0x0 + mov r5, #0x1 + mov r7, #0x0 +_0201D32C: + add r0, r6, #0x0 + bl sub_0201D7F8 + add r4, r0, #0x0 + bne _0201D33A + bl sub_02020C2C +_0201D33A: + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x4 + bne _0201D34E + add r0, r4, #0x0 + add r0, #0x10 + bl sub_0201D4F0 + b _0201D350 +_0201D34E: + add r5, r7, #0x0 +_0201D350: + cmp r5, #0x0 + bne _0201D32C + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201D36E + add r0, r4, #0x0 + bl sub_0201D7E0 + ldr r0, _0201D370 ; =0x021C5994 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x8] + sub r0, r0, #0x1 + str r0, [r1, #0x8] +_0201D36E: + pop {r3-r7, pc} + .balign 4 +_0201D370: .word 0x021C5994 + + thumb_func_start sub_0201D374 +sub_0201D374: ; 0x0201D374 + push {r4-r6, lr} + ldr r6, _0201D3AC ; =0x021C5994 + mov r4, #0x0 + ldr r1, [r6, #0x0] + ldr r0, [r1, #0x4] + cmp r0, #0x0 + ble _0201D3AA + add r5, r4, #0x0 +_0201D384: + ldr r1, [r1, #0x0] + add r0, r1, r5 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201D39E + add r0, r1, r5 + bl sub_0201D7E0 + ldr r1, [r6, #0x0] + ldr r0, [r1, #0x8] + sub r0, r0, #0x1 + str r0, [r1, #0x8] +_0201D39E: + ldr r1, [r6, #0x0] + add r4, r4, #0x1 + ldr r0, [r1, #0x4] + add r5, #0x54 + cmp r4, r0 + blt _0201D384 +_0201D3AA: + pop {r4-r6, pc} + .balign 4 +_0201D3AC: .word 0x021C5994 + + thumb_func_start sub_0201D3B0 +sub_0201D3B0: ; 0x0201D3B0 + push {r4, lr} + bl sub_0201D7F8 + add r4, r0, #0x0 + bne _0201D3BE + bl sub_02020C2C +_0201D3BE: + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201D3CC + mov r0, #0x0 + pop {r4, pc} +_0201D3CC: + add r4, #0x10 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201D3D4 +sub_0201D3D4: ; 0x0201D3D4 + push {r3-r5, lr} + sub sp, #0x18 + add r5, r1, #0x0 + bl sub_0201D7F8 + add r4, r0, #0x0 + bne _0201D3E6 + bl sub_02020C2C +_0201D3E6: + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201D3F6 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D3F6: + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r0, [r4, #0x4] + add r1, sp, #0x14 + add r2, sp, #0x10 + add r3, r5, #0x0 + bl sub_0201D86C + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bne _0201D41A + add sp, #0x18 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D41A: + add r0, r4, #0x0 + mov r1, #0x3 + add r0, #0x3c + strb r1, [r0, #0x0] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + add r0, r4, #0x0 + bl sub_0201D918 + mov r0, #0x1 + str r0, [r4, #0x48] + ldr r0, [sp, #0xc] + str r0, [r4, #0x4c] + ldr r0, [sp, #0x8] + str r0, [r4, #0x50] + add r0, r4, #0x0 + bl sub_0201DA38 + ldr r0, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [r4, #0x4] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + bl sub_0201D948 + add r4, #0x10 + add r0, r4, #0x0 + add sp, #0x18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201D458 +sub_0201D458: ; 0x0201D458 + push {r3-r5, lr} + sub sp, #0x18 + bl sub_0201D6D8 + add r4, r0, #0x0 + bne _0201D468 + bl sub_02020C2C +_0201D468: + bl sub_0201DAAC + add r5, r0, #0x0 + bne _0201D474 + bl sub_02020C2C +_0201D474: + add r0, r4, #0x0 + add r0, #0x3c + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _0201D484 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r5, pc} +_0201D484: + add r3, r5, #0x0 + mov r2, #0xa +_0201D488: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0201D488 + ldr r0, [r4, #0x0] + mov r1, #0x4 + str r0, [r3, #0x0] + add r0, r5, #0x0 + add r0, #0x3c + strb r1, [r0, #0x0] + ldr r0, [r5, #0x4] + mov r1, #0x1 + tst r1, r0 + beq _0201D4A8 + ldr r3, [r5, #0x4c] + b _0201D4AA +_0201D4A8: + ldr r3, [r5, #0x50] +_0201D4AA: + add r1, sp, #0xc + str r1, [sp, #0x0] + add r1, sp, #0x8 + str r1, [sp, #0x4] + add r1, sp, #0x14 + add r2, sp, #0x10 + bl sub_0201D86C + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0201D918 + mov r0, #0x1 + str r0, [r5, #0x48] + ldr r0, [sp, #0xc] + str r0, [r5, #0x4c] + ldr r0, [sp, #0x8] + str r0, [r5, #0x50] + add r0, r5, #0x0 + bl sub_0201DA38 + ldr r0, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + bl sub_0201D948 + add r5, #0x10 + add r0, r5, #0x0 + add sp, #0x18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201D4F0 +sub_0201D4F0: ; 0x0201D4F0 + push {r4-r6, lr} + ldr r2, _0201D564 ; =0x021C5994 + mov r1, #0x0 + ldr r5, [r2, #0x0] + ldr r4, [r5, #0x4] + cmp r4, #0x0 + ble _0201D52E + ldr r2, [r5, #0x0] + add r3, r1, #0x0 +_0201D502: + add r6, r2, #0x0 + add r6, #0x3c + ldrb r6, [r6, #0x0] + cmp r6, #0x3 + beq _0201D518 + ldr r6, [r5, #0x0] + add r6, r6, r3 + add r6, #0x3c + ldrb r6, [r6, #0x0] + cmp r6, #0x4 + bne _0201D522 +_0201D518: + ldr r6, [r5, #0x0] + add r6, r6, r3 + add r6, #0x10 + cmp r6, r0 + beq _0201D52E +_0201D522: + ldr r6, [r5, #0x4] + add r1, r1, #0x1 + add r2, #0x54 + add r3, #0x54 + cmp r1, r6 + blt _0201D502 +_0201D52E: + cmp r1, r4 + bge _0201D562 + mov r0, #0x54 + add r4, r1, #0x0 + mul r4, r0 + ldr r0, [r5, #0x0] + add r0, r0, r4 + bl sub_0201DE4C + ldr r0, _0201D564 ; =0x021C5994 + ldr r1, [r0, #0x0] + ldr r2, [r1, #0x0] + add r2, #0x3c + ldrb r1, [r2, r4] + cmp r1, #0x3 + bne _0201D554 + mov r0, #0x2 + strb r0, [r2, r4] + pop {r4-r6, pc} +_0201D554: + mov r1, #0x0 + strb r1, [r2, r4] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + add r0, r0, r4 + bl sub_0201D690 +_0201D562: + pop {r4-r6, pc} + .balign 4 +_0201D564: .word 0x021C5994 + + thumb_func_start sub_0201D568 +sub_0201D568: ; 0x0201D568 + push {r3-r7, lr} + sub sp, #0x18 + add r6, r0, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + cmp r1, #0x0 + bne _0201D5A0 + add r1, r5, #0x0 + add r2, sp, #0x14 + add r3, sp, #0x10 + bl sub_0201DF44 + add r7, r0, #0x0 + beq _0201D5E0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0201DF94 + str r5, [r4, #0x8] + str r6, [r4, #0x0] + cmp r5, #0x1 + bne _0201D59A + ldr r0, [sp, #0x14] + str r0, [r4, #0x4] + b _0201D5E0 +_0201D59A: + ldr r0, [sp, #0x10] + str r0, [r4, #0x4] + b _0201D5E0 +_0201D5A0: + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, sp, #0x14 + add r2, sp, #0x10 + add r3, r6, #0x0 + bl sub_0201D86C + add r7, r0, #0x0 + beq _0201D5E0 + ldr r0, [sp, #0x8] + str r0, [sp, #0x0] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + add r0, r5, #0x0 + bl sub_0201D948 + str r5, [r4, #0x8] + cmp r5, #0x1 + bne _0201D5D8 + ldr r0, [sp, #0xc] + str r0, [r4, #0x0] + ldr r0, [sp, #0x14] + str r0, [r4, #0x4] + b _0201D5E0 +_0201D5D8: + ldr r0, [sp, #0x8] + str r0, [r4, #0x0] + ldr r0, [sp, #0x10] + str r0, [r4, #0x4] +_0201D5E0: + add r0, r7, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201D5E8 +sub_0201D5E8: ; 0x0201D5E8 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x8] + mov r0, #0x1 + tst r0, r1 + beq _0201D61E + ldr r1, _0201D654 ; =0x021C5994 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + add r5, r0, #0x0 + ldr r0, _0201D654 ; =0x021C5994 + ldr r1, [r4, #0x4] + ldr r2, [r0, #0x0] + ldr r0, [r2, #0x1c] + sub r0, r1, r0 + ldr r1, [r2, #0x2c] + bl sub_0201DF2C + ldr r2, _0201D654 ; =0x021C5994 + add r1, r5, #0x0 + ldr r2, [r2, #0x0] + ldr r2, [r2, #0x34] + bl sub_0201DDFC +_0201D61E: + ldr r1, [r4, #0x8] + mov r0, #0x2 + tst r0, r1 + beq _0201D650 + ldr r1, _0201D654 ; =0x021C5994 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x30] + bl sub_0201DF2C + add r5, r0, #0x0 + ldr r0, _0201D654 ; =0x021C5994 + ldr r1, [r4, #0x4] + ldr r2, [r0, #0x0] + ldr r0, [r2, #0x20] + sub r0, r1, r0 + ldr r1, [r2, #0x30] + bl sub_0201DF2C + ldr r2, _0201D654 ; =0x021C5994 + add r1, r5, #0x0 + ldr r2, [r2, #0x0] + ldr r2, [r2, #0x38] + bl sub_0201DDFC +_0201D650: + pop {r3-r5, pc} + nop +_0201D654: .word 0x021C5994 + + thumb_func_start sub_0201D658 +sub_0201D658: ; 0x0201D658 + push {r3, lr} + ldr r0, _0201D670 ; =0x021C5994 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201D666 + bl sub_02020C2C +_0201D666: + ldr r1, _0201D670 ; =0x021C5994 + mov r2, #0x0 + ldr r0, [r1, #0x0] + str r2, [r1, #0x0] + pop {r3, pc} + .balign 4 +_0201D670: .word 0x021C5994 + + thumb_func_start sub_0201D674 +sub_0201D674: ; 0x0201D674 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0201D68C ; =0x021C5994 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201D684 + bl sub_02020C2C +_0201D684: + ldr r0, _0201D68C ; =0x021C5994 + str r4, [r0, #0x0] + pop {r4, pc} + nop +_0201D68C: .word 0x021C5994 + + thumb_func_start sub_0201D690 +sub_0201D690: ; 0x0201D690 + mov r2, #0x0 + str r2, [r0, #0x0] + str r2, [r0, #0x4] + strb r2, [r0, #0x8] + sub r1, r2, #0x1 + str r1, [r0, #0xc] + str r2, [r0, #0x34] + add r1, r0, #0x0 + str r2, [r0, #0x38] + add r1, #0x3c + strb r2, [r1, #0x0] + str r2, [r0, #0x40] + ldr r3, _0201D6B0 ; =sub_020B1A24 + add r0, #0x10 + bx r3 + nop +_0201D6B0: .word sub_020B1A24 + + thumb_func_start sub_0201D6B4 +sub_0201D6B4: ; 0x0201D6B4 + ldr r2, [r0, #0x0] + str r2, [r1, #0x0] + ldr r2, [r0, #0x8] + str r2, [r1, #0xc] + ldr r2, [r0, #0x4] + str r2, [r1, #0x4] + ldr r2, [r1, #0x0] + ldr r2, [r2, #0xc] + lsr r2, r2, #0x8 + strb r2, [r1, #0x8] + ldr r0, [r0, #0xc] + str r0, [r1, #0x44] + mov r0, #0x0 + str r0, [r1, #0x48] + str r0, [r1, #0x4c] + str r0, [r1, #0x50] + mov r0, #0x1 + bx lr + + thumb_func_start sub_0201D6D8 +sub_0201D6D8: ; 0x0201D6D8 + push {r3-r6} + ldr r2, _0201D720 ; =0x021C5994 + mov r1, #0x0 + ldr r5, [r2, #0x0] + ldr r4, [r5, #0x4] + cmp r4, #0x0 + ble _0201D70A + ldr r2, [r5, #0x0] + add r3, r1, #0x0 +_0201D6EA: + add r6, r2, #0x0 + add r6, #0x3c + ldrb r6, [r6, #0x0] + cmp r6, #0x0 + beq _0201D6FE + ldr r6, [r5, #0x0] + add r6, r6, r3 + add r6, #0x10 + cmp r6, r0 + beq _0201D70A +_0201D6FE: + ldr r6, [r5, #0x4] + add r1, r1, #0x1 + add r2, #0x54 + add r3, #0x54 + cmp r1, r6 + blt _0201D6EA +_0201D70A: + cmp r1, r4 + blt _0201D714 + mov r0, #0x0 + pop {r3-r6} + bx lr +_0201D714: + mov r0, #0x54 + ldr r2, [r5, #0x0] + mul r0, r1 + add r0, r2, r0 + pop {r3-r6} + bx lr + .balign 4 +_0201D720: .word 0x021C5994 + + thumb_func_start sub_0201D724 +sub_0201D724: ; 0x0201D724 + push {r3, lr} + ldrb r1, [r0, #0x8] + mov r2, #0x1 + cmp r1, #0x0 + beq _0201D736 + mov r1, #0x2 + add r0, #0x3c + strb r1, [r0, #0x0] + b _0201D750 +_0201D736: + add r1, r0, #0x0 + add r1, #0x3c + strb r2, [r1, #0x0] + ldr r1, [r0, #0x44] + cmp r1, #0x0 + bne _0201D74A + bl sub_0201D754 + add r2, r0, #0x0 + b _0201D750 +_0201D74A: + bl sub_0201D788 + add r2, r0, #0x0 +_0201D750: + add r0, r2, #0x0 + pop {r3, pc} + + thumb_func_start sub_0201D754 +sub_0201D754: ; 0x0201D754 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + ldr r0, [r0, #0x10] + add r2, sp, #0x4 + add r3, sp, #0x0 + bl sub_0201DF44 + add r4, r0, #0x0 + beq _0201D780 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0201D858 + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + ldr r0, [r0, #0x10] + bl sub_0201DF94 +_0201D780: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201D788 +sub_0201D788: ; 0x0201D788 + push {r4, lr} + sub sp, #0x18 + add r4, r0, #0x0 + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r3, [r4, #0x0] + ldr r0, [r4, #0x4] + ldr r3, [r3, #0x10] + add r1, sp, #0x14 + add r2, sp, #0x10 + bl sub_0201D86C + cmp r0, #0x0 + bne _0201D7AE + add sp, #0x18 + mov r0, #0x0 + pop {r4, pc} +_0201D7AE: + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + add r0, r4, #0x0 + bl sub_0201D918 + mov r0, #0x1 + str r0, [r4, #0x48] + ldr r0, [sp, #0xc] + str r0, [r4, #0x4c] + ldr r0, [sp, #0x8] + str r0, [r4, #0x50] + add r0, r4, #0x0 + bl sub_0201D9B0 + ldr r0, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [r4, #0x4] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + bl sub_0201D948 + mov r0, #0x1 + add sp, #0x18 + pop {r4, pc} + + thumb_func_start sub_0201D7E0 +sub_0201D7E0: ; 0x0201D7E0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x48] + cmp r1, #0x0 + beq _0201D7EE + bl sub_0201DE4C +_0201D7EE: + add r0, r4, #0x0 + bl sub_0201D690 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201D7F8 +sub_0201D7F8: ; 0x0201D7F8 + push {r4-r5} + ldr r2, _0201D82C ; =0x021C5994 + mov r1, #0x0 + ldr r5, [r2, #0x0] + ldr r2, [r5, #0x4] + cmp r2, #0x0 + ble _0201D824 + ldr r2, [r5, #0x0] + add r4, r2, #0x0 +_0201D80A: + ldr r3, [r4, #0xc] + cmp r0, r3 + bne _0201D81A + mov r0, #0x54 + mul r0, r1 + add r0, r2, r0 + pop {r4-r5} + bx lr +_0201D81A: + ldr r3, [r5, #0x4] + add r1, r1, #0x1 + add r4, #0x54 + cmp r1, r3 + blt _0201D80A +_0201D824: + mov r0, #0x0 + pop {r4-r5} + bx lr + nop +_0201D82C: .word 0x021C5994 + + thumb_func_start sub_0201D830 +sub_0201D830: ; 0x0201D830 + cmp r1, #0x1 + bne _0201D83C + mov r1, #0x1 + lsl r1, r1, #0x1a + ldr r2, [r1, #0x0] + b _0201D840 +_0201D83C: + ldr r1, _0201D850 ; =0x04001000 + ldr r2, [r1, #0x0] +_0201D840: + ldr r1, _0201D854 ; =0x00300010 + and r2, r1 + ldr r1, [r0, #0x0] + str r2, [r1, #0x8] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x8] + bx lr + nop +_0201D850: .word 0x04001000 +_0201D854: .word 0x00300010 + + thumb_func_start sub_0201D858 +sub_0201D858: ; 0x0201D858 + push {r3, lr} + str r1, [r0, #0x34] + str r2, [r0, #0x38] + ldrb r1, [r0, #0x8] + cmp r1, #0x0 + bne _0201D868 + bl sub_0201D9B0 +_0201D868: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201D86C +sub_0201D86C: ; 0x0201D86C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x1c] + add r6, r2, #0x0 + str r0, [sp, #0x1c] + mov r2, #0x1 + add r0, r5, #0x0 + add r4, r1, #0x0 + str r3, [sp, #0x0] + ldr r7, [sp, #0x18] + tst r0, r2 + beq _0201D8C4 + ldr r1, _0201D914 ; =0x021C5994 + add r0, r3, #0x0 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x2c] + bl sub_0201DF10 + ldr r1, _0201D914 ; =0x021C5994 + str r0, [r7, #0x0] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + ldr r1, _0201D914 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x34] + bl sub_0201DD74 + mov r1, #0x0 + mvn r1, r1 + str r0, [r4, #0x0] + cmp r0, r1 + bne _0201D8B8 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0201D8B8: + ldr r1, _0201D914 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x2c] + bl sub_0201DF3C + str r0, [r4, #0x0] +_0201D8C4: + mov r0, #0x2 + tst r0, r5 + beq _0201D90E + ldr r1, _0201D914 ; =0x021C5994 + ldr r0, [sp, #0x0] + ldr r1, [r1, #0x0] + mov r2, #0x1 + ldr r1, [r1, #0x30] + bl sub_0201DF10 + ldr r1, [sp, #0x1c] + str r0, [r1, #0x0] + ldr r1, _0201D914 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x30] + bl sub_0201DF2C + ldr r1, _0201D914 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x38] + bl sub_0201DD74 + mov r1, #0x0 + mvn r1, r1 + str r0, [r6, #0x0] + cmp r0, r1 + bne _0201D902 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0201D902: + ldr r1, _0201D914 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x30] + bl sub_0201DF3C + str r0, [r6, #0x0] +_0201D90E: + mov r0, #0x1 + pop {r3-r7, pc} + nop +_0201D914: .word 0x021C5994 + + thumb_func_start sub_0201D918 +sub_0201D918: ; 0x0201D918 + push {r3-r4} + ldr r4, [r0, #0x4] + mov r3, #0x1 + tst r3, r4 + beq _0201D92C + ldr r3, _0201D944 ; =0x021C5994 + ldr r3, [r3, #0x0] + ldr r3, [r3, #0x1c] + add r1, r1, r3 + str r1, [r0, #0x34] +_0201D92C: + ldr r3, [r0, #0x4] + mov r1, #0x2 + tst r1, r3 + beq _0201D93E + ldr r1, _0201D944 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x20] + add r1, r2, r1 + str r1, [r0, #0x38] +_0201D93E: + pop {r3-r4} + bx lr + nop +_0201D944: .word 0x021C5994 + + thumb_func_start sub_0201D948 +sub_0201D948: ; 0x0201D948 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x1 + add r4, r1, #0x0 + add r6, r2, #0x0 + tst r0, r5 + beq _0201D97C + ldr r1, _0201D9AC ; =0x021C5994 + add r0, r3, #0x0 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + ldr r1, _0201D9AC ; =0x021C5994 + add r7, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + ldr r2, _0201D9AC ; =0x021C5994 + add r1, r7, #0x0 + ldr r2, [r2, #0x0] + ldr r2, [r2, #0x34] + bl sub_0201DD18 +_0201D97C: + mov r0, #0x2 + tst r0, r5 + beq _0201D9A8 + ldr r1, _0201D9AC ; =0x021C5994 + ldr r0, [sp, #0x18] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x30] + bl sub_0201DF2C + ldr r1, _0201D9AC ; =0x021C5994 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r6, #0x0 + ldr r1, [r1, #0x30] + bl sub_0201DF2C + ldr r2, _0201D9AC ; =0x021C5994 + add r1, r4, #0x0 + ldr r2, [r2, #0x0] + ldr r2, [r2, #0x38] + bl sub_0201DD18 +_0201D9A8: + pop {r3-r7, pc} + nop +_0201D9AC: .word 0x021C5994 + + thumb_func_start sub_0201D9B0 +sub_0201D9B0: ; 0x0201D9B0 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x10 + blx sub_020B1A24 + ldr r1, [r4, #0x4] + cmp r1, #0x3 + beq _0201D9C8 + add r0, r4, #0x0 + bl sub_0201D9DC + pop {r4, pc} +_0201D9C8: + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0201D9DC + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0201D9DC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201D9DC +sub_0201D9DC: ; 0x0201D9DC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x40] + add r4, r1, #0x0 + cmp r2, #0x0 + beq _0201D9EE + bl sub_0201D830 + b _0201D9F0 +_0201D9EE: + add r0, r4, #0x0 +_0201D9F0: + cmp r4, #0x1 + bne _0201D9FE + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r5, #0x34] + ldr r2, [r2, #0x0] + b _0201DA04 +_0201D9FE: + ldr r2, _0201DA34 ; =0x04001000 + ldr r1, [r5, #0x38] + ldr r2, [r2, #0x0] +_0201DA04: + cmp r0, #0x0 + ldr r0, [r5, #0x0] + bne _0201DA16 + add r5, #0x10 + add r2, r4, #0x0 + add r3, r5, #0x0 + blx sub_020B1528 + b _0201DA20 +_0201DA16: + add r5, #0x10 + add r2, r4, #0x0 + add r3, r5, #0x0 + blx sub_020B1768 +_0201DA20: + cmp r4, #0x1 + bne _0201DA2C + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r0, [r0, #0x0] + pop {r3-r5, pc} +_0201DA2C: + ldr r0, _0201DA34 ; =0x04001000 + ldr r0, [r0, #0x0] + pop {r3-r5, pc} + nop +_0201DA34: .word 0x04001000 + + thumb_func_start sub_0201DA38 +sub_0201DA38: ; 0x0201DA38 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x10 + blx sub_020B1A24 + ldr r1, [r4, #0x4] + cmp r1, #0x3 + beq _0201DA50 + add r0, r4, #0x0 + bl sub_0201DA64 + pop {r4, pc} +_0201DA50: + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0201DA64 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0201DA64 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201DA64 +sub_0201DA64: ; 0x0201DA64 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x40] + add r4, r1, #0x0 + cmp r2, #0x0 + beq _0201DA74 + bl sub_0201D830 +_0201DA74: + cmp r4, #0x1 + bne _0201DA82 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r5, #0x34] + ldr r0, [r0, #0x0] + b _0201DA88 +_0201DA82: + ldr r0, _0201DAA8 ; =0x04001000 + ldr r1, [r5, #0x38] + ldr r0, [r0, #0x0] +_0201DA88: + ldr r0, [r5, #0x0] + add r5, #0x10 + add r2, r4, #0x0 + add r3, r5, #0x0 + blx sub_020B1340 + cmp r4, #0x1 + bne _0201DAA0 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r0, [r0, #0x0] + pop {r3-r5, pc} +_0201DAA0: + ldr r0, _0201DAA8 ; =0x04001000 + ldr r0, [r0, #0x0] + pop {r3-r5, pc} + nop +_0201DAA8: .word 0x04001000 + + thumb_func_start sub_0201DAAC +sub_0201DAAC: ; 0x0201DAAC + push {r3-r4} + ldr r1, _0201DAE4 ; =0x021C5994 + mov r0, #0x0 + ldr r4, [r1, #0x0] + ldr r1, [r4, #0x4] + cmp r1, #0x0 + ble _0201DADC + ldr r1, [r4, #0x0] + add r3, r1, #0x0 +_0201DABE: + add r2, r3, #0x0 + add r2, #0x3c + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0201DAD2 + mov r2, #0x54 + mul r2, r0 + add r0, r1, r2 + pop {r3-r4} + bx lr +_0201DAD2: + ldr r2, [r4, #0x4] + add r0, r0, #0x1 + add r3, #0x54 + cmp r0, r2 + blt _0201DABE +_0201DADC: + mov r0, #0x0 + pop {r3-r4} + bx lr + nop +_0201DAE4: .word 0x021C5994 + + thumb_func_start sub_0201DAE8 +sub_0201DAE8: ; 0x0201DAE8 + push {r3, lr} + blx sub_020C5DBC + cmp r0, #0x30 + bgt _0201DB18 + bge _0201DB60 + cmp r0, #0x10 + bgt _0201DB12 + bge _0201DB54 + cmp r0, #0x3 + bhi _0201DB90 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r4, #0 + lsl r4, r5, #0x1 + lsl r4, r5, #0x1 + lsl r0, r7, #0x1 +_0201DB12: + cmp r0, #0x20 + beq _0201DB3C + b _0201DB90 +_0201DB18: + cmp r0, #0x50 + bgt _0201DB24 + bge _0201DB60 + cmp r0, #0x40 + beq _0201DB3C + b _0201DB90 +_0201DB24: + cmp r0, #0x60 + bgt _0201DB2C + beq _0201DB48 + b _0201DB90 +_0201DB2C: + cmp r0, #0x70 + beq _0201DB6C + b _0201DB90 +_0201DB32: + .byte 0x41, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x61, 0x2D, 0xE0 +_0201DB3C: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xe + str r1, [r0, #0x14] + b _0201DB98 +_0201DB48: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xe + str r1, [r0, #0x14] + b _0201DB98 +_0201DB54: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x10 + str r1, [r0, #0x14] + b _0201DB98 +_0201DB60: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x5 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xe + str r1, [r0, #0x14] + b _0201DB98 +_0201DB6C: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x6 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xe + str r1, [r0, #0x14] + b _0201DB98 +_0201DB78: + .byte 0x2F, 0x48, 0x02, 0x21, 0x00, 0x68, 0x09, 0x04 + .byte 0x41, 0x61, 0x09, 0xE0, 0x2C, 0x48, 0x01, 0x21, 0x00, 0x68, 0x89, 0x04, 0x41, 0x61, 0x03, 0xE0 +_0201DB90: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x14] +_0201DB98: + blx sub_020C5D4C + cmp r0, #0x0 + beq _0201DBAE + cmp r0, #0x8 + beq _0201DBC2 + mov r1, #0x1 + lsl r1, r1, #0x8 + cmp r0, r1 + beq _0201DBB8 + b _0201DBCE +_0201DBAE: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x18] + b _0201DBD6 +_0201DBB8: + ldr r0, _0201DC38 ; =0x021C5994 + lsl r1, r1, #0x6 + ldr r0, [r0, #0x0] + str r1, [r0, #0x18] + b _0201DBD6 +_0201DBC2: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x10 + str r1, [r0, #0x18] + b _0201DBD6 +_0201DBCE: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x18] +_0201DBD6: + ldr r0, _0201DC38 ; =0x021C5994 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x24] + ldr r1, [r1, #0x2c] + bl sub_0201DF3C + ldr r1, _0201DC38 ; =0x021C5994 + ldr r3, [r1, #0x0] + ldr r2, [r3, #0x14] + sub r0, r2, r0 + str r0, [r3, #0x1c] + ldr r1, [r1, #0x0] + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x30] + bl sub_0201DF3C + ldr r1, _0201DC38 ; =0x021C5994 + ldr r3, [r1, #0x0] + ldr r2, [r3, #0x18] + sub r0, r2, r0 + str r0, [r3, #0x20] + ldr r1, [r1, #0x0] + mov r2, #0x0 + ldr r0, [r1, #0x1c] + cmp r0, #0x0 + blt _0201DC12 + ldr r0, [r1, #0x20] + cmp r0, #0x0 + blt _0201DC12 + mov r2, #0x1 +_0201DC12: + cmp r2, #0x0 + bne _0201DC1A + bl sub_02020C2C +_0201DC1A: + ldr r0, _0201DC38 ; =0x021C5994 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x1c] + cmp r0, #0x0 + blt _0201DC2E + ldr r0, [r1, #0x20] + cmp r0, #0x0 + blt _0201DC2E + mov r2, #0x1 +_0201DC2E: + cmp r2, #0x0 + bne _0201DC36 + bl sub_02020C2C +_0201DC36: + pop {r3, pc} + .balign 4 +_0201DC38: .word 0x021C5994 + + thumb_func_start sub_0201DC3C +sub_0201DC3C: ; 0x0201DC3C + push {r3, lr} + ldr r0, _0201DC54 ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bl sub_0201DD00 + ldr r0, _0201DC54 ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_0201DD00 + pop {r3, pc} + .balign 4 +_0201DC54: .word 0x021C5994 + + thumb_func_start sub_0201DC58 +sub_0201DC58: ; 0x0201DC58 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0201DCBC ; =0x021C5994 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + add r6, r2, #0x0 + str r5, [r1, #0x24] + ldr r1, [r0, #0x0] + str r4, [r1, #0x28] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + cmp r0, #0x0 + beq _0201DC76 + bl sub_02016A18 +_0201DC76: + ldr r0, _0201DCBC ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + cmp r0, #0x0 + beq _0201DC84 + bl sub_02016A18 +_0201DC84: + ldr r0, _0201DCBC ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x24] + cmp r0, #0x0 + beq _0201DC9C + add r0, r6, #0x0 + lsr r1, r5, #0x3 + bl sub_02016998 + ldr r1, _0201DCBC ; =0x021C5994 + ldr r1, [r1, #0x0] + str r0, [r1, #0x34] +_0201DC9C: + ldr r0, _0201DCBC ; =0x021C5994 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + cmp r0, #0x0 + beq _0201DCB4 + add r0, r6, #0x0 + lsr r1, r4, #0x3 + bl sub_02016998 + ldr r1, _0201DCBC ; =0x021C5994 + ldr r1, [r1, #0x0] + str r0, [r1, #0x38] +_0201DCB4: + bl sub_0201DC3C + pop {r4-r6, pc} + nop +_0201DCBC: .word 0x021C5994 + + thumb_func_start sub_0201DCC0 +sub_0201DCC0: ; 0x0201DCC0 + push {r3, lr} + cmp r0, #0x0 + beq _0201DCE2 + ldr r1, _0201DCE4 ; =0x021C5994 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x34] + cmp r0, r1 + bne _0201DCDA + mov r1, #0x0 + str r1, [r2, #0x24] + bl sub_02016A18 + pop {r3, pc} +_0201DCDA: + mov r1, #0x0 + str r1, [r2, #0x28] + bl sub_02016A18 +_0201DCE2: + pop {r3, pc} + .balign 4 +_0201DCE4: .word 0x021C5994 + + thumb_func_start sub_0201DCE8 +sub_0201DCE8: ; 0x0201DCE8 + ldr r1, _0201DCFC ; =0x021C5994 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x34] + cmp r0, r1 + bne _0201DCF6 + ldr r0, [r2, #0x24] + bx lr +_0201DCF6: + ldr r0, [r2, #0x28] + bx lr + nop +_0201DCFC: .word 0x021C5994 + + thumb_func_start sub_0201DD00 +sub_0201DD00: ; 0x0201DD00 + push {r4, lr} + add r4, r0, #0x0 + beq _0201DD16 + bl sub_0201DCE8 + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + lsr r2, r2, #0x3 + blx sub_020DF4A4 +_0201DD16: + pop {r4, pc} + + thumb_func_start sub_0201DD18 +sub_0201DD18: ; 0x0201DD18 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + beq _0201DD6E + add r0, r4, #0x0 + bl sub_0201DCE8 + add r6, r5, r6 + add r7, r0, #0x0 + cmp r5, r6 + bhs _0201DD6E +_0201DD32: + cmp r5, r7 + bhs _0201DD6E + add r0, r5, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + bl sub_0201DFE4 + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + lsl r0, r1 + ldr r1, [sp, #0x4] + ldrb r1, [r4, r1] + tst r0, r1 + beq _0201DD54 + bl sub_02020C2C +_0201DD54: + add r2, sp, #0x0 + ldrb r3, [r2, #0x0] + ldr r1, [sp, #0x4] + mov r2, #0x1 + lsl r2, r3 + lsl r2, r2, #0x18 + ldrb r0, [r4, r1] + lsr r2, r2, #0x18 + add r5, r5, #0x1 + orr r0, r2 + strb r0, [r4, r1] + cmp r5, r6 + blo _0201DD32 +_0201DD6E: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201DD74 +sub_0201DD74: ; 0x0201DD74 + push {r3-r7, lr} + sub sp, #0x10 + add r7, r0, #0x0 + str r1, [sp, #0x0] + cmp r1, #0x0 + beq _0201DDF2 + add r0, r1, #0x0 + bl sub_0201DCE8 + mov r6, #0x0 + str r0, [sp, #0x4] + cmp r0, #0x0 + bls _0201DDF2 +_0201DD8E: + add r0, r6, #0x0 + add r1, sp, #0xc + add r2, sp, #0x8 + bl sub_0201DFE4 + add r0, sp, #0x8 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + mov r4, #0x0 + lsl r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + b _0201DDD0 +_0201DDA8: + add r5, r6, r4 + add r0, r5, #0x0 + add r1, sp, #0xc + add r2, sp, #0x8 + bl sub_0201DFE4 + add r0, sp, #0x8 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + lsl r0, r1 + lsl r0, r0, #0x18 + ldr r1, [sp, #0x4] + lsr r0, r0, #0x18 + cmp r5, r1 + blo _0201DDCE + mov r0, #0x0 + add sp, #0x10 + mvn r0, r0 + pop {r3-r7, pc} +_0201DDCE: + add r4, r4, #0x1 +_0201DDD0: + ldr r2, [sp, #0xc] + ldr r1, [sp, #0x0] + ldrb r1, [r1, r2] + tst r0, r1 + bne _0201DDDE + cmp r4, r7 + bls _0201DDA8 +_0201DDDE: + cmp r4, r7 + bls _0201DDE8 + add sp, #0x10 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0201DDE8: + add r0, r6, r4 + add r6, r0, #0x1 + ldr r0, [sp, #0x4] + cmp r6, r0 + blo _0201DD8E +_0201DDF2: + mov r0, #0x0 + mvn r0, r0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201DDFC +sub_0201DDFC: ; 0x0201DDFC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r2, #0x0 + beq _0201DE46 + add r6, r5, r1 + cmp r5, r6 + bhs _0201DE46 + add r7, sp, #0x0 +_0201DE0E: + add r0, r5, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + bl sub_0201DFE4 + ldrb r1, [r7, #0x0] + mov r0, #0x1 + lsl r0, r1 + ldr r1, [sp, #0x4] + ldrb r1, [r4, r1] + tst r0, r1 + bne _0201DE2A + bl sub_02020C2C +_0201DE2A: + ldrb r0, [r7, #0x0] + mov r1, #0x1 + ldr r3, [sp, #0x4] + lsl r1, r0 + mov r0, #0xff + eor r0, r1 + lsl r0, r0, #0x18 + ldrb r2, [r4, r3] + lsr r0, r0, #0x18 + add r5, r5, #0x1 + and r0, r2 + strb r0, [r4, r3] + cmp r5, r6 + blo _0201DE0E +_0201DE46: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201DE4C +sub_0201DE4C: ; 0x0201DE4C + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + mov r1, #0x1 + tst r0, r1 + beq _0201DE8A + add r0, r4, #0x0 + add r0, #0x10 + blx sub_020B1A14 + ldr r1, _0201DECC ; =0x021C5994 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x1c] + sub r0, r0, r1 + ldr r1, [r2, #0x2c] + bl sub_0201DF2C + ldr r1, _0201DECC ; =0x021C5994 + add r5, r0, #0x0 + ldr r1, [r1, #0x0] + ldr r0, [r4, #0x4c] + ldr r1, [r1, #0x2c] + bl sub_0201DF2C + ldr r2, _0201DECC ; =0x021C5994 + add r1, r0, #0x0 + ldr r2, [r2, #0x0] + add r0, r5, #0x0 + ldr r2, [r2, #0x34] + bl sub_0201DDFC +_0201DE8A: + ldr r0, [r4, #0x4] + mov r1, #0x2 + tst r0, r1 + beq _0201DEC4 + add r0, r4, #0x0 + add r0, #0x10 + blx sub_020B1A14 + ldr r1, _0201DECC ; =0x021C5994 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x20] + sub r0, r0, r1 + ldr r1, [r2, #0x30] + bl sub_0201DF2C + ldr r1, _0201DECC ; =0x021C5994 + add r5, r0, #0x0 + ldr r1, [r1, #0x0] + ldr r0, [r4, #0x50] + ldr r1, [r1, #0x30] + bl sub_0201DF2C + ldr r2, _0201DECC ; =0x021C5994 + add r1, r0, #0x0 + ldr r2, [r2, #0x0] + add r0, r5, #0x0 + ldr r2, [r2, #0x38] + bl sub_0201DDFC +_0201DEC4: + mov r0, #0x0 + str r0, [r4, #0x48] + pop {r3-r5, pc} + nop +_0201DECC: .word 0x021C5994 + + thumb_func_start sub_0201DED0 +sub_0201DED0: ; 0x0201DED0 + ldr r1, _0201DF04 ; =0x00100010 + cmp r0, r1 + bgt _0201DEDE + bge _0201DEF4 + cmp r0, #0x10 + beq _0201DEF0 + b _0201DF00 +_0201DEDE: + ldr r1, _0201DF08 ; =0x00200010 + cmp r0, r1 + bgt _0201DEE8 + beq _0201DEF8 + b _0201DF00 +_0201DEE8: + ldr r1, _0201DF0C ; =0x00300010 + cmp r0, r1 + beq _0201DEFC + b _0201DF00 +_0201DEF0: + mov r0, #0x1 + bx lr +_0201DEF4: + mov r0, #0x2 + bx lr +_0201DEF8: + mov r0, #0x4 + bx lr +_0201DEFC: + mov r0, #0x8 + bx lr +_0201DF00: + mov r0, #0x1 + bx lr + .balign 4 +_0201DF04: .word 0x00100010 +_0201DF08: .word 0x00200010 +_0201DF0C: .word 0x00300010 + + thumb_func_start sub_0201DF10 +sub_0201DF10: ; 0x0201DF10 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + blx sub_020EBC80 + cmp r1, #0x0 + beq _0201DF28 + sub r5, r5, r1 + cmp r6, #0x1 + bne _0201DF28 + add r5, r5, r4 +_0201DF28: + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0201DF2C +sub_0201DF2C: ; 0x0201DF2C + asr r2, r0, #0x4 + lsr r2, r2, #0x1b + add r2, r0, r2 + ldr r3, _0201DF38 ; =sub_020EBC80 + asr r0, r2, #0x5 + bx r3 + .balign 4 +_0201DF38: .word sub_020EBC80 + + thumb_func_start sub_0201DF3C +sub_0201DF3C: ; 0x0201DF3C + mul r1, r0 + lsl r0, r1, #0x5 + bx lr + .balign 4 + + thumb_func_start sub_0201DF44 +sub_0201DF44: ; 0x0201DF44 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r1, r2, #0x0 + mov r0, #0x1 + add r2, r4, #0x0 + add r7, r3, #0x0 + tst r2, r0 + beq _0201DF6E + ldr r2, _0201DF90 ; =0x021C5994 + ldr r2, [r2, #0x0] + ldr r6, [r2, #0xc] + ldr r2, [r2, #0x1c] + add r3, r6, r5 + cmp r3, r2 + bls _0201DF6C + bl sub_02020C2C + mov r0, #0x0 + b _0201DF6E +_0201DF6C: + str r6, [r1, #0x0] +_0201DF6E: + mov r1, #0x2 + tst r1, r4 + beq _0201DF8C + ldr r1, _0201DF90 ; =0x021C5994 + ldr r1, [r1, #0x0] + ldr r3, [r1, #0x10] + ldr r1, [r1, #0x20] + add r2, r3, r5 + cmp r2, r1 + bls _0201DF8A + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_0201DF8A: + str r3, [r7, #0x0] +_0201DF8C: + pop {r3-r7, pc} + nop +_0201DF90: .word 0x021C5994 + + thumb_func_start sub_0201DF94 +sub_0201DF94: ; 0x0201DF94 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r2, #0x1 + add r0, r4, #0x0 + tst r0, r2 + beq _0201DFBC + ldr r0, _0201DFE0 ; =0x021C5994 + ldr r3, [r0, #0x0] + ldr r1, [r3, #0xc] + add r1, r1, r5 + str r1, [r3, #0xc] + ldr r1, [r0, #0x0] + ldr r0, [r1, #0xc] + ldr r1, [r1, #0x2c] + bl sub_0201DF10 + ldr r1, _0201DFE0 ; =0x021C5994 + ldr r1, [r1, #0x0] + str r0, [r1, #0xc] +_0201DFBC: + mov r0, #0x2 + tst r0, r4 + beq _0201DFDE + ldr r0, _0201DFE0 ; =0x021C5994 + ldr r2, [r0, #0x0] + ldr r1, [r2, #0x10] + add r1, r1, r5 + str r1, [r2, #0x10] + ldr r1, [r0, #0x0] + mov r2, #0x1 + ldr r0, [r1, #0x10] + ldr r1, [r1, #0x30] + bl sub_0201DF10 + ldr r1, _0201DFE0 ; =0x021C5994 + ldr r1, [r1, #0x0] + str r0, [r1, #0x10] +_0201DFDE: + pop {r3-r5, pc} + .balign 4 +_0201DFE0: .word 0x021C5994 + + thumb_func_start sub_0201DFE4 +sub_0201DFE4: ; 0x0201DFE4 + asr r3, r0, #0x3 + str r3, [r1, #0x0] + mov r1, #0x7 + and r0, r1 + strb r0, [r2, #0x0] + bx lr + + thumb_func_start sub_0201DFF0 +sub_0201DFF0: ; 0x0201DFF0 + push {r3-r4} + sub r0, r1, r0 + ldr r4, [sp, #0x8] + str r0, [r3, #0x0] + bpl _0201E006 + add r0, r2, r0 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_0201E006: + str r2, [r4, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_0201E00C +sub_0201E00C: ; 0x0201E00C + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, _0201E064 ; =0x021C5998 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0201E060 + add r0, r4, #0x0 + mov r1, #0x28 + bl sub_02016998 + add r1, r0, #0x0 + ldr r0, _0201E064 ; =0x021C5998 + mov r2, #0x28 + str r1, [r0, #0x0] + mov r0, #0x0 + blx sub_020CE1FC + ldr r0, _0201E064 ; =0x021C5998 + mov r1, #0x30 + ldr r0, [r0, #0x0] + mul r1, r6 + str r6, [r0, #0x4] + add r0, r4, #0x0 + bl sub_02016998 + ldr r7, _0201E064 ; =0x021C5998 + mov r4, #0x0 + ldr r1, [r7, #0x0] + cmp r6, #0x0 + str r0, [r1, #0x0] + ble _0201E060 + add r5, r4, #0x0 +_0201E04E: + ldr r0, [r7, #0x0] + ldr r0, [r0, #0x0] + add r0, r0, r5 + bl sub_0201E2F8 + add r4, r4, #0x1 + add r5, #0x30 + cmp r4, r6 + blt _0201E04E +_0201E060: + pop {r3-r7, pc} + nop +_0201E064: .word 0x021C5998 +_0201E068: + .byte 0x01, 0x29, 0x05, 0xD1, 0x06, 0x49, 0x0A, 0x68 + .byte 0x91, 0x8C, 0x08, 0x43, 0x90, 0x84, 0x70, 0x47, 0x02, 0x29, 0x04, 0xD1, 0x02, 0x49, 0x0A, 0x68 + .byte 0xD1, 0x8C, 0x08, 0x43, 0xD0, 0x84, 0x70, 0x47, 0x98, 0x59, 0x1C, 0x02 + + thumb_func_start sub_0201E08C +sub_0201E08C: ; 0x0201E08C + push {r3, lr} + ldr r0, _0201E0B4 ; =0x021C5998 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201E0B2 + bl sub_0201E1F0 + ldr r0, _0201E0B4 ; =0x021C5998 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201E0B4 ; =0x021C5998 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201E0B4 ; =0x021C5998 + mov r1, #0x0 + str r1, [r0, #0x0] +_0201E0B2: + pop {r3, pc} + .balign 4 +_0201E0B4: .word 0x021C5998 + + thumb_func_start sub_0201E0B8 +sub_0201E0B8: ; 0x0201E0B8 + bx lr + .balign 4 + + thumb_func_start sub_0201E0BC +sub_0201E0BC: ; 0x0201E0BC + push {r3, lr} + ldr r0, _0201E0E0 ; =0x021C5998 + mov r2, #0x0 + ldr r1, [r0, #0x0] + str r2, [r1, #0xc] + ldr r1, [r0, #0x0] + str r2, [r1, #0x10] + ldr r1, [r0, #0x0] + str r2, [r1, #0x14] + ldr r0, [r0, #0x0] + str r2, [r0, #0x18] + bl sub_0201E464 + ldr r0, _0201E0E0 ; =0x021C5998 + ldr r0, [r0, #0x0] + bl sub_0201E574 + pop {r3, pc} + .balign 4 +_0201E0E0: .word 0x021C5998 + + thumb_func_start sub_0201E0E4 +sub_0201E0E4: ; 0x0201E0E4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0201E428 + add r4, r0, #0x0 + bne _0201E0F8 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201E0F8: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201E2C4 + cmp r0, #0x0 + bne _0201E108 + mov r0, #0x0 + pop {r3-r5, pc} +_0201E108: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201E314 + cmp r0, #0x0 + bne _0201E11E + ldr r0, [r5, #0xc] + bl sub_0201E1C8 + mov r0, #0x0 + pop {r3-r5, pc} +_0201E11E: + add r0, r4, #0x0 + bl sub_0201E57C + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0201E128 +sub_0201E128: ; 0x0201E128 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0201E428 + add r4, r0, #0x0 + bne _0201E13C + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201E13C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201E2C4 + cmp r0, #0x0 + bne _0201E14C + mov r0, #0x0 + pop {r3-r5, pc} +_0201E14C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201E36C + cmp r0, #0x0 + bne _0201E162 + ldr r0, [r5, #0xc] + bl sub_0201E1C8 + mov r0, #0x0 + pop {r3-r5, pc} +_0201E162: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201E168 +sub_0201E168: ; 0x0201E168 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + bne _0201E174 + bl sub_02020C2C +_0201E174: + add r0, r4, #0x0 + bl sub_0201E3F0 + add r4, r0, #0x0 + bne _0201E182 + bl sub_02020C2C +_0201E182: + str r5, [r4, #0x0] + ldr r1, [r4, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201E19A + ldr r3, [r4, #0x8] + ldr r1, [r4, #0x24] + ldr r2, [r5, #0xc] + mov r0, #0xe + lsl r3, r3, #0x5 + bl sub_0201C2C8 +_0201E19A: + ldr r1, [r4, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201E1B0 + ldr r3, [r4, #0x8] + ldr r1, [r4, #0x28] + ldr r2, [r5, #0xc] + mov r0, #0x1e + lsl r3, r3, #0x5 + bl sub_0201C2C8 +_0201E1B0: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201E1B4 +sub_0201E1B4: ; 0x0201E1B4 + push {r3, lr} + bl sub_0201E3F0 + cmp r0, #0x0 + beq _0201E1C2 + mov r0, #0x1 + pop {r3, pc} +_0201E1C2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201E1C8 +sub_0201E1C8: ; 0x0201E1C8 + push {r4, lr} + bl sub_0201E3F0 + add r4, r0, #0x0 + bne _0201E1D6 + bl sub_02020C2C +_0201E1D6: + add r0, r4, #0x0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0201E1EC + add r0, r4, #0x0 + bl sub_0201E5B8 + add r0, r4, #0x0 + bl sub_0201E2BC +_0201E1EC: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201E1F0 +sub_0201E1F0: ; 0x0201E1F0 + push {r4-r6, lr} + ldr r6, _0201E22C ; =0x021C5998 + mov r4, #0x0 + ldr r1, [r6, #0x0] + ldr r0, [r1, #0x4] + cmp r0, #0x0 + ble _0201E228 + add r5, r4, #0x0 +_0201E200: + ldr r1, [r1, #0x0] + add r0, r1, r5 + add r0, #0x2c + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0201E21C + add r0, r1, r5 + bl sub_0201E5B8 + ldr r0, [r6, #0x0] + ldr r0, [r0, #0x0] + add r0, r0, r5 + bl sub_0201E2BC +_0201E21C: + ldr r1, [r6, #0x0] + add r4, r4, #0x1 + ldr r0, [r1, #0x4] + add r5, #0x30 + cmp r4, r0 + blt _0201E200 +_0201E228: + pop {r4-r6, pc} + nop +_0201E22C: .word 0x021C5998 + + thumb_func_start sub_0201E230 +sub_0201E230: ; 0x0201E230 + push {r3, lr} + bl sub_0201E3F0 + cmp r0, #0x0 + bne _0201E244 + bne _0201E240 + bl sub_02020C2C +_0201E240: + mov r0, #0x0 + pop {r3, pc} +_0201E244: + add r1, r0, #0x0 + add r1, #0x2c + ldrb r1, [r1, #0x0] + cmp r1, #0x1 + bne _0201E252 + add r0, #0x10 + pop {r3, pc} +_0201E252: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201E258 +sub_0201E258: ; 0x0201E258 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0201E3F0 + cmp r0, #0x0 + bne _0201E26E + bne _0201E26A + bl sub_02020C2C +_0201E26A: + mov r0, #0x0 + pop {r4, pc} +_0201E26E: + add r1, r0, #0x0 + add r1, #0x2c + ldrb r1, [r1, #0x0] + cmp r1, #0x1 + beq _0201E27C + mov r0, #0x0 + pop {r4, pc} +_0201E27C: + ldr r1, [r0, #0x0] + ldr r1, [r1, #0x4] + cmp r1, #0x0 + beq _0201E288 + mov r1, #0x1 + str r1, [r4, #0x18] +_0201E288: + add r0, #0x10 + pop {r4, pc} + + thumb_func_start sub_0201E28C +sub_0201E28C: ; 0x0201E28C + push {r4, lr} + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _0201E29A + mov r4, #0x2 + lsl r4, r4, #0x8 + b _0201E2A6 +_0201E29A: + ldr r2, [r0, #0x0] + cmp r2, #0x4 + bne _0201E2A4 + mov r4, #0x0 + b _0201E2A6 +_0201E2A4: + mov r4, #0x20 +_0201E2A6: + cmp r4, #0x0 + beq _0201E2B6 + blx sub_020B19C4 + add r1, r4, #0x0 + blx sub_020EBE8C + pop {r4, pc} +_0201E2B6: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201E2BC +sub_0201E2BC: ; 0x0201E2BC + ldr r3, _0201E2C0 ; =sub_0201E2F8 + bx r3 + .balign 4 +_0201E2C0: .word sub_0201E2F8 + 1 + + thumb_func_start sub_0201E2C4 +sub_0201E2C4: ; 0x0201E2C4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0201E1B4 + cmp r0, #0x1 + bne _0201E2E0 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201E2E0: + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + str r0, [r4, #0xc] + ldr r0, [r5, #0x4] + add r1, #0x2c + str r0, [r4, #0x4] + mov r0, #0x1 + strb r0, [r1, #0x0] + ldr r1, [r5, #0x8] + str r1, [r4, #0x8] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201E2F8 +sub_0201E2F8: ; 0x0201E2F8 + push {r4, lr} + mov r1, #0x0 + mov r2, #0x30 + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0xc] + add r4, #0x10 + add r0, r4, #0x0 + blx sub_020B19DC + pop {r4, pc} + + thumb_func_start sub_0201E314 +sub_0201E314: ; 0x0201E314 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r1, #0x0 + ldr r0, [r6, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0201E334 + ldr r0, _0201E368 ; =0x021C5998 + ldr r0, [r0, #0x0] + add r4, r0, #0x0 + add r5, r0, #0x0 + ldr r3, [r0, #0x1c] + add r4, #0x14 + add r5, #0x18 + ldr r0, [r0, #0x20] + b _0201E344 +_0201E334: + ldr r0, _0201E368 ; =0x021C5998 + mov r3, #0x2 + ldr r5, [r0, #0x0] + lsl r3, r3, #0x8 + add r4, r5, #0x0 + add r4, #0xc + add r5, #0x10 + add r0, r3, #0x0 +_0201E344: + str r0, [sp, #0x0] + ldr r1, [r4, #0x0] + ldr r2, [r5, #0x0] + add r0, r6, #0x0 + bl sub_0201E5F4 + add r0, r6, #0x0 + bl sub_0201E4AC + add r0, r6, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0201E640 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r6, pc} + nop +_0201E368: .word 0x021C5998 + + thumb_func_start sub_0201E36C +sub_0201E36C: ; 0x0201E36C + push {r4-r6, lr} + add r5, r1, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0201E37C + bl sub_02020C2C +_0201E37C: + ldr r1, [r5, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201E39E + ldr r0, _0201E3EC ; =0x021C5998 + ldr r1, [r5, #0x8] + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x24] + bl sub_0201E534 + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + bne _0201E39E + mov r0, #0x0 + pop {r4-r6, pc} +_0201E39E: + ldr r1, [r5, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201E3C0 + ldr r0, _0201E3EC ; =0x021C5998 + ldr r1, [r5, #0x8] + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x26] + bl sub_0201E534 + add r4, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0201E3C0 + mov r0, #0x0 + pop {r4-r6, pc} +_0201E3C0: + ldr r1, [r5, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201E3CA + str r6, [r5, #0x24] +_0201E3CA: + ldr r1, [r5, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201E3D4 + str r4, [r5, #0x28] +_0201E3D4: + ldr r0, [r5, #0x8] + lsl r1, r0, #0x5 + ldr r0, [r5, #0x0] + str r1, [r0, #0x8] + add r0, r5, #0x0 + bl sub_0201E4BC + add r0, r5, #0x0 + bl sub_0201E57C + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0201E3EC: .word 0x021C5998 + + thumb_func_start sub_0201E3F0 +sub_0201E3F0: ; 0x0201E3F0 + push {r4-r5} + ldr r2, _0201E424 ; =0x021C5998 + mov r1, #0x0 + ldr r5, [r2, #0x0] + ldr r2, [r5, #0x4] + cmp r2, #0x0 + ble _0201E41C + ldr r2, [r5, #0x0] + add r4, r2, #0x0 +_0201E402: + ldr r3, [r4, #0xc] + cmp r0, r3 + bne _0201E412 + mov r0, #0x30 + mul r0, r1 + add r0, r2, r0 + pop {r4-r5} + bx lr +_0201E412: + ldr r3, [r5, #0x4] + add r1, r1, #0x1 + add r4, #0x30 + cmp r1, r3 + blt _0201E402 +_0201E41C: + mov r0, #0x0 + pop {r4-r5} + bx lr + nop +_0201E424: .word 0x021C5998 + + thumb_func_start sub_0201E428 +sub_0201E428: ; 0x0201E428 + push {r3-r4} + ldr r1, _0201E460 ; =0x021C5998 + mov r0, #0x0 + ldr r4, [r1, #0x0] + ldr r1, [r4, #0x4] + cmp r1, #0x0 + ble _0201E458 + ldr r1, [r4, #0x0] + add r3, r1, #0x0 +_0201E43A: + add r2, r3, #0x0 + add r2, #0x2c + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0201E44E + mov r2, #0x30 + mul r2, r0 + add r0, r1, r2 + pop {r3-r4} + bx lr +_0201E44E: + ldr r2, [r4, #0x4] + add r0, r0, #0x1 + add r3, #0x30 + cmp r0, r2 + blt _0201E43A +_0201E458: + mov r0, #0x0 + pop {r3-r4} + bx lr + nop +_0201E460: .word 0x021C5998 + + thumb_func_start sub_0201E464 +sub_0201E464: ; 0x0201E464 + push {r3, lr} + blx sub_020C5D9C + cmp r0, #0x20 + beq _0201E472 + cmp r0, #0x40 + bne _0201E47E +_0201E472: + ldr r0, _0201E4A8 ; =0x021C5998 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xc + str r1, [r0, #0x1c] + b _0201E486 +_0201E47E: + ldr r0, _0201E4A8 ; =0x021C5998 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x1c] +_0201E486: + blx sub_020C5D2C + mov r1, #0x1 + lsl r1, r1, #0x8 + cmp r0, r1 + bne _0201E49C + ldr r0, _0201E4A8 ; =0x021C5998 + lsl r1, r1, #0x5 + ldr r0, [r0, #0x0] + str r1, [r0, #0x20] + pop {r3, pc} +_0201E49C: + ldr r0, _0201E4A8 ; =0x021C5998 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x20] + pop {r3, pc} + nop +_0201E4A8: .word 0x021C5998 + + thumb_func_start sub_0201E4AC +sub_0201E4AC: ; 0x0201E4AC + ldr r1, [r0, #0x8] + ldr r3, _0201E4B8 ; =sub_0201E4BC + lsl r2, r1, #0x5 + ldr r1, [r0, #0x0] + str r2, [r1, #0x8] + bx r3 + .balign 4 +_0201E4B8: .word sub_0201E4BC + 1 + + thumb_func_start sub_0201E4BC +sub_0201E4BC: ; 0x0201E4BC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x10 + blx sub_020B19DC + ldr r0, [r4, #0x4] + mov r2, #0x1 + tst r0, r2 + beq _0201E4DA + add r3, r4, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x24] + add r3, #0x10 + blx sub_020B1240 +_0201E4DA: + ldr r0, [r4, #0x4] + mov r2, #0x2 + tst r0, r2 + beq _0201E4EE + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x28] + add r4, #0x10 + add r3, r4, #0x0 + blx sub_020B1240 +_0201E4EE: + pop {r4, pc} + + thumb_func_start sub_0201E4F0 +sub_0201E4F0: ; 0x0201E4F0 + push {r4-r7} + mov r3, #0x0 + cmp r1, #0x0 + ble _0201E50E + mov r5, #0x1 +_0201E4FA: + ldrh r7, [r0, #0x0] + add r4, r2, r3 + add r6, r5, #0x0 + lsl r6, r4 + add r4, r7, #0x0 + orr r4, r6 + add r3, r3, #0x1 + strh r4, [r0, #0x0] + cmp r3, r1 + blt _0201E4FA +_0201E50E: + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_0201E514 +sub_0201E514: ; 0x0201E514 + push {r4-r7} + mov r4, #0x0 + cmp r1, #0x0 + ble _0201E530 + mov r6, #0x1 +_0201E51E: + add r5, r2, r4 + add r7, r6, #0x0 + ldrh r3, [r0, #0x0] + lsl r7, r5 + bic r3, r7 + add r4, r4, #0x1 + strh r3, [r0, #0x0] + cmp r4, r1 + blt _0201E51E +_0201E530: + pop {r4-r7} + bx lr + + thumb_func_start sub_0201E534 +sub_0201E534: ; 0x0201E534 + push {r4-r7} + mov r3, #0x0 + mov r6, #0x1 + add r2, r3, #0x0 +_0201E53C: + add r4, r2, #0x0 + b _0201E546 +_0201E540: + cmp r5, #0x10 + bge _0201E554 + add r4, r4, #0x1 +_0201E546: + add r5, r3, r4 + add r7, r6, #0x0 + lsl r7, r5 + tst r7, r0 + bne _0201E554 + cmp r4, r1 + blt _0201E540 +_0201E554: + cmp r4, r1 + bge _0201E560 + add r3, r3, r4 + add r3, r3, #0x1 + cmp r3, #0x10 + blt _0201E53C +_0201E560: + cmp r3, #0x10 + blt _0201E56C + mov r0, #0x0 + mvn r0, r0 + pop {r4-r7} + bx lr +_0201E56C: + lsl r0, r3, #0x5 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_0201E574 +sub_0201E574: ; 0x0201E574 + mov r1, #0x0 + strh r1, [r0, #0x24] + strh r1, [r0, #0x26] + bx lr + + thumb_func_start sub_0201E57C +sub_0201E57C: ; 0x0201E57C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201E598 + ldr r0, _0201E5B4 ; =0x021C5998 + ldr r2, [r4, #0x24] + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x8] + add r0, #0x24 + lsr r2, r2, #0x5 + bl sub_0201E4F0 +_0201E598: + ldr r1, [r4, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201E5B0 + ldr r0, _0201E5B4 ; =0x021C5998 + ldr r2, [r4, #0x28] + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x8] + add r0, #0x26 + lsr r2, r2, #0x5 + bl sub_0201E4F0 +_0201E5B0: + pop {r4, pc} + nop +_0201E5B4: .word 0x021C5998 + + thumb_func_start sub_0201E5B8 +sub_0201E5B8: ; 0x0201E5B8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + mov r0, #0x1 + tst r0, r1 + beq _0201E5D4 + ldr r0, _0201E5F0 ; =0x021C5998 + ldr r2, [r4, #0x24] + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x8] + add r0, #0x24 + lsr r2, r2, #0x5 + bl sub_0201E514 +_0201E5D4: + ldr r1, [r4, #0x4] + mov r0, #0x2 + tst r0, r1 + beq _0201E5EC + ldr r0, _0201E5F0 ; =0x021C5998 + ldr r2, [r4, #0x28] + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x8] + add r0, #0x26 + lsr r2, r2, #0x5 + bl sub_0201E514 +_0201E5EC: + pop {r4, pc} + nop +_0201E5F0: .word 0x021C5998 + + thumb_func_start sub_0201E5F4 +sub_0201E5F4: ; 0x0201E5F4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + ldr r2, [r5, #0x4] + mov r0, #0x1 + tst r2, r0 + beq _0201E61A + ldr r2, [r5, #0x8] + lsl r2, r2, #0x5 + add r2, r1, r2 + cmp r2, r3 + bls _0201E618 + bl sub_02020C2C + bl sub_0201E0B8 + mov r0, #0x0 + b _0201E61A +_0201E618: + str r1, [r5, #0x24] +_0201E61A: + ldr r2, [r5, #0x4] + mov r1, #0x2 + tst r1, r2 + beq _0201E63C + ldr r1, [r5, #0x8] + lsl r1, r1, #0x5 + add r2, r4, r1 + ldr r1, [sp, #0x10] + cmp r2, r1 + bls _0201E63A + bl sub_02020C2C + bl sub_0201E0B8 + mov r0, #0x0 + pop {r3-r5, pc} +_0201E63A: + str r4, [r5, #0x28] +_0201E63C: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201E640 +sub_0201E640: ; 0x0201E640 + push {r3-r4} + ldr r4, [r0, #0x4] + mov r3, #0x1 + tst r3, r4 + beq _0201E654 + ldr r3, [r0, #0x8] + ldr r4, [r1, #0x0] + lsl r3, r3, #0x5 + add r3, r4, r3 + str r3, [r1, #0x0] +_0201E654: + ldr r3, [r0, #0x4] + mov r1, #0x2 + tst r1, r3 + beq _0201E666 + ldr r0, [r0, #0x8] + ldr r1, [r2, #0x0] + lsl r0, r0, #0x5 + add r0, r1, r0 + str r0, [r2, #0x0] +_0201E666: + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0201E66C +sub_0201E66C: ; 0x0201E66C + push {r4, lr} + add r4, r0, #0x0 + blx sub_020C611C + blx sub_020C60E4 + blx sub_020C6070 + blx sub_020C6034 + blx sub_020C6108 + blx sub_020C60C0 + blx sub_020C605C + blx sub_020C600C + blx sub_020C60AC + blx sub_020C6098 + ldr r0, [r4, #0x0] + blx sub_020C6BF0 + ldr r0, [r4, #0x4] + blx sub_020C6970 + ldr r0, [r4, #0x8] + blx sub_020C62FC + ldr r0, [r4, #0xc] + blx sub_020C61F4 + ldr r0, [r4, #0x10] + blx sub_020C6A84 + ldr r0, [r4, #0x14] + blx sub_020C68B8 + ldr r0, [r4, #0x18] + blx sub_020C6280 + ldr r0, [r4, #0x1c] + blx sub_020C6168 + ldr r0, [r4, #0x20] + blx sub_020C66B4 + ldr r0, [r4, #0x24] + blx sub_020C65C0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201E6D8 +sub_0201E6D8: ; 0x0201E6D8 + ldr r0, _0201E6E0 ; =0x021C599C + mov r1, #0x0 + str r1, [r0, #0x4] + bx lr + .balign 4 +_0201E6E0: .word 0x021C599C + + thumb_func_start sub_0201E6E4 +sub_0201E6E4: ; 0x0201E6E4 + cmp r1, #0x1 + bne _0201E6F2 + ldr r1, _0201E718 ; =0x021C599C + ldr r1, [r1, #0x4] + tst r1, r0 + beq _0201E6FA + bx lr +_0201E6F2: + ldr r1, _0201E718 ; =0x021C599C + ldr r1, [r1, #0x4] + tst r1, r0 + beq _0201E714 +_0201E6FA: + ldr r1, _0201E718 ; =0x021C599C + ldr r2, [r1, #0x4] + add r3, r2, #0x0 + eor r3, r0 + mov r2, #0x1 + lsl r2, r2, #0x1a + str r3, [r1, #0x4] + ldr r1, [r2, #0x0] + ldr r0, _0201E71C ; =0xFFFFE0FF + and r1, r0 + lsl r0, r3, #0x8 + orr r0, r1 + str r0, [r2, #0x0] +_0201E714: + bx lr + nop +_0201E718: .word 0x021C599C +_0201E71C: .word 0xFFFFE0FF + + thumb_func_start sub_0201E720 +sub_0201E720: ; 0x0201E720 + ldr r1, _0201E738 ; =0x021C599C + mov r3, #0x1 + str r0, [r1, #0x4] + lsl r3, r3, #0x1a + ldr r2, [r3, #0x0] + ldr r1, _0201E73C ; =0xFFFFE0FF + lsl r0, r0, #0x8 + and r1, r2 + orr r0, r1 + str r0, [r3, #0x0] + bx lr + nop +_0201E738: .word 0x021C599C +_0201E73C: .word 0xFFFFE0FF + + thumb_func_start sub_0201E740 +sub_0201E740: ; 0x0201E740 + ldr r0, _0201E748 ; =0x021C599C + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 +_0201E748: .word 0x021C599C + + thumb_func_start sub_0201E74C +sub_0201E74C: ; 0x0201E74C + cmp r1, #0x1 + bne _0201E75A + ldr r1, _0201E77C ; =0x021C599C + ldr r1, [r1, #0x0] + tst r1, r0 + beq _0201E762 + bx lr +_0201E75A: + ldr r1, _0201E77C ; =0x021C599C + ldr r1, [r1, #0x0] + tst r1, r0 + beq _0201E77A +_0201E762: + ldr r1, _0201E77C ; =0x021C599C + ldr r2, [r1, #0x0] + add r3, r2, #0x0 + eor r3, r0 + ldr r2, _0201E780 ; =0x04001000 + str r3, [r1, #0x0] + ldr r1, [r2, #0x0] + ldr r0, _0201E784 ; =0xFFFFE0FF + and r1, r0 + lsl r0, r3, #0x8 + orr r0, r1 + str r0, [r2, #0x0] +_0201E77A: + bx lr + .balign 4 +_0201E77C: .word 0x021C599C +_0201E780: .word 0x04001000 +_0201E784: .word 0xFFFFE0FF + + thumb_func_start sub_0201E788 +sub_0201E788: ; 0x0201E788 + push {r3, lr} + blx sub_020C5A34 + ldr r2, _0201E79C ; =0x04001000 + mov r0, #0x1 + ldr r1, [r2, #0x0] + lsl r0, r0, #0x10 + orr r0, r1 + str r0, [r2, #0x0] + pop {r3, pc} + .balign 4 +_0201E79C: .word 0x04001000 + + thumb_func_start sub_0201E7A0 +sub_0201E7A0: ; 0x0201E7A0 + ldr r0, _0201E7C0 ; =0x021C4918 + ldr r2, _0201E7C4 ; =0x04000304 + ldrb r0, [r0, #0x5] + cmp r0, #0x0 + bne _0201E7B4 + ldrh r1, [r2, #0x0] + lsr r0, r2, #0xb + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201E7B4: + ldrh r1, [r2, #0x0] + ldr r0, _0201E7C8 ; =0xFFFF7FFF + and r0, r1 + strh r0, [r2, #0x0] + bx lr + nop +_0201E7C0: .word 0x021C4918 +_0201E7C4: .word 0x04000304 +_0201E7C8: .word 0xFFFF7FFF + + thumb_func_start sub_0201E7CC +sub_0201E7CC: ; 0x0201E7CC + ldr r0, _0201E7D4 ; =0x021C599C + ldr r0, [r0, #0x4] + bx lr + nop +_0201E7D4: .word 0x021C599C + + thumb_func_start sub_0201E7D8 +sub_0201E7D8: ; 0x0201E7D8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x3e] + ldr r2, [r5, #0x38] + ldrh r4, [r5, #0x3c] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _0201E8B4 ; =0x020FFA38 + asr r3, r2, #0x1f + ldrsh r0, [r0, r1] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r0, r0, r2 + adc r1, r3 + asr r2, r4, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r3, r2, #0x1 + ldr r2, _0201E8B4 ; =0x020FFA38 + lsl r1, r1, #0x14 + ldrsh r2, [r2, r3] + lsr r0, r0, #0xc + orr r0, r1 + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + str r1, [r5, #0x14] + ldrh r0, [r5, #0x3e] + ldr r2, [r5, #0x38] + asr r0, r0, #0x4 + lsl r0, r0, #0x1 + add r0, r0, #0x1 + lsl r1, r0, #0x1 + ldr r0, _0201E8B4 ; =0x020FFA38 + asr r3, r2, #0x1f + ldrsh r0, [r0, r1] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + lsl r2, r2, #0xa + mov r3, #0x0 + add r0, r0, r2 + adc r1, r3 + ldrh r2, [r5, #0x3c] + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r3, r2, #0x1 + ldr r2, _0201E8B4 ; =0x020FFA38 + orr r0, r1 + ldrsh r2, [r2, r3] + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + neg r0, r4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r1, [r5, #0x1c] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _0201E8B4 ; =0x020FFA38 + ldr r2, [r5, #0x38] + ldrsh r0, [r0, r1] + asr r3, r2, #0x1f + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + add r0, r5, #0x0 + str r1, [r5, #0x18] + add r0, #0x14 + add r5, #0x20 + add r1, r5, #0x0 + add r2, r0, #0x0 + blx sub_020C5634 + pop {r3-r5, pc} + nop +_0201E8B4: .word 0x020FFA38 + + thumb_func_start sub_0201E8B8 +sub_0201E8B8: ; 0x0201E8B8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x3e] + ldr r2, [r5, #0x38] + ldrh r4, [r5, #0x3c] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _0201E998 ; =0x020FFA38 + asr r3, r2, #0x1f + ldrsh r0, [r0, r1] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r0, r0, r2 + adc r1, r3 + asr r2, r4, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r3, r2, #0x1 + ldr r2, _0201E998 ; =0x020FFA38 + lsl r1, r1, #0x14 + ldrsh r2, [r2, r3] + lsr r0, r0, #0xc + orr r0, r1 + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + neg r0, r1 + str r0, [r5, #0x20] + ldrh r0, [r5, #0x3e] + ldr r2, [r5, #0x38] + asr r0, r0, #0x4 + lsl r0, r0, #0x1 + add r0, r0, #0x1 + lsl r1, r0, #0x1 + ldr r0, _0201E998 ; =0x020FFA38 + asr r3, r2, #0x1f + ldrsh r0, [r0, r1] + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + lsl r2, r2, #0xa + mov r3, #0x0 + add r0, r0, r2 + adc r1, r3 + ldrh r2, [r5, #0x3c] + lsl r1, r1, #0x14 + lsr r0, r0, #0xc + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r3, r2, #0x1 + ldr r2, _0201E998 ; =0x020FFA38 + orr r0, r1 + ldrsh r2, [r2, r3] + asr r1, r0, #0x1f + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + neg r0, r1 + str r0, [r5, #0x28] + neg r0, r4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _0201E998 ; =0x020FFA38 + ldr r2, [r5, #0x38] + ldrsh r0, [r0, r1] + asr r3, r2, #0x1f + asr r1, r0, #0x1f + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + neg r0, r1 + str r0, [r5, #0x24] + add r0, r5, #0x0 + add r0, #0x20 + add r5, #0x14 + add r1, r5, #0x0 + add r2, r0, #0x0 + blx sub_020C5634 + pop {r3-r5, pc} + .balign 4 +_0201E998: .word 0x020FFA38 + + thumb_func_start sub_0201E99C +sub_0201E99C: ; 0x0201E99C + add r2, r1, #0x0 + add r2, #0x46 + strh r0, [r2, #0x0] + asr r0, r0, #0x4 + lsl r3, r0, #0x1 + ldr r2, _0201E9E0 ; =0x020FFA38 + lsl r0, r3, #0x1 + ldrsh r0, [r2, r0] + str r0, [r1, #0x0] + add r0, r3, #0x1 + lsl r0, r0, #0x1 + ldrsh r0, [r2, r0] + mov r2, #0x0 + str r0, [r1, #0x4] + ldr r0, _0201E9E4 ; =0x00001555 + str r0, [r1, #0x8] + mov r0, #0x96 + lsl r0, r0, #0xc + str r0, [r1, #0xc] + mov r0, #0xe1 + lsl r0, r0, #0xe + str r0, [r1, #0x10] + mov r0, #0x1 + str r2, [r1, #0x2c] + lsl r0, r0, #0xc + str r0, [r1, #0x30] + str r2, [r1, #0x34] + str r2, [r1, #0x54] + str r2, [r1, #0x58] + str r2, [r1, #0x5c] + str r2, [r1, #0x60] + str r2, [r1, #0x64] + bx lr + nop +_0201E9E0: .word 0x020FFA38 +_0201E9E4: .word 0x00001555 + + thumb_func_start sub_0201E9E8 +sub_0201E9E8: ; 0x0201E9E8 + ldr r2, [r0, #0x58] + cmp r2, #0x0 + bne _0201E9F2 + mov r2, #0x0 + str r2, [r1, #0x0] +_0201E9F2: + ldr r2, [r0, #0x5c] + cmp r2, #0x0 + bne _0201E9FC + mov r2, #0x0 + str r2, [r1, #0x4] +_0201E9FC: + ldr r0, [r0, #0x60] + cmp r0, #0x0 + bne _0201EA06 + mov r0, #0x0 + str r0, [r1, #0x8] +_0201EA06: + bx lr + + thumb_func_start sub_0201EA08 +sub_0201EA08: ; 0x0201EA08 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r7, [r5, #0x64] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r7, #0x0 + bne _0201EA20 + ldmia r4!, {r0-r1} + stmia r6!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r6, #0x0] + pop {r3-r7, pc} +_0201EA20: + add r0, r7, #0x0 + str r0, [sp, #0x0] + add r0, #0x8 + str r0, [sp, #0x0] + ldr r0, [r7, #0x10] + cmp r0, #0x0 + bne _0201EA48 + add r3, r4, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r0, [r5, #0x64] + ldr r2, [r7, #0x4] + ldr r1, [r0, #0xc] + cmp r2, r1 + bne _0201EA5C + mov r1, #0x1 + str r1, [r0, #0x10] + b _0201EA5C +_0201EA48: + ldr r2, [r7, #0x4] + mov r1, #0xc + mul r1, r2 + ldr r0, [r7, #0x20] + add r2, r6, #0x0 + add r3, r0, r1 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] +_0201EA5C: + ldr r1, [r5, #0x64] + ldr r0, [r7, #0x4] + ldr r1, [r1, #0x0] + add r0, r0, #0x1 + blx sub_020EBC80 + str r1, [r7, #0x4] + ldr r1, [sp, #0x0] + ldr r0, [r5, #0x64] + ldr r2, [r1, #0x0] + mov r1, #0xc + ldr r0, [r0, #0x20] + mul r1, r2 + add r3, r4, #0x0 + add r2, r0, r1 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r0, [sp, #0x0] + ldr r1, [r5, #0x64] + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + add r0, r0, #0x1 + blx sub_020EBC80 + ldr r0, [sp, #0x0] + str r1, [r0, #0x0] + ldr r0, [r5, #0x64] + ldr r0, [r0, #0x14] + cmp r0, #0x0 + bne _0201EAA0 + ldr r0, [r4, #0x0] + str r0, [r6, #0x0] +_0201EAA0: + ldr r0, [r5, #0x64] + ldr r0, [r0, #0x18] + cmp r0, #0x0 + bne _0201EAAC + ldr r0, [r4, #0x4] + str r0, [r6, #0x4] +_0201EAAC: + ldr r0, [r5, #0x64] + ldr r0, [r0, #0x1c] + cmp r0, #0x0 + bne _0201EAB8 + ldr r0, [r4, #0x8] + str r0, [r6, #0x8] +_0201EAB8: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201EABC +sub_0201EABC: ; 0x0201EABC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x18] + add r7, r1, #0x0 + str r0, [sp, #0x18] + ldr r0, [r0, #0x54] + add r6, r2, #0x0 + str r3, [sp, #0x0] + cmp r0, #0x0 + beq _0201EB46 + add r0, r7, #0x1 + cmp r0, r5 + ble _0201EADA + bl sub_02020C2C +_0201EADA: + ldr r0, [sp, #0x0] + mov r1, #0x24 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0xc + ldr r0, [sp, #0x0] + mul r1, r5 + bl sub_02016998 + mov r1, #0x0 + str r0, [r4, #0x20] + cmp r5, #0x0 + ble _0201EB12 + add r2, r1, #0x0 + add r0, r1, #0x0 +_0201EAFA: + ldr r3, [r4, #0x20] + add r1, r1, #0x1 + str r0, [r3, r2] + ldr r3, [r4, #0x20] + add r3, r3, r2 + str r0, [r3, #0x4] + ldr r3, [r4, #0x20] + add r3, r3, r2 + str r0, [r3, #0x8] + add r2, #0xc + cmp r1, r5 + blt _0201EAFA +_0201EB12: + str r5, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + str r7, [r4, #0x8] + str r7, [r4, #0xc] + str r0, [r4, #0x10] + str r0, [r4, #0x14] + str r0, [r4, #0x18] + str r0, [r4, #0x1c] + mov r0, #0x1 + add r1, r6, #0x0 + tst r1, r0 + beq _0201EB2E + str r0, [r4, #0x14] +_0201EB2E: + mov r0, #0x2 + tst r0, r6 + beq _0201EB38 + mov r0, #0x1 + str r0, [r4, #0x18] +_0201EB38: + mov r0, #0x4 + tst r0, r6 + beq _0201EB42 + mov r0, #0x1 + str r0, [r4, #0x1c] +_0201EB42: + ldr r0, [sp, #0x18] + str r4, [r0, #0x64] +_0201EB46: + pop {r3-r7, pc} + + thumb_func_start sub_0201EB48 +sub_0201EB48: ; 0x0201EB48 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x64] + cmp r0, #0x0 + beq _0201EB62 + ldr r0, [r0, #0x20] + bl sub_02016A18 + ldr r0, [r4, #0x64] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x64] +_0201EB62: + pop {r4, pc} + + thumb_func_start sub_0201EB64 +sub_0201EB64: ; 0x0201EB64 + ldr r3, _0201EB6C ; =sub_02016998 + mov r1, #0x68 + bx r3 + nop +_0201EB6C: .word sub_02016998 + 1 + + thumb_func_start sub_0201EB70 +sub_0201EB70: ; 0x0201EB70 + ldr r3, _0201EB74 ; =sub_02016A18 + bx r3 + .balign 4 +_0201EB74: .word sub_02016A18 + 1 + + thumb_func_start sub_0201EB78 +sub_0201EB78: ; 0x0201EB78 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0xd +_0201EB80: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0201EB80 + pop {r3-r4} + bx lr + + thumb_func_start sub_0201EB8C +sub_0201EB8C: ; 0x0201EB8C + ldr r1, _0201EB94 ; =0x021C59A4 + str r0, [r1, #0x0] + bx lr + nop +_0201EB94: .word 0x021C59A4 + + thumb_func_start sub_0201EB98 +sub_0201EB98: ; 0x0201EB98 + ldr r0, _0201EBA0 ; =0x021C59A4 + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 +_0201EBA0: .word 0x021C59A4 + + thumb_func_start sub_0201EBA4 +sub_0201EBA4: ; 0x0201EBA4 + push {r3-r6, lr} + sub sp, #0x1c + ldr r0, _0201EC40 ; =0x021C59A4 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0201EC3A + ldr r0, [r1, #0x54] + cmp r0, #0x0 + beq _0201EBEE + add r1, #0x48 + add r2, sp, #0x10 + blx sub_020C5600 + ldr r0, _0201EC40 ; =0x021C59A4 + add r1, sp, #0x10 + ldr r0, [r0, #0x0] + bl sub_0201E9E8 + ldr r0, _0201EC40 ; =0x021C59A4 + add r1, sp, #0x10 + ldr r0, [r0, #0x0] + add r2, sp, #0x4 + bl sub_0201EA08 + ldr r1, _0201EC40 ; =0x021C59A4 + add r0, sp, #0x4 + ldr r1, [r1, #0x0] + bl sub_0201EF70 + ldr r0, _0201EC40 ; =0x021C59A4 + ldr r3, [r0, #0x0] + ldr r2, [r3, #0x54] + add r3, #0x48 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] +_0201EBEE: + ldr r0, _0201EC40 ; =0x021C59A4 + ldr r5, _0201EC44 ; =0x021CEF58 + ldr r4, [r0, #0x0] + add r3, r4, #0x0 + add r2, r4, #0x0 + add r4, #0x14 + add r6, r4, #0x0 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r2, #0x2c + str r0, [r5, #0x0] + add r6, r2, #0x0 + ldr r5, _0201EC48 ; =0x021CEF64 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r3, #0x20 + str r0, [r5, #0x0] + add r6, r3, #0x0 + ldr r5, _0201EC4C ; =0x021CEF70 + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r1, r2, #0x0 + str r0, [r5, #0x0] + ldr r0, _0201EC50 ; =0x021CED64 + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + blx sub_020C80A4 + ldr r1, _0201EC54 ; =0x021CED98 + mov r0, #0xe8 + ldr r2, [r1, #0x7c] + bic r2, r0 + str r2, [r1, #0x7c] +_0201EC3A: + add sp, #0x1c + pop {r3-r6, pc} + nop +_0201EC40: .word 0x021C59A4 +_0201EC44: .word 0x021CEF58 +_0201EC48: .word 0x021CEF64 +_0201EC4C: .word 0x021CEF70 +_0201EC50: .word 0x021CED64 +_0201EC54: .word 0x021CED98 + + thumb_func_start sub_0201EC58 +sub_0201EC58: ; 0x0201EC58 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x2c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_0201EC68 +sub_0201EC68: ; 0x0201EC68 + push {r3-r4} + add r3, r1, #0x0 + add r4, r0, #0x0 + str r4, [r3, #0x54] + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r3, #0x58] + str r0, [r3, #0x5c] + str r0, [r3, #0x60] + pop {r3-r4} + bx lr + + thumb_func_start sub_0201EC88 +sub_0201EC88: ; 0x0201EC88 + mov r1, #0x0 + str r1, [r0, #0x54] + str r1, [r0, #0x58] + str r1, [r0, #0x5c] + str r1, [r0, #0x60] + bx lr + + thumb_func_start sub_0201EC94 +sub_0201EC94: ; 0x0201EC94 + str r0, [r2, #0xc] + add r0, r2, #0x0 + str r1, [r2, #0x10] + add r0, #0x44 + ldr r3, _0201ECA4 ; =sub_0201EE2C + ldrb r0, [r0, #0x0] + add r1, r2, #0x0 + bx r3 + .balign 4 +_0201ECA4: .word sub_0201EE2C + 1 + + thumb_func_start sub_0201ECA8 +sub_0201ECA8: ; 0x0201ECA8 + push {r3-r7, lr} + ldr r4, [sp, #0x20] + add r5, r0, #0x0 + add r7, r1, #0x0 + add r0, r3, #0x0 + add r1, r4, #0x0 + add r6, r2, #0x0 + bl sub_0201E99C + add r3, r5, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + str r7, [r4, #0x38] + ldrh r0, [r6, #0x0] + strh r0, [r4, #0x3c] + ldrh r0, [r6, #0x2] + strh r0, [r4, #0x3e] + add r0, r4, #0x0 + ldrh r1, [r6, #0x4] + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + ldrh r1, [r6, #0x6] + add r0, #0x42 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0201E7D8 + add r0, sp, #0x8 + ldrb r0, [r0, #0x10] + add r1, r4, #0x0 + bl sub_0201EE2C + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + beq _0201ED0E + str r5, [r4, #0x54] + add r2, r4, #0x0 + ldmia r5!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r4, #0x58] + str r0, [r4, #0x5c] + str r0, [r4, #0x60] +_0201ED0E: + pop {r3-r7, pc} + + thumb_func_start sub_0201ED10 +sub_0201ED10: ; 0x0201ED10 + push {r3-r7, lr} + ldr r4, [sp, #0x1c] + add r6, r0, #0x0 + add r7, r1, #0x0 + add r0, r3, #0x0 + add r1, r4, #0x0 + add r5, r2, #0x0 + bl sub_0201E99C + add r2, r4, #0x0 + ldmia r6!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r6, #0x0] + str r0, [r2, #0x0] + str r7, [r4, #0x38] + ldrh r0, [r5, #0x0] + strh r0, [r4, #0x3c] + ldrh r0, [r5, #0x2] + strh r0, [r4, #0x3e] + add r0, r4, #0x0 + ldrh r1, [r5, #0x4] + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + ldrh r1, [r5, #0x6] + add r0, #0x42 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0201E8B8 + add r0, sp, #0x8 + ldrb r0, [r0, #0x10] + add r1, r4, #0x0 + bl sub_0201EE2C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201ED5C +sub_0201ED5C: ; 0x0201ED5C + push {r4-r7, lr} + sub sp, #0x3c + ldr r4, [sp, #0x54] + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r2, #0x0 + add r1, r4, #0x0 + add r7, r3, #0x0 + bl sub_0201E99C + add r3, r5, #0x0 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r3, r6, #0x0 + str r0, [r2, #0x0] + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, r5, #0x0 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, sp, #0x30 + blx sub_020C5600 + add r0, sp, #0x30 + blx sub_020C53C8 + str r0, [r4, #0x38] + mov r6, #0x0 + add r0, sp, #0x24 + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + add r0, sp, #0x18 + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + add r0, sp, #0xc + str r6, [r0, #0x0] + str r6, [r0, #0x4] + str r6, [r0, #0x8] + mov r0, #0x1 + lsl r0, r0, #0xc + add r3, sp, #0x30 + str r0, [sp, #0x8] + ldmia r3!, {r0-r1} + add r2, sp, #0xc + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r6, [sp, #0x0] + str r0, [r2, #0x0] + str r6, [sp, #0x4] + str r6, [sp, #0x10] + add r0, sp, #0x0 + add r1, sp, #0xc + bl sub_0201C7B0 + strh r0, [r4, #0x3e] + add r1, r6, #0x0 + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x0] + ldr r0, [sp, #0x38] + str r1, [sp, #0x4] + str r0, [sp, #0xc] + ldr r0, [sp, #0x34] + str r1, [sp, #0x8] + str r0, [sp, #0x14] + str r1, [sp, #0x10] + add r0, sp, #0x0 + add r1, sp, #0xc + bl sub_0201C7B0 + strh r0, [r4, #0x3c] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r0, #0x40 + strh r1, [r0, #0x0] + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0201EE2C + ldr r0, [sp, #0x50] + cmp r0, #0x0 + beq _0201EE26 + str r5, [r4, #0x54] + add r2, r4, #0x0 + ldmia r5!, {r0-r1} + add r2, #0x48 + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r2, #0x0] + mov r0, #0x1 + str r0, [r4, #0x58] + str r0, [r4, #0x5c] + str r0, [r4, #0x60] +_0201EE26: + add sp, #0x3c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0201EE2C +sub_0201EE2C: ; 0x0201EE2C + push {r3-r6, lr} + sub sp, #0x14 + add r5, r1, #0x0 + cmp r0, #0x0 + bne _0201EE6C + ldr r0, [r5, #0x10] + str r0, [sp, #0x0] + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, _0201EEE4 ; =0x021CED20 + str r0, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + ldr r3, [r5, #0xc] + blx sub_020C8538 + ldr r1, _0201EEE8 ; =0x021CED98 + mov r0, #0x50 + ldr r2, [r1, #0x7c] + add r5, #0x44 + bic r2, r0 + str r2, [r1, #0x7c] + mov r1, #0x0 + ldr r0, _0201EEEC ; =0x02105BB8 + strb r1, [r5, #0x0] + str r1, [r0, #0x0] + add sp, #0x14 + pop {r3-r6, pc} +_0201EE6C: + ldr r4, [r5, #0x38] + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + blx sub_020C50B8 + asr r1, r0, #0x1f + asr r3, r4, #0x1f + add r2, r4, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsr r4, r2, #0xc + lsl r0, r1, #0x14 + orr r4, r0 + ldr r2, [r5, #0x8] + asr r1, r4, #0x1f + add r0, r4, #0x0 + asr r3, r2, #0x1f + blx sub_020EBC30 + mov r6, #0x2 + mov r2, #0x0 + lsl r6, r6, #0xa + add r3, r0, r6 + adc r1, r2 + lsl r0, r1, #0x14 + lsr r3, r3, #0xc + orr r3, r0 + ldr r0, [r5, #0xc] + neg r1, r4 + str r0, [sp, #0x0] + ldr r0, [r5, #0x10] + str r0, [sp, #0x4] + lsl r0, r6, #0x1 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + ldr r0, _0201EEE4 ; =0x021CED20 + neg r2, r3 + str r0, [sp, #0x10] + add r0, r4, #0x0 + blx sub_020C823C + ldr r1, _0201EEE8 ; =0x021CED98 + mov r0, #0x50 + ldr r2, [r1, #0x7c] + add r5, #0x44 + bic r2, r0 + str r2, [r1, #0x7c] + mov r0, #0x1 + strb r0, [r5, #0x0] + ldr r0, _0201EEEC ; =0x02105BB8 + mov r1, #0x0 + str r1, [r0, #0x0] + add sp, #0x14 + pop {r3-r6, pc} + nop +_0201EEE4: .word 0x021CED20 +_0201EEE8: .word 0x021CED98 +_0201EEEC: .word 0x02105BB8 + + thumb_func_start sub_0201EEF0 +sub_0201EEF0: ; 0x0201EEF0 + add r2, r1, #0x0 + add r2, #0x46 + strh r0, [r2, #0x0] + add r0, r1, #0x0 + add r0, #0x46 + ldrh r0, [r0, #0x0] + ldr r3, _0201EF24 ; =sub_0201EE2C + asr r0, r0, #0x4 + lsl r2, r0, #0x2 + ldr r0, _0201EF28 ; =0x020FFA38 + ldrsh r2, [r0, r2] + str r2, [r1, #0x0] + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r0, r2] + str r0, [r1, #0x4] + add r0, r1, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + bx r3 + nop +_0201EF24: .word sub_0201EE2C + 1 +_0201EF28: .word 0x020FFA38 + + thumb_func_start sub_0201EF2C +sub_0201EF2C: ; 0x0201EF2C + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + ldr r3, _0201EF68 ; =sub_0201EE2C + add r2, r2, r0 + add r0, r1, #0x0 + add r0, #0x46 + strh r2, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x46 + ldrh r0, [r0, #0x0] + asr r0, r0, #0x4 + lsl r2, r0, #0x2 + ldr r0, _0201EF6C ; =0x020FFA38 + ldrsh r2, [r0, r2] + str r2, [r1, #0x0] + add r2, r1, #0x0 + add r2, #0x46 + ldrh r2, [r2, #0x0] + asr r2, r2, #0x4 + lsl r2, r2, #0x1 + add r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrsh r0, [r0, r2] + str r0, [r1, #0x4] + add r0, r1, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + bx r3 + nop +_0201EF68: .word sub_0201EE2C + 1 +_0201EF6C: .word 0x020FFA38 + + thumb_func_start sub_0201EF70 +sub_0201EF70: ; 0x0201EF70 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + add r2, r0, #0x0 + blx sub_020C5634 + add r4, #0x20 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020C5634 + pop {r3-r5, pc} + + thumb_func_start sub_0201EF90 +sub_0201EF90: ; 0x0201EF90 + ldrh r2, [r0, #0x0] + strh r2, [r1, #0x3c] + ldrh r2, [r0, #0x2] + strh r2, [r1, #0x3e] + add r2, r1, #0x0 + ldrh r3, [r0, #0x4] + add r2, #0x40 + strh r3, [r2, #0x0] + ldrh r2, [r0, #0x6] + add r0, r1, #0x0 + add r0, #0x42 + strh r2, [r0, #0x0] + ldr r3, _0201EFB0 ; =sub_0201E7D8 + add r0, r1, #0x0 + bx r3 + nop +_0201EFB0: .word sub_0201E7D8 + 1 + + thumb_func_start sub_0201EFB4 +sub_0201EFB4: ; 0x0201EFB4 + ldrh r3, [r1, #0x3c] + ldrh r2, [r0, #0x0] + add r2, r3, r2 + strh r2, [r1, #0x3c] + ldrh r3, [r1, #0x3e] + ldrh r2, [r0, #0x2] + add r2, r3, r2 + strh r2, [r1, #0x3e] + add r2, r1, #0x0 + add r2, #0x40 + ldrh r2, [r2, #0x0] + ldrh r0, [r0, #0x4] + ldr r3, _0201EFDC ; =sub_0201E8B8 + add r2, r2, r0 + add r0, r1, #0x0 + add r0, #0x40 + strh r2, [r0, #0x0] + add r0, r1, #0x0 + bx r3 + nop +_0201EFDC: .word sub_0201E8B8 + 1 + + thumb_func_start sub_0201EFE0 +sub_0201EFE0: ; 0x0201EFE0 + ldr r3, _0201EFE8 ; =sub_0201E7D8 + str r0, [r1, #0x38] + add r0, r1, #0x0 + bx r3 + .balign 4 +_0201EFE8: .word sub_0201E7D8 + 1 + + thumb_func_start sub_0201EFEC +sub_0201EFEC: ; 0x0201EFEC + push {r4, lr} + add r3, r1, #0x0 + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + add r0, r3, #0x0 + bl sub_0201E7D8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F008 +sub_0201F008: ; 0x0201F008 + add r0, #0x46 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0201F010 +sub_0201F010: ; 0x0201F010 + ldr r0, [r0, #0x38] + bx lr + + thumb_func_start sub_0201F014 +sub_0201F014: ; 0x0201F014 + ldrh r2, [r1, #0x3c] + strh r2, [r0, #0x0] + ldrh r2, [r1, #0x3e] + strh r2, [r0, #0x2] + add r2, r1, #0x0 + add r2, #0x40 + ldrh r2, [r2, #0x0] + add r1, #0x42 + strh r2, [r0, #0x4] + ldrh r1, [r1, #0x0] + strh r1, [r0, #0x6] + bx lr + + thumb_func_start sub_0201F02C +sub_0201F02C: ; 0x0201F02C + add r2, r1, #0x0 + add r2, #0x20 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_0201F03C +sub_0201F03C: ; 0x0201F03C + add r2, r1, #0x0 + add r2, #0x14 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_0201F04C +sub_0201F04C: ; 0x0201F04C + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x20 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_0201F05C +sub_0201F05C: ; 0x0201F05C + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x14 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_0201F06C +sub_0201F06C: ; 0x0201F06C + mov r2, #0x0 + strb r2, [r0, #0x0] + strb r2, [r0, #0x1] + str r2, [r0, #0x4] + add r1, r0, #0x0 + str r2, [r0, #0x8] + add r1, #0xc4 + str r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xc8 + str r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xcc + str r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xd0 + str r2, [r1, #0x0] + strb r2, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start sub_0201F094 +sub_0201F094: ; 0x0201F094 + mov r3, #0x0 + str r3, [r0, #0x1c] + str r3, [r0, #0x20] + str r3, [r0, #0x78] + add r1, r0, #0x0 + str r3, [r0, #0x7c] + add r1, #0x80 + str r3, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x84 + add r2, r0, #0x0 + str r3, [r1, #0x0] + add r2, #0x94 + mov r1, #0x10 +_0201F0B0: + strb r3, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0201F0B0 + add r2, r0, #0x0 + mov r1, #0x0 + add r2, #0x88 + str r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0x8c + str r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0x90 + str r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xa4 + str r1, [r2, #0x0] + str r1, [r0, #0x0] + str r1, [r0, #0x4] + mov r2, #0x1 + str r1, [r0, #0x8] + lsl r2, r2, #0xc + str r2, [r0, #0xc] + str r2, [r0, #0x10] + str r2, [r0, #0x14] + add r2, r0, #0x0 + add r2, #0xaa + strh r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xa8 + strb r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xb0 + str r1, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xb4 + str r1, [r2, #0x0] + strb r1, [r0, #0x18] + bx lr + .balign 4 + + thumb_func_start sub_0201F100 +sub_0201F100: ; 0x0201F100 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, _0201F13C ; =0x021C59A8 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201F112 + bl sub_02020C2C +_0201F112: + mov r1, #0xd4 + add r0, r4, #0x0 + mul r1, r6 + bl sub_02016998 + ldr r7, _0201F13C ; =0x021C59A8 + mov r4, #0x0 + str r0, [r7, #0x0] + str r6, [r7, #0x4] + cmp r6, #0x0 + ble _0201F13A + add r5, r4, #0x0 +_0201F12A: + ldr r0, [r7, #0x0] + add r0, r0, r5 + bl sub_0201F06C + add r4, r4, #0x1 + add r5, #0xd4 + cmp r4, r6 + blt _0201F12A +_0201F13A: + pop {r3-r7, pc} + .balign 4 +_0201F13C: .word 0x021C59A8 + + thumb_func_start sub_0201F140 +sub_0201F140: ; 0x0201F140 + push {r4-r6, lr} + ldr r6, _0201F174 ; =0x021C59A8 + mov r4, #0x0 + ldr r0, [r6, #0x4] + cmp r0, #0x0 + ble _0201F160 + add r5, r4, #0x0 +_0201F14E: + ldr r0, [r6, #0x0] + add r0, r0, r5 + bl sub_0201F23C + ldr r0, [r6, #0x4] + add r4, r4, #0x1 + add r5, #0xd4 + cmp r4, r0 + blt _0201F14E +_0201F160: + ldr r0, _0201F174 ; =0x021C59A8 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0201F174 ; =0x021C59A8 + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + pop {r4-r6, pc} + nop +_0201F174: .word 0x021C59A8 + + thumb_func_start sub_0201F178 +sub_0201F178: ; 0x0201F178 + push {r3-r7, lr} + ldr r6, _0201F1B0 ; =0x021C59A8 + mov r4, #0x0 + ldr r0, [r6, #0x4] + cmp r0, #0x0 + ble _0201F1AC + add r5, r4, #0x0 + mov r7, #0x2 +_0201F188: + ldr r0, [r6, #0x0] + add r0, r0, r5 + ldrb r1, [r0, #0x1] + cmp r1, #0x1 + bne _0201F196 + bl sub_0201F318 +_0201F196: + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldrb r0, [r1, #0x3] + cmp r0, #0x1 + bne _0201F1A2 + strb r7, [r1, #0x3] +_0201F1A2: + ldr r0, [r6, #0x4] + add r4, r4, #0x1 + add r5, #0xd4 + cmp r4, r0 + blt _0201F188 +_0201F1AC: + pop {r3-r7, pc} + nop +_0201F1B0: .word 0x021C59A8 + + thumb_func_start sub_0201F1B4 +sub_0201F1B4: ; 0x0201F1B4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0201F2E4 + add r4, r0, #0x0 + bne _0201F1C8 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0201F1C8: + mov r0, #0x1 + strb r0, [r4, #0x0] + strb r0, [r4, #0x1] + ldr r2, [r5, #0x0] + mov r1, #0xb8 + ldr r0, [r5, #0x4] + mul r1, r2 + bl sub_02016998 + str r0, [r4, #0x4] + ldr r0, [r5, #0x0] + str r0, [r4, #0x8] + add r0, r4, #0x0 + add r0, #0xc + bl sub_0201F094 + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0xc + add r0, #0xbc + str r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0xc0 + str r1, [r0, #0x0] + ldr r1, [r5, #0x0] + ldr r0, [r5, #0x4] + lsl r1, r1, #0x2 + bl sub_02016998 + add r1, r4, #0x0 + add r1, #0xc4 + str r0, [r1, #0x0] + add r0, r4, #0x0 + bl sub_0201FABC + ldr r0, [r5, #0x4] + mov r1, #0x10 + bl sub_02016998 + add r1, r4, #0x0 + add r1, #0xcc + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0xcc + ldr r0, [r0, #0x0] + ldr r1, [r5, #0x4] + mov r2, #0x4 + bl sub_02016B20 + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + bl sub_0201C360 + add r1, r4, #0x0 + add r1, #0xd0 + str r0, [r1, #0x0] + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0201F23C +sub_0201F23C: ; 0x0201F23C + push {r4, lr} + add r4, r0, #0x0 + bne _0201F24A + bl sub_02020C2C + mov r0, #0x0 + pop {r4, pc} +_0201F24A: + ldrb r1, [r4, #0x0] + cmp r1, #0x0 + beq _0201F27E + bl sub_0201F284 + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0xc4 + ldr r0, [r0, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0xcc + ldr r0, [r0, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + bl sub_0201C39C + add r0, r4, #0x0 + bl sub_0201F06C +_0201F27E: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F284 +sub_0201F284: ; 0x0201F284 + push {r3-r5, lr} + cmp r0, #0x0 + bne _0201F294 + bne _0201F290 + bl sub_02020C2C +_0201F290: + mov r0, #0x0 + pop {r3-r5, pc} +_0201F294: + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + beq _0201F2BA + add r1, r0, #0x0 + add r1, #0xbc + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + add r4, #0xc + cmp r1, r4 + beq _0201F2BA +_0201F2A8: + add r0, r1, #0x0 + add r0, #0xb0 + ldr r5, [r0, #0x0] + add r0, r1, #0x0 + bl sub_0201F744 + add r1, r5, #0x0 + cmp r5, r4 + bne _0201F2A8 +_0201F2BA: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F2C0 +sub_0201F2C0: ; 0x0201F2C0 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F2CA + bl sub_02020C2C +_0201F2CA: + ldrb r0, [r4, #0x3] + cmp r0, #0x0 + bne _0201F2D4 + mov r0, #0x0 + pop {r4, pc} +_0201F2D4: + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0201F2D8 +sub_0201F2D8: ; 0x0201F2D8 + ldrb r1, [r0, #0x3] + cmp r1, #0x2 + bne _0201F2E2 + mov r1, #0x0 + strb r1, [r0, #0x3] +_0201F2E2: + bx lr + + thumb_func_start sub_0201F2E4 +sub_0201F2E4: ; 0x0201F2E4 + push {r3-r4} + ldr r0, _0201F314 ; =0x021C59A8 + mov r1, #0x0 + ldr r3, [r0, #0x4] + cmp r3, #0x0 + ble _0201F30C + ldr r4, [r0, #0x0] + add r2, r4, #0x0 +_0201F2F4: + ldrb r0, [r2, #0x0] + cmp r0, #0x0 + bne _0201F304 + mov r0, #0xd4 + mul r0, r1 + add r0, r4, r0 + pop {r3-r4} + bx lr +_0201F304: + add r1, r1, #0x1 + add r2, #0xd4 + cmp r1, r3 + blt _0201F2F4 +_0201F30C: + mov r0, #0x0 + pop {r3-r4} + bx lr + nop +_0201F314: .word 0x021C59A8 + + thumb_func_start sub_0201F318 +sub_0201F318: ; 0x0201F318 + push {r3-r6, lr} + sub sp, #0x24 + add r5, r0, #0x0 + bne _0201F324 + bl sub_02020C2C +_0201F324: + add r0, sp, #0x0 + blx sub_020C3F14 + add r0, r5, #0x0 + add r0, #0xbc + ldr r4, [r0, #0x0] + add r5, #0xc + cmp r4, r5 + beq _0201F37E + add r6, sp, #0x0 +_0201F338: + ldrb r0, [r4, #0x18] + cmp r0, #0x1 + bne _0201F376 + add r0, r4, #0x0 + bl sub_0201FC54 + add r0, r4, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bne _0201F356 + add r0, r4, #0x0 + bl sub_0201F90C + b _0201F360 +_0201F356: + cmp r0, #0x2 + bne _0201F360 + add r0, r4, #0x0 + bl sub_0201F8F0 +_0201F360: + add r0, r4, #0x0 + add r3, r4, #0x0 + add r0, #0x24 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, #0xc + bl sub_0201B26C + add r0, r4, #0x0 + bl sub_0201FC70 +_0201F376: + add r4, #0xb0 + ldr r4, [r4, #0x0] + cmp r4, r5 + bne _0201F338 +_0201F37E: + add sp, #0x24 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0201F384 +sub_0201F384: ; 0x0201F384 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r6, [r5, #0x1c] + add r4, r1, #0x0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0201F5B8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201F5D4 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201F648 + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0201F3BA + add r6, #0xc + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0201FB58 +_0201F3BA: + add r0, r5, #0x0 + mov r1, #0x2 + add r0, #0xa8 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x8] + mov r1, #0x0 + str r0, [r5, #0x20] + add r0, r5, #0x0 + add r0, #0xaa + strh r1, [r0, #0x0] + add r5, #0xac + str r1, [r5, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_0201F3D4 +sub_0201F3D4: ; 0x0201F3D4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r6, [r5, #0x1c] + add r4, r1, #0x0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0201F5B8 + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0201F3FE + add r0, r5, #0x0 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r0, #0x88 + add r1, #0x8c + add r2, #0x90 + bl sub_0201F524 +_0201F3FE: + add r0, r5, #0x0 + ldr r1, [r4, #0x1c] + add r0, #0x88 + str r1, [r0, #0x0] + add r0, r5, #0x0 + ldr r1, [r4, #0x20] + add r0, #0x8c + str r1, [r0, #0x0] + add r0, r5, #0x0 + ldr r1, [r4, #0x24] + add r0, #0x90 + str r1, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201F69C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201F6C8 + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0201F43A + add r6, #0xc + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0201FB58 +_0201F43A: + add r0, r5, #0x0 + mov r1, #0x3 + add r0, #0xa8 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x8] + mov r1, #0x0 + str r0, [r5, #0x20] + add r0, r5, #0x0 + add r0, #0xaa + strh r1, [r0, #0x0] + add r5, #0xac + str r1, [r5, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_0201F454 +sub_0201F454: ; 0x0201F454 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + blx sub_020B7E1C + str r0, [sp, #0x8] + add r0, r5, #0x0 + blx sub_020B7E10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + blx sub_020B7CE4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _0201F492 + ldr r3, _0201F4E4 ; =0x021064B8 + mov r1, #0x0 + ldr r3, [r3, #0x0] + add r2, r1, #0x0 + blx r3 + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _0201F496 + bl sub_02020C2C + b _0201F496 +_0201F492: + mov r0, #0x0 + str r0, [r4, #0x0] +_0201F496: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0201F4B2 + ldr r3, _0201F4E4 ; =0x021064B8 + mov r1, #0x1 + ldr r3, [r3, #0x0] + mov r2, #0x0 + blx r3 + str r0, [r6, #0x0] + cmp r0, #0x0 + bne _0201F4B6 + bl sub_02020C2C + b _0201F4B6 +_0201F4B2: + mov r0, #0x0 + str r0, [r6, #0x0] +_0201F4B6: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _0201F4DA + ldr r3, _0201F4E8 ; =0x021064C0 + mov r1, #0x2 + ldrh r2, [r5, #0x20] + lsl r1, r1, #0xe + ldr r3, [r3, #0x0] + and r1, r2 + mov r2, #0x0 + blx r3 + str r0, [r7, #0x0] + cmp r0, #0x0 + bne _0201F4DE + bl sub_02020C2C + add sp, #0xc + pop {r4-r7, pc} +_0201F4DA: + mov r0, #0x0 + str r0, [r7, #0x0] +_0201F4DE: + add sp, #0xc + pop {r4-r7, pc} + nop +_0201F4E4: .word 0x021064B8 +_0201F4E8: .word 0x021064C0 + + thumb_func_start sub_0201F4EC +sub_0201F4EC: ; 0x0201F4EC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r3, #0x0 + blx sub_020B7CF0 + add r0, r5, #0x0 + blx sub_020B7C58 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201F500 +sub_0201F500: ; 0x0201F500 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [r2, #0x0] + ldr r2, [r3, #0x0] + add r5, r0, #0x0 + blx sub_020B7DFC + ldr r1, [sp, #0x10] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + blx sub_020B7CDC + add r0, r4, #0x0 + add r1, r5, #0x0 + blx sub_020B7790 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F524 +sub_0201F524: ; 0x0201F524 + push {r3-r5, lr} + ldr r0, [r0, #0x0] + add r5, r1, #0x0 + add r4, r2, #0x0 + cmp r0, #0x0 + beq _0201F536 + ldr r1, _0201F550 ; =0x021064BC + ldr r1, [r1, #0x0] + blx r1 +_0201F536: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _0201F542 + ldr r1, _0201F550 ; =0x021064BC + ldr r1, [r1, #0x0] + blx r1 +_0201F542: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0201F54E + ldr r1, _0201F554 ; =0x021064C4 + ldr r1, [r1, #0x0] + blx r1 +_0201F54E: + pop {r3-r5, pc} + .balign 4 +_0201F550: .word 0x021064BC +_0201F554: .word 0x021064C4 + + thumb_func_start sub_0201F558 +sub_0201F558: ; 0x0201F558 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + beq _0201F568 + cmp r5, #0x0 + bne _0201F56E +_0201F568: + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0201F56E: + blx sub_020B7E1C + str r0, [sp, #0x0] + add r0, r4, #0x0 + blx sub_020B7E10 + str r0, [sp, #0x4] + add r0, r4, #0x0 + blx sub_020B7CE4 + add r4, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7E1C + add r6, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7E10 + add r7, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7CE4 + ldr r1, [sp, #0x0] + cmp r1, r6 + bne _0201F5AA + ldr r1, [sp, #0x4] + cmp r1, r7 + bne _0201F5AA + cmp r4, r0 + beq _0201F5B0 +_0201F5AA: + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0201F5B0: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201F5B8 +sub_0201F5B8: ; 0x0201F5B8 + push {r4, lr} + add r4, r1, #0x0 + add r0, r4, #0x0 + add r0, #0xa4 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0201F5D0 + bl sub_0201C40C + mov r0, #0x0 + add r4, #0xa4 + str r0, [r4, #0x0] +_0201F5D0: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F5D4 +sub_0201F5D4: ; 0x0201F5D4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + add r0, r1, #0x0 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r1, #0x7c + add r2, #0x80 + bl sub_0201FB9C + str r0, [r5, #0x78] + add r0, r5, #0x0 + ldr r1, [r5, #0x7c] + add r0, #0x24 + blx sub_020B80B4 + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _0201F60E + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + bl sub_0201F558 + b _0201F610 +_0201F60E: + mov r0, #0x0 +_0201F610: + cmp r0, #0x0 + bne _0201F644 + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0201F62E + add r0, r5, #0x0 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r0, #0x88 + add r1, #0x8c + add r2, #0x90 + bl sub_0201F524 +_0201F62E: + add r0, r5, #0x0 + add r0, #0x80 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r5, #0x90 + ldr r0, [r0, #0x0] + add r1, #0x88 + add r2, #0x8c + add r3, r5, #0x0 + bl sub_0201F454 +_0201F644: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F648 +sub_0201F648: ; 0x0201F648 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r2, #0x0 + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r4, #0x0 + bl sub_0201FBCC + add r1, r5, #0x0 + add r1, #0x84 + add r3, r5, #0x0 + add r3, #0x94 + str r0, [r1, #0x0] + add r4, #0xc + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + add r1, r2, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r0, #0xac + ldr r0, [r0, #0x0] + add r2, r5, #0x0 + add r3, r5, #0x0 + str r0, [sp, #0x4] + add r6, #0xd0 + add r2, #0x84 + add r3, #0x88 + ldr r0, [r6, #0x0] + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + bl sub_0201C3B4 + add r5, #0xa4 + str r0, [r5, #0x0] + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_0201F69C +sub_0201F69C: ; 0x0201F69C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r0, r4, #0x0 + add r1, #0x7c + add r2, #0x80 + bl sub_0201FB9C + str r0, [r5, #0x78] + add r0, r5, #0x0 + ldr r1, [r5, #0x7c] + add r0, #0x24 + blx sub_020B80B4 + add r0, r4, #0x0 + bl sub_0201FBCC + add r5, #0x84 + str r0, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201F6C8 +sub_0201F6C8: ; 0x0201F6C8 + push {r3-r4} + add r4, r0, #0x0 + add r2, r4, #0x0 + add r3, r1, #0x0 + add r3, #0xc + add r2, #0x94 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0x0 + add r4, #0xa4 + str r0, [r4, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0201F6E8 +sub_0201F6E8: ; 0x0201F6E8 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r6, [r5, #0x0] + cmp r6, #0x0 + bne _0201F6F6 + mov r0, #0x0 + pop {r4-r6, pc} +_0201F6F6: + add r0, r6, #0x0 + bl sub_0201FAF4 + add r4, r0, #0x0 + bne _0201F704 + mov r0, #0x0 + pop {r4-r6, pc} +_0201F704: + add r3, r5, #0x0 + str r6, [r4, #0x1c] + add r3, #0x8 + ldmia r3!, {r0-r1} + add r2, r4, #0x0 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r3, r5, #0x0 + str r0, [r2, #0x0] + add r3, #0x14 + add r2, r4, #0x0 + ldmia r3!, {r0-r1} + add r2, #0xc + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + mov r1, #0x0 + str r0, [r2, #0x0] + add r0, r4, #0x0 + add r0, #0xaa + strh r1, [r0, #0x0] + mov r1, #0x1 + add r0, r4, #0x0 + strb r1, [r4, #0x18] + add r0, #0xa8 + strb r1, [r0, #0x0] + ldr r1, [r5, #0x4] + add r0, r4, #0x0 + bl sub_0201FBD8 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201F744 +sub_0201F744: ; 0x0201F744 + push {r3-r5, lr} + add r5, r0, #0x0 + bne _0201F74E + bl sub_02020C2C +_0201F74E: + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0201F75C + bl sub_02020C2C +_0201F75C: + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + ldr r4, [r5, #0x1c] + cmp r0, #0x0 + bne _0201F76C + mov r0, #0x0 + pop {r3-r5, pc} +_0201F76C: + add r0, r5, #0x0 + bl sub_0201FB7C + add r0, r5, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0201F78C + add r0, r5, #0x0 + add r1, r5, #0x0 + add r2, r5, #0x0 + add r0, #0x88 + add r1, #0x8c + add r2, #0x90 + bl sub_0201F524 +_0201F78C: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0201F5B8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0201FB20 + mov r0, #0x1 + strb r0, [r4, #0x3] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F7A4 +sub_0201F7A4: ; 0x0201F7A4 + push {r3-r4} + add r4, r0, #0x0 + str r1, [r4, #0x0] + str r2, [r4, #0x4] + str r3, [r4, #0x8] + ldr r3, [sp, #0x8] + add r2, r4, #0x0 + add r2, #0xc + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0x0 + str r0, [r4, #0x1c] + str r0, [r4, #0x20] + str r0, [r4, #0x24] + pop {r3-r4} + bx lr + + thumb_func_start sub_0201F7C8 +sub_0201F7C8: ; 0x0201F7C8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + bne _0201F7D6 + bl sub_02020C2C +_0201F7D6: + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201F7E0 +sub_0201F7E0: ; 0x0201F7E0 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F7EA + bl sub_02020C2C +_0201F7EA: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F7F0 +sub_0201F7F0: ; 0x0201F7F0 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + bne _0201F7FE + bl sub_02020C2C +_0201F7FE: + ldmia r5!, {r0-r1} + add r4, #0xc + stmia r4!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F80C +sub_0201F80C: ; 0x0201F80C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0201F81A + bl sub_02020C2C +_0201F81A: + strb r4, [r5, #0x18] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F820 +sub_0201F820: ; 0x0201F820 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F82A + bl sub_02020C2C +_0201F82A: + ldrb r0, [r4, #0x18] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F830 +sub_0201F830: ; 0x0201F830 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0201F83E + bl sub_02020C2C +_0201F83E: + add r5, #0xaa + strh r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201F844 +sub_0201F844: ; 0x0201F844 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F84E + bl sub_02020C2C +_0201F84E: + add r4, #0xaa + ldrh r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_0201F854 +sub_0201F854: ; 0x0201F854 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0201F862 + bl sub_02020C2C +_0201F862: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0201FBFC + pop {r3-r5, pc} + + thumb_func_start sub_0201F86C +sub_0201F86C: ; 0x0201F86C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0201F87A + bl sub_02020C2C +_0201F87A: + add r5, #0xac + str r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0201F880 +sub_0201F880: ; 0x0201F880 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F88A + bl sub_02020C2C +_0201F88A: + add r4, #0xac + ldr r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_0201F890 +sub_0201F890: ; 0x0201F890 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0201F89E + bl sub_02020C2C +_0201F89E: + add r1, r5, #0x0 + add r1, #0xaa + ldrh r1, [r1, #0x0] + add r0, r5, #0x0 + bl sub_0201FBEC + add r1, r5, #0x0 + add r1, #0xac + str r0, [r1, #0x0] + add r0, r5, #0x0 + add r0, #0xac + ldr r0, [r0, #0x0] + add r5, #0xac + add r0, r0, r4 + str r0, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201F8C0 +sub_0201F8C0: ; 0x0201F8C0 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F8CA + bl sub_02020C2C +_0201F8CA: + add r1, r4, #0x0 + add r1, #0xaa + ldrh r1, [r1, #0x0] + add r0, r4, #0x0 + bl sub_0201FBEC + add r4, #0xac + ldr r1, [r4, #0x0] + sub r0, r1, r0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F8E0 +sub_0201F8E0: ; 0x0201F8E0 + push {r4, lr} + add r4, r0, #0x0 + bne _0201F8EA + bl sub_02020C2C +_0201F8EA: + ldr r0, [r4, #0x7c] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201F8F0 +sub_0201F8F0: ; 0x0201F8F0 + push {r3, lr} + add r1, r0, #0x0 + add r0, #0xa8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0201F90A + add r0, r1, #0x0 + add r0, #0xa4 + add r1, #0xac + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + bl sub_0201C438 +_0201F90A: + pop {r3, pc} + + thumb_func_start sub_0201F90C +sub_0201F90C: ; 0x0201F90C + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0xac + ldr r1, [r1, #0x0] + add r0, #0x94 + lsl r1, r1, #0x4 + lsr r1, r1, #0x10 + bl sub_02022244 + add r2, sp, #0x0 + strb r0, [r2, #0x0] + lsr r0, r0, #0x8 + strb r0, [r2, #0x1] + ldrb r0, [r2, #0x0] + add r1, r4, #0x0 + add r1, #0x84 + strb r0, [r2, #0x2] + ldrb r0, [r2, #0x1] + strb r0, [r2, #0x3] + ldrb r2, [r2, #0x2] + ldr r0, [r4, #0x7c] + ldr r1, [r1, #0x0] + bl sub_0201F954 + add r2, sp, #0x0 + ldr r0, [r4, #0x7c] + add r4, #0x84 + ldrb r2, [r2, #0x3] + ldr r1, [r4, #0x0] + bl sub_0201FA04 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201F954 +sub_0201F954: ; 0x0201F954 + push {r3-r7, lr} + ldr r3, [r0, #0x8] + mov r5, #0x0 + add r6, r0, r3 + ldrh r0, [r0, r3] + add r3, r1, #0x0 + add r1, #0x42 + ldrh r1, [r1, #0x0] + add r3, #0x3c + add r4, r6, r0 + add r0, r3, r1 + ldrh r1, [r3, r1] + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x4] + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + ldrb r0, [r4, #0x1] + cmp r0, #0x0 + ble _0201F9A2 +_0201F97C: + ldrh r0, [r4, #0x6] + add r1, r4, r0 + ldrh r0, [r4, r0] + add r2, r1, #0x4 + add r1, r0, #0x0 + mul r1, r5 + add r1, r2, r1 + ldrb r2, [r1, #0x3] + mov r0, #0x1 + tst r0, r2 + beq _0201F99A + add r0, r6, #0x0 + add r2, r7, #0x0 + bl sub_0201F9A4 +_0201F99A: + ldrb r0, [r4, #0x1] + add r5, r5, #0x1 + cmp r5, r0 + blt _0201F97C +_0201F9A2: + pop {r3-r7, pc} + + thumb_func_start sub_0201F9A4 +sub_0201F9A4: ; 0x0201F9A4 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r0, r1, #0x0 + ldrh r0, [r0, #0x0] + str r1, [sp, #0x0] + add r7, r2, #0x0 + add r0, r6, r0 + str r0, [sp, #0x4] + add r0, r1, #0x0 + ldrb r0, [r0, #0x2] + mov r4, #0x0 + cmp r0, #0x0 + ble _0201F9FC + add r0, r6, #0x4 + str r0, [sp, #0x8] +_0201F9C4: + ldrh r2, [r6, #0xa] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x8] + add r0, r0, r2 + ldrh r2, [r1, r2] + ldr r1, [sp, #0x4] + ldrb r1, [r1, r4] + mul r1, r2 + add r0, r0, r1 + ldr r0, [r0, #0x4] + add r5, r6, r0 + ldr r0, [r5, #0x14] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r0, r7 + ldr r0, _0201FA00 ; =0x0000FFFF + cmp r1, r0 + bls _0201F9EC + bl sub_02020C2C +_0201F9EC: + ldr r0, [r5, #0x14] + add r4, r4, #0x1 + add r0, r0, r7 + str r0, [r5, #0x14] + ldr r0, [sp, #0x0] + ldrb r0, [r0, #0x2] + cmp r4, r0 + blt _0201F9C4 +_0201F9FC: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0201FA00: .word 0x0000FFFF + + thumb_func_start sub_0201FA04 +sub_0201FA04: ; 0x0201FA04 + push {r3-r7, lr} + ldr r3, [r0, #0x8] + add r7, r0, r3 + ldrh r0, [r7, #0x2] + add r4, r7, r0 + ldrh r0, [r1, #0x34] + add r5, r1, r0 + ldrh r0, [r5, #0x6] + add r1, r5, r0 + ldrh r0, [r5, r0] + add r3, r1, #0x4 + add r1, r0, #0x0 + mul r1, r2 + add r0, r3, r1 + ldrh r6, [r3, r1] + ldrh r1, [r0, #0x2] + mov r0, #0x1 + tst r0, r1 + bne _0201FA2C + lsr r6, r6, #0x1 +_0201FA2C: + ldrb r0, [r4, #0x1] + mov r5, #0x0 + cmp r0, #0x0 + bls _0201FA5A +_0201FA34: + ldrh r0, [r4, #0x6] + add r1, r4, r0 + ldrh r0, [r4, r0] + add r2, r1, #0x4 + add r1, r0, #0x0 + mul r1, r5 + add r1, r2, r1 + ldrb r2, [r1, #0x3] + mov r0, #0x1 + tst r0, r2 + beq _0201FA52 + add r0, r7, #0x0 + add r2, r6, #0x0 + bl sub_0201FA5C +_0201FA52: + ldrb r0, [r4, #0x1] + add r5, r5, #0x1 + cmp r5, r0 + blo _0201FA34 +_0201FA5A: + pop {r3-r7, pc} + + thumb_func_start sub_0201FA5C +sub_0201FA5C: ; 0x0201FA5C + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r0, r1, #0x0 + ldrh r0, [r0, #0x0] + str r1, [sp, #0x0] + add r7, r2, #0x0 + add r0, r6, r0 + str r0, [sp, #0x4] + add r0, r1, #0x0 + ldrb r0, [r0, #0x2] + mov r4, #0x0 + cmp r0, #0x0 + bls _0201FAB4 + add r0, r6, #0x4 + str r0, [sp, #0x8] +_0201FA7C: + ldrh r2, [r6, #0xa] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x8] + add r0, r0, r2 + ldrh r2, [r1, r2] + ldr r1, [sp, #0x4] + ldrb r1, [r1, r4] + mul r1, r2 + add r0, r0, r1 + ldr r0, [r0, #0x4] + add r5, r6, r0 + ldrh r1, [r5, #0x1c] + ldr r0, _0201FAB8 ; =0x00001FFF + and r0, r1 + add r1, r0, r7 + ldr r0, _0201FAB8 ; =0x00001FFF + cmp r1, r0 + bls _0201FAA4 + bl sub_02020C2C +_0201FAA4: + ldrh r0, [r5, #0x1c] + add r4, r4, #0x1 + add r0, r0, r7 + strh r0, [r5, #0x1c] + ldr r0, [sp, #0x0] + ldrb r0, [r0, #0x2] + cmp r4, r0 + blo _0201FA7C +_0201FAB4: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0201FAB8: .word 0x00001FFF + + thumb_func_start sub_0201FABC +sub_0201FABC: ; 0x0201FABC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + mov r7, #0x0 + cmp r0, #0x0 + ble _0201FAEC + add r4, r7, #0x0 + add r6, r7, #0x0 +_0201FACC: + ldr r0, [r5, #0x4] + add r0, r0, r4 + bl sub_0201F094 + ldr r0, [r5, #0x4] + add r7, r7, #0x1 + add r1, r0, r4 + add r0, r5, #0x0 + add r0, #0xc4 + ldr r0, [r0, #0x0] + add r4, #0xb8 + str r1, [r0, r6] + ldr r0, [r5, #0x8] + add r6, r6, #0x4 + cmp r7, r0 + blt _0201FACC +_0201FAEC: + mov r0, #0x0 + add r5, #0xc8 + str r0, [r5, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_0201FAF4 +sub_0201FAF4: ; 0x0201FAF4 + add r1, r0, #0x0 + add r1, #0xc8 + ldr r3, [r1, #0x0] + ldr r1, [r0, #0x8] + cmp r3, r1 + blt _0201FB04 + mov r0, #0x0 + bx lr +_0201FB04: + add r1, r0, #0x0 + add r1, #0xc4 + ldr r2, [r1, #0x0] + lsl r1, r3, #0x2 + ldr r2, [r2, r1] + add r1, r0, #0x0 + add r1, #0xc8 + ldr r1, [r1, #0x0] + add r0, #0xc8 + add r1, r1, #0x1 + str r1, [r0, #0x0] + add r0, r2, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0201FB20 +sub_0201FB20: ; 0x0201FB20 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0xc8 + ldr r0, [r0, #0x0] + add r4, r1, #0x0 + cmp r0, #0x0 + bgt _0201FB32 + mov r0, #0x0 + pop {r3-r5, pc} +_0201FB32: + add r0, r4, #0x0 + bl sub_0201F094 + add r0, r5, #0x0 + add r0, #0xc8 + ldr r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r5, #0x0 + add r0, #0xc8 + str r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xc4 + add r5, #0xc8 + ldr r1, [r0, #0x0] + ldr r0, [r5, #0x0] + lsl r0, r0, #0x2 + str r4, [r1, r0] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0201FB58 +sub_0201FB58: ; 0x0201FB58 + add r2, r0, #0x0 + add r2, #0xb4 + ldr r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb4 + str r3, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xb4 + ldr r2, [r2, #0x0] + add r2, #0xb0 + str r1, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb0 + str r0, [r2, #0x0] + add r0, #0xb4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0201FB7C +sub_0201FB7C: ; 0x0201FB7C + add r1, r0, #0x0 + add r1, #0xb0 + ldr r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xb4 + ldr r1, [r1, #0x0] + add r1, #0xb0 + str r2, [r1, #0x0] + add r1, r0, #0x0 + add r0, #0xb0 + add r1, #0xb4 + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + add r0, #0xb4 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0201FB9C +sub_0201FB9C: ; 0x0201FB9C + push {r3-r7, lr} + add r6, r1, #0x0 + mov r1, #0x0 + add r5, r2, #0x0 + bl sub_0201FC90 + add r7, r0, #0x0 + blx sub_020BC13C + add r4, r0, #0x0 + ldrh r0, [r4, #0xe] + add r0, r4, r0 + ldr r0, [r0, #0xc] + add r0, r4, r0 + str r0, [r6, #0x0] + cmp r5, #0x0 + beq _0201FBC6 + add r0, r7, #0x0 + blx sub_020BC0FC + str r0, [r5, #0x0] +_0201FBC6: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0201FBCC +sub_0201FBCC: ; 0x0201FBCC + ldr r3, _0201FBD4 ; =sub_0201FC90 + mov r1, #0x1 + bx r3 + nop +_0201FBD4: .word sub_0201FC90 + 1 + + thumb_func_start sub_0201FBD8 +sub_0201FBD8: ; 0x0201FBD8 + push {r3, lr} + ldr r2, [r1, #0x1c] + cmp r2, #0x0 + bne _0201FBE6 + bl sub_0201F384 + pop {r3, pc} +_0201FBE6: + bl sub_0201F3D4 + pop {r3, pc} + + thumb_func_start sub_0201FBEC +sub_0201FBEC: ; 0x0201FBEC + push {r3, lr} + ldr r0, [r0, #0x20] + bl sub_0201FCA8 + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0201FBFC +sub_0201FBFC: ; 0x0201FBFC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r1, r5, #0x0 + add r1, #0xaa + ldrh r1, [r1, #0x0] + ldr r0, [r5, #0x20] + bl sub_0201FCA8 + add r5, #0xac + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0201FC1C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0201FC1C +sub_0201FC1C: ; 0x0201FC1C + push {r3-r6} + ldr r4, [r0, #0x0] + ldr r6, [r1, #0x0] + lsl r4, r4, #0xc + mov r3, #0x0 + cmp r4, r6 + bgt _0201FC32 + ldr r5, [r0, #0x4] + lsl r5, r5, #0xc + cmp r5, r6 + bge _0201FC36 +_0201FC32: + str r4, [r1, #0x0] + b _0201FC4E +_0201FC36: + add r2, r6, r2 + cmp r5, r2 + bge _0201FC4C + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0201FC46 + str r4, [r1, #0x0] + b _0201FC4E +_0201FC46: + mov r3, #0x1 + str r5, [r1, #0x0] + b _0201FC4E +_0201FC4C: + str r2, [r1, #0x0] +_0201FC4E: + add r0, r3, #0x0 + pop {r3-r6} + bx lr + + thumb_func_start sub_0201FC54 +sub_0201FC54: ; 0x0201FC54 + push {r3, lr} + add r3, r0, #0x0 + add r0, #0x90 + str r0, [sp, #0x0] + add r0, r3, #0x0 + add r0, #0x80 + add r2, r3, #0x0 + ldr r1, [r3, #0x78] + ldr r0, [r0, #0x0] + add r2, #0x88 + add r3, #0x8c + bl sub_0201F500 + pop {r3, pc} + + thumb_func_start sub_0201FC70 +sub_0201FC70: ; 0x0201FC70 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r0, [r4, #0x78] + blx sub_020B772C + add r4, #0x80 + ldr r0, [r4, #0x0] + add r1, sp, #0x4 + add r2, sp, #0x8 + add r3, sp, #0x0 + bl sub_0201F4EC + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0201FC90 +sub_0201FC90: ; 0x0201FC90 + cmp r1, #0x0 + beq _0201FC9A + cmp r1, #0x1 + beq _0201FC9E + b _0201FCA2 +_0201FC9A: + ldr r0, [r0, #0x0] + bx lr +_0201FC9E: + ldr r0, [r0, #0x4] + bx lr +_0201FCA2: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0201FCA8 +sub_0201FCA8: ; 0x0201FCA8 + mov r2, #0xc + mul r2, r1 + add r0, r0, r2 + bx lr + + thumb_func_start sub_0201FCB0 +sub_0201FCB0: ; 0x0201FCB0 + push {r3-r5, lr} + add r5, r0, #0x0 + bne _0201FCBA + bl sub_02020C2C +_0201FCBA: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _0201FCC4 + bl sub_02020C2C +_0201FCC4: + mov r1, #0x49 + ldr r0, [r5, #0x8] + lsl r1, r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + bne _0201FCD6 + bl sub_02020C2C +_0201FCD6: + add r0, r4, #0x0 + bl sub_0201FE44 + ldr r2, [r5, #0x0] + ldr r0, [r5, #0x8] + lsl r1, r2, #0x6 + add r1, r2, r1 + lsl r1, r1, #0x2 + bl sub_02016998 + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _0201FCF4 + bl sub_02020C2C +_0201FCF4: + ldr r0, [r5, #0x0] + str r0, [r4, #0x4] + ldr r1, [r5, #0x0] + ldr r0, [r5, #0x8] + lsl r1, r1, #0x2 + bl sub_02016998 + str r0, [r4, #0x8] + cmp r0, #0x0 + bne _0201FD0C + bl sub_02020C2C +_0201FD0C: + add r0, r4, #0x0 + bl sub_0202083C + add r0, r4, #0x0 + add r0, #0x10 + bl sub_0201FE6C + add r2, r4, #0x0 + mov r1, #0x43 + lsl r1, r1, #0x2 + add r2, #0x10 + str r2, [r4, r1] + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [r5, #0x4] + add r1, #0x8 + str r0, [r4, r1] + ldr r0, [r5, #0x8] + ldr r1, _0201FD54 ; =0x02105BBC + bl sub_020161A4 + mov r1, #0x46 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, r1] + add r1, r1, #0x4 + add r1, r4, r1 + blx sub_020AFD94 + mov r0, #0x12 + mov r1, #0x1 + lsl r0, r0, #0x4 + str r1, [r4, r0] + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_0201FD54: .word 0x02105BBC + + thumb_func_start sub_0201FD58 +sub_0201FD58: ; 0x0201FD58 + push {r4, lr} + add r4, r0, #0x0 + bne _0201FD62 + mov r0, #0x0 + pop {r4, pc} +_0201FD62: + ldr r1, [r4, #0x0] + cmp r1, #0x0 + bne _0201FD6C + mov r0, #0x1 + pop {r4, pc} +_0201FD6C: + bl sub_0201FDB4 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + ldr r0, [r4, #0x8] + bl sub_02016A18 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_0201FE44 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201FD98 +sub_0201FD98: ; 0x0201FD98 + cmp r0, #0x0 + bne _0201FDA0 + mov r0, #0x0 + bx lr +_0201FDA0: + ldr r2, [r0, #0x0] + cmp r2, #0x0 + bne _0201FDAA + mov r0, #0x0 + bx lr +_0201FDAA: + mov r2, #0x12 + lsl r2, r2, #0x4 + str r1, [r0, r2] + mov r0, #0x1 + bx lr + + thumb_func_start sub_0201FDB4 +sub_0201FDB4: ; 0x0201FDB4 + push {r4-r6, lr} + cmp r0, #0x0 + bne _0201FDBE + mov r0, #0x0 + pop {r4-r6, pc} +_0201FDBE: + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _0201FDC8 + mov r0, #0x1 + pop {r4-r6, pc} +_0201FDC8: + mov r1, #0x11 + lsl r1, r1, #0x4 + add r4, r0, #0x0 + ldr r1, [r0, r1] + add r4, #0x10 + cmp r1, r4 + beq _0201FDE8 + mov r6, #0x1 + lsl r6, r6, #0x8 +_0201FDDA: + ldr r5, [r1, r6] + add r0, r1, #0x0 + bl sub_0201FFC8 + add r1, r5, #0x0 + cmp r5, r4 + bne _0201FDDA +_0201FDE8: + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0201FDEC +sub_0201FDEC: ; 0x0201FDEC + push {r3-r7, lr} + add r5, r0, #0x0 + bne _0201FDF6 + bl sub_02020C2C +_0201FDF6: + mov r0, #0x12 + lsl r0, r0, #0x4 + ldr r1, [r5, r0] + cmp r1, #0x0 + beq _0201FE38 + sub r0, #0x10 + add r6, r5, #0x0 + ldr r4, [r5, r0] + add r6, #0x10 + cmp r4, r6 + beq _0201FE38 + ldr r7, _0201FE3C ; =0x020EE658 +_0201FE0E: + add r2, r4, #0x0 + add r2, #0x34 + ldrb r2, [r2, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r7, r2] + blx r2 + add r1, r4, #0x0 + add r1, #0x35 + ldrb r1, [r1, #0x0] + add r0, r4, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0201FE40 ; =0x020EE660 + ldr r1, [r1, r2] + blx r1 + mov r0, #0x1 + lsl r0, r0, #0x8 + ldr r4, [r4, r0] + cmp r4, r6 + bne _0201FE0E +_0201FE38: + pop {r3-r7, pc} + nop +_0201FE3C: .word 0x020EE658 +_0201FE40: .word 0x020EE660 + + thumb_func_start sub_0201FE44 +sub_0201FE44: ; 0x0201FE44 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + str r1, [r4, #0x0] + str r1, [r4, #0x4] + str r1, [r4, #0x8] + mov r0, #0x45 + str r1, [r4, #0xc] + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r4, #0x0 + add r0, #0x10 + bl sub_0201FE6C + mov r0, #0x12 + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r4, r0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201FE6C +sub_0201FE6C: ; 0x0201FE6C + push {r4, lr} + mov r2, #0x41 + add r4, r0, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + str r1, [r4, #0x3c] + blx sub_020DF4A4 + add r0, r4, #0x0 + add r0, #0xb4 + blx sub_020B1A24 + add r0, r4, #0x0 + add r0, #0xd8 + blx sub_020B19DC + mov r0, #0x0 + str r0, [r4, #0x30] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201FE94 +sub_0201FE94: ; 0x0201FE94 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02020874 + add r4, r0, #0x0 + bne _0201FEA6 + mov r0, #0x0 + pop {r4-r6, pc} +_0201FEA6: + ldr r0, [r5, #0x0] + add r6, r5, #0x0 + str r0, [r4, #0x3c] + add r0, r4, #0x0 + mov r2, #0x0 + add r0, #0xf0 + add r6, #0x8 + strh r2, [r0, #0x0] + ldmia r6!, {r0-r1} + add r3, r4, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r6, #0x0] + add r6, r5, #0x0 + str r0, [r3, #0x0] + add r6, #0x14 + add r3, r4, #0x0 + ldmia r6!, {r0-r1} + add r3, #0x18 + stmia r3!, {r0-r1} + ldr r0, [r6, #0x0] + str r0, [r3, #0x0] + ldrh r0, [r5, #0x20] + strh r0, [r4, #0x24] + add r0, r4, #0x0 + ldr r1, [r5, #0x28] + add r0, #0xf8 + str r1, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r5, #0x24] + add r0, #0xf4 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x26 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x27 + strb r2, [r0, #0x0] + str r2, [r4, #0x2c] + add r0, r4, #0x0 + str r2, [r4, #0x30] + mov r1, #0x11 + add r0, #0x28 + strb r1, [r0, #0x0] + mov r0, #0x45 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add r1, r4, #0x0 + add r1, #0x26 + ldrb r1, [r1, #0x0] + blx sub_020B502C + add r0, r4, #0x0 + add r0, #0x27 + ldrb r2, [r0, #0x0] + mov r0, #0x45 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + mov r1, #0x1 + mov r3, #0x2 + and r1, r2 + and r2, r3 + blx sub_020B4F38 + add r0, r4, #0x0 + mov r2, #0x1 + add r0, #0x34 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x35 + strb r1, [r0, #0x0] + lsl r0, r2, #0xd + str r0, [r4, #0x38] + ldr r0, [r5, #0x0] + ldr r1, [r5, #0x4] + ldr r3, [r5, #0x2c] + add r2, r4, #0x0 + bl sub_02020434 + cmp r0, #0x0 + bne _0201FF56 + add r0, r4, #0x0 + bl sub_0201FFC8 + mov r0, #0x0 + pop {r4-r6, pc} +_0201FF56: + add r1, r4, #0x0 + add r1, #0xf8 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r0, #0xd8 + bl sub_020205E8 + add r1, r4, #0x0 + add r1, #0x2a + strb r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x2a + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x29 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02020788 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0201FF84 +sub_0201FF84: ; 0x0201FF84 + push {r4, lr} + sub sp, #0x30 + add r2, r0, #0x0 + ldr r0, [r2, #0x0] + add r4, r2, #0x0 + str r0, [sp, #0x0] + ldr r0, [r2, #0x4] + add r4, #0x8 + str r0, [sp, #0x4] + ldmia r4!, {r0-r1} + add r3, sp, #0x8 + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + mov r1, #0x0 + str r0, [r3, #0x0] + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x14] + str r0, [sp, #0x18] + str r0, [sp, #0x1c] + add r0, sp, #0x0 + strh r1, [r0, #0x20] + ldr r0, [r2, #0x14] + str r0, [sp, #0x24] + ldr r0, [r2, #0x18] + str r0, [sp, #0x28] + ldr r0, [r2, #0x1c] + str r0, [sp, #0x2c] + add r0, sp, #0x0 + bl sub_0201FE94 + add sp, #0x30 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0201FFC8 +sub_0201FFC8: ; 0x0201FFC8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0xec + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _02020040 + add r1, r5, #0x0 + add r1, #0xfc + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0201FFE4 + bl sub_02020820 +_0201FFE4: + add r0, r5, #0x0 + add r0, #0xec + ldr r0, [r0, #0x0] + cmp r0, #0x3 + bne _0202000E + add r1, r5, #0x0 + add r1, #0xf8 + add r0, r5, #0x0 + add r4, r5, #0x0 + ldr r1, [r1, #0x0] + add r0, #0xb4 + add r4, #0x40 + blx sub_020B1A14 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _0202000E + ldr r0, [r4, #0x5c] + blx sub_020B4358 +_0202000E: + add r0, r5, #0x0 + add r0, #0xec + ldr r0, [r0, #0x0] + cmp r0, #0x2 + bne _02020030 + add r4, r5, #0x0 + add r4, #0x40 + ldr r0, [r4, #0x70] + cmp r0, #0x0 + beq _02020026 + bl sub_02016A18 +_02020026: + ldr r0, [r4, #0x74] + cmp r0, #0x0 + beq _02020030 + bl sub_02016A18 +_02020030: + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0xec + str r1, [r0, #0x0] + ldr r0, [r5, #0x3c] + add r1, r5, #0x0 + bl sub_02020890 +_02020040: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02020044 +sub_02020044: ; 0x02020044 + add r2, r1, #0x0 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02020054 +sub_02020054: ; 0x02020054 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0xc + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02020064 +sub_02020064: ; 0x02020064 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x18 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02020074 +sub_02020074: ; 0x02020074 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02020064 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020200EC + pop {r3-r5, pc} + + thumb_func_start sub_02020088 +sub_02020088: ; 0x02020088 + strh r1, [r0, #0x24] + bx lr + + thumb_func_start sub_0202008C +sub_0202008C: ; 0x0202008C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02020088 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020200EC + pop {r3-r5, pc} + + thumb_func_start sub_020200A0 +sub_020200A0: ; 0x020200A0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020200AE + bl sub_02020C2C +_020200AE: + cmp r4, #0x2 + blt _020200B6 + bl sub_02020C2C +_020200B6: + add r5, #0x34 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_020200BC +sub_020200BC: ; 0x020200BC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020200CA + bl sub_02020C2C +_020200CA: + cmp r4, #0x2 + blt _020200D2 + bl sub_02020C2C +_020200D2: + add r5, #0x35 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_020200D8 +sub_020200D8: ; 0x020200D8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020200E6 + bl sub_02020C2C +_020200E6: + str r4, [r5, #0x38] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020200EC +sub_020200EC: ; 0x020200EC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020200FA + bl sub_02020C2C +_020200FA: + add r5, #0x26 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02020100 +sub_02020100: ; 0x02020100 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0202010E + bl sub_02020C2C +_0202010E: + add r0, r5, #0x0 + add r0, #0x27 + strb r4, [r0, #0x0] + mov r0, #0x0 + add r5, #0x26 + strb r0, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0202011C +sub_0202011C: ; 0x0202011C + bx lr + .balign 4 + + thumb_func_start sub_02020120 +sub_02020120: ; 0x02020120 + add r0, #0x18 + bx lr + + thumb_func_start sub_02020124 +sub_02020124: ; 0x02020124 + ldrh r0, [r0, #0x24] + bx lr + + thumb_func_start sub_02020128 +sub_02020128: ; 0x02020128 + add r0, #0x34 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02020130 +sub_02020130: ; 0x02020130 + push {r4, lr} + lsl r2, r1, #0x10 + lsr r3, r2, #0x10 + add r2, r0, #0x0 + add r2, #0xf0 + strh r3, [r2, #0x0] + add r2, r0, #0x0 + add r2, #0xec + ldr r2, [r2, #0x0] + cmp r2, #0x1 + beq _0202014A + cmp r2, #0x3 + bne _02020168 +_0202014A: + add r4, r0, #0x0 + add r4, #0x40 + lsl r1, r1, #0x10 + ldr r0, [r4, #0x4] + lsr r1, r1, #0x10 + blx sub_020AFC04 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x8 + blx sub_020B1EE4 + mov r0, #0x1 + str r0, [r4, #0x10] + pop {r4, pc} +_02020168: + add r4, r0, #0x0 + add r4, #0x40 + ldr r0, [r4, #0x6c] + add r1, r3, #0x0 + blx sub_020AFC04 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x8 + blx sub_020B242C + mov r0, #0x1 + str r0, [r4, #0x10] + pop {r4, pc} + + thumb_func_start sub_02020184 +sub_02020184: ; 0x02020184 + push {r3, lr} + add r2, r0, #0x0 + add r2, #0xf0 + ldrh r2, [r2, #0x0] + cmp r2, r1 + beq _02020194 + bl sub_02020130 +_02020194: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02020198 +sub_02020198: ; 0x02020198 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0xec + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _020201A8 + cmp r0, #0x3 + bne _020201C2 +_020201A8: + add r5, r4, #0x0 + add r5, #0x40 + add r0, r5, #0x0 + add r0, #0x8 + blx sub_020B0448 + mov r0, #0x1 + str r0, [r5, #0x10] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02020208 + pop {r3-r5, pc} +_020201C2: + add r5, r4, #0x0 + add r5, #0x40 + add r0, r5, #0x0 + add r0, #0x8 + blx sub_020B0448 + mov r0, #0x1 + str r0, [r5, #0x10] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02020208 + pop {r3-r5, pc} + + thumb_func_start sub_020201DC +sub_020201DC: ; 0x020201DC + add r0, #0xf0 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020201E4 +sub_020201E4: ; 0x020201E4 + push {r3, lr} + add r2, r0, #0x0 + add r2, #0xec + ldr r2, [r2, #0x0] + cmp r2, #0x1 + beq _020201F4 + cmp r2, #0x3 + bne _020201FE +_020201F4: + add r0, #0x40 + add r0, #0x8 + blx sub_020B1EC4 + pop {r3, pc} +_020201FE: + add r0, #0x40 + add r0, #0x8 + blx sub_020B224C + pop {r3, pc} + + thumb_func_start sub_02020208 +sub_02020208: ; 0x02020208 + push {r3, lr} + add r2, r0, #0x0 + add r2, #0xec + ldr r2, [r2, #0x0] + cmp r2, #0x1 + beq _02020218 + cmp r2, #0x3 + bne _02020222 +_02020218: + add r0, #0x40 + add r0, #0x8 + blx sub_020B1EA4 + pop {r3, pc} +_02020222: + add r0, #0x40 + add r0, #0x8 + blx sub_020B2194 + pop {r3, pc} + + thumb_func_start sub_0202022C +sub_0202022C: ; 0x0202022C + ldr r3, _02020234 ; =0x020B04FC + add r0, #0x40 + add r0, #0x8 + bx r3 + .balign 4 +_02020234: .word 0x020B04FC + + thumb_func_start sub_02020238 +sub_02020238: ; 0x02020238 + add r0, #0xf2 + strb r1, [r0, #0x0] + bx lr + .balign 4 +_02020240: + .byte 0xF2, 0x30, 0x00, 0x78, 0x70, 0x47, 0x00, 0x00 + + thumb_func_start sub_02020248 +sub_02020248: ; 0x02020248 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020256 + bl sub_02020C2C +_02020256: + add r0, r5, #0x0 + add r0, #0x29 + strb r4, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x2 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x28 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x10 + add r5, #0x28 + bic r1, r0 + strb r1, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0202027C +sub_0202027C: ; 0x0202027C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02020248 + add r1, r4, #0x0 + add r1, #0xf8 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r0, #0xd8 + bl sub_020205E8 + add r1, r4, #0x0 + add r1, #0x29 + ldrb r1, [r1, #0x0] + add r4, #0x29 + add r0, r1, r0 + strb r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_020202A0 +sub_020202A0: ; 0x020202A0 + add r0, #0x29 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020202A8 +sub_020202A8: ; 0x020202A8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020202B6 + bl sub_02020C2C +_020202B6: + add r0, r5, #0x0 + add r0, #0x2a + strb r4, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x10 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x28 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x2 + add r5, #0x28 + bic r1, r0 + strb r1, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_020202DC +sub_020202DC: ; 0x020202DC + push {r4, lr} + add r4, r0, #0x0 + bl sub_020202A8 + add r1, r4, #0x0 + add r1, #0xf8 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r0, #0xd8 + bl sub_020205E8 + add r1, r4, #0x0 + add r1, #0x2a + ldrb r1, [r1, #0x0] + add r4, #0x2a + add r0, r1, r0 + strb r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02020300 +sub_02020300: ; 0x02020300 + push {r4, lr} + add r4, r0, #0x0 + bne _0202030A + bl sub_02020C2C +_0202030A: + add r4, #0x2a + ldrb r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02020310 +sub_02020310: ; 0x02020310 + push {r3-r5, lr} + add r5, r0, #0x0 + add r2, r5, #0x0 + ldr r4, [r5, #0x3c] + add r2, #0xf4 + strh r1, [r2, #0x0] + bl sub_02020820 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02020788 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202032C +sub_0202032C: ; 0x0202032C + add r0, #0xf4 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02020334 +sub_02020334: ; 0x02020334 + push {r3-r4} + add r3, r0, #0x0 + add r4, r1, #0x0 + add r3, #0xb4 + mov r2, #0x4 +_0202033E: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0202033E + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02020350 +sub_02020350: ; 0x02020350 + add r0, #0xb4 + bx lr + + thumb_func_start sub_02020354 +sub_02020354: ; 0x02020354 + add r0, #0xd8 + bx lr +_02020358: + .byte 0xC1, 0x62, 0x01, 0x29, 0x07, 0xD1, 0x01, 0x1C + .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x28, 0x30, 0x11, 0x43, 0x01, 0x70, 0x70, 0x47, 0x01, 0x1C + .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x51, 0x40, 0x28, 0x30, 0x01, 0x70, 0x70, 0x47, 0x00, 0x00 + + thumb_func_start sub_02020380 +sub_02020380: ; 0x02020380 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02020388 +sub_02020388: ; 0x02020388 + push {r4, lr} + add r4, r0, #0x0 + bne _02020392 + bl sub_02020C2C +_02020392: + ldr r0, [r4, #0x50] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020398 +sub_02020398: ; 0x02020398 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r4, #0x0 + bne _020203A6 + bl sub_02020C2C +_020203A6: + str r5, [r4, #0x30] + cmp r5, #0x0 + bne _020203BC + add r0, r4, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x8 + add r4, #0x28 + eor r0, r1 + strb r0, [r4, #0x0] + pop {r3-r5, pc} +_020203BC: + add r0, r4, #0x0 + add r0, #0x28 + ldrb r1, [r0, #0x0] + mov r0, #0x8 + orr r0, r1 + add r4, #0x28 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_020203CC +sub_020203CC: ; 0x020203CC + push {r4, lr} + mov r1, #0x1 + lsl r1, r1, #0xa + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0xb + mov r2, #0x1 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + lsl r2, r2, #0xa + blx sub_020CE1C8 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xa + blx sub_020CC15C + mov r2, #0x1 + add r0, r4, #0x0 + mov r1, #0x0 + lsl r2, r2, #0xa + blx sub_020C93BC + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02020404 +sub_02020404: ; 0x02020404 + push {r4, lr} + mov r1, #0x1 + lsl r1, r1, #0xa + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0xb + mov r2, #0x1 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + lsl r2, r2, #0xa + blx sub_020CE1C8 + mov r2, #0x1 + add r0, r4, #0x0 + mov r1, #0x0 + lsl r2, r2, #0xa + blx sub_020C9354 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020434 +sub_02020434: ; 0x02020434 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + add r4, r2, #0x0 + add r0, r5, #0x0 + add r7, r3, #0x0 + bl sub_020204DC + add r1, r4, #0x0 + add r1, #0xec + str r0, [r1, #0x0] + add r3, r4, #0x0 + ldr r6, [r5, #0x0] + add r3, #0xb4 + mov r2, #0x4 +_02020452: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02020452 + ldr r0, [r6, #0x0] + add r2, r4, #0x0 + str r0, [r3, #0x0] + ldr r3, [r5, #0x8] + add r2, #0xd8 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, r4, #0x0 + str r0, [r2, #0x0] + ldr r0, [r5, #0xc] + bl sub_020204F4 + ldr r0, [r5, #0x10] + cmp r0, #0x0 + beq _02020486 + add r1, r4, #0x0 + bl sub_020204F8 + b _02020494 +_02020486: + mov r1, #0x47 + ldr r0, [sp, #0x0] + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + add r1, r4, #0x0 + bl sub_020204F8 +_02020494: + add r0, r4, #0x0 + add r0, #0xec + ldr r0, [r0, #0x0] + cmp r0, #0x2 + bne _020204B8 + ldr r0, [r5, #0x14] + add r1, r4, #0x0 + bl sub_020204FC + ldr r0, [r5, #0x18] + add r1, r4, #0x0 + bl sub_02020504 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_02020588 + b _020204D0 +_020204B8: + cmp r0, #0x3 + bne _020204C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0202052C + b _020204D0 +_020204C8: + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_0202050C +_020204D0: + add r5, #0x20 + ldrb r0, [r5, #0x0] + add r4, #0xf2 + strb r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_020204DC +sub_020204DC: ; 0x020204DC + ldr r1, [r0, #0x14] + cmp r1, #0x0 + beq _020204E6 + mov r0, #0x2 + bx lr +_020204E6: + ldr r0, [r0, #0x1c] + cmp r0, #0x1 + bne _020204F0 + mov r0, #0x3 + bx lr +_020204F0: + mov r0, #0x1 + bx lr + + thumb_func_start sub_020204F4 +sub_020204F4: ; 0x020204F4 + str r0, [r1, #0x40] + bx lr + + thumb_func_start sub_020204F8 +sub_020204F8: ; 0x020204F8 + str r0, [r1, #0x44] + bx lr + + thumb_func_start sub_020204FC +sub_020204FC: ; 0x020204FC + add r1, #0xa8 + str r0, [r1, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02020504 +sub_02020504: ; 0x02020504 + add r1, #0xac + str r0, [r1, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202050C +sub_0202050C: ; 0x0202050C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r5, #0x0 + add r4, #0x40 + ldr r0, [r4, #0x4] + mov r1, #0x0 + blx sub_020AFC04 + add r4, #0x8 + add r1, r0, #0x0 + ldr r2, [r5, #0x40] + add r0, r4, #0x0 + blx sub_020B1F80 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202052C +sub_0202052C: ; 0x0202052C + push {r4-r7, lr} + sub sp, #0x1c + add r6, r1, #0x0 + add r4, r6, #0x0 + add r4, #0x40 + add r5, r0, #0x0 + blx sub_020B43A4 + str r0, [r4, #0x5c] + ldr r0, [r4, #0x4] + mov r1, #0x0 + ldr r5, [r5, #0x4] + blx sub_020AFC04 + str r0, [sp, #0x18] + add r0, r6, #0x0 + add r0, #0xb4 + mov r1, #0x1 + blx sub_020B1A14 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r0, #0xb4 + mov r1, #0x2 + blx sub_020B1A14 + mov r1, #0x0 + mvn r1, r1 + str r1, [sp, #0x0] + str r7, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x14] + ldr r1, [sp, #0x18] + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r0, [r5, #0x10] + str r0, [sp, #0x14] + add r0, r4, #0x0 + ldr r2, [r6, #0x40] + ldr r3, [r4, #0x5c] + add r0, #0x8 + blx sub_020B1EFC + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start sub_02020588 +sub_02020588: ; 0x02020588 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r5, #0x0 + add r4, #0x40 + ldr r0, [r4, #0x6c] + add r7, r1, #0x0 + mov r1, #0x0 + blx sub_020AFC04 + str r0, [sp, #0xc] + ldr r0, [r4, #0x68] + blx sub_020B23D8 + add r6, r0, #0x0 + mov r1, #0x28 + add r0, r7, #0x0 + mul r1, r6 + bl sub_02016998 + mov r1, #0x54 + str r0, [r4, #0x70] + add r0, r7, #0x0 + mul r1, r6 + bl sub_02016998 + str r0, [r4, #0x74] + ldr r0, [r4, #0x4] + add r3, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x40] + str r0, [sp, #0x4] + ldr r0, [r4, #0x68] + str r0, [sp, #0x8] + add r0, r4, #0x0 + ldr r1, [r4, #0x70] + ldr r2, [r4, #0x74] + add r0, #0x8 + blx sub_020B20C8 + add r4, #0x8 + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + blx sub_020B242C + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020205E8 +sub_020205E8: ; 0x020205E8 + push {r4, lr} + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _020205F6 + mov r4, #0x2 + lsl r4, r4, #0x8 + b _02020602 +_020205F6: + ldr r2, [r0, #0x0] + cmp r2, #0x4 + bne _02020600 + mov r4, #0x0 + b _02020602 +_02020600: + mov r4, #0x20 +_02020602: + cmp r4, #0x0 + beq _02020612 + blx sub_020B19C4 + add r1, r4, #0x0 + blx sub_020EBE8C + pop {r4, pc} +_02020612: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020618 +sub_02020618: ; 0x02020618 + push {r3-r6, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r3, r4, #0x0 + add r5, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x0 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, r4, #0x0 + str r0, [r2, #0x0] + mov r0, #0x45 + lsl r0, r0, #0x2 + add r2, r4, #0x0 + ldr r0, [r5, r0] + add r1, #0xb4 + add r2, #0xd8 + blx sub_020B2780 + mov r0, #0x45 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + blx sub_020B326C + blx sub_020B2B58 + add r1, r4, #0x0 + mov r0, #0x45 + add r1, #0x26 + lsl r0, r0, #0x2 + ldrb r1, [r1, #0x0] + ldr r0, [r5, r0] + blx sub_020B502C + add r0, r4, #0x0 + add r0, #0x26 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02020680 + add r0, r4, #0x0 + add r0, #0x27 + ldrb r2, [r0, #0x0] + mov r0, #0x45 + lsl r0, r0, #0x2 + mov r1, #0x1 + ldr r0, [r5, r0] + mov r3, #0x2 + and r1, r2 + and r2, r3 + blx sub_020B4F38 + b _0202068E +_02020680: + mov r0, #0x45 + lsl r0, r0, #0x2 + mov r1, #0x0 + ldr r0, [r5, r0] + add r2, r1, #0x0 + blx sub_020B4F38 +_0202068E: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + blx sub_020B2A08 + add r0, r4, #0x0 + add r0, #0x26 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _020206DC + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0x14] + blx sub_020B2A08 + ldr r0, [r4, #0x18] + ldr r1, [r4, #0x1c] + ldr r2, [r4, #0x20] + blx sub_020B28B4 + ldrh r0, [r4, #0x24] + ldr r2, _02020770 ; =0x020FFA38 + asr r0, r0, #0x4 + lsl r1, r0, #0x1 + lsl r0, r1, #0x1 + add r1, r1, #0x1 + lsl r1, r1, #0x1 + ldrsh r0, [r2, r0] + ldrsh r1, [r2, r1] + blx sub_020B2794 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0x14] + neg r0, r0 + neg r1, r1 + neg r2, r2 + blx sub_020B2A08 +_020206DC: + add r0, r4, #0x0 + add r0, #0x28 + ldrb r3, [r0, #0x0] + mov r0, #0x45 + lsl r0, r0, #0x2 + ldr r2, [r5, r0] + add r1, r2, #0x0 + add r1, #0x84 + ldr r1, [r1, #0x0] + add r2, #0x84 + orr r1, r3 + str r1, [r2, #0x0] + add r1, r4, #0x0 + add r1, #0x28 + ldrb r1, [r1, #0x0] + mvn r6, r1 + ldr r1, [r5, r0] + add r2, r1, #0x0 + add r2, #0x84 + ldr r3, [r2, #0x0] + mvn r2, r6 + and r2, r3 + add r1, #0x84 + str r2, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0x29 + ldrb r2, [r1, #0x0] + ldr r1, [r5, r0] + add r1, #0x8a + strh r2, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0x2a + ldrb r2, [r1, #0x0] + ldr r1, [r5, r0] + add r1, #0x94 + strh r2, [r1, #0x0] + ldr r1, [r5, r0] + ldr r2, [r4, #0x2c] + add r1, #0x90 + str r2, [r1, #0x0] + ldr r1, [r5, r0] + ldr r2, [r4, #0x30] + add r1, #0x8c + str r2, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0xf2 + ldr r0, [r5, r0] + ldrb r1, [r1, #0x0] + add r0, #0x88 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0xec + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _0202074E + cmp r0, #0x3 + bne _0202075A +_0202074E: + add r4, #0x40 + add r4, #0x8 + add r0, r4, #0x0 + blx sub_020B317C + b _02020764 +_0202075A: + add r4, #0x40 + add r4, #0x8 + add r0, r4, #0x0 + blx sub_020B2D9C +_02020764: + blx sub_020B2B08 + blx sub_020B31F0 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_02020770: .word 0x020FFA38 + + thumb_func_start sub_02020774 +sub_02020774: ; 0x02020774 + bx lr + .balign 4 + + thumb_func_start sub_02020778 +sub_02020778: ; 0x02020778 + ldr r3, _02020780 ; =sub_020201E4 + ldr r1, [r0, #0x38] + bx r3 + nop +_02020780: .word sub_020201E4 + 1 + + thumb_func_start sub_02020784 +sub_02020784: ; 0x02020784 + bx lr + .balign 4 + + thumb_func_start sub_02020788 +sub_02020788: ; 0x02020788 + push {r4-r7} + mov r2, #0x11 + lsl r2, r2, #0x4 + add r4, r0, #0x0 + ldr r5, [r0, r2] + add r4, #0x10 + cmp r5, r4 + bne _020207AC + str r1, [r0, r2] + sub r3, r2, #0x4 + str r1, [r0, r3] + add r0, r1, #0x0 + add r0, #0xfc + str r4, [r0, #0x0] + sub r2, #0x10 + str r4, [r1, r2] + pop {r4-r7} + bx lr +_020207AC: + add r3, r1, #0x0 + add r3, #0xf4 + ldrh r6, [r3, #0x0] + sub r3, r2, #0x4 + ldr r3, [r0, r3] + add r7, r3, #0x0 + add r7, #0xf4 + ldrh r7, [r7, #0x0] + cmp r7, r6 + bhi _020207DE + add r5, r1, #0x0 + add r5, #0xfc + str r3, [r5, #0x0] + sub r3, r2, #0x4 + ldr r5, [r0, r3] + add r3, r2, #0x0 + sub r3, #0x10 + str r1, [r5, r3] + add r3, r2, #0x0 + sub r3, #0x10 + str r4, [r1, r3] + sub r2, r2, #0x4 + str r1, [r0, r2] + pop {r4-r7} + bx lr +_020207DE: + cmp r5, r4 + beq _0202081A + add r0, r2, #0x0 + sub r0, #0x10 +_020207E6: + add r2, r5, #0x0 + add r2, #0xf4 + ldrh r2, [r2, #0x0] + cmp r2, r6 + bls _02020814 + add r0, r5, #0x0 + add r0, #0xfc + mov r2, #0x1 + ldr r0, [r0, #0x0] + lsl r2, r2, #0x8 + str r1, [r0, r2] + add r0, r5, #0x0 + add r0, #0xfc + ldr r3, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0xfc + str r3, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xfc + str r1, [r0, #0x0] + str r5, [r1, r2] + pop {r4-r7} + bx lr +_02020814: + ldr r5, [r5, r0] + cmp r5, r4 + bne _020207E6 +_0202081A: + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02020820 +sub_02020820: ; 0x02020820 + mov r2, #0x1 + add r1, r0, #0x0 + lsl r2, r2, #0x8 + add r1, #0xfc + ldr r3, [r0, r2] + ldr r1, [r1, #0x0] + str r3, [r1, r2] + add r1, r0, #0x0 + add r1, #0xfc + ldr r0, [r0, r2] + ldr r1, [r1, #0x0] + add r0, #0xfc + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0202083C +sub_0202083C: ; 0x0202083C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + mov r7, #0x0 + cmp r0, #0x0 + ble _0202086C + add r4, r7, #0x0 + add r6, r7, #0x0 +_0202084C: + ldr r0, [r5, #0x0] + add r0, r0, r4 + bl sub_0201FE6C + ldr r0, [r5, #0x0] + add r7, r7, #0x1 + add r1, r0, r4 + ldr r0, [r5, #0x8] + str r1, [r0, r6] + mov r0, #0x41 + lsl r0, r0, #0x2 + add r4, r4, r0 + ldr r0, [r5, #0x4] + add r6, r6, #0x4 + cmp r7, r0 + blt _0202084C +_0202086C: + mov r0, #0x0 + str r0, [r5, #0xc] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02020874 +sub_02020874: ; 0x02020874 + ldr r3, [r0, #0xc] + ldr r1, [r0, #0x4] + cmp r3, r1 + blt _02020880 + mov r0, #0x0 + bx lr +_02020880: + ldr r2, [r0, #0x8] + lsl r1, r3, #0x2 + ldr r2, [r2, r1] + add r1, r3, #0x1 + str r1, [r0, #0xc] + add r0, r2, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02020890 +sub_02020890: ; 0x02020890 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + cmp r0, #0x0 + bgt _020208A0 + mov r0, #0x0 + pop {r3-r5, pc} +_020208A0: + add r0, r4, #0x0 + bl sub_0201FE6C + ldr r0, [r5, #0xc] + sub r0, r0, #0x1 + str r0, [r5, #0xc] + ldr r1, [r5, #0x8] + lsl r0, r0, #0x2 + str r4, [r1, r0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020208B8 +sub_020208B8: ; 0x020208B8 + push {r4-r7} + ldrb r3, [r0, #0x0] + mov r4, #0x0 + cmp r3, #0xff + beq _020208FA +_020208C2: + ldrb r7, [r0, #0x2] + ldrb r3, [r0, #0x3] + ldrb r5, [r0, #0x0] + sub r6, r1, r7 + sub r3, r3, r7 + cmp r6, r3 + bhs _020208D4 + mov r6, #0x1 + b _020208D6 +_020208D4: + mov r6, #0x0 +_020208D6: + ldrb r7, [r0, #0x1] + sub r3, r2, r5 + sub r5, r7, r5 + cmp r3, r5 + bhs _020208E4 + mov r3, #0x1 + b _020208E6 +_020208E4: + mov r3, #0x0 +_020208E6: + tst r3, r6 + beq _020208F0 + add r0, r4, #0x0 + pop {r4-r7} + bx lr +_020208F0: + add r0, r0, #0x4 + ldrb r3, [r0, #0x0] + add r4, r4, #0x1 + cmp r3, #0xff + bne _020208C2 +_020208FA: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02020904 +sub_02020904: ; 0x02020904 + push {r3-r4} + ldrb r3, [r0, #0x1] + sub r4, r3, r1 + ldrb r1, [r0, #0x2] + sub r3, r1, r2 + ldrb r2, [r0, #0x3] + add r1, r4, #0x0 + add r0, r3, #0x0 + mul r1, r4 + mul r0, r3 + add r1, r1, r0 + add r0, r2, #0x0 + mul r0, r2 + cmp r1, r0 + bhs _02020928 + mov r0, #0x1 + pop {r3-r4} + bx lr +_02020928: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02020930 +sub_02020930: ; 0x02020930 + push {r4-r5} + ldrb r5, [r0, #0x2] + ldrb r3, [r0, #0x0] + sub r4, r1, r5 + ldrb r1, [r0, #0x3] + sub r1, r1, r5 + cmp r4, r1 + bhs _02020944 + mov r4, #0x1 + b _02020946 +_02020944: + mov r4, #0x0 +_02020946: + ldrb r0, [r0, #0x1] + sub r1, r2, r3 + sub r0, r0, r3 + cmp r1, r0 + bhs _02020954 + mov r0, #0x1 + b _02020956 +_02020954: + mov r0, #0x0 +_02020956: + tst r0, r4 + beq _02020960 + mov r0, #0x1 + pop {r4-r5} + bx lr +_02020960: + mov r0, #0x0 + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02020968 +sub_02020968: ; 0x02020968 + push {r3, lr} + ldr r2, _02020984 ; =0x021C48F8 + ldrh r1, [r2, #0x22] + cmp r1, #0x0 + beq _0202097C + ldrh r1, [r2, #0x1c] + ldrh r2, [r2, #0x1e] + bl sub_020208B8 + pop {r3, pc} +_0202097C: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + nop +_02020984: .word 0x021C48F8 + + thumb_func_start sub_02020988 +sub_02020988: ; 0x02020988 + push {r3, lr} + ldr r2, _020209A4 ; =0x021C48F8 + ldrh r1, [r2, #0x20] + cmp r1, #0x0 + beq _0202099C + ldrh r1, [r2, #0x1c] + ldrh r2, [r2, #0x1e] + bl sub_020208B8 + pop {r3, pc} +_0202099C: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + nop +_020209A4: .word 0x021C48F8 + + thumb_func_start sub_020209A8 +sub_020209A8: ; 0x020209A8 + push {r3-r7, lr} + ldr r7, _020209F0 ; =0x021C48F8 + add r5, r0, #0x0 + ldrh r0, [r7, #0x22] + cmp r0, #0x0 + beq _020209EA + mov r6, #0x0 + add r4, r5, #0x0 +_020209B8: + ldrb r0, [r5, #0x0] + cmp r0, #0xfe + bne _020209D0 + ldrh r1, [r7, #0x1c] + ldrh r2, [r7, #0x1e] + add r0, r4, #0x0 + bl sub_02020904 + cmp r0, #0x0 + beq _020209E2 + add r0, r6, #0x0 + pop {r3-r7, pc} +_020209D0: + ldrh r1, [r7, #0x1c] + ldrh r2, [r7, #0x1e] + add r0, r4, #0x0 + bl sub_02020930 + cmp r0, #0x0 + beq _020209E2 + add r0, r6, #0x0 + pop {r3-r7, pc} +_020209E2: + add r5, r5, #0x4 + add r4, r4, #0x4 + add r6, r6, #0x1 + b _020209B8 +_020209EA: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + .balign 4 +_020209F0: .word 0x021C48F8 + + thumb_func_start sub_020209F4 +sub_020209F4: ; 0x020209F4 + push {r3-r7, lr} + ldr r7, _02020A3C ; =0x021C48F8 + add r5, r0, #0x0 + ldrh r0, [r7, #0x20] + cmp r0, #0x0 + beq _02020A36 + mov r6, #0x0 + add r4, r5, #0x0 +_02020A04: + ldrb r0, [r5, #0x0] + cmp r0, #0xfe + bne _02020A1C + ldrh r1, [r7, #0x1c] + ldrh r2, [r7, #0x1e] + add r0, r4, #0x0 + bl sub_02020904 + cmp r0, #0x0 + beq _02020A2E + add r0, r6, #0x0 + pop {r3-r7, pc} +_02020A1C: + ldrh r1, [r7, #0x1c] + ldrh r2, [r7, #0x1e] + add r0, r4, #0x0 + bl sub_02020930 + cmp r0, #0x0 + beq _02020A2E + add r0, r6, #0x0 + pop {r3-r7, pc} +_02020A2E: + add r5, r5, #0x4 + add r4, r4, #0x4 + add r6, r6, #0x1 + b _02020A04 +_02020A36: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + .balign 4 +_02020A3C: .word 0x021C48F8 + + thumb_func_start sub_02020A40 +sub_02020A40: ; 0x02020A40 + push {r3, lr} + ldr r2, _02020A68 ; =0x021C48F8 + ldrh r1, [r2, #0x22] + cmp r1, #0x0 + beq _02020A62 + ldrb r1, [r0, #0x0] + cmp r1, #0xfe + ldrh r1, [r2, #0x1c] + bne _02020A5A + ldrh r2, [r2, #0x1e] + bl sub_02020904 + pop {r3, pc} +_02020A5A: + ldrh r2, [r2, #0x1e] + bl sub_02020930 + pop {r3, pc} +_02020A62: + mov r0, #0x0 + pop {r3, pc} + nop +_02020A68: .word 0x021C48F8 + + thumb_func_start sub_02020A6C +sub_02020A6C: ; 0x02020A6C + push {r3, lr} + ldr r2, _02020A94 ; =0x021C48F8 + ldrh r1, [r2, #0x20] + cmp r1, #0x0 + beq _02020A8E + ldrb r1, [r0, #0x0] + cmp r1, #0xfe + ldrh r1, [r2, #0x1c] + bne _02020A86 + ldrh r2, [r2, #0x1e] + bl sub_02020904 + pop {r3, pc} +_02020A86: + ldrh r2, [r2, #0x1e] + bl sub_02020930 + pop {r3, pc} +_02020A8E: + mov r0, #0x0 + pop {r3, pc} + nop +_02020A94: .word 0x021C48F8 + + thumb_func_start sub_02020A98 +sub_02020A98: ; 0x02020A98 + ldr r0, _02020AA0 ; =0x021C48F8 + ldrh r0, [r0, #0x22] + bx lr + nop +_02020AA0: .word 0x021C48F8 + + thumb_func_start sub_02020AA4 +sub_02020AA4: ; 0x02020AA4 + ldr r0, _02020AAC ; =0x021C48F8 + ldrh r0, [r0, #0x20] + bx lr + nop +_02020AAC: .word 0x021C48F8 + + thumb_func_start sub_02020AB0 +sub_02020AB0: ; 0x02020AB0 + ldr r2, _02020AC8 ; =0x021C48F8 + ldrh r3, [r2, #0x22] + cmp r3, #0x0 + beq _02020AC4 + ldrh r3, [r2, #0x1c] + str r3, [r0, #0x0] + ldrh r0, [r2, #0x1e] + str r0, [r1, #0x0] + mov r0, #0x1 + bx lr +_02020AC4: + mov r0, #0x0 + bx lr + .balign 4 +_02020AC8: .word 0x021C48F8 + + thumb_func_start sub_02020ACC +sub_02020ACC: ; 0x02020ACC + ldr r2, _02020AE4 ; =0x021C48F8 + ldrh r3, [r2, #0x20] + cmp r3, #0x0 + beq _02020AE0 + ldrh r3, [r2, #0x1c] + str r3, [r0, #0x0] + ldrh r0, [r2, #0x1e] + str r0, [r1, #0x0] + mov r0, #0x1 + bx lr +_02020AE0: + mov r0, #0x0 + bx lr + .balign 4 +_02020AE4: .word 0x021C48F8 + + thumb_func_start sub_02020AE8 +sub_02020AE8: ; 0x02020AE8 + push {r3, lr} + ldrb r3, [r0, #0x0] + cmp r3, #0xfe + bne _02020AF6 + bl sub_02020904 + pop {r3, pc} +_02020AF6: + bl sub_02020930 + pop {r3, pc} + + thumb_func_start sub_02020AFC +sub_02020AFC: ; 0x02020AFC + push {r3, lr} + ldr r0, _02020B24 ; =0x021C59B0 + mov r2, #0x0 + str r2, [r0, #0x4] + str r2, [r0, #0x8] + ldr r1, _02020B28 ; =0x0400010E + str r2, [r0, #0x0] + strh r2, [r1, #0x0] + sub r0, r1, #0x2 + strh r2, [r0, #0x0] + mov r0, #0xc1 + strh r0, [r1, #0x0] + ldr r1, _02020B2C ; =sub_02020B30 + mov r0, #0x40 + blx sub_020C9FEC + mov r0, #0x40 + blx sub_020C9E5C + pop {r3, pc} + .balign 4 +_02020B24: .word 0x021C59B0 +_02020B28: .word 0x0400010E +_02020B2C: .word sub_02020B30 + 1 + + thumb_func_start sub_02020B30 +sub_02020B30: ; 0x02020B30 + ldr r0, _02020B68 ; =0x021C59B0 + mov r3, #0x0 + ldr r1, [r0, #0x4] + ldr r2, [r0, #0x8] + add r1, r1, #0x1 + adc r2, r3 + str r1, [r0, #0x4] + str r2, [r0, #0x8] + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02020B54 + ldr r2, _02020B6C ; =0x0400010E + strh r3, [r2, #0x0] + sub r1, r2, #0x2 + strh r3, [r1, #0x0] + mov r1, #0xc1 + strh r1, [r2, #0x0] + str r3, [r0, #0x0] +_02020B54: + ldr r3, _02020B70 ; =0x027E0000 + ldr r1, _02020B74 ; =0x00003FF8 + mov r0, #0x40 + ldr r2, [r3, r1] + orr r2, r0 + str r2, [r3, r1] + ldr r3, _02020B78 ; =sub_020C9FEC + ldr r1, _02020B7C ; =sub_02020B30 + bx r3 + nop +_02020B68: .word 0x021C59B0 +_02020B6C: .word 0x0400010E +_02020B70: .word 0x027E0000 +_02020B74: .word 0x00003FF8 +_02020B78: .word sub_020C9FEC +_02020B7C: .word sub_02020B30 + 1 + + thumb_func_start sub_02020B80 +sub_02020B80: ; 0x02020B80 + push {r4-r5, lr} + sub sp, #0xc + blx sub_020CD310 + ldr r1, _02020BE4 ; =0x0400010C + add r3, sp, #0x0 + ldrh r1, [r1, #0x0] + ldr r2, _02020BE8 ; =0x0000FFFF + strh r1, [r3, #0x0] + ldr r1, _02020BEC ; =0x021C59B0 + ldr r5, [r1, #0x4] + ldr r4, [r1, #0x8] + mov r1, #0x0 + mvn r1, r1 + and r1, r5 + str r1, [sp, #0x4] + and r2, r4 + ldr r1, _02020BF0 ; =0x04000214 + str r2, [sp, #0x8] + ldr r2, [r1, #0x0] + mov r1, #0x40 + tst r2, r1 + beq _02020BC4 + ldrh r2, [r3, #0x0] + lsl r1, r1, #0x9 + tst r1, r2 + bne _02020BC4 + ldr r2, [sp, #0x4] + mov r1, #0x0 + ldr r3, [sp, #0x8] + add r2, r2, #0x1 + adc r3, r1 + str r2, [sp, #0x4] + str r3, [sp, #0x8] +_02020BC4: + blx sub_020CD324 + ldr r2, [sp, #0x4] + ldr r1, [sp, #0x8] + lsr r0, r2, #0x10 + lsl r1, r1, #0x10 + orr r1, r0 + add r0, sp, #0x0 + lsl r3, r2, #0x10 + ldrh r2, [r0, #0x0] + asr r0, r2, #0x1f + orr r1, r0 + add r0, r3, #0x0 + orr r0, r2 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 +_02020BE4: .word 0x0400010C +_02020BE8: .word 0x0000FFFF +_02020BEC: .word 0x021C59B0 +_02020BF0: .word 0x04000214 + + thumb_func_start sub_02020BF4 +sub_02020BF4: ; 0x02020BF4 + ldr r3, _02020BF8 ; =sub_02020B80 + bx r3 + .balign 4 +_02020BF8: .word sub_02020B80 + 1 + + thumb_func_start sub_02020BFC +sub_02020BFC: ; 0x02020BFC + push {r3, lr} + lsr r2, r0, #0x1a + lsl r1, r1, #0x6 + orr r1, r2 + ldr r2, _02020C10 ; =0x000082EA + lsl r0, r0, #0x6 + mov r3, #0x0 + blx sub_020EBBE8 + pop {r3, pc} + .balign 4 +_02020C10: .word 0x000082EA + + thumb_func_start sub_02020C14 +sub_02020C14: ; 0x02020C14 + push {r3, lr} + lsr r2, r0, #0x1a + lsl r1, r1, #0x6 + orr r1, r2 + ldr r2, _02020C28 ; =0x01FF6210 + lsl r0, r0, #0x6 + mov r3, #0x0 + blx sub_020EBBE8 + pop {r3, pc} + .balign 4 +_02020C28: .word 0x01FF6210 + + thumb_func_start sub_02020C2C +sub_02020C2C: ; 0x02020C2C + push {r3, lr} + bl sub_02031810 + cmp r0, #0x0 + beq _02020C42 + blx sub_020CD374 + cmp r0, #0x12 + beq _02020C42 + bl sub_0208A9B8 +_02020C42: + pop {r3, pc} + + thumb_func_start sub_02020C44 +sub_02020C44: ; 0x02020C44 + push {r3-r7, lr} + add r4, r1, #0x0 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xc + bl sub_02016998 + add r6, r0, #0x0 + bne _02020C5A + bl sub_02020C2C +_02020C5A: + add r0, r4, #0x0 + lsl r1, r7, #0x3 + bl sub_02016998 + str r0, [r6, #0x0] + cmp r0, #0x0 + bne _02020C6C + bl sub_02020C2C +_02020C6C: + mov r4, #0x0 + cmp r7, #0x0 + ble _02020C84 + add r5, r4, #0x0 +_02020C74: + ldr r0, [r6, #0x0] + add r0, r0, r5 + bl sub_02020E78 + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, r7 + blt _02020C74 +_02020C84: + str r7, [r6, #0x4] + mov r0, #0x0 + str r0, [r6, #0x8] + add r0, r6, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02020C90 +sub_02020C90: ; 0x02020C90 + push {r4, lr} + add r4, r0, #0x0 + bne _02020C9A + bl sub_02020C2C +_02020C9A: + add r0, r4, #0x0 + bl sub_02020D9C + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020CB0 +sub_02020CB0: ; 0x02020CB0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020CBE + bl sub_02020C2C +_02020CBE: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02020DD8 + cmp r0, #0x0 + bne _02020CCE + mov r0, #0x1 + pop {r3-r5, pc} +_02020CCE: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02020CD4 +sub_02020CD4: ; 0x02020CD4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + add r6, r2, #0x0 + cmp r5, #0x0 + bne _02020CE4 + bl sub_02020C2C +_02020CE4: + add r0, r5, #0x0 + bl sub_02020E48 + add r4, r0, #0x0 + bne _02020CF2 + bl sub_02020C2C +_02020CF2: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02020CB0 + cmp r0, #0x1 + beq _02020D02 + bl sub_02020C2C +_02020D02: + str r7, [r4, #0x4] + str r6, [r4, #0x0] + ldr r0, [r5, #0x8] + add r0, r0, #0x1 + str r0, [r5, #0x8] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02020D10 +sub_02020D10: ; 0x02020D10 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + cmp r5, #0x0 + bne _02020D22 + bl sub_02020C2C +_02020D22: + cmp r6, #0x0 + bne _02020D2A + bl sub_02020C2C +_02020D2A: + add r0, r5, #0x0 + bl sub_02020E48 + add r4, r0, #0x0 + bne _02020D38 + bl sub_02020C2C +_02020D38: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02020CB0 + cmp r0, #0x1 + beq _02020D48 + bl sub_02020C2C +_02020D48: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_020161A4 + str r0, [r4, #0x4] + cmp r0, #0x0 + bne _02020D5A + bl sub_02020C2C +_02020D5A: + str r7, [r4, #0x0] + ldr r0, [r5, #0x8] + add r0, r0, #0x1 + str r0, [r5, #0x8] + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02020D68 +sub_02020D68: ; 0x02020D68 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020D76 + bl sub_02020C2C +_02020D76: + cmp r4, #0x0 + bne _02020D7E + bl sub_02020C2C +_02020D7E: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02020D8C + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x4] +_02020D8C: + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x0] + ldr r0, [r5, #0x8] + sub r0, r0, #0x1 + str r0, [r5, #0x8] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02020D9C +sub_02020D9C: ; 0x02020D9C + push {r3-r7, lr} + add r5, r0, #0x0 + bne _02020DA6 + bl sub_02020C2C +_02020DA6: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + bne _02020DB0 + bl sub_02020C2C +_02020DB0: + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + ble _02020DD6 + add r4, r6, #0x0 + sub r7, r6, #0x1 +_02020DBC: + ldr r1, [r5, #0x0] + ldr r0, [r1, r4] + cmp r0, r7 + beq _02020DCC + add r0, r5, #0x0 + add r1, r1, r4 + bl sub_02020D68 +_02020DCC: + ldr r0, [r5, #0x4] + add r6, r6, #0x1 + add r4, #0x8 + cmp r6, r0 + blt _02020DBC +_02020DD6: + pop {r3-r7, pc} + + thumb_func_start sub_02020DD8 +sub_02020DD8: ; 0x02020DD8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020DE6 + bl sub_02020C2C +_02020DE6: + ldr r6, [r5, #0x4] + mov r1, #0x0 + cmp r6, #0x0 + ble _02020E06 + ldr r3, [r5, #0x0] + add r2, r3, #0x0 +_02020DF2: + ldr r0, [r2, #0x0] + cmp r4, r0 + bne _02020DFE + lsl r0, r1, #0x3 + add r0, r3, r0 + pop {r4-r6, pc} +_02020DFE: + add r1, r1, #0x1 + add r2, #0x8 + cmp r1, r6 + blt _02020DF2 +_02020E06: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02020E0C +sub_02020E0C: ; 0x02020E0C + push {r4, lr} + add r4, r0, #0x0 + bne _02020E16 + bl sub_02020C2C +_02020E16: + ldr r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020E1C +sub_02020E1C: ; 0x02020E1C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020E2A + bl sub_02020C2C +_02020E2A: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _02020E34 + bl sub_02016A18 +_02020E34: + str r4, [r5, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_02020E38 +sub_02020E38: ; 0x02020E38 + push {r4, lr} + add r4, r0, #0x0 + bne _02020E42 + bl sub_02020C2C +_02020E42: + ldr r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020E48 +sub_02020E48: ; 0x02020E48 + push {r3-r5, lr} + add r4, r0, #0x0 + bne _02020E52 + bl sub_02020C2C +_02020E52: + ldr r5, [r4, #0x4] + mov r2, #0x0 + cmp r5, #0x0 + ble _02020E74 + ldr r4, [r4, #0x0] + sub r0, r2, #0x1 + add r3, r4, #0x0 +_02020E60: + ldr r1, [r3, #0x0] + cmp r1, r0 + bne _02020E6C + lsl r0, r2, #0x3 + add r0, r4, r0 + pop {r3-r5, pc} +_02020E6C: + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, r5 + blt _02020E60 +_02020E74: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02020E78 +sub_02020E78: ; 0x02020E78 + push {r4, lr} + add r4, r0, #0x0 + bne _02020E82 + bl sub_02020C2C +_02020E82: + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02020E90 +sub_02020E90: ; 0x02020E90 + push {r3-r7, lr} + add r4, r1, #0x0 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_02016998 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02020C44 + mov r1, #0x18 + str r0, [r7, #0x0] + add r0, r4, #0x0 + mul r1, r6 + bl sub_02016998 + mov r4, #0x0 + str r0, [r7, #0x4] + cmp r6, #0x0 + ble _02020ECE + add r5, r4, #0x0 +_02020EBE: + ldr r0, [r7, #0x4] + add r0, r0, r5 + bl sub_0202120C + add r4, r4, #0x1 + add r5, #0x18 + cmp r4, r6 + blt _02020EBE +_02020ECE: + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02020ED4 +sub_02020ED4: ; 0x02020ED4 + push {r4, lr} + add r4, r0, #0x0 + bne _02020EDE + bl sub_02020C2C +_02020EDE: + add r0, r4, #0x0 + bl sub_02021010 + ldr r0, [r4, #0x0] + bl sub_02020C90 + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02020EF8 +sub_02020EF8: ; 0x02020EF8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020F06 + bl sub_02020C2C +_02020F06: + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02020CB0 + pop {r3-r5, pc} + + thumb_func_start sub_02020F10 +sub_02020F10: ; 0x02020F10 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r3, #0x0 + str r2, [sp, #0x0] + cmp r5, #0x0 + bne _02020F22 + bl sub_02020C2C +_02020F22: + add r0, r5, #0x0 + bl sub_020211DC + add r4, r0, #0x0 + strh r7, [r4, #0x16] + ldrh r0, [r4, #0x16] + cmp r0, #0x1 + bne _02020F40 + ldr r1, [sp, #0x18] + add r0, r6, #0x0 + bl sub_02021310 + add r1, r0, #0x0 + str r6, [r4, #0x10] + b _02020F46 +_02020F40: + mov r0, #0x0 + add r1, r6, #0x0 + str r0, [r4, #0x10] +_02020F46: + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x0] + bl sub_02020CD4 + str r0, [r4, #0x0] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02020F54 +sub_02020F54: ; 0x02020F54 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + bl sub_02020F10 + add r4, r0, #0x0 + bl sub_02021174 + add r0, r4, #0x0 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02020F6C +sub_02020F6C: ; 0x02020F6C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020F7A + bl sub_02020C2C +_02020F7A: + cmp r4, #0x0 + bne _02020F82 + bl sub_02020C2C +_02020F82: + ldrh r0, [r4, #0x16] + cmp r0, #0x1 + bne _02020F98 + ldrh r0, [r4, #0x14] + cmp r0, #0x0 + bne _02020F98 + ldr r0, [r4, #0x10] + bl sub_02016A18 + mov r0, #0x0 + strh r0, [r4, #0x16] +_02020F98: + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02020FA4 + ldr r0, [r5, #0x0] + bl sub_02020D68 +_02020FA4: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02020FB8 + ldr r1, _02020FE8 ; =0x021064BC + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _02020FB8 + bl sub_02020C2C +_02020FB8: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _02020FCC + ldr r1, _02020FE8 ; =0x021064BC + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _02020FCC + bl sub_02020C2C +_02020FCC: + ldr r0, [r4, #0xc] + cmp r0, #0x0 + beq _02020FE0 + ldr r1, _02020FEC ; =0x021064C4 + ldr r1, [r1, #0x0] + blx r1 + cmp r0, #0x0 + beq _02020FE0 + bl sub_02020C2C +_02020FE0: + add r0, r4, #0x0 + bl sub_0202120C + pop {r3-r5, pc} + .balign 4 +_02020FE8: .word 0x021064BC +_02020FEC: .word 0x021064C4 + + thumb_func_start sub_02020FF0 +sub_02020FF0: ; 0x02020FF0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02020FFE + bl sub_02020C2C +_02020FFE: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02021050 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02020F6C + pop {r3-r5, pc} + + thumb_func_start sub_02021010 +sub_02021010: ; 0x02021010 + push {r4-r6, lr} + add r5, r0, #0x0 + bne _0202101A + bl sub_02020C2C +_0202101A: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _02021024 + bl sub_02020C2C +_02021024: + ldr r0, [r5, #0x0] + mov r6, #0x0 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + ble _0202104C + add r4, r6, #0x0 +_02021030: + ldr r1, [r5, #0x4] + ldr r0, [r1, r4] + cmp r0, #0x0 + beq _02021040 + add r0, r5, #0x0 + add r1, r1, r4 + bl sub_02020F6C +_02021040: + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + ldr r0, [r0, #0x4] + add r4, #0x18 + cmp r6, r0 + blt _02021030 +_0202104C: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02021050 +sub_02021050: ; 0x02021050 + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + cmp r6, #0x0 + bne _0202105E + bl sub_02020C2C +_0202105E: + ldr r0, [r6, #0x0] + mov r4, #0x0 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + ble _02021092 + add r5, r4, #0x0 +_0202106A: + ldr r1, [r6, #0x4] + ldr r0, [r1, r5] + cmp r0, #0x0 + beq _02021086 + add r0, r1, r5 + bl sub_02021098 + cmp r0, r7 + bne _02021086 + mov r0, #0x18 + ldr r1, [r6, #0x4] + mul r0, r4 + add r0, r1, r0 + pop {r3-r7, pc} +_02021086: + ldr r0, [r6, #0x0] + add r4, r4, #0x1 + ldr r0, [r0, #0x4] + add r5, #0x18 + cmp r4, r0 + blt _0202106A +_02021092: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02021098 +sub_02021098: ; 0x02021098 + push {r4, lr} + add r4, r0, #0x0 + bne _020210A2 + bl sub_02020C2C +_020210A2: + ldr r0, [r4, #0x0] + bl sub_02020E38 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020210AC +sub_020210AC: ; 0x020210AC + push {r4, lr} + add r4, r0, #0x0 + bne _020210B6 + bl sub_02020C2C +_020210B6: + add r0, r4, #0x0 + bl sub_02021220 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020210C0 +sub_020210C0: ; 0x020210C0 + push {r4, lr} + add r4, r0, #0x0 + bne _020210CA + bl sub_02020C2C +_020210CA: + ldrh r0, [r4, #0x14] + cmp r0, #0x0 + beq _020210D4 + bl sub_02020C2C +_020210D4: + ldr r0, [r4, #0xc] + cmp r0, #0x0 + bne _020210E0 + bl sub_02020C2C + pop {r4, pc} +_020210E0: + add r0, r4, #0x0 + bl sub_02021230 + add r1, r4, #0x0 + bl sub_020212B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020210F0 +sub_020210F0: ; 0x020210F0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _020210FE + bl sub_02020C2C +_020210FE: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02021050 + bl sub_020210C0 + pop {r3-r5, pc} + + thumb_func_start sub_0202110C +sub_0202110C: ; 0x0202110C + push {r4, lr} + add r4, r0, #0x0 + bne _02021116 + bl sub_02020C2C +_02021116: + ldrh r0, [r4, #0x16] + cmp r0, #0x0 + bne _02021122 + bl sub_02020C2C + pop {r4, pc} +_02021122: + ldrh r0, [r4, #0x14] + cmp r0, #0x0 + beq _0202112E + bl sub_02020C2C + pop {r4, pc} +_0202112E: + add r0, r4, #0x0 + bl sub_02021230 + bl sub_020212F8 + add r0, r4, #0x0 + bl sub_02021220 + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + ldr r3, [r4, #0xc] + bl sub_020212E4 + ldr r0, [r4, #0x10] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x10] + mov r0, #0x1 + strh r0, [r4, #0x14] + pop {r4, pc} + + thumb_func_start sub_02021158 +sub_02021158: ; 0x02021158 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021166 + bl sub_02020C2C +_02021166: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02021050 + bl sub_0202110C + pop {r3-r5, pc} + + thumb_func_start sub_02021174 +sub_02021174: ; 0x02021174 + push {r4, lr} + add r4, r0, #0x0 + bne _0202117E + bl sub_02020C2C +_0202117E: + ldrh r0, [r4, #0x14] + cmp r0, #0x0 + beq _02021188 + bl sub_02020C2C +_02021188: + ldr r0, [r4, #0xc] + cmp r0, #0x0 + beq _02021194 + bl sub_02020C2C + pop {r4, pc} +_02021194: + add r0, r4, #0x0 + bl sub_02021230 + add r2, r4, #0x0 + add r1, r4, #0x4 + add r4, #0xc + add r2, #0x8 + add r3, r4, #0x0 + bl sub_02021248 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020211AC +sub_020211AC: ; 0x020211AC + push {r4, lr} + add r4, r0, #0x0 + bne _020211B6 + bl sub_02020C2C +_020211B6: + ldr r0, [r4, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020211BC +sub_020211BC: ; 0x020211BC + push {r4, lr} + add r4, r0, #0x0 + bne _020211C6 + bl sub_02020C2C +_020211C6: + ldr r0, [r4, #0x8] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020211CC +sub_020211CC: ; 0x020211CC + push {r4, lr} + add r4, r0, #0x0 + bne _020211D6 + bl sub_02020C2C +_020211D6: + ldr r0, [r4, #0xc] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020211DC +sub_020211DC: ; 0x020211DC + push {r3-r4} + ldr r1, [r0, #0x0] + mov r2, #0x0 + ldr r4, [r1, #0x4] + cmp r4, #0x0 + ble _02021204 + ldr r3, [r0, #0x4] +_020211EA: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + bne _020211FC + ldr r1, [r0, #0x4] + mov r0, #0x18 + mul r0, r2 + add r0, r1, r0 + pop {r3-r4} + bx lr +_020211FC: + add r2, r2, #0x1 + add r3, #0x18 + cmp r2, r4 + blt _020211EA +_02021204: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0202120C +sub_0202120C: ; 0x0202120C + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + str r1, [r0, #0x8] + str r1, [r0, #0xc] + strh r1, [r0, #0x14] + str r1, [r0, #0x10] + strh r1, [r0, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_02021220 +sub_02021220: ; 0x02021220 + push {r3, lr} + ldr r0, [r0, #0x0] + bl sub_02020E0C + blx sub_020BC0FC + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02021230 +sub_02021230: ; 0x02021230 + push {r3, lr} + ldrh r1, [r0, #0x16] + cmp r1, #0x0 + bne _02021240 + ldr r0, [r0, #0x0] + bl sub_02020E0C + b _02021242 +_02021240: + ldr r0, [r0, #0x10] +_02021242: + blx sub_020BC0FC + pop {r3, pc} + + thumb_func_start sub_02021248 +sub_02021248: ; 0x02021248 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + str r3, [sp, #0x8] + blx sub_020B7E1C + add r7, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7E10 + add r6, r0, #0x0 + add r0, r5, #0x0 + blx sub_020B7CE4 + add r4, r0, #0x0 + cmp r7, #0x0 + beq _0202127E + ldr r3, _020212B0 ; =0x021064B8 + mov r1, #0x0 + ldr r3, [r3, #0x0] + add r0, r7, #0x0 + add r2, r1, #0x0 + blx r3 + ldr r1, [sp, #0x0] + str r0, [r1, #0x0] +_0202127E: + cmp r6, #0x0 + beq _02021292 + ldr r3, _020212B0 ; =0x021064B8 + add r0, r6, #0x0 + ldr r3, [r3, #0x0] + mov r1, #0x1 + mov r2, #0x0 + blx r3 + ldr r1, [sp, #0x4] + str r0, [r1, #0x0] +_02021292: + cmp r4, #0x0 + beq _020212AC + ldr r3, _020212B4 ; =0x021064C0 + mov r1, #0x2 + ldrh r2, [r5, #0x20] + lsl r1, r1, #0xe + ldr r3, [r3, #0x0] + and r1, r2 + add r0, r4, #0x0 + mov r2, #0x0 + blx r3 + ldr r1, [sp, #0x8] + str r0, [r1, #0x0] +_020212AC: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_020212B0: .word 0x021064B8 +_020212B4: .word 0x021064C0 + + thumb_func_start sub_020212B8 +sub_020212B8: ; 0x020212B8 + push {r4, lr} + add r3, r1, #0x0 + ldr r1, [r3, #0x4] + ldr r2, [r3, #0x8] + ldr r3, [r3, #0xc] + add r4, r0, #0x0 + bl sub_020212E4 + ldr r1, [r4, #0x4] + add r0, r4, #0x0 + blx sub_020CC15C + add r0, r4, #0x0 + mov r1, #0x1 + blx sub_020B7D28 + add r0, r4, #0x0 + mov r1, #0x1 + blx sub_020B7C78 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020212E4 +sub_020212E4: ; 0x020212E4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r3, #0x0 + blx sub_020B7DFC + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020B7CDC + pop {r3-r5, pc} + + thumb_func_start sub_020212F8 +sub_020212F8: ; 0x020212F8 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + blx sub_020B7CF0 + add r0, r4, #0x0 + blx sub_020B7C58 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02021310 +sub_02021310: ; 0x02021310 + push {r4-r6, lr} + add r6, r0, #0x0 + add r4, r1, #0x0 + bl sub_02021334 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02016998 + add r1, r6, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + blx sub_020DF438 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02021334 +sub_02021334: ; 0x02021334 + push {r3-r5, lr} + add r5, r0, #0x0 + blx sub_020BC0FC + add r4, r0, #0x0 + bne _02021344 + bl sub_02020C2C +_02021344: + ldr r0, [r4, #0x14] + add r0, r4, r0 + sub r0, r0, r5 + pop {r3-r5, pc} + + thumb_func_start sub_0202134C +sub_0202134C: ; 0x0202134C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + blx sub_020B33A0 + add r5, #0x80 + str r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0202135C +sub_0202135C: ; 0x0202135C + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + blx sub_020B3334 + add r2, r5, #0x0 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + str r6, [r5, #0x28] + ldr r0, [sp, #0x18] + str r7, [r5, #0x2c] + str r0, [r5, #0x34] + ldr r0, [sp, #0x1c] + str r0, [r5, #0x14] + ldr r0, [sp, #0x20] + cmp r0, #0x0 + beq _0202138C + add r1, r5, #0x0 + blx sub_020B3390 +_0202138C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02021390 +sub_02021390: ; 0x02021390 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + bx lr + .balign 4 + + thumb_func_start sub_020213A0 +sub_020213A0: ; 0x020213A0 + push {r3-r7, lr} + sub sp, #0x60 + add r5, r1, #0x0 + add r6, r2, #0x0 + ldr r4, [r5, #0x10] + ldr r3, [r6, #0x0] + add r2, r0, #0x0 + sub r3, r4, r3 + ldrh r1, [r0, #0x2] + mov r0, #0x3f + str r3, [sp, #0x18] + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1a + ldr r4, [r5, #0x14] + ldr r3, [r6, #0x4] + add r2, #0x8 + sub r3, r4, r3 + str r3, [sp, #0x14] + asr r3, r1, #0xb + mov r1, #0x1 + and r1, r3 + lsr r0, r0, #0x18 + cmp r1, #0x1 + bne _020213F4 + mov r0, #0x6 + ldrsh r0, [r2, r0] + lsl r4, r0, #0xc + mov r0, #0x2 + ldrsh r0, [r2, r0] + lsl r0, r0, #0xc + str r0, [sp, #0x10] + mov r0, #0x4 + ldrsh r0, [r2, r0] + lsl r0, r0, #0xc + str r0, [sp, #0xc] + mov r0, #0x0 + ldrsh r0, [r2, r0] + lsl r0, r0, #0xc + str r0, [sp, #0x8] + b _02021400 +_020213F4: + neg r1, r0 + lsl r0, r0, #0xc + lsl r4, r1, #0xc + str r0, [sp, #0x10] + str r4, [sp, #0xc] + str r0, [sp, #0x8] +_02021400: + ldr r0, [r5, #0xc] + str r0, [sp, #0x1c] + asr r0, r0, #0x1f + str r0, [sp, #0x20] + asr r0, r4, #0x1f + str r0, [sp, #0x24] + ldr r0, [r5, #0x4] + ldr r1, [sp, #0x24] + str r0, [sp, #0x28] + asr r0, r0, #0x1f + str r0, [sp, #0x2c] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x2c] + add r0, r4, #0x0 + blx sub_020EBC30 + add r7, r1, #0x0 + str r0, [sp, #0x30] + ldr r1, [sp, #0x24] + ldr r2, [sp, #0x1c] + ldr r3, [sp, #0x20] + add r0, r4, #0x0 + blx sub_020EBC30 + add r2, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x2 + ldr r1, [sp, #0x30] + mov r4, #0x0 + lsl r0, r0, #0xa + add r0, r1, r0 + adc r7, r4 + lsl r1, r7, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + mov r1, #0x2 + lsl r1, r1, #0xa + add r2, r2, r1 + adc r3, r4 + lsl r1, r3, #0x14 + lsr r2, r2, #0xc + orr r2, r1 + add r1, r0, r2 + ldr r0, [sp, #0x14] + ldr r2, [sp, #0x28] + add r0, r0, r1 + str r0, [sp, #0x5c] + ldr r0, [sp, #0x10] + ldr r3, [sp, #0x2c] + asr r0, r0, #0x1f + str r0, [sp, #0x34] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x34] + blx sub_020EBC30 + str r0, [sp, #0x38] + add r4, r1, #0x0 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x34] + ldr r2, [sp, #0x1c] + ldr r3, [sp, #0x20] + blx sub_020EBC30 + mov r2, #0x2 + ldr r3, [sp, #0x38] + lsl r2, r2, #0xa + add r2, r3, r2 + ldr r3, _0202158C ; =0x00000000 + adc r4, r3 + lsl r3, r4, #0x14 + lsr r2, r2, #0xc + orr r2, r3 + mov r3, #0x2 + lsl r3, r3, #0xa + add r3, r0, r3 + ldr r0, _0202158C ; =0x00000000 + adc r1, r0 + lsl r0, r1, #0x14 + lsr r1, r3, #0xc + orr r1, r0 + ldr r0, [sp, #0x14] + add r1, r2, r1 + add r4, r0, r1 + ldr r0, [r5, #0x8] + str r0, [sp, #0x3c] + asr r0, r0, #0x1f + str r0, [sp, #0x40] + ldr r0, [sp, #0xc] + asr r0, r0, #0x1f + str r0, [sp, #0x44] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x44] + str r0, [sp, #0x48] + asr r0, r0, #0x1f + str r0, [sp, #0x4c] + ldr r0, [sp, #0xc] + ldr r2, [sp, #0x48] + ldr r3, [sp, #0x4c] + blx sub_020EBC30 + str r0, [sp, #0x50] + add r5, r1, #0x0 + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x44] + ldr r2, [sp, #0x3c] + ldr r3, [sp, #0x40] + blx sub_020EBC30 + mov r2, #0x2 + ldr r3, [sp, #0x50] + lsl r2, r2, #0xa + add r2, r3, r2 + ldr r3, _0202158C ; =0x00000000 + adc r5, r3 + lsl r3, r5, #0x14 + lsr r2, r2, #0xc + orr r2, r3 + mov r3, #0x2 + lsl r3, r3, #0xa + add r3, r0, r3 + ldr r0, _0202158C ; =0x00000000 + adc r1, r0 + lsl r0, r1, #0x14 + lsr r1, r3, #0xc + orr r1, r0 + ldr r0, [sp, #0x18] + add r1, r2, r1 + add r5, r0, r1 + ldr r0, [sp, #0x8] + asr r0, r0, #0x1f + str r0, [sp, #0x54] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x54] + ldr r2, [sp, #0x48] + ldr r3, [sp, #0x4c] + blx sub_020EBC30 + str r0, [sp, #0x58] + str r1, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x54] + ldr r2, [sp, #0x3c] + ldr r3, [sp, #0x40] + blx sub_020EBC30 + mov r12, r0 + add r2, r1, #0x0 + mov r0, #0x2 + ldr r1, [sp, #0x58] + lsl r0, r0, #0xa + add r3, r1, r0 + ldr r1, [sp, #0x4] + ldr r0, _0202158C ; =0x00000000 + adc r1, r0 + str r1, [sp, #0x4] + lsl r0, r1, #0x14 + lsr r1, r3, #0xc + orr r1, r0 + mov r0, #0x2 + lsl r0, r0, #0xa + mov r3, r12 + add r0, r3, r0 + ldr r3, _0202158C ; =0x00000000 + adc r2, r3 + lsl r2, r2, #0x14 + lsr r0, r0, #0xc + orr r0, r2 + add r1, r1, r0 + ldr r0, [sp, #0x18] + add r0, r0, r1 + ldr r1, [sp, #0x5c] + cmp r4, r1 + bge _02021560 + add r1, r4, #0x0 + ldr r4, [sp, #0x5c] + str r1, [sp, #0x5c] +_02021560: + cmp r0, r5 + bge _0202156A + add r1, r0, #0x0 + add r0, r5, #0x0 + add r5, r1, #0x0 +_0202156A: + cmp r4, #0x0 + ble _02021586 + ldr r2, [r6, #0xc] + ldr r1, [sp, #0x5c] + cmp r1, r2 + bge _02021586 + cmp r0, #0x0 + ble _02021586 + ldr r0, [r6, #0x8] + cmp r5, r0 + bge _02021586 + add sp, #0x60 + mov r0, #0x1 + pop {r3-r7, pc} +_02021586: + mov r0, #0x0 + add sp, #0x60 + pop {r3-r7, pc} + .balign 4 +_0202158C: .word 0x00000000 + + thumb_func_start sub_02021590 +sub_02021590: ; 0x02021590 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + ldr r0, [sp, #0x20] + mov r1, #0x78 + add r7, r2, #0x0 + str r3, [sp, #0x4] + bl sub_02016998 + add r4, r0, #0x0 + beq _020215C0 + ldr r1, [sp, #0x20] + ldr r3, [sp, #0x4] + str r1, [sp, #0x0] + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_02021600 + ldr r2, [sp, #0x20] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_020216D4 +_020215C0: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020215C8 +sub_020215C8: ; 0x020215C8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02021728 + add r0, r4, #0x0 + bl sub_020216B8 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020215E0 +sub_020215E0: ; 0x020215E0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + add r6, r2, #0x0 + cmp r1, r4 + beq _020215FC + bl sub_02021728 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020216D4 +_020215FC: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02021600 +sub_02021600: ; 0x02021600 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r0, r1, #0x0 + ldr r1, [sp, #0x18] + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02006670 + str r0, [r5, #0x54] + cmp r0, #0x0 + beq _020216A6 + add r1, r5, #0x0 + add r1, #0x5c + str r1, [sp, #0x0] + add r1, r4, #0x0 + mov r2, #0x0 + mov r3, #0x10 + bl sub_02006814 + str r6, [r5, #0x6c] + cmp r6, #0x0 + beq _02021638 + mov r0, #0x0 + str r0, [r5, #0x74] + ldr r0, _020216AC ; =sub_0202192C + str r0, [r5, #0x70] + b _02021660 +_02021638: + ldr r0, [r5, #0x60] + cmp r0, #0x0 + bne _02021642 + bl sub_02020C2C +_02021642: + ldr r0, [sp, #0x18] + ldr r1, [r5, #0x64] + bl sub_02016998 + str r0, [r5, #0x74] + ldr r0, _020216B0 ; =sub_02021924 + add r1, r4, #0x0 + str r0, [r5, #0x70] + ldr r0, [r5, #0x74] + str r0, [sp, #0x0] + ldr r0, [r5, #0x54] + ldr r2, [r5, #0x60] + ldr r3, [r5, #0x64] + bl sub_02006814 +_02021660: + add r0, r5, #0x0 + add r0, #0x6a + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bhi _02021674 + add r0, r5, #0x0 + add r0, #0x6b + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bls _02021678 +_02021674: + bl sub_02020C2C +_02021678: + add r0, r5, #0x0 + add r0, #0x6a + ldrb r0, [r0, #0x0] + ldr r2, _020216B4 ; =0x020EE668 + sub r0, r0, #0x1 + lsl r3, r0, #0x1 + add r0, r5, #0x0 + add r0, #0x6b + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r2, r3 + ldrb r0, [r1, r0] + str r0, [r5, #0x8] + add r0, r5, #0x0 + add r0, #0x6b + ldrb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x6a + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x4 + mul r0, r1 + str r0, [r5, #0xc] + str r4, [r5, #0x58] +_020216A6: + add sp, #0x4 + pop {r3-r6, pc} + nop +_020216AC: .word sub_0202192C + 1 +_020216B0: .word sub_02021924 + 1 +_020216B4: .word 0x020EE668 + + thumb_func_start sub_020216B8 +sub_020216B8: ; 0x020216B8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x74] + cmp r0, #0x0 + beq _020216C6 + bl sub_02016A18 +_020216C6: + ldr r0, [r4, #0x54] + cmp r0, #0x0 + beq _020216D0 + bl sub_020066F4 +_020216D0: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020216D4 +sub_020216D4: ; 0x020216D4 + push {r3, lr} + add r3, r1, #0x0 + add r1, r2, #0x0 + str r3, [r0, #0x0] + ldr r2, _020216E8 ; =0x020EE66C + lsl r3, r3, #0x2 + ldr r2, [r2, r3] + blx r2 + pop {r3, pc} + nop +_020216E8: .word 0x020EE66C + + thumb_func_start sub_020216EC +sub_020216EC: ; 0x020216EC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0xc] + ldr r0, [r5, #0x64] + add r4, r2, #0x0 + mul r4, r0 + add r0, r1, #0x0 + add r1, r4, #0x0 + bl sub_02016998 + str r0, [r5, #0x10] + ldr r0, _02021718 ; =sub_02021774 + add r3, r4, #0x0 + str r0, [r5, #0x4] + ldr r0, [r5, #0x10] + str r0, [sp, #0x0] + ldr r0, [r5, #0x54] + ldr r1, [r5, #0x58] + ldr r2, [r5, #0x5c] + bl sub_02006814 + pop {r3-r5, pc} + .balign 4 +_02021718: .word sub_02021774 + 1 + + thumb_func_start sub_0202171C +sub_0202171C: ; 0x0202171C + ldr r1, _02021724 ; =sub_0202181C + str r1, [r0, #0x4] + bx lr + nop +_02021724: .word sub_0202181C + 1 + + thumb_func_start sub_02021728 +sub_02021728: ; 0x02021728 + push {r3, lr} + ldr r1, [r0, #0x0] + lsl r2, r1, #0x2 + ldr r1, _02021738 ; =0x020EE674 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + nop +_02021738: .word 0x020EE674 + + thumb_func_start sub_0202173C +sub_0202173C: ; 0x0202173C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x10] + pop {r4, pc} + + thumb_func_start sub_0202174C +sub_0202174C: ; 0x0202174C + bx lr + .balign 4 + + thumb_func_start sub_02021750 +sub_02021750: ; 0x02021750 + push {r3, lr} + ldr r3, [r0, #0x64] + cmp r1, r3 + bhi _02021764 + sub r1, r1, #0x1 + lsl r1, r1, #0x10 + ldr r3, [r0, #0x4] + lsr r1, r1, #0x10 + blx r3 + pop {r3, pc} +_02021764: + add r0, r2, #0x0 + mov r1, #0x0 + add r0, #0x80 + strb r1, [r0, #0x0] + add r2, #0x81 + strb r1, [r2, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02021774 +sub_02021774: ; 0x02021774 + push {r3-r7, lr} + str r1, [sp, #0x0] + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r1, [r7, #0xc] + add r5, r0, #0x0 + ldr r0, [r7, #0x8] + add r6, r2, #0x0 + mul r5, r1 + ldr r4, [r7, #0x10] + cmp r0, #0x3 + bhi _02021802 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r2, #0 + lsl r6, r4, #0 + lsl r4, r7, #0 + add r0, r4, r5 + add r1, r6, #0x0 + bl sub_0201C100 + b _02021802 +_020217AA: + .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7 + .byte 0xA7, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0xA1, 0xFC, 0x20, 0xE0 + .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x9C, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31 + .byte 0xFA, 0xF7, 0x96, 0xFC, 0x15, 0xE0, 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x91, 0xFC, 0x60, 0x19 + .byte 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x8B, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x20, 0x30 + .byte 0x40, 0x31, 0xFA, 0xF7, 0x85, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x30, 0x30, 0x60, 0x31, 0xFA, 0xF7 + .byte 0x7F, 0xFC +_02021802: + ldr r1, [sp, #0x0] + ldr r2, [r7, #0x70] + add r0, r7, #0x0 + blx r2 + add r1, r6, #0x0 + add r1, #0x80 + add r7, #0x69 + strb r0, [r1, #0x0] + ldrb r0, [r7, #0x0] + add r6, #0x81 + strb r0, [r6, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202181C +sub_0202181C: ; 0x0202181C + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r6, [r4, #0xc] + add r0, #0x14 + str r0, [sp, #0x0] + add r7, r1, #0x0 + add r5, r2, #0x0 + add r2, r7, #0x0 + ldr r3, [r4, #0x5c] + mul r2, r6 + add r2, r3, r2 + ldr r0, [r4, #0x54] + ldr r1, [r4, #0x58] + add r3, r6, #0x0 + bl sub_02006814 + ldr r0, [r4, #0x8] + cmp r0, #0x3 + bhi _020218C0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r2, #0 + lsl r2, r5, #0 + lsl r2, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + bl sub_0201C100 + b _020218C0 +_02021862: + .byte 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x4A, 0xFC, 0x20, 0x1C, 0x29, 0x1C + .byte 0x24, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0x44, 0xFC, 0x22, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C + .byte 0xFA, 0xF7, 0x3E, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x38, 0xFC + .byte 0x16, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x32, 0xFC, 0x20, 0x1C, 0x29, 0x1C + .byte 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x2C, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x34, 0x30, 0x40, 0x31 + .byte 0xFA, 0xF7, 0x26, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x44, 0x30, 0x60, 0x31, 0xFA, 0xF7, 0x20, 0xFC +_020218C0: + ldr r2, [r4, #0x70] + add r0, r4, #0x0 + add r1, r7, #0x0 + blx r2 + add r1, r5, #0x0 + add r1, #0x80 + add r4, #0x69 + strb r0, [r1, #0x0] + ldrb r0, [r4, #0x0] + add r5, #0x81 + strb r0, [r5, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020218D8 +sub_020218D8: ; 0x020218D8 + push {r3-r7, lr} + add r4, r1, #0x0 + ldrh r1, [r4, #0x0] + add r5, r0, #0x0 + ldr r0, _0202191C ; =0x0000FFFF + add r7, r2, #0x0 + mov r6, #0x0 + cmp r1, r0 + beq _02021916 +_020218EA: + ldr r0, _02021920 ; =0x0000FFFE + cmp r1, r0 + bne _02021900 + add r0, r4, #0x0 + bl sub_0201B8B8 + add r4, r0, #0x0 + ldrh r1, [r4, #0x0] + ldr r0, _0202191C ; =0x0000FFFF + cmp r1, r0 + beq _02021916 +_02021900: + ldr r2, [r5, #0x70] + add r0, r5, #0x0 + sub r1, r1, #0x1 + blx r2 + add r4, r4, #0x2 + add r0, r7, r0 + add r6, r6, r0 + ldrh r1, [r4, #0x0] + ldr r0, _0202191C ; =0x0000FFFF + cmp r1, r0 + bne _020218EA +_02021916: + sub r0, r6, r7 + pop {r3-r7, pc} + nop +_0202191C: .word 0x0000FFFF +_02021920: .word 0x0000FFFE + + thumb_func_start sub_02021924 +sub_02021924: ; 0x02021924 + ldr r0, [r0, #0x74] + ldrb r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_0202192C +sub_0202192C: ; 0x0202192C + add r0, #0x68 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02021934 +sub_02021934: ; 0x02021934 + push {r3-r7, lr} + add r5, r1, #0x0 + ldrh r1, [r5, #0x0] + add r7, r0, #0x0 + mov r4, #0x0 + ldr r0, _02021994 ; =0x0000FFFF + add r6, r2, #0x0 + str r4, [sp, #0x0] + cmp r1, r0 + beq _02021986 +_02021948: + ldr r0, _02021998 ; =0x0000FFFE + cmp r1, r0 + bne _02021958 + add r0, r5, #0x0 + bl sub_0201B8B8 + add r5, r0, #0x0 + b _0202197E +_02021958: + mov r0, #0xe + lsl r0, r0, #0xc + cmp r1, r0 + bne _02021970 + ldr r0, [sp, #0x0] + sub r1, r4, r6 + cmp r0, r1 + bhs _0202196A + str r1, [sp, #0x0] +_0202196A: + mov r4, #0x0 + add r5, r5, #0x2 + b _0202197E +_02021970: + ldr r2, [r7, #0x70] + add r0, r7, #0x0 + sub r1, r1, #0x1 + blx r2 + add r0, r6, r0 + add r4, r4, r0 + add r5, r5, #0x2 +_0202197E: + ldrh r1, [r5, #0x0] + ldr r0, _02021994 ; =0x0000FFFF + cmp r1, r0 + bne _02021948 +_02021986: + ldr r0, [sp, #0x0] + sub r1, r4, r6 + cmp r0, r1 + bhs _02021990 + str r1, [sp, #0x0] +_02021990: + ldr r0, [sp, #0x0] + pop {r3-r7, pc} + .balign 4 +_02021994: .word 0x0000FFFF +_02021998: .word 0x0000FFFE + + thumb_func_start sub_0202199C +sub_0202199C: ; 0x0202199C + push {r3-r7, lr} + add r5, r1, #0x0 + ldrh r1, [r5, #0x0] + add r6, r0, #0x0 + ldr r0, _020219EC ; =0x0000FFFF + mov r4, #0x0 + cmp r1, r0 + beq _020219E8 + sub r7, r0, #0x1 +_020219AE: + cmp r1, r7 + bne _020219D4 + add r0, r5, #0x0 + bl sub_0201B8E0 + ldr r1, _020219F0 ; =0x00000203 + cmp r0, r1 + bne _020219CA + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0201B914 + add r4, r0, #0x0 + sub r4, #0xc +_020219CA: + add r0, r5, #0x0 + bl sub_0201B8B8 + add r5, r0, #0x0 + b _020219E0 +_020219D4: + ldr r2, [r6, #0x70] + add r0, r6, #0x0 + sub r1, r1, #0x1 + blx r2 + add r4, r4, r0 + add r5, r5, #0x2 +_020219E0: + ldrh r1, [r5, #0x0] + ldr r0, _020219EC ; =0x0000FFFF + cmp r1, r0 + bne _020219AE +_020219E8: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_020219EC: .word 0x0000FFFF +_020219F0: .word 0x00000203 + + thumb_func_start sub_020219F4 +sub_020219F4: ; 0x020219F4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + lsl r1, r4, #0x1 + add r1, #0xa + bl sub_02016998 + cmp r0, #0x0 + beq _02021A14 + ldr r1, _02021A18 ; =0xB6F8D2EC + str r1, [r0, #0x4] + strh r4, [r0, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x2] + ldr r1, _02021A1C ; =0x0000FFFF + strh r1, [r0, #0x8] +_02021A14: + pop {r4, pc} + nop +_02021A18: .word 0xB6F8D2EC +_02021A1C: .word 0x0000FFFF + + thumb_func_start sub_02021A20 +sub_02021A20: ; 0x02021A20 + push {r4, lr} + add r4, r0, #0x0 + bne _02021A2A + bl sub_02020C2C +_02021A2A: + ldr r1, [r4, #0x4] + ldr r0, _02021A44 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021A36 + bl sub_02020C2C +_02021A36: + ldr r0, _02021A48 ; =0xB6F8D2ED + str r0, [r4, #0x4] + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + nop +_02021A44: .word 0xB6F8D2EC +_02021A48: .word 0xB6F8D2ED + + thumb_func_start sub_02021A4C +sub_02021A4C: ; 0x02021A4C + push {r4, lr} + add r4, r0, #0x0 + bne _02021A56 + bl sub_02020C2C +_02021A56: + ldr r1, [r4, #0x4] + ldr r0, _02021A6C ; =0xB6F8D2EC + cmp r1, r0 + beq _02021A62 + bl sub_02020C2C +_02021A62: + mov r0, #0x0 + strh r0, [r4, #0x2] + ldr r0, _02021A70 ; =0x0000FFFF + strh r0, [r4, #0x8] + pop {r4, pc} + .balign 4 +_02021A6C: .word 0xB6F8D2EC +_02021A70: .word 0x0000FFFF + + thumb_func_start sub_02021A74 +sub_02021A74: ; 0x02021A74 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021A82 + bl sub_02020C2C +_02021A82: + ldr r1, [r5, #0x4] + ldr r0, _02021AC8 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021A8E + bl sub_02020C2C +_02021A8E: + cmp r4, #0x0 + bne _02021A96 + bl sub_02020C2C +_02021A96: + ldr r1, [r4, #0x4] + ldr r0, _02021AC8 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021AA2 + bl sub_02020C2C +_02021AA2: + ldrh r2, [r4, #0x2] + ldrh r0, [r5, #0x0] + cmp r0, r2 + bls _02021AC0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r2, #0x1 + add r0, #0x8 + add r1, #0x8 + lsl r2, r2, #0x1 + blx sub_020DF438 + ldrh r0, [r4, #0x2] + strh r0, [r5, #0x2] + pop {r3-r5, pc} +_02021AC0: + bl sub_02020C2C + pop {r3-r5, pc} + nop +_02021AC8: .word 0xB6F8D2EC + + thumb_func_start sub_02021ACC +sub_02021ACC: ; 0x02021ACC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021ADA + bl sub_02020C2C +_02021ADA: + ldr r1, [r5, #0x4] + ldr r0, _02021B00 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021AE6 + bl sub_02020C2C +_02021AE6: + ldrh r0, [r5, #0x2] + add r1, r4, #0x0 + add r0, r0, #0x1 + bl sub_020219F4 + add r4, r0, #0x0 + beq _02021AFA + add r1, r5, #0x0 + bl sub_02021A74 +_02021AFA: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_02021B00: .word 0xB6F8D2EC + + thumb_func_start sub_02021B04 +sub_02021B04: ; 0x02021B04 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [sp, #0x20] + add r6, r1, #0x0 + add r7, r3, #0x0 + str r2, [sp, #0x0] + str r0, [sp, #0x20] + cmp r5, #0x0 + bne _02021B1C + bl sub_02020C2C +_02021B1C: + ldr r1, [r5, #0x4] + ldr r0, _02021C1C ; =0xB6F8D2EC + cmp r1, r0 + beq _02021B28 + bl sub_02020C2C +_02021B28: + cmp r6, #0x0 + bge _02021B30 + mov r4, #0x1 + b _02021B32 +_02021B30: + mov r4, #0x0 +_02021B32: + ldr r0, [sp, #0x0] + ldrh r1, [r5, #0x0] + add r0, r0, r4 + cmp r1, r0 + bls _02021C14 + ldr r0, [sp, #0x20] + cmp r0, #0x0 + bne _02021B48 + ldr r0, _02021C20 ; =0x020EE67C + str r0, [sp, #0x4] + b _02021B4C +_02021B48: + ldr r0, _02021C24 ; =0x020EE690 + str r0, [sp, #0x4] +_02021B4C: + add r0, r5, #0x0 + bl sub_02021A4C + cmp r4, #0x0 + beq _02021B74 + mov r0, #0x0 + mvn r0, r0 + mul r6, r0 + ldr r0, [sp, #0x20] + cmp r0, #0x0 + bne _02021B66 + mov r0, #0xf1 + b _02021B68 +_02021B66: + ldr r0, _02021C28 ; =0x000001BE +_02021B68: + ldrh r2, [r5, #0x2] + add r1, r2, #0x1 + strh r1, [r5, #0x2] + lsl r1, r2, #0x1 + add r1, r5, r1 + strh r0, [r1, #0x8] +_02021B74: + ldr r0, [sp, #0x0] + lsl r1, r0, #0x2 + ldr r0, _02021C2C ; =0x020EE6A0 + ldr r4, [r0, r1] + cmp r4, #0x0 + beq _02021C06 +_02021B80: + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020EBE8C + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r0, r4, #0x0 + mul r0, r1 + sub r6, r6, r0 + cmp r7, #0x2 + bne _02021BB4 + cmp r1, #0xa + bhs _02021BA2 + ldr r0, [sp, #0x4] + lsl r1, r1, #0x1 + ldrh r1, [r0, r1] + b _02021BA4 +_02021BA2: + mov r1, #0xe2 +_02021BA4: + ldrh r0, [r5, #0x2] + add r2, r0, #0x0 + add r2, r2, #0x1 + lsl r0, r0, #0x1 + strh r2, [r5, #0x2] + add r0, r5, r0 + strh r1, [r0, #0x8] + b _02021BFA +_02021BB4: + cmp r1, #0x0 + bne _02021BBC + cmp r4, #0x1 + bne _02021BDC +_02021BBC: + mov r7, #0x2 + cmp r1, #0xa + bhs _02021BCA + ldr r0, [sp, #0x4] + lsl r1, r1, #0x1 + ldrh r1, [r0, r1] + b _02021BCC +_02021BCA: + mov r1, #0xe2 +_02021BCC: + ldrh r0, [r5, #0x2] + add r2, r0, #0x0 + add r2, r2, #0x1 + lsl r0, r0, #0x1 + strh r2, [r5, #0x2] + add r0, r5, r0 + strh r1, [r0, #0x8] + b _02021BFA +_02021BDC: + cmp r7, #0x1 + bne _02021BFA + ldr r0, [sp, #0x20] + cmp r0, #0x0 + bne _02021BEA + mov r1, #0x1 + b _02021BEC +_02021BEA: + ldr r1, _02021C30 ; =0x000001E2 +_02021BEC: + ldrh r0, [r5, #0x2] + add r2, r0, #0x0 + add r2, r2, #0x1 + lsl r0, r0, #0x1 + strh r2, [r5, #0x2] + add r0, r5, r0 + strh r1, [r0, #0x8] +_02021BFA: + add r0, r4, #0x0 + mov r1, #0xa + blx sub_020EBE8C + add r4, r0, #0x0 + bne _02021B80 +_02021C06: + ldrh r0, [r5, #0x2] + ldr r1, _02021C34 ; =0x0000FFFF + add sp, #0x8 + lsl r0, r0, #0x1 + add r0, r5, r0 + strh r1, [r0, #0x8] + pop {r3-r7, pc} +_02021C14: + bl sub_02020C2C + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02021C1C: .word 0xB6F8D2EC +_02021C20: .word 0x020EE67C +_02021C24: .word 0x020EE690 +_02021C28: .word 0x000001BE +_02021C2C: .word 0x020EE6A0 +_02021C30: .word 0x000001E2 +_02021C34: .word 0x0000FFFF + + thumb_func_start sub_02021C38 +sub_02021C38: ; 0x02021C38 + push {r3-r7, lr} + sub sp, #0x10 + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x8] + str r1, [sp, #0xc] + add r5, r1, #0x0 + ldrh r1, [r0, #0x2] + mov r7, #0x1 + cmp r1, #0x12 + bls _02021C56 + ldr r0, [sp, #0x8] + add sp, #0x10 + add r1, r0, #0x0 + pop {r3-r7, pc} +_02021C56: + sub r1, r1, #0x1 + str r1, [sp, #0x4] + bmi _02021CCC + lsl r1, r1, #0x1 + add r4, r0, r1 +_02021C60: + ldrh r6, [r4, #0x8] + mov r3, #0xa + mov r0, #0x0 + add r1, r6, #0x0 + sub r1, #0xa2 + asr r2, r1, #0x1f + sub r3, r1, r3 + mov r12, r2 + mov r3, r12 + sbc r3, r0 + blo _02021C98 + ldr r0, _02021CDC ; =0x00000121 + mov r3, #0xa + sub r1, r6, r0 + asr r2, r1, #0x1f + mov r0, #0x0 + sub r3, r1, r3 + mov r12, r2 + mov r3, r12 + sbc r3, r0 + blo _02021C98 + ldr r0, [sp, #0x0] + mov r1, #0x0 + str r1, [r0, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} +_02021C98: + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, r7, #0x0 + add r3, r5, #0x0 + blx sub_020EBC30 + add r2, r1, #0x0 + ldr r1, [sp, #0x8] + add r0, r1, r0 + str r0, [sp, #0x8] + ldr r0, [sp, #0xc] + adc r0, r2 + str r0, [sp, #0xc] + add r0, r7, #0x0 + add r1, r5, #0x0 + mov r2, #0xa + mov r3, #0x0 + blx sub_020EBC30 + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + add r5, r1, #0x0 + sub r4, r4, #0x2 + sub r0, r0, #0x1 + str r0, [sp, #0x4] + bpl _02021C60 +_02021CCC: + ldr r0, [sp, #0x0] + mov r1, #0x1 + str r1, [r0, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} + nop +_02021CDC: .word 0x00000121 + + thumb_func_start sub_02021CE0 +sub_02021CE0: ; 0x02021CE0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021CEE + bl sub_02020C2C +_02021CEE: + ldr r1, [r5, #0x4] + ldr r0, _02021D34 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021CFA + bl sub_02020C2C +_02021CFA: + cmp r4, #0x0 + bne _02021D02 + bl sub_02020C2C +_02021D02: + ldr r1, [r4, #0x4] + ldr r0, _02021D34 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021D0E + bl sub_02020C2C +_02021D0E: + ldrh r1, [r5, #0x8] + ldrh r0, [r4, #0x8] + cmp r1, r0 + bne _02021D2E + ldr r0, _02021D38 ; =0x0000FFFF +_02021D18: + ldrh r1, [r5, #0x8] + cmp r1, r0 + bne _02021D22 + mov r0, #0x0 + pop {r3-r5, pc} +_02021D22: + add r5, r5, #0x2 + add r4, r4, #0x2 + ldrh r2, [r5, #0x8] + ldrh r1, [r4, #0x8] + cmp r2, r1 + beq _02021D18 +_02021D2E: + mov r0, #0x1 + pop {r3-r5, pc} + nop +_02021D34: .word 0xB6F8D2EC +_02021D38: .word 0x0000FFFF + + thumb_func_start sub_02021D3C +sub_02021D3C: ; 0x02021D3C + push {r4, lr} + add r4, r0, #0x0 + bne _02021D46 + bl sub_02020C2C +_02021D46: + ldr r1, [r4, #0x4] + ldr r0, _02021D58 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021D52 + bl sub_02020C2C +_02021D52: + ldrh r0, [r4, #0x2] + pop {r4, pc} + nop +_02021D58: .word 0xB6F8D2EC + + thumb_func_start sub_02021D5C +sub_02021D5C: ; 0x02021D5C + push {r3-r5, lr} + add r4, r0, #0x0 + bne _02021D66 + bl sub_02020C2C +_02021D66: + ldr r1, [r4, #0x4] + ldr r0, _02021D98 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021D72 + bl sub_02020C2C +_02021D72: + ldrh r1, [r4, #0x2] + mov r3, #0x0 + mov r0, #0x1 + cmp r1, #0x0 + ble _02021D94 + mov r1, #0xe + add r5, r4, #0x0 + lsl r1, r1, #0xc +_02021D82: + ldrh r2, [r5, #0x8] + cmp r2, r1 + bne _02021D8A + add r0, r0, #0x1 +_02021D8A: + ldrh r2, [r4, #0x2] + add r3, r3, #0x1 + add r5, r5, #0x2 + cmp r3, r2 + blt _02021D82 +_02021D94: + pop {r3-r5, pc} + nop +_02021D98: .word 0xB6F8D2EC + + thumb_func_start sub_02021D9C +sub_02021D9C: ; 0x02021D9C + push {r3-r7, lr} + add r5, r1, #0x0 + add r7, r0, #0x0 + add r6, r2, #0x0 + cmp r5, #0x0 + bne _02021DAC + bl sub_02020C2C +_02021DAC: + ldr r1, [r5, #0x4] + ldr r0, _02021E24 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021DB8 + bl sub_02020C2C +_02021DB8: + cmp r7, #0x0 + bne _02021DC0 + bl sub_02020C2C +_02021DC0: + ldr r1, [r7, #0x4] + ldr r0, _02021E24 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021DCC + bl sub_02020C2C +_02021DCC: + mov r4, #0x0 + cmp r6, #0x0 + beq _02021DF6 + ldrh r0, [r5, #0x2] + cmp r0, #0x0 + ble _02021DF6 + mov r1, #0xe + add r0, r5, #0x0 + lsl r1, r1, #0xc +_02021DDE: + ldrh r2, [r0, #0x8] + cmp r2, r1 + bne _02021DEC + sub r6, r6, #0x1 + bne _02021DEC + add r4, r4, #0x1 + b _02021DF6 +_02021DEC: + ldrh r2, [r5, #0x2] + add r4, r4, #0x1 + add r0, r0, #0x2 + cmp r4, r2 + blt _02021DDE +_02021DF6: + add r0, r7, #0x0 + bl sub_02021A4C + ldrh r0, [r5, #0x2] + cmp r4, r0 + bge _02021E20 + lsl r0, r4, #0x1 + add r6, r5, r0 +_02021E06: + ldrh r1, [r6, #0x8] + mov r0, #0xe + lsl r0, r0, #0xc + cmp r1, r0 + beq _02021E20 + add r0, r7, #0x0 + bl sub_02021FB0 + ldrh r0, [r5, #0x2] + add r4, r4, #0x1 + add r6, r6, #0x2 + cmp r4, r0 + blt _02021E06 +_02021E20: + pop {r3-r7, pc} + nop +_02021E24: .word 0xB6F8D2EC + + thumb_func_start sub_02021E28 +sub_02021E28: ; 0x02021E28 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021E36 + bl sub_02020C2C +_02021E36: + ldr r1, [r5, #0x4] + ldr r0, _02021E84 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021E42 + bl sub_02020C2C +_02021E42: + mov r0, #0x0 + strh r0, [r5, #0x2] + ldrh r1, [r4, #0x0] + ldr r0, _02021E88 ; =0x0000FFFF + cmp r1, r0 + beq _02021E76 + add r1, r0, #0x0 +_02021E50: + ldrh r2, [r5, #0x0] + ldrh r0, [r5, #0x2] + sub r2, r2, #0x1 + cmp r0, r2 + blt _02021E60 + bl sub_02020C2C + b _02021E76 +_02021E60: + add r2, r0, #0x0 + add r2, r2, #0x1 + strh r2, [r5, #0x2] + ldrh r2, [r4, #0x0] + lsl r0, r0, #0x1 + add r0, r5, r0 + add r4, r4, #0x2 + strh r2, [r0, #0x8] + ldrh r0, [r4, #0x0] + cmp r0, r1 + bne _02021E50 +_02021E76: + ldrh r0, [r5, #0x2] + ldr r1, _02021E88 ; =0x0000FFFF + lsl r0, r0, #0x1 + add r0, r5, r0 + strh r1, [r0, #0x8] + pop {r3-r5, pc} + nop +_02021E84: .word 0xB6F8D2EC +_02021E88: .word 0x0000FFFF + + thumb_func_start sub_02021E8C +sub_02021E8C: ; 0x02021E8C + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + add r4, r2, #0x0 + cmp r5, #0x0 + bne _02021E9C + bl sub_02020C2C +_02021E9C: + ldr r1, [r5, #0x4] + ldr r0, _02021EE8 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021EA8 + bl sub_02020C2C +_02021EA8: + ldrh r0, [r5, #0x0] + cmp r4, r0 + bhi _02021EE2 + lsl r6, r4, #0x1 + add r0, r5, #0x0 + add r0, #0x8 + add r1, r7, #0x0 + add r2, r6, #0x0 + blx sub_020DF438 + mov r2, #0x0 + cmp r4, #0x0 + bls _02021ED4 + ldr r0, _02021EEC ; =0x0000FFFF + add r3, r5, #0x0 +_02021EC6: + ldrh r1, [r3, #0x8] + cmp r1, r0 + beq _02021ED4 + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, r4 + blo _02021EC6 +_02021ED4: + strh r2, [r5, #0x2] + cmp r2, r4 + bne _02021EE6 + ldr r1, _02021EEC ; =0x0000FFFF + add r0, r5, r6 + strh r1, [r0, #0x6] + pop {r3-r7, pc} +_02021EE2: + bl sub_02020C2C +_02021EE6: + pop {r3-r7, pc} + .balign 4 +_02021EE8: .word 0xB6F8D2EC +_02021EEC: .word 0x0000FFFF + + thumb_func_start sub_02021EF0 +sub_02021EF0: ; 0x02021EF0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + cmp r5, #0x0 + bne _02021F00 + bl sub_02020C2C +_02021F00: + ldr r1, [r5, #0x4] + ldr r0, _02021F28 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021F0C + bl sub_02020C2C +_02021F0C: + ldrh r0, [r5, #0x2] + add r2, r0, #0x1 + cmp r2, r4 + bhi _02021F22 + add r5, #0x8 + add r0, r6, #0x0 + add r1, r5, #0x0 + lsl r2, r2, #0x1 + blx sub_020DF438 + pop {r4-r6, pc} +_02021F22: + bl sub_02020C2C + pop {r4-r6, pc} + .balign 4 +_02021F28: .word 0xB6F8D2EC + + thumb_func_start sub_02021F2C +sub_02021F2C: ; 0x02021F2C + push {r4, lr} + add r4, r0, #0x0 + bne _02021F36 + bl sub_02020C2C +_02021F36: + ldr r1, [r4, #0x4] + ldr r0, _02021F48 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021F42 + bl sub_02020C2C +_02021F42: + add r4, #0x8 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02021F48: .word 0xB6F8D2EC + + thumb_func_start sub_02021F4C +sub_02021F4C: ; 0x02021F4C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021F5A + bl sub_02020C2C +_02021F5A: + ldr r1, [r5, #0x4] + ldr r0, _02021FAC ; =0xB6F8D2EC + cmp r1, r0 + beq _02021F66 + bl sub_02020C2C +_02021F66: + cmp r4, #0x0 + bne _02021F6E + bl sub_02020C2C +_02021F6E: + ldr r1, [r4, #0x4] + ldr r0, _02021FAC ; =0xB6F8D2EC + cmp r1, r0 + beq _02021F7A + bl sub_02020C2C +_02021F7A: + ldrh r2, [r4, #0x2] + ldrh r0, [r5, #0x2] + add r1, r0, r2 + add r3, r1, #0x1 + ldrh r1, [r5, #0x0] + cmp r3, r1 + bgt _02021FA6 + add r1, r5, #0x0 + add r1, #0x8 + lsl r0, r0, #0x1 + add r0, r1, r0 + add r1, r4, #0x0 + add r2, r2, #0x1 + add r1, #0x8 + lsl r2, r2, #0x1 + blx sub_020DF438 + ldrh r1, [r5, #0x2] + ldrh r0, [r4, #0x2] + add r0, r1, r0 + strh r0, [r5, #0x2] + pop {r3-r5, pc} +_02021FA6: + bl sub_02020C2C + pop {r3-r5, pc} + .balign 4 +_02021FAC: .word 0xB6F8D2EC + + thumb_func_start sub_02021FB0 +sub_02021FB0: ; 0x02021FB0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02021FBE + bl sub_02020C2C +_02021FBE: + ldr r1, [r5, #0x4] + ldr r0, _02021FF0 ; =0xB6F8D2EC + cmp r1, r0 + beq _02021FCA + bl sub_02020C2C +_02021FCA: + ldrh r2, [r5, #0x2] + ldrh r0, [r5, #0x0] + add r1, r2, #0x1 + cmp r1, r0 + bge _02021FE8 + lsl r0, r2, #0x1 + strh r1, [r5, #0x2] + add r0, r5, r0 + strh r4, [r0, #0x8] + ldrh r0, [r5, #0x2] + ldr r1, _02021FF4 ; =0x0000FFFF + lsl r0, r0, #0x1 + add r0, r5, r0 + strh r1, [r0, #0x8] + pop {r3-r5, pc} +_02021FE8: + bl sub_02020C2C + pop {r3-r5, pc} + nop +_02021FF0: .word 0xB6F8D2EC +_02021FF4: .word 0x0000FFFF + + thumb_func_start sub_02021FF8 +sub_02021FF8: ; 0x02021FF8 + push {r4, lr} + add r4, r0, #0x0 + bne _02022002 + bl sub_02020C2C +_02022002: + ldr r1, [r4, #0x4] + ldr r0, _02022028 ; =0xB6F8D2EC + cmp r1, r0 + beq _0202200E + bl sub_02020C2C +_0202200E: + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + beq _02022026 + ldrh r1, [r4, #0x8] + ldr r0, _0202202C ; =0x00000145 + cmp r1, r0 + blo _02022026 + add r0, #0x19 + cmp r1, r0 + bhi _02022026 + sub r1, #0x1a + strh r1, [r4, #0x8] +_02022026: + pop {r4, pc} + .balign 4 +_02022028: .word 0xB6F8D2EC +_0202202C: .word 0x00000145 + + thumb_func_start sub_02022030 +sub_02022030: ; 0x02022030 + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + beq _02022044 + ldrh r1, [r0, #0x8] + mov r0, #0xf1 + lsl r0, r0, #0x8 + cmp r1, r0 + bne _02022044 + mov r0, #0x1 + bx lr +_02022044: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02022048 +sub_02022048: ; 0x02022048 + push {r3-r7, lr} + add r4, r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02022030 + cmp r0, #0x0 + beq _020220B2 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x0] + ldrh r0, [r0, #0x2] + add r1, #0x8 + ldr r7, _020220BC ; =0x000001FF + lsl r0, r0, #0x1 + add r3, r1, r0 + mov r0, #0x0 + add r4, #0xa + add r1, r0, #0x0 +_0202206C: + ldrh r2, [r4, #0x0] + asr r2, r0 + and r2, r7 + lsl r2, r2, #0x10 + add r0, #0x9 + lsr r2, r2, #0x10 + cmp r0, #0xf + blt _02022094 + add r4, r4, #0x2 + sub r0, #0xf + beq _02022094 + ldrh r6, [r4, #0x0] + mov r5, #0x9 + sub r5, r5, r0 + lsl r6, r5 + ldr r5, _020220BC ; =0x000001FF + and r5, r6 + orr r2, r5 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 +_02022094: + ldr r5, _020220BC ; =0x000001FF + cmp r2, r5 + beq _020220A2 + strh r2, [r3, #0x0] + add r3, r3, #0x2 + add r1, r1, #0x1 + b _0202206C +_020220A2: + ldr r0, _020220C0 ; =0x0000FFFF + strh r0, [r3, #0x0] + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x2] + add r1, r0, r1 + ldr r0, [sp, #0x0] + strh r1, [r0, #0x2] + pop {r3-r7, pc} +_020220B2: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_02021F4C + pop {r3-r7, pc} + .balign 4 +_020220BC: .word 0x000001FF +_020220C0: .word 0x0000FFFF + + thumb_func_start sub_020220C4 +sub_020220C4: ; 0x020220C4 + push {r3-r7, lr} + add r7, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x0] + cmp r7, #0x0 + bne _020220D6 + bl sub_02020C2C +_020220D6: + ldr r0, [sp, #0x18] + mov r1, #0x14 + bl sub_02016998 + add r4, r0, #0x0 + beq _0202211C + str r5, [r4, #0x0] + str r7, [r4, #0x4] + ldr r0, [sp, #0x0] + str r6, [r4, #0x8] + str r0, [r4, #0xc] + ldr r0, [sp, #0x18] + lsl r1, r7, #0x2 + bl sub_02016998 + str r0, [r4, #0x10] + cmp r0, #0x0 + beq _02022114 + mov r6, #0x0 + cmp r7, #0x0 + bls _0202211C + add r5, r6, #0x0 +_02022102: + ldr r0, [r4, #0x10] + add r0, r0, r5 + bl sub_02022120 + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, r7 + blo _02022102 + b _0202211C +_02022114: + add r0, r4, #0x0 + bl sub_02016A18 + mov r4, #0x0 +_0202211C: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02022120 +sub_02022120: ; 0x02022120 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strh r1, [r0, #0x2] + bx lr + .balign 4 + + thumb_func_start sub_0202212C +sub_0202212C: ; 0x0202212C + push {r4, lr} + add r4, r0, #0x0 + bne _02022136 + bl sub_02020C2C +_02022136: + ldr r0, [r4, #0x10] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02022144 +sub_02022144: ; 0x02022144 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02020A98 + str r0, [sp, #0x0] + cmp r0, #0x0 + beq _02022190 + bl sub_02020AA4 + str r0, [sp, #0x4] + ldr r0, [r5, #0x4] + mov r6, #0x0 + cmp r0, #0x0 + bls _020221AE + add r4, r6, #0x0 +_02022164: + ldr r0, [r5, #0x10] + add r0, r0, r4 + ldrb r0, [r0, #0x1] + cmp r0, #0x0 + ldr r0, [r5, #0x0] + beq _02022178 + add r0, r0, r4 + bl sub_02020A40 + b _0202217E +_02022178: + add r0, r0, r4 + bl sub_02020A6C +_0202217E: + ldr r1, [r5, #0x10] + add r6, r6, #0x1 + add r1, r1, r4 + strb r0, [r1, #0x1] + ldr r0, [r5, #0x4] + add r4, r4, #0x4 + cmp r6, r0 + blo _02022164 + b _020221AE +_02022190: + ldr r0, [r5, #0x4] + mov r3, #0x0 + str r3, [sp, #0x4] + cmp r0, #0x0 + bls _020221AE + add r2, r3, #0x0 + add r1, r3, #0x0 +_0202219E: + ldr r0, [r5, #0x10] + add r3, r3, #0x1 + add r0, r0, r2 + strb r1, [r0, #0x1] + ldr r0, [r5, #0x4] + add r2, r2, #0x4 + cmp r3, r0 + blo _0202219E +_020221AE: + mov r4, #0x0 + cmp r0, #0x0 + bls _020221E4 + add r7, r4, #0x0 +_020221B6: + ldr r3, [r5, #0x10] + ldr r1, [sp, #0x0] + add r0, r3, r7 + ldrb r3, [r3, r7] + ldr r2, [sp, #0x4] + lsl r6, r3, #0x2 + ldr r3, _020221E8 ; =0x020EE6CC + ldr r3, [r3, r6] + blx r3 + add r1, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + beq _020221DA + ldr r2, [r5, #0xc] + ldr r3, [r5, #0x8] + add r0, r4, #0x0 + blx r3 +_020221DA: + ldr r0, [r5, #0x4] + add r4, r4, #0x1 + add r7, r7, #0x4 + cmp r4, r0 + blo _020221B6 +_020221E4: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020221E8: .word 0x020EE6CC + + thumb_func_start sub_020221EC +sub_020221EC: ; 0x020221EC + push {r3, lr} + ldrb r1, [r0, #0x1] + cmp r1, #0x0 + beq _02022202 + cmp r2, #0x0 + beq _02022202 + mov r1, #0x1 + bl sub_0202223C + mov r0, #0x0 + pop {r3, pc} +_02022202: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + + thumb_func_start sub_02022208 +sub_02022208: ; 0x02022208 + push {r3, lr} + ldrb r2, [r0, #0x1] + cmp r2, #0x0 + beq _02022220 + ldrh r2, [r0, #0x2] + ldr r1, _02022238 ; =0x0000FFFF + cmp r2, r1 + bhs _0202221C + add r1, r2, #0x1 + strh r1, [r0, #0x2] +_0202221C: + mov r0, #0x2 + pop {r3, pc} +_02022220: + cmp r1, #0x0 + beq _0202222E + mov r1, #0x0 + bl sub_0202223C + mov r0, #0x3 + pop {r3, pc} +_0202222E: + mov r1, #0x0 + bl sub_0202223C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_02022238: .word 0x0000FFFF + + thumb_func_start sub_0202223C +sub_0202223C: ; 0x0202223C + strb r1, [r0, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x2] + bx lr + + thumb_func_start sub_02022244 +sub_02022244: ; 0x02022244 + push {r3-r4} + ldr r3, [r0, #0xc] + mov r2, #0x0 + sub r3, r3, #0x1 + beq _02022262 + ldr r4, [r0, #0x0] +_02022250: + ldrh r3, [r4, #0x2] + cmp r3, r1 + bhi _02022262 + ldr r3, [r0, #0xc] + add r2, r2, #0x1 + sub r3, r3, #0x1 + add r4, r4, #0x2 + cmp r2, r3 + blo _02022250 +_02022262: + ldr r1, [r0, #0x4] + ldrb r3, [r1, r2] + add r1, sp, #0x0 + strb r3, [r1, #0x0] + ldr r0, [r0, #0x8] + ldrb r2, [r0, r2] + strb r2, [r1, #0x1] + ldrb r0, [r1, #0x0] + lsl r1, r2, #0x8 + orr r0, r1 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0202227C +sub_0202227C: ; 0x0202227C + ldr r2, [r0, #0x0] + str r2, [r1, #0xc] + add r2, r0, #0x4 + str r2, [r1, #0x0] + ldr r0, [r1, #0xc] + lsl r0, r0, #0x1 + add r2, r2, r0 + str r2, [r1, #0x4] + ldr r0, [r1, #0xc] + add r0, r2, r0 + str r0, [r1, #0x8] + bx lr + + thumb_func_start sub_02022294 +sub_02022294: ; 0x02022294 + ldr r0, _020222A4 ; =0x021C59BC + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + str r1, [r0, #0x8] + ldr r0, _020222A8 ; =0x021C59BC + str r1, [r0, #0x0] + bx lr + .balign 4 +_020222A4: .word 0x021C59BC +_020222A8: .word 0x021C59BC + + thumb_func_start sub_020222AC +sub_020222AC: ; 0x020222AC + ldr r3, _020222B0 ; =sub_020C7E0C + bx r3 + .balign 4 +_020222B0: .word sub_020C7E0C + + thumb_func_start sub_020222B4 +sub_020222B4: ; 0x020222B4 + ldr r2, _020222C0 ; =0x021C59BC + str r0, [r2, #0x4] + str r1, [r2, #0x8] + mov r0, #0x1 + str r0, [r2, #0x0] + bx lr + .balign 4 +_020222C0: .word 0x021C59BC + + thumb_func_start sub_020222C4 +sub_020222C4: ; 0x020222C4 + ldr r0, _020222E0 ; =0x021C59BC + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _020222DC + ldr r1, [r0, #0x8] + ldr r2, [r0, #0x4] + lsl r1, r1, #0x1 + orr r2, r1 + ldr r1, _020222E4 ; =0x04000540 + str r2, [r1, #0x0] + mov r1, #0x0 + str r1, [r0, #0x0] +_020222DC: + bx lr + nop +_020222E0: .word 0x021C59BC +_020222E4: .word 0x04000540 + + thumb_func_start sub_020222E8 +sub_020222E8: ; 0x020222E8 + mov r0, #0x5 + lsl r0, r0, #0x18 + bx lr + .balign 4 + + thumb_func_start sub_020222F0 +sub_020222F0: ; 0x020222F0 + mov r0, #0x2 + lsl r0, r0, #0x8 + bx lr + .balign 4 + + thumb_func_start sub_020222F8 +sub_020222F8: ; 0x020222F8 + ldr r0, _020222FC ; =0x05000400 + bx lr + .balign 4 +_020222FC: .word 0x05000400 + + thumb_func_start sub_02022300 +sub_02022300: ; 0x02022300 + mov r0, #0x2 + lsl r0, r0, #0x8 + bx lr + .balign 4 + + thumb_func_start sub_02022308 +sub_02022308: ; 0x02022308 + ldr r0, _0202230C ; =0x05000200 + bx lr + .balign 4 +_0202230C: .word 0x05000200 + + thumb_func_start sub_02022310 +sub_02022310: ; 0x02022310 + ldr r0, _02022314 ; =0x05000600 + bx lr + .balign 4 +_02022314: .word 0x05000600 + + thumb_func_start sub_02022318 +sub_02022318: ; 0x02022318 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r1, #0x0 + mov r1, #0xc + add r6, r0, #0x0 + add r5, r2, #0x0 + str r3, [sp, #0x4] + bl sub_02016998 + add r4, r0, #0x0 + str r6, [r4, #0x0] + blx sub_020BB7F4 + blx sub_020C7D28 + mov r1, #0x2 + ldr r0, _020223B8 ; =0x04000540 + cmp r7, #0x0 + str r1, [r0, #0x0] + bne _02022364 + lsl r0, r5, #0x7 + blx sub_020AFA28 + add r6, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + bl sub_02016998 + str r0, [r4, #0x8] + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r2, [r4, #0x8] + lsl r0, r5, #0x11 + mov r1, #0x0 + add r3, r6, #0x0 + blx sub_020AF9C4 + b _0202236E +_02022364: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + blx sub_020AEB70 +_0202236E: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bne _02022398 + ldr r0, [sp, #0x20] + lsl r0, r0, #0x8 + blx sub_020AFBFC + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl sub_02016998 + str r0, [r4, #0x4] + ldr r0, [sp, #0x20] + ldr r1, [r4, #0x4] + lsl r0, r0, #0xd + add r2, r5, #0x0 + mov r3, #0x1 + blx sub_020AFBA8 + b _020223A4 +_02022398: + ldr r0, [sp, #0x20] + mov r1, #0x1 + lsl r0, r0, #0x1d + lsr r0, r0, #0x10 + blx sub_020AEB70 +_020223A4: + ldr r0, [sp, #0x24] + cmp r0, #0x0 + beq _020223AE + blx r0 + b _020223B2 +_020223AE: + bl sub_020223D4 +_020223B2: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020223B8: .word 0x04000540 + + thumb_func_start sub_020223BC +sub_020223BC: ; 0x020223BC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_02016A18 + ldr r0, [r4, #0x8] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_020223D4 +sub_020223D4: ; 0x020223D4 + push {r3, lr} + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r0, _02022438 ; =0x04000008 + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + strh r2, [r0, #0x0] + add r0, #0x58 + ldrh r2, [r0, #0x0] + ldr r1, _0202243C ; =0xFFFFCFFD + and r1, r2 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + ldr r2, _02022440 ; =0x0000CFEF + and r1, r2 + strh r1, [r0, #0x0] + add r1, r2, #0x0 + ldrh r3, [r0, #0x0] + add r1, #0xc + and r1, r3 + strh r1, [r0, #0x0] + add r1, r2, #0x0 + ldrh r3, [r0, #0x0] + add r1, #0x8 + sub r2, #0x10 + and r1, r3 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + and r1, r2 + strh r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + blx sub_020C7C28 + mov r0, #0x0 + ldr r2, _02022444 ; =0x00007FFF + add r1, r0, #0x0 + mov r3, #0x3f + str r0, [sp, #0x0] + blx sub_020C7B3C + ldr r1, _02022448 ; =0xBFFF0000 + ldr r0, _0202244C ; =0x04000580 + str r1, [r0, #0x0] + pop {r3, pc} + .balign 4 +_02022438: .word 0x04000008 +_0202243C: .word 0xFFFFCFFD +_02022440: .word 0x0000CFEF +_02022444: .word 0x00007FFF +_02022448: .word 0xBFFF0000 +_0202244C: .word 0x04000580 + + thumb_func_start sub_02022450 +sub_02022450: ; 0x02022450 + push {r3, lr} + blx sub_020D1CC4 + cmp r0, #0x0 + bne _02022460 + blx sub_020CD850 + pop {r3, pc} +_02022460: + ldr r0, _020224BC ; =0x027FF00C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0202248A + blx sub_020D7228 + mov r2, #0x16 + ldr r0, _020224C0 ; =0x027FFE00 + ldr r1, _020224C4 ; =0x027FF000 + lsl r2, r2, #0x4 + blx sub_020CE3E0 + mov r2, #0x16 + ldr r0, _020224C0 ; =0x027FFE00 + ldr r1, _020224C8 ; =0x027FFA80 + lsl r2, r2, #0x4 + blx sub_020CE3E0 + ldr r1, _020224CC ; =0x4A414441 + ldr r0, _020224BC ; =0x027FF00C + str r1, [r0, #0x0] +_0202248A: + ldr r0, _020224D0 ; =0x020EE6D4 + mov r1, #0x3 + blx sub_020D1148 + ldr r1, _020224C4 ; =0x027FF000 + ldr r2, [r1, #0x48] + str r2, [r0, #0x2c] + ldr r2, [r1, #0x4c] + str r2, [r0, #0x30] + ldr r2, [r1, #0x40] + str r2, [r0, #0x34] + ldr r2, [r1, #0x44] + str r2, [r0, #0x38] + ldr r2, [r1, #0xc] + ldr r0, _020224CC ; =0x4A414441 + cmp r2, r0 + bne _020224B4 + ldrh r1, [r1, #0x10] + ldr r0, _020224D4 ; =0x00003130 + cmp r1, r0 + beq _020224B8 +_020224B4: + blx sub_020CD850 +_020224B8: + pop {r3, pc} + nop +_020224BC: .word 0x027FF00C +_020224C0: .word 0x027FFE00 +_020224C4: .word 0x027FF000 +_020224C8: .word 0x027FFA80 +_020224CC: .word 0x4A414441 +_020224D0: .word 0x020EE6D4 +_020224D4: .word 0x00003130 + + thumb_func_start sub_020224D8 +sub_020224D8: ; 0x020224D8 + push {r4, lr} + sub sp, #0x48 + add r4, r0, #0x0 + add r0, sp, #0x0 + blx sub_020D1C94 + add r0, sp, #0x0 + add r1, r4, #0x0 + blx sub_020D1944 + cmp r0, #0x0 + beq _020224FC + ldr r1, [sp, #0x24] + ldr r0, _02022500 ; =0x027FFC2C + str r1, [r0, #0x0] + mov r0, #0x0 + blx sub_020CD3B4 +_020224FC: + add sp, #0x48 + pop {r4, pc} + .balign 4 +_02022500: .word 0x027FFC2C + + thumb_func_start sub_02022504 +sub_02022504: ; 0x02022504 + ldr r3, _0202250C ; =sub_02022610 + mov r1, #0x1b + bx r3 + nop +_0202250C: .word sub_02022610 + 1 + + thumb_func_start sub_02022510 +sub_02022510: ; 0x02022510 + ldr r3, _02022518 ; =sub_02022610 + mov r1, #0x23 + bx r3 + nop +_02022518: .word sub_02022610 + 1 + + thumb_func_start sub_0202251C +sub_0202251C: ; 0x0202251C + ldr r3, _02022524 ; =sub_02022610 + mov r1, #0x1f + bx r3 + nop +_02022524: .word sub_02022610 + 1 + + thumb_func_start sub_02022528 +sub_02022528: ; 0x02022528 + ldr r3, _02022530 ; =sub_02022610 + mov r1, #0x20 + bx r3 + nop +_02022530: .word sub_02022610 + 1 + + thumb_func_start sub_02022534 +sub_02022534: ; 0x02022534 + push {r3, lr} + add r3, r2, #0x0 + mov r2, #0x0 + bl sub_02023408 + pop {r3, pc} + + thumb_func_start sub_02022540 +sub_02022540: ; 0x02022540 + ldr r3, _02022548 ; =sub_020232BC + add r2, r1, #0x0 + mov r1, #0x0 + bx r3 + .balign 4 +_02022548: .word sub_020232BC + 1 + + thumb_func_start sub_0202254C +sub_0202254C: ; 0x0202254C + push {r4, lr} + ldr r1, _020225E0 ; =0x000204A8 + mov r0, #0x1 + bl sub_02016998 + add r4, r0, #0x0 + ldr r2, _020225E0 ; =0x000204A8 + mov r0, #0x0 + add r1, r4, #0x0 + blx sub_020CE240 + ldr r0, _020225E4 ; =0x021C59C8 + str r4, [r0, #0x0] + bl sub_02023570 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + mov r0, #0x1 + str r0, [r4, #0x8] + str r0, [r4, #0xc] + add r0, r4, #0x0 + ldr r1, _020225E8 ; =0x00001021 + add r0, #0x14 + blx sub_020DDF60 + ldr r0, _020225EC ; =0x00020224 + add r0, r4, r0 + bl sub_020230E4 + ldr r0, _020225F0 ; =0x00020464 + ldr r1, _020225EC ; =0x00020224 + add r0, r4, r0 + add r1, r4, r1 + bl sub_02023160 + ldr r1, _020225F4 ; =0x00020218 + mov r0, #0x0 + add r1, r4, r1 + mov r2, #0x8 + blx sub_020CE240 + add r0, r4, #0x0 + bl sub_02022AD8 + str r0, [r4, #0x10] + cmp r0, #0x3 + bhi _020225DA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r2, r3, #0 + mov r0, #0x0 + str r0, [r4, #0xc] + add r0, r4, #0x0 + bl sub_02022D08 + mov r0, #0x1 + str r0, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + b _020225DA +_020225D4: + .byte 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xF9 +_020225DA: + add r0, r4, #0x0 + pop {r4, pc} + nop +_020225E0: .word 0x000204A8 +_020225E4: .word 0x021C59C8 +_020225E8: .word 0x00001021 +_020225EC: .word 0x00020224 +_020225F0: .word 0x00020464 +_020225F4: .word 0x00020218 + + thumb_func_start sub_020225F8 +sub_020225F8: ; 0x020225F8 + push {r3, lr} + ldr r0, _0202260C ; =0x021C59C8 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02022606 + bl sub_02020C2C +_02022606: + ldr r0, _0202260C ; =0x021C59C8 + ldr r0, [r0, #0x0] + pop {r3, pc} + .balign 4 +_0202260C: .word 0x021C59C8 + + thumb_func_start sub_02022610 +sub_02022610: ; 0x02022610 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x24 + blt _0202261E + bl sub_02020C2C +_0202261E: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r2, r5, r0 + lsl r0, r4, #0x4 + add r1, r5, r0 + ldr r0, _02022630 ; =0x0002022C + ldr r0, [r1, r0] + add r0, r2, r0 + pop {r3-r5, pc} + .balign 4 +_02022630: .word 0x0002022C +_02022634: + .byte 0x00, 0x4B, 0x18, 0x47, 0x11, 0x26, 0x02, 0x02 + + thumb_func_start sub_0202263C +sub_0202263C: ; 0x0202263C + push {r3-r7, lr} + mov r1, #0x1 + str r0, [sp, #0x0] + mov r0, #0x3 + lsl r1, r1, #0xc + bl sub_020169D8 + add r6, r0, #0x0 + mov r0, #0x1 + bl sub_02016444 + ldr r1, _020226F4 ; =0x00020220 + ldr r0, [sp, #0x0] + ldrb r0, [r0, r1] + cmp r0, #0x0 + bne _02022660 + mov r2, #0x1 + b _02022662 +_02022660: + mov r2, #0x0 +_02022662: + ldr r0, [sp, #0x0] + mov r1, #0x0 + bl sub_02023074 + ldr r1, _020226F8 ; =0x00020221 + ldr r0, [sp, #0x0] + ldrb r0, [r0, r1] + cmp r0, #0x0 + bne _02022678 + mov r2, #0x1 + b _0202267A +_02022678: + mov r2, #0x0 +_0202267A: + ldr r0, [sp, #0x0] + mov r1, #0x1 + bl sub_02023074 + ldr r0, [sp, #0x0] + ldr r3, _020226F4 ; =0x00020220 + add r2, r0, #0x0 + ldrb r2, [r2, r3] + mov r1, #0x0 + bl sub_02023074 + ldr r0, [sp, #0x0] + ldr r3, _020226F8 ; =0x00020221 + add r2, r0, #0x0 + ldrb r2, [r2, r3] + mov r1, #0x1 + bl sub_02023074 + mov r0, #0x0 + mov r2, #0x1 + mvn r0, r0 + add r1, r6, #0x0 + lsl r2, r2, #0xc + blx sub_020CE240 + mov r4, #0x0 + mov r7, #0x1 + add r5, r4, #0x0 + lsl r7, r7, #0xc +_020226B4: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020235D0 + add r0, r4, #0x0 + add r0, #0x40 + lsl r0, r0, #0xc + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020235D0 + mov r0, #0x1 + lsl r0, r0, #0xc + add r4, r4, #0x1 + add r5, r5, r0 + cmp r4, #0x40 + blt _020226B4 + add r0, r6, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x0] + bl sub_020227DC + ldr r0, [sp, #0x0] + mov r1, #0x0 + str r1, [r0, #0x4] + mov r0, #0x1 + bl sub_02016454 + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_020226F4: .word 0x00020220 +_020226F8: .word 0x00020221 + + thumb_func_start sub_020226FC +sub_020226FC: ; 0x020226FC + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + bne _0202270A + mov r0, #0x0 + pop {r4, pc} +_0202270A: + bl sub_02022D08 + cmp r0, #0x0 + beq _0202271C + mov r0, #0x1 + str r0, [r4, #0x4] + mov r1, #0x0 + str r1, [r4, #0x8] + pop {r4, pc} +_0202271C: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02022720 +sub_02022720: ; 0x02022720 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0202272E + mov r0, #0x3 + pop {r4, pc} +_0202272E: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _02022784 + mov r0, #0x1 + bl sub_02016444 + ldr r0, _02022798 ; =0x00020220 + ldrb r0, [r4, r0] + cmp r0, #0x0 + bne _02022746 + mov r2, #0x1 + b _02022748 +_02022746: + mov r2, #0x0 +_02022748: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02023074 + ldr r0, _0202279C ; =0x00020221 + ldrb r0, [r4, r0] + cmp r0, #0x0 + bne _0202275C + mov r2, #0x1 + b _0202275E +_0202275C: + mov r2, #0x0 +_0202275E: + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02023074 + ldr r2, _02022798 ; =0x00020220 + add r0, r4, #0x0 + ldrb r2, [r4, r2] + mov r1, #0x0 + bl sub_02023074 + ldr r2, _0202279C ; =0x00020221 + add r0, r4, #0x0 + ldrb r2, [r4, r2] + mov r1, #0x1 + bl sub_02023074 + mov r0, #0x1 + bl sub_02016454 +_02022784: + add r0, r4, #0x0 + bl sub_02023044 + cmp r0, #0x2 + bne _02022796 + mov r1, #0x1 + str r1, [r4, #0x4] + mov r1, #0x0 + str r1, [r4, #0x8] +_02022796: + pop {r4, pc} + .balign 4 +_02022798: .word 0x00020220 +_0202279C: .word 0x00020221 + + thumb_func_start sub_020227A0 +sub_020227A0: ; 0x020227A0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x2 + blt _020227AE + bl sub_02020C2C +_020227AE: + ldr r0, [r5, #0x8] + cmp r0, #0x0 + beq _020227B8 + bl sub_02020C2C +_020227B8: + ldr r0, [r5, #0x4] + cmp r0, #0x1 + beq _020227C2 + bl sub_02020C2C +_020227C2: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02022840 +_020227CA: + add r0, r5, #0x0 + bl sub_02022854 + cmp r0, #0x0 + beq _020227CA + cmp r0, #0x1 + beq _020227CA + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020227DC +sub_020227DC: ; 0x020227DC + add r2, r0, #0x0 + mov r0, #0x1 + str r0, [r2, #0x8] + str r0, [r2, #0xc] + mov r0, #0x85 + ldr r1, _020227F4 ; =0x00020224 + lsl r0, r0, #0x2 + ldr r3, _020227F8 ; =sub_020231F4 + add r0, r2, r0 + add r1, r2, r1 + bx r3 + nop +_020227F4: .word 0x00020224 +_020227F8: .word sub_020231F4 + 1 + + thumb_func_start sub_020227FC +sub_020227FC: ; 0x020227FC + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02022800 +sub_02022800: ; 0x02022800 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_02022804 +sub_02022804: ; 0x02022804 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02022808 +sub_02022808: ; 0x02022808 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_0202280C +sub_0202280C: ; 0x0202280C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02022808 + cmp r0, #0x0 + beq _02022826 + add r0, r4, #0x0 + bl sub_02022804 + cmp r0, #0x0 + beq _02022826 + mov r0, #0x1 + pop {r4, pc} +_02022826: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202282C +sub_0202282C: ; 0x0202282C + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02022830 +sub_02022830: ; 0x02022830 + ldr r0, _0202283C ; =0x021C59C8 + mov r1, #0x1 + ldr r0, [r0, #0x0] + str r1, [r0, #0xc] + bx lr + nop +_0202283C: .word 0x021C59C8 + + thumb_func_start sub_02022840 +sub_02022840: ; 0x02022840 + add r2, r1, #0x0 + ldr r1, _0202284C ; =0x0002047C + ldr r3, _02022850 ; =sub_02022DFC + add r1, r0, r1 + bx r3 + nop +_0202284C: .word 0x0002047C +_02022850: .word sub_02022DFC + 1 + + thumb_func_start sub_02022854 +sub_02022854: ; 0x02022854 + push {r3-r5, lr} + ldr r1, _02022878 ; =0x0002047C + add r5, r0, #0x0 + add r1, r5, r1 + bl sub_02022E78 + add r4, r0, #0x0 + beq _02022874 + cmp r4, #0x1 + beq _02022874 + ldr r1, _02022878 ; =0x0002047C + add r0, r5, #0x0 + add r1, r5, r1 + add r2, r4, #0x0 + bl sub_02022F80 +_02022874: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02022878: .word 0x0002047C + + thumb_func_start sub_0202287C +sub_0202287C: ; 0x0202287C + ldr r1, _02022884 ; =0x0002047C + ldr r3, _02022888 ; =0x02022FF1 + add r1, r0, r1 + bx r3 + .balign 4 +_02022884: .word 0x0002047C +_02022888: .word 0x02022FF1 + + thumb_func_start sub_0202288C +sub_0202288C: ; 0x0202288C + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + str r1, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_02022898 +sub_02022898: ; 0x02022898 + ldr r3, _020228A0 ; =sub_020DDD60 + add r0, #0x14 + sub r2, #0x14 + bx r3 + .balign 4 +_020228A0: .word sub_020DDD60 + + thumb_func_start sub_020228A4 +sub_020228A4: ; 0x020228A4 + cmp r0, #0x0 + bne _020228AC + mov r2, #0x0 + b _020228B0 +_020228AC: + mov r2, #0x1 + lsl r2, r2, #0x12 +_020228B0: + ldr r0, [r1, #0x4] + add r0, r2, r0 + bx lr + .balign 4 + + thumb_func_start sub_020228B8 +sub_020228B8: ; 0x020228B8 + push {r3-r5, lr} + ldr r3, _020228DC ; =0x00020464 + add r3, r0, r3 + mov r0, #0xc + mul r0, r2 + add r5, r3, r0 + ldr r0, [r5, #0x4] + add r4, r1, r0 + ldr r0, [r5, #0x8] + cmp r0, #0x0 + bne _020228D2 + bl sub_02020C2C +_020228D2: + ldr r0, [r5, #0x8] + add r0, r4, r0 + sub r0, #0x14 + pop {r3-r5, pc} + nop +_020228DC: .word 0x00020464 + + thumb_func_start sub_020228E0 +sub_020228E0: ; 0x020228E0 + push {r3-r7, lr} + ldr r4, _02022934 ; =0x00020464 + add r3, r0, #0x0 + add r3, r3, r4 + add r5, r2, #0x0 + mov r4, #0xc + mul r4, r5 + str r0, [sp, #0x0] + add r7, r1, #0x0 + add r6, r3, r4 + bl sub_020228B8 + add r4, r0, #0x0 + ldr r2, [r6, #0x8] + ldr r0, [r4, #0x8] + ldr r1, [r6, #0x4] + cmp r0, r2 + beq _02022908 + mov r0, #0x0 + pop {r3-r7, pc} +_02022908: + ldr r3, [r4, #0xc] + ldr r0, _02022938 ; =0x20060623 + cmp r3, r0 + beq _02022914 + mov r0, #0x0 + pop {r3-r7, pc} +_02022914: + ldrb r0, [r4, #0x10] + cmp r0, r5 + beq _0202291E + mov r0, #0x0 + pop {r3-r7, pc} +_0202291E: + ldr r0, [sp, #0x0] + add r1, r7, r1 + bl sub_02022898 + ldrh r1, [r4, #0x12] + cmp r1, r0 + bne _02022930 + mov r0, #0x1 + pop {r3-r7, pc} +_02022930: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02022934: .word 0x00020464 +_02022938: .word 0x20060623 + + thumb_func_start sub_0202293C +sub_0202293C: ; 0x0202293C + push {r3-r7, lr} + add r7, r2, #0x0 + add r6, r1, #0x0 + add r5, r0, #0x0 + str r3, [sp, #0x0] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, r3, #0x0 + bl sub_020228B8 + add r4, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_020228E0 + str r0, [r5, #0x0] + ldr r0, [r4, #0x0] + str r0, [r5, #0x4] + ldr r0, [r4, #0x4] + str r0, [r5, #0x8] + pop {r3-r7, pc} + + thumb_func_start sub_02022968 +sub_02022968: ; 0x02022968 + push {r3-r7, lr} + ldr r3, _020229AC ; =0x00020464 + add r5, r0, #0x0 + add r7, r2, #0x0 + mov r4, #0xc + add r3, r5, r3 + mul r4, r7 + str r1, [sp, #0x0] + add r6, r3, r4 + bl sub_020228B8 + ldr r2, _020229B0 ; =0x00020214 + add r4, r0, #0x0 + ldr r0, [r5, r2] + ldr r1, [r6, #0x4] + add r2, r2, #0x4 + str r0, [r4, #0x0] + lsl r0, r7, #0x2 + add r0, r5, r0 + ldr r0, [r0, r2] + ldr r2, [sp, #0x0] + str r0, [r4, #0x4] + ldr r0, [r6, #0x8] + add r1, r2, r1 + str r0, [r4, #0x8] + ldr r0, _020229B4 ; =0x20060623 + str r0, [r4, #0xc] + strb r7, [r4, #0x10] + ldr r2, [r6, #0x8] + add r0, r5, #0x0 + bl sub_02022898 + strh r0, [r4, #0x12] + pop {r3-r7, pc} + .balign 4 +_020229AC: .word 0x00020464 +_020229B0: .word 0x00020214 +_020229B4: .word 0x20060623 + + thumb_func_start sub_020229B8 +sub_020229B8: ; 0x020229B8 + mov r2, #0x0 + mvn r2, r2 + cmp r0, r2 + bne _020229C8 + cmp r1, #0x0 + bne _020229C8 + add r0, r2, #0x0 + bx lr +_020229C8: + cmp r0, #0x0 + bne _020229D8 + mov r2, #0x0 + mvn r2, r2 + cmp r1, r2 + bne _020229D8 + mov r0, #0x1 + bx lr +_020229D8: + cmp r0, r1 + bls _020229E0 + mov r0, #0x1 + bx lr +_020229E0: + cmp r0, r1 + bhs _020229E8 + mov r0, #0x1 + b _020229EA +_020229E8: + mov r0, #0x0 +_020229EA: + neg r0, r0 + bx lr + .balign 4 + + thumb_func_start sub_020229F0 +sub_020229F0: ; 0x020229F0 + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + ldr r0, [r7, #0x4] + ldr r1, [r6, #0x4] + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_020229B8 + str r0, [sp, #0x0] + ldr r0, [r7, #0x8] + ldr r1, [r6, #0x8] + bl sub_020229B8 + ldr r2, [r7, #0x0] + cmp r2, #0x0 + beq _02022A6A + ldr r1, [r6, #0x0] + cmp r1, #0x0 + beq _02022A6A + ldr r1, [sp, #0x0] + cmp r1, #0x0 + ble _02022A30 + cmp r0, #0x0 + bgt _02022A26 + bl sub_02020C2C +_02022A26: + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x1 + str r0, [r4, #0x0] + b _02022A66 +_02022A30: + bge _02022A44 + cmp r0, #0x0 + blt _02022A3A + bl sub_02020C2C +_02022A3A: + mov r0, #0x1 + str r0, [r5, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02022A66 +_02022A44: + cmp r0, #0x0 + ble _02022A52 + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x1 + str r0, [r4, #0x0] + b _02022A66 +_02022A52: + bge _02022A5E + mov r0, #0x1 + str r0, [r5, #0x0] + mov r0, #0x0 + str r0, [r4, #0x0] + b _02022A66 +_02022A5E: + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x1 + str r0, [r4, #0x0] +_02022A66: + mov r0, #0x2 + pop {r3-r7, pc} +_02022A6A: + cmp r2, #0x0 + beq _02022A80 + ldr r0, [r6, #0x0] + cmp r0, #0x0 + bne _02022A80 + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x2 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_02022A80: + cmp r2, #0x0 + bne _02022A94 + ldr r0, [r6, #0x0] + cmp r0, #0x0 + beq _02022A94 + mov r0, #0x1 + str r0, [r5, #0x0] + mov r1, #0x2 + str r1, [r4, #0x0] + pop {r3-r7, pc} +_02022A94: + mov r0, #0x2 + str r0, [r5, #0x0] + str r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02022AA0 +sub_02022AA0: ; 0x02022AA0 + push {r3-r6} + mov r4, #0xc + add r5, r3, #0x0 + mul r5, r4 + add r6, r1, r5 + ldr r5, [r6, #0x4] + ldr r1, _02022AD4 ; =0x00020214 + str r5, [r0, r1] + ldr r6, [r6, #0x8] + add r5, r1, #0x4 + str r6, [r0, r5] + ldr r5, [sp, #0x10] + mul r4, r5 + add r2, r2, r4 + ldr r4, [r2, #0x8] + add r2, r1, #0x0 + add r2, #0x8 + str r4, [r0, r2] + add r2, r1, #0x0 + add r2, #0xc + strb r3, [r0, r2] + add r1, #0xd + strb r5, [r0, r1] + pop {r3-r6} + bx lr + nop +_02022AD4: .word 0x00020214 + + thumb_func_start sub_02022AD8 +sub_02022AD8: ; 0x02022AD8 + push {r3-r6, lr} + sub sp, #0x44 + mov r1, #0x2 + add r5, r0, #0x0 + mov r0, #0x3 + lsl r1, r1, #0x10 + bl sub_020169D8 + mov r1, #0x2 + add r6, r0, #0x0 + mov r0, #0x3 + lsl r1, r1, #0x10 + bl sub_020169D8 + mov r2, #0x2 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r6, #0x0 + lsl r2, r2, #0x10 + bl sub_020235EC + cmp r0, #0x0 + add r0, sp, #0x2c + beq _02022B20 + add r1, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + bl sub_0202293C + add r0, sp, #0x14 + add r1, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x1 + bl sub_0202293C + b _02022B2A +_02022B20: + bl sub_0202288C + add r0, sp, #0x14 + bl sub_0202288C +_02022B2A: + mov r0, #0x1 + lsl r0, r0, #0x12 + add r1, r4, #0x0 + lsr r2, r0, #0x1 + bl sub_020235EC + cmp r0, #0x0 + add r0, sp, #0x38 + beq _02022B54 + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0202293C + add r0, sp, #0x20 + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x1 + bl sub_0202293C + b _02022B5E +_02022B54: + bl sub_0202288C + add r0, sp, #0x20 + bl sub_0202288C +_02022B5E: + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, sp, #0x2c + add r1, sp, #0x38 + add r2, sp, #0x10 + add r3, sp, #0x8 + bl sub_020229F0 + add r4, r0, #0x0 + add r0, sp, #0x14 + add r1, sp, #0x20 + add r2, sp, #0xc + add r3, sp, #0x4 + bl sub_020229F0 + cmp r4, #0x0 + bne _02022B92 + cmp r0, #0x0 + bne _02022B92 + add sp, #0x44 + mov r0, #0x0 + pop {r3-r6, pc} +_02022B92: + cmp r4, #0x0 + beq _02022B9A + cmp r0, #0x0 + bne _02022BA0 +_02022B9A: + add sp, #0x44 + mov r0, #0x3 + pop {r3-r6, pc} +_02022BA0: + cmp r4, #0x2 + bne _02022BE4 + cmp r0, #0x2 + bne _02022BE4 + ldr r3, [sp, #0x10] + ldr r1, [sp, #0xc] + mov r2, #0xc + add r4, r3, #0x0 + mul r4, r2 + add r0, sp, #0x30 + ldr r0, [r0, r4] + add r4, r1, #0x0 + mul r4, r2 + add r2, sp, #0x18 + ldr r2, [r2, r4] + cmp r0, r2 + str r1, [sp, #0x0] + add r1, sp, #0x2c + bne _02022BD4 + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x1 + pop {r3-r6, pc} +_02022BD4: + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x2 + pop {r3-r6, pc} +_02022BE4: + cmp r4, #0x1 + bne _02022C3A + cmp r0, #0x2 + bne _02022C3A + ldr r3, [sp, #0x10] + ldr r0, [sp, #0xc] + mov r4, #0xc + add r2, r3, #0x0 + add r6, r0, #0x0 + mul r2, r4 + add r1, sp, #0x30 + ldr r2, [r1, r2] + mul r6, r4 + add r1, sp, #0x18 + ldr r6, [r1, r6] + cmp r2, r6 + bne _02022C18 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, sp, #0x2c + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x2 + pop {r3-r6, pc} +_02022C18: + ldr r0, [sp, #0x4] + mul r4, r0 + ldr r1, [r1, r4] + cmp r2, r1 + bne _02022C34 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, sp, #0x2c + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x2 + pop {r3-r6, pc} +_02022C34: + add sp, #0x44 + mov r0, #0x3 + pop {r3-r6, pc} +_02022C3A: + cmp r4, #0x2 + bne _02022C7E + cmp r0, #0x1 + bne _02022C7E + ldr r3, [sp, #0x10] + ldr r1, [sp, #0xc] + mov r2, #0xc + add r4, r3, #0x0 + mul r4, r2 + add r0, sp, #0x30 + ldr r0, [r0, r4] + add r4, r1, #0x0 + mul r4, r2 + add r2, sp, #0x18 + ldr r2, [r2, r4] + cmp r0, r2 + str r1, [sp, #0x0] + add r1, sp, #0x2c + bne _02022C6E + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x1 + pop {r3-r6, pc} +_02022C6E: + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x2 + pop {r3-r6, pc} +_02022C7E: + cmp r4, #0x1 + bne _02022CBC + cmp r0, #0x1 + bne _02022CBC + ldr r0, [sp, #0xc] + ldr r2, [sp, #0x10] + cmp r2, r0 + bne _02022CBC + add r3, r2, #0x0 + mov r1, #0xc + mul r3, r1 + add r2, sp, #0x30 + mul r1, r0 + add r0, sp, #0x18 + ldr r2, [r2, r3] + ldr r0, [r0, r1] + cmp r2, r0 + beq _02022CA6 + bl sub_02020C2C +_02022CA6: + ldr r0, [sp, #0xc] + add r1, sp, #0x2c + str r0, [sp, #0x0] + ldr r3, [sp, #0x10] + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + add sp, #0x44 + mov r0, #0x1 + pop {r3-r6, pc} +_02022CBC: + ldr r1, [sp, #0x10] + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + add r1, sp, #0x30 + ldr r3, [r1, r2] + ldr r1, [sp, #0xc] + add r2, r1, #0x0 + mul r2, r0 + add r0, sp, #0x18 + ldr r0, [r0, r2] + cmp r3, r0 + beq _02022CDA + bl sub_02020C2C +_02022CDA: + ldr r0, [sp, #0xc] + add r1, sp, #0x2c + str r0, [sp, #0x0] + ldr r3, [sp, #0x10] + add r0, r5, #0x0 + add r2, sp, #0x14 + bl sub_02022AA0 + mov r0, #0x2 + add sp, #0x44 + pop {r3-r6, pc} + + thumb_func_start sub_02022CF0 +sub_02022CF0: ; 0x02022CF0 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_020228A4 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r1, r4, r1 + bl sub_020235EC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02022D08 +sub_02022D08: ; 0x02022D08 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02022D4C ; =0x00020464 + mov r7, #0x85 + mov r4, #0x0 + add r6, r5, r0 + lsl r7, r7, #0x2 +_02022D16: + ldr r0, _02022D50 ; =0x00020220 + add r1, r5, r4 + ldrb r0, [r1, r0] + add r1, r6, #0x0 + add r2, r5, r7 + bl sub_02022CF0 + cmp r0, #0x0 + bne _02022D2C + mov r0, #0x0 + pop {r3-r7, pc} +_02022D2C: + add r0, r5, #0x0 + add r1, r5, r7 + add r2, r4, #0x0 + bl sub_020228E0 + cmp r0, #0x0 + bne _02022D3E + mov r0, #0x0 + pop {r3-r7, pc} +_02022D3E: + add r4, r4, #0x1 + add r6, #0xc + cmp r4, #0x2 + blt _02022D16 + mov r0, #0x1 + pop {r3-r7, pc} + nop +_02022D4C: .word 0x00020464 +_02022D50: .word 0x00020220 + + thumb_func_start sub_02022D54 +sub_02022D54: ; 0x02022D54 + push {r4-r6, lr} + add r3, r1, #0x0 + ldr r1, _02022D90 ; =0x00020464 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r2, r5, r1 + mov r1, #0xc + mul r1, r3 + add r4, r2, r1 + mov r1, #0x85 + lsl r1, r1, #0x2 + add r1, r5, r1 + add r2, r3, #0x0 + bl sub_02022968 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020228A4 + mov r1, #0x85 + lsl r1, r1, #0x2 + add r2, r5, r1 + ldr r1, [r4, #0x4] + add r1, r2, r1 + ldr r2, [r4, #0x8] + sub r2, #0x14 + bl sub_02023668 + pop {r4-r6, pc} + nop +_02022D90: .word 0x00020464 + + thumb_func_start sub_02022D94 +sub_02022D94: ; 0x02022D94 + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, _02022DC4 ; =0x00020464 + add r3, r6, r0 + mov r0, #0xc + mul r0, r1 + add r4, r3, r0 + add r0, r2, #0x0 + add r1, r4, #0x0 + ldr r5, [r4, #0x8] + bl sub_020228A4 + mov r1, #0x2 + lsl r1, r1, #0x8 + add r2, r6, r1 + ldr r1, [r4, #0x4] + add r0, r5, r0 + add r1, r2, r1 + sub r0, #0x14 + add r1, r1, r5 + mov r2, #0x14 + bl sub_02023668 + pop {r4-r6, pc} + .balign 4 +_02022DC4: .word 0x00020464 + + thumb_func_start sub_02022DC8 +sub_02022DC8: ; 0x02022DC8 + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, _02022DF8 ; =0x00020464 + add r3, r6, r0 + mov r0, #0xc + mul r0, r1 + add r4, r3, r0 + add r0, r2, #0x0 + add r1, r4, #0x0 + ldr r5, [r4, #0x8] + bl sub_020228A4 + mov r1, #0x82 + lsl r1, r1, #0x2 + add r2, r6, r1 + ldr r1, [r4, #0x4] + add r0, r5, r0 + add r1, r2, r1 + sub r0, #0xc + add r1, r1, r5 + mov r2, #0x8 + bl sub_02023668 + pop {r4-r6, pc} + .balign 4 +_02022DF8: .word 0x00020464 + + thumb_func_start sub_02022DFC +sub_02022DFC: ; 0x02022DFC + push {r3-r7, lr} + ldr r7, _02022E70 ; =0x00020218 + add r4, r1, #0x0 + mov r12, r2 + mov r1, #0x0 + add r2, r0, #0x0 + add r3, r4, #0x0 + add r6, r7, #0x0 +_02022E0C: + ldr r5, _02022E70 ; =0x00020218 + add r1, r1, #0x1 + ldr r5, [r2, r5] + str r5, [r3, #0x1c] + ldr r5, [r2, r7] + add r3, r3, #0x4 + add r5, r5, #0x1 + str r5, [r2, r6] + add r2, r2, #0x4 + cmp r1, #0x2 + blt _02022E0C + mov r1, #0x0 + str r1, [r4, #0x14] + mov r2, r12 + str r1, [r4, #0x0] + cmp r2, #0x2 + bne _02022E58 + ldr r2, [r0, #0xc] + cmp r2, #0x0 + beq _02022E4E + mov r2, #0x1 + str r2, [r4, #0x0] + ldr r2, _02022E74 ; =0x00020214 + ldr r3, [r0, r2] + str r3, [r4, #0x18] + ldr r3, [r0, r2] + add r3, r3, #0x1 + str r3, [r0, r2] + str r1, [r4, #0x4] + str r1, [r4, #0x8] + mov r0, #0x2 + str r0, [r4, #0xc] + b _02022E66 +_02022E4E: + str r1, [r4, #0x4] + str r1, [r4, #0x8] + mov r0, #0x1 + str r0, [r4, #0xc] + b _02022E66 +_02022E58: + mov r0, r12 + str r0, [r4, #0x4] + mov r0, r12 + str r0, [r4, #0x8] + mov r0, r12 + add r0, r0, #0x1 + str r0, [r4, #0xc] +_02022E66: + mov r0, #0x1 + bl sub_02016444 + pop {r3-r7, pc} + nop +_02022E70: .word 0x00020218 +_02022E74: .word 0x00020214 + + thumb_func_start sub_02022E78 +sub_02022E78: ; 0x02022E78 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x5 + bhi _02022F78 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r6, r5, #0 + lsl r2, r1, #0x1 + lsl r6, r5, #0x1 + lsl r0, r3, #0x2 + lsl r4, r7, #0x2 + ldr r1, [r4, #0x8] + ldr r0, _02022F7C ; =0x00020220 + add r2, r5, r1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _02022EAC + mov r2, #0x1 + b _02022EAE +_02022EAC: + mov r2, #0x0 +_02022EAE: + lsl r2, r2, #0x18 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02022D54 + str r0, [r4, #0x10] + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + ldr r0, [r4, #0x10] + add r1, sp, #0x0 + bl sub_020236E4 + cmp r0, #0x0 + beq _02022F78 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02022ED6 + mov r0, #0x3 + pop {r3-r5, pc} +_02022ED6: + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + ldr r1, [r4, #0x8] + ldr r0, _02022F7C ; =0x00020220 + add r2, r5, r1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _02022EEC + mov r2, #0x1 + b _02022EEE +_02022EEC: + mov r2, #0x0 +_02022EEE: + lsl r2, r2, #0x18 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02022DC8 + str r0, [r4, #0x10] + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + ldr r0, [r4, #0x10] + add r1, sp, #0x0 + bl sub_020236E4 + cmp r0, #0x0 + beq _02022F78 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02022F16 + mov r0, #0x3 + pop {r3-r5, pc} +_02022F16: + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + ldr r0, [r4, #0x8] + add r1, r0, #0x1 + ldr r0, [r4, #0xc] + cmp r1, r0 + bne _02022F2A + mov r0, #0x1 + pop {r3-r5, pc} +_02022F2A: + ldr r1, [r4, #0x8] + ldr r0, _02022F7C ; =0x00020220 + add r2, r5, r1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _02022F3A + mov r2, #0x1 + b _02022F3C +_02022F3A: + mov r2, #0x0 +_02022F3C: + lsl r2, r2, #0x18 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02022D94 + str r0, [r4, #0x10] + ldr r0, [r4, #0x14] + add r0, r0, #0x1 + str r0, [r4, #0x14] + ldr r0, [r4, #0x10] + add r1, sp, #0x0 + bl sub_020236E4 + cmp r0, #0x0 + beq _02022F78 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02022F64 + mov r0, #0x3 + pop {r3-r5, pc} +_02022F64: + ldr r0, [r4, #0x8] + add r1, r0, #0x1 + str r1, [r4, #0x8] + ldr r0, [r4, #0xc] + cmp r1, r0 + bne _02022F74 + mov r0, #0x2 + pop {r3-r5, pc} +_02022F74: + mov r0, #0x0 + str r0, [r4, #0x14] +_02022F78: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02022F7C: .word 0x00020220 + + thumb_func_start sub_02022F80 +sub_02022F80: ; 0x02022F80 + push {r3-r7, lr} + add r3, r0, #0x0 + add r0, r1, #0x0 + cmp r2, #0x3 + bne _02022FAA + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02022F96 + ldr r2, [r0, #0x18] + ldr r1, _02022FE4 ; =0x00020214 + str r2, [r3, r1] +_02022F96: + ldr r1, _02022FE8 ; =0x00020218 + mov r4, #0x0 +_02022F9A: + ldr r2, [r0, #0x1c] + add r4, r4, #0x1 + str r2, [r3, r1] + add r0, r0, #0x4 + add r3, r3, #0x4 + cmp r4, #0x2 + blt _02022F9A + b _02022FDA +_02022FAA: + ldr r6, [r0, #0x4] + ldr r1, [r0, #0xc] + cmp r6, r1 + bge _02022FD0 + ldr r1, _02022FEC ; =0x00020220 + mov r7, #0x1 + add r2, r1, #0x0 +_02022FB8: + add r5, r3, r6 + ldrb r4, [r5, r2] + cmp r4, #0x0 + bne _02022FC4 + add r4, r7, #0x0 + b _02022FC6 +_02022FC4: + mov r4, #0x0 +_02022FC6: + strb r4, [r5, r1] + ldr r4, [r0, #0xc] + add r6, r6, #0x1 + cmp r6, r4 + blt _02022FB8 +_02022FD0: + mov r0, #0x1 + str r0, [r3, #0x4] + mov r0, #0x0 + str r0, [r3, #0x8] + str r0, [r3, #0xc] +_02022FDA: + mov r0, #0x1 + bl sub_02016454 + pop {r3-r7, pc} + nop +_02022FE4: .word 0x00020214 +_02022FE8: .word 0x00020218 +_02022FEC: .word 0x00020220 +_02022FF0: + .byte 0x38, 0xB5, 0x0C, 0x1C, 0x21, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xA2, 0x69, 0x0F, 0x49, 0x42, 0x50 + .byte 0x0F, 0x49, 0x00, 0x23, 0x25, 0x1C, 0xEA, 0x69, 0x5B, 0x1C, 0x42, 0x50, 0x2D, 0x1D, 0x00, 0x1D + .byte 0x02, 0x2B, 0xF8, 0xDB, 0xB3, 0xF0, 0xCA, 0xEE, 0x00, 0x28, 0x0B, 0xD1, 0xB3, 0xF0, 0xAE, 0xEE + .byte 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C, 0xB3, 0xF0, 0x3C, 0xEB, 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C + .byte 0xA7, 0xF0, 0x62, 0xE8, 0x01, 0x20, 0xF3, 0xF7, 0x0D, 0xFA, 0x38, 0xBD, 0x14, 0x02, 0x02, 0x00 + .byte 0x18, 0x02, 0x02, 0x00 + + thumb_func_start sub_02023044 +sub_02023044: ; 0x02023044 + push {r3-r6, lr} + sub sp, #0x24 + add r1, sp, #0x0 + mov r2, #0x2 + add r5, r0, #0x0 + bl sub_02022DFC + add r6, sp, #0x0 +_02023054: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02022E78 + add r4, r0, #0x0 + beq _02023054 + cmp r4, #0x1 + beq _02023054 + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, r4, #0x0 + bl sub_02022F80 + add r0, r4, #0x0 + add sp, #0x24 + pop {r3-r6, pc} + + thumb_func_start sub_02023074 +sub_02023074: ; 0x02023074 + push {r4-r5, lr} + sub sp, #0x14 + add r4, r2, #0x0 + ldr r2, _020230A8 ; =0x00020464 + add r2, r0, r2 + mov r0, #0xc + mul r0, r1 + add r5, r2, r0 + add r0, sp, #0x0 + mov r1, #0xff + mov r2, #0x14 + blx sub_020CE34C + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020228A4 + ldr r1, [r5, #0x8] + mov r2, #0x14 + add r0, r1, r0 + sub r0, #0x14 + add r1, sp, #0x0 + bl sub_020235D0 + add sp, #0x14 + pop {r4-r5, pc} + .balign 4 +_020230A8: .word 0x00020464 + + thumb_func_start sub_020230AC +sub_020230AC: ; 0x020230AC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020230DC ; =0x020EE6DC + ldr r4, _020230E0 ; =0x020EE700 + ldr r0, [r0, #0x0] + cmp r5, r0 + blt _020230BE + bl sub_02020C2C +_020230BE: + lsl r0, r5, #0x4 + add r0, r4, r0 + ldr r0, [r0, #0x8] + blx r0 + lsr r3, r0, #0x1f + lsl r2, r0, #0x1e + sub r2, r2, r3 + mov r1, #0x1e + ror r2, r1 + add r2, r3, r2 + mov r1, #0x4 + sub r1, r1, r2 + add r0, r0, r1 + pop {r3-r5, pc} + nop +_020230DC: .word 0x020EE6DC +_020230E0: .word 0x020EE700 + + thumb_func_start sub_020230E4 +sub_020230E4: ; 0x020230E4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _02023158 ; =0x020EE6DC + ldr r4, _0202315C ; =0x020EE700 + ldr r0, [r0, #0x0] + mov r7, #0x0 + str r0, [sp, #0x0] + cmp r0, #0x24 + beq _020230FC + bl sub_02020C2C +_020230FC: + ldr r0, [sp, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + ble _02023148 + sub r0, r0, #0x1 + str r0, [sp, #0x4] +_02023108: + ldr r0, [r4, #0x0] + cmp r6, r0 + beq _02023112 + bl sub_02020C2C +_02023112: + ldr r0, [r4, #0x0] + str r0, [r5, #0x0] + add r0, r6, #0x0 + bl sub_020230AC + str r0, [r5, #0x4] + str r7, [r5, #0x8] + mov r0, #0x0 + strh r0, [r5, #0xc] + ldr r0, [r4, #0x4] + strh r0, [r5, #0xe] + ldr r0, [r5, #0x4] + add r7, r7, r0 + ldr r0, [sp, #0x4] + cmp r6, r0 + beq _0202313A + ldr r1, [r4, #0x4] + ldr r0, [r4, #0x14] + cmp r1, r0 + beq _0202313C +_0202313A: + add r7, #0x14 +_0202313C: + ldr r0, [sp, #0x0] + add r6, r6, #0x1 + add r4, #0x10 + add r5, #0x10 + cmp r6, r0 + blt _02023108 +_02023148: + mov r0, #0x2 + lsl r0, r0, #0x10 + cmp r7, r0 + ble _02023154 + bl sub_02020C2C +_02023154: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02023158: .word 0x020EE6DC +_0202315C: .word 0x020EE700 + + thumb_func_start sub_02023160 +sub_02023160: ; 0x02023160 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + mov r12, r0 + add r3, r0, #0x0 + add r6, r0, #0x0 + ldr r0, _020231EC ; =0x020EE6DC + ldr r4, [sp, #0x0] + ldr r7, [r0, #0x0] + add r5, r1, #0x0 +_02023178: + add r2, r4, #0x0 + strb r6, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x8] + add r2, #0x8 + b _02023190 +_02023184: + ldr r0, [r5, #0x4] + ldr r1, [r2, #0x0] + add r5, #0x10 + add r0, r1, r0 + str r0, [r2, #0x0] + add r3, r3, #0x1 +_02023190: + ldrh r0, [r5, #0xe] + cmp r6, r0 + bne _0202319A + cmp r3, r7 + blt _02023184 +_0202319A: + ldr r0, [r4, #0x8] + add r6, r6, #0x1 + add r0, #0x14 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + strb r0, [r4, #0x1] + mov r0, r12 + str r0, [r4, #0x4] + ldr r1, [r4, #0x8] + ldr r0, _020231F0 ; =0x00000FFF + add r0, r1, r0 + lsr r0, r0, #0xc + strb r0, [r4, #0x2] + ldrb r1, [r4, #0x2] + ldr r0, [sp, #0x4] + add r0, r0, r1 + str r0, [sp, #0x4] + ldr r0, [r4, #0x8] + mov r1, r12 + add r0, r1, r0 + add r4, #0xc + mov r12, r0 + cmp r6, #0x2 + blt _02023178 + ldr r0, [sp, #0x0] + ldrb r1, [r0, #0xd] + ldrb r0, [r0, #0xe] + add r1, r1, r0 + ldr r0, [sp, #0x4] + cmp r0, r1 + beq _020231DC + bl sub_02020C2C +_020231DC: + ldr r0, [sp, #0x4] + cmp r0, #0x20 + ble _020231E6 + bl sub_02020C2C +_020231E6: + add sp, #0x8 + pop {r3-r7, pc} + nop +_020231EC: .word 0x020EE6DC +_020231F0: .word 0x00000FFF + + thumb_func_start sub_020231F4 +sub_020231F4: ; 0x020231F4 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r0, #0x0 + mov r2, #0x2 + add r5, r1, #0x0 + mov r0, #0x0 + add r1, r6, #0x0 + lsl r2, r2, #0x10 + ldr r4, _02023240 ; =0x020EE700 + blx sub_020CE240 + ldr r0, _02023244 ; =0x020EE6DC + mov r7, #0x0 + ldr r0, [r0, #0x0] + str r0, [sp, #0x0] + cmp r0, #0x0 + ble _0202323A +_02023216: + ldr r0, [r5, #0x8] + ldr r2, [r5, #0x4] + str r0, [sp, #0x4] + ldr r1, [sp, #0x4] + mov r0, #0x0 + add r1, r6, r1 + blx sub_020CE240 + ldr r0, [sp, #0x4] + ldr r1, [r4, #0xc] + add r0, r6, r0 + blx r1 + ldr r0, [sp, #0x0] + add r7, r7, #0x1 + add r5, #0x10 + add r4, #0x10 + cmp r7, r0 + blt _02023216 +_0202323A: + add sp, #0x8 + pop {r3-r7, pc} + nop +_02023240: .word 0x020EE700 +_02023244: .word 0x020EE6DC + + thumb_func_start sub_02023248 +sub_02023248: ; 0x02023248 + push {r3-r5, lr} + ldr r5, _0202326C ; =0x20060623 + add r4, r1, r3 + str r5, [r1, r3] + ldr r5, _02023270 ; =0x000204A4 + ldr r5, [r0, r5] + add r0, #0x14 + add r5, r5, #0x1 + str r5, [r4, #0x4] + str r3, [r4, #0x8] + add r3, #0xe + strh r2, [r4, #0xc] + add r2, r3, #0x0 + blx sub_020DDD60 + strh r0, [r4, #0xe] + pop {r3-r5, pc} + nop +_0202326C: .word 0x20060623 +_02023270: .word 0x000204A4 + + thumb_func_start sub_02023274 +sub_02023274: ; 0x02023274 + push {r4-r6, lr} + ldr r6, [r1, r3] + ldr r5, _020232B0 ; =0x20060623 + add r4, r1, r3 + cmp r6, r5 + beq _02023284 + mov r0, #0x0 + pop {r4-r6, pc} +_02023284: + ldr r5, [r4, #0x8] + cmp r5, r3 + beq _0202328E + mov r0, #0x0 + pop {r4-r6, pc} +_0202328E: + ldrh r5, [r4, #0xc] + cmp r5, r2 + beq _02023298 + mov r0, #0x0 + pop {r4-r6, pc} +_02023298: + add r3, #0xe + add r0, #0x14 + add r2, r3, #0x0 + blx sub_020DDD60 + ldrh r1, [r4, #0xe] + cmp r1, r0 + bne _020232AC + mov r0, #0x1 + pop {r4-r6, pc} +_020232AC: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_020232B0: .word 0x20060623 + + thumb_func_start sub_020232B4 +sub_020232B4: ; 0x020232B4 + add r0, r0, r1 + ldr r0, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_020232BC +sub_020232BC: ; 0x020232BC + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + mov r0, #0x1 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_02016444 + ldr r0, _020233FC ; =0x020EE6D8 + ldr r0, [r0, #0x0] + cmp r5, r0 + blt _020232D8 + bl sub_02020C2C +_020232D8: + ldr r1, _02023400 ; =0x020EE6E0 + lsl r0, r5, #0x4 + add r4, r1, r0 + ldr r0, [r1, r0] + cmp r0, r5 + beq _020232E8 + bl sub_02020C2C +_020232E8: + ldr r0, [r4, #0x8] + blx r0 + str r0, [sp, #0x4] + add r0, #0x10 + str r0, [sp, #0x4] + ldr r0, _02023404 ; =0x000204A0 + ldr r0, [r7, r0] + cmp r0, #0x1 + ldr r0, [r4, #0x8] + bne _0202336E + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023248 + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x4] + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235D0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023274 + cmp r0, #0x1 + beq _02023330 + bl sub_02020C2C +_02023330: + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023248 + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x4] + add r0, #0x40 + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235D0 + ldr r1, [sp, #0x0] + orr r0, r1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023274 + cmp r0, #0x1 + beq _020233DE + bl sub_02020C2C + b _020233DE +_0202336E: + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023248 + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x4] + add r0, #0x40 + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235D0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023274 + cmp r0, #0x1 + beq _020233A4 + bl sub_02020C2C +_020233A4: + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023248 + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x4] + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235D0 + ldr r1, [sp, #0x0] + orr r0, r1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02023274 + cmp r0, #0x1 + beq _020233DE + bl sub_02020C2C +_020233DE: + ldr r0, [sp, #0x0] + cmp r0, #0x1 + bne _020233F0 + mov r0, #0x1 + bl sub_02016454 + add sp, #0x8 + mov r0, #0x2 + pop {r3-r7, pc} +_020233F0: + mov r0, #0x1 + bl sub_02016454 + mov r0, #0x3 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020233FC: .word 0x020EE6D8 +_02023400: .word 0x020EE6E0 +_02023404: .word 0x000204A0 + + thumb_func_start sub_02023408 +sub_02023408: ; 0x02023408 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + ldr r0, _02023564 ; =0x020EE6D8 + add r7, r2, #0x0 + ldr r0, [r0, #0x0] + add r6, r1, #0x0 + str r3, [sp, #0x0] + cmp r7, r0 + blt _02023420 + bl sub_02020C2C +_02023420: + ldr r1, _02023568 ; =0x020EE6E0 + lsl r0, r7, #0x4 + add r4, r1, r0 + ldr r0, [r1, r0] + cmp r0, r7 + beq _02023430 + bl sub_02020C2C +_02023430: + ldr r0, [r4, #0x8] + blx r0 + str r0, [sp, #0x10] + add r0, #0x10 + str r0, [sp, #0x10] + ldr r1, [sp, #0x10] + add r0, r6, #0x0 + bl sub_02016998 + add r6, r0, #0x0 + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x10] + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235EC + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02023274 + str r0, [sp, #0xc] + ldr r0, [r4, #0x8] + blx r0 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_020232B4 + str r0, [sp, #0x8] + ldr r0, [r4, #0x4] + ldr r2, [sp, #0x10] + add r0, #0x40 + lsl r0, r0, #0xc + add r1, r6, #0x0 + bl sub_020235EC + ldr r0, [r4, #0x8] + blx r0 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02023274 + add r7, r0, #0x0 + ldr r0, [r4, #0x8] + blx r0 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_020232B4 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + mov r1, #0x1 + str r1, [r0, #0x0] + ldr r0, [sp, #0xc] + cmp r0, #0x1 + bne _020234CC + cmp r7, #0x0 + bne _020234CC + ldr r0, _0202356C ; =0x000204A0 + mov r1, #0x0 + str r1, [r5, r0] + add r1, r0, #0x4 + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x10] + str r0, [r5, r1] + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + lsl r0, r0, #0xc + bl sub_020235EC + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_020234CC: + ldr r0, [sp, #0xc] + cmp r0, #0x0 + bne _020234F6 + cmp r7, #0x1 + bne _020234F6 + ldr r0, _0202356C ; =0x000204A0 + mov r1, #0x1 + str r1, [r5, r0] + add r1, r0, #0x4 + ldr r0, [sp, #0x4] + ldr r2, [sp, #0x10] + str r0, [r5, r1] + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + add r0, #0x40 + lsl r0, r0, #0xc + bl sub_020235EC + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_020234F6: + ldr r0, [sp, #0xc] + cmp r0, #0x1 + bne _0202354C + cmp r7, #0x1 + bne _0202354C + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + bl sub_020229B8 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + ldr r0, _0202356C ; =0x000204A0 + beq _0202352E + mov r1, #0x0 + str r1, [r5, r0] + add r1, r0, #0x4 + ldr r0, [sp, #0x8] + ldr r2, [sp, #0x10] + str r0, [r5, r1] + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + lsl r0, r0, #0xc + bl sub_020235EC + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_0202352E: + mov r1, #0x1 + str r1, [r5, r0] + add r1, r0, #0x4 + ldr r0, [sp, #0x4] + ldr r2, [sp, #0x10] + str r0, [r5, r1] + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + add r0, #0x40 + lsl r0, r0, #0xc + bl sub_020235EC + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_0202354C: + ldr r0, [sp, #0x0] + mov r1, #0x2 + str r1, [r0, #0x0] + ldr r0, _0202356C ; =0x000204A0 + mov r1, #0x0 + str r1, [r5, r0] + add r0, r0, #0x4 + str r1, [r5, r0] + add r0, r6, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + nop +_02023564: .word 0x020EE6D8 +_02023568: .word 0x020EE6E0 +_0202356C: .word 0x000204A0 + + thumb_func_start sub_02023570 +sub_02023570: ; 0x02023570 + push {r3-r5, lr} + blx sub_020CA0A0 + add r4, r0, #0x0 + mov r0, #0x2 + mvn r0, r0 + cmp r4, r0 + bne _02023584 + bl sub_02020C2C +_02023584: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66B0 + ldr r0, _020235C8 ; =0x00001302 + blx sub_020D6DC4 + cmp r0, #0x0 + beq _0202359A + ldr r5, _020235C8 ; =0x00001302 + b _020235AA +_0202359A: + ldr r0, _020235CC ; =0x00001202 + blx sub_020D6DC4 + cmp r0, #0x0 + beq _020235A8 + ldr r5, _020235CC ; =0x00001202 + b _020235AA +_020235A8: + mov r5, #0x0 +_020235AA: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66A0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020CA0F8 + cmp r5, #0x0 + beq _020235C2 + mov r0, #0x1 + pop {r3-r5, pc} +_020235C2: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_020235C8: .word 0x00001302 +_020235CC: .word 0x00001202 + + thumb_func_start sub_020235D0 +sub_020235D0: ; 0x020235D0 + push {r3-r5, lr} + bl sub_02023668 + add r5, r0, #0x0 + add r4, sp, #0x0 +_020235DA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020236E4 + cmp r0, #0x0 + beq _020235DA + ldr r0, [sp, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020235EC +sub_020235EC: ; 0x020235EC + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + blx sub_020CA0A0 + add r4, r0, #0x0 + mov r0, #0x2 + mvn r0, r0 + cmp r4, r0 + bne _02023608 + bl sub_02020C2C +_02023608: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66B0 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + str r3, [sp, #0x10] + blx sub_020D6F20 + blx sub_020D6DB8 + add r5, r0, #0x0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66A0 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020CA0F8 + cmp r5, #0x0 + bne _02023652 + ldr r0, _02023658 ; =0x021C59C8 + ldr r0, [r0, #0x0] + bl sub_02016A18 + mov r0, #0x1 + bl sub_02089D90 +_02023652: + add r0, r5, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02023658: .word 0x021C59C8 + + thumb_func_start sub_0202365C +sub_0202365C: ; 0x0202365C + ldr r0, _02023664 ; =0x021C59C8 + mov r1, #0x1 + str r1, [r0, #0x4] + bx lr + .balign 4 +_02023664: .word 0x021C59C8 + + thumb_func_start sub_02023668 +sub_02023668: ; 0x02023668 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + blx sub_020CA0A0 + add r4, r0, #0x0 + mov r0, #0x2 + mvn r0, r0 + cmp r4, r0 + bne _02023684 + bl sub_02020C2C +_02023684: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66B0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r1, #0x6 + str r1, [sp, #0x8] + mov r1, #0x1 + str r1, [sp, #0xc] + add r1, sp, #0x14 + mov r2, #0x4 + add r3, r0, #0x0 + str r0, [sp, #0x10] + blx sub_020D6F20 + cmp r0, #0x0 + bne _020236B2 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02023740 +_020236B2: + ldr r0, _020236DC ; =0x021C59C8 + mov r1, #0x0 + str r1, [r0, #0x4] + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x7 + str r0, [sp, #0x8] + mov r0, #0xa + str r0, [sp, #0xc] + mov r0, #0x2 + str r0, [sp, #0x10] + ldr r3, _020236E0 ; =sub_0202365C + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + blx sub_020D6F20 + add r0, r4, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_020236DC: .word 0x021C59C8 +_020236E0: .word sub_0202365C + 1 + + thumb_func_start sub_020236E4 +sub_020236E4: ; 0x020236E4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0202373C ; =0x021C59C8 + add r4, r1, #0x0 + ldr r0, [r0, #0x4] + cmp r0, #0x1 + bne _02023738 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + blx sub_020D66A0 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + blx sub_020CA0F8 + blx sub_020D6700 + cmp r0, #0x0 + beq _02023714 + cmp r0, #0x4 + beq _0202371E + cmp r0, #0x6 + beq _02023728 + b _0202371A +_02023714: + mov r0, #0x1 + str r0, [r4, #0x0] + b _02023734 +_0202371A: + bl sub_02020C2C +_0202371E: + mov r1, #0x0 + add r0, r5, #0x0 + str r1, [r4, #0x0] + bl sub_02023740 +_02023728: + mov r0, #0x0 + str r0, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02023740 +_02023734: + mov r0, #0x1 + pop {r3-r5, pc} +_02023738: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0202373C: .word 0x021C59C8 + + thumb_func_start sub_02023740 +sub_02023740: ; 0x02023740 + push {r3-r5, lr} + add r5, r0, #0x0 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + add r4, r1, #0x0 + blx sub_020D66A0 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + blx sub_020CA0F8 + ldr r0, _02023768 ; =0x021C59C8 + ldr r0, [r0, #0x0] + bl sub_02016A18 + mov r0, #0x1 + add r1, r4, #0x0 + bl sub_0208A0B8 + + non_word_aligned_thumb_func_start sub_02023766 +sub_02023766: ; 0x02023766 + pop {r3-r5, pc} + .balign 4 +_02023768: .word 0x021C59C8 + + thumb_func_start sub_0202376C +sub_0202376C: ; 0x0202376C + mov r0, #0x5c + bx lr + + thumb_func_start sub_02023770 +sub_02023770: ; 0x02023770 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x5c + blx sub_020CE240 + add r4, #0x10 + add r0, r4, #0x0 + bl sub_02023840 + pop {r4, pc} + + thumb_func_start sub_02023788 +sub_02023788: ; 0x02023788 + ldr r3, _02023790 ; =sub_02022610 + mov r1, #0x0 + bx r3 + nop +_02023790: .word sub_02022610 + 1 + + thumb_func_start sub_02023794 +sub_02023794: ; 0x02023794 + push {r3, lr} + bl sub_02023788 + add r0, #0x10 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020237A0 +sub_020237A0: ; 0x020237A0 + push {r4, lr} + sub sp, #0x50 + add r4, r0, #0x0 + blx sub_020CD510 + str r0, [r4, #0x0] + add r0, r4, #0x0 + add r0, #0x8 + str r1, [r4, #0x4] + blx sub_020CD5A0 + add r0, sp, #0x0 + blx sub_020CD524 + add r0, sp, #0x0 + ldrb r1, [r0, #0x2] + strb r1, [r4, #0xe] + ldrb r0, [r0, #0x3] + strb r0, [r4, #0xf] + add sp, #0x50 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020237CC +sub_020237CC: ; 0x020237CC + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, sp, #0x0 + blx sub_020CD5A0 + mov r2, #0x0 + add r3, sp, #0x0 +_020237DC: + add r0, r4, r2 + ldrb r1, [r3, #0x0] + ldrb r0, [r0, #0x8] + cmp r1, r0 + beq _020237EC + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_020237EC: + add r2, r2, #0x1 + add r3, r3, #0x1 + cmp r2, #0x6 + blt _020237DC + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020237FC +sub_020237FC: ; 0x020237FC + push {r4, lr} + add r4, r0, #0x0 + blx sub_020CD510 + ldr r3, [r4, #0x0] + ldr r2, [r4, #0x4] + eor r0, r3 + eor r1, r2 + orr r0, r1 + bne _02023814 + mov r0, #0x1 + pop {r4, pc} +_02023814: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02023818 +sub_02023818: ; 0x02023818 + ldrb r0, [r0, #0xe] + bx lr + + thumb_func_start sub_0202381C +sub_0202381C: ; 0x0202381C + ldrb r0, [r0, #0xf] + bx lr + + thumb_func_start sub_02023820 +sub_02023820: ; 0x02023820 + add r0, #0x48 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02023828 +sub_02023828: ; 0x02023828 + add r0, #0x48 + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02023830 +sub_02023830: ; 0x02023830 + ldr r0, [r0, #0x4c] + bx lr + + thumb_func_start sub_02023834 +sub_02023834: ; 0x02023834 + ldr r2, [r0, #0x4c] + cmp r2, #0x0 + bne _0202383C + str r1, [r0, #0x4c] +_0202383C: + bx lr + .balign 4 + + thumb_func_start sub_02023840 +sub_02023840: ; 0x02023840 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1 + add r1, r4, #0x0 + str r0, [r4, #0x0] + add r0, r4, #0x4 + add r1, #0x14 + bl sub_0201265C + add r0, r4, #0x4 + blx sub_020D660C + add r1, r4, #0x0 + str r0, [r4, #0x20] + add r0, r4, #0x4 + add r1, #0x14 + blx sub_020D6578 + str r0, [r4, #0x24] + str r1, [r4, #0x28] + mov r0, #0x0 + str r0, [r4, #0x2c] + str r0, [r4, #0x30] + str r0, [r4, #0x34] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02023874 +sub_02023874: ; 0x02023874 + ldr r0, [r0, #0x34] + cmp r0, #0x0 + beq _0202387E + mov r0, #0x1 + bx lr +_0202387E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02023884 +sub_02023884: ; 0x02023884 + mov r2, #0x5a + ldr r3, [r0, #0x34] + lsl r2, r2, #0x4 + cmp r3, r2 + bls _02023890 + str r2, [r0, #0x34] +_02023890: + ldr r2, [r0, #0x34] + cmp r2, r1 + bhs _0202389C + mov r1, #0x0 + str r1, [r0, #0x34] + bx lr +_0202389C: + sub r1, r2, r1 + str r1, [r0, #0x34] + bx lr + .balign 4 + + thumb_func_start sub_020238A4 +sub_020238A4: ; 0x020238A4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x5a + lsl r0, r0, #0x4 + add r1, r4, #0x0 + str r0, [r4, #0x34] + add r0, r4, #0x4 + add r1, #0x14 + bl sub_0201265C + add r0, r4, #0x4 + blx sub_020D660C + str r0, [r4, #0x20] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020238C4 +sub_020238C4: ; 0x020238C4 + mov r0, #0x2c + bx lr + + thumb_func_start sub_020238C8 +sub_020238C8: ; 0x020238C8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x2c + blx sub_020CE240 + add r0, r4, #0x0 + bl sub_02024F50 + add r0, r4, #0x4 + bl sub_02023948 + add r0, r4, #0x0 + add r0, #0x24 + bl sub_02028910 + add r4, #0x26 + add r0, r4, #0x0 + bl sub_02029E48 + pop {r4, pc} + + thumb_func_start sub_020238F4 +sub_020238F4: ; 0x020238F4 + push {r3, lr} + mov r1, #0x1 + bl sub_02022610 + add r0, r0, #0x4 + pop {r3, pc} + + thumb_func_start sub_02023900 +sub_02023900: ; 0x02023900 + ldr r3, _02023908 ; =sub_02022610 + mov r1, #0x1 + bx r3 + nop +_02023908: .word sub_02022610 + 1 + + thumb_func_start sub_0202390C +sub_0202390C: ; 0x0202390C + push {r3, lr} + mov r1, #0x1 + bl sub_02022610 + add r0, #0x24 + pop {r3, pc} + + thumb_func_start sub_02023918 +sub_02023918: ; 0x02023918 + push {r3, lr} + mov r1, #0x1 + bl sub_02022610 + add r0, #0x26 + pop {r3, pc} + + thumb_func_start sub_02023924 +sub_02023924: ; 0x02023924 + mov r0, #0x20 + bx lr + + thumb_func_start sub_02023928 +sub_02023928: ; 0x02023928 + push {r4, lr} + mov r1, #0x20 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_02023948 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202393C +sub_0202393C: ; 0x0202393C + ldr r3, _02023944 ; =sub_020CE3E0 + mov r2, #0x20 + bx r3 + nop +_02023944: .word sub_020CE3E0 + + thumb_func_start sub_02023948 +sub_02023948: ; 0x02023948 + push {r4, lr} + mov r1, #0x0 + mov r2, #0x20 + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x2 + strb r0, [r4, #0x19] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202395C +sub_0202395C: ; 0x0202395C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02002288 + cmp r0, #0x8 + blt _02023970 + bl sub_02020C2C +_02023970: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02002248 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202397C +sub_0202397C: ; 0x0202397C + ldr r3, _02023988 ; =sub_02021EF0 + add r2, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0x8 + bx r3 + .balign 4 +_02023988: .word sub_02021EF0 + 1 + + thumb_func_start sub_0202398C +sub_0202398C: ; 0x0202398C + bx lr + .balign 4 + + thumb_func_start sub_02023990 +sub_02023990: ; 0x02023990 + ldr r3, _0202399C ; =sub_02021E28 + add r2, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + bx r3 + nop +_0202399C: .word sub_02021E28 + 1 + + thumb_func_start sub_020239A0 +sub_020239A0: ; 0x020239A0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x8 + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02023990 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020239B8 +sub_020239B8: ; 0x020239B8 + str r1, [r0, #0x10] + bx lr + + thumb_func_start sub_020239BC +sub_020239BC: ; 0x020239BC + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_020239C0 +sub_020239C0: ; 0x020239C0 + ldr r0, [r0, #0x10] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_020239C8 +sub_020239C8: ; 0x020239C8 + strb r1, [r0, #0x18] + bx lr + + thumb_func_start sub_020239CC +sub_020239CC: ; 0x020239CC + ldrb r0, [r0, #0x18] + bx lr + + thumb_func_start sub_020239D0 +sub_020239D0: ; 0x020239D0 + ldrb r3, [r0, #0x1a] + mov r0, #0x1 + add r2, r0, #0x0 + lsl r2, r1 + add r1, r3, #0x0 + tst r1, r2 + bne _020239E0 + mov r0, #0x0 +_020239E0: + bx lr + .balign 4 + + thumb_func_start sub_020239E4 +sub_020239E4: ; 0x020239E4 + ldrb r3, [r0, #0x1a] + mov r2, #0x1 + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strb r1, [r0, #0x1a] + bx lr + .balign 4 + + thumb_func_start sub_020239F4 +sub_020239F4: ; 0x020239F4 + ldrb r3, [r0, #0x1a] + mov r2, #0x0 + cmp r3, #0x0 + beq _02023A0A + mov r0, #0x1 +_020239FE: + add r1, r3, #0x0 + tst r1, r0 + beq _02023A06 + add r2, r2, #0x1 +_02023A06: + lsr r3, r3, #0x1 + bne _020239FE +_02023A0A: + add r0, r2, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02023A10 +sub_02023A10: ; 0x02023A10 + ldr r0, [r0, #0x14] + bx lr + + thumb_func_start sub_02023A14 +sub_02023A14: ; 0x02023A14 + ldr r2, _02023A24 ; =0x000F423F + cmp r1, r2 + bls _02023A1C + add r1, r2, #0x0 +_02023A1C: + str r1, [r0, #0x14] + add r0, r1, #0x0 + bx lr + nop +_02023A24: .word 0x000F423F + + thumb_func_start sub_02023A28 +sub_02023A28: ; 0x02023A28 + ldrb r0, [r0, #0x1b] + bx lr + + thumb_func_start sub_02023A2C +sub_02023A2C: ; 0x02023A2C + strb r1, [r0, #0x1b] + bx lr + + thumb_func_start sub_02023A30 +sub_02023A30: ; 0x02023A30 + ldr r2, _02023A50 ; =0x000F423F + cmp r1, r2 + bls _02023A3A + str r2, [r0, #0x14] + b _02023A40 +_02023A3A: + ldr r2, [r0, #0x14] + add r1, r2, r1 + str r1, [r0, #0x14] +_02023A40: + ldr r2, [r0, #0x14] + ldr r1, _02023A50 ; =0x000F423F + cmp r2, r1 + bls _02023A4A + str r1, [r0, #0x14] +_02023A4A: + ldr r0, [r0, #0x14] + bx lr + nop +_02023A50: .word 0x000F423F + + thumb_func_start sub_02023A54 +sub_02023A54: ; 0x02023A54 + ldr r2, [r0, #0x14] + cmp r2, r1 + bhs _02023A5E + mov r1, #0x0 + b _02023A60 +_02023A5E: + sub r1, r2, r1 +_02023A60: + str r1, [r0, #0x14] + ldr r0, [r0, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_02023A68 +sub_02023A68: ; 0x02023A68 + ldrb r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_02023A6C +sub_02023A6C: ; 0x02023A6C + strb r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_02023A70 +sub_02023A70: ; 0x02023A70 + ldrb r0, [r0, #0x19] + bx lr + + thumb_func_start sub_02023A74 +sub_02023A74: ; 0x02023A74 + strb r1, [r0, #0x19] + bx lr + + thumb_func_start sub_02023A78 +sub_02023A78: ; 0x02023A78 + ldrb r2, [r0, #0x1d] + mov r1, #0x1 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strb r1, [r0, #0x1d] + bx lr + .balign 4 + + thumb_func_start sub_02023A88 +sub_02023A88: ; 0x02023A88 + ldrb r0, [r0, #0x1d] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_02023A90 +sub_02023A90: ; 0x02023A90 + ldrb r2, [r0, #0x1d] + mov r1, #0x2 + orr r1, r2 + strb r1, [r0, #0x1d] + bx lr + .balign 4 + + thumb_func_start sub_02023A9C +sub_02023A9C: ; 0x02023A9C + ldrb r0, [r0, #0x1d] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_02023AA4 +sub_02023AA4: ; 0x02023AA4 + push {r3-r5, lr} + mov r2, #0x7 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020022D0 + cmp r0, #0x0 + bne _02023AC0 + ldr r1, [r5, #0x10] + ldr r0, [r4, #0x10] + cmp r1, r0 + bne _02023AC0 + mov r0, #0x1 + pop {r3-r5, pc} +_02023AC0: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02023AC4 +sub_02023AC4: ; 0x02023AC4 + mov r0, #0x20 + bx lr + + thumb_func_start sub_02023AC8 +sub_02023AC8: ; 0x02023AC8 + mov r0, #0x20 + bx lr + + thumb_func_start sub_02023ACC +sub_02023ACC: ; 0x02023ACC + ldr r3, _02023AD4 ; =sub_020CE3E0 + mov r2, #0x20 + bx r3 + nop +_02023AD4: .word sub_020CE3E0 + + thumb_func_start sub_02023AD8 +sub_02023AD8: ; 0x02023AD8 + ldr r3, _02023AE0 ; =sub_020DF4A4 + mov r1, #0x0 + mov r2, #0x20 + bx r3 + .balign 4 +_02023AE0: .word sub_020DF4A4 + + thumb_func_start sub_02023AE4 +sub_02023AE4: ; 0x02023AE4 + ldr r3, _02023AF0 ; =sub_02021E8C + add r2, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0xc + bx r3 + .balign 4 +_02023AF0: .word sub_02021E8C + 1 + + thumb_func_start sub_02023AF4 +sub_02023AF4: ; 0x02023AF4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x18 + bl sub_020219F4 + add r1, r5, #0x0 + add r4, r0, #0x0 + bl sub_02021E28 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02023B0C +sub_02023B0C: ; 0x02023B0C + mov r2, #0x0 + cmp r1, #0xc + bhi _02023B9E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r7, #0x1 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r4, r5, #0 + lsl r2, r6, #0 + lsl r6, r0, #0x1 + lsl r4, r1, #0x1 + lsl r0, r4, #0x1 + lsl r0, r5, #0x1 + lsl r0, r6, #0x1 + lsl r0, r7, #0x1 + ldrb r2, [r0, #0x1a] + b _02023B9E +_02023B3C: + .byte 0xC2, 0x7E, 0x2E, 0xE0 + .byte 0x02, 0x8B, 0x2C, 0xE0, 0x80, 0x7F, 0xC0, 0x07, 0xC2, 0x0F, 0x28, 0xE0, 0x1C, 0x21, 0x42, 0x56 + .byte 0x25, 0xE0, 0x1C, 0x21, 0x40, 0x56, 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x1F, 0xE0, 0x1E, 0xDA + .byte 0x0A, 0x1C, 0x1D, 0x3A, 0x1B, 0xE0, 0x1D, 0x21, 0x42, 0x56, 0x18, 0xE0, 0x1D, 0x21, 0x40, 0x56 + .byte 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x12, 0xE0, 0x11, 0xDA, 0x0A, 0x1C, 0x1E, 0x3A, 0x0E, 0xE0 + .byte 0x80, 0x7F, 0x00, 0x07, 0xC2, 0x0F, 0x0A, 0xE0, 0x80, 0x7F, 0x40, 0x07, 0xC2, 0x0F, 0x06, 0xE0 + .byte 0x80, 0x7F, 0x80, 0x07, 0xC2, 0x0F, 0x02, 0xE0, 0x80, 0x7F, 0xC0, 0x06, 0xC2, 0x0F +_02023B9E: + add r0, r2, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02023BA4 +sub_02023BA4: ; 0x02023BA4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x1 + blt _02023BB2 + bl sub_02020C2C +_02023BB2: + add r0, r4, #0x0 + mov r1, #0xd + bl sub_02022610 + add r4, r0, #0x0 + lsl r5, r5, #0x5 + add r0, r4, r5 + mov r1, #0x1 + bl sub_02023B0C + cmp r0, #0x0 + beq _02023BCE + add r0, r4, r5 + pop {r3-r5, pc} +_02023BCE: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02023BD4 +sub_02023BD4: ; 0x02023BD4 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0xd + bl sub_02022610 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02023ACC + pop {r4, pc} + + thumb_func_start sub_02023BE8 +sub_02023BE8: ; 0x02023BE8 + push {r3, lr} + cmp r1, #0x5 + bhs _02023BF6 + ldr r2, _02023C00 ; =0x02105BD4 + lsl r0, r1, #0x5 + add r0, r2, r0 + pop {r3, pc} +_02023BF6: + mov r1, #0xd + bl sub_02022610 + pop {r3, pc} + nop +_02023C00: .word 0x02105BD4 + + thumb_func_start sub_02023C04 +sub_02023C04: ; 0x02023C04 + push {r4-r6, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + cmp r5, #0x5 + bhs _02023C2C + ldr r2, _02023C3C ; =0x0000013A + mov r0, #0x0 + mov r1, #0x1a + bl sub_0200A86C + add r5, #0x38 + add r6, r0, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_0200A8B8 + pop {r4-r6, pc} +_02023C2C: + mov r1, #0x0 + bl sub_02023BA4 + add r1, r4, #0x0 + bl sub_02023AE4 + pop {r4-r6, pc} + nop +_02023C3C: .word 0x0000013A + + thumb_func_start sub_02023C40 +sub_02023C40: ; 0x02023C40 + mov r0, #0x1e + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02023C48 +sub_02023C48: ; 0x02023C48 + push {r4, lr} + mov r2, #0x1e + add r4, r0, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020DF4A4 + add r0, r4, #0x0 + bl sub_020669A0 + add r0, r4, #0x0 + add r0, #0xec + bl sub_020669A0 + mov r0, #0x76 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r0, #0x4 + strb r1, [r4, r0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02023C74 +sub_02023C74: ; 0x02023C74 + mov r2, #0xec + mul r2, r1 + add r0, r0, r2 + bx lr + + thumb_func_start sub_02023C7C +sub_02023C7C: ; 0x02023C7C + bx lr + .balign 4 + + thumb_func_start sub_02023C80 +sub_02023C80: ; 0x02023C80 + add r0, #0x88 + bx lr + + thumb_func_start sub_02023C84 +sub_02023C84: ; 0x02023C84 + add r0, #0xe8 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02023C8C +sub_02023C8C: ; 0x02023C8C + bx lr + .balign 4 + + thumb_func_start sub_02023C90 +sub_02023C90: ; 0x02023C90 + mov r1, #0x76 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_02023C98 +sub_02023C98: ; 0x02023C98 + mov r1, #0x77 + lsl r1, r1, #0x2 + ldrb r0, [r0, r1] + bx lr + + thumb_func_start sub_02023CA0 +sub_02023CA0: ; 0x02023CA0 + add r0, #0xe8 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02023CA8 +sub_02023CA8: ; 0x02023CA8 + add r2, r0, #0x0 + add r2, #0xe8 + ldr r2, [r2, #0x0] + add r0, #0xe8 + add r1, r2, r1 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02023CB8 +sub_02023CB8: ; 0x02023CB8 + mov r2, #0x76 + lsl r2, r2, #0x2 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_02023CC0 +sub_02023CC0: ; 0x02023CC0 + mov r2, #0x77 + lsl r2, r2, #0x2 + strb r1, [r0, r2] + bx lr + + thumb_func_start sub_02023CC8 +sub_02023CC8: ; 0x02023CC8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0xc + mov r2, #0x0 + bl sub_020672BC + add r5, #0xec + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xc + mov r2, #0x0 + bl sub_020672BC + cmp r4, r0 + beq _02023CEA + mov r0, #0x1 + pop {r3-r5, pc} +_02023CEA: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02023CF0 +sub_02023CF0: ; 0x02023CF0 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0x1d +_02023CF8: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _02023CF8 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_02023D08 +sub_02023D08: ; 0x02023D08 + push {r3-r4} + mov r1, #0x0 + add r2, r0, #0x0 + add r4, r1, #0x0 +_02023D10: + add r1, r1, #0x1 + strh r4, [r2, #0x38] + add r2, r2, #0x2 + cmp r1, #0x8 + blt _02023D10 + add r3, r0, #0x0 + mov r2, #0x0 +_02023D1E: + add r1, r3, #0x0 + add r1, #0x48 + add r4, r4, #0x1 + add r3, r3, #0x2 + strh r2, [r1, #0x0] + cmp r4, #0xb + blt _02023D1E + ldr r1, _02023D38 ; =0x0000FFFF + strh r1, [r0, #0x38] + add r0, #0x48 + strh r1, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 +_02023D38: .word 0x0000FFFF + + thumb_func_start sub_02023D3C +sub_02023D3C: ; 0x02023D3C + push {r4, lr} + add r4, r0, #0x0 + bl sub_020669A0 + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0xe8 + add r4, #0x88 + str r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_02023D08 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02023D58 +sub_02023D58: ; 0x02023D58 + ldr r3, _02023D60 ; =sub_02022610 + mov r1, #0x8 + bx r3 + nop +_02023D60: .word sub_02022610 + 1 + + thumb_func_start sub_02023D64 +sub_02023D64: ; 0x02023D64 + mov r0, #0x4f + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_02023D6C +sub_02023D6C: ; 0x02023D6C + push {r4, lr} + mov r1, #0x4f + lsl r1, r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_02024378 + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_02023D80 +sub_02023D80: ; 0x02023D80 + ldr r3, _02023D88 ; =sub_020CE3E0 + mov r2, #0x4f + lsl r2, r2, #0x2 + bx r3 + .balign 4 +_02023D88: .word sub_020CE3E0 + + thumb_func_start sub_02023D8C +sub_02023D8C: ; 0x02023D8C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02023DE8 ; =0x000001A6 + add r4, r1, #0x0 + cmp r4, r0 + beq _02023DA2 + add r0, r0, #0x1 + cmp r4, r0 + beq _02023DA2 + bl sub_02020C2C +_02023DA2: + lsl r1, r4, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x0 + bne _02023DB4 + mov r0, #0x0 + pop {r3-r5, pc} +_02023DB4: + ldr r0, _02023DE8 ; =0x000001A6 + cmp r4, r0 + bne _02023DBE + sub r0, #0x9e + b _02023DC0 +_02023DBE: + sub r0, #0x9d +_02023DC0: + add r0, r5, r0 + ldrb r1, [r0, #0x0] + mov r2, #0x1 + add r0, r1, #0x0 + tst r0, r2 + bne _02023DCE + mov r2, #0x0 +_02023DCE: + mov r0, #0x2 + tst r0, r1 + beq _02023DD8 + mov r0, #0x1 + b _02023DDA +_02023DD8: + mov r0, #0x0 +_02023DDA: + cmp r2, r0 + bne _02023DE2 + mov r0, #0x1 + pop {r3-r5, pc} +_02023DE2: + mov r0, #0x2 + pop {r3-r5, pc} + nop +_02023DE8: .word 0x000001A6 + + thumb_func_start sub_02023DEC +sub_02023DEC: ; 0x02023DEC + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _02023E6C ; =0x000001A6 + add r6, r1, #0x0 + add r5, r2, #0x0 + cmp r6, r0 + beq _02023E04 + add r0, r0, #0x1 + cmp r6, r0 + beq _02023E04 + bl sub_02020C2C +_02023E04: + lsl r1, r6, #0x10 + add r0, r7, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x0 + bne _02023E16 + mov r0, #0x0 + pop {r3-r7, pc} +_02023E16: + ldr r0, _02023E6C ; =0x000001A6 + cmp r6, r0 + bne _02023E20 + sub r0, #0x9e + b _02023E22 +_02023E20: + sub r0, #0x9d +_02023E22: + add r4, r7, r0 + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_02023D8C + mov r6, #0x0 + cmp r0, #0x0 + bls _02023E66 + mov r1, #0x1 +_02023E34: + add r2, r6, #0x1 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + sub r2, r2, #0x1 + lsl r2, r2, #0x10 + lsr r3, r2, #0x10 + add r7, r3, #0x0 + mov r2, #0x7 + asr r3, r3, #0x3 + and r7, r2 + add r2, r1, #0x0 + ldrb r3, [r4, r3] + lsl r2, r7 + tst r2, r3 + beq _02023E56 + add r2, r1, #0x0 + b _02023E58 +_02023E56: + mov r2, #0x0 +_02023E58: + cmp r2, r5 + bne _02023E60 + mov r0, #0x1 + pop {r3-r7, pc} +_02023E60: + add r6, r6, #0x1 + cmp r6, r0 + blo _02023E34 +_02023E66: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02023E6C: .word 0x000001A6 + + thumb_func_start sub_02023E70 +sub_02023E70: ; 0x02023E70 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, _02023F28 ; =0x000001A6 + add r5, r1, #0x0 + add r7, r2, #0x0 + cmp r5, r0 + beq _02023E88 + add r0, r0, #0x1 + cmp r5, r0 + beq _02023E88 + bl sub_02020C2C +_02023E88: + lsl r2, r7, #0x18 + add r0, r6, #0x0 + add r1, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02023DEC + cmp r0, #0x0 + bne _02023F26 + ldr r0, _02023F28 ; =0x000001A6 + cmp r5, r0 + bne _02023EA2 + sub r0, #0x9e + b _02023EA4 +_02023EA2: + sub r0, #0x9d +_02023EA4: + add r4, r6, r0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02023D8C + add r5, r0, #0x0 + cmp r5, #0x2 + bge _02023F26 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x2 + blo _02023EC6 + bl sub_02020C2C +_02023EC6: + sub r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r2, r1, #0x0 + mov r0, #0x7 + and r2, r0 + asr r1, r1, #0x3 + mov r3, #0x1 + lsl r3, r2 + ldrb r0, [r4, r1] + mvn r3, r3 + and r0, r3 + strb r0, [r4, r1] + lsl r0, r7, #0x18 + lsr r6, r0, #0x18 + add r0, r6, #0x0 + ldrb r3, [r4, r1] + lsl r0, r2 + orr r0, r3 + strb r0, [r4, r1] + cmp r5, #0x0 + bne _02023F26 + add r0, r5, #0x2 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r6, #0x2 + blo _02023F00 + bl sub_02020C2C +_02023F00: + sub r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #0x7 + add r1, r2, #0x0 + and r1, r0 + asr r0, r2, #0x3 + mov r2, #0x1 + lsl r2, r1 + ldrb r3, [r4, r0] + mvn r2, r2 + and r2, r3 + strb r2, [r4, r0] + add r2, r6, #0x0 + ldrb r3, [r4, r0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strb r1, [r4, r0] +_02023F26: + pop {r3-r7, pc} + .balign 4 +_02023F28: .word 0x000001A6 + + thumb_func_start sub_02023F2C +sub_02023F2C: ; 0x02023F2C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x67 + add r4, r1, #0x0 + lsl r0, r0, #0x2 + cmp r4, r0 + beq _02023F44 + add r0, r0, #0x1 + cmp r4, r0 + beq _02023F44 + bl sub_02020C2C +_02023F44: + lsl r1, r4, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x0 + bne _02023F56 + mov r0, #0x0 + pop {r3-r5, pc} +_02023F56: + mov r0, #0x67 + lsl r0, r0, #0x2 + cmp r4, r0 + bne _02023F62 + sub r0, #0x92 + b _02023F64 +_02023F62: + sub r0, #0x91 +_02023F64: + add r1, r5, r0 + mov r0, #0x0 + mov r3, #0x3 +_02023F6A: + lsl r2, r0, #0x10 + lsr r5, r2, #0x10 + asr r2, r5, #0x2 + ldrb r4, [r1, r2] + lsl r2, r5, #0x1e + lsr r2, r2, #0x1d + asr r4, r2 + add r2, r4, #0x0 + and r2, r3 + cmp r2, #0x3 + beq _02023F86 + add r0, r0, #0x1 + cmp r0, #0x3 + blt _02023F6A +_02023F86: + pop {r3-r5, pc} + + thumb_func_start sub_02023F88 +sub_02023F88: ; 0x02023F88 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r0, #0x67 + add r5, r1, #0x0 + lsl r0, r0, #0x2 + add r4, r2, #0x0 + cmp r5, r0 + beq _02023FA2 + add r0, r0, #0x1 + cmp r5, r0 + beq _02023FA2 + bl sub_02020C2C +_02023FA2: + lsl r1, r5, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x0 + bne _02023FB4 + mov r0, #0x0 + pop {r4-r6, pc} +_02023FB4: + mov r0, #0x67 + lsl r0, r0, #0x2 + cmp r5, r0 + bne _02023FC0 + sub r0, #0x92 + b _02023FC2 +_02023FC0: + sub r0, #0x91 +_02023FC2: + add r1, r6, r0 + mov r0, #0x0 + mov r3, #0x3 +_02023FC8: + lsl r2, r0, #0x10 + lsr r6, r2, #0x10 + asr r2, r6, #0x2 + ldrb r5, [r1, r2] + lsl r2, r6, #0x1e + lsr r2, r2, #0x1d + asr r5, r2 + add r2, r5, #0x0 + and r2, r3 + cmp r2, r4 + bne _02023FE2 + mov r0, #0x1 + pop {r4-r6, pc} +_02023FE2: + add r0, r0, #0x1 + cmp r0, #0x3 + blt _02023FC8 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02023FEC +sub_02023FEC: ; 0x02023FEC + push {r3-r7, lr} + add r6, r0, #0x0 + mov r0, #0x67 + add r5, r1, #0x0 + lsl r0, r0, #0x2 + add r7, r2, #0x0 + cmp r5, r0 + beq _02024006 + add r0, r0, #0x1 + cmp r5, r0 + beq _02024006 + bl sub_02020C2C +_02024006: + lsl r2, r7, #0x18 + add r0, r6, #0x0 + add r1, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02023F88 + cmp r0, #0x0 + bne _02024064 + mov r0, #0x67 + lsl r0, r0, #0x2 + cmp r5, r0 + bne _02024022 + sub r0, #0x92 + b _02024024 +_02024022: + sub r0, #0x91 +_02024024: + add r4, r6, r0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02023F2C + add r5, r0, #0x0 + cmp r5, #0x3 + bge _02024064 + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x4 + blo _02024040 + bl sub_02020C2C +_02024040: + lsl r0, r5, #0x10 + lsr r2, r0, #0x10 + lsl r0, r2, #0x1e + lsr r1, r0, #0x1d + asr r0, r2, #0x2 + mov r2, #0x3 + lsl r2, r1 + ldrb r3, [r4, r0] + mvn r2, r2 + and r2, r3 + strb r2, [r4, r0] + lsl r2, r7, #0x18 + lsr r2, r2, #0x18 + ldrb r3, [r4, r0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strb r1, [r4, r0] +_02024064: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02024068 +sub_02024068: ; 0x02024068 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r6, #0x4 + blo _02024078 + bl sub_02020C2C +_02024078: + cmp r4, #0xf + bls _02024080 + bl sub_02020C2C +_02024080: + cmp r6, #0x2 + bhs _0202409E + lsl r0, r6, #0x2 + add r0, #0x18 + mov r1, #0xf + lsl r1, r0 + ldr r2, [r5, #0x40] + mvn r1, r1 + and r2, r1 + add r1, r4, #0x0 + lsl r1, r0 + add r0, r2, #0x0 + orr r0, r1 + str r0, [r5, #0x40] + pop {r4-r6, pc} +_0202409E: + sub r0, r6, #0x2 + lsl r0, r0, #0x18 + add r1, r5, #0x0 + lsr r0, r0, #0x16 + add r1, #0x80 + ldr r2, [r1, #0x0] + add r0, #0x18 + mov r1, #0xf + lsl r1, r0 + mvn r1, r1 + and r2, r1 + add r1, r5, #0x0 + add r1, #0x80 + str r2, [r1, #0x0] + add r1, r5, #0x0 + add r1, #0x80 + ldr r2, [r1, #0x0] + add r1, r4, #0x0 + lsl r1, r0 + add r0, r2, #0x0 + orr r0, r1 + add r5, #0x80 + str r0, [r5, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020240D0 +sub_020240D0: ; 0x020240D0 + push {r3-r6} + mov r3, #0xf + mov r1, #0x0 + add r4, r3, #0x0 +_020240D8: + lsl r2, r1, #0x18 + lsr r6, r2, #0x18 + cmp r6, #0x2 + bhs _020240EE + lsl r2, r6, #0x2 + ldr r5, [r0, #0x40] + add r2, #0x18 + lsr r5, r2 + add r2, r5, #0x0 + and r2, r4 + b _02024102 +_020240EE: + add r2, r0, #0x0 + add r2, #0x80 + ldr r5, [r2, #0x0] + sub r2, r6, #0x2 + lsl r2, r2, #0x18 + lsr r2, r2, #0x16 + add r2, #0x18 + lsr r5, r2 + add r2, r5, #0x0 + and r2, r3 +_02024102: + cmp r2, #0xf + beq _0202410C + add r1, r1, #0x1 + cmp r1, #0x4 + blt _020240D8 +_0202410C: + add r0, r1, #0x0 + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_02024114 +sub_02024114: ; 0x02024114 + push {r4-r7} + mov r2, #0xf + mov r6, #0x0 + add r3, r2, #0x0 +_0202411C: + lsl r4, r6, #0x18 + lsr r5, r4, #0x18 + cmp r5, #0x2 + bhs _02024134 + ldr r7, [r0, #0x40] + lsl r4, r5, #0x2 + add r4, #0x18 + add r5, r7, #0x0 + lsr r5, r4 + add r4, r5, #0x0 + and r4, r3 + b _02024146 +_02024134: + add r4, r0, #0x0 + sub r5, r5, #0x2 + add r4, #0x80 + lsl r5, r5, #0x18 + lsr r5, r5, #0x16 + ldr r4, [r4, #0x0] + add r5, #0x18 + lsr r4, r5 + and r4, r2 +_02024146: + cmp r1, r4 + bne _02024150 + mov r0, #0x1 + pop {r4-r7} + bx lr +_02024150: + add r6, r6, #0x1 + cmp r6, #0x4 + blt _0202411C + mov r0, #0x0 + pop {r4-r7} + bx lr + + thumb_func_start sub_0202415C +sub_0202415C: ; 0x0202415C + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, _02024198 ; =0x00000182 + cmp r6, r0 + bne _02024196 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02024114 + cmp r0, #0x0 + bne _02024196 + add r0, r5, #0x0 + bl sub_020240D0 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + bl sub_02024068 +_02024196: + pop {r4-r6, pc} + .balign 4 +_02024198: .word 0x00000182 + + thumb_func_start sub_0202419C +sub_0202419C: ; 0x0202419C + push {r4-r6, lr} + add r5, r0, #0x0 + mov r4, #0x0 + mov r6, #0xf +_020241A4: + lsl r2, r4, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl sub_02024068 + add r4, r4, #0x1 + cmp r4, #0x4 + blt _020241A4 + pop {r4-r6, pc} + + thumb_func_start sub_020241B8 +sub_020241B8: ; 0x020241B8 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xc9 + bne _02024210 + add r0, r2, #0x0 + bl sub_020690CC + lsl r1, r0, #0x18 + lsr r3, r1, #0x18 + mov r1, #0x43 + mov r4, #0x0 + add r6, r5, #0x0 + lsl r1, r1, #0x2 +_020241D4: + ldrb r2, [r6, r1] + cmp r3, r2 + bne _020241DE + mov r1, #0x1 + b _020241E8 +_020241DE: + add r4, r4, #0x1 + add r6, r6, #0x1 + cmp r4, #0x1c + blt _020241D4 + mov r1, #0x0 +_020241E8: + cmp r1, #0x0 + bne _02024290 + mov r1, #0x43 + mov r3, #0x0 + add r4, r5, #0x0 + lsl r1, r1, #0x2 +_020241F4: + ldrb r2, [r4, r1] + cmp r2, #0xff + beq _02024202 + add r3, r3, #0x1 + add r4, r4, #0x1 + cmp r3, #0x1c + blt _020241F4 +_02024202: + cmp r3, #0x1c + bge _02024290 + mov r1, #0x43 + add r2, r5, r3 + lsl r1, r1, #0x2 + strb r0, [r2, r1] + pop {r4-r6, pc} +_02024210: + mov r6, #0x67 + lsl r6, r6, #0x2 + cmp r4, r6 + bne _0202422E + add r0, r2, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02023FEC + pop {r4-r6, pc} +_0202422E: + add r3, r6, #0x1 + cmp r4, r3 + bne _0202424A + add r0, r2, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02023FEC + pop {r4-r6, pc} +_0202424A: + add r3, r6, #0x0 + add r3, #0xa + cmp r4, r3 + bne _02024268 + add r0, r2, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02023E70 + pop {r4-r6, pc} +_02024268: + add r3, r6, #0x0 + add r3, #0xb + cmp r4, r3 + bne _02024286 + add r0, r2, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02023E70 + pop {r4-r6, pc} +_02024286: + sub r6, #0x1a + cmp r4, r6 + bne _02024290 + bl sub_0202415C +_02024290: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02024294 +sub_02024294: ; 0x02024294 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r0, r1, #0x0 + bl sub_02087A50 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02087A1C + cmp r4, #0xe + beq _020242C0 + cmp r0, #0x6 + beq _020242C0 + ldr r1, _020242C4 ; =0x00000129 + add r3, r5, r1 + ldrb r2, [r3, r4] + mov r1, #0x1 + lsl r1, r0 + add r0, r2, #0x0 + orr r0, r1 + strb r0, [r3, r4] +_020242C0: + pop {r4-r6, pc} + nop +_020242C4: .word 0x00000129 + + thumb_func_start sub_020242C8 +sub_020242C8: ; 0x020242C8 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x12 + add r4, r2, #0x0 + bl sub_02068678 + cmp r0, #0xff + bne _020242EA + cmp r4, #0x0 + bne _020242E4 + mov r0, #0x2 + pop {r4-r6, pc} +_020242E4: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_020242EA: + sub r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r1, #0x1 + mov r0, #0x7 + add r3, r2, #0x0 + and r3, r0 + add r0, r1, #0x0 + lsl r0, r3 + asr r3, r2, #0x3 + add r3, r5, r3 + add r3, #0x84 + ldrb r3, [r3, #0x0] + tst r0, r3 + bne _0202430A + mov r1, #0x0 +_0202430A: + lsl r0, r1, #0x18 + lsr r1, r0, #0x18 + cmp r4, #0x1 + bne _0202433A + add r4, r2, #0x0 + asr r2, r2, #0x3 + add r2, r5, r2 + mov r0, #0x7 + add r2, #0xc4 + mov r3, #0x1 + and r4, r0 + add r0, r3, #0x0 + ldrb r2, [r2, #0x0] + lsl r0, r4 + tst r0, r2 + bne _0202432C + mov r3, #0x0 +_0202432C: + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + cmp r0, r1 + bne _0202433C + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_0202433A: + add r0, r1, #0x0 +_0202433C: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02024340 +sub_02024340: ; 0x02024340 + push {r4-r5} + mov r3, #0x0 + ldr r5, _02024360 ; =0x020EE942 + mov r4, #0x1 + add r1, r3, #0x0 +_0202434A: + ldrh r2, [r5, #0x0] + cmp r0, r2 + bne _02024352 + add r4, r1, #0x0 +_02024352: + add r3, r3, #0x1 + add r5, r5, #0x2 + cmp r3, #0xb + blt _0202434A + add r0, r4, #0x0 + pop {r4-r5} + bx lr + .balign 4 +_02024360: .word 0x020EE942 + + thumb_func_start sub_02024364 +sub_02024364: ; 0x02024364 + ldr r1, _02024374 ; =0x000001EA + mov r2, #0x1 + cmp r0, r1 + bne _0202436E + mov r2, #0x0 +_0202436E: + add r0, r2, #0x0 + bx lr + nop +_02024374: .word 0x000001EA + + thumb_func_start sub_02024378 +sub_02024378: ; 0x02024378 + push {r4, lr} + mov r2, #0x4f + mov r1, #0x0 + lsl r2, r2, #0x2 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, _020243C0 ; =0xBEEFCAFE + mov r1, #0x0 + str r0, [r4, #0x0] + ldr r0, _020243C4 ; =0x00000139 + mov r2, #0x1c + strb r1, [r4, r0] + sub r0, #0x2d + add r0, r4, r0 + mov r1, #0xff + blx sub_020DF4A4 + mov r1, #0xff + add r0, r1, #0x0 + add r0, #0x9 + strb r1, [r4, r0] + add r0, r1, #0x0 + add r0, #0xa + strb r1, [r4, r0] + add r0, r1, #0x0 + add r0, #0xb + strb r1, [r4, r0] + add r0, r1, #0x0 + add r0, #0xc + strb r1, [r4, r0] + add r0, r4, #0x0 + bl sub_0202419C + pop {r4, pc} + nop +_020243C0: .word 0xBEEFCAFE +_020243C4: .word 0x00000139 + + thumb_func_start sub_020243C8 +sub_020243C8: ; 0x020243C8 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r1, [r6, #0x0] + ldr r0, _020243FC ; =0xBEEFCAFE + cmp r1, r0 + beq _020243D8 + bl sub_02020C2C +_020243D8: + ldr r7, _02024400 ; =0x000001ED + mov r5, #0x0 + mov r4, #0x1 +_020243DE: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_02024594 + cmp r0, #0x1 + bne _020243EE + add r5, r5, #0x1 +_020243EE: + add r4, r4, #0x1 + cmp r4, r7 + ble _020243DE + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3-r7, pc} + nop +_020243FC: .word 0xBEEFCAFE +_02024400: .word 0x000001ED + + thumb_func_start sub_02024404 +sub_02024404: ; 0x02024404 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r1, [r6, #0x0] + ldr r0, _02024438 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024414 + bl sub_02020C2C +_02024414: + ldr r7, _0202443C ; =0x000001ED + mov r5, #0x0 + mov r4, #0x1 +_0202441A: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x1 + bne _0202442A + add r5, r5, #0x1 +_0202442A: + add r4, r4, #0x1 + cmp r4, r7 + ble _0202441A + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3-r7, pc} + nop +_02024438: .word 0xBEEFCAFE +_0202443C: .word 0x000001ED + + thumb_func_start sub_02024440 +sub_02024440: ; 0x02024440 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02024CA4 + cmp r0, #0x0 + beq _02024454 + add r0, r4, #0x0 + bl sub_02024404 + pop {r4, pc} +_02024454: + add r0, r4, #0x0 + bl sub_020244A4 + pop {r4, pc} + + thumb_func_start sub_0202445C +sub_0202445C: ; 0x0202445C + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r1, [r6, #0x0] + ldr r0, _0202449C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202446C + bl sub_02020C2C +_0202446C: + ldr r7, _020244A0 ; =0x000001ED + mov r5, #0x0 + mov r4, #0x1 +_02024472: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_02024594 + cmp r0, #0x1 + bne _0202448E + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02069B40 + cmp r0, #0x0 + beq _0202448E + add r5, r5, #0x1 +_0202448E: + add r4, r4, #0x1 + cmp r4, r7 + ble _02024472 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3-r7, pc} + nop +_0202449C: .word 0xBEEFCAFE +_020244A0: .word 0x000001ED + + thumb_func_start sub_020244A4 +sub_020244A4: ; 0x020244A4 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r1, [r6, #0x0] + ldr r0, _020244E4 ; =0xBEEFCAFE + cmp r1, r0 + beq _020244B4 + bl sub_02020C2C +_020244B4: + ldr r7, _020244E8 ; =0x000001ED + mov r5, #0x0 + mov r4, #0x1 +_020244BA: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x1 + bne _020244D6 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02069B40 + cmp r0, #0x0 + beq _020244D6 + add r5, r5, #0x1 +_020244D6: + add r4, r4, #0x1 + cmp r4, r7 + ble _020244BA + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + pop {r3-r7, pc} + nop +_020244E4: .word 0xBEEFCAFE +_020244E8: .word 0x000001ED + + thumb_func_start sub_020244EC +sub_020244EC: ; 0x020244EC + push {r3, lr} + bl sub_02024518 + ldr r1, _02024500 ; =0x000001E2 + cmp r0, r1 + blo _020244FC + mov r0, #0x1 + pop {r3, pc} +_020244FC: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02024500: .word 0x000001E2 + + thumb_func_start sub_02024504 +sub_02024504: ; 0x02024504 + push {r3, lr} + bl sub_02024550 + cmp r0, #0x96 + blo _02024512 + mov r0, #0x1 + pop {r3, pc} +_02024512: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02024518 +sub_02024518: ; 0x02024518 + push {r3-r7, lr} + ldr r7, _0202454C ; =0x000001ED + add r6, r0, #0x0 + mov r5, #0x0 + mov r4, #0x1 +_02024522: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_02024594 + cmp r0, #0x1 + bne _02024542 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02024340 + cmp r0, #0x1 + bne _02024542 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02024542: + add r4, r4, #0x1 + cmp r4, r7 + ble _02024522 + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_0202454C: .word 0x000001ED + + thumb_func_start sub_02024550 +sub_02024550: ; 0x02024550 + push {r3-r7, lr} + ldr r7, _02024590 ; =0x000001ED + add r6, r0, #0x0 + mov r5, #0x0 + mov r4, #0x1 +_0202455A: + lsl r1, r4, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_020245F0 + cmp r0, #0x1 + bne _02024586 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02069B40 + cmp r0, #0x0 + beq _02024586 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02024364 + cmp r0, #0x1 + bne _02024586 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02024586: + add r4, r4, #0x1 + cmp r4, r7 + ble _0202455A + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_02024590: .word 0x000001ED + + thumb_func_start sub_02024594 +sub_02024594: ; 0x02024594 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020245E8 ; =0xBEEFCAFE + cmp r1, r0 + beq _020245A6 + bl sub_02020C2C +_020245A6: + cmp r4, #0x0 + beq _020245B0 + ldr r0, _020245EC ; =0x000001ED + cmp r4, r0 + bls _020245B8 +_020245B0: + bl sub_02020C2C + mov r0, #0x1 + b _020245BA +_020245B8: + mov r0, #0x0 +_020245BA: + cmp r0, #0x0 + beq _020245C2 + mov r0, #0x0 + pop {r3-r5, pc} +_020245C2: + sub r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #0x1 + mov r1, #0x7 + and r1, r2 + add r3, r0, #0x0 + lsl r3, r1 + asr r1, r2, #0x3 + add r2, r5, r1 + ldrb r1, [r2, #0x4] + tst r1, r3 + beq _020245E4 + add r2, #0x44 + ldrb r1, [r2, #0x0] + tst r1, r3 + bne _020245E6 +_020245E4: + mov r0, #0x0 +_020245E6: + pop {r3-r5, pc} + .balign 4 +_020245E8: .word 0xBEEFCAFE +_020245EC: .word 0x000001ED + + thumb_func_start sub_020245F0 +sub_020245F0: ; 0x020245F0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024640 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024602 + bl sub_02020C2C +_02024602: + cmp r4, #0x0 + beq _0202460C + ldr r0, _02024644 ; =0x000001ED + cmp r4, r0 + bls _02024614 +_0202460C: + bl sub_02020C2C + mov r0, #0x1 + b _02024616 +_02024614: + mov r0, #0x0 +_02024616: + cmp r0, #0x0 + beq _0202461E + mov r0, #0x0 + pop {r3-r5, pc} +_0202461E: + sub r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + mov r0, #0x1 + mov r1, #0x7 + and r1, r3 + add r2, r0, #0x0 + lsl r2, r1 + asr r1, r3, #0x3 + add r1, r5, r1 + add r1, #0x44 + ldrb r1, [r1, #0x0] + tst r1, r2 + bne _0202463C + mov r0, #0x0 +_0202463C: + pop {r3-r5, pc} + nop +_02024640: .word 0xBEEFCAFE +_02024644: .word 0x000001ED + + thumb_func_start sub_02024648 +sub_02024648: ; 0x02024648 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024670 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202465A + bl sub_02020C2C +_0202465A: + cmp r4, #0x0 + bne _02024666 + mov r0, #0x41 + lsl r0, r0, #0x2 + ldr r6, [r5, r0] + b _0202466A +_02024666: + bl sub_02020C2C +_0202466A: + add r0, r6, #0x0 + pop {r4-r6, pc} + nop +_02024670: .word 0xBEEFCAFE + + thumb_func_start sub_02024674 +sub_02024674: ; 0x02024674 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020246D4 ; =0xBEEFCAFE + add r6, r2, #0x0 + cmp r1, r0 + beq _02024688 + bl sub_02020C2C +_02024688: + cmp r4, #0x0 + beq _02024692 + ldr r0, _020246D8 ; =0x000001ED + cmp r4, r0 + bls _0202469A +_02024692: + bl sub_02020C2C + mov r0, #0x1 + b _0202469C +_0202469A: + mov r0, #0x0 +_0202469C: + cmp r0, #0x0 + beq _020246A6 + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} +_020246A6: + sub r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + add r3, r2, #0x0 + asr r2, r2, #0x3 + add r2, r5, r2 + mov r0, #0x7 + add r2, #0x44 + mov r1, #0x1 + and r3, r0 + ldrb r2, [r2, #0x0] + lsl r1, r3 + tst r1, r2 + beq _020246CE + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020242C8 + pop {r4-r6, pc} +_020246CE: + sub r0, #0x8 + pop {r4-r6, pc} + nop +_020246D4: .word 0xBEEFCAFE +_020246D8: .word 0x000001ED + + thumb_func_start sub_020246DC +sub_020246DC: ; 0x020246DC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024718 ; =0xBEEFCAFE + cmp r1, r0 + beq _020246EE + bl sub_02020C2C +_020246EE: + mov r0, #0x43 + mov r2, #0x0 + lsl r0, r0, #0x2 +_020246F4: + add r1, r5, r2 + ldrb r1, [r1, r0] + cmp r1, #0xff + beq _02024702 + add r2, r2, #0x1 + cmp r2, #0x1c + blt _020246F4 +_02024702: + cmp r2, r4 + bgt _0202470C + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0202470C: + mov r0, #0x43 + add r1, r5, r4 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + pop {r3-r5, pc} + nop +_02024718: .word 0xBEEFCAFE + + thumb_func_start sub_0202471C +sub_0202471C: ; 0x0202471C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024744 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202472C + bl sub_02020C2C +_0202472C: + mov r1, #0x43 + mov r0, #0x0 + lsl r1, r1, #0x2 +_02024732: + add r2, r4, r0 + ldrb r2, [r2, r1] + cmp r2, #0xff + beq _02024740 + add r0, r0, #0x1 + cmp r0, #0x1c + blt _02024732 +_02024740: + pop {r4, pc} + nop +_02024744: .word 0xBEEFCAFE + + thumb_func_start sub_02024748 +sub_02024748: ; 0x02024748 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _0202479C ; =0xBEEFCAFE + cmp r1, r0 + beq _0202475A + bl sub_02020C2C +_0202475A: + ldr r1, _020247A0 ; =0x000001A6 + add r0, r5, #0x0 + bl sub_02023D8C + cmp r0, r4 + bgt _0202476C + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0202476C: + cmp r4, #0x2 + blt _02024774 + bl sub_02020C2C +_02024774: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + sub r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #0x1 + mov r1, #0x7 + and r1, r2 + add r3, r0, #0x0 + lsl r3, r1 + asr r1, r2, #0x3 + add r2, r5, r1 + mov r1, #0x42 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + tst r1, r3 + bne _0202479A + mov r0, #0x0 +_0202479A: + pop {r3-r5, pc} + .balign 4 +_0202479C: .word 0xBEEFCAFE +_020247A0: .word 0x000001A6 + + thumb_func_start sub_020247A4 +sub_020247A4: ; 0x020247A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _020247C0 ; =0xBEEFCAFE + cmp r1, r0 + beq _020247B4 + bl sub_02020C2C +_020247B4: + ldr r1, _020247C4 ; =0x000001A6 + add r0, r4, #0x0 + bl sub_02023D8C + pop {r4, pc} + nop +_020247C0: .word 0xBEEFCAFE +_020247C4: .word 0x000001A6 + + thumb_func_start sub_020247C8 +sub_020247C8: ; 0x020247C8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _0202481C ; =0xBEEFCAFE + cmp r1, r0 + beq _020247DA + bl sub_02020C2C +_020247DA: + ldr r1, _02024820 ; =0x000001A7 + add r0, r5, #0x0 + bl sub_02023D8C + cmp r0, r4 + bgt _020247EC + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_020247EC: + cmp r4, #0x2 + blt _020247F4 + bl sub_02020C2C +_020247F4: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + sub r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #0x1 + mov r1, #0x7 + and r1, r2 + add r3, r0, #0x0 + lsl r3, r1 + asr r1, r2, #0x3 + add r2, r5, r1 + ldr r1, _02024824 ; =0x00000109 + ldrb r1, [r2, r1] + tst r1, r3 + bne _02024818 + mov r0, #0x0 +_02024818: + pop {r3-r5, pc} + nop +_0202481C: .word 0xBEEFCAFE +_02024820: .word 0x000001A7 +_02024824: .word 0x00000109 + + thumb_func_start sub_02024828 +sub_02024828: ; 0x02024828 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024844 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024838 + bl sub_02020C2C +_02024838: + ldr r1, _02024848 ; =0x000001A7 + add r0, r4, #0x0 + bl sub_02023D8C + pop {r4, pc} + nop +_02024844: .word 0xBEEFCAFE +_02024848: .word 0x000001A7 + + thumb_func_start sub_0202484C +sub_0202484C: ; 0x0202484C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024894 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202485E + bl sub_02020C2C +_0202485E: + mov r1, #0x67 + add r0, r5, #0x0 + lsl r1, r1, #0x2 + bl sub_02023F2C + cmp r0, r4 + bgt _02024872 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_02024872: + cmp r4, #0x3 + blt _0202487A + bl sub_02020C2C +_0202487A: + lsl r0, r4, #0x10 + lsr r2, r0, #0x10 + asr r0, r2, #0x2 + add r1, r5, r0 + ldr r0, _02024898 ; =0x0000010A + ldrb r1, [r1, r0] + lsl r0, r2, #0x1e + lsr r0, r0, #0x1d + asr r1, r0 + mov r0, #0x3 + and r0, r1 + pop {r3-r5, pc} + nop +_02024894: .word 0xBEEFCAFE +_02024898: .word 0x0000010A + + thumb_func_start sub_0202489C +sub_0202489C: ; 0x0202489C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _020248B8 ; =0xBEEFCAFE + cmp r1, r0 + beq _020248AC + bl sub_02020C2C +_020248AC: + mov r1, #0x67 + add r0, r4, #0x0 + lsl r1, r1, #0x2 + bl sub_02023F2C + pop {r4, pc} + .balign 4 +_020248B8: .word 0xBEEFCAFE + + thumb_func_start sub_020248BC +sub_020248BC: ; 0x020248BC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024900 ; =0xBEEFCAFE + cmp r1, r0 + beq _020248CE + bl sub_02020C2C +_020248CE: + ldr r1, _02024904 ; =0x0000019D + add r0, r5, #0x0 + bl sub_02023F2C + cmp r0, r4 + bgt _020248E0 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_020248E0: + cmp r4, #0x3 + blt _020248E8 + bl sub_02020C2C +_020248E8: + lsl r0, r4, #0x10 + lsr r2, r0, #0x10 + asr r0, r2, #0x2 + add r1, r5, r0 + ldr r0, _02024908 ; =0x0000010B + ldrb r1, [r1, r0] + lsl r0, r2, #0x1e + lsr r0, r0, #0x1d + asr r1, r0 + mov r0, #0x3 + and r0, r1 + pop {r3-r5, pc} + .balign 4 +_02024900: .word 0xBEEFCAFE +_02024904: .word 0x0000019D +_02024908: .word 0x0000010B + + thumb_func_start sub_0202490C +sub_0202490C: ; 0x0202490C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024928 ; =0xBEEFCAFE + cmp r1, r0 + beq _0202491C + bl sub_02020C2C +_0202491C: + ldr r1, _0202492C ; =0x0000019D + add r0, r4, #0x0 + bl sub_02023F2C + pop {r4, pc} + nop +_02024928: .word 0xBEEFCAFE +_0202492C: .word 0x0000019D + + thumb_func_start sub_02024930 +sub_02024930: ; 0x02024930 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _0202496C ; =0xBEEFCAFE + cmp r1, r0 + beq _02024942 + bl sub_02020C2C +_02024942: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x2 + bhs _02024958 + lsl r0, r0, #0x2 + ldr r1, [r5, #0x40] + add r0, #0x18 + lsr r1, r0 + mov r0, #0xf + and r0, r1 + pop {r3-r5, pc} +_02024958: + add r5, #0x80 + sub r0, r0, #0x2 + lsl r0, r0, #0x18 + ldr r1, [r5, #0x0] + lsr r0, r0, #0x16 + add r0, #0x18 + lsr r1, r0 + mov r0, #0xf + and r0, r1 + pop {r3-r5, pc} + .balign 4 +_0202496C: .word 0xBEEFCAFE + + thumb_func_start sub_02024970 +sub_02024970: ; 0x02024970 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024988 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024980 + bl sub_02020C2C +_02024980: + add r0, r4, #0x0 + bl sub_020240D0 + pop {r4, pc} + .balign 4 +_02024988: .word 0xBEEFCAFE + + thumb_func_start sub_0202498C +sub_0202498C: ; 0x0202498C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x0] + add r0, r1, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + mov r1, #0x0 + ldr r0, [sp, #0x0] + add r2, r1, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_020689E0 + add r6, r0, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02024AE4 ; =0xBEEFCAFE + cmp r1, r0 + beq _020249C4 + bl sub_02020C2C +_020249C4: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _020249D0 + ldr r1, _02024AE8 ; =0x000001ED + cmp r0, r1 + bls _020249D8 +_020249D0: + bl sub_02020C2C + mov r0, #0x1 + b _020249DA +_020249D8: + mov r0, #0x0 +_020249DA: + cmp r0, #0x0 + bne _02024ADE + ldr r0, [sp, #0x4] + mov r2, #0x1 + sub r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + mov r0, #0x7 + and r0, r4 + add r1, r2, #0x0 + lsl r1, r0 + asr r0, r4, #0x3 + add r3, r5, r0 + add r3, #0x44 + ldrb r3, [r3, #0x0] + tst r3, r1 + bne _02024A70 + ldr r1, _02024AEC ; =0x00000147 + ldr r0, [sp, #0x4] + cmp r0, r1 + bne _02024A08 + sub r1, #0x43 + str r7, [r5, r1] +_02024A08: + lsl r0, r6, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls _02024A14 + bl sub_02020C2C +_02024A14: + cmp r6, #0x2 + bne _02024A1A + mov r6, #0x0 +_02024A1A: + cmp r6, #0x2 + blo _02024A22 + bl sub_02020C2C +_02024A22: + add r2, r5, #0x0 + mov r0, #0x7 + add r3, r4, #0x0 + and r3, r0 + mov r0, #0x1 + lsl r0, r3 + add r2, #0xc4 + asr r1, r4, #0x3 + ldrb r7, [r2, r1] + mvn r0, r0 + and r0, r7 + strb r0, [r2, r1] + add r0, r6, #0x0 + ldrb r7, [r2, r1] + lsl r0, r3 + orr r0, r7 + strb r0, [r2, r1] + cmp r6, #0x2 + blo _02024A4C + bl sub_02020C2C +_02024A4C: + add r1, r5, #0x0 + mov r0, #0x7 + add r2, r4, #0x0 + and r2, r0 + mov r3, #0x1 + lsl r3, r2 + add r1, #0x84 + asr r0, r4, #0x3 + ldrb r7, [r1, r0] + mvn r3, r3 + lsl r6, r2 + and r3, r7 + strb r3, [r1, r0] + ldrb r3, [r1, r0] + add r2, r3, #0x0 + orr r2, r6 + strb r2, [r1, r0] + b _02024AC0 +_02024A70: + add r0, r5, r0 + add r0, #0x84 + ldrb r0, [r0, #0x0] + tst r0, r1 + bne _02024A7C + mov r2, #0x0 +_02024A7C: + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + beq _02024AC0 + lsl r0, r6, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + bls _02024A90 + bl sub_02020C2C +_02024A90: + cmp r6, #0x2 + bne _02024A96 + mov r6, #0x0 +_02024A96: + cmp r6, #0x2 + blo _02024A9E + bl sub_02020C2C +_02024A9E: + add r1, r5, #0x0 + mov r0, #0x7 + add r2, r4, #0x0 + and r2, r0 + mov r3, #0x1 + lsl r3, r2 + add r1, #0xc4 + asr r0, r4, #0x3 + ldrb r7, [r1, r0] + mvn r3, r3 + lsl r6, r2 + and r3, r7 + strb r3, [r1, r0] + ldrb r3, [r1, r0] + add r2, r3, #0x0 + orr r2, r6 + strb r2, [r1, r0] +_02024AC0: + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + bl sub_020241B8 + mov r1, #0x7 + add r5, #0x44 + asr r0, r4, #0x3 + ldrb r3, [r5, r0] + mov r2, #0x1 + and r1, r4 + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strb r1, [r5, r0] +_02024ADE: + add sp, #0x8 + pop {r3-r7, pc} + nop +_02024AE4: .word 0xBEEFCAFE +_02024AE8: .word 0x000001ED +_02024AEC: .word 0x00000147 + + thumb_func_start sub_02024AF0 +sub_02024AF0: ; 0x02024AF0 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r0, #0x0 + str r1, [sp, #0x0] + add r0, r1, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, [sp, #0x0] + mov r1, #0xc + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + mov r1, #0x0 + ldr r0, [sp, #0x0] + add r2, r1, #0x0 + bl sub_020671BC + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + bl sub_020689E0 + add r7, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024C78 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024B32 + bl sub_02020C2C +_02024B32: + cmp r6, #0x0 + beq _02024B3C + ldr r0, _02024C7C ; =0x000001ED + cmp r6, r0 + bls _02024B44 +_02024B3C: + bl sub_02020C2C + mov r0, #0x1 + b _02024B46 +_02024B44: + mov r0, #0x0 +_02024B46: + cmp r0, #0x0 + beq _02024B4C + b _02024C72 +_02024B4C: + sub r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + mov r0, #0x1 + mov r1, #0x7 + and r1, r5 + add r2, r0, #0x0 + asr r3, r5, #0x3 + lsl r2, r1 + add r1, r4, r3 + add r1, #0x44 + ldrb r1, [r1, #0x0] + tst r1, r2 + bne _02024BEA + ldr r1, _02024C80 ; =0x00000147 + cmp r6, r1 + bne _02024B74 + ldr r0, [sp, #0x4] + sub r1, #0x43 + str r0, [r4, r1] +_02024B74: + lsl r0, r7, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x2 + bls _02024B80 + bl sub_02020C2C +_02024B80: + cmp r7, #0x2 + bne _02024B86 + mov r7, #0x0 +_02024B86: + cmp r7, #0x2 + blo _02024B8E + bl sub_02020C2C +_02024B8E: + mov r0, #0x7 + and r0, r5 + str r0, [sp, #0x10] + add r0, r4, #0x0 + add r0, #0xc4 + asr r3, r5, #0x3 + ldrb r1, [r0, r3] + mov r2, #0x1 + str r1, [sp, #0xc] + ldr r1, [sp, #0x10] + lsl r2, r1 + ldr r1, [sp, #0xc] + mvn r2, r2 + and r1, r2 + strb r1, [r0, r3] + ldrb r1, [r0, r3] + add r2, r7, #0x0 + mov r12, r1 + ldr r1, [sp, #0x10] + lsl r2, r1 + mov r1, r12 + orr r1, r2 + strb r1, [r0, r3] + cmp r7, #0x2 + blo _02024BC4 + bl sub_02020C2C +_02024BC4: + add r1, r4, #0x0 + mov r0, #0x7 + add r2, r5, #0x0 + and r2, r0 + mov r3, #0x1 + lsl r3, r2 + add r1, #0x84 + asr r0, r5, #0x3 + ldrb r5, [r1, r0] + mvn r3, r3 + and r3, r5 + strb r3, [r1, r0] + add r5, r7, #0x0 + ldrb r3, [r1, r0] + lsl r5, r2 + add r2, r3, #0x0 + orr r2, r5 + strb r2, [r1, r0] + b _02024C3C +_02024BEA: + add r1, r4, r3 + add r1, #0x84 + ldrb r1, [r1, #0x0] + tst r1, r2 + bne _02024BF6 + mov r0, #0x0 +_02024BF6: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r7 + beq _02024C3C + lsl r0, r7, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x2 + bls _02024C0A + bl sub_02020C2C +_02024C0A: + cmp r7, #0x2 + bne _02024C10 + mov r7, #0x0 +_02024C10: + cmp r7, #0x2 + blo _02024C18 + bl sub_02020C2C +_02024C18: + add r1, r4, #0x0 + mov r0, #0x7 + add r2, r5, #0x0 + and r2, r0 + mov r3, #0x1 + lsl r3, r2 + add r1, #0xc4 + asr r0, r5, #0x3 + ldrb r5, [r1, r0] + mvn r3, r3 + and r3, r5 + strb r3, [r1, r0] + add r5, r7, #0x0 + ldrb r3, [r1, r0] + lsl r5, r2 + add r2, r3, #0x0 + orr r2, r5 + strb r2, [r1, r0] +_02024C3C: + ldr r2, [sp, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020241B8 + ldr r2, [sp, #0x8] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02024294 + sub r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r1, r4, #0x4 + asr r0, r6, #0x3 + mov r2, #0x7 + ldrb r5, [r1, r0] + mov r3, #0x1 + and r2, r6 + lsl r3, r2 + add r2, r5, #0x0 + orr r2, r3 + add r4, #0x44 + strb r2, [r1, r0] + ldrb r1, [r4, r0] + orr r1, r3 + strb r1, [r4, r0] +_02024C72: + add sp, #0x14 + pop {r4-r7, pc} + nop +_02024C78: .word 0xBEEFCAFE +_02024C7C: .word 0x000001ED +_02024C80: .word 0x00000147 + + thumb_func_start sub_02024C84 +sub_02024C84: ; 0x02024C84 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024C9C ; =0xBEEFCAFE + cmp r1, r0 + beq _02024C94 + bl sub_02020C2C +_02024C94: + ldr r0, _02024CA0 ; =0x00000139 + mov r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} + .balign 4 +_02024C9C: .word 0xBEEFCAFE +_02024CA0: .word 0x00000139 + + thumb_func_start sub_02024CA4 +sub_02024CA4: ; 0x02024CA4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024CBC ; =0xBEEFCAFE + cmp r1, r0 + beq _02024CB4 + bl sub_02020C2C +_02024CB4: + ldr r0, _02024CC0 ; =0x00000139 + ldrb r0, [r4, r0] + pop {r4, pc} + nop +_02024CBC: .word 0xBEEFCAFE +_02024CC0: .word 0x00000139 + + thumb_func_start sub_02024CC4 +sub_02024CC4: ; 0x02024CC4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024CDC ; =0xBEEFCAFE + cmp r1, r0 + beq _02024CD4 + bl sub_02020C2C +_02024CD4: + mov r0, #0x4a + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + pop {r4, pc} + .balign 4 +_02024CDC: .word 0xBEEFCAFE + + thumb_func_start sub_02024CE0 +sub_02024CE0: ; 0x02024CE0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024CFC ; =0xBEEFCAFE + cmp r1, r0 + beq _02024CF0 + bl sub_02020C2C +_02024CF0: + mov r0, #0x4a + mov r1, #0x1 + lsl r0, r0, #0x2 + strb r1, [r4, r0] + pop {r4, pc} + nop +_02024CFC: .word 0xBEEFCAFE + + thumb_func_start sub_02024D00 +sub_02024D00: ; 0x02024D00 + push {r4-r6, lr} + add r6, r2, #0x0 + add r4, r0, #0x0 + add r5, r1, #0x0 + cmp r6, #0x8 + blo _02024D10 + bl sub_02020C2C +_02024D10: + ldr r1, [r4, #0x0] + ldr r0, _02024D44 ; =0xBEEFCAFE + cmp r1, r0 + beq _02024D1C + bl sub_02020C2C +_02024D1C: + add r0, r5, #0x0 + bl sub_02087A50 + add r5, r0, #0x0 + cmp r5, #0xe + bne _02024D2C + mov r0, #0x0 + pop {r4-r6, pc} +_02024D2C: + add r0, r6, #0x0 + bl sub_02087A1C + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02024D48 ; =0x00000129 + add r1, r4, r5 + ldrb r0, [r1, r0] + and r0, r2 + pop {r4-r6, pc} + nop +_02024D44: .word 0xBEEFCAFE +_02024D48: .word 0x00000129 + + thumb_func_start sub_02024D4C +sub_02024D4C: ; 0x02024D4C + ldr r1, _02024D54 ; =0x00000137 + mov r2, #0x1 + strb r2, [r0, r1] + bx lr + .balign 4 +_02024D54: .word 0x00000137 + + thumb_func_start sub_02024D58 +sub_02024D58: ; 0x02024D58 + ldr r1, _02024D60 ; =0x00000137 + ldrb r0, [r0, r1] + bx lr + nop +_02024D60: .word 0x00000137 + + thumb_func_start sub_02024D64 +sub_02024D64: ; 0x02024D64 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024D7C ; =0xBEEFCAFE + cmp r1, r0 + beq _02024D74 + bl sub_02020C2C +_02024D74: + mov r0, #0x4e + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + pop {r4, pc} + .balign 4 +_02024D7C: .word 0xBEEFCAFE + + thumb_func_start sub_02024D80 +sub_02024D80: ; 0x02024D80 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02024D9C ; =0xBEEFCAFE + cmp r1, r0 + beq _02024D90 + bl sub_02020C2C +_02024D90: + mov r0, #0x4e + mov r1, #0x1 + lsl r0, r0, #0x2 + strb r1, [r4, r0] + pop {r4, pc} + nop +_02024D9C: .word 0xBEEFCAFE + + thumb_func_start sub_02024DA0 +sub_02024DA0: ; 0x02024DA0 + ldr r3, _02024DA8 ; =sub_02022610 + mov r1, #0x7 + bx r3 + nop +_02024DA8: .word sub_02022610 + 1 + + thumb_func_start sub_02024DAC +sub_02024DAC: ; 0x02024DAC + push {r3-r5, lr} + add r4, r2, #0x0 + ldr r2, _02024E60 ; =0x0000019D + add r5, r0, #0x0 + cmp r1, r2 + bgt _02024DD6 + sub r3, r2, #0x1 + cmp r1, r3 + blt _02024DC6 + beq _02024E24 + cmp r1, r2 + beq _02024E36 + b _02024E5A +_02024DC6: + cmp r1, #0xc9 + bgt _02024DCE + beq _02024DEE + b _02024E5A +_02024DCE: + sub r2, #0x1b + cmp r1, r2 + beq _02024E48 + b _02024E5A +_02024DD6: + add r3, r2, #0x0 + add r3, #0x9 + cmp r1, r3 + bgt _02024DE6 + add r2, #0x9 + cmp r1, r2 + beq _02024E00 + b _02024E5A +_02024DE6: + add r2, #0xa + cmp r1, r2 + beq _02024E12 + b _02024E5A +_02024DEE: + bl sub_0202471C + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020246DC + pop {r3-r5, pc} +_02024E00: + bl sub_020247A4 + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02024748 + pop {r3-r5, pc} +_02024E12: + bl sub_02024828 + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020247C8 + pop {r3-r5, pc} +_02024E24: + bl sub_0202489C + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202484C + pop {r3-r5, pc} +_02024E36: + bl sub_0202490C + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020248BC + pop {r3-r5, pc} +_02024E48: + bl sub_02024970 + cmp r4, r0 + bhs _02024E5A + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02024930 + pop {r3-r5, pc} +_02024E5A: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02024E60: .word 0x0000019D + + thumb_func_start sub_02024E64 +sub_02024E64: ; 0x02024E64 + ldr r0, _02024E68 ; =0x0000074C + bx lr + .balign 4 +_02024E68: .word 0x0000074C + + thumb_func_start sub_02024E6C +sub_02024E6C: ; 0x02024E6C + push {r4, lr} + add r4, r0, #0x0 + ldr r2, _02024EA4 ; =0x0000074C + mov r0, #0x0 + add r1, r4, #0x0 + blx sub_020CE240 + add r0, r4, #0x0 + bl sub_020250A4 + mov r0, #0x7 + lsl r0, r0, #0x8 + add r0, r4, r0 + bl sub_02025484 + ldr r1, _02024EA8 ; =0x00000724 + ldr r0, _02024EAC ; =0x0000FFFF + add r1, r4, r1 + mov r2, #0x8 + blx sub_020CE1C8 + ldr r1, _02024EB0 ; =0x00000734 + ldr r0, _02024EAC ; =0x0000FFFF + add r1, r4, r1 + mov r2, #0xb + blx sub_020CE1C8 + pop {r4, pc} + .balign 4 +_02024EA4: .word 0x0000074C +_02024EA8: .word 0x00000724 +_02024EAC: .word 0x0000FFFF +_02024EB0: .word 0x00000734 + + thumb_func_start sub_02024EB4 +sub_02024EB4: ; 0x02024EB4 + ldr r3, _02024EBC ; =sub_02022610 + mov r1, #0xa + bx r3 + nop +_02024EBC: .word sub_02022610 + 1 + + thumb_func_start sub_02024EC0 +sub_02024EC0: ; 0x02024EC0 + ldr r3, _02024EC8 ; =0x02022635 + mov r1, #0xa + bx r3 + nop +_02024EC8: .word 0x02022635 + + thumb_func_start sub_02024ECC +sub_02024ECC: ; 0x02024ECC + ldr r3, _02024ED4 ; =sub_02022610 + mov r1, #0xa + bx r3 + nop +_02024ED4: .word sub_02022610 + 1 + + thumb_func_start sub_02024ED8 +sub_02024ED8: ; 0x02024ED8 + push {r3, lr} + mov r1, #0xa + bl sub_02022610 + mov r1, #0x7 + lsl r1, r1, #0x8 + add r0, r0, r1 + pop {r3, pc} + + thumb_func_start sub_02024EE8 +sub_02024EE8: ; 0x02024EE8 + ldr r1, _02024EF0 ; =0x00000724 + add r0, r0, r1 + bx lr + nop +_02024EF0: .word 0x00000724 + + thumb_func_start sub_02024EF4 +sub_02024EF4: ; 0x02024EF4 + add r2, r0, #0x0 + add r0, r1, #0x0 + ldr r1, _02024F04 ; =0x00000724 + ldr r3, _02024F08 ; =sub_02021EF0 + add r1, r2, r1 + mov r2, #0x8 + bx r3 + nop +_02024F04: .word 0x00000724 +_02024F08: .word sub_02021EF0 + 1 + + thumb_func_start sub_02024F0C +sub_02024F0C: ; 0x02024F0C + ldr r1, _02024F14 ; =0x00000734 + add r0, r0, r1 + bx lr + nop +_02024F14: .word 0x00000734 + + thumb_func_start sub_02024F18 +sub_02024F18: ; 0x02024F18 + add r2, r0, #0x0 + add r0, r1, #0x0 + ldr r1, _02024F28 ; =0x00000734 + ldr r3, _02024F2C ; =sub_02021EF0 + add r1, r2, r1 + mov r2, #0xb + bx r3 + nop +_02024F28: .word 0x00000734 +_02024F2C: .word sub_02021EF0 + 1 + + thumb_func_start sub_02024F30 +sub_02024F30: ; 0x02024F30 + push {r4, lr} + mov r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_02024F50 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02024F44 +sub_02024F44: ; 0x02024F44 + ldr r3, _02024F4C ; =sub_020CE3E0 + mov r2, #0x2 + bx r3 + nop +_02024F4C: .word sub_020CE3E0 + + thumb_func_start sub_02024F50 +sub_02024F50: ; 0x02024F50 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x2 + blx sub_020CE34C + ldrh r1, [r4, #0x0] + mov r0, #0xf + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strh r0, [r4, #0x0] + ldrh r1, [r4, #0x0] + mov r0, #0x30 + bic r1, r0 + strh r1, [r4, #0x0] + ldrh r1, [r4, #0x0] + mov r0, #0x40 + bic r1, r0 + strh r1, [r4, #0x0] + ldrh r1, [r4, #0x0] + mov r0, #0x80 + bic r1, r0 + strh r1, [r4, #0x0] + ldrh r1, [r4, #0x0] + ldr r0, _02024F94 ; =0xFFFFFCFF + and r0, r1 + strh r0, [r4, #0x0] + ldrh r1, [r4, #0x0] + ldr r0, _02024F98 ; =0xFFFF83FF + and r0, r1 + strh r0, [r4, #0x0] + pop {r4, pc} + nop +_02024F94: .word 0xFFFFFCFF +_02024F98: .word 0xFFFF83FF + + thumb_func_start sub_02024F9C +sub_02024F9C: ; 0x02024F9C + push {r3, lr} + cmp r0, #0x0 + beq _02024FAC + bl sub_02023900 + bl sub_02025064 + add r1, r0, #0x0 +_02024FAC: + cmp r1, #0x0 + beq _02024FCA + cmp r1, #0x1 + beq _02024FBA + cmp r1, #0x2 + beq _02024FC2 + b _02024FCA +_02024FBA: + ldr r0, _02024FD4 ; =0x021C48B8 + mov r1, #0x1 + str r1, [r0, #0x34] + pop {r3, pc} +_02024FC2: + ldr r0, _02024FD4 ; =0x021C48B8 + mov r1, #0x3 + str r1, [r0, #0x34] + pop {r3, pc} +_02024FCA: + ldr r0, _02024FD4 ; =0x021C48B8 + mov r1, #0x0 + str r1, [r0, #0x34] + pop {r3, pc} + nop +_02024FD4: .word 0x021C48B8 + + thumb_func_start sub_02024FD8 +sub_02024FD8: ; 0x02024FD8 + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr + + thumb_func_start sub_02024FE0 +sub_02024FE0: ; 0x02024FE0 + ldrh r3, [r0, #0x0] + mov r2, #0xf + lsl r1, r1, #0x10 + bic r3, r2 + lsr r2, r1, #0x10 + mov r1, #0xf + and r1, r2 + orr r1, r3 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02024FF4 +sub_02024FF4: ; 0x02024FF4 + push {r3, lr} + bl sub_02024FD8 + cmp r0, #0x0 + bne _02025002 + mov r0, #0x8 + pop {r3, pc} +_02025002: + cmp r0, #0x1 + bne _0202500A + mov r0, #0x4 + pop {r3, pc} +_0202500A: + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02025010 +sub_02025010: ; 0x02025010 + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + bx lr + + thumb_func_start sub_02025018 +sub_02025018: ; 0x02025018 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1e + ldrh r3, [r0, #0x0] + mov r2, #0x30 + lsr r1, r1, #0x1a + bic r3, r2 + orr r1, r3 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0202502C +sub_0202502C: ; 0x0202502C + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_02025034 +sub_02025034: ; 0x02025034 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + ldrh r3, [r0, #0x0] + mov r2, #0x80 + lsr r1, r1, #0x18 + bic r3, r2 + orr r1, r3 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02025048 +sub_02025048: ; 0x02025048 + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_02025050 +sub_02025050: ; 0x02025050 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + ldrh r3, [r0, #0x0] + mov r2, #0x40 + lsr r1, r1, #0x19 + bic r3, r2 + orr r1, r3 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02025064 +sub_02025064: ; 0x02025064 + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1e + bx lr + + thumb_func_start sub_0202506C +sub_0202506C: ; 0x0202506C + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1e + ldrh r3, [r0, #0x0] + ldr r2, _02025080 ; =0xFFFFFCFF + lsr r1, r1, #0x16 + and r2, r3 + orr r1, r2 + strh r1, [r0, #0x0] + bx lr + .balign 4 +_02025080: .word 0xFFFFFCFF + + thumb_func_start sub_02025084 +sub_02025084: ; 0x02025084 + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x11 + lsr r0, r0, #0x1b + bx lr + + thumb_func_start sub_0202508C +sub_0202508C: ; 0x0202508C + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1b + ldrh r3, [r0, #0x0] + ldr r2, _020250A0 ; =0xFFFF83FF + lsr r1, r1, #0x11 + and r2, r3 + orr r1, r2 + strh r1, [r0, #0x0] + bx lr + .balign 4 +_020250A0: .word 0xFFFF83FF + + thumb_func_start sub_020250A4 +sub_020250A4: ; 0x020250A4 + push {r4, lr} + mov r2, #0x7 + mov r1, #0x0 + lsl r2, r2, #0x8 + add r4, r0, #0x0 + blx sub_020CE34C + mov r1, #0x0 + add r0, r1, #0x0 +_020250B6: + strb r0, [r4, #0x1] + strb r0, [r4, #0x0] + add r1, r1, #0x1 + add r4, #0xe + cmp r1, #0x80 + blt _020250B6 + pop {r4, pc} + + thumb_func_start sub_020250C4 +sub_020250C4: ; 0x020250C4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, r1, #0x0 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + bl sub_02025128 + mov r4, #0x0 + str r0, [sp, #0x8] + add r6, r4, #0x0 + b _02025112 +_020250DC: + add r0, r5, #0x0 + bl sub_02025184 + ldr r0, [sp, #0x0] + lsl r1, r6, #0x1 + add r7, r0, r1 + ldrh r0, [r0, r1] + sub r0, #0x94 + strb r0, [r5, #0x0] + mov r0, #0x5 + strb r0, [r5, #0x1] + ldrb r1, [r5, #0x0] + ldrb r2, [r5, #0xc] + ldr r0, [sp, #0x8] + bl sub_020251B0 + lsl r0, r0, #0x2 + strh r0, [r5, #0x2] + ldrh r0, [r7, #0x2] + add r6, r6, #0x2 + add r4, r4, #0x1 + strh r0, [r5, #0x8] + mov r0, #0x64 + strb r0, [r5, #0xa] + mov r0, #0x3 + strb r0, [r5, #0xb] + add r5, #0xe +_02025112: + cmp r4, #0x80 + blt _020250DC + ldr r0, [sp, #0x4] + cmp r4, r0 + blt _020250DC + ldr r0, [sp, #0x8] + bl sub_02016A18 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02025128 +sub_02025128: ; 0x02025128 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + bl sub_02085258 + str r0, [sp, #0x0] + add r0, r7, #0x0 + mov r1, #0xc0 + bl sub_02016998 + str r0, [sp, #0x4] + mov r6, #0x0 + add r5, r0, #0x0 +_02025142: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02085264 + add r4, r0, #0x0 + mov r1, #0x3 + bl sub_02085290 + strb r0, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02085290 + strb r0, [r5, #0x1] + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02085290 + strb r0, [r5, #0x2] + add r0, r4, #0x0 + bl sub_02016A18 + add r6, r6, #0x1 + add r5, r5, #0x3 + cmp r6, #0x40 + blt _02025142 + ldr r0, [sp, #0x0] + bl sub_0208526C + ldr r0, [sp, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02025184 +sub_02025184: ; 0x02025184 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strh r1, [r0, #0x2] + strh r1, [r0, #0x4] + strb r1, [r0, #0x6] + strh r1, [r0, #0x8] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + strb r1, [r0, #0xc] + strb r1, [r0, #0xd] + bx lr + + thumb_func_start sub_0202519C +sub_0202519C: ; 0x0202519C + ldrb r2, [r0, #0xb] + ldrb r0, [r0, #0x0] + sub r3, r0, #0x1 + lsl r0, r3, #0x1 + add r0, r3, r0 + add r0, r1, r0 + ldrb r0, [r0, #0x2] + mul r0, r2 + bx lr + .balign 4 + + thumb_func_start sub_020251B0 +sub_020251B0: ; 0x020251B0 + sub r3, r1, #0x1 + lsl r1, r3, #0x1 + add r1, r3, r1 + ldrb r1, [r0, r1] + mov r0, #0x3c + mul r0, r1 + cmp r2, #0x1 + bne _020251CE + lsl r1, r0, #0x1 + add r1, r0, r1 + asr r0, r1, #0x1 + lsr r0, r0, #0x1e + add r0, r1, r0 + asr r0, r0, #0x2 + bx lr +_020251CE: + cmp r2, #0x2 + bne _020251DA + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r1, r1, #0x1 + add r0, r0, r1 +_020251DA: + bx lr + + thumb_func_start sub_020251DC +sub_020251DC: ; 0x020251DC + sub r3, r1, #0x1 + lsl r1, r3, #0x1 + add r1, r3, r1 + add r0, r0, r1 + ldrb r0, [r0, #0x1] + cmp r2, #0x2 + bne _020251F2 + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r0, r1, #0x1 + bx lr +_020251F2: + cmp r2, #0x1 + bne _020251FE + lsr r1, r0, #0x1f + add r1, r0, r1 + asr r1, r1, #0x1 + add r0, r0, r1 +_020251FE: + bx lr + + thumb_func_start sub_02025200 +sub_02025200: ; 0x02025200 + ldrb r0, [r0, #0xc] + cmp r0, #0x3 + bne _0202520A + mov r0, #0x6 + bx lr +_0202520A: + mov r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02025210 +sub_02025210: ; 0x02025210 + ldrb r0, [r0, #0xc] + cmp r0, #0x4 + bne _0202521A + mov r0, #0xf + bx lr +_0202521A: + mov r0, #0xa + bx lr + .balign 4 + + thumb_func_start sub_02025220 +sub_02025220: ; 0x02025220 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02025200 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02025210 + add r1, r4, #0x3 + mul r0, r1 + add r0, r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_02025238 +sub_02025238: ; 0x02025238 + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0x1] + bx lr + .balign 4 + + thumb_func_start sub_02025244 +sub_02025244: ; 0x02025244 + mov r2, #0xe + mul r2, r1 + ldrb r0, [r0, r2] + bx lr + + thumb_func_start sub_0202524C +sub_0202524C: ; 0x0202524C + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0xa] + cmp r0, #0x0 + bne _0202525C + mov r0, #0x0 + bx lr +_0202525C: + cmp r0, #0x32 + bgt _02025264 + mov r0, #0x1 + bx lr +_02025264: + mov r0, #0x2 + bx lr + + thumb_func_start sub_02025268 +sub_02025268: ; 0x02025268 + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0xb] + bx lr + .balign 4 + + thumb_func_start sub_02025274 +sub_02025274: ; 0x02025274 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xe + mul r4, r0 + strb r3, [r5, r4] + mov r0, #0x1 + add r6, r5, r4 + strb r0, [r6, #0x1] + add r0, r2, #0x0 + ldrb r2, [r6, #0xc] + add r1, r3, #0x0 + bl sub_020251B0 + add r1, r6, #0x0 + strh r0, [r1, #0x2] + mov r0, #0x0 + strh r0, [r1, #0x4] + strb r0, [r1, #0x6] + strh r0, [r1, #0x8] + mov r0, #0x64 + strb r0, [r1, #0xa] + mov r0, #0x5 + strb r0, [r1, #0xb] + mov r0, #0x1 + strb r0, [r1, #0xd] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020252AC +sub_020252AC: ; 0x020252AC + mov r2, #0xe + mul r2, r1 + mov r3, #0x64 + add r0, r0, r2 + strb r3, [r0, #0xa] + bx lr + + thumb_func_start sub_020252B8 +sub_020252B8: ; 0x020252B8 + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0xd] + bx lr + .balign 4 + + thumb_func_start sub_020252C4 +sub_020252C4: ; 0x020252C4 + mov r3, #0xe + mul r3, r1 + add r0, r0, r3 + strb r2, [r0, #0xd] + bx lr + .balign 4 + + thumb_func_start sub_020252D0 +sub_020252D0: ; 0x020252D0 + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_020252DC +sub_020252DC: ; 0x020252DC + mov r3, #0xe + mul r3, r1 + add r0, r0, r3 + strb r2, [r0, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_020252E8 +sub_020252E8: ; 0x020252E8 + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrh r0, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_020252F4 +sub_020252F4: ; 0x020252F4 + push {r4, lr} + mov r2, #0xe + mul r2, r1 + add r0, r0, r2 + ldrh r4, [r0, #0x8] + bl sub_02025184 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02025308 +sub_02025308: ; 0x02025308 + push {r4, lr} + add r4, r0, #0x0 + ldrb r2, [r4, #0x1] + cmp r2, #0x5 + bhi _02025370 + add r3, r2, r2 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r2, r1, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + lsl r6, r5, #0 + bl sub_02020C2C + pop {r4, pc} +_02025330: + .byte 0x50, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0xFF, 0xF7, 0x31, 0xFF, 0x20, 0x81, 0x20, 0x89, 0x02, 0x28 + .byte 0x01, 0xD2, 0x02, 0x20, 0x20, 0x81, 0x60, 0x78, 0x40, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0x00, 0x21 + .byte 0x21, 0x81, 0x02, 0x21, 0x61, 0x70, 0x05, 0x21, 0xE1, 0x72, 0xA1, 0x79, 0x49, 0x1C, 0xA1, 0x71 + .byte 0xFF, 0xF7, 0x56, 0xFF, 0xA1, 0x79, 0x81, 0x42, 0x02, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0A, 0xFF +_02025370: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02025374 +sub_02025374: ; 0x02025374 + push {r3-r7, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0x1] + add r7, r2, #0x0 + cmp r0, #0x5 + beq _020253DE + add r0, r1, #0x0 + ldrb r1, [r5, #0x0] + ldrb r2, [r5, #0xc] + bl sub_020251DC + add r6, r0, #0x0 + ldrh r0, [r5, #0x4] + mov r1, #0x3c + str r0, [sp, #0x0] + add r0, r7, r0 + blx sub_020EBC80 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0x3c + add r0, r7, r0 + blx sub_020EBC80 + strh r1, [r5, #0x4] + cmp r4, #0x0 + beq _020253DE + ldrb r1, [r5, #0xa] + add r0, r6, #0x0 + mul r0, r4 + cmp r1, r0 + blt _020253BA + sub r0, r1, r0 + strb r0, [r5, #0xa] + pop {r3-r7, pc} +_020253BA: + cmp r1, #0x0 + beq _020253CE + sub r0, r6, #0x1 + add r0, r1, r0 + add r1, r6, #0x0 + blx sub_020EBC80 + sub r4, r4, r0 + mov r0, #0x0 + strb r0, [r5, #0xa] +_020253CE: + ldrb r0, [r5, #0xb] + cmp r0, r4 + ble _020253DA + sub r0, r0, r4 + strb r0, [r5, #0xb] + pop {r3-r7, pc} +_020253DA: + mov r0, #0x0 + strb r0, [r5, #0xb] +_020253DE: + pop {r3-r7, pc} + + thumb_func_start sub_020253E0 +sub_020253E0: ; 0x020253E0 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r0, [sp, #0x0] +_020253EC: + ldrb r1, [r5, #0x0] + cmp r1, #0x0 + beq _02025474 + ldrb r0, [r5, #0x1] + cmp r0, #0x0 + beq _02025474 + ldrb r0, [r5, #0xd] + cmp r0, #0x0 + beq _02025474 + ldrb r2, [r5, #0xc] + add r0, r6, #0x0 + bl sub_020251B0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02025220 + mul r0, r4 + cmp r7, r0 + blt _0202541C + add r0, r5, #0x0 + bl sub_02025184 + b _02025474 +_0202541C: + add r4, r7, #0x0 + b _0202546A +_02025420: + ldrh r2, [r5, #0x2] + cmp r2, r4 + ble _02025438 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02025374 + ldrh r0, [r5, #0x2] + sub r0, r0, r4 + strh r0, [r5, #0x2] + b _02025474 +_02025438: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02025374 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02025308 + ldrh r0, [r5, #0x2] + ldrb r1, [r5, #0x0] + ldrb r2, [r5, #0xc] + sub r4, r4, r0 + add r0, r6, #0x0 + bl sub_020251B0 + strh r0, [r5, #0x2] + ldrb r0, [r5, #0x1] + cmp r0, #0x5 + bne _0202546A + add r0, r5, #0x0 + bl sub_02025200 + ldrh r1, [r5, #0x2] + mul r0, r1 + strh r0, [r5, #0x2] +_0202546A: + ldrb r0, [r5, #0x1] + cmp r0, #0x0 + beq _02025474 + cmp r4, #0x0 + bne _02025420 +_02025474: + ldr r0, [sp, #0x0] + add r5, #0xe + add r0, r0, #0x1 + str r0, [sp, #0x0] + cmp r0, #0x80 + blt _020253EC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02025484 +sub_02025484: ; 0x02025484 + ldr r3, _0202548C ; =sub_020CE34C + mov r1, #0x0 + mov r2, #0x24 + bx r3 + .balign 4 +_0202548C: .word sub_020CE34C + + thumb_func_start sub_02025490 +sub_02025490: ; 0x02025490 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02025484 + str r4, [r5, #0x0] + add r0, r5, #0x4 + pop {r3-r5, pc} + + thumb_func_start sub_020254A0 +sub_020254A0: ; 0x020254A0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, r1 + beq _020254AE + bl sub_02020C2C +_020254AE: + add r0, r4, #0x4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020254B4 +sub_020254B4: ; 0x020254B4 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_020254B8 +sub_020254B8: ; 0x020254B8 + mov r0, #0x22 + lsl r0, r0, #0x6 + bx lr + .balign 4 + + thumb_func_start sub_020254C0 +sub_020254C0: ; 0x020254C0 + ldr r3, _020254C8 ; =sub_02022610 + mov r1, #0x9 + bx r3 + nop +_020254C8: .word sub_02022610 + 1 + + thumb_func_start sub_020254CC +sub_020254CC: ; 0x020254CC + push {r3-r7, lr} + mov r4, #0x0 + ldr r6, _020254EC ; =0x0000FFFF + add r5, r0, #0x0 + add r7, r4, #0x0 +_020254D6: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x88 + blx sub_020DF4A4 + strh r6, [r5, #0x0] + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x10 + blt _020254D6 + pop {r3-r7, pc} + .balign 4 +_020254EC: .word 0x0000FFFF + + thumb_func_start sub_020254F0 +sub_020254F0: ; 0x020254F0 + mov r2, #0x88 + mul r2, r1 + add r0, r0, r2 + bx lr + + thumb_func_start sub_020254F8 +sub_020254F8: ; 0x020254F8 + add r0, r0, r1 + add r0, #0x68 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02025500 +sub_02025500: ; 0x02025500 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020022A4 + cmp r0, #0x0 + bne _0202551A + ldr r1, [r5, #0x10] + ldr r0, [r4, #0x10] + cmp r1, r0 + bne _0202551A + mov r0, #0x1 + pop {r3-r5, pc} +_0202551A: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02025520 +sub_02025520: ; 0x02025520 + push {r4-r7, lr} + sub sp, #0x2c + str r1, [sp, #0x4] + mov r1, #0x22 + str r0, [sp, #0x0] + add r0, r3, #0x0 + lsl r1, r1, #0x6 + str r2, [sp, #0x8] + bl sub_02016998 + str r0, [sp, #0x10] + bl sub_020254CC + mov r0, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x8] + cmp r0, #0x0 + ble _02025578 + ldr r7, [sp, #0x4] + add r6, sp, #0x18 +_02025548: + mov r0, #0x0 + mvn r0, r0 + ldr r5, [sp, #0x0] + str r0, [r6, #0x0] + mov r4, #0x0 +_02025552: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02025500 + cmp r0, #0x0 + beq _02025560 + str r4, [r6, #0x0] +_02025560: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x10 + blt _02025552 + ldr r0, [sp, #0x14] + add r6, r6, #0x4 + add r1, r0, #0x1 + ldr r0, [sp, #0x8] + add r7, #0x88 + str r1, [sp, #0x14] + cmp r1, r0 + blt _02025548 +_02025578: + ldr r0, [sp, #0x8] + mov r4, #0x0 + str r4, [sp, #0xc] + cmp r0, #0x0 + ble _020255BE + ldr r5, [sp, #0x10] + add r6, sp, #0x18 +_02025586: + ldr r3, [sp, #0x4] + add r7, r5, #0x0 + mov r2, #0x11 +_0202558C: + ldmia r3!, {r0-r1} + stmia r7!, {r0-r1} + sub r2, r2, #0x1 + bne _0202558C + ldr r1, [r6, #0x0] + cmp r1, #0x0 + blt _020255A6 + add r2, r1, #0x0 + mov r0, #0x88 + mul r2, r0 + ldr r1, _02025610 ; =0x0000FFFF + ldr r0, [sp, #0x0] + strh r1, [r0, r2] +_020255A6: + ldr r0, [sp, #0x4] + add r5, #0x88 + add r0, #0x88 + str r0, [sp, #0x4] + ldr r0, [sp, #0xc] + add r4, r4, #0x1 + add r1, r0, #0x1 + ldr r0, [sp, #0x8] + add r6, r6, #0x4 + str r1, [sp, #0xc] + cmp r1, r0 + blt _02025586 +_020255BE: + mov r0, #0x0 + mov r12, r0 + mov r0, #0x88 + add r1, r4, #0x0 + mul r1, r0 + ldr r0, [sp, #0x10] + ldr r3, [sp, #0x0] + add r5, r0, r1 +_020255CE: + ldrh r1, [r3, #0x0] + ldr r0, _02025610 ; =0x0000FFFF + cmp r1, r0 + beq _020255EC + add r6, r3, #0x0 + add r7, r5, #0x0 + mov r2, #0x11 +_020255DC: + ldmia r6!, {r0-r1} + stmia r7!, {r0-r1} + sub r2, r2, #0x1 + bne _020255DC + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x10 + bge _020255F8 +_020255EC: + mov r0, r12 + add r0, r0, #0x1 + add r3, #0x88 + mov r12, r0 + cmp r0, #0x10 + blt _020255CE +_020255F8: + mov r2, #0x22 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x10] + lsl r2, r2, #0x6 + blx sub_020DF438 + ldr r0, [sp, #0x10] + bl sub_02016A18 + add sp, #0x2c + pop {r4-r7, pc} + nop +_02025610: .word 0x0000FFFF + + thumb_func_start sub_02025614 +sub_02025614: ; 0x02025614 + push {r3-r6} + mov r3, #0x0 + add r4, r0, #0x0 +_0202561A: + ldr r2, [r4, #0x10] + cmp r1, r2 + bne _02025626 + mov r0, #0x1 + pop {r3-r6} + bx lr +_02025626: + add r3, r3, #0x1 + add r4, #0x88 + cmp r3, #0x10 + blt _0202561A + mov r6, #0x0 + add r3, r6, #0x0 +_02025632: + add r4, r3, #0x0 + add r5, r0, #0x0 +_02025636: + ldr r2, [r5, #0x18] + cmp r1, r2 + bne _02025642 + add r0, r6, #0x2 + pop {r3-r6} + bx lr +_02025642: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x10 + blt _02025636 + add r6, r6, #0x1 + add r0, #0x88 + cmp r6, #0x10 + blt _02025632 + mov r0, #0x0 + pop {r3-r6} + bx lr + + thumb_func_start sub_02025658 +sub_02025658: ; 0x02025658 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + strb r0, [r4, #0x4] + ldr r0, _020256A0 ; =0x020ECAC4 + mov r1, #0x8 + ldrb r0, [r0, #0x0] + strb r0, [r4, #0x5] + ldr r0, _020256A4 ; =0x020ECAC0 + ldrb r0, [r0, #0x0] + strb r0, [r4, #0x6] + mov r0, #0xff + strb r0, [r4, #0x7] + add r0, r4, #0x0 + add r0, #0x8 + bl sub_0200232C + ldr r0, _020256A8 ; =0x0000FFFF + mov r1, #0x0 + add r2, r4, #0x0 +_02025682: + add r1, r1, #0x1 + strh r0, [r2, #0x18] + add r2, r2, #0x2 + cmp r1, #0x3 + blt _02025682 + mov r5, #0x0 + add r4, #0x20 +_02025690: + add r0, r4, #0x0 + bl sub_02013724 + add r5, r5, #0x1 + add r4, #0x8 + cmp r5, #0x3 + blt _02025690 + pop {r3-r5, pc} + .balign 4 +_020256A0: .word 0x020ECAC4 +_020256A4: .word 0x020ECAC0 +_020256A8: .word 0x0000FFFF + + thumb_func_start sub_020256AC +sub_020256AC: ; 0x020256AC + ldrb r0, [r0, #0x7] + cmp r0, #0xb + bhi _020256B6 + mov r0, #0x1 + bx lr +_020256B6: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_020256BC +sub_020256BC: ; 0x020256BC + push {r4, lr} + mov r1, #0x38 + bl sub_020169D8 + add r4, r0, #0x0 + bl sub_02025658 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020256D0 +sub_020256D0: ; 0x020256D0 + ldr r3, _020256D8 ; =sub_020CE3E0 + mov r2, #0x38 + bx r3 + nop +_020256D8: .word sub_020CE3E0 + + thumb_func_start sub_020256DC +sub_020256DC: ; 0x020256DC + push {r4-r7, lr} + sub sp, #0x14 + add r7, r3, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + bl sub_02025658 + add r0, r7, #0x0 + strb r6, [r5, #0x7] + bl sub_0206BB1C + str r0, [sp, #0x0] + add r0, r7, #0x0 + bl sub_020238F4 + add r6, r0, #0x0 + bl sub_0202398C + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x8 + bl sub_02002248 + add r0, r6, #0x0 + bl sub_020239CC + strb r0, [r5, #0x4] + add r0, r6, #0x0 + bl sub_020239BC + str r0, [r5, #0x0] + ldr r0, [sp, #0x0] + mov r6, #0x0 + bl sub_0206B9AC + cmp r4, r0 + bge _020257AE + add r5, #0x18 +_0202572A: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r7, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + add r0, r7, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + add r0, r7, #0x0 + bl sub_0206B6C8 + str r0, [sp, #0x10] + ldr r0, [sp, #0x4] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x8] + bl sub_0206B7BC + lsl r3, r6, #0x1 + ldrh r1, [r5, r3] + add r7, r0, #0x0 + ldr r0, _020257B4 ; =0xFFFFF000 + add r2, r1, #0x0 + and r2, r0 + ldr r0, [sp, #0x10] + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, _020257B8 ; =0x00000FFF + and r0, r1 + orr r0, r2 + strh r0, [r5, r3] + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldrh r1, [r5, r3] + ldr r0, _020257BC ; =0xFFFF0FFF + and r0, r1 + lsl r1, r7, #0x1c + lsr r1, r1, #0x10 + orr r0, r1 + strh r0, [r5, r3] + cmp r6, #0x3 + bhs _020257AE + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x0] + bl sub_0206B9AC + cmp r4, r0 + blt _0202572A +_020257AE: + add sp, #0x14 + pop {r4-r7, pc} + nop +_020257B4: .word 0xFFFFF000 +_020257B8: .word 0x00000FFF +_020257BC: .word 0xFFFF0FFF + + thumb_func_start sub_020257C0 +sub_020257C0: ; 0x020257C0 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_020257C4 +sub_020257C4: ; 0x020257C4 + add r0, #0x8 + bx lr + + thumb_func_start sub_020257C8 +sub_020257C8: ; 0x020257C8 + ldrb r0, [r0, #0x4] + bx lr + + thumb_func_start sub_020257CC +sub_020257CC: ; 0x020257CC + ldrb r0, [r0, #0x7] + bx lr + + thumb_func_start sub_020257D0 +sub_020257D0: ; 0x020257D0 + cmp r1, #0xc + bhs _020257D6 + strb r1, [r0, #0x7] +_020257D6: + bx lr + + thumb_func_start sub_020257D8 +sub_020257D8: ; 0x020257D8 + ldrb r0, [r0, #0x5] + bx lr + + thumb_func_start sub_020257DC +sub_020257DC: ; 0x020257DC + ldrb r0, [r0, #0x6] + bx lr + + thumb_func_start sub_020257E0 +sub_020257E0: ; 0x020257E0 + cmp r1, #0x3 + bhs _02025810 + cmp r2, #0x0 + beq _020257F0 + cmp r2, #0x1 + beq _020257FC + cmp r2, #0x2 + b _02025808 +_020257F0: + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, #0x18] + lsl r0, r0, #0x14 + lsr r0, r0, #0x14 + bx lr +_020257FC: + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, #0x18] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1c + bx lr +_02025808: + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, #0x18] + bx lr +_02025810: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02025814 +sub_02025814: ; 0x02025814 + cmp r1, #0x3 + bhs _02025820 + add r0, #0x20 + lsl r1, r1, #0x3 + add r0, r0, r1 + bx lr +_02025820: + add r0, #0x20 + bx lr + + thumb_func_start sub_02025824 +sub_02025824: ; 0x02025824 + push {r3, lr} + cmp r2, #0x3 + bhs _02025834 + add r0, #0x20 + lsl r2, r2, #0x3 + add r0, r0, r2 + bl sub_02013960 +_02025834: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02025838 +sub_02025838: ; 0x02025838 + ldr r3, _02025840 ; =sub_02022610 + mov r1, #0xf + bx r3 + nop +_02025840: .word sub_02022610 + 1 + + thumb_func_start sub_02025844 +sub_02025844: ; 0x02025844 + mov r0, #0x46 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_0202584C +sub_0202584C: ; 0x0202584C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_02025852: + add r0, r5, #0x0 + bl sub_02025658 + add r4, r4, #0x1 + add r5, #0x38 + cmp r4, #0x14 + blt _02025852 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02025864 +sub_02025864: ; 0x02025864 + push {r3, lr} + cmp r1, #0x0 + bne _02025872 + mov r1, #0x14 + bl sub_020258F0 + pop {r3, pc} +_02025872: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + + thumb_func_start sub_02025878 +sub_02025878: ; 0x02025878 + push {r3, lr} + bl sub_02025940 + cmp r0, #0x0 + beq _02025886 + bl sub_02025658 +_02025886: + pop {r3, pc} + + thumb_func_start sub_02025888 +sub_02025888: ; 0x02025888 + push {r4, lr} + add r4, r3, #0x0 + bl sub_02025940 + add r1, r0, #0x0 + beq _0202589A + add r0, r4, #0x0 + bl sub_020256D0 +_0202589A: + pop {r4, pc} + + thumb_func_start sub_0202589C +sub_0202589C: ; 0x0202589C + push {r3, lr} + cmp r1, #0x0 + bne _020258AA + mov r1, #0x14 + bl sub_02025918 + pop {r3, pc} +_020258AA: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020258B0 +sub_020258B0: ; 0x020258B0 + push {r3-r5, lr} + add r5, r3, #0x0 + bl sub_02025940 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020256BC + add r5, r0, #0x0 + cmp r4, #0x0 + beq _020258CE + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020256D0 +_020258CE: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020258D4 +sub_020258D4: ; 0x020258D4 + push {r4, lr} + add r4, r3, #0x0 + bl sub_02025940 + cmp r0, #0x0 + bne _020258E8 + add r0, r4, #0x0 + bl sub_02025658 + pop {r4, pc} +_020258E8: + add r1, r4, #0x0 + bl sub_020256D0 + pop {r4, pc} + + thumb_func_start sub_020258F0 +sub_020258F0: ; 0x020258F0 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + mov r4, #0x0 + cmp r6, #0x0 + ble _02025912 +_020258FC: + add r0, r5, #0x0 + bl sub_020256AC + cmp r0, #0x0 + bne _0202590A + add r0, r4, #0x0 + pop {r4-r6, pc} +_0202590A: + add r4, r4, #0x1 + add r5, #0x38 + cmp r4, r6 + blt _020258FC +_02025912: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r6, pc} + + thumb_func_start sub_02025918 +sub_02025918: ; 0x02025918 + push {r3-r7, lr} + mov r4, #0x0 + add r7, r1, #0x0 + add r5, r0, #0x0 + add r6, r4, #0x0 + cmp r7, #0x0 + ble _0202593A +_02025926: + add r0, r5, #0x0 + bl sub_020256AC + cmp r0, #0x0 + beq _02025932 + add r4, r4, #0x1 +_02025932: + add r6, r6, #0x1 + add r5, #0x38 + cmp r6, r7 + blt _02025926 +_0202593A: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02025940 +sub_02025940: ; 0x02025940 + mov r3, #0x0 + cmp r1, #0x0 + bne _02025950 + cmp r2, #0x14 + bge _02025950 + mov r1, #0x38 + mul r1, r2 + add r3, r0, r1 +_02025950: + add r0, r3, #0x0 + bx lr + + thumb_func_start sub_02025954 +sub_02025954: ; 0x02025954 + ldr r0, _02025958 ; =0x000009B4 + bx lr + .balign 4 +_02025958: .word 0x000009B4 + + thumb_func_start sub_0202595C +sub_0202595C: ; 0x0202595C + mov r0, #0x94 + bx lr + + thumb_func_start sub_02025960 +sub_02025960: ; 0x02025960 + mov r0, #0x3c + bx lr + + thumb_func_start sub_02025964 +sub_02025964: ; 0x02025964 + push {r4, lr} + mov r1, #0x3c + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x3c + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202597C +sub_0202597C: ; 0x0202597C + push {r4-r7, lr} + sub sp, #0x1c + add r4, r0, #0x0 + add r0, sp, #0xc + add r1, sp, #0x0 + bl sub_0201265C + ldr r0, _020259D8 ; =0x021C48B8 + ldr r6, [sp, #0xc] + ldr r1, [sp, #0x8] + ldr r0, [r0, #0x2c] + lsl r6, r6, #0x5 + add r5, r1, r0 + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + add r0, r0, r6 + lsl r0, r0, #0x5 + add r0, r1, r0 + mov r7, #0x0 + ldr r2, [sp, #0x0] + lsl r0, r0, #0x5 + add r0, r2, r0 + ldr r3, [sp, #0x4] + lsl r0, r0, #0x5 + add r0, r3, r0 + lsl r0, r0, #0x5 + add r5, r5, r0 + ldr r2, _020259DC ; =0x000009B4 + add r0, r4, #0x0 + add r1, r7, #0x0 + blx sub_020CE34C + add r0, r4, #0x0 + add r0, #0x94 + mov r1, #0x9b + str r5, [r0, #0x0] + lsl r1, r1, #0x4 + ldrb r2, [r4, r1] + mov r0, #0xf + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r4, r1] + add sp, #0x1c + pop {r4-r7, pc} + nop +_020259D8: .word 0x021C48B8 +_020259DC: .word 0x000009B4 + + thumb_func_start sub_020259E0 +sub_020259E0: ; 0x020259E0 + mov r1, #0x9 + mov r3, #0x0 + lsl r1, r1, #0x8 +_020259E6: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + bne _020259F2 + add r0, r3, #0x0 + bx lr +_020259F2: + add r3, r3, #0x1 + cmp r3, #0x28 + blt _020259E6 + mov r0, #0x0 + mvn r0, r0 + bx lr + .balign 4 + + thumb_func_start sub_02025A00 +sub_02025A00: ; 0x02025A00 + mov r1, #0x95 + mov r3, #0x0 + lsl r1, r1, #0x4 +_02025A06: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + bne _02025A12 + add r0, r3, #0x0 + bx lr +_02025A12: + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02025A06 + mov r0, #0x0 + mvn r0, r0 + bx lr + .balign 4 + + thumb_func_start sub_02025A20 +sub_02025A20: ; 0x02025A20 + ldr r1, _02025A3C ; =0x00000928 + mov r3, #0x0 +_02025A24: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + bne _02025A30 + add r0, r3, #0x0 + bx lr +_02025A30: + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02025A24 + mov r0, #0x0 + mvn r0, r0 + bx lr + .balign 4 +_02025A3C: .word 0x00000928 + + thumb_func_start sub_02025A40 +sub_02025A40: ; 0x02025A40 + ldr r1, _02025A5C ; =0x000008D8 + mov r3, #0x0 +_02025A44: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + bne _02025A50 + add r0, r3, #0x0 + bx lr +_02025A50: + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02025A44 + mov r0, #0x0 + mvn r0, r0 + bx lr + .balign 4 +_02025A5C: .word 0x000008D8 + + thumb_func_start sub_02025A60 +sub_02025A60: ; 0x02025A60 + push {r4-r7, lr} + sub sp, #0x14 + str r1, [sp, #0x0] + bl sub_02026CC4 + ldr r1, _02025B50 ; =0x020EE958 + add r6, r0, #0x0 + ldrb r2, [r1, #0x0] + add r0, sp, #0x8 + strb r2, [r0, #0x6] + ldrb r2, [r1, #0x1] + strb r2, [r0, #0x7] + ldrb r2, [r1, #0x2] + strb r2, [r0, #0x8] + ldrb r2, [r1, #0x3] + strb r2, [r0, #0x9] + ldrb r2, [r1, #0x4] + strb r2, [r0, #0xa] + ldrb r2, [r1, #0x5] + strb r2, [r0, #0xb] + ldrb r2, [r1, #0x6] + strb r2, [r0, #0x0] + ldrb r2, [r1, #0x7] + strb r2, [r0, #0x1] + ldrb r2, [r1, #0x8] + strb r2, [r0, #0x2] + ldrb r2, [r1, #0x9] + strb r2, [r0, #0x3] + ldrb r2, [r1, #0xa] + strb r2, [r0, #0x4] + ldrb r1, [r1, #0xb] + strb r1, [r0, #0x5] + ldr r0, [sp, #0x0] + cmp r0, #0x0 + ble _02025B4C + str r0, [sp, #0x4] + cmp r0, #0x63 + ble _02025AB0 + mov r0, #0x63 + str r0, [sp, #0x4] +_02025AB0: + add r0, r6, #0x0 + add r0, #0x94 + ldr r3, [r0, #0x0] + mov r0, #0x0 + mov r12, r0 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _02025B28 + add r7, sp, #0xc + add r7, #0x2 +_02025AC4: + mov r2, #0x0 +_02025AC6: + ldr r0, _02025B54 ; =0x0000055C + add r4, r6, r2 + ldrb r5, [r4, r0] + cmp r5, #0x0 + beq _02025B16 + ldr r0, _02025B58 ; =0x5D588B65 + ldrb r1, [r7, r5] + mul r0, r3 + ldr r3, _02025B5C ; =0x00269EC3 + add r3, r0, r3 + cmp r1, #0x0 + bne _02025AE2 + lsr r0, r3, #0x10 + b _02025AE8 +_02025AE2: + lsr r0, r3, #0x10 + mul r1, r0 + lsr r0, r1, #0x10 +_02025AE8: + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + add r0, sp, #0x8 + ldrb r0, [r0, r5] + add r0, r0, r1 + mov r1, #0x17 + lsl r1, r1, #0x6 + ldrb r1, [r4, r1] + add r1, r0, r1 + cmp r1, #0x63 + bge _02025B0E + mov r1, #0x17 + lsl r1, r1, #0x6 + ldrb r1, [r4, r1] + add r1, r1, r0 + mov r0, #0x17 + lsl r0, r0, #0x6 + strb r1, [r4, r0] + b _02025B16 +_02025B0E: + mov r0, #0x17 + mov r1, #0x63 + lsl r0, r0, #0x6 + strb r1, [r4, r0] +_02025B16: + add r2, r2, #0x1 + cmp r2, #0x64 + blt _02025AC6 + mov r0, r12 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + mov r12, r1 + cmp r1, r0 + blt _02025AC4 +_02025B28: + add r0, r6, #0x0 + add r0, #0x94 + ldr r1, [r0, #0x0] + ldr r0, [sp, #0x0] + add r0, r1, r0 + bl sub_0201BA10 + add r1, r6, #0x0 + add r1, #0x94 + str r0, [r1, #0x0] + mov r1, #0x9b + lsl r1, r1, #0x4 + ldrb r2, [r6, r1] + mov r0, #0xf + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r6, r1] +_02025B4C: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02025B50: .word 0x020EE958 +_02025B54: .word 0x0000055C +_02025B58: .word 0x5D588B65 +_02025B5C: .word 0x00269EC3 + + thumb_func_start sub_02025B60 +sub_02025B60: ; 0x02025B60 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r2, #0x0 + bl sub_02026CC4 + cmp r4, #0x0 + blt _02025B90 + cmp r5, #0x0 + bne _02025B90 + add r1, r0, #0x0 + add r1, #0x98 + ldr r1, [r1, #0x0] + cmp r1, r4 + bge _02025B84 + mov r1, #0x0 + add r0, #0x98 + str r1, [r0, #0x0] + pop {r3-r5, pc} +_02025B84: + add r1, r0, #0x0 + add r1, #0x98 + ldr r1, [r1, #0x0] + add r0, #0x98 + sub r1, r1, r4 + str r1, [r0, #0x0] +_02025B90: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02025B94 +sub_02025B94: ; 0x02025B94 + push {r3, lr} + bl sub_02026CC4 + add r1, r0, #0x0 + add r1, #0x98 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _02025BB6 + add r1, r0, #0x0 + add r1, #0x9c + ldrb r1, [r1, #0x0] + cmp r1, #0x2 + bne _02025BB6 + add r1, r0, #0x0 + mov r2, #0x0 + add r1, #0x9c + strb r2, [r1, #0x0] +_02025BB6: + add r1, r0, #0x0 + add r1, #0x98 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _02025BD4 + add r1, r0, #0x0 + add r1, #0x9c + ldrb r1, [r1, #0x0] + cmp r1, #0x1 + bne _02025BD4 + mov r2, #0x5a + add r1, r0, #0x0 + lsl r2, r2, #0x4 + add r1, #0x98 + str r2, [r1, #0x0] +_02025BD4: + add r1, r0, #0x0 + add r1, #0x9c + ldrb r1, [r1, #0x0] + cmp r1, #0x1 + bne _02025BE4 + mov r1, #0x2 + add r0, #0x9c + strb r1, [r0, #0x0] +_02025BE4: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02025BE8 +sub_02025BE8: ; 0x02025BE8 + push {r3, lr} + bl sub_02026CC4 + add r1, r0, #0x0 + add r1, #0x9c + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02025BFE + mov r1, #0x1 + add r0, #0x9c + strb r1, [r0, #0x0] +_02025BFE: + pop {r3, pc} + + thumb_func_start sub_02025C00 +sub_02025C00: ; 0x02025C00 + push {r3, lr} + bl sub_02026CC4 + add r1, r0, #0x0 + add r1, #0x9c + ldrb r1, [r1, #0x0] + cmp r1, #0x1 + bne _02025C16 + mov r1, #0x0 + add r0, #0x9c + strb r1, [r0, #0x0] +_02025C16: + pop {r3, pc} + + thumb_func_start sub_02025C18 +sub_02025C18: ; 0x02025C18 + push {r3, lr} + bl sub_02026CC4 + add r0, #0x9c + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _02025C2A + mov r0, #0x1 + pop {r3, pc} +_02025C2A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02025C30 +sub_02025C30: ; 0x02025C30 + mov r1, #0x1 + add r0, #0x9d + strb r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02025C38 +sub_02025C38: ; 0x02025C38 + add r0, #0x9d + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02025C40 +sub_02025C40: ; 0x02025C40 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _02025CD0 ; =0x0000010E + add r6, r1, #0x0 + ldrb r0, [r7, r0] + mov r4, #0x0 + add r5, r7, #0x0 + str r0, [sp, #0x0] +_02025C50: + add r0, r6, #0x0 + bl sub_020239BC + add r1, r5, #0x0 + add r1, #0xa0 + ldr r1, [r1, #0x0] + cmp r1, r0 + beq _02025CCC + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x5 + blt _02025C50 + ldr r0, [sp, #0x0] + cmp r0, #0x5 + blt _02025C72 + bl sub_02020C2C +_02025C72: + add r0, r6, #0x0 + bl sub_0202398C + ldr r1, [sp, #0x0] + add r2, r7, #0x0 + add r2, #0xb4 + lsl r1, r1, #0x4 + add r1, r2, r1 + mov r2, #0x10 + blx sub_020CE3E0 + add r0, r6, #0x0 + bl sub_020239BC + ldr r1, [sp, #0x0] + lsl r1, r1, #0x2 + add r1, r7, r1 + add r1, #0xa0 + str r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_02023A70 + ldr r1, [sp, #0x0] + add r2, r7, r1 + mov r1, #0x41 + lsl r1, r1, #0x2 + strb r0, [r2, r1] + add r0, r6, #0x0 + bl sub_02023A68 + ldr r1, [sp, #0x0] + add r2, r7, r1 + ldr r1, _02025CD4 ; =0x00000109 + strb r0, [r2, r1] + add r0, r1, #0x5 + ldrb r0, [r7, r0] + add r2, r0, #0x1 + add r0, r1, #0x5 + strb r2, [r7, r0] + ldrb r0, [r7, r0] + cmp r0, #0x5 + blo _02025CCC + mov r2, #0x0 + add r0, r1, #0x5 + strb r2, [r7, r0] +_02025CCC: + pop {r3-r7, pc} + nop +_02025CD0: .word 0x0000010E +_02025CD4: .word 0x00000109 + + thumb_func_start sub_02025CD8 +sub_02025CD8: ; 0x02025CD8 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02025D38 ; =0x0000010E + ldrb r0, [r5, r0] + sub r0, r0, r2 + sub r4, r0, #0x1 + bpl _02025CE8 + add r4, r4, #0x5 +_02025CE8: + add r7, r5, #0x0 + lsl r0, r4, #0x4 + add r7, #0xb4 + str r0, [sp, #0x0] + ldrh r0, [r7, r0] + cmp r0, #0x0 + beq _02025D32 + add r0, r1, #0x0 + bl sub_02023928 + ldr r1, [sp, #0x0] + add r6, r0, #0x0 + add r1, r7, r1 + bl sub_0202395C + ldr r1, _02025D3C ; =0x00000109 + add r2, r5, r4 + ldrb r1, [r2, r1] + add r0, r6, #0x0 + bl sub_02023A6C + mov r1, #0x41 + add r2, r5, r4 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + add r0, r6, #0x0 + bl sub_02023A74 + lsl r1, r4, #0x2 + add r1, r5, r1 + add r1, #0xa0 + ldr r1, [r1, #0x0] + add r0, r6, #0x0 + bl sub_020239B8 + add r0, r6, #0x0 + pop {r3-r7, pc} +_02025D32: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02025D38: .word 0x0000010E +_02025D3C: .word 0x00000109 + + thumb_func_start sub_02025D40 +sub_02025D40: ; 0x02025D40 + add r0, #0x94 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02025D48 +sub_02025D48: ; 0x02025D48 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0xb + bge _02025D54 + bl sub_02020C2C +_02025D54: + cmp r4, #0x3c + blt _02025D5C + bl sub_02020C2C +_02025D5C: + sub r4, #0xb + ldr r0, _02025D68 ; =0x02105C74 + lsl r1, r4, #0x1 + ldrh r0, [r0, r1] + pop {r4, pc} + nop +_02025D68: .word 0x02105C74 + + thumb_func_start sub_02025D6C +sub_02025D6C: ; 0x02025D6C + push {r4-r5} + mov r2, #0x81 + mov r5, #0x0 + lsl r2, r2, #0x4 +_02025D74: + add r4, r0, r5 + ldrb r3, [r4, r2] + cmp r3, #0x0 + bne _02025D88 + mov r0, #0x81 + lsl r0, r0, #0x4 + strb r1, [r4, r0] + mov r0, #0x1 + pop {r4-r5} + bx lr +_02025D88: + add r5, r5, #0x1 + cmp r5, #0xc8 + blt _02025D74 + mov r0, #0x0 + pop {r4-r5} + bx lr + + thumb_func_start sub_02025D94 +sub_02025D94: ; 0x02025D94 + mov r1, #0x81 + mov r3, #0x0 + lsl r1, r1, #0x4 +_02025D9A: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + bne _02025DA6 + mov r0, #0x1 + bx lr +_02025DA6: + add r3, r3, #0x1 + cmp r3, #0xc8 + blt _02025D9A + mov r0, #0x0 + bx lr + + thumb_func_start sub_02025DB0 +sub_02025DB0: ; 0x02025DB0 + mov r1, #0x81 + mov r3, #0x0 + lsl r1, r1, #0x4 +_02025DB6: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + beq _02025DC4 + add r3, r3, #0x1 + cmp r3, #0xc8 + blt _02025DB6 +_02025DC4: + add r0, r3, #0x0 + bx lr + + thumb_func_start sub_02025DC8 +sub_02025DC8: ; 0x02025DC8 + add r1, r0, r1 + mov r0, #0x81 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02025DD4 +sub_02025DD4: ; 0x02025DD4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02025F0C + cmp r0, #0x0 + beq _02025DE6 + bl sub_02020C2C +_02025DE6: + mov r0, #0x81 + add r1, r5, r4 + lsl r0, r0, #0x4 + add r6, r4, #0x0 + ldrb r7, [r1, r0] + cmp r4, #0xc7 + bge _02025E06 + mov r1, #0x81 + add r0, r0, #0x1 + lsl r1, r1, #0x4 +_02025DFA: + add r3, r5, r6 + ldrb r2, [r3, r0] + add r6, r6, #0x1 + cmp r6, #0xc7 + strb r2, [r3, r1] + blt _02025DFA +_02025E06: + ldr r0, _02025E1C ; =0x000008D7 + mov r2, #0x0 + strb r2, [r5, r0] + add r0, r5, #0x0 + add r1, r4, #0x0 + sub r2, r2, #0x1 + bl sub_02025F58 + add r0, r7, #0x0 + pop {r3-r7, pc} + nop +_02025E1C: .word 0x000008D7 + + thumb_func_start sub_02025E20 +sub_02025E20: ; 0x02025E20 + push {r4-r7, lr} + sub sp, #0xd4 + mov r4, #0x0 + add r5, r0, #0x0 + sub r0, r4, #0x1 + str r0, [sp, #0x4] + mov r0, #0x81 + lsl r0, r0, #0x4 + str r1, [sp, #0x8] + str r2, [sp, #0x0] + add r0, r5, r0 + add r1, sp, #0xc + mov r2, #0xc8 + blx sub_020CE3E0 + ldr r2, [sp, #0x8] + add r1, sp, #0xc + add r0, r4, #0x0 + add r7, r1, r2 +_02025E46: + ldr r2, [sp, #0x8] + cmp r0, r2 + beq _02025E58 + ldrb r6, [r1, #0x0] + mov r2, #0x81 + add r3, r5, r4 + lsl r2, r2, #0x4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_02025E58: + ldr r2, [sp, #0x0] + cmp r0, r2 + bne _02025E6A + ldrb r6, [r7, #0x0] + mov r2, #0x81 + add r3, r5, r4 + lsl r2, r2, #0x4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_02025E6A: + add r0, r0, #0x1 + add r1, r1, #0x1 + cmp r0, #0xc8 + blt _02025E46 + ldr r0, [sp, #0x8] + mov r3, #0x0 + add r2, r0, #0x1 + mov r0, #0x9a + lsl r0, r0, #0x4 +_02025E7C: + add r1, r5, r3 + ldrb r1, [r1, r0] + cmp r2, r1 + bne _02025E88 + str r3, [sp, #0x4] + b _02025E8E +_02025E88: + add r3, r3, #0x1 + cmp r3, #0xf + blt _02025E7C +_02025E8E: + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_02025F58 + mov r2, #0x0 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + mvn r2, r2 + bl sub_02025F58 + mov r1, #0x0 + ldr r0, [sp, #0x4] + mvn r1, r1 + cmp r0, r1 + beq _02025ED6 + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + cmp r0, r1 + bge _02025EC8 + add r0, r1, #0x0 + add r2, r0, #0x1 + ldr r0, [sp, #0x4] + add sp, #0xd4 + add r1, r5, r0 + mov r0, #0x9a + lsl r0, r0, #0x4 + strb r2, [r1, r0] + pop {r4-r7, pc} +_02025EC8: + add r0, r1, #0x0 + add r2, r0, #0x2 + ldr r0, [sp, #0x4] + add r1, r5, r0 + mov r0, #0x9a + lsl r0, r0, #0x4 + strb r2, [r1, r0] +_02025ED6: + add sp, #0xd4 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02025EDC +sub_02025EDC: ; 0x02025EDC + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r6, #0x1 + bge _02025EEC + bl sub_02020C2C +_02025EEC: + cmp r6, #0xf + ble _02025EF4 + bl sub_02020C2C +_02025EF4: + sub r0, r6, #0x1 + add r1, r5, r0 + mov r0, #0x9a + add r2, r4, #0x1 + lsl r0, r0, #0x4 + strb r2, [r1, r0] + mov r0, #0x81 + add r1, r5, r4 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02025F0C +sub_02025F0C: ; 0x02025F0C + push {r3-r4} + add r3, r1, #0x1 + mov r1, #0x9a + mov r4, #0x0 + lsl r1, r1, #0x4 +_02025F16: + add r2, r0, r4 + ldrb r2, [r2, r1] + cmp r3, r2 + bne _02025F24 + mov r0, #0x1 + pop {r3-r4} + bx lr +_02025F24: + add r4, r4, #0x1 + cmp r4, #0xf + blt _02025F16 + mov r0, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_02025F30 +sub_02025F30: ; 0x02025F30 + sub r1, r1, #0x1 + cmp r1, #0xf + bge _02025F40 + add r1, r0, r1 + mov r0, #0x9a + mov r2, #0x0 + lsl r0, r0, #0x4 + strb r2, [r1, r0] +_02025F40: + bx lr + .balign 4 + + thumb_func_start sub_02025F44 +sub_02025F44: ; 0x02025F44 + mov r1, #0x9a + lsl r1, r1, #0x4 + add r0, r0, r1 + ldr r3, _02025F54 ; =sub_020CE34C + mov r1, #0x0 + mov r2, #0xf + bx r3 + nop +_02025F54: .word sub_020CE34C + + thumb_func_start sub_02025F58 +sub_02025F58: ; 0x02025F58 + push {r4-r7} + mov r6, #0x9a + lsl r6, r6, #0x4 + mov r4, #0x0 + add r1, r1, #0x1 + add r7, r6, #0x0 +_02025F64: + add r3, r0, r4 + ldrb r5, [r3, r7] + cmp r5, r1 + ble _02025F76 + mov r5, #0x9a + lsl r5, r5, #0x4 + ldrb r5, [r3, r5] + add r5, r5, r2 + strb r5, [r3, r6] +_02025F76: + add r4, r4, #0x1 + cmp r4, #0xf + blt _02025F64 + pop {r4-r7} + bx lr + + thumb_func_start sub_02025F80 +sub_02025F80: ; 0x02025F80 + mov r1, #0x9 + mov r3, #0x0 + lsl r1, r1, #0x8 +_02025F86: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + beq _02025F94 + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02025F86 +_02025F94: + add r0, r3, #0x0 + bx lr + + thumb_func_start sub_02025F98 +sub_02025F98: ; 0x02025F98 + add r1, r0, r1 + mov r0, #0x9 + lsl r0, r0, #0x8 + ldrb r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02025FA4 +sub_02025FA4: ; 0x02025FA4 + push {r3-r6} + mov r2, #0x9 + add r3, r0, r1 + lsl r2, r2, #0x8 + ldrb r2, [r3, r2] + cmp r1, #0x27 + bge _02025FC2 + ldr r3, _02025FD0 ; =0x00000901 + sub r4, r3, #0x1 +_02025FB6: + add r6, r0, r1 + ldrb r5, [r6, r3] + add r1, r1, #0x1 + cmp r1, #0x27 + strb r5, [r6, r4] + blt _02025FB6 +_02025FC2: + ldr r1, _02025FD4 ; =0x00000927 + mov r3, #0x0 + strb r3, [r0, r1] + add r0, r2, #0x0 + pop {r3-r6} + bx lr + nop +_02025FD0: .word 0x00000901 +_02025FD4: .word 0x00000927 + + thumb_func_start sub_02025FD8 +sub_02025FD8: ; 0x02025FD8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020259E0 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02025FF6 + add r1, r5, r0 + mov r0, #0x9 + lsl r0, r0, #0x8 + strb r4, [r1, r0] + mov r0, #0x1 + pop {r3-r5, pc} +_02025FF6: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02025FFC +sub_02025FFC: ; 0x02025FFC + push {r3-r7, lr} + sub sp, #0x30 + add r5, r0, #0x0 + mov r0, #0x9 + lsl r0, r0, #0x8 + str r1, [sp, #0x4] + str r2, [sp, #0x0] + add r0, r5, r0 + add r1, sp, #0x8 + mov r2, #0x28 + mov r4, #0x0 + blx sub_020CE3E0 + ldr r2, [sp, #0x4] + add r1, sp, #0x8 + add r0, r4, #0x0 + add r7, r1, r2 +_0202601E: + ldr r2, [sp, #0x4] + cmp r0, r2 + beq _02026030 + ldrb r6, [r1, #0x0] + mov r2, #0x9 + add r3, r5, r4 + lsl r2, r2, #0x8 + strb r6, [r3, r2] + add r4, r4, #0x1 +_02026030: + ldr r2, [sp, #0x0] + cmp r0, r2 + bne _02026042 + ldrb r6, [r7, #0x0] + mov r2, #0x9 + add r3, r5, r4 + lsl r2, r2, #0x8 + strb r6, [r3, r2] + add r4, r4, #0x1 +_02026042: + add r0, r0, #0x1 + add r1, r1, #0x1 + cmp r0, #0x28 + blt _0202601E + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02026050 +sub_02026050: ; 0x02026050 + mov r1, #0x95 + mov r3, #0x0 + lsl r1, r1, #0x4 +_02026056: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + beq _02026064 + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02026056 +_02026064: + add r0, r3, #0x0 + bx lr + + thumb_func_start sub_02026068 +sub_02026068: ; 0x02026068 + add r1, r0, r1 + mov r0, #0x95 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02026074 +sub_02026074: ; 0x02026074 + add r1, r0, r1 + ldr r0, _0202607C ; =0x00000978 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0202607C: .word 0x00000978 + + thumb_func_start sub_02026080 +sub_02026080: ; 0x02026080 + push {r4-r7} + add r2, r0, #0x0 + mov r0, #0x95 + add r3, r2, r1 + lsl r0, r0, #0x4 + ldrb r0, [r3, r0] + cmp r1, #0x27 + mov r12, r0 + bge _020260AE + ldr r7, _020260BC ; =0x00000951 + add r4, r7, #0x0 + add r5, r7, #0x0 + sub r3, r7, #0x1 + add r4, #0x28 + add r5, #0x27 +_0202609E: + add r0, r2, r1 + ldrb r6, [r0, r7] + add r1, r1, #0x1 + cmp r1, #0x27 + strb r6, [r0, r3] + ldrb r6, [r0, r4] + strb r6, [r0, r5] + blt _0202609E +_020260AE: + ldr r0, _020260C0 ; =0x00000977 + mov r1, #0x0 + strb r1, [r2, r0] + mov r0, r12 + pop {r4-r7} + bx lr + nop +_020260BC: .word 0x00000951 +_020260C0: .word 0x00000977 + + thumb_func_start sub_020260C4 +sub_020260C4: ; 0x020260C4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02025A00 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _020260E8 + add r1, r5, r0 + mov r0, #0x95 + lsl r0, r0, #0x4 + strb r4, [r1, r0] + add r0, #0x28 + strb r6, [r1, r0] + mov r0, #0x1 + pop {r4-r6, pc} +_020260E8: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020260EC +sub_020260EC: ; 0x020260EC + push {r4-r7, lr} + sub sp, #0x5c + add r7, r0, #0x0 + mov r0, #0x95 + lsl r0, r0, #0x4 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r0, r7, r0 + add r1, sp, #0x34 + mov r2, #0x28 + mov r4, #0x0 + blx sub_020CE3E0 + ldr r0, _02026168 ; =0x00000978 + add r1, sp, #0xc + add r0, r7, r0 + mov r2, #0x28 + blx sub_020CE3E0 + ldr r3, [sp, #0x0] + add r1, sp, #0x34 + add r3, r1, r3 + mov r12, r3 + ldr r3, [sp, #0x0] + add r2, sp, #0xc + add r3, r2, r3 + add r0, r4, #0x0 + str r3, [sp, #0x8] +_02026124: + ldr r3, [sp, #0x0] + cmp r0, r3 + beq _0202613C + ldrb r5, [r1, #0x0] + mov r3, #0x95 + add r6, r7, r4 + lsl r3, r3, #0x4 + strb r5, [r6, r3] + ldrb r5, [r2, #0x0] + add r3, #0x28 + add r4, r4, #0x1 + strb r5, [r6, r3] +_0202613C: + ldr r3, [sp, #0x4] + cmp r0, r3 + bne _02026158 + mov r3, r12 + ldrb r5, [r3, #0x0] + mov r3, #0x95 + add r6, r7, r4 + lsl r3, r3, #0x4 + strb r5, [r6, r3] + ldr r3, [sp, #0x8] + add r4, r4, #0x1 + ldrb r5, [r3, #0x0] + ldr r3, _02026168 ; =0x00000978 + strb r5, [r6, r3] +_02026158: + add r0, r0, #0x1 + add r1, r1, #0x1 + add r2, r2, #0x1 + cmp r0, #0x28 + blt _02026124 + add sp, #0x5c + pop {r4-r7, pc} + nop +_02026168: .word 0x00000978 + + thumb_func_start sub_0202616C +sub_0202616C: ; 0x0202616C + ldr r1, _02026184 ; =0x00000928 + mov r3, #0x0 +_02026170: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + beq _0202617E + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02026170 +_0202617E: + add r0, r3, #0x0 + bx lr + nop +_02026184: .word 0x00000928 + + thumb_func_start sub_02026188 +sub_02026188: ; 0x02026188 + add r1, r0, r1 + ldr r0, _02026190 ; =0x00000928 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_02026190: .word 0x00000928 + + thumb_func_start sub_02026194 +sub_02026194: ; 0x02026194 + push {r3-r6} + ldr r2, _020261BC ; =0x00000928 + add r3, r0, r1 + ldrb r2, [r3, r2] + cmp r1, #0x27 + bge _020261B0 + ldr r3, _020261C0 ; =0x00000929 + sub r4, r3, #0x1 +_020261A4: + add r6, r0, r1 + ldrb r5, [r6, r3] + add r1, r1, #0x1 + cmp r1, #0x27 + strb r5, [r6, r4] + blt _020261A4 +_020261B0: + ldr r1, _020261C4 ; =0x0000094F + mov r3, #0x0 + strb r3, [r0, r1] + add r0, r2, #0x0 + pop {r3-r6} + bx lr + .balign 4 +_020261BC: .word 0x00000928 +_020261C0: .word 0x00000929 +_020261C4: .word 0x0000094F + + thumb_func_start sub_020261C8 +sub_020261C8: ; 0x020261C8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02025A20 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _020261E4 + add r1, r5, r0 + ldr r0, _020261E8 ; =0x00000928 + strb r4, [r1, r0] + mov r0, #0x1 + pop {r3-r5, pc} +_020261E4: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_020261E8: .word 0x00000928 + + thumb_func_start sub_020261EC +sub_020261EC: ; 0x020261EC + push {r3-r7, lr} + sub sp, #0x30 + add r5, r0, #0x0 + ldr r0, _02026238 ; =0x00000928 + str r1, [sp, #0x4] + str r2, [sp, #0x0] + add r0, r5, r0 + add r1, sp, #0x8 + mov r2, #0x28 + mov r4, #0x0 + blx sub_020CE3E0 + ldr r2, [sp, #0x4] + add r1, sp, #0x8 + add r0, r4, #0x0 + add r7, r1, r2 +_0202620C: + ldr r2, [sp, #0x4] + cmp r0, r2 + beq _0202621C + ldrb r6, [r1, #0x0] + ldr r2, _02026238 ; =0x00000928 + add r3, r5, r4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_0202621C: + ldr r2, [sp, #0x0] + cmp r0, r2 + bne _0202622C + ldrb r6, [r7, #0x0] + ldr r2, _02026238 ; =0x00000928 + add r3, r5, r4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_0202622C: + add r0, r0, #0x1 + add r1, r1, #0x1 + cmp r0, #0x28 + blt _0202620C + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_02026238: .word 0x00000928 + + thumb_func_start sub_0202623C +sub_0202623C: ; 0x0202623C + ldr r1, _02026254 ; =0x000008D8 + mov r3, #0x0 +_02026240: + add r2, r0, r3 + ldrb r2, [r2, r1] + cmp r2, #0x0 + beq _0202624E + add r3, r3, #0x1 + cmp r3, #0x28 + blt _02026240 +_0202624E: + add r0, r3, #0x0 + bx lr + nop +_02026254: .word 0x000008D8 + + thumb_func_start sub_02026258 +sub_02026258: ; 0x02026258 + add r1, r0, r1 + ldr r0, _02026260 ; =0x000008D8 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_02026260: .word 0x000008D8 + + thumb_func_start sub_02026264 +sub_02026264: ; 0x02026264 + push {r3-r6} + ldr r2, _0202628C ; =0x000008D8 + add r3, r0, r1 + ldrb r2, [r3, r2] + cmp r1, #0x27 + bge _02026280 + ldr r3, _02026290 ; =0x000008D9 + sub r4, r3, #0x1 +_02026274: + add r6, r0, r1 + ldrb r5, [r6, r3] + add r1, r1, #0x1 + cmp r1, #0x27 + strb r5, [r6, r4] + blt _02026274 +_02026280: + ldr r1, _02026294 ; =0x000008FF + mov r3, #0x0 + strb r3, [r0, r1] + add r0, r2, #0x0 + pop {r3-r6} + bx lr + .balign 4 +_0202628C: .word 0x000008D8 +_02026290: .word 0x000008D9 +_02026294: .word 0x000008FF + + thumb_func_start sub_02026298 +sub_02026298: ; 0x02026298 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02025A40 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _020262B4 + add r1, r5, r0 + ldr r0, _020262B8 ; =0x000008D8 + strb r4, [r1, r0] + mov r0, #0x1 + pop {r3-r5, pc} +_020262B4: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_020262B8: .word 0x000008D8 + + thumb_func_start sub_020262BC +sub_020262BC: ; 0x020262BC + push {r3-r7, lr} + sub sp, #0x30 + add r5, r0, #0x0 + ldr r0, _02026308 ; =0x000008D8 + str r1, [sp, #0x4] + str r2, [sp, #0x0] + add r0, r5, r0 + add r1, sp, #0x8 + mov r2, #0x28 + mov r4, #0x0 + blx sub_020CE3E0 + ldr r2, [sp, #0x4] + add r1, sp, #0x8 + add r0, r4, #0x0 + add r7, r1, r2 +_020262DC: + ldr r2, [sp, #0x4] + cmp r0, r2 + beq _020262EC + ldrb r6, [r1, #0x0] + ldr r2, _02026308 ; =0x000008D8 + add r3, r5, r4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_020262EC: + ldr r2, [sp, #0x0] + cmp r0, r2 + bne _020262FC + ldrb r6, [r7, #0x0] + ldr r2, _02026308 ; =0x000008D8 + add r3, r5, r4 + strb r6, [r3, r2] + add r4, r4, #0x1 +_020262FC: + add r0, r0, #0x1 + add r1, r1, #0x1 + cmp r0, #0x28 + blt _020262DC + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_02026308: .word 0x000008D8 + + thumb_func_start sub_0202630C +sub_0202630C: ; 0x0202630C + push {r3-r7, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r6, r3, #0x0 + cmp r4, #0x40 + blt _0202631E + bl sub_02020C2C +_0202631E: + ldr r0, _02026350 ; =0x0000010F + add r1, r5, r4 + strb r7, [r1, r0] + lsl r1, r4, #0x1 + add r1, r4, r1 + add r2, r0, #0x0 + add r1, r5, r1 + add r2, #0x40 + strb r6, [r1, r2] + mov r2, #0xf + lsl r2, r2, #0x8 + add r3, r6, #0x0 + and r3, r2 + asr r4, r3, #0x8 + ldr r3, [sp, #0x18] + and r2, r3 + asr r2, r2, #0x4 + add r4, r4, r2 + add r2, r0, #0x0 + add r2, #0x41 + strb r4, [r1, r2] + add r0, #0x42 + strb r3, [r1, r0] + pop {r3-r7, pc} + nop +_02026350: .word 0x0000010F + + thumb_func_start sub_02026354 +sub_02026354: ; 0x02026354 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x40 + blt _02026362 + bl sub_02020C2C +_02026362: + ldr r0, _0202636C ; =0x0000010F + add r1, r5, r4 + ldrb r0, [r1, r0] + pop {r3-r5, pc} + nop +_0202636C: .word 0x0000010F + + thumb_func_start sub_02026370 +sub_02026370: ; 0x02026370 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x40 + blt _0202637E + bl sub_02020C2C +_0202637E: + lsl r0, r4, #0x1 + add r0, r4, r0 + add r1, r5, r0 + ldr r0, _02026398 ; =0x0000014F + ldrb r2, [r1, r0] + add r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x8 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + pop {r3-r5, pc} + .balign 4 +_02026398: .word 0x0000014F + + thumb_func_start sub_0202639C +sub_0202639C: ; 0x0202639C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x40 + blt _020263AA + bl sub_02020C2C +_020263AA: + lsl r0, r4, #0x1 + add r0, r4, r0 + add r1, r5, r0 + ldr r0, _020263C4 ; =0x00000151 + ldrb r2, [r1, r0] + sub r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x4 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + pop {r3-r5, pc} + .balign 4 +_020263C4: .word 0x00000151 + + thumb_func_start sub_020263C8 +sub_020263C8: ; 0x020263C8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x40 + blt _020263D6 + bl sub_02020C2C +_020263D6: + ldr r0, _020263F0 ; =0x0000010F + mov r1, #0x0 + add r2, r5, r4 + strb r1, [r2, r0] + add r0, #0x40 + add r2, r5, r0 + lsl r0, r4, #0x1 + add r0, r4, r0 + add r0, r2, r0 + mov r2, #0x3 + blx sub_020CE34C + pop {r3-r5, pc} + .balign 4 +_020263F0: .word 0x0000010F + + thumb_func_start sub_020263F4 +sub_020263F4: ; 0x020263F4 + push {r3-r7, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r6, r3, #0x0 + cmp r4, #0x10 + blt _02026406 + bl sub_02020C2C +_02026406: + lsl r2, r4, #0x1 + ldr r1, _02026440 ; =0x0000050C + add r0, r5, r4 + add r2, r4, r2 + add r4, r5, r2 + add r2, r1, #0x0 + mov r5, #0xf + strb r7, [r0, r1] + add r2, #0x10 + strb r6, [r4, r2] + lsl r5, r5, #0x8 + add r2, r6, #0x0 + and r2, r5 + asr r3, r2, #0x8 + ldr r2, [sp, #0x18] + and r5, r2 + asr r5, r5, #0x4 + add r5, r3, r5 + add r3, r1, #0x0 + add r3, #0x11 + strb r5, [r4, r3] + add r3, r1, #0x0 + add r3, #0x12 + strb r2, [r4, r3] + ldr r2, [sp, #0x1c] + add r1, #0x40 + strb r2, [r0, r1] + pop {r3-r7, pc} + nop +_02026440: .word 0x0000050C + + thumb_func_start sub_02026444 +sub_02026444: ; 0x02026444 + add r1, r0, r1 + ldr r0, _0202644C ; =0x0000050C + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0202644C: .word 0x0000050C + + thumb_func_start sub_02026450 +sub_02026450: ; 0x02026450 + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _0202646C ; =0x0000051C + ldrb r2, [r1, r0] + add r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x8 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_0202646C: .word 0x0000051C + + thumb_func_start sub_02026470 +sub_02026470: ; 0x02026470 + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _0202648C ; =0x0000051E + ldrb r2, [r1, r0] + sub r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x4 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_0202648C: .word 0x0000051E + + thumb_func_start sub_02026490 +sub_02026490: ; 0x02026490 + add r1, r0, r1 + ldr r0, _02026498 ; =0x0000054C + ldrb r0, [r1, r0] + bx lr + .balign 4 +_02026498: .word 0x0000054C + + thumb_func_start sub_0202649C +sub_0202649C: ; 0x0202649C + push {r3-r7, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r3, #0x0 + cmp r4, #0x64 + blt _020264AE + bl sub_02020C2C +_020264AE: + ldr r1, _020264E8 ; =0x0000055C + add r0, r5, r4 + strb r6, [r0, r1] + lsl r1, r4, #0x1 + add r1, r4, r1 + add r4, r5, r1 + mov r5, #0xf + lsl r5, r5, #0x8 + add r2, r7, #0x0 + and r2, r5 + asr r3, r2, #0x8 + ldr r2, [sp, #0x18] + ldr r1, _020264EC ; =0x00000688 + and r5, r2 + asr r5, r5, #0x4 + add r5, r3, r5 + strb r7, [r4, r1] + add r3, r1, #0x1 + strb r5, [r4, r3] + add r3, r1, #0x2 + strb r2, [r4, r3] + add r2, r1, #0x0 + ldr r3, [sp, #0x1c] + sub r2, #0x64 + strb r3, [r0, r2] + ldr r2, [sp, #0x20] + sub r1, #0xc8 + strb r2, [r0, r1] + pop {r3-r7, pc} + .balign 4 +_020264E8: .word 0x0000055C +_020264EC: .word 0x00000688 + + thumb_func_start sub_020264F0 +sub_020264F0: ; 0x020264F0 + add r1, r0, r1 + ldr r0, _020264F8 ; =0x0000055C + ldrb r0, [r1, r0] + bx lr + .balign 4 +_020264F8: .word 0x0000055C + + thumb_func_start sub_020264FC +sub_020264FC: ; 0x020264FC + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _02026518 ; =0x00000688 + ldrb r2, [r1, r0] + add r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x8 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_02026518: .word 0x00000688 + + thumb_func_start sub_0202651C +sub_0202651C: ; 0x0202651C + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _02026538 ; =0x0000068A + ldrb r2, [r1, r0] + sub r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x4 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_02026538: .word 0x0000068A + + thumb_func_start sub_0202653C +sub_0202653C: ; 0x0202653C + add r1, r0, r1 + ldr r0, _02026544 ; =0x00000624 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_02026544: .word 0x00000624 + + thumb_func_start sub_02026548 +sub_02026548: ; 0x02026548 + add r1, r0, r1 + mov r0, #0x17 + lsl r0, r0, #0x6 + ldrb r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02026554 +sub_02026554: ; 0x02026554 + push {r4-r7} + ldr r3, _020265B0 ; =0x00000211 + add r7, r0, #0x0 + mov r12, r1 + mov r0, #0x0 + add r1, r7, #0x0 + sub r4, r3, #0x1 + sub r5, r3, #0x2 +_02026564: + ldrb r6, [r1, r5] + cmp r6, #0x0 + bne _020265A0 + ldrb r6, [r1, r4] + cmp r6, #0x0 + bne _020265A0 + ldrb r6, [r1, r3] + cmp r6, #0x0 + bne _020265A0 + lsl r1, r0, #0x1 + add r1, r0, r1 + mov r5, #0xf + ldr r4, _020265B4 ; =0x0000020F + add r1, r7, r1 + mov r3, r12 + strb r3, [r1, r4] + lsl r5, r5, #0x8 + mov r3, r12 + and r3, r5 + asr r6, r3, #0x8 + add r3, r2, #0x0 + and r3, r5 + asr r3, r3, #0x4 + add r5, r6, r3 + add r3, r4, #0x1 + strb r5, [r1, r3] + add r3, r4, #0x2 + strb r2, [r1, r3] + pop {r4-r7} + bx lr +_020265A0: + add r0, r0, #0x1 + add r1, r1, #0x3 + cmp r0, #0xff + blt _02026564 + mov r0, #0x0 + pop {r4-r7} + bx lr + nop +_020265B0: .word 0x00000211 +_020265B4: .word 0x0000020F + + thumb_func_start sub_020265B8 +sub_020265B8: ; 0x020265B8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xff + blt _020265C6 + bl sub_02020C2C +_020265C6: + ldr r0, _020265DC ; =0x0000020F + mov r2, #0x3 + add r1, r5, r0 + lsl r0, r4, #0x1 + add r0, r4, r0 + add r0, r1, r0 + mov r1, #0x0 + blx sub_020CE34C + pop {r3-r5, pc} + nop +_020265DC: .word 0x0000020F + + thumb_func_start sub_020265E0 +sub_020265E0: ; 0x020265E0 + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _020265FC ; =0x0000020F + ldrb r2, [r1, r0] + add r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x8 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_020265FC: .word 0x0000020F + + thumb_func_start sub_02026600 +sub_02026600: ; 0x02026600 + lsl r2, r1, #0x1 + add r1, r1, r2 + add r1, r0, r1 + ldr r0, _0202661C ; =0x00000211 + ldrb r2, [r1, r0] + sub r0, r0, #0x1 + ldrb r0, [r1, r0] + lsl r1, r0, #0x4 + mov r0, #0xf + lsl r0, r0, #0x8 + and r0, r1 + add r0, r2, r0 + bx lr + nop +_0202661C: .word 0x00000211 + + thumb_func_start sub_02026620 +sub_02026620: ; 0x02026620 + mov r1, #0x9b + lsl r1, r1, #0x4 + ldrb r0, [r0, r1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + bne _02026630 + mov r0, #0x1 + bx lr +_02026630: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02026634 +sub_02026634: ; 0x02026634 + mov r2, #0x9b + lsl r2, r2, #0x4 + ldrb r3, [r0, r2] + mov r1, #0xf0 + bic r3, r1 + mov r1, #0x10 + orr r1, r3 + strb r1, [r0, r2] + bx lr + .balign 4 + + thumb_func_start sub_02026648 +sub_02026648: ; 0x02026648 + mov r1, #0x9b + lsl r1, r1, #0x4 + ldrb r0, [r0, r1] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr + + thumb_func_start sub_02026654 +sub_02026654: ; 0x02026654 + mov r2, #0x9b + lsl r2, r2, #0x4 + ldrb r3, [r0, r2] + mov r1, #0xf + bic r3, r1 + strb r3, [r0, r2] + bx lr + .balign 4 + + thumb_func_start sub_02026664 +sub_02026664: ; 0x02026664 + push {r3-r4} + cmp r1, #0x2c + blt _0202667E + cmp r1, #0x3b + bgt _0202667E + ldr r2, _02026684 ; =0x0000080C + mov r3, #0x1 + sub r1, #0x2c + ldr r4, [r0, r2] + lsl r3, r1 + add r1, r4, #0x0 + orr r1, r3 + str r1, [r0, r2] +_0202667E: + pop {r3-r4} + bx lr + nop +_02026684: .word 0x0000080C + + thumb_func_start sub_02026688 +sub_02026688: ; 0x02026688 + cmp r1, #0x2c + blt _02026690 + cmp r1, #0x3b + ble _02026694 +_02026690: + mov r0, #0x1 + bx lr +_02026694: + ldr r2, _020266AC ; =0x0000080C + sub r1, #0x2c + ldr r3, [r0, r2] + mov r0, #0x1 + add r2, r0, #0x0 + lsl r2, r1 + add r1, r3, #0x0 + tst r1, r2 + beq _020266A8 + mov r0, #0x0 +_020266A8: + bx lr + nop +_020266AC: .word 0x0000080C + + thumb_func_start sub_020266B0 +sub_020266B0: ; 0x020266B0 + ldr r1, _020266C4 ; =0x000009AF + ldrb r2, [r0, r1] + cmp r2, #0x63 + blo _020266BE + mov r2, #0x0 + strb r2, [r0, r1] + bx lr +_020266BE: + add r2, r2, #0x1 + strb r2, [r0, r1] + bx lr + .balign 4 +_020266C4: .word 0x000009AF + + thumb_func_start sub_020266C8 +sub_020266C8: ; 0x020266C8 + ldr r1, _020266D0 ; =0x000009AF + ldrb r0, [r0, r1] + bx lr + nop +_020266D0: .word 0x000009AF + + thumb_func_start sub_020266D4 +sub_020266D4: ; 0x020266D4 + ldr r3, _020266DC ; =sub_020CE34C + mov r1, #0x0 + mov r2, #0x94 + bx r3 + .balign 4 +_020266DC: .word sub_020CE34C + + thumb_func_start sub_020266E0 +sub_020266E0: ; 0x020266E0 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x2d + blx sub_020CE34C + add r0, r4, #0x0 + add r0, #0x2d + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x8c + strh r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x8e + strh r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x90 + strb r1, [r0, #0x0] + add r4, #0x91 + strb r1, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02026714 +sub_02026714: ; 0x02026714 + mov r1, #0x0 + add r0, #0x91 + strb r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0202671C +sub_0202671C: ; 0x0202671C + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + cmp r4, #0x20 + blt _0202672E + bl sub_02020C2C +_0202672E: + cmp r6, #0x20 + blt _02026736 + bl sub_02020C2C +_02026736: + ldr r0, [sp, #0x18] + cmp r0, #0x20 + blt _02026740 + bl sub_02020C2C +_02026740: + cmp r5, #0x0 + bne _02026748 + bl sub_02020C2C +_02026748: + cmp r4, #0x0 + beq _02026774 + cmp r4, #0x10 + bge _02026762 + sub r1, r4, #0x1 + lsl r0, r1, #0x1 + add r0, r1, r0 + strb r6, [r5, r0] + ldr r1, [sp, #0x18] + add r0, r5, r0 + strb r1, [r0, #0x1] + strb r7, [r0, #0x2] + pop {r3-r7, pc} +_02026762: + sub r4, #0x10 + lsl r2, r4, #0x1 + add r0, r5, r2 + add r0, #0x2d + strb r6, [r0, #0x0] + add r0, r5, r2 + ldr r1, [sp, #0x18] + add r0, #0x2e + strb r1, [r0, #0x0] +_02026774: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02026778 +sub_02026778: ; 0x02026778 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_020267C4 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r3, r7, #0x0 + str r4, [sp, #0x0] + bl sub_0202671C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02026798 +sub_02026798: ; 0x02026798 + add r0, #0x88 + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + cmp r0, #0x32 + blt _020267A8 + mov r0, #0x5 + bx lr +_020267A8: + cmp r0, #0xa + blt _020267B0 + mov r0, #0x4 + bx lr +_020267B0: + cmp r0, #0x3 + blt _020267B8 + mov r0, #0x3 + bx lr +_020267B8: + cmp r0, #0x1 + blt _020267C0 + mov r0, #0x2 + bx lr +_020267C0: + mov r0, #0x1 + bx lr + + thumb_func_start sub_020267C4 +sub_020267C4: ; 0x020267C4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x20 + blt _020267D2 + bl sub_02020C2C +_020267D2: + cmp r5, #0x0 + bne _020267DE + add r0, r4, #0x0 + bl sub_02026798 + pop {r3-r5, pc} +_020267DE: + cmp r5, #0x10 + bge _020267EE + sub r1, r5, #0x1 + lsl r0, r1, #0x1 + add r0, r1, r0 + add r0, r4, r0 + ldrb r0, [r0, #0x2] + pop {r3-r5, pc} +_020267EE: + sub r5, #0x10 + lsl r1, r5, #0x1 + add r0, r4, r1 + add r0, #0x2d + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202680A + add r0, r4, r1 + add r0, #0x2e + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202680A + mov r0, #0x6 + pop {r3-r5, pc} +_0202680A: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02026810 +sub_02026810: ; 0x02026810 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x20 + blt _0202681E + bl sub_02020C2C +_0202681E: + cmp r5, #0x0 + bne _02026826 + mov r0, #0xf + pop {r3-r5, pc} +_02026826: + cmp r5, #0x10 + bge _02026834 + sub r1, r5, #0x1 + lsl r0, r1, #0x1 + add r0, r1, r0 + ldrb r0, [r4, r0] + pop {r3-r5, pc} +_02026834: + sub r5, #0x10 + lsl r0, r5, #0x1 + add r0, r4, r0 + add r0, #0x2d + ldrb r0, [r0, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02026840 +sub_02026840: ; 0x02026840 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x20 + blt _0202684E + bl sub_02020C2C +_0202684E: + cmp r5, #0x0 + bne _02026856 + mov r0, #0xc + pop {r3-r5, pc} +_02026856: + cmp r5, #0x10 + bge _02026866 + sub r1, r5, #0x1 + lsl r0, r1, #0x1 + add r0, r1, r0 + add r0, r4, r0 + ldrb r0, [r0, #0x1] + pop {r3-r5, pc} +_02026866: + sub r5, #0x10 + lsl r0, r5, #0x1 + add r0, r4, r0 + add r0, #0x2e + ldrb r0, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02026874 +sub_02026874: ; 0x02026874 + add r0, #0x88 + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + cmp r0, #0x32 + blo _02026884 + mov r0, #0x0 + bx lr +_02026884: + cmp r0, #0xa + blo _0202688C + mov r0, #0x6 + bx lr +_0202688C: + cmp r0, #0x3 + blo _02026894 + mov r0, #0xb + bx lr +_02026894: + cmp r0, #0x1 + blo _0202689C + mov r0, #0xf + bx lr +_0202689C: + mov r0, #0x10 + bx lr + + thumb_func_start sub_020268A0 +sub_020268A0: ; 0x020268A0 + add r0, #0x88 + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + cmp r0, #0x32 + blo _020268B0 + mov r0, #0xf + bx lr +_020268B0: + cmp r0, #0xa + blo _020268B8 + mov r0, #0xf + bx lr +_020268B8: + cmp r0, #0x3 + blo _020268C0 + mov r0, #0xf + bx lr +_020268C0: + cmp r0, #0x1 + blo _020268C8 + mov r0, #0xc + bx lr +_020268C8: + mov r0, #0xa + bx lr + + thumb_func_start sub_020268CC +sub_020268CC: ; 0x020268CC + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_020268D4 +sub_020268D4: ; 0x020268D4 + push {r3, lr} + bl sub_020269A0 + cmp r0, #0x4 + bne _020268E2 + mov r0, #0x1 + pop {r3, pc} +_020268E2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020268E8 +sub_020268E8: ; 0x020268E8 + ldr r3, [r0, #0x0] + ldr r2, _020268F8 ; =0xFFF00000 + and r3, r2 + ldr r2, _020268FC ; =0x000FFFFF + and r1, r2 + orr r1, r3 + str r1, [r0, #0x0] + bx lr + .balign 4 +_020268F8: .word 0xFFF00000 +_020268FC: .word 0x000FFFFF + + thumb_func_start sub_02026900 +sub_02026900: ; 0x02026900 + ldr r0, [r0, #0x4] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026908 +sub_02026908: ; 0x02026908 + push {r3-r4} + ldr r2, [r0, #0x4] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _0202692C ; =0x000F423F + cmp r4, r1 + bhs _02026926 + ldr r1, _02026930 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026934 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x4] +_02026926: + pop {r3-r4} + bx lr + nop +_0202692C: .word 0x000F423F +_02026930: .word 0xFFF00000 +_02026934: .word 0x000FFFFF + + thumb_func_start sub_02026938 +sub_02026938: ; 0x02026938 + ldr r0, [r0, #0x8] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026940 +sub_02026940: ; 0x02026940 + push {r3-r4} + ldr r2, [r0, #0x8] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026964 ; =0x000F423F + cmp r4, r1 + bhs _0202695E + ldr r1, _02026968 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _0202696C ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x8] +_0202695E: + pop {r3-r4} + bx lr + nop +_02026964: .word 0x000F423F +_02026968: .word 0xFFF00000 +_0202696C: .word 0x000FFFFF + + thumb_func_start sub_02026970 +sub_02026970: ; 0x02026970 + push {r3-r4} + ldr r2, [r0, #0xc] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026994 ; =0x000F423F + cmp r4, r1 + bhs _0202698E + ldr r1, _02026998 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _0202699C ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0xc] +_0202698E: + pop {r3-r4} + bx lr + nop +_02026994: .word 0x000F423F +_02026998: .word 0xFFF00000 +_0202699C: .word 0x000FFFFF + + thumb_func_start sub_020269A0 +sub_020269A0: ; 0x020269A0 + ldr r0, [r0, #0x38] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + cmp r0, #0x32 + blt _020269AE + mov r0, #0x4 + bx lr +_020269AE: + cmp r0, #0xa + blt _020269B6 + mov r0, #0x3 + bx lr +_020269B6: + cmp r0, #0x3 + blt _020269BE + mov r0, #0x2 + bx lr +_020269BE: + cmp r0, #0x1 + blt _020269C6 + mov r0, #0x1 + bx lr +_020269C6: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_020269CC +sub_020269CC: ; 0x020269CC + ldr r0, [r0, #0x38] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_020269D4 +sub_020269D4: ; 0x020269D4 + push {r3-r4} + ldr r2, [r0, #0x38] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _020269F8 ; =0x000F423F + cmp r4, r1 + bhs _020269F2 + ldr r1, _020269FC ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026A00 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x38] +_020269F2: + pop {r3-r4} + bx lr + nop +_020269F8: .word 0x000F423F +_020269FC: .word 0xFFF00000 +_02026A00: .word 0x000FFFFF + + thumb_func_start sub_02026A04 +sub_02026A04: ; 0x02026A04 + ldr r0, [r0, #0x10] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026A0C +sub_02026A0C: ; 0x02026A0C + push {r4-r5} + cmp r1, #0x0 + ble _02026A2C + ldr r4, [r0, #0x10] + lsl r2, r4, #0xc + lsr r5, r2, #0xc + ldr r2, _02026A44 ; =0x000F423F + sub r3, r2, r1 + cmp r5, r3 + bls _02026A2C + ldr r1, _02026A48 ; =0xFFF00000 + and r1, r4 + orr r1, r2 + str r1, [r0, #0x10] + pop {r4-r5} + bx lr +_02026A2C: + ldr r3, [r0, #0x10] + ldr r2, _02026A48 ; =0xFFF00000 + and r2, r3 + lsl r3, r3, #0xc + lsr r3, r3, #0xc + add r3, r3, r1 + ldr r1, _02026A4C ; =0x000FFFFF + and r1, r3 + orr r1, r2 + str r1, [r0, #0x10] + pop {r4-r5} + bx lr + .balign 4 +_02026A44: .word 0x000F423F +_02026A48: .word 0xFFF00000 +_02026A4C: .word 0x000FFFFF + + thumb_func_start sub_02026A50 +sub_02026A50: ; 0x02026A50 + ldr r0, [r0, #0x14] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026A58 +sub_02026A58: ; 0x02026A58 + push {r4-r5} + cmp r1, #0x0 + ble _02026A78 + ldr r4, [r0, #0x14] + lsl r2, r4, #0xc + lsr r5, r2, #0xc + ldr r2, _02026A90 ; =0x000F423F + sub r3, r2, r1 + cmp r5, r3 + bls _02026A78 + ldr r1, _02026A94 ; =0xFFF00000 + and r1, r4 + orr r1, r2 + str r1, [r0, #0x14] + pop {r4-r5} + bx lr +_02026A78: + ldr r3, [r0, #0x14] + ldr r2, _02026A94 ; =0xFFF00000 + and r2, r3 + lsl r3, r3, #0xc + lsr r3, r3, #0xc + add r3, r3, r1 + ldr r1, _02026A98 ; =0x000FFFFF + and r1, r3 + orr r1, r2 + str r1, [r0, #0x14] + pop {r4-r5} + bx lr + .balign 4 +_02026A90: .word 0x000F423F +_02026A94: .word 0xFFF00000 +_02026A98: .word 0x000FFFFF + + thumb_func_start sub_02026A9C +sub_02026A9C: ; 0x02026A9C + push {r4-r5} + cmp r1, #0x0 + ble _02026ABC + ldr r4, [r0, #0x18] + lsl r2, r4, #0xc + lsr r5, r2, #0xc + ldr r2, _02026AD4 ; =0x000F423F + sub r3, r2, r1 + cmp r5, r3 + bls _02026ABC + ldr r1, _02026AD8 ; =0xFFF00000 + and r1, r4 + orr r1, r2 + str r1, [r0, #0x18] + pop {r4-r5} + bx lr +_02026ABC: + ldr r3, [r0, #0x18] + ldr r2, _02026AD8 ; =0xFFF00000 + and r2, r3 + lsl r3, r3, #0xc + lsr r3, r3, #0xc + add r3, r3, r1 + ldr r1, _02026ADC ; =0x000FFFFF + and r1, r3 + orr r1, r2 + str r1, [r0, #0x18] + pop {r4-r5} + bx lr + .balign 4 +_02026AD4: .word 0x000F423F +_02026AD8: .word 0xFFF00000 +_02026ADC: .word 0x000FFFFF + + thumb_func_start sub_02026AE0 +sub_02026AE0: ; 0x02026AE0 + ldr r0, [r0, #0x1c] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026AE8 +sub_02026AE8: ; 0x02026AE8 + push {r3-r4} + ldr r2, [r0, #0x1c] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026B0C ; =0x000F423F + cmp r4, r1 + bhs _02026B06 + ldr r1, _02026B10 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026B14 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x1c] +_02026B06: + pop {r3-r4} + bx lr + nop +_02026B0C: .word 0x000F423F +_02026B10: .word 0xFFF00000 +_02026B14: .word 0x000FFFFF + + thumb_func_start sub_02026B18 +sub_02026B18: ; 0x02026B18 + ldr r0, [r0, #0x20] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026B20 +sub_02026B20: ; 0x02026B20 + push {r3-r4} + ldr r2, [r0, #0x20] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026B44 ; =0x000F423F + cmp r4, r1 + bhs _02026B3E + ldr r1, _02026B48 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026B4C ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x20] +_02026B3E: + pop {r3-r4} + bx lr + nop +_02026B44: .word 0x000F423F +_02026B48: .word 0xFFF00000 +_02026B4C: .word 0x000FFFFF + + thumb_func_start sub_02026B50 +sub_02026B50: ; 0x02026B50 + ldr r0, [r0, #0x24] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026B58 +sub_02026B58: ; 0x02026B58 + push {r3-r4} + ldr r2, [r0, #0x24] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026B7C ; =0x000F423F + cmp r4, r1 + bhs _02026B76 + ldr r1, _02026B80 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026B84 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x24] +_02026B76: + pop {r3-r4} + bx lr + nop +_02026B7C: .word 0x000F423F +_02026B80: .word 0xFFF00000 +_02026B84: .word 0x000FFFFF + + thumb_func_start sub_02026B88 +sub_02026B88: ; 0x02026B88 + ldr r0, [r0, #0x28] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026B90 +sub_02026B90: ; 0x02026B90 + push {r3-r4} + ldr r2, [r0, #0x28] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026BB4 ; =0x000F423F + cmp r4, r1 + bhs _02026BAE + ldr r1, _02026BB8 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026BBC ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x28] +_02026BAE: + pop {r3-r4} + bx lr + nop +_02026BB4: .word 0x000F423F +_02026BB8: .word 0xFFF00000 +_02026BBC: .word 0x000FFFFF + + thumb_func_start sub_02026BC0 +sub_02026BC0: ; 0x02026BC0 + ldr r0, [r0, #0x2c] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026BC8 +sub_02026BC8: ; 0x02026BC8 + push {r3-r4} + ldr r2, [r0, #0x2c] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026BEC ; =0x000F423F + cmp r4, r1 + bhs _02026BE6 + ldr r1, _02026BF0 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026BF4 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x2c] +_02026BE6: + pop {r3-r4} + bx lr + nop +_02026BEC: .word 0x000F423F +_02026BF0: .word 0xFFF00000 +_02026BF4: .word 0x000FFFFF + + thumb_func_start sub_02026BF8 +sub_02026BF8: ; 0x02026BF8 + ldr r0, [r0, #0x30] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026C00 +sub_02026C00: ; 0x02026C00 + push {r3-r4} + ldr r2, [r0, #0x30] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026C24 ; =0x000F423F + cmp r4, r1 + bhs _02026C1E + ldr r1, _02026C28 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026C2C ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x30] +_02026C1E: + pop {r3-r4} + bx lr + nop +_02026C24: .word 0x000F423F +_02026C28: .word 0xFFF00000 +_02026C2C: .word 0x000FFFFF + + thumb_func_start sub_02026C30 +sub_02026C30: ; 0x02026C30 + ldr r0, [r0, #0x34] + lsl r0, r0, #0xc + lsr r0, r0, #0xc + bx lr + + thumb_func_start sub_02026C38 +sub_02026C38: ; 0x02026C38 + push {r3-r4} + ldr r2, [r0, #0x34] + lsl r1, r2, #0xc + lsr r4, r1, #0xc + ldr r1, _02026C5C ; =0x000F423F + cmp r4, r1 + bhs _02026C56 + ldr r1, _02026C60 ; =0xFFF00000 + add r3, r2, #0x0 + and r3, r1 + ldr r1, _02026C64 ; =0x000FFFFF + add r2, r4, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x34] +_02026C56: + pop {r3-r4} + bx lr + nop +_02026C5C: .word 0x000F423F +_02026C60: .word 0xFFF00000 +_02026C64: .word 0x000FFFFF + + thumb_func_start sub_02026C68 +sub_02026C68: ; 0x02026C68 + push {r3-r4} + add r4, r0, #0x0 + add r4, #0x8c + strh r1, [r4, #0x0] + add r1, r0, #0x0 + add r1, #0x8e + strh r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x90 + strb r3, [r1, #0x0] + mov r1, #0x1 + add r0, #0x91 + strb r1, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02026C88 +sub_02026C88: ; 0x02026C88 + add r0, #0x8c + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02026C90 +sub_02026C90: ; 0x02026C90 + add r0, #0x8e + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02026C98 +sub_02026C98: ; 0x02026C98 + add r0, #0x90 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02026CA0 +sub_02026CA0: ; 0x02026CA0 + add r0, #0x91 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02026CA8 +sub_02026CA8: ; 0x02026CA8 + ldr r3, _02026CB0 ; =sub_02022610 + mov r1, #0xc + bx r3 + nop +_02026CB0: .word sub_02022610 + 1 + + thumb_func_start sub_02026CB4 +sub_02026CB4: ; 0x02026CB4 + push {r3, lr} + mov r1, #0xc + bl sub_02022610 + add r0, #0x50 + pop {r3, pc} + + thumb_func_start sub_02026CC0 +sub_02026CC0: ; 0x02026CC0 + add r0, #0x50 + bx lr + + thumb_func_start sub_02026CC4 +sub_02026CC4: ; 0x02026CC4 + ldr r3, _02026CCC ; =sub_02022610 + mov r1, #0xc + bx r3 + nop +_02026CCC: .word sub_02022610 + 1 + + thumb_func_start sub_02026CD0 +sub_02026CD0: ; 0x02026CD0 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + add r7, r3, #0x0 + bl sub_020671BC + add r2, r5, #0x0 + strh r0, [r5, #0x8] + add r0, r4, #0x0 + mov r1, #0x74 + add r2, #0xa + bl sub_020671BC + mov r1, #0x0 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_020671BC + str r0, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020671BC + str r0, [r5, #0x4] + add r0, r4, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x33 + strb r0, [r1, #0x0] + add r0, r5, #0x0 + add r0, #0x31 + strb r6, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x32 + strb r7, [r0, #0x0] + add r1, sp, #0x8 + mov r0, #0x10 + ldrsb r0, [r1, r0] + add r5, #0x30 + strb r0, [r5, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02026D34 +sub_02026D34: ; 0x02026D34 + push {r3-r6, lr} + sub sp, #0xc + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r4, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x8 + bl sub_021DB858 + add r0, r4, #0x0 + bl sub_021DB7E8 + add r4, r0, #0x0 + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x8 + cmp r1, r0 + blt _02026D5E + bl sub_02020C2C +_02026D5E: + mov r0, #0x1 + ldr r1, [sp, #0x8] + lsl r0, r0, #0x8 + cmp r1, r0 + blt _02026D6C + bl sub_02020C2C +_02026D6C: + mov r0, #0x7f + mvn r0, r0 + cmp r4, r0 + bgt _02026D78 + bl sub_02020C2C +_02026D78: + lsl r0, r4, #0x18 + asr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r2, [sp, #0x4] + ldr r3, [sp, #0x8] + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_02026CD0 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02026D98 +sub_02026D98: ; 0x02026D98 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + add r1, r5, #0x0 + add r4, r2, #0x0 + add r1, #0x20 + mov r2, #0x8 + bl sub_02021EF0 + add r5, #0x34 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02026DB0 +sub_02026DB0: ; 0x02026DB0 + strb r1, [r0, #0x0] + ldr r1, _02026DC0 ; =0xFFFFFFF0 + strb r2, [r0, #0x1] + strb r3, [r0, #0x2] + add r1, sp + ldrb r1, [r1, #0x10] + strb r1, [r0, #0x3] + bx lr + .balign 4 +_02026DC0: .word 0xFFFFFFF0 + + thumb_func_start sub_02026DC4 +sub_02026DC4: ; 0x02026DC4 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x3d + blo _02026DD4 + bl sub_02020C2C +_02026DD4: + lsr r2, r4, #0x1f + lsl r1, r4, #0x1d + sub r1, r1, r2 + mov r0, #0x1d + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1a + lsr r1, r0, #0x18 + lsr r0, r4, #0x3 + lsl r0, r0, #0x18 + mov r2, #0xf + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r6, #0x0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + str r1, [r5, r0] + pop {r4-r6, pc} + + thumb_func_start sub_02026E08 +sub_02026E08: ; 0x02026E08 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3d + blo _02026E16 + bl sub_02020C2C +_02026E16: + lsr r3, r4, #0x1f + lsl r2, r4, #0x1d + lsr r0, r4, #0x3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x16 + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + ldr r0, [r5, r0] + lsr r1, r1, #0x18 + lsl r1, r1, #0x1a + add r2, r0, #0x0 + lsr r1, r1, #0x18 + lsr r2, r1 + mov r0, #0xf + and r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x9 + bls _02026E44 + mov r0, #0x9 +_02026E44: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02026E48 +sub_02026E48: ; 0x02026E48 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x2 + blo _02026E58 + bl sub_02020C2C +_02026E58: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1b + sub r1, r1, r2 + mov r0, #0x1b + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsr r0, r6, #0x5 + lsl r0, r0, #0x18 + mov r2, #0x1 + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r4, #0x0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + str r1, [r5, r0] + pop {r4-r6, pc} + + thumb_func_start sub_02026E88 +sub_02026E88: ; 0x02026E88 + lsr r2, r1, #0x5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x16 + ldr r3, [r0, r2] + lsr r2, r1, #0x1f + lsl r1, r1, #0x1b + sub r1, r1, r2 + mov r0, #0x1b + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add r1, r3, #0x0 + lsr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + .balign 4 + + thumb_func_start sub_02026EB0 +sub_02026EB0: ; 0x02026EB0 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x12 + bls _02026EC0 + bl sub_02020C2C +_02026EC0: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1b + lsr r1, r0, #0x18 + lsr r0, r6, #0x2 + lsl r0, r0, #0x18 + mov r2, #0xff + lsr r0, r0, #0x16 + lsl r2, r1 + ldr r3, [r5, r0] + mvn r2, r2 + and r2, r3 + str r2, [r5, r0] + add r2, r4, #0x0 + ldr r3, [r5, r0] + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + str r1, [r5, r0] + pop {r4-r6, pc} + + thumb_func_start sub_02026EF4 +sub_02026EF4: ; 0x02026EF4 + lsr r2, r1, #0x2 + lsl r2, r2, #0x18 + lsr r2, r2, #0x16 + ldr r0, [r0, r2] + lsr r3, r1, #0x1f + lsl r2, r1, #0x1e + sub r2, r2, r3 + mov r1, #0x1e + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1b + lsr r1, r1, #0x18 + lsr r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + + thumb_func_start sub_02026F18 +sub_02026F18: ; 0x02026F18 + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_02026F20: + lsl r1, r4, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + bl sub_02026EF4 + cmp r0, #0x12 + beq _02026F30 + add r5, r5, #0x1 +_02026F30: + add r4, r4, #0x1 + cmp r4, #0x12 + blt _02026F20 + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + pop {r4-r6, pc} + + thumb_func_start sub_02026F3C +sub_02026F3C: ; 0x02026F3C + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0x2 + add r4, r2, #0x0 + bl sub_02068E14 + mov r1, #0x80 + strb r1, [r5, #0x0] + mov r1, #0x28 + sub r1, r1, r0 + mov r0, #0x8d + sub r0, r0, r1 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x0] + add r0, #0x28 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02026F60 +sub_02026F60: ; 0x02026F60 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r6, _02026FC8 ; =0x00001234 + mov r4, #0x0 + add r5, r7, #0x0 +_02026F6A: + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x74 + blx sub_020DF4A4 + str r6, [r5, #0x0] + add r4, r4, #0x1 + add r5, #0x74 + cmp r4, #0xb + blt _02026F6A + ldr r0, _02026FCC ; =0x000004FC + mov r6, #0x0 + add r4, r7, r0 + add r5, r7, #0x0 +_02026F86: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x98 + blx sub_020DF4A4 + ldr r1, _02026FC8 ; =0x00001234 + ldr r0, _02026FCC ; =0x000004FC + add r6, r6, #0x1 + str r1, [r5, r0] + add r4, #0x98 + add r5, #0x98 + cmp r6, #0x5 + blt _02026F86 + ldr r0, _02026FD0 ; =0x000007F4 + mov r1, #0x0 + add r0, r7, r0 + mov r2, #0x40 + blx sub_020DF4A4 + ldr r5, _02026FD4 ; =0x0000081C + mov r4, #0x0 + mov r6, #0x12 +_02026FB2: + lsl r2, r4, #0x18 + add r0, r7, r5 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl sub_02026EB0 + add r4, r4, #0x1 + cmp r4, #0x12 + blt _02026FB2 + pop {r3-r7, pc} + nop +_02026FC8: .word 0x00001234 +_02026FCC: .word 0x000004FC +_02026FD0: .word 0x000007F4 +_02026FD4: .word 0x0000081C + + thumb_func_start sub_02026FD8 +sub_02026FD8: ; 0x02026FD8 + ldr r0, _02026FDC ; =0x00000834 + bx lr + .balign 4 +_02026FDC: .word 0x00000834 + + thumb_func_start sub_02026FE0 +sub_02026FE0: ; 0x02026FE0 + mov r0, #0x74 + bx lr + + thumb_func_start sub_02026FE4 +sub_02026FE4: ; 0x02026FE4 + mov r0, #0x98 + bx lr + + thumb_func_start sub_02026FE8 +sub_02026FE8: ; 0x02026FE8 + push {r4, lr} + mov r1, #0x98 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x98 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, _02027004 ; =0x00001234 + str r0, [r4, #0x0] + add r0, r4, #0x0 + pop {r4, pc} + nop +_02027004: .word 0x00001234 + + thumb_func_start sub_02027008 +sub_02027008: ; 0x02027008 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + cmp r6, #0xb + blt _02027016 + bl sub_02020C2C +_02027016: + mov r0, #0x74 + add r4, r6, #0x0 + mul r4, r0 + ldr r1, [r5, r4] + ldr r0, _0202703C ; =0x00001234 + cmp r1, r0 + beq _0202702A + ldr r0, _02027040 ; =0x00002345 + cmp r1, r0 + bne _0202702E +_0202702A: + mov r0, #0x1 + b _02027030 +_0202702E: + mov r0, #0x0 +_02027030: + cmp r0, #0x0 + bne _02027038 + bl sub_02020C2C +_02027038: + add r0, r5, r4 + pop {r4-r6, pc} + .balign 4 +_0202703C: .word 0x00001234 +_02027040: .word 0x00002345 + + thumb_func_start sub_02027044 +sub_02027044: ; 0x02027044 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + cmp r6, #0x5 + blt _02027052 + bl sub_02020C2C +_02027052: + mov r0, #0x98 + add r4, r6, #0x0 + mul r4, r0 + ldr r0, _02027080 ; =0x000004FC + add r1, r5, r4 + ldr r1, [r1, r0] + ldr r0, _02027084 ; =0x00001234 + cmp r1, r0 + beq _0202706A + ldr r0, _02027088 ; =0x00002345 + cmp r1, r0 + bne _0202706E +_0202706A: + mov r0, #0x1 + b _02027070 +_0202706E: + mov r0, #0x0 +_02027070: + cmp r0, #0x0 + bne _02027078 + bl sub_02020C2C +_02027078: + ldr r0, _02027080 ; =0x000004FC + add r0, r5, r0 + add r0, r0, r4 + pop {r4-r6, pc} + .balign 4 +_02027080: .word 0x000004FC +_02027084: .word 0x00001234 +_02027088: .word 0x00002345 + + thumb_func_start sub_0202708C +sub_0202708C: ; 0x0202708C + ldr r1, _02027094 ; =0x000007F4 + add r0, r0, r1 + bx lr + nop +_02027094: .word 0x000007F4 + + thumb_func_start sub_02027098 +sub_02027098: ; 0x02027098 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xb + blt _020270A6 + bl sub_02020C2C +_020270A6: + mov r0, #0x74 + mul r0, r4 + add r0, r5, r0 + bl sub_0202729C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020270B4 +sub_020270B4: ; 0x020270B4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x5 + blt _020270C2 + bl sub_02020C2C +_020270C2: + ldr r0, _020270D4 ; =0x000004FC + add r1, r5, r0 + mov r0, #0x98 + mul r0, r4 + add r0, r1, r0 + bl sub_020276D8 + pop {r3-r5, pc} + nop +_020270D4: .word 0x000004FC + + thumb_func_start sub_020270D8 +sub_020270D8: ; 0x020270D8 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r2, #0x0 + mov r4, #0x1 + bl sub_02027114 + cmp r6, #0x3d + bhs _020270F2 + add r0, r0, r5 + cmp r0, #0x9 + bls _020270FA + mov r4, #0x0 + b _020270FA +_020270F2: + add r0, r0, r5 + cmp r0, #0x1 + bls _020270FA + mov r4, #0x0 +_020270FA: + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02027100 +sub_02027100: ; 0x02027100 + push {r3, lr} + bl sub_0202714C + cmp r0, #0x12 + beq _0202710E + mov r0, #0x1 + pop {r3, pc} +_0202710E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02027114 +sub_02027114: ; 0x02027114 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x64 + blo _02027122 + bl sub_02020C2C +_02027122: + cmp r5, #0x3d + bhs _02027132 + lsl r1, r5, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl sub_02026E08 + pop {r3-r5, pc} +_02027132: + bhs _02027138 + bl sub_02020C2C +_02027138: + sub r5, #0x3d + lsl r0, r5, #0x18 + lsr r1, r0, #0x18 + add r4, #0x20 + lsl r1, r1, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl sub_02026E88 + pop {r3-r5, pc} + + thumb_func_start sub_0202714C +sub_0202714C: ; 0x0202714C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x12 + blo _0202715A + bl sub_02020C2C +_0202715A: + add r5, #0x28 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_02026EF4 + pop {r3-r5, pc} + + thumb_func_start sub_02027168 +sub_02027168: ; 0x02027168 + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_02027170: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02027114 + add r4, r4, #0x1 + add r5, r5, r0 + cmp r4, #0x64 + blt _02027170 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02027184 +sub_02027184: ; 0x02027184 + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_0202718C: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202714C + cmp r0, #0x12 + beq _0202719A + add r5, r5, #0x1 +_0202719A: + add r4, r4, #0x1 + cmp r4, #0x12 + blt _0202718C + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020271A4 +sub_020271A4: ; 0x020271A4 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x64 + blo _020271B4 + bl sub_02020C2C +_020271B4: + cmp r4, #0x3d + bhs _020271DA + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_02026E08 + add r0, r0, r6 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x9 + bls _020271CE + mov r1, #0x9 +_020271CE: + lsl r2, r4, #0x18 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02026DC4 + pop {r4-r6, pc} +_020271DA: + add r0, r5, #0x0 + lsl r1, r4, #0x18 + add r0, #0x20 + lsr r1, r1, #0x18 + bl sub_02026E88 + add r0, r0, r6 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x1 + bls _020271F2 + mov r6, #0x1 +_020271F2: + cmp r4, #0x3d + bhs _020271FA + bl sub_02020C2C +_020271FA: + sub r4, #0x3d + lsl r0, r4, #0x18 + lsr r2, r0, #0x18 + add r5, #0x20 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl sub_02026E48 + pop {r4-r6, pc} + + thumb_func_start sub_02027210 +sub_02027210: ; 0x02027210 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x64 + blo _02027220 + bl sub_02020C2C +_02027220: + cmp r4, #0x3d + bhs _02027248 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_02026E08 + cmp r0, r6 + bls _0202723A + sub r0, r0, r6 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + b _0202723C +_0202723A: + mov r1, #0x0 +_0202723C: + lsl r2, r4, #0x18 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02026DC4 + pop {r4-r6, pc} +_02027248: + bhs _0202724E + bl sub_02020C2C +_0202724E: + sub r4, #0x3d + lsl r0, r4, #0x18 + lsr r2, r0, #0x18 + add r5, #0x20 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + mov r1, #0x0 + lsr r2, r2, #0x18 + bl sub_02026E48 + pop {r4-r6, pc} + + thumb_func_start sub_02027264 +sub_02027264: ; 0x02027264 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x12 + blo _02027272 + bl sub_02020C2C +_02027272: + add r0, r5, #0x0 + lsl r1, r4, #0x18 + add r0, #0x28 + lsr r1, r1, #0x18 + bl sub_02026EF4 + cmp r0, #0x12 + bne _02027298 + add r0, r5, #0x0 + add r0, #0x28 + bl sub_02026F18 + lsl r2, r4, #0x18 + add r5, #0x28 + add r1, r0, #0x0 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02026EB0 +_02027298: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202729C +sub_0202729C: ; 0x0202729C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _020272CC ; =0x00001234 + cmp r1, r0 + beq _020272AE + ldr r0, _020272D0 ; =0x00002345 + cmp r1, r0 + bne _020272B2 +_020272AE: + mov r0, #0x1 + b _020272B4 +_020272B2: + mov r0, #0x0 +_020272B4: + cmp r0, #0x0 + bne _020272BC + bl sub_02020C2C +_020272BC: + ldr r1, [r4, #0x0] + ldr r0, _020272D0 ; =0x00002345 + cmp r1, r0 + bne _020272C8 + mov r0, #0x1 + pop {r4, pc} +_020272C8: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_020272CC: .word 0x00001234 +_020272D0: .word 0x00002345 + + thumb_func_start sub_020272D4 +sub_020272D4: ; 0x020272D4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027304 ; =0x00001234 + cmp r1, r0 + beq _020272E6 + ldr r0, _02027308 ; =0x00002345 + cmp r1, r0 + bne _020272EA +_020272E6: + mov r0, #0x1 + b _020272EC +_020272EA: + mov r0, #0x0 +_020272EC: + cmp r0, #0x0 + bne _020272F4 + bl sub_02020C2C +_020272F4: + ldr r0, _02027308 ; =0x00002345 + str r0, [r4, #0x0] + ldr r0, _0202730C ; =0x020ECAC4 + add r4, #0x71 + ldrb r0, [r0, #0x0] + strb r0, [r4, #0x0] + pop {r4, pc} + nop +_02027304: .word 0x00001234 +_02027308: .word 0x00002345 +_0202730C: .word 0x020ECAC4 + + thumb_func_start sub_02027310 +sub_02027310: ; 0x02027310 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027340 ; =0x00001234 + cmp r1, r0 + beq _02027322 + ldr r0, _02027344 ; =0x00002345 + cmp r1, r0 + bne _02027326 +_02027322: + mov r0, #0x1 + b _02027328 +_02027326: + mov r0, #0x0 +_02027328: + cmp r0, #0x0 + bne _02027330 + bl sub_02020C2C +_02027330: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x74 + blx sub_020DF4A4 + ldr r0, _02027340 ; =0x00001234 + str r0, [r4, #0x0] + pop {r4, pc} + .balign 4 +_02027340: .word 0x00001234 +_02027344: .word 0x00002345 + + thumb_func_start sub_02027348 +sub_02027348: ; 0x02027348 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027378 ; =0x00001234 + add r6, r2, #0x0 + cmp r1, r0 + beq _0202735E + ldr r0, _0202737C ; =0x00002345 + cmp r1, r0 + bne _02027362 +_0202735E: + mov r0, #0x1 + b _02027364 +_02027362: + mov r0, #0x0 +_02027364: + cmp r0, #0x0 + bne _0202736C + bl sub_02020C2C +_0202736C: + add r0, r5, #0x4 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02026D34 + pop {r4-r6, pc} + .balign 4 +_02027378: .word 0x00001234 +_0202737C: .word 0x00002345 + + thumb_func_start sub_02027380 +sub_02027380: ; 0x02027380 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x4] + add r6, r2, #0x0 + bl sub_02013ECC + add r1, sp, #0xc + strh r0, [r1, #0x0] + lsr r0, r0, #0x10 + strh r0, [r1, #0x2] + ldrh r0, [r1, #0x0] + strh r0, [r1, #0x4] + ldrh r0, [r1, #0x2] + strh r0, [r1, #0x6] + ldr r0, [r4, #0x4] + bl sub_02013F00 + str r0, [sp, #0x8] + cmp r6, #0xa + blt _020273B0 + bl sub_02020C2C +_020273B0: + add r1, sp, #0xc + mov r0, #0x4 + ldrsh r1, [r1, r0] + add r0, #0xfc + cmp r1, r0 + blt _020273C0 + bl sub_02020C2C +_020273C0: + add r1, sp, #0xc + mov r0, #0x6 + ldrsh r7, [r1, r0] + add r0, #0xfa + cmp r7, r0 + blt _020273D0 + bl sub_02020C2C +_020273D0: + mov r1, #0x7f + ldr r0, [sp, #0x8] + mvn r1, r1 + cmp r0, r1 + bgt _020273DE + bl sub_02020C2C +_020273DE: + mov r0, #0x1 + lsl r0, r6 + ldr r1, [r5, #0x3c] + str r0, [sp, #0x4] + tst r0, r1 + beq _020273EE + bl sub_02020C2C +_020273EE: + ldr r1, [r5, #0x0] + ldr r0, _02027440 ; =0x00001234 + cmp r1, r0 + beq _020273FC + ldr r0, _02027444 ; =0x00002345 + cmp r1, r0 + bne _02027400 +_020273FC: + mov r0, #0x1 + b _02027402 +_02027400: + mov r0, #0x0 +_02027402: + cmp r0, #0x0 + bne _0202740A + bl sub_02020C2C +_0202740A: + ldr r0, [sp, #0x8] + add r1, r5, #0x0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r3, sp, #0xc + mov r2, #0x4 + ldrsh r2, [r3, r2] + lsl r3, r7, #0x18 + add r1, #0x48 + lsl r0, r6, #0x2 + add r0, r1, r0 + ldr r1, [r4, #0x0] + lsl r2, r2, #0x18 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_02026DB0 + ldr r1, [r5, #0x3c] + ldr r0, [sp, #0x4] + orr r0, r1 + str r0, [r5, #0x3c] + add sp, #0x14 + pop {r4-r7, pc} + nop +_02027440: .word 0x00001234 +_02027444: .word 0x00002345 + + thumb_func_start sub_02027448 +sub_02027448: ; 0x02027448 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027470 ; =0x00001234 + cmp r1, r0 + beq _0202745C + ldr r0, _02027474 ; =0x00002345 + cmp r1, r0 + bne _02027460 +_0202745C: + mov r0, #0x1 + b _02027462 +_02027460: + mov r0, #0x0 +_02027462: + cmp r0, #0x0 + bne _0202746A + bl sub_02020C2C +_0202746A: + add r5, #0x70 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 +_02027470: .word 0x00001234 +_02027474: .word 0x00002345 + + thumb_func_start sub_02027478 +sub_02027478: ; 0x02027478 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020274B0 ; =0x00001234 + cmp r1, r0 + beq _0202748C + ldr r0, _020274B4 ; =0x00002345 + cmp r1, r0 + bne _02027490 +_0202748C: + mov r0, #0x1 + b _02027492 +_02027490: + mov r0, #0x0 +_02027492: + cmp r0, #0x0 + bne _0202749A + bl sub_02020C2C +_0202749A: + add r0, r5, #0x0 + add r0, #0x40 + bl sub_02013724 + add r5, #0x40 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02013998 + pop {r3-r5, pc} + .balign 4 +_020274B0: .word 0x00001234 +_020274B4: .word 0x00002345 + + thumb_func_start sub_020274B8 +sub_020274B8: ; 0x020274B8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020274E8 ; =0x00001234 + cmp r1, r0 + beq _020274CC + ldr r0, _020274EC ; =0x00002345 + cmp r1, r0 + bne _020274D0 +_020274CC: + mov r0, #0x1 + b _020274D2 +_020274D0: + mov r0, #0x0 +_020274D2: + cmp r0, #0x0 + bne _020274DA + bl sub_02020C2C +_020274DA: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x74 + blx sub_020DF438 + pop {r3-r5, pc} + nop +_020274E8: .word 0x00001234 +_020274EC: .word 0x00002345 + + thumb_func_start sub_020274F0 +sub_020274F0: ; 0x020274F0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027520 ; =0x00001234 + add r6, r2, #0x0 + cmp r1, r0 + beq _02027506 + ldr r0, _02027524 ; =0x00002345 + cmp r1, r0 + bne _0202750A +_02027506: + mov r0, #0x1 + b _0202750C +_0202750A: + mov r0, #0x0 +_0202750C: + cmp r0, #0x0 + bne _02027514 + bl sub_02020C2C +_02027514: + add r0, r5, #0x4 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02026D98 + pop {r4-r6, pc} + .balign 4 +_02027520: .word 0x00001234 +_02027524: .word 0x00002345 + + thumb_func_start sub_02027528 +sub_02027528: ; 0x02027528 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xa + blt _02027536 + bl sub_02020C2C +_02027536: + ldr r1, [r5, #0x0] + ldr r0, _0202755C ; =0x00001234 + cmp r1, r0 + beq _02027544 + ldr r0, _02027560 ; =0x00002345 + cmp r1, r0 + bne _02027548 +_02027544: + mov r0, #0x1 + b _0202754A +_02027548: + mov r0, #0x0 +_0202754A: + cmp r0, #0x0 + bne _02027552 + bl sub_02020C2C +_02027552: + mov r0, #0x1 + ldr r1, [r5, #0x3c] + lsl r0, r4 + and r0, r1 + pop {r3-r5, pc} + .balign 4 +_0202755C: .word 0x00001234 +_02027560: .word 0x00002345 + + thumb_func_start sub_02027564 +sub_02027564: ; 0x02027564 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027588 ; =0x00001234 + cmp r1, r0 + beq _02027576 + ldr r0, _0202758C ; =0x00002345 + cmp r1, r0 + bne _0202757A +_02027576: + mov r0, #0x1 + b _0202757C +_0202757A: + mov r0, #0x0 +_0202757C: + cmp r0, #0x0 + bne _02027584 + bl sub_02020C2C +_02027584: + add r0, r4, #0x4 + pop {r4, pc} + .balign 4 +_02027588: .word 0x00001234 +_0202758C: .word 0x00002345 + + thumb_func_start sub_02027590 +sub_02027590: ; 0x02027590 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xa + blt _0202759E + bl sub_02020C2C +_0202759E: + mov r0, #0x1 + ldr r1, [r5, #0x3c] + lsl r0, r4 + tst r0, r1 + bne _020275AC + bl sub_02020C2C +_020275AC: + ldr r1, [r5, #0x0] + ldr r0, _020275D0 ; =0x00001234 + cmp r1, r0 + beq _020275BA + ldr r0, _020275D4 ; =0x00002345 + cmp r1, r0 + bne _020275BE +_020275BA: + mov r0, #0x1 + b _020275C0 +_020275BE: + mov r0, #0x0 +_020275C0: + cmp r0, #0x0 + bne _020275C8 + bl sub_02020C2C +_020275C8: + add r5, #0x48 + lsl r0, r4, #0x2 + add r0, r5, r0 + pop {r3-r5, pc} + .balign 4 +_020275D0: .word 0x00001234 +_020275D4: .word 0x00002345 + + thumb_func_start sub_020275D8 +sub_020275D8: ; 0x020275D8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027600 ; =0x00001234 + cmp r1, r0 + beq _020275EA + ldr r0, _02027604 ; =0x00002345 + cmp r1, r0 + bne _020275EE +_020275EA: + mov r0, #0x1 + b _020275F0 +_020275EE: + mov r0, #0x0 +_020275F0: + cmp r0, #0x0 + bne _020275F8 + bl sub_02020C2C +_020275F8: + add r0, r4, #0x4 + bl sub_02027C84 + pop {r4, pc} + .balign 4 +_02027600: .word 0x00001234 +_02027604: .word 0x00002345 + + thumb_func_start sub_02027608 +sub_02027608: ; 0x02027608 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027634 ; =0x00001234 + cmp r1, r0 + beq _0202761C + ldr r0, _02027638 ; =0x00002345 + cmp r1, r0 + bne _02027620 +_0202761C: + mov r0, #0x1 + b _02027622 +_02027620: + mov r0, #0x0 +_02027622: + cmp r0, #0x0 + bne _0202762A + bl sub_02020C2C +_0202762A: + add r0, r5, #0x4 + add r1, r4, #0x0 + bl sub_02027C88 + pop {r3-r5, pc} + .balign 4 +_02027634: .word 0x00001234 +_02027638: .word 0x00002345 + + thumb_func_start sub_0202763C +sub_0202763C: ; 0x0202763C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027664 ; =0x00001234 + cmp r1, r0 + beq _0202764E + ldr r0, _02027668 ; =0x00002345 + cmp r1, r0 + bne _02027652 +_0202764E: + mov r0, #0x1 + b _02027654 +_02027652: + mov r0, #0x0 +_02027654: + cmp r0, #0x0 + bne _0202765C + bl sub_02020C2C +_0202765C: + add r0, r4, #0x4 + bl sub_02027C98 + pop {r4, pc} + .balign 4 +_02027664: .word 0x00001234 +_02027668: .word 0x00002345 + + thumb_func_start sub_0202766C +sub_0202766C: ; 0x0202766C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027694 ; =0x00001234 + cmp r1, r0 + beq _0202767E + ldr r0, _02027698 ; =0x00002345 + cmp r1, r0 + bne _02027682 +_0202767E: + mov r0, #0x1 + b _02027684 +_02027682: + mov r0, #0x0 +_02027684: + cmp r0, #0x0 + bne _0202768C + bl sub_02020C2C +_0202768C: + add r4, #0x70 + ldrb r0, [r4, #0x0] + pop {r4, pc} + nop +_02027694: .word 0x00001234 +_02027698: .word 0x00002345 + + thumb_func_start sub_0202769C +sub_0202769C: ; 0x0202769C + ldr r3, _020276A4 ; =sub_02013918 + add r0, #0x40 + mov r1, #0x0 + bx r3 + .balign 4 +_020276A4: .word sub_02013918 + 1 + + thumb_func_start sub_020276A8 +sub_020276A8: ; 0x020276A8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _020276D0 ; =0x00001234 + cmp r1, r0 + beq _020276BA + ldr r0, _020276D4 ; =0x00002345 + cmp r1, r0 + bne _020276BE +_020276BA: + mov r0, #0x1 + b _020276C0 +_020276BE: + mov r0, #0x0 +_020276C0: + cmp r0, #0x0 + bne _020276C8 + bl sub_02020C2C +_020276C8: + add r4, #0x71 + ldrb r0, [r4, #0x0] + pop {r4, pc} + nop +_020276D0: .word 0x00001234 +_020276D4: .word 0x00002345 + + thumb_func_start sub_020276D8 +sub_020276D8: ; 0x020276D8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027708 ; =0x00001234 + cmp r1, r0 + beq _020276EA + ldr r0, _0202770C ; =0x00002345 + cmp r1, r0 + bne _020276EE +_020276EA: + mov r0, #0x1 + b _020276F0 +_020276EE: + mov r0, #0x0 +_020276F0: + cmp r0, #0x0 + bne _020276F8 + bl sub_02020C2C +_020276F8: + ldr r1, [r4, #0x0] + ldr r0, _0202770C ; =0x00002345 + cmp r1, r0 + bne _02027704 + mov r0, #0x1 + pop {r4, pc} +_02027704: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_02027708: .word 0x00001234 +_0202770C: .word 0x00002345 + + thumb_func_start sub_02027710 +sub_02027710: ; 0x02027710 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027738 ; =0x00001234 + cmp r1, r0 + beq _02027722 + ldr r0, _0202773C ; =0x00002345 + cmp r1, r0 + bne _02027726 +_02027722: + mov r0, #0x1 + b _02027728 +_02027726: + mov r0, #0x0 +_02027728: + cmp r0, #0x0 + bne _02027730 + bl sub_02020C2C +_02027730: + ldr r0, _0202773C ; =0x00002345 + str r0, [r4, #0x0] + pop {r4, pc} + nop +_02027738: .word 0x00001234 +_0202773C: .word 0x00002345 + + thumb_func_start sub_02027740 +sub_02027740: ; 0x02027740 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027770 ; =0x00001234 + cmp r1, r0 + beq _02027752 + ldr r0, _02027774 ; =0x00002345 + cmp r1, r0 + bne _02027756 +_02027752: + mov r0, #0x1 + b _02027758 +_02027756: + mov r0, #0x0 +_02027758: + cmp r0, #0x0 + bne _02027760 + bl sub_02020C2C +_02027760: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x98 + blx sub_020DF4A4 + ldr r0, _02027770 ; =0x00001234 + str r0, [r4, #0x0] + pop {r4, pc} + .balign 4 +_02027770: .word 0x00001234 +_02027774: .word 0x00002345 + + thumb_func_start sub_02027778 +sub_02027778: ; 0x02027778 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020277AC ; =0x00001234 + add r6, r2, #0x0 + cmp r1, r0 + beq _0202778E + ldr r0, _020277B0 ; =0x00002345 + cmp r1, r0 + bne _02027792 +_0202778E: + mov r0, #0x1 + b _02027794 +_02027792: + mov r0, #0x0 +_02027794: + cmp r0, #0x0 + bne _0202779C + bl sub_02020C2C +_0202779C: + add r5, #0x8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02026D34 + pop {r4-r6, pc} + nop +_020277AC: .word 0x00001234 +_020277B0: .word 0x00002345 + + thumb_func_start sub_020277B4 +sub_020277B4: ; 0x020277B4 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x4] + add r6, r2, #0x0 + bl sub_02013ECC + add r1, sp, #0xc + strh r0, [r1, #0x0] + lsr r0, r0, #0x10 + strh r0, [r1, #0x2] + ldrh r0, [r1, #0x0] + strh r0, [r1, #0x4] + ldrh r0, [r1, #0x2] + strh r0, [r1, #0x6] + ldr r0, [r4, #0x4] + bl sub_02013F00 + str r0, [sp, #0x8] + cmp r6, #0x14 + blt _020277E4 + bl sub_02020C2C +_020277E4: + add r1, sp, #0xc + mov r0, #0x4 + ldrsh r1, [r1, r0] + add r0, #0xfc + cmp r1, r0 + blt _020277F4 + bl sub_02020C2C +_020277F4: + add r1, sp, #0xc + mov r0, #0x6 + ldrsh r7, [r1, r0] + add r0, #0xfa + cmp r7, r0 + blt _02027804 + bl sub_02020C2C +_02027804: + mov r1, #0x7f + ldr r0, [sp, #0x8] + mvn r1, r1 + cmp r0, r1 + bgt _02027812 + bl sub_02020C2C +_02027812: + mov r0, #0x1 + lsl r0, r6 + ldr r1, [r5, #0x40] + str r0, [sp, #0x4] + tst r0, r1 + beq _02027822 + bl sub_02020C2C +_02027822: + ldr r1, [r5, #0x0] + ldr r0, _02027874 ; =0x00001234 + cmp r1, r0 + beq _02027830 + ldr r0, _02027878 ; =0x00002345 + cmp r1, r0 + bne _02027834 +_02027830: + mov r0, #0x1 + b _02027836 +_02027834: + mov r0, #0x0 +_02027836: + cmp r0, #0x0 + bne _0202783E + bl sub_02020C2C +_0202783E: + ldr r0, [sp, #0x8] + add r1, r5, #0x0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r3, sp, #0xc + mov r2, #0x4 + ldrsh r2, [r3, r2] + lsl r3, r7, #0x18 + add r1, #0x44 + lsl r0, r6, #0x2 + add r0, r1, r0 + ldr r1, [r4, #0x0] + lsl r2, r2, #0x18 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_02026DB0 + ldr r1, [r5, #0x40] + ldr r0, [sp, #0x4] + orr r0, r1 + str r0, [r5, #0x40] + add sp, #0x14 + pop {r4-r7, pc} + nop +_02027874: .word 0x00001234 +_02027878: .word 0x00002345 + + thumb_func_start sub_0202787C +sub_0202787C: ; 0x0202787C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020278A4 ; =0x00001234 + cmp r1, r0 + beq _02027890 + ldr r0, _020278A8 ; =0x00002345 + cmp r1, r0 + bne _02027894 +_02027890: + mov r0, #0x1 + b _02027896 +_02027894: + mov r0, #0x0 +_02027896: + cmp r0, #0x0 + bne _0202789E + bl sub_02020C2C +_0202789E: + add r5, #0x94 + strb r4, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 +_020278A4: .word 0x00001234 +_020278A8: .word 0x00002345 + + thumb_func_start sub_020278AC +sub_020278AC: ; 0x020278AC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _020278D4 ; =0x00001234 + cmp r1, r0 + beq _020278C0 + ldr r0, _020278D8 ; =0x00002345 + cmp r1, r0 + bne _020278C4 +_020278C0: + mov r0, #0x1 + b _020278C6 +_020278C4: + mov r0, #0x0 +_020278C6: + cmp r0, #0x0 + bne _020278CE + bl sub_02020C2C +_020278CE: + str r4, [r5, #0x4] + pop {r3-r5, pc} + nop +_020278D4: .word 0x00001234 +_020278D8: .word 0x00002345 + + thumb_func_start sub_020278DC +sub_020278DC: ; 0x020278DC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _0202790C ; =0x00001234 + cmp r1, r0 + beq _020278F0 + ldr r0, _02027910 ; =0x00002345 + cmp r1, r0 + bne _020278F4 +_020278F0: + mov r0, #0x1 + b _020278F6 +_020278F4: + mov r0, #0x0 +_020278F6: + cmp r0, #0x0 + bne _020278FE + bl sub_02020C2C +_020278FE: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x98 + blx sub_020DF438 + pop {r3-r5, pc} + nop +_0202790C: .word 0x00001234 +_02027910: .word 0x00002345 + + thumb_func_start sub_02027914 +sub_02027914: ; 0x02027914 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _0202795C ; =0x00001234 + add r6, r2, #0x0 + cmp r1, r0 + beq _0202792C + ldr r0, _02027960 ; =0x00002345 + cmp r1, r0 + bne _02027930 +_0202792C: + mov r0, #0x1 + b _02027932 +_02027930: + mov r0, #0x0 +_02027932: + cmp r0, #0x0 + bne _0202793A + bl sub_02020C2C +_0202793A: + add r1, sp, #0x4 + add r0, r4, #0x0 + add r1, #0x1 + add r2, sp, #0x4 + bl sub_02026F3C + add r5, #0x8 + str r6, [sp, #0x0] + add r3, sp, #0x4 + ldrb r2, [r3, #0x1] + ldrb r3, [r3, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02026CD0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0202795C: .word 0x00001234 +_02027960: .word 0x00002345 + + thumb_func_start sub_02027964 +sub_02027964: ; 0x02027964 + push {r4-r7, lr} + sub sp, #0xc + str r3, [sp, #0x4] + add r6, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + ldr r4, [sp, #0x24] + cmp r6, #0x14 + blo _0202797A + bl sub_02020C2C +_0202797A: + cmp r7, #0x64 + blo _02027982 + bl sub_02020C2C +_02027982: + mov r1, #0x1 + ldr r0, [sp, #0x4] + lsl r1, r1, #0x8 + cmp r0, r1 + blt _02027990 + bl sub_02020C2C +_02027990: + add r0, sp, #0x10 + ldrb r1, [r0, #0x10] + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r1, r0 + blt _020279A0 + bl sub_02020C2C +_020279A0: + mov r0, #0x7f + mvn r0, r0 + cmp r4, r0 + bgt _020279AC + bl sub_02020C2C +_020279AC: + mov r0, #0x1 + lsl r0, r6 + ldr r1, [r5, #0x40] + str r0, [sp, #0x8] + tst r0, r1 + beq _020279BC + bl sub_02020C2C +_020279BC: + ldr r1, [r5, #0x0] + ldr r0, _02027A0C ; =0x00001234 + cmp r1, r0 + beq _020279CA + ldr r0, _02027A10 ; =0x00002345 + cmp r1, r0 + bne _020279CE +_020279CA: + mov r0, #0x1 + b _020279D0 +_020279CE: + mov r0, #0x0 +_020279D0: + cmp r0, #0x0 + bne _020279D8 + bl sub_02020C2C +_020279D8: + mov r0, #0x38 + ldrsb r0, [r5, r0] + cmp r0, r4 + blt _020279E6 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 +_020279E6: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + add r3, sp, #0x10 + add r1, r5, #0x0 + ldrb r3, [r3, #0x10] + add r1, #0x44 + lsl r0, r6, #0x2 + add r0, r1, r0 + ldr r2, [sp, #0x4] + add r1, r7, #0x0 + bl sub_02026DB0 + ldr r1, [r5, #0x40] + ldr r0, [sp, #0x8] + orr r0, r1 + str r0, [r5, #0x40] + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02027A0C: .word 0x00001234 +_02027A10: .word 0x00002345 + + thumb_func_start sub_02027A14 +sub_02027A14: ; 0x02027A14 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x14 + blt _02027A22 + bl sub_02020C2C +_02027A22: + ldr r1, [r5, #0x0] + ldr r0, _02027A50 ; =0x00001234 + cmp r1, r0 + beq _02027A30 + ldr r0, _02027A54 ; =0x00002345 + cmp r1, r0 + bne _02027A34 +_02027A30: + mov r0, #0x1 + b _02027A36 +_02027A34: + mov r0, #0x0 +_02027A36: + cmp r0, #0x0 + bne _02027A3E + bl sub_02020C2C +_02027A3E: + mov r0, #0x1 + add r1, r0, #0x0 + ldr r2, [r5, #0x40] + lsl r1, r4 + tst r1, r2 + bne _02027A4C + mov r0, #0x0 +_02027A4C: + pop {r3-r5, pc} + nop +_02027A50: .word 0x00001234 +_02027A54: .word 0x00002345 + + thumb_func_start sub_02027A58 +sub_02027A58: ; 0x02027A58 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027A8C ; =0x00001234 + add r6, r2, #0x0 + cmp r1, r0 + beq _02027A6E + ldr r0, _02027A90 ; =0x00002345 + cmp r1, r0 + bne _02027A72 +_02027A6E: + mov r0, #0x1 + b _02027A74 +_02027A72: + mov r0, #0x0 +_02027A74: + cmp r0, #0x0 + bne _02027A7C + bl sub_02020C2C +_02027A7C: + add r5, #0x8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02026D98 + pop {r4-r6, pc} + nop +_02027A8C: .word 0x00001234 +_02027A90: .word 0x00002345 + + thumb_func_start sub_02027A94 +sub_02027A94: ; 0x02027A94 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027ABC ; =0x00001234 + cmp r1, r0 + beq _02027AA6 + ldr r0, _02027AC0 ; =0x00002345 + cmp r1, r0 + bne _02027AAA +_02027AA6: + mov r0, #0x1 + b _02027AAC +_02027AAA: + mov r0, #0x0 +_02027AAC: + cmp r0, #0x0 + bne _02027AB4 + bl sub_02020C2C +_02027AB4: + add r4, #0x8 + add r0, r4, #0x0 + pop {r4, pc} + nop +_02027ABC: .word 0x00001234 +_02027AC0: .word 0x00002345 + + thumb_func_start sub_02027AC4 +sub_02027AC4: ; 0x02027AC4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x14 + blt _02027AD2 + bl sub_02020C2C +_02027AD2: + mov r0, #0x1 + ldr r1, [r5, #0x40] + lsl r0, r4 + tst r0, r1 + bne _02027AE0 + bl sub_02020C2C +_02027AE0: + ldr r1, [r5, #0x0] + ldr r0, _02027B04 ; =0x00001234 + cmp r1, r0 + beq _02027AEE + ldr r0, _02027B08 ; =0x00002345 + cmp r1, r0 + bne _02027AF2 +_02027AEE: + mov r0, #0x1 + b _02027AF4 +_02027AF2: + mov r0, #0x0 +_02027AF4: + cmp r0, #0x0 + bne _02027AFC + bl sub_02020C2C +_02027AFC: + add r5, #0x44 + lsl r0, r4, #0x2 + add r0, r5, r0 + pop {r3-r5, pc} + .balign 4 +_02027B04: .word 0x00001234 +_02027B08: .word 0x00002345 + + thumb_func_start sub_02027B0C +sub_02027B0C: ; 0x02027B0C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027B3C ; =0x00001234 + cmp r1, r0 + beq _02027B20 + ldr r0, _02027B40 ; =0x00002345 + cmp r1, r0 + bne _02027B24 +_02027B20: + mov r0, #0x1 + b _02027B26 +_02027B24: + mov r0, #0x0 +_02027B26: + cmp r0, #0x0 + bne _02027B2E + bl sub_02020C2C +_02027B2E: + add r5, #0x8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02027C88 + pop {r3-r5, pc} + nop +_02027B3C: .word 0x00001234 +_02027B40: .word 0x00002345 + + thumb_func_start sub_02027B44 +sub_02027B44: ; 0x02027B44 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027B70 ; =0x00001234 + cmp r1, r0 + beq _02027B56 + ldr r0, _02027B74 ; =0x00002345 + cmp r1, r0 + bne _02027B5A +_02027B56: + mov r0, #0x1 + b _02027B5C +_02027B5A: + mov r0, #0x0 +_02027B5C: + cmp r0, #0x0 + bne _02027B64 + bl sub_02020C2C +_02027B64: + add r4, #0x8 + add r0, r4, #0x0 + bl sub_02027C98 + pop {r4, pc} + nop +_02027B70: .word 0x00001234 +_02027B74: .word 0x00002345 + + thumb_func_start sub_02027B78 +sub_02027B78: ; 0x02027B78 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x0] + ldr r0, _02027BD4 ; =0x00001234 + cmp r1, r0 + beq _02027B8E + ldr r0, _02027BD8 ; =0x00002345 + cmp r1, r0 + bne _02027B92 +_02027B8E: + mov r0, #0x1 + b _02027B94 +_02027B92: + mov r0, #0x0 +_02027B94: + cmp r0, #0x0 + bne _02027B9C + bl sub_02020C2C +_02027B9C: + mov r1, #0x1 + str r1, [sp, #0x0] + ldr r0, [r5, #0x8] + mov r2, #0x0 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r5, #0xc] + add r3, r2, #0x0 + str r0, [sp, #0xc] + ldrh r1, [r5, #0x10] + add r0, r4, #0x0 + bl sub_02066ACC + add r2, r5, #0x0 + add r0, r4, #0x0 + mov r1, #0x74 + add r2, #0x12 + bl sub_02067830 + add r5, #0x3b + add r0, r4, #0x0 + mov r1, #0x70 + add r2, r5, #0x0 + bl sub_02067830 + add sp, #0x10 + pop {r3-r5, pc} + nop +_02027BD4: .word 0x00001234 +_02027BD8: .word 0x00002345 + + thumb_func_start sub_02027BDC +sub_02027BDC: ; 0x02027BDC + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x14 + blt _02027BEA + bl sub_02020C2C +_02027BEA: + mov r0, #0x1 + ldr r1, [r5, #0x40] + lsl r0, r4 + tst r0, r1 + bne _02027BF8 + bl sub_02020C2C +_02027BF8: + ldr r1, [r5, #0x0] + ldr r0, _02027C20 ; =0x00001234 + cmp r1, r0 + beq _02027C06 + ldr r0, _02027C24 ; =0x00002345 + cmp r1, r0 + bne _02027C0A +_02027C06: + mov r0, #0x1 + b _02027C0C +_02027C0A: + mov r0, #0x0 +_02027C0C: + cmp r0, #0x0 + bne _02027C14 + bl sub_02020C2C +_02027C14: + add r5, #0x44 + lsl r0, r4, #0x2 + add r0, r5, r0 + bl sub_02027CF8 + pop {r3-r5, pc} + .balign 4 +_02027C20: .word 0x00001234 +_02027C24: .word 0x00002345 + + thumb_func_start sub_02027C28 +sub_02027C28: ; 0x02027C28 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027C50 ; =0x00001234 + cmp r1, r0 + beq _02027C3A + ldr r0, _02027C54 ; =0x00002345 + cmp r1, r0 + bne _02027C3E +_02027C3A: + mov r0, #0x1 + b _02027C40 +_02027C3E: + mov r0, #0x0 +_02027C40: + cmp r0, #0x0 + bne _02027C48 + bl sub_02020C2C +_02027C48: + add r4, #0x94 + ldrb r0, [r4, #0x0] + pop {r4, pc} + nop +_02027C50: .word 0x00001234 +_02027C54: .word 0x00002345 + + thumb_func_start sub_02027C58 +sub_02027C58: ; 0x02027C58 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02027C7C ; =0x00001234 + cmp r1, r0 + beq _02027C6A + ldr r0, _02027C80 ; =0x00002345 + cmp r1, r0 + bne _02027C6E +_02027C6A: + mov r0, #0x1 + b _02027C70 +_02027C6E: + mov r0, #0x0 +_02027C70: + cmp r0, #0x0 + bne _02027C78 + bl sub_02020C2C +_02027C78: + ldr r0, [r4, #0x4] + pop {r4, pc} + .balign 4 +_02027C7C: .word 0x00001234 +_02027C80: .word 0x00002345 + + thumb_func_start sub_02027C84 +sub_02027C84: ; 0x02027C84 + ldrh r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02027C88 +sub_02027C88: ; 0x02027C88 + add r2, r0, #0x0 + ldr r3, _02027C94 ; =sub_02021E28 + add r2, #0x20 + add r0, r1, #0x0 + add r1, r2, #0x0 + bx r3 + .balign 4 +_02027C94: .word sub_02021E28 + 1 + + thumb_func_start sub_02027C98 +sub_02027C98: ; 0x02027C98 + add r0, #0x34 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02027CA0 +sub_02027CA0: ; 0x02027CA0 + mov r1, #0x30 + ldrsb r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_02027CA8 +sub_02027CA8: ; 0x02027CA8 + add r0, #0x31 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02027CB0 +sub_02027CB0: ; 0x02027CB0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02027CB8 +sub_02027CB8: ; 0x02027CB8 + push {r3-r5, lr} + sub sp, #0x10 + add r4, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + str r1, [sp, #0x0] + ldr r0, [r5, #0x0] + mov r2, #0x0 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r5, #0x4] + add r3, r2, #0x0 + str r0, [sp, #0xc] + ldrh r1, [r5, #0x8] + add r0, r4, #0x0 + bl sub_02066ACC + add r2, r5, #0x0 + add r0, r4, #0x0 + mov r1, #0x74 + add r2, #0xa + bl sub_02067830 + add r5, #0x33 + add r0, r4, #0x0 + mov r1, #0x70 + add r2, r5, #0x0 + bl sub_02067830 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02027CF8 +sub_02027CF8: ; 0x02027CF8 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02027CFC +sub_02027CFC: ; 0x02027CFC + ldrb r0, [r0, #0x1] + bx lr + + thumb_func_start sub_02027D00 +sub_02027D00: ; 0x02027D00 + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02027D04 +sub_02027D04: ; 0x02027D04 + mov r1, #0x3 + ldrsb r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_02027D0C +sub_02027D0C: ; 0x02027D0C + push {r4-r7, lr} + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0xc + add r7, r0, #0x0 + mov r0, #0x1 + add r4, r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_0202729C + cmp r0, #0x1 + bne _02027D6A + ldr r1, _02027D78 ; =0xEDB88320 + add r0, sp, #0x4 + blx sub_020DDE44 + add r0, sp, #0x4 + add r1, r4, #0x0 + mov r2, #0x74 + blx sub_020DDD28 + add r6, r0, #0x0 + mov r5, #0x0 +_02027D3C: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_02027008 + add r4, r0, #0x0 + ldr r1, _02027D78 ; =0xEDB88320 + add r0, sp, #0x4 + blx sub_020DDE44 + add r0, sp, #0x4 + add r1, r4, #0x0 + mov r2, #0x74 + blx sub_020DDD28 + cmp r0, r6 + bne _02027D62 + mov r0, #0x0 + str r0, [sp, #0x0] + b _02027D6E +_02027D62: + add r5, r5, #0x1 + cmp r5, #0xb + blt _02027D3C + b _02027D6E +_02027D6A: + mov r0, #0x0 + str r0, [sp, #0x0] +_02027D6E: + ldr r0, [sp, #0x0] + add sp, #0x1fc + add sp, #0x1fc + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02027D78: .word 0xEDB88320 + + thumb_func_start sub_02027D7C +sub_02027D7C: ; 0x02027D7C + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + mov r7, #0x0 + ldr r0, [sp, #0x0] + str r1, [sp, #0x4] + add r5, r2, #0x0 + add r6, r7, #0x0 + str r3, [sp, #0x8] + cmp r0, #0x0 + ble _02027DB6 + add r4, r3, #0x0 +_02027D94: + ldr r0, [sp, #0x4] + cmp r6, r0 + beq _02027DAC + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02027DAC + add r0, r5, #0x0 + bl sub_02027D0C + cmp r0, #0x1 + bne _02027DAC + add r7, r7, #0x1 +_02027DAC: + ldr r0, [sp, #0x0] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _02027D94 +_02027DB6: + mov r4, #0xa +_02027DB8: + add r1, r4, r7 + cmp r1, #0xb + bge _02027DD6 + add r0, r5, #0x0 + bl sub_02027008 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02027008 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_020274B8 +_02027DD6: + sub r4, r4, #0x1 + cmp r4, #0x1 + bge _02027DB8 + ldr r0, [sp, #0x0] + mov r6, #0x1 + mov r4, #0x0 + cmp r0, #0x0 + ble _02027E1E +_02027DE6: + ldr r0, [sp, #0x4] + cmp r4, r0 + beq _02027E10 + ldr r0, [sp, #0x8] + ldr r7, [r0, #0x0] + cmp r7, #0x0 + beq _02027E10 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02027D0C + cmp r0, #0x1 + bne _02027E10 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02027008 + add r1, r7, #0x0 + add r6, r6, #0x1 + bl sub_020274B8 +_02027E10: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r0, r0, #0x4 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + cmp r4, r0 + blt _02027DE6 +_02027E1E: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02027E24 +sub_02027E24: ; 0x02027E24 + ldr r3, _02027E2C ; =sub_02022610 + mov r1, #0xe + bx r3 + nop +_02027E2C: .word sub_02022610 + 1 + + thumb_func_start sub_02027E30 +sub_02027E30: ; 0x02027E30 + mov r0, #0x8 + bx lr + + thumb_func_start sub_02027E34 +sub_02027E34: ; 0x02027E34 + ldrb r0, [r0, #0x0] + cmp r0, #0x1e + beq _02027E3E + mov r0, #0x1 + bx lr +_02027E3E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02027E44 +sub_02027E44: ; 0x02027E44 + mov r1, #0x1e + strb r1, [r0, #0x0] + mov r1, #0x0 + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + bx lr + .balign 4 + + thumb_func_start sub_02027E5C +sub_02027E5C: ; 0x02027E5C + push {r4, lr} + mov r1, #0x8 + bl sub_020169D8 + add r4, r0, #0x0 + bl sub_02027E44 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02027E70 +sub_02027E70: ; 0x02027E70 + ldrb r2, [r0, #0x0] + strb r2, [r1, #0x0] + ldrb r2, [r0, #0x1] + strb r2, [r1, #0x1] + ldrb r2, [r0, #0x2] + strb r2, [r1, #0x2] + ldrb r2, [r0, #0x3] + strb r2, [r1, #0x3] + ldrb r2, [r0, #0x4] + strb r2, [r1, #0x4] + ldrb r2, [r0, #0x5] + strb r2, [r1, #0x5] + ldrb r2, [r0, #0x6] + strb r2, [r1, #0x6] + ldrb r0, [r0, #0x7] + strb r0, [r1, #0x7] + bx lr + .balign 4 + + thumb_func_start sub_02027E94 +sub_02027E94: ; 0x02027E94 + cmp r1, #0x6 + bhi _02027ECA + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + ldrb r0, [r0, #0x0] + bx lr +_02027EB6: + .byte 0x40, 0x78, 0x70, 0x47, 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78 + .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47 +_02027ECA: + ldrb r0, [r0, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_02027ED0 +sub_02027ED0: ; 0x02027ED0 + push {r3-r7, lr} + add r5, r0, #0x0 + str r1, [sp, #0x0] + mov r4, #0x0 + mov r6, #0x2 + mov r7, #0x5 +_02027EDC: + bl sub_0201B9EC + add r1, r7, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + add r1, r5, r0 + ldrb r0, [r1, #0x1] + cmp r0, #0x0 + bne _02027EF6 + strb r6, [r1, #0x1] + add r4, r4, #0x1 +_02027EF6: + cmp r4, #0x3 + blt _02027EDC + mov r0, #0x1b + strb r0, [r5, #0x0] + ldr r0, [sp, #0x0] + strb r0, [r5, #0x6] + pop {r3-r7, pc} + + thumb_func_start sub_02027F04 +sub_02027F04: ; 0x02027F04 + push {r3-r7, lr} + sub sp, #0x8 + mov r12, r2 + mov r2, #0x0 + add r6, r2, #0x0 + mov r5, #0x1b + cmp r3, #0x0 + beq _02027F20 + mov r1, r12 + bl sub_02027ED0 + add sp, #0x8 + add r0, r5, #0x0 + pop {r3-r7, pc} +_02027F20: + add r4, r2, #0x0 + add r7, sp, #0x0 +_02027F24: + ldrb r3, [r1, r4] + cmp r3, #0x0 + beq _02027F34 + cmp r3, #0x32 + blo _02027F30 + mov r6, #0x1 +_02027F30: + strb r4, [r7, r2] + add r2, r2, #0x1 +_02027F34: + add r4, r4, #0x1 + cmp r4, #0x5 + blt _02027F24 + cmp r2, #0x5 + bhi _02027F9C + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r1, #0 + lsl r6, r2, #0 + lsl r4, r4, #0 + lsl r2, r1, #0x1 + lsl r6, r1, #0x1 + lsl r6, r1, #0x1 + mov r1, r12 + bl sub_02027ED0 + add sp, #0x8 + mov r0, #0x1b + pop {r3-r7, pc} +_02027F62: + .byte 0x00, 0xAA, 0x13, 0x78, 0x06, 0x22, 0x5A, 0x43, 0x12, 0x06, 0x15, 0x0E, 0x15, 0xE0 + .byte 0x00, 0xAA, 0x53, 0x78, 0x12, 0x78, 0xCC, 0x5C, 0x8D, 0x5C, 0xA5, 0x42, 0x05, 0xD3, 0x94, 0x00 + .byte 0x12, 0x19, 0x9A, 0x18, 0x12, 0x06, 0x15, 0x0E, 0x08, 0xE0, 0x9C, 0x00, 0x1B, 0x19, 0xD2, 0x18 + .byte 0x12, 0x06, 0x15, 0x0E, 0x02, 0xE0, 0x19, 0x25, 0x00, 0xE0, 0x1A, 0x25 +_02027F9C: + cmp r6, #0x0 + beq _02027FA2 + mov r5, #0x1c +_02027FA2: + mov r4, #0x0 +_02027FA4: + ldrb r3, [r1, r4] + add r2, r0, r4 + add r4, r4, #0x1 + strb r3, [r2, #0x1] + cmp r4, #0x5 + blt _02027FA4 + strb r5, [r0, #0x0] + mov r1, r12 + strb r1, [r0, #0x6] + add r0, r5, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02027FBC +sub_02027FBC: ; 0x02027FBC + ldrb r2, [r0, #0x0] + strb r2, [r1, #0x0] + ldrb r2, [r0, #0x1] + strb r2, [r1, #0x1] + ldrb r2, [r0, #0x2] + strb r2, [r1, #0x2] + ldrb r2, [r0, #0x3] + strb r2, [r1, #0x3] + ldrb r2, [r0, #0x4] + strb r2, [r1, #0x4] + ldrb r2, [r0, #0x5] + strb r2, [r1, #0x5] + ldrb r0, [r0, #0x6] + strb r0, [r1, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_02027FDC +sub_02027FDC: ; 0x02027FDC + push {r4, lr} + add r4, r0, #0x0 + ldrb r0, [r4, #0x0] + mov r1, #0x5 + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x5 + bhi _0202801C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + ldrb r0, [r4, #0x1] + b _0202803E +_0202800C: + .byte 0xA0, 0x78, 0x16, 0xE0 + .byte 0xE0, 0x78, 0x14, 0xE0, 0x20, 0x79, 0x12, 0xE0, 0x60, 0x79, 0x10, 0xE0 +_0202801C: + ldrb r0, [r4, #0x1] + ldrb r1, [r4, #0x2] + cmp r0, r1 + bhs _02028026 + add r0, r1, #0x0 +_02028026: + ldrb r1, [r4, #0x3] + cmp r0, r1 + bhs _0202802E + add r0, r1, #0x0 +_0202802E: + ldrb r1, [r4, #0x4] + cmp r0, r1 + bhs _02028036 + add r0, r1, #0x0 +_02028036: + ldrb r1, [r4, #0x5] + cmp r0, r1 + bhs _0202803E + add r0, r1, #0x0 +_0202803E: + cmp r0, #0x63 + bls _02028044 + mov r0, #0x63 +_02028044: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02028048 +sub_02028048: ; 0x02028048 + ldr r3, _02028050 ; =sub_02022610 + mov r1, #0x10 + bx r3 + nop +_02028050: .word sub_02022610 + 1 + + thumb_func_start sub_02028054 +sub_02028054: ; 0x02028054 + mov r0, #0x32 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_0202805C +sub_0202805C: ; 0x0202805C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_02028062: + add r0, r5, #0x0 + bl sub_02027E44 + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x64 + blt _02028062 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02028074 +sub_02028074: ; 0x02028074 + mov r2, #0x0 +_02028076: + lsl r1, r2, #0x3 + ldrb r1, [r0, r1] + cmp r1, #0x1e + bne _02028082 + add r0, r2, #0x0 + bx lr +_02028082: + add r1, r2, #0x1 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + cmp r2, #0x64 + blo _02028076 + ldr r0, _02028090 ; =0x0000FFFF + bx lr + .balign 4 +_02028090: .word 0x0000FFFF + + thumb_func_start sub_02028094 +sub_02028094: ; 0x02028094 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_02028074 + ldr r1, _020280B4 ; =0x0000FFFF + add r4, r0, #0x0 + cmp r4, r1 + beq _020280B2 + lsl r1, r4, #0x3 + add r0, r6, #0x0 + add r1, r5, r1 + bl sub_02027E70 + add r0, r4, #0x0 +_020280B2: + pop {r4-r6, pc} + .balign 4 +_020280B4: .word 0x0000FFFF + + thumb_func_start sub_020280B8 +sub_020280B8: ; 0x020280B8 + push {r3, lr} + cmp r1, #0x64 + blo _020280C2 + mov r0, #0x0 + pop {r3, pc} +_020280C2: + lsl r1, r1, #0x3 + add r0, r0, r1 + bl sub_02027E44 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020280D0 +sub_020280D0: ; 0x020280D0 + cmp r1, #0x64 + bhs _020280EA +_020280D4: + lsl r2, r1, #0x3 + ldrb r2, [r0, r2] + cmp r2, #0x1e + beq _020280E0 + add r0, r1, #0x0 + bx lr +_020280E0: + add r1, r1, #0x1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + cmp r1, #0x64 + blo _020280D4 +_020280EA: + ldr r0, _020280F0 ; =0x0000FFFF + bx lr + nop +_020280F0: .word 0x0000FFFF + + thumb_func_start sub_020280F4 +sub_020280F4: ; 0x020280F4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x0 + mov r7, #0x64 + str r0, [sp, #0x4] +_02028100: + ldr r0, [sp, #0x4] + lsl r0, r0, #0x3 + ldrb r0, [r5, r0] + cmp r0, #0x1e + bne _0202815C + ldr r6, [sp, #0x4] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020280D0 + add r4, r0, #0x0 + ldr r0, _02028170 ; =0x0000FFFF + cmp r4, r0 + beq _0202816A + ldr r0, [sp, #0x4] + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + cmp r4, r7 + bhs _02028154 + cmp r4, r7 + bhs _02028154 +_0202812E: + lsl r0, r4, #0x3 + lsl r1, r6, #0x3 + str r0, [sp, #0x8] + add r0, r5, r0 + add r1, r5, r1 + bl sub_02027E70 + ldr r0, [sp, #0x8] + add r0, r5, r0 + bl sub_02027E44 + add r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r7 + blo _0202812E +_02028154: + ldr r0, [sp, #0x0] + sub r0, r7, r0 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 +_0202815C: + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + cmp r0, r7 + blo _02028100 +_0202816A: + add sp, #0xc + pop {r4-r7, pc} + nop +_02028170: .word 0x0000FFFF + + thumb_func_start sub_02028174 +sub_02028174: ; 0x02028174 + push {r3, lr} + cmp r1, #0x64 + blo _02028182 + add r0, r2, #0x0 + bl sub_02027E44 + pop {r3, pc} +_02028182: + lsl r1, r1, #0x3 + add r0, r0, r1 + add r1, r2, #0x0 + bl sub_02027E70 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02028190 +sub_02028190: ; 0x02028190 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + bl sub_02027E5C + add r6, r0, #0x0 + cmp r4, #0x64 + blo _020281AA + bl sub_02027E44 + mov r0, #0x0 + pop {r4-r6, pc} +_020281AA: + lsl r0, r4, #0x3 + add r0, r5, r0 + add r1, r6, #0x0 + bl sub_02027E70 + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020281B8 +sub_020281B8: ; 0x020281B8 + push {r4-r6, lr} + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 +_020281C0: + lsl r0, r5, #0x3 + add r0, r6, r0 + bl sub_02027E34 + cmp r0, #0x0 + beq _020281D2 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_020281D2: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x64 + blo _020281C0 + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020281E0 +sub_020281E0: ; 0x020281E0 + mov r0, #0x1f + lsl r0, r0, #0x6 + bx lr + .balign 4 + + thumb_func_start sub_020281E8 +sub_020281E8: ; 0x020281E8 + push {r3-r7, lr} + add r7, r0, #0x0 + mov r2, #0x1f + mov r0, #0x0 + add r1, r7, #0x0 + lsl r2, r2, #0x6 + blx sub_020CE240 + mov r0, #0x1d + lsl r0, r0, #0x4 + add r1, r0, #0x0 + add r2, r0, #0x0 + ldr r4, _02028224 ; =0x0000FFFF + mov r5, #0x0 + add r6, r7, #0x0 + mov r3, #0x2 + sub r1, #0x10 + add r2, #0x1e +_0202820C: + strh r4, [r6, r0] + strh r4, [r6, r1] + strb r3, [r6, r2] + add r5, r5, #0x1 + add r6, #0x30 + cmp r5, #0x20 + blt _0202820C + add r0, r7, #0x0 + bl sub_0203380C + pop {r3-r7, pc} + nop +_02028224: .word 0x0000FFFF + + thumb_func_start sub_02028228 +sub_02028228: ; 0x02028228 + bx lr + .balign 4 + + thumb_func_start sub_0202822C +sub_0202822C: ; 0x0202822C + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + cmp r4, #0x20 + blt _0202823C + bl sub_02020C2C +_0202823C: + cmp r7, #0x8 + bhi _020282D0 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r2, #0 + lsl r6, r3, #0 + lsl r4, r5, #0 + lsl r0, r7, #0 + lsl r6, r0, #0x1 + lsl r2, r2, #0x1 + lsl r0, r4, #0x1 + lsl r0, r7, #0x1 + lsl r4, r5, #0x1 + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x1e + lsl r0, r0, #0x4 + ldr r6, [r1, r0] + b _020282D0 +_0202826C: + .byte 0x30, 0x20, 0x60, 0x43 + .byte 0x29, 0x18, 0x79, 0x20, 0x80, 0x00, 0x0E, 0x5A, 0x2A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18 + .byte 0x14, 0x48, 0x0E, 0x5A, 0x24, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7A, 0x20, 0x80, 0x00 + .byte 0x0E, 0x5A, 0x1D, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x0F, 0x48, 0x0E, 0x5A, 0x17, 0xE0 + .byte 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20, 0x80, 0x00, 0x0E, 0x5C, 0x10, 0xE0, 0x30, 0x20 + .byte 0x60, 0x43, 0x29, 0x18, 0x09, 0x48, 0x0E, 0x5C, 0x0A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18 + .byte 0x07, 0x48, 0x0E, 0x5C, 0x04, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x05, 0x48, 0x0E, 0x5C +_020282D0: + add r0, r6, #0x0 + pop {r3-r7, pc} +_020282D4: + .byte 0xE6, 0x01, 0x00, 0x00, 0xEA, 0x01, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 + .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 + + thumb_func_start sub_020282E8 +sub_020282E8: ; 0x020282E8 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + cmp r4, #0x20 + blt _020282FA + bl sub_02020C2C +_020282FA: + cmp r7, #0x8 + bhi _02028378 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r2, #0 + lsl r6, r3, #0 + lsl r4, r4, #0 + lsl r2, r5, #0 + lsl r0, r6, #0 + lsl r4, r7, #0 + lsl r2, r1, #0x1 + lsl r2, r4, #0x1 + lsl r6, r2, #0x1 + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x1e + lsl r0, r0, #0x4 + str r6, [r1, r0] + pop {r3-r7, pc} +_0202832A: + .byte 0xF8, 0xF7, 0x7F, 0xFC, 0xF8, 0xBD + .byte 0xF8, 0xF7, 0x7C, 0xFC, 0xF8, 0xBD, 0xF8, 0xF7, 0x79, 0xFC, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43 + .byte 0x29, 0x18, 0x0E, 0x48, 0x0E, 0x52, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20 + .byte 0x80, 0x00, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x08, 0x48, 0x0E, 0x54 + .byte 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x06, 0x48, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20 + .byte 0x60, 0x43, 0x29, 0x18, 0x04, 0x48, 0x0E, 0x54 +_02028378: + pop {r3-r7, pc} + nop +_0202837C: + .byte 0xEA, 0x01, 0x00, 0x00 + .byte 0xED, 0x01, 0x00, 0x00, 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 + + thumb_func_start sub_0202838C +sub_0202838C: ; 0x0202838C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x20 + blt _0202839A + bl sub_02020C2C +_0202839A: + mov r0, #0xc + add r5, #0x40 + mul r0, r4 + add r0, r5, r0 + pop {r3-r5, pc} + + thumb_func_start sub_020283A4 +sub_020283A4: ; 0x020283A4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x20 + blt _020283B2 + bl sub_02020C2C +_020283B2: + mov r0, #0x1d + lsl r0, r0, #0x4 + add r1, r5, r0 + mov r0, #0x30 + mul r0, r4 + add r0, r1, r0 + pop {r3-r5, pc} + + thumb_func_start sub_020283C0 +sub_020283C0: ; 0x020283C0 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x20 + blt _020283D0 + bl sub_02020C2C +_020283D0: + mov r1, #0x1d + lsl r1, r1, #0x4 + add r2, r5, r1 + mov r1, #0x30 + mul r1, r4 + add r1, r2, r1 + add r0, r6, #0x0 + mov r2, #0x10 + bl sub_02021EF0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020283E8 +sub_020283E8: ; 0x020283E8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x20 + blt _020283F6 + bl sub_02020C2C +_020283F6: + mov r0, #0x7 + lsl r0, r0, #0x6 + add r1, r5, r0 + mov r0, #0x30 + mul r0, r4 + add r0, r1, r0 + pop {r3-r5, pc} + + thumb_func_start sub_02028404 +sub_02028404: ; 0x02028404 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x20 + blt _02028414 + bl sub_02020C2C +_02028414: + mov r1, #0x7 + lsl r1, r1, #0x6 + add r2, r5, r1 + mov r1, #0x30 + mul r1, r4 + add r1, r2, r1 + add r0, r6, #0x0 + mov r2, #0x10 + bl sub_02021EF0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202842C +sub_0202842C: ; 0x0202842C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x20 + blt _0202843A + bl sub_02020C2C +_0202843A: + mov r0, #0xc + add r5, #0x40 + mul r0, r4 + add r0, r5, r0 + blx sub_0209700C + pop {r3-r5, pc} + + thumb_func_start sub_02028448 +sub_02028448: ; 0x02028448 + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_02028450: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202842C + cmp r0, #0x0 + beq _0202845E + add r5, r5, #0x1 +_0202845E: + add r4, r4, #0x1 + cmp r4, #0x20 + blt _02028450 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02028468 +sub_02028468: ; 0x02028468 + push {r4-r7, lr} + sub sp, #0xc + add r5, r1, #0x0 + str r0, [sp, #0x0] + cmp r5, #0x20 + blt _02028478 + bl sub_02020C2C +_02028478: + cmp r5, #0x1f + bge _020284D2 + mov r1, #0x7 + ldr r0, [sp, #0x0] + lsl r1, r1, #0x6 + add r0, r0, r1 + str r0, [sp, #0x4] + mov r0, #0x30 + add r1, r5, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + add r6, r0, r1 + ldr r0, [sp, #0x0] + add r1, r5, #0x0 + str r0, [sp, #0x8] + add r0, #0x40 + str r0, [sp, #0x8] + mov r0, #0xc + mul r1, r0 + ldr r0, [sp, #0x8] + add r4, r0, r1 +_020284A2: + add r7, r5, #0x1 + mov r0, #0x30 + add r1, r7, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + mov r2, #0x30 + add r0, r0, r1 + add r1, r6, #0x0 + blx sub_020CE3E0 + mov r0, #0xc + add r1, r7, #0x0 + mul r1, r0 + ldr r0, [sp, #0x8] + mov r2, #0xc + add r0, r0, r1 + add r1, r4, #0x0 + blx sub_020CE3E0 + add r5, r5, #0x1 + add r6, #0x30 + add r4, #0xc + cmp r5, #0x1f + blt _020284A2 +_020284D2: + mov r2, #0x7 + ldr r1, [sp, #0x0] + lsl r2, r2, #0x6 + add r2, r1, r2 + mov r1, #0x5d + lsl r1, r1, #0x4 + add r1, r2, r1 + mov r0, #0x0 + mov r2, #0x30 + blx sub_020CE240 + ldr r2, [sp, #0x0] + mov r1, #0x5d + add r2, #0x40 + lsl r1, r1, #0x2 + add r1, r2, r1 + mov r0, #0x0 + mov r2, #0xc + blx sub_020CE240 + mov r2, #0x7a + lsl r2, r2, #0x4 + add r1, r2, #0x0 + ldr r3, _02028514 ; =0x0000FFFF + ldr r0, [sp, #0x0] + sub r1, #0x10 + strh r3, [r0, r2] + strh r3, [r0, r1] + mov r1, #0x2 + add r2, #0x1e + strb r1, [r0, r2] + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02028514: .word 0x0000FFFF + + thumb_func_start sub_02028518 +sub_02028518: ; 0x02028518 + push {r4-r7, lr} + sub sp, #0xc + str r2, [sp, #0x4] + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + mov r2, #0x30 + add r5, r0, #0x0 + mov r0, #0x7 + lsl r0, r0, #0x6 + add r3, r1, #0x0 + mul r5, r2 + add r4, r7, r0 + mul r3, r2 + str r1, [sp, #0x0] + add r0, r4, r5 + add r1, r4, r3 + blx sub_020CE3E0 + ldr r0, [sp, #0x4] + add r6, r7, #0x0 + mov r3, #0xc + add r1, r0, #0x0 + mul r1, r3 + add r6, #0x40 + str r1, [sp, #0x8] + add r0, r6, r1 + ldr r1, [sp, #0x0] + add r2, r1, #0x0 + mul r2, r3 + add r1, r6, r2 + add r2, r3, #0x0 + blx sub_020CE3E0 + mov r0, #0x0 + add r1, r4, r5 + mov r2, #0x30 + blx sub_020CE240 + ldr r1, [sp, #0x8] + mov r0, #0x0 + add r1, r6, r1 + mov r2, #0xc + blx sub_020CE240 + mov r0, #0x1d + ldr r1, _02028588 ; =0x0000FFFF + add r2, r7, r5 + lsl r0, r0, #0x4 + strh r1, [r2, r0] + strh r1, [r4, r5] + mov r1, #0x2 + add r0, #0x1e + strb r1, [r2, r0] + add sp, #0xc + pop {r4-r7, pc} + nop +_02028588: .word 0x0000FFFF + + thumb_func_start sub_0202858C +sub_0202858C: ; 0x0202858C + push {r3-r7, lr} + mov r5, #0x0 + mvn r5, r5 + add r6, r0, #0x0 + mov r4, #0x0 + add r7, r5, #0x0 +_02028598: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202842C + cmp r0, #0x0 + beq _020285BC + mov r0, #0x0 + mvn r0, r0 + cmp r5, r0 + beq _020285C6 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02028518 + add r4, r7, #0x0 + add r5, r7, #0x0 + b _020285C6 +_020285BC: + mov r0, #0x0 + mvn r0, r0 + cmp r5, r0 + bne _020285C6 + add r5, r4, #0x0 +_020285C6: + add r4, r4, #0x1 + cmp r4, #0x20 + blt _02028598 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020285D0 +sub_020285D0: ; 0x020285D0 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, sp, #0x0 + bl sub_020126B4 + mov r0, #0x30 + add r2, r4, #0x0 + mul r2, r0 + mov r0, #0x7d + ldr r1, [sp, #0x0] + lsl r0, r0, #0x4 + add r1, r1, r0 + ldr r0, _02028604 ; =0x000001EA + add r3, r5, r2 + strh r1, [r3, r0] + add r1, r0, #0x2 + ldr r2, [sp, #0x4] + add r0, r0, #0x3 + strb r2, [r3, r1] + ldr r1, [sp, #0x8] + strb r1, [r3, r0] + add sp, #0x10 + pop {r3-r5, pc} + nop +_02028604: .word 0x000001EA + + thumb_func_start sub_02028608 +sub_02028608: ; 0x02028608 + push {r4-r6, lr} + mov r5, #0x79 + add r4, r0, #0x0 + mov r0, #0x30 + lsl r5, r5, #0x2 + mul r0, r1 + add r5, r4, r5 + ldrh r6, [r5, r0] + add r2, r6, r2 + strh r2, [r5, r0] + ldrh r6, [r5, r0] + ldr r2, _0202865C ; =0x0000270F + cmp r6, r2 + bls _02028626 + strh r2, [r5, r0] +_02028626: + ldr r2, _02028660 ; =0x000001E6 + add r2, r4, r2 + ldrh r5, [r2, r0] + add r3, r5, r3 + strh r3, [r2, r0] + ldrh r5, [r2, r0] + ldr r3, _0202865C ; =0x0000270F + cmp r5, r3 + bls _0202863A + strh r3, [r2, r0] +_0202863A: + mov r2, #0x7a + lsl r2, r2, #0x2 + add r2, r4, r2 + ldrh r5, [r2, r0] + ldr r3, [sp, #0x10] + add r3, r5, r3 + strh r3, [r2, r0] + ldrh r5, [r2, r0] + ldr r3, _0202865C ; =0x0000270F + cmp r5, r3 + bls _02028652 + strh r3, [r2, r0] +_02028652: + add r0, r4, #0x0 + bl sub_020285D0 + pop {r4-r6, pc} + nop +_0202865C: .word 0x0000270F +_02028660: .word 0x000001E6 + + thumb_func_start sub_02028664 +sub_02028664: ; 0x02028664 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r3, #0x79 + mov r0, #0x30 + add r4, r1, #0x0 + mul r4, r0 + lsl r3, r3, #0x2 + mul r0, r2 + add r2, r5, r3 + add r6, r5, r4 + ldrh r1, [r2, r0] + ldrh r3, [r6, r3] + add r1, r1, r3 + strh r1, [r2, r0] + ldrh r3, [r2, r0] + ldr r1, _020286E0 ; =0x0000270F + cmp r3, r1 + bls _0202868A + strh r1, [r2, r0] +_0202868A: + ldr r3, _020286E4 ; =0x000001E6 + add r6, r5, r4 + add r2, r5, r3 + ldrh r1, [r2, r0] + ldrh r3, [r6, r3] + add r1, r1, r3 + strh r1, [r2, r0] + ldrh r3, [r2, r0] + ldr r1, _020286E0 ; =0x0000270F + cmp r3, r1 + bls _020286A2 + strh r1, [r2, r0] +_020286A2: + mov r3, #0x7a + lsl r3, r3, #0x2 + add r2, r5, r3 + add r6, r5, r4 + ldrh r1, [r2, r0] + ldrh r3, [r6, r3] + add r1, r1, r3 + strh r1, [r2, r0] + ldrh r3, [r2, r0] + ldr r1, _020286E0 ; =0x0000270F + cmp r3, r1 + bls _020286BC + strh r1, [r2, r0] +_020286BC: + mov r0, #0x7 + lsl r0, r0, #0x6 + add r6, r5, r0 + mov r0, #0x0 + add r1, r6, r4 + mov r2, #0x30 + blx sub_020CE240 + mov r0, #0x1d + ldr r1, _020286E8 ; =0x0000FFFF + add r2, r5, r4 + lsl r0, r0, #0x4 + strh r1, [r2, r0] + strh r1, [r6, r4] + mov r1, #0x2 + add r0, #0x1e + strb r1, [r2, r0] + pop {r4-r6, pc} + .balign 4 +_020286E0: .word 0x0000270F +_020286E4: .word 0x000001E6 +_020286E8: .word 0x0000FFFF + + thumb_func_start sub_020286EC +sub_020286EC: ; 0x020286EC + ldr r3, _020286F4 ; =sub_02022610 + mov r1, #0x1d + bx r3 + nop +_020286F4: .word sub_02022610 + 1 + + thumb_func_start sub_020286F8 +sub_020286F8: ; 0x020286F8 + mov r0, #0x42 + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_02028700 +sub_02028700: ; 0x02028700 + push {r4-r5} + add r5, r2, #0x0 + mov r3, #0x2c + add r2, r1, #0x0 + mul r2, r3 + mul r5, r3 + add r4, r0, r2 + add r3, r0, r5 + mov r2, #0x5 +_02028712: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02028712 + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02028724 +sub_02028724: ; 0x02028724 + push {r4, lr} + add r4, r0, #0x0 + mov r2, #0x42 + mov r0, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE240 + ldr r0, _0202874C ; =0x0000FFFF + mov r1, #0x0 + add r2, r4, #0x0 +_0202873A: + strh r0, [r2, #0x0] + strh r0, [r2, #0x10] + add r1, r1, #0x1 + add r2, #0x2c + cmp r1, #0x6 + blt _0202873A + ldr r0, _02028750 ; =0x021C59D0 + str r4, [r0, #0x0] + pop {r4, pc} + .balign 4 +_0202874C: .word 0x0000FFFF +_02028750: .word 0x021C59D0 + + thumb_func_start sub_02028754 +sub_02028754: ; 0x02028754 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r7, #0x0 +_0202875C: + mov r4, #0x0 + cmp r6, #0x0 + bls _02028770 +_02028762: + ldr r0, [r5, #0x28] + bl sub_0201BA10 + add r4, r4, #0x1 + str r0, [r5, #0x28] + cmp r4, r6 + blo _02028762 +_02028770: + add r7, r7, #0x1 + add r5, #0x2c + cmp r7, #0x6 + blo _0202875C + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202877C +sub_0202877C: ; 0x0202877C + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldr r0, [r0, #0x24] + bx lr + .balign 4 + + thumb_func_start sub_02028788 +sub_02028788: ; 0x02028788 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x2c + add r4, r1, #0x0 + mul r4, r0 + add r0, r5, r4 + str r2, [r0, #0x24] + add r0, r2, #0x0 + bl sub_0201BA10 + add r1, r5, r4 + str r0, [r1, #0x28] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020287A4 +sub_020287A4: ; 0x020287A4 + ldr r0, [r0, #0x54] + bx lr + + thumb_func_start sub_020287A8 +sub_020287A8: ; 0x020287A8 + cmp r2, #0x0 + bne _020287B4 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + bx lr +_020287B4: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x10 + bx lr + .balign 4 + + thumb_func_start sub_020287C0 +sub_020287C0: ; 0x020287C0 + push {r4, lr} + add r4, r0, #0x0 + cmp r2, #0x0 + bne _020287D8 + mov r2, #0x2c + mul r2, r1 + add r1, r4, r2 + add r0, r3, #0x0 + mov r2, #0x8 + bl sub_02021EF0 + pop {r4, pc} +_020287D8: + mov r2, #0x2c + mul r2, r1 + add r1, r4, r2 + add r0, r3, #0x0 + add r1, #0x10 + mov r2, #0x8 + bl sub_02021EF0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020287EC +sub_020287EC: ; 0x020287EC + mov r3, #0x2c + mul r3, r1 + add r0, r0, r3 + add r0, #0x20 + strb r2, [r0, #0x0] + bx lr + + thumb_func_start sub_020287F8 +sub_020287F8: ; 0x020287F8 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x20 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02028804 +sub_02028804: ; 0x02028804 + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + add r0, #0x21 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02028810 +sub_02028810: ; 0x02028810 + mov r3, #0x2c + mul r3, r1 + add r0, r0, r3 + add r0, #0x21 + strb r2, [r0, #0x0] + bx lr + + thumb_func_start sub_0202881C +sub_0202881C: ; 0x0202881C + ldr r3, _02028824 ; =sub_02022610 + mov r1, #0x11 + bx r3 + nop +_02028824: .word sub_02022610 + 1 + + thumb_func_start sub_02028828 +sub_02028828: ; 0x02028828 + push {r3, lr} + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + bl sub_0202888C + cmp r0, #0x0 + bne _0202883C + mov r0, #0x1 + pop {r3, pc} +_0202883C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02028840 +sub_02028840: ; 0x02028840 + mov r2, #0x2c + add r3, r0, #0x0 + mul r2, r1 + add r1, r3, r2 + ldr r3, _02028850 ; =sub_020288AC + add r0, #0x2c + bx r3 + nop +_02028850: .word sub_020288AC + 1 + + thumb_func_start sub_02028854 +sub_02028854: ; 0x02028854 + push {r3-r7, lr} + add r6, r1, #0x0 + ldrh r1, [r6, #0x0] + add r5, r0, #0x0 + ldr r0, _02028888 ; =0x0000FFFF + cmp r1, r0 + bne _02028866 + mov r0, #0x0 + pop {r3-r7, pc} +_02028866: + mov r4, #0x0 + mov r7, #0x8 +_0202886A: + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl sub_020022D0 + cmp r0, #0x0 + bne _0202887C + mov r0, #0x1 + pop {r3-r7, pc} +_0202887C: + add r4, r4, #0x1 + add r5, #0x2c + cmp r4, #0x6 + blt _0202886A + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02028888: .word 0x0000FFFF + + thumb_func_start sub_0202888C +sub_0202888C: ; 0x0202888C + ldrh r2, [r0, #0x0] + ldr r1, _020288A8 ; =0x0000FFFF + cmp r2, r1 + bne _02028898 + mov r0, #0x1 + bx lr +_02028898: + ldrh r0, [r0, #0x10] + cmp r0, r1 + bne _020288A2 + mov r0, #0x1 + bx lr +_020288A2: + mov r0, #0x0 + bx lr + nop +_020288A8: .word 0x0000FFFF + + thumb_func_start sub_020288AC +sub_020288AC: ; 0x020288AC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, #0x10 + add r1, #0x10 + mov r2, #0x8 + bl sub_020022D0 + cmp r0, #0x0 + beq _020288C4 + mov r0, #0x0 + pop {r3-r5, pc} +_020288C4: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x8 + bl sub_020022D0 + cmp r0, #0x0 + beq _020288D6 + mov r0, #0x0 + pop {r3-r5, pc} +_020288D6: + add r0, r5, #0x0 + add r0, #0x20 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r1, r0 + beq _020288EA + mov r0, #0x0 + pop {r3-r5, pc} +_020288EA: + add r0, r5, #0x0 + add r0, #0x21 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r1, r0 + beq _020288FE + mov r0, #0x0 + pop {r3-r5, pc} +_020288FE: + ldr r1, [r5, #0x24] + ldr r0, [r4, #0x24] + cmp r1, r0 + bne _0202890A + mov r0, #0x1 + pop {r3-r5, pc} +_0202890A: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02028910 +sub_02028910: ; 0x02028910 + mov r1, #0x0 + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02028918 +sub_02028918: ; 0x02028918 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0202892C ; =0x0000C350 + add r4, r1, #0x0 + cmp r4, r0 + bls _02028928 + bl sub_02020C2C +_02028928: + strh r4, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 +_0202892C: .word 0x0000C350 + + thumb_func_start sub_02028930 +sub_02028930: ; 0x02028930 + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02028934 +sub_02028934: ; 0x02028934 + ldrh r3, [r0, #0x0] + ldr r2, _02028950 ; =0x0000C350 + cmp r3, r2 + blo _02028940 + mov r0, #0x0 + bx lr +_02028940: + add r1, r3, r1 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + cmp r1, r2 + bls _0202894C + strh r2, [r0, #0x0] +_0202894C: + mov r0, #0x1 + bx lr + .balign 4 +_02028950: .word 0x0000C350 + + thumb_func_start sub_02028954 +sub_02028954: ; 0x02028954 + ldrh r0, [r0, #0x0] + add r1, r1, r0 + ldr r0, _02028968 ; =0x0000C350 + cmp r1, r0 + bhi _02028962 + mov r0, #0x1 + bx lr +_02028962: + mov r0, #0x0 + bx lr + nop +_02028968: .word 0x0000C350 + + thumb_func_start sub_0202896C +sub_0202896C: ; 0x0202896C + ldrh r2, [r0, #0x0] + cmp r2, r1 + bhs _02028976 + mov r0, #0x0 + bx lr +_02028976: + sub r1, r2, r1 + strh r1, [r0, #0x0] + mov r0, #0x1 + bx lr + .balign 4 + + thumb_func_start sub_02028980 +sub_02028980: ; 0x02028980 + mov r0, #0x46 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02028988 +sub_02028988: ; 0x02028988 + ldr r3, _02028990 ; =sub_020DF4A4 + mov r1, #0x0 + mov r2, #0x70 + bx r3 + .balign 4 +_02028990: .word sub_020DF4A4 + + thumb_func_start sub_02028994 +sub_02028994: ; 0x02028994 + ldr r3, _020289A0 ; =sub_020DF4A4 + mov r2, #0x46 + mov r1, #0x0 + lsl r2, r2, #0x4 + bx r3 + nop +_020289A0: .word sub_020DF4A4 + + thumb_func_start sub_020289A4 +sub_020289A4: ; 0x020289A4 + ldr r3, _020289AC ; =sub_02022610 + mov r1, #0x12 + bx r3 + nop +_020289AC: .word sub_02022610 + 1 + + thumb_func_start sub_020289B0 +sub_020289B0: ; 0x020289B0 + push {r3-r7, lr} + sub sp, #0x10 + add r7, r0, #0x0 + cmp r1, #0x1 + beq _020289C0 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_020289C0: + add r0, sp, #0x0 + bl sub_020126B4 + ldr r0, [r7, #0x0] + lsl r1, r0, #0x15 + lsr r3, r1, #0x1c + beq _02028A18 + lsl r1, r0, #0x19 + lsr r2, r1, #0x19 + ldr r1, [sp, #0x0] + cmp r2, r1 + bne _020289F2 + ldr r1, [sp, #0x4] + cmp r3, r1 + bne _020289F2 + lsl r1, r0, #0xd + lsr r2, r1, #0x1b + ldr r1, [sp, #0x8] + cmp r2, r1 + bne _020289F2 + lsl r0, r0, #0x12 + lsr r1, r0, #0x1d + ldr r0, [sp, #0xc] + cmp r1, r0 + beq _02028A18 +_020289F2: + mov r0, #0x3f + lsl r0, r0, #0x4 + mov r5, #0x9 + add r6, r7, r0 +_020289FA: + add r4, r6, #0x0 + sub r4, #0x70 + add r3, r6, #0x0 + mov r2, #0xe +_02028A02: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02028A02 + sub r5, r5, #0x1 + sub r6, #0x70 + cmp r5, #0x1 + bge _020289FA + add r0, r7, #0x0 + bl sub_02028988 +_02028A18: + add r0, r7, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02028A20 +sub_02028A20: ; 0x02028A20 + push {r4, lr} + sub sp, #0x20 + add r4, r0, #0x0 + cmp r1, #0x1 + beq _02028A30 + add sp, #0x20 + mov r0, #0x0 + pop {r4, pc} +_02028A30: + add r0, sp, #0x0 + bl sub_020126B4 + ldr r0, [r4, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + str r0, [sp, #0x10] + ldr r0, [r4, #0x0] + lsl r0, r0, #0x15 + lsr r0, r0, #0x1c + str r0, [sp, #0x14] + ldr r0, [r4, #0x0] + lsl r0, r0, #0xd + lsr r0, r0, #0x1b + str r0, [sp, #0x18] + ldr r0, [r4, #0x0] + lsl r0, r0, #0x12 + lsr r0, r0, #0x1d + str r0, [sp, #0x1c] + add r0, sp, #0x0 + bl sub_02012710 + add r4, r0, #0x0 + add r0, sp, #0x10 + bl sub_02012710 + ldr r2, [sp, #0x4] + sub r0, r4, r0 + cmp r2, #0xc + bne _02028A7E + ldr r1, [sp, #0x8] + cmp r1, #0x1f + bne _02028A7E + ldr r1, [sp, #0x14] + cmp r1, #0x1 + bne _02028A7E + ldr r1, [sp, #0x18] + cmp r1, #0x1 + beq _02028A94 +_02028A7E: + cmp r2, #0x1 + bne _02028AAC + ldr r1, [sp, #0x8] + cmp r1, #0x1 + bne _02028AAC + ldr r1, [sp, #0x14] + cmp r1, #0xc + bne _02028AAC + ldr r1, [sp, #0x18] + cmp r1, #0x1f + bne _02028AAC +_02028A94: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x10] + sub r1, r1, r0 + cmp r1, #0x2 + bge _02028AA6 + mov r0, #0x1 + mvn r0, r0 + cmp r1, r0 + bgt _02028ACC +_02028AA6: + add sp, #0x20 + mov r0, #0x1 + pop {r4, pc} +_02028AAC: + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + ble _02028AB8 + cmp r0, #0x2 + blt _02028ABE +_02028AB8: + add sp, #0x20 + mov r0, #0x1 + pop {r4, pc} +_02028ABE: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x10] + cmp r1, r0 + beq _02028ACC + add sp, #0x20 + mov r0, #0x1 + pop {r4, pc} +_02028ACC: + mov r0, #0x0 + add sp, #0x20 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02028AD4 +sub_02028AD4: ; 0x02028AD4 + push {r4, lr} + add r4, r1, #0x0 + cmp r0, #0x0 + beq _02028B12 + cmp r2, #0x4 + bhi _02028B12 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r1, #0 + lsl r6, r1, #0 + lsl r4, r2, #0 + lsl r2, r3, #0 + lsl r0, r4, #0 + bl sub_02028B1C + b _02028B12 +_02028AFC: + .byte 0x00, 0xF0, 0x2E, 0xF8 + .byte 0x07, 0xE0, 0x00, 0xF0, 0x75, 0xF8, 0x04, 0xE0, 0x00, 0xF0, 0x78, 0xF8, 0x01, 0xE0, 0x00, 0xF0 + .byte 0x7B, 0xF8 +_02028B12: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02028B1C +sub_02028B1C: ; 0x02028B1C + push {r4-r5} + ldr r3, [r0, #0x0] + lsl r2, r3, #0x19 + lsr r5, r2, #0x19 + ldr r2, [r1, #0x0] + lsl r4, r2, #0x19 + lsr r4, r4, #0x19 + cmp r5, r4 + bne _02028B52 + lsl r4, r3, #0x15 + lsr r5, r4, #0x1c + lsl r4, r2, #0x15 + lsr r4, r4, #0x1c + cmp r5, r4 + bne _02028B52 + lsl r4, r3, #0xd + lsr r5, r4, #0x1b + lsl r4, r2, #0xd + lsr r4, r4, #0x1b + cmp r5, r4 + bne _02028B52 + lsl r3, r3, #0x12 + lsl r2, r2, #0x12 + lsr r3, r3, #0x1d + lsr r2, r2, #0x1d + cmp r3, r2 + beq _02028B56 +_02028B52: + ldr r1, [r1, #0x0] + str r1, [r0, #0x0] +_02028B56: + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_02028B5C +sub_02028B5C: ; 0x02028B5C + push {r3, lr} + ldrb r2, [r1, #0x0] + cmp r2, #0x23 + bhi _02028BEE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r7, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r1, #0x1 + lsl r6, r1, #0x1 + lsl r6, r2, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r5, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r4, r7, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + add r0, r0, #0x4 + bl sub_02028CE8 + pop {r3, pc} +_02028BC0: + .byte 0x00, 0x1D, 0x00, 0xF0, 0xE9, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0xBB, 0xF8, 0x08, 0xBD + .byte 0x00, 0x1D, 0x00, 0xF0, 0xA7, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x0F, 0xF9, 0x08, 0xBD + .byte 0x00, 0x1D, 0x00, 0xF0, 0x2F, 0xF9, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x4F, 0xF9 +_02028BEE: + pop {r3, pc} + + thumb_func_start sub_02028BF0 +sub_02028BF0: ; 0x02028BF0 + ldrh r2, [r1, #0x0] + strh r2, [r0, #0x14] + ldrh r1, [r1, #0x2] + strh r1, [r0, #0x16] + bx lr + .balign 4 + + thumb_func_start sub_02028BFC +sub_02028BFC: ; 0x02028BFC + ldrh r2, [r1, #0x0] + strh r2, [r0, #0x18] + ldrh r1, [r1, #0x2] + strh r1, [r0, #0x1a] + bx lr + .balign 4 + + thumb_func_start sub_02028C08 +sub_02028C08: ; 0x02028C08 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + bl sub_02028CA8 + ldrb r1, [r4, #0x0] + cmp r1, #0x10 + bhi _02028C6E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0x1 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + lsl r0, r6, #0 + lsl r0, r7, #0 + lsl r0, r6, #0 + lsl r0, r7, #0 + lsl r0, r4, #0 + lsl r0, r7, #0 + lsl r2, r0, #0x1 + lsl r0, r7, #0 + lsl r0, r6, #0 + lsl r0, r7, #0 + add r1, r4, #0x0 + bl sub_02028ED4 + pop {r3-r5, pc} +_02028C4E: + .byte 0x21, 0x1C + .byte 0x00, 0xF0, 0x5E, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x68, 0xF9, 0x38, 0xBD, 0x28, 0x1C + .byte 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x93, 0xF9 +_02028C6E: + pop {r3-r5, pc} + + thumb_func_start sub_02028C70 +sub_02028C70: ; 0x02028C70 + push {r3-r4} + mov r3, #0x0 + add r4, r0, #0x0 + mov r1, #0x3f +_02028C78: + ldr r2, [r4, #0x0] + tst r2, r1 + bne _02028C86 + lsl r1, r3, #0x2 + add r0, r0, r1 + pop {r3-r4} + bx lr +_02028C86: + add r3, r3, #0x1 + add r4, r4, #0x4 + cmp r3, #0x4 + blo _02028C78 + mov r3, #0x0 + add r2, r0, #0x0 +_02028C92: + ldr r1, [r2, #0x4] + add r3, r3, #0x1 + stmia r2!, {r1} + cmp r3, #0x3 + blo _02028C92 + lsl r2, r3, #0x2 + mov r1, #0x0 + str r1, [r0, r2] + add r0, r0, r2 + pop {r3-r4} + bx lr + + thumb_func_start sub_02028CA8 +sub_02028CA8: ; 0x02028CA8 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 +_02028CB0: + ldrb r0, [r2, #0x1c] + cmp r0, #0x0 + bne _02028CC0 + mov r0, #0x2a + add r4, #0x1c + mul r0, r1 + add r0, r4, r0 + pop {r4, pc} +_02028CC0: + add r1, r1, #0x1 + add r2, #0x2a + cmp r1, #0x2 + blo _02028CB0 + add r0, r4, #0x0 + add r1, r4, #0x0 + add r0, #0x1c + add r1, #0x46 + mov r2, #0x2a + blx sub_020DF438 + add r4, #0x46 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x2a + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02028CE8 +sub_02028CE8: ; 0x02028CE8 + push {r4, lr} + add r4, r1, #0x0 + mov r2, #0x0 + add r3, r0, #0x0 +_02028CF0: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _02028CFE + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, #0x4 + blo _02028CF0 +_02028CFE: + cmp r2, #0x0 + beq _02028D14 + lsl r2, r2, #0x2 + add r2, r0, r2 + sub r2, r2, #0x4 + ldr r3, [r2, #0x0] + mov r2, #0x3f + ldrb r1, [r4, #0x0] + and r2, r3 + cmp r1, r2 + beq _02028D20 +_02028D14: + bl sub_02028C70 + ldrb r2, [r4, #0x0] + mov r1, #0x3f + and r1, r2 + str r1, [r0, #0x0] +_02028D20: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02028D24 +sub_02028D24: ; 0x02028D24 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02028C70 + ldrb r2, [r4, #0x0] + mov r1, #0x3f + and r1, r2 + ldrh r2, [r4, #0x2] + lsl r3, r2, #0x10 + ldrh r2, [r4, #0x4] + lsl r2, r2, #0x16 + lsr r2, r2, #0x10 + orr r2, r3 + orr r1, r2 + str r1, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_02028D44 +sub_02028D44: ; 0x02028D44 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r2, #0x0 + mov r3, #0x3f +_02028D4C: + lsl r1, r2, #0x2 + ldr r5, [r0, r1] + and r5, r3 + cmp r5, #0xb + bne _02028D72 + mov r3, #0x0 + str r3, [r0, r1] + cmp r2, #0x3 + bhs _02028D7C +_02028D5E: + lsl r3, r2, #0x2 + add r1, r0, r3 + ldr r1, [r1, #0x4] + str r1, [r0, r3] + add r1, r2, #0x1 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + cmp r2, #0x3 + blo _02028D5E + b _02028D7C +_02028D72: + add r1, r2, #0x1 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + cmp r2, #0x4 + blo _02028D4C +_02028D7C: + bl sub_02028C70 + ldrb r2, [r4, #0x0] + mov r1, #0x3f + and r1, r2 + ldrh r2, [r4, #0x2] + lsl r3, r2, #0x10 + ldrh r2, [r4, #0x4] + lsl r2, r2, #0x16 + lsr r2, r2, #0x10 + orr r2, r3 + orr r1, r2 + str r1, [r0, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02028D98 +sub_02028D98: ; 0x02028D98 + push {r4-r6, lr} + add r4, r1, #0x0 + mov r6, #0x0 + mov r1, #0x3f +_02028DA0: + lsl r5, r6, #0x2 + ldr r3, [r0, r5] + add r2, r3, #0x0 + and r2, r1 + cmp r2, #0x9 + bne _02028DD4 + lsr r3, r3, #0x10 + lsl r3, r3, #0x10 + ldrh r2, [r4, #0x2] + lsr r3, r3, #0x10 + cmp r2, r3 + bne _02028DD4 + mov r1, #0x0 + str r1, [r0, r5] + cmp r6, #0x3 + bhs _02028DDE +_02028DC0: + lsl r2, r6, #0x2 + add r1, r0, r2 + ldr r1, [r1, #0x4] + str r1, [r0, r2] + add r1, r6, #0x1 + lsl r1, r1, #0x10 + lsr r6, r1, #0x10 + cmp r6, #0x3 + blo _02028DC0 + b _02028DDE +_02028DD4: + add r2, r6, #0x1 + lsl r2, r2, #0x10 + lsr r6, r2, #0x10 + cmp r6, #0x4 + blo _02028DA0 +_02028DDE: + bl sub_02028C70 + ldrb r2, [r4, #0x0] + mov r1, #0x3f + and r1, r2 + ldrh r2, [r4, #0x2] + lsl r3, r2, #0x10 + ldrh r2, [r4, #0x4] + lsl r2, r2, #0x16 + lsr r2, r2, #0x10 + orr r2, r3 + orr r1, r2 + str r1, [r0, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02028DFC +sub_02028DFC: ; 0x02028DFC + push {r4, lr} + add r4, r1, #0x0 + mov r2, #0x0 + add r3, r0, #0x0 +_02028E04: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _02028E12 + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, #0x4 + blo _02028E04 +_02028E12: + cmp r2, #0x0 + beq _02028E30 + lsl r1, r2, #0x2 + add r1, r0, r1 + sub r1, r1, #0x4 + ldr r3, [r1, #0x0] + mov r1, #0x3f + ldrb r2, [r4, #0x0] + and r1, r3 + cmp r2, r1 + bne _02028E30 + ldrh r2, [r4, #0x2] + lsr r1, r3, #0x10 + cmp r2, r1 + beq _02028E42 +_02028E30: + bl sub_02028C70 + ldrh r1, [r4, #0x2] + ldrb r2, [r4, #0x0] + lsl r3, r1, #0x10 + mov r1, #0x3f + and r1, r2 + orr r1, r3 + str r1, [r0, #0x0] +_02028E42: + pop {r4, pc} + + thumb_func_start sub_02028E44 +sub_02028E44: ; 0x02028E44 + push {r4, lr} + add r4, r1, #0x0 + mov r2, #0x0 + add r3, r0, #0x0 +_02028E4C: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _02028E5A + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, #0x4 + blo _02028E4C +_02028E5A: + cmp r2, #0x0 + beq _02028E78 + lsl r1, r2, #0x2 + add r1, r0, r1 + sub r1, r1, #0x4 + ldr r3, [r1, #0x0] + mov r1, #0x3f + ldrb r2, [r4, #0x0] + and r1, r3 + cmp r2, r1 + bne _02028E78 + ldrh r2, [r4, #0x6] + lsr r1, r3, #0x10 + cmp r2, r1 + beq _02028E8A +_02028E78: + bl sub_02028C70 + ldrh r1, [r4, #0x6] + ldrb r2, [r4, #0x0] + lsl r3, r1, #0x10 + mov r1, #0x3f + and r1, r2 + orr r1, r3 + str r1, [r0, #0x0] +_02028E8A: + pop {r4, pc} + + thumb_func_start sub_02028E8C +sub_02028E8C: ; 0x02028E8C + push {r4, lr} + add r4, r1, #0x0 + mov r2, #0x0 + add r3, r0, #0x0 +_02028E94: + ldr r1, [r3, #0x0] + cmp r1, #0x0 + beq _02028EA2 + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, #0x4 + blo _02028E94 +_02028EA2: + cmp r2, #0x0 + beq _02028EC0 + lsl r1, r2, #0x2 + add r1, r0, r1 + sub r1, r1, #0x4 + ldr r3, [r1, #0x0] + mov r1, #0x3f + ldrb r2, [r4, #0x0] + and r1, r3 + cmp r2, r1 + bne _02028EC0 + ldrh r2, [r4, #0x2] + lsr r1, r3, #0x10 + cmp r2, r1 + beq _02028ED2 +_02028EC0: + bl sub_02028C70 + ldrh r1, [r4, #0x2] + ldrb r2, [r4, #0x0] + lsl r3, r1, #0x10 + mov r1, #0x3f + and r1, r2 + orr r1, r3 + str r1, [r0, #0x0] +_02028ED2: + pop {r4, pc} + + thumb_func_start sub_02028ED4 +sub_02028ED4: ; 0x02028ED4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldrb r0, [r4, #0x0] + strb r0, [r5, #0x0] + ldrb r3, [r4, #0x1] + lsl r1, r3, #0x1c + lsr r2, r1, #0x1a + lsl r1, r3, #0x1b + lsr r1, r1, #0x1f + lsl r0, r3, #0x1a + lsl r1, r1, #0x1 + orr r1, r2 + lsr r0, r0, #0x1f + orr r0, r1 + strb r0, [r5, #0x1] + add r0, r4, #0x2 + add r1, r5, #0x2 + mov r2, #0x8 + bl sub_020292D4 + add r4, #0x12 + add r5, #0x12 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x8 + bl sub_020292D4 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02028F10 +sub_02028F10: ; 0x02028F10 + add r2, r0, #0x0 + ldrb r0, [r1, #0x0] + ldr r3, _02028F28 ; =sub_020292D4 + strb r0, [r2, #0x0] + ldrb r0, [r1, #0x1] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + strb r0, [r2, #0x1] + add r0, r1, #0x2 + add r1, r2, #0x2 + mov r2, #0x8 + bx r3 + .balign 4 +_02028F28: .word sub_020292D4 + 1 + + thumb_func_start sub_02028F2C +sub_02028F2C: ; 0x02028F2C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldrb r0, [r4, #0x0] + mov r2, #0x8 + strb r0, [r5, #0x0] + ldrb r0, [r4, #0x1] + lsl r1, r0, #0x1b + lsr r1, r1, #0x1f + lsl r0, r0, #0x18 + lsl r1, r1, #0x2 + lsr r0, r0, #0x1e + orr r0, r1 + strb r0, [r5, #0x1] + add r0, r4, #0x2 + add r1, r5, #0x2 + bl sub_020292D4 + add r4, #0x22 + add r5, #0x12 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0xc + bl sub_020292D4 + pop {r3-r5, pc} + + thumb_func_start sub_02028F60 +sub_02028F60: ; 0x02028F60 + push {r4, lr} + add r4, r1, #0x0 + mov r3, #0x0 + add r2, r0, #0x0 +_02028F68: + ldrb r1, [r2, #0x1c] + cmp r1, #0x0 + beq _02028F76 + add r3, r3, #0x1 + add r2, #0x2a + cmp r3, #0x2 + blo _02028F68 +_02028F76: + cmp r3, #0x0 + beq _02028F8A + mov r1, #0x2a + mul r1, r3 + add r1, r0, r1 + sub r1, #0xe + ldrb r2, [r4, #0x0] + ldrb r1, [r1, #0x0] + cmp r2, r1 + beq _02028F92 +_02028F8A: + bl sub_02028CA8 + ldrb r1, [r4, #0x0] + strb r1, [r0, #0x0] +_02028F92: + pop {r4, pc} + + thumb_func_start sub_02028F94 +sub_02028F94: ; 0x02028F94 + ldrb r2, [r1, #0x0] + strb r2, [r0, #0x0] + ldrb r1, [r1, #0x1] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + strb r1, [r0, #0x1] + bx lr + .balign 4 + + thumb_func_start sub_02028FA4 +sub_02028FA4: ; 0x02028FA4 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_020126B4 + ldr r2, [r4, #0x0] + mov r0, #0x7f + bic r2, r0 + ldr r1, [sp, #0x0] + mov r0, #0x7f + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + str r1, [r4, #0x0] + add r2, r1, #0x0 + ldr r1, [sp, #0x4] + ldr r0, _02029008 ; =0xFFFFF87F + lsl r1, r1, #0x1c + and r2, r0 + lsr r1, r1, #0x15 + orr r2, r1 + ldr r1, _0202900C ; =0xFFF83FFF + str r2, [r4, #0x0] + and r2, r1 + ldr r1, [sp, #0x8] + lsr r0, r0, #0xd + lsl r1, r1, #0x1b + lsr r1, r1, #0xd + orr r2, r1 + ldr r1, _02029010 ; =0xFFFFC7FF + str r2, [r4, #0x0] + and r2, r1 + ldr r1, [sp, #0xc] + lsl r1, r1, #0x1d + lsr r1, r1, #0x12 + orr r1, r2 + and r1, r0 + lsl r0, r5, #0x13 + orr r0, r1 + str r0, [r4, #0x0] + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r5, pc} + nop +_02029008: .word 0xFFFFF87F +_0202900C: .word 0xFFF83FFF +_02029010: .word 0xFFFFC7FF + + thumb_func_start sub_02029014 +sub_02029014: ; 0x02029014 + push {r3, lr} + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + pop {r3, pc} + + thumb_func_start sub_02029030 +sub_02029030: ; 0x02029030 + push {r3, lr} + bl sub_02029014 + mov r1, #0x1 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202903C +sub_0202903C: ; 0x0202903C + push {r3, lr} + bl sub_02029014 + mov r1, #0x2 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029048 +sub_02029048: ; 0x02029048 + push {r3, lr} + bl sub_02029014 + mov r1, #0x3 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029054 +sub_02029054: ; 0x02029054 + push {r3, lr} + bl sub_02029014 + mov r1, #0x4 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029060 +sub_02029060: ; 0x02029060 + push {r3, lr} + bl sub_02029014 + mov r1, #0x5 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202906C +sub_0202906C: ; 0x0202906C + push {r3, lr} + bl sub_02029014 + mov r1, #0x6 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029078 +sub_02029078: ; 0x02029078 + push {r3, lr} + bl sub_02029014 + mov r1, #0x7 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029084 +sub_02029084: ; 0x02029084 + push {r3, lr} + bl sub_02029014 + mov r1, #0x8 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029090 +sub_02029090: ; 0x02029090 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0x9 + strb r1, [r0, #0x0] + strh r4, [r0, #0x2] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020290A4 +sub_020290A4: ; 0x020290A4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + bl sub_02029014 + mov r1, #0xa + strb r1, [r0, #0x0] + strh r5, [r0, #0x2] + strh r4, [r0, #0x4] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020290BC +sub_020290BC: ; 0x020290BC + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0xb + strb r1, [r0, #0x0] + strh r4, [r0, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020290D0 +sub_020290D0: ; 0x020290D0 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0xc + strb r1, [r0, #0x0] + strh r4, [r0, #0x4] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020290E4 +sub_020290E4: ; 0x020290E4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0xd + strb r1, [r0, #0x0] + strh r4, [r0, #0x2] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020290F8 +sub_020290F8: ; 0x020290F8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0xe + strb r1, [r0, #0x0] + strh r4, [r0, #0x2] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202910C +sub_0202910C: ; 0x0202910C + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0xf + strb r1, [r0, #0x0] + strh r4, [r0, #0x2] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02029120 +sub_02029120: ; 0x02029120 + push {r3, lr} + bl sub_02029014 + mov r1, #0x10 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202912C +sub_0202912C: ; 0x0202912C + push {r3, lr} + bl sub_02029014 + mov r1, #0x11 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029138 +sub_02029138: ; 0x02029138 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02029014 + mov r1, #0x12 + strb r1, [r0, #0x0] + strh r4, [r0, #0x6] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202914C +sub_0202914C: ; 0x0202914C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + add r4, r1, #0x0 + bl sub_02029014 + add r5, #0x13 + strb r5, [r0, #0x0] + strh r4, [r0, #0x2] + pop {r3-r5, pc} + + thumb_func_start sub_02029160 +sub_02029160: ; 0x02029160 + push {r3, lr} + bl sub_02029014 + mov r1, #0x22 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202916C +sub_0202916C: ; 0x0202916C + push {r3, lr} + bl sub_02029014 + mov r1, #0x23 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029178 +sub_02029178: ; 0x02029178 + push {r3, lr} + mov r1, #0x4 + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + pop {r3, pc} + + thumb_func_start sub_0202918C +sub_0202918C: ; 0x0202918C + push {r3-r7, lr} + str r0, [sp, #0x0] + ldr r0, [sp, #0x18] + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02029178 + add r4, r0, #0x0 + mov r0, #0x1 + strb r0, [r4, #0x0] + strh r5, [r4, #0x2] + ldrb r1, [r4, #0x1] + mov r0, #0xc0 + bic r1, r0 + lsl r0, r6, #0x1e + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x3c + bic r1, r0 + lsl r0, r7, #0x1c + lsr r0, r0, #0x1a + orr r0, r1 + strb r0, [r4, #0x1] + ldr r0, [sp, #0x0] + bl sub_02029EC0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + beq _020291DA + cmp r0, #0x2 + beq _020291DA + cmp r0, #0x4 + bne _020291E4 +_020291DA: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + strb r1, [r4, #0x1] + b _02029206 +_020291E4: + cmp r0, #0x1 + beq _020291EC + cmp r0, #0x3 + bne _020291FA +_020291EC: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strb r0, [r4, #0x1] + b _02029206 +_020291FA: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + mov r0, #0x2 + orr r0, r1 + strb r0, [r4, #0x1] +_02029206: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202920C +sub_0202920C: ; 0x0202920C + push {r3-r7, lr} + str r0, [sp, #0x0] + ldr r0, [sp, #0x18] + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02029178 + add r4, r0, #0x0 + mov r0, #0x2 + strb r0, [r4, #0x0] + strh r5, [r4, #0x2] + ldrb r1, [r4, #0x1] + mov r0, #0xc0 + bic r1, r0 + lsl r0, r6, #0x1e + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x3c + bic r1, r0 + lsl r0, r7, #0x1c + lsr r0, r0, #0x1a + orr r0, r1 + strb r0, [r4, #0x1] + ldr r0, [sp, #0x0] + bl sub_02029EC0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + beq _0202925C + cmp r0, #0x3 + beq _0202925C + cmp r0, #0x5 + bne _02029266 +_0202925C: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + strb r1, [r4, #0x1] + b _02029288 +_02029266: + cmp r0, #0x2 + beq _0202926E + cmp r0, #0x4 + bne _0202927C +_0202926E: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strb r0, [r4, #0x1] + b _02029288 +_0202927C: + ldrb r1, [r4, #0x1] + mov r0, #0x3 + bic r1, r0 + mov r0, #0x2 + orr r0, r1 + strb r0, [r4, #0x1] +_02029288: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0202928C +sub_0202928C: ; 0x0202928C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x4 + bl sub_02016998 + ldrh r2, [r0, #0x0] + mov r1, #0x1 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r0, #0x0] + strh r5, [r0, #0x2] + ldrh r2, [r0, #0x0] + ldr r1, _020292B8 ; =0xFFFF0001 + and r2, r1 + lsl r1, r4, #0x11 + lsr r1, r1, #0x10 + orr r1, r2 + strh r1, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 +_020292B8: .word 0xFFFF0001 + + thumb_func_start sub_020292BC +sub_020292BC: ; 0x020292BC + push {r4, lr} + mov r1, #0x3a + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x3a + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020292D4 +sub_020292D4: ; 0x020292D4 + push {r4-r5} + mov r4, #0x0 + cmp r2, #0x0 + bls _020292EA + ldr r3, _02029308 ; =0x0000FFFF + add r5, r1, #0x0 +_020292E0: + add r4, r4, #0x1 + strh r3, [r5, #0x0] + add r5, r5, #0x2 + cmp r4, r2 + blo _020292E0 +_020292EA: + mov r5, #0x0 + cmp r2, #0x0 + bls _02029304 + ldr r3, _02029308 ; =0x0000FFFF +_020292F2: + ldrh r4, [r0, #0x0] + cmp r4, r3 + beq _02029304 + add r5, r5, #0x1 + strh r4, [r1, #0x0] + add r0, r0, #0x2 + add r1, r1, #0x2 + cmp r5, r2 + blo _020292F2 +_02029304: + pop {r4-r5} + bx lr + .balign 4 +_02029308: .word 0x0000FFFF + + thumb_func_start sub_0202930C +sub_0202930C: ; 0x0202930C + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, r3, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x1 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0xf + mov r2, #0x8 + bic r0, r1 + mov r1, #0xf + and r1, r6 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x10 + bic r1, r0 + lsl r0, r5, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202934C +sub_0202934C: ; 0x0202934C + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, r3, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x2 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0xf + mov r2, #0x8 + bic r0, r1 + mov r1, #0xf + and r1, r6 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x10 + bic r1, r0 + lsl r0, r5, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202938C +sub_0202938C: ; 0x0202938C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [sp, #0x1c] + str r1, [sp, #0x0] + add r5, r2, #0x0 + add r6, r3, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x3 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0xf + bic r0, r1 + add r1, sp, #0x8 + ldrb r2, [r1, #0x10] + mov r1, #0xf + and r1, r2 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r0, [r4, #0x1] + mov r1, #0x10 + mov r2, #0x8 + bic r0, r1 + lsl r1, r5, #0x1f + lsr r1, r1, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x20 + bic r1, r0 + lsl r0, r6, #0x1f + lsr r0, r0, #0x1a + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0x12 + mov r2, #0x8 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020293EC +sub_020293EC: ; 0x020293EC + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, r3, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x4 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0xf + mov r2, #0x8 + bic r0, r1 + mov r1, #0xf + and r1, r6 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x10 + bic r1, r0 + lsl r0, r5, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202942C +sub_0202942C: ; 0x0202942C + push {r4-r6, lr} + add r6, r0, #0x0 + add r0, r2, #0x0 + add r5, r1, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x6 + strb r0, [r4, #0x0] + ldrb r1, [r4, #0x1] + mov r0, #0x10 + mov r2, #0x8 + bic r1, r0 + lsl r0, r5, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r6, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202945C +sub_0202945C: ; 0x0202945C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [sp, #0x18] + add r5, r1, #0x0 + str r2, [sp, #0x0] + add r6, r3, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0x7 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0x10 + mov r2, #0x8 + bic r0, r1 + lsl r1, r5, #0x1f + lsr r1, r1, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0xc0 + bic r1, r0 + lsl r0, r6, #0x1e + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0x22 + mov r2, #0xc + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020294A8 +sub_020294A8: ; 0x020294A8 + push {r3, lr} + bl sub_020292BC + mov r1, #0x8 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_020294B4 +sub_020294B4: ; 0x020294B4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, r3, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0xb + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0xf + mov r2, #0x8 + bic r0, r1 + mov r1, #0xf + and r1, r6 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0x10 + bic r1, r0 + lsl r0, r5, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020294F4 +sub_020294F4: ; 0x020294F4 + push {r3, lr} + bl sub_020292BC + mov r1, #0xc + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029500 +sub_02029500: ; 0x02029500 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_020292BC + mov r1, #0xd + strb r1, [r0, #0x0] + ldrb r2, [r0, #0x1] + mov r1, #0xf + bic r2, r1 + mov r1, #0xf + and r1, r4 + orr r1, r2 + strb r1, [r0, #0x1] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02029520 +sub_02029520: ; 0x02029520 + push {r3, lr} + bl sub_020292BC + mov r1, #0xe + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202952C +sub_0202952C: ; 0x0202952C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [sp, #0x18] + add r5, r1, #0x0 + str r2, [sp, #0x0] + add r6, r3, #0x0 + bl sub_020292BC + add r4, r0, #0x0 + mov r0, #0xf + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + mov r1, #0x10 + mov r2, #0x8 + bic r0, r1 + lsl r1, r5, #0x1f + lsr r1, r1, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r1, [r4, #0x1] + mov r0, #0xc0 + bic r1, r0 + lsl r0, r6, #0x1e + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_020292D4 + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0x22 + mov r2, #0xc + bl sub_020292D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02029578 +sub_02029578: ; 0x02029578 + push {r3, lr} + bl sub_020292BC + mov r1, #0x10 + strb r1, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_02029584 +sub_02029584: ; 0x02029584 + push {r3, lr} + cmp r2, #0x4 + bhi _020295DA + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r1, #0 + lsl r4, r2, #0 + lsl r0, r4, #0 + lsl r4, r5, #0 + lsl r0, r7, #0 + mov r2, #0x70 + mul r2, r3 + add r0, r0, r2 + bl sub_020295DC + pop {r3, pc} +_020295AC: + .byte 0x70, 0x22, 0x5A, 0x43 + .byte 0x80, 0x18, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0 + .byte 0x67, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8, 0x08, 0xBD + .byte 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8 +_020295DA: + pop {r3, pc} + + thumb_func_start sub_020295DC +sub_020295DC: ; 0x020295DC + ldr r0, [r0, #0x0] + str r0, [r1, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020295E4 +sub_020295E4: ; 0x020295E4 + push {r3-r7, lr} + mov r6, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r6, #0x0 +_020295EE: + strb r7, [r4, #0x0] + strb r7, [r4, #0x1] + strb r7, [r4, #0x2] + strb r7, [r4, #0x3] + strb r7, [r4, #0x4] + strb r7, [r4, #0x5] + strb r7, [r4, #0x6] + strb r7, [r4, #0x7] + ldr r0, [r5, #0x4] + mov r1, #0x3f + and r1, r0 + cmp r1, #0x23 + bhi _02029682 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r5, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r1, #0x1 + lsl r6, r1, #0x1 + lsl r6, r1, #0x1 + lsl r6, r1, #0x1 + lsl r6, r2, #0x1 + lsl r6, r2, #0x1 + lsl r6, r2, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r4, r5, #0x1 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + add r1, r4, #0x0 + bl sub_02029730 + b _02029682 +_02029664: + .byte 0x21, 0x1C, 0x00, 0xF0, 0x67, 0xF8, 0x0A, 0xE0, 0x21, 0x1C, 0x00, 0xF0 + .byte 0x6F, 0xF8, 0x06, 0xE0, 0x21, 0x1C, 0x00, 0xF0, 0x71, 0xF8, 0x02, 0xE0, 0x21, 0x1C, 0x00, 0xF0 + .byte 0x73, 0xF8 +_02029682: + add r6, r6, #0x1 + add r4, #0x8 + add r5, r5, #0x4 + cmp r6, #0x4 + blo _020295EE + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02029690 +sub_02029690: ; 0x02029690 + ldrh r2, [r0, #0x14] + strh r2, [r1, #0x0] + ldrh r0, [r0, #0x16] + strh r0, [r1, #0x2] + bx lr + .balign 4 + + thumb_func_start sub_0202969C +sub_0202969C: ; 0x0202969C + ldrh r2, [r0, #0x18] + strh r2, [r1, #0x0] + ldrh r0, [r0, #0x1a] + strh r0, [r1, #0x2] + bx lr + .balign 4 + + thumb_func_start sub_020296A8 +sub_020296A8: ; 0x020296A8 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r6, #0x0 + add r4, r1, #0x0 + mov r7, #0x0 + add r5, #0x1c +_020296B4: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x3a + blx sub_020DF4A4 + ldrb r0, [r6, #0x1c] + cmp r0, #0x10 + bhi _02029722 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r2, #0x1 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r2, r5, #0 + lsl r4, r6, #0 + lsl r6, r7, #0 + lsl r4, r6, #0 + lsl r6, r7, #0 + lsl r0, r4, #0 + lsl r6, r7, #0 + lsl r0, r1, #0x1 + lsl r6, r7, #0 + lsl r4, r6, #0 + lsl r6, r7, #0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02029774 + b _02029722 +_020296FC: + .byte 0x28, 0x1C, 0x21, 0x1C + .byte 0x00, 0xF0, 0x70, 0xF8, 0x0D, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xE0 + .byte 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA4, 0xF8, 0x03, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0 + .byte 0xA3, 0xF8 +_02029722: + add r7, r7, #0x1 + add r4, #0x3a + add r6, #0x2a + add r5, #0x2a + cmp r7, #0x2 + blo _020296B4 + pop {r3-r7, pc} + + thumb_func_start sub_02029730 +sub_02029730: ; 0x02029730 + mov r2, #0x3f + and r0, r2 + strb r0, [r1, #0x0] + bx lr + + thumb_func_start sub_02029738 +sub_02029738: ; 0x02029738 + mov r2, #0x3f + and r2, r0 + strb r2, [r1, #0x0] + lsr r3, r0, #0x6 + ldr r2, _0202974C ; =0x000003FF + lsr r0, r0, #0x10 + and r2, r3 + strh r2, [r1, #0x4] + strh r0, [r1, #0x2] + bx lr + .balign 4 +_0202974C: .word 0x000003FF + + thumb_func_start sub_02029750 +sub_02029750: ; 0x02029750 + mov r2, #0x3f + and r2, r0 + strb r2, [r1, #0x0] + lsr r0, r0, #0x10 + strh r0, [r1, #0x2] + bx lr + + thumb_func_start sub_0202975C +sub_0202975C: ; 0x0202975C + mov r2, #0x3f + and r2, r0 + strb r2, [r1, #0x0] + lsr r0, r0, #0x10 + strh r0, [r1, #0x6] + bx lr + + thumb_func_start sub_02029768 +sub_02029768: ; 0x02029768 + mov r2, #0x3f + and r2, r0 + strb r2, [r1, #0x0] + lsr r0, r0, #0x10 + strh r0, [r1, #0x2] + bx lr + + thumb_func_start sub_02029774 +sub_02029774: ; 0x02029774 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0x0] + add r4, r1, #0x0 + mov r1, #0xf + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + bic r0, r1 + ldrb r1, [r5, #0x1] + asr r2, r1, #0x2 + mov r1, #0x1f + and r1, r2 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + mov r1, #0xf + and r1, r2 + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r0, [r4, #0x1] + mov r1, #0x10 + mov r2, #0x1 + bic r0, r1 + ldrb r1, [r5, #0x1] + asr r1, r1, #0x1 + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r0, [r4, #0x1] + mov r1, #0x20 + bic r0, r1 + ldrb r1, [r5, #0x1] + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1a + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r5, #0x2 + add r1, r4, #0x2 + mov r2, #0x8 + bl sub_020292D4 + add r5, #0x12 + add r4, #0x12 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x8 + bl sub_020292D4 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020297E4 +sub_020297E4: ; 0x020297E4 + ldrb r2, [r0, #0x0] + strb r2, [r1, #0x0] + ldrb r3, [r1, #0x1] + mov r2, #0x10 + bic r3, r2 + ldrb r2, [r0, #0x1] + add r0, r0, #0x2 + lsl r2, r2, #0x1f + lsr r2, r2, #0x1b + orr r2, r3 + strb r2, [r1, #0x1] + ldr r3, _02029804 ; =sub_020292D4 + add r1, r1, #0x2 + mov r2, #0x8 + bx r3 + nop +_02029804: .word sub_020292D4 + 1 + + thumb_func_start sub_02029808 +sub_02029808: ; 0x02029808 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0x0] + add r4, r1, #0x0 + mov r1, #0x10 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x1] + bic r0, r1 + ldrb r1, [r5, #0x1] + asr r2, r1, #0x2 + mov r1, #0x1 + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1b + orr r0, r1 + strb r0, [r4, #0x1] + ldrb r0, [r4, #0x1] + mov r1, #0xc0 + ldrb r2, [r5, #0x1] + bic r0, r1 + mov r1, #0x3 + and r1, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1e + lsr r1, r1, #0x18 + orr r0, r1 + strb r0, [r4, #0x1] + add r0, r5, #0x2 + add r1, r4, #0x2 + mov r2, #0x8 + bl sub_020292D4 + add r5, #0x12 + add r4, #0x22 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0xc + bl sub_020292D4 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02029860 +sub_02029860: ; 0x02029860 + ldrb r0, [r0, #0x0] + strb r0, [r1, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02029868 +sub_02029868: ; 0x02029868 + ldrb r2, [r0, #0x0] + strb r2, [r1, #0x0] + ldrb r3, [r1, #0x1] + mov r2, #0xf + bic r3, r2 + ldrb r2, [r0, #0x1] + mov r0, #0xf + and r0, r2 + orr r0, r3 + strb r0, [r1, #0x1] + bx lr + .balign 4 + + thumb_func_start sub_02029880 +sub_02029880: ; 0x02029880 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + mov r0, #0x0 + add r4, r3, #0x0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + str r1, [sp, #0x0] + add r5, r2, #0x0 + ldr r6, [sp, #0x20] + bl sub_02034930 + cmp r0, #0x1 + bne _020298BA + add r0, r5, #0x0 + bl sub_02034964 + cmp r0, #0x1 + bne _02029942 + add r0, r4, #0x0 + bl sub_02034824 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r6, #0x0 + bl sub_020290F8 + str r0, [sp, #0x4] + b _02029942 +_020298BA: + add r0, r4, #0x0 + bl sub_02034944 + cmp r0, #0x1 + bne _0202991A + add r0, r5, #0x0 + bl sub_02034964 + cmp r0, #0x1 + bne _02029942 + ldr r0, _02029958 ; =0x0000019E + cmp r4, r0 + bne _020298DE + add r0, r6, #0x0 + bl sub_02029030 + str r0, [sp, #0x4] + b _02029942 +_020298DE: + add r0, #0x8 + cmp r4, r0 + bne _020298EE + add r0, r6, #0x0 + bl sub_0202903C + str r0, [sp, #0x4] + b _02029942 +_020298EE: + add r0, r4, #0x0 + bl sub_02034824 + add r7, r0, #0x0 + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + ldr r5, _0202995C ; =0x020EE9A4 + mov r4, #0x0 + str r0, [sp, #0x8] +_02029900: + ldr r0, [r5, #0x0] + cmp r7, r0 + bne _02029910 + ldr r0, [sp, #0x8] + add r1, r6, #0x0 + bl sub_0202910C + str r0, [sp, #0x4] +_02029910: + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x1b + blo _02029900 + b _02029942 +_0202991A: + add r0, r4, #0x0 + bl sub_02034964 + cmp r0, #0x1 + bne _02029942 + add r0, r5, #0x0 + bl sub_02034944 + cmp r0, #0x1 + bne _02029942 + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_02029988 + cmp r0, #0xff + beq _02029942 + add r1, r6, #0x0 + bl sub_02029090 + str r0, [sp, #0x4] +_02029942: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _02029952 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + mov r2, #0x1 + bl sub_02028AD4 +_02029952: + add sp, #0xc + pop {r4-r7, pc} + nop +_02029958: .word 0x0000019E +_0202995C: .word 0x020EE9A4 + + thumb_func_start sub_02029960 +sub_02029960: ; 0x02029960 + ldr r3, _02029980 ; =0x020EE9A4 + mov r2, #0x0 +_02029964: + ldr r1, [r3, #0x0] + cmp r0, r1 + bne _02029972 + ldr r0, _02029984 ; =0x020EE9A8 + lsl r1, r2, #0x3 + ldr r0, [r0, r1] + bx lr +_02029972: + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, #0x1b + blo _02029964 + mov r0, #0x0 + bx lr + nop +_02029980: .word 0x020EE9A4 +_02029984: .word 0x020EE9A8 + + thumb_func_start sub_02029988 +sub_02029988: ; 0x02029988 + push {r3-r5, lr} + ldr r2, _020299B8 ; =0x020EE964 + mov r4, #0x0 +_0202998E: + lsl r3, r4, #0x3 + add r5, r2, r3 + ldrh r5, [r5, #0x4] + cmp r1, r5 + bne _020299A8 + ldr r1, _020299BC ; =0x020EE96A + ldrh r1, [r1, r3] + bl sub_020239D0 + cmp r0, #0x0 + bne _020299B2 + add r0, r4, #0x0 + pop {r3-r5, pc} +_020299A8: + add r3, r4, #0x1 + lsl r3, r3, #0x18 + lsr r4, r3, #0x18 + cmp r4, #0x8 + blo _0202998E +_020299B2: + mov r0, #0xff + pop {r3-r5, pc} + nop +_020299B8: .word 0x020EE964 +_020299BC: .word 0x020EE96A + + thumb_func_start sub_020299C0 +sub_020299C0: ; 0x020299C0 + push {r4, lr} + add r4, r0, #0x0 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + add r1, r2, #0x0 + bl sub_020290E4 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl sub_02028AD4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020299DC +sub_020299DC: ; 0x020299DC + push {r3-r7, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r7, r1, #0x0 + add r6, r3, #0x0 + bl sub_02029A48 + cmp r0, #0x8 + bhs _02029A04 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020290A4 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_02028AD4 + pop {r3-r7, pc} +_02029A04: + bne _02029A1A + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020290BC + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_02028AD4 + pop {r3-r7, pc} +_02029A1A: + cmp r0, #0x9 + bne _02029A32 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020290D0 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_02028AD4 + pop {r3-r7, pc} +_02029A32: + add r0, r7, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0202928C + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x3 + bl sub_02028AD4 + pop {r3-r7, pc} + + thumb_func_start sub_02029A48 +sub_02029A48: ; 0x02029A48 + ldr r2, _02029A7C ; =0x020EE964 + mov r3, #0x0 +_02029A4C: + lsl r1, r3, #0x3 + ldr r1, [r2, r1] + cmp r0, r1 + bne _02029A58 + add r0, r3, #0x0 + bx lr +_02029A58: + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x8 + blo _02029A4C + ldr r1, _02029A80 ; =0x00000105 + sub r2, r0, r1 + cmp r2, #0x3 + bhi _02029A6E + mov r0, #0x8 + bx lr +_02029A6E: + add r1, r1, #0x6 + cmp r0, r1 + bne _02029A78 + mov r0, #0x9 + bx lr +_02029A78: + mov r0, #0xa + bx lr + .balign 4 +_02029A7C: .word 0x020EE964 +_02029A80: .word 0x00000105 + + thumb_func_start sub_02029A84 +sub_02029A84: ; 0x02029A84 + mov r0, #0x62 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02029A8C +sub_02029A8C: ; 0x02029A8C + push {r4-r6, lr} + mov r2, #0x62 + add r4, r0, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020DF4A4 + add r0, r4, #0x0 + bl sub_02029ACC + add r5, r0, #0x0 + mov r4, #0x0 + mov r6, #0x8c +_02029AA6: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02029AD8 + add r4, r4, #0x1 + cmp r4, #0x8 + blt _02029AA6 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02029ABC +sub_02029ABC: ; 0x02029ABC + ldr r3, _02029AC4 ; =sub_02022610 + mov r1, #0x13 + bx r3 + nop +_02029AC4: .word sub_02022610 + 1 + + thumb_func_start sub_02029AC8 +sub_02029AC8: ; 0x02029AC8 + add r0, #0x20 + bx lr + + thumb_func_start sub_02029ACC +sub_02029ACC: ; 0x02029ACC + bx lr + .balign 4 + + thumb_func_start sub_02029AD0 +sub_02029AD0: ; 0x02029AD0 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02029AD8 +sub_02029AD8: ; 0x02029AD8 + lsl r0, r0, #0x2 + str r1, [r2, r0] + bx lr + .balign 4 + + thumb_func_start sub_02029AE0 +sub_02029AE0: ; 0x02029AE0 + ldr r0, _02029AE4 ; =0x00000FF8 + bx lr + .balign 4 +_02029AE4: .word 0x00000FF8 + + thumb_func_start sub_02029AE8 +sub_02029AE8: ; 0x02029AE8 + ldr r3, _02029AF4 ; =sub_020CE1FC + add r1, r0, #0x0 + mov r0, #0x0 + ldr r2, _02029AF8 ; =0x00000FF8 + bx r3 + nop +_02029AF4: .word sub_020CE1FC +_02029AF8: .word 0x00000FF8 + + thumb_func_start sub_02029AFC +sub_02029AFC: ; 0x02029AFC + ldr r3, _02029B04 ; =sub_02022610 + mov r1, #0x1e + bx r3 + nop +_02029B04: .word sub_02022610 + 1 + + thumb_func_start sub_02029B08 +sub_02029B08: ; 0x02029B08 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r0, #0x1 + add r5, r1, #0x0 + lsl r0, r0, #0x8 + add r4, r2, #0x0 + cmp r5, r0 + blt _02029B1C + bl sub_02020C2C +_02029B1C: + cmp r4, #0x40 + blt _02029B24 + bl sub_02020C2C +_02029B24: + strb r5, [r6, #0x5] + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x3 + strb r4, [r6, #0x6] + bl sub_02029B90 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02029B38 +sub_02029B38: ; 0x02029B38 + ldrb r0, [r0, #0x5] + bx lr + + thumb_func_start sub_02029B3C +sub_02029B3C: ; 0x02029B3C + ldrb r0, [r0, #0x6] + bx lr + + thumb_func_start sub_02029B40 +sub_02029B40: ; 0x02029B40 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r0, #0x1 + add r5, r1, #0x0 + lsl r0, r0, #0x8 + add r4, r2, #0x0 + cmp r5, r0 + blt _02029B54 + bl sub_02020C2C +_02029B54: + cmp r4, #0x40 + blt _02029B5C + bl sub_02020C2C +_02029B5C: + cmp r5, #0x0 + bne _02029B64 + mov r0, #0x0 + pop {r4-r6, pc} +_02029B64: + asr r0, r4, #0x1 + lsr r0, r0, #0x1e + add r0, r4, r0 + asr r1, r0, #0x2 + sub r0, r5, #0x1 + lsl r0, r0, #0x4 + add r0, r1, r0 + add r0, r6, r0 + ldrb r3, [r0, #0x7] + lsr r2, r4, #0x1f + lsl r1, r4, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r0, r0, #0x1 + add r1, r3, #0x0 + asr r1, r0 + mov r0, #0x3 + and r0, r1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02029B90 +sub_02029B90: ; 0x02029B90 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x0] + cmp r3, #0x4 + blt _02029BA2 + bl sub_02020C2C +_02029BA2: + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r5, r0 + blt _02029BAE + bl sub_02020C2C +_02029BAE: + cmp r4, #0x40 + blt _02029BB6 + bl sub_02020C2C +_02029BB6: + cmp r5, #0x0 + beq _02029BFE + asr r0, r4, #0x1 + lsr r0, r0, #0x1e + add r0, r4, r0 + asr r2, r0, #0x2 + sub r0, r5, #0x1 + lsl r0, r0, #0x4 + add r0, r2, r0 + lsr r2, r4, #0x1f + lsl r4, r4, #0x1e + sub r4, r4, r2 + mov r3, #0x1e + ror r4, r3 + add r2, r2, r4 + lsl r6, r2, #0x1 + mov r2, #0x3 + add r3, r2, #0x0 + add r1, r7, #0x7 + ldrb r4, [r1, r0] + lsl r3, r6 + mov r2, #0xff + eor r2, r3 + and r2, r4 + ldr r3, [sp, #0x0] + strb r2, [r1, r0] + ldrb r2, [r1, r0] + lsl r3, r6 + orr r2, r3 + strb r2, [r1, r0] + cmp r5, #0x67 + beq _02029BFE + add r0, r7, #0x0 + mov r1, #0x1 + bl sub_02029C04 +_02029BFE: + pop {r3-r7, pc} + + thumb_func_start sub_02029C00 +sub_02029C00: ; 0x02029C00 + ldrb r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02029C04 +sub_02029C04: ; 0x02029C04 + strb r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02029C08 +sub_02029C08: ; 0x02029C08 + push {r3-r7, lr} + mov lr, r0 + mov r0, #0x3 + mov r7, #0x0 + mov r4, #0x2 + mov r6, #0xff + add r3, r0, #0x0 +_02029C16: + mov r1, lr + add r1, r1, r7 + ldrb r2, [r1, #0x7] + mov r12, r1 + mov r1, #0x0 +_02029C20: + add r5, r2, #0x0 + asr r5, r1 + and r5, r3 + cmp r5, #0x1 + bne _02029C40 + add r5, r0, #0x0 + lsl r5, r1 + eor r5, r6 + and r2, r5 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + add r2, r4, #0x0 + lsl r2, r1 + orr r2, r5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 +_02029C40: + add r1, r1, #0x2 + cmp r1, #0x8 + blt _02029C20 + mov r1, r12 + strb r2, [r1, #0x7] + mov r1, #0xff + add r7, r7, #0x1 + lsl r1, r1, #0x4 + cmp r7, r1 + blt _02029C16 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02029C58 +sub_02029C58: ; 0x02029C58 + mov r0, #0x17 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02029C60 +sub_02029C60: ; 0x02029C60 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02029C58 + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + blx sub_020CE34C + pop {r4, pc} + + thumb_func_start sub_02029C74 +sub_02029C74: ; 0x02029C74 + ldr r3, _02029C7C ; =sub_020CE3E0 + mov r2, #0x18 + bx r3 + nop +_02029C7C: .word sub_020CE3E0 + + thumb_func_start sub_02029C80 +sub_02029C80: ; 0x02029C80 + ldr r3, _02029C88 ; =sub_02022610 + mov r1, #0x15 + bx r3 + nop +_02029C88: .word sub_02022610 + 1 + + thumb_func_start sub_02029C8C +sub_02029C8C: ; 0x02029C8C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0xc + blt _02029C9A + bl sub_02020C2C +_02029C9A: + mov r0, #0x18 + mul r0, r4 + add r0, r5, r0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02029CA4 +sub_02029CA4: ; 0x02029CA4 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r6, #0xc + blt _02029CB4 + bl sub_02020C2C +_02029CB4: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02029C8C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02029C74 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02029CC8 +sub_02029CC8: ; 0x02029CC8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blt _02029CD6 + bl sub_02020C2C +_02029CD6: + lsl r0, r4, #0x1 + add r0, r4, r0 + add r0, r5, r0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02029CE0 +sub_02029CE0: ; 0x02029CE0 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02029CE4 +sub_02029CE4: ; 0x02029CE4 + ldrb r0, [r0, #0x1] + bx lr + + thumb_func_start sub_02029CE8 +sub_02029CE8: ; 0x02029CE8 + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02029CEC +sub_02029CEC: ; 0x02029CEC + mov r1, #0x12 + lsl r1, r1, #0x4 + add r0, r0, r1 + bx lr + + thumb_func_start sub_02029CF4 +sub_02029CF4: ; 0x02029CF4 + ldrb r0, [r0, r1] + bx lr + + thumb_func_start sub_02029CF8 +sub_02029CF8: ; 0x02029CF8 + mov r3, #0x0 + add r2, r1, #0x1 +_02029CFC: + ldrb r1, [r0, #0x0] + cmp r2, r1 + bne _02029D06 + mov r0, #0x1 + bx lr +_02029D06: + add r3, r3, #0x1 + add r0, r0, #0x3 + cmp r3, #0x8 + blt _02029CFC + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02029D14 +sub_02029D14: ; 0x02029D14 + push {r4-r7} + mov r6, #0x0 + add r4, r6, #0x0 + add r2, r1, #0x1 + add r3, r6, #0x0 +_02029D1E: + add r5, r3, #0x0 + add r7, r0, #0x0 +_02029D22: + ldrb r1, [r7, #0x0] + cmp r2, r1 + bne _02029D2A + add r6, r6, #0x1 +_02029D2A: + add r5, r5, #0x1 + add r7, r7, #0x3 + cmp r5, #0x8 + blt _02029D22 + add r4, r4, #0x1 + add r0, #0x18 + cmp r4, #0xc + blt _02029D1E + add r0, r6, #0x0 + pop {r4-r7} + bx lr + + thumb_func_start sub_02029D40 +sub_02029D40: ; 0x02029D40 + strb r2, [r0, r1] + bx lr + + thumb_func_start sub_02029D44 +sub_02029D44: ; 0x02029D44 + push {r4-r6, lr} + add r5, r1, #0x0 + sub r1, r5, #0x1 + add r6, r0, #0x0 + add r4, r2, #0x0 + bl sub_02029D14 + mov r1, #0x12 + lsl r1, r1, #0x4 + add r2, r6, r1 + sub r1, r5, #0x1 + ldrb r3, [r2, r1] + add r0, r0, r3 + cmp r4, #0x0 + bge _02029D6E + add r0, r4, r3 + bmi _02029D6A + strb r0, [r2, r1] + b _02029D7E +_02029D6A: + mov r0, #0x0 + pop {r4-r6, pc} +_02029D6E: + add r0, r0, r4 + cmp r0, #0x63 + bgt _02029D7A + add r0, r3, r4 + strb r0, [r2, r1] + b _02029D7E +_02029D7A: + mov r0, #0x0 + pop {r4-r6, pc} +_02029D7E: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02029D84 +sub_02029D84: ; 0x02029D84 + push {r4-r6, lr} + add r5, r1, #0x0 + sub r1, r5, #0x1 + add r6, r0, #0x0 + add r4, r2, #0x0 + bl sub_02029D14 + cmp r4, #0x0 + bge _02029DAC + mov r0, #0x12 + lsl r0, r0, #0x4 + add r2, r6, r0 + sub r1, r5, #0x1 + ldrb r0, [r2, r1] + add r0, r4, r0 + bmi _02029DA8 + strb r0, [r2, r1] + b _02029DD0 +_02029DA8: + mov r0, #0x0 + pop {r4-r6, pc} +_02029DAC: + add r0, r0, r4 + cmp r0, #0x63 + bgt _02029DCC + mov r0, #0x12 + lsl r0, r0, #0x4 + add r2, r6, r0 + sub r1, r5, #0x1 + ldrb r0, [r2, r1] + add r0, r0, r4 + strb r0, [r2, r1] + ldrb r0, [r2, r1] + cmp r0, #0x63 + blo _02029DD0 + mov r0, #0x63 + strb r0, [r2, r1] + b _02029DD0 +_02029DCC: + mov r0, #0x0 + pop {r4-r6, pc} +_02029DD0: + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_02029DD4 +sub_02029DD4: ; 0x02029DD4 + push {r4-r6, lr} + add r5, r1, #0x0 + sub r1, r5, #0x1 + add r6, r0, #0x0 + add r4, r2, #0x0 + bl sub_02029D14 + sub r1, r5, #0x1 + add r2, r6, r1 + mov r1, #0x12 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + add r0, r0, r1 + cmp r4, #0x0 + bge _02029DFE + add r0, r4, r1 + bmi _02029DFA + mov r0, #0x1 + pop {r4-r6, pc} +_02029DFA: + mov r0, #0x0 + pop {r4-r6, pc} +_02029DFE: + add r0, r0, r4 + cmp r0, #0x63 + bgt _02029E08 + mov r0, #0x1 + pop {r4-r6, pc} +_02029E08: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02029E0C +sub_02029E0C: ; 0x02029E0C + push {r4-r6, lr} + add r6, r0, #0x0 + mov r5, #0x0 + mov r4, #0x1 +_02029E14: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02029E2C + cmp r0, #0x0 + beq _02029E22 + add r5, r5, #0x1 +_02029E22: + add r4, r4, #0x1 + cmp r4, #0x51 + blt _02029E14 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02029E2C +sub_02029E2C: ; 0x02029E2C + push {r3-r5, lr} + add r5, r1, #0x0 + sub r1, r5, #0x1 + add r4, r0, #0x0 + bl sub_02029D14 + sub r1, r5, #0x1 + add r2, r4, r1 + mov r1, #0x12 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + add r0, r0, r1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02029E48 +sub_02029E48: ; 0x02029E48 + mov r1, #0x0 + strh r1, [r0, #0x0] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start sub_02029E54 +sub_02029E54: ; 0x02029E54 + push {r3-r7, lr} + add r5, r0, #0x0 + ldrh r6, [r5, #0x0] + ldr r0, _02029EB8 ; =0x000003E7 + cmp r6, r0 + bne _02029E6C + ldrb r0, [r5, #0x2] + cmp r0, #0x3b + bne _02029E6C + ldrb r0, [r5, #0x3] + cmp r0, #0x3b + beq _02029EB4 +_02029E6C: + ldrb r0, [r5, #0x3] + ldrb r4, [r5, #0x2] + add r7, r0, r1 + cmp r7, #0x3b + bls _02029EAE + add r0, r7, #0x0 + mov r1, #0x3c + blx sub_020EBE8C + add r4, r4, r0 + add r0, r7, #0x0 + mov r1, #0x3c + blx sub_020EBE8C + add r7, r1, #0x0 + cmp r4, #0x3b + bls _02029EAE + add r0, r4, #0x0 + mov r1, #0x3c + blx sub_020EBE8C + add r6, r6, r0 + add r0, r4, #0x0 + mov r1, #0x3c + blx sub_020EBE8C + ldr r0, _02029EB8 ; =0x000003E7 + add r4, r1, #0x0 + cmp r6, r0 + blo _02029EAE + mov r4, #0x3b + add r6, r0, #0x0 + add r7, r4, #0x0 +_02029EAE: + strh r6, [r5, #0x0] + strb r4, [r5, #0x2] + strb r7, [r5, #0x3] +_02029EB4: + pop {r3-r7, pc} + nop +_02029EB8: .word 0x000003E7 + + thumb_func_start sub_02029EBC +sub_02029EBC: ; 0x02029EBC + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02029EC0 +sub_02029EC0: ; 0x02029EC0 + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02029EC4 +sub_02029EC4: ; 0x02029EC4 + mov r0, #0xfb + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_02029ECC +sub_02029ECC: ; 0x02029ECC + push {r4, lr} + add r4, r0, #0x0 + mov r2, #0xfb + mov r0, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE1FC + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02029EE4 +sub_02029EE4: ; 0x02029EE4 + push {r4, lr} + mov r1, #0xfb + lsl r1, r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_02029ECC + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_02029EF8 +sub_02029EF8: ; 0x02029EF8 + ldr r3, _02029F00 ; =sub_02022610 + mov r1, #0x16 + bx r3 + nop +_02029F00: .word sub_02022610 + 1 + + thumb_func_start sub_02029F04 +sub_02029F04: ; 0x02029F04 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02029F08 +sub_02029F08: ; 0x02029F08 + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02029F10 +sub_02029F10: ; 0x02029F10 + add r0, r0, #0x4 + bx lr + + thumb_func_start sub_02029F14 +sub_02029F14: ; 0x02029F14 + push {r4-r7} + mov r5, #0x0 + mov r2, #0xfa + add r4, r5, #0x0 + mov r6, #0xf + lsl r2, r2, #0x2 +_02029F20: + ldrsb r7, [r1, r4] + add r3, r0, r5 + and r7, r6 + lsl r7, r7, #0x18 + lsr r7, r7, #0x18 + sub r7, #0x8 + lsl r7, r7, #0x18 + asr r7, r7, #0x14 + strb r7, [r0, r5] + ldrsb r7, [r1, r4] + add r4, r4, #0x1 + add r5, r5, #0x2 + lsl r7, r7, #0x14 + lsr r7, r7, #0x18 + sub r7, #0x8 + lsl r7, r7, #0x18 + asr r7, r7, #0x14 + strb r7, [r3, #0x1] + cmp r4, r2 + blt _02029F20 + pop {r4-r7} + bx lr + + thumb_func_start sub_02029F4C +sub_02029F4C: ; 0x02029F4C + push {r4-r7} + add r3, r0, #0x0 + add r2, r1, #0x0 + mov r0, #0x1 + mov r1, #0x0 + str r0, [r3, #0x0] + add r0, r1, #0x0 +_02029F5A: + ldrsb r4, [r2, r0] + add r6, r3, r1 + add r7, r2, r0 + asr r5, r4, #0x3 + lsr r5, r5, #0x1c + add r5, r4, r5 + lsl r4, r5, #0x14 + asr r4, r4, #0x18 + add r4, #0x8 + strb r4, [r6, #0x4] + mov r4, #0x4 + ldrsb r5, [r6, r4] + mov r4, #0x1 + ldrsb r4, [r7, r4] + add r0, r0, #0x2 + add r1, r1, #0x1 + asr r7, r4, #0x3 + lsr r7, r7, #0x1c + add r7, r4, r7 + lsl r4, r7, #0x14 + asr r4, r4, #0x18 + add r4, #0x8 + lsl r4, r4, #0x18 + lsr r4, r4, #0x14 + orr r4, r5 + strb r4, [r6, #0x4] + mov r4, #0x7d + lsl r4, r4, #0x4 + cmp r0, r4 + blt _02029F5A + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02029F9C +sub_02029F9C: ; 0x02029F9C + add r2, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0xfb + ldr r3, _02029FAC ; =sub_020CE28C + lsl r2, r2, #0x2 + bx r3 + nop +_02029FAC: .word sub_020CE28C + + thumb_func_start sub_02029FB0 +sub_02029FB0: ; 0x02029FB0 + mov r0, #0x53 + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_02029FB8 +sub_02029FB8: ; 0x02029FB8 + ldr r3, _02029FC4 ; =sub_020CE1FC + mov r2, #0x53 + add r1, r0, #0x0 + mov r0, #0x0 + lsl r2, r2, #0x2 + bx r3 + .balign 4 +_02029FC4: .word sub_020CE1FC + + thumb_func_start sub_02029FC8 +sub_02029FC8: ; 0x02029FC8 + ldr r3, _02029FD0 ; =sub_02022610 + mov r1, #0x14 + bx r3 + nop +_02029FD0: .word sub_02022610 + 1 + + thumb_func_start sub_02029FD4 +sub_02029FD4: ; 0x02029FD4 + push {r3, lr} + cmp r1, #0x2c + bge _02029FE0 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r3, pc} +_02029FE0: + cmp r1, #0x79 + bge _02029FF0 + sub r1, #0x2c + lsl r1, r1, #0x1 + add r0, r0, r1 + add r0, #0xb0 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_02029FF0: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02029FF8 +sub_02029FF8: ; 0x02029FF8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x2c + bge _0202A008 + lsl r0, r4, #0x2 + str r2, [r5, r0] + b _0202A01E +_0202A008: + cmp r4, #0x79 + bge _0202A01A + add r0, r4, #0x0 + sub r0, #0x2c + lsl r0, r0, #0x1 + add r0, r5, r0 + add r0, #0xb0 + strh r2, [r0, #0x0] + b _0202A01E +_0202A01A: + bl sub_02020C2C +_0202A01E: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02029FD4 + pop {r3-r5, pc} + + thumb_func_start sub_0202A028 +sub_0202A028: ; 0x0202A028 + push {r3, lr} + cmp r0, #0x2c + bge _0202A03E + ldr r1, _0202A05C ; =0x02105CD8 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202A03A + ldr r0, _0202A060 ; =0x3B9AC9FF + pop {r3, pc} +_0202A03A: + ldr r0, _0202A064 ; =0x000F423F + pop {r3, pc} +_0202A03E: + cmp r0, #0x79 + bge _0202A052 + ldr r1, _0202A05C ; =0x02105CD8 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202A04E + ldr r0, _0202A068 ; =0x0000FFFF + pop {r3, pc} +_0202A04E: + ldr r0, _0202A06C ; =0x0000270F + pop {r3, pc} +_0202A052: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + nop +_0202A05C: .word 0x02105CD8 +_0202A060: .word 0x3B9AC9FF +_0202A064: .word 0x000F423F +_0202A068: .word 0x0000FFFF +_0202A06C: .word 0x0000270F + + thumb_func_start sub_0202A070 +sub_0202A070: ; 0x0202A070 + lsl r1, r0, #0x1 + ldr r0, _0202A078 ; =0x020EEA7C + ldrh r0, [r0, r1] + bx lr + .balign 4 +_0202A078: .word 0x020EEA7C + + thumb_func_start sub_0202A07C +sub_0202A07C: ; 0x0202A07C + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r4, r2, #0x0 + bl sub_0202A028 + add r2, r0, #0x0 + cmp r4, r2 + bhs _0202A09C + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02029FF8 + pop {r4-r6, pc} +_0202A09C: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02029FF8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202A0A8 +sub_0202A0A8: ; 0x0202A0A8 + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r5, r2, #0x0 + bl sub_0202A028 + add r4, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_02029FD4 + cmp r5, r4 + bls _0202A0C6 + add r5, r4, #0x0 +_0202A0C6: + cmp r0, r5 + bhs _0202A0D6 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_02029FF8 + pop {r3-r7, pc} +_0202A0D6: + cmp r0, r4 + bls _0202A0E4 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02029FF8 +_0202A0E4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202A0E8 +sub_0202A0E8: ; 0x0202A0E8 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0202A028 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02029FD4 + add r2, r0, #0x1 + cmp r2, r4 + bhs _0202A10E + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02029FF8 + pop {r4-r6, pc} +_0202A10E: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02029FF8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202A11C +sub_0202A11C: ; 0x0202A11C + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r7, r2, #0x0 + bl sub_0202A028 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02029FD4 + add r2, r0, r7 + cmp r2, r6 + bhs _0202A144 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02029FF8 + pop {r3-r7, pc} +_0202A144: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02029FF8 + pop {r3-r7, pc} + + thumb_func_start sub_0202A150 +sub_0202A150: ; 0x0202A150 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0202A028 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02029FD4 + cmp r0, r4 + bhi _0202A16C + add r4, r0, #0x0 +_0202A16C: + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0202A170 +sub_0202A170: ; 0x0202A170 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x26 + blt _0202A17E + bl sub_02020C2C +_0202A17E: + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0202A150 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202A070 + ldr r2, _0202A1B4 ; =0x05F5E0FF + add r0, r6, r0 + cmp r0, r2 + bls _0202A1A0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0202A07C + pop {r4-r6, pc} +_0202A1A0: + add r0, r4, #0x0 + bl sub_0202A070 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0202A11C + pop {r4-r6, pc} + nop +_0202A1B4: .word 0x05F5E0FF + + thumb_func_start sub_0202A1B8 +sub_0202A1B8: ; 0x0202A1B8 + ldr r3, _0202A1C0 ; =sub_0202A150 + mov r1, #0x0 + bx r3 + nop +_0202A1C0: .word sub_0202A150 + 1 + + thumb_func_start sub_0202A1C4 +sub_0202A1C4: ; 0x0202A1C4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + bl sub_02024594 + cmp r0, #0x0 + bne _0202A1DC + add r0, r4, #0x0 + mov r1, #0x16 + bl sub_0202A170 +_0202A1DC: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202A1E0 +sub_0202A1E0: ; 0x0202A1E0 + mov r0, #0xe4 + bx lr + + thumb_func_start sub_0202A1E4 +sub_0202A1E4: ; 0x0202A1E4 + ldr r3, _0202A1EC ; =sub_020CE34C + mov r1, #0x0 + mov r2, #0x3c + bx r3 + .balign 4 +_0202A1EC: .word sub_020CE34C + + thumb_func_start sub_0202A1F0 +sub_0202A1F0: ; 0x0202A1F0 + push {r4, lr} + mov r2, #0x5a + mov r1, #0x0 + lsl r2, r2, #0x2 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x1 + strb r0, [r4, #0x3] + pop {r4, pc} + + thumb_func_start sub_0202A204 +sub_0202A204: ; 0x0202A204 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_02013764 + add r0, r4, #0x0 + add r0, #0x8 + mov r1, #0x1 + bl sub_02013764 + add r0, r4, #0x0 + add r0, #0x10 + mov r1, #0x2 + bl sub_02013764 + add r4, #0x18 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_02013764 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202A230 +sub_0202A230: ; 0x0202A230 + ldr r3, _0202A238 ; =sub_020CE34C + mov r1, #0x0 + ldr r2, _0202A23C ; =0x00000B3C + bx r3 + .balign 4 +_0202A238: .word sub_020CE34C +_0202A23C: .word 0x00000B3C + + thumb_func_start sub_0202A240 +sub_0202A240: ; 0x0202A240 + push {r3, lr} + cmp r1, #0xa + bhi _0202A2BE + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r2, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + lsl r2, r7, #0 + lsl r0, r1, #0x1 + lsl r0, r2, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1d + pop {r3, pc} +_0202A270: + .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x80, 0x88, 0x08, 0xBD, 0xC0, 0x88, 0x08, 0xBD + .byte 0x11, 0x1C, 0x08, 0x30, 0x04, 0x22, 0xA4, 0xF0, 0xAC, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x11, 0x1C + .byte 0x2C, 0x30, 0x10, 0x22, 0xA4, 0xF0, 0xA4, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x78, 0xC0, 0x07 + .byte 0xC0, 0x0F, 0x08, 0xBD, 0x11, 0x1C, 0x0C, 0x30, 0x1C, 0x22, 0xA4, 0xF0, 0x9A, 0xE8, 0x00, 0x20 + .byte 0x08, 0xBD, 0x00, 0x78, 0x00, 0x06, 0x40, 0x0F, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD +_0202A2BE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202A2C4 +sub_0202A2C4: ; 0x0202A2C4 + push {r4, lr} + add r3, r0, #0x0 + cmp r1, #0xa + bhi _0202A36A + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r2, #0 + lsl r6, r4, #0 + lsl r4, r5, #0 + lsl r2, r6, #0 + lsl r0, r7, #0 + lsl r6, r7, #0 + lsl r4, r1, #0x1 + lsl r2, r3, #0x1 + lsl r4, r5, #0x1 + lsl r0, r0, #0x2 + lsl r2, r7, #0x1 + ldrb r1, [r3, #0x0] + mov r0, #0x1c + bic r1, r0 + ldrb r0, [r2, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1b + orr r0, r1 + strb r0, [r3, #0x0] + pop {r4, pc} +_0202A300: + .byte 0x10, 0x78, 0x98, 0x70, 0x10, 0xBD, 0x10, 0x78, 0xD8, 0x70, 0x10, 0xBD, 0x10, 0x88, 0x98, 0x80 + .byte 0x10, 0xBD, 0x10, 0x88, 0xD8, 0x80, 0x10, 0xBD, 0x08, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x04, 0x22 + .byte 0xA4, 0xF0, 0x5E, 0xE8, 0x10, 0xBD, 0x2C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x10, 0x22, 0xA4, 0xF0 + .byte 0x58, 0xE8, 0x10, 0xBD, 0x1C, 0x78, 0x11, 0x78, 0x01, 0x20, 0x84, 0x43, 0x01, 0x20, 0x08, 0x40 + .byte 0x20, 0x43, 0x18, 0x70, 0x10, 0xBD, 0x0C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x1C, 0x22, 0xA4, 0xF0 + .byte 0x48, 0xE8, 0x10, 0xBD, 0x10, 0x68, 0x98, 0x62, 0x10, 0xBD, 0x19, 0x78, 0xE0, 0x20, 0x81, 0x43 + .byte 0x10, 0x78, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x18, 0x70 +_0202A36A: + pop {r4, pc} + + thumb_func_start sub_0202A36C +sub_0202A36C: ; 0x0202A36C + push {r3-r4} + ldrb r4, [r0, #0x3] + add r1, r4, r1 + cmp r1, #0xff + bge _0202A378 + strb r1, [r0, #0x3] +_0202A378: + ldrh r1, [r0, #0x4] + add r2, r1, r2 + ldr r1, _0202A394 ; =0x0000FFFF + cmp r2, r1 + bge _0202A384 + strh r2, [r0, #0x4] +_0202A384: + ldrh r1, [r0, #0x6] + add r2, r1, r3 + ldr r1, _0202A394 ; =0x0000FFFF + cmp r2, r1 + bge _0202A390 + strh r2, [r0, #0x6] +_0202A390: + pop {r3-r4} + bx lr + .balign 4 +_0202A394: .word 0x0000FFFF + + thumb_func_start sub_0202A398 +sub_0202A398: ; 0x0202A398 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_0202A3A0 +sub_0202A3A0: ; 0x0202A3A0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + ldrb r3, [r0, #0x0] + mov r2, #0x2 + lsr r1, r1, #0x1e + bic r3, r2 + orr r1, r3 + strb r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0202A3B4 +sub_0202A3B4: ; 0x0202A3B4 + cmp r2, #0x6 + bhi _0202A402 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r7, #0 + lsl r4, r1, #0 + lsl r4, r7, #0 + lsl r4, r7, #0 + lsl r4, r7, #0 + lsl r2, r3, #0 + lsl r4, r5, #0 + ldr r2, _0202A408 ; =0x0000270F + cmp r1, r2 + bls _0202A3DC + strh r2, [r0, #0x0] + b _0202A402 +_0202A3DC: + strh r1, [r0, #0x0] + b _0202A402 +_0202A3E0: + .byte 0x02, 0x88, 0x52, 0x18, 0x08, 0x49, 0x8A, 0x42, 0x01, 0xDD, 0x01, 0x80, 0x09, 0xE0, 0x02, 0x80 + .byte 0x07, 0xE0, 0x02, 0x88, 0x8A, 0x42, 0x02, 0xD2, 0x00, 0x21, 0x01, 0x80, 0x01, 0xE0, 0x51, 0x1A + .byte 0x01, 0x80 +_0202A402: + ldrh r0, [r0, #0x0] + bx lr + nop +_0202A408: .word 0x0000270F + + thumb_func_start sub_0202A40C +sub_0202A40C: ; 0x0202A40C + cmp r1, #0x2 + beq _0202A416 + cmp r1, #0x3 + beq _0202A424 + b _0202A440 +_0202A416: + mov r1, #0x0 + strb r1, [r0, #0x2] + ldrh r2, [r0, #0x8] + mov r1, #0x10 + bic r2, r1 + strh r2, [r0, #0x8] + b _0202A440 +_0202A424: + ldrh r1, [r0, #0x8] + lsl r1, r1, #0x1b + lsr r1, r1, #0x1f + beq _0202A434 + ldrb r1, [r0, #0x2] + add r1, r1, #0x1 + strb r1, [r0, #0x2] + b _0202A440 +_0202A434: + mov r1, #0x1 + strb r1, [r0, #0x2] + ldrh r2, [r0, #0x8] + mov r1, #0x10 + orr r1, r2 + strh r1, [r0, #0x8] +_0202A440: + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_0202A444 +sub_0202A444: ; 0x0202A444 + cmp r1, #0x2 + beq _0202A452 + cmp r1, #0x3 + beq _0202A458 + cmp r1, #0x4 + beq _0202A464 + b _0202A46E +_0202A452: + mov r1, #0x1 + strb r1, [r0, #0x3] + b _0202A46E +_0202A458: + ldrb r1, [r0, #0x3] + cmp r1, #0xa + bhs _0202A46E + add r1, r1, #0x1 + strb r1, [r0, #0x3] + b _0202A46E +_0202A464: + ldrb r1, [r0, #0x3] + cmp r1, #0x1 + bls _0202A46E + sub r1, r1, #0x1 + strb r1, [r0, #0x3] +_0202A46E: + ldrb r0, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start sub_0202A474 +sub_0202A474: ; 0x0202A474 + push {r3, lr} + add r3, r0, #0x0 + cmp r1, #0x0 + bne _0202A48A + add r3, #0xc0 + add r0, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0xa8 + blx sub_020CE3E0 + pop {r3, pc} +_0202A48A: + add r3, #0x18 + add r0, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0xa8 + blx sub_020CE3E0 + pop {r3, pc} + + thumb_func_start sub_0202A498 +sub_0202A498: ; 0x0202A498 + push {r3, lr} + cmp r1, #0x0 + bne _0202A4AA + add r1, r2, #0x0 + add r0, #0xc0 + mov r2, #0xa8 + blx sub_020CE3E0 + pop {r3, pc} +_0202A4AA: + add r1, r2, #0x0 + add r0, #0x18 + mov r2, #0xa8 + blx sub_020CE3E0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202A4B8 +sub_0202A4B8: ; 0x0202A4B8 + push {r4-r6, lr} + add r6, r0, #0x0 + ldrb r0, [r1, #0x2] + mov r2, #0xfa + lsl r2, r2, #0x2 + sub r0, r0, #0x1 + add r3, r0, #0x0 + mul r3, r2 + lsl r0, r3, #0x10 + lsr r4, r0, #0x10 + ldrh r3, [r1, #0x4] + mov r0, #0xa + ldrb r5, [r1, #0x3] + mul r0, r3 + mov r3, #0x14 + mul r3, r5 + lsl r0, r0, #0x10 + lsl r3, r3, #0x10 + lsr r0, r0, #0x10 + lsr r3, r3, #0x10 + add r3, r0, r3 + add r0, r2, #0x0 + sub r0, #0x32 + cmp r3, r0 + ble _0202A4EE + mov r5, #0x0 + b _0202A4F6 +_0202A4EE: + sub r2, #0x32 + sub r0, r2, r3 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_0202A4F6: + ldrh r1, [r1, #0x6] + ldr r0, _0202A51C ; =0x000003CA + cmp r1, r0 + bls _0202A502 + mov r1, #0x0 + b _0202A510 +_0202A502: + add r0, #0x1e + sub r0, r0, r1 + mov r1, #0x1e + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 +_0202A510: + add r0, r4, r5 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + strh r0, [r6, #0x16] + pop {r4-r6, pc} + .balign 4 +_0202A51C: .word 0x000003CA + + thumb_func_start sub_0202A520 +sub_0202A520: ; 0x0202A520 + ldrh r0, [r0, #0x16] + bx lr + + thumb_func_start sub_0202A524 +sub_0202A524: ; 0x0202A524 + push {r3, lr} + ldrh r0, [r0, #0x16] + mov r1, #0xfa + lsl r1, r1, #0x2 + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202A538 +sub_0202A538: ; 0x0202A538 + push {r4-r5} + cmp r1, #0x5 + bne _0202A544 + mov r0, #0x0 + pop {r4-r5} + bx lr +_0202A544: + cmp r2, #0x2 + beq _0202A54E + cmp r2, #0x3 + beq _0202A558 + b _0202A56A +_0202A54E: + lsl r2, r1, #0x1 + mov r3, #0x0 + add r2, r0, r2 + strh r3, [r2, #0xc] + b _0202A56A +_0202A558: + add r5, r0, #0x0 + add r5, #0xc + lsl r4, r1, #0x1 + ldrh r3, [r5, r4] + ldr r2, _0202A574 ; =0x0000FFFE + cmp r3, r2 + bhs _0202A56A + add r2, r3, #0x1 + strh r2, [r5, r4] +_0202A56A: + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, #0xc] + pop {r4-r5} + bx lr + .balign 4 +_0202A574: .word 0x0000FFFE + + thumb_func_start sub_0202A578 +sub_0202A578: ; 0x0202A578 + push {r3-r4} + mov r3, #0x1 + mov r4, #0x0 + cmp r1, #0x0 + bls _0202A590 +_0202A582: + add r4, r4, #0x1 + lsl r4, r4, #0x10 + lsl r3, r3, #0x11 + lsr r4, r4, #0x10 + lsr r3, r3, #0x10 + cmp r4, r1 + blo _0202A582 +_0202A590: + cmp r2, #0x0 + beq _0202A5B4 + cmp r2, #0x1 + beq _0202A5AC + cmp r2, #0x2 + bne _0202A5C2 + ldr r1, _0202A5C8 ; =0x0000FFFF + eor r1, r3 + lsl r1, r1, #0x10 + lsr r2, r1, #0x10 + ldrh r1, [r0, #0x8] + and r1, r2 + strh r1, [r0, #0x8] + b _0202A5C2 +_0202A5AC: + ldrh r1, [r0, #0x8] + orr r1, r3 + strh r1, [r0, #0x8] + b _0202A5C2 +_0202A5B4: + ldrh r0, [r0, #0x8] + add r2, r0, #0x0 + asr r2, r1 + mov r0, #0x1 + and r0, r2 + pop {r3-r4} + bx lr +_0202A5C2: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 +_0202A5C8: .word 0x0000FFFF + + thumb_func_start sub_0202A5CC +sub_0202A5CC: ; 0x0202A5CC + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_0202A5D0 +sub_0202A5D0: ; 0x0202A5D0 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0202A5D4 +sub_0202A5D4: ; 0x0202A5D4 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0x17 + add r4, r2, #0x0 + bl sub_02022610 + mov r1, #0x69 + lsl r1, r1, #0x2 + add r1, r0, r1 + lsl r0, r5, #0x3 + add r0, r1, r0 + add r1, r4, #0x0 + bl sub_02013960 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202A5F4 +sub_0202A5F4: ; 0x0202A5F4 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x17 + bl sub_02022610 + mov r1, #0x69 + lsl r1, r1, #0x2 + add r1, r0, r1 + lsl r0, r4, #0x3 + add r0, r1, r0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202A60C +sub_0202A60C: ; 0x0202A60C + push {r3-r6} + add r4, r3, #0x0 + mov r3, #0x1 + cmp r2, #0x0 + beq _0202A66C + cmp r2, #0xc8 + bhi _0202A66C + cmp r1, #0x0 + beq _0202A66C + cmp r1, #0xa + bhi _0202A66C + sub r5, r2, #0x1 + sub r2, r1, #0x1 + mov r1, #0xc8 + mul r1, r2 + add r1, r5, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + lsr r6, r1, #0x1f + lsl r5, r1, #0x1d + sub r5, r5, r6 + mov r2, #0x1d + ror r5, r2 + add r2, r6, r5 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + lsl r3, r2 + lsl r2, r3, #0x18 + lsl r1, r1, #0x15 + lsr r5, r2, #0x18 + add r3, r0, #0x4 + lsr r2, r1, #0x18 + ldrb r1, [r3, r2] + orr r1, r5 + strb r1, [r3, r2] + ldr r3, [r4, #0x0] + ldr r1, [r4, #0x8] + lsl r5, r3, #0x18 + ldr r3, [r4, #0x4] + lsl r1, r1, #0x18 + lsl r3, r3, #0x18 + lsr r3, r3, #0x8 + ldr r2, [r4, #0xc] + lsr r1, r1, #0x10 + orr r3, r5 + orr r1, r3 + orr r1, r2 + str r1, [r0, #0x0] +_0202A66C: + pop {r3-r6} + bx lr + + thumb_func_start sub_0202A670 +sub_0202A670: ; 0x0202A670 + push {r4, lr} + add r4, r0, #0x0 + add r0, r4, #0x4 + mov r1, #0x0 + mov r2, #0xfa + blx sub_020CE34C + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x4 + blx sub_020CE34C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202A68C +sub_0202A68C: ; 0x0202A68C + ldr r3, [r0, #0x0] + ldr r2, [r1, #0x0] + cmp r3, r2 + bls _0202A698 + mov r0, #0x1 + bx lr +_0202A698: + ldr r3, [r0, #0x4] + ldr r2, [r1, #0x4] + cmp r3, r2 + bls _0202A6A4 + mov r0, #0x1 + bx lr +_0202A6A4: + ldr r2, [r0, #0x8] + ldr r0, [r1, #0x8] + cmp r2, r0 + bls _0202A6B0 + mov r0, #0x1 + bx lr +_0202A6B0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202A6B4 +sub_0202A6B4: ; 0x0202A6B4 + push {r3-r7, lr} + sub sp, #0x10 + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r7, #0x1 + cmp r6, #0xc8 + bhi _0202A6C8 + cmp r4, #0xa + bls _0202A6CE +_0202A6C8: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0202A6CE: + ldr r0, [r5, #0x0] + lsr r1, r0, #0x18 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + lsr r1, r0, #0x10 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x4] + lsr r1, r0, #0x8 + lsl r1, r1, #0x18 + lsl r0, r0, #0x18 + lsr r1, r1, #0x18 + lsr r0, r0, #0x18 + str r1, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r3, #0x0 + add r1, sp, #0x0 + bl sub_0202A68C + cmp r0, #0x0 + beq _0202A706 + add r0, r5, #0x0 + bl sub_0202A670 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0202A706: + sub r1, r4, #0x1 + mov r0, #0xc8 + mul r0, r1 + sub r2, r6, #0x1 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsr r3, r0, #0x1f + lsl r2, r0, #0x1d + lsl r0, r0, #0x15 + lsr r0, r0, #0x18 + add r0, r5, r0 + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 + add r1, r3, r2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r2, r7, #0x0 + lsl r2, r1 + lsl r1, r2, #0x18 + ldrb r0, [r0, #0x4] + lsr r1, r1, #0x18 + tst r0, r1 + beq _0202A73E + add sp, #0x10 + add r0, r7, #0x0 + pop {r3-r7, pc} +_0202A73E: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0202A744 +sub_0202A744: ; 0x0202A744 + add r0, #0xfe + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202A74C +sub_0202A74C: ; 0x0202A74C + add r0, #0xff + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202A754 +sub_0202A754: ; 0x0202A754 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x41 + add r4, r2, #0x0 + lsl r1, r1, #0x2 + ldr r2, _0202A77C ; =0x0000063C + add r1, r5, r1 + add r6, r3, #0x0 + blx sub_020CE3E0 + ldr r0, _0202A780 ; =0x00000101 + strb r4, [r5, r0] + sub r0, r0, #0x1 + strb r6, [r5, r0] + mov r0, #0x1 + add r5, #0xfe + strb r0, [r5, #0x0] + pop {r4-r6, pc} + nop +_0202A77C: .word 0x0000063C +_0202A780: .word 0x00000101 + + thumb_func_start sub_0202A784 +sub_0202A784: ; 0x0202A784 + ldr r2, _0202A794 ; =0x00000101 + ldrb r3, [r0, r2] + sub r2, r2, #0x1 + strb r3, [r1, #0x0] + ldrb r0, [r0, r2] + strb r0, [r1, #0x1] + bx lr + nop +_0202A794: .word 0x00000101 + + thumb_func_start sub_0202A798 +sub_0202A798: ; 0x0202A798 + push {r3-r7, lr} + add r6, r1, #0x0 + mov r1, #0x41 + lsl r1, r1, #0x2 + add r5, r0, r1 + mov r0, #0xe4 + add r4, r2, #0x0 + mul r4, r0 + ldr r0, _0202A834 ; =0x00002710 + add r7, r6, #0x0 + str r0, [r6, #0x0] + add r0, r5, r4 + add r0, #0xc9 + ldrb r0, [r0, #0x0] + add r7, #0x30 + strh r0, [r6, #0x4] + add r0, r5, r4 + add r0, #0xc8 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _0202A7EE + mov r0, #0x0 + mov r1, #0x1a + mov r2, #0x11 + mov r3, #0xb + bl sub_0200A86C + add r1, r5, r4 + add r1, #0xc8 + ldrb r1, [r1, #0x0] + add r2, r6, #0x0 + str r0, [sp, #0x0] + lsl r1, r1, #0x1e + lsr r1, r1, #0x1f + add r1, #0x16 + add r2, #0x8 + bl sub_0200A968 + ldr r0, [sp, #0x0] + bl sub_0200A8B8 + b _0202A7FC +_0202A7EE: + add r0, r5, r4 + add r1, r6, #0x0 + add r0, #0xa8 + add r1, #0x8 + mov r2, #0x10 + blx sub_020CE3E0 +_0202A7FC: + add r0, r5, r4 + add r1, r6, #0x0 + add r0, #0xca + add r1, #0x18 + mov r2, #0x8 + blx sub_020CE3E0 + add r0, r5, r4 + add r1, r6, #0x0 + add r0, #0xd2 + add r1, #0x20 + mov r2, #0x8 + blx sub_020CE3E0 + add r0, r5, r4 + add r6, #0x28 + add r0, #0xda + add r1, r6, #0x0 + mov r2, #0x8 + blx sub_020CE3E0 + add r0, r5, r4 + add r1, r7, #0x0 + mov r2, #0xa8 + blx sub_020CE3E0 + pop {r3-r7, pc} + nop +_0202A834: .word 0x00002710 + + thumb_func_start sub_0202A838 +sub_0202A838: ; 0x0202A838 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x1d + add r4, r2, #0x0 + lsl r1, r1, #0x6 + mov r2, #0xff + add r1, r5, r1 + lsl r2, r2, #0x2 + add r6, r3, #0x0 + blx sub_020CE3E0 + ldr r0, _0202A860 ; =0x00000103 + strb r4, [r5, r0] + sub r0, r0, #0x1 + strb r6, [r5, r0] + mov r0, #0x1 + add r5, #0xff + strb r0, [r5, #0x0] + pop {r4-r6, pc} + .balign 4 +_0202A860: .word 0x00000103 + + thumb_func_start sub_0202A864 +sub_0202A864: ; 0x0202A864 + ldr r2, _0202A874 ; =0x00000103 + ldrb r3, [r0, r2] + sub r2, r2, #0x1 + strb r3, [r1, #0x0] + ldrb r0, [r0, r2] + strb r0, [r1, #0x1] + bx lr + nop +_0202A874: .word 0x00000103 + + thumb_func_start sub_0202A878 +sub_0202A878: ; 0x0202A878 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0xff + lsl r1, r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x1d + lsl r0, r0, #0x6 + mov r2, #0xff + add r0, r5, r0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE3E0 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0202A89C +sub_0202A89C: ; 0x0202A89C + mov r0, #0xd + lsl r0, r0, #0x8 + bx lr + .balign 4 + + thumb_func_start sub_0202A8A4 +sub_0202A8A4: ; 0x0202A8A4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0202A1E4 + add r0, r4, #0x0 + add r0, #0x3c + bl sub_0202A1F0 + mov r0, #0x69 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0202A204 + mov r0, #0x71 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0202A230 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202A8CC +sub_0202A8CC: ; 0x0202A8CC + ldr r3, _0202A8D4 ; =sub_02022610 + mov r1, #0x17 + bx r3 + nop +_0202A8D4: .word sub_02022610 + 1 + + thumb_func_start sub_0202A8D8 +sub_0202A8D8: ; 0x0202A8D8 + push {r3, lr} + mov r1, #0x17 + bl sub_02022610 + add r0, #0x3c + pop {r3, pc} + + thumb_func_start sub_0202A8E4 +sub_0202A8E4: ; 0x0202A8E4 + push {r3, lr} + mov r1, #0x17 + bl sub_02022610 + mov r1, #0x71 + lsl r1, r1, #0x2 + add r0, r0, r1 + pop {r3, pc} + + thumb_func_start sub_0202A8F4 +sub_0202A8F4: ; 0x0202A8F4 + mov r0, #0xe + bx lr + + thumb_func_start sub_0202A8F8 +sub_0202A8F8: ; 0x0202A8F8 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + strb r1, [r0, #0x8] + strb r1, [r0, #0x9] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + strb r1, [r0, #0xc] + strb r1, [r0, #0xd] + bx lr + + thumb_func_start sub_0202A918 +sub_0202A918: ; 0x0202A918 + ldr r3, _0202A920 ; =sub_02022610 + mov r1, #0x18 + bx r3 + nop +_0202A920: .word sub_02022610 + 1 + + thumb_func_start sub_0202A924 +sub_0202A924: ; 0x0202A924 + mov r0, #0x45 + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_0202A92C +sub_0202A92C: ; 0x0202A92C + push {r4, lr} + mov r2, #0x45 + add r4, r0, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020DF4A4 + bl sub_0201BA60 + str r0, [r4, #0x0] + bl sub_0201BA60 + str r0, [r4, #0x4] + mov r1, #0x0 + add r3, r4, #0x0 + ldr r0, _0202A980 ; =0x0000FFFF + str r1, [r4, #0x8] + strh r0, [r4, #0xc] + strh r0, [r4, #0xe] + mov r0, #0x15 + add r3, #0x10 + strb r0, [r4, #0x10] + add r2, r1, #0x0 +_0202A95A: + str r2, [r3, #0x4] + strb r2, [r3, #0x8] + strb r2, [r3, #0x9] + strb r2, [r3, #0xa] + strb r2, [r3, #0xb] + add r1, r1, #0x1 + add r3, #0x8 + cmp r1, #0x15 + blt _0202A95A + ldr r0, _0202A984 ; =0x0000010F + strb r2, [r4, r0] + add r1, r0, #0x1 + strb r2, [r4, r1] + add r1, r0, #0x2 + strb r2, [r4, r1] + add r0, r0, #0x3 + strb r2, [r4, r0] + pop {r4, pc} + nop +_0202A980: .word 0x0000FFFF +_0202A984: .word 0x0000010F + + thumb_func_start sub_0202A988 +sub_0202A988: ; 0x0202A988 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_0202A990 +sub_0202A990: ; 0x0202A990 + push {r3, lr} + cmp r1, #0x1 + beq _0202A99C + cmp r1, #0x2 + beq _0202A9A0 + b _0202A9A4 +_0202A99C: + ldr r0, [r0, #0x0] + pop {r3, pc} +_0202A9A0: + ldr r0, [r0, #0x4] + pop {r3, pc} +_0202A9A4: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0202A9AC +sub_0202A9AC: ; 0x0202A9AC + add r0, #0xbc + bx lr + + thumb_func_start sub_0202A9B0 +sub_0202A9B0: ; 0x0202A9B0 + ldr r3, _0202A9B8 ; =sub_02022610 + mov r1, #0x19 + bx r3 + nop +_0202A9B8: .word sub_02022610 + 1 + + thumb_func_start sub_0202A9BC +sub_0202A9BC: ; 0x0202A9BC + add r0, #0x10 + bx lr + + thumb_func_start sub_0202A9C0 +sub_0202A9C0: ; 0x0202A9C0 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0202A9C4 +sub_0202A9C4: ; 0x0202A9C4 + strb r0, [r1, #0x0] + bx lr + + thumb_func_start sub_0202A9C8 +sub_0202A9C8: ; 0x0202A9C8 + add r1, r1, #0x4 + lsl r0, r0, #0x3 + add r0, r1, r0 + bx lr + + thumb_func_start sub_0202A9D0 +sub_0202A9D0: ; 0x0202A9D0 + push {r3-r7, lr} + add r5, r1, #0x0 + bl sub_0202A9B0 + add r6, r0, #0x0 + mov r4, #0x0 + add r6, #0x10 + add r7, r4, #0x0 +_0202A9E0: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r6, #0x0 + bl sub_0202A9C8 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202A9F8 + sub r1, r1, r5 + str r1, [r0, #0x0] + bpl _0202A9F8 + str r7, [r0, #0x0] +_0202A9F8: + add r4, r4, #0x1 + cmp r4, #0x15 + blt _0202A9E0 + pop {r3-r7, pc} + + thumb_func_start sub_0202AA00 +sub_0202AA00: ; 0x0202AA00 + push {r3, lr} + bl sub_0202A9B0 + ldr r1, _0202AA10 ; =0x0000010F + mov r2, #0x1 + strb r2, [r0, r1] + pop {r3, pc} + nop +_0202AA10: .word 0x0000010F + + thumb_func_start sub_0202AA14 +sub_0202AA14: ; 0x0202AA14 + ldr r1, _0202AA1C ; =0x0000010F + ldrb r0, [r0, r1] + bx lr + nop +_0202AA1C: .word 0x0000010F + + thumb_func_start sub_0202AA20 +sub_0202AA20: ; 0x0202AA20 + add r2, r0, #0x0 + add r2, #0xc8 + ldr r3, [r2, #0x0] + cmp r3, r1 + beq _0202AA34 + add r2, r0, #0x0 + add r2, #0xcc + str r3, [r2, #0x0] + add r0, #0xc8 + str r1, [r0, #0x0] +_0202AA34: + bx lr + .balign 4 + + thumb_func_start sub_0202AA38 +sub_0202AA38: ; 0x0202AA38 + add r0, #0xcc + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202AA40 +sub_0202AA40: ; 0x0202AA40 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blo _0202AA4E + bl sub_02020C2C +_0202AA4E: + mov r0, #0x43 + add r1, r5, r4 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_0202AA58 +sub_0202AA58: ; 0x0202AA58 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x3 + blo _0202AA68 + bl sub_02020C2C +_0202AA68: + mov r0, #0x43 + add r1, r5, r4 + lsl r0, r0, #0x2 + strb r6, [r1, r0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202AA74 +sub_0202AA74: ; 0x0202AA74 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blo _0202AA82 + bl sub_02020C2C +_0202AA82: + mov r0, #0x14 + mul r0, r4 + add r0, r5, r0 + add r0, #0xe2 + ldrb r0, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202AA90 +sub_0202AA90: ; 0x0202AA90 + ldr r2, [r0, #0x0] + mov r1, #0x14 + mov r0, #0x0 +_0202AA96: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0202AA96 + bx lr + + thumb_func_start sub_0202AAA0 +sub_0202AAA0: ; 0x0202AAA0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blo _0202AAAE + bl sub_02020C2C +_0202AAAE: + mov r0, #0x14 + add r5, #0xd0 + mul r0, r4 + add r0, r5, r0 + pop {r3-r5, pc} + + thumb_func_start sub_0202AAB8 +sub_0202AAB8: ; 0x0202AAB8 + cmp r1, #0x8 + bhi _0202AAF8 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r5, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + ldr r0, [r0, #0x0] + bx lr +_0202AADE: + .byte 0x40, 0x68 + .byte 0x70, 0x47, 0x80, 0x68, 0x70, 0x47, 0x80, 0x89, 0x70, 0x47, 0xC0, 0x89, 0x70, 0x47, 0x00, 0x7C + .byte 0x70, 0x47, 0x40, 0x7C, 0x70, 0x47, 0x80, 0x7C +_0202AAF8: + bx lr + .balign 4 + + thumb_func_start sub_0202AAFC +sub_0202AAFC: ; 0x0202AAFC + cmp r1, #0x8 + bhi _0202AB3C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r5, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + str r2, [r0, #0x0] + bx lr +_0202AB22: + .byte 0x42, 0x60, 0x70, 0x47, 0x82, 0x60, 0x70, 0x47, 0x82, 0x81, 0x70, 0x47, 0xC2, 0x81 + .byte 0x70, 0x47, 0x02, 0x74, 0x70, 0x47, 0x42, 0x74, 0x70, 0x47, 0x82, 0x74 +_0202AB3C: + bx lr + .balign 4 + + thumb_func_start sub_0202AB40 +sub_0202AB40: ; 0x0202AB40 + ldr r1, _0202AB48 ; =0x00000111 + add r0, r0, r1 + bx lr + nop +_0202AB48: .word 0x00000111 + + thumb_func_start sub_0202AB4C +sub_0202AB4C: ; 0x0202AB4C + mov r1, #0x11 + lsl r1, r1, #0x4 + add r0, r0, r1 + bx lr + + thumb_func_start sub_0202AB54 +sub_0202AB54: ; 0x0202AB54 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldrb r0, [r0, r1] + cmp r0, #0x0 + bne _0202AB62 + mov r0, #0x1 + bx lr +_0202AB62: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202AB68 +sub_0202AB68: ; 0x0202AB68 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x2 + bls _0202AB76 + bl sub_02020C2C +_0202AB76: + ldr r0, _0202AB7C ; =0x00000112 + strb r4, [r5, r0] + pop {r3-r5, pc} + .balign 4 +_0202AB7C: .word 0x00000112 + + thumb_func_start sub_0202AB80 +sub_0202AB80: ; 0x0202AB80 + ldr r1, _0202AB88 ; =0x00000112 + ldrb r0, [r0, r1] + bx lr + nop +_0202AB88: .word 0x00000112 + + thumb_func_start sub_0202AB8C +sub_0202AB8C: ; 0x0202AB8C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_0202A9B0 + ldrh r1, [r0, #0xc] + strh r1, [r5, #0x0] + ldrh r0, [r0, #0xe] + strh r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0202ABA0 +sub_0202ABA0: ; 0x0202ABA0 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_0202A9B0 + add r4, r0, #0x0 + cmp r5, #0x10 + blo _0202ABB2 + bl sub_02020C2C +_0202ABB2: + ldrh r0, [r4, #0xc] + strh r0, [r4, #0xe] + strh r5, [r4, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202ABBC +sub_0202ABBC: ; 0x0202ABBC + ldr r3, _0202ABC4 ; =sub_02022610 + mov r1, #0x1a + bx r3 + nop +_0202ABC4: .word sub_02022610 + 1 + + thumb_func_start sub_0202ABC8 +sub_0202ABC8: ; 0x0202ABC8 + mov r0, #0xf4 + bx lr + + thumb_func_start sub_0202ABCC +sub_0202ABCC: ; 0x0202ABCC + ldr r3, _0202ABD8 ; =sub_020CE240 + add r1, r0, #0x0 + mov r0, #0x0 + mov r2, #0xf4 + bx r3 + nop +_0202ABD8: .word sub_020CE240 + + thumb_func_start sub_0202ABDC +sub_0202ABDC: ; 0x0202ABDC + add r0, #0xec + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202ABE4 +sub_0202ABE4: ; 0x0202ABE4 + add r0, #0xec + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202ABEC +sub_0202ABEC: ; 0x0202ABEC + ldr r3, _0202ABF4 ; =sub_020CE28C + mov r2, #0xec + bx r3 + nop +_0202ABF4: .word sub_020CE28C + + thumb_func_start sub_0202ABF8 +sub_0202ABF8: ; 0x0202ABF8 + ldr r3, _0202AC04 ; =sub_020CE28C + add r2, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0xec + bx r3 + .balign 4 +_0202AC04: .word sub_020CE28C + + thumb_func_start sub_0202AC08 +sub_0202AC08: ; 0x0202AC08 + add r0, #0xf0 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202AC10 +sub_0202AC10: ; 0x0202AC10 + add r0, #0xf0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202AC18 +sub_0202AC18: ; 0x0202AC18 + add r0, #0xee + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0202AC20 +sub_0202AC20: ; 0x0202AC20 + ldr r0, _0202AC24 ; =0x00001354 + bx lr + .balign 4 +_0202AC24: .word 0x00001354 + + thumb_func_start sub_0202AC28 +sub_0202AC28: ; 0x0202AC28 + bx lr + .balign 4 + + thumb_func_start sub_0202AC2C +sub_0202AC2C: ; 0x0202AC2C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blt _0202AC3A + bl sub_02020C2C +_0202AC3A: + mov r0, #0x1 + lsl r0, r0, #0x8 + add r6, r5, r0 + lsl r3, r4, #0x2 + ldr r2, [r6, r3] + ldr r1, _0202AC60 ; =0xEDB88320 + cmp r2, r1 + bne _0202AC58 + add r0, #0x2c + add r1, r5, r0 + lsl r0, r4, #0x6 + add r0, r4, r0 + lsl r0, r0, #0x2 + add r0, r1, r0 + pop {r4-r6, pc} +_0202AC58: + mov r0, #0x0 + str r0, [r6, r3] + pop {r4-r6, pc} + nop +_0202AC60: .word 0xEDB88320 + + thumb_func_start sub_0202AC64 +sub_0202AC64: ; 0x0202AC64 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blt _0202AC72 + bl sub_02020C2C +_0202AC72: + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x12 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0202AC8E + ldr r0, _0202AC94 ; =0x0000094C + add r1, r5, r0 + mov r0, #0xd6 + lsl r0, r0, #0x2 + mul r0, r4 + add r0, r1, r0 + pop {r3-r5, pc} +_0202AC8E: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0202AC94: .word 0x0000094C + + thumb_func_start sub_0202AC98 +sub_0202AC98: ; 0x0202AC98 + push {r3-r7, lr} + add r5, r0, #0x0 + str r1, [sp, #0x0] + add r7, r2, #0x0 + bl sub_0202ADF0 + cmp r0, #0x0 + bne _0202ACAC + mov r0, #0x0 + pop {r3-r7, pc} +_0202ACAC: + mov r0, #0x1 + mov r4, #0x0 + add r2, r5, #0x0 + lsl r0, r0, #0x8 +_0202ACB4: + ldr r1, [r2, r0] + cmp r1, #0x0 + bne _0202ACF6 + lsl r0, r4, #0x6 + mov r2, #0x4b + add r0, r4, r0 + lsl r2, r2, #0x2 + lsl r6, r0, #0x2 + add r1, r5, r2 + ldr r0, [sp, #0x0] + add r1, r1, r6 + sub r2, #0x28 + blx sub_020CE3E0 + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x1 + ldr r2, _0202AD04 ; =0xEDB88320 + lsl r0, r0, #0x8 + str r2, [r1, r0] + add r0, #0x2e + add r1, r5, r0 + ldrh r0, [r1, r6] + mov r2, #0x3 + bic r0, r2 + lsl r2, r7, #0x10 + lsr r3, r2, #0x10 + mov r2, #0x3 + and r2, r3 + orr r0, r2 + strh r0, [r1, r6] + mov r0, #0x1 + pop {r3-r7, pc} +_0202ACF6: + add r4, r4, #0x1 + add r2, r2, #0x4 + cmp r4, #0x8 + blt _0202ACB4 + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0202AD04: .word 0xEDB88320 + + thumb_func_start sub_0202AD08 +sub_0202AD08: ; 0x0202AD08 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_0202AE0C + cmp r0, #0x0 + bne _0202AD1A + mov r0, #0x0 + pop {r4-r6, pc} +_0202AD1A: + ldr r0, _0202AD88 ; =0x00000152 + ldrb r0, [r6, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _0202AD34 + add r0, r5, #0x0 + bl sub_0202ADF0 + cmp r0, #0x0 + bne _0202AD34 + mov r0, #0x0 + pop {r4-r6, pc} +_0202AD34: + mov r0, #0x12 + mov r4, #0x0 + add r2, r5, #0x0 + lsl r0, r0, #0x4 +_0202AD3C: + ldr r1, [r2, r0] + cmp r1, #0x0 + bne _0202AD7C + ldr r1, _0202AD8C ; =0x0000094C + mov r2, #0xd6 + add r3, r5, r1 + lsl r2, r2, #0x2 + add r1, r4, #0x0 + mul r1, r2 + add r0, r6, #0x0 + add r1, r3, r1 + blx sub_020CE3E0 + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x12 + ldr r2, _0202AD90 ; =0xEDB88320 + lsl r0, r0, #0x4 + str r2, [r1, r0] + add r0, #0x32 + ldrb r0, [r6, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _0202AD78 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x1 + bl sub_0202AC98 +_0202AD78: + mov r0, #0x1 + pop {r4-r6, pc} +_0202AD7C: + add r4, r4, #0x1 + add r2, r2, #0x4 + cmp r4, #0x3 + blt _0202AD3C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0202AD88: .word 0x00000152 +_0202AD8C: .word 0x0000094C +_0202AD90: .word 0xEDB88320 + + thumb_func_start sub_0202AD94 +sub_0202AD94: ; 0x0202AD94 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + sub r0, r4, #0x1 + cmp r0, #0x8 + blt _0202ADA4 + bl sub_02020C2C +_0202ADA4: + sub r4, r4, #0x1 + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x1 + mov r2, #0x0 + lsl r0, r0, #0x8 + str r2, [r1, r0] + add r0, #0x2e + add r3, r5, r0 + lsl r0, r4, #0x6 + add r0, r4, r0 + lsl r2, r0, #0x2 + ldrh r1, [r3, r2] + mov r0, #0x3 + bic r1, r0 + strh r1, [r3, r2] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0202ADC8 +sub_0202ADC8: ; 0x0202ADC8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blt _0202ADD6 + bl sub_02020C2C +_0202ADD6: + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x12 + mov r2, #0x0 + lsl r0, r0, #0x4 + str r2, [r1, r0] + add r0, r5, #0x0 + add r1, r4, #0x1 + bl sub_0202AEC4 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202ADF0 +sub_0202ADF0: ; 0x0202ADF0 + mov r1, #0x1 + mov r3, #0x0 + lsl r1, r1, #0x8 +_0202ADF6: + ldr r2, [r0, r1] + cmp r2, #0x0 + bne _0202AE00 + mov r0, #0x1 + bx lr +_0202AE00: + add r3, r3, #0x1 + add r0, r0, #0x4 + cmp r3, #0x8 + blt _0202ADF6 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202AE0C +sub_0202AE0C: ; 0x0202AE0C + mov r1, #0x12 + mov r3, #0x0 + lsl r1, r1, #0x4 +_0202AE12: + ldr r2, [r0, r1] + cmp r2, #0x0 + bne _0202AE1C + mov r0, #0x1 + bx lr +_0202AE1C: + add r3, r3, #0x1 + add r0, r0, #0x4 + cmp r3, #0x3 + blt _0202AE12 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202AE28 +sub_0202AE28: ; 0x0202AE28 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x8 + blt _0202AE36 + bl sub_02020C2C +_0202AE36: + lsl r0, r5, #0x2 + add r1, r4, r0 + mov r0, #0x1 + lsl r0, r0, #0x8 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0202AE48 + mov r0, #0x0 + pop {r3-r5, pc} +_0202AE48: + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0202AE4C +sub_0202AE4C: ; 0x0202AE4C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x3 + blt _0202AE5A + bl sub_02020C2C +_0202AE5A: + lsl r0, r5, #0x2 + add r1, r4, r0 + mov r0, #0x12 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0202AE6C + mov r0, #0x0 + pop {r3-r5, pc} +_0202AE6C: + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0202AE70 +sub_0202AE70: ; 0x0202AE70 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_0202AE76: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202AE4C + cmp r0, #0x1 + bne _0202AE86 + mov r0, #0x1 + pop {r3-r5, pc} +_0202AE86: + add r4, r4, #0x1 + cmp r4, #0x3 + blt _0202AE76 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0202AE90 +sub_0202AE90: ; 0x0202AE90 + push {r3-r4} + cmp r1, #0x0 + beq _0202AEB8 + ldr r2, _0202AEC0 ; =0x0000012E + mov r3, #0x0 + add r4, r0, r2 + add r0, r2, #0x0 + sub r0, #0x2a +_0202AEA0: + ldrh r2, [r4, #0x0] + lsl r2, r2, #0x1e + lsr r2, r2, #0x1e + cmp r1, r2 + bne _0202AEB0 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0202AEB0: + add r3, r3, #0x1 + add r4, r4, r0 + cmp r3, #0x8 + blt _0202AEA0 +_0202AEB8: + mov r0, #0x0 + pop {r3-r4} + bx lr + nop +_0202AEC0: .word 0x0000012E + + thumb_func_start sub_0202AEC4 +sub_0202AEC4: ; 0x0202AEC4 + push {r3-r5, lr} + cmp r1, #0x0 + beq _0202AEEE + ldr r3, _0202AEF0 ; =0x0000012E + mov r4, #0x41 + mov r2, #0x0 + add r3, r0, r3 + lsl r4, r4, #0x2 +_0202AED4: + ldrh r5, [r3, #0x0] + lsl r5, r5, #0x1e + lsr r5, r5, #0x1e + cmp r1, r5 + bne _0202AEE6 + add r1, r2, #0x1 + bl sub_0202AD94 + pop {r3-r5, pc} +_0202AEE6: + add r2, r2, #0x1 + add r3, r3, r4 + cmp r2, #0x8 + blt _0202AED4 +_0202AEEE: + pop {r3-r5, pc} + .balign 4 +_0202AEF0: .word 0x0000012E + + thumb_func_start sub_0202AEF4 +sub_0202AEF4: ; 0x0202AEF4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x2 + add r4, r1, #0x0 + lsl r0, r0, #0xa + cmp r4, r0 + blt _0202AF06 + bl sub_02020C2C +_0202AF06: + mov r0, #0x1 + mov r1, #0x7 + add r2, r4, #0x0 + and r2, r1 + add r1, r0, #0x0 + lsl r1, r2 + asr r2, r4, #0x2 + lsr r2, r2, #0x1d + add r2, r4, r2 + asr r2, r2, #0x3 + ldrb r2, [r5, r2] + tst r1, r2 + bne _0202AF22 + mov r0, #0x0 +_0202AF22: + pop {r3-r5, pc} + + thumb_func_start sub_0202AF24 +sub_0202AF24: ; 0x0202AF24 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x2 + add r4, r1, #0x0 + lsl r0, r0, #0xa + cmp r4, r0 + blt _0202AF36 + bl sub_02020C2C +_0202AF36: + asr r0, r4, #0x2 + lsr r0, r0, #0x1d + add r0, r4, r0 + asr r0, r0, #0x3 + mov r1, #0x7 + ldrb r3, [r5, r0] + mov r2, #0x1 + and r1, r4 + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + strb r1, [r5, r0] + pop {r3-r5, pc} + + thumb_func_start sub_0202AF50 +sub_0202AF50: ; 0x0202AF50 + ldr r3, _0202AF58 ; =sub_0202AEF4 + ldr r1, _0202AF5C ; =0x000007FF + bx r3 + nop +_0202AF58: .word sub_0202AEF4 + 1 +_0202AF5C: .word 0x000007FF + + thumb_func_start sub_0202AF60 +sub_0202AF60: ; 0x0202AF60 + ldr r3, _0202AF68 ; =sub_0202AF24 + ldr r1, _0202AF6C ; =0x000007FF + bx r3 + nop +_0202AF68: .word sub_0202AF24 + 1 +_0202AF6C: .word 0x000007FF + + thumb_func_start sub_0202AF70 +sub_0202AF70: ; 0x0202AF70 + push {r3, lr} + ldr r1, _0202AF84 ; =0x021C59D4 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0202AF82 + bl sub_0202251C + ldr r1, _0202AF84 ; =0x021C59D4 + str r0, [r1, #0x0] +_0202AF82: + pop {r3, pc} + .balign 4 +_0202AF84: .word 0x021C59D4 + + thumb_func_start sub_0202AF88 +sub_0202AF88: ; 0x0202AF88 + ldr r0, _0202AF98 ; =0x021C59D4 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202AF94 + mov r1, #0x0 + str r1, [r0, #0x0] +_0202AF94: + bx lr + nop +_0202AF98: .word 0x021C59D4 + + thumb_func_start sub_0202AF9C +sub_0202AF9C: ; 0x0202AF9C + push {r3-r5, lr} + ldr r4, _0202AFBC ; =0x021C59D4 + mov r5, #0x0 +_0202AFA2: + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl sub_0202AE28 + cmp r0, #0x1 + bne _0202AFB2 + add r0, r5, #0x1 + pop {r3-r5, pc} +_0202AFB2: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0202AFA2 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0202AFBC: .word 0x021C59D4 + + thumb_func_start sub_0202AFC0 +sub_0202AFC0: ; 0x0202AFC0 + push {r4, lr} + add r4, r0, #0x0 + bne _0202AFCA + mov r0, #0x0 + pop {r4, pc} +_0202AFCA: + sub r0, r4, #0x1 + cmp r0, #0x8 + blt _0202AFD4 + bl sub_02020C2C +_0202AFD4: + ldr r0, _0202AFF8 ; =0x021C59D4 + sub r1, r4, #0x1 + ldr r0, [r0, #0x0] + bl sub_0202AE28 + cmp r0, #0x1 + bne _0202AFF4 + ldr r0, _0202AFF8 ; =0x021C59D4 + sub r1, r4, #0x1 + ldr r0, [r0, #0x0] + bl sub_0202AC2C + cmp r0, #0x0 + beq _0202AFF4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0202AFF4: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0202AFF8: .word 0x021C59D4 + + thumb_func_start sub_0202AFFC +sub_0202AFFC: ; 0x0202AFFC + cmp r0, #0x0 + beq _0202B016 + ldr r1, _0202B01C ; =0x021C59D4 + ldr r2, [r1, #0x0] + mov r1, #0x13 + lsl r1, r1, #0x4 + add r2, r2, r1 + sub r1, r0, #0x1 + lsl r0, r1, #0x6 + add r0, r1, r0 + lsl r0, r0, #0x2 + add r0, r2, r0 + bx lr +_0202B016: + mov r0, #0x0 + bx lr + nop +_0202B01C: .word 0x021C59D4 + + thumb_func_start sub_0202B020 +sub_0202B020: ; 0x0202B020 + add r1, r0, #0x0 + ldr r0, _0202B02C ; =0x021C59D4 + ldr r3, _0202B030 ; =sub_0202AD94 + ldr r0, [r0, #0x0] + bx r3 + nop +_0202B02C: .word 0x021C59D4 +_0202B030: .word sub_0202AD94 + 1 + + thumb_func_start sub_0202B034 +sub_0202B034: ; 0x0202B034 + ldr r0, _0202B038 ; =0x00002AB0 + bx lr + .balign 4 +_0202B038: .word 0x00002AB0 + + thumb_func_start sub_0202B03C +sub_0202B03C: ; 0x0202B03C + ldr r3, _0202B048 ; =sub_020CE1FC + add r1, r0, #0x0 + mov r0, #0x0 + ldr r2, _0202B04C ; =0x00002AB0 + bx r3 + nop +_0202B048: .word sub_020CE1FC +_0202B04C: .word 0x00002AB0 + + thumb_func_start sub_0202B050 +sub_0202B050: ; 0x0202B050 + push {r3-r7, lr} + sub sp, #0x18 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + str r2, [sp, #0x8] + cmp r0, #0x0 + bne _0202B062 + bl sub_02020C2C +_0202B062: + ldr r1, _0202B1E0 ; =0x00002AA8 + ldr r0, [sp, #0x0] + ldr r0, [r0, r1] + cmp r0, #0x1e + blo _0202B070 + bl sub_02020C2C +_0202B070: + ldr r1, _0202B1E4 ; =0x00002AAC + ldr r0, [sp, #0x0] + ldr r2, [r0, r1] + ldr r0, _0202B1E8 ; =0x0000270F + cmp r2, r0 + blo _0202B07E + b _0202B1DC +_0202B07E: + ldr r0, [sp, #0x0] + sub r1, r1, #0x4 + ldr r1, [r0, r1] + mov r0, #0x5b + lsl r0, r0, #0x2 + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [sp, #0x0] + add r0, r0, r2 + str r0, [sp, #0x14] + ldr r0, [sp, #0x4] + bl sub_0206B9AC + str r0, [sp, #0x10] + mov r0, #0xb + mov r1, #0x0 + bl sub_020219F4 + mov r2, #0x5a + add r6, r0, #0x0 + ldr r1, [sp, #0x14] + mov r0, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE1C8 + ldr r0, [sp, #0x10] + mov r7, #0x0 + cmp r0, #0x0 + ble _0202B18E + ldr r5, [sp, #0x14] +_0202B0BA: + ldr r0, [sp, #0x4] + add r1, r7, #0x0 + bl sub_0206B9B0 + add r4, r0, #0x0 + bl sub_020669D4 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0202B17E + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + strb r0, [r5, #0x2] + add r0, r4, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + mov r1, #0x0 + strb r0, [r5, #0x3] + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_020671BC + str r0, [r5, #0x4] + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020671BC + str r0, [r5, #0x8] + add r0, r4, #0x0 + mov r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x32] + add r0, r4, #0x0 + mov r1, #0x37 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x34] + add r0, r4, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x36] + add r0, r4, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x38] + cmp r6, #0x0 + beq _0202B176 + add r0, r4, #0x0 + mov r1, #0x76 + add r2, r6, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r0, r6, #0x0 + add r1, #0xc + mov r2, #0xb + bl sub_02021EF0 + add r0, r4, #0x0 + mov r1, #0x90 + add r2, r6, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r0, r6, #0x0 + add r1, #0x22 + mov r2, #0x8 + bl sub_02021EF0 + b _0202B17C +_0202B176: + ldr r0, _0202B1EC ; =0x0000FFFF + strh r0, [r5, #0xc] + strh r0, [r5, #0x22] +_0202B17C: + add r5, #0x3c +_0202B17E: + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02066A20 + ldr r0, [sp, #0x10] + add r7, r7, #0x1 + cmp r7, r0 + blt _0202B0BA +_0202B18E: + ldr r0, [sp, #0x8] + mov r1, #0x5a + ldr r2, [r0, #0x0] + ldr r0, [sp, #0x14] + lsl r1, r1, #0x2 + strh r2, [r0, r1] + ldr r0, [sp, #0x8] + add r2, r1, #0x2 + ldr r3, [r0, #0x4] + ldr r0, [sp, #0x14] + add r1, r1, #0x3 + strb r3, [r0, r2] + ldr r0, [sp, #0x8] + ldr r2, [r0, #0x8] + ldr r0, [sp, #0x14] + strb r2, [r0, r1] + ldr r1, _0202B1E0 ; =0x00002AA8 + ldr r0, [sp, #0x0] + ldr r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x0] + str r2, [r0, r1] + ldr r0, [r0, r1] + cmp r0, #0x1e + blo _0202B1C6 + ldr r0, [sp, #0x0] + mov r2, #0x0 + str r2, [r0, r1] +_0202B1C6: + ldr r1, _0202B1E4 ; =0x00002AAC + ldr r0, [sp, #0x0] + ldr r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x0] + cmp r6, #0x0 + str r2, [r0, r1] + beq _0202B1DC + add r0, r6, #0x0 + bl sub_02021A20 +_0202B1DC: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_0202B1E0: .word 0x00002AA8 +_0202B1E4: .word 0x00002AAC +_0202B1E8: .word 0x0000270F +_0202B1EC: .word 0x0000FFFF + + thumb_func_start sub_0202B1F0 +sub_0202B1F0: ; 0x0202B1F0 + push {r4, lr} + add r4, r0, #0x0 + bne _0202B1FA + bl sub_02020C2C +_0202B1FA: + ldr r0, _0202B214 ; =0x00002AA8 + ldr r0, [r4, r0] + cmp r0, #0x1e + blo _0202B206 + bl sub_02020C2C +_0202B206: + ldr r0, _0202B218 ; =0x00002AAC + ldr r0, [r4, r0] + cmp r0, #0x1e + blo _0202B210 + mov r0, #0x1e +_0202B210: + pop {r4, pc} + nop +_0202B214: .word 0x00002AA8 +_0202B218: .word 0x00002AAC + + thumb_func_start sub_0202B21C +sub_0202B21C: ; 0x0202B21C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0202B22A + bl sub_02020C2C +_0202B22A: + ldr r0, _0202B248 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202B236 + bl sub_02020C2C +_0202B236: + cmp r4, #0x1e + blt _0202B23E + bl sub_02020C2C +_0202B23E: + ldr r0, _0202B24C ; =0x00002AAC + ldr r0, [r5, r0] + sub r0, r0, r4 + pop {r3-r5, pc} + nop +_0202B248: .word 0x00002AA8 +_0202B24C: .word 0x00002AAC + + thumb_func_start sub_0202B250 +sub_0202B250: ; 0x0202B250 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0202B25E + bl sub_02020C2C +_0202B25E: + ldr r0, _0202B298 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202B26A + bl sub_02020C2C +_0202B26A: + cmp r4, #0x1e + blt _0202B272 + bl sub_02020C2C +_0202B272: + ldr r0, _0202B298 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #0x1 + sub r2, r0, r4 + bpl _0202B27E + add r2, #0x1e +_0202B27E: + mov r1, #0x5b + lsl r1, r1, #0x2 + mul r1, r2 + mov r0, #0x0 + add r2, r5, r1 +_0202B288: + ldrh r1, [r2, #0x0] + cmp r1, #0x0 + beq _0202B296 + add r0, r0, #0x1 + add r2, #0x3c + cmp r0, #0x6 + blo _0202B288 +_0202B296: + pop {r3-r5, pc} + .balign 4 +_0202B298: .word 0x00002AA8 + + thumb_func_start sub_0202B29C +sub_0202B29C: ; 0x0202B29C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + cmp r5, #0x0 + bne _0202B2AE + bl sub_02020C2C +_0202B2AE: + ldr r0, _0202B318 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202B2BA + bl sub_02020C2C +_0202B2BA: + cmp r6, #0x1e + blt _0202B2C2 + bl sub_02020C2C +_0202B2C2: + ldr r0, _0202B318 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #0x1 + sub r1, r0, r6 + bpl _0202B2CE + add r1, #0x1e +_0202B2CE: + mov r0, #0x5b + lsl r0, r0, #0x2 + mul r0, r1 + add r1, r5, r0 + mov r0, #0x3c + mul r0, r7 + add r5, r1, r0 + ldrh r0, [r1, r0] + add r1, r5, #0x0 + add r1, #0xc + strh r0, [r4, #0x10] + ldrb r0, [r5, #0x2] + strb r0, [r4, #0x12] + ldr r0, [r5, #0x4] + str r0, [r4, #0x8] + ldr r0, [r5, #0x8] + str r0, [r4, #0xc] + ldrb r0, [r5, #0x3] + strb r0, [r4, #0x13] + ldr r0, [r4, #0x0] + bl sub_02021E28 + add r1, r5, #0x0 + ldr r0, [r4, #0x4] + add r1, #0x22 + bl sub_02021E28 + mov r1, #0x0 +_0202B306: + ldrh r0, [r5, #0x32] + add r1, r1, #0x1 + add r5, r5, #0x2 + strh r0, [r4, #0x14] + add r4, r4, #0x2 + cmp r1, #0x4 + blt _0202B306 + pop {r3-r7, pc} + nop +_0202B318: .word 0x00002AA8 + + thumb_func_start sub_0202B31C +sub_0202B31C: ; 0x0202B31C + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + cmp r5, #0x0 + bne _0202B32C + bl sub_02020C2C +_0202B32C: + ldr r0, _0202B370 ; =0x00002AA8 + ldr r0, [r5, r0] + cmp r0, #0x1e + blo _0202B338 + bl sub_02020C2C +_0202B338: + cmp r6, #0x1e + blt _0202B340 + bl sub_02020C2C +_0202B340: + ldr r0, _0202B370 ; =0x00002AA8 + ldr r0, [r5, r0] + sub r0, r0, #0x1 + sub r2, r0, r6 + bpl _0202B34C + add r2, #0x1e +_0202B34C: + mov r0, #0x5b + lsl r0, r0, #0x2 + add r1, r2, #0x0 + mul r1, r0 + add r2, r5, r1 + sub r1, r0, #0x4 + ldrh r1, [r2, r1] + str r1, [r4, #0x0] + sub r1, r0, #0x2 + ldrb r1, [r2, r1] + sub r0, r0, #0x1 + str r1, [r4, #0x4] + ldrb r0, [r2, r0] + str r0, [r4, #0x8] + mov r0, #0x0 + str r0, [r4, #0xc] + pop {r4-r6, pc} + nop +_0202B370: .word 0x00002AA8 + + thumb_func_start sub_0202B374 +sub_0202B374: ; 0x0202B374 + ldr r0, _0202B378 ; =0x00000B88 + bx lr + .balign 4 +_0202B378: .word 0x00000B88 + + thumb_func_start sub_0202B37C +sub_0202B37C: ; 0x0202B37C + ldr r3, _0202B388 ; =sub_020CE240 + add r1, r0, #0x0 + mov r0, #0x0 + ldr r2, _0202B38C ; =0x00000B88 + bx r3 + nop +_0202B388: .word sub_020CE240 +_0202B38C: .word 0x00000B88 + + thumb_func_start sub_0202B390 +sub_0202B390: ; 0x0202B390 + push {r4, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + mov r0, #0x0 + add r1, #0xc + mov r2, #0xc0 + blx sub_020CE240 + add r1, r4, #0x0 + mov r0, #0x0 + add r1, #0xcc + mov r2, #0xc0 + blx sub_020CE240 + mov r1, #0x63 + lsl r1, r1, #0x2 + mov r0, #0x0 + add r1, r4, r1 + mov r2, #0xc0 + blx sub_020CE240 + add r0, r4, #0x0 + bl sub_0202B3F8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202B3C4 +sub_0202B3C4: ; 0x0202B3C4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, r1 + ble _0202B3D4 + sub r0, r0, r1 + str r0, [r4, #0x4] + pop {r4, pc} +_0202B3D4: + add r0, r2, #0x0 + mov r1, #0xf + blx sub_020EBC80 + mov r0, #0xf + sub r1, r0, r1 + str r1, [r4, #0x4] + bne _0202B3E6 + str r0, [r4, #0x4] +_0202B3E6: + mov r1, #0x0 + strb r1, [r4, #0x8] + add r0, r1, #0x0 +_0202B3EC: + strb r0, [r4, r1] + add r1, r1, #0x1 + cmp r1, #0x4 + blt _0202B3EC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202B3F8 +sub_0202B3F8: ; 0x0202B3F8 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0202B40C + add r0, r4, #0x0 + bl sub_0202B430 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202B40C +sub_0202B40C: ; 0x0202B40C + strb r1, [r0, #0x8] + bx lr + + thumb_func_start sub_0202B410 +sub_0202B410: ; 0x0202B410 + ldrb r0, [r0, #0x8] + bx lr + + thumb_func_start sub_0202B414 +sub_0202B414: ; 0x0202B414 + push {r3, lr} + mov r3, #0x0 +_0202B418: + ldrb r2, [r0, r3] + cmp r2, #0x0 + bne _0202B422 + strb r1, [r0, r3] + pop {r3, pc} +_0202B422: + add r3, r3, #0x1 + cmp r3, #0x4 + blt _0202B418 + bl sub_02020C2C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202B430 +sub_0202B430: ; 0x0202B430 + mov r2, #0x0 + add r1, r2, #0x0 +_0202B434: + strb r1, [r0, r2] + add r2, r2, #0x1 + cmp r2, #0x4 + blt _0202B434 + bx lr + .balign 4 + + thumb_func_start sub_0202B440 +sub_0202B440: ; 0x0202B440 + mov r3, #0x0 +_0202B442: + ldrb r2, [r0, r3] + cmp r1, r2 + bne _0202B44C + mov r0, #0x1 + bx lr +_0202B44C: + add r3, r3, #0x1 + cmp r3, #0x4 + blt _0202B442 + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202B458 +sub_0202B458: ; 0x0202B458 + mov r2, #0x0 + add r3, r2, #0x0 +_0202B45C: + ldrb r1, [r0, r2] + cmp r1, #0x0 + beq _0202B464 + add r3, r3, #0x1 +_0202B464: + add r2, r2, #0x1 + cmp r2, #0x4 + blt _0202B45C + add r0, r3, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202B470 +sub_0202B470: ; 0x0202B470 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, sp, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020126B4 + ldr r0, [sp, #0x8] + ldr r3, [sp, #0x4] + lsl r0, r0, #0x18 + lsr r1, r0, #0x10 + ldr r0, [sp, #0x0] + lsl r3, r3, #0x18 + lsl r0, r0, #0x18 + lsr r3, r3, #0x8 + orr r0, r3 + ldr r2, [sp, #0xc] + orr r0, r1 + orr r0, r2 + str r0, [r5, #0x4] + strb r4, [r5, #0x0] + mov r0, #0x0 + strb r0, [r5, #0x1] + add r5, #0x8 + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x28 + blx sub_020CE28C + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_0202B4B0 +sub_0202B4B0: ; 0x0202B4B0 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_0202B548 + mov r2, #0x0 + add r3, r0, #0x0 +_0202B4BE: + ldrb r1, [r3, #0x0] + cmp r5, r1 + bne _0202B4E0 + mov r1, #0x30 + mul r1, r2 + add r0, r0, r1 + ldrb r1, [r0, #0x1] + cmp r1, #0x3 + blo _0202B4DC + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0202B470 + mov r0, #0x1 + pop {r3-r5, pc} +_0202B4DC: + mov r0, #0x0 + pop {r3-r5, pc} +_0202B4E0: + add r2, r2, #0x1 + add r3, #0x30 + cmp r2, #0x4 + blt _0202B4BE + mov r1, #0x0 + add r3, r0, #0x0 +_0202B4EC: + ldrb r2, [r3, #0x0] + cmp r2, #0x0 + bne _0202B504 + mov r2, #0x30 + mul r2, r1 + add r0, r0, r2 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0202B470 + mov r0, #0x1 + pop {r3-r5, pc} +_0202B504: + add r1, r1, #0x1 + add r3, #0x30 + cmp r1, #0x4 + blt _0202B4EC + mov r1, #0x0 + add r3, r0, #0x0 +_0202B510: + ldrb r2, [r3, #0x1] + cmp r2, #0x3 + blo _0202B528 + mov r2, #0x30 + mul r2, r1 + add r0, r0, r2 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0202B470 + mov r0, #0x1 + pop {r3-r5, pc} +_0202B528: + add r1, r1, #0x1 + add r3, #0x30 + cmp r1, #0x4 + blt _0202B510 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0202B534 +sub_0202B534: ; 0x0202B534 + add r0, #0x8 + bx lr + + thumb_func_start sub_0202B538 +sub_0202B538: ; 0x0202B538 + ldrb r0, [r0, #0x6] + bx lr + + thumb_func_start sub_0202B53C +sub_0202B53C: ; 0x0202B53C + ldrb r0, [r0, #0x5] + bx lr + + thumb_func_start sub_0202B540 +sub_0202B540: ; 0x0202B540 + add r0, #0x18 + bx lr + + thumb_func_start sub_0202B544 +sub_0202B544: ; 0x0202B544 + bx lr + .balign 4 + + thumb_func_start sub_0202B548 +sub_0202B548: ; 0x0202B548 + push {r4, lr} + mov r4, #0x0 + cmp r1, #0x4 + bhi _0202B57E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r4, #0 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + lsl r4, r3, #0 + mov r1, #0x63 + lsl r1, r1, #0x2 + add r4, r0, r1 + b _0202B57E +_0202B56E: + .byte 0x04, 0x1C + .byte 0x0C, 0x34, 0x04, 0xE0, 0x04, 0x1C, 0xCC, 0x34, 0x01, 0xE0, 0xF5, 0xF7, 0x57, 0xFB +_0202B57E: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202B584 +sub_0202B584: ; 0x0202B584 + push {r4, lr} + mov r4, #0x0 + cmp r1, #0x4 + bhi _0202B5BA + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r4, #0 + lsl r6, r2, #0 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r4, r3, #0 + mov r1, #0x93 + lsl r1, r1, #0x2 + add r4, r0, r1 + b _0202B5BA +_0202B5AA: + .byte 0x05, 0x49, 0x44, 0x18, 0x04, 0xE0 + .byte 0x04, 0x49, 0x44, 0x18, 0x01, 0xE0, 0xF5, 0xF7, 0x39, 0xFB +_0202B5BA: + add r0, r4, #0x0 + pop {r4, pc} + nop +_0202B5C0: + .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 + + thumb_func_start sub_0202B5C8 +sub_0202B5C8: ; 0x0202B5C8 + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0202B5CC +sub_0202B5CC: ; 0x0202B5CC + ldrb r1, [r0, #0x1] + cmp r1, #0x3 + bhs _0202B5D6 + add r1, r1, #0x1 + strb r1, [r0, #0x1] +_0202B5D6: + bx lr + + thumb_func_start sub_0202B5D8 +sub_0202B5D8: ; 0x0202B5D8 + add r0, #0x8 + bx lr + + thumb_func_start sub_0202B5DC +sub_0202B5DC: ; 0x0202B5DC + push {r4-r7} + mov r5, #0x0 + add r4, r5, #0x0 + ldr r6, [sp, #0x10] + cmp r1, #0x0 + ble _0202B616 +_0202B5E8: + ldrb r7, [r0, #0x0] + cmp r2, r7 + bne _0202B60E + ldrb r7, [r0, #0x1] + cmp r3, #0x0 + beq _0202B600 + cmp r7, #0x0 + beq _0202B600 + add r7, r4, #0x1 + strb r7, [r6, r5] + add r5, r5, #0x1 + b _0202B60E +_0202B600: + cmp r3, #0x0 + bne _0202B60E + cmp r7, #0x0 + bne _0202B60E + add r7, r4, #0x1 + strb r7, [r6, r5] + add r5, r5, #0x1 +_0202B60E: + add r4, r4, #0x1 + add r0, #0x30 + cmp r4, r1 + blt _0202B5E8 +_0202B616: + add r0, r5, #0x0 + pop {r4-r7} + bx lr + + thumb_func_start sub_0202B61C +sub_0202B61C: ; 0x0202B61C + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + mov r5, #0x0 + add r0, r1, #0x0 + add r4, r5, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + str r3, [sp, #0x8] + ldr r7, [sp, #0x20] + cmp r0, #0x0 + ble _0202B672 +_0202B634: + ldrb r2, [r6, #0x18] + ldr r1, [sp, #0x4] + ldrb r0, [r6, #0x19] + cmp r1, r2 + bne _0202B668 + ldr r1, [sp, #0x8] + cmp r1, #0x0 + beq _0202B654 + cmp r0, #0x0 + beq _0202B654 + add r0, r4, #0x1 + bl sub_0202B830 + strb r0, [r7, r5] + add r5, r5, #0x1 + b _0202B668 +_0202B654: + ldr r1, [sp, #0x8] + cmp r1, #0x0 + bne _0202B668 + cmp r0, #0x0 + bne _0202B668 + add r0, r4, #0x1 + bl sub_0202B830 + strb r0, [r7, r5] + add r5, r5, #0x1 +_0202B668: + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r6, #0x48 + cmp r4, r0 + blt _0202B634 +_0202B672: + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0202B678 +sub_0202B678: ; 0x0202B678 + push {r3-r5, lr} + ldr r5, [sp, #0x10] + ldr r4, [sp, #0x14] + cmp r1, #0x4 + bhi _0202B702 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r6, #0x1 + lsl r2, r1, #0x1 + lsl r0, r1, #0 + lsl r2, r5, #0 + lsl r6, r5, #0x1 + cmp r3, #0x0 + str r4, [sp, #0x0] + beq _0202B6AA + add r0, #0xc + mov r1, #0x4 + add r3, r5, #0x0 + bl sub_0202B5DC + pop {r3-r5, pc} +_0202B6AA: + mov r1, #0x93 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r1, #0x10 + add r3, r5, #0x0 + bl sub_0202B61C + pop {r3-r5, pc} +_0202B6BA: + .byte 0x00, 0x2B, 0x00, 0x94, 0x05, 0xD0 + .byte 0xCC, 0x30, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x89, 0xFF, 0x38, 0xBD, 0x0E, 0x49, 0x2B, 0x1C + .byte 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0xA2, 0xFF, 0x38, 0xBD, 0x00, 0x2B, 0x00, 0x94, 0x07, 0xD0 + .byte 0x63, 0x21, 0x89, 0x00, 0x40, 0x18, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x77, 0xFF, 0x38, 0xBD + .byte 0x06, 0x49, 0x2B, 0x1C, 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0x90, 0xFF, 0x38, 0xBD, 0x00, 0x20 + .byte 0x38, 0xBD +_0202B702: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0202B708: + .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 + + thumb_func_start sub_0202B710 +sub_0202B710: ; 0x0202B710 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r6, r1, #0x0 + add r5, r2, #0x0 + add r0, sp, #0x8 + mov r1, #0x0 + mov r2, #0x4 + blx sub_020CE34C + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + mov r3, #0x1 + bl sub_0202B678 + cmp r0, #0x0 + beq _0202B742 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0202B742: + mov r3, #0x1 + str r3, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_0202B678 + cmp r0, #0x0 + beq _0202B79E + add r0, sp, #0x8 + ldrb r0, [r0, #0x0] + mov r7, #0x0 + cmp r0, #0x0 + beq _0202B798 + add r5, sp, #0x8 +_0202B764: + ldrb r2, [r5, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0202B7C8 + ldrb r0, [r0, #0x1] + cmp r0, #0x3 + blo _0202B77A + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0202B77A: + add r7, r7, #0x1 + add r5, r5, #0x1 + cmp r7, #0x4 + bge _0202B786 + mov r1, #0x1 + b _0202B788 +_0202B786: + mov r1, #0x0 +_0202B788: + ldrb r0, [r5, #0x0] + cmp r0, #0x0 + beq _0202B792 + mov r0, #0x1 + b _0202B794 +_0202B792: + mov r0, #0x0 +_0202B794: + tst r0, r1 + bne _0202B764 +_0202B798: + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0202B79E: + mov r5, #0x1 +_0202B7A0: + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_0202B7C8 + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202B7B6 + ldrb r0, [r0, #0x1] + cmp r0, #0x3 + blo _0202B7BC +_0202B7B6: + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0202B7BC: + add r5, r5, #0x1 + cmp r5, #0x4 + ble _0202B7A0 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0202B7C8 +sub_0202B7C8: ; 0x0202B7C8 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r6, r1, #0x0 + bl sub_0202B820 + cmp r0, #0x1 + beq _0202B7DE + bl sub_02020C2C +_0202B7DE: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0202B548 + mov r1, #0x80 + bic r4, r1 + sub r2, r4, #0x1 + mov r1, #0x30 + mul r1, r2 + add r0, r0, r1 + pop {r4-r6, pc} + + thumb_func_start sub_0202B7F4 +sub_0202B7F4: ; 0x0202B7F4 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r6, r1, #0x0 + bl sub_0202B820 + cmp r0, #0x0 + beq _0202B80A + bl sub_02020C2C +_0202B80A: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0202B584 + mov r1, #0x80 + bic r4, r1 + sub r2, r4, #0x1 + mov r1, #0x48 + mul r1, r2 + add r0, r0, r1 + pop {r4-r6, pc} + + thumb_func_start sub_0202B820 +sub_0202B820: ; 0x0202B820 + mov r1, #0x80 + tst r0, r1 + bne _0202B82A + mov r0, #0x1 + bx lr +_0202B82A: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202B830 +sub_0202B830: ; 0x0202B830 + mov r1, #0x80 + orr r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_0202B838 +sub_0202B838: ; 0x0202B838 + ldr r1, _0202B840 ; =0x00000B4C + add r0, r0, r1 + bx lr + nop +_0202B840: .word 0x00000B4C + + thumb_func_start sub_0202B844 +sub_0202B844: ; 0x0202B844 + ldr r1, _0202B84C ; =0x00000B56 + add r0, r0, r1 + bx lr + nop +_0202B84C: .word 0x00000B56 + + thumb_func_start sub_0202B850 +sub_0202B850: ; 0x0202B850 + ldr r1, _0202B858 ; =0x00000B7A + add r0, r0, r1 + bx lr + nop +_0202B858: .word 0x00000B7A + + thumb_func_start sub_0202B85C +sub_0202B85C: ; 0x0202B85C + ldr r1, _0202B864 ; =0x00000B7C + add r0, r0, r1 + bx lr + nop +_0202B864: .word 0x00000B7C + + thumb_func_start sub_0202B868 +sub_0202B868: ; 0x0202B868 + mov r1, #0x2e + lsl r1, r1, #0x6 + add r0, r0, r1 + bx lr + + thumb_func_start sub_0202B870 +sub_0202B870: ; 0x0202B870 + lsl r1, r0, #0x1 + ldr r0, _0202B878 ; =0x020EEAC8 + ldrb r0, [r0, r1] + bx lr + .balign 4 +_0202B878: .word 0x020EEAC8 + + thumb_func_start sub_0202B87C +sub_0202B87C: ; 0x0202B87C + lsl r1, r0, #0x1 + ldr r0, _0202B884 ; =0x020EEAC9 + ldrb r0, [r0, r1] + bx lr + .balign 4 +_0202B884: .word 0x020EEAC9 + + thumb_func_start sub_0202B888 +sub_0202B888: ; 0x0202B888 + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] + ldr r3, _0202B898 ; =sub_0200232C + add r0, #0x8 + mov r1, #0x8 + bx r3 + nop +_0202B898: .word sub_0200232C + 1 + + thumb_func_start sub_0202B89C +sub_0202B89C: ; 0x0202B89C + push {r3, lr} + add r0, #0x8 + bl sub_02002288 + cmp r0, #0x0 + beq _0202B8AC + mov r0, #0x1 + pop {r3, pc} +_0202B8AC: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0202B8B0 +sub_0202B8B0: ; 0x0202B8B0 + mov r0, #0xea + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_0202B8B8 +sub_0202B8B8: ; 0x0202B8B8 + push {r3-r7, lr} + mov r2, #0xea + mov r1, #0x0 + lsl r2, r2, #0x4 + add r6, r0, #0x0 + blx sub_020CE34C + mov r7, #0x0 +_0202B8C8: + mov r4, #0x0 + add r5, r6, #0x0 +_0202B8CC: + add r0, r5, #0x0 + bl sub_0202B888 + add r4, r4, #0x1 + add r5, #0x18 + cmp r4, #0x6 + blt _0202B8CC + add r7, r7, #0x1 + add r6, #0x90 + cmp r7, #0x1a + blt _0202B8C8 + pop {r3-r7, pc} + + thumb_func_start sub_0202B8E4 +sub_0202B8E4: ; 0x0202B8E4 + ldr r3, _0202B8EC ; =sub_02022610 + mov r1, #0x1c + bx r3 + nop +_0202B8EC: .word sub_02022610 + 1 + + thumb_func_start sub_0202B8F0 +sub_0202B8F0: ; 0x0202B8F0 + push {r4-r6, lr} + cmp r2, #0x6 + blo _0202B8FE + blo _0202B930 + bl sub_02020C2C + pop {r4-r6, pc} +_0202B8FE: + mov r3, #0x90 + mul r3, r1 + add r3, r0, r3 + cmp r2, #0x5 + bge _0202B928 + mov r0, #0x18 + mul r0, r2 + add r6, r3, r0 +_0202B90E: + add r5, r6, #0x0 + add r5, #0x18 + add r4, r6, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + add r2, r2, #0x1 + add r6, #0x18 + stmia r4!, {r0-r1} + cmp r2, #0x5 + blt _0202B90E +_0202B928: + add r3, #0x78 + add r0, r3, #0x0 + bl sub_0202B888 +_0202B930: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202B934 +sub_0202B934: ; 0x0202B934 + mov r0, #0x4e + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_0202B93C +sub_0202B93C: ; 0x0202B93C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + bl sub_02029FC8 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x34 + bl sub_020169D8 + str r0, [sp, #0x4] + add r5, r0, #0x0 + ldr r0, _0202B9E8 ; =0x020EEAD0 + mov r6, #0x0 + str r0, [sp, #0x0] +_0202B95A: + cmp r6, #0x5 + beq _0202B968 + cmp r6, #0xa + beq _0202B988 + cmp r6, #0xb + beq _0202B9A0 + b _0202B9C8 +_0202B968: + add r0, r4, #0x0 + mov r1, #0xf + bl sub_0202A150 + add r7, r0, #0x0 + beq _0202B984 + add r0, r4, #0x0 + mov r1, #0x1d + bl sub_0202A150 + add r1, r7, #0x0 + blx sub_020EBE8C + add r7, r0, #0x0 +_0202B984: + str r7, [r5, #0x0] + b _0202B9D4 +_0202B988: + add r0, r4, #0x0 + mov r1, #0x41 + bl sub_0202A150 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x42 + bl sub_0202A150 + add r0, r7, r0 + str r0, [r5, #0x0] + b _0202B9D4 +_0202B9A0: + add r0, r4, #0x0 + mov r1, #0x3f + bl sub_0202A150 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x40 + bl sub_0202A150 + add r1, r7, r0 + beq _0202B9C4 + ldr r0, [sp, #0x4] + ldr r2, [r0, #0x28] + mov r0, #0x64 + mul r0, r2 + blx sub_020EBE8C + add r1, r0, #0x0 +_0202B9C4: + str r1, [r5, #0x0] + b _0202B9D4 +_0202B9C8: + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + bl sub_0202A150 + str r0, [r5, #0x0] +_0202B9D4: + ldr r0, [sp, #0x0] + add r6, r6, #0x1 + add r0, r0, #0x4 + add r5, r5, #0x4 + str r0, [sp, #0x0] + cmp r6, #0xd + blt _0202B95A + ldr r0, [sp, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0202B9E8: .word 0x020EEAD0 + + thumb_func_start sub_0202B9EC +sub_0202B9EC: ; 0x0202B9EC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020238F4 + mov r1, #0x4e + add r6, r0, #0x0 + add r0, r4, #0x0 + lsl r1, r1, #0x2 + bl sub_020169D8 + mov r2, #0x4e + mov r1, #0x0 + lsl r2, r2, #0x2 + str r0, [sp, #0x4] + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_0202881C + mov r1, #0x1 + bl sub_0202877C + str r0, [sp, #0x8] + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020239A0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202B93C + ldr r4, [sp, #0x4] + str r0, [sp, #0x0] + mov r6, #0x0 + add r5, r0, #0x0 +_0202BA38: + ldr r0, [sp, #0x8] + add r1, r4, #0x0 + str r0, [r4, #0x0] + add r0, r7, #0x0 + add r1, #0x8 + mov r2, #0x8 + bl sub_02021EF0 + ldr r0, [r5, #0x0] + add r6, r6, #0x1 + str r0, [r4, #0x4] + add r4, #0x18 + add r5, r5, #0x4 + cmp r6, #0xd + blt _0202BA38 + ldr r0, [sp, #0x0] + bl sub_02016A18 + add r0, r7, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x4] + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0202BA68 +sub_0202BA68: ; 0x0202BA68 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_0202BA6E: + add r0, r5, #0x0 + bl sub_0202B888 + add r4, r4, #0x1 + add r5, #0x18 + cmp r4, #0x6 + blt _0202BA6E + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202BA80 +sub_0202BA80: ; 0x0202BA80 + push {r3, lr} + ldr r3, [r0, #0x0] + ldr r2, [r1, #0x0] + cmp r3, r2 + beq _0202BA8E + mov r0, #0x0 + pop {r3, pc} +_0202BA8E: + add r0, #0x8 + add r1, #0x8 + bl sub_020022A4 + cmp r0, #0x0 + bne _0202BA9E + mov r0, #0x1 + pop {r3, pc} +_0202BA9E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202BAA4 +sub_0202BAA4: ; 0x0202BAA4 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x4] + add r7, r1, #0x0 + mov r4, #0x0 + cmp r0, #0x0 + ble _0202BACE + add r5, r6, #0x0 +_0202BAB4: + ldr r0, [r5, #0xc] + add r1, r7, #0x0 + bl sub_0202BA80 + cmp r0, #0x0 + beq _0202BAC4 + mov r0, #0x1 + pop {r3-r7, pc} +_0202BAC4: + ldr r0, [r6, #0x4] + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r0 + blt _0202BAB4 +_0202BACE: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202BAD4 +sub_0202BAD4: ; 0x0202BAD4 + push {r4-r7, lr} + sub sp, #0xc + add r6, r1, #0x0 + add r5, r0, #0x0 + str r2, [sp, #0x0] + add r0, r6, #0x0 + mov r1, #0x0 + mov r2, #0xe0 + add r4, r3, #0x0 + blx sub_020CE34C + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + cmp r0, #0x0 + bne _0202BB64 + mov r2, #0x90 + add r0, r4, #0x0 + mul r0, r2 + add r1, r6, #0x0 + add r0, r5, r0 + add r1, #0x50 + str r0, [sp, #0x8] + blx sub_020CE3E0 + add r1, sp, #0x10 + ldrb r3, [r1, #0x18] + mov r0, #0x0 + cmp r3, #0x0 + ble _0202BB2E + mov r2, #0x18 + ldr r1, [sp, #0x24] + mul r2, r4 +_0202BB14: + ldr r5, [r6, #0x4] + add r0, r0, #0x1 + add r4, r5, #0x0 + add r4, r4, #0x1 + str r4, [r6, #0x4] + ldr r4, [r1, #0x0] + lsl r5, r5, #0x2 + add r4, r4, r2 + add r5, r6, r5 + str r4, [r5, #0xc] + add r1, r1, #0x4 + cmp r0, r3 + blt _0202BB14 +_0202BB2E: + add r4, r6, #0x0 + add r4, #0x50 + mov r7, #0x0 + add r5, r4, #0x0 +_0202BB36: + add r0, r4, #0x0 + bl sub_0202B89C + cmp r0, #0x0 + beq _0202BB58 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0202BAA4 + cmp r0, #0x0 + bne _0202BB58 + ldr r1, [r6, #0x0] + add r0, r1, #0x1 + str r0, [r6, #0x0] + lsl r0, r1, #0x2 + add r0, r6, r0 + str r4, [r0, #0x38] +_0202BB58: + add r7, r7, #0x1 + add r4, #0x18 + add r5, #0x18 + cmp r7, #0x6 + blt _0202BB36 + b _0202BBF8 +_0202BB64: + add r0, r4, #0x0 + add r0, #0xd + mov r2, #0x90 + add r1, r0, #0x0 + mul r1, r2 + add r0, r5, r1 + add r1, r6, #0x0 + add r1, #0x50 + str r0, [sp, #0x8] + blx sub_020CE3E0 + add r0, sp, #0x10 + ldrb r2, [r0, #0x18] + mov r3, #0x0 + cmp r2, #0x0 + ble _0202BBB2 + mov r1, #0x18 + ldr r0, [sp, #0x24] + mul r1, r4 +_0202BB8A: + ldr r4, [r0, #0x0] + ldr r5, [r1, r4] + cmp r5, #0x0 + beq _0202BBAA + ldr r4, [sp, #0x0] + cmp r4, r5 + bne _0202BBAA + ldr r5, [r6, #0x4] + add r4, r5, #0x0 + add r4, r4, #0x1 + str r4, [r6, #0x4] + ldr r4, [r0, #0x0] + lsl r5, r5, #0x2 + add r4, r4, r1 + add r5, r6, r5 + str r4, [r5, #0xc] +_0202BBAA: + add r3, r3, #0x1 + add r0, r0, #0x4 + cmp r3, r2 + blt _0202BB8A +_0202BBB2: + add r4, r6, #0x0 + mov r0, #0x0 + add r4, #0x50 + str r0, [sp, #0x4] + add r5, r6, #0x0 + add r7, r4, #0x0 +_0202BBBE: + add r0, r4, #0x0 + bl sub_0202B89C + cmp r0, #0x0 + beq _0202BBE8 + ldr r1, [r5, #0x50] + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _0202BBE8 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_0202BAA4 + cmp r0, #0x0 + bne _0202BBE8 + ldr r1, [r6, #0x0] + add r0, r1, #0x1 + str r0, [r6, #0x0] + lsl r0, r1, #0x2 + add r0, r6, r0 + str r4, [r0, #0x38] +_0202BBE8: + ldr r0, [sp, #0x4] + add r4, #0x18 + add r0, r0, #0x1 + add r5, #0x18 + add r7, #0x18 + str r0, [sp, #0x4] + cmp r0, #0x6 + blt _0202BBBE +_0202BBF8: + ldr r1, [r6, #0x4] + ldr r0, [r6, #0x0] + mov r2, #0x0 + add r0, r1, r0 + str r0, [r6, #0x8] + ldr r0, [r6, #0x0] + cmp r0, #0x0 + ble _0202BC20 + add r1, r6, #0x0 +_0202BC0A: + ldr r3, [r6, #0x4] + ldr r0, [r1, #0x38] + add r3, r2, r3 + lsl r3, r3, #0x2 + add r3, r6, r3 + str r0, [r3, #0xc] + ldr r0, [r6, #0x0] + add r2, r2, #0x1 + add r1, r1, #0x4 + cmp r2, r0 + blt _0202BC0A +_0202BC20: + mov r0, #0x0 + mov r12, r0 + ldr r0, [r6, #0x8] + sub r5, r0, #0x1 + cmp r5, #0x0 + ble _0202BC64 + add r3, r6, #0x0 +_0202BC2E: + mov r0, r12 + cmp r5, r0 + ble _0202BC52 + lsl r0, r5, #0x2 + add r4, r6, r0 +_0202BC38: + ldr r2, [r4, #0xc] + ldr r7, [r3, #0xc] + ldr r0, [r2, #0x4] + ldr r1, [r7, #0x4] + cmp r1, r0 + bhs _0202BC48 + str r2, [r3, #0xc] + str r7, [r4, #0xc] +_0202BC48: + sub r5, r5, #0x1 + mov r0, r12 + sub r4, r4, #0x4 + cmp r5, r0 + bgt _0202BC38 +_0202BC52: + mov r0, r12 + add r0, r0, #0x1 + mov r12, r0 + ldr r0, [r6, #0x8] + add r3, r3, #0x4 + sub r5, r0, #0x1 + mov r0, r12 + cmp r0, r5 + blt _0202BC2E +_0202BC64: + ldr r0, [sp, #0x8] + bl sub_0202BA68 + mov r3, #0x0 + add r2, r6, #0x0 + b _0202BC8A +_0202BC70: + ldr r5, [r2, #0xc] + ldr r4, [sp, #0x8] + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [sp, #0x8] + add r2, r2, #0x4 + add r0, #0x18 + str r0, [sp, #0x8] + add r3, r3, #0x1 +_0202BC8A: + cmp r3, #0x6 + bge _0202BC94 + ldr r0, [r6, #0x8] + cmp r3, r0 + blt _0202BC70 +_0202BC94: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0202BC98 +sub_0202BC98: ; 0x0202BC98 + push {r4-r7, lr} + sub sp, #0x14 + add r7, r0, #0x0 + add r5, r1, #0x0 + ldr r0, [sp, #0x2c] + mov r1, #0xe0 + str r2, [sp, #0x10] + add r4, r3, #0x0 + bl sub_020169D8 + add r6, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r4, [sp, #0x4] + add r0, sp, #0x18 + ldrb r0, [r0, #0x10] + add r1, r6, #0x0 + add r2, r5, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x2c] + str r0, [sp, #0xc] + ldr r3, [sp, #0x10] + add r0, r7, #0x0 + bl sub_0202BAD4 + cmp r5, #0x0 + beq _0202BCEA + mov r0, #0x1 + str r0, [sp, #0x0] + str r4, [sp, #0x4] + add r0, sp, #0x18 + ldrb r0, [r0, #0x10] + add r1, r6, #0x0 + add r2, r5, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x2c] + str r0, [sp, #0xc] + ldr r3, [sp, #0x10] + add r0, r7, #0x0 + bl sub_0202BAD4 +_0202BCEA: + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0202BCF4 +sub_0202BCF4: ; 0x0202BCF4 + push {r4-r7, lr} + sub sp, #0x24 + add r6, r1, #0x0 + ldr r1, [sp, #0x38] + add r4, r0, #0x0 + add r5, r2, #0x0 + add r7, r3, #0x0 + str r1, [sp, #0x38] + bl sub_0202B8E4 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_0202881C + mov r1, #0x1 + bl sub_0202877C + mov r4, #0x0 + add r3, r4, #0x0 + str r0, [sp, #0xc] + cmp r5, #0x0 + bls _0202BD44 +_0202BD20: + cmp r3, r6 + beq _0202BD3A + lsl r0, r3, #0x2 + ldr r2, [r7, r0] + cmp r2, #0x0 + beq _0202BD3A + add r1, r4, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + lsl r1, r0, #0x2 + add r0, sp, #0x10 + str r2, [r0, r1] +_0202BD3A: + add r0, r3, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, r5 + blo _0202BD20 +_0202BD44: + cmp r4, #0x0 + beq _0202BD68 + mov r5, #0x0 + add r6, sp, #0x10 +_0202BD4C: + ldr r0, [sp, #0x38] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0xc] + add r2, r5, #0x0 + add r3, r6, #0x0 + bl sub_0202BC98 + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xd + blo _0202BD4C +_0202BD68: + add sp, #0x24 + pop {r4-r7, pc} + + thumb_func_start sub_0202BD6C +sub_0202BD6C: ; 0x0202BD6C + push {r3-r7, lr} + sub sp, #0x10 + str r2, [sp, #0x0] + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_020238F4 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + mov r1, #0x4c + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x4c + add r7, r0, #0x0 + blx sub_020CE34C + add r0, r4, #0x0 + bl sub_0202881C + mov r1, #0x1 + bl sub_0202877C + str r0, [sp, #0xc] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_0202B93C + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0202B870 + str r0, [r7, #0x0] + add r0, r5, #0x0 + bl sub_0202B87C + ldr r1, [r7, #0x0] + mov r6, #0x0 + cmp r1, #0x0 + ble _0202BDE2 + lsl r1, r0, #0x2 + ldr r0, [sp, #0x8] + add r4, r7, #0x0 + add r5, r0, r1 +_0202BDC4: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x0] + str r0, [r4, #0x4] + ldr r0, [r5, #0x0] + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + bl sub_020239A0 + str r0, [r4, #0xc] + ldr r0, [r7, #0x0] + add r6, r6, #0x1 + add r4, #0xc + add r5, r5, #0x4 + cmp r6, r0 + blt _0202BDC4 +_0202BDE2: + ldr r0, [sp, #0x8] + bl sub_02016A18 + add r0, r7, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202BDF0 +sub_0202BDF0: ; 0x0202BDF0 + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + add r0, r7, #0x0 + mov r1, #0x4c + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x4c + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, [sp, #0x0] + mov r1, #0x90 + mul r1, r0 + mov r6, #0x0 + add r5, r5, r1 +_0202BE14: + add r0, r5, #0x0 + bl sub_0202B89C + cmp r0, #0x0 + beq _0202BE60 + ldr r2, [r4, #0x0] + mov r1, #0xc + mul r1, r2 + ldr r0, [r5, #0x0] + add r1, r4, r1 + str r0, [r1, #0x4] + ldr r2, [r4, #0x0] + mov r1, #0xc + mul r1, r2 + ldr r0, [r5, #0x4] + add r1, r4, r1 + str r0, [r1, #0x8] + mov r0, #0x8 + add r1, r7, #0x0 + bl sub_020219F4 + ldr r2, [r4, #0x0] + mov r1, #0xc + mul r1, r2 + add r1, r4, r1 + str r0, [r1, #0xc] + ldr r1, [r4, #0x0] + mov r0, #0xc + mul r0, r1 + add r0, r4, r0 + add r1, r5, #0x0 + ldr r0, [r0, #0xc] + add r1, #0x8 + bl sub_02021E28 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] +_0202BE60: + add r6, r6, #0x1 + add r5, #0x18 + cmp r6, #0x6 + blt _0202BE14 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0202BE6C +sub_0202BE6C: ; 0x0202BE6C + push {r4-r6, lr} + add r6, r0, #0x0 + mov r4, #0x0 + add r5, r6, #0x0 +_0202BE74: + ldr r0, [r5, #0xc] + cmp r0, #0x0 + beq _0202BE7E + bl sub_02021A20 +_0202BE7E: + add r4, r4, #0x1 + add r5, #0xc + cmp r4, #0x6 + blt _0202BE74 + add r0, r6, #0x0 + mov r1, #0x0 + mov r2, #0x4c + blx sub_020CE34C + add r0, r6, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + + thumb_func_start sub_0202BE98 +sub_0202BE98: ; 0x0202BE98 + ldr r0, _0202BE9C ; =0x00000688 + bx lr + .balign 4 +_0202BE9C: .word 0x00000688 + + thumb_func_start sub_0202BEA0 +sub_0202BEA0: ; 0x0202BEA0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r2, _0202BED8 ; =0x00000688 + mov r0, #0x0 + add r1, r5, #0x0 + blx sub_020CE240 + mov r4, #0x0 + mov r6, #0xab + add r7, r4, #0x0 +_0202BEB4: + add r0, r5, #0x0 + bl sub_02066978 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0202BECC + bl sub_02020C2C +_0202BECC: + add r4, r4, #0x1 + add r5, #0xec + cmp r4, #0x6 + blt _0202BEB4 + pop {r3-r7, pc} + nop +_0202BED8: .word 0x00000688 + + thumb_func_start sub_0202BEDC +sub_0202BEDC: ; 0x0202BEDC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r2, _0202BF14 ; =0x00000588 + mov r0, #0x0 + add r1, r5, #0x0 + blx sub_020CE240 + mov r4, #0x0 + mov r6, #0xab + add r7, r4, #0x0 +_0202BEF0: + add r0, r5, #0x0 + bl sub_02066978 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0202BF08 + bl sub_02020C2C +_0202BF08: + add r4, r4, #0x1 + add r5, #0xec + cmp r4, #0x6 + blt _0202BEF0 + pop {r3-r7, pc} + nop +_0202BF14: .word 0x00000588 + + thumb_func_start sub_0202BF18 +sub_0202BF18: ; 0x0202BF18 + push {r4-r7} + add r2, r0, #0x0 + ldr r3, _0202BF70 ; =0x00000588 + mov r0, #0x0 + add r5, r2, #0x0 +_0202BF22: + ldr r4, [r5, r3] + cmp r1, r4 + beq _0202BF6C + add r0, r0, #0x1 + add r5, r5, #0x4 + cmp r0, #0x14 + blt _0202BF22 + ldr r1, _0202BF70 ; =0x00000588 + mov r0, #0x0 + add r4, r2, #0x0 +_0202BF36: + ldr r3, [r4, r1] + cmp r3, #0x0 + beq _0202BF6C + add r0, r0, #0x1 + add r4, r4, #0x4 + cmp r0, #0x14 + blt _0202BF36 + mov r3, #0x0 + ldr r4, _0202BF74 ; =0x7FFFFFFF + add r5, r3, #0x0 +_0202BF4A: + ldr r0, _0202BF78 ; =0x000005D8 + ldr r1, [r2, r0] + add r0, r0, #0x4 + ldr r0, [r2, r0] + sub r6, r1, r4 + mov r12, r0 + mov r6, r12 + sbc r6, r3 + bge _0202BF62 + add r4, r1, #0x0 + add r3, r0, #0x0 + add r7, r5, #0x0 +_0202BF62: + add r5, r5, #0x1 + add r2, #0x8 + cmp r5, #0x14 + blt _0202BF4A + add r0, r7, #0x0 +_0202BF6C: + pop {r4-r7} + bx lr + .balign 4 +_0202BF70: .word 0x00000588 +_0202BF74: .word 0x7FFFFFFF +_0202BF78: .word 0x000005D8 + + thumb_func_start sub_0202BF7C +sub_0202BF7C: ; 0x0202BF7C + add r3, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0xec + mul r1, r2 + add r1, r3, r1 + ldr r3, _0202BF8C ; =sub_02069A64 + bx r3 + nop +_0202BF8C: .word sub_02069A64 + 1 + + thumb_func_start sub_0202BF90 +sub_0202BF90: ; 0x0202BF90 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0202BF18 + add r6, r0, #0x0 + lsl r0, r6, #0x2 + add r1, r5, r0 + ldr r0, _0202BFCC ; =0x00000588 + str r4, [r1, r0] + bl sub_020126FC + lsl r2, r6, #0x3 + add r3, r5, r2 + ldr r2, _0202BFD0 ; =0x000005D8 + str r0, [r3, r2] + add r0, r2, #0x4 + str r1, [r3, r0] + blx sub_020CD510 + ldr r2, _0202BFD4 ; =0x00000678 + str r0, [r5, r2] + add r0, r2, #0x4 + add r2, #0x8 + str r1, [r5, r0] + add r0, r5, r2 + blx sub_020CD5A0 + pop {r4-r6, pc} + nop +_0202BFCC: .word 0x00000588 +_0202BFD0: .word 0x000005D8 +_0202BFD4: .word 0x00000678 + + thumb_func_start sub_0202BFD8 +sub_0202BFD8: ; 0x0202BFD8 + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, r2, #0x0 + cmp r5, #0x6 + blt _0202BFE8 + bl sub_02020C2C +_0202BFE8: + mov r0, #0xec + mul r0, r5 + add r3, r6, r0 + mov r2, #0x1d +_0202BFF0: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _0202BFF0 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202C000 +sub_0202C000: ; 0x0202C000 + push {r3-r7, lr} + mov r4, #0x0 + add r5, r0, #0x0 + add r6, r4, #0x0 + mov r7, #0xab +_0202C00A: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0202C01A + add r4, r4, #0x1 +_0202C01A: + add r6, r6, #0x1 + add r5, #0xec + cmp r6, #0x6 + blt _0202C00A + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202C028 +sub_0202C028: ; 0x0202C028 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020126FC + ldr r1, _0202C058 ; =0x00000588 + mov r3, #0x0 + add r6, r5, #0x0 +_0202C038: + ldr r2, [r6, r1] + cmp r4, r2 + bne _0202C04A + lsl r1, r3, #0x3 + add r2, r5, r1 + ldr r1, _0202C05C ; =0x000005D8 + ldr r1, [r2, r1] + sub r0, r0, r1 + pop {r4-r6, pc} +_0202C04A: + add r3, r3, #0x1 + add r6, r6, #0x4 + cmp r3, #0x14 + blt _0202C038 + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0202C058: .word 0x00000588 +_0202C05C: .word 0x000005D8 + + thumb_func_start sub_0202C060 +sub_0202C060: ; 0x0202C060 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, sp, #0x0 + blx sub_020CD5A0 + mov r0, #0x1a + mov r3, #0x0 + add r5, sp, #0x0 + lsl r0, r0, #0x6 +_0202C074: + add r1, r4, r3 + ldrb r2, [r5, #0x0] + ldrb r1, [r1, r0] + cmp r2, r1 + beq _0202C084 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_0202C084: + add r3, r3, #0x1 + add r5, r5, #0x1 + cmp r3, #0x6 + blt _0202C074 + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202C094 +sub_0202C094: ; 0x0202C094 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020CD510 + ldr r2, _0202C0B4 ; =0x00000678 + ldr r3, [r4, r2] + add r2, r2, #0x4 + ldr r2, [r4, r2] + eor r0, r3 + eor r1, r2 + orr r0, r1 + bne _0202C0B0 + mov r0, #0x1 + pop {r4, pc} +_0202C0B0: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0202C0B4: .word 0x00000678 + + thumb_func_start sub_0202C0B8 +sub_0202C0B8: ; 0x0202C0B8 + push {r3-r4} + mov r4, #0x0 + mov r1, #0x1a + add r3, r4, #0x0 + lsl r1, r1, #0x6 +_0202C0C2: + add r2, r0, r3 + ldrb r2, [r2, r1] + add r3, r3, #0x1 + orr r4, r2 + cmp r3, #0x6 + blt _0202C0C2 + cmp r4, #0x0 + bne _0202C0D8 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0202C0D8: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0202C0E0 +sub_0202C0E0: ; 0x0202C0E0 + mov r0, #0x28 + bx lr + + thumb_func_start sub_0202C0E4 +sub_0202C0E4: ; 0x0202C0E4 + push {r4-r5} + mov r4, #0x0 + add r1, r4, #0x0 + add r2, r4, #0x0 +_0202C0EC: + add r3, r2, #0x0 + add r5, r0, #0x0 +_0202C0F0: + add r3, r3, #0x1 + strh r1, [r5, #0x0] + add r5, r5, #0x2 + cmp r3, #0x4 + blt _0202C0F0 + add r4, r4, #0x1 + add r0, #0x8 + cmp r4, #0x5 + blt _0202C0EC + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_0202C108 +sub_0202C108: ; 0x0202C108 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0x21 + add r4, r2, #0x0 + bl sub_02022610 + lsl r1, r5, #0x3 + add r3, r0, r1 + lsl r2, r4, #0x1 + ldrh r1, [r3, r2] + ldr r0, _0202C128 ; =0x0000270F + cmp r1, r0 + bhs _0202C126 + add r0, r1, #0x1 + strh r0, [r3, r2] +_0202C126: + pop {r3-r5, pc} + .balign 4 +_0202C128: .word 0x0000270F + + thumb_func_start sub_0202C12C +sub_0202C12C: ; 0x0202C12C + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0x21 + add r4, r2, #0x0 + bl sub_02022610 + lsl r2, r5, #0x3 + lsl r1, r4, #0x1 + add r0, r0, r2 + ldrh r0, [r1, r0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202C144 +sub_0202C144: ; 0x0202C144 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0202C194 + add r0, r5, #0x0 + bl sub_02024DA0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02029FC8 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + lsl r2, r2, #0x10 + add r0, r7, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x10 + bl sub_0202A1C4 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02024AF0 + add r0, r5, #0x0 + bl sub_0204C1A8 + add r1, r4, #0x0 + bl sub_0204C104 +_0202C194: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202C198 +sub_0202C198: ; 0x0202C198 + ldr r1, _0202C1A4 ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202C1A8 ; =0x00001310 + str r0, [r2, r1] + bx lr + nop +_0202C1A4: .word 0x021C59D8 +_0202C1A8: .word 0x00001310 + + thumb_func_start sub_0202C1AC +sub_0202C1AC: ; 0x0202C1AC + ldr r1, _0202C1C0 ; =0x021C59D8 + ldr r3, [r1, #0x4] + ldr r1, _0202C1C4 ; =0x00001310 + ldr r2, [r3, r1] + sub r2, #0x9 + cmp r2, #0x1 + bls _0202C1BE + add r1, #0x20 + str r0, [r3, r1] +_0202C1BE: + bx lr + .balign 4 +_0202C1C0: .word 0x021C59D8 +_0202C1C4: .word 0x00001310 + + thumb_func_start sub_0202C1C8 +sub_0202C1C8: ; 0x0202C1C8 + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r1, _0202C1F0 ; =0x021C59D8 + ldr r0, _0202C1F4 ; =sub_0202C1F8 + ldr r1, [r1, #0x4] + blx sub_020D9624 + cmp r0, #0x2 + beq _0202C1EC + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x0 + pop {r3, pc} +_0202C1EC: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202C1F0: .word 0x021C59D8 +_0202C1F4: .word sub_0202C1F8 + 1 + + thumb_func_start sub_0202C1F8 +sub_0202C1F8: ; 0x0202C1F8 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202C20C + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r3, pc} +_0202C20C: + bl sub_0202C21C + cmp r0, #0x0 + bne _0202C21A + mov r0, #0x9 + bl sub_0202C198 +_0202C21A: + pop {r3, pc} + + thumb_func_start sub_0202C21C +sub_0202C21C: ; 0x0202C21C + push {r4, lr} + ldr r0, _0202C278 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C27C ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #0x4 + cmp r0, #0x2 + bhi _0202C230 + mov r0, #0x1 + pop {r4, pc} +_0202C230: + blx sub_020D7E9C + add r4, r0, #0x0 + mov r0, #0x66 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x4 + blx sub_020CC124 + mov r0, #0x66 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r4, r0 + mov r1, #0x4 + blx sub_020CC15C + ldr r0, _0202C280 ; =sub_0202C288 + blx sub_020D9554 + cmp r0, #0x2 + beq _0202C264 + bl sub_0202C1AC + mov r0, #0x0 + pop {r4, pc} +_0202C264: + ldr r2, _0202C278 ; =0x021C59D8 + ldr r1, _0202C284 ; =0x0000132C + ldr r0, [r2, #0x4] + mov r3, #0x0 + strh r3, [r0, r1] + ldr r2, [r2, #0x4] + mov r0, #0x1 + add r1, r1, #0x2 + strh r0, [r2, r1] + pop {r4, pc} + .balign 4 +_0202C278: .word 0x021C59D8 +_0202C27C: .word 0x00001310 +_0202C280: .word sub_0202C288 + 1 +_0202C284: .word 0x0000132C + + thumb_func_start sub_0202C288 +sub_0202C288: ; 0x0202C288 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x10] + mov r1, #0x1 + lsl r1, r0 + lsl r0, r1, #0x10 + lsr r4, r0, #0x10 + ldrh r0, [r5, #0x2] + cmp r0, #0x0 + beq _0202C2A8 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r4-r6, pc} +_0202C2A8: + ldrh r0, [r5, #0x8] + cmp r0, #0x7 + bgt _0202C2C0 + bge _0202C2DA + cmp r0, #0x2 + bgt _0202C378 + cmp r0, #0x0 + blt _0202C378 + beq _0202C36A + cmp r0, #0x2 + beq _0202C2CC + pop {r4-r6, pc} +_0202C2C0: + cmp r0, #0x9 + bgt _0202C2C8 + beq _0202C34C + pop {r4-r6, pc} +_0202C2C8: + cmp r0, #0x1a + pop {r4-r6, pc} +_0202C2CC: + ldr r0, _0202C37C ; =0x021C59D8 + ldr r2, [r0, #0x4] + ldr r0, _0202C380 ; =0x00001345 + ldrb r1, [r2, r0] + add r1, r1, #0x1 + strb r1, [r2, r0] + pop {r4-r6, pc} +_0202C2DA: + ldr r0, _0202C37C ; =0x021C59D8 + ldr r2, [r0, #0x4] + ldr r0, _0202C384 ; =0x00001343 + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0202C318 + sub r0, r0, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0x1 + beq _0202C318 + bl sub_0202CBA0 + ldr r1, _0202C37C ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202C388 ; =0x00001334 + ldrb r1, [r2, r1] + cmp r0, r1 + bge _0202C318 + bl sub_02033534 + ldrb r1, [r5, #0x14] + cmp r1, r0 + bne _0202C318 + add r1, r5, #0x0 + ldr r0, _0202C38C ; =0x02105D54 + add r1, #0x15 + mov r2, #0x3 + blx sub_020DF510 + cmp r0, #0x0 + beq _0202C330 +_0202C318: + ldrh r1, [r5, #0x10] + mov r0, #0x0 + blx sub_020D9060 + cmp r0, #0x2 + beq _0202C378 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r4-r6, pc} +_0202C330: + ldr r1, _0202C37C ; =0x021C59D8 + ldr r0, _0202C390 ; =0x0000132E + ldr r3, [r1, #0x4] + ldrh r2, [r3, r0] + orr r2, r4 + strh r2, [r3, r0] + ldr r1, [r1, #0x4] + sub r0, r0, #0x6 + ldr r1, [r1, r0] + cmp r1, #0x0 + beq _0202C378 + ldrh r0, [r5, #0x10] + blx r1 + pop {r4-r6, pc} +_0202C34C: + ldr r2, _0202C37C ; =0x021C59D8 + ldr r1, _0202C390 ; =0x0000132E + ldr r0, [r2, #0x4] + mvn r3, r4 + ldrh r6, [r0, r1] + and r3, r6 + strh r3, [r0, r1] + ldr r0, [r2, #0x4] + sub r1, #0xa + ldr r1, [r0, r1] + cmp r1, #0x0 + beq _0202C378 + ldrh r0, [r5, #0x10] + blx r1 + pop {r4-r6, pc} +_0202C36A: + bl sub_0202C394 + cmp r0, #0x0 + bne _0202C378 + mov r0, #0x9 + bl sub_0202C198 +_0202C378: + pop {r4-r6, pc} + nop +_0202C37C: .word 0x021C59D8 +_0202C380: .word 0x00001345 +_0202C384: .word 0x00001343 +_0202C388: .word 0x00001334 +_0202C38C: .word 0x02105D54 +_0202C390: .word 0x0000132E + + thumb_func_start sub_0202C394 +sub_0202C394: ; 0x0202C394 + push {r4, lr} + sub sp, #0x8 + ldr r0, _0202C3F0 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C3F4 ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #0x4 + cmp r0, #0x2 + bhi _0202C3AC + add sp, #0x8 + mov r0, #0x1 + pop {r4, pc} +_0202C3AC: + mov r0, #0x4 + bl sub_0202C198 + ldr r0, _0202C3F0 ; =0x021C59D8 + ldr r2, _0202C3F8 ; =0x00001304 + ldr r4, [r0, #0x4] + ldr r3, _0202C3FC ; =0x00001020 + ldr r0, [r4, r2] + add r2, r2, #0x4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, [r4, r2] + add r1, r4, r3 + lsl r2, r2, #0x10 + sub r3, #0xe0 + ldr r0, _0202C400 ; =sub_0202C404 + lsr r2, r2, #0x10 + add r3, r4, r3 + blx sub_020D9B48 + cmp r0, #0x2 + beq _0202C3E8 + bl sub_0202C1AC + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_0202C3E8: + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} + nop +_0202C3F0: .word 0x021C59D8 +_0202C3F4: .word 0x00001310 +_0202C3F8: .word 0x00001304 +_0202C3FC: .word 0x00001020 +_0202C400: .word sub_0202C404 + 1 + + thumb_func_start sub_0202C404 +sub_0202C404: ; 0x0202C404 + push {r3, lr} + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + beq _0202C41A + add r0, r1, #0x0 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r3, pc} +_0202C41A: + ldrh r0, [r0, #0x4] + sub r0, #0xa + cmp r0, #0x3 + bhi _0202C454 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r4, #0 + lsl r4, r4, #0 + lsl r4, r4, #0 + ldr r0, _0202C458 ; =0x021C59D8 + ldr r2, [r0, #0x4] + ldr r0, _0202C45C ; =0x00001314 + ldr r1, [r2, r0] + cmp r1, #0x2 + bne _0202C44E + sub r0, r0, #0x4 + ldr r0, [r2, r0] + cmp r0, #0x4 + beq _0202C44E + cmp r0, #0x6 + beq _0202C454 +_0202C44E: + mov r0, #0x4 + bl sub_0202C198 +_0202C454: + pop {r3, pc} + nop +_0202C458: .word 0x021C59D8 +_0202C45C: .word 0x00001314 + + thumb_func_start sub_0202C460 +sub_0202C460: ; 0x0202C460 + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202C480 ; =sub_0202C484 + blx sub_020D9960 + cmp r0, #0x2 + beq _0202C47A + bl sub_0202C1AC + mov r0, #0x0 + pop {r3, pc} +_0202C47A: + mov r0, #0x1 + pop {r3, pc} + nop +_0202C480: .word sub_0202C484 + 1 + + thumb_func_start sub_0202C484 +sub_0202C484: ; 0x0202C484 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202C496 + bl sub_0202C1AC + bl sub_0202D0D8 + pop {r3, pc} +_0202C496: + bl sub_0202C4A4 + cmp r0, #0x0 + bne _0202C4A2 + bl sub_0202D0D8 +_0202C4A2: + pop {r3, pc} + + thumb_func_start sub_0202C4A4 +sub_0202C4A4: ; 0x0202C4A4 + push {r3, lr} + ldr r0, _0202C4BC ; =sub_0202C4C0 + blx sub_020D950C + cmp r0, #0x2 + beq _0202C4B8 + bl sub_0202C1AC + mov r0, #0x0 + pop {r3, pc} +_0202C4B8: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202C4BC: .word sub_0202C4C0 + 1 + + thumb_func_start sub_0202C4C0 +sub_0202C4C0: ; 0x0202C4C0 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202C4CE + bl sub_0202C1AC + pop {r3, pc} +_0202C4CE: + mov r0, #0x1 + bl sub_0202C198 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202C4D8 +sub_0202C4D8: ; 0x0202C4D8 + push {r3-r7, lr} + add r6, r2, #0x0 + ldr r2, _0202C564 ; =0x021C59D8 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r3, #0x2 + ldr r0, [r2, #0x4] + ldr r1, _0202C568 ; =0x00001308 + lsl r3, r3, #0x8 + str r3, [r0, r1] + ldr r2, [r2, #0x4] + mov r0, #0x40 + sub r1, r1, #0x4 + str r0, [r2, r1] + mov r0, #0x2 + bl sub_0202C198 + ldr r1, _0202C564 ; =0x021C59D8 + ldr r0, _0202C56C ; =0x00001256 + ldr r3, [r1, #0x4] + mov r2, #0x1 + strh r2, [r3, r0] + add r7, r0, #0x0 + ldrh r3, [r4, #0x4] + ldr r2, [r1, #0x4] + add r7, #0x96 + strh r3, [r2, r7] + add r7, r0, #0x0 + ldrh r3, [r4, #0x2] + ldr r2, [r1, #0x4] + add r7, #0x94 + strh r3, [r2, r7] + add r2, r0, #0x0 + ldrh r4, [r4, #0x0] + ldr r3, [r1, #0x4] + add r2, #0x92 + strh r4, [r3, r2] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + add r2, #0xbe + str r5, [r3, r2] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + mov r2, #0x0 + add r3, #0xaa + str r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0xb6 + strh r6, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0x8e + strh r2, [r4, r3] + ldr r2, [r1, #0x4] + add r0, #0xb8 + mov r1, #0x1 + strh r1, [r2, r0] + bl sub_0202C5D8 + cmp r0, #0x0 + bne _0202C55E + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x0 + pop {r3-r7, pc} +_0202C55E: + mov r0, #0x1 + pop {r3-r7, pc} + nop +_0202C564: .word 0x021C59D8 +_0202C568: .word 0x00001308 +_0202C56C: .word 0x00001256 + + thumb_func_start sub_0202C570 +sub_0202C570: ; 0x0202C570 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x2 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0202C198 + ldr r1, _0202C5D4 ; =0x021C59D8 + mov r0, #0x13 + ldr r2, [r1, #0x4] + lsl r0, r0, #0x8 + str r5, [r2, r0] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + add r2, #0xc + strh r6, [r3, r2] + add r3, r0, #0x0 + ldr r5, [r1, #0x4] + mov r2, #0x0 + sub r3, #0x1c + strh r2, [r5, r3] + add r3, r0, #0x0 + ldr r5, [r1, #0x4] + add r3, #0xe + strh r2, [r5, r3] + add r2, r0, #0x0 + ldrh r5, [r4, #0x4] + ldr r3, [r1, #0x4] + sub r2, #0x14 + strh r5, [r3, r2] + add r2, r0, #0x0 + ldrh r5, [r4, #0x2] + ldr r3, [r1, #0x4] + sub r2, #0x16 + strh r5, [r3, r2] + ldrh r2, [r4, #0x0] + ldr r1, [r1, #0x4] + sub r0, #0x18 + strh r2, [r1, r0] + bl sub_0202C5D8 + cmp r0, #0x0 + bne _0202C5D0 + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x0 + pop {r4-r6, pc} +_0202C5D0: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0202C5D4: .word 0x021C59D8 + + thumb_func_start sub_0202C5D8 +sub_0202C5D8: ; 0x0202C5D8 + push {r3-r7, lr} + blx sub_020D8C3C + add r5, r0, #0x0 + mov r0, #0x2 + lsl r0, r0, #0xe + cmp r5, r0 + bne _0202C5F8 + mov r0, #0x3 + bl sub_0202C1AC + mov r0, #0x1 + bl sub_020336A0 + mov r0, #0x0 + pop {r3-r7, pc} +_0202C5F8: + cmp r5, #0x0 + bne _0202C60C + mov r0, #0x16 + bl sub_0202C1AC + mov r0, #0x1 + bl sub_020336A0 + mov r0, #0x0 + pop {r3-r7, pc} +_0202C60C: + ldr r1, _0202C684 ; =0x021C59D8 + ldr r0, _0202C688 ; =0x0000130C + ldr r3, [r1, #0x4] + ldrh r2, [r3, r0] + cmp r2, #0x0 + bne _0202C64C + add r7, r0, #0x0 + mov r3, #0x1 + add r2, r3, #0x0 + sub r7, #0x28 + sub r0, #0x28 +_0202C622: + ldr r4, [r1, #0x4] + ldr r6, _0202C68C ; =0x000012E4 + ldrh r6, [r4, r6] + add r6, r6, #0x1 + strh r6, [r4, r7] + ldr r4, [r1, #0x4] + ldrh r6, [r4, r0] + cmp r6, #0x10 + bls _0202C638 + ldr r6, _0202C68C ; =0x000012E4 + strh r3, [r4, r6] +_0202C638: + ldr r6, [r1, #0x4] + ldr r4, _0202C68C ; =0x000012E4 + ldrh r4, [r6, r4] + add r6, r2, #0x0 + sub r4, r4, #0x1 + lsl r6, r4 + add r4, r5, #0x0 + tst r4, r6 + bne _0202C650 + b _0202C622 +_0202C64C: + sub r0, #0x28 + strh r2, [r3, r0] +_0202C650: + blx sub_020D8A4C + ldr r2, _0202C684 ; =0x021C59D8 + ldr r1, _0202C690 ; =0x000012E6 + ldr r3, [r2, #0x4] + strh r0, [r3, r1] + add r0, r1, #0x0 + ldr r3, [r2, #0x4] + sub r0, #0xc6 + add r4, r3, r0 + sub r0, r1, #0x6 + str r4, [r3, r0] + ldr r2, [r2, #0x4] + sub r1, r1, #0x6 + ldr r0, _0202C694 ; =sub_0202C698 + add r1, r2, r1 + blx sub_020D940C + cmp r0, #0x2 + beq _0202C680 + bl sub_0202C1AC + mov r0, #0x0 + pop {r3-r7, pc} +_0202C680: + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0202C684: .word 0x021C59D8 +_0202C688: .word 0x0000130C +_0202C68C: .word 0x000012E4 +_0202C690: .word 0x000012E6 +_0202C694: .word sub_0202C698 + 1 + + thumb_func_start sub_0202C698 +sub_0202C698: ; 0x0202C698 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + beq _0202C6AE + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C6AE: + ldr r0, _0202C760 ; =0x021C59D8 + ldr r2, [r0, #0x4] + ldr r0, _0202C764 ; =0x00001310 + ldr r1, [r2, r0] + cmp r1, #0x2 + beq _0202C6D0 + mov r1, #0x0 + sub r0, r0, #0x2 + strh r1, [r2, r0] + bl sub_0202C794 + cmp r0, #0x0 + bne _0202C75C + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C6D0: + ldrh r1, [r4, #0x8] + cmp r1, #0x3 + beq _0202C75C + cmp r1, #0x4 + beq _0202C74E + cmp r1, #0x5 + bne _0202C74E + sub r0, #0xf0 + add r0, r2, r0 + mov r1, #0xc0 + blx sub_020CC124 + ldr r0, _0202C760 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C768 ; =0x00001320 + ldr r2, [r1, r0] + cmp r2, #0x0 + beq _0202C704 + ldrh r0, [r4, #0x36] + cmp r0, #0x8 + blo _0202C704 + add r1, r4, #0x0 + add r1, #0x48 + ldrb r1, [r1, #0x4] + ldr r0, [r4, #0x3c] + blx r2 +_0202C704: + ldrh r0, [r4, #0x36] + cmp r0, #0x8 + blo _0202C74E + ldr r0, _0202C760 ; =0x021C59D8 + ldr r2, [r4, #0x3c] + ldr r0, [r0, #0x4] + ldr r1, [r0, #0x8] + cmp r2, r1 + bne _0202C74E + add r4, #0x43 + ldrb r2, [r4, #0x0] + mov r1, #0x3 + and r1, r2 + cmp r1, #0x1 + bne _0202C74E + mov r1, #0x13 + lsl r1, r1, #0x8 + ldr r2, [r0, r1] + cmp r2, #0x0 + beq _0202C732 + sub r1, #0xe0 + add r0, r0, r1 + blx r2 +_0202C732: + ldr r0, _0202C760 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C76C ; =0x0000130E + ldrh r0, [r1, r0] + cmp r0, #0x0 + beq _0202C74E + bl sub_0202C794 + cmp r0, #0x0 + bne _0202C75C + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C74E: + bl sub_0202C5D8 + cmp r0, #0x0 + bne _0202C75C + mov r0, #0x9 + bl sub_0202C198 +_0202C75C: + pop {r4, pc} + nop +_0202C760: .word 0x021C59D8 +_0202C764: .word 0x00001310 +_0202C768: .word 0x00001320 +_0202C76C: .word 0x0000130E + + thumb_func_start sub_0202C770 +sub_0202C770: ; 0x0202C770 + push {r3, lr} + ldr r0, _0202C78C ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C790 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x2 + beq _0202C782 + mov r0, #0x0 + pop {r3, pc} +_0202C782: + mov r0, #0x3 + bl sub_0202C198 + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202C78C: .word 0x021C59D8 +_0202C790: .word 0x00001310 + + thumb_func_start sub_0202C794 +sub_0202C794: ; 0x0202C794 + push {r3, lr} + ldr r0, _0202C7AC ; =sub_0202C7B0 + blx sub_020D9244 + cmp r0, #0x2 + beq _0202C7A8 + bl sub_0202C1AC + mov r0, #0x0 + pop {r3, pc} +_0202C7A8: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202C7AC: .word sub_0202C7B0 + 1 + + thumb_func_start sub_0202C7B0 +sub_0202C7B0: ; 0x0202C7B0 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202C7BE + bl sub_0202C1AC + pop {r3, pc} +_0202C7BE: + mov r0, #0x1 + bl sub_0202C198 + ldr r0, _0202C7E0 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C7E4 ; =0x0000130E + ldrh r0, [r1, r0] + cmp r0, #0x0 + beq _0202C7DE + bl sub_0202C7E8 + cmp r0, #0x0 + bne _0202C7DE + mov r0, #0x9 + bl sub_0202C198 +_0202C7DE: + pop {r3, pc} + .balign 4 +_0202C7E0: .word 0x021C59D8 +_0202C7E4: .word 0x0000130E + + thumb_func_start sub_0202C7E8 +sub_0202C7E8: ; 0x0202C7E8 + push {lr} + sub sp, #0x24 + ldr r0, _0202C844 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C848 ; =0x00001310 + ldr r0, [r1, r0] + sub r0, r0, #0x4 + cmp r0, #0x2 + bhi _0202C800 + add sp, #0x24 + mov r0, #0x1 + pop {pc} +_0202C800: + mov r0, #0x3 + bl sub_0202C198 + add r1, sp, #0x4 + ldr r0, _0202C84C ; =0x02105D54 + add r1, #0x1 + mov r2, #0x3 + blx sub_020CE3E0 + bl sub_02033534 + add r1, sp, #0x4 + strb r0, [r1, #0x0] + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, _0202C844 ; =0x021C59D8 + ldr r0, _0202C850 ; =sub_0202C858 + ldr r2, [r1, #0x4] + ldr r1, _0202C854 ; =0x00001220 + mov r3, #0x1 + add r1, r2, r1 + add r2, sp, #0x4 + blx sub_020D9168 + cmp r0, #0x2 + beq _0202C83E + bl sub_0202C1AC + add sp, #0x24 + mov r0, #0x0 + pop {pc} +_0202C83E: + mov r0, #0x1 + add sp, #0x24 + pop {pc} + .balign 4 +_0202C844: .word 0x021C59D8 +_0202C848: .word 0x00001310 +_0202C84C: .word 0x02105D54 +_0202C850: .word sub_0202C858 + 1 +_0202C854: .word 0x00001220 + + thumb_func_start sub_0202C858 +sub_0202C858: ; 0x0202C858 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + beq _0202C894 + bl sub_0202C1AC + ldrh r0, [r4, #0x2] + cmp r0, #0xc + bne _0202C874 + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C874: + cmp r0, #0xb + bne _0202C880 + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C880: + cmp r0, #0x1 + bne _0202C88C + mov r0, #0x8 + bl sub_0202C198 + pop {r4, pc} +_0202C88C: + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C894: + ldrh r0, [r4, #0x8] + cmp r0, #0x8 + beq _0202C8FA + cmp r0, #0x7 + bne _0202C8DA + ldr r0, _0202C8FC ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202C900 ; =0x00001335 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202C8B8 + mov r0, #0x14 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C8B8: + mov r0, #0x4 + bl sub_0202C198 + bl sub_0202C908 + cmp r0, #0x0 + bne _0202C8CE + mov r0, #0x3 + bl sub_0202C198 + pop {r4, pc} +_0202C8CE: + ldr r0, _0202C8FC ; =0x021C59D8 + ldrh r2, [r4, #0xa] + ldr r1, [r0, #0x4] + ldr r0, _0202C904 ; =0x0000132C + strh r2, [r1, r0] + pop {r4, pc} +_0202C8DA: + cmp r0, #0x6 + beq _0202C8FA + cmp r0, #0x9 + bne _0202C8F0 + mov r0, #0x14 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r4, pc} +_0202C8F0: + cmp r0, #0x1a + beq _0202C8FA + mov r0, #0x9 + bl sub_0202C198 +_0202C8FA: + pop {r4, pc} + .balign 4 +_0202C8FC: .word 0x021C59D8 +_0202C900: .word 0x00001335 +_0202C904: .word 0x0000132C + + thumb_func_start sub_0202C908 +sub_0202C908: ; 0x0202C908 + push {r4, lr} + sub sp, #0x8 + ldr r0, _0202C948 ; =0x021C59D8 + ldr r2, _0202C94C ; =0x00001304 + ldr r4, [r0, #0x4] + ldr r3, _0202C950 ; =0x00001020 + ldr r0, [r4, r2] + add r1, r4, r3 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r2, r2, #0x4 + ldr r2, [r4, r2] + sub r3, #0xe0 + lsl r2, r2, #0x10 + ldr r0, _0202C954 ; =sub_0202C958 + lsr r2, r2, #0x10 + add r3, r4, r3 + blx sub_020D9B48 + cmp r0, #0x2 + beq _0202C942 + bl sub_0202C1AC + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_0202C942: + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_0202C948: .word 0x021C59D8 +_0202C94C: .word 0x00001304 +_0202C950: .word 0x00001020 +_0202C954: .word sub_0202C958 + 1 + + thumb_func_start sub_0202C958 +sub_0202C958: ; 0x0202C958 + push {r3, lr} + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + beq _0202C97A + cmp r1, #0xf + beq _0202C9B0 + cmp r1, #0x9 + beq _0202C9B0 + cmp r1, #0xd + beq _0202C9B0 + add r0, r1, #0x0 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + pop {r3, pc} +_0202C97A: + ldrh r0, [r0, #0x4] + sub r0, #0xa + cmp r0, #0x3 + bhi _0202C9B0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + ldr r0, _0202C9B4 ; =0x021C59D8 + ldr r2, [r0, #0x4] + ldr r0, _0202C9B8 ; =0x00001314 + ldr r1, [r2, r0] + cmp r1, #0x3 + bne _0202C9AA + sub r0, r0, #0x4 + ldr r0, [r2, r0] + cmp r0, #0x6 + beq _0202C9B0 +_0202C9AA: + mov r0, #0x4 + bl sub_0202C198 +_0202C9B0: + pop {r3, pc} + nop +_0202C9B4: .word 0x021C59D8 +_0202C9B8: .word 0x00001314 + + thumb_func_start sub_0202C9BC +sub_0202C9BC: ; 0x0202C9BC + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202C9DC ; =sub_0202C9E0 + blx sub_020D9960 + cmp r0, #0x2 + beq _0202C9D6 + bl sub_0202C1AC + mov r0, #0x0 + pop {r3, pc} +_0202C9D6: + mov r0, #0x1 + pop {r3, pc} + nop +_0202C9DC: .word sub_0202C9E0 + 1 + + thumb_func_start sub_0202C9E0 +sub_0202C9E0: ; 0x0202C9E0 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202C9F2 + bl sub_0202C1AC + bl sub_0202D100 + pop {r3, pc} +_0202C9F2: + bl sub_0202CA04 + cmp r0, #0x0 + bne _0202CA00 + mov r0, #0x9 + bl sub_0202C198 +_0202CA00: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202CA04 +sub_0202CA04: ; 0x0202CA04 + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202CA28 ; =sub_0202CA2C + mov r1, #0x0 + blx sub_020D9060 + cmp r0, #0x2 + beq _0202CA24 + bl sub_0202C1AC + bl sub_0202D0D8 + mov r0, #0x0 + pop {r3, pc} +_0202CA24: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202CA28: .word sub_0202CA2C + 1 + + thumb_func_start sub_0202CA2C +sub_0202CA2C: ; 0x0202CA2C + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202CA3A + bl sub_0202C1AC + pop {r3, pc} +_0202CA3A: + mov r0, #0x1 + bl sub_0202C198 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202CA44 +sub_0202CA44: ; 0x0202CA44 + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202CA64 ; =sub_0202CA68 + blx sub_020D9774 + cmp r0, #0x2 + beq _0202CA5E + bl sub_0202C1AC + mov r0, #0x0 + pop {r3, pc} +_0202CA5E: + mov r0, #0x1 + pop {r3, pc} + nop +_0202CA64: .word sub_0202CA68 + 1 + + thumb_func_start sub_0202CA68 +sub_0202CA68: ; 0x0202CA68 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + beq _0202CA80 + mov r0, #0x9 + bl sub_0202C198 + ldrh r0, [r4, #0x2] + bl sub_0202C1AC + pop {r4, pc} +_0202CA80: + mov r0, #0x1 + bl sub_0202C198 + pop {r4, pc} + + thumb_func_start sub_0202CA88 +sub_0202CA88: ; 0x0202CA88 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, _0202CAD0 ; =0x021C59D8 + add r6, r1, #0x0 + add r4, r2, #0x0 + ldr r1, [r0, #0x4] + mov r0, #0x3d + lsl r0, r0, #0x6 + ldr r2, _0202CAD4 ; =0x00001304 + add r0, r1, r0 + ldr r1, [r1, r2] + add r7, r3, #0x0 + blx sub_020CC15C + ldr r0, _0202CAD8 ; =0x0000FFFF + add r1, r7, #0x0 + str r0, [sp, #0x0] + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + ldr r0, _0202CADC ; =sub_0202CAE0 + add r2, r5, #0x0 + add r3, r6, #0x0 + blx sub_020D99EC + cmp r0, #0x2 + bne _0202CACA + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0202CACA: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0202CAD0: .word 0x021C59D8 +_0202CAD4: .word 0x00001304 +_0202CAD8: .word 0x0000FFFF +_0202CADC: .word sub_0202CAE0 + 1 + + thumb_func_start sub_0202CAE0 +sub_0202CAE0: ; 0x0202CAE0 + push {r3, lr} + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + beq _0202CAF4 + cmp r1, #0xf + beq _0202CAF4 + add r0, r1, #0x0 + bl sub_0202C1AC + pop {r3, pc} +_0202CAF4: + ldr r2, [r0, #0x20] + cmp r2, #0x0 + beq _0202CB06 + cmp r1, #0x0 + bne _0202CB02 + mov r0, #0x1 + b _0202CB04 +_0202CB02: + mov r0, #0x0 +_0202CB04: + blx r2 +_0202CB06: + pop {r3, pc} + + thumb_func_start sub_0202CB08 +sub_0202CB08: ; 0x0202CB08 + push {r3, lr} + add r2, r0, #0x0 + ldrh r0, [r2, #0x2] + cmp r0, #0x0 + beq _0202CB18 + bl sub_0202C1AC + pop {r3, pc} +_0202CB18: + ldr r0, _0202CB48 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202CB4C ; =0x00001318 + ldr r3, [r1, r0] + cmp r3, #0x0 + beq _0202CB44 + ldrh r0, [r2, #0x4] + cmp r0, #0x19 + beq _0202CB44 + cmp r0, #0x15 + bne _0202CB38 + ldrh r0, [r2, #0x12] + ldr r1, [r2, #0xc] + ldrh r2, [r2, #0x10] + blx r3 + pop {r3, pc} +_0202CB38: + cmp r0, #0x9 + bne _0202CB44 + ldrh r0, [r2, #0x12] + mov r1, #0x0 + add r2, r1, #0x0 + blx r3 +_0202CB44: + pop {r3, pc} + nop +_0202CB48: .word 0x021C59D8 +_0202CB4C: .word 0x00001318 + + thumb_func_start sub_0202CB50 +sub_0202CB50: ; 0x0202CB50 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202CB60 + mov r0, #0xa + bl sub_0202C198 + pop {r3, pc} +_0202CB60: + mov r0, #0x0 + add r1, r0, #0x0 + blx sub_02090CC8 + mov r0, #0x0 + bl sub_0202C198 + pop {r3, pc} + + thumb_func_start sub_0202CB70 +sub_0202CB70: ; 0x0202CB70 + ldr r1, _0202CB78 ; =0x021C59D8 + ldr r1, [r1, #0x4] + str r0, [r1, #0x8] + bx lr + .balign 4 +_0202CB78: .word 0x021C59D8 + + thumb_func_start sub_0202CB7C +sub_0202CB7C: ; 0x0202CB7C + ldr r2, _0202CB88 ; =0x021C59D8 + ldr r3, [r2, #0x4] + str r0, [r3, #0x0] + ldr r0, [r2, #0x4] + strh r1, [r0, #0x4] + bx lr + .balign 4 +_0202CB88: .word 0x021C59D8 + + thumb_func_start sub_0202CB8C +sub_0202CB8C: ; 0x0202CB8C + ldr r0, _0202CB98 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202CB9C ; =0x0000132E + ldrh r0, [r1, r0] + bx lr + nop +_0202CB98: .word 0x021C59D8 +_0202CB9C: .word 0x0000132E + + thumb_func_start sub_0202CBA0 +sub_0202CBA0: ; 0x0202CBA0 + push {r3-r4} + ldr r0, _0202CBCC ; =0x021C59D8 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202CBD0 ; =0x0000132E + add r3, r2, #0x0 + ldrh r4, [r1, r0] + mov r1, #0x1 +_0202CBB0: + add r0, r4, #0x0 + tst r0, r1 + beq _0202CBB8 + add r2, r2, #0x1 +_0202CBB8: + lsl r0, r4, #0xf + add r3, r3, #0x1 + lsr r4, r0, #0x10 + cmp r3, #0x10 + blt _0202CBB0 + lsl r0, r2, #0x10 + lsr r0, r0, #0x10 + pop {r3-r4} + bx lr + nop +_0202CBCC: .word 0x021C59D8 +_0202CBD0: .word 0x0000132E + + thumb_func_start sub_0202CBD4 +sub_0202CBD4: ; 0x0202CBD4 + ldr r0, _0202CBE0 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202CBE4 ; =0x00001310 + ldr r0, [r1, r0] + bx lr + nop +_0202CBE0: .word 0x021C59D8 +_0202CBE4: .word 0x00001310 + + thumb_func_start sub_0202CBE8 +sub_0202CBE8: ; 0x0202CBE8 + ldr r0, _0202CBF4 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202CBF8 ; =0x00001330 + ldr r0, [r1, r0] + bx lr + nop +_0202CBF4: .word 0x021C59D8 +_0202CBF8: .word 0x00001330 + + thumb_func_start sub_0202CBFC +sub_0202CBFC: ; 0x0202CBFC + push {r3-r5, lr} + sub sp, #0x8 + add r0, sp, #0x0 + blx sub_020CD5A0 + ldr r0, _0202CC84 ; =0x027FFC3C + ldr r3, [r0, #0x0] + add r0, sp, #0x0 + ldrh r2, [r0, #0x4] + ldrh r1, [r0, #0x2] + ldrh r0, [r0, #0x0] + add r0, r0, r3 + add r0, r1, r0 + add r1, r2, r0 + ldr r3, _0202CC88 ; =0x021C59D8 + ldr r2, _0202CC8C ; =0x00001338 + ldr r0, [r3, #0x4] + str r1, [r0, r2] + ldr r0, [r3, #0x4] + ldr r1, _0202CC90 ; =0x00010DCD + ldr r4, [r0, r2] + add r5, r4, #0x0 + mul r5, r1 + ldr r1, _0202CC94 ; =0x00003039 + mov r4, #0x0 + add r1, r5, r1 + str r1, [r0, r2] + ldr r1, [r3, #0x4] + add r0, r2, #0x4 + strh r4, [r1, r0] + ldr r1, [r3, #0x4] + mov r4, #0x65 + add r0, r2, #0x6 + strh r4, [r1, r0] + mov r0, #0x3 + bl sub_0202C198 + mov r0, #0x1 + bl sub_0202CC98 + cmp r0, #0x18 + bne _0202CC68 + mov r0, #0x18 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_0202CC68: + cmp r0, #0x2 + beq _0202CC7C + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_0202CC7C: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + nop +_0202CC84: .word 0x027FFC3C +_0202CC88: .word 0x021C59D8 +_0202CC8C: .word 0x00001338 +_0202CC90: .word 0x00010DCD +_0202CC94: .word 0x00003039 + + thumb_func_start sub_0202CC98 +sub_0202CC98: ; 0x0202CC98 + push {r4, lr} + add r4, r0, #0x0 + blx sub_020D8C3C + mov r1, #0x2 + lsl r1, r1, #0xe + cmp r0, r1 + bne _0202CCBE + mov r0, #0x3 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + mov r0, #0x3 + pop {r4, pc} +_0202CCBE: + cmp r0, #0x0 + bne _0202CCD8 + mov r0, #0x16 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + mov r0, #0x18 + pop {r4, pc} +_0202CCD8: + mov r2, #0x1 + sub r1, r4, #0x1 + lsl r2, r1 + add r1, r2, #0x0 + tst r1, r0 + bne _0202CD00 + mov r2, #0x1 +_0202CCE6: + add r1, r4, #0x1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, #0x10 + bls _0202CCF4 + mov r0, #0x18 + pop {r4, pc} +_0202CCF4: + sub r1, r4, #0x1 + add r3, r2, #0x0 + lsl r3, r1 + add r1, r3, #0x0 + tst r1, r0 + beq _0202CCE6 +_0202CD00: + ldr r0, _0202CD10 ; =sub_0202CD14 + add r1, r4, #0x0 + bl sub_0202CD90 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, pc} + nop +_0202CD10: .word sub_0202CD14 + 1 + + thumb_func_start sub_0202CD14 +sub_0202CD14: ; 0x0202CD14 + push {r3-r5, lr} + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + beq _0202CD30 + add r0, r1, #0x0 + bl sub_0202C1AC + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + pop {r3-r5, pc} +_0202CD30: + ldr r2, _0202CD88 ; =0x021C59D8 + ldrh r1, [r0, #0x8] + ldrh r5, [r0, #0xa] + ldr r0, [r2, #0x4] + ldr r3, _0202CD8C ; =0x0000133E + ldrh r4, [r0, r3] + cmp r4, r5 + bls _0202CD50 + strh r5, [r0, r3] + mov r4, #0x1 + sub r0, r1, #0x1 + lsl r4, r0 + ldr r2, [r2, #0x4] + add r0, r3, #0x2 + strh r4, [r2, r0] + b _0202CD64 +_0202CD50: + cmp r4, r5 + bne _0202CD64 + add r2, r3, #0x2 + ldrh r5, [r0, r2] + mov r4, #0x1 + sub r2, r1, #0x1 + lsl r4, r2 + orr r4, r5 + add r2, r3, #0x2 + strh r4, [r0, r2] +_0202CD64: + add r0, r1, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202CC98 + cmp r0, #0x18 + bne _0202CD7A + mov r0, #0x7 + bl sub_0202C198 + pop {r3-r5, pc} +_0202CD7A: + cmp r0, #0x2 + beq _0202CD84 + mov r0, #0x9 + bl sub_0202C198 +_0202CD84: + pop {r3-r5, pc} + nop +_0202CD88: .word 0x021C59D8 +_0202CD8C: .word 0x0000133E + + thumb_func_start sub_0202CD90 +sub_0202CD90: ; 0x0202CD90 + push {r3, lr} + add r3, r1, #0x0 + mov r1, #0x1e + str r1, [sp, #0x0] + mov r1, #0x3 + mov r2, #0x11 + blx sub_020DADD4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202CDA4 +sub_0202CDA4: ; 0x0202CDA4 + push {r3, lr} + mov r0, #0x1 + bl sub_0202C198 + ldr r0, _0202CDC8 ; =0x021C59D8 + ldr r1, [r0, #0x4] + mov r0, #0x4d + lsl r0, r0, #0x6 + ldrh r0, [r1, r0] + bl sub_0202CDD0 + ldr r2, _0202CDC8 ; =0x021C59D8 + ldr r1, _0202CDCC ; =0x0000133C + ldr r3, [r2, #0x4] + strh r0, [r3, r1] + ldr r0, [r2, #0x4] + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_0202CDC8: .word 0x021C59D8 +_0202CDCC: .word 0x0000133C + + thumb_func_start sub_0202CDD0 +sub_0202CDD0: ; 0x0202CDD0 + push {r4-r7} + add r4, r0, #0x0 + mov r0, #0x0 + add r3, r0, #0x0 + add r2, r0, #0x0 + mov r1, #0x1 +_0202CDDC: + add r5, r1, #0x0 + lsl r5, r2 + tst r5, r4 + beq _0202CDF0 + add r0, r2, #0x1 + add r3, r3, #0x1 + lsl r0, r0, #0x10 + lsl r3, r3, #0x10 + asr r0, r0, #0x10 + lsr r3, r3, #0x10 +_0202CDF0: + add r2, r2, #0x1 + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + cmp r2, #0x10 + blt _0202CDDC + cmp r3, #0x1 + bls _0202CE4E + ldr r5, _0202CE54 ; =0x021C59D8 + ldr r2, _0202CE58 ; =0x00001338 + ldr r0, [r5, #0x4] + ldr r1, _0202CE5C ; =0x00010DCD + ldr r6, [r0, r2] + add r7, r6, #0x0 + mul r7, r1 + ldr r1, _0202CE60 ; =0x00003039 + add r1, r7, r1 + str r1, [r0, r2] + ldr r0, [r5, #0x4] + mov r1, #0x1 + ldr r0, [r0, r2] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mul r0, r3 + lsl r0, r0, #0x8 + lsr r2, r0, #0x10 + mov r3, #0x0 +_0202CE24: + add r0, r4, #0x0 + tst r0, r1 + beq _0202CE3E + cmp r2, #0x0 + bne _0202CE38 + add r0, r3, #0x1 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + pop {r4-r7} + bx lr +_0202CE38: + sub r0, r2, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_0202CE3E: + lsl r0, r4, #0xf + lsr r4, r0, #0x10 + add r0, r3, #0x1 + lsl r0, r0, #0x10 + asr r3, r0, #0x10 + cmp r3, #0x10 + blt _0202CE24 + mov r0, #0x0 +_0202CE4E: + pop {r4-r7} + bx lr + nop +_0202CE54: .word 0x021C59D8 +_0202CE58: .word 0x00001338 +_0202CE5C: .word 0x00010DCD +_0202CE60: .word 0x00003039 + + thumb_func_start sub_0202CE64 +sub_0202CE64: ; 0x0202CE64 + push {r3-r5, lr} + lsl r1, r0, #0x1b + lsr r2, r1, #0x1b + beq _0202CE72 + mov r1, #0x20 + sub r1, r1, r2 + add r0, r0, r1 +_0202CE72: + ldr r2, _0202CEE4 ; =0x021C59D8 + ldr r1, _0202CEE8 ; =0x00001308 + str r0, [r2, #0x4] + mov r3, #0x0 + str r3, [r0, r1] + ldr r4, [r2, #0x4] + sub r0, r1, #0x4 + str r3, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x10 + str r3, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x24 + strh r3, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + mov r5, #0x1 + add r0, #0x26 + strh r5, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x28 + str r3, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x8 + str r3, [r4, r0] + ldr r0, [r2, #0x4] + mov r5, #0x8 + str r3, [r0, #0x0] + ldr r0, [r2, #0x4] + strh r3, [r0, #0x4] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x14 + str r3, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x2c + strb r5, [r4, r0] + add r0, r1, #0x0 + ldr r4, [r2, #0x4] + add r0, #0x2d + strb r3, [r4, r0] + ldr r0, [r2, #0x4] + add r1, #0x3a + strb r3, [r0, r1] + bl sub_0202CF0C + cmp r0, #0x0 + bne _0202CEE0 + mov r0, #0x0 + pop {r3-r5, pc} +_0202CEE0: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0202CEE4: .word 0x021C59D8 +_0202CEE8: .word 0x00001308 + + thumb_func_start sub_0202CEEC +sub_0202CEEC: ; 0x0202CEEC + mov r0, #0x4e + lsl r0, r0, #0x6 + bx lr + .balign 4 + + thumb_func_start sub_0202CEF4 +sub_0202CEF4: ; 0x0202CEF4 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x8 + bne _0202CF08 + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x19 + bl sub_0202C1AC +_0202CF08: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202CF0C +sub_0202CF0C: ; 0x0202CF0C + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202CF38 ; =0x021C59D8 + ldr r1, _0202CF3C ; =sub_0202CF40 + ldr r0, [r0, #0x4] + mov r2, #0x2 + add r0, #0x40 + blx sub_020D97B4 + cmp r0, #0x2 + beq _0202CF34 + bl sub_0202C1AC + mov r0, #0xa + bl sub_0202C198 + mov r0, #0x0 + pop {r3, pc} +_0202CF34: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202CF38: .word 0x021C59D8 +_0202CF3C: .word sub_0202CF40 + 1 + + thumb_func_start sub_0202CF40 +sub_0202CF40: ; 0x0202CF40 + push {r3, lr} + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + beq _0202CF5A + bl sub_0202C1AC + mov r0, #0xa + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + pop {r3, pc} +_0202CF5A: + ldr r0, _0202CF80 ; =sub_0202CEF4 + blx sub_020D9014 + cmp r0, #0x0 + beq _0202CF76 + bl sub_0202C1AC + mov r0, #0xa + bl sub_0202C198 + mov r0, #0x1 + bl sub_020336A0 + pop {r3, pc} +_0202CF76: + mov r0, #0x1 + bl sub_0202C198 + pop {r3, pc} + nop +_0202CF80: .word sub_0202CEF4 + 1 + + thumb_func_start sub_0202CF84 +sub_0202CF84: ; 0x0202CF84 + push {r3-r7, lr} + add r6, r1, #0x0 + ldr r1, _0202D02C ; =0x021C59D8 + add r5, r0, #0x0 + add r7, r2, #0x0 + mov r0, #0x7 + ldr r2, [r1, #0x4] + ldr r1, _0202D030 ; =0x00001308 + lsl r0, r0, #0x6 + str r0, [r2, r1] + ldr r0, _0202D02C ; =0x021C59D8 + add r4, r3, #0x0 + ldr r2, [r0, #0x4] + sub r0, r1, #0x4 + mov r3, #0xe0 + str r3, [r2, r0] + ldr r0, _0202D02C ; =0x021C59D8 + add r1, #0xc + ldr r0, [r0, #0x4] + str r5, [r0, r1] + mov r0, #0x3 + bl sub_0202C198 + ldr r1, _0202D02C ; =0x021C59D8 + cmp r5, #0x0 + ldr r0, [r1, #0x4] + strh r6, [r0, #0xc] + ldr r0, [r1, #0x4] + strh r7, [r0, #0x32] + add r0, sp, #0x8 + ldrh r2, [r0, #0x10] + ldr r0, [r1, #0x4] + strh r2, [r0, #0x18] + beq _0202CFCE + cmp r5, #0x4 + beq _0202CFE8 + b _0202CFF4 +_0202CFCE: + ldr r0, [r1, #0x4] + mov r2, #0xc0 + strh r2, [r0, #0x34] + cmp r4, #0x5 + blo _0202CFE0 + ldr r0, [r1, #0x4] + mov r2, #0xc + strh r2, [r0, #0x36] + b _0202CFF4 +_0202CFE0: + ldr r0, [r1, #0x4] + mov r2, #0x26 + strh r2, [r0, #0x36] + b _0202CFF4 +_0202CFE8: + ldr r0, [r1, #0x4] + mov r2, #0x64 + strh r2, [r0, #0x34] + ldr r0, [r1, #0x4] + mov r2, #0xc + strh r2, [r0, #0x36] +_0202CFF4: + ldr r1, _0202D02C ; =0x021C59D8 + ldr r0, [r1, #0x4] + strh r4, [r0, #0x10] + ldr r2, [r1, #0x4] + mov r0, #0x0 + strh r0, [r2, #0x16] + ldr r2, [r1, #0x4] + cmp r5, #0x2 + strh r0, [r2, #0x12] + ldr r2, [sp, #0x1c] + ldr r1, [r1, #0x4] + strh r2, [r1, #0xe] + bne _0202D010 + mov r0, #0x1 +_0202D010: + ldr r1, _0202D02C ; =0x021C59D8 + cmp r5, #0x0 + ldr r1, [r1, #0x4] + strh r0, [r1, #0x14] + beq _0202D022 + cmp r5, #0x2 + beq _0202D022 + cmp r5, #0x4 + bne _0202D028 +_0202D022: + bl sub_0202C1C8 + pop {r3-r7, pc} +_0202D028: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0202D02C: .word 0x021C59D8 +_0202D030: .word 0x00001308 + + thumb_func_start sub_0202D034 +sub_0202D034: ; 0x0202D034 + push {r4-r6, lr} + ldr r2, _0202D094 ; =0x021C59D8 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r3, #0x2 + ldr r0, [r2, #0x4] + ldr r1, _0202D098 ; =0x00001308 + lsl r3, r3, #0x8 + str r3, [r0, r1] + sub r0, r1, #0x4 + ldr r3, [r2, #0x4] + mov r6, #0x40 + str r6, [r3, r0] + ldr r0, [r2, #0x4] + add r1, #0xc + str r5, [r0, r1] + mov r0, #0x3 + bl sub_0202C198 + cmp r5, #0x1 + beq _0202D066 + cmp r5, #0x3 + beq _0202D066 + cmp r5, #0x5 + bne _0202D08E +_0202D066: + ldr r1, _0202D094 ; =0x021C59D8 + add r0, r4, #0x0 + ldr r2, [r1, #0x4] + ldr r1, _0202D09C ; =0x00001220 + add r1, r2, r1 + mov r2, #0xc0 + blx sub_020CE3E0 + ldr r0, _0202D094 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D09C ; =0x00001220 + add r0, r1, r0 + mov r1, #0xc0 + blx sub_020CC15C + blx sub_020CC180 + bl sub_0202C7E8 + pop {r4-r6, pc} +_0202D08E: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0202D094: .word 0x021C59D8 +_0202D098: .word 0x00001308 +_0202D09C: .word 0x00001220 + + thumb_func_start sub_0202D0A0 +sub_0202D0A0: ; 0x0202D0A0 + push {r3, lr} + ldr r2, _0202D0C4 ; =0x021C59D8 + ldr r3, [r2, #0x4] + ldr r2, _0202D0C8 ; =0x00001318 + str r0, [r3, r2] + lsl r0, r1, #0x10 + ldr r1, _0202D0CC ; =sub_0202CB08 + lsr r0, r0, #0x10 + mov r2, #0x0 + blx sub_020D8F34 + cmp r0, #0x0 + beq _0202D0C2 + mov r0, #0x9 + bl sub_0202C198 +_0202D0C0: + b _0202D0C0 +_0202D0C2: + pop {r3, pc} + .balign 4 +_0202D0C4: .word 0x021C59D8 +_0202D0C8: .word 0x00001318 +_0202D0CC: .word sub_0202CB08 + 1 + + thumb_func_start sub_0202D0D0 +sub_0202D0D0: ; 0x0202D0D0 + push {r3, lr} + bl sub_0202CA88 + pop {r3, pc} + + thumb_func_start sub_0202D0D8 +sub_0202D0D8: ; 0x0202D0D8 + push {r3, lr} + ldr r0, _0202D0F8 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D0FC ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x2 + bne _0202D0E8 +_0202D0E6: + b _0202D0E6 +_0202D0E8: + bl sub_0202CA44 + cmp r0, #0x0 + bne _0202D0F6 + mov r0, #0xa + bl sub_0202C198 +_0202D0F6: + pop {r3, pc} + .balign 4 +_0202D0F8: .word 0x021C59D8 +_0202D0FC: .word 0x00001310 + + thumb_func_start sub_0202D100 +sub_0202D100: ; 0x0202D100 + push {r3, lr} + ldr r0, _0202D16C ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D170 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x1 + beq _0202D16A + cmp r0, #0x6 + beq _0202D126 + cmp r0, #0x5 + beq _0202D126 + cmp r0, #0x4 + beq _0202D126 + mov r0, #0x3 + bl sub_0202C198 + bl sub_0202D0D8 + pop {r3, pc} +_0202D126: + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202D16C ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D174 ; =0x00001314 + ldr r0, [r1, r0] + cmp r0, #0x5 + bhi _0202D16A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r3, #0 + lsl r2, r1, #0 + lsl r4, r4, #0 + lsl r4, r4, #0 + lsl r0, r3, #0 + lsl r2, r1, #0 + bl sub_0202C9BC + cmp r0, #0x0 + bne _0202D16A + bl sub_0202D0D8 + pop {r3, pc} +_0202D15E: + .byte 0xFF, 0xF7 + .byte 0x7F, 0xF9, 0x00, 0x28, 0x01, 0xD1, 0xFF, 0xF7, 0xB7, 0xFF +_0202D16A: + pop {r3, pc} + .balign 4 +_0202D16C: .word 0x021C59D8 +_0202D170: .word 0x00001310 +_0202D174: .word 0x00001314 + + thumb_func_start sub_0202D178 +sub_0202D178: ; 0x0202D178 + push {r3, lr} + mov r0, #0x3 + bl sub_0202C198 + ldr r0, _0202D198 ; =sub_0202CB50 + blx sub_020D972C + cmp r0, #0x2 + beq _0202D194 + mov r0, #0x9 + bl sub_0202C198 + mov r0, #0x0 + pop {r3, pc} +_0202D194: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202D198: .word sub_0202CB50 + 1 + + thumb_func_start sub_0202D19C +sub_0202D19C: ; 0x0202D19C + ldr r0, _0202D1A8 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D1AC ; =0x0000132C + ldrh r0, [r1, r0] + bx lr + nop +_0202D1A8: .word 0x021C59D8 +_0202D1AC: .word 0x0000132C + + thumb_func_start sub_0202D1B0 +sub_0202D1B0: ; 0x0202D1B0 + ldr r1, _0202D1C0 ; =0x021C59D8 + ldr r2, [r1, #0x4] + cmp r2, #0x0 + beq _0202D1BC + ldr r1, _0202D1C4 ; =0x00001334 + strb r0, [r2, r1] +_0202D1BC: + bx lr + nop +_0202D1C0: .word 0x021C59D8 +_0202D1C4: .word 0x00001334 + + thumb_func_start sub_0202D1C8 +sub_0202D1C8: ; 0x0202D1C8 + ldr r0, _0202D1DC ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D1E0 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x1 + bne _0202D1D8 + mov r0, #0x1 + bx lr +_0202D1D8: + mov r0, #0x0 + bx lr + .balign 4 +_0202D1DC: .word 0x021C59D8 +_0202D1E0: .word 0x00001310 + + thumb_func_start sub_0202D1E4 +sub_0202D1E4: ; 0x0202D1E4 + ldr r0, _0202D1F8 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D1FC ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x3 + bne _0202D1F4 + mov r0, #0x1 + bx lr +_0202D1F4: + mov r0, #0x0 + bx lr + .balign 4 +_0202D1F8: .word 0x021C59D8 +_0202D1FC: .word 0x00001310 + + thumb_func_start sub_0202D200 +sub_0202D200: ; 0x0202D200 + ldr r0, _0202D214 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D218 ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x9 + bne _0202D210 + mov r0, #0x1 + bx lr +_0202D210: + mov r0, #0x0 + bx lr + .balign 4 +_0202D214: .word 0x021C59D8 +_0202D218: .word 0x00001310 + + thumb_func_start sub_0202D21C +sub_0202D21C: ; 0x0202D21C + ldr r0, _0202D238 ; =0x021C59D8 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0202D234 + ldr r0, _0202D23C ; =0x00001310 + ldr r0, [r1, r0] + cmp r0, #0x2 + bne _0202D230 + mov r0, #0x1 + bx lr +_0202D230: + mov r0, #0x0 + bx lr +_0202D234: + mov r0, #0x0 + bx lr + .balign 4 +_0202D238: .word 0x021C59D8 +_0202D23C: .word 0x00001310 + + thumb_func_start sub_0202D240 +sub_0202D240: ; 0x0202D240 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r0, #0x0 + ldr r0, _0202D274 ; =0x021C59D8 + add r5, r1, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202D278 ; =0x00001310 + add r4, r2, #0x0 + ldr r0, [r1, r0] + cmp r0, #0x4 + bne _0202D26E + lsl r0, r3, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + lsl r2, r5, #0x10 + str r0, [sp, #0x4] + mov r0, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x10 + add r3, r4, #0x0 + blx sub_020DAF30 +_0202D26E: + add sp, #0x8 + pop {r4-r6, pc} + nop +_0202D274: .word 0x021C59D8 +_0202D278: .word 0x00001310 + + thumb_func_start sub_0202D27C +sub_0202D27C: ; 0x0202D27C + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + bne _0202D28C + ldr r0, _0202D290 ; =0x021C59D8 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _0202D294 ; =0x00001344 + strb r2, [r1, r0] +_0202D28C: + bx lr + nop +_0202D290: .word 0x021C59D8 +_0202D294: .word 0x00001344 + + thumb_func_start sub_0202D298 +sub_0202D298: ; 0x0202D298 + push {r4, lr} + ldr r2, _0202D2C4 ; =0x021C59D8 + add r1, r0, #0x0 + ldr r3, [r2, #0x4] + ldr r0, _0202D2C8 ; =0x00001344 + mov r4, #0x0 + strb r4, [r3, r0] + ldr r2, [r2, #0x4] + sub r0, #0x34 + ldr r0, [r2, r0] + cmp r0, #0x4 + bne _0202D2BE + ldr r0, _0202D2CC ; =sub_0202D27C + blx sub_020DAD74 + cmp r0, #0x2 + bne _0202D2BE + mov r0, #0x1 + pop {r4, pc} +_0202D2BE: + mov r0, #0x0 + pop {r4, pc} + nop +_0202D2C4: .word 0x021C59D8 +_0202D2C8: .word 0x00001344 +_0202D2CC: .word sub_0202D27C + 1 + + thumb_func_start sub_0202D2D0 +sub_0202D2D0: ; 0x0202D2D0 + ldr r0, _0202D2EC ; =0x021C59D8 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0202D2E8 + ldr r0, _0202D2F0 ; =0x00001345 + ldrb r0, [r1, r0] + cmp r0, #0x6 + blo _0202D2E4 + mov r0, #0x1 + bx lr +_0202D2E4: + mov r0, #0x0 + bx lr +_0202D2E8: + mov r0, #0x0 + bx lr + .balign 4 +_0202D2EC: .word 0x021C59D8 +_0202D2F0: .word 0x00001345 + + thumb_func_start sub_0202D2F4 +sub_0202D2F4: ; 0x0202D2F4 + ldr r0, _0202D300 ; =0x021C59D8 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202D304 ; =0x00001345 + strb r2, [r1, r0] + bx lr + .balign 4 +_0202D300: .word 0x021C59D8 +_0202D304: .word 0x00001345 + + thumb_func_start sub_0202D308 +sub_0202D308: ; 0x0202D308 + ldr r1, _0202D314 ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D318 ; =0x00001320 + str r0, [r2, r1] + bx lr + nop +_0202D314: .word 0x021C59D8 +_0202D318: .word 0x00001320 + + thumb_func_start sub_0202D31C +sub_0202D31C: ; 0x0202D31C + ldr r1, _0202D328 ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D32C ; =0x00001324 + str r0, [r2, r1] + bx lr + nop +_0202D328: .word 0x021C59D8 +_0202D32C: .word 0x00001324 + + thumb_func_start sub_0202D330 +sub_0202D330: ; 0x0202D330 + ldr r1, _0202D33C ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D340 ; =0x00001328 + str r0, [r2, r1] + bx lr + nop +_0202D33C: .word 0x021C59D8 +_0202D340: .word 0x00001328 + + thumb_func_start sub_0202D344 +sub_0202D344: ; 0x0202D344 + ldr r1, _0202D350 ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D354 ; =0x00001342 + strb r0, [r2, r1] + bx lr + nop +_0202D350: .word 0x021C59D8 +_0202D354: .word 0x00001342 + + thumb_func_start sub_0202D358 +sub_0202D358: ; 0x0202D358 + ldr r0, _0202D364 ; =0x021C59D8 + ldr r1, [r0, #0x4] + ldr r0, _0202D368 ; =0x00001342 + ldrb r0, [r1, r0] + bx lr + nop +_0202D364: .word 0x021C59D8 +_0202D368: .word 0x00001342 + + thumb_func_start sub_0202D36C +sub_0202D36C: ; 0x0202D36C + ldr r1, _0202D378 ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D37C ; =0x00001343 + strb r0, [r2, r1] + bx lr + nop +_0202D378: .word 0x021C59D8 +_0202D37C: .word 0x00001343 + + thumb_func_start sub_0202D380 +sub_0202D380: ; 0x0202D380 + ldr r1, _0202D38C ; =0x021C59D8 + ldr r2, [r1, #0x4] + ldr r1, _0202D390 ; =0x00001335 + strb r0, [r2, r1] + bx lr + nop +_0202D38C: .word 0x021C59D8 +_0202D390: .word 0x00001335 + + thumb_func_start sub_0202D394 +sub_0202D394: ; 0x0202D394 + str r1, [r0, #0x0] + strh r2, [r0, #0xa] + mov r1, #0x0 + strh r1, [r0, #0x4] + strh r1, [r0, #0x6] + strh r1, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_0202D3A4 +sub_0202D3A4: ; 0x0202D3A4 + push {r3-r7, lr} + str r2, [sp, #0x0] + add r5, r0, #0x0 + add r7, r1, #0x0 + bl sub_0202D498 + ldr r1, [sp, #0x0] + cmp r0, r1 + bgt _0202D3BC + bl sub_02031454 + pop {r3-r7, pc} +_0202D3BC: + mov r0, #0x8 + ldrsh r4, [r5, r0] + ldrsh r1, [r5, r0] + ldr r0, [sp, #0x0] + mov r6, #0x0 + add r0, r1, r0 + cmp r4, r0 + bge _0202D3F2 +_0202D3CC: + cmp r7, #0x0 + bne _0202D3D4 + bl sub_02020C2C +_0202D3D4: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202D4A8 + ldrb r2, [r7, r6] + ldr r1, [r5, #0x0] + add r4, r4, #0x1 + strb r2, [r1, r0] + mov r0, #0x8 + ldrsh r1, [r5, r0] + ldr r0, [sp, #0x0] + add r6, r6, #0x1 + add r0, r1, r0 + cmp r4, r0 + blt _0202D3CC +_0202D3F2: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202D4A8 + strh r0, [r5, #0x8] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202D400 +sub_0202D400: ; 0x0202D400 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0202D42C + mov r1, #0x4 + add r4, r0, #0x0 + ldrsh r1, [r5, r1] + add r0, r5, #0x0 + add r1, r1, r4 + bl sub_0202D4A8 + strh r0, [r5, #0x4] + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0202D41C +sub_0202D41C: ; 0x0202D41C + push {r3, lr} + add r1, sp, #0x0 + mov r2, #0x1 + bl sub_0202D400 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0202D42C +sub_0202D42C: ; 0x0202D42C + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x4 + ldrsh r4, [r5, r0] + add r7, r2, #0x0 + str r1, [sp, #0x0] + add r0, r4, r7 + mov r6, #0x0 + cmp r4, r0 + bge _0202D472 +_0202D440: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202D4A8 + mov r1, #0x6 + ldrsh r1, [r5, r1] + cmp r1, r0 + bne _0202D454 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0202D454: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202D4A8 + ldr r1, [r5, #0x0] + add r4, r4, #0x1 + ldrb r1, [r1, r0] + ldr r0, [sp, #0x0] + strb r1, [r0, r6] + mov r0, #0x4 + ldrsh r0, [r5, r0] + add r6, r6, #0x1 + add r0, r0, r7 + cmp r4, r0 + blt _0202D440 +_0202D472: + add r0, r6, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202D478 +sub_0202D478: ; 0x0202D478 + mov r1, #0x4 + mov r3, #0x6 + ldrsh r1, [r0, r1] + ldrsh r2, [r0, r3] + cmp r1, r2 + ble _0202D490 + mov r2, #0xa + ldrsh r2, [r0, r2] + ldrsh r0, [r0, r3] + add r0, r2, r0 + sub r0, r0, r1 + bx lr +_0202D490: + ldrsh r0, [r0, r3] + sub r0, r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_0202D498 +sub_0202D498: ; 0x0202D498 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0202D478 + mov r1, #0xa + ldrsh r1, [r4, r1] + sub r0, r1, r0 + pop {r4, pc} + + thumb_func_start sub_0202D4A8 +sub_0202D4A8: ; 0x0202D4A8 + push {r3, lr} + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0xa + ldrsh r1, [r2, r1] + blx sub_020EBC80 + add r0, r1, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202D4BC +sub_0202D4BC: ; 0x0202D4BC + mov r1, #0x8 + ldrsh r1, [r0, r1] + strh r1, [r0, #0x6] + bx lr + + thumb_func_start sub_0202D4C4 +sub_0202D4C4: ; 0x0202D4C4 + ldr r3, [r0, #0x1c] + mov r2, #0x0 + ldr r1, [r0, #0x18] + cmp r3, #0x0 + ble _0202D4E0 +_0202D4CE: + ldrb r0, [r1, #0xe] + cmp r0, #0x0 + bne _0202D4D8 + add r0, r1, #0x0 + bx lr +_0202D4D8: + add r2, r2, #0x1 + add r1, #0x10 + cmp r2, r3 + blt _0202D4CE +_0202D4E0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202D4E4 +sub_0202D4E4: ; 0x0202D4E4 + ldr r3, [r0, #0x1c] + mov r2, #0x0 + ldr r1, [r0, #0x18] + cmp r3, #0x0 + ble _0202D500 +_0202D4EE: + ldrb r0, [r1, #0xe] + cmp r0, #0x0 + beq _0202D4F8 + mov r0, #0x0 + bx lr +_0202D4F8: + add r2, r2, #0x1 + add r1, #0x10 + cmp r2, r3 + blt _0202D4EE +_0202D500: + mov r0, #0x1 + bx lr + + thumb_func_start sub_0202D504 +sub_0202D504: ; 0x0202D504 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202D522 + ldr r1, [r1, #0x8] + cmp r1, #0x0 + beq _0202D518 + str r1, [r0, #0x0] + mov r0, #0x0 + str r0, [r1, #0x4] + b _0202D51E +_0202D518: + mov r1, #0x0 + str r1, [r0, #0x0] + str r1, [r0, #0x4] +_0202D51E: + mov r0, #0x1 + bx lr +_0202D522: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202D528 +sub_0202D528: ; 0x0202D528 + ldr r2, [r0, #0x0] + strb r1, [r2, #0x0] + ldr r1, [r0, #0x0] + add r1, r1, #0x1 + str r1, [r0, #0x0] + ldr r1, [r0, #0x4] + sub r1, r1, #0x1 + str r1, [r0, #0x4] + bne _0202D53E + mov r0, #0x1 + bx lr +_0202D53E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0202D544 +sub_0202D544: ; 0x0202D544 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0xe] + add r4, r1, #0x0 + bl sub_0202D9A0 + add r6, r0, #0x0 + ldr r0, _0202D5B8 ; =0x0000FFFF + cmp r6, r0 + ldr r0, [r4, #0x4] + bne _0202D56A + cmp r0, #0x3 + bge _0202D57A + ldrb r1, [r5, #0xf] + mov r0, #0x1 + bic r1, r0 + strb r1, [r5, #0xf] + mov r0, #0x1 + pop {r4-r6, pc} +_0202D56A: + cmp r0, #0x1 + bge _0202D57A + ldrb r1, [r5, #0xf] + mov r0, #0x1 + bic r1, r0 + strb r1, [r5, #0xf] + mov r0, #0x1 + pop {r4-r6, pc} +_0202D57A: + ldrb r1, [r5, #0xe] + add r0, r4, #0x0 + bl sub_0202D528 + ldr r0, _0202D5B8 ; =0x0000FFFF + cmp r6, r0 + bne _0202D5A4 + ldrh r1, [r5, #0xc] + add r0, r4, #0x0 + asr r1, r1, #0x8 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0202D528 + ldrh r1, [r5, #0xc] + add r0, r4, #0x0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0202D528 + b _0202D5A6 +_0202D5A4: + strh r6, [r5, #0xc] +_0202D5A6: + ldrb r1, [r5, #0xf] + mov r0, #0x1 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strb r0, [r5, #0xf] + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0202D5B8: .word 0x0000FFFF + + thumb_func_start sub_0202D5BC +sub_0202D5BC: ; 0x0202D5BC + push {r3-r7, lr} + add r5, r0, #0x0 + ldrb r0, [r5, #0xe] + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0202D9A0 + ldr r1, _0202D680 ; =0x0000FFFF + cmp r0, r1 + bne _0202D5D6 + mov r2, #0x3 + b _0202D5D8 +_0202D5D6: + mov r2, #0x1 +_0202D5D8: + ldrh r0, [r5, #0xc] + ldr r1, [r4, #0x4] + add r0, r0, r2 + cmp r1, r0 + bge _0202D5EA + cmp r7, #0x0 + bne _0202D5EA + mov r0, #0x0 + pop {r3-r7, pc} +_0202D5EA: + ldrb r0, [r5, #0xf] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + cmp r0, #0x1 + beq _0202D604 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202D544 + cmp r0, #0x0 + beq _0202D604 + mov r0, #0x0 + pop {r3-r7, pc} +_0202D604: + ldrh r3, [r5, #0xc] + ldr r2, [r4, #0x4] + cmp r2, r3 + ldrb r0, [r5, #0xf] + bge _0202D64E + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _0202D61E + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + bl sub_0202D400 + b _0202D634 +_0202D61E: + mov r3, #0x0 + cmp r2, #0x0 + ble _0202D634 +_0202D624: + ldr r0, [r5, #0x0] + ldrb r1, [r0, r3] + ldr r0, [r4, #0x0] + strb r1, [r0, r3] + ldr r0, [r4, #0x4] + add r3, r3, #0x1 + cmp r3, r0 + blt _0202D624 +_0202D634: + ldr r1, [r5, #0x0] + ldr r0, [r4, #0x4] + add r0, r1, r0 + str r0, [r5, #0x0] + ldrh r1, [r5, #0xc] + ldr r0, [r4, #0x4] + sub r0, r1, r0 + strh r0, [r5, #0xc] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x4] + mov r0, #0x1 + pop {r3-r7, pc} +_0202D64E: + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + beq _0202D660 + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + add r2, r3, #0x0 + bl sub_0202D400 + b _0202D66A +_0202D660: + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + add r2, r3, #0x0 + blx sub_020CE3E0 +_0202D66A: + ldrh r0, [r5, #0xc] + ldr r1, [r4, #0x0] + add r0, r1, r0 + str r0, [r4, #0x0] + ldrh r0, [r5, #0xc] + ldr r1, [r4, #0x4] + sub r0, r1, r0 + str r0, [r4, #0x4] + mov r0, #0x1 + pop {r3-r7, pc} + nop +_0202D680: .word 0x0000FFFF + + thumb_func_start sub_0202D684 +sub_0202D684: ; 0x0202D684 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r7, r3, #0x0 + bl sub_0202D4C4 + add r4, r0, #0x0 + bne _0202D69E + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0202D69E: + ldr r0, _0202D710 ; =0x0000FFFE + cmp r7, r0 + blt _0202D6A8 + bl sub_02020C2C +_0202D6A8: + ldr r0, [sp, #0x0] + bl sub_0202D9A0 + add r6, r0, #0x0 + ldr r0, _0202D714 ; =0x0000FFFF + cmp r6, r0 + bne _0202D6B8 + add r6, r7, #0x0 +_0202D6B8: + ldr r0, [sp, #0x24] + cmp r0, #0x0 + beq _0202D6EA + ldr r0, [r5, #0x14] + bl sub_0202D498 + add r1, r6, #0x3 + cmp r1, r0 + blt _0202D6D0 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0202D6D0: + ldr r0, [r5, #0x14] + ldr r1, [sp, #0x4] + ldr r3, _0202D718 ; =0x00000109 + add r2, r6, #0x0 + bl sub_0202D3A4 + ldr r0, [r5, #0x14] + bl sub_0202D4BC + ldrb r1, [r4, #0xf] + mov r0, #0x2 + orr r0, r1 + strb r0, [r4, #0xf] +_0202D6EA: + ldr r0, [sp, #0x0] + strh r6, [r4, #0xc] + strb r0, [r4, #0xe] + ldr r0, [sp, #0x4] + str r0, [r4, #0x0] + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _0202D700 + str r4, [r5, #0x4] + str r4, [r5, #0x0] + b _0202D708 +_0202D700: + str r4, [r0, #0x8] + ldr r0, [r5, #0x4] + str r0, [r4, #0x4] + str r4, [r5, #0x4] +_0202D708: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0202D710: .word 0x0000FFFE +_0202D714: .word 0x0000FFFF +_0202D718: .word 0x00000109 + + thumb_func_start sub_0202D71C +sub_0202D71C: ; 0x0202D71C + ldr r1, [r0, #0x10] + cmp r1, #0x0 + beq _0202D726 + add r0, r1, #0x0 + bx lr +_0202D726: + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202D730 + add r0, r1, #0x0 + bx lr +_0202D730: + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0202D738 + mov r0, #0x0 +_0202D738: + bx lr + .balign 4 + + thumb_func_start sub_0202D73C +sub_0202D73C: ; 0x0202D73C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x10] + cmp r1, #0x0 + beq _0202D74C + mov r0, #0x0 + str r0, [r4, #0x10] + pop {r4, pc} +_0202D74C: + bl sub_0202D504 + cmp r0, #0x0 + bne _0202D75C + add r4, #0x8 + add r0, r4, #0x0 + bl sub_0202D504 +_0202D75C: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202D760 +sub_0202D760: ; 0x0202D760 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x4] + mov r7, #0x1 + str r2, [sp, #0x0] + cmp r0, #0x0 + ble _0202D7B6 +_0202D770: + add r0, r5, #0x0 + bl sub_0202D71C + add r6, r0, #0x0 + beq _0202D7B6 + add r0, r5, #0x0 + bl sub_0202D73C + ldr r2, [r5, #0x14] + add r0, r6, #0x0 + add r1, r4, #0x0 + add r3, r7, #0x0 + bl sub_0202D5BC + cmp r0, #0x0 + bne _0202D794 + str r6, [r5, #0x10] + b _0202D7B6 +_0202D794: + mov r0, #0x0 + ldr r1, [r4, #0x4] + mvn r0, r0 + cmp r1, r0 + bne _0202D7A4 + str r6, [r5, #0x10] + mov r0, #0x0 + pop {r3-r7, pc} +_0202D7A4: + add r0, r6, #0x0 + mov r1, #0x0 + mov r2, #0x10 + blx sub_020CE34C + ldr r0, [r4, #0x4] + ldr r7, [sp, #0x0] + cmp r0, #0x0 + bgt _0202D770 +_0202D7B6: + ldr r0, [r4, #0x4] + mov r2, #0x0 + cmp r0, #0x0 + ble _0202D7D2 + mov r1, #0xee +_0202D7C0: + ldr r0, [r4, #0x0] + add r2, r2, #0x1 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + ldr r0, [r4, #0x4] + cmp r2, r0 + blt _0202D7C0 +_0202D7D2: + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202D7D8 +sub_0202D7D8: ; 0x0202D7D8 + push {r3-r7, lr} + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r1, #0x0 + mov r2, #0x20 + add r5, r0, #0x0 + blx sub_020CE34C + lsl r7, r4, #0x4 + mov r0, #0xf + add r1, r7, #0x0 + bl sub_02016998 + mov r1, #0x0 + add r2, r7, #0x0 + str r0, [r5, #0x18] + blx sub_020CE34C + str r4, [r5, #0x1c] + str r6, [r5, #0x14] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0202D804 +sub_0202D804: ; 0x0202D804 + push {r4, lr} + add r4, r0, #0x0 + ldr r2, [r4, #0x1c] + ldr r0, [r4, #0x18] + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020CE34C + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0x4] + str r0, [r4, #0x8] + str r0, [r4, #0xc] + str r0, [r4, #0x10] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202D824 +sub_0202D824: ; 0x0202D824 + ldr r3, _0202D82C ; =sub_02016A18 + ldr r0, [r0, #0x18] + bx r3 + nop +_0202D82C: .word sub_02016A18 + 1 + + thumb_func_start sub_0202D830 +sub_0202D830: ; 0x0202D830 + push {r3-r4} + ldr r4, [r0, #0x1c] + mov r2, #0x0 + ldr r3, [r0, #0x18] + cmp r4, #0x0 + ble _0202D850 +_0202D83C: + ldrb r0, [r3, #0xe] + cmp r0, r1 + bne _0202D848 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0202D848: + add r2, r2, #0x1 + add r3, #0x10 + cmp r2, r4 + blt _0202D83C +_0202D850: + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0202D858 +sub_0202D858: ; 0x0202D858 + push {r3-r4, lr} + sub sp, #0x1c + ldr r3, _0202D880 ; =0x020EEB04 + add r4, r0, #0x0 + add r2, sp, #0x0 + mov r1, #0x1a +_0202D864: + ldrb r0, [r3, #0x0] + add r3, r3, #0x1 + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0202D864 + cmp r4, #0x1a + blo _0202D878 + bl sub_02020C2C +_0202D878: + add r0, sp, #0x0 + ldrb r0, [r0, r4] + add sp, #0x1c + pop {r3-r4, pc} + .balign 4 +_0202D880: .word 0x020EEB04 + + thumb_func_start sub_0202D884 +sub_0202D884: ; 0x0202D884 + push {r3-r4, lr} + sub sp, #0x1c + ldr r3, _0202D8AC ; =0x020EEB1E + add r4, r0, #0x0 + add r2, sp, #0x0 + mov r1, #0x1a +_0202D890: + ldrb r0, [r3, #0x0] + add r3, r3, #0x1 + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0202D890 + cmp r4, #0x1a + blo _0202D8A4 + bl sub_02020C2C +_0202D8A4: + add r0, sp, #0x0 + ldrb r0, [r0, r4] + add sp, #0x1c + pop {r3-r4, pc} + .balign 4 +_0202D8AC: .word 0x020EEB1E + + thumb_func_start sub_0202D8B0 +sub_0202D8B0: ; 0x0202D8B0 + cmp r0, #0xd + bgt _0202D8C4 + cmp r0, #0x7 + blt _0202D8CC + beq _0202D8C8 + cmp r0, #0x9 + beq _0202D8C8 + cmp r0, #0xd + beq _0202D8C8 + b _0202D8CC +_0202D8C4: + cmp r0, #0x12 + bne _0202D8CC +_0202D8C8: + mov r0, #0x1 + bx lr +_0202D8CC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202D8D0 +sub_0202D8D0: ; 0x0202D8D0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0202D914 ; =0x021C59E0 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + cmp r0, #0x0 + bne _0202D8EC + mov r0, #0xf + mov r1, #0x18 + bl sub_02016998 + ldr r1, _0202D914 ; =0x021C59E0 + str r0, [r1, #0x0] +_0202D8EC: + ldr r0, _0202D914 ; =0x021C59E0 + mov r3, #0x0 + ldr r1, [r0, #0x0] + add r2, r3, #0x0 + str r5, [r1, #0x0] + ldr r1, [r0, #0x0] + str r4, [r1, #0x4] + ldr r1, [r0, #0x0] + str r6, [r1, #0x8] +_0202D8FE: + ldr r1, [r0, #0x0] + add r1, r1, r3 + add r3, r3, #0x1 + strb r2, [r1, #0xc] + cmp r3, #0x8 + blt _0202D8FE + ldr r0, _0202D914 ; =0x021C59E0 + ldr r0, [r0, #0x0] + strb r2, [r0, #0x14] + pop {r4-r6, pc} + nop +_0202D914: .word 0x021C59E0 + + thumb_func_start sub_0202D918 +sub_0202D918: ; 0x0202D918 + push {r3, lr} + ldr r0, _0202D930 ; =0x021C59E0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202D92C + bl sub_02016A18 + ldr r0, _0202D930 ; =0x021C59E0 + mov r1, #0x0 + str r1, [r0, #0x0] +_0202D92C: + pop {r3, pc} + nop +_0202D930: .word 0x021C59E0 + + thumb_func_start sub_0202D934 +sub_0202D934: ; 0x0202D934 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x16 + bge _0202D94C + mov r0, #0xc + mul r1, r0 + ldr r0, _0202D998 ; =0x020EEB38 + ldr r4, [r0, r1] + b _0202D974 +_0202D94C: + ldr r0, _0202D99C ; =0x021C59E0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0202D958 + bl sub_02020C2C +_0202D958: + ldr r0, _0202D99C ; =0x021C59E0 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x4] + add r0, #0x16 + cmp r4, r0 + ble _0202D96A + bl sub_02031454 + pop {r3-r7, pc} +_0202D96A: + ldr r1, [r1, #0x0] + sub r4, #0x16 + mov r0, #0xc + mul r0, r4 + ldr r4, [r1, r0] +_0202D974: + cmp r4, #0x0 + beq _0202D996 + ldr r0, _0202D99C ; =0x021C59E0 + ldr r3, [r0, #0x0] + cmp r3, #0x0 + beq _0202D98C + ldr r3, [r3, #0x8] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + blx r4 + pop {r3-r7, pc} +_0202D98C: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x0 + blx r4 +_0202D996: + pop {r3-r7, pc} + .balign 4 +_0202D998: .word 0x020EEB38 +_0202D99C: .word 0x021C59E0 + + thumb_func_start sub_0202D9A0 +sub_0202D9A0: ; 0x0202D9A0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x16 + bge _0202D9B6 + mov r0, #0xc + add r1, r5, #0x0 + mul r1, r0 + ldr r0, _0202D9FC ; =0x020EEB3C + ldr r0, [r0, r1] + b _0202D9EE +_0202D9B6: + ldr r0, _0202DA00 ; =0x021C59E0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0202D9C2 + bl sub_02020C2C +_0202D9C2: + ldr r0, _0202DA00 ; =0x021C59E0 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _0202D9D2 + bl sub_02031454 + mov r0, #0x0 + pop {r3-r5, pc} +_0202D9D2: + ldr r0, [r1, #0x4] + add r0, #0x16 + cmp r5, r0 + ble _0202D9E2 + bl sub_02031454 + mov r0, #0x0 + pop {r3-r5, pc} +_0202D9E2: + ldr r1, [r1, #0x0] + sub r5, #0x16 + mov r0, #0xc + mul r0, r5 + add r0, r1, r0 + ldr r0, [r0, #0x4] +_0202D9EE: + cmp r0, #0x0 + beq _0202D9F6 + blx r0 + add r4, r0, #0x0 +_0202D9F6: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_0202D9FC: .word 0x020EEB3C +_0202DA00: .word 0x021C59E0 + + thumb_func_start sub_0202DA04 +sub_0202DA04: ; 0x0202DA04 + cmp r0, #0x16 + bge _0202DA1C + mov r1, #0xc + mul r1, r0 + ldr r0, _0202DA38 ; =0x020EEB40 + ldr r0, [r0, r1] + cmp r0, #0x0 + beq _0202DA18 + mov r0, #0x1 + bx lr +_0202DA18: + mov r0, #0x0 + bx lr +_0202DA1C: + ldr r1, _0202DA3C ; =0x021C59E0 + sub r0, #0x16 + ldr r1, [r1, #0x0] + ldr r2, [r1, #0x0] + mov r1, #0xc + mul r1, r0 + add r0, r2, r1 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202DA34 + mov r0, #0x1 + bx lr +_0202DA34: + mov r0, #0x0 + bx lr + .balign 4 +_0202DA38: .word 0x020EEB40 +_0202DA3C: .word 0x021C59E0 + + thumb_func_start sub_0202DA40 +sub_0202DA40: ; 0x0202DA40 + push {r3-r5, lr} + add r3, r0, #0x0 + cmp r3, #0x16 + bge _0202DA58 + mov r4, #0xc + mul r4, r3 + ldr r3, _0202DA70 ; =0x020EEB40 + add r0, r1, #0x0 + ldr r3, [r3, r4] + mov r1, #0x0 + blx r3 + pop {r3-r5, pc} +_0202DA58: + ldr r0, _0202DA74 ; =0x021C59E0 + sub r3, #0x16 + ldr r4, [r0, #0x0] + add r0, r1, #0x0 + ldr r1, [r4, #0x8] + ldr r5, [r4, #0x0] + mov r4, #0xc + mul r4, r3 + add r3, r5, r4 + ldr r3, [r3, #0x8] + blx r3 + pop {r3-r5, pc} + .balign 4 +_0202DA70: .word 0x020EEB40 +_0202DA74: .word 0x021C59E0 + + thumb_func_start sub_0202DA78 +sub_0202DA78: ; 0x0202DA78 + ldr r0, _0202DA7C ; =0x0000FFFF + bx lr + .balign 4 +_0202DA7C: .word 0x0000FFFF + + thumb_func_start sub_0202DA80 +sub_0202DA80: ; 0x0202DA80 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0202DA84 +sub_0202DA84: ; 0x0202DA84 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0202DA88 +sub_0202DA88: ; 0x0202DA88 + mov r0, #0x2 + bx lr + + thumb_func_start sub_0202DA8C +sub_0202DA8C: ; 0x0202DA8C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _0202DACA + ldr r4, _0202DACC ; =0x021C59E0 + mov r1, #0x1 + ldr r0, [r4, #0x0] + add r0, r0, r5 + strb r1, [r0, #0xc] + mov r5, #0x0 +_0202DAA4: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202DABA + ldr r0, [r4, #0x0] + add r0, r0, r5 + ldrb r0, [r0, #0xc] + cmp r0, #0x0 + beq _0202DACA +_0202DABA: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0202DAA4 + mov r1, #0x0 + mov r0, #0xe + add r2, r1, #0x0 + bl sub_02030BC4 +_0202DACA: + pop {r3-r5, pc} + .balign 4 +_0202DACC: .word 0x021C59E0 + + thumb_func_start sub_0202DAD0 +sub_0202DAD0: ; 0x0202DAD0 + ldr r0, _0202DAF0 ; =0x021C59E0 + mov r3, #0x0 + ldr r1, [r0, #0x0] + str r3, [r1, #0x0] + ldr r1, [r0, #0x0] + str r3, [r1, #0x4] + ldr r1, [r0, #0x0] + str r3, [r1, #0x8] + ldr r0, [r0, #0x0] + mov r1, #0x1 + strb r1, [r0, #0x14] + ldr r3, _0202DAF4 ; =sub_020311D0 + mov r0, #0xf + add r1, r2, #0x0 + bx r3 + nop +_0202DAF0: .word 0x021C59E0 +_0202DAF4: .word sub_020311D0 + 1 + + thumb_func_start sub_0202DAF8 +sub_0202DAF8: ; 0x0202DAF8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _0202DB0E + ldr r0, _0202DB10 ; =0x021C59E0 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + strb r1, [r0, #0xc] +_0202DB0E: + pop {r4, pc} + .balign 4 +_0202DB10: .word 0x021C59E0 + + thumb_func_start sub_0202DB14 +sub_0202DB14: ; 0x0202DB14 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + str r1, [sp, #0x4] + bl sub_020238F4 + str r0, [sp, #0x8] + ldr r0, _0202DBA0 ; =0x021C59E4 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0202DB9A + mov r1, #0xe9 + mov r0, #0xf + lsl r1, r1, #0x2 + bl sub_02016998 + ldr r1, _0202DBA0 ; =0x021C59E4 + mov r2, #0xe9 + str r0, [r1, #0x0] + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE34C + mov r6, #0x0 + ldr r7, _0202DBA0 ; =0x021C59E4 + add r4, r6, #0x0 + add r5, r6, #0x0 +_0202DB4A: + ldr r1, [r7, #0x0] + add r0, r1, #0x0 + add r0, #0x28 + add r2, r0, r4 + mov r0, #0xd2 + add r1, r1, r5 + lsl r0, r0, #0x2 + str r2, [r1, r0] + add r0, r6, #0x0 + bl sub_0202DE78 + add r6, r6, #0x1 + add r4, #0x68 + add r5, r5, #0x4 + cmp r6, #0x8 + blt _0202DB4A + ldr r2, _0202DBA0 ; =0x021C59E4 + mov r1, #0x3a + ldr r3, [r2, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x4 + strb r0, [r3, r1] + ldr r4, [r2, #0x0] + add r3, r1, #0x1 + strb r0, [r4, r3] + add r3, r1, #0x2 + ldr r4, [r2, #0x0] + sub r1, #0x58 + strb r0, [r4, r3] + ldr r3, [r2, #0x0] + ldr r0, [sp, #0x0] + str r0, [r3, #0x4] + ldr r3, [r2, #0x0] + ldr r0, [sp, #0x4] + str r0, [r3, #0x0] + ldr r2, [r2, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r2, r1] + bl sub_0202393C +_0202DB9A: + add sp, #0xc + pop {r4-r7, pc} + nop +_0202DBA0: .word 0x021C59E4 + + thumb_func_start sub_0202DBA4 +sub_0202DBA4: ; 0x0202DBA4 + push {r3-r5, lr} + ldr r1, _0202DBDC ; =0x021C59E4 + ldr r0, [r1, #0x0] + cmp r0, #0x0 + beq _0202DBD8 + mov r4, #0x0 + mov r0, #0xd2 + add r5, r4, #0x0 + add r3, r4, #0x0 + lsl r0, r0, #0x2 +_0202DBB8: + ldr r2, [r1, #0x0] + add r4, r4, #0x1 + add r2, r2, r5 + add r5, r5, #0x4 + str r3, [r2, r0] + cmp r4, #0x8 + blt _0202DBB8 + ldr r0, _0202DBDC ; =0x021C59E4 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202DBD2 + bl sub_02016A18 +_0202DBD2: + ldr r0, _0202DBDC ; =0x021C59E4 + mov r1, #0x0 + str r1, [r0, #0x0] +_0202DBD8: + pop {r3-r5, pc} + nop +_0202DBDC: .word 0x021C59E4 + + thumb_func_start sub_0202DBE0 +sub_0202DBE0: ; 0x0202DBE0 + push {r3-r7, lr} + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_0202881C + add r7, r0, #0x0 + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_020286EC + str r0, [sp, #0x0] + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_02029AFC + add r6, r0, #0x0 + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_020238F4 + ldr r1, _0202DCD8 ; =0x021C59E4 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + add r2, r2, r1 + mov r1, #0xd2 + lsl r1, r1, #0x2 + ldr r1, [r2, r1] + bl sub_0202393C + mov r0, #0x68 + add r5, r4, #0x0 + mul r5, r0 + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r0, [r0, #0x0] + add r0, #0x64 + add r0, r0, r5 + blx sub_020CD5A0 + add r0, r7, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl sub_020287A8 + ldr r1, _0202DCD8 ; =0x021C59E4 + mov r2, #0x10 + ldr r1, [r1, #0x0] + add r1, #0x54 + add r1, r1, r5 + blx sub_020CE3E0 + add r0, r6, #0x0 + bl sub_02029B38 + ldr r1, _0202DCD8 ; =0x021C59E4 + ldr r1, [r1, #0x0] + add r1, r1, r5 + add r1, #0x6b + strb r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_02029B3C + ldr r2, _0202DCD8 ; =0x021C59E4 + ldr r1, [r2, #0x0] + add r1, r1, r5 + add r1, #0x6c + strb r0, [r1, #0x0] + ldr r0, [r2, #0x0] + ldr r0, [r0, #0x4] + bl sub_02025C18 + ldr r2, _0202DCD8 ; =0x021C59E4 + ldr r1, [r2, #0x0] + add r1, r1, r5 + add r1, #0x6d + strb r0, [r1, #0x0] + ldr r2, [r2, #0x0] + mov r0, #0x1 + add r2, #0x6d + ldrb r1, [r2, r5] + sub r0, r0, r1 + strb r0, [r2, r5] + ldr r0, [sp, #0x0] + bl sub_02028228 + ldr r1, _0202DCD8 ; =0x021C59E4 + ldr r1, [r1, #0x0] + add r1, #0x48 + add r1, r1, r5 + blx sub_02096CCC + ldr r0, _0202DCD8 ; =0x021C59E4 + mov r1, #0x0 + ldr r0, [r0, #0x0] + mov r2, #0x20 + add r0, #0x8 + add r0, r0, r5 + blx sub_020CE34C + ldr r0, _0202DCD8 ; =0x021C59E4 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x0] + cmp r0, #0x0 + beq _0202DCC4 + add r1, #0x8 + add r1, r1, r5 + bl sub_02023ACC +_0202DCC4: + ldr r1, _0202DCD8 ; =0x021C59E4 + mov r0, #0x3 + ldr r1, [r1, #0x0] + mov r2, #0x68 + add r1, #0x8 + add r1, r1, r5 + bl sub_02030ADC + pop {r3-r7, pc} + nop +_0202DCD8: .word 0x021C59E4 + + thumb_func_start sub_0202DCDC +sub_0202DCDC: ; 0x0202DCDC + mov r0, #0x68 + bx lr + + thumb_func_start sub_0202DCE0 +sub_0202DCE0: ; 0x0202DCE0 + ldr r0, _0202DCF4 ; =0x021C59E4 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _0202DCF0 + mov r0, #0x3a + mov r1, #0x1 + lsl r0, r0, #0x4 + strb r1, [r2, r0] +_0202DCF0: + bx lr + nop +_0202DCF4: .word 0x021C59E4 + + thumb_func_start sub_0202DCF8 +sub_0202DCF8: ; 0x0202DCF8 + ldr r0, _0202DD04 ; =0x021C59E4 + ldr r1, [r0, #0x0] + mov r0, #0x3a + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0202DD04: .word 0x021C59E4 + + thumb_func_start sub_0202DD08 +sub_0202DD08: ; 0x0202DD08 + push {r3-r5, lr} + ldr r1, _0202DD78 ; =0x021C59E4 + add r4, r2, #0x0 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0202DD74 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202DD74 + ldr r1, _0202DD78 ; =0x021C59E4 + mov r2, #0x68 + ldr r5, [r1, #0x0] + add r1, r4, #0x0 + add r1, #0x62 + ldrb r1, [r1, #0x0] + add r5, #0x8 + add r0, r4, #0x0 + add r3, r1, #0x0 + mul r3, r2 + add r1, r5, r3 + blx sub_020CE3E0 + add r4, #0x62 + ldr r2, _0202DD78 ; =0x021C59E4 + ldrb r3, [r4, #0x0] + ldr r0, [r2, #0x0] + ldr r1, _0202DD7C ; =0x000003A2 + strb r3, [r0, r1] + add r0, r1, #0x0 + ldr r3, [r2, #0x0] + sub r0, #0xa + add r4, r3, r0 + ldrb r3, [r3, r1] + ldrb r0, [r4, r3] + cmp r0, #0x2 + bhs _0202DD74 + mov r0, #0x1 + strb r0, [r4, r3] + ldr r0, [r2, #0x0] + ldrb r4, [r0, r1] + bl sub_02031190 + cmp r4, r0 + bne _0202DD74 + ldr r0, _0202DD78 ; =0x021C59E4 + mov r2, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] +_0202DD74: + pop {r3-r5, pc} + nop +_0202DD78: .word 0x021C59E4 +_0202DD7C: .word 0x000003A2 + + thumb_func_start sub_0202DD80 +sub_0202DD80: ; 0x0202DD80 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0202DDE0 ; =0x021C59E4 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0202DDDC + mov r3, #0x68 + add r4, r5, #0x0 + add r0, r2, #0x0 + mul r4, r3 + add r1, #0x8 + add r1, r1, r4 + add r2, r3, #0x0 + blx sub_020CE3E0 + ldr r0, _0202DDE0 ; =0x021C59E4 + add r1, r5, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x64 + add r0, r0, r4 + bl sub_0202EFAC + ldr r0, _0202DDE0 ; =0x021C59E4 + mov r2, #0x1 + ldr r0, [r0, #0x0] + add r1, r0, r5 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + bl sub_02031190 + cmp r5, r0 + bne _0202DDD2 + ldr r0, _0202DDE0 ; =0x021C59E4 + mov r2, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r5 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r3-r5, pc} +_0202DDD2: + ldr r0, _0202DDE0 ; =0x021C59E4 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0202DDE4 ; =0x000003A1 + strb r2, [r1, r0] +_0202DDDC: + pop {r3-r5, pc} + nop +_0202DDE0: .word 0x021C59E4 +_0202DDE4: .word 0x000003A1 + + thumb_func_start sub_0202DDE8 +sub_0202DDE8: ; 0x0202DDE8 + push {r3-r7, lr} + ldr r0, _0202DE70 ; =0x021C59E4 + ldr r1, [r0, #0x0] + ldr r0, _0202DE74 ; =0x000003A1 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0202DDFA + mov r0, #0x0 + pop {r3-r7, pc} +_0202DDFA: + mov r0, #0x5 + bl sub_02031354 + cmp r0, #0x0 + bne _0202DE6C + mov r4, #0x0 + add r5, r4, #0x0 + add r7, r4, #0x0 +_0202DE0A: + ldr r0, _0202DE70 ; =0x021C59E4 + ldr r2, [r0, #0x0] + mov r0, #0xe6 + add r1, r2, r4 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202DE4A + add r0, r2, r5 + add r0, #0x6a + strb r4, [r0, #0x0] + ldr r0, _0202DE70 ; =0x021C59E4 + ldr r6, [r0, #0x0] + bl sub_02023924 + add r2, r0, #0x0 + mov r0, #0xd2 + add r1, r6, r7 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add r6, #0x28 + add r1, r6, r5 + blx sub_020CE3E0 + ldr r1, _0202DE70 ; =0x021C59E4 + mov r0, #0x4 + ldr r1, [r1, #0x0] + mov r2, #0x68 + add r1, #0x8 + add r1, r1, r5 + bl sub_02031000 +_0202DE4A: + add r4, r4, #0x1 + add r5, #0x68 + add r7, r7, #0x4 + cmp r4, #0x8 + blt _0202DE0A + mov r1, #0x0 + mov r0, #0x5 + add r2, r1, #0x0 + bl sub_02031000 + ldr r0, _0202DE70 ; =0x021C59E4 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0202DE74 ; =0x000003A1 + strb r2, [r1, r0] + mov r0, #0x1 + pop {r3-r7, pc} +_0202DE6C: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0202DE70: .word 0x021C59E4 +_0202DE74: .word 0x000003A1 + + thumb_func_start sub_0202DE78 +sub_0202DE78: ; 0x0202DE78 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0202DEA0 ; =0x021C59E4 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r1, r1, r0 + mov r0, #0xd2 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl sub_02023948 + ldr r0, _0202DEA0 ; =0x021C59E4 + mov r2, #0x0 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r4, pc} + nop +_0202DEA0: .word 0x021C59E4 + + thumb_func_start sub_0202DEA4 +sub_0202DEA4: ; 0x0202DEA4 + ldr r1, _0202DEBC ; =0x021C59E4 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xe6 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _0202DEB8 + mov r0, #0x1 + bx lr +_0202DEB8: + mov r0, #0x0 + bx lr + .balign 4 +_0202DEBC: .word 0x021C59E4 + + thumb_func_start sub_0202DEC0 +sub_0202DEC0: ; 0x0202DEC0 + ldr r1, _0202DEDC ; =0x021C59E4 + mov r2, #0x1 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xe6 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x2 + beq _0202DED8 + cmp r0, #0x1 + beq _0202DED8 + mov r2, #0x0 +_0202DED8: + add r0, r2, #0x0 + bx lr + .balign 4 +_0202DEDC: .word 0x021C59E4 + + thumb_func_start sub_0202DEE0 +sub_0202DEE0: ; 0x0202DEE0 + ldr r1, _0202DEF0 ; =0x021C59E4 + mov r2, #0x2 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + bx lr + .balign 4 +_0202DEF0: .word 0x021C59E4 + + thumb_func_start sub_0202DEF4 +sub_0202DEF4: ; 0x0202DEF4 + ldr r1, _0202DF04 ; =0x021C59E4 + mov r2, #0x3 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xe6 + lsl r0, r0, #0x2 + strb r2, [r1, r0] + bx lr + .balign 4 +_0202DF04: .word 0x021C59E4 + + thumb_func_start sub_0202DF08 +sub_0202DF08: ; 0x0202DF08 + ldr r1, _0202DF24 ; =0x021C59E4 + mov r0, #0x0 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + lsl r1, r1, #0x2 +_0202DF12: + ldrb r2, [r3, r1] + cmp r2, #0x1 + beq _0202DF22 + add r0, r0, #0x1 + add r3, r3, #0x1 + cmp r0, #0x8 + blt _0202DF12 + mov r0, #0xff +_0202DF22: + bx lr + .balign 4 +_0202DF24: .word 0x021C59E4 + + thumb_func_start sub_0202DF28 +sub_0202DF28: ; 0x0202DF28 + push {r3-r4} + ldr r1, _0202DF50 ; =0x021C59E4 + mov r0, #0x0 + ldr r4, [r1, #0x0] + mov r1, #0xe6 + add r3, r0, #0x0 + lsl r1, r1, #0x2 +_0202DF36: + ldrb r2, [r4, r1] + cmp r2, #0x2 + beq _0202DF40 + cmp r2, #0x3 + bne _0202DF42 +_0202DF40: + add r0, r0, #0x1 +_0202DF42: + add r3, r3, #0x1 + add r4, r4, #0x1 + cmp r3, #0x8 + blt _0202DF36 + pop {r3-r4} + bx lr + nop +_0202DF50: .word 0x021C59E4 + + thumb_func_start sub_0202DF54 +sub_0202DF54: ; 0x0202DF54 + push {r4-r6, lr} + ldr r0, _0202DFA0 ; =0x021C59E4 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202DF9C + bl sub_02030F20 + cmp r0, #0x0 + beq _0202DF9C + mov r6, #0xe6 + ldr r4, _0202DFA0 ; =0x021C59E4 + mov r5, #0x0 + lsl r6, r6, #0x2 +_0202DF6E: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202DF96 + cmp r5, #0x0 + bne _0202DF86 + bl sub_02031280 + cmp r0, #0x0 + bne _0202DF96 +_0202DF86: + ldr r0, [r4, #0x0] + add r0, r0, r5 + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _0202DF96 + add r0, r5, #0x0 + bl sub_0202DE78 +_0202DF96: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0202DF6E +_0202DF9C: + pop {r4-r6, pc} + nop +_0202DFA0: .word 0x021C59E4 + + thumb_func_start sub_0202DFA4 +sub_0202DFA4: ; 0x0202DFA4 + ldr r1, _0202DFD4 ; =0x021C59E4 + ldr r3, [r1, #0x0] + cmp r3, #0x0 + bne _0202DFB0 + mov r0, #0x0 + bx lr +_0202DFB0: + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x1 + beq _0202DFC4 + cmp r1, #0x2 + beq _0202DFC4 + cmp r1, #0x3 + bne _0202DFD0 +_0202DFC4: + lsl r0, r0, #0x2 + add r1, r3, r0 + mov r0, #0xd2 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bx lr +_0202DFD0: + mov r0, #0x0 + bx lr + .balign 4 +_0202DFD4: .word 0x021C59E4 + + thumb_func_start sub_0202DFD8 +sub_0202DFD8: ; 0x0202DFD8 + ldr r1, _0202DFF8 ; =0x021C59E4 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202DFF2 + mov r1, #0x68 + add r3, #0x48 + mul r1, r0 + add r0, r3, r1 + bx lr +_0202DFF2: + mov r0, #0x0 + bx lr + nop +_0202DFF8: .word 0x021C59E4 + + thumb_func_start sub_0202DFFC +sub_0202DFFC: ; 0x0202DFFC + ldr r1, _0202E01C ; =0x021C59E4 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E016 + mov r1, #0x68 + add r3, #0x54 + mul r1, r0 + add r0, r3, r1 + bx lr +_0202E016: + mov r0, #0x0 + bx lr + nop +_0202E01C: .word 0x021C59E4 + + thumb_func_start sub_0202E020 +sub_0202E020: ; 0x0202E020 + ldr r1, _0202E040 ; =0x021C59E4 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E03C + mov r1, #0x68 + mul r1, r0 + add r0, r3, r1 + add r0, #0x6b + ldrb r0, [r0, #0x0] + bx lr +_0202E03C: + mov r0, #0x0 + bx lr + .balign 4 +_0202E040: .word 0x021C59E4 + + thumb_func_start sub_0202E044 +sub_0202E044: ; 0x0202E044 + ldr r1, _0202E064 ; =0x021C59E4 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E060 + mov r1, #0x68 + mul r1, r0 + add r0, r3, r1 + add r0, #0x6c + ldrb r0, [r0, #0x0] + bx lr +_0202E060: + mov r0, #0x0 + bx lr + .balign 4 +_0202E064: .word 0x021C59E4 + + thumb_func_start sub_0202E068 +sub_0202E068: ; 0x0202E068 + ldr r1, _0202E088 ; =0x021C59E4 + ldr r3, [r1, #0x0] + mov r1, #0xe6 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E084 + mov r1, #0x68 + mul r1, r0 + add r0, r3, r1 + add r0, #0x6d + ldrb r0, [r0, #0x0] + bx lr +_0202E084: + mov r0, #0x0 + bx lr + .balign 4 +_0202E088: .word 0x021C59E4 + + thumb_func_start sub_0202E08C +sub_0202E08C: ; 0x0202E08C + push {r4-r6, lr} + mov r4, #0x0 + add r5, r4, #0x0 + add r6, r4, #0x0 +_0202E094: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202E0E8 + ldr r0, _0202E0F4 ; =0x021C59E4 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xe6 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202E0E8 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202E0E8 + ldr r0, _0202E0F4 ; =0x021C59E4 + ldr r1, _0202E0F8 ; =0x00000399 + ldr r0, [r0, #0x0] + add r2, r0, r4 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E0E8 + add r1, r6, #0x0 + add r2, r0, r5 +_0202E0D0: + add r3, r2, #0x0 + add r3, #0x70 + ldrb r0, [r2, #0x8] + ldrb r3, [r3, #0x0] + cmp r0, r3 + beq _0202E0E0 + mov r0, #0x0 + pop {r4-r6, pc} +_0202E0E0: + add r1, r1, #0x1 + add r2, r2, #0x1 + cmp r1, #0x20 + blt _0202E0D0 +_0202E0E8: + add r4, r4, #0x1 + add r5, #0x68 + cmp r4, #0x7 + blt _0202E094 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0202E0F4: .word 0x021C59E4 +_0202E0F8: .word 0x00000399 + + thumb_func_start sub_0202E0FC +sub_0202E0FC: ; 0x0202E0FC + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _0202E1B4 ; =0x021C59E4 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202E1B0 + cmp r7, #0x2 + beq _0202E11C + bl sub_02031190 + bl sub_020313CC + mov r1, #0x1 + and r0, r1 + str r0, [sp, #0x0] +_0202E11C: + mov r4, #0x0 + bl sub_02030F20 + cmp r0, #0x0 + ble _0202E1B0 + add r5, r4, #0x0 +_0202E128: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202E1A4 + ldr r0, _0202E1B4 ; =0x021C59E4 + mov r1, #0xe6 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x2 + add r2, r0, r4 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0202E1A4 + cmp r7, #0x0 + bne _0202E16E + add r0, r4, #0x0 + bl sub_020313CC + mov r1, #0x1 + and r1, r0 + ldr r0, [sp, #0x0] + cmp r0, r1 + beq _0202E1A4 + ldr r0, _0202E1B4 ; =0x021C59E4 + mov r1, #0xda + ldr r0, [r0, #0x0] + lsl r1, r1, #0x2 + add r0, r0, r5 + ldrh r1, [r0, r1] + add r2, r1, r6 + mov r1, #0xda + lsl r1, r1, #0x2 + strh r2, [r0, r1] + b _0202E1A4 +_0202E16E: + cmp r7, #0x1 + bne _0202E194 + add r0, r4, #0x0 + bl sub_020313CC + mov r1, #0x1 + and r1, r0 + ldr r0, [sp, #0x0] + cmp r0, r1 + beq _0202E1A4 + ldr r0, _0202E1B4 ; =0x021C59E4 + ldr r1, _0202E1B8 ; =0x0000036A + ldr r0, [r0, #0x0] + add r0, r0, r5 + ldrh r1, [r0, r1] + add r2, r1, r6 + ldr r1, _0202E1B8 ; =0x0000036A + strh r2, [r0, r1] + b _0202E1A4 +_0202E194: + mov r1, #0xdb + add r0, r0, r5 + lsl r1, r1, #0x2 + ldrh r1, [r0, r1] + add r2, r1, r6 + mov r1, #0xdb + lsl r1, r1, #0x2 + strh r2, [r0, r1] +_0202E1A4: + add r5, r5, #0x6 + add r4, r4, #0x1 + bl sub_02030F20 + cmp r4, r0 + blt _0202E128 +_0202E1B0: + pop {r3-r7, pc} + nop +_0202E1B4: .word 0x021C59E4 +_0202E1B8: .word 0x0000036A + + thumb_func_start sub_0202E1BC +sub_0202E1BC: ; 0x0202E1BC + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl sub_020286EC + str r0, [sp, #0x4] + mov r4, #0x0 + bl sub_02030F20 + cmp r0, #0x0 + ble _0202E224 + add r5, r4, #0x0 +_0202E1D4: + add r0, r4, #0x0 + bl sub_0202DFD8 + add r1, r0, #0x0 + beq _0202E218 + add r0, r7, #0x0 + add r2, sp, #0x8 + bl sub_02033874 + cmp r0, #0x0 + beq _0202E1EE + cmp r0, #0x1 + bne _0202E218 +_0202E1EE: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bge _0202E1F8 + bl sub_02020C2C +_0202E1F8: + ldr r0, _0202E254 ; =0x021C59E4 + mov r2, #0xda + ldr r0, [r0, #0x0] + ldr r3, _0202E258 ; =0x0000036A + add r6, r0, r5 + mov r0, #0xdb + lsl r0, r0, #0x2 + ldrh r0, [r6, r0] + lsl r2, r2, #0x2 + str r0, [sp, #0x0] + ldrh r2, [r6, r2] + ldrh r3, [r6, r3] + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x8] + bl sub_02028608 +_0202E218: + add r5, r5, #0x6 + add r4, r4, #0x1 + bl sub_02030F20 + cmp r4, r0 + blt _0202E1D4 +_0202E224: + mov r3, #0xda + mov r2, #0x0 + lsl r3, r3, #0x2 + ldr r6, _0202E254 ; =0x021C59E4 + add r1, r2, #0x0 + add r0, r2, #0x0 + add r4, r3, #0x2 + add r5, r3, #0x4 +_0202E234: + ldr r7, [r6, #0x0] + add r2, r2, #0x1 + add r7, r7, r1 + strh r0, [r7, r3] + ldr r7, [r6, #0x0] + add r7, r7, r1 + strh r0, [r7, r4] + ldr r7, [r6, #0x0] + add r7, r7, r1 + add r1, r1, #0x6 + strh r0, [r7, r5] + cmp r2, #0x8 + blt _0202E234 + add sp, #0xc + pop {r4-r7, pc} + nop +_0202E254: .word 0x021C59E4 +_0202E258: .word 0x0000036A + + thumb_func_start sub_0202E25C +sub_0202E25C: ; 0x0202E25C + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x1 + bne _0202E26E + mov r0, #0x0 + mov r1, #0x1 + bl sub_0202E0FC + b _0202E27E +_0202E26E: + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0202E27E + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0202E0FC +_0202E27E: + add r0, r4, #0x0 + bl sub_0202E1BC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202E288 +sub_0202E288: ; 0x0202E288 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x2 + bl sub_0202E0FC + add r0, r4, #0x0 + bl sub_0202E1BC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0202E29C +sub_0202E29C: ; 0x0202E29C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0202E334 ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0202E332 + mov r1, #0xdb + mov r0, #0xf + lsl r1, r1, #0x4 + bl sub_02016998 + ldr r1, _0202E334 ; =0x021C59E8 + mov r2, #0xdb + str r0, [r1, #0x8] + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020CE34C + bl sub_0202CEEC + add r1, r0, #0x0 + mov r0, #0xf + bl sub_02016998 + ldr r1, _0202E334 ; =0x021C59E8 + ldr r2, [r1, #0x8] + ldr r1, _0202E338 ; =0x00000CA4 + str r0, [r2, r1] + bl sub_0202CEEC + add r2, r0, #0x0 + ldr r0, _0202E334 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E338 ; =0x00000CA4 + ldr r0, [r1, r0] + mov r1, #0x0 + blx sub_020CE34C + bl sub_02023AC4 + add r1, r0, #0x0 + mov r0, #0xf + bl sub_02016998 + ldr r1, _0202E334 ; =0x021C59E8 + ldr r2, [r1, #0x8] + ldr r1, _0202E33C ; =0x00000CBC + str r0, [r2, r1] + bl sub_02023AC4 + add r2, r0, #0x0 + ldr r0, _0202E334 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E33C ; =0x00000CBC + ldr r0, [r1, r0] + mov r1, #0x0 + blx sub_020CE34C + ldr r2, _0202E334 ; =0x021C59E8 + mov r1, #0x33 + ldr r3, _0202E340 ; =0x00000333 + ldr r0, [r2, #0x8] + lsl r1, r1, #0x6 + str r3, [r0, r1] + add r0, r1, #0x0 + ldr r3, [r2, #0x8] + sub r0, #0x8 + str r4, [r3, r0] + ldr r0, [r2, #0x8] + sub r1, #0x18 + add r0, r0, r1 + bl sub_02013724 + bl sub_0202E500 +_0202E332: + pop {r4, pc} + .balign 4 +_0202E334: .word 0x021C59E8 +_0202E338: .word 0x00000CA4 +_0202E33C: .word 0x00000CBC +_0202E340: .word 0x00000333 + + thumb_func_start sub_0202E344 +sub_0202E344: ; 0x0202E344 + ldr r0, _0202E354 ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202E350 + mov r0, #0x1 + bx lr +_0202E350: + mov r0, #0x0 + bx lr + .balign 4 +_0202E354: .word 0x021C59E8 + + thumb_func_start sub_0202E358 +sub_0202E358: ; 0x0202E358 + push {r4-r5} + mov r5, #0x0 + cmp r2, #0x0 + ble _0202E378 +_0202E360: + ldrb r4, [r0, #0x0] + ldrb r3, [r1, #0x0] + cmp r4, r3 + beq _0202E36E + mov r0, #0x0 + pop {r4-r5} + bx lr +_0202E36E: + add r5, r5, #0x1 + add r0, r0, #0x1 + add r1, r1, #0x1 + cmp r5, r2 + blt _0202E360 +_0202E378: + mov r0, #0x1 + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_0202E380 +sub_0202E380: ; 0x0202E380 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02033534 + add r5, r0, #0x0 + bl sub_0203354C + add r4, r7, #0x0 + add r6, r0, #0x0 + add r4, #0x50 + cmp r5, #0xe + beq _0202E3C2 + ldrb r0, [r4, #0x4] + bl sub_0202D8B0 + cmp r0, #0x0 + beq _0202E3AC + add r0, r5, #0x0 + bl sub_0202D8B0 + cmp r0, #0x0 + bne _0202E3C2 +_0202E3AC: + add r0, r4, #0x0 + add r0, #0x54 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202E3BC + ldrb r0, [r4, #0x4] + cmp r0, #0xa + beq _0202E460 +_0202E3BC: + ldrb r0, [r4, #0x4] + cmp r0, r5 + bne _0202E460 +_0202E3C2: + cmp r5, #0xe + beq _0202E3CC + ldrb r0, [r4, #0x5] + cmp r0, r6 + bne _0202E460 +_0202E3CC: + mov r6, #0x0 + add r4, r6, #0x0 + add r5, r6, #0x0 +_0202E3D2: + ldr r0, _0202E464 ; =0x021C59E8 + ldr r1, _0202E468 ; =0x00000C84 + ldr r0, [r0, #0x8] + add r2, r0, r4 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202E412 + add r0, #0x58 + add r0, r0, r5 + add r1, r7, #0x4 + mov r2, #0x6 + bl sub_0202E358 + cmp r0, #0x0 + beq _0202E412 + ldr r2, _0202E464 ; =0x021C59E8 + lsl r1, r6, #0x1 + ldr r3, [r2, #0x8] + mov r0, #0x96 + add r3, r3, r1 + ldr r1, _0202E468 ; =0x00000C84 + strh r0, [r3, r1] + ldr r3, [r2, #0x8] + mov r2, #0xc0 + add r1, r6, #0x0 + add r3, #0x54 + mul r1, r2 + add r0, r7, #0x0 + add r1, r3, r1 + blx sub_020CE3E0 + pop {r3-r7, pc} +_0202E412: + add r6, r6, #0x1 + add r4, r4, #0x2 + add r5, #0xc0 + cmp r6, #0x10 + blt _0202E3D2 + ldr r0, _0202E464 ; =0x021C59E8 + ldr r2, _0202E468 ; =0x00000C84 + ldr r0, [r0, #0x8] + mov r1, #0x0 + add r4, r0, #0x0 +_0202E426: + ldrh r3, [r4, r2] + cmp r3, #0x0 + beq _0202E434 + add r1, r1, #0x1 + add r4, r4, #0x2 + cmp r1, #0x10 + blt _0202E426 +_0202E434: + cmp r1, #0x10 + bge _0202E460 + lsl r2, r1, #0x1 + add r2, r0, r2 + ldr r0, _0202E468 ; =0x00000C84 + mov r3, #0x96 + strh r3, [r2, r0] + ldr r2, _0202E464 ; =0x021C59E8 + add r3, r1, #0x0 + ldr r4, [r2, #0x8] + mov r2, #0xc0 + add r4, #0x54 + mul r3, r2 + add r0, r7, #0x0 + add r1, r4, r3 + blx sub_020CE3E0 + ldr r0, _0202E464 ; =0x021C59E8 + mov r2, #0x1 + ldr r1, [r0, #0x8] + ldr r0, _0202E46C ; =0x00000CB4 + strb r2, [r1, r0] +_0202E460: + pop {r3-r7, pc} + nop +_0202E464: .word 0x021C59E8 +_0202E468: .word 0x00000C84 +_0202E46C: .word 0x00000CB4 + + thumb_func_start sub_0202E470 +sub_0202E470: ; 0x0202E470 + push {r3, lr} + cmp r1, #0x0 + beq _0202E47A + blx sub_020CD850 +_0202E47A: + ldr r0, _0202E484 ; =0x021C59E8 + mov r1, #0x2 + str r1, [r0, #0x4] + pop {r3, pc} + nop +_0202E484: .word 0x021C59E8 + + thumb_func_start sub_0202E488 +sub_0202E488: ; 0x0202E488 + ldr r0, _0202E494 ; =0x021C59E8 + mov r1, #0x0 + str r1, [r0, #0x4] + ldr r3, _0202E498 ; =sub_02016454 + mov r0, #0x4 + bx r3 + .balign 4 +_0202E494: .word 0x021C59E8 +_0202E498: .word sub_02016454 + 1 + + thumb_func_start sub_0202E49C +sub_0202E49C: ; 0x0202E49C + push {r3, lr} + mov r0, #0x4 + bl sub_02016444 + ldr r0, _0202E4C0 ; =0x021C59E8 + mov r1, #0x1 + str r1, [r0, #0x4] + ldr r1, _0202E4C4 ; =sub_0202E470 + mov r0, #0x8 + mov r2, #0x0 + blx sub_02090DB8 + cmp r0, #0x1 + beq _0202E4BC + blx sub_020CD850 +_0202E4BC: + pop {r3, pc} + nop +_0202E4C0: .word 0x021C59E8 +_0202E4C4: .word sub_0202E470 + 1 + + thumb_func_start sub_0202E4C8 +sub_0202E4C8: ; 0x0202E4C8 + ldr r0, _0202E4D8 ; =0x021C59E8 + ldr r0, [r0, #0x4] + cmp r0, #0x2 + bne _0202E4D4 + mov r0, #0x1 + bx lr +_0202E4D4: + mov r0, #0x0 + bx lr + .balign 4 +_0202E4D8: .word 0x021C59E8 + + thumb_func_start sub_0202E4DC +sub_0202E4DC: ; 0x0202E4DC + ldr r0, _0202E4EC ; =0x021C59E8 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202E4E8 + mov r0, #0x1 + bx lr +_0202E4E8: + mov r0, #0x0 + bx lr + .balign 4 +_0202E4EC: .word 0x021C59E8 + + thumb_func_start sub_0202E4F0 +sub_0202E4F0: ; 0x0202E4F0 + ldr r3, _0202E4F8 ; =sub_02090CC8 + ldr r0, _0202E4FC ; =sub_0202E488 + mov r1, #0x0 + bx r3 + .balign 4 +_0202E4F8: .word sub_02090CC8 +_0202E4FC: .word sub_0202E488 + 1 + + thumb_func_start sub_0202E500 +sub_0202E500: ; 0x0202E500 + push {r3, lr} + ldr r1, _0202E534 ; =0x021C59E8 + mov r0, #0xcb + ldr r2, [r1, #0x8] + mov r3, #0x0 + lsl r0, r0, #0x4 + str r3, [r2, r0] + ldr r1, [r1, #0x8] + sub r0, #0xc + ldr r2, [r1, r0] + mov r0, #0x1f + add r1, r2, #0x0 + and r1, r0 + mov r0, #0x20 + sub r0, r0, r1 + add r0, r2, r0 + bl sub_0202CE64 + ldr r0, _0202E534 ; =0x021C59E8 + ldr r1, [r0, #0x8] + mov r0, #0x33 + lsl r0, r0, #0x6 + ldr r0, [r1, r0] + bl sub_0202CB70 + pop {r3, pc} + .balign 4 +_0202E534: .word 0x021C59E8 + + thumb_func_start sub_0202E538 +sub_0202E538: ; 0x0202E538 + push {r3-r5, lr} + mov r4, #0x0 + ldr r2, _0202E564 ; =0x021C59E8 + ldr r0, _0202E568 ; =0x00000C84 + add r5, r4, #0x0 + add r1, r4, #0x0 +_0202E544: + ldr r3, [r2, #0x8] + add r4, r4, #0x1 + add r3, r3, r5 + add r5, r5, #0x2 + strh r1, [r3, r0] + cmp r4, #0x10 + blt _0202E544 + ldr r0, _0202E564 ; =0x021C59E8 + mov r2, #0x3 + ldr r0, [r0, #0x8] + lsl r2, r2, #0xa + add r0, #0x54 + blx sub_020CE34C + pop {r3-r5, pc} + nop +_0202E564: .word 0x021C59E8 +_0202E568: .word 0x00000C84 + + thumb_func_start sub_0202E56C +sub_0202E56C: ; 0x0202E56C + push {r3-r4} + ldr r1, _0202E58C ; =0x021C59E8 + lsl r0, r0, #0x18 + ldr r2, [r1, #0x8] + ldr r4, _0202E590 ; =0x00000DAD + lsr r0, r0, #0x18 + ldrb r1, [r2, r4] + mov r3, #0x8 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1c + orr r0, r1 + strb r0, [r2, r4] + pop {r3-r4} + bx lr + nop +_0202E58C: .word 0x021C59E8 +_0202E590: .word 0x00000DAD + + thumb_func_start sub_0202E594 +sub_0202E594: ; 0x0202E594 + push {r4-r5} + ldr r1, _0202E5F0 ; =0x021C59E8 + ldr r0, _0202E5F4 ; =0x00000CB4 + ldr r3, [r1, #0x8] + mov r2, #0x0 + strb r2, [r3, r0] + add r3, r0, #0x0 + ldr r5, [r1, #0x8] + add r3, #0xf9 + ldrb r4, [r5, r3] + mov r3, #0x1 + bic r4, r3 + add r3, r0, #0x0 + add r3, #0xf9 + strb r4, [r5, r3] + add r3, r0, #0x0 + ldr r5, [r1, #0x8] + add r3, #0xf9 + ldrb r4, [r5, r3] + mov r3, #0x4 + bic r4, r3 + add r3, r0, #0x0 + add r3, #0xf9 + strb r4, [r5, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x8] + add r3, #0xf6 + strb r2, [r4, r3] + add r3, r0, #0x0 + ldr r5, [r1, #0x8] + add r3, #0xf9 + ldrb r4, [r5, r3] + mov r3, #0x10 + bic r4, r3 + add r3, r0, #0x0 + add r3, #0xf9 + strb r4, [r5, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x8] + add r3, #0xf8 + strb r2, [r4, r3] + ldr r1, [r1, #0x8] + add r0, #0xf7 + strb r2, [r1, r0] + pop {r4-r5} + bx lr + .balign 4 +_0202E5F0: .word 0x021C59E8 +_0202E5F4: .word 0x00000CB4 + + thumb_func_start sub_0202E5F8 +sub_0202E5F8: ; 0x0202E5F8 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_0202E594 + add r0, r5, #0x0 + bl sub_0202E56C + bl sub_0202D2F4 + ldr r0, _0202E65C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E660 ; =0x00000DAB + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0202E62A + ldr r0, _0202E664 ; =sub_020303BC + mov r1, #0xe + bl sub_0202D0A0 + ldr r0, _0202E65C ; =0x021C59E8 + mov r2, #0x1 + ldr r1, [r0, #0x8] + ldr r0, _0202E660 ; =0x00000DAB + strb r2, [r1, r0] +_0202E62A: + ldr r0, _0202E65C ; =0x021C59E8 + ldr r3, _0202E668 ; =0x00000DAD + ldr r1, [r0, #0x8] + mov r2, #0x20 + ldrb r0, [r1, r3] + bic r0, r2 + lsl r2, r4, #0x18 + lsr r2, r2, #0x18 + lsl r2, r2, #0x1f + lsr r2, r2, #0x1a + orr r0, r2 + strb r0, [r1, r3] + bl sub_0202CBD4 + cmp r0, #0x1 + bne _0202E656 + bl sub_0202CBFC + cmp r0, #0x0 + beq _0202E656 + mov r0, #0x1 + pop {r3-r5, pc} +_0202E656: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0202E65C: .word 0x021C59E8 +_0202E660: .word 0x00000DAB +_0202E664: .word sub_020303BC + 1 +_0202E668: .word 0x00000DAD + + thumb_func_start sub_0202E66C +sub_0202E66C: ; 0x0202E66C + push {r4, lr} + sub sp, #0x8 + add r4, r1, #0x0 + bl sub_0202E594 + cmp r4, #0x0 + beq _0202E67E + bl sub_0202E538 +_0202E67E: + ldr r0, _0202E6DC ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E6E0 ; =0x00000DAB + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0202E69C + ldr r0, _0202E6E4 ; =sub_02030238 + mov r1, #0xe + bl sub_0202D0A0 + ldr r0, _0202E6DC ; =0x021C59E8 + mov r2, #0x1 + ldr r1, [r0, #0x8] + ldr r0, _0202E6E0 ; =0x00000DAB + strb r2, [r1, r0] +_0202E69C: + bl sub_0202CBD4 + cmp r0, #0x1 + bne _0202E6D4 + ldr r2, _0202E6E8 ; =0x020EEC40 + add r0, sp, #0x0 + ldrb r3, [r2, #0x0] + add r1, sp, #0x0 + strb r3, [r0, #0x0] + ldrb r3, [r2, #0x1] + strb r3, [r0, #0x1] + ldrb r3, [r2, #0x2] + strb r3, [r0, #0x2] + ldrb r3, [r2, #0x3] + strb r3, [r0, #0x3] + ldrb r3, [r2, #0x4] + ldrb r2, [r2, #0x5] + strb r3, [r0, #0x4] + strb r2, [r0, #0x5] + ldr r0, _0202E6EC ; =sub_0202E380 + mov r2, #0x0 + bl sub_0202C570 + cmp r0, #0x0 + beq _0202E6D4 + add sp, #0x8 + mov r0, #0x1 + pop {r4, pc} +_0202E6D4: + mov r0, #0x0 + add sp, #0x8 + pop {r4, pc} + nop +_0202E6DC: .word 0x021C59E8 +_0202E6E0: .word 0x00000DAB +_0202E6E4: .word sub_02030238 + 1 +_0202E6E8: .word 0x020EEC40 +_0202E6EC: .word sub_0202E380 + 1 + + thumb_func_start sub_0202E6F0 +sub_0202E6F0: ; 0x0202E6F0 + push {r3, lr} + ldr r0, _0202E77C ; =0x021C59E8 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + bne _0202E6FE + mov r0, #0x1 + pop {r3, pc} +_0202E6FE: + ldr r0, _0202E780 ; =0x00000DAC + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202E710 + cmp r0, #0x1 + beq _0202E740 + cmp r0, #0x2 + beq _0202E758 + b _0202E776 +_0202E710: + bl sub_0202D21C + cmp r0, #0x0 + beq _0202E728 + bl sub_0202C770 + ldr r0, _0202E77C ; =0x021C59E8 + mov r2, #0x1 + ldr r1, [r0, #0x8] + ldr r0, _0202E780 ; =0x00000DAC + strb r2, [r1, r0] + b _0202E776 +_0202E728: + bl sub_0202D1E4 + cmp r0, #0x0 + bne _0202E776 + bl sub_0202D100 + ldr r0, _0202E77C ; =0x021C59E8 + mov r2, #0x2 + ldr r1, [r0, #0x8] + ldr r0, _0202E780 ; =0x00000DAC + strb r2, [r1, r0] + b _0202E776 +_0202E740: + bl sub_0202D1E4 + cmp r0, #0x0 + bne _0202E776 + bl sub_0202D100 + ldr r0, _0202E77C ; =0x021C59E8 + mov r2, #0x2 + ldr r1, [r0, #0x8] + ldr r0, _0202E780 ; =0x00000DAC + strb r2, [r1, r0] + b _0202E776 +_0202E758: + bl sub_0202D1C8 + cmp r0, #0x0 + beq _0202E764 + mov r0, #0x1 + pop {r3, pc} +_0202E764: + bl sub_0202D200 + cmp r0, #0x0 + beq _0202E776 + ldr r0, _0202E77C ; =0x021C59E8 + mov r2, #0x1 + ldr r1, [r0, #0x8] + ldr r0, _0202E780 ; =0x00000DAC + strb r2, [r1, r0] +_0202E776: + mov r0, #0x0 + pop {r3, pc} + nop +_0202E77C: .word 0x021C59E8 +_0202E780: .word 0x00000DAC + + thumb_func_start sub_0202E784 +sub_0202E784: ; 0x0202E784 + push {r3, lr} + ldr r0, _0202E7A8 ; =0x021C59E8 + ldr r2, [r0, #0x8] + cmp r2, #0x0 + beq _0202E7A2 + ldr r0, _0202E7AC ; =0x00000DAA + ldrb r1, [r2, r0] + cmp r1, #0x0 + bne _0202E7A2 + mov r1, #0x1 + strb r1, [r2, r0] + bl sub_0202D100 + mov r0, #0x1 + pop {r3, pc} +_0202E7A2: + mov r0, #0x0 + pop {r3, pc} + nop +_0202E7A8: .word 0x021C59E8 +_0202E7AC: .word 0x00000DAA + + thumb_func_start sub_0202E7B0 +sub_0202E7B0: ; 0x0202E7B0 + push {r3, lr} + ldr r1, _0202E7D0 ; =0x021C59E8 + ldr r2, [r1, #0x8] + cmp r2, #0x0 + beq _0202E7CE + cmp r0, #0x0 + ldr r0, _0202E7D4 ; =0x00000DAA + beq _0202E7C6 + mov r1, #0x2 + strb r1, [r2, r0] + pop {r3, pc} +_0202E7C6: + mov r1, #0x0 + strb r1, [r2, r0] + bl sub_0202E500 +_0202E7CE: + pop {r3, pc} + .balign 4 +_0202E7D0: .word 0x021C59E8 +_0202E7D4: .word 0x00000DAA + + thumb_func_start sub_0202E7D8 +sub_0202E7D8: ; 0x0202E7D8 + push {r3, lr} + ldr r0, _0202E804 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E808 ; =0x00000CBC + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202E804 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E80C ; =0x00000CA4 + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202E804 ; =0x021C59E8 + ldr r0, [r0, #0x8] + bl sub_02016A18 + ldr r0, _0202E804 ; =0x021C59E8 + mov r1, #0x0 + str r1, [r0, #0x8] + pop {r3, pc} + nop +_0202E804: .word 0x021C59E8 +_0202E808: .word 0x00000CBC +_0202E80C: .word 0x00000CA4 + + thumb_func_start sub_0202E810 +sub_0202E810: ; 0x0202E810 + push {r4, lr} + bl sub_02030F40 + cmp r0, #0x0 + bne _0202E81E + mov r0, #0x0 + pop {r4, pc} +_0202E81E: + ldr r1, _0202E83C ; =0x021C59E8 + mov r0, #0x0 + ldr r4, [r1, #0x8] + ldr r1, _0202E840 ; =0x00000C84 + add r3, r0, #0x0 +_0202E828: + ldrh r2, [r4, r1] + cmp r2, #0x0 + beq _0202E830 + add r0, r0, #0x1 +_0202E830: + add r3, r3, #0x1 + add r4, r4, #0x2 + cmp r3, #0x10 + blt _0202E828 + pop {r4, pc} + nop +_0202E83C: .word 0x021C59E8 +_0202E840: .word 0x00000C84 + + thumb_func_start sub_0202E844 +sub_0202E844: ; 0x0202E844 + push {r3-r5, lr} + ldr r1, _0202E870 ; =0x021C59E8 + mov r4, #0x0 + ldr r5, [r1, #0x8] + ldr r1, _0202E874 ; =0x00000C84 + add r3, r4, #0x0 +_0202E850: + ldrh r2, [r5, r1] + cmp r2, #0x0 + beq _0202E860 + cmp r4, r0 + bne _0202E85E + add r0, r3, #0x0 + pop {r3-r5, pc} +_0202E85E: + add r4, r4, #0x1 +_0202E860: + add r3, r3, #0x1 + add r5, r5, #0x2 + cmp r3, #0x10 + blt _0202E850 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0202E870: .word 0x021C59E8 +_0202E874: .word 0x00000C84 + + thumb_func_start sub_0202E878 +sub_0202E878: ; 0x0202E878 + ldr r0, _0202E884 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202E888 ; =0x00000CB4 + ldrb r0, [r1, r0] + bx lr + nop +_0202E884: .word 0x021C59E8 +_0202E888: .word 0x00000CB4 + + thumb_func_start sub_0202E88C +sub_0202E88C: ; 0x0202E88C + ldr r0, _0202E898 ; =0x021C59E8 + mov r2, #0x0 + ldr r1, [r0, #0x8] + ldr r0, _0202E89C ; =0x00000CB4 + strb r2, [r1, r0] + bx lr + .balign 4 +_0202E898: .word 0x021C59E8 +_0202E89C: .word 0x00000CB4 + + thumb_func_start sub_0202E8A0 +sub_0202E8A0: ; 0x0202E8A0 + ldr r1, _0202E8C8 ; =0x021C59E8 + ldr r3, [r1, #0x8] + lsl r1, r0, #0x1 + add r2, r3, r1 + ldr r1, _0202E8CC ; =0x00000C84 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202E8C2 + mov r1, #0xc0 + mul r1, r0 + add r0, r3, r1 + add r0, #0xaa + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0202E8C4 + mov r0, #0x1 + bx lr +_0202E8C2: + mov r0, #0x0 +_0202E8C4: + bx lr + nop +_0202E8C8: .word 0x021C59E8 +_0202E8CC: .word 0x00000C84 + + thumb_func_start sub_0202E8D0 +sub_0202E8D0: ; 0x0202E8D0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0xf +_0202E8D6: + add r0, r4, #0x0 + bl sub_0202E8A0 + cmp r0, r5 + ble _0202E8E8 + cmp r0, #0x8 + bge _0202E8E8 + add r0, r4, #0x0 + pop {r3-r5, pc} +_0202E8E8: + sub r4, r4, #0x1 + bpl _0202E8D6 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202E8F4 +sub_0202E8F4: ; 0x0202E8F4 + push {r3-r7, lr} + bl sub_0202E810 + cmp r0, #0x0 + bne _0202E904 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0202E904: + mov r5, #0x2d + ldr r7, _0202E948 ; =0x021C59E8 + mov r6, #0xf + mov r4, #0x1e + lsl r5, r5, #0x6 +_0202E90E: + ldr r0, [r7, #0x8] + ldr r1, _0202E94C ; =0x00000C84 + add r2, r0, r4 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202E938 + add r0, #0x58 + add r0, r0, r5 + bl sub_0202EFE4 + cmp r0, #0x0 + beq _0202E938 + add r0, r6, #0x0 + bl sub_0202E8A0 + cmp r0, #0x1 + ble _0202E938 + cmp r0, #0x8 + bge _0202E938 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0202E938: + sub r4, r4, #0x2 + sub r5, #0xc0 + sub r6, r6, #0x1 + bpl _0202E90E + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + nop +_0202E948: .word 0x021C59E8 +_0202E94C: .word 0x00000C84 + + thumb_func_start sub_0202E950 +sub_0202E950: ; 0x0202E950 + push {r3-r7, lr} + bl sub_0202E810 + cmp r0, #0x0 + bne _0202E960 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0202E960: + mov r5, #0x2d + ldr r7, _0202E9A4 ; =0x021C59E8 + mov r6, #0xf + mov r4, #0x1e + lsl r5, r5, #0x6 +_0202E96A: + ldr r0, [r7, #0x8] + ldr r1, _0202E9A8 ; =0x00000C84 + add r2, r0, r4 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202E986 + add r0, #0x58 + add r0, r0, r5 + bl sub_0202EFE4 + cmp r0, #0x0 + beq _0202E986 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0202E986: + sub r4, r4, #0x2 + sub r5, #0xc0 + sub r6, r6, #0x1 + bpl _0202E96A + mov r0, #0x1 + bl sub_0202E8D0 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + bne _0202E9A2 + mov r0, #0x0 + bl sub_0202E8D0 +_0202E9A2: + pop {r3-r7, pc} + .balign 4 +_0202E9A4: .word 0x021C59E8 +_0202E9A8: .word 0x00000C84 + + thumb_func_start sub_0202E9AC +sub_0202E9AC: ; 0x0202E9AC + push {r4-r6, lr} + add r4, r1, #0x0 + ldr r1, _0202E9E0 ; =0x021C59E8 + mov r5, #0x0 + ldr r6, [r1, #0x8] + ldr r1, _0202E9E4 ; =0x00000C84 + add r3, r5, #0x0 +_0202E9BA: + ldrh r2, [r6, r1] + cmp r2, #0x0 + beq _0202E9D4 + cmp r0, r5 + bne _0202E9D2 + add r0, r3, #0x0 + bl sub_0202EF84 + add r1, r4, #0x0 + bl sub_0202393C + pop {r4-r6, pc} +_0202E9D2: + add r5, r5, #0x1 +_0202E9D4: + add r3, r3, #0x1 + add r6, r6, #0x2 + cmp r3, #0x10 + blt _0202E9BA + pop {r4-r6, pc} + nop +_0202E9E0: .word 0x021C59E8 +_0202E9E4: .word 0x00000C84 + + thumb_func_start sub_0202E9E8 +sub_0202E9E8: ; 0x0202E9E8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0202CBD4 + cmp r0, #0x2 + bne _0202E9FC + bl sub_0202C770 + mov r0, #0x0 + pop {r3-r5, pc} +_0202E9FC: + bl sub_0202CBD4 + cmp r0, #0x1 + bne _0202EA48 + bl sub_02033534 + mov r1, #0xc0 + add r4, r5, #0x0 + mul r4, r1 + ldr r1, _0202EA4C ; =0x021C59E8 + ldr r3, [r1, #0x8] + add r1, r3, r4 + add r1, #0x8a + ldrh r2, [r1, #0x0] + ldr r1, _0202EA50 ; =0x00000DA8 + strb r2, [r3, r1] + bl sub_0202D8B0 + cmp r0, #0x0 + beq _0202EA36 + ldr r1, _0202EA4C ; =0x021C59E8 + mov r0, #0x1 + ldr r1, [r1, #0x8] + mov r2, #0x0 + add r1, #0x58 + add r1, r1, r4 + bl sub_0202C4D8 + b _0202EA44 +_0202EA36: + ldr r1, _0202EA4C ; =0x021C59E8 + mov r0, #0x1 + ldr r1, [r1, #0x8] + add r1, #0x54 + add r1, r1, r4 + bl sub_0202D034 +_0202EA44: + mov r0, #0x1 + pop {r3-r5, pc} +_0202EA48: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0202EA4C: .word 0x021C59E8 +_0202EA50: .word 0x00000DA8 + + thumb_func_start sub_0202EA54 +sub_0202EA54: ; 0x0202EA54 + push {r4-r7} + mov r4, #0x0 + ldr r1, _0202EA90 ; =0x021C59E8 + ldr r0, _0202EA94 ; =0x00000C84 + add r5, r4, #0x0 + mov r2, #0x1 +_0202EA60: + ldr r3, [r1, #0x8] + add r3, r3, r5 + ldrh r6, [r3, r0] + cmp r6, #0x0 + beq _0202EA84 + beq _0202EA84 + ldr r6, _0202EA94 ; =0x00000C84 + ldrh r6, [r3, r6] + sub r7, r6, #0x1 + ldr r6, _0202EA94 ; =0x00000C84 + strh r7, [r3, r6] + ldr r3, [r1, #0x8] + add r7, r3, r5 + ldrh r6, [r7, r6] + cmp r6, #0x0 + bne _0202EA84 + ldr r6, _0202EA98 ; =0x00000CB4 + strb r2, [r3, r6] +_0202EA84: + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x10 + blt _0202EA60 + pop {r4-r7} + bx lr + .balign 4 +_0202EA90: .word 0x021C59E8 +_0202EA94: .word 0x00000C84 +_0202EA98: .word 0x00000CB4 + + thumb_func_start sub_0202EA9C +sub_0202EA9C: ; 0x0202EA9C + push {r3-r5, lr} + bl sub_02033534 + add r5, r0, #0x0 + bl sub_0202EF70 + add r4, r0, #0x0 + cmp r5, #0xf + beq _0202EB24 + ldr r0, _0202EB6C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EB70 ; =0x00000CC4 + add r5, r1, r0 + bl sub_02023AC4 + cmp r0, #0x20 + ble _0202EAC2 + bl sub_02020C2C +_0202EAC2: + bl sub_02023924 + cmp r0, #0x20 + beq _0202EACE + bl sub_02020C2C +_0202EACE: + bl sub_02023924 + add r1, r5, #0x0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, #0x10 + blx sub_020CE3E0 + bl sub_02023AC4 + add r2, r0, #0x0 + ldr r0, _0202EB6C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EB74 ; =0x00000CBC + ldr r0, [r1, r0] + add r1, r5, #0x0 + add r1, #0x30 + blx sub_020CE3E0 + add r0, r4, #0x0 + bl sub_020239BC + str r0, [r5, #0x0] + bl sub_02033534 + strb r0, [r5, #0x4] + bl sub_0203354C + strb r0, [r5, #0x5] + ldr r0, _0202EB6C ; =0x021C59E8 + mov r2, #0x8 + ldr r1, [r0, #0x8] + ldr r0, _0202EB78 ; =0x00000CA8 + add r0, r1, r0 + add r1, r5, #0x0 + add r1, #0x8 + blx sub_020CE3E0 + bl sub_0202D358 + add r5, #0x54 + strb r0, [r5, #0x0] + b _0202EB4E +_0202EB24: + ldr r1, _0202EB6C ; =0x021C59E8 + ldr r4, [r1, #0x8] + ldr r1, _0202EB70 ; =0x00000CC4 + add r5, r4, r1 + bl sub_020239BC + ldr r1, _0202EB70 ; =0x00000CC4 + str r0, [r4, r1] + bl sub_02033534 + strb r0, [r5, #0x4] + bl sub_0203354C + strb r0, [r5, #0x5] + ldr r0, _0202EB6C ; =0x021C59E8 + add r5, #0x8 + ldr r0, [r0, #0x8] + add r1, r5, #0x0 + mov r2, #0x54 + blx sub_020CE3E0 +_0202EB4E: + ldr r0, _0202EB6C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EB70 ; =0x00000CC4 + add r0, r1, r0 + mov r1, #0x5c + blx sub_020CC15C + ldr r0, _0202EB6C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EB70 ; =0x00000CC4 + add r0, r1, r0 + mov r1, #0x5c + bl sub_0202CB7C + pop {r3-r5, pc} + .balign 4 +_0202EB6C: .word 0x021C59E8 +_0202EB70: .word 0x00000CC4 +_0202EB74: .word 0x00000CBC +_0202EB78: .word 0x00000CA8 + + thumb_func_start sub_0202EB7C +sub_0202EB7C: ; 0x0202EB7C + push {r4, lr} + ldr r0, _0202EBC8 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EBCC ; =0x00000CC4 + add r4, r1, r0 + bl sub_0202EDB8 + ldrb r1, [r4, #0x6] + cmp r1, r0 + beq _0202EBC6 + bl sub_0202EDB8 + strb r0, [r4, #0x6] + ldr r0, _0202EBC8 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EBCC ; =0x00000CC4 + add r0, r1, r0 + mov r1, #0x5c + blx sub_020CC15C + ldr r0, _0202EBC8 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EBCC ; =0x00000CC4 + add r0, r1, r0 + mov r1, #0x5c + bl sub_0202CB7C + ldr r3, _0202EBC8 ; =0x021C59E8 + ldr r2, _0202EBCC ; =0x00000CC4 + ldr r4, [r3, #0x8] + ldrh r3, [r3, #0x0] + add r0, r4, r2 + sub r2, r2, #0x4 + ldr r2, [r4, r2] + mov r1, #0x5c + bl sub_0202D240 +_0202EBC6: + pop {r4, pc} + .balign 4 +_0202EBC8: .word 0x021C59E8 +_0202EBCC: .word 0x00000CC4 + + thumb_func_start sub_0202EBD0 +sub_0202EBD0: ; 0x0202EBD0 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_0202CBD4 + add r5, r0, #0x0 + bl sub_0202DF54 + bl sub_0202EB7C + bl sub_0202D19C + cmp r0, #0x0 + bne _0202EC0C + bl sub_0202EE24 + cmp r0, #0x0 + bne _0202EC0C + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r2, [r0, #0x8] + ldr r0, _0202ED54 ; =0x00000DAD + ldrb r1, [r2, r0] + lsl r3, r1, #0x1d + lsr r3, r3, #0x1f + beq _0202EC0C + mov r3, #0x1 + bic r1, r3 + mov r3, #0x1 + orr r1, r3 + strb r1, [r2, r0] +_0202EC0C: + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r1, _0202ED58 ; =0x0000FFFF + ldr r3, [r0, #0x8] + ldr r0, _0202ED5C ; =0x00000DA6 + ldrh r2, [r3, r0] + cmp r2, r1 + bne _0202EC1C + strh r4, [r3, r0] +_0202EC1C: + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r2, [r0, #0x8] + ldr r0, _0202ED54 ; =0x00000DAD + ldrb r1, [r2, r0] + lsl r3, r1, #0x1e + lsr r3, r3, #0x1f + beq _0202EC3C + sub r3, r0, #0x7 + ldrh r3, [r2, r3] + cmp r3, r4 + bls _0202EC3C + mov r3, #0x1 + bic r1, r3 + mov r3, #0x1 + orr r1, r3 + strb r1, [r2, r0] +_0202EC3C: + bl sub_0202CBE8 + cmp r0, #0x19 + bne _0202EC4A + mov r0, #0x0 + bl sub_020335D0 +_0202EC4A: + cmp r5, #0x9 + bhi _0202ED4C + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r2, r6, #0 + lsl r0, r6, #0x3 + lsl r0, r6, #0x3 + lsl r0, r6, #0x3 + lsl r0, r6, #0x3 + lsl r0, r6, #0x3 + lsl r6, r6, #0x1 + lsl r4, r3, #0x1 + lsl r4, r3, #0x1 + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r2, [r0, #0x8] + ldr r0, _0202ED60 ; =0x00000DAA + ldrb r1, [r2, r0] + cmp r1, #0x1 + bne _0202EC82 + bl sub_0202E7D8 + add sp, #0x8 + pop {r3-r5, pc} +_0202EC82: + cmp r1, #0x2 + bne _0202ED4C + mov r1, #0x3 + strb r1, [r2, r0] + add sp, #0x8 + pop {r3-r5, pc} +_0202EC8E: + .byte 0x30, 0x48 + .byte 0x81, 0x68, 0x33, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x03, 0xD1, 0xFE, 0xF7, 0x6D, 0xFA, 0x00, 0x28 + .byte 0x54, 0xD1, 0x2B, 0x48, 0x81, 0x68, 0x2E, 0x48, 0x08, 0x5C, 0x02, 0x28, 0x4E, 0xD1, 0xFE, 0xF7 + .byte 0x63, 0xFA, 0x02, 0xB0, 0x00, 0x28, 0x38, 0xBD, 0x25, 0x48, 0x83, 0x68, 0x00, 0x2B, 0x45, 0xD0 + .byte 0x24, 0x49, 0x01, 0x20, 0x5A, 0x5C, 0x02, 0xB0, 0x82, 0x43, 0x01, 0x20, 0x10, 0x43, 0x58, 0x54 + .byte 0x38, 0xBD, 0xFE, 0xF7, 0x67, 0xF8, 0x1E, 0x4B, 0x22, 0x4A, 0x9C, 0x68, 0xA1, 0x5C, 0x00, 0x29 + .byte 0x05, 0xD1, 0x51, 0x1F, 0x60, 0x52, 0x98, 0x68, 0x05, 0x21, 0x81, 0x54, 0x01, 0xE0, 0x48, 0x1E + .byte 0xA0, 0x54, 0x17, 0x49, 0x1C, 0x48, 0x8A, 0x68, 0x15, 0x5A, 0x09, 0x30, 0x10, 0x5C, 0x00, 0x07 + .byte 0xC0, 0x0F, 0x02, 0xD0, 0x08, 0x88, 0x40, 0x1C, 0x08, 0x80, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0xF0 + .byte 0x11, 0xFC, 0x00, 0x04, 0x00, 0x0C, 0xFE, 0xF7, 0x9F, 0xFD, 0x04, 0x1C, 0x04, 0xF0, 0x0A, 0xFC + .byte 0x00, 0x04, 0x00, 0x0C, 0x00, 0xF0, 0xE0, 0xF8, 0x00, 0x90, 0x09, 0x49, 0x09, 0x48, 0x8A, 0x68 + .byte 0x23, 0x1C, 0x10, 0x5C, 0x2A, 0x1C, 0x80, 0x06, 0xC0, 0x0F, 0x01, 0x90, 0x09, 0x88, 0x00, 0x20 + .byte 0xFE, 0xF7, 0x20, 0xF9, 0x02, 0x48, 0x81, 0x68, 0x08, 0x48, 0x0D, 0x54 +_0202ED4C: + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_0202ED50: .word 0x021C59E8 +_0202ED54: .word 0x00000DAD +_0202ED58: .word 0x0000FFFF +_0202ED5C: .word 0x00000DA6 +_0202ED60: .word 0x00000DAA +_0202ED64: + .byte 0xA9, 0x0D, 0x00, 0x00, 0xA4, 0x0D, 0x00, 0x00, 0xA8, 0x0D, 0x00, 0x00 + + thumb_func_start sub_0202ED70 +sub_0202ED70: ; 0x0202ED70 + push {r3, lr} + ldr r1, _0202ED80 ; =0x021C59E8 + ldr r1, [r1, #0x8] + cmp r1, #0x0 + beq _0202ED7E + bl sub_0202EBD0 +_0202ED7E: + pop {r3, pc} + .balign 4 +_0202ED80: .word 0x021C59E8 + + thumb_func_start sub_0202ED84 +sub_0202ED84: ; 0x0202ED84 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0202EDB4 ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0202ED94 + mov r0, #0x0 + pop {r4, pc} +_0202ED94: + bl sub_0202CBD4 + cmp r0, #0x4 + beq _0202EDA0 + mov r0, #0x0 + pop {r4, pc} +_0202EDA0: + bl sub_0202CB8C + mov r2, #0x1 + add r1, r2, #0x0 + lsl r1, r4 + tst r0, r1 + bne _0202EDB0 + mov r2, #0x0 +_0202EDB0: + add r0, r2, #0x0 + pop {r4, pc} + .balign 4 +_0202EDB4: .word 0x021C59E8 + + thumb_func_start sub_0202EDB8 +sub_0202EDB8: ; 0x0202EDB8 + push {r3-r5, lr} + mov r4, #0x0 + add r5, r4, #0x0 +_0202EDBE: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_0202ED84 + cmp r0, #0x0 + beq _0202EDCC + add r4, r4, #0x1 +_0202EDCC: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0202EDBE + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202EDD8 +sub_0202EDD8: ; 0x0202EDD8 + ldr r0, _0202EDF0 ; =0x021C59E8 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _0202EDEC + ldr r0, _0202EDF4 ; =0x00000DAA + ldrb r0, [r1, r0] + cmp r0, #0x3 + bne _0202EDEC + mov r0, #0x1 + bx lr +_0202EDEC: + mov r0, #0x0 + bx lr + .balign 4 +_0202EDF0: .word 0x021C59E8 +_0202EDF4: .word 0x00000DAA + + thumb_func_start sub_0202EDF8 +sub_0202EDF8: ; 0x0202EDF8 + ldr r0, _0202EE08 ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202EE04 + mov r0, #0x1 + bx lr +_0202EE04: + mov r0, #0x0 + bx lr + .balign 4 +_0202EE08: .word 0x021C59E8 + + thumb_func_start sub_0202EE0C +sub_0202EE0C: ; 0x0202EE0C + push {r3, lr} + ldr r0, _0202EE20 ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202EE1C + bl sub_0202D1C8 + pop {r3, pc} +_0202EE1C: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0202EE20: .word 0x021C59E8 + + thumb_func_start sub_0202EE24 +sub_0202EE24: ; 0x0202EE24 + push {r3, lr} + ldr r0, _0202EE3C ; =0x021C59E8 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202EE38 + bl sub_0202CB8C + ldr r1, _0202EE40 ; =0x0000FFFE + and r0, r1 + pop {r3, pc} +_0202EE38: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0202EE3C: .word 0x021C59E8 +_0202EE40: .word 0x0000FFFE + + thumb_func_start sub_0202EE44 +sub_0202EE44: ; 0x0202EE44 + push {r3, lr} + bl sub_0202EE60 + cmp r0, #0x0 + beq _0202EE5A + bl sub_0202CBE8 + cmp r0, #0x14 + bne _0202EE5A + mov r0, #0x1 + pop {r3, pc} +_0202EE5A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202EE60 +sub_0202EE60: ; 0x0202EE60 + ldr r0, _0202EE7C ; =0x021C59E8 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _0202EE76 + ldr r0, _0202EE80 ; =0x00000DAD + ldrb r0, [r1, r0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + beq _0202EE76 + mov r0, #0x1 + bx lr +_0202EE76: + mov r0, #0x0 + bx lr + nop +_0202EE7C: .word 0x021C59E8 +_0202EE80: .word 0x00000DAD + + thumb_func_start sub_0202EE84 +sub_0202EE84: ; 0x0202EE84 + push {r3-r4} + ldr r1, _0202EEA8 ; =0x021C59E8 + ldr r2, [r1, #0x8] + cmp r2, #0x0 + beq _0202EEA2 + ldr r4, _0202EEAC ; =0x00000DAD + lsl r0, r0, #0x18 + ldrb r1, [r2, r4] + lsr r0, r0, #0x18 + mov r3, #0x4 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1d + orr r0, r1 + strb r0, [r2, r4] +_0202EEA2: + pop {r3-r4} + bx lr + nop +_0202EEA8: .word 0x021C59E8 +_0202EEAC: .word 0x00000DAD + + thumb_func_start sub_0202EEB0 +sub_0202EEB0: ; 0x0202EEB0 + push {r4-r5} + ldr r5, _0202EEDC ; =0x021C59E8 + ldr r2, [r5, #0x8] + cmp r2, #0x0 + beq _0202EED6 + ldr r4, _0202EEE0 ; =0x00000DAD + lsl r0, r0, #0x18 + ldrb r1, [r2, r4] + lsr r0, r0, #0x18 + mov r3, #0x2 + lsl r0, r0, #0x1f + bic r1, r3 + lsr r0, r0, #0x1e + orr r0, r1 + strb r0, [r2, r4] + ldr r2, _0202EEE4 ; =0x0000FFFF + ldr r1, [r5, #0x8] + sub r0, r4, #0x7 + strh r2, [r1, r0] +_0202EED6: + pop {r4-r5} + bx lr + nop +_0202EEDC: .word 0x021C59E8 +_0202EEE0: .word 0x00000DAD +_0202EEE4: .word 0x0000FFFF + + thumb_func_start sub_0202EEE8 +sub_0202EEE8: ; 0x0202EEE8 + push {r3-r5, lr} + add r5, r0, #0x0 + blx sub_020D8AF0 + add r4, r0, #0x0 + cmp r5, #0x1a + blo _0202EEFA + bl sub_02020C2C +_0202EEFA: + cmp r5, #0xa + bne _0202EF04 + lsl r0, r4, #0xe + lsr r0, r0, #0x10 + pop {r3-r5, pc} +_0202EF04: + cmp r5, #0x9 + beq _0202EF0C + cmp r5, #0xd + bne _0202EF12 +_0202EF0C: + lsl r0, r4, #0xe + lsr r0, r0, #0x10 + pop {r3-r5, pc} +_0202EF12: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0202EF18 +sub_0202EF18: ; 0x0202EF18 + ldr r1, _0202EF3C ; =0x021C59E8 + ldr r3, [r1, #0x8] + cmp r3, #0x0 + beq _0202EF36 + lsl r1, r0, #0x1 + add r2, r3, r1 + ldr r1, _0202EF40 ; =0x00000C84 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202EF36 + mov r1, #0xc0 + add r3, #0x54 + mul r1, r0 + add r0, r3, r1 + bx lr +_0202EF36: + mov r0, #0x0 + bx lr + nop +_0202EF3C: .word 0x021C59E8 +_0202EF40: .word 0x00000C84 + + thumb_func_start sub_0202EF44 +sub_0202EF44: ; 0x0202EF44 + ldr r1, _0202EF68 ; =0x021C59E8 + ldr r3, [r1, #0x8] + cmp r3, #0x0 + beq _0202EF62 + lsl r1, r0, #0x1 + add r2, r3, r1 + ldr r1, _0202EF6C ; =0x00000C84 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202EF62 + mov r1, #0xc0 + add r3, #0xa4 + mul r1, r0 + add r0, r3, r1 + bx lr +_0202EF62: + mov r0, #0x0 + bx lr + nop +_0202EF68: .word 0x021C59E8 +_0202EF6C: .word 0x00000C84 + + thumb_func_start sub_0202EF70 +sub_0202EF70: ; 0x0202EF70 + ldr r0, _0202EF7C ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202EF80 ; =0x00000CB8 + ldr r0, [r1, r0] + bx lr + nop +_0202EF7C: .word 0x021C59E8 +_0202EF80: .word 0x00000CB8 + + thumb_func_start sub_0202EF84 +sub_0202EF84: ; 0x0202EF84 + ldr r1, _0202EFA4 ; =0x021C59E8 + ldr r3, [r1, #0x8] + lsl r1, r0, #0x1 + add r2, r3, r1 + ldr r1, _0202EFA8 ; =0x00000C84 + ldrh r1, [r2, r1] + cmp r1, #0x0 + bne _0202EF98 + mov r0, #0x0 + bx lr +_0202EF98: + mov r1, #0xc0 + add r3, #0xa4 + mul r1, r0 + add r0, r3, r1 + add r0, #0x10 + bx lr + .balign 4 +_0202EFA4: .word 0x021C59E8 +_0202EFA8: .word 0x00000C84 + + thumb_func_start sub_0202EFAC +sub_0202EFAC: ; 0x0202EFAC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0202EFDC ; =0x021C59E8 + add r4, r1, #0x0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0202EFD8 + cmp r4, #0x8 + blt _0202EFC2 + bl sub_02020C2C +_0202EFC2: + ldr r1, _0202EFDC ; =0x021C59E8 + add r0, r5, #0x0 + ldr r2, [r1, #0x8] + ldr r1, _0202EFE0 ; =0x00000C54 + add r3, r2, r1 + mov r2, #0x6 + add r1, r4, #0x0 + mul r1, r2 + add r1, r3, r1 + blx sub_020CE3E0 +_0202EFD8: + pop {r3-r5, pc} + nop +_0202EFDC: .word 0x021C59E8 +_0202EFE0: .word 0x00000C54 + + thumb_func_start sub_0202EFE4 +sub_0202EFE4: ; 0x0202EFE4 + push {r4-r5} + ldr r2, _0202F034 ; =0x021C59E8 + mov r1, #0x0 + ldr r3, [r2, #0x8] + ldr r2, _0202F038 ; =0x00000C54 + add r2, r3, r2 + ldrb r3, [r0, #0x0] +_0202EFF2: + ldrb r4, [r2, #0x0] + cmp r4, r3 + bne _0202F026 + ldrb r5, [r2, #0x1] + ldrb r4, [r0, #0x1] + cmp r5, r4 + bne _0202F026 + ldrb r5, [r2, #0x2] + ldrb r4, [r0, #0x2] + cmp r5, r4 + bne _0202F026 + ldrb r5, [r2, #0x3] + ldrb r4, [r0, #0x3] + cmp r5, r4 + bne _0202F026 + ldrb r5, [r2, #0x4] + ldrb r4, [r0, #0x4] + cmp r5, r4 + bne _0202F026 + ldrb r5, [r2, #0x5] + ldrb r4, [r0, #0x5] + cmp r5, r4 + bne _0202F026 + mov r0, #0x1 + pop {r4-r5} + bx lr +_0202F026: + add r1, r1, #0x1 + add r2, r2, #0x6 + cmp r1, #0x8 + blt _0202EFF2 + mov r0, #0x0 + pop {r4-r5} + bx lr + .balign 4 +_0202F034: .word 0x021C59E8 +_0202F038: .word 0x00000C54 + + thumb_func_start sub_0202F03C +sub_0202F03C: ; 0x0202F03C + ldr r0, _0202F054 ; =0x021C59E8 + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _0202F04E + ldr r0, _0202F058 ; =0x00000DAD + ldrb r0, [r1, r0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bx lr +_0202F04E: + mov r0, #0x0 + bx lr + nop +_0202F054: .word 0x021C59E8 +_0202F058: .word 0x00000DAD + + thumb_func_start sub_0202F05C +sub_0202F05C: ; 0x0202F05C + ldr r0, _0202F070 ; =0x021C59E8 + ldr r3, [r0, #0x8] + cmp r3, #0x0 + beq _0202F06E + ldr r1, _0202F074 ; =0x00000DAD + mov r0, #0x10 + ldrb r2, [r3, r1] + orr r0, r2 + strb r0, [r3, r1] +_0202F06E: + bx lr + .balign 4 +_0202F070: .word 0x021C59E8 +_0202F074: .word 0x00000DAD + + thumb_func_start sub_0202F078 +sub_0202F078: ; 0x0202F078 + ldr r1, _0202F088 ; =0x021C59E8 + ldr r3, _0202F08C ; =sub_020CE3E0 + ldr r2, [r1, #0x8] + ldr r1, _0202F090 ; =0x00000CA8 + add r1, r2, r1 + mov r2, #0x8 + bx r3 + nop +_0202F088: .word 0x021C59E8 +_0202F08C: .word sub_020CE3E0 +_0202F090: .word 0x00000CA8 + + thumb_func_start sub_0202F094 +sub_0202F094: ; 0x0202F094 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02023AC4 + ldr r1, _0202F0B0 ; =0x021C59E8 + add r2, r0, #0x0 + ldr r3, [r1, #0x8] + ldr r1, _0202F0B4 ; =0x00000CBC + add r0, r4, #0x0 + ldr r1, [r3, r1] + blx sub_020CE3E0 + pop {r4, pc} + nop +_0202F0B0: .word 0x021C59E8 +_0202F0B4: .word 0x00000CBC + + thumb_func_start sub_0202F0B8 +sub_0202F0B8: ; 0x0202F0B8 + push {r4, lr} + bl sub_0202EA9C + ldr r3, _0202F0D4 ; =0x021C59E8 + ldr r2, _0202F0D8 ; =0x00000CC4 + ldr r4, [r3, #0x8] + ldrh r3, [r3, #0x0] + add r0, r4, r2 + sub r2, r2, #0x4 + ldr r2, [r4, r2] + mov r1, #0x5c + bl sub_0202D240 + pop {r4, pc} + .balign 4 +_0202F0D4: .word 0x021C59E8 +_0202F0D8: .word 0x00000CC4 + + thumb_func_start sub_0202F0DC +sub_0202F0DC: ; 0x0202F0DC + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_0202F0E4: + add r0, r4, #0x0 + bl sub_0202EF44 + cmp r0, #0x0 + beq _0202F0F8 + ldrb r1, [r0, #0x4] + cmp r1, r6 + bne _0202F0F8 + ldrb r0, [r0, #0x6] + add r5, r5, r0 +_0202F0F8: + add r4, r4, #0x1 + cmp r4, #0x10 + blt _0202F0E4 + add r0, r5, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0202F104 +sub_0202F104: ; 0x0202F104 + ldr r3, _0202F108 ; =sub_0202D2D0 + bx r3 + .balign 4 +_0202F108: .word sub_0202D2D0 + 1 + + thumb_func_start sub_0202F10C +sub_0202F10C: ; 0x0202F10C + push {r3, lr} + ldr r1, _0202F120 ; =0x021C59E8 + mov r2, #0x54 + ldr r1, [r1, #0x8] + blx sub_020CE3E0 + bl sub_0202F0B8 + pop {r3, pc} + nop +_0202F120: .word 0x021C59E8 + + thumb_func_start sub_0202F124 +sub_0202F124: ; 0x0202F124 + ldr r1, _0202F148 ; =0x021C59E8 + ldr r3, [r1, #0x8] + cmp r3, #0x0 + beq _0202F144 + lsl r1, r0, #0x1 + add r2, r3, r1 + ldr r1, _0202F14C ; =0x00000C84 + ldrh r1, [r2, r1] + cmp r1, #0x0 + beq _0202F144 + mov r1, #0xc0 + add r3, #0xa4 + mul r1, r0 + add r0, r3, r1 + add r0, #0x8 + bx lr +_0202F144: + mov r0, #0x0 + bx lr + .balign 4 +_0202F148: .word 0x021C59E8 +_0202F14C: .word 0x00000C84 + + thumb_func_start sub_0202F150 +sub_0202F150: ; 0x0202F150 + push {r4-r6, lr} + add r6, r1, #0x0 + mov r4, #0x0 + ldr r1, _0202F2BC ; =0x021C59F4 + cmp r0, #0x0 + strb r4, [r1, #0x0] + beq _0202F25C + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r5, r0, #0x1 + ldr r0, _0202F2BC ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202F178 + mov r0, #0x1 + pop {r4-r6, pc} +_0202F178: + mov r0, #0xf + bl sub_02031480 + ldr r1, _0202F2C0 ; =0x0000068C + mov r0, #0xf + bl sub_02016998 + ldr r1, _0202F2BC ; =0x021C59F4 + ldr r2, _0202F2C0 ; =0x0000068C + str r0, [r1, #0x4] + add r1, r4, #0x0 + blx sub_020CE34C + ldr r2, _0202F2BC ; =0x021C59F4 + ldr r1, _0202F2C4 ; =0x00000658 + ldr r0, [r2, #0x4] + add r6, #0x40 + str r6, [r0, r1] + add r0, r1, #0x0 + ldr r3, [r2, #0x4] + add r6, r4, #0x0 + add r0, #0x25 + strb r6, [r3, r0] + add r0, r1, #0x0 + ldr r3, [r2, #0x4] + mov r6, #0x1b + add r0, #0x26 + strb r6, [r3, r0] + ldr r2, [r2, #0x4] + mov r0, #0xf + ldr r1, [r2, r1] + lsl r1, r1, #0x1 + bl sub_02016998 + ldr r2, _0202F2BC ; =0x021C59F4 + ldr r1, _0202F2C8 ; =0x0000045C + ldr r3, [r2, #0x4] + str r0, [r3, r1] + ldr r2, [r2, #0x4] + ldr r1, _0202F2C4 ; =0x00000658 + mov r0, #0xf + ldr r1, [r2, r1] + bl sub_02016998 + ldr r2, _0202F2BC ; =0x021C59F4 + mov r1, #0x46 + ldr r3, [r2, #0x4] + lsl r1, r1, #0x4 + str r0, [r3, r1] + ldr r2, [r2, #0x4] + ldr r1, _0202F2C4 ; =0x00000658 + mov r0, #0xf + ldr r1, [r2, r1] + mul r1, r5 + bl sub_02016998 + ldr r2, _0202F2BC ; =0x021C59F4 + ldr r1, _0202F2CC ; =0x00000458 + ldr r3, [r2, #0x4] + str r0, [r3, r1] + ldr r2, [r2, #0x4] + ldr r1, _0202F2C4 ; =0x00000658 + mov r0, #0xf + ldr r1, [r2, r1] + mul r1, r5 + bl sub_02016998 + ldr r1, _0202F2BC ; =0x021C59F4 + ldr r2, [r1, #0x4] + ldr r1, _0202F2D0 ; =0x00000454 + str r0, [r2, r1] + bl sub_02033534 + cmp r0, #0xa + ldr r2, _0202F2D4 ; =0x0000054C + bne _0202F236 + ldr r0, _0202F2BC ; =0x021C59F4 + mov r1, #0x64 + ldr r3, [r0, #0x4] + add r0, r3, r2 + sub r2, #0xe8 + add r2, r3, r2 + bl sub_0202D7D8 + ldr r0, _0202F2BC ; =0x021C59F4 + mov r1, #0x32 + ldr r3, [r0, #0x4] + ldr r2, _0202F2D8 ; =0x0000056C + lsl r1, r1, #0x4 + add r0, r3, r2 + sub r2, #0x90 + add r2, r3, r2 + bl sub_0202D7D8 + b _0202F268 +_0202F236: + ldr r0, _0202F2BC ; =0x021C59F4 + mov r1, #0x14 + ldr r3, [r0, #0x4] + add r0, r3, r2 + sub r2, #0xe8 + add r2, r3, r2 + bl sub_0202D7D8 + ldr r0, _0202F2BC ; =0x021C59F4 + add r1, r6, #0x0 + ldr r3, [r0, #0x4] + ldr r2, _0202F2D8 ; =0x0000056C + add r1, #0xfd + add r0, r3, r2 + sub r2, #0x90 + add r2, r3, r2 + bl sub_0202D7D8 + b _0202F268 +_0202F25C: + ldr r0, [r1, #0x4] + mov r4, #0x1 + cmp r0, #0x0 + bne _0202F268 + bl sub_02020C2C +_0202F268: + ldr r2, _0202F2BC ; =0x021C59F4 + ldr r1, _0202F2DC ; =0x0000065C + ldr r3, [r2, #0x4] + mov r0, #0x0 + strh r0, [r3, r1] + mov r5, #0xff + add r1, #0x1b +_0202F276: + ldr r3, [r2, #0x4] + add r3, r3, r0 + add r0, r0, #0x1 + strb r5, [r3, r1] + cmp r0, #0x4 + blt _0202F276 + cmp r4, #0x0 + bne _0202F28A + bl sub_0202F2F0 +_0202F28A: + ldr r0, _0202F2BC ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202F2E0 ; =0x000005F8 + add r0, r1, r0 + bl sub_020312BC + cmp r4, #0x0 + bne _0202F2AC + mov r1, #0x0 + ldr r0, _0202F2E4 ; =sub_0202FB20 + add r2, r1, #0x0 + bl sub_0200CA60 + ldr r1, _0202F2BC ; =0x021C59F4 + ldr r2, [r1, #0x4] + ldr r1, _0202F2E8 ; =0x00000548 + str r0, [r2, r1] +_0202F2AC: + ldr r0, _0202F2BC ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202F2EC ; =0x00000687 + strb r2, [r1, r0] + mov r0, #0x1 + pop {r4-r6, pc} + nop +_0202F2BC: .word 0x021C59F4 +_0202F2C0: .word 0x0000068C +_0202F2C4: .word 0x00000658 +_0202F2C8: .word 0x0000045C +_0202F2CC: .word 0x00000458 +_0202F2D0: .word 0x00000454 +_0202F2D4: .word 0x0000054C +_0202F2D8: .word 0x0000056C +_0202F2DC: .word 0x0000065C +_0202F2E0: .word 0x000005F8 +_0202F2E4: .word sub_0202FB20 + 1 +_0202F2E8: .word 0x00000548 +_0202F2EC: .word 0x00000687 + + thumb_func_start sub_0202F2F0 +sub_0202F2F0: ; 0x0202F2F0 + push {r3-r7, lr} + ldr r3, _0202F54C ; =0x021C59F4 + ldr r2, _0202F550 ; =0x0000062C + ldr r1, [r3, #0x4] + mov r0, #0x0 + strb r0, [r1, r2] + ldr r4, [r3, #0x4] + add r1, r2, #0x1 + strb r0, [r4, r1] + add r1, r2, #0x0 + ldr r4, [r3, #0x4] + add r1, #0x53 + strb r0, [r4, r1] + ldr r1, [r3, #0x4] + add r2, #0x54 + strb r0, [r1, r2] + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r6, r0, #0x1 + ldr r0, _0202F54C ; =0x021C59F4 + ldr r2, _0202F554 ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F558 ; =0x00000458 + mov r1, #0x0 + ldr r0, [r3, r0] + ldr r3, [r3, r2] + add r2, r3, #0x0 + mul r2, r6 + blx sub_020CE34C + mov r4, #0x0 + cmp r6, #0x0 + ble _0202F360 + ldr r7, _0202F54C ; =0x021C59F4 + add r5, r4, #0x0 +_0202F33E: + ldr r3, [r7, #0x4] + ldr r0, _0202F554 ; =0x00000658 + ldr r1, _0202F558 ; =0x00000458 + ldr r2, [r3, r0] + ldr r0, _0202F55C ; =0x000004E8 + add r0, r3, r0 + ldr r3, [r3, r1] + add r1, r4, #0x0 + mul r1, r2 + add r0, r0, r5 + add r1, r3, r1 + bl sub_0202D394 + add r4, r4, #0x1 + add r5, #0xc + cmp r4, r6 + blt _0202F33E +_0202F360: + ldr r0, _0202F54C ; =0x021C59F4 + ldr r2, _0202F554 ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F560 ; =0x00000454 + mov r1, #0x0 + ldr r0, [r3, r0] + ldr r3, [r3, r2] + add r2, r3, #0x0 + mul r2, r6 + blx sub_020CE34C + mov r5, #0x0 + cmp r6, #0x0 + ble _0202F3A2 + ldr r7, _0202F54C ; =0x021C59F4 + add r4, r5, #0x0 +_0202F380: + ldr r3, [r7, #0x4] + ldr r0, _0202F554 ; =0x00000658 + ldr r1, _0202F560 ; =0x00000454 + ldr r2, [r3, r0] + ldr r0, _0202F564 ; =0x0000047C + add r0, r3, r0 + ldr r3, [r3, r1] + add r1, r5, #0x0 + mul r1, r2 + add r0, r0, r4 + add r1, r3, r1 + bl sub_0202D394 + add r5, r5, #0x1 + add r4, #0xc + cmp r5, r6 + blt _0202F380 +_0202F3A2: + ldr r0, _0202F54C ; =0x021C59F4 + mov r2, #0x6 + ldr r1, [r0, #0x4] + mov r0, #0xb5 + lsl r0, r0, #0x2 + add r0, r1, r0 + mov r1, #0x0 + lsl r2, r2, #0x6 + blx sub_020CE34C + ldr r0, _0202F54C ; =0x021C59F4 + mov r1, #0xb5 + ldr r2, [r0, #0x4] + ldr r0, _0202F568 ; =0x000004DC + lsl r1, r1, #0x2 + add r0, r2, r0 + add r1, r2, r1 + mov r2, #0x6 + lsl r2, r2, #0x6 + bl sub_0202D394 + mov r0, #0xee + add r2, r0, #0x0 + mov r3, #0x85 + ldr r4, _0202F54C ; =0x021C59F4 + mov r1, #0x0 + add r2, #0x66 + lsl r3, r3, #0x2 +_0202F3DA: + ldr r5, [r4, #0x4] + add r5, r5, r1 + strb r0, [r5, r2] + ldr r5, [r4, #0x4] + add r5, r5, r1 + add r1, r1, #0x1 + strb r0, [r5, r3] + cmp r1, #0xc0 + blt _0202F3DA + ldr r0, _0202F54C ; =0x021C59F4 + mov r2, #0x42 + ldr r0, [r0, #0x4] + mov r1, #0x0 + add r0, #0x4c + lsl r2, r2, #0x2 + blx sub_020CE34C + ldr r0, _0202F54C ; =0x021C59F4 + mov r2, #0x42 + ldr r1, [r0, #0x4] + ldr r0, _0202F56C ; =0x00000464 + lsl r2, r2, #0x2 + add r0, r1, r0 + add r1, #0x4c + bl sub_0202D394 + ldr r1, _0202F54C ; =0x021C59F4 + mov r2, #0xff + ldr r0, [r1, #0x4] + mov r3, #0x1 + strb r2, [r0, #0x0] + ldr r0, [r1, #0x4] + add r0, #0x26 + strb r2, [r0, #0x0] + mov r2, #0xee +_0202F420: + ldr r0, [r1, #0x4] + strb r2, [r0, r3] + ldr r0, [r1, #0x4] + add r0, r0, r3 + add r0, #0x26 + add r3, r3, #0x1 + strb r2, [r0, #0x0] + cmp r3, #0x26 + blt _0202F420 + ldr r0, _0202F54C ; =0x021C59F4 + ldr r2, _0202F554 ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F570 ; =0x0000045C + ldr r2, [r3, r2] + ldr r0, [r3, r0] + mov r1, #0x0 + lsl r2, r2, #0x1 + blx sub_020CE34C + ldr r0, _0202F54C ; =0x021C59F4 + mov r1, #0x47 + ldr r3, [r0, #0x4] + ldr r2, _0202F554 ; =0x00000658 + lsl r1, r1, #0x4 + add r0, r3, r1 + sub r1, #0x14 + ldr r2, [r3, r2] + ldr r1, [r3, r1] + lsl r2, r2, #0x1 + bl sub_0202D394 + mov r2, #0x0 + ldr r0, _0202F54C ; =0x021C59F4 + ldr r1, _0202F574 ; =0x00000684 + ldr r3, [r0, #0x4] + mov r12, r2 + strb r2, [r3, r1] + ldr r3, [r0, #0x4] + add r1, r1, #0x1 + strb r2, [r3, r1] + add r1, r2, #0x0 + add r7, r2, #0x0 + add r6, r2, #0x0 +_0202F476: + ldr r3, [r0, #0x4] + add r4, r3, r2 + ldr r3, _0202F578 ; =0x0000065F + strb r6, [r4, r3] + ldr r3, [r0, #0x4] + ldr r4, _0202F57C ; =0x00000667 + add r5, r3, r2 + mov r3, #0x1 + strb r3, [r5, r4] + ldr r3, [r0, #0x4] + add r4, #0x8 + add r5, r3, r2 + mov r3, #0x1 + strb r3, [r5, r4] + ldr r4, [r0, #0x4] + mov r3, r12 + add r4, r4, r3 + mov r3, #0x61 + lsl r3, r3, #0x4 + strh r6, [r4, r3] + ldr r3, [r0, #0x4] + mov r4, #0xee + add r5, r3, r1 + ldr r3, _0202F580 ; =0x00000596 + add r2, r2, #0x1 + strb r4, [r5, r3] + ldr r3, [r0, #0x4] + ldr r4, _0202F584 ; =0x0000FFFF + add r5, r3, r1 + ldr r3, _0202F588 ; =0x00000594 + strh r4, [r5, r3] + ldr r3, [r0, #0x4] + add r4, r3, r1 + mov r3, #0x59 + lsl r3, r3, #0x4 + str r6, [r4, r3] + ldr r3, [r0, #0x4] + add r4, r3, r1 + ldr r3, _0202F58C ; =0x0000058C + add r1, #0xc + str r6, [r4, r3] + ldr r3, [r0, #0x4] + add r4, r3, r7 + ldr r3, _0202F590 ; =0x00000638 + add r7, r7, #0x4 + str r6, [r4, r3] + mov r3, r12 + add r3, r3, #0x2 + mov r12, r3 + cmp r2, #0x8 + blt _0202F476 + ldr r1, _0202F54C ; =0x021C59F4 + ldr r0, _0202F594 ; =0x00000634 + ldr r2, [r1, #0x4] + sub r3, r0, #0x4 + str r6, [r2, r0] + ldr r4, [r1, #0x4] + mov r2, #0x1 + str r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + sub r3, #0x3e + mov r2, #0xee + strb r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + ldr r2, _0202F584 ; =0x0000FFFF + sub r3, #0x40 + strh r2, [r4, r3] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + sub r2, #0x44 + str r6, [r3, r2] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + sub r2, #0x48 + str r6, [r3, r2] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0x4e + mov r2, #0x1 + strb r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0x4f + strb r2, [r4, r3] + ldr r2, _0202F598 ; =0x02105D58 + mov r3, #0x4 + strb r3, [r2, #0x1] + strb r3, [r2, #0x0] + ldr r1, [r1, #0x4] + sub r0, #0xe8 + add r0, r1, r0 + bl sub_0202D804 + ldr r0, _0202F54C ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202F59C ; =0x0000056C + add r0, r1, r0 + bl sub_0202D804 + ldr r0, _0202F54C ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202F5A0 ; =0x00000688 + strb r2, [r1, r0] + pop {r3-r7, pc} + .balign 4 +_0202F54C: .word 0x021C59F4 +_0202F550: .word 0x0000062C +_0202F554: .word 0x00000658 +_0202F558: .word 0x00000458 +_0202F55C: .word 0x000004E8 +_0202F560: .word 0x00000454 +_0202F564: .word 0x0000047C +_0202F568: .word 0x000004DC +_0202F56C: .word 0x00000464 +_0202F570: .word 0x0000045C +_0202F574: .word 0x00000684 +_0202F578: .word 0x0000065F +_0202F57C: .word 0x00000667 +_0202F580: .word 0x00000596 +_0202F584: .word 0x0000FFFF +_0202F588: .word 0x00000594 +_0202F58C: .word 0x0000058C +_0202F590: .word 0x00000638 +_0202F594: .word 0x00000634 +_0202F598: .word 0x02105D58 +_0202F59C: .word 0x0000056C +_0202F5A0: .word 0x00000688 + + thumb_func_start sub_0202F5A4 +sub_0202F5A4: ; 0x0202F5A4 + push {r3-r7, lr} + ldr r1, _0202F7D4 ; =0x021C59F4 + ldr r0, _0202F7D8 ; =0x0000062C + ldr r2, [r1, #0x4] + mov r3, #0x0 + strb r3, [r2, r0] + ldr r1, [r1, #0x4] + add r0, r0, #0x1 + strb r3, [r1, r0] + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r6, r0, #0x1 + ldr r0, _0202F7D4 ; =0x021C59F4 + ldr r2, _0202F7DC ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F7E0 ; =0x00000458 + mov r1, #0x0 + ldr r0, [r3, r0] + ldr r3, [r3, r2] + add r2, r3, #0x0 + mul r2, r6 + blx sub_020CE34C + mov r4, #0x0 + cmp r6, #0x0 + ble _0202F606 + ldr r7, _0202F7D4 ; =0x021C59F4 + add r5, r4, #0x0 +_0202F5E4: + ldr r3, [r7, #0x4] + ldr r0, _0202F7DC ; =0x00000658 + ldr r1, _0202F7E0 ; =0x00000458 + ldr r2, [r3, r0] + ldr r0, _0202F7E4 ; =0x000004E8 + add r0, r3, r0 + ldr r3, [r3, r1] + add r1, r4, #0x0 + mul r1, r2 + add r0, r0, r5 + add r1, r3, r1 + bl sub_0202D394 + add r4, r4, #0x1 + add r5, #0xc + cmp r4, r6 + blt _0202F5E4 +_0202F606: + ldr r0, _0202F7D4 ; =0x021C59F4 + ldr r2, _0202F7DC ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F7E8 ; =0x00000454 + mov r1, #0x0 + ldr r0, [r3, r0] + ldr r3, [r3, r2] + add r2, r3, #0x0 + mul r2, r6 + blx sub_020CE34C + mov r5, #0x0 + cmp r6, #0x0 + ble _0202F648 + ldr r7, _0202F7D4 ; =0x021C59F4 + add r4, r5, #0x0 +_0202F626: + ldr r3, [r7, #0x4] + ldr r0, _0202F7DC ; =0x00000658 + ldr r1, _0202F7E8 ; =0x00000454 + ldr r2, [r3, r0] + ldr r0, _0202F7EC ; =0x0000047C + add r0, r3, r0 + ldr r3, [r3, r1] + add r1, r5, #0x0 + mul r1, r2 + add r0, r0, r4 + add r1, r3, r1 + bl sub_0202D394 + add r5, r5, #0x1 + add r4, #0xc + cmp r5, r6 + blt _0202F626 +_0202F648: + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r2, #0x6 + ldr r1, [r0, #0x4] + mov r0, #0xb5 + lsl r0, r0, #0x2 + add r0, r1, r0 + mov r1, #0x0 + lsl r2, r2, #0x6 + blx sub_020CE34C + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r1, #0xb5 + ldr r2, [r0, #0x4] + ldr r0, _0202F7F0 ; =0x000004DC + lsl r1, r1, #0x2 + add r0, r2, r0 + add r1, r2, r1 + mov r2, #0x6 + lsl r2, r2, #0x6 + bl sub_0202D394 + mov r0, #0xee + add r2, r0, #0x0 + mov r3, #0x85 + ldr r4, _0202F7D4 ; =0x021C59F4 + mov r1, #0x0 + add r2, #0x66 + lsl r3, r3, #0x2 +_0202F680: + ldr r5, [r4, #0x4] + add r5, r5, r1 + strb r0, [r5, r2] + ldr r5, [r4, #0x4] + add r5, r5, r1 + add r1, r1, #0x1 + strb r0, [r5, r3] + cmp r1, #0xc0 + blt _0202F680 + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r2, #0x42 + ldr r0, [r0, #0x4] + mov r1, #0x0 + add r0, #0x4c + lsl r2, r2, #0x2 + blx sub_020CE34C + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r2, #0x42 + ldr r1, [r0, #0x4] + ldr r0, _0202F7F4 ; =0x00000464 + lsl r2, r2, #0x2 + add r0, r1, r0 + add r1, #0x4c + bl sub_0202D394 + ldr r1, _0202F7D4 ; =0x021C59F4 + mov r2, #0xff + ldr r0, [r1, #0x4] + mov r3, #0x1 + strb r2, [r0, #0x0] + ldr r0, [r1, #0x4] + add r0, #0x26 + strb r2, [r0, #0x0] + mov r2, #0xee +_0202F6C6: + ldr r0, [r1, #0x4] + strb r2, [r0, r3] + ldr r0, [r1, #0x4] + add r0, r0, r3 + add r0, #0x26 + add r3, r3, #0x1 + strb r2, [r0, #0x0] + cmp r3, #0x26 + blt _0202F6C6 + ldr r0, _0202F7D4 ; =0x021C59F4 + ldr r2, _0202F7DC ; =0x00000658 + ldr r3, [r0, #0x4] + ldr r0, _0202F7F8 ; =0x0000045C + ldr r2, [r3, r2] + ldr r0, [r3, r0] + mov r1, #0x0 + lsl r2, r2, #0x1 + blx sub_020CE34C + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r1, #0x47 + ldr r3, [r0, #0x4] + ldr r2, _0202F7DC ; =0x00000658 + lsl r1, r1, #0x4 + add r0, r3, r1 + sub r1, #0x14 + ldr r2, [r3, r2] + ldr r1, [r3, r1] + lsl r2, r2, #0x1 + bl sub_0202D394 + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r3, #0x0 + ldr r2, [r0, #0x4] + ldr r1, _0202F7FC ; =0x00000684 + add r7, r3, #0x0 + strb r3, [r2, r1] + ldr r2, [r0, #0x4] + add r1, r1, #0x1 + strb r3, [r2, r1] + add r1, r3, #0x0 + add r2, r3, #0x0 +_0202F71A: + ldr r4, [r0, #0x4] + add r5, r4, r3 + ldr r4, _0202F800 ; =0x0000065F + strb r7, [r5, r4] + ldr r4, [r0, #0x4] + ldr r5, _0202F804 ; =0x00000667 + add r6, r4, r3 + mov r4, #0x1 + strb r4, [r6, r5] + ldr r4, [r0, #0x4] + add r5, #0x8 + add r6, r4, r3 + mov r4, #0x1 + strb r4, [r6, r5] + ldr r4, [r0, #0x4] + add r3, r3, #0x1 + add r5, r4, r1 + mov r4, #0x61 + lsl r4, r4, #0x4 + strh r7, [r5, r4] + ldr r4, [r0, #0x4] + ldr r5, _0202F808 ; =0x00000596 + add r6, r4, r2 + mov r4, #0xee + strb r4, [r6, r5] + ldr r4, [r0, #0x4] + ldr r5, _0202F80C ; =0x0000FFFF + add r6, r4, r2 + ldr r4, _0202F810 ; =0x00000594 + add r1, r1, #0x2 + strh r5, [r6, r4] + ldr r4, [r0, #0x4] + add r5, r4, r2 + mov r4, #0x59 + lsl r4, r4, #0x4 + str r7, [r5, r4] + ldr r4, [r0, #0x4] + add r5, r4, r2 + ldr r4, _0202F814 ; =0x0000058C + add r2, #0xc + str r7, [r5, r4] + cmp r3, #0x8 + blt _0202F71A + ldr r1, _0202F7D4 ; =0x021C59F4 + add r0, r4, #0x0 + ldr r3, [r1, #0x4] + add r0, #0xa4 + mov r2, #0x1 + str r2, [r3, r0] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + sub r3, #0x3a + mov r2, #0xee + strb r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + ldr r2, _0202F80C ; =0x0000FFFF + sub r3, #0x3c + strh r2, [r4, r3] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + sub r2, #0x40 + str r7, [r3, r2] + add r2, r0, #0x0 + ldr r3, [r1, #0x4] + sub r2, #0x44 + str r7, [r3, r2] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0x52 + mov r2, #0x1 + strb r2, [r4, r3] + add r3, r0, #0x0 + ldr r4, [r1, #0x4] + add r3, #0x53 + strb r2, [r4, r3] + ldr r1, [r1, #0x4] + sub r0, #0xe4 + add r0, r1, r0 + bl sub_0202D804 + ldr r0, _0202F7D4 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202F818 ; =0x0000056C + add r0, r1, r0 + bl sub_0202D804 + ldr r0, _0202F7D4 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202F81C ; =0x00000688 + strb r2, [r1, r0] + pop {r3-r7, pc} + .balign 4 +_0202F7D4: .word 0x021C59F4 +_0202F7D8: .word 0x0000062C +_0202F7DC: .word 0x00000658 +_0202F7E0: .word 0x00000458 +_0202F7E4: .word 0x000004E8 +_0202F7E8: .word 0x00000454 +_0202F7EC: .word 0x0000047C +_0202F7F0: .word 0x000004DC +_0202F7F4: .word 0x00000464 +_0202F7F8: .word 0x0000045C +_0202F7FC: .word 0x00000684 +_0202F800: .word 0x0000065F +_0202F804: .word 0x00000667 +_0202F808: .word 0x00000596 +_0202F80C: .word 0x0000FFFF +_0202F810: .word 0x00000594 +_0202F814: .word 0x0000058C +_0202F818: .word 0x0000056C +_0202F81C: .word 0x00000688 + + thumb_func_start sub_0202F820 +sub_0202F820: ; 0x0202F820 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0202F8B8 ; =0x021C59F4 + ldr r3, _0202F8BC ; =0x0000065F + ldr r1, [r0, #0x4] + mov r2, #0x0 + add r1, r1, r5 + strb r2, [r1, r3] + ldr r4, [r0, #0x4] + mov r1, #0x1 + add r6, r4, r5 + add r4, r3, #0x0 + add r4, #0x8 + strb r1, [r6, r4] + ldr r6, [r0, #0x4] + lsl r4, r5, #0x2 + add r6, r6, r4 + add r4, r3, #0x0 + sub r4, #0x27 + str r2, [r6, r4] + ldr r2, [r0, #0x4] + add r4, r2, r5 + add r2, r3, #0x0 + add r2, #0x10 + strb r1, [r4, r2] + ldr r1, [r0, #0x4] + sub r0, r3, #0x7 + ldr r2, [r1, r0] + ldr r3, _0202F8C0 ; =0x0000047C + mov r0, #0xc + add r4, r5, #0x0 + mul r4, r0 + add r0, r1, r3 + sub r3, #0x28 + ldr r3, [r1, r3] + add r1, r5, #0x0 + mul r1, r2 + add r0, r0, r4 + add r1, r3, r1 + bl sub_0202D394 + ldr r0, _0202F8B8 ; =0x021C59F4 + ldr r3, _0202F8C4 ; =0x000004E8 + ldr r1, [r0, #0x4] + ldr r0, _0202F8C8 ; =0x00000658 + ldr r2, [r1, r0] + add r0, r1, r3 + sub r3, #0x90 + ldr r3, [r1, r3] + add r1, r5, #0x0 + mul r1, r2 + add r0, r0, r4 + add r1, r3, r1 + bl sub_0202D394 + ldr r3, _0202F8B8 ; =0x021C59F4 + ldr r2, _0202F8CC ; =0x00000596 + ldr r0, [r3, #0x4] + mov r1, #0xee + add r0, r0, r4 + strb r1, [r0, r2] + ldr r0, [r3, #0x4] + ldr r5, _0202F8D0 ; =0x0000FFFF + add r1, r0, r4 + sub r0, r2, #0x2 + strh r5, [r1, r0] + ldr r1, [r3, #0x4] + mov r0, #0x0 + add r5, r1, r4 + sub r1, r2, #0x6 + str r0, [r5, r1] + ldr r1, [r3, #0x4] + sub r2, #0xa + add r1, r1, r4 + str r0, [r1, r2] + pop {r4-r6, pc} + .balign 4 +_0202F8B8: .word 0x021C59F4 +_0202F8BC: .word 0x0000065F +_0202F8C0: .word 0x0000047C +_0202F8C4: .word 0x000004E8 +_0202F8C8: .word 0x00000658 +_0202F8CC: .word 0x00000596 +_0202F8D0: .word 0x0000FFFF + + thumb_func_start sub_0202F8D4 +sub_0202F8D4: ; 0x0202F8D4 + push {r4-r6, lr} + ldr r4, _0202F908 ; =0x021C59F4 + ldr r6, _0202F90C ; =0x00000667 + mov r5, #0x1 +_0202F8DC: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202F900 + ldr r0, [r4, #0x4] + add r0, r0, r5 + ldrb r0, [r0, r6] + cmp r0, #0x0 + bne _0202F900 + bl sub_02031280 + cmp r0, #0x0 + bne _0202F900 + add r0, r5, #0x0 + bl sub_0202F820 +_0202F900: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0202F8DC + pop {r4-r6, pc} + .balign 4 +_0202F908: .word 0x021C59F4 +_0202F90C: .word 0x00000667 + + thumb_func_start sub_0202F910 +sub_0202F910: ; 0x0202F910 + ldr r3, _0202F914 ; =sub_0202F820 + bx r3 + .balign 4 +_0202F914: .word sub_0202F820 + 1 + + thumb_func_start sub_0202F918 +sub_0202F918: ; 0x0202F918 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + mov r4, #0x1 + bl sub_02033534 + cmp r0, #0x13 + bge _0202F93E + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0202E5F8 + add r4, r0, #0x0 + ldr r0, _0202F94C ; =sub_0202F910 + bl sub_0202D330 +_0202F93E: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_0202F150 + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_0202F94C: .word sub_0202F910 + 1 + + thumb_func_start sub_0202F950 +sub_0202F950: ; 0x0202F950 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + mov r4, #0x1 + bl sub_02033534 + cmp r0, #0x13 + bge _0202F96C + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0202E66C + add r4, r0, #0x0 +_0202F96C: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_0202F150 + ldr r0, _0202F980 ; =0x02105D58 + mov r1, #0x4 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_0202F980: .word 0x02105D58 + + thumb_func_start sub_0202F984 +sub_0202F984: ; 0x0202F984 + push {r4, lr} + mov r4, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _0202F99A + ldr r0, _0202F9D4 ; =0x02105D58 + ldrb r0, [r0, #0x1] + cmp r0, #0x4 + beq _0202F9A2 + pop {r4, pc} +_0202F99A: + ldr r0, _0202F9D4 ; =0x02105D58 + ldrb r0, [r0, #0x0] + cmp r0, #0x4 + bne _0202F9D0 +_0202F9A2: + ldr r0, _0202F9D8 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _0202F9DC ; =0x0000067D + ldrb r1, [r2, r0] + cmp r1, #0x2 + bne _0202F9B4 + mov r1, #0x0 + strb r1, [r2, r0] + mov r4, #0x1 +_0202F9B4: + ldr r0, _0202F9D8 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _0202F9DC ; =0x0000067D + ldrb r1, [r2, r0] + cmp r1, #0x3 + bne _0202F9C4 + mov r4, #0x1 + strb r4, [r2, r0] +_0202F9C4: + cmp r4, #0x0 + beq _0202F9CC + bl sub_0202F5A4 +_0202F9CC: + bl sub_02031088 +_0202F9D0: + pop {r4, pc} + nop +_0202F9D4: .word 0x02105D58 +_0202F9D8: .word 0x021C59F4 +_0202F9DC: .word 0x0000067D + + thumb_func_start sub_0202F9E0 +sub_0202F9E0: ; 0x0202F9E0 + ldr r1, _0202FA08 ; =0x021C59F4 + ldr r3, [r1, #0x4] + ldr r1, _0202FA0C ; =0x0000067D + ldrb r2, [r3, r1] + cmp r2, #0x0 + bne _0202F9F6 + cmp r0, #0x1 + bne _0202F9F6 + mov r0, #0x3 + strb r0, [r3, r1] + bx lr +_0202F9F6: + cmp r2, #0x1 + bne _0202FA04 + cmp r0, #0x0 + bne _0202FA04 + ldr r0, _0202FA0C ; =0x0000067D + mov r1, #0x2 + strb r1, [r3, r0] +_0202FA04: + bx lr + nop +_0202FA08: .word 0x021C59F4 +_0202FA0C: .word 0x0000067D + + thumb_func_start sub_0202FA10 +sub_0202FA10: ; 0x0202FA10 + ldr r3, _0202FA18 ; =sub_0202F9E0 + mov r0, #0x1 + bx r3 + nop +_0202FA18: .word sub_0202F9E0 + 1 + + thumb_func_start sub_0202FA1C +sub_0202FA1C: ; 0x0202FA1C + ldr r3, _0202FA24 ; =sub_0202F9E0 + mov r0, #0x0 + bx r3 + nop +_0202FA24: .word sub_0202F9E0 + 1 + + thumb_func_start sub_0202FA28 +sub_0202FA28: ; 0x0202FA28 + ldr r0, _0202FA40 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FA44 ; =0x0000067D + ldrb r0, [r1, r0] + cmp r0, #0x2 + bne _0202FA38 + mov r0, #0x1 + bx lr +_0202FA38: + cmp r0, #0x3 + bne _0202FA3E + mov r0, #0x0 +_0202FA3E: + bx lr + .balign 4 +_0202FA40: .word 0x021C59F4 +_0202FA44: .word 0x0000067D + + thumb_func_start sub_0202FA48 +sub_0202FA48: ; 0x0202FA48 + push {r3, lr} + bl sub_0202FA28 + cmp r0, #0x1 + bne _0202FA56 + mov r0, #0x1 + pop {r3, pc} +_0202FA56: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202FA5C +sub_0202FA5C: ; 0x0202FA5C + push {r4, lr} + ldr r0, _0202FB00 ; =0x021C59F4 + mov r4, #0x0 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202FA82 + bl sub_02033534 + cmp r0, #0x13 + blt _0202FA78 + bl sub_021D83C0 + mov r4, #0x1 + b _0202FA82 +_0202FA78: + bl sub_0202E784 + cmp r0, #0x0 + beq _0202FA82 + mov r4, #0x1 +_0202FA82: + cmp r4, #0x0 + beq _0202FAFE + bl sub_020314D0 + bl sub_0202DBA4 + ldr r0, _0202FB00 ; =0x021C59F4 + mov r1, #0x0 + strb r1, [r0, #0x0] + ldr r1, [r0, #0x4] + ldr r0, _0202FB04 ; =0x00000548 + ldr r0, [r1, r0] + bl sub_0200CAB4 + ldr r1, _0202FB00 ; =0x021C59F4 + ldr r0, _0202FB04 ; =0x00000548 + ldr r2, [r1, #0x4] + mov r3, #0x0 + str r3, [r2, r0] + ldr r1, [r1, #0x4] + sub r0, #0xec + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x46 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FB08 ; =0x00000458 + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FB0C ; =0x00000454 + ldr r0, [r1, r0] + bl sub_02016A18 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FB10 ; =0x0000056C + add r0, r1, r0 + bl sub_0202D824 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FB14 ; =0x0000054C + add r0, r1, r0 + bl sub_0202D824 + ldr r0, _0202FB00 ; =0x021C59F4 + ldr r0, [r0, #0x4] + bl sub_02016A18 + ldr r0, _0202FB00 ; =0x021C59F4 + mov r1, #0x0 + str r1, [r0, #0x4] +_0202FAFE: + pop {r4, pc} + .balign 4 +_0202FB00: .word 0x021C59F4 +_0202FB04: .word 0x00000548 +_0202FB08: .word 0x00000458 +_0202FB0C: .word 0x00000454 +_0202FB10: .word 0x0000056C +_0202FB14: .word 0x0000054C + + thumb_func_start sub_0202FB18 +sub_0202FB18: ; 0x0202FB18 + ldr r3, _0202FB1C ; =sub_0202E9E8 + bx r3 + .balign 4 +_0202FB1C: .word sub_0202E9E8 + 1 + + thumb_func_start sub_0202FB20 +sub_0202FB20: ; 0x0202FB20 + push {r3, lr} + ldr r0, _0202FB54 ; =0x021C59F4 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202FB52 + bl sub_0203050C + bl sub_02031190 + cmp r0, #0x0 + bne _0202FB40 + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202FB48 +_0202FB40: + bl sub_02031280 + cmp r0, #0x0 + beq _0202FB4C +_0202FB48: + bl sub_0202FEEC +_0202FB4C: + ldr r0, _0202FB54 ; =0x021C59F4 + mov r1, #0x0 + strb r1, [r0, #0x0] +_0202FB52: + pop {r3, pc} + .balign 4 +_0202FB54: .word 0x021C59F4 + + thumb_func_start sub_0202FB58 +sub_0202FB58: ; 0x0202FB58 + push {r3, lr} + bl sub_0202F03C + cmp r0, #0x0 + beq _0202FB7C + bl sub_02031190 + cmp r0, #0x0 + bne _0202FB78 + bl sub_0202EE24 + cmp r0, #0x0 + bne _0202FB7C + bl sub_0202FA5C + pop {r3, pc} +_0202FB78: + bl sub_0202FA5C +_0202FB7C: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0202FB80 +sub_0202FB80: ; 0x0202FB80 + push {r4, lr} + bl sub_02031CDC + ldr r1, _0202FC48 ; =0x021C59F4 + ldr r2, [r1, #0x4] + cmp r2, #0x0 + beq _0202FC34 + ldr r0, _0202FC4C ; =0x0000068A + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _0202FC16 + mov r0, #0x0 + strb r0, [r1, #0x0] + bl sub_0202F984 + ldr r0, _0202FC48 ; =0x021C59F4 + ldr r1, _0202FC50 ; =0x021C48B8 + ldr r0, [r0, #0x4] + ldr r2, _0202FC54 ; =0x00000628 + ldr r3, [r1, #0x44] + ldr r1, _0202FC58 ; =0x00007FFF + ldrh r4, [r0, r2] + and r1, r3 + orr r1, r4 + strh r1, [r0, r2] + bl sub_02030674 + bl sub_0202FCCC + ldr r0, _0202FC48 ; =0x021C59F4 + ldr r1, _0202FC54 ; =0x00000628 + ldr r3, [r0, #0x4] + mov r0, #0x2 + ldrh r2, [r3, r1] + lsl r0, r0, #0xe + and r0, r2 + strh r0, [r3, r1] + bl sub_0202FA28 + cmp r0, #0x0 + bne _0202FBD6 + bl sub_02030DA4 +_0202FBD6: + bl sub_02031190 + cmp r0, #0x0 + bne _0202FBE8 + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202FBF0 +_0202FBE8: + bl sub_02031280 + cmp r0, #0x0 + beq _0202FBF4 +_0202FBF0: + bl sub_02030074 +_0202FBF4: + bl sub_02031190 + cmp r0, #0x0 + beq _0202FC0C + bl sub_0202FA28 + cmp r0, #0x1 + beq _0202FC0C + bl sub_02031280 + cmp r0, #0x0 + beq _0202FC10 +_0202FC0C: + bl sub_02030DFC +_0202FC10: + ldr r0, _0202FC48 ; =0x021C59F4 + mov r1, #0x1 + strb r1, [r0, #0x0] +_0202FC16: + ldr r0, _0202FC48 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FC5C ; =0x0000065C + ldrh r0, [r1, r0] + bl sub_0202ED70 + bl sub_02031190 + cmp r0, #0x0 + bne _0202FC2E + bl sub_0202F8D4 +_0202FC2E: + bl sub_0202FB58 + b _0202FC3A +_0202FC34: + mov r0, #0x0 + bl sub_0202ED70 +_0202FC3A: + mov r0, #0x0 + bl sub_020335F4 + bl sub_020315A4 + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0202FC48: .word 0x021C59F4 +_0202FC4C: .word 0x0000068A +_0202FC50: .word 0x021C48B8 +_0202FC54: .word 0x00000628 +_0202FC58: .word 0x00007FFF +_0202FC5C: .word 0x0000065C + + thumb_func_start sub_0202FC60 +sub_0202FC60: ; 0x0202FC60 + push {r4, lr} + ldr r0, _0202FC7C ; =0x021C59F4 + mov r1, #0x0 + ldrb r4, [r0, #0x0] + strb r1, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202FC74 + bl sub_0202F2F0 +_0202FC74: + ldr r0, _0202FC7C ; =0x021C59F4 + strb r4, [r0, #0x0] + pop {r4, pc} + nop +_0202FC7C: .word 0x021C59F4 + + thumb_func_start sub_0202FC80 +sub_0202FC80: ; 0x0202FC80 + push {r4, lr} + ldr r0, _0202FCA0 ; =0x021C59F4 + mov r1, #0x0 + ldrb r4, [r0, #0x0] + strb r1, [r0, #0x0] + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _0202FC9A + ldr r0, _0202FCA4 ; =0x0000067D + mov r1, #0x1 + strb r1, [r2, r0] + bl sub_0202F2F0 +_0202FC9A: + ldr r0, _0202FCA0 ; =0x021C59F4 + strb r4, [r0, #0x0] + pop {r4, pc} + .balign 4 +_0202FCA0: .word 0x021C59F4 +_0202FCA4: .word 0x0000067D + + thumb_func_start sub_0202FCA8 +sub_0202FCA8: ; 0x0202FCA8 + push {r4, lr} + ldr r0, _0202FCC8 ; =0x021C59F4 + mov r1, #0x0 + ldrb r4, [r0, #0x0] + strb r1, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202FCC0 + bl sub_0202F2F0 + bl sub_0202E538 +_0202FCC0: + ldr r0, _0202FCC8 ; =0x021C59F4 + strb r4, [r0, #0x0] + pop {r4, pc} + nop +_0202FCC8: .word 0x021C59F4 + + thumb_func_start sub_0202FCCC +sub_0202FCCC: ; 0x0202FCCC + push {r3, lr} + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FE18 ; =0x00000683 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0202FD40 + bl sub_02033534 + cmp r0, #0x13 + blt _0202FD06 + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r1, _0202FE1C ; =0x00000687 + ldr r0, [r0, #0x4] + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _0202FCF8 + mov r1, #0x26 + bl sub_021D78FC + cmp r0, #0x0 + bne _0202FCFA +_0202FCF8: + b _0202FE10 +_0202FCFA: + ldr r0, _0202FE14 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202FE18 ; =0x00000683 + strb r2, [r1, r0] + pop {r3, pc} +_0202FD06: + bl sub_0202CBD4 + cmp r0, #0x4 + bne _0202FD1A + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202FD22 +_0202FD1A: + bl sub_02031280 + cmp r0, #0x0 + beq _0202FE10 +_0202FD22: + ldr r0, _0202FE20 ; =0x02105D58 + mov r1, #0x0 + strb r1, [r0, #0x0] + bl sub_0203050C + ldr r0, _0202FE20 ; =0x02105D58 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0202FE10 + ldr r0, _0202FE14 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0202FE18 ; =0x00000683 + strb r2, [r1, r0] + pop {r3, pc} +_0202FD40: + bl sub_02033534 + cmp r0, #0x13 + blt _0202FDB2 + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r2, _0202FE1C ; =0x00000687 + ldr r0, [r0, #0x4] + ldrb r1, [r0, r2] + cmp r1, #0x0 + beq _0202FE10 + add r1, r2, #0x0 + sub r1, #0x57 + ldr r1, [r0, r1] + cmp r1, #0x0 + beq _0202FD7A + sub r2, #0x53 + ldr r1, [r0, r2] + cmp r1, #0x3 + bgt _0202FE10 + ldr r1, _0202FE20 ; =0x02105D58 + ldrb r1, [r1, #0x0] + cmp r1, #0x4 + bne _0202FD90 + bl sub_02030930 + ldr r0, _0202FE20 ; =0x02105D58 + mov r1, #0x2 + strb r1, [r0, #0x0] + b _0202FD90 +_0202FD7A: + ldr r1, _0202FE20 ; =0x02105D58 + ldrb r1, [r1, #0x0] + cmp r1, #0x4 + bne _0202FD90 + bl sub_02030930 + cmp r0, #0x0 + beq _0202FE10 + ldr r0, _0202FE20 ; =0x02105D58 + mov r1, #0x2 + strb r1, [r0, #0x0] +_0202FD90: + ldr r0, _0202FE14 ; =0x021C59F4 + mov r1, #0x26 + ldr r0, [r0, #0x4] + bl sub_021D78FC + cmp r0, #0x0 + beq _0202FE10 + ldr r0, _0202FE20 ; =0x02105D58 + mov r1, #0x4 + strb r1, [r0, #0x0] + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _0202FE24 ; =0x00000634 + ldr r1, [r2, r0] + add r1, r1, #0x1 + str r1, [r2, r0] + pop {r3, pc} +_0202FDB2: + bl sub_0202CBD4 + cmp r0, #0x4 + bne _0202FDC6 + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _0202FDCE +_0202FDC6: + bl sub_02031280 + cmp r0, #0x0 + beq _0202FE10 +_0202FDCE: + ldr r0, _0202FE20 ; =0x02105D58 + ldrb r0, [r0, #0x0] + cmp r0, #0x4 + bne _0202FE10 + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _0202FE24 ; =0x00000634 + ldr r1, [r2, r0] + cmp r1, #0x3 + bgt _0202FE10 + add r0, #0x4b + ldrb r1, [r2, r0] + mov r0, #0x26 + mul r0, r1 + add r0, r2, r0 + bl sub_02030930 + ldr r0, _0202FE14 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _0202FE28 ; =0x0000067F + ldrb r1, [r2, r0] + mov r0, #0x1 + sub r1, r0, r1 + mov r0, #0x26 + mul r0, r1 + add r0, r2, r0 + bl sub_02030930 + ldr r0, _0202FE20 ; =0x02105D58 + mov r1, #0x0 + strb r1, [r0, #0x0] + bl sub_0203050C +_0202FE10: + pop {r3, pc} + nop +_0202FE14: .word 0x021C59F4 +_0202FE18: .word 0x00000683 +_0202FE1C: .word 0x00000687 +_0202FE20: .word 0x02105D58 +_0202FE24: .word 0x00000634 +_0202FE28: .word 0x0000067F + + thumb_func_start sub_0202FE2C +sub_0202FE2C: ; 0x0202FE2C + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + str r0, [sp, #0xc] + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r0, r0, #0x1 + mov r7, #0x0 + str r0, [sp, #0x8] + cmp r0, #0x0 + ble _0202FED0 + ldr r0, [sp, #0x0] + mov r1, #0xc0 + add r6, r0, #0x0 + add r4, r7, #0x0 + add r5, r7, #0x0 + mul r6, r1 +_0202FE66: + ldr r0, _0202FEE4 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0202FEE8 ; =0x0000047C + add r0, r1, r0 + add r0, r0, r4 + bl sub_0202D4BC + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202FE90 + ldr r0, _0202FEE4 ; =0x021C59F4 + mov r1, #0xe + ldr r0, [r0, #0x4] + add r0, r6, r0 + add r2, r5, r0 + mov r0, #0x55 + lsl r0, r0, #0x2 + strb r1, [r2, r0] +_0202FE90: + ldr r0, _0202FEE4 ; =0x021C59F4 + mov r2, #0x55 + ldr r1, [r0, #0x4] + ldr r0, _0202FEE8 ; =0x0000047C + lsl r2, r2, #0x2 + add r0, r1, r0 + add r1, r1, r2 + add r1, r1, r6 + ldr r2, [sp, #0xc] + add r0, r0, r4 + add r1, r1, r5 + bl sub_0202D400 + ldr r0, _0202FEE4 ; =0x021C59F4 + ldr r0, [r0, #0x4] + add r0, r6, r0 + add r1, r5, r0 + mov r0, #0x55 + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0xe + bne _0202FEC2 + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] +_0202FEC2: + ldr r0, [sp, #0xc] + add r7, r7, #0x1 + add r5, r5, r0 + ldr r0, [sp, #0x8] + add r4, #0xc + cmp r7, r0 + blt _0202FE66 +_0202FED0: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + cmp r1, r0 + bne _0202FEDE + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0202FEDE: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0202FEE4: .word 0x021C59F4 +_0202FEE8: .word 0x0000047C + + thumb_func_start sub_0202FEEC +sub_0202FEEC: ; 0x0202FEEC + push {r3-r7, lr} + ldr r0, _02030064 ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0202FEFE + bl sub_02033534 + cmp r0, #0x13 + blt _0202FF00 +_0202FEFE: + b _02030062 +_0202FF00: + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + str r0, [sp, #0x0] + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r6, r0, #0x1 + ldr r0, _02030068 ; =0x02105D58 + ldrb r1, [r0, #0x1] + cmp r1, #0x2 + beq _0202FF2C + ldrb r0, [r0, #0x1] + cmp r0, #0x0 + beq _0202FF2C + b _02030062 +_0202FF2C: + ldr r0, _02030068 ; =0x02105D58 + ldrb r1, [r0, #0x1] + add r1, r1, #0x1 + strb r1, [r0, #0x1] + bl sub_0202FA28 + cmp r0, #0x1 + bne _0202FF4A + ldr r0, _02030064 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x1a + lsl r0, r0, #0x6 + ldrb r0, [r1, r0] + bl sub_0202FE2C +_0202FF4A: + bl sub_0202CBD4 + cmp r0, #0x4 + bne _0202FF86 + bl sub_02031280 + cmp r0, #0x0 + bne _0202FF86 + ldr r0, _02030064 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x55 + lsl r0, r0, #0x2 + add r3, r1, r0 + mov r0, #0x1a + lsl r0, r0, #0x6 + ldrb r0, [r1, r0] + mov r1, #0xc0 + add r2, r0, #0x0 + mul r2, r1 + add r0, r3, r2 + ldr r3, _0203006C ; =sub_020304F0 + mov r2, #0xe + bl sub_0202D0D0 + cmp r0, #0x0 + bne _0202FF86 + ldr r0, _02030068 ; =0x02105D58 + ldrb r1, [r0, #0x1] + sub r1, r1, #0x1 + strb r1, [r0, #0x1] +_0202FF86: + ldr r0, _02030068 ; =0x02105D58 + ldrb r1, [r0, #0x1] + cmp r1, #0x1 + beq _0202FF94 + ldrb r0, [r0, #0x1] + cmp r0, #0x3 + bne _0203000A +_0202FF94: + mov r4, #0x0 + cmp r6, #0x0 + ble _0202FFDC + ldr r7, _02030064 ; =0x021C59F4 + add r5, r4, #0x0 +_0202FF9E: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _0202FFBA + ldr r0, [r7, #0x4] + ldr r1, _02030070 ; =0x00000638 + add r0, r0, r5 + ldr r1, [r0, r1] + add r2, r1, #0x1 + ldr r1, _02030070 ; =0x00000638 + str r2, [r0, r1] + b _0202FFD4 +_0202FFBA: + bl sub_02031280 + cmp r0, #0x0 + beq _0202FFD4 + cmp r4, #0x0 + bne _0202FFD4 + ldr r0, [r7, #0x4] + ldr r1, _02030070 ; =0x00000638 + add r0, r0, r5 + ldr r1, [r0, r1] + add r2, r1, #0x1 + ldr r1, _02030070 ; =0x00000638 + str r2, [r0, r1] +_0202FFD4: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r6 + blt _0202FF9E +_0202FFDC: + ldr r0, _02030064 ; =0x021C59F4 + mov r1, #0x55 + ldr r2, [r0, #0x4] + lsl r1, r1, #0x2 + add r4, r2, r1 + mov r1, #0x1a + lsl r1, r1, #0x6 + ldrb r1, [r2, r1] + mov r2, #0xc0 + mov r0, #0x0 + add r3, r1, #0x0 + mul r3, r2 + add r1, r4, r3 + bl sub_0203026C + ldr r0, _02030064 ; =0x021C59F4 + mov r1, #0x1a + ldr r3, [r0, #0x4] + lsl r1, r1, #0x6 + ldrb r2, [r3, r1] + mov r0, #0x1 + sub r0, r0, r2 + strb r0, [r3, r1] +_0203000A: + mov r5, #0x0 + cmp r6, #0x0 + ble _0203004A + add r4, r5, #0x0 + mov r7, #0xff +_02030014: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + bne _02030040 + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030040 + ldr r0, _02030064 ; =0x021C59F4 + mov r1, #0x1a + ldr r0, [r0, #0x4] + lsl r1, r1, #0x6 + ldrb r2, [r0, r1] + mov r1, #0xc0 + mul r1, r2 + add r0, r0, r1 + add r1, r4, r0 + mov r0, #0x55 + lsl r0, r0, #0x2 + strb r7, [r1, r0] +_02030040: + ldr r0, [sp, #0x0] + add r5, r5, #0x1 + add r4, r4, r0 + cmp r5, r6 + blt _02030014 +_0203004A: + bl sub_0202CBD4 + cmp r0, #0x4 + bne _0203005A + bl sub_02031280 + cmp r0, #0x0 + beq _02030062 +_0203005A: + ldr r0, _02030068 ; =0x02105D58 + ldrb r1, [r0, #0x1] + add r1, r1, #0x1 + strb r1, [r0, #0x1] +_02030062: + pop {r3-r7, pc} + .balign 4 +_02030064: .word 0x021C59F4 +_02030068: .word 0x02105D58 +_0203006C: .word sub_020304F0 + 1 +_02030070: .word 0x00000638 + + thumb_func_start sub_02030074 +sub_02030074: ; 0x02030074 + push {r3-r7, lr} + ldr r0, _02030228 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0203022C ; =0x00000683 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _020300DC + bl sub_02033534 + cmp r0, #0x13 + blt _020300B4 + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + beq _020300DC + ldr r0, _02030228 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x55 + lsl r0, r0, #0x2 + add r0, r1, r0 + mov r1, #0x4c + bl sub_021D79B4 + cmp r0, #0x0 + beq _020300DC + ldr r0, _02030228 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0203022C ; =0x00000683 + strb r2, [r1, r0] + pop {r3-r7, pc} +_020300B4: + bl sub_0202CBD4 + cmp r0, #0x4 + beq _020300C4 + bl sub_02031280 + cmp r0, #0x0 + beq _020300DC +_020300C4: + bl sub_0202FEEC + ldr r0, _02030230 ; =0x02105D58 + ldrb r0, [r0, #0x1] + cmp r0, #0x2 + bne _020300DC + ldr r0, _02030228 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0203022C ; =0x00000683 + strb r2, [r1, r0] + pop {r3-r7, pc} +_020300DC: + bl sub_02033534 + cmp r0, #0x13 + blt _02030184 + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _020300F0 + b _02030224 +_020300F0: + ldr r0, _02030228 ; =0x021C59F4 + mov r1, #0x63 + ldr r2, [r0, #0x4] + lsl r1, r1, #0x4 + ldr r0, [r2, r1] + cmp r0, #0x0 + beq _02030130 + add r0, r1, #0x0 + add r0, #0xc + ldr r0, [r2, r0] + cmp r0, #0x3 + bgt _02030110 + add r1, #0x8 + ldr r0, [r2, r1] + cmp r0, #0x3 + ble _02030112 +_02030110: + b _02030224 +_02030112: + ldr r0, _02030230 ; =0x02105D58 + ldrb r0, [r0, #0x1] + cmp r0, #0x4 + bne _02030150 + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030128 + mov r0, #0x0 + bl sub_0202FE2C +_02030128: + ldr r0, _02030230 ; =0x02105D58 + mov r1, #0x2 + strb r1, [r0, #0x1] + b _02030150 +_02030130: + ldr r0, _02030230 ; =0x02105D58 + ldrb r0, [r0, #0x1] + cmp r0, #0x4 + bne _0203014A + bl sub_0202FA28 + cmp r0, #0x1 + bne _0203014A + mov r0, #0x0 + bl sub_0202FE2C + cmp r0, #0x0 + beq _02030224 +_0203014A: + ldr r0, _02030230 ; =0x02105D58 + mov r1, #0x2 + strb r1, [r0, #0x1] +_02030150: + ldr r0, _02030228 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x55 + lsl r0, r0, #0x2 + add r0, r1, r0 + mov r1, #0x4c + bl sub_021D79B4 + cmp r0, #0x0 + beq _02030224 + ldr r0, _02030230 ; =0x02105D58 + mov r1, #0x4 + strb r1, [r0, #0x1] + ldr r1, _02030228 ; =0x021C59F4 + ldr r0, _02030234 ; =0x00000638 + ldr r3, [r1, #0x4] + ldr r2, [r3, r0] + add r2, r2, #0x1 + str r2, [r3, r0] + ldr r2, [r1, #0x4] + add r1, r0, #0x4 + ldr r1, [r2, r1] + add r0, r0, #0x4 + add r1, r1, #0x1 + str r1, [r2, r0] + pop {r3-r7, pc} +_02030184: + bl sub_0202CBD4 + cmp r0, #0x4 + beq _02030194 + bl sub_02031280 + cmp r0, #0x0 + beq _02030224 +_02030194: + ldr r0, _02030230 ; =0x02105D58 + ldrb r0, [r0, #0x1] + cmp r0, #0x4 + bne _02030224 + ldr r6, _02030228 ; =0x021C59F4 + ldr r7, _02030234 ; =0x00000638 + mov r4, #0x1 + mov r5, #0x4 +_020301A4: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _020301BC + ldr r0, [r6, #0x4] + add r0, r0, r5 + ldr r0, [r0, r7] + cmp r0, #0x3 + ble _020301D2 + pop {r3-r7, pc} +_020301BC: + cmp r4, #0x0 + bne _020301D2 + bl sub_02031280 + cmp r0, #0x0 + beq _020301D2 + ldr r1, [r6, #0x4] + ldr r0, _02030234 ; =0x00000638 + ldr r0, [r1, r0] + cmp r0, #0x3 + bgt _02030224 +_020301D2: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x8 + blt _020301A4 + bl sub_0202FA28 + cmp r0, #0x0 + bne _0203021A + ldr r0, _02030228 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x55 + lsl r0, r0, #0x2 + add r2, r1, r0 + mov r0, #0x1a + lsl r0, r0, #0x6 + ldrb r1, [r1, r0] + mov r0, #0xc0 + mul r0, r1 + add r0, r2, r0 + bl sub_02030A00 + ldr r0, _02030228 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x55 + lsl r0, r0, #0x2 + add r2, r1, r0 + mov r0, #0x1a + lsl r0, r0, #0x6 + ldrb r1, [r1, r0] + mov r0, #0x1 + sub r1, r0, r1 + mov r0, #0xc0 + mul r0, r1 + add r0, r2, r0 + bl sub_02030A00 +_0203021A: + ldr r0, _02030230 ; =0x02105D58 + mov r1, #0x0 + strb r1, [r0, #0x1] + bl sub_0202FEEC +_02030224: + pop {r3-r7, pc} + nop +_02030228: .word 0x021C59F4 +_0203022C: .word 0x00000683 +_02030230: .word 0x02105D58 +_02030234: .word 0x00000638 + + thumb_func_start sub_02030238 +sub_02030238: ; 0x02030238 + push {r4-r6, lr} + ldr r4, _02030264 ; =0x021C59F4 + ldr r3, _02030268 ; =0x0000066F + ldr r5, [r4, #0x4] + ldrb r6, [r5, r3] + cmp r6, #0x0 + beq _0203025C + add r0, r3, #0x0 + sub r0, #0x3b + ldr r0, [r5, r0] + sub r1, r0, #0x1 + add r0, r3, #0x0 + sub r0, #0x3b + str r1, [r5, r0] + ldr r0, [r4, #0x4] + mov r1, #0x0 + strb r1, [r0, r3] + pop {r4-r6, pc} +_0203025C: + bl sub_0203026C + pop {r4-r6, pc} + nop +_02030264: .word 0x021C59F4 +_02030268: .word 0x0000066F + + thumb_func_start sub_0203026C +sub_0203026C: ; 0x0203026C + push {r3-r7, lr} + sub sp, #0x8 + ldr r0, _020303A0 ; =0x021C59F4 + add r5, r1, #0x0 + ldr r2, [r0, #0x4] + ldr r0, _020303A4 ; =0x00000634 + ldr r1, [r2, r0] + sub r1, r1, #0x1 + str r1, [r2, r0] + cmp r5, #0x0 + beq _02030290 + ldrb r0, [r5, #0x0] + cmp r0, #0xb + bne _02030296 + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030292 +_02030290: + b _0203039C +_02030292: + add r5, r5, #0x1 + b _0203029E +_02030296: + bl sub_0202FA28 + cmp r0, #0x0 + beq _0203039C +_0203029E: + ldr r0, _020303A0 ; =0x021C59F4 + ldr r1, _020303A8 ; =0x00000682 + ldr r0, [r0, #0x4] + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _020302B2 + ldrb r2, [r5, #0x0] + mov r1, #0x1 + tst r1, r2 + bne _0203039C +_020302B2: + ldr r1, _020303A8 ; =0x00000682 + mov r2, #0x0 + strb r2, [r0, r1] + bl sub_0202FA28 + cmp r0, #0x1 + bne _0203036E + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + add r6, r0, #0x0 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r0, r0, #0x1 + mov r4, #0x0 + str r0, [sp, #0x4] + cmp r0, #0x0 + ble _0203039C + sub r0, r6, #0x1 + add r7, r4, #0x0 + str r0, [sp, #0x0] +_020302EA: + ldrb r0, [r5, #0x0] + cmp r0, #0xff + bne _02030302 + ldr r0, _020303A0 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _020303AC ; =0x0000065C + lsl r2, r4 + ldrh r0, [r1, r0] + mvn r2, r2 + and r2, r0 + b _02030310 +_02030302: + ldr r0, _020303A0 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _020303AC ; =0x0000065C + lsl r2, r4 + ldrh r0, [r1, r0] + orr r2, r0 +_02030310: + ldr r0, _020303AC ; =0x0000065C + strh r2, [r1, r0] + ldrb r2, [r5, #0x0] + cmp r2, #0xff + bne _0203031E + add r5, r5, r6 + b _02030360 +_0203031E: + cmp r2, #0xe + bne _02030326 + add r5, r5, r6 + b _02030360 +_02030326: + ldr r0, _020303A0 ; =0x021C59F4 + ldr r3, [r0, #0x4] + ldr r0, _020303B0 ; =0x00000667 + add r1, r3, r4 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0203033E + mov r0, #0x1 + tst r0, r2 + beq _0203033E + add r5, r5, r6 + b _02030360 +_0203033E: + ldr r0, _020303B4 ; =0x000004E8 + add r5, r5, #0x1 + add r0, r3, r0 + ldr r2, [sp, #0x0] + ldr r3, _020303B8 ; =0x000005E6 + add r0, r0, r7 + add r1, r5, #0x0 + bl sub_0202D3A4 + ldr r0, [sp, #0x0] + mov r1, #0x0 + add r5, r5, r0 + ldr r0, _020303A0 ; =0x021C59F4 + ldr r0, [r0, #0x4] + add r2, r0, r4 + ldr r0, _020303B0 ; =0x00000667 + strb r1, [r2, r0] +_02030360: + ldr r0, [sp, #0x4] + add r4, r4, #0x1 + add r7, #0xc + cmp r4, r0 + blt _020302EA + add sp, #0x8 + pop {r3-r7, pc} +_0203036E: + ldr r0, _020303A0 ; =0x021C59F4 + ldrb r2, [r5, #0x1] + ldr r1, [r0, #0x4] + ldr r3, _020303AC ; =0x0000065C + strh r2, [r1, r3] + ldr r2, [r0, #0x4] + ldrh r1, [r2, r3] + lsl r1, r1, #0x8 + strh r1, [r2, r3] + ldr r4, [r0, #0x4] + ldrb r1, [r5, #0x2] + ldrh r2, [r4, r3] + add r1, r2, r1 + strh r1, [r4, r3] + ldr r1, [r0, #0x4] + mov r0, #0x47 + lsl r0, r0, #0x4 + add r0, r1, r0 + ldrb r2, [r5, #0x3] + add r1, r5, #0x4 + sub r3, #0x5d + bl sub_0202D3A4 +_0203039C: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020303A0: .word 0x021C59F4 +_020303A4: .word 0x00000634 +_020303A8: .word 0x00000682 +_020303AC: .word 0x0000065C +_020303B0: .word 0x00000667 +_020303B4: .word 0x000004E8 +_020303B8: .word 0x000005E6 + + thumb_func_start sub_020303BC +sub_020303BC: ; 0x020303BC + push {r4-r6, lr} + ldr r3, _020303EC ; =0x021C59F4 + ldr r6, _020303F0 ; =0x0000066F + ldr r5, [r3, #0x4] + add r4, r5, r0 + ldrb r4, [r4, r6] + cmp r4, #0x0 + beq _020303E4 + add r1, r6, #0x0 + sub r1, #0x37 + add r4, r5, r1 + lsl r2, r0, #0x2 + ldr r1, [r4, r2] + sub r1, r1, #0x1 + str r1, [r4, r2] + ldr r1, [r3, #0x4] + mov r2, #0x0 + add r0, r1, r0 + strb r2, [r0, r6] + pop {r4-r6, pc} +_020303E4: + bl sub_020303F4 + pop {r4-r6, pc} + nop +_020303EC: .word 0x021C59F4 +_020303F0: .word 0x0000066F + + thumb_func_start sub_020303F4 +sub_020303F4: ; 0x020303F4 + push {r4-r6, lr} + ldr r3, _020304B8 ; =0x021C59F4 + add r5, r0, #0x0 + ldr r0, [r3, #0x4] + ldr r2, _020304BC ; =0x00000638 + add r4, r1, #0x0 + add r1, r0, r2 + lsl r0, r5, #0x2 + ldr r6, [r1, r0] + sub r6, r6, #0x1 + str r6, [r1, r0] + cmp r4, #0x0 + beq _020304B4 + ldr r0, [r3, #0x4] + add r2, #0x2f + add r0, r0, r2 + ldrb r1, [r0, r5] + cmp r1, #0x0 + beq _02030422 + ldrb r2, [r4, #0x0] + mov r1, #0x1 + tst r1, r2 + bne _020304B4 +_02030422: + mov r1, #0x0 + strb r1, [r0, r5] + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030478 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + add r6, r0, #0x0 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + ldrb r1, [r4, #0x0] + mov r0, #0x2 + tst r0, r1 + bne _02030468 + ldr r0, _020304B8 ; =0x021C59F4 + ldr r3, _020304C0 ; =0x0000065E + ldr r1, [r0, #0x4] + ldr r0, _020304C4 ; =0x0000047C + add r2, r6, #0x0 + add r1, r1, r0 + mov r0, #0xc + mul r0, r5 + add r0, r1, r0 + add r1, r4, #0x0 + bl sub_0202D3A4 +_02030468: + ldr r0, _020304B8 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _020304C8 ; =0x0000065F + add r1, r1, r0 + ldrb r0, [r1, r5] + add r0, r0, #0x1 + strb r0, [r1, r5] + pop {r4-r6, pc} +_02030478: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020307E4 + ldrb r1, [r4, #0x0] + mov r0, #0x2 + tst r0, r1 + bne _020304B4 + mov r0, #0xc + add r6, r5, #0x0 + mul r6, r0 + ldr r0, _020304B8 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _020304CC ; =0x000004E8 + add r0, r1, r0 + add r0, r0, r6 + bl sub_0202D498 + cmp r0, #0xb + blt _020304B4 + ldr r0, _020304B8 ; =0x021C59F4 + ldr r3, _020304D0 ; =0x0000066E + ldr r1, [r0, #0x4] + ldr r0, _020304CC ; =0x000004E8 + mov r2, #0xb + add r0, r1, r0 + add r0, r0, r6 + add r1, r4, #0x1 + bl sub_0202D3A4 +_020304B4: + pop {r4-r6, pc} + nop +_020304B8: .word 0x021C59F4 +_020304BC: .word 0x00000638 +_020304C0: .word 0x0000065E +_020304C4: .word 0x0000047C +_020304C8: .word 0x0000065F +_020304CC: .word 0x000004E8 +_020304D0: .word 0x0000066E + + thumb_func_start sub_020304D4 +sub_020304D4: ; 0x020304D4 + push {r3, lr} + cmp r0, #0x0 + beq _020304E4 + ldr r0, _020304EC ; =0x02105D58 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + pop {r3, pc} +_020304E4: + bl sub_02020C2C + pop {r3, pc} + nop +_020304EC: .word 0x02105D58 + + thumb_func_start sub_020304F0 +sub_020304F0: ; 0x020304F0 + push {r3, lr} + cmp r0, #0x0 + beq _02030500 + ldr r0, _02030508 ; =0x02105D58 + ldrb r1, [r0, #0x1] + add r1, r1, #0x1 + strb r1, [r0, #0x1] + pop {r3, pc} +_02030500: + bl sub_02020C2C + pop {r3, pc} + nop +_02030508: .word 0x02105D58 + + thumb_func_start sub_0203050C +sub_0203050C: ; 0x0203050C + push {r4, lr} + ldr r0, _02030660 ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0203051E + bl sub_02033534 + cmp r0, #0x13 + blt _02030520 +_0203051E: + b _0203065E +_02030520: + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + add r4, r0, #0x0 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + bl sub_02031280 + cmp r0, #0x0 + beq _02030594 + ldr r0, _02030664 ; =0x02105D58 + ldrb r1, [r0, #0x0] + cmp r1, #0x2 + beq _02030550 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02030594 +_02030550: + ldr r0, _02030664 ; =0x02105D58 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + mov r0, #0x1 + bl sub_020304D4 + ldr r0, _02030660 ; =0x021C59F4 + ldr r1, _02030668 ; =0x0000067F + ldr r3, [r0, #0x4] + mov r0, #0x0 + ldrb r2, [r3, r1] + mov r1, #0x26 + mul r1, r2 + lsl r2, r4, #0x10 + add r1, r3, r1 + lsr r2, r2, #0x10 + bl sub_020303F4 + ldr r2, _02030660 ; =0x021C59F4 + ldr r1, _02030668 ; =0x0000067F + ldr r4, [r2, #0x4] + mov r0, #0x1 + ldrb r3, [r4, r1] + sub r0, r0, r3 + strb r0, [r4, r1] + add r0, r1, #0x0 + ldr r2, [r2, #0x4] + sub r0, #0x4b + ldr r0, [r2, r0] + sub r1, #0x4b + add r0, r0, #0x1 + str r0, [r2, r1] + pop {r4, pc} +_02030594: + bl sub_0202CBD4 + cmp r0, #0x4 + bne _0203065E + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _020305AE + bl sub_02031190 + pop {r4, pc} +_020305AE: + ldr r0, _02030664 ; =0x02105D58 + ldrb r1, [r0, #0x0] + cmp r1, #0x2 + beq _020305BC + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203065E +_020305BC: + bl sub_02031190 + cmp r0, #0x0 + beq _02030612 + ldr r0, _02030664 ; =0x02105D58 + ldr r3, _0203066C ; =sub_020304D4 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + ldr r0, _02030660 ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _02030668 ; =0x0000067F + ldrb r1, [r2, r0] + mov r0, #0x26 + mul r0, r1 + lsl r1, r4, #0x10 + add r0, r2, r0 + lsr r1, r1, #0x10 + mov r2, #0xe + bl sub_0202D0D0 + cmp r0, #0x0 + bne _020305F4 + ldr r0, _02030664 ; =0x02105D58 + ldrb r1, [r0, #0x0] + sub r1, r1, #0x1 + strb r1, [r0, #0x0] + pop {r4, pc} +_020305F4: + ldr r2, _02030660 ; =0x021C59F4 + ldr r1, _02030668 ; =0x0000067F + ldr r4, [r2, #0x4] + mov r0, #0x1 + ldrb r3, [r4, r1] + sub r0, r0, r3 + strb r0, [r4, r1] + add r0, r1, #0x0 + ldr r2, [r2, #0x4] + sub r0, #0x4b + ldr r0, [r2, r0] + sub r1, #0x4b + add r0, r0, #0x1 + str r0, [r2, r1] + pop {r4, pc} +_02030612: + bl sub_0202CB8C + ldr r1, _02030670 ; =0x0000FFFE + tst r0, r1 + beq _0203065E + ldr r0, _02030664 ; =0x02105D58 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + mov r0, #0x1 + bl sub_020304D4 + ldr r0, _02030660 ; =0x021C59F4 + ldr r1, _02030668 ; =0x0000067F + ldr r3, [r0, #0x4] + mov r0, #0x0 + ldrb r2, [r3, r1] + mov r1, #0x26 + mul r1, r2 + lsl r2, r4, #0x10 + add r1, r3, r1 + lsr r2, r2, #0x10 + bl sub_020303F4 + ldr r2, _02030660 ; =0x021C59F4 + ldr r1, _02030668 ; =0x0000067F + ldr r4, [r2, #0x4] + mov r0, #0x1 + ldrb r3, [r4, r1] + sub r0, r0, r3 + strb r0, [r4, r1] + add r0, r1, #0x0 + ldr r2, [r2, #0x4] + sub r0, #0x4b + ldr r0, [r2, r0] + sub r1, #0x4b + add r0, r0, #0x1 + str r0, [r2, r1] +_0203065E: + pop {r4, pc} + .balign 4 +_02030660: .word 0x021C59F4 +_02030664: .word 0x02105D58 +_02030668: .word 0x0000067F +_0203066C: .word sub_020304D4 + 1 +_02030670: .word 0x0000FFFE + + thumb_func_start sub_02030674 +sub_02030674: ; 0x02030674 + push {r3-r7, lr} + ldr r7, _02030798 ; =0x021C59F4 + mov r6, #0x0 + ldr r5, [r7, #0x4] + ldr r2, _0203079C ; =0x0000062C + add r4, r6, #0x0 + ldrb r0, [r5, r2] + cmp r0, #0x0 + beq _02030690 + sub r1, r2, #0x4 + ldrh r1, [r5, r1] + mov r3, #0xf0 + tst r3, r1 + bne _02030692 +_02030690: + b _02030794 +_02030692: + cmp r0, #0x2 + bne _020306D0 + mov r0, #0x20 + tst r0, r1 + beq _020306A4 + mov r0, #0x10 + orr r0, r6 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_020306A4: + mov r0, #0x10 + tst r0, r1 + beq _020306B2 + mov r0, #0x20 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_020306B2: + mov r0, #0x40 + tst r0, r1 + beq _020306C0 + mov r0, #0x80 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_020306C0: + mov r0, #0x80 + tst r0, r1 + beq _0203077E + mov r0, #0x40 + orr r0, r4 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203077E +_020306D0: + add r0, r2, #0x2 + ldrh r0, [r5, r0] + cmp r0, #0x0 + beq _020306F2 + add r4, r0, #0x0 + add r0, r2, #0x1 + ldrsb r0, [r5, r0] + sub r1, r0, #0x1 + add r0, r2, #0x1 + strb r1, [r5, r0] + ldr r1, [r7, #0x4] + ldrsb r0, [r1, r0] + cmp r0, #0x0 + bge _0203077E + add r0, r2, #0x2 + strh r6, [r1, r0] + b _0203077E +_020306F2: + add r0, r2, #0x0 + sub r0, #0x34 + add r6, r5, r0 + sub r2, #0x34 + ldr r0, [r6, #0x8] + ldr r1, [r6, #0xc] + ldr r2, [r5, r2] + ldr r3, [r6, #0x4] + blx sub_020EBC30 + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, [r6, #0x10] + ldr r1, [r6, #0x14] + add r0, r0, r3 + adc r1, r2 + ldr r2, _020307A0 ; =0x000005F8 + str r0, [r5, r2] + mov r2, #0x0 + str r1, [r6, #0x4] + lsr r0, r1, #0x1e + lsl r1, r2, #0x2 + orr r1, r0 + cmp r1, #0x3 + bhi _02030746 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r4, #0x20 + b _02030746 +_0203073C: + .byte 0x10, 0x24, 0x02, 0xE0 + .byte 0x40, 0x24, 0x00, 0xE0, 0x80, 0x24 +_02030746: + ldr r0, _02030798 ; =0x021C59F4 + ldr r5, [r0, #0x4] + ldr r0, _020307A0 ; =0x000005F8 + add r6, r5, r0 + ldr r0, [r6, #0x8] + ldr r1, [r6, #0xc] + ldr r2, [r6, #0x0] + ldr r3, [r6, #0x4] + blx sub_020EBC30 + ldr r3, [r6, #0x10] + ldr r2, [r6, #0x14] + add r0, r3, r0 + adc r2, r1 + ldr r1, _020307A0 ; =0x000005F8 + mov r3, #0x0 + str r0, [r5, r1] + str r2, [r6, #0x4] + lsr r0, r2, #0x1c + lsl r2, r3, #0x4 + orr r2, r0 + add r0, r1, #0x0 + add r0, #0x35 + strb r2, [r5, r0] + ldr r0, _02030798 ; =0x021C59F4 + add r1, #0x36 + ldr r0, [r0, #0x4] + strh r4, [r0, r1] +_0203077E: + ldr r2, _02030798 ; =0x021C59F4 + ldr r1, _020307A4 ; =0x00000628 + ldr r5, [r2, #0x4] + mov r0, #0xf0 + ldrh r3, [r5, r1] + bic r3, r0 + strh r3, [r5, r1] + ldr r2, [r2, #0x4] + ldrh r0, [r2, r1] + add r0, r0, r4 + strh r0, [r2, r1] +_02030794: + pop {r3-r7, pc} + nop +_02030798: .word 0x021C59F4 +_0203079C: .word 0x0000062C +_020307A0: .word 0x000005F8 +_020307A4: .word 0x00000628 + + thumb_func_start sub_020307A8 +sub_020307A8: ; 0x020307A8 + ldr r0, _020307B4 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _020307B8 ; =0x0000062C + strb r2, [r1, r0] + bx lr + .balign 4 +_020307B4: .word 0x021C59F4 +_020307B8: .word 0x0000062C + + thumb_func_start sub_020307BC +sub_020307BC: ; 0x020307BC + ldr r0, _020307C8 ; =0x021C59F4 + mov r2, #0x2 + ldr r1, [r0, #0x4] + ldr r0, _020307CC ; =0x0000062C + strb r2, [r1, r0] + bx lr + .balign 4 +_020307C8: .word 0x021C59F4 +_020307CC: .word 0x0000062C + + thumb_func_start sub_020307D0 +sub_020307D0: ; 0x020307D0 + ldr r0, _020307DC ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _020307E0 ; =0x0000062C + strb r2, [r1, r0] + bx lr + .balign 4 +_020307DC: .word 0x021C59F4 +_020307E0: .word 0x0000062C + + thumb_func_start sub_020307E4 +sub_020307E4: ; 0x020307E4 + push {r4-r7} + ldr r4, _02030868 ; =0x021C59F4 + lsl r6, r1, #0x1 + ldr r2, [r4, #0x4] + mov r5, #0x0 + add r3, r2, r6 + mov r2, #0x61 + lsl r2, r2, #0x4 + strh r5, [r3, r2] + ldrb r5, [r0, #0x0] + mov r3, #0x10 + add r7, r5, #0x0 + and r7, r3 + cmp r7, #0x10 + bne _02030860 + mov r7, #0xc + and r5, r7 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + bne _0203081A + ldr r3, [r4, #0x4] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x40 + orr r2, r3 + strh r2, [r4, r6] + b _0203084C +_0203081A: + cmp r5, #0x4 + bne _0203082C + ldr r3, [r4, #0x4] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x80 + orr r2, r3 + strh r2, [r4, r6] + b _0203084C +_0203082C: + cmp r5, #0x8 + bne _0203083E + ldr r3, [r4, #0x4] + add r4, r3, r2 + ldrh r3, [r4, r6] + mov r2, #0x20 + orr r2, r3 + strh r2, [r4, r6] + b _0203084C +_0203083E: + cmp r5, #0xc + bne _0203084C + ldr r4, [r4, #0x4] + add r4, r4, r2 + ldrh r2, [r4, r6] + orr r2, r3 + strh r2, [r4, r6] +_0203084C: + ldrb r0, [r0, #0x0] + asr r2, r0, #0x5 + mov r0, #0x7 + and r2, r0 + ldr r0, _02030868 ; =0x021C59F4 + ldr r0, [r0, #0x4] + add r1, r0, r1 + mov r0, #0x62 + lsl r0, r0, #0x4 + strb r2, [r1, r0] +_02030860: + mov r0, #0x1 + pop {r4-r7} + bx lr + nop +_02030868: .word 0x021C59F4 + + thumb_func_start sub_0203086C +sub_0203086C: ; 0x0203086C + bx lr + .balign 4 + + thumb_func_start sub_02030870 +sub_02030870: ; 0x02030870 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0203091C ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02030920 ; =0x0000062A + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _02030884 + mov r0, #0x0 + pop {r4, pc} +_02030884: + bl sub_02030FE0 + cmp r0, #0x0 + bne _02030890 + mov r0, #0x0 + pop {r4, pc} +_02030890: + ldr r0, _0203091C ; =0x021C59F4 + ldr r2, [r0, #0x4] + ldr r0, _02030924 ; =0x00000681 + ldrb r1, [r2, r0] + cmp r1, #0x0 + beq _020308A0 + sub r1, r1, #0x1 + strb r1, [r2, r0] +_020308A0: + ldr r1, _0203091C ; =0x021C59F4 + ldr r0, _02030928 ; =0x00000628 + ldr r2, [r1, #0x4] + mov r3, #0x40 + ldrh r2, [r2, r0] + tst r3, r2 + beq _020308C0 + ldrb r3, [r4, #0x0] + mov r2, #0x10 + add r0, #0x59 + orr r2, r3 + strb r2, [r4, #0x0] + ldr r1, [r1, #0x4] + mov r2, #0x8 + strb r2, [r1, r0] + b _02030906 +_020308C0: + mov r3, #0x80 + tst r3, r2 + beq _020308D8 + ldrb r3, [r4, #0x0] + mov r2, #0x14 + add r0, #0x59 + orr r2, r3 + strb r2, [r4, #0x0] + ldr r1, [r1, #0x4] + mov r2, #0x8 + strb r2, [r1, r0] + b _02030906 +_020308D8: + mov r3, #0x20 + tst r3, r2 + beq _020308F0 + ldrb r3, [r4, #0x0] + mov r2, #0x18 + add r0, #0x59 + orr r2, r3 + strb r2, [r4, #0x0] + ldr r1, [r1, #0x4] + mov r2, #0x8 + strb r2, [r1, r0] + b _02030906 +_020308F0: + mov r3, #0x10 + tst r2, r3 + beq _02030906 + ldrb r3, [r4, #0x0] + mov r2, #0x1c + add r0, #0x59 + orr r2, r3 + strb r2, [r4, #0x0] + ldr r1, [r1, #0x4] + mov r2, #0x8 + strb r2, [r1, r0] +_02030906: + ldr r0, _0203091C ; =0x021C59F4 + ldrb r2, [r4, #0x0] + ldr r1, [r0, #0x4] + ldr r0, _0203092C ; =0x0000062B + ldrb r0, [r1, r0] + lsl r0, r0, #0x5 + orr r0, r2 + strb r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} + nop +_0203091C: .word 0x021C59F4 +_02030920: .word 0x0000062A +_02030924: .word 0x00000681 +_02030928: .word 0x00000628 +_0203092C: .word 0x0000062B + + thumb_func_start sub_02030930 +sub_02030930: ; 0x02030930 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02031228 + add r5, r0, #0x0 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + ldr r0, _020309F0 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _020309F4 ; =0x00000684 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02030960 + mov r0, #0x0 + b _02030962 +_02030960: + mov r0, #0x1 +_02030962: + strb r0, [r4, #0x0] + bl sub_0202FA28 + cmp r0, #0x0 + bne _02030972 + add r0, r4, #0x0 + bl sub_02030870 +_02030972: + ldr r1, _020309F0 ; =0x021C59F4 + ldr r0, _020309F4 ; =0x00000684 + ldr r2, [r1, #0x4] + mov r3, #0x0 + strb r3, [r2, r0] + ldr r1, [r1, #0x4] + ldr r0, _020309F8 ; =0x0000054C + add r0, r1, r0 + bl sub_0202D4E4 + cmp r0, #0x0 + beq _0203099E + ldrb r1, [r4, #0x0] + mov r0, #0x2 + orr r0, r1 + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x0] + cmp r0, #0x2 + bne _020309E8 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_0203099E: + sub r0, r5, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x1 + str r0, [sp, #0x0] + ldr r0, _020309F0 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _020309F8 ; =0x0000054C + add r0, r1, r0 + add r1, sp, #0x0 + bl sub_0202D760 + cmp r0, #0x0 + bne _020309C4 + ldr r0, _020309F0 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _020309F4 ; =0x00000684 + strb r2, [r1, r0] +_020309C4: + bl sub_0202FA28 + cmp r0, #0x1 + bne _020309E8 + ldr r2, _020309F0 ; =0x021C59F4 + ldr r1, _020309FC ; =0x0000065E + ldr r3, [r2, #0x4] + ldrb r0, [r3, r1] + add r0, r0, #0x1 + strb r0, [r3, r1] + ldr r2, [r2, #0x4] + ldrb r0, [r4, #0x0] + ldrb r1, [r2, r1] + lsl r2, r1, #0x4 + mov r1, #0xf0 + and r1, r2 + orr r0, r1 + strb r0, [r4, #0x0] +_020309E8: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + nop +_020309F0: .word 0x021C59F4 +_020309F4: .word 0x00000684 +_020309F8: .word 0x0000054C +_020309FC: .word 0x0000065E + + thumb_func_start sub_02030A00 +sub_02030A00: ; 0x02030A00 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + mov r0, #0xb + strb r0, [r4, #0x0] + ldr r0, _02030A6C ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02030A70 ; =0x00000685 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02030A1A + mov r0, #0x0 + b _02030A1C +_02030A1A: + mov r0, #0x1 +_02030A1C: + strb r0, [r4, #0x1] + bl sub_0202CB8C + asr r1, r0, #0x8 + strb r1, [r4, #0x2] + strb r0, [r4, #0x3] + mov r0, #0xbb + str r0, [sp, #0x4] + add r0, r4, #0x5 + str r0, [sp, #0x0] + ldr r0, _02030A6C ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030A74 ; =0x0000056C + add r0, r1, r0 + add r1, sp, #0x0 + bl sub_0202D760 + cmp r0, #0x0 + beq _02030A5A + ldr r0, _02030A6C ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030A70 ; =0x00000685 + strb r2, [r1, r0] + ldr r1, [sp, #0x4] + mov r0, #0xbb + sub r0, r0, r1 + add sp, #0x8 + strb r0, [r4, #0x4] + pop {r4, pc} +_02030A5A: + ldr r0, _02030A6C ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _02030A70 ; =0x00000685 + strb r2, [r1, r0] + mov r0, #0xbb + strb r0, [r4, #0x4] + add sp, #0x8 + pop {r4, pc} + .balign 4 +_02030A6C: .word 0x021C59F4 +_02030A70: .word 0x00000685 +_02030A74: .word 0x0000056C + + thumb_func_start sub_02030A78 +sub_02030A78: ; 0x02030A78 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _02030A9C + bl sub_02031280 + cmp r0, #0x0 + bne _02030A9C + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030A9C: + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, _02030AD4 ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030AD8 ; =0x0000054C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + cmp r0, #0x0 + beq _02030AC0 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02030AC0: + bl sub_02033534 + cmp r0, #0xa + bne _02030ACC + bl sub_02031454 +_02030ACC: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + nop +_02030AD4: .word 0x021C59F4 +_02030AD8: .word 0x0000054C + + thumb_func_start sub_02030ADC +sub_02030ADC: ; 0x02030ADC + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _02030B00 + bl sub_02031280 + cmp r0, #0x0 + bne _02030B00 + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030B00: + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02030B34 ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030B38 ; =0x0000054C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + cmp r0, #0x0 + beq _02030B22 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02030B22: + bl sub_02033534 + cmp r0, #0xa + bne _02030B2E + bl sub_02031454 +_02030B2E: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_02030B34: .word 0x021C59F4 +_02030B38: .word 0x0000054C + + thumb_func_start sub_02030B3C +sub_02030B3C: ; 0x02030B3C + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02030B58 + bl sub_02020C2C + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030B58: + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _02030B70 + bl sub_02031280 + cmp r0, #0x0 + bne _02030B70 + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030B70: + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030B86 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02030A78 + add sp, #0x8 + pop {r4-r6, pc} +_02030B86: + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, _02030BBC ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030BC0 ; =0x0000056C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + cmp r0, #0x0 + beq _02030BAA + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02030BAA: + bl sub_02033534 + cmp r0, #0xa + bne _02030BB6 + bl sub_02031454 +_02030BB6: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_02030BBC: .word 0x021C59F4 +_02030BC0: .word 0x0000056C + + thumb_func_start sub_02030BC4 +sub_02030BC4: ; 0x02030BC4 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02030BE0 + bl sub_02031454 + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030BE0: + mov r0, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _02030BF8 + bl sub_02031280 + cmp r0, #0x0 + bne _02030BF8 + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02030BF8: + bl sub_0202FA28 + cmp r0, #0x1 + bne _02030C0E + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02030ADC + add sp, #0x8 + pop {r4-r6, pc} +_02030C0E: + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02030C44 ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02030C48 ; =0x0000056C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + cmp r0, #0x0 + beq _02030C30 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02030C30: + bl sub_02033534 + cmp r0, #0xa + bne _02030C3C + bl sub_02031454 +_02030C3C: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + nop +_02030C44: .word 0x021C59F4 +_02030C48: .word 0x0000056C + + thumb_func_start sub_02030C4C +sub_02030C4C: ; 0x02030C4C + ldr r3, _02030C54 ; =sub_02030BC4 + mov r2, #0x0 + bx r3 + nop +_02030C54: .word sub_02030BC4 + 1 + + thumb_func_start sub_02030C58 +sub_02030C58: ; 0x02030C58 + ldr r0, _02030C64 ; =0x021C59F4 + ldr r3, _02030C68 ; =sub_0202D498 + ldr r1, [r0, #0x4] + ldr r0, _02030C6C ; =0x00000464 + add r0, r1, r0 + bx r3 + .balign 4 +_02030C64: .word 0x021C59F4 +_02030C68: .word sub_0202D498 + 1 +_02030C6C: .word 0x00000464 + + thumb_func_start sub_02030C70 +sub_02030C70: ; 0x02030C70 + push {r4, lr} + ldr r4, [sp, #0x8] + bl sub_0202D934 + mov r0, #0xee + strb r0, [r4, #0xa] + ldr r0, _02030C88 ; =0x0000FFFF + strh r0, [r4, #0x8] + mov r0, #0x0 + str r0, [r4, #0x4] + str r0, [r4, #0x0] + pop {r4, pc} + .balign 4 +_02030C88: .word 0x0000FFFF + + thumb_func_start sub_02030C8C +sub_02030C8C: ; 0x02030C8C + push {r4-r7, lr} + sub sp, #0x14 + add r6, r0, #0x0 + str r1, [sp, #0x4] + str r2, [sp, #0x8] + ldr r5, [sp, #0x28] + bl sub_0202D478 + cmp r0, #0x0 + beq _02030D94 +_02030CA0: + ldrb r7, [r5, #0xa] + cmp r7, #0xee + bne _02030CB2 + add r0, r6, #0x0 + bl sub_0202D41C + add r7, r0, #0x0 + cmp r7, #0xee + beq _02030D8A +_02030CB2: + mov r0, #0x4 + ldrsh r0, [r6, r0] + strb r7, [r5, #0xa] + ldrh r4, [r5, #0x8] + str r0, [sp, #0x10] + ldr r0, _02030D98 ; =0x0000FFFF + cmp r4, r0 + bne _02030D06 + add r0, r7, #0x0 + bl sub_0202D9A0 + add r4, r0, #0x0 + ldr r0, _02030D9C ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02030DA0 ; =0x00000689 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02030D94 + ldr r0, _02030D98 ; =0x0000FFFF + cmp r4, r0 + bne _02030D04 + add r0, r6, #0x0 + bl sub_0202D478 + cmp r0, #0x1 + bge _02030CEE + ldr r0, [sp, #0x10] + add sp, #0x14 + strh r0, [r6, #0x4] + pop {r4-r7, pc} +_02030CEE: + add r0, r6, #0x0 + bl sub_0202D41C + lsl r4, r0, #0x8 + add r0, r6, #0x0 + bl sub_0202D41C + add r4, r4, r0 + mov r0, #0x4 + ldrsh r0, [r6, r0] + str r0, [sp, #0x10] +_02030D04: + strh r4, [r5, #0x8] +_02030D06: + add r0, r7, #0x0 + bl sub_0202DA04 + cmp r0, #0x0 + beq _02030D5E + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _02030D22 + ldrh r2, [r5, #0x8] + ldr r1, [sp, #0x4] + add r0, r7, #0x0 + bl sub_0202DA40 + str r0, [r5, #0x4] +_02030D22: + ldr r2, [r5, #0x0] + ldr r1, [sp, #0x8] + add r0, r6, #0x0 + sub r2, r4, r2 + bl sub_0202D400 + ldr r2, [r5, #0x4] + str r0, [sp, #0xc] + cmp r2, #0x0 + beq _02030D42 + ldr r1, [r5, #0x0] + ldr r0, [sp, #0x8] + add r1, r2, r1 + ldr r2, [sp, #0xc] + blx sub_020CE3E0 +_02030D42: + ldr r1, [r5, #0x0] + ldr r0, [sp, #0xc] + add r0, r1, r0 + str r0, [r5, #0x0] + cmp r0, r4 + blt _02030D8A + str r5, [sp, #0x0] + ldr r0, [sp, #0x4] + ldr r3, [r5, #0x4] + add r1, r7, #0x0 + add r2, r4, #0x0 + bl sub_02030C70 + b _02030D8A +_02030D5E: + add r0, r6, #0x0 + bl sub_0202D478 + cmp r0, r4 + blt _02030D82 + ldr r1, [sp, #0x8] + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0202D400 + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x8] + add r1, r7, #0x0 + add r2, r4, #0x0 + str r5, [sp, #0x0] + bl sub_02030C70 + b _02030D8A +_02030D82: + ldr r0, [sp, #0x10] + add sp, #0x14 + strh r0, [r6, #0x4] + pop {r4-r7, pc} +_02030D8A: + add r0, r6, #0x0 + bl sub_0202D478 + cmp r0, #0x0 + bne _02030CA0 +_02030D94: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02030D98: .word 0x0000FFFF +_02030D9C: .word 0x021C59F4 +_02030DA0: .word 0x00000689 + + thumb_func_start sub_02030DA4 +sub_02030DA4: ; 0x02030DA4 + push {r3, lr} + ldr r0, _02030DF0 ; =0x021C59F4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _02030DEE + ldr r0, _02030DF4 ; =0x0000068B + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02030DEE + mov r0, #0x47 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_0202D4BC + ldr r0, _02030DF0 ; =0x021C59F4 + ldr r1, [r0, #0x4] + mov r0, #0x47 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_0202D478 + cmp r0, #0x0 + ble _02030DEE + ldr r0, _02030DF0 ; =0x021C59F4 + mov r2, #0x47 + ldr r3, [r0, #0x4] + ldr r0, _02030DF8 ; =0x000005EC + lsl r2, r2, #0x4 + add r0, r3, r0 + str r0, [sp, #0x0] + add r0, r3, r2 + sub r2, #0x10 + ldr r2, [r3, r2] + mov r1, #0x0 + mov r3, #0x1 + bl sub_02030C8C +_02030DEE: + pop {r3, pc} + .balign 4 +_02030DF0: .word 0x021C59F4 +_02030DF4: .word 0x0000068B +_02030DF8: .word 0x000005EC + + thumb_func_start sub_02030DFC +sub_02030DFC: ; 0x02030DFC + push {r3-r7, lr} + ldr r0, _02030E6C ; =0x021C59F4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _02030E68 + ldr r0, _02030E70 ; =0x0000068B + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02030E68 + bl sub_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r7, r0, #0x1 + mov r4, #0x0 + cmp r7, #0x0 + ble _02030E68 + ldr r6, _02030E6C ; =0x021C59F4 + add r5, r4, #0x0 +_02030E26: + ldr r1, [r6, #0x4] + ldr r0, _02030E74 ; =0x000004E8 + add r0, r1, r0 + add r0, r0, r5 + bl sub_0202D4BC + ldr r1, [r6, #0x4] + ldr r0, _02030E74 ; =0x000004E8 + add r0, r1, r0 + add r0, r0, r5 + bl sub_0202D478 + cmp r0, #0x0 + ble _02030E60 + ldr r3, [r6, #0x4] + ldr r0, _02030E78 ; =0x0000058C + mov r2, #0x46 + add r0, r3, r0 + add r0, r0, r5 + str r0, [sp, #0x0] + ldr r0, _02030E74 ; =0x000004E8 + lsl r2, r2, #0x4 + add r0, r3, r0 + ldr r2, [r3, r2] + add r0, r0, r5 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_02030C8C +_02030E60: + add r4, r4, #0x1 + add r5, #0xc + cmp r4, r7 + blt _02030E26 +_02030E68: + pop {r3-r7, pc} + nop +_02030E6C: .word 0x021C59F4 +_02030E70: .word 0x0000068B +_02030E74: .word 0x000004E8 +_02030E78: .word 0x0000058C + + thumb_func_start sub_02030E7C +sub_02030E7C: ; 0x02030E7C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02030F14 ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + bne _02030E8C + mov r0, #0x0 + pop {r4, pc} +_02030E8C: + bl sub_02033534 + cmp r0, #0x13 + blt _02030EC0 + ldr r0, _02030F14 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02030F18 ; =0x00000687 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _02030EBC + bl sub_021D8018 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02030EBC + cmp r4, #0x0 + bne _02030EB4 + mov r0, #0x1 + pop {r4, pc} +_02030EB4: + cmp r4, #0x1 + bne _02030EBC + mov r0, #0x1 + pop {r4, pc} +_02030EBC: + mov r0, #0x0 + pop {r4, pc} +_02030EC0: + bl sub_02030F40 + cmp r0, #0x0 + bne _02030ECC + mov r0, #0x0 + pop {r4, pc} +_02030ECC: + bl sub_0202CBD4 + cmp r0, #0x4 + beq _02030ED8 + mov r0, #0x0 + pop {r4, pc} +_02030ED8: + bl sub_02031190 + cmp r4, r0 + bne _02030EE4 + mov r0, #0x1 + pop {r4, pc} +_02030EE4: + bl sub_02031190 + cmp r0, #0x0 + bne _02030EFE + bl sub_0202CB8C + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r4 + tst r0, r2 + beq _02030F10 + add r0, r1, #0x0 + pop {r4, pc} +_02030EFE: + ldr r0, _02030F14 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02030F1C ; =0x0000065C + ldrh r2, [r1, r0] + mov r0, #0x1 + add r1, r0, #0x0 + lsl r1, r4 + tst r1, r2 + bne _02030F12 +_02030F10: + mov r0, #0x0 +_02030F12: + pop {r4, pc} + .balign 4 +_02030F14: .word 0x021C59F4 +_02030F18: .word 0x00000687 +_02030F1C: .word 0x0000065C + + thumb_func_start sub_02030F20 +sub_02030F20: ; 0x02030F20 + push {r3-r5, lr} + mov r4, #0x0 + add r5, r4, #0x0 +_02030F26: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _02030F34 + add r4, r4, #0x1 +_02030F34: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _02030F26 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02030F40 +sub_02030F40: ; 0x02030F40 + push {r3, lr} + ldr r0, _02030F5C ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _02030F56 + bl sub_02033534 + cmp r0, #0x13 + blt _02030F56 + mov r0, #0x1 + pop {r3, pc} +_02030F56: + bl sub_0202EDF8 + pop {r3, pc} + .balign 4 +_02030F5C: .word 0x021C59F4 + + thumb_func_start sub_02030F60 +sub_02030F60: ; 0x02030F60 + ldr r1, _02030F6C ; =0x021C59F4 + ldr r2, [r1, #0x4] + ldr r1, _02030F70 ; =0x0000062B + strb r0, [r2, r1] + bx lr + nop +_02030F6C: .word 0x021C59F4 +_02030F70: .word 0x0000062B + + thumb_func_start sub_02030F74 +sub_02030F74: ; 0x02030F74 + ldr r1, _02030F84 ; =0x021C59F4 + ldr r1, [r1, #0x4] + add r1, r1, r0 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + bx lr + nop +_02030F84: .word 0x021C59F4 + + thumb_func_start sub_02030F88 +sub_02030F88: ; 0x02030F88 + ldr r1, _02030FA4 ; =0x021C59F4 + ldr r2, [r1, #0x4] + cmp r2, #0x0 + bne _02030F94 + mov r0, #0x0 + bx lr +_02030F94: + mov r1, #0x61 + lsl r1, r1, #0x4 + add r3, r2, r1 + lsl r2, r0, #0x1 + ldrh r0, [r3, r2] + mov r1, #0x0 + strh r1, [r3, r2] + bx lr + .balign 4 +_02030FA4: .word 0x021C59F4 + + thumb_func_start sub_02030FA8 +sub_02030FA8: ; 0x02030FA8 + ldr r0, _02030FC0 ; =0x021C59F4 + ldr r3, [r0, #0x4] + cmp r3, #0x0 + beq _02030FBC + ldr r1, _02030FC4 ; =0x00000628 + mov r0, #0x2 + ldrh r2, [r3, r1] + lsl r0, r0, #0xe + orr r0, r2 + strh r0, [r3, r1] +_02030FBC: + bx lr + nop +_02030FC0: .word 0x021C59F4 +_02030FC4: .word 0x00000628 +_02030FC8: + .byte 0x03, 0x48, 0x42, 0x68, 0x00, 0x2A, 0x02, 0xD0 + .byte 0x02, 0x48, 0x00, 0x21, 0x11, 0x52, 0x70, 0x47, 0xF4, 0x59, 0x1C, 0x02, 0x28, 0x06, 0x00, 0x00 + + thumb_func_start sub_02030FE0 +sub_02030FE0: ; 0x02030FE0 + ldr r0, _02030FF8 ; =0x021C59F4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _02030FF4 + ldr r0, _02030FFC ; =0x00000628 + ldrh r1, [r1, r0] + mov r0, #0x2 + lsl r0, r0, #0xe + and r0, r1 + bx lr +_02030FF4: + mov r0, #0x1 + bx lr + .balign 4 +_02030FF8: .word 0x021C59F4 +_02030FFC: .word 0x00000628 + + thumb_func_start sub_02031000 +sub_02031000: ; 0x02031000 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0202FA28 + cmp r0, #0x1 + bne _02031030 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, _02031050 ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02031054 ; =0x0000054C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + add sp, #0x8 + pop {r4-r6, pc} +_02031030: + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, _02031050 ; =0x021C59F4 + add r2, r4, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02031058 ; =0x0000056C + add r3, r6, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + bl sub_0202D684 + add sp, #0x8 + pop {r4-r6, pc} + nop +_02031050: .word 0x021C59F4 +_02031054: .word 0x0000054C +_02031058: .word 0x0000056C + + thumb_func_start sub_0203105C +sub_0203105C: ; 0x0203105C + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02031080 ; =0x021C59F4 + add r4, r1, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02031084 ; =0x0000054C + add r3, r2, #0x0 + add r0, r1, r0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_0202D684 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02031080: .word 0x021C59F4 +_02031084: .word 0x0000054C + + thumb_func_start sub_02031088 +sub_02031088: ; 0x02031088 + push {r3, lr} + ldr r0, _02031100 ; =0x021C59F4 + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _020310FC + ldr r1, _02031104 ; =0x0000067B + ldrb r0, [r2, r1] + cmp r0, #0x1 + beq _020310A0 + cmp r0, #0x3 + beq _020310D8 + pop {r3, pc} +_020310A0: + bl sub_0202FA28 + cmp r0, #0x1 + bne _020310B8 + ldr r1, _02031100 ; =0x021C59F4 + mov r0, #0xb + ldr r2, [r1, #0x4] + ldr r1, _02031108 ; =0x0000067C + add r1, r2, r1 + bl sub_020311D0 + b _020310C8 +_020310B8: + ldr r1, _02031100 ; =0x021C59F4 + mov r0, #0xb + ldr r2, [r1, #0x4] + ldr r1, _02031108 ; =0x0000067C + add r1, r2, r1 + mov r2, #0x1 + bl sub_02030BC4 +_020310C8: + cmp r0, #0x0 + beq _020310FC + ldr r0, _02031100 ; =0x021C59F4 + mov r2, #0x2 + ldr r1, [r0, #0x4] + ldr r0, _02031104 ; =0x0000067B + strb r2, [r1, r0] + pop {r3, pc} +_020310D8: + add r1, r1, #0x1 + mov r0, #0xc + add r1, r2, r1 + bl sub_020311D0 + cmp r0, #0x0 + beq _020310FC + ldr r0, _02031100 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02031108 ; =0x0000067C + ldrb r0, [r1, r0] + bl sub_0202F9E0 + ldr r0, _02031100 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _02031104 ; =0x0000067B + strb r2, [r1, r0] +_020310FC: + pop {r3, pc} + nop +_02031100: .word 0x021C59F4 +_02031104: .word 0x0000067B +_02031108: .word 0x0000067C + + thumb_func_start sub_0203110C +sub_0203110C: ; 0x0203110C + push {r4, lr} + add r4, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _0203112A + ldr r1, _0203112C ; =0x021C59F4 + ldr r0, _02031130 ; =0x0000067B + ldr r2, [r1, #0x4] + mov r3, #0x1 + strb r3, [r2, r0] + ldrb r2, [r4, #0x0] + ldr r1, [r1, #0x4] + add r0, r0, #0x1 + strb r2, [r1, r0] +_0203112A: + pop {r4, pc} + .balign 4 +_0203112C: .word 0x021C59F4 +_02031130: .word 0x0000067B + + thumb_func_start sub_02031134 +sub_02031134: ; 0x02031134 + push {r4, lr} + add r4, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02031152 + ldr r1, _02031154 ; =0x021C59F4 + ldrb r3, [r4, #0x0] + ldr r2, [r1, #0x4] + ldr r0, _02031158 ; =0x0000067C + strb r3, [r2, r0] + ldr r1, [r1, #0x4] + mov r2, #0x3 + sub r0, r0, #0x1 + strb r2, [r1, r0] +_02031152: + pop {r4, pc} + .balign 4 +_02031154: .word 0x021C59F4 +_02031158: .word 0x0000067C + + thumb_func_start sub_0203115C +sub_0203115C: ; 0x0203115C + push {r4, lr} + add r4, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _02031184 + ldr r0, _02031188 ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _0203118C ; =0x0000067B + ldrb r0, [r1, r0] + cmp r0, #0x2 + bne _02031184 + ldrb r0, [r4, #0x0] + bl sub_0202F9E0 + ldr r0, _02031188 ; =0x021C59F4 + mov r2, #0x0 + ldr r1, [r0, #0x4] + ldr r0, _0203118C ; =0x0000067B + strb r2, [r1, r0] +_02031184: + pop {r4, pc} + nop +_02031188: .word 0x021C59F4 +_0203118C: .word 0x0000067B + + thumb_func_start sub_02031190 +sub_02031190: ; 0x02031190 + push {r3, lr} + ldr r0, _020311CC ; =0x021C59F4 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _020311C6 + bl sub_02033534 + cmp r0, #0x13 + blt _020311B4 + bl sub_021D8018 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _020311C6 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, pc} +_020311B4: + bl sub_02031280 + cmp r0, #0x0 + beq _020311C0 + mov r0, #0x0 + pop {r3, pc} +_020311C0: + bl sub_0202D19C + pop {r3, pc} +_020311C6: + mov r0, #0x0 + pop {r3, pc} + nop +_020311CC: .word 0x021C59F4 + + thumb_func_start sub_020311D0 +sub_020311D0: ; 0x020311D0 + ldr r3, _020311D8 ; =sub_02030ADC + mov r2, #0x0 + bx r3 + nop +_020311D8: .word sub_02030ADC + 1 + + thumb_func_start sub_020311DC +sub_020311DC: ; 0x020311DC + ldr r3, _020311E4 ; =sub_02030ADC + mov r1, #0x0 + add r2, r1, #0x0 + bx r3 + .balign 4 +_020311E4: .word sub_02030ADC + 1 + + thumb_func_start sub_020311E8 +sub_020311E8: ; 0x020311E8 + ldr r3, _020311EC ; =sub_0202EE24 + bx r3 + .balign 4 +_020311EC: .word sub_0202EE24 + 1 + + thumb_func_start sub_020311F0 +sub_020311F0: ; 0x020311F0 + push {r3, lr} + bl sub_02031280 + cmp r0, #0x0 + beq _020311FE + mov r0, #0x0 + pop {r3, pc} +_020311FE: + ldr r0, _02031220 ; =0x021C59F4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0203121A + ldr r0, _02031224 ; =0x00000689 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0203121A + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020334E8 + mov r0, #0x1 + pop {r3, pc} +_0203121A: + bl sub_0202EE60 + pop {r3, pc} + .balign 4 +_02031220: .word 0x021C59F4 +_02031224: .word 0x00000689 + + thumb_func_start sub_02031228 +sub_02031228: ; 0x02031228 + push {r3, lr} + bl sub_0202D858 + cmp r0, #0x5 + blo _02031236 + mov r0, #0xc + pop {r3, pc} +_02031236: + bl sub_0202FA28 + cmp r0, #0x0 + bne _02031242 + mov r0, #0xc + pop {r3, pc} +_02031242: + mov r0, #0x26 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02031248 +sub_02031248: ; 0x02031248 + push {r3, lr} + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D858 + add r0, r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02031258 +sub_02031258: ; 0x02031258 + push {r3, lr} + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0202D884 + add r0, r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02031268 +sub_02031268: ; 0x02031268 + ldr r1, _02031278 ; =0x021C59F4 + ldr r2, [r1, #0x4] + cmp r2, #0x0 + beq _02031274 + ldr r1, _0203127C ; =0x00000686 + strb r0, [r2, r1] +_02031274: + bx lr + nop +_02031278: .word 0x021C59F4 +_0203127C: .word 0x00000686 + + thumb_func_start sub_02031280 +sub_02031280: ; 0x02031280 + ldr r0, _02031294 ; =0x021C59F4 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0203128E + ldr r0, _02031298 ; =0x00000686 + ldrb r0, [r1, r0] + bx lr +_0203128E: + mov r0, #0x0 + bx lr + nop +_02031294: .word 0x021C59F4 +_02031298: .word 0x00000686 + + thumb_func_start sub_0203129C +sub_0203129C: ; 0x0203129C + push {r3, lr} + bl sub_0202F03C + cmp r0, #0x0 + bne _020312B6 + bl sub_02031190 + cmp r0, #0x0 + bne _020312B6 + mov r0, #0x2 + add r1, sp, #0x0 + bl sub_02030C4C +_020312B6: + bl sub_0202F05C + pop {r3, pc} + + thumb_func_start sub_020312BC +sub_020312BC: ; 0x020312BC + push {r3-r7, lr} + sub sp, #0x20 + add r4, r0, #0x0 + add r0, sp, #0x10 + add r1, sp, #0x4 + bl sub_0201265C + ldr r0, _02031340 ; =0x021C48B8 + ldr r6, [sp, #0x10] + mov r5, #0x0 + lsr r7, r6, #0x1c + lsl r5, r5, #0x4 + ldr r1, [sp, #0xc] + ldr r0, [r0, #0x2c] + lsl r6, r6, #0x4 + add r3, r1, r0 + ldr r0, [sp, #0x18] + orr r5, r7 + str r0, [sp, #0x0] + ldr r0, [sp, #0x14] + ldr r1, [sp, #0x4] + add r6, r0, r6 + ldr r0, _02031344 ; =0x00000000 + ldr r2, [sp, #0x8] + adc r0, r5 + lsr r5, r6, #0x1b + lsl r0, r0, #0x5 + orr r0, r5 + ldr r5, [sp, #0x0] + lsl r6, r6, #0x5 + add r6, r5, r6 + ldr r5, _02031344 ; =0x00000000 + adc r5, r0 + lsr r0, r6, #0x1b + lsl r5, r5, #0x5 + orr r5, r0 + lsl r0, r6, #0x5 + add r6, r1, r0 + ldr r1, _02031344 ; =0x00000000 + adc r1, r5 + lsr r0, r6, #0x1a + lsl r1, r1, #0x6 + orr r1, r0 + lsl r0, r6, #0x6 + add r5, r2, r0 + ldr r2, _02031344 ; =0x00000000 + adc r2, r1 + lsr r0, r5, #0x1a + lsl r1, r2, #0x6 + orr r1, r0 + lsl r0, r5, #0x6 + add r2, r3, r0 + ldr r0, _02031344 ; =0x00000000 + str r2, [r4, #0x0] + adc r0, r1 + str r0, [r4, #0x4] + ldr r1, _02031348 ; =0x6C078965 + ldr r0, _0203134C ; =0x5D588B65 + str r1, [r4, #0x8] + str r0, [r4, #0xc] + ldr r0, _02031350 ; =0x00269EC3 + str r0, [r4, #0x10] + mov r0, #0x0 + str r0, [r4, #0x14] + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_02031340: .word 0x021C48B8 +_02031344: .word 0x00000000 +_02031348: .word 0x6C078965 +_0203134C: .word 0x5D588B65 +_02031350: .word 0x00269EC3 + + thumb_func_start sub_02031354 +sub_02031354: ; 0x02031354 + add r1, r0, #0x0 + ldr r0, _02031364 ; =0x021C59F4 + ldr r3, _02031368 ; =sub_0202D830 + ldr r2, [r0, #0x4] + ldr r0, _0203136C ; =0x0000056C + add r0, r2, r0 + bx r3 + nop +_02031364: .word 0x021C59F4 +_02031368: .word sub_0202D830 + 1 +_0203136C: .word 0x0000056C + + thumb_func_start sub_02031370 +sub_02031370: ; 0x02031370 + ldr r0, _0203137C ; =0x021C59F4 + ldr r3, _02031380 ; =sub_0202D4E4 + ldr r1, [r0, #0x4] + ldr r0, _02031384 ; =0x0000056C + add r0, r1, r0 + bx r3 + .balign 4 +_0203137C: .word 0x021C59F4 +_02031380: .word sub_0202D4E4 + 1 +_02031384: .word 0x0000056C + + thumb_func_start sub_02031388 +sub_02031388: ; 0x02031388 + ldr r0, _02031394 ; =0x021C59F4 + ldr r3, _02031398 ; =sub_0202D4E4 + ldr r1, [r0, #0x4] + ldr r0, _0203139C ; =0x0000054C + add r0, r1, r0 + bx r3 + .balign 4 +_02031394: .word 0x021C59F4 +_02031398: .word sub_0202D4E4 + 1 +_0203139C: .word 0x0000054C + + thumb_func_start sub_020313A0 +sub_020313A0: ; 0x020313A0 + ldr r1, _020313AC ; =0x021C59F4 + ldr r2, [r1, #0x4] + ldr r1, _020313B0 ; =0x00000687 + strb r0, [r2, r1] + bx lr + nop +_020313AC: .word 0x021C59F4 +_020313B0: .word 0x00000687 + + thumb_func_start sub_020313B4 +sub_020313B4: ; 0x020313B4 + ldr r2, _020313C4 ; =0x021C59F4 + ldr r2, [r2, #0x4] + cmp r2, #0x0 + beq _020313C2 + add r2, r2, r1 + ldr r1, _020313C8 ; =0x00000677 + strb r0, [r2, r1] +_020313C2: + bx lr + .balign 4 +_020313C4: .word 0x021C59F4 +_020313C8: .word 0x00000677 + + thumb_func_start sub_020313CC +sub_020313CC: ; 0x020313CC + ldr r1, _020313E4 ; =0x021C59F4 + ldr r1, [r1, #0x4] + cmp r1, #0x0 + beq _020313E0 + add r2, r1, r0 + ldr r1, _020313E8 ; =0x00000677 + ldrb r1, [r2, r1] + cmp r1, #0xff + beq _020313E0 + add r0, r1, #0x0 +_020313E0: + bx lr + nop +_020313E4: .word 0x021C59F4 +_020313E8: .word 0x00000677 + + thumb_func_start sub_020313EC +sub_020313EC: ; 0x020313EC + push {r3, lr} + bl sub_02033534 + cmp r0, #0x13 + bge _020313FA + mov r0, #0x0 + pop {r3, pc} +_020313FA: + bl sub_021D8624 + pop {r3, pc} + + thumb_func_start sub_02031400 +sub_02031400: ; 0x02031400 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02033534 + cmp r0, #0x13 + blt _02031430 + ldr r2, _02031434 ; =0x021C59F4 + mov r1, #0x63 + ldr r0, [r2, #0x4] + lsl r1, r1, #0x4 + str r4, [r0, r1] + cmp r4, #0x0 + beq _02031430 + ldr r3, [r2, #0x4] + mov r4, #0x0 + add r0, r1, #0x4 + str r4, [r3, r0] + add r0, r1, #0x0 + ldr r3, [r2, #0x4] + add r0, #0x8 + str r4, [r3, r0] + ldr r0, [r2, #0x4] + add r1, #0xc + str r4, [r0, r1] +_02031430: + pop {r4, pc} + nop +_02031434: .word 0x021C59F4 + + thumb_func_start sub_02031438 +sub_02031438: ; 0x02031438 + ldr r0, _0203144C ; =0x021C59F4 + ldr r1, [r0, #0x4] + ldr r0, _02031450 ; =0x00000681 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _02031448 + mov r0, #0x1 + bx lr +_02031448: + mov r0, #0x0 + bx lr + .balign 4 +_0203144C: .word 0x021C59F4 +_02031450: .word 0x00000681 + + thumb_func_start sub_02031454 +sub_02031454: ; 0x02031454 + ldr r0, _02031460 ; =0x021C59F4 + mov r2, #0x1 + ldr r1, [r0, #0x4] + ldr r0, _02031464 ; =0x00000689 + strb r2, [r1, r0] + bx lr + .balign 4 +_02031460: .word 0x021C59F4 +_02031464: .word 0x00000689 + + thumb_func_start sub_02031468 +sub_02031468: ; 0x02031468 + ldr r0, _02031478 ; =0x021C59F4 + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _02031476 + ldr r0, _0203147C ; =0x0000068A + mov r1, #0x1 + strb r1, [r2, r0] +_02031476: + bx lr + .balign 4 +_02031478: .word 0x021C59F4 +_0203147C: .word 0x0000068A + + thumb_func_start sub_02031480 +sub_02031480: ; 0x02031480 + push {r4, lr} + ldr r1, _020314C8 ; =0x021C59FC + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0203149C + ldr r1, _020314CC ; =0x00000253 + bl sub_02016998 + ldr r1, _020314C8 ; =0x021C59FC + ldr r2, _020314CC ; =0x00000253 + str r0, [r1, #0x0] + mov r1, #0x0 + blx sub_020CE34C +_0203149C: + ldr r1, _020314C8 ; =0x021C59FC + mov r3, #0x0 + mov r0, #0xff +_020314A2: + ldr r2, [r1, #0x0] + add r2, r2, r3 + add r3, r3, #0x1 + strb r0, [r2, #0x10] + cmp r3, #0x8 + blt _020314A2 + ldr r3, _020314C8 ; =0x021C59FC + mov r1, #0x25 + ldr r2, [r3, #0x0] + lsl r1, r1, #0x4 + strb r0, [r2, r1] + ldr r4, [r3, #0x0] + add r2, r1, #0x1 + strb r0, [r4, r2] + ldr r2, [r3, #0x0] + mov r4, #0x0 + add r0, r1, #0x2 + strb r4, [r2, r0] + pop {r4, pc} + .balign 4 +_020314C8: .word 0x021C59FC +_020314CC: .word 0x00000253 + + thumb_func_start sub_020314D0 +sub_020314D0: ; 0x020314D0 + push {r3, lr} + ldr r0, _020314E4 ; =0x021C59FC + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _020314E4 ; =0x021C59FC + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3, pc} + nop +_020314E4: .word 0x021C59FC + + thumb_func_start sub_020314E8 +sub_020314E8: ; 0x020314E8 + ldr r0, _020314F8 ; =0x021C59FC + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020314F4 + mov r0, #0x1 + bx lr +_020314F4: + mov r0, #0x0 + bx lr + .balign 4 +_020314F8: .word 0x021C59FC + + thumb_func_start sub_020314FC +sub_020314FC: ; 0x020314FC + push {r3-r6, lr} + sub sp, #0x4 + ldrb r1, [r2, #0x0] + add r5, r0, #0x0 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + bl sub_02031190 + cmp r0, #0x0 + bne _02031556 + add r0, sp, #0x0 + strb r5, [r0, #0x1] + ldrb r1, [r0, #0x0] + strb r1, [r0, #0x2] + add r1, sp, #0x0 + mov r0, #0x12 + add r1, #0x1 + bl sub_02030C4C + ldr r6, _0203155C ; =0x021C59FC + add r4, sp, #0x0 + ldr r0, [r6, #0x0] + ldrb r1, [r4, #0x0] + add r0, r0, r5 + mov r5, #0x0 + strb r1, [r0, #0x10] +_02031530: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + beq _02031548 + ldr r0, [r6, #0x0] + ldrb r1, [r4, #0x0] + add r0, r0, r5 + ldrb r0, [r0, #0x10] + cmp r1, r0 + bne _02031556 +_02031548: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _02031530 + mov r0, #0x11 + add r1, sp, #0x0 + bl sub_02030C4C +_02031556: + add sp, #0x4 + pop {r3-r6, pc} + nop +_0203155C: .word 0x021C59FC + + thumb_func_start sub_02031560 +sub_02031560: ; 0x02031560 + ldr r0, _02031570 ; =0x021C59FC + ldrb r3, [r2, #0x1] + ldr r1, [r0, #0x0] + ldrb r0, [r2, #0x0] + add r0, r1, r0 + strb r3, [r0, #0x10] + bx lr + nop +_02031570: .word 0x021C59FC + + thumb_func_start sub_02031574 +sub_02031574: ; 0x02031574 + ldr r0, _02031584 ; =0x021C59FC + ldrb r2, [r2, #0x0] + ldr r1, [r0, #0x0] + mov r0, #0x25 + lsl r0, r0, #0x4 + strb r2, [r1, r0] + bx lr + nop +_02031584: .word 0x021C59FC + + thumb_func_start sub_02031588 +sub_02031588: ; 0x02031588 + ldr r2, _0203159C ; =0x021C59FC + ldr r1, _020315A0 ; =0x00000251 + ldr r3, [r2, #0x0] + strb r0, [r3, r1] + ldr r2, [r2, #0x0] + mov r3, #0x1 + add r0, r1, #0x1 + strb r3, [r2, r0] + bx lr + nop +_0203159C: .word 0x021C59FC +_020315A0: .word 0x00000251 + + thumb_func_start sub_020315A4 +sub_020315A4: ; 0x020315A4 + push {r3, lr} + ldr r0, _020315D0 ; =0x021C59FC + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _020315CE + ldr r1, _020315D4 ; =0x00000252 + ldrb r0, [r2, r1] + cmp r0, #0x0 + beq _020315CE + sub r1, r1, #0x1 + mov r0, #0x10 + add r1, r2, r1 + bl sub_020311D0 + cmp r0, #0x0 + beq _020315CE + ldr r0, _020315D0 ; =0x021C59FC + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _020315D4 ; =0x00000252 + strb r2, [r1, r0] +_020315CE: + pop {r3, pc} + .balign 4 +_020315D0: .word 0x021C59FC +_020315D4: .word 0x00000252 + + thumb_func_start sub_020315D8 +sub_020315D8: ; 0x020315D8 + ldr r1, _020315F8 ; =0x021C59FC + ldr r2, [r1, #0x0] + cmp r2, #0x0 + bne _020315E4 + mov r0, #0x1 + bx lr +_020315E4: + mov r1, #0x25 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + cmp r1, r0 + bne _020315F2 + mov r0, #0x1 + bx lr +_020315F2: + mov r0, #0x0 + bx lr + nop +_020315F8: .word 0x021C59FC + + thumb_func_start sub_020315FC +sub_020315FC: ; 0x020315FC + ldr r1, _02031608 ; =0x021C59FC + ldr r1, [r1, #0x0] + add r0, r1, r0 + ldrb r0, [r0, #0x10] + bx lr + nop +_02031608: .word 0x021C59FC + + thumb_func_start sub_0203160C +sub_0203160C: ; 0x0203160C + push {r3-r4} + lsl r4, r0, #0x1 + ldr r0, _02031624 ; =0x021C59FC + ldrb r3, [r2, #0x0] + ldr r1, [r0, #0x0] + strb r3, [r1, r4] + ldr r0, [r0, #0x0] + ldrb r1, [r2, #0x1] + add r0, r0, r4 + strb r1, [r0, #0x1] + pop {r3-r4} + bx lr + .balign 4 +_02031624: .word 0x021C59FC + + thumb_func_start sub_02031628 +sub_02031628: ; 0x02031628 + mov r0, #0x2 + bx lr + + thumb_func_start sub_0203162C +sub_0203162C: ; 0x0203162C + push {r3, lr} + add r2, sp, #0x0 + strb r0, [r2, #0x0] + strb r1, [r2, #0x1] + mov r0, #0x13 + add r1, sp, #0x0 + bl sub_020311D0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02031640 +sub_02031640: ; 0x02031640 + ldr r2, _02031664 ; =0x021C59FC + ldr r3, [r2, #0x0] + cmp r3, #0x0 + bne _0203164E + mov r0, #0x0 + mvn r0, r0 + bx lr +_0203164E: + lsl r2, r0, #0x1 + ldrb r0, [r3, r2] + cmp r1, r0 + bne _0203165C + add r0, r3, r2 + ldrb r0, [r0, #0x1] + bx lr +_0203165C: + mov r0, #0x0 + mvn r0, r0 + bx lr + nop +_02031664: .word 0x021C59FC + + thumb_func_start sub_02031668 +sub_02031668: ; 0x02031668 + push {r3-r7, lr} + mov r4, #0x0 + ldr r6, _02031688 ; =0x021C59FC + add r5, r4, #0x0 + add r7, r4, #0x0 +_02031672: + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + add r0, r0, r5 + mov r2, #0x2 + blx sub_020CE34C + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x8 + blt _02031672 + pop {r3-r7, pc} + .balign 4 +_02031688: .word 0x021C59FC + + thumb_func_start sub_0203168C +sub_0203168C: ; 0x0203168C + push {r3-r4} + mov r4, #0x0 + mov r0, #0x92 + ldr r1, _020316A8 ; =0x021C59FC + add r3, r4, #0x0 + lsl r0, r0, #0x2 +_02031698: + ldr r2, [r1, #0x0] + add r2, r2, r4 + add r4, r4, #0x1 + strb r3, [r2, r0] + cmp r4, #0x8 + blt _02031698 + pop {r3-r4} + bx lr + .balign 4 +_020316A8: .word 0x021C59FC + + thumb_func_start sub_020316AC +sub_020316AC: ; 0x020316AC + push {r4, lr} + ldr r2, _020316DC ; =0x021C59FC + ldr r3, [r2, #0x0] + cmp r3, #0x0 + beq _020316D8 + add r4, r0, #0x0 + mov r2, #0x46 + mul r4, r2 + add r3, #0x18 + add r0, r1, #0x0 + add r1, r3, r4 + blx sub_020CE3E0 + ldr r1, _020316DC ; =0x021C59FC + mov r0, #0x14 + ldr r1, [r1, #0x0] + add r1, #0x18 + add r1, r1, r4 + bl sub_020311D0 + mov r0, #0x1 + pop {r4, pc} +_020316D8: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_020316DC: .word 0x021C59FC + + thumb_func_start sub_020316E0 +sub_020316E0: ; 0x020316E0 + ldr r1, _02031700 ; =0x021C59FC + ldr r3, [r1, #0x0] + mov r1, #0x92 + add r2, r3, r0 + lsl r1, r1, #0x2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _020316FA + mov r1, #0x46 + add r3, #0x18 + mul r1, r0 + add r0, r3, r1 + bx lr +_020316FA: + mov r0, #0x0 + bx lr + nop +_02031700: .word 0x021C59FC + + thumb_func_start sub_02031704 +sub_02031704: ; 0x02031704 + push {r3-r5, lr} + ldr r3, _0203172C ; =0x021C59FC + add r1, r0, #0x0 + ldr r0, [r3, #0x0] + mov r5, #0x1 + add r4, r0, r1 + mov r0, #0x92 + lsl r0, r0, #0x2 + strb r5, [r4, r0] + ldr r4, [r3, #0x0] + add r0, r2, #0x0 + mov r2, #0x46 + add r3, r1, #0x0 + add r4, #0x18 + mul r3, r2 + add r1, r4, r3 + blx sub_020CE3E0 + pop {r3-r5, pc} + nop +_0203172C: .word 0x021C59FC + + thumb_func_start sub_02031730 +sub_02031730: ; 0x02031730 + mov r0, #0x46 + bx lr + + thumb_func_start sub_02031734 +sub_02031734: ; 0x02031734 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020317BC ; =0x021C5A00 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020317B8 + bl sub_0202E49C + mov r0, #0xf + mov r1, #0x50 + bl sub_02016998 + ldr r1, _020317BC ; =0x021C5A00 + mov r2, #0x50 + str r0, [r1, #0x0] + mov r1, #0x0 + blx sub_020CE34C + ldr r0, _020317BC ; =0x021C5A00 + mov r2, #0x32 + ldr r1, [r0, #0x0] + strh r2, [r1, #0x3a] + ldr r1, [r0, #0x0] + mov r2, #0x1 + add r1, #0x43 + strb r2, [r1, #0x0] + ldr r0, [r0, #0x0] + str r5, [r0, #0x28] + add r0, r5, #0x0 + bl sub_020238F4 + ldr r1, _020317BC ; =0x021C5A00 + ldr r2, [r1, #0x0] + str r0, [r2, #0x2c] + ldr r0, [r1, #0x0] + mov r2, #0x2 + add r0, #0x3c + strb r2, [r0, #0x0] + ldr r0, [r1, #0x0] + mov r2, #0x0 + add r0, #0x3d + strb r2, [r0, #0x0] + ldr r0, [r1, #0x0] + add r0, #0x48 + strb r2, [r0, #0x0] + ldr r0, [r1, #0x0] + add r0, #0x3f + strb r4, [r0, #0x0] + ldr r0, [r1, #0x0] + add r0, #0xc + bl sub_020312BC + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl sub_0202D8D0 + cmp r4, #0x9 + beq _020317B8 + cmp r4, #0x11 + beq _020317B8 + cmp r4, #0xf + beq _020317B8 + bl sub_02033E74 +_020317B8: + pop {r3-r5, pc} + nop +_020317BC: .word 0x021C5A00 + + thumb_func_start sub_020317C0 +sub_020317C0: ; 0x020317C0 + push {r3, lr} + ldr r0, _0203180C ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0203180A + bl sub_0202D918 + ldr r0, _0203180C ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020317DC + bl sub_02016A18 +_020317DC: + ldr r0, _0203180C ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3f + ldrb r0, [r0, #0x0] + cmp r0, #0x13 + blo _020317EE + mov r0, #0x31 + bl sub_020168D0 +_020317EE: + bl sub_02033ED0 + bl sub_0202E4F0 + ldr r0, _0203180C ; =0x021C5A00 + ldr r0, [r0, #0x0] + bl sub_02016A18 + mov r0, #0xf + bl sub_020168D0 + ldr r0, _0203180C ; =0x021C5A00 + mov r1, #0x0 + str r1, [r0, #0x0] +_0203180A: + pop {r3, pc} + .balign 4 +_0203180C: .word 0x021C5A00 + + thumb_func_start sub_02031810 +sub_02031810: ; 0x02031810 + ldr r0, _02031820 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0203181C + mov r0, #0x1 + bx lr +_0203181C: + mov r0, #0x0 + bx lr + .balign 4 +_02031820: .word 0x021C5A00 + + thumb_func_start sub_02031824 +sub_02031824: ; 0x02031824 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02031858 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031856 + mov r2, #0xe + mov r0, #0x3 + mov r1, #0xf + lsl r2, r2, #0xc + bl sub_02016828 + add r0, r4, #0x0 + mov r1, #0xa + bl sub_02031734 + ldr r0, _02031858 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x40 + strb r1, [r0, #0x0] + ldr r0, _0203185C ; =sub_02031D30 + mov r1, #0x32 + bl sub_02031D20 +_02031856: + pop {r4, pc} + .balign 4 +_02031858: .word 0x021C5A00 +_0203185C: .word sub_02031D30 + 1 + + thumb_func_start sub_02031860 +sub_02031860: ; 0x02031860 + push {r3, lr} + ldr r0, _02031878 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031876 + bl sub_02031468 + ldr r0, _0203187C ; =sub_020323CC + mov r1, #0x0 + bl sub_02031D20 +_02031876: + pop {r3, pc} + .balign 4 +_02031878: .word 0x021C5A00 +_0203187C: .word sub_020323CC + 1 + + thumb_func_start sub_02031880 +sub_02031880: ; 0x02031880 + push {r3, lr} + bl sub_0202FC60 + bl sub_02031190 + ldr r1, _0203189C ; =0x021C5A00 + ldr r1, [r1, #0x0] + strh r0, [r1, #0x38] + ldr r0, _020318A0 ; =sub_020321B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + nop +_0203189C: .word 0x021C5A00 +_020318A0: .word sub_020321B8 + 1 + + thumb_func_start sub_020318A4 +sub_020318A4: ; 0x020318A4 + ldr r1, _020318B0 ; =0x021C5A00 + ldr r1, [r1, #0x0] + add r1, #0x4f + strb r0, [r1, #0x0] + bx lr + nop +_020318B0: .word 0x021C5A00 + + thumb_func_start sub_020318B4 +sub_020318B4: ; 0x020318B4 + ldr r3, _020318BC ; =sub_02031D20 + ldr r0, _020318C0 ; =sub_02032028 + mov r1, #0x0 + bx r3 + .balign 4 +_020318BC: .word sub_02031D20 + 1 +_020318C0: .word sub_02032028 + 1 + + thumb_func_start sub_020318C4 +sub_020318C4: ; 0x020318C4 + push {r4} + sub sp, #0xc + ldr r4, _0203190C ; =0x020EEC50 + add r3, sp, #0x0 + ldmia r4!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + ldr r0, _02031910 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x24] + cmp r0, #0x0 + bne _020318E8 + add sp, #0xc + mov r0, #0x0 + pop {r4} + bx lr +_020318E8: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _02031904 +_020318EE: + ldr r0, [r2, #0x0] + cmp r1, r0 + bne _020318FC + add sp, #0xc + mov r0, #0x1 + pop {r4} + bx lr +_020318FC: + add r2, r2, #0x4 + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _020318EE +_02031904: + mov r0, #0x0 + add sp, #0xc + pop {r4} + bx lr + .balign 4 +_0203190C: .word 0x020EEC50 +_02031910: .word 0x021C5A00 + + thumb_func_start sub_02031914 +sub_02031914: ; 0x02031914 + ldr r3, _0203191C ; =sub_02031D20 + ldr r0, _02031920 ; =sub_02032178 + mov r1, #0x0 + bx r3 + .balign 4 +_0203191C: .word sub_02031D20 + 1 +_02031920: .word sub_02032178 + 1 + + thumb_func_start sub_02031924 +sub_02031924: ; 0x02031924 + ldr r0, _02031930 ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x4c + strb r1, [r0, #0x0] + bx lr + .balign 4 +_02031930: .word 0x021C5A00 + + thumb_func_start sub_02031934 +sub_02031934: ; 0x02031934 + push {r3, lr} + bl sub_0202E49C + ldr r0, _02031944 ; =sub_02032194 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02031944: .word sub_02032194 + 1 + + thumb_func_start sub_02031948 +sub_02031948: ; 0x02031948 + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02031980 + ldr r2, _02031984 ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl sub_02016828 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02031734 + ldr r0, _02031988 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r1, #0x40 + strb r5, [r1, #0x0] + ldr r0, [r0, #0x0] + mov r1, #0x0 + str r4, [r0, #0x30] + ldr r0, _0203198C ; =sub_020321D0 + bl sub_02031D20 +_02031980: + pop {r3-r7, pc} + nop +_02031984: .word 0x00007080 +_02031988: .word 0x021C5A00 +_0203198C: .word sub_020321D0 + 1 + + thumb_func_start sub_02031990 +sub_02031990: ; 0x02031990 + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _020319C8 + ldr r2, _020319CC ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl sub_02016828 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02031734 + ldr r0, _020319D0 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r1, #0x40 + strb r5, [r1, #0x0] + ldr r0, [r0, #0x0] + mov r1, #0x0 + str r4, [r0, #0x30] + ldr r0, _020319D4 ; =sub_0203224C + bl sub_02031D20 +_020319C8: + pop {r3-r7, pc} + nop +_020319CC: .word 0x00007080 +_020319D0: .word 0x021C5A00 +_020319D4: .word sub_0203224C + 1 + + thumb_func_start sub_020319D8 +sub_020319D8: ; 0x020319D8 + ldr r1, _020319E8 ; =0x021C5A00 + ldr r3, _020319EC ; =sub_02031D20 + ldr r1, [r1, #0x0] + add r1, #0x3e + strb r0, [r1, #0x0] + ldr r0, _020319F0 ; =sub_02032298 + mov r1, #0x0 + bx r3 + .balign 4 +_020319E8: .word 0x021C5A00 +_020319EC: .word sub_02031D20 + 1 +_020319F0: .word sub_02032298 + 1 + + thumb_func_start sub_020319F4 +sub_020319F4: ; 0x020319F4 + push {r3, lr} + bl sub_0202FCA8 + ldr r0, _02031A04 ; =sub_02032364 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02031A04: .word sub_02032364 + 1 + + thumb_func_start sub_02031A08 +sub_02031A08: ; 0x02031A08 + push {r3, lr} + ldr r0, _02031A1C ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031A1A + ldr r0, _02031A20 ; =sub_02032440 + mov r1, #0x5 + bl sub_02031D20 +_02031A1A: + pop {r3, pc} + .balign 4 +_02031A1C: .word 0x021C5A00 +_02031A20: .word sub_02032440 + 1 + + thumb_func_start sub_02031A24 +sub_02031A24: ; 0x02031A24 + ldr r3, _02031A28 ; =sub_0202D298 + bx r3 + .balign 4 +_02031A28: .word sub_0202D298 + 1 + + thumb_func_start sub_02031A2C +sub_02031A2C: ; 0x02031A2C + push {r4} + sub sp, #0xc + ldr r4, _02031A74 ; =0x020EEC5C + add r3, sp, #0x0 + ldmia r4!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + ldr r0, _02031A78 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x24] + cmp r0, #0x0 + bne _02031A50 + add sp, #0xc + mov r0, #0x0 + pop {r4} + bx lr +_02031A50: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _02031A6C +_02031A56: + ldr r0, [r2, #0x0] + cmp r1, r0 + bne _02031A64 + add sp, #0xc + mov r0, #0x1 + pop {r4} + bx lr +_02031A64: + add r2, r2, #0x4 + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _02031A56 +_02031A6C: + mov r0, #0x0 + add sp, #0xc + pop {r4} + bx lr + .balign 4 +_02031A74: .word 0x020EEC5C +_02031A78: .word 0x021C5A00 + + thumb_func_start sub_02031A7C +sub_02031A7C: ; 0x02031A7C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02031ABC ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031ABA + ldr r2, _02031AC0 ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl sub_02016828 + cmp r0, #0x0 + bne _02031A9A + bl sub_020335E0 +_02031A9A: + add r0, r4, #0x0 + mov r1, #0x9 + bl sub_02031734 + ldr r0, _02031ABC ; =0x021C5A00 + mov r2, #0x9 + ldr r1, [r0, #0x0] + add r1, #0x3f + strb r2, [r1, #0x0] + ldr r0, [r0, #0x0] + mov r1, #0x0 + add r0, #0x40 + strb r1, [r0, #0x0] + ldr r0, _02031AC4 ; =sub_02032478 + bl sub_02031D20 +_02031ABA: + pop {r4, pc} + .balign 4 +_02031ABC: .word 0x021C5A00 +_02031AC0: .word 0x00007080 +_02031AC4: .word sub_02032478 + 1 + + thumb_func_start sub_02031AC8 +sub_02031AC8: ; 0x02031AC8 + push {r3, lr} + ldr r1, _02031AEC ; =0x021C5A00 + ldr r2, [r1, #0x0] + add r2, #0x3e + strb r0, [r2, #0x0] + ldr r0, [r1, #0x0] + mov r2, #0x3 + strh r2, [r0, #0x38] + mov r0, #0x1 + bl sub_0202D344 + bl sub_02033E74 + ldr r0, _02031AF0 ; =sub_02032628 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02031AEC: .word 0x021C5A00 +_02031AF0: .word sub_02032628 + 1 + + thumb_func_start sub_02031AF4 +sub_02031AF4: ; 0x02031AF4 + ldr r0, _02031B20 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031B02 + mov r0, #0x0 + mvn r0, r0 + bx lr +_02031B02: + ldr r1, [r0, #0x24] + ldr r0, _02031B24 ; =sub_0203279C + cmp r1, r0 + bne _02031B0E + mov r0, #0x1 + bx lr +_02031B0E: + ldr r0, _02031B28 ; =sub_020327B4 + cmp r1, r0 + bne _02031B18 + mov r0, #0x1 + b _02031B1A +_02031B18: + mov r0, #0x0 +_02031B1A: + neg r0, r0 + bx lr + nop +_02031B20: .word 0x021C5A00 +_02031B24: .word sub_0203279C + 1 +_02031B28: .word sub_020327B4 + 1 + + thumb_func_start sub_02031B2C +sub_02031B2C: ; 0x02031B2C + ldr r0, _02031B48 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031B38 + mov r0, #0x0 + bx lr +_02031B38: + ldr r1, [r0, #0x24] + ldr r0, _02031B4C ; =sub_020327FC + cmp r1, r0 + bne _02031B44 + mov r0, #0x1 + bx lr +_02031B44: + mov r0, #0x0 + bx lr + .balign 4 +_02031B48: .word 0x021C5A00 +_02031B4C: .word sub_020327FC + 1 + + thumb_func_start sub_02031B50 +sub_02031B50: ; 0x02031B50 + push {r3, lr} + mov r0, #0x0 + bl sub_0202D344 + ldr r0, _02031BC4 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02031B78 + add r0, r1, #0x0 + add r0, #0x45 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _02031B78 + add r1, #0x3f + ldrb r0, [r1, #0x0] + cmp r0, #0x9 + bne _02031B80 +_02031B78: + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_020334E8 +_02031B80: + bl sub_02033ED0 + ldr r0, _02031BC4 ; =0x021C5A00 + mov r2, #0x9 + ldr r1, [r0, #0x0] + add r1, #0x3f + strb r2, [r1, #0x0] + ldr r1, [r0, #0x0] + mov r2, #0x0 + add r1, #0x48 + strb r2, [r1, #0x0] + ldr r0, [r0, #0x0] + add r0, #0x3c + ldrb r0, [r0, #0x0] + bl sub_0202D1B0 + bl sub_02031190 + cmp r0, #0x0 + bne _02031BB8 + mov r0, #0x1 + bl sub_0202D36C + ldr r0, _02031BC8 ; =sub_020323DC + mov r1, #0xf + bl sub_02031D20 + pop {r3, pc} +_02031BB8: + ldr r0, _02031BCC ; =sub_02032424 + mov r1, #0x5 + bl sub_02031D20 + pop {r3, pc} + nop +_02031BC4: .word 0x021C5A00 +_02031BC8: .word sub_020323DC + 1 +_02031BCC: .word sub_02032424 + 1 + + thumb_func_start sub_02031BD0 +sub_02031BD0: ; 0x02031BD0 + ldr r0, _02031BEC ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031BDC + mov r0, #0x1 + bx lr +_02031BDC: + ldr r1, [r0, #0x24] + ldr r0, _02031BF0 ; =sub_020324F8 + cmp r1, r0 + beq _02031BE8 + mov r0, #0x1 + bx lr +_02031BE8: + mov r0, #0x0 + bx lr + .balign 4 +_02031BEC: .word 0x021C5A00 +_02031BF0: .word sub_020324F8 + 1 + + thumb_func_start sub_02031BF4 +sub_02031BF4: ; 0x02031BF4 + push {r3, lr} + ldr r0, _02031C08 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031C06 + ldr r0, _02031C0C ; =sub_02032440 + mov r1, #0x5 + bl sub_02031D20 +_02031C06: + pop {r3, pc} + .balign 4 +_02031C08: .word 0x021C5A00 +_02031C0C: .word sub_02032440 + 1 + + thumb_func_start sub_02031C10 +sub_02031C10: ; 0x02031C10 + push {r3, lr} + ldr r0, _02031C28 ; =0x021C5A00 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02031C24 + mov r0, #0x1 + add r1, #0x48 + strb r0, [r1, #0x0] + bl sub_0202D344 +_02031C24: + pop {r3, pc} + nop +_02031C28: .word 0x021C5A00 + + thumb_func_start sub_02031C2C +sub_02031C2C: ; 0x02031C2C + push {r3, lr} + ldr r0, _02031C4C ; =0x021C5A00 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02031C48 + mov r0, #0x1 + add r1, #0x48 + strb r0, [r1, #0x0] + bl sub_0202D344 + ldr r0, _02031C50 ; =sub_02032850 + mov r1, #0x0 + bl sub_02031D20 +_02031C48: + pop {r3, pc} + nop +_02031C4C: .word 0x021C5A00 +_02031C50: .word sub_02032850 + 1 + + thumb_func_start sub_02031C54 +sub_02031C54: ; 0x02031C54 + ldr r0, _02031C60 ; =0x021C5A00 + mov r1, #0x12 + ldr r0, [r0, #0x0] + add r0, #0x3f + strb r1, [r0, #0x0] + bx lr + .balign 4 +_02031C60: .word 0x021C5A00 + + thumb_func_start sub_02031C64 +sub_02031C64: ; 0x02031C64 + ldr r0, _02031C70 ; =0x021C5A00 + mov r1, #0x9 + ldr r0, [r0, #0x0] + add r0, #0x3f + strb r1, [r0, #0x0] + bx lr + .balign 4 +_02031C70: .word 0x021C5A00 + + thumb_func_start sub_02031C74 +sub_02031C74: ; 0x02031C74 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02031C9C + ldr r2, _02031CA0 ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl sub_02016828 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02031734 + ldr r0, _02031CA4 ; =sub_02032E00 + mov r1, #0x0 + bl sub_02031D20 +_02031C9C: + pop {r3-r5, pc} + nop +_02031CA0: .word 0x00007080 +_02031CA4: .word sub_02032E00 + 1 + + thumb_func_start sub_02031CA8 +sub_02031CA8: ; 0x02031CA8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02031CD0 + ldr r2, _02031CD4 ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl sub_02016828 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02031734 + ldr r0, _02031CD8 ; =sub_02032E48 + mov r1, #0x0 + bl sub_02031D20 +_02031CD0: + pop {r3-r5, pc} + nop +_02031CD4: .word 0x00007080 +_02031CD8: .word sub_02032E48 + 1 + + thumb_func_start sub_02031CDC +sub_02031CDC: ; 0x02031CDC + push {r3, lr} + ldr r0, _02031D1C ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031CEE + ldr r0, [r0, #0x24] + cmp r0, #0x0 + beq _02031CEE + blx r0 +_02031CEE: + bl sub_02033590 + cmp r0, #0x0 + beq _02031D04 + blx sub_021DDB08 + mov r1, #0x3 + sub r0, r1, r0 + bl sub_02033EEC + pop {r3, pc} +_02031D04: + bl sub_0202EDF8 + cmp r0, #0x0 + beq _02031D18 + blx sub_020D8B94 + mov r1, #0x3 + sub r0, r1, r0 + bl sub_02033EEC +_02031D18: + pop {r3, pc} + nop +_02031D1C: .word 0x021C5A00 + + thumb_func_start sub_02031D20 +sub_02031D20: ; 0x02031D20 + ldr r2, _02031D2C ; =0x021C5A00 + ldr r3, [r2, #0x0] + str r0, [r3, #0x24] + ldr r0, [r2, #0x0] + strh r1, [r0, #0x3a] + bx lr + .balign 4 +_02031D2C: .word 0x021C5A00 + + thumb_func_start sub_02031D30 +sub_02031D30: ; 0x02031D30 + push {r3-r5, lr} + ldr r0, _02031DF8 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02031D42 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3-r5, pc} +_02031D42: + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02031DF6 + ldr r0, _02031DF8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02031DF8 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + mov r0, #0x1 + bl sub_02031268 + bl sub_02030FA8 + ldr r0, _02031DF8 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x4a + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031DC8 + add r1, #0x43 + ldrb r1, [r1, #0x0] + mov r0, #0x1 + mov r2, #0x7d + lsl r2, r2, #0x2 + add r3, r0, #0x0 + bl sub_0202F918 + cmp r0, #0x0 + beq _02031DF6 + ldr r0, _02031DF8 ; =0x021C5A00 + ldr r5, [r0, #0x0] + add r4, r5, #0x0 + add r4, #0xc + ldr r0, [r4, #0x8] + ldr r1, [r4, #0xc] + ldr r2, [r5, #0xc] + ldr r3, [r4, #0x4] + blx sub_020EBC30 + ldr r2, [r4, #0x10] + ldr r3, [r4, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r5, #0xc] + str r3, [r4, #0x4] + add r0, r3, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0x0 + blx sub_020EBC30 + mov r0, #0x0 + add r5, #0x43 + strb r0, [r5, #0x0] + ldr r0, _02031DFC ; =sub_020320C4 + add r1, #0x14 + bl sub_02031D20 + pop {r3-r5, pc} +_02031DC8: + mov r0, #0x1 + mov r2, #0x7d + add r1, r0, #0x0 + lsl r2, r2, #0x2 + bl sub_0202F950 + cmp r0, #0x0 + beq _02031DF6 + ldr r0, _02031DF8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x4c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031DEE + ldr r0, _02031E00 ; =sub_020323B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3-r5, pc} +_02031DEE: + ldr r0, _02031E04 ; =sub_02031EE0 + mov r1, #0x40 + bl sub_02031D20 +_02031DF6: + pop {r3-r5, pc} + .balign 4 +_02031DF8: .word 0x021C5A00 +_02031DFC: .word sub_020320C4 + 1 +_02031E00: .word sub_020323B8 + 1 +_02031E04: .word sub_02031EE0 + 1 + + thumb_func_start sub_02031E08 +sub_02031E08: ; 0x02031E08 + push {r3-r5, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _02031E7C + mov r0, #0x1 + bl sub_02031268 + bl sub_02030FA8 + ldr r0, _02031E80 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x4a + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02031E32 + ldr r0, _02031E84 ; =sub_02032058 + mov r1, #0x0 + bl sub_02031D20 + pop {r3-r5, pc} +_02031E32: + mov r2, #0x7d + mov r0, #0x0 + mov r1, #0x1 + lsl r2, r2, #0x2 + bl sub_0202F950 + cmp r0, #0x0 + beq _02031E7C + ldr r0, _02031E80 ; =0x021C5A00 + ldr r5, [r0, #0x0] + add r4, r5, #0x0 + add r4, #0xc + ldr r0, [r4, #0x8] + ldr r1, [r4, #0xc] + ldr r2, [r5, #0xc] + ldr r3, [r4, #0x4] + blx sub_020EBC30 + ldr r2, [r4, #0x10] + ldr r3, [r4, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r5, #0xc] + mov r1, #0x0 + str r3, [r4, #0x4] + lsr r0, r3, #0x1a + lsl r1, r1, #0x6 + orr r1, r0 + ldrh r0, [r5, #0x38] + cmp r0, #0x0 + beq _02031E76 + lsl r1, r0, #0x6 + mov r0, #0x0 + strh r0, [r5, #0x38] +_02031E76: + ldr r0, _02031E88 ; =sub_02031EE0 + bl sub_02031D20 +_02031E7C: + pop {r3-r5, pc} + nop +_02031E80: .word 0x021C5A00 +_02031E84: .word sub_02032058 + 1 +_02031E88: .word sub_02031EE0 + 1 + + thumb_func_start sub_02031E8C +sub_02031E8C: ; 0x02031E8C + push {r3-r5, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _02031ED6 + mov r0, #0x0 + mov r2, #0x7d + add r1, r0, #0x0 + lsl r2, r2, #0x2 + bl sub_0202F950 + cmp r0, #0x0 + beq _02031ED6 + ldr r0, _02031ED8 ; =0x021C5A00 + ldr r4, [r0, #0x0] + add r5, r4, #0x0 + add r5, #0xc + ldr r0, [r5, #0x8] + ldr r1, [r5, #0xc] + ldr r2, [r4, #0xc] + ldr r3, [r5, #0x4] + blx sub_020EBC30 + ldr r2, [r5, #0x10] + ldr r3, [r5, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r4, #0xc] + mov r1, #0x0 + lsr r2, r3, #0x1b + lsl r1, r1, #0x5 + orr r1, r2 + ldr r0, _02031EDC ; =sub_02031EE0 + add r1, #0x10 + str r3, [r5, #0x4] + bl sub_02031D20 +_02031ED6: + pop {r3-r5, pc} + .balign 4 +_02031ED8: .word 0x021C5A00 +_02031EDC: .word sub_02031EE0 + 1 + + thumb_func_start sub_02031EE0 +sub_02031EE0: ; 0x02031EE0 + push {r3, lr} + bl sub_0202EA54 + ldr r0, _02031F54 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x4f + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02031F50 + add r1, #0x4b + ldrb r0, [r1, #0x0] + cmp r0, #0x0 + bne _02031F50 + bl sub_0202E8F4 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02031F1A + ldr r1, _02031F54 ; =0x021C5A00 + ldr r1, [r1, #0x0] + add r1, #0x3e + strb r0, [r1, #0x0] + ldr r0, _02031F58 ; =sub_02031F60 + mov r1, #0x20 + bl sub_02031D20 + pop {r3, pc} +_02031F1A: + ldr r0, _02031F54 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02031F2A + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02031F2A: + bl sub_0202E950 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02031F48 + ldr r1, _02031F54 ; =0x021C5A00 + ldr r1, [r1, #0x0] + add r1, #0x3e + strb r0, [r1, #0x0] + ldr r0, _02031F58 ; =sub_02031F60 + mov r1, #0x20 + bl sub_02031D20 + pop {r3, pc} +_02031F48: + ldr r0, _02031F5C ; =sub_02032028 + mov r1, #0x0 + bl sub_02031D20 +_02031F50: + pop {r3, pc} + nop +_02031F54: .word 0x021C5A00 +_02031F58: .word sub_02031F60 + 1 +_02031F5C: .word sub_02032028 + 1 + + thumb_func_start sub_02031F60 +sub_02031F60: ; 0x02031F60 + push {r3, lr} + bl sub_0202EA54 + ldr r0, _02031FBC ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202E8A0 + cmp r0, #0x0 + beq _02031F90 + ldr r0, _02031FBC ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202FB18 + cmp r0, #0x0 + beq _02031F90 + ldr r0, _02031FC0 ; =sub_02031FC8 + mov r1, #0x64 + bl sub_02031D20 + pop {r3, pc} +_02031F90: + bl sub_020311F0 + cmp r0, #0x0 + beq _02031FA2 + ldr r0, _02031FC4 ; =sub_02032028 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02031FA2: + ldr r0, _02031FBC ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02031FB2 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02031FB2: + ldr r0, _02031FC4 ; =sub_02032028 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02031FBC: .word 0x021C5A00 +_02031FC0: .word sub_02031FC8 + 1 +_02031FC4: .word sub_02032028 + 1 + + thumb_func_start sub_02031FC8 +sub_02031FC8: ; 0x02031FC8 + push {r3, lr} + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _02031FEE + bl sub_0202FC60 + mov r0, #0x0 + bl sub_02031268 + bl sub_02030FA8 + ldr r0, _0203201C ; =sub_0203213C + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02031FEE: + bl sub_020311F0 + cmp r0, #0x0 + beq _02032000 + ldr r0, _02032020 ; =sub_02032028 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032000: + ldr r0, _02032024 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02032010 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02032010: + ldr r0, _02032020 ; =sub_02032028 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + nop +_0203201C: .word sub_0203213C + 1 +_02032020: .word sub_02032028 + 1 +_02032024: .word 0x021C5A00 + + thumb_func_start sub_02032028 +sub_02032028: ; 0x02032028 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203203A + ldr r0, _0203203C ; =sub_02032058 + mov r1, #0x0 + bl sub_02031D20 +_0203203A: + pop {r3, pc} + .balign 4 +_0203203C: .word sub_02032058 + 1 + + thumb_func_start sub_02032040 +sub_02032040: ; 0x02032040 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _02032052 + ldr r0, _02032054 ; =sub_02031E8C + mov r1, #0x0 + bl sub_02031D20 +_02032052: + pop {r3, pc} + .balign 4 +_02032054: .word sub_02031E8C + 1 + + thumb_func_start sub_02032058 +sub_02032058: ; 0x02032058 + push {r3-r5, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _020320BA + mov r0, #0x1 + bl sub_02031268 + ldr r1, _020320BC ; =0x021C5A00 + mov r2, #0x7d + ldr r1, [r1, #0x0] + mov r0, #0x0 + add r1, #0x43 + ldrb r1, [r1, #0x0] + lsl r2, r2, #0x2 + mov r3, #0x1 + bl sub_0202F918 + cmp r0, #0x0 + beq _020320BA + ldr r0, _020320BC ; =0x021C5A00 + ldr r5, [r0, #0x0] + add r4, r5, #0x0 + add r4, #0xc + ldr r0, [r4, #0x8] + ldr r1, [r4, #0xc] + ldr r2, [r5, #0xc] + ldr r3, [r4, #0x4] + blx sub_020EBC30 + ldr r2, [r4, #0x10] + ldr r3, [r4, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r5, #0xc] + str r3, [r4, #0x4] + add r0, r3, #0x0 + mov r1, #0x0 + mov r2, #0x14 + mov r3, #0x0 + blx sub_020EBC30 + mov r0, #0x0 + add r5, #0x43 + strb r0, [r5, #0x0] + ldr r0, _020320C0 ; =sub_020320C4 + add r1, #0x14 + bl sub_02031D20 +_020320BA: + pop {r3-r5, pc} + .balign 4 +_020320BC: .word 0x021C5A00 +_020320C0: .word sub_020320C4 + 1 + + thumb_func_start sub_020320C4 +sub_020320C4: ; 0x020320C4 + push {r3, lr} + bl sub_020311E8 + cmp r0, #0x0 + beq _020320E2 + ldr r0, _0203210C ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + ldr r0, _02032110 ; =sub_02032118 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020320E2: + ldr r0, _0203210C ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _020320F2 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_020320F2: + add r1, #0x4a + ldrb r0, [r1, #0x0] + cmp r0, #0x0 + bne _0203210A + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203210A + ldr r0, _02032114 ; =sub_02032040 + mov r1, #0x2 + bl sub_02031D20 +_0203210A: + pop {r3, pc} + .balign 4 +_0203210C: .word 0x021C5A00 +_02032110: .word sub_02032118 + 1 +_02032114: .word sub_02032040 + 1 + + thumb_func_start sub_02032118 +sub_02032118: ; 0x02032118 + push {r3, lr} + mov r0, #0x0 + bl sub_02031268 + mov r0, #0x1 + bl sub_0202EE84 + bl sub_02030FA8 + ldr r0, _02032134 ; =sub_02032138 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02032134: .word sub_02032138 + 1 + + thumb_func_start sub_02032138 +sub_02032138: ; 0x02032138 + bx lr + .balign 4 + + thumb_func_start sub_0203213C +sub_0203213C: ; 0x0203213C + bx lr + .balign 4 + + thumb_func_start sub_02032140 +sub_02032140: ; 0x02032140 + push {r3, lr} + ldr r0, _02032170 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3f + ldrb r0, [r0, #0x0] + cmp r0, #0x13 + bhs _02032166 + bl sub_0202EE0C + cmp r0, #0x0 + beq _0203216E + mov r0, #0x1 + bl sub_02031268 + bl sub_02030FA8 + mov r0, #0x1 + bl sub_0202E7B0 +_02032166: + ldr r0, _02032174 ; =sub_020323B8 + mov r1, #0x0 + bl sub_02031D20 +_0203216E: + pop {r3, pc} + .balign 4 +_02032170: .word 0x021C5A00 +_02032174: .word sub_020323B8 + 1 + + thumb_func_start sub_02032178 +sub_02032178: ; 0x02032178 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203218E + bl sub_0202FC60 + ldr r0, _02032190 ; =sub_02032140 + mov r1, #0x0 + bl sub_02031D20 +_0203218E: + pop {r3, pc} + .balign 4 +_02032190: .word sub_02032140 + 1 + + thumb_func_start sub_02032194 +sub_02032194: ; 0x02032194 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _020321B0 + mov r0, #0x0 + bl sub_0202E7B0 + bl sub_0202FC60 + ldr r0, _020321B4 ; =sub_02031E08 + mov r1, #0x0 + bl sub_02031D20 +_020321B0: + pop {r3, pc} + nop +_020321B4: .word sub_02031E08 + 1 + + thumb_func_start sub_020321B8 +sub_020321B8: ; 0x020321B8 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _020321CA + ldr r0, _020321CC ; =sub_02031E08 + mov r1, #0x0 + bl sub_02031D20 +_020321CA: + pop {r3, pc} + .balign 4 +_020321CC: .word sub_02031E08 + 1 + + thumb_func_start sub_020321D0 +sub_020321D0: ; 0x020321D0 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _0203220C + ldr r0, _02032210 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032210 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x30] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + add r3, r0, #0x0 + bl sub_0202F918 + cmp r0, #0x0 + beq _0203220C + bl sub_0202FA10 + ldr r0, _02032214 ; =sub_02032218 + mov r1, #0x0 + bl sub_02031D20 +_0203220C: + pop {r3, pc} + nop +_02032210: .word 0x021C5A00 +_02032214: .word sub_02032218 + 1 + + thumb_func_start sub_02032218 +sub_02032218: ; 0x02032218 + push {r3, lr} + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _0203222E + ldr r0, _02032230 ; =sub_02032234 + mov r1, #0x0 + bl sub_02031D20 +_0203222E: + pop {r3, pc} + .balign 4 +_02032230: .word sub_02032234 + 1 + + thumb_func_start sub_02032234 +sub_02032234: ; 0x02032234 + push {r3, lr} + bl sub_02030F40 + cmp r0, #0x0 + bne _02032246 + ldr r0, _02032248 ; =sub_020323BC + mov r1, #0x0 + bl sub_02031D20 +_02032246: + pop {r3, pc} + .balign 4 +_02032248: .word sub_020323BC + 1 + + thumb_func_start sub_0203224C +sub_0203224C: ; 0x0203224C + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02032286 + ldr r0, _02032288 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032288 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x28] + ldr r1, [r1, #0x30] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032286 + bl sub_0202FA10 + ldr r0, _0203228C ; =sub_02032290 + mov r1, #0x0 + bl sub_02031D20 +_02032286: + pop {r3, pc} + .balign 4 +_02032288: .word 0x021C5A00 +_0203228C: .word sub_02032290 + 1 + + thumb_func_start sub_02032290 +sub_02032290: ; 0x02032290 + ldr r3, _02032294 ; =sub_0202EA54 + bx r3 + .balign 4 +_02032294: .word sub_0202EA54 + 1 + + thumb_func_start sub_02032298 +sub_02032298: ; 0x02032298 + push {r3, lr} + bl sub_0202EA54 + ldr r0, _020322B8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202FB18 + cmp r0, #0x0 + beq _020322B6 + ldr r0, _020322BC ; =sub_020322C0 + mov r1, #0xa + bl sub_02031D20 +_020322B6: + pop {r3, pc} + .balign 4 +_020322B8: .word 0x021C5A00 +_020322BC: .word sub_020322C0 + 1 + + thumb_func_start sub_020322C0 +sub_020322C0: ; 0x020322C0 + push {r3, lr} + bl sub_020311F0 + cmp r0, #0x0 + beq _020322D2 + ldr r0, _020322F0 ; =sub_020322F8 + mov r1, #0x0 + bl sub_02031D20 +_020322D2: + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _020322EE + bl sub_02031190 + cmp r0, #0x0 + beq _020322EE + ldr r0, _020322F4 ; =sub_0203234C + mov r1, #0x0 + bl sub_02031D20 +_020322EE: + pop {r3, pc} + .balign 4 +_020322F0: .word sub_020322F8 + 1 +_020322F4: .word sub_0203234C + 1 + + thumb_func_start sub_020322F8 +sub_020322F8: ; 0x020322F8 + push {r3, lr} + bl sub_0202E6F0 + ldr r0, _02032308 ; =sub_0203230C + mov r1, #0x2 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02032308: .word sub_0203230C + 1 + + thumb_func_start sub_0203230C +sub_0203230C: ; 0x0203230C + push {r3, lr} + ldr r0, _02032344 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _0203231E + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_0203231E: + bl sub_0202EE0C + cmp r0, #0x0 + beq _02032340 + mov r1, #0x1 + mov r0, #0x0 + lsl r2, r1, #0x9 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032340 + bl sub_0202FA10 + ldr r0, _02032348 ; =sub_02032298 + mov r1, #0xa + bl sub_02031D20 +_02032340: + pop {r3, pc} + nop +_02032344: .word 0x021C5A00 +_02032348: .word sub_02032298 + 1 + + thumb_func_start sub_0203234C +sub_0203234C: ; 0x0203234C + push {r3, lr} + bl sub_02030F40 + cmp r0, #0x0 + bne _0203235E + ldr r0, _02032360 ; =sub_020323BC + mov r1, #0x0 + bl sub_02031D20 +_0203235E: + pop {r3, pc} + .balign 4 +_02032360: .word sub_020323BC + 1 + + thumb_func_start sub_02032364 +sub_02032364: ; 0x02032364 + push {r3, lr} + bl sub_0202E6F0 + ldr r0, _02032374 ; =sub_02032378 + mov r1, #0x2 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02032374: .word sub_02032378 + 1 + + thumb_func_start sub_02032378 +sub_02032378: ; 0x02032378 + push {r3, lr} + ldr r0, _020323B0 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _0203238A + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_0203238A: + bl sub_0202EE0C + cmp r0, #0x0 + beq _020323AC + mov r1, #0x1 + mov r0, #0x0 + lsl r2, r1, #0x9 + bl sub_0202F950 + cmp r0, #0x0 + beq _020323AC + bl sub_0202FA10 + ldr r0, _020323B4 ; =sub_02032290 + mov r1, #0xa + bl sub_02031D20 +_020323AC: + pop {r3, pc} + nop +_020323B0: .word 0x021C5A00 +_020323B4: .word sub_02032290 + 1 + + thumb_func_start sub_020323B8 +sub_020323B8: ; 0x020323B8 + bx lr + .balign 4 + + thumb_func_start sub_020323BC +sub_020323BC: ; 0x020323BC + push {r3, lr} + bl sub_02030F40 + cmp r0, #0x0 + bne _020323CA + bl sub_020317C0 +_020323CA: + pop {r3, pc} + + thumb_func_start sub_020323CC +sub_020323CC: ; 0x020323CC + ldr r3, _020323D4 ; =sub_02031D20 + ldr r0, _020323D8 ; =sub_02032440 + mov r1, #0x5 + bx r3 + .balign 4 +_020323D4: .word sub_02031D20 + 1 +_020323D8: .word sub_02032440 + 1 + + thumb_func_start sub_020323DC +sub_020323DC: ; 0x020323DC + push {r3, lr} + bl sub_02030F20 + cmp r0, #0x1 + bgt _020323F8 + mov r0, #0x0 + bl sub_0202D36C + bl sub_0202FC80 + ldr r0, _0203241C ; =sub_020324F8 + mov r1, #0x0 + bl sub_02031D20 +_020323F8: + ldr r0, _02032420 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02032408 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02032408: + mov r0, #0x0 + bl sub_0202D36C + bl sub_0202FC80 + ldr r0, _0203241C ; =sub_020324F8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_0203241C: .word sub_020324F8 + 1 +_02032420: .word 0x021C5A00 + + thumb_func_start sub_02032424 +sub_02032424: ; 0x02032424 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203243A + bl sub_0202FC60 + ldr r0, _0203243C ; =sub_020324F8 + mov r1, #0x0 + bl sub_02031D20 +_0203243A: + pop {r3, pc} + .balign 4 +_0203243C: .word sub_020324F8 + 1 + + thumb_func_start sub_02032440 +sub_02032440: ; 0x02032440 + push {r3, lr} + ldr r0, _02032470 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02032450 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] +_02032450: + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203246E + ldr r0, _02032470 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3a] + cmp r0, #0x0 + bne _0203246E + bl sub_0202FA5C + ldr r0, _02032474 ; =sub_020323BC + mov r1, #0x0 + bl sub_02031D20 +_0203246E: + pop {r3, pc} + .balign 4 +_02032470: .word 0x021C5A00 +_02032474: .word sub_020323BC + 1 + + thumb_func_start sub_02032478 +sub_02032478: ; 0x02032478 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _020324BE + ldr r0, _020324C0 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _020324C0 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3c + ldrb r0, [r0, #0x0] + bl sub_0202D1B0 + ldr r0, _020324C0 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + bl sub_0202F950 + cmp r0, #0x0 + beq _020324BE + bl sub_0202FA10 + ldr r0, _020324C4 ; =sub_020324C8 + mov r1, #0x40 + bl sub_02031D20 +_020324BE: + pop {r3, pc} + .balign 4 +_020324C0: .word 0x021C5A00 +_020324C4: .word sub_020324C8 + 1 + + thumb_func_start sub_020324C8 +sub_020324C8: ; 0x020324C8 + push {r3, lr} + bl sub_0202EA54 + ldr r0, _020324F0 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _020324DE + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_020324DE: + bl sub_0202E6F0 + cmp r0, #0x0 + beq _020324EE + ldr r0, _020324F4 ; =sub_02032510 + mov r1, #0x0 + bl sub_02031D20 +_020324EE: + pop {r3, pc} + .balign 4 +_020324F0: .word 0x021C5A00 +_020324F4: .word sub_02032510 + 1 + + thumb_func_start sub_020324F8 +sub_020324F8: ; 0x020324F8 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203250A + ldr r0, _0203250C ; =sub_02032510 + mov r1, #0x0 + bl sub_02031D20 +_0203250A: + pop {r3, pc} + .balign 4 +_0203250C: .word sub_02032510 + 1 + + thumb_func_start sub_02032510 +sub_02032510: ; 0x02032510 + push {r3-r5, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _02032568 + ldr r1, _0203256C ; =0x021C5A00 + mov r2, #0x2 + ldr r1, [r1, #0x0] + mov r0, #0x0 + add r1, #0x43 + ldrb r1, [r1, #0x0] + lsl r2, r2, #0x8 + mov r3, #0x1 + bl sub_0202F918 + cmp r0, #0x0 + beq _02032568 + ldr r0, _0203256C ; =0x021C5A00 + ldr r4, [r0, #0x0] + add r5, r4, #0x0 + add r5, #0xc + ldr r0, [r5, #0x8] + ldr r1, [r5, #0xc] + ldr r2, [r4, #0xc] + ldr r3, [r5, #0x4] + blx sub_020EBC30 + ldr r2, [r5, #0x10] + ldr r3, [r5, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r4, #0xc] + str r3, [r5, #0x4] + bl sub_0202FA10 + ldr r0, _0203256C ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + ldr r0, _02032570 ; =sub_02032578 + ldr r1, _02032574 ; =0x00002710 + bl sub_02031D20 +_02032568: + pop {r3-r5, pc} + nop +_0203256C: .word 0x021C5A00 +_02032570: .word sub_02032578 + 1 +_02032574: .word 0x00002710 + + thumb_func_start sub_02032578 +sub_02032578: ; 0x02032578 + push {r3, lr} + bl sub_0202F104 + cmp r0, #0x0 + bne _020325B2 + bl sub_020311E8 + cmp r0, #0x0 + beq _020325A2 + ldr r0, _020325C4 ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + bl sub_02033E74 + ldr r0, _020325C8 ; =sub_020327FC + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020325A2: + ldr r0, _020325C4 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _020325B2 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_020325B2: + bl sub_0202E6F0 + cmp r0, #0x0 + beq _020325C2 + ldr r0, _020325CC ; =sub_020325D0 + mov r1, #0x0 + bl sub_02031D20 +_020325C2: + pop {r3, pc} + .balign 4 +_020325C4: .word 0x021C5A00 +_020325C8: .word sub_020327FC + 1 +_020325CC: .word sub_020325D0 + 1 + + thumb_func_start sub_020325D0 +sub_020325D0: ; 0x020325D0 + push {r3-r5, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _0203261C + mov r0, #0x0 + mov r2, #0x2 + add r1, r0, #0x0 + lsl r2, r2, #0x8 + bl sub_0202F950 + cmp r0, #0x0 + beq _0203261C + bl sub_0202FA10 + ldr r0, _02032620 ; =0x021C5A00 + ldr r4, [r0, #0x0] + add r5, r4, #0x0 + add r5, #0xc + ldr r0, [r5, #0x8] + ldr r1, [r5, #0xc] + ldr r2, [r4, #0xc] + ldr r3, [r5, #0x4] + blx sub_020EBC30 + ldr r2, [r5, #0x10] + ldr r3, [r5, #0x14] + add r0, r2, r0 + adc r3, r1 + str r0, [r4, #0xc] + mov r1, #0x0 + ldr r0, _02032624 ; =sub_020324C8 + lsr r2, r3, #0x1b + lsl r1, r1, #0x5 + orr r1, r2 + str r3, [r5, #0x4] + bl sub_02031D20 +_0203261C: + pop {r3-r5, pc} + nop +_02032620: .word 0x021C5A00 +_02032624: .word sub_020324C8 + 1 + + thumb_func_start sub_02032628 +sub_02032628: ; 0x02032628 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203263A + ldr r0, _0203263C ; =sub_02032640 + mov r1, #0x0 + bl sub_02031D20 +_0203263A: + pop {r3, pc} + .balign 4 +_0203263C: .word sub_02032640 + 1 + + thumb_func_start sub_02032640 +sub_02032640: ; 0x02032640 + push {r3, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _02032666 + mov r0, #0x0 + mov r2, #0x2 + add r1, r0, #0x0 + lsl r2, r2, #0x8 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032666 + bl sub_0202FA10 + ldr r0, _02032668 ; =sub_0203266C + mov r1, #0x64 + bl sub_02031D20 +_02032666: + pop {r3, pc} + .balign 4 +_02032668: .word sub_0203266C + 1 + + thumb_func_start sub_0203266C +sub_0203266C: ; 0x0203266C + push {r3, lr} + ldr r0, _020326C4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202E8A0 + cmp r0, #0x0 + beq _02032698 + ldr r0, _020326C4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202FB18 + cmp r0, #0x0 + beq _02032698 + ldr r0, _020326C8 ; =sub_020326D0 + mov r1, #0x64 + bl sub_02031D20 + pop {r3, pc} +_02032698: + bl sub_020311F0 + cmp r0, #0x0 + beq _020326AA + ldr r0, _020326CC ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020326AA: + ldr r0, _020326C4 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _020326BA + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_020326BA: + ldr r0, _020326CC ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_020326C4: .word 0x021C5A00 +_020326C8: .word sub_020326D0 + 1 +_020326CC: .word sub_020327B8 + 1 + + thumb_func_start sub_020326D0 +sub_020326D0: ; 0x020326D0 + push {r3, lr} + bl sub_020311F0 + cmp r0, #0x0 + beq _020326E4 + ldr r0, _02032728 ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020326E4: + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _0203270C + ldr r0, _0203272C ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x3d + strb r1, [r0, #0x0] + ldr r1, _02032730 ; =0x02105D5C + mov r0, #0x6 + bl sub_020311D0 + ldr r0, _02032734 ; =sub_02032738 + mov r1, #0x78 + bl sub_02031D20 + pop {r3, pc} +_0203270C: + ldr r0, _0203272C ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _0203271C + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_0203271C: + ldr r0, _02032728 ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + nop +_02032728: .word sub_020327B8 + 1 +_0203272C: .word 0x021C5A00 +_02032730: .word 0x02105D5C +_02032734: .word sub_02032738 + 1 + + thumb_func_start sub_02032738 +sub_02032738: ; 0x02032738 + push {r3, lr} + bl sub_020311F0 + cmp r0, #0x0 + beq _0203274C + ldr r0, _0203278C ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_0203274C: + ldr r0, _02032790 ; =0x021C5A00 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x3d + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _02032764 + ldr r0, _02032794 ; =sub_020327B4 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032764: + cmp r0, #0x1 + bne _02032776 + bl sub_0202DBE0 + ldr r0, _02032798 ; =sub_0203279C + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032776: + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + beq _02032782 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02032782: + ldr r0, _0203278C ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_0203278C: .word sub_020327B8 + 1 +_02032790: .word 0x021C5A00 +_02032794: .word sub_020327B4 + 1 +_02032798: .word sub_0203279C + 1 + + thumb_func_start sub_0203279C +sub_0203279C: ; 0x0203279C + push {r3, lr} + bl sub_020311F0 + cmp r0, #0x0 + beq _020327AE + ldr r0, _020327B0 ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 +_020327AE: + pop {r3, pc} + .balign 4 +_020327B0: .word sub_020327B8 + 1 + + thumb_func_start sub_020327B4 +sub_020327B4: ; 0x020327B4 + bx lr + .balign 4 + + thumb_func_start sub_020327B8 +sub_020327B8: ; 0x020327B8 + push {r3, lr} + ldr r0, _020327F0 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x3d + strb r1, [r0, #0x0] + bl sub_0202E6F0 + cmp r0, #0x0 + beq _020327EC + ldr r0, _020327F0 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x38] + cmp r0, #0x0 + beq _020327E4 + sub r0, r0, #0x1 + strh r0, [r1, #0x38] + ldr r0, _020327F4 ; =sub_02032640 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020327E4: + ldr r0, _020327F8 ; =sub_020327B4 + mov r1, #0x0 + bl sub_02031D20 +_020327EC: + pop {r3, pc} + nop +_020327F0: .word 0x021C5A00 +_020327F4: .word sub_02032640 + 1 +_020327F8: .word sub_020327B4 + 1 + + thumb_func_start sub_020327FC +sub_020327FC: ; 0x020327FC + push {r3, lr} + bl sub_020311E8 + cmp r0, #0x0 + bne _02032820 + bl sub_02033510 + cmp r0, #0x0 + bne _0203282C + bl sub_0202E6F0 + cmp r0, #0x0 + beq _0203282C + ldr r0, _02032848 ; =sub_020325D0 + mov r1, #0x0 + bl sub_02031D20 + b _0203282C +_02032820: + bl sub_02031190 + cmp r0, #0x0 + bne _0203282C + bl sub_0202DDE8 +_0203282C: + bl sub_020311F0 + cmp r0, #0x0 + beq _02032844 + bl sub_02033510 + cmp r0, #0x0 + bne _02032844 + ldr r0, _0203284C ; =sub_020327B8 + mov r1, #0x0 + bl sub_02031D20 +_02032844: + pop {r3, pc} + nop +_02032848: .word sub_020325D0 + 1 +_0203284C: .word sub_020327B8 + 1 + + thumb_func_start sub_02032850 +sub_02032850: ; 0x02032850 + push {r3, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _0203287E + ldr r1, _02032880 ; =0x021C5A00 + mov r0, #0x0 + ldr r1, [r1, #0x0] + mov r2, #0x2 + add r1, #0x43 + ldrb r1, [r1, #0x0] + lsl r2, r2, #0x8 + add r3, r0, #0x0 + bl sub_0202F918 + cmp r0, #0x0 + beq _0203287E + bl sub_0202FA10 + ldr r0, _02032884 ; =sub_020323B8 + mov r1, #0x0 + bl sub_02031D20 +_0203287E: + pop {r3, pc} + .balign 4 +_02032880: .word 0x021C5A00 +_02032884: .word sub_020323B8 + 1 + + thumb_func_start sub_02032888 +sub_02032888: ; 0x02032888 + push {r3, lr} + ldr r0, _020328BC ; =0x021C5A00 + mov r1, #0xd + ldr r0, [r0, #0x0] + add r0, #0x3f + strb r1, [r0, #0x0] + bl sub_02031190 + cmp r0, #0x0 + add r0, sp, #0x0 + bne _020328AE + mov r1, #0x0 + strb r1, [r0, #0x1] + add r1, sp, #0x0 + mov r0, #0xa + add r1, #0x1 + bl sub_020311D0 + pop {r3, pc} +_020328AE: + mov r1, #0x0 + strb r1, [r0, #0x0] + mov r0, #0xa + add r1, sp, #0x0 + bl sub_020311D0 + pop {r3, pc} + .balign 4 +_020328BC: .word 0x021C5A00 + + thumb_func_start sub_020328C0 +sub_020328C0: ; 0x020328C0 + ldr r1, _020328D8 ; =0x021C5A00 + ldr r3, _020328DC ; =sub_02031D20 + ldr r2, [r1, #0x0] + add r2, #0x3e + strb r0, [r2, #0x0] + ldr r0, [r1, #0x0] + mov r2, #0x3 + strh r2, [r0, #0x38] + ldr r0, _020328E0 ; =sub_02032924 + mov r1, #0x0 + bx r3 + nop +_020328D8: .word 0x021C5A00 +_020328DC: .word sub_02031D20 + 1 +_020328E0: .word sub_02032924 + 1 + + thumb_func_start sub_020328E4 +sub_020328E4: ; 0x020328E4 + ldr r0, _020328F0 ; =0x021C5A00 + mov r1, #0x7 + ldr r0, [r0, #0x0] + add r0, #0x3f + strb r1, [r0, #0x0] + bx lr + .balign 4 +_020328F0: .word 0x021C5A00 + + thumb_func_start sub_020328F4 +sub_020328F4: ; 0x020328F4 + push {r3, lr} + ldr r1, _0203291C ; =0x021C5A00 + ldr r2, [r1, #0x0] + add r2, #0x3e + strb r0, [r2, #0x0] + ldr r0, [r1, #0x0] + mov r2, #0x7 + add r0, #0x3f + strb r2, [r0, #0x0] + ldr r0, [r1, #0x0] + mov r2, #0x3 + strh r2, [r0, #0x38] + bl sub_02033E74 + ldr r0, _02032920 ; =sub_02032628 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + nop +_0203291C: .word 0x021C5A00 +_02032920: .word sub_02032628 + 1 + + thumb_func_start sub_02032924 +sub_02032924: ; 0x02032924 + push {r3, lr} + bl sub_0202E6F0 + cmp r0, #0x0 + beq _02032936 + ldr r0, _02032938 ; =sub_0203293C + mov r1, #0x0 + bl sub_02031D20 +_02032936: + pop {r3, pc} + .balign 4 +_02032938: .word sub_0203293C + 1 + + thumb_func_start sub_0203293C +sub_0203293C: ; 0x0203293C + push {r3, lr} + bl sub_0202EE0C + cmp r0, #0x0 + beq _0203296C + ldr r0, _02032970 ; =0x021C5A00 + mov r2, #0x2 + ldr r0, [r0, #0x0] + mov r1, #0xd + add r0, #0x3f + strb r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + lsl r2, r2, #0x8 + bl sub_0202F950 + cmp r0, #0x0 + beq _0203296C + bl sub_0202FA1C + ldr r0, _02032974 ; =sub_02032978 + mov r1, #0x64 + bl sub_02031D20 +_0203296C: + pop {r3, pc} + nop +_02032970: .word 0x021C5A00 +_02032974: .word sub_02032978 + 1 + + thumb_func_start sub_02032978 +sub_02032978: ; 0x02032978 + push {r3, lr} + ldr r0, _020329E4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202E8A0 + cmp r0, #0x0 + beq _020329A4 + ldr r0, _020329E4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl sub_0202FB18 + cmp r0, #0x0 + beq _020329A4 + ldr r0, _020329E8 ; =sub_020329F4 + mov r1, #0x64 + bl sub_02031D20 + pop {r3, pc} +_020329A4: + bl sub_020311F0 + cmp r0, #0x0 + bne _020329B6 + ldr r0, _020329E4 ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x0 + bne _020329DC +_020329B6: + ldr r0, _020329E4 ; =0x021C5A00 + ldr r2, [r0, #0x0] + ldrh r1, [r2, #0x38] + sub r1, r1, #0x1 + strh r1, [r2, #0x38] + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x38] + cmp r0, #0x0 + bne _020329D2 + ldr r0, _020329EC ; =sub_020327B4 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020329D2: + ldr r0, _020329F0 ; =sub_02032924 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_020329DC: + beq _020329E2 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] +_020329E2: + pop {r3, pc} + .balign 4 +_020329E4: .word 0x021C5A00 +_020329E8: .word sub_020329F4 + 1 +_020329EC: .word sub_020327B4 + 1 +_020329F0: .word sub_02032924 + 1 + + thumb_func_start sub_020329F4 +sub_020329F4: ; 0x020329F4 + push {r3, lr} + ldr r0, _02032A7C ; =0x021C5A00 + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3a] + cmp r0, #0x5a + bls _02032A06 + sub r0, r0, #0x1 + strh r0, [r1, #0x3a] + pop {r3, pc} +_02032A06: + bl sub_020311F0 + cmp r0, #0x0 + beq _02032A34 + ldr r0, _02032A7C ; =0x021C5A00 + ldr r2, [r0, #0x0] + ldrh r1, [r2, #0x38] + sub r1, r1, #0x1 + strh r1, [r2, #0x38] + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x38] + cmp r0, #0x0 + bne _02032A2A + ldr r0, _02032A80 ; =sub_020327B4 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032A2A: + ldr r0, _02032A84 ; =sub_02032924 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032A34: + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _02032A4A + ldr r0, _02032A88 ; =sub_0203279C + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032A4A: + ldr r0, _02032A7C ; =0x021C5A00 + ldr r2, [r0, #0x0] + ldrh r1, [r2, #0x3a] + cmp r1, #0x0 + beq _02032A5A + sub r0, r1, #0x1 + strh r0, [r2, #0x3a] + pop {r3, pc} +_02032A5A: + ldrh r1, [r2, #0x38] + sub r1, r1, #0x1 + strh r1, [r2, #0x38] + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x38] + cmp r0, #0x0 + bne _02032A72 + ldr r0, _02032A80 ; =sub_020327B4 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} +_02032A72: + ldr r0, _02032A84 ; =sub_02032924 + mov r1, #0x0 + bl sub_02031D20 + pop {r3, pc} + .balign 4 +_02032A7C: .word 0x021C5A00 +_02032A80: .word sub_020327B4 + 1 +_02032A84: .word sub_02032924 + 1 +_02032A88: .word sub_0203279C + 1 + + thumb_func_start sub_02032A8C +sub_02032A8C: ; 0x02032A8C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _02032ADA + ldr r6, _02032ADC ; =0x02105D5C + mov r3, #0x1 + mov r2, #0x0 +_02032AA0: + ldrb r1, [r6, #0x0] + ldrb r0, [r4, r2] + cmp r1, r0 + beq _02032AAC + mov r3, #0x0 + b _02032AB4 +_02032AAC: + add r2, r2, #0x1 + add r6, r6, #0x1 + cmp r2, #0x6 + blo _02032AA0 +_02032AB4: + cmp r3, #0x0 + beq _02032AD0 + ldr r0, _02032AE0 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02032AD0 + ldr r1, _02032AE4 ; =0x02105D6C + mov r0, #0x7 + strb r5, [r1, #0x0] + bl sub_02030C4C + pop {r4-r6, pc} +_02032AD0: + ldr r1, _02032AE8 ; =0x02105D64 + mov r0, #0x7 + strb r5, [r1, #0x0] + bl sub_02030C4C +_02032ADA: + pop {r4-r6, pc} + .balign 4 +_02032ADC: .word 0x02105D5C +_02032AE0: .word 0x021C5A00 +_02032AE4: .word 0x02105D6C +_02032AE8: .word 0x02105D64 + + thumb_func_start sub_02032AEC +sub_02032AEC: ; 0x02032AEC + push {r3-r5, lr} + mov r4, #0x1 + ldr r5, _02032B5C ; =0x02105D6D + add r3, r4, #0x0 +_02032AF4: + ldrb r1, [r5, #0x0] + ldrb r0, [r2, r3] + cmp r1, r0 + beq _02032B00 + mov r4, #0x0 + b _02032B08 +_02032B00: + add r3, r3, #0x1 + add r5, r5, #0x1 + cmp r3, #0x6 + blo _02032AF4 +_02032B08: + cmp r4, #0x0 + beq _02032B22 + ldrb r4, [r2, #0x0] + bl sub_02031190 + cmp r4, r0 + bne _02032B58 + ldr r0, _02032B60 ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x3d + strb r1, [r0, #0x0] + pop {r3-r5, pc} +_02032B22: + mov r4, #0x1 + ldr r3, _02032B64 ; =0x02105D65 + add r5, r4, #0x0 +_02032B28: + ldrb r1, [r3, #0x0] + ldrb r0, [r2, r5] + cmp r1, r0 + beq _02032B34 + mov r4, #0x0 + b _02032B3C +_02032B34: + add r5, r5, #0x1 + add r3, r3, #0x1 + cmp r5, #0x6 + blo _02032B28 +_02032B3C: + cmp r4, #0x0 + beq _02032B58 + ldrb r4, [r2, #0x0] + bl sub_02031190 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r4, r0 + bne _02032B58 + ldr r0, _02032B60 ; =0x021C5A00 + mov r1, #0x2 + ldr r0, [r0, #0x0] + add r0, #0x3d + strb r1, [r0, #0x0] +_02032B58: + pop {r3-r5, pc} + nop +_02032B5C: .word 0x02105D6D +_02032B60: .word 0x021C5A00 +_02032B64: .word 0x02105D65 + + thumb_func_start sub_02032B68 +sub_02032B68: ; 0x02032B68 + mov r0, #0x6 + bx lr + + thumb_func_start sub_02032B6C +sub_02032B6C: ; 0x02032B6C + push {r3, lr} + ldr r1, _02032B80 ; =0x021C5A00 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _02032B7E + add r1, #0x3c + strb r0, [r1, #0x0] + bl sub_0202D1B0 +_02032B7E: + pop {r3, pc} + .balign 4 +_02032B80: .word 0x021C5A00 + + thumb_func_start sub_02032B84 +sub_02032B84: ; 0x02032B84 + ldr r3, _02032B88 ; =sub_0202EA54 + bx r3 + .balign 4 +_02032B88: .word sub_0202EA54 + 1 + + thumb_func_start sub_02032B8C +sub_02032B8C: ; 0x02032B8C + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02032BC6 + ldr r0, _02032BC8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032BC8 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + mov r2, #0x20 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032BC6 + bl sub_0202FA10 + ldr r0, _02032BCC ; =sub_02032B84 + mov r1, #0x0 + bl sub_02031D20 +_02032BC6: + pop {r3, pc} + .balign 4 +_02032BC8: .word 0x021C5A00 +_02032BCC: .word sub_02032B84 + 1 + + thumb_func_start sub_02032BD0 +sub_02032BD0: ; 0x02032BD0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02032C00 + mov r2, #0x7 + mov r0, #0x3 + mov r1, #0xf + lsl r2, r2, #0xc + bl sub_02016828 + add r0, r4, #0x0 + mov r1, #0xe + bl sub_02031734 + ldr r0, _02032C04 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x40 + strb r1, [r0, #0x0] + ldr r0, _02032C08 ; =sub_02032B8C + bl sub_02031D20 +_02032C00: + pop {r4, pc} + nop +_02032C04: .word 0x021C5A00 +_02032C08: .word sub_02032B8C + 1 + + thumb_func_start sub_02032C0C +sub_02032C0C: ; 0x02032C0C + push {r3, lr} + ldr r0, _02032C20 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02032C1E + ldr r0, _02032C24 ; =sub_02032440 + mov r1, #0x5 + bl sub_02031D20 +_02032C1E: + pop {r3, pc} + .balign 4 +_02032C20: .word 0x021C5A00 +_02032C24: .word sub_02032440 + 1 + + thumb_func_start sub_02032C28 +sub_02032C28: ; 0x02032C28 + sub sp, #0x8 + ldr r1, _02032C64 ; =0x020EEC48 + add r0, sp, #0x0 + ldr r2, [r1, #0x0] + ldr r1, [r1, #0x4] + str r2, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, _02032C68 ; =0x021C5A00 + ldr r1, [r1, #0x0] + ldr r3, [r1, #0x24] + cmp r1, #0x0 + bne _02032C46 + mov r0, #0x0 + add sp, #0x8 + bx lr +_02032C46: + cmp r2, #0x0 + beq _02032C5E +_02032C4A: + ldr r1, [r0, #0x0] + cmp r3, r1 + bne _02032C56 + mov r0, #0x1 + add sp, #0x8 + bx lr +_02032C56: + add r0, r0, #0x4 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _02032C4A +_02032C5E: + mov r0, #0x0 + add sp, #0x8 + bx lr + .balign 4 +_02032C64: .word 0x020EEC48 +_02032C68: .word 0x021C5A00 + + thumb_func_start sub_02032C6C +sub_02032C6C: ; 0x02032C6C + ldr r2, _02032CE4 ; =0x00400131 + cmp r0, r2 + bhi _02032C7C + bhs _02032CBA + ldr r2, _02032CE8 ; =0x00000333 + cmp r0, r2 + beq _02032C8E + bx lr +_02032C7C: + ldr r1, _02032CEC ; =0x00400286 + cmp r0, r1 + bhi _02032C86 + beq _02032CCE + bx lr +_02032C86: + add r1, #0x92 + cmp r0, r1 + beq _02032CA6 + bx lr +_02032C8E: + cmp r1, #0xf + bne _02032CE0 + ldr r0, _02032CF0 ; =0x021C5A00 + ldr r2, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x49 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + add r2, #0x49 + orr r0, r1 + strb r0, [r2, #0x0] + bx lr +_02032CA6: + ldr r0, _02032CF0 ; =0x021C5A00 + ldr r2, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x49 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + add r2, #0x49 + orr r0, r1 + strb r0, [r2, #0x0] + bx lr +_02032CBA: + ldr r0, _02032CF0 ; =0x021C5A00 + ldr r2, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x49 + ldrb r1, [r0, #0x0] + mov r0, #0x2 + add r2, #0x49 + orr r0, r1 + strb r0, [r2, #0x0] + bx lr +_02032CCE: + ldr r0, _02032CF0 ; =0x021C5A00 + ldr r2, [r0, #0x0] + add r0, r2, #0x0 + add r0, #0x49 + ldrb r1, [r0, #0x0] + mov r0, #0x4 + add r2, #0x49 + orr r0, r1 + strb r0, [r2, #0x0] +_02032CE0: + bx lr + nop +_02032CE4: .word 0x00400131 +_02032CE8: .word 0x00000333 +_02032CEC: .word 0x00400286 +_02032CF0: .word 0x021C5A00 + + thumb_func_start sub_02032CF4 +sub_02032CF4: ; 0x02032CF4 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02032D34 + ldr r0, _02032D38 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032D38 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + ldr r0, _02032D3C ; =sub_02032C6C + bl sub_0202D308 + mov r0, #0x1 + add r1, r0, #0x0 + mov r2, #0x20 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032D34 + bl sub_0202FA10 + ldr r0, _02032D40 ; =sub_02032B84 + mov r1, #0x0 + bl sub_02031D20 +_02032D34: + pop {r3, pc} + nop +_02032D38: .word 0x021C5A00 +_02032D3C: .word sub_02032C6C + 1 +_02032D40: .word sub_02032B84 + 1 + + thumb_func_start sub_02032D44 +sub_02032D44: ; 0x02032D44 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02032D74 + mov r2, #0x7 + mov r0, #0x3 + mov r1, #0xf + lsl r2, r2, #0xc + bl sub_02016828 + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_02031734 + ldr r0, _02032D78 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x40 + strb r1, [r0, #0x0] + ldr r0, _02032D7C ; =sub_02032CF4 + bl sub_02031D20 +_02032D74: + pop {r4, pc} + nop +_02032D78: .word 0x021C5A00 +_02032D7C: .word sub_02032CF4 + 1 + + thumb_func_start sub_02032D80 +sub_02032D80: ; 0x02032D80 + push {r3, lr} + ldr r0, _02032D94 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02032D92 + ldr r0, _02032D98 ; =sub_02032440 + mov r1, #0x5 + bl sub_02031D20 +_02032D92: + pop {r3, pc} + .balign 4 +_02032D94: .word 0x021C5A00 +_02032D98: .word sub_02032440 + 1 + + thumb_func_start sub_02032D9C +sub_02032D9C: ; 0x02032D9C + ldr r0, _02032DA8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x49 + ldrb r0, [r0, #0x0] + bx lr + nop +_02032DA8: .word 0x021C5A00 + + thumb_func_start sub_02032DAC +sub_02032DAC: ; 0x02032DAC + push {r3, lr} + bl sub_02031468 + ldr r0, _02032DF4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02032DBE + mov r0, #0x1 + pop {r3, pc} +_02032DBE: + add r0, #0x3f + ldrb r0, [r0, #0x0] + add r0, #0xe8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _02032DD4 + bl sub_021D83C0 + mov r0, #0x1 + pop {r3, pc} +_02032DD4: + bl sub_02033590 + cmp r0, #0x0 + beq _02032DE6 + ldr r0, _02032DF8 ; =sub_0203318C + mov r1, #0x0 + bl sub_02031D20 + b _02032DEE +_02032DE6: + ldr r0, _02032DFC ; =sub_02032178 + mov r1, #0x0 + bl sub_02031D20 +_02032DEE: + mov r0, #0x0 + pop {r3, pc} + nop +_02032DF4: .word 0x021C5A00 +_02032DF8: .word sub_0203318C + 1 +_02032DFC: .word sub_02032178 + 1 + + thumb_func_start sub_02032E00 +sub_02032E00: ; 0x02032E00 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02032E3C + ldr r0, _02032E40 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032E40 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + add r3, r0, #0x0 + bl sub_0202F918 + cmp r0, #0x0 + beq _02032E3C + bl sub_0202FA10 + ldr r0, _02032E44 ; =sub_02032218 + mov r1, #0x0 + bl sub_02031D20 +_02032E3C: + pop {r3, pc} + nop +_02032E40: .word 0x021C5A00 +_02032E44: .word sub_02032218 + 1 + + thumb_func_start sub_02032E48 +sub_02032E48: ; 0x02032E48 + push {r3, lr} + bl sub_0202E4C8 + cmp r0, #0x0 + beq _02032E82 + ldr r0, _02032E84 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x2c] + bl sub_0202E29C + ldr r0, _02032E84 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202DB14 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + bl sub_0202F950 + cmp r0, #0x0 + beq _02032E82 + bl sub_0202FA10 + ldr r0, _02032E88 ; =sub_02032290 + mov r1, #0x0 + bl sub_02031D20 +_02032E82: + pop {r3, pc} + .balign 4 +_02032E84: .word 0x021C5A00 +_02032E88: .word sub_02032290 + 1 + + thumb_func_start sub_02032E8C +sub_02032E8C: ; 0x02032E8C + bx lr + .balign 4 +_02032E90: + .byte 0x08, 0xB5, 0xA5, 0xF1, 0x7B, 0xF8, 0x00, 0x28, 0x03, 0xDA, 0x02, 0x48, 0x00, 0x21, 0xFE, 0xF7 + .byte 0x3F, 0xFF, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00 + .byte 0x08, 0xB5, 0x01, 0x20, 0xFE, 0xF7, 0x74, 0xFA, 0xA5, 0xF1, 0x68, 0xF8, 0x0A, 0x28, 0x04, 0xDB + .byte 0x12, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0x00, 0x28, 0x04, 0xDA, 0x10, 0x48 + .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x21 + .byte 0xFE, 0xF7, 0x1E, 0xFF, 0x08, 0xBD, 0x02, 0x28, 0x0E, 0xD1, 0x0B, 0x48, 0x00, 0x68, 0x44, 0x30 + .byte 0x00, 0x78, 0x00, 0x28, 0x04, 0xD0, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x11, 0xFF, 0x08, 0xBD + .byte 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x0C, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02 + .byte 0x8D, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0xA9, 0x2E, 0x03, 0x02 + .byte 0x81, 0x1C, 0x01, 0x29, 0x00, 0xD9, 0x40, 0x42, 0x01, 0x49, 0x09, 0x68, 0x48, 0x63, 0x70, 0x47 + .byte 0x00, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x00, 0x20, 0xA4, 0xF1, 0x62, 0xFC, 0x0A, 0x28, 0x04, 0xDB + .byte 0x11, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xEC, 0xFE, 0x08, 0xBD, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7 + .byte 0xE7, 0xFF, 0x0E, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xE3, 0xFE, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1 + .byte 0x0B, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xDC, 0xFE, 0x08, 0xBD, 0x02, 0x28, 0x04, 0xD1, 0x09, 0x48 + .byte 0x00, 0x21, 0xFE, 0xF7, 0xD5, 0xFE, 0x08, 0xBD, 0x03, 0x28, 0x03, 0xD1, 0x02, 0x48, 0x00, 0x21 + .byte 0xFE, 0xF7, 0xCE, 0xFE, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02, 0x8D, 0x2E, 0x03, 0x02 + .byte 0xB1, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0x01, 0x20, 0xA4, 0xF1, 0x30, 0xFC + .byte 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0xBC, 0xFF, 0x09, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xB8, 0xFE + .byte 0x08, 0xBD, 0x08, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78, 0xA5, 0xF1, 0x6B, 0xFA, 0x00, 0x28 + .byte 0x05, 0xD0, 0xFC, 0xF7, 0x4D, 0xFE, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xA9, 0xFE, 0x08, 0xBD + .byte 0x8D, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x10, 0xB5, 0x04, 0x1C + .byte 0x06, 0x48, 0x07, 0x49, 0xA4, 0xF1, 0xEE, 0xFB, 0x06, 0x48, 0x00, 0x21, 0x00, 0x68, 0x42, 0x30 + .byte 0x04, 0x70, 0x05, 0x48, 0xFE, 0xF7, 0x94, 0xFE, 0x01, 0x20, 0x10, 0xBD, 0xBD, 0x03, 0x03, 0x02 + .byte 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x99, 0x2F, 0x03, 0x02, 0x0E, 0x48, 0x00, 0x68 + .byte 0x41, 0x6A, 0x0E, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0x47, 0x0C, 0x48, 0x81, 0x42 + .byte 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x0B, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x03, 0x20, 0x70, 0x47 + .byte 0x09, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x04, 0x20, 0x70, 0x47, 0x08, 0x48, 0x81, 0x42, 0x01, 0xD1 + .byte 0x05, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02 + .byte 0xB1, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0xAD, 0x2E, 0x03, 0x02 + .byte 0x08, 0xB5, 0x0B, 0x48, 0x0B, 0x49, 0xA4, 0xF1, 0xAD, 0xFB, 0x00, 0x20, 0xC0, 0x43, 0xA5, 0xF1 + .byte 0x11, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x08, 0x48, 0x00, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70 + .byte 0xFC, 0xF7, 0xEE, 0xFD, 0x05, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x4A, 0xFE, 0x08, 0xBD, 0xC0, 0x46 + .byte 0xBD, 0x03, 0x03, 0x02, 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02 + .byte 0x08, 0xB5, 0x00, 0x20, 0xFE, 0xF7, 0x7C, 0xF9, 0x0B, 0x48, 0x00, 0x68, 0x41, 0x30, 0x00, 0x78 + .byte 0xA5, 0xF1, 0x04, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0xA5, 0xF1, 0x58, 0xF9, 0x07, 0x48, 0x00, 0x21 + .byte 0xFE, 0xF7, 0x2E, 0xFE, 0x08, 0xBD, 0xA4, 0xF1, 0x61, 0xFF, 0x00, 0x28, 0x03, 0xDA, 0x04, 0x48 + .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFE, 0x08, 0xBD, 0x00, 0x5A, 0x1C, 0x02, 0x61, 0x30, 0x03, 0x02 + .byte 0x8D, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0xFE, 0xF7, 0x53, 0xF8, 0x00, 0x28, 0x08, 0xD1, 0x0C, 0x48 + .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x0A, 0x48, 0xFE, 0xF7, 0x11, 0xFE, 0x08, 0xE0 + .byte 0x07, 0x48, 0x01, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7 + .byte 0x07, 0xFE, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70, 0x08, 0xBD, 0xC0, 0x46 + .byte 0x00, 0x5A, 0x1C, 0x02, 0xA1, 0x30, 0x03, 0x02, 0x02, 0x48, 0x00, 0x68, 0x4D, 0x30, 0x00, 0x78 + .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x04, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x04, 0x48 + .byte 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 + .byte 0x61, 0x30, 0x03, 0x02, 0x07, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x07, 0x48, 0x81, 0x42, 0x01, 0xD1 + .byte 0x01, 0x20, 0x70, 0x47, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20 + .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02 + .byte 0x01, 0x48, 0x00, 0x68, 0x40, 0x6B, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 + + thumb_func_start sub_0203318C +sub_0203318C: ; 0x0203318C + push {r3, lr} + mov r0, #0x0 + bl sub_020313A0 + mov r0, #0x0 + bl sub_021D82BC + cmp r0, #0x0 + beq _020331AA + bl sub_021D836C + ldr r0, _020331BC ; =sub_02032440 + mov r1, #0x0 + bl sub_02031D20 +_020331AA: + bl sub_021D7F8C + cmp r0, #0x0 + bge _020331BA + ldr r0, _020331C0 ; =sub_02032E8C + mov r1, #0x0 + bl sub_02031D20 +_020331BA: + pop {r3, pc} + .balign 4 +_020331BC: .word sub_02032440 + 1 +_020331C0: .word sub_02032E8C + 1 + + thumb_func_start sub_020331C4 +sub_020331C4: ; 0x020331C4 + push {r3, lr} + ldr r0, _020331E0 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020331DC + mov r0, #0x1 + bl sub_020166B8 + ldr r0, _020331E4 ; =sub_02032440 + mov r1, #0x5 + bl sub_02031D20 +_020331DC: + pop {r3, pc} + nop +_020331E0: .word 0x021C5A00 +_020331E4: .word sub_02032440 + 1 + + thumb_func_start sub_020331E8 +sub_020331E8: ; 0x020331E8 + push {r3, lr} + ldr r0, _02033200 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020331FE + mov r1, #0x0 + add r0, #0x41 + strb r1, [r0, #0x0] + ldr r0, _02033204 ; =0x020330A1 + bl sub_02031D20 +_020331FE: + pop {r3, pc} + .balign 4 +_02033200: .word 0x021C5A00 +_02033204: .word 0x020330A1 + + thumb_func_start sub_02033208 +sub_02033208: ; 0x02033208 + push {r3, lr} + ldr r0, _02033234 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033232 + bl sub_02031190 + cmp r0, #0x0 + bne _02033220 + mov r1, #0x0 + ldr r0, _02033234 ; =0x021C5A00 + b _02033224 +_02033220: + ldr r0, _02033234 ; =0x021C5A00 + mov r1, #0x1 +_02033224: + ldr r0, [r0, #0x0] + add r0, #0x41 + strb r1, [r0, #0x0] + ldr r0, _02033238 ; =0x020330A1 + mov r1, #0x0 + bl sub_02031D20 +_02033232: + pop {r3, pc} + .balign 4 +_02033234: .word 0x021C5A00 +_02033238: .word 0x020330A1 + + thumb_func_start sub_0203323C +sub_0203323C: ; 0x0203323C + push {r3, lr} + bl sub_02031190 + add r1, sp, #0x0 + strb r0, [r1, #0x0] + mov r0, #0x15 + add r1, sp, #0x0 + bl sub_020311D0 + pop {r3, pc} + + thumb_func_start sub_02033250 +sub_02033250: ; 0x02033250 + ldr r0, _0203327C ; =0x021C5A00 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _02033276 + ldr r1, [r2, #0x24] + ldr r0, _02033280 ; =sub_02032E8C + cmp r1, r0 + bne _02033264 + mov r0, #0x1 + bx lr +_02033264: + ldr r0, _02033284 ; =0x02032E91 + cmp r1, r0 + bne _02033276 + add r2, #0x44 + ldrb r0, [r2, #0x0] + cmp r0, #0x0 + beq _02033276 + mov r0, #0x1 + bx lr +_02033276: + mov r0, #0x0 + bx lr + nop +_0203327C: .word 0x021C5A00 +_02033280: .word sub_02032E8C + 1 +_02033284: .word 0x02032E91 + + thumb_func_start sub_02033288 +sub_02033288: ; 0x02033288 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020332D8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020332D6 + mov r1, #0xf + add r2, r1, #0x0 + mov r0, #0x3 + add r2, #0xf1 + bl sub_02016828 + mov r0, #0xf + mov r1, #0x50 + bl sub_02016998 + ldr r1, _020332D8 ; =0x021C5A00 + mov r2, #0x50 + str r0, [r1, #0x0] + mov r1, #0x0 + blx sub_020CE34C + ldr r0, _020332D8 ; =0x021C5A00 + mov r2, #0x18 + ldr r1, [r0, #0x0] + add r1, #0x3f + strb r2, [r1, #0x0] + ldr r2, [r0, #0x0] + mov r1, #0x1 + add r2, #0x46 + strb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + str r4, [r0, #0x28] + mov r0, #0x0 + bl sub_020334E8 + mov r0, #0x1 + bl sub_020166A8 +_020332D6: + pop {r4, pc} + .balign 4 +_020332D8: .word 0x021C5A00 + + thumb_func_start sub_020332DC +sub_020332DC: ; 0x020332DC + push {r3, lr} + ldr r0, _0203330C ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033308 + mov r0, #0x1 + bl sub_020166B8 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_020334E8 + ldr r0, _0203330C ; =0x021C5A00 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0203330C ; =0x021C5A00 + mov r1, #0x0 + str r1, [r0, #0x0] + mov r0, #0xf + bl sub_020168D0 +_02033308: + pop {r3, pc} + nop +_0203330C: .word 0x021C5A00 + + thumb_func_start sub_02033310 +sub_02033310: ; 0x02033310 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02033360 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203335E + mov r1, #0xf + add r2, r1, #0x0 + mov r0, #0x3 + add r2, #0xf1 + bl sub_02016828 + mov r0, #0xf + mov r1, #0x50 + bl sub_02016998 + ldr r1, _02033360 ; =0x021C5A00 + mov r2, #0x50 + str r0, [r1, #0x0] + mov r1, #0x0 + blx sub_020CE34C + ldr r0, _02033360 ; =0x021C5A00 + mov r2, #0x19 + ldr r1, [r0, #0x0] + add r1, #0x3f + strb r2, [r1, #0x0] + ldr r2, [r0, #0x0] + mov r1, #0x1 + add r2, #0x46 + strb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + str r4, [r0, #0x28] + mov r0, #0x0 + bl sub_020334E8 + mov r0, #0x1 + bl sub_020166A8 +_0203335E: + pop {r4, pc} + .balign 4 +_02033360: .word 0x021C5A00 + + thumb_func_start sub_02033364 +sub_02033364: ; 0x02033364 + push {r3, lr} + ldr r0, _02033394 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033390 + mov r0, #0x1 + bl sub_020166B8 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_020334E8 + ldr r0, _02033394 ; =0x021C5A00 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _02033394 ; =0x021C5A00 + mov r1, #0x0 + str r1, [r0, #0x0] + mov r0, #0xf + bl sub_020168D0 +_02033390: + pop {r3, pc} + nop +_02033394: .word 0x021C5A00 + + thumb_func_start sub_02033398 +sub_02033398: ; 0x02033398 + push {r3, lr} + sub sp, #0x8 + ldr r0, _020333EC ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020333AA + add sp, #0x8 + mov r0, #0x0 + pop {r3, pc} +_020333AA: + add r0, #0x3f + ldrb r0, [r0, #0x0] + cmp r0, #0x18 + bne _020333C8 + add r0, sp, #0x4 + add r1, sp, #0x0 + blx sub_021DD718 + cmp r0, #0x0 + beq _020333E4 + blx sub_021DD6F0 + add sp, #0x8 + mov r0, #0x1 + pop {r3, pc} +_020333C8: + cmp r0, #0x19 + bne _020333E4 + add r0, sp, #0x4 + add r1, sp, #0x0 + blx sub_021DD718 + cmp r0, #0x0 + beq _020333E4 + ldr r0, [sp, #0x0] + cmp r0, #0x7 + bne _020333E4 + add sp, #0x8 + mov r0, #0x1 + pop {r3, pc} +_020333E4: + mov r0, #0x0 + add sp, #0x8 + pop {r3, pc} + nop +_020333EC: .word 0x021C5A00 +_020333F0: + .byte 0x08, 0xB5, 0xA4, 0xF1, 0x5B, 0xF9, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0x91, 0xFD, 0x05, 0x48 + .byte 0x00, 0x21, 0xFE, 0xF7, 0x8D, 0xFC, 0x08, 0xBD, 0x03, 0xDD, 0x03, 0x48, 0x00, 0x21, 0xFE, 0xF7 + .byte 0x87, 0xFC, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02, 0x08, 0xB5, 0xFB, 0xF7 + .byte 0x53, 0xF8, 0x00, 0x28, 0x1B, 0xD0, 0x31, 0x21, 0x03, 0x20, 0x0A, 0x03, 0xE3, 0xF7, 0xFC, 0xF9 + .byte 0x01, 0x20, 0x01, 0x1C, 0x42, 0x02, 0x03, 0x1C, 0xFC, 0xF7, 0x6E, 0xFA, 0x00, 0x28, 0x0E, 0xD0 + .byte 0x07, 0x48, 0x31, 0x21, 0x00, 0x68, 0x80, 0x6A, 0xA4, 0xF1, 0x4A, 0xF8, 0x05, 0x48, 0xA4, 0xF1 + .byte 0xAB, 0xFF, 0xFC, 0xF7, 0xDD, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x61, 0xFC, 0x08, 0xBD + .byte 0x00, 0x5A, 0x1C, 0x02, 0xD1, 0x35, 0x03, 0x02, 0xF1, 0x33, 0x03, 0x02, 0x38, 0xB5, 0x05, 0x1C + .byte 0x0C, 0x1C, 0xF0, 0xF7, 0x3F, 0xFA, 0xFD, 0xF7, 0x63, 0xFD, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20 + .byte 0x38, 0xBD, 0x01, 0x20, 0xE3, 0xF7, 0x10, 0xF9, 0x11, 0x4A, 0x03, 0x20, 0x0F, 0x21, 0xE3, 0xF7 + .byte 0xCB, 0xF9, 0x28, 0x1C, 0x17, 0x21, 0xFE, 0xF7, 0x4D, 0xF9, 0x0F, 0x20, 0x21, 0x1C, 0xE3, 0xF7 + .byte 0x7B, 0xFA, 0x0C, 0x49, 0x0A, 0x68, 0x10, 0x60, 0x08, 0x68, 0x00, 0x21, 0x00, 0x68, 0x22, 0x1C + .byte 0x9A, 0xF0, 0x4C, 0xEF, 0x07, 0x48, 0x00, 0x21, 0x02, 0x68, 0x40, 0x32, 0x11, 0x70, 0x00, 0x68 + .byte 0x85, 0x62, 0x05, 0x48, 0xFE, 0xF7, 0x2C, 0xFC, 0x02, 0x48, 0x00, 0x68, 0x00, 0x68, 0x38, 0xBD + .byte 0x80, 0x70, 0x00, 0x00, 0x00, 0x5A, 0x1C, 0x02, 0x1D, 0x34, 0x03, 0x02, 0x01, 0x48, 0x00, 0x68 + .byte 0x00, 0x68, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 + + thumb_func_start sub_020334E8 +sub_020334E8: ; 0x020334E8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0203350C ; =0x021C5A00 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _020334FE + add r2, #0x44 + strb r4, [r2, #0x0] + ldr r0, [r0, #0x0] + add r0, #0x45 + strb r1, [r0, #0x0] +_020334FE: + add r0, r4, #0x0 + bl sub_0202EE84 + add r0, r4, #0x0 + bl sub_0202EEB0 + pop {r4, pc} + .balign 4 +_0203350C: .word 0x021C5A00 + + thumb_func_start sub_02033510 +sub_02033510: ; 0x02033510 + ldr r0, _02033530 ; =0x021C5A00 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0203352C + add r0, r1, #0x0 + add r0, #0x4e + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033526 + mov r0, #0x1 + bx lr +_02033526: + add r1, #0x45 + ldrb r0, [r1, #0x0] + bx lr +_0203352C: + mov r0, #0x0 + bx lr + .balign 4 +_02033530: .word 0x021C5A00 + + thumb_func_start sub_02033534 +sub_02033534: ; 0x02033534 + ldr r0, _02033548 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033542 + add r0, #0x3f + ldrb r0, [r0, #0x0] + bx lr +_02033542: + mov r0, #0x1 + bx lr + nop +_02033548: .word 0x021C5A00 + + thumb_func_start sub_0203354C +sub_0203354C: ; 0x0203354C + ldr r0, _02033560 ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0203355A + add r0, #0x40 + ldrb r0, [r0, #0x0] + bx lr +_0203355A: + mov r0, #0x0 + bx lr + nop +_02033560: .word 0x021C5A00 + + thumb_func_start sub_02033564 +sub_02033564: ; 0x02033564 + ldr r1, _02033570 ; =0x021C5A00 + ldr r3, _02033574 ; =sub_020CE3E0 + ldr r1, [r1, #0x0] + mov r2, #0x6 + add r1, r1, #0x4 + bx r3 + .balign 4 +_02033570: .word 0x021C5A00 +_02033574: .word sub_020CE3E0 + + thumb_func_start sub_02033578 +sub_02033578: ; 0x02033578 + add r1, r0, #0x0 + ldr r0, _02033588 ; =0x021C5A00 + ldr r3, _0203358C ; =sub_020CE3E0 + ldr r0, [r0, #0x0] + mov r2, #0x6 + add r0, r0, #0x4 + bx r3 + nop +_02033588: .word 0x021C5A00 +_0203358C: .word sub_020CE3E0 + + thumb_func_start sub_02033590 +sub_02033590: ; 0x02033590 + push {r3, lr} + bl sub_02033534 + cmp r0, #0x13 + blt _0203359E + mov r0, #0x1 + pop {r3, pc} +_0203359E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020335A4 +sub_020335A4: ; 0x020335A4 + ldr r1, _020335B4 ; =0x021C5A00 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _020335B0 + add r1, #0x47 + strb r0, [r1, #0x0] +_020335B0: + bx lr + nop +_020335B4: .word 0x021C5A00 + + thumb_func_start sub_020335B8 +sub_020335B8: ; 0x020335B8 + ldr r0, _020335CC ; =0x021C5A00 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020335C6 + add r0, #0x47 + ldrb r0, [r0, #0x0] + bx lr +_020335C6: + mov r0, #0x0 + bx lr + nop +_020335CC: .word 0x021C5A00 + + thumb_func_start sub_020335D0 +sub_020335D0: ; 0x020335D0 + push {r3, lr} + add r2, r0, #0x0 + mov r0, #0x0 + mov r1, #0x1 + bl sub_02033F70 +_020335DC: + b _020335DC + .balign 4 + + thumb_func_start sub_020335E0 +sub_020335E0: ; 0x020335E0 + push {r3, lr} + mov r0, #0x0 + mov r1, #0x4 + add r2, r0, #0x0 + bl sub_02033F70 +_020335EC: + b _020335EC + .balign 4 + + thumb_func_start sub_020335F0 +sub_020335F0: ; 0x020335F0 + bx lr + .balign 4 + + thumb_func_start sub_020335F4 +sub_020335F4: ; 0x020335F4 + push {r3, lr} + bl sub_02033510 + cmp r0, #0x0 + beq _0203366C + bl sub_020311F0 + cmp r0, #0x0 + bne _02033622 + bl sub_02033250 + cmp r0, #0x0 + bne _02033622 + bl sub_02033398 + cmp r0, #0x0 + bne _02033622 + ldr r0, _02033670 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x4e + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0203366C +_02033622: + bl sub_020335B8 + cmp r0, #0x0 + bne _0203366C + bl sub_0200541C + ldr r0, _02033670 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl sub_0202287C + ldr r1, _02033674 ; =0x021C4918 + mov r0, #0x1 + strb r0, [r1, #0x4] + ldr r1, _02033670 ; =0x021C5A00 + ldr r2, [r1, #0x0] + add r1, r2, #0x0 + add r1, #0x4e + ldrb r1, [r1, #0x0] + cmp r1, #0x3 + bne _02033654 + mov r0, #0x3 + bl sub_020335A4 + pop {r3, pc} +_02033654: + add r2, #0x3f + ldrb r1, [r2, #0x0] + cmp r1, #0x19 + beq _02033660 + cmp r1, #0xf + bne _02033668 +_02033660: + mov r0, #0x2 + bl sub_020335A4 + pop {r3, pc} +_02033668: + bl sub_020335A4 +_0203366C: + pop {r3, pc} + nop +_02033670: .word 0x021C5A00 +_02033674: .word 0x021C4918 + + thumb_func_start sub_02033678 +sub_02033678: ; 0x02033678 + push {r3, lr} + bl sub_0202EDD8 + cmp r0, #0x0 + bne _0203368A + bl sub_02031810 + cmp r0, #0x0 + bne _0203368E +_0203368A: + mov r0, #0x1 + pop {r3, pc} +_0203368E: + bl sub_0202E344 + cmp r0, #0x0 + bne _0203369A + mov r0, #0x1 + pop {r3, pc} +_0203369A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020336A0 +sub_020336A0: ; 0x020336A0 + push {r3, lr} + ldr r1, _020336BC ; =0x021C5A00 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _020336B6 + add r1, #0x4e + strb r0, [r1, #0x0] + bl sub_02031468 + mov r0, #0x1 + pop {r3, pc} +_020336B6: + mov r0, #0x0 + pop {r3, pc} + nop +_020336BC: .word 0x021C5A00 + + thumb_func_start sub_020336C0 +sub_020336C0: ; 0x020336C0 + mov r1, #0x0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020336C8 +sub_020336C8: ; 0x020336C8 + push {r4-r6, lr} + add r4, r2, #0x0 + add r6, r1, #0x0 + ldr r1, [r4, #0x0] + add r5, r0, #0x0 + cmp r1, #0x6 + bhi _02033774 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r0, r3, #0 + lsl r0, r6, #0 + lsl r6, r2, #0x1 + lsl r6, r4, #0x1 + lsl r6, r0, #0x2 + lsl r4, r1, #0x2 + mov r0, #0x6f + bl sub_02031588 + mov r0, #0x1 + str r0, [r4, #0x0] + b _02033774 +_020336FC: + .byte 0x6F, 0x20, 0xFD, 0xF7 + .byte 0x6B, 0xFF, 0x00, 0x28, 0x36, 0xD0, 0x28, 0x1C, 0x31, 0x1C, 0xEF, 0xF7, 0x99, 0xF8, 0x02, 0x20 + .byte 0x20, 0x60, 0x2F, 0xE0, 0xEF, 0xF7, 0x9E, 0xF8, 0x05, 0x1C, 0x02, 0x2D, 0x01, 0xD1, 0xED, 0xF7 + .byte 0x85, 0xFA, 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x81, 0xFA, 0x01, 0x2D, 0x22, 0xD1, 0x03, 0x20 + .byte 0x20, 0x60, 0x70, 0x20, 0xFD, 0xF7, 0x28, 0xFF, 0x1C, 0xE0, 0x70, 0x20, 0xFD, 0xF7, 0x4C, 0xFF + .byte 0x00, 0x28, 0x17, 0xD0, 0x04, 0x20, 0x20, 0x60, 0x14, 0xE0, 0xEF, 0xF7, 0x83, 0xF8, 0x05, 0x1C + .byte 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x6A, 0xFA, 0x01, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x66, 0xFA + .byte 0x02, 0x2D, 0x07, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x04, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x01, 0xE0 + .byte 0x01, 0x20, 0x70, 0xBD +_02033774: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02033778 +sub_02033778: ; 0x02033778 + push {r3-r7, lr} + str r0, [sp, #0x0] + bl sub_02030F20 + add r7, r0, #0x0 + mov r0, #0x0 + bl sub_0202DFA4 + cmp r0, #0x0 + beq _020337C6 + mov r5, #0x0 + cmp r7, #0x0 + ble _020337C6 +_02033792: + bl sub_02031190 + cmp r5, r0 + beq _020337C0 + add r0, r5, #0x0 + bl sub_0202E020 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202E044 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202DFA4 + bl sub_02023A70 + add r3, r0, #0x0 + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020337C8 +_020337C0: + add r5, r5, #0x1 + cmp r5, r7 + blt _02033792 +_020337C6: + pop {r3-r7, pc} + + thumb_func_start sub_020337C8 +sub_020337C8: ; 0x020337C8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02029B40 + cmp r0, #0x0 + bne _020337E4 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + mov r3, #0x1 + bl sub_02029B90 +_020337E4: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020337E8 +sub_020337E8: ; 0x020337E8 + push {r3-r5, lr} + mov r1, #0x72 + lsl r1, r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + add r0, #0x1f + mov r1, #0x1f + bic r0, r1 + blx sub_02096B14 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203380C +sub_0203380C: ; 0x0203380C + push {r4, lr} + bl sub_02028228 + add r4, r0, #0x0 + blx sub_02096FB0 + cmp r0, #0x0 + bne _0203382A + ldr r1, _0203382C ; =0x4144414A + add r0, r4, #0x0 + blx sub_02096FF4 + add r0, r4, #0x0 + blx sub_02096E90 +_0203382A: + pop {r4, pc} + .balign 4 +_0203382C: .word 0x4144414A + + thumb_func_start sub_02033830 +sub_02033830: ; 0x02033830 + push {r3-r4, lr} + sub sp, #0xc + bl sub_02028228 + add r4, r0, #0x0 + add r1, sp, #0x0 + blx sub_02096CCC + add r0, r4, #0x0 + add r1, sp, #0x0 + blx sub_02096DA0 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0203384C +sub_0203384C: ; 0x0203384C + push {r4, lr} + bl sub_020286EC + bl sub_02028228 + add r4, r0, #0x0 + blx sub_02096F80 + cmp r0, #0x0 + beq _0203386E + add r0, r4, #0x0 + blx sub_02096F18 + cmp r0, #0x0 + beq _0203386E + mov r0, #0x1 + pop {r4, pc} +_0203386E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02033874 +sub_02033874: ; 0x02033874 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r5, r1, #0x0 + str r2, [sp, #0x0] + bl sub_020286EC + bl sub_02028228 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020286EC + mov r1, #0x0 + bl sub_0202838C + add r4, r0, #0x0 + mov r1, #0x0 + ldr r0, [sp, #0x0] + mvn r1, r1 + str r1, [r0, #0x0] + add r0, r5, #0x0 + blx sub_0209700C + cmp r0, #0x0 + bne _020338AE + add sp, #0x8 + mov r0, #0x3 + pop {r3-r7, pc} +_020338AE: + mov r7, #0x0 +_020338B0: + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_02096B78 + cmp r0, #0x0 + beq _020338C6 + ldr r0, [sp, #0x0] + add sp, #0x8 + str r7, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} +_020338C6: + add r0, r6, #0x0 + add r1, r5, #0x0 + blx sub_02096DA0 + cmp r0, #0x0 + ble _020338F4 + add r0, r6, #0x0 + add r1, r5, #0x0 + blx sub_02096DA0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_02096DA0 + ldr r1, [sp, #0x4] + cmp r1, r0 + bne _020338F4 + ldr r0, [sp, #0x0] + add sp, #0x8 + str r7, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_020338F4: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bge _0203390A + add r0, r4, #0x0 + blx sub_0209700C + cmp r0, #0x0 + bne _0203390A + ldr r0, [sp, #0x0] + str r7, [r0, #0x0] +_0203390A: + add r7, r7, #0x1 + add r4, #0xc + cmp r7, #0x20 + blt _020338B0 + mov r0, #0x2 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02033918 +sub_02033918: ; 0x02033918 + push {r3-r7, lr} + sub sp, #0x18 + add r4, r0, #0x0 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r6, r3, #0x0 + bl sub_020286EC + bl sub_02028228 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_020286EC + mov r1, #0x0 + bl sub_0202838C + add r5, r0, #0x0 + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r7, #0x0 + blx sub_020973B4 + cmp r0, #0x0 + bne _02033950 + add sp, #0x18 + mov r0, #0x3 + pop {r3-r7, pc} +_02033950: + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, sp, #0xc + blx sub_02096D2C + add r0, r7, #0x0 + add r1, sp, #0xc + blx sub_02096DA0 + cmp r0, #0x0 + bgt _0203396C + add sp, #0x18 + mov r0, #0x3 + pop {r3-r7, pc} +_0203396C: + mov r0, #0x0 + mvn r0, r0 + str r0, [r6, #0x0] + mov r4, #0x0 +_02033974: + add r0, r7, #0x0 + add r1, sp, #0xc + blx sub_02096DA0 + str r0, [sp, #0x8] + add r0, r7, #0x0 + add r1, r5, #0x0 + blx sub_02096DA0 + ldr r1, [sp, #0x8] + cmp r1, r0 + bne _02033994 + add sp, #0x18 + str r4, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} +_02033994: + ldr r0, [r6, #0x0] + cmp r0, #0x0 + bge _020339A6 + add r0, r5, #0x0 + blx sub_0209700C + cmp r0, #0x0 + bne _020339A6 + str r4, [r6, #0x0] +_020339A6: + add r4, r4, #0x1 + add r5, #0xc + cmp r4, #0x20 + blt _02033974 + mov r0, #0x2 + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_020339B4 +sub_020339B4: ; 0x020339B4 + push {r4-r7, lr} + sub sp, #0x14 + add r6, r1, #0x0 + mov r1, #0x0 + add r5, r0, #0x0 + str r2, [sp, #0x4] + str r1, [sp, #0xc] + bl sub_020286EC + mov r1, #0x0 + bl sub_0202838C + str r0, [sp, #0x8] + mov r4, #0x0 + bl sub_02030F20 + cmp r0, #0x0 + ble _02033A68 +_020339D8: + bl sub_02031190 + cmp r4, r0 + beq _02033A5C + add r0, r4, #0x0 + bl sub_0202DFD8 + add r7, r0, #0x0 + beq _02033A5C + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x10 + bl sub_02033874 + str r0, [r6, #0x0] + cmp r0, #0x3 + bne _020339FE + bl sub_02020C2C +_020339FE: + ldr r0, [r6, #0x0] + cmp r0, #0x0 + bne _02033A1C + mov r0, #0x2 + str r0, [sp, #0x0] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02033A70 + add r0, r5, #0x0 + bl sub_0202E1BC + b _02033A5C +_02033A1C: + cmp r0, #0x1 + bne _02033A54 + bl sub_02033590 + cmp r0, #0x0 + bne _02033A5C + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02033A70 + ldr r2, [sp, #0x10] + mov r1, #0xc + add r3, r2, #0x0 + mul r3, r1 + ldr r1, [sp, #0x8] + add r0, r7, #0x0 + add r1, r1, r3 + mov r2, #0xc + blx sub_020CE3E0 + add r0, r5, #0x0 + bl sub_0202E1BC + b _02033A5C +_02033A54: + cmp r0, #0x2 + bne _02033A5C + mov r0, #0x1 + str r0, [sp, #0xc] +_02033A5C: + add r6, r6, #0x4 + add r4, r4, #0x1 + bl sub_02030F20 + cmp r4, r0 + blt _020339D8 +_02033A68: + ldr r0, [sp, #0xc] + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02033A70 +sub_02033A70: ; 0x02033A70 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r2, #0x0 + str r0, [sp, #0x0] + add r7, r1, #0x0 + str r3, [sp, #0x4] + bl sub_020286EC + add r1, r5, #0x0 + add r4, r0, #0x0 + bl sub_0202838C + str r0, [sp, #0x8] + add r0, r7, #0x0 + bl sub_0202DFA4 + add r6, r0, #0x0 + ldr r0, [sp, #0x28] + cmp r0, #0x2 + beq _02033AA6 + add r0, r7, #0x0 + bl sub_0202DFD8 + ldr r1, [sp, #0x8] + mov r2, #0xc + blx sub_020CE3E0 +_02033AA6: + ldr r0, [sp, #0x28] + cmp r0, #0x0 + bne _02033AEC + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + bl sub_020239A0 + str r0, [sp, #0xc] + ldr r2, [sp, #0xc] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020283C0 + ldr r0, [sp, #0xc] + bl sub_02021A20 + add r0, r6, #0x0 + bl sub_020239CC + add r3, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x8 + bl sub_020282E8 + add r0, r6, #0x0 + bl sub_020239BC + add r3, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl sub_020282E8 + b _02033B22 +_02033AEC: + cmp r0, #0x1 + bne _02033B22 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x8 + bl sub_0202822C + cmp r0, #0x2 + bne _02033B22 + add r0, r6, #0x0 + bl sub_020239CC + add r3, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x8 + bl sub_020282E8 + add r0, r6, #0x0 + bl sub_020239BC + add r3, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl sub_020282E8 +_02033B22: + ldr r1, [sp, #0x4] + mov r0, #0x78 + bl sub_020219F4 + str r0, [sp, #0x10] + add r0, r7, #0x0 + bl sub_0202DFFC + add r1, r0, #0x0 + ldr r0, [sp, #0x10] + bl sub_02021E28 + ldr r2, [sp, #0x10] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02028404 + ldr r0, [sp, #0x10] + bl sub_02021A20 + add r0, r6, #0x0 + bl sub_02023A28 + add r3, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x7 + bl sub_020282E8 + ldr r0, [sp, #0x0] + bl sub_0202E1BC + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02033B68 +sub_02033B68: ; 0x02033B68 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r2, #0x0 + mov r2, #0x7 + add r6, r3, #0x0 + ldr r1, [sp, #0x10] + mov r0, #0x1 + lsl r2, r2, #0x6 + add r3, r4, #0x0 + bl sub_02033D3C + ldr r1, [sp, #0x10] + mov r0, #0x1 + add r2, r4, #0x0 + bl sub_02033D9C + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_020169D8 + add r4, r0, #0x0 + ldr r0, _02033BC4 ; =sub_02033BC8 + add r1, r4, #0x0 + mov r2, #0x5 + bl sub_0200CA98 + str r0, [r4, #0x18] + strh r5, [r4, #0xc] + strh r6, [r4, #0xe] + mov r1, #0x0 + str r1, [r4, #0x0] + mov r0, #0x3 + str r0, [r4, #0x4] + ldr r0, [sp, #0x14] + str r0, [r4, #0x14] + ldr r0, [sp, #0x10] + str r1, [r4, #0x8] + strb r0, [r4, #0x10] + strb r1, [r4, #0x12] + mov r0, #0x7 + strb r1, [r4, #0x11] + lsl r0, r0, #0x18 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + pop {r4-r6, pc} + nop +_02033BC4: .word sub_02033BC8 + 1 + + thumb_func_start sub_02033BC8 +sub_02033BC8: ; 0x02033BC8 + push {r3-r7, lr} + add r5, r1, #0x0 + ldrb r0, [r5, #0x11] + cmp r0, #0x1 + beq _02033BD8 + cmp r0, #0x2 + beq _02033BEE + b _02033C04 +_02033BD8: + ldr r0, _02033CB0 ; =0x04000304 + ldrh r1, [r0, #0x0] + lsr r0, r0, #0xb + and r0, r1 + asr r0, r0, #0xf + cmp r0, #0x1 + bne _02033BEA + mov r6, #0x1 + b _02033C06 +_02033BEA: + mov r6, #0x2 + b _02033C06 +_02033BEE: + ldr r0, _02033CB0 ; =0x04000304 + ldrh r1, [r0, #0x0] + lsr r0, r0, #0xb + and r0, r1 + asr r0, r0, #0xf + cmp r0, #0x1 + bne _02033C00 + mov r6, #0x2 + b _02033C06 +_02033C00: + mov r6, #0x1 + b _02033C06 +_02033C04: + mov r6, #0x1 +_02033C06: + ldr r4, [r5, #0x4] + cmp r6, #0x1 + bne _02033C1E + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + ldr r0, _02033CB4 ; =0x00300010 + add r7, r1, #0x0 + and r7, r0 + blx sub_020C5DBC + b _02033C2C +_02033C1E: + ldr r0, _02033CB8 ; =0x04001000 + ldr r1, [r0, #0x0] + ldr r0, _02033CB4 ; =0x00300010 + add r7, r1, #0x0 + and r7, r0 + blx sub_020C5D4C +_02033C2C: + cmp r7, #0x10 + beq _02033C38 + ldr r1, _02033CBC ; =0x00200010 + cmp r7, r1 + beq _02033C54 + b _02033C6C +_02033C38: + cmp r0, #0x40 + beq _02033C40 + cmp r0, #0x20 + bne _02033C4A +_02033C40: + mov r0, #0x1f + lsl r1, r4, #0x2 + lsl r0, r0, #0x4 + add r1, r1, r0 + b _02033C74 +_02033C4A: + mov r0, #0x3f + lsl r1, r4, #0x2 + lsl r0, r0, #0x4 + add r1, r1, r0 + b _02033C74 +_02033C54: + cmp r0, #0x30 + beq _02033C5C + cmp r0, #0x50 + bne _02033C64 +_02033C5C: + mov r0, #0x9f + lsl r0, r0, #0x2 + add r1, r4, r0 + b _02033C74 +_02033C64: + mov r0, #0xff + lsl r0, r0, #0x2 + add r1, r4, r0 + b _02033C74 +_02033C6C: + mov r0, #0xfe + lsl r1, r4, #0x1 + lsl r0, r0, #0x2 + add r1, r1, r0 +_02033C74: + cmp r6, #0x1 + bne _02033C7E + mov r2, #0x7 + lsl r2, r2, #0x18 + b _02033C80 +_02033C7E: + ldr r2, _02033CC0 ; =0x07000400 +_02033C80: + ldrh r3, [r5, #0xe] + ldrh r0, [r5, #0xc] + lsl r3, r3, #0x18 + lsr r4, r3, #0x18 + mov r3, #0x1 + lsl r0, r0, #0x17 + lsl r3, r3, #0x1e + lsr r0, r0, #0x7 + orr r3, r4 + orr r0, r3 + str r0, [r2, #0x0] + mov r0, #0xe + lsl r0, r0, #0xc + orr r0, r1 + strh r0, [r2, #0x4] + ldr r1, [r5, #0x1c] + cmp r2, r1 + beq _02033CAE + ldr r0, _02033CC4 ; =0x40000200 + str r0, [r1, #0x0] + mov r0, #0x0 + strh r0, [r1, #0x4] + str r2, [r5, #0x1c] +_02033CAE: + pop {r3-r7, pc} + .balign 4 +_02033CB0: .word 0x04000304 +_02033CB4: .word 0x00300010 +_02033CB8: .word 0x04001000 +_02033CBC: .word 0x00200010 +_02033CC0: .word 0x07000400 +_02033CC4: .word 0x40000200 + + thumb_func_start sub_02033CC8 +sub_02033CC8: ; 0x02033CC8 + cmp r1, #0x4 + bge _02033CD2 + str r1, [r0, #0x4] + mov r1, #0x0 + str r1, [r0, #0x8] +_02033CD2: + bx lr + + thumb_func_start sub_02033CD4 +sub_02033CD4: ; 0x02033CD4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + bl sub_0200CAB4 + mov r0, #0x7 + ldr r2, _02033D00 ; =0x40000200 + lsl r0, r0, #0x18 + str r2, [r0, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x4] + ldrb r0, [r4, #0x12] + cmp r0, #0x0 + beq _02033CF6 + ldr r0, _02033D04 ; =0x07000400 + str r2, [r0, #0x0] + strh r1, [r0, #0x4] +_02033CF6: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + nop +_02033D00: .word 0x40000200 +_02033D04: .word 0x07000400 + + thumb_func_start sub_02033D08 +sub_02033D08: ; 0x02033D08 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r2, #0x7 + ldrb r1, [r5, #0x10] + mov r0, #0x2 + lsl r2, r2, #0x6 + add r3, r6, #0x0 + bl sub_02033D3C + ldrb r1, [r5, #0x10] + mov r0, #0x2 + add r2, r6, #0x0 + bl sub_02033D9C + cmp r4, #0x0 + beq _02033D30 + mov r0, #0x1 + b _02033D32 +_02033D30: + mov r0, #0x2 +_02033D32: + strb r0, [r5, #0x11] + mov r0, #0x1 + strb r0, [r5, #0x12] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02033D3C +sub_02033D3C: ; 0x02033D3C + push {r3-r5, lr} + sub sp, #0x8 + mov r1, #0x96 + add r5, r0, #0x0 + add r0, r3, #0x0 + lsl r1, r1, #0x2 + add r4, r2, #0x0 + bl sub_020169D8 + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02033D92 + ldr r0, _02033D98 ; =0x02105D88 + add r1, sp, #0x4 + bl sub_020161F8 + mov r1, #0x96 + ldr r0, [sp, #0x4] + lsl r1, r1, #0x2 + blx sub_020CC15C + ldr r0, [sp, #0x4] + add r1, sp, #0x0 + blx sub_020B0138 + cmp r5, #0x1 + bne _02033D80 + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0xc] + mov r2, #0x20 + blx sub_020C9480 + b _02033D8C +_02033D80: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0xc] + mov r2, #0x20 + blx sub_020C9418 +_02033D8C: + ldr r0, [sp, #0x4] + bl sub_02016A18 +_02033D92: + add sp, #0x8 + pop {r3-r5, pc} + nop +_02033D98: .word 0x02105D88 + + thumb_func_start sub_02033D9C +sub_02033D9C: ; 0x02033D9C + push {r3-r5, lr} + sub sp, #0x8 + add r4, r1, #0x0 + mov r1, #0x96 + add r5, r0, #0x0 + add r0, r2, #0x0 + lsl r1, r1, #0x2 + bl sub_020169D8 + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02033E58 + cmp r4, #0x0 + add r1, sp, #0x4 + beq _02033DC2 + ldr r0, _02033E5C ; =0x02105D98 + bl sub_020161F8 + b _02033DC8 +_02033DC2: + ldr r0, _02033E60 ; =0x02105DA8 + bl sub_020161F8 +_02033DC8: + mov r1, #0x96 + ldr r0, [sp, #0x4] + lsl r1, r1, #0x2 + blx sub_020CC15C + ldr r0, [sp, #0x4] + add r1, sp, #0x0 + blx sub_020B0088 + cmp r5, #0x1 + bne _02033DF0 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + ldr r0, _02033E64 ; =0x00300010 + add r4, r1, #0x0 + and r4, r0 + blx sub_020C5DBC + b _02033E00 +_02033DF0: + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + ldr r0, _02033E64 ; =0x00300010 + add r4, r1, #0x0 + and r4, r0 + blx sub_020C5DBC +_02033E00: + cmp r4, #0x10 + beq _02033E0C + ldr r1, _02033E68 ; =0x00200010 + cmp r4, r1 + beq _02033E20 + b _02033E30 +_02033E0C: + cmp r0, #0x40 + beq _02033E14 + cmp r0, #0x20 + bne _02033E1A +_02033E14: + mov r1, #0x3e + lsl r1, r1, #0x8 + b _02033E34 +_02033E1A: + mov r1, #0x7e + lsl r1, r1, #0x8 + b _02033E34 +_02033E20: + cmp r0, #0x30 + beq _02033E28 + cmp r0, #0x50 + bne _02033E2C +_02033E28: + ldr r1, _02033E6C ; =0x00013E00 + b _02033E34 +_02033E2C: + ldr r1, _02033E70 ; =0x0001FE00 + b _02033E34 +_02033E30: + mov r1, #0xfe + lsl r1, r1, #0x8 +_02033E34: + cmp r5, #0x1 + bne _02033E46 + ldr r0, [sp, #0x0] + mov r2, #0x2 + ldr r0, [r0, #0x14] + lsl r2, r2, #0x8 + blx sub_020C92F4 + b _02033E52 +_02033E46: + ldr r0, [sp, #0x0] + mov r2, #0x2 + ldr r0, [r0, #0x14] + lsl r2, r2, #0x8 + blx sub_020C9294 +_02033E52: + ldr r0, [sp, #0x4] + bl sub_02016A18 +_02033E58: + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02033E5C: .word 0x02105D98 +_02033E60: .word 0x02105DA8 +_02033E64: .word 0x00300010 +_02033E68: .word 0x00200010 +_02033E6C: .word 0x00013E00 +_02033E70: .word 0x0001FE00 + + thumb_func_start sub_02033E74 +sub_02033E74: ; 0x02033E74 + push {r4, lr} + mov r4, #0x0 + bl sub_02033590 + cmp r0, #0x0 + beq _02033E82 + mov r4, #0x1 +_02033E82: + mov r0, #0xf0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02033E90 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02033E90 +sub_02033E90: ; 0x02033E90 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + bl sub_0202E4DC + cmp r0, #0x0 + beq _02033EC4 + ldr r0, _02033EC8 ; =0x021C5A04 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033EAE + bl sub_02033ED0 +_02033EAE: + ldr r0, _02033ECC ; =0x02105D74 + str r4, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0x5b + add r2, r5, #0x0 + add r3, r6, #0x0 + bl sub_02033B68 + ldr r1, _02033EC8 ; =0x021C5A04 + str r0, [r1, #0x0] +_02033EC4: + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_02033EC8: .word 0x021C5A04 +_02033ECC: .word 0x02105D74 + + thumb_func_start sub_02033ED0 +sub_02033ED0: ; 0x02033ED0 + push {r3, lr} + ldr r0, _02033EE8 ; =0x021C5A04 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033EE4 + bl sub_02033CD4 + ldr r0, _02033EE8 ; =0x021C5A04 + mov r1, #0x0 + str r1, [r0, #0x0] +_02033EE4: + pop {r3, pc} + nop +_02033EE8: .word 0x021C5A04 + + thumb_func_start sub_02033EEC +sub_02033EEC: ; 0x02033EEC + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _02033F00 ; =0x021C5A04 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033EFC + bl sub_02033CC8 +_02033EFC: + pop {r3, pc} + nop +_02033F00: .word 0x021C5A04 + + thumb_func_start sub_02033F04 +sub_02033F04: ; 0x02033F04 + push {r3, lr} + add r3, r0, #0x0 + ldr r0, _02033F1C ; =0x021C5A04 + add r2, r1, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02033F18 + add r1, r3, #0x0 + bl sub_02033D08 +_02033F18: + pop {r3, pc} + nop +_02033F1C: .word 0x021C5A04 + + thumb_func_start sub_02033F20 +sub_02033F20: ; 0x02033F20 + push {r3, lr} + bl sub_02030F40 + cmp r0, #0x0 + beq _02033F40 + bl sub_02030F20 + cmp r0, #0x1 + bgt _02033F3A + bl sub_02033590 + cmp r0, #0x0 + beq _02033F4C +_02033F3A: + bl sub_02033E74 + pop {r3, pc} +_02033F40: + bl sub_02033590 + cmp r0, #0x0 + beq _02033F4C + bl sub_02033E74 +_02033F4C: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02033F50 +sub_02033F50: ; 0x02033F50 + ldr r3, _02033F64 ; =0x027E0000 + ldr r1, _02033F68 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + ldr r3, _02033F6C ; =sub_020CDA1C + mov r0, #0x3 + bx r3 + nop +_02033F64: .word 0x027E0000 +_02033F68: .word 0x00003FF8 +_02033F6C: .word sub_020CDA1C + + thumb_func_start sub_02033F70 +sub_02033F70: ; 0x02033F70 + push {r3-r7, lr} + sub sp, #0x28 + add r4, r0, #0x0 + str r2, [sp, #0xc] + cmp r1, #0x4 + bhi _02033F92 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 +_02033F92: + mov r5, #0x1 + b _02033FA4 +_02033F96: + .byte 0x02, 0x25, 0x04, 0xE0, 0x03, 0x25, 0x02, 0xE0, 0x04, 0x25 + .byte 0x00, 0xE0, 0x05, 0x25 +_02033FA4: + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + blx sub_020C9E14 + ldr r1, _02034154 ; =sub_02033F50 + mov r0, #0x1 + blx sub_020C9FEC + mov r0, #0x1 + blx sub_020C9E5C + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02034158 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0203415C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _02034160 ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _02034164 ; =0x04000050 + mov r1, #0x0 + strh r1, [r3, #0x0] + ldr r0, _02034168 ; =0x04001050 + sub r3, #0x50 + strh r1, [r0, #0x0] + ldr r2, [r3, #0x0] + ldr r1, _0203416C ; =0xFFFF1FFF + sub r0, #0x50 + and r2, r1 + str r2, [r3, #0x0] + ldr r2, [r0, #0x0] + and r1, r2 + str r1, [r0, #0x0] + ldr r0, _02034170 ; =0x020EECD0 + bl sub_0201E66C + add r0, r4, #0x0 + bl sub_02016B94 + add r6, r0, #0x0 + ldr r0, _02034174 ; =0x020EECA4 + bl sub_02016BBC + mov r1, #0x0 + ldr r2, _02034178 ; =0x020EECB4 + add r0, r6, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r2, _0203417C ; =0x000001F7 + add r0, r6, #0x0 + mov r3, #0x2 + str r4, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r4, #0x0 + bl sub_02017F18 + ldr r1, _02034180 ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _02034180 ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc8 + add r3, r4, #0x0 + bl sub_0200A86C + str r0, [sp, #0x10] + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + add r7, r0, #0x0 + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + str r0, [sp, #0x14] + bl sub_0201BD5C + add r0, r4, #0x0 + bl sub_0200AA80 + add r4, r0, #0x0 + ldr r2, _02034184 ; =0x020EEC9C + add r0, r6, #0x0 + add r1, sp, #0x18 + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x18 + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _0203417C ; =0x000001F7 + add r0, sp, #0x18 + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x0 + mov r3, #0x5 + bl sub_0200AD38 + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x14] + add r1, r5, #0x0 + bl sub_0200A8E0 + ldr r2, [sp, #0x14] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_0200B7B8 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0x18 + add r2, r7, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r7, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + add r0, sp, #0x18 + bl sub_02019178 + ldr r0, [sp, #0x10] + bl sub_0200A8B8 + add r0, r4, #0x0 + bl sub_0200AB18 + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0x28 + pop {r3-r7, pc} + nop +_02034154: .word sub_02033F50 + 1 +_02034158: .word 0xFFFFE0FF +_0203415C: .word 0x04001000 +_02034160: .word 0x021C4918 +_02034164: .word 0x04000050 +_02034168: .word 0x04001050 +_0203416C: .word 0xFFFF1FFF +_02034170: .word 0x020EECD0 +_02034174: .word 0x020EECA4 +_02034178: .word 0x020EECB4 +_0203417C: .word 0x000001F7 +_02034180: .word 0x00006C21 +_02034184: .word 0x020EEC9C + + thumb_func_start sub_02034188 +sub_02034188: ; 0x02034188 + push {r4-r7, lr} + sub sp, #0x24 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + bl sub_02015EF4 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02034368 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0203436C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _02034370 ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _02034374 ; =0x04000050 + mov r0, #0x0 + strh r0, [r3, #0x0] + ldr r2, _02034378 ; =0x04001050 + sub r3, #0x50 + strh r0, [r2, #0x0] + ldr r1, [r3, #0x0] + ldr r0, _0203437C ; =0xFFFF1FFF + sub r2, #0x50 + and r1, r0 + str r1, [r3, #0x0] + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + ldr r0, _02034380 ; =0x020EED2C + bl sub_0201E66C + add r0, r4, #0x0 + bl sub_02016B94 + str r0, [sp, #0x10] + ldr r0, _02034384 ; =0x020EED00 + bl sub_02016BBC + mov r1, #0x0 + ldr r0, [sp, #0x10] + ldr r2, _02034388 ; =0x020EED10 + add r3, r1, #0x0 + bl sub_02016C18 + ldr r0, [sp, #0x10] + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [sp, #0x10] + ldr r2, _0203438C ; =0x000001F7 + mov r3, #0x2 + str r4, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r4, #0x0 + bl sub_02017F18 + ldr r1, _02034390 ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _02034390 ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + ldr r2, _02034394 ; =0x00000265 + mov r0, #0x1 + mov r1, #0x1a + add r3, r4, #0x0 + bl sub_0200A86C + str r0, [sp, #0xc] + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + bl sub_0201BD5C + ldr r0, [sp, #0x10] + ldr r2, _02034398 ; =0x020EECF8 + add r1, sp, #0x14 + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x14 + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _0203438C ; =0x000001F7 + add r0, sp, #0x14 + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + ldr r0, [sp, #0xc] + mov r1, #0xf + add r2, r4, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0x14 + add r2, r4, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + ldr r4, _0203439C ; =0x04000130 + ldr r6, _020343A0 ; =0x027FFFA8 + mov r7, #0x1 +_020342E4: + ldrh r1, [r4, #0x0] + ldrh r0, [r6, #0x0] + orr r1, r0 + ldr r0, _020343A4 ; =0x00002FFF + eor r1, r0 + and r0, r1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + bl sub_02000FE8 + add r0, r5, #0x0 + tst r0, r7 + bne _02034308 + mov r0, #0x1 + add r1, r0, #0x0 + blx sub_020C9C0C + b _020342E4 +_02034308: + add r0, sp, #0x14 + bl sub_02019178 + ldr r0, [sp, #0xc] + bl sub_0200A8B8 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0201797C + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x3 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x5 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x6 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x7 + mov r1, #0x0 + bl sub_0201797C + ldr r0, [sp, #0x10] + mov r1, #0x0 + bl sub_020178A0 + ldr r0, [sp, #0x10] + bl sub_02016A18 + add sp, #0x24 + pop {r4-r7, pc} + nop +_02034368: .word 0xFFFFE0FF +_0203436C: .word 0x04001000 +_02034370: .word 0x021C4918 +_02034374: .word 0x04000050 +_02034378: .word 0x04001050 +_0203437C: .word 0xFFFF1FFF +_02034380: .word 0x020EED2C +_02034384: .word 0x020EED00 +_02034388: .word 0x020EED10 +_0203438C: .word 0x000001F7 +_02034390: .word 0x00006C21 +_02034394: .word 0x00000265 +_02034398: .word 0x020EECF8 +_0203439C: .word 0x04000130 +_020343A0: .word 0x027FFFA8 +_020343A4: .word 0x00002FFF + + thumb_func_start sub_020343A8 +sub_020343A8: ; 0x020343A8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + str r2, [sp, #0x0] + mov r2, #0x0 + strb r2, [r4, #0x1] + mov r0, #0xe1 + ldr r7, _02034488 ; =0x0000070A + ldr r6, _0203448C ; =0x00000A8E + mov r12, r1 + strb r2, [r4, #0x0] + add r3, r4, #0x0 + add r5, r2, #0x0 + lsl r0, r0, #0x2 +_020343C4: + add r1, r4, r2 + strh r5, [r3, #0x2] + strb r5, [r1, r7] + strh r5, [r3, r6] + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, r0 + blt _020343C4 + ldr r0, _02034490 ; =0x00001196 + mov r2, #0x0 +_020343D8: + add r1, r4, r5 + add r5, r5, #0x1 + strb r2, [r1, r0] + cmp r5, #0x10 + blt _020343D8 + mov r0, #0x29 + mov r1, r12 + mov r2, #0xb + bl sub_02006528 + add r6, r0, #0x0 + ldrb r0, [r6, #0x0] + add r5, r6, #0x5 + strb r0, [r4, #0x1] + ldrb r0, [r6, #0x1] + strb r0, [r4, #0x0] + ldrb r0, [r6, #0x2] + str r0, [sp, #0x8] + ldrb r0, [r6, #0x3] + str r0, [sp, #0x4] + ldrb r7, [r6, #0x4] + cmp r7, #0x10 + bls _0203440A + bl sub_02020C2C +_0203440A: + ldr r1, _02034490 ; =0x00001196 + add r0, r5, #0x0 + add r1, r4, r1 + add r2, r7, #0x0 + blx sub_020CE3E0 + ldr r0, [sp, #0x8] + add r5, r5, r7 + cmp r0, #0x0 + beq _0203443A + ldrb r3, [r4, #0x1] + ldrb r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x2 + mul r2, r3 + lsl r2, r2, #0x1 + blx sub_020CE3E0 + ldrb r1, [r4, #0x1] + ldrb r0, [r4, #0x0] + mul r0, r1 + lsl r0, r0, #0x1 + add r5, r5, r0 + b _0203444E +_0203443A: + ldrb r3, [r4, #0x1] + ldrb r2, [r4, #0x0] + ldr r0, [sp, #0x0] + add r1, r4, #0x2 + lsl r0, r0, #0x10 + mul r2, r3 + lsr r0, r0, #0x10 + lsl r2, r2, #0x1 + blx sub_020CE1C8 +_0203444E: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0203446C + ldrb r3, [r4, #0x1] + ldrb r2, [r4, #0x0] + ldr r1, _02034488 ; =0x0000070A + add r0, r5, #0x0 + add r1, r4, r1 + mul r2, r3 + blx sub_020CE3E0 + ldrb r1, [r4, #0x1] + ldrb r0, [r4, #0x0] + mul r0, r1 + add r5, r5, r0 +_0203446C: + ldrb r3, [r4, #0x1] + ldrb r2, [r4, #0x0] + ldr r1, _0203448C ; =0x00000A8E + add r0, r5, #0x0 + mul r2, r3 + add r1, r4, r1 + lsl r2, r2, #0x1 + blx sub_020CE3E0 + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02034488: .word 0x0000070A +_0203448C: .word 0x00000A8E +_02034490: .word 0x00001196 + + thumb_func_start sub_02034494 +sub_02034494: ; 0x02034494 + push {r3, lr} + ldr r1, _020344A8 ; =0x000011AA + mov r0, #0xb + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + pop {r3, pc} + .balign 4 +_020344A8: .word 0x000011AA + + thumb_func_start sub_020344AC +sub_020344AC: ; 0x020344AC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0203474C + add r6, r0, #0x0 + add r0, r4, #0x4 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_020343A8 + strb r6, [r4, #0x2] + ldrb r0, [r4, #0x4] + strb r0, [r4, #0x1] + ldrb r0, [r4, #0x5] + strb r0, [r4, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020344D0 +sub_020344D0: ; 0x020344D0 + ldr r3, _020344D4 ; =sub_02016A18 + bx r3 + .balign 4 +_020344D4: .word sub_02016A18 + 1 + + thumb_func_start sub_020344D8 +sub_020344D8: ; 0x020344D8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldrb r1, [r4, #0x0] + ldrb r0, [r4, #0x1] + mul r0, r1 + cmp r5, r0 + blt _020344EC + bl sub_02020C2C +_020344EC: + lsl r0, r5, #0x1 + add r1, r4, r0 + ldr r0, _020344F8 ; =0x00000A92 + ldrh r0, [r1, r0] + pop {r3-r5, pc} + nop +_020344F8: .word 0x00000A92 + + thumb_func_start sub_020344FC +sub_020344FC: ; 0x020344FC + push {r4, lr} + add r4, r0, #0x0 + bne _02034506 + bl sub_02020C2C +_02034506: + ldrb r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203450C +sub_0203450C: ; 0x0203450C + push {r4, lr} + add r4, r0, #0x0 + bne _02034516 + bl sub_02020C2C +_02034516: + ldrb r0, [r4, #0x1] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203451C +sub_0203451C: ; 0x0203451C + push {r3-r7, lr} + add r7, r0, #0x0 + ldrb r0, [r7, #0x1] + add r5, r1, #0x0 + add r4, r2, #0x0 + ldrb r6, [r7, #0x0] + str r0, [sp, #0x0] + cmp r5, #0x0 + blt _02034532 + cmp r5, r6 + blt _02034536 +_02034532: + bl sub_02020C2C +_02034536: + cmp r4, #0x0 + blt _02034540 + ldr r0, [sp, #0x0] + cmp r4, r0 + blt _02034544 +_02034540: + bl sub_02020C2C +_02034544: + add r0, r4, #0x0 + mul r0, r6 + add r0, r5, r0 + lsl r0, r0, #0x1 + add r0, r7, r0 + ldrh r0, [r0, #0x6] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02034554 +sub_02034554: ; 0x02034554 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldrb r1, [r5, #0x0] + ldrb r0, [r5, #0x1] + mul r0, r1 + cmp r4, #0x0 + blt _02034568 + cmp r4, r0 + blt _0203456C +_02034568: + bl sub_02020C2C +_0203456C: + lsl r0, r4, #0x1 + add r0, r5, r0 + ldrh r0, [r0, #0x6] + pop {r3-r5, pc} + + thumb_func_start sub_02034574 +sub_02034574: ; 0x02034574 + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02034578 +sub_02034578: ; 0x02034578 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [sp, #0x10] + add r4, r2, #0x0 + add r6, r3, #0x0 + cmp r4, r0 + blt _0203458A + bl sub_02020C2C +_0203458A: + ldr r0, [sp, #0x10] + mul r0, r6 + add r4, r4, r0 + mov r0, #0xe1 + lsl r0, r0, #0x2 + cmp r4, r0 + blt _0203459C + bl sub_02020C2C +_0203459C: + ldr r0, _020345A4 ; =0x0000070E + add r1, r5, r4 + ldrb r0, [r1, r0] + pop {r4-r6, pc} + .balign 4 +_020345A4: .word 0x0000070E + + thumb_func_start sub_020345A8 +sub_020345A8: ; 0x020345A8 + push {r3-r5, lr} + ldr r1, _020345D8 ; =0x00000708 + add r4, r0, #0x0 + bl sub_02016998 + add r5, r0, #0x0 + mov r0, #0x29 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02006528 + add r4, r0, #0x0 + ldrb r1, [r4, #0x4] + add r0, r4, #0x5 + ldr r2, _020345D8 ; =0x00000708 + add r0, r0, r1 + add r1, r5, #0x0 + blx sub_020CE3E0 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 +_020345D8: .word 0x00000708 + + thumb_func_start sub_020345DC +sub_020345DC: ; 0x020345DC + push {r4, lr} + add r4, r0, #0x0 + bne _020345E6 + bl sub_02020C2C +_020345E6: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020345F0 +sub_020345F0: ; 0x020345F0 + mov r3, #0x1e + mul r3, r2 + add r1, r1, r3 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + bx lr + + thumb_func_start sub_020345FC +sub_020345FC: ; 0x020345FC + push {r3-r5, lr} + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1fc + sub sp, #0x1c8 + add r3, r0, #0x0 + add r5, r1, #0x0 + lsl r1, r3, #0x10 + add r4, r2, #0x0 + add r0, sp, #0x0 + lsr r1, r1, #0x10 + mov r2, #0x0 + bl sub_020343A8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + cmp r5, r0 + blt _0203462E + bl sub_02020C2C +_0203462E: + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r4, r0 + blt _0203463A + bl sub_02020C2C +_0203463A: + add r0, sp, #0x0 + ldrb r0, [r0, #0x1] + mul r0, r4 + add r0, r5, r0 + lsl r1, r0, #0x1 + add r0, sp, #0x0 + add r0, #0x2 + ldrh r0, [r0, r1] + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1fc + add sp, #0x1c8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02034660 +sub_02034660: ; 0x02034660 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bne _0203466C + bl sub_02020C2C +_0203466C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020344D8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02034678 +sub_02034678: ; 0x02034678 + push {r4-r7} + ldr r1, _020346C4 ; =0x00000A92 + ldrb r7, [r0, #0x0] + add r2, r0, r1 + ldr r1, _020346C8 ; =0x0000070E + add r1, r0, r1 + ldrb r0, [r0, #0x2] + cmp r0, #0x0 + bne _020346BE + mov r0, #0x15 + add r6, r7, #0x0 + mul r6, r0 + add r5, r6, #0x0 + add r5, #0x17 + mov r4, #0xb0 + lsl r0, r5, #0x1 + add r6, #0x18 + strh r4, [r2, r0] + lsl r0, r6, #0x1 + strh r4, [r2, r0] + mov r0, #0x16 + add r3, r7, #0x0 + mul r3, r0 + add r0, r3, #0x0 + add r0, #0x17 + lsl r7, r0, #0x1 + add r3, #0x18 + strh r4, [r2, r7] + lsl r7, r3, #0x1 + strh r4, [r2, r7] + mov r2, #0x2 + strb r2, [r1, r5] + strb r2, [r1, r6] + strb r2, [r1, r0] + strb r2, [r1, r3] +_020346BE: + pop {r4-r7} + bx lr + nop +_020346C4: .word 0x00000A92 +_020346C8: .word 0x0000070E + + thumb_func_start sub_020346CC +sub_020346CC: ; 0x020346CC + push {r3-r4} + ldr r1, _0203470C ; =0x00000A92 + add r2, r0, r1 + ldrb r1, [r0, #0x0] + ldrb r0, [r0, #0x2] + cmp r0, #0x0 + bne _02034706 + mov r0, #0xf + mul r0, r1 + add r0, #0x1c + mov r3, #0x77 + lsl r0, r0, #0x1 + strh r3, [r2, r0] + lsl r0, r1, #0x4 + add r3, r0, #0x0 + add r3, #0x1b + mov r4, #0x78 + lsl r3, r3, #0x1 + strh r4, [r2, r3] + add r3, r0, #0x0 + add r3, #0x1c + add r0, r1, r0 + add r0, #0x1b + mov r4, #0x79 + lsl r3, r3, #0x1 + strh r4, [r2, r3] + mov r3, #0x7a + lsl r0, r0, #0x1 + strh r3, [r2, r0] +_02034706: + pop {r3-r4} + bx lr + nop +_0203470C: .word 0x00000A92 + + thumb_func_start sub_02034710 +sub_02034710: ; 0x02034710 + push {r3, lr} + ldr r1, _02034720 ; =0x0000022F + cmp r0, r1 + blo _0203471E + bl sub_02020C2C + mov r0, #0x3 +_0203471E: + pop {r3, pc} + .balign 4 +_02034720: .word 0x0000022F + + thumb_func_start sub_02034724 +sub_02034724: ; 0x02034724 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034734 ; =0x020EEDBC + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034734: .word 0x020EEDBC + + thumb_func_start sub_02034738 +sub_02034738: ; 0x02034738 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034748 ; =0x020EEDBD + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034748: .word 0x020EEDBD + + thumb_func_start sub_0203474C +sub_0203474C: ; 0x0203474C + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203476C ; =0x020EEDBE + ldrh r0, [r0, r1] + cmp r0, #0x16 + bne _02034768 + ldr r1, _02034770 ; =0x020ECAC0 + ldrb r1, [r1, #0x0] + cmp r1, #0xb + bne _02034768 + mov r0, #0x17 +_02034768: + pop {r3, pc} + nop +_0203476C: .word 0x020EEDBE +_02034770: .word 0x020ECAC0 + + thumb_func_start sub_02034774 +sub_02034774: ; 0x02034774 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034784 ; =0x020EEDC4 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034784: .word 0x020EEDC4 + + thumb_func_start sub_02034788 +sub_02034788: ; 0x02034788 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034798 ; =0x020EEDC0 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034798: .word 0x020EEDC0 + + thumb_func_start sub_0203479C +sub_0203479C: ; 0x0203479C + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020347AC ; =0x020EEDC2 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_020347AC: .word 0x020EEDC2 + + thumb_func_start sub_020347B0 +sub_020347B0: ; 0x020347B0 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020347C0 ; =0x020EEDC6 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_020347C0: .word 0x020EEDC6 + + thumb_func_start sub_020347C4 +sub_020347C4: ; 0x020347C4 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020347D4 ; =0x020EEDC8 + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_020347D4: .word 0x020EEDC8 + + thumb_func_start sub_020347D8 +sub_020347D8: ; 0x020347D8 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020347F4 ; =0x020EEDCA + ldrh r1, [r0, r1] + ldr r0, _020347F8 ; =0x0000FFFF + cmp r1, r0 + beq _020347F0 + mov r0, #0x1 + pop {r3, pc} +_020347F0: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_020347F4: .word 0x020EEDCA +_020347F8: .word 0x0000FFFF + + thumb_func_start sub_020347FC +sub_020347FC: ; 0x020347FC + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203480C ; =0x020EEDCA + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_0203480C: .word 0x020EEDCA + + thumb_func_start sub_02034810 +sub_02034810: ; 0x02034810 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034820 ; =0x020EEDCC + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034820: .word 0x020EEDCC + + thumb_func_start sub_02034824 +sub_02034824: ; 0x02034824 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034834 ; =0x020EEDCE + ldrh r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034834: .word 0x020EEDCE + + thumb_func_start sub_02034838 +sub_02034838: ; 0x02034838 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034848 ; =0x020EEDD0 + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4 +_02034848: .word 0x020EEDD0 + + thumb_func_start sub_0203484C +sub_0203484C: ; 0x0203484C + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _0203485C ; =0x020EEDD1 + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4 +_0203485C: .word 0x020EEDD1 + + thumb_func_start sub_02034860 +sub_02034860: ; 0x02034860 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034878 ; =0x020EEDBC + add r0, r0, r1 + ldrb r0, [r0, #0x17] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + pop {r3, pc} + nop +_02034878: .word 0x020EEDBC + + thumb_func_start sub_0203487C +sub_0203487C: ; 0x0203487C + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _02034894 ; =0x020EEDBC + add r0, r0, r1 + ldrb r0, [r0, #0x17] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_02034894: .word 0x020EEDBC + + thumb_func_start sub_02034898 +sub_02034898: ; 0x02034898 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020348B0 ; =0x020EEDBC + add r0, r0, r1 + ldrb r0, [r0, #0x17] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_020348B0: .word 0x020EEDBC + + thumb_func_start sub_020348B4 +sub_020348B4: ; 0x020348B4 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020348CC ; =0x020EEDBC + add r0, r0, r1 + ldrb r0, [r0, #0x17] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + pop {r3, pc} + nop +_020348CC: .word 0x020EEDBC + + thumb_func_start sub_020348D0 +sub_020348D0: ; 0x020348D0 + push {r3, lr} + bl sub_02034710 + mov r1, #0x18 + mul r1, r0 + ldr r0, _020348E0 ; =0x020EEDD2 + ldrb r0, [r0, r1] + pop {r3, pc} + .balign 4 +_020348E0: .word 0x020EEDD2 + + thumb_func_start sub_020348E4 +sub_020348E4: ; 0x020348E4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02034898 + cmp r0, #0x0 + bne _020348F4 + mov r0, #0x0 + pop {r4, pc} +_020348F4: + add r0, r4, #0x0 + bl sub_020348D0 + cmp r0, #0x1 + beq _02034902 + mov r0, #0x1 + pop {r4, pc} +_02034902: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034908 +sub_02034908: ; 0x02034908 + push {r3, lr} + bl sub_0203474C + cmp r0, #0x0 + bne _02034916 + mov r0, #0x1 + pop {r3, pc} +_02034916: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203491C +sub_0203491C: ; 0x0203491C + push {r3, lr} + bl sub_020348D0 + cmp r0, #0x5 + bne _0203492A + mov r0, #0x1 + pop {r3, pc} +_0203492A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02034930 +sub_02034930: ; 0x02034930 + push {r3, lr} + bl sub_020348D0 + cmp r0, #0x3 + bne _0203493E + mov r0, #0x1 + pop {r3, pc} +_0203493E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02034944 +sub_02034944: ; 0x02034944 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020348D0 + cmp r0, #0x4 + beq _0203495A + add r0, r4, #0x0 + bl sub_020348D0 + cmp r0, #0x5 + bne _0203495E +_0203495A: + mov r0, #0x1 + pop {r4, pc} +_0203495E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034964 +sub_02034964: ; 0x02034964 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020348D0 + cmp r0, #0x1 + beq _0203497A + add r0, r4, #0x0 + bl sub_020348D0 + cmp r0, #0x2 + bne _0203497E +_0203497A: + mov r0, #0x1 + pop {r4, pc} +_0203497E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034984 +sub_02034984: ; 0x02034984 + push {r3, lr} + bl sub_0203491C + cmp r0, #0x0 + beq _02034992 + mov r0, #0x1 + pop {r3, pc} +_02034992: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02034998 +sub_02034998: ; 0x02034998 + ldr r1, _020349A8 ; =0x000001D2 + cmp r0, r1 + bne _020349A2 + mov r0, #0x1 + bx lr +_020349A2: + mov r0, #0x0 + bx lr + nop +_020349A8: .word 0x000001D2 + + thumb_func_start sub_020349AC +sub_020349AC: ; 0x020349AC + cmp r0, #0xdb + bne _020349B4 + mov r0, #0x1 + bx lr +_020349B4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020349B8 +sub_020349B8: ; 0x020349B8 + ldr r1, _020349C8 ; =0x0000011F + cmp r0, r1 + bne _020349C2 + mov r0, #0x1 + bx lr +_020349C2: + mov r0, #0x0 + bx lr + nop +_020349C8: .word 0x0000011F + + thumb_func_start sub_020349CC +sub_020349CC: ; 0x020349CC + cmp r0, #0xfd + bne _020349D4 + mov r0, #0x1 + bx lr +_020349D4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020349D8 +sub_020349D8: ; 0x020349D8 + cmp r0, #0xdc + bne _020349E0 + mov r0, #0x1 + bx lr +_020349E0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020349E4 +sub_020349E4: ; 0x020349E4 + ldr r3, _02034A00 ; =0x020EED54 + mov r2, #0x0 +_020349E8: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _020349F2 + mov r0, #0x1 + bx lr +_020349F2: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0x12 + blo _020349E8 + mov r0, #0x0 + bx lr + nop +_02034A00: .word 0x020EED54 + + thumb_func_start sub_02034A04 +sub_02034A04: ; 0x02034A04 + ldr r3, _02034A24 ; =0x020EED78 + mov r2, #0x0 +_02034A08: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _02034A18 + add r0, r2, #0x1 + lsl r1, r0, #0x1 + ldr r0, _02034A24 ; =0x020EED78 + ldrh r0, [r0, r1] + bx lr +_02034A18: + add r2, r2, #0x2 + add r3, r3, #0x4 + cmp r2, #0x22 + blo _02034A08 + mov r0, #0x0 + bx lr + .balign 4 +_02034A24: .word 0x020EED78 + + thumb_func_start sub_02034A28 +sub_02034A28: ; 0x02034A28 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x14] + add r4, r1, #0x0 + cmp r0, #0x0 + beq _02034A38 + bl sub_02020C2C +_02034A38: + ldr r1, _02034A44 ; =0x00000AC8 + add r0, r4, #0x0 + bl sub_02016998 + str r0, [r5, #0x14] + pop {r3-r5, pc} + .balign 4 +_02034A44: .word 0x00000AC8 + + thumb_func_start sub_02034A48 +sub_02034A48: ; 0x02034A48 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _02034A56 + bl sub_02020C2C +_02034A56: + ldr r0, [r4, #0x14] + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034A60 +sub_02034A60: ; 0x02034A60 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x14] + add r4, r1, #0x0 + cmp r0, #0x0 + bne _02034A70 + bl sub_02020C2C +_02034A70: + ldr r0, [r5, #0x14] + add r1, r4, #0x0 + bl sub_02034A98 + ldr r0, [r5, #0x14] + bl sub_02034C50 + mov r0, #0x92 + ldr r1, [r5, #0x14] + lsl r0, r0, #0x4 + add r0, r1, r0 + add r1, r4, #0x0 + bl sub_02034CB4 + ldr r0, [r5, #0x14] + add r1, r4, #0x0 + bl sub_02034CEC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02034A98 +sub_02034A98: ; 0x02034A98 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02034810 + add r4, r0, #0x0 + mov r0, #0x20 + add r1, r4, #0x0 + bl sub_020065A4 + mov r1, #0x2 + lsl r1, r1, #0xa + cmp r0, r1 + blo _02034AB8 + bl sub_02020C2C +_02034AB8: + add r5, #0x20 + add r0, r5, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_020064F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02034AC8 +sub_02034AC8: ; 0x02034AC8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x14] + ldr r4, [r0, #0x4] + cmp r0, #0x0 + bne _02034AD8 + bl sub_02020C2C +_02034AD8: + cmp r4, #0x0 + beq _02034AEC + ldr r1, [r5, #0x1c] + ldr r3, [r5, #0x14] + ldr r0, [r5, #0x34] + ldr r1, [r1, #0x0] + ldr r3, [r3, #0x14] + add r2, r4, #0x0 + bl sub_02057BAC +_02034AEC: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02034AF0 +sub_02034AF0: ; 0x02034AF0 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x10] + bx lr + .balign 4 + + thumb_func_start sub_02034AF8 +sub_02034AF8: ; 0x02034AF8 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034B00 +sub_02034B00: ; 0x02034B00 + ldr r2, [r0, #0x14] + ldr r0, [r2, #0x8] + cmp r1, r0 + blo _02034B0C + mov r0, #0x0 + bx lr +_02034B0C: + mov r0, #0xc + ldr r2, [r2, #0x18] + mul r0, r1 + add r0, r2, r0 + bx lr + .balign 4 + + thumb_func_start sub_02034B18 +sub_02034B18: ; 0x02034B18 + push {r4-r7} + ldr r5, [r0, #0x14] + mov r3, #0x0 + ldr r0, [r5, #0x8] + cmp r0, #0x0 + bls _02034B4A + ldr r6, [r5, #0x18] + add r4, r3, #0x0 + add r0, r6, #0x0 +_02034B2A: + ldrh r7, [r0, #0x0] + cmp r1, r7 + bne _02034B3E + add r7, r6, r4 + ldrh r7, [r7, #0x2] + cmp r2, r7 + bne _02034B3E + add r0, r3, #0x0 + pop {r4-r7} + bx lr +_02034B3E: + ldr r7, [r5, #0x8] + add r3, r3, #0x1 + add r0, #0xc + add r4, #0xc + cmp r3, r7 + blo _02034B2A +_02034B4A: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02034B54 +sub_02034B54: ; 0x02034B54 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_02034B5C +sub_02034B5C: ; 0x02034B5C + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x1c] + bx lr + .balign 4 + + thumb_func_start sub_02034B64 +sub_02034B64: ; 0x02034B64 + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_02034B6C +sub_02034B6C: ; 0x02034B6C + ldr r0, [r0, #0x14] + ldr r0, [r0, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_02034B74 +sub_02034B74: ; 0x02034B74 + push {r3-r7, lr} + ldr r0, [r0, #0x14] + add r4, r1, #0x0 + ldr r5, [r0, #0x4] + add r7, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0x0 + ldr r3, [r0, #0x14] + cmp r5, #0x0 + bls _02034BA4 + add r6, r3, #0x0 +_02034B8A: + ldrh r0, [r6, #0x0] + cmp r4, r0 + bne _02034B9C + lsl r0, r2, #0x5 + add r0, r3, r0 + strh r7, [r0, #0x18] + strh r1, [r0, #0x1a] + mov r0, #0x1 + pop {r3-r7, pc} +_02034B9C: + add r2, r2, #0x1 + add r6, #0x20 + cmp r2, r5 + blo _02034B8A +_02034BA4: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02034BAC +sub_02034BAC: ; 0x02034BAC + push {r4-r6, lr} + ldr r0, [r0, #0x14] + mov r3, #0x0 + ldr r5, [r0, #0x4] + ldr r4, [r0, #0x14] + cmp r5, #0x0 + bls _02034BD4 + add r6, r4, #0x0 +_02034BBC: + ldrh r0, [r6, #0x0] + cmp r1, r0 + bne _02034BCC + lsl r0, r3, #0x5 + add r0, r4, r0 + strh r2, [r0, #0xc] + mov r0, #0x1 + pop {r4-r6, pc} +_02034BCC: + add r3, r3, #0x1 + add r6, #0x20 + cmp r3, r5 + blo _02034BBC +_02034BD4: + bl sub_02020C2C + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02034BDC +sub_02034BDC: ; 0x02034BDC + push {r4-r6, lr} + ldr r0, [r0, #0x14] + mov r3, #0x0 + ldr r5, [r0, #0x4] + ldr r4, [r0, #0x14] + cmp r5, #0x0 + bls _02034C04 + add r6, r4, #0x0 +_02034BEC: + ldrh r0, [r6, #0x0] + cmp r1, r0 + bne _02034BFC + lsl r0, r3, #0x5 + add r0, r4, r0 + strh r2, [r0, #0x4] + mov r0, #0x1 + pop {r4-r6, pc} +_02034BFC: + add r3, r3, #0x1 + add r6, #0x20 + cmp r3, r5 + blo _02034BEC +_02034C04: + bl sub_02020C2C + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02034C0C +sub_02034C0C: ; 0x02034C0C + push {r3-r4} + ldr r0, [r0, #0x14] + ldr r4, [r0, #0x18] + mov r0, #0xc + mul r0, r1 + strh r2, [r4, r0] + add r0, r4, r0 + strh r3, [r0, #0x2] + mov r0, #0x1 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02034C24 +sub_02034C24: ; 0x02034C24 + ldr r0, [r0, #0x14] + ldr r3, [r0, #0x18] + mov r0, #0xc + mul r0, r1 + add r0, r3, r0 + strh r2, [r0, #0x4] + mov r0, #0x1 + bx lr + + thumb_func_start sub_02034C34 +sub_02034C34: ; 0x02034C34 + push {r4-r6, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02034AF0 + mov r1, #0x14 + mul r1, r5 + add r0, r0, r1 + str r4, [r0, #0x4] + str r6, [r0, #0x8] + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02034C50 +sub_02034C50: ; 0x02034C50 + add r1, r0, #0x0 + ldr r2, [r0, #0x20] + add r1, #0x20 + add r1, r1, #0x4 + str r2, [r0, #0x0] + cmp r2, #0x0 + beq _02034C62 + str r1, [r0, #0x10] + b _02034C66 +_02034C62: + mov r2, #0x0 + str r2, [r0, #0x10] +_02034C66: + ldr r3, [r0, #0x0] + mov r2, #0x14 + mul r2, r3 + add r3, r1, r2 + ldr r2, [r1, r2] + add r1, r3, #0x4 + str r2, [r0, #0x4] + cmp r2, #0x0 + beq _02034C7C + str r1, [r0, #0x14] + b _02034C80 +_02034C7C: + mov r2, #0x0 + str r2, [r0, #0x14] +_02034C80: + ldr r2, [r0, #0x4] + lsl r2, r2, #0x5 + add r3, r1, r2 + ldr r2, [r1, r2] + add r1, r3, #0x4 + str r2, [r0, #0x8] + cmp r2, #0x0 + beq _02034C94 + str r1, [r0, #0x18] + b _02034C98 +_02034C94: + mov r2, #0x0 + str r2, [r0, #0x18] +_02034C98: + ldr r3, [r0, #0x8] + mov r2, #0xc + mul r2, r3 + add r3, r1, r2 + ldr r1, [r1, r2] + str r1, [r0, #0xc] + cmp r1, #0x0 + beq _02034CAE + add r1, r3, #0x4 + str r1, [r0, #0x1c] + bx lr +_02034CAE: + mov r1, #0x0 + str r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_02034CB4 +sub_02034CB4: ; 0x02034CB4 + push {r3-r5, lr} + mov r2, #0x6a + add r4, r1, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + add r5, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + bl sub_020347D8 + cmp r0, #0x0 + beq _02034CDE + add r0, r4, #0x0 + bl sub_020347FC + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x25 + bl sub_020064F0 +_02034CDE: + pop {r3-r5, pc} + + thumb_func_start sub_02034CE0 +sub_02034CE0: ; 0x02034CE0 + ldr r1, [r0, #0x14] + mov r0, #0x92 + lsl r0, r0, #0x4 + add r0, r1, r0 + bx lr + .balign 4 + + thumb_func_start sub_02034CEC +sub_02034CEC: ; 0x02034CEC + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_0203479C + mov r1, #0x82 + lsl r1, r1, #0x4 + mov r2, #0x1 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r5, r1 + lsl r2, r2, #0x8 + blx sub_020CE240 + mov r0, #0xa + add r1, r4, #0x0 + bl sub_020065A4 + mov r1, #0x1 + lsl r1, r1, #0x8 + cmp r0, r1 + blo _02034D1C + bl sub_02020C2C +_02034D1C: + mov r0, #0x82 + lsl r0, r0, #0x4 + add r0, r5, r0 + mov r1, #0xa + add r2, r4, #0x0 + bl sub_020064F0 + pop {r3-r5, pc} + + thumb_func_start sub_02034D2C +sub_02034D2C: ; 0x02034D2C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _02034D3A + bl sub_02020C2C +_02034D3A: + mov r0, #0x82 + ldr r1, [r4, #0x14] + lsl r0, r0, #0x4 + add r0, r1, r0 + pop {r4, pc} + + thumb_func_start sub_02034D44 +sub_02034D44: ; 0x02034D44 + push {r4-r7} + ldr r0, [r0, #0x14] + mov r3, #0x0 + ldr r4, [r0, #0x4] + cmp r4, #0x0 + bls _02034D76 + ldr r6, [r0, #0x14] + add r5, r3, #0x0 + add r4, r6, #0x0 +_02034D56: + ldrh r7, [r4, #0x18] + cmp r1, r7 + bne _02034D6A + add r7, r6, r5 + ldrh r7, [r7, #0x1a] + cmp r2, r7 + bne _02034D6A + mov r0, #0x0 + pop {r4-r7} + bx lr +_02034D6A: + ldr r7, [r0, #0x4] + add r3, r3, #0x1 + add r4, #0x20 + add r5, #0x20 + cmp r3, r7 + blo _02034D56 +_02034D76: + mov r0, #0x1 + pop {r4-r7} + bx lr + + thumb_func_start sub_02034D7C +sub_02034D7C: ; 0x02034D7C + mov r0, #0xa0 + bx lr + + thumb_func_start sub_02034D80 +sub_02034D80: ; 0x02034D80 + mov r0, #0x5 + lsl r0, r0, #0xa + bx lr + .balign 4 + + thumb_func_start sub_02034D88 +sub_02034D88: ; 0x02034D88 + ldr r3, _02034D94 ; =sub_020CE1FC + mov r2, #0x5 + add r1, r0, #0x0 + mov r0, #0x0 + lsl r2, r2, #0xa + bx r3 + .balign 4 +_02034D94: .word sub_020CE1FC + + thumb_func_start sub_02034D98 +sub_02034D98: ; 0x02034D98 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0xa0 + blx sub_020DF4A4 + add r0, r4, #0x0 + add r0, #0x6c + bl sub_0204ADE0 + add r0, r4, #0x0 + add r0, #0x8c + bl sub_02055468 + bl sub_02034E8C + add r4, #0x68 + strh r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034DC0 +sub_02034DC0: ; 0x02034DC0 + bx lr + .balign 4 + + thumb_func_start sub_02034DC4 +sub_02034DC4: ; 0x02034DC4 + add r0, #0x14 + bx lr + + thumb_func_start sub_02034DC8 +sub_02034DC8: ; 0x02034DC8 + add r0, #0x28 + bx lr + + thumb_func_start sub_02034DCC +sub_02034DCC: ; 0x02034DCC + add r0, #0x50 + bx lr + + thumb_func_start sub_02034DD0 +sub_02034DD0: ; 0x02034DD0 + add r0, #0x3c + bx lr + + thumb_func_start sub_02034DD4 +sub_02034DD4: ; 0x02034DD4 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x3c + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02034DE8 +sub_02034DE8: ; 0x02034DE8 + add r0, #0x64 + bx lr + + thumb_func_start sub_02034DEC +sub_02034DEC: ; 0x02034DEC + add r0, #0x66 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034DF4 +sub_02034DF4: ; 0x02034DF4 + add r0, #0x66 + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034DFC +sub_02034DFC: ; 0x02034DFC + add r0, #0x68 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034E04 +sub_02034E04: ; 0x02034E04 + add r0, #0x68 + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034E0C +sub_02034E0C: ; 0x02034E0C + add r0, #0x6c + bx lr + + thumb_func_start sub_02034E10 +sub_02034E10: ; 0x02034E10 + add r0, #0x6a + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034E18 +sub_02034E18: ; 0x02034E18 + add r0, #0x6a + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02034E20 +sub_02034E20: ; 0x02034E20 + add r0, #0x8c + bx lr + + thumb_func_start sub_02034E24 +sub_02034E24: ; 0x02034E24 + add r0, #0x98 + bx lr + + thumb_func_start sub_02034E28 +sub_02034E28: ; 0x02034E28 + add r0, #0x96 + bx lr + + thumb_func_start sub_02034E2C +sub_02034E2C: ; 0x02034E2C + add r0, #0x94 + bx lr + + thumb_func_start sub_02034E30 +sub_02034E30: ; 0x02034E30 + ldr r3, _02034E38 ; =sub_02022610 + mov r1, #0x6 + bx r3 + nop +_02034E38: .word sub_02022610 + 1 + + thumb_func_start sub_02034E3C +sub_02034E3C: ; 0x02034E3C + ldr r3, _02034E44 ; =sub_02022610 + mov r1, #0xb + bx r3 + nop +_02034E44: .word sub_02022610 + 1 + + thumb_func_start sub_02034E48 +sub_02034E48: ; 0x02034E48 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02034E3C + add r2, r0, #0x0 + ldr r1, [r4, #0x34] + add r0, r4, #0x0 + mov r3, #0x40 + bl sub_02057800 + pop {r4, pc} + + thumb_func_start sub_02034E60 +sub_02034E60: ; 0x02034E60 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02034E3C + add r1, r0, #0x0 + ldr r0, [r4, #0x34] + mov r2, #0x40 + bl sub_0205785C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02034E78 +sub_02034E78: ; 0x02034E78 + push {r3, lr} + cmp r0, #0x0 + ble _02034E82 + cmp r0, #0x14 + bls _02034E88 +_02034E82: + bl sub_02020C2C + mov r0, #0x1 +_02034E88: + sub r0, r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_02034E8C +sub_02034E8C: ; 0x02034E8C + mov r0, #0x1 + bx lr + + thumb_func_start sub_02034E90 +sub_02034E90: ; 0x02034E90 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02034E78 + lsl r1, r0, #0x4 + ldr r0, _02034EB8 ; =0x020F222A + ldrh r0, [r0, r1] + str r0, [r4, #0x0] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x4] + ldr r0, _02034EBC ; =0x020F222C + ldrh r0, [r0, r1] + str r0, [r4, #0x8] + ldr r0, _02034EC0 ; =0x020F222E + ldrh r0, [r0, r1] + str r0, [r4, #0xc] + mov r0, #0x1 + str r0, [r4, #0x10] + pop {r4, pc} + .balign 4 +_02034EB8: .word 0x020F222A +_02034EBC: .word 0x020F222C +_02034EC0: .word 0x020F222E + + thumb_func_start sub_02034EC4 +sub_02034EC4: ; 0x02034EC4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02034E78 + lsl r1, r0, #0x4 + ldr r0, _02034EEC ; =0x020F2224 + ldrh r0, [r0, r1] + str r0, [r4, #0x0] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x4] + ldr r0, _02034EF0 ; =0x020F2226 + ldrh r0, [r0, r1] + str r0, [r4, #0x8] + ldr r0, _02034EF4 ; =0x020F2228 + ldrh r0, [r0, r1] + str r0, [r4, #0xc] + mov r0, #0x0 + str r0, [r4, #0x10] + pop {r4, pc} + .balign 4 +_02034EEC: .word 0x020F2224 +_02034EF0: .word 0x020F2226 +_02034EF4: .word 0x020F2228 + + thumb_func_start sub_02034EF8 +sub_02034EF8: ; 0x02034EF8 + ldr r3, _02034F18 ; =0x020F2224 + mov r2, #0x0 +_02034EFC: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _02034F0C + ldrb r1, [r3, #0xc] + cmp r1, #0x0 + beq _02034F0C + add r0, r2, #0x1 + bx lr +_02034F0C: + add r2, r2, #0x1 + add r3, #0x10 + cmp r2, #0x14 + blo _02034EFC + mov r0, #0x0 + bx lr + .balign 4 +_02034F18: .word 0x020F2224 + + thumb_func_start sub_02034F1C +sub_02034F1C: ; 0x02034F1C + ldr r3, _02034F3C ; =0x020F2224 + mov r2, #0x0 +_02034F20: + ldrh r1, [r3, #0x6] + cmp r0, r1 + bne _02034F30 + ldrb r1, [r3, #0xc] + cmp r1, #0x0 + beq _02034F30 + add r0, r2, #0x1 + bx lr +_02034F30: + add r2, r2, #0x1 + add r3, #0x10 + cmp r2, #0x14 + blo _02034F20 + mov r0, #0x0 + bx lr + .balign 4 +_02034F3C: .word 0x020F2224 + + thumb_func_start sub_02034F40 +sub_02034F40: ; 0x02034F40 + push {r3-r6} + asr r3, r1, #0x4 + lsr r3, r3, #0x1b + add r3, r1, r3 + asr r1, r2, #0x4 + lsr r1, r1, #0x1b + add r1, r2, r1 + mov r4, #0x0 + asr r2, r1, #0x5 + ldr r5, _02034F84 ; =0x020F2224 + asr r3, r3, #0x5 + add r1, r4, #0x0 +_02034F58: + ldrh r6, [r5, #0x6] + cmp r0, r6 + bne _02034F76 + ldrh r6, [r5, #0x8] + add r4, r1, #0x1 + lsr r6, r6, #0x5 + cmp r3, r6 + bne _02034F76 + ldrh r6, [r5, #0xa] + lsr r6, r6, #0x5 + cmp r2, r6 + bne _02034F76 + add r0, r4, #0x0 + pop {r3-r6} + bx lr +_02034F76: + add r1, r1, #0x1 + add r5, #0x10 + cmp r1, #0x14 + blo _02034F58 + add r0, r4, #0x0 + pop {r3-r6} + bx lr + .balign 4 +_02034F84: .word 0x020F2224 + + thumb_func_start sub_02034F88 +sub_02034F88: ; 0x02034F88 + push {r4, lr} + ldr r3, _02034FB8 ; =0x020F2224 + mov r4, #0x0 +_02034F8E: + ldrh r2, [r3, #0x6] + cmp r1, r2 + bne _02034FAE + ldrb r2, [r3, #0xd] + cmp r2, #0x0 + beq _02034FAE + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r2, _02034FBC ; =0x020F2232 + lsl r3, r4, #0x4 + ldrh r2, [r2, r3] + mov r1, #0x1 + bl sub_0205F2E4 + pop {r4, pc} +_02034FAE: + add r4, r4, #0x1 + add r3, #0x10 + cmp r4, #0x14 + blo _02034F8E + pop {r4, pc} + .balign 4 +_02034FB8: .word 0x020F2224 +_02034FBC: .word 0x020F2232 + + thumb_func_start sub_02034FC0 +sub_02034FC0: ; 0x02034FC0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02034E78 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + ldr r2, _02034FE0 ; =0x020F2232 + lsl r3, r4, #0x4 + ldrh r2, [r2, r3] + mov r1, #0x2 + bl sub_0205F2E4 + pop {r3-r5, pc} + .balign 4 +_02034FE0: .word 0x020F2232 + + thumb_func_start sub_02034FE4 +sub_02034FE4: ; 0x02034FE4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, r1, #0x0 + bl sub_02034838 + add r4, r0, #0x0 + cmp r4, #0x18 + blt _0203505C + ldr r0, [r7, #0xc] + bl sub_02023794 + add r6, r0, #0x0 + add r0, r6, #0x4 + bl sub_02012710 + sub r5, r0, #0x1 + bmi _0203500C + ldr r0, _02035060 ; =0x0000016E + cmp r5, r0 + blt _02035010 +_0203500C: + bl sub_02020C2C +_02035010: + ldr r0, [r6, #0x8] + cmp r0, #0x2 + bls _02035044 + ldr r6, [r6, #0x4] + mov r0, #0x3 + tst r0, r6 + bne _0203502A + add r0, r6, #0x0 + mov r1, #0x64 + blx sub_020EBE8C + cmp r1, #0x0 + bne _02035038 +_0203502A: + mov r1, #0x19 + add r0, r6, #0x0 + lsl r1, r1, #0x4 + blx sub_020EBE8C + cmp r1, #0x0 + bne _0203503C +_02035038: + mov r0, #0x1 + b _0203503E +_0203503C: + mov r0, #0x0 +_0203503E: + cmp r0, #0x0 + bne _02035044 + add r5, r5, #0x1 +_02035044: + add r0, r7, #0x0 + bl sub_0204B33C + cmp r0, #0x0 + beq _02035050 + mov r5, #0x1 +_02035050: + lsl r0, r5, #0x2 + sub r4, #0x18 + add r0, r5, r0 + add r1, r4, r0 + ldr r0, _02035064 ; =0x020F2364 + ldrb r0, [r0, r1] +_0203505C: + pop {r3-r7, pc} + nop +_02035060: .word 0x0000016E +_02035064: .word 0x020F2364 + + thumb_func_start sub_02035068 +sub_02035068: ; 0x02035068 + push {r3, lr} + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + cmp r0, #0x0 + beq _0203507A + mov r0, #0x1 + pop {r3, pc} +_0203507A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02035080 +sub_02035080: ; 0x02035080 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02035254 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + bne _020350A6 + add r0, r5, #0x0 + bl sub_020352C4 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _020350E6 +_020350A6: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _020350C2 + add r0, r5, #0x0 + bl sub_020352C8 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _020350E6 +_020350C2: + add r0, r5, #0x0 + bl sub_02060144 + cmp r0, #0x1 + bne _020350DA + add r0, r5, #0x0 + bl sub_020352CC + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _020350E6 +_020350DA: + add r0, r5, #0x0 + bl sub_02035270 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] +_020350E6: + mov r0, #0x71 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + ldr r0, [r5, #0x38] + bl sub_02055B30 + cmp r0, #0x1 + bne _02035106 + ldr r0, [r5, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_02055B8C +_02035106: + ldr r1, _02035114 ; =sub_020352E4 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463CC + pop {r3-r5, pc} + nop +_02035114: .word sub_020352E4 + 1 + + thumb_func_start sub_02035118 +sub_02035118: ; 0x02035118 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02035254 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020352D4 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + mov r2, #0x1 + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [r5, #0x38] + bl sub_02055B30 + cmp r0, #0x1 + bne _0203514C + ldr r0, [r5, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_02055B8C +_0203514C: + ldr r1, _02035158 ; =sub_020352E4 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463CC + pop {r3-r5, pc} + .balign 4 +_02035158: .word sub_020352E4 + 1 + + thumb_func_start sub_0203515C +sub_0203515C: ; 0x0203515C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02035254 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020352DC + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + mov r2, #0x0 + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [r5, #0x38] + bl sub_02055B30 + cmp r0, #0x1 + bne _02035190 + ldr r0, [r5, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_02055B8C +_02035190: + ldr r1, _0203519C ; =sub_020352E4 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463CC + pop {r3-r5, pc} + .balign 4 +_0203519C: .word sub_020352E4 + 1 + + thumb_func_start sub_020351A0 +sub_020351A0: ; 0x020351A0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0203524C ; =0x000005FD + bl sub_020054C8 + bl sub_02035254 + add r4, r0, #0x0 + mov r0, #0x71 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + bne _020351D4 + add r0, r5, #0x0 + bl sub_020352C4 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _02035240 +_020351D4: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _020351F0 + add r0, r5, #0x0 + bl sub_020352C8 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _02035240 +_020351F0: + add r0, r5, #0x0 + bl sub_02060144 + cmp r0, #0x1 + bne _02035208 + add r0, r5, #0x0 + bl sub_020352CC + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _02035240 +_02035208: + ldr r0, [r5, #0x6c] + cmp r0, #0x3 + bne _0203521C + add r0, r5, #0x0 + bl sub_020352DC + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + b _02035240 +_0203521C: + cmp r0, #0x2 + bne _02035234 + add r0, r5, #0x0 + bl sub_020352D4 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] + mov r2, #0x1 + add r0, r1, #0x4 + str r2, [r4, r0] + b _02035240 +_02035234: + add r0, r5, #0x0 + bl sub_02035270 + mov r1, #0x7 + lsl r1, r1, #0x6 + str r0, [r4, r1] +_02035240: + ldr r0, [r5, #0x10] + ldr r1, _02035250 ; =sub_020352E4 + add r2, r4, #0x0 + bl sub_020463EC + pop {r3-r5, pc} + .balign 4 +_0203524C: .word 0x000005FD +_02035250: .word sub_020352E4 + 1 + + thumb_func_start sub_02035254 +sub_02035254: ; 0x02035254 + push {r3, lr} + mov r1, #0x2 + mov r0, #0xb + lsl r1, r1, #0x8 + bl sub_02016998 + mov r2, #0x0 + strh r2, [r0, #0x2a] + mov r1, #0x7e + strh r2, [r0, #0x28] + lsl r1, r1, #0x2 + str r2, [r0, r1] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02035270 +sub_02035270: ; 0x02035270 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r4, #0x0 + bl sub_02024DA0 + bl sub_02024D64 + cmp r0, #0x0 + bne _02035288 + mov r0, #0x1 + orr r4, r0 +_02035288: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F388 + cmp r0, #0x0 + bne _0203529A + mov r0, #0x2 + orr r4, r0 +_0203529A: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205ECE0 + cmp r0, #0x0 + bne _020352AC + mov r0, #0x4 + orr r4, r0 +_020352AC: + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl sub_020349CC + cmp r0, #0x1 + bne _020352BC + mov r0, #0x6 + orr r4, r0 +_020352BC: + mov r0, #0x6 + lsl r0, r0, #0x6 + orr r0, r4 + pop {r3-r5, pc} + + thumb_func_start sub_020352C4 +sub_020352C4: ; 0x020352C4 + mov r0, #0x90 + bx lr + + thumb_func_start sub_020352C8 +sub_020352C8: ; 0x020352C8 + mov r0, #0x94 + bx lr + + thumb_func_start sub_020352CC +sub_020352CC: ; 0x020352CC + ldr r0, _020352D0 ; =0x00000195 + bx lr + .balign 4 +_020352D0: .word 0x00000195 + + thumb_func_start sub_020352D4 +sub_020352D4: ; 0x020352D4 + mov r0, #0x11 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_020352DC +sub_020352DC: ; 0x020352DC + ldr r0, _020352E0 ; =0x00000191 + bx lr + .balign 4 +_020352E0: .word 0x00000191 + + thumb_func_start sub_020352E4 +sub_020352E4: ; 0x020352E4 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldrh r1, [r4, #0x2a] + cmp r1, #0xf + bhi _02035362 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r3, #0 + lsl r6, r1, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r6, r5, #0x1 + lsl r6, r6, #0x1 + lsl r6, r7, #0x1 + lsl r6, r0, #0x2 + lsl r6, r6, #0x2 + lsl r4, r1, #0x3 + lsl r4, r5, #0x3 + lsl r0, r1, #0x4 + lsl r6, r1, #0x2 + lsl r6, r6, #0x4 + lsl r6, r5, #0x5 + lsl r0, r5, #0x4 + ldr r0, [r5, #0x34] + bl sub_02058780 + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_0205CE80 + mov r1, #0x7a + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02063964 + add r0, r6, #0x0 + bl sub_0203549C + add r0, r6, #0x0 + bl sub_02035734 + mov r0, #0x1 + strh r0, [r4, #0x2a] + b _02035484 +_02035358: + .byte 0x30, 0x1C, 0x00, 0xF0, 0xC3, 0xFA, 0x00, 0x28 + .byte 0x00, 0xD0 +_02035362: + b _02035484 +_02035364: + .byte 0x00, 0x20, 0x70, 0xBD, 0x30, 0x1C, 0x00, 0xF0, 0x99, 0xFC, 0x89, 0xE0 + .byte 0x30, 0x1C, 0x00, 0xF0, 0xB3, 0xFC, 0x85, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x39, 0xF9, 0x81, 0xE0 + .byte 0x30, 0x1C, 0x01, 0xF0, 0x5F, 0xF9, 0x7D, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x3D, 0xFD, 0x79, 0xE0 + .byte 0x30, 0x1C, 0x01, 0xF0, 0xC3, 0xFD, 0x75, 0xE0, 0x28, 0x1C, 0x11, 0xF0, 0x83, 0xF8, 0x00, 0x28 + .byte 0x70, 0xD0, 0x68, 0x6B, 0x23, 0xF0, 0xEC, 0xF9, 0x30, 0x1C, 0x00, 0xF0, 0x77, 0xF8, 0x30, 0x1C + .byte 0x00, 0xF0, 0xC0, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x75, 0xFC, 0x0E, 0x20, 0x60, 0x85, 0x61, 0xE0 + .byte 0x28, 0x1C, 0x11, 0xF0, 0x6F, 0xF8, 0x00, 0x28, 0x5C, 0xD0, 0x01, 0x20, 0xA2, 0xF1, 0x6A, 0xFC + .byte 0x09, 0x20, 0x60, 0x85, 0x56, 0xE0, 0xD8, 0xF7, 0x97, 0xFF, 0x00, 0x28, 0x52, 0xD0, 0x20, 0x1C + .byte 0x29, 0x1C, 0x00, 0xF0, 0xD3, 0xFA, 0x20, 0x1C, 0xE1, 0xF7, 0x16, 0xFB, 0x68, 0x6B, 0x23, 0xF0 + .byte 0xDF, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0x28, 0x1C, 0x11, 0xF0, 0x54, 0xF8, 0x00, 0x28, 0x41, 0xD0 + .byte 0x68, 0x6B, 0x23, 0xF0, 0xBD, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x4C, 0xFC, 0x0B, 0x20, 0x60, 0x85 + .byte 0x38, 0xE0, 0xD8, 0xF7, 0x79, 0xFF, 0x00, 0x28, 0x34, 0xD0, 0x72, 0x22, 0x92, 0x00, 0xA1, 0x58 + .byte 0x30, 0x32, 0xA2, 0x58, 0x30, 0x1C, 0x10, 0xF0, 0xE1, 0xFF, 0x20, 0x1C, 0xE1, 0xF7, 0xF4, 0xFA + .byte 0x28, 0xE0, 0xE1, 0xF7, 0xF1, 0xFA, 0x68, 0x6B, 0x23, 0xF0, 0xBA, 0xF9, 0x01, 0x20, 0x70, 0xBD + .byte 0x29, 0x1C, 0x00, 0xF0, 0xA3, 0xFA, 0x20, 0x1C, 0x00, 0xF0, 0x66, 0xF9, 0x20, 0x1C, 0x01, 0x21 + .byte 0xD7, 0xF7, 0x52, 0xFC, 0x20, 0x1C, 0xE3, 0xF7, 0x8F, 0xFE, 0x30, 0x1C, 0x00, 0xF0, 0x20, 0xFA + .byte 0xA8, 0x68, 0x03, 0x21, 0xE5, 0xF7, 0x00, 0xFC, 0x20, 0x1C, 0xE1, 0xF7, 0xD5, 0xFA, 0x68, 0x6B + .byte 0x23, 0xF0, 0x9E, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0xD8, 0xF7, 0x46, 0xFF, 0x00, 0x28, 0x01, 0xD0 + .byte 0x01, 0x20, 0x60, 0x85 +_02035484: + ldr r0, [r4, #0x20] + cmp r0, #0x0 + beq _02035496 + add r0, r4, #0x0 + bl sub_02035BB0 + ldr r0, [r4, #0x38] + bl sub_0201FDEC +_02035496: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203549C +sub_0203549C: ; 0x0203549C + push {r3-r7, lr} + sub sp, #0x30 + add r4, r0, #0x0 + bl sub_02046528 + str r0, [sp, #0x1c] + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x30 + bl sub_0203566C + str r0, [sp, #0x14] + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0xb + str r0, [sp, #0x4] + ldr r0, [sp, #0x14] + mov r2, #0x3 + lsl r1, r0, #0x1 + add r0, r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r0, _02035658 ; =0x0000023B + add r1, r4, #0x0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x1c] + mov r3, #0x14 + ldr r0, [r0, #0x8] + bl sub_02019064 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r3, #0xb + ldr r0, [sp, #0x1c] + str r3, [sp, #0x4] + ldr r0, [r0, #0x8] + ldr r2, _0203565C ; =0x000003D9 + mov r1, #0x3 + bl sub_0200CB00 + ldr r2, _0203565C ; =0x000003D9 + add r0, r4, #0x0 + mov r1, #0x1 + mov r3, #0xb + bl sub_0200CCA4 + ldr r2, _02035660 ; =0x00000143 + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0xb + bl sub_0200A86C + str r0, [sp, #0x18] + ldr r0, [sp, #0x14] + mov r1, #0xb + bl sub_02012838 + str r0, [r4, #0x24] + mov r5, #0x0 + ldr r0, [sp, #0x14] + strh r5, [r4, #0x28] + cmp r0, #0x0 + bls _020355BC +_02035526: + add r0, r4, r5 + add r0, #0x30 + ldrb r3, [r0, #0x0] + cmp r3, #0x3 + bne _02035594 + mov r0, #0xb + bl sub_0200AA80 + add r6, r0, #0x0 + mov r0, #0x8 + mov r1, #0xb + bl sub_020219F4 + add r1, r4, r5 + add r1, #0x30 + ldrb r1, [r1, #0x0] + add r7, r0, #0x0 + ldr r0, [sp, #0x18] + lsl r2, r1, #0x3 + ldr r1, _02035664 ; =0x020F2ACC + ldr r1, [r1, r2] + bl sub_0200A914 + str r0, [sp, #0x20] + ldr r0, [sp, #0x1c] + ldr r0, [r0, #0xc] + bl sub_020238F4 + add r2, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0200ABC0 + ldr r2, [sp, #0x20] + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_0200B7B8 + add r2, r4, r5 + add r2, #0x30 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x24] + add r1, r7, #0x0 + bl sub_020128A0 + ldr r0, [sp, #0x20] + bl sub_02021A20 + add r0, r7, #0x0 + bl sub_02021A20 + add r0, r6, #0x0 + bl sub_0200AB18 + b _020355A2 +_02035594: + ldr r2, _02035664 ; =0x020F2ACC + lsl r6, r3, #0x3 + ldr r0, [r4, #0x24] + ldr r1, [sp, #0x18] + ldr r2, [r2, r6] + bl sub_02012880 +_020355A2: + ldr r0, [sp, #0x1c] + add r0, #0x8c + ldr r1, [r0, #0x0] + add r0, r4, r5 + add r0, #0x30 + ldrb r0, [r0, #0x0] + cmp r1, r0 + bne _020355B4 + strh r5, [r4, #0x28] +_020355B4: + ldr r0, [sp, #0x14] + add r5, r5, #0x1 + cmp r5, r0 + blo _02035526 +_020355BC: + ldrh r0, [r4, #0x28] + add r0, r4, r0 + add r0, #0x30 + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x1c] + add r0, #0x8c + str r1, [r0, #0x0] + ldr r0, [sp, #0x18] + bl sub_0200A8B8 + ldr r0, [r4, #0x24] + mov r1, #0x1 + str r0, [sp, #0x24] + str r4, [sp, #0x28] + add r0, sp, #0x24 + strb r1, [r0, #0x8] + strb r1, [r0, #0x9] + ldr r1, [sp, #0x14] + strb r1, [r0, #0xa] + ldrb r2, [r0, #0xb] + mov r1, #0xf + bic r2, r1 + mov r1, #0x8 + orr r1, r2 + strb r1, [r0, #0xb] + ldrb r2, [r0, #0xb] + mov r1, #0x30 + bic r2, r1 + mov r1, #0x10 + orr r1, r2 + strb r1, [r0, #0xb] + ldr r1, [sp, #0x14] + ldrb r2, [r0, #0xb] + cmp r1, #0x4 + blo _0203560E + mov r1, #0xc0 + bic r2, r1 + mov r1, #0x40 + orr r1, r2 + strb r1, [r0, #0xb] + b _02035614 +_0203560E: + mov r1, #0xc0 + bic r2, r1 + strb r2, [r0, #0xb] +_02035614: + mov r0, #0xb + str r0, [sp, #0x0] + ldr r0, _02035668 ; =0x00000402 + mov r1, #0x1c + str r0, [sp, #0x4] + ldrh r3, [r4, #0x28] + add r0, sp, #0x24 + mov r2, #0x4 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl sub_02001B8C + str r0, [r4, #0x20] + add r0, r4, #0x0 + bl sub_02019220 + ldr r0, [sp, #0x1c] + ldr r0, [r0, #0xc] + bl sub_020238F4 + bl sub_020239CC + add r3, r0, #0x0 + add r0, r4, #0x0 + add r4, #0x30 + lsl r3, r3, #0x18 + ldr r2, [sp, #0x14] + add r1, r4, #0x0 + lsr r3, r3, #0x18 + bl sub_020359B8 + add sp, #0x30 + pop {r3-r7, pc} + nop +_02035658: .word 0x0000023B +_0203565C: .word 0x000003D9 +_02035660: .word 0x00000143 +_02035664: .word 0x020F2ACC +_02035668: .word 0x00000402 + + thumb_func_start sub_0203566C +sub_0203566C: ; 0x0203566C + push {r3-r4} + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + sub r3, #0xc0 + mov r2, #0x0 + tst r3, r4 + bne _02035682 + mov r3, #0x8 + strb r3, [r1, #0x0] + add r2, r2, #0x1 +_02035682: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x80 + tst r3, r4 + bne _02035694 + mov r3, #0x7 + strb r3, [r1, r2] + add r2, r2, #0x1 +_02035694: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x1 + tst r3, r4 + bne _020356A6 + mov r3, #0x0 + strb r3, [r1, r2] + add r2, r2, #0x1 +_020356A6: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x2 + tst r3, r4 + bne _020356B8 + mov r3, #0x1 + strb r3, [r1, r2] + add r2, r2, #0x1 +_020356B8: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x4 + tst r3, r4 + bne _020356CA + mov r3, #0x2 + strb r3, [r1, r2] + add r2, r2, #0x1 +_020356CA: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x8 + tst r3, r4 + bne _020356DC + mov r3, #0x3 + strb r3, [r1, r2] + add r2, r2, #0x1 +_020356DC: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x10 + tst r3, r4 + bne _020356EE + mov r3, #0x4 + strb r3, [r1, r2] + add r2, r2, #0x1 +_020356EE: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r4, [r0, r3] + mov r3, #0x20 + tst r3, r4 + bne _02035700 + mov r3, #0x5 + strb r3, [r1, r2] + add r2, r2, #0x1 +_02035700: + mov r3, #0x7 + lsl r3, r3, #0x6 + ldr r3, [r0, r3] + mov r0, #0x40 + tst r0, r3 + bne _02035712 + mov r0, #0x6 + strb r0, [r1, r2] + add r2, r2, #0x1 +_02035712: + add r0, r2, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_02035718 +sub_02035718: ; 0x02035718 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02035B78 + ldr r0, [r4, #0x20] + mov r1, #0x0 + bl sub_02001C5C + ldr r0, [r4, #0x24] + bl sub_02012870 + mov r0, #0x0 + str r0, [r4, #0x20] + pop {r4, pc} + + thumb_func_start sub_02035734 +sub_02035734: ; 0x02035734 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + bne _0203575A + mov r6, #0x0 + b _0203576C +_0203575A: + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + beq _0203576A + b _0203588E +_0203576A: + mov r6, #0x1 +_0203576C: + mov r3, #0x1 + str r3, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + ldr r0, _02035894 ; =0x0000032D + add r1, r5, #0x0 + str r0, [sp, #0x10] + ldr r0, [r4, #0x8] + add r1, #0x10 + mov r2, #0x3 + bl sub_02019064 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r3, #0xb + str r3, [sp, #0x4] + ldr r0, [r4, #0x8] + ldr r2, _02035898 ; =0x000003D9 + mov r1, #0x3 + bl sub_0200CB00 + add r0, r5, #0x0 + ldr r2, _02035898 ; =0x000003D9 + add r0, #0x10 + mov r1, #0x1 + mov r3, #0xb + bl sub_0200CCA4 + add r0, r5, #0x0 + add r0, #0x10 + mov r1, #0xf + bl sub_02019620 + ldr r2, _0203589C ; =0x00000143 + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0xb + bl sub_0200A86C + str r0, [sp, #0x1c] + cmp r6, #0x0 + bne _020357D0 + mov r1, #0x9 + bl sub_0200A914 + b _020357D6 +_020357D0: + mov r1, #0xa + bl sub_0200A914 +_020357D6: + mov r1, #0x0 + add r7, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r0, #0x10 + add r2, r7, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r7, #0x0 + bl sub_02021A20 + mov r0, #0xb + bl sub_0200AA80 + add r7, r0, #0x0 + mov r0, #0x20 + mov r1, #0xb + bl sub_020219F4 + str r0, [sp, #0x18] + ldr r0, [sp, #0x1c] + mov r1, #0xb + bl sub_0200A914 + str r0, [sp, #0x14] + cmp r6, #0x0 + bne _02035834 + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034E24 + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrh r2, [r2, #0x0] + add r0, r7, #0x0 + mov r3, #0x2 + bl sub_0200AD38 + b _0203584C +_02035834: + add r0, r4, #0x0 + bl sub_0204BAB0 + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r3, #0x2 + bl sub_0200AD38 +_0203584C: + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x14] + add r0, r7, #0x0 + bl sub_0200B7B8 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r1, #0x0 + add r0, r5, #0x0 + ldr r2, [sp, #0x18] + add r0, #0x10 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + ldr r0, [sp, #0x18] + bl sub_02021A20 + ldr r0, [sp, #0x14] + bl sub_02021A20 + add r0, r7, #0x0 + bl sub_0200AB18 + ldr r0, [sp, #0x1c] + bl sub_0200A8B8 + add r5, #0x10 + add r0, r5, #0x0 + bl sub_02019220 +_0203588E: + add sp, #0x20 + pop {r3-r7, pc} + nop +_02035894: .word 0x0000032D +_02035898: .word 0x000003D9 +_0203589C: .word 0x00000143 + + thumb_func_start sub_020358A0 +sub_020358A0: ; 0x020358A0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x0 + bne _020358CE + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x0 + beq _020358E0 +_020358CE: + add r0, r5, #0x0 + add r0, #0x10 + mov r1, #0x1 + bl sub_0200CCF8 + add r5, #0x10 + add r0, r5, #0x0 + bl sub_02019178 +_020358E0: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020358E4 +sub_020358E4: ; 0x020358E4 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r5, #0x20] + bl sub_02001E5C + add r6, r0, #0x0 + mov r1, #0x5e + ldr r0, [r5, #0x20] + lsl r1, r1, #0x4 + bl sub_02001D2C + str r0, [r5, #0x2c] + ldr r0, [r5, #0x20] + bl sub_02001E5C + strh r0, [r5, #0x28] + ldrh r1, [r5, #0x28] + cmp r6, r1 + beq _0203593A + mov r0, #0x67 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_02035BE8 + ldrh r2, [r5, #0x28] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02035C44 + ldrh r0, [r5, #0x28] + add r4, #0x8c + add r0, r5, r0 + add r0, #0x30 + ldrb r0, [r0, #0x0] + str r0, [r4, #0x0] +_0203593A: + ldrh r0, [r5, #0x28] + add r0, r0, #0x1 + lsl r0, r0, #0x2 + add r1, r5, r0 + mov r0, #0x67 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + ldr r0, [r0, #0x0] + bl sub_02035C78 + mov r1, #0x1 + ldr r2, [r5, #0x2c] + mvn r1, r1 + cmp r2, r1 + beq _02035960 + add r0, r1, #0x1 + cmp r2, r0 + beq _02035982 + b _02035966 +_02035960: + mov r0, #0xd + strh r0, [r5, #0x2a] + b _02035982 +_02035966: + ldr r0, _02035988 ; =0x020F2AD0 + lsl r2, r2, #0x3 + ldr r2, [r0, r2] + cmp r2, r1 + bne _02035976 + mov r0, #0xd + strh r0, [r5, #0x2a] + b _02035982 +_02035976: + add r0, r1, #0x1 + cmp r2, r0 + beq _02035982 + add r0, r7, #0x0 + blx r2 + pop {r3-r7, pc} +_02035982: + mov r0, #0x1 + pop {r3-r7, pc} + nop +_02035988: .word 0x020F2AD0 + + thumb_func_start sub_0203598C +sub_0203598C: ; 0x0203598C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0202EDF8 + cmp r0, #0x0 + beq _020359B4 + mov r0, #0x71 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + cmp r0, #0x0 + beq _020359B4 + ldr r0, [r4, #0x7c] + bl sub_02052F74 + bl sub_02031B50 + mov r0, #0x0 + bl sub_02052B74 +_020359B4: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020359B8 +sub_020359B8: ; 0x020359B8 + push {r4-r7, lr} + sub sp, #0xb4 + ldr r4, _02035B60 ; =0x020F2AB4 + str r3, [sp, #0x18] + add r3, sp, #0x9c + str r2, [sp, #0x14] + str r0, [sp, #0xc] + str r1, [sp, #0x10] + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [sp, #0xc] + add r1, r2, #0x0 + add r0, #0x38 + mov r2, #0x8 + mov r3, #0xb + bl sub_021D959C + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _02035B64 ; =0x000034D8 + mov r1, #0x42 + str r0, [sp, #0x8] + ldr r0, [sp, #0xc] + mov r2, #0x5 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D967C + ldr r0, _02035B64 ; =0x000034D8 + mov r1, #0x42 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r2, #0x1 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D96F4 + ldr r0, _02035B64 ; =0x000034D8 + mov r2, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r1, #0x42 + add r0, #0x38 + add r3, r2, #0x0 + bl sub_021D9708 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02035B64 ; =0x000034D8 + mov r1, #0x42 + str r0, [sp, #0x4] + ldr r0, [sp, #0xc] + mov r2, #0x2 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D971C + ldr r0, [sp, #0xc] + ldr r1, _02035B68 ; =0x020F2B14 + add r0, #0x38 + bl sub_021D9820 + mov r2, #0x67 + ldr r1, [sp, #0xc] + lsl r2, r2, #0x2 + str r0, [r1, r2] + add r0, r1, #0x0 + ldr r0, [r0, r2] + ldrh r1, [r1, #0x28] + ldr r0, [r0, #0x0] + bl sub_02035BE8 + ldr r0, _02035B6C ; =0x000034D9 + mov r1, #0x42 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r2, #0x4 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D96F4 + ldr r0, _02035B6C ; =0x000034D9 + mov r1, #0x42 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r2, #0x3 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D9708 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02035B6C ; =0x000034D9 + mov r1, #0x42 + str r0, [sp, #0x4] + ldr r0, [sp, #0xc] + mov r2, #0x6 + add r0, #0x38 + mov r3, #0x0 + bl sub_021D971C + ldr r0, [sp, #0x14] + mov r4, #0x0 + cmp r0, #0x0 + bls _02035B2C + ldr r5, [sp, #0xc] + ldr r3, _02035B70 ; =0x020F2B48 + add r7, r4, #0x0 + add r2, sp, #0x28 + mov r6, #0x6 +_02035AA2: + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + sub r6, r6, #0x1 + bne _02035AA2 + ldr r0, [r3, #0x0] + ldr r3, _02035B74 ; =0x020F2AA8 + str r0, [r2, #0x0] + ldmia r3!, {r0-r1} + add r2, sp, #0x1c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] +_02035ABA: + add r6, sp, #0x28 + add r3, sp, #0x68 + mov r2, #0x6 +_02035AC0: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02035AC0 + ldr r0, [r6, #0x0] + add r1, sp, #0x68 + str r0, [r3, #0x0] + mov r0, #0x2 + ldrsh r0, [r1, r0] + add r0, r0, r7 + strh r0, [r1, #0x2] + ldr r0, [sp, #0x10] + ldrb r2, [r0, r4] + cmp r2, #0x2 + bne _02035AEA + ldr r0, [sp, #0x18] + cmp r0, #0x1 + bne _02035AEA + mov r0, #0x1b + strh r0, [r1, #0x6] + b _02035AF2 +_02035AEA: + lsl r0, r2, #0x1 + add r1, r2, r0 + add r0, sp, #0x68 + strh r1, [r0, #0x6] +_02035AF2: + ldr r0, [sp, #0xc] + add r1, sp, #0x68 + add r0, #0x38 + bl sub_021D9820 + mov r1, #0x1a + lsl r1, r1, #0x4 + add r2, sp, #0x5c + add r3, sp, #0x1c + str r0, [r5, r1] + ldmia r3!, {r0-r1} + add r6, r2, #0x0 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, r6, #0x0 + str r0, [r2, #0x0] + mov r0, #0x1a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r2, #0x1 + ldr r0, [r0, #0x0] + bl sub_02020074 + ldr r0, [sp, #0x14] + add r4, r4, #0x1 + add r7, #0x18 + add r5, r5, #0x4 + cmp r4, r0 + blo _02035ABA +_02035B2C: + ldr r0, [sp, #0xc] + mov r2, #0x1 + ldrh r0, [r0, #0x28] + add r0, r0, #0x1 + lsl r1, r0, #0x2 + ldr r0, [sp, #0xc] + add r1, r0, r1 + mov r0, #0x67 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + mov r1, #0x2 + ldr r0, [r0, #0x0] + bl sub_02035C18 + ldr r0, [sp, #0x14] + mov r1, #0x6f + add r2, r0, #0x1 + ldr r0, [sp, #0xc] + lsl r1, r1, #0x2 + str r2, [r0, r1] + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + add sp, #0xb4 + pop {r4-r7, pc} + .balign 4 +_02035B60: .word 0x020F2AB4 +_02035B64: .word 0x000034D8 +_02035B68: .word 0x020F2B14 +_02035B6C: .word 0x000034D9 +_02035B70: .word 0x020F2B48 +_02035B74: .word 0x020F2AA8 + + thumb_func_start sub_02035B78 +sub_02035B78: ; 0x02035B78 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x6f + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r4, #0x0 + cmp r0, #0x0 + bls _02035BA6 + mov r7, #0x67 + lsl r7, r7, #0x2 + add r6, r7, #0x0 + add r6, #0x20 +_02035B90: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r7] + bl sub_0200C3DC + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [r5, r6] + cmp r4, r0 + blo _02035B90 +_02035BA6: + add r5, #0x38 + add r0, r5, #0x0 + bl sub_021D99F8 + pop {r3-r7, pc} + + thumb_func_start sub_02035BB0 +sub_02035BB0: ; 0x02035BB0 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x6f + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r4, #0x0 + cmp r0, #0x0 + bls _02035BE4 + mov r7, #0x67 + lsl r7, r7, #0x2 + add r6, r7, #0x0 + add r6, #0x20 +_02035BC8: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r7] + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xc + bl sub_020201E4 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [r5, r6] + cmp r4, r0 + blo _02035BC8 +_02035BE4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02035BE8 +sub_02035BE8: ; 0x02035BE8 + push {r3-r6, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0202011C + add r6, r0, #0x0 + add r3, sp, #0x0 + ldmia r6!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r6, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + mov r0, #0x18 + mul r0, r4 + add r0, #0x14 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02020044 + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_02035C18 +sub_02035C18: ; 0x02035C18 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020201DC + mov r1, #0x3 + blx sub_020EBE8C + add r2, r0, #0x0 + lsl r1, r2, #0x1 + add r1, r2, r1 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02020130 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0202027C + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02035C44 +sub_02035C44: ; 0x02035C44 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x1 + lsl r0, r0, #0x2 + add r1, r5, r0 + mov r0, #0x67 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + mov r1, #0x0 + add r4, r2, #0x0 + ldr r0, [r0, #0x0] + add r2, r1, #0x0 + bl sub_02035C18 + add r0, r4, #0x1 + lsl r0, r0, #0x2 + add r1, r5, r0 + mov r0, #0x67 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r2, r1, #0x0 + bl sub_02035C18 + pop {r3-r5, pc} + + thumb_func_start sub_02035C78 +sub_02035C78: ; 0x02035C78 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020201DC + mov r1, #0x3 + blx sub_020EBE8C + cmp r1, #0x1 + bne _02035C9E + add r0, r4, #0x0 + bl sub_02020388 + cmp r0, #0x0 + bne _02035C9E + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x1 + bl sub_02035C18 +_02035C9E: + pop {r4, pc} + + thumb_func_start sub_02035CA0 +sub_02035CA0: ; 0x02035CA0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0200E308 + cmp r0, #0x0 + beq _02035CD8 + add r0, r5, #0x0 + bl sub_02046528 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + bl sub_02035718 + add r0, r4, #0x0 + bl sub_02019178 + add r0, r5, #0x0 + bl sub_020358A0 + mov r1, #0x72 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + blx r1 + mov r0, #0x3 + strh r0, [r4, #0x2a] +_02035CD8: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02035CDC +sub_02035CDC: ; 0x02035CDC + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _02035D02 + mov r1, #0x72 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + blx r1 +_02035D02: + pop {r4-r6, pc} + + thumb_func_start sub_02035D04 +sub_02035D04: ; 0x02035D04 + mov r2, #0x72 + lsl r2, r2, #0x2 + str r1, [r0, r2] + mov r1, #0x3 + strh r1, [r0, #0x2a] + bx lr + + thumb_func_start sub_02035D10 +sub_02035D10: ; 0x02035D10 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _02035D30 ; =sub_02035D34 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_02035D30: .word sub_02035D34 + 1 + + thumb_func_start sub_02035D34 +sub_02035D34: ; 0x02035D34 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + mov r0, #0xb + mov r1, #0x20 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x0] + ldr r0, [r5, #0xc] + bl sub_020238F4 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + bl sub_020462AC + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + str r0, [r4, #0x0] + ldr r0, [sp, #0x4] + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0204B2A4 + str r0, [r4, #0x8] + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0205F524 + str r0, [r4, #0xc] + add r0, r7, #0x0 + mov r1, #0x1 + bl sub_0205F524 + str r0, [r4, #0x10] + add r0, r7, #0x0 + mov r1, #0x2 + bl sub_0205F524 + str r0, [r4, #0x14] + add r0, r7, #0x0 + mov r1, #0x3 + bl sub_0205F524 + str r0, [r4, #0x18] + add r0, r5, #0x0 + add r0, #0xb0 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + str r0, [r4, #0x1c] + add r0, r5, #0x0 + bl sub_02038690 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r6, r0] + ldr r1, _02035DC4 ; =sub_02035DC8 + sub r0, #0x30 + str r1, [r6, r0] + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02035DC4: .word sub_02035DC8 + 1 + + thumb_func_start sub_02035DC8 +sub_02035DC8: ; 0x02035DC8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + cmp r1, #0x0 + beq _02035DF0 + mov r0, #0xb + bl sub_02016A8C +_02035DF0: + mov r0, #0xc + strh r0, [r4, #0x2a] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02035DF8 +sub_02035DF8: ; 0x02035DF8 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _02035E18 ; =sub_02035E1C + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_02035E18: .word sub_02035E1C + 1 + + thumb_func_start sub_02035E1C +sub_02035E1C: ; 0x02035E1C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x7a + add r4, r0, #0x0 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + mov r2, #0x0 + bl sub_020379C8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, _02035E4C ; =sub_02035E50 + sub r1, #0x30 + str r0, [r4, r1] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02035E4C: .word sub_02035E50 + 1 + + thumb_func_start sub_02035E50 +sub_02035E50: ; 0x02035E50 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r2, #0x40 + add r6, r0, #0x0 + blx sub_020DF438 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + add r0, r6, #0x0 + add r0, #0x23 + ldrb r0, [r0, #0x0] + cmp r0, #0x17 + bls _02035E90 + b _020361E6 +_02035E90: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0xd + lsl r6, r5, #0 + lsl r0, r1, #0xd + lsl r4, r1, #0x9 + lsl r4, r5, #0x2 + lsl r2, r6, #0x4 + lsl r0, r7, #0x6 + lsl r6, r1, #0x8 + lsl r6, r4, #0xa + lsl r2, r2, #0xb + lsl r4, r5, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + lsl r6, r0, #0xc + mov r0, #0xb + mov r1, #0x30 + bl sub_02016998 + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r7, #0x0] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r7, #0x4] + mov r0, #0x1 + strb r0, [r7, #0x11] + add r0, r6, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x14] + ldr r0, [r7, #0x0] + bl sub_0206B9AC + strb r0, [r7, #0x13] + mov r0, #0x0 + strh r0, [r7, #0x18] + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl sub_0202A918 + str r0, [r7, #0x20] + ldr r0, [r5, #0xc] + bl sub_0206BB28 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02079C70 + str r0, [r7, #0x2c] + mov r0, #0x0 + str r0, [r7, #0x28] + ldr r1, _0203626C ; =0x020F2A9C + add r0, r7, #0x0 + bl sub_0207B000 + ldr r0, [r5, #0xc] + bl sub_020238F4 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl sub_0207C2A4 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_0203796C + mov r0, #0x7e + lsl r0, r0, #0x2 + str r7, [r4, r0] + ldr r1, _02036270 ; =sub_0203684C + add r0, r4, #0x0 + bl sub_02035D04 + b _0203625E +_02035F4A: + .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7 + .byte 0x23, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0xE1, 0xFD, 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7 + .byte 0xCF, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74, 0x22, 0x30, 0x00, 0x78, 0x38, 0x75 + .byte 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74, 0xE8, 0x68, 0x35, 0xF0, 0xD4, 0xFD + .byte 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x74, 0xFE, 0xF8, 0x62, 0x00, 0x20, 0xB8, 0x62, 0xB9, 0x49 + .byte 0x38, 0x1C, 0x45, 0xF0, 0x35, 0xF8, 0xE8, 0x68, 0xED, 0xF7, 0xAC, 0xFC, 0x01, 0x1C, 0x38, 0x1C + .byte 0x46, 0xF0, 0x80, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0, 0xE0, 0xFC, 0x0B, 0x20, 0x04, 0x21 + .byte 0xE0, 0xF7, 0xF2, 0xFC, 0xB1, 0x8C, 0x01, 0x80, 0x00, 0x21, 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00 + .byte 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0xAA, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x9B, 0xFE, 0x46, 0xE1 + .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7, 0xE0, 0xFC, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0x9E, 0xFD + .byte 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7, 0x8C, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74 + .byte 0x22, 0x30, 0x00, 0x78, 0x38, 0x75, 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74 + .byte 0xE8, 0x68, 0x35, 0xF0, 0x91, 0xFD, 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x31, 0xFE, 0xF8, 0x62 + .byte 0x00, 0x20, 0xB8, 0x62, 0x97, 0x49, 0x38, 0x1C, 0x44, 0xF0, 0xF2, 0xFF, 0xE8, 0x68, 0xED, 0xF7 + .byte 0x69, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x46, 0xF0, 0x3D, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0 + .byte 0x9D, 0xFC, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7, 0xAF, 0xFC, 0x00, 0x21, 0x01, 0x80, 0x71, 0x6B + .byte 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0x88, 0x49, 0x20, 0x1C + .byte 0xFF, 0xF7, 0x58, 0xFE, 0x03, 0xE1, 0xB0, 0x8C, 0x38, 0xF0, 0x2E, 0xFD, 0x03, 0x1C, 0x0B, 0x20 + .byte 0x32, 0x1C, 0x00, 0x90, 0x22, 0x32, 0x12, 0x78, 0x28, 0x1C, 0x02, 0x21, 0x01, 0xF0, 0x5E, 0xFF + .byte 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x30, 0x1C, 0x20, 0x30, 0x00, 0x78, 0x0A, 0x28, 0xB0, 0x8C + .byte 0x06, 0xD1, 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x00, 0x21, 0x00, 0xF0, 0x9B, 0xFD, 0x05, 0xE0 + .byte 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x01, 0x21, 0x00, 0xF0, 0x94, 0xFD, 0x7F, 0x21, 0x89, 0x00 + .byte 0x60, 0x50, 0x75, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x2D, 0xFE, 0xD8, 0xE0, 0xE8, 0x68, 0x35, 0xF0 + .byte 0x35, 0xFD, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x35, 0xF0, 0x7A, 0xFC, 0x01, 0x1C, 0x28, 0x1C + .byte 0x0B, 0x22, 0x01, 0xF0, 0x65, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x32, 0x1C, 0x22, 0x32 + .byte 0xB0, 0x8C, 0x12, 0x78, 0x02, 0x21, 0x00, 0xF0, 0x75, 0xFD, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50 + .byte 0x65, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE, 0xB9, 0xE0, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7 + .byte 0x53, 0xFC, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x60, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50 + .byte 0xE8, 0x68, 0x39, 0xF0, 0x29, 0xF8, 0x07, 0x1C, 0xE8, 0x68, 0xED, 0xF7, 0xF3, 0xFB, 0x5B, 0x49 + .byte 0x38, 0x1C, 0x0B, 0x22, 0x38, 0xF0, 0x6A, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x2B, 0x1C, 0x60, 0x50 + .byte 0x94, 0x33, 0x60, 0x58, 0xE9, 0x68, 0x1B, 0x68, 0x01, 0x22, 0x38, 0xF0, 0xF3, 0xF8, 0x7E, 0x21 + .byte 0x89, 0x00, 0x61, 0x58, 0x28, 0x1C, 0x01, 0xF0, 0x71, 0xFB, 0x51, 0x49, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0xE1, 0xFD, 0x8C, 0xE0, 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x26, 0xFC, 0xB1, 0x8C, 0x41, 0x80 + .byte 0x03, 0x21, 0x41, 0x70, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x70, 0x31, 0x8F, 0x81, 0x80 + .byte 0xF1, 0x6B, 0x81, 0x60, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x06, 0x20, 0x60, 0x85, 0x76, 0xE0 + .byte 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x10, 0xFC, 0x07, 0x1C, 0xE8, 0x69, 0x00, 0x68, 0xFE, 0xF7 + .byte 0x41, 0xFC, 0x78, 0x80, 0x00, 0x20, 0x78, 0x70, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78, 0x38, 0x70 + .byte 0x30, 0x8F, 0xB8, 0x80, 0xF0, 0x6B, 0xB8, 0x60, 0x7E, 0x20, 0x80, 0x00, 0x27, 0x50, 0x06, 0x20 + .byte 0x60, 0x85, 0x5C, 0xE0, 0x0B, 0x38, 0x01, 0xA9, 0xC8, 0x80, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78 + .byte 0x88, 0x80, 0x01, 0x97, 0xC9, 0x88, 0x00, 0x20, 0x2D, 0xF0, 0xC6, 0xFB, 0x7A, 0x21, 0x89, 0x00 + .byte 0x02, 0x1C, 0x01, 0xA8, 0x61, 0x18, 0x90, 0x47, 0x49, 0xE0, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C + .byte 0x61, 0x18, 0x01, 0xF0, 0x37, 0xFB, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C + .byte 0xFF, 0xF7, 0x90, 0xFD, 0x3B, 0xE0 +_020361E6: + add r0, r6, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x5 + beq _02036200 + cmp r0, #0x6 + beq _02036200 + cmp r0, #0x7 + beq _02036200 + cmp r0, #0x10 + beq _02036200 + cmp r0, #0x8 + bne _02036234 +_02036200: + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r2, #0x7e + lsl r2, r2, #0x2 + str r0, [r4, r2] + add r0, r6, #0x0 + add r0, #0x22 + ldrb r1, [r0, #0x0] + ldr r0, [r4, r2] + cmp r1, #0x6 + blo _02036226 + mov r1, #0x0 + bl sub_0206E358 + b _0203622A +_02036226: + bl sub_0206E358 +_0203622A: + ldr r1, _02036280 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + b _0203625E +_02036234: + cmp r0, #0x9 + bne _02036254 + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036280 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + b _0203625E +_02036254: + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0xc + strh r0, [r4, #0x2a] +_0203625E: + add r0, r6, #0x0 + bl sub_02016A18 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_0203626C: .word 0x020F2A9C +_02036270: .word sub_0203684C + 1 +_02036274: + .byte 0x8C, 0x2A, 0x0F, 0x02, 0xDD, 0x6B, 0x03, 0x02, 0x90, 0x2A, 0x0F, 0x02 +_02036280: .word sub_020362E4 + 1 + + thumb_func_start sub_02036284 +sub_02036284: ; 0x02036284 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _020362A4 ; =sub_020362A8 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_020362A4: .word sub_020362A8 + 1 + + thumb_func_start sub_020362A8 +sub_020362A8: ; 0x020362A8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x73 + add r4, r0, #0x0 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0x0 + bl sub_0206E358 + mov r0, #0x72 + ldr r1, _020362E0 ; =sub_020362E4 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_020362E0: .word sub_020362E4 + 1 + + thumb_func_start sub_020362E4 +sub_020362E4: ; 0x020362E4 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0xb + bl sub_0206E2F0 + str r0, [sp, #0x8] + bl sub_0206E308 + mov r1, #0x7e + lsl r1, r1, #0x2 + add r2, r0, #0x0 + ldr r0, [sp, #0x8] + ldr r1, [r4, r1] + blx sub_020DF438 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + ldr r0, [sp, #0x8] + bl sub_0206E384 + cmp r0, #0x5 + bls _02036328 + b _020364EE +_02036328: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r4, r0, #0x1 + lsl r4, r2, #0x1 + lsl r0, r7, #0x6 + lsl r0, r0, #0x3 + lsl r0, r7, #0x6 + ldr r0, [sp, #0x8] + bl sub_0206E37C + add r1, sp, #0x10 + strh r0, [r1, #0x4] + ldr r0, [sp, #0x8] + bl sub_0206E38C + add r1, sp, #0x10 + strb r0, [r1, #0x6] + str r5, [sp, #0x10] + ldrh r0, [r1, #0x4] + mov r1, #0x6 + mov r2, #0xb + bl sub_0206E7B8 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + mov r0, #0x0 + lsr r1, r1, #0x10 + bl sub_0205CE48 + mov r1, #0x73 + lsl r1, r1, #0x2 + add r2, r0, #0x0 + add r0, sp, #0x10 + add r1, r4, r1 + blx r2 + b _020364F8 +_0203637A: + .byte 0x02, 0x98, 0x37, 0xF0, 0xFE, 0xFF + .byte 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0xB6, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7 + .byte 0x03, 0xFB, 0x00, 0x21, 0x40, 0x22, 0x05, 0x1C, 0xA9, 0xF0, 0x84, 0xE8, 0xF0, 0x68, 0x35, 0xF0 + .byte 0xBD, 0xFB, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0xD7, 0xFE, 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7 + .byte 0x43, 0xFA, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0xA3, 0xFA, 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00 + .byte 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x09, 0x21 + .byte 0x20, 0x30, 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0xD1, 0xFF, 0xA8, 0x84, 0x49, 0x49, 0x30, 0x1C + .byte 0x2A, 0x1C, 0x00, 0xF0, 0xF7, 0xFF, 0x7E, 0x20, 0x80, 0x00, 0x25, 0x50, 0x46, 0x49, 0x20, 0x1C + .byte 0xFF, 0xF7, 0x88, 0xFC, 0x80, 0xE0, 0xF0, 0x68, 0x35, 0xF0, 0x90, 0xFB, 0x01, 0x90, 0x7F, 0x20 + .byte 0x80, 0x00, 0x20, 0x58, 0x07, 0x68, 0x02, 0x98, 0x37, 0xF0, 0xB8, 0xFF, 0x05, 0x1C, 0x01, 0x98 + .byte 0x39, 0x1C, 0x35, 0xF0, 0xCD, 0xFA, 0x03, 0x90, 0x7F, 0x20, 0x80, 0x00, 0x20, 0x58, 0xE0, 0xF7 + .byte 0xFB, 0xFA, 0x28, 0x1C, 0x38, 0xF0, 0x38, 0xFB, 0x01, 0x28, 0x23, 0xD1, 0x03, 0x98, 0x06, 0x21 + .byte 0x00, 0x22, 0x30, 0xF0, 0xC3, 0xFE, 0x00, 0x28, 0x1C, 0xD1, 0x28, 0x1C, 0x38, 0xF0, 0x3C, 0xFB + .byte 0x03, 0x1C, 0x0B, 0x20, 0x3A, 0x06, 0x00, 0x90, 0x30, 0x1C, 0x02, 0x21, 0x12, 0x0E, 0x01, 0xF0 + .byte 0x6D, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x3A, 0x06, 0x28, 0x1C, 0x00, 0x21, 0x12, 0x0E + .byte 0x00, 0xF0, 0xB0, 0xFB, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0x49, 0xFC, 0x41, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7, 0x8E, 0xFA, 0x00, 0x21, 0x40, 0x22 + .byte 0x05, 0x1C, 0xA9, 0xF0, 0x10, 0xE8, 0x01, 0x98, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0x64, 0xFE + .byte 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7, 0xD0, 0xF9, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0x30, 0xFA + .byte 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00, 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30 + .byte 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0x62, 0xFF, 0xA8, 0x84, 0x28, 0x1C, 0x22, 0x30, 0x07, 0x70 + .byte 0xEE, 0x61, 0xA8, 0x8C, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x0A, 0x21, 0x28, 0x1C + .byte 0x20, 0x30, 0x01, 0x70, 0x0B, 0x49, 0x30, 0x1C, 0x2A, 0x1C, 0x00, 0xF0, 0x7B, 0xFF, 0x7E, 0x20 + .byte 0x80, 0x00, 0x25, 0x50, 0x08, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0C, 0xFC, 0x04, 0xE0 +_020364EE: + add r0, r6, #0x0 + bl sub_0204649C + mov r0, #0xc + strh r0, [r4, #0x2a] +_020364F8: + ldr r0, [sp, #0x8] + bl sub_02016A18 + mov r0, #0x0 + add sp, #0x18 + pop {r3-r7, pc} +_02036504: + .byte 0xDC, 0x96, 0x0F, 0x02, 0x51, 0x5E, 0x03, 0x02, 0xDD, 0x6B, 0x03, 0x02 + + thumb_func_start sub_02036510 +sub_02036510: ; 0x02036510 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _02036530 ; =sub_02036534 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_02036530: .word sub_02036534 + 1 + + thumb_func_start sub_02036534 +sub_02036534: ; 0x02036534 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0xb + bl sub_02065054 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + str r5, [sp, #0x0] + ldr r0, [r4, r1] + mov r2, #0x0 + str r0, [sp, #0x4] + mov r0, #0x1 + add r1, r0, #0x0 + mov r3, #0xff + bl sub_02064E90 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02038680 + mov r0, #0x72 + ldr r1, _02036580 ; =sub_02036584 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02036580: .word sub_02036584 + 1 + + thumb_func_start sub_02036584 +sub_02036584: ; 0x02036584 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x7e + add r4, r0, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02065314 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02065070 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0xc + strh r0, [r4, #0x2a] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020365BC +sub_020365BC: ; 0x020365BC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + bl sub_02035718 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200CCF8 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + add r0, r4, #0x0 + bl sub_02019178 + add r0, r5, #0x0 + bl sub_020358A0 + mov r0, #0x4 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020365F0 +sub_020365F0: ; 0x020365F0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + ldr r0, [r0, #0xc] + bl sub_0202280C + cmp r0, #0x0 + beq _02036618 + mov r2, #0x0 + ldr r1, _0203663C ; =0x000007F2 + add r0, r5, #0x0 + add r3, r2, #0x0 + bl sub_02038CD8 + b _02036636 +_02036618: + mov r0, #0x20 + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r3, [r4, r1] + mov r2, #0x0 + strh r2, [r3, #0x4] + ldr r1, _02036640 ; =0x000007D5 + add r0, r5, #0x0 + add r3, r3, #0x4 + bl sub_02038CD8 +_02036636: + mov r0, #0x5 + strh r0, [r4, #0x2a] + pop {r3-r5, pc} + .balign 4 +_0203663C: .word 0x000007F2 +_02036640: .word 0x000007D5 + + thumb_func_start sub_02036644 +sub_02036644: ; 0x02036644 + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r5, [r4, r0] + ldr r0, [r6, #0xc] + bl sub_0202280C + cmp r0, #0x0 + beq _0203666C + mov r0, #0x0 + strh r0, [r4, #0x2a] + pop {r4-r6, pc} +_0203666C: + ldrh r0, [r5, #0x4] + cmp r0, #0x0 + bne _02036676 + mov r0, #0x0 + b _02036678 +_02036676: + mov r0, #0xf +_02036678: + strh r0, [r4, #0x2a] + add r0, r5, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02036684 +sub_02036684: ; 0x02036684 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _020366A4 ; =sub_020366A8 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_020366A4: .word sub_020366A8 + 1 + + thumb_func_start sub_020366A8 +sub_020366A8: ; 0x020366A8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02037EF8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, _020366D0 ; =sub_020366D4 + sub r1, #0x30 + str r0, [r4, r1] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_020366D0: .word sub_020366D4 + 1 + + thumb_func_start sub_020366D4 +sub_020366D4: ; 0x020366D4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0xc + strh r0, [r4, #0x2a] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02036700 +sub_02036700: ; 0x02036700 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x72 + ldr r1, _02036720 ; =sub_02036724 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x2 + strh r0, [r4, #0x2a] + mov r0, #0x1 + pop {r4, pc} + nop +_02036720: .word sub_02036724 + 1 + + thumb_func_start sub_02036724 +sub_02036724: ; 0x02036724 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r2, [r5, #0xc] + mov r0, #0x2 + mov r1, #0x0 + mov r3, #0xb + bl sub_02085338 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, sp, #0x0 + mov r1, #0x4 + bl sub_0201373C + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, sp, #0x0 + bl sub_020853BC + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02037E80 + mov r0, #0x72 + ldr r1, _02036778 ; =sub_0203677C + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r0, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02036778: .word sub_0203677C + 1 + + thumb_func_start sub_0203677C +sub_0203677C: ; 0x0203677C + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020853E4 + cmp r0, #0x0 + bne _020367C6 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, sp, #0x0 + bl sub_020853FC + bl sub_0202EDF8 + cmp r0, #0x0 + beq _020367C0 + add r0, sp, #0x0 + bl sub_02052DE8 + ldr r0, [r4, #0x78] + add r1, sp, #0x0 + bl sub_02052CD8 +_020367C0: + mov r0, #0x8 + strh r0, [r5, #0x2a] + b _020367CA +_020367C6: + mov r0, #0xc + strh r0, [r5, #0x2a] +_020367CA: + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020853A8 + add r0, r4, #0x0 + bl sub_0204649C + ldr r0, [r4, #0x7c] + bl sub_02052F74 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020367E8 +sub_020367E8: ; 0x020367E8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + bl sub_02035718 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200CCF8 + ldrb r1, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0201AC68 + add r0, r4, #0x0 + bl sub_02019178 + add r0, r5, #0x0 + bl sub_020358A0 + ldr r0, [r6, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + bne _02036834 + ldr r1, _02036848 ; =0x00002275 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + b _0203683E +_02036834: + add r0, r5, #0x0 + mov r1, #0x4 + mov r2, #0x0 + bl sub_02038D10 +_0203683E: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_02036848: .word 0x00002275 + + thumb_func_start sub_0203684C +sub_0203684C: ; 0x0203684C + push {r3-r7, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x30 + bl sub_02016998 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r2, #0x30 + add r7, r0, #0x0 + blx sub_020DF438 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + ldrb r0, [r7, #0x12] + cmp r0, #0x2 + bne _0203692E + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x7f + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r2, #0x40 + str r1, [sp, #0x0] + mov r1, #0x0 + add r5, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + str r0, [r5, #0x0] + ldr r0, [r6, #0xc] + bl sub_0206F158 + str r0, [r5, #0x4] + ldr r0, [r6, #0xc] + bl sub_02025838 + str r0, [r5, #0x8] + ldr r0, [r6, #0xc] + bl sub_02023900 + str r0, [r5, #0xc] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r4, r0 + add r1, r5, #0x0 + str r0, [r5, #0x18] + mov r0, #0x0 + add r1, #0x21 + strb r0, [r1, #0x0] + ldr r1, [sp, #0x0] + str r6, [r5, #0x1c] + ldrh r1, [r1, #0x0] + cmp r1, #0x0 + beq _020368E2 + add r1, r5, #0x0 + mov r2, #0x7 + add r1, #0x20 + strb r2, [r1, #0x0] + b _020368EE +_020368E2: + add r0, r5, #0x0 + mov r1, #0x8 + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x2] +_020368EE: + str r0, [r5, #0x34] + ldr r0, [sp, #0x0] + add r2, r5, #0x0 + ldrh r0, [r0, #0x0] + strh r0, [r5, #0x24] + add r0, r5, #0x0 + ldrb r1, [r7, #0x14] + add r0, #0x22 + strb r1, [r0, #0x0] + ldrh r0, [r7, #0x18] + strh r0, [r5, #0x26] + add r0, r5, #0x0 + ldrb r1, [r7, #0x16] + add r0, #0x28 + strb r1, [r0, #0x0] + ldr r1, _02036954 ; =0x020F96DC + add r0, r6, #0x0 + bl sub_020373D4 + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r5, [r4, r0] + ldr r1, _02036958 ; =sub_02035E50 + add r0, r4, #0x0 + bl sub_02035D04 + b _0203694A +_0203692E: + mov r1, #0x7a + lsl r1, r1, #0x2 + ldrb r2, [r7, #0x14] + add r0, r6, #0x0 + add r1, r4, r1 + bl sub_020379C8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036958 ; =sub_02035E50 + add r0, r4, #0x0 + bl sub_02035D04 +_0203694A: + add r0, r7, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02036954: .word 0x020F96DC +_02036958: .word sub_02035E50 + 1 + + thumb_func_start sub_0203695C +sub_0203695C: ; 0x0203695C + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02046528 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + mov r0, #0xb + bl sub_020851B8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x4] + ldr r0, [r0, #0xc] + bl sub_0206F158 + str r0, [sp, #0x0] + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020851DC + mov r5, #0x0 + add r4, r5, #0x0 +_0203699A: + add r0, r4, #0x0 + bl sub_0206EB1C + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + mov r2, #0x1 + mov r3, #0xb + bl sub_0206EE50 + cmp r0, #0x1 + bne _020369C6 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020851DC + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_020369C6: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x40 + blo _0203699A + ldr r0, [sp, #0x4] + add r3, sp, #0x8 + add r0, #0x94 + ldr r0, [r0, #0x0] + mov r1, #0x4 + add r2, sp, #0x8 + add r3, #0x1 + bl sub_0206F17C + mov r0, #0x7e + add r2, sp, #0x8 + lsl r0, r0, #0x2 + ldrb r1, [r2, #0x1] + add r3, r5, #0x3 + lsl r3, r3, #0x18 + ldrb r2, [r2, #0x0] + ldr r0, [r6, r0] + lsr r3, r3, #0x18 + bl sub_020851F8 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r0, [sp, #0x4] + ldr r1, [r6, r1] + bl sub_0203791C + ldr r1, _02036A10 ; =sub_02036A14 + add r0, r6, #0x0 + bl sub_02035D04 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02036A10: .word sub_02036A14 + 1 + + thumb_func_start sub_02036A14 +sub_02036A14: ; 0x02036A14 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + add r1, sp, #0x0 + ldr r0, [r4, r0] + add r1, #0x1 + add r2, sp, #0x0 + bl sub_0208524C + add r0, r5, #0x0 + add r3, sp, #0x0 + add r0, #0x94 + ldrb r2, [r3, #0x0] + ldrb r3, [r3, #0x1] + ldr r0, [r0, #0x0] + mov r1, #0x4 + bl sub_0206F190 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r0, #0xb + bl sub_02016A8C + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036A74 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02036A74: .word sub_020362E4 + 1 + + thumb_func_start sub_02036A78 +sub_02036A78: ; 0x02036A78 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x7e + add r4, r0, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r0, #0xb + bl sub_02016A8C + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036AB4 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02036AB4: .word sub_020362E4 + 1 + + thumb_func_start sub_02036AB8 +sub_02036AB8: ; 0x02036AB8 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + mov r0, #0xb + ldr r7, [r1, #0x0] + bl sub_02016A8C + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r5, [r4, r0] + ldr r0, [r5, #0x10] + cmp r0, #0x0 + bne _02036B0E + mov r0, #0xb + add r1, r5, #0x0 + bl sub_02016A8C + mov r1, #0x7a + lsl r1, r1, #0x2 + lsl r2, r7, #0x18 + add r0, r6, #0x0 + add r1, r4, r1 + lsr r2, r2, #0x18 + bl sub_020379C8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036B88 ; =sub_02035E50 + add r0, r4, #0x0 + bl sub_02035D04 + b _02036B82 +_02036B0E: + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + add r2, r0, #0x0 + ldr r0, [r5, #0x14] + add r1, r6, #0x0 + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #0x0] + ldr r0, [r5, #0x18] + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #0x4] + ldr r3, [r5, #0x1c] + mov r0, #0xb + lsl r3, r3, #0x10 + lsr r3, r3, #0x10 + bl sub_02063888 + ldr r1, [r5, #0x1c] + add r7, r0, #0x0 + lsl r1, r1, #0x10 + mov r0, #0x1 + lsr r1, r1, #0x10 + mov r2, #0xb + bl sub_0202914C + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + mov r2, #0x1 + bl sub_02028AD4 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r0, #0xb + bl sub_02016A8C + add r0, r6, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02036B8C ; =sub_020638BC + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r7, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] +_02036B82: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02036B88: .word sub_02035E50 + 1 +_02036B8C: .word sub_020638BC + 1 + + thumb_func_start sub_02036B90 +sub_02036B90: ; 0x02036B90 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x73 + add r4, r0, #0x0 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036BC0 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02036BC0: .word sub_020362E4 + 1 + + thumb_func_start sub_02036BC4 +sub_02036BC4: ; 0x02036BC4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x4 + add r6, r2, #0x0 + bl sub_02016998 + strh r5, [r0, #0x0] + strb r6, [r0, #0x2] + strb r4, [r0, #0x3] + pop {r4-r6, pc} + + thumb_func_start sub_02036BDC +sub_02036BDC: ; 0x02036BDC + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r6, [r4, r0] + ldrb r1, [r6, #0x3] + cmp r1, #0x3 + bhi _02036CD4 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r2, #0x1 + lsl r0, r2, #0x2 + lsl r2, r5, #0 + lsl r6, r0, #0 + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_0208562C + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036CE4 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + b _02036CD4 +_02036C32: + .byte 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xF9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78 + .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xC0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x26, 0x49 + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x57, 0xF8, 0x3D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xC2, 0xFC + .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0C, 0x22, 0x00, 0xF0, 0x3F, 0xF8, 0x31, 0xE0 + .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xD9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78 + .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xA0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x16, 0x49 + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xF8, 0x1D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xA2, 0xFC + .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0B, 0x22, 0x00, 0xF0, 0x1F, 0xF8, 0x11, 0xE0 + .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xB9, 0xFC, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C + .byte 0x61, 0x18, 0x00, 0xF0, 0xBF, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x05, 0x49, 0x20, 0x1C + .byte 0xFF, 0xF7, 0x18, 0xF8 +_02036CD4: + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02036CE4: .word sub_020362E4 + 1 +_02036CE8: + .byte 0x51, 0x5E, 0x03, 0x02 + + thumb_func_start sub_02036CEC +sub_02036CEC: ; 0x02036CEC + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x7f + add r6, r1, #0x0 + str r2, [sp, #0x0] + lsl r0, r0, #0x2 + ldr r7, [r6, r0] + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0xc] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r6, r0 + str r0, [r4, #0x18] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + ldrh r0, [r7, #0x0] + strh r0, [r4, #0x24] + add r0, r4, #0x0 + ldrb r1, [r7, #0x2] + add r0, #0x22 + strb r1, [r0, #0x0] + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0x20 + strb r0, [r1, #0x0] + str r5, [r4, #0x1c] + ldrb r1, [r7, #0x2] + ldr r0, [r4, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_0208560C + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_0208562C + ldr r1, _02036D8C ; =0x020F96DC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r6, r0] + ldr r1, _02036D90 ; =sub_02035E50 + add r0, r6, #0x0 + bl sub_02035D04 + pop {r3-r7, pc} + nop +_02036D8C: .word 0x020F96DC +_02036D90: .word sub_02035E50 + 1 + + thumb_func_start sub_02036D94 +sub_02036D94: ; 0x02036D94 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02087E14 + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036DD0 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02036DD0: .word sub_020362E4 + 1 + + thumb_func_start sub_02036DD4 +sub_02036DD4: ; 0x02036DD4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + mov r1, #0x73 + add r4, r0, #0x0 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036E04 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02036E04: .word sub_020362E4 + 1 + + thumb_func_start sub_02036E08 +sub_02036E08: ; 0x02036E08 + push {r3-r7, lr} + sub sp, #0x48 + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r5, [r6, r0] + bl sub_0200541C + mov r0, #0x3 + mov r1, #0x49 + lsl r2, r0, #0x10 + bl sub_0201681C + ldr r0, [r4, #0xc] + bl sub_0206BB1C + ldrb r1, [r5, #0x0] + str r0, [sp, #0x20] + bl sub_0206B9B0 + str r0, [sp, #0x24] + ldrb r0, [r5, #0x1] + cmp r0, #0x0 + ldr r0, [r4, #0xc] + bne _02036E9E + bl sub_02023900 + str r0, [sp, #0x28] + ldr r0, [r4, #0xc] + bl sub_02079C70 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x2c] + ldr r0, [r4, #0xc] + bl sub_0206F158 + str r0, [sp, #0x30] + ldr r0, [r4, #0xc] + bl sub_02029FC8 + str r0, [sp, #0x34] + ldr r0, [r4, #0xc] + bl sub_0204C1A8 + ldr r1, [sp, #0x2c] + str r7, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x30] + ldr r3, [sp, #0x28] + str r1, [sp, #0x8] + ldr r1, [sp, #0x34] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [r5, #0x8] + ldr r1, [sp, #0x24] + str r0, [sp, #0x14] + mov r0, #0x1 + str r0, [sp, #0x18] + mov r0, #0x49 + str r0, [sp, #0x1c] + ldrh r2, [r5, #0x4] + ldr r0, [sp, #0x20] + bl sub_0206C700 + b _02036EF2 +_02036E9E: + bl sub_02023900 + str r0, [sp, #0x38] + ldr r0, [r4, #0xc] + bl sub_02079C70 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x3c] + ldr r0, [r4, #0xc] + bl sub_0206F158 + str r0, [sp, #0x40] + ldr r0, [r4, #0xc] + bl sub_02029FC8 + str r0, [sp, #0x44] + ldr r0, [r4, #0xc] + bl sub_0204C1A8 + ldr r1, [sp, #0x3c] + str r7, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x40] + ldr r3, [sp, #0x38] + str r1, [sp, #0x8] + ldr r1, [sp, #0x44] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [r5, #0x8] + ldr r1, [sp, #0x24] + str r0, [sp, #0x14] + mov r0, #0x0 + str r0, [sp, #0x18] + mov r0, #0x49 + str r0, [sp, #0x1c] + ldrh r2, [r5, #0x4] + ldr r0, [sp, #0x20] + bl sub_0206C700 +_02036EF2: + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x4 + bl sub_02016998 + ldrb r1, [r5, #0x0] + str r1, [r0, #0x0] + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r6, r1] + sub r0, r1, #0x4 + ldr r0, [r6, r0] + bl sub_02016A18 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r6, r0] + mov r0, #0x7 + strh r0, [r6, #0x2a] + add sp, #0x48 + pop {r3-r7, pc} + + thumb_func_start sub_02036F1C +sub_02036F1C: ; 0x02036F1C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0206C91C + cmp r0, #0x1 + bne _02036F98 + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0206C92C + mov r0, #0x49 + bl sub_020168D0 + ldr r0, _02036F9C ; =0x00000475 + mov r1, #0x0 + bl sub_02005350 + mov r0, #0x0 + bl sub_0200415C + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + bl sub_0204ADBC + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl sub_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + ldr r1, [r1, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0206E358 + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + ldr r1, _02036FA0 ; =sub_020362E4 + add r0, r4, #0x0 + bl sub_02035D04 +_02036F98: + pop {r3-r5, pc} + nop +_02036F9C: .word 0x00000475 +_02036FA0: .word sub_020362E4 + 1 + + thumb_func_start sub_02036FA4 +sub_02036FA4: ; 0x02036FA4 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x38] + add r4, r1, #0x0 + add r5, r2, #0x0 + bl sub_020552F8 + add r7, r0, #0x0 + ldr r0, [r6, #0x38] + bl sub_02055320 + str r0, [r4, #0x0] + ldr r0, [r6, #0x38] + bl sub_0205532C + str r0, [r5, #0x0] + cmp r7, #0x3 + bhi _02036FFA + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + ldr r0, [r5, #0x0] + sub r0, r0, #0x1 + str r0, [r5, #0x0] + b _02036FFA +_02036FE4: + .byte 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0xE0, 0x20, 0x68, 0x40, 0x1E + .byte 0x20, 0x60, 0x02, 0xE0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 +_02036FFA: + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02037000 +sub_02037000: ; 0x02037000 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_020553A0 + bl sub_02058BE4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058BE4 + cmp r4, r0 + bne _0203701C + mov r0, #0x1 + b _0203701E +_0203701C: + mov r0, #0x0 +_0203701E: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r5, pc} + + thumb_func_start sub_02037024 +sub_02037024: ; 0x02037024 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r1, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + add r5, r0, #0x0 + bl sub_02036FA4 + add r4, r0, #0x0 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0204A6E0 + bl sub_020547A4 + cmp r0, #0x1 + bne _0203707E + cmp r4, #0x3 + bhi _0203707E + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + ldr r0, [sp, #0x0] + sub r0, r0, #0x1 + str r0, [sp, #0x0] + b _0203707E +_02037068: + .byte 0x00, 0x98, 0x40, 0x1C, 0x00, 0x90, 0x06, 0xE0 + .byte 0x01, 0x98, 0x40, 0x1E, 0x01, 0x90, 0x02, 0xE0, 0x01, 0x98, 0x40, 0x1C, 0x01, 0x90 +_0203707E: + ldr r0, [r5, #0x34] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + bl sub_02058D74 + str r0, [r6, #0x0] + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02037090 +sub_02037090: ; 0x02037090 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + bl sub_02037024 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020370B8 + bl sub_020588D4 + cmp r0, #0x1 + bne _020370B8 + ldr r0, [r5, #0x38] + ldr r1, [r4, #0x0] + bl sub_02037000 + cmp r0, #0x1 + bne _020370B8 + mov r0, #0x1 + pop {r3-r5, pc} +_020370B8: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020370BC +sub_020370BC: ; 0x020370BC + push {r3-r7, lr} + sub sp, #0x10 + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r1, sp, #0xc + add r2, sp, #0x8 + add r6, r0, #0x0 + bl sub_02036FA4 + ldr r0, [sp, #0x4] + mov r7, #0x0 + cmp r0, #0x0 + ble _02037130 + ldr r4, [sp, #0x0] + add r5, r4, #0x0 +_020370DA: + ldr r1, [sp, #0xc] + ldr r0, [r4, #0x4] + cmp r1, r0 + bne _02037124 + ldr r1, [sp, #0x8] + ldr r0, [r4, #0x8] + cmp r1, r0 + bne _02037124 + ldrh r0, [r4, #0x2] + cmp r0, #0x2 + bne _0203710A + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0203713C + cmp r0, #0x1 + bne _02037124 + mov r0, #0x14 + add r1, r7, #0x0 + mul r1, r0 + ldr r0, [sp, #0x0] + add sp, #0x10 + ldrh r0, [r0, r1] + pop {r3-r7, pc} +_0203710A: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02037168 + cmp r0, #0x1 + bne _02037124 + mov r0, #0x14 + add r1, r7, #0x0 + mul r1, r0 + ldr r0, [sp, #0x0] + add sp, #0x10 + ldrh r0, [r0, r1] + pop {r3-r7, pc} +_02037124: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + add r4, #0x14 + add r5, #0x14 + cmp r7, r0 + blt _020370DA +_02037130: + ldr r0, _02037138 ; =0x0000FFFF + add sp, #0x10 + pop {r3-r7, pc} + nop +_02037138: .word 0x0000FFFF + + thumb_func_start sub_0203713C +sub_0203713C: ; 0x0203713C + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r1, #0x2] + cmp r0, #0x2 + beq _0203714A + mov r0, #0x0 + pop {r4, pc} +_0203714A: + ldrh r0, [r1, #0x0] + bl sub_02039694 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02039528 + cmp r0, #0x1 + beq _02037160 + mov r0, #0x1 + b _02037162 +_02037160: + mov r0, #0x0 +_02037162: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r4, pc} + + thumb_func_start sub_02037168 +sub_02037168: ; 0x02037168 + push {r4, lr} + add r4, r1, #0x0 + ldrh r1, [r4, #0x10] + cmp r1, #0x4 + bne _02037176 + mov r0, #0x1 + pop {r4, pc} +_02037176: + ldr r0, [r0, #0x38] + bl sub_020552F8 + cmp r0, #0x3 + bhi _020371CC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r2, #0 + lsl r2, r4, #0 + lsl r0, r6, #0 + ldrh r0, [r4, #0x10] + cmp r0, #0x0 + beq _0203719E + cmp r0, #0x6 + bne _020371CC +_0203719E: + mov r0, #0x1 + pop {r4, pc} +_020371A2: + .byte 0x20, 0x8A, 0x03, 0x28, 0x01, 0xD0, 0x06, 0x28, 0x0F, 0xD1, 0x01, 0x20, 0x10, 0xBD + .byte 0x20, 0x8A, 0x02, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x08, 0xD1, 0x01, 0x20, 0x10, 0xBD, 0x20, 0x8A + .byte 0x01, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x10, 0xBD +_020371CC: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_020371D0 +sub_020371D0: ; 0x020371D0 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r6, r1, #0x0 + add r4, r2, #0x0 + bl sub_020552F8 + cmp r0, #0x0 + beq _020371EA + add sp, #0x8 + ldr r0, _0203722C ; =0x0000FFFF + pop {r4-r6, pc} +_020371EA: + add r0, r5, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x0 + bl sub_02036FA4 + mov r0, #0x0 + cmp r4, #0x0 + ble _02037224 + ldr r2, [sp, #0x4] + ldr r3, [sp, #0x0] + add r1, r6, #0x0 +_02037200: + ldr r5, [r1, #0x4] + cmp r2, r5 + bne _0203721C + ldr r5, [r1, #0x8] + cmp r3, r5 + bne _0203721C + ldrh r5, [r1, #0x2] + cmp r5, #0x1 + bne _0203721C + mov r1, #0x14 + mul r1, r0 + add sp, #0x8 + ldrh r0, [r6, r1] + pop {r4-r6, pc} +_0203721C: + add r0, r0, #0x1 + add r1, #0x14 + cmp r0, r4 + blt _02037200 +_02037224: + ldr r0, _0203722C ; =0x0000FFFF + add sp, #0x8 + pop {r4-r6, pc} + nop +_0203722C: .word 0x0000FFFF + + thumb_func_start sub_02037230 +sub_02037230: ; 0x02037230 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r4, r1, #0x0 + bl sub_020552F8 + cmp r0, #0x0 + beq _02037244 + mov r0, #0x0 + pop {r3-r5, pc} +_02037244: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02037090 + cmp r0, #0x1 + bne _02037260 + ldr r0, [r4, #0x0] + bl sub_02058458 + sub r0, #0x5b + cmp r0, #0x5 + bhi _02037260 + mov r0, #0x1 + pop {r3-r5, pc} +_02037260: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02037264 +sub_02037264: ; 0x02037264 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + ldr r0, [r0, #0x38] + str r1, [sp, #0x4] + str r2, [sp, #0x8] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x38] + bl sub_0205532C + add r4, r0, #0x0 + ldr r0, [sp, #0x8] + mov r7, #0x0 + cmp r0, #0x0 + ble _020372C8 + ldr r5, [sp, #0x4] +_0203728A: + ldrh r1, [r5, #0x2] + cmp r6, r1 + blt _020372BE + ldrh r0, [r5, #0x6] + add r0, r1, r0 + cmp r6, r0 + bge _020372BE + ldrh r1, [r5, #0x4] + cmp r4, r1 + blt _020372BE + ldrh r0, [r5, #0x8] + add r0, r1, r0 + cmp r4, r0 + bge _020372BE + ldrh r1, [r5, #0xe] + ldr r0, [sp, #0x0] + bl sub_020394F0 + ldrh r1, [r5, #0xc] + cmp r1, r0 + bne _020372BE + ldr r0, [sp, #0x4] + lsl r1, r7, #0x4 + add sp, #0xc + ldrh r0, [r0, r1] + pop {r4-r7, pc} +_020372BE: + ldr r0, [sp, #0x8] + add r7, r7, #0x1 + add r5, #0x10 + cmp r7, r0 + blt _0203728A +_020372C8: + ldr r0, _020372D0 ; =0x0000FFFF + add sp, #0xc + pop {r4-r7, pc} + nop +_020372D0: .word 0x0000FFFF + + thumb_func_start sub_020372D4 +sub_020372D4: ; 0x020372D4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0200628C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02037400 + ldr r1, _02037300 ; =0x021C5A08 + str r0, [r1, #0x0] + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _020372F4 + bl sub_02048FC8 + b _020372F8 +_020372F4: + bl sub_02048EC8 +_020372F8: + mov r0, #0x0 + str r0, [r4, #0x4] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02037300: .word 0x021C5A08 + + thumb_func_start sub_02037304 +sub_02037304: ; 0x02037304 + push {r3, lr} + bl sub_02037400 + ldr r1, _02037318 ; =0x021C5A08 + str r0, [r1, #0x0] + bl sub_02048D90 + mov r0, #0x1 + pop {r3, pc} + nop +_02037318: .word 0x021C5A08 + + thumb_func_start sub_0203731C +sub_0203731C: ; 0x0203731C + push {r3, lr} + bl sub_02006278 + bl sub_02037524 + cmp r0, #0x0 + beq _0203732E + mov r0, #0x1 + pop {r3, pc} +_0203732E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02037334 +sub_02037334: ; 0x02037334 + push {r3, lr} + bl sub_020374B0 + ldr r0, _02037348 ; =0x0000003F + ldr r1, _0203734C ; =0x021DBAB8 + bl sub_02000E7C + mov r0, #0x1 + pop {r3, pc} + nop +_02037348: .word 0x0000003F +_0203734C: .word 0x021DBAB8 + + thumb_func_start sub_02037350 +sub_02037350: ; 0x02037350 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _02037360 + bl sub_02020C2C +_02037360: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0203736C + bl sub_02020C2C +_0203736C: + ldr r0, _0203738C ; =0x00000005 + mov r1, #0x2 + bl sub_02005FDC + mov r1, #0x0 + str r1, [r4, #0x64] + ldr r0, [r4, #0x0] + mov r2, #0xb + str r1, [r0, #0x8] + ldr r0, _02037390 ; =0x021F64C8 + add r1, r4, #0x0 + bl sub_02006234 + ldr r1, [r4, #0x0] + str r0, [r1, #0x0] + pop {r4, pc} + .balign 4 +_0203738C: .word 0x00000005 +_02037390: .word 0x021F64C8 + + thumb_func_start sub_02037394 +sub_02037394: ; 0x02037394 + mov r1, #0x0 + str r1, [r0, #0x64] + bx lr + .balign 4 + + thumb_func_start sub_0203739C +sub_0203739C: ; 0x0203739C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _020373A8 + mov r0, #0x1 + bx lr +_020373A8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020373AC +sub_020373AC: ; 0x020373AC + ldr r1, [r0, #0x0] + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _020373BE + ldr r0, [r0, #0x64] + cmp r0, #0x0 + beq _020373BE + mov r0, #0x1 + bx lr +_020373BE: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_020373C4 +sub_020373C4: ; 0x020373C4 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _020373D0 + mov r0, #0x1 + bx lr +_020373D0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020373D4 +sub_020373D4: ; 0x020373D4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + ldr r0, [r0, #0x4] + add r6, r2, #0x0 + cmp r0, #0x0 + beq _020373E8 + bl sub_02020C2C +_020373E8: + add r0, r5, #0x0 + bl sub_02037394 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r2, #0xb + bl sub_02006234 + ldr r1, [r5, #0x0] + str r0, [r1, #0x4] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02037400 +sub_02037400: ; 0x02037400 + push {r3-r5, lr} + mov r2, #0x7 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0xb + lsl r2, r2, #0xe + bl sub_0201681C + mov r1, #0x20 + mov r0, #0x3 + lsl r2, r1, #0x9 + bl sub_0201681C + mov r2, #0x3 + mov r0, #0x0 + mov r1, #0x5b + lsl r2, r2, #0x8 + bl sub_0201681C + add r0, r5, #0x0 + mov r1, #0xb8 + mov r2, #0xb + bl sub_02006268 + mov r1, #0x0 + mov r2, #0xb8 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0xb + mov r1, #0x10 + bl sub_02016998 + str r0, [r4, #0x0] + mov r1, #0x0 + str r1, [r0, #0x0] + ldr r0, [r4, #0x0] + str r1, [r0, #0x4] + ldr r0, [r4, #0x0] + str r1, [r0, #0x8] + ldr r0, [r4, #0x0] + str r1, [r0, #0xc] + add r0, r5, #0x0 + bl sub_0200628C + ldr r0, [r0, #0x8] + str r0, [r4, #0xc] + mov r0, #0x0 + str r0, [r4, #0x10] + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DC0 + str r0, [r4, #0x1c] + bl sub_02034494 + str r0, [r4, #0x28] + add r0, r4, #0x0 + mov r1, #0xb + bl sub_02034A28 + mov r0, #0xb + bl sub_0206F164 + add r1, r4, #0x0 + add r1, #0x94 + str r0, [r1, #0x0] + mov r0, #0xb + bl sub_0205DD18 + add r1, r4, #0x0 + add r1, #0x90 + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD40 + mov r0, #0xb + bl sub_0208A300 + add r1, r4, #0x0 + add r1, #0xb0 + str r0, [r1, #0x0] + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020374B0 +sub_020374B0: ; 0x020374B0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + ldr r0, [r4, #0x28] + bl sub_020344D0 + add r0, r4, #0x0 + bl sub_02034A48 + add r0, r4, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD38 + add r0, r4, #0x0 + add r0, #0xb0 + ldr r0, [r0, #0x0] + bl sub_0208A320 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_0200627C + mov r0, #0x5b + bl sub_020168D0 + mov r0, #0xb + bl sub_020168D0 + mov r0, #0x20 + bl sub_020168D0 + pop {r3-r5, pc} + + thumb_func_start sub_02037504 +sub_02037504: ; 0x02037504 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02037520 + bl sub_02006290 + cmp r0, #0x0 + beq _02037520 + ldr r0, [r4, #0x0] + bl sub_02006260 + mov r0, #0x0 + str r0, [r4, #0x0] +_02037520: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02037524 +sub_02037524: ; 0x02037524 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02037594 + add r0, r4, #0x0 + bl sub_02046420 + cmp r0, #0x1 + bne _02037546 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02037546 + mov r1, #0x0 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_021EFA9C +_02037546: + ldr r0, [r4, #0x0] + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _02037562 + bl sub_02037504 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203756E + ldr r0, _02037590 ; =0x00000005 + bl sub_02005F60 + b _0203756E +_02037562: + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0203756E + add r0, r0, #0x4 + bl sub_02037504 +_0203756E: + ldr r1, [r4, #0x0] + ldr r0, [r1, #0xc] + cmp r0, #0x0 + beq _0203758C + ldr r0, [r4, #0x10] + cmp r0, #0x0 + bne _0203758C + ldr r0, [r1, #0x0] + cmp r0, #0x0 + bne _0203758C + ldr r0, [r1, #0x4] + cmp r0, #0x0 + bne _0203758C + mov r0, #0x1 + pop {r4, pc} +_0203758C: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_02037590: .word 0x00000005 + + thumb_func_start sub_02037594 +sub_02037594: ; 0x02037594 + push {r3-r5, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + mov r5, #0x0 + ldr r1, [r1, #0x8] + cmp r1, #0x0 + bne _020375B4 + ldr r1, [r4, #0x64] + cmp r1, #0x0 + beq _020375B4 + bl sub_0204646C + cmp r0, #0x0 + bne _020375B4 + mov r5, #0x1 +_020375B4: + cmp r5, #0x0 + beq _020375D4 + ldr r0, [r4, #0x38] + bl sub_02055A38 + ldr r3, _02037758 ; =0x021C48B8 + add r0, sp, #0x8 + ldr r2, [r3, #0x48] + ldr r3, [r3, #0x44] + lsl r2, r2, #0x10 + lsl r3, r3, #0x10 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + lsr r3, r3, #0x10 + bl sub_021D8164 +_020375D4: + ldr r0, [r4, #0x1c] + ldr r2, [r4, #0x6c] + ldr r1, [r0, #0x0] + ldr r0, _0203775C ; =0x00000146 + cmp r1, r0 + bne _020375E2 + mov r2, #0x0 +_020375E2: + cmp r2, #0x4 + bhi _020376E2 + add r0, r2, r2 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r5, #0x3 + lsl r0, r1, #0 + lsl r2, r2, #0x1 + lsl r0, r5, #0 + lsl r6, r7, #0x1 + cmp r5, #0x0 + beq _02037610 + bl sub_0204E2FC + cmp r0, #0x0 + beq _02037610 + add r0, sp, #0x8 + add r1, r4, #0x0 + bl sub_021D85FC +_02037610: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0204D6C0 + add sp, #0x10 + pop {r3-r5, pc} +_0203761C: + .byte 0x00, 0x2D, 0x0C, 0xD0 + .byte 0x16, 0xF0, 0x6C, 0xFE, 0x00, 0x28, 0x07, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0x16, 0xF8 + .byte 0x01, 0x28, 0x02, 0xD1, 0x00, 0x25, 0x00, 0xE0, 0x00, 0x25, 0x20, 0x1C, 0x29, 0x1C, 0x16, 0xF0 + .byte 0x3F, 0xF8, 0x04, 0xB0, 0x38, 0xBD, 0x00, 0x2D, 0x00, 0xD1, 0x83, 0xE0, 0x02, 0xA8, 0x21, 0x1C + .byte 0xA1, 0xF1, 0x82, 0xF8, 0x01, 0x28, 0x7D, 0xD0, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0x00, 0x90 + .byte 0x01, 0x92, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x52, 0x1E, 0x1E, 0xF0, 0xC3, 0xF8, 0x04, 0xB0 + .byte 0x38, 0xBD, 0x00, 0x2D, 0x6E, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0xD1, 0xF8, 0x01, 0x28 + .byte 0x11, 0xD1, 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x33, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0xB0, 0xF1 + .byte 0x95, 0xFD, 0xA0, 0x6B, 0xAF, 0xF1, 0x50, 0xFD, 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xB8, 0xF1 + .byte 0xFD, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x2C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x03, 0xD0 + .byte 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x1C, 0xFE, 0x00, 0x25, 0x00, 0xF0, 0x69, 0xF8, 0x00, 0x28 + .byte 0x02, 0xD0, 0x1A, 0xF2, 0x37, 0xFF, 0x05, 0x1C, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0xD2, 0x43 + .byte 0x00, 0x90, 0x01, 0x95, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x1E, 0xF0, 0x8B, 0xF8, 0x04, 0xB0 + .byte 0x38, 0xBD +_020376E2: + cmp r5, #0x0 + beq _02037754 + add r0, sp, #0x8 + add r1, r4, #0x0 + bl sub_021D8320 + cmp r0, #0x1 + bne _0203771C + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x8] + bl sub_021E32F0 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_021E81BC + ldr r0, [r4, #0x38] + bl sub_02055B14 + ldr r0, [r4, #0x38] + bl sub_021E7138 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl sub_021EFA9C + add sp, #0x10 + pop {r3-r5, pc} +_0203771C: + ldr r0, _02037758 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _0203772E + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x8] + bl sub_021E32F0 +_0203772E: + mov r5, #0x0 + bl sub_02037790 + cmp r0, #0x0 + beq _0203773E + bl sub_02252534 + add r5, r0, #0x0 +_0203773E: + add r3, sp, #0x8 + ldrh r0, [r3, #0x6] + mov r2, #0x0 + mvn r2, r2 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldrh r3, [r3, #0x4] + ldr r0, [r4, #0x38] + ldr r1, [r4, #0x24] + bl sub_020557F4 +_02037754: + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_02037758: .word 0x021C48B8 +_0203775C: .word 0x00000146 + + thumb_func_start sub_02037760 +sub_02037760: ; 0x02037760 + ldr r0, _02037770 ; =0x021C5A08 + ldr r3, _02037774 ; =0x02030FC9 + ldr r0, [r0, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0x0] + str r1, [r0, #0x8] + bx r3 + nop +_02037770: .word 0x021C5A08 +_02037774: .word 0x02030FC9 + + thumb_func_start sub_02037778 +sub_02037778: ; 0x02037778 + ldr r0, _02037788 ; =0x021C5A08 + ldr r3, _0203778C ; =sub_02030FA8 + ldr r0, [r0, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x8] + bx r3 + nop +_02037788: .word 0x021C5A08 +_0203778C: .word sub_02030FA8 + 1 + + thumb_func_start sub_02037790 +sub_02037790: ; 0x02037790 + ldr r0, _020377A4 ; =0x021C5A08 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + bne _0203779E + mov r0, #0x0 + bx lr +_0203779E: + ldr r0, [r0, #0x14] + bx lr + nop +_020377A4: .word 0x021C5A08 + + thumb_func_start sub_020377A8 +sub_020377A8: ; 0x020377A8 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_020377AC +sub_020377AC: ; 0x020377AC + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_020377B0 +sub_020377B0: ; 0x020377B0 + ldr r2, _020377C4 ; =0x020F2B9C + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + nop +_020377C4: .word 0x020F2B9C + + thumb_func_start sub_020377C8 +sub_020377C8: ; 0x020377C8 + ldr r2, _020377DC ; =0x020F2BB0 + add r3, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + nop +_020377DC: .word 0x020F2BB0 + + thumb_func_start sub_020377E0 +sub_020377E0: ; 0x020377E0 + push {r3, lr} + bl sub_02034E30 + bl sub_02034DC0 + bl sub_020377B0 + pop {r3, pc} + + thumb_func_start sub_020377F0 +sub_020377F0: ; 0x020377F0 + mov r0, #0x1 + bx lr +_020377F4: + .byte 0x08, 0xB5, 0xF5, 0xF1, 0xE3, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20 + .byte 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x01, 0x20, 0x70, 0x47 + + thumb_func_start sub_0203780C +sub_0203780C: ; 0x0203780C + ldr r3, _02037814 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037818 ; =0x020F2D94 + bx r3 + .balign 4 +_02037814: .word sub_020373D4 + 1 +_02037818: .word 0x020F2D94 + + thumb_func_start sub_0203781C +sub_0203781C: ; 0x0203781C + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _02037840 ; =0x020F2D74 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02037840: .word 0x020F2D74 + + thumb_func_start sub_02037844 +sub_02037844: ; 0x02037844 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r6, r1, #0x0 + bl sub_0206F158 + ldr r1, _02037898 ; =0x020F2BDC + mov r2, #0xb + bl sub_0206EFEC + add r3, r5, #0x0 + add r3, #0x94 + ldr r1, [r5, #0xc] + ldr r3, [r3, #0x0] + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_0206E314 + ldr r1, [r5, #0x6c] + add r0, r4, #0x0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0206E360 + ldr r0, [r5, #0x38] + bl sub_020553C4 + cmp r0, #0x1 + bne _02037884 + add r0, r4, #0x0 + bl sub_0206E340 +_02037884: + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0206E354 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0203781C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02037898: .word 0x020F2BDC + + thumb_func_start sub_0203789C +sub_0203789C: ; 0x0203789C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_0206F158 + add r6, r0, #0x0 + cmp r4, #0x0 + beq _020378B4 + cmp r4, #0x1 + beq _020378BC + b _020378C4 +_020378B4: + ldr r1, _020378F0 ; =0x020F2BC8 + ldr r0, _020378F4 ; =0x02105DB8 + str r1, [r0, #0x0] + b _020378C8 +_020378BC: + ldr r1, _020378F8 ; =0x020F2BC4 + ldr r0, _020378F4 ; =0x02105DB8 + str r1, [r0, #0x0] + b _020378C8 +_020378C4: + bl sub_02020C2C +_020378C8: + ldr r1, _020378F4 ; =0x02105DB8 + add r0, r6, #0x0 + ldr r1, [r1, #0x0] + mov r2, #0x20 + bl sub_0206EFEC + add r3, r5, #0x0 + add r3, #0x94 + ldr r1, [r5, #0xc] + ldr r3, [r3, #0x0] + add r4, r0, #0x0 + mov r2, #0x3 + bl sub_0206E314 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0203781C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_020378F0: .word 0x020F2BC8 +_020378F4: .word 0x02105DB8 +_020378F8: .word 0x020F2BC4 + + thumb_func_start sub_020378FC +sub_020378FC: ; 0x020378FC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0206E37C + add r4, r0, #0x0 + beq _02037916 + add r0, r5, #0x0 + bl sub_0206E384 + cmp r0, #0x5 + bne _02037916 + bl sub_02020C2C +_02037916: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203791C +sub_0203791C: ; 0x0203791C + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _02037940 ; =0x020F2D44 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02037940: .word 0x020F2D44 + + thumb_func_start sub_02037944 +sub_02037944: ; 0x02037944 + push {r3-r5, lr} + sub sp, #0x10 + ldr r4, _02037968 ; =0x020F2D24 + add r3, sp, #0x0 + add r5, r0, #0x0 + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r1, r2, #0x0 + ldr r2, [r5, #0xc] + add r0, r5, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r3-r5, pc} + nop +_02037968: .word 0x020F2D24 + + thumb_func_start sub_0203796C +sub_0203796C: ; 0x0203796C + ldr r3, _02037974 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037978 ; =0x020FA6E8 + bx r3 + .balign 4 +_02037974: .word sub_020373D4 + 1 +_02037978: .word 0x020FA6E8 + + thumb_func_start sub_0203797C +sub_0203797C: ; 0x0203797C + push {r3-r7, lr} + add r5, r1, #0x0 + mov r1, #0x40 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x40 + blx sub_020CE240 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0xc] + add r0, r4, #0x0 + add r0, #0x21 + strb r6, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x20 + strb r7, [r0, #0x0] + str r5, [r4, #0x1c] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020379C8 +sub_020379C8: ; 0x020379C8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r2, #0x0 + mov r2, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + add r1, r5, #0x0 + add r3, r2, #0x0 + bl sub_0203797C + add r4, r0, #0x0 + str r6, [r4, #0x18] + add r0, #0x22 + strb r7, [r0, #0x0] + ldr r1, _020379F4 ; =0x020F96DC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_020379F4: .word 0x020F96DC + + thumb_func_start sub_020379F8 +sub_020379F8: ; 0x020379F8 + push {r3-r5, lr} + mov r0, #0xb + mov r2, #0x0 + mov r3, #0x3 + add r5, r1, #0x0 + bl sub_0203797C + add r4, r0, #0x0 + ldr r1, _02037A18 ; =0x020F96DC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_02037A18: .word 0x020F96DC + + thumb_func_start sub_02037A1C +sub_02037A1C: ; 0x02037A1C + push {r3-r5, lr} + mov r0, #0xb + mov r2, #0x0 + mov r3, #0x13 + add r5, r1, #0x0 + bl sub_0203797C + add r4, r0, #0x0 + ldr r1, _02037A3C ; =0x020F96DC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_02037A3C: .word 0x020F96DC + + thumb_func_start sub_02037A40 +sub_02037A40: ; 0x02037A40 + add r0, #0x22 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02037A48 +sub_02037A48: ; 0x02037A48 + push {r4-r6, lr} + add r4, r2, #0x0 + mov r0, #0xb + mov r2, #0x0 + mov r3, #0x12 + add r5, r1, #0x0 + bl sub_0203797C + add r6, r0, #0x0 + add r0, #0x22 + strb r4, [r0, #0x0] + ldr r1, _02037A6C ; =0x020F96DC + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_020373D4 + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 +_02037A6C: .word 0x020F96DC + + thumb_func_start sub_02037A70 +sub_02037A70: ; 0x02037A70 + add r0, #0x23 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02037A78 +sub_02037A78: ; 0x02037A78 + ldrb r0, [r0, #0x14] + bx lr + + thumb_func_start sub_02037A7C +sub_02037A7C: ; 0x02037A7C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + bhi _02037B3A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r3, #0 + lsl r6, r1, #0x1 + lsl r0, r6, #0x1 + lsl r6, r0, #0x2 + ldr r1, _02037B40 ; =0x020F96DC + ldr r2, [r4, #0x4] + add r0, r6, #0x0 + bl sub_020373D4 + mov r0, #0x1 + str r0, [r5, #0x0] + b _02037B3A +_02037AC2: + .byte 0x30, 0x1C, 0x0E, 0xF0, 0xDA, 0xFC, 0x00, 0x28, 0x36, 0xD1, 0x60, 0x68, 0x22, 0x30 + .byte 0x00, 0x78, 0x06, 0x28, 0x07, 0xD0, 0x07, 0x28, 0x0B, 0xD1, 0x02, 0x20, 0x1A, 0xF0, 0x7C, 0xFE + .byte 0x04, 0x20, 0x28, 0x60, 0x29, 0xE0, 0x01, 0x20, 0x1A, 0xF0, 0x76, 0xFE, 0x04, 0x20, 0x28, 0x60 + .byte 0x23, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x20, 0xE0, 0x21, 0x68, 0x30, 0x1C, 0x00, 0x22, 0x00, 0xF0 + .byte 0xBD, 0xF8, 0xA0, 0x60, 0x61, 0x68, 0x22, 0x31, 0x09, 0x78, 0x01, 0x75, 0xA1, 0x68, 0x30, 0x1C + .byte 0xFF, 0xF7, 0x2C, 0xFF, 0x03, 0x20, 0x28, 0x60, 0x0F, 0xE0, 0x30, 0x1C, 0x0E, 0xF0, 0xAE, 0xFC + .byte 0x00, 0x28, 0x0A, 0xD1, 0xA0, 0x68, 0xDE, 0xF7, 0x77, 0xFF, 0x00, 0x20, 0x28, 0x60, 0x04, 0xE0 + .byte 0x20, 0x1C, 0xDE, 0xF7, 0x71, 0xFF, 0x01, 0x20, 0x70, 0xBD +_02037B3A: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02037B40: .word 0x020F96DC + + thumb_func_start sub_02037B44 +sub_02037B44: ; 0x02037B44 + push {r3-r7, lr} + add r5, r1, #0x0 + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xc + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x0 + mov r3, #0x2 + str r5, [r4, #0x0] + bl sub_0203797C + add r5, r0, #0x0 + add r0, #0x32 + ldrb r1, [r0, #0x0] + mov r0, #0xf + add r2, r4, #0x0 + bic r1, r0 + mov r0, #0x2 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x32 + ldrb r1, [r0, #0x0] + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x20 + orr r1, r0 + add r0, r5, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x1e + add r0, #0x33 + strb r1, [r0, #0x0] + mov r0, #0x0 + str r0, [r5, #0x14] + ldr r1, _02037BAC ; =sub_02037A7C + add r0, r7, #0x0 + str r5, [r4, #0x4] + bl sub_0204640C + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 +_02037BAC: .word sub_02037A7C + 1 + + thumb_func_start sub_02037BB0 +sub_02037BB0: ; 0x02037BB0 + push {r3-r7, lr} + add r5, r2, #0x0 + add r6, r3, #0x0 + mov r0, #0xb + mov r2, #0x0 + mov r3, #0xd + add r7, r1, #0x0 + bl sub_0203797C + add r4, r0, #0x0 + ldr r1, [sp, #0x1c] + add r0, #0x22 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x29 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x2a + strb r5, [r0, #0x0] + ldr r0, [sp, #0x18] + cmp r0, #0x0 + bne _02037BE6 + add r0, r4, #0x0 + add r0, #0x2b + strb r6, [r0, #0x0] + b _02037BEE +_02037BE6: + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x2b + strb r1, [r0, #0x0] +_02037BEE: + ldr r1, _02037BFC ; =0x020F96DC + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_02037BFC: .word 0x020F96DC + + thumb_func_start sub_02037C00 +sub_02037C00: ; 0x02037C00 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x30 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x4] + mov r0, #0x1 + strb r0, [r4, #0x11] + strb r6, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9AC + strb r0, [r4, #0x13] + mov r0, #0x0 + strh r0, [r4, #0x18] + strb r0, [r4, #0x12] + ldr r0, [r5, #0xc] + bl sub_0202A918 + str r0, [r4, #0x20] + ldr r0, [r5, #0xc] + bl sub_0206BB28 + str r0, [r4, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02079C70 + str r0, [r4, #0x2c] + mov r0, #0x0 + str r0, [r4, #0x28] + ldr r1, _02037C74 ; =0x020F2A9C + add r0, r4, #0x0 + bl sub_0207B000 + ldr r0, [r5, #0xc] + bl sub_020238F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0207C2A4 + ldr r1, _02037C78 ; =0x020FA6E8 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02037C74: .word 0x020F2A9C +_02037C78: .word 0x020FA6E8 + + thumb_func_start sub_02037C7C +sub_02037C7C: ; 0x02037C7C + push {r4-r6, lr} + ldr r5, [r0, #0xc] + add r0, r1, #0x0 + mov r1, #0x30 + add r6, r2, #0x0 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x30 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_02023900 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0206BB1C + str r0, [r4, #0x0] + mov r0, #0x1 + strb r0, [r4, #0x11] + mov r0, #0x0 + strb r0, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9AC + strb r0, [r4, #0x13] + mov r0, #0x0 + strh r0, [r4, #0x18] + strb r6, [r4, #0x12] + add r0, r5, #0x0 + bl sub_0206BB28 + str r0, [r4, #0x1c] + add r0, r5, #0x0 + bl sub_02079C70 + str r0, [r4, #0x2c] + add r0, r5, #0x0 + bl sub_0202A918 + str r0, [r4, #0x20] + ldr r1, _02037CEC ; =0x020F2BD0 + add r0, r4, #0x0 + bl sub_0207B000 + add r0, r5, #0x0 + bl sub_020238F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0207C2A4 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02037CEC: .word 0x020F2BD0 + + thumb_func_start sub_02037CF0 +sub_02037CF0: ; 0x02037CF0 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r1, #0x30 + add r6, r2, #0x0 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x30 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x4] + mov r0, #0x1 + strb r0, [r4, #0x11] + strb r6, [r4, #0x14] + strb r0, [r4, #0x13] + mov r0, #0x0 + strh r0, [r4, #0x18] + mov r0, #0x2 + strb r0, [r4, #0x12] + ldr r0, [r5, #0xc] + bl sub_0206BB28 + str r0, [r4, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02079C70 + str r0, [r4, #0x2c] + ldr r1, _02037D58 ; =0x020F2BCC + add r0, r4, #0x0 + bl sub_0207B000 + ldr r0, [r5, #0xc] + bl sub_020238F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0207C2A4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0203796C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02037D58: .word 0x020F2BCC + + thumb_func_start sub_02037D5C +sub_02037D5C: ; 0x02037D5C + ldrb r0, [r0, #0x16] + bx lr + + thumb_func_start sub_02037D60 +sub_02037D60: ; 0x02037D60 + ldr r3, _02037D68 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037D6C ; =0x020F2CF4 + bx r3 + .balign 4 +_02037D68: .word sub_020373D4 + 1 +_02037D6C: .word 0x020F2CF4 + + thumb_func_start sub_02037D70 +sub_02037D70: ; 0x02037D70 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046528 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02037D9A + cmp r1, #0x1 + beq _02037DA8 + cmp r1, #0x2 + beq _02037DB8 + b _02037E12 +_02037D9A: + ldr r1, [r5, #0xc] + bl sub_02037E80 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02037E12 +_02037DA8: + bl sub_0204647C + cmp r0, #0x0 + bne _02037E12 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02037E12 +_02037DB8: + ldr r0, [r5, #0xc] + bl sub_020853E4 + cmp r0, #0x0 + bne _02037DCC + ldr r0, [r5, #0xc] + bl sub_020853E8 + cmp r0, #0x0 + bne _02037DD4 +_02037DCC: + ldr r0, [r5, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x0] + b _02037E00 +_02037DD4: + ldr r0, [r5, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x0] + ldr r0, [r5, #0x8] + cmp r0, #0x0 + ldr r0, [r5, #0xc] + bne _02037DEC + bl sub_020853EC + ldr r1, [r5, #0x4] + strh r0, [r1, #0x0] + b _02037E00 +_02037DEC: + add r1, sp, #0x0 + bl sub_020853F0 + add r0, sp, #0x0 + ldrh r2, [r0, #0x0] + ldr r1, [r5, #0x4] + strh r2, [r1, #0x0] + ldrh r1, [r0, #0x2] + ldr r0, [r5, #0x8] + strh r1, [r0, #0x0] +_02037E00: + ldr r0, [r5, #0xc] + bl sub_020853A8 + add r0, r5, #0x0 + bl sub_02016A18 + add sp, #0x4 + mov r0, #0x1 + pop {r3-r6, pc} +_02037E12: + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_02037E18 +sub_02037E18: ; 0x02037E18 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r5, r2, #0x0 + add r6, r3, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + mov r0, #0x20 + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + cmp r6, #0x0 + str r0, [r4, #0x0] + str r5, [r4, #0x4] + str r6, [r4, #0x8] + bne _02037E56 + mov r0, #0x0 + ldr r2, [r7, #0xc] + add r1, r0, #0x0 + mov r3, #0x20 + bl sub_02085338 + str r0, [r4, #0xc] + ldrh r1, [r5, #0x0] + bl sub_020853B0 + b _02037E6C +_02037E56: + ldr r2, [r7, #0xc] + mov r0, #0x1 + mov r1, #0x0 + mov r3, #0x20 + bl sub_02085338 + str r0, [r4, #0xc] + ldrh r1, [r5, #0x0] + ldrh r2, [r6, #0x0] + bl sub_020853B4 +_02037E6C: + ldr r0, [sp, #0x0] + ldr r1, _02037E7C ; =sub_02037D70 + add r2, r4, #0x0 + bl sub_0204640C + add sp, #0x8 + pop {r3-r7, pc} + nop +_02037E7C: .word sub_02037D70 + 1 + + thumb_func_start sub_02037E80 +sub_02037E80: ; 0x02037E80 + ldr r3, _02037E88 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037E8C ; =0x020F2CE4 + bx r3 + .balign 4 +_02037E88: .word sub_020373D4 + 1 +_02037E8C: .word 0x020F2CE4 + + thumb_func_start sub_02037E90 +sub_02037E90: ; 0x02037E90 + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _02037EB4 ; =0x020F2CD4 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02037EB4: .word 0x020F2CD4 + + thumb_func_start sub_02037EB8 +sub_02037EB8: ; 0x02037EB8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E0C + mov r1, #0x5 + mov r0, #0xb + lsl r1, r1, #0x6 + bl sub_020169D8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0205F7A0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02037E90 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02037EE8 +sub_02037EE8: ; 0x02037EE8 + ldr r3, _02037EF0 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037EF4 ; =0x020F2CC4 + bx r3 + .balign 4 +_02037EF0: .word sub_020373D4 + 1 +_02037EF4: .word 0x020F2CC4 + + thumb_func_start sub_02037EF8 +sub_02037EF8: ; 0x02037EF8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x2 + bl sub_020169D8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020377AC + bl sub_02023900 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02037EE8 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02037F1C +sub_02037F1C: ; 0x02037F1C + ldr r3, _02037F24 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037F28 ; =0x020FCAC8 + bx r3 + .balign 4 +_02037F24: .word sub_020373D4 + 1 +_02037F28: .word 0x020FCAC8 + + thumb_func_start sub_02037F2C +sub_02037F2C: ; 0x02037F2C + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020377AC + mov r1, #0xb + str r1, [sp, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_020854E0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02037F1C + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02037F58 +sub_02037F58: ; 0x02037F58 + push {r3-r7, lr} + add r5, r1, #0x0 + add r7, r0, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + cmp r5, #0x3 + bne _02037F74 + bl sub_020377AC + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020855B0 + b _02037F82 +_02037F74: + bl sub_020377AC + add r1, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02085538 +_02037F82: + add r4, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_02037F1C + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02037F90 +sub_02037F90: ; 0x02037F90 + push {r4-r6, lr} + add r4, r1, #0x0 + add r6, r2, #0x0 + add r5, r0, #0x0 + bl sub_020377AC + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02085578 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02037F1C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02037FB4 +sub_02037FB4: ; 0x02037FB4 + ldr r3, _02037FBC ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02037FC0 ; =0x020FD1B0 + bx r3 + .balign 4 +_02037FBC: .word sub_020373D4 + 1 +_02037FC0: .word 0x020FD1B0 + + thumb_func_start sub_02037FC4 +sub_02037FC4: ; 0x02037FC4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + bl sub_020377AC + add r1, r5, #0x0 + bl sub_02087D00 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02037FB4 + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02037FE4 +sub_02037FE4: ; 0x02037FE4 + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _02038008 ; =0x020F2CB4 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02038008: .word 0x020F2CB4 + + thumb_func_start sub_0203800C +sub_0203800C: ; 0x0203800C + push {r3-r7, lr} + add r5, r1, #0x0 + mov r1, #0x20 + add r7, r2, #0x0 + add r6, r3, #0x0 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x20 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r5, #0x0 + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + str r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02027E24 + str r0, [sp, #0x0] + mov r1, #0x0 + bl sub_02027008 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_0202708C + str r7, [r4, #0x4] + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02023900 + str r0, [r4, #0xc] + add r0, r5, #0x0 + bl sub_02029FC8 + str r0, [r4, #0x10] + add r0, r5, #0x0 + bl sub_020238F4 + str r0, [r4, #0x14] + ldr r0, [sp, #0x18] + str r6, [r4, #0x18] + str r0, [r4, #0x1c] + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02038070 +sub_02038070: ; 0x02038070 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _0203808E + cmp r0, #0x1 + beq _0203809E + b _020380C8 +_0203808E: + ldr r1, [r5, #0xc] + add r0, r4, #0x0 + bl sub_0203811C + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _020380C8 +_0203809E: + add r0, r4, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _020380C8 + ldr r0, [r5, #0x8] + cmp r0, #0x1 + bne _020380B2 + mov r1, #0x1 + b _020380B4 +_020380B2: + mov r1, #0x0 +_020380B4: + ldr r0, [r5, #0x4] + strh r1, [r0, #0x0] + ldr r0, [r5, #0xc] + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_020380C8: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020380CC +sub_020380CC: ; 0x020380CC + push {r3-r7, lr} + sub sp, #0x8 + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x20 + mov r1, #0x10 + add r7, r2, #0x0 + str r3, [sp, #0x4] + bl sub_02016998 + add r4, r0, #0x0 + add r2, r4, #0x0 + mov r1, #0x10 + mov r0, #0x0 +_020380E8: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _020380E8 + add r0, sp, #0x10 + ldrh r0, [r0, #0x10] + add r3, r4, #0x0 + add r1, r7, #0x0 + str r0, [sp, #0x0] + ldr r2, [sp, #0x4] + mov r0, #0x20 + add r3, #0x8 + bl sub_0203800C + str r0, [r4, #0xc] + ldr r1, _02038118 ; =sub_02038070 + add r0, r6, #0x0 + add r2, r4, #0x0 + str r5, [r4, #0x4] + bl sub_0204640C + add sp, #0x8 + pop {r3-r7, pc} + nop +_02038118: .word sub_02038070 + 1 + + thumb_func_start sub_0203811C +sub_0203811C: ; 0x0203811C + push {r3, lr} + add r2, r1, #0x0 + ldr r1, _0203812C ; =0x02105DDC + bl sub_020373D4 + mov r0, #0x1 + pop {r3, pc} + nop +_0203812C: .word 0x02105DDC + + thumb_func_start sub_02038130 +sub_02038130: ; 0x02038130 + push {r3, lr} + add r2, r1, #0x0 + ldr r1, _02038140 ; =0x02105DCC + bl sub_020373D4 + mov r0, #0x1 + pop {r3, pc} + nop +_02038140: .word 0x02105DCC + + thumb_func_start sub_02038144 +sub_02038144: ; 0x02038144 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020238F4 + str r0, [r5, #0x4] + ldr r0, [r4, #0xc] + bl sub_0206BB1C + str r0, [r5, #0x8] + ldr r0, [r4, #0xc] + mov r1, #0x9 + bl sub_02022610 + str r0, [r5, #0xc] + ldr r0, [r4, #0xc] + bl sub_02029AFC + str r0, [r5, #0x14] + ldr r0, [r4, #0xc] + bl sub_02023900 + str r0, [r5, #0x18] + ldr r0, [r4, #0xc] + bl sub_02024DA0 + str r0, [r5, #0x24] + ldr r0, [r4, #0xc] + bl sub_0206BB28 + str r0, [r5, #0x30] + ldr r0, [r4, #0xc] + str r0, [r5, #0x10] + add r0, r4, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + str r0, [r5, #0x1c] + ldr r0, [r4, #0xc] + bl sub_02029FC8 + str r0, [r5, #0x20] + bl sub_02023924 + add r1, r0, #0x0 + mov r0, #0x20 + bl sub_02016998 + str r0, [r5, #0x38] + bl sub_020690C4 + add r1, r0, #0x0 + mov r0, #0x20 + bl sub_02016998 + str r0, [r5, #0x3c] + bl sub_020690C4 + add r1, r0, #0x0 + mov r0, #0x20 + bl sub_02016998 + str r0, [r5, #0x40] + str r4, [r5, #0x0] + mov r0, #0x0 + str r0, [r5, #0x34] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020381CC +sub_020381CC: ; 0x020381CC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x38] + cmp r0, #0x0 + beq _020381DE + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x38] +_020381DE: + ldr r0, [r4, #0x3c] + cmp r0, #0x0 + beq _020381EC + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x3c] +_020381EC: + ldr r0, [r4, #0x40] + cmp r0, #0x0 + beq _020381FA + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x40] +_020381FA: + pop {r4, pc} + + thumb_func_start sub_020381FC +sub_020381FC: ; 0x020381FC + push {r4-r7, lr} + sub sp, #0x34 + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x7 + bls _02038218 + b _020383C8 +_02038218: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r1, #0 + lsl r4, r4, #0 + lsl r2, r6, #0 + lsl r4, r0, #0x1 + lsl r2, r4, #0x1 + lsl r0, r2, #0x3 + lsl r0, r4, #0x5 + lsl r4, r1, #0x6 + bl sub_02033590 + cmp r0, #0x0 + bne _02038242 + add r0, r6, #0x0 + bl sub_0204AF3C +_02038242: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020383C8 +_0203824A: + .byte 0x20, 0x1D, 0x29, 0x1C, 0xFF, 0xF7 + .byte 0x79, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x5D, 0x49, 0x30, 0x1C, 0x22, 0x1D, 0x0E, 0xF0 + .byte 0x4F, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xAE, 0xE0, 0xE1, 0x6A, 0x00, 0x29, 0x08, 0xD1 + .byte 0x20, 0x1D, 0xFF, 0xF7, 0xAB, 0xFF, 0x20, 0x1C, 0xDE, 0xF7, 0xCE, 0xFB, 0x0D, 0xB0, 0x01, 0x20 + .byte 0xF0, 0xBD, 0x40, 0x1C, 0x20, 0x60, 0x9F, 0xE0, 0xE0, 0x6B, 0x20, 0x65, 0x20, 0x6C, 0x30, 0xF0 + .byte 0x29, 0xFF, 0xA0, 0x64, 0x60, 0x6C, 0x30, 0xF0, 0x25, 0xFF, 0xE0, 0x64, 0xE8, 0x68, 0xEB, 0xF7 + .byte 0x2F, 0xFB, 0xE0, 0x65, 0x01, 0x20, 0xA0, 0x65, 0x28, 0x1C, 0x12, 0xF0, 0xFB, 0xFF, 0x04, 0x28 + .byte 0x0A, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00 + .byte 0x08, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x00, 0x20, 0x60, 0x65, 0x04, 0xE0, 0x01, 0x20 + .byte 0x60, 0x65, 0x01, 0xE0, 0x02, 0x20, 0x60, 0x65, 0xFB, 0xF7, 0x5A, 0xF9, 0x00, 0x28, 0x01, 0xD0 + .byte 0x03, 0x20, 0x60, 0x65, 0x22, 0x1C, 0x3B, 0x49, 0x30, 0x1C, 0x48, 0x32, 0x0E, 0xF0, 0x08, 0xF9 + .byte 0x05, 0x20, 0x20, 0x60, 0x68, 0xE0, 0x60, 0x6C, 0x06, 0x21, 0x00, 0x22, 0x2E, 0xF0, 0x5E, 0xFF + .byte 0x03, 0x1C, 0x0C, 0xA8, 0x00, 0x90, 0x1B, 0x04, 0x61, 0x6C, 0x00, 0x20, 0x01, 0x22, 0x1B, 0x0C + .byte 0x30, 0xF0, 0x2A, 0xFF, 0x08, 0x90, 0x00, 0x28, 0x32, 0xD0, 0x03, 0x20, 0x1A, 0x21, 0x02, 0x04 + .byte 0xDE, 0xF7, 0x7C, 0xFA, 0xE8, 0x68, 0xEB, 0xF7, 0xEB, 0xFA, 0x09, 0x90, 0xE8, 0x68, 0x41, 0xF0 + .byte 0x9F, 0xFC, 0x06, 0x1C, 0xE8, 0x68, 0xEC, 0xF7, 0x33, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x36, 0xF0 + .byte 0x0B, 0xFF, 0x0A, 0x90, 0xE8, 0x68, 0xF1, 0xF7, 0x3F, 0xFE, 0x0B, 0x90, 0xE8, 0x68, 0x13, 0xF0 + .byte 0x2B, 0xFF, 0x00, 0x96, 0x0A, 0x99, 0x01, 0x97, 0x02, 0x91, 0x0B, 0x99, 0x08, 0x9A, 0x03, 0x91 + .byte 0x04, 0x90, 0x0C, 0x98, 0x09, 0x9B, 0x05, 0x90, 0x04, 0x20, 0x06, 0x90, 0x1A, 0x20, 0x07, 0x90 + .byte 0x61, 0x6C, 0x00, 0x20, 0x34, 0xF0, 0xC4, 0xF9, 0x20, 0x66, 0x06, 0x20, 0x20, 0x60, 0x23, 0xE0 + .byte 0x07, 0x20, 0x20, 0x60, 0x20, 0xE0, 0x20, 0x6E, 0x34, 0xF0, 0xC8, 0xFA, 0x00, 0x28, 0x1B, 0xD0 + .byte 0xE0, 0x68, 0x21, 0x6B, 0x33, 0xF0, 0x0C, 0xFB, 0x01, 0x1C, 0x60, 0x6C, 0x31, 0xF0, 0xF4, 0xFB + .byte 0x20, 0x6E, 0x34, 0xF0, 0xC3, 0xFA, 0x1A, 0x20, 0xDE, 0xF7, 0x92, 0xFA, 0x07, 0x20, 0x20, 0x60 + .byte 0x0A, 0xE0, 0xA0, 0x6B, 0x40, 0x1C, 0xA0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xE8, 0x68, 0xF1, 0xF7 + .byte 0x03, 0xFE, 0x10, 0x21, 0xF1, 0xF7, 0xD4, 0xFE +_020383C8: + mov r0, #0x0 + add sp, #0x34 + pop {r4-r7, pc} + nop +_020383D0: + .byte 0xBC, 0x5D, 0x10, 0x02, 0xA4, 0x2C, 0x0F, 0x02 + + thumb_func_start sub_020383D8 +sub_020383D8: ; 0x020383D8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x20 + mov r1, #0x68 + bl sub_02016998 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + ldr r1, _020383F4 ; =sub_020381FC + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_020383F4: .word sub_020381FC + 1 + + thumb_func_start sub_020383F8 +sub_020383F8: ; 0x020383F8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x20 + mov r1, #0xc + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0x7c] + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x8] + ldr r1, _02038428 ; =0x020F2C94 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + pop {r3-r5, pc} + nop +_02038428: .word 0x020F2C94 + + thumb_func_start sub_0203842C +sub_0203842C: ; 0x0203842C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x14 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + str r0, [r4, #0x0] + ldr r0, [r5, #0x7c] + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + str r0, [r4, #0xc] + add r0, r5, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + ldr r1, _02038468 ; =0x020F2D04 + str r0, [r4, #0x10] + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02038468: .word 0x020F2D04 + + thumb_func_start sub_0203846C +sub_0203846C: ; 0x0203846C + ldr r3, _02038474 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02038478 ; =0x020F2D54 + bx r3 + .balign 4 +_02038474: .word sub_020373D4 + 1 +_02038478: .word 0x020F2D54 + + thumb_func_start sub_0203847C +sub_0203847C: ; 0x0203847C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x3 + bhi _02038544 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r2, #0 + lsl r6, r4, #0 + lsl r4, r6, #0 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02038544 +_020384B6: + .byte 0x24, 0x49, 0xE2, 0x68, 0x28, 0x1C, 0x0E, 0xF0, 0x20, 0xF8 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x28, 0x1C, 0x12, 0xF0, 0x5B, 0xFD, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x36, 0xE0, 0xE1, 0x68, 0x08, 0x68, 0x01, 0x28, 0x09, 0xD1, 0x88, 0x69 + .byte 0x21, 0x69, 0xE9, 0xF7, 0xFD, 0xFB, 0x00, 0x28, 0x14, 0xD1, 0xE0, 0x68, 0x01, 0x21, 0x41, 0x61 + .byte 0x10, 0xE0, 0x05, 0x28, 0x0E, 0xD1, 0x88, 0x69, 0xE9, 0xF7, 0x18, 0xFD, 0x07, 0x1C, 0xF0, 0x68 + .byte 0xF0, 0xF7, 0x8C, 0xF9, 0x39, 0x1C, 0xF0, 0xF7, 0xA5, 0xF9, 0x00, 0x28, 0x02, 0xD0, 0xE0, 0x68 + .byte 0x02, 0x21, 0x41, 0x61, 0xE0, 0x68, 0x40, 0x69, 0x00, 0x28, 0x02, 0xD1, 0x28, 0x1C, 0x00, 0xF0 + .byte 0x15, 0xF8, 0xA1, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xE0, 0x68, 0x40, 0x69, 0x08, 0x80, 0xE0, 0x68 + .byte 0x3F, 0xF0, 0xC8, 0xFA, 0x20, 0x69, 0xE9, 0xF7, 0x73, 0xFA, 0x20, 0x1C, 0xDE, 0xF7, 0x6C, 0xFA + .byte 0x01, 0x20, 0xF8, 0xBD +_02038544: + mov r0, #0x0 + pop {r3-r7, pc} +_02038548: + .byte 0xFC, 0xA5, 0x0F, 0x02 + + thumb_func_start sub_0203854C +sub_0203854C: ; 0x0203854C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r0, [r0, #0x0] + cmp r0, #0x6 + bhi _020385CA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r3, #0 + lsl r6, r2, #0x1 + lsl r6, r2, #0x1 + lsl r6, r2, #0x1 + lsl r4, r6, #0 + lsl r0, r1, #0x1 + ldr r0, [r5, #0xc] + bl sub_020238F4 + ldr r1, [r4, #0xc] + add r1, #0x1c + bl sub_0202395C + pop {r3-r5, pc} +_02038590: + .byte 0xE8, 0x68, 0x33, 0xF0, 0xC3, 0xFA, 0x61, 0x68, 0x33, 0xF0, 0x0A, 0xFA, 0xE2, 0x68, 0x75, 0x21 + .byte 0x1C, 0x32, 0x2F, 0xF0, 0x45, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xF0, 0xF7, 0x37, 0xF9, 0xE3, 0x68 + .byte 0x00, 0x21, 0x9B, 0x69, 0x0A, 0x1C, 0xF0, 0xF7, 0x03, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xEC, 0xF7 + .byte 0x79, 0xFC, 0xE1, 0x68, 0x89, 0x69, 0xEC, 0xF7, 0xA7, 0xFC +_020385CA: + pop {r3-r5, pc} + + thumb_func_start sub_020385CC +sub_020385CC: ; 0x020385CC + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x4] + add r6, r1, #0x0 + str r2, [sp, #0x8] + str r3, [sp, #0xc] + ldr r5, [sp, #0x2c] + bl sub_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x14 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + ldr r0, [sp, #0x28] + str r0, [r4, #0x4] + ldr r0, [sp, #0x30] + str r0, [r4, #0x8] + ldr r0, [r7, #0xc] + bl sub_02023900 + str r0, [sp, #0x0] + ldr r2, [sp, #0x8] + ldr r3, [sp, #0xc] + mov r0, #0xb + add r1, r6, #0x0 + bl sub_02077A84 + str r0, [r4, #0xc] + mov r0, #0xc + mov r1, #0xb + bl sub_020219F4 + str r0, [r4, #0x10] + cmp r6, #0x1 + beq _02038620 + cmp r6, #0x5 + beq _02038656 + b _02038660 +_02038620: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + ldr r1, [r4, #0x4] + bl sub_0206B9B0 + mov r1, #0x6f + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + ldr r1, [r4, #0xc] + mov r2, #0x0 + str r0, [r1, #0x10] + add r0, r6, #0x0 + mov r1, #0x70 + bl sub_020671BC + ldr r1, [r4, #0xc] + cmp r5, #0x0 + str r0, [r1, #0x8] + beq _0203866E + ldr r0, [r4, #0x10] + add r1, r5, #0x0 + bl sub_02021E28 + b _0203866E +_02038656: + ldr r0, [r4, #0x10] + add r1, r5, #0x0 + bl sub_02021E28 + b _0203866E +_02038660: + cmp r5, #0x0 + beq _0203866E + ldr r0, [r4, #0xc] + add r1, r5, #0x0 + ldr r0, [r0, #0x18] + bl sub_02021E28 +_0203866E: + ldr r0, [sp, #0x4] + ldr r1, _0203867C ; =sub_0203847C + add r2, r4, #0x0 + bl sub_0204640C + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0203867C: .word sub_0203847C + 1 + + thumb_func_start sub_02038680 +sub_02038680: ; 0x02038680 + ldr r3, _02038688 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _0203868C ; =0x020F2C54 + bx r3 + .balign 4 +_02038688: .word sub_020373D4 + 1 +_0203868C: .word 0x020F2C54 + + thumb_func_start sub_02038690 +sub_02038690: ; 0x02038690 + push {r3, lr} + add r2, r1, #0x0 + ldr r1, _020386A0 ; =0x020F2C44 + bl sub_020373D4 + mov r0, #0x1 + pop {r3, pc} + nop +_020386A0: .word 0x020F2C44 + + thumb_func_start sub_020386A4 +sub_020386A4: ; 0x020386A4 + ldr r3, _020386AC ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _020386B0 ; =0x020F2C34 + bx r3 + .balign 4 +_020386AC: .word sub_020373D4 + 1 +_020386B0: .word 0x020F2C34 + + thumb_func_start sub_020386B4 +sub_020386B4: ; 0x020386B4 + push {r3-r5, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02029ABC + ldr r5, _020386DC ; =0x020F2C24 + add r3, sp, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r1, r2, #0x0 + ldr r2, [r4, #0xc] + add r0, r4, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_020386DC: .word 0x020F2C24 + + thumb_func_start sub_020386E0 +sub_020386E0: ; 0x020386E0 + push {r4-r6, lr} + sub sp, #0x10 + ldr r3, _0203878C ; =0x020F2C64 + add r2, sp, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0xb + mov r1, #0x44 + bl sub_020169D8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0202ABBC + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_02023788 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + mov r1, #0x2 + bl sub_02022610 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02022510 + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_02024DA0 + str r0, [r4, #0x10] + ldr r0, [r5, #0xc] + bl sub_020286EC + str r0, [r4, #0x14] + ldr r0, [r5, #0xc] + bl sub_02029AFC + str r0, [r4, #0x18] + ldr r0, [r5, #0xc] + bl sub_020238F4 + str r0, [r4, #0x1c] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x24] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + str r0, [r4, #0x28] + add r0, r5, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + str r0, [r4, #0x2c] + ldr r0, [r5, #0xc] + bl sub_02079C70 + str r0, [r4, #0x3c] + ldr r0, [r5, #0xc] + str r0, [r4, #0x20] + ldr r0, [r5, #0xc] + bl sub_0206BB28 + str r0, [r4, #0x34] + ldr r0, [r4, #0x14] + bl sub_02033830 + str r0, [r4, #0x38] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x30] + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, r4, #0x0 + str r6, [r4, #0x40] + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0203878C: .word 0x020F2C64 + + thumb_func_start sub_02038790 +sub_02038790: ; 0x02038790 + push {r3-r7, lr} + sub sp, #0x10 + ldr r3, _02038800 ; =0x020F2C74 + add r7, r2, #0x0 + add r2, sp, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r0, #0xb + mov r1, #0x28 + bl sub_020169D8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0202A8D8 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0202A8E4 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02023788 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0x10] + ldr r0, [r5, #0xc] + bl sub_020286EC + bl sub_02028228 + str r0, [r4, #0x14] + ldr r0, [r5, #0xc] + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_020286EC + bl sub_02033830 + str r0, [r4, #0x1c] + str r6, [r4, #0x18] + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, r4, #0x0 + str r7, [r4, #0x24] + bl sub_020373D4 + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02038800: .word 0x020F2C74 + + thumb_func_start sub_02038804 +sub_02038804: ; 0x02038804 + ldr r3, _0203880C ; =sub_020373D4 + ldr r1, _02038810 ; =0x020F2D14 + ldr r2, [r0, #0xc] + bx r3 + .balign 4 +_0203880C: .word sub_020373D4 + 1 +_02038810: .word 0x020F2D14 + + thumb_func_start sub_02038814 +sub_02038814: ; 0x02038814 + ldr r3, _0203881C ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02038820 ; =0x020F2D64 + bx r3 + .balign 4 +_0203881C: .word sub_020373D4 + 1 +_02038820: .word 0x020F2D64 + + thumb_func_start sub_02038824 +sub_02038824: ; 0x02038824 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r1, #0xb + add r2, sp, #0x0 + bl sub_02022534 + ldr r1, [sp, #0x0] + add r4, r0, #0x0 + cmp r1, #0x2 + bne _02038842 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_02038842: + ldr r1, _02038850 ; =0x020F2BF4 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02038850: .word 0x020F2BF4 + + thumb_func_start sub_02038854 +sub_02038854: ; 0x02038854 + ldr r3, _0203885C ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _02038860 ; =0x020F2C04 + bx r3 + .balign 4 +_0203885C: .word sub_020373D4 + 1 +_02038860: .word 0x020F2C04 + + thumb_func_start sub_02038864 +sub_02038864: ; 0x02038864 + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _02038888 ; =0x020F2C84 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02038888: .word 0x020F2C84 + + thumb_func_start sub_0203888C +sub_0203888C: ; 0x0203888C + push {r4-r6, lr} + sub sp, #0x10 + ldr r5, _020388B0 ; =0x020F2D84 + add r4, sp, #0x0 + add r6, r0, #0x0 + add r2, r1, #0x0 + add r3, r4, #0x0 + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + add r0, r6, #0x0 + add r1, r3, #0x0 + bl sub_020373D4 + add sp, #0x10 + pop {r4-r6, pc} + nop +_020388B0: .word 0x020F2D84 + + thumb_func_start sub_020388B4 +sub_020388B4: ; 0x020388B4 + push {r3-r5, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + bl sub_021ED49C + add r5, r0, #0x0 + bne _020388CC + bl sub_02020C2C +_020388CC: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020613CC + str r5, [sp, #0x0] + ldr r0, [r4, #0xc] + bl sub_02023900 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + bl sub_020238F4 + str r0, [sp, #0x8] + ldr r1, [r4, #0x1c] + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + bl sub_0204AB58 + add r1, sp, #0x0 + strh r0, [r1, #0xc] + ldr r0, [r4, #0x10] + add r1, sp, #0x0 + bl sub_020863DC + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02038900 +sub_02038900: ; 0x02038900 + push {r3, lr} + add r2, r1, #0x0 + ldr r1, _02038910 ; =0x020F2C14 + bl sub_020373D4 + mov r0, #0x1 + pop {r3, pc} + nop +_02038910: .word 0x020F2C14 + + thumb_func_start sub_02038914 +sub_02038914: ; 0x02038914 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + cmp r0, #0x0 + beq _02038944 + cmp r0, #0x1 + beq _02038956 + b _020389C6 +_02038944: + add r5, #0xc + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02038900 + ldr r0, [r6, #0x0] + add r0, r0, #0x1 + str r0, [r6, #0x0] + b _020389C6 +_02038956: + add r0, r4, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _020389C6 + ldr r0, [r4, #0xc] + bl sub_0202390C + str r0, [sp, #0x0] + bl sub_020126FC + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + add r6, r1, #0x0 + bl sub_02028930 + str r0, [sp, #0x8] + ldr r0, [r5, #0x4] + ldr r1, [r5, #0x8] + ldr r2, [sp, #0x4] + add r3, r6, #0x0 + bl sub_020127C0 + mov r2, #0x3c + mov r3, #0x0 + blx sub_020EBA38 + add r3, r0, #0x0 + ldr r1, [sp, #0x8] + ldr r2, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02061A8C + ldr r0, [r4, #0xc] + bl sub_0202390C + ldr r1, [r5, #0x0] + bl sub_02028918 + add r0, r7, #0x0 + bl sub_0205F6C8 + ldr r1, [r5, #0x18] + cmp r1, r0 + ble _020389BA + lsl r1, r1, #0x10 + add r0, r7, #0x0 + lsr r1, r1, #0x10 + bl sub_0205F6D8 +_020389BA: + add r0, r5, #0x0 + bl sub_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_020389C6: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_020389CC +sub_020389CC: ; 0x020389CC + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [sp, #0x0] + mov r0, #0x20 + add r1, r0, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + str r4, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_0202390C + bl sub_02028930 + str r0, [r4, #0x0] + bl sub_020126FC + str r0, [r4, #0x4] + str r1, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + str r0, [r4, #0x14] + mov r0, #0x0 + str r0, [r4, #0x18] + ldr r0, [sp, #0x0] + bl sub_02025084 + str r0, [r4, #0x1c] + lsl r1, r6, #0x18 + ldr r0, [r5, #0xc] + lsr r1, r1, #0x18 + bl sub_02038A3C + str r0, [r4, #0x10] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x5 + bl sub_0202A170 + ldr r1, _02038A38 ; =sub_02038914 + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02038A38: .word sub_02038914 + 1 + + thumb_func_start sub_02038A3C +sub_02038A3C: ; 0x02038A3C + push {r4-r7, lr} + sub sp, #0x14 + str r1, [sp, #0x0] + bl sub_0202881C + add r4, r0, #0x0 + bl sub_0201B9D4 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_020287A4 + bl sub_0201B9E0 + ldr r0, _02038AAC ; =0x020F2BE8 + add r1, sp, #0x8 + mov r2, #0xc + blx sub_020CE3E0 + mov r4, #0x0 + mov r7, #0xc + add r6, sp, #0x8 +_02038A68: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0xc + bhs _02038A92 +_02038A72: + bl sub_0201B9EC + add r1, r7, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x18 + lsr r2, r0, #0x18 + ldrb r1, [r6, r4] + ldrb r0, [r6, r2] + strb r0, [r6, r4] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + strb r1, [r6, r2] + cmp r5, #0xc + blo _02038A72 +_02038A92: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0xc + blo _02038A68 + ldr r0, [sp, #0x4] + bl sub_0201B9E0 + ldr r0, [sp, #0x0] + add r1, sp, #0x8 + ldrb r0, [r1, r0] + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02038AAC: .word 0x020F2BE8 + + thumb_func_start sub_02038AB0 +sub_02038AB0: ; 0x02038AB0 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + bl sub_0224D79C + cmp r0, #0x1 + bne _02038ACA + add r0, r4, #0x0 + bl sub_0224D76C + mov r0, #0x1 + pop {r4, pc} +_02038ACA: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02038AD0 +sub_02038AD0: ; 0x02038AD0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r2, r0, #0x0 + ldr r1, [r2, #0xc] + ldr r2, [r2, #0x8] + mov r0, #0x4 + bl sub_0224D70C + add r2, r0, #0x0 + ldr r1, _02038AF0 ; =sub_02038AB0 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_02038AF0: .word sub_02038AB0 + 1 + + thumb_func_start sub_02038AF4 +sub_02038AF4: ; 0x02038AF4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x8 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + str r6, [r4, #0x4] + ldr r0, [r5, #0xc] + ldr r1, _02038B18 ; =0x020F2DA4 + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02038B18: .word 0x020F2DA4 + + thumb_func_start sub_02038B1C +sub_02038B1C: ; 0x02038B1C + push {r3-r4} + mov r3, #0x0 + strb r3, [r0, #0x1] + str r3, [r0, #0x8] + strb r3, [r0, #0x0] + str r3, [r0, #0x4] + str r1, [r0, #0x5c] + str r2, [r0, #0x60] + add r1, r0, #0x0 + add r4, r3, #0x0 +_02038B30: + add r3, r3, #0x1 + str r4, [r1, #0x64] + add r1, r1, #0x4 + cmp r3, #0x4 + blo _02038B30 + add r2, r0, #0x0 + mov r1, #0x0 +_02038B3E: + add r4, r4, #0x1 + str r1, [r2, #0xc] + add r2, r2, #0x4 + cmp r4, #0x14 + blo _02038B3E + str r1, [r0, #0x74] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02038B50 +sub_02038B50: ; 0x02038B50 + str r1, [r0, #0x8] + mov r1, #0x1 + strb r1, [r0, #0x1] + add r0, r1, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02038B5C +sub_02038B5C: ; 0x02038B5C + mov r2, #0x2 + strb r2, [r0, #0x1] + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02038B64 +sub_02038B64: ; 0x02038B64 + mov r1, #0x0 + strb r1, [r0, #0x1] + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02038B6C +sub_02038B6C: ; 0x02038B6C + str r1, [r0, #0x74] + bx lr + + thumb_func_start sub_02038B70 +sub_02038B70: ; 0x02038B70 + push {r4, lr} + add r4, r0, #0x0 + ldrb r1, [r4, #0x1] + cmp r1, #0x0 + bne _02038B7E + mov r0, #0x0 + pop {r4, pc} +_02038B7E: + beq _02038B8A + cmp r1, #0x1 + beq _02038BA6 + cmp r1, #0x2 + beq _02038B8E + b _02038BD8 +_02038B8A: + mov r0, #0x0 + pop {r4, pc} +_02038B8E: + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _02038BA2 + blx r1 + cmp r0, #0x1 + bne _02038B9E + mov r0, #0x1 + strb r0, [r4, #0x1] +_02038B9E: + mov r0, #0x1 + pop {r4, pc} +_02038BA2: + mov r0, #0x1 + strb r0, [r4, #0x1] +_02038BA6: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _02038BB2 + mov r0, #0x0 + strb r0, [r4, #0x1] + pop {r4, pc} +_02038BB2: + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + ldr r0, [r4, #0x60] + cmp r1, r0 + blo _02038BCA + bl sub_02020C2C + mov r0, #0x0 + strb r0, [r4, #0x1] + pop {r4, pc} +_02038BCA: + ldr r2, [r4, #0x5c] + lsl r1, r1, #0x2 + ldr r1, [r2, r1] + add r0, r4, #0x0 + blx r1 + cmp r0, #0x1 + bne _02038BA6 +_02038BD8: + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_02038BDC +sub_02038BDC: ; 0x02038BDC + ldrb r3, [r0, #0x0] + add r2, r3, #0x1 + cmp r2, #0x14 + blt _02038BE8 + mov r0, #0x1 + bx lr +_02038BE8: + lsl r2, r3, #0x2 + add r2, r0, r2 + str r1, [r2, #0xc] + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + mov r0, #0x0 + bx lr + + thumb_func_start sub_02038BF8 +sub_02038BF8: ; 0x02038BF8 + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + bne _02038C02 + mov r0, #0x0 + bx lr +_02038C02: + sub r1, r1, #0x1 + strb r1, [r0, #0x0] + ldrb r1, [r0, #0x0] + lsl r1, r1, #0x2 + add r0, r0, r1 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02038C10 +sub_02038C10: ; 0x02038C10 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02038C14 +sub_02038C14: ; 0x02038C14 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x8] + bl sub_02038BDC + str r4, [r5, #0x8] + pop {r3-r5, pc} + + thumb_func_start sub_02038C24 +sub_02038C24: ; 0x02038C24 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038BF8 + str r0, [r4, #0x8] + pop {r4, pc} + + thumb_func_start sub_02038C30 +sub_02038C30: ; 0x02038C30 + ldr r1, [r0, #0x8] + add r3, r1, #0x1 + str r3, [r0, #0x8] + ldrb r2, [r1, #0x0] + add r1, r3, #0x1 + str r1, [r0, #0x8] + ldrb r0, [r3, #0x0] + lsl r0, r0, #0x8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_02038C48 +sub_02038C48: ; 0x02038C48 + push {r4-r5} + ldr r1, [r0, #0x8] + add r2, r1, #0x1 + str r2, [r0, #0x8] + ldrb r3, [r1, #0x0] + add r1, r2, #0x1 + add r5, r1, #0x1 + str r1, [r0, #0x8] + ldrb r2, [r2, #0x0] + add r4, r5, #0x1 + str r5, [r0, #0x8] + ldrb r1, [r1, #0x0] + str r4, [r0, #0x8] + ldrb r0, [r5, #0x0] + mov r4, #0x0 + add r0, r4, r0 + lsl r0, r0, #0x8 + add r0, r0, r1 + lsl r0, r0, #0x8 + add r0, r0, r2 + lsl r0, r0, #0x8 + add r0, r0, r3 + pop {r4-r5} + bx lr + + thumb_func_start sub_02038C78 +sub_02038C78: ; 0x02038C78 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02038E20 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_02038E60 + ldr r1, _02038CA4 ; =sub_02038D48 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463CC + pop {r3-r7, pc} + nop +_02038CA4: .word sub_02038D48 + 1 + + thumb_func_start sub_02038CA8 +sub_02038CA8: ; 0x02038CA8 + push {r4-r6, lr} + ldr r0, [r0, #0x10] + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_0204652C + ldr r2, [sp, #0x1c] + mov r1, #0x1c + add r3, r2, #0x0 + add r0, #0x50 + mul r3, r1 + add r1, r0, r3 + str r4, [r0, r3] + ldr r0, [sp, #0x10] + str r6, [r1, #0x4] + str r0, [r1, #0x8] + ldr r0, [sp, #0x14] + str r0, [r1, #0xc] + ldr r0, [sp, #0x18] + str r0, [r1, #0x10] + str r5, [r1, #0x14] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02038CD8 +sub_02038CD8: ; 0x02038CD8 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r7, r1, #0x0 + str r2, [sp, #0x4] + add r5, r3, #0x0 + bl sub_02046528 + str r0, [sp, #0x8] + bl sub_02038E20 + add r4, r0, #0x0 + ldr r0, [sp, #0x8] + ldr r3, [sp, #0x4] + add r1, r4, #0x0 + add r2, r7, #0x0 + str r5, [sp, #0x0] + bl sub_02038E60 + ldr r1, _02038D0C ; =sub_02038D48 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02038D0C: .word sub_02038D48 + 1 + + thumb_func_start sub_02038D10 +sub_02038D10: ; 0x02038D10 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02046528 + str r0, [sp, #0x4] + bl sub_02038E20 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_02038E60 + ldr r1, _02038D44 ; =sub_02038D48 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463EC + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02038D44: .word sub_02038D48 + 1 + + thumb_func_start sub_02038D48 +sub_02038D48: ; 0x02038D48 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + ldrb r1, [r4, #0x4] + str r0, [sp, #0x0] + cmp r1, #0x0 + beq _02038D68 + cmp r1, #0x1 + beq _02038D9E + b _02038E1A +_02038D68: + ldrh r1, [r4, #0xa] + bl sub_02038EB0 + str r0, [r4, #0x38] + mov r0, #0x1 + strb r0, [r4, #0x9] + mov r0, #0x8 + mov r1, #0x40 + mov r2, #0xb + bl sub_0200AA90 + str r0, [r4, #0x40] + mov r0, #0x1 + lsl r0, r0, #0xa + mov r1, #0xb + bl sub_020219F4 + str r0, [r4, #0x44] + mov r0, #0x1 + lsl r0, r0, #0xa + mov r1, #0xb + bl sub_020219F4 + str r0, [r4, #0x48] + ldrb r0, [r4, #0x4] + add r0, r0, #0x1 + strb r0, [r4, #0x4] +_02038D9E: + mov r0, #0x0 + add r7, r4, #0x0 + str r0, [sp, #0x4] + add r5, r4, #0x0 + add r7, #0x9 +_02038DA8: + ldr r6, [r5, #0x38] + cmp r6, #0x0 + beq _02038DD2 + add r0, r6, #0x0 + bl sub_02038B70 + cmp r0, #0x0 + bne _02038DD2 + add r0, r6, #0x0 + bl sub_02038E48 + ldrb r0, [r4, #0x9] + cmp r0, #0x0 + bne _02038DC8 + bl sub_02020C2C +_02038DC8: + mov r0, #0x0 + str r0, [r5, #0x38] + ldrb r0, [r7, #0x0] + sub r0, r0, #0x1 + strb r0, [r7, #0x0] +_02038DD2: + ldr r0, [sp, #0x4] + add r5, r5, #0x4 + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, #0x2 + blt _02038DA8 + ldrb r0, [r4, #0x9] + cmp r0, #0x0 + bne _02038E1A + add r0, r4, #0x0 + add r0, #0xa4 + ldr r5, [r0, #0x0] + ldr r0, [r4, #0x40] + bl sub_0200AB18 + ldr r0, [r4, #0x44] + bl sub_02021A20 + ldr r0, [r4, #0x48] + bl sub_02021A20 + mov r0, #0x0 + str r0, [r4, #0x0] + add r0, r4, #0x0 + bl sub_02016A18 + cmp r5, #0x0 + beq _02038E14 + ldr r0, [sp, #0x0] + blx r5 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_02038E14: + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02038E1A: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02038E20 +sub_02038E20: ; 0x02038E20 + push {r4, lr} + mov r0, #0xb + mov r1, #0xdc + bl sub_02016998 + add r4, r0, #0x0 + bne _02038E32 + bl sub_02020C2C +_02038E32: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0xdc + blx sub_020DF4A4 + ldr r0, _02038E44 ; =0x0003643F + str r0, [r4, #0x0] + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_02038E44: .word 0x0003643F + + thumb_func_start sub_02038E48 +sub_02038E48: ; 0x02038E48 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x78] + bl sub_0200A8B8 + ldr r0, [r4, #0x7c] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02038E60 +sub_02038E60: ; 0x02038E60 + push {r3-r7, lr} + add r5, r1, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x36 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02039300 + str r0, [sp, #0x0] + ldr r0, [r7, #0x38] + bl sub_020552F8 + str r0, [r5, #0x28] + str r6, [r5, #0x2c] + ldr r0, [sp, #0x18] + strh r4, [r5, #0xa] + str r0, [r5, #0x34] + cmp r6, #0x0 + beq _02038E92 + add r0, r6, #0x0 + bl sub_02058448 + ldr r1, [sp, #0x0] + strh r0, [r1, #0x0] +_02038E92: + mov r0, #0x7d + lsl r0, r0, #0x6 + cmp r4, r0 + blo _02038EA8 + ldr r0, _02038EAC ; =0x0000225F + cmp r4, r0 + bhi _02038EA8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020396E8 +_02038EA8: + pop {r3-r7, pc} + nop +_02038EAC: .word 0x0000225F + + thumb_func_start sub_02038EB0 +sub_02038EB0: ; 0x02038EB0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x84 + bl sub_02016998 + add r4, r0, #0x0 + bne _02038EC6 + bl sub_02020C2C +_02038EC6: + ldr r2, _02038EE4 ; =0x020F34DC + ldr r1, _02038EE8 ; =0x020F355C + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + bl sub_02038B1C + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + bl sub_02038EEC + add r0, r4, #0x0 + pop {r4-r6, pc} + nop +_02038EE4: .word 0x020F34DC +_02038EE8: .word 0x020F355C + + thumb_func_start sub_02038EEC +sub_02038EEC: ; 0x02038EEC + push {r4-r6, lr} + add r4, r1, #0x0 + add r3, r4, #0x0 + add r5, r0, #0x0 + add r3, #0x80 + str r5, [r3, #0x0] + bl sub_02038F18 + add r6, r0, #0x0 + ldr r1, [r4, #0x7c] + add r0, r4, #0x0 + bl sub_02038B50 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02039484 + ldr r1, [r5, #0x10] + add r0, r4, #0x0 + bl sub_02038B6C + pop {r4-r6, pc} + + thumb_func_start sub_02038F18 +sub_02038F18: ; 0x02038F18 + push {r3-r5, lr} + ldr r3, _02039210 ; =0x0000283C + add r4, r2, #0x0 + cmp r4, r3 + blo _02038F36 + mov r3, #0x1f + ldr r2, _02039214 ; =0x000003D1 + lsl r3, r3, #0x4 + bl sub_020392B4 + ldr r0, _02039210 ; =0x0000283C + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038F36: + add r2, r3, #0x0 + sub r2, #0x64 + cmp r4, r2 + blo _02038F52 + ldr r2, _02039218 ; =0x00000175 + add r3, r2, #0x0 + sub r3, #0x29 + bl sub_020392B4 + ldr r0, _0203921C ; =0x000027D8 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038F52: + add r2, r3, #0x0 + sub r2, #0x96 + cmp r4, r2 + blo _02038F6C + ldr r2, _02039220 ; =0x00000412 + ldr r3, _02039224 ; =0x00000232 + bl sub_020392B4 + ldr r0, _02039228 ; =0x000027A6 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038F6C: + sub r3, #0xc8 + cmp r4, r3 + blo _02038F84 + ldr r2, _0203922C ; =0x00000411 + ldr r3, _02039230 ; =0x00000233 + bl sub_020392B4 + ldr r0, _02039234 ; =0x00002774 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038F84: + ldr r3, _02039238 ; =0x00002710 + cmp r4, r3 + blo _02038F9E + ldr r2, _0203923C ; =0x00000177 + add r3, r2, #0x0 + sub r3, #0x29 + bl sub_020392B4 + ldr r0, _02039238 ; =0x00002710 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038F9E: + add r2, r3, #0x0 + sub r2, #0x32 + cmp r4, r2 + blo _02038FBC + mov r2, #0x5e + lsl r2, r2, #0x2 + add r3, r2, #0x0 + sub r3, #0x29 + bl sub_020392B4 + ldr r0, _02039240 ; =0x000026DE + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038FBC: + add r2, r3, #0x0 + sub r2, #0x64 + cmp r4, r2 + blo _02038FD6 + ldr r2, _02039244 ; =0x0000016D + mov r3, #0xc7 + bl sub_020392B4 + ldr r0, _02039248 ; =0x000026AC + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038FD6: + add r2, r3, #0x0 + sub r2, #0xc8 + cmp r4, r2 + blo _02038FF0 + mov r2, #0xce + mov r3, #0xcb + bl sub_020392B4 + ldr r0, _0203924C ; =0x00002648 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02038FF0: + ldr r5, _02039250 ; =0x000025E4 + cmp r4, r5 + blo _0203900A + ldr r2, _02039254 ; =0x00000183 + add r3, r2, #0x0 + sub r3, #0x9 + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_0203900A: + add r2, r5, #0x0 + sub r2, #0x64 + cmp r4, r2 + blo _02039026 + ldr r2, _02039258 ; =0x00000179 + mov r3, #0xc7 + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, #0x64 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039026: + sub r5, #0xc8 + cmp r4, r5 + blo _02039042 + mov r2, #0x1d + lsl r2, r2, #0x4 + add r3, r2, #0x0 + add r3, #0x1c + bl sub_020392B4 + ldr r0, _0203925C ; =0x0000251C + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039042: + ldr r5, _02039260 ; =0x000024B8 + cmp r4, r5 + blo _0203905C + ldr r2, _02039264 ; =0x00000187 + add r3, r2, #0x0 + sub r3, #0xa + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_0203905C: + add r2, r5, #0x0 + sub r2, #0x64 + cmp r4, r2 + blo _0203907C + mov r2, #0x5d + lsl r2, r2, #0x2 + add r3, r2, #0x0 + sub r3, #0x2b + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, #0x64 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_0203907C: + sub r5, #0xc8 + cmp r4, r5 + blo _02039098 + mov r2, #0x61 + lsl r2, r2, #0x2 + add r3, r2, #0x0 + sub r3, #0x9 + bl sub_020392B4 + ldr r0, _02039268 ; =0x000023F0 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039098: + ldr r2, _0203926C ; =0x0000238C + cmp r4, r2 + blo _020390B0 + mov r2, #0x0 + mov r3, #0x9 + bl sub_020392B4 + ldr r0, _0203926C ; =0x0000238C + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020390B0: + add r5, r2, #0x0 + sub r5, #0x64 + cmp r4, r5 + blo _020390CA + mov r2, #0xcf + add r3, r2, #0x0 + bl sub_020392B4 + ldr r0, _02039270 ; =0x00002328 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020390CA: + add r5, r2, #0x0 + sub r5, #0x82 + cmp r4, r5 + blo _020390E4 + ldr r2, _02039274 ; =0x00000186 + mov r3, #0x7 + bl sub_020392B4 + ldr r0, _02039278 ; =0x0000230A + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020390E4: + add r5, r2, #0x0 + sub r5, #0x96 + cmp r4, r5 + blo _02039100 + ldr r2, _0203927C ; =0x000001CF + add r3, r2, #0x0 + add r3, #0x17 + bl sub_020392B4 + ldr r0, _02039280 ; =0x000022F6 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039100: + sub r2, #0xc8 + cmp r4, r2 + blo _0203911A + ldr r2, _02039284 ; =0x00000185 + add r3, r2, #0x0 + sub r3, #0x9 + bl sub_020392B4 + ldr r0, _02039288 ; =0x000022C4 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_0203911A: + ldr r2, _0203928C ; =0x00002260 + cmp r4, r2 + blo _02039134 + ldr r2, _02039290 ; =0x000001CE + add r3, r2, #0x0 + add r3, #0x17 + bl sub_020392B4 + ldr r0, _0203928C ; =0x00002260 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039134: + mov r2, #0x7d + lsl r2, r2, #0x6 + cmp r4, r2 + blo _02039152 + ldr r2, _02039294 ; =0x00000176 + add r3, r2, #0x0 + sub r3, #0x29 + bl sub_020392B4 + mov r0, #0x7d + lsl r0, r0, #0x6 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039152: + ldr r5, _02039298 ; =0x00001B58 + cmp r4, r5 + blo _0203916C + ldr r2, _0203929C ; =0x00000172 + add r3, r2, #0x0 + sub r3, #0x2d + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_0203916C: + lsr r5, r3, #0x1 + cmp r4, r5 + blo _02039186 + mov r2, #0x41 + lsl r2, r2, #0x4 + mov r3, #0xc7 + bl sub_020392B4 + ldr r0, _020392A0 ; =0x00001388 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_02039186: + ldr r5, _020392A4 ; =0x00000BB8 + cmp r4, r5 + blo _020391A0 + mov r2, #0x41 + lsl r2, r2, #0x4 + mov r3, #0xc7 + bl sub_020392B4 + add r0, r5, #0x0 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020391A0: + sub r5, #0xc8 + cmp r4, r5 + blo _020391BC + ldr r2, _020392A8 ; =0x0000017A + add r3, r2, #0x0 + sub r3, #0x1c + bl sub_020392B4 + mov r0, #0xaf + lsl r0, r0, #0x4 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020391BC: + lsr r3, r3, #0x2 + cmp r4, r3 + blo _020391D4 + mov r2, #0x1 + mov r3, #0xd + bl sub_020392B4 + ldr r0, _020392AC ; =0x000009C4 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020391D4: + lsr r2, r2, #0x2 + cmp r4, r2 + blo _020391EE + mov r2, #0xcd + mov r3, #0xc7 + bl sub_020392B4 + mov r0, #0x7d + lsl r0, r0, #0x4 + sub r0, r4, r0 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020391EE: + cmp r4, #0x1 + blo _020391FE + bl sub_020392D8 + sub r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + b _0203920A +_020391FE: + ldr r2, _020392B0 ; =0x00000171 + add r3, r2, #0x0 + sub r3, #0x34 + bl sub_020392B4 + mov r4, #0x0 +_0203920A: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_02039210: .word 0x0000283C +_02039214: .word 0x000003D1 +_02039218: .word 0x00000175 +_0203921C: .word 0x000027D8 +_02039220: .word 0x00000412 +_02039224: .word 0x00000232 +_02039228: .word 0x000027A6 +_0203922C: .word 0x00000411 +_02039230: .word 0x00000233 +_02039234: .word 0x00002774 +_02039238: .word 0x00002710 +_0203923C: .word 0x00000177 +_02039240: .word 0x000026DE +_02039244: .word 0x0000016D +_02039248: .word 0x000026AC +_0203924C: .word 0x00002648 +_02039250: .word 0x000025E4 +_02039254: .word 0x00000183 +_02039258: .word 0x00000179 +_0203925C: .word 0x0000251C +_02039260: .word 0x000024B8 +_02039264: .word 0x00000187 +_02039268: .word 0x000023F0 +_0203926C: .word 0x0000238C +_02039270: .word 0x00002328 +_02039274: .word 0x00000186 +_02039278: .word 0x0000230A +_0203927C: .word 0x000001CF +_02039280: .word 0x000022F6 +_02039284: .word 0x00000185 +_02039288: .word 0x000022C4 +_0203928C: .word 0x00002260 +_02039290: .word 0x000001CE +_02039294: .word 0x00000176 +_02039298: .word 0x00001B58 +_0203929C: .word 0x00000172 +_020392A0: .word 0x00001388 +_020392A4: .word 0x00000BB8 +_020392A8: .word 0x0000017A +_020392AC: .word 0x000009C4 +_020392B0: .word 0x00000171 + + thumb_func_start sub_020392B4 +sub_020392B4: ; 0x020392B4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r1, r2, #0x0 + add r4, r3, #0x0 + mov r0, #0xa + mov r2, #0xb + bl sub_0200650C + str r0, [r5, #0x7c] + mov r0, #0x1 + mov r1, #0x1a + add r2, r4, #0x0 + mov r3, #0xb + bl sub_0200A86C + str r0, [r5, #0x78] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020392D8 +sub_020392D8: ; 0x020392D8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x1c] + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + bl sub_0203949C + str r0, [r4, #0x7c] + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl sub_020394B0 + add r2, r0, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0xb + bl sub_0200A86C + str r0, [r4, #0x78] + pop {r3-r5, pc} + + thumb_func_start sub_02039300 +sub_02039300: ; 0x02039300 + push {r3, lr} + cmp r1, #0x36 + bls _02039308 + b _02039430 +_02039308: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r5, #0x1 + lsl r0, r6, #0x1 + lsl r4, r6, #0x1 + lsl r0, r7, #0x1 + lsl r4, r7, #0x1 + lsl r0, r0, #0x2 + lsl r4, r0, #0x2 + lsl r0, r1, #0x2 + lsl r4, r1, #0x2 + lsl r0, r2, #0x2 + lsl r4, r2, #0x2 + lsl r0, r3, #0x2 + lsl r4, r3, #0x2 + lsl r0, r4, #0x2 + lsl r4, r4, #0x2 + lsl r0, r5, #0x2 + lsl r4, r5, #0x2 + lsl r0, r6, #0x2 + lsl r4, r6, #0x2 + lsl r0, r7, #0x2 + lsl r4, r7, #0x2 + lsl r0, r0, #0x3 + lsl r4, r0, #0x3 + lsl r0, r1, #0x3 + lsl r4, r1, #0x3 + lsl r0, r2, #0x3 + lsl r4, r2, #0x3 + lsl r0, r3, #0x3 + lsl r4, r3, #0x3 + lsl r0, r4, #0x3 + lsl r4, r4, #0x3 + lsl r0, r5, #0x3 + lsl r4, r5, #0x3 + lsl r0, r6, #0x3 + lsl r4, r6, #0x3 + lsl r0, r7, #0x3 + lsl r4, r7, #0x3 + lsl r0, r0, #0x4 + lsl r4, r0, #0x4 + lsl r0, r1, #0x4 + lsl r4, r1, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + lsl r0, r2, #0x4 + add r0, #0x10 + pop {r3, pc} +_02039386: + .byte 0x14, 0x30, 0x08, 0xBD, 0x24, 0x30, 0x08, 0xBD, 0x40, 0x1D + .byte 0x08, 0xBD, 0x80, 0x1D, 0x08, 0xBD, 0xC0, 0x1D, 0x08, 0xBD, 0x08, 0x30, 0x08, 0xBD, 0x09, 0x30 + .byte 0x08, 0xBD, 0x0A, 0x30, 0x08, 0xBD, 0x28, 0x30, 0x08, 0xBD, 0x2C, 0x30, 0x08, 0xBD, 0x30, 0x30 + .byte 0x08, 0xBD, 0x34, 0x30, 0x08, 0xBD, 0x38, 0x30, 0x08, 0xBD, 0x3C, 0x30, 0x08, 0xBD, 0x40, 0x30 + .byte 0x08, 0xBD, 0x44, 0x30, 0x08, 0xBD, 0x48, 0x30, 0x08, 0xBD, 0x4C, 0x30, 0x08, 0xBD, 0xA8, 0x30 + .byte 0x08, 0xBD, 0xAC, 0x30, 0x08, 0xBD, 0xB0, 0x30, 0x08, 0xBD, 0xB4, 0x30, 0x08, 0xBD, 0x0C, 0x30 + .byte 0x08, 0xBD, 0x50, 0x30, 0x08, 0xBD, 0x54, 0x30, 0x08, 0xBD, 0x58, 0x30, 0x08, 0xBD, 0x5C, 0x30 + .byte 0x08, 0xBD, 0x60, 0x30, 0x08, 0xBD, 0x64, 0x30, 0x08, 0xBD, 0x68, 0x30, 0x08, 0xBD, 0x6C, 0x30 + .byte 0x08, 0xBD, 0x70, 0x30, 0x08, 0xBD, 0x74, 0x30, 0x08, 0xBD, 0x78, 0x30, 0x08, 0xBD, 0x7C, 0x30 + .byte 0x08, 0xBD, 0x80, 0x30, 0x08, 0xBD, 0x84, 0x30, 0x08, 0xBD, 0xB8, 0x30, 0x08, 0xBD, 0xC8, 0x30 + .byte 0x08, 0xBD, 0xD8, 0x30, 0x08, 0xBD, 0x29, 0x39, 0x88, 0x30, 0x49, 0x00, 0x40, 0x18, 0x08, 0xBD +_02039430: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02039438 +sub_02039438: ; 0x02039438 + push {r3-r5, lr} + ldr r0, [r0, #0x10] + add r5, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _0203945C ; =0x0003643F + cmp r1, r0 + beq _02039450 + bl sub_02020C2C +_02039450: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02039300 + pop {r3-r5, pc} + nop +_0203945C: .word 0x0003643F + + thumb_func_start sub_02039460 +sub_02039460: ; 0x02039460 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02035068 + cmp r0, #0x1 + bne _0203947C + ldr r0, _02039480 ; =sub_020351A0 + add r4, #0xa4 + str r0, [r4, #0x0] +_0203947C: + pop {r3-r5, pc} + nop +_02039480: .word sub_020351A0 + 1 + + thumb_func_start sub_02039484 +sub_02039484: ; 0x02039484 + push {r4, lr} + add r4, r0, #0x0 + ldr r2, [r4, #0x8] + lsl r1, r1, #0x2 + add r1, r2, r1 + str r1, [r4, #0x8] + bl sub_02038C48 + ldr r1, [r4, #0x8] + add r0, r1, r0 + str r0, [r4, #0x8] + pop {r4, pc} + + thumb_func_start sub_0203949C +sub_0203949C: ; 0x0203949C + push {r3, lr} + bl sub_02034788 + add r1, r0, #0x0 + mov r0, #0xa + mov r2, #0xb + bl sub_0200650C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020394B0 +sub_020394B0: ; 0x020394B0 + ldr r3, _020394B4 ; =sub_02034774 + bx r3 + .balign 4 +_020394B4: .word sub_02034774 + 1 + + thumb_func_start sub_020394B8 +sub_020394B8: ; 0x020394B8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + mov r1, #0x1 + lsl r1, r1, #0xe + cmp r4, r1 + bhs _020394D0 + mov r0, #0x0 + pop {r3-r5, pc} +_020394D0: + lsl r1, r1, #0x1 + cmp r4, r1 + bhs _020394DE + add r1, r4, #0x0 + bl sub_02046380 + pop {r3-r5, pc} +_020394DE: + ldr r1, _020394EC ; =0x00007FD7 + add r0, r5, #0x0 + sub r1, r4, r1 + bl sub_02039438 + pop {r3-r5, pc} + nop +_020394EC: .word 0x00007FD7 + + thumb_func_start sub_020394F0 +sub_020394F0: ; 0x020394F0 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020394B8 + cmp r0, #0x0 + beq _020394FE + ldrh r4, [r0, #0x0] +_020394FE: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039504 +sub_02039504: ; 0x02039504 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x10 + blo _02039512 + bl sub_02020C2C +_02039512: + ldr r1, _02039524 ; =0x00004020 + add r0, r5, #0x0 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020394F0 + pop {r3-r5, pc} + nop +_02039524: .word 0x00004020 + + thumb_func_start sub_02039528 +sub_02039528: ; 0x02039528 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + add r1, r4, #0x0 + bl sub_020462B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203953C +sub_0203953C: ; 0x0203953C + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + add r1, r4, #0x0 + bl sub_020462E4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039550 +sub_02039550: ; 0x02039550 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + add r1, r4, #0x0 + bl sub_0204630C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039564 +sub_02039564: ; 0x02039564 + push {r4, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0x1 + add r4, r0, #0x0 + bl sub_02046338 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xe + bl sub_02046380 + mov r1, #0x0 + mov r2, #0x40 + blx sub_020DF4A4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203959C +sub_0203959C: ; 0x0203959C + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0xaa + lsl r1, r1, #0x4 + bl sub_02046338 + mov r2, #0x18 + mov r1, #0x0 +_020395B0: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _020395B0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020395BC +sub_020395BC: ; 0x020395BC + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x29 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02039438 + strh r4, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2a + bl sub_02039438 + strh r6, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2b + bl sub_02039438 + strh r7, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2c + bl sub_02039438 + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + strh r1, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020395F4 +sub_020395F4: ; 0x020395F4 + ldr r1, _02039610 ; =0x00001388 + cmp r0, r1 + bhs _02039604 + ldr r1, _02039614 ; =0x00000BB7 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02039604: + sub r1, r1, #0x1 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_02039610: .word 0x00001388 +_02039614: .word 0x00000BB7 + + thumb_func_start sub_02039618 +sub_02039618: ; 0x02039618 + ldr r1, _02039628 ; =0x00001388 + cmp r0, r1 + blo _02039622 + mov r0, #0x1 + bx lr +_02039622: + mov r0, #0x0 + bx lr + nop +_02039628: .word 0x00001388 + + thumb_func_start sub_0203962C +sub_0203962C: ; 0x0203962C + push {r3, lr} + mov r1, #0x9 + bl sub_0206AC74 + cmp r0, #0x0 + beq _0203963C + mov r0, #0x1 + pop {r3, pc} +_0203963C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02039640 +sub_02039640: ; 0x02039640 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + mov r1, #0x55 + lsl r1, r1, #0x4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020462B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203965C +sub_0203965C: ; 0x0203965C + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + mov r1, #0x55 + lsl r1, r1, #0x4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020462E4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039678 +sub_02039678: ; 0x02039678 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + mov r1, #0x55 + lsl r1, r1, #0x4 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0204630C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039694 +sub_02039694: ; 0x02039694 + ldr r1, _020396A0 ; =0x00001C66 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_020396A0: .word 0x00001C66 + + thumb_func_start sub_020396A4 +sub_020396A4: ; 0x020396A4 + mov r1, #0x7d + lsl r1, r1, #0x6 + sub r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_020396B0 +sub_020396B0: ; 0x020396B0 + push {r4, lr} + ldr r4, _020396E4 ; =0x020F2DB4 + bl sub_020396A4 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + mov r1, #0x0 + add r2, r4, #0x0 +_020396C0: + ldrh r0, [r2, #0x6] + cmp r3, r0 + beq _020396CE + add r1, r1, #0x1 + add r2, #0x8 + cmp r1, #0xe5 + blo _020396C0 +_020396CE: + cmp r1, #0xe5 + blo _020396DA + bl sub_02020C2C + mov r0, #0x0 + pop {r4, pc} +_020396DA: + lsl r0, r1, #0x3 + add r0, r4, r0 + ldrb r0, [r0, #0x3] + pop {r4, pc} + nop +_020396E4: .word 0x020F2DB4 + + thumb_func_start sub_020396E8 +sub_020396E8: ; 0x020396E8 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + mov r1, #0x29 + bl sub_02039300 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2a + bl sub_02039300 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2b + bl sub_02039300 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020396A4 + lsl r0, r0, #0x18 + ldr r2, _02039750 ; =0x020F2DB4 + lsr r3, r0, #0x18 + mov r1, #0x0 +_02039718: + ldrh r0, [r2, #0x6] + cmp r3, r0 + beq _02039726 + add r1, r1, #0x1 + add r2, #0x8 + cmp r1, #0xe5 + blo _02039718 +_02039726: + cmp r1, #0xe5 + blo _02039732 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} +_02039732: + lsl r0, r1, #0x3 + ldr r1, _02039750 ; =0x020F2DB4 + ldrh r1, [r1, r0] + strh r1, [r7, #0x0] + ldr r1, _02039750 ; =0x020F2DB4 + add r0, r1, r0 + ldrb r0, [r0, #0x2] + strh r0, [r6, #0x0] + add r0, r5, #0x0 + bl sub_02039694 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + nop +_02039750: .word 0x020F2DB4 + + thumb_func_start sub_02039754 +sub_02039754: ; 0x02039754 + push {r4-r7, lr} + sub sp, #0x24 + str r0, [sp, #0x0] + add r4, r1, #0x0 + mov r6, #0x0 + bl sub_02034AF8 + add r5, r0, #0x0 + add r2, r5, #0x1 + mov r1, #0x6 + add r0, r4, #0x0 + mul r1, r2 + bl sub_02016998 + str r0, [sp, #0x1c] + cmp r5, #0x0 + bne _02039786 + mov r2, #0xff + add r1, r0, #0x0 + strb r2, [r1, #0x4] + ldr r2, _02039870 ; =0x0000FFFF + add sp, #0x24 + strh r2, [r1, #0x0] + strh r2, [r1, #0x2] + pop {r4-r7, pc} +_02039786: + ldr r0, [sp, #0x0] + bl sub_02034AF0 + add r4, r0, #0x0 + bne _020397A0 + ldr r0, [sp, #0x1c] + mov r1, #0xff + strb r1, [r0, #0x4] + ldr r1, _02039870 ; =0x0000FFFF + add sp, #0x24 + strh r1, [r0, #0x0] + strh r1, [r0, #0x2] + pop {r4-r7, pc} +_020397A0: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x38] + bl sub_02055320 + str r0, [sp, #0x18] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x38] + bl sub_0205532C + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + sub r0, r0, #0x7 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + add r0, r0, #0x7 + str r0, [sp, #0xc] + ldr r0, [sp, #0x14] + sub r0, r0, #0x7 + str r0, [sp, #0x8] + ldr r0, [sp, #0x14] + add r0, r0, #0x6 + str r0, [sp, #0x4] + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bge _020397D6 + add r0, r6, #0x0 + str r0, [sp, #0x10] +_020397D6: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bge _020397E0 + mov r0, #0x0 + str r0, [sp, #0x8] +_020397E0: + add r0, r5, #0x1 + mov r7, #0x0 + str r0, [sp, #0x20] + cmp r0, #0x0 + ble _02039856 + ldr r5, [sp, #0x1c] +_020397EC: + ldrh r0, [r4, #0x2] + cmp r0, #0x2 + bne _0203984C + ldrh r0, [r4, #0x0] + bl sub_02039694 + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02039528 + cmp r0, #0x0 + bne _0203984C + ldr r1, [r4, #0x4] + ldr r0, [sp, #0x10] + cmp r1, r0 + blt _0203984C + ldr r0, [sp, #0xc] + cmp r1, r0 + bgt _0203984C + ldr r1, [r4, #0x8] + ldr r0, [sp, #0x8] + cmp r1, r0 + blt _0203984C + ldr r0, [sp, #0x4] + cmp r1, r0 + bgt _0203984C + ldrh r0, [r4, #0x0] + bl sub_020396B0 + strb r0, [r5, #0x4] + ldr r1, [r4, #0x4] + ldr r0, [sp, #0x18] + sub r1, r0, r1 + mov r0, #0x7 + sub r0, r0, r1 + blx sub_020DE3F0 + strh r0, [r5, #0x0] + ldr r1, [r4, #0x8] + ldr r0, [sp, #0x14] + sub r1, r0, r1 + mov r0, #0x7 + sub r0, r0, r1 + blx sub_020DE3F0 + strh r0, [r5, #0x2] + add r5, r5, #0x6 + add r6, r6, #0x1 +_0203984C: + ldr r0, [sp, #0x20] + add r7, r7, #0x1 + add r4, #0x14 + cmp r7, r0 + blt _020397EC +_02039856: + mov r0, #0x6 + add r3, r6, #0x0 + mul r3, r0 + ldr r0, [sp, #0x1c] + mov r1, #0xff + add r2, r0, r3 + strb r1, [r2, #0x4] + ldr r1, _02039870 ; =0x0000FFFF + strh r1, [r0, r3] + strh r1, [r2, #0x2] + add sp, #0x24 + pop {r4-r7, pc} + nop +_02039870: .word 0x0000FFFF + + thumb_func_start sub_02039874 +sub_02039874: ; 0x02039874 + ldr r3, _0203987C ; =sub_02039880 + mov r1, #0x96 + lsl r1, r1, #0x6 + bx r3 + .balign 4 +_0203987C: .word sub_02039880 + 1 + + thumb_func_start sub_02039880 +sub_02039880: ; 0x02039880 + push {r4, lr} + bl sub_02038EB0 + add r4, r0, #0x0 +_02039888: + add r0, r4, #0x0 + bl sub_02038B70 + cmp r0, #0x1 + beq _02039888 + add r0, r4, #0x0 + bl sub_02038E48 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203989C +sub_0203989C: ; 0x0203989C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02034D2C + add r1, r0, #0x0 + bne _020398AE + mov r0, #0x0 + pop {r3-r5, pc} +_020398AE: + cmp r4, #0x1 + bne _020398BC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_02039914 + b _020398C2 +_020398BC: + add r1, r4, #0x0 + bl _020398EC +_020398C2: + add r1, r0, #0x0 + ldr r0, _020398E8 ; =0x0000FFFF + cmp r1, r0 + bne _020398CE + mov r0, #0x0 + pop {r3-r5, pc} +_020398CE: + cmp r4, #0x1 + bne _020398DC + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038C78 + b _020398E2 +_020398DC: + add r0, r5, #0x0 + bl sub_02039880 +_020398E2: + mov r0, #0x1 + pop {r3-r5, pc} + nop +_020398E8: .word 0x0000FFFF +_020398EC: + ldrb r2, [r0, #0x0] + cmp r2, #0x0 + bne _020398F6 + ldr r0, _02039910 ; =0x0000FFFF + bx lr +_020398F6: + cmp r2, r1 + bne _02039908 + ldrb r1, [r0, #0x1] + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02039908: + add r0, r0, #0x5 + b _020398EC + + thumb_func_start sub_0203990C +sub_0203990C: ; 0x0203990C + bx lr + nop +_02039910: .word 0x0000FFFF + + thumb_func_start sub_02039914 +sub_02039914: ; 0x02039914 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 +_0203991A: + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _02039924 + ldr r0, _0203999C ; =0x0000FFFF + pop {r3-r7, pc} +_02039924: + cmp r0, r2 + bne _02039940 + ldrb r0, [r4, #0x4] + ldrb r2, [r4, #0x2] + ldrb r3, [r4, #0x1] + lsl r1, r0, #0x18 + ldrb r0, [r4, #0x3] + lsl r2, r2, #0x8 + add r2, r3, r2 + lsl r0, r0, #0x10 + add r0, r0, r2 + add r1, r1, r0 + add r0, r4, #0x5 + b _02039944 +_02039940: + add r4, r4, #0x5 + b _0203991A +_02039944: + cmp r1, #0x0 + bne _0203994C + ldr r0, _0203999C ; =0x0000FFFF + pop {r3-r7, pc} +_0203994C: + add r4, r0, r1 +_0203994E: + ldrb r1, [r4, #0x0] + cmp r1, #0x0 + bne _02039958 + ldr r0, _0203999C ; =0x0000FFFF + pop {r3-r7, pc} +_02039958: + ldrb r0, [r4, #0x1] + lsl r0, r0, #0x8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + bne _02039968 + ldr r0, _0203999C ; =0x0000FFFF + pop {r3-r7, pc} +_02039968: + ldrb r0, [r4, #0x3] + ldrb r2, [r4, #0x2] + lsl r0, r0, #0x8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0x0 + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020394F0 + cmp r7, r0 + bne _02039996 + ldrb r0, [r4, #0x5] + ldrb r1, [r4, #0x4] + lsl r0, r0, #0x8 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3-r7, pc} +_02039996: + add r4, r4, #0x6 + b _0203994E + + non_word_aligned_thumb_func_start sub_0203999A +sub_0203999A: ; 0x0203999A + pop {r3-r7, pc} + .balign 4 +_0203999C: .word 0x0000FFFF + + thumb_func_start sub_020399A0 +sub_020399A0: ; 0x020399A0 + mov r0, #0x0 + bx lr + + thumb_func_start sub_020399A4 +sub_020399A4: ; 0x020399A4 + mov r0, #0x0 + bx lr + + thumb_func_start sub_020399A8 +sub_020399A8: ; 0x020399A8 + push {r3, lr} + bl sub_02038B64 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020399B4 +sub_020399B4: ; 0x020399B4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020394B8 + strh r7, [r0, #0x0] + ldr r1, _020399E4 ; =sub_020399E8 + add r0, r5, #0x0 + str r4, [r5, #0x64] + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_020399E4: .word sub_020399E8 + 1 + + thumb_func_start sub_020399E8 +sub_020399E8: ; 0x020399E8 + push {r3, lr} + add r1, r0, #0x0 + ldr r1, [r1, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + ldrh r1, [r0, #0x0] + sub r1, r1, #0x1 + strh r1, [r0, #0x0] + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + bne _02039A0A + mov r0, #0x1 + pop {r3, pc} +_02039A0A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02039A10 +sub_02039A10: ; 0x02039A10 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039A28 +sub_02039A28: ; 0x02039A28 + ldr r1, [r0, #0x8] + add r2, r1, #0x1 + str r2, [r0, #0x8] + ldrb r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r2, [r2, #0x0] + lsl r1, r3, #0x2 + add r0, r0, r1 + str r2, [r0, #0x64] + mov r0, #0x0 + bx lr + + thumb_func_start sub_02039A40 +sub_02039A40: ; 0x02039A40 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r5, [r2, #0x0] + bl sub_02038C48 + lsl r1, r5, #0x2 + add r1, r4, r1 + str r0, [r1, #0x64] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02039A5C +sub_02039A5C: ; 0x02039A5C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C48 + ldrb r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r5, r0 + str r1, [r0, #0x64] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039A78 +sub_02039A78: ; 0x02039A78 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + strb r1, [r0, #0x0] + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039A90 +sub_02039A90: ; 0x02039A90 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + lsl r1, r1, #0x2 + add r1, r4, r1 + ldr r1, [r1, #0x64] + strb r1, [r0, #0x0] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039AAC +sub_02039AAC: ; 0x02039AAC + ldr r1, [r0, #0x8] + add r2, r1, #0x1 + str r2, [r0, #0x8] + ldrb r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + lsl r1, r1, #0x2 + add r1, r0, r1 + ldr r2, [r1, #0x64] + lsl r1, r3, #0x2 + add r0, r0, r1 + str r2, [r0, #0x64] + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02039ACC +sub_02039ACC: ; 0x02039ACC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C48 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C48 + ldrb r0, [r0, #0x0] + strb r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039AE4 +sub_02039AE4: ; 0x02039AE4 + cmp r0, r1 + bhs _02039AEC + mov r0, #0x0 + bx lr +_02039AEC: + cmp r0, r1 + bne _02039AF4 + mov r0, #0x1 + bx lr +_02039AF4: + mov r0, #0x2 + bx lr + + thumb_func_start sub_02039AF8 +sub_02039AF8: ; 0x02039AF8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + add r1, r0, #0x1 + str r1, [r4, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x64] + str r2, [r4, #0x8] + ldrb r1, [r1, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r1, r1, #0x2 + add r1, r4, r1 + ldr r1, [r1, #0x64] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039B28 +sub_02039B28: ; 0x02039B28 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + add r1, r0, #0x1 + str r1, [r4, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x64] + str r2, [r4, #0x8] + ldrb r1, [r1, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039B50 +sub_02039B50: ; 0x02039B50 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + lsl r1, r1, #0x2 + add r1, r4, r1 + ldr r1, [r1, #0x64] + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + bl sub_02038C48 + ldrb r1, [r0, #0x0] + add r0, r5, #0x0 + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039B78 +sub_02039B78: ; 0x02039B78 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + ldr r2, [r4, #0x8] + ldrb r0, [r0, #0x0] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + lsl r1, r1, #0x2 + add r1, r4, r1 + ldr r1, [r1, #0x64] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02039BA0 +sub_02039BA0: ; 0x02039BA0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + ldr r2, [r4, #0x8] + ldrb r0, [r0, #0x0] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039BBC +sub_02039BBC: ; 0x02039BBC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C48 + ldrb r4, [r0, #0x0] + add r0, r5, #0x0 + bl sub_02038C48 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_02039AE4 + strb r0, [r5, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02039BDC +sub_02039BDC: ; 0x02039BDC + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + ldrh r5, [r0, #0x0] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02039AE4 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02039C08 +sub_02039C08: ; 0x02039C08 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r1, r0, #0x0 + ldrh r0, [r4, #0x0] + ldrh r1, [r1, #0x0] + bl sub_02039AE4 + strb r0, [r5, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039C40 +sub_02039C40: ; 0x02039C40 + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x7 + add r0, r5, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xe + bl sub_02039438 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038EB0 + str r0, [r6, #0x0] + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02039C78 +sub_02039C78: ; 0x02039C78 + push {r3-r7, lr} + str r0, [sp, #0x0] + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x5 + add r0, r5, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x7 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xe + bl sub_02039438 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + mov r0, #0x1 + strb r0, [r6, #0x0] + add r0, r5, #0x0 + bl sub_02038EB0 + str r0, [r7, #0x0] + ldrb r0, [r4, #0x0] + ldr r1, _02039CC4 ; =sub_02039CC8 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + ldr r0, [sp, #0x0] + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_02039CC4: .word sub_02039CC8 + 1 + + thumb_func_start sub_02039CC8 +sub_02039CC8: ; 0x02039CC8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x5 + bl sub_02039438 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02039CDE + mov r0, #0x1 + pop {r3, pc} +_02039CDE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02039CE4 +sub_02039CE4: ; 0x02039CE4 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x5 + bl sub_02039438 + mov r1, #0x0 + strb r1, [r0, #0x0] + add r0, r1, #0x0 + pop {r3, pc} + + thumb_func_start sub_02039CF8 +sub_02039CF8: ; 0x02039CF8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + add r2, r0, #0x0 + ldr r1, [r4, #0x8] + add r0, r4, #0x0 + add r1, r1, r2 + bl sub_02038C10 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039D10 +sub_02039D10: ; 0x02039D10 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C48 + add r7, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02058448 + cmp r4, r0 + bne _02039D44 + ldr r1, [r5, #0x8] + add r0, r5, #0x0 + add r1, r1, r7 + bl sub_02038C10 +_02039D44: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02039D48 +sub_02039D48: ; 0x02039D48 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x74] + bl sub_02046534 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r4, [r1, #0x0] + add r0, r5, #0x0 + bl sub_02038C48 + add r2, r0, #0x0 + cmp r6, r4 + bne _02039D72 + ldr r1, [r5, #0x8] + add r0, r5, #0x0 + add r1, r1, r2 + bl sub_02038C10 +_02039D72: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02039D78 +sub_02039D78: ; 0x02039D78 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x9 + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r4, [r1, #0x0] + add r0, r5, #0x0 + bl sub_02038C48 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + cmp r0, r4 + bne _02039DA8 + ldr r1, [r5, #0x8] + add r0, r5, #0x0 + add r1, r1, r2 + bl sub_02038C10 +_02039DA8: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02039DAC +sub_02039DAC: ; 0x02039DAC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C48 + add r2, r0, #0x0 + ldr r1, [r4, #0x8] + add r0, r4, #0x0 + add r1, r1, r2 + bl sub_02038C14 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039DC4 +sub_02039DC4: ; 0x02039DC4 + push {r3, lr} + bl sub_02038C24 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02039DD0 +sub_02039DD0: ; 0x02039DD0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C48 + add r1, r0, #0x0 + lsl r0, r4, #0x1 + add r3, r4, r0 + ldr r0, _02039E00 ; =0x020F34E8 + ldrb r2, [r5, #0x2] + add r0, r0, r3 + ldrb r0, [r2, r0] + cmp r0, #0x1 + bne _02039DFC + ldr r2, [r5, #0x8] + add r0, r5, #0x0 + add r1, r2, r1 + bl sub_02038C10 +_02039DFC: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02039E00: .word 0x020F34E8 + + thumb_func_start sub_02039E04 +sub_02039E04: ; 0x02039E04 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C48 + add r1, r0, #0x0 + lsl r0, r4, #0x1 + add r3, r4, r0 + ldr r0, _02039E34 ; =0x020F34E8 + ldrb r2, [r5, #0x2] + add r0, r0, r3 + ldrb r0, [r2, r0] + cmp r0, #0x1 + bne _02039E30 + ldr r2, [r5, #0x8] + add r0, r5, #0x0 + add r1, r2, r1 + bl sub_02038C14 +_02039E30: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02039E34: .word 0x020F34E8 + + thumb_func_start sub_02039E38 +sub_02039E38: ; 0x02039E38 + push {r4, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0203953C + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039E50 +sub_02039E50: ; 0x02039E50 + push {r4, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02039550 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02039E68 +sub_02039E68: ; 0x02039E68 + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02039528 + strb r0, [r4, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039E84 +sub_02039E84: ; 0x02039E84 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldrh r1, [r6, #0x0] + add r0, r5, #0x0 + bl sub_02039528 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02039EC0 +sub_02039EC0: ; 0x02039EC0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r1, r0, #0x0 + ldrh r1, [r1, #0x0] + add r0, r4, #0x0 + bl sub_0203953C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02039EE8 +sub_02039EE8: ; 0x02039EE8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0203965C + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039F0C +sub_02039F0C: ; 0x02039F0C + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02039678 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039F30 +sub_02039F30: ; 0x02039F30 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02039640 + strb r0, [r5, #0x2] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039F58 +sub_02039F58: ; 0x02039F58 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + ldrh r1, [r4, #0x0] + add r0, r1, r0 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039F88 +sub_02039F88: ; 0x02039F88 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + ldrh r1, [r4, #0x0] + sub r0, r1, r0 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02039FB8 +sub_02039FB8: ; 0x02039FB8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02039FDC +sub_02039FDC: ; 0x02039FDC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + ldrh r0, [r0, #0x0] + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203A00C +sub_0203A00C: ; 0x0203A00C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203A038 +sub_0203A038: ; 0x0203A038 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r2, [r2, #0x0] + ldr r1, [r0, #0x78] + bl sub_021E2C24 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203A04C +sub_0203A04C: ; 0x0203A04C + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x1a + add r2, r5, #0x0 + mov r3, #0x20 + bl sub_0200A86C + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_021E2C24 + add r0, r5, #0x0 + bl sub_0200A8B8 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203A098 +sub_0203A098: ; 0x0203A098 + push {r3-r6, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x1a + add r2, r5, #0x0 + mov r3, #0x20 + bl sub_0200A86C + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x1 + bl sub_021E2BD0 + add r0, r5, #0x0 + bl sub_0200A8B8 + ldr r1, _0203A0F8 ; =sub_0203A2F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r6, pc} + nop +_0203A0F8: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A0FC +sub_0203A0FC: ; 0x0203A0FC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_021E2C58 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203A13C +sub_0203A13C: ; 0x0203A13C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_021E2C58 + ldr r1, _0203A184 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203A184: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A188 +sub_0203A188: ; 0x0203A188 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldrb r3, [r2, #0x0] + add r1, #0xa8 + ldr r2, [r1, #0x0] + cmp r2, #0x0 + bne _0203A1AA + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_0203A1AA: + lsl r1, r3, #0x4 + add r1, r3, r1 + add r2, #0x90 + lsl r1, r1, #0x4 + add r4, r2, r1 + ldrh r1, [r2, r1] + ldr r2, _0203A204 ; =0x0000FFFF + cmp r1, r2 + bne _0203A1E2 + ldr r2, _0203A208 ; =0x0000022B + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0x20 + bl sub_0200A86C + add r6, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r3, #0x1 + bl sub_021E2BD0 + add r0, r6, #0x0 + bl sub_0200A8B8 + b _0203A1F4 +_0203A1E2: + mov r2, #0x6 + ldrsh r2, [r4, r2] + str r2, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + ldrh r2, [r4, #0x2] + ldrh r3, [r4, #0x4] + bl sub_021E2C58 +_0203A1F4: + ldr r1, _0203A20C ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r4-r6, pc} + nop +_0203A204: .word 0x0000FFFF +_0203A208: .word 0x0000022B +_0203A20C: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A210 +sub_0203A210: ; 0x0203A210 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r2, [r5, #0x8] + ldr r6, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + ldr r1, [r5, #0x8] + add r2, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r3, [r1, #0x0] + mov r1, #0x0 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r0, [r6, #0xc] + add r1, r7, #0x0 + bl sub_02244210 + add r6, r0, #0x0 + add r2, sp, #0x4 + ldrb r2, [r2, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, r2 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + mov r3, #0x1 + bl sub_021E2CBC + add r0, r6, #0x0 + bl sub_0200AB18 + ldr r1, _0203A284 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203A284: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A288 +sub_0203A288: ; 0x0203A288 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, sp, #0x4 + add r1, r5, #0x0 + bl sub_021E2BB8 + mov r1, #0x3 + add r0, sp, #0x4 + strb r1, [r0, #0x2] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r1, [r5, #0x78] + add r0, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_021E2BD0 + ldr r1, _0203A2C0 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_0203A2C0: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A2C4 +sub_0203A2C4: ; 0x0203A2C4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r2, [r4, #0x8] + mov r3, #0x1 + add r1, r2, #0x1 + str r1, [r4, #0x8] + mov r1, #0x0 + str r1, [sp, #0x0] + ldrb r2, [r2, #0x0] + ldr r1, [r4, #0x78] + bl sub_021E2BD0 + ldr r1, _0203A2EC ; =sub_0203A2F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203A2EC: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A2F0 +sub_0203A2F0: ; 0x0203A2F0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x3 + bl sub_02039438 + ldrb r0, [r0, #0x0] + bl sub_020546C8 + pop {r3, pc} + + thumb_func_start sub_0203A304 +sub_0203A304: ; 0x0203A304 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + lsl r2, r2, #0x18 + ldr r1, [r4, #0x78] + add r0, r4, #0x0 + lsr r2, r2, #0x18 + mov r3, #0x1 + bl sub_021E2BD0 + ldr r1, _0203A33C ; =sub_0203A2F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203A33C: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A340 +sub_0203A340: ; 0x0203A340 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, sp, #0x4 + add r1, r5, #0x0 + bl sub_021E2BB8 + lsl r2, r4, #0x18 + mov r3, #0x1 + add r0, sp, #0x4 + strb r3, [r0, #0x1] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r1, [r5, #0x78] + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_021E2BD0 + ldr r1, _0203A384 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_0203A384: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A388 +sub_0203A388: ; 0x0203A388 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r3, #0x0 + str r3, [sp, #0x0] + lsl r2, r2, #0x18 + ldr r1, [r4, #0x78] + add r0, r4, #0x0 + lsr r2, r2, #0x18 + bl sub_021E2BD0 + ldr r1, _0203A3C0 ; =sub_0203A2F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + nop +_0203A3C0: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A3C4 +sub_0203A3C4: ; 0x0203A3C4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02058488 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, [r4, #0x78] + add r0, r4, #0x0 + mov r3, #0x1 + bl sub_021E2BD0 + ldr r1, _0203A3FC ; =sub_0203A2F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + nop +_0203A3FC: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A400 +sub_0203A400: ; 0x0203A400 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r1, [r5, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r4, [r1, #0x0] + bl sub_02030F40 + cmp r0, #0x0 + bne _0203A428 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, [r5, #0x78] + add r0, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x1 + bl sub_021E2BD0 + b _0203A448 +_0203A428: + add r0, sp, #0x4 + add r1, r5, #0x0 + bl sub_021E2BB8 + mov r1, #0x1 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r1, [r5, #0x78] + add r0, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_021E2BD0 +_0203A448: + ldr r1, _0203A458 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + nop +_0203A458: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203A45C +sub_0203A45C: ; 0x0203A45C + push {r3, lr} + ldr r1, _0203A468 ; =sub_0203A46C + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0203A468: .word sub_0203A46C + 1 + + thumb_func_start sub_0203A46C +sub_0203A46C: ; 0x0203A46C + ldr r0, _0203A480 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0203A47A + mov r0, #0x1 + bx lr +_0203A47A: + mov r0, #0x0 + bx lr + nop +_0203A480: .word 0x021C48B8 + + thumb_func_start sub_0203A484 +sub_0203A484: ; 0x0203A484 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [r4, #0x64] + ldr r1, _0203A4A8 ; =sub_0203A4AC + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203A4A8: .word sub_0203A4AC + 1 + + thumb_func_start sub_0203A4AC +sub_0203A4AC: ; 0x0203A4AC + ldr r1, _0203A4CC ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + beq _0203A4BA + mov r0, #0x1 + bx lr +_0203A4BA: + ldr r1, [r0, #0x64] + sub r1, r1, #0x1 + str r1, [r0, #0x64] + bne _0203A4C6 + mov r0, #0x1 + bx lr +_0203A4C6: + mov r0, #0x0 + bx lr + nop +_0203A4CC: .word 0x021C48B8 + + thumb_func_start sub_0203A4D0 +sub_0203A4D0: ; 0x0203A4D0 + push {r3, lr} + ldr r1, _0203A4DC ; =sub_0203A4E0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0203A4DC: .word sub_0203A4E0 + 1 + + thumb_func_start sub_0203A4E0 +sub_0203A4E0: ; 0x0203A4E0 + push {r4, lr} + ldr r1, _0203A55C ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + add r3, r2, #0x0 + tst r3, r1 + beq _0203A4F2 + mov r0, #0x1 + pop {r4, pc} +_0203A4F2: + mov r3, #0x40 + tst r3, r2 + beq _0203A506 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x38] + bl sub_02055304 + b _0203A556 +_0203A506: + mov r3, #0x80 + tst r3, r2 + beq _0203A51A + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0x38] + bl sub_02055304 + b _0203A556 +_0203A51A: + mov r3, #0x20 + tst r3, r2 + beq _0203A52E + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x2 + ldr r0, [r0, #0x38] + bl sub_02055304 + b _0203A556 +_0203A52E: + mov r3, #0x10 + add r4, r2, #0x0 + tst r4, r3 + beq _0203A542 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_02055304 + b _0203A556 +_0203A542: + lsl r1, r3, #0x6 + tst r1, r2 + beq _0203A552 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02039460 + b _0203A556 +_0203A552: + mov r0, #0x0 + pop {r4, pc} +_0203A556: + mov r0, #0x1 + pop {r4, pc} + nop +_0203A55C: .word 0x021C48B8 + + thumb_func_start sub_0203A560 +sub_0203A560: ; 0x0203A560 + push {r3, lr} + ldr r1, _0203A56C ; =sub_0203A570 + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0203A56C: .word sub_0203A570 + 1 + + thumb_func_start sub_0203A570 +sub_0203A570: ; 0x0203A570 + ldr r0, _0203A58C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0203A57E + mov r0, #0x1 + bx lr +_0203A57E: + mov r0, #0xf0 + tst r0, r1 + beq _0203A588 + mov r0, #0x1 + bx lr +_0203A588: + mov r0, #0x0 + bx lr + .balign 4 +_0203A58C: .word 0x021C48B8 + + thumb_func_start sub_0203A590 +sub_0203A590: ; 0x0203A590 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x6 + add r0, r4, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02039438 + add r1, r0, #0x0 + ldr r0, [r4, #0x8] + mov r2, #0x3 + bl sub_020545B8 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02039438 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02054608 + mov r0, #0x1 + strb r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203A5D8 +sub_0203A5D8: ; 0x0203A5D8 + push {r3-r5, lr} + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x1 + add r0, r4, #0x0 + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x6 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02019178 + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203A608 +sub_0203A608: ; 0x0203A608 + push {r3-r5, lr} + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x1 + add r0, r4, #0x0 + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x6 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02019178 + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203A630 +sub_0203A630: ; 0x0203A630 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x31 + add r0, r4, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2d + bl sub_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x32 + bl sub_02039438 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x33 + bl sub_02039438 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x2e + bl sub_02039438 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x34 + bl sub_02039438 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + strh r1, [r6, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + strh r1, [r7, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r2, [r2, #0x0] + ldr r1, [sp, #0x0] + strh r2, [r1, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r2, [r2, #0x0] + ldr r1, [sp, #0x4] + strh r2, [r1, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r2, [r2, #0x0] + ldr r1, [sp, #0x8] + strh r2, [r1, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + strh r1, [r0, #0x0] + ldr r1, _0203A6C4 ; =sub_0203A6C8 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0203A6C4: .word sub_0203A6C8 + 1 + + thumb_func_start sub_0203A6C8 +sub_0203A6C8: ; 0x0203A6C8 + push {r4-r7, lr} + sub sp, #0xc + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x31 + add r0, r4, #0x0 + bl sub_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x32 + bl sub_02039438 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x33 + bl sub_02039438 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x34 + bl sub_02039438 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x2d + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2e + bl sub_02039438 + add r5, r0, #0x0 + ldrh r0, [r6, #0x0] + cmp r0, #0x0 + bne _0203A71E + ldrh r0, [r5, #0x0] + cmp r0, #0x0 + bne _0203A71E + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0203A71E: + ldrh r3, [r7, #0x0] + cmp r3, #0x0 + beq _0203A740 + ldr r0, [sp, #0x8] + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + ldr r0, [r4, #0x8] + bne _0203A738 + mov r1, #0x3 + mov r2, #0x1 + bl sub_020179E0 + b _0203A740 +_0203A738: + mov r1, #0x3 + mov r2, #0x2 + bl sub_020179E0 +_0203A740: + ldr r0, [sp, #0x4] + ldrh r3, [r0, #0x0] + cmp r3, #0x0 + beq _0203A764 + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + ldr r0, [r4, #0x8] + bne _0203A75C + mov r1, #0x3 + mov r2, #0x4 + bl sub_020179E0 + b _0203A764 +_0203A75C: + mov r1, #0x3 + mov r2, #0x5 + bl sub_020179E0 +_0203A764: + ldrh r0, [r6, #0x0] + cmp r0, #0x0 + beq _0203A76E + sub r0, r0, #0x1 + strh r0, [r6, #0x0] +_0203A76E: + ldrh r0, [r5, #0x0] + cmp r0, #0x0 + beq _0203A778 + sub r0, r0, #0x1 + strh r0, [r5, #0x0] +_0203A778: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203A780 +sub_0203A780: ; 0x0203A780 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x11 + add r0, r4, #0x0 + bl sub_02039438 + str r0, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xf + bl sub_02039438 + str r0, [sp, #0x14] + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r0, [r0, #0x0] + str r0, [sp, #0xc] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r0, [r1, #0x0] + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + cmp r6, #0x0 + bne _0203A7E0 + add r0, r4, #0x0 + mov r1, #0xa + bl sub_02039438 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02058510 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 +_0203A7E0: + ldr r0, [r4, #0x60] + ldr r1, [sp, #0x10] + add r2, r6, #0x0 + bl sub_021E8128 + ldr r0, [r4, #0x60] + mov r1, #0x1 + bl sub_021E8130 + add r0, r4, #0x0 + bl sub_021E8158 + ldr r2, [sp, #0x18] + ldr r0, [r5, #0x78] + ldr r1, [sp, #0xc] + ldr r2, [r2, #0x0] + bl sub_0200A8E0 + ldr r0, [sp, #0x14] + ldr r2, [sp, #0x18] + ldr r0, [r0, #0x0] + ldr r1, [r7, #0x0] + ldr r2, [r2, #0x0] + bl sub_0200B7B8 + ldr r0, [r4, #0x60] + bl sub_021E8140 + mov r3, #0x0 + str r3, [sp, #0x0] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + ldr r2, [r7, #0x0] + mov r1, #0x1 + bl sub_0201BD84 + mov r0, #0x1 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203A830 +sub_0203A830: ; 0x0203A830 + push {r3-r5, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r4, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r5, [r2, #0x0] + bl sub_02038C30 + add r2, r0, #0x0 + ldr r0, [r4, #0x60] + add r1, r5, #0x0 + bl sub_021E8128 + ldr r0, [r4, #0x60] + mov r1, #0x1 + bl sub_021E8130 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203A85C +sub_0203A85C: ; 0x0203A85C + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r3, #0x60] + bl sub_021E8130 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203A878 +sub_0203A878: ; 0x0203A878 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x60] + bl sub_021E8148 + cmp r0, #0x1 + bne _0203A88E + mov r0, #0x0 + pop {r4, pc} +_0203A88E: + ldr r1, _0203A89C ; =sub_0203A8A0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203A89C: .word sub_0203A8A0 + 1 + + thumb_func_start sub_0203A8A0 +sub_0203A8A0: ; 0x0203A8A0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x60] + bl sub_021E8148 + cmp r0, #0x1 + bne _0203A8B4 + mov r0, #0x1 + pop {r3, pc} +_0203A8B4: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203A8B8 +sub_0203A8B8: ; 0x0203A8B8 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x3 + add r0, r4, #0x0 + bl sub_02039438 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + str r0, [sp, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r0, [r1, #0x0] + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + str r0, [sp, #0xc] + ldr r0, [r5, #0x78] + ldr r1, [sp, #0x0] + ldr r2, [r6, #0x0] + bl sub_0200A8E0 + ldr r0, [sp, #0x8] + ldr r1, [r7, #0x0] + ldr r0, [r0, #0x0] + ldr r2, [r6, #0x0] + bl sub_0200B7B8 + ldr r0, [r4, #0x60] + bl sub_021E8140 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + add r2, r0, #0x0 + ldr r1, [r7, #0x0] + add r0, r4, #0x0 + mov r3, #0x1 + bl sub_02054658 + ldr r1, [sp, #0x4] + strb r0, [r1, #0x0] + ldr r0, [sp, #0xc] + ldr r1, _0203A948 ; =sub_0203A94C + str r0, [r5, #0x64] + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0203A948: .word sub_0203A94C + 1 + + thumb_func_start sub_0203A94C +sub_0203A94C: ; 0x0203A94C + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x3 + add r0, r5, #0x0 + bl sub_02039438 + ldr r1, [r7, #0x64] + add r6, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0x60] + bl sub_021E8144 + ldrb r0, [r6, #0x0] + ldr r5, _0203A9E8 ; =0x0000FFFF + bl sub_020546C8 + cmp r0, #0x1 + bne _0203A986 + mov r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_0203A986: + ldr r0, _0203A9EC ; =0x021C48B8 + mov r1, #0x40 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _0203A994 + mov r5, #0x0 + b _0203A9B0 +_0203A994: + mov r1, #0x80 + tst r1, r0 + beq _0203A99E + mov r5, #0x1 + b _0203A9B0 +_0203A99E: + mov r1, #0x20 + tst r1, r0 + beq _0203A9A8 + mov r5, #0x2 + b _0203A9B0 +_0203A9A8: + mov r1, #0x10 + tst r1, r0 + beq _0203A9B0 + mov r5, #0x3 +_0203A9B0: + ldr r1, _0203A9E8 ; =0x0000FFFF + cmp r5, r1 + beq _0203A9D0 + ldrb r0, [r6, #0x0] + bl sub_0201BD7C + add r7, #0x80 + ldr r0, [r7, #0x0] + add r1, r5, #0x0 + ldr r0, [r0, #0x38] + bl sub_02055304 + mov r0, #0x0 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_0203A9D0: + mov r1, #0x1 + lsl r1, r1, #0xa + tst r0, r1 + beq _0203A9E4 + ldrb r0, [r6, #0x0] + bl sub_0201BD7C + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r3-r7, pc} +_0203A9E4: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0203A9E8: .word 0x0000FFFF +_0203A9EC: .word 0x021C48B8 + + thumb_func_start sub_0203A9F0 +sub_0203A9F0: ; 0x0203A9F0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + str r0, [r4, #0x64] + ldr r1, _0203AA08 ; =sub_0203AA0C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203AA08: .word sub_0203AA0C + 1 + + thumb_func_start sub_0203AA0C +sub_0203AA0C: ; 0x0203AA0C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, _0203AA88 ; =0x021C48B8 + ldr r1, _0203AA8C ; =0x0000FFFF + ldr r2, [r0, #0x48] + mov r0, #0x3 + add r3, r2, #0x0 + tst r3, r0 + beq _0203AA36 + mov r0, #0x0 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} +_0203AA36: + mov r3, #0x40 + tst r3, r2 + beq _0203AA40 + mov r1, #0x0 + b _0203AA5C +_0203AA40: + mov r3, #0x80 + tst r3, r2 + beq _0203AA4A + mov r1, #0x1 + b _0203AA5C +_0203AA4A: + mov r3, #0x20 + tst r3, r2 + beq _0203AA54 + mov r1, #0x2 + b _0203AA5C +_0203AA54: + mov r3, #0x10 + tst r3, r2 + beq _0203AA5C + add r1, r0, #0x0 +_0203AA5C: + ldr r0, _0203AA8C ; =0x0000FFFF + cmp r1, r0 + beq _0203AA74 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x38] + bl sub_02055304 + mov r0, #0x0 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} +_0203AA74: + mov r0, #0x1 + lsl r0, r0, #0xa + tst r0, r2 + beq _0203AA82 + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r3-r5, pc} +_0203AA82: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203AA88: .word 0x021C48B8 +_0203AA8C: .word 0x0000FFFF + + thumb_func_start sub_0203AA90 +sub_0203AA90: ; 0x0203AA90 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02039460 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203AAA0 +sub_0203AAA0: ; 0x0203AAA0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x2 + add r0, r4, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + ldr r0, [r4, #0x8] + ldr r2, _0203AAF4 ; =0x000003D9 + mov r1, #0x3 + mov r3, #0xb + bl sub_0200CB00 + mov r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [r4, #0x8] + ldr r1, _0203AAF8 ; =0x020F34E0 + ldr r2, _0203AAF4 ; =0x000003D9 + mov r3, #0xb + bl sub_02002198 + str r0, [r6, #0x0] + ldr r1, _0203AAFC ; =sub_0203AB00 + add r0, r5, #0x0 + str r7, [r5, #0x64] + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203AAF4: .word 0x000003D9 +_0203AAF8: .word 0x020F34E0 +_0203AAFC: .word sub_0203AB00 + 1 + + thumb_func_start sub_0203AB00 +sub_0203AB00: ; 0x0203AB00 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0x2 + add r0, r6, #0x0 + bl sub_02039438 + ldr r1, [r5, #0x64] + add r4, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x4 + bl sub_020021AC + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + bne _0203AB34 + mov r0, #0x0 + pop {r4-r6, pc} +_0203AB34: + cmp r0, #0x0 + bne _0203AB3C + mov r0, #0x0 + b _0203AB3E +_0203AB3C: + mov r0, #0x1 +_0203AB3E: + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0203AB44 +sub_0203AB44: ; 0x0203AB44 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02039438 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x12 + bl sub_02039438 + add r5, r0, #0x0 + ldr r1, _0203AB70 ; =0x000003E2 + add r0, r4, #0x0 + bl sub_0200D858 + str r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203AB70: .word 0x000003E2 + + thumb_func_start sub_0203AB74 +sub_0203AB74: ; 0x0203AB74 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x12 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_0200DBFC + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203AB8C +sub_0203AB8C: ; 0x0203AB8C + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0x0 + add r0, r6, #0x0 + bl sub_02039438 + str r0, [sp, #0x1c] + add r0, r6, #0x0 + mov r1, #0xf + bl sub_02039438 + str r0, [sp, #0x20] + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + str r0, [sp, #0x18] + str r2, [r5, #0x8] + ldrb r0, [r1, #0x0] + add r1, r2, #0x1 + str r0, [sp, #0x14] + str r1, [r5, #0x8] + ldrb r7, [r2, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + str r0, [sp, #0x24] + ldr r1, [sp, #0x24] + add r0, r6, #0x0 + bl sub_020394B8 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02039438 + ldr r1, [sp, #0x28] + str r4, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x20] + add r3, r7, #0x0 + ldr r1, [r1, #0x0] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x14] + add r0, r6, #0x0 + bl sub_021E1BF8 + ldr r1, [sp, #0x1c] + str r0, [r1, #0x0] + ldr r0, [sp, #0x24] + str r0, [r5, #0x64] + mov r0, #0x1 + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203AC14 +sub_0203AC14: ; 0x0203AC14 + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0x0 + add r0, r6, #0x0 + bl sub_02039438 + str r0, [sp, #0x1c] + add r0, r6, #0x0 + mov r1, #0xf + bl sub_02039438 + str r0, [sp, #0x20] + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + str r0, [sp, #0x18] + str r2, [r5, #0x8] + ldrb r0, [r1, #0x0] + add r1, r2, #0x1 + str r0, [sp, #0x14] + str r1, [r5, #0x8] + ldrb r7, [r2, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + str r0, [sp, #0x24] + ldr r1, [sp, #0x24] + add r0, r6, #0x0 + bl sub_020394B8 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02039438 + ldr r1, [sp, #0x28] + str r4, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x20] + add r3, r7, #0x0 + ldr r1, [r1, #0x0] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [r5, #0x78] + str r0, [sp, #0x10] + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x14] + add r0, r6, #0x0 + bl sub_021E1BF8 + ldr r1, [sp, #0x1c] + str r0, [r1, #0x0] + ldr r0, [sp, #0x24] + str r0, [r5, #0x64] + mov r0, #0x1 + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203AC9C +sub_0203AC9C: ; 0x0203AC9C + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r1, [r4, #0x8] + add r3, r1, #0x1 + str r3, [r4, #0x8] + ldrb r1, [r1, #0x0] + add r2, r3, #0x1 + str r2, [r4, #0x8] + ldrb r2, [r3, #0x0] + ldr r0, [r0, #0x0] + bl sub_021E1C4C + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203ACC4 +sub_0203ACC4: ; 0x0203ACC4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + bl sub_021E1C4C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203AD08 +sub_0203AD08: ; 0x0203AD08 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_021E1C54 + ldr r1, _0203AD28 ; =sub_0203AD2C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203AD28: .word sub_0203AD2C + 1 + + thumb_func_start sub_0203AD2C +sub_0203AD2C: ; 0x0203AD2C + push {r3, lr} + add r1, r0, #0x0 + ldr r1, [r1, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + ldrh r1, [r0, #0x0] + ldr r0, _0203AD50 ; =0x0000EEEE + cmp r1, r0 + beq _0203AD4A + mov r0, #0x1 + pop {r3, pc} +_0203AD4A: + mov r0, #0x0 + pop {r3, pc} + nop +_0203AD50: .word 0x0000EEEE + + thumb_func_start sub_0203AD54 +sub_0203AD54: ; 0x0203AD54 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_021E1C54 + ldr r1, _0203AD74 ; =sub_0203AD78 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203AD74: .word sub_0203AD78 + 1 + + thumb_func_start sub_0203AD78 +sub_0203AD78: ; 0x0203AD78 + push {r4-r6, lr} + add r1, r0, #0x0 + add r0, #0x80 + ldr r1, [r1, #0x64] + ldr r5, [r0, #0x0] + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + ldrh r1, [r4, #0x0] + ldr r0, _0203ADC0 ; =0x0000EEEE + cmp r1, r0 + bne _0203ADBC + ldr r0, [r5, #0x78] + bl sub_02052714 + cmp r0, #0x0 + beq _0203ADB8 + mov r0, #0x8 + strh r0, [r4, #0x0] + ldr r0, [r6, #0x0] + bl sub_021E1ECC + mov r0, #0x1 + pop {r4-r6, pc} +_0203ADB8: + mov r0, #0x0 + pop {r4-r6, pc} +_0203ADBC: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0203ADC0: .word 0x0000EEEE + + thumb_func_start sub_0203ADC4 +sub_0203ADC4: ; 0x0203ADC4 + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0x0 + add r0, r6, #0x0 + bl sub_02039438 + str r0, [sp, #0x1c] + add r0, r6, #0x0 + mov r1, #0xf + bl sub_02039438 + str r0, [sp, #0x20] + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + str r0, [sp, #0x18] + str r2, [r5, #0x8] + ldrb r0, [r1, #0x0] + add r1, r2, #0x1 + str r0, [sp, #0x14] + str r1, [r5, #0x8] + ldrb r7, [r2, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + str r0, [sp, #0x24] + ldr r1, [sp, #0x24] + add r0, r6, #0x0 + bl sub_020394B8 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02039438 + ldr r1, [sp, #0x28] + str r4, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x20] + add r3, r7, #0x0 + ldr r1, [r1, #0x0] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x14] + add r0, r6, #0x0 + bl sub_021E1F34 + ldr r1, [sp, #0x1c] + str r0, [r1, #0x0] + ldr r0, [sp, #0x24] + str r0, [r5, #0x64] + mov r0, #0x1 + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203AE4C +sub_0203AE4C: ; 0x0203AE4C + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0x0 + add r0, r6, #0x0 + bl sub_02039438 + str r0, [sp, #0x1c] + add r0, r6, #0x0 + mov r1, #0xf + bl sub_02039438 + str r0, [sp, #0x20] + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r0, [r0, #0x0] + add r2, r1, #0x1 + str r0, [sp, #0x18] + str r2, [r5, #0x8] + ldrb r0, [r1, #0x0] + add r1, r2, #0x1 + str r0, [sp, #0x14] + str r1, [r5, #0x8] + ldrb r7, [r2, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + str r0, [sp, #0x24] + ldr r1, [sp, #0x24] + add r0, r6, #0x0 + bl sub_020394B8 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02039438 + ldr r1, [sp, #0x28] + str r4, [sp, #0x0] + str r1, [sp, #0x4] + ldr r1, [sp, #0x20] + add r3, r7, #0x0 + ldr r1, [r1, #0x0] + str r1, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [r5, #0x78] + str r0, [sp, #0x10] + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x14] + add r0, r6, #0x0 + bl sub_021E1F34 + ldr r1, [sp, #0x1c] + str r0, [r1, #0x0] + ldr r0, [sp, #0x24] + str r0, [r5, #0x64] + mov r0, #0x1 + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203AED4 +sub_0203AED4: ; 0x0203AED4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r3, r0, #0x0 + lsl r1, r6, #0x18 + lsl r2, r7, #0x18 + lsl r3, r3, #0x18 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_021E1F58 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0203AF34 +sub_0203AF34: ; 0x0203AF34 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_021E1F60 + ldr r1, _0203AF54 ; =sub_0203AD2C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203AF54: .word sub_0203AD2C + 1 + + thumb_func_start sub_0203AF58 +sub_0203AF58: ; 0x0203AF58 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021E26CC + ldr r1, _0203AF80 ; =sub_0203AD2C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203AF80: .word sub_0203AD2C + 1 + + thumb_func_start sub_0203AF84 +sub_0203AF84: ; 0x0203AF84 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021E2B80 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0203AFA4 +sub_0203AFA4: ; 0x0203AFA4 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02039438 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021E2B9C + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0203AFC4 +sub_0203AFC4: ; 0x0203AFC4 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C48 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl sub_0203B120 + add r6, r0, #0x0 + bne _0203AFF6 + bl sub_02020C2C +_0203AFF6: + ldr r1, [r5, #0x8] + add r0, r6, #0x0 + add r1, r1, r4 + bl sub_0205AEA4 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x4 + bl sub_02039438 + ldrb r1, [r0, #0x0] + add r5, #0x80 + mov r2, #0x0 + add r1, r1, #0x1 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_0203B174 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203B024 +sub_0203B024: ; 0x0203B024 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + bl sub_0203B120 + str r0, [sp, #0x4] + cmp r0, #0x0 + bne _0203B07A + bl sub_02020C2C +_0203B07A: + mov r0, #0x4 + add r1, r0, #0x0 + add r1, #0xfc + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_02058B2C + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, [sp, #0x4] + bl sub_02058B4C + lsl r0, r0, #0x10 + ldr r2, [sp, #0x0] + lsr r0, r0, #0x10 + mov r1, #0x0 + cmp r6, r2 + bhs _0203B0B0 + mov r2, #0xf + strh r2, [r4, #0x0] + ldr r2, [sp, #0x0] + add r1, r1, #0x1 + sub r2, r2, r6 + strh r2, [r4, #0x2] + b _0203B0C0 +_0203B0B0: + cmp r6, r2 + bls _0203B0C0 + mov r2, #0xe + strh r2, [r4, #0x0] + ldr r2, [sp, #0x0] + add r1, r1, #0x1 + sub r2, r6, r2 + strh r2, [r4, #0x2] +_0203B0C0: + cmp r0, r7 + bhs _0203B0D4 + lsl r2, r1, #0x2 + mov r3, #0xc + strh r3, [r4, r2] + sub r3, r7, r0 + add r0, r4, r2 + strh r3, [r0, #0x2] + add r1, r1, #0x1 + b _0203B0E6 +_0203B0D4: + cmp r0, r7 + bls _0203B0E6 + lsl r2, r1, #0x2 + mov r3, #0xd + strh r3, [r4, r2] + sub r3, r0, r7 + add r0, r4, r2 + strh r3, [r0, #0x2] + add r1, r1, #0x1 +_0203B0E6: + lsl r2, r1, #0x2 + mov r0, #0xfe + strh r0, [r4, r2] + mov r1, #0x0 + add r0, r4, r2 + strh r1, [r0, #0x2] + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + bl sub_0205AEA4 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x4 + bl sub_02039438 + ldrb r1, [r0, #0x0] + add r5, #0x80 + add r2, r4, #0x0 + add r1, r1, #0x1 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl sub_0203B174 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0203B120 +sub_0203B120: ; 0x0203B120 + push {r3, lr} + cmp r1, #0xf2 + bne _0203B130 + ldr r0, [r0, #0x34] + mov r1, #0x30 + bl sub_020580B4 + pop {r3, pc} +_0203B130: + cmp r1, #0xf1 + bne _0203B13E + mov r1, #0xb + bl sub_02039438 + ldr r0, [r0, #0x0] + pop {r3, pc} +_0203B13E: + ldr r0, [r0, #0x34] + bl sub_02058060 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203B148 +sub_0203B148: ; 0x0203B148 + push {r3, lr} + ldr r1, _0203B154 ; =sub_0203B158 + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0203B154: .word sub_0203B158 + 1 + + thumb_func_start sub_0203B158 +sub_0203B158: ; 0x0203B158 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x4 + bl sub_02039438 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203B16E + mov r0, #0x1 + pop {r3, pc} +_0203B16E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203B174 +sub_0203B174: ; 0x0203B174 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x4 + mov r1, #0x10 + add r7, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + bne _0203B18E + bl sub_02020C2C + pop {r3-r7, pc} +_0203B18E: + str r5, [r4, #0xc] + str r6, [r4, #0x4] + ldr r0, _0203B1A4 ; =sub_0203B1A8 + add r1, r4, #0x0 + mov r2, #0x0 + str r7, [r4, #0x8] + bl sub_0200CA44 + str r0, [r4, #0x0] + pop {r3-r7, pc} + nop +_0203B1A4: .word sub_0203B1A8 + 1 + + thumb_func_start sub_0203B1A8 +sub_0203B1A8: ; 0x0203B1A8 + push {r3-r5, lr} + add r5, r1, #0x0 + ldr r0, [r5, #0xc] + mov r1, #0x4 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r5, #0x4] + bl sub_0205AEF0 + cmp r0, #0x1 + bne _0203B1EC + ldr r0, [r5, #0x4] + bl sub_0205AEFC + ldr r0, [r5, #0x0] + bl sub_0200CAB4 + ldr r0, [r5, #0x8] + cmp r0, #0x0 + beq _0203B1D6 + bl sub_02016A18 +_0203B1D6: + add r0, r5, #0x0 + bl sub_02016A18 + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203B1E8 + bl sub_02020C2C + pop {r3-r5, pc} +_0203B1E8: + sub r0, r0, #0x1 + strb r0, [r4, #0x0] +_0203B1EC: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B1F0 +sub_0203B1F0: ; 0x0203B1F0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xa + add r0, r4, #0x0 + bl sub_02039438 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203B20E + ldr r0, [r4, #0x34] + bl sub_02058780 + b _0203B214 +_0203B20E: + add r0, r5, #0x0 + bl sub_0203B2E0 +_0203B214: + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203B218 +sub_0203B218: ; 0x0203B218 + push {r4-r6, lr} + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xa + add r0, r4, #0x0 + bl sub_02039438 + add r5, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_020553A0 + ldr r1, _0203B2DC ; =0x021C5A0C + add r6, r0, #0x0 + ldrb r2, [r1, #0x0] + mov r1, #0x1 + tst r1, r2 + beq _0203B252 + bl sub_0205AE28 + cmp r0, #0x1 + bne _0203B252 + add r0, r6, #0x0 + bl sub_02058908 + ldr r1, _0203B2DC ; =0x021C5A0C + mov r0, #0xfe + ldrb r2, [r1, #0x0] + and r0, r2 + strb r0, [r1, #0x0] +_0203B252: + ldr r0, _0203B2DC ; =0x021C5A0C + ldrb r1, [r0, #0x0] + mov r0, #0x4 + tst r0, r1 + beq _0203B276 + ldr r0, [r5, #0x0] + bl sub_02058854 + cmp r0, #0x0 + bne _0203B276 + ldr r0, [r5, #0x0] + bl sub_02058908 + ldr r1, _0203B2DC ; =0x021C5A0C + mov r0, #0xfb + ldrb r2, [r1, #0x0] + and r0, r2 + strb r0, [r1, #0x0] +_0203B276: + ldr r0, _0203B2DC ; =0x021C5A0C + ldrb r1, [r0, #0x0] + mov r0, #0x2 + tst r0, r1 + beq _0203B2A2 + ldr r0, [r4, #0x34] + mov r1, #0x30 + bl sub_020580B4 + add r4, r0, #0x0 + bl sub_02058854 + cmp r0, #0x0 + bne _0203B2A2 + add r0, r4, #0x0 + bl sub_02058908 + ldr r1, _0203B2DC ; =0x021C5A0C + mov r0, #0xfd + ldrb r2, [r1, #0x0] + and r0, r2 + strb r0, [r1, #0x0] +_0203B2A2: + ldr r0, _0203B2DC ; =0x021C5A0C + ldrb r1, [r0, #0x0] + mov r0, #0x8 + tst r0, r1 + beq _0203B2CC + ldr r0, [r5, #0x0] + bl sub_0205E7C4 + add r4, r0, #0x0 + bl sub_02058854 + cmp r0, #0x0 + bne _0203B2CC + add r0, r4, #0x0 + bl sub_02058908 + ldr r1, _0203B2DC ; =0x021C5A0C + mov r0, #0xf7 + ldrb r2, [r1, #0x0] + and r0, r2 + strb r0, [r1, #0x0] +_0203B2CC: + ldr r0, _0203B2DC ; =0x021C5A0C + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203B2D8 + mov r0, #0x1 + pop {r4-r6, pc} +_0203B2D8: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0203B2DC: .word 0x021C5A0C + + thumb_func_start sub_0203B2E0 +sub_0203B2E0: ; 0x0203B2E0 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xa + add r0, r4, #0x0 + bl sub_02039438 + add r5, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_020553A0 + str r0, [sp, #0x4] + ldr r0, [r4, #0x34] + mov r1, #0x30 + bl sub_020580B4 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0205E7C4 + add r6, r0, #0x0 + ldr r0, [r4, #0x34] + ldr r1, _0203B3A8 ; =0x021C5A0C + mov r2, #0x0 + strb r2, [r1, #0x0] + bl sub_02058780 + ldr r0, [sp, #0x4] + bl sub_0205AE28 + cmp r0, #0x0 + bne _0203B334 + ldr r1, _0203B3A8 ; =0x021C5A0C + mov r0, #0x1 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] + ldr r0, [sp, #0x4] + bl sub_02058914 +_0203B334: + ldr r0, [r5, #0x0] + bl sub_02058854 + cmp r0, #0x0 + beq _0203B34E + ldr r1, _0203B3A8 ; =0x021C5A0C + mov r0, #0x4 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] + ldr r0, [r5, #0x0] + bl sub_02058914 +_0203B34E: + cmp r7, #0x0 + beq _0203B37A + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _0203B37A + add r0, r7, #0x0 + bl sub_02058854 + cmp r0, #0x0 + beq _0203B37A + ldr r1, _0203B3A8 ; =0x021C5A0C + mov r0, #0x2 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] + add r0, r7, #0x0 + bl sub_02058914 +_0203B37A: + cmp r6, #0x0 + beq _0203B398 + add r0, r6, #0x0 + bl sub_02058854 + cmp r0, #0x0 + beq _0203B398 + ldr r1, _0203B3A8 ; =0x021C5A0C + mov r0, #0x8 + ldrb r2, [r1, #0x0] + orr r0, r2 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_02058914 +_0203B398: + ldr r0, [sp, #0x0] + ldr r1, _0203B3AC ; =sub_0203B218 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203B3A8: .word 0x021C5A0C +_0203B3AC: .word sub_0203B218 + 1 + + thumb_func_start sub_0203B3B0 +sub_0203B3B0: ; 0x0203B3B0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bl sub_020587B0 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203B3C0 +sub_0203B3C0: ; 0x0203B3C0 + push {r4, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + ldr r0, [r4, #0x34] + bl sub_02058060 + bl sub_02058908 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203B3DC +sub_0203B3DC: ; 0x0203B3DC + push {r4, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + ldr r0, [r4, #0x34] + bl sub_02058060 + bl sub_02058914 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203B3F8 +sub_0203B3F8: ; 0x0203B3F8 + push {r3-r6, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02034B64 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02034B6C + str r0, [sp, #0x0] + ldr r3, [r5, #0x1c] + ldr r0, [r5, #0x34] + ldr r3, [r3, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020575D4 + cmp r0, #0x0 + bne _0203B43A + bl sub_02020C2C +_0203B43A: + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_0203B440 +sub_0203B440: ; 0x0203B440 + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + ldr r0, [r5, #0x34] + bl sub_02058060 + bl sub_02057688 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203B468 +sub_0203B468: ; 0x0203B468 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xb + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r1, r1, #0xc + str r1, [sp, #0x0] + mov r3, #0x0 + str r3, [sp, #0x4] + ldr r1, [r0, #0x1c] + add r2, r7, #0x0 + ldr r1, [r1, #0x0] + str r1, [sp, #0x8] + ldr r0, [r0, #0x34] + add r1, r6, #0x0 + bl sub_0205753C + str r0, [r4, #0x0] + bl sub_02059D1C + ldr r0, [r4, #0x0] + mov r1, #0x1 + bl sub_0205889C + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl sub_020588B8 + ldr r0, [r4, #0x0] + bl sub_02058B7C + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + add r4, r0, #0x0 + ldr r1, [r1, #0x24] + bl sub_021EF5E0 + add r5, #0x80 + ldr r1, [r5, #0x0] + add r0, r4, #0x0 + ldr r1, [r1, #0x20] + bl sub_0201EC68 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203B500 +sub_0203B500: ; 0x0203B500 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xb + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02057654 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xff + ldr r0, [r0, #0x34] + bl sub_02058060 + bl sub_02058B7C + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + add r4, r0, #0x0 + ldr r1, [r1, #0x24] + bl sub_021EF5E0 + add r5, #0x80 + ldr r1, [r5, #0x0] + add r0, r4, #0x0 + ldr r1, [r1, #0x20] + bl sub_0201EC68 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203B544 +sub_0203B544: ; 0x0203B544 + push {r3-r5, lr} + add r0, #0x80 + ldr r5, [r0, #0x0] + ldr r0, [r5, #0x38] + bl sub_020552F8 + bl sub_02059E74 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa + bl sub_02039438 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0203B568 + mov r0, #0x0 + pop {r3-r5, pc} +_0203B568: + add r1, r4, #0x0 + bl sub_021F1EC0 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B574 +sub_0203B574: ; 0x0203B574 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_02055320 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x38] + bl sub_0205532C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203B5B8 +sub_0203B5B8: ; 0x0203B5B8 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + ldr r0, [r5, #0x34] + bl sub_02058060 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + strh r0, [r6, #0x0] + add r0, r5, #0x0 + bl sub_02058B4C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203B618 +sub_0203B618: ; 0x0203B618 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x38] + bl sub_020552F8 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B640 +sub_0203B640: ; 0x0203B640 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + cmp r7, #0x0 + beq _0203B696 + lsl r0, r7, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0203B6A4 +_0203B696: + lsl r0, r7, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0203B6A4: + blx sub_020EB4C0 + str r0, [sp, #0x0] + cmp r6, #0x0 + beq _0203B6C0 + lsl r0, r6, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0203B6CE +_0203B6C0: + lsl r0, r6, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0203B6CE: + blx sub_020EB4C0 + str r0, [sp, #0x4] + cmp r4, #0x0 + beq _0203B6EA + lsl r0, r4, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _0203B6F8 +_0203B6EA: + lsl r0, r4, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_0203B6F8: + blx sub_020EB4C0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553A0 + add r1, sp, #0x0 + bl sub_02058BB4 + add r5, #0x80 + ldr r1, [r5, #0x0] + add r0, sp, #0x0 + ldr r1, [r1, #0x20] + bl sub_0201EF70 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203B724 +sub_0203B724: ; 0x0203B724 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bl sub_02058060 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + bl sub_02058994 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203B758 +sub_0203B758: ; 0x0203B758 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bl sub_02058060 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058E90 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B790 +sub_0203B790: ; 0x0203B790 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x34] + bl sub_02058060 + cmp r0, #0x0 + beq _0203B7D2 + bl sub_02058480 + strh r0, [r4, #0x0] +_0203B7D2: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B7D8 +sub_0203B7D8: ; 0x0203B7D8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x30 + ldr r0, [r0, #0x34] + bl sub_020580B4 + mov r1, #0xfe + bl sub_02058EB0 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203B7F0 +sub_0203B7F0: ; 0x0203B7F0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029C80 + bl sub_02029E0C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B81C +sub_0203B81C: ; 0x0203B81C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029C80 + add r1, r6, #0x0 + bl sub_02029E2C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203B85C +sub_0203B85C: ; 0x0203B85C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029C80 + lsl r2, r4, #0x10 + add r1, r6, #0x0 + asr r2, r2, #0x10 + bl sub_02029D44 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203B8A0 +sub_0203B8A0: ; 0x0203B8A0 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + bl sub_020690CC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203B8E4 +sub_0203B8E4: ; 0x0203B8E4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r1, r5, #0x0 + add r1, #0x80 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + bl sub_020379F8 + str r0, [r4, #0x0] + ldr r1, _0203B910 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203B910: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203B914 +sub_0203B914: ; 0x0203B914 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r1, r5, #0x0 + add r1, #0x80 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + bl sub_02037A1C + str r0, [r4, #0x0] + ldr r1, _0203B940 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203B940: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203B944 +sub_0203B944: ; 0x0203B944 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x20 + ldr r0, [r0, #0x10] + bl sub_02037B44 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B968 +sub_0203B968: ; 0x0203B968 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203B994 + bl sub_02020C2C +_0203B994: + ldr r0, [r4, #0x0] + bl sub_02037A40 + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] + cmp r0, #0x7 + bne _0203B9A6 + mov r0, #0xff + strh r0, [r5, #0x0] +_0203B9A6: + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203B9B4 +sub_0203B9B4: ; 0x0203B9B4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r1, r5, #0x0 + str r6, [sp, #0x4] + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r2, [sp, #0x8] + mov r0, #0x20 + add r3, r7, #0x0 + bl sub_02037BB0 + str r0, [r4, #0x0] + ldr r1, _0203BA38 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0203BA38: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203BA3C +sub_0203BA3C: ; 0x0203BA3C + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203BA7C + bl sub_02020C2C +_0203BA7C: + ldr r0, [r4, #0x0] + bl sub_02037A40 + strh r0, [r6, #0x0] + ldrh r0, [r6, #0x0] + cmp r0, #0x7 + bne _0203BA8E + mov r0, #0xff + strh r0, [r6, #0x0] +_0203BA8E: + ldr r0, [r4, #0x0] + bl sub_02037A70 + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] + cmp r0, #0x1 + bne _0203BAA0 + mov r0, #0x1 + b _0203BAA2 +_0203BAA0: + mov r0, #0x0 +_0203BAA2: + strh r0, [r5, #0x0] + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_0203BAB0 +sub_0203BAB0: ; 0x0203BAB0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r5, #0x0 + add r1, #0x80 + add r2, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + bl sub_02037C00 + str r0, [r4, #0x0] + ldr r1, _0203BAF0 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203BAF0: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203BAF4 +sub_0203BAF4: ; 0x0203BAF4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203BB20 + bl sub_02020C2C +_0203BB20: + ldr r0, [r4, #0x0] + bl sub_02037A78 + strh r0, [r5, #0x0] + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0203BB34 +sub_0203BB34: ; 0x0203BB34 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + add r2, r7, #0x0 + bl sub_021E1858 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203BB80 +sub_0203BB80: ; 0x0203BB80 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0203BB84 +sub_0203BB84: ; 0x0203BB84 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0203BB88 +sub_0203BB88: ; 0x0203BB88 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0203BB8C +sub_0203BB8C: ; 0x0203BB8C + mov r0, #0x0 + bx lr + + thumb_func_start sub_0203BB90 +sub_0203BB90: ; 0x0203BB90 + push {r3-r5, lr} + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x13 + add r0, r5, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _0203BBAE + mov r0, #0x0 + pop {r3-r5, pc} +_0203BBAE: + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203BBBC +sub_0203BBBC: ; 0x0203BBBC + push {r4-r6, lr} + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x13 + add r0, r5, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + ldr r6, [r4, #0x0] + bl sub_0204647C + cmp r0, #0x0 + beq _0203BBDC + mov r0, #0x0 + pop {r4-r6, pc} +_0203BBDC: + ldr r0, [r6, #0x8] + cmp r0, #0x1 + bne _0203BBF4 + mov r0, #0xb + bl sub_02029048 + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x1 + bl sub_02028AD4 +_0203BBF4: + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203BC04 +sub_0203BC04: ; 0x0203BC04 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0204647C + cmp r0, #0x0 + bne _0203BC16 + mov r0, #0x1 + pop {r3, pc} +_0203BC16: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203BC1C +sub_0203BC1C: ; 0x0203BC1C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_0204AF84 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203BC2C +sub_0203BC2C: ; 0x0203BC2C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_0204AF3C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203BC3C +sub_0203BC3C: ; 0x0203BC3C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02027E24 + cmp r5, #0x0 + bne _0203BC5A + add r1, r4, #0x0 + bl sub_02027098 + cmp r0, #0x0 + bne _0203BC68 + mov r0, #0x0 + pop {r3-r5, pc} +_0203BC5A: + add r1, r4, #0x0 + bl sub_020270B4 + cmp r0, #0x0 + bne _0203BC68 + mov r0, #0x0 + pop {r3-r5, pc} +_0203BC68: + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203BC6C +sub_0203BC6C: ; 0x0203BC6C + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0xc] + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02027E24 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0203BC3C + cmp r0, #0x0 + bne _0203BC90 + mov r0, #0x0 + pop {r3-r7, pc} +_0203BC90: + ldr r0, [sp, #0x0] + mov r1, #0xc + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + strb r1, [r0, #0x8] + strb r1, [r0, #0x9] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + str r7, [r0, #0x0] + str r4, [r0, #0x8] + str r6, [r0, #0x4] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203BCBC +sub_0203BCBC: ; 0x0203BCBC + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_021F02C4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203BCCC +sub_0203BCCC: ; 0x0203BCCC + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_0206F3B8 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203BCD8 +sub_0203BCD8: ; 0x0203BCD8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + ldr r1, [r4, #0x0] + ldr r1, [r1, #0x4] + strh r1, [r0, #0x0] + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203BD08 +sub_0203BD08: ; 0x0203BD08 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + bl sub_02031190 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203BD28 +sub_0203BD28: ; 0x0203BD28 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r2, _0203BDB4 ; =0x000003D9 + ldr r0, [r0, #0x8] + mov r1, #0x3 + mov r3, #0xb + bl sub_0200CB00 + mov r0, #0xb + str r0, [sp, #0x0] + ldr r0, _0203BDB4 ; =0x000003D9 + mov r1, #0x3 + str r0, [sp, #0x4] + lsl r0, r7, #0x18 + str r4, [sp, #0x8] + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + mov r0, #0x4 + str r0, [sp, #0x10] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r2, #0xa + ldr r0, [r0, #0x8] + mov r3, #0x5 + bl sub_0200DC4C + add r5, #0x80 + str r0, [r6, #0x0] + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_0203ED2C + mov r0, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_0203BDB4: .word 0x000003D9 + + thumb_func_start sub_0203BDB8 +sub_0203BDB8: ; 0x0203BDB8 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r2, _0203BE4C ; =0x000003D9 + ldr r0, [r0, #0x8] + mov r1, #0x3 + mov r3, #0xb + bl sub_0200CB00 + mov r0, #0xb + str r0, [sp, #0x0] + ldr r0, _0203BE4C ; =0x000003D9 + mov r1, #0x3 + str r0, [sp, #0x4] + str r4, [sp, #0x8] + mov r0, #0x4 + str r0, [sp, #0xc] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r2, #0xa + ldr r0, [r0, #0x8] + mov r3, #0x5 + bl sub_0200DCA4 + str r0, [r6, #0x0] + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x0 + add r5, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r5, #0x0] + lsr r1, r1, #0x10 + bl sub_0203ED2C + mov r0, #0x0 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0203BE4C: .word 0x000003D9 + + thumb_func_start sub_0203BE50 +sub_0203BE50: ; 0x0203BE50 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + mov r1, #0x1 + strb r1, [r0, #0x0] + add r0, r1, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203BE68 +sub_0203BE68: ; 0x0203BE68 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + mov r1, #0x2 + strb r1, [r0, #0x0] + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203BE80 +sub_0203BE80: ; 0x0203BE80 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + str r0, [r4, #0x64] + ldr r1, _0203BE98 ; =sub_0203BE9C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203BE98: .word sub_0203BE9C + 1 + + thumb_func_start sub_0203BE9C +sub_0203BE9C: ; 0x0203BE9C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + ldr r1, [r5, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + ldr r0, [r4, #0x0] + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _0203BEC8 + mov r0, #0x1 + pop {r3-r5, pc} +_0203BEC8: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203BECC +sub_0203BECC: ; 0x0203BECC + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl sub_020394B8 + add r2, r0, #0x0 + ldr r0, [r5, #0x74] + ldr r1, [r4, #0x0] + bl sub_021E1374 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203BF00 +sub_0203BF00: ; 0x0203BF00 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0203BF1C + add r4, #0x80 + ldr r0, [r4, #0x0] + bl sub_021E1994 +_0203BF1C: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203BF20 +sub_0203BF20: ; 0x0203BF20 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_0208A338 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203BF2C +sub_0203BF2C: ; 0x0203BF2C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + ldr r2, [r5, #0x0] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [r2, #0x10] + ldr r2, [r2, #0xc] + add r3, r4, #0x0 + bl sub_020380CC + mov r0, #0x1 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0203BF84 +sub_0203BF84: ; 0x0203BF84 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r1, r5, #0x0 + add r1, #0x80 + add r6, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0xb + mov r2, #0x0 + add r3, r7, #0x0 + bl sub_0203BC6C + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203BFCC + mov r0, #0x1 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0203BFCC: + mov r0, #0x0 + strh r0, [r6, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl sub_02038130 + ldr r1, _0203BFE8 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0203BFE8: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203BFEC +sub_0203BFEC: ; 0x0203BFEC + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r1, r5, #0x0 + add r1, #0x80 + add r6, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0xb + mov r2, #0x1 + add r3, r7, #0x0 + bl sub_0203BC6C + str r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203C034 + mov r0, #0x1 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0203C034: + mov r0, #0x0 + strh r0, [r6, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl sub_02038130 + ldr r1, _0203C050 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0203C050: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C054 +sub_0203C054: ; 0x0203C054 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_0203BC3C + cmp r0, #0x1 + bne _0203C088 + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_0203C088: + mov r0, #0x0 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0203C090 +sub_0203C090: ; 0x0203C090 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_0203BC3C + cmp r0, #0x1 + bne _0203C0C4 + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_0203C0C4: + mov r0, #0x0 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0203C0CC +sub_0203C0CC: ; 0x0203C0CC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02027E24 + mov r1, #0x0 + bl sub_02027008 + add r1, r4, #0x0 + bl sub_02027478 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203C0FC +sub_0203C0FC: ; 0x0203C0FC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02038804 + ldr r1, _0203C114 ; =sub_0203BC04 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203C114: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203C118 +sub_0203C118: ; 0x0203C118 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, [r1, #0x74] + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0xc] + bl sub_02085F48 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203C12C +sub_0203C12C: ; 0x0203C12C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + mov r1, #0x5 + add r4, r0, #0x0 + mov r0, #0xb + lsl r1, r1, #0x6 + bl sub_02016998 + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + mov r2, #0x2 + bl sub_0205F7A0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl sub_02037E90 + ldr r1, _0203C170 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203C170: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C174 +sub_0203C174: ; 0x0203C174 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r2, #0xb + bl sub_02088960 + str r0, [r4, #0x0] + ldr r1, _0203C1A8 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0203C1A8: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C1AC +sub_0203C1AC: ; 0x0203C1AC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206F158 + mov r1, #0x4 + bl sub_0206EE64 + cmp r0, #0x0 + bne _0203C1E0 + mov r0, #0x1 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} +_0203C1E0: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02028048 + bl sub_020281B8 + cmp r0, #0x64 + blo _0203C1FA + mov r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} +_0203C1FA: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0203C200 +sub_0203C200: ; 0x0203C200 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r6, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x8 + str r0, [r6, #0x0] + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, [sp, #0x0] + strh r7, [r4, #0x4] + strh r0, [r4, #0x6] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r6, #0x0] + bl sub_02037FE4 + ldr r1, _0203C274 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0203C274: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C278 +sub_0203C278: ; 0x0203C278 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0xc + bl sub_02016998 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0xc] + str r1, [r0, #0x0] + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + str r1, [r0, #0x4] + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl sub_02037D60 + ldr r1, _0203C2C0 ; =sub_0203BBBC + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203C2C0: .word sub_0203BBBC + 1 + + thumb_func_start sub_0203C2C4 +sub_0203C2C4: ; 0x0203C2C4 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020383F8 + ldr r1, _0203C2DC ; =sub_0203BC04 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203C2DC: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203C2E0 +sub_0203C2E0: ; 0x0203C2E0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02065344 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203C2F0 +sub_0203C2F0: ; 0x0203C2F0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_020383D8 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203C300 +sub_0203C300: ; 0x0203C300 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0203842C + str r0, [r4, #0x0] + ldr r1, _0203C328 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0203C328: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C32C +sub_0203C32C: ; 0x0203C32C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_02048694 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203C33C +sub_0203C33C: ; 0x0203C33C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02038824 + str r0, [r4, #0x0] + ldr r1, _0203C364 ; =sub_0203BB90 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0203C364: .word sub_0203BB90 + 1 + + thumb_func_start sub_0203C368 +sub_0203C368: ; 0x0203C368 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0203384C + cmp r0, #0x0 + beq _0203C3BC + mov r0, #0x1 + strh r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl sub_020386E0 + ldr r1, _0203C3C4 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + b _0203C3C0 +_0203C3BC: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0203C3C0: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0203C3C4: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203C3C8 +sub_0203C3C8: ; 0x0203C3C8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + bl sub_0206F3D8 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0203C3E8 +sub_0203C3E8: ; 0x0203C3E8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_02016998 + str r0, [r4, #0x0] + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + str r0, [r6, #0x4] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl sub_020386A4 + ldr r1, _0203C42C ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + nop +_0203C42C: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203C430 +sub_0203C430: ; 0x0203C430 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r1, [r4, #0x0] + ldr r1, [r1, #0x0] + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0205F378 + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203C460 +sub_0203C460: ; 0x0203C460 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r0, [r1, #0x0] + cmp r0, #0x0 + beq _0203C474 + mov r0, #0x1 + b _0203C476 +_0203C474: + mov r0, #0x0 +_0203C476: + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + cmp r0, #0x0 + beq _0203C492 + bl sub_02020C2C +_0203C492: + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + bl sub_0203789C + str r0, [r6, #0x0] + ldr r1, _0203C4AC ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0203C4AC: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203C4B0 +sub_0203C4B0: ; 0x0203C4B0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203C4DC + bl sub_02020C2C +_0203C4DC: + ldr r0, [r4, #0x0] + bl sub_020378FC + strh r0, [r5, #0x0] + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0203C4F0 +sub_0203C4F0: ; 0x0203C4F0 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x74] + add r2, r1, #0x0 + mov r3, #0x7 + bl sub_020385CC + mov r0, #0x1 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0203C520 +sub_0203C520: ; 0x0203C520 + push {r4-r7, lr} + sub sp, #0x34 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x74 + add r2, sp, #0xc + add r7, r0, #0x0 + bl sub_020671BC + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + str r6, [sp, #0x0] + add r0, sp, #0xc + str r0, [sp, #0x4] + str r4, [sp, #0x8] + ldr r0, [r5, #0x74] + mov r1, #0x1 + mov r3, #0xa + bl sub_020385CC + mov r0, #0x1 + add sp, #0x34 + pop {r4-r7, pc} + + thumb_func_start sub_0203C58C +sub_0203C58C: ; 0x0203C58C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + mov r2, #0x0 + str r2, [sp, #0x0] + str r2, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x74] + mov r1, #0x6 + mov r3, #0xa + bl sub_020385CC + mov r0, #0x1 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0203C5BC +sub_0203C5BC: ; 0x0203C5BC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r2, r0, #0x0 + ldr r0, _0203C610 ; =0x0000FFFF + add r5, #0x80 + strh r0, [r2, #0x0] + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x10] + mov r3, #0x0 + bl sub_02037E18 + mov r0, #0x1 + pop {r3-r5, pc} + nop +_0203C610: .word 0x0000FFFF + + thumb_func_start sub_0203C614 +sub_0203C614: ; 0x0203C614 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r3, r0, #0x0 + ldr r0, _0203C67C ; =0x0000FFFF + add r5, #0x80 + strh r0, [r4, #0x0] + strh r0, [r3, #0x0] + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + ldr r0, [r0, #0x10] + add r2, r4, #0x0 + bl sub_02037E18 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0203C67C: .word 0x0000FFFF + + thumb_func_start sub_0203C680 +sub_0203C680: ; 0x0203C680 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + bl sub_0200B518 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203C6C4 +sub_0203C6C4: ; 0x0203C6C4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + str r4, [sp, #0x0] + add r3, r0, #0x0 + str r6, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r7, #0x0 + add r2, r7, #0x0 + bl sub_0200E1D0 + mov r0, #0x0 + bl sub_0200E388 + mov r0, #0x1 + bl sub_0200E388 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0203C70C +sub_0203C70C: ; 0x0203C70C + push {r3, lr} + ldr r1, _0203C718 ; =sub_0203C71C + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0203C718: .word sub_0203C71C + 1 + + thumb_func_start sub_0203C71C +sub_0203C71C: ; 0x0203C71C + push {r3, lr} + bl sub_0200E308 + cmp r0, #0x1 + bne _0203C72A + mov r0, #0x1 + pop {r3, pc} +_0203C72A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203C730 +sub_0203C730: ; 0x0203C730 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + str r4, [sp, #0x0] + str r0, [sp, #0x4] + mov r2, #0x0 + ldr r0, [r5, #0x74] + add r1, r6, #0x0 + mvn r2, r2 + add r3, r7, #0x0 + bl sub_02049240 + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0203C788 +sub_0203C788: ; 0x0203C788 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + str r4, [sp, #0x0] + mov r2, #0x0 + add r5, #0x80 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + ldr r0, [r0, #0x10] + mvn r2, r2 + add r3, r7, #0x0 + bl sub_02049F98 + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0203C7E4 +sub_0203C7E4: ; 0x0203C7E4 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_02049FFC + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203C7F4 +sub_0203C7F4: ; 0x0203C7F4 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DC8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + ldr r1, [r5, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203C820 +sub_0203C820: ; 0x0203C820 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + ldr r1, [r4, #0x0] + ldr r1, [r1, #0x1c] + ldr r1, [r1, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203C844 +sub_0203C844: ; 0x0203C844 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x74] + add r2, r4, #0x0 + bl sub_021E6990 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203C874 +sub_0203C874: ; 0x0203C874 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD40 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x74] + add r2, r4, #0x0 + bl sub_021E6410 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203C8B4 +sub_0203C8B4: ; 0x0203C8B4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + ldr r0, [r5, #0x74] + add r2, r4, #0x0 + bl sub_021E6BF4 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0203C8E4 +sub_0203C8E4: ; 0x0203C8E4 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + add r5, #0x80 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + sub r2, r2, #0x2 + add r3, r6, #0x0 + bl sub_02049274 + mov r0, #0x1 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_0203C930 +sub_0203C930: ; 0x0203C930 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + add r5, r0, #0x0 + mov r1, #0x0 + bl sub_02034DF4 + add r0, r5, #0x0 + bl sub_02034DEC + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0xc] + bl sub_021DC174 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203C960 +sub_0203C960: ; 0x0203C960 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + add r5, r0, #0x0 + mov r1, #0x0 + bl sub_02034DF4 + add r0, r5, #0x0 + bl sub_02034DEC + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0xc] + bl sub_021DC174 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203C990 +sub_0203C990: ; 0x0203C990 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553E8 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_0224666C + str r0, [r4, #0x0] + ldr r1, _0203C9F4 ; =sub_0203C9F8 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + nop +_0203C9F4: .word sub_0203C9F8 + 1 + + thumb_func_start sub_0203C9F8 +sub_0203C9F8: ; 0x0203C9F8 + push {r4, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_022466A0 + cmp r0, #0x1 + bne _0203CA1A + ldr r0, [r4, #0x0] + bl sub_022466AC + mov r0, #0x1 + pop {r4, pc} +_0203CA1A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203CA20 +sub_0203CA20: ; 0x0203CA20 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_021E7030 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203CA2C +sub_0203CA2C: ; 0x0203CA2C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553C4 + cmp r0, #0x1 + bne _0203CA54 + mov r0, #0x1 + b _0203CA56 +_0203CA54: + mov r0, #0x0 +_0203CA56: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203CA5C +sub_0203CA5C: ; 0x0203CA5C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x8] + add r0, r1, #0x1 + str r0, [r4, #0x8] + ldrb r0, [r1, #0x0] + cmp r0, #0x1 + bne _0203CAA4 + add r0, r4, #0x0 + add r0, #0x80 + mov r1, #0x12 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x6 + bl sub_0204AB20 + add r0, r4, #0x0 + add r0, #0x80 + mov r1, #0x12 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x6 + mov r2, #0x1 + bl sub_0204ABDC + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x2 + ldr r0, [r0, #0x38] + bl sub_021E5FD8 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x38] + bl sub_021E5FE0 + b _0203CAE4 +_0203CAA4: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0x38] + bl sub_021E5FD8 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_021E5FE0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_0204AB20 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x1c] + ldr r1, [r1, #0x0] + bl sub_0204AB58 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x1 + bl sub_0204ABDC +_0203CAE4: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203CAE8 +sub_0203CAE8: ; 0x0203CAE8 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x2 + ldr r0, [r0, #0x38] + bl sub_021E5FD8 + add r4, #0x80 + mov r1, #0x12 + ldr r0, [r4, #0x0] + lsl r1, r1, #0x6 + bl sub_0204AB20 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203CB08 +sub_0203CB08: ; 0x0203CB08 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x38] + bl sub_02055720 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203CB20 +sub_0203CB20: ; 0x0203CB20 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553C4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CB48 +sub_0203CB48: ; 0x0203CB48 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553D4 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0203CB60 +sub_0203CB60: ; 0x0203CB60 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x38] + bl sub_021E5FE0 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203CB70 +sub_0203CB70: ; 0x0203CB70 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0202A9B0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0202A990 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02245910 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203CBBC +sub_0203CBBC: ; 0x0203CBBC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F388 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CBE8 +sub_0203CBE8: ; 0x0203CBE8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x8 + add r0, r4, #0x0 + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x6 + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_02039438 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r2, [r6, #0x0] + mov r3, #0xb + bl sub_0206AD4C + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02039438 + mov r1, #0xf + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + add r2, r0, #0x0 + ldr r1, [r6, #0x0] + add r0, r4, #0x0 + mov r3, #0x1 + bl sub_02054658 + strb r0, [r7, #0x0] + ldr r1, _0203CC84 ; =sub_0203A2F0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0203CC84: .word sub_0203A2F0 + 1 + + thumb_func_start sub_0203CC88 +sub_0203CC88: ; 0x0203CC88 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + ldr r2, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_02240790 + ldr r1, _0203CCF4 ; =sub_0203CCF8 + add r0, r5, #0x0 + str r6, [r5, #0x64] + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203CCF4: .word sub_0203CCF8 + 1 + + thumb_func_start sub_0203CCF8 +sub_0203CCF8: ; 0x0203CCF8 + push {r4, lr} + add r1, r0, #0x0 + ldr r1, [r1, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + bl sub_022407DC + cmp r0, #0x0 + bne _0203CD18 + mov r0, #0x0 + pop {r4, pc} +_0203CD18: + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203CD20 +sub_0203CD20: ; 0x0203CD20 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + ldr r2, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_022407F8 + ldr r1, _0203CD8C ; =sub_0203CD90 + add r0, r5, #0x0 + str r6, [r5, #0x64] + bl sub_02038B5C + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0203CD8C: .word sub_0203CD90 + 1 + + thumb_func_start sub_0203CD90 +sub_0203CD90: ; 0x0203CD90 + push {r4, lr} + add r1, r0, #0x0 + ldr r1, [r1, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + bl sub_02240844 + cmp r0, #0x0 + bne _0203CDB0 + mov r0, #0x0 + pop {r4, pc} +_0203CDB0: + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203CDB8 +sub_0203CDB8: ; 0x0203CDB8 + push {r3, lr} + bl sub_02038C30 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203CDC4 +sub_0203CDC4: ; 0x0203CDC4 + push {r3, lr} + bl sub_02038C30 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203CDD0 +sub_0203CDD0: ; 0x0203CDD0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r6, r0, #0x0 + add r5, #0x80 + ldr r4, [r6, #0x0] + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x10] + add r1, #0x2c + mov r2, #0x5 + bl sub_02047174 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + str r0, [r6, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0203CE00 +sub_0203CE00: ; 0x0203CE00 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_02080C38 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203CE0C +sub_0203CE0C: ; 0x0203CE0C + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, #0x80 + str r0, [sp, #0x10] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + add r1, sp, #0x0 + bl sub_02034DD4 + mov r0, #0x0 + add sp, #0x14 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0203CE8C +sub_0203CE8C: ; 0x0203CE8C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + ldr r0, [r0, #0x0] + bl sub_021E2608 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203CEBC +sub_0203CEBC: ; 0x0203CEBC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + str r0, [sp, #0x4] + bl sub_02039438 + add r7, r0, #0x0 + ldr r0, [r5, #0x8] + add r1, r0, #0x1 + str r1, [r5, #0x8] + ldrb r6, [r0, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r3, r0, #0x0 + ldr r0, [r7, #0x0] + add r1, r6, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r2, r4, #0x0 + bl sub_021E2464 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0203CF04 +sub_0203CF04: ; 0x0203CF04 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020244A4 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CF34 +sub_0203CF34: ; 0x0203CF34 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202445C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CF64 +sub_0203CF64: ; 0x0203CF64 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02024404 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CF94 +sub_0203CF94: ; 0x0203CF94 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020243C8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203CFC4 +sub_0203CFC4: ; 0x0203CFC4 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0203CFC8 +sub_0203CFC8: ; 0x0203CFC8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + ldr r1, [r5, #0x8] + str r0, [sp, #0x0] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + cmp r6, #0x0 + bne _0203D02E + add r0, r7, #0x0 + bl sub_02024550 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0x2 + mov r2, #0xa + bl sub_0205F2E4 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_02054CC8 + b _0203D048 +_0203D02E: + add r0, r7, #0x0 + bl sub_02024518 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_020239CC + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_02054D1C +_0203D048: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D050 +sub_0203D050: ; 0x0203D050 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + lsl r2, r2, #0x18 + ldr r0, [r5, #0x74] + add r1, r6, #0x0 + lsr r2, r2, #0x18 + add r3, r4, #0x0 + bl sub_02046E18 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0203D0A4 +sub_0203D0A4: ; 0x0203D0A4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + lsl r2, r2, #0x18 + ldr r0, [r5, #0x74] + add r1, r6, #0x0 + lsr r2, r2, #0x18 + add r3, r4, #0x0 + bl sub_02046E18 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0203D0F8 +sub_0203D0F8: ; 0x0203D0F8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + ldr r0, [r5, #0x74] + add r1, r4, #0x0 + lsr r2, r2, #0x18 + bl sub_02046FA0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D134 +sub_0203D134: ; 0x0203D134 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_020470AC + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203D140 +sub_0203D140: ; 0x0203D140 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_021F4DC8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D150 +sub_0203D150: ; 0x0203D150 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_021F4D80 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D178 +sub_0203D178: ; 0x0203D178 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + bl sub_02046DB4 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203D194 +sub_0203D194: ; 0x0203D194 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_021F4E7C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D1A4 +sub_0203D1A4: ; 0x0203D1A4 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020386B4 + ldr r1, _0203D1BC ; =sub_0203BC04 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203D1BC: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203D1C0 +sub_0203D1C0: ; 0x0203D1C0 + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202280C + cmp r0, #0x0 + beq _0203D1EC + mov r0, #0x0 + strh r0, [r4, #0x0] + b _0203D210 +_0203D1EC: + add r0, r5, #0x0 + bl sub_02022804 + cmp r0, #0x0 + bne _0203D1FC + mov r0, #0x1 + strh r0, [r4, #0x0] + b _0203D210 +_0203D1FC: + add r0, r5, #0x0 + bl sub_0202282C + cmp r0, #0x0 + beq _0203D20C + mov r0, #0x2 + strh r0, [r4, #0x0] + b _0203D210 +_0203D20C: + mov r0, #0x3 + strh r0, [r4, #0x0] +_0203D210: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203D214 +sub_0203D214: ; 0x0203D214 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_021E85FC + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D23C +sub_0203D23C: ; 0x0203D23C + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_021E3424 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203D248 +sub_0203D248: ; 0x0203D248 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0204C1A8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204BEC8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D278 +sub_0203D278: ; 0x0203D278 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0204C1A8 + add r1, r5, #0x0 + bl sub_0204BED8 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D2A4 +sub_0203D2A4: ; 0x0203D2A4 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0204C1A8 + add r1, r6, #0x0 + bl sub_0204BED0 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203D2E4 +sub_0203D2E4: ; 0x0203D2E4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [r4, #0x64] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02031588 + ldr r1, _0203D310 ; =sub_0203D314 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203D310: .word sub_0203D314 + 1 + + thumb_func_start sub_0203D314 +sub_0203D314: ; 0x0203D314 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030F20 + cmp r0, #0x2 + bge _0203D324 + mov r0, #0x1 + pop {r4, pc} +_0203D324: + ldr r0, [r4, #0x64] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_020315D8 + pop {r4, pc} + + thumb_func_start sub_0203D330 +sub_0203D330: ; 0x0203D330 + push {r3, lr} + bl sub_0203168C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D33C +sub_0203D33C: ; 0x0203D33C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0205296C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D36C +sub_0203D36C: ; 0x0203D36C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r1, r0, #0x0 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r1, [r1, #0x0] + ldr r0, [r0, #0x78] + bl sub_02052C0C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D3A4 +sub_0203D3A4: ; 0x0203D3A4 + push {r4, lr} + bl sub_02038C30 + add r4, r0, #0x0 + cmp r4, #0x5 + beq _0203D3BC + cmp r4, #0x7 + beq _0203D3BC + cmp r4, #0x9 + beq _0203D3BC + cmp r4, #0x6 + bne _0203D3C2 +_0203D3BC: + bl sub_02031C54 + b _0203D3CA +_0203D3C2: + cmp r4, #0xb + bne _0203D3CA + bl sub_02031C64 +_0203D3CA: + bl sub_02031190 + cmp r0, #0x0 + bne _0203D3D8 + add r0, r4, #0x0 + bl sub_02052B74 +_0203D3D8: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0203D3DC +sub_0203D3DC: ; 0x0203D3DC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r5, #0x80 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + bl sub_020377AC + bl sub_02013B5C + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0203D432 + ldr r0, [r7, #0x0] + bl sub_02058448 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + b _0203D434 +_0203D432: + mov r2, #0x0 +_0203D434: + str r5, [sp, #0x0] + ldr r0, [r6, #0x0] + ldr r3, [sp, #0x4] + add r1, r4, #0x0 + bl sub_02052D08 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D448 +sub_0203D448: ; 0x0203D448 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0208881C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D458 +sub_0203D458: ; 0x0203D458 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x7c] + bl sub_02052F74 + bl sub_02031B50 + ldr r1, _0203D478 ; =sub_0203D47C + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203D478: .word sub_0203D47C + 1 + + thumb_func_start sub_0203D47C +sub_0203D47C: ; 0x0203D47C + push {r3, lr} + bl sub_02030F20 + cmp r0, #0x2 + bge _0203D48A + mov r0, #0x1 + pop {r3, pc} +_0203D48A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D490 +sub_0203D490: ; 0x0203D490 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r7, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02058448 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x0] + ldr r0, [r0, #0x78] + ldr r3, [r7, #0x0] + bl sub_02052A10 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D4E8 +sub_0203D4E8: ; 0x0203D4E8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x78] + bl sub_020527A8 + strh r0, [r4, #0x0] + ldrh r0, [r4, #0x0] + cmp r0, #0x0 + beq _0203D522 + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x13 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02016A18 +_0203D522: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D528 +sub_0203D528: ; 0x0203D528 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0xa + add r0, r5, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02058448 + add r1, r0, #0x0 + ldr r0, [r5, #0x78] + bl sub_020524CC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203D560 +sub_0203D560: ; 0x0203D560 + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0xa + add r0, r5, #0x0 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02058448 + add r1, r0, #0x0 + ldr r0, [r5, #0x78] + add r2, r7, #0x0 + bl sub_02052544 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D5B0 +sub_0203D5B0: ; 0x0203D5B0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + str r0, [r4, #0x64] + ldr r1, _0203D5C8 ; =sub_0203D5CC + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203D5C8: .word sub_0203D5CC + 1 + + thumb_func_start sub_0203D5CC +sub_0203D5CC: ; 0x0203D5CC + push {r4-r6, lr} + add r6, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + ldr r0, [r5, #0x78] + bl sub_02052604 + ldr r1, [r6, #0x64] + add r4, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + bl sub_020394B8 + cmp r4, #0x0 + bne _0203D5F0 + mov r0, #0x0 + pop {r4-r6, pc} +_0203D5F0: + strh r4, [r0, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203D5F8 +sub_0203D5F8: ; 0x0203D5F8 + push {r3, lr} + add r0, #0x80 + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x34] + ldr r1, [r1, #0x7c] + bl sub_020534DC + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D60C +sub_0203D60C: ; 0x0203D60C + push {r3, lr} + mov r0, #0x4 + bl sub_02052B74 + bl sub_02031C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203D61C +sub_0203D61C: ; 0x0203D61C + push {r3, lr} + bl sub_02031C64 + bl sub_02031B50 + mov r0, #0x0 + bl sub_02052B74 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203D630 +sub_0203D630: ; 0x0203D630 + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x78] + add r1, r6, #0x0 + bl sub_0205265C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203D66C +sub_0203D66C: ; 0x0203D66C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + str r0, [r4, #0x64] + ldr r1, _0203D684 ; =sub_0203D688 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203D684: .word sub_0203D688 + 1 + + thumb_func_start sub_0203D688 +sub_0203D688: ; 0x0203D688 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x78] + bl sub_02052608 + cmp r0, #0x1 + blo _0203D6BC + add r5, #0x80 + strh r0, [r4, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x78] + bl sub_02052E10 + mov r0, #0x1 + pop {r3-r5, pc} +_0203D6BC: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D6C4 +sub_0203D6C4: ; 0x0203D6C4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + str r0, [r4, #0x64] + ldr r1, _0203D6DC ; =sub_0203D6E0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203D6DC: .word sub_0203D6E0 + 1 + + thumb_func_start sub_0203D6E0 +sub_0203D6E0: ; 0x0203D6E0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x78] + bl sub_02052648 + ldr r1, _0203D724 ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x2 + tst r1, r2 + beq _0203D716 + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x8 + ldr r0, [r0, #0x78] + bl sub_02052718 +_0203D716: + cmp r0, #0x0 + beq _0203D720 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} +_0203D720: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0203D724: .word 0x021C48B8 + + thumb_func_start sub_0203D728 +sub_0203D728: ; 0x0203D728 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_02049EA4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203D738 +sub_0203D738: ; 0x0203D738 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0xf + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239BC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239CC + add r1, r0, #0x0 + ldr r2, [r4, #0x0] + add r0, r6, #0x0 + bl sub_0205363C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203D774 +sub_0203D774: ; 0x0203D774 + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239BC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239CC + add r1, r0, #0x0 + add r0, r6, #0x0 + add r2, r7, #0x0 + bl sub_02053678 + strh r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_020239CC + ldrh r1, [r4, #0x0] + mov r2, #0x2 + bl sub_020536D0 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D7DC +sub_0203D7DC: ; 0x0203D7DC + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239BC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020239CC + add r1, r0, #0x0 + add r0, r6, #0x0 + add r2, r7, #0x0 + bl sub_02053678 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203D834 +sub_0203D834: ; 0x0203D834 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl sub_02023A2C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D868 +sub_0203D868: ; 0x0203D868 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_02048498 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203D874 +sub_0203D874: ; 0x0203D874 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + add r1, r4, #0x0 + bl sub_02034E04 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203D8A0 +sub_0203D8A0: ; 0x0203D8A0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020239CC + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203D8D0 +sub_0203D8D0: ; 0x0203D8D0 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_02046528 + ldr r0, [r0, #0xc] + bl sub_0206BB1C + bl sub_02085140 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D8E8 +sub_0203D8E8: ; 0x0203D8E8 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0203D8EC +sub_0203D8EC: ; 0x0203D8EC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02050024 + ldr r1, _0203D900 ; =sub_0203D904 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203D900: .word sub_0203D904 + 1 + + thumb_func_start sub_0203D904 +sub_0203D904: ; 0x0203D904 + push {r3, lr} + bl sub_02031810 + cmp r0, #0x1 + beq _0203D91A + bl sub_0202EDF8 + cmp r0, #0x1 + beq _0203D91A + mov r0, #0x1 + pop {r3, pc} +_0203D91A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D920 +sub_0203D920: ; 0x0203D920 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02050048 + ldr r1, _0203D934 ; =sub_0203D904 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203D934: .word sub_0203D904 + 1 + + thumb_func_start sub_0203D938 +sub_0203D938: ; 0x0203D938 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0204FF5C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D948 +sub_0203D948: ; 0x0203D948 + push {r3, lr} + bl sub_02038C30 + bl sub_0204F6DC + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203D958 +sub_0203D958: ; 0x0203D958 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206F158 + add r1, r6, #0x0 + bl sub_0206EE64 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203D998 +sub_0203D998: ; 0x0203D998 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r3, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02034B74 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203D9E8 +sub_0203D9E8: ; 0x0203D9E8 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + ldr r0, [r0, #0x34] + bl sub_02058060 + ldr r2, [sp, #0x4] + ldr r3, [sp, #0x8] + add r5, r0, #0x0 + add r1, r7, #0x0 + str r4, [sp, #0x0] + bl sub_02058E28 + add r0, r5, #0x0 + bl sub_02059D1C + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0203DA78 +sub_0203DA78: ; 0x0203DA78 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02034BDC + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203DAB0 +sub_0203DAB0: ; 0x0203DAB0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02034BAC + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203DAE8 +sub_0203DAE8: ; 0x0203DAE8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r3, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02034C0C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203DB38 +sub_0203DB38: ; 0x0203DB38 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r3, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02034C34 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203DB88 +sub_0203DB88: ; 0x0203DB88 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + ldr r0, [r0, #0x34] + bl sub_02058060 + add r5, r0, #0x0 + bne _0203DBC6 + bl sub_02020C2C +_0203DBC6: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_021F1EC0 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203DBD4 +sub_0203DBD4: ; 0x0203DBD4 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xc + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + ldr r1, [r5, #0x0] + cmp r1, #0x0 + beq _0203DBFC + strh r0, [r1, #0x0] +_0203DBFC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203DC00 +sub_0203DC00: ; 0x0203DC00 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + lsl r1, r4, #0x5 + ldr r3, [r5, #0x8] + add r2, r0, #0x0 + add r0, r3, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 + lsl r4, r6, #0x5 + ldrb r3, [r3, #0x0] + ldr r0, [r5, #0x0] + add r1, r7, r1 + add r2, r2, r4 + bl sub_021DAE40 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203DC58 +sub_0203DC58: ; 0x0203DC58 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021DAF78 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DC70 +sub_0203DC70: ; 0x0203DC70 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021DAF98 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DC88 +sub_0203DC88: ; 0x0203DC88 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021DAED4 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCA0 +sub_0203DCA0: ; 0x0203DCA0 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_021DAF28 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCB8 +sub_0203DCB8: ; 0x0203DCB8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02064CA8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCC8 +sub_0203DCC8: ; 0x0203DCC8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02241230 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCD8 +sub_0203DCD8: ; 0x0203DCD8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02064CC8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCE8 +sub_0203DCE8: ; 0x0203DCE8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02241914 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DCF8 +sub_0203DCF8: ; 0x0203DCF8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02064D10 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DD08 +sub_0203DD08: ; 0x0203DD08 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02064D4C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DD18 +sub_0203DD18: ; 0x0203DD18 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + add r0, r3, #0x0 + bl sub_02064D88 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DD34 +sub_0203DD34: ; 0x0203DD34 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + add r0, r3, #0x0 + bl sub_02242A38 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DD50 +sub_0203DD50: ; 0x0203DD50 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020388B4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203DD60 +sub_0203DD60: ; 0x0203DD60 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + str r0, [r5, #0x64] + ldr r0, [r6, #0x0] + bl sub_02058448 + add r1, r5, #0x0 + add r1, #0x80 + add r2, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r7, #0x0 + bl sub_0224CA54 + str r0, [r4, #0x0] + ldr r1, _0203DDBC ; =sub_0203DDC0 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0203DDBC: .word sub_0203DDC0 + 1 + + thumb_func_start sub_0203DDC0 +sub_0203DDC0: ; 0x0203DDC0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + ldr r1, [r5, #0x64] + add r0, #0x80 + lsl r1, r1, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0224CA2C + strh r0, [r5, #0x0] + ldrh r1, [r5, #0x0] + ldr r0, _0203DDFC ; =0x0000FFFE + cmp r1, r0 + beq _0203DDF6 + mov r0, #0x1 + pop {r3-r5, pc} +_0203DDF6: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203DDFC: .word 0x0000FFFE + + thumb_func_start sub_0203DE00 +sub_0203DE00: ; 0x0203DE00 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x3 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + bl sub_0224CA58 + strb r0, [r4, #0x0] + ldr r1, _0203DE34 ; =sub_0203DE38 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0203DE34: .word sub_0203DE38 + 1 + + thumb_func_start sub_0203DE38 +sub_0203DE38: ; 0x0203DE38 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x3 + bl sub_02039438 + ldrb r0, [r0, #0x0] + bl sub_020546C8 + pop {r3, pc} +_0203DE4C: + .byte 0x08, 0xB5, 0x0E, 0xF2 + .byte 0x21, 0xFE, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C + .byte 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xE4, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7 + .byte 0x3F, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2, 0x13, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C, 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xD0, 0xFE + .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x2B, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2 + .byte 0x09, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0xB0, 0x00, 0x23, 0x00, 0x93 + .byte 0x01, 0x93, 0x01, 0x21, 0x40, 0x6F, 0x0A, 0x1C, 0x04, 0xF2, 0x92, 0xFE, 0x01, 0x20, 0x02, 0xB0 + .byte 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7 + .byte 0xAF, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x0A, 0xFB, 0x01, 0x1C, 0x68, 0x6B + .byte 0x1A, 0xF0, 0xBE, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0xA0, 0xFE, 0x20, 0x1C, 0x00, 0x21 + .byte 0x1A, 0xF0, 0xD4, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 + .byte 0x0D, 0x68, 0xFA, 0xF7, 0x95, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0xF0, 0xFA + .byte 0x01, 0x1C, 0x68, 0x6B, 0x1A, 0xF0, 0xA4, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0x86, 0xFE + .byte 0x20, 0x1C, 0x01, 0x21, 0x1A, 0xF0, 0xBA, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x40, 0x6F + .byte 0x28, 0xF0, 0x72, 0xFC, 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x0C, 0x68, 0xFA, 0xF7, 0x75, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xB4, 0xFA + .byte 0x05, 0x1C, 0xE0, 0x68, 0xE7, 0xF7, 0x70, 0xFC, 0x00, 0x21, 0xE7, 0xF7, 0x9F, 0xFC, 0x28, 0x80 + .byte 0x00, 0x20, 0x38, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x62, 0xFE, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBC, 0xFA, 0x01, 0x1C, 0x60, 0x6F, 0x25, 0xF0, 0x68, 0xFB + .byte 0x01, 0x20, 0x10, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x52, 0xFE, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x90, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x0D, 0xF0 + .byte 0x81, 0xF9, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x40, 0xFE + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x7E, 0xFA, 0x04, 0x1C, 0x28, 0x1C + .byte 0xFA, 0xF7, 0x36, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x91, 0xFA, 0x05, 0x1C + .byte 0xDD, 0xF7, 0x0C, 0xFD, 0x29, 0x1C, 0xAD, 0xF0, 0x54, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFB, 0xF7, 0x62, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x1A, 0xFE, 0x80, 0x35, 0x01, 0x1C + .byte 0x28, 0x68, 0xFB, 0xF7, 0x75, 0xFA, 0x05, 0x1C, 0xDD, 0xF7, 0xF0, 0xFC, 0x29, 0x1C, 0xAD, 0xF0 + .byte 0x38, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x0C, 0x68, 0xFA, 0xF7, 0x05, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7 + .byte 0x43, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xFB, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0xFB, 0xF7, 0x56, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0xB5, 0xF1, 0xE6, 0xFC, 0x30, 0x80, 0x00, 0x20 + .byte 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7 + .byte 0xE7, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x42, 0xFA, 0x01, 0x1C, 0x28, 0x1C + .byte 0xB5, 0xF1, 0x20, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x0C, 0x68, 0xFA, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7 + .byte 0x2F, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xCB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFB, 0xF7, 0x25, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC1, 0xFD, 0x80, 0x35 + .byte 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x1C, 0xFA, 0x31, 0x06, 0x3A, 0x06, 0x03, 0x1C, 0x20, 0x1C + .byte 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x5A, 0xFD, 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C + .byte 0x29, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xFA, 0xF7, 0xAB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFB, 0xF7, 0x05, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA1, 0xFD, 0x01, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xFB, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7 + .byte 0x97, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xF2, 0xF9, 0x31, 0x06, 0x3A, 0x06 + .byte 0x03, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x18, 0xFD, 0x00, 0x20, 0xF8, 0xBD + .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x08, 0xF0, 0xC0, 0xF8, 0x82, 0x21, 0x09, 0x02 + .byte 0x21, 0xF0, 0x62, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x10, 0xB5, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68 + .byte 0x08, 0xF0, 0xB4, 0xF8, 0x01, 0x21, 0x21, 0xF0, 0xC5, 0xF8, 0xE0, 0x68, 0xEA, 0xF7, 0x2A, 0xFC + .byte 0x01, 0x21, 0xEA, 0xF7, 0x2D, 0xFC, 0x21, 0x1C, 0x98, 0x31, 0x08, 0x60, 0x20, 0x1C, 0x0A, 0xF0 + .byte 0x7B, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x60, 0xFD + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBA, 0xF9, 0x07, 0x1C, 0x20, 0x1C + .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xB0, 0xF9 + .byte 0x00, 0x90, 0x20, 0x1C, 0xFA, 0xF7, 0x4C, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFB, 0xF7, 0xA6, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x43, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFB, 0xF7, 0x9D, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x3A, 0xFD, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x94, 0xF9, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21 + .byte 0xFB, 0xF7, 0x32, 0xF9, 0x05, 0x1C, 0x38, 0x1C, 0x10, 0x38, 0x0A, 0x28, 0x2D, 0xD8, 0x00, 0x18 + .byte 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x14, 0x00, 0x20, 0x00, 0x2C, 0x00 + .byte 0x3A, 0x00, 0x4E, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00 + .byte 0x04, 0x20, 0x01, 0x26, 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x18, 0xE0, 0x04, 0x20, 0x01, 0x26 + .byte 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x12, 0xE0, 0x00, 0x98, 0x04, 0x21, 0x01, 0x26, 0xEA, 0xF7 + .byte 0x8B, 0xFF, 0x28, 0x60, 0x0B, 0xE0, 0x13, 0x3F, 0x38, 0x06, 0x00, 0x99, 0x00, 0x0E, 0x04, 0x22 + .byte 0x01, 0x26, 0xEA, 0xF7, 0x8B, 0xFF, 0x28, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x80, 0x34 + .byte 0x20, 0x68, 0x29, 0x68, 0x98, 0x30, 0x00, 0x68, 0x32, 0x1C, 0xEA, 0xF7, 0x43, 0xFC, 0x01, 0x20 + .byte 0xF8, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xE8, 0xFC + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x42, 0xF9, 0x04, 0x1C, 0x28, 0x1C + .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x38, 0xF9 + .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0xCC, 0xFD, 0xE8, 0xF7, 0xFE, 0xFE + .byte 0x21, 0x1C, 0x32, 0x1C, 0xE8, 0xF7, 0x86, 0xFF, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x05, 0x1C + .byte 0xFA, 0xF7, 0xC6, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x20, 0xF9 + .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xBC, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFB, 0xF7, 0x16, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xFC, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF0, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68 + .byte 0xE9, 0xF7, 0xA0, 0xFD, 0xE8, 0xF7, 0xD2, 0xFE, 0x31, 0x1C, 0x3A, 0x1C, 0xE8, 0xF7, 0xF4, 0xFE + .byte 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x98, 0xFC + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF2, 0xF8, 0x07, 0x1C, 0x28, 0x1C + .byte 0xFA, 0xF7, 0x8E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xE8, 0xF8 + .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFB, 0xF7, 0xC2, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x72, 0xFD + .byte 0xE8, 0xF7, 0xA4, 0xFE, 0x39, 0x1C, 0xE8, 0xF7, 0xE5, 0xFE, 0x86, 0x42, 0x01, 0xD8, 0x01, 0x20 + .byte 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C + .byte 0xFA, 0xF7, 0x66, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xC0, 0xF8 + .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x54, 0xFD, 0xE8, 0xF7, 0x86, 0xFE + .byte 0x21, 0x1C, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C + .byte 0xFA, 0xF7, 0x4E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xA8, 0xF8 + .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFB, 0xF7, 0x82, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x32, 0xFD + .byte 0xE8, 0xF7, 0x64, 0xFE, 0x31, 0x1C, 0xE8, 0xF7, 0x9B, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD + .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xE1, 0xFC, 0x05, 0x1C + .byte 0x20, 0x1C, 0xFA, 0xF7, 0x25, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x64, 0xF8 + .byte 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xE6, 0xF7, 0x84, 0xF8, 0x01, 0x28, 0x01, 0xD1 + .byte 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xC0, 0x68, 0xE6, 0xF7, 0xC5, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x09, 0xFC, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C + .byte 0xE6, 0xF7, 0x5C, 0xF8, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xF5, 0xFF, 0x04, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0x4B, 0xFB, 0x20, 0x60 + .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x7A, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02 + .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xDD, 0xFF, 0x04, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x01, 0x22, 0xFA, 0xF7, 0x33, 0xFB, 0x20, 0x60 + .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x62, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02 + .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0x82, 0xFB, 0x00, 0x20, 0x08, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0xFA, 0xFF, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0xAA, 0xFB + .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xA8, 0xFB + .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0xE7, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x9C, 0xFB, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68 + .byte 0xEB, 0xF7, 0x62, 0xFD, 0x21, 0x1C, 0xEB, 0xF7, 0xEF, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x8C, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x88, 0xFB + .byte 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFB, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x21, 0x1C, 0xFA, 0xF7, 0xC1, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x31, 0x1C + .byte 0xFA, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x3C, 0xFD + .byte 0x39, 0x1C, 0xEB, 0xF7, 0xFD, 0xFD, 0x03, 0x49, 0x01, 0x40, 0x09, 0x0C, 0x21, 0x80, 0x30, 0x80 + .byte 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xFF, 0xFF, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x60, 0xFB + .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x5C, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x58, 0xFB + .byte 0xA9, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x22, 0x04, 0x14, 0x1C, 0x04, 0x43, 0x08, 0x78, 0x00, 0x28 + .byte 0x04, 0xD0, 0x01, 0x28, 0x0C, 0xD0, 0x02, 0x28, 0x14, 0xD0, 0x1C, 0xE0, 0x80, 0x35, 0x28, 0x68 + .byte 0xC0, 0x68, 0xEB, 0xF7, 0x11, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7, 0xB7, 0xFD, 0x12, 0xE0 + .byte 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x07, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7 + .byte 0x5D, 0xFD, 0x08, 0xE0, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0xFD, 0xFC, 0x31, 0x1C + .byte 0x22, 0x1C, 0xEB, 0xF7, 0x69, 0xFD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0 + .byte 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xF6, 0xF7, 0x22, 0xFC, 0x07, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x59, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xC0, 0x68, 0xE3, 0xF7, 0x7E, 0xFF, 0xA9, 0x68, 0x01, 0x90, 0x48, 0x1C, 0xA8, 0x60 + .byte 0x0C, 0x78, 0x38, 0x1C, 0xF6, 0xF7, 0x06, 0xFC, 0x06, 0x1C, 0x38, 0x1C, 0xF6, 0xF7, 0x04, 0xFC + .byte 0x07, 0x1C, 0x00, 0x2C, 0x02, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x20, 0xE0, 0x00, 0x98, 0x20, 0xF0 + .byte 0xE1, 0xFD, 0x01, 0x98, 0x22, 0xF0, 0xCC, 0xFC, 0x1E, 0x20, 0x30, 0x80, 0x00, 0x20, 0x38, 0x80 + .byte 0x15, 0xE0, 0x00, 0x98, 0x20, 0xF0, 0xDE, 0xFD, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x22, 0xF0 + .byte 0x91, 0xFF, 0x04, 0x20, 0xEA, 0xF7, 0x6A, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0x01, 0x22 + .byte 0x98, 0x30, 0x00, 0x68, 0xEA, 0xF7, 0x36, 0xFA, 0x00, 0x20, 0x30, 0x80, 0x38, 0x80, 0x00, 0x20 + .byte 0x02, 0xB0, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x21, 0xF0, 0x6F, 0xFD, 0x01, 0x20 + .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78 + .byte 0xFA, 0xF7, 0xCE, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x0C, 0xFF + .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x07, 0xF2, 0x1E, 0xF8, 0x30, 0x80, 0x01, 0x20 + .byte 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0xF0, 0xB1, 0xFB, 0x00, 0x20 + .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xB2, 0xFA, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xFA + .byte 0x00, 0x21, 0x06, 0x1C, 0x41, 0x20, 0x0A, 0x1C, 0xC5, 0xF7, 0x28, 0xFE, 0x80, 0x35, 0x21, 0x88 + .byte 0x28, 0x68, 0x32, 0x1C, 0x06, 0xF2, 0xB2, 0xFD, 0x01, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C + .byte 0xFA, 0xF7, 0x96, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x92, 0xFA, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xD0, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C + .byte 0x06, 0xF2, 0x0E, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0x68 + .byte 0x51, 0x1C, 0x81, 0x60, 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0x80, 0x6B, 0x16, 0xF0, 0x10, 0xFF + .byte 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0 + .byte 0xAD, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x6B, 0xFA, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0xFA, 0xF7, 0xAA, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0x20, 0xF0, 0x8E, 0xFF, 0x28, 0x80, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7 + .byte 0x0F, 0xFB, 0x07, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x53, 0xFA, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 + .byte 0xFA, 0xF7, 0x92, 0xFE, 0x00, 0x90, 0x38, 0x1C, 0xE5, 0xF7, 0x84, 0xFE, 0x04, 0x1C, 0xDD, 0xF7 + .byte 0x25, 0xF9, 0x21, 0x1C, 0xAD, 0xF0, 0x6C, 0xEA, 0x08, 0x04, 0x06, 0x0C, 0x00, 0x98, 0x19, 0x21 + .byte 0x01, 0x80, 0x01, 0x24, 0x00, 0x25, 0x38, 0x1C, 0x21, 0x1C, 0xE5, 0xF7, 0x19, 0xFF, 0x01, 0x28 + .byte 0x0C, 0xD1, 0x20, 0x1C, 0x2B, 0xF0, 0xBC, 0xF9, 0x00, 0x28, 0x07, 0xD0, 0xB5, 0x42, 0x02, 0xD1 + .byte 0x00, 0x98, 0x04, 0x80, 0x08, 0xE0, 0x68, 0x1C, 0x00, 0x04, 0x05, 0x0C, 0x60, 0x1C, 0x00, 0x04 + .byte 0x04, 0x0C, 0x02, 0x48, 0x84, 0x42, 0xE6, 0xD9, 0x00, 0x20, 0xF8, 0xBD, 0xED, 0x01, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x1C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0x76, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x4E, 0xFD + .byte 0x21, 0x1C, 0x20, 0xF0, 0xC7, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C + .byte 0xFA, 0xF7, 0x06, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x44, 0xFE + .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x38, 0xFD, 0x20, 0xF0, 0xAA, 0xFE + .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 + .byte 0xEC, 0xF7, 0xD6, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0x68, 0x51, 0x1C, 0x81, 0x60 + .byte 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0xC0, 0x68, 0x21, 0xF0, 0x12, 0xFE, 0x00, 0x20, 0x08, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7, 0xDD, 0xFD, 0xA9, 0x68 + .byte 0x04, 0x1C, 0x48, 0x1C, 0xA8, 0x60, 0x09, 0x78, 0x0B, 0x20, 0x09, 0xF2, 0xDF, 0xFF, 0x20, 0x60 + .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 + .byte 0xCB, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC3, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0xFA, 0xF7, 0x02, 0xFE, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x18, 0xF8, 0x28, 0x80, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 + .byte 0xB3, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xAB, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0xFA, 0xF7, 0xEA, 0xFD, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x04, 0xF8, 0x28, 0x80, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 + .byte 0x9B, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x93, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFA, 0xF7, 0xED, 0xFD, 0x02, 0x1C, 0x68, 0x6F, 0x21, 0x68, 0x0B, 0x23, 0x21, 0xF0 + .byte 0x37, 0xFF, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21 + .byte 0xFA, 0xF7, 0x82, 0xFD, 0x00, 0x68, 0x09, 0xF2, 0xC9, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 + .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x2A, 0xFA, 0xE6, 0xF7, 0xFE, 0xF9 + .byte 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x20, 0xFA + .byte 0xE6, 0xF7, 0xBE, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C + .byte 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x5C, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0x9A, 0xFD, 0x06, 0x1C, 0x00, 0x20, 0x30, 0x80, 0x01, 0x2C, 0x0F, 0xD1, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x03, 0xFA, 0xE6, 0xF7, 0x73, 0xF9, 0x80, 0x35 + .byte 0x28, 0x68, 0xC0, 0x68, 0xE4, 0xF7, 0xA6, 0xFF, 0xE5, 0xF7, 0x72, 0xF8, 0x0C, 0xE0, 0x02, 0x2C + .byte 0x08, 0xD1, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xF2, 0xF9, 0xE6, 0xF7, 0x72, 0xF9 + .byte 0x30, 0x80, 0x01, 0xE0, 0xE2, 0xF7, 0x32, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF0, 0xB5, 0x83, 0xB0 + .byte 0x05, 0x1C, 0xFA, 0xF7, 0x2D, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7 + .byte 0x6B, 0xFD, 0x00, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x23, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFA, 0xF7, 0x7D, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0 + .byte 0x8D, 0xF8, 0x21, 0x1C, 0x2C, 0xF0, 0xD4, 0xFF, 0x05, 0x1C, 0x0D, 0x21, 0x00, 0x22, 0x28, 0xF0 + .byte 0xD5, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x0E, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xCF, 0xFB, 0x06, 0x1C + .byte 0x28, 0x1C, 0x0F, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xC9, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x10, 0x21 + .byte 0x00, 0x22, 0x28, 0xF0, 0xC3, 0xFB, 0x01, 0x90, 0x28, 0x1C, 0x11, 0x21, 0x00, 0x22, 0x28, 0xF0 + .byte 0xBD, 0xFB, 0x02, 0x90, 0x28, 0x1C, 0x12, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xB7, 0xFB, 0xA1, 0x19 + .byte 0x7A, 0x18, 0x01, 0x99, 0x8A, 0x18, 0x02, 0x99, 0x89, 0x18, 0x41, 0x18, 0x00, 0x98, 0x01, 0x80 + .byte 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0xFA, 0xF7 + .byte 0xDF, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x1E, 0xFD, 0x04, 0x1C, 0x00, 0xA8 + .byte 0xD3, 0xF7, 0x18, 0xFE, 0x03, 0x98, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0x10, 0xBD, 0x00, 0x00 + .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xCC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0x0A, 0xFD, 0x01, 0x1C, 0x60, 0x6F, 0x02, 0xF2, 0xA4, 0xFB, 0x01, 0x20, 0x10, 0xBD + .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0xFA, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xF8, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x02, 0xFD, 0x80, 0x35, 0x07, 0x1C + .byte 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0, 0x12, 0xF8, 0x39, 0x1C, 0x2C, 0xF0, 0x59, 0xFF, 0x05, 0x21 + .byte 0x00, 0x22, 0x28, 0xF0, 0x5B, 0xFB, 0x00, 0x04, 0x05, 0x0C, 0x28, 0x1C, 0xB7, 0xF1, 0x6C, 0xFB + .byte 0x20, 0x80, 0x28, 0x1C, 0xB7, 0xF1, 0x62, 0xFB, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 + .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x84, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x09, 0x06, 0x20, 0x68, 0x09, 0x0E, 0x0D, 0xF2 + .byte 0x9D, 0xFB, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x70, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xCA, 0xFC, 0x04, 0x1C, 0x28, 0x1C + .byte 0xFA, 0xF7, 0x66, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xC0, 0xFC + .byte 0x02, 0x1C, 0x80, 0x35, 0x21, 0x06, 0x12, 0x06, 0x28, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x0D, 0xF2 + .byte 0xCF, 0xFC, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0xA9, 0x68 + .byte 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x48, 0xF8 + .byte 0x02, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xF8, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x40, 0xF8 + .byte 0x00, 0x97, 0x80, 0x35, 0x01, 0x90, 0x28, 0x68, 0x02, 0x9B, 0x31, 0x1C, 0x22, 0x1C, 0x21, 0xF0 + .byte 0x09, 0xFE, 0x01, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x30, 0xF8 + .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x6F, 0xFC, 0x0A, 0x21, 0x01, 0x80, 0x00, 0x20 + .byte 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x06, 0x68, 0x30, 0x1C + .byte 0xF8, 0xF7, 0xDC, 0xFD, 0xE4, 0xF7, 0x7E, 0xFE, 0x01, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x18, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x56, 0xFC, 0x04, 0x1C, 0xF0, 0x68 + .byte 0xE3, 0xF7, 0x7E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x0A, 0xF8, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x64, 0xFC, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x00, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x5A, 0xFC, 0x02, 0x90, 0x28, 0x1C + .byte 0xF9, 0xF7, 0xF6, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x50, 0xFC + .byte 0x03, 0x90, 0x28, 0x1C, 0xF9, 0xF7, 0xEC, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFA, 0xF7 + .byte 0x47, 0xFC, 0x00, 0x90, 0x01, 0x98, 0x02, 0x9A, 0x03, 0x9B, 0x39, 0x1C, 0x0E, 0xF2, 0x6E, 0xFA + .byte 0x05, 0x1C, 0x00, 0x20, 0xC0, 0x43, 0x85, 0x42, 0x01, 0xD0, 0x07, 0x2D, 0x04, 0xDD, 0xFF, 0x20 + .byte 0x20, 0x80, 0x04, 0xB0, 0x00, 0x20, 0xF8, 0xBD, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xDA, 0xFC + .byte 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x04, 0xE0, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xC0, 0xFC + .byte 0x68, 0x1C, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C + .byte 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF9, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x01, 0x1C + .byte 0x28, 0x68, 0xFA, 0xF7, 0xF9, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0xF3, 0xFF, 0xE7, 0xF7 + .byte 0x7D, 0xFE, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68 + .byte 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xC5, 0xFC, 0x00, 0x20 + .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C + .byte 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xEF, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 + .byte 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78 + .byte 0x18, 0x1C, 0x0D, 0xF2, 0xE7, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 + + thumb_func_start sub_0203ED2C +sub_0203ED2C: ; 0x0203ED2C + push {r4-r6, lr} + sub sp, #0x10 + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024DA0 + add r6, r0, #0x0 + mov r0, #0x20 + bl sub_020669C0 + add r4, r0, #0x0 + bl sub_02066978 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x32 + mov r3, #0x20 + bl sub_02066ACC + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202498C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203ED70 +sub_0203ED70: ; 0x0203ED70 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02022510 + bl sub_0206B3E4 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + mov r0, #0x87 + lsl r0, r0, #0x2 + sub r0, r0, r1 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203EDA4 +sub_0203EDA4: ; 0x0203EDA4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x16 + bl sub_02039438 + add r4, r0, #0x0 + mov r0, #0x0 + add r5, #0x80 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + bl sub_021E7184 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203EDC8 +sub_0203EDC8: ; 0x0203EDC8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x16 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_021E71E8 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203EDE0 +sub_0203EDE0: ; 0x0203EDE0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r4, #0x80 + lsl r1, r1, #0x18 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + bl sub_0224E554 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203EE08 +sub_0203EE08: ; 0x0203EE08 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0206486C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203EE18 +sub_0203EE18: ; 0x0203EE18 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020649D4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203EE28 +sub_0203EE28: ; 0x0203EE28 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020649B0 + cmp r0, #0x0 + beq _0203EE4E + mov r0, #0x1 + b _0203EE50 +_0203EE4E: + mov r0, #0x0 +_0203EE50: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203EE58 +sub_0203EE58: ; 0x0203EE58 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0224E764 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203EE68 +sub_0203EE68: ; 0x0203EE68 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_0224E7C4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203EE78 +sub_0203EE78: ; 0x0203EE78 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + add r1, r4, #0x0 + bl sub_0202A170 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203EE98 +sub_0203EE98: ; 0x0203EE98 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206BAE4 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0203EED8 +sub_0203EED8: ; 0x0203EED8 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, sp, #0x4 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + str r0, [sp, #0x0] + bl sub_0206B9AC + add r4, #0x80 + add r6, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r7, r0, #0x0 + mov r5, #0x0 + cmp r6, #0x0 + ble _0203EF4E +_0203EF18: + ldr r0, [sp, #0x0] + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + ldr r1, _0203EF54 ; =0x00000182 + cmp r0, r1 + bne _0203EF48 + add r0, r4, #0x0 + mov r1, #0x70 + add r2, sp, #0x4 + bl sub_02067830 + add r0, r4, #0x0 + bl sub_02066ED8 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_02024AF0 +_0203EF48: + add r5, r5, #0x1 + cmp r5, r6 + blt _0203EF18 +_0203EF4E: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0203EF54: .word 0x00000182 + + thumb_func_start sub_0203EF58 +sub_0203EF58: ; 0x0203EF58 + push {r3-r7, lr} + sub sp, #0x30 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + str r0, [sp, #0xc] + bl sub_0206B9AC + add r2, sp, #0x18 + mov r4, #0x0 + ldr r3, _0203F008 ; =0x020F34FC + str r0, [sp, #0x8] + add r7, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [sp, #0x8] + str r4, [sp, #0x4] + cmp r0, #0x0 + ble _0203EFFC + mov r5, #0x1 + str r7, [sp, #0x14] +_0203EFA2: + ldr r0, [sp, #0xc] + add r1, r4, #0x0 + bl sub_0206B9B0 + add r6, r0, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x10] + add r0, r6, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r3, r0, #0x0 + mov r0, #0x67 + ldr r1, [sp, #0x10] + lsl r0, r0, #0x2 + cmp r1, r0 + bne _0203EFF2 + mov r2, #0x0 + add r1, r2, #0x0 + str r3, [r7, #0x0] + cmp r4, #0x0 + ble _0203EFE8 + ldr r6, [sp, #0x14] +_0203EFD8: + ldr r0, [r6, #0x0] + cmp r3, r0 + bne _0203EFE0 + add r2, r5, #0x0 +_0203EFE0: + add r1, r1, #0x1 + add r6, r6, #0x4 + cmp r1, r4 + blt _0203EFD8 +_0203EFE8: + cmp r2, #0x0 + bne _0203EFF2 + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] +_0203EFF2: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r7, r7, #0x4 + cmp r4, r0 + blt _0203EFA2 +_0203EFFC: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x1 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_0203F008: .word 0x020F34FC + + thumb_func_start sub_0203F00C +sub_0203F00C: ; 0x0203F00C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F1C4 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203F020 +sub_0203F020: ; 0x0203F020 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F1D4 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203F034 +sub_0203F034: ; 0x0203F034 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl sub_020389CC + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0203F058 +sub_0203F058: ; 0x0203F058 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204B2D8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203F07C +sub_0203F07C: ; 0x0203F07C + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, #0x34] + bl sub_02058060 + add r7, r0, #0x0 + bne _0203F0FA + bl sub_02020C2C +_0203F0FA: + str r6, [sp, #0x0] + str r4, [sp, #0x4] + ldr r0, [r5, #0x74] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x8] + add r1, r7, #0x0 + bl sub_02054F50 + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0203F110 +sub_0203F110: ; 0x0203F110 + push {r3-r7, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r5, #0x0 + ldr r0, [r0, #0x34] + bl sub_02058060 + add r5, r0, #0x0 + bne _0203F164 + bl sub_02020C2C +_0203F164: + ldr r0, [r4, #0x74] + add r1, r5, #0x0 + add r2, r7, #0x0 + add r3, r6, #0x0 + bl sub_0205502C + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_0203F174 +sub_0203F174: ; 0x0203F174 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02054E30 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F19C +sub_0203F19C: ; 0x0203F19C + push {r4-r7, lr} + sub sp, #0x24 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_02027E24 + bl sub_0202708C + mov r6, #0x0 + add r7, r0, #0x0 + add r4, r6, #0x0 + add r5, sp, #0x4 +_0203F1CA: + add r1, r4, #0x0 + add r0, r7, #0x0 + add r1, #0x22 + mov r2, #0x1 + bl sub_020270D8 + cmp r0, #0x1 + bne _0203F1E0 + mov r0, #0x1 + strh r0, [r5, #0x0] + add r6, r6, #0x1 +_0203F1E0: + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x10 + blt _0203F1CA + cmp r6, #0x0 + bne _0203F1F8 + ldr r0, [sp, #0x0] + ldr r1, _0203F230 ; =0x0000FFFF + add sp, #0x24 + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r4-r7, pc} +_0203F1F8: + bl sub_0201B9EC + add r1, r6, #0x0 + blx sub_020EBC80 + mov r4, #0x0 + add r2, sp, #0x4 +_0203F206: + ldrh r0, [r2, #0x0] + cmp r0, #0x1 + bne _0203F212 + cmp r1, #0x0 + beq _0203F21A + sub r1, r1, #0x1 +_0203F212: + add r4, r4, #0x1 + add r2, r2, #0x2 + cmp r4, #0x10 + blt _0203F206 +_0203F21A: + cmp r4, #0x10 + blt _0203F222 + bl sub_02020C2C +_0203F222: + ldr r0, [sp, #0x0] + add r4, #0x22 + strh r4, [r0, #0x0] + mov r0, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0203F230: .word 0x0000FFFF + + thumb_func_start sub_0203F234 +sub_0203F234: ; 0x0203F234 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + ldr r1, _0203F250 ; =0x021C4918 + ldrb r1, [r1, #0x6] + strh r1, [r0, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0203F250: .word 0x021C4918 + + thumb_func_start sub_0203F254 +sub_0203F254: ; 0x0203F254 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0x0 + bl sub_0205F698 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203F26C +sub_0203F26C: ; 0x0203F26C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 + ldr r0, [r5, #0x0] + ldrb r4, [r1, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + cmp r4, #0x0 + beq _0203F2A0 + add r1, r6, #0x0 + bl sub_0205F4E4 + b _0203F2A6 +_0203F2A0: + add r1, r6, #0x0 + bl sub_0205F50C +_0203F2A6: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203F2AC +sub_0203F2AC: ; 0x0203F2AC + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B6D0 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0203F2E4 +sub_0203F2E4: ; 0x0203F2E4 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205F6C8 + cmp r0, #0xa + blo _0203F314 + mov r0, #0x1 + b _0203F316 +_0203F314: + mov r0, #0x0 +_0203F316: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203F31C +sub_0203F31C: ; 0x0203F31C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F648 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F348 +sub_0203F348: ; 0x0203F348 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02027E24 + bl sub_0202708C + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02027210 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203F38C +sub_0203F38C: ; 0x0203F38C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02046030 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203F39C +sub_0203F39C: ; 0x0203F39C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0205F668 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0203F3AC +sub_0203F3AC: ; 0x0203F3AC + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02013B5C + bl sub_02013B74 + cmp r0, #0x20 + bne _0203F3FE + ldr r0, _0203F414 ; =0x0000FFFF + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} +_0203F3FE: + strh r0, [r4, #0x0] + bl sub_02013BE4 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + bl sub_0200B518 + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0203F414: .word 0x0000FFFF + + thumb_func_start sub_0203F418 +sub_0203F418: ; 0x0203F418 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02013B5C + bl sub_02013BC8 + cmp r0, #0x1 + bne _0203F444 + mov r0, #0x1 + b _0203F446 +_0203F444: + mov r0, #0x0 +_0203F446: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203F44C +sub_0203F44C: ; 0x0203F44C + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205F710 + cmp r0, #0x5 + blo _0203F47C + mov r0, #0x1 + b _0203F47E +_0203F47C: + mov r0, #0x0 +_0203F47E: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203F484 +sub_0203F484: ; 0x0203F484 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + ldr r5, [r5, #0x0] + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02023788 + add r7, r0, #0x0 + bl sub_02023818 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204B2B4 + cmp r6, r0 + bne _0203F4CE + add r0, r7, #0x0 + bl sub_0202381C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204B2C0 + cmp r6, r0 + bne _0203F4CE + mov r0, #0x1 + strh r0, [r4, #0x0] + b _0203F4D2 +_0203F4CE: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0203F4D2: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0203F4D8 +sub_0203F4D8: ; 0x0203F4D8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202471C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F508 +sub_0203F508: ; 0x0203F508 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r1, r6, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r2, [r1, #0x1c] + ldr r1, [r2, #0x8] + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + ldr r1, [r2, #0xc] + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r7, #0x3 + blo _0203F54C + ldr r7, _0203F5C8 ; =0x0000010E + b _0203F582 +_0203F54C: + cmp r0, #0x1e + blo _0203F556 + mov r7, #0x43 + lsl r7, r7, #0x2 + b _0203F582 +_0203F556: + bl sub_0201B9EC + mov r1, #0x64 + blx sub_020EBC80 + cmp r1, #0x19 + bge _0203F568 + ldr r7, _0203F5CC ; =0x0000010D + b _0203F582 +_0203F568: + bl sub_0201B9EC + mov r1, #0x6 + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r1, r0, #0x10 + mov r0, #0x6 + mul r0, r7 + add r0, r1, r0 + lsl r1, r0, #0x1 + ldr r0, _0203F5D0 ; =0x020F3538 + ldrh r7, [r0, r1] +_0203F582: + cmp r5, #0xb + bne _0203F59A + cmp r4, #0x1 + bne _0203F58E + mov r4, #0x0 + b _0203F5A4 +_0203F58E: + cmp r4, #0x14 + bne _0203F596 + mov r4, #0x2 + b _0203F5A4 +_0203F596: + mov r4, #0x5 + b _0203F5A4 +_0203F59A: + cmp r5, #0x14 + bne _0203F5A2 + mov r4, #0x1 + b _0203F5A4 +_0203F5A2: + mov r4, #0x3 +_0203F5A4: + mov r5, #0x0 +_0203F5A6: + cmp r5, r4 + beq _0203F5B8 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r5, #0x0 + add r2, r7, #0x0 + bl sub_02034C24 +_0203F5B8: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + blo _0203F5A6 + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0203F5C8: .word 0x0000010E +_0203F5CC: .word 0x0000010D +_0203F5D0: .word 0x020F3538 + + thumb_func_start sub_0203F5D4 +sub_0203F5D4: ; 0x0203F5D4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F720 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F604 +sub_0203F604: ; 0x0203F604 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F740 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F634 +sub_0203F634: ; 0x0203F634 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F760 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F664 +sub_0203F664: ; 0x0203F664 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x0 + add r3, sp, #0x0 + add r0, #0x8 +_0203F684: + ldr r6, [r0, #0x0] + ldr r1, [r5, #0x8] + add r6, r6, #0x1 + str r6, [r0, #0x0] + ldrb r1, [r1, #0x0] + add r2, r2, #0x1 + strb r1, [r3, #0x0] + add r3, r3, #0x1 + cmp r2, #0x5 + blt _0203F684 + ldr r1, [r0, #0x0] + ldr r2, [r5, #0x8] + add r1, r1, #0x1 + str r1, [r0, #0x0] + ldrb r6, [r2, #0x0] + mov r0, #0x4 + bl sub_02027E5C + add r1, sp, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + add r7, r0, #0x0 + bl sub_02027F04 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02028048 + add r1, r7, #0x0 + bl sub_02028094 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02016A18 + ldr r0, _0203F6E0 ; =0x0000FFFF + cmp r5, r0 + bne _0203F6D8 + strh r0, [r4, #0x0] + b _0203F6DA +_0203F6D8: + strh r6, [r4, #0x0] +_0203F6DA: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0203F6E0: .word 0x0000FFFF + + thumb_func_start sub_0203F6E4 +sub_0203F6E4: ; 0x0203F6E4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02028048 + bl sub_02028074 + ldr r1, _0203F71C ; =0x0000FFFF + cmp r0, r1 + bne _0203F712 + mov r0, #0x0 + b _0203F714 +_0203F712: + mov r0, #0x1 +_0203F714: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203F71C: .word 0x0000FFFF + + thumb_func_start sub_0203F720 +sub_0203F720: ; 0x0203F720 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r5, r0, #0x0 + cmp r4, #0x3 + bls _0203F752 + bl sub_02020C2C +_0203F752: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205F4A0 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0203F760 +sub_0203F760: ; 0x0203F760 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x20 + ldr r0, [r0, #0xc] + add r2, sp, #0x0 + bl sub_02022534 + ldr r1, [sp, #0x0] + add r4, r0, #0x0 + cmp r1, #0x0 + bne _0203F798 + mov r1, #0x0 + strh r1, [r5, #0x0] + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0203F798: + cmp r1, #0x1 + bne _0203F7AE + mov r1, #0x0 + bl sub_0202B21C + strh r0, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0203F7AE: + cmp r1, #0x2 + bne _0203F7BE + mov r1, #0x0 + strh r1, [r5, #0x0] + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0203F7BE: + mov r0, #0x0 + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F7C8 +sub_0203F7C8: ; 0x0203F7C8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r1, r5, #0x0 + add r1, #0x80 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + add r2, r6, #0x0 + bl sub_02037A48 + str r0, [r4, #0x0] + ldr r1, _0203F808 ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_0203F808: .word sub_0203BC04 + 1 + + thumb_func_start sub_0203F80C +sub_0203F80C: ; 0x0203F80C + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203F84C + bl sub_02020C2C +_0203F84C: + ldr r0, [r4, #0x0] + bl sub_02037A40 + strh r0, [r6, #0x0] + ldrh r0, [r6, #0x0] + cmp r0, #0x7 + bne _0203F85E + mov r0, #0xff + strh r0, [r6, #0x0] +_0203F85E: + ldr r0, [r4, #0x0] + bl sub_02037A70 + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] + cmp r0, #0x1 + bne _0203F870 + mov r0, #0x1 + b _0203F872 +_0203F870: + mov r0, #0x0 +_0203F872: + strh r0, [r5, #0x0] + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_0203F880 +sub_0203F880: ; 0x0203F880 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + cmp r4, #0x64 + bls _0203F8A2 + mov r4, #0x64 +_0203F8A2: + bl sub_0201B9EC + mov r1, #0x65 + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + cmp r0, r4 + bgt _0203F8B8 + mov r0, #0x1 + b _0203F8BA +_0203F8B8: + mov r0, #0x0 +_0203F8BA: + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203F8C0 +sub_0203F8C0: ; 0x0203F8C0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r4, #0x0 + beq _0203F8FC + cmp r4, #0x1 + beq _0203F906 + cmp r4, #0x2 + beq _0203F910 + b _0203F91A +_0203F8FC: + mov r2, #0x0 + mov r3, #0x20 + bl sub_0224F12C + b _0203F91E +_0203F906: + mov r2, #0x1 + mov r3, #0x20 + bl sub_0224F12C + b _0203F91E +_0203F910: + mov r2, #0x2 + mov r3, #0x20 + bl sub_0224F12C + b _0203F91E +_0203F91A: + bl sub_02020C2C +_0203F91E: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F924 +sub_0203F924: ; 0x0203F924 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F6A8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F954 +sub_0203F954: ; 0x0203F954 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + cmp r0, #0x0 + bne _0203F978 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl sub_02239944 + b _0203F982 +_0203F978: + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl sub_02239AAC +_0203F982: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0203F988 +sub_0203F988: ; 0x0203F988 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0203384C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F9B0 +sub_0203F9B0: ; 0x0203F9B0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020286EC + bl sub_02028448 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203F9DC +sub_0203F9DC: ; 0x0203F9DC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02026CC4 + ldr r1, _0203FA10 ; =0x0000FF79 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + cmp r1, #0x1 + bhi _0203FA0C + bl sub_02025C30 +_0203FA0C: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0203FA10: .word 0x0000FF79 + + thumb_func_start sub_0203FA14 +sub_0203FA14: ; 0x0203FA14 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r1, _0203FA54 ; =0x0000012A + cmp r4, r1 + blo _0203FA4E + add r1, #0xf + cmp r4, r1 + bhi _0203FA4E + mov r1, #0x1 + strh r1, [r0, #0x0] +_0203FA4E: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203FA54: .word 0x0000012A + + thumb_func_start sub_0203FA58 +sub_0203FA58: ; 0x0203FA58 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + mov r0, #0x20 + bl sub_0200AA80 + add r4, r0, #0x0 + ldr r2, _0203FB48 ; =0x00000147 + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0x20 + bl sub_0200A86C + add r5, r0, #0x0 + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200B518 + ldr r2, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0200B518 + ldr r2, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0200B518 + add r0, r4, #0x0 + mov r1, #0x3 + add r2, r7, #0x0 + bl sub_0200B518 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + mov r3, #0x20 + bl sub_0200A9C4 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200A914 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r7, #0x0 + bl sub_02021CE0 + cmp r0, #0x0 + bne _0203FB24 + mov r0, #0x1 + b _0203FB26 +_0203FB24: + mov r0, #0x0 +_0203FB26: + strh r0, [r6, #0x0] + add r0, r7, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x0] + bl sub_02021A20 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + bl sub_0200AB18 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_0203FB48: .word 0x00000147 + + thumb_func_start sub_0203FB4C +sub_0203FB4C: ; 0x0203FB4C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023788 + mov r1, #0x1 + bl sub_02023828 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203FB64 +sub_0203FB64: ; 0x0203FB64 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xf + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_0205296C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203FB94 +sub_0203FB94: ; 0x0203FB94 + push {r3, lr} + bl sub_02033E74 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203FBA0 +sub_0203FBA0: ; 0x0203FBA0 + push {r3, lr} + bl sub_02033ED0 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203FBAC +sub_0203FBAC: ; 0x0203FBAC + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_02034E48 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203FBBC +sub_0203FBBC: ; 0x0203FBBC + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DCC + str r4, [r0, #0x0] + str r6, [r0, #0x8] + mov r1, #0x0 + str r7, [r0, #0xc] + mvn r1, r1 + str r1, [r0, #0x4] + mov r1, #0x1 + str r1, [r0, #0x10] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0203FC1C +sub_0203FC1C: ; 0x0203FC1C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + ldr r2, [r5, #0x8] + add r1, r0, #0x0 + add r0, r2, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 + ldr r0, [r5, #0x0] + ldrb r4, [r2, #0x0] + ldr r0, [r0, #0x34] + bl sub_02058060 + add r5, r0, #0x0 + bne _0203FC4C + bl sub_02020C2C +_0203FC4C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020588B8 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203FC58 +sub_0203FC58: ; 0x0203FC58 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02065078 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203FC80 +sub_0203FC80: ; 0x0203FC80 + push {r3-r5, lr} + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x28 + add r0, r5, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0202280C + cmp r0, #0x0 + bne _0203FCAA + add r0, r5, #0x0 + mov r1, #0x4 + mov r2, #0x3 + bl sub_021E8588 + str r0, [r4, #0x0] + bl sub_021E84F4 +_0203FCAA: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203FCB0 +sub_0203FCB0: ; 0x0203FCB0 + push {r3-r5, lr} + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x28 + add r0, r5, #0x0 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0202280C + cmp r0, #0x0 + bne _0203FCD6 + ldr r0, [r4, #0x0] + bl sub_021E856C + ldr r0, [r4, #0x0] + bl sub_021E85E4 +_0203FCD6: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0203FCDC +sub_0203FCDC: ; 0x0203FCDC + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_0206367C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0203FCF4 +sub_0203FCF4: ; 0x0203FCF4 + push {r4-r7, lr} + sub sp, #0x84 + add r7, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r7, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + mov r4, #0x0 + add r6, r4, #0x0 + add r5, r4, #0x0 +_0203FD10: + add r0, r7, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + add r1, r5, #0x0 + bl sub_020239D0 + cmp r0, #0x1 + bne _0203FD2C + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_0203FD2C: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0203FD10 + cmp r6, #0x8 + bhi _0203FD70 + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + mov r1, #0x1 + b _0203FD72 +_0203FD5C: + .byte 0x02, 0x21, 0x08, 0xE0 + .byte 0x03, 0x21, 0x06, 0xE0, 0x04, 0x21, 0x04, 0xE0, 0x05, 0x21, 0x02, 0xE0, 0x06, 0x21, 0x00, 0xE0 +_0203FD70: + mov r1, #0x1 +_0203FD72: + ldr r0, _0203FDB4 ; =0x020F4218 + mov r2, #0x0 + add r6, sp, #0x4 +_0203FD78: + lsl r3, r2, #0x2 + add r5, r0, r3 + ldrh r3, [r5, #0x2] + cmp r1, r3 + blt _0203FD8E + ldrh r5, [r5, #0x0] + lsl r3, r4, #0x1 + strh r5, [r6, r3] + add r3, r4, #0x1 + lsl r3, r3, #0x18 + lsr r4, r3, #0x18 +_0203FD8E: + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + cmp r2, #0x13 + blo _0203FD78 + ldr r1, _0203FDB8 ; =0x0000FFFF + lsl r0, r4, #0x1 + add r2, sp, #0x4 + strh r1, [r2, r0] + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, [r7, #0x74] + add r7, #0x80 + ldr r1, [r7, #0x0] + bl sub_0223D3D0 + mov r0, #0x1 + add sp, #0x84 + pop {r4-r7, pc} + .balign 4 +_0203FDB4: .word 0x020F4218 +_0203FDB8: .word 0x0000FFFF + + thumb_func_start sub_0203FDBC +sub_0203FDBC: ; 0x0203FDBC + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, _0203FE00 ; =0x0000FFF8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x5 + bhi _0203FDE4 + mov r0, #0x1 + b _0203FDE6 +_0203FDE4: + mov r0, #0x0 +_0203FDE6: + lsl r3, r2, #0x2 + str r0, [sp, #0x0] + ldr r2, _0203FE04 ; =0x02105E10 + ldr r0, [r4, #0x74] + add r4, #0x80 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] + mov r3, #0x0 + bl sub_0223D3D0 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE00: .word 0x0000FFF8 +_0203FE04: .word 0x02105E10 + + thumb_func_start sub_0203FE08 +sub_0203FE08: ; 0x0203FE08 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + cmp r2, #0x1 + bhi _0203FE28 + mov r0, #0x1 + b _0203FE2A +_0203FE28: + mov r0, #0x0 +_0203FE2A: + lsl r3, r2, #0x2 + str r0, [sp, #0x0] + ldr r2, _0203FE44 ; =0x02105DEC + ldr r0, [r4, #0x74] + add r4, #0x80 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] + mov r3, #0x1 + bl sub_0223D3D0 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE44: .word 0x02105DEC + + thumb_func_start sub_0203FE48 +sub_0203FE48: ; 0x0203FE48 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r0, #0x0 + lsl r3, r2, #0x2 + str r0, [sp, #0x0] + ldr r2, _0203FE7C ; =0x02105DF4 + ldr r0, [r4, #0x74] + add r4, #0x80 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] + mov r3, #0x2 + bl sub_0223D3D0 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE7C: .word 0x02105DF4 + + thumb_func_start sub_0203FE80 +sub_0203FE80: ; 0x0203FE80 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl sub_02038AD0 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0203FE90 +sub_0203FE90: ; 0x0203FE90 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + lsl r1, r1, #0x18 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + bl sub_02082140 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0203FEC0 +sub_0203FEC0: ; 0x0203FEC0 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [r4, #0x64] + ldr r1, _0203FEF0 ; =sub_0203FEF4 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203FEF0: .word sub_0203FEF4 + 1 + + thumb_func_start sub_0203FEF4 +sub_0203FEF4: ; 0x0203FEF4 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r1, [r4, #0x64] + ldr r0, [r0, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02082158 + pop {r4, pc} + + thumb_func_start sub_0203FF10 +sub_0203FF10: ; 0x0203FF10 + push {r3-r7, lr} + sub sp, #0x38 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020239A0 + add r7, r0, #0x0 + ldr r1, [sp, #0x8] + add r0, sp, #0x14 + strb r1, [r0, #0x0] + ldr r1, [sp, #0x4] + strb r1, [r0, #0x1] + ldr r1, [sp, #0xc] + strb r1, [r0, #0x2] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED0C + add r1, sp, #0x14 + strb r0, [r1, #0x3] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + bl sub_02024CA4 + add r1, sp, #0x14 + strb r0, [r1, #0x4] + strb r6, [r1, #0x5] + ldr r0, [sp, #0x10] + str r7, [sp, #0x20] + str r0, [sp, #0x1c] + add r0, r5, #0x0 + str r4, [sp, #0x24] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02027E24 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + str r0, [sp, #0x2c] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r5, #0x80 + ldr r0, [r0, #0xc] + str r0, [sp, #0x30] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029EF8 + str r0, [sp, #0x34] + add r0, sp, #0x14 + bl sub_02081214 + ldr r1, [sp, #0x0] + str r0, [r1, #0x0] + add r0, r7, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x38 + pop {r3-r7, pc} + + thumb_func_start sub_02040028 +sub_02040028: ; 0x02040028 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + add r5, #0x80 + ldr r3, [r5, #0x0] + add r2, r0, #0x0 + ldr r1, [r3, #0xc] + add r3, #0x98 + ldr r0, [r4, #0x0] + ldr r3, [r3, #0x0] + bl sub_02082630 + ldr r0, [r4, #0x0] + bl sub_020814E8 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02040074 +sub_02040074: ; 0x02040074 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl sub_0208201C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020400C8 +sub_020400C8: ; 0x020400C8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl sub_02082034 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204011C +sub_0204011C: ; 0x0204011C + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl sub_0208206C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040170 +sub_02040170: ; 0x02040170 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r3, #0x1 + str r3, [sp, #0x4] + ldr r0, [r4, #0x0] + add r2, r6, #0x0 + bl sub_0200AD38 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020401CC +sub_020401CC: ; 0x020401CC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02081DC4 + ldr r1, _020401EC ; =sub_020401F0 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_020401EC: .word sub_020401F0 + 1 + + thumb_func_start sub_020401F0 +sub_020401F0: ; 0x020401F0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02081EB8 + pop {r3, pc} + + thumb_func_start sub_02040204 +sub_02040204: ; 0x02040204 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + ldr r1, [r1, #0x0] + bl sub_02080E0C + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_02040220 +sub_02040220: ; 0x02040220 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl sub_02082090 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0204025C +sub_0204025C: ; 0x0204025C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl sub_020820B8 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02040298 +sub_02040298: ; 0x02040298 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl sub_020820DC + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020402D4 +sub_020402D4: ; 0x020402D4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0208213C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02040304 +sub_02040304: ; 0x02040304 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl sub_0208210C + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02040340 +sub_02040340: ; 0x02040340 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0208217C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02040370 +sub_02040370: ; 0x02040370 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02082190 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020403A0 +sub_020403A0: ; 0x020403A0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020821B4 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020403D0 +sub_020403D0: ; 0x020403D0 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl sub_020821C4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02040414 +sub_02040414: ; 0x02040414 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl sub_020821DC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02040458 +sub_02040458: ; 0x02040458 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020821F0 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02040488 +sub_02040488: ; 0x02040488 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r3, [sp, #0x4] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02082214 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020404FC +sub_020404FC: ; 0x020404FC + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02082254 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204052C +sub_0204052C: ; 0x0204052C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + mov r3, #0xb + bl sub_02082284 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204056C +sub_0204056C: ; 0x0204056C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020822F0 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204059C +sub_0204059C: ; 0x0204059C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_0208223C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020405B4 +sub_020405B4: ; 0x020405B4 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_0208224C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020405CC +sub_020405CC: ; 0x020405CC + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02082444 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020405F8 +sub_020405F8: ; 0x020405F8 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r1, _02040614 ; =sub_02040618 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_02040614: .word sub_02040618 + 1 + + thumb_func_start sub_02040618 +sub_02040618: ; 0x02040618 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + ldr r0, [r0, #0x0] + bl sub_02082508 + cmp r0, #0x1 + bne _02040632 + mov r0, #0x1 + pop {r3, pc} +_02040632: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02040638 +sub_02040638: ; 0x02040638 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0x1c] + bl sub_021F4608 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204064C +sub_0204064C: ; 0x0204064C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0x1c] + bl sub_021F45E8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02040660 +sub_02040660: ; 0x02040660 + push {r4-r5, lr} + sub sp, #0x1c + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + add r1, sp, #0x18 + add r2, sp, #0x14 + add r3, sp, #0x10 + bl sub_020825A0 + ldr r0, [sp, #0x14] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0x10] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0xc] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0x8] + cmp r0, #0x1 + bne _020406B6 +_020406B0: + mov r0, #0x1 + strh r0, [r5, #0x0] + b _020406BA +_020406B6: + mov r0, #0x0 + strh r0, [r5, #0x0] +_020406BA: + mov r0, #0x0 + add sp, #0x1c + pop {r4-r5, pc} + + thumb_func_start sub_020406C0 +sub_020406C0: ; 0x020406C0 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_0224D3E8 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_020406CC +sub_020406CC: ; 0x020406CC + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl sub_02039438 + ldr r1, [r5, #0x8] + add r4, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r5, [r1, #0x0] + add r0, r6, #0x0 + bl sub_020377AC + bl sub_020238F4 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl sub_0200ABC0 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040700 +sub_02040700: ; 0x02040700 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xf + add r0, r4, #0x0 + bl sub_02039438 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + ldr r2, [r4, #0xc] + bl sub_0200ABE4 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02040724 +sub_02040724: ; 0x02040724 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xf + add r0, r4, #0x0 + bl sub_02039438 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + ldr r2, [r4, #0xc] + bl sub_0200AC0C + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02040748 +sub_02040748: ; 0x02040748 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + add r2, r0, #0x0 + ldr r0, [r7, #0x0] + add r1, r4, #0x0 + bl sub_0200AC60 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040790 +sub_02040790: ; 0x02040790 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AE38 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020407C8 +sub_020407C8: ; 0x020407C8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AEE0 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040800 +sub_02040800: ; 0x02040800 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + bl sub_0206EA30 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AD5C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204083C +sub_0204083C: ; 0x0204083C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AD5C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040874 +sub_02040874: ; 0x02040874 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + bl sub_02054C14 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200AD38 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_020408BC +sub_020408BC: ; 0x020408BC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + ldr r1, [r5, #0x8] + add r2, r1, #0x1 + str r2, [r5, #0x8] + ldrb r4, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r3, [r2, #0x0] + cmp r4, #0x0 + bne _02040904 + bl sub_02054C14 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +_02040904: + str r4, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + ldr r2, [sp, #0x8] + add r1, r6, #0x0 + bl sub_0200AD38 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0204091C +sub_0204091C: ; 0x0204091C + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + add r2, r0, #0x0 + ldr r0, [r7, #0x0] + add r1, r4, #0x0 + bl sub_0200ACF8 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040964 +sub_02040964: ; 0x02040964 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + ldr r0, [r4, #0xc] + bl sub_02022510 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + mov r1, #0x1e + blx sub_020EBC80 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1e + blx sub_020EBC80 + add r2, r1, #0x0 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_0206B5E4 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200ACF8 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020409C0 +sub_020409C0: ; 0x020409C0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B02C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020409F8 +sub_020409F8: ; 0x020409F8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B064 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040A30 +sub_02040A30: ; 0x02040A30 + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + add r0, r5, #0x0 + bl sub_020377AC + bl sub_020238F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xf + bl sub_02039438 + ldr r1, [r7, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r7, #0x8] + add r0, r4, #0x0 + ldrb r5, [r1, #0x0] + bl sub_020239CC + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02023A28 + add r1, r0, #0x0 + add r0, r7, #0x0 + mov r2, #0x2 + bl sub_020536D0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + bl sub_0200B09C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02040A7C +sub_02040A7C: ; 0x02040A7C + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + ldr r1, [r5, #0x8] + str r0, [sp, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r5, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x4 + bl sub_02040AE4 + add r6, r0, #0x0 + str r5, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + ldr r3, [sp, #0x8] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0200ABB4 + add r0, r6, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02040AE4 +sub_02040AE4: ; 0x02040AE4 + push {r3-r5, lr} + ldr r2, _02040B08 ; =0x0000016A + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r5, r0, #0x0 + add r1, r4, #0x0 + bl sub_0200A914 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02040B08: .word 0x0000016A + + thumb_func_start sub_02040B0C +sub_02040B0C: ; 0x02040B0C + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r4, #0x80 + ldr r0, [r4, #0x0] + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F388 + mov r1, #0x4 + bl sub_02040AE4 + add r4, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02040B5C +sub_02040B5C: ; 0x02040B5C + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r4, #0x80 + ldr r0, [r4, #0x0] + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F398 + mov r1, #0x4 + bl sub_02040AE4 + add r4, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02040BAC +sub_02040BAC: ; 0x02040BAC + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r4, #0x80 + ldr r0, [r4, #0x0] + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F3C0 + mov r1, #0x4 + bl sub_02040AE4 + add r4, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02040BFC +sub_02040BFC: ; 0x02040BFC + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B350 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040C34 +sub_02040C34: ; 0x02040C34 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B1D4 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040C6C +sub_02040C6C: ; 0x02040C6C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B164 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040CA4 +sub_02040CA4: ; 0x02040CA4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x16 + mov r1, #0x4 + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r6, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + mov r1, #0x4 + add r2, r4, #0x0 + bl sub_02064E60 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r1, r6, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040D04 +sub_02040D04: ; 0x02040D04 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r4, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r0, r4, #0x0 + ldrb r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + sub r5, #0x95 + add r4, r0, #0x0 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x20 + bl sub_020852E8 + add r5, r0, #0x0 + cmp r4, #0x2 + bhs _02040D5A + mov r0, #0x1 + b _02040D5C +_02040D5A: + mov r0, #0x0 +_02040D5C: + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r1, r6, #0x0 + add r2, r5, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r5, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040D7C +sub_02040D7C: ; 0x02040D7C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AE04 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040DB4 +sub_02040DB4: ; 0x02040DB4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B660 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040DEC +sub_02040DEC: ; 0x02040DEC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + mov r0, #0xb + ldrb r6, [r1, #0x0] + add r1, r0, #0x0 + bl sub_020219F4 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024EB4 + bl sub_02024F0C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02021E28 + ldr r0, _02040E48 ; =0x020ECAC4 + mov r3, #0x0 + ldrb r0, [r0, #0x0] + str r3, [sp, #0x0] + add r1, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r2, r4, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + nop +_02040E48: .word 0x020ECAC4 + + thumb_func_start sub_02040E4C +sub_02040E4C: ; 0x02040E4C + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl sub_02039438 + ldr r1, [r4, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r0, r4, #0x0 + ldrb r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + ldr r1, [sp, #0x0] + bl sub_0206B9B0 + add r4, #0x36 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r7, #0x0] + add r1, r5, #0x0 + bl sub_0200AD5C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02040EB4 +sub_02040EB4: ; 0x02040EB4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x3 + bl sub_0207FC5C + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AD94 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040EF8 +sub_02040EF8: ; 0x02040EF8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + sub r2, r2, #0x1 + lsl r2, r2, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + bl sub_0200B534 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02040F34 +sub_02040F34: ; 0x02040F34 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AE70 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040F6C +sub_02040F6C: ; 0x02040F6C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200AEA8 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040FA4 +sub_02040FA4: ; 0x02040FA4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B388 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02040FDC +sub_02040FDC: ; 0x02040FDC + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B20C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02041014 +sub_02041014: ; 0x02041014 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B19C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204104C +sub_0204104C: ; 0x0204104C + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + ldr r0, [r5, #0x8] + add r1, r4, #0x0 + add r0, r0, #0x1 + str r0, [r5, #0x8] + ldr r0, [r6, #0x0] + add r2, r7, #0x0 + bl sub_0200ACC0 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02041094 +sub_02041094: ; 0x02041094 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 + ldr r0, [r5, #0x0] + ldrb r4, [r1, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F3C0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200ACC0 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020410C8 +sub_020410C8: ; 0x020410C8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B698 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02041100 +sub_02041100: ; 0x02041100 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl sub_0200B09C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02041138 +sub_02041138: ; 0x02041138 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + sub r2, r2, #0x1 + lsl r2, r2, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + bl sub_0200B568 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02041174 +sub_02041174: ; 0x02041174 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl sub_0200B7A8 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02041194 +sub_02041194: ; 0x02041194 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F5D8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020411C4 +sub_020411C4: ; 0x020411C4 + push {r4-r7, lr} + sub sp, #0x24 + add r4, r0, #0x0 + add r0, #0x80 + ldr r7, [r0, #0x0] + ldr r0, [r7, #0xc] + bl sub_02022510 + str r0, [sp, #0x20] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, _0204133C ; =0x00000000 + str r0, [sp, #0x1c] + str r0, [sp, #0x18] + ldr r5, [sp, #0x1c] + beq _02041286 +_0204123C: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204127C + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl sub_02041354 + cmp r0, #0x0 + beq _0204127C + ldr r1, [sp, #0x1c] + cmp r1, r0 + bge _0204127C + str r0, [sp, #0x1c] + str r5, [sp, #0x18] +_0204127C: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _0204123C +_02041286: + mov r6, #0x0 + str r6, [sp, #0x14] + str r6, [sp, #0x10] + add r7, r6, #0x0 +_0204128E: + mov r5, #0x0 +_02041290: + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x10] + add r2, r5, #0x0 + bl sub_0206B5E4 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _020412E0 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _020412E0 + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl sub_02041354 + cmp r0, #0x0 + beq _020412E0 + cmp r6, r0 + bge _020412E0 + add r6, r0, #0x0 + add r0, r5, r7 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x14] +_020412E0: + add r5, r5, #0x1 + cmp r5, #0x1e + blo _02041290 + ldr r0, [sp, #0x10] + add r7, #0x1e + add r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, #0x12 + blo _0204128E + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + bne _0204130C + cmp r6, #0x0 + bne _0204130C + ldr r0, [sp, #0xc] + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r1, [r0, #0x0] + b _02041336 +_0204130C: + ldr r0, [sp, #0x1c] + cmp r0, r6 + blo _02041326 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + mov r1, #0x0 + strh r1, [r0, #0x0] + b _02041336 +_02041326: + ldr r1, [sp, #0x14] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + mov r1, #0x1 + strh r6, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r1, [r0, #0x0] +_02041336: + mov r0, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_0204133C: .word 0x00000000 + + thumb_func_start sub_02041340 +sub_02041340: ; 0x02041340 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F5FC + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02041354 +sub_02041354: ; 0x02041354 + push {r4-r7, lr} + sub sp, #0xc + mov r6, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r6, #0x0 +_02041360: + add r0, r5, #0x0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _020413AC + add r0, r5, #0x0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x5 + blo _02041360 +_020413AC: + ldr r1, _020413BC ; =0x021C5A10 + ldr r0, [sp, #0x8] + strh r0, [r1, #0x2] + ldr r0, [sp, #0x4] + strh r0, [r1, #0x0] + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_020413BC: .word 0x021C5A10 + + thumb_func_start sub_020413C0 +sub_020413C0: ; 0x020413C0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02005410 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020413E8 +sub_020413E8: ; 0x020413E8 + push {r3, lr} + bl sub_02038C30 + bl sub_0200521C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020413F8 +sub_020413F8: ; 0x020413F8 + push {r3, lr} + bl sub_02038C30 + bl sub_02004124 + mov r1, #0x0 + bl sub_02005350 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0204140C +sub_0204140C: ; 0x0204140C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x1c] + ldr r1, [r1, #0x0] + bl sub_0204ABA8 + bl sub_0200521C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02041424 +sub_02041424: ; 0x02041424 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204AB20 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204143C +sub_0204143C: ; 0x0204143C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020053CC + ldr r1, _02041460 ; =sub_02041464 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02041460: .word sub_02041464 + 1 + + thumb_func_start sub_02041464 +sub_02041464: ; 0x02041464 + push {r3, lr} + bl sub_02005404 + cmp r0, #0x0 + bne _02041472 + mov r0, #0x1 + pop {r3, pc} +_02041472: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02041478 +sub_02041478: ; 0x02041478 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + mov r0, #0x7f + mov r2, #0x0 + bl sub_0200538C + ldr r1, _02041498 ; =sub_02041464 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_02041498: .word sub_02041464 + 1 + + thumb_func_start sub_0204149C +sub_0204149C: ; 0x0204149C + push {r3, lr} + ldr r1, [r0, #0x8] + add r3, r1, #0x1 + str r3, [r0, #0x8] + ldrb r2, [r1, #0x0] + add r1, r3, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r3, #0x0] + add r0, r2, #0x0 + bl sub_020047C8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020414B8 +sub_020414B8: ; 0x020414B8 + push {r3, lr} + bl sub_02038C30 + add r1, r0, #0x0 + mov r0, #0x4 + bl sub_02005308 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020414CC +sub_020414CC: ; 0x020414CC + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r0, [r2, #0x0] + bl sub_020040F4 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020414E0 +sub_020414E0: ; 0x020414E0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + bl sub_020054C8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020414FC +sub_020414FC: ; 0x020414FC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + mov r1, #0x0 + bl sub_020054F0 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02041518 +sub_02041518: ; 0x02041518 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [r4, #0x64] + ldr r1, _0204153C ; =sub_02041540 + add r0, r4, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0204153C: .word sub_02041540 + 1 + + thumb_func_start sub_02041540 +sub_02041540: ; 0x02041540 + push {r3, lr} + ldr r0, [r0, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02005508 + cmp r0, #0x0 + bne _02041554 + mov r0, #0x1 + pop {r3, pc} +_02041554: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02041558 +sub_02041558: ; 0x02041558 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + bl sub_02005578 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02041588 +sub_02041588: ; 0x02041588 + push {r3, lr} + ldr r1, _02041594 ; =sub_02041598 + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_02041594: .word sub_02041598 + 1 + + thumb_func_start sub_02041598 +sub_02041598: ; 0x02041598 + push {r3, lr} + bl sub_02005670 + cmp r0, #0x0 + bne _020415A6 + mov r0, #0x1 + pop {r3, pc} +_020415A6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020415AC +sub_020415AC: ; 0x020415AC + push {r3, lr} + bl sub_02038C30 + bl sub_02005C28 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020415BC +sub_020415BC: ; 0x020415BC + push {r3, lr} + ldr r1, _020415C8 ; =sub_020415CC + bl sub_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_020415C8: .word sub_020415CC + 1 + + thumb_func_start sub_020415CC +sub_020415CC: ; 0x020415CC + push {r3, lr} + bl sub_02005CBC + cmp r0, #0x0 + bne _020415DA + mov r0, #0x1 + pop {r3, pc} +_020415DA: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020415E0 +sub_020415E0: ; 0x020415E0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029EF8 + bl sub_02005D20 + cmp r0, #0x1 + bne _02041610 + mov r0, #0x1 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} +_02041610: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041618 +sub_02041618: ; 0x02041618 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + bl sub_02005E28 + cmp r0, #0x0 + bne _0204163C + mov r0, #0x1 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} +_0204163C: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02041644 +sub_02041644: ; 0x02041644 + push {r3, lr} + bl sub_02005E64 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02041650 +sub_02041650: ; 0x02041650 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029EF8 + bl sub_02005E6C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_02041664 +sub_02041664: ; 0x02041664 + push {r3, lr} + mov r1, #0x0 + mov r0, #0x3f + add r2, r1, #0x0 + bl sub_0200433C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_02041674 +sub_02041674: ; 0x02041674 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200488C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020416A8 +sub_020416A8: ; 0x020416A8 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + bne _02041708 + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_02039438 + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_02039438 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x1b + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x1c + bl sub_02039438 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x1d + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x1e + bl sub_02039438 + b _02041748 +_02041708: + add r0, r4, #0x0 + mov r1, #0x1f + bl sub_02039438 + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_02039438 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x21 + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x22 + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x23 + bl sub_02039438 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x24 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x25 + bl sub_02039438 +_02041748: + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0xc] + ldr r0, [r0, #0x0] + ldr r3, [sp, #0x14] + str r0, [sp, #0x4] + str r5, [sp, #0x8] + ldr r0, [r6, #0x0] + ldr r1, [r4, #0x38] + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + bl sub_0205CA4C + str r0, [r7, #0x0] + mov r0, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02041770 +sub_02041770: ; 0x02041770 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x0] + cmp r6, #0x0 + bne _020417AE + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x1e + bl sub_02039438 + b _020417B8 +_020417AE: + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x25 + bl sub_02039438 +_020417B8: + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x0 + bne _020417C6 + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020417C6: + bl sub_0205CA64 + cmp r0, #0x1 + bne _020417DC + ldr r0, [r5, #0x0] + bl sub_0205CA78 + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x1 + strh r0, [r4, #0x0] +_020417DC: + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_020417E0 +sub_020417E0: ; 0x020417E0 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1c + bl sub_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + ldrh r1, [r5, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02041808 +sub_02041808: ; 0x02041808 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x1b + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x22 + bl sub_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + cmp r7, #0x0 + bne _02041852 + ldrh r1, [r4, #0x0] + b _02041854 +_02041852: + ldrh r1, [r6, #0x0] +_02041854: + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204185C +sub_0204185C: ; 0x0204185C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_020395F4 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204188C +sub_0204188C: ; 0x0204188C + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x8 + add r0, r4, #0x0 + bl sub_02039438 + add r0, r4, #0x0 + mov r1, #0x17 + bl sub_02039438 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r6, #0x0 + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _020418F2 + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F368 + add r6, r0, #0x0 +_020418F2: + mov r0, #0xb + str r0, [sp, #0x0] + str r7, [sp, #0x4] + ldr r0, [r5, #0x74] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x8] + add r3, r6, #0x0 + bl sub_020470E8 + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204190C +sub_0204190C: ; 0x0204190C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r2, r0, #0x0 + mov r0, #0xb + str r0, [sp, #0x0] + str r4, [sp, #0x4] + ldr r0, [r5, #0x74] + add r1, r7, #0x0 + add r3, r6, #0x0 + bl sub_020470E8 + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02041970 +sub_02041970: ; 0x02041970 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_020395F4 + bl sub_0203962C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _020419D2 + mov r0, #0x0 + mov r1, #0x2 + add r2, r0, #0x0 + b _020419EC +_020419D2: + ldrh r0, [r4, #0x0] + bl sub_02039618 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _020419E6 + mov r0, #0x3 + mov r1, #0x5 + mov r2, #0x6 + b _020419EC +_020419E6: + mov r0, #0x7 + mov r1, #0x9 + mov r2, #0xa +_020419EC: + strh r0, [r7, #0x0] + strh r1, [r6, #0x0] + strh r2, [r5, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020419F8 +sub_020419F8: ; 0x020419F8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_020395F4 + bl sub_0203962C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _02041A5A + mov r1, #0x0 + mov r0, #0x11 + add r2, r1, #0x0 + b _02041A74 +_02041A5A: + ldrh r0, [r4, #0x0] + bl sub_02039618 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _02041A6E + mov r0, #0x12 + mov r1, #0x0 + mov r2, #0x6 + b _02041A74 +_02041A6E: + mov r0, #0x13 + mov r1, #0x0 + mov r2, #0xa +_02041A74: + strh r0, [r7, #0x0] + strh r1, [r6, #0x0] + strh r2, [r5, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02041A80 +sub_02041A80: ; 0x02041A80 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl sub_020395F4 + bl sub_0203962C + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041AB4 +sub_02041AB4: ; 0x02041AB4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + bl sub_0204AD0C + bl sub_02004724 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02041AD4 +sub_02041AD4: ; 0x02041AD4 + push {r3, lr} + ldr r0, [r0, #0x74] + bl sub_02048498 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_02041AE0 +sub_02041AE0: ; 0x02041AE0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020480B8 + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041B10 +sub_02041B10: ; 0x02041B10 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020480C8 + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041B40 +sub_02041B40: ; 0x02041B40 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020480D8 + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041B70 +sub_02041B70: ; 0x02041B70 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + bl sub_0204A248 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02041B9C +sub_02041B9C: ; 0x02041B9C + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl sub_02039438 + mov r1, #0xb + str r1, [sp, #0x0] + str r0, [sp, #0x4] + mov r2, #0x0 + ldr r0, [r4, #0x74] + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_020470E8 + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02041BC4 +sub_02041BC4: ; 0x02041BC4 + push {r3-r5, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02058738 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02058448 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + bl sub_0203965C + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02041BF0 +sub_02041BF0: ; 0x02041BF0 + push {r3-r7, lr} + add r6, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl sub_02039438 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02038C48 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02058738 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02058448 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r7, #0x0 + lsr r1, r1, #0x10 + bl sub_02039640 + cmp r0, #0x1 + bne _02041C34 + ldr r1, [r6, #0x8] + add r0, r6, #0x0 + add r1, r1, r4 + bl sub_02038C10 + mov r0, #0x1 + pop {r3-r7, pc} +_02041C34: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02041C38 +sub_02041C38: ; 0x02041C38 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl sub_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0202881C + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r7, [r0, #0xc] + add r0, r4, #0x0 + bl sub_02038C30 + cmp r0, #0x6 + bls _02041C6C + b _02041E38 +_02041C6C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r2, r0, #0x1 + lsl r0, r7, #0x1 + lsl r6, r5, #0x2 + lsl r4, r4, #0x3 + lsl r2, r3, #0x4 + lsl r4, r2, #0x5 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02028828 + strh r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02041CBC: + .byte 0x20, 0x1C, 0xF6, 0xF7 + .byte 0xB7, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x11, 0xFC, 0x06, 0x1C + .byte 0x20, 0x1C, 0xF6, 0xF7, 0xAD, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xEC, 0xFB + .byte 0x04, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xE6, 0xF7, 0xAB, 0xFD, 0x20, 0x80, 0x03, 0xB0, 0x00, 0x20 + .byte 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x9C, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF7, 0xF7, 0xF6, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x92, 0xFF, 0x80, 0x34, 0x01, 0x1C + .byte 0x20, 0x68, 0xF7, 0xF7, 0xED, 0xFB, 0x03, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C + .byte 0x2A, 0x1C, 0xC9, 0xF7, 0xF1, 0xFC, 0x87, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x81, 0xFF, 0x01, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDB, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 + .byte 0x77, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xD2, 0xFB, 0x03, 0x1C, 0x01, 0x20 + .byte 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C, 0x2A, 0x1C, 0xC9, 0xF7, 0xD6, 0xFC, 0x6C, 0xE0, 0x00, 0x21 + .byte 0x28, 0x1C, 0x0A, 0x1C, 0xE6, 0xF7, 0x20, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x60, 0xFF + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x9E, 0xFB, 0x00, 0x22, 0x00, 0x92 + .byte 0x01, 0x95, 0x02, 0x90, 0x60, 0x6F, 0x05, 0x21, 0x07, 0x23, 0xF6, 0xF7, 0x1F, 0xFC, 0x03, 0xB0 + .byte 0x01, 0x20, 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF7, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x01, 0x21, 0xE6, 0xF7, 0x3C, 0xFD + .byte 0x06, 0x1C, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0xA2, 0xFC, 0x00, 0x2E, 0x03, 0xD0 + .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x98, 0xFA, 0x03, 0xB0, 0x00, 0x20, 0xF0, 0xBD, 0x40, 0x20 + .byte 0x20, 0x21, 0xDF, 0xF7, 0x0F, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 + .byte 0xE1, 0xF7, 0x88, 0xFD, 0x31, 0x1C, 0x07, 0x1C, 0xE1, 0xF7, 0xD2, 0xFD, 0x28, 0x1C, 0x00, 0x21 + .byte 0x01, 0x22, 0x33, 0x1C, 0xE6, 0xF7, 0xE4, 0xFC, 0x38, 0x1C, 0xE1, 0xF7, 0xE7, 0xFD, 0x02, 0x1C + .byte 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xF2, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x02, 0x22, 0xE6, 0xF7 + .byte 0xFF, 0xFC, 0xD9, 0xF7, 0x25, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xB4, 0xFC + .byte 0x30, 0x1C, 0xDF, 0xF7, 0xFD, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xE6, 0xF7, 0x68, 0xFC + .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x5A, 0xFA +_02041E38: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02041E40 +sub_02041E40: ; 0x02041E40 + push {r3-r7, lr} + add r4, r0, #0x0 + bl sub_02038C30 + cmp r0, #0x6 + bls _02041E4E + b _02041FD2 +_02041E4E: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r5, #0 + lsl r0, r1, #0x3 + lsl r6, r5, #0x1 + lsl r2, r2, #0x3 + lsl r4, r1, #0x4 + lsl r0, r3, #0x5 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02248CD0 + strh r0, [r5, #0x0] + b _02041FD2 +_02041E88: + .byte 0x20, 0x1C, 0xF6, 0xF7, 0xD1, 0xFE, 0x07, 0x1C + .byte 0x20, 0x1C, 0xF6, 0xF7, 0xCD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 + .byte 0x0B, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xC3, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF7, 0xF7, 0x01, 0xFB, 0x06, 0x1C, 0x47, 0x48, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68 + .byte 0x39, 0x1C, 0x07, 0xF2, 0xB9, 0xF8, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x0F, 0x21, 0xF7, 0xF7, 0xB1, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xA9, 0xFE, 0x01, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x03, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 + .byte 0x9F, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDD, 0xFA, 0x07, 0x1C + .byte 0x20, 0x1C, 0xF6, 0xF7, 0x95, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 + .byte 0xD3, 0xFA, 0x00, 0x90, 0x80, 0x34, 0x20, 0x68, 0x29, 0x68, 0x32, 0x1C, 0x3B, 0x1C, 0x07, 0xF2 + .byte 0xBF, 0xF8, 0x56, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x06, 0xF2, 0xCA, 0xFE, 0x51, 0xE0, 0x20, 0x1C + .byte 0xF6, 0xF7, 0x7E, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBC, 0xFA + .byte 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x74, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF7, 0xF7, 0xB2, 0xFA, 0x06, 0x1C, 0x8D, 0x20, 0x80, 0x00, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68 + .byte 0x07, 0xF2, 0x4C, 0xF9, 0x30, 0x80, 0x34, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x61, 0xFE, 0x01, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 + .byte 0x57, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xB1, 0xFA, 0x07, 0x1C + .byte 0x20, 0x1C, 0xF6, 0xF7, 0x4D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 + .byte 0x8B, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x06, 0xF2, 0xE0, 0xFF + .byte 0x28, 0x80, 0x0E, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x3B, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF7, 0xF7, 0x79, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x07, 0xF2, 0x08, 0xF8 + .byte 0x28, 0x80 +_02041FD2: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02041FD8: + .byte 0x33, 0x02, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C + .byte 0xF6, 0xF7, 0x26, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x80, 0xFA + .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0x1F, 0xF0, 0xBD, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0x87, 0xFD, 0x04, 0x1C + .byte 0x28, 0x1C, 0xF6, 0xF7, 0x0D, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 + .byte 0x67, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0x29, 0xF0, 0xC3, 0xFC, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0x1F, 0xF0, 0x16, 0xFA, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x0F, 0x21, 0xF7, 0xF7, 0xF9, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xF1, 0xFD, 0x00, 0x28 + .byte 0x02, 0xD0, 0x01, 0x28, 0x28, 0xD0, 0x56, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0xE9, 0xFD, 0x01, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x43, 0xFA, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7 + .byte 0xDF, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x1D, 0xFA, 0x06, 0x1C + .byte 0x28, 0x1C, 0xF6, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 + .byte 0x13, 0xFA, 0x07, 0x1C, 0x1D, 0x48, 0x80, 0x35, 0x30, 0x80, 0x00, 0x98, 0x29, 0x68, 0x22, 0x68 + .byte 0x00, 0xF0, 0xA6, 0xF8, 0x38, 0x80, 0x2E, 0xE0, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 + .byte 0xE7, 0xF7, 0x8A, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xBA, 0xFD, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x14, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB0, 0xFD + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x0A, 0xFA, 0x07, 0x1C, 0x28, 0x1C + .byte 0xF6, 0xF7, 0xA6, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x00, 0xFA + .byte 0x80, 0x35, 0x03, 0x1C, 0x28, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x6D, 0xF8, 0x20, 0x1C + .byte 0x03, 0x21, 0xE8, 0xF7, 0x35, 0xF8, 0x00, 0x20, 0xF8, 0xBD, 0xC0, 0x46, 0x32, 0x02, 0x00, 0x00 + .byte 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF7, 0xF7, 0xE6, 0xF9, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x82, 0xFD, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xC0, 0xF9, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C + .byte 0x00, 0xF0, 0x68, 0xF8, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xD5, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 + .byte 0x67, 0xFD, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x1B, 0xD0, 0x02, 0x28, 0x26, 0xD0, 0x31, 0xE0 + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0xD0, 0xFC, 0x06, 0x1C, 0x28, 0x1C + .byte 0xF6, 0xF7, 0x56, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0xB1, 0xF9, 0x01, 0x1C + .byte 0x30, 0x1C, 0x29, 0xF0, 0x0D, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x04, 0x22, 0x1E, 0xF0, 0xCE, 0xFE + .byte 0x18, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0x44, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7 + .byte 0x9F, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x1E, 0xF0, 0xF1, 0xFE, 0x0B, 0xE0, 0x28, 0x1C, 0xF6, 0xF7 + .byte 0x37, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0x92, 0xF9, 0x01, 0x1C, 0x20, 0x1C + .byte 0x1E, 0xF0, 0xDA, 0xFE, 0x00, 0x20, 0x70, 0xBD, 0x08, 0xB5, 0x49, 0x1E, 0x0B, 0x01, 0x03, 0x49 + .byte 0xCB, 0x58, 0x00, 0x2B, 0x01, 0xD0, 0x11, 0x1C, 0x98, 0x47, 0x08, 0xBD, 0x64, 0x42, 0x0F, 0x02 + .byte 0x10, 0xB5, 0x40, 0x1E, 0x04, 0x01, 0x05, 0x48, 0x03, 0x59, 0x00, 0x2B, 0x02, 0xD0, 0x08, 0x1C + .byte 0x11, 0x1C, 0x98, 0x47, 0x02, 0x48, 0x00, 0x59, 0x10, 0xBD, 0xC0, 0x46, 0x68, 0x42, 0x0F, 0x02 + .byte 0x70, 0x42, 0x0F, 0x02, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x0D, 0x1C, 0xE0, 0xF7, 0x72, 0xF9 + .byte 0x01, 0x21, 0x2A, 0x1C, 0xE9, 0xF7, 0x74, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD + .byte 0x68, 0x1E, 0x01, 0x01, 0x04, 0x48, 0x41, 0x58, 0x00, 0x29, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD + .byte 0x20, 0x1C, 0x88, 0x47, 0x38, 0xBD, 0xC0, 0x46, 0x6C, 0x42, 0x0F, 0x02, 0xF0, 0xB5, 0x83, 0xB0 + .byte 0x05, 0x1C, 0x0E, 0x1C, 0x17, 0x1C, 0x40, 0x20, 0x04, 0x21, 0x02, 0x93, 0xDF, 0xF7, 0xCA, 0xFB + .byte 0x39, 0x1C, 0x04, 0x1C, 0xDF, 0xF7, 0xE0, 0xFD, 0x09, 0x98, 0x02, 0x9B, 0x00, 0x90, 0x08, 0x98 + .byte 0x31, 0x1C, 0x01, 0x90, 0x28, 0x1C, 0x22, 0x1C, 0xC8, 0xF7, 0x9C, 0xFC, 0x20, 0x1C, 0xDF, 0xF7 + .byte 0xCF, 0xFB, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0xC0, 0x68, 0x0C, 0x1C, 0x29, 0xF0 + .byte 0x45, 0xFC, 0x07, 0xF0, 0xBB, 0xFF, 0x26, 0xF0, 0x25, 0xFF, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21 + .byte 0xC8, 0xF7, 0xDE, 0xFC, 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x40, 0x68, 0x0C, 0x1C, 0x40, 0x69 + .byte 0x10, 0xF2, 0x42, 0xF9, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21, 0xC8, 0xF7, 0xB7, 0xFE, 0x10, 0xBD + .byte 0x10, 0xB5, 0x88, 0xB0, 0xC0, 0x68, 0x0C, 0x1C, 0xE0, 0xF7, 0x1C, 0xF9, 0xE9, 0xF7, 0xBA, 0xFA + .byte 0x40, 0x88, 0x04, 0x21, 0x02, 0xAA, 0xC8, 0xF7, 0x61, 0xFB, 0x02, 0x20, 0x00, 0x90, 0x01, 0x20 + .byte 0x00, 0x21, 0x01, 0x90, 0x20, 0x1C, 0x02, 0xAA, 0x0B, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0x08, 0xB0 + .byte 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0x04, 0xF9, 0xE9, 0xF7, 0xAE, 0xFA + .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0x09, 0xF0, 0x4E, 0xFF, 0x09, 0xF0, 0xDC, 0xFD + .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xF4, 0xF8, 0xE9, 0xF7, 0x8C, 0xFA + .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE5, 0xF7, 0x7C, 0xFD, 0x00, 0x21, 0xE4, 0xF7 + .byte 0xB3, 0xFE, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xE4, 0xF8, 0xE9, 0xF7, 0x88, 0xFA + .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xDC, 0xF8, 0xE9, 0xF7, 0x7A, 0xFA + .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x01, 0xF2, 0xAE, 0xF8 + .byte 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x62, 0xFC, 0x04, 0x1C, 0x28, 0x1C + .byte 0xF6, 0xF7, 0x5E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x16, 0xFA + .byte 0x21, 0x1C, 0x32, 0x1C, 0x01, 0xF2, 0xA4, 0xF8, 0x80, 0x35, 0x29, 0x68, 0xA8, 0x31, 0x08, 0x60 + .byte 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x00, 0x68 + .byte 0x01, 0xF2, 0x78, 0xF9, 0x80, 0x34, 0x21, 0x68, 0x00, 0x20, 0xA8, 0x31, 0x08, 0x60, 0x10, 0xBD + .byte 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0xF6, 0xF7, 0x3B, 0xFC, 0x00, 0x90, 0x38, 0x1C, 0xF6, 0xF7 + .byte 0x37, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x91, 0xF8, 0x06, 0x1C + .byte 0x38, 0x1C, 0xF6, 0xF7, 0x2D, 0xFC, 0x01, 0x90, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x01, 0x99 + .byte 0xF7, 0xF7, 0x6A, 0xF8, 0x04, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x01, 0x68, 0x08, 0x1C, 0xA8, 0x30 + .byte 0x05, 0x68, 0x00, 0x98, 0x64, 0x28, 0x00, 0xD9, 0x7D, 0xE1, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88 + .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0xC8, 0x00, 0xD2, 0x00, 0xEE, 0x00, 0xF4, 0x00, 0x00, 0x01 + .byte 0x0E, 0x01, 0x16, 0x01, 0xEE, 0x02, 0x1E, 0x01, 0x2A, 0x01, 0x38, 0x01, 0x46, 0x01, 0x52, 0x01 + .byte 0xEE, 0x02, 0x5C, 0x01, 0x66, 0x01, 0x70, 0x01, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0x82, 0x01, 0x9A, 0x01, 0xB4, 0x01, 0xC0, 0x01, 0xCA, 0x01, 0xD4, 0x01, 0xDE, 0x01 + .byte 0xE8, 0x01, 0xF0, 0x01, 0xF8, 0x01, 0x00, 0x02, 0x12, 0x02, 0x1E, 0x02, 0x3A, 0x02, 0x44, 0x02 + .byte 0x4E, 0x02, 0x58, 0x02, 0x62, 0x02, 0x6C, 0x02, 0x78, 0x02, 0x84, 0x02, 0x98, 0x02, 0xA2, 0x02 + .byte 0xAC, 0x02, 0xB6, 0x02, 0xC4, 0x02, 0x0A, 0x02, 0xD2, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 + .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xDE, 0x02 + .byte 0x30, 0x1C, 0x00, 0xF2, 0x2B, 0xFE, 0x20, 0x80, 0x0F, 0xE1, 0x00, 0x2E, 0x05, 0xD1, 0xA8, 0x7B + .byte 0xC9, 0x68, 0x00, 0xF2, 0xFF, 0xFE, 0x20, 0x80, 0x07, 0xE1, 0xC9, 0x68, 0x30, 0x1C, 0x00, 0xF2 + .byte 0xF9, 0xFE, 0x20, 0x80, 0x01, 0xE1, 0x00, 0xF2, 0x51, 0xFF, 0xFE, 0xE0, 0xC8, 0x68, 0xE8, 0xF7 + .byte 0xE5, 0xF9, 0x00, 0xF2, 0x51, 0xFF, 0xF8, 0xE0, 0xC8, 0x68, 0xE8, 0xF7, 0xDF, 0xF9, 0x00, 0xF2 + .byte 0x4F, 0xFF, 0x20, 0x80, 0xF1, 0xE0, 0x08, 0x1C, 0x00, 0xF2, 0x4E, 0xFF, 0xED, 0xE0, 0x08, 0x1C + .byte 0x00, 0xF2, 0x6A, 0xFF, 0xE9, 0xE0, 0xC8, 0x68, 0x31, 0x1C, 0x00, 0xF2, 0x6D, 0xFF, 0x20, 0x80 + .byte 0xE3, 0xE0, 0xC9, 0x68, 0x00, 0x20, 0x02, 0x22, 0x01, 0xF2, 0x9C, 0xFC, 0x20, 0x80, 0xDC, 0xE0 + .byte 0x00, 0x20, 0xC9, 0x68, 0x02, 0x1C, 0x01, 0xF2, 0x95, 0xFC, 0x20, 0x80, 0xD5, 0xE0, 0xC8, 0x68 + .byte 0x31, 0x06, 0x09, 0x0E, 0x00, 0xF2, 0x68, 0xFF, 0xCF, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x74, 0xFF + .byte 0x20, 0x80, 0xCA, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x79, 0xFF, 0x20, 0x80, 0xC5, 0xE0, 0xC8, 0x68 + .byte 0x00, 0xF2, 0x9C, 0xFF, 0x20, 0x80, 0xC0, 0xE0, 0x23, 0x88, 0x78, 0x6F, 0x01, 0x9A, 0x31, 0x1C + .byte 0x1D, 0xF0, 0xDA, 0xFB, 0x02, 0xB0, 0x01, 0x20, 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7 + .byte 0x53, 0xFF, 0x02, 0x1C, 0x79, 0x6F, 0x28, 0x1C, 0x01, 0xF2, 0x96, 0xF8, 0x02, 0xB0, 0x01, 0x20 + .byte 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7, 0x47, 0xFF, 0x80, 0x37, 0x3A, 0x68, 0x01, 0x1C + .byte 0xD2, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x98, 0xF8, 0x20, 0x80, 0x9E, 0xE0, 0xC9, 0x68, 0x28, 0x1C + .byte 0x01, 0xF2, 0xDE, 0xF8, 0x20, 0x80, 0x98, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x87, 0xF9, 0x20, 0x80 + .byte 0x93, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x84, 0xF9, 0x20, 0x80, 0x8E, 0xE0, 0x28, 0x1C, 0x01, 0xF2 + .byte 0x8D, 0xF9, 0x20, 0x80, 0x89, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x9A, 0xF9, 0x20, 0x80, 0x84, 0xE0 + .byte 0x28, 0x1C, 0x01, 0xF2, 0x01, 0xFA, 0x80, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x6D, 0xFA, 0x7C, 0xE0 + .byte 0x28, 0x1C, 0x01, 0xF2, 0xD1, 0xFA, 0x78, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x26, 0xFB + .byte 0x73, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x92, 0xFB, 0x6F, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x01, 0xF2 + .byte 0xBF, 0xFB, 0x20, 0x80, 0x69, 0xE0, 0x08, 0x1C, 0x17, 0x21, 0xF6, 0xF7, 0x05, 0xFF, 0x80, 0x37 + .byte 0x02, 0x1C, 0x38, 0x68, 0x29, 0x1C, 0x00, 0x69, 0x01, 0xF2, 0xBE, 0xFB, 0x02, 0xB0, 0x01, 0x20 + .byte 0xF8, 0xBD, 0x28, 0x1C, 0x01, 0xF2, 0xBC, 0xFB, 0x20, 0x80, 0x56, 0xE0, 0x28, 0x1C, 0x31, 0x1C + .byte 0x01, 0xF2, 0xB8, 0xFB, 0x51, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0xBE, 0xFB, 0x20, 0x80, 0x4C, 0xE0 + .byte 0x28, 0x1C, 0x01, 0xF2, 0xBD, 0xFB, 0x20, 0x80, 0x47, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 + .byte 0xE1, 0xFB, 0x42, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x4E, 0xFC, 0x20, 0x80, 0x3C, 0xE0 + .byte 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x64, 0xFC, 0x20, 0x80, 0x36, 0xE0, 0x29, 0x7C, 0xE0, 0x20 + .byte 0x81, 0x43, 0x30, 0x06, 0x00, 0x0E, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x74, 0x2C, 0xE0 + .byte 0x28, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x20, 0x80, 0x27, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 + .byte 0xC3, 0xF8, 0x22, 0xE0, 0xA8, 0x19, 0x2A, 0x30, 0x00, 0x78, 0x20, 0x80, 0x1D, 0xE0, 0xC9, 0x68 + .byte 0x28, 0x1C, 0x01, 0x22, 0x01, 0xF2, 0xD6, 0xFB, 0x20, 0x80, 0x16, 0xE0, 0x31, 0x06, 0x28, 0x1C + .byte 0x09, 0x0E, 0x00, 0xF0, 0x1B, 0xF9, 0x20, 0x80, 0x0F, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 + .byte 0x5D, 0xFC, 0x20, 0x80, 0x09, 0xE0, 0x00, 0x2D, 0x02, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x04, 0xE0 + .byte 0x00, 0x20, 0x20, 0x80, 0x01, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD + .byte 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xA8, 0x31, 0x0C, 0x68, 0xF6, 0xF7 + .byte 0x8F, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xE9, 0xFE, 0x06, 0x1C + .byte 0x28, 0x1C, 0xF6, 0xF7, 0x85, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 + .byte 0xDF, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x7B, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF6, 0xF7, 0xB9, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7, 0x71, 0xFA, 0x80, 0x35 + .byte 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7, 0xB0, 0xFE, 0x32, 0x01, 0xB2, 0x18, 0x38, 0x21, 0x12, 0x01 + .byte 0x79, 0x43, 0xA2, 0x18, 0x53, 0x18, 0xB2, 0x22, 0x92, 0x00, 0x99, 0x5A, 0x49, 0x05, 0x4C, 0x0D + .byte 0x00, 0x99, 0x0C, 0x80, 0x11, 0x1D, 0x59, 0x5A, 0x01, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x54, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0x92, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0x38, 0xFB + .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x40, 0xFA + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7E, 0xFE, 0x80, 0x35, 0x04, 0x1C + .byte 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0xCA, 0xFB, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x2C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0x86, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x22, 0xFA, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7C, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x00, 0x21, 0xA8, 0x30, 0x06, 0x68, 0x15, 0x48, 0x46, 0x22, 0x30, 0x18, 0x8B, 0xF0, 0x9E, 0xED + .byte 0x00, 0x2C, 0x04, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x02, 0x2C, 0x10, 0xD0, 0x16, 0xE0, 0x80, 0x35 + .byte 0x29, 0x68, 0x08, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0xC9, 0x68, 0x01, 0xF2, 0x67, 0xFF, 0x0D, 0xE0 + .byte 0x80, 0x35, 0x28, 0x68, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x8E, 0xFF, 0x06, 0xE0, 0x80, 0x35 + .byte 0x28, 0x68, 0x39, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x92, 0xFF, 0xEE, 0xF7, 0xA0, 0xFC + .byte 0x03, 0x49, 0x71, 0x18, 0xEE, 0xF7, 0x2A, 0xFF, 0x00, 0x20, 0xF8, 0xBD, 0x84, 0x08, 0x00, 0x00 + .byte 0x3E, 0x08, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xE2, 0xF9, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x3C, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xD8, 0xF9 + .byte 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x00, 0x69, 0x1D, 0xF0, 0xA7, 0xFA, 0x01, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x78, 0xB5, 0x81, 0xB0, 0x05, 0x1C, 0xF6, 0xF7, 0xC9, 0xF9, 0x01, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x07, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 + .byte 0xBF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xFD, 0xFD, 0x80, 0x35 + .byte 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF8, 0x00, 0xA9, 0xE7, 0xF7, 0xCA, 0xFF + .byte 0x00, 0xA8, 0x01, 0x78, 0x21, 0x80, 0x40, 0x78, 0x30, 0x80, 0x00, 0x20, 0x01, 0xB0, 0x78, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xA4, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0xE2, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xF2, 0xFF + .byte 0xE7, 0xF7, 0x24, 0xFF, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x02, 0x29, 0x03, 0xD1 + .byte 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x70, 0x47, 0x01, 0x29, 0x10, 0xD1, 0xC1, 0x7B, 0x02, 0x29 + .byte 0x06, 0xD1, 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x41, 0x00, 0x08, 0x48, 0x40, 0x5A, 0x70, 0x47 + .byte 0x80, 0x7C, 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x40, 0x7C + .byte 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x34, 0x43, 0x0F, 0x02 + .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0xA9, 0x68, 0x00, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78 + .byte 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0x26, 0x21, 0xF6, 0xF7, 0x66, 0xFD, 0x80, 0x35, 0x07, 0x1C + .byte 0x28, 0x68, 0x31, 0x1C, 0x22, 0x1C, 0xA0, 0xF1, 0x7B, 0xF8, 0x38, 0x60, 0x00, 0x20, 0xF8, 0xBD + .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF6, 0xF7, 0x56, 0xFD, 0x00, 0x68, 0xA0, 0xF1 + .byte 0x11, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x26, 0x21, 0xF6, 0xF7, 0x49, 0xFD, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0xA0, 0xF1 + .byte 0x91, 0xF8, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x34, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 + .byte 0x73, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x7F, 0xFF, 0x00, 0x21, 0x0A, 0x1C, 0xE7, 0xF7 + .byte 0xE9, 0xFC, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x1C, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 + .byte 0x77, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x67, 0xFF, 0x29, 0x1C, 0x05, 0x22, 0xE7, 0xF7 + .byte 0xD1, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 + .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x04, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 + .byte 0x5F, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x4F, 0xFF, 0x29, 0x1C, 0x06, 0x22, 0xE7, 0xF7 + .byte 0xB9, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 + .byte 0x09, 0x68, 0xCD, 0x68, 0xF6, 0xF7, 0xEC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0x46, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xE2, 0xF8, 0x80, 0x34, 0x01, 0x1C + .byte 0x20, 0x68, 0xF6, 0xF7, 0x21, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xE7, 0xF7, 0x2D, 0xFF, 0x00, 0x21 + .byte 0x0A, 0x1C, 0xE7, 0xF7, 0x97, 0xFC, 0xB0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 + .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xC8, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x22, 0xFD, 0x07, 0x1C, 0x28, 0x1C + .byte 0xF6, 0xF7, 0xBE, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x18, 0xFD + .byte 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB4, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0xF2, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xAA, 0xF8, 0x80, 0x35, 0x01, 0x1C + .byte 0x28, 0x68, 0xF6, 0xF7, 0xE9, 0xFC, 0x01, 0x2F, 0x01, 0xD1, 0x1A, 0x21, 0x00, 0xE0, 0x00, 0x21 + .byte 0x89, 0x19, 0x8A, 0x00, 0x03, 0x49, 0x89, 0x5A, 0x21, 0x80, 0x03, 0x49, 0x89, 0x5A, 0x01, 0x80 + .byte 0x00, 0x20, 0xF8, 0xBD, 0x3E, 0x43, 0x0F, 0x02, 0x40, 0x43, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C + .byte 0xF6, 0xF7, 0x8E, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xCC, 0xFC + .byte 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x85, 0xFC, 0x01, 0x1C + .byte 0x80, 0x35, 0x28, 0x68, 0x09, 0x68, 0x08, 0xF0, 0x61, 0xFD, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD + .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x75, 0xFC, 0x04, 0x1C + .byte 0x28, 0x1C, 0xF6, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 + .byte 0xAB, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x67, 0xFD, 0x30, 0x80 + .byte 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7 + .byte 0x5B, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x53, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF6, 0xF7, 0x91, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0 + .byte 0x5F, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x0A, 0x21, 0xF6, 0xF7, 0x41, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x39, 0xF8, 0x01, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x77, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68 + .byte 0x21, 0x68, 0x08, 0xF0, 0x57, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x27, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 + .byte 0x1F, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x5D, 0xFC, 0x80, 0x35 + .byte 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x4D, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x0D, 0xFC, 0x04, 0x1C + .byte 0x28, 0x1C, 0xF6, 0xF7, 0x05, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 + .byte 0x5F, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x9F, 0xFC, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7 + .byte 0xF3, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xB4, 0xF9 + .byte 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0xE4, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0x3E, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x94, 0xFC + .byte 0x30, 0x1C, 0x03, 0x21, 0xE7, 0xF7, 0x30, 0xFA, 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C + .byte 0xF5, 0xF7, 0xCE, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x09, 0xE0, 0x80, 0x34 + .byte 0x20, 0x68, 0x08, 0xF0, 0x7D, 0xFE, 0x06, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x8E, 0xFE + .byte 0x01, 0xE0, 0xDD, 0xF7, 0xBB, 0xFF, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0x7F, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0xB0, 0xFB, 0x01, 0x1C, 0x80, 0x35, 0x28, 0x68, 0x09, 0x68 + .byte 0x08, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0x21, 0xE7, 0xF7, 0x42, 0xFA, 0x00, 0x20, 0x38, 0xBD + .byte 0x01, 0x60, 0x42, 0x60, 0x83, 0x60, 0x70, 0x47, 0x08, 0xB5, 0xE8, 0xF7, 0x4F, 0xF9, 0xE8, 0xF7 + .byte 0x5F, 0xF9, 0x08, 0xBD, 0x08, 0xB5, 0xE8, 0xF7, 0x49, 0xF9, 0xE8, 0xF7, 0x77, 0xF9, 0x08, 0xBD + .byte 0x08, 0xB5, 0xE8, 0xF7, 0x43, 0xF9, 0xE8, 0xF7, 0x83, 0xF9, 0x08, 0xBD, 0xF8, 0xB5, 0x88, 0xB0 + .byte 0x04, 0x1C, 0xF5, 0xF7, 0x85, 0xFF, 0x08, 0x28, 0x00, 0xD9, 0xEB, 0xE0, 0x00, 0x18, 0x78, 0x44 + .byte 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x10, 0x00, 0x3A, 0x00, 0x66, 0x00, 0x86, 0x00 + .byte 0xC2, 0x00, 0xF4, 0x00, 0x60, 0x01, 0x1E, 0x00, 0x2C, 0x00, 0x80, 0x34, 0x20, 0x68, 0x20, 0x21 + .byte 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF9, 0xD5, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68 + .byte 0xE8, 0xF7, 0x12, 0xF9, 0xCE, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xE8, 0xF7 + .byte 0x0B, 0xF9, 0xC7, 0xE0, 0x20, 0x1C, 0xF5, 0xF7, 0x5B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF6, 0xF7, 0x99, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0xB4, 0xFF + .byte 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20, 0x28, 0x80, 0xB4, 0xE0, 0x00, 0x20, 0x28, 0x80, 0xB1, 0xE0 + .byte 0x20, 0x1C, 0xF5, 0xF7, 0x45, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 + .byte 0x83, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0x9E, 0xFF, 0x28, 0x80, 0xA1, 0xE0 + .byte 0x20, 0x1C, 0xF5, 0xF7, 0x35, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 + .byte 0x73, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x8D, 0xFF, 0x40, 0x1E + .byte 0x05, 0x01, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x48, 0x4F, 0xFF, 0xF7, 0x8B, 0xFF, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0x7A, 0x59, 0x90, 0x47, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xFF, 0xF7, 0x79, 0xFF, 0x40, 0x1E, 0x40, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x76, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x6A, 0x68, 0x90, 0x47, 0x80, 0x34, 0x20, 0x68, 0xFF, 0xF7, 0x72, 0xFF, 0x6A, 0xE0, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x60, 0xFF, 0x40, 0x1E, 0x34, 0x49, 0x00, 0x01, 0x0D, 0x18 + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xF6, 0xFA, 0x06, 0x1C, 0x20, 0x1C + .byte 0xF5, 0xF7, 0xEE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x2C, 0xFB + .byte 0x07, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xE4, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF6, 0xF7, 0x22, 0xFB, 0x00, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x42, 0xFF + .byte 0x80, 0x34, 0x03, 0x1C, 0x21, 0x68, 0x32, 0x68, 0x05, 0xA8, 0xFF, 0xF7, 0x31, 0xFF, 0x00, 0x9A + .byte 0xAB, 0x68, 0x05, 0xA8, 0x39, 0x1C, 0x98, 0x47, 0x34, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xFF, 0xF7, 0x2A, 0xFF, 0x40, 0x1E, 0x19, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xC0, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xB8, 0xFE + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xF6, 0xFA, 0x07, 0x1C, 0x20, 0x1C + .byte 0xF5, 0xF7, 0xAE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xEC, 0xFA + .byte 0x01, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x0C, 0xFF, 0x80, 0x34, 0x03, 0x1C + .byte 0x21, 0x68, 0x32, 0x68, 0x02, 0xA8, 0xFF, 0xF7, 0xFB, 0xFE, 0x01, 0x9A, 0xEB, 0x68, 0x02, 0xA8 + .byte 0x39, 0x1C, 0x98, 0x47, 0x00, 0x20, 0x08, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0xE4, 0x43, 0x0F, 0x02 + .byte 0x08, 0xB5, 0xC0, 0x68, 0x28, 0xF0, 0x02, 0xFE, 0x28, 0xF0, 0x48, 0xFD, 0x06, 0x28, 0x01, 0xDA + .byte 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0xB0, 0x01, 0x1C, 0x02, 0x20 + .byte 0x00, 0x90, 0x01, 0x23, 0x01, 0x93, 0xC9, 0x68, 0x02, 0x4A, 0x20, 0x20, 0x07, 0xF0, 0xC4, 0xF8 + .byte 0x02, 0xB0, 0x08, 0xBD, 0xEA, 0x01, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x53, 0x20, 0x80, 0x00 + .byte 0x08, 0x80, 0x0D, 0x20, 0x10, 0x80, 0x20, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xCB, 0xFC, 0x02, 0x1C + .byte 0x60, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x2C, 0xFE, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x8E, 0xB0 + .byte 0x01, 0x90, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0x90, 0x01, 0x98, 0xC0, 0x68, 0xE0, 0xF7, 0xBA, 0xFC + .byte 0x03, 0x90, 0x04, 0x98, 0x00, 0x27, 0x05, 0x1C, 0x04, 0x1D, 0x20, 0x1C, 0x97, 0x21, 0x3A, 0x1C + .byte 0xF0, 0x35, 0x24, 0xF0, 0x13, 0xF9, 0x39, 0x1C, 0x02, 0x90, 0x20, 0x1C, 0x0A, 0x1C, 0x24, 0xF0 + .byte 0x0D, 0xF9, 0x05, 0x90, 0x20, 0x1C, 0x07, 0x21, 0x3A, 0x1C, 0x24, 0xF0, 0x07, 0xF9, 0x06, 0x1C + .byte 0x89, 0xF0, 0x34, 0xEE, 0xD8, 0xF7, 0x2C, 0xFD, 0x01, 0x1C, 0x05, 0x98, 0x0D, 0x91, 0x00, 0x28 + .byte 0x12, 0xD0, 0x01, 0x28, 0x0F, 0xD1, 0x30, 0x1C, 0x25, 0xF0, 0x70, 0xFD, 0x00, 0x28, 0x0B, 0xD0 + .byte 0x0D, 0x98, 0xD8, 0xF7, 0x1D, 0xFD, 0x01, 0x1C, 0x30, 0x1C, 0x0D, 0x91, 0x25, 0xF0, 0x66, 0xFD + .byte 0x00, 0x28, 0xF5, 0xD1, 0x00, 0xE0, 0x0D, 0x90, 0x0D, 0x99, 0x20, 0x1C, 0x27, 0xF0, 0x26, 0xF9 + .byte 0x20, 0x1C, 0x25, 0xF0, 0xF5, 0xFC, 0x0C, 0x90, 0x20, 0x1C, 0x6F, 0x21, 0x0C, 0xAA, 0x24, 0xF0 + .byte 0x17, 0xFC, 0x20, 0x1C, 0x4B, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD8, 0xF8, 0x06, 0x90, 0x20, 0x1C + .byte 0x4A, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD2, 0xF8, 0x07, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x00, 0x22 + .byte 0x24, 0xF0, 0xCC, 0xF8, 0x08, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC6, 0xF8 + .byte 0x09, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC0, 0xF8, 0x06, 0x1C, 0x20, 0x1C + .byte 0x47, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xBA, 0xF8, 0x31, 0x18, 0x09, 0x98, 0x41, 0x18, 0x08, 0x98 + .byte 0x41, 0x18, 0x07, 0x98, 0x41, 0x18, 0x06, 0x98, 0x40, 0x18, 0x0C, 0x90, 0x3D, 0xD1, 0xD8, 0xF7 + .byte 0xC5, 0xFC, 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x0D, 0xAA + .byte 0x24, 0xF0, 0xDE, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C + .byte 0x47, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xD4, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A + .byte 0x0D, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xCA, 0xFB, 0xD8, 0xF7, 0xA6, 0xFC + .byte 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x0D, 0xAA, 0x24, 0xF0 + .byte 0xBF, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C, 0x4A, 0x21 + .byte 0x0D, 0xAA, 0x24, 0xF0, 0xB5, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A, 0x0D, 0x90 + .byte 0x20, 0x1C, 0x4B, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xAB, 0xFB, 0x01, 0x98, 0xC0, 0x68, 0xE7, 0xF7 + .byte 0x1B, 0xFC, 0x06, 0x1C, 0x20, 0x1C, 0x2E, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x67, 0xF8, 0x00, 0x28 + .byte 0x04, 0xD0, 0x49, 0x20, 0x3C, 0xF0, 0xF4, 0xFD, 0x29, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x2F, 0x21 + .byte 0x00, 0x22, 0x24, 0xF0, 0x5B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4A, 0x20, 0x3C, 0xF0, 0xE8, 0xFD + .byte 0x69, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x30, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x4F, 0xF8, 0x00, 0x28 + .byte 0x04, 0xD0, 0x4B, 0x20, 0x3C, 0xF0, 0xDC, 0xFD, 0xA9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x31, 0x21 + .byte 0x00, 0x22, 0x24, 0xF0, 0x43, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4C, 0x20, 0x3C, 0xF0, 0xD0, 0xFD + .byte 0xE9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x32, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x37, 0xF8, 0x00, 0x28 + .byte 0x04, 0xD0, 0x4D, 0x20, 0x3C, 0xF0, 0xC4, 0xFD, 0x29, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x33, 0x21 + .byte 0x00, 0x22, 0x24, 0xF0, 0x2B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4E, 0x20, 0x3C, 0xF0, 0xB8, 0xFD + .byte 0x69, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x34, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x1F, 0xF8, 0x00, 0x28 + .byte 0x04, 0xD0, 0x4F, 0x20, 0x3C, 0xF0, 0xAC, 0xFD, 0xA9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x67, 0x21 + .byte 0x00, 0x22, 0x24, 0xF0, 0x13, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x19, 0x20, 0x3C, 0xF0, 0xA0, 0xFD + .byte 0xE9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x68, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x07, 0xF8, 0x00, 0x28 + .byte 0x04, 0xD0, 0x1A, 0x20, 0x3C, 0xF0, 0x94, 0xFD, 0x29, 0x7A, 0x31, 0x54, 0x20, 0x1C, 0x69, 0x21 + .byte 0x00, 0x22, 0x23, 0xF0, 0xFB, 0xFF, 0x00, 0x28, 0x04, 0xD0, 0x1B, 0x20, 0x3C, 0xF0, 0x88, 0xFD + .byte 0x69, 0x7A, 0x31, 0x54, 0x04, 0x98, 0x00, 0x68, 0x00, 0x28, 0x27, 0xD1, 0x03, 0x98, 0x20, 0x21 + .byte 0xE0, 0xF7, 0xDE, 0xFB, 0x05, 0x1C, 0x03, 0x98, 0xE0, 0xF7, 0xE8, 0xFB, 0x0B, 0x90, 0x03, 0x98 + .byte 0xE0, 0xF7, 0xEC, 0xFB, 0x0A, 0x90, 0x20, 0x20, 0x23, 0xF0, 0xE2, 0xFB, 0x07, 0x1C, 0x20, 0x1C + .byte 0x39, 0x1C, 0x26, 0xF0, 0xC1, 0xFC, 0x38, 0x1C, 0x90, 0x21, 0x2A, 0x1C, 0x24, 0xF0, 0x10, 0xFB + .byte 0x38, 0x1C, 0x07, 0x21, 0x0B, 0xAA, 0x24, 0xF0, 0x0B, 0xFB, 0x38, 0x1C, 0x9C, 0x21, 0x0A, 0xAA + .byte 0x24, 0xF0, 0x06, 0xFB, 0x28, 0x1C, 0x3C, 0x1C, 0xDE, 0xF7, 0xFA, 0xFB, 0x02, 0x99, 0x02, 0x20 + .byte 0xD2, 0xF7, 0x62, 0xFD, 0x03, 0x1C, 0x20, 0x20, 0x00, 0x90, 0x03, 0x99, 0x20, 0x1C, 0x04, 0x22 + .byte 0x3D, 0xF0, 0x2C, 0xFB, 0x20, 0x1C, 0x23, 0xF0, 0x47, 0xFE, 0x01, 0x98, 0xC0, 0x68, 0x28, 0xF0 + .byte 0x65, 0xFC, 0x21, 0x1C, 0x28, 0xF0, 0x54, 0xFB, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x98, 0x21, 0x1C + .byte 0xC0, 0x68, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x2F, 0x02, 0xD0, 0x38, 0x1C, 0xD3, 0xF7, 0xD4, 0xFB + .byte 0x0E, 0xB0, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7 + .byte 0x41, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x07, 0x20, 0x30, 0x80, 0x28, 0x68 + .byte 0xC0, 0x68, 0xE0, 0xF7, 0x2F, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x90, 0xFC + .byte 0x38, 0x1D, 0x25, 0xF0, 0x1F, 0xFF, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xFA, 0xFC + .byte 0xF8, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x04, 0x20, 0x10, 0x80, 0x70, 0x47 + .byte 0x00, 0x4B, 0x18, 0x47, 0x6D, 0x2F, 0x04, 0x02, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0x17, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x08, 0x20 + .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x05, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21 + .byte 0xC7, 0xF7, 0x66, 0xFC, 0x38, 0x1D, 0x25, 0xF0, 0xF5, 0xFE, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21 + .byte 0xC7, 0xF7, 0xAE, 0xFC, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0 + .byte 0x23, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xF5, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C + .byte 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xFC, 0xFC, 0x38, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x0F, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 + .byte 0xE1, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C, 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23 + .byte 0x2B, 0xF0, 0xF2, 0xFC, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0xCF, 0xFC, 0x00, 0x68, 0x00, 0x04, 0x07, 0x0C, 0x53, 0x20, 0x80, 0x00 + .byte 0x20, 0x80, 0x09, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xBB, 0xFA, 0x02, 0x1C + .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x1C, 0xFC, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7 + .byte 0x53, 0xFD, 0xF8, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C + .byte 0x2B, 0xF0, 0xDA, 0xFE, 0x28, 0x68, 0xFF, 0xF7, 0xAD, 0xFC, 0x00, 0x68, 0x00, 0x21, 0x00, 0x04 + .byte 0x02, 0x0C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0xC7, 0xF7 + .byte 0x3B, 0xFD, 0x70, 0xBD, 0x01, 0x20, 0x70, 0x47, 0x10, 0xB5, 0x04, 0x1C, 0xFF, 0xF7, 0x9A, 0xFC + .byte 0x01, 0x1C, 0xE0, 0x68, 0xE0, 0xF7, 0xFE, 0xFB, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0 + .byte 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x8C, 0xFC, 0x07, 0x1C, 0x53, 0x20 + .byte 0x80, 0x00, 0x20, 0x80, 0x0A, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x7A, 0xFA + .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xDB, 0xFB, 0x38, 0x1C, 0x20, 0x21, 0xE0, 0xF7 + .byte 0x71, 0xFB, 0x04, 0x1C, 0x01, 0x21, 0x00, 0x91, 0x02, 0x20, 0x01, 0x90, 0x68, 0x68, 0x22, 0x1C + .byte 0x00, 0x23, 0xC7, 0xF7, 0xC7, 0xFB, 0x20, 0x1C, 0xDE, 0xF7, 0xFA, 0xFA, 0x02, 0xB0, 0xF8, 0xBD + .byte 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47, 0x08, 0xB5, 0xC0, 0x68 + .byte 0xE3, 0xF7, 0x40, 0xFC, 0xE2, 0xF7, 0xB4, 0xFC, 0xC8, 0x28, 0x01, 0xDA, 0x01, 0x20, 0x08, 0xBD + .byte 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x54, 0xFC, 0x04, 0x1C, 0xE8, 0x68 + .byte 0xE3, 0xF7, 0x30, 0xFC, 0x21, 0x68, 0xE2, 0xF7, 0x81, 0xFC, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C + .byte 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x45, 0xFC, 0x07, 0x68, 0x53, 0x20, 0x80, 0x00 + .byte 0x20, 0x80, 0x0B, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x33, 0xFA, 0x02, 0x1C + .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x94, 0xFB, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7 + .byte 0x57, 0xFF, 0xF8, 0xBD, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x26, 0xFC, 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0 + .byte 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0B, 0xE0, 0xE8, 0x68, 0xE6, 0xF7, 0xD8, 0xFB + .byte 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x7E, 0xFC, 0x38, 0xBD, 0x01, 0x20, 0x38, 0xBD, 0x01, 0x20 + .byte 0x38, 0xBD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x0A, 0xFC + .byte 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x12, 0xD0 + .byte 0x38, 0xBD, 0xE8, 0x68, 0xE6, 0xF7, 0xBC, 0xFB, 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x1A, 0xFC + .byte 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x86, 0xFC, 0xE3, 0xF7, 0xB8, 0xFD, 0x21, 0x1C, 0x01, 0x22 + .byte 0xE3, 0xF7, 0x40, 0xFE, 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x7C, 0xFC, 0xE3, 0xF7, 0xAE, 0xFD + .byte 0x21, 0x1C, 0xE3, 0xF7, 0x97, 0xFE, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0xDF, 0xFB, 0x42, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28 + .byte 0x07, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0D, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEA, 0xFF + .byte 0x08, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC8, 0xF7, 0x7B, 0xF8, 0x03, 0xE0, 0x68, 0x68, 0x01, 0x21 + .byte 0xC8, 0xF7, 0xAE, 0xF8, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0C, 0x20, 0x30, 0x80, 0x28, 0x68 + .byte 0xC0, 0x68, 0xE0, 0xF7, 0xB7, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x18, 0xFB + .byte 0x70, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47 + .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0xD7, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 + .byte 0xA9, 0xFB, 0x03, 0x49, 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xB3, 0xFB, 0x38, 0xBD + .byte 0xC6, 0x01, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0xC5, 0xFD, 0x05, 0x1C + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x97, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x68, 0xFE, 0x04, 0x1C, 0x05, 0x49 + .byte 0x28, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xA7, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x1B, 0xF0 + .byte 0x43, 0xFF, 0x38, 0xBD, 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0x7F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0E, 0x20, 0x30, 0x80 + .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x6E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7 + .byte 0xCF, 0xFA, 0x68, 0x68, 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x06, 0xFC, 0x70, 0xBD, 0xC0, 0x46 + .byte 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C + .byte 0x2B, 0xF0, 0x8A, 0xFD, 0x28, 0x68, 0xFF, 0xF7, 0x5D, 0xFB, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80 + .byte 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0x00, 0x21, 0x7A, 0x32, 0xC7, 0xF7, 0xED, 0xFB, 0x70, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x77, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 + .byte 0x49, 0xFB, 0x71, 0x21, 0x20, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x52, 0xFB + .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x65, 0xFD, 0x05, 0x1C + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x08, 0xFE, 0x71, 0x21, 0x04, 0x1C + .byte 0x28, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x46, 0xFB, 0x20, 0x1C, 0x01, 0x21 + .byte 0x1B, 0xF0, 0xE2, 0xFE, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0x1F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0F, 0x20, 0x30, 0x80 + .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x0E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7 + .byte 0x6F, 0xFA, 0x71, 0x22, 0x68, 0x68, 0x01, 0x21, 0x92, 0x00, 0xC7, 0xF7, 0xA5, 0xFB, 0x70, 0xBD + .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0x2C, 0xFD + .byte 0x28, 0x68, 0xFF, 0xF7, 0xFF, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80 + .byte 0x68, 0x68, 0x00, 0x21, 0x78, 0x32, 0xC7, 0xF7, 0x8F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C + .byte 0xE8, 0x68, 0x2B, 0xF0, 0x19, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xEB, 0xFA, 0x03, 0x49 + .byte 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xF5, 0xFA, 0x38, 0xBD, 0xC7, 0x01, 0x00, 0x00 + .byte 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x07, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0xD9, 0xFA, 0xE0, 0x68, 0x02, 0xF0, 0xAA, 0xFD, 0x04, 0x1C, 0x05, 0x49, 0x28, 0x1C, 0x01, 0x22 + .byte 0x20, 0x23, 0x2B, 0xF0, 0xE9, 0xFA, 0x20, 0x1C, 0x02, 0x21, 0x1B, 0xF0, 0x85, 0xFE, 0x38, 0xBD + .byte 0xC7, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7 + .byte 0xC1, 0xFA, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x10, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68 + .byte 0xE0, 0xF7, 0xB0, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x11, 0xFA, 0x68, 0x68 + .byte 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x48, 0xFB, 0x70, 0xBD, 0xC0, 0x46, 0xC7, 0x01, 0x00, 0x00 + .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0xCC, 0xFC + .byte 0x28, 0x68, 0xFF, 0xF7, 0x9F, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80 + .byte 0x68, 0x68, 0x00, 0x21, 0x7B, 0x32, 0xC7, 0xF7, 0x2F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C + .byte 0xE8, 0x68, 0x08, 0xF0, 0xE1, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C + .byte 0x08, 0xF0, 0x6A, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x08, 0xF0 + .byte 0xD3, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x7D, 0xFA, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C + .byte 0x08, 0xF0, 0x62, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C + .byte 0x16, 0x1C, 0xFF, 0xF7, 0x6F, 0xFA, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x12, 0x20 + .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x5D, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21 + .byte 0xC7, 0xF7, 0xBE, 0xF9, 0x68, 0x68, 0x3A, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEF, 0xFB, 0xF8, 0xBD + .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x53, 0x20 + .byte 0x80, 0x00, 0x20, 0x80, 0x13, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x42, 0xF8 + .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xA3, 0xF9, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x11, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7 + .byte 0xCF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x29, 0xFE, 0x00, 0x28 + .byte 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBE, 0xFC, 0x80, 0x35, 0x28, 0x68, 0x08, 0xF0, 0x9E, 0xF8 + .byte 0x0B, 0xE0, 0x01, 0x28, 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBC, 0xFC, 0x80, 0x35, 0x28, 0x68 + .byte 0x08, 0xF0, 0xAC, 0xF8, 0x01, 0xE0, 0xDD, 0xF7, 0xB1, 0xF9, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x25, 0xFE, 0x06, 0x1C + .byte 0x20, 0x20, 0x23, 0xF0, 0x6D, 0xF8, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xA1, 0xF9, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xE0, 0xFD, 0x04, 0x1C, 0x30, 0x1C, 0xE8, 0xF7, 0x80, 0xFB + .byte 0x06, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xD3, 0xF7 + .byte 0x83, 0xF8, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x06, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x00, 0xFE, 0x07, 0x1C, 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xC0, 0x68, 0xDE, 0xF7, 0xED, 0xFD, 0x02, 0x90, 0x20, 0x20, 0x23, 0xF0, 0x41, 0xF8, 0x04, 0x1C + .byte 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0xD4, 0xFF, 0x01, 0x90, 0x30, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE1, 0xF7, 0x23, 0xFA, 0x00, 0x25, 0x38, 0x1C, 0x29, 0x1C + .byte 0x22, 0x1C, 0xE8, 0xF7, 0x39, 0xFB, 0x20, 0x20, 0x00, 0x90, 0x01, 0x99, 0x20, 0x1C, 0x02, 0x22 + .byte 0x00, 0x23, 0x3C, 0xF0, 0x93, 0xFF, 0x20, 0x1C, 0x25, 0xF0, 0xB4, 0xFB, 0x01, 0x1C, 0x02, 0x98 + .byte 0x27, 0xF0, 0x44, 0xFC, 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x50, 0xF9, 0x30, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0x21, 0x1C, 0xC0, 0x68, 0xE8, 0xF7, 0xD5, 0xFB, 0x6D, 0x1C, 0x06, 0x2D, 0xDD, 0xDB + .byte 0x20, 0x1C, 0xD3, 0xF7, 0x39, 0xF8, 0x38, 0x1C, 0xE8, 0xF7, 0x98, 0xFA, 0x00, 0x20, 0x03, 0xB0 + .byte 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xF5, 0xF7, 0x3A, 0xF9, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x94, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x30, 0xF9 + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x6E, 0xFD, 0x05, 0x1C, 0x03, 0x2E + .byte 0x2E, 0xD8, 0xB0, 0x19, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00 + .byte 0x12, 0x00, 0x1E, 0x00, 0x2A, 0x00, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x63, 0xF8, 0x28, 0x80 + .byte 0x1E, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x65, 0xF8, 0x28, 0x80, 0x18, 0xE0, 0x80, 0x34 + .byte 0x20, 0x68, 0x08, 0xF0, 0x67, 0xF8, 0x28, 0x80, 0x12, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0x08, 0xF0, 0x58, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x08, 0xF0, 0x4A, 0xF8 + .byte 0x80, 0x34, 0x07, 0x1C, 0x20, 0x68, 0x08, 0xF0, 0x55, 0xF8, 0x38, 0x18, 0x30, 0x18, 0x28, 0x80 + .byte 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF5, 0xF7 + .byte 0xEF, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x49, 0xFD, 0x06, 0x1C + .byte 0x20, 0x1C, 0xF5, 0xF7, 0xE5, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 + .byte 0x3F, 0xFD, 0x07, 0x1C, 0x28, 0x1C, 0x26, 0x21, 0xF5, 0xF7, 0xDE, 0xFC, 0x31, 0x06, 0x3A, 0x06 + .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1, 0x61, 0xFF, 0x28, 0x60 + .byte 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xCC, 0xFC + .byte 0x00, 0x68, 0x9E, 0xF1, 0x87, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xBF, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68 + .byte 0x09, 0x68, 0x9E, 0xF1, 0x81, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x19, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7 + .byte 0xA7, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xE6, 0xFC, 0x05, 0x1C, 0x20, 0x1C + .byte 0xE4, 0xF7, 0x1E, 0xFF, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x01, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7 + .byte 0x8F, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xEA, 0xFC, 0x01, 0x1C, 0x28, 0x1C + .byte 0xE4, 0xF7, 0x08, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xC0, 0x68, 0xDF, 0xF7, 0xEB, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x79, 0xF8, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xD4, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xE4, 0xF7, 0x0E, 0xFF + .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7 + .byte 0xD5, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x63, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 + .byte 0xF5, 0xF7, 0xA2, 0xFC, 0x01, 0x1C, 0x09, 0x88, 0x20, 0x1C, 0xE4, 0xF7, 0xF7, 0xFE, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x28, 0x1C, 0xF3, 0xF7 + .byte 0x0D, 0xFE, 0xDF, 0xF7, 0xAF, 0xFE, 0xE8, 0x68, 0xDF, 0xF7, 0xB8, 0xFE, 0x06, 0x1C, 0x20, 0x1C + .byte 0xF5, 0xF7, 0x46, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x84, 0xFC + .byte 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x30, 0x1C, 0xE4, 0xF7, 0xB8, 0xFE + .byte 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD + .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0x20, 0x1C, 0xF3, 0xF7, 0xE7, 0xFD, 0xDF, 0xF7 + .byte 0x89, 0xFE, 0xE0, 0x68, 0xDF, 0xF7, 0x92, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x20, 0xF8 + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5E, 0xFC, 0x04, 0x1C, 0x28, 0x1C + .byte 0xF5, 0xF7, 0x16, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x55, 0xFC, 0x05, 0x88 + .byte 0x30, 0x1C, 0xE4, 0xF7, 0x8D, 0xFE, 0xA8, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 + .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xC0, 0x68, 0xDF, 0xF7, 0x6B, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xF9, 0xFF, 0x01, 0x1C + .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x37, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7 + .byte 0xEF, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x4A, 0xFC, 0x01, 0x1C, 0x30, 0x1C + .byte 0xE4, 0xF7, 0x78, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x9A, 0xFD, 0xDF, 0xF7, 0x3C, 0xFE, 0x05, 0x1C, 0x20, 0x1C + .byte 0xF4, 0xF7, 0xE2, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE, 0x00, 0x20, 0x38, 0xBD + .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x88, 0xFD, 0xDF, 0xF7, 0x2A, 0xFE + .byte 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xD0, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE + .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x76, 0xFD + .byte 0xDF, 0xF7, 0x18, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xB2, 0xFF, 0x80, 0x34, 0x01, 0x1C + .byte 0x20, 0x68, 0xF5, 0xF7, 0x0D, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xBB, 0xFE, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x5E, 0xFD + .byte 0xDF, 0xF7, 0x00, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9A, 0xFF, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xD8, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9C, 0xFF + .byte 0x04, 0x1C, 0x30, 0x1C, 0xDF, 0xF7, 0x7C, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0 + .byte 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF3, 0xF7, 0x3C, 0xFD, 0xDF, 0xF7, 0xDE, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x78, 0xFF + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xB6, 0xFB, 0x05, 0x1C, 0x20, 0x1C + .byte 0xF4, 0xF7, 0x6E, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xC9, 0xFB, 0x04, 0x1C + .byte 0x30, 0x1C, 0xDF, 0xF7, 0x55, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 + .byte 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 + .byte 0x0D, 0x68, 0xF4, 0xF7, 0x55, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 + .byte 0xAF, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF5, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x27, 0x21, 0xF5, 0xF7, 0x44, 0xFB + .byte 0x31, 0x06, 0x3A, 0x06, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1 + .byte 0x13, 0xFD, 0x28, 0x60, 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21 + .byte 0xF5, 0xF7, 0x32, 0xFB, 0x00, 0x68, 0x9E, 0xF1, 0x59, 0xFD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 + .byte 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21, 0xF5, 0xF7, 0x25, 0xFB, 0x01, 0x1C + .byte 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0x9E, 0xF1, 0x53, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC5, 0x68, 0xF5, 0xF7, 0x15, 0xFB, 0x04, 0x1C + .byte 0x28, 0x1C, 0xDF, 0xF7, 0xA1, 0xFF, 0x21, 0x68, 0xA9, 0xF1, 0x62, 0xFB, 0x00, 0x20, 0x38, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x00, 0xFF + .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x3F, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 + .byte 0xDE, 0xF7, 0xE6, 0xFB, 0xA9, 0xF1, 0xD2, 0xFB, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x08, 0x21, 0xC0, 0x68, 0xDE, 0xF7, 0xD9, 0xFB, 0xA8, 0xF1 + .byte 0x81, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68 + .byte 0x08, 0x21, 0xE8, 0x68, 0xDE, 0xF7, 0xCC, 0xFB, 0x06, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x4E, 0xFE + .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xF3, 0xF7, 0x91, 0xFC, 0xDF, 0xF7, 0x33, 0xFD, 0x02, 0x1C + .byte 0x30, 0x1C, 0x29, 0x1C, 0xA9, 0xF1, 0x1A, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C + .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0xC6, 0xFA, 0x07, 0x1C, 0x20, 0x1C + .byte 0xEE, 0x68, 0xF4, 0xF7, 0xBD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 + .byte 0xFB, 0xFA, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xB3, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 + .byte 0xF5, 0xF7, 0x0E, 0xFB, 0x04, 0x1C, 0x30, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x99, 0xFB, 0x06, 0x1C + .byte 0xE8, 0x68, 0x27, 0xF0, 0x1B, 0xFE, 0x23, 0x06, 0x39, 0x68, 0x32, 0x1C, 0x1B, 0x0E, 0xA8, 0xF1 + .byte 0x15, 0xFC, 0x00, 0x99, 0x08, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C + .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x96, 0xFA, 0x07, 0x1C, 0x20, 0x1C + .byte 0xED, 0x68, 0xF4, 0xF7, 0x8D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 + .byte 0xCB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 + .byte 0xF5, 0xF7, 0xDE, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x69, 0xFB, 0x21, 0x06 + .byte 0x3A, 0x68, 0x09, 0x0E, 0xA8, 0xF1, 0x86, 0xFC, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 + .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC4, 0x68, 0xF5, 0xF7, 0x6C, 0xFA + .byte 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x64, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF5, 0xF7, 0xA2, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x5A, 0xFE, 0x80, 0x35, 0x01, 0x1C + .byte 0x28, 0x68, 0xF5, 0xF7, 0xB5, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x40, 0xFB + .byte 0x32, 0x68, 0x29, 0x1C, 0xA8, 0xF1, 0x66, 0xFC, 0x38, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 + .byte 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x44, 0xFA + .byte 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x3C, 0xFE, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFE, 0x01, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x93, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 + .byte 0x2F, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6E, 0xFA, 0x04, 0x1C, 0xE8, 0x68 + .byte 0x27, 0xF0, 0x9C, 0xFD, 0x32, 0x68, 0x39, 0x1C, 0xA9, 0xF1, 0xEC, 0xFA, 0x20, 0x80, 0x00, 0x20 + .byte 0xF8, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C, 0x31, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xE5, 0x68 + .byte 0xF4, 0xF7, 0x16, 0xFE, 0x80, 0x36, 0x01, 0x1C, 0x30, 0x68, 0xF5, 0xF7, 0x71, 0xFA, 0x06, 0x1C + .byte 0xE0, 0x68, 0x27, 0xF0, 0x83, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0xF8, 0xFA + .byte 0x31, 0x06, 0x02, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x2B, 0x1C, 0xA8, 0xF1, 0xA7, 0xFA, 0x00, 0x20 + .byte 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21 + .byte 0xC5, 0x68, 0xF5, 0xF7, 0xF9, 0xF9, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xF1, 0xFD, 0x01, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x4B, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 + .byte 0xE7, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x41, 0xFA, 0x02, 0x90 + .byte 0x20, 0x1C, 0xF4, 0xF7, 0xDD, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 + .byte 0x37, 0xFA, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xD3, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 + .byte 0xF5, 0xF7, 0x2E, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0x5E, 0xFE, 0x21, 0x06, 0x09, 0x0E + .byte 0x00, 0x91, 0x31, 0x68, 0x02, 0x9A, 0x03, 0x9B, 0x01, 0x91, 0x39, 0x06, 0x12, 0x06, 0x1B, 0x06 + .byte 0x09, 0x0E, 0x12, 0x0E, 0x1B, 0x0E, 0xA9, 0xF1, 0x39, 0xFA, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0xB0, 0xFD + .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xEF, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 + .byte 0xDE, 0xF7, 0x96, 0xFA, 0xA9, 0xF1, 0xAE, 0xFA, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x98, 0xFD + .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xD7, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 + .byte 0xDE, 0xF7, 0x7E, 0xFA, 0xDF, 0xF7, 0xBC, 0xFD, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 + .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x84, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 + .byte 0xC3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 + .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x74, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 + .byte 0xB3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 + .byte 0x02, 0xF0, 0xA4, 0xF8, 0x1B, 0xF0, 0xF2, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C + .byte 0xF4, 0xF7, 0x5E, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x9C, 0xF9 + .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x90, 0xF8, 0x1B, 0xF0, 0xE6, 0xF9 + .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF4, 0xF7, 0x48, 0xFD + .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x86, 0xF9, 0x04, 0x1C, 0x28, 0x1C + .byte 0xF4, 0xF7, 0x3E, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x99, 0xF9, 0x05, 0x1C + .byte 0xD7, 0xF7, 0x14, 0xFC, 0x64, 0x21, 0xA7, 0xF0, 0x5C, 0xED, 0x08, 0x04, 0x00, 0x0C, 0x0F, 0x28 + .byte 0x01, 0xD2, 0x00, 0x20, 0x20, 0xE0, 0x1E, 0x28, 0x01, 0xD2, 0x01, 0x20, 0x1C, 0xE0, 0x2D, 0x28 + .byte 0x01, 0xD2, 0x02, 0x20, 0x18, 0xE0, 0x3C, 0x28, 0x01, 0xD2, 0x03, 0x20, 0x14, 0xE0, 0x46, 0x28 + .byte 0x01, 0xD2, 0x04, 0x20, 0x10, 0xE0, 0x50, 0x28, 0x01, 0xD2, 0x05, 0x20, 0x0C, 0xE0, 0x58, 0x28 + .byte 0x01, 0xD2, 0x06, 0x20, 0x08, 0xE0, 0x5D, 0x28, 0x01, 0xD2, 0x07, 0x20, 0x04, 0xE0, 0x62, 0x28 + .byte 0x01, 0xD2, 0x08, 0x20, 0x00, 0xE0, 0x09, 0x20, 0x26, 0x4A, 0x95, 0x42, 0x12, 0xDC, 0x37, 0xDA + .byte 0x27, 0x2D, 0x08, 0xDC, 0x23, 0x2D, 0x03, 0xDB, 0x2C, 0xD0, 0x27, 0x2D, 0x30, 0xD0, 0x35, 0xE0 + .byte 0x19, 0x2D, 0x2F, 0xD0, 0x32, 0xE0, 0x36, 0x2D, 0x01, 0xDC, 0x27, 0xD0, 0x2E, 0xE0, 0xFF, 0x2D + .byte 0x22, 0xD0, 0x2B, 0xE0, 0x11, 0x1C, 0x8C, 0x31, 0x8D, 0x42, 0x0F, 0xDC, 0x11, 0x1C, 0x8C, 0x31 + .byte 0x8D, 0x42, 0x19, 0xDA, 0x11, 0x1C, 0x0F, 0x31, 0x8D, 0x42, 0x03, 0xDC, 0x0F, 0x32, 0x95, 0x42 + .byte 0x10, 0xD0, 0x1B, 0xE0, 0x84, 0x32, 0x95, 0x42, 0x10, 0xD0, 0x17, 0xE0, 0x11, 0x1C, 0x8E, 0x31 + .byte 0x8D, 0x42, 0x03, 0xDC, 0x8E, 0x32, 0x95, 0x42, 0x0E, 0xD0, 0x0F, 0xE0, 0x9B, 0x32, 0x95, 0x42 + .byte 0x0A, 0xD0, 0x0B, 0xE0, 0x00, 0x22, 0x0A, 0xE0, 0x01, 0x22, 0x08, 0xE0, 0x02, 0x22, 0x06, 0xE0 + .byte 0x03, 0x22, 0x04, 0xE0, 0x04, 0x22, 0x02, 0xE0, 0x05, 0x22, 0x00, 0xE0, 0x00, 0x22, 0x13, 0x1C + .byte 0x14, 0x21, 0x4B, 0x43, 0x04, 0x4A, 0x41, 0x00, 0xD0, 0x18, 0x08, 0x5A, 0x20, 0x80, 0x00, 0x20 + .byte 0x38, 0xBD, 0xC0, 0x46, 0x1D, 0x01, 0x00, 0x00, 0x94, 0x44, 0x0F, 0x02, 0xF0, 0xB5, 0x85, 0xB0 + .byte 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x69, 0x00, 0x68, 0xF0, 0xF7, 0xAB, 0xFA, 0x06, 0x1C + .byte 0x20, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x20, 0x1C, 0xF4, 0xF7, 0xAA, 0xFC, 0x01, 0x1C, 0x20, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x04, 0xF9, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xA0, 0xFC + .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x07, 0x1C, 0x20, 0x1C + .byte 0xF4, 0xF7, 0x96, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xF0, 0xF8 + .byte 0x04, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x8C, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 + .byte 0xCB, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xF9, 0xFB, 0x04, 0x98, 0x3B, 0x06, 0x00, 0x90 + .byte 0x01, 0x96, 0x0C, 0x20, 0x02, 0x90, 0xE9, 0x68, 0x03, 0x9A, 0x0B, 0x20, 0x1B, 0x0E, 0x05, 0xF0 + .byte 0x83, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x05, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C + .byte 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF4, 0xF7, 0x6B, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF5, 0xF7, 0xA9, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x61, 0xFC, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xA0, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xCE, 0xFB + .byte 0x31, 0x88, 0x27, 0xF0, 0x15, 0xFB, 0x4C, 0x21, 0x00, 0x22, 0x05, 0x1C, 0x22, 0xF0, 0x16, 0xFF + .byte 0x00, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x05, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x0F, 0xFF, 0x00, 0xE0 + .byte 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68 + .byte 0x28, 0x1C, 0xF3, 0xF7, 0xFB, 0xF9, 0xDF, 0xF7, 0x9D, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 + .byte 0x37, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x75, 0xF8, 0x06, 0x1C + .byte 0x20, 0x1C, 0xF4, 0xF7, 0x2D, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6C, 0xF8 + .byte 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x9A, 0xFB, 0x31, 0x88, 0x27, 0xF0, 0xE1, 0xFA, 0x07, 0x21 + .byte 0x00, 0x22, 0x22, 0xF0, 0xE3, 0xFE, 0x00, 0x04, 0x05, 0x0C, 0x38, 0x1C, 0xDF, 0xF7, 0xDE, 0xFA + .byte 0x00, 0x04, 0x00, 0x0C, 0x85, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x20, 0x80 + .byte 0x00, 0x20, 0xF8, 0xBD, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68 + .byte 0xDF, 0xF7, 0x68, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x02, 0xFC, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5C, 0xF8, 0x02, 0x90, 0x28, 0x1C, 0xF4, 0xF7, 0xF8, 0xFB + .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x53, 0xF8, 0x05, 0x1C, 0xE0, 0x68, 0x27, 0xF0 + .byte 0x65, 0xFB, 0x06, 0x1C, 0x27, 0xF0, 0xAA, 0xFA, 0x00, 0x06, 0x00, 0x0E, 0x06, 0x28, 0x19, 0xD2 + .byte 0x0B, 0x20, 0x22, 0xF0, 0xAD, 0xFA, 0x04, 0x1C, 0x22, 0xF0, 0x86, 0xFA, 0x01, 0x20, 0x29, 0x1C + .byte 0xD1, 0xF7, 0x42, 0xFC, 0x03, 0x21, 0x00, 0x91, 0x01, 0x90, 0x02, 0x99, 0x20, 0x1C, 0x01, 0x22 + .byte 0x3B, 0x1C, 0xA8, 0xF1, 0x47, 0xFD, 0x30, 0x1C, 0x21, 0x1C, 0x27, 0xF0, 0x39, 0xFA, 0x20, 0x1C + .byte 0xD2, 0xF7, 0xC2, 0xFA, 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C + .byte 0xF4, 0xF7, 0xC6, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x20, 0xF8 + .byte 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 + .byte 0xF5, 0xF7, 0x16, 0xF8, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xB2, 0xFB, 0x01, 0x1C, 0x28, 0x1C + .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x0C, 0xF8, 0x80, 0x35, 0x07, 0x1C, 0x28, 0x68, 0xC0, 0x68 + .byte 0x27, 0xF0, 0x1C, 0xFB, 0x21, 0x1C, 0x32, 0x1C, 0x3B, 0x1C, 0x05, 0xF0, 0x19, 0xFE, 0x00, 0x20 + .byte 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0F, 0x68, 0xF4, 0xF7 + .byte 0x97, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7, 0xD5, 0xFF, 0x06, 0x1C + .byte 0x20, 0x1C, 0xF4, 0xF7, 0x8D, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7 + .byte 0xE7, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFB, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 + .byte 0xF4, 0xF7, 0xDE, 0xFF, 0x04, 0x1C, 0xF8, 0x68, 0x27, 0xF0, 0xF0, 0xFA, 0x21, 0x1C, 0x27, 0xF0 + .byte 0x37, 0xFA, 0x00, 0x22, 0x4C, 0x21, 0x04, 0x1C, 0x32, 0x80, 0x22, 0xF0, 0x37, 0xFE, 0x00, 0x28 + .byte 0x01, 0xD0, 0x00, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x2E, 0xFE + .byte 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C, 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x27, 0xFE, 0x85, 0x42 + .byte 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x20, 0xFE, 0x85, 0x42, 0x06, 0xD0 + .byte 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x19, 0xFE, 0x85, 0x42, 0x01, 0xD1, 0x01, 0x20 + .byte 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x21, 0x1C + .byte 0x80, 0x31, 0x09, 0x68, 0x01, 0x91, 0xF4, 0xF7, 0x43, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x68, 0xF4, 0xF7, 0x81, 0xFF, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFB, 0x80, 0x34 + .byte 0x01, 0x1C, 0x20, 0x68, 0xF4, 0xF7, 0x94, 0xFF, 0x05, 0x1C, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0 + .byte 0xA5, 0xFA, 0x27, 0xF0, 0xEB, 0xF9, 0x00, 0x06, 0x07, 0x0E, 0x1D, 0x49, 0x00, 0x98, 0x1D, 0x4E + .byte 0x01, 0x80, 0x31, 0xD0, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0, 0x98, 0xFA, 0x31, 0x1C, 0x27, 0xF0 + .byte 0xDF, 0xF9, 0x4C, 0x21, 0x00, 0x22, 0x04, 0x1C, 0x22, 0xF0, 0xE0, 0xFD, 0x00, 0x28, 0x1E, 0xD1 + .byte 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD9, 0xFD, 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C + .byte 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD2, 0xFD, 0x85, 0x42, 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21 + .byte 0x00, 0x22, 0x22, 0xF0, 0xCB, 0xFD, 0x85, 0x42, 0x06, 0xD0, 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22 + .byte 0x22, 0xF0, 0xC4, 0xFD, 0x85, 0x42, 0x02, 0xD1, 0x00, 0x98, 0x06, 0x80, 0x04, 0xE0, 0x70, 0x1C + .byte 0x00, 0x06, 0x06, 0x0E, 0xBE, 0x42, 0xCD, 0xD3, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46 + .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + + thumb_func_start sub_02044658 +sub_02044658: ; 0x02044658 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + bl sub_0204A32C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0204469C +sub_0204469C: ; 0x0204469C + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + mov r4, #0x0 + ldr r0, [sp, #0x4] + add r5, r4, #0x0 + strh r4, [r0, #0x0] + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bls _02044726 +_020446EA: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204471A + add r0, r6, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x0] + cmp r0, r1 + bhi _0204471A + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_0204471A: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x8] + cmp r4, r0 + blo _020446EA +_02044726: + ldr r0, [sp, #0x4] + strh r5, [r0, #0x0] + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02044730 +sub_02044730: ; 0x02044730 + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r2, #0x0 + mov r1, #0x4c + add r5, r0, #0x0 + strh r2, [r4, #0x0] + bl sub_020671BC + cmp r0, #0x0 + bne _02044786 + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r4, #0x0] +_02044786: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204478C +sub_0204478C: ; 0x0204478C + push {r4-r6, lr} + add r6, r0, #0x0 + add r1, r6, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02038C30 + add r6, #0x80 + add r1, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r6, r0 + blt _020447D2 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020447D2: + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _020447F2 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020447F2: + add r0, r5, #0x0 + bl sub_02068854 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02044800 +sub_02044800: ; 0x02044800 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, _02044884 ; =0x000000FF + ldr r0, [sp, #0x4] + ldr r5, _02044888 ; =0x00000000 + strh r1, [r0, #0x0] + beq _0204487E +_02044848: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02044874 + add r0, r4, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x0] + cmp r1, r0 + bne _02044874 + ldr r0, [sp, #0x4] + strh r5, [r0, #0x0] + b _0204487E +_02044874: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _02044848 +_0204487E: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02044884: .word 0x000000FF +_02044888: .word 0x00000000 + + thumb_func_start sub_0204488C +sub_0204488C: ; 0x0204488C + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020448D4 +sub_020448D4: ; 0x020448D4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + add r7, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + ldr r1, [sp, #0x0] + bl sub_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + add r1, sp, #0x4 + strh r0, [r1, #0x0] + cmp r4, #0x0 + beq _02044982 + add r0, r5, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + mov r2, #0xb + bl sub_0206E7B8 + cmp r0, #0x34 + bne _0204495A + mov r0, #0x96 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_0204495A: + add r0, r5, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0xb + bne _0204496E + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_0204496E: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + cmp r7, r0 + bne _02044982 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02044982: + add r0, sp, #0x4 + ldrh r1, [r0, #0x0] + add r1, r1, r4 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + cmp r1, #0xff + bls _02044994 + mov r1, #0xff + strh r1, [r0, #0x0] +_02044994: + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x4 + bl sub_02067830 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_020449A4 +sub_020449A4: ; 0x020449A4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + add r1, sp, #0x0 + strh r0, [r1, #0x0] + ldrh r0, [r1, #0x0] + cmp r4, r0 + bls _020449F8 + mov r0, #0x0 + b _020449FA +_020449F8: + sub r0, r0, r4 +_020449FA: + strh r0, [r1, #0x0] + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_02044A0C +sub_02044A0C: ; 0x02044A0C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + add r4, #0x13 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02044A6C +sub_02044A6C: ; 0x02044A6C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02054DEC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02044A94 +sub_02044A94: ; 0x02044A94 + push {r3-r7, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + add r4, r0, #0x0 + mov r1, #0xb0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + add r0, r4, #0x0 + mov r1, #0xb1 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r7, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02044B00 +sub_02044B00: ; 0x02044B00 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02044B2C +sub_02044B2C: ; 0x02044B2C + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + ldr r0, [r6, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + mov r5, #0x0 + add r7, r0, #0x0 + add r4, r5, #0x0 + cmp r7, #0x0 + ble _02044B7A +_02044B5A: + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02044B74 + add r4, r4, #0x1 +_02044B74: + add r5, r5, #0x1 + cmp r5, r7 + blt _02044B5A +_02044B7A: + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02044B84 +sub_02044B84: ; 0x02044B84 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + mov r5, #0x0 + add r4, r5, #0x0 + str r0, [sp, #0x8] + cmp r0, #0x0 + ble _02044C00 +_02044BC8: + ldr r0, [sp, #0x0] + cmp r5, r0 + beq _02044BF8 + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02044BF8 + add r0, r6, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044BF8 + add r4, r4, #0x1 +_02044BF8: + ldr r0, [sp, #0x8] + add r5, r5, #0x1 + cmp r5, r0 + blt _02044BC8 +_02044C00: + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02044C0C +sub_02044C0C: ; 0x02044C0C + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_02022510 + str r0, [sp, #0x4] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + mov r5, #0x0 + add r4, r5, #0x0 + str r0, [sp, #0x8] + cmp r0, #0x0 + ble _02044C76 +_02044C44: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02044C6E + add r0, r6, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044C6E + add r4, r4, #0x1 +_02044C6E: + ldr r0, [sp, #0x8] + add r5, r5, #0x1 + cmp r5, r0 + blt _02044C44 +_02044C76: + ldr r0, [sp, #0x4] + bl sub_0206B57C + add r1, r4, r0 + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02044C88 +sub_02044C88: ; 0x02044C88 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + ldr r0, [r6, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + mov r5, #0x0 + add r7, r0, #0x0 + add r4, r5, #0x0 + cmp r7, #0x0 + ble _02044CD6 +_02044CB6: + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044CD0 + add r4, r4, #0x1 +_02044CD0: + add r5, r5, #0x1 + cmp r5, r7 + blt _02044CB6 +_02044CD6: + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02044CE0 +sub_02044CE0: ; 0x02044CE0 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r4, _02044D40 ; =0x00000000 + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] + beq _02044D3C + mov r7, #0x99 +_02044D12: + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044D32 + ldr r0, [sp, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x0] + b _02044D3C +_02044D32: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r6 + blo _02044D12 +_02044D3C: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02044D40: .word 0x00000000 + + thumb_func_start sub_02044D44 +sub_02044D44: ; 0x02044D44 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x6f + mov r2, #0x0 + bl sub_020671BC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02044D8C +sub_02044D8C: ; 0x02044D8C + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044DDA + mov r0, #0x0 + strh r0, [r5, #0x0] + pop {r4-r6, pc} +_02044DDA: + mov r4, #0x0 + add r0, r6, #0x0 + mov r1, #0x36 + add r2, r4, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044DF0 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044DF0: + add r0, r6, #0x0 + mov r1, #0x37 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044E04 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E04: + add r0, r6, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044E18 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E18: + add r0, r6, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02044E2C + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E2C: + strh r4, [r5, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02044E34 +sub_02044E34: ; 0x02044E34 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + add r1, r4, #0x0 + bl sub_020699A4 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02044E78 +sub_02044E78: ; 0x02044E78 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + add r4, #0x36 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02044ED8 +sub_02044ED8: ; 0x02044ED8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02044F20 +sub_02044F20: ; 0x02044F20 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r2, #0x0 + add r1, sp, #0x0 + strh r2, [r1, #0x0] + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02044F58 +sub_02044F58: ; 0x02044F58 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r5, _02044FE4 ; =0x00000000 + ldr r0, [sp, #0x4] + strh r5, [r0, #0x0] + beq _02044FDE +_02044F9E: + ldr r0, [r7, #0xc] + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02044FD4 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _02044FD4 + ldr r0, [sp, #0x4] + mov r1, #0x1 + strh r1, [r0, #0x0] + b _02044FDE +_02044FD4: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _02044F9E +_02044FDE: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02044FE4: .word 0x00000000 + + thumb_func_start sub_02044FE8 +sub_02044FE8: ; 0x02044FE8 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 + add r7, r4, #0x0 +_0204502A: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r7, #0x0 + bl sub_0207FC5C + add r1, r0, #0x0 + add r0, r6, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02045048 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02045048: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x50 + blo _0204502A + ldr r0, [sp, #0x0] + strh r5, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204505C +sub_0204505C: ; 0x0204505C + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x10 + add r4, #0x80 + lsr r6, r0, #0x10 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0x4] +_0204509A: + mov r5, #0x0 + cmp r6, #0x0 + bls _020450E8 + ldr r0, [sp, #0x8] + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +_020450A6: + ldr r0, [sp, #0xc] + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _020450E8 + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0207FC5C + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _020450DE + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + b _020450E8 +_020450DE: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _020450A6 +_020450E8: + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + cmp r0, #0x50 + blo _0204509A + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02045104 +sub_02045104: ; 0x02045104 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + add r5, r0, #0x0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x0 + bl sub_0207FC5C + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02045170 +sub_02045170: ; 0x02045170 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + mov r1, #0x1 + add r0, sp, #0x0 + add r5, #0x80 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x0 + bl sub_0207FC5C + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_020451D0 +sub_020451D0: ; 0x020451D0 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x10 + add r4, #0x80 + lsr r6, r0, #0x10 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] +_0204520C: + mov r5, #0x0 + cmp r6, #0x0 + bls _0204524C +_02045212: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02045242 + add r0, r4, #0x0 + mov r1, #0x3 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02045242 + ldr r0, [sp, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x0] + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_02045242: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _02045212 +_0204524C: + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + cmp r0, #0x50 + blo _0204520C + ldr r1, [sp, #0x0] + mov r0, #0x0 + strh r0, [r1, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02045264 +sub_02045264: ; 0x02045264 + mov r0, #0x0 + bx lr + + thumb_func_start sub_02045268 +sub_02045268: ; 0x02045268 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r4, #0x0 + ldr r7, _020452B0 ; =0x020F450C + str r0, [sp, #0x0] + add r5, r4, #0x0 +_02045288: + ldr r0, [r6, #0xc] + bl sub_0206F158 + lsl r1, r4, #0x2 + ldrh r1, [r7, r1] + mov r2, #0x4 + bl sub_0206EEF8 + add r0, r5, r0 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x7 + blo _02045288 + ldr r0, [sp, #0x0] + strh r5, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_020452B0: .word 0x020F450C + + thumb_func_start sub_020452B4 +sub_020452B4: ; 0x020452B4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394F0 + mov r5, #0x0 + ldr r2, _02045300 ; =0x020F450C + strh r5, [r4, #0x0] +_020452E0: + lsl r3, r5, #0x2 + ldrh r1, [r2, r3] + cmp r0, r1 + bne _020452F0 + ldr r0, _02045304 ; =0x020F450E + ldrh r0, [r0, r3] + strh r0, [r4, #0x0] + b _020452FA +_020452F0: + add r1, r5, #0x1 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + cmp r5, #0x7 + blo _020452E0 +_020452FA: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02045300: .word 0x020F450C +_02045304: .word 0x020F450E + + thumb_func_start sub_02045308 +sub_02045308: ; 0x02045308 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394F0 + str r0, [sp, #0x0] + mov r4, #0x0 + ldr r0, [sp, #0x8] + add r6, r4, #0x0 + strh r4, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] +_02045358: + ldr r0, [r7, #0xc] + lsl r5, r4, #0x2 + bl sub_0206F158 + ldr r1, _02045394 ; =0x020F450C + mov r2, #0x4 + ldrh r1, [r1, r5] + bl sub_0206EEF8 + add r0, r6, r0 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, [sp, #0x0] + cmp r6, r0 + blo _02045384 + ldr r0, _02045394 ; =0x020F450C + ldrh r1, [r0, r5] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] + b _0204538E +_02045384: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x7 + blo _02045358 +_0204538E: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02045394: .word 0x020F450C + + thumb_func_start sub_02045398 +sub_02045398: ; 0x02045398 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0204539C +sub_0204539C: ; 0x0204539C + mov r0, #0x0 + bx lr + + thumb_func_start sub_020453A0 +sub_020453A0: ; 0x020453A0 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + ldr r1, _020453EC ; =0x020F4528 + lsl r2, r4, #0x2 + ldrh r1, [r1, r2] + strh r1, [r6, #0x0] + ldr r1, _020453F0 ; =0x020F452A + ldrh r1, [r1, r2] + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_020453EC: .word 0x020F4528 +_020453F0: .word 0x020F452A + + thumb_func_start sub_020453F4 +sub_020453F4: ; 0x020453F4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02024D64 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045424 +sub_02045424: ; 0x02045424 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + bl sub_02024D80 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02045438 +sub_02045438: ; 0x02045438 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034E20 + bl sub_02055474 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045468 +sub_02045468: ; 0x02045468 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034E20 + mov r1, #0x1 + bl sub_02055488 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02045484 +sub_02045484: ; 0x02045484 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r6, r0, #0x0 + cmp r4, #0x8 + blo _020454B6 + bl sub_02020C2C +_020454B6: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + add r1, r4, #0x0 + bl sub_020239D0 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020454CC +sub_020454CC: ; 0x020454CC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + cmp r4, #0x8 + blo _020454EA + bl sub_02020C2C +_020454EA: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + add r1, r4, #0x0 + bl sub_020239E4 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045500 +sub_02045500: ; 0x02045500 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ECE0 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204552C +sub_0204552C: ; 0x0204552C + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + mov r4, #0x0 + ldr r7, _02045578 ; =0x020F4574 + str r0, [sp, #0x0] + add r5, r4, #0x0 +_02045548: + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + ldrb r1, [r7, r4] + bl sub_020239D0 + cmp r0, #0x1 + bne _02045564 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02045564: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x8 + blo _02045548 + ldr r0, [sp, #0x0] + strh r5, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02045578: .word 0x020F4574 + + thumb_func_start sub_0204557C +sub_0204557C: ; 0x0204557C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ECD4 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02045590 +sub_02045590: ; 0x02045590 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020455BC +sub_020455BC: ; 0x020455BC + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED1C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020455D0 +sub_020455D0: ; 0x020455D0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020455E4 +sub_020455E4: ; 0x020455E4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED6C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045610 +sub_02045610: ; 0x02045610 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED4C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02045624 +sub_02045624: ; 0x02045624 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED5C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02045638 +sub_02045638: ; 0x02045638 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED0C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045664 +sub_02045664: ; 0x02045664 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ECFC + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02045678 +sub_02045678: ; 0x02045678 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r2, [r5, #0x8] + add r4, r0, #0x0 + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _020456A6 + cmp r1, #0x1 + beq _0204569E + cmp r1, #0x2 + beq _020456AE + b _020456CC +_0204569E: + mov r1, #0x1 + bl sub_0205F264 + b _020456D0 +_020456A6: + mov r1, #0x0 + bl sub_0205F264 + b _020456D0 +_020456AE: + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0205F264 + strh r0, [r5, #0x0] + b _020456D0 +_020456CC: + bl sub_02020C2C +_020456D0: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020456D4 +sub_020456D4: ; 0x020456D4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r2, [r5, #0x8] + add r4, r0, #0x0 + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _02045700 + cmp r1, #0x1 + beq _020456FA + cmp r1, #0x2 + beq _02045706 + b _02045722 +_020456FA: + bl sub_0205F274 + b _02045726 +_02045700: + bl sub_0205F284 + b _02045726 +_02045706: + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F294 + strh r0, [r5, #0x0] + b _02045726 +_02045722: + bl sub_02020C2C +_02045726: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204572C +sub_0204572C: ; 0x0204572C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r2, [r5, #0x8] + add r4, r0, #0x0 + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _02045758 + cmp r1, #0x1 + beq _02045752 + cmp r1, #0x2 + beq _0204575E + b _0204577A +_02045752: + bl sub_0205F2A4 + b _0204577E +_02045758: + bl sub_0205F2B4 + b _0204577E +_0204575E: + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F2C4 + strh r0, [r5, #0x0] + b _0204577E +_0204577A: + bl sub_02020C2C +_0204577E: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045784 +sub_02045784: ; 0x02045784 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x4 + bl sub_0206ED38 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020457DC +sub_020457DC: ; 0x020457DC + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x4 + bl sub_0206EDD4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02045834 +sub_02045834: ; 0x02045834 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x4 + bl sub_0206ED24 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0204588C +sub_0204588C: ; 0x0204588C + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0xb + bl sub_0206EE50 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020458E4 +sub_020458E4: ; 0x020458E4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02054CB0 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02045918 +sub_02045918: ; 0x02045918 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0xb + bl sub_0206E7B8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02045950 +sub_02045950: ; 0x02045950 + mov r0, #0x0 + bx lr + + thumb_func_start sub_02045954 +sub_02045954: ; 0x02045954 + mov r0, #0x0 + bx lr + + thumb_func_start sub_02045958 +sub_02045958: ; 0x02045958 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02026CC4 + add r1, r6, #0x0 + bl sub_02025D6C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020459AC +sub_020459AC: ; 0x020459AC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020459E8 +sub_020459E8: ; 0x020459E8 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02026CC4 + add r1, r6, #0x0 + bl sub_02025D94 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02045A3C +sub_02045A3C: ; 0x02045A3C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045A78 +sub_02045A78: ; 0x02045A78 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02026CC4 + add r1, r6, #0x0 + bl sub_02026298 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02045ACC +sub_02045ACC: ; 0x02045ACC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045B08 +sub_02045B08: ; 0x02045B08 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045B44 +sub_02045B44: ; 0x02045B44 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045B80 +sub_02045B80: ; 0x02045B80 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r5, #0x0 + bl sub_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_020394B8 + add r0, r4, #0x0 + bl sub_02026CC4 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02045BC8 +sub_02045BC8: ; 0x02045BC8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045C04 +sub_02045C04: ; 0x02045C04 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045C40 +sub_02045C40: ; 0x02045C40 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045C7C +sub_02045C7C: ; 0x02045C7C + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02026CC4 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020260C4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02045CD4 +sub_02045CD4: ; 0x02045CD4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045D10 +sub_02045D10: ; 0x02045D10 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045D4C +sub_02045D4C: ; 0x02045D4C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r0, r4, #0x0 + bl sub_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02045D88 +sub_02045D88: ; 0x02045D88 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r1, r5, #0x0 + add r1, #0x80 + lsl r2, r4, #0x18 + add r6, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + lsr r2, r2, #0x18 + bl sub_02037CF0 + str r0, [r6, #0x0] + ldr r1, _02045DCC ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + nop +_02045DCC: .word sub_0203BC04 + 1 + + thumb_func_start sub_02045DD0 +sub_02045DD0: ; 0x02045DD0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02045DFC + bl sub_02020C2C +_02045DFC: + ldr r0, [r4, #0x0] + bl sub_02037D5C + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] + cmp r0, #0x4 + bne _02045E0E + mov r0, #0xff + strh r0, [r5, #0x0] +_02045E0E: + ldr r0, [r4, #0x0] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045E1C +sub_02045E1C: ; 0x02045E1C + mov r0, #0x0 + bx lr + + thumb_func_start sub_02045E20 +sub_02045E20: ; 0x02045E20 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x20 + bl sub_02088DF8 + add r5, r0, #0x0 + bl sub_02088EF8 + strh r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02045E74 +sub_02045E74: ; 0x02045E74 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + add r7, r1, #0x0 + ldr r0, [r0, #0x0] + mov r1, #0x13 + str r2, [sp, #0x0] + add r6, r3, #0x0 + bl sub_02039438 + str r0, [sp, #0x4] + mov r0, #0x20 + bl sub_02088DD8 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + str r4, [r0, #0x0] + ldr r0, [sp, #0x0] + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020377AC + bl sub_020238F4 + str r0, [r4, #0x4] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + str r0, [r4, #0x8] + str r6, [r4, #0xc] + add r0, r5, #0x0 + strb r7, [r4, #0x15] + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + bl sub_02038864 + ldr r1, _02045EDC ; =sub_0203BC04 + add r0, r5, #0x0 + bl sub_02038B5C + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02045EDC: .word sub_0203BC04 + 1 + + thumb_func_start sub_02045EE0 +sub_02045EE0: ; 0x02045EE0 + mov r0, #0x1 + bx lr + + thumb_func_start sub_02045EE4 +sub_02045EE4: ; 0x02045EE4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + add r4, r0, #0x0 + mov r1, #0x20 + bl sub_02088DF8 + add r3, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_02045E74 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_02045F24 +sub_02045F24: ; 0x02045F24 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + add r1, r6, #0x0 + bl sub_0206B9B0 + add r6, r0, #0x0 + mov r0, #0x20 + mov r1, #0x4 + bl sub_02016998 + add r3, r0, #0x0 + ldr r0, _02045F80 ; =0x0000FFFF + strh r4, [r3, #0x0] + strh r0, [r3, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02045E74 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_02045F80: .word 0x0000FFFF + + thumb_func_start sub_02045F84 +sub_02045F84: ; 0x02045F84 + mov r0, #0x0 + bx lr + + thumb_func_start sub_02045F88 +sub_02045F88: ; 0x02045F88 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + ldr r4, [r0, #0x0] + cmp r4, #0x0 + bne _02045FB2 + bl sub_02020C2C +_02045FB2: + ldrb r0, [r4, #0x16] + cmp r0, #0x0 + bne _02045FBC + mov r0, #0x0 + b _02045FBE +_02045FBC: + mov r0, #0xff +_02045FBE: + strh r0, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02088DF0 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02045FCC +sub_02045FCC: ; 0x02045FCC + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl sub_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl sub_02039438 + ldr r4, [r0, #0x0] + cmp r4, #0x0 + bne _02045FF6 + bl sub_02020C2C +_02045FF6: + ldrb r0, [r4, #0x16] + cmp r0, #0x0 + bne _02046000 + mov r0, #0x0 + b _02046002 +_02046000: + mov r0, #0xff +_02046002: + strh r0, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02088DF0 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02046010 +sub_02046010: ; 0x02046010 + push {r3, lr} + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204601C +sub_0204601C: ; 0x0204601C + push {r3, lr} + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02046028 +sub_02046028: ; 0x02046028 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0204602C +sub_0204602C: ; 0x0204602C + mov r0, #0x0 + bx lr + + thumb_func_start sub_02046030 +sub_02046030: ; 0x02046030 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0xc + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + strb r0, [r2, #0x0] + strb r0, [r2, #0x1] + strb r0, [r2, #0x2] + strb r0, [r2, #0x3] + strb r0, [r2, #0x4] + strb r0, [r2, #0x5] + strb r0, [r2, #0x6] + strb r0, [r2, #0x7] + strb r0, [r2, #0x8] + strb r0, [r2, #0x9] + strb r0, [r2, #0xa] + strb r0, [r2, #0xb] + ldr r0, [r4, #0x10] + ldr r1, _02046064 ; =sub_02046068 + bl sub_0204640C + pop {r4, pc} + nop +_02046064: .word sub_02046068 + 1 + + thumb_func_start sub_02046068 +sub_02046068: ; 0x02046068 + push {r4-r6, lr} + sub sp, #0x38 + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + ldrb r1, [r4, #0x8] + cmp r1, #0xb + bls _0204608A + b _020461F8 +_0204608A: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r2, #0 + lsl r4, r7, #0 + lsl r2, r1, #0x1 + lsl r2, r6, #0x1 + lsl r0, r0, #0x2 + lsl r0, r7, #0x2 + lsl r0, r1, #0x3 + lsl r2, r6, #0x3 + lsl r0, r0, #0x4 + lsl r0, r5, #0x4 + lsl r6, r6, #0x4 + lsl r4, r1, #0x5 + ldr r0, [r5, #0x38] + bl sub_02055320 + strh r0, [r4, #0x4] + ldr r0, [r5, #0x38] + bl sub_0205532C + strh r0, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0206367C + add r0, r6, #0x0 + bl sub_0204AFC8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020460D4: + .byte 0x30, 0x1C, 0x04, 0xF0, 0x31, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72 + .byte 0x8A, 0xE0, 0x19, 0xF0, 0x6F, 0xF8, 0xAC, 0x20, 0x09, 0x90, 0xAD, 0x38, 0x0A, 0x90, 0x44, 0x48 + .byte 0x09, 0xA9, 0x0B, 0x90, 0x43, 0x48, 0x0C, 0x90, 0x01, 0x20, 0x0D, 0x90, 0x30, 0x1C, 0x03, 0xF0 + .byte 0x2F, 0xF8, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x76, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFF + .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x6F, 0xE0, 0xA8, 0x6B, 0x01, 0x21, 0x00, 0xF0, 0x7A, 0xF8 + .byte 0x28, 0x1C, 0x00, 0xF0, 0x7F, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20 + .byte 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x34, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x11, 0x22, 0x06, 0xF0 + .byte 0x39, 0xF8, 0x32, 0x48, 0xBF, 0xF7, 0xC0, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x53, 0xE0 + .byte 0x2F, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x4E, 0xD0, 0x48, 0x1C, 0x20, 0x72, 0x4B, 0xE0 + .byte 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90 + .byte 0x25, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x10, 0x22, 0x06, 0xF0, 0x1C, 0xF8, 0x23, 0x48, 0xBF, 0xF7 + .byte 0xA3, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x36, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0xD6, 0xFE + .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x2F, 0xE0, 0x19, 0xF0, 0x1C, 0xF8, 0xE2, 0x88, 0xA1, 0x88 + .byte 0xA4, 0x20, 0x04, 0x90, 0xA5, 0x38, 0x05, 0x90, 0x00, 0x20, 0x06, 0x91, 0x08, 0x90, 0x07, 0x92 + .byte 0x30, 0x1C, 0x04, 0xA9, 0x02, 0xF0, 0xD4, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x1B, 0xE0 + .byte 0x30, 0x1C, 0x04, 0xF0, 0xDF, 0xFE, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x14, 0xE0, 0xA8, 0x6B + .byte 0x00, 0x21, 0x00, 0xF0, 0x1F, 0xF8, 0x30, 0x1C, 0x04, 0xF0, 0x18, 0xFF, 0x20, 0x7A, 0x40, 0x1C + .byte 0x20, 0x72, 0x09, 0xE0, 0x20, 0x1C, 0xD0, 0xF7, 0x17, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x1D, 0xF0 + .byte 0x45, 0xFA, 0x0E, 0xB0, 0x01, 0x20, 0x70, 0xBD +_020461F8: + mov r0, #0x0 + add sp, #0x38 + pop {r4-r6, pc} + nop +_02046200: + .byte 0x4F, 0x03, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x79, 0x06, 0x00, 0x00 + .byte 0xB8, 0x48, 0x1C, 0x02 + + thumb_func_start sub_02046214 +sub_02046214: ; 0x02046214 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_0205889C + pop {r4, pc} + + thumb_func_start sub_02046224 +sub_02046224: ; 0x02046224 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, _02046278 ; =0x000008C1 + ldr r1, [r4, #0x20] + bl sub_0201EEF0 + ldr r0, _0204627C ; =0x000F81B8 + ldr r1, [r4, #0x20] + bl sub_0201EFE0 + ldr r0, _02046280 ; =0x0350523D + str r0, [sp, #0x8] + ldr r0, _02046284 ; =0x0015EDB7 + str r0, [sp, #0xc] + ldr r0, _02046288 ; =0x023DA40E + str r0, [sp, #0x10] + ldr r1, [r4, #0x20] + add r0, sp, #0x8 + bl sub_0201F04C + ldr r1, _0204628C ; =0x00000823 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + mov r1, #0x52 + lsl r1, r1, #0x4 + strh r1, [r0, #0x2] + mov r1, #0x0 + strh r1, [r0, #0x4] + ldr r1, [r4, #0x20] + add r0, sp, #0x0 + bl sub_0201EF90 + mov r0, #0x3 + ldr r1, _02046290 ; =0x0061C000 + ldr r2, [r4, #0x20] + lsl r0, r0, #0xe + bl sub_0201EC94 + add sp, #0x14 + pop {r3-r4, pc} + nop +_02046278: .word 0x000008C1 +_0204627C: .word 0x000F81B8 +_02046280: .word 0x0350523D +_02046284: .word 0x0015EDB7 +_02046288: .word 0x023DA40E +_0204628C: .word 0x00000823 +_02046290: .word 0x0061C000 + + thumb_func_start sub_02046294 +sub_02046294: ; 0x02046294 + mov r0, #0xeb + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_0204629C +sub_0204629C: ; 0x0204629C + ldr r3, _020462A8 ; =sub_020DF4A4 + mov r2, #0xeb + mov r1, #0x0 + lsl r2, r2, #0x2 + bx r3 + nop +_020462A8: .word sub_020DF4A4 + + thumb_func_start sub_020462AC +sub_020462AC: ; 0x020462AC + ldr r3, _020462B4 ; =sub_02022610 + mov r1, #0x4 + bx r3 + nop +_020462B4: .word sub_02022610 + 1 + + thumb_func_start sub_020462B8 +sub_020462B8: ; 0x020462B8 + push {r3-r5, lr} + add r4, r1, #0x0 + bl sub_02046338 + cmp r0, #0x0 + beq _020462DE + lsr r3, r4, #0x1f + lsl r2, r4, #0x1d + ldrb r5, [r0, #0x0] + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 + mov r0, #0x1 + add r1, r3, r2 + add r2, r0, #0x0 + lsl r2, r1 + add r1, r5, #0x0 + tst r1, r2 + bne _020462E0 +_020462DE: + mov r0, #0x0 +_020462E0: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020462E4 +sub_020462E4: ; 0x020462E4 + push {r4-r6, lr} + add r4, r1, #0x0 + bl sub_02046338 + cmp r0, #0x0 + beq _02046308 + lsr r5, r4, #0x1f + lsl r3, r4, #0x1d + sub r3, r3, r5 + mov r2, #0x1d + ror r3, r2 + mov r6, #0x1 + add r2, r5, r3 + add r3, r6, #0x0 + ldrb r1, [r0, #0x0] + lsl r3, r2 + orr r1, r3 + strb r1, [r0, #0x0] +_02046308: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204630C +sub_0204630C: ; 0x0204630C + push {r4-r6, lr} + add r4, r1, #0x0 + bl sub_02046338 + cmp r0, #0x0 + beq _02046334 + lsr r5, r4, #0x1f + lsl r3, r4, #0x1d + sub r3, r3, r5 + mov r2, #0x1d + ror r3, r2 + mov r6, #0x1 + add r2, r5, r3 + add r3, r6, #0x0 + lsl r3, r2 + mov r2, #0xff + ldrb r1, [r0, #0x0] + eor r2, r3 + and r1, r2 + strb r1, [r0, #0x0] +_02046334: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02046338 +sub_02046338: ; 0x02046338 + push {r3-r5, lr} + add r5, r0, #0x0 + cmp r1, #0x0 + bne _02046344 + mov r0, #0x0 + pop {r3-r5, pc} +_02046344: + mov r0, #0x1 + lsl r0, r0, #0xe + cmp r1, r0 + bhs _02046364 + mov r0, #0x5b + lsr r4, r1, #0x3 + lsl r0, r0, #0x2 + cmp r4, r0 + blt _0204635A + bl sub_02020C2C +_0204635A: + mov r0, #0x9 + lsl r0, r0, #0x6 + add r0, r5, r0 + add r0, r0, r4 + pop {r3-r5, pc} +_02046364: + sub r1, r1, r0 + asr r0, r1, #0x2 + lsr r0, r0, #0x1d + add r0, r1, r0 + asr r4, r0, #0x3 + cmp r4, #0x8 + blt _02046376 + bl sub_02020C2C +_02046376: + ldr r0, _0204637C ; =0x021C5A14 + add r0, r0, r4 + pop {r3-r5, pc} + .balign 4 +_0204637C: .word 0x021C5A14 + + thumb_func_start sub_02046380 +sub_02046380: ; 0x02046380 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x1 + lsl r0, r0, #0xe + sub r4, r1, r0 + mov r0, #0x12 + lsl r0, r0, #0x4 + cmp r4, r0 + blt _02046396 + bl sub_02020C2C +_02046396: + lsl r0, r4, #0x1 + add r0, r5, r0 + pop {r3-r5, pc} + + thumb_func_start sub_0204639C +sub_0204639C: ; 0x0204639C + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x20 + add r6, r1, #0x0 + add r1, r0, #0x0 + add r7, r2, #0x0 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + str r6, [r4, #0x4] + str r0, [r4, #0x8] + str r7, [r4, #0xc] + str r0, [r4, #0x10] + str r0, [r4, #0x14] + mov r0, #0x20 + mov r1, #0x4 + str r5, [r4, #0x18] + bl sub_020169D8 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020463CC +sub_020463CC: ; 0x020463CC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r0, #0x0 + beq _020463DE + bl sub_02020C2C +_020463DE: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0204639C + str r0, [r5, #0x10] + pop {r4-r6, pc} + + thumb_func_start sub_020463EC +sub_020463EC: ; 0x020463EC + push {r4, lr} + add r4, r0, #0x0 + str r1, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + str r2, [r4, #0xc] + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _02046400 + beq _0204640A +_02046400: + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x10] + str r0, [r4, #0x14] +_0204640A: + pop {r4, pc} + + thumb_func_start sub_0204640C +sub_0204640C: ; 0x0204640C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + bl sub_0204639C + str r4, [r0, #0x0] + ldr r1, [r4, #0x18] + str r0, [r1, #0x10] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02046420 +sub_02046420: ; 0x02046420 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + cmp r0, #0x0 + bne _0204642E + mov r0, #0x0 + pop {r3-r5, pc} +_0204642E: + ldr r1, [r0, #0x4] + blx r1 + cmp r0, #0x1 + bne _02046466 +_02046436: + ldr r0, [r5, #0x10] + ldr r4, [r0, #0x0] + ldr r0, [r0, #0x14] + cmp r0, #0x0 + beq _02046444 + bl sub_02016A18 +_02046444: + ldr r0, [r5, #0x10] + ldr r0, [r0, #0x1c] + bl sub_02016A18 + ldr r0, [r5, #0x10] + bl sub_02016A18 + str r4, [r5, #0x10] + cmp r4, #0x0 + bne _0204645C + mov r0, #0x1 + pop {r3-r5, pc} +_0204645C: + ldr r0, [r5, #0x10] + ldr r1, [r0, #0x4] + blx r1 + cmp r0, #0x1 + beq _02046436 +_02046466: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204646C +sub_0204646C: ; 0x0204646C + ldr r0, [r0, #0x10] + cmp r0, #0x0 + beq _02046476 + mov r0, #0x1 + bx lr +_02046476: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0204647C +sub_0204647C: ; 0x0204647C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0203739C + cmp r0, #0x0 + bne _02046492 + add r0, r4, #0x0 + bl sub_020373C4 + cmp r0, #0x0 + beq _02046496 +_02046492: + mov r0, #0x1 + pop {r4, pc} +_02046496: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204649C +sub_0204649C: ; 0x0204649C + ldr r3, _020464A0 ; =sub_02037350 + bx r3 + .balign 4 +_020464A0: .word sub_02037350 + 1 + + thumb_func_start sub_020464A4 +sub_020464A4: ; 0x020464A4 + push {r3, lr} + bl sub_020373AC + cmp r0, #0x0 + beq _020464B2 + mov r0, #0x1 + pop {r3, pc} +_020464B2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020464B8 +sub_020464B8: ; 0x020464B8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020464D6 + cmp r0, #0x1 + beq _020464E8 + b _020464FC +_020464D6: + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + add r0, r5, #0x0 + bl sub_020373D4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020464FC +_020464E8: + add r0, r5, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _020464FC + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_020464FC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02046500 +sub_02046500: ; 0x02046500 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x20 + mov r1, #0xc + add r4, r2, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r5, [r2, #0x4] + ldr r1, _02046524 ; =sub_020464B8 + add r0, r6, #0x0 + str r4, [r2, #0x8] + bl sub_0204640C + pop {r4-r6, pc} + .balign 4 +_02046524: .word sub_020464B8 + 1 + + thumb_func_start sub_02046528 +sub_02046528: ; 0x02046528 + ldr r0, [r0, #0x18] + bx lr + + thumb_func_start sub_0204652C +sub_0204652C: ; 0x0204652C + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02046530 +sub_02046530: ; 0x02046530 + add r0, #0x8 + bx lr + + thumb_func_start sub_02046534 +sub_02046534: ; 0x02046534 + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0204653C +sub_0204653C: ; 0x0204653C + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02046562 + cmp r0, #0x1 + beq _02046572 + b _02046580 +_02046562: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0203780C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046580 +_02046572: + add r0, r5, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _02046580 + mov r0, #0x1 + pop {r4-r6, pc} +_02046580: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02046584 +sub_02046584: ; 0x02046584 + ldr r3, _0204658C ; =sub_0204640C + add r2, r1, #0x0 + ldr r1, _02046590 ; =sub_0204653C + bx r3 + .balign 4 +_0204658C: .word sub_0204640C + 1 +_02046590: .word sub_0204653C + 1 + + thumb_func_start sub_02046594 +sub_02046594: ; 0x02046594 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x14 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_020169D8 + str r4, [r0, #0x0] + cmp r4, #0x0 + beq _020465B0 + mov r1, #0x0 + str r1, [r4, #0x0] +_020465B0: + str r6, [r0, #0x4] + str r7, [r0, #0x8] + str r5, [r0, #0x10] + pop {r3-r7, pc} + + thumb_func_start sub_020465B8 +sub_020465B8: ; 0x020465B8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + bl sub_02047964 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020465CC +sub_020465CC: ; 0x020465CC + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _020465D8 + ldr r1, [r0, #0x10] + ldr r1, [r1, #0x14] + str r1, [r2, #0x0] +_020465D8: + ldr r0, [r0, #0x10] + ldr r3, _020465E0 ; =sub_020480B8 + ldr r0, [r0, #0x14] + bx r3 + .balign 4 +_020465E0: .word sub_020480B8 + 1 + + thumb_func_start sub_020465E4 +sub_020465E4: ; 0x020465E4 + push {r3, lr} + mov r2, #0x2 + ldr r3, [r0, #0x0] + lsl r2, r2, #0x1e + tst r2, r3 + bne _020465F4 + bl sub_02047F38 +_020465F4: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020465F8 +sub_020465F8: ; 0x020465F8 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _020466F8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r4, #0 + lsl r0, r6, #0 + lsl r0, r0, #0x1 + lsl r4, r6, #0x2 + lsl r0, r1, #0x3 + ldr r0, [r6, #0x34] + bl sub_02058780 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020466F8 +_02046648: + .byte 0x38, 0x1C, 0x04, 0xF0, 0x77, 0xFC, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x50, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x93, 0xFF, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0xBB, 0xFF, 0x2A, 0x69 + .byte 0x11, 0x68, 0x00, 0x29, 0x05, 0xD0, 0x01, 0x20, 0x00, 0x02, 0x81, 0x42, 0x01, 0xD0, 0x4A, 0x29 + .byte 0x06, 0xD1, 0x4D, 0x21, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69, 0x30, 0x1C, 0x1A, 0xF0, 0xF8, 0xFC + .byte 0x28, 0x1C, 0xFF, 0xF7, 0x9B, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFF + .byte 0x01, 0x20, 0xF8, 0xBD, 0xF0, 0x68, 0xFF, 0xF7, 0x01, 0xFE, 0x18, 0xF0, 0x47, 0xFB, 0x00, 0x28 + .byte 0x04, 0xD0, 0xF0, 0x68, 0x25, 0xF0, 0x32, 0xFA, 0x3E, 0xF0, 0x42, 0xFD, 0x29, 0x69, 0x30, 0x1C + .byte 0x00, 0xF0, 0x18, 0xFE, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x80, 0xFE, 0x38, 0x1C, 0x04, 0xF0 + .byte 0x59, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x70, 0x6B, 0x12, 0xF0, 0x68, 0xF8 + .byte 0x38, 0x1C, 0x04, 0xF0, 0x93, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C + .byte 0xFF, 0xF7, 0x62, 0xFF, 0x01, 0x20, 0xF8, 0xBD +_020466F8: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020466FC +sub_020466FC: ; 0x020466FC + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x8] + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _02046718 ; =sub_020465F8 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_02046718: .word sub_020465F8 + 1 + + thumb_func_start sub_0204671C +sub_0204671C: ; 0x0204671C + push {r3, lr} + mov r2, #0xf + and r0, r2 + cmp r0, #0x6 + bhi _02046754 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r4, #0 + lsl r4, r1, #0 + lsl r6, r2, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r6, r2, #0 + lsl r4, r1, #0 + ldr r0, [r1, #0xc] + mov r1, #0x1 + bl sub_0202E25C + pop {r3, pc} +_0204674A: + .byte 0xC8, 0x68, 0x10, 0x3A, 0x11, 0x1C + .byte 0xE7, 0xF7, 0x84, 0xFD +_02046754: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02046758 +sub_02046758: ; 0x02046758 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _020467F6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r4, r3, #0 + lsl r2, r5, #0 + lsl r2, r7, #0 + lsl r6, r4, #0x1 + lsl r6, r4, #0x1 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r6, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020467F6 +_020467A2: + .byte 0x30, 0x1C, 0x04, 0xF0, 0xCA, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0 + .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0xE6, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0 + .byte 0x28, 0x69, 0x39, 0x1C, 0x40, 0x69, 0xFF, 0xF7, 0xA9, 0xFF, 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0 + .byte 0xE9, 0xFB, 0xF8, 0x68, 0xE3, 0xF7, 0xF8, 0xFB, 0x15, 0x21, 0xE3, 0xF7, 0xC9, 0xFC, 0x30, 0x1C + .byte 0x04, 0xF0, 0xD0, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7 + .byte 0xE3, 0xFE, 0x01, 0x20, 0xF8, 0xBD +_020467F6: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020467FC +sub_020467FC: ; 0x020467FC + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02046826 + cmp r0, #0x1 + beq _02046844 + cmp r0, #0x2 + beq _0204686A + b _02046874 +_02046826: + ldr r1, [r5, #0x8] + mov r0, #0x5 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x1 + bl sub_0200433C + ldr r1, [r5, #0x10] + add r0, r7, #0x0 + bl sub_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046874 +_02046844: + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + ldr r0, [r0, #0x14] + bl sub_0204671C + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + bl sub_02047FA4 + ldr r0, [r6, #0xc] + bl sub_02029FC8 + mov r1, #0x15 + bl sub_0202A170 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046874 +_0204686A: + add r0, r5, #0x0 + bl sub_020465B8 + mov r0, #0x1 + pop {r3-r7, pc} +_02046874: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02046878 +sub_02046878: ; 0x02046878 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _02046922 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r4, r3, #0 + lsl r2, r5, #0 + lsl r2, r7, #0 + lsl r4, r4, #0x1 + lsl r2, r6, #0x1 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r6, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046922 +_020468C2: + .byte 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0 + .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0x56, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x20, 0xE0 + .byte 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0, 0x5E, 0xFB, 0x4E, 0x21, 0x2A, 0x69, 0x89, 0x00, 0x38, 0x1C + .byte 0x51, 0x18, 0x19, 0xF0, 0xA7, 0xFB, 0x28, 0x1C, 0xFF, 0xF7, 0x68, 0xFE, 0x30, 0x1C, 0x04, 0xF0 + .byte 0x41, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x7E, 0xFB + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x20 + .byte 0xF8, 0xBD +_02046922: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02046928 +sub_02046928: ; 0x02046928 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x8] + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _02046944 ; =sub_02046878 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_02046944: .word sub_02046878 + 1 + + thumb_func_start sub_02046948 +sub_02046948: ; 0x02046948 + push {r3-r7, lr} + add r4, r1, #0x0 + add r7, r0, #0x0 + add r5, r2, #0x0 + bl sub_02046528 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02244558 + add r4, r0, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + str r5, [sp, #0x0] + bl sub_02046928 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204697C +sub_0204697C: ; 0x0204697C + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x14 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_020169D8 + str r4, [r0, #0xc] + cmp r4, #0x0 + beq _02046998 + mov r1, #0x0 + str r1, [r4, #0x0] +_02046998: + str r6, [r0, #0x4] + str r7, [r0, #0x8] + str r5, [r0, #0x10] + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020469A4 +sub_020469A4: ; 0x020469A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + bl sub_02047964 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020469B8 +sub_020469B8: ; 0x020469B8 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x0 + beq _020469F2 + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _02046A18 ; =sub_02046C1C + add r0, r5, #0x0 + bl sub_020463CC + pop {r4-r6, pc} +_020469F2: + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0204697C + add r2, r0, #0x0 + ldr r1, _02046A1C ; =sub_02046A88 + add r0, r5, #0x0 + bl sub_020463CC + pop {r4-r6, pc} + .balign 4 +_02046A18: .word sub_02046C1C + 1 +_02046A1C: .word sub_02046A88 + 1 + + thumb_func_start sub_02046A20 +sub_02046A20: ; 0x02046A20 + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x0 + beq _02046A5A + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _02046A80 ; =sub_02046C1C + add r0, r5, #0x0 + bl sub_020463EC + pop {r4-r6, pc} +_02046A5A: + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_0204697C + add r2, r0, #0x0 + ldr r1, _02046A84 ; =sub_02046A88 + add r0, r5, #0x0 + bl sub_020463EC + pop {r4-r6, pc} + .balign 4 +_02046A80: .word sub_02046C1C + 1 +_02046A84: .word sub_02046A88 + 1 + + thumb_func_start sub_02046A88 +sub_02046A88: ; 0x02046A88 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bls _02046AA2 + b _02046C12 +_02046AA2: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r0, r6, #0 + lsl r6, r7, #0 + lsl r6, r1, #0x1 + lsl r6, r7, #0x3 + lsl r4, r2, #0x4 + lsl r4, r0, #0x5 + ldr r0, [r5, #0x34] + bl sub_02058780 + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + add r0, r6, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046AE0: + .byte 0x30, 0x1C, 0x04, 0xF0, 0x2B, 0xFA, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x91, 0xE0, 0x21, 0x69 + .byte 0x30, 0x1C, 0xFF, 0xF7, 0x47, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x89, 0xE0, 0x20, 0x69 + .byte 0x29, 0x1C, 0xFF, 0xF7, 0x6F, 0xFD, 0x4D, 0x21, 0x22, 0x69, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69 + .byte 0x28, 0x1C, 0x1A, 0xF0, 0xB5, 0xFA, 0x20, 0x69, 0x40, 0x69, 0x01, 0xF0, 0xCD, 0xFA, 0x00, 0x28 + .byte 0x0D, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x3E, 0xFF, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0x08, 0xF9 + .byte 0x39, 0x49, 0x30, 0x1C, 0x00, 0x22, 0xFF, 0xF7, 0x59, 0xFC, 0x00, 0x20, 0x70, 0xBD, 0xE8, 0x68 + .byte 0xFF, 0xF7, 0xB4, 0xFB, 0x18, 0xF0, 0xFA, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0x24, 0xF0 + .byte 0xE5, 0xFF, 0x3E, 0xF0, 0xF5, 0xFA, 0x21, 0x69, 0x28, 0x1C, 0x00, 0xF0, 0xCB, 0xFB, 0x21, 0x69 + .byte 0x28, 0x1C, 0x00, 0xF0, 0x33, 0xFC, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xDC, 0xFA + .byte 0x00, 0x28, 0x15, 0xD0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0x93, 0xFA, 0x00, 0x28 + .byte 0x0A, 0xD0, 0x20, 0x69, 0x40, 0x69, 0x01, 0x28, 0x0A, 0xD0, 0x04, 0x28, 0x08, 0xD0, 0x90, 0x35 + .byte 0x28, 0x68, 0x17, 0xF0, 0xD5, 0xF8, 0x03, 0xE0, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0xD0, 0xF8 + .byte 0x30, 0x1C, 0x04, 0xF0, 0xEF, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x21, 0x69 + .byte 0x28, 0x1C, 0x01, 0xF2, 0xB7, 0xFD, 0x30, 0x1C, 0x04, 0xF0, 0x28, 0xFA, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x26, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xAD, 0xFA, 0x00, 0x28 + .byte 0x0C, 0xD0, 0x21, 0x69, 0x2A, 0x1C, 0x90, 0x32, 0x49, 0x69, 0x12, 0x68, 0x28, 0x1C, 0x17, 0xF0 + .byte 0x79, 0xF9, 0x28, 0x1C, 0x90, 0x35, 0x29, 0x68, 0x17, 0xF0, 0xAC, 0xF9, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xCF, 0xF9, 0x00, 0x28 + .byte 0x07, 0xD0, 0x68, 0x6B, 0x11, 0xF0, 0xD4, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xCB, 0xFE, 0x01, 0x20 + .byte 0x70, 0xBD +_02046C12: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02046C18: + .byte 0x7D, 0x83, 0x04, 0x02 + + thumb_func_start sub_02046C1C +sub_02046C1C: ; 0x02046C1C + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_02034E30 + bl sub_02034E24 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + cmp r0, #0x7 + bls _02046C4C + b _02046DA0 +_02046C4C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r2, r6, #0 + lsl r0, r0, #0x1 + lsl r0, r2, #0x1 + lsl r4, r6, #0x2 + lsl r2, r0, #0x3 + lsl r6, r2, #0x3 + lsl r2, r7, #0x4 + ldr r0, [r6, #0x34] + bl sub_02058780 + ldr r0, [r6, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046C8C: + .byte 0x38, 0x1C, 0x04, 0xF0 + .byte 0x55, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x82, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7 + .byte 0x71, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x7A, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7 + .byte 0x99, 0xFC, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x0C, 0xD1, 0xF0, 0x68, 0xDB, 0xF7, 0x22, 0xFC + .byte 0x01, 0x90, 0x28, 0x69, 0x00, 0x21, 0x80, 0x68, 0x24, 0xF0, 0x72, 0xFE, 0x01, 0x1C, 0x01, 0x98 + .byte 0x1A, 0xF0, 0x86, 0xF9, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x0C, 0xFB, 0x00, 0x98, 0x00, 0x88 + .byte 0x00, 0x28, 0x0C, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x08, 0xD0, 0xF0, 0x68, 0xEE, 0xF7 + .byte 0x9F, 0xF8, 0xEE, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x38, 0x1C, 0x02, 0xF0, 0x31, 0xFA, 0x29, 0x69 + .byte 0x30, 0x1C, 0x00, 0xF0, 0x63, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x38, 0x1C + .byte 0x04, 0xF0, 0x38, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x41, 0xE0, 0x70, 0x6B, 0x11, 0xF0 + .byte 0x47, 0xFD, 0x38, 0x1C, 0x04, 0xF0, 0x72, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0 + .byte 0x00, 0x98, 0x00, 0x88, 0x00, 0x28, 0x11, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x06, 0xD1 + .byte 0x00, 0x22, 0x19, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xC6, 0xFF, 0x1E, 0xE0, 0x00, 0x22 + .byte 0x16, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xBF, 0xFF, 0x17, 0xE0, 0xF0, 0x68, 0xDB, 0xF7 + .byte 0xD7, 0xFB, 0x02, 0x90, 0xF0, 0x68, 0x24, 0xF0, 0xD9, 0xFE, 0x05, 0x1C, 0x02, 0x98, 0x24, 0xF0 + .byte 0xE1, 0xFA, 0x12, 0x28, 0x0A, 0xD1, 0x28, 0x1C, 0x24, 0xF0, 0x18, 0xFE, 0x06, 0x28, 0x05, 0xD1 + .byte 0x00, 0x22, 0x0B, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xA6, 0xFF, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x05, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x0F, 0xFC, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD +_02046DA0: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02046DA8: + .byte 0x62, 0x22, 0x00, 0x00, 0x69, 0x22, 0x00, 0x00 + .byte 0x76, 0x22, 0x00, 0x00 + + thumb_func_start sub_02046DB4 +sub_02046DB4: ; 0x02046DB4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD40 + mov r0, #0xb + mov r1, #0x0 + bl sub_020476CC + add r1, r5, #0x0 + add r4, r0, #0x0 + bl sub_02047BB0 + mov r0, #0x15 + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r4, r0] + add r0, r0, #0x4 + str r1, [r4, r0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0223CCDC + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + str r6, [sp, #0x0] + bl sub_020466FC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02046E18 +sub_02046E18: ; 0x02046E18 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x4] + add r7, r1, #0x0 + str r2, [sp, #0x8] + add r6, r3, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD40 + mov r0, #0xb + mov r1, #0x0 + bl sub_020476CC + add r1, r5, #0x0 + add r4, r0, #0x0 + bl sub_02047BB0 + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + add r1, r7, #0x0 + add r3, r4, #0x0 + bl sub_0223CD7C + ldr r0, [sp, #0x20] + cmp r0, #0x0 + beq _02046E60 + mov r1, #0x63 + lsl r1, r1, #0x2 + ldr r2, [r4, r1] + mov r0, #0x8 + orr r0, r2 + str r0, [r4, r1] +_02046E60: + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r3, r0, #0x0 + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + add r2, r5, #0x0 + str r6, [sp, #0x0] + bl sub_020466FC + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02046E8C +sub_02046E8C: ; 0x02046E8C + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02046F6C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r0, r6, #0 + lsl r6, r7, #0 + lsl r6, r1, #0x1 + lsl r6, r5, #0x1 + lsl r4, r7, #0x1 + lsl r0, r2, #0x2 + ldr r0, [r6, #0x34] + bl sub_02058780 + ldr r0, [r6, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046EEA: + .byte 0x38, 0x1C, 0x04, 0xF0, 0x26, 0xF8 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x42, 0xFB + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0x6A, 0xFB + .byte 0x29, 0x69, 0x30, 0x1C, 0x04, 0xF0, 0xC4, 0xFD, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0xEA, 0xF9 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0x38, 0x1C, 0x04, 0xF0, 0x2B, 0xF8, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0, 0x70, 0x6B, 0x11, 0xF0, 0x3A, 0xFC, 0x38, 0x1C, 0x04, 0xF0 + .byte 0x65, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x34, 0xFB + .byte 0x30, 0x1C, 0x04, 0xF0, 0xAD, 0xFD, 0x00, 0x28, 0x06, 0xD1, 0x38, 0x1C, 0x03, 0x21, 0x00, 0x22 + .byte 0xF1, 0xF7, 0xD6, 0xFE, 0x00, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD +_02046F6C: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02046F70 +sub_02046F70: ; 0x02046F70 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _02046F9C ; =sub_02046E8C + add r0, r5, #0x0 + bl sub_020463CC + pop {r4-r6, pc} + .balign 4 +_02046F9C: .word sub_02046E8C + 1 + + thumb_func_start sub_02046FA0 +sub_02046FA0: ; 0x02046FA0 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x4] + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x0 + bl sub_020476CC + add r4, r0, #0x0 + add r1, r5, #0x0 + bl sub_02047BB0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + add r3, r4, #0x0 + bl sub_0223CD7C + mov r0, #0x63 + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r4, r0] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x7 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r3, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_020466FC + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02047004 +sub_02047004: ; 0x02047004 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _020470A6 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r4, r4, #0 + lsl r2, r6, #0 + lsl r2, r0, #0x1 + lsl r0, r1, #0x1 + lsl r6, r2, #0x1 + lsl r2, r5, #0x1 + ldr r0, [r7, #0x34] + bl sub_02058780 + ldr r1, [r6, #0x4] + ldr r2, [r6, #0x8] + add r0, r5, #0x0 + bl sub_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_02047056: + .byte 0x28, 0x1C, 0x03, 0xF0, 0x70, 0xFF, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x20, 0xE0, 0x31, 0x69, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFA, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x18, 0xE0, 0x40, 0x1C, 0x20, 0x60, 0x15, 0xE0, 0x28, 0x1C, 0x03, 0xF0, 0x82, 0xFF + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x78, 0x6B, 0x11, 0xF0, 0x91, 0xFB, 0x28, 0x1C + .byte 0x03, 0xF0, 0xBC, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xFF, 0xF7 + .byte 0x8B, 0xFA, 0x01, 0x20, 0xF8, 0xBD +_020470A6: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020470AC +sub_020470AC: ; 0x020470AC + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r1, r0, #0x0 + mov r0, #0xb + bl sub_02047814 + add r4, r0, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _020470E4 ; =sub_02047004 + add r0, r5, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + nop +_020470E4: .word sub_02047004 + 1 + + thumb_func_start sub_020470E8 +sub_020470E8: ; 0x020470E8 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x4] + add r6, r1, #0x0 + add r5, r2, #0x0 + str r3, [sp, #0x8] + bl sub_02046528 + add r7, r0, #0x0 + cmp r5, #0x0 + beq _02047110 + cmp r6, r5 + beq _02047110 + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bne _0204710C + mov r4, #0x13 + b _0204711A +_0204710C: + mov r4, #0x4b + b _0204711A +_02047110: + cmp r6, r5 + bne _02047118 + mov r4, #0x3 + b _0204711A +_02047118: + mov r4, #0x1 +_0204711A: + add r0, r7, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205DD40 + mov r0, #0xb + add r1, r4, #0x0 + bl sub_020476CC + add r4, r0, #0x0 + add r1, r7, #0x0 + bl sub_02047BB0 + str r6, [r4, #0x1c] + ldr r0, [sp, #0x8] + str r5, [r4, #0x24] + str r0, [r4, #0x20] + ldr r1, [r7, #0xc] + ldr r2, [sp, #0x20] + add r0, r4, #0x0 + bl sub_0206ABC4 + ldr r0, [r7, #0xc] + bl sub_02029FC8 + mov r1, #0x8 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r3, r0, #0x0 + ldr r0, [sp, #0x24] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r2, r5, #0x0 + bl sub_020466FC + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02047174 +sub_02047174: ; 0x02047174 + push {r3-r7, lr} + add r5, r2, #0x0 + add r7, r0, #0x0 + add r4, r1, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + mov r0, #0xb + add r1, r5, #0x0 + bl sub_020476CC + add r5, r0, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02047F1C + add r0, r5, #0x0 + bl sub_020475A0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _020471BC ; =sub_02046758 + add r0, r7, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + nop +_020471BC: .word sub_02046758 + 1 + + thumb_func_start sub_020471C0 +sub_020471C0: ; 0x020471C0 + push {r3-r7, lr} + str r0, [sp, #0x0] + add r5, r1, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + cmp r4, #0x0 + beq _020471DE + mov r0, #0xb + mov r1, #0x5 + bl sub_020476CC + b _020471E6 +_020471DE: + mov r0, #0xb + mov r1, #0x7 + bl sub_020476CC +_020471E6: + add r4, r0, #0x0 + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02047BC0 + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r1, _0204721C ; =sub_020467FC + str r5, [r2, #0xc] + bl sub_0204640C + pop {r3-r7, pc} + nop +_0204721C: .word sub_020467FC + 1 + + thumb_func_start sub_02047220 +sub_02047220: ; 0x02047220 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02047246 + cmp r0, #0x1 + beq _02047258 + b _02047262 +_02047246: + ldr r1, _02047268 ; =sub_02046758 + add r0, r5, #0x0 + add r2, r7, #0x0 + bl sub_0204640C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02047262 +_02047258: + add r0, r6, #0x0 + bl sub_0204FF5C + mov r0, #0x1 + pop {r3-r7, pc} +_02047262: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02047268: .word sub_02046758 + 1 + + thumb_func_start sub_0204726C +sub_0204726C: ; 0x0204726C + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + add r1, r2, #0x0 + bl sub_020476CC + add r4, r0, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_02047F1C + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _020472AC ; =sub_02047220 + add r0, r5, #0x0 + bl sub_020463CC + pop {r4-r6, pc} + nop +_020472AC: .word sub_02047220 + 1 + + thumb_func_start sub_020472B0 +sub_020472B0: ; 0x020472B0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + add r1, r2, #0x0 + bl sub_020476CC + add r4, r0, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + bl sub_02047D48 + add r0, r4, #0x0 + bl sub_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl sub_02046594 + add r2, r0, #0x0 + ldr r1, _020472F0 ; =sub_02047220 + add r0, r5, #0x0 + bl sub_020463CC + pop {r4-r6, pc} + .balign 4 +_020472F0: .word sub_02047220 + 1 + + thumb_func_start sub_020472F4 +sub_020472F4: ; 0x020472F4 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r1, #0x0] + mov r3, #0x4 + ldr r2, [r1, #0x14] + tst r3, r0 + bne _020473C8 + mov r3, #0x80 + add r5, r0, #0x0 + tst r5, r3 + bne _020473C8 + cmp r0, #0x0 + beq _02047318 + add r3, #0x80 + cmp r0, r3 + beq _02047318 + cmp r0, #0x4a + bne _02047364 +_02047318: + cmp r2, #0x1 + bne _0204732A + ldr r0, [r4, #0xc] + bl sub_02029FC8 + mov r1, #0x8 + bl sub_0202A170 + pop {r3-r5, pc} +_0204732A: + cmp r2, #0x4 + bne _020473C8 + ldr r0, [r1, #0x8] + mov r1, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x0 + mov r0, #0x0 + bl sub_0206BB48 + cmp r0, #0x0 + ldr r0, [r4, #0xc] + beq _02047358 + bl sub_02029FC8 + mov r1, #0x9 + bl sub_0202A170 + pop {r3-r5, pc} +_02047358: + bl sub_02029FC8 + mov r1, #0xa + bl sub_0202A170 + pop {r3-r5, pc} +_02047364: + mov r3, #0x1 + tst r3, r0 + bne _02047370 + mov r3, #0x10 + tst r3, r0 + beq _02047382 +_02047370: + cmp r2, #0x1 + bne _020473C8 + ldr r0, [r4, #0xc] + bl sub_02029FC8 + mov r1, #0xb + bl sub_0202A170 + pop {r3-r5, pc} +_02047382: + mov r3, #0x20 + add r5, r0, #0x0 + tst r5, r3 + bne _02047390 + lsl r3, r3, #0x4 + tst r0, r3 + beq _020473C8 +_02047390: + cmp r2, #0x4 + bne _020473C8 + ldr r0, [r1, #0x8] + mov r1, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x0 + mov r0, #0x0 + bl sub_0206BB48 + cmp r0, #0x0 + ldr r0, [r4, #0xc] + beq _020473BE + bl sub_02029FC8 + mov r1, #0x9 + bl sub_0202A170 + pop {r3-r5, pc} +_020473BE: + bl sub_02029FC8 + mov r1, #0xa + bl sub_0202A170 +_020473C8: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020473CC +sub_020473CC: ; 0x020473CC + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x4 + ldr r1, [r4, #0x14] + tst r2, r0 + bne _020473EC + mov r3, #0x80 + add r2, r0, #0x0 + tst r2, r3 + bne _020473EC + lsl r2, r3, #0x2 + tst r2, r0 + beq _020473EE +_020473EC: + b _020474FC +_020473EE: + cmp r0, #0x0 + beq _02047400 + add r3, #0x80 + cmp r0, r3 + beq _02047400 + cmp r0, #0x4a + beq _02047400 + cmp r0, #0x20 + bne _020474D2 +_02047400: + cmp r1, #0x1 + bne _02047470 + add r0, r5, #0x0 + add r0, #0x76 + ldrh r0, [r0, #0x0] + add r1, r0, #0x1 + add r0, r5, #0x0 + add r0, #0x76 + strh r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x76 + ldrh r0, [r0, #0x0] + cmp r0, #0x5 + blo _020474FC + ldr r0, [r4, #0x8] + mov r1, #0x0 + bl sub_0206B9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02023918 + str r0, [sp, #0x4] + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r3, #0xb + str r3, [sp, #0x0] + lsl r3, r3, #0x5 + ldr r3, [r4, r3] + lsl r1, r7, #0x10 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x4] + lsr r1, r1, #0x10 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0202920C + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x2 + bl sub_02028AD4 + add sp, #0xc + pop {r4-r7, pc} +_02047470: + cmp r1, #0x4 + bne _020474FC + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x4] + bl sub_0206B9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02023918 + str r0, [sp, #0x8] + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r3, #0xb + str r3, [sp, #0x0] + lsl r3, r3, #0x5 + ldr r3, [r4, r3] + lsl r1, r7, #0x10 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x8] + lsr r1, r1, #0x10 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0202918C + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x2 + bl sub_02028AD4 + add sp, #0xc + pop {r4-r7, pc} +_020474D2: + mov r2, #0x1 + tst r2, r0 + bne _020474DE + mov r2, #0x10 + tst r0, r2 + beq _020474FC +_020474DE: + cmp r1, #0x1 + bne _020474FC + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + ldr r2, [r4, #0x1c] + add r0, #0x98 + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + mov r3, #0xb + bl sub_020299DC +_020474FC: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02047500 +sub_02047500: ; 0x02047500 + push {r4, lr} + ldr r4, [r0, #0x0] + mov r1, #0x1 + tst r1, r4 + beq _02047546 + add r0, #0x5d + ldrb r0, [r0, #0x0] + bl sub_020475C0 + mov r1, #0x80 + tst r1, r4 + beq _0204752A + cmp r0, #0x1c + beq _02047558 + mov r0, #0x2 + tst r0, r4 + beq _02047526 + mov r0, #0x1a + pop {r4, pc} +_02047526: + mov r0, #0x18 + pop {r4, pc} +_0204752A: + add r1, r0, #0x0 + sub r1, #0x15 + cmp r1, #0x2 + bls _02047558 + mov r1, #0x2 + tst r1, r4 + beq _0204753C + mov r0, #0x1a + pop {r4, pc} +_0204753C: + mov r1, #0x4 + tst r1, r4 + beq _02047558 + mov r0, #0x19 + pop {r4, pc} +_02047546: + ldr r0, [r0, #0x8] + bl sub_02047668 + cmp r0, #0x1e + blo _02047558 + mov r1, #0x2 + tst r1, r4 + beq _02047558 + mov r0, #0x1b +_02047558: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204755C +sub_0204755C: ; 0x0204755C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x1f + blo _0204756A + bl sub_02020C2C +_0204756A: + ldr r0, _02047580 ; =0x020F457C + lsl r1, r5, #0x2 + ldrh r0, [r0, r1] + ldr r1, _02047584 ; =0x0000FFFF + cmp r0, r1 + bne _0204757C + add r0, r4, #0x0 + bl sub_021E495C +_0204757C: + pop {r3-r5, pc} + nop +_02047580: .word 0x020F457C +_02047584: .word 0x0000FFFF + + thumb_func_start sub_02047588 +sub_02047588: ; 0x02047588 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x1f + blo _02047594 + bl sub_02020C2C +_02047594: + ldr r0, _0204759C ; =0x020F457E + lsl r1, r4, #0x2 + ldrh r0, [r0, r1] + pop {r4, pc} + .balign 4 +_0204759C: .word 0x020F457E + + thumb_func_start sub_020475A0 +sub_020475A0: ; 0x020475A0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02047500 + add r1, r4, #0x0 + bl sub_0204755C + pop {r4, pc} + + thumb_func_start sub_020475B0 +sub_020475B0: ; 0x020475B0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02047500 + add r1, r4, #0x0 + bl sub_02047588 + pop {r4, pc} + + thumb_func_start sub_020475C0 +sub_020475C0: ; 0x020475C0 + sub r0, #0x3e + mov r1, #0x1d + cmp r0, #0x23 + bhi _02047662 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0x1 + lsl r2, r7, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r2, r5, #0x1 + lsl r6, r5, #0x1 + lsl r2, r6, #0x1 + lsl r6, r6, #0x1 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r2, r0, #0x2 + lsl r6, r0, #0x2 + lsl r2, r1, #0x1 + lsl r6, r1, #0x1 + lsl r2, r2, #0x1 + lsl r6, r2, #0x1 + lsl r2, r3, #0x1 + lsl r2, r4, #0x1 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r6, r7, #0x1 + lsl r2, r0, #0x2 + lsl r2, r0, #0x2 + lsl r6, r0, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r4, r1, #0x2 + lsl r2, r1, #0x2 + mov r1, #0x0 + b _02047662 +_02047620: + .byte 0x01, 0x21, 0x1E, 0xE0, 0x02, 0x21, 0x1C, 0xE0, 0x03, 0x21, 0x1A, 0xE0, 0x04, 0x21, 0x18, 0xE0 + .byte 0x05, 0x21, 0x16, 0xE0, 0x06, 0x21, 0x14, 0xE0, 0x07, 0x21, 0x12, 0xE0, 0x08, 0x21, 0x10, 0xE0 + .byte 0x09, 0x21, 0x0E, 0xE0, 0x0A, 0x21, 0x0C, 0xE0, 0x0B, 0x21, 0x0A, 0xE0, 0x0C, 0x21, 0x08, 0xE0 + .byte 0x0D, 0x21, 0x06, 0xE0, 0x17, 0x21, 0x04, 0xE0, 0x16, 0x21, 0x02, 0xE0, 0x15, 0x21, 0x00, 0xE0 + .byte 0x1C, 0x21 +_02047662: + add r0, r1, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02047668 +sub_02047668: ; 0x02047668 + push {r4, lr} + mov r4, #0x1e + bl sub_0204A1D8 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020476C8 ; =0x000001DF + sub r0, r0, r1 + cmp r0, #0xe + bhi _020476C4 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r4, #0 + lsl r4, r5, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + lsl r0, r6, #0 + lsl r0, r6, #0 + lsl r4, r4, #0 + lsl r4, r4, #0 + lsl r4, r4, #0 + lsl r0, r4, #0 + lsl r6, r6, #0 + lsl r6, r6, #0 + lsl r4, r4, #0 + lsl r4, r3, #0 + lsl r4, r6, #0 + mov r4, #0xe + b _020476C4 +_020476AE: + .byte 0x14, 0x24 + .byte 0x08, 0xE0, 0x13, 0x24, 0x06, 0xE0, 0x11, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x0F, 0x24 + .byte 0x00, 0xE0, 0x12, 0x24 +_020476C4: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 +_020476C8: .word 0x000001DF + + thumb_func_start sub_020476CC +sub_020476CC: ; 0x020476CC + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x67 + lsl r1, r1, #0x2 + add r5, r0, #0x0 + bl sub_02016998 + mov r2, #0x67 + mov r1, #0x0 + lsl r2, r2, #0x2 + add r7, r0, #0x0 + blx sub_020CE34C + mov r1, #0x63 + str r4, [r7, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x2 + str r0, [r7, r1] + add r4, r7, #0x0 + str r0, [sp, #0x0] + str r0, [r7, #0x14] + add r6, r7, #0x0 + add r4, #0x28 +_020476FA: + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x34 + str r0, [r6, #0x18] + blx sub_020CE1FC + ldr r0, [sp, #0x0] + add r6, r6, #0x4 + add r0, r0, #0x1 + add r4, #0x34 + str r0, [sp, #0x0] + cmp r0, #0x4 + blt _020476FA + mov r0, #0x15 + lsl r0, r0, #0x4 + mov r6, #0x0 + str r6, [r7, r0] + mov r2, #0xc + add r1, r0, #0x4 + str r2, [r7, r1] + add r1, r0, #0x0 + add r1, #0x8 + str r6, [r7, r1] + add r1, r0, #0x0 + add r1, #0x10 + str r6, [r7, r1] + add r1, r0, #0x0 + add r1, #0x14 + str r6, [r7, r1] + add r1, r0, #0x0 + mov r2, #0x1 + add r1, #0x18 + str r2, [r7, r1] + add r1, r0, #0x0 + add r1, #0x1c + str r2, [r7, r1] + add r0, #0x24 + str r6, [r7, r0] + add r4, r7, #0x0 +_02047748: + add r0, r5, #0x0 + bl sub_0206B8AC + str r0, [r4, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _02047748 + mov r6, #0x0 + add r4, r7, #0x0 +_0204775C: + add r0, r5, #0x0 + bl sub_02023928 + add r1, r4, #0x0 + add r1, #0xf8 + add r6, r6, #0x1 + add r4, r4, #0x4 + str r0, [r1, #0x0] + cmp r6, #0x4 + blt _0204775C + mov r6, #0x0 + add r4, r7, #0x0 +_02047774: + add r0, r5, #0x0 + bl sub_02029EE4 + mov r1, #0x46 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _02047774 + add r0, r5, #0x0 + bl sub_0206EB88 + mov r1, #0x42 + lsl r1, r1, #0x2 + str r0, [r7, r1] + add r0, r5, #0x0 + bl sub_02023D6C + mov r1, #0x11 + lsl r1, r1, #0x4 + str r0, [r7, r1] + add r0, r5, #0x0 + bl sub_02024F30 + mov r1, #0x13 + lsl r1, r1, #0x4 + str r0, [r7, r1] + add r0, r5, #0x0 + bl sub_02061008 + mov r2, #0x4d + lsl r2, r2, #0x2 + str r0, [r7, r2] + add r0, r2, #0x0 + mov r1, #0x0 + sub r0, #0x28 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x5c + str r1, [r7, r0] + add r0, r2, #0x0 + sub r0, #0x8 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x10 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x14 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x60 + str r1, [r7, r0] + add r0, r2, #0x4 + add r0, r7, r0 + mov r2, #0xc + blx sub_020CE34C + add r0, r7, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020477EC +sub_020477EC: ; 0x020477EC + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x20 + bl sub_020476CC + mov r1, #0x19 + lsl r1, r1, #0x4 + str r4, [r0, r1] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02047800 +sub_02047800: ; 0x02047800 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x2 + lsl r1, r1, #0x8 + bl sub_020476CC + mov r1, #0x19 + lsl r1, r1, #0x4 + str r4, [r0, r1] + pop {r4, pc} + + thumb_func_start sub_02047814 +sub_02047814: ; 0x02047814 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r1, #0x0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + str r0, [sp, #0x10] + ldr r0, [r5, #0xc] + bl sub_02023900 + mov r1, #0x1 + str r0, [sp, #0x14] + add r0, r6, #0x0 + lsl r1, r1, #0xa + bl sub_020476CC + add r4, r0, #0x0 + ldr r2, _0204795C ; =0x000001F1 + mov r0, #0x1 + mov r1, #0x1a + add r3, r6, #0x0 + bl sub_0200A86C + str r0, [sp, #0x18] + mov r0, #0x8 + add r1, r6, #0x0 + bl sub_020219F4 + add r7, r0, #0x0 + ldr r0, [sp, #0x10] + bl sub_020239CC + add r2, r0, #0x0 + mov r1, #0x1 + eor r1, r2 + ldr r0, [sp, #0x18] + add r2, r7, #0x0 + bl sub_0200A8E0 + add r0, r7, #0x0 + bl sub_02021F2C + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_0202395C + add r0, r7, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x18] + bl sub_0200A8B8 + ldr r0, [sp, #0x10] + bl sub_020239CC + add r2, r0, #0x0 + add r0, r4, #0x0 + add r0, #0xf8 + mov r1, #0x1 + ldr r0, [r0, #0x0] + eor r1, r2 + bl sub_020239C8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0204806C + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x14] + ldr r1, [r4, r1] + bl sub_02024F44 + add r0, r5, #0x0 + bl sub_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r4, r1] + sub r1, #0x58 + ldr r0, [r4, r1] + mov r1, #0x4 + mov r2, #0x14 + add r3, r6, #0x0 + bl sub_0206ED38 + add r0, r6, #0x0 + bl sub_020669C0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F3C0 + mov r2, #0x0 + str r2, [sp, #0x0] + add r1, r0, #0x0 + str r2, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + add r0, r6, #0x0 + mov r2, #0x5 + mov r3, #0x20 + bl sub_02066ACC + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + bl sub_0206B900 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r2, #0x2 + str r2, [sp, #0x8] + str r0, [sp, #0xc] + ldr r1, _02047960 ; =0x0000018F + add r0, r6, #0x0 + mov r3, #0x20 + bl sub_02066ACC + ldr r0, [r4, #0x8] + add r1, r6, #0x0 + bl sub_0206B900 + add r0, r6, #0x0 + bl sub_02016A18 + ldr r0, [r5, #0xc] + bl sub_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r5, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + sub r1, #0x8 + str r0, [r4, r1] + ldr r0, [r5, #0xc] + bl sub_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r5, #0x0 + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [r5, #0x1c] + add r1, #0x18 + ldr r0, [r0, #0x0] + str r0, [r4, r1] + add r0, r4, #0x0 + bl sub_020480E4 + add r0, r4, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_0204795C: .word 0x000001F1 +_02047960: .word 0x0000018F + + thumb_func_start sub_02047964 +sub_02047964: ; 0x02047964 + push {r3-r7, lr} + add r7, r0, #0x0 + mov r4, #0x0 + add r5, r7, #0x0 +_0204796C: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _02047976 + bl sub_02020C2C +_02047976: + ldr r0, [r5, #0x4] + bl sub_02016A18 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _0204796C + mov r5, #0x0 + add r4, r7, #0x0 +_02047988: + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02047996 + bl sub_02020C2C +_02047996: + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_02016A18 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x4 + blt _02047988 + mov r6, #0x46 + mov r5, #0x0 + add r4, r7, #0x0 + lsl r6, r6, #0x2 +_020479B0: + ldr r0, [r4, r6] + cmp r0, #0x0 + bne _020479BA + bl sub_02020C2C +_020479BA: + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x4 + blt _020479B0 + mov r0, #0x42 + lsl r0, r0, #0x2 + ldr r0, [r7, r0] + bl sub_02016A18 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r7, r0] + bl sub_02016A18 + mov r0, #0x13 + lsl r0, r0, #0x4 + ldr r0, [r7, r0] + bl sub_02016A18 + mov r0, #0x4d + lsl r0, r0, #0x2 + ldr r0, [r7, r0] + bl sub_02061020 + add r0, r7, #0x0 + bl sub_02016A18 + pop {r3-r7, pc} + + thumb_func_start sub_020479FC +sub_020479FC: ; 0x020479FC + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x4 + blt _02047A0C + bl sub_02020C2C +_02047A0C: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x4] + add r1, r6, #0x0 + bl sub_0206B900 + cmp r0, #0x0 + bne _02047A20 + bl sub_02020C2C +_02047A20: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02047A24 +sub_02047A24: ; 0x02047A24 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x4 + blt _02047A34 + bl sub_02020C2C +_02047A34: + lsl r1, r4, #0x2 + add r1, r5, r1 + ldr r1, [r1, #0x4] + add r0, r6, #0x0 + bl sub_0206BAD0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02047A44 +sub_02047A44: ; 0x02047A44 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x4 + blt _02047A54 + bl sub_02020C2C +_02047A54: + lsl r1, r4, #0x2 + add r1, r5, r1 + add r1, #0xf8 + ldr r1, [r1, #0x0] + add r0, r6, #0x0 + bl sub_0202393C + pop {r4-r6, pc} + + thumb_func_start sub_02047A64 +sub_02047A64: ; 0x02047A64 + lsl r2, r2, #0x2 + add r2, r0, r2 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r3, _02047A74 ; =sub_02029F9C + ldr r0, [r2, r0] + bx r3 + nop +_02047A74: .word sub_02029F9C + 1 + + thumb_func_start sub_02047A78 +sub_02047A78: ; 0x02047A78 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020238F4 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206BB1C + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206F158 + str r0, [sp, #0x0] + ldr r0, [r4, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + bl sub_02029EF8 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl sub_02023900 + str r0, [sp, #0xc] + ldr r0, [r4, #0xc] + bl sub_02034E30 + str r0, [sp, #0x10] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204806C + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x0 + bl sub_02047A44 + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_02047A24 + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x0] + ldr r1, [r5, r1] + bl sub_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x4] + ldr r1, [r5, r1] + bl sub_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0xc] + ldr r1, [r5, r1] + bl sub_02024F44 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02047A64 + ldr r0, [r4, #0xc] + bl sub_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + mov r1, #0x56 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r4, #0x0 + bl sub_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034A04 + mov r1, #0x59 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl sub_02079C70 + mov r1, #0x5a + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F1B4 + mov r1, #0x5b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x10] + bl sub_02034DEC + mov r1, #0x5d + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r4, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + sub r1, #0x68 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl sub_0204C1A8 + mov r1, #0x4a + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl sub_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl sub_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r4, #0x0 + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r5, r0] + ldr r0, [r4, #0xc] + bl sub_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + add r1, #0x10 + ldr r0, [r0, #0x0] + str r0, [r5, r1] + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02047BB0 +sub_02047BB0: ; 0x02047BB0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02047A78 + add r0, r4, #0x0 + bl sub_020480E4 + pop {r4, pc} + + thumb_func_start sub_02047BC0 +sub_02047BC0: ; 0x02047BC0 + push {r4-r7, lr} + sub sp, #0x1c + add r6, r0, #0x0 + add r0, r1, #0x0 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + add r7, r2, #0x0 + bl sub_020238F4 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206BB1C + str r0, [sp, #0x14] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206F158 + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029EF8 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + str r0, [sp, #0x4] + mov r0, #0x15 + mov r1, #0x6 + lsl r0, r0, #0x4 + str r1, [r6, r0] + mov r1, #0x9 + add r0, r0, #0x4 + str r1, [r6, r0] + add r0, r6, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_02047A44 + mov r0, #0xb + bl sub_020669C0 + add r5, r0, #0x0 + ldr r0, [sp, #0x14] + bl sub_0206B9AC + add r1, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0206B8CC + ldr r0, [sp, #0x14] + mov r4, #0x0 + bl sub_0206B9AC + cmp r0, #0x0 + ble _02047C98 +_02047C40: + ldr r0, [sp, #0x14] + add r1, r4, #0x0 + bl sub_0206B9B0 + add r1, r5, #0x0 + bl sub_02069B88 + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + cmp r7, r0 + beq _02047C82 + cmp r7, #0x0 + beq _02047C82 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r1, r7, #0x0 + bl sub_02068758 + str r0, [sp, #0x18] + add r0, r5, #0x0 + mov r1, #0x8 + add r2, sp, #0x18 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 +_02047C82: + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl sub_020479FC + ldr r0, [sp, #0x14] + add r4, r4, #0x1 + bl sub_0206B9AC + cmp r4, r0 + blt _02047C40 +_02047C98: + add r0, r5, #0x0 + bl sub_02016A18 + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x10] + ldr r1, [r6, r1] + bl sub_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0xc] + ldr r1, [r6, r1] + bl sub_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x4] + ldr r1, [r6, r1] + bl sub_02024F44 + ldr r1, [sp, #0x8] + add r0, r6, #0x0 + mov r2, #0x0 + bl sub_02047A64 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + bl sub_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + sub r1, #0x54 + add r0, #0x94 + ldr r0, [r0, #0x0] + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_0204C1A8 + mov r1, #0x4a + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r6, r0] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + add r1, #0x10 + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r6, r1] + add r0, r6, #0x0 + bl sub_020480E4 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02047D48 +sub_02047D48: ; 0x02047D48 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r0, r1, #0x0 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r7, r3, #0x0 + bl sub_020238F4 + str r0, [sp, #0x20] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206F158 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029EF8 + str r0, [sp, #0x14] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + mov r1, #0x6 + add r0, #0xac + ldr r0, [r0, #0x0] + mov r2, #0x0 + str r0, [sp, #0xc] + mov r0, #0x15 + lsl r0, r0, #0x4 + str r1, [r5, r0] + mov r1, #0x9 + add r0, r0, #0x4 + str r1, [r5, r0] + ldr r1, [sp, #0x20] + add r0, r5, #0x0 + bl sub_02047A44 + cmp r7, #0x0 + bne _02047DB6 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02047A24 + b _02047E14 +_02047DB6: + mov r4, #0x0 + add r1, r4, #0x0 +_02047DBA: + ldrb r0, [r7, r1] + cmp r0, #0x0 + beq _02047DC2 + add r4, r4, #0x1 +_02047DC2: + add r1, r1, #0x1 + cmp r1, #0x6 + blt _02047DBA + cmp r4, #0x0 + bne _02047DD8 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02047A24 + b _02047E14 +_02047DD8: + mov r0, #0xb + bl sub_020669C0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x4] + add r1, r4, #0x0 + bl sub_0206B8CC + mov r6, #0x0 + cmp r4, #0x0 + ble _02047E0E +_02047DEE: + ldrb r1, [r7, r6] + ldr r0, [sp, #0x4] + sub r1, r1, #0x1 + bl sub_0206B9B0 + ldr r1, [sp, #0x8] + bl sub_02069B88 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_020479FC + add r6, r6, #0x1 + cmp r6, r4 + blt _02047DEE +_02047E0E: + ldr r0, [sp, #0x8] + bl sub_02016A18 +_02047E14: + ldr r0, [sp, #0xc] + cmp r0, #0x0 + beq _02047E2C + mov r1, #0xc + bl sub_02023B0C + cmp r0, #0x0 + beq _02047E2C + mov r0, #0x65 + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r5, r0] +_02047E2C: + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x1c] + ldr r1, [r5, r1] + bl sub_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x18] + ldr r1, [r5, r1] + bl sub_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x10] + ldr r1, [r5, r1] + bl sub_02024F44 + ldr r1, [sp, #0x14] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02047A64 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + bl sub_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + sub r1, #0x54 + add r0, #0x94 + ldr r0, [r0, #0x0] + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r5, r0] + ldr r0, [sp, #0x0] + add r1, #0x18 + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r5, r1] + bl sub_02033534 + bl sub_0202D8B0 + cmp r0, #0x0 + beq _02047F10 + ldr r0, [sp, #0x20] + bl sub_02023A28 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + bl sub_020239CC + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020536D0 + add r1, r5, #0x0 + add r1, #0x29 + strb r0, [r1, #0x0] + add r0, r5, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_0202398C + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x3c + bl sub_02002248 + add r3, r5, #0x0 + add r3, #0x28 + add r5, #0x90 + mov r2, #0x6 +_02047F00: + ldmia r3!, {r0-r1} + stmia r5!, {r0-r1} + sub r2, r2, #0x1 + bne _02047F00 + ldr r0, [r3, #0x0] + add sp, #0x24 + str r0, [r5, #0x0] + pop {r4-r7, pc} +_02047F10: + add r0, r5, #0x0 + bl sub_020480E4 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02047F1C +sub_02047F1C: ; 0x02047F1C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + add r6, r2, #0x0 + bl sub_0206BB1C + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r3, r6, #0x0 + bl sub_02047D48 + pop {r4-r6, pc} + + thumb_func_start sub_02047F38 +sub_02047F38: ; 0x02047F38 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [sp, #0x0] + ldr r0, [r5, #0xc] + bl sub_02024DA0 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E24 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl sub_0202393C + ldr r0, [r4, #0x4] + add r1, r7, #0x0 + bl sub_0206BAD0 + mov r0, #0x42 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r1, [sp, #0x0] + bl sub_0206EBB4 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + ldr r1, [sp, #0x4] + bl sub_02023D80 + mov r0, #0x19 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + strh r0, [r5, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02047FA4 +sub_02047FA4: ; 0x02047FA4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + ldr r0, [r5, #0xc] + bl sub_0206F158 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + add r1, r0, #0x0 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02023D80 + pop {r3-r5, pc} + + thumb_func_start sub_02047FD0 +sub_02047FD0: ; 0x02047FD0 + push {r3-r5, lr} + ldr r2, [r0, #0x1c] + add r4, r1, #0x0 + ldr r1, [r2, #0x8] + ldr r2, [r2, #0xc] + bl sub_0204A6E0 + add r5, r0, #0x0 + bl sub_020548F0 + cmp r0, #0x0 + beq _02047FEC + mov r0, #0x8 + pop {r3-r5, pc} +_02047FEC: + add r0, r5, #0x0 + bl sub_0205478C + cmp r0, #0x0 + bne _02048000 + add r0, r5, #0x0 + bl sub_02054798 + cmp r0, #0x0 + beq _02048004 +_02048000: + mov r0, #0x2 + pop {r3-r5, pc} +_02048004: + add r0, r5, #0x0 + bl sub_02054830 + cmp r0, #0x0 + beq _02048012 + mov r0, #0x1 + pop {r3-r5, pc} +_02048012: + add r0, r5, #0x0 + bl sub_020549AC + cmp r0, #0x0 + beq _02048020 + mov r0, #0x6 + pop {r3-r5, pc} +_02048020: + add r0, r5, #0x0 + bl sub_02054974 + cmp r0, #0x0 + bne _02048034 + add r0, r5, #0x0 + bl sub_02054990 + cmp r0, #0x0 + beq _02048038 +_02048034: + mov r0, #0xa + pop {r3-r5, pc} +_02048038: + add r0, r5, #0x0 + bl sub_02054A3C + cmp r0, #0x0 + beq _02048046 + mov r0, #0x5 + pop {r3-r5, pc} +_02048046: + add r0, r5, #0x0 + bl sub_0205481C + cmp r0, #0x0 + beq _02048054 + mov r0, #0x7 + pop {r3-r5, pc} +_02048054: + cmp r4, #0xc + bhs _02048060 + ldr r0, _02048068 ; =0x020F45F8 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r3-r5, pc} +_02048060: + bl sub_02020C2C + mov r0, #0xc + pop {r3-r5, pc} + .balign 4 +_02048068: .word 0x020F45F8 + + thumb_func_start sub_0204806C +sub_0204806C: ; 0x0204806C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034E20 + add r6, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034860 + mov r1, #0x15 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [r6, #0x4] + cmp r0, #0x2 + bne _02048096 + mov r0, #0x1 + str r0, [r5, r1] +_02048096: + mov r1, #0x15 + lsl r1, r1, #0x4 + ldr r1, [r5, r1] + add r0, r4, #0x0 + bl sub_02047FD0 + mov r1, #0x55 + lsl r1, r1, #0x2 + str r0, [r5, r1] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020480AC +sub_020480AC: ; 0x020480AC + mov r1, #0x55 + mov r2, #0x7 + lsl r1, r1, #0x2 + str r2, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_020480B8 +sub_020480B8: ; 0x020480B8 + cmp r0, #0x2 + beq _020480C0 + cmp r0, #0x3 + bne _020480C4 +_020480C0: + mov r0, #0x0 + bx lr +_020480C4: + mov r0, #0x1 + bx lr + + thumb_func_start sub_020480C8 +sub_020480C8: ; 0x020480C8 + cmp r0, #0x1 + beq _020480D0 + cmp r0, #0x4 + bne _020480D4 +_020480D0: + mov r0, #0x0 + bx lr +_020480D4: + mov r0, #0x1 + bx lr + + thumb_func_start sub_020480D8 +sub_020480D8: ; 0x020480D8 + cmp r0, #0x4 + bne _020480E0 + mov r0, #0x0 + bx lr +_020480E0: + mov r0, #0x1 + bx lr + + thumb_func_start sub_020480E4 +sub_020480E4: ; 0x020480E4 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_020239CC + add r1, r4, #0x0 + add r1, #0x29 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_0202398C + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x3c + bl sub_02002248 + add r3, r4, #0x0 + add r3, #0x28 + add r4, #0x90 + mov r2, #0x6 +_02048112: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _02048112 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + pop {r4, pc} + + thumb_func_start sub_02048120 +sub_02048120: ; 0x02048120 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _02048158 ; =0x020F465C + bl sub_0201E66C + ldr r0, _0204815C ; =0x020F4630 + bl sub_02016BBC + ldr r2, _02048160 ; =0x020F4640 + add r0, r4, #0x0 + mov r1, #0x3 + mov r3, #0x0 + bl sub_02016C18 + mov r0, #0x20 + str r0, [sp, #0x0] + mov r0, #0xb + mov r3, #0x1a + str r0, [sp, #0x4] + mov r0, #0xe + mov r1, #0x6 + mov r2, #0x0 + lsl r3, r3, #0x4 + bl sub_02006930 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_02048158: .word 0x020F465C +_0204815C: .word 0x020F4630 +_02048160: .word 0x020F4640 + + thumb_func_start sub_02048164 +sub_02048164: ; 0x02048164 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + bl sub_02016998 + add r4, r0, #0x0 + bne _0204817A + bl sub_02020C2C +_0204817A: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x24 + blx sub_020DF4A4 + mov r0, #0x0 + str r0, [r4, #0x0] + str r5, [r4, #0x4] + mov r0, #0xb + bl sub_02016B94 + str r0, [r4, #0x8] + bl sub_02048120 + mov r2, #0x52 + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + mov r3, #0xb + bl sub_0200A86C + str r0, [r4, #0x1c] + mov r0, #0xb + bl sub_0200AA80 + str r0, [r4, #0x20] + add r1, r4, #0x0 + ldr r0, [r4, #0x8] + ldr r2, _02048208 ; =0x020F4628 + add r1, #0xc + bl sub_02019150 + add r0, r5, #0x0 + bl sub_020377AC + bl sub_020238F4 + add r2, r0, #0x0 + ldr r0, [r4, #0x20] + mov r1, #0x0 + bl sub_0200ABC0 + ldr r0, [r5, #0x1c] + ldr r1, [r0, #0x0] + ldr r0, _0204820C ; =0x0000019E + cmp r1, r0 + bne _020481E6 + mov r2, #0x0 + add r0, r4, #0x0 + mov r1, #0x4 + add r3, r2, #0x0 + bl sub_020482F4 + b _020481F2 +_020481E6: + mov r2, #0x0 + add r0, r4, #0x0 + mov r1, #0x3 + add r3, r2, #0x0 + bl sub_020482F4 +_020481F2: + add r0, r4, #0x0 + add r0, #0xc + bl sub_020191D0 + ldr r1, _02048210 ; =sub_02048214 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + nop +_02048208: .word 0x020F4628 +_0204820C: .word 0x0000019E +_02048210: .word sub_02048214 + 1 + + thumb_func_start sub_02048214 +sub_02048214: ; 0x02048214 + push {r3-r4, lr} + sub sp, #0xc + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x4 + bhi _020482EA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r4, #0 + lsl r6, r6, #0 + lsl r6, r4, #0x1 + lsl r0, r0, #0x2 + mov r0, #0x8 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x20 + str r0, [sp, #0x8] + mov r0, #0x3 + mov r2, #0x2a + mov r3, #0x0 + bl sub_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020482EA +_02048258: + .byte 0xC6, 0xF7, 0x56, 0xF8, 0x00, 0x28, 0x44, 0xD0 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x40, 0xE0, 0x21, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42 + .byte 0x02, 0xD1, 0x02, 0x20, 0x08, 0x42, 0x38, 0xD0, 0x08, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90 + .byte 0x20, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xC5, 0xF7, 0xA0, 0xFF + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0xC6, 0xF7, 0x36, 0xF8, 0x00, 0x28, 0x24, 0xD0 + .byte 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xD1, 0xF7, 0xBB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x1B, 0xE0, 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xC4, 0xF7, 0x12, 0xFF, 0x20, 0x1C, 0x0C, 0x30 + .byte 0xD0, 0xF7, 0x5A, 0xFF, 0x20, 0x6A, 0xC2, 0xF7, 0x27, 0xFC, 0xE0, 0x69, 0xC2, 0xF7, 0xF4, 0xFA + .byte 0xA0, 0x68, 0x03, 0x21, 0xCF, 0xF7, 0xE4, 0xFA, 0xA0, 0x68, 0xCE, 0xF7, 0x9D, 0xFB, 0x20, 0x1C + .byte 0xCE, 0xF7, 0x9A, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0x18, 0xBD +_020482EA: + mov r0, #0x0 + add sp, #0xc + pop {r3-r4, pc} +_020482F0: + .byte 0xB8, 0x48, 0x1C, 0x02 + + thumb_func_start sub_020482F4 +sub_020482F4: ; 0x020482F4 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x1 + str r1, [sp, #0x10] + lsl r0, r0, #0xa + mov r1, #0xb + add r7, r3, #0x0 + bl sub_020219F4 + add r6, r0, #0x0 + mov r0, #0x1 + lsl r0, r0, #0xa + mov r1, #0xb + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0xc + mov r1, #0x0 + bl sub_02019620 + ldr r0, [r5, #0x1c] + ldr r1, [sp, #0x10] + add r2, r6, #0x0 + bl sub_0200A8E0 + ldr r0, [r5, #0x20] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0200B7B8 + mov r0, #0x0 + add r1, r4, #0x0 + add r2, r0, #0x0 + bl sub_02002F08 + add r3, r0, #0x0 + str r7, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02048378 ; =0x000F0200 + mov r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + ldrb r5, [r5, #0x13] + add r0, #0xc + add r2, r4, #0x0 + lsl r5, r5, #0x3 + sub r3, r5, r3 + lsl r3, r3, #0x18 + lsr r3, r3, #0x19 + sub r3, r3, #0x4 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl sub_0201BDE0 + add r0, r6, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02048378: .word 0x000F0200 + + thumb_func_start sub_0204837C +sub_0204837C: ; 0x0204837C + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02048488 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r0, #0x1 + lsl r4, r2, #0x1 + lsl r0, r5, #0x1 + lsl r0, r2, #0x2 + lsl r6, r3, #0x2 + lsl r6, r3, #0x3 + ldr r0, [r6, #0xc] + bl sub_02034E30 + add r7, r0, #0x0 + bl sub_02034DFC + add r1, sp, #0x4 + str r0, [sp, #0x0] + bl sub_02034EC4 + add r0, r7, #0x0 + bl sub_02034DCC + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02034E90 + add r0, r5, #0x0 + add r1, sp, #0x4 + bl sub_02049160 + add r0, r6, #0x0 + bl sub_020637F0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_020483E8: + .byte 0x00, 0x20, 0x14, 0x21, 0xBC, 0xF7, 0xEE, 0xFF + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x47, 0xE0, 0xBD, 0xF7, 0x04, 0xF8, 0x00, 0x28, 0x43, 0xD1 + .byte 0x02, 0xF0, 0x84, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x0F, 0x20, 0xC0, 0x43 + .byte 0x37, 0x21, 0x01, 0x22, 0xC1, 0xF7, 0x2E, 0xFF, 0x0F, 0x20, 0xC0, 0x43, 0x3F, 0x21, 0x02, 0x22 + .byte 0xC1, 0xF7, 0x28, 0xFF, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x9C, 0xFE, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x29, 0xE0, 0x28, 0x1C, 0x02, 0xF0, 0xA5, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x22, 0xE0, 0x00, 0x20, 0x3F, 0x21, 0x03, 0x22, 0xC1, 0xF7, 0x14, 0xFF, 0xEC, 0xF7, 0x1E, 0xFD + .byte 0x07, 0x1C, 0xF0, 0x68, 0xEC, 0xF7, 0xEC, 0xFC, 0xEC, 0xF7, 0xD0, 0xFC, 0x87, 0x42, 0x06, 0xD1 + .byte 0x00, 0x22, 0x0B, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x36, 0xFC, 0x05, 0xE0, 0x00, 0x22 + .byte 0x08, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x2F, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x02, 0xE0, 0x06, 0xB0, 0x01, 0x20, 0xF8, 0xBD +_02048488: + mov r0, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + nop +_02048490: + .byte 0xE4, 0x07, 0x00, 0x00, 0xE5, 0x07, 0x00, 0x00 + + thumb_func_start sub_02048498 +sub_02048498: ; 0x02048498 + ldr r3, _020484A0 ; =sub_0204640C + ldr r1, _020484A4 ; =sub_0204837C + mov r2, #0x0 + bx r3 + .balign 4 +_020484A0: .word sub_0204640C + 1 +_020484A4: .word sub_0204837C + 1 + + thumb_func_start sub_020484A8 +sub_020484A8: ; 0x020484A8 + push {r3-r6, lr} + sub sp, #0x14 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r6, r1, #0x0 + mov r1, #0xb + add r2, sp, #0x0 + bl sub_02022534 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + cmp r0, #0x1 + bne _020484C6 + cmp r6, #0x0 + bne _020484CC +_020484C6: + add r0, r4, #0x0 + bl sub_0202B03C +_020484CC: + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r6, r0, #0x0 + add r0, sp, #0x4 + bl sub_020126B4 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, sp, #0x4 + bl sub_0202B050 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl sub_02022540 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_020484F8 +sub_020484F8: ; 0x020484F8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x9 + bhi _02048554 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r2, #0 + lsl r2, r4, #0 + lsl r6, r3, #0x1 + lsl r6, r0, #0x2 + lsl r0, r3, #0x2 + lsl r6, r1, #0x3 + lsl r2, r5, #0x3 + lsl r4, r7, #0x3 + lsl r4, r3, #0x4 + lsl r6, r7, #0x4 + add r0, r6, #0x0 + add r1, r5, #0x4 + bl sub_02038814 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_0204854A: + .byte 0x30, 0x1C, 0xFD, 0xF7, 0x96, 0xFF + .byte 0x00, 0x28, 0x00, 0xD0 +_02048554: + b _02048688 +_02048556: + .byte 0x04, 0x21, 0x03, 0x20, 0xCA, 0x03, 0xCE, 0xF7, 0x5E, 0xF9 + .byte 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0xFE, 0xF8, 0x08, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91 + .byte 0x20, 0x20, 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x00, 0x23, 0xC5, 0xF7, 0x29, 0xFE, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x80, 0xE0, 0xC5, 0xF7, 0xBF, 0xFE, 0x00, 0x28, 0x7C, 0xD0, 0xF0, 0x68 + .byte 0xDA, 0xF7, 0x3C, 0xF9, 0x00, 0x28, 0x07, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0x22, 0xF9 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x6F, 0xE0, 0x07, 0x20, 0x20, 0x60, 0x6C, 0xE0, 0x28, 0x1C + .byte 0x00, 0xF0, 0x42, 0xF9, 0x00, 0x28, 0x67, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x63, 0xE0 + .byte 0xF0, 0x68, 0x23, 0xF0, 0xAB, 0xFA, 0x3C, 0xF0, 0xBB, 0xFD, 0xDA, 0xF7, 0x31, 0xF9, 0xF0, 0x68 + .byte 0xDA, 0xF7, 0xA6, 0xF8, 0x07, 0x1C, 0x29, 0x68, 0x30, 0x1C, 0xFF, 0xF7, 0x65, 0xFF, 0x28, 0x1C + .byte 0x00, 0xF0, 0x32, 0xF9, 0x30, 0x1C, 0x29, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x3B, 0xF9, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x1C, 0x00, 0xF0, 0x1E, 0xF9, 0x00, 0x28, 0x43, 0xD0 + .byte 0x23, 0x48, 0xBC, 0xF7, 0x61, 0xFF, 0x12, 0x20, 0xA8, 0x63, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x3A, 0xE0, 0xA9, 0x6B, 0x00, 0x29, 0x02, 0xD0, 0x48, 0x1E, 0xA8, 0x63, 0x34, 0xE0, 0x40, 0x1C + .byte 0x20, 0x60, 0x31, 0xE0, 0x08, 0x20, 0x00, 0x90, 0x00, 0x21, 0x01, 0x20, 0x01, 0x90, 0x20, 0x20 + .byte 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0xC5, 0xF7, 0xCA, 0xFD, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x21, 0xE0, 0xC5, 0xF7, 0x60, 0xFE, 0x00, 0x28, 0x1D, 0xD0, 0x30, 0x1C, 0x29, 0x1C + .byte 0x00, 0xF0, 0x40, 0xF9, 0x10, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xF0, 0xF7, 0xFB, 0xF8, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x30, 0x1C, 0xFD, 0xF7, 0x08, 0xFF, 0x00, 0x28, 0x0B, 0xD1 + .byte 0x28, 0x1C, 0xCE, 0xF7, 0xD1, 0xF9, 0x04, 0x20, 0xCE, 0xF7, 0x2A, 0xF9, 0x00, 0x20, 0x84, 0xF0 + .byte 0x9A, 0xEE, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD +_02048688: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02048690: + .byte 0x1B, 0x06, 0x00, 0x00 + + thumb_func_start sub_02048694 +sub_02048694: ; 0x02048694 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + mov r0, #0x20 + mov r1, #0x3c + bl sub_02016998 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020238F4 + str r0, [sp, #0x0] + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DCC + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl sub_0205ED0C + str r0, [r5, #0x0] + ldr r0, [r4, #0xc] + bl sub_020238F4 + str r0, [r5, #0x4] + ldr r0, [r4, #0xc] + bl sub_0206BB1C + str r0, [r5, #0x8] + ldr r0, [r4, #0xc] + bl sub_02023918 + str r0, [r5, #0xc] + ldr r0, [r4, #0xc] + bl sub_020238F4 + bl sub_020239CC + str r0, [r5, #0x10] + add r0, r6, #0x0 + bl sub_0205ED0C + str r0, [r5, #0x14] + ldr r0, [r4, #0xc] + bl sub_02024DA0 + str r0, [r5, #0x18] + add r0, r6, #0x0 + bl sub_0205ED0C + cmp r0, #0x0 + bne _0204871E + add r0, r4, #0x0 + bl sub_0204B328 +_0204871E: + ldr r0, [r4, #0xc] + bl sub_0206BB1C + bl sub_0204A25C + ldr r0, [sp, #0x8] + bl sub_020377B0 + ldr r0, [sp, #0x4] + bl sub_020377C8 + add r0, r6, #0x0 + bl sub_0205F154 + add r0, r6, #0x0 + bl sub_0205ECFC + ldr r0, [sp, #0x0] + bl sub_02023A78 + ldr r0, [r4, #0xc] + bl sub_02029FC8 + mov r1, #0x2e + bl sub_0202A0E8 + ldr r1, _02048760 ; =sub_020484F8 + add r0, r7, #0x0 + add r2, r5, #0x0 + bl sub_0204640C + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02048760: .word sub_020484F8 + 1 + + thumb_func_start sub_02048764 +sub_02048764: ; 0x02048764 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r1, #0x2c] + str r0, [r1, #0x30] + add r1, #0x1c + add r0, r1, #0x0 + bl sub_0201901C + ldr r0, _020487D4 ; =0x020F46B0 + bl sub_0201E66C + ldr r2, _020487D8 ; =0x04000304 + ldrh r1, [r2, #0x0] + lsr r0, r2, #0xb + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, _020487DC ; =0x020F4684 + bl sub_02016BBC + mov r0, #0x3 + mov r1, #0x0 + bl sub_02017FE4 + ldr r0, [r4, #0x8] + ldr r2, _020487E0 ; =0x020F4694 + mov r1, #0x3 + mov r3, #0x0 + bl sub_02016C18 + mov r1, #0x20 + mov r0, #0x3 + mov r2, #0x0 + add r3, r1, #0x0 + bl sub_02017F18 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x11 + str r0, [sp, #0xc] + ldr r0, [r4, #0x8] + mov r1, #0x3 + add r3, r2, #0x0 + bl sub_02018540 + ldr r0, [r4, #0x8] + mov r1, #0x3 + bl sub_02017CD0 + add sp, #0x10 + pop {r4, pc} + nop +_020487D4: .word 0x020F46B0 +_020487D8: .word 0x04000304 +_020487DC: .word 0x020F4684 +_020487E0: .word 0x020F4694 + + thumb_func_start sub_020487E4 +sub_020487E4: ; 0x020487E4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02023900 + add r6, r0, #0x0 + mov r0, #0x1a + mov r1, #0xc7 + mov r2, #0xf + mov r3, #0x20 + bl sub_0200A738 + str r0, [r4, #0x2c] + add r1, r4, #0x0 + ldr r0, [r5, #0x8] + add r1, #0x1c + mov r2, #0x3 + bl sub_020545B8 + add r0, r4, #0x0 + add r0, #0x1c + add r1, r6, #0x0 + bl sub_02054608 + add r0, r4, #0x0 + ldr r1, [r4, #0x2c] + add r0, #0x1c + add r2, r6, #0x0 + mov r3, #0x1 + bl sub_02054658 + str r0, [r4, #0x34] + add r0, r4, #0x0 + ldr r1, _02048834 ; =0x000003E2 + add r0, #0x1c + bl sub_0200D858 + str r0, [r4, #0x30] + pop {r4-r6, pc} + .balign 4 +_02048834: .word 0x000003E2 + + thumb_func_start sub_02048838 +sub_02048838: ; 0x02048838 + ldr r0, [r0, #0x34] + ldr r3, _02048844 ; =sub_020546C8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx r3 + nop +_02048844: .word sub_020546C8 + 1 + + thumb_func_start sub_02048848 +sub_02048848: ; 0x02048848 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x2c] + bl sub_02021A20 + ldr r0, [r4, #0x30] + bl sub_0200DBFC + add r4, #0x1c + add r0, r4, #0x0 + bl sub_0205464C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02048864 +sub_02048864: ; 0x02048864 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc7 + mov r3, #0x4 + bl sub_0200A86C + add r7, r0, #0x0 + cmp r6, #0x2 + bne _020488AC + mov r0, #0x4 + bl sub_0200AA80 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + add r2, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0200ABC0 + add r0, r6, #0x0 + add r1, r7, #0x0 + mov r2, #0x10 + mov r3, #0x4 + bl sub_0200A9C4 + str r0, [r4, #0x2c] + add r0, r6, #0x0 + bl sub_0200AB18 + b _020488B4 +_020488AC: + mov r1, #0x12 + bl sub_0200A914 + str r0, [r4, #0x2c] +_020488B4: + add r0, r7, #0x0 + bl sub_0200A8B8 + ldr r0, [r5, #0xc] + bl sub_02023900 + add r2, r0, #0x0 + add r0, r4, #0x0 + ldr r1, [r4, #0x2c] + add r0, #0x1c + mov r3, #0x1 + bl sub_02054658 + str r0, [r4, #0x34] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020488D4 +sub_020488D4: ; 0x020488D4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x2c] + cmp r0, #0x0 + beq _020488E4 + bl sub_02021A20 +_020488E4: + add r0, r4, #0x0 + add r0, #0x1c + bl sub_02019048 + cmp r0, #0x0 + beq _020488F8 + add r4, #0x1c + add r0, r4, #0x0 + bl sub_02019178 +_020488F8: + ldr r0, [r5, #0x8] + mov r1, #0x3 + bl sub_020178A0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02048904 +sub_02048904: ; 0x02048904 + ldr r1, [r0, #0x1c] + ldr r2, _02048950 ; =0x0000014B + ldr r1, [r1, #0x0] + cmp r1, r2 + bgt _0204892C + sub r2, r2, #0x5 + sub r2, r1, r2 + bmi _02048936 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 +_0204892C: + ldr r2, _02048954 ; =0x000001ED + cmp r1, r2 + bne _02048936 + mov r2, #0x1 + b _02048938 +_02048936: + mov r2, #0x0 +_02048938: + cmp r2, #0x0 + bne _02048946 + ldr r1, [r0, #0x6c] + cmp r1, #0x4 + bne _02048946 + mov r1, #0x0 + str r1, [r0, #0x6c] +_02048946: + cmp r2, #0x0 + beq _0204894E + mov r1, #0x4 + str r1, [r0, #0x6c] +_0204894E: + bx lr + .balign 4 +_02048950: .word 0x0000014B +_02048954: .word 0x000001ED + + thumb_func_start sub_02048958 +sub_02048958: ; 0x02048958 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02034E30 + add r6, r0, #0x0 + bl sub_02034DC8 + add r2, r0, #0x0 + cmp r4, #0x0 + beq _0204898C + ldr r3, [r5, #0x1c] + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r2, [r5, #0x1c] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] +_0204898C: + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + bl sub_02034A60 + ldr r0, [r5, #0x1c] + ldr r1, [r0, #0x4] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + beq _020489DA + add r0, r5, #0x0 + bl sub_02034B00 + ldrh r2, [r0, #0x0] + ldr r1, [r5, #0x1c] + str r2, [r1, #0x8] + ldrh r2, [r0, #0x2] + ldr r1, [r5, #0x1c] + str r2, [r1, #0xc] + ldrh r1, [r0, #0x6] + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r1, r0 + bne _020489DA + add r0, r6, #0x0 + bl sub_02034DD0 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02034DC4 + add r2, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] +_020489DA: + pop {r4-r6, pc} + + thumb_func_start sub_020489DC +sub_020489DC: ; 0x020489DC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x6c] + cmp r0, #0x5 + blt _020489EA + bl sub_02020C2C +_020489EA: + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0x10 + lsr r1, r0, #0x1c + ldr r0, _020489F8 ; =0x021C4918 + strb r1, [r0, #0x5] + pop {r4, pc} + .balign 4 +_020489F8: .word 0x021C4918 + + thumb_func_start sub_020489FC +sub_020489FC: ; 0x020489FC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x1c] + add r4, r1, #0x0 + ldr r7, [r0, #0x0] + ldr r0, [r5, #0xc] + bl sub_02034E30 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0204AB44 + add r0, r5, #0x0 + bl sub_02039564 + cmp r4, #0x0 + bne _02048A28 + add r0, r5, #0x0 + bl sub_020636DC + b _02048A2E +_02048A28: + add r0, r5, #0x0 + bl sub_02063684 +_02048A2E: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F408 + cmp r4, #0x0 + bne _02048A42 + add r0, r5, #0x0 + bl sub_0204B0F8 +_02048A42: + cmp r4, #0x0 + bne _02048A50 + ldr r0, [r5, #0xc] + bl sub_02024ED8 + bl sub_02025484 +_02048A50: + ldr r0, [r5, #0xc] + bl sub_020462AC + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02034FE4 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + cmp r6, #0xe + bne _02048A72 + ldr r0, [sp, #0x0] + bl sub_0205F2C4 + cmp r0, #0x1 + beq _02048A80 +_02048A72: + cmp r6, #0x10 + bne _02048A82 + ldr r0, [sp, #0x0] + bl sub_0205F294 + cmp r0, #0x1 + bne _02048A82 +_02048A80: + mov r6, #0x0 +_02048A82: + ldr r0, [sp, #0x4] + add r1, r6, #0x0 + bl sub_02034DF4 + cmp r4, #0x0 + beq _02048AA6 + ldr r0, [sp, #0x4] + bl sub_02034E10 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0203484C + cmp r6, r0 + beq _02048AB4 + bl sub_02020C2C + b _02048AB4 +_02048AA6: + add r0, r7, #0x0 + bl sub_0203484C + add r1, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_02034E18 +_02048AB4: + cmp r4, #0x0 + bne _02048ACA + add r0, r7, #0x0 + bl sub_02034EF8 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + beq _02048ACA + ldr r0, [sp, #0x4] + bl sub_02034E04 +_02048ACA: + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0203989C + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x74 + strh r1, [r0, #0x0] + add r5, #0x76 + strh r1, [r5, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02048AE4 +sub_02048AE4: ; 0x02048AE4 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r1, #0x40 + mov r2, #0x5 + bl sub_02057380 + str r0, [r5, #0x34] + ldr r0, [r5, #0xc] + bl sub_020238F4 + bl sub_020239CC + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E20 + ldr r3, [r5, #0x1c] + ldr r1, [r0, #0x4] + str r1, [sp, #0x0] + str r4, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x34] + ldr r1, [r3, #0x8] + ldr r2, [r3, #0xc] + ldr r3, [r3, #0x10] + bl sub_02055068 + str r0, [r5, #0x38] + add r0, r5, #0x0 + bl sub_02034AC8 + ldr r0, [r5, #0x34] + bl sub_02058768 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02048B34 +sub_02048B34: ; 0x02048B34 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204CC48 + ldr r0, [r4, #0x38] + bl sub_02055160 + ldr r0, [r4, #0x34] + bl sub_0205771C + ldr r0, [r4, #0x34] + bl sub_020573AC + pop {r4, pc} + + thumb_func_start sub_02048B50 +sub_02048B50: ; 0x02048B50 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x40 + mov r2, #0x5 + bl sub_02057380 + str r0, [r5, #0x34] + add r0, r5, #0x0 + bl sub_02034E60 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E20 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + bl sub_020239CC + add r2, r0, #0x0 + ldr r0, [r5, #0x34] + add r1, r4, #0x0 + bl sub_020550A4 + str r0, [r5, #0x38] + ldr r0, [r5, #0x34] + bl sub_02058768 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02048B90 +sub_02048B90: ; 0x02048B90 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02048904 + ldr r0, [r4, #0x58] + cmp r0, #0x0 + beq _02048BA2 + bl sub_02020C2C +_02048BA2: + ldr r0, [r4, #0x1c] + ldr r1, [r4, #0x28] + ldr r0, [r0, #0x0] + bl sub_020344AC + ldr r0, [r4, #0xc] + bl sub_020462AC + mov r1, #0x3 + bl sub_0205F524 + cmp r0, #0x0 + beq _02048BC2 + ldr r0, [r4, #0x28] + bl sub_020346CC +_02048BC2: + ldr r0, [r4, #0xc] + bl sub_020462AC + mov r1, #0x2 + bl sub_0205F524 + cmp r0, #0x0 + bne _02048BD8 + ldr r0, [r4, #0x28] + bl sub_02034678 +_02048BD8: + ldr r0, [r4, #0x6c] + cmp r0, #0x5 + blt _02048BE2 + bl sub_02020C2C +_02048BE2: + ldr r0, [r4, #0x6c] + ldr r1, _02048C28 ; =0x020F46E0 + lsl r0, r0, #0x3 + add r0, r1, r0 + str r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + str r0, [r4, #0x5c] + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + str r0, [r4, #0x18] + ldr r1, [r4, #0x70] + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r0, #0x58 + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + bl sub_0204A690 + ldr r0, [r4, #0x70] + ldr r1, [r0, #0x0] + lsl r0, r1, #0xc + lsr r0, r0, #0x1c + beq _02048C24 + lsr r1, r1, #0x18 + lsl r1, r1, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl sub_0204A368 +_02048C24: + pop {r4, pc} + nop +_02048C28: .word 0x020F46E0 + + thumb_func_start sub_02048C2C +sub_02048C2C: ; 0x02048C2C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x58] + cmp r0, #0x0 + bne _02048C3A + bl sub_02020C2C +_02048C3A: + mov r0, #0x0 + str r0, [r4, #0x58] + mov r0, #0x5 + str r0, [r4, #0x18] + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0xc + lsr r0, r0, #0x1c + beq _02048C52 + add r0, r4, #0x0 + bl sub_0204A390 +_02048C52: + mov r0, #0x0 + str r0, [r4, #0x70] + pop {r4, pc} + + thumb_func_start sub_02048C58 +sub_02048C58: ; 0x02048C58 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02048C7E + ldr r0, [r4, #0x1c] + mov r1, #0xb + ldr r0, [r0, #0x0] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02028FA4 + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x0 + bl sub_02028AD4 +_02048C7E: + pop {r4, pc} + + thumb_func_start sub_02048C80 +sub_02048C80: ; 0x02048C80 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02048CAE + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + ldr r0, [r0, #0x0] + mov r1, #0xb + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02028FA4 + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x0 + bl sub_02028AD4 +_02048CAE: + pop {r4, pc} + + thumb_func_start sub_02048CB0 +sub_02048CB0: ; 0x02048CB0 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_0205532C + add r6, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_02055320 + ldr r1, [r4, #0x1c] + ldr r1, [r1, #0x0] + str r1, [r5, #0x0] + mov r1, #0x0 + mvn r1, r1 + str r1, [r5, #0x4] + str r0, [r5, #0x8] + str r6, [r5, #0xc] + mov r0, #0x1 + str r0, [r5, #0x10] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02048CDC +sub_02048CDC: ; 0x02048CDC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_020349E4 + cmp r0, #0x0 + beq _02048CFE + ldr r1, [r4, #0x1c] + ldr r0, [r1, #0x8] + cmp r0, #0x7 + bne _02048CFE + ldr r0, [r1, #0xc] + cmp r0, #0x6 + bne _02048CFE + mov r0, #0x1 + pop {r4, pc} +_02048CFE: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02048D04 +sub_02048D04: ; 0x02048D04 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r4, #0x0] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x4] + mov r0, #0x8 + str r0, [r4, #0x8] + mov r0, #0x2 + str r0, [r4, #0xc] + mov r0, #0x1 + str r0, [r4, #0x10] + pop {r3-r5, pc} + + thumb_func_start sub_02048D34 +sub_02048D34: ; 0x02048D34 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02048D56 + cmp r0, #0x1 + beq _02048D7A + cmp r0, #0x2 + beq _02048D88 + b _02048D8C +_02048D56: + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + bl sub_02048958 + add r0, r5, #0x0 + bl sub_02048B90 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020489FC + add r0, r5, #0x0 + bl sub_02048AE4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048D8C +_02048D7A: + add r0, r6, #0x0 + bl sub_0204B0E8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048D8C +_02048D88: + mov r0, #0x1 + pop {r4-r6, pc} +_02048D8C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02048D90 +sub_02048D90: ; 0x02048D90 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + str r1, [r4, #0x6c] + bl sub_02039874 + ldr r1, _02048DA8 ; =sub_02048D34 + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_020463CC + pop {r4, pc} + .balign 4 +_02048DA8: .word sub_02048D34 + 1 + + thumb_func_start sub_02048DAC +sub_02048DAC: ; 0x02048DAC + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + bhi _02048EC2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r6, #0 + lsl r2, r1, #0x3 + lsl r6, r2, #0x3 + lsl r2, r3, #0x3 + ldr r0, [r4, #0xc] + bl sub_02025B94 + add r0, r6, #0x0 + mov r1, #0x2 + bl sub_0205F2D4 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020289A4 + add r1, r7, #0x0 + bl sub_02028A20 + cmp r0, #0x0 + beq _02048E10 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02037944 + mov r0, #0x4 + str r0, [r5, #0x0] + b _02048EC2 +_02048E10: + add r0, r6, #0x0 + mov r1, #0x2 + bl sub_0205F2D4 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020289A4 + add r1, r7, #0x0 + bl sub_020289B0 + add r1, r4, #0x0 + add r1, #0x98 + str r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_0205F174 + cmp r0, #0x0 + beq _02048E78 + ldr r0, [r4, #0xc] + bl sub_02034E30 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02048CDC + cmp r0, #0x0 + beq _02048E4E + add r0, r4, #0x0 + bl sub_02048D04 +_02048E4E: + add r0, r6, #0x0 + bl sub_0205F164 + add r0, r7, #0x0 + bl sub_02034DD0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02048958 + add r0, r4, #0x0 + bl sub_02048B90 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020489FC + add r0, r4, #0x0 + bl sub_02048AE4 + b _02048E92 +_02048E78: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02048958 + add r0, r4, #0x0 + bl sub_02048B90 + add r0, r4, #0x0 + bl sub_0204B0F8 + add r0, r4, #0x0 + bl sub_02048B50 +_02048E92: + add r0, r4, #0x0 + bl sub_02048C58 + add r0, r4, #0x0 + bl sub_02063808 + mov r0, #0x2 + str r0, [r5, #0x0] + b _02048EC2 +_02048EA4: + .byte 0x38, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x03, 0x20, 0x28, 0x60, 0x08, 0xE0 + .byte 0x01, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0xFD, 0xF7, 0xE1, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x20 + .byte 0x28, 0x60 +_02048EC2: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02048EC8 +sub_02048EC8: ; 0x02048EC8 + ldr r3, _02048ED4 ; =sub_020463CC + mov r2, #0x0 + str r2, [r0, #0x6c] + ldr r1, _02048ED8 ; =sub_02048DAC + bx r3 + nop +_02048ED4: .word sub_020463CC + 1 +_02048ED8: .word sub_02048DAC + 1 + + thumb_func_start sub_02048EDC +sub_02048EDC: ; 0x02048EDC + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + str r0, [sp, #0x0] + add r0, r7, #0x0 + bl sub_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x5 + bhi _02048FC4 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r2, r0, #0x1 + lsl r4, r5, #0x1 + lsl r0, r1, #0x2 + lsl r4, r3, #0x2 + lsl r0, r5, #0x2 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + ldr r0, [r4, #0xc] + bl sub_02025B94 + ldr r0, [sp, #0x0] + mov r1, #0x2 + bl sub_0205F2D4 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020289A4 + add r1, r6, #0x0 + bl sub_020289B0 + add r4, #0x98 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048F54: + .byte 0x20, 0x1C, 0x31, 0x1D, 0xFF, 0xF7, 0xFE, 0xFC, 0x20, 0x1C, 0xFF, 0xF7 + .byte 0x17, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x49, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xBA, 0xFD + .byte 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x22, 0xE0, 0x20, 0x1C + .byte 0x09, 0xF0, 0x94, 0xF8, 0xA0, 0x67, 0x09, 0xF0, 0xAF, 0xFF, 0xE0, 0x67, 0x38, 0x1C, 0x01, 0xF0 + .byte 0xF9, 0xFF, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x31, 0x60, 0x20, 0x1C + .byte 0x32, 0x1C, 0x9E, 0xF1, 0xD5, 0xFB, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x0A, 0xE0, 0x31, 0x68 + .byte 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xCD, 0xF7, 0x2C, 0xFD + .byte 0x01, 0x20, 0xF8, 0xBD +_02048FC4: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02048FC8 +sub_02048FC8: ; 0x02048FC8 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034998 + cmp r0, #0x0 + bne _02049000 + add r0, r4, #0x0 + bl sub_02048CDC + cmp r0, #0x0 + beq _02048FF8 + ldr r0, [r4, #0xc] + bl sub_020462AC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02048D04 + add r0, r5, #0x0 + bl sub_0205F154 + b _02049000 +_02048FF8: + add r0, r4, #0x0 + bl sub_02048EC8 + pop {r3-r5, pc} +_02049000: + mov r0, #0xb + mov r1, #0x18 + bl sub_020169D8 + add r2, r0, #0x0 + mov r1, #0x0 + ldr r0, _02049030 ; =0x000001D2 + str r1, [r2, #0x0] + str r0, [r2, #0x4] + sub r0, r1, #0x1 + str r0, [r2, #0x8] + mov r0, #0x8 + str r0, [r2, #0xc] + mov r0, #0xe + str r0, [r2, #0x10] + str r1, [r2, #0x14] + mov r0, #0x2 + str r0, [r4, #0x6c] + ldr r1, _02049034 ; =sub_02048EDC + add r0, r4, #0x0 + bl sub_020463CC + pop {r3-r5, pc} + nop +_02049030: .word 0x000001D2 +_02049034: .word sub_02048EDC + 1 + + thumb_func_start sub_02049038 +sub_02049038: ; 0x02049038 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _020490B6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r4, #0 + lsl r2, r6, #0 + lsl r0, r2, #0x1 + ldr r0, _020490BC ; =0x00000603 + bl sub_020054C8 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl sub_0204AD60 + add r0, r5, #0x0 + bl sub_0204B090 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020490B6 +_02049080: + .byte 0x28, 0x1C, 0x21, 0x1D, 0x00, 0xF0, 0x6C, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0 + .byte 0xBC, 0xF7, 0xB8, 0xF9, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68, 0x30, 0x1C, 0x01, 0xF0, 0x76, 0xFE + .byte 0x28, 0x1C, 0x02, 0xF0, 0x21, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7 + .byte 0xB3, 0xFC, 0x01, 0x20, 0x70, 0xBD +_020490B6: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_020490BC: .word 0x00000603 + + thumb_func_start sub_020490C0 +sub_020490C0: ; 0x020490C0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + ldmia r4!, {r0-r1} + add r3, r2, #0x4 + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + ldr r1, _020490EC ; =sub_02049038 + str r0, [r3, #0x0] + add r0, r5, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + .balign 4 +_020490EC: .word sub_02049038 + 1 + + thumb_func_start sub_020490F0 +sub_020490F0: ; 0x020490F0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02049112 + cmp r0, #0x1 + beq _02049126 + cmp r0, #0x2 + beq _0204914C + b _0204915C +_02049112: + add r0, r5, #0x0 + bl sub_02048B34 + add r0, r5, #0x0 + bl sub_02048C2C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204915C +_02049126: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_02048958 + add r0, r5, #0x0 + bl sub_02048B90 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020489FC + add r5, #0x90 + ldr r0, [r5, #0x0] + bl sub_0205DD40 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204915C +_0204914C: + add r0, r5, #0x0 + bl sub_02048AE4 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0204915C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02049160 +sub_02049160: ; 0x02049160 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl sub_020169D8 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0203739C + cmp r0, #0x0 + beq _02049186 + bl sub_02020C2C + pop {r3-r7, pc} +_02049186: + mov r0, #0x0 + str r0, [r4, #0x0] + ldmia r5!, {r0-r1} + add r2, r4, #0x4 + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020491A4 ; =sub_020490F0 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_020491A4: .word sub_020490F0 + 1 + + thumb_func_start sub_020491A8 +sub_020491A8: ; 0x020491A8 + push {lr} + sub sp, #0x14 + str r1, [sp, #0x0] + ldr r1, [sp, #0x18] + str r2, [sp, #0x4] + str r1, [sp, #0xc] + ldr r1, [sp, #0x1c] + str r3, [sp, #0x8] + str r1, [sp, #0x10] + add r1, sp, #0x0 + bl sub_02049160 + add sp, #0x14 + pop {pc} + + thumb_func_start sub_020491C4 +sub_020491C4: ; 0x020491C4 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _0204923C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r4, r5, #0 + lsl r2, r1, #0x1 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl sub_0204AD60 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204923C +_02049206: + .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0xA9, 0xFF, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBC, 0xF7, 0xF5, 0xF8, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68 + .byte 0x30, 0x1C, 0x01, 0xF0, 0xB3, 0xFD, 0x28, 0x1C, 0x01, 0xF0, 0xAC, 0xFE, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0xF0, 0xFB, 0x01, 0x20, 0x70, 0xBD +_0204923C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02049240 +sub_02049240: ; 0x02049240 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x18 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r5, [r2, #0x4] + str r4, [r2, #0x8] + ldr r0, [sp, #0x18] + str r6, [r2, #0xc] + str r0, [r2, #0x10] + ldr r0, [sp, #0x1c] + ldr r1, _02049270 ; =sub_020491C4 + str r0, [r2, #0x14] + add r0, r7, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02049270: .word sub_020491C4 + 1 + + thumb_func_start sub_02049274 +sub_02049274: ; 0x02049274 + push {r4-r5, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + str r1, [sp, #0x0] + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + mov r1, #0x20 + str r0, [sp, #0x10] + mov r0, #0xb + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + add r3, r2, #0x0 + add r5, sp, #0x0 + str r0, [r2, #0x4] + ldmia r5!, {r0-r1} + add r3, #0x8 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020492B8 ; =sub_02049304 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_020463CC + add sp, #0x14 + pop {r4-r5, pc} + nop +_020492B8: .word sub_02049304 + 1 + + thumb_func_start sub_020492BC +sub_020492BC: ; 0x020492BC + push {r4-r5, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + str r1, [sp, #0x0] + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + mov r1, #0x20 + str r0, [sp, #0x10] + mov r0, #0xb + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + add r3, r2, #0x0 + add r5, sp, #0x0 + str r0, [r2, #0x4] + ldmia r5!, {r0-r1} + add r3, #0x8 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _02049300 ; =sub_02049304 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_020463EC + add sp, #0x14 + pop {r4-r5, pc} + nop +_02049300: .word sub_02049304 + 1 + + thumb_func_start sub_02049304 +sub_02049304: ; 0x02049304 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r5, r4, #0x0 + ldr r1, [r4, #0x0] + add r5, #0x8 + cmp r1, #0x3 + bhi _02049390 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r6, r6, #0 + lsl r2, r3, #0x1 + ldr r1, [r5, #0x0] + add r0, r6, #0x0 + bl sub_0204AD60 + add r0, r7, #0x0 + bl sub_02049394 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049390 +_0204934A: + .byte 0xB0, 0x6B, 0x00, 0x21, 0x0C, 0xF0 + .byte 0x2B, 0xF8, 0x21, 0x1C, 0x38, 0x1C, 0x08, 0x31, 0xFF, 0xF7, 0x02, 0xFF, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x15, 0xE0, 0xBC, 0xF7, 0x4E, 0xF8, 0x00, 0x28, 0x11, 0xD1, 0x29, 0x68, 0x30, 0x1C + .byte 0x01, 0xF0, 0x0C, 0xFD, 0x30, 0x1C, 0x1A, 0xF0, 0x17, 0xFA, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x46, 0xFB, 0x01, 0x20, 0xF8, 0xBD +_02049390: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02049394 +sub_02049394: ; 0x02049394 + ldr r3, _0204939C ; =sub_0204640C + ldr r1, _020493A0 ; =sub_020493A4 + mov r2, #0x0 + bx r3 + .balign 4 +_0204939C: .word sub_0204640C + 1 +_020493A0: .word sub_020493A4 + 1 + + thumb_func_start sub_020493A4 +sub_020493A4: ; 0x020493A4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020493BA + cmp r0, #0x1 + beq _020493C8 + b _020493CC +_020493BA: + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020493CC +_020493C8: + mov r0, #0x1 + pop {r3-r5, pc} +_020493CC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020493D0 +sub_020493D0: ; 0x020493D0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204652C + add r2, r0, #0x0 + ldr r1, _020493E4 ; =sub_020493E8 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_020493E4: .word sub_020493E8 + 1 + + thumb_func_start sub_020493E8 +sub_020493E8: ; 0x020493E8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02049408 + cmp r1, #0x1 + beq _02049416 + cmp r1, #0x2 + beq _02049428 + b _0204942C +_02049408: + add r0, r5, #0x0 + bl sub_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204942C +_02049416: + bl sub_021E331C + add r0, r5, #0x0 + bl sub_02049430 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204942C +_02049428: + mov r0, #0x1 + pop {r3-r5, pc} +_0204942C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02049430 +sub_02049430: ; 0x02049430 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0203739C + cmp r0, #0x0 + bne _02049452 + bl sub_02020C2C + pop {r4-r6, pc} +_02049452: + ldr r0, [r5, #0x38] + bl sub_020553E8 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_022483BC + str r0, [r4, #0x4] + ldr r1, _02049470 ; =sub_02049474 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + nop +_02049470: .word sub_02049474 + 1 + + thumb_func_start sub_02049474 +sub_02049474: ; 0x02049474 + push {r4, lr} + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_022483E0 + cmp r0, #0x1 + bne _02049490 + ldr r0, [r4, #0x4] + bl sub_022483EC + mov r0, #0x1 + pop {r4, pc} +_02049490: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02049494 +sub_02049494: ; 0x02049494 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x20 + add r4, r2, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r4, [r2, #0x4] + str r0, [r2, #0x8] + add r3, r2, #0x0 + ldmia r5!, {r0-r1} + add r3, #0xc + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020494C8 ; =sub_020494CC + str r0, [r3, #0x0] + add r0, r6, #0x0 + bl sub_020463EC + pop {r4-r6, pc} + .balign 4 +_020494C8: .word sub_020494CC + 1 + + thumb_func_start sub_020494CC +sub_020494CC: ; 0x020494CC + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r6, r4, #0x0 + ldr r1, [r4, #0x0] + add r6, #0xc + cmp r1, #0x3 + bhi _02049570 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r6, r6, #0 + lsl r2, r6, #0x1 + ldr r1, [r6, #0x0] + add r0, r5, #0x0 + bl sub_0204AD60 + add r0, r7, #0x0 + bl sub_02049574 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049570 +_02049512: + .byte 0xA8, 0x6B, 0x00, 0x21, 0x0B, 0xF0, 0x47, 0xFF, 0x21, 0x1C, 0x38, 0x1C, 0x0C, 0x31 + .byte 0xFF, 0xF7, 0x1E, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0xBB, 0xF7, 0x6A, 0xFF + .byte 0x00, 0x28, 0x1D, 0xD1, 0x31, 0x68, 0x28, 0x1C, 0x01, 0xF0, 0x28, 0xFC, 0x60, 0x68, 0x02, 0x28 + .byte 0x03, 0xD1, 0x28, 0x1C, 0x1A, 0xF0, 0x3E, 0xF9, 0x07, 0xE0, 0x01, 0x28, 0x03, 0xD8, 0x28, 0x1C + .byte 0x1A, 0xF0, 0x46, 0xF9, 0x01, 0xE0, 0xD7, 0xF7, 0x69, 0xFB, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x56, 0xFA, 0x01, 0x20, 0xF8, 0xBD +_02049570: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02049574 +sub_02049574: ; 0x02049574 + ldr r3, _0204957C ; =sub_0204640C + ldr r1, _02049580 ; =sub_02049584 + mov r2, #0x0 + bx r3 + .balign 4 +_0204957C: .word sub_0204640C + 1 +_02049580: .word sub_02049584 + 1 + + thumb_func_start sub_02049584 +sub_02049584: ; 0x02049584 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204959A + cmp r0, #0x1 + beq _020495A8 + b _020495AC +_0204959A: + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020495AC +_020495A8: + mov r0, #0x1 + pop {r3-r5, pc} +_020495AC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020495B0 +sub_020495B0: ; 0x020495B0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204652C + add r2, r0, #0x0 + ldr r1, _020495C4 ; =sub_020495C8 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + .balign 4 +_020495C4: .word sub_020495C8 + 1 + + thumb_func_start sub_020495C8 +sub_020495C8: ; 0x020495C8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020495F0 + cmp r0, #0x1 + beq _020495FE + cmp r0, #0x2 + beq _02049612 + b _02049616 +_020495F0: + add r0, r5, #0x0 + bl sub_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049616 +_020495FE: + add r0, r6, #0x0 + bl sub_021E331C + add r0, r5, #0x0 + bl sub_0204961C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049616 +_02049612: + mov r0, #0x1 + pop {r4-r6, pc} +_02049616: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204961C +sub_0204961C: ; 0x0204961C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0203739C + cmp r0, #0x0 + bne _0204963E + bl sub_02020C2C + pop {r4-r6, pc} +_0204963E: + ldr r2, [r6, #0x4] + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_0224C8C8 + add r2, r0, #0x0 + ldr r1, _02049654 ; =0x0224C8E9 + add r0, r5, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + .balign 4 +_02049654: .word 0x0224C8E9 + + thumb_func_start sub_02049658 +sub_02049658: ; 0x02049658 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r5, r4, #0x0 + ldr r1, [r4, #0x0] + add r5, #0x8 + cmp r1, #0x6 + bhi _02049712 + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r1, #0 + lsl r6, r3, #0 + lsl r2, r7, #0 + lsl r2, r1, #0x1 + lsl r0, r5, #0x1 + lsl r4, r7, #0x1 + lsl r0, r1, #0x2 + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r4, #0x4 + bl sub_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496A0: + .byte 0x60, 0x68, 0x00, 0x28, 0x35, 0xD0, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x59, 0xFB, 0x30, 0x1C + .byte 0x01, 0xF0, 0x44, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2A, 0xE0, 0x30, 0x1C, 0x29, 0x1C + .byte 0xFF, 0xF7, 0x4E, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0, 0xBB, 0xF7, 0x9A, 0xFE + .byte 0x00, 0x28, 0x1E, 0xD1, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x58, 0xFB, 0x30, 0x1C, 0x01, 0xF0 + .byte 0x51, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x13, 0xE0, 0x00, 0x21, 0x61, 0x60, 0x38, 0x1C + .byte 0x22, 0x1D, 0x9E, 0xF1, 0x2D, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x09, 0xE0, 0x60, 0x68 + .byte 0x00, 0x28, 0x06, 0xD0, 0x48, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x85, 0xF9, 0x01, 0x20 + .byte 0xF8, 0xBD +_02049712: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02049718 +sub_02049718: ; 0x02049718 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x1c + add r6, r2, #0x0 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r7, r0, #0x0 + blx sub_020CE34C + ldr r0, [r5, #0x38] + bl sub_020552F8 + mov r1, #0x0 + add r2, r7, #0x0 + str r4, [sp, #0x0] + str r6, [sp, #0x4] + add r3, sp, #0x0 + str r1, [sp, #0x8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldmia r3!, {r0-r1} + add r2, #0x8 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r1, _02049768 ; =sub_02049658 + str r0, [r2, #0x0] + add r0, r5, #0x0 + add r2, r7, #0x0 + bl sub_020463CC + add sp, #0x14 + pop {r4-r7, pc} + nop +_02049768: .word sub_02049658 + 1 + + thumb_func_start sub_0204976C +sub_0204976C: ; 0x0204976C + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl sub_020169D8 + add r5, r0, #0x0 + mov r1, #0x0 + str r1, [r5, #0x0] + str r1, [r5, #0x4] + ldr r0, [r6, #0x6c] + cmp r0, #0x1 + bne _020497A4 + ldr r0, [r4, #0x0] + str r0, [r5, #0x8] + sub r0, r1, #0x1 + str r0, [r5, #0xc] + ldr r0, [r4, #0x8] + str r0, [r5, #0x10] + ldr r0, [r4, #0xc] + str r0, [r5, #0x14] + b _02049820 +_020497A4: + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02048CB0 + mov r0, #0x2 + str r0, [r5, #0x8] + sub r0, r0, #0x3 + str r0, [r5, #0xc] + ldr r1, [r4, #0x8] + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r0, r0, #0x5 + ldr r1, [r4, #0xc] + sub r6, r0, #0x1 + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r0, r0, #0x5 + sub r4, r0, #0x6 + cmp r6, #0x0 + bge _020497D4 + bl sub_02020C2C +_020497D4: + cmp r4, #0x0 + bge _020497DC + bl sub_02020C2C +_020497DC: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1f + sub r1, r1, r2 + mov r0, #0x1f + ror r1, r0 + add r0, r2, r1 + bne _020497EE + mov r0, #0x8 + b _020497F0 +_020497EE: + mov r0, #0x17 +_020497F0: + lsr r3, r4, #0x1f + lsl r2, r4, #0x1f + sub r2, r2, r3 + mov r1, #0x1f + ror r2, r1 + add r1, r3, r2 + bne _02049802 + mov r1, #0x8 + b _02049804 +_02049802: + mov r1, #0x17 +_02049804: + lsr r2, r6, #0x1f + add r2, r6, r2 + asr r2, r2, #0x1 + add r6, r2, #0x1 + lsr r2, r4, #0x1f + add r2, r4, r2 + asr r2, r2, #0x1 + add r3, r2, #0x3 + lsl r2, r6, #0x5 + add r0, r0, r2 + str r0, [r5, #0x10] + lsl r0, r3, #0x5 + add r0, r1, r0 + str r0, [r5, #0x14] +_02049820: + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02049824 +sub_02049824: ; 0x02049824 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0204976C + add r4, r0, #0x0 + beq _02049840 + add r0, r5, #0x0 + bl sub_02049BE8 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463CC +_02049840: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02049844 +sub_02049844: ; 0x02049844 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0xc + bhi _0204992C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r3, #0 + lsl r0, r6, #0x1 + lsl r4, r5, #0x2 + lsl r2, r6, #0x3 + lsl r6, r6, #0x4 + lsl r4, r4, #0x5 + lsl r6, r6, #0x5 + lsl r6, r0, #0x6 + lsl r2, r3, #0x6 + lsl r0, r5, #0x6 + lsl r6, r2, #0x7 + lsl r0, r7, #0x7 + lsl r2, r5, #0x8 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xcf + mov r3, #0xb + bl sub_0200A86C + add r6, r0, #0x0 + mov r1, #0x7c + bl sub_0200A914 + str r0, [r4, #0x34] + add r0, r6, #0x0 + bl sub_0200A8B8 + add r1, r4, #0x0 + ldr r0, [r5, #0x8] + add r1, #0x24 + mov r2, #0x3 + bl sub_020545B8 + ldr r0, [r5, #0xc] + bl sub_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x24 + bl sub_02054608 + ldr r0, [r5, #0xc] + bl sub_02023900 + add r2, r0, #0x0 + add r0, r4, #0x0 + ldr r1, [r4, #0x34] + add r0, #0x24 + mov r3, #0x1 + bl sub_02054658 + add r1, r4, #0x0 + add r1, #0x38 + strb r0, [r1, #0x0] + mov r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_020498DC: + .byte 0x20, 0x1C, 0x38, 0x30 + .byte 0x00, 0x78, 0x0A, 0xF0, 0xF1, 0xFE, 0x01, 0x28, 0x20, 0xD1, 0x60, 0x6B, 0xD8, 0xF7, 0x98, 0xF8 + .byte 0x00, 0x20, 0x00, 0x90, 0x0B, 0x23, 0x01, 0x93, 0xA8, 0x68, 0x6F, 0x4A, 0x03, 0x21, 0xC3, 0xF7 + .byte 0xFF, 0xF8, 0x0B, 0x23, 0x00, 0x93, 0xA8, 0x68, 0x6C, 0x49, 0x6B, 0x4A, 0xB8, 0xF7, 0x44, 0xFC + .byte 0xE0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xCC, 0xE0, 0xE0, 0x6B, 0x0B, 0x21, 0xB8, 0xF7, 0x46, 0xFC + .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x0C, 0xD0 +_0204992C: + b _02049AB2 +_0204992E: + .byte 0x20, 0x1C + .byte 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xD4, 0xFB, 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x1C, 0xFC + .byte 0x03, 0x20, 0x20, 0x60, 0xB5, 0xE0, 0x20, 0x1C, 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xC8, 0xFB + .byte 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x10, 0xFC, 0x05, 0x20, 0x20, 0x60, 0xA9, 0xE0, 0xE8, 0x68 + .byte 0xD8, 0xF7, 0x54, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0x00, 0x22, 0x55, 0x49, 0x30, 0x1C, 0x13, 0x1C + .byte 0xEF, 0xF7, 0xB2, 0xF9, 0x12, 0xE0, 0xE8, 0x68, 0xDC, 0xF7, 0x36, 0xF9, 0x28, 0x1C, 0x0B, 0x21 + .byte 0x03, 0x22, 0x9E, 0xF1, 0x01, 0xFE, 0x20, 0x62, 0x9E, 0xF1, 0xB4, 0xFD, 0x23, 0x1C, 0x00, 0x22 + .byte 0x4C, 0x49, 0x30, 0x1C, 0x1C, 0x33, 0xA2, 0x83, 0xEF, 0xF7, 0x9E, 0xF9, 0x04, 0x20, 0x20, 0x60 + .byte 0x87, 0xE0, 0xE8, 0x68, 0xD8, 0xF7, 0x32, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x20, 0x60 + .byte 0x7F, 0xE0, 0x20, 0x6A, 0x9E, 0xF1, 0xDA, 0xFD, 0x20, 0x6A, 0x9E, 0xF1, 0x13, 0xFE, 0xA0, 0x8B + .byte 0x00, 0x28, 0x02, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x73, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x70, 0xE0 + .byte 0x68, 0x6B, 0x0E, 0xF0, 0xED, 0xFE, 0x20, 0x1C, 0xCD, 0xF7, 0x1E, 0xF8, 0x02, 0xB0, 0x01, 0x20 + .byte 0x70, 0xBD, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0xF1, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x5F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x09, 0xF9, 0x00, 0x28, 0x59, 0xD0, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x55, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x98, 0xFA, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x4E, 0xE0, 0x01, 0x20, 0xE8, 0x66, 0x2B, 0x48, 0x02, 0x21, 0xBC, 0xF7, 0xDE, 0xFA + .byte 0x28, 0x1C, 0x06, 0xF0, 0x1B, 0xF9, 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68 + .byte 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E, 0xFF, 0xF7, 0xB7, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x37, 0xE0, 0xBB, 0xF7, 0xDF, 0xFC, 0x00, 0x28, 0x33, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0x86, 0xFB + .byte 0x28, 0x1C, 0x01, 0xF0, 0x77, 0xF8, 0x30, 0x1C, 0x01, 0xF0, 0x94, 0xFA, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x26, 0xE0, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x20, 0xD0 + .byte 0x06, 0xF0, 0x16, 0xF9, 0x28, 0x1C, 0xFA, 0xF1, 0xD5, 0xFE, 0x00, 0x21, 0xA8, 0x66, 0x02, 0x20 + .byte 0x0A, 0x1C, 0x00, 0x90, 0x1E, 0x20, 0x10, 0x3A, 0x19, 0x23, 0xC0, 0xF7, 0xBD, 0xFB, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x0D, 0xE0, 0x02, 0x20, 0xC0, 0xF7, 0x54, 0xFC, 0x00, 0x28, 0x08, 0xD0 + .byte 0x01, 0x20, 0xFD, 0xF1, 0x65, 0xFF, 0x20, 0x1C, 0xCC, 0xF7, 0xB6, 0xFF, 0x02, 0xB0, 0x01, 0x20 + .byte 0x70, 0xBD +_02049AB2: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} +_02049AB8: + .byte 0xD9, 0x03, 0x00, 0x00, 0xD8, 0x46, 0x0F, 0x02 + .byte 0xF2, 0x07, 0x00, 0x00, 0xD5, 0x07, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x70, 0xB5, 0x82, 0xB0 + .byte 0x06, 0x1C, 0xFC, 0xF7, 0x29, 0xFD, 0x05, 0x1C, 0x30, 0x1C, 0xFC, 0xF7, 0x27, 0xFD, 0x04, 0x1C + .byte 0x21, 0x68, 0x07, 0x29, 0x7A, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14 + .byte 0x8F, 0x44, 0x0E, 0x00, 0x38, 0x00, 0x60, 0x00, 0x74, 0x00, 0x82, 0x00, 0xA8, 0x00, 0xCA, 0x00 + .byte 0xDE, 0x00, 0x00, 0x20, 0xFD, 0xF1, 0x34, 0xFF, 0x06, 0xF0, 0xE6, 0xF8, 0xA8, 0x6E, 0xFA, 0xF1 + .byte 0x9D, 0xFE, 0x02, 0x20, 0x00, 0x90, 0x1E, 0x20, 0x01, 0x1C, 0x2E, 0x39, 0x00, 0x22, 0x01, 0x23 + .byte 0xC0, 0xF7, 0x72, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x57, 0xE0, 0x02, 0x20, 0xC0, 0xF7 + .byte 0x09, 0xFC, 0x00, 0x28, 0x52, 0xD0, 0xA8, 0x6E, 0x00, 0x28, 0x4F, 0xD1, 0xE7, 0xF7, 0x00, 0xFA + .byte 0x00, 0x28, 0x4B, 0xD1, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0x40, 0xFC, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x43, 0xE0, 0x30, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x58, 0xF8, 0x00, 0x28, 0x3D, 0xD0 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x32, 0xE0, 0x00, 0x20, 0xE8, 0x66, 0x1A, 0x48, 0xBC, 0xF7, 0xF0, 0xF9 + .byte 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68, 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E + .byte 0xFF, 0xF7, 0x0A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1F, 0xE0, 0xBB, 0xF7, 0x32, 0xFC + .byte 0x00, 0x28, 0x1B, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0xD9, 0xFA, 0x28, 0x1C, 0x00, 0xF0, 0xCA, 0xFF + .byte 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x30, 0x1C + .byte 0x03, 0x21, 0x00, 0xF0, 0x23, 0xF8, 0x00, 0x28, 0x08, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x04, 0xE0, 0xCC, 0xF7, 0x21, 0xFF, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x02, 0xB0 + .byte 0x70, 0xBD, 0xC0, 0x46, 0x12, 0x00, 0x00, 0x00 + + thumb_func_start sub_02049BE8 +sub_02049BE8: ; 0x02049BE8 + push {r3, lr} + ldr r0, [r0, #0x6c] + cmp r0, #0x0 + bne _02049BF4 + ldr r0, _02049C04 ; =sub_02049844 + pop {r3, pc} +_02049BF4: + cmp r0, #0x1 + bne _02049BFC + ldr r0, _02049C08 ; =0x02049ACD + pop {r3, pc} +_02049BFC: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02049C04: .word sub_02049844 + 1 +_02049C08: .word 0x02049ACD + + thumb_func_start sub_02049C0C +sub_02049C0C: ; 0x02049C0C + push {r3-r7, lr} + add r4, r0, #0x0 + add r6, r1, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + mov r5, #0x0 + cmp r0, #0x0 + beq _02049C2E + cmp r0, #0x1 + beq _02049C44 + b _02049C4E +_02049C2E: + add r2, r4, #0x0 + str r5, [r4, #0x18] + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, #0x18 + bl sub_02053C98 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02049C4E +_02049C44: + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _02049C4E + str r5, [r4, #0x4] + mov r5, #0x1 +_02049C4E: + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02049C54 +sub_02049C54: ; 0x02049C54 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02049C76 + cmp r0, #0x1 + beq _02049C84 + cmp r0, #0x2 + beq _02049C9C + b _02049CAC +_02049C76: + add r0, r5, #0x0 + bl sub_02048B34 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049CAC +_02049C84: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_02048958 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0203989C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049CAC +_02049C9C: + add r0, r5, #0x0 + bl sub_02048AE4 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_02049CAC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02049CB0 +sub_02049CB0: ; 0x02049CB0 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl sub_020169D8 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0203739C + cmp r0, #0x0 + beq _02049CD6 + bl sub_02020C2C + pop {r3-r7, pc} +_02049CD6: + mov r0, #0x0 + str r0, [r4, #0x0] + ldmia r5!, {r0-r1} + add r2, r4, #0x4 + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _02049CF4 ; =sub_02049C54 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02049CF4: .word sub_02049C54 + 1 + + thumb_func_start sub_02049CF8 +sub_02049CF8: ; 0x02049CF8 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _02049D98 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r6, r4, #0 + lsl r2, r7, #0 + lsl r4, r1, #0x1 + lsl r2, r3, #0x1 + lsl r0, r5, #0x1 + ldr r1, [r5, #0x8] + add r0, r7, #0x0 + mov r2, #0x0 + bl sub_0204ACA8 + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r5, #0x4 + bl sub_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D4C: + .byte 0x68, 0x68, 0x00, 0x28 + .byte 0x22, 0xD0, 0x30, 0x1C, 0x01, 0xF0, 0xF2, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0 + .byte 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0xFB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x12, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x06, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0 + .byte 0x30, 0x1C, 0x01, 0xF0, 0x43, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C + .byte 0xCC, 0xF7, 0x42, 0xFE, 0x01, 0x20, 0xF8, 0xBD +_02049D98: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02049D9C +sub_02049D9C: ; 0x02049D9C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl sub_020169D8 + add r6, r0, #0x0 + mov r1, #0x0 + mov r2, #0x1c + blx sub_020CE34C + add r2, r6, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x8 + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + add r0, r5, #0x0 + bl sub_020520F8 + ldr r0, [r5, #0x7c] + bl sub_02052FA4 + mov r0, #0x0 + str r0, [r5, #0x6c] + ldr r1, _02049DF0 ; =sub_02049CF8 + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_020463CC + mov r0, #0x0 + str r0, [r5, #0x78] + pop {r4-r6, pc} + nop +_02049DF0: .word sub_02049CF8 + 1 + + thumb_func_start sub_02049DF4 +sub_02049DF4: ; 0x02049DF4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02049E9E + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r4, r4, #0 + lsl r2, r6, #0 + lsl r4, r0, #0x1 + lsl r2, r2, #0x1 + lsl r6, r4, #0x1 + lsl r2, r6, #0x1 + ldr r1, [r5, #0x8] + add r0, r7, #0x0 + mov r2, #0x0 + bl sub_0204ACA8 + add r0, r6, #0x0 + bl sub_0204AFC8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E46: + .byte 0x30, 0x1C, 0x01, 0xF0, 0x78, 0xF8, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x24, 0xE0, 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x81, 0xF9, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x8C, 0xF8, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x69, 0x60, 0x38, 0x1C, 0x2A, 0x1D, 0x9D, 0xF1, 0x68, 0xFC + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0A, 0xE0, 0x69, 0x68, 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C + .byte 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xCC, 0xF7, 0xBF, 0xFD, 0x01, 0x20, 0xF8, 0xBD +_02049E9E: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02049EA4 +sub_02049EA4: ; 0x02049EA4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_02048CB0 + ldr r0, _02049F08 ; =0x000001D2 + str r0, [r4, #0x8] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0xc] + mov r0, #0x8 + str r0, [r4, #0x10] + mov r0, #0xe + str r0, [r4, #0x14] + mov r0, #0x0 + str r0, [r4, #0x18] + add r0, r5, #0x0 + bl sub_020520AC + str r0, [r5, #0x78] + bl sub_02052EE8 + str r0, [r5, #0x7c] + mov r0, #0x2 + str r0, [r5, #0x6c] + ldr r1, _02049F0C ; =sub_02049DF4 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02049F08: .word 0x000001D2 +_02049F0C: .word sub_02049DF4 + 1 + + thumb_func_start sub_02049F10 +sub_02049F10: ; 0x02049F10 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _02049F8E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r4, #0 + lsl r2, r6, #0 + lsl r0, r2, #0x1 + ldr r0, _02049F94 ; =0x00000603 + bl sub_020054C8 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl sub_0204AD60 + add r0, r5, #0x0 + bl sub_0204B090 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049F8E +_02049F58: + .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0x00, 0xF9 + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBB, 0xF7, 0x4C, 0xFA, 0x00, 0x28, 0x0E, 0xD1 + .byte 0x61, 0x68, 0x30, 0x1C, 0x00, 0xF0, 0x0A, 0xFF, 0x28, 0x1C, 0x01, 0xF0, 0x03, 0xF8, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCC, 0xF7, 0x47, 0xFD, 0x01, 0x20, 0x70, 0xBD +_02049F8E: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02049F94: .word 0x00000603 + + thumb_func_start sub_02049F98 +sub_02049F98: ; 0x02049F98 + push {r3-r7, lr} + sub sp, #0x18 + str r0, [sp, #0x0] + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r1, r4, #0x0 + bl sub_02048CB0 + mov r0, #0x3 + str r0, [r4, #0x6c] + mov r0, #0xb + mov r1, #0x1c + bl sub_020169D8 + add r2, r0, #0x0 + ldr r0, [sp, #0x30] + str r5, [sp, #0x4] + str r0, [sp, #0x10] + ldr r0, [sp, #0x34] + str r6, [sp, #0x8] + str r0, [sp, #0x14] + mov r0, #0x0 + str r7, [sp, #0xc] + add r4, sp, #0x4 + str r0, [r2, #0x0] + ldmia r4!, {r0-r1} + add r3, r2, #0x4 + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + ldr r1, _02049FF8 ; =sub_02049F10 + str r0, [r3, #0x0] + ldr r0, [sp, #0x0] + bl sub_0204640C + add sp, #0x18 + pop {r3-r7, pc} + nop +_02049FF8: .word sub_02049F10 + 1 + + thumb_func_start sub_02049FFC +sub_02049FFC: ; 0x02049FFC + push {r4, lr} + bl sub_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02034E30 + bl sub_02034DD0 + add r1, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x6c] + ldr r0, [r4, #0x10] + bl sub_020490C0 + pop {r4, pc} + + thumb_func_start sub_0204A01C +sub_0204A01C: ; 0x0204A01C + push {r4, lr} + mov r1, #0xa2 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204A030 + mov r0, #0x0 + pop {r4, pc} +_0204A030: + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204A042 + mov r0, #0x1 + pop {r4, pc} +_0204A042: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204A048 +sub_0204A048: ; 0x0204A048 + push {r3-r7, lr} + sub sp, #0x20 + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x10] + bl sub_020238F4 + str r0, [sp, #0x14] + add r0, r6, #0x0 + bl sub_0206BB1C + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl sub_020669C0 + add r4, r0, #0x0 + bl sub_02066978 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0x0 + add r1, r7, #0x0 + mov r3, #0x20 + bl sub_02066ACC + ldr r0, [sp, #0x40] + ldr r1, [sp, #0x14] + str r0, [sp, #0x0] + ldr r3, [sp, #0x3c] + add r0, r4, #0x0 + mov r2, #0x4 + str r5, [sp, #0x4] + bl sub_0206A014 + add r0, sp, #0x28 + ldrh r0, [r0, #0x10] + mov r1, #0x6 + add r2, sp, #0x1c + str r0, [sp, #0x1c] + add r0, r4, #0x0 + bl sub_02067830 + ldr r0, [sp, #0x18] + add r1, r4, #0x0 + bl sub_0206B900 + add r5, r0, #0x0 + beq _0204A0BC + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202C144 +_0204A0BC: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_0204A0C8 +sub_0204A0C8: ; 0x0204A0C8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r0, r4, #0x0 + add r5, r2, #0x0 + add r7, r3, #0x0 + bl sub_020238F4 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_0206BB1C + add r6, r0, #0x0 + mov r0, #0x20 + bl sub_020669C0 + add r4, r0, #0x0 + bl sub_02066978 + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x24] + bl sub_02015CF8 + mov r1, #0x4 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + ldr r3, [sp, #0x8] + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl sub_021ECF14 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0206B900 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0204A120 +sub_0204A120: ; 0x0204A120 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_0206B9B0 + lsl r2, r5, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + bl sub_020697CC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204A138 +sub_0204A138: ; 0x0204A138 + push {r3-r7, lr} + str r0, [sp, #0x0] + add r5, r1, #0x0 + bl sub_0206B9AC + add r7, r0, #0x0 + mov r6, #0x0 + cmp r7, #0x0 + ble _0204A1A2 +_0204A14A: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204A19C + add r0, r4, #0x0 + mov r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x37 + mov r2, #0x0 + bl sub_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl sub_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl sub_020671BC + cmp r5, r0 + bne _0204A19C +_0204A198: + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204A19C: + add r6, r6, #0x1 + cmp r6, r7 + blt _0204A14A +_0204A1A2: + mov r0, #0xff + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204A1A8 +sub_0204A1A8: ; 0x0204A1A8 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_0206B9AC + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 + cmp r6, #0x0 + ble _0204A1D2 +_0204A1BA: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0206B9B0 + bl sub_0204A01C + cmp r0, #0x0 + beq _0204A1CC + add r5, r5, #0x1 +_0204A1CC: + add r4, r4, #0x1 + cmp r4, r6 + blt _0204A1BA +_0204A1D2: + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204A1D8 +sub_0204A1D8: ; 0x0204A1D8 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_0206B9AC + add r5, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x0 + ble _0204A204 +_0204A1E8: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0206B9B0 + add r7, r0, #0x0 + bl sub_0204A01C + cmp r0, #0x0 + beq _0204A1FE + add r0, r7, #0x0 + pop {r3-r7, pc} +_0204A1FE: + add r4, r4, #0x1 + cmp r4, r5 + blt _0204A1E8 +_0204A204: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0204A20C +sub_0204A20C: ; 0x0204A20C + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_0206B9AC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r4, _0204A244 ; =0x00000000 + beq _0204A240 +_0204A21C: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r7, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204A236 + add r0, r7, #0x0 + pop {r3-r7, pc} +_0204A236: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r5 + blo _0204A21C +_0204A240: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204A244: .word 0x00000000 + + thumb_func_start sub_0204A248 +sub_0204A248: ; 0x0204A248 + push {r3, lr} + bl sub_0204A1A8 + cmp r0, #0x2 + blt _0204A256 + mov r0, #0x1 + pop {r3, pc} +_0204A256: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204A25C +sub_0204A25C: ; 0x0204A25C + push {r3-r7, lr} + mov r2, #0x1 + add r1, sp, #0x0 + add r7, r0, #0x0 + strb r2, [r1, #0x0] + bl sub_0206B9AC + add r6, r0, #0x0 + mov r5, #0x0 + cmp r6, #0x0 + ble _0204A298 +_0204A272: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0204A292 + add r0, r4, #0x0 + mov r1, #0x19 + add r2, sp, #0x0 + bl sub_02067830 +_0204A292: + add r5, r5, #0x1 + cmp r5, r6 + blt _0204A272 +_0204A298: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204A29C +sub_0204A29C: ; 0x0204A29C + push {r3-r7, lr} + sub sp, #0x10 + mov r7, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r6, r7, #0x0 + bl sub_0206B9AC + add r4, r7, #0x0 + str r0, [sp, #0x8] + cmp r0, #0x0 + ble _0204A310 +_0204A2B4: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_0206B9B0 + add r5, r0, #0x0 + bl sub_0204A01C + cmp r0, #0x0 + beq _0204A308 + add r0, r5, #0x0 + mov r1, #0x9f + mov r2, #0x0 + bl sub_020671BC + mov r1, #0x88 + tst r0, r1 + beq _0204A308 + add r0, r5, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + cmp r0, #0x1 + bls _0204A2EA + sub r0, r0, #0x1 + str r0, [sp, #0xc] +_0204A2EA: + add r0, r5, #0x0 + mov r1, #0xa2 + add r2, sp, #0xc + bl sub_02067830 + ldr r0, [sp, #0xc] + cmp r0, #0x1 + bne _0204A306 + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x7 + add r6, r6, #0x1 + bl sub_020688E8 +_0204A306: + add r7, r7, #0x1 +_0204A308: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + cmp r4, r0 + blt _0204A2B4 +_0204A310: + cmp r6, #0x0 + beq _0204A31A + add sp, #0x10 + mov r0, #0x2 + pop {r3-r7, pc} +_0204A31A: + cmp r7, #0x0 + beq _0204A324 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204A324: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204A32C +sub_0204A32C: ; 0x0204A32C + push {r3-r4, lr} + sub sp, #0x4 + mov r1, #0x9f + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + mov r1, #0x88 + tst r0, r1 + beq _0204A362 + add r0, r4, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _0204A362 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x9f + add r2, sp, #0x0 + bl sub_02067830 + add sp, #0x4 + mov r0, #0x1 + pop {r3-r4, pc} +_0204A362: + mov r0, #0x0 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0204A368 +sub_0204A368: ; 0x0204A368 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x54] + add r4, r1, #0x0 + cmp r0, #0x0 + bne _0204A388 + ldr r1, _0204A38C ; =0x000080E2 + mov r0, #0xb + bl sub_02016998 + str r0, [r5, #0x54] + ldr r0, [r5, #0x28] + ldr r1, [r5, #0x54] + add r2, r4, #0x0 + bl sub_0204A3B0 +_0204A388: + pop {r3-r5, pc} + nop +_0204A38C: .word 0x000080E2 + + thumb_func_start sub_0204A390 +sub_0204A390: ; 0x0204A390 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x54] + cmp r0, #0x0 + beq _0204A3A2 + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x54] +_0204A3A2: + pop {r4, pc} + + thumb_func_start sub_0204A3A4 +sub_0204A3A4: ; 0x0204A3A4 + ldrb r0, [r1, r0] + add r2, r1, #0x0 + add r2, #0xe2 + lsl r0, r0, #0xb + add r0, r2, r0 + bx lr + + thumb_func_start sub_0204A3B0 +sub_0204A3B0: ; 0x0204A3B0 + push {r4-r7, lr} + sub sp, #0x3c + str r1, [sp, #0x8] + str r2, [sp, #0xc] + str r0, [sp, #0x4] + mov r2, #0x0 + add r1, sp, #0x18 + strb r2, [r1, #0x0] + bl sub_020344FC + add r6, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_0203450C + str r0, [sp, #0x10] + mov r0, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _0204A410 + ldr r7, [sp, #0x14] +_0204A3DA: + mov r5, #0x0 + cmp r6, #0x0 + ble _0204A402 +_0204A3E0: + add r0, r5, r7 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r1, [sp, #0x4] + add r0, r4, #0x0 + bl sub_020344D8 + add r1, sp, #0x18 + add r1, #0x2 + add r2, sp, #0x18 + bl sub_0204A45C + ldr r1, [sp, #0x8] + add r5, r5, #0x1 + strb r0, [r1, r4] + cmp r5, r6 + blt _0204A3E0 +_0204A402: + ldr r0, [sp, #0x14] + add r7, r7, r6 + add r1, r0, #0x1 + ldr r0, [sp, #0x10] + str r1, [sp, #0x14] + cmp r1, r0 + blt _0204A3DA +_0204A410: + mov r0, #0x43 + mov r1, #0xb + bl sub_02006670 + add r7, r0, #0x0 + ldr r0, [sp, #0xc] + mov r6, #0x0 + cmp r0, #0x0 + ble _0204A452 + ldr r0, [sp, #0x8] + add r4, sp, #0x18 + add r0, #0xe2 + add r4, #0x2 + add r5, r6, #0x0 + str r0, [sp, #0x8] +_0204A42E: + ldr r0, [sp, #0x8] + lsl r1, r5, #0x1 + add r0, r0, r1 + str r0, [sp, #0x0] + ldrh r1, [r4, #0x0] + mov r2, #0x10 + add r0, r7, #0x0 + lsl r3, r2, #0x7 + bl sub_02006814 + mov r0, #0x1 + lsl r0, r0, #0xa + add r5, r5, r0 + ldr r0, [sp, #0xc] + add r6, r6, #0x1 + add r4, r4, #0x2 + cmp r6, r0 + blt _0204A42E +_0204A452: + add r0, r7, #0x0 + bl sub_020066F4 + add sp, #0x3c + pop {r4-r7, pc} + + thumb_func_start sub_0204A45C +sub_0204A45C: ; 0x0204A45C + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + ldrb r0, [r7, #0x0] + add r6, r1, #0x0 + mov r4, #0x0 + cmp r0, #0x0 + bls _0204A482 +_0204A46C: + lsl r1, r4, #0x1 + ldrh r1, [r6, r1] + cmp r5, r1 + bne _0204A478 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0204A478: + add r1, r4, #0x1 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + cmp r4, r0 + blo _0204A46C +_0204A482: + cmp r4, #0x10 + blo _0204A48A + bl sub_02020C2C +_0204A48A: + lsl r0, r4, #0x1 + strh r5, [r6, r0] + ldrb r0, [r7, #0x0] + add r0, r0, #0x1 + strb r0, [r7, #0x0] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0204A498 +sub_0204A498: ; 0x0204A498 + cmp r0, r1 + blt _0204A4A0 + sub r0, r0, r1 + bx lr +_0204A4A0: + sub r0, r1, r0 + bx lr + + thumb_func_start sub_0204A4A4 +sub_0204A4A4: ; 0x0204A4A4 + push {r3-r7, lr} + sub sp, #0x38 + add r4, r2, #0x0 + add r6, r3, #0x0 + add r5, r0, #0x0 + mov r0, #0x0 + str r4, [sp, #0x2c] + str r6, [sp, #0x34] + str r0, [sp, #0x10] + str r0, [sp, #0x30] + ldr r0, [r5, #0x24] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x28] + bl sub_020344FC + str r0, [sp, #0x24] + lsl r0, r0, #0x5 + str r0, [sp, #0xc] + asr r0, r4, #0xf + lsr r0, r0, #0x10 + add r0, r4, r0 + asr r7, r0, #0x10 + asr r0, r6, #0xf + lsr r0, r0, #0x10 + add r0, r6, r0 + asr r0, r0, #0x10 + str r0, [sp, #0x1c] + add r2, r5, #0x0 + add r2, #0x9c + ldr r1, [sp, #0x1c] + ldr r2, [r2, #0x0] + add r0, r7, #0x0 + add r3, sp, #0x28 + bl sub_021F4520 + str r0, [sp, #0x20] + lsr r0, r7, #0x5 + str r0, [sp, #0x18] + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x1c] + lsr r0, r0, #0x5 + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + sub r0, r4, r0 + str r0, [sp, #0x2c] + ldr r0, [sp, #0x14] + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + sub r0, r6, r0 + str r0, [sp, #0x34] + ldr r0, [sp, #0xc] + mul r0, r1 + ldr r1, [sp, #0xc] + add r0, r7, r0 + bl sub_021EF620 + ldr r2, [sp, #0x14] + add r1, r0, #0x0 + add r3, r2, #0x0 + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x8] + mul r3, r0 + ldr r0, [sp, #0x18] + add r0, r0, r3 + bl sub_021EF654 + add r1, r0, #0x0 + cmp r1, #0x3 + bls _0204A53C + mov r4, #0x0 + b _0204A558 +_0204A53C: + lsl r1, r1, #0x18 + ldr r0, [sp, #0x8] + lsr r1, r1, #0x18 + bl sub_021EF8C8 + add r3, r0, #0x0 + add r0, sp, #0x30 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x2c] + ldr r2, [sp, #0x34] + bl sub_021F3DA4 + add r4, r0, #0x0 +_0204A558: + ldr r0, [sp, #0x20] + cmp r0, #0x0 + beq _0204A5A4 + add r0, sp, #0x28 + add r5, #0x9c + ldrb r0, [r0, #0x0] + ldr r1, [r5, #0x0] + bl sub_021F4568 + add r5, r0, #0x0 + cmp r4, #0x0 + beq _0204A59E + ldr r0, [sp, #0x30] + str r0, [sp, #0x10] + cmp r5, r0 + bgt _0204A57C + mov r1, #0x1 + b _0204A5B2 +_0204A57C: + ldr r1, [sp, #0x4] + bl sub_0204A498 + add r4, r0, #0x0 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0204A498 + cmp r4, r0 + bgt _0204A598 + ldr r0, [sp, #0x30] + mov r1, #0x1 + str r0, [sp, #0x10] + b _0204A5B2 +_0204A598: + str r5, [sp, #0x10] + mov r1, #0x2 + b _0204A5B2 +_0204A59E: + mov r1, #0x2 + str r5, [sp, #0x10] + b _0204A5B2 +_0204A5A4: + cmp r4, #0x0 + beq _0204A5B0 + ldr r0, [sp, #0x30] + mov r1, #0x1 + str r0, [sp, #0x10] + b _0204A5B2 +_0204A5B0: + mov r1, #0x0 +_0204A5B2: + ldr r0, [sp, #0x50] + cmp r0, #0x0 + beq _0204A5BA + strb r1, [r0, #0x0] +_0204A5BA: + ldr r0, [sp, #0x10] + add sp, #0x38 + pop {r3-r7, pc} + + thumb_func_start sub_0204A5C0 +sub_0204A5C0: ; 0x0204A5C0 + push {r3, lr} + asr r1, r2, #0xf + lsr r1, r1, #0x10 + add r1, r2, r1 + asr r2, r3, #0xf + lsr r2, r2, #0x10 + add r2, r3, r2 + ldr r0, [r0, #0x24] + asr r1, r1, #0x10 + asr r2, r2, #0x10 + mov r3, #0x0 + bl sub_021EF844 + ldr r1, [sp, #0x8] + cmp r1, #0x0 + beq _0204A5EE + cmp r0, #0x0 + beq _0204A5E8 + mov r1, #0x1 + b _0204A5EA +_0204A5E8: + mov r1, #0x0 +_0204A5EA: + ldr r0, [sp, #0x8] + strb r1, [r0, #0x0] +_0204A5EE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204A5F4 +sub_0204A5F4: ; 0x0204A5F4 + push {r3-r7, lr} + ldr r7, [r0, #0x24] + add r4, r3, #0x0 + add r0, r7, #0x0 + add r3, sp, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_021EF844 + cmp r0, #0x0 + bne _0204A612 + mov r0, #0xff + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} +_0204A612: + add r1, sp, #0x0 + ldrb r1, [r1, #0x0] + add r0, r7, #0x0 + bl sub_021EF8DC + lsr r2, r5, #0x1f + lsl r1, r5, #0x1b + sub r1, r1, r2 + mov r3, #0x1b + ror r1, r3 + add r1, r2, r1 + lsr r5, r6, #0x1f + lsl r2, r6, #0x1b + sub r2, r2, r5 + ror r2, r3 + add r2, r5, r2 + lsl r2, r2, #0x5 + add r1, r1, r2 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_0204A640 +sub_0204A640: ; 0x0204A640 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x28] + add r4, r2, #0x0 + add r5, r1, #0x0 + add r7, r3, #0x0 + bl sub_020344FC + asr r2, r4, #0x4 + asr r1, r5, #0x4 + lsr r2, r2, #0x1b + lsr r1, r1, #0x1b + add r2, r4, r2 + add r1, r5, r1 + asr r2, r2, #0x5 + asr r1, r1, #0x5 + mul r0, r2 + add r0, r1, r0 + ldr r1, [r6, #0x54] + bl sub_0204A3A4 + lsr r2, r5, #0x1f + lsl r1, r5, #0x1b + sub r1, r1, r2 + mov r3, #0x1b + ror r1, r3 + add r1, r2, r1 + lsr r5, r4, #0x1f + lsl r2, r4, #0x1b + sub r2, r2, r5 + ror r2, r3 + add r2, r5, r2 + lsl r2, r2, #0x5 + add r1, r1, r2 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + strh r0, [r7, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204A690 +sub_0204A690: ; 0x0204A690 + push {r3, lr} + cmp r1, #0x0 + bne _0204A69C + ldr r1, _0204A6AC ; =0x020F4708 + str r1, [r0, #0x0] + pop {r3, pc} +_0204A69C: + cmp r1, #0x1 + bne _0204A6A6 + ldr r1, _0204A6B0 ; =0x020F4710 + str r1, [r0, #0x0] + pop {r3, pc} +_0204A6A6: + bl sub_02020C2C + pop {r3, pc} + .balign 4 +_0204A6AC: .word 0x020F4708 +_0204A6B0: .word 0x020F4710 + + thumb_func_start sub_0204A6B4 +sub_0204A6B4: ; 0x0204A6B4 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [r0, #0x58] + add r3, sp, #0x0 + ldr r4, [r4, #0x4] + blx r4 + cmp r0, #0x0 + beq _0204A6DA + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + asr r0, r0, #0xf + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x1 + and r1, r0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x1 + beq _0204A6DC +_0204A6DA: + mov r0, #0x0 +_0204A6DC: + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0204A6E0 +sub_0204A6E0: ; 0x0204A6E0 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [r0, #0x58] + add r3, sp, #0x0 + ldr r4, [r4, #0x4] + blx r4 + cmp r0, #0x0 + beq _0204A700 + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + add sp, #0x4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r4, pc} +_0204A700: + mov r0, #0xff + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0204A708 +sub_0204A708: ; 0x0204A708 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + ldr r4, [r0, #0x58] + ldr r4, [r4, #0x0] + blx r4 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0204A71C +sub_0204A71C: ; 0x0204A71C + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [sp, #0x10] + mov r5, #0x2 + str r1, [sp, #0x0] + ldr r1, [r4, #0x4] + lsl r2, r2, #0x10 + lsl r5, r5, #0xe + lsl r3, r3, #0x10 + add r2, r2, r5 + add r3, r3, r5 + bl sub_0204A708 + ldr r1, [r4, #0x4] + cmp r0, r1 + bge _0204A744 + mov r4, #0x0 + add r2, r1, #0x0 + mvn r4, r4 + b _0204A754 +_0204A744: + cmp r0, r1 + ble _0204A750 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r4, #0x1 + b _0204A754 +_0204A750: + mov r0, #0x0 + pop {r3-r5, pc} +_0204A754: + sub r1, r2, r0 + mov r0, #0x5 + lsl r0, r0, #0xe + cmp r1, r0 + blt _0204A768 + cmp r4, #0x0 + bne _0204A76A + bl sub_02020C2C + b _0204A76A +_0204A768: + mov r4, #0x0 +_0204A76A: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204A770 +sub_0204A770: ; 0x0204A770 + push {r3-r7, lr} + sub sp, #0x8 + add r6, sp, #0x4 + add r5, r0, #0x0 + add r4, r2, #0x0 + add r7, r3, #0x0 + str r6, [sp, #0x0] + bl sub_0204A71C + ldr r1, [sp, #0x20] + cmp r1, #0x0 + beq _0204A78A + strb r0, [r1, #0x0] +_0204A78A: + cmp r0, #0x0 + bne _0204A7C2 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0204A6B4 + add r6, r0, #0x0 + bne _0204A7BC + add r0, sp, #0x4 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0204A7BC + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0204A6E0 + bl sub_020548B4 + cmp r0, #0x0 + beq _0204A7BC + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204A7BC: + add sp, #0x8 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204A7C2: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0204A7C8 +sub_0204A7C8: ; 0x0204A7C8 + push {r3-r7, lr} + sub sp, #0x10 + add r6, sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + add r4, r2, #0x0 + add r7, r3, #0x0 + str r6, [sp, #0x0] + bl sub_0204A71C + ldr r1, [sp, #0x28] + cmp r1, #0x0 + beq _0204A7E4 + strb r0, [r1, #0x0] +_0204A7E4: + cmp r0, #0x0 + bne _0204A83A + add r0, sp, #0xc + str r0, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + ldr r3, [r3, #0x4] + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0205CE00 + cmp r0, #0x0 + bne _0204A834 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0204A6B4 + str r0, [sp, #0xc] + cmp r0, #0x0 + bne _0204A82E + add r0, sp, #0x8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0204A82E + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0204A6E0 + bl sub_020548B4 + cmp r0, #0x0 + beq _0204A82E + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204A82E: + ldr r0, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} +_0204A834: + ldr r0, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} +_0204A83A: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0204A840 +sub_0204A840: ; 0x0204A840 + push {r3-r7, lr} + add r6, r0, r2 + ldr r0, [sp, #0x18] + add r4, r1, r3 + add r0, r6, r0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + ldr r5, [sp, #0x20] + add r7, r4, r0 + cmp r6, #0x0 + blt _0204A864 + cmp r4, #0x0 + blt _0204A864 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + blt _0204A864 + cmp r7, #0x0 + bge _0204A868 +_0204A864: + bl sub_02020C2C +_0204A868: + lsl r0, r6, #0x10 + str r0, [r5, #0x0] + lsl r0, r4, #0x10 + str r0, [r5, #0x4] + ldr r0, [sp, #0x0] + lsl r0, r0, #0x10 + str r0, [r5, #0x8] + lsl r0, r7, #0x10 + str r0, [r5, #0xc] + pop {r3-r7, pc} + + thumb_func_start sub_0204A87C +sub_0204A87C: ; 0x0204A87C + push {r4-r5, lr} + sub sp, #0xc + add r3, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r0, sp, #0x0 + add r1, r3, #0x0 + bl sub_021E7EA0 + ldr r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, [sp, #0x8] + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r1, [r4, #0x8] + add r2, r2, r1 + str r2, [sp, #0x8] + ldr r1, [r5, #0x0] + cmp r1, r0 + bgt _0204A8BC + ldr r1, [r5, #0x8] + cmp r0, r1 + bgt _0204A8BC + ldr r0, [r5, #0x4] + cmp r0, r2 + bgt _0204A8BC + ldr r0, [r5, #0xc] + cmp r2, r0 + bgt _0204A8BC + add sp, #0xc + mov r0, #0x1 + pop {r4-r5, pc} +_0204A8BC: + mov r0, #0x0 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0204A8C4 +sub_0204A8C4: ; 0x0204A8C4 + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x0] + mov r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204A8D4: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl sub_021EF604 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [r0, #0x24] + bl sub_021EF824 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x28] + bl sub_020344FC + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, sp, #0x10 + bl sub_0204AAD4 + mov r5, #0x0 +_0204A900: + ldr r0, [sp, #0xc] + add r1, r5, #0x0 + bl sub_021E7ED0 + add r1, r7, #0x0 + add r2, sp, #0x10 + add r4, r0, #0x0 + bl sub_0204A87C + cmp r0, #0x0 + beq _0204A92E + add r0, r4, #0x0 + bl sub_021E7EC4 + cmp r0, r6 + bne _0204A92E + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204A928 + str r4, [r0, #0x0] +_0204A928: + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0204A92E: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x20 + blo _0204A900 + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204A8D4 + mov r0, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start sub_0204A94C +sub_0204A94C: ; 0x0204A94C + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x0] + mov r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204A95C: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl sub_021EF604 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [r0, #0x24] + bl sub_021EF824 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x28] + bl sub_020344FC + add r1, r0, #0x0 + add r0, r6, #0x0 + add r2, sp, #0x10 + bl sub_0204AAD4 + mov r6, #0x0 +_0204A988: + ldr r0, [sp, #0xc] + add r1, r6, #0x0 + bl sub_021E7ED0 + ldr r1, [sp, #0x4] + add r2, sp, #0x10 + add r7, r0, #0x0 + bl sub_0204A87C + cmp r0, #0x0 + beq _0204A9D2 + add r0, r7, #0x0 + bl sub_021E7EC4 + mov r1, #0x0 + cmp r4, #0x0 + bls _0204A9D2 +_0204A9AA: + lsl r2, r1, #0x2 + ldr r2, [r5, r2] + cmp r0, r2 + bne _0204A9C8 + ldr r1, [sp, #0x30] + cmp r1, #0x0 + beq _0204A9BA + str r7, [r1, #0x0] +_0204A9BA: + ldr r1, [sp, #0x34] + cmp r1, #0x0 + beq _0204A9C2 + str r0, [r1, #0x0] +_0204A9C2: + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0204A9C8: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r4 + blo _0204A9AA +_0204A9D2: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x20 + blo _0204A988 + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204A95C + mov r0, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start sub_0204A9F0 +sub_0204A9F0: ; 0x0204A9F0 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + add r5, r1, #0x0 + str r2, [sp, #0x4] + str r3, [sp, #0x8] + mov r7, #0x0 +_0204A9FE: + ldr r1, [sp, #0x0] + add r0, r7, #0x0 + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl sub_021EF604 + mov r4, #0x0 +_0204AA0C: + ldr r0, [sp, #0xc] + add r1, r4, #0x0 + bl sub_021E7ED0 + add r6, r0, #0x0 + bl sub_021E7EC4 + cmp r0, r5 + bne _0204AA40 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204AA26 + str r6, [r0, #0x0] +_0204AA26: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _0204AA3A + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, #0x24] + bl sub_021EF824 + ldr r1, [sp, #0x8] + str r0, [r1, #0x0] +_0204AA3A: + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204AA40: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x20 + blo _0204AA0C + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x4 + blo _0204A9FE + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204AA5C +sub_0204AA5C: ; 0x0204AA5C + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204AA6C: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl sub_021EF604 + mov r6, #0x0 +_0204AA7A: + ldr r0, [sp, #0xc] + add r1, r6, #0x0 + bl sub_021E7ED0 + add r7, r0, #0x0 + bl sub_021E7EC4 + mov r1, #0x0 + cmp r4, #0x0 + bls _0204AAB6 +_0204AA8E: + lsl r2, r1, #0x2 + ldr r2, [r5, r2] + cmp r0, r2 + bne _0204AAAC + ldr r1, [sp, #0x4] + cmp r1, #0x0 + beq _0204AA9E + str r7, [r1, #0x0] +_0204AA9E: + ldr r1, [sp, #0x28] + cmp r1, #0x0 + beq _0204AAA6 + str r0, [r1, #0x0] +_0204AAA6: + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204AAAC: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r4 + blo _0204AA8E +_0204AAB6: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x20 + blo _0204AA7A + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204AA6C + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0204AAD4 +sub_0204AAD4: ; 0x0204AAD4 + push {r4-r6, lr} + add r4, r2, #0x0 + mov r2, #0x1 + lsl r2, r2, #0x14 + str r2, [r4, #0x0] + add r5, r0, #0x0 + add r6, r1, #0x0 + str r2, [r4, #0x8] + blx sub_020EBC80 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r4, #0x0] + lsl r1, r1, #0x15 + add r0, r0, r1 + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + ldr r1, [r4, #0x8] + lsl r0, r0, #0x15 + add r0, r1, r0 + str r0, [r4, #0x8] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204AB0C +sub_0204AB0C: ; 0x0204AB0C + push {r3, lr} + bl sub_0200541C + bl sub_02004810 + mov r0, #0x0 + bl sub_0200415C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204AB20 +sub_0204AB20: ; 0x0204AB20 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_02034E30 + bl sub_02034DE8 + strh r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204AB34 +sub_0204AB34: ; 0x0204AB34 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DE8 + ldrh r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start sub_0204AB44 +sub_0204AB44: ; 0x0204AB44 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DE8 + mov r1, #0x0 + strh r1, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204AB58 +sub_0204AB58: ; 0x0204AB58 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r4, r1, #0x0 + bl sub_020553C4 + cmp r0, #0x2 + bne _0204AB6C + ldr r0, _0204ABA0 ; =0x0000047F + pop {r3-r5, pc} +_0204AB6C: + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl sub_0205E128 + cmp r0, #0x1 + bne _0204AB7E + ldr r0, _0204ABA4 ; =0x0000047E + pop {r3-r5, pc} +_0204AB7E: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204ABA8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204AB34 + cmp r0, #0x0 + beq _0204AB9A + add r0, r5, #0x0 + bl sub_0204AB34 + add r4, r0, #0x0 +_0204AB9A: + add r0, r4, #0x0 + pop {r3-r5, pc} + nop +_0204ABA0: .word 0x0000047F +_0204ABA4: .word 0x0000047E + + thumb_func_start sub_0204ABA8 +sub_0204ABA8: ; 0x0204ABA8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201277C + cmp r0, #0x0 + bne _0204ABBE + add r0, r4, #0x0 + bl sub_020347B0 + b _0204ABC4 +_0204ABBE: + add r0, r4, #0x0 + bl sub_020347C4 +_0204ABC4: + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020462AC + add r1, r4, #0x0 + bl sub_0205EF20 + cmp r0, #0x0 + beq _0204ABD8 + add r6, r0, #0x0 +_0204ABD8: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0204ABDC +sub_0204ABDC: ; 0x0204ABDC + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r4, r1, #0x0 + add r7, r2, #0x0 + bl sub_020553C4 + add r6, r0, #0x0 + bl sub_02004104 + cmp r0, #0x1 + bne _0204ABFC + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0204ABFC: + add r0, r5, #0x0 + bl sub_02004124 + cmp r4, r0 + bne _0204AC0C + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0204AC0C: + bl sub_02004810 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x10 + add r3, sp, #0xc + bl sub_0204ACCC + cmp r6, #0x1 + beq _0204AC22 + bne _0204AC3A +_0204AC22: + mov r0, #0x1e + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + mov r0, #0x4 + add r1, r4, #0x0 + bl sub_02004E08 + b _0204AC4C +_0204AC3A: + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] + mov r0, #0x4 + add r1, r4, #0x0 + bl sub_02004DCC +_0204AC4C: + mov r0, #0x1 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0204AC54 +sub_0204AC54: ; 0x0204AC54 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02004104 + cmp r0, #0x1 + bne _0204AC6C + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0204AC6C: + add r0, r5, #0x0 + bl sub_02004124 + cmp r4, r0 + bne _0204AC7C + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0204AC7C: + bl sub_02004810 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, sp, #0xc + add r3, sp, #0x8 + bl sub_0204ACCC + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x8] + mov r0, #0x4 + add r1, r4, #0x0 + bl sub_02004DCC + mov r0, #0x1 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204ACA8 +sub_0204ACA8: ; 0x0204ACA8 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + bl sub_0204AB58 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204AD44 + bl sub_0200414C + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_0204AC54 + pop {r3-r7, pc} + + thumb_func_start sub_0204ACCC +sub_0204ACCC: ; 0x0204ACCC + cmp r1, #0x3 + bhi _0204AD0A + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r2, #0 + lsl r2, r3, #0 + lsl r4, r4, #0 + mov r0, #0x1e + str r0, [r2, #0x0] + mov r0, #0x0 + str r0, [r3, #0x0] + bx lr +_0204ACEE: + .byte 0x3C, 0x20 + .byte 0x10, 0x60, 0x00, 0x20, 0x18, 0x60, 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x0F, 0x20, 0x18, 0x60 + .byte 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x00, 0x20, 0x18, 0x60 +_0204AD0A: + bx lr + + thumb_func_start sub_0204AD0C +sub_0204AD0C: ; 0x0204AD0C + push {r3-r5, lr} + mov r1, #0x1 + bl sub_0206AC74 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, _0204AD38 ; =0x0000044D + ldr r2, _0204AD3C ; =0x020F4718 + mov r4, #0x0 +_0204AD1E: + lsl r3, r4, #0x2 + ldrh r1, [r2, r3] + cmp r5, r1 + bne _0204AD2C + ldr r0, _0204AD40 ; =0x020F471A + ldrh r0, [r0, r3] + pop {r3-r5, pc} +_0204AD2C: + add r1, r4, #0x1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, #0x4e + blo _0204AD1E + pop {r3-r5, pc} + .balign 4 +_0204AD38: .word 0x0000044D +_0204AD3C: .word 0x020F4718 +_0204AD40: .word 0x020F471A + + thumb_func_start sub_0204AD44 +sub_0204AD44: ; 0x0204AD44 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201277C + cmp r0, #0x0 + bne _0204AD58 + add r0, r4, #0x0 + bl sub_020347B0 + pop {r4, pc} +_0204AD58: + add r0, r4, #0x0 + bl sub_020347C4 + pop {r4, pc} + + thumb_func_start sub_0204AD60 +sub_0204AD60: ; 0x0204AD60 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_02004104 + cmp r0, #0x1 + beq _0204AD88 + bl sub_02004124 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0204ABA8 + cmp r4, r0 + beq _0204AD88 + mov r0, #0x0 + mov r1, #0x28 + bl sub_020053CC +_0204AD88: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204AD8C +sub_0204AD8C: ; 0x0204AD8C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02004104 + cmp r0, #0x1 + beq _0204ADB8 + mov r0, #0x0 + bl sub_0200415C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204ABA8 + add r4, r0, #0x0 + bl sub_0200414C + mov r0, #0x4 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_0200433C +_0204ADB8: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204ADBC +sub_0204ADBC: ; 0x0204ADBC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0204AB58 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204ABA8 + bl sub_0200414C + mov r0, #0x4 + add r1, r6, #0x0 + mov r2, #0x1 + bl sub_0200433C + pop {r4-r6, pc} + + thumb_func_start sub_0204ADE0 +sub_0204ADE0: ; 0x0204ADE0 + mov r3, #0x0 + add r2, r3, #0x0 +_0204ADE4: + lsl r1, r3, #0x2 + add r1, r0, r1 + strb r2, [r1, #0x6] + strb r2, [r1, #0x7] + strb r2, [r1, #0x8] + strb r2, [r1, #0x9] + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x6 + blo _0204ADE4 + str r2, [r0, #0x0] + strb r2, [r0, #0x4] + strb r2, [r0, #0x5] + bx lr + .balign 4 + + thumb_func_start sub_0204AE04 +sub_0204AE04: ; 0x0204AE04 + push {r4, lr} + add r4, r0, #0x0 + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r1, r2, #0x4 + lsr r1, r1, #0x1b + add r1, r2, r1 + lsl r0, r0, #0x13 + lsl r1, r1, #0x13 + ldrb r2, [r4, #0x4] + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + cmp r0, r2 + bne _0204AE28 + ldrb r2, [r4, #0x5] + cmp r1, r2 + beq _0204AE58 +_0204AE28: + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r0, [r2, #0x6] + ldr r0, [r4, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x7] + ldr r0, [r4, #0x0] + mov r1, #0xff + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x8] + ldr r0, [r4, #0x0] + mov r1, #0x1 + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x9] + ldr r0, [r4, #0x0] + mov r1, #0x6 + add r0, r0, #0x1 + blx sub_020EBC80 + str r1, [r4, #0x0] +_0204AE58: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204AE5C +sub_0204AE5C: ; 0x0204AE5C + push {r4, lr} + add r4, r0, #0x0 + lsl r0, r1, #0x18 + lsl r1, r2, #0x18 + ldrb r2, [r4, #0x4] + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + cmp r0, r2 + bne _0204AE74 + ldrb r2, [r4, #0x5] + cmp r1, r2 + beq _0204AEA6 +_0204AE74: + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r0, [r2, #0x6] + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r1, [r2, #0x7] + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r3, [r2, #0x8] + ldr r2, [r4, #0x0] + mov r3, #0x1 + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r3, [r2, #0x9] + strb r0, [r4, #0x4] + strb r1, [r4, #0x5] + ldr r0, [r4, #0x0] + mov r1, #0x6 + add r0, r0, #0x1 + blx sub_020EBC80 + str r1, [r4, #0x0] +_0204AEA6: + pop {r4, pc} + + thumb_func_start sub_0204AEA8 +sub_0204AEA8: ; 0x0204AEA8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _0204AEC6 + cmp r1, #0x1 + beq _0204AEE6 + b _0204AEF4 +_0204AEC6: + ldr r0, [r4, #0x8] + add r1, r5, #0x0 + add r2, r4, #0x4 + bl sub_021E3444 + ldr r1, [r4, #0xc] + mov r0, #0x5 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x1 + bl sub_0200433C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204AEF4 +_0204AEE6: + ldr r1, [r4, #0x4] + cmp r1, #0x1 + bne _0204AEF4 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0204AEF4: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0204AEF8 +sub_0204AEF8: ; 0x0204AEF8 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x10 + add r4, r2, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r5, [r2, #0x8] + ldr r1, _0204AF20 ; =sub_0204AEA8 + add r0, r6, #0x0 + str r4, [r2, #0xc] + bl sub_0204640C + pop {r4-r6, pc} + nop +_0204AF20: .word sub_0204AEA8 + 1 + + thumb_func_start sub_0204AF24 +sub_0204AF24: ; 0x0204AF24 + push {r3, lr} + bl sub_02046528 + bl sub_0203739C + cmp r0, #0x0 + bne _0204AF36 + mov r0, #0x1 + pop {r3, pc} +_0204AF36: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204AF3C +sub_0204AF3C: ; 0x0204AF3C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + bl sub_0203739C + cmp r0, #0x0 + bne _0204AF54 + bl sub_02020C2C + pop {r3-r5, pc} +_0204AF54: + add r0, r4, #0x0 + bl sub_02037394 + ldr r1, _0204AF68 ; =sub_0204AF24 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + nop +_0204AF68: .word sub_0204AF24 + 1 + + thumb_func_start sub_0204AF6C +sub_0204AF6C: ; 0x0204AF6C + push {r3, lr} + bl sub_02046528 + bl sub_020464A4 + cmp r0, #0x0 + beq _0204AF7E + mov r0, #0x1 + pop {r3, pc} +_0204AF7E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204AF84 +sub_0204AF84: ; 0x0204AF84 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + bl sub_0203739C + cmp r0, #0x0 + beq _0204AF9C + bl sub_02020C2C + pop {r3-r5, pc} +_0204AF9C: + add r0, r4, #0x0 + bl sub_0204649C + ldr r1, _0204AFB0 ; =sub_0204AF6C + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + nop +_0204AFB0: .word sub_0204AF6C + 1 + + thumb_func_start sub_0204AFB4 +sub_0204AFB4: ; 0x0204AFB4 + push {r3, lr} + bl sub_0200E308 + cmp r0, #0x0 + beq _0204AFC2 + mov r0, #0x1 + pop {r3, pc} +_0204AFC2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204AFC8 +sub_0204AFC8: ; 0x0204AFC8 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02046528 + bl sub_0203739C + cmp r0, #0x0 + bne _0204AFE2 + bl sub_02020C2C + add sp, #0xc + pop {r3-r4, pc} +_0204AFE2: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + ldr r1, _0204B008 ; =sub_0204AFB4 + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_0204640C + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_0204B008: .word sub_0204AFB4 + 1 + + thumb_func_start sub_0204B00C +sub_0204B00C: ; 0x0204B00C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02046528 + bl sub_0203739C + cmp r0, #0x0 + bne _0204B026 + bl sub_02020C2C + add sp, #0xc + pop {r3-r4, pc} +_0204B026: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + ldr r1, _0204B04C ; =sub_0204AFB4 + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_0204640C + add sp, #0xc + pop {r3-r4, pc} + nop +_0204B04C: .word sub_0204AFB4 + 1 + + thumb_func_start sub_0204B050 +sub_0204B050: ; 0x0204B050 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204B06A + cmp r0, #0x1 + beq _0204B078 + cmp r0, #0x2 + beq _0204B086 + b _0204B08A +_0204B06A: + add r0, r5, #0x0 + bl sub_0204AFC8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B08A +_0204B078: + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B08A +_0204B086: + mov r0, #0x1 + pop {r3-r5, pc} +_0204B08A: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B090 +sub_0204B090: ; 0x0204B090 + ldr r3, _0204B098 ; =sub_0204640C + ldr r1, _0204B09C ; =sub_0204B050 + mov r2, #0x0 + bx r3 + .balign 4 +_0204B098: .word sub_0204640C + 1 +_0204B09C: .word sub_0204B050 + 1 + + thumb_func_start sub_0204B0A0 +sub_0204B0A0: ; 0x0204B0A0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _0204B0C0 + cmp r1, #0x1 + beq _0204B0CE + cmp r1, #0x2 + beq _0204B0E0 + b _0204B0E4 +_0204B0C0: + add r0, r5, #0x0 + bl sub_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B0E4 +_0204B0CE: + bl sub_021E331C + add r0, r5, #0x0 + bl sub_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B0E4 +_0204B0E0: + mov r0, #0x1 + pop {r3-r5, pc} +_0204B0E4: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0204B0E8 +sub_0204B0E8: ; 0x0204B0E8 + ldr r3, _0204B0F0 ; =sub_0204640C + ldr r1, _0204B0F4 ; =sub_0204B0A0 + mov r2, #0x0 + bx r3 + .balign 4 +_0204B0F0: .word sub_0204640C + 1 +_0204B0F4: .word sub_0204B0A0 + 1 + + thumb_func_start sub_0204B0F8 +sub_0204B0F8: ; 0x0204B0F8 + push {r4-r5, lr} + sub sp, #0x1c + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02023794 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204B12A + add r0, sp, #0xc + add r1, sp, #0x0 + bl sub_0201265C + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0xc + bl sub_0204B130 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0xc + add r3, sp, #0x0 + bl sub_0204B158 +_0204B12A: + add sp, #0x1c + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0204B130 +sub_0204B130: ; 0x0204B130 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r2, #0x0 + blx sub_020D660C + ldr r1, [r5, #0x20] + add r4, r0, #0x0 + cmp r4, r1 + bhs _0204B148 + str r4, [r5, #0x20] + pop {r4-r6, pc} +_0204B148: + cmp r4, r1 + bls _0204B156 + add r0, r6, #0x0 + sub r1, r4, r1 + bl sub_0204B1DC + str r4, [r5, #0x20] +_0204B156: + pop {r4-r6, pc} + + thumb_func_start sub_0204B158 +sub_0204B158: ; 0x0204B158 + push {r4-r7, lr} + sub sp, #0xc + add r4, r2, #0x0 + str r0, [sp, #0x0] + add r6, r3, #0x0 + add r5, r1, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + blx sub_020D6578 + str r1, [sp, #0x8] + add r1, r5, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x4 + add r1, #0x14 + blx sub_020D6578 + add r2, r1, #0x0 + sub r1, r7, r0 + ldr r1, [sp, #0x8] + sbc r1, r2 + bge _0204B19C + add r2, r5, #0x4 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r6!, {r0-r1} + add r5, #0x14 + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add sp, #0xc + str r0, [r5, #0x0] + pop {r4-r7, pc} +_0204B19C: + ldr r1, [sp, #0x8] + sub r0, r7, r0 + sbc r1, r2 + mov r2, #0x3c + mov r3, #0x0 + str r1, [sp, #0x8] + blx sub_020EBA38 + add r7, r0, #0x0 + cmp r7, #0x0 + ble _0204B1D8 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02023884 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_0204B270 + add r2, r5, #0x4 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r6!, {r0-r1} + add r5, #0x14 + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + str r0, [r5, #0x0] +_0204B1D8: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0204B1DC +sub_0204B1DC: ; 0x0204B1DC + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + bl sub_020377AC + add r1, r4, #0x0 + bl sub_02025A60 + add r0, r5, #0x0 + bl sub_0203959C + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl sub_02060344 + ldr r0, [r5, #0xc] + bl sub_0202881C + add r1, r4, #0x0 + bl sub_02028754 + ldr r0, [r5, #0xc] + bl sub_0202A9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0202881C + bl sub_020287A4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_0202A988 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_02069D50 + ldr r0, [r5, #0xc] + bl sub_020462AC + add r6, r0, #0x0 + bl sub_0205F594 + cmp r0, r4 + ble _0204B244 + sub r0, r0, r4 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + b _0204B246 +_0204B244: + mov r1, #0x0 +_0204B246: + add r0, r6, #0x0 + bl sub_0205F5A4 + lsl r1, r4, #0x10 + ldr r0, [r5, #0xc] + lsr r1, r1, #0x10 + bl sub_0205F618 + ldr r0, [r5, #0xc] + bl sub_0205F668 + ldr r0, [r5, #0xc] + bl sub_0206007C + ldr r0, [r5, #0xc] + bl sub_02029AFC + bl sub_02029C08 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204B270 +sub_0204B270: ; 0x0204B270 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0204B3D0 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl sub_0202A9D0 + add r0, r5, #0x0 + bl sub_0204B33C + add r2, r0, #0x0 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl sub_02025B60 + ldr r0, [r5, #0xc] + bl sub_02022504 + ldr r2, [r6, #0x4] + add r1, r4, #0x0 + bl sub_0202B3C4 + pop {r4-r6, pc} + + thumb_func_start sub_0204B2A4 +sub_0204B2A4: ; 0x0204B2A4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0x14] + bl sub_020127A8 + pop {r3, pc} + + thumb_func_start sub_0204B2B4 +sub_0204B2B4: ; 0x0204B2B4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0x8] + pop {r3, pc} + + thumb_func_start sub_0204B2C0 +sub_0204B2C0: ; 0x0204B2C0 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0xc] + pop {r3, pc} + + thumb_func_start sub_0204B2CC +sub_0204B2CC: ; 0x0204B2CC + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0x10] + pop {r3, pc} + + thumb_func_start sub_0204B2D8 +sub_0204B2D8: ; 0x0204B2D8 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0x14] + pop {r3, pc} + + thumb_func_start sub_0204B2E4 +sub_0204B2E4: ; 0x0204B2E4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + ldr r0, [r0, #0x18] + pop {r3, pc} + + thumb_func_start sub_0204B2F0 +sub_0204B2F0: ; 0x0204B2F0 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02023794 + add r3, r0, #0x0 + ldr r2, [r3, #0x24] + ldr r3, [r3, #0x28] + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020D6320 + pop {r3-r5, pc} + + thumb_func_start sub_0204B30C +sub_0204B30C: ; 0x0204B30C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02023794 + add r3, r0, #0x0 + ldr r2, [r3, #0x2c] + ldr r3, [r3, #0x30] + add r0, r5, #0x0 + add r1, r4, #0x0 + blx sub_020D6320 + pop {r3-r5, pc} + + thumb_func_start sub_0204B328 +sub_0204B328: ; 0x0204B328 + push {r4, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + add r4, r0, #0x0 + bl sub_020126FC + str r0, [r4, #0x2c] + str r1, [r4, #0x30] + pop {r4, pc} + + thumb_func_start sub_0204B33C +sub_0204B33C: ; 0x0204B33C + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02023794 + bl sub_02023874 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204B34C +sub_0204B34C: ; 0x0204B34C + cmp r0, #0x0 + bne _0204B354 + mov r0, #0x0 + bx lr +_0204B354: + add r0, #0x94 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_0204B35C +sub_0204B35C: ; 0x0204B35C + cmp r0, #0x0 + bne _0204B364 + mov r0, #0x0 + bx lr +_0204B364: + sub r0, #0x94 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_0204B36C +sub_0204B36C: ; 0x0204B36C + cmp r0, #0x0 + bne _0204B374 + mov r0, #0x0 + bx lr +_0204B374: + add r0, #0x5e + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start sub_0204B37C +sub_0204B37C: ; 0x0204B37C + cmp r0, #0x0 + bne _0204B384 + mov r0, #0x0 + bx lr +_0204B384: + sub r0, #0x5e + bx lr + + thumb_func_start sub_0204B388 +sub_0204B388: ; 0x0204B388 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x64 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x64 + blx sub_020CE34C + str r6, [r4, #0x0] + add r0, r6, #0x0 + bl sub_02025128 + str r0, [r4, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204B410 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204B3B8 +sub_0204B3B8: ; 0x0204B3B8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204B444 + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204B3D0 +sub_0204B3D0: ; 0x0204B3D0 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + add r6, r1, #0x0 + cmp r0, #0x0 + bne _0204B3FA + mov r0, #0xb + bl sub_02025128 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_02024ECC + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_020253E0 + add r0, r5, #0x0 + bl sub_02016A18 + pop {r4-r6, pc} +_0204B3FA: + ldr r0, [r0, #0x18] + ldr r5, [r0, #0x4] + ldr r0, [r4, #0xc] + bl sub_02024ECC + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_020253E0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204B410 +sub_0204B410: ; 0x0204B410 + push {r3-r5, lr} + ldr r4, [r0, #0x3c] + add r5, r1, #0x0 + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_021E4C54 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02016998 + str r0, [r5, #0x60] + ldr r2, [r5, #0x60] + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_021E4C60 + add r0, r5, #0x0 + add r1, r5, #0x0 + add r5, #0x60 + add r0, #0x8 + add r1, #0x5c + add r2, r5, #0x0 + bl sub_0201B234 + pop {r3-r5, pc} + + thumb_func_start sub_0204B444 +sub_0204B444: ; 0x0204B444 + ldr r3, _0204B44C ; =0x021E4C01 + ldr r0, [r0, #0x60] + bx r3 + nop +_0204B44C: .word 0x021E4C01 + + thumb_func_start sub_0204B450 +sub_0204B450: ; 0x0204B450 + push {r3-r5, lr} + sub sp, #0x30 + ldr r3, _0204B48C ; =0x020F4860 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x24 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + add r0, sp, #0x0 + blx sub_020C3F14 + ldr r0, [r5, #0x4] + add r1, r4, #0x0 + ldr r0, [r0, #0x18] + add r2, sp, #0x0 + ldr r0, [r0, #0x5c] + add r3, sp, #0x24 + bl sub_0201B6D0 + cmp r0, #0x0 + beq _0204B484 + add sp, #0x30 + mov r0, #0x1 + pop {r3-r5, pc} +_0204B484: + mov r0, #0x0 + add sp, #0x30 + pop {r3-r5, pc} + nop +_0204B48C: .word 0x020F4860 + + thumb_func_start sub_0204B490 +sub_0204B490: ; 0x0204B490 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + bl sub_02024ECC + add r4, r0, #0x0 + ldr r0, [r5, #0x34] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + bne _0204B4F8 + mov r6, #0x0 + mov r7, #0x1 +_0204B4B6: + ldr r0, [sp, #0x0] + bl sub_02058458 + bl sub_0205C334 + cmp r0, #0x1 + bne _0204B4E8 + ldr r0, [sp, #0x0] + bl sub_02058B7C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204B450 + cmp r0, #0x0 + beq _0204B4E8 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, r7, #0x0 + bl sub_020252C4 +_0204B4E8: + ldr r0, [r5, #0x34] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + beq _0204B4B6 +_0204B4F8: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0204B4FC +sub_0204B4FC: ; 0x0204B4FC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r7, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_02058510 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02025244 + str r0, [sp, #0x4] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020252E8 + add r6, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_0204B34C + str r0, [sp, #0x8] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02025268 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + lsl r3, r6, #0x10 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x10 + bl sub_020616A4 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_020252F4 + add r0, r7, #0x0 + bl sub_0205C374 + ldr r0, [r5, #0xc] + bl sub_0206F158 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_0204B34C + lsl r2, r6, #0x10 + add r1, r0, #0x0 + add r0, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x4 + bl sub_0206ED38 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0204B57C +sub_0204B57C: ; 0x0204B57C + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + add r5, r2, #0x0 + bl sub_02024ECC + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204B37C + add r2, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020252DC + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204B5A8 +sub_0204B5A8: ; 0x0204B5A8 + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_02024ECC + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204B35C + ldr r2, [r4, #0x4] + add r3, r0, #0x0 + ldr r2, [r2, #0x18] + add r0, r7, #0x0 + ldr r2, [r2, #0x4] + add r1, r5, #0x0 + bl sub_02025274 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204B5DC +sub_0204B5DC: ; 0x0204B5DC + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020252AC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B5FC +sub_0204B5FC: ; 0x0204B5FC + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02025238 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B61C +sub_0204B61C: ; 0x0204B61C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02025244 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B63C +sub_0204B63C: ; 0x0204B63C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02025244 + bl sub_0204B34C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B660 +sub_0204B660: ; 0x0204B660 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020252D0 + bl sub_0204B36C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B684 +sub_0204B684: ; 0x0204B684 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202524C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B6A4 +sub_0204B6A4: ; 0x0204B6A4 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020252E8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B6C4 +sub_0204B6C4: ; 0x0204B6C4 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + ldr r4, _0204B708 ; =0x00000000 + beq _0204B6D8 + add r0, r5, #0x0 + bl sub_02058458 + cmp r0, #0x64 + beq _0204B6DC +_0204B6D8: + mov r0, #0x0 + pop {r4-r6, pc} +_0204B6DC: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0204B5FC + cmp r0, #0x0 + bne _0204B6FE + mov r0, #0x1 + orr r4, r0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0204B660 + cmp r0, #0x0 + bne _0204B702 + mov r0, #0x2 + orr r4, r0 + b _0204B702 +_0204B6FE: + mov r0, #0x4 + orr r4, r0 +_0204B702: + add r0, r4, #0x0 + pop {r4-r6, pc} + nop +_0204B708: .word 0x00000000 + + thumb_func_start sub_0204B70C +sub_0204B70C: ; 0x0204B70C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [r7, #0x38] + add r5, r2, #0x0 + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r7, #0x38] + bl sub_0205532C + add r4, r0, #0x0 + cmp r5, #0x2 + bne _0204B72A + sub r6, r6, #0x1 + b _0204B746 +_0204B72A: + cmp r5, #0x3 + bne _0204B732 + add r6, r6, #0x1 + b _0204B746 +_0204B732: + cmp r5, #0x0 + bne _0204B73A + sub r4, r4, #0x1 + b _0204B746 +_0204B73A: + cmp r5, #0x1 + bne _0204B742 + add r4, r4, #0x1 + b _0204B746 +_0204B742: + bl sub_02020C2C +_0204B746: + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204A6B4 + cmp r0, #0x0 + beq _0204B758 + mov r0, #0x1 + pop {r3-r7, pc} +_0204B758: + ldr r0, [r7, #0x34] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02058D74 + cmp r0, #0x0 + beq _0204B76A + mov r0, #0x1 + pop {r3-r7, pc} +_0204B76A: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204B770 +sub_0204B770: ; 0x0204B770 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r6, r1, #0x0 + bl sub_02055320 + add r4, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r2, r0, #0x0 + cmp r6, #0x2 + bne _0204B78E + sub r4, r4, #0x1 + b _0204B794 +_0204B78E: + cmp r6, #0x3 + bne _0204B794 + add r4, r4, #0x1 +_0204B794: + ldr r0, [r5, #0x34] + add r1, r4, #0x0 + sub r2, r2, #0x1 + bl sub_02058D74 + pop {r4-r6, pc} + + thumb_func_start sub_0204B7A0 +sub_0204B7A0: ; 0x0204B7A0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r6, r1, #0x0 + bl sub_02055320 + add r7, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r4, r0, #0x0 + ldr r0, [r6, #0x4] + cmp r0, #0x0 + bne _0204B7C0 + sub r4, r4, #0x1 + b _0204B7CC +_0204B7C0: + cmp r0, #0x1 + bne _0204B7C8 + add r4, r4, #0x1 + b _0204B7CC +_0204B7C8: + bl sub_02020C2C +_0204B7CC: + ldr r0, [r5, #0x34] + add r1, r7, #0x0 + add r2, r4, #0x0 + bl sub_02058D74 + pop {r3-r7, pc} + + thumb_func_start sub_0204B7D8 +sub_0204B7D8: ; 0x0204B7D8 + push {r3, lr} + bl sub_02058458 + cmp r0, #0x64 + bne _0204B7E6 + mov r0, #0x1 + pop {r3, pc} +_0204B7E6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204B7EC +sub_0204B7EC: ; 0x0204B7EC + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204B7A0 + add r1, r0, #0x0 + beq _0204B7FE + add r0, r4, #0x0 + bl sub_0204B5DC +_0204B7FE: + pop {r4, pc} + + thumb_func_start sub_0204B800 +sub_0204B800: ; 0x0204B800 + push {r3-r5, lr} + ldr r0, [r0, #0x38] + add r4, r2, #0x0 + add r5, r1, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_0205AEA4 + str r0, [r5, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204B818 +sub_0204B818: ; 0x0204B818 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x4 + bls _0204B832 + b _0204B98E +_0204B832: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r4, #0 + lsl r6, r6, #0 + lsl r2, r7, #0x3 + lsl r2, r6, #0x4 + ldr r0, [r5, #0x38] + mov r1, #0x10 + bl sub_021E5FD8 + ldr r0, [r5, #0x38] + bl sub_021E5FE0 + ldr r0, [r5, #0x38] + bl sub_020553A0 + bl sub_02058914 + mov r0, #0x1 + str r0, [r4, #0x0] + b _0204B98E +_0204B866: + .byte 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0xBF, 0xFF, 0x00, 0x20 + .byte 0xA0, 0x60, 0x02, 0x20, 0x20, 0x60, 0x47, 0x48, 0x20, 0x21, 0x40, 0x6C, 0x01, 0x42, 0x1B, 0xD0 + .byte 0x28, 0x1C, 0x02, 0x21, 0xFF, 0xF7, 0x74, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0xA4, 0xFF + .byte 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x79, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x02, 0x22 + .byte 0xFF, 0xF7, 0x34, 0xFF, 0x00, 0x28, 0x3C, 0xD1, 0x3B, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7 + .byte 0xA7, 0xFF, 0x03, 0x20, 0x20, 0x60, 0x6A, 0xE0, 0x10, 0x21, 0x01, 0x42, 0x1B, 0xD0, 0x28, 0x1C + .byte 0x03, 0x21, 0xFF, 0xF7, 0x55, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0x85, 0xFF, 0x00, 0x28 + .byte 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x5A, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x03, 0x22, 0xFF, 0xF7 + .byte 0x15, 0xFF, 0x00, 0x28, 0x1D, 0xD1, 0x2D, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0x88, 0xFF + .byte 0x03, 0x20, 0x20, 0x60, 0x4B, 0xE0, 0x40, 0x21, 0x01, 0x42, 0x09, 0xD0, 0x61, 0x68, 0x01, 0x29 + .byte 0x06, 0xD1, 0xA8, 0x6B, 0x00, 0x21, 0x09, 0xF0, 0xFD, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x3E, 0xE0 + .byte 0x80, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60 + .byte 0x35, 0xE0, 0xA0, 0x68, 0x40, 0x1C, 0xA0, 0x60, 0x5A, 0x28, 0x30, 0xDD, 0xA8, 0x6B, 0x61, 0x68 + .byte 0x09, 0xF0, 0xE8, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x29, 0xE0, 0xE0, 0x68, 0x0F, 0xF0, 0xD8, 0xFA + .byte 0x00, 0x28, 0x24, 0xD0, 0xE0, 0x68, 0x0F, 0xF0, 0xD9, 0xFA, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7 + .byte 0x27, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0xFF, 0xF7, 0x3F, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20 + .byte 0x20, 0x60, 0x14, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xCC, 0xFC, 0x04, 0x20, 0x20, 0x60 + .byte 0x0D, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xC5, 0xFC, 0xA8, 0x6B, 0x09, 0xF0, 0x10, 0xFD + .byte 0x0C, 0xF0, 0xC2, 0xFF, 0x20, 0x1C, 0xCB, 0xF7, 0x47, 0xF8, 0x01, 0x20, 0x38, 0xBD +_0204B98E: + mov r0, #0x0 + pop {r3-r5, pc} + nop + + thumb_func_start sub_0204B994 +sub_0204B994: ; 0x0204B994 + ldr r0, _0204BC78 ; =0x28063108 + lsl r4, r3, #0x8 + ldr r0, _0204BADC ; =0x0204BE11 + lsl r7, r1, #0x8 + ldr r0, _0204BB00 ; =0xD9014285 + lsl r7, r1, #0x8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x20 + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0xc] + ldr r0, [r5, #0x38] + bl sub_020552F8 + str r0, [r4, #0x4] + ldr r0, [r5, #0x10] + ldr r1, _0204B9C8 ; =sub_0204B818 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + .balign 4 +_0204B9C8: .word sub_0204B818 + 1 + + thumb_func_start sub_0204B9CC +sub_0204B9CC: ; 0x0204B9CC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_020553C4 + bl sub_02055648 + add r1, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_021E5FD8 + ldr r0, [r4, #0x38] + bl sub_021E5FE0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204B9EC +sub_0204B9EC: ; 0x0204B9EC + push {r4, lr} + ldr r1, _0204BA14 ; =0x021C5A1C + add r4, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4c + blx sub_020CE240 + ldr r1, _0204BA14 ; =0x021C5A1C + add r0, r4, #0x0 + bl sub_0204BB20 + ldr r0, _0204BA14 ; =0x021C5A1C + bl sub_0204BBC4 + bl sub_020126FC + ldr r2, _0204BA18 ; =0x021C5A1C + str r0, [r2, #0x40] + str r1, [r2, #0x44] + pop {r4, pc} + .balign 4 +_0204BA14: .word 0x021C5A1C +_0204BA18: .word 0x021C5A1C + + thumb_func_start sub_0204BA1C +sub_0204BA1C: ; 0x0204BA1C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + ldr r4, _0204BA60 ; =0x021C5A1C + bl sub_02029FC8 + add r5, r0, #0x0 + bl sub_020126FC + add r3, r1, #0x0 + ldr r1, _0204BA64 ; =0x021C5A1C + add r2, r0, #0x0 + ldr r0, [r1, #0x40] + ldr r1, [r1, #0x44] + bl sub_020127C0 + mov r2, #0xfa + mov r3, #0x0 + lsl r2, r2, #0x2 + sub r2, r0, r2 + sbc r1, r3 + bge _0204BA50 + mov r1, #0xfa + lsl r1, r1, #0x2 + sub r0, r1, r0 + lsl r0, r0, #0x1 + b _0204BA52 +_0204BA50: + mov r0, #0x0 +_0204BA52: + str r0, [r4, #0x48] + add r0, r5, #0x0 + mov r1, #0x11 + bl sub_0202A170 + pop {r3-r5, pc} + nop +_0204BA60: .word 0x021C5A1C +_0204BA64: .word 0x021C5A1C + + thumb_func_start sub_0204BA68 +sub_0204BA68: ; 0x0204BA68 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204BA8C ; =0x021C5A1C + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0204BBE8 + cmp r0, #0x1 + bne _0204BA88 + ldr r1, _0204BA8C ; =0x021C5A1C + add r0, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_0204BC48 + pop {r4-r6, pc} +_0204BA88: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0204BA8C: .word 0x021C5A1C + + thumb_func_start sub_0204BA90 +sub_0204BA90: ; 0x0204BA90 + ldr r3, _0204BA98 ; =sub_0204BD40 + ldr r1, _0204BA9C ; =0x021C5A1C + bx r3 + nop +_0204BA98: .word sub_0204BD40 + 1 +_0204BA9C: .word 0x021C5A1C + + thumb_func_start sub_0204BAA0 +sub_0204BAA0: ; 0x0204BAA0 + ldr r3, _0204BAA8 ; =sub_0204BD18 + ldr r2, _0204BAAC ; =0x021C5A1C + bx r3 + nop +_0204BAA8: .word sub_0204BD18 + 1 +_0204BAAC: .word 0x021C5A1C + + thumb_func_start sub_0204BAB0 +sub_0204BAB0: ; 0x0204BAB0 + push {r3, lr} + ldr r0, _0204BAC0 ; =0x021C5A1C + bl sub_0204BBA8 + mov r1, #0x6 + sub r0, r1, r0 + pop {r3, pc} + nop +_0204BAC0: .word 0x021C5A1C + + thumb_func_start sub_0204BAC4 +sub_0204BAC4: ; 0x0204BAC4 + ldr r3, _0204BACC ; =0x0204BD8D + ldr r0, _0204BAD0 ; =0x021C5A1C + bx r3 + nop +_0204BACC: .word 0x0204BD8D +_0204BAD0: .word 0x021C5A1C + + thumb_func_start sub_0204BAD4 +sub_0204BAD4: ; 0x0204BAD4 + ldr r3, _0204BADC ; =0x0204BE11 + ldr r0, _0204BAE0 ; =0x021C5A1C + bx r3 + nop +_0204BADC: .word 0x0204BE11 +_0204BAE0: .word 0x021C5A1C + + thumb_func_start sub_0204BAE4 +sub_0204BAE4: ; 0x0204BAE4 + ldr r3, _0204BAEC ; =sub_0204BDA0 + ldr r0, _0204BAF0 ; =0x021C5A1C + bx r3 + nop +_0204BAEC: .word sub_0204BDA0 + 1 +_0204BAF0: .word 0x021C5A1C + + thumb_func_start sub_0204BAF4 +sub_0204BAF4: ; 0x0204BAF4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + beq _0204BB04 + ldr r0, _0204BB1C ; =0x000001ED + .balign 4 +_0204BB00: .word 0xD9014285 +_0204BB04: + bl sub_02020C2C +_0204BB08: + mov r3, #0x6 + add r0, r4, #0x0 + sub r4, r5, #0x1 + str r3, [sp, #0x0] + mov r1, #0x83 + mov r2, #0x0 + mul r3, r4 + bl sub_02006548 + pop {r3-r5, pc} + .balign 4 +_0204BB1C: .word 0x000001ED + + thumb_func_start sub_0204BB20 +sub_0204BB20: ; 0x0204BB20 + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + bl sub_02022528 + str r0, [sp, #0x4] + mov r0, #0x4 + bl sub_020669C0 + ldr r5, [sp, #0x0] + add r4, r0, #0x0 + mov r6, #0x0 + add r7, sp, #0x8 +_0204BB3C: + ldr r0, [sp, #0x0] + add r2, r4, #0x0 + add r1, r0, r6 + add r1, #0x30 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [sp, #0x4] + add r1, r6, #0x0 + bl sub_0202BFD8 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + strh r0, [r5, #0x0] + add r1, sp, #0x8 + bl sub_0204BAF4 + ldrb r0, [r7, #0x0] + cmp r0, #0x0 + beq _0204BB6E + b _0204BB72 +_0204BB6E: + ldrb r0, [r7, #0x1] + add r0, r0, #0x4 +_0204BB72: + strb r0, [r5, #0x2] + ldrb r0, [r7, #0x3] + mov r1, #0xb0 + mov r2, #0x0 + strb r0, [r5, #0x3] + ldrb r0, [r7, #0x2] + strh r0, [r5, #0x4] + add r0, r4, #0x0 + bl sub_020671BC + strb r0, [r5, #0x6] + add r0, r4, #0x0 + mov r1, #0xb1 + mov r2, #0x0 + bl sub_020671BC + strb r0, [r5, #0x7] + add r6, r6, #0x1 + add r5, #0x8 + cmp r6, #0x6 + blt _0204BB3C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204BBA8 +sub_0204BBA8: ; 0x0204BBA8 + mov r3, #0x0 + add r2, r3, #0x0 +_0204BBAC: + add r1, r0, r2 + add r1, #0x30 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204BBB8 + add r3, r3, #0x1 +_0204BBB8: + add r2, r2, #0x1 + cmp r2, #0x6 + blt _0204BBAC + add r0, r3, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0204BBC4 +sub_0204BBC4: ; 0x0204BBC4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_0201B9EC + ldr r1, _0204BBE4 ; =0x0000199A + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0xa + blo _0204BBDE + bl sub_02020C2C +_0204BBDE: + add r0, r5, #0x5 + str r0, [r4, #0x38] + pop {r3-r5, pc} + .balign 4 +_0204BBE4: .word 0x0000199A + + thumb_func_start sub_0204BBE8 +sub_0204BBE8: ; 0x0204BBE8 + push {r3, lr} + ldr r1, [r0, #0x38] + sub r1, r1, #0x1 + str r1, [r0, #0x38] + bne _0204BBFA + bl sub_0204BBC4 + mov r0, #0x1 + pop {r3, pc} +_0204BBFA: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204BC00 +sub_0204BC00: ; 0x0204BC00 + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_0204A6E0 + add r4, r0, #0x0 + cmp r5, #0x20 + blt _0204BC14 + mov r5, #0x1 + b _0204BC16 +_0204BC14: + mov r5, #0x0 +_0204BC16: + cmp r6, #0x20 + bge _0204BC1E + mov r0, #0x0 + b _0204BC20 +_0204BC1E: + mov r0, #0x2 +_0204BC20: + add r5, r5, r0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_0205478C + cmp r0, #0x0 + beq _0204BC32 + add r0, r5, #0x1 + pop {r4-r6, pc} +_0204BC32: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_0205481C + cmp r0, #0x0 + beq _0204BC42 + add r0, r5, #0x5 + pop {r4-r6, pc} +_0204BC42: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204BC48 +sub_0204BC48: ; 0x0204BC48 + push {r3-r7, lr} + add r5, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + mov r6, #0x0 + bl sub_0204BC00 + add r7, r0, #0x0 + bne _0204BC5E + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204BC5E: + add r0, r6, #0x0 + add r1, r5, #0x0 +_0204BC62: + add r2, r5, r0 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0204BC76 + ldrb r2, [r1, #0x2] + cmp r7, r2 + bne _0204BC76 + ldrb r2, [r1, #0x3] + add r6, r6, r2 +_0204BC76: + add r0, r0, #0x1 + .balign 4 +_0204BC78: .word 0x28063108 +_0204BC7C: + .byte 0xF1, 0xDB, 0x00, 0x2E + .byte 0x01, 0xD1, 0x00, 0x20, 0xF8, 0xBD +_0204BC86: + add r0, r6, #0x0 + add r0, #0x14 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _0204BC94 + bl sub_02020C2C +_0204BC94: + add r0, r6, #0x0 + add r0, #0x14 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x1 + bhi _0204BCA4 + mov r4, #0x0 + b _0204BCD8 +_0204BCA4: + bl sub_0201B9EC + add r1, r6, #0x0 + add r1, #0x14 + add r4, r0, #0x0 + lsl r1, r1, #0x10 + ldr r0, _0204BD14 ; =0x0000FFFF + lsr r1, r1, #0x10 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + add r6, #0x14 + lsr r4, r0, #0x10 + lsl r0, r6, #0x10 + lsr r0, r0, #0x10 + cmp r4, r0 + blo _0204BCD8 + bl sub_02020C2C +_0204BCD8: + cmp r4, #0x14 + bge _0204BCE0 + mov r0, #0x0 + pop {r3-r7, pc} +_0204BCE0: + sub r4, #0x14 + mov r1, #0x0 + add r0, r5, #0x0 +_0204BCE6: + add r2, r5, r1 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0204BD04 + ldrb r2, [r0, #0x2] + cmp r7, r2 + bne _0204BD04 + ldrb r2, [r0, #0x3] + cmp r4, r2 + bge _0204BD02 + str r1, [r5, #0x3c] + mov r0, #0x1 + pop {r3-r7, pc} +_0204BD02: + sub r4, r4, r2 +_0204BD04: + add r1, r1, #0x1 + add r0, #0x8 + cmp r1, #0x6 + blt _0204BCE6 + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204BD14: .word 0x0000FFFF + + thumb_func_start sub_0204BD18 +sub_0204BD18: ; 0x0204BD18 + push {r4, lr} + ldr r0, [r1, #0x14] + add r4, r2, #0x0 + cmp r0, #0x4 + beq _0204BD28 + cmp r0, #0x5 + beq _0204BD3E + b _0204BD3A +_0204BD28: + add r0, r4, #0x0 + bl sub_0204BBA8 + add r1, r0, #0x1 + ldr r0, [r4, #0x3c] + add r0, r4, r0 + add r0, #0x30 + strb r1, [r0, #0x0] + pop {r4, pc} +_0204BD3A: + bl sub_02020C2C +_0204BD3E: + pop {r4, pc} + + thumb_func_start sub_0204BD40 +sub_0204BD40: ; 0x0204BD40 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x20 + add r6, r1, #0x0 + bl sub_020669C0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02022528 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0204BAB0 + add r1, r0, #0x0 + mov r0, #0xb + bl sub_02047800 + add r1, r5, #0x0 + add r7, r0, #0x0 + bl sub_02047BB0 + ldr r0, [sp, #0x0] + ldr r1, [r6, #0x3c] + add r2, r4, #0x0 + bl sub_0202BFD8 + add r0, r7, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020479FC + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204BD8C: + .byte 0x00, 0x23, 0x1A, 0x1C + .byte 0x81, 0x88, 0x52, 0x1C, 0x08, 0x30, 0x5B, 0x18, 0x06, 0x2A, 0xF9, 0xDB, 0x18, 0x1C, 0x70, 0x47 + + thumb_func_start sub_0204BDA0 +sub_0204BDA0: ; 0x0204BDA0 + push {r4-r7} + mov r3, #0x0 + add r5, r0, #0x0 + add r4, r3, #0x0 + mov r0, #0x1 +_0204BDAA: + mov r1, #0x0 +_0204BDAC: + add r2, r5, r1 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r0, r2 + bne _0204BDEC + lsl r1, r1, #0x3 + add r2, r5, r1 + ldrb r1, [r2, #0x6] + ldrb r2, [r2, #0x7] + cmp r0, #0x1 + beq _0204BDD8 + mov r6, r12 + cmp r6, r1 + beq _0204BDD8 + mov r6, r12 + cmp r6, r2 + beq _0204BDD8 + cmp r7, r1 + beq _0204BDD8 + cmp r7, r2 + beq _0204BDD8 + add r4, #0xc8 +_0204BDD8: + mov r6, #0x1 + mov r12, r1 + lsl r6, r1 + add r1, r3, #0x0 + mov r3, #0x1 + lsl r3, r2 + orr r1, r6 + add r7, r2, #0x0 + orr r3, r1 + b _0204BDF2 +_0204BDEC: + add r1, r1, #0x1 + cmp r1, #0x6 + blt _0204BDAC +_0204BDF2: + add r0, r0, #0x1 + cmp r0, #0x7 + blt _0204BDAA + cmp r3, #0x0 + beq _0204BE0A + mov r0, #0x1 +_0204BDFE: + add r1, r3, #0x0 + tst r1, r0 + beq _0204BE06 + add r4, #0x32 +_0204BE06: + lsr r3, r3, #0x1 + bne _0204BDFE +_0204BE0A: + add r0, r4, #0x0 + pop {r4-r7} + bx lr +_0204BE10: + .byte 0x80, 0x6C, 0x70, 0x47 + + thumb_func_start sub_0204BE14 +sub_0204BE14: ; 0x0204BE14 + mov r0, #0xe8 + bx lr + + thumb_func_start sub_0204BE18 +sub_0204BE18: ; 0x0204BE18 + push {r3-r5, lr} + mov r2, #0x0 + add r3, r2, #0x0 +_0204BE1E: + add r1, r0, r2 + add r2, r2, #0x1 + strb r3, [r1, #0x3] + cmp r2, #0x20 + blt _0204BE1E + strb r3, [r0, #0x1] + strb r3, [r0, #0x2] + ldrb r1, [r0, #0x0] + mov r2, #0x1 + bic r1, r2 + strb r1, [r0, #0x0] + ldrb r4, [r0, #0x0] + mov r1, #0x38 + bic r4, r1 + strb r4, [r0, #0x0] + ldrb r4, [r0, #0x0] + mov r1, #0x2 + bic r4, r1 + strb r4, [r0, #0x0] + str r3, [r0, #0x24] + ldrh r1, [r0, #0x28] + bic r1, r2 + strh r1, [r0, #0x28] + ldrh r2, [r0, #0x28] + mov r1, #0x3e + bic r2, r1 + strh r2, [r0, #0x28] + ldrh r2, [r0, #0x28] + ldr r1, _0204BEB0 ; =0xFFFFF03F + and r1, r2 + strh r1, [r0, #0x28] + add r1, r0, #0x0 + mov r2, #0x1 + add r1, #0xa8 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xa4 + str r3, [r1, #0x0] + ldr r1, _0204BEB4 ; =0x020F486C + add r2, r0, #0x0 +_0204BE6E: + ldrb r5, [r1, #0x0] + add r4, r2, #0x0 + add r4, #0xa9 + strb r5, [r4, #0x0] + add r4, r2, #0x0 + ldrb r5, [r1, #0x1] + add r4, #0xaa + add r3, r3, #0x1 + strb r5, [r4, #0x0] + add r1, r1, #0x2 + add r2, r2, #0x2 + cmp r3, #0x6 + blt _0204BE6E + mov r4, #0x0 + add r3, r0, #0x0 + add r1, r4, #0x0 +_0204BE8E: + add r2, r3, #0x0 + add r2, #0xb6 + strh r1, [r2, #0x0] + add r2, r3, #0x0 + add r2, #0xb8 + add r4, r4, #0x1 + add r3, r3, #0x4 + strh r1, [r2, #0x0] + cmp r4, #0xc + blt _0204BE8E + ldrb r3, [r0, #0x0] + mov r2, #0x4 + bic r3, r2 + strb r3, [r0, #0x0] + bl sub_0204BED8 + pop {r3-r5, pc} + .balign 4 +_0204BEB0: .word 0xFFFFF03F +_0204BEB4: .word 0x020F486C + + thumb_func_start sub_0204BEB8 +sub_0204BEB8: ; 0x0204BEB8 + ldrb r2, [r0, #0x0] + mov r1, #0x1 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0204BEC8 +sub_0204BEC8: ; 0x0204BEC8 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_0204BED0 +sub_0204BED0: ; 0x0204BED0 + add r0, r0, r1 + ldrb r0, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start sub_0204BED8 +sub_0204BED8: ; 0x0204BED8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bmi _0204BEE4 + cmp r4, #0x19 + blt _0204BEE8 +_0204BEE4: + bl sub_02020C2C +_0204BEE8: + mov r0, #0x1 + ldrsb r1, [r5, r0] + cmp r1, #0x19 + bge _0204BF10 + add r2, r5, #0x3 + ldrb r1, [r2, r4] + cmp r1, #0x0 + bne _0204BF10 + strb r0, [r2, r4] + ldrsb r0, [r5, r0] + add r0, r0, #0x1 + strb r0, [r5, #0x1] + cmp r4, #0x3 + bne _0204BF0C + ldrb r1, [r5, #0x0] + mov r0, #0x2 + orr r0, r1 + strb r0, [r5, #0x0] +_0204BF0C: + mov r0, #0x1 + pop {r3-r5, pc} +_0204BF10: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0204BF14 +sub_0204BF14: ; 0x0204BF14 + mov r1, #0x2 + ldrsb r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_0204BF1C +sub_0204BF1C: ; 0x0204BF1C + push {r3-r4} + mov r1, #0x2 + ldrsb r3, [r0, r1] + mov r2, #0x0 + add r4, r3, #0x0 +_0204BF26: + add r3, r3, #0x1 + cmp r3, #0x19 + blt _0204BF2E + add r3, r2, #0x0 +_0204BF2E: + cmp r3, r4 + beq _0204BF3A + add r1, r0, r3 + ldrb r1, [r1, #0x3] + cmp r1, #0x0 + beq _0204BF26 +_0204BF3A: + mov r1, #0x2 + strb r3, [r0, #0x2] + ldrsb r0, [r0, r1] + pop {r3-r4} + bx lr + + thumb_func_start sub_0204BF44 +sub_0204BF44: ; 0x0204BF44 + push {r4, lr} + add r4, r0, #0x0 + bne _0204BF4E + bl sub_02020C2C +_0204BF4E: + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1d + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204BF58 +sub_0204BF58: ; 0x0204BF58 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0204BF66 + bl sub_02020C2C +_0204BF66: + cmp r4, #0x8 + blo _0204BF6E + bl sub_02020C2C +_0204BF6E: + ldrb r1, [r5, #0x0] + mov r0, #0x38 + bic r1, r0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1d + lsr r0, r0, #0x1a + orr r0, r1 + strb r0, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204BF84 +sub_0204BF84: ; 0x0204BF84 + ldr r0, [r0, #0x24] + bx lr + + thumb_func_start sub_0204BF88 +sub_0204BF88: ; 0x0204BF88 + ldrb r2, [r0, #0x0] + lsl r2, r2, #0x1e + lsr r2, r2, #0x1f + beq _0204BF92 + str r1, [r0, #0x24] +_0204BF92: + bx lr + + thumb_func_start sub_0204BF94 +sub_0204BF94: ; 0x0204BF94 + ldrh r0, [r0, #0x28] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_0204BF9C +sub_0204BF9C: ; 0x0204BF9C + ldrh r3, [r0, #0x28] + lsl r3, r3, #0x1a + lsr r3, r3, #0x1b + str r3, [r1, #0x0] + ldrh r0, [r0, #0x28] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1a + str r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0204BFB0 +sub_0204BFB0: ; 0x0204BFB0 + push {r4-r5} + ldrh r4, [r0, #0x28] + mov r5, #0x1 + lsl r1, r1, #0x10 + bic r4, r5 + lsr r5, r1, #0x10 + mov r1, #0x1 + and r1, r5 + orr r1, r4 + strh r1, [r0, #0x28] + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + lsl r2, r2, #0x1b + ldrh r1, [r0, #0x28] + mov r4, #0x3e + lsr r2, r2, #0x1a + bic r1, r4 + orr r1, r2 + strh r1, [r0, #0x28] + ldrh r2, [r0, #0x28] + ldr r1, _0204BFEC ; =0xFFFFF03F + and r2, r1 + lsl r1, r3, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1a + lsr r1, r1, #0x14 + orr r1, r2 + strh r1, [r0, #0x28] + pop {r4-r5} + bx lr + .balign 4 +_0204BFEC: .word 0xFFFFF03F + + thumb_func_start sub_0204BFF0 +sub_0204BFF0: ; 0x0204BFF0 + push {r3-r4} + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C016 + add r1, r0, #0x0 + add r1, #0xa4 + ldr r4, [r1, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + add r1, r4, #0x0 + orr r1, r2 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr +_0204C016: + add r3, r0, #0x0 + add r3, #0xa8 + strb r1, [r3, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + add r0, #0xa4 + str r2, [r0, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_0204C02C +sub_0204C02C: ; 0x0204C02C + push {r3-r4} + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C052 + add r1, r0, #0x0 + add r1, #0xa4 + ldr r4, [r1, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + mvn r1, r2 + and r1, r4 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr +_0204C052: + add r2, r0, #0x0 + add r2, #0xa8 + strb r1, [r2, #0x0] + mov r1, #0x0 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0204C064 +sub_0204C064: ; 0x0204C064 + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C07C + add r0, #0xa4 + ldr r1, [r0, #0x0] + sub r0, r2, #0x1 + lsr r1, r0 + mov r0, #0x1 + and r0, r1 + bx lr +_0204C07C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0204C080 +sub_0204C080: ; 0x0204C080 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x6 + blt _0204C092 + bl sub_02020C2C +_0204C092: + lsl r1, r4, #0x1 + add r0, r5, r1 + add r0, #0xa9 + strb r6, [r0, #0x0] + add r0, r5, r1 + add r0, #0xaa + strb r7, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204C0A4 +sub_0204C0A4: ; 0x0204C0A4 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x6 + blt _0204C0B6 + bl sub_02020C2C +_0204C0B6: + lsl r1, r4, #0x1 + add r0, r5, r1 + add r0, #0xa9 + ldrb r0, [r0, #0x0] + strb r0, [r6, #0x0] + add r0, r5, r1 + add r0, #0xaa + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204C0CC +sub_0204C0CC: ; 0x0204C0CC + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr + + thumb_func_start sub_0204C0D4 +sub_0204C0D4: ; 0x0204C0D4 + push {r3, lr} + ldrb r2, [r0, #0x0] + lsl r2, r2, #0x1d + lsr r2, r2, #0x1f + beq _0204C0E6 + add r0, #0x2a + mov r2, #0x78 + blx sub_020CE3E0 +_0204C0E6: + pop {r3, pc} + + thumb_func_start sub_0204C0E8 +sub_0204C0E8: ; 0x0204C0E8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r4, #0x0 + add r1, #0x2a + mov r2, #0x78 + blx sub_020CE3E0 + ldrb r1, [r4, #0x0] + mov r0, #0x4 + orr r0, r1 + strb r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0204C104 +sub_0204C104: ; 0x0204C104 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_0204C158 + cmp r0, #0xc + blt _0204C138 + mov r0, #0x0 + add r1, r5, #0x0 +_0204C116: + add r2, r1, #0x0 + add r2, #0xba + ldrh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb6 + strh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xbc + ldrh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb8 + add r0, r0, #0x1 + add r1, r1, #0x4 + strh r3, [r2, #0x0] + cmp r0, #0xb + blt _0204C116 + mov r0, #0xb +_0204C138: + lsl r4, r0, #0x2 + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r1, r5, r4 + add r1, #0xb6 + strh r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_0206B754 + add r1, r5, r4 + add r1, #0xb8 + strh r0, [r1, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_0204C158 +sub_0204C158: ; 0x0204C158 + mov r2, #0x0 +_0204C15A: + add r1, r0, #0x0 + add r1, #0xb6 + ldrh r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204C168 + add r0, r2, #0x0 + bx lr +_0204C168: + add r2, r2, #0x1 + add r0, r0, #0x4 + cmp r2, #0xc + blt _0204C15A + add r0, r2, #0x0 + bx lr + + thumb_func_start sub_0204C174 +sub_0204C174: ; 0x0204C174 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + cmp r4, #0xc + blt _0204C186 + bl sub_02020C2C +_0204C186: + add r6, r5, #0x0 + lsl r4, r4, #0x2 + add r6, #0xb6 + ldrh r0, [r6, r4] + cmp r0, #0x0 + bne _0204C196 + bl sub_02020C2C +_0204C196: + ldrh r0, [r6, r4] + str r0, [r7, #0x0] + add r0, r5, r4 + add r0, #0xb8 + ldrh r1, [r0, #0x0] + ldr r0, [sp, #0x0] + str r1, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0204C1A8 +sub_0204C1A8: ; 0x0204C1A8 + ldr r3, _0204C1B0 ; =sub_02022610 + mov r1, #0x5 + bx r3 + nop +_0204C1B0: .word sub_02022610 + 1 + + thumb_func_start sub_0204C1B4 +sub_0204C1B4: ; 0x0204C1B4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + ldr r0, [sp, #0x24] + mov r1, #0x20 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02016998 + add r2, r0, #0x0 + str r5, [r2, #0x4] + str r4, [r2, #0x8] + str r6, [r2, #0xc] + add r0, sp, #0x8 + ldrh r0, [r0, #0x10] + ldr r1, _0204C1F0 ; =sub_0204C1F4 + strh r0, [r2, #0x10] + ldr r0, [sp, #0x1c] + str r0, [r2, #0x14] + ldr r0, [sp, #0x20] + str r0, [r2, #0x18] + ldr r0, [sp, #0x24] + str r0, [r2, #0x1c] + mov r0, #0x0 + str r0, [r2, #0x0] + add r0, r7, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + nop +_0204C1F0: .word sub_0204C1F4 + 1 + + thumb_func_start sub_0204C1F4 +sub_0204C1F4: ; 0x0204C1F4 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204C214 + cmp r0, #0x1 + beq _0204C23C + b _0204C258 +_0204C214: + ldr r0, [r5, #0x4] + ldr r0, [r0, #0x1c] + bl sub_021F4608 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, [r4, #0x1c] + str r0, [sp, #0x8] + ldrh r3, [r4, #0x10] + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0xc] + bl sub_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C258 +_0204C23C: + bl sub_0200E308 + cmp r0, #0x0 + beq _0204C258 + ldr r0, [r5, #0x4] + ldr r0, [r0, #0x1c] + bl sub_021F45E8 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r5, pc} +_0204C258: + mov r0, #0x0 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0204C260 +sub_0204C260: ; 0x0204C260 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r5, [r2, #0x8] + str r4, [r2, #0xc] + ldr r0, [sp, #0x18] + str r6, [r2, #0x10] + str r0, [r2, #0x14] + ldr r0, [sp, #0x1c] + ldr r1, _0204C298 ; =sub_0204C380 + str r0, [r2, #0x18] + ldr r0, [sp, #0x20] + str r0, [r2, #0x20] + add r0, r7, #0x0 + bl sub_020463CC + pop {r3-r7, pc} + nop +_0204C298: .word sub_0204C380 + 1 + + thumb_func_start sub_0204C29C +sub_0204C29C: ; 0x0204C29C + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + bl sub_020169D8 + add r6, r0, #0x0 + mov r4, #0x0 + str r4, [r6, #0x0] + str r4, [r6, #0x4] + ldr r0, [sp, #0x0] + str r5, [r6, #0x8] + str r0, [r6, #0xc] + ldr r0, [sp, #0x4] + str r0, [r6, #0x10] + ldr r0, [sp, #0x20] + str r0, [r6, #0x14] + ldr r0, [sp, #0x24] + str r0, [r6, #0x18] + ldr r0, [r7, #0x1c] + ldr r0, [r0, #0x0] + str r0, [sp, #0x8] + bl sub_02034930 + cmp r0, #0x0 + beq _0204C308 + add r0, r5, #0x0 + bl sub_02034930 + cmp r0, #0x0 + beq _0204C2E6 + mov r4, #0x6 + b _0204C36A +_0204C2E6: + add r0, r5, #0x0 + bl sub_02034964 + cmp r0, #0x0 + beq _0204C2F4 + mov r4, #0x5 + b _0204C36A +_0204C2F4: + add r0, r5, #0x0 + bl sub_02034944 + cmp r0, #0x0 + beq _0204C302 + mov r4, #0x6 + b _0204C36A +_0204C302: + bl sub_02020C2C + b _0204C36A +_0204C308: + ldr r0, [sp, #0x8] + bl sub_02034964 + cmp r0, #0x0 + beq _0204C334 + add r0, r5, #0x0 + bl sub_02034930 + cmp r0, #0x0 + beq _0204C320 + mov r4, #0x4 + b _0204C36A +_0204C320: + add r0, r5, #0x0 + bl sub_02034944 + cmp r0, #0x0 + beq _0204C32E + mov r4, #0x6 + b _0204C36A +_0204C32E: + bl sub_02020C2C + b _0204C36A +_0204C334: + ldr r0, [sp, #0x8] + bl sub_02034944 + cmp r0, #0x0 + beq _0204C366 + add r0, r5, #0x0 + bl sub_02034964 + cmp r0, #0x0 + bne _0204C36A + add r0, r5, #0x0 + bl sub_02034944 + cmp r0, #0x0 + beq _0204C356 + mov r4, #0x6 + b _0204C36A +_0204C356: + add r0, r5, #0x0 + bl sub_02034930 + cmp r0, #0x0 + bne _0204C36A + bl sub_02020C2C + b _0204C36A +_0204C366: + bl sub_02020C2C +_0204C36A: + ldr r1, _0204C37C ; =sub_0204C380 + add r0, r7, #0x0 + add r2, r6, #0x0 + str r4, [r6, #0x20] + bl sub_020463CC + add sp, #0xc + pop {r4-r7, pc} + nop +_0204C37C: .word sub_0204C380 + 1 + + thumb_func_start sub_0204C380 +sub_0204C380: ; 0x0204C380 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r6, r4, #0x0 + ldr r1, [r4, #0x0] + add r6, #0x8 + cmp r1, #0x6 + bhi _0204C458 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r0, r6, #0 + lsl r6, r7, #0 + lsl r6, r1, #0x1 + lsl r4, r3, #0x1 + lsl r4, r6, #0x1 + lsl r6, r4, #0x2 + mov r0, #0x0 + str r0, [r4, #0x4] + ldr r1, [r6, #0x0] + add r0, r7, #0x0 + bl sub_0204AD60 + ldr r1, [r4, #0x20] + add r0, r5, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0204C45C ; =0x020F4894 + ldr r1, [r1, r2] + add r2, r4, #0x0 + bl sub_0204640C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C3DA: + .byte 0x28, 0x1C, 0xFE, 0xF7, 0xAE, 0xFD + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0xFC, 0xF7, 0xB8, 0xFE + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2F, 0xE0, 0x28, 0x1C, 0xFE, 0xF7, 0xC3, 0xFD, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0x20, 0x6A, 0x81, 0x00, 0x15, 0x48, 0x41, 0x58, 0x00, 0x29 + .byte 0x01, 0xD0, 0x38, 0x1C, 0x88, 0x47, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1C, 0xE0, 0xB8, 0xF7 + .byte 0xF1, 0xFF, 0x00, 0x28, 0x18, 0xD1, 0x31, 0x68, 0x38, 0x1C, 0xFE, 0xF7, 0xAF, 0xFC, 0x38, 0x1C + .byte 0x96, 0xF1, 0x74, 0xFF, 0x00, 0x20, 0x60, 0x60, 0x21, 0x6A, 0x28, 0x1C, 0x8A, 0x00, 0x09, 0x49 + .byte 0x89, 0x58, 0x22, 0x1C, 0xF9, 0xF7, 0xE2, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0 + .byte 0xCA, 0xF7, 0xE2, 0xFA, 0x01, 0x20, 0xF8, 0xBD +_0204C458: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204C45C: .word 0x020F4894 +_0204C460: + .byte 0xB0, 0x48, 0x0F, 0x02, 0x78, 0x48, 0x0F, 0x02 + + thumb_func_start sub_0204C468 +sub_0204C468: ; 0x0204C468 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C484 + cmp r0, #0x1 + beq _0204C498 + b _0204C49C +_0204C484: + ldr r0, _0204C4A0 ; =0x00000603 + bl sub_020054C8 + add r0, r5, #0x0 + bl sub_0204AFC8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C49C +_0204C498: + mov r0, #0x1 + pop {r3-r5, pc} +_0204C49C: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0204C4A0: .word 0x00000603 + + thumb_func_start sub_0204C4A4 +sub_0204C4A4: ; 0x0204C4A4 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + bhi _0204C522 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r5, #0 + lsl r6, r0, #0x1 + lsl r4, r2, #0x1 + bl sub_021DA5B8 + str r0, [r4, #0x1c] + ldr r0, [r5, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r1, r0, #0x0 + ldr r2, [r4, #0x1c] + add r0, r6, #0x0 + bl sub_021DA5D0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C522 +_0204C4F6: + .byte 0xE1, 0x69, 0x28, 0x1C, 0x8E, 0xF1, 0x6D, 0xF8, 0x00, 0x28 + .byte 0x0F, 0xD0, 0xE0, 0x69, 0x8E, 0xF1, 0x60, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x08, 0xE0 + .byte 0x30, 0x1C, 0xFE, 0xF7, 0x59, 0xFD, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20 + .byte 0x70, 0xBD +_0204C522: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0204C528 +sub_0204C528: ; 0x0204C528 + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C54A + cmp r0, #0x1 + beq _0204C570 + cmp r0, #0x2 + beq _0204C598 + b _0204C59C +_0204C54A: + bl sub_021DA5B8 + str r0, [r4, #0x1c] + ldr r0, [r5, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r1, r0, #0x0 + ldr r2, [r4, #0x1c] + add r0, r6, #0x0 + bl sub_021DA5D0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C59C +_0204C570: + ldr r0, [r5, #0x38] + ldr r6, [r4, #0x1c] + bl sub_020552F8 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl sub_021DAC70 + cmp r0, #0x0 + beq _0204C59C + ldr r0, [r4, #0x1c] + bl sub_021DA5C8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C59C +_0204C598: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C59C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0204C5A0 +sub_0204C5A0: ; 0x0204C5A0 + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + bhi _0204C63C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r7, #0 + lsl r6, r2, #0x1 + lsl r2, r5, #0x1 + ldr r0, [r5, #0x38] + bl sub_020552F8 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_020553A0 + cmp r6, #0x2 + bne _0204C5E6 + mov r1, #0xa + bl sub_0205ADDC + b _0204C5F6 +_0204C5E6: + cmp r6, #0x3 + bne _0204C5F2 + mov r1, #0xb + bl sub_0205ADDC + b _0204C5F6 +_0204C5F2: + bl sub_02020C2C +_0204C5F6: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C63C +_0204C5FE: + .byte 0xA8, 0x6B + .byte 0x08, 0xF0, 0xCE, 0xFE, 0x05, 0x1C, 0x0E, 0xF0, 0x0F, 0xFC, 0x01, 0x28, 0x16, 0xD1, 0x28, 0x1C + .byte 0x0E, 0xF0, 0x1E, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x0F, 0xE0, 0x08, 0x48, 0xB8, 0xF7 + .byte 0x53, 0xFF, 0x00, 0x20, 0x8B, 0xF1, 0x3E, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x05, 0xE0 + .byte 0xC1, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20, 0x70, 0xBD +_0204C63C: + mov r0, #0x0 + pop {r4-r6, pc} +_0204C640: + .byte 0x03, 0x06, 0x00, 0x00 + + thumb_func_start sub_0204C644 +sub_0204C644: ; 0x0204C644 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r6, #0x38] + bl sub_020553A0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C668 + cmp r0, #0x1 + beq _0204C67E + b _0204C682 +_0204C668: + bl sub_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C688 ; =0x021DB1D1 + add r0, r5, #0x0 + bl sub_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C682 +_0204C67E: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C682: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204C688: .word 0x021DB1D1 + + thumb_func_start sub_0204C68C +sub_0204C68C: ; 0x0204C68C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r6, #0x38] + bl sub_020553A0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C6B0 + cmp r0, #0x1 + beq _0204C6C6 + b _0204C6CA +_0204C6B0: + bl sub_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C6D0 ; =0x021DB145 + add r0, r5, #0x0 + bl sub_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C6CA +_0204C6C6: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C6CA: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204C6D0: .word 0x021DB145 + + thumb_func_start sub_0204C6D4 +sub_0204C6D4: ; 0x0204C6D4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + cmp r0, #0x3 + bhi _0204C798 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r2, #0x1 + lsl r6, r6, #0x1 + lsl r2, r3, #0x2 + ldr r0, [r4, #0x38] + bl sub_020553A0 + add r7, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_02055320 + str r0, [sp, #0x0] + ldr r0, [r4, #0x38] + bl sub_0205532C + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_0204A6E0 + bl sub_020547B0 + cmp r0, #0x0 + beq _0204C736 + add r0, r7, #0x0 + mov r1, #0x1 + bl sub_0205889C + mov r0, #0x1 + str r0, [r5, #0x4] + b _0204C798 +_0204C736: + bl sub_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C79C ; =0x021DB251 + add r0, r6, #0x0 + bl sub_0204640C + mov r0, #0x3 + str r0, [r5, #0x4] + b _0204C798 +_0204C74A: + .byte 0x8D, 0xF1, 0x35, 0xFF, 0xE8, 0x61 + .byte 0xA0, 0x6B, 0x08, 0xF0, 0xE5, 0xFD, 0x06, 0x1C, 0xA0, 0x6B, 0x08, 0xF0, 0xE7, 0xFD, 0x01, 0x1C + .byte 0xEA, 0x69, 0x30, 0x1C, 0x8D, 0xF1, 0x34, 0xFF, 0x68, 0x68, 0x40, 0x1C, 0x68, 0x60, 0x13, 0xE0 + .byte 0xED, 0x69, 0x20, 0x1C, 0x29, 0x1C, 0x8E, 0xF1, 0x1D, 0xF8, 0x00, 0x28, 0x0C, 0xD0, 0x28, 0x1C + .byte 0x8D, 0xF1, 0x22, 0xFF, 0xA0, 0x6B, 0x08, 0xF0, 0x0B, 0xFE, 0x00, 0x21, 0x0C, 0xF0, 0x86, 0xF8 + .byte 0x01, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD +_0204C798: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204C79C: .word 0x021DB251 +_0204C7A0: + .byte 0xF8, 0xB5, 0x06, 0x1C, 0xF9, 0xF7, 0xC0, 0xFE, 0x05, 0x1C, 0x30, 0x1C, 0xF9, 0xF7, 0xBE, 0xFE + .byte 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x2B, 0xD0, 0x2C, 0xE0, 0xA8, 0x6B + .byte 0x08, 0xF0, 0xEE, 0xFD, 0x07, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xAA, 0xFD, 0x00, 0x90, 0xA8, 0x6B + .byte 0x08, 0xF0, 0xAC, 0xFD, 0x02, 0x1C, 0x00, 0x99, 0x28, 0x1C, 0xFD, 0xF7, 0x81, 0xFF, 0x07, 0xF0 + .byte 0xE7, 0xFF, 0x00, 0x28, 0x0B, 0xD0, 0x38, 0x1C, 0x01, 0x21, 0x0C, 0xF0, 0x57, 0xF8, 0x01, 0x20 + .byte 0x60, 0x60, 0x0A, 0x49, 0x30, 0x1C, 0x22, 0x1C, 0xF9, 0xF7, 0xF8, 0xFD, 0x0C, 0xE0, 0x8E, 0xF1 + .byte 0x17, 0xFC, 0x02, 0x1C, 0x06, 0x49, 0x30, 0x1C, 0xF9, 0xF7, 0x00, 0xFE, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x20, 0xF8, 0xBD, 0xD5, 0xC6, 0x04, 0x02 + .byte 0x81, 0xB3, 0x1D, 0x02, 0x70, 0xB5, 0x04, 0x1C, 0xF9, 0xF7, 0x7E, 0xFE, 0x05, 0x1C, 0x20, 0x1C + .byte 0xF9, 0xF7, 0x7C, 0xFE, 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x15, 0xD0 + .byte 0x02, 0x28, 0x27, 0xD0, 0x28, 0xE0, 0x8D, 0xF1, 0xB7, 0xFE, 0xE0, 0x61, 0xA8, 0x6B, 0x08, 0xF0 + .byte 0x67, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x69, 0xFD, 0x01, 0x1C, 0xE2, 0x69, 0x30, 0x1C + .byte 0x8D, 0xF1, 0xB6, 0xFE, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x15, 0xE0, 0xA8, 0x6B, 0xE6, 0x69 + .byte 0x08, 0xF0, 0x42, 0xFD, 0x02, 0x1C, 0x12, 0x06, 0x28, 0x1C, 0x31, 0x1C, 0x12, 0x0E, 0x8E, 0xF1 + .byte 0x11, 0xF9, 0x00, 0x28, 0x08, 0xD0, 0xE0, 0x69, 0x8D, 0xF1, 0x9E, 0xFE, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C + .byte 0xF9, 0xF7, 0x42, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF9, 0xF7, 0x40, 0xFE, 0x04, 0x1C, 0x60, 0x68 + .byte 0x03, 0x28, 0x40, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44 + .byte 0x06, 0x00, 0x42, 0x00, 0x60, 0x00, 0x70, 0x00, 0x01, 0x20, 0x8B, 0xF1, 0xEB, 0xF9, 0xA8, 0x6B + .byte 0x08, 0xF0, 0x66, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x0E, 0xFD, 0x02, 0x28, 0x04, 0xD1 + .byte 0x30, 0x1C, 0x0A, 0x21, 0x0E, 0xF0, 0x7A, 0xFA, 0x08, 0xE0, 0x03, 0x28, 0x04, 0xD1, 0x30, 0x1C + .byte 0x0B, 0x21, 0x0E, 0xF0, 0x73, 0xFA, 0x01, 0xE0, 0xD4, 0xF7, 0x98, 0xF9, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x18, 0xE0, 0xA8, 0x6B, 0x08, 0xF0, 0x4B, 0xFD, 0x05, 0x1C, 0x0E, 0xF0, 0x8C, 0xFA + .byte 0x01, 0x28, 0x10, 0xD1, 0x28, 0x1C, 0x0E, 0xF0, 0x9B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 + .byte 0x09, 0xE0, 0xC1, 0xF7, 0xF1, 0xFC, 0x00, 0x28, 0x05, 0xD0, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 + .byte 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C + .byte 0xF9, 0xF7, 0xF2, 0xFD, 0x06, 0x1C, 0x28, 0x1C, 0xF9, 0xF7, 0xF0, 0xFD, 0x04, 0x1C, 0xB0, 0x6B + .byte 0x08, 0xF0, 0x26, 0xFD, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x0C, 0xE0 + .byte 0x8E, 0xF1, 0x66, 0xFB, 0x02, 0x1C, 0x06, 0x49, 0x28, 0x1C, 0xF9, 0xF7, 0x4F, 0xFD, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0xC0, 0x46 + .byte 0x41, 0xB0, 0x1D, 0x02, 0x38, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xB4, 0xFC + .byte 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0, 0xDB, 0xFC, 0x03, 0x2C, 0x05, 0xD1, 0x01, 0x20 + .byte 0x01, 0x99, 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x04, 0xE0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04 + .byte 0x08, 0x18, 0x01, 0x90, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A, 0x03, 0x9B, 0x28, 0x1C + .byte 0xFD, 0xF7, 0xA2, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C, 0x08, 0xF0, 0x8E, 0xFD + .byte 0xA8, 0x6B, 0x08, 0xF0, 0xC5, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x08, 0xFB, 0xA8, 0x6B, 0x08, 0xF0 + .byte 0xBF, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x40, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x70, 0xB5, 0x84, 0xB0 + .byte 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x80, 0xFC, 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0 + .byte 0xA7, 0xFC, 0xA8, 0x6B, 0x08, 0xF0, 0x8C, 0xFC, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x8E, 0xFC + .byte 0x02, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFD, 0xF7, 0x63, 0xFE, 0x06, 0x1C, 0x07, 0xF0, 0x5C, 0xFF + .byte 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04, 0x08, 0x18, 0x01, 0x90, 0x02, 0x24 + .byte 0x0A, 0xE0, 0x30, 0x1C, 0x07, 0xF0, 0x56, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x20, 0x01, 0x99 + .byte 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x03, 0x24, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A + .byte 0x03, 0x9B, 0x28, 0x1C, 0xFD, 0xF7, 0x58, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C + .byte 0x08, 0xF0, 0x44, 0xFD, 0xA8, 0x6B, 0x08, 0xF0, 0x7B, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xBE, 0xFA + .byte 0xA8, 0x6B, 0x08, 0xF0, 0x75, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xF6, 0xF8, 0x04, 0xB0, 0x70, 0xBD + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCC, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCD, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x02, 0x4A, 0x41, 0x43, 0x50, 0x18, 0x80, 0x1C, 0x70, 0x47, 0xCC, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD7, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD8, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD9, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xDC, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xE0, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE4, 0x48, 0x0F, 0x02 + .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE5, 0x48, 0x0F, 0x02 + .byte 0xF8, 0xB5, 0x0C, 0x1C, 0x43, 0x49, 0x15, 0x1C, 0x0A, 0x68, 0x00, 0x2A, 0x01, 0xD0, 0x00, 0x20 + .byte 0xF8, 0xBD, 0x05, 0xD1, 0xB1, 0x22, 0x08, 0x60, 0x00, 0x21, 0x92, 0x00, 0x81, 0xF0, 0x06, 0xEC + .byte 0x3C, 0x49, 0x3D, 0x48, 0x0A, 0x68, 0x15, 0x54, 0x00, 0x22, 0x08, 0x68, 0x00, 0x2D, 0x42, 0x60 + .byte 0x0C, 0xD0, 0xF8, 0xF1, 0xE3, 0xF8, 0x01, 0x1C, 0x0F, 0x20, 0xC9, 0xF7, 0x1D, 0xFF, 0x35, 0x49 + .byte 0x0A, 0x68, 0x50, 0x60, 0x08, 0x68, 0x40, 0x68, 0xF8, 0xF1, 0xDA, 0xF8, 0x31, 0x48, 0x33, 0x4F + .byte 0x01, 0x68, 0x4C, 0x65, 0x00, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24 + .byte 0xA6, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18, 0xA2, 0x34, 0x27, 0x80, 0x04, 0x68 + .byte 0xA4, 0x18, 0xA4, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18, 0xA7, 0x35, 0x02, 0x24, 0x2C, 0x70 + .byte 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24, 0x66, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18 + .byte 0x62, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA4, 0x18, 0x64, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18 + .byte 0x67, 0x35, 0x02, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x1D, 0x4D, 0x66, 0x18, 0x00, 0x24, 0xE4, 0x43 + .byte 0x74, 0x55, 0x04, 0x68, 0x08, 0x32, 0x65, 0x18, 0xE2, 0x35, 0x00, 0x24, 0x2C, 0x70, 0x04, 0x68 + .byte 0x65, 0x18, 0xEA, 0x35, 0x01, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x65, 0x18, 0xF2, 0x35, 0x00, 0x24 + .byte 0x2C, 0x70, 0x04, 0x68, 0xFF, 0x25, 0xE6, 0x18, 0x2C, 0x1C, 0x6B, 0x34, 0x49, 0x1C, 0x22, 0x33 + .byte 0x35, 0x53, 0x08, 0x29, 0xB9, 0xDB, 0x0B, 0x4A, 0xAF, 0x21, 0x13, 0x68, 0x89, 0x00, 0x00, 0x20 + .byte 0x58, 0x54, 0x12, 0x68, 0xC9, 0x1C, 0x50, 0x54, 0x0A, 0x48, 0x00, 0x21, 0xC8, 0x22, 0xBF, 0xF7 + .byte 0x11, 0xFF, 0x04, 0x49, 0x09, 0x68, 0x08, 0x65, 0xE4, 0xF7, 0xBE, 0xF9, 0x00, 0xF0, 0x98, 0xF9 + .byte 0x01, 0x20, 0xF8, 0xBD, 0x68, 0x5A, 0x1C, 0x02, 0xBE, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 + .byte 0x02, 0x01, 0x00, 0x00, 0xF1, 0xD4, 0x04, 0x02 + + thumb_func_start sub_0204CC48 +sub_0204CC48: ; 0x0204CC48 + push {r3-r7, lr} + ldr r4, _0204CC94 ; =0x021C5A68 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204CC92 + ldr r6, _0204CC98 ; =0x000002BE + mov r5, #0x0 + mov r7, #0x1 +_0204CC58: + ldr r0, [r4, #0x0] + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _0204CC6E + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_0204D43C + b _0204CC7A +_0204CC6E: + lsl r0, r5, #0x18 + mov r1, #0x1 + lsr r0, r0, #0x18 + add r2, r1, #0x0 + bl sub_0204D43C +_0204CC7A: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204CC58 + ldr r0, _0204CC94 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204CC98 ; =0x000002BE + ldrb r1, [r2, r0] + cmp r1, #0x0 + beq _0204CC92 + mov r1, #0x1 + sub r0, r0, #0x1 + strb r1, [r2, r0] +_0204CC92: + pop {r3-r7, pc} + .balign 4 +_0204CC94: .word 0x021C5A68 +_0204CC98: .word 0x000002BE + + thumb_func_start sub_0204CC9C +sub_0204CC9C: ; 0x0204CC9C + push {r3, lr} + ldr r1, _0204CCD8 ; =0x021C5A68 + ldr r3, [r1, #0x0] + cmp r3, #0x0 + beq _0204CCD6 + ldr r0, _0204CCDC ; =0x000002BB + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + mov r2, #0x0 + add r0, r0, #0x2 + strb r2, [r1, r0] + bl sub_0204CF60 + mov r0, #0x1 + bl sub_0204D168 + ldr r0, _0204CCD8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055320 + ldr r0, _0204CCD8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_0205532C +_0204CCD6: + pop {r3, pc} + .balign 4 +_0204CCD8: .word 0x021C5A68 +_0204CCDC: .word 0x000002BB + + thumb_func_start sub_0204CCE0 +sub_0204CCE0: ; 0x0204CCE0 + push {r3-r7, lr} + ldr r7, _0204CD70 ; =0x021C5A68 + add r6, r0, #0x0 + ldr r0, [r7, #0x0] + cmp r0, #0x0 + beq _0204CD6E + mov r4, #0x0 + add r5, r4, #0x0 +_0204CCF0: + ldr r0, [r7, #0x0] + add r1, r0, r5 + mov r0, #0x9f + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204CD0E + bl sub_02016A18 + ldr r0, [r7, #0x0] + mov r1, #0x0 + add r2, r0, r5 + mov r0, #0x9f + lsl r0, r0, #0x2 + str r1, [r2, r0] +_0204CD0E: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x5 + blt _0204CCF0 + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204CD74 ; =0x000002B2 + ldrh r1, [r2, r0] + cmp r1, #0x5 + blo _0204CD28 + ldr r0, [r2, #0x54] + bl sub_02061B64 +_0204CD28: + mov r4, #0x0 + add r5, r4, #0x0 +_0204CD2C: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_0204D43C + add r4, r4, #0x1 + cmp r4, #0x8 + blt _0204CD2C + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + bl sub_0200CAB4 + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204CD60 + bl sub_02244D3C + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_02016A18 +_0204CD60: + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0204CD70 ; =0x021C5A68 + mov r1, #0x0 + str r1, [r0, #0x0] +_0204CD6E: + pop {r3-r7, pc} + .balign 4 +_0204CD70: .word 0x021C5A68 +_0204CD74: .word 0x000002B2 + + thumb_func_start sub_0204CD78 +sub_0204CD78: ; 0x0204CD78 + push {r4, lr} + lsl r4, r0, #0x2 + ldr r0, _0204CDB0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x28] + cmp r0, #0x0 + beq _0204CDAC + bl sub_020646A0 + cmp r0, #0x0 + beq _0204CD9E + ldr r0, _0204CDB0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x28] + bl sub_02064520 + b _0204CDA2 +_0204CD9E: + bl sub_02020C2C +_0204CDA2: + ldr r0, _0204CDB0 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + str r1, [r0, #0x28] +_0204CDAC: + pop {r4, pc} + nop +_0204CDB0: .word 0x021C5A68 + + thumb_func_start sub_0204CDB4 +sub_0204CDB4: ; 0x0204CDB4 + push {r3-r7, lr} + mov r4, #0x0 + ldr r6, _0204CED4 ; =0x021C5A68 + add r7, r4, #0x0 + add r5, r4, #0x0 +_0204CDBE: + add r0, r4, #0x0 + bl sub_0204E778 + add r0, r4, #0x0 + bl sub_0204CD78 + cmp r4, #0x0 + beq _0204CDD4 + add r0, r4, #0x0 + bl sub_0204ED9C +_0204CDD4: + ldr r1, [r6, #0x0] + add r0, r1, r7 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204CDFA + ldr r2, [r1, #0x54] + ldr r2, [r2, #0x38] + cmp r2, r0 + beq _0204CDF2 + ldr r2, _0204CED8 ; =0x000002BE + ldrb r1, [r1, r2] + cmp r1, #0x0 + beq _0204CDF2 + bl sub_02055168 +_0204CDF2: + ldr r0, [r6, #0x0] + add r1, r0, r7 + mov r0, #0x0 + str r0, [r1, #0x8] +_0204CDFA: + ldr r0, [r6, #0x0] + add r7, r7, #0x4 + add r1, r0, r4 + add r1, #0x48 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + mov r0, #0x0 + add r1, #0xa6 + mvn r0, r0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0xa2 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0xa4 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0xa7 + mov r0, #0x2 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + mov r0, #0x0 + add r1, #0x66 + mvn r0, r0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0x62 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0x64 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0x67 + mov r0, #0x2 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE0 ; =0x00000102 + mvn r1, r1 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE4 ; =0x0000010A + add r5, #0x8 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xe2 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xea + mov r0, #0x1 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xf2 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE8 ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + add r2, r0, r4 + ldr r0, _0204CEEC ; =0x00000142 + add r4, r4, #0x1 + strb r1, [r2, r0] + cmp r4, #0x8 + blt _0204CDBE + ldr r0, _0204CED4 ; =0x021C5A68 + ldr r1, _0204CEF0 ; =0x000002BF + ldr r2, [r0, #0x0] + mov r0, #0x0 + strb r0, [r2, r1] + bl sub_0204CF60 + ldr r0, _0204CED4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + cmp r0, #0x0 + bne _0204CED0 + ldr r0, _0204CEF4 ; =sub_0204D4F0 + mov r1, #0x0 + mov r2, #0xc8 + bl sub_0200CA44 + ldr r1, _0204CED4 ; =0x021C5A68 + ldr r1, [r1, #0x0] + str r0, [r1, #0x50] +_0204CED0: + pop {r3-r7, pc} + nop +_0204CED4: .word 0x021C5A68 +_0204CED8: .word 0x000002BE +_0204CEDC: .word 0x0000FFFF +_0204CEE0: .word 0x00000102 +_0204CEE4: .word 0x0000010A +_0204CEE8: .word 0x0000013A +_0204CEEC: .word 0x00000142 +_0204CEF0: .word 0x000002BF +_0204CEF4: .word sub_0204D4F0 + 1 + + thumb_func_start sub_0204CEF8 +sub_0204CEF8: ; 0x0204CEF8 + push {r3, lr} + ldr r0, _0204CF20 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + cmp r0, #0x0 + beq _0204CF16 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0204D4F0 + ldr r0, _0204CF20 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + bl sub_0200CAB4 +_0204CF16: + ldr r0, _0204CF20 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x50] + pop {r3, pc} + .balign 4 +_0204CF20: .word 0x021C5A68 + + thumb_func_start sub_0204CF24 +sub_0204CF24: ; 0x0204CF24 + push {r3-r5, lr} + ldr r0, _0204CF58 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204CF54 + mov r5, #0x0 + add r4, r5, #0x0 +_0204CF32: + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + add r1, r4, #0x0 + add r2, r4, #0x0 + bl sub_0204D43C + add r0, r5, #0x0 + bl sub_0204F69C + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204CF32 + ldr r0, _0204CF58 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204CF5C ; =0x000002BD + strb r2, [r1, r0] +_0204CF54: + pop {r3-r5, pc} + nop +_0204CF58: .word 0x021C5A68 +_0204CF5C: .word 0x000002BD + + thumb_func_start sub_0204CF60 +sub_0204CF60: ; 0x0204CF60 + push {r4, lr} + bl sub_02031190 + ldr r1, _0204D03C ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x54] + add r0, r2, r0 + ldr r1, [r1, #0x38] + str r1, [r0, #0x8] + bl sub_02031190 + ldr r1, _0204D03C ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x48 + strb r2, [r0, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055320 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa2 + strh r0, [r1, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_0205532C + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa4 + strh r0, [r1, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_020552F8 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa6 + strb r0, [r1, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055320 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x62 + strh r0, [r1, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_0205532C + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x64 + strh r0, [r1, #0x0] + bl sub_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_020552F8 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x66 + strb r0, [r1, #0x0] + pop {r4, pc} + nop +_0204D03C: .word 0x021C5A68 + + thumb_func_start sub_0204D040 +sub_0204D040: ; 0x0204D040 + push {r3-r7, lr} + str r0, [sp, #0x0] + ldr r0, _0204D110 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D114 ; =0x000002BF + strb r2, [r1, r0] + bl sub_02031190 + ldr r2, _0204D110 ; =0x021C5A68 + add r1, r0, #0x0 + ldr r4, [r2, #0x0] + lsl r6, r1, #0x2 + ldr r0, [r4, #0x54] + ldr r3, [r0, #0x38] + add r0, r4, r6 + str r3, [r0, #0x8] + ldr r0, [r2, #0x0] + mov r3, #0x1 + add r0, r0, r1 + add r0, #0x48 + strb r3, [r0, #0x0] + ldr r0, [sp, #0x0] + ldr r3, [r2, #0x0] + lsl r5, r0, #0x3 + add r0, r3, r5 + add r0, #0xa2 + lsl r4, r1, #0x3 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0xa2 + strh r0, [r3, #0x0] + ldr r3, [r2, #0x0] + add r0, r3, r5 + add r0, #0xa4 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0xa4 + strh r0, [r3, #0x0] + ldr r7, [r2, #0x0] + mov r0, #0xa6 + add r3, r7, r5 + ldrsb r0, [r3, r0] + add r3, r7, r4 + add r3, #0xa6 + strb r0, [r3, #0x0] + ldr r3, [r2, #0x0] + mov r7, #0x29 + add r0, r3, r5 + add r0, #0x62 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0x62 + lsl r7, r7, #0x4 + strh r0, [r3, #0x0] + ldr r3, [r2, #0x0] + add r0, r3, r5 + add r0, #0x64 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0x64 + strh r0, [r3, #0x0] + ldr r0, [r2, #0x0] + mov r3, #0x66 + add r5, r0, r5 + add r0, r0, r4 + ldrsb r5, [r5, r3] + add r0, #0x66 + strb r5, [r0, #0x0] + ldr r0, [sp, #0x0] + ldr r4, [r2, #0x0] + lsl r5, r0, #0x2 + add r0, r4, r5 + ldr r0, [r0, r7] + add r4, r4, r6 + str r0, [r4, r7] + ldr r0, [r2, #0x0] + mov r4, #0x0 + add r0, r0, r5 + str r4, [r0, r7] + ldr r2, [r2, #0x0] + add r0, r2, r6 + ldr r0, [r0, r7] + cmp r0, #0x0 + beq _0204D0F8 + add r3, #0xe4 + add r3, r2, r3 + mov r2, #0x22 + mul r2, r1 + add r1, r3, r2 + bl sub_0202393C +_0204D0F8: + ldr r1, _0204D110 ; =0x021C5A68 + mov r0, #0xff + ldr r3, [r1, #0x0] + ldr r1, [sp, #0x0] + mov r2, #0x22 + mul r2, r1 + add r1, r0, #0x0 + add r2, r3, r2 + add r1, #0x6b + strh r0, [r2, r1] + pop {r3-r7, pc} + nop +_0204D110: .word 0x021C5A68 +_0204D114: .word 0x000002BF + + thumb_func_start sub_0204D118 +sub_0204D118: ; 0x0204D118 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0204D160 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_020552F8 + add r1, sp, #0x0 + strb r4, [r1, #0x0] + asr r2, r4, #0x8 + strb r2, [r1, #0x1] + asr r2, r6, #0x8 + strb r6, [r1, #0x2] + strb r2, [r1, #0x3] + strb r0, [r1, #0x4] + cmp r5, #0x0 + beq _0204D14A + ldrb r2, [r1, #0x4] + mov r0, #0x80 + orr r0, r2 + strb r0, [r1, #0x4] +_0204D14A: + mov r0, #0x16 + add r1, sp, #0x0 + bl sub_020311D0 + ldr r0, _0204D160 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204D164 ; =0x000002BB + strb r2, [r1, r0] + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0204D160: .word 0x021C5A68 +_0204D164: .word 0x000002BB + + thumb_func_start sub_0204D168 +sub_0204D168: ; 0x0204D168 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D194 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055320 + add r4, r0, #0x0 + ldr r0, _0204D194 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_0205532C + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204D118 + pop {r3-r5, pc} + nop +_0204D194: .word 0x021C5A68 + + thumb_func_start sub_0204D198 +sub_0204D198: ; 0x0204D198 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02031190 + ldr r1, _0204D1C8 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x62 + ldrh r4, [r0, #0x0] + bl sub_02031190 + ldr r1, _0204D1C8 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x64 + ldrh r2, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204D118 + pop {r3-r5, pc} + nop +_0204D1C8: .word 0x021C5A68 + + thumb_func_start sub_0204D1CC +sub_0204D1CC: ; 0x0204D1CC + push {r3-r5, lr} + sub sp, #0x8 + ldrh r2, [r1, #0x0] + mov r4, #0xf + lsl r4, r4, #0xc + ldrh r3, [r1, #0x2] + cmp r2, r4 + blo _0204D1DE + sub r2, r4, #0x1 +_0204D1DE: + mov r4, #0xf + lsl r4, r4, #0xc + cmp r3, r4 + blo _0204D1E8 + sub r3, r4, #0x1 +_0204D1E8: + mov r4, #0xf + and r0, r4 + add r4, sp, #0x0 + strb r0, [r4, #0x0] + strb r2, [r4, #0x1] + asr r2, r2, #0x8 + add r5, r2, #0x0 + mov r0, #0x1 + and r5, r0 + asr r2, r3, #0x7 + mov r0, #0x2 + and r0, r2 + add r0, r5, r0 + strb r0, [r4, #0x2] + strb r3, [r4, #0x3] + ldrb r0, [r1, #0x7] + cmp r0, #0x0 + beq _0204D214 + ldrb r2, [r4, #0x2] + mov r0, #0x80 + orr r0, r2 + strb r0, [r4, #0x2] +_0204D214: + mov r2, #0x4 + ldrsb r2, [r1, r2] + add r5, sp, #0x0 + ldrb r0, [r5, #0x0] + lsr r4, r2, #0x1f + lsl r3, r2, #0x1e + sub r3, r3, r4 + mov r2, #0x1e + ror r3, r2 + add r2, r4, r3 + lsl r2, r2, #0x4 + add r0, r0, r2 + strb r0, [r5, #0x0] + ldrb r0, [r1, #0x5] + ldrb r2, [r5, #0x0] + add r1, sp, #0x0 + lsl r0, r0, #0x6 + add r0, r2, r0 + strb r0, [r5, #0x0] + mov r0, #0x17 + mov r2, #0x0 + bl sub_02030BC4 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0204D248 +sub_0204D248: ; 0x0204D248 + push {r3-r5, lr} + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055370 + add r4, r0, #0x0 + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055378 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0204D292 + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + beq _0204D292 + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D292 + mov r0, #0x1 + bl sub_0204D168 + ldr r0, _0204D2A8 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + strb r2, [r1, r0] +_0204D292: + cmp r4, #0x1 + bne _0204D2A4 + cmp r5, #0x1 + bne _0204D2A4 + ldr r0, _0204D2A8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + strb r2, [r1, r0] +_0204D2A4: + pop {r3-r5, pc} + nop +_0204D2A8: .word 0x021C5A68 +_0204D2AC: .word 0x000002BA + + thumb_func_start sub_0204D2B0 +sub_0204D2B0: ; 0x0204D2B0 + push {r3-r7, lr} + mov r4, #0x0 + ldr r7, _0204D2FC ; =0x021C5A68 + add r5, r4, #0x0 + add r6, r4, #0x0 +_0204D2BA: + ldr r0, [r7, #0x0] + add r2, r0, r4 + add r1, r2, #0x0 + add r1, #0x48 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D2E8 + ldr r3, _0204D300 ; =0x00000132 + add r1, r0, #0x0 + ldrb r3, [r2, r3] + add r1, #0x62 + cmp r3, #0x0 + bne _0204D2DC + ldr r3, _0204D304 ; =0x000002BB + ldrb r0, [r0, r3] + cmp r0, #0x0 + beq _0204D2E8 +_0204D2DC: + ldr r0, _0204D300 ; =0x00000132 + add r1, r1, r5 + strb r6, [r2, r0] + add r0, r4, #0x0 + bl sub_0204D1CC +_0204D2E8: + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x8 + blt _0204D2BA + ldr r0, _0204D2FC ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D304 ; =0x000002BB + strb r2, [r1, r0] + pop {r3-r7, pc} + .balign 4 +_0204D2FC: .word 0x021C5A68 +_0204D300: .word 0x00000132 +_0204D304: .word 0x000002BB + + thumb_func_start sub_0204D308 +sub_0204D308: ; 0x0204D308 + ldr r0, _0204D31C ; =0x021C5A68 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _0204D318 + mov r0, #0xae + mov r1, #0x0 + lsl r0, r0, #0x2 + strb r1, [r2, r0] +_0204D318: + bx lr + nop +_0204D31C: .word 0x021C5A68 + + thumb_func_start sub_0204D320 +sub_0204D320: ; 0x0204D320 + mov r0, #0xb1 + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_0204D328 +sub_0204D328: ; 0x0204D328 + push {r3-r7, lr} + sub sp, #0x10 + ldr r1, _0204D430 ; =0x021C5A68 + add r5, r0, #0x0 + ldr r2, [r1, #0x0] + lsl r6, r5, #0x2 + add r1, r2, r6 + ldr r1, [r1, #0x8] + cmp r1, #0x0 + bne _0204D42A + ldr r1, _0204D434 ; =0x000002BD + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204D42A + bl sub_0202DFA4 + str r0, [sp, #0xc] + cmp r0, #0x0 + beq _0204D42A + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D438 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D37C + bl sub_02031190 + cmp r5, r0 + beq _0204D37C + ldr r0, _0204D430 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x8 + ldr r0, [r0, #0x54] + add r1, r5, r1 + ldr r0, [r0, #0x34] + bl sub_02058060 + cmp r0, #0x0 + beq _0204D37C + bl sub_02057654 +_0204D37C: + ldr r0, _0204D430 ; =0x021C5A68 + lsl r4, r5, #0x3 + ldr r7, [r0, #0x0] + ldr r0, [sp, #0xc] + bl sub_020239CC + mov r1, #0x0 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r7, #0x54] + add r7, r7, r4 + add r1, r7, #0x0 + add r2, r7, #0x0 + add r1, #0xa2 + add r2, #0xa4 + mov r3, #0xa6 + ldrh r1, [r1, #0x0] + ldrh r2, [r2, #0x0] + ldrsb r3, [r7, r3] + ldr r0, [r0, #0x34] + bl sub_02055068 + add r7, r0, #0x0 + bne _0204D3B2 + bl sub_02020C2C +_0204D3B2: + ldr r0, _0204D430 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r6 + str r7, [r0, #0x8] + add r0, r7, #0x0 + bl sub_020553A0 + mov r1, #0x1 + lsl r1, r1, #0x8 + add r1, r5, r1 + bl sub_02058444 + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D438 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D3DC + add r0, r5, #0x0 + bl sub_0223E4D4 +_0204D3DC: + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, _0204D438 ; =0x000002BE + ldr r3, [r0, #0x0] + ldrb r2, [r3, r1] + cmp r2, #0x0 + beq _0204D41E + add r0, r3, r5 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204D41E + sub r0, r1, #0x1 + ldrb r0, [r3, r0] + cmp r0, #0x0 + bne _0204D40E + add r1, r3, r4 + ldr r0, [r3, #0x54] + add r3, r3, r4 + add r1, #0xa2 + add r3, #0xa4 + ldrh r1, [r1, #0x0] + ldrh r3, [r3, #0x0] + mov r2, #0x0 + bl sub_021E5B30 +_0204D40E: + ldr r0, _0204D430 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add sp, #0x10 + add r0, r0, r5 + add r0, #0x48 + strb r1, [r0, #0x0] + pop {r3-r7, pc} +_0204D41E: + cmp r2, #0x0 + bne _0204D42A + add r0, r3, r5 + mov r1, #0x1 + add r0, #0x48 + strb r1, [r0, #0x0] +_0204D42A: + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204D430: .word 0x021C5A68 +_0204D434: .word 0x000002BD +_0204D438: .word 0x000002BE + + thumb_func_start sub_0204D43C +sub_0204D43C: ; 0x0204D43C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204D4CC ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + add r7, r2, #0x0 + cmp r0, #0x0 + beq _0204D4C8 + add r0, #0x5a + mov r1, #0x0 + mov r2, #0x8 + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_0204CD78 + ldr r0, _0204D4CC ; =0x021C5A68 + lsl r4, r5, #0x2 + ldr r1, [r0, #0x0] + add r0, r1, r4 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204D492 + ldr r2, [r1, #0x54] + ldr r2, [r2, #0x38] + cmp r2, r0 + beq _0204D488 + ldr r2, _0204D4D0 ; =0x000002BE + ldrb r1, [r1, r2] + cmp r1, #0x0 + bne _0204D47E + cmp r7, #0x0 + beq _0204D484 +_0204D47E: + bl sub_02055168 + b _0204D488 +_0204D484: + bl sub_02055160 +_0204D488: + ldr r0, _0204D4CC ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + str r1, [r0, #0x8] +_0204D492: + ldr r0, _0204D4CC ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r1, #0x48 + ldrb r0, [r1, r5] + cmp r0, #0x0 + beq _0204D4A6 + cmp r6, #0x0 + bne _0204D4A6 + mov r0, #0x0 + strb r0, [r1, r5] +_0204D4A6: + ldr r0, _0204D4CC ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204D4D4 ; =0x00000132 + cmp r6, #0x0 + strb r2, [r1, r0] + bne _0204D4C8 + add r0, r5, #0x0 + bl sub_0204ED9C + ldr r0, _0204D4CC ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0xfa + strb r1, [r0, #0x0] +_0204D4C8: + pop {r3-r7, pc} + nop +_0204D4CC: .word 0x021C5A68 +_0204D4D0: .word 0x000002BE +_0204D4D4: .word 0x00000132 + + thumb_func_start sub_0204D4D8 +sub_0204D4D8: ; 0x0204D4D8 + ldr r1, _0204D4E8 ; =0x021C48B8 + mov r0, #0x2 + ldr r1, [r1, #0x44] + tst r1, r0 + beq _0204D4E4 + mov r0, #0x1 +_0204D4E4: + ldr r3, _0204D4EC ; =sub_02030F60 + bx r3 + .balign 4 +_0204D4E8: .word 0x021C48B8 +_0204D4EC: .word sub_02030F60 + 1 + + thumb_func_start sub_0204D4F0 +sub_0204D4F0: ; 0x0204D4F0 + push {r4-r6, lr} + add r4, r1, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + beq _0204D530 + bl sub_0204D4D8 + bl sub_02031190 + cmp r0, #0x0 + bne _0204D524 + add r0, r4, #0x0 + bl sub_0204D2B0 + add r0, r4, #0x0 + bl sub_0204D248 + ldr r0, _0204D560 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204D52A + bl sub_02244D58 + b _0204D52A +_0204D524: + add r0, r4, #0x0 + bl sub_0204D248 +_0204D52A: + add r0, r4, #0x0 + bl sub_0204D568 +_0204D530: + ldr r4, _0204D560 ; =0x021C5A68 + ldr r6, _0204D564 ; =0x000002BE + mov r5, #0x0 +_0204D536: + ldr r0, [r4, #0x0] + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _0204D556 + bl sub_02031190 + cmp r0, #0x0 + bne _0204D556 + add r0, r5, #0x0 + bl sub_0202DFA4 + cmp r0, #0x0 + bne _0204D556 + add r0, r5, #0x0 + bl sub_02245358 +_0204D556: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204D536 + pop {r4-r6, pc} + nop +_0204D560: .word 0x021C5A68 +_0204D564: .word 0x000002BE + + thumb_func_start sub_0204D568 +sub_0204D568: ; 0x0204D568 + push {r3-r7, lr} + ldr r4, _0204D608 ; =0x021C5A68 + ldr r7, _0204D60C ; =0x000002BE + mov r5, #0x0 + add r6, sp, #0x0 +_0204D572: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + bne _0204D5A0 + bl sub_02031280 + cmp r0, #0x0 + beq _0204D58A + cmp r5, #0x0 + beq _0204D5A0 +_0204D58A: + bl sub_02031190 + cmp r0, #0x0 + bne _0204D5A0 + ldr r0, [r4, #0x0] + ldrb r0, [r0, r7] + cmp r0, #0x0 + beq _0204D5A0 + add r0, r5, #0x0 + bl sub_02247614 +_0204D5A0: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl sub_02030E7C + cmp r0, #0x0 + bne _0204D5B8 + bl sub_02031280 + cmp r0, #0x0 + beq _0204D5C6 + cmp r5, #0x0 + bne _0204D5C6 +_0204D5B8: + add r0, r5, #0x0 + bl sub_0204DE30 + add r0, r5, #0x0 + bl sub_0204EFCC + b _0204D600 +_0204D5C6: + ldr r0, [r4, #0x0] + add r0, r0, r5 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D600 + bl sub_02031190 + cmp r0, #0x0 + bne _0204D5F0 + ldr r1, [r4, #0x0] + ldr r0, _0204D60C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D5F0 + add r0, r5, #0x0 + bl sub_0223EB8C + add r0, r5, #0x0 + bl sub_0223CB08 +_0204D5F0: + strb r5, [r6, #0x0] + ldr r3, [r4, #0x0] + mov r0, #0x0 + ldr r3, [r3, #0x54] + mov r1, #0x1 + add r2, sp, #0x0 + bl sub_0204DBCC +_0204D600: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204D572 + pop {r3-r7, pc} + .balign 4 +_0204D608: .word 0x021C5A68 +_0204D60C: .word 0x000002BE + + thumb_func_start sub_0204D610 +sub_0204D610: ; 0x0204D610 + ldr r0, _0204D624 ; =0x021C5A68 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204D620 + mov r0, #0xaf + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + bx lr +_0204D620: + mov r0, #0x0 + bx lr + .balign 4 +_0204D624: .word 0x021C5A68 + + thumb_func_start sub_0204D628 +sub_0204D628: ; 0x0204D628 + push {r3, lr} + ldr r1, _0204D650 ; =0x021C5A68 + ldr r3, [r1, #0x0] + cmp r3, #0x0 + beq _0204D64E + mov r1, #0xaf + lsl r1, r1, #0x2 + ldrb r2, [r3, r1] + cmp r2, r0 + beq _0204D63E + strb r0, [r3, r1] +_0204D63E: + ldr r1, _0204D650 ; =0x021C5A68 + mov r0, #0x3e + ldr r2, [r1, #0x0] + mov r1, #0xaf + lsl r1, r1, #0x2 + add r1, r2, r1 + bl sub_020311D0 +_0204D64E: + pop {r3, pc} + .balign 4 +_0204D650: .word 0x021C5A68 + + thumb_func_start sub_0204D654 +sub_0204D654: ; 0x0204D654 + push {r4, lr} + ldr r2, _0204D678 ; =0x021C5A68 + ldr r4, [r2, #0x0] + cmp r4, #0x0 + beq _0204D674 + mov r1, #0xaf + lsl r1, r1, #0x2 + ldrb r3, [r4, r1] + cmp r3, r0 + beq _0204D674 + strb r0, [r4, r1] + ldr r2, [r2, #0x0] + mov r0, #0x3e + add r1, r2, r1 + bl sub_020311D0 +_0204D674: + pop {r4, pc} + nop +_0204D678: .word 0x021C5A68 + + thumb_func_start sub_0204D67C +sub_0204D67C: ; 0x0204D67C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D6BC ; =0x021C5A68 + add r4, r2, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D6B8 + cmp r1, #0x1 + beq _0204D692 + bl sub_02020C2C +_0204D692: + cmp r5, #0x8 + blt _0204D69A + bl sub_02020C2C +_0204D69A: + ldrb r0, [r4, #0x0] + mov r1, #0x1 + cmp r0, #0x1 + beq _0204D6A8 + cmp r0, #0x0 + beq _0204D6A8 + mov r1, #0x0 +_0204D6A8: + cmp r1, #0x0 + bne _0204D6B0 + bl sub_02020C2C +_0204D6B0: + ldrb r1, [r4, #0x0] + add r0, r5, #0x0 + bl sub_0204EAD8 +_0204D6B8: + pop {r3-r5, pc} + nop +_0204D6BC: .word 0x021C5A68 + + thumb_func_start sub_0204D6C0 +sub_0204D6C0: ; 0x0204D6C0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D734 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204D732 + ldr r0, _0204D738 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D6E4 + add r0, r4, #0x0 + bl sub_0204D654 + ldr r0, _0204D734 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D73C ; =0x000002C1 + strb r4, [r1, r0] +_0204D6E4: + ldr r4, [r5, #0x38] + cmp r4, #0x0 + beq _0204D6F8 + bl sub_02031190 + ldr r1, _0204D734 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r0, r1, r0 + str r4, [r0, #0x8] +_0204D6F8: + bl sub_02030F40 + cmp r0, #0x0 + beq _0204D712 + bl sub_02031190 + cmp r0, #0x0 + bne _0204D712 + ldr r1, _0204D734 ; =0x021C5A68 + mov r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0204D89C +_0204D712: + bl sub_02030F40 + cmp r0, #0x0 + beq _0204D732 + bl sub_02031190 + cmp r0, #0x0 + bne _0204D732 + ldr r0, _0204D734 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D738 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D732 + bl sub_0204EC28 +_0204D732: + pop {r3-r5, pc} + .balign 4 +_0204D734: .word 0x021C5A68 +_0204D738: .word 0x000002BE +_0204D73C: .word 0x000002C1 + + thumb_func_start sub_0204D740 +sub_0204D740: ; 0x0204D740 + mov r0, #0x20 + tst r0, r1 + beq _0204D74A + mov r0, #0x2 + bx lr +_0204D74A: + mov r0, #0x10 + tst r0, r1 + beq _0204D754 + mov r0, #0x3 + bx lr +_0204D754: + mov r0, #0x40 + tst r0, r1 + beq _0204D75E + mov r0, #0x0 + bx lr +_0204D75E: + mov r0, #0x80 + tst r1, r0 + beq _0204D768 + mov r0, #0x1 + bx lr +_0204D768: + sub r0, #0x81 + bx lr + + thumb_func_start sub_0204D76C +sub_0204D76C: ; 0x0204D76C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204D7AC ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_02034B64 + add r4, r0, #0x0 + ldr r0, _0204D7AC ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_02034B6C + mov r2, #0x0 + cmp r4, #0x0 + ble _0204D7A6 +_0204D78E: + ldrh r1, [r0, #0x18] + cmp r5, r1 + bne _0204D79E + ldrh r1, [r0, #0x1a] + cmp r6, r1 + bne _0204D79E + mov r0, #0x1 + pop {r4-r6, pc} +_0204D79E: + add r2, r2, #0x1 + add r0, #0x20 + cmp r2, r4 + blt _0204D78E +_0204D7A6: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204D7AC: .word 0x021C5A68 + + thumb_func_start sub_0204D7B0 +sub_0204D7B0: ; 0x0204D7B0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204D824 ; =0x0000FFFF + add r6, r1, #0x0 + add r7, r2, #0x0 + cmp r5, r0 + beq _0204D812 + cmp r6, r0 + beq _0204D812 + mov r4, #0x0 +_0204D7C4: + cmp r4, r7 + beq _0204D7E0 + add r0, r4, #0x0 + bl sub_0204E544 + cmp r5, r0 + bne _0204D7E0 + add r0, r4, #0x0 + bl sub_0204E598 + cmp r6, r0 + bne _0204D7E0 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D7E0: + add r4, r4, #0x1 + cmp r4, #0x8 + blt _0204D7C4 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0204D76C + cmp r0, #0x0 + beq _0204D7F6 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D7F6: + ldr r0, _0204D828 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D82C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D812 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02246F1C + cmp r0, #0x0 + bne _0204D812 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D812: + ldr r0, _0204D828 ; =0x021C5A68 + add r1, r5, #0x0 + ldr r0, [r0, #0x0] + add r2, r6, #0x0 + ldr r0, [r0, #0x54] + bl sub_0204A6B4 + pop {r3-r7, pc} + nop +_0204D824: .word 0x0000FFFF +_0204D828: .word 0x021C5A68 +_0204D82C: .word 0x000002BE + + thumb_func_start sub_0204D830 +sub_0204D830: ; 0x0204D830 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _0204D858 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204D852 + bl sub_02244D40 + bl sub_02244DA0 + cmp r0, #0x0 + bne _0204D84E + mov r0, #0x1 + pop {r3, pc} +_0204D84E: + mov r0, #0x0 + pop {r3, pc} +_0204D852: + mov r0, #0x0 + pop {r3, pc} + nop +_0204D858: .word 0x021C5A68 + + thumb_func_start sub_0204D85C +sub_0204D85C: ; 0x0204D85C + cmp r0, #0x5 + bge _0204D864 + mov r0, #0x8 + bx lr +_0204D864: + cmp r0, #0xa + bge _0204D86C + mov r0, #0x4 + bx lr +_0204D86C: + mov r0, #0x2 + bx lr + + thumb_func_start sub_0204D870 +sub_0204D870: ; 0x0204D870 + push {r3-r4, lr} + sub sp, #0x14 + ldr r3, _0204D898 ; =0x020F5824 + add r4, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + cmp r4, #0x5 + str r0, [r2, #0x0] + blt _0204D88E + bl sub_02020C2C +_0204D88E: + lsl r1, r4, #0x2 + add r0, sp, #0x0 + ldr r0, [r0, r1] + add sp, #0x14 + pop {r3-r4, pc} + .balign 4 +_0204D898: .word 0x020F5824 + + thumb_func_start sub_0204D89C +sub_0204D89C: ; 0x0204D89C + push {r3-r7, lr} + sub sp, #0x18 + mov r5, #0x0 + add r0, r5, #0x0 + ldr r6, _0204DAF4 ; =0x021C5A68 + str r5, [sp, #0x4] + str r0, [sp, #0x0] +_0204D8AA: + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0x48 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r1, r0, r5 + add r1, #0xe2 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r1, r0, r5 + add r1, #0xea + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r2, #0x62 + ldr r0, [r0, #0x4] + add r4, r2, r1 + cmp r0, #0x0 + beq _0204D8E0 + add r1, r5, #0x0 + bl sub_02244D40 + str r0, [sp, #0x4] +_0204D8E0: + ldr r1, [r6, #0x0] + ldr r0, _0204DAF8 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D8F4 + add r0, r5, #0x0 + bl sub_02245F4C + cmp r0, #0x0 + bne _0204D976 +_0204D8F4: + ldr r0, [r6, #0x0] + ldr r1, _0204DAFC ; =0x0000013A + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _0204D90A + ldr r1, _0204DAFC ; =0x0000013A + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DAFC ; =0x0000013A + strb r2, [r0, r1] +_0204D90A: + ldr r0, [r6, #0x0] + ldr r1, _0204DAFC ; =0x0000013A + add r2, r0, r5 + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204D93C + ldr r1, _0204DAF8 ; =0x000002BE + ldrb r0, [r0, r1] + cmp r0, #0x0 + beq _0204D93C + add r0, r5, #0x0 + bl sub_0223F8D8 + cmp r0, #0x0 + bne _0204D976 + add r0, r5, #0x0 + bl sub_0204D830 + cmp r0, #0x0 + bne _0204D93C + add r0, r5, #0x0 + bl sub_02247544 + cmp r0, #0x0 + bne _0204D976 +_0204D93C: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204D94A + bl sub_02244DB0 + cmp r0, #0x0 + beq _0204D976 +_0204D94A: + ldr r0, [r6, #0x0] + add r0, r0, r5 + add r0, #0xf2 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D95A + mov r7, #0x0 + b _0204D962 +_0204D95A: + add r0, r5, #0x0 + bl sub_02030F88 + add r7, r0, #0x0 +_0204D962: + add r0, r5, #0x0 + bl sub_02030F74 + strb r0, [r4, #0x5] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D978 +_0204D976: + b _0204DAE2 +_0204D978: + ldr r0, _0204DB00 ; =0x0000010A + ldr r2, _0204DB04 ; =0x0000012A + ldrb r0, [r1, r0] + ldrb r1, [r1, r2] + bl sub_0204D85C + str r0, [sp, #0x10] + ldr r1, [sp, #0x10] + add r0, r5, #0x0 + bl sub_0204E084 + cmp r0, #0x0 + beq _0204D9A8 + ldr r0, [r6, #0x0] + ldr r1, [sp, #0x10] + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + b _0204DAE2 +_0204D9A8: + ldrb r0, [r4, #0x7] + cmp r0, #0x1 + bne _0204D9B8 + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] +_0204D9B8: + mov r0, #0x0 + strb r0, [r4, #0x7] + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x2 + bne _0204D9DE + add r1, sp, #0x14 + strb r5, [r1, #0x1] + ldr r1, _0204DB0C ; =0x00000122 + mov r2, #0x1 + strb r2, [r0, r1] + add r1, sp, #0x14 + mov r0, #0x28 + add r1, #0x1 + bl sub_02030C4C + b _0204DAE2 +_0204D9DE: + add r0, r7, #0x0 + add r1, r7, #0x0 + bl sub_0204D740 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204E62C + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_0204E664 + str r0, [sp, #0x8] + ldr r1, [sp, #0xc] + ldr r0, _0204DB10 ; =0x0000FFFF + cmp r1, r0 + beq _0204DAE2 + ldr r1, [sp, #0x8] + cmp r1, r0 + beq _0204DAE2 + mov r0, #0x0 + mvn r0, r0 + cmp r7, r0 + beq _0204DAE2 + mov r0, #0x4 + ldrsb r0, [r4, r0] + cmp r0, r7 + beq _0204DA44 + strb r7, [r4, #0x4] + ldr r0, [r6, #0x0] + mov r1, #0x4 + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x2 + bls _0204DAE2 + ldr r1, _0204DB0C ; =0x00000122 + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DB0C ; =0x00000122 + strb r2, [r0, r1] + b _0204DAE2 +_0204DA44: + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r2, r0, r5 + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204DAE2 + ldr r1, _0204DAF8 ; =0x000002BE + ldrb r0, [r0, r1] + cmp r0, #0x0 + beq _0204DA66 + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0224566C + cmp r0, #0x1 + beq _0204DAE2 +_0204DA66: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x8] + add r2, r5, #0x0 + bl sub_0204D7B0 + cmp r0, #0x0 + beq _0204DA8E + mov r0, #0x1 + strb r0, [r4, #0x7] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x4 + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + b _0204DAE2 +_0204DA8E: + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [sp, #0xc] + strh r0, [r4, #0x0] + ldr r0, [sp, #0x8] + strh r0, [r4, #0x2] + strb r7, [r4, #0x4] + ldrb r0, [r4, #0x5] + bl sub_0204D870 + ldr r1, [r6, #0x0] + add r2, r1, r5 + ldr r1, _0204DAFC ; =0x0000013A + strb r0, [r2, r1] + ldr r0, [r6, #0x0] + sub r1, #0x20 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _0204DAE2 + ldr r1, _0204DB14 ; =0x0000011A + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DB14 ; =0x0000011A + strb r2, [r0, r1] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204DB14 ; =0x0000011A + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204DAE2 + mov r1, #0x1 + add r0, sp, #0x14 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r2, sp, #0x14 + mov r3, #0x0 + bl sub_0224089C +_0204DAE2: + ldr r0, [sp, #0x0] + add r5, r5, #0x1 + add r0, #0x8 + str r0, [sp, #0x0] + cmp r5, #0x8 + bge _0204DAF0 + b _0204D8AA +_0204DAF0: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_0204DAF4: .word 0x021C5A68 +_0204DAF8: .word 0x000002BE +_0204DAFC: .word 0x0000013A +_0204DB00: .word 0x0000010A +_0204DB04: .word 0x0000012A +_0204DB08: .word 0x00000132 +_0204DB0C: .word 0x00000122 +_0204DB10: .word 0x0000FFFF +_0204DB14: .word 0x0000011A + + thumb_func_start sub_0204DB18 +sub_0204DB18: ; 0x0204DB18 + push {r3-r7, lr} + ldr r5, _0204DBC0 ; =0x021C5A68 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + add r3, r2, #0x0 + cmp r0, #0x0 + beq _0204DBBC + add r2, r0, #0x0 + ldrb r4, [r3, #0x4] + add r2, #0x62 + lsl r1, r7, #0x3 + add r2, r2, r1 + mov r1, #0x80 + tst r1, r4 + beq _0204DB3E + ldr r1, _0204DBC4 ; =0x000002BB + mov r2, #0x1 + strb r2, [r0, r1] + pop {r3-r7, pc} +_0204DB3E: + mov r0, #0x4 + ldrsb r1, [r2, r0] + sub r0, r0, #0x5 + cmp r1, r0 + bne _0204DB5A + ldr r4, _0204DBC8 ; =0x00000132 + mov r1, #0x0 + mov r0, #0x1 +_0204DB4E: + ldr r6, [r5, #0x0] + add r6, r6, r1 + add r1, r1, #0x1 + strb r0, [r6, r4] + cmp r1, #0x8 + blt _0204DB4E +_0204DB5A: + mov r0, #0x0 + strh r0, [r2, #0x0] + strh r0, [r2, #0x2] + ldrh r1, [r2, #0x0] + ldrb r0, [r3, #0x0] + add r0, r1, r0 + strh r0, [r2, #0x0] + ldrb r1, [r3, #0x1] + ldrh r0, [r2, #0x0] + lsl r4, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r4, r1 + add r0, r0, r4 + strh r0, [r2, #0x0] + ldrh r4, [r2, #0x2] + ldrb r0, [r3, #0x2] + add r0, r4, r0 + strh r0, [r2, #0x2] + ldrb r4, [r3, #0x3] + ldrh r0, [r2, #0x2] + lsl r4, r4, #0x8 + and r1, r4 + add r0, r0, r1 + strh r0, [r2, #0x2] + ldrb r1, [r3, #0x4] + mov r0, #0xf + ldr r3, _0204DBC0 ; =0x021C5A68 + and r0, r1 + strb r0, [r2, #0x4] + ldr r1, [r3, #0x0] + mov r0, #0x1 + add r1, r1, r7 + add r1, #0x48 + strb r0, [r1, #0x0] + ldr r1, [r3, #0x0] + add r4, r1, r7 + ldr r1, _0204DBC8 ; =0x00000132 + strb r0, [r4, r1] + ldr r0, [r3, #0x0] + ldrh r1, [r2, #0x0] + ldrh r2, [r2, #0x2] + ldr r0, [r0, #0x54] + bl sub_0204A6B4 + cmp r0, #0x0 + beq _0204DBBC + bl sub_02020C2C +_0204DBBC: + pop {r3-r7, pc} + nop +_0204DBC0: .word 0x021C5A68 +_0204DBC4: .word 0x000002BB +_0204DBC8: .word 0x00000132 + + thumb_func_start sub_0204DBCC +sub_0204DBCC: ; 0x0204DBCC + push {r3-r5, lr} + ldr r0, _0204DC28 ; =0x021C5A68 + ldrb r4, [r2, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204DC24 + bl sub_02031190 + cmp r4, r0 + beq _0204DC24 + ldr r0, _0204DC28 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204DC2C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DC14 + add r0, r4, #0x0 + bl sub_0223E554 + ldr r0, _0204DC28 ; =0x021C5A68 + ldr r3, [r0, #0x0] + ldr r0, _0204DC30 ; =0x000002BD + ldrb r0, [r3, r0] + cmp r0, #0x0 + bne _0204DC14 + lsl r5, r4, #0x3 + add r1, r3, r5 + ldr r0, [r3, #0x54] + add r3, r3, r5 + add r1, #0xa2 + add r3, #0xa4 + ldrh r1, [r1, #0x0] + ldrh r3, [r3, #0x0] + mov r2, #0x0 + bl sub_021E5B30 +_0204DC14: + mov r1, #0x0 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_0204D43C + add r0, r4, #0x0 + bl sub_0202DE78 +_0204DC24: + pop {r3-r5, pc} + nop +_0204DC28: .word 0x021C5A68 +_0204DC2C: .word 0x000002BE +_0204DC30: .word 0x000002BD + + thumb_func_start sub_0204DC34 +sub_0204DC34: ; 0x0204DC34 + mov r0, #0x5 + bx lr + + thumb_func_start sub_0204DC38 +sub_0204DC38: ; 0x0204DC38 + push {r3-r5, lr} + ldrb r1, [r2, #0x0] + mov r0, #0xf + add r3, r1, #0x0 + and r3, r0 + ldr r0, _0204DCB0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204DCAC + ldrb r4, [r2, #0x2] + add r1, #0xa2 + lsl r0, r3, #0x3 + add r1, r1, r0 + mov r0, #0x80 + tst r0, r4 + beq _0204DC5C + mov r0, #0x1 + b _0204DC5E +_0204DC5C: + mov r0, #0x0 +_0204DC5E: + strb r0, [r1, #0x7] + mov r0, #0x0 + strh r0, [r1, #0x0] + strh r0, [r1, #0x2] + ldrh r4, [r1, #0x0] + ldrb r0, [r2, #0x1] + add r0, r4, r0 + strh r0, [r1, #0x0] + ldrb r4, [r2, #0x2] + ldrh r0, [r1, #0x0] + lsl r5, r4, #0x8 + mov r4, #0x1 + lsl r4, r4, #0x8 + and r5, r4 + add r0, r0, r5 + strh r0, [r1, #0x0] + ldrh r5, [r1, #0x2] + ldrb r0, [r2, #0x3] + add r0, r5, r0 + strh r0, [r1, #0x2] + ldrb r5, [r2, #0x2] + ldrh r0, [r1, #0x2] + lsl r5, r5, #0x7 + and r4, r5 + add r0, r0, r4 + strh r0, [r1, #0x2] + ldrb r0, [r2, #0x0] + asr r4, r0, #0x4 + mov r0, #0x3 + and r4, r0 + strb r4, [r1, #0x4] + ldrb r2, [r2, #0x0] + asr r2, r2, #0x6 + and r0, r2 + strb r0, [r1, #0x5] + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + bl sub_0204D328 +_0204DCAC: + pop {r3-r5, pc} + nop +_0204DCB0: .word 0x021C5A68 + + thumb_func_start sub_0204DCB4 +sub_0204DCB4: ; 0x0204DCB4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_020377AC + bl sub_02026CC4 + add r4, r0, #0x0 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_020377AC + bl sub_02026CB4 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204DD14 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DD0C + bl sub_02031190 + cmp r5, r0 + bne _0204DD0C + add r0, r4, #0x0 + bl sub_020266B0 + add r0, r4, #0x0 + bl sub_020266C8 + cmp r0, #0x32 + bne _0204DD0C + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x25 + bl sub_0202A170 +_0204DD0C: + pop {r3-r5, pc} + nop +_0204DD10: .word 0x021C5A68 +_0204DD14: .word 0x000002BE + + thumb_func_start sub_0204DD18 +sub_0204DD18: ; 0x0204DD18 + push {r3-r7, lr} + sub sp, #0x10 + ldr r4, _0204DE24 ; =0x020F5808 + add r6, r3, #0x0 + add r5, r0, #0x0 + add r3, sp, #0x4 + mov r2, #0xc +_0204DD26: + ldrb r0, [r4, #0x0] + add r4, r4, #0x1 + strb r0, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _0204DD26 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r2, _0204DE2C ; =0x00000102 + ldr r0, [r0, #0x0] + add r3, r0, r5 + ldrsb r3, [r3, r2] + mov r2, #0x0 + mvn r2, r2 + cmp r3, r2 + beq _0204DD4E + lsl r7, r5, #0x2 + add r0, r0, r7 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0204DD54 +_0204DD4E: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0204DD54: + cmp r1, #0x0 + bne _0204DD5E + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204DD5E: + bl sub_020553A0 + add r4, r0, #0x0 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r7, #0x0 + add r0, r1, r0 + ldr r0, [r0, #0x8] + bl sub_020552F8 + str r0, [sp, #0x0] + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204DE2C ; =0x00000102 + ldrsb r0, [r1, r0] + bl sub_0204F610 + ldr r1, [sp, #0x0] + cmp r1, r0 + beq _0204DDB4 + add r0, r4, #0x0 + mov r1, #0x80 + bl sub_02058418 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204DE2C ; =0x00000102 + ldrsb r0, [r1, r0] + bl sub_0204F610 + add r1, r0, #0x0 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r7 + ldr r0, [r0, #0x8] + bl sub_02055304 + add r0, r4, #0x0 + mov r1, #0x80 + bl sub_02058410 +_0204DDB4: + add r0, r4, #0x0 + bl sub_0205AE28 + add r0, r4, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _0204DE1C + add r0, r5, #0x0 + bl sub_0204DCB4 + cmp r6, #0x0 + beq _0204DDD8 + cmp r6, #0x1 + beq _0204DDEE + cmp r6, #0x2 + beq _0204DE06 + b _0204DE1C +_0204DDD8: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r2, [r2, r1] + add r1, sp, #0x4 + ldrb r1, [r1, r2] + bl sub_0205ADDC + b _0204DE1C +_0204DDEE: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r1, [r2, r1] + add r2, r1, #0x4 + add r1, sp, #0x4 + ldrb r1, [r1, r2] + bl sub_0205ADDC + b _0204DE1C +_0204DE06: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r2, [r2, r1] + add r1, sp, #0x4 + add r2, #0x8 + ldrb r1, [r1, r2] + bl sub_0205ADDC +_0204DE1C: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204DE24: .word 0x020F5808 +_0204DE28: .word 0x021C5A68 +_0204DE2C: .word 0x00000102 + + thumb_func_start sub_0204DE30 +sub_0204DE30: ; 0x0204DE30 + push {r4-r7, lr} + sub sp, #0x1c + add r4, r0, #0x0 + ldr r0, _0204E06C ; =0x021C5A68 + lsl r1, r4, #0x3 + ldr r0, [r0, #0x0] + add r2, r0, #0x0 + add r2, #0xa2 + add r5, r2, r1 + ldr r1, _0204E070 ; =0x00000142 + add r2, r0, r1 + ldrb r1, [r2, r4] + cmp r1, #0x0 + beq _0204DE54 + sub r0, r1, #0x1 + add sp, #0x1c + strb r0, [r2, r4] + pop {r4-r7, pc} +_0204DE54: + ldrh r2, [r5, #0x0] + ldr r1, _0204E074 ; =0x0000FFFF + cmp r2, r1 + beq _0204DF08 + ldrh r2, [r5, #0x2] + cmp r2, r1 + beq _0204DF08 + ldr r1, _0204E078 ; =0x000002BD + ldrb r2, [r0, r1] + cmp r2, #0x0 + bne _0204DF08 + add r1, r1, #0x1 + ldrb r0, [r0, r1] + cmp r0, #0x0 + bne _0204DE86 + bl sub_02031190 + cmp r4, r0 + bne _0204DE86 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E07C ; =0x000002C1 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DF08 +_0204DE86: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + str r0, [sp, #0x18] + cmp r0, #0x0 + bne _0204DE98 + b _0204E068 +_0204DE98: + bl sub_02055320 + ldrh r1, [r5, #0x0] + sub r0, r0, r1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + bl sub_0205532C + ldrh r1, [r5, #0x2] + sub r7, r0, r1 + ldr r0, [sp, #0x18] + bl sub_020552F8 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bne _0204DEC2 + cmp r7, #0x0 + bne _0204DEC2 + mov r6, #0x0 + b _0204DEEC +_0204DEC2: + ldr r0, [sp, #0x10] + blx sub_020DE3F0 + add r6, r0, #0x0 + add r0, r7, #0x0 + blx sub_020DE3F0 + cmp r6, r0 + ble _0204DEE2 + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _0204DEDE + mov r6, #0x20 + b _0204DEEC +_0204DEDE: + mov r6, #0x10 + b _0204DEEC +_0204DEE2: + cmp r7, #0x0 + ble _0204DEEA + mov r6, #0x40 + b _0204DEEC +_0204DEEA: + mov r6, #0x80 +_0204DEEC: + add r0, r7, #0x0 + blx sub_020DE3F0 + ldr r0, [sp, #0x10] + blx sub_020DE3F0 + ldrb r3, [r5, #0x5] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r6, #0x0 + bl sub_0204DD18 + cmp r0, #0x0 + beq _0204DF0A +_0204DF08: + b _0204E068 +_0204DF0A: + ldrb r0, [r5, #0x5] + mov r7, #0xff + str r0, [sp, #0x14] + cmp r0, #0x3 + bhi _0204DF46 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r1, #0 + lsl r2, r3, #0 + lsl r0, r4, #0 + mov r0, #0x5 + str r0, [sp, #0x8] + b _0204DF46 +_0204DF2E: + .byte 0x04, 0x20 + .byte 0x02, 0x90, 0x02, 0x20, 0x30, 0x43, 0x00, 0x04, 0x06, 0x0C, 0x04, 0xE0, 0x02, 0x20, 0x02, 0x90 + .byte 0x01, 0xE0, 0x01, 0x20, 0x02, 0x90 +_0204DF46: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DF6C + bl sub_02031190 + cmp r4, r0 + bne _0204DF6C + ldr r0, _0204E06C ; =0x021C5A68 + ldr r2, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + ldrb r1, [r2, r0] + sub r1, r1, #0x1 + strb r1, [r2, r0] + b _0204E00C +_0204DF6C: + bl sub_02030FE0 + cmp r0, #0x0 + bne _0204DFA0 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E080 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DFA0 + bl sub_02031190 + cmp r4, r0 + bne _0204DFA0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + add r2, r6, #0x0 + bl sub_02057194 + add r7, r0, #0x0 + b _0204E00C +_0204DFA0: + mov r0, #0x2 + add r1, r6, #0x0 + bic r1, r0 + bne _0204DFDE + ldrb r0, [r5, #0x7] + cmp r0, #0x0 + beq _0204DFDE + mov r0, #0x3 + str r0, [sp, #0x14] + mov r0, #0x4 + ldrsb r0, [r5, r0] + cmp r0, #0x3 + bhi _0204DFD2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r7, #0x1c + b _0204E00C +_0204DFD2: + mov r7, #0x1d + b _0204E00C +_0204DFD6: + .byte 0x1E, 0x27, 0x18, 0xE0, 0x1F, 0x27, 0x16, 0xE0 +_0204DFDE: + cmp r1, #0x0 + bne _0204DFF6 + mov r0, #0x4 + ldrsb r0, [r5, r0] + ldr r1, [sp, #0xc] + cmp r0, r1 + beq _0204DFF6 + mov r1, #0x24 + bl sub_0205AFDC + add r7, r0, #0x0 + b _0204E00C +_0204DFF6: + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + add r2, r6, #0x0 + bl sub_02057194 + add r7, r0, #0x0 +_0204E00C: + ldr r0, [sp, #0x18] + bl sub_02057254 + cmp r0, #0x0 + bne _0204E020 + ldr r0, [sp, #0x18] + bl sub_020570C4 + cmp r0, #0x0 + beq _0204E068 +_0204E020: + cmp r7, #0xff + beq _0204E068 + ldr r0, [sp, #0x18] + add r1, r7, #0x0 + bl sub_02057260 + mov r0, #0x2 + bic r6, r0 + beq _0204E068 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r4 + ldr r0, _0204E070 ; =0x00000142 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E050 + ldr r0, [sp, #0x14] + bl sub_0204D870 + ldr r1, _0204E06C ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r2, r1, r4 + ldr r1, _0204E070 ; =0x00000142 + strb r0, [r2, r1] +_0204E050: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E070 ; =0x00000142 + add r1, r1, r0 + ldrb r0, [r1, r4] + cmp r0, #0x0 + beq _0204E062 + sub r0, r0, #0x1 + strb r0, [r1, r4] +_0204E062: + add r0, r4, #0x0 + bl sub_0204DCB4 +_0204E068: + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_0204E06C: .word 0x021C5A68 +_0204E070: .word 0x00000142 +_0204E074: .word 0x0000FFFF +_0204E078: .word 0x000002BD +_0204E07C: .word 0x000002C1 +_0204E080: .word 0x000002BE + + thumb_func_start sub_0204E084 +sub_0204E084: ; 0x0204E084 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r1, #0x0 + ldr r1, _0204E16C ; =0x021C5A68 + add r5, r0, #0x0 + ldr r2, [r1, #0x0] + ldr r1, _0204E170 ; =0x0000010A + add r2, r2, r1 + ldrb r1, [r2, r5] + cmp r1, #0x0 + bne _0204E0A0 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0204E0A0: + cmp r1, #0xff + bne _0204E0AA + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E0AA: + sub r1, r1, #0x1 + strb r1, [r2, r5] + cmp r4, #0x1 + bne _0204E0B8 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E0B8: + bl sub_0204E544 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204E598 + str r0, [sp, #0x0] + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E174 ; =0x00000112 + ldrb r0, [r1, r0] + bl sub_02059BF4 + add r7, r6, r0 + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E174 ; =0x00000112 + ldrb r0, [r1, r0] + bl sub_02059C00 + ldr r1, [sp, #0x0] + add r6, r1, r0 + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E170 ; =0x0000010A + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204E110 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_0204D7B0 + cmp r0, #0x0 + beq _0204E110 + ldr r1, _0204E16C ; =0x021C5A68 + mov r0, #0x1 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204E170 ; =0x0000010A + strb r0, [r2, r1] +_0204E110: + ldr r0, _0204E16C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E170 ; =0x0000010A + add r2, r1, r5 + ldrb r0, [r2, r0] + cmp r0, #0x1 + bne _0204E124 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E124: + cmp r0, #0x0 + bne _0204E13E + mov r1, #0x1 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r2, sp, #0x4 + mov r3, #0x0 + bl sub_0224089C + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E13E: + add r1, #0x62 + lsl r2, r5, #0x3 + add r0, r1, r2 + strh r7, [r1, r2] + strh r6, [r0, #0x2] + cmp r4, #0x2 + beq _0204E156 + cmp r4, #0x4 + beq _0204E15C + cmp r4, #0x8 + beq _0204E162 + b _0204E166 +_0204E156: + mov r1, #0x0 + strb r1, [r0, #0x5] + b _0204E166 +_0204E15C: + mov r1, #0x1 + strb r1, [r0, #0x5] + b _0204E166 +_0204E162: + mov r1, #0x2 + strb r1, [r0, #0x5] +_0204E166: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204E16C: .word 0x021C5A68 +_0204E170: .word 0x0000010A +_0204E174: .word 0x00000112 + + thumb_func_start sub_0204E178 +sub_0204E178: ; 0x0204E178 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204E1DC ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x3 + add r1, #0x62 + add r6, r1, r0 + add r0, r4, #0x0 + add r7, r2, #0x0 + bl sub_0204F610 + ldr r1, _0204E1DC ; =0x021C5A68 + strb r0, [r6, #0x4] + ldr r0, [r1, #0x0] + add r2, r0, r5 + ldr r0, _0204E1E0 ; =0x00000112 + cmp r7, #0x0 + strb r4, [r2, r0] + beq _0204E1B6 + ldr r2, [r1, #0x0] + mov r3, #0x1 + add r2, r2, r5 + add r0, #0x18 + strb r3, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x2d + add r1, r0, r5 + add r0, r2, #0x0 + add r0, #0xdd + b _0204E1CA +_0204E1B6: + ldr r2, [r1, #0x0] + mov r3, #0x0 + add r2, r2, r5 + add r0, #0x18 + strb r3, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x1b + add r1, r0, r5 + add r0, r2, #0x0 + add r0, #0xef +_0204E1CA: + strb r2, [r1, r0] + ldr r0, _0204E1DC ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E1E4 ; =0x00000132 + strb r2, [r1, r0] + pop {r3-r7, pc} + nop +_0204E1DC: .word 0x021C5A68 +_0204E1E0: .word 0x00000112 +_0204E1E4: .word 0x00000132 + + thumb_func_start sub_0204E1E8 +sub_0204E1E8: ; 0x0204E1E8 + ldr r1, _0204E1F8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204E1FC ; =0x0000010A + strb r2, [r1, r0] + bx lr + nop +_0204E1F8: .word 0x021C5A68 +_0204E1FC: .word 0x0000010A + + thumb_func_start sub_0204E200 +sub_0204E200: ; 0x0204E200 + ldr r1, _0204E210 ; =0x021C5A68 + mov r2, #0xff + ldr r1, [r1, #0x0] + add r1, r1, r0 + add r0, r2, #0x0 + add r0, #0xb + strb r2, [r1, r0] + bx lr + .balign 4 +_0204E210: .word 0x021C5A68 + + thumb_func_start sub_0204E214 +sub_0204E214: ; 0x0204E214 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204E24C ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E248 + bl sub_020553A0 + mov r1, #0x80 + add r6, r0, #0x0 + bl sub_02058410 + mov r1, #0x1 + add r0, r6, #0x0 + lsl r1, r1, #0x8 + bl sub_02058410 + ldr r0, _0204E24C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E250 ; =0x00000102 + strb r4, [r1, r0] +_0204E248: + pop {r4-r6, pc} + nop +_0204E24C: .word 0x021C5A68 +_0204E250: .word 0x00000102 + + thumb_func_start sub_0204E254 +sub_0204E254: ; 0x0204E254 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _0204E2A0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E29E + add r2, r1, r4 + ldr r1, _0204E2A4 ; =0x00000102 + ldrsb r2, [r2, r1] + mov r1, #0x0 + mvn r1, r1 + cmp r2, r1 + beq _0204E29E + bl sub_020553A0 + add r5, r0, #0x0 + bl sub_0205AE50 + add r0, r5, #0x0 + mov r1, #0x80 + bl sub_02058418 + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x8 + bl sub_02058418 + ldr r0, _0204E2A0 ; =0x021C5A68 + mov r2, #0x0 + ldr r0, [r0, #0x0] + mvn r2, r2 + add r1, r0, r4 + ldr r0, _0204E2A4 ; =0x00000102 + strb r2, [r1, r0] +_0204E29E: + pop {r3-r5, pc} + .balign 4 +_0204E2A0: .word 0x021C5A68 +_0204E2A4: .word 0x00000102 + + thumb_func_start sub_0204E2A8 +sub_0204E2A8: ; 0x0204E2A8 + mov r0, #0x4 + bx lr + + thumb_func_start sub_0204E2AC +sub_0204E2AC: ; 0x0204E2AC + ldr r3, _0204E2B0 ; =sub_0204F7FC + bx r3 + .balign 4 +_0204E2B0: .word sub_0204F7FC + 1 + + thumb_func_start sub_0204E2B4 +sub_0204E2B4: ; 0x0204E2B4 + ldr r3, _0204E2B8 ; =sub_0204F7FC + bx r3 + .balign 4 +_0204E2B8: .word sub_0204F7FC + 1 + + thumb_func_start sub_0204E2BC +sub_0204E2BC: ; 0x0204E2BC + ldr r3, _0204E2C4 ; =sub_0204F774 + mov r0, #0x2 + bx r3 + nop +_0204E2C4: .word sub_0204F774 + 1 + + thumb_func_start sub_0204E2C8 +sub_0204E2C8: ; 0x0204E2C8 + ldr r3, _0204E2D0 ; =sub_0204F774 + mov r0, #0x20 + bx r3 + nop +_0204E2D0: .word sub_0204F774 + 1 + + thumb_func_start sub_0204E2D4 +sub_0204E2D4: ; 0x0204E2D4 + ldr r3, _0204E2DC ; =sub_0204F774 + mov r0, #0x1 + bx r3 + nop +_0204E2DC: .word sub_0204F774 + 1 + + thumb_func_start sub_0204E2E0 +sub_0204E2E0: ; 0x0204E2E0 + push {r3, lr} + add r1, sp, #0x0 + strb r0, [r1, #0x0] + mov r0, #0x1a + add r1, sp, #0x0 + bl sub_02030C4C + pop {r3, pc} + + thumb_func_start sub_0204E2F0 +sub_0204E2F0: ; 0x0204E2F0 + ldr r3, _0204E2F8 ; =0x0223E4BD + ldrb r0, [r2, #0x0] + bx r3 + nop +_0204E2F8: .word 0x0223E4BD + + thumb_func_start sub_0204E2FC +sub_0204E2FC: ; 0x0204E2FC + push {r3, lr} + bl sub_02031280 + cmp r0, #0x0 + beq _0204E30A + mov r0, #0x1 + pop {r3, pc} +_0204E30A: + ldr r0, _0204E344 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E316 + mov r0, #0x0 + pop {r3, pc} +_0204E316: + bl sub_02031190 + bl sub_02030E7C + cmp r0, #0x0 + bne _0204E326 + mov r0, #0x0 + pop {r3, pc} +_0204E326: + ldr r0, _0204E344 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E348 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204E33E + bl sub_0204FE5C + cmp r0, #0x0 + bne _0204E33E + mov r0, #0x0 + pop {r3, pc} +_0204E33E: + mov r0, #0x1 + pop {r3, pc} + nop +_0204E344: .word 0x021C5A68 +_0204E348: .word 0x000002BE + + thumb_func_start sub_0204E34C +sub_0204E34C: ; 0x0204E34C + ldr r1, _0204E358 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x48 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 +_0204E358: .word 0x021C5A68 + + thumb_func_start sub_0204E35C +sub_0204E35C: ; 0x0204E35C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E36C + ldr r0, _0204E3A0 ; =0x0000FFFF + pop {r4, pc} +_0204E36C: + bl sub_02031190 + cmp r4, r0 + bne _0204E382 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E382: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E398 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E398: + ldr r0, _0204E3A0 ; =0x0000FFFF + pop {r4, pc} + .balign 4 +_0204E39C: .word 0x021C5A68 +_0204E3A0: .word 0x0000FFFF + + thumb_func_start sub_0204E3A4 +sub_0204E3A4: ; 0x0204E3A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E3B4 + ldr r0, _0204E3E8 ; =0x0000FFFF + pop {r4, pc} +_0204E3B4: + bl sub_02031190 + cmp r4, r0 + bne _0204E3CA + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E3CA: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E3E0 + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E3E0: + ldr r0, _0204E3E8 ; =0x0000FFFF + pop {r4, pc} + .balign 4 +_0204E3E4: .word 0x021C5A68 +_0204E3E8: .word 0x0000FFFF + + thumb_func_start sub_0204E3EC +sub_0204E3EC: ; 0x0204E3EC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E3FC + ldr r0, _0204E43C ; =0x0000FFFF + pop {r4, pc} +_0204E3FC: + bl sub_02031190 + cmp r4, r0 + bne _0204E412 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E412: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E428 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E42C +_0204E428: + ldr r0, _0204E43C ; =0x0000FFFF + pop {r4, pc} +_0204E42C: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E438: .word 0x021C5A68 +_0204E43C: .word 0x0000FFFF + + thumb_func_start sub_0204E440 +sub_0204E440: ; 0x0204E440 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E48C ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E450 + ldr r0, _0204E490 ; =0x0000FFFF + pop {r4, pc} +_0204E450: + bl sub_02031190 + cmp r4, r0 + bne _0204E466 + ldr r0, _0204E48C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E466: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E47C + ldr r0, _0204E48C ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E480 +_0204E47C: + ldr r0, _0204E490 ; =0x0000FFFF + pop {r4, pc} +_0204E480: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E48C: .word 0x021C5A68 +_0204E490: .word 0x0000FFFF + + thumb_func_start sub_0204E494 +sub_0204E494: ; 0x0204E494 + ldr r1, _0204E4AC ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E4A6 + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + bx lr +_0204E4A6: + ldr r0, _0204E4B0 ; =0x0000FFFF + bx lr + nop +_0204E4AC: .word 0x021C5A68 +_0204E4B0: .word 0x0000FFFF + + thumb_func_start sub_0204E4B4 +sub_0204E4B4: ; 0x0204E4B4 + ldr r1, _0204E4CC ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E4C6 + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + bx lr +_0204E4C6: + ldr r0, _0204E4D0 ; =0x0000FFFF + bx lr + nop +_0204E4CC: .word 0x021C5A68 +_0204E4D0: .word 0x0000FFFF + + thumb_func_start sub_0204E4D4 +sub_0204E4D4: ; 0x0204E4D4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E3EC + ldr r1, _0204E504 ; =0x0000FFFF + cmp r0, r1 + bne _0204E4E6 + add r0, r1, #0x0 + pop {r4, pc} +_0204E4E6: + ldr r0, _0204E508 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl sub_02059BF4 + ldr r1, _0204E508 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xa2 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E504: .word 0x0000FFFF +_0204E508: .word 0x021C5A68 + + thumb_func_start sub_0204E50C +sub_0204E50C: ; 0x0204E50C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E440 + ldr r1, _0204E53C ; =0x0000FFFF + cmp r0, r1 + bne _0204E51E + add r0, r1, #0x0 + pop {r4, pc} +_0204E51E: + ldr r0, _0204E540 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl sub_02059C00 + ldr r1, _0204E540 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xa4 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E53C: .word 0x0000FFFF +_0204E540: .word 0x021C5A68 + + thumb_func_start sub_0204E544 +sub_0204E544: ; 0x0204E544 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E590 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E554 + ldr r0, _0204E594 ; =0x0000FFFF + pop {r4, pc} +_0204E554: + bl sub_02031190 + cmp r4, r0 + bne _0204E56A + ldr r0, _0204E590 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E56A: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E580 + ldr r0, _0204E590 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E584 +_0204E580: + ldr r0, _0204E594 ; =0x0000FFFF + pop {r4, pc} +_0204E584: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E590: .word 0x021C5A68 +_0204E594: .word 0x0000FFFF + + thumb_func_start sub_0204E598 +sub_0204E598: ; 0x0204E598 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E5A8 + ldr r0, _0204E5E8 ; =0x0000FFFF + pop {r4, pc} +_0204E5A8: + bl sub_02031190 + cmp r4, r0 + bne _0204E5BE + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E5BE: + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E5D4 + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E5D8 +_0204E5D4: + ldr r0, _0204E5E8 ; =0x0000FFFF + pop {r4, pc} +_0204E5D8: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E5E4: .word 0x021C5A68 +_0204E5E8: .word 0x0000FFFF + + thumb_func_start sub_0204E5EC +sub_0204E5EC: ; 0x0204E5EC + ldr r1, _0204E604 ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E5FE + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + bx lr +_0204E5FE: + ldr r0, _0204E608 ; =0x0000FFFF + bx lr + nop +_0204E604: .word 0x021C5A68 +_0204E608: .word 0x0000FFFF + + thumb_func_start sub_0204E60C +sub_0204E60C: ; 0x0204E60C + ldr r1, _0204E624 ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E61E + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + bx lr +_0204E61E: + ldr r0, _0204E628 ; =0x0000FFFF + bx lr + nop +_0204E624: .word 0x021C5A68 +_0204E628: .word 0x0000FFFF + + thumb_func_start sub_0204E62C +sub_0204E62C: ; 0x0204E62C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E544 + ldr r1, _0204E65C ; =0x0000FFFF + cmp r0, r1 + bne _0204E63E + add r0, r1, #0x0 + pop {r4, pc} +_0204E63E: + ldr r0, _0204E660 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl sub_02059BF4 + ldr r1, _0204E660 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0x62 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E65C: .word 0x0000FFFF +_0204E660: .word 0x021C5A68 + + thumb_func_start sub_0204E664 +sub_0204E664: ; 0x0204E664 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E598 + ldr r1, _0204E694 ; =0x0000FFFF + cmp r0, r1 + bne _0204E676 + add r0, r1, #0x0 + pop {r4, pc} +_0204E676: + ldr r0, _0204E698 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl sub_02059C00 + ldr r1, _0204E698 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0x64 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E694: .word 0x0000FFFF +_0204E698: .word 0x021C5A68 + + thumb_func_start sub_0204E69C +sub_0204E69C: ; 0x0204E69C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E6B6 + ldr r0, _0204E6C8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E6BC +_0204E6B6: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0204E6BC: + lsl r0, r4, #0x3 + add r1, r1, r0 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + pop {r4, pc} + nop +_0204E6C8: .word 0x021C5A68 + + thumb_func_start sub_0204E6CC +sub_0204E6CC: ; 0x0204E6CC + push {r4, lr} + add r4, r0, #0x0 + bl sub_0204E2FC + cmp r0, #0x0 + beq _0204E6E6 + ldr r0, _0204E6F8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E6EC +_0204E6E6: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0204E6EC: + lsl r0, r4, #0x3 + add r1, r1, r0 + mov r0, #0x66 + ldrsb r0, [r1, r0] + pop {r4, pc} + nop +_0204E6F8: .word 0x021C5A68 + + thumb_func_start sub_0204E6FC +sub_0204E6FC: ; 0x0204E6FC + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _0204E728 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl sub_0204F610 + ldr r2, _0204E728 ; =0x021C5A68 + lsl r1, r4, #0x3 + ldr r3, [r2, #0x0] + add r1, r3, r1 + add r1, #0x66 + strb r0, [r1, #0x0] + ldr r0, [r2, #0x0] + mov r3, #0x1 + add r1, r0, r4 + ldr r0, _0204E72C ; =0x00000132 + strb r3, [r1, r0] + pop {r4, pc} + .balign 4 +_0204E728: .word 0x021C5A68 +_0204E72C: .word 0x00000132 + + thumb_func_start sub_0204E730 +sub_0204E730: ; 0x0204E730 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _0204E754 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl sub_0204F610 + ldr r1, _0204E754 ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa6 + strb r0, [r1, #0x0] + pop {r4, pc} + nop +_0204E754: .word 0x021C5A68 + + thumb_func_start sub_0204E758 +sub_0204E758: ; 0x0204E758 + push {r4, lr} + add r2, r0, #0x0 + ldr r0, _0204E774 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r1, r2, #0x0 + ldr r0, [r0, #0x4] + bl sub_02244D40 + add r1, r4, #0x0 + bl sub_02244D98 + pop {r4, pc} + nop +_0204E774: .word 0x021C5A68 + + thumb_func_start sub_0204E778 +sub_0204E778: ; 0x0204E778 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _0204E790 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_02244D40 + mov r1, #0x0 + bl sub_02244D98 + pop {r3, pc} + nop +_0204E790: .word 0x021C5A68 + + thumb_func_start sub_0204E794 +sub_0204E794: ; 0x0204E794 + push {r3-r7, lr} + sub sp, #0x8 + str r1, [sp, #0x0] + ldr r1, _0204E7C8 ; =0x021C5A68 + add r6, r3, #0x0 + ldr r4, [r1, #0x0] + lsl r7, r0, #0x3 + add r4, #0x62 + add r0, r6, #0x0 + str r2, [sp, #0x4] + add r5, r4, r7 + bl sub_02059BF4 + ldr r1, [sp, #0x0] + add r0, r1, r0 + strh r0, [r4, r7] + add r0, r6, #0x0 + bl sub_02059C00 + ldr r1, [sp, #0x4] + add r0, r1, r0 + strh r0, [r5, #0x2] + strb r6, [r5, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + nop +_0204E7C8: .word 0x021C5A68 + + thumb_func_start sub_0204E7CC +sub_0204E7CC: ; 0x0204E7CC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204E848 ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + add r7, r2, #0x0 + str r3, [sp, #0x0] + cmp r0, #0x0 + beq _0204E844 + add r2, r0, #0x0 + add r2, #0xa2 + lsl r1, r5, #0x3 + add r4, r2, r1 + ldr r1, _0204E84C ; =0x000002BD + ldrb r1, [r0, r1] + cmp r1, #0x0 + bne _0204E7FA + ldrh r1, [r4, #0x0] + ldrh r3, [r4, #0x2] + ldr r0, [r0, #0x54] + mov r2, #0x0 + bl sub_021E5B30 +_0204E7FA: + strh r6, [r4, #0x0] + ldr r0, [sp, #0x0] + strh r7, [r4, #0x2] + strb r0, [r4, #0x4] + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E81A + ldr r3, [sp, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02055514 +_0204E81A: + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E84C ; =0x000002BD + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E832 + ldr r0, [r1, #0x54] + ldrh r1, [r4, #0x0] + ldrh r3, [r4, #0x2] + mov r2, #0x0 + bl sub_021E5B30 +_0204E832: + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E84C ; =0x000002BD + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E844 + add r0, r5, #0x0 + bl sub_0204F0A8 +_0204E844: + pop {r3-r7, pc} + nop +_0204E848: .word 0x021C5A68 +_0204E84C: .word 0x000002BD + + thumb_func_start sub_0204E850 +sub_0204E850: ; 0x0204E850 + push {r3-r4, lr} + sub sp, #0x4 + mov r2, #0x2 + add r1, sp, #0x0 + add r4, r0, #0x0 + strb r2, [r1, #0x0] + strb r4, [r1, #0x1] + ldr r1, _0204E8AC ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xe2 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E88A + bl sub_0204D830 + cmp r0, #0x0 + bne _0204E88A + add r0, r4, #0x0 + bl sub_0204EE9C + cmp r0, #0x0 + add r0, sp, #0x0 + beq _0204E886 + mov r1, #0x3 + strb r1, [r0, #0x0] + b _0204E88A +_0204E886: + mov r1, #0x1 + strb r1, [r0, #0x0] +_0204E88A: + mov r0, #0x1d + add r1, sp, #0x0 + mov r2, #0x2 + bl sub_02030BC4 + cmp r0, #0x0 + beq _0204E8A8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _0204E8A8 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0204EAD8 +_0204E8A8: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0204E8AC: .word 0x021C5A68 + + thumb_func_start sub_0204E8B0 +sub_0204E8B0: ; 0x0204E8B0 + push {r3-r6} + ldr r2, _0204E8F8 ; =0x021C5A68 + ldr r3, [r2, #0x0] + cmp r3, #0x0 + bne _0204E8C0 + mov r0, #0xff + pop {r3-r6} + bx lr +_0204E8C0: + mov r2, #0x0 + add r4, r3, #0x0 +_0204E8C4: + add r5, r3, #0x0 + add r5, #0x48 + ldrb r5, [r5, #0x0] + cmp r5, #0x0 + beq _0204E8E8 + add r5, r4, #0x0 + add r5, #0x64 + ldrh r6, [r5, #0x0] + add r5, r4, #0x0 + add r5, #0x62 + ldrh r5, [r5, #0x0] + cmp r0, r5 + bne _0204E8E8 + cmp r1, r6 + bne _0204E8E8 + add r0, r2, #0x0 + pop {r3-r6} + bx lr +_0204E8E8: + add r2, r2, #0x1 + add r3, r3, #0x1 + add r4, #0x8 + cmp r2, #0x8 + blt _0204E8C4 + mov r0, #0xff + pop {r3-r6} + bx lr + .balign 4 +_0204E8F8: .word 0x021C5A68 + + thumb_func_start sub_0204E8FC +sub_0204E8FC: ; 0x0204E8FC + push {r4, lr} + add r4, r2, #0x0 + bl sub_02030FE0 + cmp r0, #0x0 + beq _0204E962 + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _0204E936 + bl sub_02031190 + ldrb r1, [r4, #0x1] + cmp r1, r0 + bne _0204E936 + ldr r1, _0204E964 ; =0x021C5A68 + mov r0, #0xae + ldr r3, [r1, #0x0] + lsl r0, r0, #0x2 + ldrb r2, [r3, r0] + cmp r2, #0x0 + bne _0204E962 + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + ldr r0, _0204E968 ; =sub_0204D308 + ldr r1, [r1, #0x54] + bl sub_022494C8 + pop {r4, pc} +_0204E936: + ldrb r0, [r4, #0x0] + cmp r0, #0x3 + bne _0204E962 + bl sub_02031190 + ldrb r1, [r4, #0x1] + cmp r1, r0 + bne _0204E962 + ldr r1, _0204E964 ; =0x021C5A68 + mov r0, #0xae + ldr r3, [r1, #0x0] + lsl r0, r0, #0x2 + ldrb r2, [r3, r0] + cmp r2, #0x0 + bne _0204E962 + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + ldr r0, _0204E968 ; =sub_0204D308 + ldr r1, [r1, #0x54] + bl sub_0224A7C8 +_0204E962: + pop {r4, pc} + .balign 4 +_0204E964: .word 0x021C5A68 +_0204E968: .word sub_0204D308 + 1 + + thumb_func_start sub_0204E96C +sub_0204E96C: ; 0x0204E96C + push {r4-r6, lr} + ldr r0, _0204EACC ; =0x021C5A68 + add r5, r2, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r6, r0, #0x0 + ldrb r0, [r5, #0x1] + cmp r0, #0x8 + blo _0204E988 + bl sub_02020C2C +_0204E988: + ldrb r0, [r5, #0x0] + cmp r0, #0x4 + bne _0204E9AA + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204E9AA + bl sub_0204F7E4 + bl sub_0223D638 + ldr r3, _0204EAD0 ; =sub_0204E2AC + mov r1, #0x48 + mov r2, #0x1 + bl sub_0224DCB8 +_0204E9AA: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204E9B8 + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl sub_0204E730 +_0204E9B8: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EA7C + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204EA7C + ldr r2, _0204EACC ; =0x021C5A68 + ldrb r0, [r5, #0x2] + ldr r2, [r2, #0x0] + ldr r1, _0204EAD4 ; =sub_0204D308 + ldr r2, [r2, #0x54] + bl sub_02247A34 + ldr r0, _0204EACC ; =0x021C5A68 + ldrb r4, [r5, #0x1] + ldr r2, [r0, #0x0] + mov r3, #0xf + add r1, r2, #0x0 + add r1, #0x58 + ldrb r1, [r1, #0x0] + add r2, #0x58 + bic r1, r3 + mov r3, #0xf + and r3, r4 + orr r1, r3 + strb r1, [r2, #0x0] + ldr r2, [r0, #0x0] + mov r3, #0xf0 + add r1, r2, #0x0 + add r1, #0x58 + ldrb r1, [r1, #0x0] + add r2, #0x58 + bic r1, r3 + ldrb r3, [r5, #0x2] + lsl r3, r3, #0x1c + lsr r3, r3, #0x18 + orr r1, r3 + strb r1, [r2, #0x0] + ldr r3, [r0, #0x0] + add r1, r3, #0x0 + add r1, #0x59 + ldrb r2, [r1, #0x0] + mov r1, #0x1 + add r3, #0x59 + bic r2, r1 + strb r2, [r3, #0x0] + ldr r3, [r0, #0x0] + add r1, r3, #0x0 + add r1, #0x59 + ldrb r2, [r1, #0x0] + mov r1, #0x2 + add r3, #0x59 + bic r2, r1 + strb r2, [r3, #0x0] + ldrb r4, [r5, #0x2] + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x5a + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204EA7C + ldr r0, [r1, #0x54] + bl sub_020377AC + bl sub_02026CB4 + add r1, r4, #0x0 + bl sub_02026908 + add r0, r6, #0x0 + bl sub_0205F688 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_0205F698 + add r0, r6, #0x0 + bl sub_0205F6A8 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_0205F6B8 + ldr r0, _0204EACC ; =0x021C5A68 + ldrb r1, [r5, #0x2] + ldr r2, [r0, #0x0] + add r2, #0x5a + ldrb r0, [r2, r1] + add r0, r0, #0x1 + strb r0, [r2, r1] +_0204EA7C: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EA9A + ldrb r4, [r5, #0x2] + bl sub_02031190 + cmp r4, r0 + bne _0204EA9A + ldr r2, _0204EACC ; =0x021C5A68 + ldrb r1, [r5, #0x1] + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0x54] + bl sub_02248DF8 +_0204EA9A: + ldrb r0, [r5, #0x0] + cmp r0, #0x2 + bne _0204EABC + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204EABC + bl sub_0204F7E4 + bl sub_0223D638 + ldr r3, _0204EAD0 ; =sub_0204E2AC + mov r1, #0x2 + mov r2, #0x1 + bl sub_0224DCB8 +_0204EABC: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EACA + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl sub_0223E4A8 +_0204EACA: + pop {r4-r6, pc} + .balign 4 +_0204EACC: .word 0x021C5A68 +_0204EAD0: .word sub_0204E2AC + 1 +_0204EAD4: .word sub_0204D308 + 1 + + thumb_func_start sub_0204EAD8 +sub_0204EAD8: ; 0x0204EAD8 + push {r3-r4} + ldr r3, _0204EB0C ; =0x021C5A68 + ldr r4, [r3, #0x0] + add r4, #0xe2 + ldrb r2, [r4, r0] + cmp r1, r2 + beq _0204EB08 + strb r1, [r4, r0] + ldr r2, [r3, #0x0] + lsl r1, r0, #0x3 + add r2, r2, r1 + mov r4, #0x0 + add r2, #0x69 + strb r4, [r2, #0x0] + ldr r2, [r3, #0x0] + mov r4, #0x1 + add r2, r2, r0 + ldr r0, _0204EB10 ; =0x00000132 + strb r4, [r2, r0] + ldr r0, [r3, #0x0] + mov r2, #0x2 + add r0, r0, r1 + add r0, #0x67 + strb r2, [r0, #0x0] +_0204EB08: + pop {r3-r4} + bx lr + .balign 4 +_0204EB0C: .word 0x021C5A68 +_0204EB10: .word 0x00000132 + + thumb_func_start sub_0204EB14 +sub_0204EB14: ; 0x0204EB14 + ldr r1, _0204EB3C ; =0x021C5A68 + ldr r2, [r1, #0x0] + ldr r1, _0204EB40 ; =0x000002C2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0204EB24 + mov r0, #0x0 + bx lr +_0204EB24: + add r1, r2, r0 + add r1, #0xea + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204EB36 + add r0, r2, r0 + add r0, #0xe2 + ldrb r0, [r0, #0x0] + bx lr +_0204EB36: + mov r0, #0x0 + bx lr + nop +_0204EB3C: .word 0x021C5A68 +_0204EB40: .word 0x000002C2 + + thumb_func_start sub_0204EB44 +sub_0204EB44: ; 0x0204EB44 + push {r3-r7, lr} + sub sp, #0x30 + ldr r1, _0204EBF8 ; =0x020F5800 + add r0, sp, #0x8 + ldrh r2, [r1, #0x0] + ldr r3, _0204EBFC ; =0x020F5814 + strh r2, [r0, #0x0] + ldrh r2, [r1, #0x2] + strh r2, [r0, #0x2] + ldrh r2, [r1, #0x4] + ldrh r1, [r1, #0x6] + strh r2, [r0, #0x4] + strh r1, [r0, #0x6] + add r2, sp, #0x20 + mov r1, #0x8 +_0204EB62: + ldrh r0, [r3, #0x0] + add r3, r3, #0x2 + strh r0, [r2, #0x0] + add r2, r2, #0x2 + sub r1, r1, #0x1 + bne _0204EB62 + bl sub_02033534 + bl sub_02031248 + add r6, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x0] + cmp r6, #0x2 + bne _0204EB86 + add r5, sp, #0x8 + b _0204EB88 +_0204EB86: + add r5, sp, #0x20 +_0204EB88: + mov r7, #0x0 + cmp r6, #0x0 + ble _0204EBD4 +_0204EB8E: + mov r4, #0x0 + cmp r6, #0x0 + ble _0204EBCC +_0204EB94: + add r0, r4, #0x0 + bl sub_0204E3EC + ldrh r1, [r5, #0x0] + cmp r1, r0 + bne _0204EBC6 + add r0, r4, #0x0 + bl sub_0204E440 + ldrh r1, [r5, #0x2] + cmp r1, r0 + bne _0204EBC6 + ldr r0, [sp, #0x4] + lsl r1, r4, #0x2 + add r0, r0, #0x1 + str r0, [sp, #0x4] + add r0, sp, #0x10 + str r7, [r0, r1] + bl sub_02031190 + cmp r4, r0 + bne _0204EBCC + mov r0, #0x1 + str r0, [sp, #0x0] + b _0204EBCC +_0204EBC6: + add r4, r4, #0x1 + cmp r4, r6 + blt _0204EB94 +_0204EBCC: + add r7, r7, #0x1 + add r5, r5, #0x4 + cmp r7, r6 + blt _0204EB8E +_0204EBD4: + ldr r0, [sp, #0x4] + cmp r0, r6 + bne _0204EBF2 + mov r5, #0x0 + cmp r6, #0x0 + ble _0204EBF2 + add r4, sp, #0x10 +_0204EBE2: + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl sub_020313B4 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, r6 + blt _0204EBE2 +_0204EBF2: + ldr r0, [sp, #0x0] + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_0204EBF8: .word 0x020F5800 +_0204EBFC: .word 0x020F5814 + + thumb_func_start sub_0204EC00 +sub_0204EC00: ; 0x0204EC00 + ldrb r2, [r2, #0x0] + cmp r2, #0x3 + bne _0204EC14 + ldr r1, _0204EC24 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xf2 + strb r2, [r0, #0x0] + bx lr +_0204EC14: + ldr r1, _0204EC24 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xad + lsl r0, r0, #0x2 + strb r2, [r1, r0] + bx lr + nop +_0204EC24: .word 0x021C5A68 + + thumb_func_start sub_0204EC28 +sub_0204EC28: ; 0x0204EC28 + push {r3-r7, lr} + sub sp, #0x8 + bl sub_02033534 + bl sub_02031248 + add r7, r0, #0x0 + cmp r7, #0x2 + bne _0204EC40 + ldr r0, _0204ECB4 ; =0x02105E5C + str r0, [sp, #0x0] + b _0204EC44 +_0204EC40: + ldr r0, _0204ECB8 ; =0x02105E64 + str r0, [sp, #0x0] +_0204EC44: + mov r1, #0x0 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + cmp r7, #0x0 + ble _0204ECAE +_0204EC4E: + ldr r0, _0204ECBC ; =0x021C5A68 + add r6, sp, #0x4 + ldr r1, [r0, #0x0] + ldrb r0, [r6, #0x0] + add r1, r1, r0 + mov r0, #0xad + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204ECA0 + mov r4, #0x0 + cmp r7, #0x0 + ble _0204ECA0 + ldr r5, [sp, #0x0] +_0204EC6A: + ldrb r0, [r6, #0x0] + bl sub_0204E544 + ldrh r1, [r5, #0x0] + cmp r1, r0 + bne _0204EC98 + ldrb r0, [r6, #0x0] + bl sub_0204E598 + ldrh r1, [r5, #0x2] + cmp r1, r0 + bne _0204EC98 + ldr r0, _0204ECBC ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r6, #0x0] + add r1, r1, r0 + add r1, #0xf2 + mov r0, #0x1 + strb r0, [r1, #0x0] + mov r0, #0x5f + add r1, sp, #0x4 + bl sub_02030C4C +_0204EC98: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r7 + blt _0204EC6A +_0204ECA0: + add r0, sp, #0x4 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + ldrb r0, [r0, #0x0] + cmp r0, r7 + blt _0204EC4E +_0204ECAE: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0204ECB4: .word 0x02105E5C +_0204ECB8: .word 0x02105E64 +_0204ECBC: .word 0x021C5A68 + + thumb_func_start sub_0204ECC0 +sub_0204ECC0: ; 0x0204ECC0 + push {r4, lr} + bl sub_02031190 + add r4, r0, #0x0 + bl sub_0204E3EC + cmp r0, #0x8 + ble _0204ECE0 + mov r0, #0x2 + bl sub_0204F6DC + mov r0, #0x2 + mov r1, #0x24 + bl sub_0205AFDC + b _0204ECEE +_0204ECE0: + mov r0, #0x3 + bl sub_0204F6DC + mov r0, #0x3 + mov r1, #0x24 + bl sub_0205AFDC +_0204ECEE: + add r1, r0, #0x0 + ldr r0, _0204ED04 ; =0x021C5A68 + ldr r2, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r2, r0 + ldr r0, [r0, #0x8] + bl sub_02057260 + bl sub_0204FB14 + pop {r4, pc} + .balign 4 +_0204ED04: .word 0x021C5A68 + + thumb_func_start sub_0204ED08 +sub_0204ED08: ; 0x0204ED08 + push {r3-r7, lr} + sub sp, #0x8 + bl sub_02033534 + bl sub_02031248 + mov r3, #0x0 + str r0, [sp, #0x0] + cmp r0, #0x0 + ble _0204ED3C + ldr r0, _0204ED94 ; =0x021C5A68 + mov r1, #0x66 + add r2, r1, #0x0 + ldr r4, [r0, #0x0] + sub r2, #0x67 +_0204ED26: + ldrsb r0, [r4, r1] + cmp r0, r2 + bne _0204ED32 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0204ED32: + ldr r0, [sp, #0x0] + add r3, r3, #0x1 + add r4, #0x8 + cmp r3, r0 + blt _0204ED26 +_0204ED3C: + ldr r0, [sp, #0x0] + mov r5, #0x0 + cmp r0, #0x0 + ble _0204ED8E + add r4, r5, #0x0 +_0204ED46: + ldr r0, _0204ED94 ; =0x021C5A68 + ldr r7, [r0, #0x0] + mov r0, #0x4 + add r7, #0x62 + add r6, r7, r4 + ldrsb r0, [r6, r0] + bl sub_0204F610 + str r0, [sp, #0x4] + bl sub_02059BF4 + ldrh r1, [r7, r4] + add r0, r1, r0 + strh r0, [r7, r4] + ldr r0, [sp, #0x4] + bl sub_02059C00 + ldrh r1, [r6, #0x2] + add r0, r1, r0 + strh r0, [r6, #0x2] + mov r0, #0x2 + strb r0, [r6, #0x5] + ldr r0, _0204ED94 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r2, r0, r5 + ldr r0, _0204ED98 ; =0x00000132 + strb r1, [r2, r0] + add r0, r5, #0x0 + bl sub_0204EAD8 + ldr r0, [sp, #0x0] + add r5, r5, #0x1 + add r4, #0x8 + cmp r5, r0 + blt _0204ED46 +_0204ED8E: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204ED94: .word 0x021C5A68 +_0204ED98: .word 0x00000132 + + thumb_func_start sub_0204ED9C +sub_0204ED9C: ; 0x0204ED9C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204EDE8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EDE2 + bl sub_02016A18 + ldr r2, _0204EDE8 ; =0x021C5A68 + lsl r1, r4, #0x2 + ldr r3, [r2, #0x0] + mov r0, #0x0 + add r3, r3, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + str r0, [r3, r1] + ldr r1, [r2, #0x0] + mov r3, #0xff + add r1, r1, r4 + add r1, #0xfa + strb r0, [r1, #0x0] + mov r0, #0x22 + ldr r1, [r2, #0x0] + mul r0, r4 + add r1, r1, r0 + add r0, r3, #0x0 + add r0, #0x6b + strh r3, [r1, r0] + mov r0, #0x1 + pop {r4, pc} +_0204EDE2: + mov r0, #0x0 + pop {r4, pc} + nop +_0204EDE8: .word 0x021C5A68 + + thumb_func_start sub_0204EDEC +sub_0204EDEC: ; 0x0204EDEC + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02031190 + cmp r7, r0 + bne _0204EE90 + ldr r0, _0204EE98 ; =0x021C5A68 + ldr r2, [r0, #0x0] + lsl r0, r7, #0x2 + add r1, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EE96 + ldr r0, [r2, #0x54] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x1c + bl sub_0202A170 + ldr r0, _0204EE98 ; =0x021C5A68 + ldr r1, [r0, #0x0] + mov r0, #0xa3 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EE2A + bl sub_02016A18 +_0204EE2A: + mov r0, #0x9e + lsl r0, r0, #0x2 + ldr r2, _0204EE98 ; =0x021C5A68 + mov r5, #0x4 + mov r6, #0x10 + add r1, r0, #0x4 +_0204EE36: + ldr r3, [r2, #0x0] + sub r5, r5, #0x1 + add r4, r3, r6 + ldr r3, [r4, r0] + sub r6, r6, #0x4 + str r3, [r4, r1] + cmp r5, #0x1 + bge _0204EE36 + ldr r1, _0204EE98 ; =0x021C5A68 + mov r0, #0x29 + ldr r3, [r1, #0x0] + lsl r4, r7, #0x2 + add r2, r3, r4 + lsl r0, r0, #0x4 + ldr r2, [r2, r0] + sub r0, #0x14 + str r2, [r3, r0] + ldr r5, [r1, #0x0] + ldr r0, [r5, #0x54] + bl sub_020377AC + bl sub_02026CC4 + mov r1, #0x29 + add r2, r5, r4 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + bl sub_02025C40 + ldr r1, _0204EE98 ; =0x021C5A68 + mov r3, #0x0 + ldr r0, [r1, #0x0] + add r2, r0, r4 + mov r0, #0x29 + lsl r0, r0, #0x4 + str r3, [r2, r0] + mov r0, #0x22 + ldr r1, [r1, #0x0] + mul r0, r7 + mov r2, #0xff + add r1, r1, r0 + add r0, r2, #0x0 + add r0, #0x6b + strh r2, [r1, r0] + pop {r3-r7, pc} +_0204EE90: + add r0, r7, #0x0 + bl sub_0204ED9C +_0204EE96: + pop {r3-r7, pc} + .balign 4 +_0204EE98: .word 0x021C5A68 + + thumb_func_start sub_0204EE9C +sub_0204EE9C: ; 0x0204EE9C + ldr r1, _0204EEB8 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EEB2 + mov r0, #0x1 + bx lr +_0204EEB2: + mov r0, #0x0 + bx lr + nop +_0204EEB8: .word 0x021C5A68 + + thumb_func_start sub_0204EEBC +sub_0204EEBC: ; 0x0204EEBC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204EF48 ; =0x021C5A68 + add r6, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0204EF44 + add r0, r6, #0x0 + bl sub_0202DFA4 + add r7, r0, #0x0 + beq _0204EF44 + mov r0, #0xf + lsl r4, r5, #0x2 + bl sub_02023928 + mov r3, #0x29 + ldr r1, _0204EF48 ; =0x021C5A68 + add r2, r0, #0x0 + ldr r0, [r1, #0x0] + lsl r3, r3, #0x4 + add r0, r0, r4 + str r2, [r0, r3] + ldr r1, [r1, #0x0] + add r0, r7, #0x0 + add r1, r1, r4 + ldr r1, [r1, r3] + bl sub_0202393C + ldr r1, _0204EF48 ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r1, #0x0] + ldr r3, _0204EF4C ; =0x0000016A + add r0, r0, r5 + add r0, #0xfa + strb r2, [r0, #0x0] + mov r0, #0x22 + add r2, r5, #0x0 + mul r2, r0 + ldr r0, [r1, #0x0] + add r0, r0, r2 + strh r5, [r0, r3] + ldr r1, [r1, #0x0] + sub r3, #0x20 + add r1, r1, r3 + add r0, r7, #0x0 + add r1, r1, r2 + bl sub_0202393C + bl sub_02031190 + cmp r6, r0 + bne _0204EF40 + ldr r0, _0204EF48 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl sub_02026CB4 + bl sub_02026BC8 +_0204EF40: + mov r0, #0x1 + pop {r3-r7, pc} +_0204EF44: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204EF48: .word 0x021C5A68 +_0204EF4C: .word 0x0000016A + + thumb_func_start sub_0204EF50 +sub_0204EF50: ; 0x0204EF50 + push {r3-r7, lr} + ldr r4, _0204EFC4 ; =0x021C5A68 + mov r7, #0x29 + ldr r6, [r4, #0x0] + add r3, r0, #0x0 + lsl r7, r7, #0x4 + add r5, r6, r7 + lsl r0, r3, #0x2 + add r2, r1, #0x0 + ldr r1, [r5, r0] + cmp r1, #0x0 + bne _0204EFBE + lsl r1, r2, #0x2 + add r6, r6, r1 + ldr r6, [r6, r7] + cmp r6, #0x0 + beq _0204EFBE + str r6, [r5, r0] + ldr r5, [r4, #0x0] + mov r6, #0x0 + add r1, r5, r1 + str r6, [r1, r7] + ldr r1, [r4, #0x0] + mov r5, #0x1 + add r1, r1, r3 + add r1, #0xfa + strb r5, [r1, #0x0] + ldr r1, [r4, #0x0] + add r1, r1, r2 + add r1, #0xfa + strb r6, [r1, #0x0] + mov r1, #0x22 + ldr r5, [r4, #0x0] + mul r1, r3 + add r6, r5, r1 + ldr r5, _0204EFC8 ; =0x0000016A + strh r3, [r6, r5] + mov r6, #0x22 + mov r5, #0xff + mul r6, r2 + ldr r3, [r4, #0x0] + add r2, r5, #0x0 + add r3, r3, r6 + add r2, #0x6b + strh r5, [r3, r2] + ldr r2, [r4, #0x0] + add r5, #0x4b + add r0, r2, r0 + add r2, r2, r5 + ldr r0, [r0, r7] + add r1, r2, r1 + bl sub_0202393C + mov r0, #0x1 + pop {r3-r7, pc} +_0204EFBE: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0204EFC4: .word 0x021C5A68 +_0204EFC8: .word 0x0000016A + + thumb_func_start sub_0204EFCC +sub_0204EFCC: ; 0x0204EFCC + push {r4, lr} + ldr r1, _0204F06C ; =0x021C5A68 + add r4, r0, #0x0 + ldr r3, [r1, #0x0] + ldr r1, _0204F070 ; =0x000002BD + ldrb r1, [r3, r1] + cmp r1, #0x0 + bne _0204F068 + lsl r1, r4, #0x2 + add r2, r3, r1 + ldr r1, [r2, #0x8] + cmp r1, #0x0 + beq _0204F068 + add r3, r3, r4 + add r3, #0xfa + ldrb r3, [r3, #0x0] + cmp r3, #0x3 + bhi _0204F068 + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r4, #0x1 + lsl r2, r1, #0x1 + lsl r6, r5, #0 + lsl r6, r0, #0 + ldr r0, [r2, #0x28] + cmp r0, #0x0 + bne _0204F01E + add r0, r1, #0x0 + bl sub_020553A0 + bl sub_021E5970 + ldr r1, _0204F06C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + add r1, r2, r1 + str r0, [r1, #0x28] +_0204F01E: + ldr r0, _0204F06C ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0xfa + strb r1, [r0, #0x0] + pop {r4, pc} +_0204F02C: + .byte 0x90, 0x6A, 0x00, 0x28 + .byte 0x1A, 0xD1, 0x08, 0x1C, 0x06, 0xF0, 0xB4, 0xF9, 0x96, 0xF1, 0xCC, 0xFB, 0x0B, 0x49, 0x0A, 0x68 + .byte 0xA1, 0x00, 0x51, 0x18, 0x88, 0x62, 0x10, 0xBD, 0x90, 0x6A, 0x00, 0x28, 0x0C, 0xD1, 0x08, 0x1C + .byte 0x06, 0xF0, 0xA6, 0xF9, 0x96, 0xF1, 0xDE, 0xFA, 0x04, 0x49, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x18 + .byte 0x88, 0x62, 0x10, 0xBD, 0xFD, 0xF7, 0x88, 0xFE +_0204F068: + pop {r4, pc} + nop +_0204F06C: .word 0x021C5A68 +_0204F070: .word 0x000002BD + + thumb_func_start sub_0204F074 +sub_0204F074: ; 0x0204F074 + ldr r1, _0204F088 ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F084 + mov r1, #0x2 + strb r1, [r2, r0] +_0204F084: + bx lr + nop +_0204F088: .word 0x021C5A68 + + thumb_func_start sub_0204F08C +sub_0204F08C: ; 0x0204F08C + ldr r1, _0204F0A0 ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F09C + mov r1, #0x3 + strb r1, [r2, r0] +_0204F09C: + ldr r3, _0204F0A4 ; =sub_0204CD78 + bx r3 + .balign 4 +_0204F0A0: .word 0x021C5A68 +_0204F0A4: .word sub_0204CD78 + 1 + + thumb_func_start sub_0204F0A8 +sub_0204F0A8: ; 0x0204F0A8 + ldr r1, _0204F0BC ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F0B8 + mov r1, #0x0 + strb r1, [r2, r0] +_0204F0B8: + ldr r3, _0204F0C0 ; =sub_0204CD78 + bx r3 + .balign 4 +_0204F0BC: .word 0x021C5A68 +_0204F0C0: .word sub_0204CD78 + 1 + + thumb_func_start sub_0204F0C4 +sub_0204F0C4: ; 0x0204F0C4 + mov r0, #0x3 + bx lr + + thumb_func_start sub_0204F0C8 +sub_0204F0C8: ; 0x0204F0C8 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, sp, #0x0 + strb r4, [r0, #0x1] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _0204F0E0 + cmp r1, #0x3 + beq _0204F0F0 + add sp, #0x4 + pop {r3-r4, pc} +_0204F0E0: + mov r1, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x55 + add r1, sp, #0x0 + bl sub_02030C4C + add sp, #0x4 + pop {r3-r4, pc} +_0204F0F0: + mov r1, #0x3 + strb r1, [r0, #0x0] + mov r0, #0x55 + add r1, sp, #0x0 + bl sub_02030C4C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0204EAD8 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0204F108 +sub_0204F108: ; 0x0204F108 + push {r3, lr} + bl sub_02031190 + bl sub_0204F0A8 + bl sub_0223D648 + bl sub_0224DD94 + mov r0, #0x4 + bl sub_0204F774 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204F124 +sub_0204F124: ; 0x0204F124 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + ldr r0, [r5, #0x4] + mov r4, #0x0 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + add r0, r7, #0x0 + bl sub_02030E7C + cmp r0, #0x0 + bne _0204F14A + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 + bl sub_0200CAB4 + pop {r3-r7, pc} +_0204F14A: + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + cmp r0, #0x3c + ble _0204F156 + mov r4, #0x1 +_0204F156: + cmp r4, #0x0 + beq _0204F172 + ldr r0, _0204F174 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, r0, r7 + add r0, #0xea + strb r1, [r0, #0x0] + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 + bl sub_0200CAB4 +_0204F172: + pop {r3-r7, pc} + .balign 4 +_0204F174: .word 0x021C5A68 + + thumb_func_start sub_0204F178 +sub_0204F178: ; 0x0204F178 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_02016998 + add r1, r0, #0x0 + mov r2, #0x0 + str r2, [r1, #0x0] + ldr r0, _0204F1A8 ; =0x021C5A68 + str r4, [r1, #0x4] + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0xea + strb r2, [r0, #0x0] + ldr r0, _0204F1AC ; =sub_0204F124 + mov r2, #0x64 + bl sub_0200CA44 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0204EAD8 + pop {r4, pc} + .balign 4 +_0204F1A8: .word 0x021C5A68 +_0204F1AC: .word sub_0204F124 + 1 + + thumb_func_start sub_0204F1B0 +sub_0204F1B0: ; 0x0204F1B0 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + tst r1, r2 + beq _0204F1C4 + mov r1, #0xb + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F1F6 +_0204F1C4: + bl sub_0204EE9C + cmp r0, #0x0 + beq _0204F1D4 + mov r1, #0xb + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F1F6 +_0204F1D4: + cmp r4, #0xff + bne _0204F1DC + mov r0, #0x0 + pop {r3-r5, pc} +_0204F1DC: + add r0, r4, #0x0 + bl sub_0204EE9C + cmp r0, #0x0 + bne _0204F1EA + mov r0, #0x0 + pop {r3-r5, pc} +_0204F1EA: + mov r1, #0x5 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0204F178 +_0204F1F6: + add r0, sp, #0x0 + strb r5, [r0, #0x1] + strb r4, [r0, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0204EAD8 + mov r0, #0x55 + add r1, sp, #0x0 + bl sub_02030C4C + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0204F210 +sub_0204F210: ; 0x0204F210 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_0204EE9C + cmp r0, #0x0 + beq _0204F226 + mov r1, #0xc + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F22C +_0204F226: + add sp, #0x4 + mov r0, #0x0 + pop {r3-r4, pc} +_0204F22C: + strb r4, [r0, #0x1] + mov r0, #0x55 + add r1, sp, #0x0 + bl sub_02030C4C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_0204F23C +sub_0204F23C: ; 0x0204F23C + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0223E6B8 + mov r0, #0x0 + bl sub_0204D628 + mov r0, #0x4 + bl sub_0204F74C + bl sub_0223D648 + add r6, r0, #0x0 + ldrb r0, [r5, #0x1] + bl sub_0202DFA4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_0224DDB8 + cmp r4, #0x0 + beq _0204F29C + bl sub_02031190 + ldr r1, _0204F2C8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xfa + strb r2, [r0, #0x0] + bl sub_02031190 + bl sub_0204F0A8 + bl sub_02031190 + bl sub_0204F074 + bl sub_0223D648 + ldr r3, _0204F2CC ; =sub_0204F108 + mov r1, #0xa + mov r2, #0x1 + bl sub_0224DCB8 + b _0204F2AA +_0204F29C: + bl sub_0223D648 + ldr r3, _0204F2CC ; =sub_0204F108 + mov r1, #0xb + mov r2, #0x1 + bl sub_0224DCB8 +_0204F2AA: + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F2D0 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl sub_02004DCC + ldr r0, _0204F2D4 ; =0x000005F6 + bl sub_020054C8 + add sp, #0x8 + pop {r4-r6, pc} + nop +_0204F2C8: .word 0x021C5A68 +_0204F2CC: .word sub_0204F108 + 1 +_0204F2D0: .word 0x00000424 +_0204F2D4: .word 0x000005F6 + + thumb_func_start sub_0204F2D8 +sub_0204F2D8: ; 0x0204F2D8 + push {r4-r5, lr} + sub sp, #0xc + ldr r0, _0204F5E0 ; =0x021C5A68 + add r5, r2, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_020377AC + bl sub_02026CB4 + add r4, r0, #0x0 + ldrb r0, [r5, #0x0] + cmp r0, #0x5 + bgt _0204F308 + cmp r0, #0x0 + blt _0204F346 + beq _0204F31E + cmp r0, #0x3 + bne _0204F300 + b _0204F4D2 +_0204F300: + cmp r0, #0x5 + beq _0204F370 + add sp, #0xc + pop {r4-r5, pc} +_0204F308: + cmp r0, #0xc + bgt _0204F346 + cmp r0, #0xb + blt _0204F346 + bne _0204F314 + b _0204F48C +_0204F314: + cmp r0, #0xc + bne _0204F31A + b _0204F4AE +_0204F31A: + add sp, #0xc + pop {r4-r5, pc} +_0204F31E: + ldr r1, _0204F5E0 ; =0x021C5A68 + ldrb r0, [r5, #0x1] + ldr r2, [r1, #0x0] + lsl r1, r0, #0x2 + add r2, r2, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + cmp r1, #0x0 + beq _0204F346 + bl sub_0204ED9C + ldrb r0, [r5, #0x1] + bl sub_0204F0A8 + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F348 +_0204F346: + b _0204F5DA +_0204F348: + bl sub_0204F7E4 + bl sub_0223D648 + ldr r3, _0204F5E4 ; =sub_0204E2B4 + mov r1, #0x2 + mov r2, #0x1 + bl sub_0224DCB8 + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F5E8 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl sub_02004DCC + add sp, #0xc + pop {r4-r5, pc} +_0204F370: + ldrb r0, [r5, #0x1] + bl sub_0202DFA4 + cmp r0, #0x0 + bne _0204F384 + ldrb r0, [r5, #0x2] + bl sub_0204ED9C + add sp, #0xc + pop {r4-r5, pc} +_0204F384: + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x2] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0204F3AC + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F3A4 + b _0204F5DA +_0204F3A4: + bl sub_0204F7FC + add sp, #0xc + pop {r4-r5, pc} +_0204F3AC: + ldrb r0, [r5, #0x1] + bl sub_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldrb r0, [r5, #0x2] + lsl r0, r0, #0x2 + add r2, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + bl sub_02023AA4 + cmp r0, #0x1 + bne _0204F41A + ldrb r0, [r5, #0x2] + bl sub_0204ED9C + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F3FC + add r0, r4, #0x0 + bl sub_02026C00 + bl sub_0204F7E4 + bl sub_0223D648 + ldr r3, _0204F5EC ; =sub_0204E2AC + mov r1, #0xd + mov r2, #0x1 + bl sub_0224DCB8 + ldr r0, _0204F5F0 ; =0x00000625 + bl sub_020054C8 + b _0204F410 +_0204F3FC: + bl sub_02031190 + ldrb r1, [r5, #0x2] + cmp r1, r0 + bne _0204F410 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_0204F23C +_0204F410: + ldrb r0, [r5, #0x1] + bl sub_022472AC + add sp, #0xc + pop {r4-r5, pc} +_0204F41A: + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl sub_0204EF50 + cmp r0, #0x0 + beq _0204F4B8 + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F46C + add r0, r4, #0x0 + bl sub_02026970 + mov r0, #0x1 + bl sub_0204F74C + bl sub_0223D648 + add r4, r0, #0x0 + ldrb r0, [r5, #0x2] + bl sub_0202DFA4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0224DDB8 + bl sub_0223D648 + ldr r3, _0204F5F4 ; =sub_0204E2D4 + mov r1, #0xc + mov r2, #0x1 + bl sub_0224DCB8 + ldr r0, _0204F5F8 ; =0x00000425 + bl sub_0200521C + ldr r0, _0204F5F0 ; =0x00000625 + bl sub_020054C8 + b _0204F480 +_0204F46C: + bl sub_02031190 + ldrb r1, [r5, #0x2] + cmp r1, r0 + bne _0204F480 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0204F23C +_0204F480: + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl sub_02247294 + add sp, #0xc + pop {r4-r5, pc} +_0204F48C: + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F4B8 + mov r0, #0x2 + bl sub_0204F74C + bl sub_0223D648 + ldr r3, _0204F5FC ; =sub_0204E2BC + mov r1, #0x6 + mov r2, #0x1 + bl sub_0224DCB8 + add sp, #0xc + pop {r4-r5, pc} +_0204F4AE: + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F4BA +_0204F4B8: + b _0204F5DA +_0204F4BA: + mov r0, #0x20 + bl sub_0204F74C + bl sub_0223D648 + ldr r3, _0204F600 ; =sub_0204E2C8 + mov r1, #0x5 + mov r2, #0x1 + bl sub_0224DCB8 + add sp, #0xc + pop {r4-r5, pc} +_0204F4D2: + ldr r0, _0204F5E0 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x1] + add r0, r1, r0 + add r0, #0xfa + strb r2, [r0, #0x0] + ldrb r0, [r5, #0x1] + bl sub_0204F0A8 + bl sub_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F58C + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_020377AC + bl sub_02026CB4 + add r4, r0, #0x0 + bl sub_020269A0 + add r1, sp, #0x8 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + bl sub_020269D4 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205EDF8 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldrb r1, [r5, #0x1] + ldr r0, [r0, #0x0] + lsl r1, r1, #0x2 + add r2, r0, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + cmp r1, #0x0 + beq _0204F54A + ldr r0, [r0, #0x54] + bl sub_0206189C + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, _0204F604 ; =0x0000FFFF + ldr r3, [r0, #0x0] + ldr r0, _0204F608 ; =0x000002B2 + ldrh r2, [r3, r0] + cmp r2, r1 + beq _0204F54A + add r1, r2, #0x1 + strh r1, [r3, r0] +_0204F54A: + bl sub_0204F7E4 + ldr r0, _0204F60C ; =0x0000062B + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_020269A0 + add r1, sp, #0x8 + ldrb r1, [r1, #0x0] + cmp r1, r0 + bne _0204F572 + bl sub_0223D648 + ldr r3, _0204F5EC ; =sub_0204E2AC + mov r1, #0x7 + mov r2, #0x1 + bl sub_0224DCB8 + b _0204F57A +_0204F572: + mov r0, #0x60 + add r1, sp, #0x8 + bl sub_020311D0 +_0204F57A: + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F5E8 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl sub_02004DCC +_0204F58C: + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x1] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204F5D4 + bl sub_02031190 + bl sub_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldrb r0, [r5, #0x1] + lsl r0, r0, #0x2 + add r2, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + bl sub_02023AA4 + cmp r0, #0x1 + bne _0204F5D4 + ldrb r0, [r5, #0x1] + bl sub_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl sub_020618B8 +_0204F5D4: + ldrb r0, [r5, #0x1] + bl sub_0204EDEC +_0204F5DA: + add sp, #0xc + pop {r4-r5, pc} + nop +_0204F5E0: .word 0x021C5A68 +_0204F5E4: .word sub_0204E2B4 + 1 +_0204F5E8: .word 0x00000424 +_0204F5EC: .word sub_0204E2AC + 1 +_0204F5F0: .word 0x00000625 +_0204F5F4: .word sub_0204E2D4 + 1 +_0204F5F8: .word 0x00000425 +_0204F5FC: .word sub_0204E2BC + 1 +_0204F600: .word sub_0204E2C8 + 1 +_0204F604: .word 0x0000FFFF +_0204F608: .word 0x000002B2 +_0204F60C: .word 0x0000062B + + thumb_func_start sub_0204F610 +sub_0204F610: ; 0x0204F610 + push {r3, lr} + cmp r0, #0x0 + bne _0204F61A + mov r0, #0x1 + pop {r3, pc} +_0204F61A: + cmp r0, #0x1 + bne _0204F622 + mov r0, #0x0 + pop {r3, pc} +_0204F622: + cmp r0, #0x2 + bne _0204F62A + mov r0, #0x3 + pop {r3, pc} +_0204F62A: + cmp r0, #0x3 + bne _0204F632 + mov r0, #0x2 + pop {r3, pc} +_0204F632: + bl sub_02020C2C + mov r0, #0x2 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204F63C +sub_0204F63C: ; 0x0204F63C + push {r3-r4} + ldr r3, _0204F658 ; =0x021C5A68 + ldr r2, [r3, #0x0] + add r4, r2, r0 + ldr r2, _0204F65C ; =0x0000011A + strb r1, [r4, r2] + ldr r1, [r3, #0x0] + mov r4, #0xf + add r0, r1, r0 + add r2, #0x20 + strb r4, [r0, r2] + pop {r3-r4} + bx lr + nop +_0204F658: .word 0x021C5A68 +_0204F65C: .word 0x0000011A + + thumb_func_start sub_0204F660 +sub_0204F660: ; 0x0204F660 + ldr r1, _0204F670 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F674 ; =0x0000011A + strb r2, [r1, r0] + bx lr + nop +_0204F670: .word 0x021C5A68 +_0204F674: .word 0x0000011A + + thumb_func_start sub_0204F678 +sub_0204F678: ; 0x0204F678 + push {r3-r4} + ldr r3, _0204F694 ; =0x021C5A68 + ldr r2, [r3, #0x0] + add r4, r2, r0 + ldr r2, _0204F698 ; =0x00000122 + strb r1, [r4, r2] + ldr r1, [r3, #0x0] + mov r4, #0xf + add r0, r1, r0 + add r2, #0x18 + strb r4, [r0, r2] + pop {r3-r4} + bx lr + nop +_0204F694: .word 0x021C5A68 +_0204F698: .word 0x00000122 + + thumb_func_start sub_0204F69C +sub_0204F69C: ; 0x0204F69C + ldr r1, _0204F6AC ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6B0 ; =0x00000122 + strb r2, [r1, r0] + bx lr + nop +_0204F6AC: .word 0x021C5A68 +_0204F6B0: .word 0x00000122 + + thumb_func_start sub_0204F6B4 +sub_0204F6B4: ; 0x0204F6B4 + ldr r1, _0204F6C0 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6C4 ; =0x00000142 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0204F6C0: .word 0x021C5A68 +_0204F6C4: .word 0x00000142 + + thumb_func_start sub_0204F6C8 +sub_0204F6C8: ; 0x0204F6C8 + ldr r1, _0204F6D4 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6D8 ; =0x0000013A + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0204F6D4: .word 0x021C5A68 +_0204F6D8: .word 0x0000013A + + thumb_func_start sub_0204F6DC +sub_0204F6DC: ; 0x0204F6DC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204F708 ; =0x021C5A68 + add r1, r4, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl sub_02055304 + bl sub_02031190 + ldr r1, _0204F708 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xa6 + strb r4, [r0, #0x0] + mov r0, #0x0 + bl sub_0204D168 + pop {r4, pc} + nop +_0204F708: .word 0x021C5A68 + + thumb_func_start sub_0204F70C +sub_0204F70C: ; 0x0204F70C + push {r4, lr} + ldr r3, _0204F728 ; =0x021C5A68 + lsl r2, r0, #0x3 + ldr r4, [r3, #0x0] + lsl r0, r0, #0x2 + add r2, r4, r2 + add r2, #0xa6 + strb r1, [r2, #0x0] + ldr r2, [r3, #0x0] + add r0, r2, r0 + ldr r0, [r0, #0x8] + bl sub_02055304 + pop {r4, pc} + .balign 4 +_0204F728: .word 0x021C5A68 + + thumb_func_start sub_0204F72C +sub_0204F72C: ; 0x0204F72C + push {r3, lr} + ldr r1, _0204F748 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204F742 + bl sub_020552F8 + pop {r3, pc} +_0204F742: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + .balign 4 +_0204F748: .word 0x021C5A68 + + thumb_func_start sub_0204F74C +sub_0204F74C: ; 0x0204F74C + push {r3, lr} + cmp r0, #0x0 + beq _0204F75C + ldr r1, _0204F770 ; =0x021C5A68 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x0] + orr r0, r1 + str r0, [r2, #0x0] +_0204F75C: + bl sub_02037760 + ldr r0, _0204F770 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r3, pc} + nop +_0204F770: .word 0x021C5A68 + + thumb_func_start sub_0204F774 +sub_0204F774: ; 0x0204F774 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + beq _0204F788 + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + mvn r0, r4 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] +_0204F788: + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x10 + bne _0204F7A0 + mov r1, #0x1 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x3e + add r1, sp, #0x0 + bl sub_020311D0 +_0204F7A0: + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204F7CC + cmp r4, #0x10 + beq _0204F7BC + bl sub_02037778 + mov r0, #0x1 + bl sub_0204D628 + add sp, #0x4 + pop {r3-r4, pc} +_0204F7BC: + bl sub_02037778 + ldr r0, _0204F7D0 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] +_0204F7CC: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0204F7D0: .word 0x021C5A68 + + thumb_func_start sub_0204F7D4 +sub_0204F7D4: ; 0x0204F7D4 + ldr r0, _0204F7E0 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x0] + bx lr + nop +_0204F7E0: .word 0x021C5A68 + + thumb_func_start sub_0204F7E4 +sub_0204F7E4: ; 0x0204F7E4 + push {r3, lr} + bl sub_02037760 + ldr r0, _0204F7F8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r3, pc} + .balign 4 +_0204F7F8: .word 0x021C5A68 + + thumb_func_start sub_0204F7FC +sub_0204F7FC: ; 0x0204F7FC + push {r3, lr} + bl sub_02037778 + mov r0, #0x1 + bl sub_0204D628 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0204F80C +sub_0204F80C: ; 0x0204F80C + push {r3, lr} + ldr r0, _0204F850 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + ldrb r1, [r2, r0] + cmp r1, #0x0 + bne _0204F84C + sub r0, r0, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _0204F832 + bl sub_0204F7FC + ldr r0, _0204F850 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + strb r2, [r1, r0] + pop {r3, pc} +_0204F832: + bl sub_02031190 + bl sub_0223E734 + cmp r0, #0x0 + beq _0204F84C + bl sub_0204F7FC + ldr r0, _0204F850 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + strb r2, [r1, r0] +_0204F84C: + pop {r3, pc} + nop +_0204F850: .word 0x021C5A68 +_0204F854: .word 0x000002BF + + thumb_func_start sub_0204F858 +sub_0204F858: ; 0x0204F858 + push {r3, lr} + ldr r0, _0204F884 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204F888 ; =0x000002BF + ldrb r1, [r2, r0] + cmp r1, #0x0 + bne _0204F880 + sub r0, r0, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + beq _0204F880 + bl sub_02031190 + bl sub_0223E734 + cmp r0, #0x0 + bne _0204F880 + mov r0, #0x0 + bl sub_0204D628 +_0204F880: + pop {r3, pc} + nop +_0204F884: .word 0x021C5A68 +_0204F888: .word 0x000002BF + + thumb_func_start sub_0204F88C +sub_0204F88C: ; 0x0204F88C + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204F902 + mov r6, #0x0 + add r4, r6, #0x0 + add r5, r6, #0x0 +_0204F89E: + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204F8F8 + bl sub_02031190 + cmp r6, r0 + beq _0204F8F8 + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x8] + bl sub_020553A0 + ldr r1, _0204F908 ; =0x021C5A68 + str r0, [sp, #0xc] + ldr r1, [r1, #0x0] + add r1, r1, r5 + add r2, r1, #0x0 + add r2, #0xa2 + ldrh r2, [r2, #0x0] + str r2, [sp, #0x8] + add r2, r1, #0x0 + add r2, #0xa4 + ldrh r7, [r2, #0x0] + mov r2, #0xa6 + ldrsb r1, [r1, r2] + str r1, [sp, #0x4] + ldr r1, [sp, #0x8] + bl sub_02058B30 + ldr r0, [sp, #0xc] + add r1, r7, #0x0 + bl sub_02058B50 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r2, #0x0 + add r3, r7, #0x0 + bl sub_02058E28 +_0204F8F8: + add r6, r6, #0x1 + add r4, r4, #0x4 + add r5, #0x8 + cmp r6, #0x8 + blt _0204F89E +_0204F902: + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204F908: .word 0x021C5A68 + + thumb_func_start sub_0204F90C +sub_0204F90C: ; 0x0204F90C + push {r4-r5} + mov r3, #0xff + mov r4, #0x0 + add r0, r3, #0x0 + ldr r1, _0204F92C ; =0x021C5A68 + add r5, r4, #0x0 + add r0, #0x6b +_0204F91A: + ldr r2, [r1, #0x0] + add r4, r4, #0x1 + add r2, r2, r5 + add r5, #0x22 + strh r3, [r2, r0] + cmp r4, #0x8 + blt _0204F91A + pop {r4-r5} + bx lr + .balign 4 +_0204F92C: .word 0x021C5A68 + + thumb_func_start sub_0204F930 +sub_0204F930: ; 0x0204F930 + push {r3-r5, lr} + ldr r0, _0204F9B0 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204F9B4 ; =0x000002B9 + strb r2, [r1, r0] + bl sub_02031190 + ldr r1, _0204F9B0 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204F96E + bl sub_02031190 + ldr r1, _0204F9B0 ; =0x021C5A68 + add r3, r0, #0x0 + ldr r2, [r1, #0x0] + lsl r1, r3, #0x2 + add r2, r2, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + mov r0, #0x5b + bl sub_020311D0 + pop {r3-r5, pc} +_0204F96E: + mov r0, #0xf + bl sub_02023928 + add r4, r0, #0x0 + mov r0, #0x14 + mov r1, #0xf + bl sub_020219F4 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0204F988 + bl sub_02020C2C +_0204F988: + cmp r5, #0x0 + bne _0204F990 + bl sub_02020C2C +_0204F990: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0202397C + mov r0, #0x5b + add r1, r4, #0x0 + bl sub_020311D0 + add r0, r5, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + nop +_0204F9B0: .word 0x021C5A68 +_0204F9B4: .word 0x000002B9 + + thumb_func_start sub_0204F9B8 +sub_0204F9B8: ; 0x0204F9B8 + mov r0, #0x20 + bx lr + + thumb_func_start sub_0204F9BC +sub_0204F9BC: ; 0x0204F9BC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, sp, #0x4 + strb r5, [r0, #0x0] + ldr r0, _0204FA54 ; =0x021C5A68 + add r6, r2, #0x0 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _0204FA4C + ldr r1, _0204FA58 ; =0x0000014A + mov r0, #0x22 + add r4, r5, #0x0 + mul r4, r0 + add r1, r2, r1 + add r0, r6, #0x0 + add r1, r1, r4 + bl sub_0202393C + add r0, r6, #0x0 + mov r1, #0xf + bl sub_020239A0 + str r0, [sp, #0x0] + bl sub_02021D3C + cmp r0, #0x0 + beq _0204F9FE + ldr r0, _0204FA54 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r4 + ldr r0, _0204FA5C ; =0x0000016A + strh r5, [r1, r0] +_0204F9FE: + mov r4, #0x0 + ldr r6, _0204FA54 ; =0x021C5A68 + ldr r7, _0204FA5C ; =0x0000016A + add r5, r4, #0x0 +_0204FA06: + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldrh r0, [r1, r7] + cmp r0, #0xff + beq _0204FA26 + ldr r0, _0204FA5C ; =0x0000016A + strh r4, [r1, r0] + mov r0, #0x5c + add r1, r0, #0x0 + ldr r2, [r6, #0x0] + add r1, #0xee + add r1, r2, r1 + add r1, r1, r5 + mov r2, #0x22 + bl sub_02030B3C +_0204FA26: + add r4, r4, #0x1 + add r5, #0x22 + cmp r4, #0x8 + blt _0204FA06 + mov r0, #0x5d + add r1, sp, #0x4 + mov r2, #0x1 + bl sub_02030BC4 + ldr r0, [sp, #0x0] + bl sub_02021A20 + ldr r0, _0204FA54 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204FA60 ; =0x000002C2 + add sp, #0x8 + strb r2, [r1, r0] + pop {r3-r7, pc} +_0204FA4C: + bl sub_02020C2C + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204FA54: .word 0x021C5A68 +_0204FA58: .word 0x0000014A +_0204FA5C: .word 0x0000016A +_0204FA60: .word 0x000002C2 + + thumb_func_start sub_0204FA64 +sub_0204FA64: ; 0x0204FA64 + ldr r0, _0204FA70 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204FA74 ; =0x0000025A + add r0, r1, r0 + bx lr + nop +_0204FA70: .word 0x021C5A68 +_0204FA74: .word 0x0000025A + + thumb_func_start sub_0204FA78 +sub_0204FA78: ; 0x0204FA78 + push {r4-r6, lr} + ldr r0, _0204FAC8 ; =0x021C5A68 + add r6, r2, #0x0 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204FAC4 + ldrh r5, [r6, #0x20] + lsl r0, r5, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204FA98 + bl sub_02016A18 +_0204FA98: + mov r0, #0xf + lsl r4, r5, #0x2 + bl sub_02023928 + ldr r2, _0204FAC8 ; =0x021C5A68 + ldr r1, [r2, #0x0] + add r3, r1, r4 + mov r1, #0x29 + lsl r1, r1, #0x4 + str r0, [r3, r1] + ldr r2, [r2, #0x0] + add r0, r6, #0x0 + add r2, r2, r4 + ldr r1, [r2, r1] + bl sub_0202393C + ldr r0, _0204FAC8 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0xfa + strb r1, [r0, #0x0] +_0204FAC4: + pop {r4-r6, pc} + nop +_0204FAC8: .word 0x021C5A68 + + thumb_func_start sub_0204FACC +sub_0204FACC: ; 0x0204FACC + mov r0, #0x22 + bx lr + + thumb_func_start sub_0204FAD0 +sub_0204FAD0: ; 0x0204FAD0 + push {r4, lr} + add r4, r2, #0x0 + bl sub_02031190 + ldrb r1, [r4, #0x0] + cmp r1, r0 + bne _0204FAE8 + ldr r0, _0204FAF4 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204FAF8 ; =0x000002B9 + strb r2, [r1, r0] +_0204FAE8: + ldr r0, _0204FAF4 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204FAFC ; =0x000002C2 + strb r2, [r1, r0] + pop {r4, pc} + .balign 4 +_0204FAF4: .word 0x021C5A68 +_0204FAF8: .word 0x000002B9 +_0204FAFC: .word 0x000002C2 + + thumb_func_start sub_0204FB00 +sub_0204FB00: ; 0x0204FB00 + ldr r0, _0204FB0C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204FB10 ; =0x000002B9 + ldrb r0, [r1, r0] + bx lr + nop +_0204FB0C: .word 0x021C5A68 +_0204FB10: .word 0x000002B9 + + thumb_func_start sub_0204FB14 +sub_0204FB14: ; 0x0204FB14 + ldr r0, _0204FB24 ; =0x021C5A68 + mov r2, #0x8 + ldr r1, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + strb r2, [r1, r0] + bx lr + nop +_0204FB24: .word 0x021C5A68 + + thumb_func_start sub_0204FB28 +sub_0204FB28: ; 0x0204FB28 + push {r3-r5, lr} + mov r4, #0x0 + bl sub_02031190 + ldr r2, _0204FB9C ; =0x021C5A68 + lsl r1, r0, #0x2 + ldr r3, [r2, #0x0] + add r5, r3, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r3, [r5, r1] + cmp r3, #0x0 + beq _0204FB60 + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [r5, r1] + ldr r1, [r2, #0x0] + add r1, r1, r0 + add r1, #0xfa + strb r3, [r1, #0x0] + ldr r3, [r2, #0x0] + mov r2, #0x22 + mul r2, r0 + mov r1, #0xff + add r0, r1, #0x0 + add r2, r3, r2 + add r0, #0x6b + strh r1, [r2, r0] +_0204FB60: + mov r5, #0x0 +_0204FB62: + add r0, r5, #0x0 + bl sub_0204ED9C + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204FB62 + cmp r4, #0x0 + beq _0204FB9A + ldr r1, _0204FB9C ; =0x021C5A68 + mov r0, #0x29 + ldr r2, [r1, #0x0] + lsl r0, r0, #0x4 + str r4, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x1 + add r0, #0xfa + strb r2, [r0, #0x0] + ldr r2, [r1, #0x0] + ldr r1, _0204FBA0 ; =0x0000014A + add r0, r4, #0x0 + add r1, r2, r1 + bl sub_0202393C + ldr r0, _0204FB9C ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204FBA4 ; =0x0000016A + strh r2, [r1, r0] +_0204FB9A: + pop {r3-r5, pc} + .balign 4 +_0204FB9C: .word 0x021C5A68 +_0204FBA0: .word 0x0000014A +_0204FBA4: .word 0x0000016A + + thumb_func_start sub_0204FBA8 +sub_0204FBA8: ; 0x0204FBA8 + bx lr + .balign 4 + + thumb_func_start sub_0204FBAC +sub_0204FBAC: ; 0x0204FBAC + bx lr + .balign 4 + + thumb_func_start sub_0204FBB0 +sub_0204FBB0: ; 0x0204FBB0 + push {r4, lr} + ldr r1, _0204FC08 ; =0x021C5A6C + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204FC04 + bl sub_0208881C + mov r0, #0xf + mov r1, #0x48 + bl sub_02016998 + ldr r1, _0204FC08 ; =0x021C5A6C + mov r2, #0x48 + str r0, [r1, #0x0] + mov r1, #0x0 + blx sub_020CE34C + ldr r0, _0204FC08 ; =0x021C5A6C + mov r1, #0x32 + ldr r0, [r0, #0x0] + mov r2, #0xa + strh r1, [r0, #0x3c] + ldr r0, _0204FC0C ; =sub_0205006C + mov r1, #0x0 + bl sub_0200CA44 + ldr r1, _0204FC08 ; =0x021C5A6C + ldr r2, [r1, #0x0] + str r0, [r2, #0x38] + ldr r0, [r1, #0x0] + mov r2, #0x0 + str r4, [r0, #0x18] + ldr r0, [r1, #0x0] + str r2, [r0, #0x44] + bl sub_0204FBA8 + ldr r0, _0204FC08 ; =0x021C5A6C + ldr r0, [r0, #0x0] + add r0, #0x1c + bl sub_020312BC +_0204FC04: + pop {r4, pc} + nop +_0204FC08: .word 0x021C5A6C +_0204FC0C: .word sub_0205006C + 1 + + thumb_func_start sub_0204FC10 +sub_0204FC10: ; 0x0204FC10 + push {r4-r6, lr} + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204FC56 + ldr r0, [r0, #0x38] + bl sub_0200CAB4 + mov r4, #0x0 + ldr r6, _0204FC58 ; =0x021C5A6C + add r5, r4, #0x0 +_0204FC26: + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + beq _0204FC32 + bl sub_02016A18 +_0204FC32: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _0204FC26 + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x44] + cmp r0, #0x0 + beq _0204FC48 + bl sub_02016A18 +_0204FC48: + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, _0204FC58 ; =0x021C5A6C + mov r1, #0x0 + str r1, [r0, #0x0] +_0204FC56: + pop {r4-r6, pc} + .balign 4 +_0204FC58: .word 0x021C5A6C + + thumb_func_start sub_0204FC5C +sub_0204FC5C: ; 0x0204FC5C + push {r4, lr} + ldr r1, _0204FC9C ; =0x021C5A6C + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204FC9A + bl sub_020377AC + bl sub_02031824 + add r0, r4, #0x0 + bl sub_0204FBB0 + mov r2, #0x3a + mov r0, #0x3 + mov r1, #0x21 + lsl r2, r2, #0xa + bl sub_0201681C + ldr r0, _0204FC9C ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F194 + cmp r0, #0x0 + bne _0204FC9A + bl sub_02031924 +_0204FC9A: + pop {r4, pc} + .balign 4 +_0204FC9C: .word 0x021C5A6C + + thumb_func_start sub_0204FCA0 +sub_0204FCA0: ; 0x0204FCA0 + push {r3, lr} + ldr r0, _0204FCD0 ; =0x021C5A6C + mov r2, #0x1 + ldr r1, [r0, #0x0] + add r1, #0x41 + strb r2, [r1, #0x0] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x24 + bl sub_0202A170 + ldr r0, _0204FCD0 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl sub_0223E060 + ldr r0, _0204FCD4 ; =sub_020500A4 + mov r1, #0x0 + bl sub_02050094 + pop {r3, pc} + .balign 4 +_0204FCD0: .word 0x021C5A6C +_0204FCD4: .word sub_020500A4 + 1 + + thumb_func_start sub_0204FCD8 +sub_0204FCD8: ; 0x0204FCD8 + push {r3, lr} + ldr r0, _0204FCEC ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204FCEA + ldr r0, _0204FCF0 ; =0x02050D55 + mov r1, #0x3 + bl sub_02050094 +_0204FCEA: + pop {r3, pc} + .balign 4 +_0204FCEC: .word 0x021C5A6C +_0204FCF0: .word 0x02050D55 + + thumb_func_start sub_0204FCF4 +sub_0204FCF4: ; 0x0204FCF4 + push {r3, lr} + bl sub_02031914 + ldr r0, _0204FD04 ; =0x020504D9 + mov r1, #0x0 + bl sub_02050094 + pop {r3, pc} + .balign 4 +_0204FD04: .word 0x020504D9 + + thumb_func_start sub_0204FD08 +sub_0204FD08: ; 0x0204FD08 + push {r3, lr} + bl sub_0202EDD8 + cmp r0, #0x0 + bne _0204FD1E + bl sub_02245F1C + ldr r0, _0204FD20 ; =sub_020500A4 + mov r1, #0x0 + bl sub_02050094 +_0204FD1E: + pop {r3, pc} + .balign 4 +_0204FD20: .word sub_020500A4 + 1 + + thumb_func_start sub_0204FD24 +sub_0204FD24: ; 0x0204FD24 + push {r3, lr} + bl sub_02031934 + ldr r0, _0204FD34 ; =sub_0204FD08 + mov r1, #0x0 + bl sub_02050094 + pop {r3, pc} + .balign 4 +_0204FD34: .word sub_0204FD08 + 1 + + thumb_func_start sub_0204FD38 +sub_0204FD38: ; 0x0204FD38 + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, _0204FDBC ; =0x021C5A6C + add r2, sp, #0x0 + ldr r0, [r0, #0x0] + ldr r3, _0204FDC0 ; =0x020F5838 + ldr r5, [r0, #0x34] + add r6, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, _0204FDC4 ; =0x020502AD + ldr r4, _0204FDC8 ; =0x02050549 + ldr r7, _0204FDCC ; =0x02050169 + cmp r5, r0 + bne _0204FD68 + ldr r0, _0204FDD0 ; =0x0205031D + mov r1, #0x0 + bl sub_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD68: + cmp r4, r5 + bne _0204FD7A + ldr r0, _0204FDD4 ; =0x02050579 + mov r1, #0x0 + bl sub_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD7A: + cmp r7, r5 + bne _0204FD8C + ldr r0, _0204FDD8 ; =0x020505E1 + mov r1, #0x0 + bl sub_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD8C: + ldr r0, _0204FDDC ; =0x020504D1 + cmp r0, r5 + bne _0204FDA0 + ldr r0, _0204FDE0 ; =0x02050611 + mov r1, #0x0 + bl sub_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FDA0: + mov r1, #0x0 +_0204FDA2: + ldr r0, [r6, #0x0] + cmp r5, r0 + bne _0204FDAE + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FDAE: + add r1, r1, #0x1 + add r6, r6, #0x4 + cmp r1, #0x4 + blo _0204FDA2 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0204FDBC: .word 0x021C5A6C +_0204FDC0: .word 0x020F5838 +_0204FDC4: .word 0x020502AD +_0204FDC8: .word 0x02050549 +_0204FDCC: .word 0x02050169 +_0204FDD0: .word 0x0205031D +_0204FDD4: .word 0x02050579 +_0204FDD8: .word 0x020505E1 +_0204FDDC: .word 0x020504D1 +_0204FDE0: .word 0x02050611 + + thumb_func_start sub_0204FDE4 +sub_0204FDE4: ; 0x0204FDE4 + push {r4, lr} + ldr r0, _0204FE38 ; =0x021C5A6C + ldr r3, _0204FE3C ; =0x0205058D + ldr r0, [r0, #0x0] + ldr r2, _0204FE40 ; =0x020505F5 + ldr r4, [r0, #0x34] + ldr r0, _0204FE44 ; =0x02050331 + ldr r1, _0204FE48 ; =0x02050625 + cmp r4, r0 + bne _0204FE04 + ldr r0, _0204FE4C ; =0x02050339 + mov r1, #0x0 + bl sub_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE04: + cmp r3, r4 + bne _0204FE14 + ldr r0, _0204FE50 ; =0x02050595 + mov r1, #0x0 + bl sub_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE14: + cmp r2, r4 + bne _0204FE24 + ldr r0, _0204FE54 ; =0x020505F9 + mov r1, #0x0 + bl sub_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE24: + cmp r1, r4 + bne _0204FE34 + ldr r0, _0204FE58 ; =0x02050629 + mov r1, #0x0 + bl sub_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE34: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0204FE38: .word 0x021C5A6C +_0204FE3C: .word 0x0205058D +_0204FE40: .word 0x020505F5 +_0204FE44: .word 0x02050331 +_0204FE48: .word 0x02050625 +_0204FE4C: .word 0x02050339 +_0204FE50: .word 0x02050595 +_0204FE54: .word 0x020505F9 +_0204FE58: .word 0x02050629 + + thumb_func_start sub_0204FE5C +sub_0204FE5C: ; 0x0204FE5C + push {r3-r4} + sub sp, #0x38 + ldr r4, _0204FEA8 ; =0x020F5848 + add r3, sp, #0x0 + mov r2, #0x7 +_0204FE66: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0204FE66 + ldr r0, _0204FEAC ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x34] + cmp r0, #0x0 + bne _0204FE80 + add sp, #0x38 + mov r0, #0x0 + pop {r3-r4} + bx lr +_0204FE80: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _0204FE9E + add r2, sp, #0x0 +_0204FE88: + ldr r0, [r2, #0x0] + cmp r1, r0 + bne _0204FE96 + add sp, #0x38 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0204FE96: + add r2, r2, #0x4 + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _0204FE88 +_0204FE9E: + mov r0, #0x0 + add sp, #0x38 + pop {r3-r4} + bx lr + nop +_0204FEA8: .word 0x020F5848 +_0204FEAC: .word 0x021C5A6C + + thumb_func_start sub_0204FEB0 +sub_0204FEB0: ; 0x0204FEB0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _0204FEE8 + add r0, r5, #0x0 + bl sub_020377AC + mov r1, #0x0 + add r3, r5, #0x0 + str r1, [sp, #0x0] + add r3, #0xac + ldr r3, [r3, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02031948 + add r0, r5, #0x0 + bl sub_0204FBB0 + ldr r0, _0204FEEC ; =0x02050641 + mov r1, #0x0 + bl sub_02050094 +_0204FEE8: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0204FEEC: .word 0x02050641 + + thumb_func_start sub_0204FEF0 +sub_0204FEF0: ; 0x0204FEF0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _0204FF28 + add r0, r5, #0x0 + bl sub_020377AC + mov r1, #0x0 + add r3, r5, #0x0 + str r1, [sp, #0x0] + add r3, #0xac + ldr r3, [r3, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02031990 + add r0, r5, #0x0 + bl sub_0204FBB0 + ldr r0, _0204FF2C ; =0x02050669 + mov r1, #0x0 + bl sub_02050094 +_0204FF28: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0204FF2C: .word 0x02050669 + + thumb_func_start sub_0204FF30 +sub_0204FF30: ; 0x0204FF30 + ldr r1, _0204FF40 ; =0x021C5A6C + ldr r3, _0204FF44 ; =sub_02050094 + ldr r1, [r1, #0x0] + add r1, #0x3e + strb r0, [r1, #0x0] + ldr r0, _0204FF48 ; =0x02050689 + mov r1, #0x0 + bx r3 + .balign 4 +_0204FF40: .word 0x021C5A6C +_0204FF44: .word sub_02050094 + 1 +_0204FF48: .word 0x02050689 + + thumb_func_start sub_0204FF4C +sub_0204FF4C: ; 0x0204FF4C + ldr r3, _0204FF54 ; =sub_02050094 + ldr r0, _0204FF58 ; =0x02050BBD + mov r1, #0x0 + bx r3 + .balign 4 +_0204FF54: .word sub_02050094 + 1 +_0204FF58: .word 0x02050BBD + + thumb_func_start sub_0204FF5C +sub_0204FF5C: ; 0x0204FF5C + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3BC + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3BC + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020334E8 + bl sub_02031810 + cmp r0, #0x0 + beq _02050014 + ldr r0, _02050018 ; =0x021C5A6C + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _0204FF9C + add r0, r4, #0x0 + bl sub_0204FBB0 + ldr r0, _02050018 ; =0x021C5A6C + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x42 + strb r1, [r0, #0x0] + b _0204FFA2 +_0204FF9C: + mov r0, #0x0 + add r1, #0x42 + strb r0, [r1, #0x0] +_0204FFA2: + ldr r0, _02050018 ; =0x021C5A6C + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + bl sub_02031190 + str r0, [sp, #0x8] + bl sub_02031190 + bl sub_0202DFA4 + mov r4, #0x0 + bl sub_02030F20 + cmp r0, #0x0 + ble _0204FFEA + ldr r6, _02050018 ; =0x021C5A6C + add r5, r4, #0x0 + add r7, r4, #0x0 +_0204FFCA: + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + bne _0204FFDE + ldr r1, _0205001C ; =0x0000066C + add r0, r7, #0x0 + bl sub_02016998 + ldr r1, [r6, #0x0] + str r0, [r1, r5] +_0204FFDE: + add r5, r5, #0x4 + add r4, r4, #0x1 + bl sub_02030F20 + cmp r4, r0 + blt _0204FFCA +_0204FFEA: + ldr r0, _02050018 ; =0x021C5A6C + mov r3, #0xff + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x18] + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + str r0, [sp, #0x4] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl sub_02064E90 + mov r0, #0x5f + bl sub_02031588 + ldr r0, _02050020 ; =0x02050C15 + mov r1, #0x0 + bl sub_02050094 +_02050014: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02050018: .word 0x021C5A6C +_0205001C: .word 0x0000066C +_02050020: .word 0x02050C15 + + thumb_func_start sub_02050024 +sub_02050024: ; 0x02050024 + push {r3, lr} + ldr r0, _02050040 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0205003E + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_020334E8 + ldr r0, _02050044 ; =0x02050DB1 + mov r1, #0x5 + bl sub_02050094 +_0205003E: + pop {r3, pc} + .balign 4 +_02050040: .word 0x021C5A6C +_02050044: .word 0x02050DB1 + + thumb_func_start sub_02050048 +sub_02050048: ; 0x02050048 + push {r3, lr} + ldr r0, _02050064 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050060 + mov r0, #0x5b + bl sub_02031588 + ldr r0, _02050068 ; =0x02050D89 + mov r1, #0x5 + bl sub_02050094 +_02050060: + pop {r3, pc} + nop +_02050064: .word 0x021C5A6C +_02050068: .word 0x02050D89 + + thumb_func_start sub_0205006C +sub_0205006C: ; 0x0205006C + push {r3, lr} + ldr r1, _02050090 ; =0x021C5A6C + ldr r2, [r1, #0x0] + cmp r2, #0x0 + bne _0205007C + bl sub_0200CAB4 + pop {r3, pc} +_0205007C: + ldr r1, [r2, #0x34] + cmp r1, #0x0 + beq _0205008C + add r2, #0x40 + ldrb r0, [r2, #0x0] + cmp r0, #0x0 + bne _0205008C + blx r1 +_0205008C: + pop {r3, pc} + nop +_02050090: .word 0x021C5A6C + + thumb_func_start sub_02050094 +sub_02050094: ; 0x02050094 + ldr r2, _020500A0 ; =0x021C5A6C + ldr r3, [r2, #0x0] + str r0, [r3, #0x34] + ldr r0, [r2, #0x0] + strh r1, [r0, #0x3c] + bx lr + .balign 4 +_020500A0: .word 0x021C5A6C + + thumb_func_start sub_020500A4 +sub_020500A4: ; 0x020500A4 + push {r3, lr} + ldr r0, _02050108 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020500B6 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020500B6: + bl sub_02030F40 + cmp r0, #0x0 + beq _02050104 + ldr r0, _02050108 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl sub_0223E1E0 + bl sub_0202DBE0 + mov r0, #0x0 + bl sub_0204D168 + bl sub_0223EF7C + bl sub_02245FA0 + ldr r0, _02050108 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F194 + cmp r0, #0x0 + bne _020500F8 + ldr r0, _0205010C ; =sub_02050114 + mov r1, #0x0 + bl sub_02050094 + pop {r3, pc} +_020500F8: + bl sub_0204F80C + ldr r0, _02050110 ; =sub_02050144 + mov r1, #0x18 + bl sub_02050094 +_02050104: + pop {r3, pc} + nop +_02050108: .word 0x021C5A6C +_0205010C: .word sub_02050114 + 1 +_02050110: .word sub_02050144 + 1 + + thumb_func_start sub_02050114 +sub_02050114: ; 0x02050114 + push {r3, lr} + ldr r0, _0205013C ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F194 + cmp r0, #0x0 + beq _0205013A + bl sub_02031880 + bl sub_0204F80C + ldr r0, _02050140 ; =0x02050169 + mov r1, #0x18 + bl sub_02050094 +_0205013A: + pop {r3, pc} + .balign 4 +_0205013C: .word 0x021C5A6C +_02050140: .word 0x02050169 + + thumb_func_start sub_02050144 +sub_02050144: ; 0x02050144 + push {r3, lr} + ldr r0, _02050160 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050156 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050156: + ldr r0, _02050164 ; =0x02050169 + mov r1, #0x18 + bl sub_02050094 + pop {r3, pc} + .balign 4 +_02050160: .word 0x021C5A6C +_02050164: .word 0x02050169 +_02050168: + .byte 0x08, 0xB5, 0xED, 0xF1, 0x23, 0xFF, 0xFF, 0xF7 + .byte 0x4D, 0xFB, 0xE1, 0xF7, 0xA7, 0xFB, 0x00, 0x28, 0x0E, 0xD0, 0xE1, 0xF7, 0x09, 0xF8, 0x00, 0x28 + .byte 0x06, 0xD1, 0xF5, 0xF1, 0xCF, 0xF8, 0x05, 0x48, 0x3C, 0x21, 0xFF, 0xF7, 0x83, 0xFF, 0x08, 0xBD + .byte 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0x7E, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0x4D, 0x02, 0x05, 0x02 + .byte 0xA5, 0x01, 0x05, 0x02, 0x08, 0xB5, 0x26, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0 + .byte 0x40, 0x1E, 0x88, 0x87, 0xDE, 0xF7, 0x46, 0xFE, 0x00, 0x28, 0x08, 0xD1, 0xE1, 0xF7, 0x18, 0xF8 + .byte 0x00, 0x28, 0x04, 0xD1, 0x1E, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28, 0x06, 0xD1, 0xE1, 0xF7 + .byte 0x57, 0xFB, 0x1C, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x5D, 0xFF, 0x08, 0xBD, 0xE0, 0xF7, 0xD8, 0xFF + .byte 0xE0, 0xF7, 0x4C, 0xFE, 0x00, 0x28, 0x29, 0xD0, 0x15, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28 + .byte 0x07, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0xE0, 0xF7, 0x2F, 0xFD, 0x42, 0x21, 0x89, 0x00, 0x88, 0x42 + .byte 0x1C, 0xD1, 0xEE, 0xF1, 0x59, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x1A, 0xFF, 0x00, 0x20, 0x01, 0x1C + .byte 0x02, 0x1C, 0x03, 0x1C, 0xF0, 0xF1, 0x72, 0xFB, 0x00, 0x20, 0x01, 0x21, 0xEF, 0xF1, 0x64, 0xFD + .byte 0x00, 0x20, 0xDD, 0xF7, 0x29, 0xFE, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0xFD, 0xF7, 0x06, 0xF9 + .byte 0xFF, 0xF7, 0x12, 0xFB, 0x04, 0x48, 0x0A, 0x21, 0xFF, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x04, 0x05, 0x02, 0x51, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1 + .byte 0xB1, 0xFE, 0x13, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87 + .byte 0xE0, 0xF7, 0xC2, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28 + .byte 0x15, 0xD1, 0xEE, 0xF1, 0x21, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7, 0xBF, 0xFA, 0x09, 0x48 + .byte 0xFF, 0xF7, 0x94, 0xFC, 0x00, 0x20, 0xFC, 0xF7, 0x6F, 0xFF, 0xFF, 0xF7, 0x51, 0xFB, 0xF5, 0xF1 + .byte 0x87, 0xFE, 0xEE, 0xF1, 0xB3, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFE, 0x08, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x74, 0x5E, 0x10, 0x02, 0xAD, 0x02, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1 + .byte 0x81, 0xFE, 0x18, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x28, 0xD1, 0xE0, 0xF7 + .byte 0x97, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xDE, 0xF7, 0xAD, 0xFD, 0x00, 0x28, 0x09, 0xD0, 0xE0, 0xF7 + .byte 0x5F, 0xFF, 0xE0, 0xF7, 0xD3, 0xFD, 0x00, 0x28, 0x1A, 0xD1, 0xE0, 0xF7, 0xD1, 0xFF, 0x00, 0x28 + .byte 0x16, 0xD1, 0x00, 0x20, 0xF5, 0xF1, 0x38, 0xF8, 0xFF, 0xF7, 0x10, 0xFB, 0xF7, 0xF1, 0x8C, 0xFA + .byte 0x2B, 0x20, 0xE0, 0xF7, 0x73, 0xFF, 0xE0, 0xF7, 0x4B, 0xFF, 0x01, 0x21, 0xEF, 0xF1, 0xF4, 0xFC + .byte 0xEE, 0xF1, 0xDA, 0xF9, 0xE1, 0xF7, 0xD6, 0xFA, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xC2, 0xFE + .byte 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x59, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xFC, 0xF7 + .byte 0x93, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xB5, 0xFE, 0x08, 0xBD, 0x31, 0x03, 0x05, 0x02 + .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xEF, 0xFD, 0xFC, 0xF7 + .byte 0xAD, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xA5, 0xFE, 0x08, 0xBD, 0xAD, 0x02, 0x05, 0x02 + .byte 0x08, 0xB5, 0x15, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x09, 0x28, 0x03, 0xD1, 0xDD, 0xF7, 0x40, 0xFC + .byte 0xEE, 0xF1, 0x4C, 0xFA, 0x10, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x01, 0x28, 0x02, 0xD1, 0x00, 0x20 + .byte 0xFC, 0xF7, 0x12, 0xFF, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E + .byte 0x88, 0x87, 0x08, 0xBD, 0xDD, 0xF7, 0xB8, 0xFC, 0x00, 0x28, 0x09, 0xD0, 0x07, 0x48, 0xFF, 0xF7 + .byte 0x0D, 0xFC, 0xFF, 0xF7, 0xCD, 0xFA, 0x06, 0x48, 0xC8, 0x21, 0xFF, 0xF7, 0x7B, 0xFE, 0x08, 0xBD + .byte 0x00, 0xF0, 0xD2, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x80, 0x5E, 0x10, 0x02 + .byte 0xB5, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xFF, 0xF7, 0xA3, 0xFB, 0x00, 0x28, 0x06, 0xD0, 0xEE, 0xF1 + .byte 0xDD, 0xFD, 0x09, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0xBC, 0xF8 + .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD + .byte 0x00, 0xF0, 0x96, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0xF1, 0x03, 0x05, 0x02, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x08, 0xB5, 0xEF, 0xF1, 0x71, 0xF8, 0x00, 0x28, 0x0B, 0xD0, 0x07, 0x48, 0xFF, 0xF7, 0xD6, 0xFB + .byte 0xEF, 0xF1, 0x78, 0xF8, 0xF5, 0xF1, 0xCC, 0xFD, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x42, 0xFE + .byte 0x08, 0xBD, 0x00, 0xF0, 0x99, 0xF8, 0x08, 0xBD, 0x94, 0x5E, 0x10, 0x02, 0x21, 0x04, 0x05, 0x02 + .byte 0x08, 0xB5, 0xF5, 0xF1, 0xBF, 0xFE, 0x00, 0x28, 0x0F, 0xD0, 0x09, 0x48, 0xFF, 0xF7, 0xBE, 0xFB + .byte 0xF5, 0xF1, 0xC2, 0xFE, 0x01, 0x20, 0xFC, 0xF7, 0x97, 0xFE, 0x1F, 0x20, 0xE0, 0xF7, 0xCE, 0xFE + .byte 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x26, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xBD + .byte 0xB0, 0x5E, 0x10, 0x02, 0x49, 0x05, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x11, 0xFF, 0x00, 0x28 + .byte 0x07, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xFE, 0xF7, 0x37, 0xFB, 0x02, 0x48, 0x1E, 0x21, 0xFF, 0xF7 + .byte 0x11, 0xFE, 0x08, 0xBD, 0x79, 0x04, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F + .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x81, 0xFE, 0x00, 0x28 + .byte 0x03, 0xD1, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0xA5, 0x00, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 + .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x6B, 0xFE, 0x00, 0x28, 0x03, 0xD1, 0x03, 0x48 + .byte 0x00, 0x21, 0xFF, 0xF7, 0xE7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x00, 0x05, 0x02 + .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x59, 0xFE, 0x00, 0x28 + .byte 0x11, 0xD1, 0x09, 0x48, 0x00, 0x68, 0x80, 0x69, 0xED, 0xF1, 0x7A, 0xFE, 0xDD, 0xF7, 0x78, 0xFB + .byte 0x00, 0x20, 0xFC, 0xF7, 0x39, 0xFE, 0xEE, 0xF1, 0x41, 0xFD, 0xF5, 0xF1, 0x51, 0xFD, 0x03, 0x48 + .byte 0x00, 0x21, 0xFF, 0xF7, 0xC7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xD1, 0x04, 0x05, 0x02 + .byte 0x08, 0xB5, 0xE0, 0xF7, 0x3D, 0xFE, 0x01, 0x21, 0xEF, 0xF1, 0xE6, 0xFB, 0xE0, 0xF7, 0x38, 0xFE + .byte 0x01, 0x21, 0xF7, 0xF1, 0x01, 0xF9, 0xEC, 0xF1, 0xD1, 0xFA, 0xFC, 0xF7, 0xE5, 0xFC, 0xEE, 0xF1 + .byte 0xC3, 0xF8, 0xE1, 0xF7, 0xA5, 0xF9, 0xFF, 0xF7, 0xF7, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7 + .byte 0xA9, 0xFD, 0x08, 0xBD, 0xA5, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1, 0x33, 0xFD, 0xFF, 0xF7 + .byte 0x5D, 0xF9, 0x08, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x09, 0xD1, 0xDE, 0xF7 + .byte 0x71, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x43, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7 + .byte 0xCF, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xFC, 0xF7, 0x65, 0xFB, 0x02, 0x48 + .byte 0x00, 0x21, 0xFF, 0xF7, 0x87, 0xFD, 0x08, 0xBD, 0x8D, 0x05, 0x05, 0x02, 0x00, 0x4B, 0x18, 0x47 + .byte 0x31, 0x78, 0x24, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xC1, 0xFC, 0xFC, 0xF7, 0x7F, 0xFB, 0xDE, 0xF7 + .byte 0x51, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x23, 0xFE, 0x00, 0x28, 0x0E, 0xD0, 0xF4, 0xF1 + .byte 0x79, 0xFE, 0xFC, 0xF7, 0xA1, 0xFC, 0xEE, 0xF1, 0x7F, 0xF8, 0xE1, 0xF7, 0x61, 0xF9, 0xFF, 0xF7 + .byte 0xB3, 0xFA, 0x05, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFD, 0x08, 0xBD, 0x03, 0x48, 0x00, 0x21 + .byte 0xFF, 0xF7, 0x60, 0xFD, 0x08, 0xBD, 0xC0, 0x46, 0xA5, 0x04, 0x05, 0x02, 0x49, 0x05, 0x05, 0x02 + .byte 0x08, 0xB5, 0xFC, 0xF7, 0x31, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x53, 0xFD, 0x08, 0xBD + .byte 0xF5, 0x05, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x8F, 0xFC, 0xFC, 0xF7 + .byte 0x4D, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x45, 0xFD, 0x08, 0xBD, 0x69, 0x01, 0x05, 0x02 + .byte 0x08, 0xB5, 0xFC, 0xF7, 0x87, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x3B, 0xFD, 0x08, 0xBD + .byte 0x25, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x77, 0xFC, 0xFC, 0xF7 + .byte 0x35, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2D, 0xFD, 0x08, 0xBD, 0xD1, 0x04, 0x05, 0x02 + .byte 0x08, 0xB5, 0xE0, 0xF7, 0xA5, 0xFD, 0xE0, 0xF7, 0x19, 0xFC, 0x00, 0x28, 0x07, 0xD0, 0xF0, 0xF1 + .byte 0xF1, 0xF8, 0xDD, 0xF7, 0xC5, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x1B, 0xFD, 0x08, 0xBD + .byte 0x65, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xDD, 0xF7, 0x2D, 0xFF, 0x00, 0x28 + .byte 0x05, 0xD0, 0xF0, 0xF1, 0xAB, 0xF8, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0B, 0xFD, 0x08, 0xBD + .byte 0x85, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x3E, 0x30 + .byte 0x00, 0x78, 0xE1, 0xF7, 0xA1, 0xF9, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFC, 0x08, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA9, 0x06, 0x05, 0x02, 0x08, 0xB5, 0xE1, 0xF7, 0xBF, 0xF9, 0x00, 0x28 + .byte 0x05, 0xD0, 0xDD, 0xF7, 0x95, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xEB, 0xFC, 0x08, 0xBD + .byte 0xC5, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0x84, 0xFF + .byte 0x00, 0x28, 0x17, 0xD0, 0xFC, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0x5C, 0xF9 + .byte 0x0F, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x1A, 0xFA, 0xFF, 0xF7, 0x8E, 0xF8 + .byte 0xE0, 0xF7, 0x6A, 0xFC, 0x5C, 0x20, 0xE0, 0xF7, 0x47, 0xFF, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7 + .byte 0xC9, 0xFC, 0x08, 0xBD, 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E + .byte 0x88, 0x87, 0x08, 0xBD, 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x35, 0xFF, 0x08, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x29, 0x07, 0x05, 0x02, 0x00, 0xB5, 0x83, 0xB0, 0xE0, 0xF7, 0x30, 0xFD + .byte 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x58, 0xFB, 0x5C, 0x20, 0xE0, 0xF7, 0x4D, 0xFF, 0x00, 0x28 + .byte 0x19, 0xD0, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20 + .byte 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x3C, 0xFD, 0x00, 0x20, 0xBD, 0xF7, 0x15, 0xFE, 0x01, 0x20 + .byte 0xBD, 0xF7, 0x12, 0xFE, 0xFC, 0xF7, 0x9A, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0xFD, 0xFC, 0x03, 0x48 + .byte 0x01, 0x21, 0xFF, 0xF7, 0x8F, 0xFC, 0x03, 0xB0, 0x00, 0xBD, 0xC0, 0x46, 0xB5, 0x07, 0x05, 0x02 + .byte 0x08, 0xB5, 0x0A, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87 + .byte 0x08, 0xBD, 0x1E, 0x20, 0xE0, 0xF7, 0x20, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0xE0, 0xF7, 0x04, 0xFC + .byte 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x76, 0xFC, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0E, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 + .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0xE3, 0xFC, 0x00, 0x28, 0x07, 0xD1, 0xFE, 0xF7 + .byte 0x9B, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x1E, 0x20, 0xE0, 0xF7, 0xD6, 0xFE, 0x02, 0xE0, 0x1E, 0x20 + .byte 0xE0, 0xF7, 0xD2, 0xFE, 0x03, 0x48, 0x14, 0x21, 0xFF, 0xF7, 0x54, 0xFC, 0x08, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x81, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0xEC, 0xFE + .byte 0x00, 0x28, 0x15, 0xD0, 0xFC, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0xC4, 0xF8 + .byte 0x0E, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x82, 0xF9, 0xFE, 0xF7, 0xF6, 0xFF + .byte 0x5C, 0x20, 0xE0, 0xF7, 0xB1, 0xFE, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x33, 0xFC, 0x08, 0xBD + .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD + .byte 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x9F, 0xFE, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x55, 0x08, 0x05, 0x02, 0x08, 0xB5, 0x84, 0xB0, 0xE0, 0xF7, 0x9A, 0xFC, 0x00, 0x28, 0x01, 0xD1 + .byte 0xDD, 0xF7, 0xC2, 0xFA, 0x5C, 0x20, 0xE0, 0xF7, 0xB7, 0xFE, 0x00, 0x28, 0x20, 0xD0, 0xFC, 0xF7 + .byte 0x15, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x78, 0xFC, 0x01, 0x21, 0x03, 0xA8, 0x01, 0x70, 0x5E, 0x20 + .byte 0x03, 0xA9, 0xE0, 0xF7, 0xA5, 0xFC, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20 + .byte 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xBD, 0xF7 + .byte 0x73, 0xFD, 0x01, 0x20, 0xBD, 0xF7, 0x70, 0xFD, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xF2, 0xFB + .byte 0x04, 0xB0, 0x08, 0xBD, 0x15, 0x0A, 0x05, 0x02, 0xF8, 0xB5, 0x00, 0x27, 0xE0, 0xF7, 0x30, 0xFB + .byte 0x00, 0x28, 0x28, 0xDD, 0x18, 0x4E, 0xE0, 0xF7, 0x63, 0xFC, 0x87, 0x42, 0x1E, 0xD0, 0x38, 0x1C + .byte 0xE0, 0xF7, 0x94, 0xFE, 0x5E, 0x28, 0x19, 0xD1, 0x30, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28 + .byte 0x14, 0xD1, 0x00, 0x24, 0x25, 0x1C, 0x30, 0x68, 0x40, 0x59, 0x00, 0x28, 0x04, 0xD0, 0xC6, 0xF7 + .byte 0x93, 0xF8, 0x31, 0x68, 0x00, 0x20, 0x48, 0x51, 0x64, 0x1C, 0x2D, 0x1D, 0x04, 0x2C, 0xF2, 0xDB + .byte 0x30, 0x68, 0x0A, 0x49, 0x80, 0x69, 0x00, 0x22, 0xE8, 0xF7, 0xB6, 0xF9, 0x7F, 0x1C, 0xE0, 0xF7 + .byte 0x07, 0xFB, 0x87, 0x42, 0xD7, 0xDB, 0x04, 0x49, 0x04, 0x20, 0x09, 0x68, 0x89, 0x69, 0x89, 0x68 + .byte 0xE2, 0xF7, 0x66, 0xFE, 0xF8, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x8E, 0x23, 0x00, 0x00 + .byte 0x08, 0xB5, 0xFE, 0xF7, 0x07, 0xF9, 0x00, 0x28, 0x0F, 0xD1, 0x09, 0x48, 0x00, 0x21, 0x00, 0x68 + .byte 0x43, 0x30, 0x01, 0x70, 0x01, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7 + .byte 0x3F, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x9D, 0xFB, 0xFF, 0xF7, 0xAD, 0xFF, 0x08, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x0C, 0x1C, 0x0A, 0xD0 + .byte 0x0B, 0x20, 0x1A, 0xF0, 0x9B, 0xFF, 0x0D, 0x49, 0x0A, 0x68, 0x50, 0x64, 0x09, 0x68, 0x20, 0x1C + .byte 0x49, 0x6C, 0x1B, 0xF0, 0xA5, 0xF8, 0x00, 0x2D, 0x04, 0xD0, 0x09, 0x48, 0x03, 0x21, 0xFF, 0xF7 + .byte 0x81, 0xFB, 0x38, 0xBD, 0x03, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7 + .byte 0x17, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x75, 0xFB, 0x38, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x8D, 0x0B, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x01, 0x4B, 0x02, 0x48, 0x00, 0x21, 0x18, 0x47 + .byte 0x95, 0x00, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x35, 0xFD, 0x00, 0x28 + .byte 0x19, 0xD1, 0xE0, 0xF7, 0xDD, 0xFB, 0xFE, 0xF7, 0x6D, 0xFE, 0x00, 0x28, 0x13, 0xD1, 0x0A, 0x48 + .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xFE, 0xF7 + .byte 0xF9, 0xFE, 0x05, 0x48, 0x05, 0x49, 0x00, 0x68, 0x80, 0x69, 0x00, 0xF0, 0x41, 0xFF, 0x04, 0x48 + .byte 0x00, 0x21, 0xFF, 0xF7, 0x47, 0xFB, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x69, 0x09, 0x05, 0x02 + .byte 0xB9, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0A, 0x48, 0x00, 0x68, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28 + .byte 0x0A, 0xD0, 0x08, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x35, 0xFB, 0x00, 0x21, 0x00, 0xA8, 0x01, 0x70 + .byte 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7, 0xCC, 0xFB, 0xFF, 0xF7, 0x3E, 0xFF, 0x08, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x14, 0x1C, 0xE0, 0xF7, 0xA0, 0xFB + .byte 0x21, 0x78, 0x81, 0x42, 0x04, 0xD1, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x43, 0x30, 0x01, 0x70 + .byte 0x10, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x07, 0x48, 0x00, 0x68, 0x00, 0x28, 0x08, 0xD0 + .byte 0x41, 0x6B, 0x06, 0x48, 0x81, 0x42, 0x02, 0xD0, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20 + .byte 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02 + .byte 0x31, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x82, 0xB0, 0x19, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28 + .byte 0x03, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x02, 0xB0, 0x10, 0xBD, 0x05, 0x24, 0xE2, 0xF7, 0x42, 0xFD + .byte 0x02, 0x28, 0x05, 0xD0, 0x04, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x02, 0xD1, 0x0F, 0x24, 0x00, 0xE0 + .byte 0x07, 0x24, 0x00, 0xA8, 0xE2, 0xF7, 0x58, 0xFD, 0x0D, 0x48, 0x00, 0x68, 0x41, 0x6C, 0x80, 0x69 + .byte 0x00, 0x29, 0x04, 0xD1, 0x00, 0xA9, 0x22, 0x1C, 0xF6, 0xF7, 0xC8, 0xFB, 0x0B, 0xE0, 0x22, 0x1C + .byte 0xF6, 0xF7, 0xE6, 0xFB, 0x06, 0x48, 0x00, 0x68, 0x40, 0x6C, 0xC5, 0xF7, 0x95, 0xFF, 0x04, 0x48 + .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x64, 0xFF, 0xF7, 0x8B, 0xF8, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0x9F, 0xFF, 0x00, 0x28, 0x17, 0xD0, 0x0C, 0x48 + .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0x48, 0x00, 0x68 + .byte 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x04, 0x20, 0xE0, 0xF7, 0x2E, 0xFD, 0x04, 0x20, 0xE0, 0xF7 + .byte 0x53, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xAB, 0xFA, 0x08, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x95, 0x0A, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F + .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7, 0x59, 0xFF, 0x03, 0x48 + .byte 0x78, 0x21, 0xFF, 0xF7, 0x97, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x05, 0x0B, 0x05, 0x02 + .byte 0x08, 0xB5, 0x03, 0x20, 0xE0, 0xF7, 0x30, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x02, 0x21 + .byte 0xFF, 0xF7, 0x88, 0xFA, 0x08, 0xBD, 0xC0, 0x46, 0x49, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0x09, 0x48 + .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0x00, 0x20 + .byte 0xFC, 0xF7, 0x9E, 0xF8, 0x03, 0x20, 0xE0, 0xF7, 0xEF, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7 + .byte 0x71, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x71, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7 + .byte 0x19, 0xFF, 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0x65, 0xFA, 0x08, 0xBD, 0xD1, 0x0B, 0x05, 0x02 + .byte 0x08, 0xB5, 0xDE, 0xF7, 0x1B, 0xF9, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x0A, 0x21, 0xFF, 0xF7 + .byte 0x59, 0xFA, 0x08, 0xBD, 0xA9, 0x06, 0x05, 0x02, 0x02, 0x49, 0x01, 0x22, 0x09, 0x68, 0x08, 0x18 + .byte 0x02, 0x74, 0x70, 0x47, 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x04, 0x2C, 0x01, 0xDB + .byte 0xD0, 0xF7, 0x14, 0xF8, 0x02, 0x48, 0x01, 0x68, 0xA0, 0x00, 0x08, 0x58, 0x10, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0xE0, 0xF7, 0xBB, 0xFA, 0x04, 0x1C, 0x5F, 0x20, 0xE0, 0xF7 + .byte 0xDB, 0xFC, 0x00, 0x28, 0x0B, 0xD0, 0x06, 0x49, 0x58, 0x20, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x58 + .byte 0x04, 0x4A, 0xDF, 0xF7, 0x21, 0xFF, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2B, 0xFA, 0x10, 0xBD + .byte 0x6C, 0x5A, 0x1C, 0x02, 0x6C, 0x06, 0x00, 0x00, 0x4D, 0x0C, 0x05, 0x02, 0x38, 0xB5, 0x00, 0x24 + .byte 0xE0, 0xF7, 0x66, 0xF9, 0x00, 0x28, 0x0A, 0xDD, 0x09, 0x4D, 0x28, 0x68, 0x00, 0x19, 0x00, 0x7C + .byte 0x00, 0x28, 0x0B, 0xD0, 0x64, 0x1C, 0xE0, 0xF7, 0x5B, 0xF9, 0x84, 0x42, 0xF5, 0xDB, 0x61, 0x20 + .byte 0xE0, 0xF7, 0x8A, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0C, 0xFA, 0x38, 0xBD, 0xC0, 0x46 + .byte 0x6C, 0x5A, 0x1C, 0x02, 0xF5, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0xDD, 0xFE, 0x00, 0x28 + .byte 0x17, 0xD1, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87 + .byte 0x08, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x05, 0x20, 0xE0, 0xF7, 0x6C, 0xFC + .byte 0x05, 0x20, 0xE0, 0xF7, 0x91, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7 + .byte 0xE9, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48 + .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7 + .byte 0x9D, 0xFE, 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0xD5, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x89, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0x61, 0x20, 0xE0, 0xF7, 0x6E, 0xFC, 0x00, 0x28, 0x03, 0xD0 + .byte 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0xC6, 0xF9, 0x08, 0xBD, 0xC0, 0x46, 0xCD, 0x0C, 0x05, 0x02 + .byte 0x08, 0xB5, 0x0D, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87 + .byte 0x08, 0xBD, 0x62, 0x20, 0xE0, 0xF7, 0x30, 0xFC, 0x07, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78 + .byte 0x00, 0x28, 0x04, 0xD0, 0x05, 0x48, 0x1E, 0x21, 0xFF, 0xF7, 0xAC, 0xF9, 0x08, 0xBD, 0x04, 0x48 + .byte 0x1E, 0x21, 0xFF, 0xF7, 0xA7, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x06, 0x05, 0x02 + .byte 0xF9, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x0B, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 + .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xED, 0xF1, 0x1D, 0xFA, 0xE0, 0xF7, 0x79, 0xFD, 0x21, 0x20 + .byte 0xC5, 0xF7, 0xAE, 0xFD, 0x03, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0xFE, 0xF7 + .byte 0x47, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x5B, 0x20, 0xE0, 0xF7, 0x24, 0xFC + .byte 0x00, 0x28, 0x0A, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xE2, 0xF7, 0xA6, 0xFB, 0x01, 0x20, 0xFB, 0xF7 + .byte 0x9F, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x75, 0xF9, 0x08, 0xBD, 0xC9, 0x0D, 0x05, 0x02 + .byte 0x08, 0xB5, 0x01, 0x20, 0xFB, 0xF7, 0x94, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x6A, 0xF9 + .byte 0x08, 0xBD, 0xC0, 0x46, 0xC9, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F + .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x15, 0xFE, 0x03, 0x48 + .byte 0x00, 0x21, 0xFF, 0xF7, 0x57, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0xFC, 0x04, 0x02 + .byte 0x08, 0xB5, 0x06, 0x49, 0x09, 0x68, 0x00, 0x29, 0x03, 0xD0, 0x41, 0x31, 0x09, 0x78, 0x00, 0x29 + .byte 0x01, 0xD1, 0x00, 0x20, 0x08, 0xBD, 0xED, 0xF1, 0x51, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 + .byte 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28 + .byte 0x01, 0xD0, 0xED, 0xF1, 0x79, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x05, 0x48 + .byte 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0xED, 0xF1 + .byte 0x89, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0x0D, 0x1C + .byte 0x09, 0x98, 0x30, 0x21, 0x00, 0x92, 0x01, 0x93, 0xEE, 0x68, 0xC5, 0xF7, 0xBD, 0xFD, 0x00, 0x21 + .byte 0x30, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x72, 0xEA, 0xE8, 0x68, 0xD2, 0xF7, 0x43, 0xFD, 0x01, 0x1C + .byte 0x20, 0x1C, 0x2B, 0xF0, 0x17, 0xFA, 0x30, 0x1C, 0x1A, 0xF0, 0x56, 0xFE, 0xE0, 0x61, 0x30, 0x1C + .byte 0x28, 0xF0, 0xF6, 0xFE, 0xE0, 0x62, 0x30, 0x1C, 0xD2, 0xF7, 0x3A, 0xFD, 0x60, 0x60, 0x00, 0x98 + .byte 0x20, 0x60, 0x01, 0x20, 0x60, 0x74, 0x01, 0x98, 0x20, 0x75, 0x20, 0x68, 0x1A, 0xF0, 0x86, 0xFD + .byte 0xE0, 0x74, 0x00, 0x20, 0x20, 0x83, 0x08, 0x98, 0xA0, 0x74, 0x30, 0x1C, 0xD9, 0xF7, 0x34, 0xFD + .byte 0x20, 0x62, 0x06, 0x49, 0x20, 0x1C, 0x2A, 0xF0, 0xA3, 0xF8, 0x05, 0x49, 0x28, 0x1C, 0x22, 0x1C + .byte 0xE6, 0xF7, 0x88, 0xFA, 0x3C, 0x60, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0x80, 0x58, 0x0F, 0x02 + .byte 0xE8, 0xA6, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x08, 0x1C, 0x40, 0x21, 0xC5, 0xF7, 0x5C, 0xFD + .byte 0x00, 0x21, 0x40, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x32, 0xEA, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7 + .byte 0x07, 0xFD, 0xE0, 0x60, 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x60, 0x61, 0x68, 0x6A, 0xC0, 0x68 + .byte 0x1A, 0xF0, 0x0C, 0xFE, 0x20, 0x60, 0x68, 0x6A, 0xC0, 0x68, 0x1E, 0xF0, 0x25, 0xF9, 0x60, 0x60 + .byte 0x20, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x02, 0x21, 0x20, 0x30, 0x01, 0x70 + .byte 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x1C, 0xD0, 0x01, 0x21, 0xD2, 0xF7, 0xEE, 0xFD + .byte 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x0F, 0x22, 0x00, 0x06, 0x91, 0x43, 0x02, 0x0E, 0x0F, 0x20 + .byte 0x10, 0x40, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x00, 0x78 + .byte 0xF0, 0x21, 0x88, 0x43, 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x09, 0x07, 0x09, 0x0F, 0x09, 0x07 + .byte 0x09, 0x0E, 0x0F, 0xE0, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0x0F, 0x20, 0x81, 0x43, 0x03, 0x20 + .byte 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0xF0, 0x20 + .byte 0x81, 0x43, 0x30, 0x20, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x21 + .byte 0x33, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x3C, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x22, 0x30, 0x01, 0x70 + .byte 0x00, 0x22, 0xA8, 0x18, 0x3D, 0x30, 0x01, 0x78, 0xA0, 0x18, 0x2C, 0x30, 0x52, 0x1C, 0x01, 0x70 + .byte 0x06, 0x2A, 0xF6, 0xDB, 0x68, 0x6A, 0x03, 0x49, 0x22, 0x1C, 0xE6, 0xF7, 0x0B, 0xFA, 0x6C, 0x60 + .byte 0x38, 0xBD, 0xC0, 0x46, 0xDC, 0x96, 0x0F, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7 + .byte 0x55, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x10, 0xBD, 0x60, 0x68, 0x21, 0x1C, 0x2C, 0x30 + .byte 0x3D, 0x31, 0x06, 0x22, 0x7D, 0xF0, 0xFC, 0xE9, 0x60, 0x68, 0x22, 0x30, 0x00, 0x78, 0x06, 0x28 + .byte 0x04, 0xD0, 0x07, 0x28, 0x05, 0xD1, 0x00, 0x20, 0xA0, 0x63, 0x04, 0xE0, 0x01, 0x20, 0xA0, 0x63 + .byte 0x01, 0xE0, 0x02, 0x20, 0xA0, 0x63, 0x60, 0x68, 0x22, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x3C, 0x30 + .byte 0x01, 0x70, 0x60, 0x68, 0xC5, 0xF7, 0x00, 0xFD, 0x00, 0x20, 0x60, 0x60, 0x01, 0x20, 0x10, 0xBD + .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7, 0x29, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20 + .byte 0x10, 0xBD, 0x20, 0x68, 0x01, 0x7D, 0x20, 0x1C, 0x3C, 0x30, 0x01, 0x70, 0x20, 0x68, 0xC5, 0xF7 + .byte 0xEB, 0xFC, 0x00, 0x20, 0x20, 0x60, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x40, 0x6A + .byte 0xF5, 0xF7, 0x28, 0xFA, 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x86, 0xF1, 0x23, 0xFE, 0xFB, 0xF7 + .byte 0x1D, 0xFE, 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0xDF, 0xF7 + .byte 0x57, 0xFF, 0x05, 0x1C, 0x00, 0x24, 0x00, 0x2D, 0x09, 0xDD, 0x20, 0x1C, 0xE0, 0xF7, 0xBE, 0xFA + .byte 0x5E, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD, 0x64, 0x1C, 0xAC, 0x42, 0xF5, 0xDB, 0x00, 0x20 + .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x82, 0xB0, 0x05, 0x1C, 0xF5, 0xF7, 0x47, 0xFA, 0x04, 0x1C + .byte 0x28, 0x1C, 0xF5, 0xF7, 0x41, 0xFA, 0x61, 0x6B, 0x2C, 0x29, 0x00, 0xD9, 0x84, 0xE3, 0x49, 0x18 + .byte 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x58, 0x00, 0x7A, 0x00, 0x94, 0x00 + .byte 0xAE, 0x00, 0xEA, 0x00, 0x3A, 0x01, 0xFC, 0x06, 0x28, 0x01, 0x50, 0x01, 0x76, 0x01, 0x82, 0x01 + .byte 0xAE, 0x01, 0xCC, 0x01, 0xE0, 0x01, 0xEC, 0x01, 0x0E, 0x02, 0x24, 0x02, 0x52, 0x02, 0x78, 0x02 + .byte 0x8A, 0x02, 0xCE, 0x02, 0xAE, 0x02, 0xEA, 0x02, 0xFA, 0x02, 0x18, 0x03, 0x36, 0x03, 0x4A, 0x03 + .byte 0xB6, 0x03, 0xEC, 0x03, 0x02, 0x04, 0x4C, 0x04, 0x84, 0x04, 0xAA, 0x04, 0xCA, 0x05, 0xFA, 0x05 + .byte 0x12, 0x06, 0xFE, 0x04, 0x3C, 0x05, 0x58, 0x05, 0x22, 0x06, 0xFC, 0x06, 0x46, 0x06, 0x88, 0x06 + .byte 0xAA, 0x06, 0xDC, 0x06, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x57, 0xD1, 0x01, 0x20, 0x60, 0x63 + .byte 0xFD, 0xF7, 0xC6, 0xFD, 0x40, 0xE3, 0xE0, 0x6A, 0xE2, 0x68, 0x01, 0x21, 0xB9, 0xF7, 0xD0, 0xFB + .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x3C, 0xFB, 0x20, 0x63, 0x02, 0x20, 0x60, 0x63, 0x33, 0xE3 + .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xB7, 0xFA, 0x00, 0x28, 0x3E, 0xD0, 0x5D, 0x20 + .byte 0xE0, 0xF7, 0x12, 0xFA, 0x03, 0x20, 0x60, 0x63, 0x26, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x34, 0xFA + .byte 0x00, 0x28, 0x0A, 0xD0, 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xF4, 0xFA + .byte 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20, 0x90, 0x47, 0x16, 0xE3, 0xC6, 0x48, 0x81, 0x6C, 0x02, 0x20 + .byte 0x08, 0x42, 0x23, 0xD0, 0x04, 0x20, 0x60, 0x63, 0x5C, 0x20, 0xE0, 0xF7, 0xF5, 0xF9, 0x05, 0x20 + .byte 0x43, 0x34, 0x20, 0x70, 0x08, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x16, 0xFA, 0x00, 0x28, 0x09, 0xD0 + .byte 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xD6, 0xFA, 0x21, 0x6D, 0xA2, 0x68 + .byte 0x01, 0x20, 0x90, 0x47, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0xEC, 0xE2, 0x08, 0x20 + .byte 0x60, 0x63, 0xE9, 0xE2, 0x20, 0x1C, 0x00, 0xF0, 0xD7, 0xFB, 0x20, 0x1C, 0xC5, 0xF7, 0x14, 0xFC + .byte 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFB, 0x20, 0x1C, 0xC5, 0xF7 + .byte 0x0B, 0xFC, 0xFE, 0xF7, 0xFB, 0xFA, 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x5D, 0x20, 0xE0, 0xF7 + .byte 0xE3, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20 + .byte 0x90, 0x47, 0xC9, 0xE2, 0x21, 0x6D, 0xA2, 0x68, 0x00, 0x20, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63 + .byte 0xC2, 0xE2, 0x0A, 0x20, 0x60, 0x63, 0x05, 0x20, 0x44, 0x34, 0x20, 0x70, 0xBC, 0xE2, 0x21, 0x1C + .byte 0x44, 0x31, 0x09, 0x78, 0x00, 0x29, 0x06, 0xD0, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x44, 0x34 + .byte 0x40, 0x1E, 0x20, 0x70, 0xB0, 0xE2, 0x80, 0x6B, 0x04, 0xF0, 0xA2, 0xF8, 0x09, 0xF0, 0xE4, 0xFD + .byte 0x00, 0x28, 0x4A, 0xD0, 0x0B, 0x20, 0x60, 0x63, 0xA6, 0xE2, 0xFD, 0xF7, 0x29, 0xFD, 0xE0, 0x6A + .byte 0xE2, 0x68, 0x0D, 0x21, 0xB9, 0xF7, 0x34, 0xFB, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFA + .byte 0x20, 0x63, 0x0C, 0x20, 0x60, 0x63, 0x97, 0xE2, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 + .byte 0x1B, 0xFA, 0x00, 0x28, 0x31, 0xD0, 0x0D, 0x20, 0x60, 0x63, 0x8D, 0xE2, 0x00, 0x20, 0x86, 0xF1 + .byte 0x01, 0xFD, 0x0E, 0x20, 0x60, 0x63, 0x87, 0xE2, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E + .byte 0x20, 0x1C, 0x43, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x1C, 0xD1 + .byte 0xFD, 0xF7, 0xFE, 0xFC, 0x0F, 0x20, 0x60, 0x63, 0x76, 0xE2, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0 + .byte 0x9F, 0xFA, 0x20, 0x1C, 0x0B, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x10, 0x20, 0x60, 0x63, 0x6B, 0xE2 + .byte 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x70, 0xFE, 0x00, 0x28, 0x06, 0xD0, 0xA0, 0x6B, 0x00, 0x28 + .byte 0x04, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x06, 0xD0, 0x5D, 0xE2, 0x14, 0x20, 0x60, 0x63 + .byte 0x5A, 0xE2, 0x13, 0x20, 0x60, 0x63, 0x57, 0xE2, 0x11, 0x20, 0x60, 0x63, 0x54, 0xE2, 0x60, 0x6A + .byte 0xC0, 0x68, 0x1A, 0xF0, 0x03, 0xFC, 0x02, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90 + .byte 0x23, 0x1C, 0x3C, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x8D, 0xFD, 0x12, 0x20 + .byte 0x60, 0x63, 0x41, 0xE2, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x72, 0xFE, 0x00, 0x28, 0x67, 0xD0 + .byte 0x0F, 0x20, 0x60, 0x63, 0x38, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0xA8, 0xF8, 0x20, 0x1C, 0x88, 0x30 + .byte 0x00, 0x78, 0x03, 0x28, 0x06, 0xD0, 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x15, 0x20 + .byte 0x60, 0x63, 0x29, 0xE2, 0x1A, 0x20, 0x60, 0x63, 0x26, 0xE2, 0x20, 0x1C, 0x3D, 0x30, 0xE2, 0xF7 + .byte 0xF9, 0xF8, 0x20, 0x1C, 0xFF, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x49, 0xD0, 0x20, 0x1C, 0x05, 0x21 + .byte 0x43, 0x30, 0x01, 0x70, 0x00, 0x20, 0x60, 0x63, 0x16, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0x86, 0xF8 + .byte 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28, 0x02, 0xD0, 0x16, 0x20, 0x60, 0x63, 0x0B, 0xE2 + .byte 0x1A, 0x20, 0x60, 0x63, 0x08, 0xE2, 0x20, 0x1C, 0xFF, 0xF7, 0x50, 0xFE, 0x00, 0x28, 0x2F, 0xD0 + .byte 0x08, 0x20, 0x60, 0x63, 0x00, 0xE2, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C + .byte 0x44, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x00, 0x28, 0x20, 0xD1, 0x18, 0x20 + .byte 0x60, 0x63, 0xF1, 0xE1, 0xFD, 0xF7, 0x74, 0xFC, 0xE0, 0x6A, 0xE2, 0x68, 0x13, 0x21, 0xB9, 0xF7 + .byte 0x7F, 0xFA, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xEB, 0xF9, 0x20, 0x63, 0x19, 0x20, 0x60, 0x63 + .byte 0xE2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x66, 0xF9, 0x00, 0x28, 0x07, 0xD0 + .byte 0x0D, 0x20, 0x60, 0x63, 0xD8, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x20, 0xFE, 0x00, 0x28, 0x00, 0xD1 + .byte 0xD2, 0xE1, 0xFF, 0xF7, 0x2B, 0xFE, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0xCB, 0xE1 + .byte 0xA0, 0x6B, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x21, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x1C, 0x82, 0x30 + .byte 0x01, 0x70, 0x21, 0x1C, 0x82, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xFA, 0x00, 0x20 + .byte 0xE0, 0xF7, 0xA2, 0xF8, 0xA0, 0x6A, 0x62, 0x6F, 0x00, 0x21, 0xB9, 0xF7, 0xB9, 0xFB, 0xE0, 0x6A + .byte 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x44, 0xFA, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7 + .byte 0xAB, 0xF9, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xF9, 0x20, 0x63, 0x1B, 0x20, 0x60, 0x63 + .byte 0xA2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x26, 0xF9, 0x00, 0x28, 0x79, 0xD0 + .byte 0xFF, 0xF7, 0xF4, 0xFD, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x94, 0xE1, 0x00, 0x20 + .byte 0xE0, 0xF7, 0xA2, 0xF8, 0x00, 0x28, 0x6D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xCD, 0xFA, 0x1C, 0x20 + .byte 0x60, 0x63, 0x89, 0xE1, 0xB8, 0x48, 0x1C, 0x02, 0x20, 0x1C, 0x00, 0xF0, 0xE9, 0xFA, 0x00, 0x28 + .byte 0x60, 0xD0, 0x01, 0x20, 0xE0, 0xF7, 0x68, 0xF8, 0x1D, 0x20, 0x60, 0x63, 0x7C, 0xE1, 0x01, 0x20 + .byte 0xE0, 0xF7, 0x8A, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xE1, 0xFA, 0x21, 0x1C + .byte 0x83, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x82, 0x30, 0x00, 0x78, 0x00, 0x28, 0x11, 0xD0, 0x20, 0x1C + .byte 0x83, 0x30, 0x00, 0x78, 0x00, 0x28, 0x0C, 0xD0, 0xE0, 0x6A, 0xE2, 0x68, 0x14, 0x21, 0xB9, 0xF7 + .byte 0xF7, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x63, 0xF9, 0x20, 0x63, 0x1E, 0x20, 0x60, 0x63 + .byte 0x5A, 0xE1, 0x2A, 0x20, 0x60, 0x63, 0x57, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 + .byte 0xDB, 0xF8, 0x00, 0x28, 0x2E, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x89, 0x30, 0x01, 0x70, 0xE0, 0x6A + .byte 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7, 0xDC, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x48, 0xF9 + .byte 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x84, 0x30, 0x01, 0x70, 0x1F, 0x20, 0x60, 0x63, 0x3B, 0xE1 + .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xBF, 0xF8, 0x00, 0x28, 0x12, 0xD0, 0x20, 0x1C + .byte 0x00, 0xF0, 0xCE, 0xFA, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0x04, 0xFB + .byte 0x20, 0x20, 0x60, 0x63, 0x28, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0xF4, 0xFB, 0x01, 0x28, 0x02, 0xD0 + .byte 0x02, 0x28, 0x0B, 0xD0, 0x20, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0x54, 0xFC, 0x81, 0x20, 0x21, 0x56 + .byte 0x20, 0x1C, 0x84, 0x30, 0x01, 0x70, 0x24, 0x20, 0x60, 0x63, 0x15, 0xE1, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x49, 0xFC, 0x20, 0x1C, 0xFF, 0x21, 0x84, 0x30, 0x01, 0x70, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21 + .byte 0xB9, 0xF7, 0x9E, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x0A, 0xF9, 0x20, 0x63, 0x02, 0x20 + .byte 0xDF, 0xF7, 0xEA, 0xFF, 0x27, 0x20, 0x60, 0x63, 0xFE, 0xE0, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78 + .byte 0x20, 0x6D, 0x1A, 0xF0, 0xF5, 0xF9, 0x17, 0xF0, 0x8D, 0xFD, 0x02, 0x1C, 0xA0, 0x6A, 0x01, 0x21 + .byte 0xB9, 0xF7, 0x46, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x12, 0x21, 0xB9, 0xF7, 0x81, 0xF9, 0xA0, 0x6A + .byte 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7, 0xE8, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xE8, 0xF8 + .byte 0x20, 0x63, 0x25, 0x20, 0x60, 0x63, 0xDF, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 + .byte 0x63, 0xF8, 0x00, 0x28, 0x43, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x3D, 0xFB, 0x26, 0x20 + .byte 0x60, 0x63, 0xD1, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x9D, 0xFB, 0x01, 0x28, 0x11, 0xD0, 0x02, 0x28 + .byte 0x35, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xFE, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7 + .byte 0x57, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xC3, 0xF8, 0x20, 0x63, 0x1F, 0x20, 0x60, 0x63 + .byte 0xBA, 0xE0, 0x81, 0x20, 0x20, 0x56, 0x01, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFB + .byte 0xE0, 0x6A, 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x43, 0xF9, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68 + .byte 0xBA, 0xF7, 0xAA, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x20, 0x63, 0x02, 0x20 + .byte 0xDF, 0xF7, 0x8A, 0xFF, 0x27, 0x20, 0x60, 0x63, 0x9E, 0xE0, 0x00, 0x20, 0x86, 0xF1, 0x12, 0xFB + .byte 0x21, 0x20, 0x60, 0x63, 0x98, 0xE0, 0xBC, 0xF7, 0x3F, 0xFE, 0x00, 0x28, 0x00, 0xD1, 0x93, 0xE0 + .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xBC, 0xF8, 0x01, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90 + .byte 0x23, 0x1C, 0x84, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x22, 0x6D, 0x20, 0x1C, 0xFF, 0xF7, 0xCC, 0xFB + .byte 0x22, 0x20, 0x60, 0x63, 0x80, 0xE0, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0xB1, 0xFC, 0x00, 0x28 + .byte 0x7A, 0xD0, 0x60, 0x6A, 0xF4, 0xF7, 0xEA, 0xFE, 0x23, 0x20, 0x60, 0x63, 0x74, 0xE0, 0x20, 0x1C + .byte 0xFF, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x6F, 0xD0, 0x24, 0x20, 0x60, 0x63, 0x6C, 0xE0, 0x20, 0x6B + .byte 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xF0, 0xFF, 0x00, 0x28, 0x65, 0xD0, 0x02, 0x20, 0xDF, 0xF7 + .byte 0x73, 0xFF, 0x00, 0x28, 0x60, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xD4, 0xF9, 0x29, 0x20, 0x60, 0x63 + .byte 0x5A, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xEC, 0xF9, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x84, 0x30 + .byte 0x00, 0x78, 0xFF, 0x28, 0x05, 0xD1, 0x04, 0x20, 0xDF, 0xF7, 0x36, 0xFF, 0x2C, 0x20, 0x60, 0x63 + .byte 0x4A, 0xE0, 0x20, 0x1C, 0x85, 0x30, 0x00, 0x78, 0xFF, 0x28, 0x02, 0xD1, 0x2A, 0x20, 0x60, 0x63 + .byte 0x42, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF2, 0xF9, 0x5D, 0x20, 0xDF, 0xF7, 0x25, 0xFF, 0x02, 0x20 + .byte 0x60, 0x63, 0x39, 0xE0, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21, 0xB9, 0xF7, 0xC9, 0xF8, 0xE1, 0x68 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF8, 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x43, 0x30, 0x01, 0x70 + .byte 0x2B, 0x20, 0x60, 0x63, 0x28, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xAC, 0xFF + .byte 0x00, 0x28, 0x21, 0xD0, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x43, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x3C, 0x28, 0x15, 0xD9, 0x04, 0x20, 0xDF, 0xF7 + .byte 0xFB, 0xFE, 0x2C, 0x20, 0x60, 0x63, 0x0F, 0xE0, 0x04, 0x20, 0xDF, 0xF7, 0x1D, 0xFF, 0x00, 0x28 + .byte 0x0A, 0xD0, 0x20, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xA2, 0x68 + .byte 0x01, 0x1C, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63, 0x00, 0x20, 0x02, 0xB0, 0x38, 0xBD, 0x00, 0x00 + .byte 0x70, 0xB5, 0x05, 0x1C, 0x2C, 0x1C, 0x14, 0x34, 0x20, 0x1C, 0x0E, 0x1C, 0xC7, 0xF7, 0x3C, 0xFC + .byte 0x00, 0x28, 0x0E, 0xD1, 0x68, 0x6A, 0x21, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x02, 0xF0, 0xEC, 0xFE + .byte 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x8C, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x02, 0xF0, 0x0C, 0xFF + .byte 0x02, 0xE0, 0x20, 0x1C, 0x02, 0xF0, 0x2A, 0xFF, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x80, 0xF8 + .byte 0x02, 0x1C, 0x20, 0x1C, 0x31, 0x1C, 0x01, 0x23, 0x02, 0xF0, 0x26, 0xFF, 0x70, 0xBD, 0x00, 0x00 + .byte 0x38, 0xB5, 0x05, 0x1C, 0x14, 0x30, 0x0C, 0x1C, 0xC7, 0xF7, 0x16, 0xFC, 0x00, 0x28, 0x12, 0xD0 + .byte 0x00, 0x2C, 0x08, 0xD0, 0x28, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x59, 0xFC, 0x28, 0x1C + .byte 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFE, 0x28, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFC, 0x28, 0x1C + .byte 0x14, 0x30, 0xC7, 0xF7, 0xEB, 0xFB, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0xFD, 0xFB, 0x00, 0x28 + .byte 0x07, 0xD0, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0x8F, 0xFC, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7 + .byte 0xDD, 0xFB, 0x28, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0xEF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C + .byte 0x64, 0x30, 0xC7, 0xF7, 0x81, 0xFC, 0x64, 0x35, 0x28, 0x1C, 0xC7, 0xF7, 0xCF, 0xFB, 0x38, 0xBD + .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x69, 0x0E, 0x1C, 0x00, 0x28, 0x00, 0xD0, 0x81, 0xE0, 0x0B, 0x20 + .byte 0x8C, 0x21, 0xC5, 0xF7, 0xA1, 0xF8, 0x04, 0x1C, 0x00, 0x21, 0x8C, 0x22, 0x7C, 0xF0, 0x56, 0xED + .byte 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x65, 0x62, 0xA6, 0x60, 0x0B, 0x20, 0xB9, 0xF7 + .byte 0xE7, 0xF8, 0xA0, 0x62, 0x00, 0x20, 0x1A, 0x21, 0x09, 0x22, 0x0B, 0x23, 0xB8, 0xF7, 0xD6, 0xFF + .byte 0xE0, 0x62, 0xC8, 0x20, 0x0B, 0x21, 0xD0, 0xF7, 0x95, 0xF8, 0xE0, 0x60, 0xC8, 0x20, 0x0B, 0x21 + .byte 0xD0, 0xF7, 0x90, 0xF8, 0x20, 0x61, 0x20, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9F, 0xFB, 0x20, 0x1C + .byte 0x54, 0x30, 0xC7, 0xF7, 0x9B, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0x97, 0xFB, 0x0B, 0x20 + .byte 0xC1, 0xF7, 0xCE, 0xFE, 0xA0, 0x67, 0xE1, 0xF7, 0x1D, 0xFE, 0x21, 0x1C, 0x88, 0x31, 0x08, 0x70 + .byte 0x00, 0x21, 0xE1, 0x64, 0xA1, 0x64, 0x20, 0x1C, 0x21, 0x65, 0x89, 0x30, 0x01, 0x70, 0xDF, 0xF7 + .byte 0x3F, 0xFC, 0x21, 0x1C, 0x86, 0x31, 0x08, 0x80, 0x20, 0x1C, 0x86, 0x30, 0x01, 0x88, 0x01, 0x20 + .byte 0x48, 0x40, 0xDC, 0xF7, 0x3F, 0xFB, 0x60, 0x67, 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28 + .byte 0x02, 0xD0, 0x04, 0x28, 0x1B, 0xD0, 0x1D, 0xE0, 0x00, 0xF0, 0x8C, 0xFA, 0x06, 0x1C, 0x0B, 0x20 + .byte 0x31, 0x1C, 0xC5, 0xF7, 0x49, 0xF8, 0xE0, 0x64, 0x0B, 0x20, 0x31, 0x1C, 0xC5, 0xF7, 0x44, 0xF8 + .byte 0xA0, 0x64, 0x0B, 0x20, 0x19, 0xF0, 0xAA, 0xFF, 0x03, 0x21, 0x20, 0x65, 0x19, 0xF0, 0xB6, 0xFF + .byte 0x20, 0x1C, 0x05, 0x21, 0x44, 0x30, 0x01, 0x70, 0x17, 0x20, 0x60, 0x63, 0x0C, 0xE0, 0x09, 0x20 + .byte 0x60, 0x63, 0x09, 0xE0, 0x60, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x09, 0x20 + .byte 0x60, 0x63, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x63, 0x02, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xF4, 0xF7 + .byte 0x1D, 0xFD, 0x70, 0xBD, 0x95, 0x10, 0x05, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x20, 0x6D, 0x00, 0x28 + .byte 0x01, 0xD0, 0xC5, 0xF7, 0x39, 0xF8, 0xE0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x34, 0xF8 + .byte 0xA0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x2F, 0xF8, 0xE0, 0x6A, 0xB8, 0xF7, 0x7C, 0xFF + .byte 0xA0, 0x6A, 0xB9, 0xF7, 0xA9, 0xF8, 0xE0, 0x68, 0xD0, 0xF7, 0x2A, 0xF8, 0x20, 0x69, 0xD0, 0xF7 + .byte 0x27, 0xF8, 0xA0, 0x6F, 0xC1, 0xF7, 0x74, 0xFE, 0x20, 0x1C, 0x01, 0x21, 0xFF, 0xF7, 0x18, 0xFF + .byte 0x10, 0xBD, 0x00, 0x00, 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02 + .byte 0xF8, 0xB5, 0x07, 0x1C, 0x78, 0x6A, 0x0D, 0x1C, 0xC0, 0x68, 0x1A, 0xF0, 0x8F, 0xF8, 0x00, 0x90 + .byte 0xFC, 0x6C, 0x17, 0xF0, 0x5F, 0xFB, 0x06, 0x1C, 0x70, 0x00, 0x30, 0x18, 0x25, 0x50, 0x20, 0x58 + .byte 0x00, 0x28, 0x0F, 0xD0, 0x00, 0x25, 0x79, 0x19, 0x3D, 0x31, 0x09, 0x78, 0x00, 0x98, 0x49, 0x1E + .byte 0x19, 0xF0, 0xC6, 0xFF, 0x21, 0x1C, 0x32, 0x1C, 0x7C, 0xF0, 0xDA, 0xEC, 0x6D, 0x1C, 0xA4, 0x19 + .byte 0x03, 0x2D, 0xF0, 0xDB, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x89, 0x30, 0x01, 0x78 + .byte 0x01, 0x20, 0x01, 0x42, 0x1A, 0xD1, 0xEC, 0x6C, 0x00, 0xF0, 0x04, 0xFA, 0x02, 0x1C, 0x28, 0x1C + .byte 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x04, 0xD1, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x6E, 0xF8 + .byte 0x03, 0xE0, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x07, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x29, 0x1C + .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x35, 0x11, 0x43, 0x29, 0x70, 0x38, 0xBD, 0x00, 0x00 + .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 + .byte 0x10, 0xB5, 0x04, 0x1C, 0x17, 0xF0, 0x16, 0xFB, 0x41, 0x00, 0xA2, 0x6C, 0x40, 0x18, 0x10, 0x58 + .byte 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x06, 0xD1 + .byte 0x21, 0x1C, 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x84, 0xF8, 0x05, 0xE0, 0x21, 0x1C + .byte 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x09, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x21, 0x1C + .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x34, 0x11, 0x43, 0x21, 0x70, 0x10, 0xBD, 0x00, 0x00 + .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 + .byte 0x70, 0xB5, 0x05, 0x1C, 0x17, 0xF0, 0xE6, 0xFA, 0x06, 0x1C, 0x28, 0x6D, 0x03, 0x21, 0x19, 0xF0 + .byte 0xE5, 0xFE, 0x00, 0x24, 0x21, 0x1C, 0xAA, 0x6C, 0x71, 0x43, 0x28, 0x6D, 0x51, 0x18, 0x19, 0xF0 + .byte 0xF7, 0xFE, 0x64, 0x1C, 0x03, 0x2C, 0xF5, 0xDB, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C + .byte 0x17, 0xF0, 0xD0, 0xFA, 0x04, 0x1C, 0x30, 0x1C, 0x84, 0x30, 0x00, 0x78, 0xB2, 0x6C, 0xF3, 0x6C + .byte 0x01, 0x1C, 0x61, 0x43, 0x50, 0x18, 0x31, 0x1C, 0x85, 0x31, 0x09, 0x78, 0x0A, 0x1C, 0x62, 0x43 + .byte 0x99, 0x18, 0x22, 0x1C, 0x7C, 0xF0, 0x4C, 0xEC, 0x30, 0x6D, 0x03, 0x21, 0x19, 0xF0, 0xBE, 0xFE + .byte 0x00, 0x25, 0x29, 0x1C, 0xF2, 0x6C, 0x61, 0x43, 0x30, 0x6D, 0x51, 0x18, 0x19, 0xF0, 0xD0, 0xFE + .byte 0x6D, 0x1C, 0x03, 0x2D, 0xF5, 0xDB, 0x70, 0xBD, 0xF0, 0xB5, 0x89, 0xB0, 0x05, 0x1C, 0x08, 0x90 + .byte 0x54, 0x30, 0x05, 0x91, 0x08, 0x90, 0xC7, 0xF7, 0x67, 0xFA, 0x00, 0x28, 0x5A, 0xD1, 0x41, 0x4A + .byte 0x01, 0x20, 0x1A, 0x21, 0x04, 0x23, 0xB8, 0xF7, 0x71, 0xFE, 0x06, 0x90, 0x17, 0xF0, 0x9A, 0xFA + .byte 0x07, 0x90, 0x09, 0x20, 0x00, 0x90, 0x0A, 0x21, 0x01, 0x91, 0x08, 0x20, 0x02, 0x90, 0x0D, 0x20 + .byte 0x03, 0x90, 0x04, 0x91, 0x68, 0x6A, 0x08, 0x99, 0x80, 0x68, 0x03, 0x22, 0x15, 0x23, 0xC7, 0xF7 + .byte 0x59, 0xFA, 0x00, 0x20, 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68 + .byte 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0x9C, 0xFF, 0x08, 0x98, 0x0F, 0x21, 0xC7, 0xF7, 0x28, 0xFD + .byte 0x00, 0x27, 0x3E, 0x1C, 0x3C, 0x1C, 0xA8, 0x6C, 0x05, 0x21, 0x80, 0x19, 0x00, 0x22, 0x15, 0xF0 + .byte 0xED, 0xFA, 0x01, 0x1C, 0x06, 0x98, 0xEA, 0x68, 0xB8, 0xF7, 0x7A, 0xFE, 0x00, 0x94, 0xFF, 0x20 + .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x08, 0x98, 0xEA, 0x68, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7 + .byte 0xC1, 0xF8, 0x07, 0x98, 0x7F, 0x1C, 0x36, 0x18, 0x10, 0x34, 0x03, 0x2F, 0xE3, 0xDB, 0xE8, 0x6A + .byte 0xEA, 0x68, 0x15, 0x21, 0xB8, 0xF7, 0x64, 0xFE, 0x38, 0x01, 0x00, 0x90, 0xFF, 0x20, 0x01, 0x90 + .byte 0x00, 0x21, 0x02, 0x91, 0x08, 0x98, 0xEA, 0x68, 0x10, 0x23, 0xCA, 0xF7, 0xAB, 0xF8, 0x06, 0x98 + .byte 0xB8, 0xF7, 0x42, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x08, 0x98, 0x00, 0x22, 0x00, 0x7A, 0x0F, 0x21 + .byte 0x13, 0x1C, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x08, 0x98, 0xC7, 0xF7, 0x53, 0xFD, 0x05, 0x9B + .byte 0x29, 0x1C, 0xA8, 0x6F, 0x54, 0x31, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x4D, 0xFD, 0x28, 0x1C + .byte 0x54, 0x30, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBB, 0xF7, 0x1C, 0xF8, 0x29, 0x1C, 0x05, 0x98 + .byte 0x81, 0x31, 0x08, 0x70, 0x28, 0x1C, 0x04, 0x21, 0x80, 0x30, 0x01, 0x70, 0x08, 0x98, 0xE8, 0x67 + .byte 0x09, 0xB0, 0xF0, 0xBD, 0x6A, 0x01, 0x00, 0x00, 0xF8, 0xB5, 0x86, 0xB0, 0x05, 0x1C, 0x2F, 0x1C + .byte 0x64, 0x37, 0x38, 0x1C, 0x05, 0x91, 0xC7, 0xF7, 0xD7, 0xF9, 0x00, 0x28, 0x35, 0xD1, 0x0B, 0x20 + .byte 0x00, 0x90, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x0D, 0x20, 0x03, 0x90, 0x5A, 0x20, 0x04, 0x90 + .byte 0x68, 0x6A, 0x39, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x14, 0x23, 0xC7, 0xF7, 0xD3, 0xF9, 0x00, 0x20 + .byte 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68, 0x01, 0x22, 0x0B, 0x23 + .byte 0xBA, 0xF7, 0x16, 0xFF, 0x38, 0x1C, 0x0F, 0x21, 0xC7, 0xF7, 0xA2, 0xFC, 0x00, 0x26, 0x34, 0x1C + .byte 0x31, 0x1C, 0xE8, 0x6A, 0xEA, 0x68, 0x16, 0x31, 0xB8, 0xF7, 0xFA, 0xFD, 0x00, 0x94, 0xFF, 0x20 + .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0xEA, 0x68, 0x38, 0x1C, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7 + .byte 0x41, 0xF8, 0x76, 0x1C, 0x10, 0x34, 0x03, 0x2E, 0xEA, 0xDB, 0x28, 0x1C, 0x03, 0x21, 0x80, 0x30 + .byte 0x01, 0x70, 0x29, 0x1C, 0x05, 0x98, 0xEF, 0x67, 0x81, 0x31, 0x08, 0x70, 0x10, 0x20, 0x00, 0x90 + .byte 0x38, 0x7A, 0x00, 0x22, 0x0F, 0x21, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x38, 0x1C, 0x13, 0x1C + .byte 0xC7, 0xF7, 0xE0, 0xFC, 0x05, 0x9B, 0xA8, 0x6F, 0xE9, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7 + .byte 0xDB, 0xFC, 0xE8, 0x6F, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0xAB, 0xFF, 0x06, 0xB0 + .byte 0xF8, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x30, 0x48, 0x40, 0x21, 0x80, 0x6C + .byte 0x01, 0x42, 0x0C, 0xD0, 0x81, 0x20, 0x20, 0x56, 0x00, 0x28, 0x03, 0xD1, 0x20, 0x1C, 0x80, 0x30 + .byte 0x00, 0x78, 0xFF, 0xE7, 0x41, 0x1E, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70, 0x30, 0xE0, 0x80, 0x21 + .byte 0x01, 0x42, 0x0E, 0xD0, 0x81, 0x20, 0x21, 0x56, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x78, 0x40, 0x1E + .byte 0x81, 0x42, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x49, 0x1C, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70 + .byte 0x1E, 0xE0, 0x01, 0x21, 0x01, 0x42, 0x0F, 0xD0, 0x1D, 0x48, 0xB3, 0xF7, 0x8D, 0xFB, 0x81, 0x20 + .byte 0x21, 0x56, 0x80, 0x34, 0x20, 0x78, 0x40, 0x1E, 0x81, 0x42, 0x02, 0xDA, 0x02, 0xB0, 0x01, 0x20 + .byte 0x10, 0xBD, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x14, 0x48 + .byte 0xB3, 0xF7, 0x7A, 0xFB, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0xB0, 0x00, 0x20, 0x10, 0xBD + .byte 0x0F, 0x48, 0xB3, 0xF7, 0x71, 0xFB, 0xE0, 0x6F, 0x10, 0x21, 0x00, 0x91, 0x01, 0x7A, 0x00, 0x22 + .byte 0x13, 0x1C, 0xC9, 0x04, 0x09, 0x0C, 0x01, 0x91, 0x0F, 0x21, 0xC7, 0xF7, 0x7B, 0xFC, 0x81, 0x23 + .byte 0xE3, 0x56, 0xA0, 0x6F, 0xE1, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x75, 0xFC, 0xE0, 0x6F + .byte 0xC7, 0xF7, 0x9A, 0xFB, 0x00, 0x20, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46, 0xB8, 0x48, 0x1C, 0x02 + .byte 0xDC, 0x05, 0x00, 0x00, 0x01, 0x4B, 0xC0, 0x6F, 0x01, 0x21, 0x18, 0x47, 0xF9, 0xCC, 0x00, 0x02 + .byte 0x10, 0xB5, 0x04, 0x1C, 0x18, 0x1C, 0xFF, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x86, 0x31, 0x09, 0x88 + .byte 0xA1, 0x42, 0x06, 0xD0, 0x01, 0x1C, 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43 + .byte 0x01, 0x70, 0x10, 0xBD, 0x08, 0xB5, 0x17, 0xF0, 0x35, 0xF9, 0x41, 0x00, 0x40, 0x18, 0x00, 0x1D + .byte 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C + .byte 0x86, 0x31, 0x09, 0x88, 0xA1, 0x42, 0x01, 0xD0, 0x80, 0x6C, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD + .byte 0x38, 0xB5, 0x05, 0x1C, 0x18, 0x1C, 0x14, 0x1C, 0xFF, 0xF7, 0xAC, 0xFD, 0x01, 0x1C, 0x86, 0x31 + .byte 0x09, 0x88, 0xA9, 0x42, 0x0A, 0xD0, 0x22, 0x78, 0x01, 0x1C, 0x85, 0x31, 0x0A, 0x70, 0x01, 0x1C + .byte 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43, 0x01, 0x70, 0x38, 0xBD, 0x00, 0x00 + .byte 0x70, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x38, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x36, 0xFB + .byte 0x04, 0x1C, 0x00, 0x21, 0x60, 0x6A, 0x0A, 0x1C, 0xFE, 0xF7, 0x96, 0xFE, 0x06, 0x1C, 0xA0, 0x6A + .byte 0x07, 0x28, 0x00, 0xD9, 0xAF, 0xE0, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14 + .byte 0x87, 0x44, 0x0E, 0x00, 0x98, 0x00, 0xE8, 0x00, 0xF8, 0x00, 0x08, 0x01, 0x1A, 0x01, 0x28, 0x01 + .byte 0x44, 0x01, 0x04, 0x20, 0xB8, 0xF7, 0xC4, 0xFD, 0xA0, 0x61, 0x00, 0x20, 0x1A, 0x21, 0x09, 0x22 + .byte 0x04, 0x23, 0xB8, 0xF7, 0xB3, 0xFC, 0xE0, 0x61, 0xC8, 0x20, 0x04, 0x21, 0xCF, 0xF7, 0x72, 0xFD + .byte 0x20, 0x60, 0xC8, 0x20, 0x04, 0x21, 0xCF, 0xF7, 0x6D, 0xFD, 0x60, 0x60, 0xF1, 0x78, 0xE0, 0x69 + .byte 0x22, 0x68, 0x89, 0x1C, 0xB8, 0xF7, 0xDC, 0xFC, 0x60, 0x6A, 0xDC, 0xF7, 0x3B, 0xF8, 0x02, 0x1C + .byte 0xA0, 0x69, 0x00, 0x21, 0xB8, 0xF7, 0x44, 0xFE, 0xA0, 0x69, 0x61, 0x68, 0x22, 0x68, 0xB9, 0xF7 + .byte 0x3B, 0xFC, 0x21, 0x1C, 0xA8, 0x68, 0x08, 0x31, 0x03, 0x22, 0x02, 0xF0, 0x35, 0xFB, 0xE8, 0x68 + .byte 0xD1, 0xF7, 0xD6, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x08, 0x30, 0x02, 0xF0, 0x55, 0xFB, 0xE8, 0x68 + .byte 0xD1, 0xF7, 0xCE, 0xFC, 0x02, 0x1C, 0x20, 0x1C, 0x61, 0x68, 0x08, 0x30, 0x01, 0x23, 0x02, 0xF0 + .byte 0x73, 0xFB, 0x20, 0x62, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x5E, 0xE0, 0x20, 0x6A, 0x00, 0x06 + .byte 0x00, 0x0E, 0x02, 0xF0, 0xA1, 0xFB, 0x00, 0x28, 0x57, 0xD0, 0x2D, 0x48, 0x81, 0x6C, 0x01, 0x20 + .byte 0x08, 0x42, 0x52, 0xD0, 0xE0, 0x69, 0xB8, 0xF7, 0x8F, 0xFC, 0xA0, 0x69, 0xB8, 0xF7, 0xBC, 0xFD + .byte 0x20, 0x68, 0xCF, 0xF7, 0x3D, 0xFD, 0x60, 0x68, 0xCF, 0xF7, 0x3A, 0xFD, 0x20, 0x1C, 0x08, 0x30 + .byte 0x00, 0x21, 0xBB, 0xF7, 0x95, 0xF8, 0x20, 0x1C, 0x08, 0x30, 0xC7, 0xF7, 0xDD, 0xF8, 0x00, 0x20 + .byte 0x85, 0xF1, 0x70, 0xFE, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x36, 0xE0, 0xBC, 0xF7, 0x9C, 0xF9 + .byte 0x00, 0x28, 0x32, 0xD0, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x2E, 0xE0, 0x28, 0x1C, 0x31, 0x1C + .byte 0xE6, 0xF7, 0x4E, 0xFB, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x26, 0xE0, 0x28, 0x1C, 0xF4, 0xF7 + .byte 0x45, 0xFA, 0x00, 0x28, 0x21, 0xD1, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x1D, 0xE0, 0x28, 0x1C + .byte 0xF4, 0xF7, 0x4C, 0xFA, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x16, 0xE0, 0x28, 0x1C, 0xF4, 0xF7 + .byte 0x49, 0xFA, 0x00, 0x28, 0x11, 0xD1, 0x01, 0x20, 0x85, 0xF1, 0x44, 0xFE, 0xFA, 0xF7, 0x3E, 0xFE + .byte 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x08, 0xE0, 0xFD, 0xF7, 0xE8, 0xFB, 0x20, 0x1C, 0xC4, 0xF7 + .byte 0xF3, 0xFC, 0x01, 0x20, 0x70, 0xBD, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0xC0, 0x46 + .byte 0xB8, 0x48, 0x1C, 0x02, 0xF8, 0xB5, 0x00, 0x90, 0xDF, 0xF7, 0xA2, 0xF8, 0x05, 0x1C, 0xFC, 0xF7 + .byte 0x41, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xFC, 0xF7, 0x59, 0xFA, 0x06, 0x1C, 0x00, 0x24, 0xDE, 0xF7 + .byte 0x5F, 0xFF, 0x00, 0x28, 0x1F, 0xDD, 0xAC, 0x42, 0x18, 0xD0, 0x20, 0x1C, 0xFC, 0xF7, 0xBE, 0xF9 + .byte 0x87, 0x42, 0x13, 0xD1, 0x20, 0x1C, 0xFC, 0xF7, 0xE3, 0xF9, 0x86, 0x42, 0x0E, 0xD1, 0x0B, 0x20 + .byte 0x2C, 0x21, 0xC4, 0xF7, 0xA9, 0xFC, 0x02, 0x1C, 0x54, 0x62, 0x00, 0x20, 0x90, 0x62, 0x00, 0x98 + .byte 0x05, 0x49, 0xF4, 0xF7, 0x9B, 0xF9, 0xE5, 0xF7, 0x63, 0xFB, 0xF8, 0xBD, 0x64, 0x1C, 0xDE, 0xF7 + .byte 0x3F, 0xFF, 0x84, 0x42, 0xDF, 0xDB, 0xF8, 0xBD, 0xB1, 0x1E, 0x05, 0x02 + + thumb_func_start sub_020520AC +sub_020520AC: ; 0x020520AC + push {r3-r5, lr} + add r4, r0, #0x0 + bne _020520B6 + bl sub_02020C2C +_020520B6: + ldr r0, [r4, #0x78] + cmp r0, #0x0 + beq _020520C0 + mov r0, #0x0 + pop {r3-r5, pc} +_020520C0: + mov r2, #0x2a + mov r0, #0x3 + mov r1, #0x1f + lsl r2, r2, #0x6 + bl sub_02016828 + add r0, r4, #0x0 + bl sub_02052110 + add r5, r0, #0x0 + bne _020520D8 + ldr r5, [r4, #0x78] +_020520D8: + add r0, r4, #0x0 + bl sub_0208881C + mov r0, #0x2 + bl sub_02032B6C + ldr r1, _020520F4 ; =sub_02052178 + add r0, r5, #0x0 + mov r2, #0x28 + bl sub_02052300 + add r0, r5, #0x0 + pop {r3-r5, pc} + nop +_020520F4: .word sub_02052178 + 1 + + thumb_func_start sub_020520F8 +sub_020520F8: ; 0x020520F8 + push {r3, lr} + ldr r0, [r0, #0x78] + cmp r0, #0x0 + beq _02052108 + ldr r1, _0205210C ; =sub_02052348 + mov r2, #0x5 + bl sub_02052300 +_02052108: + pop {r3, pc} + nop +_0205210C: .word sub_02052348 + 1 + + thumb_func_start sub_02052110 +sub_02052110: ; 0x02052110 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x78] + cmp r1, #0x0 + beq _0205211E + mov r0, #0x0 + pop {r4-r6, pc} +_0205211E: + bl sub_020377AC + add r6, r0, #0x0 + bl sub_02031A7C + mov r1, #0x19 + mov r0, #0x1f + lsl r1, r1, #0x4 + bl sub_02016998 + mov r2, #0x19 + mov r1, #0x0 + lsl r2, r2, #0x4 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x0 + str r0, [r4, #0x10] + mov r0, #0x28 + str r0, [r4, #0x14] + ldr r0, _02052174 ; =sub_02052308 + add r1, r4, #0x0 + mov r2, #0xa + bl sub_0200CA44 + str r0, [r4, #0xc] + str r5, [r4, #0x0] + str r6, [r4, #0x4] + add r0, r6, #0x0 + bl sub_020238F4 + str r0, [r4, #0x8] + add r0, r4, #0x0 + bl sub_02052E1C + mov r0, #0x15 + lsl r0, r0, #0x4 + add r0, r4, r0 + bl sub_020312BC + add r0, r4, #0x0 + pop {r4-r6, pc} + nop +_02052174: .word sub_02052308 + 1 + + thumb_func_start sub_02052178 +sub_02052178: ; 0x02052178 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_0202EDF8 + cmp r0, #0x0 + beq _020521A4 + add r0, sp, #0x0 + bl sub_02013754 + add r0, sp, #0x0 + bl sub_02052DE8 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02052CD8 + ldr r1, _020521A8 ; =sub_020521AC + add r0, r4, #0x0 + mov r2, #0x28 + bl sub_02052300 +_020521A4: + add sp, #0x8 + pop {r4, pc} + .balign 4 +_020521A8: .word sub_020521AC + 1 + + thumb_func_start sub_020521AC +sub_020521AC: ; 0x020521AC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031B2C + cmp r0, #0x0 + beq _020521C8 + ldr r0, _02052208 ; =0x021C5A70 + mov r2, #0x0 + str r2, [r0, #0x0] + ldr r1, _0205220C ; =sub_0205225C + add r0, r4, #0x0 + bl sub_02052300 + pop {r4, pc} +_020521C8: + ldr r0, [r4, #0x20] + cmp r0, #0x0 + beq _02052206 + mov r0, #0x2 + str r0, [r4, #0x28] + ldr r0, [r4, #0x20] + cmp r0, #0x1 + bne _020521EC + ldr r0, [r4, #0x30] + cmp r0, #0x5 + ldr r0, [r4, #0x18] + bne _020521E6 + bl sub_020328F4 + b _020521FC +_020521E6: + bl sub_02031AC8 + b _020521FC +_020521EC: + cmp r0, #0x2 + bne _020521FC + mov r0, #0x0 + bl sub_02083D48 + ldr r0, [r4, #0x18] + bl sub_020328C0 +_020521FC: + ldr r1, _02052210 ; =sub_02052380 + add r0, r4, #0x0 + mov r2, #0xc + bl sub_02052300 +_02052206: + pop {r4, pc} + .balign 4 +_02052208: .word 0x021C5A70 +_0205220C: .word sub_0205225C + 1 +_02052210: .word sub_02052380 + 1 + + thumb_func_start sub_02052214 +sub_02052214: ; 0x02052214 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031BD0 + cmp r0, #0x1 + bne _02052230 + ldr r0, [r4, #0x0] + bl sub_0208881C + ldr r1, _02052234 ; =sub_020521AC + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 +_02052230: + pop {r4, pc} + nop +_02052234: .word sub_020521AC + 1 + + thumb_func_start sub_02052238 +sub_02052238: ; 0x02052238 + push {r3-r5, lr} + mov r5, #0x0 + mov r4, #0x1 +_0205223E: + add r0, r4, #0x0 + bl sub_0202DFA4 + cmp r0, #0x0 + beq _0205224A + add r5, r5, #0x1 +_0205224A: + add r4, r4, #0x1 + cmp r4, #0x5 + blt _0205223E + cmp r5, #0x1 + blt _02052258 + mov r0, #0x1 + pop {r3-r5, pc} +_02052258: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205225C +sub_0205225C: ; 0x0205225C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + ble _0205226C + sub r0, r0, #0x1 + str r0, [r4, #0x14] + pop {r4, pc} +_0205226C: + ldr r0, _020522C4 ; =0x021C5A70 + ldr r1, [r0, #0x0] + add r1, r1, #0x1 + str r1, [r0, #0x0] + bl sub_020311E8 + cmp r0, #0x0 + beq _020522A0 + bl sub_02052238 + cmp r0, #0x1 + bne _020522A0 + bl sub_0202DBE0 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020334E8 + mov r0, #0xb + bl sub_02052B74 + ldr r1, _020522C8 ; =sub_020522D0 + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_02052300 +_020522A0: + bl sub_02031B2C + cmp r0, #0x0 + bne _020522C2 + bl sub_02031B50 + add r0, r4, #0x0 + bl sub_02052E1C + mov r0, #0x0 + bl sub_02052B74 + ldr r1, _020522CC ; =sub_02052214 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 +_020522C2: + pop {r4, pc} + .balign 4 +_020522C4: .word 0x021C5A70 +_020522C8: .word sub_020522D0 + 1 +_020522CC: .word sub_02052214 + 1 + + thumb_func_start sub_020522D0 +sub_020522D0: ; 0x020522D0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020311E8 + bl sub_020311E8 + cmp r0, #0x0 + bne _020522FA + bl sub_02031B50 + add r0, r4, #0x0 + bl sub_02052E1C + mov r0, #0x0 + bl sub_02052B74 + ldr r1, _020522FC ; =sub_02052214 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 +_020522FA: + pop {r4, pc} + .balign 4 +_020522FC: .word sub_02052214 + 1 + + thumb_func_start sub_02052300 +sub_02052300: ; 0x02052300 + str r1, [r0, #0x10] + str r2, [r0, #0x14] + bx lr + .balign 4 + + thumb_func_start sub_02052308 +sub_02052308: ; 0x02052308 + push {r3-r7, lr} + str r1, [sp, #0x0] + cmp r1, #0x0 + bne _02052316 + bl sub_0200CAB4 + pop {r3-r7, pc} +_02052316: + mov r7, #0x11 + ldr r5, _02052344 ; =0x021C5A7C + mov r6, #0x0 + add r4, r1, #0x0 + lsl r7, r7, #0x4 +_02052320: + add r0, r6, #0x0 + bl sub_0202EF18 + mov r1, #0x11 + lsl r1, r1, #0x4 + str r0, [r4, r1] + ldr r0, [r4, r7] + add r6, r6, #0x1 + add r4, r4, #0x4 + stmia r5!, {r0} + cmp r6, #0x10 + blt _02052320 + ldr r0, [sp, #0x0] + ldr r1, [r0, #0x10] + cmp r1, #0x0 + beq _02052342 + blx r1 +_02052342: + pop {r3-r7, pc} + .balign 4 +_02052344: .word 0x021C5A7C + + thumb_func_start sub_02052348 +sub_02052348: ; 0x02052348 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + beq _02052358 + sub r0, r0, #0x1 + str r0, [r4, #0x14] + pop {r4, pc} +_02052358: + bl sub_02031BF4 + ldr r1, _02052368 ; =sub_0205236C + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_02052300 + pop {r4, pc} + .balign 4 +_02052368: .word sub_0205236C + 1 + + thumb_func_start sub_0205236C +sub_0205236C: ; 0x0205236C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _0205237E + add r0, r4, #0x0 + bl sub_020524A0 +_0205237E: + pop {r4, pc} + + thumb_func_start sub_02052380 +sub_02052380: ; 0x02052380 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031AF4 + cmp r0, #0x1 + bne _0205239C + bl sub_0202DBE0 + ldr r1, _020523D4 ; =sub_02052410 + add r0, r4, #0x0 + mov r2, #0x3 + bl sub_02052300 + pop {r4, pc} +_0205239C: + bl sub_020311E8 + cmp r0, #0x0 + beq _020523B4 + mov r2, #0x0 + str r2, [r4, #0x20] + mov r0, #0x3 + str r0, [r4, #0x1c] + ldr r1, _020523D8 ; =sub_0205225C + add r0, r4, #0x0 + bl sub_02052300 +_020523B4: + bl sub_02031AF4 + cmp r0, #0x0 + beq _020523D2 + ldr r1, _020523DC ; =sub_020523E0 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 + mov r1, #0x0 + str r1, [r4, #0x24] + mov r0, #0x2 + str r0, [r4, #0x1c] + str r1, [r4, #0x20] + str r1, [r4, #0x44] +_020523D2: + pop {r4, pc} + .balign 4 +_020523D4: .word sub_02052410 + 1 +_020523D8: .word sub_0205225C + 1 +_020523DC: .word sub_020523E0 + 1 + + thumb_func_start sub_020523E0 +sub_020523E0: ; 0x020523E0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204646C + cmp r0, #0x0 + bne _02052408 + bl sub_02031B50 + add r0, r4, #0x0 + bl sub_02052E1C + mov r0, #0x0 + bl sub_02052B74 + ldr r1, _0205240C ; =sub_02052214 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 +_02052408: + pop {r4, pc} + nop +_0205240C: .word sub_02052214 + 1 + + thumb_func_start sub_02052410 +sub_02052410: ; 0x02052410 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031AF4 + cmp r0, #0x1 + bne _02052444 + bl sub_02031190 + bl sub_0202DFA4 + cmp r0, #0x0 + beq _0205246C + mov r1, #0x0 + str r1, [r4, #0x20] + mov r0, #0x1 + str r0, [r4, #0x1c] + str r1, [r4, #0x44] + add r1, r0, #0x0 + bl sub_020334E8 + ldr r1, _02052470 ; =sub_02052478 + add r0, r4, #0x0 + mov r2, #0x3 + bl sub_02052300 + pop {r4, pc} +_02052444: + bl sub_02031AF4 + cmp r0, #0x0 + bne _0205246C + bl sub_02031B50 + add r0, r4, #0x0 + bl sub_02052E1C + ldr r1, _02052474 ; =sub_02052214 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 + mov r1, #0x0 + str r1, [r4, #0x24] + mov r0, #0x2 + str r0, [r4, #0x1c] + str r1, [r4, #0x20] + str r1, [r4, #0x44] +_0205246C: + pop {r4, pc} + nop +_02052470: .word sub_02052478 + 1 +_02052474: .word sub_02052214 + 1 + + thumb_func_start sub_02052478 +sub_02052478: ; 0x02052478 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031AF4 + cmp r0, #0x0 + bne _02052498 + bl sub_02031B50 + add r0, r4, #0x0 + bl sub_02052E1C + ldr r1, _0205249C ; =sub_02052214 + add r0, r4, #0x0 + mov r2, #0x2 + bl sub_02052300 +_02052498: + pop {r4, pc} + nop +_0205249C: .word sub_02052214 + 1 + + thumb_func_start sub_020524A0 +sub_020524A0: ; 0x020524A0 + push {r4, lr} + add r4, r0, #0x0 + beq _020524B8 + ldr r0, [r4, #0xc] + bl sub_0200CAB4 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1f + bl sub_020168D0 +_020524B8: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020524BC +sub_020524BC: ; 0x020524BC + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_020524C0 +sub_020524C0: ; 0x020524C0 + lsl r1, r1, #0x2 + add r1, r0, r1 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + bx lr + + thumb_func_start sub_020524CC +sub_020524CC: ; 0x020524CC + push {r4-r6, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + sub r0, r5, #0x1 + bl sub_0202EF84 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02052E10 + cmp r6, #0x0 + bne _020524E8 + mov r0, #0x5 + pop {r4-r6, pc} +_020524E8: + sub r0, r5, #0x1 + lsl r0, r0, #0x2 + add r1, r4, r0 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r1, [r1, r0] + ldr r0, _02052540 ; =0x021C5A70 + add r1, #0x50 + add r1, #0x30 + str r1, [r0, #0x4] + ldrb r0, [r1, #0x1c] + cmp r0, #0xb + bhi _0205253A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r6, r4, #0 + lsl r6, r4, #0 + lsl r6, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r2, r5, #0 + lsl r6, r4, #0 + mov r0, #0x1 + pop {r4-r6, pc} +_0205252A: + .byte 0x02, 0x20, 0x70, 0xBD, 0x03, 0x20 + .byte 0x70, 0xBD, 0x04, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD +_0205253A: + mov r0, #0x5 + pop {r4-r6, pc} + nop +_02052540: .word 0x021C5A70 + + thumb_func_start sub_02052544 +sub_02052544: ; 0x02052544 + push {r4-r6, lr} + add r6, r1, #0x0 + add r4, r0, #0x0 + sub r0, r6, #0x1 + add r5, r2, #0x0 + bl sub_0202EF84 + sub r0, r6, #0x1 + lsl r1, r0, #0x2 + add r2, r4, r1 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r2, [r2, r1] + ldr r1, _02052600 ; =0x021C5A70 + add r2, #0x50 + add r2, #0x30 + str r2, [r1, #0x4] + ldrb r1, [r2, #0x1c] + cmp r1, #0xb + bhi _020525F8 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0x1 + lsl r2, r4, #0x1 + lsl r2, r6, #0 + lsl r6, r2, #0 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r6, r7, #0x1 + lsl r6, r7, #0x1 + lsl r2, r7, #0x1 + cmp r5, #0x4 + beq _02052598 + mov r0, #0x5 + pop {r4-r6, pc} +_02052598: + mov r1, #0x6 + str r1, [r4, #0x30] + str r0, [r4, #0x18] + mov r0, #0x2 + str r0, [r4, #0x20] + mov r0, #0x0 + str r0, [r4, #0x24] + str r0, [r4, #0x1c] + mov r0, #0x1 + pop {r4-r6, pc} +_020525AC: + .byte 0x03, 0x2D, 0x01, 0xD0 + .byte 0x05, 0x20, 0x70, 0xBD, 0x05, 0x21, 0x21, 0x63, 0xA0, 0x61, 0x01, 0x20, 0x20, 0x62, 0x00, 0x21 + .byte 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x01, 0x2D, 0x01, 0xD0, 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61 + .byte 0x01, 0x20, 0x20, 0x62, 0x00, 0x21, 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x02, 0x2D, 0x01, 0xD0 + .byte 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61, 0x02, 0x20, 0x20, 0x62, 0x00, 0x20, 0x60, 0x62, 0xE0, 0x61 + .byte 0x01, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD +_020525F8: + bl sub_02020C2C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_02052600: .word 0x021C5A70 + + thumb_func_start sub_02052604 +sub_02052604: ; 0x02052604 + ldr r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_02052608 +sub_02052608: ; 0x02052608 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x44] + cmp r0, #0x0 + beq _02052616 + mov r0, #0x7 + pop {r4, pc} +_02052616: + bl sub_02030F20 + cmp r0, #0x2 + bge _02052622 + mov r0, #0x7 + pop {r4, pc} +_02052622: + bl sub_02031190 + cmp r0, #0x0 + bne _02052636 + bl sub_02031B2C + cmp r0, #0x1 + bne _02052642 + ldr r0, [r4, #0x40] + pop {r4, pc} +_02052636: + bl sub_02031AF4 + cmp r0, #0x1 + bne _02052642 + ldr r0, [r4, #0x40] + pop {r4, pc} +_02052642: + mov r0, #0x7 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02052648 +sub_02052648: ; 0x02052648 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031B2C + cmp r0, #0x1 + bne _02052658 + ldr r0, [r4, #0x30] + pop {r4, pc} +_02052658: + mov r0, #0x7 + pop {r4, pc} + + thumb_func_start sub_0205265C +sub_0205265C: ; 0x0205265C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + add r0, sp, #0x0 + strb r4, [r0, #0x2] + cmp r1, #0x0 + beq _02052670 + cmp r1, #0x1 + beq _02052688 + pop {r3-r5, pc} +_02052670: + ldr r1, [r5, #0x44] + cmp r1, #0x0 + bne _020526B0 + ldrb r0, [r0, #0x2] + add r1, sp, #0x0 + add r1, #0x2 + str r0, [r5, #0x34] + mov r0, #0x63 + mov r2, #0x1 + bl sub_02030ADC + pop {r3-r5, pc} +_02052688: + cmp r4, #0x0 + bne _020526A0 + ldr r1, [r5, #0x30] + mov r2, #0x1 + strb r1, [r0, #0x1] + add r1, sp, #0x0 + mov r0, #0x67 + add r1, #0x1 + bl sub_02030BC4 + str r4, [r5, #0x3c] + pop {r3-r5, pc} +_020526A0: + mov r1, #0x7 + strb r1, [r0, #0x0] + mov r0, #0x67 + add r1, sp, #0x0 + mov r2, #0x1 + bl sub_02030BC4 + str r4, [r5, #0x3c] +_020526B0: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020526B4 +sub_020526B4: ; 0x020526B4 + bx lr + .balign 4 + + thumb_func_start sub_020526B8 +sub_020526B8: ; 0x020526B8 + bx lr + .balign 4 + + thumb_func_start sub_020526BC +sub_020526BC: ; 0x020526BC + push {r4, lr} + add r4, r3, #0x0 + ldr r0, [r4, #0x78] + ldr r1, _020526D4 ; =sub_020521AC + mov r2, #0x2 + bl sub_02052300 + ldr r0, [r4, #0x78] + bl sub_02052E1C + pop {r4, pc} + nop +_020526D4: .word sub_020521AC + 1 + + thumb_func_start sub_020526D8 +sub_020526D8: ; 0x020526D8 + ldr r1, [r3, #0x78] + ldr r0, [r1, #0x44] + cmp r0, #0x0 + bne _020526EA + ldrb r0, [r2, #0x0] + str r0, [r1, #0x30] + ldrb r1, [r2, #0x0] + ldr r0, _020526EC ; =0x021C5A70 + str r1, [r0, #0x8] +_020526EA: + bx lr + .balign 4 +_020526EC: .word 0x021C5A70 + + thumb_func_start sub_020526F0 +sub_020526F0: ; 0x020526F0 + push {r3, lr} + ldr r0, [r3, #0x78] + mov r1, #0x1 + str r1, [r0, #0x2c] + ldrb r1, [r2, #0x0] + ldr r0, [r3, #0x78] + str r1, [r0, #0x40] + ldrb r0, [r2, #0x0] + cmp r0, #0x4 + bne _02052708 + bl sub_02032888 +_02052708: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205270C +sub_0205270C: ; 0x0205270C + ldr r0, [r3, #0x78] + mov r1, #0x1 + str r1, [r0, #0x44] + bx lr + + thumb_func_start sub_02052714 +sub_02052714: ; 0x02052714 + ldr r0, [r0, #0x44] + bx lr + + thumb_func_start sub_02052718 +sub_02052718: ; 0x02052718 + push {r4, lr} + ldr r0, [r0, #0x30] + add r4, r1, #0x0 + cmp r0, #0x0 + bne _02052730 + mov r1, #0x0 + mov r0, #0x68 + add r2, r1, #0x0 + bl sub_02030ADC + add r0, r4, #0x0 + pop {r4, pc} +_02052730: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02052734 +sub_02052734: ; 0x02052734 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + bl sub_02031190 + mov r1, #0x1 + eor r0, r1 + bl sub_0202DFA4 + add r7, r0, #0x0 + ldr r0, _02052784 ; =0x0000066A + mov r1, #0x1 + strh r1, [r6, r0] + bl sub_02031190 + cmp r5, r0 + beq _02052780 + add r0, r7, #0x0 + bl sub_0202398C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_020239CC + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + mov r2, #0x1f + bl sub_0202942C + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x4 + bl sub_02028AD4 +_02052780: + pop {r3-r7, pc} + nop +_02052784: .word 0x0000066A + + thumb_func_start sub_02052788 +sub_02052788: ; 0x02052788 + ldr r1, [r1, #0x78] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02052798 +sub_02052798: ; 0x02052798 + ldr r1, [r3, #0x78] + ldrb r2, [r2, #0x0] + add r1, r1, r0 + ldr r0, _020527A4 ; =0x00000176 + strb r2, [r1, r0] + bx lr + .balign 4 +_020527A4: .word 0x00000176 + + thumb_func_start sub_020527A8 +sub_020527A8: ; 0x020527A8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02031190 + ldr r2, _020527D4 ; =0x00000176 + add r1, r4, r0 + ldrb r1, [r1, r2] + cmp r1, #0x2 + bne _020527BE + mov r0, #0x1 + pop {r4, pc} +_020527BE: + mov r1, #0x1 + eor r0, r1 + add r0, r4, r0 + ldrb r0, [r0, r2] + cmp r0, #0x2 + bne _020527CE + mov r0, #0x2 + pop {r4, pc} +_020527CE: + mov r0, #0x0 + pop {r4, pc} + nop +_020527D4: .word 0x00000176 + + thumb_func_start sub_020527D8 +sub_020527D8: ; 0x020527D8 + push {r3, lr} + add r1, sp, #0x0 + strb r0, [r1, #0x0] + mov r0, #0x65 + add r1, sp, #0x0 + mov r2, #0x1 + bl sub_02030ADC + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020527EC +sub_020527EC: ; 0x020527EC + ldr r3, _02052810 ; =0x020F58D4 + mov r2, #0x0 +_020527F0: + ldrh r1, [r3, #0x0] + cmp r1, r0 + bgt _02052800 + add r1, r1, #0x4 + cmp r1, r0 + ble _02052800 + add r0, r2, #0x0 + bx lr +_02052800: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0xa + blt _020527F0 + mov r0, #0x0 + mvn r0, r0 + bx lr + nop +_02052810: .word 0x020F58D4 + + thumb_func_start sub_02052814 +sub_02052814: ; 0x02052814 + push {r4-r6, lr} + add r4, r1, #0x0 + add r6, r0, #0x0 + cmp r4, #0x9 + ble _02052834 + add r0, r4, #0x0 + bl sub_020527EC + add r5, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _02052836 + bl sub_02020C2C + b _02052836 +_02052834: + add r5, r4, #0x0 +_02052836: + add r0, r5, #0x0 + bl sub_0202EF84 + lsl r1, r5, #0x2 + add r2, r6, r1 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r5, [r2, r1] + add r5, #0x50 + add r5, #0x30 + cmp r0, #0x0 + bne _02052852 + mov r0, #0x28 + pop {r4-r6, pc} +_02052852: + cmp r4, #0x9 + ble _0205286C + sub r4, #0xa + lsr r2, r4, #0x1f + lsl r1, r4, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + add r0, r5, r0 + ldrb r0, [r0, #0x18] + asr r4, r0, #0x7 + b _02052872 +_0205286C: + bl sub_020239CC + add r4, r0, #0x0 +_02052872: + ldrb r0, [r5, #0x1c] + cmp r0, #0xb + bhi _0205294C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0x3 + lsl r2, r6, #0x1 + lsl r6, r1, #0x2 + lsl r2, r5, #0x2 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r2, r7, #0 + lsl r6, r2, #0x1 + lsl r2, r6, #0x1 + lsl r6, r1, #0x2 + lsl r2, r5, #0x2 + lsl r6, r2, #0 + ldr r0, _02052950 ; =0x020F5894 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} +_020528A4: + .byte 0xC9, 0xF7, 0xA2, 0xF8, 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20 + .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x27, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD + .byte 0xC9, 0xF7, 0x94, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18 + .byte 0xC2, 0x00, 0x21, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x86, 0xF8 + .byte 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x1B, 0x48 + .byte 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x78, 0xF8, 0xC2, 0x0F, 0x81, 0x07 + .byte 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x15, 0x48, 0xA1, 0x00, 0x80, 0x18 + .byte 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x6A, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20 + .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x0F, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD + .byte 0xC9, 0xF7, 0x5C, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18 + .byte 0xC2, 0x00, 0x09, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD +_0205294C: + mov r0, #0x28 + pop {r4-r6, pc} + .balign 4 +_02052950: .word 0x020F5894 +_02052954: + .byte 0xC4, 0x58, 0x0F, 0x02, 0x84, 0x59, 0x0F, 0x02, 0xB4, 0x58, 0x0F, 0x02 + .byte 0x64, 0x59, 0x0F, 0x02, 0xA4, 0x59, 0x0F, 0x02, 0xC4, 0x59, 0x0F, 0x02 + + thumb_func_start sub_0205296C +sub_0205296C: ; 0x0205296C + push {r3-r7, lr} + str r0, [sp, #0x0] + bl sub_02031190 + bl sub_0202E020 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + bl sub_02031190 + mov r1, #0x1 + eor r0, r1 + bl sub_0202E020 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + bl sub_02031190 + bl sub_0202E044 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + bl sub_02031190 + mov r1, #0x1 + eor r0, r1 + bl sub_0202E044 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r4, #0x0 + bne _020529B0 + mov r0, #0xf + pop {r3-r7, pc} +_020529B0: + beq _020529CC + ldr r0, [sp, #0x0] + mov r1, #0x3 + add r2, r4, #0x0 + bl sub_0200B4A0 + cmp r5, #0x0 + beq _020529CC + ldr r0, [sp, #0x0] + mov r1, #0x4 + add r2, r4, #0x0 + add r3, r5, #0x0 + bl sub_0200B4D8 +_020529CC: + cmp r7, r4 + beq _020529E4 + cmp r5, #0x0 + bne _020529D8 + mov r0, #0xd + pop {r3-r7, pc} +_020529D8: + cmp r6, r5 + bne _020529E0 + mov r0, #0xd + pop {r3-r7, pc} +_020529E0: + mov r0, #0xc + pop {r3-r7, pc} +_020529E4: + cmp r6, r5 + beq _020529EC + mov r0, #0xe + pop {r3-r7, pc} +_020529EC: + mov r0, #0xf + pop {r3-r7, pc} + + thumb_func_start sub_020529F0 +sub_020529F0: ; 0x020529F0 + push {r3, lr} + cmp r0, #0x0 + beq _02052A02 + lsl r2, r0, #0x3 + ldr r0, _02052A0C ; =0x020F5A14 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r3, pc} +_02052A02: + add r0, r2, #0x0 + bl sub_0205296C + pop {r3, pc} + nop +_02052A0C: .word 0x020F5A14 + + thumb_func_start sub_02052A10 +sub_02052A10: ; 0x02052A10 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r3, #0x0 + cmp r4, #0x0 + bne _02052A24 + sub r1, r1, #0x1 + bl sub_02052814 + pop {r4-r6, pc} +_02052A24: + sub r0, r1, #0x1 + bl sub_0202EF84 + bl sub_020239CC + add r1, r0, #0x0 + cmp r4, #0x18 + bhi _02052AFA + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r7, #0x2 + lsl r0, r6, #0 + lsl r4, r7, #0 + lsl r0, r5, #0x1 + lsl r0, r5, #0x1 + lsl r0, r5, #0x1 + lsl r0, r5, #0x1 + lsl r0, r5, #0x1 + lsl r0, r5, #0x1 + lsl r4, r0, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r6, r6, #0x1 + lsl r4, r0, #0x2 + lsl r4, r0, #0x2 + lsl r4, r0, #0x2 + lsl r2, r2, #0x2 + lsl r2, r2, #0x2 + lsl r2, r2, #0x2 + lsl r2, r3, #0x1 + lsl r2, r3, #0x1 + lsl r2, r3, #0x1 + lsl r0, r4, #0x2 + lsl r0, r5, #0x2 + lsl r0, r6, #0x2 + ldr r0, [r5, #0x34] + add r2, r6, #0x0 + sub r0, r0, #0x1 + bl sub_020529F0 + pop {r4-r6, pc} +_02052A7E: + .byte 0x21, 0x48 + .byte 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x68, 0x6B, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD + .byte 0xC2, 0x00, 0x1D, 0x48, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x13, 0x3C, 0x1B, 0x48 + .byte 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xE0, 0x1E, 0xC2, 0x00, 0x18, 0x48 + .byte 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0A, 0x3C, 0x16, 0x48, 0xE2, 0x00, 0x89, 0x00 + .byte 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0D, 0x3C, 0x13, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18 + .byte 0x08, 0x58, 0x70, 0xBD, 0x10, 0x3C, 0x11, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58 + .byte 0x70, 0xBD, 0x0F, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x0E, 0x48, 0x89, 0x00, 0x40, 0x58 + .byte 0x70, 0xBD, 0x0D, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD +_02052AFA: + bl sub_02020C2C + mov r0, #0x28 + pop {r4-r6, pc} + nop +_02052B04: + .byte 0xAC, 0x58, 0x0F, 0x02, 0xDC, 0x59, 0x0F, 0x02, 0xE8, 0x58, 0x0F, 0x02 + .byte 0x44, 0x5A, 0x0F, 0x02, 0x00, 0x59, 0x0F, 0x02, 0x18, 0x59, 0x0F, 0x02, 0x30, 0x59, 0x0F, 0x02 + .byte 0x8C, 0x58, 0x0F, 0x02, 0xA4, 0x58, 0x0F, 0x02, 0x9C, 0x58, 0x0F, 0x02 + + thumb_func_start sub_02052B2C +sub_02052B2C: ; 0x02052B2C + push {r3-r7, lr} + add r5, r0, #0x0 + mov r6, #0x1 +_02052B32: + add r0, r6, #0x0 + sub r4, r6, #0x1 + bl sub_0202DFA4 + add r7, r0, #0x0 + beq _02052B60 + bl sub_020239BC + lsl r1, r4, #0x2 + str r0, [r5, r1] + add r0, r7, #0x0 + bl sub_02023A28 + str r0, [sp, #0x0] + add r0, r7, #0x0 + bl sub_020239CC + lsl r1, r0, #0x7 + ldr r0, [sp, #0x0] + orr r1, r0 + add r0, r5, r4 + strb r1, [r0, #0x18] + b _02052B6A +_02052B60: + lsl r1, r4, #0x2 + mov r0, #0x0 + str r0, [r5, r1] + add r1, r5, r4 + strb r0, [r1, #0x18] +_02052B6A: + add r6, r6, #0x1 + cmp r6, #0x5 + blt _02052B32 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02052B74 +sub_02052B74: ; 0x02052B74 + push {r4, lr} + sub sp, #0x20 + add r4, r0, #0x0 + add r0, sp, #0x0 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + cmp r4, #0xb + bhi _02052BFA + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r4, #0x1 + lsl r4, r6, #0 + lsl r0, r1, #0x1 + lsl r4, r3, #0x1 + lsl r4, r4, #0x1 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r2, r5, #0 + lsl r6, r7, #0 + lsl r2, r2, #0x1 + lsl r6, r2, #0 + add r0, sp, #0x0 + mov r1, #0x2 + bl sub_02052B2C + b _02052BFA +_02052BB6: + .byte 0x00, 0xA8, 0x02, 0x21, 0xFF, 0xF7, 0xB7, 0xFF, 0x1C, 0xE0 + .byte 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xB2, 0xFF, 0x17, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7 + .byte 0xAD, 0xFF, 0x12, 0xE0, 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xA8, 0xFF, 0x0D, 0xE0, 0x00, 0xA8 + .byte 0x04, 0x21, 0xFF, 0xF7, 0xA3, 0xFF, 0x08, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x9E, 0xFF + .byte 0x03, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x99, 0xFF +_02052BFA: + add r0, sp, #0x0 + strb r4, [r0, #0x1c] + add r0, sp, #0x0 + bl sub_0202F094 + bl sub_0202F0B8 + add sp, #0x20 + pop {r4, pc} + + thumb_func_start sub_02052C0C +sub_02052C0C: ; 0x02052C0C + push {r4-r6, lr} + add r5, r0, #0x0 + mov r3, #0x0 + mov r0, #0x11 + add r6, r1, #0x0 + add r2, r3, #0x0 + add r4, r5, #0x0 + lsl r0, r0, #0x4 +_02052C1C: + ldr r1, [r4, r0] + cmp r1, #0x0 + beq _02052C24 + add r3, r3, #0x1 +_02052C24: + add r2, r2, #0x1 + add r4, r4, #0x4 + cmp r2, #0xa + blt _02052C1C + cmp r3, #0x0 + beq _02052C34 + mov r0, #0xa4 + pop {r4-r6, pc} +_02052C34: + mov r0, #0x5e + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_0201385C + cmp r0, #0x0 + bne _02052C46 + mov r0, #0xa5 + pop {r4-r6, pc} +_02052C46: + mov r0, #0x5e + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02013920 + cmp r0, #0x4 + beq _02052C78 + ldr r0, [r5, #0x8] + bl sub_02023A28 + add r4, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_020239CC + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_020536D0 + add r2, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0200B064 + mov r0, #0xa6 + pop {r4-r6, pc} +_02052C78: + mov r0, #0x5e + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02013924 + add r4, r0, #0x0 + cmp r4, #0x14 + blt _02052C8A + mov r4, #0x0 +_02052C8A: + mov r0, #0x5e + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x0 + bl sub_02013918 + add r2, r0, #0x0 + ldr r0, _02052CB0 ; =0x0000FFFF + cmp r2, r0 + beq _02052CA6 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0200B518 +_02052CA6: + ldr r0, _02052CB4 ; =0x020F5A74 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} + nop +_02052CB0: .word 0x0000FFFF +_02052CB4: .word 0x020F5A74 + + thumb_func_start sub_02052CB8 +sub_02052CB8: ; 0x02052CB8 + push {r3-r4} + mov r3, #0x0 + strb r3, [r0, #0x1c] + add r4, r0, #0x0 + add r2, r3, #0x0 +_02052CC2: + stmia r4!, {r2} + add r1, r0, r3 + strb r2, [r1, #0x18] + strb r2, [r1, #0x10] + add r3, r3, #0x1 + strb r2, [r1, #0x14] + cmp r3, #0x4 + blt _02052CC2 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02052CD8 +sub_02052CD8: ; 0x02052CD8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x5e + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02013960 + mov r0, #0x6 + mov r1, #0x1 + lsl r0, r0, #0x6 + str r1, [r4, r0] + pop {r4, pc} + + thumb_func_start sub_02052CF0 +sub_02052CF0: ; 0x02052CF0 + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r2, [r0, r1] + cmp r2, #0x0 + bne _02052CFE + mov r0, #0x0 + bx lr +_02052CFE: + mov r2, #0x0 + str r2, [r0, r1] + sub r1, #0x8 + add r0, r0, r1 + bx lr + + thumb_func_start sub_02052D08 +sub_02052D08: ; 0x02052D08 + push {r4-r7, lr} + sub sp, #0xc + add r6, r2, #0x0 + mov r2, #0x9 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r3, [sp, #0x8] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x6 + mov r3, #0x4 + bl sub_0200A86C + add r7, r0, #0x0 + cmp r4, #0x0 + bne _02052D30 + sub r0, r6, #0x1 + bl sub_0202EF84 + b _02052D3C +_02052D30: + bl sub_02031190 + mov r1, #0x1 + eor r0, r1 + bl sub_0202DFA4 +_02052D3C: + add r4, r0, #0x0 + cmp r4, #0x0 + beq _02052DE0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_0200ABC0 + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200ABC0 + add r0, r4, #0x0 + bl sub_02023A70 + add r4, r0, #0x0 + cmp r4, #0x1 + blt _02052D80 + cmp r4, #0x7 + bgt _02052D80 + sub r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x7 + bhs _02052D80 + lsl r1, r0, #0x2 + ldr r0, _02052DE4 ; =0x020F5948 + ldr r1, [r0, r1] + cmp r1, #0x0 + blt _02052D80 + ldr r0, [sp, #0x20] + bl sub_02013C18 +_02052D80: + cmp r4, #0x7 + bhi _02052DB8 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r4, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + lsl r2, r4, #0 + mov r1, #0xd1 + b _02052DBA +_02052DA4: + .byte 0xD2, 0x21, 0x08, 0xE0, 0xD3, 0x21, 0x06, 0xE0, 0xD4, 0x21, 0x04, 0xE0 + .byte 0xD5, 0x21, 0x02, 0xE0, 0xD6, 0x21, 0x00, 0xE0 +_02052DB8: + mov r1, #0xd7 +_02052DBA: + add r0, r7, #0x0 + bl sub_0200A914 + add r6, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x2 + add r2, r6, #0x0 + mov r3, #0x0 + str r4, [sp, #0x4] + bl sub_0200ABB4 + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r7, #0x0 + bl sub_0200A8B8 +_02052DE0: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02052DE4: .word 0x020F5948 + + thumb_func_start sub_02052DE8 +sub_02052DE8: ; 0x02052DE8 + push {r4, lr} + sub sp, #0x20 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_02052CB8 + mov r1, #0x0 + add r0, sp, #0x0 + strb r1, [r0, #0x1c] + add r0, r4, #0x0 + bl sub_0202F078 + add r0, sp, #0x0 + bl sub_0202F094 + bl sub_0202F0B8 + add sp, #0x20 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02052E10 +sub_02052E10: ; 0x02052E10 + mov r1, #0x0 + str r1, [r0, #0x30] + str r1, [r0, #0x40] + str r1, [r0, #0x44] + bx lr + .balign 4 + + thumb_func_start sub_02052E1C +sub_02052E1C: ; 0x02052E1C + mov r2, #0x0 + str r2, [r0, #0x20] + str r2, [r0, #0x24] + str r2, [r0, #0x2c] + str r2, [r0, #0x30] + mov r1, #0x5d + str r2, [r0, #0x40] + lsl r1, r1, #0x2 + strh r2, [r0, r1] + add r1, #0xc + str r2, [r0, r1] + str r2, [r0, #0x44] + bx lr + .balign 4 + + thumb_func_start sub_02052E38 +sub_02052E38: ; 0x02052E38 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + mov r0, #0x0 + bl sub_02065054 + mov r1, #0x61 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x0 + bl sub_02065054 + mov r1, #0x62 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x0 + bl sub_02065054 + mov r1, #0x63 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x8] + bl sub_020239CC + add r5, r0, #0x0 + ldr r0, [r4, #0x8] + bl sub_02023A28 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_020536D0 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + lsl r3, r3, #0x18 + str r0, [sp, #0x0] + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + lsr r3, r3, #0x18 + str r0, [sp, #0x4] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl sub_02064E90 + bl sub_02031190 + mov r1, #0x1 + eor r0, r1 + lsl r0, r0, #0x2 + add r1, r4, r0 + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_02052EAC +sub_02052EAC: ; 0x02052EAC + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0x63 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02052ED0 +sub_02052ED0: ; 0x02052ED0 + mov r1, #0x61 + add r2, r0, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r2, r1] + ldr r3, _02052EE0 ; =sub_02030A78 + mov r0, #0x69 + ldr r2, _02052EE4 ; =0x0000066C + bx r3 + .balign 4 +_02052EE0: .word sub_02030A78 + 1 +_02052EE4: .word 0x0000066C + + thumb_func_start sub_02052EE8 +sub_02052EE8: ; 0x02052EE8 + push {r3-r5, lr} + ldr r1, _02052F58 ; =0x000004E8 + add r5, r0, #0x0 + mov r0, #0x1f + bl sub_02016998 + add r4, r0, #0x0 + ldr r2, _02052F58 ; =0x000004E8 + mov r0, #0x0 + add r1, r4, #0x0 + blx sub_020CE240 + mov r0, #0x4e + str r5, [r4, #0x0] + mov r1, #0x1 + lsl r0, r0, #0x4 + str r1, [r4, r0] + ldr r0, _02052F5C ; =sub_02052FC8 + add r1, r4, #0x0 + mov r2, #0xb + bl sub_0200CA44 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_020524BC + ldr r1, _02052F60 ; =0x000004D4 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0x9 + ldr r0, [r0, #0xc] + bl sub_02022610 + ldr r1, _02052F64 ; =0x000004D8 + ldr r2, _02052F68 ; =0x00002710 + str r0, [r4, r1] + sub r0, r1, #0x4 + ldr r0, [r4, r0] + mov r1, #0x59 + ldr r0, [r0, #0x38] + str r0, [r4, #0x8] + mov r0, #0xb + bl sub_02016828 + mov r0, #0x59 + bl sub_02053618 + ldr r1, _02052F6C ; =0x000004DC + str r0, [r4, r1] + add r0, r4, #0x0 + bl sub_02052F8C + ldr r0, _02052F70 ; =0x021C5ABC + str r4, [r0, #0x0] + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_02052F58: .word 0x000004E8 +_02052F5C: .word sub_02052FC8 + 1 +_02052F60: .word 0x000004D4 +_02052F64: .word 0x000004D8 +_02052F68: .word 0x00002710 +_02052F6C: .word 0x000004DC +_02052F70: .word 0x021C5ABC + + thumb_func_start sub_02052F74 +sub_02052F74: ; 0x02052F74 + mov r3, #0x0 + mov r1, #0x3 +_02052F78: + ldrb r2, [r0, #0xd] + cmp r2, #0x0 + beq _02052F80 + strb r1, [r0, #0xc] +_02052F80: + add r3, r3, #0x1 + add r0, #0x18 + cmp r3, #0x33 + blt _02052F78 + bx lr + .balign 4 + + thumb_func_start sub_02052F8C +sub_02052F8C: ; 0x02052F8C + mov r2, #0x0 + add r1, r2, #0x0 +_02052F90: + strb r1, [r0, #0xc] + strb r1, [r0, #0xd] + strb r1, [r0, #0xe] + strb r1, [r0, #0xf] + add r2, r2, #0x1 + add r0, #0x18 + cmp r2, #0x33 + blt _02052F90 + bx lr + .balign 4 + + thumb_func_start sub_02052FA4 +sub_02052FA4: ; 0x02052FA4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_0200CAB4 + ldr r0, _02052FC4 ; =0x000004DC + ldr r0, [r4, r0] + bl sub_0205362C + mov r0, #0x59 + bl sub_020168D0 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 +_02052FC4: .word 0x000004DC + + thumb_func_start sub_02052FC8 +sub_02052FC8: ; 0x02052FC8 + push {r3-r5, lr} + ldr r0, _02052FFC ; =0x000004D4 + add r5, r1, #0x0 + ldr r0, [r5, r0] + ldr r4, [r5, #0x0] + bl sub_0204646C + cmp r0, #0x0 + bne _02052FF8 + ldr r3, _02052FFC ; =0x000004D4 + add r0, r5, #0x0 + ldr r2, [r5, r3] + add r3, r3, #0x4 + ldr r2, [r2, #0x34] + ldr r3, [r5, r3] + add r1, r4, #0x0 + bl sub_0205312C + ldr r1, _02052FFC ; =0x000004D4 + add r0, r5, #0x0 + ldr r1, [r5, r1] + ldr r1, [r1, #0x34] + bl sub_020531E4 +_02052FF8: + pop {r3-r5, pc} + nop +_02052FFC: .word 0x000004D4 + + thumb_func_start sub_02053000 +sub_02053000: ; 0x02053000 + push {r4-r7, lr} + sub sp, #0x14 + mov r5, #0x0 + str r0, [sp, #0x0] + str r3, [sp, #0x4] + cmp r2, #0x0 + bne _02053034 + ldr r0, _02053100 ; =0x020F58D4 + lsl r1, r1, #0x1 + ldrh r4, [r0, r1] + ldr r0, [sp, #0x0] + mov r6, #0x3 + add r0, #0xc + str r0, [sp, #0x0] +_0205301C: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02053104 + add r5, r5, #0x1 + add r4, r4, #0x1 + cmp r5, #0x4 + blt _0205301C + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_02053034: + add r0, r2, #0x0 + str r0, [sp, #0xc] + add r0, #0x50 + str r0, [sp, #0xc] + add r0, #0x30 + str r0, [sp, #0xc] + ldr r0, [r2, #0x50] + mov r2, #0x18 + add r3, r1, #0x0 + mul r3, r2 + ldr r2, [sp, #0x0] + add r2, r2, r3 + ldr r2, [r2, #0x18] + cmp r0, r2 + beq _02053078 + ldr r0, _02053100 ; =0x020F58D4 + lsl r1, r1, #0x1 + ldrh r4, [r0, r1] + ldr r0, [sp, #0x0] + mov r6, #0x3 + add r0, #0xc + str r0, [sp, #0x0] +_02053060: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02053104 + add r5, r5, #0x1 + add r4, r4, #0x1 + cmp r5, #0x4 + blt _02053060 + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_02053078: + ldr r0, _02053100 ; =0x020F58D4 + lsl r1, r1, #0x1 + ldrh r7, [r0, r1] + ldr r0, [sp, #0xc] + add r6, r5, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + str r0, [sp, #0x10] + add r0, #0xc + str r0, [sp, #0x10] +_0205308C: + mov r0, #0x18 + add r1, r7, #0x0 + mul r1, r0 + ldr r0, [sp, #0x0] + add r4, r0, r1 + ldrb r0, [r4, #0xd] + cmp r0, #0x0 + beq _020530A6 + cmp r0, #0x2 + beq _020530CC + cmp r0, #0x4 + beq _020530E6 + b _020530EA +_020530A6: + ldr r0, [sp, #0xc] + add r1, r0, r6 + ldrb r0, [r1, #0x18] + cmp r0, #0x0 + beq _020530EA + mov r0, #0x2 + strb r0, [r4, #0xc] + ldrb r1, [r1, #0x18] + mov r0, #0x7f + and r0, r1 + strb r0, [r4, #0x14] + ldr r1, [sp, #0x8] + ldr r0, [sp, #0x4] + ldr r1, [r1, #0x0] + bl sub_02025614 + strb r0, [r4, #0xe] + mov r5, #0x1 + b _020530EA +_020530CC: + ldr r0, [sp, #0xc] + add r0, r0, r6 + ldrb r0, [r0, #0x18] + cmp r0, #0x0 + bne _020530E2 + ldr r0, [sp, #0x10] + add r1, r7, #0x0 + mov r2, #0x3 + bl sub_02053104 + b _020530EA +_020530E2: + mov r5, #0x1 + b _020530EA +_020530E6: + mov r0, #0x0 + strb r0, [r4, #0xc] +_020530EA: + ldr r0, [sp, #0x8] + add r6, r6, #0x1 + add r0, r0, #0x4 + add r7, r7, #0x1 + str r0, [sp, #0x8] + cmp r6, #0x4 + blt _0205308C + add r0, r5, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + nop +_02053100: .word 0x020F58D4 + + thumb_func_start sub_02053104 +sub_02053104: ; 0x02053104 + push {r4-r6, lr} + ldr r6, _02053124 ; =0x021C5ABC + mov r4, #0x18 + ldr r3, [r6, #0x0] + ldr r5, _02053128 ; =0x000004D4 + mul r4, r1 + ldr r3, [r3, r5] + strb r2, [r0, r4] + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r3, r0 + beq _02053120 + bl sub_02020C2C +_02053120: + pop {r4-r6, pc} + nop +_02053124: .word 0x021C5ABC +_02053128: .word 0x000004D4 + + thumb_func_start sub_0205312C +sub_0205312C: ; 0x0205312C + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x0] + add r5, r0, #0x0 + str r0, [sp, #0x10] + add r0, #0xc + str r1, [sp, #0x4] + str r3, [sp, #0x8] + mov r4, #0x0 + str r0, [sp, #0x10] +_02053140: + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + bl sub_020524C0 + add r6, r0, #0x0 + add r7, r6, #0x0 + add r7, #0x50 + add r0, r7, #0x0 + str r0, [sp, #0xc] + add r0, #0x10 + str r0, [sp, #0xc] + ldrb r0, [r5, #0xd] + cmp r0, #0x0 + beq _02053166 + cmp r0, #0x2 + beq _020531A2 + cmp r0, #0x4 + beq _020531D4 + b _020531D8 +_02053166: + cmp r6, #0x0 + beq _020531D8 + ldr r0, [sp, #0xc] + bl sub_02023A28 + strb r0, [r5, #0x14] + ldr r0, [sp, #0xc] + bl sub_020239BC + add r1, r0, #0x0 + ldr r0, [sp, #0x8] + bl sub_02025614 + strb r0, [r5, #0xe] + ldr r0, [r7, #0x0] + ldr r3, [sp, #0x8] + str r0, [r5, #0x18] + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02053000 + cmp r0, #0x0 + beq _0205319C + mov r0, #0x2 + strb r0, [r5, #0xc] + b _020531D8 +_0205319C: + mov r0, #0x1 + strb r0, [r5, #0xc] + b _020531D8 +_020531A2: + cmp r6, #0x0 + beq _020531AE + ldr r1, [r7, #0x0] + ldr r0, [r5, #0x18] + cmp r1, r0 + beq _020531B8 +_020531AE: + ldr r0, [sp, #0x10] + add r1, r4, #0x0 + mov r2, #0x3 + bl sub_02053104 +_020531B8: + ldr r0, [sp, #0x0] + ldr r3, [sp, #0x8] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02053000 + cmp r0, #0x0 + beq _020531D8 + ldrb r0, [r5, #0x15] + cmp r0, #0x1 + bne _020531D8 + mov r0, #0x3 + strb r0, [r5, #0xc] + b _020531D8 +_020531D4: + mov r0, #0x0 + strb r0, [r5, #0xc] +_020531D8: + add r4, r4, #0x1 + add r5, #0x18 + cmp r4, #0xa + blt _02053140 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_020531E4 +sub_020531E4: ; 0x020531E4 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + ldr r0, [r0, #0x8] + str r1, [sp, #0x4] + bl sub_02055320 + str r0, [sp, #0xc] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x8] + bl sub_0205532C + ldr r4, [sp, #0x0] + str r0, [sp, #0x8] + add r6, r4, #0x0 + mov r7, #0x0 + add r6, #0xc +_02053206: + ldr r0, [sp, #0x4] + add r1, r7, #0x1 + bl sub_02058060 + add r5, r0, #0x0 + bne _02053216 + bl sub_02020C2C +_02053216: + ldrb r0, [r4, #0xd] + cmp r0, #0x4 + bhi _0205330A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r5, #0 + lsl r0, r1, #0x2 + lsl r0, r6, #0x2 + lsl r4, r3, #0x3 + add r0, r5, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _0205330A + ldrb r0, [r4, #0xc] + sub r0, r0, #0x1 + cmp r0, #0x1 + bhi _0205330A + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x8] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0205339C + b _0205330A +_02053252: + .byte 0x28, 0x1C, 0x07, 0xF0, 0xA0, 0xFD, 0x01, 0x28, 0x56, 0xD1, 0x20, 0x7B, 0x03, 0x28 + .byte 0x07, 0xD1, 0x00, 0x20, 0x60, 0x73, 0x20, 0x73, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x66, 0xF8 + .byte 0x4B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0xEC, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x05, 0xF0, 0x36, 0xFB + .byte 0x20, 0x7B, 0x01, 0x28, 0x10, 0xD1, 0x60, 0x7D, 0x00, 0x28, 0x0D, 0xD1, 0x28, 0x1C, 0x03, 0x21 + .byte 0x05, 0xF0, 0xFE, 0xFD, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0x4C, 0xF9, 0x28, 0x1C, 0x01, 0x21 + .byte 0x05, 0xF0, 0x4C, 0xF9, 0x01, 0x20, 0x60, 0x75, 0x02, 0x20, 0x60, 0x73, 0x00, 0x20, 0x20, 0x73 + .byte 0x2B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x70, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x30, 0x1C, 0x29, 0x1C + .byte 0x00, 0xF0, 0xDA, 0xF8, 0x20, 0x7B, 0x03, 0x28, 0x03, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0 + .byte 0xB9, 0xF8, 0x30, 0x1C, 0x00, 0xF0, 0x50, 0xF8, 0x17, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x5C, 0xFD + .byte 0x01, 0x28, 0x12, 0xD1, 0x28, 0x1C, 0x07, 0xF0, 0xB3, 0xFD, 0x04, 0x20, 0x60, 0x73, 0x00, 0x20 + .byte 0x20, 0x73, 0x60, 0x75, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0xD0, 0xFA, 0x28, 0x1C, 0x00, 0x21 + .byte 0x05, 0xF0, 0xDA, 0xFA, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x73 +_0205330A: + add r7, r7, #0x1 + add r4, #0x18 + add r6, #0x18 + cmp r7, #0x32 + bge _02053316 + b _02053206 +_02053316: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x8] + bl sub_020553A0 + add r1, r0, #0x0 + ldr r2, _02053338 ; =0x000004BC + ldr r0, [sp, #0x0] + add r0, r0, r2 + bl sub_02053478 + ldr r1, _02053338 ; =0x000004BC + ldr r0, [sp, #0x0] + add r0, r0, r1 + bl sub_02053378 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02053338: .word 0x000004BC + + thumb_func_start sub_0205333C +sub_0205333C: ; 0x0205333C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + add r4, r1, #0x0 + cmp r0, #0x0 + beq _0205335A + bl sub_020646A0 + cmp r0, #0x0 + beq _02053356 + ldr r0, [r5, #0x10] + bl sub_02064520 +_02053356: + mov r0, #0x0 + str r0, [r5, #0x10] +_0205335A: + cmp r4, #0x0 + beq _02053376 + ldr r0, [r5, #0x14] + cmp r0, #0x0 + beq _02053376 + bl sub_020646A0 + cmp r0, #0x0 + beq _02053372 + ldr r0, [r5, #0x14] + bl sub_02064520 +_02053372: + mov r0, #0x0 + str r0, [r5, #0x14] +_02053376: + pop {r3-r5, pc} + + thumb_func_start sub_02053378 +sub_02053378: ; 0x02053378 + push {r4, lr} + add r4, r0, #0x0 + ldrb r1, [r4, #0x4] + cmp r1, #0x0 + beq _02053398 + ldrh r1, [r4, #0x6] + sub r1, r1, #0x1 + strh r1, [r4, #0x6] + ldrh r1, [r4, #0x6] + cmp r1, #0x0 + bne _02053398 + mov r1, #0x0 + bl sub_0205333C + mov r0, #0x0 + strb r0, [r4, #0x4] +_02053398: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205339C +sub_0205339C: ; 0x0205339C + push {r3-r7, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl sub_02058AFC + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B04 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl sub_02058B0C + add r6, r0, #0x0 + ldr r0, [sp, #0x4] + cmp r7, r0 + bne _020533CC + ldr r0, [sp, #0x8] + cmp r6, r0 + beq _0205343C +_020533CC: + ldr r0, _02053440 ; =0x0000064F + bl sub_020054C8 + ldrb r1, [r5, #0x8] + add r0, r4, #0x0 + bl sub_02057634 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205333C + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r2, [sp, #0xc] + add r0, r4, #0x0 + add r1, r7, #0x0 + add r3, r6, #0x0 + bl sub_02058E28 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020584A4 + add r0, r4, #0x0 + mov r1, #0x44 + bl sub_0205ADDC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205889C + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020588B8 + mov r1, #0x1 + strb r1, [r5, #0x1] + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _0205343C + cmp r0, #0x1 + bne _0205342A + add r0, r4, #0x0 + bl sub_02249668 + str r0, [r5, #0x14] + b _02053438 +_0205342A: + cmp r0, #0x2 + blo _02053438 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02249668 + str r0, [r5, #0x14] +_02053438: + mov r0, #0x0 + strb r0, [r5, #0x2] +_0205343C: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02053440: .word 0x0000064F + + thumb_func_start sub_02053444 +sub_02053444: ; 0x02053444 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x43 + bl sub_0205ADDC + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020588EC + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058E90 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0205333C + mov r0, #0x0 + strb r0, [r4, #0x4] + strh r0, [r4, #0x6] + mov r0, #0x3 + strb r0, [r4, #0x1] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02053478 +sub_02053478: ; 0x02053478 + push {r4, lr} + add r4, r0, #0x0 + ldrb r0, [r4, #0x3] + cmp r0, #0x1 + bne _0205349C + ldrb r0, [r4, #0x4] + cmp r0, #0x0 + bne _0205349C + add r0, r1, #0x0 + bl sub_021EDA48 + str r0, [r4, #0x10] + mov r0, #0x1e + strh r0, [r4, #0x6] + mov r0, #0x0 + strb r0, [r4, #0x3] + mov r0, #0x1 + strb r0, [r4, #0x4] +_0205349C: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020534A0 +sub_020534A0: ; 0x020534A0 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r0, #0x0 + cmp r5, r6 + bge _020534DA +_020534AC: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_02058060 + add r4, r0, #0x0 + bne _020534BC + bl sub_02020C2C +_020534BC: + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0205889C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020588B8 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020588EC + add r5, r5, #0x1 + cmp r5, r6 + blt _020534AC +_020534DA: + pop {r3-r7, pc} + + thumb_func_start sub_020534DC +sub_020534DC: ; 0x020534DC + push {r3-r7, lr} + add r5, r1, #0x0 + mov r1, #0x0 + add r7, r0, #0x0 + bl sub_02058060 + add r4, r0, #0x0 + bne _020534F0 + bl sub_02020C2C +_020534F0: + add r0, r4, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _02053596 + bl sub_02031B2C + cmp r0, #0x0 + bne _0205350A + bl sub_02031AF4 + cmp r0, #0x0 + beq _0205358C +_0205350A: + mov r6, #0x0 + add r5, #0xc +_0205350E: + ldrb r0, [r5, #0x1] + cmp r0, #0x1 + bne _02053578 + add r0, r7, #0x0 + add r1, r6, #0x1 + bl sub_02058060 + add r4, r0, #0x0 + bne _02053524 + bl sub_02020C2C +_02053524: + ldrb r1, [r5, #0x8] + add r0, r4, #0x0 + bl sub_02057634 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020584A4 + add r0, r4, #0x0 + mov r1, #0x44 + bl sub_0205ADDC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205889C + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020588B8 + mov r0, #0x1 + strb r0, [r5, #0x1] + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _02053578 + cmp r0, #0x1 + bne _02053566 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02249668 + str r0, [r5, #0x14] + b _02053574 +_02053566: + cmp r0, #0x2 + blo _02053574 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02249668 + str r0, [r5, #0x14] +_02053574: + mov r0, #0x0 + strb r0, [r5, #0x2] +_02053578: + add r6, r6, #0x1 + add r5, #0x18 + cmp r6, #0xa + blt _0205350E + add r0, r7, #0x0 + mov r1, #0xb + mov r2, #0x33 + bl sub_020534A0 + pop {r3-r7, pc} +_0205358C: + add r0, r7, #0x0 + mov r1, #0x1 + mov r2, #0x33 + bl sub_020534A0 +_02053596: + pop {r3-r7, pc} + + thumb_func_start sub_02053598 +sub_02053598: ; 0x02053598 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x8 + mov r1, #0x59 + bl sub_020219F4 + str r0, [r4, #0x0] + mov r1, #0x0 + add r0, r4, #0x0 + str r1, [r4, #0x4] + add r0, #0x14 + str r1, [r4, #0x8] + bl sub_0201373C + mov r0, #0x0 + str r0, [r4, #0x10] + str r0, [r4, #0xc] + pop {r4, pc} + + thumb_func_start sub_020535BC +sub_020535BC: ; 0x020535BC + push {r4-r6, lr} + add r6, r0, #0x0 + mov r4, #0x0 + add r5, r6, #0x0 +_020535C4: + add r0, r5, #0x0 + bl sub_02053598 + add r4, r4, #0x1 + add r5, #0x1c + cmp r4, #0x1e + blt _020535C4 + mov r0, #0xd2 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r6, r0] + add r0, r0, #0x4 + str r1, [r6, r0] + pop {r4-r6, pc} + + thumb_func_start sub_020535E0 +sub_020535E0: ; 0x020535E0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02016A18 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _020535F4 + bl sub_02021A20 +_020535F4: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _020535FE + bl sub_02021A20 +_020535FE: + pop {r4, pc} + + thumb_func_start sub_02053600 +sub_02053600: ; 0x02053600 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_02053606: + add r0, r5, #0x0 + bl sub_020535E0 + add r4, r4, #0x1 + add r5, #0x1c + cmp r4, #0x1e + blt _02053606 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02053618 +sub_02053618: ; 0x02053618 + push {r4, lr} + mov r1, #0x35 + lsl r1, r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_020535BC + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205362C +sub_0205362C: ; 0x0205362C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02053600 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_0205363C +sub_0205363C: ; 0x0205363C + push {r3-r7, lr} + add r7, r2, #0x0 + lsl r0, r0, #0x1d + ldr r2, _02053670 ; =0x020F5AC4 + lsr r0, r0, #0x19 + add r5, r2, r0 + lsl r2, r1, #0x3 + mov r1, #0xc + ldr r0, _02053674 ; =0x020F5B44 + mul r1, r2 + mov r4, #0x0 + add r6, r0, r1 +_02053654: + ldr r3, [r5, #0x0] + mov r2, #0xc + mul r2, r3 + add r2, r6, r2 + ldr r2, [r2, #0x4] + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0200B064 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _02053654 + pop {r3-r7, pc} + .balign 4 +_02053670: .word 0x020F5AC4 +_02053674: .word 0x020F5B44 + + thumb_func_start sub_02053678 +sub_02053678: ; 0x02053678 + lsl r0, r0, #0x1d + lsr r3, r0, #0x19 + ldr r0, _02053694 ; =0x020F5AC4 + lsl r2, r2, #0x2 + add r0, r0, r3 + ldr r0, [r2, r0] + lsl r1, r1, #0x3 + add r1, r1, r0 + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + ldr r0, _02053698 ; =0x020F5B44 + ldr r0, [r0, r2] + bx lr + .balign 4 +_02053694: .word 0x020F5AC4 +_02053698: .word 0x020F5B44 + + thumb_func_start sub_0205369C +sub_0205369C: ; 0x0205369C + push {r3-r4} + lsl r4, r0, #0x3 + mov r0, #0xc + ldr r2, _020536C4 ; =0x020F5B44 + mul r0, r4 + mov r3, #0x0 + add r2, r2, r0 +_020536AA: + ldr r0, [r2, #0x0] + cmp r1, r0 + bne _020536B6 + add r0, r3, r4 + pop {r3-r4} + bx lr +_020536B6: + add r3, r3, #0x1 + add r2, #0xc + cmp r3, #0x8 + blt _020536AA + mov r0, #0x0 + pop {r3-r4} + bx lr + .balign 4 +_020536C4: .word 0x020F5B44 + + thumb_func_start sub_020536C8 +sub_020536C8: ; 0x020536C8 + ldr r3, _020536CC ; =sub_0205369C + bx r3 + .balign 4 +_020536CC: .word sub_0205369C + 1 + + thumb_func_start sub_020536D0 +sub_020536D0: ; 0x020536D0 + push {r4, lr} + add r4, r2, #0x0 + bl sub_0205369C + cmp r4, #0x0 + beq _020536FE + cmp r4, #0x1 + beq _020536EE + cmp r4, #0x2 + bne _020536F8 + mov r1, #0xc + mul r1, r0 + ldr r0, _02053700 ; =0x020F5B48 + ldr r0, [r0, r1] + pop {r4, pc} +_020536EE: + mov r1, #0xc + mul r1, r0 + ldr r0, _02053704 ; =0x020F5B4C + ldr r0, [r0, r1] + pop {r4, pc} +_020536F8: + bl sub_02020C2C + mov r0, #0x0 +_020536FE: + pop {r4, pc} + .balign 4 +_02053700: .word 0x020F5B48 +_02053704: .word 0x020F5B4C + + thumb_func_start sub_02053708 +sub_02053708: ; 0x02053708 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r0, #0x56 + mov r1, #0x7 + add r2, sp, #0x0 + add r3, r5, #0x0 + bl sub_02006C08 + mov r1, #0x9 + add r4, r0, #0x0 + add r0, r5, #0x0 + lsl r1, r1, #0x6 + bl sub_02016998 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x0 + ldr r3, [r0, #0xc] + mov r0, #0x1 + add r6, r5, #0x0 + lsl r0, r0, #0x8 +_02053734: + ldrh r1, [r3, #0x0] + add r2, r2, #0x1 + add r3, r3, #0x2 + strh r1, [r6, #0x0] + add r6, r6, #0x2 + cmp r2, r0 + blt _02053734 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02053750 +sub_02053750: ; 0x02053750 + push {r3-r7, lr} + sub sp, #0x18 + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02053762 + bl sub_0201FDEC +_02053762: + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r0, [r4, r1] + cmp r0, #0x5 + bls _0205376E + b _020538B2 +_0205376E: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r6, r5, #0 + lsl r6, r3, #0x1 + lsl r0, r4, #0x3 + lsl r6, r6, #0x3 + lsl r6, r4, #0x4 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553A0 + bl sub_02058914 + ldr r0, [r4, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x38] + bl sub_0205537C + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x18 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r7, pc} +_020537AA: + .byte 0x24, 0x39, 0x20, 0x1C, 0x61, 0x18 + .byte 0x00, 0x22, 0x00, 0xF0, 0xC1, 0xFB, 0x5B, 0x21, 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x01, 0x22 + .byte 0x00, 0xF0, 0xBA, 0xFB, 0x5F, 0x20, 0x02, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58 + .byte 0x00, 0x1D, 0x49, 0x1C, 0x06, 0xB0, 0x21, 0x50, 0xF8, 0xBD, 0x00, 0x20, 0x03, 0x90, 0x08, 0x1F + .byte 0x20, 0x58, 0x00, 0x28, 0x14, 0xDD, 0x24, 0x39, 0x67, 0x18, 0x26, 0x1C, 0x04, 0xAD, 0x5A, 0x21 + .byte 0x89, 0x00, 0x71, 0x58, 0x38, 0x1C, 0x88, 0x47, 0x01, 0xC5, 0x03, 0x98, 0x10, 0x37, 0x40, 0x1C + .byte 0x03, 0x90, 0x5F, 0x20, 0x80, 0x00, 0x21, 0x58, 0x03, 0x98, 0x10, 0x36, 0x88, 0x42, 0xEE, 0xDB + .byte 0x04, 0x98, 0x02, 0x28, 0x0B, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x04, 0x20 + .byte 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xBA, 0xF7, 0xD1, 0xFC, 0x5F, 0x20 + .byte 0x80, 0x00, 0x22, 0x58, 0x00, 0x23, 0x00, 0x2A, 0x07, 0xDD, 0x04, 0xA9, 0x08, 0x68, 0x00, 0x28 + .byte 0x03, 0xD1, 0x5B, 0x1C, 0x09, 0x1D, 0x93, 0x42, 0xF8, 0xDB, 0x93, 0x42, 0x31, 0xD1, 0x06, 0x20 + .byte 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xF8, 0xBD, 0xBA, 0xF7, 0x54, 0xFD + .byte 0x00, 0x28, 0x26, 0xD0, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50 + .byte 0xF8, 0xBD, 0x08, 0x1F, 0x20, 0x58, 0x00, 0x26, 0x00, 0x28, 0x0B, 0xDD, 0x24, 0x39, 0x5F, 0x27 + .byte 0x65, 0x18, 0xBF, 0x00, 0x28, 0x1C, 0x00, 0xF0, 0xF3, 0xFB, 0xE0, 0x59, 0x76, 0x1C, 0x10, 0x35 + .byte 0x86, 0x42, 0xF7, 0xDB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50 + .byte 0xF8, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0 + .byte 0x45, 0xFA +_020538B2: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020538B8 +sub_020538B8: ; 0x020538B8 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0x0 + add r0, sp, #0xc + strh r1, [r0, #0x0] + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x5 + beq _020538D6 + ldr r0, [r4, #0x4] + bl sub_0201FDEC +_020538D6: + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r0, [r4, r1] + cmp r0, #0x5 + bls _020538E2 + b _020539EA +_020538E2: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r4, #0 + lsl r6, r7, #0x1 + lsl r2, r6, #0x2 + lsl r4, r2, #0x3 + lsl r2, r5, #0x3 + ldr r0, [r4, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x38] + bl sub_0205537C + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x10 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r5, pc} +_02053912: + .byte 0x04, 0x20, 0x03, 0xA9, 0x02, 0x22, 0x00, 0x23, 0xC4, 0xF7, 0x4B, 0xFB, 0x01, 0x20 + .byte 0x00, 0x21, 0xCA, 0xF7, 0x13, 0xFF, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x0F, 0xFF, 0x57, 0x21 + .byte 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x02, 0x22, 0x00, 0xF0, 0xFE, 0xFA, 0x06, 0x20, 0x00, 0x90 + .byte 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBA, 0xF7 + .byte 0x3F, 0xFC, 0x27, 0x48, 0xB1, 0xF7, 0xB8, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50 + .byte 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D, 0x49, 0x1C, 0x04, 0xB0, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x1C + .byte 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28, 0x35, 0xD1, 0xBA, 0xF7 + .byte 0xC3, 0xFC, 0x00, 0x28, 0x31, 0xD0, 0x1B, 0x48, 0xB1, 0xF7, 0x9E, 0xFD, 0x06, 0x20, 0x80, 0x01 + .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xFE, 0x21, 0xC9, 0x43, 0x00, 0x1D, 0x21, 0x50 + .byte 0x38, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x10, 0x32, 0x22, 0x50, 0x20, 0x58, 0x00, 0x28, 0x1C, 0xDD + .byte 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xDE, 0xFC + .byte 0x04, 0xB0, 0x38, 0xBD, 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x52, 0xFB, 0x06, 0x20, 0x80, 0x01 + .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22 + .byte 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA9, 0xF9 +_020539EA: + add sp, #0x10 + pop {r3-r5, pc} + nop +_020539F0: + .byte 0x2F, 0x06, 0x00, 0x00, 0x31, 0x06, 0x00, 0x00 + + thumb_func_start sub_020539F8 +sub_020539F8: ; 0x020539F8 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x6 + add r4, r1, #0x0 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x6 + beq _02053A10 + ldr r0, [r4, #0x4] + bl sub_0201FDEC +_02053A10: + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r0, [r4, r1] + cmp r0, #0x6 + bls _02053A1C + b _02053B30 +_02053A1C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r4, #0 + lsl r6, r1, #0x1 + lsl r6, r6, #0x1 + lsl r0, r7, #0x2 + lsl r6, r2, #0x3 + lsl r4, r5, #0x3 + ldr r0, [r4, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x38] + bl sub_0205537C + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053A4E: + .byte 0x24, 0x39 + .byte 0x20, 0x1C, 0x61, 0x18, 0x03, 0x22, 0x00, 0xF0, 0x6F, 0xFA, 0x63, 0x20, 0x00, 0x01, 0xB1, 0xF7 + .byte 0x33, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D + .byte 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x20, 0x3A, 0x22, 0x50 + .byte 0x21, 0x58, 0xFE, 0x20, 0xC0, 0x43, 0x81, 0x42, 0x52, 0xDA, 0x01, 0x20, 0x00, 0x21, 0xCA, 0xF7 + .byte 0x5D, 0xFE, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD + .byte 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C, 0x02, 0x2D + .byte 0x0E, 0xD1, 0x61, 0x21, 0x00, 0x20, 0x89, 0x00, 0x60, 0x50, 0x06, 0x21, 0x00, 0x91, 0x01, 0x21 + .byte 0x01, 0x91, 0x04, 0x21, 0x02, 0x91, 0x1B, 0x4B, 0x01, 0x1C, 0x02, 0x1C, 0xBA, 0xF7, 0x80, 0xFB + .byte 0x00, 0x2D, 0x2D, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50 + .byte 0x30, 0xBD, 0xBA, 0xF7, 0x11, 0xFC, 0x00, 0x28, 0x22, 0xD0, 0x61, 0x20, 0x00, 0x21, 0x80, 0x00 + .byte 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD + .byte 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0xB4, 0xFA, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 + .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x17, 0xFE, 0x62, 0x20 + .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x21, 0x01, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x06, 0xF9 +_02053B30: + add sp, #0xc + pop {r4-r5, pc} +_02053B34: + .byte 0xFF, 0x7F, 0x00, 0x00 + + thumb_func_start sub_02053B38 +sub_02053B38: ; 0x02053B38 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x6 + add r4, r1, #0x0 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x6 + beq _02053B50 + ldr r0, [r4, #0x4] + bl sub_0201FDEC +_02053B50: + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r0, [r4, r1] + cmp r0, #0x6 + bls _02053B5C + b _02053C8C +_02053B5C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r0, r1, #0x1 + lsl r4, r5, #0x1 + lsl r0, r1, #0x2 + lsl r0, r7, #0x2 + lsl r4, r7, #0x3 + lsl r2, r2, #0x4 + ldr r0, [r4, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x38] + bl sub_0205537C + mov r1, #0x57 + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x4 + bl sub_02053F38 + mov r1, #0x5b + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x5 + bl sub_02053F38 + mov r0, #0x5f + mov r1, #0x2 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r1, r0, #0x4 + ldr r1, [r4, r1] + add r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0xc + str r1, [r4, r0] + pop {r4-r5, pc} +_02053BB2: + .byte 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x34, 0x4B + .byte 0x00, 0x20, 0x0A, 0x1C, 0xBA, 0xF7, 0x04, 0xFB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 + .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0xBA, 0xF7, 0x97, 0xFB, 0x00, 0x28, 0x56, 0xD0, 0x2D, 0x48 + .byte 0xB1, 0xF7, 0x72, 0xFC, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50 + .byte 0x30, 0xBD, 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28 + .byte 0x44, 0xD1, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xB8, 0xFB, 0x61, 0x20, 0x06, 0x21 + .byte 0x80, 0x00, 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50 + .byte 0x30, 0xBD, 0x08, 0x1C, 0x08, 0x39, 0x14, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C + .byte 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x00, 0x29, 0x0A, 0xDC, 0x0B, 0xD1, 0x28, 0x38, 0x20, 0x18 + .byte 0x00, 0xF0, 0x16, 0xFA, 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x49, 0x1E, 0x21, 0x50, 0x01, 0xE0 + .byte 0x49, 0x1E, 0x21, 0x50, 0x00, 0x2D, 0x19, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 + .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x14, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x01, 0xFA, 0x06, 0x20 + .byte 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x31, 0x60, 0x58 + .byte 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x58, 0xF8 +_02053C8C: + add sp, #0xc + pop {r4-r5, pc} +_02053C90: + .byte 0xFF, 0x7F, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00 + + thumb_func_start sub_02053C98 +sub_02053C98: ; 0x02053C98 + push {r3-r5, lr} + add r3, r1, #0x0 + add r4, r0, #0x0 + add r5, r2, #0x0 + cmp r3, #0x3 + bhi _02053CEE + add r1, r3, r3 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r2, #0 + lsl r2, r4, #0 + lsl r0, r6, #0 + ldr r2, _02053CF8 ; =0x020F5C04 + ldr r0, _02053CFC ; =sub_02053750 + ldrb r2, [r2, r3] + add r1, r4, #0x0 + bl sub_02053D0C + b _02053CEE +_02053CC6: + .byte 0x0C, 0x4A, 0x0D, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0 + .byte 0x1D, 0xF8, 0x0C, 0xE0, 0x08, 0x4A, 0x0B, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x16, 0xF8 + .byte 0x05, 0xE0, 0x05, 0x4A, 0x08, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x0F, 0xF8 +_02053CEE: + mov r1, #0x62 + lsl r1, r1, #0x2 + str r5, [r0, r1] + str r4, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 +_02053CF8: .word 0x020F5C04 +_02053CFC: .word sub_02053750 + 1 +_02053D00: + .byte 0xB9, 0x38, 0x05, 0x02, 0xF9, 0x39, 0x05, 0x02, 0x39, 0x3B, 0x05, 0x02 + + thumb_func_start sub_02053D0C +sub_02053D0C: ; 0x02053D0C + push {r4-r6, lr} + add r5, r1, #0x0 + mov r1, #0x63 + add r6, r2, #0x0 + lsl r1, r1, #0x2 + mov r2, #0x5 + mov r3, #0x4 + bl sub_020061E8 + bl sub_0201B6C8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020238F4 + bl sub_020239CC + add r1, r0, #0x0 + add r0, r4, #0x4 + add r2, r6, #0x0 + bl sub_02053D50 + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02053D3C +sub_02053D3C: ; 0x02053D3C + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x4 + bl sub_02053D68 + add r0, r4, #0x0 + bl sub_0200621C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02053D50 +sub_02053D50: ; 0x02053D50 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02053D70 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02053D94 + pop {r4-r6, pc} + + thumb_func_start sub_02053D68 +sub_02053D68: ; 0x02053D68 + ldr r3, _02053D6C ; =sub_02053EF0 + bx r3 + .balign 4 +_02053D6C: .word sub_02053EF0 + 1 + + thumb_func_start sub_02053D70 +sub_02053D70: ; 0x02053D70 + push {r4, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + mov r0, #0x2 + add r1, #0x30 + mov r2, #0x4 + bl sub_02008C9C + str r0, [r4, #0x0] + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E74C + pop {r4, pc} + + thumb_func_start sub_02053D94 +sub_02053D94: ; 0x02053D94 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + str r1, [sp, #0x10] + add r7, r2, #0x0 + mov r6, #0x0 + add r4, r5, #0x0 +_02053DA2: + mov r0, #0x2 + add r1, r6, #0x0 + mov r2, #0x4 + bl sub_02008DEC + str r0, [r4, #0x8] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _02053DA2 + ldr r0, [sp, #0x10] + add r1, r5, #0x0 + lsl r0, r0, #0x2 + str r0, [sp, #0x14] + ldr r3, _02053E78 ; =0x02105EC8 + ldr r2, [sp, #0x14] + ldr r0, [r5, #0x8] + ldr r2, [r3, r2] + add r1, #0x18 + bl sub_02053E8C + str r0, [r5, #0x20] + ldr r1, [r5, #0x18] + mov r6, #0x0 + ldr r0, [r1, #0x8] + cmp r0, #0x0 + ble _02053DF0 + add r4, r6, #0x0 +_02053DDA: + ldr r0, [r1, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02009630 + ldr r1, [r5, #0x18] + add r6, r6, #0x1 + ldr r0, [r1, #0x8] + add r4, r4, #0x4 + cmp r6, r0 + blt _02053DDA +_02053DF0: + ldr r3, _02053E7C ; =0x02105ED0 + ldr r2, [sp, #0x14] + add r1, r5, #0x0 + ldr r0, [r5, #0xc] + ldr r2, [r3, r2] + add r1, #0x1c + bl sub_02053E8C + str r0, [r5, #0x24] + ldr r1, [r5, #0x1c] + mov r6, #0x0 + ldr r0, [r1, #0x8] + cmp r0, #0x0 + ble _02053E24 + add r4, r6, #0x0 +_02053E0E: + ldr r0, [r1, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, r4] + bl sub_02009630 + ldr r1, [r5, #0x1c] + add r6, r6, #0x1 + ldr r0, [r1, #0x8] + add r4, r4, #0x4 + cmp r6, r0 + blt _02053E0E +_02053E24: + ldr r0, [r5, #0x10] + ldr r2, _02053E80 ; =0x02105F48 + mov r1, #0x0 + bl sub_02053E8C + str r0, [r5, #0x28] + ldr r0, [r5, #0x14] + ldr r2, _02053E84 ; =0x02105F64 + mov r1, #0x0 + bl sub_02053E8C + str r0, [r5, #0x2c] + ldr r0, [r5, #0x18] + bl sub_02009B44 + ldr r0, [r5, #0x1c] + bl sub_02009DAC + ldr r1, _02053E88 ; =0x02105F80 + mov r0, #0x4 + bl sub_020161A4 + ldr r1, [r5, #0x10] + add r4, r0, #0x0 + str r1, [sp, #0x0] + ldr r1, [r5, #0x14] + str r1, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + str r1, [sp, #0xc] + ldr r2, [r5, #0x8] + ldr r3, [r5, #0xc] + mov r1, #0x4 + bl sub_02008BE0 + str r0, [r5, #0x4] + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + pop {r3-r7, pc} + nop +_02053E78: .word 0x02105EC8 +_02053E7C: .word 0x02105ED0 +_02053E80: .word 0x02105F48 +_02053E84: .word 0x02105F64 +_02053E88: .word 0x02105F80 + + thumb_func_start sub_02053E8C +sub_02053E8C: ; 0x02053E8C + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_0200965C + add r1, r0, #0x0 + mov r0, #0x4 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0x4 + add r1, r6, #0x0 + bl sub_020161A4 + add r6, r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x4 + bl sub_02009668 + add r0, r6, #0x0 + bl sub_02016A18 + cmp r5, #0x0 + beq _02053ED0 + add r0, r4, #0x0 + bl sub_020096CC + mov r1, #0x4 + bl sub_02009424 + str r0, [r5, #0x0] + add r2, r0, #0x0 + b _02053ED2 +_02053ED0: + mov r2, #0x0 +_02053ED2: + add r0, r7, #0x0 + add r1, r4, #0x0 + mov r3, #0x4 + bl sub_020093A8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020096B4 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02053EF0 +sub_02053EF0: ; 0x02053EF0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0201FD58 + mov r0, #0x0 + str r0, [r5, #0x0] + ldr r0, [r5, #0x4] + bl sub_02008C80 + mov r0, #0x0 + str r0, [r5, #0x4] + ldr r0, [r5, #0x18] + bl sub_02009C30 + ldr r0, [r5, #0x1c] + bl sub_02009E28 + mov r6, #0x0 + add r4, r5, #0x0 +_02053F18: + ldr r0, [r4, #0x18] + bl sub_02009448 + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x2 + blt _02053F18 + mov r4, #0x0 +_02053F28: + ldr r0, [r5, #0x8] + bl sub_02008E2C + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _02053F28 + pop {r4-r6, pc} + + thumb_func_start sub_02053F38 +sub_02053F38: ; 0x02053F38 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r4, #0x10 + mov r3, #0x0 +_02053F40: + strb r3, [r5, #0x0] + add r5, r5, #0x1 + sub r4, r4, #0x1 + bne _02053F40 + cmp r2, #0x5 + bhi _02053FB6 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r1, #0 + lsl r0, r3, #0 + lsl r6, r4, #0 + lsl r4, r6, #0 + lsl r2, r0, #0x1 + lsl r0, r2, #0x1 + ldr r2, _02053FC0 ; =sub_02054088 + str r2, [r1, #0x4] + ldr r2, _02053FC4 ; =sub_020540C8 + str r2, [r1, #0x8] + ldr r2, _02053FC8 ; =sub_020540E8 + str r2, [r1, #0xc] + b _02053FB6 +_02053F72: + .byte 0x16, 0x4A, 0x4A, 0x60, 0x16, 0x4A, 0x8A, 0x60, 0x16, 0x4A, 0xCA, 0x60, 0x1A, 0xE0 + .byte 0x15, 0x4A, 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x13, 0xE0, 0x15, 0x4A + .byte 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x0C, 0xE0, 0x14, 0x4A, 0x4A, 0x60 + .byte 0x14, 0x4A, 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60, 0x05, 0xE0, 0x14, 0x4A, 0x4A, 0x60, 0x14, 0x4A + .byte 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60 +_02053FB6: + ldr r2, [r1, #0x4] + add r0, r0, #0x4 + blx r2 + pop {r3-r5, pc} + nop +_02053FC0: .word sub_02054088 + 1 +_02053FC4: .word sub_020540C8 + 1 +_02053FC8: .word sub_020540E8 + 1 +_02053FCC: + .byte 0x69, 0x41, 0x05, 0x02 + .byte 0xA5, 0x41, 0x05, 0x02, 0xC5, 0x41, 0x05, 0x02, 0xE9, 0x41, 0x05, 0x02, 0x29, 0x42, 0x05, 0x02 + .byte 0x49, 0x42, 0x05, 0x02, 0xA5, 0x42, 0x05, 0x02, 0xE9, 0x42, 0x05, 0x02, 0x09, 0x43, 0x05, 0x02 + .byte 0xD9, 0x43, 0x05, 0x02, 0x2D, 0x44, 0x05, 0x02, 0x4D, 0x44, 0x05, 0x02, 0x09, 0x45, 0x05, 0x02 + .byte 0x4D, 0x45, 0x05, 0x02, 0x6D, 0x45, 0x05, 0x02 + + thumb_func_start sub_02054008 +sub_02054008: ; 0x02054008 + push {r3-r7, lr} + sub sp, #0x30 + add r5, r0, #0x0 + add r7, sp, #0x0 + add r6, r3, #0x0 + mov r0, #0x0 + add r4, r1, #0x0 + add r3, r7, #0x0 + add r1, r0, #0x0 + stmia r3!, {r0-r1} + stmia r3!, {r0-r1} + stmia r3!, {r0-r1} + stmia r3!, {r0-r1} + stmia r3!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r3, sp, #0x8 + str r0, [sp, #0x0] + ldr r0, [r5, #0x4] + ldr r1, [r0, #0x0] + mov r0, #0x24 + mul r0, r4 + add r0, r1, r0 + str r0, [sp, #0x4] + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + add r2, sp, #0x14 + str r0, [r3, #0x0] + ldr r3, _0205406C ; =0x020F5C08 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r0, [sp, #0x48] + str r6, [sp, #0x24] + str r0, [sp, #0x28] + mov r0, #0x4 + str r0, [sp, #0x2c] + add r0, r7, #0x0 + bl sub_0201FE94 + add r4, r0, #0x0 + bne _02054064 + bl sub_02020C2C +_02054064: + add r0, r4, #0x0 + add sp, #0x30 + pop {r3-r7, pc} + nop +_0205406C: .word 0x020F5C08 + + thumb_func_start sub_02054070 +sub_02054070: ; 0x02054070 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x8] + blx r1 + mov r1, #0x10 + mov r0, #0x0 +_0205407C: + strb r0, [r4, #0x0] + add r4, r4, #0x1 + sub r1, r1, #0x1 + bne _0205407C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02054088 +sub_02054088: ; 0x02054088 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x14 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x14 + mov r1, #0x0 +_0205409C: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _0205409C + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x45 + lsl r0, r0, #0xc + str r0, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + bl sub_02054008 + str r0, [r5, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020540C8 +sub_020540C8: ; 0x020540C8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020540E4 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_020540E4: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020540E8 +sub_020540E8: ; 0x020540E8 + push {r3-r6, lr} + sub sp, #0xc + ldr r4, [r0, #0x0] + mov r2, #0x2 + ldr r0, [r4, #0x10] + lsl r2, r2, #0xe + cmp r0, r2 + bgt _0205415E + add r6, r4, #0x0 + ldmia r6!, {r0-r1} + add r5, sp, #0x0 + add r3, r5, #0x0 + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + lsr r2, r2, #0x4 + str r0, [r5, #0x0] + ldr r0, [r4, #0x10] + ldr r1, [sp, #0x4] + asr r0, r0, #0x4 + lsl r5, r0, #0x2 + ldr r0, _02054164 ; =0x020FFA38 + ldrsh r5, [r0, r5] + asr r0, r5, #0x1f + lsr r6, r5, #0x10 + lsl r0, r0, #0x10 + orr r0, r6 + lsl r6, r5, #0x10 + mov r5, #0x0 + add r2, r6, r2 + adc r0, r5 + lsl r0, r0, #0x14 + lsr r2, r2, #0xc + orr r2, r0 + sub r0, r1, r2 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + add r1, r3, #0x0 + bl sub_02020044 + mov r1, #0x2 + ldr r0, [r4, #0x10] + lsl r1, r1, #0xa + add r0, r0, r1 + str r0, [r4, #0x10] + ldr r0, [r4, #0xc] + lsl r1, r1, #0x1 + bl sub_020201E4 + mov r0, #0x2 + ldr r1, [r4, #0x10] + lsl r0, r0, #0xe + cmp r1, r0 + bne _02054158 + add sp, #0xc + mov r0, #0x2 + pop {r3-r6, pc} +_02054158: + add sp, #0xc + mov r0, #0x1 + pop {r3-r6, pc} +_0205415E: + mov r0, #0x0 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_02054164: .word 0x020FFA38 + + thumb_func_start sub_02054168 +sub_02054168: ; 0x02054168 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x14 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x14 + mov r1, #0x0 +_0205417C: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _0205417C + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x6 + lsl r0, r0, #0x10 + mov r1, #0x1 + str r0, [r5, #0x4] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x0] + bl sub_02054008 + str r0, [r5, #0xc] + pop {r3-r5, pc} + + thumb_func_start sub_020541A4 +sub_020541A4: ; 0x020541A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020541C0 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_020541C0: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020541C4 +sub_020541C4: ; 0x020541C4 + push {r4, lr} + ldr r4, [r0, #0x0] + ldr r0, [r4, #0x10] + cmp r0, #0x7 + bge _020541E2 + mov r1, #0x1 + ldr r0, [r4, #0xc] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + mov r0, #0x1 + pop {r4, pc} +_020541E2: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020541E8 +sub_020541E8: ; 0x020541E8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x14 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x14 + mov r1, #0x0 +_020541FC: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _020541FC + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x3 + lsl r0, r0, #0x12 + str r0, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + bl sub_02054008 + str r0, [r5, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02054228 +sub_02054228: ; 0x02054228 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02054244 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_02054244: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02054248 +sub_02054248: ; 0x02054248 + push {r4, lr} + ldr r4, [r0, #0x0] + mov r0, #0x2 + ldr r1, [r4, #0x4] + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [r4, #0x4] + ldr r0, [r4, #0xc] + add r1, r4, #0x0 + bl sub_02020044 + mov r1, #0x1 + ldr r0, [r4, #0xc] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, [r4, #0x10] + ldr r1, [r4, #0x4] + cmp r0, #0x0 + bne _02054284 + mov r0, #0x6 + lsl r0, r0, #0x12 + cmp r1, r0 + blt _0205429A + ldr r0, _020542A0 ; =0xFFFE0000 + str r0, [r4, #0x4] + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _0205429A +_02054284: + mov r0, #0x45 + lsl r0, r0, #0xc + cmp r1, r0 + blt _0205429A + str r0, [r4, #0x4] + ldr r0, [r4, #0xc] + add r1, r4, #0x0 + bl sub_02020044 + mov r0, #0x0 + pop {r4, pc} +_0205429A: + mov r0, #0x1 + pop {r4, pc} + nop +_020542A0: .word 0xFFFE0000 + + thumb_func_start sub_020542A4 +sub_020542A4: ; 0x020542A4 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x18 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x18 + mov r1, #0x0 +_020542B8: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _020542B8 + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x45 + lsl r0, r0, #0xc + str r0, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + bl sub_02054008 + mov r1, #0x1 + str r0, [r5, #0xc] + bl sub_02020130 + pop {r3-r5, pc} + + thumb_func_start sub_020542E8 +sub_020542E8: ; 0x020542E8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02054304 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_02054304: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02054308 +sub_02054308: ; 0x02054308 + push {r3-r5, lr} + ldr r4, [r0, #0x0] + mov r5, #0x1 + ldr r0, [r4, #0x10] + cmp r0, #0x4 + bhi _020543CC + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r6, r4, #0 + lsl r4, r2, #0x1 + lsl r0, r0, #0x2 + lsl r0, r5, #0x2 + ldr r1, [r4, #0x14] + ldr r0, _020543D0 ; =0x00000333 + add r1, r1, r0 + str r1, [r4, #0x14] + ldr r0, [r4, #0xc] + bl sub_020201E4 + ldr r1, [r4, #0x14] + lsl r0, r5, #0xd + cmp r1, r0 + blt _020543CC + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020543CC +_02054348: + .byte 0x61, 0x68, 0x22, 0x48, 0x81, 0x42, 0x0B, 0xDD + .byte 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x73, 0xFE, 0xE0, 0x68 + .byte 0x61, 0x69, 0xCB, 0xF7, 0x3F, 0xFF, 0x31, 0xE0, 0x06, 0x20, 0x80, 0x04, 0x60, 0x60, 0x20, 0x69 + .byte 0x40, 0x1C, 0x20, 0x61, 0x2A, 0xE0, 0x61, 0x68, 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68 + .byte 0x21, 0x1C, 0xCB, 0xF7, 0x5F, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7, 0x2B, 0xFF, 0x4B, 0x20 + .byte 0x61, 0x68, 0x80, 0x03, 0x81, 0x42, 0x19, 0xDA, 0x20, 0x69, 0x02, 0x25, 0x40, 0x1C, 0x20, 0x61 + .byte 0x14, 0xE0, 0x03, 0x21, 0x62, 0x68, 0x89, 0x04, 0x8A, 0x42, 0x0B, 0xDD, 0xE8, 0x03, 0x10, 0x1A + .byte 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x45, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7 + .byte 0x11, 0xFF, 0x03, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25 +_020543CC: + add r0, r5, #0x0 + pop {r3-r5, pc} + .balign 4 +_020543D0: .word 0x00000333 +_020543D4: + .byte 0x00, 0x00, 0xFE, 0xFF + + thumb_func_start sub_020543D8 +sub_020543D8: ; 0x020543D8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x18 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x18 + mov r1, #0x0 +_020543EC: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _020543EC + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x45 + lsl r0, r0, #0xc + str r0, [r5, #0x4] + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + bl sub_02054008 + mov r1, #0x1 + str r0, [r5, #0xc] + bl sub_02020130 + mov r0, #0x2 + lsl r0, r0, #0xc + str r0, [r5, #0x14] + ldr r0, [r5, #0xc] + mov r1, #0x0 + bl sub_020200A0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205442C +sub_0205442C: ; 0x0205442C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02054448 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_02054448: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205444C +sub_0205444C: ; 0x0205444C + push {r4-r7, lr} + sub sp, #0xc + ldr r4, [r0, #0x0] + mov r5, #0x1 + ldr r0, [r4, #0x10] + cmp r0, #0x3 + bhi _020544F8 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r6, r2, #0 + lsl r2, r6, #0x1 + lsl r6, r1, #0x2 + ldr r0, [r4, #0xc] + add r1, r5, #0x0 + bl sub_020200A0 + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020544F8 +_0205447E: + .byte 0x62, 0x69 + .byte 0xE9, 0x03, 0x8A, 0x42, 0x26, 0xDC, 0x26, 0x1C, 0x03, 0xCE, 0x00, 0xAB, 0x1A, 0x1C, 0x03, 0xC3 + .byte 0x30, 0x68, 0x00, 0x27, 0x18, 0x60, 0x60, 0x69, 0x01, 0x9E, 0x00, 0x11, 0x81, 0x00, 0x18, 0x48 + .byte 0x40, 0x5E, 0xC3, 0x17, 0xC1, 0x0B, 0x5B, 0x04, 0x0B, 0x43, 0x41, 0x04, 0xE8, 0x02, 0x08, 0x18 + .byte 0x7B, 0x41, 0x19, 0x05, 0x00, 0x0B, 0x08, 0x43, 0x30, 0x1A, 0x01, 0x90, 0xE0, 0x68, 0x11, 0x1C + .byte 0xCB, 0xF7, 0xC0, 0xFD, 0x60, 0x69, 0x29, 0x03, 0x40, 0x18, 0x60, 0x61, 0xE0, 0x68, 0xCB, 0xF7 + .byte 0x89, 0xFE, 0x11, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x0E, 0xE0, 0x61, 0x69, 0x09, 0x48, 0x09, 0x1A + .byte 0x61, 0x61, 0xE0, 0x68, 0xCB, 0xF7, 0x7E, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x04, 0xDC, 0x20, 0x69 + .byte 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25 +_020544F8: + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02054500: + .byte 0x38, 0xFA, 0x0F, 0x02, 0x66, 0x06, 0x00, 0x00 + + thumb_func_start sub_02054508 +sub_02054508: ; 0x02054508 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x4 + mov r1, #0x14 + bl sub_02016998 + str r0, [r5, #0x0] + mov r2, #0x14 + mov r1, #0x0 +_0205451C: + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _0205451C + ldr r5, [r5, #0x0] + mov r0, #0x7 + lsl r0, r0, #0x10 + str r0, [r5, #0x0] + mov r0, #0x6 + lsl r0, r0, #0x10 + mov r1, #0x1 + str r0, [r5, #0x4] + add r0, r4, #0x0 + add r2, r5, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x0] + bl sub_02054008 + mov r1, #0x1 + str r0, [r5, #0xc] + bl sub_02020130 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205454C +sub_0205454C: ; 0x0205454C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02054568 + ldr r0, [r0, #0xc] + bl sub_0201FFC8 + ldr r1, [r4, #0x0] + mov r0, #0x4 + bl sub_02016A8C + mov r0, #0x0 + str r0, [r4, #0x0] +_02054568: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205456C +sub_0205456C: ; 0x0205456C + push {r4, lr} + ldr r4, [r0, #0x0] + ldr r0, [r4, #0x10] + cmp r0, #0x8 + bge _0205458A + mov r1, #0x1 + ldr r0, [r4, #0xc] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + mov r0, #0x1 + pop {r4, pc} +_0205458A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02054590 +sub_02054590: ; 0x02054590 + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x1 + bne _0205459C + bl sub_0201BD5C +_0205459C: + mov r1, #0x1a + add r0, r4, #0x0 + lsl r1, r1, #0x4 + mov r2, #0x4 + bl sub_02002ED0 + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + mov r2, #0x4 + bl sub_02002EEC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020545B8 +sub_020545B8: ; 0x020545B8 + push {lr} + sub sp, #0x14 + cmp r2, #0x3 + bne _020545E0 + mov r2, #0x13 + str r2, [sp, #0x0] + mov r2, #0x1b + str r2, [sp, #0x4] + mov r2, #0x4 + str r2, [sp, #0x8] + mov r2, #0xc + str r2, [sp, #0xc] + ldr r2, _02054604 ; =0x0000032D + mov r3, #0x2 + str r2, [sp, #0x10] + mov r2, #0x3 + bl sub_02019064 + add sp, #0x14 + pop {pc} +_020545E0: + mov r2, #0x13 + str r2, [sp, #0x0] + mov r2, #0x1b + str r2, [sp, #0x4] + mov r2, #0x4 + str r2, [sp, #0x8] + mov r2, #0xc + str r2, [sp, #0xc] + mov r2, #0x65 + lsl r2, r2, #0x2 + str r2, [sp, #0x10] + mov r2, #0x7 + mov r3, #0x2 + bl sub_02019064 + add sp, #0x14 + pop {pc} + nop +_02054604: .word 0x0000032D + + thumb_func_start sub_02054608 +sub_02054608: ; 0x02054608 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r5, r0, #0x0 + bl sub_0201AB08 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02025084 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + ldr r2, _02054648 ; =0x000003E2 + add r1, r6, #0x0 + mov r3, #0xa + bl sub_0200CD68 + add r0, r5, #0x0 + bl sub_0205464C + ldr r2, _02054648 ; =0x000003E2 + add r0, r5, #0x0 + mov r1, #0x0 + mov r3, #0xa + bl sub_0200D0BC + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_02054648: .word 0x000003E2 + + thumb_func_start sub_0205464C +sub_0205464C: ; 0x0205464C + ldr r3, _02054654 ; =sub_02019620 + mov r1, #0xf + bx r3 + nop +_02054654: .word sub_02019620 + 1 + + thumb_func_start sub_02054658 +sub_02054658: ; 0x02054658 + push {r3-r6, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, r3, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02002B60 + mov r0, #0x0 + bl sub_02002B7C + mov r0, #0x0 + bl sub_02002BB8 + add r0, r6, #0x0 + bl sub_02024FF4 + mov r3, #0x0 + str r3, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + str r3, [sp, #0x8] + bl sub_0201BD84 + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_02054690 +sub_02054690: ; 0x02054690 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + add r6, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_02002B60 + ldr r0, [sp, #0x24] + bl sub_02002B7C + mov r0, #0x0 + bl sub_02002BB8 + mov r3, #0x0 + str r3, [sp, #0x0] + str r4, [sp, #0x4] + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + str r3, [sp, #0x8] + bl sub_0201BD84 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020546C8 +sub_020546C8: ; 0x020546C8 + push {r3, lr} + bl sub_0201BD70 + cmp r0, #0x0 + bne _020546D6 + mov r0, #0x1 + b _020546D8 +_020546D6: + mov r0, #0x0 +_020546D8: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020546E0 +sub_020546E0: ; 0x020546E0 + push {r4-r5, lr} + sub sp, #0x14 + cmp r2, #0x1 + bhi _020546EE + mov r4, #0x9 + mov r5, #0x14 + b _020546F2 +_020546EE: + mov r4, #0x2 + mov r5, #0x1b +_020546F2: + cmp r3, #0x3 + bne _0205471A + mov r2, #0x13 + str r2, [sp, #0x0] + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0x4] + mov r2, #0x4 + str r2, [sp, #0x8] + mov r2, #0x9 + str r2, [sp, #0xc] + ldr r2, _02054740 ; =0x0000032D + lsl r3, r4, #0x18 + str r2, [sp, #0x10] + mov r2, #0x3 + lsr r3, r3, #0x18 + bl sub_02019064 + add sp, #0x14 + pop {r4-r5, pc} +_0205471A: + mov r2, #0x13 + str r2, [sp, #0x0] + lsl r2, r5, #0x18 + lsr r2, r2, #0x18 + str r2, [sp, #0x4] + mov r2, #0x4 + str r2, [sp, #0x8] + mov r2, #0x9 + str r2, [sp, #0xc] + mov r2, #0x65 + lsl r2, r2, #0x2 + lsl r3, r4, #0x18 + str r2, [sp, #0x10] + mov r2, #0x7 + lsr r3, r3, #0x18 + bl sub_02019064 + add sp, #0x14 + pop {r4-r5, pc} + .balign 4 +_02054740: .word 0x0000032D + + thumb_func_start sub_02054744 +sub_02054744: ; 0x02054744 + push {r3-r6, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + bl sub_0201AB08 + add r1, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + str r6, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + ldr r2, _02054788 ; =0x00000399 + mov r3, #0x9 + bl sub_0200D300 + add r0, r5, #0x0 + mov r1, #0xf + bl sub_02019620 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r2, _02054788 ; =0x00000399 + add r0, r5, #0x0 + mov r1, #0x0 + mov r3, #0x9 + bl sub_0200D6F8 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_02054788: .word 0x00000399 + + thumb_func_start sub_0205478C +sub_0205478C: ; 0x0205478C + cmp r0, #0x2 + bne _02054794 + mov r0, #0x1 + bx lr +_02054794: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054798 +sub_02054798: ; 0x02054798 + cmp r0, #0x3 + bne _020547A0 + mov r0, #0x1 + bx lr +_020547A0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547A4 +sub_020547A4: ; 0x020547A4 + cmp r0, #0x80 + bne _020547AC + mov r0, #0x1 + bx lr +_020547AC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547B0 +sub_020547B0: ; 0x020547B0 + cmp r0, #0x69 + bne _020547B8 + mov r0, #0x1 + bx lr +_020547B8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547BC +sub_020547BC: ; 0x020547BC + cmp r0, #0x62 + bne _020547C4 + mov r0, #0x1 + bx lr +_020547C4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547C8 +sub_020547C8: ; 0x020547C8 + cmp r0, #0x63 + bne _020547D0 + mov r0, #0x1 + bx lr +_020547D0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547D4 +sub_020547D4: ; 0x020547D4 + cmp r0, #0x64 + bne _020547DC + mov r0, #0x1 + bx lr +_020547DC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547E0 +sub_020547E0: ; 0x020547E0 + cmp r0, #0x65 + bne _020547E8 + mov r0, #0x1 + bx lr +_020547E8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547EC +sub_020547EC: ; 0x020547EC + cmp r0, #0x6c + bne _020547F4 + mov r0, #0x1 + bx lr +_020547F4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020547F8 +sub_020547F8: ; 0x020547F8 + cmp r0, #0x6d + bne _02054800 + mov r0, #0x1 + bx lr +_02054800: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054804 +sub_02054804: ; 0x02054804 + cmp r0, #0x6e + bne _0205480C + mov r0, #0x1 + bx lr +_0205480C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054810 +sub_02054810: ; 0x02054810 + cmp r0, #0x6f + bne _02054818 + mov r0, #0x1 + bx lr +_02054818: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205481C +sub_0205481C: ; 0x0205481C + ldr r1, _0205482C ; =0x020F5C14 + ldrb r1, [r1, r0] + mov r0, #0x1 + tst r1, r0 + bne _02054828 + mov r0, #0x0 +_02054828: + bx lr + nop +_0205482C: .word 0x020F5C14 + + thumb_func_start sub_02054830 +sub_02054830: ; 0x02054830 + cmp r0, #0x21 + bne _02054838 + mov r0, #0x1 + bx lr +_02054838: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205483C +sub_0205483C: ; 0x0205483C + cmp r0, #0x17 + bne _02054844 + mov r0, #0x1 + bx lr +_02054844: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054848 +sub_02054848: ; 0x02054848 + cmp r0, #0x3a + bne _02054850 + mov r0, #0x1 + bx lr +_02054850: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054854 +sub_02054854: ; 0x02054854 + cmp r0, #0x3b + bne _0205485C + mov r0, #0x1 + bx lr +_0205485C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054860 +sub_02054860: ; 0x02054860 + cmp r0, #0x39 + bne _02054868 + mov r0, #0x1 + bx lr +_02054868: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205486C +sub_0205486C: ; 0x0205486C + cmp r0, #0x38 + bne _02054874 + mov r0, #0x1 + bx lr +_02054874: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054878 +sub_02054878: ; 0x02054878 + cmp r0, #0x83 + bne _02054880 + mov r0, #0x1 + bx lr +_02054880: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054884 +sub_02054884: ; 0x02054884 + cmp r0, #0x85 + bne _0205488C + mov r0, #0x1 + bx lr +_0205488C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054890 +sub_02054890: ; 0x02054890 + cmp r0, #0x56 + bne _02054898 + mov r0, #0x1 + bx lr +_02054898: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205489C +sub_0205489C: ; 0x0205489C + cmp r0, #0x57 + bne _020548A4 + mov r0, #0x1 + bx lr +_020548A4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548A8 +sub_020548A8: ; 0x020548A8 + cmp r0, #0x58 + bne _020548B0 + mov r0, #0x1 + bx lr +_020548B0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548B4 +sub_020548B4: ; 0x020548B4 + cmp r0, #0x59 + bne _020548BC + mov r0, #0x1 + bx lr +_020548BC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548C0 +sub_020548C0: ; 0x020548C0 + cmp r0, #0x6a + bne _020548C8 + mov r0, #0x1 + bx lr +_020548C8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548CC +sub_020548CC: ; 0x020548CC + cmp r0, #0x6b + bne _020548D4 + mov r0, #0x1 + bx lr +_020548D4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548D8 +sub_020548D8: ; 0x020548D8 + cmp r0, #0x5e + bne _020548E0 + mov r0, #0x1 + bx lr +_020548E0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548E4 +sub_020548E4: ; 0x020548E4 + cmp r0, #0x5f + bne _020548EC + mov r0, #0x1 + bx lr +_020548EC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548F0 +sub_020548F0: ; 0x020548F0 + cmp r0, #0x20 + bne _020548F8 + mov r0, #0x1 + bx lr +_020548F8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020548FC +sub_020548FC: ; 0x020548FC + cmp r0, #0x4b + bne _02054904 + mov r0, #0x1 + bx lr +_02054904: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054908 +sub_02054908: ; 0x02054908 + cmp r0, #0x4c + bne _02054910 + mov r0, #0x1 + bx lr +_02054910: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054914 +sub_02054914: ; 0x02054914 + cmp r0, #0xe0 + bne _0205491C + mov r0, #0x1 + bx lr +_0205491C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054920 +sub_02054920: ; 0x02054920 + cmp r0, #0xea + bne _02054928 + mov r0, #0x1 + bx lr +_02054928: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205492C +sub_0205492C: ; 0x0205492C + cmp r0, #0xe1 + bne _02054934 + mov r0, #0x1 + bx lr +_02054934: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054938 +sub_02054938: ; 0x02054938 + cmp r0, #0xe2 + bne _02054940 + mov r0, #0x1 + bx lr +_02054940: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054944 +sub_02054944: ; 0x02054944 + cmp r0, #0xe4 + bne _0205494C + mov r0, #0x1 + bx lr +_0205494C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054950 +sub_02054950: ; 0x02054950 + cmp r0, #0xe5 + bne _02054958 + mov r0, #0x1 + bx lr +_02054958: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205495C +sub_0205495C: ; 0x0205495C + cmp r0, #0xeb + bne _02054964 + mov r0, #0x1 + bx lr +_02054964: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054968 +sub_02054968: ; 0x02054968 + cmp r0, #0xec + bne _02054970 + mov r0, #0x1 + bx lr +_02054970: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054974 +sub_02054974: ; 0x02054974 + cmp r0, #0xa4 + beq _0205497C + cmp r0, #0xa5 + bne _02054980 +_0205497C: + mov r0, #0x1 + bx lr +_02054980: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054984 +sub_02054984: ; 0x02054984 + cmp r0, #0xa5 + bne _0205498C + mov r0, #0x1 + bx lr +_0205498C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054990 +sub_02054990: ; 0x02054990 + cmp r0, #0xa6 + beq _02054998 + cmp r0, #0xa7 + bne _0205499C +_02054998: + mov r0, #0x1 + bx lr +_0205499C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549A0 +sub_020549A0: ; 0x020549A0 + cmp r0, #0xa7 + bne _020549A8 + mov r0, #0x1 + bx lr +_020549A8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549AC +sub_020549AC: ; 0x020549AC + add r0, #0x5f + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x7 + bhi _020549C6 + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + mov r0, #0x87 + tst r0, r2 + beq _020549C6 + add r3, r1, #0x0 +_020549C6: + add r0, r3, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_020549CC +sub_020549CC: ; 0x020549CC + cmp r0, #0xa8 + bne _020549D4 + mov r0, #0x1 + bx lr +_020549D4: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549D8 +sub_020549D8: ; 0x020549D8 + cmp r0, #0xa1 + bne _020549E0 + mov r0, #0x1 + bx lr +_020549E0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549E4 +sub_020549E4: ; 0x020549E4 + cmp r0, #0xa2 + bne _020549EC + mov r0, #0x1 + bx lr +_020549EC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549F0 +sub_020549F0: ; 0x020549F0 + cmp r0, #0xa3 + bne _020549F8 + mov r0, #0x1 + bx lr +_020549F8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020549FC +sub_020549FC: ; 0x020549FC + cmp r0, #0xd9 + beq _02054A04 + cmp r0, #0xda + bne _02054A08 +_02054A04: + mov r0, #0x1 + bx lr +_02054A08: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A0C +sub_02054A0C: ; 0x02054A0C + cmp r0, #0xd9 + bne _02054A14 + mov r0, #0x1 + bx lr +_02054A14: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A18 +sub_02054A18: ; 0x02054A18 + cmp r0, #0xda + bne _02054A20 + mov r0, #0x1 + bx lr +_02054A20: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A24 +sub_02054A24: ; 0x02054A24 + cmp r0, #0xd7 + bne _02054A2C + mov r0, #0x1 + bx lr +_02054A2C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A30 +sub_02054A30: ; 0x02054A30 + cmp r0, #0xd8 + bne _02054A38 + mov r0, #0x1 + bx lr +_02054A38: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A3C +sub_02054A3C: ; 0x02054A3C + cmp r0, #0x8 + bne _02054A44 + mov r0, #0x1 + bx lr +_02054A44: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A48 +sub_02054A48: ; 0x02054A48 + cmp r0, #0x13 + bne _02054A50 + mov r0, #0x1 + bx lr +_02054A50: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A54 +sub_02054A54: ; 0x02054A54 + cmp r0, #0xdb + bne _02054A5C + mov r0, #0x1 + bx lr +_02054A5C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054A60 +sub_02054A60: ; 0x02054A60 + add r0, #0xce + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x17 + bhi _02054A7A + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054A80 ; =0x0080000D + tst r0, r2 + beq _02054A7A + add r3, r1, #0x0 +_02054A7A: + add r0, r3, #0x0 + bx lr + nop +_02054A80: .word 0x0080000D + + thumb_func_start sub_02054A84 +sub_02054A84: ; 0x02054A84 + add r0, #0xcd + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x16 + bhi _02054A9E + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054AA4 ; =0x00400019 + tst r0, r2 + beq _02054A9E + add r3, r1, #0x0 +_02054A9E: + add r0, r3, #0x0 + bx lr + nop +_02054AA4: .word 0x00400019 + + thumb_func_start sub_02054AA8 +sub_02054AA8: ; 0x02054AA8 + add r0, #0xcf + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x19 + bhi _02054AC2 + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054AC8 ; =0x02000051 + tst r0, r2 + beq _02054AC2 + add r3, r1, #0x0 +_02054AC2: + add r0, r3, #0x0 + bx lr + nop +_02054AC8: .word 0x02000051 + + thumb_func_start sub_02054ACC +sub_02054ACC: ; 0x02054ACC + add r0, #0xd0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x1a + bhi _02054AE6 + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054AEC ; =0x04000051 + tst r0, r2 + beq _02054AE6 + add r3, r1, #0x0 +_02054AE6: + add r0, r3, #0x0 + bx lr + nop +_02054AEC: .word 0x04000051 + + thumb_func_start sub_02054AF0 +sub_02054AF0: ; 0x02054AF0 + cmp r0, #0x16 + bne _02054AF8 + mov r0, #0x1 + bx lr +_02054AF8: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054AFC +sub_02054AFC: ; 0x02054AFC + ldr r1, _02054B10 ; =0x020F5C14 + ldrb r1, [r1, r0] + mov r0, #0x2 + tst r0, r1 + beq _02054B0A + mov r0, #0x1 + bx lr +_02054B0A: + mov r0, #0x0 + bx lr + nop +_02054B10: .word 0x020F5C14 + + thumb_func_start sub_02054B14 +sub_02054B14: ; 0x02054B14 + cmp r0, #0x86 + bne _02054B1C + mov r0, #0x1 + bx lr +_02054B1C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B20 +sub_02054B20: ; 0x02054B20 + cmp r0, #0x16 + beq _02054B28 + cmp r0, #0x10 + bne _02054B2C +_02054B28: + mov r0, #0x1 + bx lr +_02054B2C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B30 +sub_02054B30: ; 0x02054B30 + cmp r0, #0x40 + bne _02054B38 + mov r0, #0x1 + bx lr +_02054B38: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B3C +sub_02054B3C: ; 0x02054B3C + cmp r0, #0x41 + bne _02054B44 + mov r0, #0x1 + bx lr +_02054B44: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B48 +sub_02054B48: ; 0x02054B48 + cmp r0, #0x42 + bne _02054B50 + mov r0, #0x1 + bx lr +_02054B50: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B54 +sub_02054B54: ; 0x02054B54 + cmp r0, #0x43 + bne _02054B5C + mov r0, #0x1 + bx lr +_02054B5C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B60 +sub_02054B60: ; 0x02054B60 + cmp r0, #0x67 + bne _02054B68 + mov r0, #0x1 + bx lr +_02054B68: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B6C +sub_02054B6C: ; 0x02054B6C + cmp r0, #0x70 + bne _02054B74 + mov r0, #0x1 + bx lr +_02054B74: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054B78 +sub_02054B78: ; 0x02054B78 + add r0, #0x8f + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0xc + bhi _02054B86 + mov r0, #0x1 + bx lr +_02054B86: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02054B8C +sub_02054B8C: ; 0x02054B8C + add r0, #0x8d + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x9 + bhi _02054BA6 + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054BAC ; =0x00000221 + tst r0, r2 + beq _02054BA6 + add r3, r1, #0x0 +_02054BA6: + add r0, r3, #0x0 + bx lr + nop +_02054BAC: .word 0x00000221 + + thumb_func_start sub_02054BB0 +sub_02054BB0: ; 0x02054BB0 + add r0, #0x8c + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r3, #0x0 + cmp r0, #0x9 + bhi _02054BCA + mov r1, #0x1 + add r2, r1, #0x0 + lsl r2, r0 + ldr r0, _02054BD0 ; =0x00000221 + tst r0, r2 + beq _02054BCA + add r3, r1, #0x0 +_02054BCA: + add r0, r3, #0x0 + bx lr + nop +_02054BD0: .word 0x00000221 + + thumb_func_start sub_02054BD4 +sub_02054BD4: ; 0x02054BD4 + cmp r0, #0x75 + bne _02054BDC + mov r0, #0x1 + bx lr +_02054BDC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054BE0 +sub_02054BE0: ; 0x02054BE0 + add r0, #0x8a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bhi _02054BEE + mov r0, #0x1 + bx lr +_02054BEE: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02054BF4 +sub_02054BF4: ; 0x02054BF4 + add r0, #0x86 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x3 + bhi _02054C02 + mov r0, #0x1 + bx lr +_02054C02: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02054C08 +sub_02054C08: ; 0x02054C08 + cmp r0, #0xff + bne _02054C10 + mov r0, #0x1 + bx lr +_02054C10: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02054C14 +sub_02054C14: ; 0x02054C14 + push {r4, lr} + mov r1, #0xa + add r4, r0, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C26 + mov r0, #0x1 + pop {r4, pc} +_02054C26: + add r0, r4, #0x0 + mov r1, #0x64 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C36 + mov r0, #0x2 + pop {r4, pc} +_02054C36: + mov r1, #0xfa + add r0, r4, #0x0 + lsl r1, r1, #0x2 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C48 + mov r0, #0x3 + pop {r4, pc} +_02054C48: + ldr r1, _02054C9C ; =0x00002710 + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C58 + mov r0, #0x4 + pop {r4, pc} +_02054C58: + ldr r1, _02054CA0 ; =0x000186A0 + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C68 + mov r0, #0x5 + pop {r4, pc} +_02054C68: + ldr r1, _02054CA4 ; =0x000F4240 + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C78 + mov r0, #0x6 + pop {r4, pc} +_02054C78: + ldr r1, _02054CA8 ; =0x00989680 + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C88 + mov r0, #0x7 + pop {r4, pc} +_02054C88: + ldr r1, _02054CAC ; =0x05F5E100 + add r0, r4, #0x0 + blx sub_020EBE8C + cmp r0, #0x0 + bne _02054C98 + mov r0, #0x8 + pop {r4, pc} +_02054C98: + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_02054C9C: .word 0x00002710 +_02054CA0: .word 0x000186A0 +_02054CA4: .word 0x000F4240 +_02054CA8: .word 0x00989680 +_02054CAC: .word 0x05F5E100 + + thumb_func_start sub_02054CB0 +sub_02054CB0: ; 0x02054CB0 + mov r1, #0x52 + lsl r1, r1, #0x2 + cmp r0, r1 + blo _02054CC2 + add r1, #0x63 + cmp r0, r1 + bhi _02054CC2 + mov r0, #0x1 + bx lr +_02054CC2: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02054CC8 +sub_02054CC8: ; 0x02054CC8 + cmp r0, #0xe + bhi _02054CD0 + mov r0, #0x6 + bx lr +_02054CD0: + cmp r0, #0x18 + bhi _02054CD8 + mov r0, #0x7 + bx lr +_02054CD8: + cmp r0, #0x27 + bhi _02054CE0 + mov r0, #0x8 + bx lr +_02054CE0: + cmp r0, #0x3b + bhi _02054CE8 + mov r0, #0x9 + bx lr +_02054CE8: + cmp r0, #0x59 + bhi _02054CF0 + mov r0, #0xa + bx lr +_02054CF0: + cmp r0, #0x72 + bhi _02054CF8 + mov r0, #0xb + bx lr +_02054CF8: + cmp r0, #0x86 + bhi _02054D00 + mov r0, #0xc + bx lr +_02054D00: + cmp r0, #0x90 + bhi _02054D08 + mov r0, #0xd + bx lr +_02054D08: + cmp r0, #0x95 + bhi _02054D10 + mov r0, #0xe + bx lr +_02054D10: + cmp r1, #0x0 + beq _02054D18 + mov r0, #0x4 + bx lr +_02054D18: + mov r0, #0x5 + bx lr + + thumb_func_start sub_02054D1C +sub_02054D1C: ; 0x02054D1C + cmp r0, #0x27 + bhi _02054D24 + mov r0, #0x13 + bx lr +_02054D24: + cmp r0, #0x3b + bhi _02054D2C + mov r0, #0x14 + bx lr +_02054D2C: + cmp r0, #0x59 + bhi _02054D34 + mov r0, #0x15 + bx lr +_02054D34: + cmp r0, #0x77 + bhi _02054D3C + mov r0, #0x16 + bx lr +_02054D3C: + cmp r0, #0x95 + bhi _02054D44 + mov r0, #0x17 + bx lr +_02054D44: + cmp r0, #0xbd + bhi _02054D4C + mov r0, #0x18 + bx lr +_02054D4C: + cmp r0, #0xe5 + bhi _02054D54 + mov r0, #0x19 + bx lr +_02054D54: + ldr r2, _02054DE8 ; =0x0000010D + cmp r0, r2 + bhi _02054D5E + mov r0, #0x1a + bx lr +_02054D5E: + add r3, r2, #0x0 + add r3, #0x28 + cmp r0, r3 + bhi _02054D6A + mov r0, #0x1b + bx lr +_02054D6A: + add r3, r2, #0x0 + add r3, #0x50 + cmp r0, r3 + bhi _02054D76 + mov r0, #0x1c + bx lr +_02054D76: + add r3, r2, #0x0 + add r3, #0x6e + cmp r0, r3 + bhi _02054D82 + mov r0, #0x1d + bx lr +_02054D82: + add r3, r2, #0x0 + add r3, #0x8c + cmp r0, r3 + bhi _02054D8E + mov r0, #0x1e + bx lr +_02054D8E: + add r3, r2, #0x0 + add r3, #0xa0 + cmp r0, r3 + bhi _02054DA2 + cmp r1, #0x0 + beq _02054D9E + mov r0, #0x20 + bx lr +_02054D9E: + mov r0, #0x1f + bx lr +_02054DA2: + add r3, r2, #0x0 + add r3, #0xb4 + cmp r0, r3 + bhi _02054DAE + mov r0, #0x21 + bx lr +_02054DAE: + add r3, r2, #0x0 + add r3, #0xbe + cmp r0, r3 + bhi _02054DBA + mov r0, #0x22 + bx lr +_02054DBA: + add r3, r2, #0x0 + add r3, #0xc8 + cmp r0, r3 + bhi _02054DC6 + mov r0, #0x23 + bx lr +_02054DC6: + add r3, r2, #0x0 + add r3, #0xce + cmp r0, r3 + bhi _02054DD2 + mov r0, #0x24 + bx lr +_02054DD2: + add r2, #0xd4 + cmp r0, r2 + bhi _02054DDC + mov r0, #0x25 + bx lr +_02054DDC: + cmp r1, #0x0 + beq _02054DE4 + mov r0, #0x27 + bx lr +_02054DE4: + mov r0, #0x26 + bx lr + .balign 4 +_02054DE8: .word 0x0000010D + + thumb_func_start sub_02054DEC +sub_02054DEC: ; 0x02054DEC + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_0206BB1C + bl sub_0206B9AC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r4, _02054E2C ; =0x00000000 + beq _02054E28 + mov r7, #0x4c +_02054E02: + add r0, r6, #0x0 + bl sub_0206BB1C + add r1, r4, #0x0 + bl sub_0206B9B0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02054E1E + add r0, r4, #0x0 + pop {r3-r7, pc} +_02054E1E: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r5 + blo _02054E02 +_02054E28: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02054E2C: .word 0x00000000 + + thumb_func_start sub_02054E30 +sub_02054E30: ; 0x02054E30 + push {r3-r7, lr} + sub sp, #0x10 + mov r7, #0x0 + bl sub_0206BB1C + str r0, [sp, #0x0] + bl sub_0206B9AC + add r4, r0, #0x0 + add r6, r7, #0x0 + cmp r4, #0x0 + ble _02054E64 + add r5, sp, #0x4 +_02054E4A: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x0] + add r6, r6, #0x1 + add r5, r5, #0x2 + cmp r6, r4 + blt _02054E4A +_02054E64: + ldr r2, _02054E9C ; =0x020F5D14 + mov r6, #0x0 +_02054E68: + mov r1, #0x0 + cmp r4, #0x0 + ble _02054E84 + ldrh r5, [r2, #0x0] + add r3, sp, #0x4 +_02054E72: + ldrh r0, [r3, #0x0] + cmp r0, r5 + bne _02054E7C + add r7, r7, #0x1 + b _02054E84 +_02054E7C: + add r1, r1, #0x1 + add r3, r3, #0x2 + cmp r1, r4 + blt _02054E72 +_02054E84: + add r6, r6, #0x1 + add r2, r2, #0x2 + cmp r6, #0x3 + blt _02054E68 + cmp r7, #0x3 + bne _02054E96 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_02054E96: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02054E9C: .word 0x020F5D14 + + thumb_func_start sub_02054EA0 +sub_02054EA0: ; 0x02054EA0 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02046528 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0x2 + lsl r0, r0, #0xe + str r0, [sp, #0x0] + str r0, [sp, #0x8] + ldrh r0, [r4, #0xe] + ldr r5, [r4, #0x4] + bl sub_0201B93C + asr r1, r0, #0x1f + asr r3, r5, #0x1f + add r2, r5, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + str r1, [sp, #0x0] + ldrh r0, [r4, #0xe] + ldr r5, [r4, #0x8] + bl sub_0201B93C + asr r1, r0, #0x1f + asr r3, r5, #0x1f + add r2, r5, #0x0 + blx sub_020EBC30 + mov r2, #0x2 + mov r3, #0x0 + lsl r2, r2, #0xa + add r2, r0, r2 + adc r1, r3 + lsl r0, r1, #0x14 + lsr r1, r2, #0xc + orr r1, r0 + str r1, [sp, #0x8] + str r3, [sp, #0x4] + ldr r0, [r4, #0x0] + add r1, sp, #0x0 + bl sub_02058BB4 + ldrh r1, [r4, #0xe] + ldrh r0, [r4, #0x10] + add r0, r1, r0 + strh r0, [r4, #0xe] + mov r0, #0x5a + ldrh r1, [r4, #0xe] + lsl r0, r0, #0x2 + cmp r1, r0 + blo _02054F28 + mov r0, #0x0 + strh r0, [r4, #0xe] + ldrh r0, [r4, #0xc] + sub r0, r0, #0x1 + strh r0, [r4, #0xc] +_02054F28: + ldrh r0, [r4, #0xc] + cmp r0, #0x0 + bne _02054F4A + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0x4] + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + add r1, sp, #0x0 + bl sub_02058BB4 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r5, pc} +_02054F4A: + mov r0, #0x0 + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_02054F50 +sub_02054F50: ; 0x02054F50 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02046528 + str r0, [sp, #0x0] + mov r0, #0xb + mov r1, #0x14 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x14 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, sp, #0x8 + ldrh r0, [r0, #0x10] + cmp r0, #0x0 + beq _02054F8A + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _02054F98 +_02054F8A: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_02054F98: + blx sub_020EB4C0 + str r0, [r4, #0x4] + add r0, sp, #0x8 + ldrh r0, [r0, #0x14] + cmp r0, #0x0 + beq _02054FB8 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _02054FC6 +_02054FB8: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_02054FC6: + blx sub_020EB4C0 + str r0, [r4, #0x8] + strh r6, [r4, #0xc] + strh r7, [r4, #0x10] + ldr r0, [sp, #0x0] + str r5, [r4, #0x0] + ldr r0, [r0, #0x10] + ldr r1, _02054FE0 ; =sub_02054EA0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02054FE0: .word sub_02054EA0 + 1 + + thumb_func_start sub_02054FE4 +sub_02054FE4: ; 0x02054FE4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldrb r1, [r4, #0x9] + ldr r0, [r4, #0x0] + bl sub_0205889C + ldrb r1, [r4, #0x8] + add r0, r1, #0x1 + strb r0, [r4, #0x8] + ldrh r0, [r4, #0x6] + cmp r1, r0 + blt _02055028 + ldrb r1, [r4, #0x9] + mov r0, #0x1 + eor r0, r1 + strb r0, [r4, #0x9] + mov r0, #0x0 + strb r0, [r4, #0x8] + ldrh r1, [r4, #0x4] + sub r0, r1, #0x1 + strh r0, [r4, #0x4] + cmp r1, #0x0 + bne _02055028 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r4, pc} +_02055028: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205502C +sub_0205502C: ; 0x0205502C + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02046528 + str r0, [sp, #0x0] + mov r0, #0xb + mov r1, #0xc + bl sub_020169D8 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0xc + blx sub_020CE34C + strh r6, [r4, #0x4] + strh r7, [r4, #0x6] + str r5, [r4, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x9] + ldr r0, [sp, #0x0] + ldr r1, _02055064 ; =sub_02054FE4 + ldr r0, [r0, #0x10] + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_02055064: .word sub_02054FE4 + 1 + + thumb_func_start sub_02055068 +sub_02055068: ; 0x02055068 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x8] + bl sub_0205517C + ldr r1, [sp, #0x20] + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x28] + add r6, r0, #0x0 + bl sub_0205519C + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x24] + bl sub_020555A0 + add r2, r0, #0x0 + str r5, [sp, #0x0] + ldr r3, [sp, #0x8] + add r0, r6, #0x0 + add r1, r7, #0x0 + str r4, [sp, #0x4] + bl sub_02055208 + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020550A4 +sub_020550A4: ; 0x020550A4 + push {r3-r7, lr} + add r4, r1, #0x0 + add r7, r0, #0x0 + add r6, r2, #0x0 + bl sub_0205517C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020554C8 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_0205519C + add r0, r7, #0x0 + bl sub_020552E4 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_020555A0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058454 + mov r1, #0x9 + add r0, r4, #0x0 + lsl r1, r1, #0xa + bl sub_02058410 + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + bl sub_02058418 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02058AC8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205539C + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02055108 +sub_02055108: ; 0x02055108 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bne _02055118 + bl sub_02020C2C +_02055118: + add r0, r4, #0x0 + bl sub_02058578 + add r0, r5, #0x0 + bl sub_021EDBC8 + add r0, r5, #0x0 + bl sub_020553C4 + cmp r0, #0x2 + bne _0205515C + add r0, r5, #0x0 + bl sub_02055320 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205532C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_020552F8 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0224ABAC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02055450 +_0205515C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02055160 +sub_02055160: ; 0x02055160 + ldr r3, _02055164 ; =sub_02016A18 + bx r3 + .balign 4 +_02055164: .word sub_02016A18 + 1 + + thumb_func_start sub_02055168 +sub_02055168: ; 0x02055168 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020553A0 + bl sub_02057654 + add r0, r4, #0x0 + bl sub_02055160 + pop {r4, pc} + + thumb_func_start sub_0205517C +sub_0205517C: ; 0x0205517C + push {r4, lr} + mov r0, #0xb + mov r1, #0x3c + bl sub_02016998 + add r4, r0, #0x0 + bne _0205518E + bl sub_02020C2C +_0205518E: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x3c + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205519C +sub_0205519C: ; 0x0205519C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r1, r3, #0x0 + add r6, r2, #0x0 + bl sub_02055458 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020553A8 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020553E4 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020553DC + add r0, r5, #0x0 + bl sub_02055410 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + bl sub_0205542C + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + bl sub_02055434 + add r0, r5, #0x0 + mov r1, #0xff + bl sub_02055460 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020556C8 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205574C + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02055208 +sub_02055208: ; 0x02055208 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + str r2, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r0, r1, #0x0 + ldr r1, [sp, #0x18] + ldr r2, [sp, #0x1c] + bl sub_0205753C + add r5, r0, #0x0 + bne _02055228 + bl sub_02020C2C +_02055228: + add r0, r5, #0x0 + mov r1, #0xff + bl sub_02058444 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058484 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205848C + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058494 + mov r1, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020584EC + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl sub_020584EC + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x2 + bl sub_020584EC + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + bl sub_02058534 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + bl sub_0205853C + mov r1, #0x9 + add r0, r5, #0x0 + lsl r1, r1, #0xa + bl sub_02058410 + mov r1, #0x6 + add r0, r5, #0x0 + lsl r1, r1, #0x6 + bl sub_02058418 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058AC8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0205539C + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_020552A4 +sub_020552A4: ; 0x020552A4 + push {r3-r7, lr} + sub sp, #0x8 + mov r1, #0x0 + str r1, [sp, #0x4] + str r1, [sp, #0x0] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + add r5, r0, #0x0 + bl sub_020580F4 + cmp r0, #0x0 + beq _020552DE + add r4, sp, #0x0 + add r6, sp, #0x4 + mov r7, #0x1 +_020552C4: + ldr r0, [sp, #0x0] + bl sub_02058480 + cmp r0, #0x1 + beq _020552DE + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_020580F4 + cmp r0, #0x0 + bne _020552C4 +_020552DE: + ldr r0, [sp, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_020552E4 +sub_020552E4: ; 0x020552E4 + push {r4, lr} + bl sub_020552A4 + add r4, r0, #0x0 + bne _020552F2 + bl sub_02020C2C +_020552F2: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020552F8 +sub_020552F8: ; 0x020552F8 + push {r3, lr} + bl sub_020553A0 + bl sub_020584C4 + pop {r3, pc} + + thumb_func_start sub_02055304 +sub_02055304: ; 0x02055304 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_020584AC + pop {r4, pc} + + thumb_func_start sub_02055314 +sub_02055314: ; 0x02055314 + push {r3, lr} + bl sub_020553A0 + bl sub_020584D4 + pop {r3, pc} + + thumb_func_start sub_02055320 +sub_02055320: ; 0x02055320 + push {r3, lr} + bl sub_020553A0 + bl sub_02058B2C + pop {r3, pc} + + thumb_func_start sub_0205532C +sub_0205532C: ; 0x0205532C + push {r3, lr} + bl sub_020553A0 + bl sub_02058B4C + pop {r3, pc} + + thumb_func_start sub_02055338 +sub_02055338: ; 0x02055338 + push {r3, lr} + bl sub_020553A0 + bl sub_02058B14 + pop {r3, pc} + + thumb_func_start sub_02055344 +sub_02055344: ; 0x02055344 + push {r3, lr} + bl sub_020553A0 + bl sub_02058B24 + pop {r3, pc} + + thumb_func_start sub_02055350 +sub_02055350: ; 0x02055350 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_02058B5C + pop {r4, pc} + + thumb_func_start sub_02055360 +sub_02055360: ; 0x02055360 + push {r3, lr} + bl sub_020553A4 + bl sub_02058B7C + pop {r3, pc} + + thumb_func_start sub_0205536C +sub_0205536C: ; 0x0205536C + str r1, [r0, #0x10] + bx lr + + thumb_func_start sub_02055370 +sub_02055370: ; 0x02055370 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_02055374 +sub_02055374: ; 0x02055374 + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_02055378 +sub_02055378: ; 0x02055378 + ldr r0, [r0, #0x14] + bx lr + + thumb_func_start sub_0205537C +sub_0205537C: ; 0x0205537C + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + cmp r4, #0x1 + bne _02055392 + mov r1, #0x2 + lsl r1, r1, #0x8 + bl sub_02058418 + pop {r4, pc} +_02055392: + mov r1, #0x2 + lsl r1, r1, #0x8 + bl sub_02058410 + pop {r4, pc} + + thumb_func_start sub_0205539C +sub_0205539C: ; 0x0205539C + str r1, [r0, #0x2c] + bx lr + + thumb_func_start sub_020553A0 +sub_020553A0: ; 0x020553A0 + ldr r0, [r0, #0x2c] + bx lr + + thumb_func_start sub_020553A4 +sub_020553A4: ; 0x020553A4 + ldr r0, [r0, #0x2c] + bx lr + + thumb_func_start sub_020553A8 +sub_020553A8: ; 0x020553A8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + blt _020553B6 + bl sub_02020C2C +_020553B6: + add r0, r5, #0x0 + add r1, r4, #0x0 + str r4, [r5, #0x18] + bl sub_020554DC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020553C4 +sub_020553C4: ; 0x020553C4 + push {r4, lr} + add r4, r0, #0x0 + bne _020553CE + bl sub_02020C2C +_020553CE: + ldr r0, [r4, #0x18] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020553D4 +sub_020553D4: ; 0x020553D4 + ldr r2, [r0, #0x4] + orr r1, r2 + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_020553DC +sub_020553DC: ; 0x020553DC + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_020553E0 +sub_020553E0: ; 0x020553E0 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_020553E4 +sub_020553E4: ; 0x020553E4 + str r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_020553E8 +sub_020553E8: ; 0x020553E8 + ldr r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_020553EC +sub_020553EC: ; 0x020553EC + ldr r2, [r0, #0x0] + orr r1, r2 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_020553F4 +sub_020553F4: ; 0x020553F4 + ldr r2, [r0, #0x0] + mvn r1, r1 + and r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02055400 +sub_02055400: ; 0x02055400 + ldr r0, [r0, #0x0] + and r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_02055408 +sub_02055408: ; 0x02055408 + ldr r0, [r0, #0x20] + bx lr + + thumb_func_start sub_0205540C +sub_0205540C: ; 0x0205540C + str r1, [r0, #0x20] + bx lr + + thumb_func_start sub_02055410 +sub_02055410: ; 0x02055410 + ldr r3, _02055418 ; =sub_020556F4 + mov r1, #0x0 + str r1, [r0, #0x20] + bx r3 + .balign 4 +_02055418: .word sub_020556F4 + 1 + + thumb_func_start sub_0205541C +sub_0205541C: ; 0x0205541C + ldr r3, [r0, #0x20] + add r1, r3, r1 + str r1, [r0, #0x20] + cmp r1, r2 + ble _02055428 + str r2, [r0, #0x20] +_02055428: + ldr r0, [r0, #0x20] + bx lr + + thumb_func_start sub_0205542C +sub_0205542C: ; 0x0205542C + str r1, [r0, #0x24] + bx lr + + thumb_func_start sub_02055430 +sub_02055430: ; 0x02055430 + ldr r0, [r0, #0x24] + bx lr + + thumb_func_start sub_02055434 +sub_02055434: ; 0x02055434 + str r1, [r0, #0x28] + bx lr + + thumb_func_start sub_02055438 +sub_02055438: ; 0x02055438 + ldr r0, [r0, #0x28] + bx lr + + thumb_func_start sub_0205543C +sub_0205543C: ; 0x0205543C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_0205542C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02055434 + pop {r3-r5, pc} + + thumb_func_start sub_02055450 +sub_02055450: ; 0x02055450 + str r1, [r0, #0x30] + bx lr + + thumb_func_start sub_02055454 +sub_02055454: ; 0x02055454 + ldr r0, [r0, #0x30] + bx lr + + thumb_func_start sub_02055458 +sub_02055458: ; 0x02055458 + str r1, [r0, #0x34] + bx lr + + thumb_func_start sub_0205545C +sub_0205545C: ; 0x0205545C + ldr r0, [r0, #0x34] + bx lr + + thumb_func_start sub_02055460 +sub_02055460: ; 0x02055460 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02055464 +sub_02055464: ; 0x02055464 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02055468 +sub_02055468: ; 0x02055468 + mov r1, #0x0 + strh r1, [r0, #0x0] + strh r1, [r0, #0x2] + str r1, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_02055474 +sub_02055474: ; 0x02055474 + cmp r0, #0x0 + beq _02055482 + ldrh r0, [r0, #0x2] + cmp r0, #0x1 + bne _02055482 + mov r0, #0x1 + bx lr +_02055482: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02055488 +sub_02055488: ; 0x02055488 + cmp r1, #0x1 + bne _02055492 + mov r1, #0x1 + strh r1, [r0, #0x2] + bx lr +_02055492: + mov r1, #0x0 + strh r1, [r0, #0x2] + bx lr + + thumb_func_start sub_02055498 +sub_02055498: ; 0x02055498 + cmp r0, #0x0 + bne _020554A0 + mov r0, #0x0 + bx lr +_020554A0: + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_020554A4 +sub_020554A4: ; 0x020554A4 + cmp r0, #0x0 + beq _020554AA + strh r1, [r0, #0x0] +_020554AA: + bx lr + + thumb_func_start sub_020554AC +sub_020554AC: ; 0x020554AC + push {r4, lr} + add r4, r1, #0x0 + bl sub_0205545C + add r1, r4, #0x0 + bl sub_020554A4 + pop {r4, pc} + + thumb_func_start sub_020554BC +sub_020554BC: ; 0x020554BC + push {r3, lr} + bl sub_0205545C + bl sub_02055498 + pop {r3, pc} + + thumb_func_start sub_020554C8 +sub_020554C8: ; 0x020554C8 + cmp r0, #0x0 + beq _020554D0 + ldr r0, [r0, #0x4] + bx lr +_020554D0: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020554D4 +sub_020554D4: ; 0x020554D4 + cmp r0, #0x0 + beq _020554DA + str r1, [r0, #0x4] +_020554DA: + bx lr + + thumb_func_start sub_020554DC +sub_020554DC: ; 0x020554DC + push {r4, lr} + add r4, r1, #0x0 + bl sub_0205545C + add r1, r4, #0x0 + bl sub_020554D4 + pop {r4, pc} + + thumb_func_start sub_020554EC +sub_020554EC: ; 0x020554EC + push {r4-r6, lr} + add r4, r1, #0x0 + add r6, r2, #0x0 + add r5, r0, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02058DBC + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02055514 +sub_02055514: ; 0x02055514 + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r2, #0x0 + add r5, r0, #0x0 + add r4, r3, #0x0 + bl sub_020553A0 + add r1, r6, #0x0 + mov r2, #0x0 + add r3, r7, #0x0 + str r4, [sp, #0x0] + bl sub_02058E28 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + pop {r3-r7, pc} + + thumb_func_start sub_02055540 +sub_02055540: ; 0x02055540 + push {r4-r5, lr} + sub sp, #0xc + add r5, r1, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + add r1, sp, #0x0 + bl sub_02058B5C + add r0, r4, #0x0 + add r1, sp, #0x0 + str r5, [sp, #0x4] + bl sub_02058B6C + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_02055560 +sub_02055560: ; 0x02055560 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + cmp r4, #0x1 + bne _02055574 + mov r1, #0x0 + bl sub_02058960 + pop {r4, pc} +_02055574: + mov r1, #0x1 + bl sub_02058960 + pop {r4, pc} + + thumb_func_start sub_0205557C +sub_0205557C: ; 0x0205557C + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + cmp r5, #0x1 + bne _02055598 + mov r1, #0x0 + bl sub_02058960 + add r0, r4, #0x0 + bl sub_02059D1C + pop {r3-r5, pc} +_02055598: + mov r1, #0x1 + bl sub_02058960 + pop {r3-r5, pc} + + thumb_func_start sub_020555A0 +sub_020555A0: ; 0x020555A0 + push {r3, lr} + cmp r1, #0x0 + bne _020555F2 + cmp r0, #0x9 + bhi _0205563E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r6, r6, #0 + mov r0, #0x0 + pop {r3, pc} +_020555CE: + .byte 0x15, 0x20 + .byte 0x08, 0xBD, 0xB2, 0x20, 0x08, 0xBD, 0xB0, 0x20, 0x08, 0xBD, 0xB4, 0x20, 0x08, 0xBD, 0xBA, 0x20 + .byte 0x08, 0xBD, 0xBC, 0x20, 0x08, 0xBD, 0xC4, 0x20, 0x08, 0xBD, 0xC6, 0x20, 0x08, 0xBD, 0xC8, 0x20 + .byte 0x08, 0xBD +_020555F2: + cmp r0, #0x9 + bhi _0205563E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r6, r6, #0 + mov r0, #0x61 + pop {r3, pc} +_0205561A: + .byte 0x62, 0x20, 0x08, 0xBD, 0xB3, 0x20 + .byte 0x08, 0xBD, 0xB1, 0x20, 0x08, 0xBD, 0xB5, 0x20, 0x08, 0xBD, 0xBB, 0x20, 0x08, 0xBD, 0xBD, 0x20 + .byte 0x08, 0xBD, 0xC5, 0x20, 0x08, 0xBD, 0xC7, 0x20, 0x08, 0xBD, 0xC9, 0x20, 0x08, 0xBD +_0205563E: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02055648 +sub_02055648: ; 0x02055648 + push {r3, lr} + cmp r0, #0x9 + bhi _02055690 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r4, r6, #0 + lsl r6, r3, #0 + lsl r4, r6, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + mov r0, #0x1 + pop {r3, pc} +_02055672: + .byte 0x02, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x10, 0x20, 0x08, 0xBD, 0x20, 0x20 + .byte 0x08, 0xBD, 0x40, 0x20, 0x08, 0xBD, 0x80, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x00, 0x02, 0x08, 0xBD +_02055690: + bl sub_02020C2C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_02055698 +sub_02055698: ; 0x02055698 + ldr r0, [r0, #0x38] + bx lr + + thumb_func_start sub_0205569C +sub_0205569C: ; 0x0205569C + push {r3, lr} + cmp r1, #0x1 + bne _020556AA + mov r1, #0x1 + bl sub_020553EC + pop {r3, pc} +_020556AA: + mov r1, #0x1 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020556B4 +sub_020556B4: ; 0x020556B4 + push {r3, lr} + mov r1, #0x1 + bl sub_02055400 + cmp r0, #0x0 + beq _020556C4 + mov r0, #0x1 + pop {r3, pc} +_020556C4: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020556C8 +sub_020556C8: ; 0x020556C8 + push {r3, lr} + cmp r1, #0x1 + bne _020556D6 + mov r1, #0x2 + bl sub_020553EC + pop {r3, pc} +_020556D6: + mov r1, #0x2 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020556E0 +sub_020556E0: ; 0x020556E0 + push {r3, lr} + mov r1, #0x2 + bl sub_02055400 + cmp r0, #0x0 + beq _020556F0 + mov r0, #0x1 + pop {r3, pc} +_020556F0: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020556F4 +sub_020556F4: ; 0x020556F4 + push {r3, lr} + cmp r1, #0x1 + bne _02055702 + mov r1, #0x4 + bl sub_020553EC + pop {r3, pc} +_02055702: + mov r1, #0x4 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205570C +sub_0205570C: ; 0x0205570C + push {r3, lr} + mov r1, #0x4 + bl sub_02055400 + cmp r0, #0x0 + beq _0205571C + mov r0, #0x1 + pop {r3, pc} +_0205571C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02055720 +sub_02055720: ; 0x02055720 + push {r3, lr} + cmp r1, #0x1 + bne _0205572E + mov r1, #0x8 + bl sub_020553EC + pop {r3, pc} +_0205572E: + mov r1, #0x8 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02055738 +sub_02055738: ; 0x02055738 + push {r3, lr} + mov r1, #0x8 + bl sub_02055400 + cmp r0, #0x0 + beq _02055748 + mov r0, #0x1 + pop {r3, pc} +_02055748: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205574C +sub_0205574C: ; 0x0205574C + push {r3, lr} + cmp r1, #0x1 + bne _0205575A + mov r1, #0x10 + bl sub_020553EC + pop {r3, pc} +_0205575A: + mov r1, #0x10 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02055764 +sub_02055764: ; 0x02055764 + push {r3, lr} + mov r1, #0x10 + bl sub_02055400 + cmp r0, #0x0 + beq _02055774 + mov r0, #0x1 + pop {r3, pc} +_02055774: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02055778 +sub_02055778: ; 0x02055778 + push {r3, lr} + cmp r1, #0x1 + bne _02055786 + mov r1, #0x20 + bl sub_020553EC + pop {r3, pc} +_02055786: + mov r1, #0x20 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02055790 +sub_02055790: ; 0x02055790 + push {r3, lr} + mov r1, #0x20 + bl sub_02055400 + cmp r0, #0x0 + beq _020557A0 + mov r0, #0x1 + pop {r3, pc} +_020557A0: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020557A4 +sub_020557A4: ; 0x020557A4 + ldr r3, _020557AC ; =sub_020553EC + mov r1, #0x40 + bx r3 + nop +_020557AC: .word sub_020553EC + 1 + + thumb_func_start sub_020557B0 +sub_020557B0: ; 0x020557B0 + ldr r3, _020557B8 ; =sub_020553F4 + mov r1, #0x40 + bx r3 + nop +_020557B8: .word sub_020553F4 + 1 + + thumb_func_start sub_020557BC +sub_020557BC: ; 0x020557BC + push {r3, lr} + mov r1, #0x40 + bl sub_02055400 + cmp r0, #0x0 + beq _020557CC + mov r0, #0x1 + pop {r3, pc} +_020557CC: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020557D0 +sub_020557D0: ; 0x020557D0 + push {r3, lr} + cmp r1, #0x1 + bne _020557DE + mov r1, #0x80 + bl sub_020553EC + pop {r3, pc} +_020557DE: + mov r1, #0x80 + bl sub_020553F4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020557E8 +sub_020557E8: ; 0x020557E8 + ldr r3, _020557F0 ; =sub_02055400 + mov r1, #0x80 + bx r3 + nop +_020557F0: .word sub_02055400 + 1 + + thumb_func_start sub_020557F4 +sub_020557F4: ; 0x020557F4 + push {r3-r7, lr} + add r7, r1, #0x0 + mov r1, #0x0 + add r4, r2, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + add r6, r3, #0x0 + cmp r4, r1 + bne _02055812 + add r2, sp, #0x8 + ldrh r2, [r2, #0x10] + add r1, r6, #0x0 + bl sub_02057060 + add r4, r0, #0x0 +_02055812: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020563F0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020558A0 + cmp r0, #0x0 + beq _02055896 + add r3, sp, #0x8 + ldrh r3, [r3, #0x10] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02055900 + add r0, r5, #0x0 + bl sub_021E5FE0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02055BD4 + cmp r0, #0x1 + bne _0205584E + add r0, r5, #0x0 + bl sub_021E7138 + pop {r3-r7, pc} +_0205584E: + add r0, r5, #0x0 + bl sub_020553C4 + cmp r0, #0x0 + bne _02055878 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020561D0 + cmp r0, #0x0 + beq _0205586C + add r0, r5, #0x0 + bl sub_021E7138 + b _02055878 +_0205586C: + ldr r0, [sp, #0x1c] + cmp r0, #0x1 + bne _02055878 + add r0, r5, #0x0 + bl sub_021E70F0 +_02055878: + add r0, sp, #0x8 + ldrh r0, [r0, #0x10] + add r1, r7, #0x0 + add r2, r4, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r3, r6, #0x0 + bl sub_02056110 + add r0, r5, #0x0 + bl sub_02055928 + add r0, r5, #0x0 + bl sub_02055968 +_02055896: + pop {r3-r7, pc} + + thumb_func_start sub_02055898 +sub_02055898: ; 0x02055898 + ldr r3, _0205589C ; =sub_020558A0 + bx r3 + .balign 4 +_0205589C: .word sub_020558A0 + 1 + + thumb_func_start sub_020558A0 +sub_020558A0: ; 0x020558A0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020553A0 + add r6, r0, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _020558B8 + mov r0, #0x1 + pop {r4-r6, pc} +_020558B8: + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _020558C4 + mov r0, #0x0 + pop {r4-r6, pc} +_020558C4: + add r0, r6, #0x0 + bl sub_020586F0 + bl sub_020570F0 + cmp r0, #0x1 + bne _020558FA + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02056B74 + cmp r0, #0x0 + bne _020558E4 + mov r0, #0x1 + pop {r4-r6, pc} +_020558E4: + cmp r0, #0x20 + bne _020558F6 + add r0, r5, #0x0 + bl sub_020553C4 + cmp r0, #0x2 + bne _020558F6 + mov r0, #0x1 + pop {r4-r6, pc} +_020558F6: + mov r0, #0x0 + pop {r4-r6, pc} +_020558FA: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02055900 +sub_02055900: ; 0x02055900 + push {r4-r6, lr} + add r6, r3, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02057028 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02057044 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205543C + add r0, r5, #0x0 + bl sub_020557B0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02055928 +sub_02055928: ; 0x02055928 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020557BC + cmp r0, #0x1 + bne _02055964 + add r0, r4, #0x0 + bl sub_02055370 + cmp r0, #0x1 + bne _02055964 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020556C8 + add r0, r4, #0x0 + bl sub_02055764 + cmp r0, #0x1 + bne _02055964 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205574C + add r0, r4, #0x0 + bl sub_020553A0 + mov r1, #0x0 + bl sub_02058A18 +_02055964: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02055968 +sub_02055968: ; 0x02055968 + push {r4-r6, lr} + add r4, r0, #0x0 + bl sub_02055370 + cmp r0, #0x1 + bne _02055A20 + add r0, r4, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0x0 + bl sub_020586F0 + bl sub_0205B020 + add r1, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0205599C + add r6, r5, #0x0 + b _020559A6 +_0205599C: + add r0, r4, #0x0 + bl sub_02059C90 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_020559A6: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02059B2C + cmp r0, #0x1 + bne _020559B8 + ldr r0, _02055A24 ; =0x0000061F + bl sub_020054C8 +_020559B8: + add r0, r5, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + bne _020559C8 + ldr r0, _02055A28 ; =0x00000641 + bl sub_020054C8 +_020559C8: + add r0, r5, #0x0 + bl sub_0205483C + cmp r0, #0x1 + bne _020559D8 + ldr r0, _02055A2C ; =0x00000642 + bl sub_020054C8 +_020559D8: + add r0, r5, #0x0 + bl sub_02054830 + add r0, r5, #0x0 + bl sub_02054974 + cmp r0, #0x1 + bne _020559F8 + add r0, r5, #0x0 + bl sub_02054984 + cmp r0, #0x1 + beq _020559F8 + ldr r0, _02055A30 ; =0x00000655 + bl sub_020054C8 +_020559F8: + add r0, r4, #0x0 + bl sub_020586F0 + bl sub_020570F0 + cmp r0, #0x0 + bne _02055A20 + add r0, r5, #0x0 + bl sub_02054798 + cmp r0, #0x1 + beq _02055A1A + add r0, r6, #0x0 + bl sub_02054798 + cmp r0, #0x1 + bne _02055A20 +_02055A1A: + ldr r0, _02055A34 ; =0x00000653 + bl sub_020054C8 +_02055A20: + pop {r4-r6, pc} + nop +_02055A24: .word 0x0000061F +_02055A28: .word 0x00000641 +_02055A2C: .word 0x00000642 +_02055A30: .word 0x00000655 +_02055A34: .word 0x00000653 + + thumb_func_start sub_02055A38 +sub_02055A38: ; 0x02055A38 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02055370 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02055378 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020553A0 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + bl sub_02055BEC + cmp r0, #0x0 + beq _02055A76 + cmp r0, #0x5 + beq _02055A76 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02055374 + pop {r3-r7, pc} +_02055A76: + add r0, r7, #0x0 + bl sub_0205AD98 + cmp r0, #0x0 + bne _02055AC2 + cmp r6, #0x0 + beq _02055B10 + cmp r6, #0x1 + beq _02055A8E + cmp r6, #0x2 + beq _02055AB8 + pop {r3-r7, pc} +_02055A8E: + add r0, r7, #0x0 + bl sub_020586F0 + bl sub_020570F0 + cmp r0, #0x1 + beq _02055B10 + cmp r4, #0x0 + beq _02055AA4 + cmp r4, #0x3 + bne _02055AAE +_02055AA4: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02055374 + pop {r3-r7, pc} +_02055AAE: + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02055374 + pop {r3-r7, pc} +_02055AB8: + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02055374 + pop {r3-r7, pc} +_02055AC2: + add r0, r7, #0x0 + bl sub_0205AE28 + cmp r0, #0x1 + bne _02055B10 + cmp r6, #0x0 + beq _02055B10 + cmp r6, #0x1 + beq _02055ADA + cmp r6, #0x2 + beq _02055AF6 + pop {r3-r7, pc} +_02055ADA: + cmp r4, #0x0 + beq _02055B10 + cmp r4, #0x3 + bne _02055AEC + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + pop {r3-r7, pc} +_02055AEC: + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_02055374 + pop {r3-r7, pc} +_02055AF6: + cmp r4, #0x0 + beq _02055B10 + cmp r4, #0x3 + bne _02055B08 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02055374 + pop {r3-r7, pc} +_02055B08: + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_02055374 +_02055B10: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02055B14 +sub_02055B14: ; 0x02055B14 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02055374 + add r0, r4, #0x0 + bl sub_02055410 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02055B30 +sub_02055B30: ; 0x02055B30 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02055370 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02055378 + cmp r4, #0x0 + bne _02055B48 + mov r0, #0x1 + pop {r3-r5, pc} +_02055B48: + cmp r4, #0x2 + bne _02055B50 + mov r0, #0x1 + pop {r3-r5, pc} +_02055B50: + cmp r4, #0x1 + bne _02055B86 + cmp r0, #0x0 + beq _02055B5C + cmp r0, #0x3 + bne _02055B60 +_02055B5C: + mov r0, #0x1 + pop {r3-r5, pc} +_02055B60: + add r0, r5, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _02055B74 + mov r0, #0x1 + pop {r3-r5, pc} +_02055B74: + add r0, r4, #0x0 + bl sub_020586F0 + bl sub_020570F0 + cmp r0, #0x1 + bne _02055B86 + mov r0, #0x1 + pop {r3-r5, pc} +_02055B86: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02055B8C +sub_02055B8C: ; 0x02055B8C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02055374 + add r0, r4, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + add r1, r5, #0x0 + bl sub_020584AC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02059C60 + add r0, r4, #0x0 + bl sub_0205AE80 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205ADDC + pop {r3-r5, pc} + + thumb_func_start sub_02055BD4 +sub_02055BD4: ; 0x02055BD4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02055BEC + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_02055C4C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02055BEC +sub_02055BEC: ; 0x02055BEC + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r4, #0x0 + bl sub_020553A0 + bl sub_02058720 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_0205733C + cmp r0, #0x1 + bne _02055C10 + mov r0, #0x5 + pop {r3-r7, pc} +_02055C10: + add r0, r5, #0x0 + bl sub_020556E0 + cmp r0, #0x1 + bne _02055C1E + add r0, r4, #0x0 + pop {r3-r7, pc} +_02055C1E: + lsl r0, r7, #0x18 + ldr r5, _02055C44 ; =0x020F5D34 + lsr r6, r0, #0x18 +_02055C24: + ldr r1, [r5, #0x0] + add r0, r6, #0x0 + blx r1 + cmp r0, #0x1 + bne _02055C36 + ldr r0, _02055C48 ; =0x020F5D38 + lsl r1, r4, #0x3 + ldr r0, [r0, r1] + pop {r3-r7, pc} +_02055C36: + add r5, #0x8 + ldr r0, [r5, #0x0] + add r4, r4, #0x1 + cmp r0, #0x0 + bne _02055C24 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02055C44: .word 0x020F5D34 +_02055C48: .word 0x020F5D38 + + thumb_func_start sub_02055C4C +sub_02055C4C: ; 0x02055C4C + push {r3, lr} + add r3, r1, #0x0 + add r1, r2, #0x0 + ldr r2, _02055C68 ; =0x020F5D1C + lsl r3, r3, #0x2 + ldr r2, [r2, r3] + blx r2 + cmp r0, #0x1 + bne _02055C62 + mov r0, #0x1 + pop {r3, pc} +_02055C62: + mov r0, #0x0 + pop {r3, pc} + nop +_02055C68: .word 0x020F5D1C + + thumb_func_start sub_02055C6C +sub_02055C6C: ; 0x02055C6C + push {r3, lr} + bl sub_02055FFC + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02055C78 +sub_02055C78: ; 0x02055C78 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_020584D4 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056040 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02056B74 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _02055D28 + add r0, r5, #0x0 + bl sub_02055FFC + cmp r7, #0x1 + beq _02055CCA + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020556C8 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + mov r0, #0x0 + pop {r3-r7, pc} +_02055CCA: + add r0, r6, #0x0 + bl sub_02059E74 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02056B74 + cmp r0, #0x0 + beq _02055CE4 + mov r0, #0x0 + pop {r3-r7, pc} +_02055CE4: + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + bl sub_02058410 + add r0, r6, #0x0 + mov r1, #0x8 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020556C8 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r3-r7, pc} +_02055D28: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_020560A0 + cmp r0, #0x0 + bne _02055D8E + add r0, r5, #0x0 + bl sub_02055FFC + add r0, r6, #0x0 + bl sub_02059E74 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02056B74 + cmp r0, #0x0 + beq _02055D54 + mov r0, #0x0 + pop {r3-r7, pc} +_02055D54: + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + bl sub_02058410 + add r0, r6, #0x0 + mov r1, #0x8 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020556C8 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + b _02055DA0 +_02055D8E: + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + bl sub_02058410 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020560D0 +_02055DA0: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_02055DAC +sub_02055DAC: ; 0x02055DAC + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + bl sub_020553A0 + add r6, r0, #0x0 + bl sub_020584D4 + add r4, r0, #0x0 + ldr r0, _02055EF4 ; =0x00000654 + bl sub_020054C8 + cmp r4, #0x0 + bne _02055E62 + add r0, r5, #0x0 + bl sub_020553C4 + cmp r0, #0x1 + bne _02055DFE + add r0, r5, #0x0 + bl sub_02055408 + cmp r0, #0x3 + blt _02055DFE + cmp r7, #0x0 + bne _02055DFE + add r0, r4, #0x0 + mov r1, #0x15 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r3-r7, pc} +_02055DFE: + add r0, r4, #0x0 + bl sub_02059E74 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02056B74 + cmp r0, #0x0 + beq _02055E18 + mov r0, #0x0 + pop {r3-r7, pc} +_02055E18: + mov r1, #0x6 + add r0, r6, #0x0 + lsl r1, r1, #0x6 + bl sub_02058410 + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + bl sub_02055410 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02055778 + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + mov r0, #0x1 + pop {r3-r7, pc} +_02055E62: + cmp r4, #0x1 + bne _02055EF0 + add r0, r5, #0x0 + bl sub_02055790 + cmp r0, #0x0 + bne _02055EAC + add r0, r4, #0x0 + mov r1, #0x15 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + add r0, r5, #0x0 + bl sub_020554BC + cmp r0, #0x1 + bne _02055E9C + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0205540C +_02055E9C: + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + mov r0, #0x1 + pop {r3-r7, pc} +_02055EAC: + mov r1, #0x6 + add r0, r6, #0x0 + lsl r1, r1, #0x6 + bl sub_02058410 + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02055778 + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + mov r0, #0x1 + pop {r3-r7, pc} +_02055EF0: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02055EF4: .word 0x00000654 + + thumb_func_start sub_02055EF8 +sub_02055EF8: ; 0x02055EF8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_020584D4 + add r0, r5, #0x0 + bl sub_020554BC + cmp r0, #0x1 + bne _02055F22 + ldr r0, _02055F40 ; =0x00000656 + bl sub_020054C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x5f + bl sub_02056B5C + b _02055F2C +_02055F22: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x5d + bl sub_02056B5C +_02055F2C: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020557D0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02055F40: .word 0x00000656 + + thumb_func_start sub_02055F44 +sub_02055F44: ; 0x02055F44 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_020584D4 + add r0, r5, #0x0 + bl sub_020554BC + cmp r0, #0x1 + bne _02055F6E + ldr r0, _02055F8C ; =0x00000656 + bl sub_020054C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x5e + bl sub_02056B5C + b _02055F78 +_02055F6E: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x5c + bl sub_02056B5C +_02055F78: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020557D0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02055F8C: .word 0x00000656 + + thumb_func_start sub_02055F90 +sub_02055F90: ; 0x02055F90 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_02056B74 + cmp r0, #0x0 + bne _02055FCE + mov r0, #0x1 + mov r1, #0x14 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0205540C + mov r0, #0x1 + pop {r3-r5, pc} +_02055FCE: + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + bl sub_02055410 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020556F4 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02055FFC +sub_02055FFC: ; 0x02055FFC + push {r4, lr} + add r4, r0, #0x0 + bl sub_020556B4 + cmp r0, #0x1 + bne _0205603E + add r0, r4, #0x0 + bl sub_020553A0 + mov r1, #0x6 + lsl r1, r1, #0x6 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_020557E8 + cmp r0, #0x0 + bne _02056026 + add r0, r4, #0x0 + bl sub_02055410 +_02056026: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205569C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020557D0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02055778 +_0205603E: + pop {r4, pc} + + thumb_func_start sub_02056040 +sub_02056040: ; 0x02056040 + push {r4-r6, lr} + sub sp, #0x18 + add r5, r1, #0x0 + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_02058738 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r1, sp, #0xc + bl sub_02058B5C + add r4, sp, #0xc + add r3, sp, #0x0 + ldmia r4!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + add r1, r2, #0x0 + mov r2, #0x1 + str r0, [r3, #0x0] + add r0, r5, #0x0 + lsl r2, r2, #0xe + bl sub_02059E28 + add r0, r6, #0x0 + add r1, sp, #0x0 + bl sub_02059E9C + cmp r0, #0x0 + beq _02056088 + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x10] + cmp r0, r1 + bne _0205608E +_02056088: + add sp, #0x18 + mov r0, #0x0 + pop {r4-r6, pc} +_0205608E: + cmp r0, r1 + ble _02056098 + add sp, #0x18 + mov r0, #0x2 + pop {r4-r6, pc} +_02056098: + mov r0, #0x1 + add sp, #0x18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020560A0 +sub_020560A0: ; 0x020560A0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02055408 + add r1, r0, #0x0 + cmp r4, #0x1 + bne _020560B8 + sub r1, r1, #0x1 + bpl _020560C4 + mov r0, #0x0 + pop {r3-r5, pc} +_020560B8: + cmp r4, #0x2 + bne _020560C4 + add r1, r1, #0x1 + cmp r1, #0x3 + ble _020560C4 + mov r1, #0x3 +_020560C4: + add r0, r5, #0x0 + bl sub_0205540C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020560D0 +sub_020560D0: ; 0x020560D0 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_020553A0 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r4, #0x10 + bl sub_02055408 + cmp r0, #0x1 + beq _020560F2 + cmp r0, #0x2 + beq _020560F6 + cmp r0, #0x3 + beq _020560FA + b _020560FC +_020560F2: + mov r4, #0x50 + b _020560FC +_020560F6: + mov r4, #0x14 + b _020560FC +_020560FA: + mov r4, #0x14 +_020560FC: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02056B5C + pop {r3-r7, pc} + + thumb_func_start sub_02056110 +sub_02056110: ; 0x02056110 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r7, r1, #0x0 + str r2, [sp, #0x8] + add r5, r3, #0x0 + bl sub_020553C4 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_020553A0 + add r1, r0, #0x0 + cmp r4, #0x0 + beq _02056136 + cmp r4, #0x1 + beq _0205614C + cmp r4, #0x2 + bne _02056162 +_02056136: + str r5, [sp, #0x0] + add r0, sp, #0x10 + ldrh r0, [r0, #0x10] + ldr r3, [sp, #0x8] + add r2, r7, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl sub_0205616C + add sp, #0xc + pop {r4-r7, pc} +_0205614C: + str r5, [sp, #0x0] + add r0, sp, #0x10 + ldrh r0, [r0, #0x10] + ldr r3, [sp, #0x8] + add r2, r7, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl sub_020563A8 + add sp, #0xc + pop {r4-r7, pc} +_02056162: + bl sub_02020C2C + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205616C +sub_0205616C: ; 0x0205616C + push {r3-r6, lr} + sub sp, #0x4 + add r6, r3, #0x0 + add r4, r1, #0x0 + add r1, r6, #0x0 + add r5, r0, #0x0 + bl sub_020561D0 + cmp r0, #0x0 + beq _0205618C + cmp r0, #0x1 + beq _020561A2 + cmp r0, #0x2 + beq _020561B8 + add sp, #0x4 + pop {r3-r6, pc} +_0205618C: + add r3, sp, #0x8 + ldrh r0, [r3, #0x14] + add r1, r4, #0x0 + add r2, r6, #0x0 + str r0, [sp, #0x0] + ldrh r3, [r3, #0x10] + add r0, r5, #0x0 + bl sub_02056288 + add sp, #0x4 + pop {r3-r6, pc} +_020561A2: + add r3, sp, #0x8 + ldrh r0, [r3, #0x14] + add r1, r4, #0x0 + add r2, r6, #0x0 + str r0, [sp, #0x0] + ldrh r3, [r3, #0x10] + add r0, r5, #0x0 + bl sub_020562A8 + add sp, #0x4 + pop {r3-r6, pc} +_020561B8: + add r3, sp, #0x8 + ldrh r0, [r3, #0x14] + add r1, r4, #0x0 + add r2, r6, #0x0 + str r0, [sp, #0x0] + ldrh r3, [r3, #0x10] + add r0, r5, #0x0 + bl sub_02056384 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_020561D0 +sub_020561D0: ; 0x020561D0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02056244 + add r4, r0, #0x0 + bl sub_020561EC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205536C + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020561EC +sub_020561EC: ; 0x020561EC + push {r3, lr} + cmp r0, #0x0 + beq _020561FC + cmp r0, #0x1 + beq _02056200 + cmp r0, #0x2 + beq _02056204 + b _02056208 +_020561FC: + mov r0, #0x0 + pop {r3, pc} +_02056200: + mov r0, #0x1 + pop {r3, pc} +_02056204: + mov r0, #0x2 + pop {r3, pc} +_02056208: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02056210 +sub_02056210: ; 0x02056210 + push {r3-r5, lr} + add r5, r1, #0x0 + add r0, r5, #0x0 + add r4, r2, #0x0 + bl sub_020549F0 + cmp r0, #0x1 + bne _02056224 + mov r0, #0x4 + pop {r3-r5, pc} +_02056224: + add r0, r5, #0x0 + bl sub_020549E4 + cmp r0, #0x1 + bne _02056232 + mov r0, #0x8 + pop {r3-r5, pc} +_02056232: + add r0, r5, #0x0 + bl sub_020549D8 + cmp r0, #0x1 + bne _0205623E + mov r4, #0xc +_0205623E: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02056244 +sub_02056244: ; 0x02056244 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + cmp r4, r1 + bne _0205625C + mov r1, #0x0 + bl sub_0205536C + mov r0, #0x0 + pop {r3-r5, pc} +_0205625C: + bl sub_020552F8 + cmp r0, r4 + beq _0205627A + add r0, r5, #0x0 + bl sub_02055370 + cmp r0, #0x1 + beq _0205627A + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205536C + mov r0, #0x2 + pop {r3-r5, pc} +_0205627A: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02056288 +sub_02056288: ; 0x02056288 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020584C4 + mov r1, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020562A8 +sub_020562A8: ; 0x020562A8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + str r2, [sp, #0x0] + bl sub_02056B74 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020553C4 + cmp r0, #0x2 + beq _0205632A + mov r0, #0x4 + tst r0, r4 + beq _020562CA + mov r7, #0x38 + b _0205636C +_020562CA: + cmp r4, #0x0 + beq _020562E6 + mov r0, #0x8 + mov r7, #0x1c + tst r0, r4 + bne _020562DC + ldr r0, _02056380 ; =0x00000601 + bl sub_020054C8 +_020562DC: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020584CC + b _0205636C +_020562E6: + add r0, r5, #0x0 + mov r4, #0xc + bl sub_0205545C + bl sub_02055474 + cmp r0, #0x1 + bne _02056306 + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + add r0, r5, #0x0 + bl sub_02057114 + cmp r0, #0x1 + bne _02056306 + mov r4, #0x58 +_02056306: + add r0, r6, #0x0 + bl sub_02058720 + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + add r2, r4, #0x0 + bl sub_02056210 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + b _0205636C +_0205632A: + cmp r4, #0x0 + beq _02056332 + cmp r4, #0x20 + bne _02056356 +_02056332: + add r0, r6, #0x0 + bl sub_02058720 + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + mov r2, #0xc + bl sub_02056210 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + b _0205636C +_02056356: + mov r0, #0x8 + mov r7, #0x1c + tst r0, r4 + bne _02056364 + ldr r0, _02056380 ; =0x00000601 + bl sub_020054C8 +_02056364: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020584CC +_0205636C: + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + pop {r3-r7, pc} + .balign 4 +_02056380: .word 0x00000601 + + thumb_func_start sub_02056384 +sub_02056384: ; 0x02056384 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r6, #0x0 + mov r1, #0x28 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + pop {r4-r6, pc} + + thumb_func_start sub_020563A8 +sub_020563A8: ; 0x020563A8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020554BC + cmp r0, #0x1 + add r0, sp, #0x10 + bne _020563D6 + ldrh r1, [r0, #0x10] + add r2, r6, #0x0 + add r3, r7, #0x0 + str r1, [sp, #0x0] + ldrh r0, [r0, #0x14] + add r1, r4, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_020567E4 + add sp, #0x8 + pop {r3-r7, pc} +_020563D6: + ldrh r1, [r0, #0x10] + add r2, r6, #0x0 + add r3, r7, #0x0 + str r1, [sp, #0x0] + ldrh r0, [r0, #0x14] + add r1, r4, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_020564C8 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020563F0 +sub_020563F0: ; 0x020563F0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020553C4 + cmp r0, #0x1 + bne _0205642C + mov r0, #0x2 + tst r0, r4 + beq _0205642C + add r0, r5, #0x0 + mov r4, #0x1 + bl sub_020554BC + cmp r0, #0x1 + bne _02056412 + mov r4, #0x0 +_02056412: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020554AC + cmp r4, #0x0 + bne _02056426 + ldr r0, _02056430 ; =0x0000061C + bl sub_020054C8 + pop {r3-r5, pc} +_02056426: + ldr r0, _02056434 ; =0x00000619 + bl sub_020054C8 +_0205642C: + pop {r3-r5, pc} + nop +_02056430: .word 0x0000061C +_02056434: .word 0x00000619 + + thumb_func_start sub_02056438 +sub_02056438: ; 0x02056438 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r4, #0x4c + bl sub_02055408 + cmp r0, #0x1 + beq _02056450 + cmp r0, #0x2 + beq _02056454 + cmp r0, #0x3 + beq _02056458 + b _0205645A +_02056450: + mov r4, #0x10 + b _0205645A +_02056454: + mov r4, #0x50 + b _0205645A +_02056458: + mov r4, #0x14 +_0205645A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205AFDC + pop {r3-r5, pc} + + thumb_func_start sub_02056464 +sub_02056464: ; 0x02056464 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x1 + mov r2, #0x3 + bl sub_0205541C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205570C + cmp r0, #0x0 + bne _02056488 + cmp r4, #0x2 + blt _02056488 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020556F4 +_02056488: + cmp r4, #0x3 + bne _02056490 + mov r0, #0x1 + pop {r3-r5, pc} +_02056490: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02056494 +sub_02056494: ; 0x02056494 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r6, #0x1 + bl sub_02055408 + sub r4, r0, #0x1 + bpl _020564A6 + mov r4, #0x0 + add r6, r4, #0x0 +_020564A6: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205540C + add r0, r5, #0x0 + bl sub_0205570C + cmp r0, #0x1 + bne _020564C4 + cmp r4, #0x0 + bne _020564C4 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020556F4 +_020564C4: + add r0, r6, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020564C8 +sub_020564C8: ; 0x020564C8 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r1, #0x0 + add r1, r3, #0x0 + add r6, r0, #0x0 + str r3, [sp, #0x4] + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x24] + bl sub_0205653C + cmp r0, #0x3 + bhi _02056538 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r3, #0 + lsl r2, r5, #0 + lsl r4, r7, #0 + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl sub_020565F0 + add sp, #0x8 + pop {r3-r7, pc} +_02056506: + .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94 + .byte 0x00, 0xF0, 0x80, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C + .byte 0x00, 0x94, 0x00, 0xF0, 0xEF, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C + .byte 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x04, 0xF9 +_02056538: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0205653C +sub_0205653C: ; 0x0205653C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0205658C + add r4, r0, #0x0 + bl sub_02056558 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205536C + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02056558 +sub_02056558: ; 0x02056558 + push {r3, lr} + cmp r0, #0x3 + bhi _02056582 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x0 + pop {r3, pc} +_02056576: + .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20 + .byte 0x08, 0xBD +_02056582: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205658C +sub_0205658C: ; 0x0205658C + push {r4-r6, lr} + add r4, r1, #0x0 + mov r1, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + cmp r4, r1 + bne _020565BA + bl sub_0205570C + cmp r0, #0x1 + bne _020565AE + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x3 + pop {r4-r6, pc} +_020565AE: + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + mov r0, #0x0 + pop {r4-r6, pc} +_020565BA: + bl sub_020552F8 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020556F4 + cmp r6, r4 + beq _020565E2 + add r0, r5, #0x0 + bl sub_02055370 + cmp r0, #0x1 + beq _020565E2 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205536C + mov r0, #0x2 + pop {r4-r6, pc} +_020565E2: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020565F0 +sub_020565F0: ; 0x020565F0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020584C4 + mov r1, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + bl sub_02055410 + pop {r3-r5, pc} + + thumb_func_start sub_02056614 +sub_02056614: ; 0x02056614 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + str r2, [sp, #0x0] + bl sub_02056B74 + add r4, r0, #0x0 + mov r0, #0x4 + tst r0, r4 + beq _02056638 + add r0, r5, #0x0 + mov r7, #0x38 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + b _020566EA +_02056638: + mov r0, #0x10 + tst r0, r4 + beq _02056656 + add r0, r5, #0x0 + mov r7, #0x50 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + b _020566EA +_02056656: + mov r0, #0x40 + tst r0, r4 + beq _02056680 + add r0, r6, #0x0 + mov r7, #0x0 + bl sub_020584D4 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + sub r1, r7, #0x1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + b _020566EA +_02056680: + cmp r4, #0x0 + beq _020566D4 + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020572EC + cmp r0, #0x0 + bne _020566B0 + mov r0, #0x8 + mov r7, #0x1c + tst r0, r4 + bne _020566A0 + ldr r0, _02056700 ; =0x00000601 + bl sub_020054C8 +_020566A0: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + b _020566EA +_020566B0: + add r0, r6, #0x0 + mov r7, #0x0 + bl sub_020584D4 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + sub r1, r7, #0x1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + b _020566EA +_020566D4: + add r0, r5, #0x0 + mov r7, #0x50 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205540C +_020566EA: + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + pop {r3-r7, pc} + nop +_02056700: .word 0x00000601 + + thumb_func_start sub_02056704 +sub_02056704: ; 0x02056704 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02055410 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020572EC + cmp r0, #0x1 + beq _0205673E + add r0, r6, #0x0 + mov r1, #0x28 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 +_0205673E: + pop {r4-r6, pc} + + thumb_func_start sub_02056740 +sub_02056740: ; 0x02056740 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r7, r1, #0x0 + bl sub_02056494 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02055314 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02056B74 + add r4, r0, #0x0 + mov r0, #0x4 + tst r0, r4 + beq _02056774 + add r0, r6, #0x0 + mov r1, #0x38 + bl sub_0205AFDC + str r0, [sp, #0x4] + b _020567C4 +_02056774: + mov r0, #0x40 + tst r0, r4 + beq _0205678C + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02055410 + b _020567C4 +_0205678C: + cmp r4, #0x0 + beq _020567BA + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r6, #0x0 + mov r1, #0x1c + bl sub_0205AFDC + str r0, [sp, #0x4] + mov r0, #0x8 + tst r0, r4 + bne _020567AA + ldr r0, _020567E0 ; =0x00000601 + bl sub_020054C8 +_020567AA: + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + b _020567C4 +_020567BA: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056438 + str r0, [sp, #0x4] +_020567C4: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _020567D2 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020556F4 +_020567D2: + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02056B5C + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020567E0: .word 0x00000601 + + thumb_func_start sub_020567E4 +sub_020567E4: ; 0x020567E4 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r1, #0x0 + add r1, r3, #0x0 + add r6, r0, #0x0 + str r3, [sp, #0x4] + ldr r5, [sp, #0x20] + ldr r4, [sp, #0x24] + bl sub_02056858 + cmp r0, #0x3 + bhi _02056854 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r3, #0 + lsl r2, r5, #0 + lsl r4, r7, #0 + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl sub_02056914 + add sp, #0x8 + pop {r3-r7, pc} +_02056822: + .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x84, 0xF8 + .byte 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0 + .byte 0x1D, 0xF9, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94 + .byte 0x00, 0xF0, 0x32, 0xF9 +_02056854: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02056858 +sub_02056858: ; 0x02056858 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020568A8 + add r4, r0, #0x0 + bl sub_02056874 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205536C + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02056874 +sub_02056874: ; 0x02056874 + push {r3, lr} + cmp r0, #0x3 + bhi _0205689E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x0 + pop {r3, pc} +_02056892: + .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x08, 0xBD +_0205689E: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020568A8 +sub_020568A8: ; 0x020568A8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02055408 + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _020568D8 + cmp r6, #0x2 + bge _020568CC + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205536C + mov r0, #0x0 + pop {r4-r6, pc} +_020568CC: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x3 + pop {r4-r6, pc} +_020568D8: + add r0, r5, #0x0 + bl sub_020552F8 + cmp r0, r4 + beq _02056908 + add r0, r5, #0x0 + bl sub_02055370 + cmp r0, #0x1 + beq _02056908 + cmp r6, #0x2 + bge _020568FC + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205536C + mov r0, #0x2 + pop {r4-r6, pc} +_020568FC: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x3 + pop {r4-r6, pc} +_02056908: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205536C + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_02056914 +sub_02056914: ; 0x02056914 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020584C4 + mov r1, #0x0 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r5, #0x0 + bl sub_02055410 + pop {r3-r5, pc} + + thumb_func_start sub_02056938 +sub_02056938: ; 0x02056938 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02056B74 + add r4, r0, #0x0 + mov r0, #0x4 + tst r0, r4 + beq _0205696A + add r0, r7, #0x0 + mov r1, #0x38 + bl sub_0205AFDC + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02056464 + add r0, r5, #0x0 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 + b _02056A6C +_0205696A: + mov r0, #0x10 + tst r0, r4 + beq _020569BA + add r0, r5, #0x0 + bl sub_02055408 + cmp r0, #0x3 + blt _02056994 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02056438 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_020557A4 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205569C + b _02056A6C +_02056994: + add r0, r7, #0x0 + mov r1, #0x1c + bl sub_0205AFDC + str r0, [sp, #0x0] + mov r0, #0x8 + tst r0, r4 + bne _020569AA + ldr r0, _02056A78 ; =0x00000601 + bl sub_020054C8 +_020569AA: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + b _02056A6C +_020569BA: + mov r0, #0x40 + tst r0, r4 + beq _020569EC + add r0, r6, #0x0 + bl sub_020584D4 + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + str r0, [sp, #0x0] + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + b _02056A6C +_020569EC: + cmp r4, #0x0 + beq _02056A50 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020572EC + cmp r0, #0x0 + bne _02056A24 + add r0, r7, #0x0 + mov r1, #0x1c + bl sub_0205AFDC + str r0, [sp, #0x0] + mov r0, #0x8 + tst r0, r4 + bne _02056A14 + ldr r0, _02056A78 ; =0x00000601 + bl sub_020054C8 +_02056A14: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + b _02056A6C +_02056A24: + add r0, r6, #0x0 + bl sub_020584D4 + add r4, r0, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + str r0, [sp, #0x0] + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + mov r1, #0x0 + mvn r1, r1 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0205543C + b _02056A6C +_02056A50: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02056438 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02056464 + add r0, r5, #0x0 + bl sub_020572D4 + add r0, r5, #0x0 + bl sub_020557A4 +_02056A6C: + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056B5C + pop {r3-r7, pc} + .balign 4 +_02056A78: .word 0x00000601 + + thumb_func_start sub_02056A7C +sub_02056A7C: ; 0x02056A7C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02055410 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020572EC + cmp r0, #0x1 + beq _02056AB6 + add r0, r6, #0x0 + mov r1, #0x28 + bl sub_0205AFDC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056B5C + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 +_02056AB6: + pop {r4-r6, pc} + + thumb_func_start sub_02056AB8 +sub_02056AB8: ; 0x02056AB8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r7, r1, #0x0 + bl sub_02056494 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02055314 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02056B74 + add r4, r0, #0x0 + mov r0, #0x4 + tst r0, r4 + beq _02056AEC + add r0, r6, #0x0 + mov r1, #0x38 + bl sub_0205AFDC + str r0, [sp, #0x4] + b _02056B3C +_02056AEC: + mov r0, #0x40 + tst r0, r4 + beq _02056B04 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02055410 + b _02056B3C +_02056B04: + cmp r4, #0x0 + beq _02056B32 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r6, #0x0 + mov r1, #0x1c + bl sub_0205AFDC + str r0, [sp, #0x4] + mov r0, #0x8 + tst r0, r4 + bne _02056B22 + ldr r0, _02056B58 ; =0x00000601 + bl sub_020054C8 +_02056B22: + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_02055410 + b _02056B3C +_02056B32: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02056438 + str r0, [sp, #0x4] +_02056B3C: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02056B4A + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020556F4 +_02056B4A: + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02056B5C + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02056B58: .word 0x00000601 + + thumb_func_start sub_02056B5C +sub_02056B5C: ; 0x02056B5C + push {r3-r5, lr} + add r4, r2, #0x0 + add r5, r1, #0x0 + add r1, r4, #0x0 + bl sub_02055460 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205ADDC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02056B74 +sub_02056B74: ; 0x02056B74 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + mov r4, #0x0 + bl sub_02056C0C + mov r1, #0xa + str r0, [sp, #0x0] + tst r0, r1 + beq _02056BA0 + mov r0, #0x1 + orr r4, r0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056D58 + cmp r0, #0x0 + beq _02056BA0 + mov r0, #0x8 + orr r4, r0 +_02056BA0: + ldr r0, [sp, #0x0] + mov r1, #0x4 + tst r0, r1 + beq _02056BAC + mov r0, #0x2 + orr r4, r0 +_02056BAC: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056CCC + cmp r0, #0x0 + beq _02056BBE + mov r0, #0x4 + orr r4, r0 +_02056BBE: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056E04 + cmp r0, #0x1 + bne _02056BD0 + mov r0, #0x10 + orr r4, r0 +_02056BD0: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056E6C + cmp r0, #0x1 + bne _02056BE2 + mov r0, #0x20 + orr r4, r0 +_02056BE2: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056EC8 + cmp r0, #0x1 + bne _02056BF4 + mov r0, #0x41 + orr r4, r0 +_02056BF4: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02056F78 + cmp r0, #0x1 + bne _02056C06 + mov r0, #0x1 + orr r4, r0 +_02056C06: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02056C0C +sub_02056C0C: ; 0x02056C0C + push {r3-r7, lr} + sub sp, #0x28 + add r5, r1, #0x0 + str r2, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B2C + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_02059BF4 + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_02058B3C + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0xc] + ldr r0, [sp, #0x4] + bl sub_02059C00 + str r0, [sp, #0x10] + add r0, r5, #0x0 + add r1, sp, #0x1c + bl sub_02058B5C + ldr r1, [sp, #0x14] + ldr r6, [sp, #0xc] + ldr r3, [sp, #0x10] + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + add r1, r7, r1 + add r3, r6, r3 + mov r4, #0x0 + bl sub_02059A08 + cmp r0, #0x1 + bne _02056C60 + mov r0, #0x1 + orr r4, r0 +_02056C60: + add r0, r5, #0x0 + bl sub_02058738 + ldr r2, [sp, #0x14] + add r1, sp, #0x18 + str r1, [sp, #0x0] + ldr r6, [sp, #0xc] + ldr r3, [sp, #0x10] + add r1, sp, #0x1c + add r2, r7, r2 + add r3, r6, r3 + bl sub_0204A7C8 + cmp r0, #0x1 + bne _02056C90 + mov r0, #0x2 + orr r4, r0 + add r1, sp, #0x18 + mov r0, #0x0 + ldrsb r0, [r1, r0] + cmp r0, #0x0 + beq _02056C90 + mov r0, #0x8 + orr r4, r0 +_02056C90: + ldr r3, [sp, #0xc] + ldr r2, [sp, #0x10] + ldr r1, [sp, #0x14] + add r2, r3, r2 + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + add r1, r7, r1 + bl sub_02059A60 + cmp r0, #0x1 + bne _02056CAA + mov r0, #0x2 + orr r4, r0 +_02056CAA: + add r0, r5, #0x0 + ldr r1, [sp, #0x14] + ldr r5, [sp, #0xc] + ldr r3, [sp, #0x10] + ldr r2, [sp, #0x8] + add r1, r7, r1 + add r3, r5, r3 + bl sub_0205995C + cmp r0, #0x1 + bne _02056CC4 + mov r0, #0x4 + orr r4, r0 +_02056CC4: + add r0, r4, #0x0 + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02056CCC +sub_02056CCC: ; 0x02056CCC + push {r3-r7, lr} + mov r0, #0x0 + add r4, r2, #0x0 + mvn r0, r0 + add r5, r1, #0x0 + cmp r4, r0 + beq _02056D54 + add r0, r5, #0x0 + bl sub_02058738 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059C00 + add r2, r0, #0x0 + ldr r0, [sp, #0x0] + add r1, r6, r7 + add r2, r5, r2 + bl sub_0204A6E0 + cmp r4, #0x3 + bhi _02056D54 + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r2, #0 + lsl r6, r3, #0 + lsl r2, r5, #0 + bl sub_02054848 + cmp r0, #0x1 + bne _02056D54 + mov r0, #0x1 + pop {r3-r7, pc} +_02056D30: + .byte 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x0D, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD + .byte 0x01, 0x28, 0x07, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x01, 0xD1 + .byte 0x01, 0x20, 0xF8, 0xBD +_02056D54: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02056D58 +sub_02056D58: ; 0x02056D58 + push {r3-r7, lr} + mov r0, #0x0 + add r4, r2, #0x0 + mvn r0, r0 + add r5, r1, #0x0 + cmp r4, r0 + beq _02056E00 + add r0, r5, #0x0 + bl sub_02058738 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0x0] + ldr r2, [sp, #0x0] + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_0204A6E0 + add r5, r0, #0x0 + cmp r4, #0x3 + bhi _02056DD8 + add r1, r4, r4 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r2, #0 + lsl r0, r4, #0 + lsl r6, r5, #0 + bl sub_020547D4 + cmp r0, #0x1 + bne _02056DAE + mov r0, #0x1 + pop {r3-r7, pc} +_02056DAE: + add r0, r5, #0x0 + bl sub_020547E0 + cmp r0, #0x1 + bne _02056DBC + mov r0, #0x1 + pop {r3-r7, pc} +_02056DBC: + add r0, r5, #0x0 + bl sub_020547C8 + cmp r0, #0x1 + bne _02056DCA + mov r0, #0x1 + pop {r3-r7, pc} +_02056DCA: + add r0, r5, #0x0 + bl sub_020547BC + cmp r0, #0x1 + bne _02056DD8 + mov r0, #0x1 + pop {r3-r7, pc} +_02056DD8: + add r0, r4, #0x0 + bl sub_02059BF4 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059C00 + add r3, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r7, #0x0 + add r1, r6, r5 + add r2, r2, r3 + bl sub_0204A6E0 + bl sub_020547B0 + cmp r0, #0x1 + bne _02056E00 + mov r0, #0x1 + pop {r3-r7, pc} +_02056E00: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02056E04 +sub_02056E04: ; 0x02056E04 + push {r3-r7, lr} + mov r0, #0x0 + add r5, r2, #0x0 + mvn r0, r0 + add r4, r1, #0x0 + cmp r5, r0 + beq _02056E68 + add r0, r4, #0x0 + bl sub_02058738 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B4C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059C00 + add r2, r0, #0x0 + ldr r0, [sp, #0x0] + add r1, r6, r7 + add r2, r4, r2 + bl sub_0204A6E0 + add r4, r0, #0x0 + cmp r5, #0x3 + bne _02056E56 + bl sub_02054A24 + cmp r0, #0x0 + beq _02056E56 + mov r0, #0x1 + pop {r3-r7, pc} +_02056E56: + cmp r5, #0x2 + bne _02056E68 + add r0, r4, #0x0 + bl sub_02054A30 + cmp r0, #0x0 + beq _02056E68 + mov r0, #0x1 + pop {r3-r7, pc} +_02056E68: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02056E6C +sub_02056E6C: ; 0x02056E6C + push {r3-r7, lr} + sub sp, #0x8 + mov r0, #0x0 + add r4, r2, #0x0 + mvn r0, r0 + add r5, r1, #0x0 + cmp r4, r0 + beq _02056EC2 + add r0, r5, #0x0 + bl sub_02058738 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02059C00 + add r3, r0, #0x0 + ldr r2, [sp, #0x4] + ldr r0, [sp, #0x0] + add r1, r6, r7 + add r2, r2, r3 + bl sub_0204A6E0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059AC4 + cmp r0, #0x0 + beq _02056EC2 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02056EC2: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02056EC8 +sub_02056EC8: ; 0x02056EC8 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + mov r0, #0x0 + add r4, r2, #0x0 + mvn r0, r0 + add r5, r1, #0x0 + cmp r4, r0 + beq _02056F72 + add r0, r5, #0x0 + bl sub_02058738 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02059C00 + add r2, r0, #0x0 + ldr r3, [sp, #0x8] + ldr r0, [sp, #0x4] + add r1, r6, r7 + add r2, r3, r2 + bl sub_0204A6E0 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_020553C4 + cmp r0, #0x1 + bne _02056F54 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BB4 + cmp r0, #0x1 + bne _02056F36 + cmp r4, #0x1 + bls _02056F30 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02056F30: + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02056F36: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BD4 + cmp r0, #0x1 + bne _02056F72 + sub r0, r4, #0x2 + cmp r0, #0x1 + bls _02056F4E + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02056F4E: + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02056F54: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BB4 + cmp r0, #0x1 + beq _02056F6C + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BD4 + cmp r0, #0x1 + bne _02056F72 +_02056F6C: + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02056F72: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02056F78 +sub_02056F78: ; 0x02056F78 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r2, #0x0 + mvn r1, r1 + cmp r4, r1 + beq _0205701A + bl sub_020553C4 + cmp r0, #0x1 + bne _0205701A + add r0, r5, #0x0 + bl sub_02058738 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02059C00 + add r3, r0, #0x0 + ldr r2, [sp, #0x4] + ldr r0, [sp, #0x0] + add r1, r6, r7 + add r2, r2, r3 + bl sub_0204A6E0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059AC4 + cmp r0, #0x0 + beq _02056FD8 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02056FD8: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059B2C + cmp r0, #0x0 + beq _02056FEA + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02056FEA: + add r0, r4, #0x0 + bl sub_02054798 + cmp r0, #0x0 + beq _02056FFA + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02056FFA: + add r0, r4, #0x0 + bl sub_02054974 + cmp r0, #0x0 + beq _0205700A + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0205700A: + add r0, r4, #0x0 + bl sub_02054990 + cmp r0, #0x0 + beq _0205701A + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0205701A: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02057020 +sub_02057020: ; 0x02057020 + ldr r3, _02057024 ; =sub_02057060 + bx r3 + .balign 4 +_02057024: .word sub_02057060 + 1 + + thumb_func_start sub_02057028 +sub_02057028: ; 0x02057028 + mov r1, #0x20 + tst r1, r0 + beq _02057032 + mov r0, #0x2 + bx lr +_02057032: + mov r1, #0x10 + tst r0, r1 + beq _0205703C + mov r1, #0x3 + b _0205703E +_0205703C: + sub r1, #0x11 +_0205703E: + add r0, r1, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02057044 +sub_02057044: ; 0x02057044 + mov r1, #0x40 + tst r1, r0 + beq _0205704E + mov r0, #0x0 + bx lr +_0205704E: + mov r1, #0x80 + tst r0, r1 + beq _02057058 + mov r1, #0x1 + b _0205705A +_02057058: + sub r1, #0x81 +_0205705A: + add r0, r1, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02057060 +sub_02057060: ; 0x02057060 + push {r3-r7, lr} + add r5, r2, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02057028 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02057044 + mov r1, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + cmp r4, r1 + beq _020570C0 + cmp r5, r1 + bne _02057086 + add r0, r4, #0x0 + pop {r3-r7, pc} +_02057086: + add r0, r6, #0x0 + bl sub_02055314 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_02055430 + str r0, [sp, #0x0] + add r0, r6, #0x0 + bl sub_02055438 + mov r1, #0x0 + mvn r1, r1 + cmp r7, r1 + beq _020570BE + ldr r1, [sp, #0x0] + cmp r4, r1 + bne _020570B2 + cmp r5, r0 + bne _020570B2 + add r0, r7, #0x0 + pop {r3-r7, pc} +_020570B2: + cmp r5, r0 + beq _020570BA + add r0, r5, #0x0 + pop {r3-r7, pc} +_020570BA: + add r0, r4, #0x0 + pop {r3-r7, pc} +_020570BE: + add r0, r5, #0x0 +_020570C0: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020570C4 +sub_020570C4: ; 0x020570C4 + push {r4, lr} + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _020570D8 + mov r0, #0x1 + pop {r4, pc} +_020570D8: + add r0, r4, #0x0 + bl sub_020586F0 + bl sub_020570F0 + cmp r0, #0x1 + bne _020570EA + mov r0, #0x1 + pop {r4, pc} +_020570EA: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020570F0 +sub_020570F0: ; 0x020570F0 + sub r0, #0x1c + cmp r0, #0x3 + bhi _0205710E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + mov r0, #0x1 + bx lr +_0205710E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02057114 +sub_02057114: ; 0x02057114 + mov r0, #0x2 + tst r0, r1 + beq _0205711E + mov r0, #0x1 + bx lr +_0205711E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02057124 +sub_02057124: ; 0x02057124 + push {r3, lr} + bl sub_02055464 + sub r0, #0x58 + cmp r0, #0x3 + bhi _02057148 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + mov r0, #0x1 + pop {r3, pc} +_02057148: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205714C +sub_0205714C: ; 0x0205714C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020553C4 + cmp r0, #0x0 + beq _02057162 + cmp r0, #0x1 + beq _02057172 + cmp r0, #0x2 + bne _02057188 +_02057162: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02056244 + bl sub_020561EC + add r4, r0, #0x0 + b _0205718E +_02057172: + add r0, r5, #0x0 + bl sub_020554BC + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020568A8 + bl sub_02056874 + add r4, r0, #0x0 + b _0205718E +_02057188: + mov r4, #0x0 + bl sub_02020C2C +_0205718E: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02057194 +sub_02057194: ; 0x02057194 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + bl sub_02057060 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0205714C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205536C + cmp r4, #0x0 + bne _020571C6 + add r0, r5, #0x0 + bl sub_020552F8 + mov r1, #0x0 + bl sub_0205AFDC + pop {r3-r7, pc} +_020571C6: + cmp r4, #0x2 + bne _020571D4 + ldr r0, [sp, #0x0] + mov r1, #0x28 + bl sub_0205AFDC + pop {r3-r7, pc} +_020571D4: + add r0, r5, #0x0 + bl sub_020553A0 + ldr r0, [sp, #0x1c] + mov r4, #0x4 + add r1, r0, #0x0 + tst r1, r4 + beq _020571E8 + mov r4, #0x38 + b _02057244 +_020571E8: + cmp r0, #0x0 + beq _020571FC + mov r1, #0x8 + mov r4, #0x1c + tst r0, r1 + bne _02057244 + ldr r0, _02057250 ; =0x00000601 + bl sub_020054C8 + b _02057244 +_020571FC: + cmp r6, #0x5 + bhi _0205722E + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + b _02057230 +_0205721A: + .byte 0x08, 0x24, 0x08, 0xE0, 0x0C, 0x24 + .byte 0x06, 0xE0, 0x4C, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x14, 0x24, 0x00, 0xE0 +_0205722E: + mov r4, #0x4 +_02057230: + ldr r0, [sp, #0x18] + cmp r0, #0x1 + bne _02057244 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02057114 + cmp r0, #0x1 + bne _02057244 + mov r4, #0x58 +_02057244: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_0205AFDC + pop {r3-r7, pc} + nop +_02057250: .word 0x00000601 + + thumb_func_start sub_02057254 +sub_02057254: ; 0x02057254 + push {r3, lr} + bl sub_020553A0 + bl sub_0205AD98 + pop {r3, pc} + + thumb_func_start sub_02057260 +sub_02057260: ; 0x02057260 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020553A0 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_02056B5C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02057278 +sub_02057278: ; 0x02057278 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_02059C90 + pop {r4, pc} + + thumb_func_start sub_02057288 +sub_02057288: ; 0x02057288 + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + add r4, r2, #0x0 + add r7, r3, #0x0 + bl sub_02055320 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059BF4 + add r0, r6, r0 + str r0, [r4, #0x0] + ldr r0, [sp, #0x0] + bl sub_0205532C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059C00 + add r0, r4, r0 + str r0, [r7, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020572B8 +sub_020572B8: ; 0x020572B8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020552F8 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02057288 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020572D4 +sub_020572D4: ; 0x020572D4 + push {r3, lr} + bl sub_020553A0 + bl sub_02058738 + ldr r0, [r0, #0xc] + bl sub_02029FC8 + mov r1, #0x5 + bl sub_0202A0E8 + pop {r3, pc} + + thumb_func_start sub_020572EC +sub_020572EC: ; 0x020572EC + push {r4-r6, lr} + mov r0, #0x0 + add r4, r2, #0x0 + mvn r0, r0 + add r5, r1, #0x0 + cmp r4, r0 + beq _02057336 + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BB4 + cmp r0, #0x1 + bne _0205731C + cmp r4, #0x1 + bls _02057318 + mov r0, #0x1 + pop {r4-r6, pc} +_02057318: + mov r0, #0x0 + pop {r4-r6, pc} +_0205731C: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059BD4 + cmp r0, #0x1 + bne _02057336 + sub r0, r4, #0x2 + cmp r0, #0x1 + bls _02057332 + mov r0, #0x1 + pop {r4-r6, pc} +_02057332: + mov r0, #0x0 + pop {r4-r6, pc} +_02057336: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205733C +sub_0205733C: ; 0x0205733C + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x0 + mvn r1, r1 + add r5, r0, #0x0 + cmp r2, r1 + beq _0205734E + mov r0, #0x0 + pop {r3-r5, pc} +_0205734E: + bl sub_020553C4 + cmp r0, #0x1 + beq _0205735A + mov r0, #0x0 + pop {r3-r5, pc} +_0205735A: + add r0, r5, #0x0 + bl sub_02055738 + cmp r0, #0x0 + bne _02057368 + mov r0, #0x0 + pop {r3-r5, pc} +_02057368: + add r0, r5, #0x0 + bl sub_020553A0 + add r1, r4, #0x0 + bl sub_02059B94 + cmp r0, #0x1 + bne _0205737C + mov r0, #0x1 + pop {r3-r5, pc} +_0205737C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02057380 +sub_02057380: ; 0x02057380 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r7, r2, #0x0 + bl sub_02057444 + add r4, r0, #0x0 + add r1, r6, #0x0 + bl sub_020583E0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058364 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_02058398 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020573AC +sub_020573AC: ; 0x020573AC + push {r4, lr} + add r4, r0, #0x0 + bl sub_020583CC + add r1, r0, #0x0 + mov r0, #0xb + bl sub_02016A8C + mov r0, #0xb + add r1, r4, #0x0 + bl sub_02016A8C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020573C8 +sub_020573C8: ; 0x020573C8 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r5, r2, #0x0 + str r3, [sp, #0x4] + ldr r7, [sp, #0x20] + bl sub_02058368 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_020583CC + add r4, r0, #0x0 + cmp r6, #0x0 + beq _02057430 +_020573E6: + add r0, r4, #0x0 + bl sub_02058830 + cmp r0, #0x1 + bne _02057426 + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + add r1, r5, #0x0 + add r3, r7, #0x0 + bl sub_02057F90 + cmp r0, #0x0 + beq _02057408 + cmp r0, #0x1 + beq _02057426 + cmp r0, #0x2 + b _02057426 +_02057408: + add r0, r4, #0x0 + bl sub_02058450 + cmp r5, r0 + beq _02057426 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xa + bl sub_0205842C + cmp r0, #0x0 + bne _02057426 + add r0, r4, #0x0 + bl sub_02057654 +_02057426: + mov r0, #0x4a + lsl r0, r0, #0x2 + add r4, r4, r0 + sub r6, r6, #0x1 + bne _020573E6 +_02057430: + ldr r0, [sp, #0x0] + bl sub_020583A0 + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_021F2AF4 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02057444 +sub_02057444: ; 0x02057444 + push {r4-r6, lr} + mov r1, #0x4b + add r4, r0, #0x0 + mov r0, #0xb + lsl r1, r1, #0x2 + bl sub_02016998 + add r5, r0, #0x0 + bne _0205745A + bl sub_02020C2C +_0205745A: + mov r2, #0x4b + add r0, r5, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020DF4A4 + mov r0, #0x4a + lsl r0, r0, #0x2 + add r6, r4, #0x0 + mul r6, r0 + mov r0, #0xb + add r1, r6, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + bne _0205747E + bl sub_02020C2C +_0205747E: + add r0, r4, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + blx sub_020DF4A4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020583B4 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02057494 +sub_02057494: ; 0x02057494 + push {r3-r7, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r7, r2, #0x0 + bl sub_02058BFC + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058CE0 + cmp r0, #0x0 + bne _020574C8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_02057C98 + add r4, r0, #0x0 + beq _020574E8 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02058214 + add r0, r4, #0x0 + pop {r3-r7, pc} +_020574C8: + add r0, r6, #0x0 + bl sub_02058CFC + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058010 + add r4, r0, #0x0 + beq _020574E8 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02058258 + add r0, r4, #0x0 + pop {r3-r7, pc} +_020574E8: + add r0, r5, #0x0 + bl sub_02057C64 + add r4, r0, #0x0 + beq _0205753A + add r0, r5, #0x0 + bl sub_020583E8 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02057D2C + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02057E90 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_0205844C + add r0, r4, #0x0 + bl sub_020581A4 + add r0, r4, #0x0 + bl sub_020581B4 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02057CF0 + add r0, r5, #0x0 + bl sub_02058360 + bl sub_0205836C + add r0, r4, #0x0 +_0205753A: + pop {r3-r7, pc} + + thumb_func_start sub_0205753C +sub_0205753C: ; 0x0205753C + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, sp, #0x0 + mov r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02058BF8 + ldr r1, [sp, #0x38] + add r0, sp, #0x0 + bl sub_02058C00 + ldr r1, [sp, #0x3c] + add r0, sp, #0x0 + bl sub_02058C08 + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C10 + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C18 + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C20 + add r0, sp, #0x0 + add r1, r7, #0x0 + bl sub_02058C28 + mov r1, #0x0 + add r0, sp, #0x0 + add r2, r1, #0x0 + bl sub_02058C34 + add r0, sp, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl sub_02058C34 + add r0, sp, #0x0 + mov r1, #0x0 + mov r2, #0x2 + bl sub_02058C34 + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C7C + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C88 + add r0, sp, #0x0 + add r1, r4, #0x0 + bl sub_02058C94 + add r0, sp, #0x0 + add r1, r6, #0x0 + bl sub_02058CA4 + add r0, sp, #0x0 + mov r1, #0x0 + bl sub_02058C9C + ldr r2, [sp, #0x40] + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02057494 + add sp, #0x20 + pop {r3-r7, pc} + + thumb_func_start sub_020575D4 +sub_020575D4: ; 0x020575D4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + ldr r2, [sp, #0x18] + add r7, r3, #0x0 + mov r4, #0x0 + bl sub_02058CAC + str r0, [sp, #0x0] + cmp r0, #0x0 + beq _02057610 + bl sub_02058C1C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583E8 + lsl r1, r6, #0x10 + lsr r1, r1, #0x10 + bl sub_02039528 + cmp r0, #0x0 + bne _02057610 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + add r2, r7, #0x0 + bl sub_02057494 + add r4, r0, #0x0 +_02057610: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02057614 +sub_02057614: ; 0x02057614 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058454 + add r0, r4, #0x0 + bl sub_02058148 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xe + bl sub_02058418 + add r0, r4, #0x0 + bl sub_020581B4 + pop {r4, pc} + + thumb_func_start sub_02057634 +sub_02057634: ; 0x02057634 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _02057648 + add r0, r5, #0x0 + bl sub_020576A8 +_02057648: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02057614 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02057654 +sub_02057654: ; 0x02057654 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058578 + bl sub_020587E0 + cmp r0, #0x1 + bne _0205766A + add r0, r4, #0x0 + bl sub_020586B4 +_0205766A: + add r0, r4, #0x0 + bl sub_02058660 + add r0, r4, #0x0 + bl sub_02058564 + add r0, r4, #0x0 + bl sub_02058580 + bl sub_02058374 + add r0, r4, #0x0 + bl sub_02057F80 + pop {r4, pc} + + thumb_func_start sub_02057688 +sub_02057688: ; 0x02057688 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02058490 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058738 + lsl r1, r5, #0x10 + lsr r1, r1, #0x10 + bl sub_0203953C + add r0, r4, #0x0 + bl sub_02057654 + pop {r3-r5, pc} + + thumb_func_start sub_020576A8 +sub_020576A8: ; 0x020576A8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058578 + bl sub_020587E0 + cmp r0, #0x1 + bne _020576D6 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xe + bl sub_02058424 + cmp r0, #0x0 + beq _020576CC + add r0, r4, #0x0 + bl sub_020586B4 +_020576CC: + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xe + bl sub_02058418 +_020576D6: + ldr r1, _02057708 ; =0x0000FFFF + add r0, r4, #0x0 + bl sub_02058454 + ldr r1, _0205770C ; =sub_02058ED8 + add r0, r4, #0x0 + bl sub_02058684 + ldr r1, _02057710 ; =sub_02058EDC + add r0, r4, #0x0 + bl sub_02058698 + ldr r1, _02057710 ; =sub_02058EDC + add r0, r4, #0x0 + bl sub_020586AC + ldr r1, _02057714 ; =sub_02058EE0 + add r0, r4, #0x0 + bl sub_020586C0 + ldr r1, _02057718 ; =sub_02058EE4 + add r0, r4, #0x0 + bl sub_020586D4 + pop {r4, pc} + .balign 4 +_02057708: .word 0x0000FFFF +_0205770C: .word sub_02058ED8 + 1 +_02057710: .word sub_02058EDC + 1 +_02057714: .word sub_02058EE0 + 1 +_02057718: .word sub_02058EE4 + 1 + + thumb_func_start sub_0205771C +sub_0205771C: ; 0x0205771C + push {r3-r7, lr} + add r5, r0, #0x0 + mov r4, #0x0 + bl sub_02058368 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_02057734: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058424 + cmp r0, #0x0 + beq _02057746 + add r0, r5, #0x0 + bl sub_02057654 +_02057746: + add r4, r4, #0x1 + add r5, r5, r7 + cmp r4, r6 + blt _02057734 + pop {r3-r7, pc} + + thumb_func_start sub_02057750 +sub_02057750: ; 0x02057750 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020587E0 + cmp r0, #0x1 + beq _02057760 + bl sub_02020C2C +_02057760: + add r0, r5, #0x0 + mov r4, #0x0 + bl sub_02058368 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_02057776: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058424 + cmp r0, #0x0 + beq _0205779C + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0xe + bl sub_02058424 + cmp r0, #0x0 + beq _0205779C + add r0, r5, #0x0 + bl sub_020586C8 + add r0, r5, #0x0 + bl sub_0205816C +_0205779C: + add r4, r4, #0x1 + add r5, r5, r7 + cmp r4, r6 + blt _02057776 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020577A8 +sub_020577A8: ; 0x020577A8 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020587E0 + cmp r0, #0x1 + beq _020577B8 + bl sub_02020C2C +_020577B8: + add r0, r5, #0x0 + mov r4, #0x0 + bl sub_02058368 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_020577CE: + add r0, r5, #0x0 + bl sub_02058830 + cmp r0, #0x1 + bne _020577F6 + add r0, r5, #0x0 + bl sub_02058884 + cmp r0, #0x1 + bne _020577EA + add r0, r5, #0x0 + bl sub_020586DC + b _020577F0 +_020577EA: + add r0, r5, #0x0 + bl sub_020581B4 +_020577F0: + add r0, r5, #0x0 + bl sub_02058148 +_020577F6: + add r4, r4, #0x1 + add r5, r5, r7 + cmp r4, r6 + blt _020577CE + pop {r3-r7, pc} + + thumb_func_start sub_02057800 +sub_02057800: ; 0x02057800 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + beq _02057846 +_02057820: + ldr r1, [sp, #0x0] + add r0, r7, #0x0 + add r2, r5, #0x0 + bl sub_02057894 + sub r4, r4, #0x1 + add r5, #0x50 + cmp r4, #0x0 + bgt _02057836 + bl sub_02020C2C +_02057836: + add r0, r6, #0x0 + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + bne _02057820 +_02057846: + cmp r4, #0x0 + beq _02057856 + mov r2, #0x50 + add r0, r5, #0x0 + mov r1, #0x0 + mul r2, r4 + blx sub_020DF4A4 +_02057856: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205785C +sub_0205785C: ; 0x0205785C + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r7, r2, #0x0 + beq _02057892 +_02057866: + ldr r1, [r5, #0x0] + mov r0, #0x1 + tst r0, r1 + beq _0205788C + add r0, r6, #0x0 + bl sub_02057C64 + add r4, r0, #0x0 + bne _0205787C + bl sub_02020C2C +_0205787C: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020579C4 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02057AEC +_0205788C: + add r5, #0x50 + sub r7, r7, #0x1 + bne _02057866 +_02057892: + pop {r3-r7, pc} + + thumb_func_start sub_02057894 +sub_02057894: ; 0x02057894 + push {r3-r6, lr} + sub sp, #0xc + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, r2, #0x0 + add r0, r5, #0x0 + bl sub_0205840C + str r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02058440 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02058448 + strb r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02058450 + strh r0, [r4, #0x10] + add r0, r5, #0x0 + bl sub_02058458 + strh r0, [r4, #0x12] + add r0, r5, #0x0 + bl sub_02058480 + strb r0, [r4, #0x9] + add r0, r5, #0x0 + bl sub_02058488 + strh r0, [r4, #0x14] + add r0, r5, #0x0 + bl sub_02058490 + strh r0, [r4, #0x16] + add r0, r5, #0x0 + bl sub_02058498 + strh r0, [r4, #0x18] + add r0, r5, #0x0 + bl sub_020584A0 + strb r0, [r4, #0xc] + add r0, r5, #0x0 + bl sub_020584C4 + strb r0, [r4, #0xd] + add r0, r5, #0x0 + bl sub_020584D4 + strb r0, [r4, #0xe] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + strh r0, [r4, #0x1a] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058510 + strh r0, [r4, #0x1c] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02058510 + strh r0, [r4, #0x1e] + add r0, r5, #0x0 + bl sub_02058538 + strb r0, [r4, #0xa] + add r0, r5, #0x0 + bl sub_02058540 + strb r0, [r4, #0xb] + add r0, r5, #0x0 + bl sub_02058AFC + strh r0, [r4, #0x20] + add r0, r5, #0x0 + bl sub_02058B04 + strh r0, [r4, #0x22] + add r0, r5, #0x0 + bl sub_02058B0C + strh r0, [r4, #0x24] + add r0, r5, #0x0 + bl sub_02058B2C + strh r0, [r4, #0x26] + add r0, r5, #0x0 + bl sub_02058B3C + strh r0, [r4, #0x28] + add r0, r5, #0x0 + bl sub_02058B4C + strh r0, [r4, #0x2a] + mov r0, #0x26 + mov r1, #0x2a + ldrsh r0, [r4, r0] + ldrsh r1, [r4, r1] + add r2, sp, #0x0 + bl sub_02059E60 + add r0, r5, #0x0 + bl sub_02058B80 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058AE4 + add r2, r0, #0x0 + add r0, r6, #0x0 + add r1, sp, #0x0 + bl sub_02059EC8 + cmp r0, #0x0 + bne _0205798E + add r0, r5, #0x0 + bl sub_02058B80 + b _02057990 +_0205798E: + ldr r0, [sp, #0x4] +_02057990: + str r0, [r4, #0x2c] + add r0, r5, #0x0 + bl sub_020585B0 + add r3, r4, #0x0 + add r3, #0x30 + mov r2, #0x10 +_0205799E: + ldrb r1, [r0, #0x0] + add r0, r0, #0x1 + strb r1, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _0205799E + add r0, r5, #0x0 + bl sub_020585D8 + add r4, #0x40 + mov r2, #0x10 +_020579B4: + ldrb r1, [r0, #0x0] + add r0, r0, #0x1 + strb r1, [r4, #0x0] + add r4, r4, #0x1 + sub r2, r2, #0x1 + bne _020579B4 + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_020579C4 +sub_020579C4: ; 0x020579C4 + push {r4-r5, lr} + sub sp, #0xc + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + add r5, r0, #0x0 + bl sub_02058408 + ldr r1, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0205843C + ldrb r1, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02058444 + ldrh r1, [r4, #0x10] + add r0, r5, #0x0 + bl sub_0205844C + ldrh r1, [r4, #0x12] + add r0, r5, #0x0 + bl sub_02058454 + ldrb r1, [r4, #0x9] + add r0, r5, #0x0 + bl sub_0205847C + ldrh r1, [r4, #0x14] + add r0, r5, #0x0 + bl sub_02058484 + ldrh r1, [r4, #0x16] + add r0, r5, #0x0 + bl sub_0205848C + ldrh r1, [r4, #0x18] + add r0, r5, #0x0 + bl sub_02058494 + mov r1, #0xc + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_0205849C + mov r1, #0xd + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_020584A4 + mov r1, #0xe + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_020584CC + mov r1, #0x1a + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_020584EC + mov r1, #0x1c + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_020584EC + mov r1, #0x1e + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + mov r2, #0x2 + bl sub_020584EC + mov r1, #0xa + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058534 + mov r1, #0xb + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_0205853C + mov r1, #0x20 + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B00 + mov r1, #0x22 + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B08 + mov r1, #0x24 + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B10 + mov r1, #0x26 + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B30 + mov r1, #0x28 + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B40 + mov r1, #0x2a + ldrsh r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02058B50 + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + ldr r0, [r4, #0x2c] + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B6C + add r0, r5, #0x0 + bl sub_020585B0 + add r3, r4, #0x0 + add r3, #0x30 + mov r2, #0x10 +_02057AC4: + ldrb r1, [r3, #0x0] + add r3, r3, #0x1 + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _02057AC4 + add r0, r5, #0x0 + bl sub_020585D8 + add r4, #0x40 + mov r2, #0x10 +_02057ADA: + ldrb r1, [r4, #0x0] + add r4, r4, #0x1 + strb r1, [r0, #0x0] + add r0, r0, #0x1 + sub r2, r2, #0x1 + bne _02057ADA + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_02057AEC +sub_02057AEC: ; 0x02057AEC + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02057B34 + add r0, r4, #0x0 + bl sub_02057B54 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058570 + add r0, r4, #0x0 + bl sub_02057EE0 + add r0, r4, #0x0 + bl sub_0205AE80 + add r0, r4, #0x0 + bl sub_020581B4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02057CF0 + add r0, r4, #0x0 + bl sub_0205866C + add r0, r5, #0x0 + bl sub_02058360 + bl sub_0205836C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02057B34 +sub_02057B34: ; 0x02057B34 + push {r4, lr} + mov r1, #0x5 + add r4, r0, #0x0 + bl sub_02058410 + ldr r1, _02057B50 ; =0x00EF4248 + add r0, r4, #0x0 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_0205815C + pop {r4, pc} + nop +_02057B50: .word 0x00EF4248 + + thumb_func_start sub_02057B54 +sub_02057B54: ; 0x02057B54 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, sp, #0x0 + bl sub_02058B5C + add r0, r4, #0x0 + bl sub_02058B2C + add r1, r0, #0x0 + mov r0, #0x2 + lsl r2, r1, #0x10 + lsl r0, r0, #0xe + add r0, r2, r0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02058B18 + add r0, r4, #0x0 + bl sub_02058B3C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B20 + add r0, r4, #0x0 + bl sub_02058B4C + add r1, r0, #0x0 + mov r0, #0x2 + lsl r2, r1, #0x10 + lsl r0, r0, #0xe + add r0, r2, r0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02058B28 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02058B6C + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02057BAC +sub_02057BAC: ; 0x02057BAC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r2, #0x0 + add r7, r0, #0x0 + add r4, r3, #0x0 + str r1, [sp, #0x0] + cmp r5, #0x0 + bne _02057BC0 + bl sub_02020C2C +_02057BC0: + lsl r0, r5, #0x5 + str r0, [sp, #0x4] + ldr r1, [sp, #0x4] + mov r0, #0xb + bl sub_020169D8 + add r6, r0, #0x0 + bne _02057BD4 + bl sub_02020C2C +_02057BD4: + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020DF438 + mov r0, #0xb + mov r1, #0x14 + bl sub_020169D8 + add r4, r0, #0x0 + bne _02057BEE + bl sub_02020C2C +_02057BEE: + ldr r0, [sp, #0x0] + str r0, [r4, #0x0] + str r5, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + str r7, [r4, #0xc] + add r0, r4, #0x0 + str r6, [r4, #0x10] + bl sub_02057C08 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02057C08 +sub_02057C08: ; 0x02057C08 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_020583E8 + add r6, r5, #0x0 + ldr r4, [r5, #0x10] + add r7, r0, #0x0 + add r6, #0x8 +_02057C1A: + add r0, r4, #0x0 + bl sub_02058CE0 + cmp r0, #0x1 + beq _02057C30 + ldrh r1, [r4, #0x8] + add r0, r7, #0x0 + bl sub_02039528 + cmp r0, #0x0 + bne _02057C42 +_02057C30: + ldr r0, [r5, #0xc] + ldr r2, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02057494 + cmp r0, #0x0 + bne _02057C42 + bl sub_02020C2C +_02057C42: + ldr r0, [r6, #0x0] + add r4, #0x20 + add r0, r0, #0x1 + str r0, [r6, #0x0] + ldr r1, [r5, #0x8] + ldr r0, [r5, #0x4] + cmp r1, r0 + blt _02057C1A + ldr r1, [r5, #0x10] + mov r0, #0xb + bl sub_02016A8C + mov r0, #0xb + add r1, r5, #0x0 + bl sub_02016A8C + pop {r3-r7, pc} + + thumb_func_start sub_02057C64 +sub_02057C64: ; 0x02057C64 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r4, #0x0 + bl sub_02058368 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_02057C7C: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058424 + cmp r0, #0x0 + bne _02057C8C + add r0, r5, #0x0 + pop {r3-r7, pc} +_02057C8C: + add r4, r4, #0x1 + add r5, r5, r7 + cmp r4, r6 + blt _02057C7C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02057C98 +sub_02057C98: ; 0x02057C98 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r2, #0x0 + str r1, [sp, #0x4] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + add r6, r0, #0x0 + bl sub_020580F4 + cmp r0, #0x1 + bne _02057CEA + add r7, sp, #0x0 +_02057CB6: + ldr r0, [sp, #0x0] + bl sub_020589CC + cmp r0, #0x1 + bne _02057CDA + ldr r0, [sp, #0x0] + bl sub_02058448 + cmp r5, r0 + bne _02057CDA + ldr r0, [sp, #0x0] + bl sub_02058750 + cmp r4, r0 + bne _02057CDA + ldr r0, [sp, #0x0] + add sp, #0x8 + pop {r3-r7, pc} +_02057CDA: + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + beq _02057CB6 +_02057CEA: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02057CF0 +sub_02057CF0: ; 0x02057CF0 + push {r3-r5, lr} + add r4, r1, #0x0 + bl sub_0205839C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058480 + cmp r0, #0x30 + beq _02057D08 + cmp r0, #0x32 + bne _02057D0A +_02057D08: + add r5, r5, #0x2 +_02057D0A: + ldr r0, _02057D28 ; =sub_0205832C + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200CA44 + add r5, r0, #0x0 + bne _02057D1C + bl sub_02020C2C +_02057D1C: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058554 + pop {r3-r5, pc} + nop +_02057D28: .word sub_0205832C + 1 + + thumb_func_start sub_02057D2C +sub_02057D2C: ; 0x02057D2C + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r6, r2, #0x0 + bl sub_02058BFC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058444 + add r0, r4, #0x0 + bl sub_02058C04 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058170 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058454 + add r0, r4, #0x0 + bl sub_02058C0C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205847C + add r0, r4, #0x0 + bl sub_02058C14 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058484 + add r0, r4, #0x0 + bl sub_02058C1C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205848C + add r0, r4, #0x0 + bl sub_02058C24 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058494 + add r0, r4, #0x0 + bl sub_02058C2C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205849C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058C58 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_020584EC + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02058C58 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_020584EC + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02058C58 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x2 + bl sub_020584EC + add r0, r4, #0x0 + bl sub_02058C80 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058534 + add r0, r4, #0x0 + bl sub_02058C8C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205853C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02057DFC + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02057DFC +sub_02057DFC: ; 0x02057DFC + push {r3-r6, lr} + sub sp, #0xc + add r6, r1, #0x0 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058C98 + add r5, r0, #0x0 + mov r0, #0x2 + lsl r1, r5, #0x10 + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B00 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B18 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B30 + add r0, r6, #0x0 + bl sub_02058CA0 + asr r1, r0, #0x3 + str r0, [sp, #0x4] + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r5, r0, #0xc + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B08 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B20 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B40 + add r0, r6, #0x0 + bl sub_02058CA8 + add r5, r0, #0x0 + mov r0, #0x2 + lsl r1, r5, #0x10 + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B10 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B28 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02058B50 + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02058B6C + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02057E90 +sub_02057E90: ; 0x02057E90 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, _02057EDC ; =0x00001801 + add r5, r0, #0x0 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_020581F8 + cmp r0, #0x1 + bne _02057EAE + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020589B0 +_02057EAE: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058570 + add r0, r5, #0x0 + bl sub_020584A0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_020584A4 + add r0, r5, #0x0 + bl sub_020584A0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_0205AE80 + pop {r3-r5, pc} + nop +_02057EDC: .word 0x00001801 + + thumb_func_start sub_02057EE0 +sub_02057EE0: ; 0x02057EE0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058480 + bl sub_02058D14 + add r4, r0, #0x0 + bl sub_02058D2C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058630 + add r0, r4, #0x0 + bl sub_02058D30 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058644 + add r0, r4, #0x0 + bl sub_02058D34 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058658 + pop {r3-r5, pc} + + thumb_func_start sub_02057F18 +sub_02057F18: ; 0x02057F18 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02058458 + mov r1, #0x2 + lsl r1, r1, #0xc + cmp r0, r1 + bne _02057F2C + ldr r5, _02057F7C ; =0x021F9080 + b _02057F32 +_02057F2C: + bl sub_02058D4C + add r5, r0, #0x0 +_02057F32: + add r0, r5, #0x0 + bl sub_02058D38 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058684 + add r0, r5, #0x0 + bl sub_02058D3C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058698 + add r0, r5, #0x0 + bl sub_02058D40 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020586AC + add r0, r5, #0x0 + bl sub_02058D44 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020586C0 + add r0, r5, #0x0 + bl sub_02058D48 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_020586D4 + pop {r3-r5, pc} + nop +_02057F7C: .word 0x021F9080 + + thumb_func_start sub_02057F80 +sub_02057F80: ; 0x02057F80 + ldr r3, _02057F8C ; =sub_020DF4A4 + mov r2, #0x4a + mov r1, #0x0 + lsl r2, r2, #0x2 + bx r3 + nop +_02057F8C: .word sub_020DF4A4 + + thumb_func_start sub_02057F90 +sub_02057F90: ; 0x02057F90 + push {r3-r7, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r4, r3, #0x0 + str r1, [sp, #0x0] + cmp r6, #0x0 + beq _0205800A +_02057F9E: + add r0, r4, #0x0 + bl sub_02058BFC + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058448 + cmp r7, r0 + bne _02058002 + add r0, r4, #0x0 + bl sub_02058CE0 + cmp r0, #0x1 + bne _02057FE8 + add r0, r4, #0x0 + bl sub_02058CFC + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_020589CC + cmp r0, #0x1 + bne _02057FDA + add r0, r5, #0x0 + bl sub_02058750 + cmp r7, r0 + bne _02058002 + mov r0, #0x1 + pop {r3-r7, pc} +_02057FDA: + add r0, r5, #0x0 + bl sub_02058450 + cmp r7, r0 + bne _02058002 + mov r0, #0x2 + pop {r3-r7, pc} +_02057FE8: + add r0, r5, #0x0 + bl sub_020589CC + cmp r0, #0x1 + bne _02058002 + add r0, r5, #0x0 + bl sub_02058750 + ldr r1, [sp, #0x0] + cmp r1, r0 + bne _02058002 + mov r0, #0x2 + pop {r3-r7, pc} +_02058002: + sub r6, r6, #0x1 + add r4, #0x20 + cmp r6, #0x0 + bne _02057F9E +_0205800A: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02058010 +sub_02058010: ; 0x02058010 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r2, #0x0 + str r1, [sp, #0x4] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + add r6, r0, #0x0 + bl sub_020580F4 + cmp r0, #0x1 + bne _02058058 + add r7, sp, #0x0 +_0205802E: + ldr r0, [sp, #0x0] + bl sub_02058448 + cmp r5, r0 + bne _02058048 + ldr r0, [sp, #0x0] + bl sub_02058450 + cmp r4, r0 + bne _02058048 + ldr r0, [sp, #0x0] + add sp, #0x8 + pop {r3-r7, pc} +_02058048: + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + beq _0205802E +_02058058: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02058060 +sub_02058060: ; 0x02058060 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r5, #0x0 + bne _0205806E + bl sub_02020C2C +_0205806E: + add r0, r5, #0x0 + bl sub_02058368 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583C4 + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_02058082: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205842C + cmp r0, #0x1 + bne _020580A6 + add r0, r5, #0x0 + bl sub_020589CC + cmp r0, #0x0 + bne _020580A6 + add r0, r5, #0x0 + bl sub_02058448 + cmp r6, r0 + bne _020580A6 + add r0, r5, #0x0 + pop {r3-r7, pc} +_020580A6: + sub r4, r4, #0x1 + add r5, r5, r7 + cmp r4, #0x0 + bgt _02058082 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020580B4 +sub_020580B4: ; 0x020580B4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_02058368 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583C4 + mov r7, #0x4a + add r5, r0, #0x0 + lsl r7, r7, #0x2 +_020580CC: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205842C + cmp r0, #0x1 + bne _020580E6 + add r0, r5, #0x0 + bl sub_02058480 + cmp r6, r0 + bne _020580E6 + add r0, r5, #0x0 + pop {r3-r7, pc} +_020580E6: + sub r4, r4, #0x1 + add r5, r5, r7 + cmp r4, #0x0 + bgt _020580CC + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020580F4 +sub_020580F4: ; 0x020580F4 + push {r3-r7, lr} + add r5, r2, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0x0] + add r6, r3, #0x0 + bl sub_02058368 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, r7 + blt _0205810E + mov r0, #0x0 + pop {r3-r7, pc} +_0205810E: + add r0, r4, #0x0 + bl sub_020583C4 + mov r1, #0x4a + ldr r2, [r5, #0x0] + lsl r1, r1, #0x2 + mul r1, r2 + add r4, r0, r1 +_0205811E: + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + add r0, r0, #0x1 + str r0, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02058424 + cmp r6, r0 + bne _02058138 + ldr r0, [sp, #0x0] + str r4, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_02058138: + mov r0, #0x4a + lsl r0, r0, #0x2 + add r4, r4, r0 + ldr r0, [r5, #0x0] + cmp r0, r7 + blt _0205811E + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02058148 +sub_02058148: ; 0x02058148 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r4, #0x0 + bl sub_0205815C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205815C +sub_0205815C: ; 0x0205815C + ldr r3, _02058164 ; =sub_02058418 + ldr r1, _02058168 ; =0x05108000 + bx r3 + nop +_02058164: .word sub_02058418 + 1 +_02058168: .word 0x05108000 + + thumb_func_start sub_0205816C +sub_0205816C: ; 0x0205816C + bx lr + .balign 4 + + thumb_func_start sub_02058170 +sub_02058170: ; 0x02058170 + push {r3, lr} + cmp r1, #0x65 + blt _02058186 + cmp r1, #0x75 + bgt _02058186 + sub r1, #0x65 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02039504 + add r1, r0, #0x0 +_02058186: + add r0, r1, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205818C +sub_0205818C: ; 0x0205818C + push {r4, lr} + mov r1, #0x1 + lsl r1, r1, #0xc + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _020581A2 + add r0, r4, #0x0 + bl sub_02059D1C +_020581A2: + pop {r4, pc} + + thumb_func_start sub_020581A4 +sub_020581A4: ; 0x020581A4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02057EE0 + add r0, r4, #0x0 + bl sub_02058EE8 + pop {r4, pc} + + thumb_func_start sub_020581B4 +sub_020581B4: ; 0x020581B4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058578 + bl sub_020587E0 + cmp r0, #0x0 + beq _020581F6 + add r0, r4, #0x0 + bl sub_0205818C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_021F2E0C + add r0, r4, #0x0 + bl sub_02058884 + cmp r0, #0x0 + bne _020581F6 + add r0, r4, #0x0 + bl sub_02057F18 + add r0, r4, #0x0 + bl sub_0205868C + add r0, r4, #0x0 + bl sub_02058878 +_020581F6: + pop {r4, pc} + + thumb_func_start sub_020581F8 +sub_020581F8: ; 0x020581F8 + push {r3, lr} + bl sub_02058498 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, _02058210 ; =0x0000FFFF + cmp r1, r0 + bne _0205820C + mov r0, #0x1 + pop {r3, pc} +_0205820C: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02058210: .word 0x0000FFFF + + thumb_func_start sub_02058214 +sub_02058214: ; 0x02058214 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020589CC + cmp r0, #0x1 + beq _02058228 + bl sub_02020C2C +_02058228: + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020589B0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0205844C + add r0, r4, #0x0 + bl sub_02058C24 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058494 + add r0, r4, #0x0 + bl sub_02058C1C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205848C + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02058258 +sub_02058258: ; 0x02058258 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r4, r1, #0x0 + bl sub_02058CE0 + cmp r0, #0x1 + beq _0205826E + bl sub_02020C2C +_0205826E: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_020589B0 + add r0, r6, #0x0 + bl sub_02058C24 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058494 + add r0, r6, #0x0 + bl sub_02058CFC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205848C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205844C + pop {r4-r6, pc} + + thumb_func_start sub_0205829C +sub_0205829C: ; 0x0205829C + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058744 + add r0, r0, r4 + pop {r4, pc} + + thumb_func_start sub_020582A8 +sub_020582A8: ; 0x020582A8 + push {r4-r6, lr} + add r6, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_0205842C + cmp r0, #0x0 + bne _020582BE + mov r0, #0x0 + pop {r4-r6, pc} +_020582BE: + add r0, r5, #0x0 + bl sub_02058448 + cmp r6, r0 + beq _020582CC + mov r0, #0x0 + pop {r4-r6, pc} +_020582CC: + add r0, r5, #0x0 + bl sub_02058450 + cmp r4, r0 + beq _020582F2 + add r0, r5, #0x0 + bl sub_020589CC + cmp r0, #0x0 + bne _020582E4 + mov r0, #0x0 + pop {r4-r6, pc} +_020582E4: + add r0, r5, #0x0 + bl sub_02058750 + cmp r4, r0 + beq _020582F2 + mov r0, #0x0 + pop {r4-r6, pc} +_020582F2: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020582F8 +sub_020582F8: ; 0x020582F8 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0205842C + cmp r0, #0x0 + bne _02058310 + mov r0, #0x0 + pop {r3-r7, pc} +_02058310: + add r0, r5, #0x0 + bl sub_0205845C + cmp r0, r4 + beq _0205831E + mov r0, #0x0 + pop {r3-r7, pc} +_0205831E: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020582A8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205832C +sub_0205832C: ; 0x0205832C + push {r4, lr} + add r4, r1, #0x0 + add r0, r4, #0x0 + bl sub_02058EF8 + add r0, r4, #0x0 + bl sub_02058830 + cmp r0, #0x0 + beq _02058346 + add r0, r4, #0x0 + bl sub_02058348 +_02058346: + pop {r4, pc} + + thumb_func_start sub_02058348 +sub_02058348: ; 0x02058348 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058578 + bl sub_020587E0 + cmp r0, #0x1 + bne _0205835E + add r0, r4, #0x0 + bl sub_021F1D8C +_0205835E: + pop {r4, pc} + + thumb_func_start sub_02058360 +sub_02058360: ; 0x02058360 + bx lr + .balign 4 + + thumb_func_start sub_02058364 +sub_02058364: ; 0x02058364 + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02058368 +sub_02058368: ; 0x02058368 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0205836C +sub_0205836C: ; 0x0205836C + ldr r1, [r0, #0x8] + add r1, r1, #0x1 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02058374 +sub_02058374: ; 0x02058374 + ldr r1, [r0, #0x8] + sub r1, r1, #0x1 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_0205837C +sub_0205837C: ; 0x0205837C + ldr r2, [r0, #0x0] + orr r1, r2 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02058384 +sub_02058384: ; 0x02058384 + ldr r2, [r0, #0x0] + mvn r1, r1 + and r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058390 +sub_02058390: ; 0x02058390 + ldr r0, [r0, #0x0] + and r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_02058398 +sub_02058398: ; 0x02058398 + str r1, [r0, #0xc] + bx lr + + thumb_func_start sub_0205839C +sub_0205839C: ; 0x0205839C + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_020583A0 +sub_020583A0: ; 0x020583A0 + add r0, #0x18 + bx lr + + thumb_func_start sub_020583A4 +sub_020583A4: ; 0x020583A4 + mov r2, #0x12 + lsl r2, r2, #0x4 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_020583AC +sub_020583AC: ; 0x020583AC + mov r1, #0x12 + lsl r1, r1, #0x4 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_020583B4 +sub_020583B4: ; 0x020583B4 + mov r2, #0x49 + lsl r2, r2, #0x2 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_020583BC +sub_020583BC: ; 0x020583BC + mov r1, #0x49 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_020583C4 +sub_020583C4: ; 0x020583C4 + mov r1, #0x49 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_020583CC +sub_020583CC: ; 0x020583CC + mov r1, #0x49 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_020583D4 +sub_020583D4: ; 0x020583D4 + mov r1, #0x4a + ldr r2, [r0, #0x0] + lsl r1, r1, #0x2 + add r1, r2, r1 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_020583E0 +sub_020583E0: ; 0x020583E0 + mov r2, #0x4a + lsl r2, r2, #0x2 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_020583E8 +sub_020583E8: ; 0x020583E8 + mov r1, #0x4a + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_020583F0 +sub_020583F0: ; 0x020583F0 + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_020583F4 +sub_020583F4: ; 0x020583F4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _02058402 + bl sub_02020C2C +_02058402: + ldr r0, [r4, #0x14] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058408 +sub_02058408: ; 0x02058408 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0205840C +sub_0205840C: ; 0x0205840C + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02058410 +sub_02058410: ; 0x02058410 + ldr r2, [r0, #0x0] + orr r1, r2 + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02058418 +sub_02058418: ; 0x02058418 + ldr r2, [r0, #0x0] + mvn r1, r1 + and r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058424 +sub_02058424: ; 0x02058424 + ldr r0, [r0, #0x0] + and r0, r1 + bx lr + .balign 4 + + thumb_func_start sub_0205842C +sub_0205842C: ; 0x0205842C + ldr r0, [r0, #0x0] + tst r0, r1 + beq _02058436 + mov r0, #0x1 + bx lr +_02058436: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0205843C +sub_0205843C: ; 0x0205843C + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02058440 +sub_02058440: ; 0x02058440 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02058444 +sub_02058444: ; 0x02058444 + str r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02058448 +sub_02058448: ; 0x02058448 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_0205844C +sub_0205844C: ; 0x0205844C + str r1, [r0, #0xc] + bx lr + + thumb_func_start sub_02058450 +sub_02058450: ; 0x02058450 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02058454 +sub_02058454: ; 0x02058454 + str r1, [r0, #0x10] + bx lr + + thumb_func_start sub_02058458 +sub_02058458: ; 0x02058458 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_0205845C +sub_0205845C: ; 0x0205845C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058458 + add r4, r0, #0x0 + bl sub_0205C334 + cmp r0, #0x1 + bne _02058476 + add r0, r5, #0x0 + bl sub_0205C340 + add r4, r0, #0x0 +_02058476: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205847C +sub_0205847C: ; 0x0205847C + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_02058480 +sub_02058480: ; 0x02058480 + ldr r0, [r0, #0x14] + bx lr + + thumb_func_start sub_02058484 +sub_02058484: ; 0x02058484 + str r1, [r0, #0x18] + bx lr + + thumb_func_start sub_02058488 +sub_02058488: ; 0x02058488 + ldr r0, [r0, #0x18] + bx lr + + thumb_func_start sub_0205848C +sub_0205848C: ; 0x0205848C + str r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_02058490 +sub_02058490: ; 0x02058490 + ldr r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_02058494 +sub_02058494: ; 0x02058494 + str r1, [r0, #0x20] + bx lr + + thumb_func_start sub_02058498 +sub_02058498: ; 0x02058498 + ldr r0, [r0, #0x20] + bx lr + + thumb_func_start sub_0205849C +sub_0205849C: ; 0x0205849C + str r1, [r0, #0x24] + bx lr + + thumb_func_start sub_020584A0 +sub_020584A0: ; 0x020584A0 + ldr r0, [r0, #0x24] + bx lr + + thumb_func_start sub_020584A4 +sub_020584A4: ; 0x020584A4 + ldr r2, [r0, #0x28] + str r2, [r0, #0x30] + str r1, [r0, #0x28] + bx lr + + thumb_func_start sub_020584AC +sub_020584AC: ; 0x020584AC + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x80 + add r5, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + bne _020584C2 + ldr r0, [r5, #0x28] + str r0, [r5, #0x30] + str r4, [r5, #0x28] +_020584C2: + pop {r3-r5, pc} + + thumb_func_start sub_020584C4 +sub_020584C4: ; 0x020584C4 + ldr r0, [r0, #0x28] + bx lr + + thumb_func_start sub_020584C8 +sub_020584C8: ; 0x020584C8 + ldr r0, [r0, #0x30] + bx lr + + thumb_func_start sub_020584CC +sub_020584CC: ; 0x020584CC + ldr r2, [r0, #0x2c] + str r2, [r0, #0x34] + str r1, [r0, #0x2c] + bx lr + + thumb_func_start sub_020584D4 +sub_020584D4: ; 0x020584D4 + ldr r0, [r0, #0x2c] + bx lr + + thumb_func_start sub_020584D8 +sub_020584D8: ; 0x020584D8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020584AC + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020584CC + pop {r3-r5, pc} + + thumb_func_start sub_020584EC +sub_020584EC: ; 0x020584EC + push {r3, lr} + cmp r2, #0x0 + beq _020584FC + cmp r2, #0x1 + beq _02058500 + cmp r2, #0x2 + beq _02058504 + b _02058508 +_020584FC: + str r1, [r0, #0x38] + pop {r3, pc} +_02058500: + str r1, [r0, #0x3c] + pop {r3, pc} +_02058504: + str r1, [r0, #0x40] + pop {r3, pc} +_02058508: + bl sub_02020C2C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058510 +sub_02058510: ; 0x02058510 + push {r3, lr} + cmp r1, #0x0 + beq _02058520 + cmp r1, #0x1 + beq _02058524 + cmp r1, #0x2 + beq _02058528 + b _0205852C +_02058520: + ldr r0, [r0, #0x38] + pop {r3, pc} +_02058524: + ldr r0, [r0, #0x3c] + pop {r3, pc} +_02058528: + ldr r0, [r0, #0x40] + pop {r3, pc} +_0205852C: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02058534 +sub_02058534: ; 0x02058534 + str r1, [r0, #0x44] + bx lr + + thumb_func_start sub_02058538 +sub_02058538: ; 0x02058538 + ldr r0, [r0, #0x44] + bx lr + + thumb_func_start sub_0205853C +sub_0205853C: ; 0x0205853C + str r1, [r0, #0x48] + bx lr + + thumb_func_start sub_02058540 +sub_02058540: ; 0x02058540 + ldr r0, [r0, #0x48] + bx lr + + thumb_func_start sub_02058544 +sub_02058544: ; 0x02058544 + add r0, #0xa0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0205854C +sub_0205854C: ; 0x0205854C + add r0, #0xa0 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058554 +sub_02058554: ; 0x02058554 + add r0, #0xb0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0205855C +sub_0205855C: ; 0x0205855C + add r0, #0xb0 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058564 +sub_02058564: ; 0x02058564 + push {r3, lr} + bl sub_0205855C + bl sub_0200CAB4 + pop {r3, pc} + + thumb_func_start sub_02058570 +sub_02058570: ; 0x02058570 + add r0, #0xb4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058578 +sub_02058578: ; 0x02058578 + add r0, #0xb4 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058580 +sub_02058580: ; 0x02058580 + ldr r3, _02058588 ; =sub_02058360 + add r0, #0xb4 + ldr r0, [r0, #0x0] + bx r3 + .balign 4 +_02058588: .word sub_02058360 + 1 + + thumb_func_start sub_0205858C +sub_0205858C: ; 0x0205858C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x10 + ble _0205859A + bl sub_02020C2C +_0205859A: + add r0, r4, #0x0 + bl sub_020585B0 + mov r1, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020585B0 +sub_020585B0: ; 0x020585B0 + add r0, #0xd8 + bx lr + + thumb_func_start sub_020585B4 +sub_020585B4: ; 0x020585B4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x10 + ble _020585C2 + bl sub_02020C2C +_020585C2: + add r0, r4, #0x0 + bl sub_020585D8 + mov r1, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020585D8 +sub_020585D8: ; 0x020585D8 + add r0, #0xe8 + bx lr + + thumb_func_start sub_020585DC +sub_020585DC: ; 0x020585DC + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x10 + ble _020585EA + bl sub_02020C2C +_020585EA: + add r0, r4, #0x0 + bl sub_02058600 + mov r1, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02058600 +sub_02058600: ; 0x02058600 + add r0, #0xf8 + bx lr + + thumb_func_start sub_02058604 +sub_02058604: ; 0x02058604 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + cmp r5, #0x20 + ble _02058612 + bl sub_02020C2C +_02058612: + add r0, r4, #0x0 + bl sub_02058628 + mov r1, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02058628 +sub_02058628: ; 0x02058628 + mov r1, #0x42 + lsl r1, r1, #0x2 + add r0, r0, r1 + bx lr + + thumb_func_start sub_02058630 +sub_02058630: ; 0x02058630 + add r0, #0xb8 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058638 +sub_02058638: ; 0x02058638 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xb8 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_02058644 +sub_02058644: ; 0x02058644 + add r0, #0xbc + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0205864C +sub_0205864C: ; 0x0205864C + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xbc + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_02058658 +sub_02058658: ; 0x02058658 + add r0, #0xc0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058660 +sub_02058660: ; 0x02058660 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xc0 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_0205866C +sub_0205866C: ; 0x0205866C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058480 + bl sub_02058D14 + add r1, r0, #0x0 + ldr r1, [r1, #0x10] + add r0, r4, #0x0 + blx r1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058684 +sub_02058684: ; 0x02058684 + add r0, #0xc4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0205868C +sub_0205868C: ; 0x0205868C + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xc4 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_02058698 +sub_02058698: ; 0x02058698 + add r0, #0xc8 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586A0 +sub_020586A0: ; 0x020586A0 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xc8 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_020586AC +sub_020586AC: ; 0x020586AC + add r0, #0xcc + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586B4 +sub_020586B4: ; 0x020586B4 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xcc + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_020586C0 +sub_020586C0: ; 0x020586C0 + add r0, #0xd0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586C8 +sub_020586C8: ; 0x020586C8 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xd0 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_020586D4 +sub_020586D4: ; 0x020586D4 + add r0, #0xd4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586DC +sub_020586DC: ; 0x020586DC + push {r3, lr} + add r1, r0, #0x0 + add r1, #0xd4 + ldr r1, [r1, #0x0] + blx r1 + pop {r3, pc} + + thumb_func_start sub_020586E8 +sub_020586E8: ; 0x020586E8 + add r0, #0xa4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586F0 +sub_020586F0: ; 0x020586F0 + add r0, #0xa4 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020586F8 +sub_020586F8: ; 0x020586F8 + add r0, #0xa8 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058700 +sub_02058700: ; 0x02058700 + add r1, r0, #0x0 + add r1, #0xa8 + ldr r1, [r1, #0x0] + add r0, #0xa8 + add r1, r1, #0x1 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058710 +sub_02058710: ; 0x02058710 + add r0, #0xa8 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058718 +sub_02058718: ; 0x02058718 + add r0, #0xac + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058720 +sub_02058720: ; 0x02058720 + add r0, #0xac + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058728 +sub_02058728: ; 0x02058728 + add r0, #0xae + strh r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058730 +sub_02058730: ; 0x02058730 + add r0, #0xae + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02058738 +sub_02058738: ; 0x02058738 + push {r3, lr} + bl sub_02058580 + bl sub_020583E8 + pop {r3, pc} + + thumb_func_start sub_02058744 +sub_02058744: ; 0x02058744 + push {r3, lr} + bl sub_02058578 + bl sub_0205839C + pop {r3, pc} + + thumb_func_start sub_02058750 +sub_02058750: ; 0x02058750 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020589CC + cmp r0, #0x1 + beq _02058760 + bl sub_02020C2C +_02058760: + add r0, r4, #0x0 + bl sub_02058490 + pop {r4, pc} + + thumb_func_start sub_02058768 +sub_02058768: ; 0x02058768 + ldr r3, _02058770 ; =sub_0205837C + mov r1, #0x6 + bx r3 + nop +_02058770: .word sub_0205837C + 1 + + thumb_func_start sub_02058774 +sub_02058774: ; 0x02058774 + ldr r3, _0205877C ; =sub_02058384 + mov r1, #0x6 + bx r3 + nop +_0205877C: .word sub_02058384 + 1 + + thumb_func_start sub_02058780 +sub_02058780: ; 0x02058780 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02058368 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r6, #0x4a + add r5, r0, #0x0 + lsl r6, r6, #0x2 +_02058796: + add r0, r5, #0x0 + bl sub_02058830 + cmp r0, #0x0 + beq _020587A6 + add r0, r5, #0x0 + bl sub_02058908 +_020587A6: + add r5, r5, r6 + sub r4, r4, #0x1 + bne _02058796 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020587B0 +sub_020587B0: ; 0x020587B0 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02058368 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + mov r6, #0x4a + add r5, r0, #0x0 + lsl r6, r6, #0x2 +_020587C6: + add r0, r5, #0x0 + bl sub_02058830 + cmp r0, #0x0 + beq _020587D6 + add r0, r5, #0x0 + bl sub_02058914 +_020587D6: + add r5, r5, r6 + sub r4, r4, #0x1 + bne _020587C6 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020587E0 +sub_020587E0: ; 0x020587E0 + push {r3, lr} + mov r1, #0x1 + bl sub_02058390 + cmp r0, #0x0 + beq _020587F0 + mov r0, #0x1 + pop {r3, pc} +_020587F0: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020587F4 +sub_020587F4: ; 0x020587F4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058578 + add r1, r4, #0x0 + bl sub_02058390 + pop {r4, pc} + + thumb_func_start sub_02058804 +sub_02058804: ; 0x02058804 + push {r3, lr} + cmp r1, #0x0 + bne _02058812 + mov r1, #0x8 + bl sub_0205837C + pop {r3, pc} +_02058812: + mov r1, #0x8 + bl sub_02058384 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205881C +sub_0205881C: ; 0x0205881C + push {r3, lr} + mov r1, #0x8 + bl sub_02058390 + cmp r0, #0x0 + bne _0205882C + mov r0, #0x1 + pop {r3, pc} +_0205882C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02058830 +sub_02058830: ; 0x02058830 + ldr r3, _02058838 ; =sub_0205842C + mov r1, #0x1 + bx r3 + nop +_02058838: .word sub_0205842C + 1 + + thumb_func_start sub_0205883C +sub_0205883C: ; 0x0205883C + ldr r3, _02058844 ; =sub_02058410 + mov r1, #0x2 + bx r3 + nop +_02058844: .word sub_02058410 + 1 + + thumb_func_start sub_02058848 +sub_02058848: ; 0x02058848 + ldr r3, _02058850 ; =sub_02058418 + mov r1, #0x2 + bx r3 + nop +_02058850: .word sub_02058418 + 1 + + thumb_func_start sub_02058854 +sub_02058854: ; 0x02058854 + ldr r3, _0205885C ; =sub_0205842C + mov r1, #0x2 + bx r3 + nop +_0205885C: .word sub_0205842C + 1 + + thumb_func_start sub_02058860 +sub_02058860: ; 0x02058860 + ldr r3, _02058868 ; =sub_02058410 + mov r1, #0x4 + bx r3 + nop +_02058868: .word sub_02058410 + 1 + + thumb_func_start sub_0205886C +sub_0205886C: ; 0x0205886C + ldr r3, _02058874 ; =sub_02058418 + mov r1, #0x8 + bx r3 + nop +_02058874: .word sub_02058418 + 1 + + thumb_func_start sub_02058878 +sub_02058878: ; 0x02058878 + ldr r3, _02058880 ; =sub_02058410 + mov r1, #0x1 + lsl r1, r1, #0xe + bx r3 + .balign 4 +_02058880: .word sub_02058410 + 1 + + thumb_func_start sub_02058884 +sub_02058884: ; 0x02058884 + ldr r3, _0205888C ; =sub_0205842C + mov r1, #0x1 + lsl r1, r1, #0xe + bx r3 + .balign 4 +_0205888C: .word sub_0205842C + 1 + + thumb_func_start sub_02058890 +sub_02058890: ; 0x02058890 + ldr r3, _02058898 ; =sub_0205842C + mov r1, #0x2 + lsl r1, r1, #0x8 + bx r3 + .balign 4 +_02058898: .word sub_0205842C + 1 + + thumb_func_start sub_0205889C +sub_0205889C: ; 0x0205889C + push {r3, lr} + cmp r1, #0x1 + bne _020588AC + mov r1, #0x2 + lsl r1, r1, #0x8 + bl sub_02058410 + pop {r3, pc} +_020588AC: + mov r1, #0x2 + lsl r1, r1, #0x8 + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020588B8 +sub_020588B8: ; 0x020588B8 + push {r3, lr} + cmp r1, #0x1 + bne _020588C8 + mov r1, #0x1 + lsl r1, r1, #0x12 + bl sub_02058418 + pop {r3, pc} +_020588C8: + mov r1, #0x1 + lsl r1, r1, #0x12 + bl sub_02058410 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020588D4 +sub_020588D4: ; 0x020588D4 + push {r3, lr} + mov r1, #0x2 + lsl r1, r1, #0x12 + bl sub_0205842C + cmp r0, #0x1 + beq _020588E6 + mov r0, #0x1 + pop {r3, pc} +_020588E6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020588EC +sub_020588EC: ; 0x020588EC + push {r3, lr} + cmp r1, #0x1 + bne _020588FC + mov r1, #0x2 + lsl r1, r1, #0x12 + bl sub_02058410 + pop {r3, pc} +_020588FC: + mov r1, #0x2 + lsl r1, r1, #0x12 + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058908 +sub_02058908: ; 0x02058908 + ldr r3, _02058910 ; =sub_02058410 + mov r1, #0x40 + bx r3 + nop +_02058910: .word sub_02058410 + 1 + + thumb_func_start sub_02058914 +sub_02058914: ; 0x02058914 + ldr r3, _0205891C ; =sub_02058418 + mov r1, #0x40 + bx r3 + nop +_0205891C: .word sub_02058418 + 1 + + thumb_func_start sub_02058920 +sub_02058920: ; 0x02058920 + push {r3, lr} + mov r1, #0x40 + bl sub_0205842C + cmp r0, #0x1 + bne _02058930 + mov r0, #0x1 + pop {r3, pc} +_02058930: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02058934 +sub_02058934: ; 0x02058934 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058578 + bl sub_020587E0 + cmp r0, #0x0 + bne _02058948 + mov r0, #0x0 + pop {r4, pc} +_02058948: + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0xe + bl sub_02058424 + cmp r0, #0x0 + beq _0205895A + mov r0, #0x1 + pop {r4, pc} +_0205895A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058960 +sub_02058960: ; 0x02058960 + push {r3, lr} + cmp r1, #0x1 + bne _02058970 + mov r1, #0x2 + lsl r1, r1, #0x16 + bl sub_02058410 + pop {r3, pc} +_02058970: + mov r1, #0x2 + lsl r1, r1, #0x16 + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205897C +sub_0205897C: ; 0x0205897C + push {r3, lr} + mov r1, #0x2 + lsl r1, r1, #0x16 + bl sub_02058424 + cmp r0, #0x0 + beq _0205898E + mov r0, #0x1 + pop {r3, pc} +_0205898E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058994 +sub_02058994: ; 0x02058994 + push {r3, lr} + cmp r1, #0x1 + bne _020589A4 + mov r1, #0x1 + lsl r1, r1, #0xa + bl sub_02058410 + pop {r3, pc} +_020589A4: + mov r1, #0x1 + lsl r1, r1, #0xa + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020589B0 +sub_020589B0: ; 0x020589B0 + push {r3, lr} + cmp r1, #0x1 + bne _020589C0 + mov r1, #0x2 + lsl r1, r1, #0x18 + bl sub_02058410 + pop {r3, pc} +_020589C0: + mov r1, #0x2 + lsl r1, r1, #0x18 + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020589CC +sub_020589CC: ; 0x020589CC + push {r3, lr} + mov r1, #0x2 + lsl r1, r1, #0x18 + bl sub_02058424 + cmp r0, #0x0 + beq _020589DE + mov r0, #0x1 + pop {r3, pc} +_020589DE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020589E4 +sub_020589E4: ; 0x020589E4 + push {r3, lr} + cmp r1, #0x1 + bne _020589F4 + mov r1, #0x1 + lsl r1, r1, #0x1a + bl sub_02058410 + pop {r3, pc} +_020589F4: + mov r1, #0x1 + lsl r1, r1, #0x1a + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A00 +sub_02058A00: ; 0x02058A00 + push {r3, lr} + mov r1, #0x1 + lsl r1, r1, #0x1a + bl sub_02058424 + cmp r0, #0x0 + beq _02058A12 + mov r0, #0x1 + pop {r3, pc} +_02058A12: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A18 +sub_02058A18: ; 0x02058A18 + push {r3, lr} + cmp r1, #0x1 + bne _02058A28 + mov r1, #0x2 + lsl r1, r1, #0x1a + bl sub_02058410 + pop {r3, pc} +_02058A28: + mov r1, #0x2 + lsl r1, r1, #0x1a + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A34 +sub_02058A34: ; 0x02058A34 + push {r3, lr} + mov r1, #0x2 + lsl r1, r1, #0x1a + bl sub_02058424 + cmp r0, #0x0 + beq _02058A46 + mov r0, #0x1 + pop {r3, pc} +_02058A46: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A4C +sub_02058A4C: ; 0x02058A4C + push {r3, lr} + cmp r1, #0x1 + bne _02058A5C + mov r1, #0x1 + lsl r1, r1, #0x1c + bl sub_02058410 + pop {r3, pc} +_02058A5C: + mov r1, #0x1 + lsl r1, r1, #0x1c + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A68 +sub_02058A68: ; 0x02058A68 + push {r3, lr} + mov r1, #0x1 + lsl r1, r1, #0x1c + bl sub_02058424 + cmp r0, #0x0 + beq _02058A7A + mov r0, #0x1 + pop {r3, pc} +_02058A7A: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A80 +sub_02058A80: ; 0x02058A80 + push {r3, lr} + cmp r1, #0x1 + bne _02058A90 + mov r1, #0x1 + lsl r1, r1, #0x18 + bl sub_02058410 + pop {r3, pc} +_02058A90: + mov r1, #0x1 + lsl r1, r1, #0x18 + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058A9C +sub_02058A9C: ; 0x02058A9C + push {r3, lr} + mov r1, #0x1 + lsl r1, r1, #0x18 + bl sub_02058424 + cmp r0, #0x0 + beq _02058AAE + mov r0, #0x1 + pop {r3, pc} +_02058AAE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058AB4 +sub_02058AB4: ; 0x02058AB4 + push {r3, lr} + mov r1, #0x10 + bl sub_02058424 + cmp r0, #0x0 + beq _02058AC4 + mov r0, #0x1 + pop {r3, pc} +_02058AC4: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02058AC8 +sub_02058AC8: ; 0x02058AC8 + push {r3, lr} + cmp r1, #0x1 + bne _02058AD8 + mov r1, #0x2 + lsl r1, r1, #0x1c + bl sub_02058410 + pop {r3, pc} +_02058AD8: + mov r1, #0x2 + lsl r1, r1, #0x1c + bl sub_02058418 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058AE4 +sub_02058AE4: ; 0x02058AE4 + push {r3, lr} + mov r1, #0x2 + lsl r1, r1, #0x1c + bl sub_02058424 + cmp r0, #0x0 + beq _02058AF6 + mov r0, #0x1 + pop {r3, pc} +_02058AF6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058AFC +sub_02058AFC: ; 0x02058AFC + ldr r0, [r0, #0x4c] + bx lr + + thumb_func_start sub_02058B00 +sub_02058B00: ; 0x02058B00 + str r1, [r0, #0x4c] + bx lr + + thumb_func_start sub_02058B04 +sub_02058B04: ; 0x02058B04 + ldr r0, [r0, #0x50] + bx lr + + thumb_func_start sub_02058B08 +sub_02058B08: ; 0x02058B08 + str r1, [r0, #0x50] + bx lr + + thumb_func_start sub_02058B0C +sub_02058B0C: ; 0x02058B0C + ldr r0, [r0, #0x54] + bx lr + + thumb_func_start sub_02058B10 +sub_02058B10: ; 0x02058B10 + str r1, [r0, #0x54] + bx lr + + thumb_func_start sub_02058B14 +sub_02058B14: ; 0x02058B14 + ldr r0, [r0, #0x58] + bx lr + + thumb_func_start sub_02058B18 +sub_02058B18: ; 0x02058B18 + str r1, [r0, #0x58] + bx lr + + thumb_func_start sub_02058B1C +sub_02058B1C: ; 0x02058B1C + ldr r0, [r0, #0x5c] + bx lr + + thumb_func_start sub_02058B20 +sub_02058B20: ; 0x02058B20 + str r1, [r0, #0x5c] + bx lr + + thumb_func_start sub_02058B24 +sub_02058B24: ; 0x02058B24 + ldr r0, [r0, #0x60] + bx lr + + thumb_func_start sub_02058B28 +sub_02058B28: ; 0x02058B28 + str r1, [r0, #0x60] + bx lr + + thumb_func_start sub_02058B2C +sub_02058B2C: ; 0x02058B2C + ldr r0, [r0, #0x64] + bx lr + + thumb_func_start sub_02058B30 +sub_02058B30: ; 0x02058B30 + str r1, [r0, #0x64] + bx lr + + thumb_func_start sub_02058B34 +sub_02058B34: ; 0x02058B34 + ldr r2, [r0, #0x64] + add r1, r2, r1 + str r1, [r0, #0x64] + bx lr + + thumb_func_start sub_02058B3C +sub_02058B3C: ; 0x02058B3C + ldr r0, [r0, #0x68] + bx lr + + thumb_func_start sub_02058B40 +sub_02058B40: ; 0x02058B40 + str r1, [r0, #0x68] + bx lr + + thumb_func_start sub_02058B44 +sub_02058B44: ; 0x02058B44 + ldr r2, [r0, #0x68] + add r1, r2, r1 + str r1, [r0, #0x68] + bx lr + + thumb_func_start sub_02058B4C +sub_02058B4C: ; 0x02058B4C + ldr r0, [r0, #0x6c] + bx lr + + thumb_func_start sub_02058B50 +sub_02058B50: ; 0x02058B50 + str r1, [r0, #0x6c] + bx lr + + thumb_func_start sub_02058B54 +sub_02058B54: ; 0x02058B54 + ldr r2, [r0, #0x6c] + add r1, r2, r1 + str r1, [r0, #0x6c] + bx lr + + thumb_func_start sub_02058B5C +sub_02058B5C: ; 0x02058B5C + add r2, r0, #0x0 + add r2, #0x70 + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_02058B6C +sub_02058B6C: ; 0x02058B6C + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x70 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02058B7C +sub_02058B7C: ; 0x02058B7C + add r0, #0x70 + bx lr + + thumb_func_start sub_02058B80 +sub_02058B80: ; 0x02058B80 + ldr r0, [r0, #0x74] + bx lr + + thumb_func_start sub_02058B84 +sub_02058B84: ; 0x02058B84 + add r2, r0, #0x0 + add r2, #0x7c + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_02058B94 +sub_02058B94: ; 0x02058B94 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x7c + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02058BA4 +sub_02058BA4: ; 0x02058BA4 + add r2, r0, #0x0 + add r2, #0x88 + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_02058BB4 +sub_02058BB4: ; 0x02058BB4 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x88 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02058BC4 +sub_02058BC4: ; 0x02058BC4 + add r2, r0, #0x0 + add r2, #0x94 + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_02058BD4 +sub_02058BD4: ; 0x02058BD4 + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x94 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_02058BE4 +sub_02058BE4: ; 0x02058BE4 + push {r3, lr} + bl sub_02058B80 + asr r1, r0, #0x3 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058BF8 +sub_02058BF8: ; 0x02058BF8 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_02058BFC +sub_02058BFC: ; 0x02058BFC + ldrh r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02058C00 +sub_02058C00: ; 0x02058C00 + strh r1, [r0, #0x2] + bx lr + + thumb_func_start sub_02058C04 +sub_02058C04: ; 0x02058C04 + ldrh r0, [r0, #0x2] + bx lr + + thumb_func_start sub_02058C08 +sub_02058C08: ; 0x02058C08 + strh r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02058C0C +sub_02058C0C: ; 0x02058C0C + ldrh r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02058C10 +sub_02058C10: ; 0x02058C10 + strh r1, [r0, #0x6] + bx lr + + thumb_func_start sub_02058C14 +sub_02058C14: ; 0x02058C14 + ldrh r0, [r0, #0x6] + bx lr + + thumb_func_start sub_02058C18 +sub_02058C18: ; 0x02058C18 + strh r1, [r0, #0x8] + bx lr + + thumb_func_start sub_02058C1C +sub_02058C1C: ; 0x02058C1C + ldrh r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02058C20 +sub_02058C20: ; 0x02058C20 + strh r1, [r0, #0xa] + bx lr + + thumb_func_start sub_02058C24 +sub_02058C24: ; 0x02058C24 + ldrh r0, [r0, #0xa] + bx lr + + thumb_func_start sub_02058C28 +sub_02058C28: ; 0x02058C28 + strh r1, [r0, #0xc] + bx lr + + thumb_func_start sub_02058C2C +sub_02058C2C: ; 0x02058C2C + mov r1, #0xc + ldrsh r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_02058C34 +sub_02058C34: ; 0x02058C34 + push {r3, lr} + cmp r2, #0x0 + beq _02058C44 + cmp r2, #0x1 + beq _02058C48 + cmp r2, #0x2 + beq _02058C4C + b _02058C50 +_02058C44: + strh r1, [r0, #0xe] + pop {r3, pc} +_02058C48: + strh r1, [r0, #0x10] + pop {r3, pc} +_02058C4C: + strh r1, [r0, #0x12] + pop {r3, pc} +_02058C50: + bl sub_02020C2C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02058C58 +sub_02058C58: ; 0x02058C58 + push {r3, lr} + cmp r1, #0x0 + beq _02058C68 + cmp r1, #0x1 + beq _02058C6C + cmp r1, #0x2 + beq _02058C70 + b _02058C74 +_02058C68: + ldrh r0, [r0, #0xe] + pop {r3, pc} +_02058C6C: + ldrh r0, [r0, #0x10] + pop {r3, pc} +_02058C70: + ldrh r0, [r0, #0x12] + pop {r3, pc} +_02058C74: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02058C7C +sub_02058C7C: ; 0x02058C7C + strh r1, [r0, #0x14] + bx lr + + thumb_func_start sub_02058C80 +sub_02058C80: ; 0x02058C80 + mov r1, #0x14 + ldrsh r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_02058C88 +sub_02058C88: ; 0x02058C88 + strh r1, [r0, #0x16] + bx lr + + thumb_func_start sub_02058C8C +sub_02058C8C: ; 0x02058C8C + mov r1, #0x16 + ldrsh r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_02058C94 +sub_02058C94: ; 0x02058C94 + strh r1, [r0, #0x18] + bx lr + + thumb_func_start sub_02058C98 +sub_02058C98: ; 0x02058C98 + ldrh r0, [r0, #0x18] + bx lr + + thumb_func_start sub_02058C9C +sub_02058C9C: ; 0x02058C9C + str r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_02058CA0 +sub_02058CA0: ; 0x02058CA0 + ldr r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_02058CA4 +sub_02058CA4: ; 0x02058CA4 + strh r1, [r0, #0x1a] + bx lr + + thumb_func_start sub_02058CA8 +sub_02058CA8: ; 0x02058CA8 + ldrh r0, [r0, #0x1a] + bx lr + + thumb_func_start sub_02058CAC +sub_02058CAC: ; 0x02058CAC + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + str r2, [sp, #0x0] + mov r4, #0x0 + add r5, r2, #0x0 +_02058CB8: + add r0, r5, #0x0 + bl sub_02058CE0 + cmp r0, #0x0 + bne _02058CD4 + add r0, r5, #0x0 + bl sub_02058BFC + cmp r6, r0 + bne _02058CD4 + ldr r0, [sp, #0x0] + lsl r1, r4, #0x5 + add r0, r0, r1 + pop {r3-r7, pc} +_02058CD4: + add r4, r4, #0x1 + add r5, #0x20 + cmp r4, r7 + blt _02058CB8 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02058CE0 +sub_02058CE0: ; 0x02058CE0 + push {r3, lr} + bl sub_02058C24 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, _02058CF8 ; =0x0000FFFF + cmp r1, r0 + bne _02058CF4 + mov r0, #0x1 + pop {r3, pc} +_02058CF4: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02058CF8: .word 0x0000FFFF + + thumb_func_start sub_02058CFC +sub_02058CFC: ; 0x02058CFC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058CE0 + cmp r0, #0x1 + beq _02058D0C + bl sub_02020C2C +_02058D0C: + add r0, r4, #0x0 + bl sub_02058C1C + pop {r4, pc} + + thumb_func_start sub_02058D14 +sub_02058D14: ; 0x02058D14 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x37 + blo _02058D20 + bl sub_02020C2C +_02058D20: + ldr r0, _02058D28 ; =0x020F6364 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02058D28: .word 0x020F6364 + + thumb_func_start sub_02058D2C +sub_02058D2C: ; 0x02058D2C + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02058D30 +sub_02058D30: ; 0x02058D30 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02058D34 +sub_02058D34: ; 0x02058D34 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02058D38 +sub_02058D38: ; 0x02058D38 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02058D3C +sub_02058D3C: ; 0x02058D3C + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02058D40 +sub_02058D40: ; 0x02058D40 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02058D44 +sub_02058D44: ; 0x02058D44 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02058D48 +sub_02058D48: ; 0x02058D48 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_02058D4C +sub_02058D4C: ; 0x02058D4C + push {r3, lr} + ldr r3, _02058D6C ; =0x021F9494 + ldr r1, _02058D70 ; =0x0000FFFF +_02058D52: + ldr r2, [r3, #0x0] + cmp r2, r0 + bne _02058D5C + ldr r0, [r3, #0x4] + pop {r3, pc} +_02058D5C: + add r3, #0x8 + ldr r2, [r3, #0x0] + cmp r2, r1 + bne _02058D52 + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02058D6C: .word 0x021F9494 +_02058D70: .word 0x0000FFFF + + thumb_func_start sub_02058D74 +sub_02058D74: ; 0x02058D74 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02058368 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020583CC + add r5, r0, #0x0 +_02058D8A: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058424 + cmp r0, #0x0 + beq _02058DAE + add r0, r5, #0x0 + bl sub_02058B2C + cmp r6, r0 + bne _02058DAE + add r0, r5, #0x0 + bl sub_02058B4C + cmp r7, r0 + bne _02058DAE + add r0, r5, #0x0 + pop {r3-r7, pc} +_02058DAE: + mov r0, #0x4a + lsl r0, r0, #0x2 + add r5, r5, r0 + sub r4, r4, #0x1 + bne _02058D8A + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02058DBC +sub_02058DBC: ; 0x02058DBC + push {r4-r6, lr} + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + add r6, r2, #0x0 + asr r2, r1, #0x4 + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r1, r1, #0xc + add r5, r0, #0x0 + bl sub_02058B30 + ldr r1, [r4, #0x4] + add r0, r5, #0x0 + asr r2, r1, #0x3 + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r1, r1, #0xc + bl sub_02058B40 + ldr r1, [r4, #0x8] + add r0, r5, #0x0 + asr r2, r1, #0x4 + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r1, r1, #0xc + bl sub_02058B50 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058B6C + add r0, r5, #0x0 + bl sub_02059C60 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584A4 + add r0, r5, #0x0 + bl sub_0205AE80 + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r5, #0x0 + mov r1, #0xa + bl sub_02058418 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02058E28 +sub_02058E28: ; 0x02058E28 + push {r3-r6, lr} + sub sp, #0xc + add r4, r2, #0x0 + mov r2, #0x2 + add r6, r3, #0x0 + lsl r3, r1, #0x10 + lsl r2, r2, #0xe + add r2, r3, r2 + add r5, r0, #0x0 + str r2, [sp, #0x0] + bl sub_02058B30 + lsl r0, r4, #0xf + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058B40 + mov r0, #0x2 + lsl r1, r6, #0x10 + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02058B50 + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02058B6C + add r0, r5, #0x0 + bl sub_02059C60 + ldr r1, [sp, #0x20] + add r0, r5, #0x0 + bl sub_020584A4 + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r5, #0x0 + mov r1, #0xa + bl sub_02058418 + add r0, r5, #0x0 + bl sub_0205AE80 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02058E90 +sub_02058E90: ; 0x02058E90 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058660 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205847C + add r0, r5, #0x0 + bl sub_02057EE0 + add r0, r5, #0x0 + bl sub_02058EE8 + pop {r3-r5, pc} + + thumb_func_start sub_02058EB0 +sub_02058EB0: ; 0x02058EB0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058444 + add r0, r4, #0x0 + bl sub_02058860 + add r0, r4, #0x0 + bl sub_0205815C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058EC8 +sub_02058EC8: ; 0x02058EC8 + bx lr + .balign 4 + + thumb_func_start sub_02058ECC +sub_02058ECC: ; 0x02058ECC + bx lr + .balign 4 + + thumb_func_start sub_02058ED0 +sub_02058ED0: ; 0x02058ED0 + bx lr + .balign 4 + + thumb_func_start sub_02058ED4 +sub_02058ED4: ; 0x02058ED4 + bx lr + .balign 4 + + thumb_func_start sub_02058ED8 +sub_02058ED8: ; 0x02058ED8 + bx lr + .balign 4 + + thumb_func_start sub_02058EDC +sub_02058EDC: ; 0x02058EDC + bx lr + .balign 4 + + thumb_func_start sub_02058EE0 +sub_02058EE0: ; 0x02058EE0 + bx lr + .balign 4 + + thumb_func_start sub_02058EE4 +sub_02058EE4: ; 0x02058EE4 + bx lr + .balign 4 + + thumb_func_start sub_02058EE8 +sub_02058EE8: ; 0x02058EE8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058638 + add r0, r4, #0x0 + bl sub_0205BEF8 + pop {r4, pc} + + thumb_func_start sub_02058EF8 +sub_02058EF8: ; 0x02058EF8 + push {r4, lr} + mov r1, #0x2 + add r4, r0, #0x0 + bl sub_020587F4 + cmp r0, #0x0 + bne _02058F5C + add r0, r4, #0x0 + bl sub_02058F94 + add r0, r4, #0x0 + bl sub_02058FAC + add r0, r4, #0x0 + bl sub_02058FD0 + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_02058424 + cmp r0, #0x0 + beq _02058F2C + add r0, r4, #0x0 + bl sub_0205B058 + b _02058F50 +_02058F2C: + add r0, r4, #0x0 + bl sub_02058920 + cmp r0, #0x0 + bne _02058F50 + add r0, r4, #0x0 + bl sub_02058F60 + cmp r0, #0x1 + bne _02058F50 + add r0, r4, #0x0 + bl sub_0205BF00 + cmp r0, #0x0 + bne _02058F50 + add r0, r4, #0x0 + bl sub_0205864C +_02058F50: + add r0, r4, #0x0 + bl sub_02058FF4 + add r0, r4, #0x0 + bl sub_0205902C +_02058F5C: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058F60 +sub_02058F60: ; 0x02058F60 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058854 + cmp r0, #0x1 + bne _02058F70 + mov r0, #0x1 + pop {r4, pc} +_02058F70: + mov r1, #0x6 + add r0, r4, #0x0 + lsl r1, r1, #0xa + bl sub_02058424 + cmp r0, #0x0 + bne _02058F82 + mov r0, #0x1 + pop {r4, pc} +_02058F82: + add r0, r4, #0x0 + bl sub_02058480 + cmp r0, #0x32 + bne _02058F90 + mov r0, #0x1 + pop {r4, pc} +_02058F90: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02058F94 +sub_02058F94: ; 0x02058F94 + push {r4, lr} + mov r1, #0x1 + lsl r1, r1, #0xc + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _02058FAA + add r0, r4, #0x0 + bl sub_02059D1C +_02058FAA: + pop {r4, pc} + + thumb_func_start sub_02058FAC +sub_02058FAC: ; 0x02058FAC + push {r4, lr} + mov r1, #0x2 + lsl r1, r1, #0xa + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _02058FCC + add r0, r4, #0x0 + bl sub_02059DB4 + cmp r0, #0x1 + bne _02058FCC + add r0, r4, #0x0 + bl sub_02058860 +_02058FCC: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02058FD0 +sub_02058FD0: ; 0x02058FD0 + push {r4, lr} + mov r1, #0x4 + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _02058FE4 + add r0, r4, #0x0 + bl sub_02059064 +_02058FE4: + ldr r1, _02058FF0 ; =0x00010004 + add r0, r4, #0x0 + bl sub_02058418 + pop {r4, pc} + nop +_02058FF0: .word 0x00010004 + + thumb_func_start sub_02058FF4 +sub_02058FF4: ; 0x02058FF4 + push {r4, lr} + mov r1, #0x1 + lsl r1, r1, #0x10 + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _0205900C + add r0, r4, #0x0 + bl sub_020591A8 + b _0205901E +_0205900C: + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02058424 + cmp r0, #0x0 + beq _0205901E + add r0, r4, #0x0 + bl sub_020590F4 +_0205901E: + ldr r1, _02059028 ; =0x00010004 + add r0, r4, #0x0 + bl sub_02058418 + pop {r4, pc} + .balign 4 +_02059028: .word 0x00010004 + + thumb_func_start sub_0205902C +sub_0205902C: ; 0x0205902C + push {r4, lr} + mov r1, #0x2 + lsl r1, r1, #0x10 + add r4, r0, #0x0 + bl sub_02058424 + cmp r0, #0x0 + beq _02059044 + add r0, r4, #0x0 + bl sub_0205928C + b _02059056 +_02059044: + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_02058424 + cmp r0, #0x0 + beq _02059056 + add r0, r4, #0x0 + bl sub_02059214 +_02059056: + ldr r1, _02059060 ; =0x00020008 + add r0, r4, #0x0 + bl sub_02058418 + pop {r4, pc} + .balign 4 +_02059060: .word 0x00020008 + + thumb_func_start sub_02059064 +sub_02059064: ; 0x02059064 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02059DB4 + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _020590F2 + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058730 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_021F1DC8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059838 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205941C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020594C0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059500 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205931C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059678 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020596A8 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020597A8 +_020590F2: + pop {r3-r7, pc} + + thumb_func_start sub_020590F4 +sub_020590F4: ; 0x020590F4 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02059DB4 + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _020591A6 + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058730 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_021F1DC8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059838 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059434 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205944C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020594C0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059508 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059690 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020596C0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020596D8 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059740 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020597A8 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059870 +_020591A6: + pop {r3-r7, pc} + + thumb_func_start sub_020591A8 +sub_020591A8: ; 0x020591A8 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02059DB4 + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _02059212 + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058730 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_021F1DC8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059838 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059508 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020597A8 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020594F4 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059870 +_02059212: + pop {r3-r7, pc} + + thumb_func_start sub_02059214 +sub_02059214: ; 0x02059214 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02059DB4 + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _0205928A + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058730 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_021F1DC8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205931C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205970C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059774 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020594C0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059804 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020595A4 +_0205928A: + pop {r3-r7, pc} + + thumb_func_start sub_0205928C +sub_0205928C: ; 0x0205928C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02059DB4 + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _0205931A + add r0, r5, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058730 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_021F1DC8 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205931C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205970C + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059774 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020594C0 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059804 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020595A4 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_02059434 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205962C +_0205931A: + pop {r3-r7, pc} + + thumb_func_start sub_0205931C +sub_0205931C: ; 0x0205931C + push {r3-r5, lr} + sub sp, #0x48 + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_02058A34 + cmp r0, #0x0 + bne _020593F4 + add r0, r5, #0x0 + bl sub_02054984 + cmp r0, #0x1 + beq _02059340 + add r0, r5, #0x0 + bl sub_020549A0 + cmp r0, #0x1 + bne _0205935A +_02059340: + ldr r5, _02059408 ; =0x020F65FC + add r3, sp, #0x3c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} +_0205935A: + add r0, r5, #0x0 + bl sub_02054974 + cmp r0, #0x1 + beq _0205936E + add r0, r5, #0x0 + bl sub_02054990 + cmp r0, #0x1 + bne _02059388 +_0205936E: + ldr r5, _0205940C ; =0x020F6608 + add r3, sp, #0x30 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} +_02059388: + add r0, r5, #0x0 + bl sub_020549F0 + cmp r0, #0x1 + bne _020593AC + ldr r5, _02059410 ; =0x020F65E4 + add r3, sp, #0x24 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} +_020593AC: + add r0, r5, #0x0 + bl sub_020549E4 + cmp r0, #0x1 + bne _020593D0 + ldr r5, _02059414 ; =0x020F65F0 + add r3, sp, #0x18 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} +_020593D0: + add r0, r5, #0x0 + bl sub_020549D8 + cmp r0, #0x1 + bne _020593F4 + ldr r5, _02059418 ; =0x020F6614 + add r3, sp, #0xc + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} +_020593F4: + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + add r0, r4, #0x0 + bl sub_02058BD4 + add sp, #0x48 + pop {r3-r5, pc} + .balign 4 +_02059408: .word 0x020F65FC +_0205940C: .word 0x020F6608 +_02059410: .word 0x020F65E4 +_02059414: .word 0x020F65F0 +_02059418: .word 0x020F6614 + + thumb_func_start sub_0205941C +sub_0205941C: ; 0x0205941C + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0205478C + cmp r0, #0x1 + bne _02059432 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0224B568 +_02059432: + pop {r4, pc} + + thumb_func_start sub_02059434 +sub_02059434: ; 0x02059434 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0205478C + cmp r0, #0x1 + bne _0205944A + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0224B568 +_0205944A: + pop {r4, pc} + + thumb_func_start sub_0205944C +sub_0205944C: ; 0x0205944C + push {r4-r6, lr} + add r6, r3, #0x0 + ldr r1, [r6, #0x4] + add r5, r0, #0x0 + lsl r1, r1, #0x16 + add r4, r2, #0x0 + lsr r1, r1, #0x1c + beq _020594BC + add r1, r4, #0x0 + bl sub_02059AF8 + cmp r0, #0x1 + bne _02059484 + ldr r0, [r6, #0x4] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1c + cmp r0, #0x1 + bne _02059478 + add r0, r5, #0x0 + bl sub_02249E6C + pop {r4-r6, pc} +_02059478: + cmp r0, #0x2 + bne _020594BC + add r0, r5, #0x0 + bl sub_02249E78 + pop {r4-r6, pc} +_02059484: + add r0, r4, #0x0 + bl sub_020549E4 + cmp r0, #0x1 + beq _020594A2 + add r0, r4, #0x0 + bl sub_020549F0 + cmp r0, #0x1 + beq _020594A2 + add r0, r4, #0x0 + bl sub_020549D8 + cmp r0, #0x0 + beq _020594AA +_020594A2: + add r0, r5, #0x0 + bl sub_02249E90 + pop {r4-r6, pc} +_020594AA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059B60 + cmp r0, #0x1 + bne _020594BC + add r0, r5, #0x0 + bl sub_02249E84 +_020594BC: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020594C0 +sub_020594C0: ; 0x020594C0 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0205483C + cmp r0, #0x1 + bne _020594EA + add r0, r4, #0x0 + bl sub_02058A00 + cmp r0, #0x0 + bne _020594F2 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0224B9E0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020589E4 + pop {r4, pc} +_020594EA: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020589E4 +_020594F2: + pop {r4, pc} + + thumb_func_start sub_020594F4 +sub_020594F4: ; 0x020594F4 + ldr r3, _020594FC ; =sub_020589E4 + mov r1, #0x0 + bx r3 + nop +_020594FC: .word sub_020589E4 + 1 + + thumb_func_start sub_02059500 +sub_02059500: ; 0x02059500 + push {r3, lr} + bl sub_02059508 + pop {r3, pc} + + thumb_func_start sub_02059508 +sub_02059508: ; 0x02059508 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r3, #0x0 + bl sub_02058578 + bl sub_0205881C + cmp r0, #0x0 + beq _020595A2 + ldr r0, [r6, #0x4] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + beq _020595A2 + add r0, r4, #0x0 + bl sub_0205478C + cmp r0, #0x1 + beq _02059578 + add r0, r4, #0x0 + bl sub_02054798 + cmp r0, #0x1 + beq _02059578 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059AC4 + cmp r0, #0x1 + beq _02059578 + add r0, r4, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + beq _02059578 + add r0, r4, #0x0 + bl sub_0205483C + cmp r0, #0x1 + beq _02059578 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059B2C + cmp r0, #0x1 + beq _02059578 + add r0, r4, #0x0 + bl sub_02054974 + cmp r0, #0x1 + beq _02059578 + add r0, r4, #0x0 + bl sub_02054990 + cmp r0, #0x1 + bne _02059584 +_02059578: + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058410 + pop {r4-r6, pc} +_02059584: + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0xe + bl sub_02058424 + cmp r0, #0x0 + bne _020595A2 + add r0, r5, #0x0 + bl sub_02249508 + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0xe + bl sub_02058410 +_020595A2: + pop {r4-r6, pc} + + thumb_func_start sub_020595A4 +sub_020595A4: ; 0x020595A4 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r3, #0x0 + bl sub_02058578 + bl sub_0205881C + cmp r0, #0x0 + beq _0205962A + ldr r0, [r6, #0x4] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + beq _0205962A + add r0, r4, #0x0 + bl sub_0205478C + cmp r0, #0x1 + beq _02059614 + add r0, r4, #0x0 + bl sub_02054798 + cmp r0, #0x1 + beq _02059614 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059AC4 + cmp r0, #0x1 + beq _02059614 + add r0, r4, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + beq _02059614 + add r0, r4, #0x0 + bl sub_0205483C + cmp r0, #0x1 + beq _02059614 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059B2C + cmp r0, #0x1 + beq _02059614 + add r0, r4, #0x0 + bl sub_02054974 + cmp r0, #0x1 + beq _02059614 + add r0, r4, #0x0 + bl sub_02054990 + cmp r0, #0x1 + bne _02059620 +_02059614: + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058410 + pop {r4-r6, pc} +_02059620: + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058418 +_0205962A: + pop {r4-r6, pc} + + thumb_func_start sub_0205962C +sub_0205962C: ; 0x0205962C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02059AC4 + cmp r0, #0x1 + beq _02059674 + add r0, r4, #0x0 + bl sub_0205483C + cmp r0, #0x1 + beq _02059674 + add r0, r4, #0x0 + bl sub_020548F0 + cmp r0, #0x1 + beq _02059674 + add r0, r4, #0x0 + bl sub_02054974 + cmp r0, #0x1 + beq _02059674 + add r0, r4, #0x0 + bl sub_02054990 + cmp r0, #0x1 + beq _02059674 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059B2C + cmp r0, #0x1 + beq _02059674 + add r0, r5, #0x0 + bl sub_0224BBEC +_02059674: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02059678 +sub_02059678: ; 0x02059678 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054798 + cmp r0, #0x1 + bne _0205968E + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0224BD90 +_0205968E: + pop {r4, pc} + + thumb_func_start sub_02059690 +sub_02059690: ; 0x02059690 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054798 + cmp r0, #0x1 + bne _020596A6 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0224BD90 +_020596A6: + pop {r4, pc} + + thumb_func_start sub_020596A8 +sub_020596A8: ; 0x020596A8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054990 + cmp r0, #0x1 + bne _020596BE + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0224C038 +_020596BE: + pop {r4, pc} + + thumb_func_start sub_020596C0 +sub_020596C0: ; 0x020596C0 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054990 + cmp r0, #0x1 + bne _020596D6 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0224C038 +_020596D6: + pop {r4, pc} + + thumb_func_start sub_020596D8 +sub_020596D8: ; 0x020596D8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + bne _02059708 + add r0, r5, #0x0 + bl sub_02058B14 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B1C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B24 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0224B124 +_02059708: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205970C +sub_0205970C: ; 0x0205970C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + bne _0205973C + add r0, r5, #0x0 + bl sub_02058B2C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B3C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0224B124 +_0205973C: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02059740 +sub_02059740: ; 0x02059740 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r2, #0x0 + bl sub_02054974 + cmp r0, #0x1 + bne _02059770 + add r0, r5, #0x0 + bl sub_02058B14 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B1C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B24 + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0224B2C4 +_02059770: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02059774 +sub_02059774: ; 0x02059774 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02054974 + cmp r0, #0x1 + bne _020597A4 + add r0, r5, #0x0 + bl sub_02058B2C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B3C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + add r3, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0224B2C4 +_020597A4: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020597A8 +sub_020597A8: ; 0x020597A8 + push {r4-r6, lr} + add r6, r1, #0x0 + ldr r1, [r3, #0x4] + add r5, r0, #0x0 + lsl r1, r1, #0x14 + lsr r1, r1, #0x1e + beq _02059802 + mov r1, #0x1 + bl sub_02059C90 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + add r0, r5, #0x0 + bl sub_02058A9C + cmp r0, #0x0 + bne _02059802 + add r0, r4, #0x0 + bl sub_02054B20 + cmp r0, #0x1 + beq _020597DE + add r0, r6, #0x0 + bl sub_02054B20 + cmp r0, #0x1 + bne _02059802 +_020597DE: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058A80 + add r0, r4, #0x0 + bl sub_02054AF0 + cmp r0, #0x1 + bne _020597FA + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_022497E8 + pop {r4-r6, pc} +_020597FA: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_022497E8 +_02059802: + pop {r4-r6, pc} + + thumb_func_start sub_02059804 +sub_02059804: ; 0x02059804 + push {r4, lr} + ldr r1, [r3, #0x4] + add r4, r0, #0x0 + lsl r1, r1, #0x14 + lsr r1, r1, #0x1e + beq _02059834 + bl sub_02058A9C + cmp r0, #0x0 + beq _02059834 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02059C90 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B20 + cmp r0, #0x0 + bne _02059834 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058A80 +_02059834: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02059838 +sub_02059838: ; 0x02059838 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02054B6C + cmp r0, #0x1 + bne _02059852 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058A4C + pop {r3-r5, pc} +_02059852: + add r0, r5, #0x0 + bl sub_02058A68 + cmp r0, #0x1 + bne _0205986E + add r0, r4, #0x0 + bl sub_02054B78 + cmp r0, #0x0 + bne _0205986E + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058A4C +_0205986E: + pop {r3-r5, pc} + + thumb_func_start sub_02059870 +sub_02059870: ; 0x02059870 + bx lr + .balign 4 + + thumb_func_start sub_02059874 +sub_02059874: ; 0x02059874 + push {r3-r7, lr} + sub sp, #0x10 + ldr r7, [sp, #0x28] + add r5, r2, #0x0 + str r1, [sp, #0x4] + str r3, [sp, #0x8] + add r2, r3, #0x0 + add r1, r5, #0x0 + add r3, r7, #0x0 + add r6, r0, #0x0 + mov r4, #0x0 + bl sub_02059A08 + cmp r0, #0x1 + bne _02059896 + mov r0, #0x1 + orr r4, r0 +_02059896: + add r0, r6, #0x0 + bl sub_02058738 + add r1, sp, #0xc + str r1, [sp, #0x0] + ldr r1, [sp, #0x4] + add r2, r5, #0x0 + add r3, r7, #0x0 + bl sub_0204A770 + cmp r0, #0x1 + bne _020598C0 + mov r0, #0x2 + orr r4, r0 + add r1, sp, #0xc + mov r0, #0x0 + ldrsb r0, [r1, r0] + cmp r0, #0x0 + beq _020598C0 + mov r0, #0x8 + orr r4, r0 +_020598C0: + ldr r3, [sp, #0x2c] + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl sub_02059A60 + cmp r0, #0x1 + bne _020598D4 + mov r0, #0x2 + orr r4, r0 +_020598D4: + ldr r2, [sp, #0x8] + add r0, r6, #0x0 + add r1, r5, #0x0 + add r3, r7, #0x0 + bl sub_0205995C + cmp r0, #0x1 + bne _020598E8 + mov r0, #0x4 + orr r4, r0 +_020598E8: + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020598F0 +sub_020598F0: ; 0x020598F0 + push {r4-r7, lr} + sub sp, #0x14 + add r6, r1, #0x0 + add r1, sp, #0x8 + add r5, r0, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_02058B5C + ldr r0, [sp, #0x28] + str r4, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, sp, #0x8 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_02059874 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_02059918 +sub_02059918: ; 0x02059918 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B3C + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B4C + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl sub_02059C00 + str r4, [sp, #0x0] + add r3, r0, #0x0 + ldr r4, [sp, #0x8] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r6, r7 + add r3, r4, r3 + bl sub_020598F0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205995C +sub_0205995C: ; 0x0205995C + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02058578 + add r7, r0, #0x0 + bl sub_020583BC + str r0, [sp, #0x8] + add r0, r7, #0x0 + bl sub_02058368 + str r0, [sp, #0x4] +_0205997C: + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x0] + cmp r0, r1 + beq _020599F4 + mov r1, #0x1 + bl sub_02058424 + cmp r0, #0x0 + beq _020599F4 + mov r1, #0x1 + ldr r0, [sp, #0x8] + lsl r1, r1, #0x12 + bl sub_02058424 + cmp r0, #0x0 + bne _020599F4 + ldr r0, [sp, #0x8] + bl sub_02058B2C + add r7, r0, #0x0 + ldr r0, [sp, #0x8] + bl sub_02058B4C + cmp r7, r5 + bne _020599C8 + cmp r0, r6 + bne _020599C8 + ldr r0, [sp, #0x8] + bl sub_02058B3C + sub r0, r0, r4 + bpl _020599BE + neg r0, r0 +_020599BE: + cmp r0, #0x2 + bge _020599C8 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_020599C8: + ldr r0, [sp, #0x8] + bl sub_02058B14 + add r7, r0, #0x0 + ldr r0, [sp, #0x8] + bl sub_02058B24 + cmp r7, r5 + bne _020599F4 + cmp r0, r6 + bne _020599F4 + ldr r0, [sp, #0x8] + bl sub_02058B3C + sub r0, r0, r4 + bpl _020599EA + neg r0, r0 +_020599EA: + cmp r0, #0x2 + bge _020599F4 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_020599F4: + add r0, sp, #0x8 + bl sub_020583D4 + ldr r0, [sp, #0x4] + sub r0, r0, #0x1 + str r0, [sp, #0x4] + bne _0205997C + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02059A08 +sub_02059A08: ; 0x02059A08 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r4, r3, #0x0 + bl sub_02058AFC + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058538 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02059A34 + add r1, r7, r0 + sub r0, r7, r0 + cmp r0, r5 + bgt _02059A30 + cmp r1, r5 + bge _02059A34 +_02059A30: + mov r0, #0x1 + pop {r3-r7, pc} +_02059A34: + add r0, r6, #0x0 + bl sub_02058B0C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058540 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02059A5A + add r1, r5, r0 + sub r0, r5, r0 + cmp r0, r4 + bgt _02059A56 + cmp r1, r4 + bge _02059A5A +_02059A56: + mov r0, #0x1 + pop {r3-r7, pc} +_02059A5A: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02059A60 +sub_02059A60: ; 0x02059A60 + push {r3-r7, lr} + add r4, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + add r5, r3, #0x0 + bl sub_02058738 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02058720 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0204A6E0 + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r5, r0 + bne _02059A92 + bl sub_02020C2C +_02059A92: + cmp r5, #0x4 + blt _02059A9A + bl sub_02020C2C +_02059A9A: + ldr r1, _02059ABC ; =0x020F6630 + lsl r5, r5, #0x2 + ldr r1, [r1, r5] + add r0, r4, #0x0 + blx r1 + cmp r0, #0x1 + beq _02059AB4 + ldr r1, _02059AC0 ; =0x020F6640 + add r0, r6, #0x0 + ldr r1, [r1, r5] + blx r1 + cmp r0, #0x1 + bne _02059AB8 +_02059AB4: + mov r0, #0x1 + pop {r3-r7, pc} +_02059AB8: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02059ABC: .word 0x020F6630 +_02059AC0: .word 0x020F6640 + + thumb_func_start sub_02059AC4 +sub_02059AC4: ; 0x02059AC4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B8C + cmp r0, #0x0 + beq _02059AE4 + add r0, r5, #0x0 + bl sub_02058A68 + cmp r0, #0x0 + bne _02059AF4 + mov r0, #0x1 + pop {r3-r5, pc} +_02059AE4: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_0205481C + cmp r0, #0x0 + beq _02059AF4 + mov r0, #0x1 + pop {r3-r5, pc} +_02059AF4: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02059AF8 +sub_02059AF8: ; 0x02059AF8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054BB0 + cmp r0, #0x0 + beq _02059B18 + add r0, r5, #0x0 + bl sub_02058A68 + cmp r0, #0x0 + bne _02059B28 + mov r0, #0x1 + pop {r3-r5, pc} +_02059B18: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054830 + cmp r0, #0x0 + beq _02059B28 + mov r0, #0x1 + pop {r3-r5, pc} +_02059B28: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02059B2C +sub_02059B2C: ; 0x02059B2C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054BD4 + cmp r0, #0x0 + beq _02059B4C + add r0, r5, #0x0 + bl sub_02058A68 + cmp r0, #0x0 + bne _02059B5C + mov r0, #0x1 + pop {r3-r5, pc} +_02059B4C: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_020549AC + cmp r0, #0x0 + beq _02059B5C + mov r0, #0x1 + pop {r3-r5, pc} +_02059B5C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02059B60 +sub_02059B60: ; 0x02059B60 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054BD4 + cmp r0, #0x0 + beq _02059B80 + add r0, r5, #0x0 + bl sub_02058A68 + cmp r0, #0x0 + bne _02059B90 + mov r0, #0x1 + pop {r3-r5, pc} +_02059B80: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_020549CC + cmp r0, #0x0 + beq _02059B90 + mov r0, #0x1 + pop {r3-r5, pc} +_02059B90: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02059B94 +sub_02059B94: ; 0x02059B94 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058A68 + cmp r0, #0x1 + bne _02059BB0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B78 + cmp r0, #0x1 + bne _02059BB0 + mov r0, #0x1 + pop {r4, pc} +_02059BB0: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02059BB4 +sub_02059BB4: ; 0x02059BB4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058A68 + cmp r0, #0x1 + bne _02059BD0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054BE0 + cmp r0, #0x1 + bne _02059BD0 + mov r0, #0x1 + pop {r4, pc} +_02059BD0: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02059BD4 +sub_02059BD4: ; 0x02059BD4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058A68 + cmp r0, #0x1 + bne _02059BF0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl sub_02054BF4 + cmp r0, #0x1 + bne _02059BF0 + mov r0, #0x1 + pop {r4, pc} +_02059BF0: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02059BF4 +sub_02059BF4: ; 0x02059BF4 + lsl r1, r0, #0x2 + ldr r0, _02059BFC ; =0x020F6620 + ldr r0, [r0, r1] + bx lr + .balign 4 +_02059BFC: .word 0x020F6620 + + thumb_func_start sub_02059C00 +sub_02059C00: ; 0x02059C00 + lsl r1, r0, #0x2 + ldr r0, _02059C08 ; =0x020F6650 + ldr r0, [r0, r1] + bx lr + .balign 4 +_02059C08: .word 0x020F6650 + + thumb_func_start sub_02059C0C +sub_02059C0C: ; 0x02059C0C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058B2C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B18 + add r0, r5, #0x0 + bl sub_02058B3C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B20 + add r0, r5, #0x0 + bl sub_02058B4C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B28 + add r0, r4, #0x0 + bl sub_02059BF4 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B34 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058B44 + add r0, r4, #0x0 + bl sub_02059C00 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B54 + pop {r3-r5, pc} + + thumb_func_start sub_02059C60 +sub_02059C60: ; 0x02059C60 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058B2C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B18 + add r0, r4, #0x0 + bl sub_02058B3C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B20 + add r0, r4, #0x0 + bl sub_02058B4C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B28 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02059C90 +sub_02059C90: ; 0x02059C90 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02059BF4 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B4C + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02059C00 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058738 + ldr r2, [sp, #0x0] + add r1, r6, r7 + add r2, r2, r5 + bl sub_0204A6E0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02059CC8 +sub_02059CC8: ; 0x02059CC8 + push {r3-r6, lr} + sub sp, #0xc + add r5, r1, #0x0 + add r1, sp, #0x0 + add r6, r0, #0x0 + add r4, r2, #0x0 + bl sub_02058B5C + cmp r5, #0x3 + bhi _02059D0E + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + ldr r0, [sp, #0x8] + sub r0, r0, r4 + str r0, [sp, #0x8] + b _02059D0E +_02059CF8: + .byte 0x02, 0x98, 0x00, 0x19, 0x02, 0x90, 0x06, 0xE0 + .byte 0x00, 0x98, 0x00, 0x1B, 0x00, 0x90, 0x02, 0xE0, 0x00, 0x98, 0x00, 0x19, 0x00, 0x90 +_02059D0E: + add r0, r6, #0x0 + add r1, sp, #0x0 + bl sub_02058B6C + add sp, #0xc + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02059D1C +sub_02059D1C: ; 0x02059D1C + push {r3-r5, lr} + sub sp, #0x18 + add r1, sp, #0xc + add r5, r0, #0x0 + bl sub_02058B5C + add r3, sp, #0xc + ldmia r3!, {r0-r1} + add r2, sp, #0x0 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + add r0, r5, #0x0 + bl sub_0205897C + cmp r0, #0x1 + bne _02059D4E + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0xc + bl sub_02058418 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r5, pc} +_02059D4E: + add r0, r5, #0x0 + bl sub_02058AE4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058738 + add r1, sp, #0x0 + add r2, r4, #0x0 + bl sub_02059EC8 + add r4, r0, #0x0 + cmp r4, #0x1 + bne _02059DA2 + ldr r0, [sp, #0x4] + add r1, sp, #0xc + str r0, [sp, #0x10] + add r0, r5, #0x0 + bl sub_02058B6C + add r0, r5, #0x0 + bl sub_02058B3C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B20 + ldr r1, [sp, #0x10] + add r0, r5, #0x0 + asr r2, r1, #0x3 + asr r1, r2, #0xb + lsr r1, r1, #0x14 + add r1, r2, r1 + asr r1, r1, #0xc + bl sub_02058B40 + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0xc + bl sub_02058418 + b _02059DAC +_02059DA2: + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0xc + bl sub_02058410 +_02059DAC: + add r0, r4, #0x0 + add sp, #0x18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02059DB4 +sub_02059DB4: ; 0x02059DB4 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02058B14 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B24 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058738 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r7, r0, #0x0 + bl sub_0204A6E0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058728 + add r0, r5, #0x0 + bl sub_02058B2C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + add r2, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0204A6E0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058718 + add r0, r4, #0x0 + bl sub_02054C08 + cmp r0, #0x1 + bne _02059E18 + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0xa + bl sub_02058410 + mov r0, #0x0 + pop {r3-r7, pc} +_02059E18: + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0xa + bl sub_02058418 + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02059E28 +sub_02059E28: ; 0x02059E28 + cmp r0, #0x3 + bhi _02059E5E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r1, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + ldr r0, [r1, #0x8] + sub r0, r0, r2 + str r0, [r1, #0x8] + bx lr +_02059E48: + .byte 0x88, 0x68, 0x80, 0x18, 0x88, 0x60, 0x70, 0x47 + .byte 0x08, 0x68, 0x80, 0x1A, 0x08, 0x60, 0x70, 0x47, 0x08, 0x68, 0x80, 0x18, 0x08, 0x60 +_02059E5E: + bx lr + + thumb_func_start sub_02059E60 +sub_02059E60: ; 0x02059E60 + lsl r3, r0, #0x10 + mov r0, #0x2 + lsl r0, r0, #0xe + add r3, r3, r0 + lsl r1, r1, #0x10 + str r3, [r2, #0x0] + add r0, r1, r0 + str r0, [r2, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_02059E74 +sub_02059E74: ; 0x02059E74 + lsl r1, r0, #0x2 + ldr r0, _02059E7C ; =0x020F6660 + ldr r0, [r0, r1] + bx lr + .balign 4 +_02059E7C: .word 0x020F6660 + + thumb_func_start sub_02059E80 +sub_02059E80: ; 0x02059E80 + cmp r0, r2 + ble _02059E88 + mov r0, #0x2 + bx lr +_02059E88: + cmp r0, r2 + bge _02059E90 + mov r0, #0x3 + bx lr +_02059E90: + cmp r1, r3 + bgt _02059E98 + mov r0, #0x1 + bx lr +_02059E98: + mov r0, #0x0 + bx lr + + thumb_func_start sub_02059E9C +sub_02059E9C: ; 0x02059E9C + push {r4, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r1, sp, #0x4 + str r1, [sp, #0x0] + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x0] + ldr r3, [r4, #0x8] + bl sub_0204A708 + add r1, sp, #0x4 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02059EBE + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_02059EBE: + str r0, [r4, #0x4] + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02059EC8 +sub_02059EC8: ; 0x02059EC8 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r1, #0x0 + add r1, sp, #0x4 + str r1, [sp, #0x0] + add r4, r2, #0x0 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x0] + ldr r3, [r5, #0x8] + bl sub_0204A708 + add r1, sp, #0x4 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02059EEC + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_02059EEC: + cmp r1, #0x2 + bne _02059EFA + cmp r4, #0x0 + bne _02059EFA + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_02059EFA: + str r0, [r5, #0x4] + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02059F04 +sub_02059F04: ; 0x02059F04 + push {r4-r6, lr} + add r6, r1, #0x0 + mov r1, #0x8 + add r5, r0, #0x0 + bl sub_0205858C + add r4, r0, #0x0 + mov r1, #0x0 + ldr r0, _02059F30 ; =0x020F693C + mvn r1, r1 + bl sub_0205AAB0 + strh r0, [r4, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + str r6, [r4, #0x4] + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058848 + pop {r4-r6, pc} + .balign 4 +_02059F30: .word 0x020F693C + + thumb_func_start sub_02059F34 +sub_02059F34: ; 0x02059F34 + ldr r3, _02059F3C ; =sub_02059F04 + mov r1, #0x0 + bx r3 + nop +_02059F3C: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F40 +sub_02059F40: ; 0x02059F40 + ldr r3, _02059F48 ; =sub_02059F04 + mov r1, #0x1 + bx r3 + nop +_02059F48: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F4C +sub_02059F4C: ; 0x02059F4C + ldr r3, _02059F54 ; =sub_02059F04 + mov r1, #0x2 + bx r3 + nop +_02059F54: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F58 +sub_02059F58: ; 0x02059F58 + ldr r3, _02059F60 ; =sub_02059F04 + mov r1, #0x3 + bx r3 + nop +_02059F60: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F64 +sub_02059F64: ; 0x02059F64 + ldr r3, _02059F6C ; =sub_02059F04 + mov r1, #0x4 + bx r3 + nop +_02059F6C: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F70 +sub_02059F70: ; 0x02059F70 + ldr r3, _02059F78 ; =sub_02059F04 + mov r1, #0x5 + bx r3 + nop +_02059F78: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F7C +sub_02059F7C: ; 0x02059F7C + ldr r3, _02059F84 ; =sub_02059F04 + mov r1, #0x6 + bx r3 + nop +_02059F84: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F88 +sub_02059F88: ; 0x02059F88 + ldr r3, _02059F90 ; =sub_02059F04 + mov r1, #0x7 + bx r3 + nop +_02059F90: .word sub_02059F04 + 1 + + thumb_func_start sub_02059F94 +sub_02059F94: ; 0x02059F94 + ldr r3, _02059F9C ; =sub_02059F04 + mov r1, #0x8 + bx r3 + nop +_02059F9C: .word sub_02059F04 + 1 + + thumb_func_start sub_02059FA0 +sub_02059FA0: ; 0x02059FA0 + ldr r3, _02059FA8 ; =sub_02059F04 + mov r1, #0x9 + bx r3 + nop +_02059FA8: .word sub_02059F04 + 1 + + thumb_func_start sub_02059FAC +sub_02059FAC: ; 0x02059FAC + ldr r3, _02059FB4 ; =sub_02059F04 + mov r1, #0xa + bx r3 + nop +_02059FB4: .word sub_02059F04 + 1 + + thumb_func_start sub_02059FB8 +sub_02059FB8: ; 0x02059FB8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + mov r2, #0x0 + ldr r1, [r4, #0x4] + add r0, r5, #0x0 + mvn r2, r2 + bl sub_0205ABEC + mov r2, #0x0 + add r1, r0, #0x0 + mvn r2, r2 + cmp r1, r2 + beq _02059FE0 + add r0, r5, #0x0 + bl sub_020584AC + b _0205A010 +_02059FE0: + ldrh r0, [r4, #0x0] + cmp r0, #0x0 + bne _0205A010 + mov r0, #0x2 + ldrsh r1, [r4, r0] + sub r1, r1, #0x1 + strh r1, [r4, #0x2] + ldrsh r0, [r4, r0] + cmp r0, #0x0 + bgt _0205A010 + ldr r0, _0205A018 ; =0x020F693C + add r1, r2, #0x0 + bl sub_0205AAB0 + strh r0, [r4, #0x2] + mov r1, #0x0 + ldr r0, [r4, #0x4] + mvn r1, r1 + bl sub_0205AAD4 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_020584AC +_0205A010: + add r0, r5, #0x0 + bl sub_02059C60 + pop {r3-r5, pc} + .balign 4 +_0205A018: .word 0x020F693C + + thumb_func_start sub_0205A01C +sub_0205A01C: ; 0x0205A01C + bx lr + .balign 4 + + thumb_func_start sub_0205A020 +sub_0205A020: ; 0x0205A020 + push {r3, lr} + mov r1, #0xc + mov r2, #0xb + mov r3, #0x0 + bl sub_0205A050 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A030 +sub_0205A030: ; 0x0205A030 + push {r3, lr} + mov r1, #0xc + add r2, r1, #0x0 + mov r3, #0x0 + bl sub_0205A050 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A040 +sub_0205A040: ; 0x0205A040 + push {r3, lr} + mov r1, #0xc + mov r2, #0xd + mov r3, #0x0 + bl sub_0205A050 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A050 +sub_0205A050: ; 0x0205A050 + push {r3-r7, lr} + add r4, r1, #0x0 + add r7, r3, #0x0 + mov r1, #0x10 + add r5, r0, #0x0 + add r6, r2, #0x0 + bl sub_0205858C + str r7, [r0, #0x4] + str r4, [r0, #0x8] + str r6, [r0, #0xc] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058848 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205A078 +sub_0205A078: ; 0x0205A078 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + mov r0, #0x0 + ldrsh r0, [r4, r0] + cmp r0, #0x4 + bhi _0205A16E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r2, r6, #0 + lsl r0, r2, #0x1 + lsl r6, r4, #0x1 + lsl r2, r0, #0x3 + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205886C + add r0, r5, #0x0 + bl sub_020584C4 + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + mov r0, #0x0 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_0205A0CA: + .byte 0x28, 0x1C, 0x00, 0xF0, 0xD8, 0xFF + .byte 0x00, 0x28, 0x4C, 0xD0, 0x00, 0x21, 0x26, 0x48, 0xC9, 0x43, 0x00, 0xF0, 0xE9, 0xFC, 0x60, 0x80 + .byte 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x02, 0x20, 0x21, 0x5E, 0x49, 0x1E, 0x61, 0x80 + .byte 0x20, 0x5E, 0x00, 0x28, 0x3B, 0xD1, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x00, 0x21 + .byte 0xE0, 0x68, 0xC9, 0x43, 0x00, 0xF0, 0xE6, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFE, 0xF7 + .byte 0xE3, 0xF9, 0x60, 0x68, 0x01, 0x28, 0x08, 0xD1, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0xA8, 0xF8 + .byte 0x00, 0x28, 0x02, 0xD1, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0x28, 0x1C, 0x31, 0x1C, 0xFF, 0xF7 + .byte 0xF3, 0xFB, 0x00, 0x28, 0x02, 0xD0, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0xA1, 0x68, 0x30, 0x1C + .byte 0x00, 0xF0, 0x4C, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0x60, 0xFE, 0x28, 0x1C, 0xFE, 0xF7 + .byte 0x75, 0xFB, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x28, 0x1C, 0x00, 0xF0, 0x90, 0xFF + .byte 0x00, 0x28, 0x04, 0xD0, 0x28, 0x1C, 0xFE, 0xF7, 0x6F, 0xFB, 0x00, 0x20, 0x20, 0x80 +_0205A16E: + pop {r4-r6, pc} +_0205A170: + .byte 0x3C, 0x69, 0x0F, 0x02 + + thumb_func_start sub_0205A174 +sub_0205A174: ; 0x0205A174 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + add r4, r1, #0x0 + bl sub_02058AFC + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02058B0C + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02058538 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02058540 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + bl sub_02058480 + cmp r0, #0xd + bhi _0205A268 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r6, #0x2 + lsl r6, r6, #0x2 + lsl r6, r6, #0x2 + lsl r6, r6, #0x2 + lsl r6, r6, #0x2 + lsl r6, r6, #0x2 + lsl r2, r3, #0 + lsl r4, r5, #0 + lsl r6, r7, #0 + lsl r0, r2, #0x1 + lsl r2, r4, #0x1 + lsl r0, r7, #0x1 + lsl r6, r1, #0x2 + lsl r2, r4, #0x2 + sub r0, r6, r7 + str r0, [r4, #0x0] + ldr r0, [sp, #0x4] + str r6, [r4, #0x8] + sub r0, r5, r0 + str r0, [r4, #0x4] + add sp, #0x8 + str r5, [r4, #0xc] + pop {r3-r7, pc} +_0205A1DE: + .byte 0x26, 0x60 + .byte 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60, 0xE5, 0x60, 0xF8, 0xBD + .byte 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60 + .byte 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0 + .byte 0xE0, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x28, 0x1A, 0x60, 0x60 + .byte 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60 + .byte 0x01, 0x98, 0x28, 0x1A, 0x60, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD + .byte 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60 + .byte 0xE5, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60 + .byte 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60, 0xF8, 0xBD +_0205A268: + bl sub_02020C2C + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0205A270 +sub_0205A270: ; 0x0205A270 + push {r4-r6, lr} + sub sp, #0x10 + add r6, r1, #0x0 + add r5, r0, #0x0 + add r1, sp, #0x0 + bl sub_0205A174 + add r0, r5, #0x0 + bl sub_02058B2C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02059BF4 + add r4, r4, r0 + add r0, r5, #0x0 + bl sub_02058B4C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_02059C00 + add r1, r5, r0 + ldr r0, [sp, #0x0] + cmp r0, r4 + bgt _0205A2AA + ldr r0, [sp, #0x8] + cmp r0, r4 + bge _0205A2B0 +_0205A2AA: + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0205A2B0: + ldr r0, [sp, #0x4] + cmp r0, r1 + bgt _0205A2BC + ldr r0, [sp, #0xc] + cmp r0, r1 + bge _0205A2C2 +_0205A2BC: + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0205A2C2: + mov r0, #0x1 + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_0205A2C8 +sub_0205A2C8: ; 0x0205A2C8 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x8 + bl sub_0205858C + str r4, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_02059C60 + pop {r3-r5, pc} + + thumb_func_start sub_0205A2EC +sub_0205A2EC: ; 0x0205A2EC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0205A300 + cmp r0, #0x1 + pop {r3-r5, pc} +_0205A300: + ldr r1, [r4, #0x0] + add r0, r5, #0x0 + bl sub_020584AC + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + pop {r3-r5, pc} + + thumb_func_start sub_0205A310 +sub_0205A310: ; 0x0205A310 + ldr r3, _0205A318 ; =sub_0205A2C8 + mov r1, #0x0 + bx r3 + nop +_0205A318: .word sub_0205A2C8 + 1 + + thumb_func_start sub_0205A31C +sub_0205A31C: ; 0x0205A31C + ldr r3, _0205A324 ; =sub_0205A2C8 + mov r1, #0x1 + bx r3 + nop +_0205A324: .word sub_0205A2C8 + 1 + + thumb_func_start sub_0205A328 +sub_0205A328: ; 0x0205A328 + ldr r3, _0205A330 ; =sub_0205A2C8 + mov r1, #0x2 + bx r3 + nop +_0205A330: .word sub_0205A2C8 + 1 + + thumb_func_start sub_0205A334 +sub_0205A334: ; 0x0205A334 + ldr r3, _0205A33C ; =sub_0205A2C8 + mov r1, #0x3 + bx r3 + nop +_0205A33C: .word sub_0205A2C8 + 1 + + thumb_func_start sub_0205A340 +sub_0205A340: ; 0x0205A340 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x8 + bl sub_0205858C + strb r4, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_02059C60 + pop {r3-r5, pc} + + thumb_func_start sub_0205A364 +sub_0205A364: ; 0x0205A364 + ldr r3, _0205A36C ; =sub_0205A340 + mov r1, #0x2 + bx r3 + nop +_0205A36C: .word sub_0205A340 + 1 + + thumb_func_start sub_0205A370 +sub_0205A370: ; 0x0205A370 + ldr r3, _0205A378 ; =sub_0205A340 + mov r1, #0x3 + bx r3 + nop +_0205A378: .word sub_0205A340 + 1 + + thumb_func_start sub_0205A37C +sub_0205A37C: ; 0x0205A37C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020585B0 + ldr r6, _0205A39C ; =0x020F6754 + add r4, r0, #0x0 + mov r7, #0x2 +_0205A38A: + ldrsb r2, [r4, r7] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205A38A + pop {r3-r7, pc} + .balign 4 +_0205A39C: .word 0x020F6754 + + thumb_func_start sub_0205A3A0 +sub_0205A3A0: ; 0x0205A3A0 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x26 + add r2, r1, #0x0 + sub r2, #0x27 + add r5, r0, #0x0 + bl sub_0205ABEC + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + bne _0205A3BE + add r0, r5, #0x0 + bl sub_020584C4 +_0205A3BE: + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + mov r0, #0x1 + strb r0, [r4, #0x2] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205A3D4 +sub_0205A3D4: ; 0x0205A3D4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x0 + bne _0205A3E4 + mov r0, #0x0 + pop {r4, pc} +_0205A3E4: + mov r0, #0x0 + str r0, [r4, #0x4] + mov r0, #0x2 + strb r0, [r4, #0x2] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205A3F0 +sub_0205A3F0: ; 0x0205A3F0 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _0205A414 + mov r1, #0x26 + add r2, r1, #0x0 + sub r2, #0x27 + bl sub_0205ABEC + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _0205A414 + mov r0, #0x0 + strb r0, [r4, #0x2] + mov r0, #0x1 + pop {r4, pc} +_0205A414: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + cmp r0, #0x18 + bge _0205A422 + mov r0, #0x0 + pop {r4, pc} +_0205A422: + mov r0, #0x3 + strb r0, [r4, #0x2] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205A42C +sub_0205A42C: ; 0x0205A42C + push {r3-r7, lr} + sub sp, #0x28 + ldr r3, _0205A4BC ; =0x020F68D8 + add r2, sp, #0x14 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldmia r3!, {r0-r1} + add r5, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r4, _0205A4C0 ; =0x020F68EC + str r0, [r2, #0x0] + add r3, sp, #0x0 + ldmia r4!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + mov r0, #0x0 + ldrsb r0, [r6, r0] + cmp r0, #0x2 + beq _0205A462 + add r5, r2, #0x0 +_0205A462: + add r0, r7, #0x0 + bl sub_020584C4 + mov r4, #0x0 + ldr r2, [r5, #0x0] + sub r1, r4, #0x1 + cmp r2, r1 + beq _0205A486 + add r1, r5, #0x0 + sub r2, r4, #0x1 +_0205A476: + ldr r3, [r1, #0x0] + cmp r0, r3 + beq _0205A486 + add r1, r1, #0x4 + ldr r3, [r1, #0x0] + add r4, r4, #0x1 + cmp r3, r2 + bne _0205A476 +_0205A486: + lsl r0, r4, #0x2 + ldr r1, [r5, r0] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0205A496 + bl sub_02020C2C +_0205A496: + add r4, r4, #0x1 + lsl r0, r4, #0x2 + ldr r1, [r5, r0] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0205A4A6 + mov r4, #0x0 +_0205A4A6: + lsl r1, r4, #0x2 + ldr r1, [r5, r1] + add r0, r7, #0x0 + bl sub_020584AC + mov r0, #0x0 + strb r0, [r6, #0x2] + mov r0, #0x1 + add sp, #0x28 + pop {r3-r7, pc} + nop +_0205A4BC: .word 0x020F68D8 +_0205A4C0: .word 0x020F68EC + + thumb_func_start sub_0205A4C4 +sub_0205A4C4: ; 0x0205A4C4 + ldr r3, _0205A4CC ; =sub_0205A340 + mov r1, #0x3 + bx r3 + nop +_0205A4CC: .word sub_0205A340 + 1 + + thumb_func_start sub_0205A4D0 +sub_0205A4D0: ; 0x0205A4D0 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020585B0 + ldr r6, _0205A4F0 ; =0x020F6724 + add r4, r0, #0x0 + mov r7, #0x2 +_0205A4DE: + ldrsb r2, [r4, r7] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205A4DE + pop {r3-r7, pc} + .balign 4 +_0205A4F0: .word 0x020F6724 + + thumb_func_start sub_0205A4F4 +sub_0205A4F4: ; 0x0205A4F4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020584C4 + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + mov r0, #0x1 + strb r0, [r4, #0x2] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205A514 +sub_0205A514: ; 0x0205A514 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x0 + bne _0205A524 + mov r0, #0x0 + pop {r4, pc} +_0205A524: + mov r0, #0x0 + str r0, [r4, #0x4] + mov r0, #0x2 + strb r0, [r4, #0x2] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205A530 +sub_0205A530: ; 0x0205A530 + ldr r0, [r1, #0x4] + add r0, r0, #0x1 + str r0, [r1, #0x4] + cmp r0, #0x18 + bge _0205A53E + mov r0, #0x0 + bx lr +_0205A53E: + mov r0, #0x3 + strb r0, [r1, #0x2] + mov r0, #0x1 + bx lr + .balign 4 + + thumb_func_start sub_0205A548 +sub_0205A548: ; 0x0205A548 + push {r3-r7, lr} + sub sp, #0x28 + ldr r3, _0205A5F4 ; =0x020F6900 + add r2, sp, #0x14 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldmia r3!, {r0-r1} + add r5, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r3, _0205A5F8 ; =0x020F6928 + str r0, [r2, #0x0] + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + add r4, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + mov r0, #0x0 + ldrsb r0, [r6, r0] + cmp r0, #0x2 + beq _0205A57E + add r5, r4, #0x0 +_0205A57E: + add r0, r7, #0x0 + bl sub_020584C4 + mov r4, #0x0 + ldr r2, [r5, #0x0] + sub r1, r4, #0x1 + cmp r2, r1 + beq _0205A5A2 + add r1, r5, #0x0 + sub r2, r4, #0x1 +_0205A592: + ldr r3, [r1, #0x0] + cmp r0, r3 + beq _0205A5A2 + add r1, r1, #0x4 + ldr r3, [r1, #0x0] + add r4, r4, #0x1 + cmp r3, r2 + bne _0205A592 +_0205A5A2: + lsl r0, r4, #0x2 + ldr r1, [r5, r0] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0205A5B2 + bl sub_02020C2C +_0205A5B2: + add r4, r4, #0x1 + lsl r0, r4, #0x2 + ldr r1, [r5, r0] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0205A5C2 + mov r4, #0x0 +_0205A5C2: + lsl r1, r4, #0x2 + ldr r1, [r5, r1] + add r0, r7, #0x0 + bl sub_020584AC + add r0, r7, #0x0 + bl sub_020584C4 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_020584A0 + cmp r4, r0 + bne _0205A5E8 + mov r0, #0x0 + ldrsb r0, [r6, r0] + bl sub_02059E74 + strb r0, [r6, #0x0] +_0205A5E8: + mov r0, #0x0 + strb r0, [r6, #0x2] + mov r0, #0x1 + add sp, #0x28 + pop {r3-r7, pc} + nop +_0205A5F4: .word 0x020F6900 +_0205A5F8: .word 0x020F6928 + + thumb_func_start sub_0205A5FC +sub_0205A5FC: ; 0x0205A5FC + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x8 + bl sub_0205858C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205A61A + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_0205ACF4 +_0205A61A: + pop {r3-r5, pc} + + thumb_func_start sub_0205A61C +sub_0205A61C: ; 0x0205A61C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020585B0 + ldr r6, _0205A63C ; =0x020F66CC + add r4, r0, #0x0 + mov r7, #0x0 +_0205A62A: + ldrsh r2, [r4, r7] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205A62A + pop {r3-r7, pc} + .balign 4 +_0205A63C: .word 0x020F66CC + + thumb_func_start sub_0205A640 +sub_0205A640: ; 0x0205A640 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020584A0 + mov r1, #0x2 + ldrsh r1, [r4, r1] + add r6, r0, #0x0 + cmp r1, #0x1 + bne _0205A65A + bl sub_02059E74 + add r6, r0, #0x0 +_0205A65A: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x0 + bne _0205A674 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584AC +_0205A674: + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205A67C +sub_0205A67C: ; 0x0205A67C + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x2 + ldrsh r1, [r4, r1] + add r5, r0, #0x0 + cmp r1, #0x0 + beq _0205A6DA + bl sub_02058AFC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B4C + ldr r1, [sp, #0x0] + cmp r6, r1 + bne _0205A6DA + cmp r7, r0 + bne _0205A6DA + add r0, r5, #0x0 + bl sub_020584D4 + bl sub_02059E74 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x0 + bne _0205A6D6 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584AC +_0205A6D6: + mov r0, #0x0 + strh r0, [r4, #0x2] +_0205A6DA: + add r0, r5, #0x0 + bl sub_020584D4 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059918 + mov r1, #0x1 + add r2, r0, #0x0 + tst r2, r1 + beq _0205A704 + add r0, r6, #0x0 + strh r1, [r4, #0x2] + bl sub_02059E74 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059918 +_0205A704: + mov r1, #0xc + cmp r0, #0x0 + beq _0205A70C + mov r1, #0x20 +_0205A70C: + add r0, r6, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205A72C + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_0205AD0C +_0205A72C: + add r0, r5, #0x0 + bl sub_0205883C + mov r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205A73C +sub_0205A73C: ; 0x0205A73C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x1 + bne _0205A766 + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205A762 + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_0205AD88 +_0205A762: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0205A766: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205A76C +sub_0205A76C: ; 0x0205A76C + push {r3-r7, lr} + add r6, r1, #0x0 + mov r1, #0x10 + add r5, r0, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_0205858C + add r4, r0, #0x0 + strh r6, [r4, #0x4] + ldr r0, [sp, #0x0] + strh r7, [r4, #0x6] + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205A79A + add r4, #0xc + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205ACF4 +_0205A79A: + pop {r3-r7, pc} + + thumb_func_start sub_0205A79C +sub_0205A79C: ; 0x0205A79C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0xe + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7AC +sub_0205A7AC: ; 0x0205A7AC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0xf + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7BC +sub_0205A7BC: ; 0x0205A7BC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x10 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7CC +sub_0205A7CC: ; 0x0205A7CC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x11 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7DC +sub_0205A7DC: ; 0x0205A7DC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x12 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7EC +sub_0205A7EC: ; 0x0205A7EC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x13 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A7FC +sub_0205A7FC: ; 0x0205A7FC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x14 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A80C +sub_0205A80C: ; 0x0205A80C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x15 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A81C +sub_0205A81C: ; 0x0205A81C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x16 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A82C +sub_0205A82C: ; 0x0205A82C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x17 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A83C +sub_0205A83C: ; 0x0205A83C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x18 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A84C +sub_0205A84C: ; 0x0205A84C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x19 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A85C +sub_0205A85C: ; 0x0205A85C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x1a + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A86C +sub_0205A86C: ; 0x0205A86C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x1b + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A87C +sub_0205A87C: ; 0x0205A87C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x1c + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A88C +sub_0205A88C: ; 0x0205A88C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x1d + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A89C +sub_0205A89C: ; 0x0205A89C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x1e + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8AC +sub_0205A8AC: ; 0x0205A8AC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x1f + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8BC +sub_0205A8BC: ; 0x0205A8BC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x20 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8CC +sub_0205A8CC: ; 0x0205A8CC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x21 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8DC +sub_0205A8DC: ; 0x0205A8DC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x22 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8EC +sub_0205A8EC: ; 0x0205A8EC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x23 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A8FC +sub_0205A8FC: ; 0x0205A8FC + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x24 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A90C +sub_0205A90C: ; 0x0205A90C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x25 + bl sub_0205A76C + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205A91C +sub_0205A91C: ; 0x0205A91C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020585B0 + ldr r6, _0205A93C ; =0x020F6670 + add r4, r0, #0x0 + mov r7, #0x0 +_0205A92A: + ldrsh r2, [r4, r7] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205A92A + pop {r3-r7, pc} + .balign 4 +_0205A93C: .word 0x020F6670 + + thumb_func_start sub_0205A940 +sub_0205A940: ; 0x0205A940 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x2 + ldrsh r2, [r4, r1] + mov r1, #0x4 + ldrsh r1, [r4, r1] + add r5, r0, #0x0 + cmp r2, r1 + bne _0205A98C + mov r1, #0x6 + ldrsh r1, [r4, r1] + cmp r1, #0x0 + bne _0205A974 + bl sub_02058AFC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + cmp r6, r0 + bne _0205A98C + mov r0, #0x2 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x2] + b _0205A98C +_0205A974: + bl sub_02058B0C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + cmp r6, r0 + bne _0205A98C + mov r0, #0x2 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x2] +_0205A98C: + mov r0, #0x2 + ldrsh r0, [r4, r0] + cmp r0, #0x3 + bne _0205A9C0 + add r0, r5, #0x0 + bl sub_02058AFC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B0C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B4C + ldr r1, [sp, #0x0] + cmp r6, r1 + bne _0205A9C0 + cmp r7, r0 + bne _0205A9C0 + mov r0, #0x0 + strh r0, [r4, #0x2] +_0205A9C0: + ldr r0, [r4, #0x8] + bl sub_0205AAFC + add r7, r0, #0x0 + mov r0, #0x2 + ldrsh r0, [r4, r0] + lsl r0, r0, #0x2 + ldr r6, [r7, r0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x0 + bne _0205A9EA + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584AC +_0205A9EA: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059918 + mov r1, #0x1 + tst r1, r0 + beq _0205AA28 + mov r0, #0x2 + ldrsh r1, [r4, r0] + add r1, r1, #0x1 + strh r1, [r4, #0x2] + ldrsh r0, [r4, r0] + lsl r0, r0, #0x2 + ldr r6, [r7, r0] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584CC + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x0 + bne _0205AA20 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020584AC +_0205AA20: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02059918 +_0205AA28: + mov r1, #0xc + cmp r0, #0x0 + beq _0205AA30 + mov r1, #0x20 +_0205AA30: + add r0, r6, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205AA52 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0xc + bl sub_0205AD0C +_0205AA52: + add r0, r5, #0x0 + bl sub_0205883C + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205AA60 +sub_0205AA60: ; 0x0205AA60 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x1 + bne _0205AA8C + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205ACE0 + cmp r0, #0x1 + bne _0205AA88 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0xc + bl sub_0205AD88 +_0205AA88: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0205AA8C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205AA90 +sub_0205AA90: ; 0x0205AA90 + push {r4, lr} + ldr r2, [r0, #0x0] + mov r4, #0x0 + cmp r1, r2 + beq _0205AAA4 +_0205AA9A: + add r0, r0, #0x4 + ldr r2, [r0, #0x0] + add r4, r4, #0x1 + cmp r1, r2 + bne _0205AA9A +_0205AAA4: + cmp r4, #0x0 + bne _0205AAAC + bl sub_02020C2C +_0205AAAC: + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205AAB0 +sub_0205AAB0: ; 0x0205AAB0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201B9EC + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205AA90 + add r1, r0, #0x0 + add r0, r6, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x2 + ldr r0, [r5, r0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205AAD4 +sub_0205AAD4: ; 0x0205AAD4 + push {r4-r6, lr} + add r5, r1, #0x0 + bl sub_0205AAFC + add r4, r0, #0x0 + bl sub_0201B9EC + add r6, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0205AA90 + add r1, r0, #0x0 + add r0, r6, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x2 + ldr r0, [r4, r0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205AAFC +sub_0205AAFC: ; 0x0205AAFC + push {r3, lr} + ldr r1, _0205AB1C ; =0x020F69BC + mov r2, #0x0 +_0205AB02: + cmp r2, r0 + bne _0205AB0A + ldr r0, [r1, #0x4] + pop {r3, pc} +_0205AB0A: + add r1, #0x8 + ldr r2, [r1, #0x0] + cmp r2, #0x27 + bne _0205AB02 + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + nop +_0205AB1C: .word 0x020F69BC + + thumb_func_start sub_0205AB20 +sub_0205AB20: ; 0x0205AB20 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02058488 + cmp r0, #0x1 + beq _0205AB36 + cmp r0, #0x2 + beq _0205AB36 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0205AB36: + add r0, r5, #0x0 + bl sub_02058738 + bl sub_02055698 + add r6, r0, #0x0 + bl sub_02057124 + cmp r0, #0x0 + bne _0205AB50 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0205AB50: + add r0, r5, #0x0 + mov r4, #0x0 + bl sub_02058480 + ldr r1, _0205ABE8 ; =0x020F6984 +_0205AB5A: + lsl r2, r4, #0x2 + ldr r2, [r1, r2] + add r4, r4, #0x1 + cmp r2, r0 + beq _0205AB68 + cmp r2, #0xff + bne _0205AB5A +_0205AB68: + cmp r0, r2 + beq _0205AB72 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0205AB72: + add r0, r6, #0x0 + bl sub_020553A0 + bl sub_02058BE4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058BE4 + cmp r4, r0 + beq _0205AB8E + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0205AB8E: + add r0, r6, #0x0 + bl sub_02055320 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_0205532C + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B4C + add r3, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r5, [sp, #0x0] + sub r2, r6, r0 + add r1, r6, r0 + sub r5, r3, r5 + add r0, r3, r0 + cmp r5, r4 + bgt _0205ABE2 + cmp r0, r4 + blt _0205ABE2 + cmp r2, r7 + bgt _0205ABE2 + cmp r1, r7 + blt _0205ABE2 + add r1, r3, #0x0 + add r0, r6, #0x0 + add r2, r7, #0x0 + add r3, r4, #0x0 + bl sub_02059E80 + pop {r3-r7, pc} +_0205ABE2: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + .balign 4 +_0205ABE8: .word 0x020F6984 + + thumb_func_start sub_0205ABEC +sub_0205ABEC: ; 0x0205ABEC + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x0] + add r4, r2, #0x0 + add r0, r1, #0x0 + bl sub_0205AAFC + add r1, r4, #0x0 + add r5, r0, #0x0 + bl sub_0205AA90 + add r4, r0, #0x0 + cmp r4, #0x1 + bne _0205AC10 + mov r0, #0x0 + add sp, #0x14 + mvn r0, r0 + pop {r4-r7, pc} +_0205AC10: + ldr r0, [sp, #0x0] + bl sub_0205AB20 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _0205ACDA + mov r2, #0x0 + add r3, r5, #0x0 +_0205AC22: + ldr r1, [r3, #0x0] + cmp r0, r1 + beq _0205ACDA + add r2, r2, #0x1 + add r3, r3, #0x4 + cmp r2, r4 + blt _0205AC22 + mov r7, #0x0 + mvn r7, r7 + ldr r0, [sp, #0x0] + add r6, r7, #0x0 + bl sub_02058B2C + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + bl sub_02058B4C + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + bl sub_02058738 + bl sub_02055698 + str r0, [sp, #0xc] + bl sub_02055320 + str r0, [sp, #0x10] + ldr r0, [sp, #0xc] + bl sub_0205532C + ldr r2, [sp, #0x8] + ldr r1, [sp, #0x10] + cmp r2, r1 + ble _0205AC6A + mov r7, #0x2 + b _0205AC70 +_0205AC6A: + cmp r2, r1 + bge _0205AC70 + mov r7, #0x3 +_0205AC70: + ldr r1, [sp, #0x4] + cmp r1, r0 + ble _0205AC7A + mov r6, #0x0 + b _0205AC80 +_0205AC7A: + cmp r1, r0 + bge _0205AC80 + mov r6, #0x1 +_0205AC80: + mov r0, #0x0 + sub r1, r0, #0x1 + cmp r7, r1 + bne _0205AC9E +_0205AC88: + ldr r1, [r5, #0x0] + cmp r6, r1 + bne _0205AC94 + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_0205AC94: + add r0, r0, #0x1 + add r5, r5, #0x4 + cmp r0, r4 + blt _0205AC88 + b _0205ACD6 +_0205AC9E: + cmp r6, r1 + bne _0205ACB8 +_0205ACA2: + ldr r1, [r5, #0x0] + cmp r7, r1 + bne _0205ACAE + add sp, #0x14 + add r0, r7, #0x0 + pop {r4-r7, pc} +_0205ACAE: + add r0, r0, #0x1 + add r5, r5, #0x4 + cmp r0, r4 + blt _0205ACA2 + b _0205ACD6 +_0205ACB8: + ldr r1, [r5, #0x0] + cmp r7, r1 + bne _0205ACC4 + add sp, #0x14 + add r0, r7, #0x0 + pop {r4-r7, pc} +_0205ACC4: + cmp r6, r1 + bne _0205ACCE + add sp, #0x14 + add r0, r6, #0x0 + pop {r4-r7, pc} +_0205ACCE: + add r0, r0, #0x1 + add r5, r5, #0x4 + cmp r0, r4 + blt _0205ACB8 +_0205ACD6: + mov r0, #0x0 + mvn r0, r0 +_0205ACDA: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205ACE0 +sub_0205ACE0: ; 0x0205ACE0 + push {r3, lr} + bl sub_02058488 + sub r0, r0, #0x7 + cmp r0, #0x1 + bhi _0205ACF0 + mov r0, #0x1 + pop {r3, pc} +_0205ACF0: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205ACF4 +sub_0205ACF4: ; 0x0205ACF4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02058488 + cmp r0, #0x7 + bne _0205AD06 + mov r0, #0x0 + strb r0, [r4, #0x1] + pop {r4, pc} +_0205AD06: + mov r0, #0x1 + strb r0, [r4, #0x1] + pop {r4, pc} + + thumb_func_start sub_0205AD0C +sub_0205AD0C: ; 0x0205AD0C + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + bl sub_020584C4 + mov r4, #0x0 + add r6, r0, #0x0 + add r1, r4, #0x0 + ldr r0, _0205AD84 ; =0x020F6964 + mov r2, #0x1 + b _0205AD26 +_0205AD22: + add r1, r1, #0x4 + add r4, r4, #0x1 +_0205AD26: + cmp r4, #0x4 + bge _0205AD36 + ldrsb r3, [r5, r2] + lsl r3, r3, #0x4 + add r3, r0, r3 + ldr r3, [r1, r3] + cmp r6, r3 + bne _0205AD22 +_0205AD36: + cmp r4, #0x4 + blt _0205AD3E + bl sub_02020C2C +_0205AD3E: + add r0, r4, #0x1 + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + strb r6, [r5, #0x0] + mov r0, #0x1 + add r1, r2, r1 + ldrsb r0, [r5, r0] + lsl r1, r1, #0x2 + lsl r2, r0, #0x4 + ldr r0, _0205AD84 ; =0x020F6964 + add r0, r0, r2 + ldr r4, [r1, r0] + add r0, r7, #0x0 + mov r1, #0x80 + bl sub_02058424 + cmp r0, #0x0 + beq _0205AD6C + mov r0, #0x1 + b _0205AD6E +_0205AD6C: + mov r0, #0x0 +_0205AD6E: + strb r0, [r5, #0x2] + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_020584AC + add r0, r7, #0x0 + mov r1, #0x80 + bl sub_02058410 + pop {r3-r7, pc} + nop +_0205AD84: .word 0x020F6964 + + thumb_func_start sub_0205AD88 +sub_0205AD88: ; 0x0205AD88 + push {r3, lr} + ldrb r1, [r1, #0x2] + cmp r1, #0x0 + bne _0205AD96 + mov r1, #0x80 + bl sub_02058418 +_0205AD96: + pop {r3, pc} + + thumb_func_start sub_0205AD98 +sub_0205AD98: ; 0x0205AD98 + push {r4, lr} + mov r1, #0x1 + add r4, r0, #0x0 + bl sub_0205842C + cmp r0, #0x0 + bne _0205ADAA + mov r0, #0x0 + pop {r4, pc} +_0205ADAA: + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0205842C + cmp r0, #0x1 + bne _0205ADBA + mov r0, #0x0 + pop {r4, pc} +_0205ADBA: + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_0205842C + cmp r0, #0x1 + bne _0205ADD6 + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0205842C + cmp r0, #0x0 + bne _0205ADD6 + mov r0, #0x0 + pop {r4, pc} +_0205ADD6: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205ADDC +sub_0205ADDC: ; 0x0205ADDC + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x69 + blt _0205ADEA + bl sub_02020C2C +_0205ADEA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020586E8 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020586F8 + add r0, r5, #0x0 + mov r1, #0x10 + bl sub_02058410 + add r0, r5, #0x0 + mov r1, #0x20 + bl sub_02058418 + pop {r3-r5, pc} + + thumb_func_start sub_0205AE0C +sub_0205AE0C: ; 0x0205AE0C + push {r4, lr} + add r4, r0, #0x0 + bl sub_020586E8 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020586F8 + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_02058418 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AE28 +sub_0205AE28: ; 0x0205AE28 + push {r4, lr} + mov r1, #0x10 + add r4, r0, #0x0 + bl sub_0205842C + cmp r0, #0x0 + bne _0205AE3A + mov r0, #0x1 + pop {r4, pc} +_0205AE3A: + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0205842C + cmp r0, #0x0 + beq _0205AE4A + mov r0, #0x1 + pop {r4, pc} +_0205AE4A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AE50 +sub_0205AE50: ; 0x0205AE50 + push {r4, lr} + mov r1, #0x10 + add r4, r0, #0x0 + bl sub_0205842C + cmp r0, #0x0 + bne _0205AE62 + mov r0, #0x1 + pop {r4, pc} +_0205AE62: + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0205842C + cmp r0, #0x0 + bne _0205AE72 + mov r0, #0x0 + pop {r4, pc} +_0205AE72: + add r0, r4, #0x0 + mov r1, #0x30 + bl sub_02058418 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AE80 +sub_0205AE80: ; 0x0205AE80 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x10 + bl sub_02058418 + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_02058410 + add r0, r4, #0x0 + mov r1, #0xff + bl sub_020586E8 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020586F8 + pop {r4, pc} + + thumb_func_start sub_0205AEA4 +sub_0205AEA4: ; 0x0205AEA4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x4 + mov r1, #0x14 + bl sub_020169D8 + add r4, r0, #0x0 + bne _0205AEBA + bl sub_02020C2C +_0205AEBA: + add r2, r4, #0x0 + mov r1, #0x14 + mov r0, #0x0 +_0205AEC0: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _0205AEC0 + add r0, r5, #0x0 + bl sub_02058578 + bl sub_0205839C + sub r2, r0, #0x1 + ldr r0, _0205AEEC ; =sub_0205AF2C + add r1, r4, #0x0 + bl sub_0200CA44 + add r7, r0, #0x0 + bne _0205AEE4 + bl sub_02020C2C +_0205AEE4: + str r5, [r4, #0xc] + str r6, [r4, #0x10] + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 +_0205AEEC: .word sub_0205AF2C + 1 + + thumb_func_start sub_0205AEF0 +sub_0205AEF0: ; 0x0205AEF0 + push {r3, lr} + bl sub_0201B6C8 + ldr r0, [r0, #0x4] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205AEFC +sub_0205AEFC: ; 0x0205AEFC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0201B6C8 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0205AE28 + cmp r0, #0x1 + beq _0205AF14 + bl sub_02020C2C +_0205AF14: + ldr r0, [r4, #0xc] + bl sub_0205AE50 + mov r0, #0x4 + add r1, r4, #0x0 + bl sub_02016A8C + add r0, r5, #0x0 + bl sub_0200CAB4 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205AF2C +sub_0205AF2C: ; 0x0205AF2C + push {r3-r5, lr} + ldr r4, _0205AF44 ; =0x020F6C54 + add r5, r1, #0x0 +_0205AF32: + ldr r1, [r5, #0x0] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + blx r1 + cmp r0, #0x1 + beq _0205AF32 + pop {r3-r5, pc} + nop +_0205AF44: .word 0x020F6C54 + + thumb_func_start sub_0205AF48 +sub_0205AF48: ; 0x0205AF48 + mov r1, #0x0 + str r1, [r0, #0x8] + mov r1, #0x1 + str r1, [r0, #0x0] + add r0, r1, #0x0 + bx lr + + thumb_func_start sub_0205AF54 +sub_0205AF54: ; 0x0205AF54 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0205AD98 + cmp r0, #0x0 + bne _0205AF66 + mov r0, #0x0 + pop {r4, pc} +_0205AF66: + mov r0, #0x2 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AF70 +sub_0205AF70: ; 0x0205AF70 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x10] + ldr r0, [r4, #0xc] + ldrh r1, [r1, #0x0] + bl sub_0205ADDC + mov r0, #0x3 + str r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AF88 +sub_0205AF88: ; 0x0205AF88 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0205AE28 + cmp r0, #0x0 + bne _0205AF9A + mov r0, #0x0 + pop {r4, pc} +_0205AF9A: + mov r0, #0x4 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205AFA4 +sub_0205AFA4: ; 0x0205AFA4 + ldr r1, [r0, #0x8] + ldr r3, [r0, #0x10] + add r2, r1, #0x1 + str r2, [r0, #0x8] + ldrh r1, [r3, #0x2] + cmp r2, r1 + bge _0205AFBA + mov r1, #0x1 + str r1, [r0, #0x0] + add r0, r1, #0x0 + bx lr +_0205AFBA: + add r1, r3, #0x4 + str r1, [r0, #0x10] + ldrh r1, [r3, #0x4] + cmp r1, #0xfe + beq _0205AFCC + mov r1, #0x0 + str r1, [r0, #0x0] + mov r0, #0x1 + bx lr +_0205AFCC: + mov r1, #0x1 + str r1, [r0, #0x4] + mov r1, #0x5 + str r1, [r0, #0x0] + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205AFD8 +sub_0205AFD8: ; 0x0205AFD8 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205AFDC +sub_0205AFDC: ; 0x0205AFDC + push {r3-r7, lr} + add r7, r0, #0x0 + add r4, r1, #0x0 + cmp r7, #0x4 + blt _0205AFEA + bl sub_02020C2C +_0205AFEA: + ldr r3, _0205B01C ; =0x020F6308 + ldr r6, [r3, #0x0] + cmp r6, #0x0 + beq _0205B014 + mov r1, #0x0 +_0205AFF4: + add r2, r1, #0x0 + add r5, r6, #0x0 +_0205AFF8: + ldr r0, [r5, #0x0] + cmp r4, r0 + bne _0205B004 + lsl r0, r7, #0x2 + ldr r0, [r6, r0] + pop {r3-r7, pc} +_0205B004: + add r2, r2, #0x1 + add r5, r5, #0x4 + cmp r2, #0x4 + blt _0205AFF8 + add r3, r3, #0x4 + ldr r6, [r3, #0x0] + cmp r6, #0x0 + bne _0205AFF4 +_0205B014: + bl sub_02020C2C + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_0205B01C: .word 0x020F6308 + + thumb_func_start sub_0205B020 +sub_0205B020: ; 0x0205B020 + push {r4-r5} + ldr r4, _0205B054 ; =0x020F6308 + ldr r5, [r4, #0x0] + cmp r5, #0x0 + beq _0205B04A + mov r2, #0x0 +_0205B02C: + add r3, r2, #0x0 +_0205B02E: + ldr r1, [r5, #0x0] + cmp r0, r1 + bne _0205B03A + add r0, r3, #0x0 + pop {r4-r5} + bx lr +_0205B03A: + add r3, r3, #0x1 + add r5, r5, #0x4 + cmp r3, #0x4 + blt _0205B02E + add r4, r4, #0x4 + ldr r5, [r4, #0x0] + cmp r5, #0x0 + bne _0205B02C +_0205B04A: + mov r0, #0x0 + mvn r0, r0 + pop {r4-r5} + bx lr + nop +_0205B054: .word 0x020F6308 + + thumb_func_start sub_0205B058 +sub_0205B058: ; 0x0205B058 + push {r3-r5, lr} + add r5, r0, #0x0 +_0205B05C: + add r0, r5, #0x0 + bl sub_020586F0 + add r4, r0, #0x0 + cmp r4, #0xff + beq _0205B07C + add r0, r5, #0x0 + bl sub_02058710 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205B0B4 + cmp r0, #0x0 + bne _0205B05C +_0205B07C: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205B080 +sub_0205B080: ; 0x0205B080 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0205B058 + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0205842C + cmp r0, #0x0 + bne _0205B098 + mov r0, #0x0 + pop {r4, pc} +_0205B098: + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_02058418 + add r0, r4, #0x0 + mov r1, #0xff + bl sub_020586E8 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020586F8 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205B0B4 +sub_0205B0B4: ; 0x0205B0B4 + push {r3, lr} + lsl r3, r1, #0x2 + ldr r1, _0205B0C4 ; =0x020F6440 + ldr r3, [r1, r3] + lsl r1, r2, #0x2 + ldr r1, [r3, r1] + blx r1 + pop {r3, pc} + .balign 4 +_0205B0C4: .word 0x020F6440 + + thumb_func_start sub_0205B0C8 +sub_0205B0C8: ; 0x0205B0C8 + push {r3, lr} + mov r1, #0x20 + bl sub_02058410 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205B0D4 +sub_0205B0D4: ; 0x0205B0D4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020584AC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02059C60 + add r0, r4, #0x0 + bl sub_02058700 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205B0F4 +sub_0205B0F4: ; 0x0205B0F4 + push {r3, lr} + mov r1, #0x0 + bl sub_0205B0D4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B100 +sub_0205B100: ; 0x0205B100 + push {r3, lr} + mov r1, #0x1 + bl sub_0205B0D4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B10C +sub_0205B10C: ; 0x0205B10C + push {r3, lr} + mov r1, #0x2 + bl sub_0205B0D4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B118 +sub_0205B118: ; 0x0205B118 + push {r3, lr} + mov r1, #0x3 + bl sub_0205B0D4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B124 +sub_0205B124: ; 0x0205B124 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0xc + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020585DC + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + strh r1, [r0, #0x0] + strh r7, [r0, #0x2] + str r4, [r0, #0x4] + str r6, [r0, #0x8] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059C0C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020584D8 + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + add r0, r5, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_02058700 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205B16C +sub_0205B16C: ; 0x0205B16C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02059CC8 + add r0, r5, #0x0 + bl sub_02059D1C + mov r0, #0x2 + ldrsh r1, [r4, r0] + sub r1, r1, #0x1 + strh r1, [r4, #0x2] + ldrsh r0, [r4, r0] + cmp r0, #0x0 + ble _0205B198 + mov r0, #0x0 + pop {r3-r5, pc} +_0205B198: + add r0, r5, #0x0 + mov r1, #0x28 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_02059C60 + add r0, r5, #0x0 + bl sub_020586A0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205B1C0 +sub_0205B1C0: ; 0x0205B1C0 + push {r3, lr} + mov r2, #0x1 + str r2, [sp, #0x0] + mov r1, #0x0 + lsl r2, r2, #0xb + mov r3, #0x20 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B1D4 +sub_0205B1D4: ; 0x0205B1D4 + push {r3, lr} + mov r1, #0x1 + lsl r2, r1, #0xb + mov r3, #0x20 + str r1, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B1E8 +sub_0205B1E8: ; 0x0205B1E8 + push {r3, lr} + mov r1, #0x1 + str r1, [sp, #0x0] + mov r1, #0x2 + lsl r2, r1, #0xa + mov r3, #0x20 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B1FC +sub_0205B1FC: ; 0x0205B1FC + push {r3, lr} + mov r2, #0x1 + str r2, [sp, #0x0] + mov r1, #0x3 + lsl r2, r2, #0xb + mov r3, #0x20 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B210 +sub_0205B210: ; 0x0205B210 + push {r3, lr} + mov r2, #0x2 + str r2, [sp, #0x0] + mov r1, #0x0 + lsl r2, r2, #0xb + mov r3, #0x10 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B224 +sub_0205B224: ; 0x0205B224 + push {r3, lr} + mov r1, #0x2 + str r1, [sp, #0x0] + mov r1, #0x1 + lsl r2, r1, #0xc + mov r3, #0x10 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B238 +sub_0205B238: ; 0x0205B238 + push {r3, lr} + mov r1, #0x2 + lsl r2, r1, #0xb + mov r3, #0x10 + str r1, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B24C +sub_0205B24C: ; 0x0205B24C + push {r3, lr} + mov r2, #0x2 + str r2, [sp, #0x0] + mov r1, #0x3 + lsl r2, r2, #0xb + mov r3, #0x10 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B260 +sub_0205B260: ; 0x0205B260 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x2 + str r1, [sp, #0x0] + mov r1, #0x0 + lsl r2, r2, #0xc + mov r3, #0x8 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B278 +sub_0205B278: ; 0x0205B278 + push {r3, lr} + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x1 + lsl r2, r1, #0xd + mov r3, #0x8 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B28C +sub_0205B28C: ; 0x0205B28C + push {r3, lr} + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x2 + lsl r2, r1, #0xc + mov r3, #0x8 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B2A0 +sub_0205B2A0: ; 0x0205B2A0 + push {r3, lr} + mov r2, #0x2 + mov r1, #0x3 + lsl r2, r2, #0xc + mov r3, #0x8 + str r1, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B2B4 +sub_0205B2B4: ; 0x0205B2B4 + push {r3, lr} + mov r3, #0x4 + mov r1, #0x0 + lsl r2, r3, #0xc + str r3, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B2C8 +sub_0205B2C8: ; 0x0205B2C8 + push {r3, lr} + mov r1, #0x1 + mov r3, #0x4 + lsl r2, r1, #0xe + str r3, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B2DC +sub_0205B2DC: ; 0x0205B2DC + push {r3, lr} + mov r1, #0x2 + mov r3, #0x4 + lsl r2, r1, #0xd + str r3, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B2F0 +sub_0205B2F0: ; 0x0205B2F0 + push {r3, lr} + mov r3, #0x4 + mov r1, #0x3 + lsl r2, r3, #0xc + str r3, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B304 +sub_0205B304: ; 0x0205B304 + push {r3, lr} + mov r1, #0x5 + mov r2, #0x2 + str r1, [sp, #0x0] + mov r1, #0x0 + lsl r2, r2, #0xe + mov r3, #0x2 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B31C +sub_0205B31C: ; 0x0205B31C + push {r3, lr} + mov r1, #0x5 + str r1, [sp, #0x0] + mov r1, #0x1 + lsl r2, r1, #0xf + mov r3, #0x2 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B330 +sub_0205B330: ; 0x0205B330 + push {r3, lr} + mov r1, #0x5 + str r1, [sp, #0x0] + mov r1, #0x2 + lsl r2, r1, #0xe + add r3, r1, #0x0 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B344 +sub_0205B344: ; 0x0205B344 + push {r3, lr} + mov r1, #0x5 + mov r2, #0x2 + str r1, [sp, #0x0] + mov r1, #0x3 + lsl r2, r2, #0xe + mov r3, #0x2 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B35C +sub_0205B35C: ; 0x0205B35C + push {r3, lr} + mov r2, #0x1 + mov r1, #0x0 + lsl r2, r2, #0x10 + mov r3, #0x1 + str r1, [sp, #0x0] + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B370 +sub_0205B370: ; 0x0205B370 + push {r3, lr} + mov r1, #0x0 + str r1, [sp, #0x0] + mov r1, #0x1 + lsl r2, r1, #0x10 + add r3, r1, #0x0 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B384 +sub_0205B384: ; 0x0205B384 + push {r3, lr} + mov r1, #0x0 + str r1, [sp, #0x0] + mov r1, #0x2 + lsl r2, r1, #0xf + mov r3, #0x1 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B398 +sub_0205B398: ; 0x0205B398 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x1 + str r1, [sp, #0x0] + mov r1, #0x3 + lsl r2, r2, #0x10 + mov r3, #0x1 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B3B0 +sub_0205B3B0: ; 0x0205B3B0 + push {r3, lr} + mov r1, #0x9 + mov r2, #0x1 + str r1, [sp, #0x0] + mov r1, #0x0 + lsl r2, r2, #0xe + mov r3, #0x4 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B3C8 +sub_0205B3C8: ; 0x0205B3C8 + push {r3, lr} + mov r1, #0x9 + str r1, [sp, #0x0] + mov r1, #0x1 + lsl r2, r1, #0xe + mov r3, #0x4 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B3DC +sub_0205B3DC: ; 0x0205B3DC + push {r3, lr} + mov r1, #0x9 + str r1, [sp, #0x0] + mov r1, #0x2 + lsl r2, r1, #0xd + mov r3, #0x4 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B3F0 +sub_0205B3F0: ; 0x0205B3F0 + push {r3, lr} + mov r1, #0x9 + mov r2, #0x1 + str r1, [sp, #0x0] + mov r1, #0x3 + lsl r2, r2, #0xe + mov r3, #0x4 + bl sub_0205B124 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205B408 +sub_0205B408: ; 0x0205B408 + push {r3-r7, lr} + add r7, r1, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + mov r1, #0xc + add r5, r0, #0x0 + bl sub_020585DC + strh r4, [r0, #0x0] + add r1, r6, #0x1 + strh r1, [r0, #0x2] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_020584AC + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02059C60 + add r0, r5, #0x0 + bl sub_02058700 + pop {r3-r7, pc} + + thumb_func_start sub_0205B43C +sub_0205B43C: ; 0x0205B43C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058600 + mov r1, #0x2 + ldrsh r2, [r0, r1] + sub r2, r2, #0x1 + strh r2, [r0, #0x2] + ldrsh r0, [r0, r1] + cmp r0, #0x0 + ble _0205B456 + mov r0, #0x0 + pop {r4, pc} +_0205B456: + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_02058410 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205B470 +sub_0205B470: ; 0x0205B470 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x20 + mov r3, #0x1 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B480 +sub_0205B480: ; 0x0205B480 + push {r3, lr} + mov r1, #0x1 + mov r2, #0x20 + add r3, r1, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B490 +sub_0205B490: ; 0x0205B490 + push {r3, lr} + mov r1, #0x2 + mov r2, #0x20 + mov r3, #0x1 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4A0 +sub_0205B4A0: ; 0x0205B4A0 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x20 + mov r3, #0x1 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4B0 +sub_0205B4B0: ; 0x0205B4B0 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x10 + mov r3, #0x2 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4C0 +sub_0205B4C0: ; 0x0205B4C0 + push {r3, lr} + mov r1, #0x1 + mov r2, #0x10 + mov r3, #0x2 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4D0 +sub_0205B4D0: ; 0x0205B4D0 + push {r3, lr} + mov r1, #0x2 + mov r2, #0x10 + add r3, r1, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4E0 +sub_0205B4E0: ; 0x0205B4E0 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x10 + mov r3, #0x2 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B4F0 +sub_0205B4F0: ; 0x0205B4F0 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x8 + mov r3, #0x3 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B500 +sub_0205B500: ; 0x0205B500 + push {r3, lr} + mov r1, #0x1 + mov r2, #0x8 + mov r3, #0x3 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B510 +sub_0205B510: ; 0x0205B510 + push {r3, lr} + mov r1, #0x2 + mov r2, #0x8 + mov r3, #0x3 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B520 +sub_0205B520: ; 0x0205B520 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x8 + add r3, r1, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B530 +sub_0205B530: ; 0x0205B530 + push {r3, lr} + mov r2, #0x4 + mov r1, #0x0 + add r3, r2, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B540 +sub_0205B540: ; 0x0205B540 + push {r3, lr} + mov r2, #0x4 + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B550 +sub_0205B550: ; 0x0205B550 + push {r3, lr} + mov r2, #0x4 + mov r1, #0x2 + add r3, r2, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B560 +sub_0205B560: ; 0x0205B560 + push {r3, lr} + mov r2, #0x4 + mov r1, #0x3 + add r3, r2, #0x0 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B570 +sub_0205B570: ; 0x0205B570 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x2 + mov r3, #0x5 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B580 +sub_0205B580: ; 0x0205B580 + push {r3, lr} + mov r1, #0x1 + mov r2, #0x2 + mov r3, #0x5 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B590 +sub_0205B590: ; 0x0205B590 + push {r3, lr} + mov r1, #0x2 + add r2, r1, #0x0 + mov r3, #0x5 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B5A0 +sub_0205B5A0: ; 0x0205B5A0 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x2 + mov r3, #0x5 + bl sub_0205B408 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B5B0 +sub_0205B5B0: ; 0x0205B5B0 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x10 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_020585DC + strb r4, [r0, #0xc] + str r6, [r0, #0x0] + strb r7, [r0, #0xd] + add r2, sp, #0x8 + ldrh r1, [r2, #0x10] + strb r1, [r0, #0xe] + mov r1, #0x14 + ldrsh r1, [r2, r1] + cmp r6, #0x0 + strb r1, [r0, #0xf] + ldrh r1, [r2, #0x18] + strh r1, [r0, #0x8] + bne _0205B5E2 + add r0, r5, #0x0 + bl sub_02059C60 + b _0205B5EA +_0205B5E2: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059C0C +_0205B5EA: + ldr r1, _0205B614 ; =0x00010004 + add r0, r5, #0x0 + bl sub_02058410 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020584D8 + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + add r0, r5, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058700 + ldr r0, _0205B618 ; =0x0000060B + bl sub_020054C8 + pop {r3-r7, pc} + nop +_0205B614: .word 0x00010004 +_0205B618: .word 0x0000060B + + thumb_func_start sub_0205B61C +sub_0205B61C: ; 0x0205B61C + push {r3-r5, lr} + sub sp, #0x18 + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r2, [r4, #0x0] + cmp r2, #0x0 + beq _0205B66C + mov r1, #0xc + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02059CC8 + add r0, r5, #0x0 + bl sub_02059D1C + mov r0, #0x1 + ldr r1, [r4, #0x4] + lsl r0, r0, #0x10 + cmp r1, r0 + blt _0205B65E + mov r0, #0x0 + str r0, [r4, #0x4] + mov r1, #0xc + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02059C0C + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02058410 +_0205B65E: + ldr r1, [r4, #0x0] + cmp r1, #0x0 + bge _0205B666 + neg r1, r1 +_0205B666: + ldr r0, [r4, #0x4] + add r0, r0, r1 + str r0, [r4, #0x4] +_0205B66C: + ldrh r1, [r4, #0xa] + ldrh r0, [r4, #0x8] + add r0, r1, r0 + strh r0, [r4, #0xa] + mov r0, #0xf + ldrh r1, [r4, #0xa] + lsl r0, r0, #0x8 + cmp r1, r0 + bls _0205B680 + strh r0, [r4, #0xa] +_0205B680: + mov r1, #0xf + ldrsb r1, [r4, r1] + ldrh r0, [r4, #0xa] + lsl r2, r1, #0x2 + ldr r1, _0205B6F8 ; =0x02105F9C + lsr r0, r0, #0x8 + lsl r0, r0, #0x10 + ldr r2, [r1, r2] + mov r1, #0x0 + str r1, [sp, #0xc] + lsr r0, r0, #0xe + ldr r0, [r2, r0] + str r0, [sp, #0x10] + str r1, [sp, #0x14] + add r0, r5, #0x0 + add r1, sp, #0xc + bl sub_02058B94 + mov r0, #0xd + ldrsb r1, [r4, r0] + sub r1, r1, #0x1 + strb r1, [r4, #0xd] + ldrsb r0, [r4, r0] + cmp r0, #0x0 + ble _0205B6B8 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r5, pc} +_0205B6B8: + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + add r0, r5, #0x0 + bl sub_02058B94 + ldr r1, _0205B6FC ; =0x00020028 + add r0, r5, #0x0 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_02059C60 + add r0, r5, #0x0 + bl sub_020586A0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058700 + ldr r0, _0205B700 ; =0x00000647 + bl sub_020054C8 + mov r0, #0x1 + add sp, #0x18 + pop {r3-r5, pc} + nop +_0205B6F8: .word 0x02105F9C +_0205B6FC: .word 0x00020028 +_0205B700: .word 0x00000647 + + thumb_func_start sub_0205B704 +sub_0205B704: ; 0x0205B704 + push {lr} + sub sp, #0xc + mov r2, #0x2 + str r2, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + add r2, #0xfe + str r2, [sp, #0x8] + add r2, r1, #0x0 + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B724 +sub_0205B724: ; 0x0205B724 + push {lr} + sub sp, #0xc + mov r1, #0x2 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + add r1, #0xfe + str r1, [sp, #0x8] + mov r1, #0x1 + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B744 +sub_0205B744: ; 0x0205B744 + push {lr} + sub sp, #0xc + mov r1, #0x2 + add r3, r1, #0x0 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + add r3, #0xfe + str r3, [sp, #0x8] + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B764 +sub_0205B764: ; 0x0205B764 + push {lr} + sub sp, #0xc + mov r1, #0x2 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + add r1, #0xfe + str r1, [sp, #0x8] + mov r1, #0x3 + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B784 +sub_0205B784: ; 0x0205B784 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x0 + mov r2, #0x2 + str r1, [sp, #0x4] + lsl r2, r2, #0x8 + str r2, [sp, #0x8] + add r2, r1, #0x0 + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B7A4 +sub_0205B7A4: ; 0x0205B7A4 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r2, #0x0 + mov r1, #0x2 + str r2, [sp, #0x4] + lsl r1, r1, #0x8 + str r1, [sp, #0x8] + mov r1, #0x1 + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B7C4 +sub_0205B7C4: ; 0x0205B7C4 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r2, #0x0 + mov r1, #0x2 + str r2, [sp, #0x4] + lsl r1, r1, #0x8 + str r1, [sp, #0x8] + mov r1, #0x2 + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B7E4 +sub_0205B7E4: ; 0x0205B7E4 + push {lr} + sub sp, #0xc + mov r1, #0x3 + mov r3, #0x2 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + lsl r3, r3, #0x8 + str r3, [sp, #0x8] + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B804 +sub_0205B804: ; 0x0205B804 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x0 + mov r2, #0x2 + str r1, [sp, #0x4] + lsl r2, r2, #0x8 + str r2, [sp, #0x8] + lsl r2, r2, #0x4 + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B824 +sub_0205B824: ; 0x0205B824 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0x2 + lsl r1, r1, #0x8 + str r1, [sp, #0x8] + mov r1, #0x1 + lsl r2, r1, #0xd + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B848 +sub_0205B848: ; 0x0205B848 + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0x2 + lsl r1, r1, #0x8 + str r1, [sp, #0x8] + mov r1, #0x2 + lsl r2, r1, #0xc + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B86C +sub_0205B86C: ; 0x0205B86C + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + mov r2, #0x2 + lsl r2, r2, #0x8 + str r2, [sp, #0x8] + lsl r2, r2, #0x4 + mov r3, #0x8 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B88C +sub_0205B88C: ; 0x0205B88C + push {lr} + sub sp, #0xc + mov r2, #0x3 + str r2, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + add r2, #0xfd + str r2, [sp, #0x8] + mov r2, #0x2 + lsl r2, r2, #0xc + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B8AC +sub_0205B8AC: ; 0x0205B8AC + push {lr} + sub sp, #0xc + mov r2, #0x3 + str r2, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + add r2, #0xfd + mov r1, #0x1 + str r2, [sp, #0x8] + lsl r2, r1, #0xd + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B8CC +sub_0205B8CC: ; 0x0205B8CC + push {lr} + sub sp, #0xc + mov r2, #0x3 + str r2, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + add r2, #0xfd + mov r1, #0x2 + str r2, [sp, #0x8] + lsl r2, r1, #0xc + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B8EC +sub_0205B8EC: ; 0x0205B8EC + push {lr} + sub sp, #0xc + mov r1, #0x3 + str r1, [sp, #0x0] + mov r2, #0x0 + str r2, [sp, #0x4] + add r2, r1, #0x0 + add r2, #0xfd + str r2, [sp, #0x8] + mov r2, #0x2 + lsl r2, r2, #0xc + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B910 +sub_0205B910: ; 0x0205B910 + push {lr} + sub sp, #0xc + mov r1, #0xa + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0xf0 + str r1, [sp, #0x8] + mov r1, #0x2 + lsl r2, r1, #0xb + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B930 +sub_0205B930: ; 0x0205B930 + push {lr} + sub sp, #0xc + mov r1, #0xa + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0xf0 + mov r2, #0x1 + str r1, [sp, #0x8] + mov r1, #0x3 + lsl r2, r2, #0xc + mov r3, #0x10 + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B954 +sub_0205B954: ; 0x0205B954 + push {lr} + sub sp, #0xc + mov r1, #0xb + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0x5 + lsl r1, r1, #0x6 + str r1, [sp, #0x8] + mov r1, #0x2 + lsl r2, r1, #0xd + mov r3, #0xc + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_0205B978 +sub_0205B978: ; 0x0205B978 + push {lr} + sub sp, #0xc + mov r1, #0xb + str r1, [sp, #0x0] + mov r1, #0x0 + str r1, [sp, #0x4] + mov r1, #0x5 + lsl r1, r1, #0x6 + mov r2, #0x1 + str r1, [sp, #0x8] + mov r1, #0x3 + lsl r2, r2, #0xe + mov r3, #0xc + bl sub_0205B5B0 + mov r0, #0x1 + add sp, #0xc + pop {pc} + + thumb_func_start sub_0205B99C +sub_0205B99C: ; 0x0205B99C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x4 + bl sub_020585DC + str r4, [r0, #0x0] + add r0, r5, #0x0 + bl sub_02058700 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205B9B4 +sub_0205B9B4: ; 0x0205B9B4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058600 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0205B9CA + sub r1, r1, #0x1 + str r1, [r0, #0x0] + mov r0, #0x0 + pop {r4, pc} +_0205B9CA: + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205B9D4 +sub_0205B9D4: ; 0x0205B9D4 + push {r3, lr} + mov r1, #0x1 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B9E0 +sub_0205B9E0: ; 0x0205B9E0 + push {r3, lr} + mov r1, #0x2 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B9EC +sub_0205B9EC: ; 0x0205B9EC + push {r3, lr} + mov r1, #0x4 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205B9F8 +sub_0205B9F8: ; 0x0205B9F8 + push {r3, lr} + mov r1, #0x8 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BA04 +sub_0205BA04: ; 0x0205BA04 + push {r3, lr} + mov r1, #0xf + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BA10 +sub_0205BA10: ; 0x0205BA10 + push {r3, lr} + mov r1, #0x10 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BA1C +sub_0205BA1C: ; 0x0205BA1C + push {r3, lr} + mov r1, #0x20 + bl sub_0205B99C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BA28 +sub_0205BA28: ; 0x0205BA28 + push {r4, lr} + mov r1, #0x8 + add r4, r0, #0x0 + bl sub_020585DC + mov r1, #0x1 + lsl r1, r1, #0x10 + str r1, [r0, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BA4C +sub_0205BA4C: ; 0x0205BA4C + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, [r4, #0x4] + add r0, r1, r0 + str r0, [r4, #0x0] + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + ldr r0, [r4, #0x0] + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B94 + ldr r1, [r4, #0x0] + asr r0, r1, #0xe + lsr r0, r0, #0x11 + add r0, r1, r0 + asr r0, r0, #0xf + cmp r0, #0x28 + bge _0205BA88 + add sp, #0xc + mov r0, #0x0 + pop {r4-r5, pc} +_0205BA88: + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_0205BA94 +sub_0205BA94: ; 0x0205BA94 + push {r4, lr} + mov r1, #0x8 + add r4, r0, #0x0 + bl sub_020585DC + mov r1, #0x5 + lsl r1, r1, #0x12 + str r1, [r0, #0x0] + ldr r1, _0205BABC ; =0xFFFF0000 + str r1, [r0, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + nop +_0205BABC: .word 0xFFFF0000 + + thumb_func_start sub_0205BAC0 +sub_0205BAC0: ; 0x0205BAC0 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, [r4, #0x4] + add r0, r1, r0 + str r0, [r4, #0x0] + bpl _0205BADA + mov r0, #0x0 + str r0, [r4, #0x0] +_0205BADA: + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + ldr r0, [r4, #0x0] + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B94 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + ble _0205BAFA + add sp, #0xc + mov r0, #0x0 + pop {r4-r5, pc} +_0205BAFA: + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0205BB08 +sub_0205BB08: ; 0x0205BB08 + push {r4, lr} + mov r1, #0x2 + add r4, r0, #0x0 + lsl r1, r1, #0x8 + bl sub_02058410 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BB20 +sub_0205BB20: ; 0x0205BB20 + push {r4, lr} + mov r1, #0x2 + add r4, r0, #0x0 + lsl r1, r1, #0x8 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BB38 +sub_0205BB38: ; 0x0205BB38 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x80 + bl sub_02058410 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205BB4C +sub_0205BB4C: ; 0x0205BB4C + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x80 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205BB60 +sub_0205BB60: ; 0x0205BB60 + push {r4, lr} + mov r1, #0x1 + add r4, r0, #0x0 + lsl r1, r1, #0x8 + bl sub_02058410 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BB78 +sub_0205BB78: ; 0x0205BB78 + push {r4, lr} + mov r1, #0x1 + add r4, r0, #0x0 + lsl r1, r1, #0x8 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BB90 +sub_0205BB90: ; 0x0205BB90 + push {r4-r6, lr} + add r6, r1, #0x0 + mov r1, #0x8 + add r5, r0, #0x0 + bl sub_020585DC + add r4, r0, #0x0 + str r6, [r4, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x1 + bl sub_021E7AC0 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02058700 + pop {r4-r6, pc} + + thumb_func_start sub_0205BBB4 +sub_0205BBB4: ; 0x0205BBB4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_021E799C + cmp r0, #0x1 + bne _0205BBD8 + ldr r0, [r4, #0x4] + bl sub_02064520 + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r3-r5, pc} +_0205BBD8: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205BBDC +sub_0205BBDC: ; 0x0205BBDC + push {r3, lr} + mov r1, #0x0 + bl sub_0205BB90 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205BBE8 +sub_0205BBE8: ; 0x0205BBE8 + push {r3, lr} + mov r1, #0x1 + bl sub_0205BB90 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205BBF4 +sub_0205BBF4: ; 0x0205BBF4 + push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x8 + add r5, r0, #0x0 + add r7, r2, #0x0 + add r6, r3, #0x0 + bl sub_020585DC + strh r4, [r0, #0x0] + strh r6, [r0, #0x2] + strh r7, [r0, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02059C0C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020584D8 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_02058700 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205BC34 +sub_0205BC34: ; 0x0205BC34 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + mov r2, #0x6 + ldrsh r2, [r4, r2] + mov r1, #0x0 + ldrsh r1, [r4, r1] + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + add r0, r5, #0x0 + bl sub_02059CC8 + add r0, r5, #0x0 + bl sub_02059D1C + mov r0, #0x6 + ldrsh r1, [r4, r0] + add r1, r1, #0x1 + strh r1, [r4, #0x6] + ldrsh r1, [r4, r0] + mov r0, #0x4 + ldrsh r0, [r4, r0] + cmp r1, r0 + bge _0205BC6E + mov r0, #0x0 + pop {r4-r6, pc} +_0205BC6E: + add r0, r5, #0x0 + mov r1, #0x28 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_02059C60 + add r0, r5, #0x0 + bl sub_020586A0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0205BC94 +sub_0205BC94: ; 0x0205BC94 + push {r3, lr} + mov r2, #0x6 + mov r1, #0x0 + add r3, r2, #0x0 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BCA4 +sub_0205BCA4: ; 0x0205BCA4 + push {r3, lr} + mov r2, #0x6 + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BCB4 +sub_0205BCB4: ; 0x0205BCB4 + push {r3, lr} + mov r2, #0x6 + mov r1, #0x2 + add r3, r2, #0x0 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BCC4 +sub_0205BCC4: ; 0x0205BCC4 + push {r3, lr} + mov r2, #0x6 + mov r1, #0x3 + add r3, r2, #0x0 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BCD4 +sub_0205BCD4: ; 0x0205BCD4 + push {r3, lr} + ldr r1, _0205BCE8 ; =0x020F6C6C + bl sub_0205BC34 + cmp r0, #0x1 + bne _0205BCE4 + mov r0, #0x1 + pop {r3, pc} +_0205BCE4: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205BCE8: .word 0x020F6C6C + + thumb_func_start sub_0205BCEC +sub_0205BCEC: ; 0x0205BCEC + push {r3, lr} + mov r1, #0x0 + mov r2, #0x3 + mov r3, #0x7 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BCFC +sub_0205BCFC: ; 0x0205BCFC + push {r3, lr} + mov r1, #0x1 + mov r2, #0x3 + mov r3, #0x7 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD0C +sub_0205BD0C: ; 0x0205BD0C + push {r3, lr} + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x7 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD1C +sub_0205BD1C: ; 0x0205BD1C + push {r3, lr} + mov r1, #0x3 + add r2, r1, #0x0 + mov r3, #0x7 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD2C +sub_0205BD2C: ; 0x0205BD2C + push {r3, lr} + ldr r1, _0205BD40 ; =0x020F6C48 + bl sub_0205BC34 + cmp r0, #0x1 + bne _0205BD3C + mov r0, #0x1 + pop {r3, pc} +_0205BD3C: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205BD40: .word 0x020F6C48 + + thumb_func_start sub_0205BD44 +sub_0205BD44: ; 0x0205BD44 + push {r3, lr} + mov r1, #0x0 + mov r2, #0x7 + mov r3, #0x8 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD54 +sub_0205BD54: ; 0x0205BD54 + push {r3, lr} + mov r1, #0x1 + mov r2, #0x7 + mov r3, #0x8 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD64 +sub_0205BD64: ; 0x0205BD64 + push {r3, lr} + mov r1, #0x2 + mov r2, #0x7 + mov r3, #0x8 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD74 +sub_0205BD74: ; 0x0205BD74 + push {r3, lr} + mov r1, #0x3 + mov r2, #0x7 + mov r3, #0x8 + bl sub_0205BBF4 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start sub_0205BD84 +sub_0205BD84: ; 0x0205BD84 + push {r3, lr} + ldr r1, _0205BD98 ; =0x020F6C84 + bl sub_0205BC34 + cmp r0, #0x1 + bne _0205BD94 + mov r0, #0x1 + pop {r3, pc} +_0205BD94: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205BD98: .word 0x020F6C84 + + thumb_func_start sub_0205BD9C +sub_0205BD9C: ; 0x0205BD9C + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_020585DC + add r0, r4, #0x0 + mov r1, #0x9 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205BDB8 +sub_0205BDB8: ; 0x0205BDB8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058600 + ldr r1, [r0, #0x0] + add r1, r1, #0x1 + str r1, [r0, #0x0] + cmp r1, #0x8 + blt _0205BDE0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020584AC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 +_0205BDE0: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205BDE4 +sub_0205BDE4: ; 0x0205BDE4 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_020585DC + add r0, r4, #0x0 + bl sub_0205EB20 + cmp r0, #0x0 + beq _0205BDFE + bl sub_02064520 +_0205BDFE: + add r1, sp, #0x0 + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + add r0, r4, #0x0 + bl sub_02058B94 + add r0, r4, #0x0 + bl sub_0224D2E0 + ldr r1, _0205BE34 ; =0x00010004 + add r0, r4, #0x0 + bl sub_02058410 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x14 + bl sub_02058418 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x0 + add sp, #0xc + pop {r3-r4, pc} + nop +_0205BE34: .word 0x00010004 + + thumb_func_start sub_0205BE38 +sub_0205BE38: ; 0x0205BE38 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_02058600 + add r4, r0, #0x0 + ldr r0, _0205BE98 ; =0x02105F9C + add r1, sp, #0x0 + ldr r2, [r0, #0x0] + mov r0, #0x0 + str r0, [r1, #0x0] + str r0, [r1, #0x4] + str r0, [r1, #0x8] + ldr r0, [r4, #0x0] + lsl r0, r0, #0x2 + ldr r0, [r2, r0] + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02058B94 + ldr r0, [r4, #0x0] + add r0, r0, #0x2 + str r0, [r4, #0x0] + cmp r0, #0x10 + bhs _0205BE70 + add sp, #0xc + mov r0, #0x0 + pop {r4-r5, pc} +_0205BE70: + mov r0, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02058B94 + ldr r1, _0205BE9C ; =0x00020028 + add r0, r5, #0x0 + bl sub_02058410 + add r0, r5, #0x0 + bl sub_0205EB2C + add r0, r5, #0x0 + bl sub_02058700 + mov r0, #0x1 + add sp, #0xc + pop {r4-r5, pc} + nop +_0205BE98: .word 0x02105F9C +_0205BE9C: .word 0x00020028 + + thumb_func_start sub_0205BEA0 +sub_0205BEA0: ; 0x0205BEA0 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_020585DC + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205BEBC +sub_0205BEBC: ; 0x0205BEBC + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_020585DC + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205BED8 +sub_0205BED8: ; 0x0205BED8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058600 + ldr r1, [r0, #0x0] + add r1, r1, #0x1 + str r1, [r0, #0x0] + cmp r1, #0x15 + bhs _0205BEEE + mov r0, #0x0 + pop {r4, pc} +_0205BEEE: + add r0, r4, #0x0 + bl sub_02058700 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205BEF8 +sub_0205BEF8: ; 0x0205BEF8 + ldr r3, _0205BEFC ; =sub_0205BF24 + bx r3 + .balign 4 +_0205BEFC: .word sub_0205BF24 + 1 + + thumb_func_start sub_0205BF00 +sub_0205BF00: ; 0x0205BF00 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0205BF40 + cmp r0, #0x0 + bne _0205BF10 + mov r0, #0x0 + pop {r4, pc} +_0205BF10: + add r0, r4, #0x0 + bl sub_0205BF5C + cmp r0, #0x0 + beq _0205BF1E + mov r0, #0x1 + pop {r4, pc} +_0205BF1E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205BF24 +sub_0205BF24: ; 0x0205BF24 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058488 + add r1, r0, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0205BF3C ; =0x020F7118 + add r0, r4, #0x0 + ldr r1, [r1, r2] + blx r1 + pop {r4, pc} + nop +_0205BF3C: .word 0x020F7118 + + thumb_func_start sub_0205BF40 +sub_0205BF40: ; 0x0205BF40 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058488 + add r1, r0, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0205BF58 ; =0x020F7148 + add r0, r4, #0x0 + ldr r1, [r1, r2] + blx r1 + pop {r4, pc} + nop +_0205BF58: .word 0x020F7148 + + thumb_func_start sub_0205BF5C +sub_0205BF5C: ; 0x0205BF5C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058488 + add r1, r0, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0205BF74 ; =0x020F7178 + add r0, r4, #0x0 + ldr r1, [r1, r2] + blx r1 + pop {r4, pc} + nop +_0205BF74: .word 0x020F7178 + + thumb_func_start sub_0205BF78 +sub_0205BF78: ; 0x0205BF78 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02058B2C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B14 + cmp r5, r0 + beq _0205BF90 + mov r0, #0x1 + pop {r3-r5, pc} +_0205BF90: + add r0, r4, #0x0 + bl sub_02058B4C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B24 + cmp r5, r0 + beq _0205BFA6 + mov r0, #0x1 + pop {r3-r5, pc} +_0205BFA6: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205BFAC +sub_0205BFAC: ; 0x0205BFAC + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02058B2C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B14 + cmp r5, r0 + beq _0205BFC4 + mov r0, #0x0 + pop {r3-r5, pc} +_0205BFC4: + add r0, r4, #0x0 + bl sub_02058B4C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B24 + cmp r5, r0 + bne _0205BFDA + mov r0, #0x1 + pop {r3-r5, pc} +_0205BFDA: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205BFE0 +sub_0205BFE0: ; 0x0205BFE0 + bx lr + .balign 4 + + thumb_func_start sub_0205BFE4 +sub_0205BFE4: ; 0x0205BFE4 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205BFE8 +sub_0205BFE8: ; 0x0205BFE8 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205BFEC +sub_0205BFEC: ; 0x0205BFEC + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x9 + bl sub_020585B4 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058510 + strb r0, [r4, #0x3] + pop {r3-r5, pc} + + thumb_func_start sub_0205C004 +sub_0205C004: ; 0x0205C004 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020585D8 + add r4, r0, #0x0 + ldrb r0, [r4, #0x0] + cmp r0, #0x3 + bhi _0205C07C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r3, #0 + lsl r0, r0, #0x1 + lsl r6, r2, #0x1 + add r0, r5, #0x0 + bl sub_0205BF78 + cmp r0, #0x1 + bne _0205C07C + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + b _0205C07C +_0205C03A: + .byte 0x28, 0x1C, 0xFF, 0xF7, 0xB6, 0xFF + .byte 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70, 0x21, 0x56, 0x03, 0x20 + .byte 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0, 0x20, 0x78, 0x40, 0x1C + .byte 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0xF6, 0xFB, 0x01, 0x28, 0x07, 0xD0, 0x20, 0x78, 0x40, 0x1C + .byte 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD +_0205C07C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205C080 +sub_0205C080: ; 0x0205C080 + push {r4-r6, lr} + sub sp, #0x20 + add r5, r0, #0x0 + bl sub_020585D8 + add r4, r0, #0x0 + ldrb r0, [r4, #0x1] + cmp r0, #0x3 + bhi _0205C15E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r5, #0 + lsl r2, r3, #0x1 + lsl r0, r6, #0x1 + ldr r3, _0205C164 ; =0x020F70D8 + add r2, sp, #0x10 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + add r0, r5, #0x0 + bl sub_020584C4 + strb r0, [r4, #0x4] + lsl r1, r0, #0x2 + add r0, sp, #0x10 + ldr r0, [r0, r1] + strb r0, [r4, #0x5] + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + ldr r6, _0205C168 ; =0x020F70E8 + add r3, sp, #0x0 + add r2, r3, #0x0 + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + mov r0, #0x5 + ldrsb r0, [r4, r0] + lsl r3, r0, #0x3 + mov r0, #0x6 + ldrsb r0, [r4, r0] + lsl r1, r0, #0x2 + add r0, r2, r3 + ldr r0, [r1, r0] + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + add r0, r5, #0x0 + bl sub_0205B080 + cmp r0, #0x0 + bne _0205C10A + add sp, #0x20 + mov r0, #0x1 + pop {r4-r6, pc} +_0205C10A: + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x8 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x8] + ldrsb r0, [r4, r0] + cmp r0, #0x8 + bge _0205C124 + add sp, #0x20 + mov r0, #0x1 + pop {r4-r6, pc} +_0205C124: + mov r0, #0x0 + strb r0, [r4, #0x8] + mov r0, #0x7 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x7] + ldrsb r0, [r4, r0] + cmp r0, #0x4 + bge _0205C148 + mov r0, #0x6 + ldrsb r0, [r4, r0] + add sp, #0x20 + add r1, r0, #0x1 + mov r0, #0x1 + and r1, r0 + strb r1, [r4, #0x6] + strb r0, [r4, #0x1] + pop {r4-r6, pc} +_0205C148: + mov r1, #0x4 + ldrsb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_020584AC + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x0 + strb r0, [r4, #0x7] + strb r0, [r4, #0x0] +_0205C15E: + mov r0, #0x0 + add sp, #0x20 + pop {r4-r6, pc} + .balign 4 +_0205C164: .word 0x020F70D8 +_0205C168: .word 0x020F70E8 + + thumb_func_start sub_0205C16C +sub_0205C16C: ; 0x0205C16C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x9 + bl sub_020585B4 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02058510 + strb r0, [r4, #0x3] + add r0, r5, #0x0 + bl sub_02058488 + cmp r0, #0x5 + beq _0205C190 + mov r0, #0x1 + b _0205C192 +_0205C190: + mov r0, #0x0 +_0205C192: + strb r0, [r4, #0x5] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205C198 +sub_0205C198: ; 0x0205C198 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020585D8 + add r4, r0, #0x0 + ldrb r0, [r4, #0x0] + cmp r0, #0x3 + bhi _0205C210 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r0, r3, #0 + lsl r0, r0, #0x1 + lsl r6, r2, #0x1 + add r0, r5, #0x0 + bl sub_0205BF78 + cmp r0, #0x1 + bne _0205C210 + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + b _0205C210 +_0205C1CE: + .byte 0x28, 0x1C + .byte 0xFF, 0xF7, 0xEC, 0xFE, 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70 + .byte 0x21, 0x56, 0x03, 0x20, 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0 + .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0x2C, 0xFB, 0x01, 0x28, 0x07, 0xD0 + .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD +_0205C210: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205C214 +sub_0205C214: ; 0x0205C214 + push {r3-r7, lr} + sub sp, #0x20 + ldr r3, _0205C330 ; =0x020F70F8 + add r2, sp, #0x0 + add r7, r0, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + add r0, r7, #0x0 + bl sub_020585D8 + add r4, r0, #0x0 + ldrb r0, [r4, #0x1] + cmp r0, #0x3 + bhi _0205C32A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r1, #0x1 + lsl r2, r6, #0x1 + lsl r0, r1, #0x2 + add r0, r7, #0x0 + bl sub_020584C4 + mov r5, #0x0 + add r6, r0, #0x0 + add r1, r5, #0x0 + add r0, sp, #0x0 + mov r2, #0x5 + b _0205C266 +_0205C262: + add r1, r1, #0x4 + add r5, r5, #0x1 +_0205C266: + cmp r5, #0x4 + bge _0205C276 + ldrsb r3, [r4, r2] + lsl r3, r3, #0x4 + add r3, r0, r3 + ldr r3, [r1, r3] + cmp r6, r3 + bne _0205C262 +_0205C276: + cmp r5, #0x4 + blt _0205C27E + bl sub_02020C2C +_0205C27E: + add r0, r5, #0x1 + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + strb r6, [r4, #0x4] + add r0, r2, r1 + strb r0, [r4, #0x6] + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x5 + ldrsb r0, [r4, r0] + add r2, sp, #0x0 + lsl r3, r0, #0x4 + mov r0, #0x6 + ldrsb r0, [r4, r0] + lsl r1, r0, #0x2 + add r0, r2, r3 + ldr r0, [r1, r0] + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r7, #0x0 + bl sub_0205AE0C + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + add r0, r7, #0x0 + bl sub_0205B080 + cmp r0, #0x0 + bne _0205C2CC + add sp, #0x20 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C2CC: + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x8 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x8] + ldrsb r0, [r4, r0] + cmp r0, #0x8 + bge _0205C2E6 + add sp, #0x20 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C2E6: + mov r0, #0x0 + strb r0, [r4, #0x8] + mov r0, #0x7 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x7] + ldrsb r0, [r4, r0] + cmp r0, #0x4 + bge _0205C314 + mov r0, #0x6 + ldrsb r0, [r4, r0] + add sp, #0x20 + add r0, r0, #0x1 + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + strb r0, [r4, #0x6] + mov r0, #0x1 + strb r0, [r4, #0x1] + pop {r3-r7, pc} +_0205C314: + mov r1, #0x4 + ldrsb r1, [r4, r1] + add r0, r7, #0x0 + bl sub_020584AC + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x0 + strb r0, [r4, #0x7] + strb r0, [r4, #0x0] +_0205C32A: + mov r0, #0x0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_0205C330: .word 0x020F70F8 + + thumb_func_start sub_0205C334 +sub_0205C334: ; 0x0205C334 + cmp r0, #0x64 + bne _0205C33C + mov r0, #0x1 + bx lr +_0205C33C: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205C340 +sub_0205C340: ; 0x0205C340 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020585B0 + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + bne _0205C352 + ldr r0, _0205C370 ; =0x0000FFFF + pop {r4, pc} +_0205C352: + add r0, r4, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _0205C36C + add r0, r4, #0x0 + bl sub_02058628 + ldr r1, [r0, #0x4] + cmp r1, #0x0 + beq _0205C36C + ldr r0, [r0, #0x0] + pop {r4, pc} +_0205C36C: + ldr r0, _0205C370 ; =0x0000FFFF + pop {r4, pc} + .balign 4 +_0205C370: .word 0x0000FFFF + + thumb_func_start sub_0205C374 +sub_0205C374: ; 0x0205C374 + push {r3, lr} + bl sub_020585B0 + mov r1, #0x1 + strh r1, [r0, #0x2] + pop {r3, pc} + + thumb_func_start sub_0205C380 +sub_0205C380: ; 0x0205C380 + push {r3, lr} + mov r1, #0x4 + bl sub_0205858C + mov r1, #0x0 + strh r1, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205C390 +sub_0205C390: ; 0x0205C390 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058738 + add r1, r5, #0x0 + bl sub_0204B5FC + strh r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205C3AC +sub_0205C3AC: ; 0x0205C3AC + bx lr + .balign 4 + + thumb_func_start sub_0205C3B0 +sub_0205C3B0: ; 0x0205C3B0 + push {r4, lr} + mov r1, #0x18 + add r4, r0, #0x0 + bl sub_02058604 + ldr r1, _0205C3CC ; =0x0000FFFF + str r1, [r0, #0x0] + mov r1, #0x0 + str r1, [r0, #0x4] + add r0, r4, #0x0 + bl sub_0224A310 + pop {r4, pc} + nop +_0205C3CC: .word 0x0000FFFF + + thumb_func_start sub_0205C3D0 +sub_0205C3D0: ; 0x0205C3D0 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058628 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058738 + add r1, r5, #0x0 + bl sub_0204B5FC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_021F2E28 + cmp r0, #0x1 + beq _0205C488 + ldr r0, [r4, #0x4] + cmp r6, r0 + beq _0205C454 + add r1, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, #0x8 + bl sub_021F2094 + add r0, r5, #0x0 + bl sub_02058738 + add r1, r5, #0x0 + bl sub_0204B61C + add r1, r6, #0x0 + bl sub_0205C53C + ldr r1, _0205C48C ; =0x0000FFFF + str r0, [r4, #0x0] + cmp r0, r1 + ldr r0, [r4, #0x4] + beq _0205C440 + cmp r0, #0x0 + beq _0205C432 + add r0, r5, #0x0 + bl sub_0224A528 +_0205C432: + add r1, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, #0x8 + bl sub_021F1F78 + b _0205C450 +_0205C440: + cmp r0, #0x0 + beq _0205C450 + ldrh r0, [r7, #0x2] + cmp r0, #0x0 + bne _0205C450 + add r0, r5, #0x0 + bl sub_0224A528 +_0205C450: + mov r0, #0x0 + strh r0, [r7, #0x2] +_0205C454: + add r0, r5, #0x0 + str r6, [r4, #0x4] + bl sub_021F2E28 + cmp r0, #0x1 + beq _0205C488 + ldr r1, [r4, #0x8] + cmp r1, #0x0 + beq _0205C488 + add r0, r5, #0x0 + bl sub_021F2F48 + add r0, r5, #0x0 + bl sub_021F1DFC + cmp r0, #0x0 + bne _0205C480 + mov r1, #0x1 + ldr r0, [r4, #0x8] + lsl r1, r1, #0xc + bl sub_0201F854 +_0205C480: + ldr r1, [r4, #0x8] + add r0, r5, #0x0 + bl sub_021F2F6C +_0205C488: + pop {r3-r7, pc} + nop +_0205C48C: .word 0x0000FFFF + + thumb_func_start sub_0205C490 +sub_0205C490: ; 0x0205C490 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02058628 + add r2, r0, #0x0 + add r1, r2, #0x0 + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + add r1, #0x8 + bl sub_021F2094 + pop {r4, pc} + + thumb_func_start sub_0205C4A8 +sub_0205C4A8: ; 0x0205C4A8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058628 + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _0205C4C0 + add r1, r4, #0x0 + add r1, #0xc + bl sub_021F20D8 +_0205C4C0: + add r1, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, #0x8 + bl sub_021F2094 + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058410 + pop {r3-r5, pc} + + thumb_func_start sub_0205C4D8 +sub_0205C4D8: ; 0x0205C4D8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02058628 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_021F2E28 + cmp r0, #0x1 + beq _0205C536 + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _0205C516 + ldr r2, [r4, #0x0] + ldr r0, _0205C538 ; =0x0000FFFF + cmp r2, r0 + beq _0205C506 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x8 + bl sub_021F1F78 + b _0205C510 +_0205C506: + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058418 +_0205C510: + add r0, r5, #0x0 + bl sub_0224A310 +_0205C516: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _0205C536 + add r1, r4, #0x0 + add r1, #0xc + bl sub_021F20F8 + ldr r1, [r4, #0x8] + add r0, r5, #0x0 + bl sub_021F2F48 + mov r1, #0x2 + add r0, r5, #0x0 + lsl r1, r1, #0x14 + bl sub_02058418 +_0205C536: + pop {r3-r5, pc} + .balign 4 +_0205C538: .word 0x0000FFFF + + thumb_func_start sub_0205C53C +sub_0205C53C: ; 0x0205C53C + push {r3, lr} + cmp r1, #0x0 + beq _0205C548 + cmp r1, #0x1 + beq _0205C54C + b _0205C550 +_0205C548: + ldr r0, _0205C590 ; =0x0000FFFF + pop {r3, pc} +_0205C54C: + ldr r0, _0205C590 ; =0x0000FFFF + pop {r3, pc} +_0205C550: + sub r2, r0, #0x1 + mov r0, #0xc + ldr r3, _0205C594 ; =0x021F9194 + mul r0, r2 + add r2, r3, r0 + cmp r1, #0x5 + bhi _0205C588 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r3, #0 + lsl r4, r3, #0 + lsl r2, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + mov r0, #0x1 + lsl r0, r0, #0xc + pop {r3, pc} +_0205C57C: + .byte 0x10, 0x68, 0x08, 0xBD + .byte 0x50, 0x68, 0x08, 0xBD, 0x90, 0x68, 0x08, 0xBD +_0205C588: + bl sub_02020C2C + ldr r0, _0205C590 ; =0x0000FFFF + pop {r3, pc} + .balign 4 +_0205C590: .word 0x0000FFFF +_0205C594: .word 0x021F9194 + + thumb_func_start sub_0205C598 +sub_0205C598: ; 0x0205C598 + push {r3-r7, lr} + sub sp, #0x58 + add r5, r0, #0x0 + ldr r7, [r5, #0x38] + add r4, r1, #0x0 + ldr r6, [r5, #0x34] + add r1, sp, #0x40 + str r1, [sp, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x0 + bl sub_0205C6BC + cmp r0, #0x0 + bne _0205C5BC + add sp, #0x58 + mov r0, #0x0 + pop {r3-r7, pc} +_0205C5BC: + ldr r0, [sp, #0x50] + cmp r0, #0x0 + bne _0205C642 + ldr r1, _0205C6B8 ; =0x00000F0A + ldr r2, [sp, #0x54] + add r0, r5, #0x0 + bl sub_02038C78 + cmp r4, #0x0 + beq _0205C5E4 + add r0, sp, #0x28 + str r0, [sp, #0x0] + ldr r3, [sp, #0x54] + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0205C6BC + cmp r0, #0x0 + bne _0205C604 +_0205C5E4: + ldr r0, [sp, #0x48] + str r0, [sp, #0x0] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r1, [sp, #0x54] + ldr r2, [sp, #0x40] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + bl sub_02038CA8 + add sp, #0x58 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C604: + ldr r0, [sp, #0x48] + str r0, [sp, #0x0] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r1, [sp, #0x54] + ldr r2, [sp, #0x40] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + bl sub_02038CA8 + ldr r0, [sp, #0x30] + str r0, [sp, #0x0] + ldr r0, [sp, #0x34] + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + ldr r1, [sp, #0x3c] + ldr r2, [sp, #0x28] + ldr r3, [sp, #0x2c] + add r0, r5, #0x0 + bl sub_02038CA8 + add sp, #0x58 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C642: + cmp r0, #0x1 + bne _0205C6AE + cmp r4, #0x0 + bne _0205C650 + add sp, #0x58 + mov r0, #0x0 + pop {r3-r7, pc} +_0205C650: + ldr r2, [sp, #0x54] + ldr r3, [sp, #0x4c] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0205C9F0 + add r1, r0, #0x0 + ldr r2, [sp, #0x40] + ldr r3, [sp, #0x44] + add r0, sp, #0x10 + bl sub_0205C73C + ldr r1, _0205C6B8 ; =0x00000F0A + ldr r2, [sp, #0x54] + add r0, r5, #0x0 + bl sub_02038C78 + ldr r0, [sp, #0x48] + str r0, [sp, #0x0] + ldr r0, [sp, #0x4c] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r1, [sp, #0x54] + ldr r2, [sp, #0x40] + ldr r3, [sp, #0x44] + add r0, r5, #0x0 + bl sub_02038CA8 + ldr r0, [sp, #0x18] + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r1, [sp, #0x24] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x14] + add r0, r5, #0x0 + bl sub_02038CA8 + add sp, #0x58 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C6AE: + bl sub_02020C2C + mov r0, #0x0 + add sp, #0x58 + pop {r3-r7, pc} + .balign 4 +_0205C6B8: .word 0x00000F0A + + thumb_func_start sub_0205C6BC +sub_0205C6BC: ; 0x0205C6BC + push {r3-r7, lr} + sub sp, #0x10 + add r6, r0, #0x0 + mov r0, #0x0 + add r5, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, sp, #0x4 + add r2, sp, #0xc + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + beq _0205C734 +_0205C6DE: + cmp r4, #0x0 + beq _0205C6E8 + ldr r0, [sp, #0x4] + cmp r4, r0 + beq _0205C724 +_0205C6E8: + ldr r0, [sp, #0x4] + add r1, r7, #0x0 + add r2, sp, #0x8 + bl sub_0205C794 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x0] + cmp r0, r1 + beq _0205C724 + ldr r0, [sp, #0x4] + bl sub_0205C9D8 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl sub_02039640 + cmp r0, #0x0 + bne _0205C724 + ldr r0, [sp, #0x28] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + ldr r3, [sp, #0x8] + bl sub_0205C73C + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C724: + add r0, r5, #0x0 + add r1, sp, #0x4 + add r2, sp, #0xc + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + bne _0205C6DE +_0205C734: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205C73C +sub_0205C73C: ; 0x0205C73C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [r5, #0x0] + str r3, [r5, #0x4] + add r0, r4, #0x0 + bl sub_02058498 + str r0, [r5, #0x8] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020395F4 + str r0, [r5, #0xc] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0203962C + str r0, [r5, #0x10] + str r4, [r5, #0x14] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205C768 +sub_0205C768: ; 0x0205C768 + push {r3, lr} + bl sub_02058488 + cmp r0, #0x8 + bhi _0205C792 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r2, #0 + lsl r2, r2, #0 + lsl r2, r2, #0 + lsl r2, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + mov r0, #0x1 +_0205C792: + pop {r3, pc} + + thumb_func_start sub_0205C794 +sub_0205C794: ; 0x0205C794 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x8] + bl sub_0205C768 + cmp r0, #0x1 + bne _0205C802 + add r0, r4, #0x0 + bl sub_02055320 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205532C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020584C4 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + add r2, r0, #0x0 + str r6, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r3, r7, #0x0 + bl sub_0205C86C + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _0205C7FA + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0205C938 + cmp r0, #0x0 + bne _0205C7FA + ldr r0, [sp, #0x8] + add sp, #0x14 + str r4, [r0, #0x0] + add r0, r6, #0x0 + pop {r4-r7, pc} +_0205C7FA: + mov r0, #0x0 + add sp, #0x14 + mvn r0, r0 + pop {r4-r7, pc} +_0205C802: + cmp r0, #0x2 + bne _0205C864 + add r0, r4, #0x0 + bl sub_02055320 + str r0, [sp, #0x10] + add r0, r4, #0x0 + bl sub_0205532C + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058510 + str r0, [sp, #0xc] + mov r4, #0x0 +_0205C822: + str r7, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x10] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205C86C + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _0205C856 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0205C938 + cmp r0, #0x0 + bne _0205C856 + ldr r0, [sp, #0x8] + add sp, #0x14 + str r4, [r0, #0x0] + add r0, r6, #0x0 + pop {r4-r7, pc} +_0205C856: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _0205C822 + mov r0, #0x0 + add sp, #0x14 + mvn r0, r0 + pop {r4-r7, pc} +_0205C864: + mov r0, #0x0 + mvn r0, r0 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0205C86C +sub_0205C86C: ; 0x0205C86C + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [sp, #0x14] + lsl r5, r4, #0x2 + ldr r4, _0205C884 ; =0x020F71A8 + str r1, [sp, #0x0] + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x10] + ldr r4, [r4, r5] + blx r4 + pop {r3-r5, pc} + .balign 4 +_0205C884: .word 0x020F71A8 + + thumb_func_start sub_0205C888 +sub_0205C888: ; 0x0205C888 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + bl sub_02058B2C + cmp r0, r6 + bne _0205C8AE + add r0, r7, #0x0 + bl sub_02058B4C + cmp r4, r0 + bge _0205C8AE + sub r1, r0, r5 + cmp r4, r1 + blt _0205C8AE + sub r0, r0, r4 + pop {r3-r7, pc} +_0205C8AE: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + + thumb_func_start sub_0205C8B4 +sub_0205C8B4: ; 0x0205C8B4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + bl sub_02058B2C + cmp r0, r6 + bne _0205C8DA + add r0, r7, #0x0 + bl sub_02058B4C + cmp r4, r0 + ble _0205C8DA + add r1, r0, r5 + cmp r4, r1 + bgt _0205C8DA + sub r0, r4, r0 + pop {r3-r7, pc} +_0205C8DA: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + + thumb_func_start sub_0205C8E0 +sub_0205C8E0: ; 0x0205C8E0 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02058B4C + cmp r0, r6 + bne _0205C906 + add r0, r7, #0x0 + bl sub_02058B2C + cmp r4, r0 + bge _0205C906 + sub r1, r0, r5 + cmp r4, r1 + blt _0205C906 + sub r0, r0, r4 + pop {r3-r7, pc} +_0205C906: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + + thumb_func_start sub_0205C90C +sub_0205C90C: ; 0x0205C90C + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02058B4C + cmp r0, r6 + bne _0205C932 + add r0, r7, #0x0 + bl sub_02058B2C + cmp r4, r0 + ble _0205C932 + add r1, r0, r5 + cmp r4, r1 + bgt _0205C932 + sub r0, r4, r0 + pop {r3-r7, pc} +_0205C932: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} + + thumb_func_start sub_0205C938 +sub_0205C938: ; 0x0205C938 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r1, #0x0 + str r0, [sp, #0x4] + str r2, [sp, #0x8] + cmp r2, #0x0 + bne _0205C94C + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C94C: + bl sub_02058B2C + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_02058B4C + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + bl sub_02058B3C + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02059BF4 + add r6, r4, r0 + add r0, r5, #0x0 + bl sub_02059C00 + add r4, r7, r0 + ldr r0, [sp, #0x8] + mov r7, #0x0 + sub r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, #0x0 + ble _0205C9B4 + mov r0, #0x1 + str r0, [sp, #0x14] +_0205C982: + ldr r0, [sp, #0x4] + ldr r2, [sp, #0xc] + add r1, r6, #0x0 + add r3, r4, #0x0 + str r5, [sp, #0x0] + bl sub_020598F0 + ldr r1, [sp, #0x14] + bic r0, r1 + beq _0205C99C + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0205C99C: + add r0, r5, #0x0 + bl sub_02059BF4 + add r6, r6, r0 + add r0, r5, #0x0 + bl sub_02059C00 + add r4, r4, r0 + ldr r0, [sp, #0x10] + add r7, r7, #0x1 + cmp r7, r0 + blt _0205C982 +_0205C9B4: + ldr r0, [sp, #0x4] + ldr r2, [sp, #0xc] + add r1, r6, #0x0 + add r3, r4, #0x0 + str r5, [sp, #0x0] + bl sub_020598F0 + mov r1, #0x1 + bic r0, r1 + cmp r0, #0x4 + bne _0205C9D0 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r7, pc} +_0205C9D0: + mov r0, #0x1 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205C9D8 +sub_0205C9D8: ; 0x0205C9D8 + push {r3, lr} + bl sub_02058498 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020395F4 + pop {r3, pc} + + thumb_func_start sub_0205C9E8 +sub_0205C9E8: ; 0x0205C9E8 + ldr r3, _0205C9EC ; =sub_0205C9D8 + bx r3 + .balign 4 +_0205C9EC: .word sub_0205C9D8 + 1 + + thumb_func_start sub_0205C9F0 +sub_0205C9F0: ; 0x0205C9F0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + mov r0, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + beq _0205CA40 + add r7, sp, #0x0 +_0205CA10: + ldr r0, [sp, #0x0] + cmp r0, r4 + beq _0205CA30 + bl sub_0205C768 + sub r0, r0, #0x1 + cmp r0, #0x1 + bhi _0205CA30 + ldr r0, [sp, #0x0] + bl sub_0205C9D8 + cmp r6, r0 + bne _0205CA30 + ldr r0, [sp, #0x0] + add sp, #0x8 + pop {r3-r7, pc} +_0205CA30: + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x0 + bne _0205CA10 +_0205CA40: + bl sub_02020C2C + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205CA4C +sub_0205CA4C: ; 0x0205CA4C + push {r3-r4, lr} + sub sp, #0xc + ldr r4, [sp, #0x18] + str r4, [sp, #0x0] + ldr r4, [sp, #0x1c] + str r4, [sp, #0x4] + ldr r4, [sp, #0x20] + str r4, [sp, #0x8] + bl sub_0205CA80 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0205CA64 +sub_0205CA64: ; 0x0205CA64 + push {r4, lr} + add r4, r0, #0x0 + bne _0205CA6E + bl sub_02020C2C +_0205CA6E: + add r0, r4, #0x0 + bl sub_0205CAD4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CA78 +sub_0205CA78: ; 0x0205CA78 + ldr r3, _0205CA7C ; =sub_0205CAE0 + bx r3 + .balign 4 +_0205CA7C: .word sub_0205CAE0 + 1 + + thumb_func_start sub_0205CA80 +sub_0205CA80: ; 0x0205CA80 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x4 + mov r1, #0x2c + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_020169D8 + add r4, r0, #0x0 + bne _0205CA9A + bl sub_02020C2C +_0205CA9A: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x2c + blx sub_020DF4A4 + ldr r0, [sp, #0x0] + str r7, [r4, #0x8] + str r0, [r4, #0xc] + ldr r0, [sp, #0x18] + add r1, r4, #0x0 + str r0, [r4, #0x10] + ldr r0, [sp, #0x1c] + mov r2, #0xff + str r0, [r4, #0x14] + ldr r0, [sp, #0x20] + str r0, [r4, #0x18] + str r5, [r4, #0x24] + ldr r0, _0205CAD0 ; =sub_0205CAF8 + str r6, [r4, #0x28] + bl sub_0200CA44 + add r4, r0, #0x0 + bne _0205CACC + bl sub_02020C2C +_0205CACC: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_0205CAD0: .word sub_0205CAF8 + 1 + + thumb_func_start sub_0205CAD4 +sub_0205CAD4: ; 0x0205CAD4 + push {r3, lr} + bl sub_0201B6C8 + ldr r0, [r0, #0x4] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205CAE0 +sub_0205CAE0: ; 0x0205CAE0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201B6C8 + add r1, r0, #0x0 + mov r0, #0x4 + bl sub_02016A8C + add r0, r4, #0x0 + bl sub_0200CAB4 + pop {r4, pc} + + thumb_func_start sub_0205CAF8 +sub_0205CAF8: ; 0x0205CAF8 + push {r3-r5, lr} + ldr r4, _0205CB10 ; =0x020F71B8 + add r5, r1, #0x0 +_0205CAFE: + ldr r1, [r5, #0x0] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + blx r1 + cmp r0, #0x1 + beq _0205CAFE + pop {r3-r5, pc} + nop +_0205CB10: .word 0x020F71B8 + + thumb_func_start sub_0205CB14 +sub_0205CB14: ; 0x0205CB14 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r4, [r5, #0x24] + add r0, r4, #0x0 + bl sub_02058854 + cmp r0, #0x1 + bne _0205CB2A + add r0, r4, #0x0 + bl sub_02058914 +_0205CB2A: + mov r0, #0x1 + str r0, [r5, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_0205CB30 +sub_0205CB30: ; 0x0205CB30 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r5, [r4, #0x24] + add r0, r5, #0x0 + bl sub_02058854 + cmp r0, #0x1 + bne _0205CB44 + mov r0, #0x0 + pop {r3-r5, pc} +_0205CB44: + ldr r0, [r4, #0x24] + ldr r1, [r4, #0x8] + bl sub_021F1EC0 + add r0, r5, #0x0 + mov r1, #0x40 + bl sub_02058410 + mov r0, #0x2 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0205CB5C +sub_0205CB5C: ; 0x0205CB5C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x28] + bl sub_020553A0 + bl sub_0205AE28 + cmp r0, #0x0 + bne _0205CB72 + mov r0, #0x0 + pop {r4, pc} +_0205CB72: + ldr r0, [r4, #0x24] + bl sub_02058480 + sub r0, #0x33 + cmp r0, #0x3 + bhi _0205CB9A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + mov r0, #0x7 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} +_0205CB9A: + mov r0, #0x3 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CBA4 +sub_0205CBA4: ; 0x0205CBA4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AD98 + cmp r0, #0x0 + bne _0205CBB6 + mov r0, #0x0 + pop {r4, pc} +_0205CBB6: + mov r0, #0x0 + ldr r1, [r4, #0x8] + mvn r0, r0 + cmp r1, r0 + bne _0205CBC4 + bl sub_02020C2C +_0205CBC4: + ldr r0, [r4, #0x8] + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205ADDC + mov r0, #0x4 + str r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205CBDC +sub_0205CBDC: ; 0x0205CBDC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AE28 + cmp r0, #0x0 + bne _0205CBEE + mov r0, #0x0 + pop {r4, pc} +_0205CBEE: + mov r0, #0x5 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CBF8 +sub_0205CBF8: ; 0x0205CBF8 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + ldr r0, [r4, #0x24] + add r2, r1, #0x0 + bl sub_021E7AC0 + str r0, [r4, #0x20] + mov r0, #0x6 + str r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205CC10 +sub_0205CC10: ; 0x0205CC10 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x20] + bl sub_021E799C + cmp r0, #0x1 + bne _0205CC28 + ldr r0, [r4, #0x20] + bl sub_02064520 + mov r0, #0x9 + str r0, [r4, #0x0] +_0205CC28: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205CC2C +sub_0205CC2C: ; 0x0205CC2C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + mov r1, #0x65 + bl sub_0205ADDC + mov r0, #0x8 + str r0, [r4, #0x0] + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_0205CC40 +sub_0205CC40: ; 0x0205CC40 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AE28 + cmp r0, #0x1 + bne _0205CC52 + mov r0, #0x9 + str r0, [r4, #0x0] +_0205CC52: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CC58 +sub_0205CC58: ; 0x0205CC58 + ldr r1, [r0, #0x1c] + add r1, r1, #0x1 + str r1, [r0, #0x1c] + cmp r1, #0x1e + blt _0205CC6A + mov r1, #0x0 + str r1, [r0, #0x1c] + mov r1, #0xa + str r1, [r0, #0x0] +_0205CC6A: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0205CC70 +sub_0205CC70: ; 0x0205CC70 + ldr r1, [r0, #0xc] + cmp r1, #0x1 + bgt _0205CC7E + mov r1, #0xd + str r1, [r0, #0x0] + mov r0, #0x1 + bx lr +_0205CC7E: + mov r1, #0xb + str r1, [r0, #0x0] + mov r0, #0x1 + bx lr + .balign 4 + + thumb_func_start sub_0205CC88 +sub_0205CC88: ; 0x0205CC88 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AD98 + cmp r0, #0x1 + bne _0205CCAA + ldr r0, [r4, #0x8] + mov r1, #0xc + bl sub_0205AFDC + add r1, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205ADDC + mov r0, #0xc + str r0, [r4, #0x0] +_0205CCAA: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CCB0 +sub_0205CCB0: ; 0x0205CCB0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AE28 + cmp r0, #0x0 + bne _0205CCC2 + mov r0, #0x0 + pop {r4, pc} +_0205CCC2: + ldr r0, [r4, #0xc] + sub r0, r0, #0x1 + str r0, [r4, #0xc] + mov r0, #0xa + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0205CCD0 +sub_0205CCD0: ; 0x0205CCD0 + ldr r1, [r0, #0x1c] + add r1, r1, #0x1 + str r1, [r0, #0x1c] + cmp r1, #0x8 + bge _0205CCDE + mov r0, #0x0 + bx lr +_0205CCDE: + mov r1, #0x0 + str r1, [r0, #0x1c] + mov r1, #0xe + str r1, [r0, #0x0] + mov r0, #0x1 + bx lr + .balign 4 + + thumb_func_start sub_0205CCEC +sub_0205CCEC: ; 0x0205CCEC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x28] + bl sub_020553A0 + add r4, r0, #0x0 + bl sub_02058B2C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058B4C + add r7, r0, #0x0 + ldr r0, [r5, #0x24] + bl sub_02058B2C + str r0, [sp, #0x0] + ldr r0, [r5, #0x24] + bl sub_02058B4C + add r3, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02059E80 + add r6, r0, #0x0 + ldr r0, [r5, #0x28] + bl sub_020552F8 + cmp r6, r0 + beq _0205CD60 + ldr r0, [r5, #0x18] + cmp r0, #0x0 + beq _0205CD38 + ldr r0, [r5, #0x14] + cmp r0, #0x2 + bne _0205CD60 +_0205CD38: + add r0, r4, #0x0 + bl sub_0205AD98 + cmp r0, #0x1 + bne _0205CD64 + add r0, r4, #0x0 + mov r1, #0x80 + bl sub_02058418 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205ADDC + mov r0, #0xf + str r0, [r5, #0x0] + b _0205CD64 +_0205CD60: + mov r0, #0x10 + str r0, [r5, #0x0] +_0205CD64: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0205CD68 +sub_0205CD68: ; 0x0205CD68 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x28] + bl sub_020553A0 + add r5, r0, #0x0 + bl sub_0205AE28 + cmp r0, #0x0 + bne _0205CD80 + mov r0, #0x0 + pop {r3-r5, pc} +_0205CD80: + add r0, r5, #0x0 + bl sub_0205AE50 + mov r0, #0x10 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205CD90 +sub_0205CD90: ; 0x0205CD90 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x24] + bl sub_0205AE50 + ldr r0, [r4, #0x24] + mov r1, #0x0 + bl sub_02058E90 + mov r0, #0x11 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205CDAC +sub_0205CDAC: ; 0x0205CDAC + mov r1, #0x1 + str r1, [r0, #0x4] + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205CDB4 +sub_0205CDB4: ; 0x0205CDB4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + bl sub_020254B4 + add r1, r0, #0x0 + beq _0205CDD2 + lsl r2, r1, #0x2 + ldr r1, _0205CDD4 ; =0x020F7220 + add r0, r4, #0x0 + ldr r1, [r1, r2] + blx r1 +_0205CDD2: + pop {r4, pc} + .balign 4 +_0205CDD4: .word 0x020F7220 + + thumb_func_start sub_0205CDD8 +sub_0205CDD8: ; 0x0205CDD8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + bl sub_020254B4 + cmp r0, #0x0 + beq _0205CDFA + lsl r1, r0, #0x2 + ldr r0, _0205CDFC ; =0x020F7200 + ldr r1, [r0, r1] + cmp r1, #0x0 + beq _0205CDFA + add r0, r4, #0x0 + blx r1 +_0205CDFA: + pop {r4, pc} + .balign 4 +_0205CDFC: .word 0x020F7200 + + thumb_func_start sub_0205CE00 +sub_0205CE00: ; 0x0205CE00 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x4] + bl sub_020377AC + bl sub_02024ED8 + bl sub_020254B4 + cmp r0, #0x0 + bne _0205CE22 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0205CE22: + lsl r1, r0, #0x2 + ldr r0, _0205CE44 ; =0x020F7240 + ldr r6, [r0, r1] + cmp r6, #0x0 + beq _0205CE3E + ldr r0, [sp, #0x20] + ldr r3, [sp, #0x4] + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + blx r6 + add sp, #0x8 + pop {r3-r7, pc} +_0205CE3E: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0205CE44: .word 0x020F7240 + + thumb_func_start sub_0205CE48 +sub_0205CE48: ; 0x0205CE48 + cmp r0, #0x0 + bne _0205CE58 + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + ldr r0, _0205CE74 ; =0x020F7260 + ldr r0, [r0, r2] + bx lr +_0205CE58: + cmp r0, #0x1 + bne _0205CE68 + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + ldr r0, _0205CE78 ; =0x020F7264 + ldr r0, [r0, r2] + bx lr +_0205CE68: + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + ldr r0, _0205CE7C ; =0x020F7268 + ldr r0, [r0, r2] + bx lr + .balign 4 +_0205CE74: .word 0x020F7260 +_0205CE78: .word 0x020F7264 +_0205CE7C: .word 0x020F7268 + + thumb_func_start sub_0205CE80 +sub_0205CE80: ; 0x0205CE80 + push {r3-r7, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + str r4, [r5, #0x18] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r5, #0x0] + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205ED3C + str r0, [r5, #0x4] + ldr r0, [r4, #0x38] + bl sub_020553C4 + str r0, [r5, #0x8] + ldr r0, [r4, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_0205532C + add r7, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0204A6E0 + strh r0, [r5, #0xe] + ldr r0, [r4, #0x38] + bl sub_020552F8 + cmp r0, #0x3 + bhi _0205CEEA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r2, r2, #0 + lsl r6, r1, #0 + sub r7, r7, #0x1 + b _0205CEEA +_0205CEE0: + .byte 0x7F, 0x1C, 0x02, 0xE0, 0x76, 0x1C, 0x00, 0xE0, 0x76, 0x1E +_0205CEEA: + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0204A6E0 + strh r0, [r5, #0xc] + add r0, r4, #0x0 + add r1, sp, #0x0 + bl sub_02037024 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl sub_0204B6C4 + strh r0, [r5, #0x10] + ldr r0, [r4, #0x38] + str r0, [r5, #0x14] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205CF10 +sub_0205CF10: ; 0x0205CF10 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x20 + mov r1, #0xc + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02016998 + str r5, [r0, #0x0] + strh r4, [r0, #0x4] + strh r6, [r0, #0x6] + strh r7, [r0, #0x8] + add r1, sp, #0x8 + ldrh r1, [r1, #0x10] + strh r1, [r0, #0xa] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205CF34 +sub_0205CF34: ; 0x0205CF34 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r2, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204649C + mov r0, #0x72 + mov r2, #0x0 + ldr r1, _0205CF74 ; =sub_0205CFA0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + str r2, [sp, #0x0] + ldrh r1, [r5, #0x4] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_0205CF10 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r7, pc} + nop +_0205CF74: .word sub_0205CFA0 + 1 + + thumb_func_start sub_0205CF78 +sub_0205CF78: ; 0x0205CF78 + push {r3-r4, lr} + sub sp, #0x4 + mov r2, #0x0 + add r4, r0, #0x0 + str r2, [sp, #0x0] + add r0, r1, #0x0 + ldrh r1, [r4, #0x28] + add r3, r2, #0x0 + bl sub_0205CF10 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _0205CF9C ; =sub_0205CFA0 + bl sub_020463CC + add sp, #0x4 + pop {r3-r4, pc} + nop +_0205CF9C: .word sub_0205CFA0 + 1 + + thumb_func_start sub_0205CFA0 +sub_0205CFA0: ; 0x0205CFA0 + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_02046530 + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + cmp r0, #0x0 + beq _0205CFC6 + cmp r0, #0x1 + beq _0205D016 + b _0205D020 +_0205CFC6: + add r0, r5, #0x0 + add r1, sp, #0x0 + bl sub_02037024 + ldr r1, [r4, #0x0] + ldr r2, [sp, #0x0] + lsl r1, r1, #0x10 + add r0, r7, #0x0 + lsr r1, r1, #0x10 + mov r3, #0x0 + bl sub_02038CD8 + add r0, r5, #0x0 + mov r1, #0x29 + bl sub_02039438 + ldrh r1, [r4, #0x4] + strh r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2a + bl sub_02039438 + ldrh r1, [r4, #0x6] + strh r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2b + bl sub_02039438 + ldrh r1, [r4, #0x8] + strh r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x2c + bl sub_02039438 + ldrh r1, [r4, #0xa] + strh r1, [r0, #0x0] + ldr r0, [r6, #0x0] + add r0, r0, #0x1 + str r0, [r6, #0x0] + b _0205D020 +_0205D016: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_0205D020: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0205D024 +sub_0205D024: ; 0x0205D024 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_0204652C + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_02022504 + str r0, [r4, #0x10] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r7, r0 + str r0, [r4, #0x18] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x5 + add r0, #0x20 + strb r1, [r0, #0x0] + str r5, [r4, #0x1c] + ldrh r0, [r6, #0x4] + add r2, r4, #0x0 + strh r0, [r4, #0x24] + add r0, r4, #0x0 + ldrb r1, [r6, #0x6] + add r0, #0x22 + strb r1, [r0, #0x0] + ldr r1, _0205D0B4 ; =0x020F96DC + add r0, r5, #0x0 + bl sub_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r7, r0] + ldr r1, _0205D0B8 ; =sub_02035E50 + add r0, r7, #0x0 + bl sub_02035D04 + pop {r3-r7, pc} + nop +_0205D0B4: .word 0x020F96DC +_0205D0B8: .word sub_02035E50 + 1 + + thumb_func_start sub_0205D0BC +sub_0205D0BC: ; 0x0205D0BC + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02037EB8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _0205D0E8 ; =sub_02036A78 + add r0, r4, #0x0 + bl sub_02035D04 + pop {r3-r5, pc} + nop +_0205D0E8: .word sub_02036A78 + 1 + + thumb_func_start sub_0205D0EC +sub_0205D0EC: ; 0x0205D0EC + push {r3, lr} + ldr r1, _0205D0F8 ; =sub_0205D0FC + bl sub_0205DD04 + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0205D0F8: .word sub_0205D0FC + 1 + + thumb_func_start sub_0205D0FC +sub_0205D0FC: ; 0x0205D0FC + ldr r3, _0205D100 ; =sub_02037EB8 + bx r3 + .balign 4 +_0205D100: .word sub_02037EB8 + 1 + + thumb_func_start sub_0205D104 +sub_0205D104: ; 0x0205D104 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D140 ; =sub_02049844 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r5, #0x0 + bl sub_0204976C + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + mov r0, #0x0 + add r5, #0x8c + str r0, [r5, #0x0] + pop {r3-r5, pc} + nop +_0205D140: .word sub_02049844 + 1 + + thumb_func_start sub_0205D144 +sub_0205D144: ; 0x0205D144 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204976C + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x34] + bl sub_02058780 + ldr r0, [r5, #0x0] + ldr r1, _0205D16C ; =sub_02049844 + add r2, r4, #0x0 + bl sub_020463CC + ldr r1, [r5, #0x0] + mov r0, #0x0 + add r1, #0x8c + str r0, [r1, #0x0] + pop {r3-r5, pc} + .balign 4 +_0205D16C: .word sub_02049844 + 1 + + thumb_func_start sub_0205D170 +sub_0205D170: ; 0x0205D170 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02034824 + cmp r0, #0x0 + bne _0205D184 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D184: + ldr r0, [r5, #0x0] + bl sub_02034908 + cmp r0, #0x0 + bne _0205D194 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D194: + ldr r0, [r5, #0x14] + bl sub_02055738 + cmp r0, #0x1 + bne _0205D1A4 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D1A4: + ldr r0, [r5, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + beq _0205D1C4 + ldr r0, [r5, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _0205D1CA +_0205D1C4: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D1CA: + ldr r0, [r5, #0x14] + bl sub_020553C4 + cmp r0, #0x2 + bne _0205D1DA + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D1DA: + ldrh r0, [r5, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B78 + cmp r0, #0x1 + bne _0205D1EE + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D1EE: + ldr r0, [r5, #0x18] + ldr r0, [r0, #0x38] + bl sub_02055320 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [r5, #0x18] + ldr r0, [r0, #0x38] + bl sub_0205532C + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r5, #0x18] + add r1, r4, #0x0 + bl sub_02034D44 + cmp r0, #0x0 + bne _0205D218 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D218: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205D21C +sub_0205D21C: ; 0x0205D21C + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D24C ; =sub_0205D264 + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + str r1, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r5, pc} + nop +_0205D24C: .word sub_0205D264 + 1 + + thumb_func_start sub_0205D250 +sub_0205D250: ; 0x0205D250 + push {r3, lr} + ldr r0, [r0, #0x0] + ldr r1, _0205D260 ; =sub_0205D264 + mov r2, #0x0 + bl sub_020463CC + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205D260: .word sub_0205D264 + 1 + + thumb_func_start sub_0205D264 +sub_0205D264: ; 0x0205D264 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x3 + bhi _0205D324 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r1, #0 + lsl r2, r1, #0x2 + lsl r0, r2, #0x2 + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _0205D324 +_0205D296: + .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x94, 0xF8, 0x01, 0x28, 0x1A, 0xD1 + .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x7D, 0xF8, 0xFB, 0xF7, 0x35, 0xFB, 0xA0, 0x6B, 0x01, 0x21, 0x88, 0xF1 + .byte 0x93, 0xFE, 0xA0, 0x6B, 0x88, 0xF1, 0x94, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xED, 0xF7, 0x30, 0xFC + .byte 0xE1, 0x69, 0x20, 0x1C, 0x09, 0x68, 0xED, 0xF7, 0x47, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22 + .byte 0xED, 0xF7, 0x84, 0xFC, 0x1A, 0xE0, 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0xED, 0xF7, 0x20, 0xFC + .byte 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0x01, 0x22, 0xED, 0xF7, 0x78, 0xFC, 0xA0, 0x6B, 0xF8, 0xF7 + .byte 0x57, 0xF8, 0xFB, 0xF7, 0x0F, 0xFB, 0xA0, 0x6B, 0x02, 0x21, 0x88, 0xF1, 0x6D, 0xFE, 0xA0, 0x6B + .byte 0x88, 0xF1, 0x6E, 0xFE, 0x90, 0x34, 0x20, 0x68, 0x00, 0xF0, 0x1A, 0xFD, 0x28, 0x68, 0x40, 0x1C + .byte 0x28, 0x60, 0x07, 0xE0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x60, 0x6B, 0xFB, 0xF7, 0x48, 0xFA + .byte 0x01, 0x20, 0x38, 0xBD +_0205D324: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205D328 +sub_0205D328: ; 0x0205D328 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0205D336 + mov r0, #0x2 + pop {r3-r5, pc} +_0205D336: + ldr r0, [r4, #0x14] + bl sub_02055738 + cmp r0, #0x1 + bne _0205D344 + mov r0, #0x1 + pop {r3-r5, pc} +_0205D344: + ldr r0, [r4, #0x14] + bl sub_020553A0 + ldrh r1, [r4, #0xe] + add r5, r0, #0x0 + bl sub_02059BB4 + cmp r0, #0x1 + beq _0205D362 + ldrh r1, [r4, #0xe] + add r0, r5, #0x0 + bl sub_02059BD4 + cmp r0, #0x1 + bne _0205D366 +_0205D362: + mov r0, #0x1 + pop {r3-r5, pc} +_0205D366: + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054798 + cmp r0, #0x1 + beq _0205D390 + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054974 + cmp r0, #0x1 + beq _0205D390 + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054990 + cmp r0, #0x1 + bne _0205D396 +_0205D390: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D396: + ldr r0, [r4, #0x0] + bl sub_020348B4 + cmp r0, #0x0 + bne _0205D3A6 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D3A6: + ldr r0, [r4, #0x8] + cmp r0, #0x2 + bne _0205D3B2 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205D3B2: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205D3B8 +sub_0205D3B8: ; 0x0205D3B8 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02037944 + ldr r1, _0205D3E0 ; =sub_02036B90 + add r0, r4, #0x0 + bl sub_02035D04 + pop {r3-r5, pc} + nop +_0205D3E0: .word sub_02036B90 + 1 + + thumb_func_start sub_0205D3E4 +sub_0205D3E4: ; 0x0205D3E4 + push {r3, lr} + ldr r1, _0205D3F0 ; =sub_0205D3F4 + bl sub_0205DD04 + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0205D3F0: .word sub_0205D3F4 + 1 + + thumb_func_start sub_0205D3F4 +sub_0205D3F4: ; 0x0205D3F4 + push {r3, lr} + mov r1, #0x0 + bl sub_02037944 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205D400 +sub_0205D400: ; 0x0205D400 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_0204652C + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0xc] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r7, r0 + str r0, [r4, #0x18] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x6 + add r0, #0x20 + strb r1, [r0, #0x0] + str r5, [r4, #0x1c] + ldrh r0, [r6, #0x4] + strh r0, [r4, #0x24] + add r0, r4, #0x0 + ldrb r1, [r6, #0x6] + add r0, #0x22 + strb r1, [r0, #0x0] + ldrh r0, [r6, #0x4] + bl sub_0206EA30 + strh r0, [r4, #0x26] + ldr r1, _0205D490 ; =0x020F96DC + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r7, r0] + ldr r1, _0205D494 ; =sub_02035E50 + add r0, r7, #0x0 + bl sub_02035D04 + pop {r3-r7, pc} + nop +_0205D490: .word 0x020F96DC +_0205D494: .word sub_02035E50 + 1 + + thumb_func_start sub_0205D498 +sub_0205D498: ; 0x0205D498 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + ldrh r0, [r5, #0x4] + bl sub_0206EAB8 + add r2, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x3 + mov r3, #0xb + bl sub_02037F58 + add r6, r0, #0x0 + ldrh r0, [r5, #0x4] + mov r1, #0x3 + mov r2, #0x0 + bl sub_02036BC4 + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + sub r0, r1, #0x4 + str r6, [r4, r0] + ldr r1, _0205D4E0 ; =sub_02036BDC + add r0, r4, #0x0 + bl sub_02035D04 + pop {r4-r6, pc} + nop +_0205D4E0: .word sub_02036BDC + 1 + + thumb_func_start sub_0205D4E4 +sub_0205D4E4: ; 0x0205D4E4 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0205D4E8 +sub_0205D4E8: ; 0x0205D4E8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + bl sub_02046528 + ldr r0, [r5, #0x0] + bl sub_0204652C + ldrh r1, [r4, #0x10] + mov r0, #0x1 + tst r0, r1 + beq _0205D50E + ldr r2, _0205D518 ; =0x00000AF1 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205CF34 + pop {r3-r5, pc} +_0205D50E: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205D024 + pop {r3-r5, pc} + .balign 4 +_0205D518: .word 0x00000AF1 + + thumb_func_start sub_0205D51C +sub_0205D51C: ; 0x0205D51C + ldrh r1, [r0, #0x10] + mov r0, #0x1 + tst r1, r0 + bne _0205D526 + mov r0, #0x0 +_0205D526: + bx lr + + thumb_func_start sub_0205D528 +sub_0205D528: ; 0x0205D528 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xb + bl sub_02037FC4 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _0205D554 ; =sub_02036D94 + add r0, r4, #0x0 + bl sub_02035D04 + pop {r3-r5, pc} + .balign 4 +_0205D554: .word sub_02036D94 + 1 + + thumb_func_start sub_0205D558 +sub_0205D558: ; 0x0205D558 + push {r3, lr} + ldr r1, _0205D564 ; =sub_0205D568 + bl sub_0205DD04 + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0205D564: .word sub_0205D568 + 1 + + thumb_func_start sub_0205D568 +sub_0205D568: ; 0x0205D568 + ldr r3, _0205D570 ; =sub_02037FC4 + mov r1, #0xb + bx r3 + nop +_0205D570: .word sub_02037FC4 + 1 + + thumb_func_start sub_0205D574 +sub_0205D574: ; 0x0205D574 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r5, #0xc] + add r0, r5, #0x0 + bl sub_0203846C + mov r0, #0x7e + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + ldr r1, _0205D5A4 ; =sub_02036DD4 + add r0, r4, #0x0 + bl sub_02035D04 + pop {r3-r5, pc} + nop +_0205D5A4: .word sub_02036DD4 + 1 + + thumb_func_start sub_0205D5A8 +sub_0205D5A8: ; 0x0205D5A8 + push {r3, lr} + ldr r1, _0205D5B4 ; =sub_0205D5B8 + bl sub_0205DD04 + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_0205D5B4: .word sub_0205D5B8 + 1 + + thumb_func_start sub_0205D5B8 +sub_0205D5B8: ; 0x0205D5B8 + push {r3, lr} + ldr r1, [r0, #0xc] + bl sub_0203846C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205D5C4 +sub_0205D5C4: ; 0x0205D5C4 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x4 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + add r0, r6, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D600 ; =sub_0205E30C + lsl r0, r0, #0x2 + str r1, [r5, r0] + add r0, #0x30 + str r4, [r5, r0] + mov r0, #0xa + strh r0, [r5, #0x2a] + pop {r4-r6, pc} + nop +_0205D600: .word sub_0205E30C + 1 + + thumb_func_start sub_0205D604 +sub_0205D604: ; 0x0205D604 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x4 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + ldr r0, [r4, #0x0] + ldr r1, _0205D624 ; =sub_0205E30C + bl sub_020463CC + mov r0, #0x0 + pop {r4, pc} + nop +_0205D624: .word sub_0205E30C + 1 + + thumb_func_start sub_0205D628 +sub_0205D628: ; 0x0205D628 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0205D636 + mov r0, #0x2 + pop {r4, pc} +_0205D636: + ldr r0, [r4, #0x18] + ldr r0, [r0, #0x38] + bl sub_020553C4 + cmp r0, #0x1 + bne _0205D648 + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0205D648: + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0205478C + cmp r0, #0x0 + beq _0205D65A + mov r0, #0x0 + pop {r4, pc} +_0205D65A: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} + + thumb_func_start sub_0205D660 +sub_0205D660: ; 0x0205D660 + ldr r3, _0205D668 ; =sub_0205CF34 + ldr r2, _0205D66C ; =0x00000AF2 + bx r3 + nop +_0205D668: .word sub_0205CF34 + 1 +_0205D66C: .word 0x00000AF2 + + thumb_func_start sub_0205D670 +sub_0205D670: ; 0x0205D670 + push {r3, lr} + ldr r1, _0205D67C ; =0x00000AF2 + bl sub_0205CF78 + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205D67C: .word 0x00000AF2 + + thumb_func_start sub_0205D680 +sub_0205D680: ; 0x0205D680 + ldr r1, [r0, #0x4] + cmp r1, #0x1 + bne _0205D68A + mov r0, #0x2 + bx lr +_0205D68A: + ldrh r1, [r0, #0x10] + mov r0, #0x4 + tst r1, r0 + beq _0205D696 + mov r0, #0x0 + bx lr +_0205D696: + sub r0, r0, #0x5 + bx lr + .balign 4 + + thumb_func_start sub_0205D69C +sub_0205D69C: ; 0x0205D69C + ldr r3, _0205D6A4 ; =sub_0205CF34 + ldr r2, _0205D6A8 ; =0x00000AF3 + bx r3 + nop +_0205D6A4: .word sub_0205CF34 + 1 +_0205D6A8: .word 0x00000AF3 + + thumb_func_start sub_0205D6AC +sub_0205D6AC: ; 0x0205D6AC + ldrh r1, [r0, #0x10] + mov r0, #0x2 + tst r1, r0 + beq _0205D6B8 + mov r0, #0x0 + bx lr +_0205D6B8: + sub r0, r0, #0x3 + bx lr + + thumb_func_start sub_0205D6BC +sub_0205D6BC: ; 0x0205D6BC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204649C + bl sub_021F57EC + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + mov r0, #0xb + bl sub_020169D8 + ldr r2, [sp, #0x0] + mov r1, #0x0 + add r7, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x72 + ldr r1, _0205D710 ; =0x021F57F1 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r7, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + ldr r0, [r6, #0xc] + bl sub_0206F158 + ldrh r1, [r5, #0x4] + mov r2, #0x1 + mov r3, #0xb + bl sub_0206EDD4 + pop {r3-r7, pc} + .balign 4 +_0205D710: .word 0x021F57F1 + + thumb_func_start sub_0205D714 +sub_0205D714: ; 0x0205D714 + ldr r3, _0205D71C ; =sub_0205CF34 + ldr r2, _0205D720 ; =0x000022F6 + bx r3 + nop +_0205D71C: .word sub_0205CF34 + 1 +_0205D720: .word 0x000022F6 + + thumb_func_start sub_0205D724 +sub_0205D724: ; 0x0205D724 + push {r3, lr} + ldr r1, _0205D730 ; =0x000022F6 + bl sub_0205CF78 + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205D730: .word 0x000022F6 + + thumb_func_start sub_0205D734 +sub_0205D734: ; 0x0205D734 + push {r3, lr} + ldr r0, [r0, #0x0] + bl sub_02034908 + cmp r0, #0x0 + beq _0205D744 + mov r0, #0x0 + pop {r3, pc} +_0205D744: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205D74C +sub_0205D74C: ; 0x0205D74C + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D784 ; =0x021F5C71 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r5, #0x0 + mov r1, #0xb + mov r2, #0x0 + bl sub_021F5C44 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r5, pc} + .balign 4 +_0205D784: .word 0x021F5C71 + + thumb_func_start sub_0205D788 +sub_0205D788: ; 0x0205D788 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x4 + mov r2, #0x0 + bl sub_021F5C44 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _0205D7A4 ; =0x021F5C71 + bl sub_020463CC + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0205D7A4: .word 0x021F5C71 + + thumb_func_start sub_0205D7A8 +sub_0205D7A8: ; 0x0205D7A8 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D7E0 ; =0x021F5C71 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r5, #0x0 + mov r1, #0xb + mov r2, #0x1 + bl sub_021F5C44 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r5, pc} + .balign 4 +_0205D7E0: .word 0x021F5C71 + + thumb_func_start sub_0205D7E4 +sub_0205D7E4: ; 0x0205D7E4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x4 + mov r2, #0x1 + bl sub_021F5C44 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _0205D800 ; =0x021F5C71 + bl sub_020463CC + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0205D800: .word 0x021F5C71 + + thumb_func_start sub_0205D804 +sub_0205D804: ; 0x0205D804 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205D83C ; =0x021F5C71 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, r5, #0x0 + mov r1, #0xb + mov r2, #0x2 + bl sub_021F5C44 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r5, pc} + .balign 4 +_0205D83C: .word 0x021F5C71 + + thumb_func_start sub_0205D840 +sub_0205D840: ; 0x0205D840 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x4 + mov r2, #0x2 + bl sub_021F5C44 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _0205D85C ; =0x021F5C71 + bl sub_020463CC + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0205D85C: .word 0x021F5C71 + + thumb_func_start sub_0205D860 +sub_0205D860: ; 0x0205D860 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0205D86E + mov r0, #0x2 + pop {r4, pc} +_0205D86E: + ldrh r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0205481C + cmp r0, #0x1 + bne _0205D8B0 + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B78 + cmp r0, #0x1 + beq _0205D898 + ldrh r0, [r4, #0xe] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02054B6C + cmp r0, #0x1 + bne _0205D8AC +_0205D898: + ldr r0, [r4, #0x14] + bl sub_020553A0 + bl sub_02058A68 + cmp r0, #0x1 + bne _0205D8AC + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0205D8AC: + mov r0, #0x0 + pop {r4, pc} +_0205D8B0: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205D8B8 +sub_0205D8B8: ; 0x0205D8B8 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x16] + mov r0, #0x80 + mov r1, #0xb + bl sub_020219F4 + str r0, [r4, #0x10] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_0206F158 + bl sub_0206EBC4 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + lsl r2, r2, #0x10 + ldr r0, [r0, #0xc] + ldr r1, [r4, #0x10] + lsr r2, r2, #0x10 + mov r3, #0xb + bl sub_0206E3F8 + ldr r0, [r5, #0x0] + ldr r1, _0205D900 ; =sub_0205D904 + add r2, r4, #0x0 + bl sub_020463CC + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0205D900: .word sub_0205D904 + 1 + + thumb_func_start sub_0205D904 +sub_0205D904: ; 0x0205D904 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldrh r0, [r4, #0x16] + cmp r0, #0x0 + beq _0205D926 + cmp r0, #0x1 + beq _0205D95C + cmp r0, #0x2 + beq _0205D984 + b _0205D9A0 +_0205D926: + ldr r0, [r5, #0x34] + bl sub_02058780 + ldr r0, [r5, #0x8] + add r1, r4, #0x0 + mov r2, #0x3 + bl sub_020545B8 + ldr r0, [r5, #0xc] + bl sub_02023900 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02054608 + ldr r1, [r4, #0x10] + add r0, r4, #0x0 + add r2, r5, #0x0 + mov r3, #0x1 + bl sub_02054658 + strh r0, [r4, #0x14] + ldrh r0, [r4, #0x16] + add r0, r0, #0x1 + strh r0, [r4, #0x16] + b _0205D9A0 +_0205D95C: + ldrh r0, [r4, #0x14] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_020546C8 + cmp r0, #0x1 + bne _0205D9A0 + ldr r0, _0205D9A4 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0xf3 + tst r0, r1 + beq _0205D9A0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200D0E0 + ldrh r0, [r4, #0x16] + add r0, r0, #0x1 + strh r0, [r4, #0x16] + b _0205D9A0 +_0205D984: + ldr r0, [r5, #0x34] + bl sub_020587B0 + add r0, r4, #0x0 + bl sub_02019178 + ldr r0, [r4, #0x10] + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0205D9A0: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0205D9A4: .word 0x021C48B8 + + thumb_func_start sub_0205D9A8 +sub_0205D9A8: ; 0x0205D9A8 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_0204652C + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r0, [r5, #0xc] + bl sub_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl sub_0206F158 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + ldr r0, [r5, #0xc] + bl sub_02023900 + str r0, [r4, #0xc] + ldr r0, [r5, #0xc] + bl sub_02022504 + str r0, [r4, #0x10] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r7, r0 + str r0, [r4, #0x18] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x10 + add r0, #0x20 + strb r1, [r0, #0x0] + ldrh r0, [r6, #0x4] + add r2, r4, #0x0 + strh r0, [r4, #0x24] + add r0, r4, #0x0 + ldrb r1, [r6, #0x6] + add r0, #0x22 + strb r1, [r0, #0x0] + ldr r1, _0205DA34 ; =0x020F96DC + add r0, r5, #0x0 + bl sub_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r4, [r7, r0] + ldr r1, _0205DA38 ; =sub_02035E50 + add r0, r7, #0x0 + bl sub_02035D04 + pop {r3-r7, pc} + .balign 4 +_0205DA34: .word 0x020F96DC +_0205DA38: .word sub_02035E50 + 1 + + thumb_func_start sub_0205DA3C +sub_0205DA3C: ; 0x0205DA3C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0205DA7C ; =sub_0205DAAC + lsl r0, r0, #0x2 + str r1, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + str r1, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + ldr r0, [r6, #0xc] + bl sub_0206F158 + ldrh r1, [r5, #0x4] + mov r2, #0x1 + mov r3, #0xb + bl sub_0206EDD4 + pop {r4-r6, pc} + nop +_0205DA7C: .word sub_0205DAAC + 1 + + thumb_func_start sub_0205DA80 +sub_0205DA80: ; 0x0205DA80 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0205DA8E + mov r0, #0x2 + pop {r4, pc} +_0205DA8E: + ldr r0, [r4, #0x0] + bl sub_02034930 + cmp r0, #0x1 + bne _0205DAA6 + ldr r0, [r4, #0x0] + bl sub_0203487C + cmp r0, #0x1 + bne _0205DAA6 + mov r0, #0x0 + pop {r4, pc} +_0205DAA6: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} + + thumb_func_start sub_0205DAAC +sub_0205DAAC: ; 0x0205DAAC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02046528 + mov r1, #0xb + bl sub_0224C700 + add r2, r0, #0x0 + ldr r1, _0205DAC8 ; =0x0224C721 + add r0, r4, #0x0 + bl sub_020463EC + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0205DAC8: .word 0x0224C721 + + thumb_func_start sub_0205DACC +sub_0205DACC: ; 0x0205DACC + ldr r3, _0205DAD4 ; =sub_0205CF34 + ldr r2, _0205DAD8 ; =0x000007F7 + bx r3 + nop +_0205DAD4: .word sub_0205CF34 + 1 +_0205DAD8: .word 0x000007F7 + + thumb_func_start sub_0205DADC +sub_0205DADC: ; 0x0205DADC + push {r3, lr} + ldr r1, _0205DAE8 ; =0x000007F7 + bl sub_0205CF78 + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0205DAE8: .word 0x000007F7 + + thumb_func_start sub_0205DAEC +sub_0205DAEC: ; 0x0205DAEC + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + ldr r0, [r0, #0xc] + bl sub_020462AC + add r5, r0, #0x0 + bl sub_0205ED0C + cmp r0, #0x0 + bne _0205DB08 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205DB08: + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205F4A0 + cmp r0, #0x0 + bne _0205DB1A + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205DB1A: + ldr r0, [r4, #0x18] + ldr r0, [r0, #0xc] + bl sub_02024DA0 + bl sub_02024CA4 + cmp r0, #0x0 + bne _0205DB30 + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} +_0205DB30: + ldr r0, [r4, #0x0] + bl sub_020349D8 + cmp r0, #0x0 + beq _0205DB3E + mov r0, #0x0 + pop {r3-r5, pc} +_0205DB3E: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r5, pc} + + thumb_func_start sub_0205DB44 +sub_0205DB44: ; 0x0205DB44 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02060144 + cmp r0, #0x1 + bne _0205DB54 + mov r0, #0x0 + pop {r3-r7, pc} +_0205DB54: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _0205DB66 + mov r0, #0x0 + pop {r3-r7, pc} +_0205DB66: + ldr r0, [r5, #0xc] + bl sub_0206F158 + bl sub_0206EBC4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x6 + mov r2, #0xb + str r0, [sp, #0x0] + bl sub_0206E7B8 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + mov r0, #0x2 + add r1, r4, #0x0 + bl sub_0205CE48 + add r6, r0, #0x0 + mov r0, #0x1 + add r1, r4, #0x0 + bl sub_0205CE48 + add r7, r0, #0x0 + bne _0205DB9C + mov r0, #0x0 + pop {r3-r7, pc} +_0205DB9C: + mov r0, #0xb + mov r1, #0x2c + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x2c + blx sub_020DF4A4 + str r5, [r4, #0x0] + ldr r0, [sp, #0x0] + add r1, r4, #0x4 + strh r0, [r4, #0x28] + add r0, r5, #0x0 + bl sub_0205CE80 + mov r5, #0x0 + cmp r6, #0x0 + bne _0205DBCA + add r0, r4, #0x0 + blx r7 + add r5, r0, #0x0 + b _0205DBE0 +_0205DBCA: + add r0, r4, #0x4 + blx r6 + add r1, r0, #0x0 + bne _0205DBDA + add r0, r4, #0x0 + blx r7 + add r5, r0, #0x0 + b _0205DBE0 +_0205DBDA: + add r0, r4, #0x0 + bl sub_0205DBF0 +_0205DBE0: + cmp r5, #0x0 + bne _0205DBEA + add r0, r4, #0x0 + bl sub_02016A18 +_0205DBEA: + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205DBF0 +sub_0205DBF0: ; 0x0205DBF0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x16] + mov r0, #0x80 + mov r1, #0xb + bl sub_020219F4 + str r0, [r4, #0x10] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_020238F4 + mov r1, #0xb + str r1, [sp, #0x0] + ldrh r2, [r5, #0x28] + ldr r1, [r4, #0x10] + add r3, r6, #0x0 + bl sub_0206E51C + ldr r0, [r5, #0x0] + ldr r1, _0205DC34 ; =sub_0205D904 + add r2, r4, #0x0 + bl sub_020463CC + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0205DC34: .word sub_0205D904 + 1 + + thumb_func_start sub_0205DC38 +sub_0205DC38: ; 0x0205DC38 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, #0x2a + ldrb r0, [r0, #0x0] + cmp r0, #0x4 + bhi _0205DCFA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r4, r3, #0 + lsl r4, r6, #0 + lsl r4, r4, #0x1 + lsl r2, r0, #0x2 + ldr r0, [r5, #0x34] + bl sub_02058780 + mov r0, #0x0 + bl sub_021D7CA4 + mov r0, #0x1 + add r4, #0x2a + strb r0, [r4, #0x0] + b _0205DCFA +_0205DC7C: + .byte 0xB0, 0xF7, 0x44, 0xFB + .byte 0x00, 0x28, 0x3A, 0xD0, 0x21, 0x6A, 0x28, 0x1C, 0x88, 0x47, 0x60, 0x62, 0x02, 0x20, 0x2A, 0x34 + .byte 0x20, 0x70, 0x32, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xF1, 0xFB, 0x00, 0x28, 0x2D, 0xD1, 0x60, 0x6A + .byte 0x00, 0x28, 0x08, 0xD0, 0x22, 0x6A, 0x16, 0x49, 0x8A, 0x42, 0x02, 0xD1, 0x2A, 0xF0, 0xB2, 0xF8 + .byte 0x01, 0xE0, 0xB8, 0xF7, 0xB1, 0xFE, 0x28, 0x1C, 0xE8, 0xF7, 0xF0, 0xFB, 0x03, 0x20, 0x2A, 0x34 + .byte 0x20, 0x70, 0x1A, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xED, 0xFB, 0x00, 0x28, 0x15, 0xD0, 0x68, 0x6B + .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x20, 0x79, 0xF1, 0xE5, 0xFF, 0x04, 0x20, 0x2A, 0x34, 0x20, 0x70 + .byte 0x0B, 0xE0, 0xB0, 0xF7, 0x11, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x68, 0x6B, 0xFA, 0xF7, 0x60, 0xFD + .byte 0x20, 0x1C, 0xB8, 0xF7, 0x91, 0xFE, 0x01, 0x20, 0x38, 0xBD +_0205DCFA: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0205DD00: + .byte 0x69, 0xD5, 0x05, 0x02 + + thumb_func_start sub_0205DD04 +sub_0205DD04: ; 0x0205DD04 + add r2, r0, #0x0 + str r1, [r2, #0x20] + ldr r3, _0205DD10 ; =sub_020463CC + ldr r0, [r2, #0x0] + ldr r1, _0205DD14 ; =sub_0205DC38 + bx r3 + .balign 4 +_0205DD10: .word sub_020463CC + 1 +_0205DD14: .word sub_0205DC38 + 1 + + thumb_func_start sub_0205DD18 +sub_0205DD18: ; 0x0205DD18 + push {r4, lr} + mov r1, #0xd4 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x1 + lsl r0, r0, #0x10 + add r3, r4, #0x0 + lsr r1, r0, #0x1 + add r2, r0, #0x0 + add r3, #0xbc + bl sub_0201B7DC + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205DD38 +sub_0205DD38: ; 0x0205DD38 + ldr r3, _0205DD3C ; =sub_02016A18 + bx r3 + .balign 4 +_0205DD3C: .word sub_02016A18 + 1 + + thumb_func_start sub_0205DD40 +sub_0205DD40: ; 0x0205DD40 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + str r1, [r4, #0x4] + str r1, [r4, #0x0] + str r1, [r4, #0x8] + str r1, [r4, #0xc] + str r1, [r4, #0x10] + add r0, #0xd0 + strb r1, [r0, #0x0] + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + add r0, #0x1c + mov r2, #0xa0 + str r1, [r4, #0x18] + blx sub_020CE34C + mov r3, #0x0 + add r2, r3, #0x0 + mov r0, #0x28 +_0205DD6A: + add r1, r3, #0x0 + mul r1, r0 + add r1, r4, r1 + str r2, [r1, #0x28] + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x4 + blo _0205DD6A + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205DD80 +sub_0205DD80: ; 0x0205DD80 + push {r4-r7, lr} + sub sp, #0x2c + str r1, [sp, #0x10] + ldr r1, _0205DECC ; =0x020F7374 + str r2, [sp, #0x14] + ldrb r2, [r1, #0x4] + str r0, [sp, #0xc] + add r0, sp, #0x28 + strb r2, [r0, #0x0] + ldrb r2, [r1, #0x5] + str r3, [sp, #0x18] + strb r2, [r0, #0x1] + ldrb r2, [r1, #0x6] + ldrb r1, [r1, #0x7] + strb r2, [r0, #0x2] + strb r1, [r0, #0x3] + ldr r0, [sp, #0xc] + ldr r0, [r0, #0x38] + bl sub_02055360 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x18] + mov r5, #0x0 + str r0, [sp, #0x24] + add r0, #0x1c + str r5, [sp, #0x20] + str r0, [sp, #0x24] +_0205DDB6: + add r0, sp, #0x28 + ldrb r4, [r0, r5] + cmp r4, #0x0 + bne _0205DDC2 + bl sub_02020C2C +_0205DDC2: + cmp r4, #0x1 + bhi _0205DDCA + mov r6, #0x0 + b _0205DDF2 +_0205DDCA: + bl sub_0201B9EC + add r6, r0, #0x0 + ldr r0, _0205DED0 ; =0x0000FFFF + add r1, r4, #0x0 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + cmp r6, r4 + blo _0205DDF2 + bl sub_02020C2C +_0205DDF2: + lsl r1, r5, #0x1 + mov r0, #0x9 + sub r0, r0, r1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + lsl r0, r6, #0x18 + lsr r6, r0, #0x18 + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020EBC80 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bne _0205DE1C + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020EBC80 + add r1, r5, r1 + add r0, r5, #0x0 + b _0205DE5C +_0205DE1C: + cmp r0, #0x1 + bne _0205DE30 + add r0, r6, #0x0 + add r1, r4, #0x0 + blx sub_020EBC80 + add r0, r5, r4 + add r1, r5, r1 + sub r0, r0, #0x1 + b _0205DE5C +_0205DE30: + lsl r7, r4, #0x1 + cmp r6, r7 + bge _0205DE3A + bl sub_02020C2C +_0205DE3A: + sub r0, r6, r7 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + lsr r3, r1, #0x1f + lsl r2, r1, #0x1f + lsr r0, r1, #0x1 + add r0, r5, r0 + sub r2, r2, r3 + mov r1, #0x1f + ror r2, r1 + add r0, r0, #0x1 + add r1, r3, r2 + bne _0205DE58 + add r1, r5, #0x0 + b _0205DE5C +_0205DE58: + add r1, r5, r4 + sub r1, r1, #0x1 +_0205DE5C: + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r0, r0, #0x18 + str r1, [sp, #0x0] + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + mov r0, #0x28 + add r1, r5, #0x0 + mul r1, r0 + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x10] + add r0, r0, r1 + str r0, [sp, #0x8] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0xc] + ldr r1, [r1, #0x4] + ldr r3, [sp, #0x14] + bl sub_0205E12C + cmp r0, #0x0 + beq _0205DE90 + ldr r0, [sp, #0x20] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x20] +_0205DE90: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + blo _0205DDB6 + ldr r0, [sp, #0x20] + cmp r0, #0x0 + bne _0205DEBE + ldr r0, [sp, #0x18] + bl sub_0205DD40 + ldr r0, [sp, #0xc] + add r1, r0, #0x0 + ldr r1, [r1, #0x1c] + ldr r1, [r1, #0x0] + bl sub_0204AB58 + add r1, r0, #0x0 + ldr r0, [sp, #0xc] + mov r2, #0x1 + bl sub_0204ABDC + b _0205DEC4 +_0205DEBE: + ldr r0, [sp, #0x18] + mov r1, #0x1 + str r1, [r0, #0x10] +_0205DEC4: + ldr r0, [sp, #0x18] + ldr r0, [r0, #0x10] + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 +_0205DECC: .word 0x020F7374 +_0205DED0: .word 0x0000FFFF + + thumb_func_start sub_0205DED4 +sub_0205DED4: ; 0x0205DED4 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r6, r2, #0x0 + mov r4, #0x0 +_0205DEE0: + mov r0, #0x28 + mul r0, r4 + add r5, r6, r0 + ldr r0, [r5, #0x28] + cmp r0, #0x0 + beq _0205DF36 + ldr r1, [sp, #0x4] + add r0, r4, #0x0 + bl sub_0205E2A0 + str r0, [r5, #0x2c] + cmp r0, #0x0 + bne _0205DF24 + bl sub_0201B9EC + mov r1, #0x29 + lsl r1, r1, #0x4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + cmp r7, #0x64 + blo _0205DF12 + bl sub_02020C2C +_0205DF12: + cmp r7, #0x32 + bhs _0205DF1A + mov r0, #0x0 + b _0205DF1C +_0205DF1A: + mov r0, #0x1 +_0205DF1C: + str r0, [r5, #0x24] + mov r0, #0x0 + str r0, [r5, #0x30] + b _0205DF36 +_0205DF24: + ldr r0, [r6, #0x0] + str r0, [r5, #0x24] + ldr r0, [sp, #0x0] + add r0, #0x90 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl sub_0205E40C + str r0, [r5, #0x30] +_0205DF36: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + blo _0205DEE0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0205DF44 +sub_0205DF44: ; 0x0205DF44 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + mov r6, #0x0 +_0205DF4C: + mov r0, #0x28 + mul r0, r6 + add r4, r7, r0 + ldr r0, [r4, #0x28] + cmp r0, #0x0 + beq _0205DF8C + ldr r0, [r4, #0x30] + ldr r1, [r4, #0x1c] + ldr r2, [r4, #0x20] + cmp r0, #0x0 + beq _0205DF6E + add r0, r5, #0x0 + mov r3, #0x2 + bl sub_0224B818 + str r0, [r4, #0x34] + b _0205DF90 +_0205DF6E: + ldr r0, [r4, #0x24] + cmp r0, #0x0 + bne _0205DF80 + add r0, r5, #0x0 + mov r3, #0x0 + bl sub_0224B818 + str r0, [r4, #0x34] + b _0205DF90 +_0205DF80: + add r0, r5, #0x0 + mov r3, #0x1 + bl sub_0224B818 + str r0, [r4, #0x34] + b _0205DF90 +_0205DF8C: + mov r0, #0x0 + str r0, [r4, #0x34] +_0205DF90: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x4 + blo _0205DF4C + pop {r3-r7, pc} + + thumb_func_start sub_0205DF9C +sub_0205DF9C: ; 0x0205DF9C + push {r3-r7, lr} + mov r4, #0x0 + add r7, r0, #0x0 + add r6, r4, #0x0 +_0205DFA4: + mov r0, #0x28 + mul r0, r6 + add r5, r7, r0 + ldr r0, [r5, #0x34] + cmp r0, #0x0 + beq _0205DFCA + bl sub_0224B86C + cmp r0, #0x0 + beq _0205DFD0 + ldr r0, [r5, #0x34] + bl sub_02064520 + mov r0, #0x0 + str r0, [r5, #0x34] + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + b _0205DFD0 +_0205DFCA: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_0205DFD0: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x4 + blo _0205DFA4 + cmp r4, #0x4 + blo _0205DFE2 + mov r0, #0x1 + pop {r3-r7, pc} +_0205DFE2: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205DFE8 +sub_0205DFE8: ; 0x0205DFE8 + push {r3-r7, lr} + sub sp, #0x8 + ldr r7, [sp, #0x24] + add r6, r0, #0x0 + mov r12, r1 + ldr r0, [sp, #0x28] + mov r1, #0x0 + add r4, r3, #0x0 + str r1, [r7, #0x0] + str r2, [sp, #0x0] + str r1, [r0, #0x0] + str r0, [sp, #0x28] + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r2, r12 + add r3, sp, #0x4 + ldr r5, [sp, #0x20] + bl sub_0205E1B8 + cmp r0, #0x0 + bne _0205E018 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0205E018: + mov r0, #0x1 + str r0, [r4, #0x18] + add r0, sp, #0x4 + ldrb r1, [r0, #0x0] + mov r0, #0x28 + mul r0, r1 + add r0, r4, r0 + ldr r1, [r0, #0x2c] + ldr r6, [r0, #0x24] + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _0205E062 + cmp r1, #0x0 + beq _0205E05E + add r0, r4, #0x4 + bl sub_0205E4D8 + str r6, [r5, #0x0] + mov r0, #0x1 + str r0, [r7, #0x0] + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_0205E1F0 + add r0, sp, #0x4 + ldrb r1, [r0, #0x0] + mov r0, #0x28 + mul r0, r1 + add r0, r4, r0 + ldr r1, [r0, #0x30] + ldr r0, [sp, #0x28] + add sp, #0x8 + str r1, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_0205E05E: + str r6, [r5, #0x0] + b _0205E074 +_0205E062: + str r6, [r5, #0x0] + mov r0, #0x0 + str r0, [r4, #0x14] + ldr r0, [sp, #0x0] + bl sub_0205E258 + add r1, r4, #0x0 + add r1, #0xd0 + strb r0, [r1, #0x0] +_0205E074: + ldr r0, [r5, #0x0] + str r0, [r4, #0x0] + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205E080 +sub_0205E080: ; 0x0205E080 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x0 + bne _0205E090 + bl sub_02020C2C +_0205E090: + str r4, [r5, #0x8] + str r6, [r5, #0xc] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205E098 +sub_0205E098: ; 0x0205E098 + ldr r3, [r0, #0x8] + str r3, [r1, #0x0] + ldr r0, [r0, #0xc] + str r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0205E0A4 +sub_0205E0A4: ; 0x0205E0A4 + ldr r0, [r0, #0x18] + bx lr + + thumb_func_start sub_0205E0A8 +sub_0205E0A8: ; 0x0205E0A8 + push {r3-r7, lr} + add r7, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + cmp r0, #0x0 + beq _0205E126 + ldr r0, [r7, #0x10] + cmp r0, #0x0 + bne _0205E126 + mov r6, #0x0 + add r5, r6, #0x0 +_0205E0C0: + add r0, r7, #0x0 + add r0, #0x90 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0x1c + add r4, r0, r5 + add r0, r4, #0x0 + add r0, #0x1c + add r1, #0xbc + bl sub_0201B76C + ldr r1, [r4, #0xc] + cmp r1, #0x0 + beq _0205E0E4 + cmp r0, #0x0 + bne _0205E0E4 + mov r0, #0x0 + str r0, [r4, #0xc] +_0205E0E4: + add r6, r6, #0x1 + add r5, #0x28 + cmp r6, #0x4 + blt _0205E0C0 + add r0, r7, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + mov r2, #0x0 + add r3, r0, #0x0 + add r4, r2, #0x0 + add r3, #0x1c +_0205E0FA: + ldr r1, [r3, #0xc] + cmp r1, #0x0 + bne _0205E102 + add r2, r2, #0x1 +_0205E102: + add r4, r4, #0x1 + add r3, #0x28 + cmp r4, #0x4 + blt _0205E0FA + cmp r2, #0x4 + bne _0205E126 + bl sub_0205DD40 + ldr r1, [r7, #0x1c] + add r0, r7, #0x0 + ldr r1, [r1, #0x0] + bl sub_0204AB58 + add r1, r0, #0x0 + add r0, r7, #0x0 + mov r2, #0x1 + bl sub_0204ABDC +_0205E126: + pop {r3-r7, pc} + + thumb_func_start sub_0205E128 +sub_0205E128: ; 0x0205E128 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_0205E12C +sub_0205E12C: ; 0x0205E12C + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x4] + add r1, sp, #0x10 + sub r4, r2, #0x4 + ldrb r2, [r1, #0x10] + ldrb r1, [r1, #0x14] + ldr r5, [sp, #0x28] + add r4, r4, r2 + sub r2, r3, #0x4 + add r6, r2, r1 + str r4, [r5, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + add r7, r0, #0x0 + str r6, [r5, #0x4] + bl sub_0204A6E0 + bl sub_0205478C + cmp r0, #0x0 + beq _0205E1AE + lsl r0, r4, #0x10 + str r0, [r5, #0x1c] + lsl r0, r6, #0x10 + str r0, [r5, #0x24] + add r0, sp, #0x8 + str r0, [sp, #0x0] + ldr r2, [r5, #0x1c] + ldr r3, [r5, #0x24] + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0204A708 + ldr r1, [sp, #0x4] + str r0, [r5, #0x20] + cmp r1, r0 + beq _0205E180 + mov r0, #0x0 + add sp, #0xc + str r0, [r5, #0xc] + pop {r4-r7, pc} +_0205E180: + asr r1, r4, #0x4 + asr r2, r6, #0x4 + lsr r1, r1, #0x1b + lsr r2, r2, #0x1b + add r1, r4, r1 + add r2, r6, r2 + ldr r0, [r7, #0x28] + asr r1, r1, #0x5 + asr r2, r2, #0x5 + bl sub_0203451C + ldr r1, [r7, #0x1c] + ldr r1, [r1, #0x0] + cmp r1, r0 + beq _0205E1A6 + mov r0, #0x0 + add sp, #0xc + str r0, [r5, #0xc] + pop {r4-r7, pc} +_0205E1A6: + mov r0, #0x1 + add sp, #0xc + str r0, [r5, #0xc] + pop {r4-r7, pc} +_0205E1AE: + mov r0, #0x0 + str r0, [r5, #0xc] + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205E1B8 +sub_0205E1B8: ; 0x0205E1B8 + push {r4-r7} + mov r5, #0x0 + mov r6, #0x28 +_0205E1BE: + add r4, r5, #0x0 + mul r4, r6 + add r4, r0, r4 + ldr r7, [r4, #0x28] + cmp r7, #0x0 + beq _0205E1DE + ldr r7, [r4, #0x1c] + cmp r1, r7 + bne _0205E1DE + ldr r4, [r4, #0x20] + cmp r2, r4 + bne _0205E1DE + strb r5, [r3, #0x0] + mov r0, #0x1 + pop {r4-r7} + bx lr +_0205E1DE: + add r4, r5, #0x1 + lsl r4, r4, #0x18 + lsr r5, r4, #0x18 + cmp r5, #0x4 + blo _0205E1BE + mov r0, #0x0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_0205E1F0 +sub_0205E1F0: ; 0x0205E1F0 + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_0202A9B0 + bl sub_0202A9AC + add r3, r5, #0x0 + add r3, #0xd0 + ldrb r3, [r3, #0x0] + add r4, r0, #0x0 + add r1, r4, #0x2 + lsl r6, r3, #0x2 + ldrh r3, [r1, r6] + ldr r2, [r5, #0x4] + cmp r3, r2 + bge _0205E256 + strh r2, [r1, r6] + add r1, r5, #0x0 + add r1, #0xd0 + ldrb r1, [r1, #0x0] + ldr r2, [r5, #0x8] + lsl r1, r1, #0x2 + strh r2, [r4, r1] + bl sub_02245844 + add r0, r5, #0x0 + add r0, #0xd0 + ldrb r0, [r0, #0x0] + ldr r2, [r5, #0x4] + lsl r0, r0, #0x2 + add r0, r4, r0 + ldrh r0, [r0, #0x2] + cmp r0, r2 + bgt _0205E256 + mov r1, #0x0 + mov r3, #0x2 +_0205E23A: + sub r0, r3, r1 + lsl r6, r0, #0x2 + add r6, r4, r6 + ldrh r6, [r6, #0x2] + cmp r2, r6 + bne _0205E24C + add r5, #0xd0 + strb r0, [r5, #0x0] + pop {r4-r6, pc} +_0205E24C: + add r1, r1, #0x1 + cmp r1, #0x3 + blt _0205E23A + bl sub_02020C2C +_0205E256: + pop {r4-r6, pc} + + thumb_func_start sub_0205E258 +sub_0205E258: ; 0x0205E258 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0202A9B0 + bl sub_0202A9AC + mov r2, #0x0 +_0205E266: + lsl r1, r2, #0x2 + ldrh r1, [r0, r1] + cmp r1, #0x0 + bne _0205E272 + add r0, r2, #0x0 + pop {r3, pc} +_0205E272: + add r1, r2, #0x1 + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + cmp r2, #0x3 + blo _0205E266 + ldrh r2, [r0, #0x2] + ldrh r1, [r0, #0x6] + cmp r2, r1 + blo _0205E288 + mov r1, #0x1 + b _0205E28A +_0205E288: + mov r1, #0x0 +_0205E28A: + lsl r1, r1, #0x18 + lsr r2, r1, #0x18 + lsl r1, r2, #0x2 + add r1, r0, r1 + ldrh r1, [r1, #0x2] + ldrh r0, [r0, #0xa] + cmp r1, r0 + blo _0205E29C + mov r2, #0x2 +_0205E29C: + add r0, r2, #0x0 + pop {r3, pc} + + thumb_func_start sub_0205E2A0 +sub_0205E2A0: ; 0x0205E2A0 + push {r3-r7, lr} + sub sp, #0x8 + ldr r3, _0205E308 ; =0x020F7374 + add r5, r0, #0x0 + ldrb r4, [r3, #0x0] + add r2, sp, #0x0 + add r0, sp, #0x4 + strb r4, [r2, #0x4] + ldrb r4, [r3, #0x1] + add r7, sp, #0x0 + cmp r1, #0x1 + strb r4, [r2, #0x5] + ldrb r4, [r3, #0x2] + strb r4, [r2, #0x6] + ldrb r4, [r3, #0x3] + strb r4, [r2, #0x7] + ldrb r4, [r3, #0x8] + strb r4, [r2, #0x0] + ldrb r4, [r3, #0x9] + strb r4, [r2, #0x1] + ldrb r4, [r3, #0xa] + strb r4, [r2, #0x2] + ldrb r3, [r3, #0xb] + strb r3, [r2, #0x3] + bne _0205E2D6 + add r6, r0, #0x0 + b _0205E2DC +_0205E2D6: + cmp r1, #0x4 + bne _0205E2DC + add r6, r7, #0x0 +_0205E2DC: + bl sub_0201B9EC + mov r1, #0x29 + lsl r1, r1, #0x4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x64 + blo _0205E2F4 + bl sub_02020C2C +_0205E2F4: + ldrb r0, [r6, r5] + cmp r4, r0 + bge _0205E300 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0205E300: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0205E308: .word 0x020F7374 + + thumb_func_start sub_0205E30C +sub_0205E30C: ; 0x0205E30C + push {r3-r7, lr} + add r7, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r1, [r5, #0x0] + cmp r1, #0x4 + bhi _0205E3FC + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r6, r1, #0x2 + lsl r2, r3, #0x2 + lsl r2, r7, #0x2 + lsl r4, r5, #0x2 + ldr r0, [r4, #0x34] + bl sub_02058780 + ldr r0, [r4, #0xc] + bl sub_0202A9B0 + bl sub_0202AB40 + add r6, r0, #0x0 + ldrb r0, [r6, #0x0] + cmp r0, #0x32 + bhs _0205E374 + mov r2, #0x0 + ldr r1, _0205E400 ; =0x0000230A + add r0, r7, #0x0 + add r3, r2, #0x0 + bl sub_02038CD8 + add r0, r4, #0x0 + mov r1, #0x29 + bl sub_02039438 + ldrb r2, [r6, #0x0] + mov r1, #0x32 + sub r1, r1, r2 + strh r1, [r0, #0x0] + mov r0, #0x4 + str r0, [r5, #0x0] + b _0205E3FC +_0205E374: + mov r0, #0x0 + strb r0, [r6, #0x0] + ldr r0, [r4, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_0205532C + add r3, r4, #0x0 + add r3, #0x90 + add r2, r0, #0x0 + ldr r3, [r3, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0205DD80 + add r0, r4, #0x0 + add r0, #0x90 + ldr r2, [r0, #0x0] + ldr r0, [r2, #0x10] + cmp r0, #0x0 + beq _0205E3BA + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0205DED4 + add r0, r4, #0x0 + add r4, #0x90 + ldr r1, [r4, #0x0] + bl sub_0205DF44 + mov r0, #0x1 + str r0, [r5, #0x0] + b _0205E3FC +_0205E3BA: + mov r0, #0x3 + str r0, [r5, #0x0] + b _0205E3FC +_0205E3C0: + .byte 0x10, 0x48, 0xA6, 0xF7, 0x2B, 0xFF, 0x02, 0x20, 0x28, 0x60, 0x17, 0xE0, 0x90, 0x34, 0x20, 0x68 + .byte 0xFF, 0xF7, 0xE4, 0xFD, 0x00, 0x28, 0x11, 0xD0, 0x04, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0xB8, 0xF7 + .byte 0x1B, 0xFB, 0x60, 0x6B, 0xFA, 0xF7, 0xE4, 0xF9, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x22, 0x06, 0x49 + .byte 0x38, 0x1C, 0x13, 0x1C, 0xDA, 0xF7, 0x70, 0xFC, 0x04, 0x20, 0x28, 0x60 +_0205E3FC: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0205E400: .word 0x0000230A +_0205E404: + .byte 0x7E, 0x04, 0x00, 0x00, 0x0B, 0x23, 0x00, 0x00 + + thumb_func_start sub_0205E40C +sub_0205E40C: ; 0x0205E40C + push {r3-r5, lr} + cmp r0, #0x0 + bne _0205E416 + mov r0, #0x0 + pop {r3-r5, pc} +_0205E416: + add r2, r0, #0x0 + mov r1, #0xc8 + ldr r0, _0205E478 ; =0x00002008 + mul r2, r1 + sub r5, r0, r2 + cmp r5, #0xc8 + bge _0205E426 + add r5, r1, #0x0 +_0205E426: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bne _0205E430 + bl sub_02020C2C +_0205E430: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x1 + bhi _0205E43C + mov r4, #0x0 + b _0205E46A +_0205E43C: + bl sub_0201B9EC + add r4, r0, #0x0 + lsl r1, r5, #0x10 + ldr r0, _0205E47C ; =0x0000FFFF + lsr r1, r1, #0x10 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + cmp r4, r0 + blo _0205E46A + bl sub_02020C2C +_0205E46A: + cmp r4, #0x0 + bne _0205E472 + mov r0, #0x1 + pop {r3-r5, pc} +_0205E472: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0205E478: .word 0x00002008 +_0205E47C: .word 0x0000FFFF + + thumb_func_start sub_0205E480 +sub_0205E480: ; 0x0205E480 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + add r0, r0, #0x4 + bl sub_0205E4D8 + add r0, r4, #0x0 + add r4, #0x90 + ldr r1, [r4, #0x0] + bl sub_0205E1F0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205E49C +sub_0205E49C: ; 0x0205E49C + add r0, #0x90 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0205E4A4 +sub_0205E4A4: ; 0x0205E4A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206F158 + ldr r1, _0205E4D4 ; =0x000001AF + mov r2, #0x1 + mov r3, #0x4 + bl sub_0206EE50 + cmp r0, #0x1 + bne _0205E4D0 + ldr r0, [r4, #0xc] + bl sub_0202A9B0 + bl sub_0202AB40 + ldrb r1, [r0, #0x0] + cmp r1, #0x32 + bhs _0205E4D0 + add r1, r1, #0x1 + strb r1, [r0, #0x0] +_0205E4D0: + pop {r4, pc} + nop +_0205E4D4: .word 0x000001AF + + thumb_func_start sub_0205E4D8 +sub_0205E4D8: ; 0x0205E4D8 + ldr r1, [r0, #0x0] + add r2, r1, #0x1 + ldr r1, _0205E4E8 ; =0x000003E7 + str r2, [r0, #0x0] + cmp r2, r1 + ble _0205E4E6 + str r1, [r0, #0x0] +_0205E4E6: + bx lr + .balign 4 +_0205E4E8: .word 0x000003E7 + + thumb_func_start sub_0205E4EC +sub_0205E4EC: ; 0x0205E4EC + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x8 + bl sub_0205858C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205E5B4 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058848 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020588B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205E518 +sub_0205E518: ; 0x0205E518 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E5B4 + cmp r0, #0x0 + beq _0205E548 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_020588B8 + ldr r6, _0205E54C ; =0x020F7388 +_0205E538: + ldrb r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205E538 +_0205E548: + pop {r4-r6, pc} + nop +_0205E54C: .word 0x020F7388 + + thumb_func_start sub_0205E550 +sub_0205E550: ; 0x0205E550 + bx lr + .balign 4 + + thumb_func_start sub_0205E554 +sub_0205E554: ; 0x0205E554 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205886C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E608 + cmp r0, #0x1 + bne _0205E592 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E63C + add r0, r5, #0x0 + bl sub_0205E698 + cmp r0, #0x1 + bne _0205E592 + add r0, r5, #0x0 + bl sub_0205883C + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} +_0205E592: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E598 +sub_0205E598: ; 0x0205E598 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x1 + bne _0205E5B0 + add r0, r5, #0x0 + bl sub_02058848 + mov r0, #0x0 + strb r0, [r4, #0x0] +_0205E5B0: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205E5B4 +sub_0205E5B4: ; 0x0205E5B4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058578 + bl sub_020552A4 + cmp r0, #0x0 + bne _0205E5CC + mov r0, #0x0 + strb r0, [r4, #0x1] + pop {r3-r5, pc} +_0205E5CC: + ldrb r0, [r4, #0x1] + cmp r0, #0x0 + bne _0205E5DA + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E5E0 +_0205E5DA: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E5E0 +sub_0205E5E0: ; 0x0205E5E0 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_02058738 + bl sub_02055698 + mov r1, #0x1 + add r4, r0, #0x0 + strb r1, [r5, #0x1] + bl sub_02055320 + strh r0, [r5, #0x2] + add r0, r4, #0x0 + bl sub_0205532C + strh r0, [r5, #0x4] + mov r0, #0xff + strh r0, [r5, #0x6] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E608 +sub_0205E608: ; 0x0205E608 + push {r4-r6, lr} + add r5, r1, #0x0 + bl sub_02058738 + bl sub_02055698 + add r6, r0, #0x0 + beq _0205E638 + bl sub_02055320 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0205532C + mov r1, #0x2 + ldrsh r1, [r5, r1] + cmp r4, r1 + bne _0205E634 + mov r1, #0x4 + ldrsh r1, [r5, r1] + cmp r0, r1 + beq _0205E638 +_0205E634: + mov r0, #0x1 + pop {r4-r6, pc} +_0205E638: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0205E63C +sub_0205E63C: ; 0x0205E63C + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_02058738 + bl sub_02055698 + add r4, r0, #0x0 + bl sub_02055320 + strh r0, [r5, #0x2] + add r0, r4, #0x0 + bl sub_0205532C + strh r0, [r5, #0x4] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E65C +sub_0205E65C: ; 0x0205E65C + push {r3, lr} + bl sub_02058738 + bl sub_02055698 + bl sub_02055464 + add r1, r0, #0x0 + sub r1, #0x58 + cmp r1, #0x3 + bhi _0205E694 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x10 + pop {r3, pc} +_0205E68A: + .byte 0x11, 0x20, 0x08, 0xBD, 0x12, 0x20 + .byte 0x08, 0xBD, 0x13, 0x20 +_0205E694: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205E698 +sub_0205E698: ; 0x0205E698 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02058738 + bl sub_02055698 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B2C + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02058B4C + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_02055338 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02055344 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + cmp r0, r6 + bne _0205E6D2 + cmp r7, r4 + beq _0205E6FA +_0205E6D2: + add r0, r5, #0x0 + bl sub_0205E65C + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_02059E80 + ldr r1, [sp, #0x4] + bl sub_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205AE0C + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0205E6FA: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0205E700 +sub_0205E700: ; 0x0205E700 + push {r3-r5, lr} + mov r1, #0xc + add r5, r0, #0x0 + bl sub_0205858C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E854 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r5, #0x0 + bl sub_02058848 + mov r0, #0x0 + strb r0, [r4, #0x1] + pop {r3-r5, pc} + + thumb_func_start sub_0205E728 +sub_0205E728: ; 0x0205E728 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020585B0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E854 + cmp r0, #0x0 + beq _0205E750 + ldr r6, _0205E754 ; =0x020F7390 +_0205E740: + ldrb r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205E740 +_0205E750: + pop {r4-r6, pc} + nop +_0205E754: .word 0x020F7390 + + thumb_func_start sub_0205E758 +sub_0205E758: ; 0x0205E758 + bx lr + .balign 4 + + thumb_func_start sub_0205E75C +sub_0205E75C: ; 0x0205E75C + push {r3, lr} + bl sub_020585B0 + mov r1, #0x0 + strb r1, [r0, #0x1] + pop {r3, pc} + + thumb_func_start sub_0205E768 +sub_0205E768: ; 0x0205E768 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205886C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E8F4 + cmp r0, #0x1 + bne _0205E7A0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0205E940 + cmp r0, #0x1 + bne _0205E7A0 + add r0, r5, #0x0 + bl sub_0205883C + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} +_0205E7A0: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205E7A4 +sub_0205E7A4: ; 0x0205E7A4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0205B080 + cmp r0, #0x0 + bne _0205E7B6 + mov r0, #0x0 + pop {r3-r5, pc} +_0205E7B6: + add r0, r5, #0x0 + bl sub_02058848 + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E7C4 +sub_0205E7C4: ; 0x0205E7C4 + push {r4-r7, lr} + sub sp, #0xc + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0x8] + bl sub_02058488 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02058450 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205C9E8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02058578 + ldr r1, [sp, #0x0] + add r7, r0, #0x0 + cmp r1, #0x8 + bhi _0205E84C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0x1 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + add r1, sp, #0x4 + add r2, sp, #0x8 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + bne _0205E84C +_0205E81E: + ldr r0, [sp, #0x4] + cmp r4, r0 + beq _0205E83C + bl sub_02058450 + cmp r6, r0 + bne _0205E83C + ldr r0, [sp, #0x4] + bl sub_0205C9E8 + cmp r5, r0 + bne _0205E83C + ldr r0, [sp, #0x4] + add sp, #0xc + pop {r4-r7, pc} +_0205E83C: + add r0, r7, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x8 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + beq _0205E81E +_0205E84C: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205E854 +sub_0205E854: ; 0x0205E854 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + str r1, [sp, #0x0] + bl sub_02058578 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02058450 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205C9E8 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x8 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + bne _0205E8C6 +_0205E886: + ldr r0, [sp, #0x4] + cmp r5, r0 + beq _0205E8B6 + bl sub_02058450 + cmp r7, r0 + bne _0205E8B6 + ldr r0, [sp, #0x4] + bl sub_0205C9E8 + cmp r6, r0 + bne _0205E8B6 + ldr r0, [sp, #0x0] + ldrb r0, [r0, #0x1] + cmp r0, #0x0 + bne _0205E8B0 + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0205E8D0 +_0205E8B0: + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0205E8B6: + add r0, r4, #0x0 + add r1, sp, #0x4 + add r2, sp, #0x8 + mov r3, #0x1 + bl sub_020580F4 + cmp r0, #0x1 + beq _0205E886 +_0205E8C6: + ldr r1, [sp, #0x0] + mov r0, #0x0 + strb r0, [r1, #0x1] + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0205E8D0 +sub_0205E8D0: ; 0x0205E8D0 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r0, #0x1 + add r4, r2, #0x0 + strb r0, [r5, #0x1] + add r0, r4, #0x0 + bl sub_02058B2C + strh r0, [r5, #0x2] + add r0, r4, #0x0 + bl sub_02058B4C + strh r0, [r5, #0x4] + mov r0, #0xff + strh r0, [r5, #0x6] + str r4, [r5, #0x8] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205E8F4 +sub_0205E8F4: ; 0x0205E8F4 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r5, [r1, #0x8] + bl sub_02058B2C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02058B4C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B14 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_02058B24 + cmp r4, r7 + bne _0205E91E + cmp r6, r0 + beq _0205E93A +_0205E91E: + add r0, r5, #0x0 + bl sub_02058854 + cmp r0, #0x1 + beq _0205E936 + mov r1, #0x61 + add r0, r5, #0x0 + lsl r1, r1, #0x6 + bl sub_02058424 + cmp r0, #0x0 + bne _0205E93A +_0205E936: + mov r0, #0x1 + pop {r3-r7, pc} +_0205E93A: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0205E940 +sub_0205E940: ; 0x0205E940 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + add r5, r1, #0x0 + bl sub_02058B2C + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02058B4C + add r6, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_02058B2C + str r0, [sp, #0x8] + ldr r0, [r5, #0x8] + bl sub_02058B4C + add r7, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_02058B14 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + bl sub_02058B24 + add r3, r0, #0x0 + ldr r0, [sp, #0x8] + cmp r4, r0 + bne _0205E986 + cmp r6, r7 + bne _0205E986 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0205E986: + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02059E80 + add r5, r0, #0x0 + bl sub_02059BF4 + add r4, r4, r0 + add r0, r5, #0x0 + bl sub_02059C00 + add r1, r6, r0 + ldr r0, [sp, #0x8] + cmp r4, r0 + bne _0205E9AA + cmp r1, r7 + beq _0205E9C0 +_0205E9AA: + add r0, r5, #0x0 + mov r1, #0xc + bl sub_0205AFDC + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_0205AE0C + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_0205E9C0: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205E9C8 +sub_0205E9C8: ; 0x0205E9C8 + push {r4-r5, lr} + sub sp, #0xc + add r5, r1, #0x0 + add r4, r0, #0x0 + mov r1, #0x8 + bl sub_0205858C + strb r5, [r0, #0x1] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02058544 + add r0, r4, #0x0 + bl sub_02058848 + mov r1, #0x1 + add r0, r4, #0x0 + lsl r1, r1, #0x14 + bl sub_02058410 + ldr r5, _0205EA0C ; =0x020F7398 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058B94 + add sp, #0xc + pop {r4-r5, pc} + nop +_0205EA0C: .word 0x020F7398 + + thumb_func_start sub_0205EA10 +sub_0205EA10: ; 0x0205EA10 + ldr r3, _0205EA18 ; =sub_0205E9C8 + mov r1, #0x0 + bx r3 + nop +_0205EA18: .word sub_0205E9C8 + 1 + + thumb_func_start sub_0205EA1C +sub_0205EA1C: ; 0x0205EA1C + ldr r3, _0205EA24 ; =sub_0205E9C8 + mov r1, #0x1 + bx r3 + nop +_0205EA24: .word sub_0205E9C8 + 1 + + thumb_func_start sub_0205EA28 +sub_0205EA28: ; 0x0205EA28 + ldr r3, _0205EA30 ; =sub_0205E9C8 + mov r1, #0x2 + bx r3 + nop +_0205EA30: .word sub_0205E9C8 + 1 + + thumb_func_start sub_0205EA34 +sub_0205EA34: ; 0x0205EA34 + ldr r3, _0205EA3C ; =sub_0205E9C8 + mov r1, #0x3 + bx r3 + nop +_0205EA3C: .word sub_0205E9C8 + 1 + + thumb_func_start sub_0205EA40 +sub_0205EA40: ; 0x0205EA40 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_020585B0 + ldr r6, _0205EA60 ; =0x020F7380 + add r4, r0, #0x0 +_0205EA4C: + ldrb r2, [r4, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + ldr r2, [r6, r2] + blx r2 + cmp r0, #0x1 + beq _0205EA4C + pop {r4-r6, pc} + nop +_0205EA60: .word 0x020F7380 + + thumb_func_start sub_0205EA64 +sub_0205EA64: ; 0x0205EA64 + push {r3, lr} + bl sub_0205EB20 + cmp r0, #0x0 + beq _0205EA72 + bl sub_021E4DE4 +_0205EA72: + pop {r3, pc} + + thumb_func_start sub_0205EA74 +sub_0205EA74: ; 0x0205EA74 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_020585B0 + add r5, r0, #0x0 + mov r1, #0x0 + strb r1, [r5, #0x0] + add r0, r4, #0x0 + bl sub_0205EB14 + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + bne _0205EAA6 + ldr r5, _0205EAAC ; =0x020F73A4 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r2, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + bl sub_02058B94 +_0205EAA6: + add sp, #0xc + pop {r4-r5, pc} + nop +_0205EAAC: .word 0x020F73A4 + + thumb_func_start sub_0205EAB0 +sub_0205EAB0: ; 0x0205EAB0 + push {r3-r5, lr} + add r4, r1, #0x0 + ldrb r1, [r4, #0x2] + add r5, r0, #0x0 + cmp r1, #0x0 + bne _0205EACA + ldrb r1, [r4, #0x1] + bl sub_0224CECC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205EB14 +_0205EACA: + add r0, r5, #0x0 + bl sub_02058848 + add r0, r5, #0x0 + bl sub_0205886C + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205EAE0 +sub_0205EAE0: ; 0x0205EAE0 + push {r3-r5, lr} + add r4, r1, #0x0 + ldrb r1, [r4, #0x2] + add r5, r0, #0x0 + cmp r1, #0x0 + bne _0205EB0E + bl sub_0205EB20 + cmp r0, #0x0 + bne _0205EB0E + add r0, r5, #0x0 + bl sub_02058934 + cmp r0, #0x1 + bne _0205EB0E + ldrb r1, [r4, #0x1] + add r0, r5, #0x0 + bl sub_0224CECC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_0205EB14 +_0205EB0E: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205EB14 +sub_0205EB14: ; 0x0205EB14 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020585B0 + str r4, [r0, #0x4] + pop {r4, pc} + + thumb_func_start sub_0205EB20 +sub_0205EB20: ; 0x0205EB20 + push {r3, lr} + bl sub_020585B0 + ldr r0, [r0, #0x4] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205EB2C +sub_0205EB2C: ; 0x0205EB2C + push {r3, lr} + bl sub_020585B0 + mov r1, #0x1 + strb r1, [r0, #0x2] + pop {r3, pc} + + thumb_func_start sub_0205EB38 +sub_0205EB38: ; 0x0205EB38 + push {r4-r7, lr} + sub sp, #0x24 + ldr r3, _0205EBE0 ; =0x020F73B0 + add r2, sp, #0xc + add r4, r0, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + mov r1, #0x5b + add r0, r4, #0x0 + lsl r1, r1, #0x2 + bl sub_02016998 + mov r2, #0x5b + add r7, r0, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE34C + add r0, r7, #0x0 + add r1, sp, #0xc + mov r2, #0x2 + mov r3, #0xb + bl sub_021D959C + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _0205EBE4 ; =0x000034D8 + mov r2, #0x0 + str r0, [sp, #0x8] + add r0, r7, #0x0 + mov r1, #0x55 + add r3, r2, #0x0 + bl sub_021D967C + ldr r0, _0205EBE4 ; =0x000034D8 + mov r1, #0x55 + str r0, [sp, #0x0] + add r0, r7, #0x0 + mov r2, #0x2 + mov r3, #0x0 + bl sub_021D96F4 + ldr r0, _0205EBE4 ; =0x000034D8 + mov r1, #0x55 + str r0, [sp, #0x0] + add r0, r7, #0x0 + mov r2, #0x3 + mov r3, #0x0 + bl sub_021D9708 + mov r2, #0x1 + ldr r0, _0205EBE4 ; =0x000034D8 + str r2, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x55 + mov r3, #0x0 + bl sub_021D971C + ldr r4, _0205EBE8 ; =0x020F73C8 + mov r6, #0x0 + add r5, r7, #0x0 +_0205EBC0: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_021D9820 + mov r1, #0x59 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r6, r6, #0x1 + add r4, #0x34 + add r5, r5, #0x4 + cmp r6, #0x2 + blo _0205EBC0 + add r0, r7, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0205EBE0: .word 0x020F73B0 +_0205EBE4: .word 0x000034D8 +_0205EBE8: .word 0x020F73C8 + + thumb_func_start sub_0205EBEC +sub_0205EBEC: ; 0x0205EBEC + push {r3-r7, lr} + add r7, r0, #0x0 + mov r6, #0x59 + mov r4, #0x0 + add r5, r7, #0x0 + lsl r6, r6, #0x2 +_0205EBF8: + ldr r0, [r5, r6] + cmp r0, #0x0 + beq _0205EC02 + bl sub_0200C3DC +_0205EC02: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x2 + blt _0205EBF8 + add r0, r7, #0x0 + bl sub_021D99F8 + add r0, r7, #0x0 + bl sub_02016A18 + pop {r3-r7, pc} + + thumb_func_start sub_0205EC18 +sub_0205EC18: ; 0x0205EC18 + push {r3-r7, lr} + mov r7, #0x1 + mov r6, #0x59 + str r0, [sp, #0x0] + mov r4, #0x0 + add r5, r0, #0x0 + lsl r7, r7, #0xc + lsl r6, r6, #0x2 +_0205EC28: + ldr r0, [r5, r6] + cmp r0, #0x0 + beq _0205EC36 + ldr r0, [r0, #0x0] + add r1, r7, #0x0 + bl sub_020201E4 +_0205EC36: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x2 + blt _0205EC28 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + bl sub_0201FDEC + pop {r3-r7, pc} + + thumb_func_start sub_0205EC48 +sub_0205EC48: ; 0x0205EC48 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r4, r1, #0x0 + add r6, r3, #0x0 + bl sub_0200C714 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0200C714 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0205EC6C +sub_0205EC6C: ; 0x0205EC6C + push {r3, lr} + cmp r1, #0x2 + bhs _0205EC82 + lsl r1, r1, #0x2 + add r1, r0, r1 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add r1, r2, #0x0 + bl sub_0200C644 +_0205EC82: + pop {r3, pc} + + thumb_func_start sub_0205EC84 +sub_0205EC84: ; 0x0205EC84 + ldr r3, _0205EC88 ; =sub_020462E4 + bx r3 + .balign 4 +_0205EC88: .word sub_020462E4 + 1 + + thumb_func_start sub_0205EC8C +sub_0205EC8C: ; 0x0205EC8C + ldr r3, _0205EC90 ; =sub_0204630C + bx r3 + .balign 4 +_0205EC90: .word sub_0204630C + 1 + + thumb_func_start sub_0205EC94 +sub_0205EC94: ; 0x0205EC94 + ldr r3, _0205EC98 ; =sub_020462B8 + bx r3 + .balign 4 +_0205EC98: .word sub_020462B8 + 1 + + thumb_func_start sub_0205EC9C +sub_0205EC9C: ; 0x0205EC9C + push {r3, lr} + cmp r1, #0x0 + beq _0205ECB6 + cmp r1, #0x1 + beq _0205ECAC + cmp r1, #0x2 + beq _0205ECC0 + b _0205ECCA +_0205ECAC: + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + bl sub_0205EC84 + b _0205ECCE +_0205ECB6: + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + bl sub_0205EC8C + b _0205ECCE +_0205ECC0: + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + bl sub_0205EC94 + pop {r3, pc} +_0205ECCA: + bl sub_02020C2C +_0205ECCE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205ECD4 +sub_0205ECD4: ; 0x0205ECD4 + ldr r3, _0205ECDC ; =sub_0205EC84 + mov r1, #0x96 + lsl r1, r1, #0x4 + bx r3 + .balign 4 +_0205ECDC: .word sub_0205EC84 + 1 + + thumb_func_start sub_0205ECE0 +sub_0205ECE0: ; 0x0205ECE0 + ldr r3, _0205ECE8 ; =sub_0205EC94 + mov r1, #0x96 + lsl r1, r1, #0x4 + bx r3 + .balign 4 +_0205ECE8: .word sub_0205EC94 + 1 + + thumb_func_start sub_0205ECEC +sub_0205ECEC: ; 0x0205ECEC + ldr r3, _0205ECF4 ; =sub_0205EC94 + ldr r1, _0205ECF8 ; =0x0000098D + bx r3 + nop +_0205ECF4: .word sub_0205EC94 + 1 +_0205ECF8: .word 0x0000098D + + thumb_func_start sub_0205ECFC +sub_0205ECFC: ; 0x0205ECFC + ldr r3, _0205ED04 ; =sub_0205EC84 + ldr r1, _0205ED08 ; =0x00000964 + bx r3 + nop +_0205ED04: .word sub_0205EC84 + 1 +_0205ED08: .word 0x00000964 + + thumb_func_start sub_0205ED0C +sub_0205ED0C: ; 0x0205ED0C + ldr r3, _0205ED14 ; =sub_0205EC94 + ldr r1, _0205ED18 ; =0x00000964 + bx r3 + nop +_0205ED14: .word sub_0205EC94 + 1 +_0205ED18: .word 0x00000964 + + thumb_func_start sub_0205ED1C +sub_0205ED1C: ; 0x0205ED1C + ldr r3, _0205ED24 ; =sub_0205EC84 + ldr r1, _0205ED28 ; =0x00000961 + bx r3 + nop +_0205ED24: .word sub_0205EC84 + 1 +_0205ED28: .word 0x00000961 + + thumb_func_start sub_0205ED2C +sub_0205ED2C: ; 0x0205ED2C + ldr r3, _0205ED34 ; =sub_0205EC8C + ldr r1, _0205ED38 ; =0x00000961 + bx r3 + nop +_0205ED34: .word sub_0205EC8C + 1 +_0205ED38: .word 0x00000961 + + thumb_func_start sub_0205ED3C +sub_0205ED3C: ; 0x0205ED3C + ldr r3, _0205ED44 ; =sub_0205EC94 + ldr r1, _0205ED48 ; =0x00000961 + bx r3 + nop +_0205ED44: .word sub_0205EC94 + 1 +_0205ED48: .word 0x00000961 + + thumb_func_start sub_0205ED4C +sub_0205ED4C: ; 0x0205ED4C + ldr r3, _0205ED54 ; =sub_0205EC84 + ldr r1, _0205ED58 ; =0x00000965 + bx r3 + nop +_0205ED54: .word sub_0205EC84 + 1 +_0205ED58: .word 0x00000965 + + thumb_func_start sub_0205ED5C +sub_0205ED5C: ; 0x0205ED5C + ldr r3, _0205ED64 ; =sub_0205EC8C + ldr r1, _0205ED68 ; =0x00000965 + bx r3 + nop +_0205ED64: .word sub_0205EC8C + 1 +_0205ED68: .word 0x00000965 + + thumb_func_start sub_0205ED6C +sub_0205ED6C: ; 0x0205ED6C + ldr r3, _0205ED74 ; =sub_0205EC94 + ldr r1, _0205ED78 ; =0x00000965 + bx r3 + nop +_0205ED74: .word sub_0205EC94 + 1 +_0205ED78: .word 0x00000965 + + thumb_func_start sub_0205ED7C +sub_0205ED7C: ; 0x0205ED7C + ldr r3, _0205ED84 ; =sub_0205EC84 + ldr r1, _0205ED88 ; =0x0000096D + bx r3 + nop +_0205ED84: .word sub_0205EC84 + 1 +_0205ED88: .word 0x0000096D + + thumb_func_start sub_0205ED8C +sub_0205ED8C: ; 0x0205ED8C + ldr r3, _0205ED94 ; =sub_0205EC8C + ldr r1, _0205ED98 ; =0x0000096D + bx r3 + nop +_0205ED94: .word sub_0205EC8C + 1 +_0205ED98: .word 0x0000096D + + thumb_func_start sub_0205ED9C +sub_0205ED9C: ; 0x0205ED9C + ldr r3, _0205EDA4 ; =sub_0205EC94 + ldr r1, _0205EDA8 ; =0x0000096D + bx r3 + nop +_0205EDA4: .word sub_0205EC94 + 1 +_0205EDA8: .word 0x0000096D + + thumb_func_start sub_0205EDAC +sub_0205EDAC: ; 0x0205EDAC + ldr r3, _0205EDB4 ; =sub_0205EC84 + ldr r1, _0205EDB8 ; =0x0000096E + bx r3 + nop +_0205EDB4: .word sub_0205EC84 + 1 +_0205EDB8: .word 0x0000096E + + thumb_func_start sub_0205EDBC +sub_0205EDBC: ; 0x0205EDBC + ldr r3, _0205EDC4 ; =sub_0205EC84 + ldr r1, _0205EDC8 ; =0x0000096F + bx r3 + nop +_0205EDC4: .word sub_0205EC84 + 1 +_0205EDC8: .word 0x0000096F + + thumb_func_start sub_0205EDCC +sub_0205EDCC: ; 0x0205EDCC + ldr r3, _0205EDD4 ; =sub_0205EC84 + mov r1, #0x97 + lsl r1, r1, #0x4 + bx r3 + .balign 4 +_0205EDD4: .word sub_0205EC84 + 1 + + thumb_func_start sub_0205EDD8 +sub_0205EDD8: ; 0x0205EDD8 + ldr r3, _0205EDE0 ; =sub_0205EC84 + ldr r1, _0205EDE4 ; =0x00000971 + bx r3 + nop +_0205EDE0: .word sub_0205EC84 + 1 +_0205EDE4: .word 0x00000971 + + thumb_func_start sub_0205EDE8 +sub_0205EDE8: ; 0x0205EDE8 + ldr r3, _0205EDF0 ; =sub_0205EC84 + ldr r1, _0205EDF4 ; =0x00000972 + bx r3 + nop +_0205EDF0: .word sub_0205EC84 + 1 +_0205EDF4: .word 0x00000972 + + thumb_func_start sub_0205EDF8 +sub_0205EDF8: ; 0x0205EDF8 + ldr r3, _0205EE00 ; =sub_0205EC84 + ldr r1, _0205EE04 ; =0x00000973 + bx r3 + nop +_0205EE00: .word sub_0205EC84 + 1 +_0205EE04: .word 0x00000973 + + thumb_func_start sub_0205EE08 +sub_0205EE08: ; 0x0205EE08 + push {r3, lr} + cmp r1, #0x4 + bhi _0205EE4A + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + ldr r1, _0205EE4C ; =0x00000968 + bl sub_0205EC84 + pop {r3, pc} +_0205EE2C: + .byte 0x08, 0x49, 0xFF, 0xF7 + .byte 0x29, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7 + .byte 0x21, 0xFF, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7, 0x1D, 0xFF +_0205EE4A: + pop {r3, pc} + .balign 4 +_0205EE4C: .word 0x00000968 +_0205EE50: + .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00, 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 + + thumb_func_start sub_0205EE60 +sub_0205EE60: ; 0x0205EE60 + push {r3, lr} + cmp r1, #0x4 + bhi _0205EEA2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + ldr r1, _0205EEA4 ; =0x00000968 + bl sub_0205EC94 + pop {r3, pc} +_0205EE84: + .byte 0x08, 0x49, 0xFF, 0xF7, 0x05, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7 + .byte 0x01, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7, 0xFD, 0xFE, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7 + .byte 0xF9, 0xFE +_0205EEA2: + pop {r3, pc} + .balign 4 +_0205EEA4: .word 0x00000968 +_0205EEA8: + .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00 + .byte 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 + + thumb_func_start sub_0205EEB8 +sub_0205EEB8: ; 0x0205EEB8 + push {r3, lr} + mov r2, #0x0 + cmp r1, #0x5 + bhi _0205EF0A + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r7, #0 + lsl r2, r1, #0 + lsl r4, r2, #0 + lsl r0, r4, #0 + lsl r2, r5, #0 + lsl r4, r6, #0 + ldr r1, _0205EF10 ; =0x0000097F + bl sub_0205EC94 + add r2, r0, #0x0 + b _0205EF0A +_0205EEE2: + .byte 0x26, 0x21, 0x89, 0x01, 0xFF, 0xF7, 0xD5, 0xFE, 0x02, 0x1C, 0x0D, 0xE0, 0x09, 0x49 + .byte 0xFF, 0xF7, 0xD0, 0xFE, 0x02, 0x1C, 0x08, 0xE0, 0x07, 0x49, 0xFF, 0xF7, 0xCB, 0xFE, 0x02, 0x1C + .byte 0x03, 0xE0, 0x06, 0x49, 0xFF, 0xF7, 0xC6, 0xFE, 0x02, 0x1C +_0205EF0A: + add r0, r2, #0x0 + pop {r3, pc} + nop +_0205EF10: .word 0x0000097F +_0205EF14: + .byte 0x81, 0x09, 0x00, 0x00, 0x82, 0x09, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00 + + thumb_func_start sub_0205EF20 +sub_0205EF20: ; 0x0205EF20 + push {r4-r6, lr} + add r4, r1, #0x0 + ldr r1, _0205F0E4 ; =0x00000132 + add r6, r0, #0x0 + mov r5, #0x0 + cmp r4, r1 + bgt _0205EF7E + blt _0205EF32 + b _0205F036 +_0205EF32: + cmp r4, #0xc9 + bgt _0205EF60 + blt _0205EF3A + b _0205F084 +_0205EF3A: + cmp r4, #0x4b + bgt _0205EF58 + add r1, r4, #0x0 + sub r1, #0x48 + bmi _0205EF5E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r3, #0x4 + lsl r0, r3, #0x4 + lsl r0, r3, #0x4 + lsl r0, r3, #0x4 +_0205EF58: + cmp r4, #0xb9 + bne _0205EF5E + b _0205F0D2 +_0205EF5E: + b _0205F0E0 +_0205EF60: + add r2, r1, #0x0 + sub r2, #0x32 + cmp r4, r2 + bgt _0205EF76 + sub r1, #0x32 + cmp r4, r1 + blt _0205EF70 + b _0205F09E +_0205EF70: + cmp r4, #0xfb + beq _0205F018 + b _0205F0E0 +_0205EF76: + sub r0, r1, #0x1 + cmp r4, r0 + beq _0205F036 + b _0205F0E0 +_0205EF7E: + add r2, r1, #0x0 + add r2, #0x5d + cmp r4, r2 + bgt _0205EFC8 + add r2, r1, #0x0 + add r2, #0x5d + cmp r4, r2 + blt _0205EF90 + b _0205F0B8 +_0205EF90: + add r2, r1, #0x1 + cmp r4, r2 + bgt _0205EF9E + add r0, r2, #0x0 + cmp r4, r0 + beq _0205F036 + b _0205F0E0 +_0205EF9E: + add r1, r1, #0x2 + sub r1, r4, r1 + cmp r1, #0xa + bhi _0205EFD6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r0, #0x2 + lsl r2, r0, #0x2 + lsl r2, r0, #0x2 + lsl r4, r5, #0x4 + lsl r0, r1, #0x1 + lsl r4, r5, #0x4 + lsl r4, r5, #0 + lsl r4, r5, #0x4 + lsl r2, r7, #0 + lsl r4, r5, #0x4 + lsl r6, r2, #0x1 +_0205EFC8: + ldr r0, _0205F0E8 ; =0x000001EE + cmp r4, r0 + bgt _0205EFD8 + bge _0205F036 + sub r0, #0x48 + cmp r4, r0 + beq _0205F026 +_0205EFD6: + b _0205F0E0 +_0205EFD8: + add r0, r0, #0x3 + cmp r4, r0 + beq _0205F036 + b _0205F0E0 +_0205EFE0: + .byte 0x42, 0x49, 0xFF, 0xF7, 0x57, 0xFE, 0x01, 0x28, 0x7A, 0xD1, 0x41, 0x4D, 0x78, 0xE0, 0x3F, 0x49 + .byte 0xFF, 0xF7, 0x50, 0xFE, 0x01, 0x28, 0x73, 0xD1, 0x3E, 0x4D, 0x71, 0xE0, 0x3E, 0x49, 0xFF, 0xF7 + .byte 0x49, 0xFE, 0x01, 0x28, 0x6C, 0xD1, 0x3A, 0x4D, 0x6A, 0xE0, 0x3C, 0x49, 0xFF, 0xF7, 0x42, 0xFE + .byte 0x01, 0x28, 0x65, 0xD1, 0x36, 0x4D, 0x63, 0xE0 +_0205F018: + ldr r1, _0205F100 ; =0x00000995 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F104 ; =0x0000042D + b _0205F0E0 +_0205F026: + ldr r1, _0205F108 ; =0x00000993 + add r0, r6, #0x0 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F10C ; =0x0000044A + b _0205F0E0 +_0205F036: + ldr r1, _0205F110 ; =0x00000985 + add r0, r6, #0x0 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F054 + bl sub_0201277C + cmp r0, #0x0 + bne _0205F050 + mov r5, #0xfe + lsl r5, r5, #0x2 + b _0205F0E0 +_0205F050: + ldr r5, _0205F114 ; =0x00000415 + b _0205F0E0 +_0205F054: + ldr r0, _0205F118 ; =0x00000131 + cmp r4, r0 + bne _0205F0E0 + ldr r1, _0205F11C ; =0x00000986 + add r0, r6, #0x0 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F120 ; =0x0000042B + b _0205F0E0 +_0205F06A: + .byte 0x2E, 0x49, 0xFF, 0xF7, 0x12, 0xFE + .byte 0x01, 0x28, 0x35, 0xD1, 0xB3, 0xF7, 0x82, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x2A, 0x4D, 0x2F, 0xE0 + .byte 0x2A, 0x4D, 0x2D, 0xE0 +_0205F084: + ldr r1, _0205F130 ; =0x00000988 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + bl sub_0201277C + cmp r0, #0x0 + bne _0205F09A + ldr r5, _0205F134 ; =0x000003FF + b _0205F0E0 +_0205F09A: + ldr r5, _0205F138 ; =0x0000041C + b _0205F0E0 +_0205F09E: + ldr r1, _0205F13C ; =0x00000989 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + bl sub_0201277C + cmp r0, #0x0 + bne _0205F0B4 + ldr r5, _0205F140 ; =0x000003EE + b _0205F0E0 +_0205F0B4: + ldr r5, _0205F144 ; =0x0000040B + b _0205F0E0 +_0205F0B8: + ldr r1, _0205F148 ; =0x0000098A + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + bl sub_0201277C + cmp r0, #0x0 + bne _0205F0CE + ldr r5, _0205F140 ; =0x000003EE + b _0205F0E0 +_0205F0CE: + ldr r5, _0205F144 ; =0x0000040B + b _0205F0E0 +_0205F0D2: + ldr r1, _0205F14C ; =0x0000098B + add r0, r6, #0x0 + bl sub_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F150 ; =0x000003E9 +_0205F0E0: + add r0, r5, #0x0 + pop {r4-r6, pc} + .balign 4 +_0205F0E4: .word 0x00000132 +_0205F0E8: .word 0x000001EE +_0205F0EC: + .byte 0x84, 0x09, 0x00, 0x00 + .byte 0x2E, 0x04, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x8E, 0x09, 0x00, 0x00, 0x8F, 0x09, 0x00, 0x00 +_0205F100: .word 0x00000995 +_0205F104: .word 0x0000042D +_0205F108: .word 0x00000993 +_0205F10C: .word 0x0000044A +_0205F110: .word 0x00000985 +_0205F114: .word 0x00000415 +_0205F118: .word 0x00000131 +_0205F11C: .word 0x00000986 +_0205F120: .word 0x0000042B +_0205F124: + .byte 0x87, 0x09, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00 +_0205F130: .word 0x00000988 +_0205F134: .word 0x000003FF +_0205F138: .word 0x0000041C +_0205F13C: .word 0x00000989 +_0205F140: .word 0x000003EE +_0205F144: .word 0x0000040B +_0205F148: .word 0x0000098A +_0205F14C: .word 0x0000098B +_0205F150: .word 0x000003E9 + + thumb_func_start sub_0205F154 +sub_0205F154: ; 0x0205F154 + ldr r3, _0205F15C ; =sub_0205EC84 + ldr r1, _0205F160 ; =0x00000966 + bx r3 + nop +_0205F15C: .word sub_0205EC84 + 1 +_0205F160: .word 0x00000966 + + thumb_func_start sub_0205F164 +sub_0205F164: ; 0x0205F164 + ldr r3, _0205F16C ; =sub_0205EC8C + ldr r1, _0205F170 ; =0x00000966 + bx r3 + nop +_0205F16C: .word sub_0205EC8C + 1 +_0205F170: .word 0x00000966 + + thumb_func_start sub_0205F174 +sub_0205F174: ; 0x0205F174 + ldr r3, _0205F17C ; =sub_0205EC94 + ldr r1, _0205F180 ; =0x00000966 + bx r3 + nop +_0205F17C: .word sub_0205EC94 + 1 +_0205F180: .word 0x00000966 + + thumb_func_start sub_0205F184 +sub_0205F184: ; 0x0205F184 + ldr r3, _0205F18C ; =sub_0205EC94 + ldr r1, _0205F190 ; =0x00000978 + bx r3 + nop +_0205F18C: .word sub_0205EC94 + 1 +_0205F190: .word 0x00000978 + + thumb_func_start sub_0205F194 +sub_0205F194: ; 0x0205F194 + ldr r3, _0205F19C ; =sub_0205EC94 + ldr r1, _0205F1A0 ; =0x00000992 + bx r3 + nop +_0205F19C: .word sub_0205EC94 + 1 +_0205F1A0: .word 0x00000992 + + thumb_func_start sub_0205F1A4 +sub_0205F1A4: ; 0x0205F1A4 + ldr r3, _0205F1AC ; =sub_0205EC94 + ldr r1, _0205F1B0 ; =0x0000097D + bx r3 + nop +_0205F1AC: .word sub_0205EC94 + 1 +_0205F1B0: .word 0x0000097D + + thumb_func_start sub_0205F1B4 +sub_0205F1B4: ; 0x0205F1B4 + ldr r3, _0205F1BC ; =sub_0205EC94 + ldr r1, _0205F1C0 ; =0x0000097E + bx r3 + nop +_0205F1BC: .word sub_0205EC94 + 1 +_0205F1C0: .word 0x0000097E + + thumb_func_start sub_0205F1C4 +sub_0205F1C4: ; 0x0205F1C4 + ldr r3, _0205F1CC ; =sub_0205EC84 + ldr r1, _0205F1D0 ; =0x0000097C + bx r3 + nop +_0205F1CC: .word sub_0205EC84 + 1 +_0205F1D0: .word 0x0000097C + + thumb_func_start sub_0205F1D4 +sub_0205F1D4: ; 0x0205F1D4 + ldr r3, _0205F1DC ; =sub_0205EC8C + ldr r1, _0205F1E0 ; =0x0000097C + bx r3 + nop +_0205F1DC: .word sub_0205EC8C + 1 +_0205F1E0: .word 0x0000097C + + thumb_func_start sub_0205F1E4 +sub_0205F1E4: ; 0x0205F1E4 + ldr r3, _0205F1EC ; =sub_0205EC94 + ldr r1, _0205F1F0 ; =0x0000097C + bx r3 + nop +_0205F1EC: .word sub_0205EC94 + 1 +_0205F1F0: .word 0x0000097C + + thumb_func_start sub_0205F1F4 +sub_0205F1F4: ; 0x0205F1F4 + ldr r3, _0205F1FC ; =sub_0205EC84 + ldr r1, _0205F200 ; =0x00000967 + bx r3 + nop +_0205F1FC: .word sub_0205EC84 + 1 +_0205F200: .word 0x00000967 + + thumb_func_start sub_0205F204 +sub_0205F204: ; 0x0205F204 + ldr r3, _0205F20C ; =sub_0205EC8C + ldr r1, _0205F210 ; =0x00000967 + bx r3 + nop +_0205F20C: .word sub_0205EC8C + 1 +_0205F210: .word 0x00000967 + + thumb_func_start sub_0205F214 +sub_0205F214: ; 0x0205F214 + ldr r3, _0205F21C ; =sub_0205EC94 + ldr r1, _0205F220 ; =0x00000967 + bx r3 + nop +_0205F21C: .word sub_0205EC94 + 1 +_0205F220: .word 0x00000967 + + thumb_func_start sub_0205F224 +sub_0205F224: ; 0x0205F224 + ldr r3, _0205F22C ; =sub_0205EC84 + ldr r1, _0205F230 ; =0x00000979 + bx r3 + nop +_0205F22C: .word sub_0205EC84 + 1 +_0205F230: .word 0x00000979 + + thumb_func_start sub_0205F234 +sub_0205F234: ; 0x0205F234 + ldr r3, _0205F23C ; =sub_0205EC8C + ldr r1, _0205F240 ; =0x00000979 + bx r3 + nop +_0205F23C: .word sub_0205EC8C + 1 +_0205F240: .word 0x00000979 + + thumb_func_start sub_0205F244 +sub_0205F244: ; 0x0205F244 + ldr r3, _0205F24C ; =sub_0205EC94 + ldr r1, _0205F250 ; =0x00000979 + bx r3 + nop +_0205F24C: .word sub_0205EC94 + 1 +_0205F250: .word 0x00000979 + + thumb_func_start sub_0205F254 +sub_0205F254: ; 0x0205F254 + ldr r3, _0205F25C ; =sub_0205EC8C + ldr r1, _0205F260 ; =0x00000994 + bx r3 + nop +_0205F25C: .word sub_0205EC8C + 1 +_0205F260: .word 0x00000994 + + thumb_func_start sub_0205F264 +sub_0205F264: ; 0x0205F264 + ldr r3, _0205F26C ; =sub_0205EC9C + ldr r2, _0205F270 ; =0x00000962 + bx r3 + nop +_0205F26C: .word sub_0205EC9C + 1 +_0205F270: .word 0x00000962 + + thumb_func_start sub_0205F274 +sub_0205F274: ; 0x0205F274 + ldr r3, _0205F27C ; =sub_0205EC84 + ldr r1, _0205F280 ; =0x0000097A + bx r3 + nop +_0205F27C: .word sub_0205EC84 + 1 +_0205F280: .word 0x0000097A + + thumb_func_start sub_0205F284 +sub_0205F284: ; 0x0205F284 + ldr r3, _0205F28C ; =sub_0205EC8C + ldr r1, _0205F290 ; =0x0000097A + bx r3 + nop +_0205F28C: .word sub_0205EC8C + 1 +_0205F290: .word 0x0000097A + + thumb_func_start sub_0205F294 +sub_0205F294: ; 0x0205F294 + ldr r3, _0205F29C ; =sub_0205EC94 + ldr r1, _0205F2A0 ; =0x0000097A + bx r3 + nop +_0205F29C: .word sub_0205EC94 + 1 +_0205F2A0: .word 0x0000097A + + thumb_func_start sub_0205F2A4 +sub_0205F2A4: ; 0x0205F2A4 + ldr r3, _0205F2AC ; =sub_0205EC84 + ldr r1, _0205F2B0 ; =0x0000097B + bx r3 + nop +_0205F2AC: .word sub_0205EC84 + 1 +_0205F2B0: .word 0x0000097B + + thumb_func_start sub_0205F2B4 +sub_0205F2B4: ; 0x0205F2B4 + ldr r3, _0205F2BC ; =sub_0205EC8C + ldr r1, _0205F2C0 ; =0x0000097B + bx r3 + nop +_0205F2BC: .word sub_0205EC8C + 1 +_0205F2C0: .word 0x0000097B + + thumb_func_start sub_0205F2C4 +sub_0205F2C4: ; 0x0205F2C4 + ldr r3, _0205F2CC ; =sub_0205EC94 + ldr r1, _0205F2D0 ; =0x0000097B + bx r3 + nop +_0205F2CC: .word sub_0205EC94 + 1 +_0205F2D0: .word 0x0000097B + + thumb_func_start sub_0205F2D4 +sub_0205F2D4: ; 0x0205F2D4 + ldr r3, _0205F2DC ; =sub_0205EC9C + ldr r2, _0205F2E0 ; =0x00000963 + bx r3 + nop +_0205F2DC: .word sub_0205EC9C + 1 +_0205F2E0: .word 0x00000963 + + thumb_func_start sub_0205F2E4 +sub_0205F2E4: ; 0x0205F2E4 + push {r4-r6, lr} + add r4, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x45 + blo _0205F2F4 + bl sub_02020C2C +_0205F2F4: + mov r2, #0x9b + lsl r2, r2, #0x4 + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, r2 + bl sub_0205EC9C + pop {r4-r6, pc} + + thumb_func_start sub_0205F304 +sub_0205F304: ; 0x0205F304 + ldr r3, _0205F30C ; =sub_0205EC84 + ldr r1, _0205F310 ; =0x0000098C + bx r3 + nop +_0205F30C: .word sub_0205EC84 + 1 +_0205F310: .word 0x0000098C + + thumb_func_start sub_0205F314 +sub_0205F314: ; 0x0205F314 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_02046380 + mov r1, #0x1 + lsl r1, r1, #0xe + cmp r5, r1 + blo _0205F32C + lsl r1, r1, #0x1 + cmp r5, r1 + bls _0205F334 +_0205F32C: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r5, pc} +_0205F334: + cmp r0, #0x0 + bne _0205F33C + mov r0, #0x0 + pop {r3-r5, pc} +_0205F33C: + strh r4, [r0, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205F344 +sub_0205F344: ; 0x0205F344 + push {r3, lr} + bl sub_02046380 + cmp r0, #0x0 + bne _0205F352 + mov r0, #0x0 + pop {r3, pc} +_0205F352: + ldrh r0, [r0, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0205F358 +sub_0205F358: ; 0x0205F358 + ldr r3, _0205F360 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F364 ; =0x0000403F + bx r3 + .balign 4 +_0205F360: .word sub_0205F314 + 1 +_0205F364: .word 0x0000403F + + thumb_func_start sub_0205F368 +sub_0205F368: ; 0x0205F368 + ldr r3, _0205F370 ; =sub_0205F344 + ldr r1, _0205F374 ; =0x0000403F + bx r3 + nop +_0205F370: .word sub_0205F344 + 1 +_0205F374: .word 0x0000403F + + thumb_func_start sub_0205F378 +sub_0205F378: ; 0x0205F378 + ldr r3, _0205F380 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F384 ; =0x00004030 + bx r3 + .balign 4 +_0205F380: .word sub_0205F314 + 1 +_0205F384: .word 0x00004030 + + thumb_func_start sub_0205F388 +sub_0205F388: ; 0x0205F388 + ldr r3, _0205F390 ; =sub_0205F344 + ldr r1, _0205F394 ; =0x00004030 + bx r3 + nop +_0205F390: .word sub_0205F344 + 1 +_0205F394: .word 0x00004030 + + thumb_func_start sub_0205F398 +sub_0205F398: ; 0x0205F398 + push {r3, lr} + ldr r1, _0205F3B8 ; =0x00004030 + bl sub_0205F344 + ldr r2, _0205F3BC ; =0x00000183 + cmp r0, r2 + bne _0205F3AA + add r2, r2, #0x3 + b _0205F3B2 +_0205F3AA: + add r1, r2, #0x3 + cmp r0, r1 + bne _0205F3B2 + add r2, r2, #0x6 +_0205F3B2: + add r0, r2, #0x0 + pop {r3, pc} + nop +_0205F3B8: .word 0x00004030 +_0205F3BC: .word 0x00000183 + + thumb_func_start sub_0205F3C0 +sub_0205F3C0: ; 0x0205F3C0 + push {r3, lr} + ldr r1, _0205F3E0 ; =0x00004030 + bl sub_0205F344 + ldr r2, _0205F3E4 ; =0x00000183 + cmp r0, r2 + bne _0205F3D2 + add r2, r2, #0x6 + b _0205F3DA +_0205F3D2: + add r1, r2, #0x3 + cmp r0, r1 + beq _0205F3DA + add r2, r2, #0x3 +_0205F3DA: + add r0, r2, #0x0 + pop {r3, pc} + nop +_0205F3E0: .word 0x00004030 +_0205F3E4: .word 0x00000183 + + thumb_func_start sub_0205F3E8 +sub_0205F3E8: ; 0x0205F3E8 + ldr r3, _0205F3F0 ; =sub_0205F344 + ldr r1, _0205F3F4 ; =0x00004035 + bx r3 + nop +_0205F3F0: .word sub_0205F344 + 1 +_0205F3F4: .word 0x00004035 + + thumb_func_start sub_0205F3F8 +sub_0205F3F8: ; 0x0205F3F8 + ldr r3, _0205F400 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F404 ; =0x00004035 + bx r3 + .balign 4 +_0205F400: .word sub_0205F314 + 1 +_0205F404: .word 0x00004035 + + thumb_func_start sub_0205F408 +sub_0205F408: ; 0x0205F408 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0205ED8C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205F44C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205F41C +sub_0205F41C: ; 0x0205F41C + ldr r3, _0205F424 ; =sub_0205F344 + ldr r1, _0205F428 ; =0x00004033 + bx r3 + nop +_0205F424: .word sub_0205F344 + 1 +_0205F428: .word 0x00004033 + + thumb_func_start sub_0205F42C +sub_0205F42C: ; 0x0205F42C + ldr r3, _0205F434 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F438 ; =0x00004033 + bx r3 + .balign 4 +_0205F434: .word sub_0205F314 + 1 +_0205F438: .word 0x00004033 + + thumb_func_start sub_0205F43C +sub_0205F43C: ; 0x0205F43C + ldr r3, _0205F444 ; =sub_0205F344 + ldr r1, _0205F448 ; =0x00004034 + bx r3 + nop +_0205F444: .word sub_0205F344 + 1 +_0205F448: .word 0x00004034 + + thumb_func_start sub_0205F44C +sub_0205F44C: ; 0x0205F44C + ldr r3, _0205F454 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F458 ; =0x00004034 + bx r3 + .balign 4 +_0205F454: .word sub_0205F314 + 1 +_0205F458: .word 0x00004034 + + thumb_func_start sub_0205F45C +sub_0205F45C: ; 0x0205F45C + push {r4, lr} + add r4, r0, #0x0 + bmi _0205F466 + cmp r4, #0x3 + blo _0205F46A +_0205F466: + bl sub_02020C2C +_0205F46A: + ldr r0, _0205F474 ; =0x020F7430 + lsl r1, r4, #0x1 + ldrh r0, [r0, r1] + pop {r4, pc} + nop +_0205F474: .word 0x020F7430 + + thumb_func_start sub_0205F478 +sub_0205F478: ; 0x0205F478 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F45C + add r2, r0, #0x0 + ldr r1, _0205F49C ; =0x00004043 + lsl r2, r2, #0x10 + add r1, r4, r1 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + bl sub_0205F314 + pop {r3-r5, pc} + nop +_0205F49C: .word 0x00004043 + + thumb_func_start sub_0205F4A0 +sub_0205F4A0: ; 0x0205F4A0 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, _0205F4C4 ; =0x00004043 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0205F344 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F45C + cmp r5, r0 + bne _0205F4C0 + mov r0, #0x1 + pop {r3-r5, pc} +_0205F4C0: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0205F4C4: .word 0x00004043 + + thumb_func_start sub_0205F4C8 +sub_0205F4C8: ; 0x0205F4C8 + push {r4, lr} + add r4, r0, #0x0 + bmi _0205F4D2 + cmp r4, #0x4 + blt _0205F4D6 +_0205F4D2: + bl sub_02020C2C +_0205F4D6: + ldr r0, _0205F4E0 ; =0x020F7436 + lsl r1, r4, #0x1 + ldrh r0, [r0, r1] + pop {r4, pc} + nop +_0205F4E0: .word 0x020F7436 + + thumb_func_start sub_0205F4E4 +sub_0205F4E4: ; 0x0205F4E4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F4C8 + add r2, r0, #0x0 + ldr r1, _0205F508 ; =0x00004036 + lsl r2, r2, #0x10 + add r1, r4, r1 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + bl sub_0205F314 + pop {r3-r5, pc} + nop +_0205F508: .word 0x00004036 + + thumb_func_start sub_0205F50C +sub_0205F50C: ; 0x0205F50C + ldr r2, _0205F51C ; =0x00004036 + ldr r3, _0205F520 ; =sub_0205F314 + add r1, r1, r2 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x0 + bx r3 + nop +_0205F51C: .word 0x00004036 +_0205F520: .word sub_0205F314 + 1 + + thumb_func_start sub_0205F524 +sub_0205F524: ; 0x0205F524 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, _0205F548 ; =0x00004036 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0205F344 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0205F4C8 + cmp r5, r0 + bne _0205F544 + mov r0, #0x1 + pop {r3-r5, pc} +_0205F544: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0205F548: .word 0x00004036 + + thumb_func_start sub_0205F54C +sub_0205F54C: ; 0x0205F54C + ldr r3, _0205F554 ; =sub_0205F314 + ldr r1, _0205F558 ; =0x0000403A + mov r2, #0x0 + bx r3 + .balign 4 +_0205F554: .word sub_0205F314 + 1 +_0205F558: .word 0x0000403A + + thumb_func_start sub_0205F55C +sub_0205F55C: ; 0x0205F55C + ldr r3, _0205F564 ; =sub_0205F344 + ldr r1, _0205F568 ; =0x0000403A + bx r3 + nop +_0205F564: .word sub_0205F344 + 1 +_0205F568: .word 0x0000403A + + thumb_func_start sub_0205F56C +sub_0205F56C: ; 0x0205F56C + push {r4, lr} + ldr r1, _0205F58C ; =0x0000403A + add r4, r0, #0x0 + bl sub_0205F344 + ldr r2, _0205F590 ; =0x00002710 + cmp r0, r2 + bhs _0205F582 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_0205F582: + ldr r1, _0205F58C ; =0x0000403A + add r0, r4, #0x0 + bl sub_0205F314 + pop {r4, pc} + .balign 4 +_0205F58C: .word 0x0000403A +_0205F590: .word 0x00002710 + + thumb_func_start sub_0205F594 +sub_0205F594: ; 0x0205F594 + ldr r3, _0205F59C ; =sub_0205F344 + ldr r1, _0205F5A0 ; =0x0000403B + bx r3 + nop +_0205F59C: .word sub_0205F344 + 1 +_0205F5A0: .word 0x0000403B + + thumb_func_start sub_0205F5A4 +sub_0205F5A4: ; 0x0205F5A4 + ldr r3, _0205F5AC ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F5B0 ; =0x0000403B + bx r3 + .balign 4 +_0205F5AC: .word sub_0205F314 + 1 +_0205F5B0: .word 0x0000403B + + thumb_func_start sub_0205F5B4 +sub_0205F5B4: ; 0x0205F5B4 + push {r3-r5, lr} + add r4, r1, #0x0 + lsl r2, r4, #0x10 + ldr r1, _0205F5D4 ; =0x0000403C + lsr r2, r2, #0x10 + add r5, r0, #0x0 + bl sub_0205F314 + lsr r2, r4, #0x10 + lsl r2, r2, #0x10 + ldr r1, _0205F5D4 ; =0x0000403C + add r0, r5, #0x0 + lsr r2, r2, #0x10 + bl sub_0205F314 + pop {r3-r5, pc} + .balign 4 +_0205F5D4: .word 0x0000403C + + thumb_func_start sub_0205F5D8 +sub_0205F5D8: ; 0x0205F5D8 + push {r3-r5, lr} + ldr r1, _0205F5F4 ; =0x0000403C + add r5, r0, #0x0 + bl sub_0205F344 + add r4, r0, #0x0 + ldr r1, _0205F5F8 ; =0x0000403D + add r0, r5, #0x0 + bl sub_0205F344 + lsl r0, r0, #0x10 + orr r0, r4 + pop {r3-r5, pc} + nop +_0205F5F4: .word 0x0000403C +_0205F5F8: .word 0x0000403D + + thumb_func_start sub_0205F5FC +sub_0205F5FC: ; 0x0205F5FC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0201B9EC + add r4, r0, #0x0 + bl sub_0201B9EC + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + orr r1, r4 + bl sub_0205F5B4 + pop {r3-r5, pc} + + thumb_func_start sub_0205F618 +sub_0205F618: ; 0x0205F618 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202881C + bl sub_020287A4 + add r2, r0, #0x0 + ldr r1, _0205F640 ; =0x41C64E6D + add r0, r4, #0x0 + mul r2, r1 + ldr r1, _0205F644 ; =0x00003039 + add r1, r2, r1 + bl sub_0205F5B4 + pop {r3-r5, pc} + nop +_0205F640: .word 0x41C64E6D +_0205F644: .word 0x00003039 + + thumb_func_start sub_0205F648 +sub_0205F648: ; 0x0205F648 + ldr r3, _0205F650 ; =sub_0205F344 + ldr r1, _0205F654 ; =0x00004041 + bx r3 + nop +_0205F650: .word sub_0205F344 + 1 +_0205F654: .word 0x00004041 + + thumb_func_start sub_0205F658 +sub_0205F658: ; 0x0205F658 + ldr r3, _0205F660 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F664 ; =0x00004041 + bx r3 + .balign 4 +_0205F660: .word sub_0205F314 + 1 +_0205F664: .word 0x00004041 + + thumb_func_start sub_0205F668 +sub_0205F668: ; 0x0205F668 + push {r4, lr} + bl sub_020462AC + add r4, r0, #0x0 + bl sub_0201B9EC + mov r1, #0x62 + blx sub_020EBC80 + add r1, r1, #0x2 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + bl sub_0205F658 + pop {r4, pc} + + thumb_func_start sub_0205F688 +sub_0205F688: ; 0x0205F688 + ldr r3, _0205F690 ; =sub_0205F344 + ldr r1, _0205F694 ; =0x0000403E + bx r3 + nop +_0205F690: .word sub_0205F344 + 1 +_0205F694: .word 0x0000403E + + thumb_func_start sub_0205F698 +sub_0205F698: ; 0x0205F698 + ldr r3, _0205F6A0 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F6A4 ; =0x0000403E + bx r3 + .balign 4 +_0205F6A0: .word sub_0205F314 + 1 +_0205F6A4: .word 0x0000403E + + thumb_func_start sub_0205F6A8 +sub_0205F6A8: ; 0x0205F6A8 + ldr r3, _0205F6B0 ; =sub_0205F344 + ldr r1, _0205F6B4 ; =0x00004049 + bx r3 + nop +_0205F6B0: .word sub_0205F344 + 1 +_0205F6B4: .word 0x00004049 + + thumb_func_start sub_0205F6B8 +sub_0205F6B8: ; 0x0205F6B8 + ldr r3, _0205F6C0 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F6C4 ; =0x00004049 + bx r3 + .balign 4 +_0205F6C0: .word sub_0205F314 + 1 +_0205F6C4: .word 0x00004049 + + thumb_func_start sub_0205F6C8 +sub_0205F6C8: ; 0x0205F6C8 + ldr r3, _0205F6D0 ; =sub_0205F344 + ldr r1, _0205F6D4 ; =0x00004040 + bx r3 + nop +_0205F6D0: .word sub_0205F344 + 1 +_0205F6D4: .word 0x00004040 + + thumb_func_start sub_0205F6D8 +sub_0205F6D8: ; 0x0205F6D8 + ldr r3, _0205F6E0 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F6E4 ; =0x00004040 + bx r3 + .balign 4 +_0205F6E0: .word sub_0205F314 + 1 +_0205F6E4: .word 0x00004040 + + thumb_func_start sub_0205F6E8 +sub_0205F6E8: ; 0x0205F6E8 + push {r4, lr} + ldr r1, _0205F708 ; =0x00004042 + add r4, r0, #0x0 + bl sub_0205F344 + ldr r2, _0205F70C ; =0x00002710 + cmp r0, r2 + bhs _0205F6FE + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_0205F6FE: + ldr r1, _0205F708 ; =0x00004042 + add r0, r4, #0x0 + bl sub_0205F314 + pop {r4, pc} + .balign 4 +_0205F708: .word 0x00004042 +_0205F70C: .word 0x00002710 + + thumb_func_start sub_0205F710 +sub_0205F710: ; 0x0205F710 + ldr r3, _0205F718 ; =sub_0205F344 + ldr r1, _0205F71C ; =0x00004042 + bx r3 + nop +_0205F718: .word sub_0205F344 + 1 +_0205F71C: .word 0x00004042 + + thumb_func_start sub_0205F720 +sub_0205F720: ; 0x0205F720 + ldr r3, _0205F728 ; =sub_0205F344 + ldr r1, _0205F72C ; =0x00004046 + bx r3 + nop +_0205F728: .word sub_0205F344 + 1 +_0205F72C: .word 0x00004046 + + thumb_func_start sub_0205F730 +sub_0205F730: ; 0x0205F730 + ldr r3, _0205F738 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F73C ; =0x00004046 + bx r3 + .balign 4 +_0205F738: .word sub_0205F314 + 1 +_0205F73C: .word 0x00004046 + + thumb_func_start sub_0205F740 +sub_0205F740: ; 0x0205F740 + ldr r3, _0205F748 ; =sub_0205F344 + ldr r1, _0205F74C ; =0x00004047 + bx r3 + nop +_0205F748: .word sub_0205F344 + 1 +_0205F74C: .word 0x00004047 + + thumb_func_start sub_0205F750 +sub_0205F750: ; 0x0205F750 + ldr r3, _0205F758 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F75C ; =0x00004047 + bx r3 + .balign 4 +_0205F758: .word sub_0205F314 + 1 +_0205F75C: .word 0x00004047 + + thumb_func_start sub_0205F760 +sub_0205F760: ; 0x0205F760 + ldr r3, _0205F768 ; =sub_0205F344 + ldr r1, _0205F76C ; =0x00004048 + bx r3 + nop +_0205F768: .word sub_0205F344 + 1 +_0205F76C: .word 0x00004048 + + thumb_func_start sub_0205F770 +sub_0205F770: ; 0x0205F770 + ldr r3, _0205F778 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F77C ; =0x00004048 + bx r3 + .balign 4 +_0205F778: .word sub_0205F314 + 1 +_0205F77C: .word 0x00004048 + + thumb_func_start sub_0205F780 +sub_0205F780: ; 0x0205F780 + ldr r3, _0205F788 ; =sub_0205F344 + ldr r1, _0205F78C ; =0x0000404A + bx r3 + nop +_0205F788: .word sub_0205F344 + 1 +_0205F78C: .word 0x0000404A + + thumb_func_start sub_0205F790 +sub_0205F790: ; 0x0205F790 + ldr r3, _0205F798 ; =sub_0205F314 + add r2, r1, #0x0 + ldr r1, _0205F79C ; =0x0000404A + bx r3 + .balign 4 +_0205F798: .word sub_0205F314 + 1 +_0205F79C: .word 0x0000404A + + thumb_func_start sub_0205F7A0 +sub_0205F7A0: ; 0x0205F7A0 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + str r2, [sp, #0x4] + bl sub_020462AC + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034DCC + mov r2, #0x5 + str r0, [sp, #0xc] + add r0, r5, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x6 + blx sub_020DF4A4 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x38] + bl sub_02055320 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x38] + bl sub_0205532C + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + asr r1, r4, #0x4 + asr r2, r6, #0x4 + lsr r1, r1, #0x1b + lsr r2, r2, #0x1b + add r1, r4, r1 + add r2, r6, r2 + ldr r0, [r0, #0x28] + asr r1, r1, #0x5 + asr r2, r2, #0x5 + bl sub_0203451C + bl sub_02034908 + cmp r0, #0x0 + beq _0205F806 + str r4, [r5, #0x0] + str r6, [r5, #0x4] + b _0205F812 +_0205F806: + ldr r0, [sp, #0xc] + ldr r0, [r0, #0x8] + str r0, [r5, #0x0] + ldr r0, [sp, #0xc] + ldr r0, [r0, #0xc] + str r0, [r5, #0x4] +_0205F812: + ldr r0, [sp, #0x0] + bl sub_020377AC + bl sub_020238F4 + bl sub_020239CC + str r0, [r5, #0xc] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl sub_02034E30 + bl sub_02034E0C + str r0, [sp, #0x8] + ldr r0, [r0, #0x0] + mov r1, #0x6 + add r0, r0, #0x4 + blx sub_020EBC80 + mov r6, #0x0 + add r4, r5, #0x0 +_0205F83E: + ldr r0, [sp, #0x8] + lsl r2, r1, #0x2 + add r0, r0, r2 + ldrb r2, [r0, #0x6] + str r2, [r4, #0x20] + ldrb r2, [r0, #0x7] + str r2, [r4, #0x24] + ldrb r2, [r0, #0x9] + strh r2, [r4, #0x2a] + ldrb r0, [r0, #0x8] + cmp r0, #0x3 + bls _0205F85A + mov r0, #0x4 + b _0205F85A +_0205F85A: + strh r0, [r4, #0x28] + add r0, r1, #0x5 + mov r1, #0x6 + blx sub_020EBC80 + add r6, r6, #0x1 + add r4, #0xc + cmp r6, #0x5 + blt _0205F83E + mov r6, #0x4f + mov r4, #0x0 + lsl r6, r6, #0x2 +_0205F872: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0205F524 + cmp r0, #0x0 + beq _0205F888 + mov r0, #0x1 + ldrh r1, [r5, r6] + lsl r0, r4 + orr r0, r1 + strh r0, [r5, r6] +_0205F888: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _0205F872 + ldr r6, _0205F8C0 ; =0x020F7440 + mov r4, #0x0 +_0205F892: + ldrb r2, [r6, #0x0] + add r0, r7, #0x0 + mov r1, #0x2 + bl sub_0205F2E4 + mov r1, #0x49 + add r2, r5, r4 + lsl r1, r1, #0x2 + add r4, r4, #0x1 + add r6, r6, #0x1 + strb r0, [r2, r1] + cmp r4, #0x14 + blt _0205F892 + ldr r0, [sp, #0x0] + ldr r2, _0205F8C4 ; =0x02105FA8 + add r1, r5, #0x0 + bl sub_0205F8CC + ldr r1, _0205F8C8 ; =0x00000139 + ldr r0, [sp, #0x4] + strb r0, [r5, r1] + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0205F8C0: .word 0x020F7440 +_0205F8C4: .word 0x02105FA8 +_0205F8C8: .word 0x00000139 + + thumb_func_start sub_0205F8CC +sub_0205F8CC: ; 0x0205F8CC + push {r3-r7, lr} + sub sp, #0x70 + add r7, r0, #0x0 + ldr r0, [r7, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_020462AC + str r0, [sp, #0x0] + add r0, sp, #0x28 + blx sub_020D1C94 + add r0, sp, #0x28 + add r1, r4, #0x0 + blx sub_020D1944 + cmp r0, #0x0 + bne _0205F8F8 + bl sub_02020C2C + add sp, #0x70 + pop {r3-r7, pc} +_0205F8F8: + add r0, sp, #0x28 + add r1, sp, #0x24 + mov r2, #0x4 + blx sub_020D180C + cmp r0, #0x0 + bge _0205F90A + bl sub_02020C2C +_0205F90A: + mov r0, #0xb + mov r1, #0x4 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x4 + add r6, r0, #0x0 + blx sub_020CE34C + ldr r1, [sp, #0x24] + ldr r0, _0205FA28 ; =0x0000013A + mov r4, #0x0 + strb r1, [r5, r0] + ldr r0, [sp, #0x24] + cmp r0, #0x0 + ble _0205FA16 + mov r0, #0xc + str r0, [sp, #0x10] + mov r0, #0x3 + str r0, [sp, #0xc] + mov r0, #0xc + str r0, [sp, #0x8] + mov r0, #0x3 + str r0, [sp, #0x4] + mov r0, #0xc0 + str r0, [sp, #0x20] + mov r0, #0x30 + str r0, [sp, #0x1c] + mov r0, #0xc0 + str r0, [sp, #0x18] + mov r0, #0x30 + add r5, #0x5c + str r0, [sp, #0x14] +_0205F94C: + add r0, sp, #0x28 + add r1, r6, #0x0 + mov r2, #0x4 + blx sub_020D180C + ldrb r0, [r6, #0x0] + cmp r0, #0x1 + beq _0205F962 + cmp r0, #0x2 + beq _0205F98C + b _0205F9B2 +_0205F962: + ldrb r2, [r6, #0x1] + ldr r0, [sp, #0x0] + mov r1, #0x2 + bl sub_0205F2E4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1e + ldrb r1, [r5, r4] + ldr r2, [sp, #0x8] + lsr r0, r0, #0x1c + bic r1, r2 + orr r0, r1 + strb r0, [r5, r4] + ldrb r1, [r5, r4] + ldr r0, [sp, #0x4] + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strb r0, [r5, r4] + b _0205F9B2 +_0205F98C: + ldrb r1, [r6, #0x1] + add r0, r7, #0x0 + bl sub_02039528 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1e + ldrb r1, [r5, r4] + ldr r2, [sp, #0x10] + lsr r0, r0, #0x1c + bic r1, r2 + orr r0, r1 + strb r0, [r5, r4] + ldrb r1, [r5, r4] + ldr r0, [sp, #0xc] + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strb r0, [r5, r4] +_0205F9B2: + ldrb r0, [r6, #0x2] + cmp r0, #0x1 + beq _0205F9BE + cmp r0, #0x2 + beq _0205F9E8 + b _0205FA0E +_0205F9BE: + ldrb r2, [r6, #0x3] + ldr r0, [sp, #0x0] + mov r1, #0x2 + bl sub_0205F2E4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1e + ldrb r1, [r5, r4] + ldr r2, [sp, #0x18] + lsr r0, r0, #0x18 + bic r1, r2 + orr r0, r1 + strb r0, [r5, r4] + ldrb r1, [r5, r4] + ldr r0, [sp, #0x14] + bic r1, r0 + mov r0, #0x10 + orr r0, r1 + strb r0, [r5, r4] + b _0205FA0E +_0205F9E8: + ldrb r1, [r6, #0x3] + add r0, r7, #0x0 + bl sub_02039528 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1e + ldrb r1, [r5, r4] + ldr r2, [sp, #0x20] + lsr r0, r0, #0x18 + bic r1, r2 + orr r0, r1 + strb r0, [r5, r4] + ldrb r1, [r5, r4] + ldr r0, [sp, #0x1c] + bic r1, r0 + mov r0, #0x10 + orr r0, r1 + strb r0, [r5, r4] +_0205FA0E: + ldr r0, [sp, #0x24] + add r4, r4, #0x1 + cmp r4, r0 + blt _0205F94C +_0205FA16: + add r0, sp, #0x28 + blx sub_020D18FC + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0x70 + pop {r3-r7, pc} + nop +_0205FA28: .word 0x0000013A + + thumb_func_start sub_0205FA2C +sub_0205FA2C: ; 0x0205FA2C + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x40 + bl sub_020169D8 + ldr r6, [r7, #0xc] + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r6, #0x0 + bl sub_02023900 + str r0, [r4, #0xc] + add r0, r6, #0x0 + bl sub_0206BB1C + str r0, [r4, #0x0] + add r0, r6, #0x0 + bl sub_0206F158 + str r0, [r4, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + ldrb r2, [r5, #0x8] + add r0, #0x20 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + mov r2, #0xf + ldrb r3, [r5, #0xa] + bic r0, r2 + mov r2, #0xf + and r2, r3 + orr r2, r0 + add r0, r4, #0x0 + add r0, #0x32 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + mov r2, #0xf0 + bic r0, r2 + ldrb r2, [r5, #0xb] + lsl r2, r2, #0x1c + lsr r2, r2, #0x18 + orr r2, r0 + add r0, r4, #0x0 + add r0, #0x32 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + ldrb r2, [r5, #0xc] + add r0, #0x33 + strb r2, [r0, #0x0] + add r0, r4, #0x0 + ldrb r2, [r5, #0xd] + add r0, #0x22 + strb r2, [r0, #0x0] +_0205FAAE: + add r0, r5, r1 + ldrb r2, [r0, #0xe] + add r0, r4, r1 + add r0, #0x2c + strb r2, [r0, #0x0] + add r0, r1, #0x1 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r1, #0x6 + blo _0205FAAE + ldr r1, _0205FAD4 ; =0x020F96DC + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + ldr r0, [r5, #0x14] + str r4, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0205FAD4: .word 0x020F96DC + + thumb_func_start sub_0205FAD8 +sub_0205FAD8: ; 0x0205FAD8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _0205FAEA + mov r0, #0x1 + pop {r3-r5, pc} +_0205FAEA: + ldr r0, [r5, #0x14] + ldr r4, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + cmp r0, #0x6 + beq _0205FB04 + cmp r0, #0x7 + bne _0205FB0C + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x4 + pop {r3-r5, pc} +_0205FB04: + mov r0, #0x1 + str r0, [r5, #0x0] + mov r0, #0x4 + pop {r3-r5, pc} +_0205FB0C: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x2c + add r1, #0xe + mov r2, #0x6 + blx sub_020CE3E0 + add r0, r4, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + strb r0, [r5, #0xd] + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, [r5, #0x14] + mov r1, #0x0 + str r1, [r0, #0x0] + mov r0, #0x2 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205FB34 +sub_0205FB34: ; 0x0205FB34 + push {r3-r7, lr} + add r7, r1, #0x0 + add r6, r0, #0x0 + ldr r5, [r7, #0xc] + add r0, r2, #0x0 + mov r1, #0x30 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x30 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_02023900 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0206BB1C + str r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_0206BB28 + str r0, [r4, #0x1c] + add r0, r5, #0x0 + bl sub_02079C70 + str r0, [r4, #0x2c] + mov r0, #0x1 + strb r0, [r4, #0x11] + ldrb r0, [r6, #0xd] + strb r0, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9AC + strb r0, [r4, #0x13] + mov r0, #0x0 + strh r0, [r4, #0x18] + ldrb r0, [r6, #0x9] + strb r0, [r4, #0x12] + add r0, r5, #0x0 + bl sub_0202A918 + str r0, [r4, #0x20] + ldr r1, _0205FBB8 ; =0x020F7454 + add r0, r4, #0x0 + bl sub_0207B000 + add r0, r5, #0x0 + bl sub_020238F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_0207C2A4 + ldr r1, _0205FBBC ; =0x020FA6E8 + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_020373D4 + ldr r0, [r6, #0x14] + str r4, [r0, #0x0] + mov r0, #0x3 + pop {r3-r7, pc} + nop +_0205FBB8: .word 0x020F7454 +_0205FBBC: .word 0x020FA6E8 + + thumb_func_start sub_0205FBC0 +sub_0205FBC0: ; 0x0205FBC0 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _0205FBD2 + mov r0, #0x3 + pop {r4, pc} +_0205FBD2: + ldr r0, [r4, #0x14] + ldr r0, [r0, #0x0] + ldrb r1, [r0, #0x14] + strb r1, [r4, #0xd] + bl sub_02016A18 + ldr r1, [r4, #0x14] + mov r0, #0x0 + str r0, [r1, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205FBE8 +sub_0205FBE8: ; 0x0205FBE8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + cmp r1, #0x4 + bhi _0205FC4A + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r4, r2, #0 + lsl r6, r3, #0 + lsl r2, r5, #0 + lsl r4, r6, #0 + add r1, r5, #0x0 + mov r2, #0xb + bl sub_0205FA2C + str r0, [r4, #0x4] + b _0205FC4A +_0205FC22: + .byte 0x29, 0x1C, 0xFF, 0xF7, 0x58, 0xFF, 0x60, 0x60, 0x0E, 0xE0, 0x29, 0x1C, 0x0B, 0x22 + .byte 0xFF, 0xF7, 0x80, 0xFF, 0x60, 0x60, 0x08, 0xE0, 0x29, 0x1C, 0xFF, 0xF7, 0xC1, 0xFF, 0x60, 0x60 + .byte 0x03, 0xE0, 0xB6, 0xF7, 0xE9, 0xFE, 0x01, 0x20, 0x38, 0xBD +_0205FC4A: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0205FC50 +sub_0205FC50: ; 0x0205FC50 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02046528 + str r0, [sp, #0x0] + mov r0, #0xb + mov r1, #0x18 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + blx sub_020CE34C + strb r6, [r4, #0x8] + strb r7, [r4, #0x9] + add r0, sp, #0x8 + ldrb r1, [r0, #0x10] + add r2, r4, #0x0 + strb r1, [r4, #0xa] + ldrb r1, [r0, #0x14] + strb r1, [r4, #0xb] + ldrb r1, [r0, #0x18] + strb r1, [r4, #0xc] + ldrb r0, [r0, #0x1c] + ldr r1, _0205FC98 ; =sub_0205FBE8 + strb r0, [r4, #0xd] + ldr r0, [sp, #0x0] + str r5, [r4, #0x14] + ldr r0, [r0, #0x10] + bl sub_0204640C + pop {r3-r7, pc} + nop +_0205FC98: .word sub_0205FBE8 + 1 + + thumb_func_start sub_0205FC9C +sub_0205FC9C: ; 0x0205FC9C + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_0203384C + cmp r0, #0x0 + beq _0205FCBC + ldrh r1, [r4, #0x12] + ldrh r2, [r4, #0x14] + add r0, r5, #0x0 + bl sub_02038790 + str r0, [r4, #0x8] + mov r0, #0x1 + pop {r3-r5, pc} +_0205FCBC: + mov r0, #0x1 + str r0, [r4, #0x0] + mov r0, #0x2 + pop {r3-r5, pc} + + thumb_func_start sub_0205FCC4 +sub_0205FCC4: ; 0x0205FCC4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _0205FCD6 + mov r0, #0x1 + pop {r4, pc} +_0205FCD6: + ldr r0, [r4, #0x8] + ldr r0, [r0, #0x20] + str r0, [r4, #0x0] + ldr r0, [r4, #0x8] + bl sub_02016A18 + mov r0, #0x2 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0205FCE8 +sub_0205FCE8: ; 0x0205FCE8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _0205FD0A + cmp r1, #0x1 + beq _0205FD14 + cmp r1, #0x2 + beq _0205FD1E + b _0205FD34 +_0205FD0A: + add r1, r5, #0x0 + bl sub_0205FC9C + str r0, [r4, #0x4] + b _0205FD34 +_0205FD14: + add r1, r5, #0x0 + bl sub_0205FCC4 + str r0, [r4, #0x4] + b _0205FD34 +_0205FD1E: + ldrh r1, [r4, #0x10] + add r0, r5, #0x0 + bl sub_020394B8 + ldr r1, [r4, #0x0] + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0205FD34: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0205FD38 +sub_0205FD38: ; 0x0205FD38 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_02046528 + str r0, [sp, #0x0] + mov r0, #0xb + mov r1, #0x18 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x18 + blx sub_020CE34C + strh r5, [r4, #0x12] + strh r7, [r4, #0x14] + ldr r0, [sp, #0x0] + strh r6, [r4, #0x10] + ldr r0, [r0, #0x10] + ldr r1, _0205FD6C ; =sub_0205FCE8 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_0205FD6C: .word sub_0205FCE8 + 1 + + thumb_func_start sub_0205FD70 +sub_0205FD70: ; 0x0205FD70 + push {r3-r7, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + bl sub_02031190 + mov r1, #0x1 + sub r0, r1, r0 + bl sub_020316E0 + add r7, r0, #0x0 + bne _0205FD96 + mov r0, #0x0 + pop {r3-r7, pc} +_0205FD96: + ldrh r1, [r5, #0x2] + add r0, r6, #0x0 + bl sub_020394B8 + add r4, r0, #0x0 + ldrh r0, [r5, #0x0] + cmp r0, #0x0 + beq _0205FDB0 + cmp r0, #0x1 + beq _0205FDBC + cmp r0, #0x2 + beq _0205FDC8 + b _0205FDD2 +_0205FDB0: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02244660 + strh r0, [r4, #0x0] + b _0205FDD2 +_0205FDBC: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_022446BC + strh r0, [r4, #0x0] + b _0205FDD2 +_0205FDC8: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_022446E0 + strh r0, [r4, #0x0] +_0205FDD2: + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_0205FDDC +sub_0205FDDC: ; 0x0205FDDC + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x4 + blx sub_020CE34C + strh r5, [r4, #0x0] + strh r6, [r4, #0x2] + ldr r0, [r7, #0x10] + ldr r1, _0205FE0C ; =sub_0205FD70 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + nop +_0205FE0C: .word sub_0205FD70 + 1 + + thumb_func_start sub_0205FE10 +sub_0205FE10: ; 0x0205FE10 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x0] + bl sub_02029FC8 + mov r1, #0x35 + bl sub_0202A150 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + cmp r0, #0x14 + bhs _0205FE30 + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0205FE30: + ldr r0, [sp, #0x0] + bl sub_0202A8D8 + mov r1, #0xd + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + mov r1, #0x0 + lsr r7, r0, #0x18 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r4, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x3 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + cmp r7, #0x0 + beq _0205FEA2 + cmp r6, #0x0 + beq _0205FEA2 + cmp r5, #0x0 + beq _0205FEA2 + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0205FEA2: + ldr r0, [sp, #0x0] + bl sub_02026CC4 + cmp r7, #0x0 + bne _0205FEDC + mov r1, #0x55 + bl sub_02025D94 + cmp r0, #0x0 + beq _0205FEC6 + add r0, r4, #0x0 + mov r1, #0xd + mov r2, #0x1 + bl sub_0202A578 + add sp, #0x14 + mov r0, #0x1 + pop {r4-r7, pc} +_0205FEC6: + ldr r0, [sp, #0xc] + cmp r0, #0x0 + bne _0205FED6 + add r0, r4, #0x0 + mov r1, #0xe + mov r2, #0x1 + bl sub_0202A578 +_0205FED6: + add sp, #0x14 + mov r0, #0x4 + pop {r4-r7, pc} +_0205FEDC: + ldr r1, [sp, #0x10] + cmp r1, #0x32 + bhs _0205FEE8 + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0205FEE8: + cmp r6, #0x0 + bne _0205FF1C + mov r1, #0x56 + bl sub_02025D94 + cmp r0, #0x0 + beq _0205FF06 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl sub_0202A578 + add sp, #0x14 + mov r0, #0x2 + pop {r4-r7, pc} +_0205FF06: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bne _0205FF16 + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x1 + bl sub_0202A578 +_0205FF16: + add sp, #0x14 + mov r0, #0x4 + pop {r4-r7, pc} +_0205FF1C: + cmp r1, #0x64 + blo _0205FF24 + cmp r5, #0x0 + beq _0205FF2A +_0205FF24: + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0205FF2A: + mov r1, #0x57 + bl sub_02025D94 + cmp r0, #0x0 + beq _0205FF44 + mov r1, #0x1 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_0202A578 + add sp, #0x14 + mov r0, #0x3 + pop {r4-r7, pc} +_0205FF44: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bne _0205FF54 + add r0, r4, #0x0 + mov r1, #0x3 + mov r2, #0x1 + bl sub_0202A578 +_0205FF54: + mov r0, #0x4 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0205FF5C +sub_0205FF5C: ; 0x0205FF5C + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl sub_02029FC8 + mov r1, #0x35 + bl sub_0202A150 + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + cmp r7, #0x14 + bhs _0205FF7A + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0205FF7A: + add r0, r4, #0x0 + bl sub_0202A8D8 + mov r1, #0xd + mov r2, #0x0 + str r0, [sp, #0x8] + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + mov r1, #0x0 + ldr r0, [sp, #0x8] + add r2, r1, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x8] + mov r1, #0x1 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, [sp, #0x8] + mov r1, #0xe + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + ldr r0, [sp, #0x8] + mov r1, #0x2 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + mov r1, #0x3 + mov r2, #0x0 + bl sub_0202A578 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r6, #0x0 + beq _0205FFEA + cmp r4, #0x0 + beq _0205FFEA + cmp r5, #0x0 + beq _0205FFEA + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0205FFEA: + cmp r6, #0x0 + bne _02060000 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0205FFFA + add sp, #0xc + mov r0, #0x4 + pop {r4-r7, pc} +_0205FFFA: + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02060000: + cmp r7, #0x32 + bhs _0206000A + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0206000A: + cmp r4, #0x0 + bne _02060020 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _0206001A + add sp, #0xc + mov r0, #0x5 + pop {r4-r7, pc} +_0206001A: + add sp, #0xc + mov r0, #0x2 + pop {r4-r7, pc} +_02060020: + cmp r7, #0x64 + bhs _0206002A + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0206002A: + cmp r5, #0x0 + beq _02060034 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02060034: + cmp r0, #0x0 + beq _0206003E + add sp, #0xc + mov r0, #0x6 + pop {r4-r7, pc} +_0206003E: + mov r0, #0x3 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02060044 +sub_02060044: ; 0x02060044 + add r0, #0xa8 + ldr r0, [r0, #0x0] + ldr r2, [r1, #0x0] + ldrh r3, [r0, #0x24] + add r2, r3, r2 + strh r2, [r0, #0x24] + ldrh r3, [r0, #0x28] + ldr r2, [r1, #0x4] + add r2, r3, r2 + strh r2, [r0, #0x28] + ldrh r2, [r0, #0x26] + ldr r1, [r1, #0x8] + add r1, r2, r1 + strh r1, [r0, #0x26] + bx lr + .balign 4 + + thumb_func_start sub_02060064 +sub_02060064: ; 0x02060064 + ldr r1, _0206006C ; =0x02E90EDD + mul r1, r0 + add r0, r1, #0x1 + bx lr + .balign 4 +_0206006C: .word 0x02E90EDD + + thumb_func_start sub_02060070 +sub_02060070: ; 0x02060070 + ldr r1, _02060078 ; =0x5D588B65 + mul r1, r0 + add r0, r1, #0x1 + bx lr + .balign 4 +_02060078: .word 0x5D588B65 + + thumb_func_start sub_0206007C +sub_0206007C: ; 0x0206007C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0202881C + bl sub_020287A4 + bl sub_02060070 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202A8D8 + add r1, r4, #0x0 + bl sub_0202A5CC + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020600A0 +sub_020600A0: ; 0x020600A0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0202A8D8 + add r6, r0, #0x0 + bl sub_0202A5D0 + bl sub_02060070 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202A5CC + add r0, r4, #0x0 + bl sub_02060064 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0202A8CC + mov r1, #0xa + add r2, sp, #0x0 + bl sub_0202A2C4 + ldr r0, [sp, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_020600DC +sub_020600DC: ; 0x020600DC + push {r3-r6, lr} + sub sp, #0x4 + add r6, r0, #0x0 + bl sub_0202A8D8 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0202A8CC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202A5D0 + bl sub_02060064 + mov r1, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_0202A240 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + mov r2, #0x0 + bl sub_0202A538 + mov r1, #0x18 + add r5, r0, #0x0 + mul r5, r1 + mov r4, #0x0 + cmp r5, #0x0 + ble _0206012E + ldr r0, [sp, #0x0] +_02060122: + bl sub_02060064 + add r4, r4, #0x1 + str r0, [sp, #0x0] + cmp r4, r5 + blt _02060122 +_0206012E: + add r0, r6, #0x0 + bl sub_0202A8CC + mov r1, #0xa + add r2, sp, #0x0 + bl sub_0202A2C4 + ldr r0, [sp, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02060144 +sub_02060144: ; 0x02060144 + ldr r0, [r0, #0x1c] + ldr r1, [r0, #0x0] + ldr r0, _02060158 ; =0x000001ED + cmp r1, r0 + bne _02060152 + mov r0, #0x1 + bx lr +_02060152: + mov r0, #0x0 + bx lr + nop +_02060158: .word 0x000001ED + + thumb_func_start sub_0206015C +sub_0206015C: ; 0x0206015C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x10 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0xb + bl sub_02244DB0 + str r0, [r4, #0x0] + mov r0, #0xb + add r1, r5, #0x0 + bl sub_02245114 + str r0, [r4, #0x4] + mov r0, #0x0 + strb r0, [r4, #0xc] + strb r0, [r4, #0xd] + ldr r0, [r5, #0x10] + ldr r1, _02060190 ; =sub_02060194 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + nop +_02060190: .word sub_02060194 + 1 + + thumb_func_start sub_02060194 +sub_02060194: ; 0x02060194 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldrb r0, [r4, #0xc] + cmp r0, #0x8 + bls _020601B0 + b _02060332 +_020601B0: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r2, #0 + lsl r4, r6, #0 + lsl r0, r0, #0x1 + lsl r0, r5, #0x1 + lsl r4, r6, #0x1 + lsl r4, r4, #0x3 + lsl r2, r6, #0x4 + lsl r6, r7, #0x4 + lsl r4, r2, #0x5 + add r0, r6, #0x0 + mov r1, #0x1 + bl sub_0206367C + ldrb r0, [r4, #0xd] + ldr r1, [r4, #0x4] + bl sub_02245198 + ldr r0, [r4, #0x4] + bl sub_022451F0 + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_0204AFC8 + mov r0, #0x1 + strb r0, [r4, #0xc] + b _02060332 +_020601F2: + .byte 0x28, 0x1C, 0xEA, 0xF7, 0xA2, 0xFE, 0x02, 0x20, 0x20, 0x73, 0x99, 0xE0, 0xF0, 0x68 + .byte 0xE6, 0xF7, 0x54, 0xF8, 0x61, 0x7B, 0x00, 0x29, 0x02, 0xD1, 0xFE, 0xF7, 0xDB, 0xFF, 0x03, 0xE0 + .byte 0x05, 0x29, 0x01, 0xD1, 0xFE, 0xF7, 0xDE, 0xFF, 0xA1, 0x68, 0x28, 0x1C, 0xE8, 0xF7, 0xA0, 0xFF + .byte 0x03, 0x20, 0x20, 0x73, 0x85, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xAC, 0xFE, 0x04, 0x20, 0x20, 0x73 + .byte 0x7F, 0xE0, 0xB0, 0x6B, 0xF5, 0xF7, 0xB4, 0xF8, 0x61, 0x7B, 0x07, 0x1C, 0x49, 0x1C, 0x61, 0x73 + .byte 0x61, 0x7B, 0x05, 0x29, 0x24, 0xD8, 0x30, 0x1C, 0xE4, 0xF1, 0x1E, 0xFF, 0x06, 0x1C, 0x38, 0x1C + .byte 0x01, 0x21, 0xF8, 0xF7, 0x23, 0xFB, 0x20, 0x68, 0x31, 0x1C, 0xE4, 0xF1, 0xB3, 0xFD, 0x20, 0x68 + .byte 0xE4, 0xF1, 0x4A, 0xFE, 0x00, 0x20, 0xA0, 0x73, 0x33, 0x48, 0xA5, 0xF7, 0x2D, 0xF9, 0x00, 0x20 + .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x2F, 0x4B + .byte 0x28, 0x1C, 0x03, 0x21, 0x11, 0x22, 0xEB, 0xF7, 0x95, 0xFF, 0x05, 0x20, 0x20, 0x73, 0x50, 0xE0 + .byte 0x00, 0x21, 0xF8, 0xF7, 0x03, 0xFB, 0x28, 0x1C, 0xEA, 0xF7, 0xB8, 0xFE, 0x08, 0x20, 0x20, 0x73 + .byte 0x47, 0xE0, 0xA0, 0x7B, 0x40, 0x1C, 0xA0, 0x73, 0xA0, 0x7B, 0x3C, 0x28, 0x04, 0xD2, 0x24, 0x48 + .byte 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x3C, 0xD0, 0x60, 0x7B, 0x61, 0x68, 0xE4, 0xF1, 0x6C, 0xFF + .byte 0x60, 0x68, 0xE4, 0xF1, 0x95, 0xFF, 0xA0, 0x60, 0x1B, 0x48, 0xA5, 0xF7, 0xFD, 0xF8, 0x00, 0x20 + .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x17, 0x4B + .byte 0x28, 0x1C, 0x03, 0x21, 0x10, 0x22, 0xEB, 0xF7, 0x65, 0xFF, 0x06, 0x20, 0x20, 0x73, 0x20, 0xE0 + .byte 0x20, 0x68, 0xE4, 0xF1, 0x11, 0xFE, 0x07, 0x20, 0x20, 0x73, 0x1A, 0xE0, 0x20, 0x68, 0xE4, 0xF1 + .byte 0x11, 0xFE, 0x00, 0x28, 0x15, 0xD0, 0x20, 0x68, 0xE4, 0xF1, 0x10, 0xFE, 0x01, 0x20, 0x20, 0x73 + .byte 0x0F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x03, 0xF0, 0xB1, 0xF9, 0x60, 0x68, 0xE4, 0xF1, 0x38, 0xFF + .byte 0x20, 0x68, 0xE4, 0xF1, 0x4B, 0xFD, 0x20, 0x1C, 0xB6, 0xF7, 0x76, 0xFB, 0x04, 0xB0, 0x01, 0x20 + .byte 0xF8, 0xBD +_02060332: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} +_02060338: + .byte 0x79, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 + .byte 0xB8, 0x48, 0x1C, 0x02 + + thumb_func_start sub_02060344 +sub_02060344: ; 0x02060344 + push {r3-r7, lr} + add r5, r0, #0x0 + str r1, [sp, #0x0] + cmp r1, #0x0 + ble _020603AE + bl sub_02029ABC + bl sub_02029ACC + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020238F4 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0xa + add r6, r0, #0x0 + mov r5, #0x0 + mul r6, r1 +_0206036A: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_020239D0 + cmp r0, #0x0 + beq _020603A4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02029AD0 + add r1, r0, #0x0 + cmp r1, #0x0 + ble _0206038C + cmp r1, #0xc8 + bge _0206038C + sub r1, r1, r6 + b _02060396 +_0206038C: + cmp r1, #0xc8 + blt _02060394 + bl sub_02020C2C +_02060394: + mov r1, #0x0 +_02060396: + cmp r1, #0x0 + bge _0206039C + mov r1, #0x0 +_0206039C: + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_02029AD8 +_020603A4: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0206036A +_020603AE: + pop {r3-r7, pc} + + thumb_func_start sub_020603B0 +sub_020603B0: ; 0x020603B0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0202AA38 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02060588 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020603C8 +sub_020603C8: ; 0x020603C8 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r5, #0x0 +_020603CE: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0202AA74 + cmp r0, #0x0 + beq _020603E2 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020603B0 +_020603E2: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x3 + blo _020603CE + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020603F0 +sub_020603F0: ; 0x020603F0 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r4, #0x0 +_020603F6: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202AA74 + cmp r0, #0x0 + beq _02060430 + bl sub_0201B9EC + lsl r0, r0, #0x4 + lsr r6, r0, #0x10 + cmp r6, #0x10 + blo _02060412 + bl sub_02020C2C +_02060412: + cmp r6, #0x0 + bne _02060420 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020603B0 + b _02060430 +_02060420: + add r0, r5, #0x0 + bl sub_0202AA38 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020605D8 +_02060430: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x3 + blo _020603F6 + pop {r4-r6, pc} + + thumb_func_start sub_0206043C +sub_0206043C: ; 0x0206043C + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x1d + blo _02060448 + bl sub_02020C2C +_02060448: + ldr r0, _02060450 ; =0x020F7460 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02060450: .word 0x020F7460 + + thumb_func_start sub_02060454 +sub_02060454: ; 0x02060454 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r5, #0x0 +_0206045A: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0202AA74 + cmp r0, #0x0 + beq _0206046A + mov r0, #0x1 + pop {r3-r5, pc} +_0206046A: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x3 + blo _0206045A + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02060478 +sub_02060478: ; 0x02060478 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02060454 + cmp r0, #0x0 + beq _0206048E + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0202AA20 +_0206048E: + pop {r3-r5, pc} + + thumb_func_start sub_02060490 +sub_02060490: ; 0x02060490 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r1, #0x0 + str r0, [sp, #0x10] + bl sub_0202A9B0 + add r1, r5, #0x0 + str r0, [sp, #0x14] + bl sub_0202AAA0 + add r4, r0, #0x0 + cmp r5, #0x0 + beq _020604B4 + cmp r5, #0x1 + beq _020604BA + cmp r5, #0x2 + beq _020604C2 + b _020604C8 +_020604B4: + ldr r7, _02060580 ; =0x000001E1 + mov r6, #0x32 + b _020604D0 +_020604BA: + mov r7, #0x7a + lsl r7, r7, #0x2 + mov r6, #0x32 + b _020604D0 +_020604C2: + ldr r7, _02060584 ; =0x000001EB + mov r6, #0x28 + b _020604D0 +_020604C8: + bl sub_02020C2C + add sp, #0x20 + pop {r3-r7, pc} +_020604D0: + add r0, r4, #0x0 + mov r1, #0x4 + add r2, r7, #0x0 + bl sub_0202AAFC + add r0, r4, #0x0 + mov r1, #0x6 + add r2, r6, #0x0 + bl sub_0202AAFC + ldr r0, [sp, #0x10] + bl sub_020238F4 + str r0, [sp, #0x18] + mov r0, #0x4 + bl sub_020669C0 + str r0, [sp, #0x1c] + bl sub_02066978 + ldr r0, [sp, #0x18] + bl sub_020239C0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + mov r1, #0x1 + str r1, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [sp, #0x1c] + add r1, r7, #0x0 + add r2, r6, #0x0 + mov r3, #0x20 + bl sub_02066ACC + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_0202AAFC + add r0, r4, #0x0 + mov r1, #0x8 + mov r2, #0x1 + bl sub_0202AAFC + ldr r0, [sp, #0x1c] + mov r1, #0xae + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0202AAFC + mov r1, #0x0 + ldr r0, [sp, #0x1c] + add r2, r1, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_0202AAFC + ldr r0, [sp, #0x1c] + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x5 + bl sub_0202AAFC + ldr r0, [sp, #0x1c] + bl sub_02016A18 + ldr r0, [sp, #0x14] + bl sub_0202AA38 + add r2, r0, #0x0 + ldr r0, [sp, #0x14] + add r1, r5, #0x0 + bl sub_02060588 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_02060580: .word 0x000001E1 +_02060584: .word 0x000001EB + + thumb_func_start sub_02060588 +sub_02060588: ; 0x02060588 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r6, r2, #0x0 + bl sub_0202AA40 + ldr r7, _020605D0 ; =0x020F7460 + lsl r0, r0, #0x2 + ldr r4, [r7, r0] +_0206059C: + bl sub_0201B9EC + ldr r1, _020605D4 ; =0x000008D4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x1d + blo _020605B2 + bl sub_02020C2C +_020605B2: + lsl r0, r5, #0x18 + lsr r2, r0, #0x18 + lsl r0, r2, #0x2 + ldr r3, [r7, r0] + cmp r3, r6 + beq _0206059C + cmp r3, r4 + beq _0206059C + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + bl sub_02060688 + add sp, #0x8 + pop {r3-r7, pc} + nop +_020605D0: .word 0x020F7460 +_020605D4: .word 0x000008D4 + + thumb_func_start sub_020605D8 +sub_020605D8: ; 0x020605D8 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r7, r2, #0x0 + bl sub_0202AA40 + mov r1, #0xc + ldr r2, _0206067C ; =0x020F74D4 + mul r1, r0 + ldrh r0, [r2, r1] + add r4, r2, r1 + cmp r0, #0x1 + bne _0206061E + ldrh r0, [r4, #0x2] + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r0, _02060680 ; =0x020F7460 + lsl r1, r2, #0x2 + ldr r3, [r0, r1] + cmp r3, r7 + bne _02060612 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r2, r7, #0x0 + bl sub_02060588 + add sp, #0x8 + pop {r3-r7, pc} +_02060612: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + bl sub_02060688 + add sp, #0x8 + pop {r3-r7, pc} +_0206061E: + ldrh r5, [r4, #0x0] + cmp r5, #0x0 + bne _02060628 + bl sub_02020C2C +_02060628: + cmp r5, #0x1 + bhi _02060630 + mov r6, #0x0 + b _02060658 +_02060630: + bl sub_0201B9EC + add r6, r0, #0x0 + ldr r0, _02060684 ; =0x0000FFFF + add r1, r5, #0x0 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + cmp r6, r5 + blo _02060658 + bl sub_02020C2C +_02060658: + lsl r0, r6, #0x18 + lsr r0, r0, #0x17 + add r0, r4, r0 + ldrh r0, [r0, #0x2] + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + ldr r0, _02060680 ; =0x020F7460 + lsl r1, r2, #0x2 + ldr r3, [r0, r1] + cmp r3, r7 + beq _0206061E + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + bl sub_02060688 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0206067C: .word 0x020F74D4 +_02060680: .word 0x020F7460 +_02060684: .word 0x0000FFFF + + thumb_func_start sub_02060688 +sub_02060688: ; 0x02060688 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0202AAA0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0202AA58 + ldr r0, [sp, #0x0] + mov r1, #0x1 + add r2, r7, #0x0 + bl sub_0202AAFC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020606B0 +sub_020606B0: ; 0x020606B0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r0, r4, #0x0 + bl sub_0204652C + add r2, r0, #0x0 + ldr r1, _020606CC ; =0x020F7630 + add r0, r4, #0x0 + add r2, #0xc + bl sub_02046500 + pop {r4, pc} + .balign 4 +_020606CC: .word 0x020F7630 + + thumb_func_start sub_020606D0 +sub_020606D0: ; 0x020606D0 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x6 + bhi _0206078A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r6, #0 + lsl r2, r0, #0x1 + lsl r0, r2, #0x1 + lsl r6, r3, #0x1 + lsl r4, r5, #0x1 + lsl r2, r7, #0x1 + ldr r0, [r4, #0x24] + add r3, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x28] + add r3, #0xc + str r0, [sp, #0x4] + ldr r1, [r4, #0x0] + ldr r2, [r4, #0x8] + add r0, r6, #0x0 + bl sub_0224891C + ldr r1, [r4, #0x0] + ldr r2, [r4, #0x8] + add r0, r6, #0x0 + bl sub_022488FC + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_0206072C: + .byte 0x28, 0x1C, 0xEA, 0xF7 + .byte 0x4B, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xFE, 0xFB + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x20, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0xB1, 0xFF, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x14, 0xFC, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x12, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 + .byte 0x0B, 0xE0, 0x60, 0x6A, 0xB6, 0xF7, 0x50, 0xF9, 0xA0, 0x6A, 0xB6, 0xF7, 0x4D, 0xF9, 0x20, 0x1C + .byte 0xB6, 0xF7, 0x4A, 0xF9, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD +_0206078A: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02060790 +sub_02060790: ; 0x02060790 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0x2c + add r6, r2, #0x0 + str r3, [sp, #0x0] + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x2c + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x0 + str r0, [r4, #0x4] + str r5, [r4, #0x0] + ldr r0, [sp, #0x0] + str r6, [r4, #0x8] + bl sub_020669C0 + str r0, [r4, #0x24] + ldr r0, [sp, #0x0] + bl sub_020669C0 + str r0, [r4, #0x28] + ldr r1, _020607D0 ; =sub_020606D0 + add r0, r7, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r7, pc} + .balign 4 +_020607D0: .word sub_020606D0 + 1 + + thumb_func_start sub_020607D4 +sub_020607D4: ; 0x020607D4 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x80 + add r7, r2, #0x0 + str r3, [sp, #0xc] + bl sub_020169D8 + add r4, r0, #0x0 + strb r6, [r4, #0x1] + strb r7, [r4, #0x4] + ldr r0, [sp, #0xc] + add r2, r4, #0x0 + str r0, [r4, #0x18] + ldr r0, [sp, #0x40] + add r2, #0x34 + str r0, [r4, #0x1c] + ldr r0, [sp, #0x44] + mov r7, #0x9 + str r0, [r4, #0x20] + ldr r3, [r5, #0x40] +_02060802: + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + sub r7, r7, #0x1 + bne _02060802 + mov r7, #0x0 + sub r0, r7, #0x1 + str r0, [r4, #0x10] + strb r7, [r4, #0x5] + mov r0, #0x40 + add r1, r7, #0x0 + add r2, r7, #0x0 + str r7, [r4, #0x8] + bl sub_0200433C + cmp r6, #0x3 + bne _0206085C + mov r0, #0x22 + str r0, [sp, #0x14] + ldr r0, [r5, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r1, r0, #0x0 + mov r0, #0x3 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + add r0, sp, #0x18 + mov r2, #0x1 + str r0, [sp, #0x8] + add r0, r6, #0x0 + sub r3, r2, #0x4 + bl sub_0204A840 + mov r0, #0x19 + lsl r0, r0, #0x10 + str r0, [sp, #0x10] + mov r0, #0xe + lsl r0, r0, #0x10 + mov r7, #0x1 + str r0, [r4, #0x10] + b _02060892 +_0206085C: + cmp r6, #0x2 + bne _02060892 + ldr r0, _02060918 ; =0x000001C1 + str r0, [sp, #0x14] + ldr r0, [r5, #0x38] + bl sub_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl sub_0205532C + add r1, r0, #0x0 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r2, #0x3 + str r2, [sp, #0x4] + add r0, sp, #0x18 + str r0, [sp, #0x8] + add r0, r6, #0x0 + sub r2, r2, #0x5 + mov r3, #0x2 + bl sub_0204A840 + mov r0, #0x3 + lsl r0, r0, #0x12 + mov r7, #0x1 + str r0, [sp, #0x10] +_02060892: + cmp r7, #0x0 + beq _02060906 + add r3, r4, #0x0 + ldr r1, [sp, #0x14] + add r0, r5, #0x0 + add r2, sp, #0x18 + add r3, #0x30 + bl sub_0204A8C4 + cmp r0, #0x0 + beq _020608F8 + ldr r0, [sp, #0x10] + add r1, r4, #0x0 + str r0, [r4, #0xc] + mov r0, #0x0 + str r0, [r4, #0x14] + strb r0, [r4, #0x3] + mov r0, #0x1 + lsl r0, r0, #0xa + str r0, [r4, #0x7c] + ldr r0, [r5, #0x38] + add r1, #0x24 + bl sub_02055350 + ldr r0, [r5, #0x20] + bl sub_0201EC88 + add r0, r4, #0x0 + ldr r1, [r5, #0x20] + add r0, #0x24 + bl sub_0201EC68 + mov r0, #0x0 + ldr r1, [r4, #0x10] + mvn r0, r0 + cmp r1, r0 + beq _020608EC + mov r0, #0x0 + strb r0, [r4, #0x2] + mov r0, #0x1 + strb r0, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02060BDC + b _020608F0 +_020608EC: + mov r0, #0x0 + strb r0, [r4, #0x0] +_020608F0: + ldr r0, _0206091C ; =0x000006DD + bl sub_020054C8 + b _0206090A +_020608F8: + bl sub_02020C2C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x28 + pop {r3-r7, pc} +_02060906: + mov r0, #0x2 + strb r0, [r4, #0x0] +_0206090A: + ldr r0, [r5, #0x10] + ldr r1, _02060920 ; =sub_020609A0 + add r2, r4, #0x0 + bl sub_0204640C + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 +_02060918: .word 0x000001C1 +_0206091C: .word 0x000006DD +_02060920: .word sub_020609A0 + 1 + + thumb_func_start sub_02060924 +sub_02060924: ; 0x02060924 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x8 + add r6, r2, #0x0 + bl sub_020169D8 + add r2, r0, #0x0 + str r6, [r2, #0x4] + strb r4, [r2, #0x0] + ldr r0, [r5, #0x10] + ldr r1, _02060944 ; =sub_02060948 + bl sub_0204640C + pop {r4-r6, pc} + .balign 4 +_02060944: .word sub_02060948 + 1 + + thumb_func_start sub_02060948 +sub_02060948: ; 0x02060948 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02060972 + cmp r0, #0x1 + beq _0206097C + cmp r0, #0x2 + beq _0206098A + b _02060994 +_02060972: + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0203888C + b _02060994 +_0206097C: + add r0, r4, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _02060994 + mov r0, #0x0 + pop {r4-r6, pc} +_0206098A: + add r0, r6, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r4-r6, pc} +_02060994: + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020609A0 +sub_020609A0: ; 0x020609A0 + push {r3-r6, lr} + sub sp, #0xc + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldrb r1, [r4, #0x0] + cmp r1, #0x7 + bhi _020609E4 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r1, #0 + lsl r4, r4, #0 + lsl r6, r0, #0x2 + lsl r4, r5, #0x2 + lsl r4, r5, #0x3 + lsl r6, r7, #0x3 + lsl r2, r3, #0x4 + lsl r6, r5, #0x4 + bl sub_02060C80 + add r0, r4, #0x0 + bl sub_02060B0C + cmp r0, #0x0 + bne _020609E6 +_020609E4: + b _02060B00 +_020609E6: + mov r0, #0x2 + strb r0, [r4, #0x0] + b _02060B00 +_020609EC: + .byte 0x00, 0xF0, 0x48, 0xF9 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x06, 0x1C, 0xA0, 0x78, 0x00, 0x28, 0x16, 0xD1, 0x20, 0x1C + .byte 0x21, 0x1C, 0x10, 0x30, 0x14, 0x31, 0xA2, 0x1C, 0x00, 0xF0, 0xDE, 0xF8, 0x00, 0x28, 0x77, 0xD0 + .byte 0x28, 0x6D, 0x01, 0x21, 0x00, 0x22, 0x79, 0xF1, 0x69, 0xFD, 0x28, 0x6D, 0x02, 0x21, 0x00, 0x22 + .byte 0x79, 0xF1, 0x64, 0xFD, 0x38, 0x48, 0xA4, 0xF7, 0x4F, 0xFD, 0x69, 0xE0, 0x28, 0x6D, 0x01, 0x21 + .byte 0x79, 0xF1, 0xAC, 0xFD, 0x00, 0x28, 0x63, 0xD0, 0x28, 0x6D, 0x02, 0x21, 0x79, 0xF1, 0xA6, 0xFD + .byte 0x00, 0x28, 0x5D, 0xD0, 0x00, 0x2E, 0x5B, 0xD0, 0x02, 0x20, 0x20, 0x70, 0x58, 0xE0, 0x06, 0x20 + .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x0B, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C + .byte 0x03, 0x1C, 0xAD, 0xF7, 0xB5, 0xFB, 0x00, 0x20, 0x06, 0x21, 0xA4, 0xF7, 0xAF, 0xFC, 0x03, 0x20 + .byte 0x20, 0x70, 0x45, 0xE0, 0xAD, 0xF7, 0x48, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA4, 0xF7, 0xC2, 0xFC + .byte 0x00, 0x28, 0x02, 0xD0, 0x03, 0xB0, 0x00, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x21, 0x69, 0xC0, 0x43 + .byte 0x81, 0x42, 0x09, 0xD0, 0xE8, 0x6C, 0x29, 0x6D, 0x01, 0x22, 0x79, 0xF1, 0x57, 0xFD, 0xE8, 0x6C + .byte 0x29, 0x6D, 0x02, 0x22, 0x79, 0xF1, 0x52, 0xFD, 0x30, 0x1C, 0xEA, 0xF7, 0x47, 0xFA, 0x04, 0x20 + .byte 0x20, 0x70, 0x25, 0xE0, 0x61, 0x78, 0x22, 0x1C, 0x28, 0x1C, 0x34, 0x32, 0xFF, 0xF7, 0x32, 0xFF + .byte 0x05, 0x20, 0x20, 0x70, 0x1C, 0xE0, 0x20, 0x6A, 0x00, 0x22, 0x00, 0x90, 0x20, 0x79, 0xD2, 0x43 + .byte 0x01, 0x90, 0xA1, 0x69, 0xE3, 0x69, 0x30, 0x1C, 0xE8, 0xF7, 0x66, 0xFB, 0x06, 0x20, 0x20, 0x70 + .byte 0x0E, 0xE0, 0xA1, 0x69, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xF9, 0x30, 0x1C, 0xEA, 0xF7, 0xFC, 0xFA + .byte 0x07, 0x20, 0x20, 0x70, 0x04, 0xE0, 0xB5, 0xF7, 0x8F, 0xFF, 0x03, 0xB0, 0x01, 0x20, 0x78, 0xBD +_02060B00: + mov r0, #0x0 + add sp, #0xc + pop {r3-r6, pc} + nop +_02060B08: + .byte 0xDE, 0x06, 0x00, 0x00 + + thumb_func_start sub_02060B0C +sub_02060B0C: ; 0x02060B0C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0x30] + add r0, sp, #0x0 + bl sub_021E7EA0 + ldrb r0, [r4, #0x1] + cmp r0, #0x3 + bhi _02060B7C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r7, #0 + lsl r2, r5, #0 + lsl r0, r3, #0 + ldr r1, [sp, #0x8] + ldr r0, [r4, #0x7c] + add r0, r1, r0 + str r0, [sp, #0x8] + ldr r1, [r4, #0x2c] + ldr r0, [r4, #0x7c] + add r0, r1, r0 + str r0, [r4, #0x2c] + b _02060B86 +_02060B46: + .byte 0x02, 0x99, 0xE0, 0x6F, 0x08, 0x1A, 0x02, 0x90, 0xE1, 0x6A + .byte 0xE0, 0x6F, 0x08, 0x1A, 0xE0, 0x62, 0x16, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x18, 0x00, 0x90 + .byte 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x18, 0x60, 0x62, 0x0D, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x1A + .byte 0x00, 0x90, 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x1A, 0x60, 0x62, 0x04, 0xE0 +_02060B7C: + bl sub_02020C2C + add sp, #0xc + mov r0, #0x1 + pop {r3-r4, pc} +_02060B86: + mov r0, #0x1 + ldr r1, [r4, #0x7c] + lsl r0, r0, #0xc + cmp r1, r0 + bge _02060BA6 + ldrb r1, [r4, #0x3] + add r1, r1, #0x1 + strb r1, [r4, #0x3] + ldrb r1, [r4, #0x3] + cmp r1, #0x18 + blo _02060BA6 + ldr r1, [r4, #0x7c] + add r0, r1, r0 + str r0, [r4, #0x7c] + mov r0, #0x0 + strb r0, [r4, #0x3] +_02060BA6: + ldr r0, [r4, #0x30] + add r1, sp, #0x0 + bl sub_021E7EB0 + ldr r1, [r4, #0x14] + ldr r0, [r4, #0x7c] + add r1, r1, r0 + str r1, [r4, #0x14] + ldr r0, [r4, #0xc] + cmp r0, r1 + bgt _02060BC2 + add sp, #0xc + mov r0, #0x1 + pop {r3-r4, pc} +_02060BC2: + mov r0, #0x0 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_02060BC8 +sub_02060BC8: ; 0x02060BC8 + ldr r3, [r0, #0x0] + ldr r0, [r1, #0x0] + cmp r3, r0 + bgt _02060BD6 + mov r0, #0x1 + strb r0, [r2, #0x0] + bx lr +_02060BD6: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02060BDC +sub_02060BDC: ; 0x02060BDC + push {r4-r7, lr} + sub sp, #0x34 + add r5, r0, #0x0 + ldr r0, _02060C7C ; =0x020F7640 + mov r6, #0x0 + ldr r2, [r0, #0x0] + ldr r1, [r0, #0x4] + str r2, [sp, #0x2c] + str r1, [sp, #0x30] + ldr r1, [r0, #0x8] + ldr r0, [r0, #0xc] + str r1, [sp, #0x24] + str r0, [sp, #0x28] +_02060BF6: + lsl r7, r6, #0x2 + add r0, sp, #0x2c + ldr r4, [r0, r7] + mov r2, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r3, r2, #0x0 + bl sub_0204A9F0 + cmp r0, #0x0 + beq _02060C6A + ldr r1, [r5, #0x2c] + add r0, r4, #0x0 + bl sub_021F4BD0 + ldr r0, [r0, #0x0] + blx sub_020BC13C + ldrh r1, [r0, #0xe] + add r2, sp, #0x20 + mov r3, #0x0 + add r1, r0, r1 + ldr r1, [r1, #0xc] + add r0, r0, r1 + str r0, [sp, #0x18] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0204A9F0 + cmp r0, #0x0 + bne _02060C38 + bl sub_02020C2C +_02060C38: + ldr r0, [sp, #0x20] + bl sub_021E7EC8 + str r0, [sp, #0x1c] + ldr r0, [r5, #0x2c] + bl sub_021F4C88 + ldr r1, [sp, #0x1c] + add r2, sp, #0x24 + str r1, [sp, #0x0] + ldr r1, [sp, #0x18] + ldr r2, [r2, r7] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + mov r0, #0x0 + str r0, [sp, #0x14] + ldr r0, [r5, #0x4c] + ldr r1, [r5, #0x50] + add r3, r4, #0x0 + bl sub_021DA464 + b _02060C6E +_02060C6A: + bl sub_02020C2C +_02060C6E: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x2 + blo _02060BF6 + add sp, #0x34 + pop {r4-r7, pc} + .balign 4 +_02060C7C: .word 0x020F7640 + + thumb_func_start sub_02060C80 +sub_02060C80: ; 0x02060C80 + push {r3, lr} + ldrb r1, [r0, #0x1] + cmp r1, #0x2 + beq _02060CA8 + cmp r1, #0x3 + bne _02060CC4 + mov r2, #0x2 + ldr r1, [r0, #0x8] + lsl r2, r2, #0x10 + cmp r1, r2 + bge _02060CC8 + ldr r3, [r0, #0x24] + lsr r1, r2, #0x5 + add r1, r3, r1 + str r1, [r0, #0x24] + ldr r3, [r0, #0x8] + lsr r1, r2, #0x5 + add r1, r3, r1 + str r1, [r0, #0x8] + pop {r3, pc} +_02060CA8: + mov r1, #0x3 + ldr r2, [r0, #0x8] + lsl r1, r1, #0x10 + cmp r2, r1 + bge _02060CC8 + mov r1, #0x2 + ldr r2, [r0, #0x2c] + lsl r1, r1, #0xa + add r2, r2, r1 + str r2, [r0, #0x2c] + ldr r2, [r0, #0x8] + add r1, r2, r1 + str r1, [r0, #0x8] + pop {r3, pc} +_02060CC4: + bl sub_02020C2C +_02060CC8: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02060CCC +sub_02060CCC: ; 0x02060CCC + push {r4-r6, lr} + add r5, r0, #0x0 + cmp r5, #0x0 + ble _02060CD8 + cmp r5, #0x5 + blt _02060CDC +_02060CD8: + bl sub_02020C2C +_02060CDC: + sub r1, r5, #0x1 + ldr r6, _02060CF4 ; =0x020F767C + mov r0, #0xc + add r4, r1, #0x0 + mul r4, r0 + ldr r0, [r6, r4] + cmp r0, r5 + beq _02060CF0 + bl sub_02020C2C +_02060CF0: + add r0, r6, r4 + pop {r4-r6, pc} + .balign 4 +_02060CF4: .word 0x020F767C + + thumb_func_start sub_02060CF8 +sub_02060CF8: ; 0x02060CF8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B6C + add r4, r0, #0x0 + cmp r4, #0x0 + ble _02060D0E + ldrh r0, [r5, #0x6] + cmp r4, r0 + blt _02060D12 +_02060D0E: + bl sub_02020C2C +_02060D12: + sub r0, r4, #0x1 + ldr r1, [r5, #0x8] + lsl r0, r0, #0x3 + add r0, r1, r0 + pop {r3-r5, pc} + + thumb_func_start sub_02060D1C +sub_02060D1C: ; 0x02060D1C + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r2, #0x0 + add r5, r3, #0x0 + bl sub_02060CCC + ldrh r2, [r0, #0x4] + ldr r1, [sp, #0x18] + strh r2, [r1, #0x0] + add r1, r5, #0x0 + bl sub_02060CF8 + ldr r4, [r0, #0x0] + cmp r4, #0x0 + bne _02060D3E + bl sub_02020C2C +_02060D3E: + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, r5, #0x0 + blx r4 + pop {r3-r7, pc} + + thumb_func_start sub_02060D48 +sub_02060D48: ; 0x02060D48 + push {r3-r5, lr} + add r4, r2, #0x0 + add r5, r1, #0x0 + bl sub_02060CCC + add r1, r4, #0x0 + bl sub_02060CF8 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _02060D62 + mov r0, #0x0 + pop {r3-r5, pc} +_02060D62: + ldr r2, [r0, #0x4] + cmp r2, #0x0 + bne _02060D6C + mov r0, #0x1 + pop {r3-r5, pc} +_02060D6C: + add r0, r5, #0x0 + add r1, r4, #0x0 + blx r2 + pop {r3-r5, pc} + + thumb_func_start sub_02060D74 +sub_02060D74: ; 0x02060D74 + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_02022504 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_0202B4B0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02060D90 +sub_02060D90: ; 0x02060D90 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + mov r0, #0x40 + mov r1, #0x4 + str r3, [sp, #0x8] + bl sub_020219F4 + add r1, r7, #0x0 + add r4, r0, #0x0 + bl sub_02021E28 + ldr r0, [sp, #0x24] + ldr r3, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + add r1, r6, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02060DCC +sub_02060DCC: ; 0x02060DCC + push {r4-r7, lr} + sub sp, #0xc + add r6, r2, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r4, r1, #0x0 + bl sub_02248B5C + add r7, r0, #0x0 + add r0, r6, #0x0 + bl sub_02248B54 + str r0, [sp, #0x8] + add r0, r6, #0x0 + bl sub_02248B58 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_02060D90 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02060E04 +sub_02060E04: ; 0x02060E04 + push {r4-r6, lr} + add r3, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x40 + add r1, r3, #0x0 + add r6, r2, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x76 + add r2, r4, #0x0 + bl sub_020671BC + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0xb + bl sub_02021EF0 + add r0, r4, #0x0 + bl sub_02021A20 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02060E34 +sub_02060E34: ; 0x02060E34 + push {r3-r7, lr} + add r4, r1, #0x0 + add r6, r2, #0x0 + add r5, r0, #0x0 + mov r1, #0x5 + mov r2, #0x0 + add r7, r3, #0x0 + bl sub_020671BC + strh r0, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl sub_020671BC + strb r0, [r6, #0x0] + add r0, r5, #0x0 + mov r1, #0xc + mov r2, #0x0 + bl sub_020671BC + strb r0, [r7, #0x0] + add r0, r5, #0x0 + mov r1, #0x79 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x18] + strb r0, [r1, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_02060E70 +sub_02060E70: ; 0x02060E70 + push {r4-r6, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x4 + add r2, sp, #0x8 + add r6, r3, #0x0 + bl sub_0200A99C + add r0, sp, #0x20 + ldrb r0, [r0, #0x10] + add r1, r4, #0x0 + add r2, sp, #0x8 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r3, r6, #0x0 + bl sub_02060D90 + add sp, #0x20 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02060EA0 +sub_02060EA0: ; 0x02060EA0 + push {r3-r5, lr} + sub sp, #0x20 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x4 + add r2, sp, #0x8 + bl sub_0200A99C + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0x8 + mov r3, #0x0 + bl sub_02060D90 + add sp, #0x20 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02060ECC +sub_02060ECC: ; 0x02060ECC + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, r2, #0x0 + add r0, r5, #0x0 + mov r1, #0x4d + mov r2, #0x0 + add r7, r3, #0x0 + bl sub_020671BC + strb r0, [r4, #0x0] + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + beq _02060F0C + mov r0, #0x40 + add r1, r6, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x76 + add r2, r4, #0x0 + bl sub_020671BC + add r0, r4, #0x0 + add r1, r7, #0x0 + mov r2, #0xb + bl sub_02021EF0 + add r0, r4, #0x0 + bl sub_02021A20 +_02060F0C: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02060F10 +sub_02060F10: ; 0x02060F10 + push {r3-r7, lr} + add r7, r1, #0x0 + add r5, r2, #0x0 + add r6, r3, #0x0 + bl sub_0202B838 + add r4, r0, #0x0 + mov r0, #0x1 + strb r0, [r4, #0x0] + add r0, r4, #0x6 + str r0, [sp, #0x0] + add r0, r7, #0x0 + add r1, r4, #0x2 + add r2, r4, #0x4 + add r3, r4, #0x5 + bl sub_02060E34 + strb r5, [r4, #0x8] + ldr r0, [sp, #0x18] + strb r6, [r4, #0x7] + strb r0, [r4, #0x9] + pop {r3-r7, pc} + + thumb_func_start sub_02060F3C +sub_02060F3C: ; 0x02060F3C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_0202B844 + add r4, r0, #0x0 + mov r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x1f] + add r0, r5, #0x0 + bl sub_02068854 + strb r0, [r4, #0x1e] + add r0, r4, #0x6 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x2 + add r2, r4, #0x4 + add r3, r4, #0x5 + bl sub_02060E34 + add r0, r5, #0x0 + mov r1, #0x4d + mov r2, #0x0 + bl sub_020671BC + strb r0, [r4, #0x7] + add r2, r4, #0x7 + add r4, #0x8 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r3, r4, #0x0 + bl sub_02060ECC + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_02060F88 +sub_02060F88: ; 0x02060F88 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0202B844 + mov r1, #0x2 + strb r1, [r0, #0x1f] + add r0, #0x20 + strb r4, [r0, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02060F9C +sub_02060F9C: ; 0x02060F9C + push {r4, lr} + add r4, r1, #0x0 + bl sub_0202B844 + mov r1, #0x1 + strb r1, [r0, #0x1f] + strh r4, [r0, #0x22] + pop {r4, pc} + + thumb_func_start sub_02060FAC +sub_02060FAC: ; 0x02060FAC + push {r4, lr} + add r4, r1, #0x0 + bl sub_0202B850 + mov r1, #0x1 + strb r1, [r0, #0x0] + strb r4, [r0, #0x1] + pop {r4, pc} + + thumb_func_start sub_02060FBC +sub_02060FBC: ; 0x02060FBC + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + bl sub_0202B85C + mov r1, #0x1 + strb r1, [r0, #0x0] + strb r5, [r0, #0x1] + strh r4, [r0, #0x2] + pop {r3-r5, pc} + + thumb_func_start sub_02060FD0 +sub_02060FD0: ; 0x02060FD0 + push {r3, lr} + bl sub_0202B868 + mov r1, #0x1 + strb r1, [r0, #0x0] + mov r1, #0x0 + strb r1, [r0, #0x7] + pop {r3, pc} + + thumb_func_start sub_02060FE0 +sub_02060FE0: ; 0x02060FE0 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_0202B868 + add r4, r0, #0x0 + ldrb r0, [r4, #0x7] + cmp r0, #0x0 + bne _02061000 + add r0, r4, #0x6 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x2 + add r2, r4, #0x4 + add r3, r4, #0x5 + bl sub_02060E34 +_02061000: + ldrb r0, [r4, #0x7] + add r0, r0, #0x1 + strb r0, [r4, #0x7] + pop {r3-r5, pc} + + thumb_func_start sub_02061008 +sub_02061008: ; 0x02061008 + push {r4, lr} + mov r1, #0x24 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x24 + blx sub_020CE240 + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_02061020 +sub_02061020: ; 0x02061020 + ldr r3, _02061024 ; =sub_02016A18 + bx r3 + .balign 4 +_02061024: .word sub_02016A18 + 1 + + thumb_func_start sub_02061028 +sub_02061028: ; 0x02061028 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x0 + add r1, r5, #0x0 + mov r2, #0x24 + add r7, r3, #0x0 + blx sub_020CE1FC + str r6, [r5, #0x0] + add r0, r5, #0x0 + add r2, r5, #0x0 + add r3, r5, #0x0 + strh r7, [r5, #0x4] + add r0, #0xa + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r5, #0x6 + add r2, #0x8 + add r3, #0x9 + bl sub_02060E34 + add r0, r4, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x22] + ldrh r0, [r5, #0x22] + cmp r0, #0x0 + bne _0206106C + bl sub_02020C2C +_0206106C: + add r2, r5, #0x0 + add r5, #0xc + ldr r0, [sp, #0x18] + add r1, r4, #0x0 + add r2, #0xb + add r3, r5, #0x0 + bl sub_02060ECC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02061080 +sub_02061080: ; 0x02061080 + push {r3-r7, lr} + sub sp, #0x28 + add r7, sp, #0x0 + add r5, r2, #0x0 + add r6, r0, #0x0 + add r3, r1, #0x0 + add r4, r7, #0x0 + mov r2, #0x4 +_02061090: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _02061090 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + str r5, [sp, #0x0] + add r0, sp, #0x0 + ldrh r0, [r0, #0x4] + cmp r0, #0x0 + beq _020610F0 + ldrh r1, [r7, #0x4] + ldr r0, _020610F4 ; =0x000003E7 + cmp r1, r0 + bls _020610B0 + strh r0, [r7, #0x4] +_020610B0: + cmp r5, #0x6 + bhi _020610F0 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r5, #0 + lsl r4, r3, #0 + lsl r6, r5, #0 + lsl r6, r5, #0 + lsl r4, r1, #0 + lsl r4, r3, #0 + lsl r4, r3, #0 + add r0, r6, #0x0 + mov r1, #0x2 + mov r2, #0x1 + add r3, r7, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r7, pc} +_020610DE: + .byte 0xB8, 0x88 + .byte 0x02, 0x28, 0x05, 0xD9, 0x02, 0x21, 0x30, 0x1C, 0x0A, 0x1C, 0x3B, 0x1C, 0xFF, 0xF7, 0x42, 0xFE +_020610F0: + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 +_020610F4: .word 0x000003E7 + + thumb_func_start sub_020610F8 +sub_020610F8: ; 0x020610F8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldrb r0, [r4, #0xb] + cmp r0, #0x0 + beq _02061166 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x9] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0xa] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x6] + ldrb r3, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02060E70 + ldrh r2, [r4, #0x22] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200AE38 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x3 + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_0200AD38 + ldrb r0, [r4, #0x9] + add r2, r4, #0x0 + mov r1, #0x4 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrb r3, [r4, #0x8] + add r0, r5, #0x0 + add r2, #0xc + bl sub_02060D90 + add sp, #0x8 + mov r0, #0x0 + pop {r4-r6, pc} +_02061166: + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x9] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0xa] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x6] + ldrb r3, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02060E70 + ldrh r2, [r4, #0x22] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200AE38 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x3 + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_0200AD38 + mov r0, #0x1 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_020611A8 +sub_020611A8: ; 0x020611A8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + mov r3, #0x3 + bl sub_0200AD38 + ldr r0, [r4, #0x0] + cmp r0, #0x1 + bne _020611E0 + add sp, #0x8 + mov r0, #0x2 + pop {r4-r6, pc} +_020611E0: + mov r0, #0x3 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020611E8 +sub_020611E8: ; 0x020611E8 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02248B60 + add r1, r0, #0x0 + ldrh r1, [r1, #0x6] + add r0, r4, #0x0 + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061208 +sub_02061208: ; 0x02061208 + push {r4-r7, lr} + sub sp, #0x2c + add r5, r1, #0x0 + add r7, r0, #0x0 + add r4, r2, #0x0 + add r6, sp, #0x4 + cmp r5, #0x0 + beq _02061228 + add r0, r6, #0x4 + str r0, [sp, #0x0] + add r0, r3, #0x0 + add r1, r6, #0x0 + add r2, r6, #0x2 + add r3, r6, #0x3 + bl sub_02060E34 +_02061228: + strh r4, [r6, #0x6] + add r0, r7, #0x0 + mov r1, #0x2 + mov r2, #0x3 + add r3, r6, #0x0 + str r5, [r6, #0x8] + bl sub_02060D74 + add sp, #0x2c + pop {r4-r7, pc} + + thumb_func_start sub_0206123C +sub_0206123C: ; 0x0206123C + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _02061280 + ldrh r2, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200AE38 + ldrb r0, [r4, #0x3] + mov r1, #0x2 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + add sp, #0x8 + mov r0, #0x4 + pop {r4-r6, pc} +_02061280: + mov r0, #0x5 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061288 +sub_02061288: ; 0x02061288 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + cmp r0, #0x0 + bne _0206129E + mov r0, #0x1 + pop {r3-r5, pc} +_0206129E: + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + + thumb_func_start sub_020612AC +sub_020612AC: ; 0x020612AC + push {r4-r6, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_0202881C + add r6, r0, #0x0 + mov r0, #0x0 + add r1, sp, #0x0 + mov r2, #0x28 + blx sub_020CE240 + add r0, r6, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl sub_020287A8 + add r1, r0, #0x0 + add r0, sp, #0x0 + mov r2, #0xb + bl sub_02002268 + add r0, r5, #0x0 + mov r1, #0x2 + add r2, r4, #0x0 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020612EC +sub_020612EC: ; 0x020612EC + ldr r3, _020612F4 ; =sub_020612AC + mov r1, #0x14 + bx r3 + nop +_020612F4: .word sub_020612AC + 1 + + thumb_func_start sub_020612F8 +sub_020612F8: ; 0x020612F8 + ldr r3, _02061300 ; =sub_020612AC + mov r1, #0x4 + bx r3 + nop +_02061300: .word sub_020612AC + 1 + + thumb_func_start sub_02061304 +sub_02061304: ; 0x02061304 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r2, #0x0 + add r0, r4, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02248B58 + str r0, [sp, #0x0] + mov r1, #0x1 + add r0, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + str r1, [sp, #0x4] + bl sub_02060D90 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02060DCC + mov r0, #0x6 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206133C +sub_0206133C: ; 0x0206133C + push {r4-r6, lr} + sub sp, #0x8 + add r4, r2, #0x0 + add r0, r4, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02248B58 + str r0, [sp, #0x0] + mov r1, #0x1 + add r0, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + str r1, [sp, #0x4] + bl sub_02060D90 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_02060DCC + mov r0, #0x20 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061374 +sub_02061374: ; 0x02061374 + push {r4, lr} + sub sp, #0x28 + add r4, r0, #0x0 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + add r1, sp, #0x0 + strh r0, [r1, #0x2] + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x6 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206139C +sub_0206139C: ; 0x0206139C + push {r4-r6, lr} + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200AFF4 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200AE38 + mov r0, #0xa + pop {r4-r6, pc} + + thumb_func_start sub_020613CC +sub_020613CC: ; 0x020613CC + push {r3-r4, lr} + sub sp, #0x2c + add r4, r0, #0x0 + add r0, sp, #0x8 + add r2, sp, #0x4 + add r3, sp, #0x4 + str r0, [sp, #0x0] + add r0, r1, #0x0 + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + bl sub_02060E34 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + add r1, sp, #0x4 + strh r0, [r1, #0x6] + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x8 + add r3, sp, #0x4 + bl sub_02060D74 + add sp, #0x2c + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02061404 +sub_02061404: ; 0x02061404 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldrh r2, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200AFF4 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x2 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + mov r0, #0xc + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061444 +sub_02061444: ; 0x02061444 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061460 +sub_02061460: ; 0x02061460 + push {r4-r5, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r4, r1, #0x0 + add r0, sp, #0x8 + add r2, sp, #0x4 + add r3, sp, #0x4 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + bl sub_02060E34 + add r1, sp, #0x8 + mov r0, #0x4 + add r1, #0x2 + add r2, r4, #0x0 + bl sub_02060E04 + add r0, r5, #0x0 + mov r1, #0x2 + mov r2, #0xa + add r3, sp, #0x4 + bl sub_02060D74 + add sp, #0x2c + pop {r4-r5, pc} + + thumb_func_start sub_02061498 +sub_02061498: ; 0x02061498 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + ldrb r0, [r4, #0x3] + mov r1, #0x2 + add r2, r4, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060D90 + bl sub_0201B9EC + ldr r1, _020614F8 ; =0x00003334 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x5 + blo _020614F0 + bl sub_02020C2C +_020614F0: + add r4, #0x11 + add r0, r4, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_020614F8: .word 0x00003334 + + thumb_func_start sub_020614FC +sub_020614FC: ; 0x020614FC + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02248B60 + add r1, r0, #0x0 + ldrh r1, [r1, #0x0] + add r0, r4, #0x0 + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0206151C +sub_0206151C: ; 0x0206151C + push {r3, lr} + sub sp, #0x28 + add r3, sp, #0x0 + strh r1, [r3, #0x0] + strh r2, [r3, #0x2] + mov r1, #0x2 + mov r2, #0xd + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3, pc} + + thumb_func_start sub_02061534 +sub_02061534: ; 0x02061534 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200B164 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + mov r1, #0x2 + mov r3, #0x3 + bl sub_0200AD38 + mov r0, #0x18 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061574 +sub_02061574: ; 0x02061574 + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, sp, #0x0 + bl sub_02022504 + bl sub_0202B868 + ldrb r1, [r0, #0x7] + cmp r1, #0x0 + beq _020615AC + ldrh r1, [r0, #0x2] + mov r2, #0xf + add r3, r4, #0x0 + strh r1, [r4, #0x0] + ldrb r1, [r0, #0x4] + strb r1, [r4, #0x2] + ldrb r1, [r0, #0x5] + strb r1, [r4, #0x3] + ldrb r1, [r0, #0x6] + strb r1, [r4, #0x4] + ldrb r0, [r0, #0x7] + mov r1, #0x2 + strb r0, [r4, #0x5] + add r0, r5, #0x0 + bl sub_02060D74 +_020615AC: + add sp, #0x28 + pop {r3-r5, pc} + + thumb_func_start sub_020615B0 +sub_020615B0: ; 0x020615B0 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x2 + ldrb r2, [r4, #0x5] + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_0200AD38 + mov r0, #0x1a + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_020615F8 +sub_020615F8: ; 0x020615F8 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02024DA0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02248B60 + add r1, r0, #0x0 + ldrh r1, [r1, #0x0] + add r0, r4, #0x0 + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061618 +sub_02061618: ; 0x02061618 + push {r4-r5, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r4, r2, #0x0 + add r0, sp, #0x8 + add r2, sp, #0x4 + add r3, sp, #0x4 + str r0, [sp, #0x0] + add r0, r1, #0x0 + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + bl sub_02060E34 + add r0, sp, #0x4 + strh r4, [r0, #0x6] + add r0, r5, #0x0 + mov r1, #0x2 + mov r2, #0x11 + add r3, sp, #0x4 + bl sub_0202B4B0 + add sp, #0x2c + pop {r4-r5, pc} + + thumb_func_start sub_02061648 +sub_02061648: ; 0x02061648 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + ldrh r2, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200AE38 + mov r0, #0x1d + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061688 +sub_02061688: ; 0x02061688 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020616A4 +sub_020616A4: ; 0x020616A4 + push {r3-r5, lr} + sub sp, #0x28 + add r4, sp, #0x0 + strh r1, [r4, #0x0] + strb r2, [r4, #0x2] + add r5, sp, #0x0 + strh r3, [r4, #0x4] + cmp r2, #0x5 + bne _020616C4 + mov r1, #0x3 + mov r2, #0x6 + add r3, r5, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} +_020616C4: + cmp r2, #0x4 + bne _020616D6 + mov r1, #0x2 + mov r2, #0x12 + add r3, r5, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} +_020616D6: + cmp r2, #0x0 + bne _020616E4 + mov r1, #0x2 + mov r2, #0x13 + add r3, r5, #0x0 + bl sub_02060D74 +_020616E4: + add sp, #0x28 + pop {r3-r5, pc} + + thumb_func_start sub_020616E8 +sub_020616E8: ; 0x020616E8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200AE38 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x2 + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_0200AD38 + mov r0, #0x1e + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061728 +sub_02061728: ; 0x02061728 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200AE38 + mov r0, #0x1f + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061750 +sub_02061750: ; 0x02061750 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r0, [r4, #0x0] + mov r1, #0x4 + sub r0, #0x95 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_020852E8 + add r4, r0, #0x0 + mov r1, #0x1 + str r1, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + mov r0, #0x5 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02061798 +sub_02061798: ; 0x02061798 + push {r4-r5, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, sp, #0x4 + add r4, r1, #0x0 + strb r2, [r0, #0x6] + bl sub_0201BA60 + mov r1, #0x3 + blx sub_020EBE8C + add r0, sp, #0x4 + strb r1, [r0, #0x5] + add r0, sp, #0x8 + add r2, sp, #0x4 + add r3, sp, #0x4 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + bl sub_02060E34 + add r0, r5, #0x0 + mov r1, #0x2 + mov r2, #0x15 + add r3, sp, #0x4 + bl sub_0202B4B0 + add sp, #0x2c + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_020617D8 +sub_020617D8: ; 0x020617D8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r2, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200B534 + ldrb r0, [r4, #0x3] + mov r1, #0x2 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + bl sub_0201B9EC + ldr r1, _02061830 ; =0x00005556 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x3 + blo _02061826 + bl sub_02020C2C +_02061826: + add r4, #0x21 + add r0, r4, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + nop +_02061830: .word 0x00005556 + + thumb_func_start sub_02061834 +sub_02061834: ; 0x02061834 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061850 +sub_02061850: ; 0x02061850 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02023924 + str r0, [r5, #0x0] + add r0, r4, #0x0 + add r1, r5, #0x4 + bl sub_0202393C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061868 +sub_02061868: ; 0x02061868 + push {r4-r6, lr} + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + bl sub_02023924 + ldr r1, [r4, #0x0] + cmp r1, r0 + beq _02061884 + bl sub_02020C2C +_02061884: + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x4 + bl sub_0200ABC0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206189C +sub_0206189C: ; 0x0206189C + push {r4, lr} + sub sp, #0x28 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_02061850 + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x16 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4, pc} + + thumb_func_start sub_020618B8 +sub_020618B8: ; 0x020618B8 + push {r4, lr} + sub sp, #0x28 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl sub_02061850 + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x17 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4, pc} + + thumb_func_start sub_020618D4 +sub_020618D4: ; 0x020618D4 + push {r3, lr} + bl sub_02061868 + mov r0, #0x24 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020618E0 +sub_020618E0: ; 0x020618E0 + push {r3, lr} + bl sub_02061868 + mov r0, #0x25 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020618EC +sub_020618EC: ; 0x020618EC + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0206F158 + mov r1, #0x6b + lsl r1, r1, #0x2 + mov r2, #0x1 + mov r3, #0x20 + bl sub_0206EE50 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02061904 +sub_02061904: ; 0x02061904 + push {r3-r6, lr} + sub sp, #0x2c + add r6, r0, #0x0 + add r0, sp, #0x8 + add r5, r1, #0x0 + add r4, r3, #0x0 + add r0, #0x2 + add r1, sp, #0x4 + add r3, sp, #0x8 + str r0, [sp, #0x0] + add r0, r2, #0x0 + add r1, #0x2 + add r2, sp, #0x8 + add r3, #0x1 + bl sub_02060E34 + add r0, sp, #0x4 + strh r5, [r0, #0x0] + strb r4, [r0, #0x7] + add r0, r6, #0x0 + mov r1, #0x3 + mov r2, #0x1 + add r3, sp, #0x4 + bl sub_02060D74 + add sp, #0x2c + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_0206193C +sub_0206193C: ; 0x0206193C + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x5] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x6] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + ldrb r3, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02060E70 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x2 + mov r3, #0x4 + bl sub_0200AD38 + ldrb r0, [r4, #0x7] + cmp r0, #0x0 + bne _0206198A + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_0206198A: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02061990 +sub_02061990: ; 0x02061990 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x2] + bl sub_020245F0 + cmp r0, #0x0 + bne _020619B0 + mov r0, #0x0 + pop {r3-r5, pc} +_020619B0: + ldr r0, [r5, #0xc] + bl sub_020462AC + mov r1, #0x2 + mov r2, #0x11 + bl sub_0205F2E4 + pop {r3-r5, pc} + + thumb_func_start sub_020619C0 +sub_020619C0: ; 0x020619C0 + push {r4-r5, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r0, sp, #0x8 + str r0, [sp, #0x0] + add r0, r2, #0x0 + add r2, sp, #0x4 + add r3, sp, #0x4 + add r4, r1, #0x0 + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + bl sub_02060E34 + mov r1, #0x3 + add r0, r5, #0x0 + add r2, r1, #0x0 + add r3, sp, #0x4 + str r4, [sp, #0xc] + bl sub_02060D74 + add sp, #0x2c + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_020619F0 +sub_020619F0: ; 0x020619F0 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + mov r0, #0xfa + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + mul r0, r1 + mov r1, #0xfe + blx sub_020EBE8C + add r0, r0, #0x5 + mov r1, #0xa + blx sub_020EBE8C + mov r1, #0xa + add r4, r0, #0x0 + blx sub_020EBE8C + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x2 + mov r3, #0x3 + bl sub_0200AD38 + add r0, r4, #0x0 + mov r1, #0xa + blx sub_020EBE8C + mov r0, #0x0 + add r2, r1, #0x0 + str r0, [sp, #0x0] + mov r3, #0x1 + add r0, r5, #0x0 + mov r1, #0x3 + str r3, [sp, #0x4] + bl sub_0200AD38 + mov r0, #0x2 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02061A70 +sub_02061A70: ; 0x02061A70 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061A8C +sub_02061A8C: ; 0x02061A8C + push {r3-r5, lr} + sub sp, #0x28 + mov r4, #0xfa + lsl r4, r4, #0x2 + add r4, r1, r4 + add r5, sp, #0x0 + cmp r2, r4 + blo _02061AAC + str r1, [r5, #0x0] + str r2, [r5, #0x4] + str r3, [r5, #0x8] + mov r1, #0x3 + mov r2, #0x4 + add r3, r5, #0x0 + bl sub_02060D74 +_02061AAC: + add sp, #0x28 + pop {r3-r5, pc} + + thumb_func_start sub_02061AB0 +sub_02061AB0: ; 0x02061AB0 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + ldr r2, [r4, #0x8] + add r0, r5, #0x0 + mov r3, #0xa + bl sub_0200AD38 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x2 + mov r3, #0x6 + bl sub_0200AD38 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, [r4, #0x4] + add r0, r5, #0x0 + mov r1, #0x3 + mov r3, #0x6 + bl sub_0200AD38 + mov r0, #0x3 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061B0C +sub_02061B0C: ; 0x02061B0C + push {r3, lr} + sub sp, #0x28 + add r3, sp, #0x0 + strh r1, [r3, #0x0] + strh r2, [r3, #0x2] + mov r1, #0x3 + mov r2, #0x8 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3, pc} + + thumb_func_start sub_02061B24 +sub_02061B24: ; 0x02061B24 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200B1D4 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + mov r1, #0x2 + mov r3, #0x3 + bl sub_0200AD38 + mov r0, #0x7 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061B64 +sub_02061B64: ; 0x02061B64 + push {r3, lr} + sub sp, #0x28 + add r2, sp, #0x0 + add r3, sp, #0x0 + strh r1, [r2, #0x0] + cmp r1, #0x1 + bls _02061B7A + mov r1, #0x3 + mov r2, #0x9 + bl sub_02060D74 +_02061B7A: + add sp, #0x28 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02061B80 +sub_02061B80: ; 0x02061B80 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r3, #0x3 + bl sub_0200AD38 + mov r0, #0x8 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061BB4 +sub_02061BB4: ; 0x02061BB4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0206F158 + mov r1, #0x6b + lsl r1, r1, #0x2 + mov r2, #0x1 + mov r3, #0x20 + bl sub_0206EE50 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02061BCC +sub_02061BCC: ; 0x02061BCC + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02022504 + bl sub_0202B85C + ldrh r2, [r0, #0x0] + add r1, sp, #0x0 + add r3, sp, #0x0 + strh r2, [r1, #0x0] + ldrh r2, [r0, #0x2] + strh r2, [r1, #0x2] + mov r2, #0x0 + strb r2, [r0, #0x0] + strh r4, [r1, #0x4] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x2 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061C00 +sub_02061C00: ; 0x02061C00 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + mov r3, #0x4 + bl sub_0200AD38 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200B518 + ldrb r0, [r4, #0x1] + cmp r0, #0x1 + bne _02061C42 + add sp, #0x8 + mov r0, #0x8 + pop {r4-r6, pc} +_02061C42: + mov r0, #0x9 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02061C48 +sub_02061C48: ; 0x02061C48 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0x2 + mov r2, #0x11 + bl sub_0205F2E4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02061C5C +sub_02061C5C: ; 0x02061C5C + push {r3-r6, lr} + sub sp, #0x2c + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_0206BB1C + bl sub_0204A20C + add r1, sp, #0x8 + add r2, sp, #0x4 + add r3, sp, #0x4 + str r1, [sp, #0x0] + add r1, sp, #0x4 + add r2, #0x2 + add r3, #0x3 + add r6, r0, #0x0 + bl sub_02060E34 + add r2, sp, #0x8 + add r3, sp, #0x8 + mov r0, #0x20 + add r1, r6, #0x0 + add r2, #0x1 + add r3, #0x2 + bl sub_02060ECC + add r0, sp, #0x4 + strh r4, [r0, #0x1c] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x4 + add r3, sp, #0x4 + bl sub_02060D74 + add sp, #0x2c + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02061CA8 +sub_02061CA8: ; 0x02061CA8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldrb r0, [r4, #0x5] + cmp r0, #0x0 + beq _02061D00 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + ldrb r0, [r4, #0x3] + mov r1, #0x2 + add r2, r4, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060D90 + ldrh r2, [r4, #0x1c] + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0200B518 + add sp, #0x8 + mov r0, #0xa + pop {r4-r6, pc} +_02061D00: + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x3] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x0] + ldrb r3, [r4, #0x2] + add r0, r5, #0x0 + bl sub_02060E70 + ldrh r2, [r4, #0x1c] + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0200B518 + mov r0, #0xb + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061D30 +sub_02061D30: ; 0x02061D30 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061D4C +sub_02061D4C: ; 0x02061D4C + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + add r4, r1, #0x0 + ldr r0, [r0, #0x14] + bl sub_02252538 + str r0, [sp, #0x0] + add r0, sp, #0x0 + strh r4, [r0, #0x4] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x6 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061D74 +sub_02061D74: ; 0x02061D74 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200B02C + ldrh r2, [r4, #0x4] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200B518 + mov r0, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_02061DA4 +sub_02061DA4: ; 0x02061DA4 + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02022504 + bl sub_0202B838 + ldrh r2, [r0, #0x0] + add r1, sp, #0x0 + add r3, sp, #0x0 + strh r2, [r1, #0x0] + ldrh r2, [r0, #0x2] + strh r2, [r1, #0x2] + ldrh r2, [r0, #0x4] + strh r2, [r1, #0x4] + ldrh r2, [r0, #0x6] + strh r2, [r1, #0x6] + ldrh r2, [r0, #0x8] + strh r2, [r1, #0x8] + mov r2, #0x0 + strb r2, [r0, #0x0] + strh r4, [r1, #0xa] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x7 + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061DE4 +sub_02061DE4: ; 0x02061DE4 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r0, r6, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldrb r0, [r4, #0x5] + mov r1, #0x0 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x6] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + ldrb r3, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02060E70 + ldrb r0, [r4, #0x8] + bl sub_02083298 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0200B2AC + ldrb r0, [r4, #0x7] + bl sub_02083268 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200B278 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r3, #0x1 + str r3, [sp, #0x4] + ldrb r2, [r4, #0x9] + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0200AD38 + add r0, r5, #0x0 + mov r1, #0x4 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0xa] + add r0, r5, #0x0 + mov r1, #0x5 + bl sub_0200B518 + ldrb r0, [r4, #0x9] + cmp r0, #0x1 + bne _02061E5A + add sp, #0x8 + mov r0, #0x12 + pop {r4-r6, pc} +_02061E5A: + mov r0, #0x11 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02061E60 +sub_02061E60: ; 0x02061E60 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x2] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061E7C +sub_02061E7C: ; 0x02061E7C + push {r4, lr} + sub sp, #0x28 + add r4, r0, #0x0 + add r0, sp, #0x0 + strh r1, [r0, #0x2] + ldr r0, [r4, #0xc] + bl sub_02027E24 + mov r1, #0x0 + bl sub_02027008 + bl sub_020275D8 + add r1, sp, #0x0 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x1 + mov r2, #0x9 + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02061EAC +sub_02061EAC: ; 0x02061EAC + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrh r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02060EA0 + ldrh r2, [r4, #0x2] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200B518 + mov r0, #0x14 + pop {r4-r6, pc} + + thumb_func_start sub_02061EDC +sub_02061EDC: ; 0x02061EDC + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02024DA0 + ldrh r1, [r4, #0x0] + bl sub_020245F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061EF8 +sub_02061EF8: ; 0x02061EF8 + push {r3, lr} + sub sp, #0x28 + str r1, [sp, #0x0] + mov r1, #0x1 + mov r2, #0xa + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r3, pc} + + thumb_func_start sub_02061F0C +sub_02061F0C: ; 0x02061F0C + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldr r0, [r4, #0x0] + add r0, #0x14 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02061F2C +sub_02061F2C: ; 0x02061F2C + push {r3-r5, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02022504 + bl sub_0202B850 + ldrb r2, [r0, #0x0] + add r1, sp, #0x0 + add r3, sp, #0x0 + strb r2, [r1, #0x0] + ldrb r2, [r0, #0x1] + strb r2, [r1, #0x1] + strh r4, [r1, #0x2] + mov r1, #0x0 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0xb + bl sub_02060D74 + add sp, #0x28 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02061F60 +sub_02061F60: ; 0x02061F60 + push {r3-r7, lr} + add r7, r2, #0x0 + add r0, r7, #0x0 + add r5, r1, #0x0 + bl sub_02248B60 + add r6, r0, #0x0 + ldrb r4, [r6, #0x1] + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r7, #0x0 + bl sub_02060DCC + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200B628 + ldrh r2, [r6, #0x2] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200B518 + sub r4, #0x19 + cmp r4, #0x3 + bhi _02061FB8 + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x27 + pop {r3-r7, pc} +_02061FAC: + .byte 0x28, 0x20, 0xF8, 0xBD + .byte 0x29, 0x20, 0xF8, 0xBD, 0x2A, 0x20, 0xF8, 0xBD +_02061FB8: + mov r0, #0x26 + pop {r3-r7, pc} + + thumb_func_start sub_02061FBC +sub_02061FBC: ; 0x02061FBC + push {r4-r6, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl sub_02022504 + bl sub_0202B844 + add r6, r0, #0x0 + add r3, sp, #0x0 + mov r2, #0x12 +_02061FD4: + ldrh r1, [r6, #0x0] + add r6, r6, #0x2 + strh r1, [r3, #0x0] + add r3, r3, #0x2 + sub r2, r2, #0x1 + bne _02061FD4 + add r1, sp, #0x0 + strh r4, [r1, #0x24] + mov r1, #0x0 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0xd + add r3, sp, #0x0 + bl sub_02060D74 + add sp, #0x28 + pop {r4-r6, pc} + + thumb_func_start sub_02061FF8 +sub_02061FF8: ; 0x02061FF8 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r2, #0x0 + add r5, r1, #0x0 + add r0, r6, #0x0 + bl sub_02248B60 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl sub_02060DCC + ldrb r0, [r4, #0x5] + mov r1, #0x1 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x6] + str r0, [sp, #0x4] + ldrh r2, [r4, #0x2] + ldrb r3, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02060E70 + ldrb r2, [r4, #0x1e] + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0200AE04 + ldrh r2, [r4, #0x24] + add r0, r5, #0x0 + mov r1, #0x5 + bl sub_0200B518 + ldrb r0, [r4, #0x1f] + cmp r0, #0x0 + beq _0206204A + cmp r0, #0x1 + beq _02062062 + cmp r0, #0x2 + beq _02062050 + b _02062072 +_0206204A: + add sp, #0x8 + mov r0, #0x2d + pop {r4-r6, pc} +_02062050: + add r4, #0x20 + ldrb r2, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0200B660 + add sp, #0x8 + mov r0, #0x2c + pop {r4-r6, pc} +_02062062: + ldrh r2, [r4, #0x22] + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0200AE38 + add sp, #0x8 + mov r0, #0x2e + pop {r4-r6, pc} +_02062072: + mov r0, #0x2d + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02062078 +sub_02062078: ; 0x02062078 + push {r3-r7, lr} + mov r6, #0x0 + ldr r5, _0206209C ; =0x020F7650 + add r7, r0, #0x0 + add r4, r6, #0x0 +_02062082: + ldrb r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_02028828 + cmp r0, #0x0 + beq _02062090 + add r4, r4, #0x1 +_02062090: + add r6, r6, #0x1 + add r5, r5, #0x1 + cmp r6, #0x5 + blo _02062082 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_0206209C: .word 0x020F7650 + + thumb_func_start sub_020620A0 +sub_020620A0: ; 0x020620A0 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x4] + ldr r0, [r0, #0xc] + str r1, [sp, #0x8] + bl sub_0202881C + add r7, r0, #0x0 + bl sub_02062078 + add r4, r0, #0x0 + cmp r4, #0x0 + bgt _020620BE + bl sub_02020C2C +_020620BE: + cmp r4, #0x1 + ble _020620D0 + bl sub_0201BA60 + add r1, r4, #0x0 + blx sub_020EBE8C + add r5, r1, #0x0 + b _020620D2 +_020620D0: + mov r5, #0x0 +_020620D2: + ldr r4, _02062154 ; =0x020F7650 + mov r6, #0x0 +_020620D6: + ldrb r1, [r4, #0x0] + add r0, r7, #0x0 + bl sub_02028828 + cmp r0, #0x0 + beq _020620F0 + cmp r5, #0x0 + bne _020620EE + ldr r0, _02062154 ; =0x020F7650 + ldrb r0, [r0, r6] + str r0, [sp, #0xc] + b _020620F8 +_020620EE: + sub r5, r5, #0x1 +_020620F0: + add r6, r6, #0x1 + add r4, r4, #0x1 + cmp r6, #0x5 + blo _020620D6 +_020620F8: + cmp r5, #0x0 + beq _02062100 + bl sub_02020C2C +_02062100: + bl sub_0201B9EC + mov r1, #0xf1 + lsl r1, r1, #0x4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x11 + blo _02062118 + bl sub_02020C2C +_02062118: + cmp r4, #0x9 + blt _0206211E + add r4, r4, #0x1 +_0206211E: + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0xc] + ldr r2, [sp, #0xc] + mov r3, #0x0 + bl sub_0200B708 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0xc] + ldr r2, [sp, #0xc] + mov r3, #0x1 + bl sub_0200B708 + ldr r0, [sp, #0x8] + mov r1, #0x2 + add r2, r4, #0x0 + bl sub_0200AF18 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_02062154: .word 0x020F7650 + + thumb_func_start sub_02062158 +sub_02062158: ; 0x02062158 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0202881C + bl sub_02062078 + cmp r0, #0x0 + beq _0206216C + mov r0, #0x1 + pop {r3, pc} +_0206216C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02062170 +sub_02062170: ; 0x02062170 + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + bl sub_0201B9EC + ldr r1, _02062234 ; =0x00003334 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x5 + blo _0206218C + bl sub_02020C2C +_0206218C: + ldr r0, _02062238 ; =0x02105FBC + lsl r1, r4, #0x1 + ldrh r5, [r0, r1] + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02034FE4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02034824 + add r2, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_0200AFF4 + cmp r4, #0xb + bhi _0206222C + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0 + lsl r6, r1, #0x1 + lsl r2, r2, #0x1 + lsl r6, r2, #0x1 + lsl r6, r4, #0x1 + lsl r2, r3, #0x1 + lsl r6, r3, #0x1 + lsl r2, r4, #0x1 + lsl r6, r5, #0x1 + lsl r6, r5, #0x1 + lsl r6, r5, #0x1 + lsl r2, r5, #0x1 + bl sub_0201B9EC + lsl r0, r0, #0x2 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _020621E4 + bl sub_02020C2C +_020621E4: + cmp r4, #0x3 + bhi _0206220C + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x1 + pop {r3-r7, pc} +_02062200: + .byte 0x02, 0x20, 0xF8, 0xBD, 0x03, 0x20, 0xF8, 0xBD, 0x04, 0x20, 0xF8, 0xBD +_0206220C: + mov r0, #0x5 + pop {r3-r7, pc} +_02062210: + .byte 0x06, 0x20, 0xF8, 0xBD, 0x07, 0x20, 0xF8, 0xBD, 0x08, 0x20, 0xF8, 0xBD, 0x09, 0x20, 0xF8, 0xBD + .byte 0x0A, 0x20, 0xF8, 0xBD, 0x0B, 0x20, 0xF8, 0xBD, 0x0C, 0x20, 0xF8, 0xBD +_0206222C: + bl sub_02020C2C + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_02062234: .word 0x00003334 +_02062238: .word 0x02105FBC + + thumb_func_start sub_0206223C +sub_0206223C: ; 0x0206223C + mov r0, #0x1 + bx lr + + thumb_func_start sub_02062240 +sub_02062240: ; 0x02062240 + push {r3-r4, lr} + sub sp, #0x4 + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl sub_0202A9B0 + mov r1, #0x2 + bl sub_0202A990 + add r1, sp, #0x0 + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02245910 + add r0, sp, #0x0 + ldrh r0, [r0, #0x2] + bl sub_02034824 + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200AFF4 + add r2, sp, #0x0 + ldrh r2, [r2, #0x0] + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02060EA0 + mov r0, #0x1c + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02062280 +sub_02062280: ; 0x02062280 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0202A9B0 + bl sub_0202AA14 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02062290 +sub_02062290: ; 0x02062290 + push {r3-r4} + ldr r4, _020622BC ; =0x020F78A4 + mov r3, #0x0 +_02062296: + ldrb r2, [r4, #0x0] + cmp r0, r2 + bne _020622AE + ldrb r2, [r4, #0x1] + cmp r1, r2 + bne _020622AE + lsl r0, r3, #0x1 + add r1, r3, r0 + ldr r0, _020622C0 ; =0x020F78A6 + ldrb r0, [r0, r1] + pop {r3-r4} + bx lr +_020622AE: + add r3, r3, #0x1 + add r4, r4, #0x3 + cmp r3, #0x6e + blo _02062296 + mov r0, #0x3 + pop {r3-r4} + bx lr + .balign 4 +_020622BC: .word 0x020F78A4 +_020622C0: .word 0x020F78A6 + + thumb_func_start sub_020622C4 +sub_020622C4: ; 0x020622C4 + push {r4-r6, lr} + add r6, r1, #0x0 + bl sub_0201B9EC + mov r1, #0xf1 + lsl r1, r1, #0x4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x11 + blo _020622E0 + bl sub_02020C2C +_020622E0: + cmp r5, #0x9 + blt _020622E6 + add r5, r5, #0x1 +_020622E6: + bl sub_0201B9EC + mov r1, #0xf1 + lsl r1, r1, #0x4 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x11 + blo _020622FE + bl sub_02020C2C +_020622FE: + cmp r4, #0x9 + blt _02062304 + add r4, r4, #0x1 +_02062304: + add r0, r6, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + bl sub_0200AF18 + add r0, r6, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200AF18 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02062290 + cmp r0, #0x3 + bhi _0206233C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r6, r1, #0 + lsl r6, r0, #0 + lsl r2, r1, #0 + mov r0, #0x1e + pop {r4-r6, pc} +_0206233C: + mov r0, #0x1f + pop {r4-r6, pc} + + thumb_func_start sub_02062340 +sub_02062340: ; 0x02062340 + mov r0, #0x20 + pop {r4-r6, pc} + + thumb_func_start sub_02062344 +sub_02062344: ; 0x02062344 + mov r0, #0x21 + pop {r4-r6, pc} + + thumb_func_start sub_02062348 +sub_02062348: ; 0x02062348 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0206234C +sub_0206234C: ; 0x0206234C + push {r3-r7, lr} + sub sp, #0x88 + ldr r0, [r0, #0xc] + bl sub_020462AC + ldr r4, _020623E8 ; =0x020F7658 + add r7, r0, #0x0 + mov r6, #0x0 + add r5, sp, #0x0 +_0206235E: + ldrh r2, [r4, #0x0] + add r0, r7, #0x0 + mov r1, #0x2 + bl sub_0205F2E4 + strb r0, [r5, #0x0] + add r6, r6, #0x1 + add r4, r4, #0x2 + add r5, r5, #0x1 + cmp r6, #0x12 + blo _0206235E + mov r3, #0x0 + add r2, sp, #0x10 + ldr r0, _020623EC ; =0x020F79EE + add r4, r3, #0x0 + add r1, r3, #0x0 + add r2, #0x2 + add r6, sp, #0x0 +_02062382: + lsl r5, r1, #0x1 + ldrh r5, [r0, r5] + ldrb r5, [r6, r5] + cmp r5, #0x0 + beq _02062392 + strb r3, [r2, #0x0] + add r2, r2, #0x1 + add r4, r4, #0x1 +_02062392: + add r3, r3, #0x1 + add r1, r1, #0x2 + cmp r3, #0x76 + blo _02062382 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + bne _020623A4 + bl sub_02020C2C +_020623A4: + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x1 + bhi _020623B0 + mov r5, #0x0 + b _020623DE +_020623B0: + bl sub_0201B9EC + add r5, r0, #0x0 + lsl r1, r4, #0x10 + ldr r0, _020623F0 ; =0x0000FFFF + lsr r1, r1, #0x10 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + cmp r5, r0 + blo _020623DE + bl sub_02020C2C +_020623DE: + add r0, sp, #0x10 + add r0, #0x2 + ldrb r0, [r0, r5] + add sp, #0x88 + pop {r3-r7, pc} + .balign 4 +_020623E8: .word 0x020F7658 +_020623EC: .word 0x020F79EE +_020623F0: .word 0x0000FFFF + + thumb_func_start sub_020623F4 +sub_020623F4: ; 0x020623F4 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + add r5, r1, #0x0 + bl sub_02024ECC + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0206234C + add r4, r0, #0x0 + lsl r0, r4, #0x1 + add r0, r0, #0x1 + lsl r1, r0, #0x1 + ldr r0, _0206245C ; =0x020F79EE + ldrh r0, [r0, r1] + bl sub_02034824 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200AFF4 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02025238 + cmp r0, #0x5 + bhi _02062456 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0 + lsl r2, r3, #0 + lsl r6, r2, #0 + lsl r2, r2, #0 + lsl r6, r1, #0 + lsl r2, r1, #0 + mov r0, #0x23 + pop {r4-r6, pc} +_0206244A: + .byte 0x24, 0x20, 0x70, 0xBD, 0x25, 0x20 + .byte 0x70, 0xBD, 0x26, 0x20, 0x70, 0xBD +_02062456: + mov r0, #0x27 + pop {r4-r6, pc} + nop +_0206245C: .word 0x020F79EE + + thumb_func_start sub_02062460 +sub_02062460: ; 0x02062460 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + mov r1, #0x2 + mov r2, #0x9 + bl sub_0205F2E4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02062474 +sub_02062474: ; 0x02062474 + push {r3-r6, lr} + sub sp, #0xc + mov r0, #0x4 + add r6, r1, #0x0 + str r0, [sp, #0x0] + add r0, sp, #0x8 + mov r1, #0x7e + mov r2, #0x2 + mov r3, #0x0 + bl sub_02006548 + ldr r0, [sp, #0x8] + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + bne _02062496 + bl sub_02020C2C +_02062496: + cmp r4, #0x1 + bhi _0206249E + mov r5, #0x0 + b _020624C6 +_0206249E: + bl sub_0201B9EC + add r5, r0, #0x0 + ldr r0, _02062504 ; =0x0000FFFF + add r1, r4, #0x0 + blx sub_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r5, #0x0 + lsr r1, r1, #0x10 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r4 + blo _020624C6 + bl sub_02020C2C +_020624C6: + lsl r4, r5, #0x2 + add r0, sp, #0x4 + mov r2, #0x2 + add r0, #0x2 + mov r1, #0x7e + add r3, r4, #0x4 + str r2, [sp, #0x0] + bl sub_02006548 + mov r2, #0x2 + add r0, sp, #0x4 + mov r1, #0x7e + add r3, r4, #0x6 + str r2, [sp, #0x0] + bl sub_02006548 + add r2, sp, #0x4 + ldrh r2, [r2, #0x2] + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_02060EA0 + add r2, sp, #0x4 + ldrh r2, [r2, #0x0] + add r0, r6, #0x0 + mov r1, #0x1 + bl sub_0200AE38 + mov r0, #0x2a + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_02062504: .word 0x0000FFFF + + thumb_func_start sub_02062508 +sub_02062508: ; 0x02062508 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0206250C +sub_0206250C: ; 0x0206250C + push {r4-r6, lr} + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 +_02062514: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02027098 + cmp r0, #0x1 + bne _02062522 + add r5, r5, #0x1 +_02062522: + add r4, r4, #0x1 + cmp r4, #0xb + blt _02062514 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0206252C +sub_0206252C: ; 0x0206252C + push {r4-r7, lr} + sub sp, #0xc + ldr r0, [r0, #0xc] + add r7, r1, #0x0 + bl sub_02027E24 + add r6, r0, #0x0 + bl sub_0206250C + add r4, r0, #0x0 + cmp r4, #0x1 + ble _02062552 + bl sub_0201BA60 + add r1, r4, #0x0 + blx sub_020EBE8C + add r5, r1, #0x0 + b _02062554 +_02062552: + mov r5, #0x0 +_02062554: + mov r4, #0x0 +_02062556: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02027098 + cmp r0, #0x1 + bne _0206256C + cmp r5, #0x0 + bne _0206256A + str r4, [sp, #0x8] + b _02062572 +_0206256A: + sub r5, r5, #0x1 +_0206256C: + add r4, r4, #0x1 + cmp r4, #0xb + blt _02062556 +_02062572: + cmp r4, #0xb + blt _0206257A + bl sub_02020C2C +_0206257A: + ldr r1, [sp, #0x8] + add r0, r6, #0x0 + bl sub_02027008 + add r5, r0, #0x0 + mov r0, #0x8 + mov r1, #0x4 + bl sub_020219F4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0202763C + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02027608 + add r0, r5, #0x0 + bl sub_020276A8 + mov r1, #0x1 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_0200ABB4 + add r0, r4, #0x0 + bl sub_02021A20 + add r0, r5, #0x0 + bl sub_0202769C + add r2, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x1 + bl sub_0200B518 + mov r0, #0x32 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020625D4 +sub_020625D4: ; 0x020625D4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_02027E24 + bl sub_0206250C + cmp r0, #0x0 + beq _020625E8 + mov r0, #0x1 + pop {r3, pc} +_020625E8: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020625EC +sub_020625EC: ; 0x020625EC + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + str r2, [sp, #0x0] + mov r0, #0x3 + mov r1, #0x50 + lsl r2, r0, #0xd + ldr r6, [r5, #0xc] + bl sub_0201681C + mov r1, #0x2d + mov r0, #0x50 + lsl r1, r1, #0x4 + bl sub_02016998 + mov r2, #0x2d + mov r1, #0x0 + lsl r2, r2, #0x4 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x50 + str r0, [r4, #0x0] + ldr r0, [sp, #0x0] + mov r1, #0x3 + blx sub_020EBC80 + strb r1, [r4, #0x16] + ldr r0, [sp, #0x0] + mov r1, #0x3 + blx sub_020EBC80 + strb r0, [r4, #0x17] + ldrb r0, [r4, #0x16] + bl sub_0202B870 + strb r0, [r4, #0x18] + ldrb r0, [r4, #0x16] + bl sub_0202B87C + strb r0, [r4, #0x19] + add r0, r4, #0x0 + add r0, #0xcc + str r5, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r5, #0x8] + add r0, #0xd0 + str r1, [r0, #0x0] + add r0, r6, #0x0 + bl sub_0202B8E4 + mov r1, #0x2a + lsl r1, r1, #0x4 + str r0, [r4, r1] + add r0, r6, #0x0 + bl sub_02023900 + bl sub_02024FF4 + strh r0, [r4, #0x1a] + add r0, r6, #0x0 + bl sub_02023900 + bl sub_02025084 + strh r0, [r4, #0x1c] + str r4, [r7, #0x8] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02062678 +sub_02062678: ; 0x02062678 + push {r3-r7, lr} + sub sp, #0x8 + ldr r4, [r0, #0x8] + mov r0, #0x0 + str r0, [sp, #0x4] + ldrb r0, [r4, #0x18] + cmp r0, #0x0 + ble _020626FE + ldr r0, [sp, #0x4] + str r0, [sp, #0x0] +_0206268C: + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r2, [r4, r0] + ldr r0, [sp, #0x0] + mov r6, #0x0 + add r1, r2, r0 + ldr r0, [r2, r0] + add r7, r6, #0x0 + cmp r0, #0x0 + ble _020626EC + add r5, r6, #0x0 +_020626A2: + add r0, r1, #0x4 + add r1, r0, r5 + ldrb r0, [r1, #0x6] + mov r12, r0 + cmp r0, #0xff + beq _020626D6 + ldrh r0, [r1, #0x4] + cmp r0, #0x0 + bne _020626D6 + ldrb r2, [r4, #0x17] + ldrb r3, [r4, #0x19] + mov r1, #0xd + mul r1, r2 + add r2, r3, r1 + ldr r1, [sp, #0x4] + mov r0, #0x2a + add r1, r1, r2 + mov r2, r12 + lsl r0, r0, #0x4 + sub r2, r2, r6 + lsl r2, r2, #0x18 + ldr r0, [r4, r0] + lsr r2, r2, #0x18 + bl sub_0202B8F0 + add r6, r6, #0x1 +_020626D6: + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x0] + add r1, r1, r0 + ldr r0, [r2, r0] + add r7, r7, #0x1 + add r5, #0x8 + cmp r7, r0 + blt _020626A2 +_020626EC: + ldr r0, [sp, #0x0] + ldrb r1, [r4, #0x18] + add r0, #0x3c + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, r1 + blt _0206268C +_020626FE: + add r0, r4, #0x0 + ldr r5, [r4, #0x0] + bl sub_02016A18 + mov r2, #0x2d + add r0, r4, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_020168D0 + mov r0, #0xc + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02062720 +sub_02062720: ; 0x02062720 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02062A70 + add r0, r4, #0x0 + bl sub_02062C80 + add r0, r4, #0x0 + bl sub_02062DB0 + add r0, r4, #0x0 + bl sub_02062F3C + mov r0, #0x2 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02062740 +sub_02062740: ; 0x02062740 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02062FFC + add r0, r4, #0x0 + bl sub_02062EC4 + add r0, r4, #0x0 + bl sub_02062D38 + add r0, r4, #0x0 + bl sub_02062C4C + mov r0, #0xb + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02062760 +sub_02062760: ; 0x02062760 + push {r3, lr} + ldrh r1, [r0, #0x22] + ldrh r2, [r0, #0x24] + bl sub_02063028 + mov r0, #0x3 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02062770 +sub_02062770: ; 0x02062770 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0xc0 + ldr r0, [r0, #0x0] + bl sub_02001204 + ldr r1, _020627C8 ; =0x021C48B8 + ldr r3, [r1, #0x48] + mov r1, #0x2 + tst r1, r3 + beq _02062790 + add r0, r4, #0x0 + bl sub_02063178 + mov r0, #0xa + pop {r4, pc} +_02062790: + mov r2, #0x1 + add r1, r3, #0x0 + tst r1, r2 + bne _0206279C + mov r0, #0x3 + pop {r4, pc} +_0206279C: + sub r1, r2, #0x3 + cmp r0, r1 + beq _020627AE + sub r1, r2, #0x2 + cmp r0, r1 + beq _020627AE + ldr r1, _020627CC ; =0x0000FFFF + cmp r0, r1 + bne _020627B8 +_020627AE: + add r0, r4, #0x0 + bl sub_02063178 + mov r0, #0xa + pop {r4, pc} +_020627B8: + strb r0, [r4, #0x1f] + mov r0, #0x0 + strh r0, [r4, #0x28] + add r0, r4, #0x0 + bl sub_02063178 + mov r0, #0x4 + pop {r4, pc} + .balign 4 +_020627C8: .word 0x021C48B8 +_020627CC: .word 0x0000FFFF + + thumb_func_start sub_020627D0 +sub_020627D0: ; 0x020627D0 + push {r3, lr} + ldrh r1, [r0, #0x28] + bl sub_02063430 + mov r0, #0x5 + pop {r3, pc} + + thumb_func_start sub_020627DC +sub_020627DC: ; 0x020627DC + push {r3, lr} + ldr r1, _02062804 ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + beq _020627F0 + bl sub_020634DC + mov r0, #0x2 + pop {r3, pc} +_020627F0: + mov r1, #0x4 + tst r1, r2 + beq _020627FE + bl sub_02063238 + mov r0, #0x6 + pop {r3, pc} +_020627FE: + mov r0, #0x5 + pop {r3, pc} + nop +_02062804: .word 0x021C48B8 + + thumb_func_start sub_02062808 +sub_02062808: ; 0x02062808 + push {r4, lr} + ldr r1, _020628B8 ; =0x021C48B8 + mov r2, #0x2 + ldr r1, [r1, #0x48] + add r4, r0, #0x0 + tst r2, r1 + beq _0206281E + bl sub_02063264 + mov r0, #0x5 + pop {r4, pc} +_0206281E: + mov r0, #0x1 + tst r0, r1 + beq _0206285C + mov r0, #0x0 + str r0, [r4, #0xc] + mov r0, #0xb + lsl r0, r0, #0x6 + ldrb r2, [r4, #0x1f] + mov r1, #0x3c + ldr r3, [r4, r0] + mul r1, r2 + add r1, r3, r1 + add r3, r1, #0x4 + ldrh r1, [r4, #0x28] + add r2, r4, r1 + add r1, r0, #0x0 + add r1, #0x8 + ldrb r1, [r2, r1] + lsl r1, r1, #0x3 + add r2, r3, r1 + add r1, r0, #0x4 + str r2, [r4, r1] + add r0, r0, #0x4 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x6] + cmp r0, #0xff + bne _02062858 + mov r0, #0x8 + pop {r4, pc} +_02062858: + mov r0, #0x7 + pop {r4, pc} +_0206285C: + mov r0, #0x40 + tst r0, r1 + beq _02062882 + ldrh r0, [r4, #0x28] + cmp r0, #0x0 + beq _02062882 + sub r0, r0, #0x1 + strh r0, [r4, #0x28] + ldrh r2, [r4, #0x28] + mov r0, #0xa6 + lsl r0, r0, #0x2 + lsl r2, r2, #0x4 + add r2, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r4, r0] + mov r1, #0x7e + asr r2, r2, #0x10 + bl sub_0200C714 +_02062882: + ldr r0, _020628B8 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x80 + tst r0, r1 + beq _020628B4 + add r0, r4, #0x0 + add r0, #0x21 + ldrb r0, [r0, #0x0] + ldrh r1, [r4, #0x28] + sub r0, r0, #0x1 + cmp r1, r0 + bge _020628B4 + add r0, r1, #0x1 + strh r0, [r4, #0x28] + ldrh r2, [r4, #0x28] + mov r0, #0xa6 + lsl r0, r0, #0x2 + lsl r2, r2, #0x4 + add r2, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r4, r0] + mov r1, #0x7e + asr r2, r2, #0x10 + bl sub_0200C714 +_020628B4: + mov r0, #0x6 + pop {r4, pc} + .balign 4 +_020628B8: .word 0x021C48B8 + + thumb_func_start sub_020628BC +sub_020628BC: ; 0x020628BC + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _020628E0 ; =0x020F7BC8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + ldr r2, _020628E4 ; =0x000003D9 + mov r3, #0xb + bl sub_02002198 + add r4, #0xc8 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + nop +_020628E0: .word 0x020F7BC8 +_020628E4: .word 0x000003D9 + + thumb_func_start sub_020628E8 +sub_020628E8: ; 0x020628E8 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x3 + bgt _0206290C + cmp r1, #0x0 + blt _020629CE + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r1, #0 + lsl r0, r1, #0x1 + lsl r0, r4, #0x1 + lsl r6, r0, #0x2 +_0206290C: + cmp r1, #0xff + beq _020629B2 + b _020629CE +_02062912: + .byte 0xE4, 0x30, 0xFF, 0x21, 0xB6, 0xF7, 0x83, 0xFE, 0x00, 0x23, 0x00, 0x93, 0x60, 0x8B + .byte 0x22, 0x1C, 0x98, 0x32, 0x01, 0x90, 0x2B, 0x48, 0x01, 0x21, 0x02, 0x90, 0x03, 0x93, 0x20, 0x1C + .byte 0x12, 0x68, 0xE4, 0x30, 0xB9, 0xF7, 0x54, 0xFA, 0xA0, 0x77, 0xA6, 0x20, 0x80, 0x00, 0x20, 0x58 + .byte 0x02, 0x21, 0xA9, 0xF7, 0x93, 0xFE, 0xE0, 0x68, 0x40, 0x1C, 0xE0, 0x60, 0x3F, 0xE0, 0xA0, 0x7F + .byte 0xB9, 0xF7, 0x0E, 0xFA, 0x00, 0x28, 0x3A, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0xE0, 0x68 + .byte 0x40, 0x1C, 0xE0, 0x60, 0x33, 0xE0, 0xC8, 0x30, 0x00, 0x68, 0x21, 0x68, 0x9F, 0xF7, 0x1E, 0xFC + .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x04, 0xD0, 0x27, 0xE0, 0xE0, 0x68 + .byte 0x40, 0x1C, 0xE0, 0x60, 0x23, 0xE0, 0xFF, 0x20, 0xE0, 0x60, 0x20, 0xE0, 0xB1, 0x21, 0x89, 0x00 + .byte 0x61, 0x58, 0x00, 0x22, 0x8A, 0x80, 0x01, 0x21, 0x00, 0xF0, 0x84, 0xFC, 0xA6, 0x20, 0x80, 0x00 + .byte 0x20, 0x58, 0x01, 0x21, 0xA9, 0xF7, 0x62, 0xFE, 0x00, 0x20, 0xE0, 0x60, 0x04, 0xB0, 0x06, 0x20 + .byte 0x10, 0xBD +_020629B2: + add r0, r4, #0x0 + bl sub_02063208 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200C66C + mov r0, #0x0 + str r0, [r4, #0xc] + add sp, #0x10 + mov r0, #0x6 + pop {r4, pc} +_020629CE: + mov r0, #0x7 + add sp, #0x10 + pop {r4, pc} +_020629D4: + .byte 0x0F, 0x02, 0x01, 0x00 + + thumb_func_start sub_020629D8 +sub_020629D8: ; 0x020629D8 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0xc] + cmp r1, #0x0 + beq _020629EE + cmp r1, #0x1 + beq _02062A2A + cmp r1, #0x2 + beq _02062A3C + b _02062A60 +_020629EE: + add r0, #0xe4 + mov r1, #0xff + bl sub_02019620 + mov r3, #0x0 + str r3, [sp, #0x0] + ldrh r0, [r4, #0x1a] + add r2, r4, #0x0 + add r2, #0x9c + str r0, [sp, #0x4] + ldr r0, _02062A68 ; =0x0001020F + mov r1, #0x1 + str r0, [sp, #0x8] + str r3, [sp, #0xc] + add r0, r4, #0x0 + ldr r2, [r2, #0x0] + add r0, #0xe4 + bl sub_0201BDE0 + strb r0, [r4, #0x1e] + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x2 + bl sub_0200C66C + ldr r0, [r4, #0xc] + add r0, r0, #0x1 + str r0, [r4, #0xc] + b _02062A60 +_02062A2A: + ldrb r0, [r4, #0x1e] + bl sub_0201BD70 + cmp r0, #0x0 + bne _02062A60 + ldr r0, [r4, #0xc] + add r0, r0, #0x1 + str r0, [r4, #0xc] + b _02062A60 +_02062A3C: + ldr r1, _02062A6C ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + beq _02062A60 + bl sub_02063208 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200C66C + mov r0, #0x0 + str r0, [r4, #0xc] + add sp, #0x10 + mov r0, #0x6 + pop {r4, pc} +_02062A60: + mov r0, #0x8 + add sp, #0x10 + pop {r4, pc} + nop +_02062A68: .word 0x0001020F +_02062A6C: .word 0x021C48B8 + + thumb_func_start sub_02062A70 +sub_02062A70: ; 0x02062A70 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldrb r2, [r4, #0x18] + add r5, r1, #0x0 + mov r1, #0x3c + ldr r0, [r4, #0x0] + mul r1, r2 + bl sub_02016998 + mov r1, #0xb + lsl r1, r1, #0x6 + str r0, [r4, r1] + ldr r0, [r4, r1] + ldrb r3, [r4, #0x18] + mov r2, #0x3c + mov r1, #0x0 + mul r2, r3 + blx sub_020CE34C + ldrb r1, [r4, #0x16] + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl sub_0202BD6C + mov r1, #0xa9 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x0 + str r0, [sp, #0x10] + ldrb r0, [r4, #0x18] + cmp r0, #0x0 + bgt _02062AB4 + b _02062C48 +_02062AB4: + ldr r0, [sp, #0x10] + str r4, [sp, #0x8] + str r0, [sp, #0x4] + add r5, r0, #0x0 +_02062ABC: + ldrb r2, [r4, #0x17] + ldrb r3, [r4, #0x19] + mov r1, #0xd + mul r1, r2 + mov r0, #0x2a + add r2, r3, r1 + ldr r1, [sp, #0x10] + lsl r0, r0, #0x4 + add r1, r1, r2 + ldr r0, [r4, r0] + ldr r2, [r4, #0x0] + bl sub_0202BDF0 + mov r1, #0xaa + mov r3, #0x0 + ldr r2, [sp, #0x8] + lsl r1, r1, #0x2 + str r0, [r2, r1] + add r0, r2, #0x0 + ldr r0, [r0, r1] + mov r12, r3 + str r0, [sp, #0xc] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02062B22 + sub r0, r1, #0x4 + ldr r0, [r4, r0] + add r3, r1, #0x0 + add r2, r0, #0x4 + ldr r0, [sp, #0x4] + add r3, #0x18 + add r2, r2, r0 + add r0, r1, #0x0 + add r0, #0x18 + ldr r0, [r4, r0] + add r0, r0, r5 + str r2, [r0, #0x4] + add r0, r1, #0x0 + add r0, #0x18 + ldr r0, [r4, r0] + mov r2, #0x1 + add r0, r0, r5 + strh r2, [r0, #0x8] + ldr r3, [r4, r3] + mov r0, #0xff + add r3, r3, r5 + add r1, #0x18 + strb r0, [r3, #0xa] + ldr r0, [r4, r1] + str r2, [r0, r5] + b _02062C2C +_02062B22: + add r2, r3, #0x0 + cmp r0, #0x0 + ble _02062BE4 + ldr r0, [sp, #0xc] + str r0, [sp, #0x0] + add r7, r0, #0x4 +_02062B2E: + mov r0, r12 + cmp r0, #0x0 + bne _02062BA8 + mov r0, #0xa9 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r1, [sp, #0x4] + add r1, r1, r0 + ldr r6, [r1, #0x8] + ldr r1, [sp, #0x0] + ldr r1, [r1, #0x8] + cmp r6, r1 + blo _02062BA8 + add r6, r0, #0x4 + ldr r0, [sp, #0x4] + lsl r1, r3, #0x3 + add r0, r6, r0 + mov r6, #0xb + lsl r6, r6, #0x6 + ldr r6, [r4, r6] + add r3, r3, #0x1 + add r6, r5, r6 + add r6, r1, r6 + str r0, [r6, #0x4] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r6, r1, r0 + mov r0, #0x1 + strh r0, [r6, #0x8] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + lsl r6, r3, #0x3 + add r0, r5, r0 + add r1, r1, r0 + mov r0, #0xff + strb r0, [r1, #0xa] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r0, r6, r0 + str r7, [r0, #0x4] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r1, r6, r0 + mov r0, #0x1 + strh r0, [r1, #0x8] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r0, r6, r0 + strb r2, [r0, #0xa] + mov r0, #0x1 + mov r12, r0 + b _02062BD0 +_02062BA8: + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + lsl r6, r3, #0x3 + add r0, r5, r0 + add r0, r6, r0 + str r7, [r0, #0x4] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r1, r6, r0 + mov r0, #0x1 + strh r0, [r1, #0x8] + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + add r0, r5, r0 + add r0, r6, r0 + strb r2, [r0, #0xa] +_02062BD0: + ldr r0, [sp, #0x0] + add r2, r2, #0x1 + add r0, #0xc + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + add r3, r3, #0x1 + ldr r0, [r0, #0x0] + add r7, #0xc + cmp r2, r0 + blt _02062B2E +_02062BE4: + mov r0, r12 + cmp r0, #0x0 + bne _02062C1E + mov r0, #0xa9 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + lsl r2, r3, #0x3 + add r3, r1, #0x4 + ldr r1, [sp, #0x4] + add r1, r3, r1 + add r3, r0, #0x0 + add r3, #0x1c + ldr r3, [r4, r3] + add r3, r3, r5 + add r3, r2, r3 + str r1, [r3, #0x4] + add r3, r0, #0x0 + add r3, #0x1c + ldr r3, [r4, r3] + mov r1, #0x1 + add r3, r3, r5 + add r3, r2, r3 + strh r1, [r3, #0x8] + add r0, #0x1c + ldr r0, [r4, r0] + mov r1, #0xff + add r0, r0, r5 + add r0, r2, r0 + strb r1, [r0, #0xa] +_02062C1E: + ldr r0, [sp, #0xc] + ldr r0, [r0, #0x0] + add r1, r0, #0x1 + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + str r1, [r0, r5] +_02062C2C: + ldr r0, [sp, #0x8] + ldrb r1, [r4, #0x18] + add r0, r0, #0x4 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + add r5, #0x3c + add r0, #0xc + str r0, [sp, #0x4] + ldr r0, [sp, #0x10] + add r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, r1 + bge _02062C48 + b _02062ABC +_02062C48: + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_02062C4C +sub_02062C4C: ; 0x02062C4C + push {r3-r7, lr} + add r6, r0, #0x0 + ldrb r0, [r6, #0x18] + mov r4, #0x0 + add r0, r0, #0x1 + cmp r0, #0x0 + ble _02062C72 + mov r7, #0xa9 + add r5, r6, #0x0 + lsl r7, r7, #0x2 +_02062C60: + ldr r0, [r5, r7] + bl sub_0202BE6C + ldrb r0, [r6, #0x18] + add r4, r4, #0x1 + add r5, r5, #0x4 + add r0, r0, #0x1 + cmp r4, r0 + blt _02062C60 +_02062C72: + mov r0, #0xb + lsl r0, r0, #0x6 + ldr r0, [r6, r0] + bl sub_02016A18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02062C80 +sub_02062C80: ; 0x02062C80 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r2, _02062D34 ; =0x000001E1 + ldr r3, [r5, #0x0] + mov r0, #0x0 + mov r1, #0x1a + bl sub_0200A86C + str r0, [r5, #0x2c] + ldr r2, [r5, #0x0] + mov r0, #0x2 + mov r1, #0x4c + bl sub_0200AA90 + str r0, [r5, #0x30] + ldr r1, [r5, #0x0] + mov r0, #0x4c + bl sub_020219F4 + str r0, [r5, #0x34] + ldr r0, [r5, #0x2c] + mov r1, #0xd + bl sub_0200A914 + str r0, [r5, #0x38] + ldr r0, [r5, #0x2c] + mov r1, #0x16 + bl sub_0200A914 + str r0, [r5, #0x3c] + ldr r0, [r5, #0x2c] + mov r1, #0x24 + bl sub_0200A914 + str r0, [r5, #0x40] + ldr r0, [r5, #0x2c] + mov r1, #0xe + bl sub_0200A914 + str r0, [r5, #0x44] + ldrb r0, [r5, #0x18] + mov r4, #0x0 + cmp r0, #0x0 + ble _02062CFE + add r6, r5, #0x0 +_02062CDA: + ldrb r1, [r5, #0x19] + ldr r0, [r5, #0x2c] + add r1, r1, r4 + bl sub_0200A914 + str r0, [r6, #0x64] + ldrb r1, [r5, #0x19] + ldr r0, [r5, #0x2c] + add r1, #0x17 + add r1, r1, r4 + bl sub_0200A914 + str r0, [r6, #0x7c] + ldrb r0, [r5, #0x18] + add r4, r4, #0x1 + add r6, r6, #0x4 + cmp r4, r0 + blt _02062CDA +_02062CFE: + mov r4, #0x0 + add r6, r5, #0x0 +_02062D02: + add r1, r4, #0x0 + ldr r0, [r5, #0x2c] + add r1, #0xf + bl sub_0200A914 + str r0, [r6, #0x48] + add r4, r4, #0x1 + add r6, r6, #0x4 + cmp r4, #0x7 + blt _02062D02 + mov r4, #0x0 + add r6, r5, #0x0 +_02062D1A: + add r1, r4, #0x0 + ldr r0, [r5, #0x2c] + add r1, #0x25 + bl sub_0200A914 + add r1, r6, #0x0 + add r1, #0x94 + add r4, r4, #0x1 + add r6, r6, #0x4 + str r0, [r1, #0x0] + cmp r4, #0x3 + blt _02062D1A + pop {r4-r6, pc} + .balign 4 +_02062D34: .word 0x000001E1 + + thumb_func_start sub_02062D38 +sub_02062D38: ; 0x02062D38 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r4, #0x0 + add r5, r6, #0x0 +_02062D40: + add r0, r5, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + bl sub_02021A20 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x3 + blt _02062D40 + mov r5, #0x0 + add r4, r6, #0x0 +_02062D56: + ldr r0, [r4, #0x48] + bl sub_02021A20 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x7 + blt _02062D56 + ldrb r0, [r6, #0x18] + mov r5, #0x0 + cmp r0, #0x0 + ble _02062D84 + add r4, r6, #0x0 +_02062D6E: + ldr r0, [r4, #0x64] + bl sub_02021A20 + ldr r0, [r4, #0x7c] + bl sub_02021A20 + ldrb r0, [r6, #0x18] + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, r0 + blt _02062D6E +_02062D84: + ldr r0, [r6, #0x44] + bl sub_02021A20 + ldr r0, [r6, #0x40] + bl sub_02021A20 + ldr r0, [r6, #0x3c] + bl sub_02021A20 + ldr r0, [r6, #0x38] + bl sub_02021A20 + ldr r0, [r6, #0x34] + bl sub_02021A20 + ldr r0, [r6, #0x30] + bl sub_0200AB18 + ldr r0, [r6, #0x2c] + bl sub_0200A8B8 + pop {r4-r6, pc} + + thumb_func_start sub_02062DB0 +sub_02062DB0: ; 0x02062DB0 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + mov r1, #0xad + ldr r3, [r4, #0x0] + mov r0, #0x1 + lsl r1, r1, #0x6 + mov r2, #0x0 + bl sub_02017F18 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x11 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_02018540 + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_0201AC68 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201797C + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02018884 + strh r0, [r4, #0x10] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02018884 + strh r0, [r4, #0x12] + mov r0, #0x0 + mov r1, #0x2 + bl sub_020178BC + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020178BC + ldrh r0, [r4, #0x1c] + ldr r2, _02062EB8 ; =0x000003E2 + mov r1, #0x3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + mov r3, #0xa + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + bl sub_0200CD68 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _02062EBC ; =0x000003D9 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x3 + mov r3, #0xb + bl sub_0200CB00 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _02062EBC ; =0x000003D9 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + mov r3, #0xb + bl sub_0200CB00 + mov r1, #0x1a + ldr r2, [r4, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x4 + bl sub_02002ED0 + mov r1, #0x6 + ldr r2, [r4, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x6 + bl sub_02002EEC + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r0, _02062EC0 ; =0x0000036D + add r1, r4, #0x0 + str r0, [sp, #0x10] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + add r1, #0xe4 + mov r2, #0x3 + mov r3, #0x2 + bl sub_02019064 + add r4, #0xe4 + add r0, r4, #0x0 + mov r1, #0xff + bl sub_02019620 + add sp, #0x14 + pop {r3-r4, pc} + .balign 4 +_02062EB8: .word 0x000003E2 +_02062EBC: .word 0x000003D9 +_02062EC0: .word 0x0000036D + + thumb_func_start sub_02062EC4 +sub_02062EC4: ; 0x02062EC4 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, #0xe4 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + add r0, #0xe4 + bl sub_02019570 + add r0, r4, #0x0 + add r0, #0xe4 + bl sub_02019178 + mov r1, #0xad + ldr r3, [r4, #0x0] + mov r0, #0x1 + lsl r1, r1, #0x6 + mov r2, #0x0 + bl sub_02017F18 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x11 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_02018540 + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_0201AC68 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201797C + ldrh r1, [r4, #0x10] + mov r0, #0x0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_020178BC + ldrh r1, [r4, #0x12] + mov r0, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_020178BC + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_02062F3C +sub_02062F3C: ; 0x02062F3C + push {r4-r7, lr} + sub sp, #0x24 + ldr r4, _02062FF0 ; =0x020F7BDC + add r3, sp, #0xc + add r6, r0, #0x0 + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + mov r0, #0x4d + lsl r0, r0, #0x2 + add r1, r2, #0x0 + ldr r3, [r6, #0x0] + add r0, r6, r0 + mov r2, #0x2 + bl sub_021D959C + mov r0, #0x3 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _02062FF4 ; =0x000034D8 + mov r2, #0x0 + str r0, [sp, #0x8] + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r6, r0 + mov r1, #0x82 + add r3, r2, #0x0 + bl sub_021D967C + ldr r0, _02062FF4 ; =0x000034D8 + mov r1, #0x82 + str r0, [sp, #0x0] + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r6, r0 + mov r2, #0x2 + mov r3, #0x0 + bl sub_021D96F4 + ldr r0, _02062FF4 ; =0x000034D8 + mov r1, #0x82 + str r0, [sp, #0x0] + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r6, r0 + mov r2, #0x3 + mov r3, #0x0 + bl sub_021D9708 + mov r2, #0x1 + ldr r0, _02062FF4 ; =0x000034D8 + str r2, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r6, r0 + mov r1, #0x82 + mov r3, #0x0 + bl sub_021D971C + ldr r4, _02062FF8 ; =0x020F7C7C + mov r7, #0x0 + add r5, r6, #0x0 +_02062FC4: + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r6, r0 + add r1, r4, #0x0 + bl sub_021D9820 + mov r1, #0xa6 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r7, r7, #0x1 + add r4, #0x34 + add r5, r5, #0x4 + cmp r7, #0x2 + blt _02062FC4 + add r0, r1, #0x4 + ldr r0, [r6, r0] + mov r1, #0x0 + bl sub_0200C644 + add sp, #0x24 + pop {r4-r7, pc} + nop +_02062FF0: .word 0x020F7BDC +_02062FF4: .word 0x000034D8 +_02062FF8: .word 0x020F7C7C + + thumb_func_start sub_02062FFC +sub_02062FFC: ; 0x02062FFC + push {r3-r7, lr} + add r7, r0, #0x0 + mov r6, #0xa6 + mov r4, #0x0 + add r5, r7, #0x0 + lsl r6, r6, #0x2 +_02063008: + ldr r0, [r5, r6] + cmp r0, #0x0 + beq _02063012 + bl sub_0200C3DC +_02063012: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x2 + blt _02063008 + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r7, r0 + bl sub_021D99F8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02063028 +sub_02063028: ; 0x02063028 + push {r4-r7, lr} + sub sp, #0x1c + str r1, [sp, #0x14] + add r5, r0, #0x0 + str r2, [sp, #0x18] + ldrb r0, [r5, #0x18] + ldr r1, [r5, #0x0] + add r7, r0, #0x1 + add r0, r7, #0x0 + bl sub_02012838 + add r1, r5, #0x0 + add r1, #0xc4 + str r0, [r1, #0x0] + mov r2, #0x1 + add r1, r5, #0x0 + str r2, [sp, #0x0] + mov r0, #0x18 + str r0, [sp, #0x4] + lsl r0, r7, #0x19 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + add r0, r5, #0x0 + str r2, [sp, #0x10] + add r0, #0xd0 + ldr r0, [r0, #0x0] + add r1, #0xd4 + mov r3, #0x4 + bl sub_02019064 + add r0, r5, #0x0 + add r0, #0xd4 + mov r1, #0xff + bl sub_02019620 + ldrb r0, [r5, #0x18] + mov r6, #0x0 + cmp r0, #0x0 + ble _02063094 + add r4, r5, #0x0 +_0206307C: + add r0, r5, #0x0 + add r0, #0xc4 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x64] + add r2, r6, #0x0 + bl sub_020128A0 + ldrb r0, [r5, #0x18] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, r0 + blt _0206307C +_02063094: + add r0, r5, #0x0 + add r0, #0xc4 + ldr r0, [r0, #0x0] + ldr r1, [r5, #0x38] + ldr r2, _02063160 ; =0x0000FFFF + bl sub_020128A0 + add r1, r5, #0x0 + ldr r0, _02063164 ; =0x020F7C2C + add r1, #0xa0 + mov r2, #0x20 + blx sub_020CE3E0 + add r1, r5, #0x0 + add r0, r5, #0x0 + add r1, #0xd4 + add r0, #0xac + str r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xc4 + ldr r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xa0 + str r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xbc + str r5, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xb0 + strh r7, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0xb7 + ldrb r1, [r0, #0x0] + mov r0, #0xf + bic r1, r0 + add r0, r5, #0x0 + add r0, #0xb7 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + ldr r1, _02063168 ; =sub_020631C8 + add r0, #0xa4 + str r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0xa8 + str r1, [r0, #0x0] + ldr r3, [r5, #0x0] + add r0, r5, #0x0 + lsl r3, r3, #0x18 + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + add r0, #0xa0 + lsr r3, r3, #0x18 + bl sub_020010A8 + add r1, r5, #0x0 + add r1, #0xc0 + str r0, [r1, #0x0] + add r0, r5, #0x0 + ldr r2, _0206316C ; =0x000003D9 + add r0, #0xd4 + mov r1, #0x0 + mov r3, #0xb + bl sub_0200CCA4 + add r0, r5, #0x0 + ldr r2, _02063170 ; =0x000003E2 + add r0, #0xe4 + mov r1, #0x1 + mov r3, #0xa + bl sub_0200D0BC + add r0, r5, #0x0 + add r0, #0xe4 + mov r1, #0xff + bl sub_02019620 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, _02063174 ; =0x0001020F + str r3, [sp, #0x4] + str r0, [sp, #0x8] + str r3, [sp, #0xc] + add r0, r5, #0x0 + ldr r2, [r5, #0x3c] + add r0, #0xe4 + mov r1, #0x1 + bl sub_0201BDE0 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_0200C644 + add r5, #0xd0 + ldr r0, [r5, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_02063160: .word 0x0000FFFF +_02063164: .word 0x020F7C2C +_02063168: .word sub_020631C8 + 1 +_0206316C: .word 0x000003D9 +_02063170: .word 0x000003E2 +_02063174: .word 0x0001020F + + thumb_func_start sub_02063178 +sub_02063178: ; 0x02063178 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0xc0 + add r1, r4, #0x0 + add r2, r4, #0x0 + ldr r0, [r0, #0x0] + add r1, #0x22 + add r2, #0x24 + bl sub_02001300 + add r0, r4, #0x0 + add r0, #0xc4 + ldr r0, [r0, #0x0] + bl sub_02012870 + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_02019570 + add r0, r4, #0x0 + add r0, #0xd4 + mov r1, #0x0 + bl sub_0200CCF8 + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_02019178 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C644 + add r4, #0xd0 + ldr r0, [r4, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + pop {r4, pc} + + thumb_func_start sub_020631C8 +sub_020631C8: ; 0x020631C8 + push {r3-r5, lr} + mov r1, #0x13 + add r5, r0, #0x0 + bl sub_02001470 + add r1, sp, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02001448 + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_02001470 + add r2, sp, #0x0 + ldrh r3, [r2, #0x0] + ldrh r2, [r2, #0x2] + mov r0, #0xa6 + lsl r0, r0, #0x2 + add r2, r3, r2 + lsl r2, r2, #0x4 + add r2, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r4, r0] + mov r1, #0x7e + asr r2, r2, #0x10 + bl sub_0200C714 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02063208 +sub_02063208: ; 0x02063208 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, #0xe4 + mov r1, #0xff + bl sub_02019620 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, _02063234 ; =0x0001020F + str r3, [sp, #0x4] + str r0, [sp, #0x8] + add r0, r4, #0x0 + str r3, [sp, #0xc] + add r4, #0x94 + ldr r2, [r4, #0x0] + add r0, #0xe4 + mov r1, #0x1 + bl sub_0201BDE0 + add sp, #0x10 + pop {r4, pc} + .balign 4 +_02063234: .word 0x0001020F + + thumb_func_start sub_02063238 +sub_02063238: ; 0x02063238 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02063208 + ldrh r2, [r4, #0x28] + mov r0, #0xa6 + lsl r0, r0, #0x2 + lsl r2, r2, #0x4 + add r2, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r4, r0] + mov r1, #0x7e + asr r2, r2, #0x10 + bl sub_0200C714 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200C644 + pop {r4, pc} + + thumb_func_start sub_02063264 +sub_02063264: ; 0x02063264 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, #0xe4 + mov r1, #0xff + bl sub_02019620 + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, _020632A0 ; =0x0001020F + str r3, [sp, #0x4] + str r0, [sp, #0x8] + str r3, [sp, #0xc] + ldrb r2, [r4, #0x1f] + add r0, r4, #0x0 + add r0, #0xe4 + lsl r2, r2, #0x2 + add r2, r4, r2 + ldr r2, [r2, #0x7c] + mov r1, #0x1 + bl sub_0201BDE0 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C644 + add sp, #0x10 + pop {r4, pc} + .balign 4 +_020632A0: .word 0x0001020F + + thumb_func_start sub_020632A4 +sub_020632A4: ; 0x020632A4 + push {r4-r7, lr} + sub sp, #0x34 + str r1, [sp, #0x10] + mov r1, #0xb + add r4, r0, #0x0 + lsl r1, r1, #0x6 + ldr r1, [r4, r1] + ldrb r0, [r4, #0x1f] + str r1, [sp, #0x24] + mov r1, #0x3c + mul r1, r0 + str r1, [sp, #0x28] + ldrb r1, [r4, #0x16] + lsl r0, r0, #0x3 + lsl r2, r1, #0x2 + ldr r1, _02063428 ; =0x020F7BD0 + ldr r1, [r1, r2] + add r0, r1, r0 + str r0, [sp, #0x14] + add r0, r4, #0x0 + add r0, #0xd4 + mov r1, #0xff + bl sub_02019620 + mov r0, #0x1 + str r0, [sp, #0x1c] + mov r0, #0x0 + add r1, r0, #0x0 + str r1, [sp, #0x20] + ldr r2, [sp, #0x24] + ldr r1, [sp, #0x28] + str r0, [sp, #0x18] + ldr r1, [r2, r1] + cmp r1, #0x0 + ble _020633EA + ldr r1, [sp, #0x28] + add r7, r2, r1 + add r1, r0, #0x0 + str r1, [sp, #0x30] + add r1, r4, #0x0 + str r1, [sp, #0x2c] + add r1, #0xd4 + str r1, [sp, #0x2c] +_020632FA: + ldrh r1, [r7, #0x8] + cmp r1, #0x0 + beq _020633D6 + ldr r1, [r7, #0x4] + ldr r5, [r1, #0x4] + ldr r1, [sp, #0x14] + ldr r1, [r1, #0x0] + cmp r5, r1 + bls _0206330E + add r5, r1, #0x0 +_0206330E: + cmp r5, r0 + bge _02063318 + ldr r0, [sp, #0x1c] + add r0, r0, #0x1 + str r0, [sp, #0x1c] +_02063318: + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [r4, #0x30] + ldr r2, [sp, #0x1c] + mov r1, #0x0 + mov r3, #0x1 + bl sub_0200AD38 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r2, [r7, #0x4] + ldr r0, [r4, #0x30] + ldr r2, [r2, #0x8] + mov r1, #0x1 + mov r3, #0x2 + bl sub_0200ABB4 + ldr r0, [r4, #0x30] + ldr r1, [r4, #0x34] + ldr r2, [r4, #0x44] + bl sub_0200B7B8 + ldr r0, [sp, #0x30] + mov r1, #0x0 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0206342C ; =0x0001020F + mov r3, #0x8 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x2c] + ldr r2, [r4, #0x34] + bl sub_0201BDE0 + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r3, [sp, #0x14] + ldr r0, [r4, #0x30] + ldrh r3, [r3, #0x4] + mov r1, #0x0 + add r2, r5, #0x0 + bl sub_0200AD38 + ldr r2, [sp, #0x14] + ldr r0, [r4, #0x30] + ldrh r2, [r2, #0x6] + ldr r1, [r4, #0x34] + lsl r2, r2, #0x2 + add r2, r4, r2 + ldr r2, [r2, #0xc] + bl sub_0200B7B8 + mov r0, #0x0 + ldr r1, [r4, #0x34] + add r2, r0, #0x0 + bl sub_02002E14 + mov r12, r0 + ldr r0, [sp, #0x30] + mov r3, #0xb8 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0206342C ; =0x0001020F + mov r6, r12 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x2c] + ldr r2, [r4, #0x34] + mov r1, #0x0 + sub r3, r3, r6 + bl sub_0201BDE0 + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x20] + add r2, r4, r0 + mov r0, #0xb2 + lsl r0, r0, #0x2 + strb r1, [r2, r0] + ldr r1, [sp, #0x30] + add r0, r5, #0x0 + add r1, #0x10 + str r1, [sp, #0x30] + ldr r1, [sp, #0x18] + add r1, r1, #0x1 + str r1, [sp, #0x18] + cmp r1, #0x6 + bge _020633EA +_020633D6: + ldr r1, [sp, #0x20] + ldr r2, [sp, #0x24] + add r1, r1, #0x1 + str r1, [sp, #0x20] + ldr r1, [sp, #0x28] + add r7, #0x8 + ldr r2, [r2, r1] + ldr r1, [sp, #0x20] + cmp r1, r2 + blt _020632FA +_020633EA: + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_020191D0 + add r1, r4, #0x0 + ldr r0, [sp, #0x18] + add r1, #0x21 + strb r0, [r1, #0x0] + ldrh r1, [r4, #0x28] + cmp r1, #0x0 + beq _0206340E + add r0, r4, #0x0 + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r1, r0 + blt _0206340E + sub r0, r1, #0x1 + strh r0, [r4, #0x28] +_0206340E: + ldr r0, [sp, #0x10] + cmp r0, #0x0 + beq _0206341E + add r0, r4, #0x0 + bl sub_02063238 + add sp, #0x34 + pop {r4-r7, pc} +_0206341E: + add r0, r4, #0x0 + bl sub_02063264 + add sp, #0x34 + pop {r4-r7, pc} + .balign 4 +_02063428: .word 0x020F7BD0 +_0206342C: .word 0x0001020F + + thumb_func_start sub_02063430 +sub_02063430: ; 0x02063430 + push {r3-r4, lr} + sub sp, #0x14 + mov r2, #0x1 + add r4, r0, #0x0 + str r2, [sp, #0x0] + mov r0, #0x18 + str r0, [sp, #0x4] + mov r0, #0xc + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r4, #0x0 + str r2, [sp, #0x10] + add r0, #0xd0 + ldr r0, [r0, #0x0] + add r1, #0xd4 + mov r3, #0x4 + bl sub_02019064 + add r0, r4, #0x0 + ldr r2, _020634D0 ; =0x000003D9 + add r0, #0xd4 + mov r1, #0x1 + mov r3, #0xb + bl sub_0200CCA4 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020632A4 + mov r0, #0xa7 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200C644 + mov r0, #0xe + str r0, [sp, #0x0] + mov r3, #0x8 + add r1, r4, #0x0 + str r3, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + ldr r0, _020634D4 ; =0x00000345 + add r1, #0xf4 + str r0, [sp, #0x10] + add r0, r4, #0x0 + add r0, #0xd0 + ldr r0, [r0, #0x0] + mov r2, #0x3 + bl sub_02019064 + add r0, r4, #0x0 + add r0, #0xf4 + mov r1, #0x0 + bl sub_02019620 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, _020634D8 ; =0x00010200 + str r1, [sp, #0x4] + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r0, r4, #0x0 + ldr r2, [r4, #0x40] + add r0, #0xf4 + add r3, r1, #0x0 + bl sub_0201BDE0 + add r4, #0xd0 + ldr r0, [r4, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x14 + pop {r3-r4, pc} + nop +_020634D0: .word 0x000003D9 +_020634D4: .word 0x00000345 +_020634D8: .word 0x00010200 + + thumb_func_start sub_020634DC +sub_020634DC: ; 0x020634DC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0xd4 + bl sub_02019570 + add r0, r4, #0x0 + add r0, #0xd4 + mov r1, #0x0 + bl sub_0200CCF8 + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_02019178 + add r0, r4, #0x0 + add r0, #0xf4 + bl sub_02019570 + add r0, r4, #0x0 + add r0, #0xf4 + bl sub_02019178 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C644 + mov r0, #0xa7 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C644 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063524 +sub_02063524: ; 0x02063524 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r2, [r4, #0x0] + ldr r1, [r4, #0x8] + cmp r2, #0xc + bls _02063540 + b _02063646 +_02063540: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r3, #0 + lsl r4, r4, #0 + lsl r0, r6, #0 + lsl r6, r0, #0x1 + lsl r4, r3, #0x1 + lsl r2, r6, #0x1 + lsl r0, r1, #0x2 + lsl r6, r3, #0x2 + lsl r4, r6, #0x2 + lsl r2, r1, #0x3 + lsl r6, r3, #0x3 + lsl r0, r5, #0x3 + lsl r0, r6, #0x3 + ldrh r2, [r4, #0x4] + add r1, r5, #0x0 + bl sub_020625EC + str r0, [r4, #0x0] + b _02063646 +_02063572: + .byte 0x08, 0x1C, 0xE9, 0x68, 0xFF, 0xF7, 0xD3, 0xF8, 0x20, 0x60, 0x63, 0xE0, 0x08, 0x1C + .byte 0xFF, 0xF7, 0xEE, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7 + .byte 0x2D, 0xFC, 0x58, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xEB, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68 + .byte 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x22, 0xFC, 0x4D, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x10, 0xF9 + .byte 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x17, 0xFC, 0x42, 0xE0 + .byte 0x08, 0x1C, 0xFF, 0xF7, 0x0B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58 + .byte 0xBC, 0xF7, 0x0C, 0xFC, 0x37, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x16, 0xF9, 0x20, 0x60, 0x4D, 0x20 + .byte 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x01, 0xFC, 0x2C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7 + .byte 0x7B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0xF6, 0xFB + .byte 0x21, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00 + .byte 0x08, 0x58, 0xBC, 0xF7, 0xEB, 0xFB, 0x16, 0xE0, 0x0C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42 + .byte 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD, 0x0A, 0x20, 0x20, 0x60, 0x0C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7 + .byte 0x87, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0xFF, 0xF7, 0x1F, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0xB3, 0xF7 + .byte 0xEB, 0xF9, 0x01, 0x20, 0x38, 0xBD +_02063646: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0206364C: + .byte 0xB8, 0x48, 0x1C, 0x02 + + thumb_func_start sub_02063650 +sub_02063650: ; 0x02063650 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0xc + bl sub_02016998 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + strh r5, [r2, #0x4] + str r0, [r2, #0x8] + ldr r0, [r4, #0x10] + ldr r1, _02063678 ; =sub_02063524 + bl sub_0204640C + pop {r3-r5, pc} + nop +_02063678: .word sub_02063524 + 1 + + thumb_func_start sub_0206367C +sub_0206367C: ; 0x0206367C + add r0, #0xb4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02063684 +sub_02063684: ; 0x02063684 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02063818 + ldr r0, [r5, #0xc] + bl sub_020462AC + mov r1, #0x0 + bl sub_0205F264 + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + bl sub_02034F88 + ldr r0, [r5, #0xc] + bl sub_0202A9B0 + mov r1, #0x0 + bl sub_0202AB68 + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x74 + strh r1, [r0, #0x0] + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x0 + bne _020636DA + ldr r0, [r5, #0xc] + bl sub_0202A9B0 + ldr r1, [r5, #0x1c] + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_02060478 + add r0, r4, #0x0 + bl sub_020603F0 +_020636DA: + pop {r3-r5, pc} + + thumb_func_start sub_020636DC +sub_020636DC: ; 0x020636DC + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0xb4 + ldr r1, [r1, #0x0] + cmp r1, #0x1 + beq _020637A6 + bl sub_02063818 + cmp r0, #0x0 + bne _020636F8 + add r0, r5, #0x0 + bl sub_0206384C +_020636F8: + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205F254 + ldr r0, [r5, #0xc] + bl sub_020462AC + mov r1, #0x0 + bl sub_0205F264 + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + bl sub_02034F88 + ldr r0, [r5, #0xc] + bl sub_0202A9B0 + mov r1, #0x0 + bl sub_0202AB68 + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x74 + strh r1, [r0, #0x0] + ldr r0, [r5, #0xc] + bl sub_0202A9B0 + ldr r1, [r5, #0x1c] + ldr r1, [r1, #0x0] + bl sub_02060478 + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034930 + cmp r0, #0x0 + bne _02063758 + ldr r0, [r5, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + bl sub_0205F284 + add r0, r4, #0x0 + bl sub_0205F2B4 +_02063758: + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E20 + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0206377C + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl sub_020348B4 + cmp r0, #0x0 + bne _0206377C + mov r0, #0x0 + str r0, [r4, #0x4] + b _02063786 +_0206377C: + ldr r0, [r4, #0x4] + cmp r0, #0x2 + bne _02063786 + mov r0, #0x0 + str r0, [r4, #0x4] +_02063786: + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034908 + cmp r0, #0x0 + beq _020637A6 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034E0C + ldr r2, [r5, #0x1c] + ldr r1, [r2, #0x8] + ldr r2, [r2, #0xc] + bl sub_0204AE04 +_020637A6: + pop {r3-r5, pc} + + thumb_func_start sub_020637A8 +sub_020637A8: ; 0x020637A8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F204 + ldr r0, [r4, #0xc] + bl sub_0202A9B0 + bl sub_020603C8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020637C4 +sub_020637C4: ; 0x020637C4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_020462AC + bl sub_0205F204 + ldr r0, [r4, #0xc] + bl sub_0202A9B0 + bl sub_020603C8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020637E0 +sub_020637E0: ; 0x020637E0 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F204 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020637F0 +sub_020637F0: ; 0x020637F0 + push {r4, lr} + ldr r0, [r0, #0xc] + bl sub_020462AC + add r4, r0, #0x0 + bl sub_0205ED2C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0205F358 + pop {r4, pc} + + thumb_func_start sub_02063808 +sub_02063808: ; 0x02063808 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_0202A9B0 + bl sub_020603C8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02063818 +sub_02063818: ; 0x02063818 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034F1C + add r1, r0, #0x0 + beq _02063846 + add r0, r4, #0x0 + bl sub_02034FC0 + cmp r0, #0x0 + bne _02063846 + add r0, r4, #0x0 + ldr r1, [r4, #0x1c] + add r0, #0x98 + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + mov r2, #0x20 + bl sub_020299C0 + mov r0, #0x1 + pop {r4, pc} +_02063846: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206384C +sub_0206384C: ; 0x0206384C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034DC8 + ldr r1, [r5, #0x1c] + ldr r6, [r0, #0x0] + ldr r4, [r1, #0x0] + cmp r6, r4 + beq _02063882 + ldr r0, [r5, #0xc] + bl sub_020238F4 + mov r1, #0x20 + add r5, #0x98 + str r1, [sp, #0x0] + ldr r1, [r5, #0x0] + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02029880 + add sp, #0x4 + mov r0, #0x1 + pop {r3-r6, pc} +_02063882: + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start sub_02063888 +sub_02063888: ; 0x02063888 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r1, #0x18 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_020169D8 + add r3, r0, #0x0 + mov r2, #0x18 + mov r1, #0x0 +_0206389C: + strb r1, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _0206389C + str r5, [r0, #0x0] + str r4, [r0, #0x10] + strh r6, [r0, #0x8] + add r2, sp, #0x0 + mov r1, #0x10 + ldrsh r1, [r2, r1] + strh r1, [r0, #0xa] + mov r1, #0x14 + ldrsh r1, [r2, r1] + strh r1, [r0, #0xc] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020638BC +sub_020638BC: ; 0x020638BC + push {r3-r6, lr} + sub sp, #0x1c + add r5, r0, #0x0 + bl sub_02046528 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _020638DA + cmp r0, #0x1 + beq _020638F8 + b _02063942 +_020638DA: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x38] + bl sub_020553E8 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r4, #0x10] + mov r1, #0x1 + bl sub_0224666C + str r0, [r4, #0x14] + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02063942 +_020638F8: + ldr r0, [r4, #0x14] + bl sub_022466A0 + cmp r0, #0x0 + beq _02063942 + ldr r0, [r4, #0x14] + bl sub_022466AC + mov r1, #0xa + mov r2, #0xc + ldrh r0, [r4, #0x8] + ldrsh r1, [r4, r1] + ldrsh r2, [r4, r2] + bl sub_02034F40 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + bne _02063920 + bl sub_02020C2C +_02063920: + add r0, r6, #0x0 + add r1, sp, #0x8 + bl sub_02034E90 + ldr r0, [sp, #0x14] + mov r2, #0x1 + str r0, [sp, #0x0] + str r2, [sp, #0x4] + ldr r1, [sp, #0x8] + ldr r3, [sp, #0x10] + add r0, r5, #0x0 + sub r2, r2, #0x2 + bl sub_020492BC + add r0, r4, #0x0 + bl sub_02016A18 +_02063942: + mov r0, #0x0 + add sp, #0x1c + pop {r3-r6, pc} + + thumb_func_start sub_02063948 +sub_02063948: ; 0x02063948 + cmp r0, #0x0 + bne _02063954 + ldr r0, _0206395C ; =0x020F7CE4 + lsl r1, r1, #0x3 + ldr r0, [r0, r1] + bx lr +_02063954: + ldr r0, _02063960 ; =0x020F7CE8 + lsl r1, r1, #0x3 + ldr r0, [r0, r1] + bx lr + .balign 4 +_0206395C: .word 0x020F7CE4 +_02063960: .word 0x020F7CE8 + + thumb_func_start sub_02063964 +sub_02063964: ; 0x02063964 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + str r5, [r4, #0x4] + ldr r1, [r5, #0x1c] + ldr r1, [r1, #0x0] + str r1, [r4, #0x0] + mov r1, #0x0 + strh r1, [r4, #0xc] + add r1, sp, #0x8 + bl sub_02037024 + ldr r0, [sp, #0x8] + str r0, [r4, #0x8] + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _020639B6 + bl sub_02058458 + cmp r0, #0x54 + beq _0206399A + cmp r0, #0x55 + beq _020639A4 + cmp r0, #0x56 + beq _020639AE + b _020639B6 +_0206399A: + ldrh r1, [r4, #0xc] + mov r0, #0x8 + orr r0, r1 + strh r0, [r4, #0xc] + b _020639B6 +_020639A4: + ldrh r1, [r4, #0xc] + mov r0, #0x20 + orr r0, r1 + strh r0, [r4, #0xc] + b _020639B6 +_020639AE: + ldrh r1, [r4, #0xc] + mov r0, #0x1 + orr r0, r1 + strh r0, [r4, #0xc] +_020639B6: + ldr r0, [r5, #0x38] + bl sub_02055320 + str r0, [sp, #0x4] + ldr r0, [r5, #0x38] + bl sub_0205532C + add r2, r0, #0x0 + ldr r1, [sp, #0x4] + str r2, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0204A6E0 + add r7, r0, #0x0 + ldr r0, [r5, #0x38] + add r1, sp, #0x4 + add r2, sp, #0x0 + bl sub_020572B8 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + bl sub_0204A6E0 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_021E643C + cmp r0, #0x0 + beq _020639FE + ldrh r1, [r4, #0xc] + mov r0, #0x4 + orr r0, r1 + strh r0, [r4, #0xc] +_020639FE: + ldr r0, [r5, #0x38] + bl sub_020552F8 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_021E69BC + cmp r0, #0x0 + beq _02063A18 + ldrh r1, [r4, #0xc] + mov r0, #0x80 + orr r0, r1 + strh r0, [r4, #0xc] +_02063A18: + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + bl sub_02054A48 + cmp r0, #0x0 + beq _02063A2C + ldrh r1, [r4, #0xc] + mov r0, #0x40 + orr r0, r1 + strh r0, [r4, #0xc] +_02063A2C: + ldr r0, [r5, #0xc] + bl sub_02034E30 + bl sub_02034DEC + cmp r0, #0xe + beq _02063A42 + cmp r0, #0x10 + beq _02063A4E + add sp, #0xc + pop {r4-r7, pc} +_02063A42: + ldrh r1, [r4, #0xc] + mov r0, #0x10 + add sp, #0xc + orr r0, r1 + strh r0, [r4, #0xc] + pop {r4-r7, pc} +_02063A4E: + ldrh r1, [r4, #0xc] + mov r0, #0x1 + lsl r0, r0, #0x8 + orr r0, r1 + strh r0, [r4, #0xc] + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02063A5C +sub_02063A5C: ; 0x02063A5C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x20 + mov r1, #0x10 + bl sub_02016998 + ldr r1, _02063A7C ; =0x19740205 + str r1, [r0, #0x0] + ldr r1, [r4, #0x8] + str r1, [r0, #0x4] + ldr r2, [r5, #0x0] + ldr r1, [r5, #0x4] + str r2, [r0, #0x8] + str r1, [r0, #0xc] + pop {r3-r5, pc} + .balign 4 +_02063A7C: .word 0x19740205 + + thumb_func_start sub_02063A80 +sub_02063A80: ; 0x02063A80 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r0, _02063A98 ; =0x19740205 + cmp r1, r0 + beq _02063A90 + bl sub_02020C2C +_02063A90: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 +_02063A98: .word 0x19740205 + + thumb_func_start sub_02063A9C +sub_02063A9C: ; 0x02063A9C + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063AAE + mov r0, #0x1 + pop {r4, pc} +_02063AAE: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x1 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063AC2 + mov r0, #0x2 + pop {r4, pc} +_02063AC2: + ldrh r1, [r4, #0xc] + mov r0, #0x1 + tst r1, r0 + beq _02063ACC + mov r0, #0x0 +_02063ACC: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063AD0 +sub_02063AD0: ; 0x02063AD0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063B00 ; =sub_02063B04 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063B00: .word sub_02063B04 + 1 + + thumb_func_start sub_02063B04 +sub_02063B04: ; 0x02063B04 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063B3C ; =0x00002718 + ldr r2, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063B3C: .word 0x00002718 + + thumb_func_start sub_02063B40 +sub_02063B40: ; 0x02063B40 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063B52 + mov r0, #0x1 + pop {r4, pc} +_02063B52: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x2 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063B66 + mov r0, #0x2 + pop {r4, pc} +_02063B66: + ldr r0, [r4, #0x0] + bl sub_02034898 + cmp r0, #0x0 + bne _02063B74 + mov r0, #0x1 + pop {r4, pc} +_02063B74: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _02063B88 + mov r0, #0x3 + pop {r4, pc} +_02063B88: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + beq _02063BA8 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _02063BAC +_02063BA8: + mov r0, #0x1 + b _02063BAE +_02063BAC: + mov r0, #0x0 +_02063BAE: + cmp r0, #0x1 + bne _02063BB6 + mov r0, #0x1 + pop {r4, pc} +_02063BB6: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063BBC +sub_02063BBC: ; 0x02063BBC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x4 + bl sub_02016998 + ldrh r1, [r5, #0x4] + str r1, [r0, #0x0] + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0xb + sub r1, #0xbc + bl sub_02016998 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, [r4, r1] + add r0, r6, #0x0 + mov r2, #0x1 + bl sub_0205F7A0 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r6, #0x0 + bl sub_02037E90 + ldr r1, _02063C10 ; =sub_02036AB8 + add r0, r4, #0x0 + bl sub_02035D04 + pop {r4-r6, pc} + .balign 4 +_02063C10: .word sub_02036AB8 + 1 + + thumb_func_start sub_02063C14 +sub_02063C14: ; 0x02063C14 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063C26 + mov r0, #0x1 + pop {r4, pc} +_02063C26: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x4 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063C3A + mov r0, #0x2 + pop {r4, pc} +_02063C3A: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x38] + bl sub_020553C4 + cmp r0, #0x2 + bne _02063C4A + mov r0, #0x4 + pop {r4, pc} +_02063C4A: + ldrh r1, [r4, #0xc] + mov r0, #0x4 + tst r0, r1 + bne _02063C56 + mov r0, #0x1 + pop {r4, pc} +_02063C56: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _02063C6A + mov r0, #0x3 + pop {r4, pc} +_02063C6A: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063C70 +sub_02063C70: ; 0x02063C70 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063CA0 ; =sub_02063CA4 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063CA0: .word sub_02063CA4 + 1 + + thumb_func_start sub_02063CA4 +sub_02063CA4: ; 0x02063CA4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063CDC ; =0x0000271C + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063CDC: .word 0x0000271C + + thumb_func_start sub_02063CE0 +sub_02063CE0: ; 0x02063CE0 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063CF2 + mov r0, #0x1 + pop {r4, pc} +_02063CF2: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x5 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063D06 + mov r0, #0x2 + pop {r4, pc} +_02063D06: + ldrh r1, [r4, #0xc] + mov r0, #0x8 + tst r0, r1 + beq _02063D12 + mov r0, #0x0 + pop {r4, pc} +_02063D12: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063D18 +sub_02063D18: ; 0x02063D18 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063D48 ; =sub_02063D4C + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063D48: .word sub_02063D4C + 1 + + thumb_func_start sub_02063D4C +sub_02063D4C: ; 0x02063D4C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063D84 ; =0x0000271A + ldr r2, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063D84: .word 0x0000271A + + thumb_func_start sub_02063D88 +sub_02063D88: ; 0x02063D88 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063D9A + mov r0, #0x1 + pop {r4, pc} +_02063D9A: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x3 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063DAE + mov r0, #0x2 + pop {r4, pc} +_02063DAE: + ldrh r1, [r4, #0xc] + mov r0, #0x10 + tst r0, r1 + beq _02063DBA + mov r0, #0x0 + pop {r4, pc} +_02063DBA: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063DC0 +sub_02063DC0: ; 0x02063DC0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063DF0 ; =sub_02063DF4 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063DF0: .word sub_02063DF4 + 1 + + thumb_func_start sub_02063DF4 +sub_02063DF4: ; 0x02063DF4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063E2C ; =0x0000271E + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063E2C: .word 0x0000271E + + thumb_func_start sub_02063E30 +sub_02063E30: ; 0x02063E30 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063E42 + mov r0, #0x1 + pop {r4, pc} +_02063E42: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x0 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063E56 + mov r0, #0x2 + pop {r4, pc} +_02063E56: + ldrh r1, [r4, #0xc] + mov r0, #0x20 + tst r0, r1 + beq _02063E62 + mov r0, #0x0 + pop {r4, pc} +_02063E62: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063E68 +sub_02063E68: ; 0x02063E68 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063E98 ; =sub_02063E9C + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063E98: .word sub_02063E9C + 1 + + thumb_func_start sub_02063E9C +sub_02063E9C: ; 0x02063E9C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063ED4 ; =0x00002719 + ldr r2, [r4, #0x4] + add r0, r5, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063ED4: .word 0x00002719 + + thumb_func_start sub_02063ED8 +sub_02063ED8: ; 0x02063ED8 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063EEA + mov r0, #0x1 + pop {r4, pc} +_02063EEA: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x7 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063EFE + mov r0, #0x2 + pop {r4, pc} +_02063EFE: + ldrh r1, [r4, #0xc] + mov r0, #0x40 + tst r0, r1 + beq _02063F0A + mov r0, #0x0 + pop {r4, pc} +_02063F0A: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063F10 +sub_02063F10: ; 0x02063F10 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063F40 ; =sub_02063F44 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063F40: .word sub_02063F44 + 1 + + thumb_func_start sub_02063F44 +sub_02063F44: ; 0x02063F44 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02063F7C ; =0x0000271D + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02063F7C: .word 0x0000271D + + thumb_func_start sub_02063F80 +sub_02063F80: ; 0x02063F80 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02063F92 + mov r0, #0x1 + pop {r4, pc} +_02063F92: + ldr r0, [r1, #0xc] + bl sub_020238F4 + mov r1, #0x6 + bl sub_020239D0 + cmp r0, #0x0 + bne _02063FA6 + mov r0, #0x2 + pop {r4, pc} +_02063FA6: + ldrh r1, [r4, #0xc] + mov r0, #0x80 + tst r0, r1 + bne _02063FB2 + mov r0, #0x1 + pop {r4, pc} +_02063FB2: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _02063FC6 + mov r0, #0x3 + pop {r4, pc} +_02063FC6: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02063FCC +sub_02063FCC: ; 0x02063FCC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _02063FFC ; =sub_02064000 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_02063FFC: .word sub_02064000 + 1 + + thumb_func_start sub_02064000 +sub_02064000: ; 0x02064000 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02064038 ; =0x0000271B + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02064038: .word 0x0000271B + + thumb_func_start sub_0206403C +sub_0206403C: ; 0x0206403C + ldr r1, [r0, #0x4] + ldr r1, [r1, #0x6c] + sub r1, r1, #0x2 + cmp r1, #0x1 + bhi _0206404A + mov r0, #0x1 + bx lr +_0206404A: + ldrh r1, [r0, #0xc] + mov r0, #0x1 + lsl r0, r0, #0x8 + tst r0, r1 + beq _02064058 + mov r0, #0x0 + bx lr +_02064058: + mov r0, #0x1 + bx lr + + thumb_func_start sub_0206405C +sub_0206405C: ; 0x0206405C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + ldr r0, [r6, #0x4] + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0206408C ; =sub_02064090 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + .balign 4 +_0206408C: .word sub_02064090 + 1 + + thumb_func_start sub_02064090 +sub_02064090: ; 0x02064090 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _020640C8 ; =0x0000271F + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_020640C8: .word 0x0000271F + + thumb_func_start sub_020640CC +sub_020640CC: ; 0x020640CC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _020640DE + mov r0, #0x1 + pop {r4, pc} +_020640DE: + ldr r0, [r4, #0x0] + bl sub_020348E4 + cmp r0, #0x0 + bne _020640EC + mov r0, #0x1 + pop {r4, pc} +_020640EC: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _02064100 + mov r0, #0x3 + pop {r4, pc} +_02064100: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F214 + cmp r0, #0x1 + beq _02064120 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _02064124 +_02064120: + mov r0, #0x1 + b _02064126 +_02064124: + mov r0, #0x0 +_02064126: + cmp r0, #0x1 + bne _0206412E + mov r0, #0x1 + pop {r4, pc} +_0206412E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02064134 +sub_02064134: ; 0x02064134 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204649C + ldrh r1, [r5, #0x4] + ldr r2, [r6, #0xc] + mov r0, #0xb + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0206439C + mov r1, #0x72 + ldr r2, _02064170 ; =sub_02064174 + lsl r1, r1, #0x2 + str r2, [r4, r1] + add r1, #0x30 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + nop +_02064170: .word sub_02064174 + 1 + + thumb_func_start sub_02064174 +sub_02064174: ; 0x02064174 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + mov r2, #0x4 + bl sub_0224CB30 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_02016A18 + ldr r1, _020641A8 ; =0x0224CB55 + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_020463EC + mov r0, #0x0 + pop {r4-r6, pc} + nop +_020641A8: .word 0x0224CB55 + + thumb_func_start sub_020641AC +sub_020641AC: ; 0x020641AC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _020641BE + mov r0, #0x1 + pop {r4, pc} +_020641BE: + ldr r0, [r4, #0x0] + bl sub_02034930 + cmp r0, #0x1 + bne _020641D2 + ldr r0, [r4, #0x0] + bl sub_0203487C + cmp r0, #0x1 + beq _020641D6 +_020641D2: + mov r0, #0x1 + pop {r4, pc} +_020641D6: + ldr r0, [r4, #0x4] + ldr r0, [r0, #0xc] + bl sub_020462AC + bl sub_0205ED3C + cmp r0, #0x1 + bne _020641EA + mov r0, #0x3 + pop {r4, pc} +_020641EA: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020641F0 +sub_020641F0: ; 0x020641F0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02046528 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204649C + ldrh r1, [r5, #0x4] + ldr r2, [r6, #0xc] + mov r0, #0xb + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_0206439C + mov r1, #0x72 + ldr r2, _0206422C ; =sub_02064230 + lsl r1, r1, #0x2 + str r2, [r4, r1] + add r1, #0x30 + str r0, [r4, r1] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r4-r6, pc} + nop +_0206422C: .word sub_02064230 + 1 + + thumb_func_start sub_02064230 +sub_02064230: ; 0x02064230 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + ldr r1, [r6, #0x0] + add r0, r4, #0x0 + mov r2, #0xb + bl sub_0224CA88 + ldr r1, [r4, #0x1c] + add r7, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0xa + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x4 + bl sub_0202914C + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x1 + bl sub_02028AD4 + add r0, r6, #0x0 + bl sub_02016A18 + ldr r1, _02064280 ; =0x0224CAAD + add r0, r5, #0x0 + add r2, r7, #0x0 + bl sub_020463EC + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02064280: .word 0x0224CAAD + + thumb_func_start sub_02064284 +sub_02064284: ; 0x02064284 + push {r3, lr} + ldr r1, [r0, #0x4] + ldr r0, [r1, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _02064294 + mov r0, #0x1 + pop {r3, pc} +_02064294: + ldr r0, [r1, #0xc] + bl sub_020462AC + bl sub_0205F244 + cmp r0, #0x1 + bne _020642A6 + mov r0, #0x1 + b _020642A8 +_020642A6: + mov r0, #0x0 +_020642A8: + cmp r0, #0x1 + bne _020642B0 + mov r0, #0x1 + pop {r3, pc} +_020642B0: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_020642B4 +sub_020642B4: ; 0x020642B4 + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_02046528 + add r5, r0, #0x0 + ldr r0, [r6, #0x0] + bl sub_0204652C + ldrh r1, [r6, #0x4] + add r4, r0, #0x0 + ldr r2, [r5, #0xc] + lsl r1, r1, #0x18 + mov r0, #0xb + lsr r1, r1, #0x18 + bl sub_0206439C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0206430C ; =0x021F6361 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r6, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + ldr r1, [r5, #0x1c] + mov r0, #0xb + ldr r1, [r1, #0x0] + add r2, r0, #0x0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_0202914C + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x1 + bl sub_02028AD4 + pop {r4-r6, pc} + .balign 4 +_0206430C: .word 0x021F6361 + + thumb_func_start sub_02064310 +sub_02064310: ; 0x02064310 + ldr r0, [r0, #0x4] + ldr r0, [r0, #0x6c] + sub r0, r0, #0x2 + cmp r0, #0x1 + bhi _0206431E + mov r0, #0x1 + bx lr +_0206431E: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02064324 +sub_02064324: ; 0x02064324 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r6, r1, #0x0 + bl sub_02046528 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02063A5C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0204649C + mov r0, #0x72 + ldr r1, _0206435C ; =sub_02064360 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r0, #0x30 + str r5, [r4, r0] + mov r0, #0xa + strh r0, [r4, #0x2a] + pop {r3-r7, pc} + .balign 4 +_0206435C: .word sub_02064360 + 1 + + thumb_func_start sub_02064360 +sub_02064360: ; 0x02064360 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + ldr r1, _02064398 ; =0x000022C4 + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_02038D10 + mov r2, #0x0 + str r2, [sp, #0x0] + ldrh r1, [r4, #0xc] + add r0, r6, #0x0 + add r3, r2, #0x0 + bl sub_020395BC + add r0, r4, #0x0 + bl sub_02063A80 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02064398: .word 0x000022C4 + + thumb_func_start sub_0206439C +sub_0206439C: ; 0x0206439C + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + mov r1, #0x8 + bl sub_020169D8 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0206BB1C + add r1, r5, #0x0 + bl sub_0206B9B0 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020643C0 +sub_020643C0: ; 0x020643C0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl sub_020645DC + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0206460C + str r0, [r4, #0xc] + str r6, [r4, #0x0] + str r5, [r4, #0x8] + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020643E0 +sub_020643E0: ; 0x020643E0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064630 + add r0, r4, #0x0 + bl sub_02064600 + pop {r4, pc} + + thumb_func_start sub_020643F0 +sub_020643F0: ; 0x020643F0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064558 + add r0, r4, #0x0 + bl sub_020643E0 + pop {r4, pc} + + thumb_func_start sub_02064400 +sub_02064400: ; 0x02064400 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + add r7, r1, #0x0 + str r2, [sp, #0x4] + str r3, [sp, #0x8] + mov r4, #0x0 + bl sub_02064698 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_0206469C + add r5, r0, #0x0 +_0206441C: + add r0, r5, #0x0 + bl sub_020646A0 + cmp r0, #0x0 + beq _0206442E + add r4, r4, #0x1 + add r5, #0xc8 + cmp r4, r6 + blt _0206441C +_0206442E: + cmp r4, r6 + blt _02064438 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02064438: + add r0, r5, #0x0 + bl sub_020646AC + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + bl sub_02064750 + ldr r1, [sp, #0x20] + add r0, r5, #0x0 + bl sub_02064758 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02064768 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl sub_0206476C + ldr r1, [r7, #0x0] + add r0, r5, #0x0 + bl sub_0206473C + ldr r1, [r7, #0x4] + add r0, r5, #0x0 + bl sub_020646B8 + ldr r1, [r7, #0x8] + add r0, r5, #0x0 + bl sub_0206470C + ldr r1, [r7, #0xc] + add r0, r5, #0x0 + bl sub_020646D4 + ldr r1, [r7, #0x10] + add r0, r5, #0x0 + bl sub_020646F0 + ldr r1, [r7, #0x14] + add r0, r5, #0x0 + bl sub_02064728 + ldr r1, [r7, #0x18] + add r0, r5, #0x0 + bl sub_02064730 + ldr r1, [sp, #0x24] + add r0, r5, #0x0 + bl sub_020645B0 + add r4, r0, #0x0 + bne _020644AE + add r0, r5, #0x0 + bl sub_02064640 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_020644AE: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02064760 + add r0, r5, #0x0 + bl sub_020646C0 + cmp r0, #0x0 + bne _020644D2 + add r0, r4, #0x0 + bl sub_0200CAB4 + add r0, r5, #0x0 + bl sub_02064640 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_020644D2: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x4] + add r1, r0, #0x1 + ldr r0, [sp, #0x0] + str r1, [r0, #0x4] + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020644E4 +sub_020644E4: ; 0x020644E4 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, sp, #0x8 + ldmia r5!, {r0-r1} + add r7, r4, #0x0 + stmia r4!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + str r0, [r4, #0x0] + ldr r0, _02064518 ; =sub_0206479C + str r0, [sp, #0x1c] + ldr r0, _0206451C ; =sub_020647A0 + str r0, [sp, #0x20] + ldr r0, [sp, #0x38] + str r0, [sp, #0x0] + ldr r0, [sp, #0x3c] + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl sub_02064400 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_02064518: .word sub_0206479C + 1 +_0206451C: .word sub_020647A0 + 1 + + thumb_func_start sub_02064520 +sub_02064520: ; 0x02064520 + push {r4, lr} + add r4, r0, #0x0 + bne _0206452A + bl sub_02020C2C +_0206452A: + add r0, r4, #0x0 + bl sub_020646A0 + cmp r0, #0x0 + beq _02064556 + add r0, r4, #0x0 + bl sub_02064714 + ldr r1, [r4, #0x14] + ldr r0, [r1, #0x4] + sub r0, r0, #0x1 + str r0, [r1, #0x4] + add r0, r4, #0x0 + bl sub_02064764 + cmp r0, #0x0 + beq _02064550 + bl sub_0200CAB4 +_02064550: + add r0, r4, #0x0 + bl sub_02064640 +_02064556: + pop {r4, pc} + + thumb_func_start sub_02064558 +sub_02064558: ; 0x02064558 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02064698 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0206469C + add r5, r0, #0x0 +_0206456A: + add r0, r5, #0x0 + bl sub_020646A0 + cmp r0, #0x1 + bne _0206457A + add r0, r5, #0x0 + bl sub_02064520 +_0206457A: + add r5, #0xc8 + sub r4, r4, #0x1 + bne _0206456A + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02064584 +sub_02064584: ; 0x02064584 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02064698 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0206469C + add r5, r0, #0x0 +_02064596: + add r0, r5, #0x0 + bl sub_020646A0 + cmp r0, #0x1 + bne _020645A6 + add r0, r5, #0x0 + bl sub_020646F8 +_020645A6: + add r5, #0xc8 + sub r4, r4, #0x1 + bne _02064596 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020645B0 +sub_020645B0: ; 0x020645B0 + push {r4, lr} + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r0, _020645CC ; =sub_020645D0 + add r1, r3, #0x0 + bl sub_0200CA44 + add r4, r0, #0x0 + bne _020645C6 + bl sub_02020C2C +_020645C6: + add r0, r4, #0x0 + pop {r4, pc} + nop +_020645CC: .word sub_020645D0 + 1 + + thumb_func_start sub_020645D0 +sub_020645D0: ; 0x020645D0 + ldr r3, _020645D8 ; =sub_020646DC + add r0, r1, #0x0 + bx r3 + nop +_020645D8: .word sub_020646DC + 1 + + thumb_func_start sub_020645DC +sub_020645DC: ; 0x020645DC + push {r4, lr} + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + bne _020645EC + bl sub_02020C2C +_020645EC: + add r2, r4, #0x0 + mov r1, #0x10 + mov r0, #0x0 +_020645F2: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _020645F2 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02064600 +sub_02064600: ; 0x02064600 + ldr r3, _02064608 ; =sub_02016A8C + add r1, r0, #0x0 + ldr r0, [r1, #0x8] + bx r3 + .balign 4 +_02064608: .word sub_02016A8C + 1 + + thumb_func_start sub_0206460C +sub_0206460C: ; 0x0206460C + push {r3-r5, lr} + mov r2, #0xc8 + add r5, r1, #0x0 + mul r5, r2 + add r1, r5, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + bne _02064622 + bl sub_02020C2C +_02064622: + add r0, r4, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02064630 +sub_02064630: ; 0x02064630 + ldr r3, _0206463C ; =sub_02016A8C + add r1, r0, #0x0 + ldr r0, [r1, #0x8] + ldr r1, [r1, #0xc] + bx r3 + nop +_0206463C: .word sub_02016A8C + 1 + + thumb_func_start sub_02064640 +sub_02064640: ; 0x02064640 + push {r4, lr} + mov r1, #0x0 + mov r2, #0xc8 + add r4, r0, #0x0 + blx sub_020DF4A4 + ldr r1, _02064680 ; =sub_0206478C + add r0, r4, #0x0 + bl sub_020646B8 + ldr r1, _02064684 ; =sub_02064798 + add r0, r4, #0x0 + bl sub_0206470C + ldr r1, _02064688 ; =sub_02064790 + add r0, r4, #0x0 + bl sub_020646D4 + ldr r1, _0206468C ; =sub_02064794 + add r0, r4, #0x0 + bl sub_020646F0 + ldr r1, _02064690 ; =sub_0206479C + add r0, r4, #0x0 + bl sub_02064728 + ldr r1, _02064694 ; =sub_020647A0 + add r0, r4, #0x0 + bl sub_02064730 + pop {r4, pc} + nop +_02064680: .word sub_0206478C + 1 +_02064684: .word sub_02064798 + 1 +_02064688: .word sub_02064790 + 1 +_0206468C: .word sub_02064794 + 1 +_02064690: .word sub_0206479C + 1 +_02064694: .word sub_020647A0 + 1 + + thumb_func_start sub_02064698 +sub_02064698: ; 0x02064698 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0206469C +sub_0206469C: ; 0x0206469C + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_020646A0 +sub_020646A0: ; 0x020646A0 + ldr r1, [r0, #0x0] + mov r0, #0x1 + tst r1, r0 + bne _020646AA + mov r0, #0x0 +_020646AA: + bx lr + + thumb_func_start sub_020646AC +sub_020646AC: ; 0x020646AC + ldr r2, [r0, #0x0] + mov r1, #0x1 + orr r1, r2 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020646B8 +sub_020646B8: ; 0x020646B8 + add r0, #0xb0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020646C0 +sub_020646C0: ; 0x020646C0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064738 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r4, #0xb0 + ldr r2, [r4, #0x0] + blx r2 + pop {r4, pc} + + thumb_func_start sub_020646D4 +sub_020646D4: ; 0x020646D4 + add r0, #0xb4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020646DC +sub_020646DC: ; 0x020646DC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064738 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r4, #0xb4 + ldr r2, [r4, #0x0] + blx r2 + pop {r4, pc} + + thumb_func_start sub_020646F0 +sub_020646F0: ; 0x020646F0 + add r0, #0xb8 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_020646F8 +sub_020646F8: ; 0x020646F8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064738 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r4, #0xb8 + ldr r2, [r4, #0x0] + blx r2 + pop {r4, pc} + + thumb_func_start sub_0206470C +sub_0206470C: ; 0x0206470C + add r0, #0xbc + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02064714 +sub_02064714: ; 0x02064714 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02064738 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r4, #0xbc + ldr r2, [r4, #0x0] + blx r2 + pop {r4, pc} + + thumb_func_start sub_02064728 +sub_02064728: ; 0x02064728 + add r0, #0xc0 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02064730 +sub_02064730: ; 0x02064730 + add r0, #0xc4 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02064738 +sub_02064738: ; 0x02064738 + add r0, #0x30 + bx lr + + thumb_func_start sub_0206473C +sub_0206473C: ; 0x0206473C + push {r4, lr} + add r4, r1, #0x0 + bl sub_02064738 + mov r1, #0x0 + add r2, r4, #0x0 + blx sub_020DF4A4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02064750 +sub_02064750: ; 0x02064750 + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_02064754 +sub_02064754: ; 0x02064754 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02064758 +sub_02064758: ; 0x02064758 + str r1, [r0, #0xc] + bx lr + + thumb_func_start sub_0206475C +sub_0206475C: ; 0x0206475C + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_02064760 +sub_02064760: ; 0x02064760 + str r1, [r0, #0x10] + bx lr + + thumb_func_start sub_02064764 +sub_02064764: ; 0x02064764 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_02064768 +sub_02064768: ; 0x02064768 + str r1, [r0, #0x14] + bx lr + + thumb_func_start sub_0206476C +sub_0206476C: ; 0x0206476C + add r3, r1, #0x0 + add r2, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, #0x24 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + bx lr + + thumb_func_start sub_0206477C +sub_0206477C: ; 0x0206477C + add r2, r0, #0x0 + add r2, #0x24 + add r3, r1, #0x0 + ldmia r2!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r3, #0x0] + bx lr + + thumb_func_start sub_0206478C +sub_0206478C: ; 0x0206478C + mov r0, #0x1 + bx lr + + thumb_func_start sub_02064790 +sub_02064790: ; 0x02064790 + bx lr + .balign 4 + + thumb_func_start sub_02064794 +sub_02064794: ; 0x02064794 + bx lr + .balign 4 + + thumb_func_start sub_02064798 +sub_02064798: ; 0x02064798 + bx lr + .balign 4 + + thumb_func_start sub_0206479C +sub_0206479C: ; 0x0206479C + bx lr + .balign 4 + + thumb_func_start sub_020647A0 +sub_020647A0: ; 0x020647A0 + bx lr + .balign 4 + + thumb_func_start sub_020647A4 +sub_020647A4: ; 0x020647A4 + push {r3-r7, lr} + sub sp, #0x30 + add r4, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + mov r1, #0x7 + bl sub_020254A0 + ldrh r1, [r0, #0x2] + ldrh r0, [r0, #0x0] + ldr r3, _0206485C ; =0x020F7D70 + mov r7, #0x18 + add r2, r1, #0x0 + mul r2, r7 + add r6, r3, r2 + lsl r0, r0, #0x2 + ldr r5, [r6, r0] + ldr r0, [r6, #0x14] + cmp r0, #0x0 + beq _0206480A + ldr r3, _02064860 ; =0x020F7D64 + add r2, sp, #0x24 + ldmia r3!, {r0-r1} + mov r12, r2 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r7, #0xea + str r0, [r2, #0x0] + str r5, [sp, #0x28] + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x4c] + add r2, r7, #0x0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r0, #0xa0 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x2c] + mov r3, r12 + bl sub_021E7FBC + add r0, r4, #0x0 + add r0, #0xa0 + ldr r0, [r0, #0x0] + ldr r1, _02064864 ; =0x00000102 + bl sub_021E7ED8 + str r0, [sp, #0x14] + b _0206482C +_0206480A: + ldr r0, _02064868 ; =0x020F7D4C + add r1, sp, #0xc + ldr r2, [r0, #0x8] + ldr r0, [r0, #0xc] + str r2, [sp, #0xc] + str r0, [sp, #0x10] + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r2, #0x2 + add r3, sp, #0x14 + bl sub_0204AA5C + cmp r0, #0x0 + bne _0206482C + bl sub_02020C2C +_0206482C: + ldr r1, [sp, #0x14] + add r0, sp, #0x18 + bl sub_021E7EA0 + ldr r0, [sp, #0x14] + add r1, sp, #0x18 + str r5, [sp, #0x1c] + bl sub_021E7EB0 + mov r0, #0x2 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + add r4, #0x9c + ldr r0, [r4, #0x0] + mov r3, #0x3 + str r0, [sp, #0x8] + ldr r1, [r6, #0x8] + ldr r2, [r6, #0xc] + mov r0, #0x0 + bl sub_021F44D8 + add sp, #0x30 + pop {r3-r7, pc} + nop +_0206485C: .word 0x020F7D70 +_02064860: .word 0x020F7D64 +_02064864: .word 0x00000102 +_02064868: .word 0x020F7D4C + + thumb_func_start sub_0206486C +sub_0206486C: ; 0x0206486C + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + add r5, r0, #0x0 + mov r1, #0x7 + bl sub_02025490 + add r0, r5, #0x0 + mov r1, #0x7 + bl sub_020254A0 + mov r3, #0x1 + str r3, [r0, #0x4] + mov r2, #0x0 + str r2, [r0, #0x8] + ldr r4, [r4, #0x1c] + ldr r5, _020649A8 ; =0x00000123 + ldr r1, [r4, #0x0] + cmp r1, r5 + bgt _020648C4 + bge _020648D6 + add r5, r1, #0x0 + sub r5, #0xb0 + cmp r5, #0x9 + bhi _020649A0 + add r5, r5, r5 + add r5, pc + ldrh r5, [r5, #0x6] + lsl r5, r5, #0x10 + asr r5, r5, #0x10 + add pc, r5 + lsl r6, r3, #0x1 + lsl r6, r5, #0x3 + lsl r6, r6, #0x1 + lsl r6, r5, #0x3 + lsl r6, r1, #0x2 + lsl r6, r5, #0x3 + lsl r6, r4, #0x2 + lsl r6, r5, #0x3 + lsl r6, r7, #0x2 + lsl r6, r2, #0x3 +_020648C4: + ldr r2, _020649AC ; =0x00000125 + cmp r1, r2 + bgt _020648CE + beq _020648E8 + b _020649A0 +_020648CE: + add r2, r2, #0x1 + cmp r1, r2 + beq _020648FC + b _020649A0 +_020648D6: + ldr r1, [r4, #0xc] + cmp r1, #0x1a + bne _020648E0 + strh r2, [r0, #0x0] + b _020648E2 +_020648E0: + strh r3, [r0, #0x0] +_020648E2: + mov r1, #0x0 + strh r1, [r0, #0x2] + pop {r3-r5, pc} +_020648E8: + ldr r1, [r4, #0xc] + cmp r1, #0x30 + bne _020648F2 + mov r1, #0x0 + b _020648F4 +_020648F2: + mov r1, #0x1 +_020648F4: + strh r1, [r0, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x2] + pop {r3-r5, pc} +_020648FC: + ldr r1, [r4, #0xc] + cmp r1, #0xf + bne _02064906 + mov r1, #0x0 + b _02064908 +_02064906: + mov r1, #0x1 +_02064908: + strh r1, [r0, #0x0] + mov r1, #0x2 + strh r1, [r0, #0x2] + pop {r3-r5, pc} +_02064910: + .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x03, 0x21 + .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80 + .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x04, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD + .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x05, 0x21 + .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80 + .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x06, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD + .byte 0xE1, 0x68, 0x17, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x07, 0x21 + .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x12, 0x29, 0x01, 0xD1, 0x02, 0x80 + .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x08, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD +_020649A0: + bl sub_02020C2C + pop {r3-r5, pc} + nop +_020649A8: .word 0x00000123 +_020649AC: .word 0x00000125 + + thumb_func_start sub_020649B0 +sub_020649B0: ; 0x020649B0 + push {r3, lr} + bl sub_020377AC + bl sub_02024ED8 + mov r1, #0x7 + bl sub_020254A0 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _020649CA + mov r0, #0x1 + b _020649CC +_020649CA: + mov r0, #0x0 +_020649CC: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020649D4 +sub_020649D4: ; 0x020649D4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + mov r1, #0x7 + bl sub_020254A0 + add r4, r0, #0x0 + ldrh r1, [r4, #0x2] + mov r0, #0x18 + add r2, r1, #0x0 + mul r2, r0 + ldr r0, _02064A58 ; =0x020F7D80 + ldr r0, [r0, r2] + cmp r0, #0x0 + beq _020649FE + ldrh r0, [r4, #0x0] + cmp r0, #0x1 + beq _02064A54 +_020649FE: + mov r0, #0xb + mov r1, #0x10 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + ldrh r1, [r4, #0x2] + mov r0, #0x18 + add r3, r1, #0x0 + ldr r1, _02064A5C ; =0x020F7D84 + mul r3, r0 + ldr r1, [r1, r3] + str r1, [r2, #0x8] + ldr r1, [r4, #0x8] + str r1, [r2, #0xc] + ldrh r1, [r4, #0x0] + cmp r1, #0x0 + ldrh r1, [r4, #0x2] + bne _02064A3E + add r3, r1, #0x0 + mul r3, r0 + ldr r0, _02064A60 ; =0x020F7D74 + ldr r1, _02064A64 ; =sub_02064A70 + ldr r0, [r0, r3] + str r0, [r2, #0x4] + ldr r0, [r5, #0x10] + bl sub_0204640C + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r3-r5, pc} +_02064A3E: + add r3, r1, #0x0 + mul r3, r0 + ldr r0, _02064A68 ; =0x020F7D70 + ldr r1, _02064A6C ; =0x02064B71 + ldr r0, [r0, r3] + str r0, [r2, #0x4] + ldr r0, [r5, #0x10] + bl sub_0204640C + mov r0, #0x0 + strh r0, [r4, #0x0] +_02064A54: + pop {r3-r5, pc} + nop +_02064A58: .word 0x020F7D80 +_02064A5C: .word 0x020F7D84 +_02064A60: .word 0x020F7D74 +_02064A64: .word sub_02064A70 + 1 +_02064A68: .word 0x020F7D70 +_02064A6C: .word 0x02064B71 + + thumb_func_start sub_02064A70 +sub_02064A70: ; 0x02064A70 + push {r4-r5, lr} + sub sp, #0x1c + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _02064B5C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r6, r2, #0x2 + lsl r2, r7, #0x2 + ldr r0, [r5, #0x38] + mov r1, #0x0 + bl sub_02055560 + ldr r0, [r4, #0xc] + bl sub_02064C64 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02064B5C +_02064AB4: + .byte 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68 + .byte 0x28, 0x49, 0x83, 0xF1, 0x09, 0xFA, 0x03, 0x90, 0x10, 0xE0, 0x27, 0x48, 0x01, 0xA9, 0x02, 0x68 + .byte 0x40, 0x68, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB + .byte 0xE5, 0xF7, 0xBC, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0xA0, 0xF8, 0x03, 0x99, 0x04, 0xA8 + .byte 0x83, 0xF1, 0xD6, 0xF9, 0xE0, 0x68, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x21, 0x00, 0xE0, 0x02, 0x21 + .byte 0x05, 0x98, 0x09, 0x03, 0x41, 0x18, 0x05, 0x91, 0x60, 0x68, 0x81, 0x42, 0x06, 0xDB, 0x05, 0x90 + .byte 0xE0, 0x68, 0x00, 0xF0, 0xB7, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99 + .byte 0xF0, 0xF7, 0x0E, 0xFD, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1, 0xC2, 0xF9, 0x16, 0xE0, 0x2A, 0x1C + .byte 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1, 0x2C, 0xFD, 0xA8, 0x6B, 0x01, 0x21 + .byte 0xF0, 0xF7, 0x1C, 0xFD, 0x09, 0x48, 0xA0, 0xF7, 0xBF, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + .byte 0x04, 0xE0, 0xB1, 0xF7, 0x61, 0xFF, 0x07, 0xB0, 0x01, 0x20, 0x30, 0xBD +_02064B5C: + mov r0, #0x0 + add sp, #0x1c + pop {r4-r5, pc} + nop +_02064B64: + .byte 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02, 0x1A, 0x06, 0x00, 0x00 + .byte 0x30, 0xB5, 0x87, 0xB0, 0x04, 0x1C, 0xE1, 0xF7, 0xD7, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xE1, 0xF7 + .byte 0xD5, 0xFC, 0x04, 0x1C, 0x21, 0x68, 0x03, 0x29, 0x63, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88 + .byte 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x06, 0x00, 0x1C, 0x00, 0x8C, 0x00, 0xB0, 0x00, 0xA8, 0x6B + .byte 0x00, 0x21, 0xF0, 0xF7, 0xDD, 0xFC, 0xE0, 0x68, 0x00, 0xF0, 0x5C, 0xF8, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x4E, 0xE0, 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68 + .byte 0x25, 0x49, 0x83, 0xF1, 0x89, 0xF9, 0x03, 0x90, 0x10, 0xE0, 0x24, 0x48, 0x01, 0xA9, 0x02, 0x69 + .byte 0x40, 0x69, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB + .byte 0xE5, 0xF7, 0x3C, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0x20, 0xF8, 0x03, 0x99, 0x04, 0xA8 + .byte 0x83, 0xF1, 0x56, 0xF9, 0x01, 0x20, 0x05, 0x99, 0x00, 0x03, 0x09, 0x1A, 0x05, 0x91, 0x60, 0x68 + .byte 0x81, 0x42, 0x06, 0xDC, 0x05, 0x90, 0xE0, 0x68, 0x00, 0xF0, 0x3C, 0xF8, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99, 0xF0, 0xF7, 0x93, 0xFC, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1 + .byte 0x47, 0xF9, 0x16, 0xE0, 0x2A, 0x1C, 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1 + .byte 0xB1, 0xFC, 0xA8, 0x6B, 0x01, 0x21, 0xF0, 0xF7, 0xA1, 0xFC, 0x09, 0x48, 0xA0, 0xF7, 0x44, 0xFC + .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0xB1, 0xF7, 0xE6, 0xFE, 0x07, 0xB0, 0x01, 0x20 + .byte 0x30, 0xBD, 0x00, 0x20, 0x07, 0xB0, 0x30, 0xBD, 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02 + .byte 0x1A, 0x06, 0x00, 0x00 + + thumb_func_start sub_02064C64 +sub_02064C64: ; 0x02064C64 + push {r3, lr} + cmp r0, #0x0 + bne _02064C72 + ldr r0, _02064C7C ; =0x00000611 + bl sub_020054C8 + pop {r3, pc} +_02064C72: + ldr r0, _02064C80 ; =0x00000614 + bl sub_020054C8 + pop {r3, pc} + nop +_02064C7C: .word 0x00000611 +_02064C80: .word 0x00000614 + + thumb_func_start sub_02064C84 +sub_02064C84: ; 0x02064C84 + push {r3, lr} + cmp r0, #0x0 + bne _02064C94 + ldr r0, _02064CA0 ; =0x00000611 + mov r1, #0x0 + bl sub_020054F0 + pop {r3, pc} +_02064C94: + ldr r0, _02064CA4 ; =0x00000614 + mov r1, #0x0 + bl sub_020054F0 + pop {r3, pc} + nop +_02064CA0: .word 0x00000611 +_02064CA4: .word 0x00000614 + + thumb_func_start sub_02064CA8 +sub_02064CA8: ; 0x02064CA8 + push {r4, lr} + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + mov r1, #0x1 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020254A0 + mov r1, #0x1 + strb r1, [r0, #0x0] + pop {r4, pc} + + thumb_func_start sub_02064CC8 +sub_02064CC8: ; 0x02064CC8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + mov r1, #0x2 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_020254A0 + add r4, r0, #0x0 + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0xc] + cmp r0, #0x16 + bne _02064D08 + ldr r0, [r5, #0xc] + bl sub_020462AC + bl sub_0205ECEC + cmp r0, #0x0 + beq _02064D02 + mov r0, #0x0 + strb r0, [r4, #0x0] + pop {r3-r5, pc} +_02064D02: + mov r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r5, pc} +_02064D08: + mov r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02064D10 +sub_02064D10: ; 0x02064D10 + push {r4-r6, lr} + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + mov r1, #0x3 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_020254A0 + ldr r5, _02064D48 ; =0x020F7E54 + add r6, r0, #0x0 + mov r4, #0x0 +_02064D30: + ldrb r1, [r5, #0x0] + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r2, r6, #0x0 + bl sub_02064DEC + add r4, r4, #0x1 + add r5, r5, #0x1 + cmp r4, #0x18 + blt _02064D30 + pop {r4-r6, pc} + nop +_02064D48: .word 0x020F7E54 + + thumb_func_start sub_02064D4C +sub_02064D4C: ; 0x02064D4C + push {r4-r6, lr} + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + mov r1, #0x4 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020254A0 + ldr r5, _02064D84 ; =0x020F7E48 + add r6, r0, #0x0 + mov r4, #0x0 +_02064D6C: + ldrb r1, [r5, #0x0] + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r2, r6, #0x0 + bl sub_02064DEC + add r4, r4, #0x1 + add r5, r5, #0x1 + cmp r4, #0xc + blt _02064D6C + pop {r4-r6, pc} + nop +_02064D84: .word 0x020F7E48 + + thumb_func_start sub_02064D88 +sub_02064D88: ; 0x02064D88 + push {r3-r7, lr} + add r5, r1, #0x0 + add r7, r0, #0x0 + cmp r5, #0x3 + blo _02064D96 + bl sub_02020C2C +_02064D96: + add r0, r7, #0x0 + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + mov r1, #0x5 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x5 + bl sub_020254A0 + add r4, r0, #0x0 + str r5, [r4, #0x4] + cmp r5, #0x0 + beq _02064DC2 + cmp r5, #0x1 + beq _02064DCA + cmp r5, #0x2 + beq _02064DD2 + b _02064DDA +_02064DC2: + mov r0, #0x2 + str r0, [r4, #0x0] + mov r6, #0xe + b _02064DDE +_02064DCA: + mov r0, #0x1 + str r0, [r4, #0x0] + mov r6, #0x15 + b _02064DDE +_02064DD2: + mov r0, #0x0 + str r0, [r4, #0x0] + mov r6, #0x19 + b _02064DDE +_02064DDA: + bl sub_02020C2C +_02064DDE: + ldr r0, [r7, #0x1c] + ldr r0, [r0, #0xc] + cmp r0, r6 + bne _02064DEA + mov r0, #0x0 + str r0, [r4, #0x0] +_02064DEA: + pop {r3-r7, pc} + + thumb_func_start sub_02064DEC +sub_02064DEC: ; 0x02064DEC + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x1 + bls _02064DFC + bl sub_02020C2C +_02064DFC: + mov r0, #0x0 + mvn r0, r0 + mov r1, #0x20 + ldr r2, [r6, #0x0] + sub r1, r1, r5 + add r3, r0, #0x0 + lsr r3, r1 + add r1, r2, #0x0 + and r1, r3 + add r3, r5, #0x1 + lsl r0, r3 + and r2, r0 + add r0, r4, #0x0 + lsl r0, r5 + orr r0, r2 + orr r0, r1 + str r0, [r6, #0x0] + pop {r4-r6, pc} + + thumb_func_start sub_02064E20 +sub_02064E20: ; 0x02064E20 + push {r4, lr} + bl sub_020377AC + bl sub_02024ED8 + add r4, r0, #0x0 + bl sub_020254B4 + cmp r0, #0x6 + beq _02064E48 + add r0, r4, #0x0 + mov r1, #0x6 + bl sub_02025490 + add r0, r4, #0x0 + mov r1, #0x6 + bl sub_020254A0 + mov r1, #0x2 + strh r1, [r0, #0x0] +_02064E48: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02064E4C +sub_02064E4C: ; 0x02064E4C + push {r4, lr} + add r4, r2, #0x0 + bl sub_0200A8E0 + mov r0, #0x0 + add r1, r4, #0x0 + add r2, r0, #0x0 + bl sub_02002E14 + pop {r4, pc} + + thumb_func_start sub_02064E60 +sub_02064E60: ; 0x02064E60 + push {r4-r6, lr} + add r6, r2, #0x0 + add r5, r0, #0x0 + add r3, r1, #0x0 + ldr r2, _02064E8C ; =0x0000017E + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02034824 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, r6, #0x0 + bl sub_02064E4C + add r0, r4, #0x0 + bl sub_0200A8B8 + pop {r4-r6, pc} + .balign 4 +_02064E8C: .word 0x0000017E + + thumb_func_start sub_02064E90 +sub_02064E90: ; 0x02064E90 + push {r3-r7, lr} + sub sp, #0xa0 + str r0, [sp, #0x10] + ldr r6, [sp, #0xb8] + str r1, [sp, #0x14] + str r2, [sp, #0x18] + add r0, r6, #0x0 + str r3, [sp, #0x1c] + ldr r5, [sp, #0xbc] + bl sub_020377AC + str r0, [sp, #0x20] + bl sub_020238F4 + add r7, r0, #0x0 + ldr r0, [sp, #0x20] + bl sub_02029FC8 + add r4, r0, #0x0 + ldr r0, [sp, #0x1c] + strb r0, [r5, #0x5] + add r0, r6, #0x0 + bl sub_02065078 + str r0, [sp, #0x24] + add r0, r7, #0x0 + bl sub_02023A70 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x24] + ldr r3, [sp, #0x18] + mov r1, #0xa + bl sub_02065154 + add r0, r7, #0x0 + bl sub_020239C0 + str r0, [sp, #0x28] + add r0, r7, #0x0 + bl sub_020239CC + str r0, [sp, #0x2c] + add r0, r7, #0x0 + bl sub_0202398C + str r0, [sp, #0x30] + add r0, r7, #0x0 + bl sub_02023A10 + str r0, [sp, #0x34] + ldr r0, [r6, #0xc] + bl sub_02024DA0 + bl sub_02024440 + str r0, [sp, #0x38] + ldr r0, [r6, #0xc] + bl sub_02024DA0 + bl sub_02024D64 + str r0, [sp, #0x3c] + add r0, r4, #0x0 + bl sub_0202A1B8 + ldr r1, [sp, #0x38] + ldr r2, [sp, #0x30] + str r1, [sp, #0x0] + ldr r1, [sp, #0x3c] + ldr r3, [sp, #0x34] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + ldr r1, [sp, #0x2c] + ldr r0, [sp, #0x28] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r5, [sp, #0xc] + bl sub_02065178 + ldr r0, [sp, #0x20] + bl sub_02023918 + str r0, [sp, #0x40] + add r0, r6, #0x0 + add r1, sp, #0x90 + add r2, sp, #0x74 + bl sub_0204B2F0 + add r0, r6, #0x0 + add r1, sp, #0x80 + add r2, sp, #0x74 + bl sub_0204B30C + ldr r0, [r6, #0xc] + bl sub_020462AC + bl sub_0205ED0C + add r1, sp, #0x74 + str r1, [sp, #0x0] + ldr r1, [sp, #0x14] + lsl r0, r0, #0x18 + str r1, [sp, #0x4] + ldr r1, [sp, #0x40] + str r5, [sp, #0x8] + lsr r0, r0, #0x18 + add r2, sp, #0x90 + add r3, sp, #0x80 + bl sub_020651BC + ldr r0, [r6, #0xc] + bl sub_02029ABC + str r0, [sp, #0x44] + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0202A150 + str r0, [sp, #0x48] + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0202A150 + str r0, [sp, #0x4c] + add r0, r4, #0x0 + mov r1, #0x14 + bl sub_0202A150 + str r0, [sp, #0x50] + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_0202A150 + str r0, [sp, #0x54] + add r0, r4, #0x0 + mov r1, #0x40 + bl sub_0202A150 + str r0, [sp, #0x58] + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_0202A150 + ldr r1, [sp, #0x58] + add r1, r1, r0 + ldr r0, [sp, #0x54] + add r1, r0, r1 + ldr r0, [sp, #0x50] + add r1, r0, r1 + ldr r0, [sp, #0x4c] + add r0, r0, r1 + str r0, [sp, #0x5c] + add r0, r4, #0x0 + mov r1, #0x15 + bl sub_0202A150 + str r0, [sp, #0x60] + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_0202A150 + str r0, [sp, #0x64] + add r0, r4, #0x0 + mov r1, #0x16 + bl sub_0202A150 + str r0, [sp, #0x68] + add r0, r4, #0x0 + mov r1, #0x1b + bl sub_0202A150 + str r0, [sp, #0x6c] + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_0202A150 + str r0, [sp, #0x70] + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_0202A150 + add r4, r0, #0x0 + ldr r0, [sp, #0x44] + bl sub_02029AC8 + str r0, [sp, #0x0] + ldr r1, [sp, #0x48] + ldr r0, [sp, #0x5c] + ldr r2, [sp, #0x60] + add r0, r1, r0 + ldr r1, [sp, #0x64] + ldr r3, [sp, #0x68] + add r1, r2, r1 + ldr r2, [sp, #0x6c] + str r5, [sp, #0x4] + add r2, r3, r2 + ldr r3, [sp, #0x70] + add r3, r3, r4 + bl sub_02065260 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_020652AC + mov r3, #0x0 + ldr r0, _0206504C ; =0x0000066C + add r2, r3, #0x0 +_02065034: + ldrb r1, [r5, r2] + add r2, r2, #0x1 + eor r3, r1 + cmp r2, r0 + blo _02065034 + ldr r0, _02065050 ; =0x00000668 + mov r1, #0x0 + strh r3, [r5, r0] + add r0, r0, #0x2 + strh r1, [r5, r0] + add sp, #0xa0 + pop {r3-r7, pc} + .balign 4 +_0206504C: .word 0x0000066C +_02065050: .word 0x00000668 + + thumb_func_start sub_02065054 +sub_02065054: ; 0x02065054 + push {r4, lr} + ldr r1, _0206506C ; =0x0000066C + bl sub_02016998 + ldr r2, _0206506C ; =0x0000066C + mov r1, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r4, pc} + nop +_0206506C: .word 0x0000066C + + thumb_func_start sub_02065070 +sub_02065070: ; 0x02065070 + ldr r3, _02065074 ; =sub_02016A18 + bx r3 + .balign 4 +_02065074: .word sub_02016A18 + 1 + + thumb_func_start sub_02065078 +sub_02065078: ; 0x02065078 + push {r3-r7, lr} + bl sub_020377AC + add r7, r0, #0x0 + bl sub_02029FC8 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_020462AC + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_02026CB4 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r4, #0x0 + bl sub_0205ED0C + cmp r0, #0x0 + beq _020650A8 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_020650A8: + add r0, r7, #0x0 + bl sub_02024DA0 + bl sub_020244EC + cmp r0, #0x0 + beq _020650BC + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_020650BC: + add r0, r6, #0x0 + mov r1, #0x35 + bl sub_0202A150 + cmp r0, #0x64 + bhs _020650F8 + add r0, r6, #0x0 + mov r1, #0x37 + bl sub_0202A150 + cmp r0, #0x64 + bhs _020650F8 + add r0, r6, #0x0 + mov r1, #0x39 + bl sub_0202A150 + cmp r0, #0x64 + bhs _020650F8 + add r0, r6, #0x0 + mov r1, #0x3b + bl sub_0202A150 + cmp r0, #0x64 + bhs _020650F8 + add r0, r6, #0x0 + mov r1, #0x3d + bl sub_0202A150 + cmp r0, #0x64 + blo _020650FE +_020650F8: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_020650FE: + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0205EE60 + cmp r0, #0x0 + bne _0206513A + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0205EE60 + cmp r0, #0x0 + bne _0206513A + add r0, r5, #0x0 + mov r1, #0x3 + bl sub_0205EE60 + cmp r0, #0x0 + bne _0206513A + add r0, r5, #0x0 + mov r1, #0x4 + bl sub_0205EE60 + cmp r0, #0x0 + bne _0206513A + add r0, r5, #0x0 + mov r1, #0x2 + bl sub_0205EE60 + cmp r0, #0x0 + beq _02065140 +_0206513A: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02065140: + ldr r0, [sp, #0x0] + bl sub_020268D4 + cmp r0, #0x1 + bne _02065150 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02065150: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02065154 +sub_02065154: ; 0x02065154 + push {r3-r6} + ldr r5, [sp, #0x14] + mov r6, #0x1 + ldrb r4, [r5, #0x4] + bic r4, r6 + mov r6, #0x1 + and r0, r6 + orr r0, r4 + strb r0, [r5, #0x4] + strb r1, [r5, #0x0] + strb r2, [r5, #0x3] + add r0, sp, #0x0 + ldrb r0, [r0, #0x10] + strb r0, [r5, #0x1] + strb r3, [r5, #0x2] + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_02065178 +sub_02065178: ; 0x02065178 + push {r4-r6, lr} + ldr r4, [sp, #0x1c] + add r6, r1, #0x0 + strh r0, [r4, #0x28] + ldrb r0, [r4, #0x4] + add r1, r2, #0x0 + mov r2, #0x4 + bic r0, r2 + lsl r2, r6, #0x1f + lsr r2, r2, #0x1d + orr r0, r2 + strb r0, [r4, #0x4] + add r0, r4, #0x0 + add r0, #0x8 + mov r2, #0x8 + add r5, r3, #0x0 + bl sub_02002268 + ldr r0, [sp, #0x10] + str r5, [r4, #0x1c] + str r0, [r4, #0x20] + ldrb r0, [r4, #0x4] + mov r1, #0x8 + bic r0, r1 + ldr r1, [sp, #0x14] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1c + orr r0, r1 + strb r0, [r4, #0x4] + ldr r0, [sp, #0x18] + str r0, [r4, #0x24] + pop {r4-r6, pc} + + thumb_func_start sub_020651BC +sub_020651BC: ; 0x020651BC + push {r3-r7, lr} + sub sp, #0x8 + ldr r4, [sp, #0x28] + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r0, r1, #0x0 + add r5, r2, #0x0 + add r6, r3, #0x0 + ldr r7, [sp, #0x20] + bl sub_02029EBC + strh r0, [r4, #0x2a] + ldr r0, [sp, #0x4] + bl sub_02029EC0 + add r1, r4, #0x0 + add r1, #0x2e + strb r0, [r1, #0x0] + add r0, r4, #0x0 + ldr r1, [r5, #0x0] + add r0, #0x2f + strb r1, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r5, #0x4] + add r0, #0x30 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r5, #0x8] + add r0, #0x31 + strb r1, [r0, #0x0] + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _0206521E + add r0, r4, #0x0 + ldr r1, [r6, #0x0] + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r6, #0x4] + add r0, #0x33 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + ldr r1, [r6, #0x8] + add r0, #0x34 + strb r1, [r0, #0x0] + ldr r0, [r7, #0x0] + strh r0, [r4, #0x2c] + ldr r1, [r7, #0x4] + b _02065234 +_0206521E: + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x33 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x34 + strb r1, [r0, #0x0] + strh r1, [r4, #0x2c] +_02065234: + add r0, r4, #0x0 + add r0, #0x35 + strb r1, [r0, #0x0] + ldrb r2, [r4, #0x4] + mov r0, #0x2 + bic r2, r0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x14] + lsl r1, r0, #0x1f + lsr r1, r1, #0x1e + orr r1, r2 + strb r1, [r4, #0x4] + cmp r0, #0x0 + beq _02065258 + ldr r0, [sp, #0x4] + add sp, #0x8 + str r0, [r4, #0x18] + pop {r3-r7, pc} +_02065258: + mov r0, #0x0 + str r0, [r4, #0x18] + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02065260 +sub_02065260: ; 0x02065260 + push {r3-r5, lr} + ldr r4, [sp, #0x14] + ldr r5, _020652A0 ; =0x000F423F + str r0, [r4, #0x38] + cmp r0, r5 + bls _0206526E + str r5, [r4, #0x38] +_0206526E: + str r1, [r4, #0x3c] + str r2, [r4, #0x40] + ldr r1, [r4, #0x3c] + ldr r0, _020652A4 ; =0x0000270F + cmp r1, r0 + bls _0206527C + str r0, [r4, #0x3c] +_0206527C: + ldr r1, [r4, #0x40] + ldr r0, _020652A4 ; =0x0000270F + cmp r1, r0 + bls _02065286 + str r0, [r4, #0x40] +_02065286: + ldr r0, _020652A8 ; =0x0001869F + str r3, [r4, #0x44] + cmp r3, r0 + bls _02065290 + str r0, [r4, #0x44] +_02065290: + add r4, #0x68 + mov r2, #0x6 + ldr r0, [sp, #0x10] + add r1, r4, #0x0 + lsl r2, r2, #0x8 + blx sub_020CE3E0 + pop {r3-r5, pc} + .balign 4 +_020652A0: .word 0x000F423F +_020652A4: .word 0x0000270F +_020652A8: .word 0x0001869F + + thumb_func_start sub_020652AC +sub_020652AC: ; 0x020652AC + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + ldr r0, [r1, #0xc] + add r5, r2, #0x0 + bl sub_02029ABC + bl sub_02029ACC + str r0, [sp, #0x4] + mov r0, #0x1 + mov r4, #0x0 + add r5, #0x48 + str r0, [sp, #0x8] + add r7, r0, #0x0 +_020652CA: + ldr r0, [sp, #0x0] + add r1, r4, #0x0 + bl sub_020239D0 + cmp r0, #0x0 + beq _020652E6 + lsl r0, r4, #0x2 + ldr r2, [r5, r0] + mov r1, #0x1 + bic r2, r7 + orr r1, r2 + add r6, r5, r0 + str r1, [r5, r0] + b _020652F2 +_020652E6: + lsl r2, r4, #0x2 + ldr r1, [r5, r2] + ldr r0, [sp, #0x8] + add r6, r5, r2 + bic r1, r0 + str r1, [r5, r2] +_020652F2: + ldr r1, [sp, #0x4] + add r0, r4, #0x0 + bl sub_02029AD0 + ldr r2, [r6, #0x0] + mov r1, #0x1 + and r1, r2 + lsl r0, r0, #0x1 + orr r0, r1 + str r0, [r6, #0x0] + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x8 + blo _020652CA + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_02065314 +sub_02065314: ; 0x02065314 + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl sub_02029ABC + bl sub_02029ACC + add r6, r0, #0x0 + mov r4, #0x0 +_02065326: + lsl r1, r4, #0x2 + add r1, r5, r1 + ldr r1, [r1, #0x48] + add r0, r4, #0x0 + asr r1, r1, #0x1 + add r2, r6, #0x0 + bl sub_02029AD8 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x8 + blo _02065326 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02065344 +sub_02065344: ; 0x02065344 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_020169D8 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + ldr r0, [r5, #0x78] + bl sub_02052E38 + str r0, [r4, #0x4] + ldr r0, [r5, #0x10] + ldr r1, _0206536C ; =sub_02065370 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + nop +_0206536C: .word sub_02065370 + 1 + + thumb_func_start sub_02065370 +sub_02065370: ; 0x02065370 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0xa + bgt _0206539A + bge _020653BA + cmp r0, #0x1 + bgt _020653E2 + cmp r0, #0x0 + blt _020653E2 + beq _020653A0 + cmp r0, #0x1 + beq _020653AA + b _020653E2 +_0206539A: + cmp r0, #0xb + beq _020653C8 + b _020653E2 +_020653A0: + ldr r0, [r4, #0x78] + bl sub_02052ED0 + mov r0, #0x1 + str r0, [r5, #0x0] +_020653AA: + ldr r1, [r5, #0x4] + ldr r0, _020653E8 ; =0x0000066A + ldrh r0, [r1, r0] + cmp r0, #0x0 + beq _020653E2 + mov r0, #0xa + str r0, [r5, #0x0] + b _020653E2 +_020653BA: + ldr r1, [r5, #0x4] + add r0, r4, #0x0 + bl sub_02038680 + mov r0, #0xb + str r0, [r5, #0x0] + b _020653E2 +_020653C8: + add r0, r4, #0x0 + bl sub_0204647C + cmp r0, #0x0 + bne _020653E2 + ldr r0, [r4, #0x78] + bl sub_02052EAC + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_020653E2: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_020653E8: .word 0x0000066A + + thumb_func_start sub_020653EC +sub_020653EC: ; 0x020653EC + push {r4-r6, lr} + mov r2, #0x5 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x3 + mov r1, #0x2b + lsl r2, r2, #0xc + bl sub_0201681C + mov r1, #0x6e + mov r0, #0x2b + lsl r1, r1, #0x2 + bl sub_02016998 + mov r2, #0x6e + mov r1, #0x0 + lsl r2, r2, #0x2 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r5, #0x0 + str r6, [r4, #0x4] + bl sub_020377AC + mov r1, #0x5b + lsl r1, r1, #0x2 + str r5, [r4, r1] + mov r1, #0x2b + str r1, [r4, #0x0] + mov r1, #0x0 + strb r1, [r4, #0x19] + mov r1, #0xff + add r6, r0, #0x0 + strb r1, [r4, #0x1a] + bl sub_02023900 + bl sub_02024FF4 + strb r0, [r4, #0x16] + add r0, r6, #0x0 + bl sub_02023900 + bl sub_02025084 + strh r0, [r4, #0x14] + add r0, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, #0x1c + mov r1, #0x14 + bl sub_02066010 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02066070 + add r0, r4, #0x0 + bl sub_02066270 + ldr r0, _02065470 ; =sub_020654B0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0200CA44 + str r0, [r4, #0x8] + pop {r4-r6, pc} + .balign 4 +_02065470: .word sub_020654B0 + 1 + + thumb_func_start sub_02065474 +sub_02065474: ; 0x02065474 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + bl sub_0200CAB4 + ldr r0, [r4, #0x4] + mov r1, #0x1 + str r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_020662E4 + add r0, r4, #0x0 + add r0, #0x1c + mov r1, #0x14 + bl sub_02066044 + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, [r4, #0x0] + bl sub_020168D0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020654A4 +sub_020654A4: ; 0x020654A4 + ldr r3, _020654AC ; =sub_02065474 + add r0, r1, #0x0 + bx r3 + nop +_020654AC: .word sub_02065474 + 1 + + thumb_func_start sub_020654B0 +sub_020654B0: ; 0x020654B0 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02066334 + add r0, r4, #0x0 + bl sub_02065AF4 + ldr r1, _020654CC ; =sub_020654D0 + add r0, r5, #0x0 + bl sub_0201B6C4 + pop {r3-r5, pc} + .balign 4 +_020654CC: .word sub_020654D0 + 1 + + thumb_func_start sub_020654D0 +sub_020654D0: ; 0x020654D0 + push {r3-r5, lr} + mov r0, #0x16 + add r5, r1, #0x0 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_02001204 + add r4, r0, #0x0 + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + cmp r0, #0x0 + beq _020654EE + bl sub_0205EC18 +_020654EE: + ldr r0, _02065544 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _0206550A + ldr r1, _02065548 ; =sub_02065658 + ldr r2, _0206554C ; =sub_020654A4 + add r0, r5, #0x0 + bl sub_02065FE4 + ldr r0, _02065550 ; =0x000005DC + bl sub_020054C8 + pop {r3-r5, pc} +_0206550A: + mov r0, #0x1 + tst r0, r1 + beq _02065542 + ldr r0, _02065550 ; =0x000005DC + bl sub_020054C8 + mov r1, #0x1 + mvn r1, r1 + cmp r4, r1 + beq _0206552A + add r0, r1, #0x1 + cmp r4, r0 + beq _0206552A + lsr r0, r1, #0x10 + cmp r4, r0 + bne _02065536 +_0206552A: + ldr r1, _02065548 ; =sub_02065658 + ldr r2, _0206554C ; =sub_020654A4 + add r0, r5, #0x0 + bl sub_02065FE4 + pop {r3-r5, pc} +_02065536: + ldr r1, _02065548 ; =sub_02065658 + ldr r2, _02065554 ; =sub_02065558 + add r0, r5, #0x0 + strb r4, [r5, #0x18] + bl sub_02065FE4 +_02065542: + pop {r3-r5, pc} + .balign 4 +_02065544: .word 0x021C48B8 +_02065548: .word sub_02065658 + 1 +_0206554C: .word sub_020654A4 + 1 +_02065550: .word 0x000005DC +_02065554: .word sub_02065558 + 1 + + thumb_func_start sub_02065558 +sub_02065558: ; 0x02065558 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x0 + beq _0206556A + cmp r0, #0x1 + beq _02065592 + pop {r3-r5, pc} +_0206556A: + add r0, r4, #0x0 + bl sub_02066334 + mov r1, #0x0 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl sub_02065DD8 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r1, #0x0 + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + add r3, r1, #0x0 + bl sub_02066404 + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] + pop {r3-r5, pc} +_02065592: + add r0, r4, #0x0 + bl sub_020664F4 + cmp r0, #0x0 + beq _020655A8 + ldr r1, _020655AC ; =sub_020655B0 + add r0, r5, #0x0 + bl sub_0201B6C4 + mov r0, #0x0 + strh r0, [r4, #0x10] +_020655A8: + pop {r3-r5, pc} + nop +_020655AC: .word sub_020655B0 + 1 + + thumb_func_start sub_020655B0 +sub_020655B0: ; 0x020655B0 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r0, #0x16 + add r4, r1, #0x0 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02001204 + add r5, r0, #0x0 + ldr r0, _02065638 ; =0x021C48B8 + mov r1, #0x2 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _020655DE + ldr r1, _0206563C ; =sub_02065674 + ldr r2, _02065640 ; =sub_020654B0 + add r0, r4, #0x0 + bl sub_02065FE4 + ldr r0, _02065644 ; =0x000005DC + bl sub_020054C8 + pop {r4-r6, pc} +_020655DE: + mov r1, #0x1 + tst r0, r1 + beq _02065634 + ldr r0, _02065644 ; =0x000005DC + bl sub_020054C8 + add r0, r5, #0x2 + cmp r0, #0x5 + bhi _0206562C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r1, #0 + lsl r6, r5, #0 + lsl r6, r2, #0 + lsl r2, r4, #0 + lsl r2, r1, #0 + ldr r1, _0206563C ; =sub_02065674 + ldr r2, _02065640 ; =sub_020654B0 + add r0, r4, #0x0 + bl sub_02065FE4 + pop {r4-r6, pc} +_02065614: + .byte 0x0C, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xE3, 0xFC, 0x70, 0xBD + .byte 0x0A, 0x49, 0x0B, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xFC, 0x70, 0xBD +_0206562C: + ldr r1, _02065654 ; =sub_02065690 + add r0, r6, #0x0 + bl sub_0201B6C4 +_02065634: + pop {r4-r6, pc} + nop +_02065638: .word 0x021C48B8 +_0206563C: .word sub_02065674 + 1 +_02065640: .word sub_020654B0 + 1 +_02065644: .word 0x000005DC +_02065648: + .byte 0x11, 0x57, 0x06, 0x02, 0x95, 0x58, 0x06, 0x02 + .byte 0x39, 0x59, 0x06, 0x02 +_02065654: .word sub_02065690 + 1 + + thumb_func_start sub_02065658 +sub_02065658: ; 0x02065658 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02065EF8 + add r0, r4, #0x0 + bl sub_020663D4 + ldr r1, [r4, #0xc] + add r0, r5, #0x0 + bl sub_0201B6C4 + pop {r3-r5, pc} + + thumb_func_start sub_02065674 +sub_02065674: ; 0x02065674 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_02065F8C + add r0, r4, #0x0 + bl sub_020663D4 + ldr r1, [r4, #0xc] + add r0, r5, #0x0 + bl sub_0201B6C4 + pop {r3-r5, pc} + + thumb_func_start sub_02065690 +sub_02065690: ; 0x02065690 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x3 + bhi _02065704 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r0, r5, #0 + lsl r4, r6, #0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02066578 + cmp r0, #0x0 + beq _0206570A + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02066634 + b _02065704 +_020656C6: + .byte 0x20, 0x1C, 0x01, 0xF0, 0x2E, 0xF8, 0x00, 0x28, 0x19, 0xD1 + .byte 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x74, 0xFF, 0x00, 0x28, 0x13, 0xD1, 0x38, 0xBD, 0x20, 0x1C + .byte 0x01, 0x21, 0x00, 0xF0, 0x49, 0xFF, 0x00, 0x28, 0x0F, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x22, 0xFE + .byte 0x20, 0x1C, 0x00, 0xF0, 0xFF, 0xF9, 0x00, 0x20, 0x20, 0x82, 0x04, 0x49, 0x28, 0x1C, 0xB5, 0xF7 + .byte 0xE1, 0xFF, 0x38, 0xBD +_02065704: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] +_0206570A: + pop {r3-r5, pc} +_0206570C: + .byte 0xD1, 0x54, 0x06, 0x02 + + thumb_func_start sub_02065710 +sub_02065710: ; 0x02065710 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r1, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x5 + bhi _020657DA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r3, #0 + lsl r4, r5, #0 + lsl r6, r2, #0x1 + lsl r6, r5, #0x1 + lsl r0, r0, #0x2 + mov r1, #0x1 + str r1, [sp, #0x0] + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02066404 + b _020657DA +_02065744: + .byte 0x20, 0x1C, 0x00, 0xF0, 0xD5, 0xFE, 0x00, 0x28, 0x48, 0xD0, 0x20, 0x1C + .byte 0x00, 0xF0, 0xE6, 0xFE, 0x41, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF8, 0xFE, 0x00, 0x28, 0x3F, 0xDB + .byte 0x0A, 0xD0, 0x00, 0x23, 0x00, 0x93, 0xA2, 0x7D, 0x20, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x4A, 0xFE + .byte 0x04, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x03, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD + .byte 0x20, 0x1C, 0x00, 0xF0, 0xA9, 0xFE, 0x17, 0x49, 0x17, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x2A, 0xFC + .byte 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xFE, 0x00, 0x28 + .byte 0x1E, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xBC, 0xFE, 0x17, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFE + .byte 0x00, 0x28, 0x15, 0xDB, 0x05, 0xD0, 0x0D, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x12, 0xFC + .byte 0x04, 0xE0, 0x0B, 0x49, 0x07, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x83, 0xFE, 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD +_020657DA: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] + add sp, #0x4 + pop {r3-r4, pc} +_020657E4: + .byte 0x75, 0x56, 0x06, 0x02, 0xB1, 0x54, 0x06, 0x02, 0xB9, 0x59, 0x06, 0x02 + .byte 0xF5, 0x57, 0x06, 0x02 + + thumb_func_start sub_020657F4 +sub_020657F4: ; 0x020657F4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r1, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x0 + beq _0206580A + cmp r0, #0x1 + beq _0206584E + cmp r0, #0x2 + beq _0206585C + b _0206587E +_0206580A: + ldr r0, [r4, #0xc] + cmp r0, #0x0 + bne _02065820 + add r0, r4, #0x0 + bl sub_02066334 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl sub_02065DD8 +_02065820: + add r0, r4, #0x0 + bl sub_020661A0 + cmp r0, #0x0 + beq _0206583C + mov r0, #0x1 + str r0, [sp, #0x0] + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + mov r1, #0x3 + mov r3, #0x0 + bl sub_02066404 + b _0206587E +_0206583C: + mov r0, #0x1 + str r0, [sp, #0x0] + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + mov r1, #0x4 + mov r3, #0x0 + bl sub_02066404 + b _0206587E +_0206584E: + add r0, r4, #0x0 + bl sub_020664F4 + cmp r0, #0x0 + bne _0206587E + add sp, #0x4 + pop {r3-r4, pc} +_0206585C: + ldr r0, _02065888 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02065884 + add r0, r4, #0x0 + bl sub_020664D8 + ldr r1, _0206588C ; =sub_02065674 + ldr r2, _02065890 ; =sub_020654B0 + add r0, r4, #0x0 + bl sub_02065FE4 + mov r0, #0x0 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} +_0206587E: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] +_02065884: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_02065888: .word 0x021C48B8 +_0206588C: .word sub_02065674 + 1 +_02065890: .word sub_020654B0 + 1 + + thumb_func_start sub_02065894 +sub_02065894: ; 0x02065894 + push {r3-r5, lr} + add r4, r1, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x3 + bhi _0206592C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r4, r3, #0 + lsl r2, r5, #0 + lsl r6, r6, #0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02066578 + cmp r0, #0x0 + beq _02065932 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02066634 + b _0206592C +_020658C8: + .byte 0x20, 0x1C, 0x0E, 0x21, 0x00, 0xF0, 0xCA, 0xFE + .byte 0x00, 0x28, 0x2B, 0xD1, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFE, 0x00, 0x28, 0x25, 0xD1 + .byte 0x38, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x47, 0xFE, 0x00, 0x28, 0x21, 0xD0, 0x6D, 0x20 + .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0xB1, 0xF7, 0x8D, 0xF8, 0x07, 0x2D + .byte 0x07, 0xD1, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6C, 0xFB, 0x00, 0x20, 0x20, 0x82 + .byte 0x38, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6E, 0xFC, 0x05, 0x49, 0x20, 0x1C + .byte 0x00, 0x22, 0x00, 0xF0, 0x5F, 0xFB, 0x00, 0x20, 0x20, 0x82, 0x38, 0xBD +_0206592C: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] +_02065932: + pop {r3-r5, pc} +_02065934: + .byte 0xB1, 0x54, 0x06, 0x02 + + thumb_func_start sub_02065938 +sub_02065938: ; 0x02065938 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r1, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x0 + beq _0206594E + cmp r0, #0x1 + beq _02065970 + cmp r0, #0x2 + beq _0206597E + b _020659A0 +_0206594E: + add r0, r4, #0x0 + bl sub_02066334 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x2 + bl sub_02065DD8 + mov r0, #0x1 + str r0, [sp, #0x0] + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + mov r1, #0x5 + mov r3, #0x0 + bl sub_02066404 + b _020659A0 +_02065970: + add r0, r4, #0x0 + bl sub_020664F4 + cmp r0, #0x0 + bne _020659A0 + add sp, #0x4 + pop {r3-r4, pc} +_0206597E: + ldr r0, _020659AC ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _020659A6 + add r0, r4, #0x0 + bl sub_020664D8 + ldr r1, _020659B0 ; =sub_02065674 + ldr r2, _020659B4 ; =sub_020654B0 + add r0, r4, #0x0 + bl sub_02065FE4 + mov r0, #0x0 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} +_020659A0: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] +_020659A6: + add sp, #0x4 + pop {r3-r4, pc} + nop +_020659AC: .word 0x021C48B8 +_020659B0: .word sub_02065674 + 1 +_020659B4: .word sub_020654B0 + 1 + + thumb_func_start sub_020659B8 +sub_020659B8: ; 0x020659B8 + push {r4-r6, lr} + add r4, r1, #0x0 + ldrh r0, [r4, #0x10] + cmp r0, #0x5 + bls _020659C4 + b _02065AE0 +_020659C4: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r2, #0x1 + lsl r6, r2, #0x2 + lsl r4, r6, #0x2 + lsl r6, r4, #0x3 + lsl r2, r6, #0x3 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02066578 + cmp r0, #0x0 + beq _02065AE6 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02066634 + mov r0, #0x1b + lsl r0, r0, #0x4 + ldrb r2, [r4, #0x18] + mov r1, #0xc + ldr r0, [r4, r0] + mul r1, r2 + add r1, r4, r1 + ldrh r1, [r1, #0x22] + ldr r2, [r4, #0x0] + bl sub_0206EEF8 + cmp r0, #0x0 + ldr r1, _02065AE8 ; =0x0000013B + beq _02065A1A + ldrb r2, [r4, r1] + mov r0, #0xc0 + bic r2, r0 + mov r0, #0x40 + orr r0, r2 + strb r0, [r4, r1] + b _02065AE0 +_02065A1A: + ldrb r2, [r4, r1] + mov r0, #0xc0 + bic r2, r0 + strb r2, [r4, r1] + b _02065AE0 +_02065A24: + .byte 0x20, 0x1C, 0x09, 0x21, 0x00, 0xF0, 0x1C, 0xFE, 0x00, 0x28, 0x5A, 0xD0 + .byte 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0x01, 0x1C, 0x23, 0x31 + .byte 0x0E, 0x78, 0xB0, 0xF7, 0xE9, 0xFF, 0x06, 0x2E, 0x01, 0xD1, 0x07, 0x2D, 0x04, 0xD1, 0x27, 0x48 + .byte 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD, 0xE5, 0x75, 0x21, 0x7E, 0x0C, 0x20, 0x00, 0x22 + .byte 0x48, 0x43, 0x20, 0x18, 0x42, 0x77, 0x3B, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x5D, 0xFE, 0x00, 0x28 + .byte 0x39, 0xD0, 0x01, 0x28, 0x04, 0xD1, 0x1D, 0x48, 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD + .byte 0x1B, 0x48, 0xE0, 0x60, 0x2C, 0xE0, 0x20, 0x1C, 0x0B, 0x21, 0x00, 0xF0, 0xEB, 0xFD, 0x00, 0x28 + .byte 0x29, 0xD0, 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0xB0, 0xF7, 0xBE, 0xFF, 0x12, 0x4A, 0xE1, 0x7D + .byte 0xA2, 0x5C, 0x20, 0x1C, 0x12, 0x06, 0x92, 0x0F, 0x00, 0xF0, 0xA6, 0xFB, 0x0E, 0x49, 0xC0, 0x20 + .byte 0x62, 0x5C, 0x82, 0x43, 0x62, 0x54, 0x13, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x81, 0xFD, 0x00, 0x28 + .byte 0x0E, 0xD1, 0x70, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x56, 0xFD, 0x00, 0x28, 0x0A, 0xD0 + .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x85, 0xFA, 0x00, 0x20, 0x20, 0x82, 0x70, 0xBD +_02065AE0: + ldrh r0, [r4, #0x10] + add r0, r0, #0x1 + strh r0, [r4, #0x10] +_02065AE6: + pop {r4-r6, pc} + .balign 4 +_02065AE8: .word 0x0000013B +_02065AEC: + .byte 0xF5, 0x57, 0x06, 0x02 + .byte 0xB1, 0x54, 0x06, 0x02 + + thumb_func_start sub_02065AF4 +sub_02065AF4: ; 0x02065AF4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r6, #0x0 + bl sub_0205EB38 + mov r1, #0x69 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r5, r1] + mov r1, #0xc8 + mov r2, #0xa + mov r3, #0x8a + bl sub_0205EC48 + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, r6, #0x0 + mov r2, #0x1 + bl sub_0205EC6C + mov r0, #0x69 + lsl r0, r0, #0x2 + mov r1, #0x1 + ldr r0, [r5, r0] + add r2, r1, #0x0 + bl sub_0205EC6C + mov r1, #0x17 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r2, _02065CD8 ; =0x020F7E7C + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x17 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, #0x24 + ldr r2, _02065CDC ; =0x020F7E84 + add r1, r5, r1 + bl sub_02019150 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xff + bl sub_02019620 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xff + bl sub_02019620 + ldrb r0, [r5, #0x1b] + ldr r1, [r5, #0x0] + add r0, r0, #0x1 + bl sub_02012838 + mov r1, #0x59 + lsl r1, r1, #0x2 + add r7, r5, #0x0 + str r0, [r5, r1] + add r4, r6, #0x0 + add r7, #0x1c +_02065B7E: + mov r0, #0xc + mul r0, r4 + add r2, r7, r0 + ldrb r0, [r2, #0x1] + cmp r0, #0x0 + beq _02065B9E + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r1, [r2, #0x8] + ldrb r2, [r2, #0x0] + ldr r0, [r5, r0] + bl sub_020128A0 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_02065B9E: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x14 + blo _02065B7E + mov r1, #0x59 + lsl r1, r1, #0x2 + ldr r0, [r5, r1] + sub r1, #0x4c + ldr r1, [r5, r1] + ldr r2, _02065CE0 ; =0x0000FFFF + bl sub_020128A0 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + mov r1, #0x5 + lsr r6, r0, #0x18 + lsl r1, r1, #0x6 + ldr r0, _02065CE4 ; =0x020F7E8C + add r1, r5, r1 + mov r2, #0x20 + blx sub_020CE3E0 + mov r1, #0x5d + lsl r1, r1, #0x2 + add r0, r1, #0x0 + add r2, r5, r1 + sub r0, #0x28 + str r2, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x10 + ldr r2, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x34 + str r2, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x18 + str r5, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x24 + strh r6, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x1d + ldrb r2, [r5, r0] + mov r0, #0xf + bic r2, r0 + mov r0, #0x6 + orr r2, r0 + add r0, r1, #0x0 + sub r0, #0x1d + strb r2, [r5, r0] + add r0, r1, #0x0 + ldr r2, _02065CE8 ; =sub_02065D4C + sub r0, #0x30 + str r2, [r5, r0] + add r0, r1, #0x0 + ldr r2, _02065CEC ; =sub_02065CFC + sub r0, #0x2c + str r2, [r5, r0] + add r0, r1, #0x0 + sub r0, #0x39 + ldrb r0, [r5, r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + beq _02065C64 + add r0, r1, #0x0 + sub r0, #0x38 + ldrh r0, [r5, r0] + cmp r0, #0x0 + bne _02065C48 + add r0, r1, #0x0 + sub r0, #0x36 + ldrh r2, [r5, r0] + cmp r2, #0x0 + beq _02065C5A + sub r0, r6, #0x1 + cmp r2, r0 + blt _02065C5A + add r0, r1, #0x0 + sub r0, #0x36 + ldrh r0, [r5, r0] + sub r1, #0x36 + sub r0, r0, #0x1 + strh r0, [r5, r1] + b _02065C5A +_02065C48: + add r0, r0, #0x7 + cmp r0, r6 + blt _02065C5A + add r0, r1, #0x0 + sub r0, #0x38 + ldrh r0, [r5, r0] + sub r1, #0x38 + sub r0, r0, #0x1 + strh r0, [r5, r1] +_02065C5A: + ldr r1, _02065CF0 ; =0x0000013B + mov r0, #0x30 + ldrb r2, [r5, r1] + bic r2, r0 + strb r2, [r5, r1] +_02065C64: + mov r2, #0x5 + lsl r2, r2, #0x6 + sub r1, r2, #0x4 + add r0, r5, r2 + sub r2, r2, #0x2 + ldr r3, [r5, #0x0] + ldrh r1, [r5, r1] + lsl r3, r3, #0x18 + ldrh r2, [r5, r2] + lsr r3, r3, #0x18 + bl sub_020010A8 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + add r1, #0x14 + add r0, r5, r1 + ldr r2, _02065CF4 ; =0x000003D9 + mov r1, #0x0 + mov r3, #0xb + bl sub_0200CCA4 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r2, #0x65 + ldr r0, _02065CF8 ; =0x0001020F + str r1, [sp, #0x4] + str r0, [sp, #0x8] + lsl r2, r2, #0x2 + add r0, r5, r2 + str r1, [sp, #0xc] + sub r2, #0x78 + ldr r2, [r5, r2] + mov r3, #0x2 + bl sub_0201BDE0 + mov r0, #0x65 + lsl r0, r0, #0x2 + ldr r2, _02065CF4 ; =0x000003D9 + add r0, r5, r0 + mov r1, #0x0 + mov r3, #0xb + bl sub_0200CCA4 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x3 + bl sub_0201AC68 + ldr r1, _02065CF0 ; =0x0000013B + mov r0, #0xf + ldrb r2, [r5, r1] + bic r2, r0 + strb r2, [r5, r1] + add sp, #0x10 + pop {r3-r7, pc} + nop +_02065CD8: .word 0x020F7E7C +_02065CDC: .word 0x020F7E84 +_02065CE0: .word 0x0000FFFF +_02065CE4: .word 0x020F7E8C +_02065CE8: .word sub_02065D4C + 1 +_02065CEC: .word sub_02065CFC + 1 +_02065CF0: .word 0x0000013B +_02065CF4: .word 0x000003D9 +_02065CF8: .word 0x0001020F + + thumb_func_start sub_02065CFC +sub_02065CFC: ; 0x02065CFC + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x13 + add r5, r0, #0x0 + bl sub_02001470 + ldr r1, _02065D48 ; =0x0000FFFF + cmp r4, r1 + bne _02065D1C + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0xf + mov r3, #0x2 + bl sub_020013E8 + pop {r3-r5, pc} +_02065D1C: + mov r1, #0xc + mul r1, r4 + add r0, r0, r1 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02065D38 + add r0, r5, #0x0 + mov r1, #0x3 + mov r2, #0xf + mov r3, #0x4 + bl sub_020013E8 + pop {r3-r5, pc} +_02065D38: + add r0, r5, #0x0 + mov r1, #0x7 + mov r2, #0xf + mov r3, #0x8 + bl sub_020013E8 + pop {r3-r5, pc} + nop +_02065D48: .word 0x0000FFFF + + thumb_func_start sub_02065D4C +sub_02065D4C: ; 0x02065D4C + push {r3-r6, lr} + sub sp, #0x4 + mov r1, #0x13 + add r4, r0, #0x0 + add r6, r2, #0x0 + bl sub_02001470 + add r1, sp, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02001448 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02001470 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r6, #0x0 + bne _02065D7E + ldr r0, _02065DD4 ; =0x000005DC + bl sub_020054C8 +_02065D7E: + add r0, sp, #0x0 + ldrh r0, [r0, #0x2] + cmp r0, #0x0 + bne _02065D96 + mov r0, #0x69 + lsl r0, r0, #0x2 + mov r1, #0x0 + ldr r0, [r5, r0] + add r2, r1, #0x0 + bl sub_0205EC6C + b _02065DA4 +_02065D96: + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + mov r2, #0x1 + bl sub_0205EC6C +_02065DA4: + add r0, sp, #0x0 + ldrh r1, [r0, #0x2] + sub r0, r4, #0x7 + cmp r1, r0 + bge _02065DC0 + mov r0, #0x69 + lsl r0, r0, #0x2 + mov r1, #0x1 + ldr r0, [r5, r0] + add r2, r1, #0x0 + bl sub_0205EC6C + add sp, #0x4 + pop {r3-r6, pc} +_02065DC0: + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + mov r2, #0x0 + bl sub_0205EC6C + add sp, #0x4 + pop {r3-r6, pc} + nop +_02065DD4: .word 0x000005DC + + thumb_func_start sub_02065DD8 +sub_02065DD8: ; 0x02065DD8 + push {r3-r7, lr} + sub sp, #0x8 + str r1, [sp, #0x0] + add r5, r0, #0x0 + str r2, [sp, #0x4] + ldr r1, [r5, #0x0] + mov r0, #0x4 + bl sub_02012838 + mov r1, #0x59 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r1, #0x0 + add r0, #0xc + add r1, #0x10 + ldr r0, [r5, r0] + ldr r2, _02065EC8 ; =0x020F7E74 + add r1, r5, r1 + bl sub_02019150 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xff + bl sub_02019620 + mov r7, #0x43 + ldr r6, _02065ECC ; =0x020F7EAC + mov r4, #0x0 + lsl r7, r7, #0x2 +_02065E14: + lsl r2, r4, #0x3 + add r3, r6, r2 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r1, [r5, r7] + ldr r2, [r6, r2] + ldr r3, [r3, #0x4] + bl sub_02012880 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + blo _02065E14 + mov r1, #0x5 + lsl r1, r1, #0x6 + ldr r0, _02065ED0 ; =0x020F7E8C + add r1, r5, r1 + mov r2, #0x20 + blx sub_020CE3E0 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r1, r0, #0x0 + add r2, r5, r0 + sub r1, #0x28 + str r2, [r5, r1] + add r1, r0, #0x0 + sub r1, #0x10 + ldr r2, [r5, r1] + add r1, r0, #0x0 + sub r1, #0x34 + str r2, [r5, r1] + add r1, r0, #0x0 + sub r1, #0x18 + str r5, [r5, r1] + add r1, r0, #0x0 + mov r2, #0x4 + sub r1, #0x24 + strh r2, [r5, r1] + add r1, r0, #0x0 + sub r1, #0x22 + strh r2, [r5, r1] + add r1, r0, #0x0 + sub r1, #0x1a + ldrh r2, [r5, r1] + ldr r1, _02065ED4 ; =0xFFFFFE7F + and r2, r1 + add r1, r0, #0x0 + sub r1, #0x1a + strh r2, [r5, r1] + add r1, r0, #0x0 + sub r0, #0x34 + ldr r2, _02065ED8 ; =sub_02065EE4 + sub r1, #0x30 + str r2, [r5, r1] + ldr r3, [r5, #0x0] + ldr r1, [sp, #0x0] + lsl r3, r3, #0x18 + ldr r2, [sp, #0x4] + add r0, r5, r0 + lsr r3, r3, #0x18 + bl sub_020010A8 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + add r1, #0x14 + add r0, r5, r1 + ldr r2, _02065EDC ; =0x000003D9 + mov r1, #0x0 + mov r3, #0xb + bl sub_0200CCA4 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x3 + bl sub_0201AC68 + ldr r1, _02065EE0 ; =0x0000013B + mov r0, #0xf + ldrb r2, [r5, r1] + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r5, r1] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02065EC8: .word 0x020F7E74 +_02065ECC: .word 0x020F7EAC +_02065ED0: .word 0x020F7E8C +_02065ED4: .word 0xFFFFFE7F +_02065ED8: .word sub_02065EE4 + 1 +_02065EDC: .word 0x000003D9 +_02065EE0: .word 0x0000013B + + thumb_func_start sub_02065EE4 +sub_02065EE4: ; 0x02065EE4 + push {r3, lr} + cmp r2, #0x0 + bne _02065EF0 + ldr r0, _02065EF4 ; =0x000005DC + bl sub_020054C8 +_02065EF0: + pop {r3, pc} + nop +_02065EF4: .word 0x000005DC + + thumb_func_start sub_02065EF8 +sub_02065EF8: ; 0x02065EF8 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x16 + lsl r0, r0, #0x4 + add r1, sp, #0x0 + ldr r0, [r4, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02001300 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02012870 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019570 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl sub_0200CCF8 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019570 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl sub_0200CCF8 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + add r0, sp, #0x0 + mov r1, #0x4f + ldrh r2, [r0, #0x2] + lsl r1, r1, #0x2 + strh r2, [r4, r1] + ldrh r2, [r0, #0x0] + add r0, r1, #0x2 + add r1, #0x68 + strh r2, [r4, r0] + ldr r0, [r4, r1] + cmp r0, #0x0 + beq _02065F7C + bl sub_0205EBEC + mov r0, #0x69 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] +_02065F7C: + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02065F8C +sub_02065F8C: ; 0x02065F8C + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019570 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl sub_0200CCF8 + mov r0, #0x16 + lsl r0, r0, #0x4 + add r1, sp, #0x0 + ldr r0, [r4, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02001300 + mov r0, #0x59 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02012870 + mov r0, #0x5d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + add r0, r4, #0x0 + bl sub_020664D8 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02065FE4 +sub_02065FE4: ; 0x02065FE4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + add r4, r2, #0x0 + bl sub_0201B6C4 + mov r0, #0x0 + strh r0, [r5, #0x10] + str r4, [r5, #0xc] + pop {r3-r5, pc} + + thumb_func_start sub_02065FF8 +sub_02065FF8: ; 0x02065FF8 + push {r3, lr} + strb r1, [r0, #0x0] + mov r1, #0x0 + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0206600E + bl sub_02021A4C +_0206600E: + pop {r3, pc} + + thumb_func_start sub_02066010 +sub_02066010: ; 0x02066010 + push {r3-r7, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + mov r4, #0x0 + cmp r6, #0x0 + bls _02066040 +_0206601E: + mov r0, #0x8 + add r1, r7, #0x0 + bl sub_020219F4 + mov r1, #0xc + mul r1, r4 + add r1, r5, r1 + str r0, [r1, #0x8] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02065FF8 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, r6 + blo _0206601E +_02066040: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02066044 +sub_02066044: ; 0x02066044 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + ldr r4, _0206606C ; =0x00000000 + beq _0206606A + mov r7, #0xc +_02066050: + add r0, r4, #0x0 + mul r0, r7 + add r0, r5, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _02066060 + bl sub_02021A20 +_02066060: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, r6 + blo _02066050 +_0206606A: + pop {r3-r7, pc} + .balign 4 +_0206606C: .word 0x00000000 + + thumb_func_start sub_02066070 +sub_02066070: ; 0x02066070 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r1, #0x0 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r5, r2, #0x0 + bl sub_02025838 + mov r1, #0x6b + lsl r1, r1, #0x2 + str r0, [sp, #0x4] + str r0, [r6, r1] + add r0, r4, #0x0 + bl sub_0206F158 + mov r1, #0x1b + lsl r1, r1, #0x4 + str r0, [r6, r1] + add r0, r5, #0x0 + bl sub_020256BC + add r7, r0, #0x0 + add r0, r6, #0x0 + str r0, [sp, #0x10] + add r0, #0x1b + str r0, [sp, #0x10] + add r0, r6, #0x0 + str r0, [sp, #0x8] + add r0, #0x1c + mov r4, #0x0 + str r0, [sp, #0x8] +_020660AE: + ldr r0, [sp, #0x4] + mov r1, #0x0 + add r2, r4, #0x0 + add r3, r7, #0x0 + bl sub_020258D4 + mov r0, #0xc + mul r0, r4 + ldr r1, [sp, #0x8] + str r0, [sp, #0xc] + add r5, r1, r0 + ldrb r1, [r6, #0x19] + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [sp, #0x8] + add r1, r4, #0x0 + add r0, r0, r2 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02065FF8 + ldr r1, [sp, #0x8] + ldr r0, [sp, #0xc] + strb r4, [r1, r0] + add r0, r7, #0x0 + bl sub_020256AC + cmp r0, #0x0 + beq _02066134 + mov r0, #0x1 + strb r0, [r5, #0x1] + add r0, r7, #0x0 + bl sub_020257C8 + strb r0, [r5, #0x4] + add r0, r7, #0x0 + bl sub_020257CC + strb r0, [r5, #0x5] + ldrb r0, [r5, #0x5] + bl sub_0206EAD8 + strh r0, [r5, #0x6] + add r0, r7, #0x0 + bl sub_020257C4 + add r1, r0, #0x0 + ldr r0, [r5, #0x8] + bl sub_02021E28 + ldrb r0, [r6, #0x19] + strb r0, [r5, #0x2] + ldrb r1, [r5, #0x0] + ldr r0, [sp, #0x0] + strb r1, [r0, #0x3] + ldrb r0, [r5, #0x0] + strb r0, [r6, #0x19] + ldr r0, [sp, #0x10] + ldrb r0, [r0, #0x0] + add r1, r0, #0x1 + ldr r0, [sp, #0x10] + strb r1, [r0, #0x0] + ldrb r0, [r6, #0x1a] + cmp r0, #0xff + bne _02066134 + strb r4, [r6, #0x1a] +_02066134: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x14 + blo _020660AE + ldrb r1, [r6, #0x19] + ldrb r3, [r6, #0x1a] + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + add r1, r6, r2 + strb r3, [r1, #0x1f] + ldrb r1, [r6, #0x1a] + ldrb r2, [r6, #0x19] + mul r0, r1 + add r0, r6, r0 + strb r2, [r0, #0x1e] + add r0, r7, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_02066160 +sub_02066160: ; 0x02066160 + push {r3-r6} + add r2, r1, #0x0 + mov r3, #0xc + add r1, r0, #0x0 + mul r2, r3 + add r1, #0x1c + add r1, r1, r2 + ldrb r4, [r1, #0x2] + ldrb r6, [r1, #0x3] + add r5, r4, #0x0 + mul r5, r3 + add r4, r0, r5 + strb r6, [r4, #0x1f] + ldrb r4, [r1, #0x2] + ldrb r1, [r1, #0x3] + mul r3, r1 + add r1, r0, r3 + strb r4, [r1, #0x1e] + add r1, r0, r2 + mov r3, #0x0 + strb r3, [r1, #0x1d] + ldr r2, _0206619C ; =0x0000013B + mov r1, #0x30 + ldrb r3, [r0, r2] + bic r3, r1 + mov r1, #0x10 + orr r1, r3 + strb r1, [r0, r2] + pop {r3-r6} + bx lr + .balign 4 +_0206619C: .word 0x0000013B + + thumb_func_start sub_020661A0 +sub_020661A0: ; 0x020661A0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrb r1, [r5, #0x18] + add r2, r5, #0x0 + mov r0, #0xc + add r2, #0x1c + mul r0, r1 + add r4, r2, r0 + mov r0, #0x1b + lsl r0, r0, #0x4 + ldrh r1, [r4, #0x6] + ldr r0, [r5, r0] + ldr r3, [r5, #0x0] + mov r2, #0x1 + bl sub_0206ED24 + add r6, r0, #0x0 + beq _020661D4 + mov r0, #0x1b + lsl r0, r0, #0x4 + ldrh r1, [r4, #0x6] + ldr r0, [r5, r0] + ldr r3, [r5, #0x0] + mov r2, #0x1 + bl sub_0206ED38 +_020661D4: + mov r0, #0x6b + lsl r0, r0, #0x2 + ldrb r2, [r5, #0x18] + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02025878 + ldrb r1, [r5, #0x18] + add r0, r5, #0x0 + bl sub_02066160 + ldrb r1, [r5, #0x18] + add r0, r4, #0x0 + bl sub_02065FF8 + add r0, r6, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020661F8 +sub_020661F8: ; 0x020661F8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + ldrb r1, [r5, #0x18] + add r6, r2, #0x0 + add r2, r5, #0x0 + mov r0, #0xc + add r2, #0x1c + mul r0, r1 + add r4, r2, r0 + ldrb r0, [r4, #0x1] + cmp r0, #0x0 + beq _0206626E + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020377AC + bl sub_0206BB1C + add r1, r7, #0x0 + bl sub_0206B9B0 + add r2, r0, #0x0 + mov r0, #0x6b + lsl r0, r0, #0x2 + ldrb r1, [r5, #0x18] + ldr r0, [r5, r0] + ldr r3, [r5, #0x0] + bl sub_020856A0 + cmp r6, #0x0 + beq _0206625E + mov r0, #0x1b + lsl r0, r0, #0x4 + ldrh r1, [r4, #0x6] + ldr r0, [r5, r0] + ldr r3, [r5, #0x0] + mov r2, #0x1 + bl sub_0206ED24 + cmp r0, #0x0 + beq _0206625E + mov r0, #0x1b + lsl r0, r0, #0x4 + ldrh r1, [r4, #0x6] + ldr r0, [r5, r0] + ldr r3, [r5, #0x0] + mov r2, #0x1 + bl sub_0206ED38 +_0206625E: + ldrb r1, [r5, #0x18] + add r0, r5, #0x0 + bl sub_02066160 + ldrb r1, [r5, #0x18] + add r0, r4, #0x0 + bl sub_02065FF8 +_0206626E: + pop {r3-r7, pc} + + thumb_func_start sub_02066270 +sub_02066270: ; 0x02066270 + push {r3-r7, lr} + add r6, r0, #0x0 + mov r2, #0x5a + ldr r3, [r6, #0x0] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + mov r1, #0x43 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r2, [r6, #0x0] + mov r0, #0x1 + mov r1, #0x80 + bl sub_0200AA90 + mov r1, #0x11 + lsl r1, r1, #0x4 + str r0, [r6, r1] + ldr r1, [r6, #0x0] + mov r0, #0x80 + bl sub_020219F4 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r6, r1] + sub r1, #0x8 + ldr r0, [r6, r1] + mov r1, #0x4 + bl sub_0200A914 + mov r1, #0x46 + lsl r1, r1, #0x2 + str r0, [r6, r1] + sub r1, #0xc + ldr r0, [r6, r1] + mov r1, #0x0 + bl sub_0200A914 + mov r1, #0x47 + lsl r1, r1, #0x2 + str r0, [r6, r1] + mov r4, #0x0 + add r5, r6, #0x0 + add r7, r1, #0x4 +_020662CC: + mov r0, #0x43 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r1, r4, #0x6 + bl sub_0200A914 + str r0, [r5, r7] + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x6 + blt _020662CC + pop {r3-r7, pc} + + thumb_func_start sub_020662E4 +sub_020662E4: ; 0x020662E4 + push {r3-r7, lr} + add r6, r0, #0x0 + mov r7, #0x12 + mov r4, #0x0 + add r5, r6, #0x0 + lsl r7, r7, #0x4 +_020662F0: + ldr r0, [r5, r7] + bl sub_02021A20 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x6 + blt _020662F0 + mov r0, #0x47 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_02021A20 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_02021A20 + mov r0, #0x45 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_02021A20 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + bl sub_0200AB18 + mov r0, #0x43 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + bl sub_0200A8B8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02066334 +sub_02066334: ; 0x02066334 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020377A8 + mov r1, #0x17 + lsl r1, r1, #0x4 + str r0, [r4, r1] + ldrh r0, [r4, #0x14] + ldr r2, _020663C8 ; =0x000003E2 + mov r3, #0xa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + str r0, [sp, #0x4] + ldr r0, [r4, r1] + mov r1, #0x3 + bl sub_0200CD68 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _020663CC ; =0x000003D9 + str r0, [sp, #0x4] + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x3 + mov r3, #0xb + bl sub_0200CB00 + mov r1, #0x1a + ldr r2, [r4, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x4 + bl sub_02002ED0 + mov r1, #0x6 + ldr r2, [r4, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x6 + bl sub_02002EEC + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r0, _020663D0 ; =0x0000036D + mov r1, #0x17 + lsl r1, r1, #0x4 + str r0, [sp, #0x10] + ldr r0, [r4, r1] + add r1, #0x14 + add r1, r4, r1 + mov r2, #0x3 + mov r3, #0x2 + bl sub_02019064 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl sub_02019620 + add sp, #0x14 + pop {r3-r4, pc} + .balign 4 +_020663C8: .word 0x000003E2 +_020663CC: .word 0x000003D9 +_020663D0: .word 0x0000036D + + thumb_func_start sub_020663D4 +sub_020663D4: ; 0x020663D4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019570 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + mov r2, #0x10 + blx sub_020CE34C + mov r0, #0x17 + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r4, r0] + pop {r4, pc} + + thumb_func_start sub_02066404 +sub_02066404: ; 0x02066404 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + beq _02066426 + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r2, _020664CC ; =0x000003E2 + add r0, r5, r0 + mov r1, #0x1 + mov r3, #0xa + bl sub_0200D0BC +_02066426: + mov r1, #0xd8 + str r1, [sp, #0x0] + mov r0, #0x20 + mov r2, #0x0 + add r1, #0xac + str r0, [sp, #0x4] + add r0, r5, r1 + mov r1, #0xff + add r3, r2, #0x0 + bl sub_020196F4 + mov r0, #0x1 + bl sub_02002B60 + mov r0, #0x0 + bl sub_02002B7C + cmp r4, #0x0 + bne _02066494 + mov r0, #0x45 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02021A4C + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + mov r0, #0x11 + lsl r0, r0, #0x4 + ldrb r3, [r5, #0x18] + mov r2, #0xc + ldr r0, [r5, r0] + mul r2, r3 + add r2, r5, r2 + ldr r2, [r2, #0x24] + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200ABB4 + mov r2, #0x11 + lsl r2, r2, #0x4 + lsl r3, r4, #0x2 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r3, r5, r3 + add r2, #0x10 + ldr r1, [r5, r1] + ldr r2, [r3, r2] + bl sub_0200B7B8 + mov r0, #0x45 + lsl r0, r0, #0x2 + ldr r2, [r5, r0] + b _0206649E +_02066494: + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x12 + lsl r0, r0, #0x4 + ldr r2, [r1, r0] +_0206649E: + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, _020664D0 ; =0x0001020F + str r6, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + str r3, [sp, #0xc] + bl sub_0201BDE0 + mov r1, #0x4e + lsl r1, r1, #0x2 + strb r0, [r5, r1] + add r1, #0x4c + add r0, r5, r1 + bl sub_020191D0 + ldr r0, _020664D4 ; =0x00000139 + strb r7, [r5, r0] + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_020664CC: .word 0x000003E2 +_020664D0: .word 0x0001020F +_020664D4: .word 0x00000139 + + thumb_func_start sub_020664D8 +sub_020664D8: ; 0x020664D8 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019570 + pop {r4, pc} + + thumb_func_start sub_020664F4 +sub_020664F4: ; 0x020664F4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x4e + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + beq _0206650A + mov r0, #0x0 + pop {r4, pc} +_0206650A: + ldr r0, _0206651C ; =0x00000139 + ldrb r0, [r4, r0] + cmp r0, #0x0 + beq _02066518 + add r0, r4, #0x0 + bl sub_020664D8 +_02066518: + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0206651C: .word 0x00000139 + + thumb_func_start sub_02066520 +sub_02066520: ; 0x02066520 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r1, _02066544 ; =0x020F7E6C + str r0, [sp, #0x0] + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + ldr r2, _02066548 ; =0x000003D9 + mov r3, #0xb + bl sub_02002198 + mov r1, #0x5a + lsl r1, r1, #0x2 + str r0, [r4, r1] + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_02066544: .word 0x020F7E6C +_02066548: .word 0x000003D9 + + thumb_func_start sub_0206654C +sub_0206654C: ; 0x0206654C + push {r3, lr} + add r1, r0, #0x0 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + ldr r1, [r1, #0x0] + bl sub_020021AC + cmp r0, #0x0 + beq _0206656A + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _0206656E + b _02066572 +_0206656A: + mov r0, #0x1 + pop {r3, pc} +_0206656E: + mov r0, #0x0 + pop {r3, pc} +_02066572: + add r0, r1, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02066578 +sub_02066578: ; 0x02066578 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldrh r0, [r4, #0x12] + cmp r0, #0x0 + beq _0206658A + cmp r0, #0x1 + beq _020665A8 + b _020665BA +_0206658A: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + add r2, r1, #0x0 + str r0, [sp, #0x8] + mov r0, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + ldrh r0, [r4, #0x12] + add r0, r0, #0x1 + strh r0, [r4, #0x12] + b _020665BA +_020665A8: + bl sub_0200E308 + cmp r0, #0x0 + beq _020665BA + mov r0, #0x0 + strh r0, [r4, #0x12] + add sp, #0xc + mov r0, #0x1 + pop {r3-r4, pc} +_020665BA: + mov r0, #0x0 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_020665C0 +sub_020665C0: ; 0x020665C0 + push {r4, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x12] + cmp r0, #0x0 + beq _020665D4 + cmp r0, #0x1 + beq _020665E6 + cmp r0, #0x2 + beq _02066614 + b _0206662E +_020665D4: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0204649C + ldrh r0, [r4, #0x12] + add r0, r0, #0x1 + strh r0, [r4, #0x12] + b _0206662E +_020665E6: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020464A4 + cmp r0, #0x0 + beq _0206662E + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x5a + bl sub_0224C678 + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x5a + bl sub_0224C6E8 + ldrh r0, [r4, #0x12] + add r0, r0, #0x1 + strh r0, [r4, #0x12] + b _0206662E +_02066614: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x5a + ldr r0, [r0, #0x50] + bl sub_021DA58C + cmp r0, #0x0 + beq _0206662E + mov r0, #0x0 + strh r0, [r4, #0x12] + mov r0, #0x1 + pop {r4, pc} +_0206662E: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02066634 +sub_02066634: ; 0x02066634 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x5b + lsl r0, r0, #0x2 + add r4, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x5a + bl sub_021DAF98 + cmp r4, #0x0 + bne _02066652 + add r0, r5, #0x0 + bl sub_02065EF8 + b _02066658 +_02066652: + add r0, r5, #0x0 + bl sub_02065F8C +_02066658: + add r0, r5, #0x0 + bl sub_020663D4 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02066664 +sub_02066664: ; 0x02066664 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x12] + add r6, r1, #0x0 + cmp r0, #0x0 + beq _02066676 + cmp r0, #0x1 + beq _02066708 + b _0206671E +_02066676: + ldr r0, [r5, #0x0] + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020377AC + bl sub_0206BB1C + str r0, [r4, #0x0] + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020377AC + bl sub_0206F158 + str r0, [r4, #0x4] + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020377AC + bl sub_02023900 + str r0, [r4, #0xc] + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r0, [r0, #0xc] + bl sub_02025838 + str r0, [r4, #0x8] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x20 + strb r6, [r0, #0x0] + ldrb r1, [r5, #0x18] + mov r0, #0xc + mul r0, r1 + add r0, r5, r0 + ldrh r0, [r0, #0x22] + cmp r6, #0xb + strh r0, [r4, #0x24] + bne _020666EC + ldrb r1, [r5, #0x17] + add r0, r4, #0x0 + add r0, #0x22 + strb r1, [r0, #0x0] +_020666EC: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r1, _02066724 ; =0x020F96DC + add r2, r4, #0x0 + bl sub_020373D4 + mov r0, #0x6d + lsl r0, r0, #0x2 + str r4, [r5, r0] + ldrh r0, [r5, #0x12] + add r0, r0, #0x1 + strh r0, [r5, #0x12] + b _0206671E +_02066708: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_0204647C + cmp r0, #0x0 + bne _0206671E + mov r0, #0x0 + strh r0, [r5, #0x12] + mov r0, #0x1 + pop {r4-r6, pc} +_0206671E: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02066724: .word 0x020F96DC + + thumb_func_start sub_02066728 +sub_02066728: ; 0x02066728 + push {r3-r5, lr} + add r4, r0, #0x0 + ldrh r0, [r4, #0x12] + cmp r0, #0x0 + beq _02066738 + cmp r0, #0x1 + beq _0206677A + b _020667D0 +_02066738: + ldrb r2, [r4, #0x18] + mov r0, #0xc + mul r0, r2 + add r3, r4, r0 + ldrb r0, [r3, #0x1d] + cmp r0, #0x0 + beq _02066756 + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r3, [r4, #0x0] + mov r1, #0x0 + bl sub_02037F58 + b _0206676C +_02066756: + ldr r0, [r4, #0x0] + add r3, #0x21 + str r0, [sp, #0x0] + mov r0, #0x5b + lsl r0, r0, #0x2 + ldrb r2, [r4, #0x17] + ldrb r3, [r3, #0x0] + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02037F2C +_0206676C: + mov r1, #0x6a + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldrh r0, [r4, #0x12] + add r0, r0, #0x1 + strh r0, [r4, #0x12] + b _020667D0 +_0206677A: + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0204647C + cmp r0, #0x0 + bne _020667D0 + mov r0, #0x6a + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020855E4 + cmp r0, #0x0 + beq _020667BC + ldrb r0, [r4, #0x18] + mov r2, #0xc + mov r3, #0x1 + add r1, r0, #0x0 + mul r1, r2 + add r0, r4, r1 + strb r3, [r0, #0x1d] + ldrb r3, [r4, #0x18] + mov r0, #0x6a + lsl r0, r0, #0x2 + mul r2, r3 + add r2, r4, r2 + ldrb r2, [r2, #0x1c] + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020855E8 + mov r5, #0x2 + b _020667BE +_020667BC: + mov r5, #0x1 +_020667BE: + mov r0, #0x6a + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0208562C + mov r0, #0x0 + strh r0, [r4, #0x12] + add r0, r5, #0x0 + pop {r3-r5, pc} +_020667D0: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_020667D4 +sub_020667D4: ; 0x020667D4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + cmp r1, #0x0 + beq _020667F2 + cmp r1, #0x1 + beq _02066802 + b _02066814 +_020667F2: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020653EC + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02066814 +_02066802: + ldr r1, [r4, #0x0] + cmp r1, #0x0 + bne _0206680C + mov r0, #0x0 + pop {r3-r5, pc} +_0206680C: + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_02066814: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02066818 +sub_02066818: ; 0x02066818 + push {r4, lr} + bl sub_02046528 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + ldr r0, [r4, #0x10] + ldr r1, _0206683C ; =sub_020667D4 + bl sub_0204640C + pop {r4, pc} + nop +_0206683C: .word sub_020667D4 + 1 + + thumb_func_start sub_02066840 +sub_02066840: ; 0x02066840 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + str r1, [sp, #0x0] + add r7, r2, #0x0 + bl sub_020238F4 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02029AFC + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0202A8D8 + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x0 + mov r2, #0xe4 + blx sub_020CE34C + add r0, r4, #0x0 + bl sub_0202398C + add r1, r7, #0x0 + add r1, #0xa8 + mov r2, #0x10 + blx sub_020CE3E0 + add r0, r4, #0x0 + bl sub_020239BC + add r1, r7, #0x0 + add r1, #0xbc + str r0, [r1, #0x0] + ldr r0, _02066970 ; =0x020ECAC0 + ldrb r1, [r0, #0x0] + add r0, r7, #0x0 + add r0, #0xb8 + strb r1, [r0, #0x0] + ldr r0, _02066974 ; =0x020ECAC4 + ldrb r1, [r0, #0x0] + add r0, r7, #0x0 + add r0, #0xb9 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + bl sub_02029B38 + add r1, r7, #0x0 + add r1, #0xba + strb r0, [r1, #0x0] + add r0, r5, #0x0 + bl sub_02029B3C + add r1, r7, #0x0 + add r1, #0xbb + strb r0, [r1, #0x0] + add r0, r4, #0x0 + bl sub_020239CC + add r1, r7, #0x0 + add r1, #0xc8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1f + ldrb r1, [r1, #0x0] + mov r2, #0x2 + lsr r0, r0, #0x1e + bic r1, r2 + orr r1, r0 + add r0, r7, #0x0 + add r0, #0xc8 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_02023A28 + add r1, r0, #0x0 + add r0, r7, #0x0 + add r0, #0xc8 + ldrb r0, [r0, #0x0] + mov r2, #0x1 + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bl sub_020536D0 + add r1, r7, #0x0 + add r1, #0xc9 + strb r0, [r1, #0x0] + add r0, r7, #0x0 + mov r4, #0x0 + str r0, [sp, #0x8] + add r0, #0xca + add r5, r4, #0x0 + str r0, [sp, #0x8] +_020668FC: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0202A5F4 + ldr r1, [sp, #0x8] + mov r2, #0x8 + add r1, r1, r5 + blx sub_020CE3E0 + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x3 + blt _020668FC + add r0, r6, #0x0 + mov r1, #0x3 + bl sub_0202A5F4 + add r1, r7, #0x0 + add r1, #0xc0 + mov r2, #0x8 + blx sub_020CE3E0 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + bne _02066956 + ldr r0, [sp, #0x4] + mov r1, #0x7 + mov r2, #0x0 + bl sub_0202A578 + add r1, r7, #0x0 + add r1, #0xe2 + strh r0, [r1, #0x0] + add r0, r7, #0x0 + add r0, #0xe2 + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206696C + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + add r2, r7, #0x0 + bl sub_0202A498 + add sp, #0xc + pop {r4-r7, pc} +_02066956: + ldr r0, [sp, #0x4] + bl sub_0202A520 + add r1, r7, #0x0 + add r1, #0xe2 + strh r0, [r1, #0x0] + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + add r2, r7, #0x0 + bl sub_0202A498 +_0206696C: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02066970: .word 0x020ECAC0 +_02066974: .word 0x020ECAC4 + + thumb_func_start sub_02066978 +sub_02066978: ; 0x02066978 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0xec + blx sub_020CE240 + add r0, r4, #0x0 + ldrh r2, [r4, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + add r0, r4, #0x0 + ldr r2, [r4, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + pop {r4, pc} + + thumb_func_start sub_020669A0 +sub_020669A0: ; 0x020669A0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x88 + blx sub_020CE240 + add r0, r4, #0x0 + ldrh r2, [r4, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + pop {r4, pc} + + thumb_func_start sub_020669BC +sub_020669BC: ; 0x020669BC + mov r0, #0xec + bx lr + + thumb_func_start sub_020669C0 +sub_020669C0: ; 0x020669C0 + push {r4, lr} + mov r1, #0xec + bl sub_02016998 + add r4, r0, #0x0 + bl sub_02066978 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020669D4 +sub_020669D4: ; 0x020669D4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + mov r4, #0x0 + lsl r1, r0, #0x1f + lsr r1, r1, #0x1f + bne _02066A1A + lsl r0, r0, #0x1e + mov r4, #0x1 + lsr r0, r0, #0x1f + beq _020669EE + bl sub_02020C2C +_020669EE: + ldrh r1, [r5, #0x4] + mov r0, #0x1 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strh r0, [r5, #0x4] + ldrh r1, [r5, #0x4] + mov r0, #0x2 + orr r0, r1 + strh r0, [r5, #0x4] + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 +_02066A1A: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02066A20 +sub_02066A20: ; 0x02066A20 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrh r2, [r5, #0x4] + mov r4, #0x0 + lsl r0, r2, #0x1f + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _02066A68 + cmp r1, #0x1 + bne _02066A68 + mov r0, #0x1 + bic r2, r0 + strh r2, [r5, #0x4] + ldrh r1, [r5, #0x4] + mov r0, #0x2 + mov r4, #0x1 + bic r1, r0 + strh r1, [r5, #0x4] + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_02066A68: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02066A6C +sub_02066A6C: ; 0x02066A6C + push {r4, lr} + add r2, r0, #0x0 + ldrh r1, [r2, #0x4] + mov r4, #0x0 + lsl r0, r1, #0x1e + lsr r0, r0, #0x1f + bne _02066A8E + mov r0, #0x2 + orr r0, r1 + strh r0, [r2, #0x4] + add r0, r2, #0x0 + ldrh r2, [r2, #0x6] + add r0, #0x8 + mov r1, #0x80 + mov r4, #0x1 + bl sub_0206A3D0 +_02066A8E: + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02066A94 +sub_02066A94: ; 0x02066A94 + push {r3-r5, lr} + add r5, r0, #0x0 + ldrh r2, [r5, #0x4] + mov r4, #0x0 + lsl r0, r2, #0x1e + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _02066AC8 + cmp r1, #0x1 + bne _02066AC8 + mov r0, #0x2 + bic r2, r0 + add r0, r5, #0x0 + strh r2, [r5, #0x4] + add r0, #0x8 + mov r1, #0x80 + mov r4, #0x1 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_02066AC8: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02066ACC +sub_02066ACC: ; 0x02066ACC + push {r0-r3} + push {r3-r6, lr} + sub sp, #0x2c + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r3, #0x0 + bl sub_02066978 + ldr r0, [sp, #0x50] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x54] + add r3, r6, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x58] + str r0, [sp, #0x8] + ldr r0, [sp, #0x5c] + str r0, [sp, #0xc] + ldr r2, [sp, #0x48] + add r0, r5, #0x0 + bl sub_02066B64 + add r0, r5, #0x0 + add r0, #0x88 + mov r1, #0x64 + mov r2, #0x0 + bl sub_0206A3A4 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + add r0, r5, #0x0 + mov r1, #0xa0 + add r2, sp, #0x48 + bl sub_02067830 + mov r0, #0x0 + bl sub_020256BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa9 + add r2, r4, #0x0 + bl sub_02067830 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + str r0, [sp, #0x10] + add r0, r5, #0x0 + mov r1, #0xa1 + add r2, sp, #0x10 + bl sub_02067830 + mov r0, #0x0 + add r1, sp, #0x14 + mov r2, #0x18 + blx sub_020CE240 + add r0, r5, #0x0 + mov r1, #0xaa + add r2, sp, #0x14 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + add sp, #0x2c + pop {r3-r6} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_02066B64 +sub_02066B64: ; 0x02066B64 + push {r0-r3} + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_020669A0 + add r0, r5, #0x0 + bl sub_02066A6C + str r0, [sp, #0x0] + ldr r0, [sp, #0x30] + cmp r0, #0x0 + bne _02066B8E + bl sub_0201B9EC + add r4, r0, #0x0 + bl sub_0201B9EC + lsl r0, r0, #0x10 + orr r0, r4 + str r0, [sp, #0x34] +_02066B8E: + add r0, r5, #0x0 + mov r1, #0x0 + add r2, sp, #0x34 + bl sub_02067960 + ldr r0, [sp, #0x38] + cmp r0, #0x2 + bne _02066BD6 + ldr r7, _02066D84 ; =0xFFFF0000 + add r6, r7, #0x0 +_02066BA2: + bl sub_0201B9EC + add r4, r0, #0x0 + bl sub_0201B9EC + ldr r1, [sp, #0x34] + lsl r0, r0, #0x10 + add r3, r4, #0x0 + orr r3, r0 + lsl r0, r1, #0x10 + lsr r2, r0, #0x10 + add r0, r1, #0x0 + and r0, r7 + lsr r1, r0, #0x10 + add r0, r3, #0x0 + str r3, [sp, #0x3c] + and r0, r6 + lsl r3, r3, #0x10 + lsr r0, r0, #0x10 + lsr r3, r3, #0x10 + eor r0, r3 + eor r0, r1 + eor r0, r2 + cmp r0, #0x8 + blo _02066BA2 + b _02066BDE +_02066BD6: + cmp r0, #0x1 + beq _02066BDE + mov r0, #0x0 + str r0, [sp, #0x3c] +_02066BDE: + add r0, r5, #0x0 + mov r1, #0x7 + add r2, sp, #0x3c + bl sub_02067960 + ldr r2, _02066D88 ; =0x020ECAC4 + add r0, r5, #0x0 + mov r1, #0xc + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x5 + add r2, sp, #0x24 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0xb2 + mov r2, #0x0 + bl sub_02067960 + ldr r0, [sp, #0x24] + ldr r1, [sp, #0x28] + bl sub_02068758 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x8 + add r2, sp, #0x8 + bl sub_02067960 + ldr r0, [sp, #0x24] + mov r1, #0x14 + bl sub_02068678 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x8 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x9b + add r2, sp, #0x28 + bl sub_02067960 + ldr r2, _02066D8C ; =0x020ECAC0 + add r0, r5, #0x0 + mov r1, #0x79 + bl sub_02067960 + mov r0, #0x4 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x9a + add r2, sp, #0x8 + bl sub_02067960 + ldr r0, [sp, #0x2c] + cmp r0, #0x20 + bge _02066C94 + add r0, r5, #0x0 + mov r1, #0x46 + add r2, sp, #0x2c + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x47 + add r2, sp, #0x2c + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x48 + add r2, sp, #0x2c + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x49 + add r2, sp, #0x2c + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x4a + add r2, sp, #0x2c + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x4b + add r2, sp, #0x2c + bl sub_02067960 + b _02066D18 +_02066C94: + bl sub_0201B9EC + mov r1, #0x1f + str r0, [sp, #0x8] + and r0, r1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x46 + add r2, sp, #0x4 + bl sub_02067960 + mov r0, #0x3e + ldr r1, [sp, #0x8] + lsl r0, r0, #0x4 + and r0, r1 + lsr r0, r0, #0x5 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x47 + add r2, sp, #0x4 + bl sub_02067960 + mov r0, #0x1f + ldr r1, [sp, #0x8] + lsl r0, r0, #0xa + and r0, r1 + lsr r0, r0, #0xa + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x48 + add r2, sp, #0x4 + bl sub_02067960 + bl sub_0201B9EC + mov r1, #0x1f + str r0, [sp, #0x8] + and r0, r1 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x49 + add r2, sp, #0x4 + bl sub_02067960 + mov r0, #0x3e + ldr r1, [sp, #0x8] + lsl r0, r0, #0x4 + and r0, r1 + lsr r0, r0, #0x5 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x4a + add r2, sp, #0x4 + bl sub_02067960 + mov r0, #0x1f + ldr r1, [sp, #0x8] + lsl r0, r0, #0xa + and r0, r1 + lsr r0, r0, #0xa + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x4b + add r2, sp, #0x4 + bl sub_02067960 +_02066D18: + ldr r0, [sp, #0x24] + mov r1, #0x18 + bl sub_02068678 + str r0, [sp, #0x8] + ldr r0, [sp, #0x24] + mov r1, #0x19 + bl sub_02068678 + str r0, [sp, #0x4] + cmp r0, #0x0 + beq _02066D50 + ldr r1, [sp, #0x34] + mov r0, #0x1 + tst r0, r1 + beq _02066D44 + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x4 + bl sub_02067960 + b _02066D5A +_02066D44: + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x8 + bl sub_02067960 + b _02066D5A +_02066D50: + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x8 + bl sub_02067960 +_02066D5A: + add r0, r5, #0x0 + bl sub_020689E8 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x6f + add r2, sp, #0x8 + bl sub_02067960 + add r0, r5, #0x0 + bl sub_020695F4 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02066A94 + add sp, #0xc + pop {r4-r7} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 +_02066D84: .word 0xFFFF0000 +_02066D88: .word 0x020ECAC4 +_02066D8C: .word 0x020ECAC0 + + thumb_func_start sub_02066D90 +sub_02066D90: ; 0x02066D90 + push {r3-r7, lr} + sub sp, #0x18 + str r2, [sp, #0x10] + str r3, [sp, #0x14] + ldr r4, [sp, #0x30] + add r6, r0, #0x0 + add r7, r1, #0x0 +_02066D9E: + bl sub_0201B9EC + add r5, r0, #0x0 + bl sub_0201B9EC + lsl r0, r0, #0x10 + orr r5, r0 + add r0, r5, #0x0 + bl sub_02068884 + cmp r4, r0 + bne _02066D9E + mov r0, #0x1 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x14] + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02066ACC + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02066DD4 +sub_02066DD4: ; 0x02066DD4 + push {r4-r7, lr} + sub sp, #0x24 + str r1, [sp, #0x14] + str r2, [sp, #0x18] + str r3, [sp, #0x1c] + str r0, [sp, #0x10] + add r0, sp, #0x28 + ldrb r0, [r0, #0x18] + ldr r6, [sp, #0x38] + ldr r7, [sp, #0x3c] + cmp r0, #0x0 + beq _02066E4C + cmp r0, #0x1d + bhs _02066E4C + sub r0, r0, #0x1 + str r0, [sp, #0x20] +_02066DF4: + bl sub_0201B9EC + add r4, r0, #0x0 + bl sub_0201B9EC + lsl r0, r0, #0x10 + orr r4, r0 + mov r3, #0x3 + lsl r3, r3, #0x10 + and r3, r4 + mov r0, #0x3 + add r2, r4, #0x0 + and r2, r0 + lsl r0, r0, #0x8 + and r0, r4 + lsr r1, r0, #0x6 + mov r0, #0x3 + lsl r0, r0, #0x18 + and r0, r4 + lsr r0, r0, #0x12 + lsr r3, r3, #0xc + orr r0, r3 + orr r0, r1 + orr r0, r2 + mov r1, #0x1c + blx sub_020EBE8C + lsl r0, r1, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + bl sub_02068884 + cmp r7, r0 + bne _02066DF4 + ldr r0, [sp, #0x14] + add r1, r4, #0x0 + bl sub_02068A20 + cmp r6, r0 + bne _02066DF4 + ldr r0, [sp, #0x20] + cmp r5, r0 + bne _02066DF4 + b _02066E58 +_02066E4C: + ldr r0, [sp, #0x14] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_02066E74 + add r4, r0, #0x0 +_02066E58: + mov r0, #0x1 + str r0, [sp, #0x0] + str r4, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + bl sub_02066ACC + add sp, #0x24 + pop {r4-r7, pc} + + thumb_func_start sub_02066E74 +sub_02066E74: ; 0x02066E74 + push {r3-r5, lr} + add r5, r1, #0x0 + mov r1, #0x12 + add r4, r2, #0x0 + bl sub_02068678 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + beq _02066EA0 + cmp r0, #0xfe + beq _02066EA0 + cmp r0, #0xff + beq _02066EA0 + cmp r5, #0x0 + bne _02066EA0 + mov r1, #0x19 + blx sub_020EBC80 + add r1, r0, #0x1 + mov r0, #0x19 + mul r0, r1 + add r4, r0, r4 +_02066EA0: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02066EA4 +sub_02066EA4: ; 0x02066EA4 + push {r0-r3} + push {r4, lr} + sub sp, #0x10 + mov r3, #0x1 + str r3, [sp, #0x0] + ldr r3, [sp, #0x28] + add r4, r0, #0x0 + str r3, [sp, #0x4] + mov r3, #0x0 + str r3, [sp, #0x8] + str r3, [sp, #0xc] + bl sub_02066ACC + add r0, r4, #0x0 + mov r1, #0xae + add r2, sp, #0x24 + bl sub_02067830 + add r0, r4, #0x0 + bl sub_02066ED8 + add sp, #0x10 + pop {r4} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_02066ED8 +sub_02066ED8: ; 0x02066ED8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020669D4 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_020687C0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0xa0 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066F04 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02066A20 + pop {r3-r5, pc} + + thumb_func_start sub_02066F04 +sub_02066F04: ; 0x02066F04 + push {r3-r7, lr} + sub sp, #0x58 + add r5, r0, #0x0 + bl sub_020669D4 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x2c] + add r0, r5, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x54] + add r0, r5, #0x0 + mov r1, #0x46 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x30] + add r0, r5, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x34] + add r0, r5, #0x0 + mov r1, #0x47 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x28] + add r0, r5, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x14] + add r0, r5, #0x0 + mov r1, #0x48 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x24] + add r0, r5, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x10] + add r0, r5, #0x0 + mov r1, #0x49 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x20] + add r0, r5, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + add r0, r5, #0x0 + mov r1, #0x4a + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x1c] + add r0, r5, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x4b + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x18] + add r0, r5, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x38] + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + mov r0, #0x0 + mov r1, #0x2c + bl sub_02016998 + add r6, r0, #0x0 + ldr r1, [sp, #0x38] + add r0, r7, #0x0 + add r2, r6, #0x0 + bl sub_0206A380 + mov r0, #0x49 + lsl r0, r0, #0x2 + cmp r7, r0 + bne _02066FFC + mov r0, #0x1 + b _0206701E +_02066FFC: + ldr r0, [sp, #0x34] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x34] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x0] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x30] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r4, r0 + add r0, #0xa +_0206701E: + str r0, [sp, #0x50] + add r0, r5, #0x0 + mov r1, #0xa3 + add r2, sp, #0x50 + bl sub_02067830 + ldr r0, [sp, #0x14] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x14] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x1] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x28] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r0, #0x5 + str r0, [sp, #0x4c] + add r0, r5, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x4c] + mov r2, #0x1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02068894 + str r0, [sp, #0x4c] + add r0, r5, #0x0 + mov r1, #0xa4 + add r2, sp, #0x4c + bl sub_02067830 + ldr r0, [sp, #0x10] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x10] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x2] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x24] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r0, #0x5 + str r0, [sp, #0x48] + add r0, r5, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x48] + mov r2, #0x2 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02068894 + str r0, [sp, #0x48] + add r0, r5, #0x0 + mov r1, #0xa5 + add r2, sp, #0x48 + bl sub_02067830 + ldr r0, [sp, #0xc] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0xc] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x3] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x20] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r0, #0x5 + str r0, [sp, #0x44] + add r0, r5, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x44] + mov r2, #0x3 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02068894 + str r0, [sp, #0x44] + add r0, r5, #0x0 + mov r1, #0xa6 + add r2, sp, #0x44 + bl sub_02067830 + ldr r0, [sp, #0x8] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x8] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x4] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x1c] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r0, #0x5 + str r0, [sp, #0x40] + add r0, r5, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x40] + mov r2, #0x4 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02068894 + str r0, [sp, #0x40] + add r0, r5, #0x0 + mov r1, #0xa7 + add r2, sp, #0x40 + bl sub_02067830 + ldr r0, [sp, #0x4] + asr r0, r0, #0x1 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x4] + add r1, r0, r1 + asr r0, r1, #0x2 + ldrb r1, [r6, #0x5] + lsl r2, r1, #0x1 + ldr r1, [sp, #0x18] + add r1, r1, r2 + add r0, r0, r1 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r0, #0x5 + str r0, [sp, #0x3c] + add r0, r5, #0x0 + bl sub_02068854 + ldr r1, [sp, #0x3c] + mov r2, #0x5 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02068894 + str r0, [sp, #0x3c] + add r0, r5, #0x0 + mov r1, #0xa8 + add r2, sp, #0x3c + bl sub_02067830 + add r0, r6, #0x0 + bl sub_02016A18 + ldr r1, [sp, #0x54] + cmp r1, #0x0 + bne _0206717C + ldr r0, [sp, #0x2c] + cmp r0, #0x0 + bne _020671A0 +_0206717C: + mov r0, #0x49 + lsl r0, r0, #0x2 + cmp r7, r0 + bne _0206718A + mov r0, #0x1 + str r0, [sp, #0x54] + b _020671A0 +_0206718A: + cmp r1, #0x0 + bne _02067194 + ldr r0, [sp, #0x50] + str r0, [sp, #0x54] + b _020671A0 +_02067194: + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x54] + sub r0, r1, r0 + add r0, r2, r0 + str r0, [sp, #0x54] +_020671A0: + ldr r0, [sp, #0x54] + cmp r0, #0x0 + beq _020671B0 + add r0, r5, #0x0 + mov r1, #0xa2 + add r2, sp, #0x54 + bl sub_02067830 +_020671B0: + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02066A20 + add sp, #0x58 + pop {r3-r7, pc} + + thumb_func_start sub_020671BC +sub_020671BC: ; 0x020671BC + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _02067204 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + ldrh r1, [r5, #0x6] + cmp r0, r1 + beq _02067204 + cmp r0, r1 + beq _020671FC + bl sub_02020C2C +_020671FC: + ldrh r1, [r5, #0x4] + mov r0, #0x4 + orr r0, r1 + strh r0, [r5, #0x4] +_02067204: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02067234 + add r4, r0, #0x0 + ldrh r0, [r5, #0x4] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _02067230 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_02067230: + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02067234 +sub_02067234: ; 0x02067234 + push {r3, lr} + add r3, r1, #0x0 + sub r3, #0x9f + cmp r3, #0xb + bhi _020672B6 + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r2, #0 + lsl r4, r3, #0 + lsl r2, r4, #0 + lsl r0, r5, #0 + lsl r6, r5, #0 + lsl r4, r6, #0 + lsl r2, r7, #0 + lsl r0, r0, #0x1 + lsl r6, r0, #0x1 + lsl r4, r1, #0x1 + lsl r2, r2, #0x1 + lsl r6, r3, #0x1 + add r0, #0x88 + ldr r0, [r0, #0x0] + pop {r3, pc} +_02067268: + .byte 0x8C, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x8D, 0x30 + .byte 0x00, 0x78, 0x08, 0xBD, 0x8E, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x90, 0x30, 0x00, 0x88, 0x08, 0xBD + .byte 0x92, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x94, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x96, 0x30, 0x00, 0x88 + .byte 0x08, 0xBD, 0x98, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9A, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9C, 0x30 + .byte 0x11, 0x1C, 0xBE, 0xF7, 0x15, 0xFA, 0x01, 0x20, 0x08, 0xBD, 0xD4, 0x30, 0x11, 0x1C, 0xC2, 0xF7 + .byte 0xE1, 0xFC, 0x01, 0x20, 0x08, 0xBD +_020672B6: + bl sub_0206731C + pop {r3, pc} + + thumb_func_start sub_020672BC +sub_020672BC: ; 0x020672BC + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bne _020672F8 + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + ldrh r1, [r5, #0x6] + cmp r0, r1 + beq _020672F8 + cmp r0, r1 + beq _020672F0 + bl sub_02020C2C +_020672F0: + ldrh r1, [r5, #0x4] + mov r0, #0x4 + orr r0, r1 + strh r0, [r5, #0x4] +_020672F8: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0206731C + add r4, r0, #0x0 + ldrh r0, [r5, #0x4] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bne _02067318 + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_02067318: + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0206731C +sub_0206731C: ; 0x0206731C + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x4] + add r1, r0, #0x0 + mov r4, #0x0 + str r2, [sp, #0x8] + ldr r1, [r1, #0x0] + str r0, [sp, #0x0] + add r2, r4, #0x0 + bl sub_0206A418 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x1 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x2 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x3 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r1, r0, #0x0 + ldr r0, [sp, #0x4] + cmp r0, #0xb2 + bls _02067366 + b _020674D8 +_02067366: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r5, #0x5 + lsl r6, r5, #0x5 + lsl r0, r7, #0x5 + lsl r2, r0, #0x6 + lsl r4, r1, #0x6 + lsl r0, r3, #0x7 + lsl r2, r5, #0x7 + lsl r6, r5, #0x7 + lsl r2, r6, #0x7 + lsl r6, r6, #0x7 + lsl r2, r7, #0x7 + lsl r6, r7, #0x7 + lsl r2, r0, #0x8 + lsl r6, r0, #0x8 + lsl r2, r1, #0x8 + lsl r6, r1, #0x8 + lsl r2, r2, #0x8 + lsl r6, r2, #0x8 + lsl r2, r3, #0x8 + lsl r6, r3, #0x8 + lsl r2, r4, #0x8 + lsl r6, r4, #0x8 + lsl r2, r5, #0x8 + lsl r6, r5, #0x8 + lsl r2, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r6, r6, #0x8 + lsl r4, r3, #0x9 + lsl r4, r3, #0x9 + lsl r4, r3, #0x9 + lsl r4, r3, #0x9 + lsl r0, r5, #0x9 + lsl r0, r5, #0x9 + lsl r0, r5, #0x9 + lsl r0, r5, #0x9 + lsl r4, r6, #0x9 + lsl r4, r6, #0x9 + lsl r4, r6, #0x9 + lsl r4, r6, #0x9 + lsl r0, r0, #0xa + lsl r0, r0, #0xa + lsl r0, r0, #0xa + lsl r0, r0, #0xa + lsl r0, r3, #0xa + lsl r0, r4, #0xa + lsl r0, r5, #0xa + lsl r0, r6, #0xa + lsl r0, r7, #0xa + lsl r0, r0, #0xb + lsl r0, r1, #0xb + lsl r2, r3, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r4, #0xb + lsl r0, r1, #0xc + lsl r0, r2, #0xc + lsl r0, r3, #0xc + lsl r0, r4, #0xc + lsl r4, r4, #0xc + lsl r4, r4, #0x5 + lsl r0, r5, #0xc + lsl r4, r4, #0x5 + lsl r4, r3, #0xd + lsl r0, r3, #0xd + lsl r2, r1, #0xe + lsl r6, r1, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r2, r2, #0xe + lsl r0, r7, #0xe + lsl r2, r2, #0xf + lsl r2, r3, #0xf + lsl r6, r3, #0xf + lsl r2, r4, #0xf + lsl r6, r4, #0xf + lsl r2, r5, #0xf + lsl r6, r5, #0xf + lsl r2, r6, #0xf + lsl r6, r6, #0xf + lsl r2, r7, #0xf + lsl r6, r7, #0xf + lsl r2, r0, #0x10 + lsl r2, r1, #0x10 + lsl r2, r2, #0x10 + lsl r6, r2, #0x10 + lsl r4, r4, #0x5 + lsl r4, r1, #0x7 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r4, r4, #0x5 + lsl r2, r2, #0x6 + lsl r4, r3, #0x6 + lsl r6, r5, #0x6 + lsl r2, r3, #0x10 + lsl r4, r1, #0x11 + lsl r4, r4, #0x11 + lsl r4, r4, #0x11 + lsl r4, r3, #0x12 +_020674D8: + mov r4, #0x0 + b _0206781A +_020674DC: + .byte 0x00, 0x98, 0x04, 0x68 + .byte 0x9B, 0xE1, 0x00, 0x98, 0x80, 0x88, 0xC0, 0x07, 0xC4, 0x0F, 0x96, 0xE1, 0x00, 0x98, 0x80, 0x88 + .byte 0x80, 0x07, 0xC4, 0x0F, 0x91, 0xE1, 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x8C, 0xE1 + .byte 0x00, 0x98, 0xC4, 0x88, 0x89, 0xE1, 0x28, 0x88, 0x00, 0x28, 0x16, 0xD0, 0x01, 0x24, 0x84, 0xE1 + .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x0F, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F + .byte 0x7B, 0xE1, 0x2C, 0x88, 0x00, 0x2C, 0x08, 0xD0, 0x30, 0x69, 0x40, 0x00, 0xC0, 0x0F, 0x05, 0xD1 + .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x00, 0xD1, 0x6E, 0xE1, 0xB8, 0x4C, 0x6C, 0xE1 + .byte 0x28, 0x88, 0xA9, 0x68, 0x01, 0xF0, 0x5C, 0xF9, 0x04, 0x1C, 0x66, 0xE1, 0x00, 0x98, 0x80, 0x88 + .byte 0x40, 0x07, 0xC0, 0x0F, 0x01, 0xD0, 0xB2, 0x4C, 0x5F, 0xE1, 0x2C, 0x88, 0x5D, 0xE1, 0x6C, 0x88 + .byte 0x5B, 0xE1, 0x6C, 0x68, 0x59, 0xE1, 0xAC, 0x68, 0x57, 0xE1, 0x2C, 0x7B, 0x55, 0xE1, 0x6C, 0x7B + .byte 0x53, 0xE1, 0xAC, 0x7B, 0x51, 0xE1, 0xEC, 0x7B, 0x4F, 0xE1, 0x2C, 0x7C, 0x4D, 0xE1, 0x6C, 0x7C + .byte 0x4B, 0xE1, 0xAC, 0x7C, 0x49, 0xE1, 0xEC, 0x7C, 0x47, 0xE1, 0x2C, 0x7D, 0x45, 0xE1, 0x6C, 0x7D + .byte 0x43, 0xE1, 0xAC, 0x7D, 0x41, 0xE1, 0xEC, 0x7D, 0x3F, 0xE1, 0x2C, 0x7E, 0x3D, 0xE1, 0x6C, 0x7E + .byte 0x3B, 0xE1, 0xAC, 0x7E, 0x39, 0xE1, 0xEC, 0x7E, 0x37, 0xE1, 0x01, 0x9A, 0x01, 0x20, 0x19, 0x3A + .byte 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0, 0x4C, 0xEB, 0xEA, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40 + .byte 0x00, 0x21, 0x00, 0x20, 0x59, 0x40, 0x50, 0x40, 0x08, 0x43, 0x54, 0xD0, 0x01, 0x24, 0x24, 0xE1 + .byte 0x01, 0x98, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00, 0x34, 0x5A, 0x1E, 0xE1, 0x01, 0x98, 0x3A, 0x38 + .byte 0x01, 0x90, 0x30, 0x18, 0x04, 0x7A, 0x18, 0xE1, 0x01, 0x98, 0x3E, 0x38, 0x01, 0x90, 0x30, 0x18 + .byte 0x04, 0x7B, 0x12, 0xE1, 0x01, 0x98, 0x42, 0x38, 0x01, 0x90, 0x01, 0x99, 0x40, 0x00, 0x71, 0x18 + .byte 0x30, 0x5A, 0x09, 0x7B, 0x03, 0xF0, 0x94, 0xFA, 0x04, 0x1C, 0x06, 0xE1, 0x30, 0x69, 0xC0, 0x06 + .byte 0xC4, 0x0E, 0x02, 0xE1, 0x30, 0x69, 0x80, 0x05, 0xC4, 0x0E, 0xFE, 0xE0, 0x30, 0x69, 0x40, 0x04 + .byte 0xC4, 0x0E, 0xFA, 0xE0, 0x30, 0x69, 0x00, 0x03, 0xC4, 0x0E, 0xF6, 0xE0, 0x30, 0x69, 0xC0, 0x01 + .byte 0xC4, 0x0E, 0xF2, 0xE0, 0x30, 0x69, 0x80, 0x00, 0xC4, 0x0E, 0xEE, 0xE0, 0x00, 0x98, 0x80, 0x88 + .byte 0x40, 0x07, 0xC4, 0x0F, 0x17, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F, 0xE5, 0xE0, 0x30, 0x69 + .byte 0xC4, 0x0F, 0xE2, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x4E, 0x3A, 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0 + .byte 0xF8, 0xEA, 0x72, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40, 0x00, 0x21, 0x00, 0x20, 0x59, 0x40 + .byte 0x50, 0x40, 0x08, 0x43, 0x00, 0xD1, 0xD0, 0xE0, 0x01, 0x24, 0xCE, 0xE0, 0x30, 0x7E, 0xC0, 0x07 + .byte 0xC4, 0x0F, 0xCA, 0xE0, 0x30, 0x7E, 0x40, 0x07, 0x84, 0x0F, 0xC6, 0xE0, 0x30, 0x7E, 0x00, 0x06 + .byte 0xC4, 0x0E, 0xC2, 0xE0, 0x74, 0x7E, 0xC0, 0xE0, 0x74, 0x8B, 0xBE, 0xE0, 0x00, 0x98, 0x80, 0x88 + .byte 0x40, 0x07, 0xC0, 0x0F, 0x05, 0xD0, 0x5F, 0x48, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0x76, 0xF9 + .byte 0xB3, 0xE0, 0x02, 0x99, 0x38, 0x88, 0x64, 0x1C, 0xBF, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x0A, 0x2C + .byte 0xF8, 0xD3, 0x59, 0x4A, 0x02, 0x98, 0x61, 0x00, 0x42, 0x52, 0xA6, 0xE0, 0x30, 0x69, 0xC4, 0x0F + .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x0C, 0xD0, 0x52, 0x48, 0x00, 0x21, 0xA3, 0xF7 + .byte 0xB7, 0xF9, 0x05, 0x1C, 0x02, 0x98, 0x29, 0x1C, 0xBA, 0xF7, 0xC4, 0xF9, 0x28, 0x1C, 0xBA, 0xF7 + .byte 0x97, 0xF9, 0x92, 0xE0, 0x02, 0x98, 0x39, 0x1C, 0xBA, 0xF7, 0x96, 0xFB, 0x8D, 0xE0, 0xBC, 0x7D + .byte 0x8B, 0xE0, 0xFC, 0x7D, 0x89, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x7A, 0x3A, 0x21, 0x1C, 0x01, 0x92 + .byte 0x84, 0xF0, 0x9E, 0xEA, 0xBB, 0x69, 0xFA, 0x69, 0x03, 0x40, 0x0A, 0x40, 0x00, 0x21, 0x00, 0x20 + .byte 0x51, 0x40, 0x58, 0x40, 0x08, 0x43, 0x78, 0xD0, 0x01, 0x24, 0x76, 0xE0, 0x02, 0x9A, 0x08, 0x88 + .byte 0x64, 0x1C, 0x89, 0x1C, 0x10, 0x80, 0x92, 0x1C, 0x07, 0x2C, 0xF8, 0xD3, 0x3A, 0x4A, 0x02, 0x98 + .byte 0x61, 0x00, 0x42, 0x52, 0x69, 0xE0, 0x02, 0x98, 0xBA, 0xF7, 0x6E, 0xFB, 0x65, 0xE0, 0x0C, 0x7C + .byte 0x63, 0xE0, 0x4C, 0x7C, 0x61, 0xE0, 0x8C, 0x7C, 0x5F, 0xE0, 0xCC, 0x7C, 0x5D, 0xE0, 0x0C, 0x7D + .byte 0x5B, 0xE0, 0x4C, 0x7D, 0x59, 0xE0, 0xCC, 0x8A, 0x57, 0xE0, 0x0C, 0x8B, 0x55, 0xE0, 0x8C, 0x7E + .byte 0x53, 0xE0, 0xCC, 0x7E, 0x51, 0xE0, 0x08, 0x7F, 0x40, 0x06, 0x44, 0x0E, 0x4D, 0xE0, 0x08, 0x7F + .byte 0x00, 0x06, 0xC4, 0x0F, 0x49, 0xE0, 0x4C, 0x7F, 0x47, 0xE0, 0xCC, 0x8B, 0x45, 0xE0, 0x34, 0x69 + .byte 0xA0, 0x00, 0xC0, 0x0E, 0x45, 0x06, 0xE0, 0x01, 0xC0, 0x0E, 0x03, 0x05, 0x20, 0x03, 0xC0, 0x0E + .byte 0xC2, 0x03, 0x60, 0x04, 0xC0, 0x0E, 0x81, 0x02, 0xE0, 0x06, 0xA4, 0x05, 0xE4, 0x0E, 0xC0, 0x0E + .byte 0x64, 0x01, 0x20, 0x43, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x2C, 0x1C, 0x04, 0x43, 0x2C, 0xE0 + .byte 0x28, 0x88, 0x1D, 0x28, 0x01, 0xD0, 0x20, 0x28, 0x04, 0xD1, 0x30, 0x69, 0xC0, 0x0F, 0x01, 0xD1 + .byte 0x00, 0x24, 0x22, 0xE0, 0x01, 0x24, 0x20, 0xE0, 0x28, 0x88, 0x14, 0x49, 0x88, 0x42, 0x0D, 0xD1 + .byte 0x69, 0x7B, 0x79, 0x29, 0x0A, 0xD1, 0x68, 0x88, 0x01, 0x21, 0x22, 0x1C, 0x06, 0xF0, 0xE4, 0xFF + .byte 0x00, 0x04, 0x00, 0x0C, 0x02, 0xF0, 0x96, 0xFB, 0x04, 0x1C, 0x0E, 0xE0, 0x31, 0x7E, 0x01, 0x9A + .byte 0x09, 0x06, 0xAA, 0x3A, 0xC9, 0x0E, 0x01, 0x92, 0x00, 0xF0, 0x24, 0xFF, 0x04, 0x1C, 0x04, 0xE0 + .byte 0x28, 0x88, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0xC1, 0xF8 +_0206781A: + add r0, r4, #0x0 + add sp, #0xc + pop {r4-r7, pc} +_02067820: + .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 + + thumb_func_start sub_02067830 +sub_02067830: ; 0x02067830 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _02067886 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + ldrh r1, [r5, #0x6] + cmp r0, r1 + beq _02067886 + cmp r0, r1 + beq _02067870 + bl sub_02020C2C +_02067870: + ldrh r1, [r5, #0x4] + mov r0, #0x4 + orr r0, r1 + strh r0, [r5, #0x4] + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + pop {r4-r6, pc} +_02067886: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020678C0 + ldrh r0, [r5, #0x4] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _020678BC + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_020678BC: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020678C0 +sub_020678C0: ; 0x020678C0 + push {r3, lr} + add r3, r0, #0x0 + add r0, r1, #0x0 + sub r0, #0x9f + cmp r0, #0xb + bhi _02067958 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + lsl r6, r5, #0 + lsl r6, r6, #0 + lsl r6, r7, #0 + lsl r6, r0, #0x1 + lsl r6, r1, #0x1 + lsl r6, r2, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r2, r6, #0x1 + ldr r0, [r2, #0x0] + add r3, #0x88 + str r0, [r3, #0x0] + pop {r3, pc} +_020678F8: + .byte 0x10, 0x78, 0x8C, 0x33, 0x18, 0x70, 0x08, 0xBD + .byte 0x10, 0x78, 0x8D, 0x33, 0x18, 0x70, 0x08, 0xBD, 0x10, 0x88, 0x8E, 0x33, 0x18, 0x80, 0x08, 0xBD + .byte 0x10, 0x88, 0x90, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x92, 0x33, 0x18, 0x80, 0x08, 0xBD + .byte 0x10, 0x88, 0x94, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x96, 0x33, 0x18, 0x80, 0x08, 0xBD + .byte 0x10, 0x88, 0x98, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x9A, 0x33, 0x18, 0x80, 0x08, 0xBD + .byte 0x9C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0xBD, 0xF7, 0xC3, 0xFE, 0x08, 0xBD, 0xD4, 0x33, 0x10, 0x1C + .byte 0x19, 0x1C, 0xC2, 0xF7, 0x8F, 0xF9, 0x08, 0xBD +_02067958: + add r0, r3, #0x0 + bl sub_020679D8 + pop {r3, pc} + + thumb_func_start sub_02067960 +sub_02067960: ; 0x02067960 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bne _020679AA + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + ldrh r1, [r5, #0x6] + cmp r0, r1 + beq _020679AA + cmp r0, r1 + beq _02067994 + bl sub_02020C2C +_02067994: + ldrh r1, [r5, #0x4] + mov r0, #0x4 + orr r0, r1 + strh r0, [r5, #0x4] + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + pop {r4-r6, pc} +_020679AA: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020679D8 + ldrh r0, [r5, #0x4] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bne _020679D4 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_020679D4: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020679D8 +sub_020679D8: ; 0x020679D8 + push {r4-r7, lr} + sub sp, #0x4c + str r1, [sp, #0x4] + add r1, r0, #0x0 + add r4, r2, #0x0 + ldr r1, [r1, #0x0] + str r0, [sp, #0x0] + mov r2, #0x0 + bl sub_0206A418 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x1 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x2 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x3 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r1, r0, #0x0 + ldr r0, [sp, #0x4] + cmp r0, #0xb2 + bls _02067A20 + b _02067FF6 +_02067A20: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r4, #0x5 + lsl r6, r5, #0x5 + lsl r4, r1, #0x6 + lsl r0, r5, #0x6 + lsl r0, r0, #0x7 + lsl r2, r1, #0x7 + lsl r2, r2, #0x7 + lsl r2, r3, #0x7 + lsl r2, r4, #0x7 + lsl r2, r5, #0x7 + lsl r2, r6, #0x7 + lsl r2, r7, #0x7 + lsl r2, r0, #0x8 + lsl r2, r1, #0x8 + lsl r2, r2, #0x8 + lsl r2, r3, #0x8 + lsl r2, r4, #0x8 + lsl r2, r5, #0x8 + lsl r2, r6, #0x8 + lsl r2, r7, #0x8 + lsl r2, r0, #0x9 + lsl r2, r1, #0x9 + lsl r2, r2, #0x9 + lsl r2, r3, #0x9 + lsl r2, r4, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r2, r5, #0x9 + lsl r0, r3, #0xa + lsl r0, r3, #0xa + lsl r0, r3, #0xa + lsl r0, r3, #0xa + lsl r0, r5, #0xa + lsl r0, r5, #0xa + lsl r0, r5, #0xa + lsl r0, r5, #0xa + lsl r0, r7, #0xa + lsl r0, r7, #0xa + lsl r0, r7, #0xa + lsl r0, r7, #0xa + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0xb + lsl r4, r3, #0xb + lsl r0, r6, #0xb + lsl r4, r0, #0xc + lsl r0, r3, #0xc + lsl r4, r5, #0xc + lsl r0, r0, #0xd + lsl r4, r2, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r6, r4, #0xd + lsl r4, r2, #0xe + lsl r0, r5, #0xe + lsl r4, r7, #0xe + lsl r0, r2, #0xf + lsl r0, r3, #0xf + lsl r0, r1, #0x17 + lsl r6, r7, #0xf + lsl r0, r4, #0xf + lsl r6, r7, #0x10 + lsl r2, r2, #0x10 + lsl r4, r1, #0x11 + lsl r4, r2, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r4, r3, #0x11 + lsl r0, r4, #0x12 + lsl r4, r6, #0x12 + lsl r0, r0, #0x13 + lsl r0, r1, #0x13 + lsl r0, r2, #0x13 + lsl r0, r3, #0x13 + lsl r0, r4, #0x13 + lsl r0, r5, #0x13 + lsl r0, r6, #0x13 + lsl r0, r7, #0x13 + lsl r0, r0, #0x14 + lsl r0, r1, #0x14 + lsl r0, r2, #0x14 + lsl r4, r4, #0x14 + lsl r0, r7, #0x14 + lsl r0, r0, #0x15 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x15 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r1, #0x17 + lsl r0, r6, #0x16 + ldr r0, [sp, #0x0] + ldr r1, [r4, #0x0] + add sp, #0x4c + str r1, [r0, #0x0] + pop {r4-r7, pc} +_02067B9C: + .byte 0xB9, 0xF7, 0x46, 0xF8 + .byte 0x00, 0x98, 0x21, 0x78, 0x82, 0x88, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x11, 0x1C + .byte 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0xB9, 0xF7, 0x37, 0xF8, 0x00, 0x98 + .byte 0x81, 0x88, 0x02, 0x20, 0x81, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x80, 0x0F, 0x01, 0x43, 0x00, 0x98 + .byte 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x00, 0x98, 0x81, 0x88, 0x04, 0x20, 0x81, 0x43, 0x20, 0x78 + .byte 0xC0, 0x07, 0x40, 0x0F, 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x21, 0x88 + .byte 0x00, 0x98, 0x13, 0xB0, 0xC1, 0x80, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x38, 0x80, 0xF0, 0xBD + .byte 0x20, 0x88, 0x13, 0xB0, 0x78, 0x80, 0xF0, 0xBD, 0x20, 0x68, 0x13, 0xB0, 0x78, 0x60, 0xF0, 0xBD + .byte 0x20, 0x68, 0x13, 0xB0, 0xB8, 0x60, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x73, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x73, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x74, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x74, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x75, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x75, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x76, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x76, 0xF0, 0xBD + .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x76, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x19, 0x3A + .byte 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xD4, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0xF9, 0x69, 0x13, 0xB0 + .byte 0x08, 0x43, 0xF8, 0x61, 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0xFA, 0x69, 0x48, 0x40, 0x10, 0x40 + .byte 0x13, 0xB0, 0xF8, 0x61, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x88, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00 + .byte 0x13, 0xB0, 0x29, 0x52, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3A, 0x38, 0x01, 0x90, 0x28, 0x18 + .byte 0x01, 0x72, 0x13, 0xB0, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3E, 0x38, 0x01, 0x90, 0x28, 0x18 + .byte 0x01, 0x73, 0x13, 0xB0, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x78, 0x1F, 0x20 + .byte 0x13, 0xB0, 0x08, 0x40, 0x10, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xBB, 0x48, 0x13, 0xB0 + .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 + .byte 0xB7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x28, 0x61 + .byte 0xF0, 0xBD, 0x29, 0x69, 0xB3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0B + .byte 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAF, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78 + .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAB, 0x48, 0x13, 0xB0 + .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 + .byte 0xA7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x40, 0x08, 0x08, 0x43, 0x28, 0x61 + .byte 0xF0, 0xBD, 0x29, 0x69, 0xA3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x08, 0x43 + .byte 0x28, 0x61, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x4E, 0x3A, 0x20, 0x1C, 0x01, 0x92 + .byte 0x83, 0xF0, 0x56, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0x69, 0x69, 0x13, 0xB0, 0x08, 0x43, 0x68, 0x61 + .byte 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0x6A, 0x69, 0x48, 0x40, 0x10, 0x40, 0x13, 0xB0, 0x68, 0x61 + .byte 0xF0, 0xBD, 0x2A, 0x7E, 0x21, 0x78, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x10, 0x43 + .byte 0x13, 0xB0, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0x06, 0x20, 0x13, 0xB0, 0x81, 0x43, 0x20, 0x78 + .byte 0x80, 0x07, 0x40, 0x0F, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0xF8, 0x20, 0x13, 0xB0 + .byte 0x81, 0x43, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x20, 0x78 + .byte 0x13, 0xB0, 0x68, 0x76, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x68, 0x83, 0xF0, 0xBD, 0x38, 0x88 + .byte 0x00, 0x21, 0x0D, 0xAA, 0xA2, 0xF7, 0xC2, 0xFD, 0x0D, 0xA8, 0x21, 0x1C, 0x9A, 0xF7, 0x42, 0xFA + .byte 0x2A, 0x69, 0x7C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x00, 0x21, 0x20, 0x88 + .byte 0x49, 0x1C, 0xA4, 0x1C, 0x30, 0x80, 0xB6, 0x1C, 0x0B, 0x29, 0xF8, 0xD3, 0x13, 0xB0, 0xF0, 0xBD + .byte 0x38, 0x88, 0x07, 0xAA, 0x00, 0x21, 0x02, 0x32, 0xA2, 0xF7, 0xA8, 0xFD, 0x20, 0x1C, 0x02, 0xA9 + .byte 0x0B, 0x22, 0xBA, 0xF7, 0x4D, 0xF8, 0x07, 0xA8, 0x02, 0x30, 0x02, 0xA9, 0x9A, 0xF7, 0x22, 0xFA + .byte 0x2A, 0x69, 0x6C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x20, 0x1C, 0x31, 0x1C + .byte 0x0B, 0x22, 0xBA, 0xF7, 0x3D, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB0, 0x75 + .byte 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xF0, 0x75, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21 + .byte 0x7A, 0x3A, 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xDC, 0xEE, 0x00, 0x2C, 0x09, 0xD0, 0x34, 0x1C + .byte 0x18, 0x34, 0xB3, 0x69, 0x62, 0x68, 0x18, 0x43, 0x11, 0x43, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60 + .byte 0xF0, 0xBD, 0x34, 0x1C, 0x00, 0x25, 0xED, 0x43, 0x18, 0x34, 0xB3, 0x69, 0x68, 0x40, 0x62, 0x68 + .byte 0x69, 0x40, 0x18, 0x40, 0x11, 0x40, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60, 0xF0, 0xBD, 0x00, 0x22 + .byte 0x20, 0x88, 0x52, 0x1C, 0xA4, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x08, 0x2A, 0xF8, 0xD3, 0x13, 0xB0 + .byte 0xF0, 0xBD, 0x20, 0x1C, 0x08, 0x22, 0xBA, 0xF7, 0x03, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78 + .byte 0x13, 0xB0, 0x08, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x74, 0xF0, 0xBD, 0x20, 0x78 + .byte 0x13, 0xB0, 0x88, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x74, 0xF0, 0xBD, 0x20, 0x78 + .byte 0x13, 0xB0, 0x08, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x75, 0xF0, 0xBD, 0x20, 0x88 + .byte 0x13, 0xB0, 0xC8, 0x82, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x08, 0x83, 0xF0, 0xBD, 0x20, 0x78 + .byte 0x13, 0xB0, 0x88, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x76, 0xF0, 0xBD, 0x0B, 0x7F + .byte 0x22, 0x78, 0x7F, 0x20, 0x83, 0x43, 0x7F, 0x20, 0x10, 0x40, 0x18, 0x43, 0x08, 0x77, 0x13, 0xB0 + .byte 0xF0, 0xBD, 0x0A, 0x7F, 0x80, 0x20, 0x13, 0xB0, 0x82, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x00, 0x0E + .byte 0x10, 0x43, 0x08, 0x77, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x77, 0xF0, 0xBD, 0x20, 0x88 + .byte 0x13, 0xB0, 0xC8, 0x83, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x68, 0x1F, 0x20 + .byte 0x01, 0x40, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x1C, 0x48, 0x29, 0x61, 0x01, 0x40, 0x20, 0x68 + .byte 0x13, 0xB0, 0x40, 0x09, 0xC0, 0x06, 0x80, 0x0D, 0x01, 0x43, 0x19, 0x48, 0x29, 0x61, 0x01, 0x40 + .byte 0x20, 0x68, 0x80, 0x0A, 0xC0, 0x06, 0x40, 0x0C, 0x01, 0x43, 0x16, 0x48, 0x29, 0x61, 0x01, 0x40 + .byte 0x20, 0x68, 0xC0, 0x0B, 0xC0, 0x06, 0x00, 0x0B, 0x01, 0x43, 0x13, 0x48, 0x29, 0x61, 0x01, 0x40 + .byte 0x20, 0x68, 0x00, 0x0D, 0xC0, 0x06, 0xC0, 0x09, 0x01, 0x43, 0x10, 0x48, 0x29, 0x61, 0x01, 0x40 + .byte 0x20, 0x68, 0x40, 0x0E, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x38, 0x88 + .byte 0x00, 0x21, 0xA2, 0xF7, 0x35, 0xFD, 0x04, 0x1C, 0x31, 0x1C, 0x0B, 0x22, 0xB9, 0xF7, 0x80, 0xFF + .byte 0x20, 0x1C, 0xB9, 0xF7, 0x15, 0xFD +_02067FF6: + add sp, #0x4c + pop {r4-r7, pc} + nop +_02067FFC: + .byte 0x1F, 0xFC, 0xFF, 0xFF + .byte 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 + .byte 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0x7F + + thumb_func_start sub_02068018 +sub_02068018: ; 0x02068018 + push {r4-r6, lr} + add r5, r0, #0x0 + ldrh r0, [r5, #0x4] + add r4, r1, #0x0 + add r6, r2, #0x0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _02068066 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + ldrh r1, [r5, #0x6] + cmp r0, r1 + beq _02068066 + cmp r0, r1 + beq _02068058 + bl sub_02020C2C +_02068058: + ldrh r2, [r5, #0x6] + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + pop {r4-r6, pc} +_02068066: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020680A0 + ldrh r0, [r5, #0x4] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bne _0206809C + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 +_0206809C: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020680A0 +sub_020680A0: ; 0x020680A0 + push {r3, lr} + add r3, r1, #0x0 + sub r3, #0x9f + cmp r3, #0xa + bhi _020680F8 + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r4, r2, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + lsl r2, r7, #0 + add r1, r0, #0x0 + add r1, #0x90 + ldrh r3, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x8e + ldrh r1, [r1, #0x0] + add r1, r1, r2 + cmp r1, r3 + ble _020680E4 + add r0, #0x8e + strh r3, [r0, #0x0] + pop {r3, pc} +_020680E4: + add r1, r0, #0x0 + add r1, #0x8e + ldrh r1, [r1, #0x0] + add r0, #0x8e + add r1, r1, r2 + strh r1, [r0, #0x0] + pop {r3, pc} +_020680F2: + .byte 0xB8, 0xF7, 0x9B, 0xFD, 0x08, 0xBD +_020680F8: + bl sub_02068100 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02068100 +sub_02068100: ; 0x02068100 + push {r4-r7, lr} + sub sp, #0xc + add r7, r1, #0x0 + add r1, r0, #0x0 + add r6, r2, #0x0 + ldr r1, [r1, #0x0] + str r0, [sp, #0x0] + mov r2, #0x0 + bl sub_0206A418 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x1 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mov r2, #0x2 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + ldr r0, [sp, #0x0] + mov r2, #0x3 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + bl sub_0206A418 + cmp r7, #0xb2 + bls _02068142 + b _02068500 +_02068142: + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r4, r4, #0x5 + lsl r0, r1, #0x6 + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r6, r3, #0x6 + lsl r0, r5, #0x6 + lsl r2, r6, #0x6 + lsl r4, r7, #0x6 + lsl r6, r0, #0x7 + lsl r0, r2, #0x7 + lsl r2, r3, #0x7 + lsl r0, r6, #0x7 + lsl r6, r0, #0x8 + lsl r4, r3, #0x8 + lsl r2, r6, #0x8 + lsl r0, r1, #0x9 + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r6, r3, #0x9 + lsl r6, r3, #0x9 + lsl r6, r3, #0x9 + lsl r6, r3, #0x9 + lsl r2, r3, #0xa + lsl r2, r3, #0xa + lsl r2, r3, #0xa + lsl r2, r3, #0xa + lsl r4, r6, #0xe + lsl r4, r6, #0xe + lsl r4, r6, #0xe + lsl r4, r6, #0xe + lsl r4, r6, #0xa + lsl r6, r3, #0xb + lsl r0, r1, #0xc + lsl r2, r6, #0xc + lsl r4, r3, #0xd + lsl r6, r0, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + lsl r0, r6, #0xe + ldrh r0, [r4, #0x0] + mov r1, #0x64 + bl sub_02068758 + ldr r1, [r4, #0x8] + add r1, r1, r6 + cmp r1, r0 + bls _020682D2 + ldrh r0, [r4, #0x0] + mov r1, #0x64 + bl sub_02068758 + add sp, #0xc + str r0, [r4, #0x8] + pop {r4-r7, pc} +_020682D2: + add sp, #0xc + str r1, [r4, #0x8] + pop {r4-r7, pc} +_020682D8: + .byte 0x20, 0x7B, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD + .byte 0xFF, 0x20, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x20, 0x7C + .byte 0x03, 0xB0, 0x80, 0x19, 0x20, 0x74, 0xF0, 0xBD, 0x60, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x74 + .byte 0xF0, 0xBD, 0xA0, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0xA0, 0x74, 0xF0, 0xBD, 0xE0, 0x7C, 0x03, 0xB0 + .byte 0x80, 0x19, 0xE0, 0x74, 0xF0, 0xBD, 0x20, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x20, 0x75, 0xF0, 0xBD + .byte 0x60, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x75, 0xF0, 0xBD, 0xA0, 0x7D, 0x80, 0x19, 0xFF, 0x28 + .byte 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD + .byte 0xE0, 0x7D, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD + .byte 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD, 0x20, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20 + .byte 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x60, 0x7E, 0x80, 0x19 + .byte 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0x60, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x60, 0x76 + .byte 0xF0, 0xBD, 0xA0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x76 + .byte 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x76, 0xF0, 0xBD, 0xE0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD + .byte 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x28, 0x1C + .byte 0x01, 0x90, 0x0C, 0x30, 0x01, 0x90, 0x3A, 0x3F, 0x01, 0x99, 0x78, 0x00, 0x02, 0x90, 0x2C, 0x1C + .byte 0x28, 0x5A, 0xC9, 0x5D, 0x08, 0x34, 0x02, 0xF0, 0xB3, 0xFB, 0xE1, 0x5D, 0x71, 0x18, 0x81, 0x42 + .byte 0x08, 0xDD, 0x02, 0x98, 0x01, 0x99, 0x28, 0x5A, 0xC9, 0x5D, 0x02, 0xF0, 0xA9, 0xFB, 0x03, 0xB0 + .byte 0xE0, 0x55, 0xF0, 0xBD, 0x03, 0xB0, 0xE1, 0x55, 0xF0, 0xBD, 0x0C, 0x35, 0x3E, 0x3F, 0xE8, 0x5D + .byte 0x30, 0x18, 0x03, 0x28, 0x03, 0xDD, 0x03, 0x20, 0x03, 0xB0, 0xE8, 0x55, 0xF0, 0xBD, 0x03, 0xB0 + .byte 0xE8, 0x55, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x06, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x06, 0xD9 + .byte 0x1F, 0x20, 0x81, 0x43, 0x1F, 0x20, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x1F, 0x20 + .byte 0x81, 0x43, 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 + .byte 0x88, 0x05, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x33, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20 + .byte 0x00, 0x01, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x0D + .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x48, 0x04, 0xC0, 0x0E, 0x82, 0x19 + .byte 0x1F, 0x2A, 0x2A, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x80, 0x02, 0x08, 0x43, 0x03, 0xB0 + .byte 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61 + .byte 0xF0, 0xBD, 0x29, 0x69, 0x08, 0x03, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x20, 0x48, 0x06, 0xD9 + .byte 0x01, 0x40, 0x3E, 0x20, 0x80, 0x03, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40 + .byte 0xD0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x01 + .byte 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x17, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x00, 0x05 + .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0xC0, 0x09, 0x08, 0x43 + .byte 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x88, 0x00, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A + .byte 0x0D, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20, 0x00, 0x06, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61 + .byte 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD +_02068500: + bl sub_02020C2C + add sp, #0xc + pop {r4-r7, pc} +_02068508: + .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF + .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 + + thumb_func_start sub_0206851C +sub_0206851C: ; 0x0206851C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x2c + bl sub_02016998 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0206A370 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068538 +sub_02068538: ; 0x02068538 + push {r4-r6, lr} + add r4, r0, #0x0 + add r6, r1, #0x0 + cmp r4, #0x0 + bne _02068546 + bl sub_02020C2C +_02068546: + cmp r6, #0x20 + bhi _0206863A + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r0, #0x1 + lsl r4, r0, #0x1 + lsl r0, r1, #0x1 + lsl r4, r1, #0x1 + lsl r0, r2, #0x1 + lsl r4, r2, #0x1 + lsl r0, r3, #0x1 + lsl r4, r3, #0x1 + lsl r0, r4, #0x1 + lsl r4, r4, #0x1 + lsl r0, r5, #0x1 + lsl r0, r6, #0x1 + lsl r0, r7, #0x1 + lsl r0, r0, #0x2 + lsl r0, r1, #0x2 + lsl r0, r2, #0x2 + lsl r0, r3, #0x2 + lsl r4, r3, #0x2 + lsl r0, r4, #0x2 + lsl r4, r4, #0x2 + lsl r0, r5, #0x2 + lsl r4, r5, #0x2 + lsl r0, r6, #0x2 + lsl r4, r6, #0x2 + lsl r0, r7, #0x2 + lsl r4, r7, #0x2 + lsl r0, r0, #0x3 + lsl r4, r0, #0x3 + lsl r4, r1, #0x3 + lsl r4, r2, #0x3 + lsl r0, r3, #0x3 + lsl r4, r3, #0x3 + lsl r0, r4, #0x3 + ldrb r5, [r4, #0x0] + b _0206863A +_0206859C: + .byte 0x65, 0x78, 0x4C, 0xE0 + .byte 0xA5, 0x78, 0x4A, 0xE0, 0xE5, 0x78, 0x48, 0xE0, 0x25, 0x79, 0x46, 0xE0, 0x65, 0x79, 0x44, 0xE0 + .byte 0xA5, 0x79, 0x42, 0xE0, 0xE5, 0x79, 0x40, 0xE0, 0x25, 0x7A, 0x3E, 0xE0, 0x65, 0x7A, 0x3C, 0xE0 + .byte 0x60, 0x89, 0x80, 0x07, 0x85, 0x0F, 0x38, 0xE0, 0x60, 0x89, 0x00, 0x07, 0x85, 0x0F, 0x34, 0xE0 + .byte 0x60, 0x89, 0x80, 0x06, 0x85, 0x0F, 0x30, 0xE0, 0x60, 0x89, 0x00, 0x06, 0x85, 0x0F, 0x2C, 0xE0 + .byte 0x60, 0x89, 0x80, 0x05, 0x85, 0x0F, 0x28, 0xE0, 0x60, 0x89, 0x00, 0x05, 0x85, 0x0F, 0x24, 0xE0 + .byte 0xA5, 0x89, 0x22, 0xE0, 0xE5, 0x89, 0x20, 0xE0, 0x25, 0x7C, 0x1E, 0xE0, 0x65, 0x7C, 0x1C, 0xE0 + .byte 0xA5, 0x7C, 0x1A, 0xE0, 0xE5, 0x7C, 0x18, 0xE0, 0x25, 0x7D, 0x16, 0xE0, 0x65, 0x7D, 0x14, 0xE0 + .byte 0xA5, 0x7D, 0x12, 0xE0, 0xE5, 0x7D, 0x10, 0xE0, 0x25, 0x7E, 0x0E, 0xE0, 0x60, 0x7E, 0x40, 0x06 + .byte 0x45, 0x0E, 0x0A, 0xE0, 0x60, 0x7E, 0x00, 0x06, 0xC5, 0x0F, 0x06, 0xE0, 0xE5, 0x69, 0x04, 0xE0 + .byte 0x25, 0x6A, 0x02, 0xE0, 0x65, 0x6A, 0x00, 0xE0, 0xA5, 0x6A +_0206863A: + add r0, r5, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02068640 +sub_02068640: ; 0x02068640 + push {r4, lr} + add r4, r0, #0x0 + bne _0206864A + bl sub_02020C2C +_0206864A: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02068654 +sub_02068654: ; 0x02068654 + push {r3-r5, lr} + add r4, r2, #0x0 + bl sub_0206A8FC + mov r1, #0x0 + bl sub_0206851C + add r5, r0, #0x0 + add r1, r4, #0x0 + bl sub_02068538 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02068640 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068678 +sub_02068678: ; 0x02068678 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x0 + bl sub_0206851C + add r5, r0, #0x0 + add r1, r4, #0x0 + bl sub_02068538 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02068640 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068698 +sub_02068698: ; 0x02068698 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_020669D4 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02068758 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r7, #0x1 + bl sub_02068758 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8 + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02066A20 + sub r1, r7, r4 + mov r0, #0x64 + mul r0, r1 + sub r1, r6, r4 + blx sub_020EBE8C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_020686F8 +sub_020686F8: ; 0x020686F8 + ldr r3, _020686FC ; =sub_02068700 + bx r3 + .balign 4 +_020686FC: .word sub_02068700 + 1 + + thumb_func_start sub_02068700 +sub_02068700: ; 0x02068700 + push {r4-r6, lr} + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r4, #0x0 + bl sub_020687C8 + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + mov r1, #0x8 + mov r2, #0x0 + bl sub_020672BC + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02068758 + sub r0, r0, r4 + pop {r4-r6, pc} + + thumb_func_start sub_02068734 +sub_02068734: ; 0x02068734 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02068758 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068758 +sub_02068758: ; 0x02068758 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x15 + bl sub_02068678 + add r1, r4, #0x0 + bl sub_02068788 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206876C +sub_0206876C: ; 0x0206876C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x8 + blt _0206877A + bl sub_02020C2C +_0206877A: + add r0, r4, #0x0 + mov r1, #0x3 + add r2, r5, #0x0 + bl sub_020064F0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068788 +sub_02068788: ; 0x02068788 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + cmp r6, #0x8 + blt _02068796 + bl sub_02020C2C +_02068796: + cmp r5, #0x65 + ble _0206879E + bl sub_02020C2C +_0206879E: + mov r1, #0x65 + mov r0, #0x0 + lsl r1, r1, #0x2 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0206876C + lsl r0, r5, #0x2 + ldr r5, [r4, r0] + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_020687C0 +sub_020687C0: ; 0x020687C0 + ldr r3, _020687C4 ; =sub_020687C8 + bx r3 + .balign 4 +_020687C4: .word sub_020687C8 + 1 + + thumb_func_start sub_020687C8 +sub_020687C8: ; 0x020687C8 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02066A6C + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8 + mov r2, #0x0 + bl sub_020672BC + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02066A94 + lsl r0, r4, #0x10 + lsr r0, r0, #0x10 + add r1, r7, #0x0 + bl sub_02068800 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02068800 +sub_02068800: ; 0x02068800 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x0 + bl sub_0206851C + add r6, r0, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02068824 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02068640 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02068824 +sub_02068824: ; 0x02068824 + push {r4, lr} + mov r1, #0x15 + add r4, r2, #0x0 + bl sub_02068538 + ldr r1, _0206884C ; =0x021C5AC0 + bl sub_0206876C + ldr r2, _02068850 ; =0x021C5AC4 + mov r1, #0x1 +_02068838: + ldr r0, [r2, #0x0] + cmp r0, r4 + bhi _02068846 + add r1, r1, #0x1 + add r2, r2, #0x4 + cmp r1, #0x65 + blt _02068838 +_02068846: + sub r0, r1, #0x1 + pop {r4, pc} + nop +_0206884C: .word 0x021C5AC0 +_02068850: .word 0x021C5AC4 + + thumb_func_start sub_02068854 +sub_02068854: ; 0x02068854 + ldr r3, _02068858 ; =sub_0206885C + bx r3 + .balign 4 +_02068858: .word sub_0206885C + 1 + + thumb_func_start sub_0206885C +sub_0206885C: ; 0x0206885C + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02066A6C + mov r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02066A94 + add r0, r6, #0x0 + bl sub_02068884 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02068884 +sub_02068884: ; 0x02068884 + push {r3, lr} + mov r1, #0x19 + blx sub_020EBE8C + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02068894 +sub_02068894: ; 0x02068894 + push {r3, lr} + cmp r2, #0x1 + blo _0206889E + cmp r2, #0x5 + bls _020688A2 +_0206889E: + add r0, r1, #0x0 + pop {r3, pc} +_020688A2: + lsl r3, r0, #0x2 + add r3, r0, r3 + ldr r0, _020688E4 ; =0x020F7F93 + sub r2, r2, #0x1 + add r0, r0, r3 + ldrsb r2, [r2, r0] + mov r0, #0x0 + mvn r0, r0 + cmp r2, r0 + beq _020688CE + cmp r2, #0x1 + bne _020688E0 + mov r0, #0x6e + mul r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + b _020688E0 +_020688CE: + mov r0, #0x5a + mul r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x64 + blx sub_020EBC80 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 +_020688E0: + add r0, r1, #0x0 + pop {r3, pc} + .balign 4 +_020688E4: .word 0x020F7F93 + + thumb_func_start sub_020688E8 +sub_020688E8: ; 0x020688E8 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r1, #0x0 + add r5, r0, #0x0 + str r2, [sp, #0x0] + cmp r6, #0x5 + bne _02068900 + bl sub_0201B9EC + mov r1, #0x1 + tst r0, r1 + bne _020689D4 +_02068900: + add r0, r5, #0x0 + mov r1, #0xad + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + beq _020689D4 + ldr r0, _020689D8 ; =0x000001EE + cmp r1, r0 + beq _020689D4 + add r0, r5, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + mov r2, #0x0 + bl sub_0206E7B8 + lsl r0, r0, #0x18 + mov r4, #0x0 + lsr r7, r0, #0x18 + add r0, r5, #0x0 + mov r1, #0x9 + add r2, r4, #0x0 + bl sub_020671BC + add r1, sp, #0x4 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + ldrsh r1, [r1, r0] + cmp r1, #0x64 + blt _0206894E + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_0206894E: + cmp r1, #0xc8 + blt _02068958 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02068958: + lsl r0, r6, #0x1 + add r1, r6, r0 + ldr r0, _020689DC ; =0x020F7ED4 + add r0, r0, r1 + ldrsb r4, [r4, r0] + cmp r4, #0x0 + ble _0206897A + add r0, r5, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0xb + bne _0206897A + add r0, r4, #0x1 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 +_0206897A: + cmp r4, #0x0 + ble _02068994 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x0] + cmp r1, r0 + bne _02068994 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 +_02068994: + cmp r4, #0x0 + ble _020689AA + cmp r7, #0x34 + bne _020689AA + mov r0, #0x96 + mul r0, r4 + mov r1, #0x64 + blx sub_020EBC80 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 +_020689AA: + add r0, sp, #0x4 + mov r1, #0x0 + ldrsh r2, [r0, r1] + add r2, r2, r4 + strh r2, [r0, #0x0] + ldrsh r2, [r0, r1] + cmp r2, #0x0 + bge _020689BC + strh r1, [r0, #0x0] +_020689BC: + add r1, sp, #0x4 + mov r0, #0x0 + ldrsh r0, [r1, r0] + cmp r0, #0xff + ble _020689CA + mov r0, #0xff + strh r0, [r1, #0x0] +_020689CA: + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x4 + bl sub_02067830 +_020689D4: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020689D8: .word 0x000001EE +_020689DC: .word 0x020F7ED4 + + thumb_func_start sub_020689E0 +sub_020689E0: ; 0x020689E0 + ldr r3, _020689E4 ; =sub_020689E8 + bx r3 + .balign 4 +_020689E4: .word sub_020689E8 + 1 + + thumb_func_start sub_020689E8 +sub_020689E8: ; 0x020689E8 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02066A6C + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + mov r1, #0x0 + lsr r4, r0, #0x10 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r7, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02066A94 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_02068A20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02068A20 +sub_02068A20: ; 0x02068A20 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + mov r1, #0x0 + bl sub_0206851C + add r6, r0, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02068A44 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02068640 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02068A44 +sub_02068A44: ; 0x02068A44 + push {r4, lr} + mov r1, #0x12 + add r4, r2, #0x0 + bl sub_02068538 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + beq _02068A5E + cmp r1, #0xfe + beq _02068A62 + cmp r1, #0xff + beq _02068A66 + b _02068A6A +_02068A5E: + mov r0, #0x0 + pop {r4, pc} +_02068A62: + mov r0, #0x1 + pop {r4, pc} +_02068A66: + mov r0, #0x2 + pop {r4, pc} +_02068A6A: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + cmp r1, r0 + bls _02068A76 + mov r0, #0x1 + b _02068A78 +_02068A76: + mov r0, #0x0 +_02068A78: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02068A80 +sub_02068A80: ; 0x02068A80 + ldr r3, _02068A84 ; =sub_02068A88 + bx r3 + .balign 4 +_02068A84: .word sub_02068A88 + 1 + + thumb_func_start sub_02068A88 +sub_02068A88: ; 0x02068A88 + push {r3-r5, lr} + mov r1, #0x7 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020672BC + mov r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02068AAC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02068AAC +sub_02068AAC: ; 0x02068AAC + ldr r3, _02068AD4 ; =0xFFFF0000 + lsl r2, r1, #0x10 + and r1, r3 + and r3, r0 + lsl r0, r0, #0x10 + lsr r3, r3, #0x10 + lsr r0, r0, #0x10 + lsr r1, r1, #0x10 + eor r0, r3 + lsr r2, r2, #0x10 + eor r0, r1 + eor r0, r2 + cmp r0, #0x8 + bhs _02068ACC + mov r0, #0x1 + b _02068ACE +_02068ACC: + mov r0, #0x0 +_02068ACE: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + .balign 4 +_02068AD4: .word 0xFFFF0000 + + thumb_func_start sub_02068AD8 +sub_02068AD8: ; 0x02068AD8 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _02068B64 ; =0xFFFF0000 + and r0, r7 + lsr r1, r0, #0x10 + lsl r0, r7, #0x10 + lsr r0, r0, #0x10 + eor r0, r1 + lsr r7, r0, #0x3 + bl sub_0201B9EC + mov r1, #0x7 + and r0, r1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + bl sub_0201B9EC + mov r1, #0x7 + and r0, r1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + mov r4, #0x0 +_02068B04: + add r0, r4, #0x0 + bl sub_0206A92C + tst r0, r7 + beq _02068B34 + bl sub_0201B9EC + mov r1, #0x1 + tst r0, r1 + beq _02068B26 + add r0, r4, #0x3 + bl sub_0206A92C + orr r0, r6 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + b _02068B56 +_02068B26: + add r0, r4, #0x3 + bl sub_0206A92C + orr r0, r5 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + b _02068B56 +_02068B34: + bl sub_0201B9EC + mov r1, #0x1 + tst r0, r1 + beq _02068B56 + add r0, r4, #0x3 + bl sub_0206A92C + orr r0, r6 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r4, #0x3 + bl sub_0206A92C + orr r0, r5 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02068B56: + add r4, r4, #0x1 + cmp r4, #0xd + blt _02068B04 + lsl r0, r5, #0x10 + orr r0, r6 + pop {r3-r7, pc} + nop +_02068B64: .word 0xFFFF0000 + + thumb_func_start sub_02068B68 +sub_02068B68: ; 0x02068B68 + ldr r3, _02068B6C ; =sub_02068B70 + bx r3 + .balign 4 +_02068B6C: .word sub_02068B70 + 1 + + thumb_func_start sub_02068B70 +sub_02068B70: ; 0x02068B70 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r1, #0x0 + str r0, [sp, #0xc] + add r0, r5, #0x0 + str r2, [sp, #0x10] + bl sub_02066A6C + str r0, [sp, #0x18] + add r0, r5, #0x0 + mov r1, #0xad + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r5, #0x0 + bl sub_020689E8 + str r0, [sp, #0x14] + add r0, r5, #0x0 + bl sub_02068A88 + mov r1, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + ldr r0, _02068BF8 ; =0x000001EE + cmp r4, r0 + bne _02068BCA + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + ldr r1, _02068BFC ; =0x000001EA + cmp r0, r1 + bne _02068BC6 + mov r0, #0x1 + b _02068BD8 +_02068BC6: + mov r0, #0x0 + b _02068BD8 +_02068BCA: + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 +_02068BD8: + str r7, [sp, #0x0] + str r0, [sp, #0x4] + str r6, [sp, #0x8] + ldr r0, [sp, #0xc] + ldr r2, [sp, #0x14] + ldr r3, [sp, #0x10] + add r1, r4, #0x0 + bl sub_02068C00 + ldr r1, [sp, #0x18] + add r0, r5, #0x0 + bl sub_02066A94 + add sp, #0x1c + pop {r4-r7, pc} + nop +_02068BF8: .word 0x000001EE +_02068BFC: .word 0x000001EA + + thumb_func_start sub_02068C00 +sub_02068C00: ; 0x02068C00 + push {r4-r7} + add r7, r2, #0x0 + add r5, r3, #0x0 + add r4, r0, #0x0 + add r0, r1, #0x0 + ldr r3, [sp, #0x10] + ldr r2, [sp, #0x14] + mov r1, #0x0 + strh r1, [r4, #0x6] + strb r1, [r4, #0x8] + str r1, [r4, #0xc] + ldr r1, _02068E0C ; =0x000001A5 + cmp r0, r1 + bgt _02068C68 + bge _02068D1E + add r6, r1, #0x0 + sub r6, #0x46 + cmp r0, r6 + bgt _02068C36 + sub r1, #0x46 + cmp r0, r1 + blt _02068C2E + b _02068D58 +_02068C2E: + cmp r0, #0xc9 + bne _02068C34 + b _02068D90 +_02068C34: + b _02068DD4 +_02068C36: + add r6, r1, #0x0 + sub r6, #0x23 + cmp r0, r6 + bgt _02068C48 + sub r1, #0x23 + cmp r0, r1 + bne _02068C46 + b _02068D76 +_02068C46: + b _02068DD4 +_02068C48: + add r6, r1, #0x0 + sub r6, #0x8 + cmp r0, r6 + bgt _02068C66 + add r6, r1, #0x0 + sub r6, #0x9 + cmp r0, r6 + blt _02068C66 + add r6, r1, #0x0 + sub r6, #0x9 + cmp r0, r6 + beq _02068CAA + sub r1, #0x8 + cmp r0, r1 + beq _02068CC8 +_02068C66: + b _02068DD4 +_02068C68: + add r6, r1, #0x0 + add r6, #0x48 + cmp r0, r6 + bgt _02068C8E + add r6, r1, #0x0 + add r6, #0x48 + cmp r0, r6 + bge _02068D3A + add r6, r1, #0x2 + cmp r0, r6 + bgt _02068C8C + add r6, r1, #0x1 + cmp r0, r6 + blt _02068C8C + beq _02068CE6 + add r1, r1, #0x2 + cmp r0, r1 + beq _02068D02 +_02068C8C: + b _02068DD4 +_02068C8E: + add r6, r1, #0x0 + add r6, #0x49 + cmp r0, r6 + bgt _02068CA0 + add r1, #0x49 + cmp r0, r1 + bne _02068C9E + b _02068DAC +_02068C9E: + b _02068DD4 +_02068CA0: + add r1, #0x4a + cmp r0, r1 + bne _02068CA8 + b _02068DC4 +_02068CA8: + b _02068DD4 +_02068CAA: + cmp r2, #0x2 + bls _02068CB0 + mov r2, #0x0 +_02068CB0: + mov r0, #0x75 + strh r0, [r4, #0x0] + lsr r0, r5, #0x1 + lsl r1, r2, #0x1 + add r0, #0x48 + add r0, r0, r1 + add r3, #0x92 + strh r0, [r4, #0x2] + add r0, r3, r1 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068CC8: + cmp r2, #0x2 + bls _02068CCE + mov r2, #0x0 +_02068CCE: + mov r0, #0x75 + strh r0, [r4, #0x0] + lsr r0, r5, #0x1 + lsl r1, r2, #0x1 + add r0, #0x4e + add r0, r0, r1 + add r3, #0x98 + strh r0, [r4, #0x2] + add r0, r3, r1 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068CE6: + cmp r2, #0x1 + bls _02068CEC + mov r2, #0x0 +_02068CEC: + mov r0, #0x75 + add r5, #0x54 + strh r0, [r4, #0x0] + add r0, r5, r2 + strh r0, [r4, #0x2] + add r3, #0x9e + lsl r0, r2, #0x1 + add r0, r3, r0 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D02: + cmp r2, #0x1 + bls _02068D08 + mov r2, #0x0 +_02068D08: + mov r0, #0x75 + add r5, #0x58 + strh r0, [r4, #0x0] + add r0, r5, r2 + strh r0, [r4, #0x2] + add r3, #0xa2 + lsl r0, r2, #0x1 + add r0, r3, r0 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D1E: + cmp r2, #0x1 + bls _02068D24 + mov r2, #0x0 +_02068D24: + mov r0, #0x75 + add r5, #0x5c + strh r0, [r4, #0x0] + add r0, r5, r2 + strh r0, [r4, #0x2] + lsl r0, r3, #0x1 + add r0, #0xa6 + add r0, r2, r0 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D3A: + cmp r2, #0x11 + bls _02068D40 + mov r2, #0x0 +_02068D40: + mov r0, #0x75 + strh r0, [r4, #0x0] + lsr r0, r5, #0x1 + lsl r1, r2, #0x1 + add r0, #0x60 + add r0, r0, r1 + add r3, #0xaa + strh r0, [r4, #0x2] + add r0, r3, r1 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D58: + cmp r2, #0x3 + bls _02068D5E + mov r2, #0x0 +_02068D5E: + mov r0, #0x75 + strh r0, [r4, #0x0] + lsl r0, r5, #0x1 + add r0, #0x40 + add r0, r2, r0 + strh r0, [r4, #0x2] + lsl r0, r3, #0x2 + add r0, #0x8a + add r0, r2, r0 + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D76: + cmp r2, #0x3 + bls _02068D7C + mov r2, #0x0 +_02068D7C: + mov r0, #0x75 + strh r0, [r4, #0x0] + lsr r1, r5, #0x1 + lsl r0, r2, #0x1 + add r0, r1, r0 + strh r0, [r4, #0x2] + add r3, #0x86 + strh r3, [r4, #0x4] + pop {r4-r7} + bx lr +_02068D90: + cmp r2, #0x1c + blo _02068D96 + mov r2, #0x0 +_02068D96: + mov r0, #0x75 + lsr r1, r5, #0x1 + strh r0, [r4, #0x0] + add r1, #0x8 + lsl r0, r2, #0x1 + add r0, r1, r0 + strh r0, [r4, #0x2] + add r3, #0x88 + strh r3, [r4, #0x4] + pop {r4-r7} + bx lr +_02068DAC: + cmp r2, #0x1 + bls _02068DB2 + mov r2, #0x0 +_02068DB2: + mov r0, #0x75 + strh r0, [r4, #0x0] + add r0, r2, #0x0 + add r0, #0x84 + strh r0, [r4, #0x2] + add r2, #0xce + strh r2, [r4, #0x4] + pop {r4-r7} + bx lr +_02068DC4: + mov r0, #0x75 + strh r0, [r4, #0x0] + mov r0, #0x84 + strh r0, [r4, #0x2] + mov r0, #0xce + strh r0, [r4, #0x4] + pop {r4-r7} + bx lr +_02068DD4: + mov r1, #0x4 + strh r1, [r4, #0x0] + cmp r7, #0x1 + beq _02068DE0 + mov r2, #0x1 + b _02068DE2 +_02068DE0: + mov r2, #0x0 +_02068DE2: + mov r1, #0x6 + mul r1, r0 + add r6, r5, r1 + add r2, r6, r2 + add r1, r1, #0x4 + strh r2, [r4, #0x2] + add r1, r3, r1 + strh r1, [r4, #0x4] + ldr r1, _02068E10 ; =0x00000147 + cmp r0, r1 + bne _02068E06 + cmp r5, #0x2 + bne _02068E06 + strh r1, [r4, #0x6] + mov r0, #0x0 + strb r0, [r4, #0x8] + ldr r0, [sp, #0x18] + str r0, [r4, #0xc] +_02068E06: + pop {r4-r7} + bx lr + nop +_02068E0C: .word 0x000001A5 +_02068E10: .word 0x00000147 + + thumb_func_start sub_02068E14 +sub_02068E14: ; 0x02068E14 + ldr r3, _02068E18 ; =sub_02068E1C + bx r3 + .balign 4 +_02068E18: .word sub_02068E1C + 1 + + thumb_func_start sub_02068E1C +sub_02068E1C: ; 0x02068E1C + push {r3-r7, lr} + sub sp, #0x8 + add r7, r1, #0x0 + mov r1, #0xad + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r5, #0x0 + bl sub_020689E8 + mov r1, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + ldr r0, _02068E80 ; =0x000001EE + cmp r4, r0 + bne _02068E62 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + ldr r1, _02068E84 ; =0x000001EA + cmp r0, r1 + bne _02068E5E + mov r3, #0x1 + b _02068E70 +_02068E5E: + mov r3, #0x0 + b _02068E70 +_02068E62: + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +_02068E70: + str r6, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r4, #0x0 + add r2, r7, #0x0 + bl sub_02068E88 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02068E80: .word 0x000001EE +_02068E84: .word 0x000001EA + + thumb_func_start sub_02068E88 +sub_02068E88: ; 0x02068E88 + push {r3-r5, lr} + ldr r4, _02068FDC ; =0x000001A5 + cmp r0, r4 + bgt _02068ED6 + bge _02068F54 + add r5, r4, #0x0 + sub r5, #0x46 + cmp r0, r5 + bgt _02068EA6 + sub r4, #0x46 + cmp r0, r4 + bge _02068F74 + cmp r0, #0xc9 + beq _02068F94 + b _02068FB8 +_02068EA6: + add r5, r4, #0x0 + sub r5, #0x23 + cmp r0, r5 + bgt _02068EB6 + sub r4, #0x23 + cmp r0, r4 + beq _02068F84 + b _02068FB8 +_02068EB6: + add r5, r4, #0x0 + sub r5, #0x8 + cmp r0, r5 + bgt _02068FB8 + add r5, r4, #0x0 + sub r5, #0x9 + cmp r0, r5 + blt _02068FB8 + add r5, r4, #0x0 + sub r5, #0x9 + cmp r0, r5 + beq _02068F14 + sub r4, #0x8 + cmp r0, r4 + beq _02068F26 + b _02068FB8 +_02068ED6: + add r5, r4, #0x0 + add r5, #0x48 + cmp r0, r5 + bgt _02068EFC + add r5, r4, #0x0 + add r5, #0x48 + cmp r0, r5 + bge _02068F62 + add r5, r4, #0x2 + cmp r0, r5 + bgt _02068FB8 + add r5, r4, #0x1 + cmp r0, r5 + blt _02068FB8 + beq _02068F38 + add r4, r4, #0x2 + cmp r0, r4 + beq _02068F46 + b _02068FB8 +_02068EFC: + add r5, r4, #0x0 + add r5, #0x49 + cmp r0, r5 + bgt _02068F0C + add r4, #0x49 + cmp r0, r4 + beq _02068FA6 + b _02068FB8 +_02068F0C: + add r4, #0x4a + cmp r0, r4 + beq _02068FB2 + b _02068FB8 +_02068F14: + cmp r3, #0x2 + bls _02068F1A + mov r3, #0x0 +_02068F1A: + lsr r1, r2, #0x1 + add r1, #0x48 + lsl r0, r3, #0x1 + mov r4, #0x79 + add r3, r1, r0 + b _02068FCA +_02068F26: + cmp r3, #0x2 + bls _02068F2C + mov r3, #0x0 +_02068F2C: + lsr r1, r2, #0x1 + add r1, #0x4e + lsl r0, r3, #0x1 + mov r4, #0x79 + add r3, r1, r0 + b _02068FCA +_02068F38: + cmp r3, #0x1 + bls _02068F3E + mov r3, #0x0 +_02068F3E: + add r2, #0x54 + mov r4, #0x79 + add r3, r2, r3 + b _02068FCA +_02068F46: + cmp r3, #0x1 + bls _02068F4C + mov r3, #0x0 +_02068F4C: + add r2, #0x58 + mov r4, #0x79 + add r3, r2, r3 + b _02068FCA +_02068F54: + cmp r3, #0x1 + bls _02068F5A + mov r3, #0x0 +_02068F5A: + add r2, #0x5c + mov r4, #0x79 + add r3, r2, r3 + b _02068FCA +_02068F62: + cmp r3, #0x11 + bls _02068F68 + mov r3, #0x0 +_02068F68: + lsr r1, r2, #0x1 + add r1, #0x60 + lsl r0, r3, #0x1 + mov r4, #0x79 + add r3, r1, r0 + b _02068FCA +_02068F74: + cmp r3, #0x3 + bls _02068F7A + mov r3, #0x0 +_02068F7A: + lsl r0, r2, #0x1 + add r0, #0x40 + mov r4, #0x79 + add r3, r3, r0 + b _02068FCA +_02068F84: + cmp r3, #0x3 + bls _02068F8A + mov r3, #0x0 +_02068F8A: + lsr r1, r2, #0x1 + lsl r0, r3, #0x1 + mov r4, #0x79 + add r3, r1, r0 + b _02068FCA +_02068F94: + cmp r3, #0x1c + blo _02068F9A + mov r3, #0x0 +_02068F9A: + lsr r1, r2, #0x1 + add r1, #0x8 + lsl r0, r3, #0x1 + mov r4, #0x79 + add r3, r1, r0 + b _02068FCA +_02068FA6: + cmp r3, #0x1 + bls _02068FAC + mov r3, #0x0 +_02068FAC: + mov r4, #0x79 + add r3, #0x84 + b _02068FCA +_02068FB2: + mov r4, #0x79 + mov r3, #0x84 + b _02068FCA +_02068FB8: + mov r4, #0x5 + cmp r1, #0x1 + beq _02068FC2 + mov r1, #0x1 + b _02068FC4 +_02068FC2: + mov r1, #0x0 +_02068FC4: + lsl r0, r0, #0x2 + add r0, r2, r0 + add r3, r0, r1 +_02068FCA: + add r0, sp, #0x0 + add r1, r4, #0x0 + add r2, r3, #0x0 + bl sub_020064F0 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + pop {r3-r5, pc} + nop +_02068FDC: .word 0x000001A5 + + thumb_func_start sub_02068FE0 +sub_02068FE0: ; 0x02068FE0 + push {r4, lr} + add r4, r0, #0x0 + cmp r2, #0x2 + bne _02068FEE + mov r0, #0x3c + strh r0, [r4, #0x0] + b _02068FFC +_02068FEE: + mov r0, #0x6 + strh r0, [r4, #0x0] + add r0, r1, #0x0 + bl sub_0206AA30 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 +_02068FFC: + lsl r0, r1, #0x1 + strh r0, [r4, #0x2] + add r0, r0, #0x1 + strh r0, [r4, #0x4] + mov r0, #0x0 + strh r0, [r4, #0x6] + strb r0, [r4, #0x8] + str r0, [r4, #0xc] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02069010 +sub_02069010: ; 0x02069010 + push {r3-r5, lr} + sub sp, #0x20 + add r5, r1, #0x0 + mov r3, #0x1c + add r4, r0, #0x0 + str r3, [sp, #0x0] + add r0, sp, #0x4 + mov r1, #0x72 + mov r2, #0x0 + mul r3, r5 + bl sub_02006548 + add r0, sp, #0xc + add r1, r4, #0x0 + mov r2, #0x14 + blx sub_020CE3E0 + add sp, #0x20 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02069038 +sub_02069038: ; 0x02069038 + push {r3-r7, lr} + sub sp, #0x28 + add r4, r0, #0x0 + add r6, r2, #0x0 + add r5, r3, #0x0 + mov r3, #0x1c + add r0, sp, #0x8 + add r7, r1, #0x0 + str r3, [sp, #0x0] + add r0, #0x2 + mov r1, #0x72 + mov r2, #0x0 + mul r3, r6 + bl sub_02006548 + cmp r5, #0x2 + bne _0206906C + add r1, sp, #0x4 + mov r0, #0x6 + ldrsb r0, [r1, r0] + strh r0, [r1, #0x0] + ldrb r0, [r1, #0x7] + strh r0, [r1, #0x2] + ldr r0, [sp, #0x44] + strb r0, [r1, #0x4] + b _02069096 +_0206906C: + ldr r0, [sp, #0x40] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02014C3C + add r5, r0, #0x0 + cmp r5, #0x3 + blt _02069080 + bl sub_02020C2C +_02069080: + lsl r2, r5, #0x1 + add r0, sp, #0xc + ldrsb r1, [r0, r2] + add r0, sp, #0x4 + strh r1, [r0, #0x0] + add r1, sp, #0xc + add r1, #0x1 + ldrb r1, [r1, r2] + strh r1, [r0, #0x2] + ldr r1, [sp, #0x44] + strb r1, [r0, #0x4] +_02069096: + ldr r3, [sp, #0x48] + add r0, r4, #0x0 + lsl r3, r3, #0x18 + add r1, r7, #0x0 + add r2, sp, #0x4 + lsr r3, r3, #0x18 + bl sub_02014C54 + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020690AC +sub_020690AC: ; 0x020690AC + mov r2, #0x3c + strh r2, [r0, #0x0] + lsl r1, r1, #0x1 + strh r1, [r0, #0x2] + add r1, r1, #0x1 + strh r1, [r0, #0x4] + mov r1, #0x0 + strh r1, [r0, #0x6] + strb r1, [r0, #0x8] + str r1, [r0, #0xc] + bx lr + .balign 4 + + thumb_func_start sub_020690C4 +sub_020690C4: ; 0x020690C4 + mov r0, #0xec + bx lr + + thumb_func_start sub_020690C8 +sub_020690C8: ; 0x020690C8 + mov r0, #0x88 + bx lr + + thumb_func_start sub_020690CC +sub_020690CC: ; 0x020690CC + ldr r3, _020690D0 ; =sub_020690D4 + bx r3 + .balign 4 +_020690D0: .word sub_020690D4 + 1 + + thumb_func_start sub_020690D4 +sub_020690D4: ; 0x020690D4 + push {r3, lr} + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + + thumb_func_start sub_020690E4 +sub_020690E4: ; 0x020690E4 + bx lr + .balign 4 + + thumb_func_start sub_020690E8 +sub_020690E8: ; 0x020690E8 + push {r3-r5, lr} + sub sp, #0x8 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x1 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x8 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x15 + bl sub_02068678 + mov r1, #0x64 + add r5, r0, #0x0 + bl sub_02068788 + ldr r1, [sp, #0x4] + cmp r1, r0 + bls _02069138 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x8 + add r2, sp, #0x4 + bl sub_02067830 +_02069138: + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + cmp r1, #0x64 + bls _02069146 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_02069146: + add r0, r5, #0x0 + bl sub_02068788 + ldr r1, [sp, #0x4] + cmp r1, r0 + blo _02069162 + add r0, r4, #0x0 + mov r1, #0xa0 + add r2, sp, #0x0 + bl sub_02067830 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r5, pc} +_02069162: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_02069168 +sub_02069168: ; 0x02069168 + push {r4-r7, lr} + sub sp, #0x44 + add r7, r1, #0x0 + str r0, [sp, #0x0] + mov r6, #0x0 + add r4, r2, #0x0 + add r0, r7, #0x0 + mov r1, #0x5 + add r2, r6, #0x0 + str r3, [sp, #0x4] + ldr r5, [sp, #0x58] + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x2c] + add r0, r7, #0x0 + mov r1, #0x6 + add r2, r6, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + add r1, r6, #0x0 + str r0, [sp, #0x28] + add r0, r7, #0x0 + add r2, r1, #0x0 + bl sub_020671BC + str r0, [sp, #0x30] + add r0, r7, #0x0 + mov r1, #0x14 + add r2, r6, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x10] + ldr r1, _020694A0 ; =0xFFFF0000 + ldr r0, [sp, #0x30] + add r2, r6, #0x0 + and r0, r1 + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x28] + mov r1, #0x1 + bl sub_0206E7B8 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r0, [sp, #0x2c] + cmp r0, #0x40 + beq _020691E4 + cmp r1, #0x3f + bne _020691E4 + cmp r4, #0x3 + beq _020691E4 + add sp, #0x44 + add r0, r6, #0x0 + pop {r4-r7, pc} +_020691E4: + cmp r5, #0x0 + bne _020691EA + add r5, sp, #0x40 +_020691EA: + mov r0, #0x0 + mov r1, #0x2a + bl sub_02016998 + str r0, [sp, #0x18] + ldr r0, [sp, #0x2c] + ldr r1, [sp, #0x18] + bl sub_0206A394 + cmp r4, #0x3 + bls _02069202 + b _0206954A +_02069202: + add r0, r4, r4 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r6, #0x9 + lsl r6, r5, #0xa + lsl r6, r5, #0xa + add r0, r7, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x14] + add r0, r7, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x20] + mov r0, #0x0 + str r0, [sp, #0x24] + ldr r0, [sp, #0x1c] + mov r1, #0xa + ldr r4, [sp, #0x18] + blx sub_020EBC80 + str r1, [sp, #0x8] +_02069246: + ldrh r0, [r4, #0x0] + cmp r0, #0x1a + bls _0206924E + b _02069472 +_0206924E: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r2, #0x8 + lsl r4, r6, #0 + lsl r2, r0, #0x1 + lsl r0, r3, #0x1 + lsl r6, r5, #0x1 + lsl r6, r2, #0x8 + lsl r6, r2, #0x8 + lsl r6, r2, #0x8 + lsl r6, r7, #0x1 + lsl r2, r5, #0x2 + lsl r6, r2, #0x3 + lsl r2, r0, #0x4 + lsl r2, r3, #0x4 + lsl r0, r6, #0x4 + lsl r0, r0, #0x5 + lsl r6, r0, #0x5 + lsl r6, r2, #0x8 + lsl r6, r2, #0x8 + lsl r6, r2, #0x5 + lsl r6, r5, #0x5 + lsl r6, r0, #0x6 + lsl r2, r3, #0x6 + lsl r2, r6, #0x6 + lsl r0, r2, #0x7 + lsl r6, r5, #0x7 + lsl r4, r7, #0x7 + lsl r2, r1, #0x8 + ldr r0, [sp, #0x20] + cmp r0, #0xdc + blo _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x1 + str r0, [r5, #0x0] + b _02069472 +_0206929E: + .byte 0xA9, 0xF7 + .byte 0x6D, 0xFA, 0x00, 0x28, 0x62, 0xD1, 0x08, 0x98, 0xDC, 0x28, 0x5F, 0xD3, 0xA6, 0x88, 0x02, 0x20 + .byte 0x28, 0x60, 0xDE, 0xE0, 0xA9, 0xF7, 0x62, 0xFA, 0x01, 0x28, 0x57, 0xD1, 0x08, 0x98, 0xDC, 0x28 + .byte 0x54, 0xD3, 0xA6, 0x88, 0x03, 0x20, 0x28, 0x60, 0xD3, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 + .byte 0x4C, 0xDC, 0xA6, 0x88, 0x04, 0x20, 0x28, 0x60, 0xCB, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 + .byte 0x44, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x68, 0xFF, 0x0D, 0x90, 0x38, 0x1C + .byte 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x62, 0xFF, 0x0D, 0x99, 0x81, 0x42, 0x36, 0xD9, 0xA6, 0x88 + .byte 0x08, 0x20, 0x28, 0x60, 0xB5, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x2E, 0xDC, 0x38, 0x1C + .byte 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x52, 0xFF, 0x0E, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22 + .byte 0xFD, 0xF7, 0x4C, 0xFF, 0x0E, 0x99, 0x81, 0x42, 0x20, 0xD1, 0xA6, 0x88, 0x09, 0x20, 0x28, 0x60 + .byte 0x9F, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x18, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22 + .byte 0xFD, 0xF7, 0x3C, 0xFF, 0x0F, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x36, 0xFF + .byte 0x0F, 0x99, 0x81, 0x42, 0x0A, 0xD2, 0xA6, 0x88, 0x0A, 0x20, 0x28, 0x60, 0x89, 0xE0, 0x61, 0x88 + .byte 0x05, 0x98, 0x81, 0x42, 0x02, 0xDC, 0x02, 0x98, 0x05, 0x28, 0x00, 0xDB +_0206936C: + b _02069472 +_0206936E: + .byte 0xA6, 0x88 + .byte 0x0B, 0x20, 0x28, 0x60, 0x7D, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x79, 0xDC, 0x02, 0x98 + .byte 0x05, 0x28, 0x76, 0xDB, 0xA6, 0x88, 0x0C, 0x20, 0x28, 0x60, 0x72, 0xE0, 0x61, 0x88, 0x05, 0x98 + .byte 0x81, 0x42, 0x6E, 0xDC, 0xA6, 0x88, 0x0D, 0x20, 0x28, 0x60, 0x6A, 0xE0, 0x0E, 0x20, 0x28, 0x60 + .byte 0x67, 0xE0, 0x61, 0x88, 0x04, 0x98, 0x81, 0x42, 0x63, 0xDC, 0xA6, 0x88, 0x0F, 0x20, 0x28, 0x60 + .byte 0x5F, 0xE0, 0xA9, 0xF7, 0xE3, 0xF9, 0x00, 0x28, 0x5B, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42 + .byte 0x57, 0xD1, 0xA6, 0x88, 0x12, 0x20, 0x28, 0x60, 0x53, 0xE0, 0xA9, 0xF7, 0xD7, 0xF9, 0x01, 0x28 + .byte 0x4F, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x4B, 0xD1, 0xA6, 0x88, 0x13, 0x20, 0x28, 0x60 + .byte 0x47, 0xE0, 0x61, 0x88, 0x38, 0x1C, 0x00, 0xF0, 0x27, 0xFB, 0x01, 0x28, 0x41, 0xD1, 0xA6, 0x88 + .byte 0x14, 0x20, 0x28, 0x60, 0x3D, 0xE0, 0x00, 0x98, 0x00, 0x28, 0x3A, 0xD0, 0x61, 0x88, 0x02, 0xF0 + .byte 0x71, 0xFB, 0x01, 0x28, 0x35, 0xD1, 0xA6, 0x88, 0x15, 0x20, 0x28, 0x60, 0x31, 0xE0, 0x38, 0x1C + .byte 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0xD2, 0xFE, 0x00, 0x28, 0x2A, 0xD1, 0x61, 0x88, 0x05, 0x98 + .byte 0x81, 0x42, 0x26, 0xDC, 0xA6, 0x88, 0x16, 0x20, 0x28, 0x60, 0x22, 0xE0, 0x38, 0x1C, 0x6F, 0x21 + .byte 0x00, 0x22, 0xFD, 0xF7, 0xC3, 0xFE, 0x01, 0x28, 0x1B, 0xD1, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 + .byte 0x17, 0xDC, 0xA6, 0x88, 0x17, 0x20, 0x28, 0x60, 0x13, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x10, 0xD1 + .byte 0xA6, 0x88, 0x18, 0x20, 0x28, 0x60, 0x0C, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x09, 0xD1, 0xA6, 0x88 + .byte 0x19, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x02, 0xD1, 0xA6, 0x88, 0x1A, 0x20 + .byte 0x28, 0x60 +_02069472: + cmp r6, #0x0 + bne _0206954A + ldr r0, [sp, #0x24] + add r4, r4, #0x6 + add r0, r0, #0x1 + str r0, [sp, #0x24] + cmp r0, #0x7 + bge _02069484 + b _02069246 +_02069484: + b _0206954A +_02069486: + .byte 0x06, 0x9B, 0x00, 0x24, 0x06, 0x27, 0x05, 0x22, 0x18, 0x88 + .byte 0x05, 0x28, 0x02, 0xD0, 0x06, 0x28, 0x05, 0xD0, 0x0A, 0xE0, 0x9E, 0x88, 0x2A, 0x60, 0x07, 0xE0 +_020694A0: .word 0xFFFF0000 +_020694A4: + .byte 0x59, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x01, 0xD1, 0x9E, 0x88, 0x2F, 0x60 + .byte 0x00, 0x2E, 0x4A, 0xD1, 0x64, 0x1C, 0x9B, 0x1D, 0x07, 0x2C, 0xE8, 0xDB, 0x45, 0xE0, 0x00, 0x20 + .byte 0x06, 0x9C, 0x03, 0x90, 0x22, 0x88, 0x07, 0x2A, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42 + .byte 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20 + .byte 0x28, 0x60, 0x32, 0xE0, 0x10, 0x2A, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7 + .byte 0x65, 0xFE, 0x00, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98 + .byte 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x1C, 0xE0 + .byte 0x20, 0x88, 0x11, 0x28, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x4E, 0xFE + .byte 0x01, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21 + .byte 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x03, 0x98 + .byte 0xA4, 0x1D, 0x40, 0x1C, 0x03, 0x90, 0x07, 0x28, 0xBC, 0xDB +_0206954A: + ldr r0, [sp, #0x18] + bl sub_02016A18 + add r0, r6, #0x0 + add sp, #0x44 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02069558 +sub_02069558: ; 0x02069558 + push {r3-r4, lr} + sub sp, #0x4c + add r4, r0, #0x0 + mov r1, #0x0 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + ldr r0, _020695A0 ; =0x000001EE + cmp r4, r0 + blo _0206956E + bl sub_02020C2C +_0206956E: + add r0, sp, #0x4 + blx sub_020D1C94 + ldr r1, _020695A4 ; =0x02105FC8 + add r0, sp, #0x4 + blx sub_020D1944 + add r0, sp, #0x4 + lsl r1, r4, #0x1 + mov r2, #0x0 + blx sub_020D17A0 + add r0, sp, #0x4 + add r1, sp, #0x0 + mov r2, #0x2 + blx sub_020D180C + add r0, sp, #0x4 + blx sub_020D18FC + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + add sp, #0x4c + pop {r3-r4, pc} + nop +_020695A0: .word 0x000001EE +_020695A4: .word 0x02105FC8 + + thumb_func_start sub_020695A8 +sub_020695A8: ; 0x020695A8 + push {r3, lr} + cmp r0, #0xb9 + bgt _020695CC + cmp r0, #0xb7 + blt _020695BA + beq _020695EC + cmp r0, #0xb9 + beq _020695EC + b _020695E8 +_020695BA: + cmp r0, #0x7a + bgt _020695C6 + bge _020695EC + cmp r0, #0x71 + beq _020695EC + b _020695E8 +_020695C6: + cmp r0, #0x8f + beq _020695EC + b _020695E8 +_020695CC: + cmp r0, #0xe2 + bgt _020695D8 + bge _020695EC + cmp r0, #0xca + beq _020695EC + b _020695E8 +_020695D8: + ldr r1, _020695F0 ; =0x0000013B + cmp r0, r1 + bgt _020695E2 + beq _020695EC + b _020695E8 +_020695E2: + add r1, #0x2b + cmp r0, r1 + beq _020695EC +_020695E8: + bl sub_02069558 +_020695EC: + pop {r3, pc} + nop +_020695F0: .word 0x0000013B + + thumb_func_start sub_020695F4 +sub_020695F4: ; 0x020695F4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x0 + mov r1, #0x2c + bl sub_02016998 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02066A6C + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + add r7, r0, #0x0 + add r0, r5, #0x0 + bl sub_020687C8 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r2, [sp, #0x0] + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_02069F9C + ldr r0, [sp, #0x0] + ldrh r1, [r0, #0x0] + ldr r0, _02069690 ; =0x0000FFFF + cmp r1, r0 + beq _0206967C + ldr r4, [sp, #0x0] + lsl r7, r6, #0x9 +_02069648: + ldrh r1, [r4, #0x0] + mov r0, #0xfe + lsl r0, r0, #0x8 + and r0, r1 + cmp r0, r7 + bgt _0206967C + ldr r0, _02069694 ; =0x000001FF + and r0, r1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020696A8 + ldr r1, _02069690 ; =0x0000FFFF + cmp r0, r1 + bne _02069672 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02069718 +_02069672: + add r4, r4, #0x2 + ldrh r1, [r4, #0x0] + ldr r0, _02069690 ; =0x0000FFFF + cmp r1, r0 + bne _02069648 +_0206967C: + ldr r0, [sp, #0x0] + bl sub_02016A18 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02066A94 + add sp, #0x8 + pop {r3-r7, pc} + nop +_02069690: .word 0x0000FFFF +_02069694: .word 0x000001FF + + thumb_func_start sub_02069698 +sub_02069698: ; 0x02069698 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020690E4 + add r1, r4, #0x0 + bl sub_020696A8 + pop {r4, pc} + + thumb_func_start sub_020696A8 +sub_020696A8: ; 0x020696A8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + ldr r1, _02069700 ; =0x0000FFFF + add r6, r0, #0x0 + str r1, [sp, #0x4] + bl sub_02066A6C + mov r4, #0x0 + str r0, [sp, #0x0] + add r7, r4, #0x0 +_020696BE: + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x36 + add r2, r7, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _020696E0 + lsl r2, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_020697D4 + str r5, [sp, #0x4] + b _020696F0 +_020696E0: + cmp r0, r5 + bne _020696EA + ldr r0, _02069704 ; =0x0000FFFE + str r0, [sp, #0x4] + b _020696F0 +_020696EA: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _020696BE +_020696F0: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + bl sub_02066A94 + ldr r0, [sp, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + nop +_02069700: .word 0x0000FFFF +_02069704: .word 0x0000FFFE + + thumb_func_start sub_02069708 +sub_02069708: ; 0x02069708 + push {r4, lr} + add r4, r1, #0x0 + bl sub_020690E4 + add r1, r4, #0x0 + bl sub_02069718 + pop {r4, pc} + + thumb_func_start sub_02069718 +sub_02069718: ; 0x02069718 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + str r1, [sp, #0x0] + bl sub_02066A6C + str r0, [sp, #0xc] + add r0, sp, #0x18 + mov r4, #0x0 + str r0, [sp, #0x4] + add r7, sp, #0x14 + add r6, sp, #0x10 +_02069730: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x37 + mov r2, #0x0 + bl sub_020672BC + ldr r1, [sp, #0x4] + mov r2, #0x0 + strh r0, [r1, #0x0] + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3b + bl sub_020672BC + add r1, r4, #0x0 + strb r0, [r7, #0x0] + add r0, r5, #0x0 + add r1, #0x3f + mov r2, #0x0 + bl sub_020672BC + strb r0, [r6, #0x0] + ldr r0, [sp, #0x4] + add r4, r4, #0x1 + add r0, r0, #0x2 + str r0, [sp, #0x4] + add r7, r7, #0x1 + add r6, r6, #0x1 + cmp r4, #0x3 + blt _02069730 + ldr r0, [sp, #0x0] + add r1, sp, #0x10 + strh r0, [r1, #0xe] + ldr r0, [sp, #0x0] + mov r1, #0x5 + bl sub_0206AB18 + add r1, sp, #0x10 + strb r0, [r1, #0x7] + mov r4, #0x0 + add r0, sp, #0x18 + strb r4, [r1, #0x3] + str r0, [sp, #0x8] + add r7, sp, #0x14 + add r6, sp, #0x10 +_0206978A: + add r1, r4, #0x0 + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + add r1, #0x36 + bl sub_02067960 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + add r2, r7, #0x0 + bl sub_02067960 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3e + add r2, r6, #0x0 + bl sub_02067960 + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r0, r0, #0x2 + str r0, [sp, #0x8] + add r7, r7, #0x1 + add r6, r6, #0x1 + cmp r4, #0x4 + blt _0206978A + ldr r1, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02066A94 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020697CC +sub_020697CC: ; 0x020697CC + ldr r3, _020697D0 ; =sub_020697D4 + bx r3 + .balign 4 +_020697D0: .word sub_020697D4 + 1 + + thumb_func_start sub_020697D4 +sub_020697D4: ; 0x020697D4 + push {r0-r3} + push {r3-r5, lr} + add r4, r2, #0x0 + add r1, r4, #0x0 + add r1, #0x36 + add r2, sp, #0x14 + add r5, r0, #0x0 + bl sub_02067960 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3e + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + add r0, sp, #0x10 + ldrh r0, [r0, #0x4] + bl sub_0206AB30 + add r1, sp, #0x0 + strb r0, [r1, #0x0] + add r4, #0x3a + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0x0 + bl sub_02067960 + pop {r3-r5} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 + + thumb_func_start sub_02069818 +sub_02069818: ; 0x02069818 + push {r3-r7, lr} + sub sp, #0x10 + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x0 + mov r1, #0x2c + str r2, [sp, #0x0] + str r0, [sp, #0x8] + bl sub_02016998 + add r4, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + add r0, r7, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + add r0, r7, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0xc] + add r2, r4, #0x0 + bl sub_02069F9C + ldr r0, [r5, #0x0] + lsl r0, r0, #0x1 + ldrh r2, [r4, r0] + ldr r0, _020698D8 ; =0x0000FFFF + cmp r2, r0 + bne _0206987A + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0206987A: + mov r0, #0xfe + lsl r0, r0, #0x8 + add r3, r2, #0x0 + and r3, r0 + lsl r6, r6, #0x9 + cmp r6, r3 + beq _020698AC + ldr r1, _020698D8 ; =0x0000FFFF +_0206988A: + ldr r2, [r5, #0x0] + add r2, r2, #0x1 + str r2, [r5, #0x0] + lsl r2, r2, #0x1 + ldrh r2, [r4, r2] + cmp r2, r1 + bne _020698A4 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_020698A4: + add r3, r2, #0x0 + and r3, r0 + cmp r6, r3 + bne _0206988A +_020698AC: + cmp r6, r3 + bne _020698CC + ldr r0, _020698DC ; =0x000001FF + add r1, r2, #0x0 + and r1, r0 + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] + ldr r0, [r5, #0x0] + ldr r1, [sp, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + ldrh r1, [r1, #0x0] + add r0, r7, #0x0 + bl sub_02069698 + str r0, [sp, #0x8] +_020698CC: + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x8] + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_020698D8: .word 0x0000FFFF +_020698DC: .word 0x000001FF + + thumb_func_start sub_020698E0 +sub_020698E0: ; 0x020698E0 + ldr r3, _020698E4 ; =sub_020698E8 + bx r3 + .balign 4 +_020698E4: .word sub_020698E8 + 1 + + thumb_func_start sub_020698E8 +sub_020698E8: ; 0x020698E8 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r1, #0x36 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strh r0, [r1, #0x4] + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + mov r2, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strb r0, [r1, #0x2] + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3e + mov r2, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strb r0, [r1, #0x0] + add r1, r6, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strh r0, [r1, #0x6] + add r1, r6, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + mov r2, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strb r0, [r1, #0x3] + add r1, r6, #0x0 + add r0, r5, #0x0 + add r1, #0x3e + mov r2, #0x0 + bl sub_020672BC + add r1, sp, #0x0 + strb r0, [r1, #0x1] + add r1, r4, #0x0 + add r2, sp, #0x4 + add r0, r5, #0x0 + add r1, #0x36 + add r2, #0x2 + bl sub_02067960 + add r1, r4, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + add r2, #0x3 + bl sub_02067960 + add r4, #0x3e + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, #0x1 + bl sub_02067960 + add r1, r6, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + add r2, sp, #0x4 + bl sub_02067960 + add r1, r6, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + add r2, #0x2 + bl sub_02067960 + add r6, #0x3e + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, sp, #0x0 + bl sub_02067960 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020699A4 +sub_020699A4: ; 0x020699A4 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x3 + bhs _02069A0A + mov r7, #0x0 + add r6, sp, #0x0 +_020699B2: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x37 + add r2, r7, #0x0 + bl sub_020671BC + add r1, r4, #0x0 + strh r0, [r6, #0x2] + add r0, r5, #0x0 + add r1, #0x3b + mov r2, #0x0 + bl sub_020671BC + add r1, r4, #0x0 + strb r0, [r6, #0x1] + add r0, r5, #0x0 + add r1, #0x3f + mov r2, #0x0 + bl sub_020671BC + add r1, r4, #0x0 + add r2, sp, #0x0 + strb r0, [r6, #0x0] + add r0, r5, #0x0 + add r1, #0x36 + add r2, #0x2 + bl sub_02067830 + add r1, r4, #0x0 + add r2, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + add r2, #0x1 + bl sub_02067830 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x3e + add r2, sp, #0x0 + bl sub_02067830 + add r4, r4, #0x1 + cmp r4, #0x3 + blo _020699B2 +_02069A0A: + mov r1, #0x0 + add r0, sp, #0x0 + strh r1, [r0, #0x2] + strb r1, [r0, #0x1] + strb r1, [r0, #0x0] + add r2, sp, #0x0 + add r0, r5, #0x0 + mov r1, #0x39 + add r2, #0x2 + bl sub_02067830 + add r2, sp, #0x0 + add r0, r5, #0x0 + mov r1, #0x3d + add r2, #0x1 + bl sub_02067830 + add r0, r5, #0x0 + mov r1, #0x41 + add r2, sp, #0x0 + bl sub_02067830 + pop {r3-r7, pc} + + thumb_func_start sub_02069A38 +sub_02069A38: ; 0x02069A38 + push {r3-r7, lr} + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r1, #0x0 + add r7, r4, #0x0 +_02069A42: + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x36 + add r2, r7, #0x0 + bl sub_020671BC + cmp r5, r0 + beq _02069A58 + add r4, r4, #0x1 + cmp r4, #0x4 + blt _02069A42 +_02069A58: + cmp r4, #0x4 + beq _02069A60 + mov r0, #0x1 + pop {r3-r7, pc} +_02069A60: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02069A64 +sub_02069A64: ; 0x02069A64 + push {r4-r5, lr} + sub sp, #0x1c + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r3, r4, #0x0 + mov r2, #0x11 +_02069A74: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02069A74 + ldrh r1, [r4, #0x4] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1f + beq _02069A8E + mov r0, #0x1 + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strh r0, [r4, #0x4] +_02069A8E: + add r0, r4, #0x0 + mov r1, #0x9f + add r2, sp, #0x0 + bl sub_02067830 + add r0, r4, #0x0 + mov r1, #0xa2 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r4, #0x0 + mov r1, #0xa3 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + bl sub_020256BC + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xa9 + add r2, r5, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + mov r1, #0xa1 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + add r1, sp, #0x4 + mov r2, #0x18 + blx sub_020CE240 + add r0, r4, #0x0 + mov r1, #0xaa + add r2, sp, #0x4 + bl sub_02067830 + add r0, r4, #0x0 + bl sub_02066ED8 + add sp, #0x1c + pop {r4-r5, pc} + + thumb_func_start sub_02069AEC +sub_02069AEC: ; 0x02069AEC + push {r3-r7, lr} + str r0, [sp, #0x0] + bl sub_0206B9AC + add r7, r0, #0x0 + mov r6, #0x1 + mov r5, #0x0 + cmp r7, #0x0 + ble _02069B3C +_02069AFE: + ldr r0, [sp, #0x0] + add r1, r5, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069B36 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02069B36 + add r0, r4, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r6 + bls _02069B36 + add r6, r0, #0x0 +_02069B36: + add r5, r5, #0x1 + cmp r5, r7 + blt _02069AFE +_02069B3C: + add r0, r6, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02069B40 +sub_02069B40: ; 0x02069B40 + push {r3, lr} + sub sp, #0x8 + add r3, r0, #0x0 + mov r0, #0x2 + str r0, [sp, #0x0] + add r0, sp, #0x4 + mov r1, #0x6d + mov r2, #0x0 + lsl r3, r3, #0x1 + bl sub_02006548 + add r0, sp, #0x4 + ldrh r0, [r0, #0x0] + add sp, #0x8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02069B60 +sub_02069B60: ; 0x02069B60 + push {r3, lr} + sub sp, #0x8 + add r3, r0, #0x0 + mov r2, #0x0 + add r0, sp, #0x4 + strh r2, [r0, #0x0] + cmp r3, #0x97 + bhi _02069B7E + mov r0, #0x2 + str r0, [sp, #0x0] + add r0, sp, #0x4 + mov r1, #0x91 + lsl r3, r3, #0x1 + bl sub_02006548 +_02069B7E: + add r0, sp, #0x4 + ldrh r0, [r0, #0x0] + add sp, #0x8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02069B88 +sub_02069B88: ; 0x02069B88 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0x1d +_02069B90: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02069B90 + ldr r0, [r4, #0x0] + str r0, [r3, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_02069BA0 +sub_02069BA0: ; 0x02069BA0 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0x11 +_02069BA8: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02069BA8 + pop {r3-r4} + bx lr + + thumb_func_start sub_02069BB4 +sub_02069BB4: ; 0x02069BB4 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0x11 +_02069BBC: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02069BBC + pop {r3-r4} + bx lr + + thumb_func_start sub_02069BC8 +sub_02069BC8: ; 0x02069BC8 + ldr r3, _02069BCC ; =sub_02069BD0 + bx r3 + .balign 4 +_02069BCC: .word sub_02069BD0 + 1 + + thumb_func_start sub_02069BD0 +sub_02069BD0: ; 0x02069BD0 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r1, r4, #0x0 + bl sub_02069BE4 + pop {r4, pc} + + thumb_func_start sub_02069BE4 +sub_02069BE4: ; 0x02069BE4 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02068884 + lsl r1, r0, #0x2 + add r1, r0, r1 + ldr r0, _02069BF8 ; =0x020F7F16 + add r0, r0, r1 + ldrsb r0, [r4, r0] + pop {r4, pc} + .balign 4 +_02069BF8: .word 0x020F7F16 + + thumb_func_start sub_02069BFC +sub_02069BFC: ; 0x02069BFC + push {r3-r7, lr} + add r4, r0, #0x0 + add r7, r1, #0x0 + mov r0, #0x0 + mov r1, #0x2c + add r5, r2, #0x0 + bl sub_02016998 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02069F9C + ldrh r1, [r6, #0x0] + ldr r0, _02069C44 ; =0x0000FFFF + mov r4, #0x0 + cmp r1, r0 + beq _02069C3A + ldr r1, _02069C48 ; =0x000001FF + ldr r2, _02069C44 ; =0x0000FFFF + add r0, r6, #0x0 +_02069C28: + ldrh r3, [r0, #0x0] + add r0, r0, #0x2 + add r4, r4, #0x1 + and r3, r1 + strh r3, [r5, #0x0] + ldrh r3, [r0, #0x0] + add r5, r5, #0x2 + cmp r3, r2 + bne _02069C28 +_02069C3A: + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_02069C44: .word 0x0000FFFF +_02069C48: .word 0x000001FF + + thumb_func_start sub_02069C4C +sub_02069C4C: ; 0x02069C4C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_0206B9AC + add r6, r0, #0x0 + bl sub_0201B9EC + mov r1, #0x1 + lsl r1, r1, #0xe + cmp r0, r1 + beq _02069C70 + lsl r1, r1, #0x1 + cmp r0, r1 + beq _02069C70 + mov r1, #0x3 + lsl r1, r1, #0xe + cmp r0, r1 + bne _02069CF2 +_02069C70: + bl sub_0201B9EC + add r1, r6, #0x0 + blx sub_020EBC80 + add r0, r5, #0x0 + add r7, r1, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069C70 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02069C70 + add r0, r7, #0x0 + bl sub_0206A92C + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_02069CF4 + cmp r0, #0x0 + bne _02069CF2 + add r5, sp, #0x0 + mov r6, #0x7 +_02069CB8: + bl sub_0201B9EC + strb r0, [r5, #0x0] + ldrb r2, [r5, #0x0] + add r1, r2, #0x0 + and r1, r6 + beq _02069CB8 + mov r0, #0xf0 + tst r0, r2 + beq _02069CD0 + add r0, sp, #0x0 + strb r1, [r0, #0x0] +_02069CD0: + add r1, sp, #0x0 + ldrb r2, [r1, #0x0] + lsl r0, r2, #0x4 + orr r0, r2 + strb r0, [r1, #0x0] + ldrb r2, [r1, #0x0] + mov r0, #0xf3 + and r0, r2 + strb r0, [r1, #0x0] + ldrb r0, [r1, #0x0] + add r2, sp, #0x0 + add r0, r0, #0x1 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x99 + bl sub_02067830 +_02069CF2: + pop {r3-r7, pc} + + thumb_func_start sub_02069CF4 +sub_02069CF4: ; 0x02069CF4 + push {r3-r7, lr} + mov r6, #0x0 + add r5, r1, #0x0 + str r0, [sp, #0x0] + mov r4, #0x1 + add r7, r6, #0x0 + cmp r5, #0x0 + beq _02069D32 +_02069D04: + mov r0, #0x1 + tst r0, r5 + beq _02069D26 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x99 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069D26 + add r0, r7, #0x0 + orr r0, r4 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +_02069D26: + lsl r0, r5, #0x17 + add r6, r6, #0x1 + lsl r4, r4, #0x1 + lsr r5, r0, #0x18 + bne _02069D04 + b _02069D4A +_02069D32: + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x99 + add r2, r6, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069D4A + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +_02069D4A: + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02069D50 +sub_02069D50: ; 0x02069D50 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + add r5, r1, #0x0 + bl sub_0206B9AC + mov r6, #0x0 + str r0, [sp, #0x4] + cmp r0, #0x0 + ble _02069DC2 + add r4, sp, #0x8 +_02069D66: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r7, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069DBA + add r0, r7, #0x0 + mov r1, #0x99 + mov r2, #0x0 + bl sub_020671BC + strb r0, [r4, #0x0] + ldrb r1, [r4, #0x0] + mov r0, #0xf + and r0, r1 + beq _02069DBA + cmp r0, r5 + blt _02069D98 + cmp r5, #0x4 + ble _02069DA2 +_02069D98: + ldrb r1, [r4, #0x0] + mov r0, #0xf0 + and r0, r1 + strb r0, [r4, #0x0] + b _02069DA6 +_02069DA2: + sub r0, r1, r5 + strb r0, [r4, #0x0] +_02069DA6: + ldrb r0, [r4, #0x0] + cmp r0, #0x0 + bne _02069DB0 + mov r0, #0x10 + strb r0, [r4, #0x0] +_02069DB0: + add r0, r7, #0x0 + mov r1, #0x99 + add r2, sp, #0x8 + bl sub_02067830 +_02069DBA: + ldr r0, [sp, #0x4] + add r6, r6, #0x1 + cmp r6, r0 + blt _02069D66 +_02069DC2: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02069DC8 +sub_02069DC8: ; 0x02069DC8 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_0206B9AC + add r7, r0, #0x0 + bl sub_0201B9EC + mov r1, #0x3 + blx sub_020EBC80 + cmp r1, #0x0 + bne _02069E70 + mov r4, #0x0 + cmp r7, #0x0 + ble _02069E70 + sub r0, r7, #0x1 + str r0, [sp, #0x0] +_02069DEC: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02069E6A + add r0, r6, #0x0 + mov r1, #0x99 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x4 + strb r0, [r1, #0x0] + add r0, r1, #0x0 + ldrb r1, [r0, #0x0] + mov r0, #0xf + tst r0, r1 + beq _02069E6A + cmp r4, #0x0 + beq _02069E40 + add r0, r5, #0x0 + sub r1, r4, #0x1 + bl sub_0206B9B0 + mov r1, #0x99 + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + mov r1, #0xf0 + tst r0, r1 + bne _02069E40 + add r0, r6, #0x0 + mov r1, #0x99 + add r2, sp, #0x4 + bl sub_02067830 +_02069E40: + ldr r0, [sp, #0x0] + cmp r4, r0 + bge _02069E6A + add r0, r5, #0x0 + add r1, r4, #0x1 + bl sub_0206B9B0 + mov r1, #0x99 + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + mov r1, #0xf0 + tst r0, r1 + bne _02069E6A + add r0, r6, #0x0 + mov r1, #0x99 + add r2, sp, #0x4 + bl sub_02067830 + add r4, r4, #0x1 +_02069E6A: + add r4, r4, #0x1 + cmp r4, r7 + blt _02069DEC +_02069E70: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02069E74 +sub_02069E74: ; 0x02069E74 + ldr r3, _02069E78 ; =sub_02069E7C + bx r3 + .balign 4 +_02069E78: .word sub_02069E7C + 1 + + thumb_func_start sub_02069E7C +sub_02069E7C: ; 0x02069E7C + push {r3, lr} + mov r1, #0x99 + mov r2, #0x0 + bl sub_020672BC + mov r1, #0xf + tst r0, r1 + beq _02069E90 + mov r0, #0x1 + pop {r3, pc} +_02069E90: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02069E94 +sub_02069E94: ; 0x02069E94 + ldr r3, _02069E98 ; =sub_02069E9C + bx r3 + .balign 4 +_02069E98: .word sub_02069E9C + 1 + + thumb_func_start sub_02069E9C +sub_02069E9C: ; 0x02069E9C + push {r3, lr} + mov r1, #0x99 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0xf + tst r0, r1 + beq _02069EB4 + mov r0, #0x0 + pop {r3, pc} +_02069EB4: + mov r0, #0xf0 + tst r0, r1 + beq _02069EBE + mov r0, #0x1 + pop {r3, pc} +_02069EBE: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02069EC4 +sub_02069EC4: ; 0x02069EC4 + ldr r3, _02069EC8 ; =sub_02069ECC + bx r3 + .balign 4 +_02069EC8: .word sub_02069ECC + 1 + + thumb_func_start sub_02069ECC +sub_02069ECC: ; 0x02069ECC + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa + mov r2, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020672BC + ldr r1, _02069F20 ; =0x000001ED + cmp r4, r1 + bne _02069F1C + cmp r6, #0x79 + bne _02069F1C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + mov r2, #0x0 + bl sub_0206E7B8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_02069F24 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x70 + add r2, sp, #0x0 + bl sub_02067960 +_02069F1C: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02069F20: .word 0x000001ED + + thumb_func_start sub_02069F24 +sub_02069F24: ; 0x02069F24 + sub r0, #0x7d + cmp r0, #0xf + bhi _02069F96 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r6, r6, #0 + lsl r2, r7, #0 + lsl r6, r7, #0 + lsl r2, r0, #0x1 + lsl r6, r0, #0x1 + lsl r2, r1, #0x1 + lsl r6, r1, #0x1 + lsl r2, r2, #0x1 + lsl r6, r2, #0x1 + lsl r2, r3, #0x1 + mov r0, #0xa + bx lr +_02069F5A: + .byte 0x0B, 0x20, 0x70, 0x47, 0x0D, 0x20 + .byte 0x70, 0x47, 0x0C, 0x20, 0x70, 0x47, 0x0F, 0x20, 0x70, 0x47, 0x01, 0x20, 0x70, 0x47, 0x03, 0x20 + .byte 0x70, 0x47, 0x04, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x0E, 0x20, 0x70, 0x47, 0x06, 0x20 + .byte 0x70, 0x47, 0x05, 0x20, 0x70, 0x47, 0x07, 0x20, 0x70, 0x47, 0x10, 0x20, 0x70, 0x47, 0x11, 0x20 + .byte 0x70, 0x47, 0x08, 0x20, 0x70, 0x47 +_02069F96: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02069F9C +sub_02069F9C: ; 0x02069F9C + push {r4, lr} + add r4, r2, #0x0 + bl sub_0206A8FC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x21 + bl sub_020064F0 + pop {r4, pc} + + thumb_func_start sub_02069FB0 +sub_02069FB0: ; 0x02069FB0 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _0206A010 ; =0x000001B9 + add r4, r2, #0x0 + add r5, r1, #0x0 + add r6, r3, #0x0 + cmp r4, r0 + bne _02069FFC + add r0, r5, #0x0 + bl sub_02005F14 + cmp r0, #0x0 + bne _02069FE2 + mov r0, #0x1 + bl sub_02005E80 + ldr r0, [sp, #0x20] + ldr r3, [sp, #0x18] + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020056AC + pop {r3-r7, pc} +_02069FE2: + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + beq _02069FEE + mov r0, #0x1 + bl sub_02005E80 +_02069FEE: + ldr r2, [sp, #0x18] + add r0, r7, #0x0 + mov r1, #0x0 + add r3, r6, #0x0 + bl sub_02005E90 + pop {r3-r7, pc} +_02069FFC: + ldr r0, [sp, #0x20] + ldr r3, [sp, #0x18] + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_020056AC + pop {r3-r7, pc} + nop +_0206A010: .word 0x000001B9 + + thumb_func_start sub_0206A014 +sub_0206A014: ; 0x0206A014 + push {r3-r6, lr} + sub sp, #0xc + ldr r6, [sp, #0x20] + add r5, r0, #0x0 + str r6, [sp, #0x0] + ldr r6, [sp, #0x24] + add r4, r2, #0x0 + str r6, [sp, #0x4] + bl sub_0206A054 + cmp r4, #0xe + bne _0206A050 + add r0, r5, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0xa2 + add r2, sp, #0x8 + bl sub_02067830 + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x9f + add r2, sp, #0x8 + bl sub_02067830 +_0206A050: + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_0206A054 +sub_0206A054: ; 0x0206A054 + push {r0-r3} + push {r3-r4, lr} + sub sp, #0x4 + ldr r2, [sp, #0x24] + add r4, r0, #0x0 + str r2, [sp, #0x0] + mov r2, #0x0 + bl sub_020808AC + ldr r2, _0206A090 ; =0x020ECAC0 + add r0, r4, #0x0 + mov r1, #0x79 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x9a + add r2, sp, #0x18 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x9d + add r2, sp, #0x20 + bl sub_02067960 + add sp, #0x4 + pop {r3-r4} + pop {r3} + add sp, #0x10 + bx r3 + nop +_0206A090: .word 0x020ECAC0 + + thumb_func_start sub_0206A094 +sub_0206A094: ; 0x0206A094 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x81 + add r7, r2, #0x0 + tst r0, r1 + bne _0206A12E + bl sub_0201B9EC + mov r1, #0x64 + blx sub_020EBC80 + add r4, r1, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + mov r2, #0x10 + bl sub_02068654 + add r1, sp, #0x4 + strh r0, [r1, #0x2] + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + mov r2, #0x11 + bl sub_02068654 + add r1, sp, #0x4 + strh r0, [r1, #0x0] + ldrh r2, [r1, #0x2] + ldrh r0, [r1, #0x0] + cmp r2, r0 + bne _0206A104 + cmp r2, #0x0 + beq _0206A104 + add r2, sp, #0x4 + add r0, r5, #0x0 + mov r1, #0x6 + add r2, #0x2 + bl sub_02067830 + add sp, #0x8 + pop {r3-r7, pc} +_0206A104: + ldr r0, _0206A134 ; =0x020F7ECC + lsl r1, r7, #0x2 + ldrh r0, [r0, r1] + cmp r4, r0 + blo _0206A12E + ldr r0, _0206A138 ; =0x020F7ECE + ldrh r0, [r0, r1] + cmp r4, r0 + add r2, sp, #0x4 + bhs _0206A126 + add r0, r5, #0x0 + mov r1, #0x6 + add r2, #0x2 + bl sub_02067830 + add sp, #0x8 + pop {r3-r7, pc} +_0206A126: + add r0, r5, #0x0 + mov r1, #0x6 + bl sub_02067830 +_0206A12E: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0206A134: .word 0x020F7ECC +_0206A138: .word 0x020F7ECE + + thumb_func_start sub_0206A13C +sub_0206A13C: ; 0x0206A13C + ldr r3, _0206A140 ; =sub_0206A144 + bx r3 + .balign 4 +_0206A140: .word sub_0206A144 + 1 + + thumb_func_start sub_0206A144 +sub_0206A144: ; 0x0206A144 + push {r4-r6, lr} + add r6, r1, #0x0 + mov r1, #0xad + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, r6, #0x0 + bl sub_0206A16C + pop {r4-r6, pc} + + thumb_func_start sub_0206A16C +sub_0206A16C: ; 0x0206A16C + push {r4, lr} + ldr r3, _0206A1C0 ; =0x000001EE + cmp r0, r3 + bne _0206A178 + mov r0, #0x0 + pop {r4, pc} +_0206A178: + cmp r2, #0x20 + bhs _0206A186 + mov r3, #0x1 + add r4, r3, #0x0 + lsl r4, r2 + mov r2, #0x1d + b _0206A1B0 +_0206A186: + cmp r2, #0x40 + bhs _0206A196 + mov r3, #0x1 + sub r2, #0x20 + add r4, r3, #0x0 + lsl r4, r2 + mov r2, #0x1e + b _0206A1B0 +_0206A196: + cmp r2, #0x60 + bhs _0206A1A6 + mov r3, #0x1 + sub r2, #0x40 + add r4, r3, #0x0 + lsl r4, r2 + mov r2, #0x1f + b _0206A1B0 +_0206A1A6: + mov r3, #0x1 + sub r2, #0x60 + add r4, r3, #0x0 + lsl r4, r2 + mov r2, #0x20 +_0206A1B0: + bl sub_02068654 + tst r0, r4 + beq _0206A1BC + mov r0, #0x1 + pop {r4, pc} +_0206A1BC: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0206A1C0: .word 0x000001EE + + thumb_func_start sub_0206A1C4 +sub_0206A1C4: ; 0x0206A1C4 + ldr r3, _0206A1C8 ; =sub_0206A1CC + bx r3 + .balign 4 +_0206A1C8: .word sub_0206A1CC + 1 + + thumb_func_start sub_0206A1CC +sub_0206A1CC: ; 0x0206A1CC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02066A6C + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + mov r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_02068678 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_02068678 + str r0, [sp, #0x0] + cmp r0, #0x0 + beq _0206A226 + mov r0, #0x1 + tst r0, r6 + beq _0206A21A + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x0 + bl sub_02067960 + b _0206A230 +_0206A21A: + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x4 + bl sub_02067960 + b _0206A230 +_0206A226: + add r0, r5, #0x0 + mov r1, #0xa + add r2, sp, #0x4 + bl sub_02067960 +_0206A230: + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02066A94 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0206A23C +sub_0206A23C: ; 0x0206A23C + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + mov r0, #0x0 + str r1, [sp, #0x0] + bl sub_020669C0 + str r0, [sp, #0x4] + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02069B88 + ldr r0, [sp, #0x4] + ldr r1, [r5, #0x0] + mov r2, #0x0 + bl sub_0206A418 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r1, [r5, #0x0] + mov r2, #0x1 + bl sub_0206A418 + add r6, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r1, [r5, #0x0] + mov r2, #0x2 + bl sub_0206A418 + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r1, [r5, #0x0] + mov r2, #0x3 + bl sub_0206A418 + str r0, [sp, #0x8] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x0 + bl sub_0206A418 + str r0, [sp, #0xc] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_0206A418 + str r0, [sp, #0x10] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x2 + bl sub_0206A418 + str r0, [sp, #0x14] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x3 + bl sub_0206A418 + ldr r2, [sp, #0x4] + str r0, [sp, #0x18] + ldr r0, [sp, #0x4] + ldrh r2, [r2, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3D0 + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3D0 + ldr r0, [sp, #0x0] + str r0, [r5, #0x0] + ldr r2, [sp, #0xc] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0xc] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0xc] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0xc] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0xc] + ldr r2, [sp, #0x10] + ldmia r6!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x10] + ldmia r6!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x10] + ldmia r6!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x10] + ldmia r6!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x10] + ldr r2, [sp, #0x14] + ldmia r7!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x14] + ldmia r7!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x14] + ldmia r7!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x14] + ldmia r7!, {r0-r1} + stmia r2!, {r0-r1} + str r2, [sp, #0x14] + mov r0, #0x10 +_0206A32E: + ldr r1, [sp, #0x8] + ldrh r2, [r1, #0x0] + add r1, r1, #0x2 + str r1, [sp, #0x8] + ldr r1, [sp, #0x18] + strh r2, [r1, #0x0] + add r1, r1, #0x2 + str r1, [sp, #0x18] + sub r0, r0, #0x1 + bne _0206A32E + add r0, r5, #0x0 + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3F8 + strh r0, [r5, #0x6] + add r0, r5, #0x0 + ldrh r2, [r5, #0x6] + add r0, #0x8 + mov r1, #0x80 + bl sub_0206A3A4 + add r0, r5, #0x0 + ldr r2, [r5, #0x0] + add r0, #0x88 + mov r1, #0x64 + bl sub_0206A3A4 + ldr r0, [sp, #0x4] + bl sub_02016A18 + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start sub_0206A370 +sub_0206A370: ; 0x0206A370 + ldr r3, _0206A37C ; =sub_020064F0 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x2 + bx r3 + nop +_0206A37C: .word sub_020064F0 + 1 + + thumb_func_start sub_0206A380 +sub_0206A380: ; 0x0206A380 + push {r4, lr} + add r4, r2, #0x0 + bl sub_0206A8FC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_020064F0 + pop {r4, pc} + + thumb_func_start sub_0206A394 +sub_0206A394: ; 0x0206A394 + ldr r3, _0206A3A0 ; =sub_020064F0 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x22 + bx r3 + nop +_0206A3A0: .word sub_020064F0 + 1 + + thumb_func_start sub_0206A3A4 +sub_0206A3A4: ; 0x0206A3A4 + push {r0-r3} + push {r3-r7, lr} + add r5, r0, #0x0 + mov r4, #0x0 + lsr r6, r1, #0x1 + beq _0206A3C6 + add r7, sp, #0x20 +_0206A3B2: + add r0, r7, #0x0 + bl sub_0206A3D8 + ldrh r1, [r5, #0x0] + add r4, r4, #0x1 + eor r0, r1 + strh r0, [r5, #0x0] + add r5, r5, #0x2 + cmp r4, r6 + blo _0206A3B2 +_0206A3C6: + pop {r3-r7} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 + + thumb_func_start sub_0206A3D0 +sub_0206A3D0: ; 0x0206A3D0 + ldr r3, _0206A3D4 ; =sub_0206A3A4 + bx r3 + .balign 4 +_0206A3D4: .word sub_0206A3A4 + 1 + + thumb_func_start sub_0206A3D8 +sub_0206A3D8: ; 0x0206A3D8 + ldr r2, [r0, #0x0] + ldr r1, _0206A3F0 ; =0x41C64E6D + add r3, r2, #0x0 + mul r3, r1 + ldr r1, _0206A3F4 ; =0x00006073 + add r1, r3, r1 + str r1, [r0, #0x0] + lsr r0, r1, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + nop +_0206A3F0: .word 0x41C64E6D +_0206A3F4: .word 0x00006073 + + thumb_func_start sub_0206A3F8 +sub_0206A3F8: ; 0x0206A3F8 + push {r3-r4} + mov r3, #0x0 + add r2, r3, #0x0 + lsr r4, r1, #0x1 + beq _0206A412 +_0206A402: + ldrh r1, [r0, #0x0] + add r2, r2, #0x1 + add r0, r0, #0x2 + add r1, r3, r1 + lsl r1, r1, #0x10 + lsr r3, r1, #0x10 + cmp r2, r4 + blo _0206A402 +_0206A412: + add r0, r3, #0x0 + pop {r3-r4} + bx lr + + thumb_func_start sub_0206A418 +sub_0206A418: ; 0x0206A418 + push {r3, lr} + mov r3, #0x3e + lsl r3, r3, #0xc + and r3, r1 + lsr r3, r3, #0xd + cmp r3, #0x1f + bhi _0206A478 + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r7, #0 + lsl r0, r6, #0x1 + lsl r0, r4, #0x2 + lsl r0, r2, #0x3 + lsl r0, r0, #0x4 + lsl r0, r6, #0x4 + lsl r0, r4, #0x5 + lsl r2, r2, #0x6 + lsl r2, r0, #0x7 + lsl r2, r6, #0x7 + lsl r2, r4, #0x8 + lsl r2, r2, #0x9 + lsl r2, r0, #0xa + lsl r4, r6, #0xa + lsl r4, r4, #0xb + lsl r4, r2, #0xc + lsl r4, r0, #0xd + lsl r4, r6, #0xd + lsl r4, r4, #0xe + lsl r6, r2, #0xf + lsl r6, r0, #0x10 + lsl r6, r6, #0x10 + lsl r6, r4, #0x11 + lsl r6, r2, #0x12 + lsl r6, r7, #0 + lsl r0, r6, #0x1 + lsl r0, r4, #0x2 + lsl r0, r2, #0x3 + lsl r0, r0, #0x4 + lsl r0, r6, #0x4 + lsl r0, r4, #0x5 + lsl r2, r2, #0x6 + add r0, #0x8 + cmp r2, #0x3 + bls _0206A47A +_0206A478: + b _0206A8F8 +_0206A47A: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + add r1, r0, #0x0 + b _0206A8F8 +_0206A492: + .byte 0x01, 0x1C, 0x20, 0x31, 0x2F, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0x2C, 0xE2, 0x01, 0x1C + .byte 0x60, 0x31, 0x29, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 + .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C + .byte 0x1A, 0xE2, 0x01, 0x1C, 0x20, 0x31, 0x17, 0xE2, 0x01, 0x1C, 0x60, 0x31, 0x14, 0xE2, 0x01, 0x1C + .byte 0x40, 0x31, 0x11, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 + .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C + .byte 0x02, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0xFF, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xFC, 0xE1, 0x01, 0x1C + .byte 0x60, 0x31, 0xF9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 + .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C + .byte 0xEA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xE7, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xE4, 0xE1, 0x01, 0x1C + .byte 0x40, 0x31, 0xE1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 + .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C + .byte 0xD2, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xCF, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xCC, 0xE1, 0x01, 0x1C + .byte 0x20, 0x31, 0xC9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 + .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C + .byte 0xBA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xB7, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xB4, 0xE1, 0x01, 0x1C + .byte 0x20, 0x31, 0xB1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0xAD, 0xE1, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x20, 0x31, 0xA0, 0xE1, 0x01, 0x1C, 0x9E, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x9B, 0xE1 + .byte 0x01, 0x1C, 0x60, 0x31, 0x98, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x20, 0x31, 0x88, 0xE1, 0x01, 0x1C, 0x86, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x83, 0xE1 + .byte 0x01, 0x1C, 0x40, 0x31, 0x80, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x40, 0x31, 0x70, 0xE1, 0x01, 0x1C, 0x6E, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x6B, 0xE1 + .byte 0x01, 0x1C, 0x60, 0x31, 0x68, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x60, 0x31, 0x58, 0xE1, 0x01, 0x1C, 0x56, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x53, 0xE1 + .byte 0x01, 0x1C, 0x40, 0x31, 0x50, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x40, 0x31, 0x40, 0xE1, 0x01, 0x1C, 0x3E, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x3B, 0xE1 + .byte 0x01, 0x1C, 0x20, 0x31, 0x38, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44 + .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 + .byte 0x01, 0x1C, 0x60, 0x31, 0x28, 0xE1, 0x01, 0x1C, 0x26, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x23, 0xE1 + .byte 0x01, 0x1C, 0x20, 0x31, 0x20, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x1C, 0xE1, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x0F, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x0C, 0xE1, 0x01, 0x1C + .byte 0x0A, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x07, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0xF7, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xF4, 0xE0, 0x01, 0x1C + .byte 0xF2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xEF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xDF, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xDC, 0xE0, 0x01, 0x1C + .byte 0xDA, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xD7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0xC7, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xC4, 0xE0, 0x01, 0x1C + .byte 0xC2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xBF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xAF, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xAC, 0xE0, 0x01, 0x1C + .byte 0xAA, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xA7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18 + .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 + .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x97, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x94, 0xE0, 0x01, 0x1C + .byte 0x92, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x8F, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x8B, 0xE0 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x7E, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x7B, 0xE0 + .byte 0x01, 0x1C, 0x60, 0x31, 0x78, 0xE0, 0x01, 0x1C, 0x76, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x73, 0xD8 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x66, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x63, 0xE0 + .byte 0x01, 0x1C, 0x40, 0x31, 0x60, 0xE0, 0x01, 0x1C, 0x5E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5B, 0xD8 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x4E, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x4B, 0xE0 + .byte 0x01, 0x1C, 0x60, 0x31, 0x48, 0xE0, 0x01, 0x1C, 0x46, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x43, 0xD8 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x36, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x33, 0xE0 + .byte 0x01, 0x1C, 0x40, 0x31, 0x30, 0xE0, 0x01, 0x1C, 0x2E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2B, 0xD8 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x1E, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x1B, 0xE0 + .byte 0x01, 0x1C, 0x20, 0x31, 0x18, 0xE0, 0x01, 0x1C, 0x16, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x13, 0xD8 + .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 + .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x06, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x03, 0xE0 + .byte 0x01, 0x1C, 0x20, 0x31, 0x00, 0xE0, 0x01, 0x1C +_0206A8F8: + add r0, r1, #0x0 + pop {r3, pc} + + thumb_func_start sub_0206A8FC +sub_0206A8FC: ; 0x0206A8FC + ldr r3, _0206A928 ; =0x00000182 + cmp r0, r3 + beq _0206A90C + add r2, r3, #0x0 + add r2, #0x1b + cmp r0, r2 + beq _0206A91A + bx lr +_0206A90C: + cmp r1, #0x0 + beq _0206A926 + cmp r1, #0x3 + bgt _0206A926 + add r3, #0x6d + add r0, r1, r3 + bx lr +_0206A91A: + cmp r1, #0x0 + beq _0206A926 + cmp r1, #0x2 + bgt _0206A926 + add r3, #0x70 + add r0, r1, r3 +_0206A926: + bx lr + .balign 4 +_0206A928: .word 0x00000182 + + thumb_func_start sub_0206A92C +sub_0206A92C: ; 0x0206A92C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r4, #0x1 + cmp r5, #0x20 + blt _0206A93A + bl sub_02020C2C +_0206A93A: + mov r0, #0x0 + cmp r5, #0x0 + ble _0206A948 +_0206A940: + add r0, r0, #0x1 + lsl r4, r4, #0x1 + cmp r0, r5 + blt _0206A940 +_0206A948: + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0206A94C +sub_0206A94C: ; 0x0206A94C + mov r3, #0x1 + mov r2, #0x0 +_0206A950: + add r1, r0, #0x0 + tst r1, r3 + bne _0206A95E + add r2, r2, #0x1 + lsl r3, r3, #0x1 + cmp r2, #0x20 + blt _0206A950 +_0206A95E: + add r0, r2, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0206A964 +sub_0206A964: ; 0x0206A964 + ldr r3, _0206A980 ; =0x020F7EF2 + mov r2, #0x0 +_0206A968: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _0206A972 + mov r0, #0x1 + bx lr +_0206A972: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0x12 + blo _0206A968 + mov r0, #0x0 + bx lr + nop +_0206A980: .word 0x020F7EF2 + + thumb_func_start sub_0206A984 +sub_0206A984: ; 0x0206A984 + cmp r0, #0x12 + blo _0206A98A + mov r0, #0x0 +_0206A98A: + lsl r1, r0, #0x1 + ldr r0, _0206A994 ; =0x020F7EF2 + ldrh r0, [r0, r1] + bx lr + nop +_0206A994: .word 0x020F7EF2 + + thumb_func_start sub_0206A998 +sub_0206A998: ; 0x0206A998 + push {r3, lr} + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0206A964 + pop {r3, pc} + + thumb_func_start sub_0206A9AC +sub_0206A9AC: ; 0x0206A9AC + push {r3-r7, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r6, r2, #0x0 + bl sub_020239BC + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020672BC + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_020239CC + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x9c + mov r2, #0x0 + bl sub_020672BC + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020239A0 + add r7, r0, #0x0 + mov r0, #0x8 + add r1, r6, #0x0 + bl sub_020219F4 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x90 + add r2, r6, #0x0 + mov r4, #0x0 + bl sub_020672BC + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x4] + cmp r1, r0 + bne _0206AA1C + ldr r1, [sp, #0x8] + ldr r0, [sp, #0xc] + cmp r1, r0 + bne _0206AA1C + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_02021CE0 + cmp r0, #0x0 + bne _0206AA1C + mov r4, #0x1 +_0206AA1C: + add r0, r6, #0x0 + bl sub_02021A20 + add r0, r7, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206AA30 +sub_0206AA30: ; 0x0206AA30 + push {r3, lr} + cmp r0, #0x3f + bgt _0206AA48 + bge _0206AA6C + cmp r0, #0x1 + bgt _0206AA74 + cmp r0, #0x0 + blt _0206AA74 + beq _0206AA82 + cmp r0, #0x1 + beq _0206AA82 + b _0206AA74 +_0206AA48: + cmp r0, #0x5a + bgt _0206AA50 + beq _0206AA70 + b _0206AA74 +_0206AA50: + add r1, r0, #0x0 + sub r1, #0x5b + cmp r1, #0x3 + bhi _0206AA74 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r2, r1, #0 + lsl r2, r1, #0 + lsl r2, r1, #0 +_0206AA6C: + mov r0, #0x2 + pop {r3, pc} +_0206AA70: + sub r0, #0x57 + pop {r3, pc} +_0206AA74: + bl sub_0206AE00 + cmp r0, #0x1 + bne _0206AA80 + mov r0, #0x1 + pop {r3, pc} +_0206AA80: + mov r0, #0x0 +_0206AA82: + pop {r3, pc} + + thumb_func_start sub_0206AA84 +sub_0206AA84: ; 0x0206AA84 + push {r3-r4, lr} + sub sp, #0x1c + add r4, r0, #0x0 + mov r0, #0x0 + add r1, sp, #0x0 + strb r0, [r1, #0x0] + add r1, sp, #0x0 + add r1, #0x1 + mov r2, #0x18 + blx sub_020CE240 + add r0, r4, #0x0 + mov r1, #0xa1 + add r2, sp, #0x0 + bl sub_02067830 + add r2, sp, #0x0 + add r0, r4, #0x0 + mov r1, #0xaa + add r2, #0x1 + bl sub_02067830 + add sp, #0x1c + pop {r3-r4, pc} + + thumb_func_start sub_0206AAB4 +sub_0206AAB4: ; 0x0206AAB4 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_02066A6C + mov r4, #0x0 + str r0, [sp, #0x0] + add r7, r4, #0x0 + add r6, sp, #0x4 +_0206AAC6: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + add r2, r7, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0206AAF0 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x42 + mov r2, #0x0 + bl sub_020672BC + add r1, r4, #0x0 + strb r0, [r6, #0x0] + add r0, r5, #0x0 + add r1, #0x3a + add r2, sp, #0x4 + bl sub_02067960 +_0206AAF0: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _0206AAC6 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl sub_02066A94 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206AB04 +sub_0206AB04: ; 0x0206AB04 + push {r3, lr} + mov r1, #0x75 + lsl r1, r1, #0x6 + mov r2, #0x0 + str r1, [sp, #0x0] + mov r1, #0x9 + add r3, r2, #0x0 + bl sub_02006548 + pop {r3, pc} + + thumb_func_start sub_0206AB18 +sub_0206AB18: ; 0x0206AB18 + push {r4, lr} + sub sp, #0x10 + add r4, r1, #0x0 + add r1, sp, #0x0 + bl sub_0206ABB4 + add r0, sp, #0x0 + add r1, r4, #0x0 + bl sub_0206AB58 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_0206AB30 +sub_0206AB30: ; 0x0206AB30 + push {r3-r5, lr} + add r5, r1, #0x0 + cmp r5, #0x3 + bls _0206AB3A + mov r5, #0x3 +_0206AB3A: + mov r1, #0x5 + bl sub_0206AB18 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + mov r0, #0x14 + mul r0, r4 + mul r0, r5 + mov r1, #0x64 + blx sub_020EBC80 + add r0, r4, r0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r5, pc} + + thumb_func_start sub_0206AB58 +sub_0206AB58: ; 0x0206AB58 + cmp r1, #0xb + bhi _0206ABB0 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 + lsl r2, r4, #0 + lsl r6, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + lsl r2, r6, #0 + lsl r6, r6, #0 + lsl r4, r7, #0 + lsl r0, r0, #0x1 + lsl r4, r0, #0x1 + ldrh r0, [r0, #0x0] + bx lr +_0206AB84: + .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78, 0x70, 0x47, 0x00, 0x79, 0x70, 0x47 + .byte 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79, 0x70, 0x47, 0x00, 0x89, 0x70, 0x47 + .byte 0x0A, 0x21, 0x40, 0x56, 0x70, 0x47, 0xC0, 0x7A, 0x70, 0x47, 0x00, 0x7B, 0x70, 0x47, 0x40, 0x7B +_0206ABB0: + bx lr + .balign 4 + + thumb_func_start sub_0206ABB4 +sub_0206ABB4: ; 0x0206ABB4 + ldr r3, _0206ABC0 ; =sub_020064F0 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x9 + bx r3 + nop +_0206ABC0: .word sub_020064F0 + 1 + + thumb_func_start sub_0206ABC4 +sub_0206ABC4: ; 0x0206ABC4 + push {r3-r7, lr} + sub sp, #0x48 + str r2, [sp, #0x4] + ldr r2, _0206AC70 ; =0x0000022F + str r0, [sp, #0x0] + add r4, r1, #0x0 + ldr r3, [sp, #0x4] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + str r0, [sp, #0x10] + add r0, r4, #0x0 + bl sub_02024EC0 + bl sub_02024EE8 + ldr r4, [sp, #0x0] + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r5, r4, #0x0 + mov r7, #0x0 + str r0, [sp, #0x8] + add r5, #0x3c +_0206ABF4: + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _0206AC48 + add r1, sp, #0x14 + bl sub_0206ADE0 + ldr r3, [sp, #0x8] + add r6, sp, #0x14 + add r3, #0x28 + mov r2, #0x6 +_0206AC08: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206AC08 + ldr r0, [r6, #0x0] + str r0, [r3, #0x0] + add r0, sp, #0x14 + ldrb r0, [r0, #0x1] + cmp r0, #0x3f + bne _0206AC26 + ldr r1, [sp, #0xc] + add r0, r5, #0x0 + bl sub_02002248 + b _0206AC3E +_0206AC26: + ldr r0, [sp, #0x10] + ldr r1, [r4, #0x18] + bl sub_0200A914 + add r6, r0, #0x0 + add r1, r5, #0x0 + mov r2, #0x8 + bl sub_02021EF0 + add r0, r6, #0x0 + bl sub_02021A20 +_0206AC3E: + ldr r0, [sp, #0x0] + ldr r2, [sp, #0x4] + add r1, r7, #0x0 + bl sub_0206AE0C +_0206AC48: + ldr r0, [sp, #0x8] + add r7, r7, #0x1 + add r0, #0x34 + add r4, r4, #0x4 + add r5, #0x34 + str r0, [sp, #0x8] + cmp r7, #0x4 + blt _0206ABF4 + ldr r0, [sp, #0x0] + ldr r1, [r0, #0x0] + ldr r0, [sp, #0x24] + orr r1, r0 + ldr r0, [sp, #0x0] + str r1, [r0, #0x0] + ldr r0, [sp, #0x10] + bl sub_0200A8B8 + add sp, #0x48 + pop {r3-r7, pc} + nop +_0206AC70: .word 0x0000022F + + thumb_func_start sub_0206AC74 +sub_0206AC74: ; 0x0206AC74 + push {r4-r5, lr} + sub sp, #0x34 + add r5, r1, #0x0 + add r1, sp, #0x0 + bl sub_0206ADE0 + cmp r5, #0x9 + bhi _0206ACCC + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r2, #0 + lsl r0, r3, #0 + lsl r6, r3, #0 + lsl r4, r4, #0 + lsl r2, r5, #0 + lsl r2, r5, #0 + lsl r2, r5, #0 + lsl r2, r5, #0 + lsl r4, r6, #0 + lsl r0, r7, #0 + add r0, sp, #0x0 + ldrb r4, [r0, #0x0] + b _0206ACCC +_0206ACAA: + .byte 0x00, 0xA8, 0x44, 0x78, 0x0D, 0xE0 + .byte 0x00, 0xA8, 0x84, 0x78, 0x0A, 0xE0, 0x00, 0xA8, 0xC4, 0x78, 0x07, 0xE0, 0x28, 0x1F, 0x41, 0x00 + .byte 0x01, 0xA8, 0x44, 0x5A, 0x02, 0xE0, 0x03, 0x9C, 0x00, 0xE0, 0x04, 0x9C +_0206ACCC: + add r0, r4, #0x0 + add sp, #0x34 + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0206ACD4 +sub_0206ACD4: ; 0x0206ACD4 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + add r7, r1, #0x0 + ldr r1, [sp, #0x4] + mov r0, #0x3b + add r4, r2, #0x0 + bl sub_020065A4 + add r6, r0, #0x0 + mov r0, #0x2 + str r0, [sp, #0x0] + add r0, sp, #0xc + mov r1, #0x89 + mov r2, #0x0 + lsl r3, r5, #0x1 + bl sub_02006548 + mov r0, #0x3b + add r1, r4, #0x0 + bl sub_02006670 + add r4, sp, #0xc + ldrh r2, [r4, #0x0] + str r0, [sp, #0x8] + cmp r2, r6 + beq _0206AD40 +_0206AD0E: + add r0, sp, #0xc + add r0, #0x2 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + mov r1, #0x0 + mov r3, #0x4 + bl sub_02006814 + ldrh r1, [r4, #0x2] + cmp r1, r5 + bne _0206AD30 + ldrh r0, [r4, #0x4] + cmp r0, r7 + bne _0206AD30 + mov r0, #0x1 + str r0, [sp, #0x4] + b _0206AD40 +_0206AD30: + cmp r1, r5 + bne _0206AD40 + ldrh r0, [r4, #0x0] + add r0, r0, #0x4 + strh r0, [r4, #0x0] + ldrh r2, [r4, #0x0] + cmp r2, r6 + bne _0206AD0E +_0206AD40: + ldr r0, [sp, #0x8] + bl sub_020066F4 + ldr r0, [sp, #0x4] + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0206AD4C +sub_0206AD4C: ; 0x0206AD4C + push {r3-r7, lr} + sub sp, #0x18 + add r6, r0, #0x0 + add r7, r1, #0x0 + mov r0, #0x3b + mov r1, #0x0 + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl sub_020065A4 + add r5, r0, #0x0 + mov r0, #0x2 + str r0, [sp, #0x0] + add r0, sp, #0x10 + mov r1, #0x89 + mov r2, #0x0 + lsl r3, r6, #0x1 + bl sub_02006548 + ldr r1, [sp, #0x8] + mov r0, #0x3b + bl sub_02006670 + add r4, sp, #0x10 + ldrh r2, [r4, #0x0] + str r0, [sp, #0xc] + cmp r2, r5 + beq _0206ADC2 +_0206AD84: + add r0, sp, #0x10 + add r0, #0x2 + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r1, #0x0 + mov r3, #0x4 + bl sub_02006814 + ldrh r0, [r4, #0x2] + cmp r0, r6 + bne _0206ADB6 + ldrh r0, [r4, #0x4] + cmp r0, r7 + bne _0206ADB6 + ldr r0, [sp, #0x4] + add r2, sp, #0x10 + str r0, [sp, #0x0] + ldrh r2, [r2, #0x0] + ldr r1, _0206ADDC ; =0x0000022E + ldr r3, [sp, #0x8] + mov r0, #0x1a + lsr r2, r2, #0x2 + bl sub_0200A648 + b _0206ADC2 +_0206ADB6: + ldrh r0, [r4, #0x0] + add r0, r0, #0x4 + strh r0, [r4, #0x0] + ldrh r2, [r4, #0x0] + cmp r2, r5 + bne _0206AD84 +_0206ADC2: + ldr r0, [sp, #0xc] + bl sub_020066F4 + add r0, sp, #0x10 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bne _0206ADD6 + ldr r0, [sp, #0x4] + bl sub_02021A4C +_0206ADD6: + add sp, #0x18 + pop {r3-r7, pc} + nop +_0206ADDC: .word 0x0000022E + + thumb_func_start sub_0206ADE0 +sub_0206ADE0: ; 0x0206ADE0 + ldr r3, _0206ADEC ; =sub_020064F0 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x39 + bx r3 + nop +_0206ADEC: .word sub_020064F0 + 1 + + thumb_func_start sub_0206ADF0 +sub_0206ADF0: ; 0x0206ADF0 + ldr r3, _0206ADFC ; =sub_020064F0 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x3a + bx r3 + nop +_0206ADFC: .word sub_020064F0 + 1 + + thumb_func_start sub_0206AE00 +sub_0206AE00: ; 0x0206AE00 + ldr r1, _0206AE08 ; =0x020F8010 + ldrb r0, [r1, r0] + bx lr + nop +_0206AE08: .word 0x020F8010 + + thumb_func_start sub_0206AE0C +sub_0206AE0C: ; 0x0206AE0C + push {r3-r7, lr} + sub sp, #0x50 + add r7, r1, #0x0 + add r4, r0, #0x0 + add r5, r2, #0x0 + bl sub_0201B9D4 + lsl r6, r7, #0x2 + str r0, [sp, #0x44] + add r0, r4, r6 + ldr r0, [r0, #0x4] + mov r1, #0x6 + bl sub_0206B8CC + add r0, r5, #0x0 + mov r1, #0x60 + bl sub_02016998 + str r0, [sp, #0x4c] + add r0, r5, #0x0 + bl sub_020669C0 + str r0, [sp, #0x40] + add r0, r4, r6 + ldr r0, [r0, #0x18] + ldr r1, [sp, #0x4c] + bl sub_0206ADF0 + mov r0, #0x34 + add r5, r7, #0x0 + mul r5, r0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + bl sub_0206AE00 + cmp r0, #0x1 + bne _0206AE5E + mov r0, #0x78 + str r0, [sp, #0x10] + b _0206AE62 +_0206AE5E: + mov r0, #0x88 + str r0, [sp, #0x10] +_0206AE62: + add r0, r4, r5 + add r0, #0x28 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bhi _0206AF26 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r5, #0x2 + lsl r6, r5, #0x5 + lsl r2, r2, #0x8 + mov r0, #0x0 + str r0, [sp, #0x48] + add r0, r4, r5 + add r0, #0x2b + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ble _0206AF26 + ldr r0, [sp, #0x4c] + str r0, [sp, #0x28] + add r0, r4, r6 + str r0, [sp, #0x24] +_0206AE96: + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x28] + ldr r1, [r0, #0x18] + ldr r0, [sp, #0x28] + ldrh r3, [r2, #0x0] + ldrh r2, [r2, #0x2] + ldrh r0, [r0, #0x4] + add r2, r3, r2 + add r0, r0, r2 + add r7, r1, r0 + add r0, r7, #0x0 + bl sub_0201B9E0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + ble _0206AECE +_0206AEBC: + bl sub_0201B9EC + add r7, r0, #0x0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + add r6, r6, #0x1 + cmp r6, r0 + blt _0206AEBC +_0206AECE: + ldr r0, [sp, #0x10] + lsl r1, r7, #0x8 + add r6, r1, r0 + ldr r0, [sp, #0x28] + ldrh r1, [r0, #0x0] + mov r0, #0x1f + mul r0, r1 + mov r1, #0xff + blx sub_020EBC80 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + lsl r3, r3, #0x18 + str r6, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r1, [sp, #0x28] + ldr r2, [sp, #0x28] + ldrh r1, [r1, #0x4] + ldrh r2, [r2, #0x2] + ldr r0, [sp, #0x40] + lsr r3, r3, #0x18 + bl sub_02066ACC + ldr r0, [sp, #0x24] + ldr r1, [sp, #0x40] + ldr r0, [r0, #0x4] + bl sub_0206B900 + ldr r0, [sp, #0x28] + add r0, r0, #0x6 + str r0, [sp, #0x28] + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] + add r0, r4, r5 + add r0, #0x2b + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x48] + cmp r0, r1 + blt _0206AE96 +_0206AF26: + b _0206B156 +_0206AF28: + .byte 0x00, 0x20, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30 + .byte 0x00, 0x78, 0x00, 0x28, 0x57, 0xDD, 0x13, 0x98, 0x0C, 0x90, 0xA0, 0x19, 0x0B, 0x90, 0x0B, 0x98 + .byte 0x0C, 0x9A, 0x81, 0x69, 0x0C, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88, 0x9A, 0x18, 0x80, 0x18 + .byte 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x44, 0xFD, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26 + .byte 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x42, 0xFD, 0x07, 0x1C, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78 + .byte 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18, 0x0C, 0x98, 0x01, 0x88 + .byte 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0x7C, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90 + .byte 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0x0C, 0x99, 0x0C, 0x9A + .byte 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0x90, 0xFD, 0x0C, 0x9F, 0x00, 0x26 + .byte 0xF9, 0x88, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x08, 0xFC, 0x76, 0x1C, 0xBF, 0x1C + .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0B, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0x99, 0xFC, 0x0C, 0x98 + .byte 0x0E, 0x30, 0x0C, 0x90, 0x06, 0x98, 0x40, 0x1C, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78 + .byte 0x06, 0x98, 0x88, 0x42, 0xAB, 0xDB, 0xB6, 0xE0, 0x00, 0x20, 0x07, 0x90, 0x60, 0x19, 0x2B, 0x30 + .byte 0x00, 0x78, 0x00, 0x28, 0x49, 0xDD, 0xA0, 0x19, 0x13, 0x9F, 0x0D, 0x90, 0x0D, 0x98, 0x3B, 0x88 + .byte 0x7A, 0x88, 0x81, 0x69, 0xB8, 0x88, 0x9A, 0x18, 0x80, 0x18, 0x08, 0x18, 0x05, 0x90, 0xB0, 0xF7 + .byte 0xE7, 0xFC, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7 + .byte 0xE5, 0xFC, 0x05, 0x90, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB + .byte 0x05, 0x98, 0x01, 0x02, 0x04, 0x98, 0x0E, 0x18, 0x39, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21 + .byte 0x80, 0xF0, 0x1E, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20 + .byte 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0xB9, 0x88, 0x7A, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7 + .byte 0x35, 0xFD, 0x10, 0x98, 0x06, 0x21, 0xBA, 0x1D, 0xFC, 0xF7, 0xE2, 0xFB, 0x0D, 0x98, 0x10, 0x99 + .byte 0x40, 0x68, 0x00, 0xF0, 0x45, 0xFC, 0x07, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x07, 0x90, 0x60, 0x19 + .byte 0x2B, 0x30, 0x01, 0x78, 0x07, 0x98, 0x88, 0x42, 0xB8, 0xDB, 0x64, 0xE0, 0x00, 0x20, 0x08, 0x90 + .byte 0x60, 0x19, 0x2B, 0x30, 0x00, 0x78, 0x00, 0x28, 0x5D, 0xDD, 0x13, 0x98, 0x0F, 0x90, 0xA0, 0x19 + .byte 0x0E, 0x90, 0x0E, 0x98, 0x0F, 0x9A, 0x81, 0x69, 0x0F, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88 + .byte 0x9A, 0x18, 0x80, 0x18, 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x92, 0xFC, 0x60, 0x19, 0x29, 0x30 + .byte 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x90, 0xFC, 0x07, 0x1C, 0x60, 0x19 + .byte 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18 + .byte 0x0F, 0x98, 0x01, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0xCA, 0xED, 0x03, 0x1C + .byte 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90 + .byte 0x0F, 0x99, 0x0F, 0x9A, 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0xDE, 0xFC + .byte 0x0F, 0x9A, 0x10, 0x98, 0x06, 0x21, 0x92, 0x1D, 0xFC, 0xF7, 0x8A, 0xFB, 0x0F, 0x9F, 0x00, 0x26 + .byte 0x39, 0x89, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x50, 0xFB, 0x76, 0x1C, 0xBF, 0x1C + .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0E, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0xE1, 0xFB, 0x0F, 0x98 + .byte 0x10, 0x30, 0x0F, 0x90, 0x08, 0x98, 0x40, 0x1C, 0x08, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78 + .byte 0x08, 0x98, 0x88, 0x42, 0xA5, 0xDB +_0206B156: + ldr r0, [sp, #0x4c] + bl sub_02016A18 + ldr r0, [sp, #0x40] + bl sub_02016A18 + ldr r0, [sp, #0x44] + bl sub_0201B9E0 + add sp, #0x50 + pop {r3-r7, pc} + + thumb_func_start sub_0206B16C +sub_0206B16C: ; 0x0206B16C + push {r3, lr} + bl sub_0206B180 + bl sub_02022830 + pop {r3, pc} + + thumb_func_start sub_0206B178 +sub_0206B178: ; 0x0206B178 + ldr r0, _0206B17C ; =0x000121C8 + bx lr + .balign 4 +_0206B17C: .word 0x000121C8 + + thumb_func_start sub_0206B180 +sub_0206B180: ; 0x0206B180 + push {r3-r7, lr} + str r0, [sp, #0x0] + mov r7, #0x0 + add r6, r0, #0x4 +_0206B188: + mov r4, #0x0 + add r5, r6, #0x0 +_0206B18C: + add r0, r5, #0x0 + bl sub_020669A0 + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blo _0206B18C + mov r0, #0xff + lsl r0, r0, #0x4 + add r7, r7, #0x1 + add r6, r6, r0 + cmp r7, #0x12 + blo _0206B188 + mov r3, #0x0 + ldr r1, _0206B200 ; =0x000121B4 + add r4, r3, #0x0 + add r2, r3, #0x0 +_0206B1AE: + ldr r0, [sp, #0x0] + add r0, r0, r3 + strb r4, [r0, r1] + add r4, r4, #0x1 + cmp r4, #0x10 + blo _0206B1BC + add r4, r2, #0x0 +_0206B1BC: + add r3, r3, #0x1 + cmp r3, #0x12 + blo _0206B1AE + ldr r1, _0206B204 ; =0x000121C6 + ldr r0, [sp, #0x0] + mov r3, #0x0 + strb r3, [r0, r1] + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xe + bl sub_0200A86C + add r6, r0, #0x0 + beq _0206B1F8 + ldr r1, _0206B208 ; =0x00011EE4 + ldr r0, [sp, #0x0] + mov r5, #0x0 + add r4, r0, r1 +_0206B1E0: + add r0, r6, #0x0 + add r1, r5, #0x6 + add r2, r4, #0x0 + bl sub_0200A968 + add r5, r5, #0x1 + add r4, #0x28 + cmp r5, #0x12 + blo _0206B1E0 + add r0, r6, #0x0 + bl sub_0200A8B8 +_0206B1F8: + ldr r0, [sp, #0x0] + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 +_0206B200: .word 0x000121B4 +_0206B204: .word 0x000121C6 +_0206B208: .word 0x00011EE4 + + thumb_func_start sub_0206B20C +sub_0206B20C: ; 0x0206B20C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r4, [r5, #0x0] + add r6, r1, #0x0 + mov r7, #0x0 +_0206B216: + add r0, r6, #0x0 + bl sub_0206AAB4 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_0206B244 + cmp r0, #0x0 + beq _0206B232 + bl sub_02022830 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B232: + add r4, r4, #0x1 + cmp r4, #0x12 + blo _0206B23A + add r4, r7, #0x0 +_0206B23A: + ldr r0, [r5, #0x0] + cmp r4, r0 + bne _0206B216 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206B244 +sub_0206B244: ; 0x0206B244 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r0, #0x0 + add r0, r2, #0x0 + add r5, r1, #0x0 + str r2, [sp, #0x0] + bl sub_0206AAB4 + mov r0, #0x0 + mvn r0, r0 + cmp r5, r0 + bne _0206B25E + ldr r5, [r6, #0x0] +_0206B25E: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r6, #0x4 + mul r0, r5 + mov r4, #0x0 + add r5, r1, r0 + str r5, [sp, #0x4] + mov r6, #0x5 + add r7, r4, #0x0 +_0206B270: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _0206B2A0 + mov r0, #0x88 + add r1, r4, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + mov r3, #0x11 + add r4, r0, r1 +_0206B28A: + ldr r2, [sp, #0x0] + sub r3, r3, #0x1 + ldmia r2!, {r0-r1} + str r2, [sp, #0x0] + stmia r4!, {r0-r1} + bne _0206B28A + bl sub_02022830 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B2A0: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blo _0206B270 + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B2B0 +sub_0206B2B0: ; 0x0206B2B0 + push {r3-r7, lr} + add r7, r3, #0x0 + add r5, r0, #0x0 + add r0, r7, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0206AAB4 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B2CA + ldr r4, [r5, #0x0] +_0206B2CA: + cmp r4, #0x12 + bhs _0206B2F4 + cmp r6, #0x1e + bhs _0206B2F4 + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + add r3, r0, #0x4 + mov r2, #0x11 +_0206B2E4: + ldmia r7!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206B2E4 + bl sub_02022830 + mov r0, #0x1 + pop {r3-r7, pc} +_0206B2F4: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206B2FC +sub_0206B2FC: ; 0x0206B2FC + push {r3, lr} + mov r3, #0x0 + mvn r3, r3 + cmp r1, r3 + bne _0206B308 + ldr r1, [r0, #0x0] +_0206B308: + cmp r2, #0x1e + bhs _0206B32A + cmp r1, #0x12 + bhs _0206B32A + add r3, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r1 + add r1, r3, r0 + mov r0, #0x88 + mul r0, r2 + add r0, r1, r0 + bl sub_020669A0 + bl sub_02022830 + pop {r3, pc} +_0206B32A: + bl sub_02020C2C + pop {r3, pc} + + thumb_func_start sub_0206B330 +sub_0206B330: ; 0x0206B330 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0206B334 +sub_0206B334: ; 0x0206B334 + push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x0] + ldr r6, [r0, #0x0] + add r0, r0, #0x4 + mov r7, #0xab + str r0, [sp, #0x4] +_0206B342: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r6, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + mov r4, #0x0 + add r5, r0, r1 +_0206B350: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _0206B364 + add sp, #0x8 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0206B364: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blt _0206B350 + add r6, r6, #0x1 + cmp r6, #0x12 + blt _0206B374 + mov r6, #0x0 +_0206B374: + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + cmp r6, r0 + bne _0206B342 + mov r0, #0x12 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B384 +sub_0206B384: ; 0x0206B384 + push {r3-r7, lr} + add r6, r1, #0x0 + str r2, [sp, #0x0] + mov r1, #0x0 + ldr r2, [r6, #0x0] + mvn r1, r1 + cmp r2, r1 + bne _0206B398 + ldr r1, [r0, #0x0] + str r1, [r6, #0x0] +_0206B398: + ldr r1, [sp, #0x0] + ldr r4, [r6, #0x0] + ldr r5, [r1, #0x0] + add r7, r0, #0x4 + b _0206B3C8 +_0206B3A2: + mov r0, #0xff + lsl r0, r0, #0x4 + mul r0, r4 + add r1, r7, r0 + mov r0, #0x88 + mul r0, r5 + add r0, r1, r0 + mov r1, #0xab + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _0206B3C6 + ldr r0, [sp, #0x0] + str r4, [r6, #0x0] + str r5, [r0, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} +_0206B3C6: + add r5, r5, #0x1 +_0206B3C8: + cmp r5, #0x1e + blt _0206B3A2 + add r4, r4, #0x1 + cmp r4, #0x12 + blt _0206B3D4 + mov r4, #0x0 +_0206B3D4: + ldr r0, [r6, #0x0] + cmp r4, r0 + beq _0206B3DE + mov r5, #0x0 + b _0206B3C8 +_0206B3DE: + mov r0, #0x12 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B3E4 +sub_0206B3E4: ; 0x0206B3E4 + push {r3-r7, lr} + sub sp, #0x8 + mov r6, #0x0 + add r0, r0, #0x4 + str r6, [sp, #0x4] + str r0, [sp, #0x0] + mov r7, #0xab +_0206B3F2: + ldr r5, [sp, #0x0] + mov r4, #0x0 +_0206B3F6: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0206B406 + add r6, r6, #0x1 +_0206B406: + add r4, r4, #0x1 + add r5, #0x88 + cmp r4, #0x1e + blt _0206B3F6 + mov r0, #0xff + ldr r1, [sp, #0x0] + lsl r0, r0, #0x4 + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, #0x12 + blt _0206B3F2 + add r0, r6, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0206B428 +sub_0206B428: ; 0x0206B428 + push {r3, lr} + cmp r1, #0x12 + bhs _0206B436 + str r1, [r0, #0x0] + bl sub_02022830 + pop {r3, pc} +_0206B436: + bl sub_02020C2C + pop {r3, pc} + + thumb_func_start sub_0206B43C +sub_0206B43C: ; 0x0206B43C + push {r3, lr} + cmp r1, #0x12 + bhs _0206B44A + add r1, r0, r1 + ldr r0, _0206B454 ; =0x000121B4 + ldrb r0, [r1, r0] + pop {r3, pc} +_0206B44A: + bl sub_02020C2C + mov r0, #0x0 + pop {r3, pc} + nop +_0206B454: .word 0x000121B4 + + thumb_func_start sub_0206B458 +sub_0206B458: ; 0x0206B458 + push {r3, lr} + mov r3, #0x0 + mvn r3, r3 + cmp r1, r3 + bne _0206B464 + ldr r1, [r0, #0x0] +_0206B464: + cmp r1, #0x12 + bhs _0206B478 + cmp r2, #0x18 + bhs _0206B478 + add r1, r0, r1 + ldr r0, _0206B480 ; =0x000121B4 + strb r2, [r1, r0] + bl sub_02022830 + pop {r3, pc} +_0206B478: + bl sub_02020C2C + pop {r3, pc} + nop +_0206B480: .word 0x000121B4 + + thumb_func_start sub_0206B484 +sub_0206B484: ; 0x0206B484 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0206B492 + ldr r1, [r3, #0x0] +_0206B492: + cmp r1, #0x12 + bhs _0206B4A8 + add r0, r2, #0x0 + ldr r2, _0206B4B0 ; =0x00011EE4 + add r3, r3, r2 + mov r2, #0x28 + mul r2, r1 + add r1, r3, r2 + bl sub_02021E28 + pop {r3, pc} +_0206B4A8: + bl sub_02020C2C + pop {r3, pc} + nop +_0206B4B0: .word 0x00011EE4 + + thumb_func_start sub_0206B4B4 +sub_0206B4B4: ; 0x0206B4B4 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0206B4C2 + ldr r1, [r3, #0x0] +_0206B4C2: + cmp r1, #0x12 + bhs _0206B4DC + add r0, r2, #0x0 + ldr r2, _0206B4E0 ; =0x00011EE4 + add r3, r3, r2 + mov r2, #0x28 + mul r2, r1 + add r1, r3, r2 + mov r2, #0x14 + bl sub_02021EF0 + bl sub_02022830 +_0206B4DC: + pop {r3, pc} + nop +_0206B4E0: .word 0x00011EE4 + + thumb_func_start sub_0206B4E4 +sub_0206B4E4: ; 0x0206B4E4 + push {r3-r7, lr} + mov r2, #0x0 + mvn r2, r2 + cmp r1, r2 + bne _0206B4F0 + ldr r1, [r0, #0x0] +_0206B4F0: + cmp r1, #0x12 + bhs _0206B520 + add r2, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mov r4, #0x0 + mul r0, r1 + add r6, r4, #0x0 + add r5, r2, r0 + mov r7, #0xab +_0206B504: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0206B514 + add r4, r4, #0x1 +_0206B514: + add r6, r6, #0x1 + add r5, #0x88 + cmp r6, #0x1e + blt _0206B504 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0206B520: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206B528 +sub_0206B528: ; 0x0206B528 + push {r3-r7, lr} + mov r2, #0x0 + mvn r2, r2 + cmp r1, r2 + bne _0206B534 + ldr r1, [r0, #0x0] +_0206B534: + cmp r1, #0x12 + bhs _0206B572 + add r2, r0, #0x4 + mov r0, #0xff + lsl r0, r0, #0x4 + mov r4, #0x0 + mul r0, r1 + add r6, r4, #0x0 + add r5, r2, r0 + mov r7, #0xab +_0206B548: + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0206B566 + add r0, r5, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _0206B566 + add r4, r4, #0x1 +_0206B566: + add r6, r6, #0x1 + add r5, #0x88 + cmp r6, #0x1e + blt _0206B548 + add r0, r4, #0x0 + pop {r3-r7, pc} +_0206B572: + bl sub_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B57C +sub_0206B57C: ; 0x0206B57C + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_0206B584: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_0206B528 + add r5, r5, #0x1 + add r4, r4, r0 + cmp r5, #0x12 + blo _0206B584 + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0206B598 +sub_0206B598: ; 0x0206B598 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x12 + blo _0206B5B2 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0206B5B2 + bl sub_02020C2C +_0206B5B2: + cmp r6, #0x1e + blo _0206B5BA + bl sub_02020C2C +_0206B5BA: + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B5C4 + ldr r4, [r5, #0x0] +_0206B5C4: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r5, #0x4 + mul r0, r4 + add r1, r1, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + ldr r2, [sp, #0x18] + add r1, r7, #0x0 + bl sub_02067960 + bl sub_02022830 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B5E4 +sub_0206B5E4: ; 0x0206B5E4 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x12 + blo _0206B5FC + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0206B5FC + bl sub_02020C2C +_0206B5FC: + cmp r6, #0x1e + blo _0206B604 + bl sub_02020C2C +_0206B604: + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0206B60E + ldr r4, [r5, #0x0] +_0206B60E: + mov r0, #0xff + lsl r0, r0, #0x4 + add r1, r5, #0x4 + mul r0, r4 + add r1, r1, r0 + mov r0, #0x88 + mul r0, r6 + add r0, r1, r0 + pop {r4-r6, pc} + + thumb_func_start sub_0206B620 +sub_0206B620: ; 0x0206B620 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blo _0206B62E + bl sub_02020C2C +_0206B62E: + ldr r0, _0206B640 ; =0x000121C6 + mov r1, #0x1 + ldrb r2, [r5, r0] + lsl r1, r4 + orr r1, r2 + strb r1, [r5, r0] + bl sub_02022830 + pop {r3-r5, pc} + .balign 4 +_0206B640: .word 0x000121C6 + + thumb_func_start sub_0206B644 +sub_0206B644: ; 0x0206B644 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x8 + blo _0206B652 + bl sub_02020C2C +_0206B652: + ldr r0, _0206B664 ; =0x000121C6 + ldrb r2, [r5, r0] + mov r0, #0x1 + add r1, r0, #0x0 + lsl r1, r4 + tst r1, r2 + bne _0206B662 + mov r0, #0x0 +_0206B662: + pop {r3-r5, pc} + .balign 4 +_0206B664: .word 0x000121C6 + + thumb_func_start sub_0206B668 +sub_0206B668: ; 0x0206B668 + push {r4-r6, lr} + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 +_0206B670: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0206B644 + cmp r0, #0x0 + beq _0206B67E + add r5, r5, #0x1 +_0206B67E: + add r4, r4, #0x1 + cmp r4, #0x8 + blo _0206B670 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0206B688 +sub_0206B688: ; 0x0206B688 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02066A6C + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0206B754 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0206B6D4 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02066A94 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206B6C8 +sub_0206B6C8: ; 0x0206B6C8 + push {r3, lr} + bl sub_020690E4 + bl sub_0206B688 + pop {r3, pc} + + thumb_func_start sub_0206B6D4 +sub_0206B6D4: ; 0x0206B6D4 + cmp r1, #0x1 + bne _0206B6E8 + ldr r1, _0206B748 ; =0x000001EA + cmp r0, r1 + bne _0206B6E2 + add r1, #0xc + b _0206B6E4 +_0206B6E2: + add r1, #0xb +_0206B6E4: + add r0, r1, #0x0 + bx lr +_0206B6E8: + cmp r2, #0x0 + beq _0206B73A + ldr r3, _0206B74C ; =0x00000182 + cmp r0, r3 + bne _0206B6F8 + add r3, #0x74 + add r0, r2, r3 + bx lr +_0206B6F8: + cmp r0, #0xc9 + bne _0206B702 + add r3, #0x78 + add r0, r2, r3 + bx lr +_0206B702: + add r1, r3, #0x0 + add r1, #0x1a + cmp r0, r1 + bne _0206B710 + add r3, #0x93 + add r0, r2, r3 + bx lr +_0206B710: + add r1, r3, #0x0 + add r1, #0x1b + cmp r0, r1 + bne _0206B71E + add r3, #0x95 + add r0, r2, r3 + bx lr +_0206B71E: + add r1, r3, #0x0 + add r1, #0x24 + cmp r0, r1 + bne _0206B72C + add r3, #0x97 + add r0, r2, r3 + bx lr +_0206B72C: + add r1, r3, #0x0 + add r1, #0x25 + cmp r0, r1 + bne _0206B73A + add r3, #0x98 + add r0, r2, r3 + bx lr +_0206B73A: + ldr r1, _0206B750 ; =0x000001ED + cmp r0, r1 + bls _0206B742 + mov r0, #0x0 +_0206B742: + add r0, r0, #0x7 + bx lr + nop +_0206B748: .word 0x000001EA +_0206B74C: .word 0x00000182 +_0206B750: .word 0x000001ED + + thumb_func_start sub_0206B754 +sub_0206B754: ; 0x0206B754 + push {r4, lr} + mov r1, #0xad + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020672BC + ldr r2, _0206B7B8 ; =0x0000019D + cmp r0, r2 + bhi _0206B784 + sub r1, r2, #0x1 + cmp r0, r1 + blo _0206B774 + beq _0206B7A4 + cmp r0, r2 + beq _0206B7A4 + b _0206B7B4 +_0206B774: + cmp r0, #0xc9 + bhi _0206B77C + beq _0206B79C + b _0206B7B4 +_0206B77C: + sub r2, #0x1b + cmp r0, r2 + beq _0206B7A4 + b _0206B7B4 +_0206B784: + add r1, r2, #0x0 + add r1, #0x9 + cmp r0, r1 + bhi _0206B794 + add r2, #0x9 + cmp r0, r2 + beq _0206B7A4 + b _0206B7B4 +_0206B794: + add r2, #0xa + cmp r0, r2 + beq _0206B7A4 + b _0206B7B4 +_0206B79C: + add r0, r4, #0x0 + bl sub_020690D4 + pop {r4, pc} +_0206B7A4: + add r0, r4, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020672BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, pc} +_0206B7B4: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0206B7B8: .word 0x0000019D + + thumb_func_start sub_0206B7BC +sub_0206B7BC: ; 0x0206B7BC + cmp r2, #0x1 + bne _0206B7CE + ldr r1, _0206B830 ; =0x000001EA + cmp r0, r1 + bne _0206B7CA + add r0, r1, #0x5 + b _0206B82A +_0206B7CA: + add r0, r1, #0x4 + b _0206B82A +_0206B7CE: + ldr r3, _0206B834 ; =0x000001ED + cmp r0, r3 + bls _0206B7D8 + mov r0, #0x0 + b _0206B82A +_0206B7D8: + cmp r1, #0x0 + beq _0206B82A + add r2, r3, #0x0 + sub r2, #0x6b + cmp r0, r2 + bne _0206B7EA + add r0, r3, #0x2 + add r0, r1, r0 + b _0206B82A +_0206B7EA: + cmp r0, #0xc9 + bne _0206B7F4 + add r0, r3, #0x5 + add r0, r1, r0 + b _0206B82A +_0206B7F4: + add r2, r3, #0x0 + sub r2, #0x51 + cmp r0, r2 + bne _0206B802 + add r3, #0x21 + add r0, r1, r3 + b _0206B82A +_0206B802: + add r2, r3, #0x0 + sub r2, #0x50 + cmp r0, r2 + bne _0206B810 + add r3, #0x23 + add r0, r1, r3 + b _0206B82A +_0206B810: + add r2, r3, #0x0 + sub r2, #0x47 + cmp r0, r2 + bne _0206B81E + add r3, #0x25 + add r0, r1, r3 + b _0206B82A +_0206B81E: + add r2, r3, #0x0 + sub r2, #0x46 + cmp r0, r2 + bne _0206B82A + add r3, #0x26 + add r0, r1, r3 +_0206B82A: + ldr r1, _0206B838 ; =0x020F8074 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0206B830: .word 0x000001EA +_0206B834: .word 0x000001ED +_0206B838: .word 0x020F8074 + + thumb_func_start sub_0206B83C +sub_0206B83C: ; 0x0206B83C + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02066A6C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0206B754 + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02066A94 + ldr r2, [sp, #0x0] + add r0, r7, #0x0 + add r1, r6, #0x0 + bl sub_0206B7BC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B87C +sub_0206B87C: ; 0x0206B87C + push {r3, lr} + bl sub_020690E4 + bl sub_0206B83C + pop {r3, pc} + + thumb_func_start sub_0206B888 +sub_0206B888: ; 0x0206B888 + mov r0, #0x0 + bx lr + + thumb_func_start sub_0206B88C +sub_0206B88C: ; 0x0206B88C + mov r0, #0x2 + bx lr + + thumb_func_start sub_0206B890 +sub_0206B890: ; 0x0206B890 + mov r0, #0x4 + bx lr + + thumb_func_start sub_0206B894 +sub_0206B894: ; 0x0206B894 + mov r0, #0x6 + bx lr + + thumb_func_start sub_0206B898 +sub_0206B898: ; 0x0206B898 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0206B89C +sub_0206B89C: ; 0x0206B89C + mov r0, #0x3 + bx lr + + thumb_func_start sub_0206B8A0 +sub_0206B8A0: ; 0x0206B8A0 + mov r0, #0x5 + bx lr + + thumb_func_start sub_0206B8A4 +sub_0206B8A4: ; 0x0206B8A4 + mov r0, #0x59 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_0206B8AC +sub_0206B8AC: ; 0x0206B8AC + push {r4, lr} + mov r1, #0x59 + lsl r1, r1, #0x4 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_0206B8C0 + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_0206B8C0 +sub_0206B8C0: ; 0x0206B8C0 + ldr r3, _0206B8C8 ; =sub_0206B8CC + mov r1, #0x6 + bx r3 + nop +_0206B8C8: .word sub_0206B8CC + 1 + + thumb_func_start sub_0206B8CC +sub_0206B8CC: ; 0x0206B8CC + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + cmp r6, #0x6 + ble _0206B8DA + bl sub_02020C2C +_0206B8DA: + mov r2, #0x59 + add r0, r5, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x4 + blx sub_020DF4A4 + mov r4, #0x0 + str r4, [r5, #0x4] + str r6, [r5, #0x0] + add r5, #0x8 +_0206B8EE: + add r0, r5, #0x0 + bl sub_02066978 + add r4, r4, #0x1 + add r5, #0xec + cmp r4, #0x6 + blt _0206B8EE + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206B900 +sub_0206B900: ; 0x0206B900 + push {r4-r5} + add r3, r0, #0x0 + add r2, r1, #0x0 + ldr r1, [r3, #0x4] + ldr r0, [r3, #0x0] + cmp r1, r0 + blt _0206B914 + mov r0, #0x0 + pop {r4-r5} + bx lr +_0206B914: + mov r0, #0xec + mul r0, r1 + add r5, r3, r0 + add r5, #0x8 + mov r4, #0x1d +_0206B91E: + ldmia r2!, {r0-r1} + stmia r5!, {r0-r1} + sub r4, r4, #0x1 + bne _0206B91E + ldr r0, [r2, #0x0] + str r0, [r5, #0x0] + ldr r0, [r3, #0x4] + add r0, r0, #0x1 + str r0, [r3, #0x4] + mov r0, #0x1 + pop {r4-r5} + bx lr + .balign 4 + + thumb_func_start sub_0206B938 +sub_0206B938: ; 0x0206B938 + push {r3-r7, lr} + add r7, r0, #0x0 + add r4, r1, #0x0 + bpl _0206B944 + bl sub_02020C2C +_0206B944: + ldr r0, [r7, #0x4] + cmp r4, r0 + blt _0206B94E + bl sub_02020C2C +_0206B94E: + ldr r0, [r7, #0x0] + cmp r4, r0 + blt _0206B958 + bl sub_02020C2C +_0206B958: + ldr r0, [r7, #0x4] + cmp r0, #0x0 + bgt _0206B962 + bl sub_02020C2C +_0206B962: + ldr r0, [r7, #0x4] + sub r0, r0, #0x1 + cmp r4, r0 + bge _0206B992 + mov r0, #0xec + mul r0, r4 + add r6, r7, r0 +_0206B970: + add r5, r6, #0x0 + add r3, r6, #0x0 + add r5, #0xf4 + add r3, #0x8 + mov r2, #0x1d +_0206B97A: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206B97A + ldr r0, [r5, #0x0] + add r4, r4, #0x1 + str r0, [r3, #0x0] + ldr r0, [r7, #0x4] + add r6, #0xec + sub r0, r0, #0x1 + cmp r4, r0 + blt _0206B970 +_0206B992: + add r1, r7, #0x0 + mov r0, #0xec + add r1, #0x8 + mul r0, r4 + add r0, r1, r0 + bl sub_02066978 + ldr r0, [r7, #0x4] + sub r0, r0, #0x1 + str r0, [r7, #0x4] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206B9AC +sub_0206B9AC: ; 0x0206B9AC + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0206B9B0 +sub_0206B9B0: ; 0x0206B9B0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bpl _0206B9BC + bl sub_02020C2C +_0206B9BC: + ldr r0, [r5, #0x4] + cmp r4, r0 + blt _0206B9C6 + bl sub_02020C2C +_0206B9C6: + ldr r0, [r5, #0x0] + cmp r4, r0 + blt _0206B9D0 + bl sub_02020C2C +_0206B9D0: + mov r0, #0xec + add r5, #0x8 + mul r0, r4 + add r0, r5, r0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0206B9DC +sub_0206B9DC: ; 0x0206B9DC + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x0 + bge _0206B9EC + bl sub_02020C2C +_0206B9EC: + ldr r0, [r5, #0x4] + cmp r4, r0 + blt _0206B9F6 + bl sub_02020C2C +_0206B9F6: + ldr r0, [r5, #0x0] + cmp r4, r0 + blt _0206BA00 + bl sub_02020C2C +_0206BA00: + add r1, r5, #0x0 + mov r0, #0xec + add r1, #0x8 + mul r0, r4 + add r4, r1, r0 + add r0, r4, #0x0 + mov r1, #0xab + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0xab + mov r2, #0x0 + bl sub_020671BC + sub r2, r7, r0 + mov r3, #0x1d +_0206BA24: + ldmia r6!, {r0-r1} + stmia r4!, {r0-r1} + sub r3, r3, #0x1 + bne _0206BA24 + ldr r0, [r6, #0x0] + str r0, [r4, #0x0] + ldr r0, [r5, #0x4] + add r0, r0, r2 + str r0, [r5, #0x4] + pop {r3-r7, pc} + + thumb_func_start sub_0206BA38 +sub_0206BA38: ; 0x0206BA38 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + add r6, r2, #0x0 + cmp r5, #0x0 + bge _0206BA48 + bl sub_02020C2C +_0206BA48: + ldr r0, [r4, #0x4] + cmp r5, r0 + blt _0206BA52 + bl sub_02020C2C +_0206BA52: + ldr r0, [r4, #0x0] + cmp r5, r0 + blt _0206BA5C + bl sub_02020C2C +_0206BA5C: + cmp r6, #0x0 + bge _0206BA64 + bl sub_02020C2C +_0206BA64: + ldr r0, [r4, #0x4] + cmp r6, r0 + blt _0206BA6E + bl sub_02020C2C +_0206BA6E: + ldr r0, [r4, #0x0] + cmp r6, r0 + blt _0206BA78 + bl sub_02020C2C +_0206BA78: + mov r0, #0x0 + mov r1, #0xec + bl sub_02016998 + mov r12, r0 + add r1, r4, #0x0 + mov r0, #0xec + add r1, #0x8 + mul r0, r5 + add r3, r1, r0 + add r5, r3, #0x0 + mov r2, r12 + mov r7, #0x1d +_0206BA92: + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + sub r7, r7, #0x1 + bne _0206BA92 + ldr r0, [r5, #0x0] + add r4, #0x8 + str r0, [r2, #0x0] + mov r0, #0xec + mul r0, r6 + add r2, r4, r0 + add r5, r2, #0x0 + mov r4, #0x1d +_0206BAAA: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r4, r4, #0x1 + bne _0206BAAA + ldr r0, [r5, #0x0] + mov r4, r12 + str r0, [r3, #0x0] + mov r3, #0x1d +_0206BABA: + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + sub r3, r3, #0x1 + bne _0206BABA + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + mov r0, r12 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206BAD0 +sub_0206BAD0: ; 0x0206BAD0 + push {r3-r4} + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r2, #0xb2 +_0206BAD8: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206BAD8 + pop {r3-r4} + bx lr + + thumb_func_start sub_0206BAE4 +sub_0206BAE4: ; 0x0206BAE4 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x4] + add r7, r1, #0x0 + mov r4, #0x0 + cmp r0, #0x0 + ble _0206BB0E + add r5, r6, #0x0 + add r5, #0x8 +_0206BAF6: + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + cmp r7, r0 + beq _0206BB0E + ldr r0, [r6, #0x4] + add r4, r4, #0x1 + add r5, #0xec + cmp r4, r0 + blt _0206BAF6 +_0206BB0E: + ldr r0, [r6, #0x4] + cmp r4, r0 + beq _0206BB18 + mov r0, #0x1 + pop {r3-r7, pc} +_0206BB18: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206BB1C +sub_0206BB1C: ; 0x0206BB1C + ldr r3, _0206BB24 ; =sub_02022610 + mov r1, #0x2 + bx r3 + nop +_0206BB24: .word sub_02022610 + 1 + + thumb_func_start sub_0206BB28 +sub_0206BB28: ; 0x0206BB28 + push {r3, lr} + bl sub_02024DA0 + bl sub_0206BB34 + pop {r3, pc} + + thumb_func_start sub_0206BB34 +sub_0206BB34: ; 0x0206BB34 + push {r3, lr} + bl sub_02024CA4 + cmp r0, #0x1 + bne _0206BB42 + mov r0, #0x1 + pop {r3, pc} +_0206BB42: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0206BB48 +sub_0206BB48: ; 0x0206BB48 + push {r3, lr} + cmp r0, #0x0 + bne _0206BB58 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + bl sub_02069B40 + add r1, r0, #0x0 +_0206BB58: + add r0, r1, #0x0 + pop {r3, pc} + + thumb_func_start sub_0206BB5C +sub_0206BB5C: ; 0x0206BB5C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02087A6C + mov r1, #0x0 + add r2, r5, #0x0 + add r4, r0, #0x0 + bl sub_02087A98 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0206BB74 +sub_0206BB74: ; 0x0206BB74 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02087B0C + add r0, r4, #0x0 + bl sub_02087A84 + pop {r4, pc} + + thumb_func_start sub_0206BB84 +sub_0206BB84: ; 0x0206BB84 + push {r3-r7, lr} + add r7, r1, #0x0 + add r4, r0, #0x0 + str r2, [sp, #0x0] + add r0, r7, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + cmp r4, #0x0 + bne _0206BBA2 + mov r0, #0x1 + pop {r3-r7, pc} +_0206BBA2: + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02023B0C + add r5, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, r5 + bls _0206BBBE + mov r0, #0x0 + pop {r3-r7, pc} +_0206BBBE: + add r0, r7, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0206BBD0 + mov r0, #0x0 + pop {r3-r7, pc} +_0206BBD0: + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02023B0C + cmp r0, #0x0 + bne _0206BBEA + add r0, r6, #0x0 + bl sub_020695A8 + cmp r6, r0 + beq _0206BBEA + mov r0, #0x0 + pop {r3-r7, pc} +_0206BBEA: + add r0, r4, #0x0 + mov r1, #0x5 + bl sub_02023B0C + add r5, r0, #0x0 + beq _0206BC14 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_02087B58 + cmp r5, #0x0 + ble _0206BC0A + cmp r0, r5 + bge _0206BC14 + mov r0, #0x0 + pop {r3-r7, pc} +_0206BC0A: + neg r1, r5 + cmp r0, r1 + ble _0206BC14 + mov r0, #0x0 + pop {r3-r7, pc} +_0206BC14: + add r0, r4, #0x0 + mov r1, #0x7 + bl sub_02023B0C + mov r1, #0xa + add r5, r0, #0x0 + mul r5, r1 + beq _0206BC42 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl sub_02087B78 + cmp r5, #0x0 + ble _0206BC38 + cmp r0, r5 + bge _0206BC42 + mov r0, #0x0 + pop {r3-r7, pc} +_0206BC38: + neg r1, r5 + cmp r0, r1 + ble _0206BC42 + mov r0, #0x0 + pop {r3-r7, pc} +_0206BC42: + add r0, r4, #0x0 + mov r1, #0xb + bl sub_02023B0C + cmp r0, #0x0 + bne _0206BC5C + add r0, r7, #0x0 + bl sub_0206A998 + cmp r0, #0x0 + beq _0206BC5C + mov r0, #0x0 + pop {r3-r7, pc} +_0206BC5C: + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_0206BC60 +sub_0206BC60: ; 0x0206BC60 + push {r3-r7, lr} + sub sp, #0x30 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x14] + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + str r1, [sp, #0x4] + str r2, [sp, #0x8] + str r3, [sp, #0xc] + cmp r0, #0x0 + bne _0206BC7E + ldr r0, [sp, #0x14] + add sp, #0x30 + pop {r3-r7, pc} +_0206BC7E: + ldr r1, [sp, #0x14] + add r2, sp, #0x24 + add r3, sp, #0x18 + mov r0, #0x0 +_0206BC86: + ldr r4, [sp, #0xc] + strh r0, [r2, #0x0] + strh r0, [r3, #0x0] + ldrb r4, [r4, r1] + cmp r4, #0x0 + beq _0206BC98 + ldr r4, [sp, #0x14] + add r4, r4, #0x1 + str r4, [sp, #0x14] +_0206BC98: + add r1, r1, #0x1 + add r2, r2, #0x2 + add r3, r3, #0x2 + cmp r1, #0x6 + blt _0206BC86 + ldr r0, [sp, #0x0] + mov r1, #0x1 + bl sub_02023B0C + ldr r1, [sp, #0x14] + cmp r1, r0 + beq _0206BCB6 + add sp, #0x30 + mov r0, #0x4 + pop {r3-r7, pc} +_0206BCB6: + mov r5, #0x0 + add r7, sp, #0x24 + add r6, sp, #0x18 +_0206BCBC: + ldr r0, [sp, #0xc] + ldrb r1, [r0, r5] + cmp r1, #0x0 + beq _0206BD0A + ldr r0, [sp, #0x4] + sub r1, r1, #0x1 + bl sub_0206B9B0 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r2, [sp, #0x8] + add r1, r4, #0x0 + bl sub_0206BB84 + cmp r0, #0x0 + bne _0206BCE2 + add sp, #0x30 + mov r0, #0x5 + pop {r3-r7, pc} +_0206BCE2: + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r7, #0x0] + add r0, r4, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r6, #0x0] + add r0, r4, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x10] + add r0, r1, r0 + str r0, [sp, #0x10] +_0206BD0A: + add r5, r5, #0x1 + add r7, r7, #0x2 + add r6, r6, #0x2 + cmp r5, #0x6 + blt _0206BCBC + ldr r0, [sp, #0x0] + mov r1, #0x3 + bl sub_02023B0C + ldr r1, [sp, #0x10] + cmp r1, r0 + ble _0206BD2C + cmp r0, #0x0 + beq _0206BD2C + add sp, #0x30 + mov r0, #0x1 + pop {r3-r7, pc} +_0206BD2C: + ldr r0, [sp, #0x0] + mov r1, #0xa + bl sub_02023B0C + cmp r0, #0x0 + bne _0206BD70 + ldr r0, [sp, #0x14] + cmp r0, #0x1 + ble _0206BD70 + add r4, sp, #0x24 + mov r0, #0x0 + add r2, r4, #0x0 +_0206BD44: + add r3, r0, #0x1 + cmp r3, #0x6 + bge _0206BD68 + ldrh r6, [r4, #0x0] + lsl r1, r3, #0x1 + add r5, r2, r1 +_0206BD50: + ldrh r1, [r5, #0x0] + cmp r6, r1 + bne _0206BD60 + cmp r6, #0x0 + beq _0206BD60 + add sp, #0x30 + mov r0, #0x2 + pop {r3-r7, pc} +_0206BD60: + add r3, r3, #0x1 + add r5, r5, #0x2 + cmp r3, #0x6 + blt _0206BD50 +_0206BD68: + add r0, r0, #0x1 + add r4, r4, #0x2 + cmp r0, #0x5 + blt _0206BD44 +_0206BD70: + ldr r0, [sp, #0x0] + mov r1, #0x9 + bl sub_02023B0C + cmp r0, #0x0 + bne _0206BDC0 + ldr r0, [sp, #0x14] + cmp r0, #0x1 + ble _0206BDC0 + add r2, sp, #0x18 + mov r5, #0x0 + add r7, sp, #0x24 + mov r12, r2 +_0206BD8A: + add r6, r5, #0x1 + cmp r6, #0x6 + bge _0206BDB6 + lsl r1, r6, #0x1 + mov r0, r12 + add r3, r0, r1 + ldrh r4, [r2, #0x0] + ldrh r0, [r7, #0x0] +_0206BD9A: + ldrh r1, [r3, #0x0] + cmp r4, r1 + bne _0206BDAE + cmp r0, #0x0 + beq _0206BDAE + cmp r4, #0x0 + beq _0206BDAE + add sp, #0x30 + mov r0, #0x3 + pop {r3-r7, pc} +_0206BDAE: + add r6, r6, #0x1 + add r3, r3, #0x2 + cmp r6, #0x6 + blt _0206BD9A +_0206BDB6: + add r5, r5, #0x1 + add r2, r2, #0x2 + add r7, r7, #0x2 + cmp r5, #0x5 + blt _0206BD8A +_0206BDC0: + mov r0, #0x0 + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206BDC8 +sub_0206BDC8: ; 0x0206BDC8 + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0xc] + ldr r0, [sp, #0x30] + str r1, [sp, #0x10] + lsl r0, r0, #0x1 + ldr r1, [sp, #0xc] + str r0, [sp, #0x18] + ldrh r0, [r1, r0] + add r6, r2, #0x0 + str r3, [sp, #0x14] + ldr r5, [sp, #0x38] + ldr r7, [sp, #0x34] + cmp r0, #0x0 + beq _0206BE12 + ldr r0, [sp, #0x18] + ldrh r0, [r6, r0] + cmp r0, #0x0 + bne _0206BE12 + ldr r1, [sp, #0x10] + ldr r0, [sp, #0x18] + ldrh r1, [r1, r0] + add r0, r3, #0x0 + sub r0, r0, r1 + str r0, [sp, #0x14] + bpl _0206BE02 + add sp, #0x1c + mov r0, #0x0 + pop {r4-r7, pc} +_0206BE02: + sub r7, r7, #0x1 + bne _0206BE0C + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0206BE0C: + ldr r0, [sp, #0x18] + mov r1, #0x1 + strh r1, [r6, r0] +_0206BE12: + ldr r0, [sp, #0x30] + add r4, r0, #0x1 + cmp r4, r5 + bge _0206BE3C +_0206BE1A: + str r4, [sp, #0x0] + str r7, [sp, #0x4] + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x10] + ldr r3, [sp, #0x14] + add r2, r6, #0x0 + str r5, [sp, #0x8] + bl sub_0206BDC8 + cmp r0, #0x0 + beq _0206BE36 + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0206BE36: + add r4, r4, #0x1 + cmp r4, r5 + blt _0206BE1A +_0206BE3C: + ldr r1, [sp, #0x18] + mov r0, #0x0 + strh r0, [r6, r1] + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206BE48 +sub_0206BE48: ; 0x0206BE48 + push {r4-r7, lr} + sub sp, #0x54 + str r0, [sp, #0xc] + add r0, r1, #0x0 + str r1, [sp, #0x10] + str r2, [sp, #0x14] + bl sub_0206B9AC + str r0, [sp, #0x20] + add r6, r0, #0x0 + add r0, sp, #0x30 + mov r1, #0x0 + mov r2, #0xc + blx sub_020CE34C + ldr r0, [sp, #0x20] + mov r7, #0x0 + cmp r0, #0x0 + ble _0206BEB2 + add r4, sp, #0x48 + add r5, sp, #0x3c +_0206BE72: + ldr r0, [sp, #0x10] + add r1, r7, #0x0 + bl sub_0206B9B0 + str r0, [sp, #0x24] + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r4, #0x0] + ldr r0, [sp, #0x24] + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x0] + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x24] + ldr r2, [sp, #0x14] + bl sub_0206BB84 + cmp r0, #0x0 + bne _0206BEA6 + mov r0, #0x0 + strh r0, [r4, #0x0] + sub r6, r6, #0x1 +_0206BEA6: + ldr r0, [sp, #0x20] + add r7, r7, #0x1 + add r4, r4, #0x2 + add r5, r5, #0x2 + cmp r7, r0 + blt _0206BE72 +_0206BEB2: + ldr r0, [sp, #0xc] + mov r1, #0xa + bl sub_02023B0C + cmp r0, #0x0 + bne _0206BF32 + ldr r0, [sp, #0x20] + cmp r0, #0x1 + ble _0206BF32 + mov r0, #0x0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x20] + sub r0, r0, #0x1 + str r0, [sp, #0x28] + cmp r0, #0x0 + ble _0206BF32 + add r0, sp, #0x3c + add r3, sp, #0x48 + str r0, [sp, #0x1c] + str r3, [sp, #0x2c] + mov r12, r0 +_0206BEDC: + ldr r0, [sp, #0x18] + add r2, r0, #0x1 + ldr r0, [sp, #0x20] + cmp r2, r0 + bge _0206BF1E + ldr r1, [sp, #0x2c] + lsl r0, r2, #0x1 + add r4, r1, r0 + mov r1, r12 + add r5, r1, r0 + ldr r0, [sp, #0x1c] + ldrh r7, [r0, #0x0] +_0206BEF4: + ldrh r1, [r3, #0x0] + ldrh r0, [r4, #0x0] + cmp r1, r0 + bne _0206BF12 + cmp r1, #0x0 + beq _0206BF12 + ldrh r0, [r5, #0x0] + cmp r7, r0 + bls _0206BF0C + mov r0, #0x0 + strh r0, [r3, #0x0] + b _0206BF10 +_0206BF0C: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0206BF10: + sub r6, r6, #0x1 +_0206BF12: + ldr r0, [sp, #0x20] + add r2, r2, #0x1 + add r4, r4, #0x2 + add r5, r5, #0x2 + cmp r2, r0 + blt _0206BEF4 +_0206BF1E: + ldr r0, [sp, #0x1c] + add r3, r3, #0x2 + add r0, r0, #0x2 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x18] + add r1, r0, #0x1 + ldr r0, [sp, #0x28] + str r1, [sp, #0x18] + cmp r1, r0 + blt _0206BEDC +_0206BF32: + ldr r0, [sp, #0xc] + mov r1, #0x1 + bl sub_02023B0C + add r7, r0, #0x0 + cmp r6, r7 + bge _0206BF46 + add sp, #0x54 + mov r0, #0x4 + pop {r4-r7, pc} +_0206BF46: + ldr r0, [sp, #0xc] + mov r1, #0x3 + bl sub_02023B0C + add r5, r0, #0x0 + bne _0206BF58 + add sp, #0x54 + mov r0, #0x0 + pop {r4-r7, pc} +_0206BF58: + ldr r0, [sp, #0x20] + mov r4, #0x0 + cmp r0, #0x0 + ble _0206BF88 + add r6, sp, #0x48 +_0206BF62: + str r4, [sp, #0x0] + ldr r0, [sp, #0x20] + str r7, [sp, #0x4] + str r0, [sp, #0x8] + add r0, r6, #0x0 + add r1, sp, #0x3c + add r2, sp, #0x30 + add r3, r5, #0x0 + bl sub_0206BDC8 + cmp r0, #0x0 + beq _0206BF80 + add sp, #0x54 + mov r0, #0x0 + pop {r4-r7, pc} +_0206BF80: + ldr r0, [sp, #0x20] + add r4, r4, #0x1 + cmp r4, r0 + blt _0206BF62 +_0206BF88: + mov r0, #0x1 + add sp, #0x54 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206BF90 +sub_0206BF90: ; 0x0206BF90 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x5 + mov r1, #0x8 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x5 + mov r1, #0x8 + bl sub_02016998 + add r6, r0, #0x0 + ldr r0, _0206BFE4 ; =0x020F828C + mov r1, #0xc + add r2, r5, #0x0 + bl sub_0202D8D0 + str r5, [r4, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x4] + str r5, [r6, #0x0] + strb r0, [r6, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x4 + bl sub_02231344 + add r0, r5, #0x0 + add r1, r6, #0x4 + bl sub_02231350 + ldr r0, _0206BFE8 ; =sub_0206C550 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0200CA44 + ldr r0, _0206BFEC ; =sub_0206C5DC + add r1, r6, #0x0 + mov r2, #0x0 + bl sub_0200CA44 + pop {r4-r6, pc} + nop +_0206BFE4: .word 0x020F828C +_0206BFE8: .word sub_0206C550 + 1 +_0206BFEC: .word sub_0206C5DC + 1 + + thumb_func_start sub_0206BFF0 +sub_0206BFF0: ; 0x0206BFF0 + ldr r3, _0206BFFC ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _0206C000 ; =0x020F828C + mov r1, #0xc + bx r3 + nop +_0206BFFC: .word sub_0202D8D0 + 1 +_0206C000: .word 0x020F828C + + thumb_func_start sub_0206C004 +sub_0206C004: ; 0x0206C004 + mov r0, #0x4 + bx lr + + thumb_func_start sub_0206C008 +sub_0206C008: ; 0x0206C008 + ldr r3, _0206C00C ; =sub_02023924 + bx r3 + .balign 4 +_0206C00C: .word sub_02023924 + 1 + + thumb_func_start sub_0206C010 +sub_0206C010: ; 0x0206C010 + ldr r3, _0206C014 ; =sub_0206B8A4 + bx r3 + .balign 4 +_0206C014: .word sub_0206B8A4 + 1 + + thumb_func_start sub_0206C018 +sub_0206C018: ; 0x0206C018 + mov r0, #0xfa + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_0206C020 +sub_0206C020: ; 0x0206C020 + mov r0, #0x34 + bx lr + + thumb_func_start sub_0206C024 +sub_0206C024: ; 0x0206C024 + ldr r3, [r1, #0x0] + mov r1, #0x80 + ldr r2, [r3, #0x0] + tst r1, r2 + beq _0206C038 + lsl r0, r0, #0x3 + add r0, r3, r0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bx lr +_0206C038: + lsl r0, r0, #0x2 + add r0, r3, r0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206C044 +sub_0206C044: ; 0x0206C044 + ldr r1, [r1, #0x0] + mov r2, #0x80 + ldr r3, [r1, #0x0] + tst r2, r3 + beq _0206C05A + lsl r2, r0, #0x1 + mov r0, #0x34 + add r1, #0x28 + mul r0, r2 + add r0, r1, r0 + bx lr +_0206C05A: + mov r2, #0x34 + add r1, #0x28 + mul r2, r0 + add r0, r1, r2 + bx lr + + thumb_func_start sub_0206C064 +sub_0206C064: ; 0x0206C064 + ldr r3, [r1, #0x0] + mov r1, #0x80 + ldr r2, [r3, #0x0] + tst r1, r2 + beq _0206C076 + lsl r0, r0, #0x3 + add r0, r3, r0 + ldr r0, [r0, #0x4] + bx lr +_0206C076: + lsl r0, r0, #0x2 + add r0, r3, r0 + ldr r0, [r0, #0x4] + bx lr + .balign 4 + + thumb_func_start sub_0206C080 +sub_0206C080: ; 0x0206C080 + ldr r3, [r1, #0x0] + mov r1, #0x80 + ldr r2, [r3, #0x0] + tst r2, r1 + beq _0206C094 + lsl r0, r0, #0x3 + add r0, r3, r0 + add r1, #0x98 + ldr r0, [r0, r1] + bx lr +_0206C094: + lsl r0, r0, #0x2 + add r0, r3, r0 + add r1, #0x98 + ldr r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start sub_0206C0A0 +sub_0206C0A0: ; 0x0206C0A0 + ldr r0, [r1, #0x0] + add r0, #0x5c + bx lr + .balign 4 + + thumb_func_start sub_0206C0A8 +sub_0206C0A8: ; 0x0206C0A8 + ldr r0, [r1, #0x0] + add r0, #0xc4 + bx lr + .balign 4 + + thumb_func_start sub_0206C0B0 +sub_0206C0B0: ; 0x0206C0B0 + ldr r0, [r1, #0x0] + ldr r0, [r0, #0x8] + bx lr + .balign 4 + + thumb_func_start sub_0206C0B8 +sub_0206C0B8: ; 0x0206C0B8 + ldr r0, [r1, #0x0] + ldr r0, [r0, #0x10] + bx lr + .balign 4 + + thumb_func_start sub_0206C0C0 +sub_0206C0C0: ; 0x0206C0C0 + lsl r0, r0, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_0206C0C8 +sub_0206C0C8: ; 0x0206C0C8 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + str r1, [sp, #0x4] + mov r0, #0x5 + mov r1, #0x4 + str r2, [sp, #0x8] + add r7, r3, #0x0 + bl sub_02016998 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_022300D4 + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_022300F4 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02230100 + mov r12, r0 + add r0, sp, #0x10 + ldrh r3, [r4, #0x0] + ldrb r0, [r0, #0x10] + add r1, r3, #0x5 + add r2, r1, r0 + mov r1, #0x1 + lsl r1, r1, #0xc + cmp r2, r1 + bls _0206C110 + mov r1, r12 + strh r3, [r1, #0x0] + mov r1, #0x0 + strh r1, [r4, #0x0] +_0206C110: + ldr r1, [sp, #0x4] + mov r3, #0x0 + strb r1, [r6, #0x0] + ldr r1, [sp, #0x8] + strb r1, [r6, #0x1] + add r1, sp, #0x10 + ldrb r1, [r1, #0x10] + strh r1, [r6, #0x2] +_0206C120: + ldrb r2, [r6, r3] + ldrh r1, [r4, #0x0] + add r3, r3, #0x1 + strb r2, [r5, r1] + ldrh r1, [r4, #0x0] + add r1, r1, #0x1 + strh r1, [r4, #0x0] + cmp r3, #0x4 + blo _0206C120 + mov r3, #0x0 + cmp r0, #0x0 + ble _0206C14A +_0206C138: + ldrb r2, [r7, r3] + ldrh r1, [r4, #0x0] + add r3, r3, #0x1 + strb r2, [r5, r1] + ldrh r1, [r4, #0x0] + add r1, r1, #0x1 + strh r1, [r4, #0x0] + cmp r3, r0 + blt _0206C138 +_0206C14A: + add r0, r6, #0x0 + bl sub_02016A18 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0206C154 +sub_0206C154: ; 0x0206C154 + push {r3-r7, lr} + str r3, [sp, #0x0] + add r0, r3, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl sub_022300DC + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02230118 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + bl sub_02230124 + ldrh r1, [r4, #0x0] + add r2, r1, r5 + add r3, r2, #0x1 + mov r2, #0x1 + lsl r2, r2, #0xc + cmp r3, r2 + ble _0206C186 + strh r1, [r0, #0x0] + mov r0, #0x0 + strh r0, [r4, #0x0] +_0206C186: + mov r0, #0x0 + cmp r5, #0x0 + ble _0206C19E +_0206C18C: + ldrb r2, [r6, r0] + ldrh r1, [r4, #0x0] + add r0, r0, #0x1 + strb r2, [r7, r1] + ldrh r1, [r4, #0x0] + add r1, r1, #0x1 + strh r1, [r4, #0x0] + cmp r0, r5 + blt _0206C18C +_0206C19E: + pop {r3-r7, pc} + + thumb_func_start sub_0206C1A0 +sub_0206C1A0: ; 0x0206C1A0 + push {r0-r3} + push {r3, lr} + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C1BA + mov r0, #0x0 + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 +_0206C1BA: + mov r0, #0x33 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C1CE + mov r0, #0x0 + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 +_0206C1CE: + mov r0, #0x18 + add r1, sp, #0xc + mov r2, #0x4 + bl sub_02030ADC + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_0206C1E0 +sub_0206C1E0: ; 0x0206C1E0 + ldr r1, [r3, #0x0] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x5f + ldr r2, [r2, #0x0] + lsl r0, r0, #0x2 + str r2, [r1, r0] + ldr r0, _0206C1F8 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + .balign 4 +_0206C1F8: .word 0x00001020 + + thumb_func_start sub_0206C1FC +sub_0206C1FC: ; 0x0206C1FC + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C210 + mov r0, #0x0 + pop {r4, pc} +_0206C210: + ldr r0, [r4, #0x0] + add r4, #0x20 + add r0, #0xf8 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + bl sub_0202393C + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206C224 +sub_0206C224: ; 0x0206C224 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C238 + mov r0, #0x0 + pop {r4, pc} +_0206C238: + mov r0, #0x34 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C246 + mov r0, #0x0 + pop {r4, pc} +_0206C246: + bl sub_02023924 + add r4, #0x20 + add r2, r0, #0x0 + mov r0, #0x19 + add r1, r4, #0x0 + bl sub_02030A78 + pop {r4, pc} + + thumb_func_start sub_0206C258 +sub_0206C258: ; 0x0206C258 + ldr r0, _0206C264 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C264: .word 0x00001020 + + thumb_func_start sub_0206C268 +sub_0206C268: ; 0x0206C268 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C27C + mov r0, #0x0 + pop {r4, pc} +_0206C27C: + ldr r3, [r4, #0x0] + add r4, #0x20 + add r3, #0x28 + mov r2, #0x6 +_0206C284: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _0206C284 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0206C294 +sub_0206C294: ; 0x0206C294 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C2A8 + mov r0, #0x0 + pop {r4, pc} +_0206C2A8: + mov r0, #0x35 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C2B6 + mov r0, #0x0 + pop {r4, pc} +_0206C2B6: + add r4, #0x20 + mov r0, #0x1a + add r1, r4, #0x0 + mov r2, #0x34 + bl sub_02030A78 + pop {r4, pc} + + thumb_func_start sub_0206C2C4 +sub_0206C2C4: ; 0x0206C2C4 + ldr r0, _0206C2D0 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C2D0: .word 0x00001020 + + thumb_func_start sub_0206C2D4 +sub_0206C2D4: ; 0x0206C2D4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C2E8 + mov r0, #0x0 + pop {r4, pc} +_0206C2E8: + ldr r0, [r4, #0x0] + add r4, #0x20 + ldr r0, [r0, #0x4] + add r1, r4, #0x0 + bl sub_0206BAD0 + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0206C2F8 +sub_0206C2F8: ; 0x0206C2F8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C30C + mov r0, #0x0 + pop {r4, pc} +_0206C30C: + mov r0, #0x36 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C31A + mov r0, #0x0 + pop {r4, pc} +_0206C31A: + bl sub_0206B8A4 + add r4, #0x20 + add r2, r0, #0x0 + mov r0, #0x1b + add r1, r4, #0x0 + bl sub_02030A78 + pop {r4, pc} + + thumb_func_start sub_0206C32C +sub_0206C32C: ; 0x0206C32C + ldr r0, _0206C338 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C338: .word 0x00001020 + + thumb_func_start sub_0206C33C +sub_0206C33C: ; 0x0206C33C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C350 + mov r0, #0x0 + pop {r4, pc} +_0206C350: + ldr r2, [r4, #0x0] + add r1, #0x10 + add r0, r4, #0x0 + ldr r1, [r2, r1] + add r0, #0x20 + bl sub_02029F9C + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206C364 +sub_0206C364: ; 0x0206C364 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C378 + mov r0, #0x0 + pop {r4, pc} +_0206C378: + mov r0, #0x37 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C386 + mov r0, #0x0 + pop {r4, pc} +_0206C386: + add r4, #0x20 + mov r2, #0xfa + mov r0, #0x1c + add r1, r4, #0x0 + lsl r2, r2, #0x2 + bl sub_02030A78 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206C398 +sub_0206C398: ; 0x0206C398 + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C3AC + mov r0, #0x0 + pop {r3-r7, pc} +_0206C3AC: + ldr r4, [r5, #0x0] + mov r0, #0x80 + ldr r1, [r4, #0x0] + tst r0, r1 + beq _0206C3BE + bl sub_02031190 + lsl r0, r0, #0x3 + b _0206C3C4 +_0206C3BE: + bl sub_02031190 + lsl r0, r0, #0x2 +_0206C3C4: + add r0, r4, r0 + mov r1, #0x53 + add r0, #0xf8 + lsl r1, r1, #0x2 + add r2, r5, #0x0 + ldr r0, [r0, #0x0] + ldr r1, [r4, r1] + add r2, #0x20 + bl sub_0206C66C + mov r4, #0x0 + mov r6, #0x5 + mov r7, #0x88 +_0206C3DE: + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02016998 + str r0, [r5, #0x10] + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _0206C3DE + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start sub_0206C3F4 +sub_0206C3F4: ; 0x0206C3F4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C408 + mov r0, #0x0 + pop {r4, pc} +_0206C408: + mov r0, #0x38 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C416 + mov r0, #0x0 + pop {r4, pc} +_0206C416: + add r4, #0x20 + mov r2, #0xfa + mov r0, #0x21 + add r1, r4, #0x0 + lsl r2, r2, #0x2 + bl sub_02030A78 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206C428 +sub_0206C428: ; 0x0206C428 + ldr r0, _0206C434 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C434: .word 0x00001020 + + thumb_func_start sub_0206C438 +sub_0206C438: ; 0x0206C438 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C44E + mov r0, #0x0 + pop {r3-r5, pc} +_0206C44E: + ldr r1, [r5, #0x0] + mov r0, #0x34 + mul r0, r4 + add r3, r1, r0 + add r3, #0x28 + add r5, #0x20 + mov r2, #0x6 +_0206C45C: + ldmia r3!, {r0-r1} + stmia r5!, {r0-r1} + sub r2, r2, #0x1 + bne _0206C45C + ldr r0, [r3, #0x0] + str r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0206C46C +sub_0206C46C: ; 0x0206C46C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C484 + mov r0, #0x0 + pop {r4-r6, pc} +_0206C484: + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C494 + mov r0, #0x0 + pop {r4-r6, pc} +_0206C494: + cmp r4, #0x1 + bne _0206C4A6 + add r5, #0x20 + mov r0, #0x1d + add r1, r5, #0x0 + mov r2, #0x34 + bl sub_02030A78 + pop {r4-r6, pc} +_0206C4A6: + add r5, #0x20 + mov r0, #0x1e + add r1, r5, #0x0 + mov r2, #0x34 + bl sub_02030A78 + pop {r4-r6, pc} + + thumb_func_start sub_0206C4B4 +sub_0206C4B4: ; 0x0206C4B4 + ldr r0, _0206C4C0 ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C4C0: .word 0x00001020 + + thumb_func_start sub_0206C4C4 +sub_0206C4C4: ; 0x0206C4C4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C4DA + mov r0, #0x0 + pop {r3-r5, pc} +_0206C4DA: + ldr r1, [r5, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + add r5, #0x20 + ldr r0, [r0, #0x4] + add r1, r5, #0x0 + bl sub_0206BAD0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0206C4F0 +sub_0206C4F0: ; 0x0206C4F0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _0206C508 + mov r0, #0x0 + pop {r4-r6, pc} +_0206C508: + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + bl sub_020315D8 + cmp r0, #0x0 + bne _0206C518 + mov r0, #0x0 + pop {r4-r6, pc} +_0206C518: + cmp r4, #0x1 + bne _0206C52E + bl sub_0206B8A4 + add r5, #0x20 + add r2, r0, #0x0 + mov r0, #0x1f + add r1, r5, #0x0 + bl sub_02030A78 + pop {r4-r6, pc} +_0206C52E: + bl sub_0206B8A4 + add r5, #0x20 + add r2, r0, #0x0 + mov r0, #0x20 + add r1, r5, #0x0 + bl sub_02030A78 + pop {r4-r6, pc} + + thumb_func_start sub_0206C540 +sub_0206C540: ; 0x0206C540 + ldr r0, _0206C54C ; =0x00001020 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + bx lr + nop +_0206C54C: .word 0x00001020 + + thumb_func_start sub_0206C550 +sub_0206C550: ; 0x0206C550 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + bl sub_022300D4 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_022300E8 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_022300F4 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + bl sub_02230100 + add r7, r0, #0x0 + ldrb r0, [r5, #0x4] + cmp r0, #0x0 + beq _0206C582 + cmp r0, #0xff + b _0206C5CC +_0206C582: + bl sub_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + bne _0206C5D8 + ldr r0, [sp, #0x4] + ldrh r1, [r4, #0x0] + ldrh r0, [r0, #0x0] + cmp r1, r0 + beq _0206C5D8 + ldrh r0, [r7, #0x0] + cmp r1, r0 + bne _0206C5A4 + mov r0, #0x0 + strh r0, [r4, #0x0] + strh r0, [r7, #0x0] +_0206C5A4: + ldrh r1, [r4, #0x0] + add r0, r1, #0x2 + ldrb r2, [r6, r0] + add r0, r1, #0x3 + ldrb r0, [r6, r0] + add r1, r6, r1 + lsl r0, r0, #0x8 + orr r0, r2 + add r5, r0, #0x4 + mov r0, #0x17 + add r2, r5, #0x0 + bl sub_02030ADC + cmp r0, #0x1 + bne _0206C5D8 + ldrh r0, [r4, #0x0] + add sp, #0x8 + add r0, r0, r5 + strh r0, [r4, #0x0] + pop {r3-r7, pc} +_0206C5CC: + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x0] + bl sub_0200CAB4 +_0206C5D8: + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0206C5DC +sub_0206C5DC: ; 0x0206C5DC + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + bl sub_022300DC + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_0223010C + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02230118 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl sub_02230124 + ldrb r1, [r5, #0x4] + cmp r1, #0x0 + beq _0206C60A + cmp r1, #0xff + b _0206C63E +_0206C60A: + ldrh r1, [r4, #0x0] + ldrh r2, [r7, #0x0] + cmp r1, r2 + beq _0206C64A + ldrh r2, [r0, #0x0] + cmp r1, r2 + bne _0206C61E + mov r1, #0x0 + strh r1, [r4, #0x0] + strh r1, [r0, #0x0] +_0206C61E: + ldrh r1, [r4, #0x0] + ldr r0, [r5, #0x0] + add r1, r6, r1 + bl sub_022567E0 + ldrh r0, [r4, #0x0] + add r1, r0, #0x2 + ldrb r2, [r6, r1] + add r1, r0, #0x3 + ldrb r1, [r6, r1] + lsl r1, r1, #0x8 + orr r1, r2 + add r1, r1, #0x4 + add r0, r0, r1 + strh r0, [r4, #0x0] + pop {r3-r7, pc} +_0206C63E: + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x0] + bl sub_0200CAB4 +_0206C64A: + pop {r3-r7, pc} + + thumb_func_start sub_0206C64C +sub_0206C64C: ; 0x0206C64C + push {r4, lr} + add r4, r3, #0x0 + add r0, r4, #0x0 + mov r1, #0xff + bl sub_0223135C + add r0, r4, #0x0 + mov r1, #0xff + bl sub_02231368 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02231374 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206C66C +sub_0206C66C: ; 0x0206C66C + push {r4-r6, lr} + add r4, r2, #0x0 + add r6, r0, #0x0 + add r5, r1, #0x0 + bl sub_0202398C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02002248 + add r0, r6, #0x0 + bl sub_020239BC + str r0, [r4, #0x10] + add r0, r6, #0x0 + bl sub_02023A70 + strb r0, [r4, #0x14] + add r0, r6, #0x0 + bl sub_02023A68 + strb r0, [r4, #0x15] + add r0, r6, #0x0 + bl sub_020239CC + strb r0, [r4, #0x16] + mov r0, #0x0 + add r1, r4, #0x0 +_0206C6A4: + ldr r2, [r5, #0x10] + str r2, [r1, #0x18] + ldrb r3, [r5, #0x15] + add r2, r4, r0 + add r2, #0x58 + strb r3, [r2, #0x0] + add r2, r4, r0 + ldrb r3, [r5, #0x14] + add r2, #0x68 + add r1, r1, #0x4 + strb r3, [r2, #0x0] + add r2, r4, r0 + ldrb r3, [r5, #0x16] + add r2, #0x78 + add r0, r0, #0x1 + add r5, #0x88 + strb r3, [r2, #0x0] + cmp r0, #0x10 + blt _0206C6A4 + pop {r4-r6, pc} + + thumb_func_start sub_0206C6CC +sub_0206C6CC: ; 0x0206C6CC + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r2, #0x0 + add r4, r3, #0x0 + bl sub_02031190 + cmp r5, r0 + beq _0206C6EE + mov r0, #0x53 + ldr r1, [r4, #0x0] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + add r1, r6, #0x0 + mov r2, #0x1 + mov r3, #0x5 + bl sub_02025520 +_0206C6EE: + ldr r0, _0206C6F8 ; =0x00001020 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4-r6, pc} + .balign 4 +_0206C6F8: .word 0x00001020 + + thumb_func_start sub_0206C6FC +sub_0206C6FC: ; 0x0206C6FC + mov r0, #0x88 + bx lr + + thumb_func_start sub_0206C700 +sub_0206C700: ; 0x0206C700 + push {r4-r7, lr} + sub sp, #0x24 + ldr r5, [sp, #0x54] + add r6, r0, #0x0 + str r1, [sp, #0x14] + add r0, r5, #0x0 + mov r1, #0x80 + add r7, r2, #0x0 + str r3, [sp, #0x18] + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x80 + blx sub_020CE240 + bl sub_020222F0 + str r0, [sp, #0x1c] + bl sub_020222E8 + add r1, r0, #0x0 + ldr r2, [sp, #0x1c] + mov r0, #0x0 + blx sub_020CE1C8 + bl sub_02022300 + str r0, [sp, #0x20] + bl sub_020222F8 + add r1, r0, #0x0 + ldr r2, [sp, #0x20] + mov r0, #0x0 + blx sub_020CE1C8 + ldr r0, [sp, #0x14] + str r6, [r4, #0x24] + mov r1, #0x5 + mov r2, #0x0 + str r0, [r4, #0x28] + bl sub_020671BC + add r1, r4, #0x0 + add r1, #0x60 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x62 + strh r7, [r0, #0x0] + str r5, [r4, #0x5c] + add r0, r5, #0x0 + bl sub_02002FD0 + str r0, [r4, #0x14] + mov r1, #0x1 + bl sub_020038F0 + mov r2, #0x2 + ldr r0, [r4, #0x14] + mov r1, #0x0 + lsl r2, r2, #0x8 + add r3, r5, #0x0 + bl sub_02003008 + mov r1, #0x1 + ldr r0, [r4, #0x14] + lsl r2, r1, #0x9 + add r3, r5, #0x0 + bl sub_02003008 + mov r2, #0x7 + ldr r0, [r4, #0x14] + mov r1, #0x2 + lsl r2, r2, #0x6 + add r3, r5, #0x0 + bl sub_02003008 + mov r2, #0x2 + ldr r0, [r4, #0x14] + mov r1, #0x3 + lsl r2, r2, #0x8 + add r3, r5, #0x0 + bl sub_02003008 + add r0, r5, #0x0 + bl sub_02016B94 + str r0, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02018FF4 + str r0, [r4, #0x4] + ldr r0, [sp, #0x18] + str r0, [r4, #0x2c] + add r0, r5, #0x0 + bl sub_0206DE78 + str r0, [r4, #0x34] + bl sub_0206DE24 + bl sub_0206DE4C + bl sub_0206DF18 + ldr r1, [r4, #0x0] + add r0, r4, #0x0 + bl sub_0206D9B4 + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + mov r0, #0x1f + str r0, [sp, #0x10] + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + mov r2, #0x1 + mov r3, #0x2 + bl sub_02019064 + ldr r0, [r4, #0x4] + mov r1, #0xff + bl sub_02019620 + ldr r0, [r4, #0x4] + mov r1, #0x0 + mov r2, #0x1 + mov r3, #0xa + bl sub_0200D0BC + add r0, r5, #0x0 + bl sub_02006D98 + str r0, [r4, #0x18] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl sub_02014BF4 + str r0, [r4, #0x44] + add r0, r4, #0x0 + mov r2, #0x51 + mov r1, #0x0 + add r0, #0x67 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + add r3, r5, #0x0 + bl sub_0200A86C + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_0200AA80 + str r0, [r4, #0xc] + mov r0, #0x5 + lsl r0, r0, #0x6 + add r1, r5, #0x0 + bl sub_020219F4 + str r0, [r4, #0x10] + add r0, r5, #0x0 + mov r1, #0x30 + bl sub_02016998 + str r0, [r4, #0x3c] + ldr r1, [r4, #0x3c] + mov r0, #0x0 + mov r2, #0x30 + blx sub_020CE240 + ldr r1, [sp, #0x38] + ldr r0, [r4, #0x3c] + str r1, [r0, #0x2c] + ldr r0, [sp, #0x3c] + str r0, [r4, #0x48] + ldr r0, [sp, #0x40] + str r0, [r4, #0x4c] + ldr r0, [sp, #0x44] + str r0, [r4, #0x50] + ldr r0, [sp, #0x48] + str r0, [r4, #0x54] + ldr r0, [sp, #0x4c] + str r0, [r4, #0x78] + ldr r0, [sp, #0x50] + str r0, [r4, #0x7c] + add r0, r4, #0x0 + bl sub_0206DC80 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + ldr r2, _0206C8E4 ; =0x0000FFFF + mov r1, #0xf + mov r3, #0x1 + bl sub_02003210 + mov r2, #0x0 + str r2, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r1, #0x10 + add r3, r2, #0x0 + bl sub_02007E98 + ldr r0, [r4, #0x14] + mov r1, #0x0 + mov r2, #0xb + add r3, r5, #0x0 + bl sub_020142EC + mov r1, #0x1 + str r0, [r4, #0x58] + bl sub_020143A8 + ldr r0, _0206C8E8 ; =sub_0206C8EC + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_0200CA44 + mov r0, #0x1 + bl sub_02002B60 + bl sub_02033E74 + add r0, r4, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0206C8E4: .word 0x0000FFFF +_0206C8E8: .word sub_0206C8EC + 1 + + thumb_func_start sub_0206C8EC +sub_0206C8EC: ; 0x0206C8EC + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0206C9C0 + ldr r0, [r5, #0x18] + bl sub_02006ED4 + bl sub_0206DF58 + mov r0, #0x1 + mov r1, #0x0 + bl sub_020222B4 + add r5, #0x67 + ldrb r0, [r5, #0x0] + cmp r0, #0x0 + beq _0206C918 + add r0, r4, #0x0 + bl sub_0200CAB4 +_0206C918: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0206C91C +sub_0206C91C: ; 0x0206C91C + add r0, #0x67 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0206C928 + mov r0, #0x1 + bx lr +_0206C928: + mov r0, #0x0 + bx lr + + thumb_func_start sub_0206C92C +sub_0206C92C: ; 0x0206C92C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + ldr r0, [r4, #0x4] + mov r1, #0x1 + bl sub_020191A4 + ldr r0, [r4, #0x14] + mov r1, #0x0 + bl sub_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x1 + bl sub_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x2 + bl sub_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x3 + bl sub_02003038 + ldr r0, [r4, #0x14] + bl sub_02002FEC + ldr r0, [r4, #0x18] + bl sub_020072E8 + ldr r0, [r4, #0x44] + bl sub_02014C28 + ldr r0, [r4, #0x34] + bl sub_020223BC + ldr r0, [r4, #0x0] + bl sub_0206DC48 + ldr r0, [r4, #0x8] + bl sub_0200A8B8 + ldr r0, [r4, #0xc] + bl sub_0200AB18 + ldr r0, [r4, #0x10] + bl sub_02016A18 + ldr r0, [r4, #0x3c] + bl sub_02016A18 + ldr r0, [r4, #0x58] + bl sub_020143D0 + ldr r0, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + bl sub_02002B60 + pop {r4, pc} + + thumb_func_start sub_0206C9C0 +sub_0206C9C0: ; 0x0206C9C0 + push {r3-r4, lr} + sub sp, #0x54 + add r4, r0, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + beq _0206CA9C + mov r0, #0x1 + tst r0, r1 + ldr r0, [r4, #0x1c] + bne _0206CA2E + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + mov r1, #0xc + neg r2, r2 + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x1c] + mov r1, #0xd + neg r2, r2 + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xc + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xd + bl sub_020079E0 + ldr r0, [r4, #0x1c] + mov r1, #0xc + bl sub_0200782C + cmp r0, #0x0 + bne _0206CA9C + add r0, r4, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + eor r1, r0 + add r0, r4, #0x0 + add r0, #0x70 + strb r1, [r0, #0x0] + b _0206CA9C +_0206CA2E: + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + mov r1, #0xc + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x1c] + mov r1, #0xd + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xc + neg r2, r2 + bl sub_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xd + neg r2, r2 + bl sub_020079E0 + ldr r0, [r4, #0x20] + mov r1, #0xc + bl sub_0200782C + cmp r0, #0x0 + bne _0206CA9C + add r0, r4, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + eor r1, r0 + add r0, r4, #0x0 + add r0, #0x70 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x71 + ldrb r0, [r0, #0x0] + cmp r0, #0x40 + bhs _0206CA9C + add r0, r4, #0x0 + add r0, #0x71 + ldrb r0, [r0, #0x0] + lsl r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x71 + strb r1, [r0, #0x0] +_0206CA9C: + ldr r1, [r4, #0x7c] + mov r0, #0x1 + tst r0, r1 + beq _0206CAD6 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + cmp r0, #0x8 + bne _0206CAD6 + ldr r0, _0206CE0C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _0206CAD6 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + ldr r0, _0206CE10 ; =0x00007FFF + ldr r2, _0206CE14 ; =0x0000F3FF + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + mov r1, #0xf + bl sub_02003210 + add r0, r4, #0x0 + mov r1, #0x29 + add r0, #0x64 + strb r1, [r0, #0x0] +_0206CAD6: + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + cmp r0, #0x2d + bhi _0206CBA8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0x1 + lsl r2, r0, #0x2 + lsl r0, r6, #0x2 + lsl r6, r3, #0x3 + lsl r6, r6, #0x3 + lsl r0, r7, #0x5 + lsl r4, r0, #0x7 + lsl r6, r0, #0x9 + lsl r2, r3, #0xb + lsl r4, r3, #0xe + lsl r2, r5, #0x10 + lsl r0, r2, #0x12 + lsl r4, r1, #0x14 + lsl r0, r0, #0x16 + lsl r2, r7, #0x17 + lsl r2, r3, #0x1a + lsl r6, r7, #0x18 + lsl r2, r3, #0x1a + lsl r4, r6, #0x19 + lsl r2, r3, #0x1a + lsl r2, r2, #0x1b + lsl r0, r4, #0x1c + lsl r2, r6, #0x1d + lsl r4, r6, #0x1f + lsr r2, r6, #0x1 + lsr r2, r2, #0x6 + lsl r2, r3, #0x1a + lsr r0, r7, #0x6 + lsl r2, r3, #0x1a + lsr r2, r1, #0x8 + lsl r2, r3, #0x1a + lsr r0, r6, #0x8 + lsr r2, r5, #0x2 + lsl r2, r3, #0x1a + lsr r6, r3, #0x3 + lsr r0, r0, #0x4 + lsr r0, r4, #0x5 + lsr r4, r7, #0xa + lsr r2, r3, #0xb + lsr r6, r0, #0xc + lsr r2, r7, #0xc + lsr r2, r3, #0xd + lsr r0, r0, #0x10 + lsr r2, r3, #0x11 + lsr r6, r5, #0x12 + lsr r0, r1, #0x14 + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0206CBA8 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CB70: + .byte 0x00, 0x20, 0xA1, 0xF7, 0x0F, 0xFC, 0x01, 0x20, 0xA1, 0xF7, 0x0C, 0xFC, 0xA0, 0x6D, 0x00, 0x21 + .byte 0xA7, 0xF7, 0x12, 0xFC, 0xE1, 0x6F, 0x02, 0x20, 0x01, 0x42, 0x03, 0xD0, 0x64, 0x34, 0x15, 0xB0 + .byte 0x20, 0x70, 0x18, 0xBD, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69 + .byte 0x96, 0xF7, 0xA0, 0xFE, 0x00, 0x28, 0x01, 0xD0 +_0206CBA8: + bl sub_0206D806 + mov r1, #0xe5 + add r0, r4, #0x0 + lsl r1, r1, #0x2 + bl sub_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CBCC: + .byte 0x20, 0x1C, 0x65, 0x30 + .byte 0x00, 0x78, 0xAF, 0xF7, 0xCD, 0xF8, 0x00, 0x28, 0x77, 0xD1, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0 + .byte 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x7D, 0xFE, 0x00, 0x28, 0x6D, 0xD1, 0x00, 0x20 + .byte 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69 + .byte 0x02, 0x23, 0xFC, 0xF7, 0x19, 0xFA, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x10, 0xA8, 0xFC, 0xF7 + .byte 0xFF, 0xF9, 0xE0, 0x69, 0x10, 0xA9, 0x9A, 0xF7, 0xB1, 0xFB, 0xE0, 0x69, 0x00, 0x21, 0x9A, 0xF7 + .byte 0x79, 0xFB, 0x20, 0x1C, 0x60, 0x30, 0x00, 0x88, 0x98, 0xF7, 0xA6, 0xFC, 0xA0, 0x6A, 0xFC, 0xF7 + .byte 0x59, 0xFA, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9E, 0xF7, 0x5E, 0xF8, 0xE1, 0x6F, 0x02, 0x20 + .byte 0x08, 0x42, 0x04, 0xD0, 0x74, 0x49, 0x20, 0x1C, 0x01, 0xF0, 0x90, 0xF8, 0x03, 0xE0, 0x73, 0x49 + .byte 0x20, 0x1C, 0x01, 0xF0, 0x8B, 0xF8, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x05, 0x20, 0x64, 0x34 + .byte 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAF, 0xF7, 0x80, 0xF8 + .byte 0x00, 0x28, 0x2A, 0xD1, 0x98, 0xF7, 0xFC, 0xFC, 0x00, 0x28, 0x26, 0xD1, 0x60, 0x6C, 0x00, 0x21 + .byte 0xA8, 0xF7, 0x7C, 0xF8, 0x01, 0x28, 0x20, 0xD1, 0xE0, 0x69, 0x9A, 0xF7, 0x81, 0xFB, 0x00, 0x28 + .byte 0x1B, 0xD1, 0xA0, 0x6D, 0x01, 0x21, 0xA7, 0xF7, 0x87, 0xFB, 0x61, 0x48, 0x98, 0xF7, 0xAA, 0xFA + .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x06, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70 + .byte 0x18, 0xBD, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70 + .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x9C, 0xFD, 0xE0, 0x6D + .byte 0x04, 0x90, 0x00, 0x20, 0x05, 0x90, 0x04, 0xA8, 0x01, 0xF0, 0xD0, 0xF9, 0x00, 0x21, 0x20, 0x63 + .byte 0x01, 0xF0, 0xE4, 0xF9, 0x4A, 0x48, 0x00, 0x21, 0x00, 0x90, 0xE0, 0x69, 0x10, 0x22, 0x04, 0x23 + .byte 0x9B, 0xF7, 0xBA, 0xF8, 0x46, 0x48, 0x00, 0x21, 0x00, 0x90, 0x20, 0x6A, 0x10, 0x22, 0x04, 0x23 + .byte 0x9B, 0xF7, 0xB2, 0xF8, 0xE0, 0x6D, 0xA9, 0xF7, 0xF7, 0xFE, 0x02, 0x21, 0x89, 0x03, 0x88, 0x42 + .byte 0x01, 0xD8, 0xB3, 0xF7, 0x8B, 0xFF, 0x43, 0x48, 0x98, 0xF7, 0xD6, 0xFB, 0x20, 0x1C, 0x28, 0x21 + .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C + .byte 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x28, 0x28, 0x0D, 0xD2, 0x20, 0x1C + .byte 0x73, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30 + .byte 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 + .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 + .byte 0x2F, 0xD1, 0x20, 0x6B, 0x01, 0x21, 0x01, 0xF0, 0x99, 0xF9, 0x20, 0x6B, 0x02, 0x21, 0x01, 0xF0 + .byte 0x95, 0xF9, 0x20, 0x6B, 0x07, 0x21, 0x01, 0xF0, 0x91, 0xF9, 0x20, 0x6B, 0x08, 0x21, 0x01, 0xF0 + .byte 0x8D, 0xF9, 0x20, 0x6B, 0x09, 0x21, 0x01, 0xF0, 0x89, 0xF9, 0x20, 0x6B, 0x0B, 0x21, 0x01, 0xF0 + .byte 0x85, 0xF9, 0x21, 0x48, 0x98, 0xF7, 0x90, 0xFB, 0x20, 0x1C, 0x10, 0x21, 0x70, 0x30, 0x01, 0x70 + .byte 0x20, 0x1C, 0x08, 0x21, 0x71, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6B, 0x01, 0xF0, 0x7D, 0xF9, 0x00, 0x28 + .byte 0x01, 0xD0, 0x00, 0xF0, 0x18, 0xFD, 0x20, 0x6B, 0x03, 0x21, 0x01, 0xF0, 0x67, 0xF9, 0x20, 0x6B + .byte 0x04, 0x21, 0x01, 0xF0, 0x63, 0xF9, 0x20, 0x6B, 0x05, 0x21, 0x01, 0xF0, 0x5F, 0xF9, 0x20, 0x6B + .byte 0x06, 0x21, 0x01, 0xF0, 0x5B, 0xF9, 0x20, 0x6B, 0x0A, 0x21, 0x01, 0xF0, 0x57, 0xF9, 0x00, 0x20 + .byte 0x00, 0x90, 0x10, 0x20, 0x01, 0x90, 0x02, 0x48, 0x02, 0x4A, 0x0F, 0xE0 +_0206CE0C: .word 0x021C48B8 +_0206CE10: .word 0x00007FFF +_0206CE14: .word 0x0000F3FF +_0206CE18: + .byte 0x95, 0x03, 0x00, 0x00, 0x93, 0x03, 0x00, 0x00 + .byte 0x75, 0x04, 0x00, 0x00, 0xF9, 0x05, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x00, 0x02, 0x90, 0x60, 0x69 + .byte 0x0F, 0x21, 0x02, 0x23, 0x96, 0xF7, 0xEC, 0xF9, 0xE0, 0x69, 0x0C, 0x21, 0x00, 0x22, 0x9A, 0xF7 + .byte 0x8B, 0xFB, 0xE0, 0x69, 0x0D, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x86, 0xFB, 0x0C, 0x21, 0x0A, 0x1C + .byte 0x20, 0x6A, 0xF4, 0x32, 0x9A, 0xF7, 0x80, 0xFB, 0x0D, 0x21, 0x0A, 0x1C, 0x20, 0x6A, 0xF3, 0x32 + .byte 0x9A, 0xF7, 0x7A, 0xFB, 0xD8, 0x48, 0x98, 0xF7, 0x2F, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x70, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x08, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78 + .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78 + .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x73, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70 + .byte 0x60, 0x69, 0x96, 0xF7, 0x17, 0xFD, 0x00, 0x28, 0x38, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 + .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 + .byte 0x2C, 0xD1, 0x20, 0x6B, 0x0C, 0x21, 0x01, 0xF0, 0xE9, 0xF8, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20 + .byte 0x01, 0x90, 0xBA, 0x48, 0xBA, 0x4A, 0x02, 0x90, 0x60, 0x69, 0x0F, 0x21, 0x04, 0x23, 0x96, 0xF7 + .byte 0x8F, 0xF9, 0xB6, 0x48, 0x10, 0x21, 0x00, 0x90, 0xA0, 0x69, 0x00, 0x22, 0x03, 0x23, 0x9A, 0xF7 + .byte 0xCB, 0xFF, 0xB4, 0x48, 0x98, 0xF7, 0xE0, 0xFA, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0xE3, 0xFC, 0x00, 0x28 + .byte 0x04, 0xD1, 0x20, 0x6B, 0x01, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x6B, 0xFC + .byte 0x00, 0x20, 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x62, 0x32, 0x12, 0x88, 0x60, 0x6C + .byte 0x21, 0x6A, 0x02, 0x23, 0xFC, 0xF7, 0x78, 0xF8, 0x21, 0x1C, 0x62, 0x31, 0x09, 0x88, 0x0B, 0xA8 + .byte 0xFC, 0xF7, 0x5E, 0xF8, 0x20, 0x6A, 0x0B, 0xA9, 0x9A, 0xF7, 0x10, 0xFA, 0x20, 0x6A, 0x00, 0x21 + .byte 0x9A, 0xF7, 0xD8, 0xF9, 0x20, 0x1C, 0x62, 0x30, 0x00, 0x88, 0x98, 0xF7, 0x05, 0xFB, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7 + .byte 0x77, 0xFB, 0x00, 0x28, 0x7E, 0xD1, 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0xF7, 0xFE, 0x01, 0x28 + .byte 0x78, 0xD1, 0x20, 0x6A, 0x9A, 0xF7, 0xFC, 0xF9, 0x00, 0x28, 0x73, 0xD1, 0x22, 0x1C, 0xA0, 0x6A + .byte 0x05, 0x21, 0x62, 0x32, 0xFA, 0xF7, 0x44, 0xFC, 0xA0, 0x6A, 0xFD, 0xF7, 0x0B, 0xF9, 0xA0, 0x6A + .byte 0xF9, 0xF7, 0x92, 0xFF, 0xA0, 0x6A, 0xFC, 0xF7, 0x95, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21 + .byte 0x9D, 0xF7, 0x9A, 0xFE, 0xA0, 0x6A, 0xFC, 0xF7, 0x8D, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21 + .byte 0x9D, 0xF7, 0x46, 0xFE, 0x80, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xC8, 0xFE, 0x21, 0x1C, 0x65, 0x31 + .byte 0x08, 0x70, 0x20, 0x1C, 0x28, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78 + .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78 + .byte 0xAE, 0xF7, 0xB6, 0xFE, 0x00, 0x28, 0x3D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E + .byte 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x31, 0xD1 + .byte 0xA0, 0x6C, 0xA1, 0x6A, 0xB7, 0xF7, 0x64, 0xFD, 0x20, 0x6D, 0x0C, 0x21, 0xBD, 0xF7, 0x5C, 0xF8 + .byte 0x20, 0x6D, 0x16, 0x21, 0xBD, 0xF7, 0x9C, 0xF8, 0xA0, 0x6A, 0xFC, 0xF7, 0x53, 0xF8, 0x01, 0x1C + .byte 0x60, 0x6D, 0xDF, 0xF7, 0x5F, 0xF8, 0xA0, 0x6A, 0x4D, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xB6, 0xF8 + .byte 0x00, 0x28, 0x04, 0xD1, 0xA0, 0x6A, 0xB2, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xE9, 0xFB, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x21, 0x1C + .byte 0xA0, 0x6A, 0x68, 0x31, 0x03, 0xAA, 0xFC, 0xF7, 0xCF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x57, 0x49 + .byte 0x88, 0x42, 0x00, 0xD1, 0xBF, 0xE3, 0x49, 0x1C, 0x88, 0x42, 0x05, 0xD0, 0x0E, 0xE0, 0x27, 0x20 + .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x03, 0xA8, 0x01, 0x88, 0x20, 0x1C, 0x6C, 0x30 + .byte 0x01, 0x80, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFC, 0xF7 + .byte 0x19, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x1E, 0xFE, 0x03, 0xAA, 0x12, 0x88 + .byte 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x4A, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0x00, 0xF0, 0x4E, 0xFE + .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x25, 0x20 + .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0xFB, 0xFF, 0x02, 0x1C + .byte 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x00, 0xFE, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68 + .byte 0x01, 0x21, 0x9D, 0xF7, 0x2B, 0xFE, 0x36, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x2F, 0xFE, 0x21, 0x1C + .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 + .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7 + .byte 0xD9, 0xFF, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xDE, 0xFD, 0x29, 0x49, 0x20, 0x1C + .byte 0x00, 0xF0, 0x14, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30 + .byte 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70 + .byte 0x18, 0xBD, 0x21, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70 + .byte 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7 + .byte 0xEF, 0xFD, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C + .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x2A, 0xE3 + .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD + .byte 0xE0, 0x6D, 0x0A, 0x49, 0x14, 0xE0, 0xC0, 0x46, 0xFB, 0x05, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 + .byte 0xFF, 0xF3, 0x00, 0x00, 0xFC, 0x05, 0x00, 0x00, 0x96, 0x03, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00 + .byte 0xA9, 0x04, 0x00, 0x00, 0xAA, 0x04, 0x00, 0x00, 0xAB, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02 + .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xCE, 0xFF, 0x20, 0x64, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C + .byte 0xE1, 0x6D, 0x94, 0xF7, 0xCB, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42 + .byte 0x19, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x1C, 0x16, 0x21, 0x64, 0x30, 0x01, 0x70, 0x00, 0x21 + .byte 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0xC1, 0x4A, 0x0F, 0x21, 0x01, 0x23 + .byte 0x95, 0xF7, 0xE6, 0xFF, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7 + .byte 0x23, 0xFE, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD + .byte 0x60, 0x69, 0x96, 0xF7, 0x3F, 0xFB, 0x00, 0x28, 0x40, 0xD1, 0x00, 0x20, 0x01, 0x1C, 0xA1, 0xF7 + .byte 0x97, 0xF8, 0x01, 0x20, 0x00, 0x21, 0xA1, 0xF7, 0x93, 0xF8, 0x20, 0x68, 0x00, 0xF0, 0xE4, 0xFC + .byte 0xE0, 0x69, 0x06, 0x21, 0x01, 0x22, 0x9A, 0xF7, 0x67, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x01, 0x22 + .byte 0x9A, 0xF7, 0x62, 0xF9, 0xA1, 0x6A, 0xE0, 0x6B, 0x01, 0x22, 0x01, 0x60, 0xE1, 0x6A, 0xE0, 0x6B + .byte 0x41, 0x60, 0xE1, 0x6B, 0x00, 0x20, 0x48, 0x74, 0xE1, 0x6B, 0x08, 0x75, 0xE1, 0x6B, 0xCA, 0x74 + .byte 0x21, 0x1C, 0x6C, 0x31, 0x0A, 0x88, 0xE1, 0x6B, 0x0A, 0x83, 0xE1, 0x6B, 0x02, 0x22, 0x8A, 0x74 + .byte 0xE1, 0x6B, 0x88, 0x62, 0xE0, 0x6B, 0x9F, 0x49, 0x0D, 0xF0, 0x9A, 0xFE, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x9D, 0xFD, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70 + .byte 0x18, 0xBD, 0xA0, 0x6B, 0x98, 0xF7, 0xD4, 0xFF, 0x00, 0x28, 0x00, 0xD1, 0x8B, 0xE2, 0xA0, 0x6B + .byte 0x98, 0xF7, 0xB6, 0xFF, 0x21, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x5C, 0xFB, 0x60, 0x68, 0x00, 0x21 + .byte 0x01, 0x22, 0x0A, 0x23, 0x9F, 0xF7, 0xDA, 0xFE, 0xE0, 0x69, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7 + .byte 0x23, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x1E, 0xF9, 0xE0, 0x69, 0x9A, 0xF7 + .byte 0xD7, 0xFE, 0x20, 0x6A, 0x9A, 0xF7, 0xD4, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20, 0x01, 0x90 + .byte 0x02, 0x90, 0x60, 0x69, 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x69, 0xFF, 0x00, 0x22 + .byte 0x00, 0x92, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xA6, 0xFD, 0xC6, 0xF7, 0x92, 0xFD + .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD + .byte 0x00, 0x20, 0xA1, 0xF7, 0x17, 0xF8, 0x01, 0x20, 0xA1, 0xF7, 0x14, 0xF8, 0x60, 0x69, 0x96, 0xF7 + .byte 0xB9, 0xFA, 0x00, 0x28, 0x7E, 0xD1, 0xE0, 0x6B, 0x81, 0x7D, 0x04, 0x29, 0x04, 0xD1, 0x20, 0x20 + .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x6E, 0x30, 0x01, 0x70, 0x19, 0x20 + .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68 + .byte 0x00, 0x21, 0x9D, 0xF7, 0xDB, 0xFC, 0x68, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xDF, 0xFC, 0x21, 0x1C + .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 + .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xE0, 0x6D, 0x5F, 0x49 + .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xDE, 0xFE, 0x20, 0x64, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C + .byte 0xE1, 0x6D, 0x94, 0xF7, 0xDB, 0xFE, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42 + .byte 0x20, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x6C, 0xFE, 0x02, 0x1C, 0xE0, 0x68 + .byte 0x00, 0x21, 0x9D, 0xF7, 0x71, 0xFC, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21 + .byte 0x9D, 0xF7, 0x9C, 0xFC, 0x4A, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFC, 0x21, 0x1C, 0x65, 0x31 + .byte 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x24, 0x20, 0x64, 0x34, 0x15, 0xB0 + .byte 0x20, 0x70, 0x18, 0xBD, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C + .byte 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7, 0x8C, 0xFC, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30 + .byte 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 + .byte 0x00, 0x28, 0x00, 0xD0, 0xC7, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD + .byte 0x34, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C + .byte 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0 + .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x1C, 0xFE, 0x02, 0x1C, 0xE0, 0x68 + .byte 0x00, 0x21, 0x9D, 0xF7, 0x21, 0xFC, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x00, 0x22 + .byte 0x36, 0x31, 0xF9, 0xF7, 0x7B, 0xFE, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x46, 0xFC + .byte 0x4B, 0x21, 0x20, 0x1C, 0x09, 0x01, 0x00, 0xF0, 0x49, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70 + .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x17, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x36, 0xFC + .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A + .byte 0xFB, 0xF7, 0xE0, 0xFD, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xE5, 0xFB, 0x22, 0x1C + .byte 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x10, 0xFC, 0x07, 0x49, 0x0F, 0xE0 + .byte 0xFF, 0xFF, 0x00, 0x00, 0x1C, 0x83, 0x0F, 0x02, 0xAD, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02 + .byte 0xAE, 0x04, 0x00, 0x00, 0xAF, 0x04, 0x00, 0x00, 0xB1, 0x04, 0x00, 0x00, 0xB2, 0x04, 0x00, 0x00 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x03, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x22, 0x1C + .byte 0x00, 0x21, 0x66, 0x30, 0x01, 0x70, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x66, 0x32 + .byte 0x3E, 0x31, 0xFA, 0xF7, 0x55, 0xF9, 0x21, 0x1C, 0x22, 0x1C, 0x6C, 0x31, 0x6E, 0x32, 0x09, 0x88 + .byte 0x12, 0x78, 0xA0, 0x6A, 0xFC, 0xF7, 0x1A, 0xF9, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70 + .byte 0x25, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78 + .byte 0xAE, 0xF7, 0xDE, 0xFB, 0x00, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7, 0x78, 0xFB, 0x00, 0x28, 0x0B, 0xD1 + .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C + .byte 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x0D, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0 + .byte 0x20, 0x70, 0x18, 0xBD, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69 + .byte 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x03, 0xFE, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69 + .byte 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7, 0x40, 0xFC, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x5B, 0xF9, 0x00, 0x28 + .byte 0x62, 0xD1, 0x20, 0x6B, 0x00, 0xF0, 0x52, 0xFD, 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xF8, 0x01, 0x20 + .byte 0x67, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x4B, 0xF9, 0x00, 0x28 + .byte 0x52, 0xD1, 0x0C, 0x21, 0x0A, 0x1C, 0xE0, 0x69, 0xF4, 0x32, 0x99, 0xF7, 0x7D, 0xFF, 0x0D, 0x21 + .byte 0x0A, 0x1C, 0xE0, 0x69, 0xF3, 0x32, 0x99, 0xF7, 0x77, 0xFF, 0x20, 0x6A, 0x0C, 0x21, 0x00, 0x22 + .byte 0x99, 0xF7, 0x72, 0xFF, 0x20, 0x6A, 0x0D, 0x21, 0x00, 0x22, 0x99, 0xF7, 0x6D, 0xFF, 0x20, 0x6A + .byte 0x06, 0x21, 0x01, 0x22, 0x99, 0xF7, 0x68, 0xFF, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x60, 0x48 + .byte 0x01, 0x93, 0x02, 0x90, 0x60, 0x69, 0x5F, 0x4A, 0x0F, 0x21, 0x95, 0xF7, 0xB9, 0xFD, 0x5C, 0x48 + .byte 0x00, 0x22, 0x00, 0x90, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xF5, 0xFB, 0x20, 0x1C + .byte 0x00, 0x21, 0x72, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0xFF, 0x22 + .byte 0x74, 0x30, 0x02, 0x70, 0x20, 0x1C, 0xA0, 0x22, 0x75, 0x30, 0x02, 0x70, 0x20, 0x1C, 0x70, 0x30 + .byte 0x01, 0x70, 0x51, 0x48, 0x97, 0xF7, 0x3C, 0xFE, 0x20, 0x6B, 0x00, 0xF0, 0xFF, 0xFC, 0x20, 0x1C + .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69 + .byte 0x96, 0xF7, 0xF8, 0xF8, 0x00, 0x28, 0x00, 0xD0, 0x85, 0xE0, 0x00, 0x20, 0x00, 0x90, 0x01, 0x90 + .byte 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69, 0x02, 0x23, 0xFB, 0xF7 + .byte 0x93, 0xFC, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x06, 0xA8, 0xFB, 0xF7, 0x79, 0xFC, 0xE0, 0x69 + .byte 0x06, 0xA9, 0x99, 0xF7, 0x2B, 0xFE, 0xE0, 0x69, 0x00, 0x21, 0x99, 0xF7, 0xF3, 0xFD, 0x20, 0x1C + .byte 0x60, 0x30, 0x00, 0x88, 0x97, 0xF7, 0x20, 0xFF, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 + .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x97, 0xF7, 0x92, 0xFF, 0x00, 0x28, 0x5A, 0xD1 + .byte 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0x12, 0xFB, 0x01, 0x28, 0x54, 0xD1, 0xE0, 0x69, 0x99, 0xF7 + .byte 0x17, 0xFE, 0x00, 0x28, 0x4F, 0xD1, 0xA0, 0x6A, 0xFB, 0xF7, 0xBC, 0xFC, 0x02, 0x1C, 0xE0, 0x68 + .byte 0x00, 0x21, 0x9D, 0xF7, 0xC1, 0xFA, 0x29, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xF7, 0xFA, 0x21, 0x1C + .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 + .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30 + .byte 0x00, 0x78, 0xAE, 0xF7, 0xE5, 0xFA, 0x00, 0x28, 0x2D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 + .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 + .byte 0x21, 0xD1, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0x0F, 0x4A + .byte 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x1C, 0xFD, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22 + .byte 0x0B, 0x1C, 0x9A, 0xF7, 0x59, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0 + .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x74, 0xF8, 0x00, 0x28, 0x02, 0xD1 + .byte 0x01, 0x20, 0x67, 0x34, 0x20, 0x70 + + non_word_aligned_thumb_func_start sub_0206D806 +sub_0206D806: ; 0x0206D806 + add sp, #0x54 + pop {r3-r4, pc} + nop +_0206D80C: + .byte 0xFF, 0xFF, 0x00, 0x00 + .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xF3, 0x00, 0x00, 0x75, 0x04, 0x00, 0x00, 0x97, 0x03, 0x00, 0x00 + + thumb_func_start sub_0206D820 +sub_0206D820: ; 0x0206D820 + push {r4-r6, lr} + sub sp, #0x20 + add r4, r0, #0x0 + ldr r0, [r4, #0x78] + cmp r0, #0x6 + bgt _0206D834 + bne _0206D830 + b _0206D9A0 +_0206D830: + add sp, #0x20 + pop {r4-r6, pc} +_0206D834: + sub r0, #0xd + cmp r0, #0x6 + bhi _0206D86C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r4, r1, #0 + lsl r6, r4, #0x5 + lsl r6, r4, #0x5 + lsl r6, r4, #0x5 + lsl r0, r3, #0x5 + lsl r0, r3, #0x5 + ldr r0, [r4, #0x4c] + ldr r2, [r4, #0x5c] + mov r1, #0x4 + bl sub_0206EEF8 + cmp r0, #0x0 + beq _0206D86C + ldr r0, [r4, #0x24] + bl sub_0206B9AC + cmp r0, #0x6 + blt _0206D86E +_0206D86C: + b _0206D9AE +_0206D86E: + ldr r0, [r4, #0x5c] + bl sub_020669C0 + add r5, r0, #0x0 + ldr r0, [r4, #0x28] + add r1, r5, #0x0 + bl sub_02069B88 + mov r0, #0x49 + lsl r0, r0, #0x2 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x5 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x4 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x9a + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + mov r1, #0xb + add r2, sp, #0x0 + bl sub_02067830 + mov r1, #0x19 + str r1, [sp, #0x4] + add r6, sp, #0x0 +_0206D8BA: + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_02067830 + ldr r0, [sp, #0x4] + add r1, r0, #0x1 + str r1, [sp, #0x4] + cmp r1, #0x36 + blt _0206D8BA + mov r1, #0x4e + str r1, [sp, #0x4] + add r6, sp, #0x0 +_0206D8D2: + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_02067830 + ldr r0, [sp, #0x4] + add r1, r0, #0x1 + str r1, [sp, #0x4] + cmp r1, #0x6e + blt _0206D8D2 + mov r1, #0x7a + str r1, [sp, #0x4] + add r6, sp, #0x0 +_0206D8EA: + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_02067830 + ldr r0, [sp, #0x4] + add r1, r0, #0x1 + str r1, [sp, #0x4] + cmp r1, #0x8f + blt _0206D8EA + add r0, r5, #0x0 + mov r1, #0xb2 + mov r2, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + mov r1, #0x4d + add r2, sp, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + mov r1, #0x9f + add r2, sp, #0x0 + bl sub_02067830 + ldr r0, [r4, #0x5c] + bl sub_020256BC + add r6, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa9 + add r2, r6, #0x0 + bl sub_02067830 + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + mov r1, #0xa1 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + add r1, sp, #0x8 + mov r2, #0x18 + blx sub_020CE240 + add r0, r5, #0x0 + mov r1, #0xaa + add r2, sp, #0x8 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_0206A1C4 + add r0, r5, #0x0 + bl sub_02066ED8 + ldr r0, [r4, #0x24] + add r1, r5, #0x0 + bl sub_0206B900 + ldr r0, [r4, #0x48] + add r1, r5, #0x0 + bl sub_02024AF0 + ldr r0, [r4, #0x50] + mov r1, #0xc + bl sub_0202A0E8 + ldr r0, [r4, #0x50] + mov r1, #0x16 + bl sub_0202A170 + add r0, r5, #0x0 + bl sub_020690E4 + add r1, r0, #0x0 + ldr r0, [r4, #0x54] + bl sub_0204C104 + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [r4, #0x4c] + ldr r3, [r4, #0x5c] + mov r1, #0x4 + mov r2, #0x1 + bl sub_0206EDD4 + add sp, #0x20 + pop {r4-r6, pc} +_0206D9A0: + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [r4, #0x28] + mov r1, #0x6 + add r2, sp, #0x4 + bl sub_02067830 +_0206D9AE: + add sp, #0x20 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206D9B4 +sub_0206D9B4: ; 0x0206D9B4 + push {r4-r6, lr} + sub sp, #0xb8 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0201E6D8 + ldr r6, _0206DC28 ; =0x020F8354 + add r3, sp, #0x3c + mov r2, #0x5 +_0206D9C6: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206D9C6 + add r0, sp, #0x3c + bl sub_0201E66C + mov r1, #0x6 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x18 + lsl r2, r2, #0x12 + blx sub_020CE1FC + mov r1, #0x62 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + blx sub_020CE1FC + mov r1, #0x19 + mov r2, #0x1 + mov r0, #0x0 + lsl r1, r1, #0x16 + lsl r2, r2, #0x12 + blx sub_020CE1FC + mov r1, #0x66 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + blx sub_020CE1FC + ldr r6, _0206DC2C ; =0x020F8328 + add r3, sp, #0x2c + add r2, r3, #0x0 + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r6, _0206DC30 ; =0x020F837C + add r3, sp, #0x64 + mov r2, #0xa +_0206DA26: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206DA26 + ldr r0, [r6, #0x0] + mov r1, #0x1 + str r0, [r3, #0x0] + add r0, r4, #0x0 + add r2, sp, #0x64 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02018744 + add r0, r4, #0x0 + mov r1, #0x2 + add r2, sp, #0x80 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02018744 + add r0, r4, #0x0 + mov r1, #0x3 + add r2, sp, #0x9c + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_02018744 + ldr r1, _0206DC34 ; =0x04000008 + mov r0, #0x3 + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x1 + orr r2, r0 + strh r2, [r1, #0x0] + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r6, _0206DC38 ; =0x020F8338 + add r3, sp, #0x10 + ldmia r6!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r6, #0x0] + mov r1, #0x4 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02018744 + ldr r0, [r5, #0x2c] + bl sub_02025084 + add r6, r0, #0x0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [r5, #0x5c] + mov r1, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r2, r1, #0x0 + mov r3, #0xa + bl sub_0200D274 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, [r5, #0x5c] + add r2, r4, #0x0 + str r0, [sp, #0xc] + mov r0, #0x76 + mov r3, #0x3 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r1, #0x1 + str r1, [sp, #0x8] + ldr r0, [r5, #0x5c] + add r2, r4, #0x0 + str r0, [sp, #0xc] + mov r0, #0x76 + mov r3, #0x3 + bl sub_020068C8 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x40 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r5, #0x14] + ldr r3, [r5, #0x5c] + mov r1, #0x76 + mov r2, #0x8 + bl sub_020030E8 + add r0, r6, #0x0 + bl sub_0200CD64 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0xa0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x14] + ldr r3, [r5, #0x5c] + mov r1, #0x26 + bl sub_020030E8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0xb0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x14] + ldr r3, [r5, #0x5c] + mov r1, #0xe + mov r2, #0x7 + bl sub_020030E8 + ldr r0, [r5, #0x5c] + mov r1, #0x2 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + mov r2, #0x1 + mov r3, #0x0 + bl sub_0200CABC + bl sub_0200CAFC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0x80 + str r0, [sp, #0x8] + ldr r0, [r5, #0x14] + ldr r3, [r5, #0x5c] + mov r1, #0x26 + bl sub_020030E8 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, [r5, #0x5c] + mov r1, #0xa + str r0, [sp, #0xc] + mov r0, #0xc + add r2, r4, #0x0 + mov r3, #0x4 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, [r5, #0x5c] + mov r1, #0xb + str r0, [sp, #0xc] + mov r0, #0xc + add r2, r4, #0x0 + mov r3, #0x4 + bl sub_020068C8 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r1, #0xc + ldr r0, [r5, #0x14] + ldr r3, [r5, #0x5c] + add r2, r1, #0x0 + bl sub_020030E8 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r1, [r0, #0x0] + ldr r2, _0206DC3C ; =0xFFFF1FFF + add r3, r1, #0x0 + and r3, r2 + lsr r1, r0, #0xd + orr r1, r3 + ldr r3, _0206DC40 ; =0x04001000 + str r1, [r0, #0x0] + ldr r1, [r3, #0x0] + and r1, r2 + str r1, [r3, #0x0] + add r3, r0, #0x0 + add r3, #0x48 + ldrh r4, [r3, #0x0] + mov r2, #0x3f + mov r1, #0x1f + bic r4, r2 + orr r1, r4 + strh r1, [r3, #0x0] + add r0, #0x4a + ldrh r3, [r0, #0x0] + mov r1, #0x12 + bic r3, r2 + orr r1, r3 + strh r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x72 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x73 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0xff + add r0, #0x74 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0xa0 + add r0, #0x75 + strb r1, [r0, #0x0] + bl sub_0201E788 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + ldr r0, _0206DC44 ; =sub_0206DD08 + add r1, r5, #0x0 + bl sub_02015F10 + add sp, #0xb8 + pop {r4-r6, pc} + .balign 4 +_0206DC28: .word 0x020F8354 +_0206DC2C: .word 0x020F8328 +_0206DC30: .word 0x020F837C +_0206DC34: .word 0x04000008 +_0206DC38: .word 0x020F8338 +_0206DC3C: .word 0xFFFF1FFF +_0206DC40: .word 0x04001000 +_0206DC44: .word sub_0206DD08 + 1 + + thumb_func_start sub_0206DC48 +sub_0206DC48: ; 0x0206DC48 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E6E4 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020178A0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206DC80 +sub_0206DC80: ; 0x0206DC80 + push {r3-r5, lr} + sub sp, #0x20 + add r4, r0, #0x0 + ldr r1, [r4, #0x28] + add r0, sp, #0x10 + mov r2, #0x2 + bl sub_02068B68 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [r4, #0x18] + add r1, sp, #0x10 + mov r2, #0x80 + mov r3, #0x50 + bl sub_020073A0 + str r0, [r4, #0x1c] + ldr r0, [r4, #0x5c] + bl sub_020669C0 + add r5, r0, #0x0 + ldr r0, [r4, #0x28] + add r1, r5, #0x0 + bl sub_02069B88 + add r2, r4, #0x0 + add r0, r5, #0x0 + mov r1, #0x5 + add r2, #0x62 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + add r0, sp, #0x10 + add r1, r5, #0x0 + mov r2, #0x2 + bl sub_02068B68 + add r0, r5, #0x0 + bl sub_02016A18 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [r4, #0x18] + add r1, sp, #0x10 + mov r2, #0x80 + mov r3, #0x50 + bl sub_020073A0 + str r0, [r4, #0x20] + mov r1, #0xc + mov r2, #0x0 + bl sub_02007558 + ldr r0, [r4, #0x20] + mov r1, #0xd + mov r2, #0x0 + bl sub_02007558 + add sp, #0x20 + pop {r3-r5, pc} + + thumb_func_start sub_0206DD08 +sub_0206DD08: ; 0x0206DD08 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x75 + ldrb r2, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x73 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x72 + ldrb r0, [r0, #0x0] + mov r3, #0xff + lsl r3, r3, #0x8 + lsl r0, r0, #0x8 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x74 + lsl r1, r1, #0x8 + and r1, r3 + ldrb r0, [r0, #0x0] + and r5, r3 + orr r1, r2 + orr r5, r0 + ldr r0, _0206DD60 ; =0x04000040 + strh r5, [r0, #0x0] + strh r1, [r0, #0x4] + ldr r0, [r4, #0x18] + bl sub_020081C4 + bl sub_0201C30C + ldr r0, [r4, #0x14] + bl sub_0200372C + ldr r0, [r4, #0x0] + bl sub_0201AB60 + ldr r3, _0206DD64 ; =0x027E0000 + ldr r1, _0206DD68 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r3-r5, pc} + nop +_0206DD60: .word 0x04000040 +_0206DD64: .word 0x027E0000 +_0206DD68: .word 0x00003FF8 + + thumb_func_start sub_0206DD6C +sub_0206DD6C: ; 0x0206DD6C + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r0, [r4, #0x8] + bl sub_0200A914 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [r4, #0x4] + mov r1, #0xff + bl sub_02019620 + ldr r0, [r4, #0x2c] + bl sub_02024FF4 + mov r3, #0x0 + str r3, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _0206DDB0 ; =sub_0206DDB4 + mov r1, #0x1 + str r0, [sp, #0x8] + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x10] + bl sub_0201BD84 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 +_0206DDB0: .word sub_0206DDB4 + 1 + + thumb_func_start sub_0206DDB4 +sub_0206DDB4: ; 0x0206DDB4 + push {r4, lr} + mov r4, #0x0 + cmp r1, #0x5 + bhi _0206DDFA + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r6, #0 + lsl r2, r1, #0 + lsl r2, r2, #0 + lsl r2, r3, #0 + lsl r2, r4, #0 + lsl r2, r5, #0 + bl sub_02005514 + add r4, r0, #0x0 + b _0206DDFA +_0206DDDC: + .byte 0x97, 0xF7, 0x6E, 0xFF + .byte 0x04, 0x1C, 0x0A, 0xE0, 0x06, 0x48, 0x97, 0xF7, 0x1F, 0xFF, 0x06, 0xE0, 0x05, 0x48, 0x97, 0xF7 + .byte 0x6B, 0xFB, 0x02, 0xE0, 0x04, 0x48, 0x97, 0xF7, 0x17, 0xFF +_0206DDFA: + add r0, r4, #0x0 + pop {r4, pc} + nop +_0206DE00: + .byte 0x84, 0x04, 0x00, 0x00, 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 + + thumb_func_start sub_0206DE0C +sub_0206DE0C: ; 0x0206DE0C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0206DE20 ; =0x020FA6E8 + ldr r1, [r4, #0x3c] + ldr r2, [r4, #0x5c] + bl sub_02006234 + str r0, [r4, #0x38] + pop {r4, pc} + nop +_0206DE20: .word 0x020FA6E8 + + thumb_func_start sub_0206DE24 +sub_0206DE24: ; 0x0206DE24 + push {r3, lr} + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _0206DE44 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0206DE48 ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + pop {r3, pc} + .balign 4 +_0206DE44: .word 0xFFFFE0FF +_0206DE48: .word 0x04001000 + + thumb_func_start sub_0206DE4C +sub_0206DE4C: ; 0x0206DE4C + push {r3, lr} + mov r0, #0x7 + str r0, [sp, #0x0] + ldr r0, _0206DE70 ; =0x04000050 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xb + blx sub_020C74DC + mov r0, #0x8 + str r0, [sp, #0x0] + ldr r0, _0206DE74 ; =0x04001050 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0x7 + blx sub_020C74DC + pop {r3, pc} + .balign 4 +_0206DE70: .word 0x04000050 +_0206DE74: .word 0x04001050 + + thumb_func_start sub_0206DE78 +sub_0206DE78: ; 0x0206DE78 + push {r3, lr} + sub sp, #0x8 + mov r2, #0x2 + ldr r1, _0206DE90 ; =sub_0206DE94 + str r2, [sp, #0x0] + str r1, [sp, #0x4] + mov r1, #0x0 + add r3, r1, #0x0 + bl sub_02022318 + add sp, #0x8 + pop {r3, pc} + .balign 4 +_0206DE90: .word sub_0206DE94 + 1 + + thumb_func_start sub_0206DE94 +sub_0206DE94: ; 0x0206DE94 + push {r3, lr} + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r0, _0206DF00 ; =0x04000008 + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r0, #0x0] + add r0, #0x58 + ldrh r2, [r0, #0x0] + ldr r1, _0206DF04 ; =0xFFFFCFFD + and r2, r1 + strh r2, [r0, #0x0] + add r2, r1, #0x2 + ldrh r3, [r0, #0x0] + add r1, r1, #0x2 + and r3, r2 + mov r2, #0x10 + orr r2, r3 + strh r2, [r0, #0x0] + ldrh r3, [r0, #0x0] + ldr r2, _0206DF08 ; =0x0000CFFB + and r3, r2 + strh r3, [r0, #0x0] + ldrh r3, [r0, #0x0] + sub r2, #0x1c + and r3, r1 + mov r1, #0x8 + orr r1, r3 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + and r1, r2 + strh r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + blx sub_020C7C28 + mov r0, #0x0 + ldr r2, _0206DF0C ; =0x00007FFF + add r1, r0, #0x0 + mov r3, #0x3f + str r0, [sp, #0x0] + blx sub_020C7B3C + ldr r1, _0206DF10 ; =0xBFFF0000 + ldr r0, _0206DF14 ; =0x04000580 + str r1, [r0, #0x0] + pop {r3, pc} + .balign 4 +_0206DF00: .word 0x04000008 +_0206DF04: .word 0xFFFFCFFD +_0206DF08: .word 0x0000CFFB +_0206DF0C: .word 0x00007FFF +_0206DF10: .word 0xBFFF0000 +_0206DF14: .word 0x04000580 + + thumb_func_start sub_0206DF18 +sub_0206DF18: ; 0x0206DF18 + push {r3-r5, lr} + ldr r3, _0206DF50 ; =0x021064B8 + mov r0, #0x2 + mov r1, #0x0 + ldr r3, [r3, #0x0] + lsl r0, r0, #0xe + add r2, r1, #0x0 + blx r3 + ldr r3, _0206DF54 ; =0x021064C0 + mov r1, #0x0 + add r4, r0, #0x0 + ldr r3, [r3, #0x0] + mov r0, #0xa0 + add r2, r1, #0x0 + blx r3 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0206DF40 + bl sub_02020C2C +_0206DF40: + cmp r5, #0x0 + bne _0206DF48 + bl sub_02020C2C +_0206DF48: + bl sub_02012CC8 + pop {r3-r5, pc} + nop +_0206DF50: .word 0x021064B8 +_0206DF54: .word 0x021064C0 + + thumb_func_start sub_0206DF58 +sub_0206DF58: ; 0x0206DF58 + push {r3, lr} + bl sub_020222AC + bl sub_02013364 + cmp r0, #0x0 + ble _0206DF6E + bl sub_020222AC + blx sub_020B02C8 +_0206DF6E: + bl sub_02013388 + mov r0, #0x1 + mov r1, #0x0 + bl sub_020222B4 + pop {r3, pc} + + thumb_func_start sub_0206DF7C +sub_0206DF7C: ; 0x0206DF7C + push {r4, lr} + ldr r3, _0206DF94 ; =0x021064B8 + mov r2, #0x0 + ldr r3, [r3, #0x0] + blx r3 + add r4, r0, #0x0 + bl sub_0201327C + lsl r0, r4, #0x10 + lsr r0, r0, #0xd + pop {r4, pc} + nop +_0206DF94: .word 0x021064B8 + + thumb_func_start sub_0206DF98 +sub_0206DF98: ; 0x0206DF98 + push {r4, lr} + ldr r3, _0206DFB0 ; =0x021064C0 + mov r2, #0x0 + ldr r3, [r3, #0x0] + blx r3 + add r4, r0, #0x0 + bl sub_020132BC + lsl r0, r4, #0x10 + lsr r0, r0, #0xd + pop {r4, pc} + nop +_0206DFB0: .word 0x021064C0 + + thumb_func_start sub_0206DFB4 +sub_0206DFB4: ; 0x0206DFB4 + push {r4, lr} + sub sp, #0x8 + mov r1, #0x12 + lsl r1, r1, #0xa + add r4, r0, #0x0 + bl sub_02016998 + add r2, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r3, #0x12 + ldr r0, _0206DFF4 ; =sub_0206DF7C + ldr r1, _0206DFF8 ; =sub_0206DF98 + lsl r3, r3, #0xa + str r4, [sp, #0x4] + bl sub_02012CDC + add r4, r0, #0x0 + bl sub_0201343C + add r2, r0, #0x0 + beq _0206DFEC + mov r0, #0x1 + mov r1, #0xe1 + lsl r0, r0, #0xc + lsl r1, r1, #0xe + bl sub_0201EC94 +_0206DFEC: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4, pc} + nop +_0206DFF4: .word sub_0206DF7C + 1 +_0206DFF8: .word sub_0206DF98 + 1 + + thumb_func_start sub_0206DFFC +sub_0206DFFC: ; 0x0206DFFC + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_0206DFB4 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, r5, #0x0 + bl sub_0201318C + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0xa + mov r3, #0x1 + bl sub_02013194 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0206E024 +sub_0206E024: ; 0x0206E024 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020133E8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02012DE4 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + + thumb_func_start sub_0206E03C +sub_0206E03C: ; 0x0206E03C + push {r3} + sub sp, #0xc + add r1, sp, #0x0 + mov r2, #0x0 + str r2, [r1, #0x0] + str r2, [r1, #0x4] + str r2, [r1, #0x8] + mov r1, #0x56 + lsl r1, r1, #0x4 + str r2, [sp, #0x0] + str r2, [sp, #0x8] + str r1, [sp, #0x4] + ldr r1, [r0, #0x20] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x4] + add r1, r2, r1 + str r1, [r0, #0x28] + ldr r1, [r0, #0x20] + ldr r2, [sp, #0x4] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x8] + add r1, r2, r1 + str r1, [r0, #0x2c] + ldr r1, [r0, #0x20] + ldr r2, [sp, #0x8] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0xc] + add r1, r2, r1 + str r1, [r0, #0x30] + add sp, #0xc + pop {r3} + bx lr + + thumb_func_start sub_0206E07C +sub_0206E07C: ; 0x0206E07C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + bne _0206E090 + bl sub_02020C2C +_0206E090: + ldr r0, [r5, #0x0] + ldr r2, [r5, #0x4] + mov r1, #0x7c + str r0, [r4, #0x0] + str r2, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_0206DFFC + mov r1, #0x1 + str r0, [r4, #0xc] + bl sub_02013440 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_0206E0AC +sub_0206E0AC: ; 0x0206E0AC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r2, _0206E0C4 ; =sub_0206E03C + add r3, r4, #0x0 + bl sub_020133AC + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl sub_02013440 + pop {r4, pc} + .balign 4 +_0206E0C4: .word sub_0206E03C + 1 + + thumb_func_start sub_0206E0C8 +sub_0206E0C8: ; 0x0206E0C8 + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020133C8 + cmp r0, #0x0 + beq _0206E0D8 + mov r0, #0x1 + pop {r3, pc} +_0206E0D8: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0206E0DC +sub_0206E0DC: ; 0x0206E0DC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl sub_0206E024 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206E0F0 +sub_0206E0F0: ; 0x0206E0F0 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x17 + blo _0206E0FC + bl sub_02020C2C +_0206E0FC: + ldr r0, _0206E104 ; =0x020F83E0 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_0206E104: .word 0x020F83E0 + + thumb_func_start sub_0206E108 +sub_0206E108: ; 0x0206E108 + mov r0, #0x26 + bx lr + + thumb_func_start sub_0206E10C +sub_0206E10C: ; 0x0206E10C + mov r0, #0xb2 + bx lr + + thumb_func_start sub_0206E110 +sub_0206E110: ; 0x0206E110 + mov r0, #0xb3 + bx lr + + thumb_func_start sub_0206E114 +sub_0206E114: ; 0x0206E114 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x17 + blo _0206E120 + bl sub_02020C2C +_0206E120: + ldr r0, _0206E128 ; =0x020F843C + ldrb r0, [r0, r4] + pop {r4, pc} + nop +_0206E128: .word 0x020F843C + + thumb_func_start sub_0206E12C +sub_0206E12C: ; 0x0206E12C + mov r0, #0x1b + bx lr + + thumb_func_start sub_0206E130 +sub_0206E130: ; 0x0206E130 + push {r3-r7, lr} + sub sp, #0x10 + add r7, r3, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + bl sub_0206E12C + str r0, [sp, #0xc] + add r0, r7, #0x0 + bl sub_0206E0F0 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [sp, #0x28] + str r4, [sp, #0x4] + str r0, [sp, #0x8] + ldr r2, [sp, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0200C00C + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206E164 +sub_0206E164: ; 0x0206E164 + push {r4-r7, lr} + sub sp, #0x14 + add r6, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_0206E12C + str r0, [sp, #0x10] + bl sub_0206E108 + add r3, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x3 + str r0, [sp, #0x4] + str r5, [sp, #0x8] + ldr r2, [sp, #0x10] + add r0, r6, #0x0 + add r1, r7, #0x0 + str r4, [sp, #0xc] + bl sub_0200C06C + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206E198 +sub_0206E198: ; 0x0206E198 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x18] + bl sub_0206E12C + add r4, r0, #0x0 + bl sub_0206E108 + str r4, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r0, #0x3 + str r0, [sp, #0xc] + ldr r0, [sp, #0x30] + ldr r3, [sp, #0x18] + str r0, [sp, #0x10] + ldr r0, [sp, #0x34] + add r1, r6, #0x0 + str r0, [sp, #0x14] + add r0, r5, #0x0 + add r2, r7, #0x0 + bl sub_0200C0DC + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206E1D4 +sub_0206E1D4: ; 0x0206E1D4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl sub_0206E12C + str r0, [sp, #0x8] + bl sub_0206E10C + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + add r1, r4, #0x0 + str r6, [sp, #0x4] + bl sub_0200C124 + bl sub_0206E12C + add r6, r0, #0x0 + bl sub_0206E110 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + str r7, [sp, #0x4] + bl sub_0200C13C + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0206E21C +sub_0206E21C: ; 0x0206E21C + ldr r3, _0206E220 ; =sub_0200C358 + bx r3 + .balign 4 +_0206E220: .word sub_0200C358 + 1 + + thumb_func_start sub_0206E224 +sub_0206E224: ; 0x0206E224 + ldr r3, _0206E228 ; =sub_0200C368 + bx r3 + .balign 4 +_0206E228: .word sub_0200C368 + 1 + + thumb_func_start sub_0206E22C +sub_0206E22C: ; 0x0206E22C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_0200C378 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200C388 + pop {r3-r5, pc} + + thumb_func_start sub_0206E240 +sub_0206E240: ; 0x0206E240 + push {r4-r7, lr} + sub sp, #0x34 + add r6, r3, #0x0 + add r4, r0, #0x0 + add r7, r1, #0x0 + add r5, sp, #0x0 + mov r3, #0x6 +_0206E24E: + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + sub r3, r3, #0x1 + bne _0206E24E + ldr r0, [r6, #0x0] + str r0, [r5, #0x0] + add r0, r2, #0x0 + bl sub_0206E114 + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x0 + bl sub_0200C154 + add sp, #0x34 + pop {r4-r7, pc} + + thumb_func_start sub_0206E270 +sub_0206E270: ; 0x0206E270 + ldr r3, _0206E274 ; =sub_0200C3DC + bx r3 + .balign 4 +_0206E274: .word sub_0200C3DC + 1 + + thumb_func_start sub_0206E278 +sub_0206E278: ; 0x0206E278 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x3 + blo _0206E284 + bl sub_02020C2C +_0206E284: + ldr r0, _0206E28C ; =0x020F83D4 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_0206E28C: .word 0x020F83D4 + + thumb_func_start sub_0206E290 +sub_0206E290: ; 0x0206E290 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x3 + blo _0206E29C + bl sub_02020C2C +_0206E29C: + ldr r0, _0206E2A4 ; =0x020F83D0 + ldrb r0, [r0, r4] + pop {r4, pc} + nop +_0206E2A4: .word 0x020F83D0 + + thumb_func_start sub_0206E2A8 +sub_0206E2A8: ; 0x0206E2A8 + mov r0, #0x1b + bx lr + + thumb_func_start sub_0206E2AC +sub_0206E2AC: ; 0x0206E2AC + push {r3-r7, lr} + sub sp, #0x10 + add r7, r3, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + bl sub_0206E2A8 + str r0, [sp, #0xc] + add r0, r7, #0x0 + bl sub_0206E278 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [sp, #0x28] + str r4, [sp, #0x4] + str r0, [sp, #0x8] + ldr r2, [sp, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0200C00C + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206E2E0 +sub_0206E2E0: ; 0x0206E2E0 + ldr r3, _0206E2E4 ; =sub_0200C358 + bx r3 + .balign 4 +_0206E2E4: .word sub_0200C358 + 1 + + thumb_func_start sub_0206E2E8 +sub_0206E2E8: ; 0x0206E2E8 + ldr r3, _0206E2EC ; =sub_0200C3DC + bx r3 + .balign 4 +_0206E2EC: .word sub_0200C3DC + 1 + + thumb_func_start sub_0206E2F0 +sub_0206E2F0: ; 0x0206E2F0 + push {r4, lr} + mov r1, #0x78 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x78 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206E308 +sub_0206E308: ; 0x0206E308 + mov r0, #0x78 + bx lr + + thumb_func_start sub_0206E30C +sub_0206E30C: ; 0x0206E30C + add r0, #0x65 + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E314 +sub_0206E314: ; 0x0206E314 + push {r4-r6, lr} + add r4, r1, #0x0 + add r1, r2, #0x0 + add r5, r0, #0x0 + add r6, r3, #0x0 + bl sub_0206E30C + str r4, [r5, #0x0] + str r6, [r5, #0x6c] + mov r0, #0x0 + add r5, #0x66 + strh r0, [r5, #0x0] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206E330 +sub_0206E330: ; 0x0206E330 + push {r3-r4} + mov r4, #0xc + mul r4, r3 + add r0, r0, r4 + str r1, [r0, #0x4] + strb r2, [r0, #0xc] + pop {r3-r4} + bx lr + + thumb_func_start sub_0206E340 +sub_0206E340: ; 0x0206E340 + add r1, r0, #0x0 + add r1, #0x76 + ldrh r2, [r1, #0x0] + mov r1, #0x1 + add r0, #0x76 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0206E354 +sub_0206E354: ; 0x0206E354 + str r1, [r0, #0x70] + bx lr + + thumb_func_start sub_0206E358 +sub_0206E358: ; 0x0206E358 + add r0, #0x74 + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E360 +sub_0206E360: ; 0x0206E360 + add r2, r0, #0x0 + add r2, #0x76 + ldrh r3, [r2, #0x0] + ldr r2, _0206E378 ; =0xFFFF0001 + lsl r1, r1, #0x11 + and r2, r3 + lsr r1, r1, #0x10 + orr r1, r2 + add r0, #0x76 + strh r1, [r0, #0x0] + bx lr + nop +_0206E378: .word 0xFFFF0001 + + thumb_func_start sub_0206E37C +sub_0206E37C: ; 0x0206E37C + add r0, #0x66 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E384 +sub_0206E384: ; 0x0206E384 + add r0, #0x68 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E38C +sub_0206E38C: ; 0x0206E38C + add r0, #0x74 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E394 +sub_0206E394: ; 0x0206E394 + add r0, #0x75 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_0206E39C +sub_0206E39C: ; 0x0206E39C + push {r3, lr} + bl sub_0202390C + bl sub_02028930 + pop {r3, pc} + + thumb_func_start sub_0206E3A8 +sub_0206E3A8: ; 0x0206E3A8 + push {r4-r6, lr} + bl sub_02029C80 + add r6, r0, #0x0 + mov r5, #0x0 + mov r4, #0x1 +_0206E3B4: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02029E2C + add r4, r4, #0x1 + add r5, r5, r0 + cmp r4, #0x50 + bls _0206E3B4 + add r0, r5, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_0206E3C8 +sub_0206E3C8: ; 0x0206E3C8 + push {r3, lr} + bl sub_02027E24 + bl sub_0202708C + bl sub_02027168 + pop {r3, pc} + + thumb_func_start sub_0206E3D8 +sub_0206E3D8: ; 0x0206E3D8 + push {r3, lr} + bl sub_02027E24 + bl sub_0202708C + bl sub_02027184 + pop {r3, pc} + + thumb_func_start sub_0206E3E8 +sub_0206E3E8: ; 0x0206E3E8 + push {r3, lr} + bl sub_0202A8D8 + mov r1, #0x0 + add r2, r1, #0x0 + bl sub_0202A3B4 + pop {r3, pc} + + thumb_func_start sub_0206E3F8 +sub_0206E3F8: ; 0x0206E3F8 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + str r1, [sp, #0x8] + add r5, r2, #0x0 + add r4, r3, #0x0 + mov r0, #0x0 + mov r1, #0x1a + mov r2, #0x7 + bl sub_0200A86C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0200AA80 + add r4, r0, #0x0 + cmp r5, #0x0 + bne _0206E428 + add r0, r6, #0x0 + mov r1, #0x63 + bl sub_0200A914 + add r5, r0, #0x0 + b _0206E4FA +_0206E428: + mov r1, #0x1b + lsl r1, r1, #0x4 + cmp r5, r1 + bne _0206E454 + add r0, r6, #0x0 + mov r1, #0x61 + bl sub_0200A914 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0206E3E8 + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r3, #0x4 + bl sub_0200AD38 + b _0206E4FA +_0206E454: + add r2, r1, #0x2 + cmp r5, r2 + bne _0206E47E + add r0, r6, #0x0 + mov r1, #0x5c + bl sub_0200A914 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0206E3A8 + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r3, #0x4 + bl sub_0200AD38 + b _0206E4FA +_0206E47E: + add r2, r1, #0x3 + cmp r5, r2 + bne _0206E4C0 + add r0, r6, #0x0 + mov r1, #0x5d + bl sub_0200A914 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0206E3C8 + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r3, #0x3 + bl sub_0200AD38 + add r0, r7, #0x0 + bl sub_0206E3D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x1 + add r0, r4, #0x0 + mov r3, #0x2 + str r1, [sp, #0x4] + bl sub_0200AD38 + b _0206E4FA +_0206E4C0: + add r1, #0xc + cmp r5, r1 + bne _0206E4EA + add r0, r6, #0x0 + mov r1, #0x39 + bl sub_0200A914 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl sub_0206E39C + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r3, #0x5 + bl sub_0200AD38 + b _0206E4FA +_0206E4EA: + bl sub_0200AB18 + add r0, r6, #0x0 + bl sub_0200A8B8 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0206E4FA: + ldr r1, [sp, #0x8] + add r0, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_0200AB18 + add r0, r6, #0x0 + bl sub_0200A8B8 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0206E51C +sub_0206E51C: ; 0x0206E51C + push {r3-r7, lr} + add r5, r1, #0x0 + str r0, [sp, #0x0] + ldr r4, [sp, #0x18] + cmp r3, #0x1 + beq _0206E52E + cmp r3, #0x2 + beq _0206E54C + b _0206E56A +_0206E52E: + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x7 + add r3, r4, #0x0 + bl sub_0200A86C + add r4, r0, #0x0 + mov r1, #0x38 + add r2, r5, #0x0 + bl sub_0200A8E0 + add r0, r4, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} +_0206E54C: + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x7 + add r3, r4, #0x0 + bl sub_0200A86C + add r4, r0, #0x0 + mov r1, #0x6f + add r2, r5, #0x0 + bl sub_0200A8E0 + add r0, r4, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} +_0206E56A: + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc7 + add r3, r4, #0x0 + bl sub_0200A86C + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_0200AA80 + add r4, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x24 + bl sub_0200A914 + add r6, r0, #0x0 + ldr r2, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200ABC0 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl sub_0200B7B8 + add r0, r6, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_0200AB18 + add r0, r7, #0x0 + bl sub_0200A8B8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0206E5B4 +sub_0206E5B4: ; 0x0206E5B4 + push {r3-r6} + add r3, r0, #0x0 + add r0, r2, #0x0 + cmp r1, r0 + beq _0206E63A + lsl r2, r1, #0x2 + ldrh r4, [r3, r2] + add r5, r3, r2 + add r2, sp, #0x0 + strh r4, [r2, #0x0] + ldrh r4, [r5, #0x2] + strh r4, [r2, #0x2] + cmp r0, r1 + bls _0206E600 + sub r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r1, r1, #0x10 + lsl r2, r0, #0x10 + asr r1, r1, #0x10 + asr r5, r2, #0x10 + cmp r1, r5 + bge _0206E62C + lsl r2, r1, #0x2 + add r2, r3, r2 + add r4, r2, #0x0 +_0206E5E8: + ldrh r6, [r2, #0x4] + add r1, r1, #0x1 + lsl r1, r1, #0x10 + strh r6, [r4, #0x0] + ldrh r6, [r2, #0x6] + asr r1, r1, #0x10 + add r2, r2, #0x4 + strh r6, [r4, #0x2] + add r4, r4, #0x4 + cmp r1, r5 + blt _0206E5E8 + b _0206E62C +_0206E600: + lsl r1, r1, #0x10 + asr r5, r1, #0x10 + lsl r1, r0, #0x10 + asr r4, r1, #0x10 + cmp r5, r4 + ble _0206E62C + lsl r1, r5, #0x2 + add r1, r3, r1 + add r2, r1, #0x0 +_0206E612: + sub r6, r1, #0x4 + ldrh r6, [r6, #0x0] + sub r5, r5, #0x1 + lsl r5, r5, #0x10 + strh r6, [r2, #0x0] + sub r6, r1, #0x2 + ldrh r6, [r6, #0x0] + asr r5, r5, #0x10 + sub r1, r1, #0x4 + strh r6, [r2, #0x2] + sub r2, r2, #0x4 + cmp r5, r4 + bgt _0206E612 +_0206E62C: + lsl r4, r0, #0x2 + add r0, sp, #0x0 + ldrh r1, [r0, #0x0] + add r2, r3, r4 + strh r1, [r3, r4] + ldrh r0, [r0, #0x2] + strh r0, [r2, #0x2] +_0206E63A: + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_0206E640 +sub_0206E640: ; 0x0206E640 + cmp r1, #0x3 + bhi _0206E6B2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r0, r3, #0 + lsl r2, r6, #0 + lsl r6, r1, #0x1 + cmp r0, #0x0 + beq _0206E6B2 + ldr r1, _0206E6B8 ; =0x0000FFFF + cmp r0, r1 + beq _0206E6B2 + lsl r1, r0, #0x3 + ldr r0, _0206E6BC ; =0x020F85B4 + ldrh r0, [r0, r1] + bx lr +_0206E66A: + .byte 0x00, 0x28, 0x01, 0xD1, 0x14, 0x48 + .byte 0x70, 0x47, 0x11, 0x49, 0x88, 0x42, 0x01, 0xD1, 0x12, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x12, 0x48 + .byte 0x40, 0x5A, 0x70, 0x47, 0x00, 0x28, 0x02, 0xD1, 0xAF, 0x20, 0x80, 0x00, 0x70, 0x47, 0x0A, 0x49 + .byte 0x88, 0x42, 0x01, 0xD1, 0x0D, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x0D, 0x48, 0x40, 0x5A, 0x70, 0x47 + .byte 0x00, 0x28, 0x06, 0xD0, 0x04, 0x49, 0x88, 0x42, 0x03, 0xD0, 0xC1, 0x00, 0x09, 0x48, 0x40, 0x5A + .byte 0x70, 0x47 +_0206E6B2: + mov r0, #0x0 + bx lr + nop +_0206E6B8: .word 0x0000FFFF +_0206E6BC: .word 0x020F85B4 +_0206E6C0: + .byte 0xBB, 0x02, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0xB6, 0x85, 0x0F, 0x02, 0xBE, 0x02, 0x00, 0x00 + .byte 0xB8, 0x85, 0x0F, 0x02, 0xBA, 0x85, 0x0F, 0x02 + + thumb_func_start sub_0206E6D8 +sub_0206E6D8: ; 0x0206E6D8 + push {r3-r4} + mov r2, #0x1d + ldr r3, _0206E704 ; =0x020F85B4 + mov r4, #0x1 + lsl r2, r2, #0x4 +_0206E6E2: + lsl r1, r4, #0x3 + add r1, r3, r1 + ldrh r1, [r1, #0x6] + cmp r0, r1 + bne _0206E6F2 + add r0, r4, #0x0 + pop {r3-r4} + bx lr +_0206E6F2: + add r1, r4, #0x1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, r2 + bls _0206E6E2 + mov r0, #0x0 + pop {r3-r4} + bx lr + nop +_0206E704: .word 0x020F85B4 + + thumb_func_start sub_0206E708 +sub_0206E708: ; 0x0206E708 + mov r0, #0x1 + bx lr + + thumb_func_start sub_0206E70C +sub_0206E70C: ; 0x0206E70C + mov r0, #0x0 + bx lr + + thumb_func_start sub_0206E710 +sub_0206E710: ; 0x0206E710 + push {r3, lr} + add r3, r0, #0x0 + mov r0, #0x1d + lsl r0, r0, #0x4 + cmp r3, r0 + bls _0206E71E + mov r3, #0x0 +_0206E71E: + cmp r1, #0x0 + beq _0206E72C + cmp r1, #0x1 + beq _0206E73A + cmp r1, #0x2 + beq _0206E748 + b _0206E756 +_0206E72C: + ldr r1, _0206E75C ; =0x020F85B4 + lsl r3, r3, #0x3 + ldrh r1, [r1, r3] + mov r0, #0xf + bl sub_0200650C + pop {r3, pc} +_0206E73A: + ldr r1, _0206E760 ; =0x020F85B6 + lsl r3, r3, #0x3 + ldrh r1, [r1, r3] + mov r0, #0x10 + bl sub_0200650C + pop {r3, pc} +_0206E748: + ldr r1, _0206E764 ; =0x020F85B8 + lsl r3, r3, #0x3 + ldrh r1, [r1, r3] + mov r0, #0x10 + bl sub_0200650C + pop {r3, pc} +_0206E756: + mov r0, #0x0 + pop {r3, pc} + nop +_0206E75C: .word 0x020F85B4 +_0206E760: .word 0x020F85B6 +_0206E764: .word 0x020F85B8 + + thumb_func_start sub_0206E768 +sub_0206E768: ; 0x0206E768 + push {r4-r6, lr} + add r3, r2, #0x0 + mov r2, #0x56 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r6, r0, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_0200A8B8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206E790 +sub_0206E790: ; 0x0206E790 + push {r4-r6, lr} + add r3, r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r2, _0206E7B4 ; =0x00000157 + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r6, r0, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_0200A8B8 + pop {r4-r6, pc} + .balign 4 +_0206E7B4: .word 0x00000157 + + thumb_func_start sub_0206E7B8 +sub_0206E7B8: ; 0x0206E7B8 + push {r4-r6, lr} + add r4, r1, #0x0 + mov r1, #0x0 + add r5, r2, #0x0 + bl sub_0206E710 + add r6, r0, #0x0 + add r1, r4, #0x0 + bl sub_0206E7DC + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02016A8C + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0206E7DC +sub_0206E7DC: ; 0x0206E7DC + push {r3, lr} + cmp r1, #0xe + bhi _0206E85C + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r0, r6, #0 + lsl r0, r7, #0 + lsl r0, r0, #0x1 + lsl r4, r0, #0x1 + lsl r0, r1, #0x1 + lsl r4, r1, #0x1 + lsl r0, r2, #0x1 + lsl r4, r2, #0x1 + lsl r0, r3, #0x1 + lsl r0, r4, #0x1 + lsl r0, r5, #0x1 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_0206E810: + .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x00, 0x89, 0x80, 0x06, 0xC0, 0x0F, 0x08, 0xBD + .byte 0x00, 0x89, 0x40, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x89, 0x40, 0x05, 0x00, 0x0F, 0x08, 0xBD + .byte 0x80, 0x7A, 0x08, 0xBD, 0xC0, 0x7A, 0x08, 0xBD, 0x00, 0x79, 0x08, 0xBD, 0x40, 0x79, 0x08, 0xBD + .byte 0x80, 0x79, 0x08, 0xBD, 0xC0, 0x79, 0x08, 0xBD, 0x00, 0x89, 0xC0, 0x06, 0xC0, 0x0E, 0x08, 0xBD + .byte 0x00, 0x89, 0x00, 0x04, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x7B, 0x08, 0xBD +_0206E85C: + ldrb r2, [r0, #0xc] + cmp r2, #0x0 + beq _0206E868 + cmp r2, #0x1 + beq _0206E86C + b _0206E874 +_0206E868: + ldrb r0, [r0, #0xe] + pop {r3, pc} +_0206E86C: + add r0, #0xe + bl sub_0206E878 + pop {r3, pc} +_0206E874: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_0206E878 +sub_0206E878: ; 0x0206E878 + sub r1, #0xf + cmp r1, #0x2b + bls _0206E880 + b _0206EA2A +_0206E880: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r2, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r6, r5, #0x1 + lsl r6, r6, #0x1 + lsl r6, r7, #0x1 + lsl r6, r0, #0x2 + lsl r6, r1, #0x2 + lsl r6, r2, #0x2 + lsl r6, r3, #0x2 + lsl r6, r4, #0x2 + lsl r6, r5, #0x2 + lsl r6, r6, #0x2 + lsl r6, r7, #0x2 + lsl r6, r0, #0x3 + lsl r6, r1, #0x3 + lsl r6, r2, #0x3 + lsl r6, r3, #0x3 + lsl r6, r4, #0x3 + lsl r6, r5, #0x3 + lsl r6, r6, #0x3 + lsl r6, r7, #0x3 + lsl r6, r0, #0x4 + lsl r6, r1, #0x4 + lsl r6, r2, #0x4 + lsl r6, r3, #0x4 + lsl r6, r4, #0x4 + lsl r6, r5, #0x4 + lsl r6, r6, #0x4 + lsl r6, r7, #0x4 + lsl r6, r0, #0x5 + lsl r6, r1, #0x5 + lsl r6, r2, #0x5 + lsl r6, r3, #0x5 + lsl r4, r4, #0x5 + lsl r2, r5, #0x5 + lsl r0, r6, #0x5 + lsl r6, r6, #0x5 + lsl r4, r7, #0x5 + lsl r2, r0, #0x6 + lsl r6, r0, #0x6 + lsl r2, r1, #0x6 + lsl r0, r2, #0x6 + lsl r6, r2, #0x6 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr +_0206E8EC: + .byte 0x00, 0x78, 0x80, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0xC0, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x80, 0x06 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x06 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0xC0, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x80, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x07 + .byte 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x07 + .byte 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x07 + .byte 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x80, 0x06, 0x80, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x40, 0x06 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x06 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x06 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0xC0, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x40, 0x07 + .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x07, 0x21, 0x40, 0x56 + .byte 0x70, 0x47, 0x08, 0x21, 0x40, 0x56, 0x70, 0x47, 0x09, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0A, 0x21 + .byte 0x40, 0x56, 0x70, 0x47, 0x0B, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0C, 0x21, 0x40, 0x56, 0x70, 0x47 + .byte 0x40, 0x7B, 0x70, 0x47, 0x80, 0x7B, 0x70, 0x47, 0x0F, 0x21, 0x40, 0x56, 0x70, 0x47, 0x10, 0x21 + .byte 0x40, 0x56, 0x70, 0x47, 0x11, 0x21, 0x40, 0x56, 0x70, 0x47 +_0206EA2A: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_0206EA30 +sub_0206EA30: ; 0x0206EA30 + mov r2, #0x52 + lsl r2, r2, #0x2 + cmp r0, r2 + blo _0206EA40 + add r1, r2, #0x0 + add r1, #0x63 + cmp r0, r1 + bls _0206EA44 +_0206EA40: + mov r0, #0x0 + bx lr +_0206EA44: + sub r0, r0, r2 + lsl r0, r0, #0x10 + lsr r1, r0, #0xf + ldr r0, _0206EA50 ; =0x020F84EC + ldrh r0, [r0, r1] + bx lr + .balign 4 +_0206EA50: .word 0x020F84EC + + thumb_func_start sub_0206EA54 +sub_0206EA54: ; 0x0206EA54 + ldr r2, _0206EA78 ; =0x020F84EC + mov r3, #0x0 +_0206EA58: + lsl r1, r3, #0x1 + add r1, r2, r1 + add r1, #0xb8 + ldrh r1, [r1, #0x0] + cmp r0, r1 + bne _0206EA68 + mov r0, #0x1 + bx lr +_0206EA68: + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x8 + blo _0206EA58 + mov r0, #0x0 + bx lr + nop +_0206EA78: .word 0x020F84EC + + thumb_func_start sub_0206EA7C +sub_0206EA7C: ; 0x0206EA7C + mov r2, #0x52 + lsl r2, r2, #0x2 + cmp r0, r2 + blo _0206EA8C + add r1, r2, #0x0 + add r1, #0x63 + cmp r0, r1 + bls _0206EA90 +_0206EA8C: + mov r0, #0x0 + bx lr +_0206EA90: + sub r0, r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + + thumb_func_start sub_0206EA98 +sub_0206EA98: ; 0x0206EA98 + ldr r3, _0206EAB4 ; =0x020F8454 + mov r2, #0x0 +_0206EA9C: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _0206EAA6 + mov r0, #0x1 + bx lr +_0206EAA6: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0xc + blo _0206EA9C + mov r0, #0x0 + bx lr + nop +_0206EAB4: .word 0x020F8454 + + thumb_func_start sub_0206EAB8 +sub_0206EAB8: ; 0x0206EAB8 + ldr r3, _0206EAD4 ; =0x020F8454 + mov r2, #0x0 +_0206EABC: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _0206EAC8 + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + bx lr +_0206EAC8: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0xc + blo _0206EABC + mov r0, #0x0 + bx lr + .balign 4 +_0206EAD4: .word 0x020F8454 + + thumb_func_start sub_0206EAD8 +sub_0206EAD8: ; 0x0206EAD8 + cmp r0, #0xc + blo _0206EAE0 + mov r0, #0x0 + bx lr +_0206EAE0: + lsl r1, r0, #0x1 + ldr r0, _0206EAE8 ; =0x020F8454 + ldrh r0, [r0, r1] + bx lr + .balign 4 +_0206EAE8: .word 0x020F8454 + + thumb_func_start sub_0206EAEC +sub_0206EAEC: ; 0x0206EAEC + ldr r3, _0206EB08 ; =0x020F846C + mov r2, #0x0 +_0206EAF0: + ldrh r1, [r3, #0x0] + cmp r0, r1 + bne _0206EAFA + mov r0, #0x1 + bx lr +_0206EAFA: + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0x40 + blo _0206EAF0 + mov r0, #0x0 + bx lr + nop +_0206EB08: .word 0x020F846C + + thumb_func_start sub_0206EB0C +sub_0206EB0C: ; 0x0206EB0C + cmp r0, #0x95 + bhs _0206EB14 + mov r0, #0xff + bx lr +_0206EB14: + sub r0, #0x95 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + + thumb_func_start sub_0206EB1C +sub_0206EB1C: ; 0x0206EB1C + cmp r0, #0x40 + blo _0206EB24 + ldr r0, _0206EB2C ; =0x0000FFFF + bx lr +_0206EB24: + lsl r1, r0, #0x1 + ldr r0, _0206EB30 ; =0x020F846C + ldrh r0, [r0, r1] + bx lr + .balign 4 +_0206EB2C: .word 0x0000FFFF +_0206EB30: .word 0x020F846C + + thumb_func_start sub_0206EB34 +sub_0206EB34: ; 0x0206EB34 + ldr r1, _0206EB4C ; =0x0000FFDE + add r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x3 + bhi _0206EB44 + mov r0, #0x1 + b _0206EB46 +_0206EB44: + mov r0, #0x0 +_0206EB46: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + .balign 4 +_0206EB4C: .word 0x0000FFDE + + thumb_func_start sub_0206EB50 +sub_0206EB50: ; 0x0206EB50 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x1d + lsl r0, r0, #0x4 + mov r1, #0x0 + bl sub_0206E640 + mov r1, #0x24 + mul r1, r0 + str r1, [sp, #0x0] + mov r1, #0x0 + mov r0, #0xf + add r2, r4, #0x0 + add r3, r1, #0x0 + bl sub_02006564 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_0206EB78 +sub_0206EB78: ; 0x0206EB78 + mov r2, #0x24 + mul r2, r1 + add r0, r0, r2 + bx lr + + thumb_func_start sub_0206EB80 +sub_0206EB80: ; 0x0206EB80 + ldr r0, _0206EB84 ; =0x00000774 + bx lr + .balign 4 +_0206EB84: .word 0x00000774 + + thumb_func_start sub_0206EB88 +sub_0206EB88: ; 0x0206EB88 + push {r4, lr} + ldr r1, _0206EB9C ; =0x00000774 + bl sub_02016998 + add r4, r0, #0x0 + bl sub_0206EBA0 + add r0, r4, #0x0 + pop {r4, pc} + nop +_0206EB9C: .word 0x00000774 + + thumb_func_start sub_0206EBA0 +sub_0206EBA0: ; 0x0206EBA0 + ldr r3, _0206EBAC ; =sub_020CE1C8 + add r1, r0, #0x0 + mov r0, #0x0 + ldr r2, _0206EBB0 ; =0x00000774 + bx r3 + nop +_0206EBAC: .word sub_020CE1C8 +_0206EBB0: .word 0x00000774 + + thumb_func_start sub_0206EBB4 +sub_0206EBB4: ; 0x0206EBB4 + ldr r3, _0206EBBC ; =sub_020CE3E0 + ldr r2, _0206EBC0 ; =0x00000774 + bx r3 + nop +_0206EBBC: .word sub_020CE3E0 +_0206EBC0: .word 0x00000774 + + thumb_func_start sub_0206EBC4 +sub_0206EBC4: ; 0x0206EBC4 + mov r1, #0x77 + lsl r1, r1, #0x4 + ldr r0, [r0, r1] + bx lr + + thumb_func_start sub_0206EBCC +sub_0206EBCC: ; 0x0206EBCC + mov r2, #0x77 + lsl r2, r2, #0x4 + str r1, [r0, r2] + bx lr + + thumb_func_start sub_0206EBD4 +sub_0206EBD4: ; 0x0206EBD4 + push {r4-r6, lr} + add r5, r2, #0x0 + add r4, r0, #0x0 + add r0, r1, #0x0 + ldr r2, [sp, #0x10] + mov r1, #0x5 + add r6, r3, #0x0 + bl sub_0206E7B8 + cmp r0, #0x7 + bhi _0206EC64 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r3, #0 + lsl r0, r6, #0 + lsl r4, r7, #0 + lsl r0, r4, #0x1 + lsl r4, r4, #0 + lsl r4, r2, #0x1 + lsl r0, r1, #0x1 + lsl r6, r1, #0 + mov r1, #0xa5 + lsl r1, r1, #0x2 + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0x32 + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC14: + .byte 0x2C, 0x60, 0xA5, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x12, 0x49, 0x61, 0x18 + .byte 0x29, 0x60, 0x40, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x10, 0x49, 0x61, 0x18, 0x29, 0x60, 0x28, 0x21 + .byte 0x31, 0x60, 0x70, 0xBD, 0x0E, 0x49, 0x61, 0x18, 0x29, 0x60, 0x0F, 0x21, 0x31, 0x60, 0x70, 0xBD + .byte 0x0C, 0x49, 0x61, 0x18, 0x29, 0x60, 0x1E, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x0A, 0x49, 0x61, 0x18 + .byte 0x29, 0x60, 0x0C, 0x21, 0x31, 0x60, 0x70, 0xBD, 0xD7, 0x21, 0x89, 0x00, 0x61, 0x18, 0x29, 0x60 + .byte 0x64, 0x21, 0x31, 0x60 +_0206EC64: + pop {r4-r6, pc} + nop +_0206EC68: + .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00 + .byte 0xBC, 0x06, 0x00, 0x00, 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + + thumb_func_start sub_0206EC7C +sub_0206EC7C: ; 0x0206EC7C + push {r4-r7} + add r5, r1, #0x0 + mov r1, #0x0 + add r7, r0, #0x0 + add r4, r2, #0x0 + mov r12, r3 + mvn r1, r1 + mov r0, #0x0 + cmp r5, #0x0 + bls _0206ECCA + add r2, r7, #0x0 + add r3, r1, #0x0 +_0206EC94: + ldrh r6, [r2, #0x0] + cmp r4, r6 + bne _0206ECB2 + lsl r0, r0, #0x2 + add r0, r7, r0 + ldrh r2, [r0, #0x2] + mov r1, r12 + add r2, r1, r2 + add r1, sp, #0x0 + ldrh r1, [r1, #0x10] + cmp r2, r1 + ble _0206ECDC + mov r0, #0x0 + pop {r4-r7} + bx lr +_0206ECB2: + cmp r1, r3 + bne _0206ECC2 + cmp r6, #0x0 + bne _0206ECC2 + ldrh r6, [r2, #0x2] + cmp r6, #0x0 + bne _0206ECC2 + add r1, r0, #0x0 +_0206ECC2: + add r0, r0, #0x1 + add r2, r2, #0x4 + cmp r0, r5 + blo _0206EC94 +_0206ECCA: + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + bne _0206ECD8 + mov r0, #0x0 + pop {r4-r7} + bx lr +_0206ECD8: + lsl r0, r1, #0x2 + add r0, r7, r0 +_0206ECDC: + pop {r4-r7} + bx lr + + thumb_func_start sub_0206ECE0 +sub_0206ECE0: ; 0x0206ECE0 + push {r4-r5, lr} + sub sp, #0xc + add r4, r2, #0x0 + str r3, [sp, #0x0] + add r2, sp, #0x8 + add r3, sp, #0x4 + add r5, r1, #0x0 + bl sub_0206EBD4 + cmp r0, #0x3 + bne _0206ED0A + mov r0, #0x63 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + add r2, r5, #0x0 + add r3, r4, #0x0 + bl sub_0206EC7C + add sp, #0xc + pop {r4-r5, pc} +_0206ED0A: + ldr r0, _0206ED20 ; =0x000003E7 + add r2, r5, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + add r3, r4, #0x0 + bl sub_0206EC7C + add sp, #0xc + pop {r4-r5, pc} + nop +_0206ED20: .word 0x000003E7 + + thumb_func_start sub_0206ED24 +sub_0206ED24: ; 0x0206ED24 + push {r3, lr} + bl sub_0206ECE0 + cmp r0, #0x0 + beq _0206ED32 + mov r0, #0x1 + pop {r3, pc} +_0206ED32: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0206ED38 +sub_0206ED38: ; 0x0206ED38 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_0206ECE0 + str r0, [sp, #0x8] + cmp r0, #0x0 + bne _0206ED54 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0206ED54: + strh r5, [r0, #0x0] + ldr r1, [sp, #0x8] + add r2, sp, #0x8 + ldrh r0, [r1, #0x2] + add r3, sp, #0x4 + add r0, r0, r4 + strh r0, [r1, #0x2] + add r0, r7, #0x0 + add r1, r5, #0x0 + str r6, [sp, #0x0] + bl sub_0206EBD4 + sub r0, r0, #0x3 + cmp r0, #0x1 + bhi _0206ED7A + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + bl sub_0206EF94 +_0206ED7A: + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0206ED80 +sub_0206ED80: ; 0x0206ED80 + push {r3-r6} + mov r5, #0x0 + cmp r1, #0x0 + bls _0206EDA8 + add r6, r0, #0x0 +_0206ED8A: + ldrh r4, [r6, #0x0] + cmp r2, r4 + bne _0206EDA0 + lsl r1, r5, #0x2 + add r0, r0, r1 + ldrh r1, [r0, #0x2] + cmp r1, r3 + bhs _0206EDAA + mov r0, #0x0 + pop {r3-r6} + bx lr +_0206EDA0: + add r5, r5, #0x1 + add r6, r6, #0x4 + cmp r5, r1 + blo _0206ED8A +_0206EDA8: + mov r0, #0x0 +_0206EDAA: + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_0206EDB0 +sub_0206EDB0: ; 0x0206EDB0 + push {r4-r5, lr} + sub sp, #0xc + add r4, r2, #0x0 + str r3, [sp, #0x0] + add r2, sp, #0x8 + add r3, sp, #0x4 + add r5, r1, #0x0 + bl sub_0206EBD4 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + add r2, r5, #0x0 + add r3, r4, #0x0 + bl sub_0206ED80 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start sub_0206EDD4 +sub_0206EDD4: ; 0x0206EDD4 + push {r4-r7, lr} + sub sp, #0xc + add r6, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_0206EDB0 + str r0, [sp, #0x8] + cmp r0, #0x0 + bne _0206EDF0 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_0206EDF0: + ldrh r1, [r0, #0x2] + sub r1, r1, r5 + strh r1, [r0, #0x2] + ldr r1, [sp, #0x8] + ldrh r0, [r1, #0x2] + cmp r0, #0x0 + bne _0206EE02 + mov r0, #0x0 + strh r0, [r1, #0x0] +_0206EE02: + str r4, [sp, #0x0] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x8 + add r3, sp, #0x4 + bl sub_0206EBD4 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + bl sub_0206EF48 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206EE20 +sub_0206EE20: ; 0x0206EE20 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r3, #0x0 + bl sub_0206ED80 + cmp r0, #0x0 + bne _0206EE34 + mov r0, #0x0 + pop {r4-r6, pc} +_0206EE34: + ldrh r1, [r0, #0x2] + sub r1, r1, r4 + strh r1, [r0, #0x2] + ldrh r1, [r0, #0x2] + cmp r1, #0x0 + bne _0206EE44 + mov r1, #0x0 + strh r1, [r0, #0x0] +_0206EE44: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_0206EF48 + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0206EE50 +sub_0206EE50: ; 0x0206EE50 + push {r3, lr} + bl sub_0206EDB0 + cmp r0, #0x0 + beq _0206EE5E + mov r0, #0x1 + pop {r3, pc} +_0206EE5E: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0206EE64 +sub_0206EE64: ; 0x0206EE64 + cmp r1, #0x7 + bhi _0206EEC4 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r3, #0 + lsl r4, r4, #0 + lsl r4, r5, #0 + lsl r4, r0, #0x1 + lsl r4, r3, #0 + lsl r4, r7, #0 + lsl r4, r6, #0 + lsl r6, r1, #0 + mov r1, #0xa5 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r2, #0x32 + b _0206EEC8 +_0206EE8E: + .byte 0xA5, 0x22 + .byte 0x1A, 0xE0, 0x14, 0x49, 0x40, 0x22, 0x40, 0x18, 0x16, 0xE0, 0x13, 0x49, 0x28, 0x22, 0x40, 0x18 + .byte 0x12, 0xE0, 0x12, 0x49, 0x0F, 0x22, 0x40, 0x18, 0x0E, 0xE0, 0x11, 0x49, 0x1E, 0x22, 0x40, 0x18 + .byte 0x0A, 0xE0, 0x10, 0x49, 0x0C, 0x22, 0x40, 0x18, 0x06, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x40, 0x18 + .byte 0x64, 0x22, 0x01, 0xE0 +_0206EEC4: + mov r0, #0x0 + bx lr +_0206EEC8: + mov r3, #0x0 + cmp r2, #0x0 + bls _0206EEE0 +_0206EECE: + ldrh r1, [r0, #0x0] + cmp r1, #0x0 + beq _0206EED8 + mov r0, #0x1 + bx lr +_0206EED8: + add r3, r3, #0x1 + add r0, r0, #0x4 + cmp r3, r2 + blo _0206EECE +_0206EEE0: + mov r0, #0x0 + bx lr +_0206EEE4: + .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 + .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + + thumb_func_start sub_0206EEF8 +sub_0206EEF8: ; 0x0206EEF8 + push {r3, lr} + add r3, r2, #0x0 + mov r2, #0x1 + bl sub_0206EDB0 + cmp r0, #0x0 + bne _0206EF0A + mov r0, #0x0 + pop {r3, pc} +_0206EF0A: + ldrh r0, [r0, #0x2] + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0206EF10 +sub_0206EF10: ; 0x0206EF10 + push {r3, lr} + mov r3, #0x1 + bl sub_0206ED80 + cmp r0, #0x0 + bne _0206EF20 + mov r0, #0x0 + pop {r3, pc} +_0206EF20: + ldrh r0, [r0, #0x2] + pop {r3, pc} + + thumb_func_start sub_0206EF24 +sub_0206EF24: ; 0x0206EF24 + push {r3} + sub sp, #0x4 + ldrh r3, [r0, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x0] + ldrh r3, [r0, #0x2] + strh r3, [r2, #0x2] + ldrh r3, [r1, #0x0] + strh r3, [r0, #0x0] + ldrh r3, [r1, #0x2] + strh r3, [r0, #0x2] + ldrh r0, [r2, #0x0] + strh r0, [r1, #0x0] + ldrh r0, [r2, #0x2] + strh r0, [r1, #0x2] + add sp, #0x4 + pop {r3} + bx lr + + thumb_func_start sub_0206EF48 +sub_0206EF48: ; 0x0206EF48 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + mov r0, #0x0 + add r7, r1, #0x0 + str r0, [sp, #0x4] + sub r0, r7, #0x1 + str r0, [sp, #0x8] + beq _0206EF8E + ldr r4, [sp, #0x0] +_0206EF5C: + ldr r0, [sp, #0x4] + add r6, r0, #0x1 + cmp r6, r7 + bhs _0206EF80 + ldr r0, [sp, #0x0] + lsl r1, r6, #0x2 + add r5, r0, r1 +_0206EF6A: + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + bne _0206EF78 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0206EF24 +_0206EF78: + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, r7 + blo _0206EF6A +_0206EF80: + ldr r0, [sp, #0x4] + add r4, r4, #0x4 + add r1, r0, #0x1 + ldr r0, [sp, #0x8] + str r1, [sp, #0x4] + cmp r1, r0 + blo _0206EF5C +_0206EF8E: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_0206EF94 +sub_0206EF94: ; 0x0206EF94 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + mov r0, #0x0 + add r7, r1, #0x0 + str r0, [sp, #0x4] + sub r0, r7, #0x1 + str r0, [sp, #0x8] + beq _0206EFE8 + ldr r4, [sp, #0x0] +_0206EFA8: + ldr r0, [sp, #0x4] + add r6, r0, #0x1 + cmp r6, r7 + bhs _0206EFDA + ldr r0, [sp, #0x0] + lsl r1, r6, #0x2 + add r5, r0, r1 +_0206EFB6: + ldrh r0, [r4, #0x2] + cmp r0, #0x0 + beq _0206EFCA + ldrh r0, [r5, #0x2] + cmp r0, #0x0 + beq _0206EFD2 + ldrh r1, [r4, #0x0] + ldrh r0, [r5, #0x0] + cmp r1, r0 + bls _0206EFD2 +_0206EFCA: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0206EF24 +_0206EFD2: + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, r7 + blo _0206EFB6 +_0206EFDA: + ldr r0, [sp, #0x4] + add r4, r4, #0x4 + add r1, r0, #0x1 + ldr r0, [sp, #0x8] + str r1, [sp, #0x4] + cmp r1, r0 + blo _0206EFA8 +_0206EFE8: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_0206EFEC +sub_0206EFEC: ; 0x0206EFEC + push {r3-r7, lr} + add r5, r0, #0x0 + lsl r0, r2, #0x18 + add r7, r1, #0x0 + lsr r0, r0, #0x18 + bl sub_0206E2F0 + add r6, r0, #0x0 + ldrb r0, [r7, #0x0] + mov r4, #0x0 + cmp r0, #0xff + beq _0206F0BE +_0206F004: + ldrb r0, [r7, r4] + cmp r0, #0x7 + bhi _0206F0B6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r4, #0 + lsl r4, r0, #0x1 + lsl r6, r2, #0x1 + lsl r4, r1, #0x2 + lsl r2, r6, #0 + lsl r2, r7, #0x1 + lsl r0, r5, #0x1 + lsl r6, r1, #0 + mov r1, #0xa5 + lsl r1, r1, #0x2 + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x7 + lsr r3, r3, #0x18 + bl sub_0206E330 + b _0206F0B6 +_0206F03A: + .byte 0x23, 0x06, 0x30, 0x1C, 0x29, 0x1C + .byte 0x00, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x74, 0xF9, 0x35, 0xE0, 0x1E, 0x49, 0x23, 0x06, 0x30, 0x1C + .byte 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x6B, 0xF9, 0x2C, 0xE0, 0x1A, 0x49, 0x23, 0x06 + .byte 0x30, 0x1C, 0x69, 0x18, 0x01, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x62, 0xF9, 0x23, 0xE0, 0x17, 0x49 + .byte 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x02, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x59, 0xF9, 0x1A, 0xE0 + .byte 0x13, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x06, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x50, 0xF9 + .byte 0x11, 0xE0, 0x10, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x05, 0x22, 0x1B, 0x0E, 0xFF, 0xF7 + .byte 0x47, 0xF9, 0x08, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x03, 0x22 + .byte 0x1B, 0x0E, 0xFF, 0xF7, 0x3D, 0xF9 +_0206F0B6: + add r4, r4, #0x1 + ldrb r0, [r7, r4] + cmp r0, #0xff + bne _0206F004 +_0206F0BE: + add r0, r6, #0x0 + pop {r3-r7, pc} + nop +_0206F0C4: + .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 + .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + + thumb_func_start sub_0206F0D8 +sub_0206F0D8: ; 0x0206F0D8 + cmp r1, #0x7 + bhi _0206F136 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r3, #0 + lsl r4, r4, #0 + lsl r4, r5, #0 + lsl r4, r0, #0x1 + lsl r4, r3, #0 + lsl r4, r7, #0 + lsl r4, r6, #0 + lsl r6, r1, #0 + mov r1, #0xa5 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r3, #0x32 + b _0206F136 +_0206F102: + .byte 0xA5, 0x23, 0x17, 0xE0, 0x0F, 0x49, 0x40, 0x23, 0x40, 0x18, 0x13, 0xE0, 0x0E, 0x49 + .byte 0x28, 0x23, 0x40, 0x18, 0x0F, 0xE0, 0x0D, 0x49, 0x0F, 0x23, 0x40, 0x18, 0x0B, 0xE0, 0x0C, 0x49 + .byte 0x1E, 0x23, 0x40, 0x18, 0x07, 0xE0, 0x0B, 0x49, 0x0C, 0x23, 0x40, 0x18, 0x03, 0xE0, 0xD7, 0x21 + .byte 0x89, 0x00, 0x40, 0x18, 0x64, 0x23 +_0206F136: + cmp r2, r3 + blo _0206F13E + mov r0, #0x0 + bx lr +_0206F13E: + lsl r1, r2, #0x2 + add r0, r0, r1 + bx lr +_0206F144: + .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 + .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + + thumb_func_start sub_0206F158 +sub_0206F158: ; 0x0206F158 + ldr r3, _0206F160 ; =sub_02022610 + mov r1, #0x3 + bx r3 + nop +_0206F160: .word sub_02022610 + 1 + + thumb_func_start sub_0206F164 +sub_0206F164: ; 0x0206F164 + push {r4, lr} + mov r1, #0x24 + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r4, #0x0 + mov r2, #0x24 + blx sub_020CE1C8 + add r0, r4, #0x0 + pop {r4, pc} + + thumb_func_start sub_0206F17C +sub_0206F17C: ; 0x0206F17C + push {r3-r4} + add r4, r0, r1 + ldrb r4, [r4, #0x8] + strb r4, [r2, #0x0] + ldrb r0, [r0, r1] + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start sub_0206F18C +sub_0206F18C: ; 0x0206F18C + ldrh r0, [r0, #0x10] + bx lr + + thumb_func_start sub_0206F190 +sub_0206F190: ; 0x0206F190 + push {r3-r4} + add r4, r0, r1 + strb r2, [r4, #0x8] + strb r3, [r0, r1] + pop {r3-r4} + bx lr + + thumb_func_start sub_0206F19C +sub_0206F19C: ; 0x0206F19C + strh r1, [r0, #0x10] + bx lr + + thumb_func_start sub_0206F1A0 +sub_0206F1A0: ; 0x0206F1A0 + add r1, r0, r1 + ldrb r0, [r1, #0x19] + strb r0, [r2, #0x0] + ldrb r0, [r1, #0x14] + strb r0, [r3, #0x0] + bx lr + + thumb_func_start sub_0206F1AC +sub_0206F1AC: ; 0x0206F1AC + ldrh r0, [r0, #0x1e] + bx lr + + thumb_func_start sub_0206F1B0 +sub_0206F1B0: ; 0x0206F1B0 + ldrh r0, [r0, #0x20] + bx lr + + thumb_func_start sub_0206F1B4 +sub_0206F1B4: ; 0x0206F1B4 + ldrh r0, [r0, #0x22] + bx lr + + thumb_func_start sub_0206F1B8 +sub_0206F1B8: ; 0x0206F1B8 + add r0, r0, r1 + strb r2, [r0, #0x19] + strb r3, [r0, #0x14] + bx lr + + thumb_func_start sub_0206F1C0 +sub_0206F1C0: ; 0x0206F1C0 + push {r4-r6, lr} + mov r4, #0x0 + add r5, r0, #0x0 + add r6, r4, #0x0 +_0206F1C8: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r6, #0x0 + bl sub_0206F1B8 + add r4, r4, #0x1 + cmp r4, #0x5 + blo _0206F1C8 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0206F1EC + pop {r4-r6, pc} + + thumb_func_start sub_0206F1E4 +sub_0206F1E4: ; 0x0206F1E4 + strh r1, [r0, #0x1e] + strh r2, [r0, #0x20] + bx lr + .balign 4 + + thumb_func_start sub_0206F1EC +sub_0206F1EC: ; 0x0206F1EC + strh r1, [r0, #0x22] + bx lr + + thumb_func_start sub_0206F1F0 +sub_0206F1F0: ; 0x0206F1F0 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0xb + bls _0206F20A + b _0206F37C +_0206F20A: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0 + lsl r4, r3, #0 + lsl r2, r0, #0x1 + lsl r4, r2, #0x1 + lsl r2, r0, #0x4 + lsl r0, r3, #0x4 + lsl r6, r3, #0x4 + lsl r4, r5, #0x4 + lsl r2, r6, #0x4 + lsl r6, r1, #0x5 + lsl r6, r1, #0x5 + lsl r6, r1, #0x5 + ldr r1, [r5, #0xc] + ldr r0, [r4, #0x0] + str r1, [r0, #0x0] + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x1 + bne _0206F24C + ldr r0, [r5, #0xc] + bl sub_0203384C + cmp r0, #0x0 + bne _0206F24E +_0206F24C: + b _0206F380 +_0206F24E: + mov r0, #0xa + str r0, [r4, #0x4] + ldr r0, [r4, #0x8] + mov r1, #0x0 + strh r1, [r0, #0x0] + b _0206F380 +_0206F25A: + .byte 0x4A, 0x49, 0x22, 0x68, 0x30, 0x1C + .byte 0xD7, 0xF7, 0x4E, 0xF9, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x89, 0xE0, 0xE8, 0x68, 0xC4, 0xF7 + .byte 0xED, 0xFA, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0xD7, 0xF7, 0x18, 0xF8, 0xF0, 0xF7, 0x42, 0xF8 + .byte 0x20, 0x68, 0x40, 0x68, 0x0A, 0x28, 0x7B, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04 + .byte 0x00, 0x14, 0x87, 0x44, 0xEA, 0x00, 0x22, 0x00, 0x30, 0x00, 0x14, 0x00, 0x4A, 0x00, 0x58, 0x00 + .byte 0x3E, 0x00, 0x66, 0x00, 0x78, 0x00, 0x7E, 0x00, 0x6C, 0x00, 0x00, 0x20, 0x20, 0x73, 0x01, 0x20 + .byte 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x63, 0xE0, 0x32, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73 + .byte 0x04, 0x20, 0x60, 0x60, 0x5C, 0xE0, 0x64, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73, 0x04, 0x20 + .byte 0x60, 0x60, 0x55, 0xE0, 0x00, 0x20, 0x20, 0x73, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x4F, 0xE0 + .byte 0x32, 0x20, 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x48, 0xE0, 0x64, 0x20 + .byte 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x41, 0xE0, 0x06, 0x20, 0x60, 0x60 + .byte 0x3E, 0xE0, 0xA0, 0x68, 0x01, 0x21, 0x01, 0x80, 0x0B, 0x20, 0x60, 0x60, 0x38, 0xE0, 0x09, 0x20 + .byte 0x60, 0x60, 0x35, 0xE0, 0x08, 0x20, 0x60, 0x60, 0x32, 0xE0, 0x21, 0x68, 0x22, 0x7B, 0x63, 0x7B + .byte 0x89, 0x68, 0x30, 0x1C, 0xD7, 0xF7, 0x4C, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0 + .byte 0x02, 0x20, 0x60, 0x60, 0x24, 0xE0, 0x30, 0x1C, 0xC9, 0xF7, 0x4E, 0xF8, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x1A, 0xE0, 0x0F, 0x4A, 0x03, 0x20, 0x36, 0x21 + .byte 0xA7, 0xF7, 0x64, 0xFA, 0x19, 0xF0, 0x90, 0xFA, 0x36, 0x20, 0xA2, 0xF1, 0x81, 0xFD, 0x00, 0x20 + .byte 0x5E, 0xF0, 0x28, 0xE8, 0x0C, 0xE0, 0x20, 0x68, 0xA7, 0xF7, 0x56, 0xFB, 0x20, 0x1C, 0xA7, 0xF7 + .byte 0x53, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0x20, 0x70, 0xBD +_0206F37C: + mov r0, #0x1 + pop {r4-r6, pc} +_0206F380: + mov r0, #0x0 + pop {r4-r6, pc} +_0206F384: + .byte 0x3C, 0x94, 0x0F, 0x02, 0x00, 0x01, 0x04, 0x00 + + thumb_func_start sub_0206F38C +sub_0206F38C: ; 0x0206F38C + push {r4, lr} + mov r0, #0xb + mov r1, #0x10 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x10 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0xb + mov r1, #0xc + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0xc + str r0, [r4, #0x0] + blx sub_020CE34C + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206F3B8 +sub_0206F3B8: ; 0x0206F3B8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0206F38C + add r2, r0, #0x0 + ldr r0, [r2, #0x0] + mov r1, #0x2 + str r1, [r0, #0x4] + ldr r1, _0206F3D4 ; =sub_0206F1F0 + add r0, r4, #0x0 + bl sub_0204640C + pop {r4, pc} + nop +_0206F3D4: .word sub_0206F1F0 + 1 + + thumb_func_start sub_0206F3D8 +sub_0206F3D8: ; 0x0206F3D8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0206F38C + add r2, r0, #0x0 + ldr r0, [r2, #0x0] + mov r1, #0x1 + str r1, [r0, #0x4] + ldr r1, _0206F3F8 ; =sub_0206F1F0 + add r0, r5, #0x0 + str r4, [r2, #0x8] + bl sub_0204640C + pop {r3-r5, pc} + nop +_0206F3F8: .word sub_0206F1F0 + 1 + + thumb_func_start sub_0206F3FC +sub_0206F3FC: ; 0x0206F3FC + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + bl sub_02015F1C + bl sub_0201E6D8 + bl sub_0201E740 + mov r0, #0x1 + lsl r0, r0, #0x1a + ldr r2, [r0, #0x0] + ldr r1, _0206F594 ; =0xFFFFE0FF + ldr r3, _0206F598 ; =0x04001000 + and r2, r1 + str r2, [r0, #0x0] + ldr r2, [r3, #0x0] + add r0, #0x50 + and r1, r2 + str r1, [r3, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x0] + add r3, #0x50 + strh r1, [r3, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + mov r2, #0x2 + mov r0, #0x3 + mov r1, #0xc + lsl r2, r2, #0x10 + bl sub_0201681C + add r0, r4, #0x0 + bl sub_0206FE74 + add r4, r0, #0x0 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0xc + str r1, [sp, #0x8] + mov r1, #0x3 + add r2, r1, #0x0 + mov r3, #0x0 + bl sub_0200E1D0 + add r0, r4, #0x0 + bl sub_0206FF74 + bl sub_0206FB80 + ldr r0, [r4, #0x0] + bl sub_0206FBA0 + add r0, r4, #0x0 + bl sub_0206FD24 + bl sub_0201CC08 + mov r0, #0x4 + bl sub_0201CC24 + mov r1, #0x0 + mov r0, #0x39 + add r2, r1, #0x0 + bl sub_0200433C + add r0, r4, #0x0 + bl sub_02072590 + add r0, r4, #0x0 + bl sub_02073710 + add r0, r4, #0x0 + bl sub_0207388C + add r0, r4, #0x0 + bl sub_0206FFB4 + add r0, r4, #0x0 + bl sub_0207047C + ldr r1, _0206F59C ; =0x00000B25 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + mov r2, #0x1 + bl sub_020713EC + ldr r1, _0206F5A0 ; =0x000005A4 + ldr r3, [r4, r1] + add r0, r3, #0x0 + add r0, #0x20 + ldrb r2, [r0, #0x0] + cmp r2, #0x5 + beq _0206F4CC + cmp r2, #0x10 + bne _0206F4E2 +_0206F4CC: + ldrh r0, [r3, #0x24] + bl sub_02076144 + cmp r0, #0x0 + bne _0206F564 + add r0, r4, #0x0 + mov r1, #0x20 + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F4E2: + cmp r2, #0x6 + bne _0206F4F2 + add r0, r4, #0x0 + mov r1, #0x21 + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F4F2: + cmp r2, #0x9 + beq _0206F4FA + cmp r2, #0xe + bne _0206F506 +_0206F4FA: + add r0, r4, #0x0 + mov r1, #0x1f + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F506: + cmp r2, #0x7 + beq _0206F51A + cmp r2, #0x8 + beq _0206F51A + add r0, r2, #0x0 + add r0, #0xf5 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _0206F526 +_0206F51A: + ldr r0, _0206F5A4 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + b _0206F564 +_0206F526: + cmp r2, #0x2 + beq _0206F52E + cmp r2, #0x11 + bne _0206F53A +_0206F52E: + add r0, r4, #0x0 + mov r1, #0x22 + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F53A: + cmp r2, #0xf + bne _0206F54A + add r0, r4, #0x0 + mov r1, #0x22 + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F54A: + cmp r2, #0xa + beq _0206F55A + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + b _0206F564 +_0206F55A: + add r1, #0x24 + ldr r0, [r4, r1] + mov r1, #0x1 + bl sub_0200C664 +_0206F564: + add r0, r4, #0x0 + bl sub_02072720 + add r0, r4, #0x0 + bl sub_02070AA4 + add r0, r4, #0x0 + bl sub_0207248C + cmp r0, #0x0 + bne _0206F582 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201E74C +_0206F582: + ldr r0, _0206F5A8 ; =sub_0206FB58 + add r1, r4, #0x0 + bl sub_02015F10 + bl sub_02033F20 + mov r0, #0x1 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_0206F594: .word 0xFFFFE0FF +_0206F598: .word 0x04001000 +_0206F59C: .word 0x00000B25 +_0206F5A0: .word 0x000005A4 +_0206F5A4: .word 0x000005C8 +_0206F5A8: .word sub_0206FB58 + 1 + + thumb_func_start sub_0206F5AC +sub_0206F5AC: ; 0x0206F5AC + push {r3-r5, lr} + add r4, r1, #0x0 + bl sub_02006278 + ldr r1, [r4, #0x0] + add r5, r0, #0x0 + cmp r1, #0x1c + bhi _0206F61C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r7, #0 + lsl r0, r0, #0x1 + lsl r0, r1, #0x1 + lsl r2, r3, #0x1 + lsl r2, r4, #0x1 + lsl r2, r5, #0x1 + lsl r4, r6, #0x1 + lsl r4, r7, #0x1 + lsl r4, r0, #0x2 + lsl r4, r1, #0x2 + lsl r4, r2, #0x2 + lsl r4, r3, #0x2 + lsl r4, r4, #0x2 + lsl r4, r5, #0x2 + lsl r4, r6, #0x2 + lsl r4, r7, #0x2 + lsl r4, r0, #0x3 + lsl r4, r1, #0x3 + lsl r4, r2, #0x3 + lsl r4, r3, #0x3 + lsl r4, r4, #0x3 + lsl r4, r5, #0x3 + lsl r4, r6, #0x3 + lsl r4, r7, #0x3 + lsl r4, r0, #0x4 + lsl r4, r3, #0x4 + lsl r2, r5, #0x4 + lsl r2, r6, #0x4 + lsl r0, r0, #0x5 + bl sub_0206F750 + str r0, [r4, #0x0] + b _0206F722 +_0206F60A: + .byte 0x00, 0xF0, 0xE5, 0xF8, 0x20, 0x60 + .byte 0x87, 0xE0, 0x21, 0x1C, 0x02, 0xF0, 0x5A, 0xF9, 0x01, 0x28, 0x00, 0xD0 +_0206F61C: + b _0206F722 +_0206F61E: + .byte 0x01, 0x20 + .byte 0x20, 0x60, 0x7E, 0xE0, 0x05, 0xF0, 0x54, 0xFF, 0x20, 0x60, 0x7A, 0xE0, 0x00, 0xF0, 0x22, 0xF9 + .byte 0x20, 0x60, 0x76, 0xE0, 0x42, 0x49, 0x69, 0x58, 0x88, 0x47, 0x20, 0x60, 0x71, 0xE0, 0x07, 0xF0 + .byte 0x67, 0xFD, 0x20, 0x60, 0x6D, 0xE0, 0x06, 0xF0, 0xAB, 0xFD, 0x20, 0x60, 0x69, 0xE0, 0x00, 0xF0 + .byte 0x31, 0xF9, 0x20, 0x60, 0x65, 0xE0, 0x02, 0xF0, 0x8B, 0xFD, 0x20, 0x60, 0x61, 0xE0, 0x02, 0xF0 + .byte 0x99, 0xFD, 0x20, 0x60, 0x5D, 0xE0, 0x02, 0xF0, 0x6B, 0xFD, 0x20, 0x60, 0x59, 0xE0, 0x02, 0xF0 + .byte 0x4D, 0xFE, 0x20, 0x60, 0x55, 0xE0, 0x00, 0xF0, 0x3D, 0xF9, 0x20, 0x60, 0x51, 0xE0, 0x02, 0xF0 + .byte 0x6B, 0xFC, 0x20, 0x60, 0x4D, 0xE0, 0x04, 0xF0, 0xE9, 0xFC, 0x20, 0x60, 0x49, 0xE0, 0x04, 0xF0 + .byte 0x6D, 0xFE, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0xBD, 0xF9, 0x20, 0x60, 0x41, 0xE0, 0x07, 0xF0 + .byte 0x4D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x05, 0xF0, 0x61, 0xFC, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0 + .byte 0x67, 0xF9, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x75, 0xF9, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0 + .byte 0x83, 0xF9, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x85, 0xF9, 0x20, 0x60, 0x29, 0xE0, 0x01, 0xF0 + .byte 0xFF, 0xFE, 0x00, 0x28, 0x02, 0xD1, 0x19, 0x20, 0x20, 0x60, 0x22, 0xE0, 0x03, 0x28, 0x20, 0xD1 + .byte 0x01, 0x20, 0x20, 0x60, 0x1D, 0xE0, 0x04, 0xF0, 0xF5, 0xFF, 0x01, 0x28, 0x19, 0xD1, 0x01, 0x20 + .byte 0x20, 0x60, 0x16, 0xE0, 0x02, 0xF0, 0x3C, 0xF9, 0x20, 0x60, 0x12, 0xE0, 0x01, 0x20, 0x0C, 0x21 + .byte 0x0A, 0xF0, 0xB6, 0xF9, 0x1C, 0x20, 0x20, 0x60, 0x0B, 0xE0, 0x9E, 0xF7, 0xFD, 0xFD, 0x01, 0x28 + .byte 0x07, 0xD1, 0x0C, 0x48, 0x29, 0x5C, 0x0C, 0x48, 0x28, 0x58, 0x22, 0x30, 0x01, 0x70, 0x01, 0x20 + .byte 0x38, 0xBD +_0206F722: + add r0, r5, #0x0 + bl sub_02073BEC + add r0, r5, #0x0 + bl sub_02073D6C + add r0, r5, #0x0 + bl sub_02070F14 + ldr r0, _0206F74C ; =0x000005AC + ldr r0, [r5, r0] + bl sub_0200BC1C + mov r0, #0x0 + pop {r3-r5, pc} +_0206F740: + .byte 0x14, 0x0B, 0x00, 0x00, 0x25, 0x0B, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 +_0206F74C: .word 0x000005AC + + thumb_func_start sub_0206F750 +sub_0206F750: ; 0x0206F750 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0200E308 + cmp r0, #0x1 + bne _0206F7CA + ldr r0, _0206F7D0 ; =0x000005A4 + ldr r2, [r4, r0] + add r0, r2, #0x0 + add r0, #0x20 + ldrb r1, [r0, #0x0] + cmp r1, #0x5 + beq _0206F76E + cmp r1, #0x10 + bne _0206F786 +_0206F76E: + ldrh r0, [r2, #0x24] + bl sub_02076144 + cmp r0, #0x1 + bne _0206F782 + ldr r0, _0206F7D4 ; =0x00000B22 + mov r1, #0x0 + strb r1, [r4, r0] + mov r0, #0x7 + pop {r4, pc} +_0206F782: + mov r0, #0x4 + pop {r4, pc} +_0206F786: + cmp r1, #0x6 + bne _0206F78E + mov r0, #0x11 + pop {r4, pc} +_0206F78E: + cmp r1, #0x7 + bne _0206F79A + add r0, r4, #0x0 + bl sub_02076C94 + pop {r4, pc} +_0206F79A: + cmp r1, #0x8 + bne _0206F7A6 + add r0, r4, #0x0 + bl sub_02076890 + pop {r4, pc} +_0206F7A6: + add r0, r1, #0x0 + add r0, #0xf5 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _0206F7B6 + mov r0, #0xc + pop {r4, pc} +_0206F7B6: + cmp r1, #0x9 + bne _0206F7BE + mov r0, #0x8 + pop {r4, pc} +_0206F7BE: + cmp r1, #0xa + bne _0206F7C6 + mov r0, #0xe + pop {r4, pc} +_0206F7C6: + mov r0, #0x1 + pop {r4, pc} +_0206F7CA: + mov r0, #0x0 + pop {r4, pc} + nop +_0206F7D0: .word 0x000005A4 +_0206F7D4: .word 0x00000B22 + + thumb_func_start sub_0206F7D8 +sub_0206F7D8: ; 0x0206F7D8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02070F94 + cmp r0, #0x0 + bne _0206F81E + ldr r0, _0206F870 ; =0x000005A4 + ldr r1, [r4, r0] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _0206F7F6 + cmp r0, #0x14 + bne _0206F800 +_0206F7F6: + mov r0, #0x0 + add r1, #0x23 + strb r0, [r1, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206F800: + cmp r0, #0xe + bne _0206F80E + add r0, r4, #0x0 + bl sub_02077248 + mov r0, #0x14 + pop {r4, pc} +_0206F80E: + cmp r0, #0x13 + bne _0206F81A + add r0, r4, #0x0 + bl sub_02072420 + pop {r4, pc} +_0206F81A: + mov r0, #0x2 + pop {r4, pc} +_0206F81E: + cmp r0, #0x4 + bne _0206F82A + add r0, r4, #0x0 + bl sub_0207155C + pop {r4, pc} +_0206F82A: + cmp r0, #0x3 + bne _0206F83C + ldr r0, _0206F870 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206F83C: + cmp r0, #0x2 + bne _0206F86A + ldr r0, _0206F870 ; =0x000005A4 + ldr r2, [r4, r0] + add r1, r2, #0x0 + add r1, #0x20 + ldrb r1, [r1, #0x0] + cmp r1, #0xf + beq _0206F858 + mov r0, #0x1 + add r2, #0x23 + strb r0, [r2, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206F858: + add r0, #0x24 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200C664 + add r0, r4, #0x0 + bl sub_02075118 + pop {r4, pc} +_0206F86A: + mov r0, #0x1 + pop {r4, pc} + nop +_0206F870: .word 0x000005A4 + + thumb_func_start sub_0206F874 +sub_0206F874: ; 0x0206F874 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02071D48 + cmp r0, #0x0 + beq _0206F884 + cmp r0, #0x2 + bne _0206F896 +_0206F884: + ldr r0, _0206F8AC ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + add r0, r4, #0x0 + bl sub_02071DF4 + pop {r4, pc} +_0206F896: + cmp r0, #0x3 + bne _0206F8A8 + ldr r0, _0206F8B0 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206F8A8: + mov r0, #0x4 + pop {r4, pc} + .balign 4 +_0206F8AC: .word 0x000005C8 +_0206F8B0: .word 0x000005A4 + + thumb_func_start sub_0206F8B4 +sub_0206F8B4: ; 0x0206F8B4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02071D48 + cmp r0, #0x0 + beq _0206F8C4 + cmp r0, #0x2 + bne _0206F8D6 +_0206F8C4: + ldr r0, _0206F8EC ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + add r0, r4, #0x0 + bl sub_02071F58 + pop {r4, pc} +_0206F8D6: + cmp r0, #0x3 + bne _0206F8E8 + ldr r0, _0206F8F0 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206F8E8: + mov r0, #0x8 + pop {r4, pc} + .balign 4 +_0206F8EC: .word 0x000005C8 +_0206F8F0: .word 0x000005A4 + + thumb_func_start sub_0206F8F4 +sub_0206F8F4: ; 0x0206F8F4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, _0206F974 ; =0x000006FC + ldr r0, [r4, r0] + bl sub_02001C78 + add r2, r0, #0x0 + mov r0, #0x1 + mvn r0, r0 + cmp r2, r0 + beq _0206F914 + add r0, r0, #0x1 + cmp r2, r0 + beq _0206F96E + b _0206F962 +_0206F914: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200CCF8 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + ldr r0, _0206F974 ; =0x000006FC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_02001C5C + ldr r0, _0206F978 ; =0x000006F8 + ldr r0, [r4, r0] + bl sub_02012870 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _0206F97C ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + add sp, #0x4 + mov r0, #0x1 + pop {r3-r4, pc} +_0206F962: + add r0, r4, #0x0 + add r1, sp, #0x0 + blx r2 + ldr r0, [sp, #0x0] + add sp, #0x4 + pop {r3-r4, pc} +_0206F96E: + mov r0, #0xd + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0206F974: .word 0x000006FC +_0206F978: .word 0x000006F8 +_0206F97C: .word 0x000005C8 + + thumb_func_start sub_0206F980 +sub_0206F980: ; 0x0206F980 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0206F99C ; =0x00000B24 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + bne _0206F996 + ldr r0, _0206F9A0 ; =0x00000B22 + ldrb r0, [r4, r0] + pop {r4, pc} +_0206F996: + mov r0, #0x14 + pop {r4, pc} + nop +_0206F99C: .word 0x00000B24 +_0206F9A0: .word 0x00000B22 + + thumb_func_start sub_0206F9A4 +sub_0206F9A4: ; 0x0206F9A4 + push {r3, lr} + ldr r0, _0206F9C0 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0206F9BA + ldr r0, _0206F9C4 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x1b + pop {r3, pc} +_0206F9BA: + mov r0, #0x15 + pop {r3, pc} + nop +_0206F9C0: .word 0x021C48B8 +_0206F9C4: .word 0x000005DC + + thumb_func_start sub_0206F9C8 +sub_0206F9C8: ; 0x0206F9C8 + push {r3, lr} + bl sub_020732CC + mov r0, #0x17 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0206F9D4 +sub_0206F9D4: ; 0x0206F9D4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0206FA08 ; =0x000006FC + mov r1, #0xc + ldr r0, [r4, r0] + bl sub_020021AC + cmp r0, #0x0 + beq _0206F9F0 + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _0206F9FA + b _0206FA04 +_0206F9F0: + ldr r1, _0206FA0C ; =0x00000B18 + add r0, r4, #0x0 + ldr r1, [r4, r1] + blx r1 + pop {r4, pc} +_0206F9FA: + ldr r1, _0206FA10 ; =0x00000B1C + add r0, r4, #0x0 + ldr r1, [r4, r1] + blx r1 + pop {r4, pc} +_0206FA04: + mov r0, #0x17 + pop {r4, pc} + .balign 4 +_0206FA08: .word 0x000006FC +_0206FA0C: .word 0x00000B18 +_0206FA10: .word 0x00000B1C + + thumb_func_start sub_0206FA14 +sub_0206FA14: ; 0x0206FA14 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02071D48 + cmp r0, #0x0 + beq _0206FA24 + cmp r0, #0x2 + bne _0206FA78 +_0206FA24: + ldr r0, _0206FA90 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + ldr r0, _0206FA94 ; =0x00000B25 + mov r1, #0x2c + ldrb r0, [r4, r0] + add r2, r0, #0x0 + mul r2, r1 + mov r0, #0x71 + add r2, r4, r2 + lsl r0, r0, #0x4 + ldrb r0, [r2, r0] + cmp r0, #0x1 + beq _0206FA4C + add r0, r4, #0x0 + bl sub_02076AF8 + pop {r4, pc} +_0206FA4C: + add r0, r4, #0x0 + sub r1, #0x2d + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _0206FA98 ; =0x000005A4 + mov r2, #0x0 + ldr r0, [r4, r1] + add r1, #0xf8 + add r0, #0x23 + strb r2, [r0, #0x0] + ldr r0, _0206FA9C ; =0x00000B22 + mov r2, #0x15 + strb r2, [r4, r0] + ldr r2, _0206FAA0 ; =0x000006A4 + ldr r0, [r4, r1] + ldr r2, [r4, r2] + mov r1, #0x69 + bl sub_0200A8E0 + mov r0, #0x14 + pop {r4, pc} +_0206FA78: + cmp r0, #0x3 + bne _0206FA8A + ldr r0, _0206FA98 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_0206FA8A: + mov r0, #0x11 + pop {r4, pc} + nop +_0206FA90: .word 0x000005C8 +_0206FA94: .word 0x00000B25 +_0206FA98: .word 0x000005A4 +_0206FA9C: .word 0x00000B22 +_0206FAA0: .word 0x000006A4 + + thumb_func_start sub_0206FAA4 +sub_0206FAA4: ; 0x0206FAA4 + push {r3-r7, lr} + str r0, [sp, #0x0] + bl sub_02006278 + add r6, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + add r0, r6, #0x0 + bl sub_02073A2C + add r0, r6, #0x0 + bl sub_020726F0 + ldr r0, [r6, #0x0] + bl sub_0206FCD4 + bl sub_0201CD04 + bl sub_0201C29C + mov r7, #0x7 + mov r4, #0x0 + add r5, r6, #0x0 + lsl r7, r7, #0x8 +_0206FAD8: + ldr r0, [r5, r7] + bl sub_02021A20 + add r4, r4, #0x1 + add r5, #0x2c + cmp r4, #0x6 + blo _0206FAD8 + ldr r0, _0206FB40 ; =0x000006A4 + ldr r0, [r6, r0] + bl sub_02021A20 + ldr r0, _0206FB44 ; =0x000006A8 + ldr r0, [r6, r0] + bl sub_02021A20 + ldr r7, _0206FB48 ; =0x000006AC + mov r5, #0x0 + add r4, r6, #0x0 +_0206FAFC: + ldr r0, [r4, r7] + bl sub_02021A20 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x13 + blo _0206FAFC + ldr r0, _0206FB4C ; =0x0000069C + ldr r0, [r6, r0] + bl sub_0200A8B8 + ldr r0, _0206FB50 ; =0x00000698 + ldr r0, [r6, r0] + bl sub_0200B990 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + bl sub_0200AB18 + ldr r0, _0206FB54 ; =0x00000B34 + ldr r0, [r6, r0] + cmp r0, #0x0 + beq _0206FB30 + bl sub_0206BB74 +_0206FB30: + ldr r0, [sp, #0x0] + bl sub_0200627C + mov r0, #0xc + bl sub_020168D0 + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0206FB40: .word 0x000006A4 +_0206FB44: .word 0x000006A8 +_0206FB48: .word 0x000006AC +_0206FB4C: .word 0x0000069C +_0206FB50: .word 0x00000698 +_0206FB54: .word 0x00000B34 + + thumb_func_start sub_0206FB58 +sub_0206FB58: ; 0x0206FB58 + push {r3, lr} + ldr r0, [r0, #0x0] + bl sub_0201AB60 + bl sub_0201C30C + bl sub_0200BC30 + ldr r3, _0206FB78 ; =0x027E0000 + ldr r1, _0206FB7C ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r3, pc} + nop +_0206FB78: .word 0x027E0000 +_0206FB7C: .word 0x00003FF8 + + thumb_func_start sub_0206FB80 +sub_0206FB80: ; 0x0206FB80 + push {r4, lr} + sub sp, #0x28 + ldr r4, _0206FB9C ; =0x020F9564 + add r3, sp, #0x0 + mov r2, #0x5 +_0206FB8A: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0206FB8A + add r0, sp, #0x0 + bl sub_0201E66C + add sp, #0x28 + pop {r4, pc} + .balign 4 +_0206FB9C: .word 0x020F9564 + + thumb_func_start sub_0206FBA0 +sub_0206FBA0: ; 0x0206FBA0 + push {r3-r5, lr} + sub sp, #0xb8 + ldr r5, _0206FCB8 ; =0x020F9458 + add r3, sp, #0xa8 + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _0206FCBC ; =0x020F94D4 + add r3, sp, #0x8c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02018744 + ldr r5, _0206FCC0 ; =0x020F94F0 + add r3, sp, #0x70 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x1 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02018744 + ldr r5, _0206FCC4 ; =0x020F949C + add r3, sp, #0x54 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x2 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02018744 + ldr r5, _0206FCC8 ; =0x020F9480 + add r3, sp, #0x38 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x3 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + ldr r5, _0206FCCC ; =0x020F950C + add r3, sp, #0x1c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r1, #0x4 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02018744 + ldr r5, _0206FCD0 ; =0x020F9528 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x5 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + mov r3, #0xc + bl sub_02017F18 + mov r0, #0x4 + mov r1, #0x20 + mov r2, #0x0 + mov r3, #0xc + bl sub_02017F18 + add sp, #0xb8 + pop {r3-r5, pc} + nop +_0206FCB8: .word 0x020F9458 +_0206FCBC: .word 0x020F94D4 +_0206FCC0: .word 0x020F94F0 +_0206FCC4: .word 0x020F949C +_0206FCC8: .word 0x020F9480 +_0206FCCC: .word 0x020F950C +_0206FCD0: .word 0x020F9528 + + thumb_func_start sub_0206FCD4 +sub_0206FCD4: ; 0x0206FCD4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x1f + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x13 + mov r1, #0x0 + bl sub_0201E74C + add r0, r4, #0x0 + mov r1, #0x5 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020178A0 + mov r0, #0xc + add r1, r4, #0x0 + bl sub_02016A8C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0206FD24 +sub_0206FD24: ; 0x0206FD24 + push {r4-r5, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r2, [r5, #0x0] + mov r0, #0x14 + mov r1, #0xf + mov r3, #0x3 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r2, [r5, #0x0] + mov r0, #0x14 + mov r1, #0x11 + mov r3, #0x3 + bl sub_020068C8 + mov r0, #0x14 + mov r1, #0x10 + mov r2, #0xc + bl sub_0200650C + add r1, sp, #0x10 + add r4, r0, #0x0 + blx sub_020B0138 + ldr r2, [sp, #0x10] + mov r0, #0x3 + ldr r1, [r2, #0xc] + ldr r2, [r2, #0x8] + mov r3, #0x0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + bl sub_02017FB4 + ldr r1, [sp, #0x10] + ldr r0, _0206FE6C ; =0x000004A4 + ldr r1, [r1, #0xc] + mov r2, #0x1 + add r0, r5, r0 + add r1, #0x60 + lsl r2, r2, #0x8 + blx sub_020DF438 + mov r0, #0xc + add r1, r4, #0x0 + bl sub_02016A8C + mov r1, #0x1a + mov r0, #0x0 + lsl r1, r1, #0x4 + mov r2, #0xc + bl sub_02002EEC + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + mov r2, #0x1 + mov r3, #0xe + bl sub_0200CB00 + ldr r0, _0206FE70 ; =0x000005A4 + ldr r0, [r5, r0] + ldr r0, [r0, #0xc] + bl sub_02025084 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + mov r1, #0x0 + mov r2, #0xa + mov r3, #0xf + bl sub_0200CD68 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r2, [r5, #0x0] + mov r0, #0x14 + mov r1, #0x3 + mov r3, #0x4 + bl sub_0200687C + mov r3, #0x20 + mov r1, #0x4 + str r3, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x14 + add r2, r1, #0x0 + bl sub_02006930 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r1, #0xc + str r1, [sp, #0xc] + ldr r2, [r5, #0x0] + mov r0, #0x14 + mov r3, #0x5 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + ldr r2, [r5, #0x0] + mov r0, #0x14 + mov r1, #0xe + mov r3, #0x5 + bl sub_020068C8 + mov r0, #0x20 + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x14 + mov r1, #0xd + mov r2, #0x4 + mov r3, #0x0 + bl sub_02006930 + mov r2, #0x99 + lsl r2, r2, #0x2 + mov r3, #0xf9 + add r1, r5, r2 + add r2, #0xc0 + lsl r3, r3, #0x2 + mov r0, #0xc + add r2, r5, r2 + add r3, r5, r3 + bl sub_020724D4 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02017FE4 + mov r0, #0x4 + mov r1, #0x0 + bl sub_02017FE4 + add sp, #0x14 + pop {r4-r5, pc} + .balign 4 +_0206FE6C: .word 0x000004A4 +_0206FE70: .word 0x000005A4 + + thumb_func_start sub_0206FE74 +sub_0206FE74: ; 0x0206FE74 + push {r3-r7, lr} + ldr r1, _0206FF50 ; =0x00000B38 + mov r2, #0xc + add r4, r0, #0x0 + bl sub_02006268 + ldr r2, _0206FF50 ; =0x00000B38 + mov r1, #0x0 + add r6, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + bl sub_0200628C + ldr r1, _0206FF54 ; =0x000005A4 + str r0, [r6, r1] + mov r0, #0xc + bl sub_02016B94 + str r0, [r6, #0x0] + ldr r0, _0206FF54 ; =0x000005A4 + ldr r1, [r6, r0] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0206FEBC + ldr r0, [r1, #0x14] + cmp r0, #0x0 + beq _0206FEBC + mov r0, #0xc + bl sub_0206BB5C + ldr r1, _0206FF58 ; =0x00000B34 + str r0, [r6, r1] + b _0206FEC2 +_0206FEBC: + ldr r0, _0206FF58 ; =0x00000B34 + mov r1, #0x0 + str r1, [r6, r0] +_0206FEC2: + ldr r2, _0206FF5C ; =0x00000192 + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0xc + bl sub_0200A86C + ldr r1, _0206FF60 ; =0x0000069C + mov r2, #0x0 + str r0, [r6, r1] + mov r0, #0xf + mov r1, #0xe + mov r3, #0xc + bl sub_0200B870 + ldr r1, _0206FF64 ; =0x00000698 + str r0, [r6, r1] + mov r0, #0xc + bl sub_0200AA80 + mov r1, #0x6a + lsl r1, r1, #0x4 + add r7, r1, #0x0 + str r0, [r6, r1] + mov r4, #0x0 + add r5, r6, #0x0 + add r7, #0x60 +_0206FEF6: + mov r0, #0xb + mov r1, #0xc + bl sub_020219F4 + str r0, [r5, r7] + add r4, r4, #0x1 + add r5, #0x2c + cmp r4, #0x6 + blo _0206FEF6 + mov r0, #0x1 + lsl r0, r0, #0x8 + mov r1, #0xc + bl sub_020219F4 + ldr r1, _0206FF68 ; =0x000006A4 + str r0, [r6, r1] + mov r0, #0x1 + lsl r0, r0, #0x8 + mov r1, #0xc + bl sub_020219F4 + ldr r1, _0206FF6C ; =0x000006A8 + mov r5, #0x0 + str r0, [r6, r1] + add r4, r6, #0x0 + add r7, r1, #0x4 +_0206FF2A: + mov r0, #0x20 + mov r1, #0xc + bl sub_020219F4 + str r0, [r4, r7] + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x13 + blo _0206FF2A + ldr r0, _0206FF54 ; =0x000005A4 + ldr r0, [r6, r0] + add r0, #0x22 + ldrb r1, [r0, #0x0] + ldr r0, _0206FF70 ; =0x00000B25 + strb r1, [r6, r0] + add r0, r0, #0x1 + strb r1, [r6, r0] + add r0, r6, #0x0 + pop {r3-r7, pc} + .balign 4 +_0206FF50: .word 0x00000B38 +_0206FF54: .word 0x000005A4 +_0206FF58: .word 0x00000B34 +_0206FF5C: .word 0x00000192 +_0206FF60: .word 0x0000069C +_0206FF64: .word 0x00000698 +_0206FF68: .word 0x000006A4 +_0206FF6C: .word 0x000006A8 +_0206FF70: .word 0x00000B25 + + thumb_func_start sub_0206FF74 +sub_0206FF74: ; 0x0206FF74 + push {r3-r4} + ldr r2, _0206FFAC ; =0x000005A4 + mov r3, #0x80 + ldr r1, [r0, r2] + add r1, #0x20 + ldrb r1, [r1, #0x0] + tst r1, r3 + beq _0206FF9E + ldr r1, _0206FFB0 ; =0x00000B23 + ldrb r4, [r0, r1] + orr r4, r3 + strb r4, [r0, r1] + ldr r1, [r0, r2] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + add r1, #0x20 + eor r0, r3 + strb r0, [r1, #0x0] + pop {r3-r4} + bx lr +_0206FF9E: + ldr r2, _0206FFB0 ; =0x00000B23 + mov r1, #0x80 + ldrb r3, [r0, r2] + bic r3, r1 + strb r3, [r0, r2] + pop {r3-r4} + bx lr + .balign 4 +_0206FFAC: .word 0x000005A4 +_0206FFB0: .word 0x00000B23 + + thumb_func_start sub_0206FFB4 +sub_0206FFB4: ; 0x0206FFB4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02070064 ; =0x000005A4 + mov r4, #0x3 + ldr r1, [r5, r0] + add r0, r1, #0x0 + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0206FFD0 + ldr r1, _02070068 ; =0x020F95CC + ldr r0, _0207006C ; =0x00000808 + str r1, [r5, r0] + b _0206FFEA +_0206FFD0: + add r1, #0x20 + ldrb r0, [r1, #0x0] + cmp r0, #0x2 + beq _0206FFDC + cmp r0, #0x11 + bne _0206FFE4 +_0206FFDC: + ldr r1, _02070070 ; =0x020F960C + ldr r0, _0207006C ; =0x00000808 + str r1, [r5, r0] + b _0206FFEA +_0206FFE4: + ldr r1, _02070074 ; =0x020F958C + ldr r0, _0207006C ; =0x00000808 + str r1, [r5, r0] +_0206FFEA: + ldr r0, _02070064 ; =0x000005A4 + ldr r1, [r5, r0] + add r1, #0x20 + ldrb r1, [r1, #0x0] + cmp r1, #0x2 + beq _0207003C + cmp r1, #0x11 + beq _0207003C + add r0, #0x2c + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _02070078 ; =0x000005D4 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02070078 ; =0x000005D4 + add r1, sp, #0x0 + ldr r0, [r5, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_0200C75C + ldr r0, _02070078 ; =0x000005D4 + add r3, sp, #0x0 + mov r2, #0x0 + ldrsh r2, [r3, r2] + mov r1, #0x2 + ldrsh r1, [r3, r1] + sub r2, #0x8 + lsl r2, r2, #0x10 + ldr r0, [r5, r0] + asr r2, r2, #0x10 + bl sub_0200C6E4 + mov r0, #0x1 + eor r0, r4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_0207003C: + ldr r0, _02070064 ; =0x000005A4 + ldr r1, [r5, r0] + add r1, #0x20 + ldrb r1, [r1, #0x0] + cmp r1, #0x4 + bne _0207005A + add r0, #0x30 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + mov r0, #0x2 + eor r0, r4 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_0207005A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073094 + pop {r3-r5, pc} + .balign 4 +_02070064: .word 0x000005A4 +_02070068: .word 0x020F95CC +_0207006C: .word 0x00000808 +_02070070: .word 0x020F960C +_02070074: .word 0x020F958C +_02070078: .word 0x000005D4 + + thumb_func_start sub_0207007C +sub_0207007C: ; 0x0207007C + mov r2, #0x2c + mul r2, r1 + add r1, r0, r2 + ldr r0, _02070088 ; =0x00000729 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_02070088: .word 0x00000729 + + thumb_func_start sub_0207008C +sub_0207008C: ; 0x0207008C + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x0] + add r5, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0x2c + add r4, r0, #0x0 + ldr r0, _020701D8 ; =0x00000729 + mul r4, r1 + add r0, r5, r0 + mov r1, #0x0 + str r0, [sp, #0x8] + strb r1, [r0, r4] + ldr r0, _020701DC ; =0x000005A4 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9AC + ldr r1, [sp, #0x0] + cmp r0, r1 + bgt _020700BC + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_020700BC: + ldr r0, _020701DC ; =0x000005A4 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r7, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + bne _020700DE + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_020700DE: + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02072A00 + ldr r0, [sp, #0x0] + mov r1, #0x2c + add r6, r0, #0x0 + mul r6, r1 + ldr r1, _020701E0 ; =0x00000704 + ldr r0, [sp, #0x4] + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701E4 ; =0x00000706 + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701E8 ; =0x00000708 + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701EC ; =0x0000070A + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701F0 ; =0x0000070C + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0xa1 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701F4 ; =0x00000712 + add r2, r5, r6 + strh r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + mov r1, #0x71 + add r2, r5, r6 + lsl r1, r1, #0x4 + strb r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020701F8 ; =0x00000711 + add r2, r5, r6 + strb r0, [r2, r1] + add r0, r7, #0x0 + mov r1, #0xaf + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + ldr r0, _020701FC ; =0x0000070E + bne _02070184 + add r2, r5, r0 + ldrh r1, [r2, r4] + ldr r0, _02070200 ; =0xFFFFEFFF + and r0, r1 + b _0207018E +_02070184: + add r2, r5, r0 + ldrh r1, [r2, r4] + mov r0, #0x1 + lsl r0, r0, #0xc + orr r0, r1 +_0207018E: + strh r0, [r2, r4] + ldr r0, _020701FC ; =0x0000070E + add r6, r5, r0 + add r0, r7, #0x0 + bl sub_020689E0 + lsl r0, r0, #0x1e + ldrh r2, [r6, r4] + ldr r1, _02070204 ; =0xFFFF9FFF + lsr r0, r0, #0x11 + and r1, r2 + orr r0, r1 + strh r0, [r6, r4] + ldr r0, [sp, #0x8] + mov r1, #0x1 + strb r1, [r0, r4] + add r0, r7, #0x0 + bl sub_0207C2D4 + lsl r0, r0, #0x18 + ldrh r1, [r6, r4] + ldr r2, _02070208 ; =0xFFFFF000 + lsr r0, r0, #0x18 + and r1, r2 + lsr r2, r2, #0x14 + and r0, r2 + orr r0, r1 + strh r0, [r6, r4] + ldr r2, [sp, #0x0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_0207020C + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + nop +_020701D8: .word 0x00000729 +_020701DC: .word 0x000005A4 +_020701E0: .word 0x00000704 +_020701E4: .word 0x00000706 +_020701E8: .word 0x00000708 +_020701EC: .word 0x0000070A +_020701F0: .word 0x0000070C +_020701F4: .word 0x00000712 +_020701F8: .word 0x00000711 +_020701FC: .word 0x0000070E +_02070200: .word 0xFFFFEFFF +_02070204: .word 0xFFFF9FFF +_02070208: .word 0xFFFFF000 + + thumb_func_start sub_0207020C +sub_0207020C: ; 0x0207020C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, _0207029C ; =0x000005A4 + add r5, r1, #0x0 + ldr r1, [r7, r0] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0xd + bne _0207029A + mov r0, #0x2c + add r6, r2, #0x0 + mul r6, r0 + mov r0, #0x71 + add r3, r7, r6 + lsl r0, r0, #0x4 + ldrb r2, [r3, r0] + cmp r2, #0x1 + beq _0207023A + sub r0, #0xa + ldrh r0, [r3, r0] + cmp r0, #0x0 + bne _02070248 +_0207023A: + ldr r0, _020702A0 ; =0x0000070E + add r2, r7, r0 + ldrh r1, [r2, r6] + ldr r0, _020702A4 ; =0xFFFF7FFF + and r0, r1 + strh r0, [r2, r6] + pop {r3-r7, pc} +_02070248: + add r1, #0x2a + ldrb r1, [r1, #0x0] + add r0, r5, #0x0 + bl sub_020702A8 + str r0, [sp, #0x0] + mov r4, #0x0 +_02070256: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207026C + add r4, r4, #0x1 + cmp r4, #0x4 + blo _02070256 +_0207026C: + ldr r0, _0207029C ; =0x000005A4 + ldr r0, [r7, r0] + add r0, #0x2b + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x0] + cmp r1, r0 + bhi _0207028E + cmp r4, #0x2 + blo _0207028E + ldr r0, _020702A0 ; =0x0000070E + add r2, r7, r0 + ldrh r1, [r2, r6] + mov r0, #0x2 + lsl r0, r0, #0xe + orr r0, r1 + strh r0, [r2, r6] + pop {r3-r7, pc} +_0207028E: + ldr r0, _020702A0 ; =0x0000070E + add r2, r7, r0 + ldrh r1, [r2, r6] + ldr r0, _020702A4 ; =0xFFFF7FFF + and r0, r1 + strh r0, [r2, r6] +_0207029A: + pop {r3-r7, pc} + .balign 4 +_0207029C: .word 0x000005A4 +_020702A0: .word 0x0000070E +_020702A4: .word 0xFFFF7FFF + + thumb_func_start sub_020702A8 +sub_020702A8: ; 0x020702A8 + push {r3-r5, lr} + add r5, r0, #0x0 + cmp r1, #0x4 + bls _020702B2 + b _020703B6 +_020702B2: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r0, r7, #0 + lsl r0, r5, #0x1 + lsl r0, r3, #0x2 + lsl r0, r1, #0x3 + mov r1, #0x7a + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x7b + mov r2, #0x0 + bl sub_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x7c + mov r2, #0x0 + bl sub_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x7d + mov r2, #0x0 + bl sub_020671BC + add r4, r4, r0 + b _020703B6 +_020702F8: + .byte 0x7E, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x5E, 0xFF + .byte 0x04, 0x1C, 0x28, 0x1C, 0x7F, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x58, 0xFF, 0x24, 0x18, 0x28, 0x1C + .byte 0x80, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x52, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x81, 0x21, 0x00, 0x22 + .byte 0xF6, 0xF7, 0x4C, 0xFF, 0x24, 0x18, 0x46, 0xE0, 0x82, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x46, 0xFF + .byte 0x04, 0x1C, 0x28, 0x1C, 0x83, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x40, 0xFF, 0x24, 0x18, 0x28, 0x1C + .byte 0x84, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x3A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x85, 0x21, 0x00, 0x22 + .byte 0xF6, 0xF7, 0x34, 0xFF, 0x24, 0x18, 0x2E, 0xE0, 0x86, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x2E, 0xFF + .byte 0x04, 0x1C, 0x28, 0x1C, 0x87, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x28, 0xFF, 0x24, 0x18, 0x28, 0x1C + .byte 0x88, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x22, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x89, 0x21, 0x00, 0x22 + .byte 0xF6, 0xF7, 0x1C, 0xFF, 0x24, 0x18, 0x16, 0xE0, 0x8A, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x16, 0xFF + .byte 0x04, 0x1C, 0x28, 0x1C, 0x8B, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x10, 0xFF, 0x24, 0x18, 0x28, 0x1C + .byte 0x8C, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x0A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x8D, 0x21, 0x00, 0x22 + .byte 0xF6, 0xF7, 0x04, 0xFF, 0x24, 0x18 +_020703B6: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020703BC +sub_020703BC: ; 0x020703BC + mov r1, #0x39 + lsl r1, r1, #0x4 + add r0, r0, r1 + bx lr + + thumb_func_start sub_020703C4 +sub_020703C4: ; 0x020703C4 + push {r4-r7, lr} + sub sp, #0x1c + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x0 + beq _020703E4 + ldr r0, _02070474 ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _020703EC + cmp r4, #0x1 + bne _020703EC +_020703E4: + mov r0, #0x99 + lsl r0, r0, #0x2 + add r0, r5, r0 + b _020703F2 +_020703EC: + mov r0, #0xc9 + lsl r0, r0, #0x2 + add r0, r5, r0 +_020703F2: + mov r1, #0x2c + mul r1, r4 + ldr r2, _02070478 ; =0x00000714 + add r1, r5, r1 + strb r6, [r1, r2] + add r2, r2, #0x1 + strb r7, [r1, r2] + mov r2, #0x10 + str r2, [sp, #0x0] + mov r1, #0x6 + str r1, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + str r2, [sp, #0x14] + str r1, [sp, #0x18] + ldr r0, [r5, #0x0] + mov r1, #0x2 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_02018170 + add r0, sp, #0x20 + ldrb r0, [r0, #0x10] + cmp r0, #0x0 + bne _0207044C + add r0, r7, #0x3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x9 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x10 + add r3, r6, #0x6 + str r0, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + mov r2, #0x17 + lsr r3, r3, #0x18 + bl sub_02018540 +_0207044C: + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + add r0, r4, #0x3 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + mov r1, #0x2 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl sub_020186B4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020709FC + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_02070474: .word 0x000005A4 +_02070478: .word 0x00000714 + + thumb_func_start sub_0207047C +sub_0207047C: ; 0x0207047C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020704E4 ; =0x000005A4 + ldr r2, [r4, r0] + add r0, r2, #0x0 + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _02070492 + ldr r1, _020704E8 ; =0x020F9694 + b _02070494 +_02070492: + ldr r1, _020704EC ; =0x020F964C +_02070494: + add r2, #0x20 + ldrb r0, [r2, #0x0] + cmp r0, #0x10 + bne _020704A4 + add r0, r4, #0x0 + bl sub_02070600 + b _020704D2 +_020704A4: + cmp r0, #0x6 + bne _020704B0 + add r0, r4, #0x0 + bl sub_020706E0 + b _020704D2 +_020704B0: + cmp r0, #0xd + bne _020704BC + add r0, r4, #0x0 + bl sub_020707C0 + b _020704D2 +_020704BC: + cmp r0, #0x2 + beq _020704C4 + cmp r0, #0x11 + bne _020704CC +_020704C4: + add r0, r4, #0x0 + bl sub_020708A0 + b _020704D2 +_020704CC: + add r0, r4, #0x0 + bl sub_020704F0 +_020704D2: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_0201AC68 + ldr r0, [r4, #0x0] + mov r1, #0x4 + bl sub_0201AC68 + pop {r4, pc} + .balign 4 +_020704E4: .word 0x000005A4 +_020704E8: .word 0x020F9694 +_020704EC: .word 0x020F964C + + thumb_func_start sub_020704F0 +sub_020704F0: ; 0x020704F0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r4, #0x0 +_020704FA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207008C + cmp r0, #0x1 + bne _020705D4 + mov r0, #0x2c + mul r0, r4 + add r1, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + str r1, [sp, #0x4] + cmp r0, #0x1 + bne _0207053A + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r3, r6, r2 + ldrh r2, [r6, r2] + ldrh r3, [r3, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 + b _0207055A +_0207053A: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + mov r0, #0x1 + str r0, [sp, #0x0] + add r3, r6, r2 + ldrh r2, [r6, r2] + ldrh r3, [r3, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 +_0207055A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072D1C + mov r0, #0xc + mul r0, r4 + add r7, r6, r0 + ldrh r2, [r7, #0x4] + ldrh r3, [r7, #0x6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020737D0 + ldrh r2, [r7, #0x8] + ldrh r3, [r7, #0xa] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020739E4 + ldr r3, [sp, #0x4] + ldr r2, _020705F8 ; =0x0000070C + add r0, r5, #0x0 + ldrh r2, [r3, r2] + add r1, r4, #0x0 + bl sub_02073A78 + mov r2, #0x4 + mov r3, #0x6 + ldrsh r2, [r7, r2] + ldrsh r3, [r7, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073AD8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B3C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B0C + mov r2, #0x2c + mul r2, r4 + add r3, r5, r2 + ldr r2, _020705FC ; =0x0000070E + add r0, r5, #0x0 + ldrh r2, [r3, r2] + add r1, r4, #0x0 + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + b _020705EA +_020705D4: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + add r7, r6, r2 + mov r3, #0x2 + ldrsh r2, [r6, r2] + ldrsh r3, [r7, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02070988 +_020705EA: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _020704FA + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020705F8: .word 0x0000070C +_020705FC: .word 0x0000070E + + thumb_func_start sub_02070600 +sub_02070600: ; 0x02070600 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + mov r4, #0x0 +_0207060A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207008C + cmp r0, #0x1 + bne _020706B0 + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x4] + add r6, r0, r2 + mov r0, #0x0 + str r0, [sp, #0x0] + ldrh r2, [r3, r2] + ldrh r3, [r6, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072E4C + ldrh r2, [r6, #0x4] + ldrh r3, [r6, #0x6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020737D0 + ldrh r2, [r6, #0x8] + ldrh r3, [r6, #0xa] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020739E4 + mov r0, #0x2c + add r7, r4, #0x0 + mul r7, r0 + ldr r2, _020706D8 ; =0x0000070C + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073A78 + mov r2, #0x4 + mov r3, #0x6 + ldrsh r2, [r6, r2] + ldrsh r3, [r6, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073AD8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B3C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B0C + ldr r2, _020706DC ; =0x0000070E + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + b _020706CA +_020706B0: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r6, [sp, #0x4] + add r3, r0, r2 + ldrsh r2, [r6, r2] + mov r6, #0x2 + ldrsh r3, [r3, r6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02070988 +_020706CA: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _0207060A + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020706D8: .word 0x0000070C +_020706DC: .word 0x0000070E + + thumb_func_start sub_020706E0 +sub_020706E0: ; 0x020706E0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + mov r4, #0x0 +_020706EA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207008C + cmp r0, #0x1 + bne _02070790 + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x4] + add r6, r0, r2 + mov r0, #0x0 + str r0, [sp, #0x0] + ldrh r2, [r3, r2] + ldrh r3, [r6, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072EE4 + ldrh r2, [r6, #0x4] + ldrh r3, [r6, #0x6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020737D0 + ldrh r2, [r6, #0x8] + ldrh r3, [r6, #0xa] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020739E4 + mov r0, #0x2c + add r7, r4, #0x0 + mul r7, r0 + ldr r2, _020707B8 ; =0x0000070C + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073A78 + mov r2, #0x4 + mov r3, #0x6 + ldrsh r2, [r6, r2] + ldrsh r3, [r6, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073AD8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B3C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B0C + ldr r2, _020707BC ; =0x0000070E + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + b _020707AA +_02070790: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r6, [sp, #0x4] + add r3, r0, r2 + ldrsh r2, [r6, r2] + mov r6, #0x2 + ldrsh r3, [r3, r6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02070988 +_020707AA: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _020706EA + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020707B8: .word 0x0000070C +_020707BC: .word 0x0000070E + + thumb_func_start sub_020707C0 +sub_020707C0: ; 0x020707C0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + mov r4, #0x0 +_020707CA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207008C + cmp r0, #0x1 + bne _02070870 + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x4] + add r6, r0, r2 + mov r0, #0x0 + str r0, [sp, #0x0] + ldrh r2, [r3, r2] + ldrh r3, [r6, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072F78 + ldrh r2, [r6, #0x4] + ldrh r3, [r6, #0x6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020737D0 + ldrh r2, [r6, #0x8] + ldrh r3, [r6, #0xa] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020739E4 + mov r0, #0x2c + add r7, r4, #0x0 + mul r7, r0 + ldr r2, _02070898 ; =0x0000070C + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073A78 + mov r2, #0x4 + mov r3, #0x6 + ldrsh r2, [r6, r2] + ldrsh r3, [r6, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073AD8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B3C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B0C + ldr r2, _0207089C ; =0x0000070E + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + b _0207088A +_02070870: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r6, [sp, #0x4] + add r3, r0, r2 + ldrsh r2, [r6, r2] + mov r6, #0x2 + ldrsh r3, [r3, r6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02070988 +_0207088A: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _020707CA + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02070898: .word 0x0000070C +_0207089C: .word 0x0000070E + + thumb_func_start sub_020708A0 +sub_020708A0: ; 0x020708A0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + mov r4, #0x0 +_020708AA: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207008C + cmp r0, #0x1 + bne _02070958 + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r3, [sp, #0x4] + add r6, r0, r2 + mov r0, #0x0 + str r0, [sp, #0x0] + ldrh r2, [r3, r2] + ldrh r3, [r6, #0x2] + add r0, r5, #0x0 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020703C4 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072FDC + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073024 + ldrh r2, [r6, #0x4] + ldrh r3, [r6, #0x6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020737D0 + ldrh r2, [r6, #0x8] + ldrh r3, [r6, #0xa] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020739E4 + mov r0, #0x2c + add r7, r4, #0x0 + mul r7, r0 + ldr r2, _02070980 ; =0x0000070C + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073A78 + mov r2, #0x4 + mov r3, #0x6 + ldrsh r2, [r6, r2] + ldrsh r3, [r6, r3] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073AD8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B3C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073B0C + ldr r2, _02070984 ; =0x0000070E + add r3, r5, r7 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + b _02070972 +_02070958: + mov r0, #0xc + add r2, r4, #0x0 + mul r2, r0 + ldr r0, [sp, #0x4] + ldr r6, [sp, #0x4] + add r3, r0, r2 + ldrsh r2, [r6, r2] + mov r6, #0x2 + ldrsh r3, [r3, r6] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02070988 +_02070972: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _020708AA + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02070980: .word 0x0000070C +_02070984: .word 0x0000070E + + thumb_func_start sub_02070988 +sub_02070988: ; 0x02070988 + push {r4-r7, lr} + sub sp, #0x1c + add r7, r1, #0x0 + add r4, r2, #0x0 + mov r1, #0x10 + mov r2, #0xf9 + add r5, r0, #0x0 + lsl r2, r2, #0x2 + add r6, r3, #0x0 + lsl r3, r6, #0x18 + str r1, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + add r2, r5, r2 + str r2, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + str r2, [sp, #0x10] + str r1, [sp, #0x14] + str r0, [sp, #0x18] + lsl r2, r4, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_02018170 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + lsl r2, r4, #0x18 + lsl r3, r6, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_020186B4 + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x7 + bl sub_02073A4C + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_02073A78 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02073B3C + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_020709FC +sub_020709FC: ; 0x020709FC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _02070A78 ; =0x000005A4 + add r6, r1, #0x0 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + ldr r1, _02070A7C ; =0x00000B23 + ldrb r2, [r5, r1] + lsl r3, r2, #0x19 + lsr r3, r3, #0x1f + cmp r3, #0x1 + bne _02070A2C + add r1, r1, #0x2 + ldrb r1, [r5, r1] + cmp r6, r1 + beq _02070A28 + lsl r1, r2, #0x1a + lsr r1, r1, #0x1a + cmp r6, r1 + bne _02070A2C +_02070A28: + mov r4, #0x7 + b _02070A60 +_02070A2C: + ldr r1, _02070A80 ; =0x00000B25 + ldrb r1, [r5, r1] + cmp r6, r1 + bne _02070A38 + mov r4, #0x4 + b _02070A3A +_02070A38: + mov r4, #0x0 +_02070A3A: + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02070A4E + add r0, r4, #0x2 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + b _02070A60 +_02070A4E: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02070A88 + cmp r0, #0x1 + bne _02070A60 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02070A60: + ldr r1, _02070A84 ; =0x000004A4 + add r3, r6, #0x3 + add r2, r5, r1 + lsl r1, r4, #0x5 + lsl r3, r3, #0x15 + add r1, r2, r1 + mov r0, #0x2 + mov r2, #0x10 + lsr r3, r3, #0x10 + bl sub_02017FB4 + pop {r4-r6, pc} + .balign 4 +_02070A78: .word 0x000005A4 +_02070A7C: .word 0x00000B23 +_02070A80: .word 0x00000B25 +_02070A84: .word 0x000004A4 + + thumb_func_start sub_02070A88 +sub_02070A88: ; 0x02070A88 + ldr r2, _02070AA0 ; =0x000005A4 + ldr r0, [r0, r2] + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _02070A9A + mov r0, #0x1 + tst r1, r0 + bne _02070A9C +_02070A9A: + mov r0, #0x0 +_02070A9C: + bx lr + nop +_02070AA0: .word 0x000005A4 + + thumb_func_start sub_02070AA4 +sub_02070AA4: ; 0x02070AA4 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + mov r3, #0x0 + ldr r0, _02070AF4 ; =0x00000B25 + str r3, [sp, #0x0] + ldrb r0, [r4, r0] + add r1, sp, #0xc + add r1, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, _02070AF8 ; =0x00000808 + add r2, sp, #0xc + ldr r0, [r4, r0] + bl sub_0201C638 + ldr r0, _02070AFC ; =0x000005A4 + ldr r1, _02070AF4 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + add r0, #0x21 + ldrb r0, [r0, #0x0] + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02070B00 ; =0x000005C8 + ldr r0, [r4, r0] + bl sub_02020130 + ldr r0, _02070B00 ; =0x000005C8 + add r2, sp, #0xc + ldrb r1, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldr r0, [r4, r0] + bl sub_0200C6E4 + add sp, #0x10 + pop {r4, pc} + nop +_02070AF4: .word 0x00000B25 +_02070AF8: .word 0x00000808 +_02070AFC: .word 0x000005A4 +_02070B00: .word 0x000005C8 + + thumb_func_start sub_02070B04 +sub_02070B04: ; 0x02070B04 + push {r4, lr} + add r4, r0, #0x0 + bl sub_02070B28 + cmp r0, #0x1 + bne _02070B14 + mov r0, #0x1 + pop {r4, pc} +_02070B14: + add r0, r4, #0x0 + bl sub_02070D90 + cmp r0, #0x1 + bne _02070B22 + mov r0, #0x2 + pop {r4, pc} +_02070B22: + mov r0, #0x5 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02070B28 +sub_02070B28: ; 0x02070B28 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + ldr r0, _02070CC0 ; =0x021C48B8 + mov r1, #0x40 + ldr r0, [r0, #0x4c] + mov r3, #0x4 + tst r1, r0 + beq _02070B3E + mov r3, #0x0 + b _02070B5A +_02070B3E: + mov r1, #0x80 + tst r1, r0 + beq _02070B48 + mov r3, #0x1 + b _02070B5A +_02070B48: + mov r1, #0x20 + tst r1, r0 + beq _02070B52 + mov r3, #0x2 + b _02070B5A +_02070B52: + mov r1, #0x10 + tst r0, r1 + beq _02070B5A + mov r3, #0x3 +_02070B5A: + cmp r3, #0x4 + bne _02070B64 + add sp, #0x4 + mov r0, #0x0 + pop {r3-r6, pc} +_02070B64: + ldr r4, _02070CC4 ; =0x00000B25 + ldrb r0, [r5, r4] + cmp r0, #0x6 + bne _02070BA0 + cmp r3, #0x0 + add r1, sp, #0x0 + bne _02070B92 + add r4, r4, #0x1 + ldrb r6, [r5, r4] + mov r4, #0x1 + ldr r3, _02070CC8 ; =0x020F9468 + and r4, r6 + add r6, r4, #0x2 + mov r4, #0x6 + mul r4, r6 + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + add r3, r3, r4 + bl sub_02070D2C + add r6, r0, #0x0 + b _02070C1A +_02070B92: + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + bl sub_02070CDC + add r6, r0, #0x0 + b _02070C1A +_02070BA0: + cmp r0, #0x7 + bne _02070C0C + ldr r0, _02070CCC ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _02070BDA + cmp r0, #0x11 + beq _02070BDA + cmp r3, #0x0 + bne _02070BDA + add r4, r4, #0x1 + ldrb r6, [r5, r4] + mov r4, #0x1 + add r1, sp, #0x0 + and r4, r6 + add r6, r4, #0x2 + mov r4, #0x6 + ldr r3, _02070CC8 ; =0x020F9468 + mul r4, r6 + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + add r3, r3, r4 + bl sub_02070D2C + add r6, r0, #0x0 + b _02070C1A +_02070BDA: + cmp r3, #0x1 + add r1, sp, #0x0 + bne _02070BFE + ldr r4, _02070CD0 ; =0x00000B26 + ldr r3, _02070CC8 ; =0x020F9468 + ldrb r6, [r5, r4] + mov r4, #0x1 + add r0, r5, #0x0 + and r6, r4 + mov r4, #0x6 + mul r4, r6 + add r1, #0x1 + add r2, sp, #0x0 + add r3, r3, r4 + bl sub_02070D2C + add r6, r0, #0x0 + b _02070C1A +_02070BFE: + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + bl sub_02070CDC + add r6, r0, #0x0 + b _02070C1A +_02070C0C: + add r1, sp, #0x0 + add r0, r5, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + bl sub_02070CDC + add r6, r0, #0x0 +_02070C1A: + ldr r0, _02070CC4 ; =0x00000B25 + ldrb r0, [r5, r0] + cmp r6, r0 + beq _02070CB8 + cmp r6, #0xff + beq _02070CB8 + add r0, r6, #0x0 + add r0, #0xfa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _02070C3E + ldr r0, _02070CD4 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + b _02070C6E +_02070C3E: + ldr r0, _02070CCC ; =0x000005A4 + add r1, r6, #0x0 + ldr r0, [r5, r0] + add r0, #0x21 + ldrb r0, [r0, #0x0] + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02070CD4 ; =0x000005C8 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02070CD4 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _02070CD4 ; =0x000005C8 + add r2, sp, #0x0 + ldrb r1, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldr r0, [r5, r0] + bl sub_0200C6E4 +_02070C6E: + ldr r0, _02070CC4 ; =0x00000B25 + mov r2, #0x0 + ldrb r4, [r5, r0] + strb r6, [r5, r0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020713EC + ldr r1, _02070CC4 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + mov r2, #0x1 + bl sub_020713EC + ldr r0, _02070CD8 ; =0x000005DC + bl sub_020054C8 + cmp r4, #0x6 + bhs _02070CA6 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + ldr r0, [r5, #0x0] + mov r1, #0x4 + bl sub_0201AC68 +_02070CA6: + cmp r4, #0x6 + beq _02070CB2 + cmp r4, #0x7 + beq _02070CB2 + ldr r0, _02070CD0 ; =0x00000B26 + strb r4, [r5, r0] +_02070CB2: + add sp, #0x4 + mov r0, #0x1 + pop {r3-r6, pc} +_02070CB8: + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + nop +_02070CC0: .word 0x021C48B8 +_02070CC4: .word 0x00000B25 +_02070CC8: .word 0x020F9468 +_02070CCC: .word 0x000005A4 +_02070CD0: .word 0x00000B26 +_02070CD4: .word 0x000005C8 +_02070CD8: .word 0x000005DC + + thumb_func_start sub_02070CDC +sub_02070CDC: ; 0x02070CDC + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, _02070D24 ; =0x00000B25 + add r7, r1, #0x0 + ldrb r4, [r5, r0] + str r2, [sp, #0xc] + add r6, r3, #0x0 +_02070CEC: + mov r0, #0x0 + str r0, [sp, #0x0] + str r4, [sp, #0x4] + ldr r0, _02070D28 ; =0x00000808 + str r6, [sp, #0x8] + ldr r0, [r5, r0] + ldr r2, [sp, #0xc] + add r1, r7, #0x0 + mov r3, #0x0 + bl sub_0201C638 + add r4, r0, #0x0 + cmp r4, #0x6 + beq _02070D1C + cmp r4, #0x7 + beq _02070D1C + cmp r4, #0xff + beq _02070D1C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207007C + cmp r0, #0x0 + beq _02070CEC +_02070D1C: + add r0, r4, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_02070D24: .word 0x00000B25 +_02070D28: .word 0x00000808 + + thumb_func_start sub_02070D2C +sub_02070D2C: ; 0x02070D2C + push {r3-r7, lr} + sub sp, #0x10 + add r6, r0, #0x0 + add r7, r1, #0x0 + str r2, [sp, #0xc] + add r5, r3, #0x0 + mov r4, #0x0 +_02070D3A: + cmp r4, #0x6 + beq _02070D70 + ldrb r1, [r5, r4] + add r0, r6, #0x0 + bl sub_0207007C + cmp r0, #0x0 + beq _02070D68 + mov r3, #0x0 + str r3, [sp, #0x0] + ldrb r0, [r5, r4] + ldr r2, [sp, #0xc] + add r1, r7, #0x0 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, _02070D8C ; =0x00000808 + ldr r0, [r6, r0] + bl sub_0201C638 + add sp, #0x10 + ldrb r0, [r5, r4] + pop {r3-r7, pc} +_02070D68: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + b _02070D3A +_02070D70: + mov r3, #0x0 + str r3, [sp, #0x0] + str r3, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, _02070D8C ; =0x00000808 + ldr r2, [sp, #0xc] + ldr r0, [r6, r0] + add r1, r7, #0x0 + bl sub_0201C638 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02070D8C: .word 0x00000808 + + thumb_func_start sub_02070D90 +sub_02070D90: ; 0x02070D90 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bl sub_02071870 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02070E42 + ldr r1, _02070E48 ; =0x00000B25 + mov r2, #0x0 + ldrb r4, [r5, r1] + strb r0, [r5, r1] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020713EC + ldr r1, _02070E48 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + mov r2, #0x1 + bl sub_020713EC + cmp r4, #0x6 + bhs _02070DCC + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 +_02070DCC: + mov r3, #0x0 + ldr r0, _02070E48 ; =0x00000B25 + str r3, [sp, #0x0] + ldrb r0, [r5, r0] + add r1, sp, #0xc + add r1, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, _02070E4C ; =0x00000808 + add r2, sp, #0xc + ldr r0, [r5, r0] + bl sub_0201C638 + ldr r0, _02070E50 ; =0x000005A4 + ldr r1, _02070E48 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + add r0, #0x21 + ldrb r0, [r0, #0x0] + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02070E54 ; =0x000005C8 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02070E54 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _02070E54 ; =0x000005C8 + add r2, sp, #0xc + ldrb r1, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldr r0, [r5, r0] + bl sub_0200C6E4 + mov r0, #0xb2 + mov r1, #0x1 + lsl r0, r0, #0x4 + strb r1, [r5, r0] + add r1, r0, #0x5 + ldrb r1, [r5, r1] + add r0, r0, #0x1 + strb r1, [r5, r0] + ldr r0, _02070E58 ; =0x000005E4 + bl sub_020054C8 + cmp r4, #0x6 + beq _02070E3C + cmp r4, #0x7 + beq _02070E3C + ldr r0, _02070E5C ; =0x00000B26 + strb r4, [r5, r0] +_02070E3C: + add sp, #0x10 + mov r0, #0x1 + pop {r3-r5, pc} +_02070E42: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_02070E48: .word 0x00000B25 +_02070E4C: .word 0x00000808 +_02070E50: .word 0x000005A4 +_02070E54: .word 0x000005C8 +_02070E58: .word 0x000005E4 +_02070E5C: .word 0x00000B26 + + thumb_func_start sub_02070E60 +sub_02070E60: ; 0x02070E60 + push {r4-r6, lr} + sub sp, #0x10 + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r0, #0xfa + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _02070E80 + ldr r0, _02070F04 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + b _02070ECC +_02070E80: + mov r3, #0x0 + ldr r0, _02070F08 ; =0x00000B25 + str r3, [sp, #0x0] + ldrb r0, [r5, r0] + add r1, sp, #0xc + add r1, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r0, _02070F0C ; =0x00000808 + add r2, sp, #0xc + ldr r0, [r5, r0] + bl sub_0201C638 + ldr r0, _02070F10 ; =0x000005A4 + add r1, r6, #0x0 + ldr r0, [r5, r0] + add r0, #0x21 + ldrb r0, [r0, #0x0] + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02070F04 ; =0x000005C8 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02070F04 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _02070F04 ; =0x000005C8 + add r2, sp, #0xc + ldrb r1, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldr r0, [r5, r0] + bl sub_0200C6E4 +_02070ECC: + ldr r0, _02070F08 ; =0x00000B25 + mov r2, #0x0 + ldrb r4, [r5, r0] + strb r6, [r5, r0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020713EC + ldr r1, _02070F08 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + mov r2, #0x1 + bl sub_020713EC + cmp r4, #0x6 + bhs _02070EFE + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020717E8 + ldr r0, [r5, #0x0] + mov r1, #0x4 + bl sub_0201AC68 +_02070EFE: + add sp, #0x10 + pop {r4-r6, pc} + nop +_02070F04: .word 0x000005C8 +_02070F08: .word 0x00000B25 +_02070F0C: .word 0x00000808 +_02070F10: .word 0x000005A4 + + thumb_func_start sub_02070F14 +sub_02070F14: ; 0x02070F14 + push {r3-r4, lr} + sub sp, #0x4 + mov r1, #0xb2 + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldrb r2, [r4, r1] + cmp r2, #0x0 + beq _02070F8A + cmp r2, #0x1 + beq _02070F30 + cmp r2, #0x2 + beq _02070F70 + add sp, #0x4 + pop {r3-r4, pc} +_02070F30: + add r0, r1, #0x1 + ldrb r0, [r4, r0] + add r1, sp, #0x0 + add r1, #0x2 + add r2, sp, #0x0 + bl sub_02071850 + add r3, sp, #0x0 + mov r1, #0x2 + mov r2, #0x0 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + add r0, r4, #0x0 + bl sub_02073D1C + ldr r1, _02070F90 ; =0x00000B21 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + mov r2, #0x2 + bl sub_020717E8 + ldr r0, [r4, #0x0] + mov r1, #0x4 + bl sub_0201AC68 + mov r0, #0xb2 + lsl r0, r0, #0x4 + ldrb r1, [r4, r0] + add sp, #0x4 + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r4, pc} +_02070F70: + add r1, r1, #0x1 + ldrb r1, [r4, r1] + mov r2, #0x1 + bl sub_020717E8 + ldr r0, [r4, #0x0] + mov r1, #0x4 + bl sub_0201AC68 + mov r0, #0xb2 + mov r1, #0x0 + lsl r0, r0, #0x4 + strb r1, [r4, r0] +_02070F8A: + add sp, #0x4 + pop {r3-r4, pc} + nop +_02070F90: .word 0x00000B21 + + thumb_func_start sub_02070F94 +sub_02070F94: ; 0x02070F94 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020710AC ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _0207104A + ldr r0, _020710B0 ; =0x00000B25 + ldrb r1, [r4, r0] + cmp r1, #0x6 + bne _02070FAE + mov r0, #0x4 + pop {r4, pc} +_02070FAE: + cmp r1, #0x7 + bne _02070FC6 + ldr r0, _020710B4 ; =0x000005DC + bl sub_020054C8 + ldr r0, _020710B8 ; =0x00000B23 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bne _0207104A + mov r0, #0x3 + pop {r4, pc} +_02070FC6: + ldr r0, _020710BC ; =0x000005A4 + ldr r2, [r4, r0] + add r2, #0x20 + ldrb r2, [r2, #0x0] + cmp r2, #0x3 + beq _02070FD6 + cmp r2, #0x13 + bne _02070FE0 +_02070FD6: + ldr r0, _020710B4 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x0 + pop {r4, pc} +_02070FE0: + cmp r2, #0x14 + beq _02070FE8 + cmp r2, #0xe + bne _0207100C +_02070FE8: + mov r0, #0x2c + mul r0, r1 + add r1, r4, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02071002 + ldr r0, _020710B4 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x0 + pop {r4, pc} +_02071002: + ldr r0, _020710C0 ; =0x000005F2 + bl sub_020054C8 + mov r0, #0x5 + pop {r4, pc} +_0207100C: + cmp r2, #0xf + bne _0207103A + mov r2, #0x2c + mul r2, r1 + mov r1, #0x71 + add r2, r4, r2 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _02071030 + add r0, #0x38 + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_020710C4 + mov r0, #0x0 + pop {r4, pc} +_02071030: + add r0, #0x4e + bl sub_020054C8 + mov r0, #0x5 + pop {r4, pc} +_0207103A: + add r0, #0x38 + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_020710C4 + mov r0, #0x0 + pop {r4, pc} +_0207104A: + ldr r0, _020710AC ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _0207106E + ldr r0, _020710B8 ; =0x00000B23 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bne _0207106E + ldr r0, _020710B4 ; =0x000005DC + bl sub_020054C8 + ldr r0, _020710B0 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] + mov r0, #0x3 + pop {r4, pc} +_0207106E: + add r0, r4, #0x0 + bl sub_02070B04 + cmp r0, #0x2 + bne _020710AA + ldr r1, _020710BC ; =0x000005A4 + ldr r1, [r4, r1] + add r1, #0x20 + ldrb r1, [r1, #0x0] + cmp r1, #0x14 + beq _0207108E + add r1, #0xf2 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x1 + bhi _020710AA +_0207108E: + ldr r1, _020710B0 ; =0x00000B25 + ldrb r2, [r4, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r4, r1 + mov r1, #0x71 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _020710AA + ldr r0, _020710C0 ; =0x000005F2 + bl sub_020054C8 + mov r0, #0x5 +_020710AA: + pop {r4, pc} + .balign 4 +_020710AC: .word 0x021C48B8 +_020710B0: .word 0x00000B25 +_020710B4: .word 0x000005DC +_020710B8: .word 0x00000B23 +_020710BC: .word 0x000005A4 +_020710C0: .word 0x000005F2 + + thumb_func_start sub_020710C4 +sub_020710C4: ; 0x020710C4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + mov r0, #0xc + mov r1, #0x8 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, _02071174 ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0xf + bgt _020710FC + bge _02071124 + cmp r0, #0x2 + bgt _0207113C + cmp r0, #0x0 + blt _0207113C + beq _0207110C + cmp r0, #0x2 + beq _02071118 + b _0207113C +_020710FC: + cmp r0, #0x12 + bgt _0207113C + cmp r0, #0x11 + blt _0207113C + beq _02071118 + cmp r0, #0x12 + beq _02071130 + b _0207113C +_0207110C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207117C + add r2, r0, #0x0 + b _02071146 +_02071118: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020712F0 + add r2, r0, #0x0 + b _02071146 +_02071124: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02071274 + add r2, r0, #0x0 + b _02071146 +_02071130: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02071280 + add r2, r0, #0x0 + b _02071146 +_0207113C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020712B4 + add r2, r0, #0x0 +_02071146: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072844 + mov r0, #0xc + add r1, r4, #0x0 + bl sub_02016A8C + add r0, r5, #0x0 + bl sub_0207295C + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731D4 + ldr r0, _02071178 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_0200C664 + pop {r3-r5, pc} + .balign 4 +_02071174: .word 0x000005A4 +_02071178: .word 0x000005C8 + + thumb_func_start sub_0207117C +sub_0207117C: ; 0x0207117C + push {r4-r7, lr} + sub sp, #0xc + str r1, [sp, #0x4] + ldr r1, _02071268 ; =0x000005A4 + str r0, [sp, #0x0] + ldr r0, [r0, r1] + ldr r2, _0207126C ; =0x00000B25 + ldr r1, [sp, #0x0] + ldr r0, [r0, #0x0] + ldrb r1, [r1, r2] + bl sub_0206B9B0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + mov r1, #0x1 + strb r1, [r0, #0x0] + mov r4, #0x0 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, _02071268 ; =0x000005A4 + ldr r0, [sp, #0x0] + ldr r0, [r0, r1] + ldr r0, [r0, #0x1c] + bl sub_02060144 + cmp r0, #0x0 + bne _02071258 + ldr r1, _0207126C ; =0x00000B25 + ldr r0, [sp, #0x0] + ldrb r1, [r0, r1] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [sp, #0x0] + add r1, r0, r2 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0207124C + add r6, r4, #0x0 +_020711D0: + add r1, r6, #0x0 + ldr r0, [sp, #0x8] + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + beq _02071210 + add r0, r7, #0x0 + bl sub_02071948 + cmp r0, #0xff + beq _02071206 + ldr r1, [sp, #0x4] + add r2, r4, #0x0 + strb r0, [r1, r5] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_020727FC + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02071206: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x4 + blo _020711D0 +_02071210: + ldr r0, [sp, #0x4] + mov r1, #0x0 + strb r1, [r0, r5] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r1, _0207126C ; =0x00000B25 + ldr r0, [sp, #0x0] + ldrb r1, [r0, r1] + mov r0, #0x2c + add r2, r1, #0x0 + mul r2, r0 + ldr r0, [sp, #0x0] + add r1, r0, r2 + ldr r0, _02071270 ; =0x0000070C + ldrh r0, [r1, r0] + bl sub_0206EA98 + cmp r0, #0x1 + bne _0207123E + mov r1, #0x5 + ldr r0, [sp, #0x4] + b _02071242 +_0207123E: + ldr r0, [sp, #0x4] + mov r1, #0x2 +_02071242: + strb r1, [r0, r5] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + b _02071258 +_0207124C: + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + strb r1, [r0, r5] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_02071258: + ldr r0, [sp, #0x4] + mov r1, #0x9 + strb r1, [r0, r5] + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02071268: .word 0x000005A4 +_0207126C: .word 0x00000B25 +_02071270: .word 0x0000070C + + thumb_func_start sub_02071274 +sub_02071274: ; 0x02071274 + mov r0, #0xe + strb r0, [r1, #0x0] + mov r0, #0x9 + strb r0, [r1, #0x1] + mov r0, #0x2 + bx lr + + thumb_func_start sub_02071280 +sub_02071280: ; 0x02071280 + ldr r2, _020712B0 ; =0x00000B25 + ldrb r3, [r0, r2] + mov r2, #0x2c + mul r2, r3 + add r2, r0, r2 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _020712A4 + mov r0, #0x8 + strb r0, [r1, #0x0] + mov r0, #0x1 + strb r0, [r1, #0x1] + mov r0, #0x9 + strb r0, [r1, #0x2] + mov r0, #0x3 + bx lr +_020712A4: + mov r0, #0x1 + strb r0, [r1, #0x0] + mov r0, #0x9 + strb r0, [r1, #0x1] + mov r0, #0x2 + bx lr + .balign 4 +_020712B0: .word 0x00000B25 + + thumb_func_start sub_020712B4 +sub_020712B4: ; 0x020712B4 + ldr r2, _020712E8 ; =0x00000B25 + ldrb r3, [r0, r2] + mov r2, #0x2c + mul r2, r3 + add r2, r0, r2 + ldr r0, _020712EC ; =0x0000070E + ldrh r0, [r2, r0] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _020712DA + mov r0, #0xd + strb r0, [r1, #0x0] + mov r0, #0x1 + strb r0, [r1, #0x1] + mov r0, #0x9 + strb r0, [r1, #0x2] + mov r0, #0x3 + bx lr +_020712DA: + mov r0, #0x1 + strb r0, [r1, #0x0] + mov r0, #0x9 + strb r0, [r1, #0x1] + mov r0, #0x2 + bx lr + nop +_020712E8: .word 0x00000B25 +_020712EC: .word 0x0000070E + + thumb_func_start sub_020712F0 +sub_020712F0: ; 0x020712F0 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _0207133C ; =0x00000B25 + ldrb r1, [r0, r1] + bl sub_02071340 + cmp r0, #0x0 + beq _0207130A + cmp r0, #0x1 + beq _02071316 + cmp r0, #0x2 + beq _02071326 + b _02071336 +_0207130A: + mov r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x9 + strb r0, [r4, #0x1] + mov r0, #0x2 + pop {r4, pc} +_02071316: + mov r0, #0xb + strb r0, [r4, #0x0] + mov r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x9 + strb r0, [r4, #0x2] + mov r0, #0x3 + pop {r4, pc} +_02071326: + mov r0, #0xc + strb r0, [r4, #0x0] + mov r0, #0x1 + strb r0, [r4, #0x1] + mov r0, #0x9 + strb r0, [r4, #0x2] + mov r0, #0x3 + pop {r4, pc} +_02071336: + mov r0, #0x0 + pop {r4, pc} + nop +_0207133C: .word 0x00000B25 + + thumb_func_start sub_02071340 +sub_02071340: ; 0x02071340 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _020713E0 ; =0x000005A4 + add r4, r1, #0x0 + ldr r2, [r5, r0] + ldr r0, [r2, #0x14] + cmp r0, #0x0 + beq _0207136E + ldr r0, [r2, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + ldr r0, _020713E0 ; =0x000005A4 + ldr r2, _020713E4 ; =0x00000B34 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + ldr r0, [r0, #0x14] + bl sub_0206BB84 + cmp r0, #0x0 + bne _0207136E + mov r0, #0x0 + pop {r4-r6, pc} +_0207136E: + ldr r0, _020713E0 ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x11 + bne _02071390 + mov r0, #0x2c + mul r0, r4 + add r1, r5, r0 + ldr r0, _020713E8 ; =0x00000704 + ldrh r0, [r1, r0] + bl sub_0206A964 + cmp r0, #0x1 + bne _02071390 + mov r0, #0x0 + pop {r4-r6, pc} +_02071390: + ldr r1, _020713E0 ; =0x000005A4 + mov r0, #0x0 + ldr r2, [r5, r1] + add r1, r2, #0x0 + add r1, #0x32 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x18 + lsr r3, r1, #0x1c + beq _020713BC + add r1, r4, #0x1 +_020713A4: + add r6, r2, r0 + add r6, #0x2c + ldrb r6, [r6, #0x0] + cmp r1, r6 + bne _020713B2 + mov r0, #0x2 + pop {r4-r6, pc} +_020713B2: + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r3 + blo _020713A4 +_020713BC: + mov r0, #0x2c + mul r0, r4 + add r3, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r1, [r3, r0] + cmp r1, #0x1 + beq _020713D8 + sub r0, r0, #0x6 + add r2, #0x33 + ldrh r1, [r3, r0] + ldrb r0, [r2, #0x0] + cmp r1, r0 + ble _020713DC +_020713D8: + mov r0, #0x0 + pop {r4-r6, pc} +_020713DC: + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 +_020713E0: .word 0x000005A4 +_020713E4: .word 0x00000B34 +_020713E8: .word 0x00000704 + + thumb_func_start sub_020713EC +sub_020713EC: ; 0x020713EC + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + cmp r4, #0x6 + bne _02071426 + mov r0, #0x5d + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_020201DC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r6, #0x0 + bne _02071410 + mov r0, #0x2 + and r0, r1 + b _02071416 +_02071410: + mov r0, #0x2 + and r0, r1 + add r0, r0, #0x1 +_02071416: + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x5d + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_02020130 + pop {r4-r6, pc} +_02071426: + cmp r4, #0x7 + bne _02071454 + ldr r0, _020714B4 ; =0x000005D4 + ldr r0, [r5, r0] + bl sub_020201DC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + cmp r6, #0x0 + bne _02071440 + mov r0, #0x2 + and r0, r1 + b _02071446 +_02071440: + mov r0, #0x2 + and r0, r1 + add r0, r0, #0x1 +_02071446: + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r0, _020714B4 ; =0x000005D4 + ldr r0, [r5, r0] + bl sub_02020130 + pop {r4-r6, pc} +_02071454: + cmp r6, #0x0 + ldr r1, _020714B8 ; =0x00000716 + bne _02071482 + mov r0, #0x2c + add r3, r5, r1 + mul r0, r4 + ldrsh r2, [r3, r0] + add r1, r1, #0x2 + sub r2, r2, #0x2 + strh r2, [r3, r0] + add r2, r5, r1 + ldrsh r1, [r2, r0] + sub r1, r1, #0x2 + strh r1, [r2, r0] + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + mov r1, #0x0 + bl sub_02020130 + b _020714A8 +_02071482: + mov r0, #0x2c + add r3, r5, r1 + mul r0, r4 + ldrsh r2, [r3, r0] + add r1, r1, #0x2 + add r2, r2, #0x2 + strh r2, [r3, r0] + add r2, r5, r1 + ldrsh r1, [r2, r0] + add r1, r1, #0x2 + strh r1, [r2, r0] + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + mov r1, #0x1 + bl sub_02020130 +_020714A8: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_020709FC + pop {r4-r6, pc} + nop +_020714B4: .word 0x000005D4 +_020714B8: .word 0x00000716 + + thumb_func_start sub_020714BC +sub_020714BC: ; 0x020714BC + cmp r1, #0x0 + beq _020714C8 + cmp r0, #0x0 + beq _020714CC + cmp r1, #0x1 + bne _020714CC +_020714C8: + mov r0, #0x1 + bx lr +_020714CC: + mov r0, #0x0 + bx lr + + thumb_func_start sub_020714D0 +sub_020714D0: ; 0x020714D0 + push {r4, lr} + ldr r1, _02071550 ; =0x021C48B8 + add r4, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x1 + tst r1, r2 + beq _0207150C + ldr r0, _02071554 ; =0x000005DC + bl sub_020054C8 + ldr r0, _02071558 ; =0x00000B25 + ldrb r1, [r4, r0] + cmp r1, #0x6 + bhs _020714F8 + sub r0, r0, #0x2 + ldrb r0, [r4, r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + cmp r1, r0 + bne _02071502 +_020714F8: + add r0, r4, #0x0 + bl sub_02074538 + mov r0, #0x3 + pop {r4, pc} +_02071502: + add r0, r4, #0x0 + bl sub_02074584 + mov r0, #0x0 + pop {r4, pc} +_0207150C: + mov r1, #0x2 + tst r1, r2 + beq _02071522 + ldr r0, _02071554 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_02074538 + mov r0, #0x3 + pop {r4, pc} +_02071522: + bl sub_02070B04 + cmp r0, #0x2 + bne _0207154C + ldr r0, _02071558 ; =0x00000B25 + ldrb r1, [r4, r0] + sub r0, r0, #0x2 + ldrb r0, [r4, r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + cmp r1, r0 + bne _02071544 + add r0, r4, #0x0 + bl sub_02074538 + mov r0, #0x3 + pop {r4, pc} +_02071544: + add r0, r4, #0x0 + bl sub_02074584 + mov r0, #0x0 +_0207154C: + pop {r4, pc} + nop +_02071550: .word 0x021C48B8 +_02071554: .word 0x000005DC +_02071558: .word 0x00000B25 + + thumb_func_start sub_0207155C +sub_0207155C: ; 0x0207155C + push {r3-r5, lr} + sub sp, #0x8 + ldr r1, _02071738 ; =0x000005A4 + add r4, r0, #0x0 + ldr r3, [r4, r1] + mov r0, #0x0 + add r1, r3, #0x0 + add r1, #0x32 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + beq _02071606 +_02071574: + add r2, r3, r0 + add r2, #0x2c + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _020715FC + add r3, #0x32 + ldrb r0, [r3, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + cmp r0, #0x6 + bhi _020715E0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r4, r1, #0 + lsl r0, r3, #0 + lsl r4, r4, #0 + lsl r0, r6, #0 + lsl r4, r7, #0 + add r0, r4, #0x0 + mov r1, #0x6b + mov r2, #0x1 + bl sub_020731E8 + b _020715EA +_020715B0: + .byte 0x20, 0x1C, 0x77, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x17, 0xFE, 0x16, 0xE0, 0x20, 0x1C, 0x78, 0x21 + .byte 0x01, 0x22, 0x01, 0xF0, 0x11, 0xFE, 0x10, 0xE0, 0x20, 0x1C, 0x79, 0x21, 0x01, 0x22, 0x01, 0xF0 + .byte 0x0B, 0xFE, 0x0A, 0xE0, 0x20, 0x1C, 0x7A, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x05, 0xFE, 0x04, 0xE0 +_020715E0: + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731E8 +_020715EA: + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} +_020715FC: + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, r1 + blo _02071574 +_02071606: + ldr r0, [r3, #0x14] + cmp r0, #0x0 + beq _020716CA + ldr r2, _02071744 ; =0x00000B34 + ldr r1, [r3, #0x0] + ldr r2, [r4, r2] + add r3, #0x2c + bl sub_0206BC60 + cmp r0, #0x3 + bhi _020716CA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r4, #0x2 + lsl r6, r0, #0 + lsl r0, r5, #0x1 + lsl r4, r0, #0x2 + ldr r0, _02071748 ; =0x0000069C + mov r1, #0xb8 + ldr r0, [r4, r0] + bl sub_0200A914 + add r5, r0, #0x0 + ldr r0, _02071738 ; =0x000005A4 + mov r1, #0x3 + ldr r0, [r4, r0] + ldr r0, [r0, #0x14] + bl sub_02023B0C + mov r1, #0x0 + add r2, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r3, #0x3 + bl sub_0200AD38 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} +_02071692: + .byte 0x20, 0x1C, 0xB6, 0x21, 0x01, 0x22, 0x01, 0xF0, 0xA6, 0xFD, 0x27, 0x48, 0x13, 0x21 + .byte 0x21, 0x54, 0x27, 0x48, 0x93, 0xF7, 0x10, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD, 0x20, 0x1C + .byte 0xB7, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x98, 0xFD, 0x20, 0x48, 0x13, 0x21, 0x21, 0x54, 0x20, 0x48 + .byte 0x93, 0xF7, 0x02, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD +_020716CA: + ldr r0, _02071738 ; =0x000005A4 + ldr r0, [r4, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x11 + bne _02071722 + add r0, r4, #0x0 + bl sub_0207174C + cmp r0, #0x0 + beq _02071722 + cmp r0, #0x1 + beq _020716EA + cmp r0, #0x2 + beq _02071706 + b _02071722 +_020716EA: + add r0, r4, #0x0 + mov r1, #0xb6 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} +_02071706: + add r0, r4, #0x0 + mov r1, #0xb7 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} +_02071722: + ldr r0, _02071738 ; =0x000005A4 + mov r2, #0x0 + ldr r1, [r4, r0] + add r0, #0x38 + add r1, #0x23 + strb r2, [r1, #0x0] + bl sub_020054C8 + mov r0, #0x1b + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02071738: .word 0x000005A4 +_0207173C: .word 0x00000B22 +_02071740: .word 0x000005F2 +_02071744: .word 0x00000B34 +_02071748: .word 0x0000069C + + thumb_func_start sub_0207174C +sub_0207174C: ; 0x0207174C + push {r4-r7} + add r5, r0, #0x0 + mov r0, #0x0 + mov r12, r0 + ldr r0, _020717E0 ; =0x000005A4 + ldr r4, [r5, r0] +_02071758: + mov r0, r12 + add r0, r4, r0 + add r0, #0x2c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _020717DA + mov r0, r12 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x6 + bhs _020717CC + mov r0, r12 + add r7, r4, r0 +_02071774: + add r0, r4, r3 + add r0, #0x2c + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _020717CC + add r0, r4, r3 + add r0, #0x2c + ldrb r1, [r0, #0x0] + mov r0, #0x2c + ldr r6, _020717E4 ; =0x000006D8 + mul r0, r1 + add r2, r5, r0 + add r0, r7, #0x0 + add r0, #0x2c + ldrb r1, [r0, #0x0] + mov r0, #0x2c + ldrh r6, [r2, r6] + mul r0, r1 + add r1, r5, r0 + ldr r0, _020717E4 ; =0x000006D8 + ldrh r0, [r1, r0] + cmp r0, r6 + bne _020717A8 + mov r0, #0x1 + pop {r4-r7} + bx lr +_020717A8: + mov r0, #0x6e + lsl r0, r0, #0x4 + ldrh r0, [r1, r0] + cmp r0, #0x0 + beq _020717C2 + mov r1, #0x6e + lsl r1, r1, #0x4 + ldrh r1, [r2, r1] + cmp r0, r1 + bne _020717C2 + mov r0, #0x2 + pop {r4-r7} + bx lr +_020717C2: + add r0, r3, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x6 + blo _02071774 +_020717CC: + mov r0, r12 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r12, r0 + cmp r0, #0x5 + blo _02071758 +_020717DA: + mov r0, #0x0 + pop {r4-r7} + bx lr + .balign 4 +_020717E0: .word 0x000005A4 +_020717E4: .word 0x000006D8 + + thumb_func_start sub_020717E8 +sub_020717E8: ; 0x020717E8 + push {r3-r7, lr} + ldr r0, [r0, #0x0] + add r5, r1, #0x0 + add r4, r2, #0x0 + mov r1, #0x4 + bl sub_0201886C + lsl r1, r5, #0x1 + mov r3, #0x19 + add r5, r4, #0x0 + mul r5, r3 + ldr r3, _02071844 ; =0x00001005 + mov r2, #0x0 + add r3, r5, r3 + lsl r3, r3, #0x10 + lsr r4, r3, #0x10 + ldr r3, _02071848 ; =0x020F944C + ldrb r3, [r3, r1] + lsl r3, r3, #0x1 + add r0, r0, r3 + mov r12, r0 + ldr r0, _0207184C ; =0x020F944D + ldrb r7, [r0, r1] +_02071816: + lsl r0, r2, #0x2 + add r5, r2, r0 + add r0, r7, r2 + lsl r1, r0, #0x6 + mov r0, r12 + mov r3, #0x0 + add r6, r0, r1 +_02071824: + add r0, r3, r5 + add r1, r4, r0 + lsl r0, r3, #0x1 + strh r1, [r6, r0] + add r0, r3, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x5 + blo _02071824 + add r0, r2, #0x1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x5 + blo _02071816 + pop {r3-r7, pc} + nop +_02071844: .word 0x00001005 +_02071848: .word 0x020F944C +_0207184C: .word 0x020F944D + + thumb_func_start sub_02071850 +sub_02071850: ; 0x02071850 + lsl r3, r0, #0x1 + ldr r0, _02071868 ; =0x020F944C + ldrb r0, [r0, r3] + lsl r0, r0, #0x3 + add r0, #0x14 + strh r0, [r1, #0x0] + ldr r0, _0207186C ; =0x020F944D + ldrb r0, [r0, r3] + lsl r0, r0, #0x3 + add r0, #0x14 + strh r0, [r2, #0x0] + bx lr + .balign 4 +_02071868: .word 0x020F944C +_0207186C: .word 0x020F944D + + thumb_func_start sub_02071870 +sub_02071870: ; 0x02071870 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl sub_0207248C + cmp r0, #0x0 + bne _02071886 + mov r0, #0x0 + add sp, #0x8 + mvn r0, r0 + pop {r3-r5, pc} +_02071886: + ldr r0, _020718C0 ; =0x020F94B8 + bl sub_02020988 + add r4, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _020718BA + ldr r1, _020718C4 ; =0x0000FFFE + add r0, sp, #0x4 + strh r1, [r0, #0x0] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r3, _020718C8 ; =0x021C48F8 + ldr r0, [r5, #0x0] + ldrh r2, [r3, #0x1c] + ldrh r3, [r3, #0x1e] + mov r1, #0x4 + bl sub_0201AFBC + cmp r0, #0x0 + bne _020718BA + mov r0, #0x0 + add sp, #0x8 + mvn r0, r0 + pop {r3-r5, pc} +_020718BA: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_020718C0: .word 0x020F94B8 +_020718C4: .word 0x0000FFFE +_020718C8: .word 0x021C48F8 + + thumb_func_start sub_020718CC +sub_020718CC: ; 0x020718CC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0207193C ; =0x000006FC + add r4, r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C78 + add r2, r0, #0x0 + mov r0, #0x1 + mvn r0, r0 + cmp r2, r0 + beq _020718EC + add r0, r0, #0x1 + cmp r2, r0 + beq _02071938 + b _02071932 +_020718EC: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02073DB4 + ldr r0, _02071940 ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _0207190E + cmp r0, #0x11 + bne _0207191A +_0207190E: + add r0, r5, #0x0 + mov r1, #0x22 + mov r2, #0x1 + bl sub_020731C0 + b _02071924 +_0207191A: + add r0, r5, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 +_02071924: + ldr r0, _02071944 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r3-r5, pc} +_02071932: + add r0, r5, #0x0 + add r1, r4, #0x0 + blx r2 +_02071938: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0207193C: .word 0x000006FC +_02071940: .word 0x000005A4 +_02071944: .word 0x000005C8 + + thumb_func_start sub_02071948 +sub_02071948: ; 0x02071948 + ldr r2, _0207196C ; =0x020F9544 + mov r3, #0x0 +_0207194C: + lsl r1, r3, #0x1 + ldrh r1, [r2, r1] + cmp r0, r1 + bne _0207195C + add r3, #0xf + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + bx lr +_0207195C: + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0xf + blo _0207194C + mov r0, #0xff + bx lr + nop +_0207196C: .word 0x020F9544 + + thumb_func_start sub_02071970 +sub_02071970: ; 0x02071970 + push {r4-r6, lr} + sub sp, #0x8 + ldr r1, _02071C18 ; =0x00000B2A + add r4, r0, #0x0 + ldrh r2, [r4, r1] + cmp r2, #0x4 + bhi _02071A7A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r1, #0 + lsl r6, r0, #0x5 + lsl r0, r0, #0x6 + lsl r0, r5, #0x6 + lsl r4, r2, #0x9 + ldr r2, _02071C1C ; =0x021C48B8 + ldr r3, [r2, #0x48] + mov r2, #0x1 + tst r2, r3 + beq _02071A26 + sub r1, r1, #0x5 + ldrb r1, [r4, r1] + cmp r1, #0x6 + blo _020719B8 + ldr r0, _02071C20 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_02074538 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_020719B8: + bl sub_02071C48 + cmp r0, #0x0 + beq _020719CA + cmp r0, #0x1 + beq _02071A08 + cmp r0, #0x2 + beq _02071A1A + b _02071A26 +_020719CA: + ldr r0, _02071C24 ; =0x000005EC + bl sub_020054C8 + ldr r0, _02071C28 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + ldr r0, _02071C2C ; =0x00000B25 + mov r1, #0x2c + ldrb r2, [r4, r0] + mul r1, r2 + add r3, r4, r1 + ldr r1, _02071C30 ; =0x00000708 + ldrh r2, [r3, r1] + sub r1, r1, #0x2 + ldrh r1, [r3, r1] + sub r2, r2, r1 + add r1, r0, #0x3 + ldrh r1, [r4, r1] + cmp r2, r1 + bge _020719FA + add r0, r0, #0x3 + strh r2, [r4, r0] +_020719FA: + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x2 + strh r1, [r4, r0] + mov r1, #0x0 + add r0, r0, #0x2 + strh r1, [r4, r0] + b _02071A26 +_02071A08: + ldr r0, _02071C20 ; =0x000005DC + bl sub_020054C8 + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x1 + strh r1, [r4, r0] + add sp, #0x8 + mov r0, #0x14 + pop {r4-r6, pc} +_02071A1A: + ldr r0, _02071C34 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x1a + pop {r4-r6, pc} +_02071A26: + ldr r0, _02071C1C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _02071A42 + ldr r0, _02071C20 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_02074538 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02071A42: + add r0, r4, #0x0 + bl sub_02070B04 + cmp r0, #0x2 + bne _02071A7A + ldr r0, _02071C2C ; =0x00000B25 + ldrb r1, [r4, r0] + sub r0, r0, #0x2 + ldrb r0, [r4, r0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1a + cmp r1, r0 + bne _02071A68 + add r0, r4, #0x0 + bl sub_02074538 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02071A68: + add r0, r4, #0x0 + bl sub_02071C48 + cmp r0, #0x0 + beq _02071A7C + cmp r0, #0x1 + beq _02071ABA + cmp r0, #0x2 + beq _02071AC6 +_02071A7A: + b _02071C12 +_02071A7C: + ldr r0, _02071C24 ; =0x000005EC + bl sub_020054C8 + ldr r0, _02071C28 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + ldr r0, _02071C2C ; =0x00000B25 + mov r1, #0x2c + ldrb r2, [r4, r0] + mul r1, r2 + add r3, r4, r1 + ldr r1, _02071C30 ; =0x00000708 + ldrh r2, [r3, r1] + sub r1, r1, #0x2 + ldrh r1, [r3, r1] + sub r2, r2, r1 + add r1, r0, #0x3 + ldrh r1, [r4, r1] + cmp r2, r1 + bge _02071AAC + add r0, r0, #0x3 + strh r2, [r4, r0] +_02071AAC: + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x2 + strh r1, [r4, r0] + mov r1, #0x0 + add r0, r0, #0x2 + strh r1, [r4, r0] + b _02071C12 +_02071ABA: + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x1 + strh r1, [r4, r0] + add sp, #0x8 + mov r0, #0x14 + pop {r4-r6, pc} +_02071AC6: + ldr r0, _02071C34 ; =0x000005F2 + bl sub_020054C8 + add sp, #0x8 + mov r0, #0x1a + pop {r4-r6, pc} +_02071AD2: + .byte 0x52, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x00, 0xD1, 0x99, 0xE0, 0x50, 0x48 + .byte 0x93, 0xF7, 0xF2, 0xFC, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0xF8, 0xFA + .byte 0x4D, 0x48, 0x00, 0x21, 0x20, 0x58, 0x9A, 0xF7, 0xB5, 0xFD, 0x20, 0x1C, 0x24, 0x21, 0x01, 0x22 + .byte 0x01, 0xF0, 0x5E, 0xFB, 0x44, 0x48, 0x00, 0x21, 0x21, 0x52, 0x82, 0xE0, 0xC9, 0x1F, 0x61, 0x5C + .byte 0x00, 0x22, 0xD2, 0x43, 0x89, 0x06, 0x89, 0x0E, 0x00, 0xF0, 0xCC, 0xF8, 0x01, 0x28, 0x78, 0xD1 + .byte 0x40, 0x48, 0x93, 0xF7, 0xD1, 0xFC, 0x3C, 0x48, 0x03, 0x21, 0x21, 0x52, 0x00, 0x21, 0x80, 0x1C + .byte 0x21, 0x52, 0x6E, 0xE0, 0x49, 0x1F, 0x61, 0x5C, 0x01, 0x22, 0x00, 0xF0, 0xBB, 0xF8, 0x01, 0x28 + .byte 0x67, 0xD1, 0x3D, 0x48, 0x39, 0x49, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF9, 0xF7, 0x30, 0xFF + .byte 0x06, 0x1C, 0x3A, 0x48, 0x40, 0x21, 0x20, 0x58, 0x98, 0xF7, 0xDC, 0xFE, 0x05, 0x1C, 0x30, 0x1C + .byte 0xF7, 0xF7, 0xC0, 0xFA, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x99, 0xF7 + .byte 0xC3, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x01, 0x21, 0x6A, 0x20, 0x31, 0x4A, 0x01, 0x91, 0x00, 0x01 + .byte 0xA2, 0x5A, 0x20, 0x58, 0x03, 0x23, 0x99, 0xF7, 0xD7, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 + .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x99, 0xF7, 0x0F, 0xFE, 0x28, 0x1C, 0xAF, 0xF7, 0x40, 0xFF + .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0x01, 0xF0, 0x1E, 0xFB, 0x25, 0x48, 0x00, 0x21 + .byte 0x20, 0x5A, 0x0C, 0x22, 0x00, 0x06, 0x00, 0x0E, 0xB7, 0xF7, 0xC8, 0xFA, 0x01, 0x1C, 0x1E, 0x48 + .byte 0x01, 0x22, 0x20, 0x58, 0xC0, 0x69, 0x98, 0x30, 0x00, 0x68, 0xB6, 0xF7, 0x83, 0xFF, 0x12, 0x48 + .byte 0x04, 0x21, 0x21, 0x52, 0x1A, 0x21, 0x08, 0x38, 0x21, 0x54, 0x02, 0xB0, 0x14, 0x20, 0x70, 0xBD + .byte 0x0E, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x13, 0xD0, 0x0D, 0x48, 0x93, 0xF7, 0x6C, 0xFC + .byte 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0x72, 0xFA, 0x0A, 0x48, 0x00, 0x21 + .byte 0x20, 0x58, 0x9A, 0xF7, 0x2F, 0xFD, 0x20, 0x1C, 0x02, 0xF0, 0x96, 0xFC, 0x02, 0xB0, 0x01, 0x20 + .byte 0x70, 0xBD +_02071C12: + mov r0, #0x1a + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_02071C18: .word 0x00000B2A +_02071C1C: .word 0x021C48B8 +_02071C20: .word 0x000005DC +_02071C24: .word 0x000005EC +_02071C28: .word 0x000005C8 +_02071C2C: .word 0x00000B25 +_02071C30: .word 0x00000708 +_02071C34: .word 0x000005F2 +_02071C38: + .byte 0xA4, 0x05, 0x00, 0x00, 0x9C, 0x06, 0x00, 0x00 + .byte 0x2C, 0x0B, 0x00, 0x00, 0x2E, 0x0B, 0x00, 0x00 + + thumb_func_start sub_02071C48 +sub_02071C48: ; 0x02071C48 + push {r3-r5, lr} + ldr r2, _02071CA8 ; =0x00000B25 + add r4, r0, #0x0 + ldrb r1, [r4, r2] + mov r0, #0x2c + mov r3, #0x71 + mul r0, r1 + add r0, r4, r0 + lsl r3, r3, #0x4 + ldrb r5, [r0, r3] + cmp r5, #0x0 + beq _02071C64 + mov r0, #0x2 + pop {r3-r5, pc} +_02071C64: + sub r2, r2, #0x2 + ldrb r2, [r4, r2] + lsl r2, r2, #0x1a + lsr r2, r2, #0x1a + cmp r1, r2 + beq _02071C82 + add r1, r3, #0x0 + sub r1, #0xa + ldrh r1, [r0, r1] + cmp r1, #0x0 + beq _02071C82 + sub r3, #0x8 + ldrh r0, [r0, r3] + cmp r1, r0 + bne _02071CA4 +_02071C82: + ldr r0, _02071CAC ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + add r0, r4, #0x0 + mov r1, #0x83 + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _02071CB0 ; =0x00000B2A + mov r0, #0x1 + strh r0, [r4, r1] + mov r2, #0x1a + sub r1, #0x8 + strb r2, [r4, r1] + pop {r3-r5, pc} +_02071CA4: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_02071CA8: .word 0x00000B25 +_02071CAC: .word 0x000005C8 +_02071CB0: .word 0x00000B2A + + thumb_func_start sub_02071CB4 +sub_02071CB4: ; 0x02071CB4 + push {r3-r7, lr} + add r6, r1, #0x0 + mov r3, #0x2c + add r4, r6, #0x0 + mul r4, r3 + ldr r3, _02071D34 ; =0x00000706 + add r5, r0, #0x0 + add r7, r5, r3 + lsl r2, r2, #0x10 + ldrh r3, [r7, r4] + lsr r2, r2, #0x10 + add r2, r3, r2 + ldr r3, _02071D38 ; =0x00000B2C + strh r2, [r7, r4] + ldrh r2, [r5, r3] + add r2, r2, #0x1 + strh r2, [r5, r3] + bl sub_02072BBC + lsl r1, r6, #0x2 + add r1, r6, r1 + add r1, r1, #0x3 + add r0, r5, #0x4 + lsl r1, r1, #0x4 + add r0, r0, r1 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072B7C + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072C28 + ldr r1, _02071D3C ; =0x00000B28 + ldrh r0, [r5, r1] + add r1, r1, #0x4 + ldrh r1, [r5, r1] + cmp r0, r1 + beq _02071D14 + ldr r1, _02071D40 ; =0x00000708 + add r2, r5, r4 + ldrh r0, [r7, r4] + ldrh r1, [r2, r1] + cmp r0, r1 + bne _02071D30 +_02071D14: + ldr r0, _02071D44 ; =0x000005A4 + add r1, r6, #0x0 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + ldrh r1, [r7, r4] + add r2, sp, #0x0 + str r1, [sp, #0x0] + mov r1, #0xa2 + bl sub_02067830 + mov r0, #0x1 + pop {r3-r7, pc} +_02071D30: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02071D34: .word 0x00000706 +_02071D38: .word 0x00000B2C +_02071D3C: .word 0x00000B28 +_02071D40: .word 0x00000708 +_02071D44: .word 0x000005A4 + + thumb_func_start sub_02071D48 +sub_02071D48: ; 0x02071D48 + push {r4, lr} + ldr r1, _02071DE0 ; =0x021C48B8 + add r4, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x1 + tst r1, r2 + beq _02071D96 + ldr r0, _02071DE4 ; =0x00000B25 + ldrb r1, [r4, r0] + cmp r1, #0x7 + bne _02071D72 + sub r0, r0, #0x2 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bne _02071D92 + ldr r0, _02071DE8 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x3 + pop {r4, pc} +_02071D72: + mov r0, #0x2c + mul r0, r1 + add r1, r4, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _02071D8C + ldr r0, _02071DE8 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x0 + pop {r4, pc} +_02071D8C: + ldr r0, _02071DEC ; =0x000005F2 + bl sub_020054C8 +_02071D92: + mov r0, #0x5 + pop {r4, pc} +_02071D96: + mov r1, #0x2 + tst r1, r2 + beq _02071DBA + ldr r0, _02071DF0 ; =0x00000B23 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bne _02071DB6 + ldr r0, _02071DE8 ; =0x000005DC + bl sub_020054C8 + ldr r0, _02071DE4 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] + mov r0, #0x3 + pop {r4, pc} +_02071DB6: + mov r0, #0x5 + pop {r4, pc} +_02071DBA: + bl sub_02070B04 + cmp r0, #0x2 + bne _02071DDE + ldr r1, _02071DE4 ; =0x00000B25 + ldrb r2, [r4, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r4, r1 + mov r1, #0x71 + lsl r1, r1, #0x4 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _02071DDE + ldr r0, _02071DEC ; =0x000005F2 + bl sub_020054C8 + mov r0, #0x5 +_02071DDE: + pop {r4, pc} + .balign 4 +_02071DE0: .word 0x021C48B8 +_02071DE4: .word 0x00000B25 +_02071DE8: .word 0x000005DC +_02071DEC: .word 0x000005F2 +_02071DF0: .word 0x00000B23 + + thumb_func_start sub_02071DF4 +sub_02071DF4: ; 0x02071DF4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02071F1C ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + mov r2, #0xc + ldrh r0, [r0, #0x24] + bl sub_0206E710 + mov r1, #0x22 + add r4, r0, #0x0 + bl sub_0206E7DC + cmp r0, #0x0 + bne _02071E1E + add r0, r4, #0x0 + mov r1, #0x23 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02071E30 +_02071E1E: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0207703C + mov r0, #0x6 + pop {r3-r5, pc} +_02071E30: + add r0, r4, #0x0 + mov r1, #0x24 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02071E5A + add r0, r4, #0x0 + mov r1, #0x25 + bl sub_0206E7DC + cmp r0, #0x0 + bne _02071E5A + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_0207703C + mov r0, #0x6 + pop {r3-r5, pc} +_02071E5A: + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, _02071F1C ; =0x000005A4 + ldr r2, _02071F20 ; =0x00000B25 + ldr r1, [r5, r0] + mov r0, #0xc + str r0, [sp, #0x0] + ldr r0, [r1, #0x0] + ldrh r1, [r1, #0x24] + ldrb r2, [r5, r2] + mov r3, #0x0 + bl sub_020847F8 + cmp r0, #0x1 + bne _02071F02 + ldr r0, _02071F1C ; =0x000005A4 + mov r2, #0x1 + ldr r1, [r5, r0] + mov r3, #0xc + ldr r0, [r1, #0x4] + ldrh r1, [r1, #0x24] + bl sub_0206EDD4 + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_0206E7DC + cmp r0, #0x0 + ldr r0, _02071F1C ; =0x000005A4 + beq _02071ECC + ldr r1, _02071F20 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + ldr r0, _02071F1C ; =0x000005A4 + mov r2, #0x3 + ldr r3, [r5, r0] + add r0, r3, #0x0 + add r0, #0x3c + str r0, [sp, #0x0] + ldrh r3, [r3, #0x24] + mov r0, #0x0 + bl sub_02069168 + ldr r1, _02071F1C ; =0x000005A4 + ldr r2, [r5, r1] + strh r0, [r2, #0x38] + ldr r0, [r5, r1] + mov r2, #0x8 + add r0, #0x23 + strb r2, [r0, #0x0] + mov r0, #0x1b + pop {r3-r5, pc} +_02071ECC: + ldr r0, [r5, r0] + ldrh r0, [r0, #0x24] + bl sub_0206EB34 + cmp r0, #0x1 + bne _02071EFA + ldr r0, _02071F1C ; =0x000005A4 + ldr r1, [r5, r0] + ldr r0, [r1, #0x10] + cmp r0, #0x0 + beq _02071EFA + ldr r0, [r1, #0x0] + ldr r1, _02071F20 ; =0x00000B25 + ldrb r1, [r5, r1] + bl sub_0206B9B0 + add r1, r0, #0x0 + ldr r0, _02071F1C ; =0x000005A4 + ldr r2, [r5, r0] + ldr r0, [r2, #0x10] + ldrh r2, [r2, #0x24] + bl sub_02061618 +_02071EFA: + add r0, r5, #0x0 + bl sub_02075C54 + b _02071F18 +_02071F02: + add r0, r5, #0x0 + mov r1, #0x69 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02071F20 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r5, r0] + ldr r1, _02071F24 ; =sub_02075CE4 + sub r0, #0x11 + str r1, [r5, r0] +_02071F18: + mov r0, #0x5 + pop {r3-r5, pc} + .balign 4 +_02071F1C: .word 0x000005A4 +_02071F20: .word 0x00000B25 +_02071F24: .word sub_02075CE4 + 1 + + thumb_func_start sub_02071F28 +sub_02071F28: ; 0x02071F28 + push {r3, lr} + ldr r1, _02071F50 ; =0x00000B25 + ldrb r2, [r0, r1] + mov r1, #0x2c + mul r1, r2 + add r1, r0, r1 + ldr r0, _02071F54 ; =0x0000070C + ldrh r0, [r1, r0] + cmp r0, #0x0 + bne _02071F40 + mov r0, #0x0 + pop {r3, pc} +_02071F40: + bl sub_0206EA98 + cmp r0, #0x1 + bne _02071F4C + mov r0, #0x2 + pop {r3, pc} +_02071F4C: + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_02071F50: .word 0x00000B25 +_02071F54: .word 0x0000070C + + thumb_func_start sub_02071F58 +sub_02071F58: ; 0x02071F58 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02072074 ; =0x000005A4 + ldr r1, _02072078 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r6, r0, #0x0 + mov r7, #0x89 + add r0, r5, #0x0 + lsl r7, r7, #0x2 + bl sub_02071F28 + cmp r0, #0x0 + beq _02071F84 + cmp r0, #0x1 + beq _02071FF2 + cmp r0, #0x2 + beq _02072044 + b _02072054 +_02071F84: + ldr r0, _02072074 ; =0x000005A4 + ldr r0, [r5, r0] + ldrh r0, [r0, #0x24] + bl sub_0206EA98 + cmp r0, #0x1 + bne _02071FA0 + ldr r0, _02072074 ; =0x000005A4 + mov r1, #0x6 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r3-r7, pc} +_02071FA0: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072080 + ldr r2, _0207207C ; =0x0000069C + mov r1, #0x76 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + ldr r0, [r5, r2] + sub r2, #0xfc + ldr r2, [r5, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x24] + bl sub_0200AE38 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 + mov r4, #0xb + b _02072054 +_02071FF2: + ldr r2, _0207207C ; =0x0000069C + mov r1, #0x4e + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + ldr r2, _02072078 ; =0x00000B25 + mov r3, #0x6a + ldrb r4, [r5, r2] + mov r2, #0x2c + lsl r3, r3, #0x4 + mul r2, r4 + ldr r0, [r5, r3] + add r2, r5, r2 + add r3, #0x6c + ldrh r2, [r2, r3] + mov r1, #0x1 + bl sub_0200AE70 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 + mov r4, #0x9 + b _02072054 +_02072044: + ldr r2, _0207207C ; =0x0000069C + mov r1, #0x4d + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 + mov r4, #0xb +_02072054: + add r0, r5, r7 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xf + bl sub_0200D0BC + add r0, r5, r7 + mov r1, #0xf + bl sub_02019620 + add r0, r5, #0x0 + bl sub_0207322C + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_02072074: .word 0x000005A4 +_02072078: .word 0x00000B25 +_0207207C: .word 0x0000069C + + thumb_func_start sub_02072080 +sub_02072080: ; 0x02072080 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _020720D4 ; =0x000005A4 + add r5, r1, #0x0 + ldr r1, [r4, r0] + mov r2, #0x1 + ldrh r1, [r1, #0x24] + mov r3, #0xc + str r1, [sp, #0x0] + ldr r1, [r4, r0] + ldr r0, [r1, #0x4] + ldrh r1, [r1, #0x24] + bl sub_0206EDD4 + add r0, r5, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02069EC4 + ldr r1, _020720D8 ; =0x00000B25 + ldr r0, _020720D4 ; =0x000005A4 + ldrb r3, [r4, r1] + ldr r0, [r4, r0] + mov r2, #0x2c + add r5, r3, #0x0 + mul r5, r2 + ldrh r0, [r0, #0x24] + ldr r3, _020720DC ; =0x0000070C + add r5, r4, r5 + strh r0, [r5, r3] + ldrb r1, [r4, r1] + add r0, r4, #0x0 + mul r2, r1 + add r2, r4, r2 + ldrh r2, [r2, r3] + bl sub_02073A78 + pop {r3-r5, pc} + nop +_020720D4: .word 0x000005A4 +_020720D8: .word 0x00000B25 +_020720DC: .word 0x0000070C + + thumb_func_start sub_020720E0 +sub_020720E0: ; 0x020720E0 + push {r0-r3} + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _02072134 ; =0x000005A4 + add r5, r1, #0x0 + ldr r0, [r4, r0] + lsl r1, r2, #0x10 + ldr r0, [r0, #0x4] + lsr r1, r1, #0x10 + mov r2, #0x1 + mov r3, #0xc + bl sub_0206ED38 + add r0, r5, #0x0 + mov r1, #0x6 + add r2, sp, #0x1c + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02069EC4 + ldr r1, _02072138 ; =0x00000B25 + mov r2, #0x2c + ldrb r3, [r4, r1] + ldr r0, [sp, #0x1c] + add r5, r3, #0x0 + mul r5, r2 + ldr r3, _0207213C ; =0x0000070C + add r5, r4, r5 + strh r0, [r5, r3] + ldrb r1, [r4, r1] + add r0, r4, #0x0 + mul r2, r1 + add r2, r4, r2 + ldrh r2, [r2, r3] + bl sub_02073A78 + pop {r3-r5} + pop {r3} + add sp, #0x10 + bx r3 + nop +_02072134: .word 0x000005A4 +_02072138: .word 0x00000B25 +_0207213C: .word 0x0000070C + + thumb_func_start sub_02072140 +sub_02072140: ; 0x02072140 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02072168 ; =0x00000B24 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + bne _02072162 + ldr r0, _0207216C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02072162 + add r0, r4, #0x0 + bl sub_020722B8 + pop {r4, pc} +_02072162: + mov r0, #0xb + pop {r4, pc} + nop +_02072168: .word 0x00000B24 +_0207216C: .word 0x021C48B8 + + thumb_func_start sub_02072170 +sub_02072170: ; 0x02072170 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02072190 ; =0x00000B24 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + bne _0207218A + add r0, r4, #0x0 + bl sub_020732CC + mov r0, #0xa + pop {r4, pc} +_0207218A: + mov r0, #0x9 + pop {r4, pc} + nop +_02072190: .word 0x00000B24 + + thumb_func_start sub_02072194 +sub_02072194: ; 0x02072194 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _020722A4 ; =0x000006FC + mov r1, #0xc + ldr r0, [r5, r0] + bl sub_020021AC + cmp r0, #0x0 + beq _020721B0 + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _02072298 + b _020722A0 +_020721B0: + ldr r0, _020722A8 ; =0x000005A4 + ldr r1, _020722AC ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r7, r0, #0x0 + ldr r0, _020722A8 ; =0x000005A4 + ldr r0, [r5, r0] + ldrh r6, [r0, #0x24] + ldr r0, _020722AC ; =0x00000B25 + ldrb r1, [r5, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r5, r0 + ldr r0, _020722B0 ; =0x0000070C + ldrh r4, [r1, r0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02072080 + ldr r0, _020722A8 ; =0x000005A4 + add r1, r4, #0x0 + ldr r0, [r5, r0] + mov r2, #0x1 + ldr r0, [r0, #0x4] + mov r3, #0xc + bl sub_0206ED38 + cmp r0, #0x0 + bne _0207220C + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_020720E0 + ldr r2, _020722B4 ; =0x0000069C + mov r1, #0x53 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 + b _02072282 +_0207220C: + ldr r0, _020722A8 ; =0x000005A4 + ldr r0, [r5, r0] + ldrh r0, [r0, #0x24] + bl sub_0206EA98 + cmp r0, #0x1 + bne _02072246 + ldr r0, _020722A8 ; =0x000005A4 + lsl r1, r4, #0x10 + ldr r0, [r5, r0] + lsr r1, r1, #0x10 + ldr r0, [r0, #0x4] + mov r2, #0x1 + mov r3, #0xc + bl sub_0206EDD4 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_020720E0 + ldr r0, _020722A8 ; =0x000005A4 + mov r1, #0x6 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r3-r7, pc} +_02072246: + ldr r2, _020722B4 ; =0x0000069C + mov r1, #0x54 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200AE38 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x2 + add r2, r6, #0x0 + bl sub_0200AE38 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 +_02072282: + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xf + bl sub_02019620 + add r0, r5, #0x0 + bl sub_0207322C + mov r0, #0xb + pop {r3-r7, pc} +_02072298: + add r0, r5, #0x0 + bl sub_020722B8 + pop {r3-r7, pc} +_020722A0: + mov r0, #0xa + pop {r3-r7, pc} + .balign 4 +_020722A4: .word 0x000006FC +_020722A8: .word 0x000005A4 +_020722AC: .word 0x00000B25 +_020722B0: .word 0x0000070C +_020722B4: .word 0x0000069C + + thumb_func_start sub_020722B8 +sub_020722B8: ; 0x020722B8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02072304 ; =0x000005A4 + ldr r1, [r4, r0] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0xa + bne _020722F8 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _02072308 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + ldr r0, _02072304 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x20 + strb r1, [r0, #0x0] + mov r0, #0x1 + pop {r4, pc} +_020722F8: + mov r0, #0xa + add r1, #0x23 + strb r0, [r1, #0x0] + mov r0, #0x1b + pop {r4, pc} + nop +_02072304: .word 0x000005A4 +_02072308: .word 0x000005C8 + + thumb_func_start sub_0207230C +sub_0207230C: ; 0x0207230C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02072410 ; =0x000005A4 + ldr r1, _02072414 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r7, r0, #0x0 + ldr r0, _02072410 ; =0x000005A4 + ldr r0, [r5, r0] + ldrh r6, [r0, #0x24] + ldr r0, _02072414 ; =0x00000B25 + ldrb r1, [r5, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r5, r0 + ldr r0, _02072418 ; =0x0000070C + ldrh r4, [r1, r0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl sub_02072080 + cmp r4, #0x0 + bne _02072388 + ldr r2, _0207241C ; =0x0000069C + mov r1, #0x76 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + add r0, r7, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + ldr r0, [r5, r2] + sub r2, #0xfc + ldr r2, [r5, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x24] + bl sub_0200AE38 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 + b _020723D6 +_02072388: + ldr r0, _02072410 ; =0x000005A4 + lsl r1, r4, #0x10 + ldr r0, [r5, r0] + lsr r1, r1, #0x10 + ldr r0, [r0, #0x4] + mov r2, #0x1 + mov r3, #0xc + bl sub_0206ED38 + ldr r2, _0207241C ; =0x0000069C + mov r1, #0x54 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200AE38 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x2 + add r2, r6, #0x0 + bl sub_0200AE38 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 +_020723D6: + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xf + bl sub_0200D0BC + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xf + bl sub_02019620 + add r0, r5, #0x0 + bl sub_0207322C + ldr r0, _02072410 ; =0x000005A4 + ldr r1, [r5, r0] + add r0, r1, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0xc + bne _0207240C + mov r0, #0xa + add r1, #0x20 + strb r0, [r1, #0x0] +_0207240C: + mov r0, #0xb + pop {r3-r7, pc} + .balign 4 +_02072410: .word 0x000005A4 +_02072414: .word 0x00000B25 +_02072418: .word 0x0000070C +_0207241C: .word 0x0000069C + + thumb_func_start sub_02072420 +sub_02072420: ; 0x02072420 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02072470 ; =0x00000B25 + ldrb r1, [r4, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r4, r0 + ldr r0, _02072474 ; =0x00000712 + ldrh r0, [r1, r0] + cmp r0, #0x0 + bne _02072444 + ldr r0, _02072478 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_02072444: + ldr r0, _0207247C ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C664 + add r0, r4, #0x0 + mov r1, #0xc3 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02072480 ; =sub_02074428 + ldr r1, _02072484 ; =0x00000B18 + ldr r2, _02072488 ; =sub_02074454 + str r0, [r4, r1] + add r0, r1, #0x4 + str r2, [r4, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r4, r1] + mov r0, #0x14 + pop {r4, pc} + nop +_02072470: .word 0x00000B25 +_02072474: .word 0x00000712 +_02072478: .word 0x000005A4 +_0207247C: .word 0x000005C8 +_02072480: .word sub_02074428 + 1 +_02072484: .word 0x00000B18 +_02072488: .word sub_02074454 + 1 + + thumb_func_start sub_0207248C +sub_0207248C: ; 0x0207248C + ldr r1, _020724C0 ; =0x000005A4 + ldr r0, [r0, r1] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x5 + beq _020724B8 + cmp r0, #0x6 + beq _020724B8 + cmp r0, #0x7 + beq _020724B8 + cmp r0, #0x8 + beq _020724B8 + cmp r0, #0x9 + beq _020724B8 + cmp r0, #0xb + beq _020724B8 + cmp r0, #0xe + beq _020724B8 + cmp r0, #0x10 + beq _020724B8 + cmp r0, #0x14 + bne _020724BC +_020724B8: + mov r0, #0x0 + bx lr +_020724BC: + mov r0, #0x1 + bx lr + .balign 4 +_020724C0: .word 0x000005A4 + + thumb_func_start sub_020724C4 +sub_020724C4: ; 0x020724C4 + mov r0, #0x14 + bx lr + + thumb_func_start sub_020724C8 +sub_020724C8: ; 0x020724C8 + mov r0, #0x15 + bx lr + + thumb_func_start sub_020724CC +sub_020724CC: ; 0x020724CC + mov r0, #0x13 + bx lr + + thumb_func_start sub_020724D0 +sub_020724D0: ; 0x020724D0 + mov r0, #0x12 + bx lr + + thumb_func_start sub_020724D4 +sub_020724D4: ; 0x020724D4 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x14 + mov r1, #0x16 + add r2, r4, #0x0 + add r7, r3, #0x0 + bl sub_0200650C + add r1, sp, #0xc + str r0, [sp, #0x8] + blx sub_020B0180 + ldr r0, [sp, #0xc] + mov r4, #0x0 + str r0, [sp, #0x4] + add r0, #0xc + str r0, [sp, #0x4] + str r0, [sp, #0x0] +_020724FE: + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x20 + blx sub_020DF438 + add r1, r4, #0x6 + lsl r2, r1, #0x6 + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + add r1, r1, r2 + mov r2, #0x20 + blx sub_020DF438 + add r1, r4, #0x0 + add r1, #0xc + lsl r2, r1, #0x6 + ldr r1, [sp, #0x4] + add r0, r7, #0x0 + add r1, r1, r2 + mov r2, #0x20 + blx sub_020DF438 + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r0, #0x40 + str r0, [sp, #0x0] + add r5, #0x20 + add r6, #0x20 + add r7, #0x20 + cmp r4, #0x6 + blo _020724FE + ldr r0, [sp, #0x8] + bl sub_02016A18 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02072548 +sub_02072548: ; 0x02072548 + push {r4-r6, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + add r6, r0, #0x0 + bl sub_02019150 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x10 + add r2, #0x8 + bl sub_02019150 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x20 + add r2, #0x10 + bl sub_02019150 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x30 + add r2, #0x18 + bl sub_02019150 + add r5, #0x40 + add r4, #0x20 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02019150 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02072590 +sub_02072590: ; 0x02072590 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r4, _020726C0 ; =0x020F975C + ldr r0, [r5, #0x0] + add r1, r5, #0x4 + add r2, r4, #0x0 + bl sub_02072548 + add r1, r5, #0x0 + ldr r0, [r5, #0x0] + ldr r2, _020726C4 ; =0x020F97AC + add r1, #0xa4 + bl sub_02072548 + mov r1, #0x51 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726C8 ; =0x020F97FC + add r1, r5, r1 + bl sub_02072548 + ldr r0, _020726CC ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x21 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + ldr r0, [r5, #0x0] + bne _020725F8 + add r1, r5, #0x0 + add r2, r4, #0x0 + add r1, #0x54 + add r2, #0xf0 + bl sub_02072548 + mov r2, #0x46 + add r1, r5, #0x0 + lsl r2, r2, #0x2 + ldr r0, [r5, #0x0] + add r1, #0xf4 + add r2, r4, r2 + bl sub_02072548 + mov r2, #0x65 + lsl r2, r2, #0x2 + add r1, r5, r2 + sub r2, #0x54 + ldr r0, [r5, #0x0] + add r2, r4, r2 + bl sub_02072548 + b _02072622 +_020725F8: + add r1, r5, #0x0 + add r2, r4, #0x0 + add r1, #0x54 + add r2, #0x28 + bl sub_02072548 + add r1, r5, #0x0 + add r2, r4, #0x0 + ldr r0, [r5, #0x0] + add r1, #0xf4 + add r2, #0x78 + bl sub_02072548 + mov r1, #0x65 + lsl r1, r1, #0x2 + add r4, #0xc8 + ldr r0, [r5, #0x0] + add r1, r5, r1 + add r2, r4, #0x0 + bl sub_02072548 +_02072622: + ldr r0, _020726CC ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _02072632 + cmp r0, #0x11 + bne _0207265A +_02072632: + ldr r1, _020726D0 ; =0x020F96EC + add r0, sp, #0x0 + ldrh r3, [r1, #0x38] + add r2, sp, #0x0 + strh r3, [r0, #0x0] + ldrh r3, [r1, #0x3a] + strh r3, [r0, #0x2] + ldrh r3, [r1, #0x3c] + ldrh r1, [r1, #0x3e] + strh r3, [r0, #0x4] + strh r1, [r0, #0x6] + mov r1, #0x16 + strb r1, [r0, #0x2] + mov r1, #0x7d + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + add r1, r5, r1 + bl sub_02019150 + b _02072668 +_0207265A: + mov r1, #0x7d + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726D4 ; =0x020F9724 + add r1, r5, r1 + bl sub_02019150 +_02072668: + mov r1, #0x79 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726D8 ; =0x020F972C + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x81 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726DC ; =0x020F9734 + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x85 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726E0 ; =0x020F973C + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x89 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726E4 ; =0x020F9744 + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x8d + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726E8 ; =0x020F974C + add r1, r5, r1 + bl sub_02019150 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r0, [r5, #0x0] + ldr r2, _020726EC ; =0x020F9754 + add r1, r5, r1 + bl sub_02019150 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_020726C0: .word 0x020F975C +_020726C4: .word 0x020F97AC +_020726C8: .word 0x020F97FC +_020726CC: .word 0x000005A4 +_020726D0: .word 0x020F96EC +_020726D4: .word 0x020F9724 +_020726D8: .word 0x020F972C +_020726DC: .word 0x020F9734 +_020726E0: .word 0x020F973C +_020726E4: .word 0x020F9744 +_020726E8: .word 0x020F974C +_020726EC: .word 0x020F9754 + + thumb_func_start sub_020726F0 +sub_020726F0: ; 0x020726F0 + push {r4-r6, lr} + add r6, r0, #0x0 + mov r5, #0x0 + add r4, r6, #0x4 +_020726F8: + lsl r0, r5, #0x4 + add r0, r4, r0 + bl sub_02019178 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x25 + blo _020726F8 + mov r4, #0x95 + lsl r4, r4, #0x2 + add r0, r6, r4 + bl sub_02019048 + cmp r0, #0x1 + bne _0207271E + add r0, r6, r4 + bl sub_02019178 +_0207271E: + pop {r4-r6, pc} + + thumb_func_start sub_02072720 +sub_02072720: ; 0x02072720 + push {r4, lr} + ldr r2, _020727F8 ; =0x0000069C + add r4, r0, #0x0 + ldr r0, [r4, r2] + add r2, #0x10 + ldr r2, [r4, r2] + mov r1, #0x91 + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x92 + ldr r0, [r4, r2] + add r2, #0x14 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x93 + ldr r0, [r4, r2] + add r2, #0x18 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0xa0 + ldr r0, [r4, r2] + add r2, #0x1c + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0xa1 + ldr r0, [r4, r2] + add r2, #0x20 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x94 + ldr r0, [r4, r2] + add r2, #0x24 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x95 + ldr r0, [r4, r2] + add r2, #0x28 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x96 + ldr r0, [r4, r2] + add r2, #0x2c + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x97 + ldr r0, [r4, r2] + add r2, #0x30 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x98 + ldr r0, [r4, r2] + add r2, #0x34 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x99 + ldr r0, [r4, r2] + add r2, #0x38 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x9a + ldr r0, [r4, r2] + add r2, #0x3c + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x9b + ldr r0, [r4, r2] + add r2, #0x40 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0x9a + ldr r0, [r4, r2] + add r2, #0x44 + ldr r2, [r4, r2] + bl sub_0200A8E0 + ldr r2, _020727F8 ; =0x0000069C + mov r1, #0xa6 + ldr r0, [r4, r2] + add r2, #0x48 + ldr r2, [r4, r2] + bl sub_0200A8E0 + pop {r4, pc} + .balign 4 +_020727F8: .word 0x0000069C + + thumb_func_start sub_020727FC +sub_020727FC: ; 0x020727FC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02072840 ; =0x0000069C + add r4, r2, #0x0 + add r7, r1, #0x0 + add r1, r4, #0x0 + ldr r0, [r5, r0] + add r1, #0x9c + bl sub_0200A914 + add r6, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + add r2, r7, #0x0 + bl sub_0200AD5C + mov r1, #0x6a + add r4, #0xf + lsl r1, r1, #0x4 + lsl r2, r4, #0x2 + ldr r0, [r5, r1] + add r2, r5, r2 + add r1, #0xc + ldr r1, [r2, r1] + add r2, r6, #0x0 + bl sub_0200B7B8 + add r0, r6, #0x0 + bl sub_02021A20 + pop {r3-r7, pc} + nop +_02072840: .word 0x0000069C + + thumb_func_start sub_02072844 +sub_02072844: ; 0x02072844 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r7, r1, #0x0 + lsl r0, r2, #0x1 + mov r1, #0x17 + sub r1, r1, r0 + lsl r1, r1, #0x18 + str r2, [sp, #0x14] + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + mov r1, #0xc + lsl r0, r0, #0x18 + str r1, [sp, #0x4] + lsr r0, r0, #0x18 + mov r1, #0x9 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + lsl r1, r1, #0x6 + str r1, [sp, #0x10] + add r1, #0x14 + ldr r0, [r5, #0x0] + add r1, r5, r1 + mov r3, #0x13 + bl sub_02019064 + ldr r0, [sp, #0x14] + mov r1, #0xc + bl sub_02012838 + ldr r1, _0207294C ; =0x000006F8 + mov r6, #0x0 + str r0, [r5, r1] + ldr r0, [sp, #0x14] + add r4, r6, #0x0 + cmp r0, #0x0 + ble _020728D8 +_02072890: + ldrb r0, [r7, r4] + cmp r0, #0xf + blo _020728B4 + bl sub_02073DA8 + lsl r1, r6, #0x2 + add r2, r0, #0x0 + ldr r0, _0207294C ; =0x000006F8 + add r3, r5, r1 + ldr r1, _02072950 ; =0x000006E8 + ldr r0, [r5, r0] + ldr r1, [r3, r1] + bl sub_020128A0 + add r0, r6, #0x1 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + b _020728CC +_020728B4: + bl sub_02073DA8 + ldrb r1, [r7, r4] + add r2, r0, #0x0 + ldr r0, _0207294C ; =0x000006F8 + lsl r1, r1, #0x2 + add r3, r5, r1 + ldr r1, _02072954 ; =0x000006AC + ldr r0, [r5, r0] + ldr r1, [r3, r1] + bl sub_020128A0 +_020728CC: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [sp, #0x14] + cmp r4, r0 + blt _02072890 +_020728D8: + ldr r0, _0207294C ; =0x000006F8 + mov r1, #0x0 + ldr r0, [r5, r0] + str r0, [sp, #0x18] + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r5, r0 + str r0, [sp, #0x1c] + add r0, sp, #0x18 + strb r1, [r0, #0x8] + mov r1, #0x1 + strb r1, [r0, #0x9] + ldr r1, [sp, #0x14] + strb r1, [r0, #0xa] + ldrb r2, [r0, #0xb] + mov r1, #0xf + bic r2, r1 + strb r2, [r0, #0xb] + ldrb r2, [r0, #0xb] + mov r1, #0x30 + bic r2, r1 + strb r2, [r0, #0xb] + ldr r1, [sp, #0x14] + ldrb r2, [r0, #0xb] + cmp r1, #0x4 + blo _02072918 + mov r1, #0xc0 + bic r2, r1 + mov r1, #0x40 + orr r1, r2 + strb r1, [r0, #0xb] + b _0207291E +_02072918: + mov r1, #0xc0 + bic r2, r1 + strb r2, [r0, #0xb] +_0207291E: + mov r0, #0x95 + lsl r0, r0, #0x2 + mov r1, #0x1 + add r0, r5, r0 + add r2, r1, #0x0 + mov r3, #0xe + bl sub_0200CCA4 + mov r0, #0xc + str r0, [sp, #0x0] + mov r0, #0x2 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x18 + mov r1, #0x8 + add r3, r2, #0x0 + bl sub_02001C14 + ldr r1, _02072958 ; =0x000006FC + str r0, [r5, r1] + add sp, #0x24 + pop {r4-r7, pc} + nop +_0207294C: .word 0x000006F8 +_02072950: .word 0x000006E8 +_02072954: .word 0x000006AC +_02072958: .word 0x000006FC + + thumb_func_start sub_0207295C +sub_0207295C: ; 0x0207295C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _020729C4 ; =0x000005A4 + ldr r2, [r5, r0] + add r1, r2, #0x0 + add r1, #0x20 + ldrb r1, [r1, #0x0] + cmp r1, #0xf + bne _0207297E + ldr r2, _020729C8 ; =0x000006A4 + add r0, #0xf8 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + mov r1, #0x2a + bl sub_0200A8E0 + pop {r4-r6, pc} +_0207297E: + ldr r1, _020729CC ; =0x00000B25 + ldr r0, [r2, #0x0] + ldrb r1, [r5, r1] + bl sub_0206B9B0 + add r6, r0, #0x0 + ldr r0, _020729D0 ; =0x0000069C + mov r1, #0x25 + ldr r0, [r5, r0] + bl sub_0200A914 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + pop {r4-r6, pc} + nop +_020729C4: .word 0x000005A4 +_020729C8: .word 0x000006A4 +_020729CC: .word 0x00000B25 +_020729D0: .word 0x0000069C + + thumb_func_start sub_020729D4 +sub_020729D4: ; 0x020729D4 + push {r3-r4, lr} + sub sp, #0x4 + add r2, r0, #0x0 + mov r0, #0x2 + str r0, [sp, #0x0] + ldr r0, _020729FC ; =0x00000698 + add r4, r1, #0x0 + ldr r0, [r2, r0] + add r3, r2, #0x4 + lsl r2, r4, #0x2 + add r2, r4, r2 + add r2, r2, #0x2 + lsl r2, r2, #0x4 + add r2, r3, r2 + mov r1, #0x0 + mov r3, #0x1c + bl sub_0200B9A8 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_020729FC: .word 0x00000698 + + thumb_func_start sub_02072A00 +sub_02072A00: ; 0x02072A00 + push {r3-r7, lr} + add r7, r1, #0x0 + add r4, r2, #0x0 + add r5, r0, #0x0 + ldr r0, _02072A4C ; =0x0000069C + ldr r1, _02072A50 ; =0x020F96F4 + lsl r2, r4, #0x3 + ldrh r1, [r1, r2] + ldr r0, [r5, r0] + bl sub_0200A914 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r2, #0x6a + mov r1, #0x2c + lsl r2, r2, #0x4 + mul r1, r4 + ldr r0, [r5, r2] + add r1, r5, r1 + add r2, #0x60 + ldr r1, [r1, r2] + add r2, r6, #0x0 + bl sub_0200B7B8 + add r0, r6, #0x0 + bl sub_02021A20 + pop {r3-r7, pc} + nop +_02072A4C: .word 0x0000069C +_02072A50: .word 0x020F96F4 + + thumb_func_start sub_02072A54 +sub_02072A54: ; 0x02072A54 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + lsl r6, r0, #0x4 + add r7, r1, #0x0 + mov r0, #0x2c + mul r7, r0 + mov r1, #0x0 + mov r2, #0x7 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02072B14 ; =0x000F0E00 + add r3, r5, r7 + str r0, [sp, #0x8] + add r4, r5, #0x4 + str r1, [sp, #0xc] + lsl r2, r2, #0x8 + ldr r2, [r3, r2] + add r0, r4, r6 + add r3, r1, #0x0 + bl sub_0201BDE0 + mov r2, #0x71 + add r0, r5, r7 + lsl r2, r2, #0x4 + ldrb r0, [r0, r2] + cmp r0, #0x1 + bne _02072A9C + add r0, r4, r6 + bl sub_02019220 + add sp, #0x10 + pop {r3-r7, pc} +_02072A9C: + sub r0, r2, #0x2 + add r0, r5, r0 + ldrh r0, [r0, r7] + lsl r1, r0, #0x13 + lsr r1, r1, #0x1f + bne _02072B0A + lsl r0, r0, #0x11 + lsr r0, r0, #0x1e + bne _02072ADC + add r0, r2, #0x0 + sub r0, #0x74 + sub r2, #0x68 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + mov r1, #0x1b + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0xc1 + lsl r0, r0, #0xa + str r0, [sp, #0x8] + ldr r2, _02072B18 ; =0x000006A8 + str r1, [sp, #0xc] + ldr r2, [r5, r2] + add r0, r4, r6 + mov r3, #0x40 + bl sub_0201BDE0 + b _02072B0A +_02072ADC: + cmp r0, #0x1 + bne _02072B0A + add r0, r2, #0x0 + sub r0, #0x74 + sub r2, #0x68 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + mov r1, #0x1c + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02072B1C ; =0x00050600 + ldr r2, _02072B18 ; =0x000006A8 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r2, [r5, r2] + add r0, r4, r6 + mov r3, #0x40 + bl sub_0201BDE0 +_02072B0A: + add r0, r4, r6 + bl sub_02019220 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02072B14: .word 0x000F0E00 +_02072B18: .word 0x000006A8 +_02072B1C: .word 0x00050600 + + thumb_func_start sub_02072B20 +sub_02072B20: ; 0x02072B20 + push {r4, lr} + sub sp, #0x10 + lsl r2, r1, #0x2 + add r2, r1, r2 + add r2, r2, #0x1 + add r3, r0, #0x4 + lsl r2, r2, #0x4 + add r4, r3, r2 + mov r2, #0x2c + mul r2, r1 + ldr r3, _02072B78 ; =0x0000070E + add r2, r0, r2 + ldrh r1, [r2, r3] + lsl r1, r1, #0x14 + lsr r1, r1, #0x14 + cmp r1, #0x7 + beq _02072B4C + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0x10 + pop {r4, pc} +_02072B4C: + mov r1, #0x0 + str r1, [sp, #0x0] + str r4, [sp, #0x4] + mov r1, #0x5 + str r1, [sp, #0x8] + mov r1, #0x2 + str r1, [sp, #0xc] + add r1, r3, #0x0 + sub r3, r3, #0x4 + sub r1, #0x76 + ldrh r2, [r2, r3] + ldr r0, [r0, r1] + mov r1, #0x1 + mov r3, #0x3 + bl sub_0200BA78 + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0x10 + pop {r4, pc} + nop +_02072B78: .word 0x0000070E + + thumb_func_start sub_02072B7C +sub_02072B7C: ; 0x02072B7C + push {r4-r5, lr} + sub sp, #0xc + add r2, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x2 + add r3, r2, #0x4 + lsl r0, r0, #0x4 + add r4, r3, r0 + mov r3, #0x2c + mul r3, r1 + add r1, r2, r3 + str r4, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + mov r0, #0x2 + ldr r5, _02072BB8 ; =0x00000698 + str r0, [sp, #0x8] + ldr r0, [r2, r5] + add r5, #0x6e + ldrh r1, [r1, r5] + mov r2, #0x3 + mov r3, #0x1 + bl sub_0200B9EC + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 +_02072BB8: .word 0x00000698 + + thumb_func_start sub_02072BBC +sub_02072BBC: ; 0x02072BBC + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x4 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x2 + lsl r4, r0, #0x4 + mov r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x10 + mov r1, #0x0 + str r0, [sp, #0x4] + add r0, r5, r4 + mov r2, #0x4 + add r3, r1, #0x0 + bl sub_020196F4 + add r0, r5, r4 + bl sub_02019220 + add sp, #0x8 + pop {r3-r5, pc} + + thumb_func_start sub_02072BE8 +sub_02072BE8: ; 0x02072BE8 + push {r4-r5, lr} + sub sp, #0xc + add r2, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x2 + add r3, r2, #0x4 + lsl r0, r0, #0x4 + add r4, r3, r0 + mov r3, #0x2c + mul r3, r1 + add r1, r2, r3 + str r4, [sp, #0x0] + mov r0, #0x24 + str r0, [sp, #0x4] + mov r0, #0x2 + ldr r5, _02072C24 ; =0x00000698 + str r0, [sp, #0x8] + ldr r0, [r2, r5] + add r5, #0x70 + ldrh r1, [r1, r5] + mov r2, #0x3 + mov r3, #0x0 + bl sub_0200B9EC + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 +_02072C24: .word 0x00000698 + + thumb_func_start sub_02072C28 +sub_02072C28: ; 0x02072C28 + push {r4-r7, lr} + sub sp, #0xc + lsl r2, r1, #0x2 + add r2, r1, r2 + add r5, r0, #0x0 + add r2, r2, #0x3 + add r0, r5, #0x4 + lsl r2, r2, #0x4 + add r4, r0, r2 + mov r0, #0x2c + add r6, r1, #0x0 + mul r6, r0 + ldr r0, _02072D0C ; =0x00000708 + mov r2, #0x30 + add r7, r5, r0 + sub r0, r0, #0x2 + add r0, r5, r0 + str r0, [sp, #0x8] + ldrh r0, [r0, r6] + ldrh r1, [r7, r6] + bl sub_02079A54 + cmp r0, #0x4 + bhi _02072CBE + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r2, r0, #0x1 + lsl r2, r5, #0 + lsl r2, r2, #0 + lsl r2, r2, #0 + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0xc + pop {r4-r7, pc} +_02072C78: + .byte 0x63, 0x7A, 0x25, 0x49, 0x01, 0x20, 0x1B, 0x01 + .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x93, 0xF9, 0x16, 0xE0 + .byte 0x63, 0x7A, 0x20, 0x49, 0x01, 0x20, 0x1B, 0x01, 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22 + .byte 0x1B, 0x0C, 0xA5, 0xF7, 0x87, 0xF9, 0x0A, 0xE0, 0x63, 0x7A, 0x1B, 0x49, 0x01, 0x20, 0x1B, 0x01 + .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x7B, 0xF9 +_02072CBE: + ldr r0, [sp, #0x8] + ldrh r1, [r7, r6] + ldrh r0, [r0, r6] + mov r2, #0x30 + bl sub_02079A0C + add r5, r0, #0x0 + str r5, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xa + mov r2, #0x0 + mov r3, #0x2 + bl sub_020196F4 + str r5, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x9 + mov r2, #0x0 + mov r3, #0x3 + bl sub_020196F4 + str r5, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xa + mov r2, #0x0 + mov r3, #0x5 + bl sub_020196F4 + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02072D0C: .word 0x00000708 +_02072D10: + .byte 0xB6, 0x04, 0x00, 0x00, 0xD6, 0x04, 0x00, 0x00, 0xF6, 0x04, 0x00, 0x00 + + thumb_func_start sub_02072D1C +sub_02072D1C: ; 0x02072D1C + push {r3-r7, lr} + sub sp, #0x18 + add r6, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r6, #0x2 + add r4, r6, r0 + add r0, r5, #0x4 + str r0, [sp, #0x0] + lsl r0, r4, #0x4 + ldr r1, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r4, #0x1 + lsl r0, r0, #0x4 + add r7, r5, #0x4 + str r0, [sp, #0x8] + add r0, r7, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r7, #0x0 + str r0, [sp, #0xc] + add r0, r4, #0x2 + lsl r0, r0, #0x4 + ldr r1, [sp, #0xc] + str r0, [sp, #0x10] + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r7, #0x0 + str r0, [sp, #0x14] + add r0, r4, #0x3 + lsl r4, r0, #0x4 + ldr r0, [sp, #0x14] + mov r1, #0x0 + add r0, r0, r4 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072A54 + mov r0, #0x2c + mul r0, r6 + add r1, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _02072DB0 + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x4] + add r0, r1, r0 + bl sub_02019220 + ldr r0, [sp, #0x8] + add r0, r7, r0 + bl sub_02019220 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x10] + add r0, r1, r0 + bl sub_02019220 + ldr r0, [sp, #0x14] + add r0, r0, r4 + bl sub_02019220 + add sp, #0x18 + pop {r3-r7, pc} +_02072DB0: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_020729D4 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072B20 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072B7C + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072BE8 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02072C28 + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_02072DDC +sub_02072DDC: ; 0x02072DDC + push {r3-r5, lr} + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r4, r1, r0 + add r1, r5, #0x4 + lsl r0, r4, #0x4 + add r0, r1, r0 + bl sub_02019548 + add r0, r4, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_02019548 + add r0, r4, #0x2 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_02019548 + add r0, r4, #0x3 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_02019548 + pop {r3-r5, pc} + + thumb_func_start sub_02072E14 +sub_02072E14: ; 0x02072E14 + push {r3-r5, lr} + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r4, r1, r0 + add r1, r5, #0x4 + lsl r0, r4, #0x4 + add r0, r1, r0 + bl sub_0201958C + add r0, r4, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_0201958C + add r0, r4, #0x2 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_0201958C + add r0, r4, #0x3 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_0201958C + pop {r3-r5, pc} + + thumb_func_start sub_02072E4C +sub_02072E4C: ; 0x02072E4C + push {r3-r6, lr} + sub sp, #0x4 + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x2 + add r6, r4, r0 + add r1, r5, #0x4 + lsl r0, r6, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r6, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072A54 + mov r0, #0x2c + mul r0, r4 + add r1, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _02072E98 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020732F4 + add sp, #0x4 + pop {r3-r6, pc} +_02072E98: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072B20 + ldr r0, _02072EE0 ; =0x000005A4 + add r1, r4, #0x0 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + mov r0, #0x0 + ldr r3, _02072EE0 ; =0x000005A4 + str r0, [sp, #0x0] + ldr r3, [r5, r3] + mov r2, #0x3 + ldrh r3, [r3, #0x24] + bl sub_02069168 + cmp r0, #0x0 + bne _02072ED0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020732F4 + add sp, #0x4 + pop {r3-r6, pc} +_02072ED0: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020732F4 + add sp, #0x4 + pop {r3-r6, pc} + nop +_02072EE0: .word 0x000005A4 + + thumb_func_start sub_02072EE4 +sub_02072EE4: ; 0x02072EE4 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x2 + add r6, r4, r0 + add r1, r5, #0x4 + lsl r0, r6, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r6, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072A54 + mov r0, #0x2c + mul r0, r4 + add r1, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _02072F2C + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_02073364 + pop {r4-r6, pc} +_02072F2C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072B20 + ldr r0, _02072F74 ; =0x000005A4 + add r1, r4, #0x0 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl sub_02076AA0 + cmp r0, #0xff + bne _02072F58 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_02073364 + pop {r4-r6, pc} +_02072F58: + cmp r0, #0xfd + bne _02072F68 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_02073364 + pop {r4-r6, pc} +_02072F68: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_02073364 + pop {r4-r6, pc} + .balign 4 +_02072F74: .word 0x000005A4 + + thumb_func_start sub_02072F78 +sub_02072F78: ; 0x02072F78 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x2 + add r6, r4, r0 + add r1, r5, #0x4 + lsl r0, r6, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r6, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072A54 + mov r0, #0x2c + add r6, r4, #0x0 + mul r6, r0 + mov r0, #0x71 + add r1, r5, r6 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + beq _02072FBE + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072B20 +_02072FBE: + ldr r2, _02072FD8 ; =0x0000070E + add r3, r5, r6 + ldrh r2, [r3, r2] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsl r2, r2, #0x10 + lsr r2, r2, #0x1f + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_020733E4 + pop {r4-r6, pc} + nop +_02072FD8: .word 0x0000070E + + thumb_func_start sub_02072FDC +sub_02072FDC: ; 0x02072FDC + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + lsl r0, r4, #0x2 + add r6, r4, r0 + add r1, r5, #0x4 + lsl r0, r6, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r6, #0x1 + add r1, r5, #0x4 + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072A54 + mov r0, #0x2c + mul r0, r4 + add r1, r5, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + beq _02073020 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02072B20 +_02073020: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02073024 +sub_02073024: ; 0x02073024 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _02073080 ; =0x000005A4 + add r4, r1, #0x0 + ldr r1, [r5, r0] + mov r2, #0x0 + add r0, r1, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r3, r0, #0x1c + beq _0207305C + add r0, r4, #0x1 +_0207303E: + add r6, r1, r2 + add r6, #0x2c + ldrb r6, [r6, #0x0] + cmp r0, r6 + bne _02073052 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073448 + pop {r4-r6, pc} +_02073052: + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + cmp r2, r3 + blo _0207303E +_0207305C: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02071340 + cmp r0, #0x0 + bne _02073074 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x8 + bl sub_02073448 + pop {r4-r6, pc} +_02073074: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x7 + bl sub_02073448 + pop {r4-r6, pc} + .balign 4 +_02073080: .word 0x000005A4 + + thumb_func_start sub_02073084 +sub_02073084: ; 0x02073084 + push {r4, lr} + add r4, r2, #0x0 + mov r2, #0x0 + bl sub_02002E14 + sub r0, r4, r0 + lsr r0, r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_02073094 +sub_02073094: ; 0x02073094 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x79 + lsl r0, r0, #0x2 + add r4, r1, #0x0 + add r0, r5, r0 + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x7d + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x1 + tst r0, r4 + beq _020730FE + ldr r2, _0207314C ; =0x0000069C + mov r1, #0x0 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + ldr r2, _02073150 ; =0x000001EB + ldr r1, _02073154 ; =0x000006A8 + ldrb r2, [r5, r2] + ldr r1, [r5, r1] + mov r0, #0x0 + lsl r2, r2, #0x3 + bl sub_02073084 + mov r1, #0x0 + add r3, r0, #0x0 + str r1, [sp, #0x0] + mov r2, #0xff + str r2, [sp, #0x4] + ldr r0, _02073158 ; =0x000F0E00 + add r2, #0xe5 + str r0, [sp, #0x8] + add r0, r5, r2 + ldr r2, _02073154 ; =0x000006A8 + str r1, [sp, #0xc] + ldr r2, [r5, r2] + bl sub_0201BDE0 + mov r0, #0x79 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 +_020730FE: + mov r0, #0x2 + tst r0, r4 + beq _02073148 + ldr r2, _0207314C ; =0x0000069C + mov r1, #0x1 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + ldr r2, _0207315C ; =0x000001FB + ldr r1, _02073154 ; =0x000006A8 + ldrb r2, [r5, r2] + ldr r1, [r5, r1] + mov r0, #0x0 + lsl r2, r2, #0x3 + bl sub_02073084 + mov r1, #0x0 + add r3, r0, #0x0 + str r1, [sp, #0x0] + mov r2, #0xff + str r2, [sp, #0x4] + ldr r0, _02073158 ; =0x000F0E00 + add r2, #0xf5 + str r0, [sp, #0x8] + add r0, r5, r2 + ldr r2, _02073154 ; =0x000006A8 + str r1, [sp, #0xc] + ldr r2, [r5, r2] + bl sub_0201BDE0 + mov r0, #0x7d + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 +_02073148: + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_0207314C: .word 0x0000069C +_02073150: .word 0x000001EB +_02073154: .word 0x000006A8 +_02073158: .word 0x000F0E00 +_0207315C: .word 0x000001FB + + thumb_func_start sub_02073160 +sub_02073160: ; 0x02073160 + push {r3-r6, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r3, #0x1 + bne _0207317A + add r0, r4, #0x0 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xf + bl sub_0200D0BC +_0207317A: + add r0, r4, #0x0 + mov r1, #0xf + bl sub_02019620 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _02073198 + ldr r2, _020731B8 ; =0x0000069C + add r1, r6, #0x0 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 +_02073198: + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r2, _020731BC ; =0x000006A4 + str r3, [sp, #0x8] + ldr r2, [r5, r2] + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02019220 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_020731B8: .word 0x0000069C +_020731BC: .word 0x000006A4 + + thumb_func_start sub_020731C0 +sub_020731C0: ; 0x020731C0 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x81 + lsl r1, r1, #0x2 + add r3, r2, #0x0 + add r1, r0, r1 + add r2, r4, #0x0 + bl sub_02073160 + pop {r4, pc} + + thumb_func_start sub_020731D4 +sub_020731D4: ; 0x020731D4 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x85 + lsl r1, r1, #0x2 + add r3, r2, #0x0 + add r1, r0, r1 + add r2, r4, #0x0 + bl sub_02073160 + pop {r4, pc} + + thumb_func_start sub_020731E8 +sub_020731E8: ; 0x020731E8 + push {r4-r6, lr} + mov r6, #0x89 + add r5, r0, #0x0 + add r4, r1, #0x0 + lsl r6, r6, #0x2 + cmp r2, #0x1 + bne _02073202 + add r0, r5, r6 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xf + bl sub_0200D0BC +_02073202: + add r0, r5, r6 + mov r1, #0xf + bl sub_02019620 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _02073220 + ldr r2, _02073228 ; =0x0000069C + add r1, r4, #0x0 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 +_02073220: + add r0, r5, #0x0 + bl sub_0207322C + pop {r4-r6, pc} + .balign 4 +_02073228: .word 0x0000069C + + thumb_func_start sub_0207322C +sub_0207322C: ; 0x0207322C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + mov r0, #0x1 + bl sub_02002B60 + mov r0, #0x0 + bl sub_02002B7C + ldr r0, _0207326C ; =0x000005A4 + ldr r0, [r4, r0] + ldr r0, [r0, #0xc] + bl sub_02024FF4 + mov r3, #0x0 + str r3, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02073270 ; =sub_0207327C + ldr r2, _02073274 ; =0x000006A4 + str r0, [sp, #0x8] + mov r0, #0x89 + lsl r0, r0, #0x2 + ldr r2, [r4, r2] + add r0, r4, r0 + mov r1, #0x1 + bl sub_0201BD84 + ldr r1, _02073278 ; =0x00000B24 + strb r0, [r4, r1] + add sp, #0xc + pop {r3-r4, pc} + nop +_0207326C: .word 0x000005A4 +_02073270: .word sub_0207327C + 1 +_02073274: .word 0x000006A4 +_02073278: .word 0x00000B24 + + thumb_func_start sub_0207327C +sub_0207327C: ; 0x0207327C + push {r3, lr} + cmp r1, #0x5 + bhi _020732BE + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r5, #0 + lsl r2, r1, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + bl sub_02005514 + pop {r3, pc} +_020732A0: + .byte 0x92, 0xF7, 0x0C, 0xFD, 0x08, 0xBD, 0x07, 0x48, 0x92, 0xF7, 0x0E, 0xF9, 0x07, 0xE0, 0x06, 0x48 + .byte 0x92, 0xF7, 0xBA, 0xFC, 0x03, 0xE0, 0x03, 0x48, 0x92, 0xF7, 0x26, 0xF9, 0x08, 0xBD +_020732BE: + mov r0, #0x0 + pop {r3, pc} + nop +_020732C4: + .byte 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 + + thumb_func_start sub_020732CC +sub_020732CC: ; 0x020732CC + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0xc + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r1, _020732EC ; =0x020F96EC + mov r2, #0x1 + mov r3, #0xe + bl sub_02002198 + ldr r1, _020732F0 ; =0x000006FC + str r0, [r4, r1] + add sp, #0x4 + pop {r3-r4, pc} + nop +_020732EC: .word 0x020F96EC +_020732F0: .word 0x000006FC + + thumb_func_start sub_020732F4 +sub_020732F4: ; 0x020732F4 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x4 + add r4, r5, #0x4 + lsl r6, r0, #0x4 + add r0, r4, r6 + mov r1, #0x0 + add r7, r2, #0x0 + bl sub_02019620 + cmp r7, #0x0 + beq _02073318 + cmp r7, #0x1 + beq _02073326 + b _02073332 +_02073318: + ldr r0, _0207335C ; =0x0000069C + mov r1, #0xb2 + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x10] + b _02073332 +_02073326: + ldr r0, _0207335C ; =0x0000069C + mov r1, #0xb3 + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x10] +_02073332: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02073360 ; =0x000F0E00 + ldr r2, [sp, #0x10] + str r0, [sp, #0x8] + add r0, r4, r6 + add r3, r1, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 + ldr r0, [sp, #0x10] + bl sub_02021A20 + add r0, r4, r6 + bl sub_02019220 + add sp, #0x14 + pop {r4-r7, pc} + nop +_0207335C: .word 0x0000069C +_02073360: .word 0x000F0E00 + + thumb_func_start sub_02073364 +sub_02073364: ; 0x02073364 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x4 + add r4, r5, #0x4 + lsl r7, r0, #0x4 + add r0, r4, r7 + mov r1, #0x0 + add r6, r2, #0x0 + bl sub_02019620 + cmp r6, #0x0 + beq _0207338C + cmp r6, #0x1 + beq _0207339A + cmp r6, #0x2 + beq _020733A8 + b _020733B4 +_0207338C: + ldr r0, _020733DC ; =0x0000069C + mov r1, #0xaf + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x10] + b _020733B4 +_0207339A: + ldr r0, _020733DC ; =0x0000069C + mov r1, #0xb0 + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x10] + b _020733B4 +_020733A8: + ldr r0, _020733DC ; =0x0000069C + mov r1, #0xb1 + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x10] +_020733B4: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _020733E0 ; =0x000F0E00 + ldr r2, [sp, #0x10] + str r0, [sp, #0x8] + add r0, r4, r7 + add r3, r1, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 + ldr r0, [sp, #0x10] + bl sub_02021A20 + add r0, r4, r7 + bl sub_02019220 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_020733DC: .word 0x0000069C +_020733E0: .word 0x000F0E00 + + thumb_func_start sub_020733E4 +sub_020733E4: ; 0x020733E4 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x4 + add r4, r5, #0x4 + lsl r6, r0, #0x4 + add r0, r4, r6 + mov r1, #0x0 + add r7, r2, #0x0 + bl sub_02019620 + cmp r7, #0x0 + ldr r0, _02073440 ; =0x0000069C + bne _0207340E + ldr r0, [r5, r0] + mov r1, #0xb5 + bl sub_0200A914 + b _02073416 +_0207340E: + ldr r0, [r5, r0] + mov r1, #0xb4 + bl sub_0200A914 +_02073416: + mov r1, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02073444 ; =0x000F0E00 + add r2, r5, #0x0 + str r0, [sp, #0x8] + add r0, r4, r6 + add r3, r1, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 + add r0, r5, #0x0 + bl sub_02021A20 + add r0, r4, r6 + bl sub_02019220 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02073440: .word 0x0000069C +_02073444: .word 0x000F0E00 + + thumb_func_start sub_02073448 +sub_02073448: ; 0x02073448 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + lsl r0, r1, #0x2 + add r0, r1, r0 + add r0, r0, #0x4 + add r4, r5, #0x4 + lsl r7, r0, #0x4 + add r0, r4, r7 + mov r1, #0x0 + add r6, r2, #0x0 + bl sub_02019620 + cmp r6, #0x6 + ldr r0, _020734B8 ; =0x0000069C + bhs _02073476 + add r6, #0xa9 + ldr r0, [r5, r0] + add r1, r6, #0x0 + bl sub_0200A914 + add r5, r0, #0x0 + b _02073490 +_02073476: + cmp r6, #0x7 + bne _02073486 + ldr r0, [r5, r0] + mov r1, #0xa7 + bl sub_0200A914 + add r5, r0, #0x0 + b _02073490 +_02073486: + ldr r0, [r5, r0] + mov r1, #0xa8 + bl sub_0200A914 + add r5, r0, #0x0 +_02073490: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _020734BC ; =0x000F0E00 + add r2, r5, #0x0 + str r0, [sp, #0x8] + add r0, r4, r7 + add r3, r1, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 + add r0, r5, #0x0 + bl sub_02021A20 + add r0, r4, r7 + bl sub_02019220 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_020734B8: .word 0x0000069C +_020734BC: .word 0x000F0E00 + + thumb_func_start sub_020734C0 +sub_020734C0: ; 0x020734C0 + push {r4-r7, lr} + sub sp, #0x2c + add r5, r0, #0x0 + ldr r0, _02073628 ; =0x000005A4 + ldr r1, _0207362C ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xa3 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0xa4 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0x2] + add r0, r4, #0x0 + mov r1, #0xa5 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0x4] + add r0, r4, #0x0 + mov r1, #0xa7 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0x6] + add r0, r4, #0x0 + mov r1, #0xa8 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0x8] + add r0, r4, #0x0 + mov r1, #0xa6 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x20 + strh r0, [r1, #0xa] + mov r3, #0x1 + mov r1, #0x9 + str r3, [sp, #0x0] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0xc + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + lsl r1, r1, #0x6 + str r1, [sp, #0x10] + add r1, #0x14 + ldr r0, [r5, #0x0] + add r1, r5, r1 + bl sub_02019064 + mov r0, #0x95 + lsl r0, r0, #0x2 + mov r1, #0x1 + add r0, r5, r0 + add r2, r1, #0x0 + mov r3, #0xe + bl sub_0200CCA4 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xf + bl sub_02019620 + mov r4, #0x0 + str r4, [sp, #0x14] + add r7, r5, #0x0 + add r6, sp, #0x20 +_0207356C: + ldr r0, _02073630 ; =0x0000069C + ldr r1, [sp, #0x14] + ldr r0, [r5, r0] + add r1, #0xb9 + bl sub_0200A914 + str r0, [sp, #0x18] + mov r1, #0x0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r0, #0x95 + lsl r0, r0, #0x2 + ldr r2, [sp, #0x18] + add r0, r5, r0 + add r3, r1, #0x0 + bl sub_0201BD84 + ldr r0, [sp, #0x18] + bl sub_02021A20 + ldr r0, _02073630 ; =0x0000069C + mov r1, #0xbf + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0x1c] + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, _02073634 ; =0x00000B28 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldrh r3, [r6, #0x0] + ldrh r2, [r7, r2] + ldr r0, [r5, r0] + mov r1, #0x0 + sub r2, r3, r2 + mov r3, #0x2 + bl sub_0200AD38 + mov r0, #0x6a + ldr r1, _02073638 ; =0x000006A4 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r2, [sp, #0x1c] + bl sub_0200B7B8 + ldr r0, [sp, #0x1c] + bl sub_02021A20 + ldr r1, _02073638 ; =0x000006A4 + mov r0, #0x0 + ldr r1, [r5, r1] + add r2, r0, #0x0 + bl sub_02002E14 + mov r1, #0x68 + sub r3, r1, r0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r2, _02073638 ; =0x000006A4 + mov r0, #0x95 + lsl r0, r0, #0x2 + ldr r2, [r5, r2] + add r0, r5, r0 + mov r1, #0x0 + bl sub_0201BD84 + ldrh r1, [r6, #0x0] + ldr r0, _02073634 ; =0x00000B28 + add r4, #0x10 + strh r1, [r7, r0] + ldr r0, [sp, #0x14] + add r7, r7, #0x2 + add r0, r0, #0x1 + add r6, r6, #0x2 + str r0, [sp, #0x14] + cmp r0, #0x6 + blo _0207356C + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + add sp, #0x2c + pop {r4-r7, pc} + .balign 4 +_02073628: .word 0x000005A4 +_0207362C: .word 0x00000B25 +_02073630: .word 0x0000069C +_02073634: .word 0x00000B28 +_02073638: .word 0x000006A4 + + thumb_func_start sub_0207363C +sub_0207363C: ; 0x0207363C + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + mov r0, #0x70 + str r0, [sp, #0x4] + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xf + mov r2, #0x50 + mov r3, #0x0 + bl sub_020196F4 + ldr r0, _020736E8 ; =0x0000069C + mov r1, #0xc0 + ldr r0, [r5, r0] + bl sub_0200A914 + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + add r6, r5, #0x0 + add r4, r0, #0x0 +_0207366E: + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r2, _020736EC ; =0x00000B28 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldrh r2, [r6, r2] + ldr r0, [r5, r0] + mov r1, #0x0 + mov r3, #0x3 + bl sub_0200AD38 + mov r0, #0x6a + ldr r1, _020736F0 ; =0x000006A4 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r2, [sp, #0xc] + bl sub_0200B7B8 + ldr r1, _020736F0 ; =0x000006A4 + mov r0, #0x0 + ldr r1, [r5, r1] + add r2, r0, #0x0 + bl sub_02002E14 + add r7, r0, #0x0 + mov r3, #0x68 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r2, _020736F0 ; =0x000006A4 + mov r0, #0x95 + lsl r0, r0, #0x2 + ldr r2, [r5, r2] + add r0, r5, r0 + mov r1, #0x0 + sub r3, r3, r7 + bl sub_0201BD84 + ldr r0, [sp, #0x10] + add r6, r6, #0x2 + add r0, r0, #0x1 + add r4, #0x10 + str r0, [sp, #0x10] + cmp r0, #0x6 + blo _0207366E + ldr r0, [sp, #0xc] + bl sub_02021A20 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + add sp, #0x14 + pop {r4-r7, pc} + nop +_020736E8: .word 0x0000069C +_020736EC: .word 0x00000B28 +_020736F0: .word 0x000006A4 + + thumb_func_start sub_020736F4 +sub_020736F4: ; 0x020736F4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl sub_0200CCF8 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + pop {r4, pc} + + thumb_func_start sub_02073710 +sub_02073710: ; 0x02073710 + push {r3-r7, lr} + sub sp, #0x50 + add r4, r0, #0x0 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E74C + mov r0, #0x20 + mov r1, #0xc + bl sub_0201C24C + mov r0, #0xc + bl sub_0200BB14 + ldr r1, _020737BC ; =0x000005A8 + str r0, [r4, r1] + ldr r0, [r4, r1] + bl sub_0200BB34 + ldr r7, _020737C0 ; =0x000005AC + add r2, sp, #0x30 + ldr r3, _020737C4 ; =0x020F98F4 + str r0, [r4, r7] + ldmia r3!, {r0-r1} + add r6, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + ldr r5, _020737C8 ; =0x020F98C4 + stmia r2!, {r0-r1} + add r3, sp, #0x1c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + str r0, [r3, #0x0] + sub r0, r7, #0x4 + ldr r0, [r4, r0] + mov r3, #0x20 + bl sub_0200BB6C + sub r1, r7, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + mov r2, #0x23 + bl sub_0200BBF0 + sub r0, r7, #0x4 + ldr r0, [r4, r0] + bl sub_0200BB68 + mov r2, #0x1 + mov r1, #0x0 + lsl r2, r2, #0x14 + bl sub_02008D24 + ldr r5, _020737CC ; =0x020F98D8 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + sub r1, r7, #0x4 + str r0, [r3, #0x0] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + bl sub_0200BD20 + add sp, #0x50 + pop {r3-r7, pc} + .balign 4 +_020737BC: .word 0x000005A8 +_020737C0: .word 0x000005AC +_020737C4: .word 0x020F98F4 +_020737C8: .word 0x020F98C4 +_020737CC: .word 0x020F98D8 + + thumb_func_start sub_020737D0 +sub_020737D0: ; 0x020737D0 + push {r4-r7, lr} + sub sp, #0x3c + add r5, r0, #0x0 + ldr r0, _02073878 ; =0x000005A4 + str r3, [sp, #0x8] + ldr r0, [r5, r0] + add r4, r2, #0x0 + ldr r0, [r0, #0x0] + add r7, r1, #0x0 + bl sub_0206B9B0 + lsl r1, r4, #0x10 + asr r6, r1, #0x10 + mov r1, #0x2c + mul r1, r7 + str r1, [sp, #0xc] + add r2, r5, r1 + ldr r1, _0207387C ; =0x00000716 + str r0, [sp, #0x10] + strh r6, [r2, r1] + ldr r3, [sp, #0x8] + add r1, r1, #0x2 + lsl r3, r3, #0x10 + asr r4, r3, #0x10 + strh r4, [r2, r1] + add r7, r7, #0x4 + bl sub_0206B6C8 + add r3, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, _02073880 ; =0x000005A8 + str r7, [sp, #0x4] + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + mov r2, #0x13 + bl sub_0200C9D8 + ldr r0, [sp, #0x10] + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + str r7, [sp, #0x14] + add r0, sp, #0x14 + strh r6, [r0, #0x4] + strh r4, [r0, #0x6] + mov r1, #0x0 + strh r1, [r0, #0x8] + strh r1, [r0, #0xa] + ldr r0, [sp, #0xc] + str r1, [sp, #0x20] + ldr r1, _02073884 ; =0x00000704 + add r3, r5, r0 + ldrh r0, [r3, r1] + add r1, #0xd + ldrb r1, [r3, r1] + bl sub_0206B7BC + add r0, r0, #0x3 + str r0, [sp, #0x24] + mov r0, #0x1 + str r0, [sp, #0x28] + mov r0, #0x0 + ldr r1, _02073880 ; =0x000005A8 + str r0, [sp, #0x2c] + str r0, [sp, #0x30] + str r0, [sp, #0x34] + str r0, [sp, #0x38] + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, sp, #0x14 + bl sub_0200BE38 + ldr r1, [sp, #0xc] + add r2, r5, r1 + ldr r1, _02073888 ; =0x00000724 + str r0, [r2, r1] + add sp, #0x3c + pop {r4-r7, pc} + nop +_02073878: .word 0x000005A4 +_0207387C: .word 0x00000716 +_02073880: .word 0x000005A8 +_02073884: .word 0x00000704 +_02073888: .word 0x00000724 + + thumb_func_start sub_0207388C +sub_0207388C: ; 0x0207388C + push {r4-r7, lr} + sub sp, #0x14 + ldr r1, _020739AC ; =0x000005A8 + add r5, r0, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + ldr r2, _020739B0 ; =0x020F9914 + bl sub_0200BE38 + ldr r1, _020739B4 ; =0x000005C8 + ldr r2, _020739B8 ; =0x020F993C + str r0, [r5, r1] + add r0, r1, #0x0 + sub r0, #0x20 + sub r1, #0x1c + ldr r0, [r5, r0] + ldr r1, [r5, r1] + bl sub_0200BE38 + ldr r1, _020739BC ; =0x000005CC + ldr r2, _020739C0 ; =0x020F9964 + str r0, [r5, r1] + add r0, r1, #0x0 + sub r0, #0x24 + sub r1, #0x20 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + bl sub_0200BE38 + mov r1, #0x5d + lsl r1, r1, #0x4 + str r0, [r5, r1] + add r0, r1, #0x0 + sub r0, #0x28 + sub r1, #0x24 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r2, _020739C4 ; =0x020F998C + bl sub_0200BE38 + ldr r1, _020739C8 ; =0x000005D4 + ldr r2, _020739CC ; =0x020F9C84 + str r0, [r5, r1] + add r0, r1, #0x0 + sub r0, #0x2c + sub r1, #0x28 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + bl sub_0200BE38 + mov r1, #0x62 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, _020739B0 ; =0x020F9914 + mov r4, #0x0 + str r4, [sp, #0x4] + add r6, r5, #0x0 + str r0, [sp, #0x0] + add r7, r5, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + str r0, [sp, #0x10] +_0207390A: + ldr r0, _020739AC ; =0x000005A8 + ldr r1, _020739D0 ; =0x000005AC + add r3, r4, #0x0 + ldr r2, [sp, #0x8] + add r3, #0xa0 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + add r2, r2, r3 + bl sub_0200BE38 + ldr r1, _020739D4 ; =0x000005D8 + str r0, [r6, r1] + ldr r1, [sp, #0x0] + mov r0, #0xa4 + ldrsh r1, [r1, r0] + ldr r0, _020739D8 ; =0x0000071A + strh r1, [r7, r0] + ldr r1, [sp, #0x0] + mov r0, #0xa6 + ldrsh r1, [r1, r0] + ldr r0, _020739DC ; =0x0000071C + strh r1, [r7, r0] + ldr r0, _020739D4 ; =0x000005D8 + mov r1, #0x0 + ldr r0, [r6, r0] + bl sub_020200A0 + mov r2, #0x19 + ldr r0, _020739AC ; =0x000005A8 + ldr r1, _020739D0 ; =0x000005AC + lsl r2, r2, #0x4 + add r3, r4, r2 + ldr r2, [sp, #0xc] + ldr r0, [r5, r0] + ldr r1, [r5, r1] + add r2, r2, r3 + bl sub_0200BE38 + mov r1, #0x5f + lsl r1, r1, #0x4 + mov r2, #0xa + str r0, [r6, r1] + add r0, r1, #0x0 + lsl r2, r2, #0x6 + sub r0, #0x48 + sub r1, #0x44 + add r3, r4, r2 + ldr r2, [sp, #0x10] + ldr r0, [r5, r0] + ldr r1, [r5, r1] + add r2, r2, r3 + bl sub_0200BE38 + ldr r1, _020739E0 ; =0x00000608 + add r4, #0x28 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + add r6, r6, #0x4 + add r0, #0x28 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r7, #0x2c + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, #0x6 + blo _0207390A + add r0, r1, #0x0 + sub r0, #0x3c + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + add sp, #0x14 + pop {r4-r7, pc} + nop +_020739AC: .word 0x000005A8 +_020739B0: .word 0x020F9914 +_020739B4: .word 0x000005C8 +_020739B8: .word 0x020F993C +_020739BC: .word 0x000005CC +_020739C0: .word 0x020F9964 +_020739C4: .word 0x020F998C +_020739C8: .word 0x000005D4 +_020739CC: .word 0x020F9C84 +_020739D0: .word 0x000005AC +_020739D4: .word 0x000005D8 +_020739D8: .word 0x0000071A +_020739DC: .word 0x0000071C +_020739E0: .word 0x00000608 + + thumb_func_start sub_020739E4 +sub_020739E4: ; 0x020739E4 + push {r3-r5, lr} + sub sp, #0x28 + add r4, r1, #0x0 + mov r1, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + add r0, sp, #0x0 + strh r2, [r0, #0x4] + strh r3, [r0, #0x6] + strh r1, [r0, #0x8] + strh r1, [r0, #0xa] + mov r0, #0x1 + str r1, [sp, #0x10] + str r1, [sp, #0x18] + str r1, [sp, #0x1c] + str r1, [sp, #0x20] + str r1, [sp, #0x24] + ldr r1, _02073A28 ; =0x000005A8 + str r0, [sp, #0xc] + str r0, [sp, #0x14] + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, sp, #0x0 + bl sub_0200BE38 + lsl r1, r4, #0x2 + add r2, r5, r1 + mov r1, #0x5b + lsl r1, r1, #0x4 + str r0, [r2, r1] + add sp, #0x28 + pop {r3-r5, pc} + nop +_02073A28: .word 0x000005A8 + + thumb_func_start sub_02073A2C +sub_02073A2C: ; 0x02073A2C + push {r4, lr} + ldr r1, _02073A48 ; =0x000005A8 + add r4, r0, #0x0 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + bl sub_0200BCE0 + ldr r0, _02073A48 ; =0x000005A8 + ldr r0, [r4, r0] + bl sub_0200BD04 + pop {r4, pc} + nop +_02073A48: .word 0x000005A8 + + thumb_func_start sub_02073A4C +sub_02073A4C: ; 0x02073A4C + push {r3-r5, lr} + mov r3, #0x5b + lsl r3, r3, #0x4 + add r1, #0xa + add r5, r0, r3 + lsl r4, r1, #0x2 + cmp r2, #0x7 + ldr r0, [r5, r4] + bne _02073A66 + mov r1, #0x0 + bl sub_020200A0 + pop {r3-r5, pc} +_02073A66: + add r1, r2, #0x0 + bl sub_02020130 + ldr r0, [r5, r4] + mov r1, #0x1 + bl sub_020200A0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02073A78 +sub_02073A78: ; 0x02073A78 + push {r3-r5, lr} + mov r3, #0x5b + lsl r3, r3, #0x4 + add r1, #0x10 + add r5, r0, r3 + lsl r4, r1, #0x2 + cmp r2, #0x0 + bne _02073A92 + ldr r0, [r5, r4] + mov r1, #0x0 + bl sub_020200A0 + pop {r3-r5, pc} +_02073A92: + add r0, r2, #0x0 + bl sub_0206EA98 + cmp r0, #0x1 + ldr r0, [r5, r4] + bne _02073AA6 + mov r1, #0x1 + bl sub_02020130 + b _02073AAC +_02073AA6: + mov r1, #0x0 + bl sub_02020130 +_02073AAC: + ldr r0, [r5, r4] + mov r1, #0x1 + bl sub_020200A0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02073AB8 +sub_02073AB8: ; 0x02073AB8 + push {r3-r5, lr} + mov r2, #0x5b + lsl r2, r2, #0x4 + add r1, #0x10 + lsl r4, r1, #0x2 + add r5, r0, r2 + ldr r0, [r5, r4] + mov r1, #0x1 + bl sub_02020130 + ldr r0, [r5, r4] + mov r1, #0x1 + bl sub_020200A0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02073AD8 +sub_02073AD8: ; 0x02073AD8 + push {r4-r6, lr} + ldr r6, _02073B08 ; =0x0000071E + add r5, r1, #0x0 + mov r4, #0x2c + mul r5, r4 + add r1, #0x10 + lsl r1, r1, #0x2 + add r4, r0, r6 + add r2, #0x8 + strh r2, [r4, r5] + add r2, r6, #0x2 + add r2, r0, r2 + add r3, #0x8 + add r1, r0, r1 + mov r0, #0x5b + strh r3, [r2, r5] + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + ldrsh r1, [r4, r5] + ldrsh r2, [r2, r5] + bl sub_0200C6E4 + pop {r4-r6, pc} + nop +_02073B08: .word 0x0000071E + + thumb_func_start sub_02073B0C +sub_02073B0C: ; 0x02073B0C + add r2, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x2c + mul r3, r0 + add r1, #0x16 + lsl r0, r1, #0x2 + add r1, r2, r0 + mov r0, #0x5b + add r3, r2, r3 + lsl r0, r0, #0x4 + ldr r2, _02073B34 ; =0x0000071E + ldr r0, [r1, r0] + ldrsh r1, [r3, r2] + add r2, r2, #0x2 + ldrsh r2, [r3, r2] + add r1, #0x8 + lsl r1, r1, #0x10 + ldr r3, _02073B38 ; =sub_0200C6E4 + asr r1, r1, #0x10 + bx r3 + .balign 4 +_02073B34: .word 0x0000071E +_02073B38: .word sub_0200C6E4 + 1 + + thumb_func_start sub_02073B3C +sub_02073B3C: ; 0x02073B3C + push {r4, lr} + mov r2, #0x5b + mov r4, #0x2c + lsl r2, r2, #0x4 + add r3, r0, r2 + add r2, r1, #0x0 + mul r4, r1 + add r1, r0, r4 + ldr r0, _02073B6C ; =0x00000712 + add r2, #0x16 + ldrh r0, [r1, r0] + lsl r2, r2, #0x2 + cmp r0, #0x0 + ldr r0, [r3, r2] + bne _02073B62 + mov r1, #0x0 + bl sub_020200A0 + pop {r4, pc} +_02073B62: + mov r1, #0x1 + bl sub_020200A0 + pop {r4, pc} + nop +_02073B6C: .word 0x00000712 + + thumb_func_start sub_02073B70 +sub_02073B70: ; 0x02073B70 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020201DC + cmp r4, r0 + beq _02073B8E + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02020208 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02020130 +_02073B8E: + pop {r3-r5, pc} + + thumb_func_start sub_02073B90 +sub_02073B90: ; 0x02073B90 + push {r3, lr} + add r2, r0, #0x0 + ldrh r0, [r2, #0x6] + cmp r0, #0x0 + bne _02073B9E + mov r0, #0x0 + pop {r3, pc} +_02073B9E: + ldrh r1, [r2, #0xe] + lsl r1, r1, #0x14 + lsr r1, r1, #0x14 + cmp r1, #0x7 + beq _02073BB4 + cmp r1, #0x0 + beq _02073BB4 + cmp r1, #0x6 + beq _02073BB4 + mov r0, #0x5 + pop {r3, pc} +_02073BB4: + ldrh r1, [r2, #0x8] + mov r2, #0x30 + bl sub_02079A54 + cmp r0, #0x4 + bhi _02073BE6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r3, #0 + lsl r4, r2, #0 + lsl r0, r2, #0 + lsl r4, r1, #0 + lsl r0, r1, #0 + mov r0, #0x1 + pop {r3, pc} +_02073BDA: + .byte 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20 + .byte 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD +_02073BE6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02073BEC +sub_02073BEC: ; 0x02073BEC + push {r3-r7, lr} + add r6, r0, #0x0 + mov r0, #0x7 + lsl r0, r0, #0x8 + add r0, r6, r0 + mov r5, #0x0 + str r0, [sp, #0x0] +_02073BFA: + mov r0, #0x2c + add r1, r5, #0x0 + mul r1, r0 + ldr r0, [sp, #0x0] + add r4, r0, r1 + add r0, r4, #0x0 + add r0, #0x29 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02073C9A + mov r0, #0xb1 + lsl r0, r0, #0x4 + ldrb r0, [r6, r0] + cmp r0, #0x1 + bne _02073C2C + ldr r0, _02073CA8 ; =0x00000B0C + ldrb r0, [r6, r0] + cmp r0, r5 + beq _02073C28 + ldr r0, _02073CAC ; =0x00000B0D + ldrb r0, [r6, r0] + cmp r0, r5 + bne _02073C2C +_02073C28: + mov r7, #0x0 + b _02073C34 +_02073C2C: + add r0, r4, #0x0 + bl sub_02073B90 + add r7, r0, #0x0 +_02073C34: + lsl r1, r7, #0x18 + ldr r0, [r4, #0x24] + lsr r1, r1, #0x18 + bl sub_02073B70 + mov r1, #0x1 + ldr r0, [r4, #0x24] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, _02073CB0 ; =0x00000B25 + ldrb r0, [r6, r0] + cmp r0, r5 + bne _02073C8C + cmp r7, #0x0 + beq _02073C8C + cmp r7, #0x5 + beq _02073C8C + ldr r0, [r4, #0x24] + bl sub_0202022C + cmp r0, #0x0 + ldr r0, [r4, #0x24] + bne _02073C78 + mov r2, #0x18 + ldrsh r2, [r4, r2] + mov r1, #0x16 + ldrsh r1, [r4, r1] + sub r2, r2, #0x3 + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + bl sub_0200C6E4 + b _02073C9A +_02073C78: + mov r2, #0x18 + ldrsh r2, [r4, r2] + mov r1, #0x16 + ldrsh r1, [r4, r1] + add r2, r2, #0x1 + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + bl sub_0200C6E4 + b _02073C9A +_02073C8C: + mov r1, #0x16 + mov r2, #0x18 + ldrsh r1, [r4, r1] + ldrsh r2, [r4, r2] + ldr r0, [r4, #0x24] + bl sub_0200C6E4 +_02073C9A: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x6 + blo _02073BFA + pop {r3-r7, pc} + nop +_02073CA8: .word 0x00000B0C +_02073CAC: .word 0x00000B0D +_02073CB0: .word 0x00000B25 + + thumb_func_start sub_02073CB4 +sub_02073CB4: ; 0x02073CB4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + ldr r0, _02073D10 ; =0x00000808 + add r4, r1, #0x0 + ldr r1, [r5, r0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r1, sp, #0x0 + add r6, r2, #0x0 + add r1, #0x1 + add r2, sp, #0x0 + bl sub_0201C620 + ldr r0, _02073D14 ; =0x000005A4 + add r1, r4, #0x0 + ldr r0, [r5, r0] + add r0, #0x21 + ldrb r0, [r0, #0x0] + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02073D18 ; =0x000005C8 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02073D18 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _02073D18 ; =0x000005C8 + add r2, sp, #0x0 + ldrb r1, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldr r0, [r5, r0] + bl sub_0200C6E4 + ldr r0, _02073D18 ; =0x000005C8 + add r1, r6, #0x0 + ldr r0, [r5, r0] + bl sub_0200C664 + add sp, #0x4 + pop {r3-r6, pc} + nop +_02073D10: .word 0x00000808 +_02073D14: .word 0x000005A4 +_02073D18: .word 0x000005C8 + + thumb_func_start sub_02073D1C +sub_02073D1C: ; 0x02073D1C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + lsl r0, r1, #0xc + str r0, [sp, #0x0] + mov r0, #0x1 + lsl r1, r2, #0xc + lsl r0, r0, #0x14 + str r1, [sp, #0x4] + add r0, r1, r0 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + add r1, sp, #0x0 + bl sub_02020044 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02020208 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02020130 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02073D6C +sub_02073D6C: ; 0x02073D6C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02020128 + cmp r0, #0x1 + bne _02073DA6 + mov r0, #0x62 + lsl r0, r0, #0x4 + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_0202022C + cmp r0, #0x2 + bne _02073DA6 + mov r0, #0x62 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 +_02073DA6: + pop {r4, pc} + + thumb_func_start sub_02073DA8 +sub_02073DA8: ; 0x02073DA8 + lsl r1, r0, #0x2 + ldr r0, _02073DB0 ; =0x020F9CAC + ldr r0, [r0, r1] + bx lr + .balign 4 +_02073DB0: .word 0x020F9CAC + + thumb_func_start sub_02073DB4 +sub_02073DB4: ; 0x02073DB4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200CCF8 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + ldr r0, _02073DEC ; =0x000006FC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_02001C5C + ldr r0, _02073DF0 ; =0x000006F8 + ldr r0, [r4, r0] + bl sub_02012870 + mov r0, #0x95 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019178 + pop {r4, pc} + .balign 4 +_02073DEC: .word 0x000006FC +_02073DF0: .word 0x000006F8 + + thumb_func_start sub_02073DF4 +sub_02073DF4: ; 0x02073DF4 + push {r3-r6, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02073DB4 + add r0, r5, #0x0 + mov r1, #0x26 + mov r2, #0x0 + bl sub_020731D4 + mov r0, #0x3 + mov r1, #0xc + bl sub_02012838 + ldr r1, _02073EB0 ; =0x000006F8 + str r0, [r5, r1] + mov r0, #0x3 + bl sub_02073DA8 + ldr r1, _02073EB0 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x40 + ldr r1, [r5, r1] + bl sub_020128A0 + mov r0, #0x4 + bl sub_02073DA8 + ldr r1, _02073EB0 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x3c + ldr r1, [r5, r1] + bl sub_020128A0 + mov r0, #0x9 + bl sub_02073DA8 + ldr r1, _02073EB0 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x28 + ldr r1, [r5, r1] + bl sub_020128A0 + ldr r0, _02073EB0 ; =0x000006F8 + mov r1, #0x0 + ldr r0, [r5, r0] + add r2, sp, #0x8 + str r0, [sp, #0x8] + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r5, r0 + str r0, [sp, #0xc] + strb r1, [r2, #0x8] + mov r1, #0x1 + strb r1, [r2, #0x9] + mov r3, #0x3 + strb r3, [r2, #0xa] + ldrb r6, [r2, #0xb] + mov r3, #0xf + bic r6, r3 + strb r6, [r2, #0xb] + ldrb r6, [r2, #0xb] + mov r3, #0x30 + bic r6, r3 + strb r6, [r2, #0xb] + ldrb r6, [r2, #0xb] + mov r3, #0xc0 + bic r6, r3 + strb r6, [r2, #0xb] + add r2, r1, #0x0 + mov r3, #0xe + bl sub_0200CCA4 + mov r0, #0xc + str r0, [sp, #0x0] + mov r0, #0x2 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x8 + mov r1, #0x8 + add r3, r2, #0x0 + bl sub_02001C14 + ldr r1, _02073EB4 ; =0x000006FC + str r0, [r5, r1] + mov r0, #0xd + str r0, [r4, #0x0] + add sp, #0x14 + pop {r3-r6, pc} + nop +_02073EB0: .word 0x000006F8 +_02073EB4: .word 0x000006FC + + thumb_func_start sub_02073EB8 +sub_02073EB8: ; 0x02073EB8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02073EE0 ; =0x000006FC + add r4, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02001C5C + ldr r0, _02073EE4 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + ldr r0, _02073EE8 ; =0x000005A4 + mov r1, #0x3 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 +_02073EE0: .word 0x000006FC +_02073EE4: .word 0x000006F8 +_02073EE8: .word 0x000005A4 + + thumb_func_start sub_02073EEC +sub_02073EEC: ; 0x02073EEC + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r4, r1, #0x0 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200CCF8 + ldr r0, _02074044 ; =0x000006FC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _02074048 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + ldr r0, _0207404C ; =0x00000B25 + ldrb r1, [r5, r0] + mov r0, #0x2c + mul r0, r1 + add r2, r5, r0 + ldr r0, _02074050 ; =0x0000070C + ldrh r2, [r2, r0] + ldr r0, _02074054 ; =0x000005A4 + cmp r2, #0x0 + bne _02073F66 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + ldr r2, _02074058 ; =0x0000069C + add r6, r0, #0x0 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + mov r1, #0x51 + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 + b _02074018 +_02073F66: + ldr r0, [r5, r0] + add r1, r2, #0x0 + ldr r0, [r0, #0x4] + mov r2, #0x1 + mov r3, #0xc + bl sub_0206ED38 + cmp r0, #0x1 + bne _0207400A + ldr r0, _02074054 ; =0x000005A4 + ldr r1, _0207404C ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0x0 + str r1, [sp, #0x0] + add r6, r0, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r6, #0x0 + bl sub_02069EC4 + ldr r2, _02074058 ; =0x0000069C + mov r1, #0x52 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + ldr r2, _0207404C ; =0x00000B25 + mov r3, #0x6a + ldrb r6, [r5, r2] + mov r2, #0x2c + lsl r3, r3, #0x4 + mul r2, r6 + ldr r0, [r5, r3] + add r2, r5, r2 + add r3, #0x6c + ldrh r2, [r2, r3] + mov r1, #0x1 + bl sub_0200AE38 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r1, r2, #0x4 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r1, [r5, r1] + ldr r2, [r5, r2] + bl sub_0200B7B8 + ldr r1, _0207404C ; =0x00000B25 + mov r2, #0x2c + ldrb r3, [r5, r1] + mov r0, #0x0 + add r6, r3, #0x0 + mul r6, r2 + ldr r3, _02074050 ; =0x0000070C + add r6, r5, r6 + strh r0, [r6, r3] + ldrb r1, [r5, r1] + add r0, r5, #0x0 + mul r2, r1 + add r2, r5, r2 + ldrh r2, [r2, r3] + bl sub_02073A78 + b _02074018 +_0207400A: + ldr r2, _02074058 ; =0x0000069C + mov r1, #0x53 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 +_02074018: + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + mov r2, #0xa + mov r3, #0xf + bl sub_0200D0BC + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0xf + bl sub_02019620 + add r0, r5, #0x0 + bl sub_0207322C + mov r0, #0xf + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + nop +_02074044: .word 0x000006FC +_02074048: .word 0x000006F8 +_0207404C: .word 0x00000B25 +_02074050: .word 0x0000070C +_02074054: .word 0x000005A4 +_02074058: .word 0x0000069C + + thumb_func_start sub_0207405C +sub_0207405C: ; 0x0207405C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020740A0 ; =0x00000B24 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + bne _0207409A + ldr r0, _020740A4 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0207409A + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _020740A8 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r4, pc} +_0207409A: + mov r0, #0xf + pop {r4, pc} + nop +_020740A0: .word 0x00000B24 +_020740A4: .word 0x021C48B8 +_020740A8: .word 0x000005C8 + + thumb_func_start sub_020740AC +sub_020740AC: ; 0x020740AC + push {r3-r6, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02073DB4 + add r0, r5, #0x0 + mov r1, #0x27 + mov r2, #0x0 + bl sub_020731D4 + mov r0, #0x3 + mov r1, #0xc + bl sub_02012838 + ldr r1, _02074168 ; =0x000006F8 + str r0, [r5, r1] + mov r0, #0x6 + bl sub_02073DA8 + ldr r1, _02074168 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x34 + ldr r1, [r5, r1] + bl sub_020128A0 + mov r0, #0x7 + bl sub_02073DA8 + ldr r1, _02074168 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x30 + ldr r1, [r5, r1] + bl sub_020128A0 + mov r0, #0x9 + bl sub_02073DA8 + ldr r1, _02074168 ; =0x000006F8 + add r2, r0, #0x0 + ldr r0, [r5, r1] + sub r1, #0x28 + ldr r1, [r5, r1] + bl sub_020128A0 + ldr r0, _02074168 ; =0x000006F8 + mov r1, #0x0 + ldr r0, [r5, r0] + add r2, sp, #0x8 + str r0, [sp, #0x8] + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r5, r0 + str r0, [sp, #0xc] + strb r1, [r2, #0x8] + mov r1, #0x1 + strb r1, [r2, #0x9] + mov r3, #0x3 + strb r3, [r2, #0xa] + ldrb r6, [r2, #0xb] + mov r3, #0xf + bic r6, r3 + strb r6, [r2, #0xb] + ldrb r6, [r2, #0xb] + mov r3, #0x30 + bic r6, r3 + strb r6, [r2, #0xb] + ldrb r6, [r2, #0xb] + mov r3, #0xc0 + bic r6, r3 + strb r6, [r2, #0xb] + add r2, r1, #0x0 + mov r3, #0xe + bl sub_0200CCA4 + mov r0, #0xc + str r0, [sp, #0x0] + mov r0, #0x2 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x8 + mov r1, #0x8 + add r3, r2, #0x0 + bl sub_02001C14 + ldr r1, _0207416C ; =0x000006FC + str r0, [r5, r1] + mov r0, #0xd + str r0, [r4, #0x0] + add sp, #0x14 + pop {r3-r6, pc} + nop +_02074168: .word 0x000006F8 +_0207416C: .word 0x000006FC + + thumb_func_start sub_02074170 +sub_02074170: ; 0x02074170 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02074198 ; =0x000006FC + add r4, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02001C5C + ldr r0, _0207419C ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + ldr r0, _020741A0 ; =0x000005A4 + mov r1, #0x7 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 +_02074198: .word 0x000006FC +_0207419C: .word 0x000006F8 +_020741A0: .word 0x000005A4 + + thumb_func_start sub_020741A4 +sub_020741A4: ; 0x020741A4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r4, r1, #0x0 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200CCF8 + ldr r0, _020741EC ; =0x000006FC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _020741F0 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + add r0, r5, #0x0 + mov r1, #0x2b + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _020741F4 ; =sub_02074200 + ldr r1, _020741F8 ; =0x00000B18 + ldr r2, _020741FC ; =sub_02074278 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + str r0, [r4, #0x0] + pop {r3-r5, pc} + nop +_020741EC: .word 0x000006FC +_020741F0: .word 0x000006F8 +_020741F4: .word sub_02074200 + 1 +_020741F8: .word 0x00000B18 +_020741FC: .word sub_02074278 + 1 + + thumb_func_start sub_02074200 +sub_02074200: ; 0x02074200 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _02074268 ; =0x000005A4 + ldr r1, _0207426C ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r1, r0, #0x0 + ldr r0, _02074268 ; =0x000005A4 + mov r2, #0xc + ldr r0, [r4, r0] + ldr r0, [r0, #0x8] + bl sub_02085644 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _02074254 + ldr r1, _0207426C ; =0x00000B25 + mov r2, #0x2c + ldrb r3, [r4, r1] + mov r0, #0x0 + add r5, r3, #0x0 + mul r5, r2 + ldr r3, _02074270 ; =0x0000070C + add r5, r4, r5 + strh r0, [r5, r3] + ldrb r1, [r4, r1] + add r0, r4, #0x0 + mul r2, r1 + add r2, r4, r2 + ldrh r2, [r2, r3] + bl sub_02073A78 + add r0, r4, #0x0 + mov r1, #0x2e + mov r2, #0x0 + bl sub_020731E8 + b _0207425E +_02074254: + add r0, r4, #0x0 + mov r1, #0x32 + mov r2, #0x0 + bl sub_020731E8 +_0207425E: + ldr r0, _02074274 ; =0x00000B22 + mov r1, #0x10 + strb r1, [r4, r0] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_02074268: .word 0x000005A4 +_0207426C: .word 0x00000B25 +_02074270: .word 0x0000070C +_02074274: .word 0x00000B22 + + thumb_func_start sub_02074278 +sub_02074278: ; 0x02074278 + push {r4, lr} + mov r1, #0x2f + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020731E8 + ldr r0, _0207429C ; =sub_020742A8 + ldr r1, _020742A0 ; =0x00000B18 + ldr r2, _020742A4 ; =sub_02074340 + str r0, [r4, r1] + add r0, r1, #0x4 + str r2, [r4, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r4, r1] + mov r0, #0x14 + pop {r4, pc} + nop +_0207429C: .word sub_020742A8 + 1 +_020742A0: .word 0x00000B18 +_020742A4: .word sub_02074340 + 1 + + thumb_func_start sub_020742A8 +sub_020742A8: ; 0x020742A8 + push {r3-r5, lr} + ldr r1, _02074330 ; =0x00000B25 + add r4, r0, #0x0 + ldrb r2, [r4, r1] + mov r1, #0x2c + ldr r0, _02074334 ; =0x000005A4 + mul r1, r2 + add r2, r4, r1 + ldr r1, _02074338 ; =0x0000070C + ldr r0, [r4, r0] + ldrh r1, [r2, r1] + ldr r0, [r0, #0x4] + mov r2, #0x1 + mov r3, #0xc + bl sub_0206ED38 + cmp r0, #0x1 + bne _0207431A + ldr r0, _02074334 ; =0x000005A4 + ldr r1, _02074330 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0x0 + str r1, [sp, #0x0] + add r5, r0, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02069EC4 + ldr r1, _02074330 ; =0x00000B25 + mov r2, #0x2c + ldrb r3, [r4, r1] + mov r0, #0x0 + add r5, r3, #0x0 + mul r5, r2 + ldr r3, _02074338 ; =0x0000070C + add r5, r4, r5 + strh r0, [r5, r3] + ldrb r1, [r4, r1] + add r0, r4, #0x0 + mul r2, r1 + add r2, r4, r2 + ldrh r2, [r2, r3] + bl sub_02073A78 + add r0, r4, #0x0 + mov r1, #0x33 + mov r2, #0x0 + bl sub_020731E8 + b _02074324 +_0207431A: + add r0, r4, #0x0 + mov r1, #0x53 + mov r2, #0x0 + bl sub_020731E8 +_02074324: + ldr r0, _0207433C ; =0x00000B22 + mov r1, #0x10 + strb r1, [r4, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_02074330: .word 0x00000B25 +_02074334: .word 0x000005A4 +_02074338: .word 0x0000070C +_0207433C: .word 0x00000B22 + + thumb_func_start sub_02074340 +sub_02074340: ; 0x02074340 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _02074368 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_02074368: .word 0x000005C8 + + thumb_func_start sub_0207436C +sub_0207436C: ; 0x0207436C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _020743A4 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0207439E + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _020743A8 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r4, pc} +_0207439E: + mov r0, #0x10 + pop {r4, pc} + nop +_020743A4: .word 0x021C48B8 +_020743A8: .word 0x000005C8 + + thumb_func_start sub_020743AC +sub_020743AC: ; 0x020743AC + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, _0207440C ; =0x00000B25 + add r5, r0, #0x0 + ldrb r2, [r5, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r5, r1 + ldr r1, _02074410 ; =0x00000712 + ldrh r2, [r2, r1] + cmp r2, #0x0 + bne _020743E6 + sub r1, #0x16 + ldr r0, [r5, r1] + mov r1, #0x0 + bl sub_02001C5C + ldr r0, _02074414 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + ldr r0, _02074418 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + str r0, [r4, #0x0] + pop {r3-r5, pc} +_020743E6: + bl sub_02073DB4 + add r0, r5, #0x0 + mov r1, #0xc3 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _0207441C ; =sub_02074428 + ldr r1, _02074420 ; =0x00000B18 + ldr r2, _02074424 ; =sub_02074454 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 +_0207440C: .word 0x00000B25 +_02074410: .word 0x00000712 +_02074414: .word 0x000006F8 +_02074418: .word 0x000005A4 +_0207441C: .word sub_02074428 + 1 +_02074420: .word 0x00000B18 +_02074424: .word sub_02074454 + 1 + + thumb_func_start sub_02074428 +sub_02074428: ; 0x02074428 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207444C ; =0x000005A4 + ldr r1, _02074450 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + bl sub_0206AA84 + ldr r0, _0207444C ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} + .balign 4 +_0207444C: .word 0x000005A4 +_02074450: .word 0x00000B25 + + thumb_func_start sub_02074454 +sub_02074454: ; 0x02074454 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _0207447C ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_0207447C: .word 0x000005C8 + + thumb_func_start sub_02074480 +sub_02074480: ; 0x02074480 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02074528 ; =0x00000B23 + add r4, r1, #0x0 + ldrb r2, [r5, r0] + mov r1, #0x40 + orr r1, r2 + strb r1, [r5, r0] + ldrb r1, [r5, r0] + mov r2, #0x3f + bic r1, r2 + add r2, r0, #0x2 + ldrb r3, [r5, r2] + mov r2, #0x3f + and r2, r3 + orr r1, r2 + strb r1, [r5, r0] + ldr r0, _0207452C ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_0200C664 + ldr r0, _0207452C ; =0x000005C8 + add r1, sp, #0x0 + ldr r0, [r5, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_0200C75C + ldr r0, _02074530 ; =0x000005CC + add r3, sp, #0x0 + mov r1, #0x2 + mov r2, #0x0 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + ldr r0, [r5, r0] + bl sub_0200C6E4 + ldr r0, _02074534 ; =0x000005A4 + ldr r1, _02074528 ; =0x00000B23 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + add r0, #0x21 + ldrb r0, [r0, #0x0] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _02074530 ; =0x000005CC + add r1, r1, #0x2 + ldr r0, [r5, r0] + bl sub_02020130 + ldr r0, _02074530 ; =0x000005CC + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r1, _02074528 ; =0x00000B23 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl sub_020709FC + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02073DB4 + add r0, r5, #0x0 + mov r1, #0x1e + mov r2, #0x1 + bl sub_020731C0 + mov r0, #0x18 + str r0, [r4, #0x0] + pop {r3-r5, pc} + nop +_02074528: .word 0x00000B23 +_0207452C: .word 0x000005C8 +_02074530: .word 0x000005CC +_02074534: .word 0x000005A4 + + thumb_func_start sub_02074538 +sub_02074538: ; 0x02074538 + push {r4, lr} + ldr r1, _02074578 ; =0x00000B23 + add r4, r0, #0x0 + ldrb r2, [r4, r1] + mov r0, #0x40 + bic r2, r0 + strb r2, [r4, r1] + ldr r0, _0207457C ; =0x000005CC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _02074580 ; =0x00000B25 + ldrb r1, [r4, r0] + cmp r1, #0x6 + bhs _0207455E + add r0, r4, #0x0 + bl sub_020709FC +_0207455E: + ldr r1, _02074578 ; =0x00000B23 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl sub_020709FC + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + pop {r4, pc} + .balign 4 +_02074578: .word 0x00000B23 +_0207457C: .word 0x000005CC +_02074580: .word 0x00000B25 + + thumb_func_start sub_02074584 +sub_02074584: ; 0x02074584 + push {r3-r7, lr} + sub sp, #0x28 + ldr r2, _020746AC ; =0x00000B25 + add r6, r0, #0x0 + ldrb r1, [r6, r2] + add r0, r2, #0x0 + sub r0, #0x19 + strb r1, [r6, r0] + sub r0, r2, #0x2 + ldrb r0, [r6, r0] + add r3, r2, #0x0 + sub r3, #0x13 + lsl r0, r0, #0x1a + lsr r1, r0, #0x1a + add r0, r2, #0x0 + sub r0, #0x18 + strb r1, [r6, r0] + add r0, r2, #0x0 + mov r1, #0x1 + sub r0, #0x15 + strb r1, [r6, r0] + mov r0, #0x0 + strb r0, [r6, r3] + add r3, r2, #0x0 + sub r3, #0x14 + strb r0, [r6, r3] + add r3, r2, #0x0 + sub r3, #0x19 + ldrb r3, [r6, r3] + tst r3, r1 + beq _020745C8 + sub r2, #0x17 + strb r1, [r6, r2] + b _020745CC +_020745C8: + sub r2, #0x17 + strb r0, [r6, r2] +_020745CC: + ldr r0, _020746B0 ; =0x00000B0D + mov r1, #0x1 + ldrb r2, [r6, r0] + tst r2, r1 + beq _020745D8 + b _020745DA +_020745D8: + mov r1, #0x0 +_020745DA: + add r0, r0, #0x2 + strb r1, [r6, r0] + ldr r0, [r6, #0x0] + mov r1, #0x2 + bl sub_0201886C + str r0, [sp, #0x14] + ldr r0, [r6, #0x0] + mov r1, #0x1 + bl sub_0201886C + ldr r1, _020746B4 ; =0x00000B0C + str r0, [sp, #0x10] + ldrb r3, [r6, r1] + add r1, r1, #0x1 + mov r2, #0x2c + add r0, r3, #0x0 + ldrb r3, [r6, r1] + mul r0, r2 + mov r4, #0x0 + add r1, r3, #0x0 + add r3, r6, r0 + ldr r0, _020746B8 ; =0x00000715 + mul r1, r2 + ldrsb r2, [r3, r0] + str r2, [sp, #0xc] + sub r2, r0, #0x1 + ldrsb r2, [r3, r2] + str r2, [sp, #0x8] + add r2, r6, r1 + ldrsb r1, [r2, r0] + sub r0, r0, #0x1 + ldrsb r0, [r2, r0] + str r1, [sp, #0x4] + str r0, [sp, #0x0] + ldr r0, _020746BC ; =0x0000080C + add r0, r6, r0 + str r0, [sp, #0x18] + ldr r0, _020746C0 ; =0x0000098C + add r0, r6, r0 + str r0, [sp, #0x1c] + ldr r0, _020746C4 ; =0x000008CC + add r0, r6, r0 + str r0, [sp, #0x20] + ldr r0, _020746C8 ; =0x00000A4C + add r0, r6, r0 + str r0, [sp, #0x24] +_02074638: + ldr r0, [sp, #0xc] + lsl r5, r4, #0x5 + add r0, r0, r4 + lsl r1, r0, #0x5 + ldr r0, [sp, #0x8] + mov r2, #0x20 + add r0, r0, r1 + lsl r7, r0, #0x1 + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x14] + add r0, r0, r5 + add r1, r1, r7 + blx sub_020DF438 + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x10] + add r0, r0, r5 + add r1, r1, r7 + mov r2, #0x20 + blx sub_020DF438 + ldr r0, [sp, #0x4] + mov r2, #0x20 + add r0, r0, r4 + lsl r1, r0, #0x5 + ldr r0, [sp, #0x0] + add r0, r0, r1 + lsl r7, r0, #0x1 + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x14] + add r0, r0, r5 + add r1, r1, r7 + blx sub_020DF438 + ldr r0, [sp, #0x24] + ldr r1, [sp, #0x10] + add r0, r0, r5 + add r1, r1, r7 + mov r2, #0x20 + blx sub_020DF438 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x6 + blo _02074638 + ldr r0, _020746CC ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r6, r0] + bl sub_020200A0 + ldr r0, _020746D0 ; =0x000005CC + mov r1, #0x0 + ldr r0, [r6, r0] + bl sub_020200A0 + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 +_020746AC: .word 0x00000B25 +_020746B0: .word 0x00000B0D +_020746B4: .word 0x00000B0C +_020746B8: .word 0x00000715 +_020746BC: .word 0x0000080C +_020746C0: .word 0x0000098C +_020746C4: .word 0x000008CC +_020746C8: .word 0x00000A4C +_020746CC: .word 0x000005C8 +_020746D0: .word 0x000005CC + + thumb_func_start sub_020746D4 +sub_020746D4: ; 0x020746D4 + push {r3-r5, lr} + ldr r1, _02074828 ; =0x0000080C + add r5, r0, #0x0 + ldr r2, _0207482C ; =0x00000305 + add r4, r5, r1 + ldrb r1, [r4, r2] + cmp r1, #0x4 + bls _020746E6 + b _02074822 +_020746E6: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r0, r3, #0 + lsl r0, r5, #0x1 + lsl r4, r7, #0x1 + lsl r2, r3, #0x3 + mov r0, #0x6a + lsl r0, r0, #0x4 + bl sub_020054C8 + ldr r0, _0207482C ; =0x00000305 + mov r1, #0x1 + strb r1, [r4, r0] + b _02074822 +_0207470C: + .byte 0x51, 0x1C, 0x61, 0x5C + .byte 0x4B, 0x1C, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x28, 0x1C, 0x01, 0x21 + .byte 0x00, 0xF0, 0x92, 0xF8, 0x42, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x00, 0x21, 0x00, 0xF0, 0x36, 0xF9 + .byte 0x40, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x01, 0x21, 0x00, 0xF0, 0x30, 0xF9, 0x28, 0x68, 0x02, 0x21 + .byte 0xA6, 0xF7, 0x92, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x8E, 0xFA, 0x3A, 0x48, 0x21, 0x5C + .byte 0x10, 0x29, 0x66, 0xD1, 0x02, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x62, 0xE0, 0x00, 0xF0, 0xCA, 0xF9 + .byte 0x6A, 0x20, 0x00, 0x01, 0x90, 0xF7, 0xB0, 0xFE, 0x30, 0x48, 0x03, 0x21, 0x21, 0x54, 0x58, 0xE0 + .byte 0x51, 0x1C, 0x61, 0x5C, 0x4B, 0x1E, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x64, 0xF8 + .byte 0x28, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x60, 0xF8, 0x29, 0x4A, 0x28, 0x1C, 0xA3, 0x5C, 0x01, 0x22 + .byte 0x00, 0x21, 0x5A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0x00, 0xF9, 0x25, 0x4A, 0x01, 0x21 + .byte 0xA2, 0x5C, 0x28, 0x1C, 0x4A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0xF7, 0xF8, 0x28, 0x68 + .byte 0x02, 0x21, 0xA6, 0xF7, 0x59, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x55, 0xFA, 0x1E, 0x48 + .byte 0x21, 0x5C, 0x00, 0x29, 0x2D, 0xD1, 0x04, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x29, 0xE0, 0x1B, 0x48 + .byte 0x51, 0x1F, 0x28, 0x58, 0x12, 0x1F, 0x61, 0x5C, 0xA2, 0x5C, 0x00, 0x68, 0xF7, 0xF7, 0x2C, 0xF9 + .byte 0x17, 0x48, 0x01, 0x21, 0x28, 0x58, 0xAB, 0xF7, 0x5B, 0xFC, 0xC1, 0x20, 0x00, 0x21, 0x80, 0x00 + .byte 0x21, 0x54, 0x14, 0x49, 0x40, 0x20, 0x6A, 0x5C, 0x82, 0x43, 0x6A, 0x54, 0x89, 0x1C, 0x69, 0x5C + .byte 0x28, 0x1C, 0xFC, 0xF7, 0xFB, 0xF8, 0x0F, 0x49, 0x28, 0x1C, 0x69, 0x5C, 0x89, 0x06, 0x89, 0x0E + .byte 0xFC, 0xF7, 0xF4, 0xF8, 0x28, 0x1C, 0x1D, 0x21, 0x00, 0x22, 0xFE, 0xF7, 0xD1, 0xFC, 0x01, 0x20 + .byte 0x38, 0xBD +_02074822: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02074828: .word 0x0000080C +_0207482C: .word 0x00000305 +_02074830: + .byte 0x02, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 + .byte 0xC8, 0x05, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00 + + thumb_func_start sub_02074848 +sub_02074848: ; 0x02074848 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + ldr r0, _02074990 ; =0x0000080C + str r1, [sp, #0x1c] + ldr r1, [sp, #0x1c] + add r4, r5, r0 + add r2, r4, r1 + mov r1, #0x3 + lsl r1, r1, #0x8 + ldrb r2, [r2, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r5, r1 + add r1, r0, #0x0 + sub r1, #0xf8 + ldrsb r7, [r2, r1] + sub r0, #0xf7 + ldrb r6, [r2, r0] + lsl r0, r7, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x20] + str r6, [sp, #0x0] + mov r1, #0x10 + str r1, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r3, [sp, #0x20] + mov r1, #0x2 + mov r2, #0x0 + bl sub_02018540 + str r6, [sp, #0x0] + mov r1, #0x10 + str r1, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [r5, #0x0] + ldr r3, [sp, #0x20] + mov r1, #0x1 + mov r2, #0x0 + bl sub_02018540 + ldr r0, [sp, #0x1c] + add r1, r4, r0 + ldr r0, _02074994 ; =0x00000302 + ldrb r1, [r1, r0] + cmp r1, #0x0 + bne _02074918 + add r0, r0, #0x4 + ldrb r2, [r4, r0] + ldr r0, [sp, #0x1c] + mov r3, #0x10 + add r7, r0, #0x0 + sub r0, r3, r2 + lsl r0, r0, #0x18 + mov r1, #0xc0 + lsr r0, r0, #0x18 + mul r7, r1 + str r0, [sp, #0x0] + mov r1, #0x6 + str r1, [sp, #0x4] + add r0, r4, r7 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + str r3, [sp, #0x14] + str r1, [sp, #0x18] + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x20] + mov r1, #0x2 + add r3, r6, #0x0 + bl sub_02018170 + ldr r0, _02074998 ; =0x00000306 + mov r3, #0x10 + ldrb r2, [r4, r0] + mov r1, #0x6 + sub r0, r3, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + lsl r0, r1, #0x6 + add r0, r4, r0 + str r1, [sp, #0x4] + add r0, r0, r7 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x10] + str r3, [sp, #0x14] + str r1, [sp, #0x18] + ldr r0, [r5, #0x0] + ldr r2, [sp, #0x20] + mov r1, #0x1 + add r3, r6, #0x0 + bl sub_02018170 + add sp, #0x28 + pop {r3-r7, pc} +_02074918: + ldr r1, [sp, #0x1c] + mov r2, #0xc0 + mul r2, r1 + str r2, [sp, #0x24] + add r0, r0, #0x4 + ldrb r2, [r4, r0] + mov r3, #0x10 + ldr r1, [sp, #0x24] + sub r0, r3, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + add r1, r4, r1 + str r1, [sp, #0x8] + mov r1, #0x0 + str r1, [sp, #0xc] + str r1, [sp, #0x10] + str r3, [sp, #0x14] + add r2, r7, r2 + str r0, [sp, #0x18] + lsl r2, r2, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x18 + add r3, r6, #0x0 + bl sub_02018170 + ldr r0, _02074998 ; =0x00000306 + ldrb r2, [r4, r0] + mov r0, #0x10 + sub r0, r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x6 + lsl r1, r0, #0x6 + add r3, r4, r1 + ldr r1, [sp, #0x24] + add r2, r7, r2 + add r1, r3, r1 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + mov r1, #0x0 + str r1, [sp, #0xc] + str r1, [sp, #0x10] + mov r1, #0x10 + str r1, [sp, #0x14] + str r0, [sp, #0x18] + lsl r2, r2, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x1 + lsr r2, r2, #0x18 + add r3, r6, #0x0 + bl sub_02018170 + add sp, #0x28 + pop {r3-r7, pc} + nop +_02074990: .word 0x0000080C +_02074994: .word 0x00000302 +_02074998: .word 0x00000306 + + thumb_func_start sub_0207499C +sub_0207499C: ; 0x0207499C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02074AE0 ; =0x0000080C + add r4, r1, #0x0 + add r1, r5, r0 + mov r0, #0x3 + lsl r0, r0, #0x8 + add r6, r1, r0 + ldrb r0, [r6, r4] + add r7, r2, #0x0 + add r2, sp, #0x0 + lsl r0, r0, #0x2 + add r1, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + add r1, sp, #0x0 + add r1, #0x2 + bl sub_0200C75C + cmp r7, #0x0 + ldr r0, _02074AE4 ; =0x00000716 + bne _02074A04 + ldrb r3, [r6, r4] + mov r7, #0x2c + add r2, r5, r0 + add r1, r3, #0x0 + mul r1, r7 + ldrsh r3, [r2, r1] + sub r3, #0x8 + strh r3, [r2, r1] + ldrb r3, [r6, r4] + add r1, r0, #0x4 + add r2, r5, r1 + add r1, r3, #0x0 + mul r1, r7 + ldrsh r3, [r2, r1] + add r0, #0x8 + add r0, r5, r0 + sub r3, #0x8 + strh r3, [r2, r1] + ldrb r1, [r6, r4] + add r2, r1, #0x0 + mul r2, r7 + ldrsh r1, [r0, r2] + sub r1, #0x8 + strh r1, [r0, r2] + add r1, sp, #0x0 + mov r0, #0x2 + ldrsh r0, [r1, r0] + sub r0, #0x8 + b _02074A3C +_02074A04: + ldrb r3, [r6, r4] + mov r7, #0x2c + add r2, r5, r0 + add r1, r3, #0x0 + mul r1, r7 + ldrsh r3, [r2, r1] + add r3, #0x8 + strh r3, [r2, r1] + ldrb r3, [r6, r4] + add r1, r0, #0x4 + add r2, r5, r1 + add r1, r3, #0x0 + mul r1, r7 + ldrsh r3, [r2, r1] + add r0, #0x8 + add r0, r5, r0 + add r3, #0x8 + strh r3, [r2, r1] + ldrb r1, [r6, r4] + add r2, r1, #0x0 + mul r2, r7 + ldrsh r1, [r0, r2] + add r1, #0x8 + strh r1, [r0, r2] + add r1, sp, #0x0 + mov r0, #0x2 + ldrsh r0, [r1, r0] + add r0, #0x8 +_02074A3C: + strh r0, [r1, #0x2] + ldrb r1, [r6, r4] + mov r0, #0x2c + ldr r2, _02074AE8 ; =0x00000724 + mul r0, r1 + add r3, r5, r0 + add r1, r2, #0x0 + ldr r0, [r3, r2] + sub r1, #0xe + sub r2, #0xc + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + bl sub_0200C6E4 + ldrb r2, [r6, r4] + mov r0, #0x2c + ldr r3, _02074AEC ; =0x0000071A + add r1, r2, #0x0 + add r2, #0xa + mul r1, r0 + lsl r0, r2, #0x2 + add r2, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + add r2, r5, r1 + ldrsh r1, [r2, r3] + add r3, r3, #0x2 + ldrsh r2, [r2, r3] + bl sub_0200C6E4 + ldrb r2, [r6, r4] + mov r0, #0x2c + ldr r3, _02074AF0 ; =0x0000071E + add r1, r2, #0x0 + add r2, #0x10 + mul r1, r0 + lsl r0, r2, #0x2 + add r2, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + add r2, r5, r1 + ldrsh r1, [r2, r3] + add r3, r3, #0x2 + ldrsh r2, [r2, r3] + bl sub_0200C6E4 + ldrb r2, [r6, r4] + mov r0, #0x2c + ldr r3, _02074AF0 ; =0x0000071E + add r1, r2, #0x0 + add r2, #0x16 + mul r1, r0 + lsl r0, r2, #0x2 + add r2, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + add r2, r5, r1 + ldrsh r1, [r2, r3] + add r3, r3, #0x2 + ldrsh r2, [r2, r3] + add r1, #0x8 + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + bl sub_0200C6E4 + ldrb r0, [r6, r4] + add r3, sp, #0x0 + mov r2, #0x0 + lsl r0, r0, #0x2 + add r1, r5, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + mov r1, #0x2 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + bl sub_0200C6E4 + pop {r3-r7, pc} + .balign 4 +_02074AE0: .word 0x0000080C +_02074AE4: .word 0x00000716 +_02074AE8: .word 0x00000724 +_02074AEC: .word 0x0000071A +_02074AF0: .word 0x0000071E + + thumb_func_start sub_02074AF4 +sub_02074AF4: ; 0x02074AF4 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r0, #0x0 + ldr r0, _02074DD0 ; =0x0000080C + mov r1, #0x2c + add r4, r5, r0 + mov r0, #0xc + bl sub_02016998 + add r7, r0, #0x0 + mov r0, #0x3 + lsl r0, r0, #0x8 + ldrb r1, [r4, r0] + mov r0, #0x2c + add r3, r7, #0x0 + mul r0, r1 + add r1, r5, r0 + mov r0, #0x7 + lsl r0, r0, #0x8 + add r6, r1, r0 + mov r2, #0x5 +_02074B1E: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02074B1E + ldr r0, [r6, #0x0] + mov r1, #0x3 + lsl r1, r1, #0x8 + str r0, [r3, #0x0] + ldrb r0, [r4, r1] + add r1, r1, #0x1 + ldrb r1, [r4, r1] + mov r2, #0x2c + add r3, r0, #0x0 + mul r3, r2 + mul r2, r1 + mov r1, #0x7 + add r0, r5, r3 + lsl r1, r1, #0x8 + add r2, r5, r2 + add r6, r2, r1 + add r3, r0, r1 + mov r2, #0x5 +_02074B4A: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02074B4A + ldr r0, [r6, #0x0] + add r6, r7, #0x0 + str r0, [r3, #0x0] + ldr r0, _02074DD4 ; =0x00000301 + mov r2, #0x5 + ldrb r1, [r4, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r5, r0 + mov r0, #0x7 + lsl r0, r0, #0x8 + add r3, r1, r0 +_02074B6A: + ldmia r6!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02074B6A + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + str r0, [r3, #0x0] + mov r0, #0xc + bl sub_02016A8C + mov r1, #0x3 + lsl r1, r1, #0x8 + ldrb r3, [r4, r1] + ldr r0, _02074DD8 ; =0x00000716 + add r2, r5, r0 + mov r0, #0x2c + add r7, r3, #0x0 + mul r7, r0 + ldrsh r3, [r2, r7] + str r3, [sp, #0x0] + add r3, r1, #0x1 + ldrb r3, [r4, r3] + add r6, r3, #0x0 + mul r6, r0 + ldr r3, _02074DD8 ; =0x00000716 + add r6, r5, r6 + ldrsh r3, [r6, r3] + strh r3, [r2, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r6, r5, r3 + ldr r3, [sp, #0x0] + ldr r2, _02074DD8 ; =0x00000716 + strh r3, [r6, r2] + add r2, r2, #0x2 + add r3, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsh r2, [r3, r7] + str r2, [sp, #0x4] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r6, r2, #0x0 + mul r6, r0 + add r2, r5, r6 + ldr r6, _02074DD8 ; =0x00000716 + add r6, r6, #0x2 + ldrsh r2, [r2, r6] + strh r2, [r3, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + add r6, r3, #0x2 + ldr r3, [sp, #0x4] + strh r3, [r2, r6] + ldr r2, _02074DD8 ; =0x00000716 + add r2, r2, #0x4 + add r3, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsh r2, [r3, r7] + str r2, [sp, #0x8] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r6, r2, #0x0 + mul r6, r0 + add r2, r5, r6 + ldr r6, _02074DD8 ; =0x00000716 + add r6, r6, #0x4 + ldrsh r2, [r2, r6] + strh r2, [r3, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + add r6, r3, #0x4 + ldr r3, [sp, #0x8] + strh r3, [r2, r6] + ldr r2, _02074DD8 ; =0x00000716 + add r2, r2, #0x6 + add r3, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsh r2, [r3, r7] + str r2, [sp, #0xc] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r6, r2, #0x0 + mul r6, r0 + add r2, r5, r6 + ldr r6, _02074DD8 ; =0x00000716 + add r6, r6, #0x6 + ldrsh r2, [r2, r6] + strh r2, [r3, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + add r6, r3, #0x6 + ldr r3, [sp, #0xc] + strh r3, [r2, r6] + ldr r2, _02074DD8 ; =0x00000716 + add r2, #0x8 + add r6, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsh r2, [r6, r7] + str r2, [sp, #0x10] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + add r3, #0x8 + ldrsh r2, [r2, r3] + strh r2, [r6, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r6, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + ldr r2, [sp, #0x10] + add r3, #0x8 + strh r2, [r6, r3] + ldr r2, _02074DD8 ; =0x00000716 + add r2, #0xa + add r6, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsh r2, [r6, r7] + str r2, [sp, #0x14] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + add r3, #0xa + ldrsh r2, [r2, r3] + strh r2, [r6, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r6, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + ldr r2, [sp, #0x14] + add r3, #0xa + strh r2, [r6, r3] + ldr r2, _02074DD8 ; =0x00000716 + sub r2, r2, #0x2 + add r3, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsb r2, [r3, r7] + str r2, [sp, #0x18] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r6, r2, #0x0 + mul r6, r0 + add r2, r5, r6 + ldr r6, _02074DD8 ; =0x00000716 + sub r6, r6, #0x2 + ldrsb r2, [r2, r6] + strb r2, [r3, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + mul r3, r0 + add r2, r5, r3 + ldr r3, _02074DD8 ; =0x00000716 + sub r6, r3, #0x2 + ldr r3, [sp, #0x18] + strb r3, [r2, r6] + ldr r2, _02074DD8 ; =0x00000716 + sub r2, r2, #0x1 + add r6, r5, r2 + ldrb r2, [r4, r1] + add r7, r2, #0x0 + mul r7, r0 + ldrsb r2, [r6, r7] + mov r12, r2 + add r2, r1, #0x1 + ldrb r2, [r4, r2] + add r3, r2, #0x0 + ldr r2, _02074DD8 ; =0x00000716 + mul r3, r0 + add r3, r5, r3 + sub r2, r2, #0x1 + ldrsb r2, [r3, r2] + strb r2, [r6, r7] + add r2, r1, #0x1 + ldrb r2, [r4, r2] + mul r0, r2 + ldr r2, _02074DD8 ; =0x00000716 + add r0, r5, r0 + sub r3, r2, #0x1 + mov r2, r12 + strb r2, [r0, r3] + ldrb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02072D1C + ldr r1, _02074DD4 ; =0x00000301 + add r0, r5, #0x0 + ldrb r1, [r4, r1] + bl sub_02072D1C + mov r1, #0x3 + lsl r1, r1, #0x8 + ldrb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02072E14 + ldr r1, _02074DD4 ; =0x00000301 + add r0, r5, #0x0 + ldrb r1, [r4, r1] + bl sub_02072E14 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02074DE4 + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02074DE4 + mov r0, #0x3 + lsl r0, r0, #0x8 + ldrb r1, [r4, r0] + mov r2, #0x2c + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02074DDC ; =0x0000070E + ldrh r2, [r3, r2] + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + ldr r0, _02074DD4 ; =0x00000301 + mov r2, #0x2c + ldrb r1, [r4, r0] + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02074DDC ; =0x0000070E + ldrh r2, [r3, r2] + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + mov r0, #0x3 + lsl r0, r0, #0x8 + ldrb r1, [r4, r0] + mov r2, #0x2c + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02074DE0 ; =0x0000070C + ldrh r2, [r3, r2] + bl sub_02073A78 + ldr r0, _02074DD4 ; =0x00000301 + mov r2, #0x2c + ldrb r1, [r4, r0] + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02074DE0 ; =0x0000070C + ldrh r2, [r3, r2] + bl sub_02073A78 + mov r1, #0x3 + lsl r1, r1, #0x8 + ldrb r1, [r4, r1] + add r0, r5, #0x0 + bl sub_02073B3C + ldr r1, _02074DD4 ; =0x00000301 + add r0, r5, #0x0 + ldrb r1, [r4, r1] + bl sub_02073B3C + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_02074DD0: .word 0x0000080C +_02074DD4: .word 0x00000301 +_02074DD8: .word 0x00000716 +_02074DDC: .word 0x0000070E +_02074DE0: .word 0x0000070C + + thumb_func_start sub_02074DE4 +sub_02074DE4: ; 0x02074DE4 + push {r3-r7, lr} + add r7, r1, #0x0 + ldr r1, _02074E6C ; =0x0000080C + add r6, r0, #0x0 + add r4, r6, r1 + mov r1, #0xc0 + mul r1, r7 + add r5, r4, r1 + bl sub_020703BC + add r3, r0, #0x0 + mov r0, #0x3 + add r1, r4, r7 + lsl r0, r0, #0x8 + ldrb r1, [r1, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r6, r0 + mov r0, #0x71 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _02074E3C + mov r3, #0xf + mov r1, #0x0 + lsl r3, r3, #0xc + mov r4, #0x17 +_02074E1A: + lsl r0, r1, #0x1 + add r2, r5, r0 + add r2, #0x6c + ldrh r2, [r2, #0x0] + add r0, r5, r0 + add r0, #0x6c + and r2, r3 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + orr r2, r4 + strh r2, [r0, #0x0] + add r0, r1, #0x1 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + cmp r1, #0x9 + blo _02074E1A + pop {r3-r7, pc} +_02074E3C: + mov r6, #0xf + ldr r0, _02074E70 ; =0x00000FFF + mov r4, #0x0 + lsl r6, r6, #0xc +_02074E44: + lsl r2, r4, #0x1 + add r1, r5, r2 + add r1, #0x6c + ldrh r1, [r1, #0x0] + ldrh r7, [r3, r2] + and r1, r6 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + and r7, r0 + orr r7, r1 + add r1, r5, r2 + add r1, #0x6c + strh r7, [r1, #0x0] + add r1, r4, #0x1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, #0x9 + blo _02074E44 + pop {r3-r7, pc} + nop +_02074E6C: .word 0x0000080C +_02074E70: .word 0x00000FFF + + thumb_func_start sub_02074E74 +sub_02074E74: ; 0x02074E74 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r6, r1, #0x0 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02073DB4 + ldr r0, _02074F5C ; =0x000005A4 + mov r4, #0x0 + ldr r0, [r5, r0] + add r1, r0, #0x0 + add r1, #0x32 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + beq _02074EFA +_02074E9E: + add r2, r0, r4 + add r2, #0x2c + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _02074EF0 + ldr r1, _02074F60 ; =0x00000B25 + add r0, r0, r4 + ldrb r2, [r5, r1] + add r0, #0x2c + add r2, r2, #0x1 + strb r2, [r0, #0x0] + ldrb r1, [r5, r1] + add r0, r5, #0x0 + bl sub_02073024 + add r0, r5, #0x0 + mov r1, #0x22 + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _02074F64 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_0200C664 + ldr r0, _02074F5C ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x32 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + sub r0, r0, #0x1 + cmp r4, r0 + bne _02074EEA + add r0, r5, #0x0 + mov r1, #0x6 + bl sub_02070E60 +_02074EEA: + mov r0, #0x1 + str r0, [r6, #0x0] + pop {r4-r6, pc} +_02074EF0: + add r2, r4, #0x1 + lsl r2, r2, #0x18 + lsr r4, r2, #0x18 + cmp r4, r1 + blo _02074E9E +_02074EFA: + cmp r1, #0x5 + bhi _02074F50 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r0, #0x1 + lsl r2, r1, #0 + lsl r6, r2, #0 + lsl r2, r4, #0 + lsl r6, r5, #0 + lsl r2, r7, #0 + add r0, r5, #0x0 + mov r1, #0x7b + mov r2, #0x1 + bl sub_020731E8 + b _02074F50 +_02074F22: + .byte 0x28, 0x1C, 0x64, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x5E, 0xF9, 0x10, 0xE0, 0x28, 0x1C + .byte 0x7C, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x58, 0xF9, 0x0A, 0xE0, 0x28, 0x1C, 0x7D, 0x21, 0x01, 0x22 + .byte 0xFE, 0xF7, 0x52, 0xF9, 0x04, 0xE0, 0x28, 0x1C, 0x7E, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x4C, 0xF9 +_02074F50: + ldr r0, _02074F68 ; =0x00000B22 + mov r1, #0x13 + strb r1, [r5, r0] + mov r0, #0x14 + str r0, [r6, #0x0] + pop {r4-r6, pc} + .balign 4 +_02074F5C: .word 0x000005A4 +_02074F60: .word 0x00000B25 +_02074F64: .word 0x000005C8 +_02074F68: .word 0x00000B22 + + thumb_func_start sub_02074F6C +sub_02074F6C: ; 0x02074F6C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02074FA4 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02074F9E + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x22 + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _02074FA8 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 + pop {r4, pc} +_02074F9E: + mov r0, #0x13 + pop {r4, pc} + nop +_02074FA4: .word 0x021C48B8 +_02074FA8: .word 0x000005C8 + + thumb_func_start sub_02074FAC +sub_02074FAC: ; 0x02074FAC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _02075080 ; =0x000005A4 + str r1, [sp, #0x0] + ldr r1, [r5, r0] + mov r4, #0x0 + add r0, r1, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r2, r0, #0x1c + beq _0207502C + ldr r0, _02075084 ; =0x00000B25 + ldrb r0, [r5, r0] + add r0, r0, #0x1 +_02074FCA: + add r3, r1, r4 + add r3, #0x2c + ldrb r3, [r3, #0x0] + cmp r0, r3 + bne _02075022 + add r0, r1, r4 + mov r2, #0x0 + add r0, #0x2c + strb r2, [r0, #0x0] + ldr r0, _02075080 ; =0x000005A4 + ldr r6, [r5, r0] + add r0, r6, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + sub r0, r0, #0x1 + cmp r4, r0 + bge _0207502C + ldr r0, _02075080 ; =0x000005A4 + add r1, r0, #0x0 +_02074FF4: + add r3, r6, r4 + add r3, #0x2d + ldrb r3, [r3, #0x0] + add r6, r6, r4 + add r6, #0x2c + strb r3, [r6, #0x0] + ldr r3, [r5, r0] + add r3, r3, r4 + add r3, #0x2d + strb r2, [r3, #0x0] + add r3, r4, #0x1 + lsl r3, r3, #0x18 + ldr r6, [r5, r1] + lsr r4, r3, #0x18 + add r3, r6, #0x0 + add r3, #0x32 + ldrb r3, [r3, #0x0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x1c + sub r3, r3, #0x1 + cmp r4, r3 + blt _02074FF4 + b _0207502C +_02075022: + add r3, r4, #0x1 + lsl r3, r3, #0x18 + lsr r4, r3, #0x18 + cmp r4, r2 + blo _02074FCA +_0207502C: + ldr r6, _02075088 ; =0x00000729 + mov r4, #0x0 + mov r7, #0x2c +_02075032: + add r0, r4, #0x0 + mul r0, r7 + add r0, r5, r0 + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _02075046 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02073024 +_02075046: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _02075032 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02073DB4 + add r0, r5, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _0207508C ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_0200C664 + ldr r0, [sp, #0x0] + mov r1, #0x1 + str r1, [r0, #0x0] + pop {r3-r7, pc} + nop +_02075080: .word 0x000005A4 +_02075084: .word 0x00000B25 +_02075088: .word 0x00000729 +_0207508C: .word 0x000005C8 + + thumb_func_start sub_02075090 +sub_02075090: ; 0x02075090 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020750B8 ; =0x000005A4 + add r4, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x0 + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _020750BC ; =0x000006FC + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _020750C0 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + mov r0, #0x1b + str r0, [r4, #0x0] + pop {r3-r5, pc} + nop +_020750B8: .word 0x000005A4 +_020750BC: .word 0x000006FC +_020750C0: .word 0x000006F8 + + thumb_func_start sub_020750C4 +sub_020750C4: ; 0x020750C4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020750EC ; =0x000005A4 + add r4, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x1 + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _020750F0 ; =0x000006FC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _020750F4 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + mov r0, #0x1b + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 +_020750EC: .word 0x000005A4 +_020750F0: .word 0x000006FC +_020750F4: .word 0x000006F8 + + thumb_func_start sub_020750F8 +sub_020750F8: ; 0x020750F8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02073DB4 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r5, #0x0 + bl sub_02075118 + str r0, [r4, #0x0] + pop {r3-r5, pc} + + thumb_func_start sub_02075118 +sub_02075118: ; 0x02075118 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02075190 ; =0x000005A4 + ldr r1, _02075194 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xa1 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + ldr r2, _02075198 ; =0x0000069C + bne _0207515C + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + mov r1, #0x81 + bl sub_0200A8E0 + ldr r0, _02075194 ; =0x00000B25 + ldrb r0, [r4, r0] + add r0, #0x16 + lsl r0, r0, #0x2 + add r1, r4, r0 + mov r0, #0x5b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + mov r1, #0x1 + bl sub_020200A0 + b _0207516E +_0207515C: + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + mov r1, #0x82 + bl sub_0200A8E0 + ldr r0, _02075194 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] +_0207516E: + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02075190 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _0207519C ; =0x00000B22 + mov r1, #0x15 + strb r1, [r4, r0] + mov r0, #0x14 + pop {r4, pc} + nop +_02075190: .word 0x000005A4 +_02075194: .word 0x00000B25 +_02075198: .word 0x0000069C +_0207519C: .word 0x00000B22 + + thumb_func_start sub_020751A0 +sub_020751A0: ; 0x020751A0 + push {r4-r6, lr} + add r6, r1, #0x0 + add r4, r0, #0x0 + ldr r1, _02075234 ; =0x000005A4 + mov r0, #0x1 + ldr r1, [r4, r1] + add r1, #0x23 + ldrb r1, [r1, #0x0] + sub r1, #0xb + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_02063948 + add r1, r0, #0x0 + beq _020751C8 + ldr r0, _02075234 ; =0x000005A4 + ldr r0, [r4, r0] + ldr r0, [r0, #0x18] + blx r1 + b _020751CA +_020751C8: + mov r0, #0x1 +_020751CA: + cmp r0, #0x4 + bhi _0207520A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + ldr r0, _02075238 ; =0x000006FC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_02001C5C + ldr r0, _0207523C ; =0x000006F8 + ldr r0, [r4, r0] + bl sub_02012870 + mov r0, #0x1b + str r0, [r6, #0x0] + pop {r4-r6, pc} +_020751FC: + .byte 0x68, 0x25, 0x04, 0xE0 + .byte 0x4C, 0x25, 0x02, 0xE0, 0xC4, 0x25, 0x00, 0xE0, 0x66, 0x25 +_0207520A: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + bl sub_02073DB4 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02075240 ; =0x00000B22 + mov r1, #0x3 + strb r1, [r4, r0] + mov r0, #0x14 + str r0, [r6, #0x0] + pop {r4-r6, pc} + nop +_02075234: .word 0x000005A4 +_02075238: .word 0x000006FC +_0207523C: .word 0x000006F8 +_02075240: .word 0x00000B22 + + thumb_func_start sub_02075244 +sub_02075244: ; 0x02075244 + ldr r2, _02075254 ; =0x000005A4 + mov r3, #0xb + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075258 ; =sub_020751A0 + bx r3 + nop +_02075254: .word 0x000005A4 +_02075258: .word sub_020751A0 + 1 + + thumb_func_start sub_0207525C +sub_0207525C: ; 0x0207525C + ldr r2, _0207526C ; =0x000005A4 + mov r3, #0x10 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075270 ; =sub_020751A0 + bx r3 + nop +_0207526C: .word 0x000005A4 +_02075270: .word sub_020751A0 + 1 + + thumb_func_start sub_02075274 +sub_02075274: ; 0x02075274 + ldr r2, _02075284 ; =0x000005A4 + mov r3, #0xe + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075288 ; =sub_020751A0 + bx r3 + nop +_02075284: .word 0x000005A4 +_02075288: .word sub_020751A0 + 1 + + thumb_func_start sub_0207528C +sub_0207528C: ; 0x0207528C + ldr r2, _0207529C ; =0x000005A4 + mov r3, #0xd + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _020752A0 ; =sub_020751A0 + bx r3 + nop +_0207529C: .word 0x000005A4 +_020752A0: .word sub_020751A0 + 1 + + thumb_func_start sub_020752A4 +sub_020752A4: ; 0x020752A4 + ldr r2, _020752B4 ; =0x000005A4 + mov r3, #0xf + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _020752B8 ; =sub_020751A0 + bx r3 + nop +_020752B4: .word 0x000005A4 +_020752B8: .word sub_020751A0 + 1 + + thumb_func_start sub_020752BC +sub_020752BC: ; 0x020752BC + ldr r2, _020752CC ; =0x000005A4 + mov r3, #0x12 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _020752D0 ; =sub_020751A0 + bx r3 + nop +_020752CC: .word 0x000005A4 +_020752D0: .word sub_020751A0 + 1 + + thumb_func_start sub_020752D4 +sub_020752D4: ; 0x020752D4 + ldr r2, _020752E4 ; =0x000005A4 + mov r3, #0xc + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _020752E8 ; =sub_020751A0 + bx r3 + nop +_020752E4: .word 0x000005A4 +_020752E8: .word sub_020751A0 + 1 + + thumb_func_start sub_020752EC +sub_020752EC: ; 0x020752EC + ldr r2, _020752FC ; =0x000005A4 + mov r3, #0x11 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075300 ; =sub_020751A0 + bx r3 + nop +_020752FC: .word 0x000005A4 +_02075300: .word sub_020751A0 + 1 + + thumb_func_start sub_02075304 +sub_02075304: ; 0x02075304 + ldr r2, _02075314 ; =0x000005A4 + mov r3, #0x13 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075318 ; =sub_020751A0 + bx r3 + nop +_02075314: .word 0x000005A4 +_02075318: .word sub_020751A0 + 1 + + thumb_func_start sub_0207531C +sub_0207531C: ; 0x0207531C + ldr r2, _0207532C ; =0x000005A4 + mov r3, #0x14 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075330 ; =sub_020751A0 + bx r3 + nop +_0207532C: .word 0x000005A4 +_02075330: .word sub_020751A0 + 1 + + thumb_func_start sub_02075334 +sub_02075334: ; 0x02075334 + ldr r2, _02075344 ; =0x000005A4 + mov r3, #0x15 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075348 ; =sub_020751A0 + bx r3 + nop +_02075344: .word 0x000005A4 +_02075348: .word sub_020751A0 + 1 + + thumb_func_start sub_0207534C +sub_0207534C: ; 0x0207534C + ldr r2, _0207535C ; =0x000005A4 + mov r3, #0x16 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075360 ; =sub_020751A0 + bx r3 + nop +_0207535C: .word 0x000005A4 +_02075360: .word sub_020751A0 + 1 + + thumb_func_start sub_02075364 +sub_02075364: ; 0x02075364 + ldr r2, _02075374 ; =0x000005A4 + mov r3, #0x17 + ldr r2, [r0, r2] + add r2, #0x23 + strb r3, [r2, #0x0] + ldr r3, _02075378 ; =sub_020751A0 + bx r3 + nop +_02075374: .word 0x000005A4 +_02075378: .word sub_020751A0 + 1 + + thumb_func_start sub_0207537C +sub_0207537C: ; 0x0207537C + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_020753B4 + str r0, [r5, #0x0] + cmp r0, #0x1a + bne _02075392 + ldr r0, _02075394 ; =0x00000B2E + mov r1, #0xd + strh r1, [r4, r0] +_02075392: + pop {r3-r5, pc} + .balign 4 +_02075394: .word 0x00000B2E + + thumb_func_start sub_02075398 +sub_02075398: ; 0x02075398 + push {r3-r5, lr} + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_020753B4 + str r0, [r5, #0x0] + cmp r0, #0x1a + bne _020753AE + ldr r0, _020753B0 ; =0x00000B2E + mov r1, #0xe + strh r1, [r4, r0] +_020753AE: + pop {r3-r5, pc} + .balign 4 +_020753B0: .word 0x00000B2E + + thumb_func_start sub_020753B4 +sub_020753B4: ; 0x020753B4 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + bl sub_02073DB4 + ldr r0, _020754A8 ; =0x00000B25 + ldrb r1, [r4, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r4, r0 + ldr r0, _020754AC ; =0x00000708 + ldrh r0, [r1, r0] + mov r1, #0x5 + blx sub_020EBC80 + ldr r1, _020754B0 ; =0x00000B28 + strh r0, [r4, r1] + sub r0, r1, #0x3 + ldrb r2, [r4, r0] + mov r0, #0x2c + mul r0, r2 + add r2, r4, r0 + ldr r0, _020754B4 ; =0x00000706 + ldrh r2, [r2, r0] + ldrh r0, [r4, r1] + cmp r2, r0 + bhi _0207540E + add r0, r4, #0x0 + mov r1, #0x8a + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _020754B8 ; =0x00000B22 + mov r1, #0x3 + strb r1, [r4, r0] + add sp, #0x4 + mov r0, #0x14 + pop {r3-r4, pc} +_0207540E: + sub r0, r1, #0x5 + ldrb r2, [r4, r0] + mov r0, #0x40 + orr r2, r0 + sub r0, r1, #0x5 + strb r2, [r4, r0] + ldrb r0, [r4, r0] + mov r2, #0x3f + bic r0, r2 + sub r2, r1, #0x3 + ldrb r3, [r4, r2] + mov r2, #0x3f + and r2, r3 + orr r2, r0 + sub r0, r1, #0x5 + strb r2, [r4, r0] + ldr r0, _020754BC ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + ldr r0, _020754BC ; =0x000005C8 + add r1, sp, #0x0 + ldr r0, [r4, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_0200C75C + ldr r0, _020754C0 ; =0x000005CC + add r3, sp, #0x0 + mov r1, #0x2 + mov r2, #0x0 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + ldr r0, [r4, r0] + bl sub_0200C6E4 + ldr r0, _020754C4 ; =0x000005A4 + ldr r1, _020754C8 ; =0x00000B23 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + add r0, #0x21 + ldrb r0, [r0, #0x0] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl sub_020714BC + add r1, r0, #0x0 + ldr r0, _020754C0 ; =0x000005CC + add r1, r1, #0x2 + ldr r0, [r4, r0] + bl sub_02020130 + ldr r0, _020754C0 ; =0x000005CC + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r1, _020754C8 ; =0x00000B23 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl sub_020709FC + add r0, r4, #0x0 + mov r1, #0x24 + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _020754CC ; =0x00000B2A + mov r1, #0x0 + strh r1, [r4, r0] + mov r0, #0x1a + add sp, #0x4 + pop {r3-r4, pc} + nop +_020754A8: .word 0x00000B25 +_020754AC: .word 0x00000708 +_020754B0: .word 0x00000B28 +_020754B4: .word 0x00000706 +_020754B8: .word 0x00000B22 +_020754BC: .word 0x000005C8 +_020754C0: .word 0x000005CC +_020754C4: .word 0x000005A4 +_020754C8: .word 0x00000B23 +_020754CC: .word 0x00000B2A + + thumb_func_start sub_020754D0 +sub_020754D0: ; 0x020754D0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02075504 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r1, r0 + beq _02075500 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0x1 + bl sub_020731C0 + ldr r0, _02075508 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x1 +_02075500: + pop {r4, pc} + nop +_02075504: .word 0x021C48B8 +_02075508: .word 0x000005C8 + + thumb_func_start sub_0207550C +sub_0207550C: ; 0x0207550C + push {r3-r5, lr} + mov r1, #0x0 + mov r2, #0xc + bl sub_0206E710 + mov r1, #0xe + add r4, r0, #0x0 + bl sub_0206E7DC + cmp r0, #0x1 + beq _0207552C + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1c + pop {r3-r5, pc} +_0207552C: + add r0, r4, #0x0 + mov r1, #0x1b + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x1c + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x1d + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x1e + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x1f + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x20 + bl sub_0206E7DC + cmp r0, #0x0 + bne _02075580 + add r0, r4, #0x0 + mov r1, #0x21 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0207558A +_02075580: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + pop {r3-r5, pc} +_0207558A: + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020755A0 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_020755A0: + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020755B6 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x2 + pop {r3-r5, pc} +_020755B6: + add r0, r4, #0x0 + mov r1, #0xf + bl sub_0206E7DC + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_0206E7DC + lsl r0, r0, #0x1 + add r5, r5, r0 + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_0206E7DC + lsl r0, r0, #0x2 + add r5, r5, r0 + add r0, r4, #0x0 + mov r1, #0x12 + bl sub_0206E7DC + lsl r0, r0, #0x3 + add r5, r5, r0 + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_0206E7DC + lsl r0, r0, #0x4 + add r5, r5, r0 + add r0, r4, #0x0 + mov r1, #0x14 + bl sub_0206E7DC + lsl r0, r0, #0x5 + add r5, r5, r0 + cmp r5, #0x10 + bgt _02075624 + bge _0207565A + cmp r5, #0x8 + bhi _0207568E + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r7, #0x1 + lsl r6, r3, #0 + lsl r0, r5, #0 + lsl r2, r7, #0x1 + lsl r2, r6, #0 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r2, r7, #0x1 + lsl r4, r7, #0 +_02075624: + cmp r5, #0x20 + bgt _0207562C + beq _02075664 + b _0207568E +_0207562C: + cmp r5, #0x3f + beq _0207566E + b _0207568E +_02075632: + .byte 0x20, 0x1C, 0xA1, 0xF7, 0xF0, 0xF9, 0x03, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7 + .byte 0xEB, 0xF9, 0x04, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7, 0xE6, 0xF9, 0x05, 0x20, 0x38, 0xBD + .byte 0x20, 0x1C, 0xA1, 0xF7, 0xE1, 0xF9, 0x06, 0x20, 0x38, 0xBD +_0207565A: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x7 + pop {r3-r5, pc} +_02075664: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x8 + pop {r3-r5, pc} +_0207566E: + add r0, r4, #0x0 + mov r1, #0x26 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02075684 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xb + pop {r3-r5, pc} +_02075684: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x9 + pop {r3-r5, pc} +_0207568E: + add r0, r4, #0x0 + mov r1, #0x15 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020756A4 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xa + pop {r3-r5, pc} +_020756A4: + add r0, r4, #0x0 + mov r1, #0x26 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020756BA + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xb + pop {r3-r5, pc} +_020756BA: + add r0, r4, #0x0 + mov r1, #0x30 + bl sub_0206E7DC + cmp r0, #0x0 + ble _020756D0 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xc + pop {r3-r5, pc} +_020756D0: + bge _020756DC + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x12 + pop {r3-r5, pc} +_020756DC: + add r0, r4, #0x0 + mov r1, #0x31 + bl sub_0206E7DC + cmp r0, #0x0 + ble _020756F2 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xd + pop {r3-r5, pc} +_020756F2: + bge _020756FE + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x13 + pop {r3-r5, pc} +_020756FE: + add r0, r4, #0x0 + mov r1, #0x32 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02075714 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xe + pop {r3-r5, pc} +_02075714: + bge _02075720 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x14 + pop {r3-r5, pc} +_02075720: + add r0, r4, #0x0 + mov r1, #0x33 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02075736 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0xf + pop {r3-r5, pc} +_02075736: + bge _02075742 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x15 + pop {r3-r5, pc} +_02075742: + add r0, r4, #0x0 + mov r1, #0x34 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02075758 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x10 + pop {r3-r5, pc} +_02075758: + bge _02075764 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x16 + pop {r3-r5, pc} +_02075764: + add r0, r4, #0x0 + mov r1, #0x35 + bl sub_0206E7DC + cmp r0, #0x0 + ble _0207577A + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x11 + pop {r3-r5, pc} +_0207577A: + bge _02075786 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x17 + pop {r3-r5, pc} +_02075786: + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_0206E7DC + cmp r0, #0x0 + beq _0207579C + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x18 + pop {r3-r5, pc} +_0207579C: + add r0, r4, #0x0 + mov r1, #0x22 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020757B2 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x19 + pop {r3-r5, pc} +_020757B2: + add r0, r4, #0x0 + mov r1, #0x23 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020757C8 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1a + pop {r3-r5, pc} +_020757C8: + add r0, r4, #0x0 + mov r1, #0x24 + bl sub_0206E7DC + cmp r0, #0x0 + bne _020757E0 + add r0, r4, #0x0 + mov r1, #0x25 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020757EA +_020757E0: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1b + pop {r3-r5, pc} +_020757EA: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1c + pop {r3-r5, pc} + + thumb_func_start sub_020757F4 +sub_020757F4: ; 0x020757F4 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, _02075B8C ; =0x000005A4 + add r6, r1, #0x0 + ldr r1, _02075B90 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + add r5, r2, #0x0 + bl sub_0206B9B0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ACF8 + add r0, r6, #0x0 + bl sub_0207550C + cmp r0, #0x1b + bls _02075828 + b _02075C40 +_02075828: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0x10 + lsl r2, r1, #0x10 + lsl r2, r1, #0x10 + lsl r2, r3, #0x1 + lsl r6, r6, #0 + lsl r6, r7, #0x1 + lsl r2, r4, #0x2 + lsl r6, r0, #0x3 + lsl r2, r5, #0x3 + lsl r2, r6, #0x4 + lsl r6, r1, #0x4 + lsl r2, r1, #0x10 + lsl r6, r2, #0x5 + lsl r0, r1, #0x6 + lsl r2, r7, #0x6 + lsl r4, r5, #0x7 + lsl r6, r3, #0x8 + lsl r0, r2, #0x9 + lsl r2, r0, #0xa + lsl r6, r6, #0xa + lsl r2, r5, #0xb + lsl r6, r3, #0xc + lsl r2, r2, #0xd + lsl r4, r2, #0xe + lsl r2, r1, #0x10 + lsl r0, r1, #0xf + lsl r0, r1, #0xf + lsl r2, r7, #0xf + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x41 + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + pop {r4-r6, pc} +_02075890: + .byte 0xC0, 0x48, 0x5B, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x3D, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 + .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x86, 0xFF, 0x28, 0x1C, 0xAC, 0xF7 + .byte 0xB7, 0xF8, 0x70, 0xBD, 0xB7, 0x48, 0x43, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x2B, 0xF8, 0x6A, 0x21 + .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x74, 0xFF + .byte 0x28, 0x1C, 0xAC, 0xF7, 0xA5, 0xF8, 0x70, 0xBD, 0xAE, 0x48, 0x44, 0x21, 0x20, 0x58, 0x95, 0xF7 + .byte 0x19, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C + .byte 0x95, 0xF7, 0x62, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x93, 0xF8, 0x70, 0xBD, 0xA5, 0x48, 0x42, 0x21 + .byte 0x20, 0x58, 0x95, 0xF7, 0x07, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D + .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x81, 0xF8, 0x70, 0xBD + .byte 0x9C, 0x48, 0x49, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xF5, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 + .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x3E, 0xFF, 0x28, 0x1C, 0xAC, 0xF7 + .byte 0x6F, 0xF8, 0x70, 0xBD, 0x93, 0x48, 0x4A, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xE3, 0xFF, 0x6A, 0x21 + .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x2C, 0xFF + .byte 0x28, 0x1C, 0xAC, 0xF7, 0x5D, 0xF8, 0x70, 0xBD, 0x8A, 0x48, 0x47, 0x21, 0x20, 0x58, 0x94, 0xF7 + .byte 0xD1, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C + .byte 0x95, 0xF7, 0x1A, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x4B, 0xF8, 0x70, 0xBD, 0x81, 0x48, 0x4B, 0x21 + .byte 0x20, 0x58, 0x94, 0xF7, 0xBF, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21 + .byte 0x00, 0x22, 0x95, 0xF7, 0xD5, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 + .byte 0x2A, 0x1C, 0x95, 0xF7, 0x01, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x32, 0xF8, 0x70, 0xBD, 0x75, 0x48 + .byte 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xA6, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21 + .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0xBC, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D + .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xE8, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x19, 0xF8, 0x70, 0xBD + .byte 0x68, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x8D, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01 + .byte 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0xA3, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 + .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xCF, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x00, 0xF8 + .byte 0x70, 0xBD, 0x5C, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x74, 0xFF, 0x05, 0x1C, 0x6A, 0x20 + .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0x8A, 0xFA, 0x6A, 0x21, 0x09, 0x01 + .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xB6, 0xFE, 0x28, 0x1C, 0xAB, 0xF7 + .byte 0xE7, 0xFF, 0x70, 0xBD, 0x4F, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x5B, 0xFF, 0x05, 0x1C + .byte 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7, 0x71, 0xFA, 0x6A, 0x21 + .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x9D, 0xFE, 0x28, 0x1C + .byte 0xAB, 0xF7, 0xCE, 0xFF, 0x70, 0xBD, 0x43, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x42, 0xFF + .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x05, 0x22, 0x95, 0xF7, 0x58, 0xFA + .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x84, 0xFE + .byte 0x28, 0x1C, 0xAB, 0xF7, 0xB5, 0xFF, 0x70, 0xBD, 0x36, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C + .byte 0x94, 0xF7, 0x28, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x00, 0x22 + .byte 0x95, 0xF7, 0x3E, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C + .byte 0x95, 0xF7, 0x6A, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x9B, 0xFF, 0x70, 0xBD, 0x29, 0x48, 0x6E, 0x35 + .byte 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0x0E, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21 + .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0x24, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D + .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x81, 0xFF, 0x70, 0xBD + .byte 0x1C, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xF4, 0xFE, 0x05, 0x1C, 0x6A, 0x20 + .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0x0A, 0xFA, 0x6A, 0x21, 0x09, 0x01 + .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x36, 0xFE, 0x28, 0x1C, 0xAB, 0xF7 + .byte 0x67, 0xFF, 0x70, 0xBD, 0x0F, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xDA, 0xFE + .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0xF0, 0xF9 + .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x1C, 0xFE + .byte 0x28, 0x1C, 0xAB, 0xF7, 0x4D, 0xFF, 0x70, 0xBD, 0x02, 0x48, 0x05, 0xE0 +_02075B8C: .word 0x000005A4 +_02075B90: .word 0x00000B25 +_02075B94: .word 0x0000069C +_02075B98: + .byte 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7 + .byte 0xB9, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7 + .byte 0xCF, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7 + .byte 0xFB, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x2C, 0xFF, 0x70, 0xBD, 0x21, 0x48, 0x6E, 0x35, 0x20, 0x58 + .byte 0x29, 0x1C, 0x94, 0xF7, 0x9F, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21 + .byte 0x05, 0x22, 0x95, 0xF7, 0xB5, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 + .byte 0x2A, 0x1C, 0x95, 0xF7, 0xE1, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x12, 0xFF, 0x70, 0xBD, 0x14, 0x48 + .byte 0x48, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x86, 0xFE, 0x06, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58 + .byte 0x00, 0x21, 0x2A, 0x1C, 0x95, 0xF7, 0xA2, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D + .byte 0x61, 0x58, 0x32, 0x1C, 0x95, 0xF7, 0xC8, 0xFD, 0x30, 0x1C, 0xAB, 0xF7, 0xF9, 0xFE, 0x70, 0xBD + .byte 0x07, 0x4A, 0x45, 0x21, 0xA0, 0x58, 0x08, 0x32, 0xA2, 0x58, 0x94, 0xF7, 0x51, 0xFE, 0x70, 0xBD +_02075C40: + ldr r2, _02075C50 ; =0x0000069C + mov r1, #0x69 + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + bl sub_0200A8E0 + pop {r4-r6, pc} + .balign 4 +_02075C50: .word 0x0000069C + + thumb_func_start sub_02075C54 +sub_02075C54: ; 0x02075C54 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02075CCC ; =0x000005A4 + ldr r0, [r4, r0] + ldrh r0, [r0, #0x24] + bl sub_0207550C + cmp r0, #0x1c + bhi _02075CCA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0x1 + lsl r6, r2, #0x1 + lsl r0, r7, #0 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r2, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r0, r1, #0x1 + lsl r6, r2, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r0, r0, #0x1 + lsl r6, r2, #0x1 + ldr r1, _02075CD0 ; =sub_0207640C + ldr r0, _02075CD4 ; =0x00000B14 + str r1, [r4, r0] + pop {r4, pc} +_02075CB4: + .byte 0x08, 0x49, 0x07, 0x48, 0x21, 0x50, 0x10, 0xBD, 0x07, 0x49, 0x05, 0x48 + .byte 0x21, 0x50, 0x10, 0xBD, 0x06, 0x49, 0x03, 0x48, 0x21, 0x50 +_02075CCA: + pop {r4, pc} + .balign 4 +_02075CCC: .word 0x000005A4 +_02075CD0: .word sub_0207640C + 1 +_02075CD4: .word 0x00000B14 +_02075CD8: + .byte 0x21, 0x5D, 0x07, 0x02, 0xC1, 0x5D, 0x07, 0x02 + .byte 0x61, 0x5F, 0x07, 0x02 + + thumb_func_start sub_02075CE4 +sub_02075CE4: ; 0x02075CE4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02075D14 ; =0x00000B24 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + beq _02075CF8 + mov r0, #0x5 + pop {r4, pc} +_02075CF8: + ldr r0, _02075D18 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02075D10 + ldr r0, _02075D1C ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + mov r0, #0x1b + pop {r4, pc} +_02075D10: + mov r0, #0x5 + pop {r4, pc} + .balign 4 +_02075D14: .word 0x00000B24 +_02075D18: .word 0x021C48B8 +_02075D1C: .word 0x000005A4 + + thumb_func_start sub_02075D20 +sub_02075D20: ; 0x02075D20 + push {r3-r5, lr} + sub sp, #0x8 + ldr r1, _02075DA8 ; =0x000005A4 + add r5, r0, #0x0 + ldr r4, [r5, r1] + bl sub_020772CC + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r2, _02075DAC ; =0x00000B25 + ldrh r1, [r4, #0x24] + ldrb r2, [r5, r2] + ldr r0, [r4, #0x0] + mov r3, #0x0 + bl sub_02084DD0 + ldr r1, _02075DAC ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_0207008C + ldr r1, _02075DAC ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072D1C + ldr r1, _02075DAC ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072DDC + ldr r0, _02075DAC ; =0x00000B25 + mov r2, #0x2c + ldrb r1, [r5, r0] + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02075DB0 ; =0x0000070E + ldrh r2, [r3, r2] + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + ldr r1, _02075DA8 ; =0x000005A4 + add r0, r5, #0x0 + ldr r1, [r5, r1] + mov r2, #0x0 + ldrh r1, [r1, #0x24] + bl sub_020757F4 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02075DB4 ; =0x000005EC + bl sub_020054C8 + ldr r1, _02075DB8 ; =sub_02075CE4 + ldr r0, _02075DBC ; =0x00000B14 + str r1, [r5, r0] + mov r0, #0x5 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_02075DA8: .word 0x000005A4 +_02075DAC: .word 0x00000B25 +_02075DB0: .word 0x0000070E +_02075DB4: .word 0x000005EC +_02075DB8: .word sub_02075CE4 + 1 +_02075DBC: .word 0x00000B14 + + thumb_func_start sub_02075DC0 +sub_02075DC0: ; 0x02075DC0 + push {r3-r7, lr} + sub sp, #0x20 + add r5, r0, #0x0 + ldr r0, _02075F4C ; =0x000005A4 + ldr r1, _02075F50 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xd + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x1c] + add r0, r4, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, _02075F4C ; =0x000005A4 + ldr r6, [r5, r0] + add r0, r5, #0x0 + bl sub_020772CC + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r2, _02075F50 ; =0x00000B25 + ldrh r1, [r6, #0x24] + ldrb r2, [r5, r2] + ldr r0, [r6, #0x0] + mov r3, #0x0 + bl sub_02084DD0 + ldr r1, _02075F50 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_0207008C + ldr r1, _02075F50 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072D1C + ldr r1, _02075F50 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072DDC + ldr r0, _02075F50 ; =0x00000B25 + mov r2, #0x2c + ldrb r1, [r5, r0] + add r0, r5, #0x0 + mul r2, r1 + add r3, r5, r2 + ldr r2, _02075F54 ; =0x0000070E + ldrh r2, [r3, r2] + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r0, r4, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x1c] + cmp r1, r0 + bne _02075EFA + add r0, r4, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x18] + cmp r1, r0 + bne _02075EFA + add r0, r4, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x14] + cmp r1, r0 + bne _02075EFA + add r0, r4, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x10] + cmp r1, r0 + bne _02075EFA + add r0, r4, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0xc] + cmp r1, r0 + bne _02075EFA + add r0, r4, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x8] + cmp r1, r0 + beq _02075F26 +_02075EFA: + add r0, r4, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + cmp r7, r0 + ldr r1, _02075F4C ; =0x000005A4 + beq _02075F18 + ldr r1, [r5, r1] + add r0, r5, #0x0 + ldrh r1, [r1, #0x24] + mov r2, #0x0 + bl sub_020757F4 + b _02075F34 +_02075F18: + ldr r1, [r5, r1] + add r0, r5, #0x0 + ldrh r1, [r1, #0x24] + mov r2, #0x1 + bl sub_020757F4 + b _02075F34 +_02075F26: + ldr r1, _02075F4C ; =0x000005A4 + add r0, r5, #0x0 + ldr r1, [r5, r1] + mov r2, #0x2 + ldrh r1, [r1, #0x24] + bl sub_020757F4 +_02075F34: + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _02075F58 ; =sub_02075CE4 + ldr r0, _02075F5C ; =0x00000B14 + str r1, [r5, r0] + mov r0, #0x5 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_02075F4C: .word 0x000005A4 +_02075F50: .word 0x00000B25 +_02075F54: .word 0x0000070E +_02075F58: .word sub_02075CE4 + 1 +_02075F5C: .word 0x00000B14 + + thumb_func_start sub_02075F60 +sub_02075F60: ; 0x02075F60 + push {r4-r7, lr} + sub sp, #0xc + ldr r1, _02076080 ; =0x000005A4 + add r5, r0, #0x0 + ldr r4, [r5, r1] + bl sub_020772CC + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r2, _02076084 ; =0x00000B25 + ldrh r1, [r4, #0x24] + ldrb r2, [r5, r2] + ldr r0, [r4, #0x0] + mov r3, #0x0 + bl sub_02084DD0 + ldr r0, _02076080 ; =0x000005A4 + ldr r1, _02076084 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xa2 + mov r2, #0x0 + str r0, [sp, #0x8] + bl sub_020671BC + add r4, r0, #0x0 + ldr r0, _02076084 ; =0x00000B25 + ldrb r1, [r5, r0] + mov r0, #0x2c + mul r0, r1 + add r1, r5, r0 + ldr r0, _02076088 ; =0x00000706 + ldrh r1, [r1, r0] + cmp r1, #0x0 + bne _02075FBC + sub r0, #0x6a + ldr r0, [r5, r0] + mov r1, #0x46 + bl sub_0200A914 + add r7, r0, #0x0 + b _02075FDA +_02075FBC: + cmp r4, r1 + bne _02075FCE + sub r0, #0x6a + ldr r0, [r5, r0] + mov r1, #0x47 + bl sub_0200A914 + add r7, r0, #0x0 + b _02075FDA +_02075FCE: + sub r0, #0x6a + ldr r0, [r5, r0] + mov r1, #0x40 + bl sub_0200A914 + add r7, r0, #0x0 +_02075FDA: + ldr r0, [sp, #0x8] + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r0, #0x0 + mov r3, #0x6a + str r0, [sp, #0x0] + mov r1, #0x1 + ldr r2, _02076084 ; =0x00000B25 + str r1, [sp, #0x4] + ldrb r6, [r5, r2] + mov r2, #0x2c + lsl r3, r3, #0x4 + mul r2, r6 + ldr r0, [r5, r3] + add r2, r5, r2 + add r3, #0x66 + ldrh r2, [r2, r3] + mov r3, #0x3 + sub r2, r4, r2 + bl sub_0200AD38 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r7, #0x0 + bl sub_0200B7B8 + add r0, r7, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x8] + bl sub_0207C2D4 + add r4, r0, #0x0 + ldr r1, _02076084 ; =0x00000B25 + lsl r2, r4, #0x18 + ldrb r1, [r5, r1] + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02073A4C + cmp r4, #0x7 + bne _02076062 + ldr r1, _02076084 ; =0x00000B25 + ldr r0, _0207608C ; =0x0000070E + ldrb r3, [r5, r1] + add r2, r5, r0 + mov r0, #0x2c + mul r0, r3 + ldrh r4, [r2, r0] + ldr r3, _02076090 ; =0xFFFFF000 + and r4, r3 + mov r3, #0x7 + orr r3, r4 + strh r3, [r2, r0] + ldrb r1, [r5, r1] + add r0, r5, #0x0 + bl sub_02072B20 +_02076062: + ldr r1, _02076084 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_020709FC + ldr r1, _02076094 ; =sub_020760A0 + ldr r0, _02076098 ; =0x00000B14 + str r1, [r5, r0] + ldr r0, _0207609C ; =0x000005EC + bl sub_020054C8 + mov r0, #0x5 + add sp, #0xc + pop {r4-r7, pc} + nop +_02076080: .word 0x000005A4 +_02076084: .word 0x00000B25 +_02076088: .word 0x00000706 +_0207608C: .word 0x0000070E +_02076090: .word 0xFFFFF000 +_02076094: .word sub_020760A0 + 1 +_02076098: .word 0x00000B14 +_0207609C: .word 0x000005EC + + thumb_func_start sub_020760A0 +sub_020760A0: ; 0x020760A0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076130 ; =0x000005A4 + ldr r1, _02076134 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _02076134 ; =0x00000B25 + add r4, r0, #0x0 + ldrb r2, [r5, r1] + ldr r0, _02076138 ; =0x00000706 + mov r1, #0x2c + add r3, r2, #0x0 + add r0, r5, r0 + mul r3, r1 + ldrh r1, [r0, r3] + cmp r4, r1 + beq _020760D4 + add r1, r1, #0x1 + strh r1, [r0, r3] +_020760D4: + ldr r1, _02076134 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072BBC + ldr r1, _02076134 ; =0x00000B25 + add r0, r5, #0x4 + ldrb r2, [r5, r1] + lsl r1, r2, #0x2 + add r1, r2, r1 + add r1, r1, #0x3 + lsl r1, r1, #0x4 + add r0, r0, r1 + mov r1, #0x0 + bl sub_02019620 + ldr r1, _02076134 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072B7C + ldr r1, _02076134 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072C28 + ldr r0, _02076134 ; =0x00000B25 + mov r1, #0x2c + ldrb r0, [r5, r0] + add r2, r0, #0x0 + mul r2, r1 + ldr r0, _02076138 ; =0x00000706 + add r2, r5, r2 + ldrh r0, [r2, r0] + cmp r4, r0 + bne _0207612C + add r0, r5, #0x0 + sub r1, #0x2d + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _0207613C ; =sub_02075CE4 + ldr r0, _02076140 ; =0x00000B14 + str r1, [r5, r0] +_0207612C: + mov r0, #0x5 + pop {r3-r5, pc} + .balign 4 +_02076130: .word 0x000005A4 +_02076134: .word 0x00000B25 +_02076138: .word 0x00000706 +_0207613C: .word sub_02075CE4 + 1 +_02076140: .word 0x00000B14 + + thumb_func_start sub_02076144 +sub_02076144: ; 0x02076144 + push {r3, lr} + mov r1, #0x18 + mov r2, #0xc + bl sub_0206E7B8 + cmp r0, #0x0 + beq _02076156 + mov r0, #0x1 + pop {r3, pc} +_02076156: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207615C +sub_0207615C: ; 0x0207615C + push {r3-r6} + cmp r1, #0x6 + blo _02076168 + mov r0, #0xff + pop {r3-r6} + bx lr +_02076168: + bhs _02076194 + ldr r2, _0207619C ; =0x00000706 + mov r3, #0x2c + add r4, r2, #0x0 + add r4, #0x23 +_02076172: + add r5, r1, #0x0 + mul r5, r3 + add r6, r0, r5 + ldrb r5, [r6, r4] + cmp r5, #0x0 + beq _0207618A + ldrh r5, [r6, r2] + cmp r5, #0x0 + bne _0207618A + add r0, r1, #0x0 + pop {r3-r6} + bx lr +_0207618A: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x6 + blo _02076172 +_02076194: + mov r0, #0xff + pop {r3-r6} + bx lr + nop +_0207619C: .word 0x00000706 + + thumb_func_start sub_020761A0 +sub_020761A0: ; 0x020761A0 + push {r3-r7, lr} + ldr r1, _020763DC ; =0x00000B22 + add r4, r0, #0x0 + ldrb r2, [r4, r1] + cmp r2, #0x3 + bls _020761AE + b _020763D6 +_020761AE: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r0, #0 + lsl r6, r2, #0x1 + lsl r0, r4, #0x4 + lsl r4, r4, #0x6 + mov r1, #0x0 + bl sub_0207615C + ldr r1, _020763E0 ; =0x00000B25 + strb r0, [r4, r1] + ldrb r0, [r4, r1] + cmp r0, #0xff + bne _02076206 + ldr r2, _020763E4 ; =0x0000069C + mov r1, #0x69 + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _020763E8 ; =sub_02075CE4 + ldr r0, _020763EC ; =0x00000B14 + mov r2, #0x1 + str r1, [r4, r0] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02073CB4 + ldr r0, _020763E0 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] + mov r0, #0x5 + pop {r3-r7, pc} +_02076206: + cmp r0, #0x0 + beq _02076212 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_020709FC +_02076212: + ldr r0, _020763F0 ; =0x000005A4 + ldr r1, _020763E0 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_020772CC + add r3, r0, #0x0 + mov r0, #0xc + str r0, [sp, #0x0] + ldr r1, _020763F0 ; =0x000005A4 + add r0, r5, #0x0 + ldr r1, [r4, r1] + mov r2, #0x0 + ldrh r1, [r1, #0x24] + bl sub_02084810 + add r0, r5, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + ldr r0, _020763E4 ; =0x0000069C + mov r1, #0x46 + ldr r0, [r4, r0] + bl sub_0200A914 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r6, #0x0 + bl sub_0200B7B8 + add r0, r6, #0x0 + bl sub_02021A20 + ldr r7, _020763E0 ; =0x00000B25 + ldr r3, _020763F4 ; =0x0000070E + ldrb r5, [r4, r7] + mov r2, #0x2c + add r1, r4, r3 + add r0, r5, #0x0 + mul r0, r2 + ldrh r6, [r1, r0] + ldr r5, _020763F8 ; =0xFFFFF000 + and r6, r5 + mov r5, #0x7 + orr r5, r6 + strh r5, [r1, r0] + ldrb r1, [r4, r7] + add r0, r4, #0x0 + mul r2, r1 + add r2, r4, r2 + ldrh r2, [r2, r3] + lsl r2, r2, #0x14 + lsr r2, r2, #0x14 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl sub_02073A4C + add r1, r7, #0x0 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + bl sub_02072B20 + add r1, r7, #0x0 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + bl sub_020709FC + add r1, r7, #0x0 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + mov r2, #0x1 + bl sub_02073CB4 + ldr r0, _020763FC ; =0x000005EC + bl sub_020054C8 + sub r0, r7, #0x3 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + b _020763D6 +_020762DC: + .byte 0x44, 0x48, 0xC9, 0x1C + .byte 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x63, 0xFB, 0xA2, 0x21, 0x00, 0x22, 0xF0, 0xF7 + .byte 0x65, 0xFF, 0x3B, 0x4A, 0x05, 0x1C, 0x42, 0x48, 0xA3, 0x5C, 0x21, 0x18, 0x2C, 0x20, 0x58, 0x43 + .byte 0x0B, 0x5A, 0x5B, 0x1C, 0x0B, 0x52, 0xA1, 0x5C, 0x20, 0x1C, 0xFC, 0xF7, 0x57, 0xFC, 0x34, 0x49 + .byte 0x20, 0x1D, 0x62, 0x5C, 0x91, 0x00, 0x51, 0x18, 0xC9, 0x1C, 0x09, 0x01, 0x40, 0x18, 0x00, 0x21 + .byte 0xA3, 0xF7, 0x7E, 0xF9, 0x2E, 0x49, 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x27, 0xFC, 0x2C, 0x49 + .byte 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x78, 0xFC, 0x29, 0x48, 0x2C, 0x21, 0x20, 0x5C, 0x02, 0x1C + .byte 0x4A, 0x43, 0x2F, 0x48, 0xA2, 0x18, 0x10, 0x5A, 0x85, 0x42, 0x44, 0xD1, 0x20, 0x1C, 0x2D, 0x39 + .byte 0x01, 0x22, 0xFC, 0xF7, 0x49, 0xFF, 0x21, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x3A, 0xE0 + .byte 0x88, 0x1C, 0x20, 0x5C, 0xA5, 0xF7, 0x04, 0xFD, 0x00, 0x28, 0x34, 0xD1, 0x25, 0x48, 0x81, 0x6C + .byte 0x03, 0x20, 0x08, 0x42, 0x2F, 0xD0, 0x24, 0x48, 0x8F, 0xF7, 0xA6, 0xF8, 0x18, 0x48, 0x25, 0x5C + .byte 0x20, 0x1C, 0x69, 0x1C, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0xE8, 0xFE, 0x14, 0x49, 0x60, 0x54 + .byte 0x60, 0x5C, 0xFF, 0x28, 0x0D, 0xD0, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x00, 0x21, 0x96, 0xF7 + .byte 0x9F, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0xFA, 0xF7, 0x29, 0xFB, 0x0C, 0x48, 0x01, 0x21, 0x21, 0x54 + .byte 0x11, 0xE0, 0x0F, 0x48, 0x01, 0x22, 0x21, 0x58, 0x0C, 0x23, 0x48, 0x68, 0x89, 0x8C, 0xF8, 0xF7 + .byte 0x09, 0xFD, 0x0B, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x04, 0x48, 0x07, 0x21 + .byte 0x21, 0x54, 0x1B, 0x20, 0xF8, 0xBD +_020763D6: + mov r0, #0x7 + pop {r3-r7, pc} + nop +_020763DC: .word 0x00000B22 +_020763E0: .word 0x00000B25 +_020763E4: .word 0x0000069C +_020763E8: .word sub_02075CE4 + 1 +_020763EC: .word 0x00000B14 +_020763F0: .word 0x000005A4 +_020763F4: .word 0x0000070E +_020763F8: .word 0xFFFFF000 +_020763FC: .word 0x000005EC +_02076400: + .byte 0x06, 0x07, 0x00, 0x00, 0xB8, 0x48, 0x1C, 0x02, 0xDC, 0x05, 0x00, 0x00 + + thumb_func_start sub_0207640C +sub_0207640C: ; 0x0207640C + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _020765B0 ; =0x000005A4 + ldr r1, _020765B4 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + mov r1, #0xa3 + mov r2, #0x0 + add r4, r0, #0x0 + bl sub_020671BC + ldr r1, _020765B8 ; =0x00000B28 + mov r2, #0x0 + strh r0, [r5, r1] + add r0, r4, #0x0 + mov r1, #0xa4 + bl sub_020671BC + ldr r1, _020765BC ; =0x00000B2A + mov r2, #0x0 + strh r0, [r5, r1] + add r0, r4, #0x0 + mov r1, #0xa5 + bl sub_020671BC + ldr r1, _020765C0 ; =0x00000B2C + mov r2, #0x0 + strh r0, [r5, r1] + add r0, r4, #0x0 + mov r1, #0xa7 + bl sub_020671BC + ldr r1, _020765C4 ; =0x00000B2E + mov r2, #0x0 + strh r0, [r5, r1] + add r0, r4, #0x0 + mov r1, #0xa8 + bl sub_020671BC + mov r1, #0xb3 + lsl r1, r1, #0x4 + strh r0, [r5, r1] + add r0, r4, #0x0 + mov r1, #0xa6 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020765C8 ; =0x00000B32 + strh r0, [r5, r1] + ldr r0, _020765B0 ; =0x000005A4 + ldr r6, [r5, r0] + add r0, r5, #0x0 + bl sub_020772CC + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r2, _020765B4 ; =0x00000B25 + ldrh r1, [r6, #0x24] + ldrb r2, [r5, r2] + ldr r0, [r6, #0x0] + mov r3, #0x0 + bl sub_02084DD0 + add r0, r4, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020765B4 ; =0x00000B25 + ldrb r2, [r5, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r5, r1 + ldr r1, _020765CC ; =0x0000070A + strh r0, [r2, r1] + add r0, r4, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020765B4 ; =0x00000B25 + ldrb r2, [r5, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r5, r1 + ldr r1, _020765D0 ; =0x00000706 + strh r0, [r2, r1] + add r0, r4, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020765B4 ; =0x00000B25 + ldrb r2, [r5, r1] + mov r1, #0x2c + mul r1, r2 + add r2, r5, r1 + ldr r1, _020765D4 ; =0x00000708 + strh r0, [r2, r1] + sub r1, #0x6c + ldr r0, [r5, r1] + mov r1, #0xc1 + bl sub_0200A914 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r0, #0x0 + mov r3, #0x6a + str r0, [sp, #0x0] + mov r1, #0x1 + ldr r2, _020765B4 ; =0x00000B25 + str r1, [sp, #0x4] + ldrb r6, [r5, r2] + mov r2, #0x2c + lsl r3, r3, #0x4 + mul r2, r6 + ldr r0, [r5, r3] + add r2, r5, r2 + add r3, #0x6a + ldrh r2, [r2, r3] + mov r3, #0x3 + bl sub_0200AD38 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r7, #0x0 + bl sub_0200B7B8 + add r0, r7, #0x0 + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_0207C2D4 + add r4, r0, #0x0 + ldr r1, _020765B4 ; =0x00000B25 + lsl r2, r4, #0x18 + ldrb r1, [r5, r1] + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_02073A4C + cmp r4, #0x7 + bne _0207656E + ldr r1, _020765B4 ; =0x00000B25 + ldr r0, _020765D8 ; =0x0000070E + ldrb r3, [r5, r1] + add r2, r5, r0 + mov r0, #0x2c + mul r0, r3 + ldrh r4, [r2, r0] + ldr r3, _020765DC ; =0xFFFFF000 + and r4, r3 + mov r3, #0x7 + orr r3, r4 + strh r3, [r2, r0] + ldrb r1, [r5, r1] + add r0, r5, #0x0 + bl sub_02072B20 +_0207656E: + ldr r1, _020765B4 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_020709FC + ldr r0, _020765E0 ; =sub_020760A0 + ldr r1, _020765E4 ; =0x00000B14 + str r0, [r5, r1] + add r1, #0x11 + ldrb r1, [r5, r1] + add r0, r5, #0x0 + bl sub_02072D1C + ldr r1, _020765B4 ; =0x00000B25 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_02072DDC + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r1, _020765E8 ; =sub_020765EC + ldr r0, _020765E4 ; =0x00000B14 + str r1, [r5, r0] + mov r1, #0x0 + add r0, #0x13 + strb r1, [r5, r0] + mov r0, #0x5 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020765B0: .word 0x000005A4 +_020765B4: .word 0x00000B25 +_020765B8: .word 0x00000B28 +_020765BC: .word 0x00000B2A +_020765C0: .word 0x00000B2C +_020765C4: .word 0x00000B2E +_020765C8: .word 0x00000B32 +_020765CC: .word 0x0000070A +_020765D0: .word 0x00000706 +_020765D4: .word 0x00000708 +_020765D8: .word 0x0000070E +_020765DC: .word 0xFFFFF000 +_020765E0: .word sub_020760A0 + 1 +_020765E4: .word 0x00000B14 +_020765E8: .word sub_020765EC + 1 + + thumb_func_start sub_020765EC +sub_020765EC: ; 0x020765EC + push {r3-r5, lr} + ldr r1, _0207686C ; =0x00000B27 + add r4, r0, #0x0 + ldrb r0, [r4, r1] + cmp r0, #0x6 + bhi _020766A8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r6, r6, #0 + lsl r4, r2, #0x1 + lsl r2, r7, #0x1 + lsl r2, r7, #0x5 + lsl r6, r3, #0x6 + lsl r6, r1, #0x8 + sub r0, r1, #0x3 + ldrb r0, [r4, r0] + bl sub_0201BD70 + cmp r0, #0x0 + bne _020766A8 + ldr r0, _02076870 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _020766A8 + ldr r0, _02076874 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_020734C0 + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x1 + strb r1, [r4, r0] + b _02076868 +_0207663C: + .byte 0x8C, 0x48, 0x81, 0x6C + .byte 0x03, 0x20, 0x08, 0x42, 0x30, 0xD0, 0x8B, 0x48, 0x8E, 0xF7, 0x3E, 0xFF, 0x20, 0x1C, 0xFC, 0xF7 + .byte 0xF5, 0xFF, 0x86, 0x48, 0x02, 0x21, 0x21, 0x54, 0x06, 0xE1, 0x85, 0x48, 0x81, 0x6C, 0x03, 0x20 + .byte 0x08, 0x42, 0x21, 0xD0, 0x83, 0x48, 0x8E, 0xF7, 0x2F, 0xFF, 0x20, 0x1C, 0xFD, 0xF7, 0x42, 0xF8 + .byte 0x7E, 0x48, 0x03, 0x21, 0x21, 0x54, 0x80, 0x48, 0x00, 0x21, 0x20, 0x58, 0x41, 0x63, 0xF3, 0xE0 + .byte 0x7D, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x91, 0xF9, 0x7A, 0x49 + .byte 0x05, 0x1C, 0x62, 0x58, 0x11, 0x1C, 0x34, 0x31, 0x26, 0x32, 0xF3, 0xF7, 0xBD, 0xF8, 0x00, 0x28 + .byte 0x07, 0xD0, 0x76, 0x49, 0x88, 0x42, 0x00, 0xD1 +_020766A8: + b _02076868 +_020766AA: + .byte 0x49, 0x1C, 0x88, 0x42, 0x04, 0xD0 + .byte 0x38, 0xE0, 0x6E, 0x48, 0x06, 0x21, 0x21, 0x54, 0xD6, 0xE0, 0x28, 0x1C, 0xF2, 0xF7, 0x12, 0xFD + .byte 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0x15, 0xFB, 0x6A, 0x22 + .byte 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A, 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x3E, 0xFB + .byte 0x67, 0x48, 0x34, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x15, 0xF9, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 + .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x5E, 0xF8, 0x28, 0x1C, 0xAB, 0xF7 + .byte 0x8F, 0xF9, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x6D, 0xFD, 0x5D, 0x48 + .byte 0x5D, 0x49, 0x5E, 0x4A, 0x60, 0x50, 0x08, 0x1D, 0x22, 0x50, 0x16, 0x20, 0x0A, 0x31, 0x60, 0x54 + .byte 0x14, 0x20, 0x38, 0xBD, 0x28, 0x1C, 0xF2, 0xF7, 0xDD, 0xFC, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01 + .byte 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0xE0, 0xFA, 0x6A, 0x22, 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A + .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x09, 0xFB, 0x4D, 0x48, 0xC2, 0x21, 0x20, 0x58 + .byte 0x94, 0xF7, 0xE0, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 + .byte 0x2A, 0x1C, 0x95, 0xF7, 0x29, 0xF8, 0x28, 0x1C, 0xAB, 0xF7, 0x5A, 0xF9, 0x00, 0x21, 0x20, 0x1C + .byte 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x38, 0xFD, 0x3C, 0x48, 0x04, 0x21, 0x21, 0x54, 0x73, 0xE0 + .byte 0xC8, 0x1E, 0x20, 0x5C, 0xA5, 0xF7, 0xF4, 0xFA, 0x00, 0x28, 0x6D, 0xD1, 0x38, 0x48, 0x81, 0x6C + .byte 0x03, 0x20, 0x08, 0x42, 0x68, 0xD0, 0x37, 0x48, 0x8E, 0xF7, 0x96, 0xFE, 0x33, 0x48, 0x03, 0x21 + .byte 0x21, 0x54, 0x61, 0xE0, 0x32, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x5C, 0xD0, 0x32, 0x48 + .byte 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x2E, 0x4A, 0x01, 0x1C + .byte 0xA2, 0x58, 0x20, 0x1C, 0x28, 0x32, 0x12, 0x78, 0x00, 0xF0, 0xB0, 0xFB, 0x2C, 0x48, 0x3D, 0x21 + .byte 0x20, 0x58, 0x94, 0xF7, 0x9F, 0xF8, 0x6A, 0x22, 0x12, 0x01, 0x05, 0x1C, 0xA0, 0x58, 0xFC, 0x3A + .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0xB9, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 + .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0xDF, 0xFF, 0x28, 0x1C, 0xAB, 0xF7, 0x10, 0xF9 + .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0xEE, 0xFC, 0x17, 0x48, 0x04, 0x21 + .byte 0x21, 0x54, 0x29, 0xE0, 0x18, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7 + .byte 0xC7, 0xF8, 0x05, 0x1C, 0x14, 0x48, 0x20, 0x58, 0xC0, 0x69, 0xC0, 0x69, 0x00, 0x68, 0xBE, 0xF7 + .byte 0xE9, 0xF8, 0x03, 0x1C, 0x10, 0x48, 0x1B, 0x04, 0x21, 0x58, 0x00, 0x22, 0x08, 0x1C, 0x3C, 0x30 + .byte 0x00, 0x90, 0x08, 0x68, 0x29, 0x1C, 0x1B, 0x0C, 0xF2, 0xF7, 0x8E, 0xFC, 0x0A, 0x49, 0x62, 0x58 + .byte 0x10, 0x87, 0x61, 0x58, 0x08, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x09, 0x20, 0x00, 0xE0, 0x00, 0x20 + .byte 0x23, 0x31, 0x08, 0x70, 0x1B, 0x20, 0x38, 0xBD +_02076868: + mov r0, #0x5 + pop {r3-r5, pc} + .balign 4 +_0207686C: .word 0x00000B27 +_02076870: .word 0x021C48B8 +_02076874: .word 0x000005DC +_02076878: + .byte 0xA4, 0x05, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00 + .byte 0x9C, 0x06, 0x00, 0x00, 0x51, 0x69, 0x07, 0x02, 0x18, 0x0B, 0x00, 0x00, 0xA5, 0x69, 0x07, 0x02 + + thumb_func_start sub_02076890 +sub_02076890: ; 0x02076890 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _0207693C ; =sub_020765EC + ldr r1, _02076940 ; =0x00000B14 + mov r2, #0x3 + str r0, [r4, r1] + add r0, r1, #0x0 + add r0, #0x13 + strb r2, [r4, r0] + ldr r0, _02076944 ; =0x000005A4 + add r1, #0x11 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r5, r0, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ACF8 + ldr r0, _02076944 ; =0x000005A4 + ldr r2, [r4, r0] + add r1, r2, #0x0 + add r1, #0x28 + ldrb r1, [r1, #0x0] + cmp r1, #0x4 + bne _020768E6 + add r0, #0xfc + ldrh r2, [r2, #0x26] + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200AD5C + add r0, r4, #0x0 + bl sub_020769A4 + pop {r3-r5, pc} +_020768E6: + add r0, r5, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200AD5C + ldr r0, _02076948 ; =0x0000069C + mov r1, #0x3c + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _0207694C ; =0x00000B22 + mov r1, #0x5 + strb r1, [r4, r0] + add r0, r0, #0x5 + strb r1, [r4, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_0207693C: .word sub_020765EC + 1 +_02076940: .word 0x00000B14 +_02076944: .word 0x000005A4 +_02076948: .word 0x0000069C +_0207694C: .word 0x00000B22 + + thumb_func_start sub_02076950 +sub_02076950: ; 0x02076950 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076998 ; =0x0000069C + mov r1, #0x3b + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _0207699C ; =0x000005A4 + mov r1, #0x5 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _020769A0 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_02076998: .word 0x0000069C +_0207699C: .word 0x000005A4 +_020769A0: .word 0x00000B22 + + thumb_func_start sub_020769A4 +sub_020769A4: ; 0x020769A4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _020769EC ; =0x0000069C + mov r1, #0x37 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _020769F0 ; =sub_020769FC + ldr r1, _020769F4 ; =0x00000B18 + ldr r2, _020769F8 ; =sub_02076A48 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_020769EC: .word 0x0000069C +_020769F0: .word sub_020769FC + 1 +_020769F4: .word 0x00000B18 +_020769F8: .word sub_02076A48 + 1 + + thumb_func_start sub_020769FC +sub_020769FC: ; 0x020769FC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076A40 ; =0x0000069C + mov r1, #0x3a + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076A44 ; =0x00000B22 + mov r1, #0x5 + strb r1, [r5, r0] + mov r1, #0x4 + add r0, r0, #0x5 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_02076A40: .word 0x0000069C +_02076A44: .word 0x00000B22 + + thumb_func_start sub_02076A48 +sub_02076A48: ; 0x02076A48 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076A90 ; =0x0000069C + mov r1, #0x34 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076A94 ; =sub_02076950 + ldr r1, _02076A98 ; =0x00000B18 + ldr r2, _02076A9C ; =sub_020769A4 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_02076A90: .word 0x0000069C +_02076A94: .word sub_02076950 + 1 +_02076A98: .word 0x00000B18 +_02076A9C: .word sub_020769A4 + 1 + + thumb_func_start sub_02076AA0 +sub_02076AA0: ; 0x02076AA0 + push {r3-r7, lr} + ldr r7, _02076AF4 ; =0x000005A4 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r4, #0x0 +_02076AAA: + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r5, r7] + ldrh r1, [r0, #0x26] + cmp r2, r1 + bne _02076AC6 + mov r0, #0xfd + pop {r3-r7, pc} +_02076AC6: + cmp r2, #0x0 + beq _02076AD4 + add r1, r4, #0x1 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 + cmp r4, #0x4 + blo _02076AAA +_02076AD4: + ldrh r0, [r0, #0x24] + bl sub_0206EA7C + add r1, r0, #0x0 + add r0, r6, #0x0 + bl sub_0206A13C + cmp r0, #0x0 + bne _02076AEA + mov r0, #0xff + pop {r3-r7, pc} +_02076AEA: + cmp r4, #0x4 + bne _02076AF0 + mov r4, #0xfe +_02076AF0: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_02076AF4: .word 0x000005A4 + + thumb_func_start sub_02076AF8 +sub_02076AF8: ; 0x02076AF8 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, _02076C78 ; =0x000005A4 + ldr r1, _02076C7C ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02076AA0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + ldr r0, [r4, r2] + sub r2, #0xfc + ldr r2, [r4, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x26] + bl sub_0200AD5C + cmp r5, #0xfd + bhi _02076B5A + bhs _02076BB2 + cmp r5, #0x3 + bhi _02076B60 + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r4, r2, #0 +_02076B5A: + cmp r5, #0xfe + bhi _02076B62 + beq _02076BF2 +_02076B60: + b _02076C72 +_02076B62: + cmp r5, #0xff + beq _02076C34 + b _02076C72 +_02076B68: + .byte 0x20, 0x1C, 0x31, 0x1C, 0x2A, 0x1C, 0x00, 0xF0 + .byte 0xDD, 0xF9, 0x43, 0x48, 0x3D, 0x21, 0x20, 0x58, 0x93, 0xF7, 0xCC, 0xFE, 0x6A, 0x21, 0x05, 0x1C + .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0x15, 0xFE, 0x28, 0x1C + .byte 0xAA, 0xF7, 0x46, 0xFF, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0xFC, 0xF7, 0x24, 0xFB + .byte 0x35, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x36, 0x48, 0x15, 0x21, 0x21, 0x54 + .byte 0x5F, 0xE0 +_02076BB2: + ldr r0, _02076C80 ; =0x0000069C + mov r1, #0x3f + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02076C78 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076C84 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r4, r0] + b _02076C72 +_02076BF2: + ldr r0, _02076C80 ; =0x0000069C + mov r1, #0x34 + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02076C88 ; =sub_02076DD4 + ldr r1, _02076C8C ; =0x00000B18 + ldr r2, _02076C90 ; =sub_02076E28 + str r0, [r4, r1] + add r0, r1, #0x4 + str r2, [r4, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r4, r1] + b _02076C72 +_02076C34: + ldr r0, _02076C80 ; =0x0000069C + mov r1, #0x3e + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02076C78 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076C84 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r4, r0] +_02076C72: + mov r0, #0x14 + pop {r4-r6, pc} + nop +_02076C78: .word 0x000005A4 +_02076C7C: .word 0x00000B25 +_02076C80: .word 0x0000069C +_02076C84: .word 0x00000B22 +_02076C88: .word sub_02076DD4 + 1 +_02076C8C: .word 0x00000B18 +_02076C90: .word sub_02076E28 + 1 + + thumb_func_start sub_02076C94 +sub_02076C94: ; 0x02076C94 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _02076D2C ; =0x000005A4 + ldr r1, _02076D30 ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r5, r0, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ACF8 + ldr r0, _02076D2C ; =0x000005A4 + ldr r2, [r4, r0] + add r1, r2, #0x0 + add r1, #0x28 + ldrb r1, [r1, #0x0] + cmp r1, #0x4 + bne _02076CDC + add r0, #0xfc + ldrh r2, [r2, #0x26] + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200AD5C + add r0, r4, #0x0 + bl sub_02076E28 + pop {r3-r5, pc} +_02076CDC: + add r0, r5, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_0200AD5C + ldr r0, _02076D34 ; =0x0000069C + mov r1, #0x3c + ldr r0, [r4, r0] + bl sub_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02076D38 ; =0x00000B22 + mov r1, #0x12 + strb r1, [r4, r0] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_02076D2C: .word 0x000005A4 +_02076D30: .word 0x00000B25 +_02076D34: .word 0x0000069C +_02076D38: .word 0x00000B22 + + thumb_func_start sub_02076D3C +sub_02076D3C: ; 0x02076D3C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076DC0 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02076DBC + ldr r0, _02076DC4 ; =0x000005A4 + ldr r1, _02076DC8 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + ldr r2, _02076DC4 ; =0x000005A4 + add r1, r0, #0x0 + ldr r2, [r5, r2] + add r0, r5, #0x0 + add r2, #0x28 + ldrb r2, [r2, #0x0] + bl sub_02076F2C + ldr r0, _02076DCC ; =0x0000069C + mov r1, #0x3d + ldr r0, [r5, r0] + bl sub_0200A914 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r4, r0, #0x0 + ldr r0, [r5, r2] + sub r2, #0xfc + ldr r2, [r5, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x26] + bl sub_0200AD5C + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076DC4 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076DD0 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r3-r5, pc} +_02076DBC: + mov r0, #0x12 + pop {r3-r5, pc} + .balign 4 +_02076DC0: .word 0x021C48B8 +_02076DC4: .word 0x000005A4 +_02076DC8: .word 0x00000B25 +_02076DCC: .word 0x0000069C +_02076DD0: .word 0x00000B22 + + thumb_func_start sub_02076DD4 +sub_02076DD4: ; 0x02076DD4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076E1C ; =0x0000069C + mov r1, #0x3b + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076E20 ; =0x000005A4 + mov r1, #0x4 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076E24 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_02076E1C: .word 0x0000069C +_02076E20: .word 0x000005A4 +_02076E24: .word 0x00000B22 + + thumb_func_start sub_02076E28 +sub_02076E28: ; 0x02076E28 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076E70 ; =0x0000069C + mov r1, #0x37 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02076E74 ; =sub_02076E80 + ldr r1, _02076E78 ; =0x00000B18 + ldr r2, _02076E7C ; =sub_02076ED4 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_02076E70: .word 0x0000069C +_02076E74: .word sub_02076E80 + 1 +_02076E78: .word 0x00000B18 +_02076E7C: .word sub_02076ED4 + 1 + + thumb_func_start sub_02076E80 +sub_02076E80: ; 0x02076E80 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076EC8 ; =0x0000069C + mov r1, #0x3a + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076ECC ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076ED0 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r3-r5, pc} + nop +_02076EC8: .word 0x0000069C +_02076ECC: .word 0x000005A4 +_02076ED0: .word 0x00000B22 + + thumb_func_start sub_02076ED4 +sub_02076ED4: ; 0x02076ED4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02076F1C ; =0x0000069C + mov r1, #0x34 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x6a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl sub_020731E8 + ldr r0, _02076F20 ; =sub_02076DD4 + ldr r1, _02076F24 ; =0x00000B18 + ldr r2, _02076F28 ; =sub_02076E28 + str r0, [r5, r1] + add r0, r1, #0x4 + str r2, [r5, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r5, r1] + mov r0, #0x14 + pop {r3-r5, pc} + .balign 4 +_02076F1C: .word 0x0000069C +_02076F20: .word sub_02076DD4 + 1 +_02076F24: .word 0x00000B18 +_02076F28: .word sub_02076E28 + 1 + + thumb_func_start sub_02076F2C +sub_02076F2C: ; 0x02076F2C + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + ldr r0, _02076FAC ; =0x000005A4 + add r6, r2, #0x0 + ldr r0, [r5, r0] + add r4, r1, #0x0 + ldrh r0, [r0, #0x26] + add r1, r6, #0x0 + add r1, #0x36 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r2, sp, #0x0 + bl sub_02067830 + mov r0, #0x0 + add r1, r6, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, #0x3e + add r2, sp, #0x0 + bl sub_02067830 + ldr r0, _02076FAC ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + ldrh r0, [r0, #0x26] + bl sub_0206AB30 + add r6, #0x3a + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, sp, #0x0 + bl sub_02067830 + ldr r0, _02076FAC ; =0x000005A4 + ldr r1, [r5, r0] + ldrh r0, [r1, #0x24] + cmp r0, #0x0 + beq _02076FA8 + ldrh r0, [r1, #0x26] + bl sub_0206EA54 + cmp r0, #0x0 + bne _02076F98 + ldr r0, _02076FAC ; =0x000005A4 + mov r2, #0x1 + ldr r1, [r5, r0] + mov r3, #0xc + ldr r0, [r1, #0x4] + ldrh r1, [r1, #0x24] + bl sub_0206EDD4 +_02076F98: + add r0, r5, #0x0 + bl sub_020772CC + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020688E8 +_02076FA8: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02076FAC: .word 0x000005A4 + + thumb_func_start sub_02076FB0 +sub_02076FB0: ; 0x02076FB0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0207702C ; =0x000005A4 + add r6, r1, #0x0 + ldr r1, _02077030 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r1, r6, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, _02077034 ; =0x0000069C + add r1, r6, #0x0 + ldr r0, [r5, r0] + add r1, #0xa2 + bl sub_0200A914 + add r7, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_0200AD5C + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + add r1, #0x8 + ldr r1, [r5, r1] + add r2, r7, #0x0 + bl sub_0200B7B8 + add r0, r7, #0x0 + bl sub_02021A20 + cmp r4, #0x0 + ldr r1, _02077038 ; =0x000006F8 + bne _0207701C + ldr r0, [r5, r1] + sub r1, #0x50 + mov r2, #0x2 + ldr r1, [r5, r1] + mvn r2, r2 + bl sub_020128A0 + mov r0, #0x0 + pop {r3-r7, pc} +_0207701C: + ldr r0, [r5, r1] + sub r1, #0x50 + ldr r1, [r5, r1] + add r2, r6, #0x0 + bl sub_020128A0 + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0207702C: .word 0x000005A4 +_02077030: .word 0x00000B25 +_02077034: .word 0x0000069C +_02077038: .word 0x000006F8 + + thumb_func_start sub_0207703C +sub_0207703C: ; 0x0207703C + push {r4-r5, lr} + sub sp, #0x14 + add r4, r0, #0x0 + cmp r1, #0x0 + bne _02077050 + mov r1, #0x29 + mov r2, #0x1 + bl sub_020731D4 + b _02077058 +_02077050: + mov r1, #0x28 + mov r2, #0x1 + bl sub_020731D4 +_02077058: + mov r0, #0x4 + mov r1, #0xc + bl sub_02012838 + ldr r1, _02077108 ; =0x000006F8 + str r0, [r4, r1] + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02076FB0 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02076FB0 + add r0, r5, r0 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02076FB0 + add r0, r5, r0 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_02076FB0 + add r0, r5, r0 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r0, _02077108 ; =0x000006F8 + mov r2, #0x0 + ldr r0, [r4, r0] + str r0, [sp, #0x8] + mov r0, #0x91 + lsl r0, r0, #0x2 + add r0, r4, r0 + str r0, [sp, #0xc] + add r0, sp, #0x8 + strb r2, [r0, #0x8] + mov r2, #0x1 + strb r2, [r0, #0x9] + mov r2, #0x4 + strb r2, [r0, #0xa] + ldrb r3, [r0, #0xb] + mov r2, #0xf + bic r3, r2 + strb r3, [r0, #0xb] + ldrb r3, [r0, #0xb] + mov r2, #0x30 + bic r3, r2 + strb r3, [r0, #0xb] + cmp r1, #0x4 + ldrb r2, [r0, #0xb] + bne _020770D6 + mov r1, #0xc0 + bic r2, r1 + mov r1, #0x40 + orr r1, r2 + strb r1, [r0, #0xb] + b _020770DC +_020770D6: + mov r1, #0xc0 + bic r2, r1 + strb r2, [r0, #0xb] +_020770DC: + mov r0, #0x91 + lsl r0, r0, #0x2 + mov r1, #0x1 + add r0, r4, r0 + add r2, r1, #0x0 + mov r3, #0xe + bl sub_0200CCA4 + mov r0, #0xc + str r0, [sp, #0x0] + mov r0, #0x2 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x8 + mov r1, #0x8 + add r3, r2, #0x0 + bl sub_02001C14 + ldr r1, _0207710C ; =0x000006FC + str r0, [r4, r1] + add sp, #0x14 + pop {r4-r5, pc} + .balign 4 +_02077108: .word 0x000006F8 +_0207710C: .word 0x000006FC + + thumb_func_start sub_02077110 +sub_02077110: ; 0x02077110 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0207722C ; =0x000006FC + ldr r0, [r5, r0] + bl sub_02001C78 + add r4, r0, #0x0 + mov r0, #0x1 + mvn r0, r0 + cmp r4, r0 + beq _02077130 + add r0, r0, #0x1 + cmp r4, r0 + beq _02077226 + b _0207716A +_02077130: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + mov r0, #0x91 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200CCF8 + ldr r0, _0207722C ; =0x000006FC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _02077230 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + add r0, r5, #0x0 + mov r1, #0x20 + mov r2, #0x1 + bl sub_020731C0 + add sp, #0x8 + mov r0, #0x4 + pop {r4-r6, pc} +_0207716A: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200D0E0 + mov r0, #0x91 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_0200CCF8 + ldr r0, _0207722C ; =0x000006FC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_02001C5C + ldr r0, _02077230 ; =0x000006F8 + ldr r0, [r5, r0] + bl sub_02012870 + ldr r0, _02077234 ; =0x000005A4 + ldr r6, [r5, r0] + add r0, r5, #0x0 + bl sub_020772CC + str r0, [sp, #0x0] + mov r0, #0xc + str r0, [sp, #0x4] + ldr r2, _02077238 ; =0x00000B25 + lsl r3, r4, #0x18 + ldrh r1, [r6, #0x24] + ldrb r2, [r5, r2] + ldr r0, [r6, #0x0] + lsr r3, r3, #0x18 + bl sub_02084DD0 + cmp r0, #0x1 + bne _020771F6 + ldr r0, _02077234 ; =0x000005A4 + ldr r1, _02077238 ; =0x00000B25 + ldr r0, [r5, r0] + ldrb r1, [r5, r1] + ldr r0, [r0, #0x0] + bl sub_0206B9B0 + add r4, #0x36 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _02077234 ; =0x000005A4 + add r2, r0, #0x0 + ldr r1, [r5, r1] + add r0, r5, #0x0 + ldrh r1, [r1, #0x24] + bl sub_020757F4 + ldr r0, _02077234 ; =0x000005A4 + mov r2, #0x1 + ldr r1, [r5, r0] + mov r3, #0xc + ldr r0, [r1, #0x4] + ldrh r1, [r1, #0x24] + bl sub_0206EDD4 + ldr r0, _0207723C ; =0x000005EC + bl sub_020054C8 + b _02077204 +_020771F6: + ldr r2, _02077240 ; =0x0000069C + mov r1, #0x69 + ldr r0, [r5, r2] + add r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 +_02077204: + mov r1, #0x0 + add r0, r5, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _02077234 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r5, r0] + add sp, #0x8 + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02077244 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r5, r0] + mov r0, #0x14 + pop {r4-r6, pc} +_02077226: + mov r0, #0x6 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0207722C: .word 0x000006FC +_02077230: .word 0x000006F8 +_02077234: .word 0x000005A4 +_02077238: .word 0x00000B25 +_0207723C: .word 0x000005EC +_02077240: .word 0x0000069C +_02077244: .word 0x00000B22 + + thumb_func_start sub_02077248 +sub_02077248: ; 0x02077248 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_0200D0E0 + ldr r0, _020772BC ; =0x00000B25 + ldr r2, _020772C0 ; =0x0000070C + ldrb r1, [r4, r0] + mov r0, #0x2c + mul r0, r1 + add r0, r4, r0 + ldrh r0, [r0, r2] + cmp r0, #0x0 + bne _02077286 + add r0, r2, #0x0 + sub r0, #0x70 + sub r2, #0x68 + ldr r0, [r4, r0] + ldr r2, [r4, r2] + mov r1, #0x7f + bl sub_0200A8E0 + ldr r1, _020772BC ; =0x00000B25 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + bl sub_02073AB8 + b _0207729C +_02077286: + add r0, r2, #0x0 + sub r0, #0x70 + sub r2, #0x68 + ldr r0, [r4, r0] + ldr r2, [r4, r2] + mov r1, #0x80 + bl sub_0200A8E0 + ldr r0, _020772BC ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] +_0207729C: + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl sub_020731E8 + ldr r0, _020772C4 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _020772C8 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r4, r0] + pop {r4, pc} + nop +_020772BC: .word 0x00000B25 +_020772C0: .word 0x0000070C +_020772C4: .word 0x000005A4 +_020772C8: .word 0x00000B22 + + thumb_func_start sub_020772CC +sub_020772CC: ; 0x020772CC + push {r3, lr} + ldr r1, _020772E4 ; =0x000005A4 + ldr r0, [r0, r1] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl sub_02034824 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r3, pc} + nop +_020772E4: .word 0x000005A4 + + thumb_func_start sub_020772E8 +sub_020772E8: ; 0x020772E8 + push {r3-r6, lr} + sub sp, #0xc + add r5, r1, #0x0 + ldr r1, [r5, #0x0] + add r6, r0, #0x0 + cmp r1, #0x0 + beq _020772FE + cmp r1, #0x1 + bne _020772FC + b _02077456 +_020772FC: + b _02077490 +_020772FE: + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + bl sub_02015F1C + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02077498 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0207749C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r2, #0xa + mov r0, #0x3 + mov r1, #0x12 + lsl r2, r2, #0xe + bl sub_0201681C + mov r1, #0x5d + add r0, r6, #0x0 + lsl r1, r1, #0x4 + mov r2, #0x12 + bl sub_02006268 + mov r2, #0x5d + mov r1, #0x0 + lsl r2, r2, #0x4 + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x12 + bl sub_02016B94 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r4, r1] + mov r0, #0x12 + bl sub_0200AA80 + mov r2, #0x5a + lsl r2, r2, #0x2 + str r0, [r4, r2] + mov r0, #0x0 + mov r1, #0x1a + add r2, #0xb + mov r3, #0x12 + bl sub_0200A86C + mov r2, #0x5b + lsl r2, r2, #0x2 + str r0, [r4, r2] + mov r0, #0x1 + mov r1, #0x1a + add r2, #0xc + mov r3, #0x12 + bl sub_0200A86C + mov r2, #0x17 + lsl r2, r2, #0x4 + str r0, [r4, r2] + mov r0, #0x1 + mov r1, #0x1a + sub r2, #0x2c + mov r3, #0x12 + bl sub_0200A86C + mov r1, #0x5d + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + bl sub_02077B24 + mov r0, #0x16 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02077B44 + add r0, r6, #0x0 + bl sub_0200628C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02077B08 + add r0, r4, #0x0 + bl sub_02077FE8 + mov r0, #0x2 + mov r1, #0x12 + bl sub_02002C50 + ldr r0, _020774A0 ; =sub_02077AE8 + mov r1, #0x0 + bl sub_02015F10 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02077CD4 + mov r0, #0x0 + mov r1, #0x12 + bl sub_02002C84 + bl sub_02078110 + add r0, r4, #0x0 + bl sub_02078140 + add r0, r4, #0x0 + bl sub_0207835C + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0207890C + ldr r0, _020774A4 ; =0x000004C4 + mov r3, #0x5f + add r1, r4, r0 + lsl r3, r3, #0x2 + str r1, [sp, #0x0] + ldr r1, [r4, r3] + add r2, r3, #0x0 + str r1, [sp, #0x4] + sub r2, #0x24 + sub r0, #0xcc + add r1, r4, #0x0 + sub r3, #0x22 + ldrh r2, [r4, r2] + add r0, r4, r0 + add r1, #0xd8 + add r3, r4, r3 + bl sub_0207907C + mov r1, #0x0 + mov r0, #0x34 + add r2, r1, #0x0 + bl sub_0200433C + mov r0, #0x10 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x12 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + mov r0, #0x1 + bl sub_02077C84 + ldr r0, _020774A8 ; =0x021C4918 + mov r1, #0x1 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02077490 +_02077456: + bl sub_02006278 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x1 + bne _02077472 + ldr r1, _020774AC ; =0x000004B8 + ldr r2, [r4, #0x4] + ldr r0, [r4, r1] + add r1, #0x8 + ldr r1, [r4, r1] + ldr r3, [r4, #0x8] + bl sub_020774B8 +_02077472: + ldr r0, _020774B0 ; =0x021C5C54 + mov r1, #0x1 + str r4, [r0, #0x0] + mov r0, #0x0 + mov r2, #0xc + mov r3, #0x12 + bl sub_020142EC + ldr r1, _020774B4 ; =0x000005C4 + add sp, #0xc + str r0, [r4, r1] + mov r0, #0x0 + str r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r6, pc} +_02077490: + mov r0, #0x0 + add sp, #0xc + pop {r3-r6, pc} + nop +_02077498: .word 0xFFFFE0FF +_0207749C: .word 0x04001000 +_020774A0: .word sub_02077AE8 + 1 +_020774A4: .word 0x000004C4 +_020774A8: .word 0x021C4918 +_020774AC: .word 0x000004B8 +_020774B0: .word 0x021C5C54 +_020774B4: .word 0x000005C4 + + thumb_func_start sub_020774B8 +sub_020774B8: ; 0x020774B8 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r2, #0x0 + mov r2, #0x2 + ldr r0, [r0, #0x14] + ldr r1, _020774E8 ; =0x000057E0 + add r6, r3, #0x0 + lsl r2, r2, #0x8 + blx sub_020C92F4 + ldr r4, [r4, #0xc] + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x0 + bl sub_0206B7BC + lsl r0, r0, #0x5 + add r0, r4, r0 + mov r1, #0xc0 + mov r2, #0x20 + blx sub_020C9480 + pop {r4-r6, pc} + nop +_020774E8: .word 0x000057E0 + + thumb_func_start sub_020774EC +sub_020774EC: ; 0x020774EC + push {r4-r6, lr} + sub sp, #0x10 + add r5, r1, #0x0 + add r6, r0, #0x0 + bl sub_02006278 + ldr r1, [r5, #0x0] + add r4, r0, #0x0 + cmp r1, #0x3 + bhi _02077550 + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r0, #0 + lsl r2, r3, #0 + lsl r6, r1, #0x1 + lsl r4, r7, #0x5 + bl sub_0200E308 + cmp r0, #0x0 + beq _02077550 + mov r0, #0x1 + str r0, [r5, #0x0] + ldr r0, _020776A8 ; =0x000005CC + mov r1, #0x0 + str r1, [r4, r0] + b _02077698 +_02077528: + .byte 0x5F, 0x49, 0x62, 0x58, 0x52, 0x1C, 0x62, 0x50 + .byte 0x02, 0xF0, 0xC8, 0xF9, 0x49, 0x22, 0x12, 0x01, 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00 + .byte 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0x76, 0xF9, 0x57, 0x48, 0x21, 0x58, 0x05, 0x29, 0x00, 0xDC +_02077550: + b _02077698 +_02077552: + .byte 0x02, 0x21, 0x29, 0x60, 0x00, 0x21, 0x21, 0x50, 0x9D, 0xE0, 0x53, 0x4B, 0xE2, 0x58 + .byte 0x07, 0x2A, 0x68, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44 + .byte 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0x0E, 0x00, 0x22, 0x00, 0x6E, 0x00, 0x9A, 0x00 + .byte 0x62, 0x6B, 0x00, 0x2A, 0x02, 0xD1, 0x00, 0xF0, 0x9D, 0xF8, 0x28, 0x60, 0x20, 0x1C, 0x02, 0xF0 + .byte 0x99, 0xF9, 0x50, 0xE0, 0x31, 0x1C, 0x00, 0xF0, 0x7B, 0xFC, 0x45, 0x48, 0x0F, 0x21, 0x20, 0x18 + .byte 0xA2, 0xF7, 0x3E, 0xF8, 0x42, 0x48, 0x01, 0x22, 0x20, 0x18, 0x00, 0x21, 0x12, 0x02, 0x0A, 0x23 + .byte 0x95, 0xF7, 0x84, 0xFD, 0x00, 0x23, 0x06, 0x22, 0x3D, 0x48, 0x00, 0x93, 0x01, 0x21, 0x01, 0x91 + .byte 0x02, 0x93, 0x92, 0x01, 0xA2, 0x58, 0x20, 0x18, 0xA4, 0xF7, 0xDC, 0xFB, 0x39, 0x49, 0x60, 0x50 + .byte 0x10, 0x39, 0x60, 0x18, 0xA1, 0xF7, 0xFC, 0xFD, 0x34, 0x48, 0x06, 0x21, 0x21, 0x50, 0x2A, 0xE0 + .byte 0x18, 0x1F, 0x20, 0x58, 0x00, 0x06, 0x00, 0x0E, 0xA4, 0xF7, 0xC2, 0xFB, 0x00, 0x28, 0x22, 0xD1 + .byte 0x31, 0x48, 0x8D, 0xF7, 0x69, 0xFF, 0x31, 0x49, 0x00, 0x22, 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50 + .byte 0x29, 0x48, 0x4C, 0x39, 0x22, 0x50, 0x07, 0x20, 0x60, 0x50, 0x14, 0xE0, 0x26, 0x48, 0x21, 0x58 + .byte 0x49, 0x1C, 0x21, 0x50, 0x20, 0x58, 0x1E, 0x28, 0x0D, 0xDD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x21 + .byte 0x01, 0x20, 0x01, 0x90, 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x96, 0xF7 + .byte 0xCF, 0xFD, 0x03, 0x20, 0x28, 0x60, 0x22, 0x4B, 0xCB, 0x21, 0xE0, 0x18, 0x00, 0x90, 0x18, 0x1D + .byte 0x20, 0x18, 0x89, 0x00, 0x01, 0x90, 0x60, 0x18, 0x02, 0x90, 0x18, 0x1C, 0x4C, 0x30, 0x20, 0x58 + .byte 0x1A, 0x1C, 0x40, 0x69, 0x8C, 0x31, 0x03, 0x90, 0x16, 0x20, 0x00, 0x01, 0x1B, 0x1F, 0x08, 0x3A + .byte 0x20, 0x58, 0xE3, 0x58, 0x61, 0x18, 0xA2, 0x18, 0x01, 0xF0, 0x22, 0xF8, 0x49, 0x22, 0x12, 0x01 + .byte 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00, 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0xDA, 0xF8 + .byte 0x20, 0x1C, 0x38, 0x30, 0x01, 0xF0, 0xDA, 0xFB, 0x06, 0xE0, 0x96, 0xF7, 0x3D, 0xFE, 0x00, 0x28 + .byte 0x02, 0xD0, 0x04, 0xB0, 0x01, 0x20, 0x70, 0xBD +_02077698: + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201FDEC + mov r0, #0x0 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_020776A8: .word 0x000005CC +_020776AC: + .byte 0x5C, 0x04, 0x00, 0x00 + .byte 0x48, 0x04, 0x00, 0x00, 0x58, 0x04, 0x00, 0x00, 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00 + .byte 0x64, 0x04, 0x00, 0x00 + + thumb_func_start sub_020776C4 +sub_020776C4: ; 0x020776C4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02078C98 + ldr r0, _020777BC ; =0x021C48B8 + mov r1, #0x4 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _02077746 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + beq _0207771E + ldr r1, _020777C0 ; =0x0000045C + mov r0, #0x0 + str r0, [r5, r1] + add r2, r1, #0x4 + ldr r2, [r5, r2] + add r3, r2, #0x1 + add r2, r1, #0x4 + str r3, [r5, r2] + ldr r2, [r5, r2] + cmp r2, #0x3 + blt _020776F8 + add r1, r1, #0x4 + str r0, [r5, r1] +_020776F8: + mov r2, #0x49 + lsl r2, r2, #0x4 + add r1, r2, #0x0 + sub r1, #0x30 + ldr r1, [r5, r1] + add r0, r5, r2 + lsl r3, r1, #0x2 + ldr r1, [r0, r3] + sub r2, #0x30 + add r1, r1, #0x1 + str r1, [r0, r3] + add r0, r5, #0x0 + ldr r1, [r5, r2] + add r0, #0x3a + bl sub_0207916C + ldr r0, _020777C4 ; =0x0000069E + bl sub_020054C8 +_0207771E: + mov r2, #0x49 + lsl r2, r2, #0x4 + add r1, r2, #0x0 + sub r1, #0x30 + ldr r1, [r5, r1] + add r0, r5, r2 + lsl r3, r1, #0x2 + ldr r1, [r0, r3] + sub r2, #0x30 + add r1, r1, #0x1 + str r1, [r0, r3] + add r0, r5, #0x0 + ldr r1, [r5, r2] + add r0, #0x3a + bl sub_0207916C + ldr r0, _020777C4 ; =0x0000069E + bl sub_020054C8 + b _020777B8 +_02077746: + mov r2, #0x1 + add r1, r0, #0x0 + tst r1, r2 + beq _0207776C + ldr r3, [r5, #0x20] + mov r1, #0x1a + mul r1, r3 + add r3, r5, r1 + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + lsl r1, r1, #0x1 + add r1, r3, r1 + ldrh r1, [r1, #0x3a] + bl sub_020791C0 + add r4, r0, #0x0 + mov r0, #0x1 + str r0, [r5, #0x30] + b _020777B8 +_0207776C: + ldr r1, _020777C8 ; =0x000005C8 + ldr r1, [r5, r1] + cmp r1, #0x1 + bne _02077794 + ldr r2, [r5, #0x20] + mov r1, #0x1a + mul r1, r2 + add r2, r5, r1 + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + lsl r1, r1, #0x1 + add r1, r2, r1 + ldrh r1, [r1, #0x3a] + mov r2, #0x0 + bl sub_020791C0 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r5, #0x30] + b _020777B8 +_02077794: + mov r1, #0x2 + add r3, r0, #0x0 + tst r3, r1 + beq _020777A8 + ldr r1, _020777CC ; =0x0000E007 + add r0, r5, #0x0 + bl sub_020791C0 + add r4, r0, #0x0 + b _020777B8 +_020777A8: + add r1, #0xfe + tst r0, r1 + beq _020777B8 + ldr r1, _020777D0 ; =0x0000E006 + add r0, r5, #0x0 + bl sub_020791C0 + add r4, r0, #0x0 +_020777B8: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_020777BC: .word 0x021C48B8 +_020777C0: .word 0x0000045C +_020777C4: .word 0x0000069E +_020777C8: .word 0x000005C8 +_020777CC: .word 0x0000E007 +_020777D0: .word 0x0000E006 + + thumb_func_start sub_020777D4 +sub_020777D4: ; 0x020777D4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + cmp r0, #0x0 + bne _02077836 + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _020777FE + bl sub_0201B9EC + mov r1, #0x12 + blx sub_020EBC80 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_0200A914 + add r6, r0, #0x0 + b _0207781A +_020777FE: + cmp r0, #0x1 + bne _0207781A + bl sub_0201B9EC + mov r1, #0x12 + blx sub_020EBC80 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + add r1, #0x12 + bl sub_0200A914 + add r6, r0, #0x0 +_0207781A: + ldr r0, [r4, #0x18] + add r1, r6, #0x0 + bl sub_02021A74 + add r0, r6, #0x0 + bl sub_02021A20 + ldr r0, [r4, #0x18] + add r4, #0x1c + add r1, r4, #0x0 + mov r2, #0xa + bl sub_02021EF0 + pop {r4-r6, pc} +_02077836: + cmp r0, #0x3 + bne _02077864 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x58 + bl sub_0200A914 + add r5, r0, #0x0 + ldr r0, [r4, #0x18] + add r1, r5, #0x0 + bl sub_02021A74 + add r0, r5, #0x0 + bl sub_02021A20 + ldr r0, [r4, #0x18] + add r4, #0x1c + add r1, r4, #0x0 + mov r2, #0xa + bl sub_02021EF0 + pop {r4-r6, pc} +_02077864: + mov r0, #0x1 + str r0, [r4, #0x14] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0207786C +sub_0207786C: ; 0x0207786C + push {r4-r5} + ldr r1, _0207788C ; =0x000001DE + ldr r2, _02077890 ; =0x0000FFFF + mov r5, #0x1 + mov r3, #0x0 +_02077876: + ldrh r4, [r0, #0x0] + cmp r4, r2 + beq _02077886 + cmp r4, r1 + beq _02077882 + add r5, r3, #0x0 +_02077882: + add r0, r0, #0x2 + b _02077876 +_02077886: + add r0, r5, #0x0 + pop {r4-r5} + bx lr + .balign 4 +_0207788C: .word 0x000001DE +_02077890: .word 0x0000FFFF + + thumb_func_start sub_02077894 +sub_02077894: ; 0x02077894 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x10] + bl sub_02006278 + add r4, r0, #0x0 + ldr r0, [sp, #0x10] + bl sub_0200628C + add r5, r0, #0x0 + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + ldr r1, _02077A6C ; =0x0000FFFF + lsl r0, r0, #0x1 + add r0, r4, r0 + add r0, #0xd8 + strh r1, [r0, #0x0] + ldr r0, [r4, #0x0] + cmp r0, #0x1 + bne _020778DE + mov r0, #0x12 + bl sub_020669C0 + mov r3, #0xa + str r3, [sp, #0x0] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + ldr r1, [r4, #0x4] + add r6, r0, #0x0 + mov r2, #0x5 + bl sub_02066ACC + add r0, r6, #0x0 + bl sub_02016A18 +_020778DE: + mov r1, #0x56 + lsl r1, r1, #0x2 + ldrh r0, [r4, r1] + cmp r0, #0x0 + beq _02077904 + add r0, r4, #0x0 + sub r1, #0x40 + add r0, #0xd8 + add r1, r4, r1 + bl sub_020022A4 + cmp r0, #0x0 + beq _02077904 + add r0, r4, #0x0 + add r0, #0xd8 + bl sub_0207786C + cmp r0, #0x0 + beq _0207790E +_02077904: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_020777D4 + b _02077932 +_0207790E: + mov r0, #0x46 + lsl r0, r0, #0x2 + add r1, r4, #0x0 + add r0, r4, r0 + add r1, #0xd8 + bl sub_02002248 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r0, #0x1c + add r1, #0xd8 + bl sub_02002248 + add r1, r4, #0x0 + ldr r0, [r5, #0x18] + add r1, #0xd8 + bl sub_02021E28 +_02077932: + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r7, #0xe7 + mov r6, #0x0 + add r5, r4, #0x0 + lsl r7, r7, #0x2 +_02077944: + ldr r0, [r5, r7] + bl sub_0200621C + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, #0x7 + blt _02077944 + mov r0, #0xb1 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02009C0C + mov r0, #0xb5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02009C0C + mov r0, #0xb2 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02009E04 + mov r0, #0xb6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02009E04 + mov r7, #0xad + mov r6, #0x0 + add r5, r4, #0x0 + lsl r7, r7, #0x2 +_02077982: + ldr r0, [r5, r7] + bl sub_02008E2C + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, #0x4 + blt _02077982 + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201FD58 + bl sub_02009FA0 + ldr r1, _02077A70 ; =0x000004AC + mov r0, #0x12 + ldr r1, [r4, r1] + bl sub_02016A8C + ldr r0, [r4, #0x0] + cmp r0, #0x1 + bne _020779C2 + ldr r1, _02077A74 ; =0x000004B4 + mov r0, #0x12 + ldr r1, [r4, r1] + bl sub_02016A8C + ldr r1, _02077A78 ; =0x000004BC + mov r0, #0x12 + ldr r1, [r4, r1] + bl sub_02016A8C +_020779C2: + mov r0, #0x16 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x7 + bl sub_020178A0 + bl sub_0201D12C + bl sub_0201E08C + mov r0, #0x16 + lsl r0, r0, #0x4 + mov r1, #0xee + lsl r1, r1, #0x2 + ldr r0, [r4, r0] + add r1, r4, r1 + bl sub_02077FA8 + mov r0, #0x0 + bl sub_02002CC0 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02077A7C ; =0xFFFF1FFF + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x2 + bl sub_02002CF8 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x0 + beq _02077A0C + bl sub_02021A20 +_02077A0C: + mov r0, #0x5e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r0, #0x5f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r0, #0x5d + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0200A8B8 + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_0200A8B8 + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0200A8B8 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0200AB18 + ldr r0, [sp, #0x10] + bl sub_0200627C + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x12 + bl sub_020168D0 + ldr r0, _02077A80 ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + mov r0, #0x1 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02077A6C: .word 0x0000FFFF +_02077A70: .word 0x000004AC +_02077A74: .word 0x000004B4 +_02077A78: .word 0x000004BC +_02077A7C: .word 0xFFFF1FFF +_02077A80: .word 0x021C4918 + + thumb_func_start sub_02077A84 +sub_02077A84: ; 0x02077A84 + push {r3-r7, lr} + add r6, r1, #0x0 + mov r1, #0x50 + str r0, [sp, #0x0] + add r7, r2, #0x0 + add r5, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + str r6, [r4, #0x0] + str r7, [r4, #0x4] + str r5, [r4, #0xc] + mov r0, #0x0 + str r0, [r4, #0x14] + ldr r0, _02077AC0 ; =0x0000FFFF + ldr r1, [sp, #0x0] + strh r0, [r4, #0x1c] + add r0, r5, #0x1 + bl sub_020219F4 + str r0, [r4, #0x18] + mov r1, #0x0 + str r1, [r4, #0x44] + str r1, [r4, #0x48] + ldr r0, [sp, #0x18] + str r1, [r4, #0x10] + str r0, [r4, #0x4c] + str r1, [r4, #0x8] + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_02077AC0: .word 0x0000FFFF + + thumb_func_start sub_02077AC4 +sub_02077AC4: ; 0x02077AC4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + cmp r0, #0x0 + bne _02077AD2 + bl sub_02020C2C +_02077AD2: + cmp r4, #0x0 + bne _02077ADA + bl sub_02020C2C +_02077ADA: + ldr r0, [r4, #0x18] + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02077AE8 +sub_02077AE8: ; 0x02077AE8 + push {r3, lr} + bl sub_0201C30C + bl sub_02009F80 + ldr r3, _02077B00 ; =0x027E0000 + ldr r1, _02077B04 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r3, pc} + .balign 4 +_02077B00: .word 0x027E0000 +_02077B04: .word 0x00003FF8 + + thumb_func_start sub_02077B08 +sub_02077B08: ; 0x02077B08 + ldr r2, [r1, #0x0] + str r2, [r0, #0x0] + ldr r2, [r1, #0x4] + str r2, [r0, #0x4] + ldr r2, [r1, #0x8] + str r2, [r0, #0x8] + ldr r2, [r1, #0xc] + str r2, [r0, #0xc] + ldr r2, [r1, #0x10] + str r2, [r0, #0x10] + ldr r1, [r1, #0x4c] + str r1, [r0, #0x18] + bx lr + .balign 4 + + thumb_func_start sub_02077B24 +sub_02077B24: ; 0x02077B24 + push {r4, lr} + sub sp, #0x28 + ldr r4, _02077B40 ; =0x020FA12C + add r3, sp, #0x0 + mov r2, #0x5 +_02077B2E: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02077B2E + add r0, sp, #0x0 + bl sub_0201E66C + add sp, #0x28 + pop {r4, pc} + .balign 4 +_02077B40: .word 0x020FA12C + + thumb_func_start sub_02077B44 +sub_02077B44: ; 0x02077B44 + push {r3-r5, lr} + sub sp, #0x80 + ldr r5, _02077C68 ; =0x020F9D4C + add r3, sp, #0x70 + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _02077C6C ; =0x020F9EC0 + add r3, sp, #0x54 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r0, [r3, #0x0] + add r0, r4, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02018744 + ldr r5, _02077C70 ; =0x020F9FA0 + add r3, sp, #0x38 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x1 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02018744 + ldr r5, _02077C74 ; =0x020FA064 + add r3, sp, #0x1c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x2 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02018744 + ldr r5, _02077C78 ; =0x020F9DFC + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x4 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02018744 + mov r0, #0x0 + bl sub_02077C84 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + mov r3, #0x12 + bl sub_02017F18 + mov r0, #0x4 + mov r1, #0x20 + mov r2, #0x0 + mov r3, #0x12 + bl sub_02017F18 + mov r0, #0x1 + lsl r0, r0, #0x1a + add r4, r0, #0x0 + ldr r2, [r0, #0x0] + ldr r1, _02077C7C ; =0xFFFF1FFF + add r4, #0x48 + and r2, r1 + lsr r1, r0, #0xd + orr r1, r2 + str r1, [r0, #0x0] + ldrh r3, [r4, #0x0] + mov r2, #0x3f + mov r1, #0x14 + bic r3, r2 + orr r1, r3 + mov r3, #0x20 + orr r1, r3 + strh r1, [r4, #0x0] + add r4, r0, #0x0 + add r4, #0x4a + ldrh r5, [r4, #0x0] + mov r1, #0x1f + bic r5, r2 + orr r1, r5 + orr r1, r3 + strh r1, [r4, #0x0] + add r1, r0, #0x0 + mov r2, #0xff + add r1, #0x40 + strh r2, [r1, #0x0] + mov r1, #0x40 + add r0, #0x44 + strh r1, [r0, #0x0] + ldr r0, _02077C80 ; =0x04001050 + mov r1, #0x0 + strh r1, [r0, #0x0] + add sp, #0x80 + pop {r3-r5, pc} + .balign 4 +_02077C68: .word 0x020F9D4C +_02077C6C: .word 0x020F9EC0 +_02077C70: .word 0x020F9FA0 +_02077C74: .word 0x020FA064 +_02077C78: .word 0x020F9DFC +_02077C7C: .word 0xFFFF1FFF +_02077C80: .word 0x04001050 + + thumb_func_start sub_02077C84 +sub_02077C84: ; 0x02077C84 + push {r4, lr} + add r4, r0, #0x0 + lsl r1, r4, #0x18 + mov r0, #0x1 + lsr r1, r1, #0x18 + bl sub_0201E6E4 + lsl r1, r4, #0x18 + mov r0, #0x2 + lsr r1, r1, #0x18 + bl sub_0201E6E4 + lsl r1, r4, #0x18 + mov r0, #0x4 + lsr r1, r1, #0x18 + bl sub_0201E6E4 + mov r0, #0x8 + mov r1, #0x0 + bl sub_0201E6E4 + lsl r1, r4, #0x18 + mov r0, #0x10 + lsr r1, r1, #0x18 + bl sub_0201E6E4 + lsl r1, r4, #0x18 + mov r0, #0x1 + lsr r1, r1, #0x18 + bl sub_0201E74C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E74C + mov r0, #0x10 + mov r1, #0x0 + bl sub_0201E74C + pop {r4, pc} + + thumb_func_start sub_02077CD4 +sub_02077CD4: ; 0x02077CD4 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_0200628C + add r7, r0, #0x0 + ldr r0, _02077E7C ; =0x0000045C + mov r1, #0x4 + str r1, [r4, r0] + add r0, #0xc + add r0, r4, r0 + mov r1, #0x0 + bl sub_02078BA8 + ldr r6, _02077E80 ; =0x00000464 + mov r0, #0x16 + ldr r3, [r4, r6] + mov r5, #0xc + lsl r0, r0, #0x4 + lsl r1, r3, #0x18 + mul r5, r3 + add r3, r4, r5 + add r5, r6, #0x4 + ldr r0, [r4, r0] + ldr r3, [r3, r5] + lsr r1, r1, #0x18 + mov r2, #0x0 + bl sub_020179E0 + ldr r3, [r4, r6] + mov r5, #0xc + mov r0, #0x16 + lsl r0, r0, #0x4 + lsl r1, r3, #0x18 + mul r5, r3 + add r3, r4, r5 + add r6, #0x8 + ldr r0, [r4, r0] + ldr r3, [r3, r6] + lsr r1, r1, #0x18 + mov r2, #0x3 + bl sub_020179E0 + ldr r6, _02077E80 ; =0x00000464 + mov r0, #0x1 + ldr r1, [r4, r6] + mov r5, #0xc + add r3, r1, #0x0 + eor r3, r0 + mov r0, #0x16 + lsl r0, r0, #0x4 + lsl r1, r3, #0x18 + mul r5, r3 + add r3, r4, r5 + add r5, r6, #0x4 + ldr r0, [r4, r0] + ldr r3, [r3, r5] + lsr r1, r1, #0x18 + mov r2, #0x0 + bl sub_020179E0 + ldr r1, [r4, r6] + mov r0, #0x1 + add r3, r1, #0x0 + eor r3, r0 + mov r5, #0xc + mov r0, #0x16 + lsl r0, r0, #0x4 + lsl r1, r3, #0x18 + mul r5, r3 + add r3, r4, r5 + add r6, #0x8 + ldr r0, [r4, r0] + ldr r3, [r3, r6] + lsr r1, r1, #0x18 + mov r2, #0x3 + bl sub_020179E0 + mov r1, #0x46 + ldr r0, _02077E84 ; =0x0000FFFF + lsl r1, r1, #0x2 + strh r0, [r4, r1] + ldr r0, [r7, #0x18] + cmp r0, #0x0 + beq _02077D88 + add r1, r4, r1 + mov r2, #0x20 + bl sub_02021EF0 +_02077D88: + add r1, r4, #0x0 + mov r0, #0x1 + add r1, #0xd8 + mov r2, #0x40 + blx sub_020CE1C8 + ldr r0, [r4, #0x0] + cmp r0, #0x1 + bne _02077DCE + mov r0, #0x12 + bl sub_020669C0 + mov r3, #0xa + str r3, [sp, #0x0] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + ldr r1, [r4, #0x4] + add r5, r0, #0x0 + mov r2, #0x5 + bl sub_02066ACC + add r0, r5, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200AC60 + add r0, r5, #0x0 + bl sub_02016A18 +_02077DCE: + ldr r0, [r7, #0x44] + cmp r0, #0x0 + beq _02077DD8 + mov r0, #0x1 + str r0, [r4, #0x14] +_02077DD8: + ldr r2, [r4, #0x0] + mov r1, #0x5a + lsl r1, r1, #0x2 + lsl r3, r2, #0x2 + ldr r2, _02077E88 ; =0x020FA0A0 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r2, [r2, r3] + ldr r1, [r4, r1] + mov r3, #0x12 + bl sub_0200A9C4 + mov r1, #0x5e + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r1, #0x0 + sub r0, #0x10 + sub r1, #0xc + ldr r0, [r4, r0] + ldr r1, [r4, r1] + mov r2, #0x8 + mov r3, #0x12 + bl sub_0200A9C4 + mov r1, #0x5f + lsl r1, r1, #0x2 + str r0, [r4, r1] + sub r1, #0x10 + ldr r0, [r4, r1] + mov r1, #0x7 + bl sub_0200A914 + mov r1, #0x61 + lsl r1, r1, #0x2 + str r0, [r4, r1] + sub r1, #0x6c + add r0, r4, r1 + bl sub_02002288 + mov r1, #0x56 + lsl r1, r1, #0x2 + strh r0, [r4, r1] + mov r0, #0x0 + str r0, [r4, #0x1c] + mov r1, #0x1 + str r1, [r4, #0x20] + sub r1, r1, #0x2 + str r1, [r4, #0x24] + str r1, [r4, #0x28] + str r0, [r4, #0x30] + ldr r2, _02077E8C ; =0x00000484 + str r0, [r4, #0x34] + str r1, [r4, r2] + add r1, r2, #0x4 + str r0, [r4, r1] + add r2, #0x8 + str r0, [r4, r2] + ldr r1, [r4, #0xc] + ldr r2, _02077E84 ; =0x0000FFFF + lsl r1, r1, #0x1 + add r1, r4, r1 + add r1, #0xd8 + strh r2, [r1, #0x0] + mov r1, #0x49 + add r3, r4, #0x0 + add r2, r0, #0x0 + lsl r1, r1, #0x4 +_02077E5E: + add r0, r0, #0x1 + str r2, [r3, r1] + add r3, r3, #0x4 + cmp r0, #0x7 + blt _02077E5E + ldr r0, [r4, #0x0] + cmp r0, #0x4 + beq _02077E76 + mov r0, #0x49 + mov r1, #0x1 + lsl r0, r0, #0x4 + str r1, [r4, r0] +_02077E76: + add sp, #0x10 + pop {r3-r7, pc} + nop +_02077E7C: .word 0x0000045C +_02077E80: .word 0x00000464 +_02077E84: .word 0x0000FFFF +_02077E88: .word 0x020FA0A0 +_02077E8C: .word 0x00000484 + + thumb_func_start sub_02077E90 +sub_02077E90: ; 0x02077E90 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r0, r1, #0x0 + bl sub_0200628C + add r4, r0, #0x0 + ldr r0, [r4, #0x44] + cmp r0, #0x0 + beq _02077FA0 + mov r0, #0xc8 + mov r1, #0x12 + bl sub_020219F4 + add r7, r0, #0x0 + mov r0, #0x6 + mov r1, #0x0 + lsl r0, r0, #0x6 + str r1, [r5, r0] + ldr r0, [r4, #0x48] + bl sub_0206B330 + add r6, r0, #0x0 + ldr r0, [r4, #0x48] + bl sub_0206B334 + str r0, [sp, #0x10] + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r4, #0x48] + mov r1, #0x1 + add r3, r6, #0x0 + bl sub_0200B410 + ldr r0, [sp, #0x10] + cmp r6, r0 + beq _02077EF4 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r4, #0x48] + ldr r3, [sp, #0x10] + mov r1, #0x2 + bl sub_0200B410 + ldr r0, [r4, #0x44] + add r0, r0, #0x2 + str r0, [r4, #0x44] + b _02077F04 +_02077EF4: + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r4, #0x48] + mov r1, #0x2 + add r3, r6, #0x0 + bl sub_0200B410 +_02077F04: + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r0, [r5, r0] + cmp r0, #0x0 + beq _02077F1A + add r0, r5, #0x0 + add r0, #0xd8 + bl sub_0207786C + cmp r0, #0x0 + beq _02077F50 +_02077F1A: + mov r0, #0x12 + bl sub_020669C0 + mov r3, #0x0 + str r3, [sp, #0x0] + str r3, [sp, #0x4] + str r3, [sp, #0x8] + str r3, [sp, #0xc] + ldr r1, [r5, #0x4] + add r6, r0, #0x0 + mov r2, #0x1 + bl sub_02066ACC + add r0, r6, #0x0 + bl sub_020690E4 + add r2, r0, #0x0 + mov r0, #0x5a + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200AC60 + add r0, r6, #0x0 + bl sub_02016A18 + b _02077F7E +_02077F50: + mov r1, #0x56 + lsl r1, r1, #0x2 + ldrh r1, [r5, r1] + ldr r0, _02077FA4 ; =0x0000FFFF + lsl r1, r1, #0x1 + add r1, r5, r1 + add r1, #0xd8 + strh r0, [r1, #0x0] + add r1, r5, #0x0 + add r0, r7, #0x0 + add r1, #0xd8 + bl sub_02021E28 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x5a + str r1, [sp, #0x4] + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r2, r7, #0x0 + add r3, r1, #0x0 + bl sub_0200ABB4 +_02077F7E: + mov r1, #0x5a + lsl r1, r1, #0x2 + ldr r0, [r5, r1] + add r1, #0xc + ldr r1, [r5, r1] + ldr r2, [r4, #0x44] + mov r3, #0x12 + bl sub_0200A9C4 + mov r1, #0x6 + lsl r1, r1, #0x6 + str r0, [r5, r1] + mov r0, #0x1 + str r0, [r5, #0x14] + add r0, r7, #0x0 + bl sub_02021A20 +_02077FA0: + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02077FA4: .word 0x0000FFFF + + thumb_func_start sub_02077FA8 +sub_02077FA8: ; 0x02077FA8 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r4, #0x0 +_02077FB0: + add r0, r5, #0x0 + bl sub_02019178 + add r4, r4, #0x1 + add r5, #0x10 + cmp r4, #0xa + blt _02077FB0 + add r0, r6, #0x0 + mov r1, #0x4 + bl sub_020178A0 + add r0, r6, #0x0 + mov r1, #0x2 + bl sub_020178A0 + add r0, r6, #0x0 + mov r1, #0x1 + bl sub_020178A0 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_020178A0 + mov r0, #0x12 + add r1, r6, #0x0 + bl sub_02016A8C + pop {r4-r6, pc} + + thumb_func_start sub_02077FE8 +sub_02077FE8: ; 0x02077FE8 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x16 + lsl r0, r0, #0x4 + ldr r4, [r5, r0] + mov r1, #0x0 + mov r0, #0x60 + str r0, [sp, #0x0] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0x1f + add r2, r1, #0x0 + add r3, r1, #0x0 + bl sub_02006930 + mov r0, #0x20 + str r0, [sp, #0x0] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0xc + add r1, r0, #0x0 + mov r2, #0x4 + mov r3, #0x0 + bl sub_02006930 + mov r0, #0x4 + mov r1, #0x0 + bl sub_02017FE4 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x2 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x12 + mov r1, #0x2 + str r0, [sp, #0xc] + mov r0, #0x1f + add r2, r4, #0x0 + add r3, r1, #0x0 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + lsl r0, r0, #0x8 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + mov r0, #0x1f + mov r1, #0x4 + add r2, r4, #0x0 + mov r3, #0x2 + bl sub_020068C8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x2 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + mov r3, #0x1 + str r3, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + mov r0, #0x1f + mov r1, #0x2 + add r2, r4, #0x0 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0xe + lsl r0, r0, #0x6 + str r0, [sp, #0x4] + mov r3, #0x1 + str r3, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + mov r0, #0x1f + mov r1, #0x6 + add r2, r4, #0x0 + bl sub_020068C8 + mov r3, #0x0 + mov r0, #0xe + str r3, [sp, #0x0] + lsl r0, r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + mov r0, #0x1f + mov r1, #0x7 + add r2, r4, #0x0 + bl sub_020068C8 + mov r1, #0x6 + mov r0, #0x0 + lsl r1, r1, #0x6 + mov r2, #0x12 + bl sub_02002EEC + ldr r0, [r5, #0x18] + bl sub_02025084 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0x16 + lsl r0, r0, #0x4 + mov r1, #0x4 + add r2, r1, #0x0 + ldr r0, [r5, r0] + add r2, #0xfc + mov r3, #0xa + bl sub_0200CD68 + mov r1, #0x6 + mov r0, #0x4 + lsl r1, r1, #0x6 + mov r2, #0x12 + bl sub_02002EEC + mov r3, #0x4b + mov r0, #0x12 + lsl r3, r3, #0x4 + str r0, [sp, #0x0] + mov r0, #0x1f + mov r1, #0x10 + mov r2, #0x1 + add r3, r5, r3 + bl sub_02006BB0 + ldr r1, _0207810C ; =0x000004AC + str r0, [r5, r1] + add sp, #0x10 + pop {r3-r5, pc} + nop +_0207810C: .word 0x000004AC + + thumb_func_start sub_02078110 +sub_02078110: ; 0x02078110 + push {r4, lr} + sub sp, #0x10 + ldr r4, _0207813C ; =0x020F9D5C + add r3, sp, #0x0 + add r2, r3, #0x0 + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_0201D040 + mov r0, #0x14 + mov r1, #0x12 + bl sub_0201E00C + bl sub_0201D168 + bl sub_0201E0BC + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0207813C: .word 0x020F9D5C + + thumb_func_start sub_02078140 +sub_02078140: ; 0x02078140 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + blx sub_020B0FC0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x80 + str r1, [sp, #0x4] + str r0, [sp, #0x8] + mov r3, #0x20 + str r3, [sp, #0xc] + mov r2, #0x12 + str r2, [sp, #0x10] + add r2, r0, #0x0 + bl sub_02009EAC + mov r1, #0x63 + lsl r1, r1, #0x2 + mov r0, #0x2c + add r1, r5, r1 + mov r2, #0x12 + bl sub_02008C9C + mov r1, #0x62 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r1, #0x4 + mov r2, #0x1 + add r0, r5, r0 + mov r1, #0x0 + lsl r2, r2, #0x14 + bl sub_02008D24 + mov r7, #0xad + mov r6, #0x0 + add r4, r5, #0x0 + lsl r7, r7, #0x2 +_0207818C: + mov r0, #0x2 + add r1, r6, #0x0 + mov r2, #0x12 + bl sub_02008DEC + str r0, [r4, r7] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _0207818C + mov r0, #0x0 + str r0, [sp, #0x0] + mov r3, #0x1 + str r3, [sp, #0x4] + mov r0, #0x12 + str r0, [sp, #0x8] + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1f + mov r2, #0xa + bl sub_02008F34 + mov r1, #0xb1 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r3, #0x0 + str r3, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + mov r0, #0x9 + str r0, [sp, #0x8] + mov r0, #0x12 + sub r1, #0xc + str r0, [sp, #0xc] + ldr r0, [r5, r1] + mov r1, #0x1f + bl sub_02008FEC + mov r1, #0xb2 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + mov r0, #0x12 + sub r1, #0xc + str r0, [sp, #0x8] + ldr r0, [r5, r1] + mov r1, #0x1f + mov r2, #0xc + mov r3, #0x1 + bl sub_020090AC + mov r1, #0xb3 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x3 + str r0, [sp, #0x4] + mov r0, #0x12 + sub r1, #0xc + str r0, [sp, #0x8] + ldr r0, [r5, r1] + mov r1, #0x1f + mov r2, #0xe + mov r3, #0x1 + bl sub_020090AC + mov r1, #0x2d + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [r5, #0x0] + cmp r0, #0x1 + bne _02078272 + ldr r0, [r5, #0x4] + ldr r2, [r5, #0x8] + mov r1, #0x0 + bl sub_0206B6D4 + ldr r3, _0207831C ; =0x000004B8 + add r1, r0, #0x0 + mov r0, #0x12 + str r0, [sp, #0x0] + mov r0, #0x13 + mov r2, #0x0 + add r3, r5, r3 + bl sub_02006BB0 + ldr r1, _02078320 ; =0x000004B4 + str r0, [r5, r1] + add r0, r1, #0x4 + mov r1, #0x2 + ldr r0, [r5, r0] + lsl r1, r1, #0x8 + blx sub_020CC15C + bl sub_0206B888 + add r1, r0, #0x0 + mov r0, #0x13 + lsl r2, r0, #0x6 + add r2, r5, r2 + mov r3, #0x12 + bl sub_02006C08 + ldr r1, _02078324 ; =0x000004BC + str r0, [r5, r1] + add r0, r1, #0x4 + ldr r0, [r5, r0] + mov r1, #0x80 + blx sub_020CC15C +_02078272: + mov r3, #0x1 + str r3, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + mov r0, #0x12 + str r0, [sp, #0x8] + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1f + mov r2, #0xb + bl sub_02008F34 + mov r1, #0xb5 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r2, #0x1 + str r2, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + mov r0, #0x3 + str r0, [sp, #0x8] + mov r0, #0x12 + sub r1, #0x1c + str r0, [sp, #0xc] + ldr r0, [r5, r1] + mov r1, #0x1f + mov r3, #0x0 + bl sub_02008FEC + mov r1, #0xb6 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r3, #0x1 + str r3, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + mov r0, #0x12 + sub r1, #0x1c + str r0, [sp, #0x8] + ldr r0, [r5, r1] + mov r1, #0x1f + mov r2, #0xd + bl sub_020090AC + mov r1, #0xb7 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r3, #0x1 + str r3, [sp, #0x0] + mov r0, #0x3 + str r0, [sp, #0x4] + mov r0, #0x12 + sub r1, #0x1c + str r0, [sp, #0x8] + ldr r0, [r5, r1] + mov r1, #0x1f + mov r2, #0xf + bl sub_020090AC + mov r1, #0x2e + lsl r1, r1, #0x4 + str r0, [r5, r1] + sub r1, #0x1c + ldr r0, [r5, r1] + bl sub_02009A50 + mov r0, #0xb5 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02009A50 + mov r0, #0xb2 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02009CF0 + mov r0, #0xb6 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02009CF0 + add sp, #0x14 + pop {r4-r7, pc} + nop +_0207831C: .word 0x000004B8 +_02078320: .word 0x000004B4 +_02078324: .word 0x000004BC + + thumb_func_start sub_02078328 +sub_02078328: ; 0x02078328 + push {r3-r4, lr} + sub sp, #0xc + add r4, r1, #0x0 + ldr r0, [r4, #0x0] + bl sub_0202011C + ldr r1, [r0, #0x0] + ldr r0, [r4, #0x8] + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [r4, #0xc] + lsl r1, r0, #0x4 + ldr r0, _02078358 ; =0x020FA1D8 + ldr r0, [r0, r1] + add r1, sp, #0x0 + lsl r0, r0, #0xc + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [r4, #0x4] + bl sub_02020044 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_02078358: .word 0x020FA1D8 + + thumb_func_start sub_0207835C +sub_0207835C: ; 0x0207835C + push {r4-r7, lr} + sub sp, #0x5c + mov r1, #0x0 + add r6, r0, #0x0 + str r1, [sp, #0x0] + sub r0, r1, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r2, #0xad + str r1, [sp, #0xc] + mov r0, #0x1 + lsl r2, r2, #0x2 + str r0, [sp, #0x10] + ldr r0, [r6, r2] + add r3, r1, #0x0 + str r0, [sp, #0x14] + add r0, r2, #0x4 + ldr r0, [r6, r0] + str r0, [sp, #0x18] + add r0, r2, #0x0 + add r0, #0x8 + ldr r0, [r6, r0] + str r0, [sp, #0x1c] + add r0, r2, #0x0 + add r0, #0xc + ldr r0, [r6, r0] + add r2, #0x30 + str r0, [sp, #0x20] + str r1, [sp, #0x24] + add r0, r6, r2 + add r2, r1, #0x0 + str r1, [sp, #0x28] + bl sub_02008AA4 + mov r1, #0x1 + mov r3, #0xad + str r1, [sp, #0x0] + sub r0, r1, #0x2 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + lsl r3, r3, #0x2 + ldr r2, [r6, r3] + str r2, [sp, #0x14] + add r2, r3, #0x4 + ldr r2, [r6, r2] + str r2, [sp, #0x18] + add r2, r3, #0x0 + add r2, #0x8 + ldr r2, [r6, r2] + str r2, [sp, #0x1c] + add r2, r3, #0x0 + add r2, #0xc + ldr r2, [r6, r2] + add r3, #0x54 + str r2, [sp, #0x20] + str r0, [sp, #0x24] + str r0, [sp, #0x28] + add r0, r6, r3 + add r2, r1, #0x0 + add r3, r1, #0x0 + bl sub_02008AA4 + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + mov r1, #0x2 + str r0, [sp, #0x2c] + mov r0, #0xb9 + lsl r0, r0, #0x2 + add r0, r6, r0 + str r0, [sp, #0x30] + mov r0, #0x6 + lsl r1, r1, #0x10 + lsl r0, r0, #0x10 + str r0, [sp, #0x38] + lsr r0, r1, #0x5 + mov r7, #0x0 + str r1, [sp, #0x34] + str r7, [sp, #0x3c] + str r0, [sp, #0x40] + str r0, [sp, #0x44] + str r0, [sp, #0x48] + add r0, sp, #0x2c + strh r7, [r0, #0x20] + mov r0, #0x1 + str r0, [sp, #0x50] + str r0, [sp, #0x54] + mov r0, #0x12 + ldr r4, _02078528 ; =0x020FA1D4 + str r0, [sp, #0x58] + add r5, r6, #0x0 +_02078418: + ldr r0, [r4, #0x0] + lsl r0, r0, #0xc + str r0, [sp, #0x34] + ldr r0, [r4, #0x4] + lsl r0, r0, #0xc + str r0, [sp, #0x38] + add r0, sp, #0x2c + bl sub_0201FE94 + mov r1, #0xcb + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r1, #0x0 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200BC + mov r0, #0xcb + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r1, [r4, #0x8] + bl sub_02020130 + mov r0, #0xcb + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r1, [r4, #0xc] + bl sub_02020310 + add r7, r7, #0x1 + add r4, #0x10 + add r5, r5, #0x4 + cmp r7, #0x9 + blt _02078418 + mov r0, #0xcf + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + mov r1, #0x0 + bl sub_020200A0 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r7, _02078528 ; =0x020FA1D4 + mov r5, #0x0 + add r4, r6, #0x0 +_0207847A: + ldr r0, _0207852C ; =sub_02078328 + mov r1, #0x10 + mov r2, #0x5 + mov r3, #0x12 + bl sub_020061E8 + mov r1, #0xe7 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r1, #0x0 + ldr r0, [r4, r0] + bl sub_0201B6C8 + mov r1, #0xd2 + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + str r1, [r0, #0x0] + mov r1, #0xcb + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r4, r4, #0x4 + str r1, [r0, #0x4] + ldr r1, [r7, #0x0] + add r7, #0x10 + lsl r1, r1, #0xc + str r1, [r0, #0x8] + str r5, [r0, #0xc] + add r5, r5, #0x1 + cmp r5, #0x7 + blt _0207847A + ldr r2, [r6, #0xc] + mov r7, #0x0 + cmp r2, #0x0 + ble _020784FA + mov r5, #0x50 + add r4, r6, #0x0 +_020784C2: + lsl r0, r5, #0xc + str r0, [sp, #0x34] + mov r0, #0x27 + lsl r0, r0, #0xc + str r0, [sp, #0x38] + add r0, sp, #0x2c + bl sub_0201FE94 + mov r1, #0xd9 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r1, #0x0 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200BC + mov r0, #0xd9 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x2b + bl sub_02020130 + ldr r2, [r6, #0xc] + add r7, r7, #0x1 + add r5, #0xc + add r4, r4, #0x4 + cmp r7, r2 + blt _020784C2 +_020784FA: + mov r1, #0x56 + lsl r1, r1, #0x2 + mov r0, #0xd9 + lsl r0, r0, #0x2 + ldrh r1, [r6, r1] + add r0, r6, r0 + bl sub_02079710 + add r0, r6, #0x0 + add r1, sp, #0x2c + bl sub_02078530 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E74C + add sp, #0x5c + pop {r4-r7, pc} + nop +_02078528: .word 0x020FA1D4 +_0207852C: .word sub_02078328 + 1 + + thumb_func_start sub_02078530 +sub_02078530: ; 0x02078530 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0x6 + add r5, r1, #0x0 + lsl r0, r0, #0xe + str r0, [r5, #0x8] + mov r0, #0x2 + lsl r0, r0, #0xe + str r0, [r5, #0xc] + add r0, r5, #0x0 + bl sub_0201FE94 + mov r1, #0xe5 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, r1] + mov r1, #0x1 + bl sub_020200BC + ldr r0, [r4, #0x0] + cmp r0, #0x7 + bhi _02078626 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r6, r6, #0x1 + lsl r0, r5, #0x1 + lsl r0, r6, #0 + lsl r2, r3, #0x1 + lsl r4, r1, #0x1 + lsl r6, r7, #0 + lsl r2, r3, #0x1 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + bne _0207858C + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x30 + bl sub_02020130 + pop {r3-r5, pc} +_0207858C: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x31 + bl sub_02020130 + pop {r3-r5, pc} +_0207859A: + .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58 + .byte 0x33, 0x21, 0xA7, 0xF7, 0xC5, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x37, 0x21 + .byte 0xA7, 0xF7, 0xBE, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x36, 0x21, 0xA7, 0xF7 + .byte 0xB7, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x35, 0x21, 0xA7, 0xF7, 0xB0, 0xFD + .byte 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x2F, 0x21, 0xA7, 0xF7, 0xA9, 0xFD, 0x38, 0xBD + .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x32, 0x21, 0xA7, 0xF7, 0xA2, 0xFD, 0x20, 0x69, 0x02, 0x28 + .byte 0x19, 0xD0, 0xE1, 0x68, 0x0D, 0x20, 0x48, 0x43, 0x50, 0x30, 0x00, 0x03, 0xA8, 0x60, 0x1B, 0x20 + .byte 0x00, 0x03, 0xE8, 0x60, 0x28, 0x1C, 0xA7, 0xF7, 0x45, 0xFC, 0xE6, 0x21, 0x89, 0x00, 0x60, 0x50 + .byte 0x20, 0x69, 0x00, 0x28, 0x60, 0x58, 0x03, 0xD1, 0x2D, 0x21, 0xA7, 0xF7, 0x89, 0xFD, 0x38, 0xBD + .byte 0x2E, 0x21, 0xA7, 0xF7, 0x85, 0xFD +_02078626: + pop {r3-r5, pc} + + thumb_func_start sub_02078628 +sub_02078628: ; 0x02078628 + push {r4-r5, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [r4, #0x4] + cmp r0, #0x6 + bhi _020786A6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r2, r3, #0x1 + lsl r0, r4, #0 + lsl r2, r3, #0x1 + lsl r4, r6, #0 + lsl r2, r3, #0x1 + lsl r0, r1, #0x1 + mov r0, #0x1 + ldr r1, [r4, #0x8] + lsl r0, r0, #0xe + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + add r1, sp, #0x0 + bl sub_02020044 + b _020786A6 +_0207866C: + .byte 0x03, 0x20, 0xA1, 0x68 + .byte 0x00, 0x03, 0x08, 0x1A, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7, 0xE3, 0xFC, 0x12, 0xE0 + .byte 0x02, 0x20, 0xA1, 0x68, 0x00, 0x03, 0x08, 0x18, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7 + .byte 0xD9, 0xFC, 0x08, 0xE0, 0xA0, 0x68, 0x00, 0xA9, 0x00, 0x90, 0x20, 0x68, 0xA7, 0xF7, 0xD2, 0xFC + .byte 0x28, 0x1C, 0x8D, 0xF7, 0xBB, 0xFD +_020786A6: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_020786B0 +sub_020786B0: ; 0x020786B0 + push {r3-r7, lr} + sub sp, #0x28 + str r1, [sp, #0x14] + ldr r1, [sp, #0x40] + add r5, r2, #0x0 + str r1, [sp, #0x40] + ldr r1, [sp, #0x48] + mov r2, #0x1 + str r1, [sp, #0x48] + ldr r1, [sp, #0x40] + str r0, [sp, #0x10] + ldr r6, [r1, #0x0] + add r7, r3, #0x0 + add r1, r6, #0x0 + eor r1, r2 + str r1, [sp, #0x18] + ldr r1, [r5, #0x0] + ldr r4, [sp, #0x44] + cmp r1, #0x4 + bls _020786DA + b _0207887E +_020786DA: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r4, r2, #0x1 + lsl r2, r7, #0x1 + lsl r4, r2, #0x4 + lsl r6, r2, #0x6 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0xe + lsl r0, r0, #0x6 + str r0, [sp, #0x4] + str r2, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + ldr r2, [sp, #0x10] + mov r0, #0x1f + add r1, r7, #0x6 + add r3, r6, #0x0 + bl sub_020068C8 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_02078BA8 + ldr r0, _02078884 ; =0x020F9D2C + lsl r2, r6, #0x4 + ldrb r1, [r0, r7] + ldr r0, [sp, #0x4c] + ldr r3, _02078888 ; =0x000E0F00 + str r0, [sp, #0x0] + ldr r0, [sp, #0x14] + add r0, r0, r2 + lsl r2, r1, #0x4 + orr r1, r2 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r2, r7, #0x0 + bl sub_0207974C + ldr r0, [r5, #0x0] + add sp, #0x28 + add r0, r0, #0x1 + str r0, [r5, #0x0] + pop {r3-r7, pc} +_0207873C: + .byte 0x31, 0x06, 0x09, 0x0E + .byte 0x00, 0x22, 0xEE, 0x23, 0x9F, 0xF7, 0x4C, 0xF9, 0x03, 0x22, 0x31, 0x06, 0x13, 0x1C, 0x04, 0x98 + .byte 0x09, 0x0E, 0x53, 0x3B, 0x9F, 0xF7, 0x44, 0xF9, 0x28, 0x68, 0x0A, 0xB0, 0x40, 0x1C, 0x28, 0x60 + .byte 0xF8, 0xBD, 0x0C, 0x21, 0x30, 0x1C, 0x48, 0x43, 0x22, 0x58, 0x07, 0x90, 0x18, 0x3A, 0x22, 0x50 + .byte 0x20, 0x58, 0x0D, 0x39, 0x88, 0x42, 0x20, 0xDA, 0x44, 0x48, 0x10, 0x21, 0x00, 0x22, 0x12, 0x23 + .byte 0x8D, 0xF7, 0x32, 0xFD, 0xA2, 0xF7, 0xA0, 0xFF, 0x07, 0x1C, 0x12, 0x98, 0xC0, 0x69, 0x38, 0x60 + .byte 0x00, 0x20, 0x78, 0x60, 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xC0, 0xFC, 0x00, 0x68, 0xB8, 0x60 + .byte 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xBA, 0xFC, 0x40, 0x68, 0x0A, 0x21, 0xF8, 0x60, 0x07, 0x98 + .byte 0xC9, 0x43, 0x21, 0x50, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0x98, 0x0C, 0x21, 0x07, 0x1C + .byte 0x25, 0x1D, 0x4F, 0x43, 0xE8, 0x59, 0x0A, 0x38, 0xE8, 0x51, 0x08, 0x1C, 0xEA, 0x59, 0xD0, 0x38 + .byte 0x82, 0x42, 0x01, 0xDA, 0xD0, 0x39, 0xE9, 0x51, 0x07, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58 + .byte 0x09, 0x0E, 0x00, 0x22, 0x9F, 0xF7, 0xFC, 0xF8, 0x06, 0x99, 0x04, 0x98, 0x09, 0x06, 0xEB, 0x59 + .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xF4, 0xF8, 0x0A, 0xB0, 0xF8, 0xBD, 0x06, 0x99, 0x0C, 0x20 + .byte 0x0A, 0x1C, 0x42, 0x43, 0x08, 0x92, 0x27, 0x1D, 0xBA, 0x58, 0x08, 0x99, 0x0A, 0x3A, 0x7A, 0x50 + .byte 0x7A, 0x58, 0x01, 0x1C, 0xD0, 0x39, 0x8A, 0x42, 0x02, 0xDA, 0x08, 0x99, 0xD0, 0x38, 0x78, 0x50 + .byte 0x0C, 0x20, 0x70, 0x43, 0x09, 0x90, 0x09, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58, 0x09, 0x0E + .byte 0x00, 0x22, 0x9F, 0xF7, 0xD5, 0xF8, 0x06, 0x99, 0x08, 0x9B, 0x09, 0x06, 0x04, 0x98, 0xFB, 0x58 + .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xCC, 0xF8, 0x09, 0x98, 0x0A, 0x21, 0x20, 0x58, 0xC9, 0x43 + .byte 0x88, 0x42, 0x14, 0xD1, 0x08, 0x98, 0xB9, 0x39, 0x38, 0x58, 0x88, 0x42, 0x0F, 0xD1, 0x28, 0x68 + .byte 0x22, 0x1C, 0x40, 0x1C, 0x28, 0x60, 0x10, 0x98, 0x01, 0x68, 0x01, 0x20, 0x41, 0x40, 0x10, 0x98 + .byte 0x01, 0x60, 0x04, 0x98, 0x00, 0xF0, 0x88, 0xF9, 0x05, 0x48, 0x8C, 0xF7, 0x25, 0xFE +_0207887E: + add sp, #0x28 + pop {r3-r7, pc} + nop +_02078884: .word 0x020F9D2C +_02078888: .word 0x000E0F00 +_0207888C: + .byte 0x29, 0x86, 0x07, 0x02 + .byte 0x9B, 0x06, 0x00, 0x00 + + thumb_func_start sub_02078894 +sub_02078894: ; 0x02078894 + push {r4-r5, lr} + sub sp, #0xc + add r4, r2, #0x0 + mov r2, #0x1 + mov r1, #0x0 + lsl r2, r2, #0x8 + mov r3, #0xa + add r5, r0, #0x0 + bl sub_0200D0BC + mov r3, #0x0 + str r3, [sp, #0x0] + str r3, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + str r3, [sp, #0x8] + bl sub_0201BD84 + add r0, r5, #0x0 + bl sub_020191D0 + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_020788C4 +sub_020788C4: ; 0x020788C4 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r6, r2, #0x0 + mov r0, #0x0 + add r1, r6, #0x0 + add r2, r0, #0x0 + mov r4, #0x10 + bl sub_02002E14 + cmp r0, #0x82 + ble _020788DE + mov r4, #0x0 +_020788DE: + add r0, r5, #0x0 + mov r1, #0x1 + bl sub_02019620 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, _02078908 ; =0x000E0F01 + str r1, [sp, #0x4] + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 + add r0, r5, #0x0 + bl sub_020191D0 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02078908: .word 0x000E0F01 + + thumb_func_start sub_0207890C +sub_0207890C: ; 0x0207890C + push {r4-r7, lr} + sub sp, #0x14 + add r6, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1a + str r0, [sp, #0x4] + mov r0, #0xc + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r0, #0xf4 + str r0, [sp, #0x10] + mov r0, #0x16 + lsl r0, r0, #0x4 + mov r1, #0xee + lsl r1, r1, #0x2 + ldr r0, [r5, r0] + add r1, r5, r1 + mov r2, #0x0 + mov r3, #0x2 + bl sub_02019064 + mov r2, #0x1 + mov r1, #0xf2 + lsl r1, r1, #0x2 + str r2, [sp, #0x0] + mov r0, #0x1a + str r0, [sp, #0x4] + mov r0, #0xc + str r0, [sp, #0x8] + mov r0, #0x8e + str r2, [sp, #0xc] + lsl r0, r0, #0x2 + str r0, [sp, #0x10] + sub r0, #0xd8 + ldr r0, [r5, r0] + add r1, r5, r1 + mov r3, #0x2 + bl sub_02019064 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + bne _020789AE + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0xe + lsl r0, r0, #0x6 + str r0, [sp, #0x4] + mov r3, #0x1 + mov r2, #0x16 + str r3, [sp, #0x8] + mov r0, #0x12 + str r0, [sp, #0xc] + lsl r2, r2, #0x4 + ldr r2, [r5, r2] + mov r0, #0x1f + mov r1, #0x9 + bl sub_020068C8 + mov r0, #0x46 + mov r1, #0x4 + lsl r0, r0, #0x4 + str r1, [r5, r0] + add r0, r5, #0x0 + add r0, #0x3a + bl sub_0207916C + mov r0, #0x4b + lsl r0, r0, #0x4 + ldr r1, [r5, r0] + sub r0, #0xe8 + ldr r1, [r1, #0x14] + ldr r3, _02078B6C ; =0x000E0F00 + str r1, [sp, #0x0] + ldr r1, _02078B70 ; =0x00000A0A + add r0, r5, r0 + mov r2, #0x4 + bl sub_0207974C + b _020789D8 +_020789AE: + mov r0, #0x46 + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r5, r0] + add r0, r5, #0x0 + add r0, #0x3a + bl sub_0207916C + mov r1, #0x4b + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + ldr r3, _02078B6C ; =0x000E0F00 + ldr r0, [r0, #0x14] + mov r2, #0x0 + str r0, [sp, #0x0] + add r0, r1, #0x0 + sub r0, #0xe8 + add r0, r5, r0 + sub r1, #0xac + bl sub_0207974C +_020789D8: + mov r2, #0x2 + str r2, [sp, #0x0] + mov r3, #0x16 + str r3, [sp, #0x4] + mov r1, #0x37 + str r2, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + lsl r1, r1, #0x4 + str r1, [sp, #0x10] + lsl r0, r3, #0x4 + add r1, #0x68 + ldr r0, [r5, r0] + add r1, r5, r1 + mov r3, #0x7 + bl sub_02019064 + ldr r1, [r5, #0xc] + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + asr r0, r2, #0x2 + lsr r0, r0, #0x1d + add r0, r2, r0 + asr r0, r0, #0x3 + add r4, r0, #0x1 + mov r0, #0x3 + str r0, [sp, #0x0] + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + mov r2, #0x2 + mov r1, #0xe7 + str r2, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + lsl r1, r1, #0x2 + mov r0, #0x16 + str r1, [sp, #0x10] + lsl r0, r0, #0x4 + add r1, #0x4c + ldr r0, [r5, r0] + add r1, r5, r1 + mov r3, #0xa + bl sub_02019064 + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1 + bl sub_02019620 + mov r0, #0x3 + str r0, [sp, #0x0] + mov r0, #0x7 + str r0, [sp, #0x4] + mov r2, #0x2 + mov r1, #0xf + add r4, #0x9 + lsl r3, r4, #0x18 + str r2, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + lsl r1, r1, #0x6 + mov r0, #0x16 + str r1, [sp, #0x10] + lsl r0, r0, #0x4 + add r1, #0x78 + ldr r0, [r5, r0] + add r1, r5, r1 + lsr r3, r3, #0x18 + bl sub_02019064 + ldr r0, _02078B74 ; =0x00000438 + mov r1, #0x1 + add r0, r5, r0 + bl sub_02019620 + ldr r1, [r5, #0x0] + cmp r1, #0x5 + bne _02078A90 + mov r2, #0x61 + ldr r0, _02078B74 ; =0x00000438 + lsl r2, r2, #0x2 + ldr r2, [r5, r2] + add r0, r5, r0 + bl sub_020788C4 + ldr r0, _02078B74 ; =0x00000438 + add r0, r5, r0 + bl sub_020191D0 +_02078A90: + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r2, #0x4 + ldr r1, _02078B78 ; =0x00000448 + str r2, [sp, #0x8] + mov r0, #0xc + str r0, [sp, #0xc] + mov r0, #0x84 + str r0, [sp, #0x10] + add r0, #0xdc + ldr r0, [r5, r0] + add r1, r5, r1 + mov r3, #0x2 + bl sub_02019064 + ldr r0, _02078B78 ; =0x00000448 + mov r1, #0xf + add r0, r5, r0 + bl sub_02019620 + mov r2, #0x5e + ldr r0, _02078B78 ; =0x00000448 + lsl r2, r2, #0x2 + ldr r1, [r5, #0x0] + ldr r2, [r5, r2] + add r0, r5, r0 + bl sub_02078894 + add r0, r6, #0x0 + bl sub_0200628C + mov r1, #0x46 + lsl r1, r1, #0x2 + ldrh r2, [r5, r1] + ldr r0, _02078B7C ; =0x0000FFFF + cmp r2, r0 + beq _02078B06 + add r0, r5, #0x0 + add r0, #0xd8 + add r1, r5, r1 + bl sub_02002248 + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + add r1, r5, #0x0 + ldr r0, _02078B80 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r5, r0 + add r1, #0xd8 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl sub_02078E7C +_02078B06: + mov r0, #0xee + lsl r0, r0, #0x2 + mov r4, #0x0 + add r7, r5, r0 +_02078B0E: + add r0, r4, #0x4 + lsl r6, r0, #0x4 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + mov r0, #0x78 + str r0, [sp, #0x10] + add r0, #0xe8 + ldr r0, [r5, r0] + add r1, r7, r6 + mov r2, #0x2 + mov r3, #0x0 + bl sub_02019064 + add r0, r7, r6 + mov r1, #0x0 + bl sub_02019620 + add r4, r4, #0x1 + cmp r4, #0x3 + blt _02078B0E + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + mov r2, #0x2 + str r2, [sp, #0x8] + ldr r1, _02078B84 ; =0x00000428 + str r3, [sp, #0xc] + mov r0, #0x84 + str r0, [sp, #0x10] + add r0, #0xdc + ldr r0, [r5, r0] + add r1, r5, r1 + bl sub_02019064 + ldr r0, _02078B84 ; =0x00000428 + mov r1, #0x0 + add r0, r5, r0 + bl sub_02019620 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02078B6C: .word 0x000E0F00 +_02078B70: .word 0x00000A0A +_02078B74: .word 0x00000438 +_02078B78: .word 0x00000448 +_02078B7C: .word 0x0000FFFF +_02078B80: .word 0x000E0F01 +_02078B84: .word 0x00000428 + + thumb_func_start sub_02078B88 +sub_02078B88: ; 0x02078B88 + push {r4, lr} + add r4, r1, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x1 + bl sub_020178BC + mov r0, #0x1 + eor r0, r4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x2 + bl sub_020178BC + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02078BA8 +sub_02078BA8: ; 0x02078BA8 + push {r3-r4} + mov r3, #0xc + add r4, r1, #0x0 + mul r4, r3 + mov r2, #0xee + str r2, [r0, r4] + add r2, r3, #0x0 + sub r2, #0x5c + add r4, r0, r4 + str r2, [r4, #0x4] + mov r4, #0x1 + eor r1, r4 + mul r3, r1 + sub r4, #0xc + str r4, [r0, r3] + add r0, r0, r3 + str r2, [r0, #0x4] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_02078BD0 +sub_02078BD0: ; 0x02078BD0 + cmp r0, r2 + blt _02078BD6 + add r0, r1, #0x0 +_02078BD6: + cmp r0, r1 + bge _02078BDC + sub r0, r2, #0x1 +_02078BDC: + bx lr + .balign 4 + + thumb_func_start sub_02078BE0 +sub_02078BE0: ; 0x02078BE0 + push {r3-r7, lr} + add r5, r0, #0x0 + cmp r1, #0x0 + beq _02078C84 + ldr r3, [r5, #0x20] + mov r2, #0x1a + mul r2, r3 + ldr r0, [r5, #0x1c] + add r3, r5, r2 + lsl r2, r0, #0x1 + add r2, r3, r2 + ldrh r2, [r2, #0x3a] + lsl r6, r1, #0x3 + ldr r1, _02078C88 ; =0x020FA154 + str r2, [sp, #0x0] + ldr r1, [r1, r6] + mov r2, #0xd + add r0, r0, r1 + mov r1, #0x0 + bl sub_02078BD0 + add r4, r0, #0x0 + ldr r0, _02078C8C ; =0x020FA158 + ldr r1, [r5, #0x20] + ldr r0, [r0, r6] + mov r2, #0x6 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02078BD0 + add r7, r0, #0x0 + ldr r0, _02078C88 ; =0x020FA154 + add r6, r0, r6 + b _02078C62 +_02078C24: + ldr r1, [r5, #0x28] + cmp r1, #0x0 + bne _02078C46 + ldr r1, _02078C90 ; =0x0000D004 + cmp r0, r1 + bne _02078C46 + ldr r0, [r6, #0x4] + cmp r0, #0x0 + beq _02078C46 + ldr r0, [r5, #0x2c] + mov r1, #0x0 + add r0, r4, r0 + mov r2, #0xd + bl sub_02078BD0 + add r4, r0, #0x0 + b _02078C62 +_02078C46: + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r0, r4, r0 + mov r2, #0xd + bl sub_02078BD0 + add r4, r0, #0x0 + ldr r0, [r6, #0x4] + mov r1, #0x0 + add r0, r7, r0 + mov r2, #0x6 + bl sub_02078BD0 + add r7, r0, #0x0 +_02078C62: + mov r0, #0x1a + mul r0, r7 + lsl r1, r4, #0x1 + add r0, r5, r0 + add r0, r1, r0 + ldrh r0, [r0, #0x3a] + ldr r1, _02078C90 ; =0x0000D004 + cmp r0, r1 + beq _02078C24 + ldr r1, [sp, #0x0] + cmp r1, r0 + bne _02078C80 + ldr r1, _02078C94 ; =0x0000E001 + cmp r0, r1 + bhi _02078C24 +_02078C80: + str r4, [r5, #0x1c] + str r7, [r5, #0x20] +_02078C84: + pop {r3-r7, pc} + nop +_02078C88: .word 0x020FA154 +_02078C8C: .word 0x020FA158 +_02078C90: .word 0x0000D004 +_02078C94: .word 0x0000E001 + + thumb_func_start sub_02078C98 +sub_02078C98: ; 0x02078C98 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _02078D70 ; =0x021C48B8 + mov r4, #0x0 + ldr r1, [r0, #0x4c] + mov r0, #0x40 + add r6, r4, #0x0 + tst r0, r1 + beq _02078CC0 + ldr r0, _02078D74 ; =0x000005DC + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r6, #0x1 + add r4, r4, #0x1 +_02078CC0: + ldr r0, _02078D70 ; =0x021C48B8 + ldr r1, [r0, #0x4c] + mov r0, #0x80 + tst r0, r1 + beq _02078CE0 + ldr r0, _02078D74 ; =0x000005DC + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r6, #0x2 + add r4, r4, #0x1 +_02078CE0: + ldr r0, _02078D70 ; =0x021C48B8 + ldr r1, [r0, #0x4c] + mov r0, #0x20 + tst r0, r1 + beq _02078D00 + ldr r0, _02078D74 ; =0x000005DC + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r6, #0x3 + add r4, r4, #0x1 +_02078D00: + ldr r0, _02078D70 ; =0x021C48B8 + ldr r1, [r0, #0x4c] + mov r0, #0x10 + tst r0, r1 + beq _02078D20 + ldr r0, _02078D74 ; =0x000005DC + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r6, #0x4 + add r4, r4, #0x1 +_02078D20: + ldr r0, _02078D70 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x8 + tst r0, r1 + beq _02078D46 + ldr r0, _02078D74 ; =0x000005DC + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r0, #0xc + str r0, [r5, #0x1c] + mov r0, #0x0 + str r0, [r5, #0x20] + add r4, r4, #0x1 +_02078D46: + add r0, r5, #0x0 + bl sub_02079930 + ldr r1, _02078D78 ; =0x000005C8 + str r0, [r5, r1] + ldr r0, [r5, r1] + cmp r0, #0x1 + bne _02078D5A + mov r6, #0x0 + add r4, r4, #0x1 +_02078D5A: + cmp r4, #0x0 + beq _02078D6E + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02078BE0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl sub_02078D7C +_02078D6E: + pop {r4-r6, pc} + .balign 4 +_02078D70: .word 0x021C48B8 +_02078D74: .word 0x000005DC +_02078D78: .word 0x000005C8 + + thumb_func_start sub_02078D7C +sub_02078D7C: ; 0x02078D7C + push {r3-r5, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldr r1, [r5, #0x20] + cmp r1, #0x0 + beq _02078DC6 + ldr r0, [r5, #0x28] + cmp r0, #0x0 + bne _02078DA0 + cmp r0, r1 + beq _02078DA0 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x27 + bl sub_02020130 +_02078DA0: + ldr r0, [r5, #0x1c] + lsl r0, r0, #0x4 + add r0, #0x1a + lsl r0, r0, #0xc + str r0, [sp, #0xc] + ldr r0, [r5, #0x20] + sub r1, r0, #0x1 + mov r0, #0x13 + mul r0, r1 + add r0, #0x5b + lsl r0, r0, #0xc + str r0, [sp, #0x10] + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, sp, #0xc + bl sub_02020044 + b _02078E02 +_02078DC6: + mov r0, #0x1a + mul r0, r1 + add r1, r5, r0 + ldr r0, [r5, #0x1c] + lsl r0, r0, #0x1 + add r0, r1, r0 + ldrh r1, [r0, #0x3a] + ldr r0, _02078E2C ; =0x0000E002 + sub r1, r1, r0 + ldr r0, _02078E30 ; =0x020F9D6C + lsl r2, r1, #0x1 + ldrh r0, [r0, r2] + ldr r2, _02078E34 ; =0x020F9D38 + lsl r0, r0, #0xc + str r0, [sp, #0x0] + mov r0, #0x11 + lsl r0, r0, #0xe + str r0, [sp, #0x4] + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldrb r1, [r2, r1] + ldr r0, [r5, r0] + bl sub_02020130 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, sp, #0x0 + bl sub_02020044 +_02078E02: + mov r0, #0xb4 + strh r0, [r5, #0x38] + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02020208 + ldr r0, [r5, #0x1c] + lsl r1, r4, #0x3 + str r0, [r5, #0x24] + ldr r0, [r5, #0x20] + str r0, [r5, #0x28] + ldr r0, _02078E38 ; =0x020FA154 + ldr r0, [r0, r1] + cmp r0, #0x0 + beq _02078E26 + str r0, [r5, #0x2c] +_02078E26: + add sp, #0x18 + pop {r3-r5, pc} + nop +_02078E2C: .word 0x0000E002 +_02078E30: .word 0x020F9D6C +_02078E34: .word 0x020F9D38 +_02078E38: .word 0x020FA154 + + thumb_func_start sub_02078E3C +sub_02078E3C: ; 0x02078E3C + push {r3, lr} + ldrh r1, [r0, #0x0] + add r1, #0x14 + strh r1, [r0, #0x0] + ldrh r2, [r0, #0x0] + mov r1, #0x5a + lsl r1, r1, #0x2 + cmp r2, r1 + bls _02078E52 + mov r1, #0x0 + strh r1, [r0, #0x0] +_02078E52: + ldrh r0, [r0, #0x0] + bl sub_0201B970 + mov r1, #0xa + mul r1, r0 + asr r0, r1, #0xb + lsr r0, r0, #0x14 + add r0, r1, r0 + asr r0, r0, #0xc + add r0, #0xf + lsl r1, r0, #0x5 + mov r0, #0x1d + orr r1, r0 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + add r0, sp, #0x0 + mov r1, #0x3a + mov r2, #0x2 + blx sub_020C9480 + pop {r3, pc} + + thumb_func_start sub_02078E7C +sub_02078E7C: ; 0x02078E7C + push {r4-r7, lr} + sub sp, #0x3c + str r0, [sp, #0x18] + add r7, r1, #0x0 + mov r0, #0x2 + mov r1, #0x12 + str r2, [sp, #0x1c] + str r3, [sp, #0x20] + mov r4, #0x0 + bl sub_020219F4 + str r0, [sp, #0x28] + ldrh r1, [r7, #0x0] + ldr r0, _02078F6C ; =0x0000FFFF + cmp r1, r0 + beq _02078F62 + ldr r0, [sp, #0x54] + ldr r6, [sp, #0x50] + str r0, [sp, #0x24] + ldr r0, [sp, #0x58] + str r0, [sp, #0x34] + ldr r0, [sp, #0x20] + add r0, r0, #0x2 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x2c] + ldr r0, [sp, #0x5c] + str r0, [sp, #0x30] +_02078EB4: + lsl r0, r4, #0x1 + ldrh r1, [r7, r0] + ldr r0, _02078F70 ; =0x00002FFF + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x2 + bhi _02078F00 + mov r0, #0xc + str r0, [sp, #0x0] + str r0, [sp, #0x4] + add r2, r4, #0x0 + ldr r0, [sp, #0x1c] + mul r2, r6 + add r0, r0, r2 + ldr r2, _02078F74 ; =0x0000D001 + lsl r0, r0, #0x10 + sub r1, r1, r2 + lsl r1, r1, #0x10 + lsr r0, r0, #0x10 + lsr r2, r1, #0x8 + str r0, [sp, #0x8] + ldr r0, [sp, #0x2c] + lsr r1, r2, #0x1f + add r1, r2, r1 + str r0, [sp, #0xc] + mov r0, #0xc + asr r2, r1, #0x1 + ldr r1, [sp, #0x30] + str r0, [sp, #0x10] + str r0, [sp, #0x14] + add r1, r1, r2 + mov r2, #0x0 + ldr r0, [sp, #0x18] + add r3, r2, #0x0 + bl sub_02019658 + b _02078F56 +_02078F00: + ldr r0, _02078F78 ; =0x0000D004 + cmp r1, r0 + bne _02078F0A + add r4, r4, #0x1 + b _02078F58 +_02078F0A: + add r0, sp, #0x38 + strh r1, [r0, #0x0] + ldr r1, _02078F6C ; =0x0000FFFF + strh r1, [r0, #0x2] + mov r0, #0x0 + add r1, sp, #0x38 + add r2, r0, #0x0 + bl sub_02002DE0 + add r5, r0, #0x0 + ldr r0, [sp, #0x28] + add r1, sp, #0x38 + bl sub_02021E28 + ldr r0, [sp, #0x20] + sub r3, r6, r5 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + lsr r5, r3, #0x1f + add r5, r3, r5 + asr r3, r5, #0x1 + str r0, [sp, #0x4] + ldr r0, [sp, #0x34] + mov r12, r3 + add r5, r4, #0x0 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r3, [sp, #0x1c] + mul r5, r6 + add r3, r3, r5 + mov r5, r12 + ldr r0, [sp, #0x18] + ldr r2, [sp, #0x28] + mov r1, #0x0 + add r3, r5, r3 + bl sub_0201BDE0 +_02078F56: + add r4, r4, #0x1 +_02078F58: + lsl r0, r4, #0x1 + ldrh r1, [r7, r0] + ldr r0, _02078F6C ; =0x0000FFFF + cmp r1, r0 + bne _02078EB4 +_02078F62: + ldr r0, [sp, #0x28] + bl sub_02021A20 + add sp, #0x3c + pop {r4-r7, pc} + .balign 4 +_02078F6C: .word 0x0000FFFF +_02078F70: .word 0x00002FFF +_02078F74: .word 0x0000D001 +_02078F78: .word 0x0000D004 + + thumb_func_start sub_02078F7C +sub_02078F7C: ; 0x02078F7C + push {r4-r6, lr} + sub sp, #0x10 + mov r5, #0x0 + add r6, r1, #0x0 + str r5, [sp, #0x0] + mov r1, #0xff + str r1, [sp, #0x4] + str r3, [sp, #0x8] + add r1, r2, #0x0 + add r2, r6, #0x0 + add r3, r5, #0x0 + add r4, r0, #0x0 + str r5, [sp, #0xc] + bl sub_0201BDE0 + ldr r0, [r4, #0xc] + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start sub_02078FA0 +sub_02078FA0: ; 0x02078FA0 + push {r3-r7, lr} + sub sp, #0x38 + add r6, r0, #0x0 + str r1, [sp, #0x8] + add r0, #0x30 + mov r1, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02019620 + add r0, r6, #0x0 + ldr r3, _0207906C ; =0x000D0E0F + add r0, #0x30 + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_02078F7C + mov r1, #0x2 + lsl r1, r1, #0xa + blx sub_020CC15C + add r7, r6, #0x0 + mov r4, #0x0 + add r7, #0x30 +_02078FD0: + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r7, #0x0 + mov r1, #0x4 + mov r2, #0x2 + lsl r3, r4, #0x2 + str r5, [sp, #0x4] + bl sub_02011B20 + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x8 + blx sub_020CC15C + ldr r1, _02079070 ; =0x020F9D28 + mov r2, #0x1 + ldrb r1, [r1, r4] + add r0, r5, #0x0 + lsl r2, r2, #0x8 + lsl r1, r1, #0x5 + blx sub_020C9294 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _02078FD0 + mov r0, #0x15 + mov r1, #0x12 + bl sub_020219F4 + add r4, r0, #0x0 + mov r5, #0x0 +_02079012: + ldr r0, [sp, #0x8] + lsl r1, r5, #0x1 + ldrh r1, [r0, r1] + add r0, sp, #0xc + lsl r7, r5, #0x4 + strh r1, [r0, #0x0] + ldr r1, _02079074 ; =0x0000FFFF + strh r1, [r0, #0x2] + add r0, r6, r7 + mov r1, #0x0 + bl sub_02019620 + add r0, r4, #0x0 + add r1, sp, #0xc + bl sub_02021E28 + ldr r3, _0207906C ; =0x000D0E0F + add r0, r6, r7 + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_02078F7C + mov r1, #0x80 + add r7, r0, #0x0 + blx sub_020CC15C + ldr r1, _02079078 ; =0x020F9D40 + lsl r2, r5, #0x2 + ldr r1, [r1, r2] + add r0, r7, #0x0 + lsl r1, r1, #0x5 + mov r2, #0x80 + blx sub_020C9294 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x3 + blo _02079012 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x38 + pop {r3-r7, pc} + nop +_0207906C: .word 0x000D0E0F +_02079070: .word 0x020F9D28 +_02079074: .word 0x0000FFFF +_02079078: .word 0x020F9D40 + + thumb_func_start sub_0207907C +sub_0207907C: ; 0x0207907C + push {r3-r5, lr} + cmp r2, #0x0 + bne _02079086 + ldr r1, _02079158 ; =0x0000D003 + b _0207908C +_02079086: + sub r2, r2, #0x1 + lsl r2, r2, #0x1 + ldrh r1, [r1, r2] +_0207908C: + ldr r4, _0207915C ; =0x0000E003 + cmp r1, r4 + bgt _020790BC + bge _020790E2 + ldr r2, _02079160 ; =0x0000D004 + cmp r1, r2 + bgt _020790B4 + sub r2, r2, #0x3 + sub r2, r1, r2 + bmi _020790E4 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r6, #0 + lsl r4, r6, #0 + lsl r4, r6, #0 + lsl r4, r6, #0 +_020790B4: + ldr r2, _02079164 ; =0x0000E002 + cmp r1, r2 + beq _020790E2 + b _020790E4 +_020790BC: + add r2, r4, #0x1 + cmp r1, r2 + bgt _020790C6 + beq _020790E2 + b _020790E4 +_020790C6: + add r2, r4, #0x2 + sub r2, r1, r2 + cmp r2, #0x3 + bhi _020790E4 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r6, r0, #0 +_020790E2: + mov r1, #0x1 +_020790E4: + mov r4, #0x0 + add r5, r3, #0x0 + mov r2, #0x1 +_020790EA: + add r4, r4, #0x1 + strh r2, [r5, #0x0] + add r5, r5, #0x2 + cmp r4, #0x3 + blt _020790EA + strh r1, [r3, #0x0] + cmp r1, #0x1 + beq _0207914A + ldr r5, _02079168 ; =0x020FA40E + mov r2, #0x0 +_020790FE: + ldrh r4, [r5, #0x0] + cmp r1, r4 + bne _02079120 + mov r4, #0x6 + ldr r5, _02079168 ; =0x020FA40E + mul r4, r2 + add r4, r5, r4 + mov r1, #0x0 + add r5, r3, #0x0 +_02079110: + ldrh r2, [r4, #0x0] + add r1, r1, #0x1 + add r4, r4, #0x2 + strh r2, [r5, #0x0] + add r5, r5, #0x2 + cmp r1, #0x3 + blt _02079110 + b _0207914A +_02079120: + ldrh r4, [r5, #0x4] + cmp r1, r4 + bne _02079142 + mov r4, #0x6 + ldr r5, _02079168 ; =0x020FA40E + mul r4, r2 + add r4, r5, r4 + mov r1, #0x0 + add r5, r3, #0x0 +_02079132: + ldrh r2, [r4, #0x0] + add r1, r1, #0x1 + add r4, r4, #0x2 + strh r2, [r5, #0x0] + add r5, r5, #0x2 + cmp r1, #0x3 + blt _02079132 + b _0207914A +_02079142: + add r2, r2, #0x1 + add r5, r5, #0x6 + cmp r2, #0x52 + blo _020790FE +_0207914A: + add r1, r3, #0x0 + ldr r2, [sp, #0x10] + ldr r3, [sp, #0x14] + bl sub_02078FA0 + pop {r3-r5, pc} + nop +_02079158: .word 0x0000D003 +_0207915C: .word 0x0000E003 +_02079160: .word 0x0000D004 +_02079164: .word 0x0000E002 +_02079168: .word 0x020FA40E + + thumb_func_start sub_0207916C +sub_0207916C: ; 0x0207916C + push {r4-r7} + mov r4, #0x0 + ldr r3, _020791B8 ; =0x02106058 + add r5, r4, #0x0 + add r6, r0, #0x0 + lsl r2, r1, #0x2 +_02079178: + ldr r7, [r3, r2] + add r4, r4, #0x1 + ldrh r7, [r7, r5] + add r5, r5, #0x2 + strh r7, [r6, #0x0] + add r6, r6, #0x2 + cmp r4, #0xd + blt _02079178 + mov r3, #0x14 + ldr r4, _020791BC ; =0x0210606C + mul r3, r1 + mov r2, #0x0 + add r3, r4, r3 + add r1, r2, #0x0 +_02079194: + add r6, r1, #0x0 + add r4, r1, #0x0 + add r5, r0, #0x0 +_0207919A: + ldr r7, [r3, #0x0] + add r6, r6, #0x1 + ldrh r7, [r7, r4] + add r4, r4, #0x2 + strh r7, [r5, #0x1a] + add r5, r5, #0x2 + cmp r6, #0xd + blt _0207919A + add r2, r2, #0x1 + add r3, r3, #0x4 + add r0, #0x1a + cmp r2, #0x5 + blt _02079194 + pop {r4-r7} + bx lr + .balign 4 +_020791B8: .word 0x02106058 +_020791BC: .word 0x0210606C + + thumb_func_start sub_020791C0 +sub_020791C0: ; 0x020791C0 + push {r4-r6, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r0, _0207952C ; =0x00002FFD + add r6, r2, #0x0 + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x1 + bhi _020791D6 + mov r1, #0x1 +_020791D6: + ldr r0, [r4, #0x0] + cmp r0, #0x4 + bne _020791EA + ldr r0, _02079530 ; =0x00001FFE + add r0, r1, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x3 + bhi _020791EA + mov r1, #0x1 +_020791EA: + ldr r0, _02079534 ; =0x0000E002 + cmp r1, r0 + bgt _02079208 + blt _020791F4 + b _0207931C +_020791F4: + ldr r3, _02079538 ; =0x0000D002 + cmp r1, r3 + bgt _02079206 + sub r0, r3, #0x1 + cmp r1, r0 + blt _02079206 + beq _0207922A + cmp r1, r3 + beq _0207927C +_02079206: + b _0207945C +_02079208: + add r0, r0, #0x1 + sub r0, r1, r0 + cmp r0, #0x5 + bls _02079212 + b _0207945C +_02079212: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r7, #0x3 + lsl r4, r7, #0x3 + lsl r4, r7, #0x3 + lsl r2, r5, #0x2 + lsl r6, r7, #0x4 + lsl r6, r5, #0x7 +_0207922A: + add r0, r4, #0x0 + add r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + ldr r3, _0207953C ; =0x0000D001 + mov r1, #0x52 + str r0, [sp, #0x4] + mov r0, #0x2a + mov r2, #0x1 + bl sub_020795FC + cmp r0, #0x0 + bne _0207924A + b _02079526 +_0207924A: + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_02019620 + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + ldr r0, _02079540 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + add r4, #0xd8 + add r1, r4, #0x0 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl sub_02078E7C + ldr r0, _02079544 ; =0x000005EB + bl sub_020054C8 + b _02079526 +_0207927C: + add r0, r4, #0x0 + add r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + mov r1, #0x52 + mov r2, #0x2 + str r0, [sp, #0x4] + mov r0, #0x48 + bl sub_020795FC + cmp r0, #0x0 + beq _02079368 + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_02019620 + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + ldr r0, _02079540 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + add r4, #0xd8 + add r1, r4, #0x0 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl sub_02078E7C + ldr r0, _02079544 ; =0x000005EB + bl sub_020054C8 + b _02079526 +_020792CA: + .byte 0x56, 0x23, 0x9B, 0x00, 0xE3, 0x5A + .byte 0x22, 0x1C, 0x00, 0x20, 0x52, 0x21, 0xD8, 0x32, 0x00, 0xF0, 0x5A, 0xF9, 0x00, 0x28, 0x43, 0xD0 + .byte 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x9A, 0xF9, 0x0C, 0x20, 0x00, 0x90 + .byte 0x00, 0x22, 0x21, 0x1C, 0x92, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18 + .byte 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0xB9, 0xFD, 0x4A, 0x20, 0x00, 0x01, 0x21, 0x58 + .byte 0x49, 0x1C, 0x21, 0x50, 0x8B, 0x48, 0x8C, 0xF7, 0xD7, 0xF8, 0x04, 0xE1 +_0207931C: + mov r2, #0x46 + lsl r2, r2, #0x4 + ldr r0, _02079534 ; =0x0000E002 + ldr r3, [r4, r2] + sub r5, r1, r0 + cmp r3, r5 + beq _02079368 + mov r1, #0x0 + sub r0, r2, #0x4 + str r1, [r4, r0] + str r5, [r4, r2] + add r0, r4, #0x0 + ldr r1, [r4, r2] + add r0, #0x3a + bl sub_0207916C + mov r0, #0x49 + lsl r0, r0, #0x4 + add r2, r4, r0 + lsl r1, r5, #0x2 + ldr r0, [r2, r1] + add r0, r0, #0x1 + str r0, [r2, r1] + ldr r0, _02079548 ; =0x0000069E + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, r6, #0x0 + bl sub_020200A0 + b _02079526 +_0207935E: + .byte 0x56, 0x21 + .byte 0x89, 0x00, 0x60, 0x5A, 0x00, 0x28, 0x00, 0xD1 +_02079368: + b _02079526 +_0207936A: + .byte 0x40, 0x1E, 0x40, 0x00, 0x20, 0x18 + .byte 0x76, 0x4A, 0xD8, 0x30, 0x02, 0x80, 0x60, 0x5A, 0x40, 0x1E, 0x60, 0x52, 0xFA, 0x20, 0x80, 0x00 + .byte 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x4C, 0xF9, 0x56, 0x20, 0x80, 0x00, 0x20, 0x5A, 0x00, 0x28 + .byte 0x05, 0xD1, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x9F, 0xF7, 0x1A, 0xFF, 0x0E, 0xE0, 0x0C, 0x20 + .byte 0x00, 0x90, 0x00, 0x22, 0x66, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x21, 0x1C + .byte 0x20, 0x18, 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0x60, 0xFD, 0x64, 0x48, 0x5F, 0x23 + .byte 0x21, 0x18, 0x9B, 0x00, 0x00, 0x91, 0xE1, 0x58, 0x1A, 0x1C, 0x01, 0x91, 0x24, 0x3A, 0xCC, 0x38 + .byte 0x21, 0x1C, 0x22, 0x3B, 0xA2, 0x5A, 0x20, 0x18, 0xD8, 0x31, 0xE3, 0x18, 0xFF, 0xF7, 0x4E, 0xFE + .byte 0x56, 0x21, 0x89, 0x00, 0xD9, 0x20, 0x80, 0x00, 0x61, 0x5A, 0xE2, 0x68, 0x20, 0x18, 0x00, 0xF0 + .byte 0x8F, 0xF9, 0x58, 0x48, 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x57, 0x48, 0x8C, 0xF7, 0x64, 0xF8 + .byte 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7, 0x4A, 0xFE, 0x8B, 0xE0, 0x53, 0x48 + .byte 0x20, 0x58, 0x9A, 0xF7, 0xDD, 0xFF, 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7 + .byte 0x3F, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x15, 0xD1, 0x4D, 0x48, 0x8C, 0xF7, 0x4D, 0xF8, 0x4D, 0x48 + .byte 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x00, 0x21, 0x10, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90 + .byte 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x94, 0xF7, 0xC1, 0xFE, 0x04, 0xB0 + .byte 0x03, 0x20, 0x70, 0xBD, 0x44, 0x48, 0x05, 0x21, 0x21, 0x50, 0x64, 0xE0 +_0207945C: + mov r0, #0x46 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + cmp r0, #0x4 + bne _02079470 + cmp r1, #0x1 + bne _02079470 + add sp, #0x10 + mov r0, #0x2 + pop {r4-r6, pc} +_02079470: + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r2, [r4, r0] + ldr r0, [r4, #0xc] + cmp r2, r0 + beq _02079526 + lsl r0, r2, #0x1 + add r0, r4, r0 + add r0, #0xd8 + strh r1, [r0, #0x0] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl sub_02019620 + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + add r1, r4, #0x0 + ldr r0, _02079540 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + add r1, #0xd8 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl sub_02078E7C + mov r1, #0x56 + lsl r1, r1, #0x2 + ldrh r0, [r4, r1] + add r0, r0, #0x1 + strh r0, [r4, r1] + mov r0, #0xd9 + lsl r0, r0, #0x2 + ldrh r1, [r4, r1] + ldr r2, [r4, #0xc] + add r0, r4, r0 + bl sub_02079710 + ldr r0, _02079544 ; =0x000005EB + bl sub_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_02020398 + mov r3, #0x8 + ldr r0, _0207956C ; =0x04000050 + mov r1, #0x0 + mov r2, #0x7 + str r3, [sp, #0x0] + blx sub_020C74DC + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x3c + bl sub_02020130 + mov r0, #0x1 + str r0, [r4, #0x34] + ldr r0, _02079550 ; =0x000004C4 + mov r3, #0x5f + add r1, r4, r0 + lsl r3, r3, #0x2 + str r1, [sp, #0x0] + ldr r1, [r4, r3] + add r2, r3, #0x0 + str r1, [sp, #0x4] + sub r2, #0x24 + sub r0, #0xcc + add r1, r4, #0x0 + sub r3, #0x22 + ldrh r2, [r4, r2] + add r0, r4, r0 + add r1, #0xd8 + add r3, r4, r3 + bl sub_0207907C +_02079526: + mov r0, #0x2 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0207952C: .word 0x00002FFD +_02079530: .word 0x00001FFE +_02079534: .word 0x0000E002 +_02079538: .word 0x0000D002 +_0207953C: .word 0x0000D001 +_02079540: .word 0x000E0F01 +_02079544: .word 0x000005EB +_02079548: .word 0x0000069E +_0207954C: + .byte 0xFF, 0xFF, 0x00, 0x00 +_02079550: .word 0x000004C4 +_02079554: + .byte 0xA4, 0x04, 0x00, 0x00, 0xDC, 0x05, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00 + .byte 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00, 0x5C, 0x04, 0x00, 0x00 +_0207956C: .word 0x04000050 + + thumb_func_start sub_02079570 +sub_02079570: ; 0x02079570 + push {r4-r6, lr} + add r5, r0, #0x0 + mov r4, #0x0 + mov r6, #0x3 +_02079578: + add r0, r1, #0x1 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02078BD0 + add r1, r0, #0x0 + lsl r0, r1, #0x1 + ldrh r0, [r5, r0] + cmp r0, #0x1 + beq _02079578 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02079590 +sub_02079590: ; 0x02079590 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, r1, #0x0 + str r2, [sp, #0x0] + cmp r3, #0x0 + bne _020795A4 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_020795A4: + sub r1, r3, #0x1 + lsl r1, r1, #0x1 + str r1, [sp, #0x4] + ldrh r3, [r2, r1] + cmp r4, r0 + bge _020795F2 + mov r1, #0x6 + ldr r2, _020795F8 ; =0x020FA40E + mul r1, r4 + add r5, r2, r1 + mov r7, #0x0 +_020795BA: + add r2, r7, #0x0 + add r6, r5, #0x0 +_020795BE: + ldrh r1, [r6, #0x0] + cmp r3, r1 + bne _020795E2 + cmp r3, #0x1 + beq _020795E2 + mov r0, #0x6 + ldr r1, _020795F8 ; =0x020FA40E + mul r0, r4 + add r0, r1, r0 + add r1, r2, #0x0 + bl sub_02079570 + ldr r2, [sp, #0x0] + ldr r1, [sp, #0x4] + add sp, #0x8 + strh r0, [r2, r1] + mov r0, #0x1 + pop {r3-r7, pc} +_020795E2: + add r2, r2, #0x1 + add r6, r6, #0x2 + cmp r2, #0x3 + blt _020795BE + add r4, r4, #0x1 + add r5, r5, #0x6 + cmp r4, r0 + blt _020795BA +_020795F2: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020795F8: .word 0x020FA40E + + thumb_func_start sub_020795FC +sub_020795FC: ; 0x020795FC + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + ldr r1, [sp, #0x1c] + mov lr, r2 + mov r12, r3 + cmp r1, #0x0 + beq _02079618 + sub r1, r1, #0x1 + ldr r6, [sp, #0x18] + lsl r7, r1, #0x1 + ldrh r5, [r6, r7] + cmp r5, #0x1 + bne _0207961C +_02079618: + mov r0, #0x0 + pop {r3-r7, pc} +_0207961C: + add r2, r4, #0x0 + cmp r4, r0 + bge _0207964E + mov r1, #0x6 + ldr r3, _020796F4 ; =0x020FA40E + mul r1, r4 + add r3, r3, r1 +_0207962A: + ldrh r1, [r3, #0x0] + cmp r5, r1 + bne _02079646 + add r3, r2, #0x0 + mov r0, #0x6 + mul r3, r0 + mov r0, lr + ldr r2, _020796F4 ; =0x020FA40E + lsl r1, r0, #0x1 + add r0, r2, r3 + ldrh r0, [r1, r0] + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_02079646: + add r2, r2, #0x1 + add r3, r3, #0x6 + cmp r2, r0 + blt _0207962A +_0207964E: + cmp r4, r0 + bge _0207967E + mov r2, lr + ldr r1, _020796F4 ; =0x020FA40E + lsl r2, r2, #0x1 + add r1, r1, r2 + mov r2, #0x6 + mul r2, r4 + add r2, r1, r2 +_02079660: + ldrh r1, [r2, #0x0] + cmp r5, r1 + bne _02079676 + mov r0, #0x6 + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _020796F4 ; =0x020FA40E + ldrh r0, [r0, r1] + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_02079676: + add r4, r4, #0x1 + add r2, r2, #0x6 + cmp r4, r0 + blt _02079660 +_0207967E: + ldr r1, _020796F8 ; =0x0000D001 + mov r0, r12 + cmp r0, r1 + beq _02079698 + add r1, r1, #0x1 + mov r0, r12 + cmp r0, r1 + beq _020796B8 + ldr r1, _020796FC ; =0x0000E006 + mov r0, r12 + cmp r0, r1 + beq _020796D8 + b _020796F0 +_02079698: + ldr r1, _02079700 ; =0x020FA1A4 + mov r2, #0x0 +_0207969C: + ldrh r0, [r1, #0x0] + cmp r5, r0 + bne _020796AE + ldr r0, _02079704 ; =0x020FA1A6 + lsl r1, r2, #0x2 + ldrh r0, [r0, r1] + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_020796AE: + add r2, r2, #0x1 + add r1, r1, #0x4 + cmp r2, #0xc + blo _0207969C + b _020796F0 +_020796B8: + ldr r1, _02079708 ; =0x020FA17C + mov r2, #0x0 +_020796BC: + ldrh r0, [r1, #0x0] + cmp r5, r0 + bne _020796CE + ldr r0, _0207970C ; =0x020FA17E + lsl r1, r2, #0x2 + ldrh r0, [r0, r1] + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_020796CE: + add r2, r2, #0x1 + add r1, r1, #0x4 + cmp r2, #0xa + blo _020796BC + b _020796F0 +_020796D8: + cmp r5, #0x26 + bne _020796E4 + mov r0, #0x24 + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_020796E4: + cmp r5, #0x76 + bne _020796F0 + mov r0, #0x74 + strh r0, [r6, r7] + mov r0, #0x1 + pop {r3-r7, pc} +_020796F0: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_020796F4: .word 0x020FA40E +_020796F8: .word 0x0000D001 +_020796FC: .word 0x0000E006 +_02079700: .word 0x020FA1A4 +_02079704: .word 0x020FA1A6 +_02079708: .word 0x020FA17C +_0207970C: .word 0x020FA17E + + thumb_func_start sub_02079710 +sub_02079710: ; 0x02079710 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r2, #0x0 + mov r4, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + cmp r6, #0x0 + ble _02079734 + add r5, r0, #0x0 + mov r7, #0x2b +_02079724: + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + bl sub_02020130 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r6 + blt _02079724 +_02079734: + ldr r0, [sp, #0x4] + cmp r0, r6 + beq _02079746 + lsl r1, r0, #0x2 + ldr r0, [sp, #0x0] + ldr r0, [r0, r1] + mov r1, #0x2c + bl sub_02020130 +_02079746: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207974C +sub_0207974C: ; 0x0207974C + push {r3-r7, lr} + sub sp, #0x18 + str r2, [sp, #0x10] + ldr r2, [sp, #0x30] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r5, r0, #0x0 + str r3, [sp, #0x14] + str r2, [sp, #0x30] + bl sub_02019620 + ldr r1, _0207982C ; =0x020F9D30 + ldr r0, [sp, #0x10] + mov r7, #0x0 + ldrb r4, [r1, r0] + mov r6, #0x10 +_0207976C: + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x13 + lsl r2, r6, #0x10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x0 + bl sub_020196F4 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x13 + lsl r2, r6, #0x10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x26 + bl sub_020196F4 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x13 + lsl r2, r6, #0x10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x4c + bl sub_020196F4 + add r7, r7, #0x1 + add r6, #0x20 + cmp r7, #0x6 + blt _0207976C + mov r7, #0x0 + add r6, r7, #0x0 +_020797BA: + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x13 + lsl r2, r6, #0x10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x13 + bl sub_020196F4 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x13 + lsl r2, r6, #0x10 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x39 + bl sub_020196F4 + add r7, r7, #0x1 + add r6, #0x20 + cmp r7, #0x7 + blt _020797BA + ldr r0, [sp, #0x10] + mov r1, #0x14 + ldr r2, _02079830 ; =0x0210606C + mul r1, r0 + mov r7, #0x0 + mov r6, #0x4 + add r4, r2, r1 +_020797FC: + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, [sp, #0x14] + mov r2, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x30] + add r3, r6, #0x0 + str r0, [sp, #0xc] + ldr r1, [r4, #0x0] + add r0, r5, #0x0 + bl sub_02078E7C + add r7, r7, #0x1 + add r6, #0x13 + add r4, r4, #0x4 + cmp r7, #0x5 + blt _020797FC + add r0, r5, #0x0 + bl sub_020191D0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_0207982C: .word 0x020F9D30 +_02079830: .word 0x0210606C + + thumb_func_start sub_02079834 +sub_02079834: ; 0x02079834 + push {r3-r7, lr} + sub sp, #0x8 + add r6, r1, #0x0 + str r0, [sp, #0x0] + mov r7, #0x0 + add r1, r0, #0x0 +_02079840: + ldr r0, [r1, #0x0] + cmp r0, #0x0 + beq _02079876 + mov r0, #0x0 + ldr r4, _020798B8 ; =0x020FA1D4 + str r0, [sp, #0x4] + add r5, r6, #0x0 +_0207984E: + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x8] + bl sub_02020130 + ldr r0, [sp, #0x4] + add r4, #0x10 + add r0, r0, #0x1 + add r5, r5, #0x4 + str r0, [sp, #0x4] + cmp r0, #0x3 + blt _0207984E + ldr r1, _020798BC ; =0x020FA1DC + lsl r2, r7, #0x4 + lsl r0, r7, #0x2 + ldr r1, [r1, r2] + ldr r0, [r6, r0] + sub r1, r1, #0x3 + bl sub_02020130 + b _0207987E +_02079876: + add r7, r7, #0x1 + add r1, r1, #0x4 + cmp r7, #0x3 + blt _02079840 +_0207987E: + ldr r4, [sp, #0x0] + ldr r5, _020798C0 ; =0x020FA224 + mov r7, #0x5 + add r4, #0x14 + add r6, #0x14 +_02079888: + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02079898 + ldr r1, [r5, #0x8] + ldr r0, [r6, #0x0] + add r1, r1, #0x1 + bl sub_02020130 +_02079898: + add r7, r7, #0x1 + add r4, r4, #0x4 + add r5, #0x10 + add r6, r6, #0x4 + cmp r7, #0x7 + blt _02079888 + mov r2, #0x0 + add r1, r2, #0x0 +_020798A8: + ldr r0, [sp, #0x0] + add r2, r2, #0x1 + stmia r0!, {r1} + str r0, [sp, #0x0] + cmp r2, #0x7 + blt _020798A8 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020798B8: .word 0x020FA1D4 +_020798BC: .word 0x020FA1DC +_020798C0: .word 0x020FA224 + + thumb_func_start sub_020798C4 +sub_020798C4: ; 0x020798C4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02020388 + cmp r0, #0x0 + bne _0207992E + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r1, [r4, r0] + ldr r0, [r4, #0xc] + cmp r1, r0 + bne _020798F8 + mov r0, #0xc + str r0, [r4, #0x1c] + mov r0, #0x0 + str r0, [r4, #0x20] + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x27 + bl sub_02020130 + b _02079904 +_020798F8: + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x27 + bl sub_02020130 +_02079904: + ldr r0, [r4, #0x30] + cmp r0, #0x0 + bne _02079918 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + b _02079920 +_02079918: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02078D7C +_02079920: + mov r1, #0x0 + mov r0, #0xd3 + str r1, [r4, #0x34] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02020398 +_0207992E: + pop {r4, pc} + + thumb_func_start sub_02079930 +sub_02079930: ; 0x02079930 + push {r3-r7, lr} + str r0, [sp, #0x0] + mov r0, #0x0 + mov r12, r0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x4 + bne _02079944 + mov r0, #0x4 + mov r12, r0 +_02079944: + ldr r2, _020799E0 ; =0x021C48F8 + ldrh r0, [r2, #0x20] + cmp r0, #0x0 + beq _020799DA + ldrh r0, [r2, #0x1c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov lr, r0 + ldrh r0, [r2, #0x1e] + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + mov r0, r12 + cmp r0, #0x47 + bhs _020799DA + mov r0, #0x6 + mov r2, r12 + mul r0, r2 + ldr r2, _020799E4 ; =0x020FA264 + add r2, r2, r0 + add r3, r2, #0x0 +_0207996C: + ldrh r4, [r3, #0x2] + ldrb r0, [r2, #0x0] + ldrb r6, [r2, #0x1] + lsl r4, r4, #0x1e + lsr r4, r4, #0x1e + beq _02079982 + cmp r4, #0x1 + beq _02079988 + cmp r4, #0x2 + beq _0207998E + b _02079992 +_02079982: + mov r5, #0x1f + mov r1, #0x16 + b _02079992 +_02079988: + mov r5, #0x20 + mov r1, #0x16 + b _02079992 +_0207998E: + mov r5, #0x10 + mov r1, #0x13 +_02079992: + mov r4, lr + cmp r4, r0 + blo _020799CC + cmp r7, r6 + blo _020799CC + add r4, r0, r5 + mov r0, lr + cmp r0, r4 + bgt _020799CC + add r0, r6, r1 + cmp r7, r0 + bgt _020799CC + ldr r2, _020799E4 ; =0x020FA264 + mov r1, #0x6 + mov r0, r12 + mul r1, r0 + add r2, r2, r1 + ldrb r0, [r2, #0x4] + lsl r0, r0, #0x1b + lsr r1, r0, #0x1b + ldr r0, [sp, #0x0] + str r1, [r0, #0x1c] + ldrb r0, [r2, #0x5] + lsl r0, r0, #0x1b + lsr r1, r0, #0x1b + ldr r0, [sp, #0x0] + str r1, [r0, #0x20] + mov r0, #0x1 + pop {r3-r7, pc} +_020799CC: + mov r0, r12 + add r0, r0, #0x1 + add r2, r2, #0x6 + add r3, r3, #0x6 + mov r12, r0 + cmp r0, #0x47 + blo _0207996C +_020799DA: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_020799E0: .word 0x021C48F8 +_020799E4: .word 0x020FA264 + + thumb_func_start sub_020799E8 +sub_020799E8: ; 0x020799E8 + lsl r1, r0, #0x1 + ldr r0, _020799F0 ; =0x020FA60C + ldrh r0, [r0, r1] + bx lr + .balign 4 +_020799F0: .word 0x020FA60C + + thumb_func_start sub_020799F4 +sub_020799F4: ; 0x020799F4 + push {r3, lr} + add r2, r0, #0x0 + mul r2, r0 + add r0, r1, #0x0 + mul r0, r1 + add r0, r2, r0 + lsl r0, r0, #0x4 + bl sub_0200019E + lsr r0, r0, #0x2 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02079A0C +sub_02079A0C: ; 0x02079A0C + push {r4, lr} + add r4, r0, #0x0 + mul r0, r2 + blx sub_020EBE8C + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bne _02079A22 + cmp r4, #0x0 + beq _02079A22 + mov r0, #0x1 +_02079A22: + pop {r4, pc} + + thumb_func_start sub_02079A24 +sub_02079A24: ; 0x02079A24 + push {r4, lr} + add r4, r0, #0x0 + lsl r0, r1, #0x8 + lsl r4, r4, #0x8 + lsr r1, r0, #0x1 + cmp r4, r1 + bls _02079A36 + mov r0, #0x3 + pop {r4, pc} +_02079A36: + mov r1, #0x5 + blx sub_020EBE8C + cmp r4, r0 + bls _02079A44 + mov r0, #0x2 + pop {r4, pc} +_02079A44: + cmp r4, #0x0 + beq _02079A4C + mov r0, #0x1 + b _02079A4E +_02079A4C: + mov r0, #0x0 +_02079A4E: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r4, pc} + + thumb_func_start sub_02079A54 +sub_02079A54: ; 0x02079A54 + push {r4, lr} + add r4, r2, #0x0 + cmp r0, r1 + bne _02079A60 + mov r0, #0x4 + pop {r4, pc} +_02079A60: + lsl r2, r4, #0x18 + lsr r2, r2, #0x18 + bl sub_02079A0C + add r1, r4, #0x0 + bl sub_02079A24 + pop {r4, pc} + + thumb_func_start sub_02079A70 +sub_02079A70: ; 0x02079A70 + push {lr} + sub sp, #0xc + cmp r0, #0x0 + bne _02079A90 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r2, #0x1 + str r2, [sp, #0x4] + mov r0, #0x0 + str r1, [sp, #0x8] + add r1, r2, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + add sp, #0xc + pop {pc} +_02079A90: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x0 + str r1, [sp, #0x8] + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_02079AAC +sub_02079AAC: ; 0x02079AAC + push {r4-r5} + ldr r3, _02079B5C ; =0x021C48B8 + mov r2, #0x0 + ldr r3, [r3, #0x4c] + mov r5, #0x40 + ldrsh r4, [r0, r2] + tst r5, r3 + beq _02079ADE + add r3, r4, #0x1 + strh r3, [r0, #0x0] + ldrsh r2, [r0, r2] + cmp r2, r1 + ble _02079ACA + mov r1, #0x1 + strh r1, [r0, #0x0] +_02079ACA: + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, r4 + bne _02079AD8 + add r0, r1, #0x0 + pop {r4-r5} + bx lr +_02079AD8: + mov r0, #0x1 + pop {r4-r5} + bx lr +_02079ADE: + mov r5, #0x80 + tst r5, r3 + beq _02079B04 + sub r3, r4, #0x1 + strh r3, [r0, #0x0] + ldrsh r2, [r0, r2] + cmp r2, #0x0 + bgt _02079AF0 + strh r1, [r0, #0x0] +_02079AF0: + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, r4 + bne _02079AFE + add r0, r1, #0x0 + pop {r4-r5} + bx lr +_02079AFE: + mov r0, #0x2 + pop {r4-r5} + bx lr +_02079B04: + mov r5, #0x20 + tst r5, r3 + beq _02079B2E + add r1, r4, #0x0 + sub r1, #0xa + strh r1, [r0, #0x0] + ldrsh r1, [r0, r2] + cmp r1, #0x0 + bgt _02079B1A + mov r1, #0x1 + strh r1, [r0, #0x0] +_02079B1A: + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, r4 + bne _02079B28 + add r0, r1, #0x0 + pop {r4-r5} + bx lr +_02079B28: + mov r0, #0x2 + pop {r4-r5} + bx lr +_02079B2E: + mov r5, #0x10 + tst r3, r5 + beq _02079B56 + add r3, r4, #0x0 + add r3, #0xa + strh r3, [r0, #0x0] + ldrsh r2, [r0, r2] + cmp r2, r1 + ble _02079B42 + strh r1, [r0, #0x0] +_02079B42: + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, r4 + bne _02079B50 + add r0, r1, #0x0 + pop {r4-r5} + bx lr +_02079B50: + mov r0, #0x1 + pop {r4-r5} + bx lr +_02079B56: + add r0, r2, #0x0 + pop {r4-r5} + bx lr + .balign 4 +_02079B5C: .word 0x021C48B8 + + thumb_func_start sub_02079B60 +sub_02079B60: ; 0x02079B60 + push {r4-r7, lr} + sub sp, #0x14 + add r7, r1, #0x0 + add r6, r0, #0x0 + ldr r1, [sp, #0x28] + add r0, r3, #0x0 + str r2, [sp, #0x4] + ldr r5, [sp, #0x2c] + ldr r4, [sp, #0x34] + bl sub_020065A4 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl sub_020169D8 + add r7, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x28] + add r2, r7, #0x0 + bl sub_02006774 + ldr r0, [sp, #0x30] + cmp r0, #0x0 + beq _02079B9A + cmp r0, #0x1 + beq _02079BC6 + cmp r0, #0x2 + beq _02079C10 + b _02079C36 +_02079B9A: + add r0, r7, #0x0 + add r1, sp, #0x10 + blx sub_020B0088 + cmp r4, #0x0 + bne _02079BAE + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x10] + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02079BAE: + add r0, sp, #0x18 + ldrh r0, [r0, #0x20] + lsl r1, r5, #0x18 + lsr r1, r1, #0x18 + str r0, [sp, #0x0] + ldr r2, [sp, #0x10] + add r0, r6, #0x0 + ldr r2, [r2, #0x14] + add r3, r4, #0x0 + bl sub_02017E14 + b _02079C36 +_02079BC6: + add r0, r7, #0x0 + add r1, sp, #0xc + blx sub_020B0180 + cmp r4, #0x0 + bne _02079BDA + ldr r0, [sp, #0xc] + ldr r0, [r0, #0x8] + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02079BDA: + lsl r1, r5, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + bl sub_0201886C + cmp r0, #0x0 + beq _02079BF8 + ldr r2, [sp, #0xc] + lsl r1, r5, #0x18 + add r0, r6, #0x0 + lsr r1, r1, #0x18 + add r2, #0xc + add r3, r4, #0x0 + bl sub_02017DFC +_02079BF8: + add r0, sp, #0x18 + ldrh r0, [r0, #0x20] + lsl r1, r5, #0x18 + lsr r1, r1, #0x18 + str r0, [sp, #0x0] + ldr r2, [sp, #0xc] + add r0, r6, #0x0 + add r2, #0xc + add r3, r4, #0x0 + bl sub_02017CE8 + b _02079C36 +_02079C10: + add r0, r7, #0x0 + add r1, sp, #0x8 + blx sub_020B0138 + cmp r4, #0x0 + bne _02079C24 + ldr r0, [sp, #0x8] + ldr r0, [r0, #0x8] + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02079C24: + ldr r1, [sp, #0x8] + add r3, sp, #0x18 + lsl r0, r5, #0x18 + ldrh r3, [r3, #0x20] + ldr r1, [r1, #0xc] + lsr r0, r0, #0x18 + add r2, r4, #0x0 + bl sub_02017FB4 +_02079C36: + add r0, r7, #0x0 + bl sub_02016A18 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_02079C40 +sub_02079C40: ; 0x02079C40 + push {r3-r7, lr} + add r5, r2, #0x0 + add r6, r0, #0x0 + add r0, r1, #0x0 + add r1, r5, #0x0 + add r7, r3, #0x0 + bl sub_020065A4 + add r1, r0, #0x0 + ldr r0, [sp, #0x18] + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02006774 + add r0, r4, #0x0 + add r1, r7, #0x0 + blx sub_020B0180 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02079C70 +sub_02079C70: ; 0x02079C70 + push {r3, lr} + bl sub_020462AC + bl sub_0205F184 + pop {r3, pc} + + thumb_func_start sub_02079C7C +sub_02079C7C: ; 0x02079C7C + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + bl sub_02015F1C + bl sub_0201E6D8 + bl sub_0201E740 + mov r1, #0x1 + lsl r1, r1, #0x1a + ldr r0, [r1, #0x0] + ldr r2, _02079DA0 ; =0xFFFFE0FF + and r0, r2 + str r0, [r1, #0x0] + ldr r0, _02079DA4 ; =0x04001000 + ldr r3, [r0, #0x0] + and r2, r3 + str r2, [r0, #0x0] + ldr r3, [r1, #0x0] + ldr r2, _02079DA8 ; =0xFFFF1FFF + and r3, r2 + str r3, [r1, #0x0] + ldr r3, [r0, #0x0] + add r1, #0x50 + and r2, r3 + str r2, [r0, #0x0] + mov r2, #0x0 + strh r2, [r1, #0x0] + add r0, #0x50 + strh r2, [r0, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + mov r2, #0x1 + mov r0, #0x3 + mov r1, #0x13 + lsl r2, r2, #0x12 + bl sub_0201681C + ldr r1, _02079DAC ; =0x0000069C + add r0, r4, #0x0 + mov r2, #0x13 + bl sub_02006268 + ldr r2, _02079DAC ; =0x0000069C + mov r1, #0x0 + add r5, r0, #0x0 + blx sub_020DF4A4 + add r0, r4, #0x0 + bl sub_0200628C + mov r1, #0x93 + lsl r1, r1, #0x2 + str r0, [r5, r1] + mov r0, #0x13 + bl sub_02016B94 + mov r1, #0x1 + str r0, [r5, #0x0] + mov r0, #0x13 + add r2, r1, #0x0 + bl sub_02014BF4 + mov r1, #0x2d + lsl r1, r1, #0x4 + str r0, [r5, r1] + mov r0, #0x0 + mov r1, #0x13 + bl sub_02002C84 + bl sub_0201CC08 + mov r0, #0x4 + bl sub_0201CC24 + add r0, r5, #0x0 + bl sub_0207B028 + bl sub_02079F58 + ldr r0, [r5, #0x0] + bl sub_02079F78 + add r0, r5, #0x0 + bl sub_0207A0CC + bl sub_0207A188 + add r0, r5, #0x0 + bl sub_0207EF6C + add r0, r5, #0x0 + bl sub_0207A1A0 + add r0, r5, #0x0 + bl sub_0207AAB0 + add r0, r5, #0x0 + bl sub_0207C328 + add r0, r5, #0x0 + bl sub_0207C448 + add r0, r5, #0x0 + bl sub_0207F840 + add r0, r5, #0x0 + bl sub_0207C71C + add r0, r5, #0x0 + bl sub_0207C77C + add r0, r5, #0x0 + bl sub_0207D5BC + add r0, r5, #0x0 + bl sub_0207AF58 + add r0, r5, #0x0 + bl sub_0207F95C + add r0, r5, #0x0 + bl sub_0207F098 + ldr r0, _02079DB0 ; =sub_02079F24 + add r1, r5, #0x0 + bl sub_02015F10 + bl sub_0201E788 + mov r1, #0x0 + mov r0, #0x3d + add r2, r1, #0x0 + bl sub_0200433C + bl sub_02033F20 + mov r0, #0x1 + pop {r3-r5, pc} + nop +_02079DA0: .word 0xFFFFE0FF +_02079DA4: .word 0x04001000 +_02079DA8: .word 0xFFFF1FFF +_02079DAC: .word 0x0000069C +_02079DB0: .word sub_02079F24 + 1 + + thumb_func_start sub_02079DB4 +sub_02079DB4: ; 0x02079DB4 + push {r3-r5, lr} + add r4, r1, #0x0 + bl sub_02006278 + ldr r1, [r4, #0x0] + add r5, r0, #0x0 + cmp r1, #0x13 + bhi _02079EA2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r4, #0 + lsl r4, r6, #0 + lsl r4, r7, #0 + lsl r4, r0, #0x1 + lsl r4, r1, #0x1 + lsl r4, r2, #0x1 + lsl r4, r3, #0x1 + lsl r4, r4, #0x1 + lsl r4, r5, #0x1 + lsl r4, r6, #0x1 + lsl r4, r7, #0x1 + lsl r4, r0, #0x2 + lsl r4, r1, #0x2 + lsl r4, r2, #0x2 + lsl r4, r3, #0x2 + lsl r4, r4, #0x2 + lsl r4, r5, #0x2 + lsl r4, r6, #0x2 + lsl r4, r7, #0x2 + lsl r4, r0, #0x3 + mov r0, #0x0 + mov r1, #0x13 + bl sub_02079A70 + mov r0, #0x1 + str r0, [r4, #0x0] + b _02079EA2 +_02079E06: + .byte 0x00, 0xF0, 0x67, 0xFA, 0x20, 0x60, 0x49, 0xE0, 0x00, 0xF0 + .byte 0x7F, 0xFA, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0x17, 0xFB, 0x20, 0x60, 0x41, 0xE0, 0x00, 0xF0 + .byte 0x1D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x00, 0xF0, 0x23, 0xFB, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0 + .byte 0x29, 0xFB, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x2F, 0xFB, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0 + .byte 0x9D, 0xFB, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x05, 0xFC, 0x20, 0x60, 0x29, 0xE0, 0x00, 0xF0 + .byte 0x87, 0xFC, 0x20, 0x60, 0x25, 0xE0, 0x00, 0xF0, 0x91, 0xFC, 0x20, 0x60, 0x21, 0xE0, 0x00, 0xF0 + .byte 0x97, 0xFC, 0x20, 0x60, 0x1D, 0xE0, 0x00, 0xF0, 0x9D, 0xFC, 0x20, 0x60, 0x19, 0xE0, 0x00, 0xF0 + .byte 0xD3, 0xFC, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0x05, 0xFD, 0x20, 0x60, 0x11, 0xE0, 0x00, 0xF0 + .byte 0xCF, 0xFD, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0xF3, 0xFD, 0x20, 0x60, 0x09, 0xE0, 0x00, 0xF0 + .byte 0xFB, 0xFD, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0xFF, 0xFD, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20 + .byte 0x38, 0xBD +_02079EA2: + add r0, r5, #0x0 + bl sub_0207C3F4 + add r0, r5, #0x0 + bl sub_0207CC88 + add r0, r5, #0x0 + bl sub_0207D3F4 + ldr r0, _02079EC8 ; =0x00000404 + ldr r0, [r5, r0] + bl sub_0200BC1C + add r0, r5, #0x0 + bl sub_0207F008 + mov r0, #0x0 + pop {r3-r5, pc} + nop +_02079EC8: .word 0x00000404 + + thumb_func_start sub_02079ECC +sub_02079ECC: ; 0x02079ECC + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_02006278 + add r5, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + add r0, r5, #0x0 + bl sub_0207F068 + add r0, r5, #0x0 + bl sub_0207C3D4 + add r0, r5, #0x0 + bl sub_0207D74C + ldr r0, [r5, #0x0] + bl sub_0207A08C + bl sub_0201CD04 + bl sub_0201C29C + add r0, r5, #0x0 + bl sub_0207A264 + mov r0, #0x0 + bl sub_02002CC0 + ldr r0, _02079F20 ; =0x04000050 + mov r1, #0x0 + strh r1, [r0, #0x0] + add r0, r4, #0x0 + bl sub_0200627C + mov r0, #0x13 + bl sub_020168D0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02079F20: .word 0x04000050 + + thumb_func_start sub_02079F24 +sub_02079F24: ; 0x02079F24 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_0201AB60 + mov r0, #0xae + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020081C4 + bl sub_0201C30C + bl sub_0200BC30 + ldr r3, _02079F50 ; =0x027E0000 + ldr r1, _02079F54 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + nop +_02079F50: .word 0x027E0000 +_02079F54: .word 0x00003FF8 + + thumb_func_start sub_02079F58 +sub_02079F58: ; 0x02079F58 + push {r4, lr} + sub sp, #0x28 + ldr r4, _02079F74 ; =0x020FA6C0 + add r3, sp, #0x0 + mov r2, #0x5 +_02079F62: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02079F62 + add r0, sp, #0x0 + bl sub_0201E66C + add sp, #0x28 + pop {r4, pc} + .balign 4 +_02079F74: .word 0x020FA6C0 + + thumb_func_start sub_02079F78 +sub_02079F78: ; 0x02079F78 + push {r4-r5, lr} + sub sp, #0x9c + ldr r5, _0207A074 ; =0x020FA624 + add r3, sp, #0x8c + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _0207A078 ; =0x020FA650 + add r3, sp, #0x70 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x1 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02018744 + ldr r5, _0207A07C ; =0x020FA66C + add r3, sp, #0x54 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x2 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02018744 + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x88 + bl sub_0201AEE4 + ldr r5, _0207A080 ; =0x020FA688 + add r3, sp, #0x38 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x3 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + ldr r5, _0207A084 ; =0x020FA6A4 + add r3, sp, #0x1c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x4 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02018744 + ldr r5, _0207A088 ; =0x020FA634 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x5 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + mov r0, #0x1 + mov r1, #0x20 + mov r2, #0x0 + mov r3, #0x13 + bl sub_02017F18 + mov r0, #0x4 + mov r1, #0x20 + mov r2, #0x0 + mov r3, #0x13 + bl sub_02017F18 + add sp, #0x9c + pop {r4-r5, pc} + nop +_0207A074: .word 0x020FA624 +_0207A078: .word 0x020FA650 +_0207A07C: .word 0x020FA66C +_0207A080: .word 0x020FA688 +_0207A084: .word 0x020FA6A4 +_0207A088: .word 0x020FA634 + + thumb_func_start sub_0207A08C +sub_0207A08C: ; 0x0207A08C + push {r4, lr} + add r4, r0, #0x0 + bl sub_0201E6D8 + bl sub_0201E740 + add r0, r4, #0x0 + mov r1, #0x5 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_020178A0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_020178A0 + mov r0, #0x13 + add r1, r4, #0x0 + bl sub_02016A8C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207A0CC +sub_0207A0CC: ; 0x0207A0CC + push {r4, lr} + sub sp, #0x10 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r4, r0, #0x0 + str r1, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + ldr r2, [r4, #0x0] + mov r0, #0x27 + mov r3, #0x3 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + mov r1, #0x3 + ldr r2, [r4, #0x0] + mov r0, #0x27 + add r3, r1, #0x0 + bl sub_020068C8 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x27 + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_02006930 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + ldr r2, [r4, #0x0] + mov r0, #0x27 + mov r1, #0xb + mov r3, #0x2 + bl sub_020068C8 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + ldr r2, [r4, #0x0] + mov r0, #0x27 + mov r1, #0x2 + mov r3, #0x4 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + ldr r2, [r4, #0x0] + mov r0, #0x27 + mov r1, #0x10 + mov r3, #0x5 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x13 + str r0, [sp, #0xc] + ldr r2, [r4, #0x0] + mov r0, #0x27 + mov r1, #0xf + mov r3, #0x5 + bl sub_020068C8 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x27 + mov r1, #0xe + mov r2, #0x4 + bl sub_02006930 + add sp, #0x10 + pop {r4, pc} + + thumb_func_start sub_0207A188 +sub_0207A188: ; 0x0207A188 + push {r3, lr} + mov r0, #0x8 + str r0, [sp, #0x0] + ldr r0, _0207A19C ; =0x04000050 + mov r1, #0x1 + mov r2, #0x1e + mov r3, #0x17 + blx sub_020C74DC + pop {r3, pc} + .balign 4 +_0207A19C: .word 0x04000050 + + thumb_func_start sub_0207A1A0 +sub_0207A1A0: ; 0x0207A1A0 + push {r4, lr} + mov r2, #0x65 + add r4, r0, #0x0 + mov r0, #0x0 + mov r1, #0x1a + lsl r2, r2, #0x2 + mov r3, #0x13 + bl sub_0200A86C + ldr r1, _0207A250 ; =0x00000674 + mov r2, #0x79 + str r0, [r4, r1] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + mov r3, #0x13 + bl sub_0200A86C + ldr r1, _0207A254 ; =0x00000678 + mov r2, #0x0 + str r0, [r4, r1] + mov r0, #0x1 + mov r1, #0x2 + mov r3, #0x13 + bl sub_0200B870 + mov r1, #0x67 + lsl r1, r1, #0x4 + str r0, [r4, r1] + mov r0, #0x13 + bl sub_0200AA80 + ldr r1, _0207A258 ; =0x0000067C + str r0, [r4, r1] + mov r0, #0xc + mov r1, #0x13 + bl sub_020219F4 + mov r1, #0x25 + lsl r1, r1, #0x4 + str r0, [r4, r1] + mov r0, #0xc + mov r1, #0x13 + bl sub_020219F4 + mov r1, #0x95 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x8 + mov r1, #0x13 + bl sub_020219F4 + mov r1, #0x96 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x80 + mov r1, #0x13 + bl sub_020219F4 + mov r1, #0x1a + lsl r1, r1, #0x6 + str r0, [r4, r1] + mov r2, #0x93 + mov r0, #0x0 + mov r1, #0x1a + lsl r2, r2, #0x2 + mov r3, #0x13 + bl sub_0200A86C + ldr r1, _0207A25C ; =0x00000688 + str r0, [r4, r1] + mov r0, #0x8 + mov r1, #0x13 + bl sub_020219F4 + ldr r2, _0207A260 ; =0x00000684 + str r0, [r4, r2] + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r1, [r0, #0x8] + cmp r1, #0x0 + beq _0207A24C + ldr r0, [r4, r2] + bl sub_02021E28 +_0207A24C: + pop {r4, pc} + nop +_0207A250: .word 0x00000674 +_0207A254: .word 0x00000678 +_0207A258: .word 0x0000067C +_0207A25C: .word 0x00000688 +_0207A260: .word 0x00000684 + + thumb_func_start sub_0207A264 +sub_0207A264: ; 0x0207A264 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207A2C4 ; =0x00000688 + ldr r0, [r4, r0] + bl sub_0200A8B8 + ldr r0, _0207A2C8 ; =0x00000678 + ldr r0, [r4, r0] + bl sub_0200A8B8 + ldr r0, _0207A2CC ; =0x00000674 + ldr r0, [r4, r0] + bl sub_0200A8B8 + mov r0, #0x67 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_0200B990 + ldr r0, _0207A2D0 ; =0x0000067C + ldr r0, [r4, r0] + bl sub_0200AB18 + mov r0, #0x25 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r0, #0x95 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r0, #0x96 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02021A20 + mov r0, #0x1a + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + bl sub_02021A20 + ldr r0, _0207A2D4 ; =0x00000684 + ldr r0, [r4, r0] + bl sub_02021A20 + pop {r4, pc} + .balign 4 +_0207A2C4: .word 0x00000688 +_0207A2C8: .word 0x00000678 +_0207A2CC: .word 0x00000674 +_0207A2D0: .word 0x0000067C +_0207A2D4: .word 0x00000684 + + thumb_func_start sub_0207A2D8 +sub_0207A2D8: ; 0x0207A2D8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0200E308 + cmp r0, #0x1 + bne _0207A30C + add r0, r4, #0x0 + bl sub_0207F8D0 + add r0, r4, #0x0 + bl sub_0207AF20 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x2 + bne _0207A300 + mov r0, #0x9 + pop {r4, pc} +_0207A300: + cmp r0, #0x4 + bne _0207A308 + mov r0, #0xf + pop {r4, pc} +_0207A308: + mov r0, #0x2 + pop {r4, pc} +_0207A30C: + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start sub_0207A310 +sub_0207A310: ; 0x0207A310 + push {r4-r6, lr} + ldr r3, _0207A438 ; =0x0000068F + add r4, r0, #0x0 + ldrb r1, [r4, r3] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + cmp r1, #0x1 + bne _0207A32E + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + strb r1, [r0, #0x17] + mov r0, #0x12 + pop {r4-r6, pc} +_0207A32E: + ldr r2, _0207A43C ; =0x021C48B8 + mov r1, #0x20 + ldr r5, [r2, #0x4c] + add r6, r5, #0x0 + tst r6, r1 + beq _0207A344 + sub r1, #0x21 + bl sub_0207B178 + mov r0, #0x2 + pop {r4-r6, pc} +_0207A344: + mov r1, #0x10 + tst r1, r5 + beq _0207A354 + mov r1, #0x1 + bl sub_0207B178 + mov r0, #0x2 + pop {r4-r6, pc} +_0207A354: + mov r1, #0x40 + add r6, r5, #0x0 + tst r6, r1 + beq _0207A366 + sub r1, #0x41 + bl sub_0207B3F0 + mov r0, #0x2 + pop {r4-r6, pc} +_0207A366: + mov r1, #0x80 + tst r1, r5 + beq _0207A376 + mov r1, #0x1 + bl sub_0207B3F0 + mov r0, #0x2 + pop {r4-r6, pc} +_0207A376: + ldr r1, [r2, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _0207A394 + sub r3, #0xb2 + add r0, r3, #0x0 + bl sub_020054C8 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + strb r1, [r0, #0x17] + mov r0, #0x12 + pop {r4-r6, pc} +_0207A394: + mov r0, #0x1 + tst r0, r1 + beq _0207A420 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x3 + bne _0207A3BE + sub r0, r3, #0x3 + ldrsb r0, [r4, r0] + cmp r0, #0x4 + bne _0207A3BE + sub r3, #0xb2 + add r0, r3, #0x0 + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207C23C + pop {r4-r6, pc} +_0207A3BE: + ldr r0, _0207A440 ; =0x0000068C + ldrsb r1, [r4, r0] + cmp r1, #0x3 + bne _0207A3D6 + add r0, #0x10 + bl sub_020054C8 + ldr r0, _0207A444 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + mov r0, #0x3 + pop {r4-r6, pc} +_0207A3D6: + cmp r1, #0x5 + bne _0207A3EA + add r0, #0x10 + bl sub_020054C8 + ldr r0, _0207A444 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + mov r0, #0x5 + pop {r4-r6, pc} +_0207A3EA: + cmp r1, #0x6 + bne _0207A408 + add r1, r0, #0x0 + add r1, #0xd + ldrb r1, [r4, r1] + cmp r1, #0x0 + beq _0207A420 + sub r0, #0xaf + bl sub_020054C8 + ldr r0, _0207A444 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + mov r0, #0xb + pop {r4-r6, pc} +_0207A408: + cmp r1, #0x7 + bne _0207A420 + sub r0, #0xaf + bl sub_020054C8 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + strb r1, [r0, #0x17] + mov r0, #0x12 + pop {r4-r6, pc} +_0207A420: + add r0, r4, #0x0 + bl sub_0207B200 + cmp r0, #0x1 + bne _0207A434 + ldr r0, _0207A444 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + mov r0, #0xe + pop {r4-r6, pc} +_0207A434: + mov r0, #0x2 + pop {r4-r6, pc} + .balign 4 +_0207A438: .word 0x0000068F +_0207A43C: .word 0x021C48B8 +_0207A440: .word 0x0000068C +_0207A444: .word 0x0000068E + + thumb_func_start sub_0207A448 +sub_0207A448: ; 0x0207A448 + push {r3, lr} + bl sub_0207B66C + cmp r0, #0x1 + bne _0207A456 + mov r0, #0x7 + pop {r3, pc} +_0207A456: + mov r0, #0x3 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A45C +sub_0207A45C: ; 0x0207A45C + push {r3, lr} + bl sub_0207B788 + cmp r0, #0x1 + bne _0207A46A + mov r0, #0x2 + pop {r3, pc} +_0207A46A: + mov r0, #0x4 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A470 +sub_0207A470: ; 0x0207A470 + push {r3, lr} + bl sub_0207BAEC + cmp r0, #0x1 + bne _0207A47E + mov r0, #0x7 + pop {r3, pc} +_0207A47E: + mov r0, #0x5 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A484 +sub_0207A484: ; 0x0207A484 + push {r3, lr} + bl sub_0207BBF0 + cmp r0, #0x1 + bne _0207A492 + mov r0, #0x2 + pop {r3, pc} +_0207A492: + mov r0, #0x6 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A498 +sub_0207A498: ; 0x0207A498 + push {r4, lr} + ldr r1, _0207A568 ; =0x021C48B8 + add r4, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x40 + add r3, r2, #0x0 + tst r3, r1 + beq _0207A4C2 + sub r1, #0x41 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A4BE + ldr r0, _0207A56C ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A4BE: + mov r0, #0x7 + pop {r4, pc} +_0207A4C2: + mov r1, #0x80 + tst r1, r2 + beq _0207A4E2 + mov r1, #0x1 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A4DE + ldr r0, _0207A56C ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A4DE: + mov r0, #0x7 + pop {r4, pc} +_0207A4E2: + mov r0, #0x1 + tst r0, r2 + beq _0207A542 + ldr r0, _0207A570 ; =0x0000068D + ldrb r1, [r4, r0] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + cmp r1, #0x4 + bne _0207A510 + add r0, #0xf + bl sub_020054C8 + ldr r0, _0207A574 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + sub r0, r0, #0x2 + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207A50C + mov r0, #0x4 + pop {r4, pc} +_0207A50C: + mov r0, #0x6 + pop {r4, pc} +_0207A510: + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldrb r1, [r1, #0x12] + cmp r1, #0x1 + beq _0207A542 + sub r0, #0xb0 + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207CBE8 + ldr r2, _0207A570 ; =0x0000068D + mov r1, #0xf0 + ldrb r3, [r4, r2] + add r0, r3, #0x0 + bic r0, r1 + lsl r1, r3, #0x1c + lsr r1, r1, #0x1c + lsl r1, r1, #0x1c + lsr r1, r1, #0x18 + orr r0, r1 + strb r0, [r4, r2] + mov r0, #0x8 + pop {r4, pc} +_0207A542: + mov r0, #0x2 + tst r0, r2 + beq _0207A564 + ldr r0, _0207A578 ; =0x0000069C + bl sub_020054C8 + ldr r0, _0207A574 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + sub r0, r0, #0x2 + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207A560 + mov r0, #0x4 + pop {r4, pc} +_0207A560: + mov r0, #0x6 + pop {r4, pc} +_0207A564: + mov r0, #0x7 + pop {r4, pc} + .balign 4 +_0207A568: .word 0x021C48B8 +_0207A56C: .word 0x000005DC +_0207A570: .word 0x0000068D +_0207A574: .word 0x0000068E +_0207A578: .word 0x0000069C + + thumb_func_start sub_0207A57C +sub_0207A57C: ; 0x0207A57C + push {r4, lr} + ldr r1, _0207A644 ; =0x021C48B8 + add r4, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x40 + add r3, r2, #0x0 + tst r3, r1 + beq _0207A5A6 + sub r1, #0x41 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A5A2 + ldr r0, _0207A648 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A5A2: + mov r0, #0x8 + pop {r4, pc} +_0207A5A6: + mov r1, #0x80 + tst r1, r2 + beq _0207A5C6 + mov r1, #0x1 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A5C2 + ldr r0, _0207A648 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A5C2: + mov r0, #0x8 + pop {r4, pc} +_0207A5C6: + mov r0, #0x1 + tst r0, r2 + beq _0207A622 + mov r0, #0x43 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207A64C ; =0x0000068D + ldrb r1, [r4, r0] + lsl r2, r1, #0x1c + lsr r2, r2, #0x1c + cmp r2, #0x4 + beq _0207A618 + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + cmp r2, r1 + beq _0207A618 + sub r0, #0xb0 + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B9C0 + ldr r1, _0207A64C ; =0x0000068D + add r0, r4, #0x0 + ldrb r2, [r4, r1] + lsl r1, r2, #0x1c + lsl r2, r2, #0x18 + lsr r1, r1, #0x1c + lsr r2, r2, #0x1c + bl sub_0207CB08 + add r0, r4, #0x0 + bl sub_0207ED30 + add r0, r4, #0x0 + bl sub_0207B8D8 + b _0207A61E +_0207A618: + ldr r0, _0207A650 ; =0x000005DD + bl sub_020054C8 +_0207A61E: + mov r0, #0x7 + pop {r4, pc} +_0207A622: + mov r0, #0x2 + tst r0, r2 + beq _0207A63E + ldr r0, _0207A650 ; =0x000005DD + bl sub_020054C8 + mov r0, #0x43 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + mov r0, #0x7 + pop {r4, pc} +_0207A63E: + mov r0, #0x8 + pop {r4, pc} + nop +_0207A644: .word 0x021C48B8 +_0207A648: .word 0x000005DC +_0207A64C: .word 0x0000068D +_0207A650: .word 0x000005DD + + thumb_func_start sub_0207A654 +sub_0207A654: ; 0x0207A654 + push {r4, lr} + ldr r1, _0207A750 ; =0x021C48B8 + add r4, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x20 + add r3, r2, #0x0 + tst r3, r1 + beq _0207A66E + sub r1, #0x21 + bl sub_0207B178 + mov r0, #0x9 + pop {r4, pc} +_0207A66E: + mov r1, #0x10 + tst r1, r2 + beq _0207A67E + mov r1, #0x1 + bl sub_0207B178 + mov r0, #0x9 + pop {r4, pc} +_0207A67E: + mov r1, #0x40 + add r3, r2, #0x0 + tst r3, r1 + beq _0207A6A0 + sub r1, #0x41 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A69C + ldr r0, _0207A754 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A69C: + mov r0, #0x9 + pop {r4, pc} +_0207A6A0: + mov r1, #0x80 + tst r1, r2 + beq _0207A6C0 + mov r1, #0x1 + bl sub_0207B878 + cmp r0, #0x1 + bne _0207A6BC + ldr r0, _0207A754 ; =0x000005DC + bl sub_020054C8 + add r0, r4, #0x0 + bl sub_0207B8D8 +_0207A6BC: + mov r0, #0x9 + pop {r4, pc} +_0207A6C0: + mov r0, #0x1 + tst r0, r2 + beq _0207A72C + ldr r0, _0207A758 ; =0x000005DD + bl sub_020054C8 + ldr r0, _0207A75C ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #0x4 + beq _0207A712 + lsl r0, r0, #0x1 + add r1, r4, r0 + mov r0, #0xa1 + lsl r0, r0, #0x2 + ldrh r0, [r1, r0] + bl sub_0206EA54 + cmp r0, #0x1 + bne _0207A712 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0207A712 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C63C + add r0, r4, #0x0 + bl sub_0207BD58 + add r0, r4, #0x0 + bl sub_0207EDB4 + mov r0, #0xa + pop {r4, pc} +_0207A712: + ldr r0, _0207A75C ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x1c + lsr r2, r0, #0x1c + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + strb r2, [r1, #0x16] + ldr r0, [r4, r0] + mov r1, #0x0 + strb r1, [r0, #0x17] + mov r0, #0x12 + pop {r4, pc} +_0207A72C: + mov r0, #0x2 + tst r0, r2 + beq _0207A74C + ldr r0, _0207A758 ; =0x000005DD + bl sub_020054C8 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + mov r2, #0x4 + strb r2, [r1, #0x16] + ldr r0, [r4, r0] + mov r1, #0x1 + strb r1, [r0, #0x17] + mov r0, #0x12 + pop {r4, pc} +_0207A74C: + mov r0, #0x9 + pop {r4, pc} + .balign 4 +_0207A750: .word 0x021C48B8 +_0207A754: .word 0x000005DC +_0207A758: .word 0x000005DD +_0207A75C: .word 0x0000068D + + thumb_func_start sub_0207A760 +sub_0207A760: ; 0x0207A760 + push {r3, lr} + ldr r1, _0207A778 ; =0x021C48B8 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + beq _0207A774 + bl sub_0207B8D8 + mov r0, #0x9 + pop {r3, pc} +_0207A774: + mov r0, #0xa + pop {r3, pc} + .balign 4 +_0207A778: .word 0x021C48B8 + + thumb_func_start sub_0207A77C +sub_0207A77C: ; 0x0207A77C + push {r3, lr} + bl sub_0207BE68 + cmp r0, #0x1 + bne _0207A78A + mov r0, #0xd + pop {r3, pc} +_0207A78A: + mov r0, #0xb + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A790 +sub_0207A790: ; 0x0207A790 + push {r3, lr} + bl sub_0207BF90 + cmp r0, #0x1 + bne _0207A79E + mov r0, #0x2 + pop {r3, pc} +_0207A79E: + mov r0, #0xc + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207A7A4 +sub_0207A7A4: ; 0x0207A7A4 + push {r3-r5, lr} + ldr r3, _0207A80C ; =0x021C48B8 + mov r1, #0x20 + ldr r2, [r3, #0x4c] + add r4, r0, #0x0 + add r5, r2, #0x0 + tst r5, r1 + beq _0207A7BE + sub r1, #0x21 + bl sub_0207C07C + mov r0, #0xd + pop {r3-r5, pc} +_0207A7BE: + mov r1, #0x10 + tst r1, r2 + beq _0207A7CE + mov r1, #0x1 + bl sub_0207C07C + mov r0, #0xd + pop {r3-r5, pc} +_0207A7CE: + mov r1, #0x40 + add r5, r2, #0x0 + tst r5, r1 + beq _0207A7E0 + sub r1, #0x44 + bl sub_0207C07C + mov r0, #0xd + pop {r3-r5, pc} +_0207A7E0: + mov r1, #0x80 + tst r1, r2 + beq _0207A7F0 + mov r1, #0x4 + bl sub_0207C07C + mov r0, #0xd + pop {r3-r5, pc} +_0207A7F0: + ldr r1, [r3, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0207A808 + ldr r0, _0207A810 ; =0x000005DD + bl sub_020054C8 + ldr r0, _0207A814 ; =0x0000068E + mov r1, #0x0 + strb r1, [r4, r0] + mov r0, #0xc + pop {r3-r5, pc} +_0207A808: + mov r0, #0xd + pop {r3-r5, pc} + .balign 4 +_0207A80C: .word 0x021C48B8 +_0207A810: .word 0x000005DD +_0207A814: .word 0x0000068E + + thumb_func_start sub_0207A818 +sub_0207A818: ; 0x0207A818 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207FB28 + cmp r0, #0x1 + bne _0207A82A + ldr r0, _0207A878 ; =0x0000068E + ldrb r0, [r4, r0] + pop {r4, pc} +_0207A82A: + ldr r1, _0207A87C ; =0x00000695 + ldrb r0, [r4, r1] + cmp r0, #0x1 + bne _0207A874 + add r1, r1, #0x1 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + bl sub_0207FC40 + add r1, r0, #0x0 + cmp r1, #0x7 + bne _0207A850 + ldr r2, _0207A880 ; =0x0000068F + mov r0, #0xf0 + ldrb r3, [r4, r2] + bic r3, r0 + mov r0, #0x10 + orr r0, r3 + strb r0, [r4, r2] +_0207A850: + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + cmp r0, #0x1 + bne _0207A86E + cmp r1, #0x1 + beq _0207A866 + cmp r1, #0x7 + bne _0207A874 +_0207A866: + add r0, r4, #0x0 + bl sub_0207B0CC + b _0207A874 +_0207A86E: + add r0, r4, #0x0 + bl sub_0207B0CC +_0207A874: + mov r0, #0xe + pop {r4, pc} + .balign 4 +_0207A878: .word 0x0000068E +_0207A87C: .word 0x00000695 +_0207A880: .word 0x0000068F + + thumb_func_start sub_0207A884 +sub_0207A884: ; 0x0207A884 + push {r4-r6, lr} + sub sp, #0x8 + ldr r1, _0207AA00 ; =0x021C48B8 + add r5, r0, #0x0 + ldr r2, [r1, #0x48] + mov r1, #0x3 + tst r1, r2 + bne _0207A896 + b _0207A9FA +_0207A896: + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + ldrb r1, [r1, #0x11] + cmp r1, #0x2 + bne _0207A8BA + bl sub_0207B628 + add r6, r0, #0x0 + mov r0, #0x13 + bl sub_020669C0 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02069A64 + b _0207A8C0 +_0207A8BA: + bl sub_0207B628 + add r4, r0, #0x0 +_0207A8C0: + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, r4, #0x0 + ldr r0, [r0, #0x24] + bl sub_0208821C + ldr r0, _0207AA04 ; =0x0000068E + mov r2, #0x0 + strb r2, [r5, r0] + ldr r0, _0207AA08 ; =0x00000295 + mov r1, #0x13 + ldrb r6, [r5, r0] + add r0, r4, #0x0 + bl sub_020671BC + ldr r1, _0207AA08 ; =0x00000295 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + cmp r6, r0 + beq _0207A8F4 + ldr r1, _0207AA04 ; =0x0000068E + mov r0, #0x1 + ldrb r2, [r5, r1] + orr r0, r2 + strb r0, [r5, r1] +_0207A8F4: + ldr r0, _0207AA0C ; =0x00000296 + mov r1, #0x14 + ldrb r6, [r5, r0] + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _0207AA0C ; =0x00000296 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + cmp r6, r0 + beq _0207A916 + ldr r1, _0207AA04 ; =0x0000068E + mov r0, #0x2 + ldrb r2, [r5, r1] + orr r0, r2 + strb r0, [r5, r1] +_0207A916: + ldr r0, _0207AA10 ; =0x00000297 + mov r1, #0x15 + ldrb r6, [r5, r0] + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _0207AA10 ; =0x00000297 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + cmp r6, r0 + beq _0207A938 + ldr r1, _0207AA04 ; =0x0000068E + mov r0, #0x4 + ldrb r2, [r5, r1] + orr r0, r2 + strb r0, [r5, r1] +_0207A938: + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldrb r6, [r5, r0] + add r0, r4, #0x0 + mov r1, #0x16 + mov r2, #0x0 + bl sub_020671BC + mov r1, #0xa6 + lsl r1, r1, #0x2 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + cmp r6, r0 + beq _0207A95E + ldr r1, _0207AA04 ; =0x0000068E + mov r0, #0x8 + ldrb r2, [r5, r1] + orr r0, r2 + strb r0, [r5, r1] +_0207A95E: + ldr r0, _0207AA14 ; =0x00000299 + mov r1, #0x17 + ldrb r6, [r5, r0] + add r0, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _0207AA14 ; =0x00000299 + strb r0, [r5, r1] + ldrb r0, [r5, r1] + cmp r6, r0 + beq _0207A980 + ldr r1, _0207AA04 ; =0x0000068E + mov r0, #0x10 + ldrb r2, [r5, r1] + orr r0, r2 + strb r0, [r5, r1] +_0207A980: + add r0, r4, #0x0 + mov r1, #0x18 + mov r2, #0x0 + bl sub_020671BC + ldr r1, _0207AA18 ; =0x0000029A + strb r0, [r5, r1] + sub r1, #0x4e + ldr r0, [r5, r1] + ldrb r0, [r0, #0x11] + cmp r0, #0x2 + bne _0207A99E + add r0, r4, #0x0 + bl sub_02016A18 +_0207A99E: + mov r1, #0x7 + mov r0, #0x0 + lsl r1, r1, #0x6 + mov r2, #0x13 + bl sub_02002EEC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r0, [r0, #0x4] + bl sub_02025084 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x13 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + ldr r2, _0207AA1C ; =0x000003E2 + mov r1, #0x1 + mov r3, #0xd + bl sub_0200CD68 + ldr r0, _0207AA04 ; =0x0000068E + ldrb r0, [r5, r0] + cmp r0, #0x0 + bne _0207A9E2 + add r0, r5, #0x0 + mov r1, #0xfe + bl sub_0207EECC + add sp, #0x8 + mov r0, #0x11 + pop {r4-r6, pc} +_0207A9E2: + add r0, r5, #0x0 + bl sub_0207F608 + add r0, r5, #0x0 + bl sub_0207CC24 + add r0, r5, #0x0 + bl sub_0207CF78 + add sp, #0x8 + mov r0, #0x10 + pop {r4-r6, pc} +_0207A9FA: + mov r0, #0xf + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0207AA00: .word 0x021C48B8 +_0207AA04: .word 0x0000068E +_0207AA08: .word 0x00000295 +_0207AA0C: .word 0x00000296 +_0207AA10: .word 0x00000297 +_0207AA14: .word 0x00000299 +_0207AA18: .word 0x0000029A +_0207AA1C: .word 0x000003E2 + + thumb_func_start sub_0207AA20 +sub_0207AA20: ; 0x0207AA20 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0207AA68 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0207AA62 + ldr r0, _0207AA6C ; =0x0000068E + mov r1, #0x0 + ldrb r2, [r5, r0] + mov r0, #0x1 +_0207AA36: + add r4, r0, #0x0 + lsl r4, r1 + add r3, r2, #0x0 + tst r3, r4 + beq _0207AA58 + add r0, r5, #0x0 + bl sub_0207EECC + ldr r0, _0207AA6C ; =0x0000068E + ldrb r1, [r5, r0] + eor r1, r4 + strb r1, [r5, r0] + ldrb r0, [r5, r0] + cmp r0, #0x0 + bne _0207AA62 + mov r0, #0x11 + pop {r3-r5, pc} +_0207AA58: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x5 + blo _0207AA36 +_0207AA62: + mov r0, #0x10 + pop {r3-r5, pc} + nop +_0207AA68: .word 0x021C48B8 +_0207AA6C: .word 0x0000068E + + thumb_func_start sub_0207AA70 +sub_0207AA70: ; 0x0207AA70 + ldr r0, _0207AA84 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _0207AA7E + mov r0, #0x12 + bx lr +_0207AA7E: + mov r0, #0x11 + bx lr + nop +_0207AA84: .word 0x021C48B8 + + thumb_func_start sub_0207AA88 +sub_0207AA88: ; 0x0207AA88 + push {r3, lr} + mov r0, #0x1 + mov r1, #0x13 + bl sub_02079A70 + mov r0, #0x13 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207AA98 +sub_0207AA98: ; 0x0207AA98 + push {r3, lr} + bl sub_0200E308 + cmp r0, #0x1 + bne _0207AAA6 + mov r0, #0x1 + b _0207AAA8 +_0207AAA6: + mov r0, #0x0 +_0207AAA8: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207AAB0 +sub_0207AAB0: ; 0x0207AAB0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207B628 + mov r2, #0x93 + lsl r2, r2, #0x2 + add r1, r0, #0x0 + ldr r0, [r4, r2] + ldrb r0, [r0, #0x11] + cmp r0, #0x2 + bne _0207AAD2 + add r2, r2, #0x4 + add r0, r4, #0x0 + add r2, r4, r2 + bl sub_0207AAE0 + pop {r4, pc} +_0207AAD2: + add r2, r2, #0x4 + add r0, r4, #0x0 + add r2, r4, r2 + bl sub_0207AB0C + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207AAE0 +sub_0207AAE0: ; 0x0207AAE0 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x13 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_020669C0 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02069A64 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0207AB0C + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207AB0C +sub_0207AB0C: ; 0x0207AB0C + push {r3-r7, lr} + sub sp, #0x8 + add r6, r1, #0x0 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r5, r2, #0x0 + bl sub_020669D4 + str r0, [sp, #0x4] + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0xc] + add r0, r6, #0x0 + bl sub_020690E4 + ldr r2, _0207AEAC ; =0x00000674 + add r4, r0, #0x0 + ldr r0, [r7, r2] + add r2, #0xc + ldr r2, [r7, r2] + mov r1, #0xb + bl sub_0200A8E0 + ldr r0, _0207AEB0 ; =0x0000067C + mov r1, #0x0 + ldr r0, [r7, r0] + add r2, r4, #0x0 + bl sub_0200AC60 + ldr r2, _0207AEB0 ; =0x0000067C + mov r1, #0x25 + ldr r0, [r7, r2] + lsl r1, r1, #0x4 + add r2, r2, #0x4 + ldr r1, [r7, r1] + ldr r2, [r7, r2] + bl sub_0200B7B8 + ldr r2, _0207AEAC ; =0x00000674 + mov r1, #0x0 + ldr r0, [r7, r2] + add r2, #0xc + ldr r2, [r7, r2] + bl sub_0200A8E0 + ldr r0, _0207AEB0 ; =0x0000067C + mov r1, #0x0 + ldr r0, [r7, r0] + add r2, r4, #0x0 + bl sub_0200ACF8 + ldr r2, _0207AEB0 ; =0x0000067C + mov r1, #0x95 + ldr r0, [r7, r2] + lsl r1, r1, #0x2 + add r2, r2, #0x4 + ldr r1, [r7, r1] + ldr r2, [r7, r2] + bl sub_0200B7B8 + ldr r2, _0207AEAC ; =0x00000674 + mov r1, #0xe + ldr r0, [r7, r2] + add r2, #0xc + ldr r2, [r7, r2] + bl sub_0200A8E0 + ldr r0, _0207AEB0 ; =0x0000067C + mov r1, #0x0 + ldr r0, [r7, r0] + add r2, r4, #0x0 + bl sub_0200AD18 + ldr r2, _0207AEB0 ; =0x0000067C + mov r1, #0x96 + ldr r0, [r7, r2] + lsl r1, r1, #0x2 + add r2, r2, #0x4 + ldr r1, [r7, r1] + ldr r2, [r7, r2] + bl sub_0200B7B8 + add r0, r6, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0xe] + add r0, r6, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + ldrb r1, [r5, #0x12] + mov r2, #0x7f + lsl r0, r0, #0x18 + bic r1, r2 + lsr r2, r0, #0x18 + mov r0, #0x7f + and r0, r2 + orr r0, r1 + strb r0, [r5, #0x12] + add r0, r6, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x1f + ldr r2, [r5, #0x50] + ldr r1, _0207AEB4 ; =0xEFFFFFFF + lsr r0, r0, #0x3 + and r1, r2 + orr r0, r1 + str r0, [r5, #0x50] + add r0, r6, #0x0 + mov r1, #0xaf + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _0207AC16 + ldr r0, [r5, #0x50] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + bne _0207AC16 + ldrb r1, [r5, #0x12] + mov r0, #0x80 + bic r1, r0 + strb r1, [r5, #0x12] + b _0207AC1E +_0207AC16: + ldrb r1, [r5, #0x12] + mov r0, #0x80 + orr r0, r1 + strb r0, [r5, #0x12] +_0207AC1E: + add r0, r6, #0x0 + bl sub_020689E0 + ldrb r1, [r5, #0x13] + mov r2, #0x3 + bic r1, r2 + mov r2, #0x3 + and r0, r2 + orr r0, r1 + strb r0, [r5, #0x13] + add r0, r6, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1a + ldrb r1, [r5, #0x13] + mov r2, #0xfc + lsr r0, r0, #0x18 + bic r1, r2 + orr r0, r1 + strb r0, [r5, #0x13] + add r0, r6, #0x0 + mov r1, #0xb0 + mov r2, #0x0 + bl sub_020671BC + strb r0, [r5, #0x10] + add r0, r6, #0x0 + mov r1, #0xb1 + mov r2, #0x0 + bl sub_020671BC + strb r0, [r5, #0x11] + add r0, r6, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl sub_020671BC + str r0, [r5, #0x14] + add r0, r6, #0x0 + mov r1, #0x8 + mov r2, #0x0 + bl sub_020671BC + str r0, [r5, #0x18] + add r0, r6, #0x0 + mov r1, #0x9c + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x44 + strb r0, [r1, #0x0] + ldrb r1, [r5, #0x12] + ldrh r0, [r5, #0xc] + lsl r1, r1, #0x19 + lsr r1, r1, #0x19 + bl sub_02068758 + str r0, [r5, #0x1c] + ldrb r0, [r5, #0x12] + lsl r0, r0, #0x19 + lsr r1, r0, #0x19 + cmp r1, #0x64 + bne _0207ACAA + ldr r0, [r5, #0x1c] + b _0207ACB2 +_0207ACAA: + ldrh r0, [r5, #0xc] + add r1, r1, #0x1 + bl sub_02068758 +_0207ACB2: + str r0, [r5, #0x20] + add r0, r6, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x24] + add r0, r6, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x26] + add r0, r6, #0x0 + mov r1, #0xa4 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x28] + add r0, r6, #0x0 + mov r1, #0xa5 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x2a] + add r0, r6, #0x0 + mov r1, #0xa7 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x2c] + add r0, r6, #0x0 + mov r1, #0xa8 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x2e] + add r0, r6, #0x0 + mov r1, #0xa6 + mov r2, #0x0 + bl sub_020671BC + strh r0, [r5, #0x30] + add r0, r6, #0x0 + mov r1, #0xa + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x32 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_02068854 + add r1, r5, #0x0 + add r1, #0x33 + strb r0, [r1, #0x0] + mov r4, #0x0 +_0207AD26: + lsl r0, r4, #0x1 + add r0, r5, r0 + add r1, r4, #0x0 + str r0, [sp, #0x0] + add r0, r6, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + ldr r1, [sp, #0x0] + mov r2, #0x0 + strh r0, [r1, #0x34] + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x3a + bl sub_020671BC + add r1, r5, r4 + add r1, #0x3c + strb r0, [r1, #0x0] + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x3e + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x34] + bl sub_0206AB30 + add r1, r5, r4 + add r1, #0x40 + strb r0, [r1, #0x0] + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _0207AD26 + add r0, r6, #0x0 + mov r1, #0x13 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x45 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x14 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x46 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x15 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x47 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x16 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x48 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x17 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x49 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x18 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x4a + strb r0, [r1, #0x0] + add r0, r5, #0x0 + mov r1, #0x5 + add r0, #0x4b + strb r1, [r0, #0x0] + mov r4, #0x0 +_0207ADE0: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02069BC8 + cmp r0, #0x1 + bne _0207ADF4 + add r0, r5, #0x0 + add r0, #0x4b + strb r4, [r0, #0x0] + b _0207ADFE +_0207ADF4: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x5 + blo _0207ADE0 +_0207ADFE: + add r0, r6, #0x0 + mov r1, #0xb + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x4c + strh r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + add r1, r5, #0x0 + add r1, #0x4e + strh r0, [r1, #0x0] + add r0, r6, #0x0 + bl sub_0207C2D4 + mov r1, #0xf + ldr r2, [r5, #0x50] + lsl r1, r1, #0x1c + and r2, r1 + ldr r1, _0207AEB8 ; =0x0FFFFFFF + and r0, r1 + orr r0, r2 + str r0, [r5, #0x50] + add r0, r6, #0x0 + bl sub_02069E94 + cmp r0, #0x1 + bne _0207AE4E + ldr r1, [r5, #0x50] + ldr r0, _0207AEBC ; =0x3FFFFFFF + and r1, r0 + mov r0, #0x2 + lsl r0, r0, #0x1e + orr r0, r1 + str r0, [r5, #0x50] + b _0207AE84 +_0207AE4E: + add r0, r6, #0x0 + bl sub_02069E74 + cmp r0, #0x1 + bne _0207AE7C + ldr r2, [r5, #0x50] + ldr r1, _0207AEBC ; =0x3FFFFFFF + add r0, r5, #0x0 + and r2, r1 + add r1, r1, #0x1 + orr r1, r2 + str r1, [r5, #0x50] + lsl r1, r1, #0x4 + lsr r1, r1, #0x4 + add r0, #0x50 + cmp r1, #0x7 + bne _0207AE84 + mov r1, #0xf + ldr r2, [r0, #0x0] + lsl r1, r1, #0x1c + and r1, r2 + str r1, [r0, #0x0] + b _0207AE84 +_0207AE7C: + ldr r1, [r5, #0x50] + ldr r0, _0207AEBC ; =0x3FFFFFFF + and r0, r1 + str r0, [r5, #0x50] +_0207AE84: + add r0, r6, #0x0 + bl sub_02068A80 + cmp r0, #0x1 + ldr r1, [r5, #0x50] + bne _0207AE98 + mov r0, #0x2 + lsl r0, r0, #0x1c + orr r0, r1 + b _0207AE9C +_0207AE98: + ldr r0, _0207AEC0 ; =0xDFFFFFFF + and r0, r1 +_0207AE9C: + str r0, [r5, #0x50] + mov r4, #0x0 + str r4, [r5, #0x54] + str r4, [r5, #0x58] + str r4, [r5, #0x5c] + ldr r0, _0207AEC4 ; =0x00000699 + b _0207AEC8 + nop +_0207AEAC: .word 0x00000674 +_0207AEB0: .word 0x0000067C +_0207AEB4: .word 0xEFFFFFFF +_0207AEB8: .word 0x0FFFFFFF +_0207AEBC: .word 0x3FFFFFFF +_0207AEC0: .word 0xDFFFFFFF +_0207AEC4: .word 0x00000699 +_0207AEC8: + str r4, [r5, #0x60] + strb r4, [r7, r0] +_0207AECC: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x0 + bl sub_0207FC5C + add r1, r0, #0x0 + add r0, r6, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207AF04 + lsr r0, r4, #0x5 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x1f + add r2, r4, #0x0 + and r2, r1 + mov r1, #0x1 + ldr r3, [r0, #0x54] + lsl r1, r2 + orr r1, r3 + str r1, [r0, #0x54] + ldr r0, _0207AF1C ; =0x00000699 + ldrb r0, [r7, r0] + add r1, r0, #0x1 + ldr r0, _0207AF1C ; =0x00000699 + strb r1, [r7, r0] +_0207AF04: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x50 + blo _0207AECC + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + bl sub_02066A20 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0207AF1C: .word 0x00000699 + + thumb_func_start sub_0207AF20 +sub_0207AF20: ; 0x0207AF20 + push {r3, lr} + mov r2, #0x2a + lsl r2, r2, #0x4 + ldr r1, [r0, r2] + lsl r1, r1, #0x3 + lsr r1, r1, #0x1f + bne _0207AF54 + add r1, r2, #0x0 + sub r1, #0x44 + ldrh r3, [r0, r1] + add r1, r2, #0x0 + sub r1, #0xe7 + cmp r3, r1 + bne _0207AF4E + sub r2, #0x54 + ldr r0, [r0, r2] + mov r1, #0x0 + ldr r0, [r0, #0x28] + mov r2, #0x64 + add r3, r1, #0x0 + bl sub_02005E90 + pop {r3, pc} +_0207AF4E: + add r0, r3, #0x0 + bl sub_02005578 +_0207AF54: + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0207AF58 +sub_0207AF58: ; 0x0207AF58 + push {r4, lr} + mov r1, #0x93 + add r4, r0, #0x0 + lsl r1, r1, #0x2 + ldr r0, [r4, r1] + ldrb r0, [r0, #0x12] + cmp r0, #0x4 + bhi _0207AFA4 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r1, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + lsl r0, r5, #0 + add r1, #0x54 + ldr r0, [r4, r1] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + ldr r0, _0207AFFC ; =0x0000068C + bne _0207AF90 + mov r1, #0x0 + strb r1, [r4, r0] + b _0207AFA4 +_0207AF90: + mov r1, #0x1 + strb r1, [r4, r0] + b _0207AFA4 +_0207AF96: + .byte 0x19, 0x48, 0x03, 0x21, 0x21, 0x54, 0x02, 0xE0, 0x17, 0x48 + .byte 0x04, 0x21, 0x21, 0x54 +_0207AFA4: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + add r0, r4, #0x0 + bl sub_0207C5D4 + add r0, r4, #0x0 + bl sub_0207C838 + add r0, r4, #0x0 + bl sub_0207D2C8 + add r0, r4, #0x0 + bl sub_0207C6A4 + add r0, r4, #0x0 + bl sub_0207CE4C + add r0, r4, #0x0 + bl sub_0207CC24 + add r0, r4, #0x0 + bl sub_0207D604 + add r0, r4, #0x0 + bl sub_0207DD88 + add r0, r4, #0x0 + bl sub_0207B228 + add r0, r4, #0x0 + bl sub_0207F2A0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x2 + bne _0207AFFA + add r0, r4, #0x0 + bl sub_0207BA74 +_0207AFFA: + pop {r4, pc} + .balign 4 +_0207AFFC: .word 0x0000068C + + thumb_func_start sub_0207B000 +sub_0207B000: ; 0x0207B000 + push {r3-r6} + mov r6, #0x0 + strb r6, [r0, #0x15] + add r0, #0x15 + mov r3, #0x1 +_0207B00A: + ldrb r5, [r1, r6] + cmp r5, #0x8 + beq _0207B024 + add r2, r3, #0x0 + ldrb r4, [r0, #0x0] + lsl r2, r5 + orr r2, r4 + strb r2, [r0, #0x0] + add r2, r6, #0x1 + lsl r2, r2, #0x18 + lsr r6, r2, #0x18 + cmp r6, #0x8 + blo _0207B00A +_0207B024: + pop {r3-r6} + bx lr + + thumb_func_start sub_0207B028 +sub_0207B028: ; 0x0207B028 + push {r3-r4} + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r4, [r0, r1] + ldr r1, [r4, #0x2c] + cmp r1, #0x1 + beq _0207B06C + ldrb r2, [r4, #0x15] + mov r1, #0x10 + add r3, r2, #0x0 + tst r3, r1 + beq _0207B044 + eor r1, r2 + strb r1, [r4, #0x15] +_0207B044: + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r4, [r0, r1] + mov r1, #0x20 + ldrb r2, [r4, #0x15] + add r3, r2, #0x0 + tst r3, r1 + beq _0207B058 + eor r1, r2 + strb r1, [r4, #0x15] +_0207B058: + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r3, [r0, r1] + mov r0, #0x40 + ldrb r1, [r3, #0x15] + add r2, r1, #0x0 + tst r2, r0 + beq _0207B06C + eor r0, r1 + strb r0, [r3, #0x15] +_0207B06C: + pop {r3-r4} + bx lr + + thumb_func_start sub_0207B070 +sub_0207B070: ; 0x0207B070 + mov r2, #0x2a + lsl r2, r2, #0x4 + ldr r2, [r0, r2] + lsl r2, r2, #0x3 + lsr r2, r2, #0x1f + beq _0207B088 + cmp r1, #0x1 + beq _0207B088 + cmp r1, #0x7 + beq _0207B088 + mov r0, #0x0 + bx lr +_0207B088: + mov r2, #0x93 + lsl r2, r2, #0x2 + ldr r0, [r0, r2] + ldrb r2, [r0, #0x15] + mov r0, #0x1 + lsl r0, r1 + and r0, r2 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr + + thumb_func_start sub_0207B09C +sub_0207B09C: ; 0x0207B09C + push {r3-r4} + mov r3, #0x93 + lsl r3, r3, #0x2 + ldr r0, [r0, r3] + mov r2, #0x0 + ldrb r0, [r0, #0x15] + add r1, r2, #0x0 + mov r3, #0x1 +_0207B0AC: + add r4, r3, #0x0 + lsl r4, r1 + tst r4, r0 + beq _0207B0BA + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 +_0207B0BA: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x8 + blo _0207B0AC + add r0, r2, #0x0 + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start sub_0207B0CC +sub_0207B0CC: ; 0x0207B0CC + push {r3-r5, lr} + sub sp, #0x10 + add r4, r1, #0x0 + ldr r1, _0207B174 ; =0x0000068C + add r5, r0, #0x0 + ldrsb r1, [r5, r1] + cmp r1, r4 + beq _0207B170 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + ldrb r1, [r1, #0x12] + cmp r1, #0x2 + bne _0207B0EC + bl sub_0207BDD8 +_0207B0EC: + add r0, r5, #0x0 + bl sub_0207D6F8 + ldr r0, _0207B174 ; =0x0000068C + mov r1, #0x0 + strb r4, [r5, r0] + add r0, r5, #0x0 + bl sub_0207CFAC + add r0, r5, #0x0 + bl sub_0207C5D4 + add r0, r5, #0x0 + bl sub_0207C6A4 + add r0, r5, #0x0 + bl sub_0207C838 + add r0, r5, #0x0 + bl sub_0207D2C8 + add r0, r5, #0x0 + bl sub_0207CC24 + add r0, r5, #0x0 + bl sub_0207D604 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0207D418 + mov r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0x13 + str r0, [sp, #0x4] + mov r0, #0x14 + str r0, [sp, #0x8] + mov r2, #0x0 + str r2, [sp, #0xc] + ldr r0, [r5, #0x0] + mov r1, #0x1 + mov r3, #0xe + bl sub_02018540 + ldr r0, [r5, #0x0] + mov r1, #0x1 + bl sub_02017CD0 + add r0, r5, #0x0 + bl sub_0207DD88 + add r0, r5, #0x0 + bl sub_0207B228 + add r0, r5, #0x0 + bl sub_0207F2A0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x2 + bne _0207B170 + add r0, r5, #0x0 + bl sub_0207BDF4 +_0207B170: + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_0207B174: .word 0x0000068C + + thumb_func_start sub_0207B178 +sub_0207B178: ; 0x0207B178 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0207B1F8 ; =0x0000068C + mov r6, #0x1 + ldrsb r4, [r5, r0] + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r12, r4 + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + add r7, r6, #0x0 +_0207B190: + add r2, r4, r1 + lsl r2, r2, #0x18 + asr r4, r2, #0x18 + bpl _0207B19C + mov r4, #0x7 + b _0207B1A2 +_0207B19C: + cmp r4, #0x7 + ble _0207B1A2 + mov r4, #0x0 +_0207B1A2: + cmp r0, #0x0 + bne _0207B1B8 + mov r2, #0x93 + lsl r2, r2, #0x2 + ldr r2, [r5, r2] + ldrb r3, [r2, #0x15] + add r2, r6, #0x0 + lsl r2, r4 + tst r2, r3 + bne _0207B1D0 + b _0207B190 +_0207B1B8: + mov r2, #0x93 + lsl r2, r2, #0x2 + ldr r2, [r5, r2] + ldrb r3, [r2, #0x15] + add r2, r7, #0x0 + lsl r2, r4 + tst r2, r3 + beq _0207B190 + cmp r4, #0x1 + beq _0207B1D0 + cmp r4, #0x7 + bne _0207B190 +_0207B1D0: + mov r0, r12 + cmp r4, r0 + beq _0207B1F4 + ldr r0, _0207B1FC ; =0x000005E1 + bl sub_020054C8 + add r0, r5, #0x0 + bl sub_0207FA38 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0207D418 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_0207B0CC +_0207B1F4: + pop {r3-r7, pc} + nop +_0207B1F8: .word 0x0000068C +_0207B1FC: .word 0x000005E1 + + thumb_func_start sub_0207B200 +sub_0207B200: ; 0x0207B200 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207FA80 + cmp r0, #0xff + bne _0207B210 + mov r0, #0x0 + pop {r4, pc} +_0207B210: + ldr r1, _0207B224 ; =0x00000694 + mov r3, #0x0 + strb r3, [r4, r1] + add r2, r1, #0x2 + strb r0, [r4, r2] + add r0, r1, #0x1 + strb r3, [r4, r0] + mov r0, #0x1 + pop {r4, pc} + nop +_0207B224: .word 0x00000694 + + thumb_func_start sub_0207B228 +sub_0207B228: ; 0x0207B228 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r5, r0] + ldrb r0, [r1, #0x12] + cmp r0, #0x2 + bne _0207B250 + ldrh r0, [r1, #0x18] + cmp r0, #0x0 + beq _0207B250 + ldr r0, _0207B2AC ; =0x0000068C + ldrsb r0, [r5, r0] + cmp r0, #0x3 + bne _0207B24C + mov r1, #0xc + b _0207B256 +_0207B24C: + mov r1, #0xd + b _0207B256 +_0207B250: + ldr r0, _0207B2AC ; =0x0000068C + ldrsb r0, [r5, r0] + add r1, r0, #0x3 +_0207B256: + mov r0, #0x27 + mov r2, #0x13 + bl sub_0200650C + add r1, sp, #0xc + add r4, r0, #0x0 + blx sub_020B0180 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r2, [sp, #0xc] + ldr r0, [r5, #0x0] + mov r1, #0x3 + add r2, #0xc + bl sub_02018148 + ldr r0, [r5, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, _0207B2AC ; =0x0000068C + ldrsb r0, [r5, r0] + cmp r0, #0x0 + bne _0207B29C + add r0, r5, #0x0 + bl sub_0207B364 + add sp, #0x10 + pop {r3-r5, pc} +_0207B29C: + cmp r0, #0x2 + bne _0207B2A6 + add r0, r5, #0x0 + bl sub_0207B2B0 +_0207B2A6: + add sp, #0x10 + pop {r3-r5, pc} + nop +_0207B2AC: .word 0x0000068C + + thumb_func_start sub_0207B2B0 +sub_0207B2B0: ; 0x0207B2B0 + push {r4-r7, lr} + sub sp, #0x14 + mov r1, #0x9d + add r6, r0, #0x0 + lsl r1, r1, #0x2 + ldrh r0, [r6, r1] + add r1, r1, #0x2 + ldrh r1, [r6, r1] + mov r2, #0x30 + bl sub_02079A54 + cmp r0, #0x4 + bhi _0207B2EC + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r4, r1, #0 + lsl r0, r1, #0 + lsl r0, r1, #0 + ldr r7, _0207B35C ; =0x0000A0C0 + b _0207B2EC +_0207B2E4: + .byte 0x1E, 0x4F, 0x01, 0xE0, 0xA1, 0x27, 0x3F, 0x02 +_0207B2EC: + mov r1, #0x9d + lsl r1, r1, #0x2 + ldrh r0, [r6, r1] + add r1, r1, #0x2 + ldrh r1, [r6, r1] + mov r2, #0x30 + bl sub_02079A0C + add r4, r0, #0x0 + add r0, r7, #0x0 + add r0, #0x8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r5, #0x0 + str r0, [sp, #0x10] +_0207B30A: + cmp r4, #0x8 + blo _0207B312 + ldr r2, [sp, #0x10] + b _0207B318 +_0207B312: + add r0, r7, r4 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_0207B318: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r3, r5, #0x0 + str r0, [sp, #0x8] + mov r0, #0x11 + add r3, #0x18 + str r0, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [r6, #0x0] + mov r1, #0x3 + lsr r3, r3, #0x18 + bl sub_02018540 + cmp r4, #0x8 + bhs _0207B33E + mov r4, #0x0 + b _0207B344 +_0207B33E: + sub r4, #0x8 + lsl r0, r4, #0x18 + lsr r4, r0, #0x18 +_0207B344: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x6 + blo _0207B30A + ldr r0, [r6, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x14 + pop {r4-r7, pc} + nop +_0207B35C: .word 0x0000A0C0 +_0207B360: + .byte 0xE0, 0xA0, 0x00, 0x00 + + thumb_func_start sub_0207B364 +sub_0207B364: ; 0x0207B364 + push {r3-r7, lr} + sub sp, #0x10 + ldr r2, _0207B3EC ; =0x00000262 + add r6, r0, #0x0 + ldrb r0, [r6, r2] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + cmp r0, #0x64 + bhs _0207B38C + add r0, r2, #0x0 + add r1, r2, #0x0 + add r0, #0xa + add r1, #0xe + add r2, r2, #0x6 + ldr r0, [r6, r0] + ldr r1, [r6, r1] + ldr r2, [r6, r2] + sub r1, r1, r0 + sub r0, r2, r0 + b _0207B390 +_0207B38C: + mov r1, #0x0 + add r0, r1, #0x0 +_0207B390: + mov r2, #0x38 + bl sub_02079A0C + add r4, r0, #0x0 + mov r5, #0x0 + mov r7, #0x17 +_0207B39C: + cmp r4, #0x8 + blo _0207B3A4 + mov r2, #0xb4 + b _0207B3AC +_0207B3A4: + add r0, r4, #0x0 + add r0, #0xac + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 +_0207B3AC: + str r7, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r3, r5, #0x0 + str r0, [sp, #0x8] + mov r0, #0x11 + add r3, #0x17 + str r0, [sp, #0xc] + lsl r3, r3, #0x18 + ldr r0, [r6, #0x0] + mov r1, #0x3 + lsr r3, r3, #0x18 + bl sub_02018540 + cmp r4, #0x8 + bhs _0207B3D0 + mov r4, #0x0 + b _0207B3D6 +_0207B3D0: + sub r4, #0x8 + lsl r0, r4, #0x18 + lsr r4, r0, #0x18 +_0207B3D6: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x7 + blo _0207B39C + ldr r0, [r6, #0x0] + mov r1, #0x3 + bl sub_0201AC68 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0207B3EC: .word 0x00000262 + + thumb_func_start sub_0207B3F0 +sub_0207B3F0: ; 0x0207B3F0 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207B4A4 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _0207B49C + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + strb r0, [r1, #0x14] + add r0, r4, #0x0 + bl sub_0207AAB0 + add r0, r4, #0x0 + bl sub_0207AF20 + add r0, r4, #0x0 + bl sub_0207D768 + add r0, r4, #0x0 + bl sub_0207D800 + add r0, r4, #0x0 + bl sub_0207D8A0 + ldr r0, _0207B4A0 ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x0 + bne _0207B436 + add r0, r4, #0x0 + bl sub_0207B364 + b _0207B44C +_0207B436: + cmp r0, #0x2 + bne _0207B442 + add r0, r4, #0x0 + bl sub_0207B2B0 + b _0207B44C +_0207B442: + cmp r0, #0x4 + bne _0207B44C + add r0, r4, #0x0 + bl sub_0207F608 +_0207B44C: + add r0, r4, #0x0 + bl sub_0207F934 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + add r0, r4, #0x0 + bl sub_0207C5D4 + add r0, r4, #0x0 + bl sub_0207C6A4 + add r0, r4, #0x0 + bl sub_0207CA44 + add r0, r4, #0x0 + bl sub_0207C838 + add r0, r4, #0x0 + bl sub_0207D2C8 + add r0, r4, #0x0 + bl sub_0207CFEC + add r0, r4, #0x0 + bl sub_0207C71C + add r0, r4, #0x0 + bl sub_0207C77C + add r0, r4, #0x0 + bl sub_0207CC24 + add r0, r4, #0x0 + bl sub_0207CE4C + add r0, r4, #0x0 + bl sub_0207DD88 +_0207B49C: + pop {r4, pc} + nop +_0207B4A0: .word 0x0000068C + + thumb_func_start sub_0207B4A4 +sub_0207B4A4: ; 0x0207B4A4 + push {r3, lr} + mov r2, #0x93 + lsl r2, r2, #0x2 + ldr r2, [r0, r2] + ldrb r2, [r2, #0x11] + cmp r2, #0x0 + beq _0207B4BC + cmp r2, #0x1 + beq _0207B4C2 + cmp r2, #0x2 + beq _0207B4C8 + b _0207B4CE +_0207B4BC: + bl sub_0207B4FC + pop {r3, pc} +_0207B4C2: + bl sub_0207B564 + pop {r3, pc} +_0207B4C8: + bl sub_0207B5C0 + pop {r3, pc} +_0207B4CE: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + + thumb_func_start sub_0207B4D4 +sub_0207B4D4: ; 0x0207B4D4 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r0, r1] + ldrb r1, [r1, #0x12] + cmp r1, #0x3 + bne _0207B4E4 + mov r0, #0x0 + bx lr +_0207B4E4: + ldr r1, _0207B4F8 ; =0x0000068C + ldrsb r0, [r0, r1] + cmp r0, #0x1 + beq _0207B4F4 + cmp r0, #0x7 + beq _0207B4F4 + mov r0, #0x0 + bx lr +_0207B4F4: + mov r0, #0x1 + bx lr + .balign 4 +_0207B4F8: .word 0x0000068C + + thumb_func_start sub_0207B4FC +sub_0207B4FC: ; 0x0207B4FC + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + str r1, [sp, #0x0] + ldr r1, [r5, r0] + mov r0, #0x14 + ldrsb r4, [r1, r0] +_0207B50C: + ldr r0, [sp, #0x0] + add r0, r4, r0 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + bmi _0207B522 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldrb r0, [r0, #0x13] + cmp r4, r0 + blt _0207B528 +_0207B522: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0207B528: + bl sub_020690C4 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + add r7, r4, #0x0 + ldr r6, [r1, #0x0] + mul r7, r0 + add r0, r6, r7 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207B50C + add r0, r6, r7 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207B55E + add r0, r5, #0x0 + bl sub_0207B4D4 + cmp r0, #0x1 + bne _0207B50C +_0207B55E: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207B564 +sub_0207B564: ; 0x0207B564 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + add r7, r1, #0x0 + ldr r1, [r5, r0] + mov r0, #0x14 + ldrsb r4, [r1, r0] +_0207B574: + add r0, r4, r7 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + bmi _0207B588 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r5, r0] + ldrb r0, [r1, #0x13] + cmp r4, r0 + blt _0207B58E +_0207B588: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0207B58E: + ldr r0, [r1, #0x0] + add r1, r4, #0x0 + bl sub_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207B574 + add r0, r6, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _0207B5BC + add r0, r5, #0x0 + bl sub_0207B4D4 + cmp r0, #0x1 + bne _0207B574 +_0207B5BC: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0207B5C0 +sub_0207B5C0: ; 0x0207B5C0 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + str r1, [sp, #0x0] + ldr r1, [r5, r0] + mov r0, #0x14 + ldrsb r4, [r1, r0] +_0207B5D0: + ldr r0, [sp, #0x0] + add r0, r4, r0 + lsl r0, r0, #0x18 + asr r4, r0, #0x18 + bmi _0207B5E6 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldrb r0, [r0, #0x13] + cmp r4, r0 + blt _0207B5EC +_0207B5E6: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_0207B5EC: + bl sub_020690C8 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + add r7, r4, #0x0 + ldr r6, [r1, #0x0] + mul r7, r0 + add r0, r6, r7 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0207B5D0 + add r0, r6, r7 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + beq _0207B622 + add r0, r5, #0x0 + bl sub_0207B4D4 + cmp r0, #0x1 + bne _0207B5D0 +_0207B622: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207B628 +sub_0207B628: ; 0x0207B628 + push {r4, lr} + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r4, [r0, r1] + ldrb r0, [r4, #0x11] + cmp r0, #0x0 + beq _0207B640 + cmp r0, #0x1 + beq _0207B64E + cmp r0, #0x2 + beq _0207B658 + b _0207B666 +_0207B640: + bl sub_020690C4 + ldrb r1, [r4, #0x14] + ldr r2, [r4, #0x0] + mul r0, r1 + add r0, r2, r0 + pop {r4, pc} +_0207B64E: + ldrb r1, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9B0 + pop {r4, pc} +_0207B658: + bl sub_020690C8 + ldrb r1, [r4, #0x14] + ldr r2, [r4, #0x0] + mul r0, r1 + add r0, r2, r0 + pop {r4, pc} +_0207B666: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207B66C +sub_0207B66C: ; 0x0207B66C + push {r4, lr} + ldr r1, _0207B774 ; =0x0000068E + add r4, r0, #0x0 + ldrb r1, [r4, r1] + cmp r1, #0x0 + beq _0207B682 + cmp r1, #0x1 + beq _0207B6E2 + cmp r1, #0x2 + beq _0207B70E + b _0207B76E +_0207B682: + ldr r0, [r4, #0x0] + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x88 + bl sub_0201AEE4 + ldr r0, [r4, #0x0] + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x0 + bl sub_0201AEE4 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207C6F0 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + add r0, #0x64 + bl sub_0201958C + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + ldr r1, _0207B778 ; =0x0000068D + mov r0, #0xf + ldrb r2, [r4, r1] + bic r2, r0 + strb r2, [r4, r1] + mov r2, #0x1 + add r0, r1, #0x1 + strb r2, [r4, r0] + b _0207B76E +_0207B6E2: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B48 + cmp r0, #0x40 + ldr r0, [r4, #0x0] + bgt _0207B702 + mov r2, #0x0 + mov r1, #0x2 + add r3, r2, #0x0 + bl sub_0201AEE4 + ldr r0, _0207B774 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207B76E +_0207B702: + mov r1, #0x2 + add r2, r1, #0x0 + mov r3, #0x40 + bl sub_0201AEE4 + b _0207B76E +_0207B70E: + bl sub_0207ECDC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x1 + beq _0207B732 + add r0, r4, #0x0 + mov r1, #0x98 + bl sub_0207D924 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC +_0207B732: + add r0, r4, #0x0 + bl sub_0207B8D8 + ldr r0, _0207B77C ; =0x00000434 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C + add r0, r4, #0x0 + bl sub_0207D06C + mov r0, #0x26 + lsl r0, r0, #0x4 + ldrb r1, [r4, r0] + add r0, r0, #0x1 + ldrb r0, [r4, r0] + cmp r1, r0 + beq _0207B760 + ldr r0, _0207B780 ; =0x00000438 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C +_0207B760: + ldr r0, _0207B784 ; =0x0000042C + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x1 + pop {r4, pc} +_0207B76E: + mov r0, #0x0 + pop {r4, pc} + nop +_0207B774: .word 0x0000068E +_0207B778: .word 0x0000068D +_0207B77C: .word 0x00000434 +_0207B780: .word 0x00000438 +_0207B784: .word 0x0000042C + + thumb_func_start sub_0207B788 +sub_0207B788: ; 0x0207B788 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207B864 ; =0x0000068E + ldrb r0, [r4, r0] + cmp r0, #0x0 + beq _0207B79E + cmp r0, #0x1 + beq _0207B7F8 + cmp r0, #0x2 + beq _0207B824 + b _0207B860 +_0207B79E: + ldr r0, _0207B868 ; =0x00000434 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C63C + ldr r0, _0207B86C ; =0x00000438 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C63C + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200C63C + ldr r0, _0207B870 ; =0x00000454 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C63C + ldr r0, _0207B874 ; =0x0000042C + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + add r0, r4, #0x0 + bl sub_0207ED18 + add r0, r4, #0x0 + bl sub_0207EC94 + ldr r0, _0207B864 ; =0x0000068E + mov r1, #0x1 + strb r1, [r4, r0] + b _0207B860 +_0207B7F8: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B48 + cmp r0, #0x80 + ldr r0, [r4, #0x0] + blt _0207B818 + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x88 + bl sub_0201AEE4 + ldr r0, _0207B864 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207B860 +_0207B818: + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x40 + bl sub_0201AEE4 + b _0207B860 +_0207B824: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0x64 + bl sub_02019220 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + add r0, r4, #0x0 + mov r1, #0x81 + bl sub_0207D924 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0207C6F0 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x1 + pop {r4, pc} +_0207B860: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0207B864: .word 0x0000068E +_0207B868: .word 0x00000434 +_0207B86C: .word 0x00000438 +_0207B870: .word 0x00000454 +_0207B874: .word 0x0000042C + + thumb_func_start sub_0207B878 +sub_0207B878: ; 0x0207B878 + push {r4-r7} + add r5, r0, #0x0 + ldr r0, _0207B8D4 ; =0x0000068D + mov r6, #0xa1 + ldrb r0, [r5, r0] + mov r2, #0x4 + lsl r6, r6, #0x2 + lsl r0, r0, #0x1c + lsr r4, r0, #0x1c + add r3, r4, #0x0 + mov r0, #0x0 +_0207B88E: + add r3, r3, r1 + lsl r3, r3, #0x18 + asr r3, r3, #0x18 + bpl _0207B89A + add r3, r2, #0x0 + b _0207B8A0 +_0207B89A: + cmp r3, #0x5 + bne _0207B8A0 + add r3, r0, #0x0 +_0207B8A0: + lsl r7, r3, #0x1 + add r7, r5, r7 + ldrh r7, [r7, r6] + cmp r7, #0x0 + bne _0207B8AE + cmp r3, #0x4 + bne _0207B88E +_0207B8AE: + cmp r3, r4 + beq _0207B8CC + ldr r2, _0207B8D4 ; =0x0000068D + mov r1, #0xf + ldrb r0, [r5, r2] + bic r0, r1 + lsl r1, r3, #0x18 + lsr r3, r1, #0x18 + mov r1, #0xf + and r1, r3 + orr r0, r1 + strb r0, [r5, r2] + mov r0, #0x1 + pop {r4-r7} + bx lr +_0207B8CC: + mov r0, #0x0 + pop {r4-r7} + bx lr + nop +_0207B8D4: .word 0x0000068D + + thumb_func_start sub_0207B8D8 +sub_0207B8D8: ; 0x0207B8D8 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207CBC0 + ldr r2, _0207B95C ; =0x0000068D + ldrb r0, [r4, r2] + lsl r0, r0, #0x1c + lsr r1, r0, #0x1c + cmp r1, #0x4 + bne _0207B930 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrh r1, [r0, #0x18] + cmp r1, #0x0 + beq _0207B910 + sub r0, r2, #0x1 + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207B908 + add r0, r4, #0x0 + bl sub_0207B960 + pop {r4, pc} +_0207B908: + add r0, r4, #0x0 + bl sub_0207B99C + pop {r4, pc} +_0207B910: + sub r0, r2, #0x1 + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207B924 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + bl sub_0207B960 + pop {r4, pc} +_0207B924: + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + bl sub_0207B99C + pop {r4, pc} +_0207B930: + sub r0, r2, #0x1 + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207B94A + lsl r1, r1, #0x1 + add r2, r4, r1 + mov r1, #0xa1 + lsl r1, r1, #0x2 + ldrh r1, [r2, r1] + add r0, r4, #0x0 + bl sub_0207B960 + pop {r4, pc} +_0207B94A: + lsl r1, r1, #0x1 + add r2, r4, r1 + mov r1, #0xa1 + lsl r1, r1, #0x2 + ldrh r1, [r2, r1] + add r0, r4, #0x0 + bl sub_0207B99C + pop {r4, pc} + .balign 4 +_0207B95C: .word 0x0000068D + + thumb_func_start sub_0207B960 +sub_0207B960: ; 0x0207B960 + push {r3-r5, lr} + mov r2, #0x0 + add r4, r1, #0x0 + mvn r2, r2 + add r5, r0, #0x0 + cmp r4, r2 + bne _0207B980 + bl sub_0207EC94 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_0200C63C + pop {r3-r5, pc} +_0207B980: + bl sub_0207EB64 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207CB70 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_0200C63C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0207B99C +sub_0207B99C: ; 0x0207B99C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0207BD84 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + bne _0207B9B6 + add r0, r5, #0x0 + bl sub_0207EEB0 + pop {r3-r5, pc} +_0207B9B6: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207EE2C + pop {r3-r5, pc} + + thumb_func_start sub_0207B9C0 +sub_0207B9C0: ; 0x0207B9C0 + push {r3-r7, lr} + add r4, r0, #0x0 + bl sub_0207B628 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldrb r1, [r1, #0x11] + cmp r1, #0x2 + ldr r1, _0207BA70 ; =0x0000068D + bne _0207B9E6 + ldrb r2, [r4, r1] + lsl r1, r2, #0x1c + lsl r2, r2, #0x18 + lsr r1, r1, #0x1c + lsr r2, r2, #0x1c + bl sub_020698E8 + b _0207B9F4 +_0207B9E6: + ldrb r2, [r4, r1] + lsl r1, r2, #0x1c + lsl r2, r2, #0x18 + lsr r1, r1, #0x1c + lsr r2, r2, #0x1c + bl sub_020698E0 +_0207B9F4: + ldr r0, _0207BA70 ; =0x0000068D + mov r1, #0xa1 + ldrb r6, [r4, r0] + lsl r1, r1, #0x2 + add r5, r4, r1 + lsl r2, r6, #0x1c + lsl r6, r6, #0x18 + lsr r6, r6, #0x1c + lsl r6, r6, #0x1 + lsr r3, r2, #0x1b + add r6, r4, r6 + ldrh r2, [r5, r3] + ldrh r6, [r6, r1] + strh r6, [r5, r3] + ldrb r3, [r4, r0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x1c + lsl r3, r3, #0x1 + add r3, r4, r3 + strh r2, [r3, r1] + add r2, r1, #0x0 + add r2, #0x8 + ldrb r6, [r4, r0] + add r5, r4, r2 + lsl r2, r6, #0x1c + lsl r6, r6, #0x18 + lsr r6, r6, #0x1c + add r7, r4, r6 + add r6, r1, #0x0 + lsr r3, r2, #0x1c + add r6, #0x8 + ldrb r2, [r5, r3] + ldrb r6, [r7, r6] + strb r6, [r5, r3] + ldrb r3, [r4, r0] + lsl r3, r3, #0x18 + lsr r3, r3, #0x1c + add r5, r4, r3 + add r3, r1, #0x0 + add r3, #0x8 + strb r2, [r5, r3] + add r2, r1, #0x0 + add r2, #0xc + ldrb r6, [r4, r0] + add r5, r4, r2 + lsl r2, r6, #0x1c + lsl r6, r6, #0x18 + lsr r6, r6, #0x1c + add r7, r4, r6 + add r6, r1, #0x0 + lsr r3, r2, #0x1c + add r6, #0xc + ldrb r2, [r5, r3] + ldrb r6, [r7, r6] + add r1, #0xc + strb r6, [r5, r3] + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + add r0, r4, r0 + strb r2, [r0, r1] + pop {r3-r7, pc} + .balign 4 +_0207BA70: .word 0x0000068D + + thumb_func_start sub_0207BA74 +sub_0207BA74: ; 0x0207BA74 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + add r0, #0x64 + bl sub_0201958C + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r2, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x2 + add r3, r2, #0x0 + bl sub_0201AEE4 + add r0, r4, #0x0 + bl sub_0207ECDC + add r0, r4, #0x0 + bl sub_0207B8D8 + ldr r0, _0207BAE0 ; =0x00000434 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C + add r0, r4, #0x0 + bl sub_0207D06C + mov r0, #0x26 + lsl r0, r0, #0x4 + ldrb r1, [r4, r0] + add r0, r0, #0x1 + ldrb r0, [r4, r0] + cmp r1, r0 + beq _0207BAD4 + ldr r0, _0207BAE4 ; =0x00000438 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C +_0207BAD4: + ldr r0, _0207BAE8 ; =0x0000042C + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} + .balign 4 +_0207BAE0: .word 0x00000434 +_0207BAE4: .word 0x00000438 +_0207BAE8: .word 0x0000042C + + thumb_func_start sub_0207BAEC +sub_0207BAEC: ; 0x0207BAEC + push {r4, lr} + ldr r1, _0207BBE4 ; =0x0000068E + add r4, r0, #0x0 + ldrb r1, [r4, r1] + cmp r1, #0x0 + beq _0207BB02 + cmp r1, #0x1 + beq _0207BB6E + cmp r1, #0x2 + beq _0207BB9A + b _0207BBDE +_0207BB02: + ldr r0, [r4, #0x0] + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x88 + bl sub_0201AEE4 + mov r2, #0x3 + add r3, r2, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x2 + add r3, #0xfd + bl sub_0201AEE4 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + bl sub_0207BD84 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207C6F0 + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + add r0, #0x64 + bl sub_0201958C + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + ldr r1, _0207BBE8 ; =0x0000068D + mov r0, #0xf + ldrb r2, [r4, r1] + bic r2, r0 + strb r2, [r4, r1] + mov r2, #0x1 + add r0, r1, #0x1 + strb r2, [r4, r0] + b _0207BBDE +_0207BB6E: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B48 + cmp r0, #0x40 + ldr r0, [r4, #0x0] + bgt _0207BB8E + mov r2, #0x0 + mov r1, #0x2 + add r3, r2, #0x0 + bl sub_0201AEE4 + ldr r0, _0207BBE4 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207BBDE +_0207BB8E: + mov r1, #0x2 + add r2, r1, #0x0 + mov r3, #0x40 + bl sub_0201AEE4 + b _0207BBDE +_0207BB9A: + bl sub_0207ECDC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x1 + beq _0207BBBE + add r0, r4, #0x0 + mov r1, #0x98 + bl sub_0207D924 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC +_0207BBBE: + add r0, r4, #0x0 + bl sub_0207B8D8 + add r0, r4, #0x0 + bl sub_0207D06C + add r0, r4, #0x0 + bl sub_0207D10C + ldr r0, _0207BBEC ; =0x0000042C + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x1 + pop {r4, pc} +_0207BBDE: + mov r0, #0x0 + pop {r4, pc} + nop +_0207BBE4: .word 0x0000068E +_0207BBE8: .word 0x0000068D +_0207BBEC: .word 0x0000042C + + thumb_func_start sub_0207BBF0 +sub_0207BBF0: ; 0x0207BBF0 + push {r4, lr} + ldr r1, _0207BCBC ; =0x0000068E + add r4, r0, #0x0 + ldrb r1, [r4, r1] + cmp r1, #0x0 + beq _0207BC06 + cmp r1, #0x1 + beq _0207BC4E + cmp r1, #0x2 + beq _0207BC7A + b _0207BCB6 +_0207BC06: + bl sub_0207D22C + ldr r0, _0207BCC0 ; =0x00000454 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_0200C63C + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + bl sub_0207BD84 + ldr r0, _0207BCC4 ; =0x0000042C + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + add r0, r4, #0x0 + bl sub_0207ED18 + add r0, r4, #0x0 + bl sub_0207EEB0 + ldr r0, _0207BCBC ; =0x0000068E + mov r1, #0x1 + strb r1, [r4, r0] + b _0207BCB6 +_0207BC4E: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B48 + cmp r0, #0x80 + ldr r0, [r4, #0x0] + blt _0207BC6E + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x88 + bl sub_0201AEE4 + ldr r0, _0207BCBC ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207BCB6 +_0207BC6E: + mov r1, #0x2 + mov r2, #0x1 + mov r3, #0x40 + bl sub_0201AEE4 + b _0207BCB6 +_0207BC7A: + mov r0, #0x85 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0x64 + bl sub_02019220 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + add r0, r4, #0x0 + mov r1, #0x9e + bl sub_0207D924 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0207C6F0 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x1 + pop {r4, pc} +_0207BCB6: + mov r0, #0x0 + pop {r4, pc} + nop +_0207BCBC: .word 0x0000068E +_0207BCC0: .word 0x00000454 +_0207BCC4: .word 0x0000042C + + thumb_func_start sub_0207BCC8 +sub_0207BCC8: ; 0x0207BCC8 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x2f + str r0, [sp, #0x0] + mov r0, #0x1 + lsl r6, r2, #0x1 + add r4, r1, #0x0 + str r0, [sp, #0x4] + add r7, r6, #0x2 + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + lsl r3, r7, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + add r2, r4, #0x0 + lsr r3, r3, #0x18 + bl sub_02018540 + mov r0, #0x2f + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r6, r6, #0x3 + str r0, [sp, #0x8] + mov r0, #0x10 + add r2, r4, #0x1 + str r0, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r6, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + mov r0, #0x30 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r2, r4, #0x0 + str r0, [sp, #0x8] + mov r0, #0x10 + add r2, #0x20 + str r0, [sp, #0xc] + lsl r2, r2, #0x10 + lsl r3, r7, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + mov r0, #0x30 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x10 + add r4, #0x21 + str r0, [sp, #0xc] + lsl r2, r4, #0x10 + lsl r3, r6, #0x18 + ldr r0, [r5, #0x0] + mov r1, #0x2 + lsr r2, r2, #0x10 + lsr r3, r3, #0x18 + bl sub_02018540 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_0207BD58 +sub_0207BD58: ; 0x0207BD58 + push {r4-r6, lr} + ldr r6, _0207BD80 ; =0x0000012E + add r5, r0, #0x0 + mov r4, #0x0 +_0207BD60: + lsl r2, r4, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl sub_0207BCC8 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x6 + blo _0207BD60 + ldr r0, [r5, #0x0] + mov r1, #0x2 + bl sub_0201AC68 + pop {r4-r6, pc} + .balign 4 +_0207BD80: .word 0x0000012E + + thumb_func_start sub_0207BD84 +sub_0207BD84: ; 0x0207BD84 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0207BD58 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0207BDCC + add r0, r4, #0x0 + mov r1, #0xa + bl sub_0206AB18 + bl sub_02083114 + mov r1, #0xa + blx sub_020EBC80 + lsl r0, r0, #0x18 + asr r6, r0, #0x18 + mov r4, #0x0 + cmp r6, #0x0 + ble _0207BDCC + mov r7, #0x4b + lsl r7, r7, #0x2 +_0207BDB6: + lsl r2, r4, #0x18 + add r0, r5, #0x0 + add r1, r7, #0x0 + lsr r2, r2, #0x18 + bl sub_0207BCC8 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r6 + blt _0207BDB6 +_0207BDCC: + ldr r0, [r5, #0x0] + mov r1, #0x2 + bl sub_0201AC68 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207BDD8 +sub_0207BDD8: ; 0x0207BDD8 + push {r3, lr} + ldr r1, _0207BDF0 ; =0x0000068C + ldrsb r1, [r0, r1] + cmp r1, #0x3 + bne _0207BDE8 + bl sub_0207EC94 + pop {r3, pc} +_0207BDE8: + bl sub_0207EEB0 + pop {r3, pc} + nop +_0207BDF0: .word 0x0000068C + + thumb_func_start sub_0207BDF4 +sub_0207BDF4: ; 0x0207BDF4 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0207ECDC + add r0, r4, #0x0 + bl sub_0207B8D8 + add r0, r4, #0x0 + bl sub_0207D06C + ldr r0, _0207BE5C ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x3 + bne _0207BE46 + add r0, r4, #0x0 + bl sub_0207D22C + ldr r0, _0207BE60 ; =0x00000434 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C + mov r0, #0x26 + lsl r0, r0, #0x4 + ldrb r1, [r4, r0] + add r0, r0, #0x1 + ldrb r0, [r4, r0] + cmp r1, r0 + beq _0207BE38 + ldr r0, _0207BE64 ; =0x00000438 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C +_0207BE38: + ldr r0, [r4, #0x0] + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x0 + bl sub_0201AEE4 + pop {r4, pc} +_0207BE46: + add r0, r4, #0x0 + bl sub_0207D10C + mov r2, #0x3 + add r3, r2, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x2 + add r3, #0xfd + bl sub_0201AEE4 + pop {r4, pc} + .balign 4 +_0207BE5C: .word 0x0000068C +_0207BE60: .word 0x00000434 +_0207BE64: .word 0x00000438 + + thumb_func_start sub_0207BE68 +sub_0207BE68: ; 0x0207BE68 + push {r4, lr} + ldr r1, _0207BF78 ; =0x0000068E + add r4, r0, #0x0 + ldrb r1, [r4, r1] + cmp r1, #0x0 + beq _0207BE7E + cmp r1, #0x1 + beq _0207BEEA + cmp r1, #0x2 + beq _0207BF16 + b _0207BF74 +_0207BE7E: + mov r1, #0x2 + add r3, r1, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x0 + add r3, #0xfe + bl sub_0201AEE4 + ldr r0, [r4, #0x0] + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x0 + bl sub_0201AEE4 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207C6F0 + add r0, r4, #0x0 + add r0, #0x64 + bl sub_0201958C + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x79 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + ldr r1, _0207BF7C ; =0x00000697 + mov r2, #0x0 + strb r2, [r4, r1] + add r0, r1, #0x1 + strb r2, [r4, r0] + mov r0, #0x1 + sub r1, #0x9 + strb r0, [r4, r1] + b _0207BF74 +_0207BEEA: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B54 + cmp r0, #0x30 + ldr r0, [r4, #0x0] + blt _0207BF0A + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x38 + bl sub_0201AEE4 + ldr r0, _0207BF78 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207BF74 +_0207BF0A: + mov r1, #0x2 + mov r2, #0x4 + mov r3, #0x10 + bl sub_0201AEE4 + b _0207BF74 +_0207BF16: + mov r1, #0xb5 + bl sub_0207D924 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + ldr r0, _0207BF80 ; =0x00000514 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x52 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + ldr r0, _0207BF84 ; =0x00000504 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207BF88 ; =0x00000508 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207BF8C ; =0x0000050C + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x51 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207C07C + mov r0, #0x1 + pop {r4, pc} +_0207BF74: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0207BF78: .word 0x0000068E +_0207BF7C: .word 0x00000697 +_0207BF80: .word 0x00000514 +_0207BF84: .word 0x00000504 +_0207BF88: .word 0x00000508 +_0207BF8C: .word 0x0000050C + + thumb_func_start sub_0207BF90 +sub_0207BF90: ; 0x0207BF90 + push {r4, lr} + ldr r1, _0207C078 ; =0x0000068E + add r4, r0, #0x0 + ldrb r0, [r4, r1] + cmp r0, #0x0 + beq _0207BFA6 + cmp r0, #0x1 + beq _0207BFF6 + cmp r0, #0x2 + beq _0207C022 + b _0207C072 +_0207BFA6: + add r0, r1, #0x0 + mov r2, #0x0 + add r0, #0x9 + strb r2, [r4, r0] + add r1, #0xa + mov r0, #0x91 + strb r2, [r4, r1] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_0201958C + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207CFAC + add r0, r4, #0x0 + bl sub_0207D2C8 + ldr r0, _0207C078 ; =0x0000068E + mov r1, #0x1 + strb r1, [r4, r0] + b _0207C072 +_0207BFF6: + ldr r0, [r4, #0x0] + mov r1, #0x2 + bl sub_02017B54 + cmp r0, #0x8 + ldr r0, [r4, #0x0] + bgt _0207C016 + mov r1, #0x2 + mov r2, #0x3 + mov r3, #0x0 + bl sub_0201AEE4 + ldr r0, _0207C078 ; =0x0000068E + mov r1, #0x2 + strb r1, [r4, r0] + b _0207C072 +_0207C016: + mov r1, #0x2 + mov r2, #0x5 + mov r3, #0x10 + bl sub_0201AEE4 + b _0207C072 +_0207C022: + add r0, r4, #0x0 + add r0, #0x64 + bl sub_02019220 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x79 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + add r0, r4, #0x0 + mov r1, #0xb4 + bl sub_0207D924 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0207C6F0 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x1 + pop {r4, pc} +_0207C072: + mov r0, #0x0 + pop {r4, pc} + nop +_0207C078: .word 0x0000068E + + thumb_func_start sub_0207C07C +sub_0207C07C: ; 0x0207C07C + push {r4-r6, lr} + ldr r2, _0207C1D0 ; =0x00000697 + add r5, r0, #0x0 + add r3, r2, #0x1 + ldrb r0, [r5, r2] + ldrb r4, [r5, r3] + cmp r1, #0x1 + bne _0207C0A8 + mov r1, #0x3 + and r1, r0 + cmp r1, #0x3 + beq _0207C0B6 + lsl r1, r4, #0x2 + add r1, r0, r1 + add r3, r1, #0x1 + add r1, r2, #0x2 + ldrb r1, [r5, r1] + cmp r3, r1 + bge _0207C14A + add r1, r0, #0x1 + strb r1, [r5, r2] + b _0207C14A +_0207C0A8: + mov r3, #0x0 + mvn r3, r3 + cmp r1, r3 + bne _0207C0BE + mov r1, #0x3 + tst r1, r0 + bne _0207C0B8 +_0207C0B6: + b _0207C1CE +_0207C0B8: + sub r1, r0, #0x1 + strb r1, [r5, r2] + b _0207C14A +_0207C0BE: + cmp r1, #0x4 + bne _0207C12C + cmp r0, #0x4 + bhs _0207C0F2 + add r1, r2, #0x2 + ldrb r3, [r5, r1] + lsl r1, r4, #0x2 + add r1, r0, r1 + add r1, r1, #0x4 + cmp r1, r3 + blt _0207C0EC + cmp r3, #0x4 + bls _0207C14A + lsr r1, r3, #0x1f + lsl r6, r3, #0x1e + sub r6, r6, r1 + mov r3, #0x1e + ror r6, r3 + add r1, r1, r6 + beq _0207C14A + add r1, r1, #0x3 + strb r1, [r5, r2] + b _0207C14A +_0207C0EC: + add r1, r0, #0x4 + strb r1, [r5, r2] + b _0207C14A +_0207C0F2: + add r1, r2, #0x2 + ldrb r1, [r5, r1] + lsl r3, r4, #0x2 + add r3, #0x8 + cmp r3, r1 + bge _0207C14A + add r1, r2, #0x1 + ldrb r1, [r5, r1] + add r6, r2, #0x1 + add r3, r1, #0x1 + add r1, r2, #0x1 + strb r3, [r5, r1] + add r1, r2, #0x2 + ldrb r6, [r5, r6] + ldrb r3, [r5, r1] + ldrb r1, [r5, r2] + lsl r6, r6, #0x2 + add r1, r1, r6 + cmp r1, r3 + blt _0207C14A + lsr r1, r3, #0x1f + lsl r6, r3, #0x1e + sub r6, r6, r1 + mov r3, #0x1e + ror r6, r3 + add r1, r1, r6 + add r1, r1, #0x3 + strb r1, [r5, r2] + b _0207C14A +_0207C12C: + sub r3, r3, #0x3 + cmp r1, r3 + bne _0207C14A + cmp r0, #0x4 + blo _0207C13C + sub r1, r0, #0x4 + strb r1, [r5, r2] + b _0207C14A +_0207C13C: + cmp r4, #0x0 + beq _0207C14A + add r1, r2, #0x1 + ldrb r1, [r5, r1] + sub r3, r1, #0x1 + add r1, r2, #0x1 + strb r3, [r5, r1] +_0207C14A: + ldr r1, _0207C1D0 ; =0x00000697 + ldrb r2, [r5, r1] + cmp r0, r2 + bne _0207C15A + add r0, r1, #0x1 + ldrb r0, [r5, r0] + cmp r4, r0 + beq _0207C160 +_0207C15A: + ldr r0, _0207C1D4 ; =0x000005DC + bl sub_020054C8 +_0207C160: + ldr r1, _0207C1D0 ; =0x00000697 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + bl sub_0207C1E8 + ldr r1, _0207C1D8 ; =0x0000069A + strb r0, [r5, r1] + add r0, r5, #0x0 + bl sub_0207D3C4 + ldr r0, _0207C1DC ; =0x00000698 + ldrb r0, [r5, r0] + cmp r4, r0 + beq _0207C182 + add r0, r5, #0x0 + bl sub_0207D364 +_0207C182: + add r0, r5, #0x0 + bl sub_0207E9A0 + add r0, r5, #0x0 + bl sub_0207E840 + ldr r0, _0207C1DC ; =0x00000698 + ldrb r0, [r5, r0] + cmp r0, #0x0 + ldr r0, _0207C1E0 ; =0x00000518 + beq _0207C1A2 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + b _0207C1AA +_0207C1A2: + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 +_0207C1AA: + ldr r0, _0207C1DC ; =0x00000698 + ldrb r1, [r5, r0] + add r0, r0, #0x1 + ldrb r0, [r5, r0] + lsl r1, r1, #0x2 + add r1, #0x8 + cmp r1, r0 + ldr r0, _0207C1E4 ; =0x0000051C + bge _0207C1C6 + ldr r0, [r5, r0] + mov r1, #0x1 + bl sub_020200A0 + pop {r4-r6, pc} +_0207C1C6: + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 +_0207C1CE: + pop {r4-r6, pc} + .balign 4 +_0207C1D0: .word 0x00000697 +_0207C1D4: .word 0x000005DC +_0207C1D8: .word 0x0000069A +_0207C1DC: .word 0x00000698 +_0207C1E0: .word 0x00000518 +_0207C1E4: .word 0x0000051C + + thumb_func_start sub_0207C1E8 +sub_0207C1E8: ; 0x0207C1E8 + push {r4-r7} + ldr r2, _0207C238 ; =0x00000698 + mov r6, #0x0 + ldrb r2, [r0, r2] + add r4, r6, #0x0 + lsl r2, r2, #0x2 + add r1, r1, r2 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + mov r1, #0xa9 + mov r2, #0x1 + lsl r1, r1, #0x2 +_0207C200: + mov r3, #0x1f + add r7, r4, #0x0 + and r7, r3 + add r3, r2, #0x0 + lsl r3, r7 + lsr r7, r4, #0x5 + lsl r7, r7, #0x2 + add r7, r0, r7 + ldr r7, [r7, r1] + tst r3, r7 + beq _0207C228 + cmp r5, r6 + bne _0207C222 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + pop {r4-r7} + bx lr +_0207C222: + add r3, r6, #0x1 + lsl r3, r3, #0x18 + lsr r6, r3, #0x18 +_0207C228: + add r3, r4, #0x1 + lsl r3, r3, #0x10 + lsr r4, r3, #0x10 + cmp r4, #0x50 + blo _0207C200 + mov r0, #0x0 + pop {r4-r7} + bx lr + .balign 4 +_0207C238: .word 0x00000698 + + thumb_func_start sub_0207C23C +sub_0207C23C: ; 0x0207C23C + push {r4, lr} + sub sp, #0x8 + ldr r1, _0207C29C ; =0x0000029A + add r4, r0, #0x0 + ldrb r0, [r4, r1] + cmp r0, #0xff + bne _0207C28E + mov r0, #0x0 + sub r1, #0xda + mov r2, #0x13 + bl sub_02002EEC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r0, [r0, #0x4] + bl sub_02025084 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + mov r0, #0x13 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + ldr r2, _0207C2A0 ; =0x000003E2 + mov r1, #0x1 + mov r3, #0xd + bl sub_0200CD68 + add r0, r4, #0x0 + mov r1, #0xff + bl sub_0207EECC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + strb r1, [r0, #0x17] + add sp, #0x8 + mov r0, #0x11 + pop {r4, pc} +_0207C28E: + sub r1, #0x4e + ldr r0, [r4, r1] + mov r2, #0x0 + strb r2, [r0, #0x17] + mov r0, #0x12 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_0207C29C: .word 0x0000029A +_0207C2A0: .word 0x000003E2 + + thumb_func_start sub_0207C2A4 +sub_0207C2A4: ; 0x0207C2A4 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl sub_0202398C + str r0, [r5, #0x8] + add r0, r4, #0x0 + bl sub_020239BC + str r0, [r5, #0xc] + add r0, r4, #0x0 + bl sub_020239CC + strb r0, [r5, #0x10] + pop {r3-r5, pc} + + thumb_func_start sub_0207C2C4 +sub_0207C2C4: ; 0x0207C2C4 + mov r0, #0x40 + bx lr + + thumb_func_start sub_0207C2C8 +sub_0207C2C8: ; 0x0207C2C8 + mov r0, #0x41 + bx lr + + thumb_func_start sub_0207C2CC +sub_0207C2CC: ; 0x0207C2CC + mov r0, #0x3f + bx lr + + thumb_func_start sub_0207C2D0 +sub_0207C2D0: ; 0x0207C2D0 + mov r0, #0x3e + bx lr + + thumb_func_start sub_0207C2D4 +sub_0207C2D4: ; 0x0207C2D4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r1, #0x9f + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _0207C2F4 + mov r0, #0x6 + pop {r3-r5, pc} +_0207C2F4: + mov r0, #0x88 + tst r0, r4 + beq _0207C2FE + mov r0, #0x4 + pop {r3-r5, pc} +_0207C2FE: + mov r0, #0x7 + add r1, r4, #0x0 + tst r1, r0 + beq _0207C30A + mov r0, #0x3 + pop {r3-r5, pc} +_0207C30A: + mov r1, #0x10 + tst r1, r4 + beq _0207C314 + mov r0, #0x5 + pop {r3-r5, pc} +_0207C314: + mov r1, #0x20 + tst r1, r4 + beq _0207C31E + mov r0, #0x2 + pop {r3-r5, pc} +_0207C31E: + mov r1, #0x40 + tst r1, r4 + beq _0207C326 + mov r0, #0x1 +_0207C326: + pop {r3-r5, pc} + + thumb_func_start sub_0207C328 +sub_0207C328: ; 0x0207C328 + push {r3-r7, lr} + sub sp, #0x50 + add r4, r0, #0x0 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E74C + mov r0, #0x20 + mov r1, #0x13 + bl sub_0201C24C + mov r0, #0x13 + bl sub_0200BB14 + mov r1, #0x1 + lsl r1, r1, #0xa + str r0, [r4, r1] + ldr r0, [r4, r1] + bl sub_0200BB34 + ldr r7, _0207C3C4 ; =0x00000404 + add r2, sp, #0x30 + ldr r3, _0207C3C8 ; =0x020FA73C + str r0, [r4, r7] + ldmia r3!, {r0-r1} + add r6, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + ldr r5, _0207C3CC ; =0x020FA70C + stmia r2!, {r0-r1} + add r3, sp, #0x1c + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + str r0, [r3, #0x0] + sub r0, r7, #0x4 + ldr r0, [r4, r0] + mov r3, #0x20 + bl sub_0200BB6C + sub r1, r7, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + mov r2, #0x4d + bl sub_0200BBF0 + ldr r5, _0207C3D0 ; =0x020FA720 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + sub r1, r7, #0x4 + str r0, [r3, #0x0] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + bl sub_0200BD20 + add sp, #0x50 + pop {r3-r7, pc} + .balign 4 +_0207C3C4: .word 0x00000404 +_0207C3C8: .word 0x020FA73C +_0207C3CC: .word 0x020FA70C +_0207C3D0: .word 0x020FA720 + + thumb_func_start sub_0207C3D4 +sub_0207C3D4: ; 0x0207C3D4 + push {r4, lr} + mov r1, #0x1 + add r4, r0, #0x0 + lsl r1, r1, #0xa + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + bl sub_0200BCE0 + mov r0, #0x1 + lsl r0, r0, #0xa + ldr r0, [r4, r0] + bl sub_0200BD04 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207C3F4 +sub_0207C3F4: ; 0x0207C3F4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207C438 ; =0x0000045C + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + mov r0, #0x46 + lsl r0, r0, #0x4 + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, _0207C43C ; =0x000004AC + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, _0207C440 ; =0x00000518 + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, _0207C444 ; =0x0000051C + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + pop {r4, pc} + .balign 4 +_0207C438: .word 0x0000045C +_0207C43C: .word 0x000004AC +_0207C440: .word 0x00000518 +_0207C444: .word 0x0000051C + + thumb_func_start sub_0207C448 +sub_0207C448: ; 0x0207C448 + push {r3-r7, lr} + ldr r6, _0207C550 ; =0x020FA784 + ldr r7, _0207C554 ; =0x00000408 + add r5, r0, #0x0 + mov r4, #0x0 +_0207C452: + mov r0, #0x1 + ldr r1, _0207C558 ; =0x00000404 + lsl r0, r0, #0xa + mov r2, #0x28 + mul r2, r4 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + add r2, r6, r2 + bl sub_0200BE38 + lsl r1, r4, #0x2 + add r1, r5, r1 + str r0, [r1, r7] + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4d + blo _0207C452 + add r0, r5, #0x0 + bl sub_0207C7EC + ldr r0, _0207C55C ; =0x0000042C + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x43 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C560 ; =0x000004AC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x4b + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C564 ; =0x000004B4 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C568 ; =0x000004B8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C56C ; =0x000004BC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x13 + lsl r0, r0, #0x6 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C570 ; =0x000004C4 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C574 ; =0x000004C8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C578 ; =0x000004CC + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x4d + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C57C ; =0x000004D4 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C580 ; =0x000004D8 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C584 ; =0x00000524 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C588 ; =0x00000528 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C58C ; =0x0000052C + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x53 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C590 ; =0x00000534 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + ldr r0, _0207C594 ; =0x00000538 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + pop {r3-r7, pc} + .balign 4 +_0207C550: .word 0x020FA784 +_0207C554: .word 0x00000408 +_0207C558: .word 0x00000404 +_0207C55C: .word 0x0000042C +_0207C560: .word 0x000004AC +_0207C564: .word 0x000004B4 +_0207C568: .word 0x000004B8 +_0207C56C: .word 0x000004BC +_0207C570: .word 0x000004C4 +_0207C574: .word 0x000004C8 +_0207C578: .word 0x000004CC +_0207C57C: .word 0x000004D4 +_0207C580: .word 0x000004D8 +_0207C584: .word 0x00000524 +_0207C588: .word 0x00000528 +_0207C58C: .word 0x0000052C +_0207C590: .word 0x00000534 +_0207C594: .word 0x00000538 + + thumb_func_start sub_0207C598 +sub_0207C598: ; 0x0207C598 + push {r4-r6, lr} + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 +_0207C5A0: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0207B070 + cmp r0, #0x0 + beq _0207C5B2 + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_0207C5B2: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x8 + blo _0207C5A0 + sub r0, r5, #0x1 + lsl r1, r0, #0x4 + add r1, #0x18 + lsr r0, r1, #0x1f + add r0, r1, r0 + asr r1, r0, #0x1 + mov r0, #0xbc + sub r0, r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0207C5D4 +sub_0207C5D4: ; 0x0207C5D4 + push {r3-r7, lr} + sub sp, #0x10 + add r7, r0, #0x0 + bl sub_0207C598 + str r0, [sp, #0x4] + ldr r0, _0207C69C ; =0x00000408 + mov r5, #0x0 + add r4, r7, r0 + ldr r0, [sp, #0x4] + str r5, [sp, #0x8] + str r0, [sp, #0x0] + add r0, #0x18 + str r0, [sp, #0x0] +_0207C5F0: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl sub_0207B070 + cmp r0, #0x0 + bne _0207C608 + lsl r0, r5, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + b _0207C68E +_0207C608: + lsl r6, r5, #0x2 + ldr r0, [r4, r6] + bl sub_020201DC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + ldr r0, _0207C6A0 ; =0x0000068C + ldrsb r0, [r7, r0] + cmp r0, r5 + bne _0207C62A + cmp r1, #0x8 + bhs _0207C636 + ldr r0, [r4, r6] + add r1, #0x8 + bl sub_02020130 + b _0207C636 +_0207C62A: + cmp r1, #0x8 + blo _0207C636 + ldr r0, [r4, r6] + sub r1, #0x8 + bl sub_02020130 +_0207C636: + add r1, sp, #0xc + ldr r0, [r4, r6] + add r1, #0x2 + add r2, sp, #0xc + bl sub_0200C75C + ldr r0, _0207C6A0 ; =0x0000068C + ldrsb r0, [r7, r0] + cmp r0, r5 + blt _0207C652 + ldr r0, [sp, #0x8] + lsl r1, r0, #0x4 + ldr r0, [sp, #0x4] + b _0207C65A +_0207C652: + ldr r0, [sp, #0x8] + sub r0, r0, #0x1 + lsl r1, r0, #0x4 + ldr r0, [sp, #0x0] +_0207C65A: + add r0, r0, r1 + lsl r0, r0, #0x10 + asr r1, r0, #0x10 + add r0, sp, #0xc + strh r1, [r0, #0x2] + lsl r0, r5, #0x2 + add r1, r7, r0 + ldr r0, _0207C69C ; =0x00000408 + add r2, sp, #0xc + ldr r0, [r1, r0] + mov r1, #0x2 + ldrsh r1, [r2, r1] + add r3, r2, #0x0 + mov r2, #0x0 + ldrsh r2, [r3, r2] + bl sub_0200C6E4 + ldr r0, [r4, r6] + mov r1, #0x1 + bl sub_020200A0 + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] +_0207C68E: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0207C5F0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0207C69C: .word 0x00000408 +_0207C6A0: .word 0x0000068C + + thumb_func_start sub_0207C6A4 +sub_0207C6A4: ; 0x0207C6A4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0207B09C + cmp r0, #0x1 + bhi _0207C6B8 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0207C6F0 +_0207C6B8: + add r0, r5, #0x0 + bl sub_0207C598 + add r4, r0, #0x0 + ldr r0, _0207C6EC ; =0x0000045C + add r1, r4, #0x0 + sub r1, #0xc + lsl r1, r1, #0x10 + ldr r0, [r5, r0] + asr r1, r1, #0x10 + mov r2, #0x18 + bl sub_0200C6E4 + mov r1, #0x5d + mov r0, #0x46 + lsl r1, r1, #0x2 + lsl r0, r0, #0x4 + sub r1, r1, r4 + lsl r1, r1, #0x10 + ldr r0, [r5, r0] + asr r1, r1, #0x10 + mov r2, #0x18 + bl sub_0200C6E4 + pop {r3-r5, pc} + nop +_0207C6EC: .word 0x0000045C + + thumb_func_start sub_0207C6F0 +sub_0207C6F0: ; 0x0207C6F0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0207B09C + cmp r0, #0x1 + bhi _0207C700 + mov r4, #0x0 +_0207C700: + ldr r0, _0207C718 ; =0x0000045C + add r1, r4, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 + mov r0, #0x46 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + add r1, r4, #0x0 + bl sub_020200A0 + pop {r3-r5, pc} + .balign 4 +_0207C718: .word 0x0000045C + + thumb_func_start sub_0207C71C +sub_0207C71C: ; 0x0207C71C + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _0207C774 ; =0x00000263 + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r3, r0, #0x1a + bne _0207C730 + mov r3, #0x15 + b _0207C732 +_0207C730: + add r3, #0x14 +_0207C732: + mov r0, #0x0 + mov r1, #0x1 + str r0, [sp, #0x0] + lsl r1, r1, #0xa + str r0, [sp, #0x4] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + mov r2, #0x27 + bl sub_0200C9D8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + mov r1, #0x1 + ldr r3, _0207C774 ; =0x00000263 + str r0, [sp, #0x4] + ldrb r3, [r4, r3] + lsl r1, r1, #0xa + ldr r0, [r4, r1] + add r1, r1, #0x4 + lsl r3, r3, #0x18 + ldr r1, [r4, r1] + lsr r4, r3, #0x1a + ldr r3, _0207C778 ; =0x020FA6F8 + mov r2, #0x27 + ldrb r3, [r3, r4] + add r3, #0x25 + bl sub_0200CA0C + add sp, #0x8 + pop {r4, pc} + nop +_0207C774: .word 0x00000263 +_0207C778: .word 0x020FA6F8 + + thumb_func_start sub_0207C77C +sub_0207C77C: ; 0x0207C77C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + lsl r0, r0, #0x4 + lsr r0, r0, #0x4 + cmp r0, #0x7 + bne _0207C7A4 + ldr r0, _0207C7E4 ; =0x00000458 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207C7E8 ; =0x00000538 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} +_0207C7A4: + cmp r0, #0x0 + ldr r0, _0207C7E8 ; =0x00000538 + beq _0207C7D0 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207C7E4 ; =0x00000458 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r1, #0x2a + lsl r1, r1, #0x4 + ldr r0, _0207C7E4 ; =0x00000458 + ldr r1, [r4, r1] + ldr r0, [r4, r0] + lsl r1, r1, #0x4 + lsr r1, r1, #0x4 + bl sub_02020130 + pop {r4, pc} +_0207C7D0: + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + ldr r0, _0207C7E4 ; =0x00000458 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} + .balign 4 +_0207C7E4: .word 0x00000458 +_0207C7E8: .word 0x00000538 + + thumb_func_start sub_0207C7EC +sub_0207C7EC: ; 0x0207C7EC + push {r3-r7, lr} + add r5, r0, #0x0 + bl sub_0207CA44 + mov r6, #0xa1 + mov r4, #0x0 + mov r7, #0x3 + lsl r6, r6, #0x2 +_0207C7FC: + lsl r0, r4, #0x1 + add r0, r5, r0 + ldrh r0, [r0, r6] + cmp r0, #0x0 + beq _0207C826 + add r1, r7, #0x0 + bl sub_0206AB18 + add r3, r0, #0x0 + add r1, r4, #0x0 + add r1, #0xd + add r2, r4, #0x5 + lsl r1, r1, #0x18 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0207CA6C +_0207C826: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _0207C7FC + add r0, r5, #0x0 + bl sub_0207CFEC + pop {r3-r7, pc} + + thumb_func_start sub_0207C838 +sub_0207C838: ; 0x0207C838 + push {r3-r7, lr} + ldr r6, _0207CA2C ; =0x00000408 + add r5, r0, #0x0 + mov r4, #0xb + mov r7, #0x0 +_0207C842: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r6] + add r1, r7, #0x0 + bl sub_0200C63C + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x13 + bls _0207C842 + ldr r0, _0207CA30 ; =0x0000068C + ldrsb r0, [r5, r0] + cmp r0, #0x0 + beq _0207C86C + cmp r0, #0x3 + beq _0207C8B4 + cmp r0, #0x5 + bne _0207C86A + b _0207C96E +_0207C86A: + pop {r3-r7, pc} +_0207C86C: + ldr r0, _0207CA34 ; =0x00000434 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_0200C63C + mov r0, #0x26 + lsl r0, r0, #0x4 + ldrb r1, [r5, r0] + add r0, r0, #0x1 + ldrb r0, [r5, r0] + cmp r1, r0 + ldr r0, _0207CA34 ; =0x00000434 + bne _0207C892 + ldr r0, [r5, r0] + mov r1, #0xd8 + mov r2, #0x50 + bl sub_0200C6E4 + pop {r3-r7, pc} +_0207C892: + ldr r0, [r5, r0] + mov r1, #0xc7 + mov r2, #0x50 + bl sub_0200C6E4 + ldr r0, _0207CA38 ; =0x00000438 + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_0200C63C + ldr r0, _0207CA38 ; =0x00000438 + mov r1, #0xe9 + ldr r0, [r5, r0] + mov r2, #0x50 + bl sub_0200C6E4 + pop {r3-r7, pc} +_0207C8B4: + mov r7, #0xa1 + mov r4, #0x0 + lsl r7, r7, #0x2 +_0207C8BA: + lsl r0, r4, #0x1 + add r0, r5, r0 + ldrh r0, [r0, r7] + cmp r0, #0x0 + beq _0207C904 + mov r1, #0x3 + bl sub_0206AB18 + add r3, r0, #0x0 + add r1, r4, #0x0 + add r1, #0xd + add r2, r4, #0x5 + lsl r1, r1, #0x18 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0207CA6C + lsl r0, r4, #0x2 + add r6, r5, r0 + ldr r0, _0207CA3C ; =0x0000043C + mov r1, #0x1 + ldr r0, [r6, r0] + bl sub_0200C63C + ldr r0, _0207CA3C ; =0x0000043C + lsl r2, r4, #0x5 + add r2, #0x2a + lsl r2, r2, #0x10 + ldr r0, [r6, r0] + mov r1, #0x97 + asr r2, r2, #0x10 + bl sub_0200C6E4 +_0207C904: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _0207C8BA + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0207C946 + mov r1, #0x3 + bl sub_0206AB18 + add r3, r0, #0x0 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + mov r1, #0x11 + mov r2, #0x9 + lsr r3, r3, #0x18 + bl sub_0207CA6C + ldr r0, _0207CA40 ; =0x0000044C + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_0200C63C + ldr r0, _0207CA40 ; =0x0000044C + mov r1, #0x97 + ldr r0, [r5, r0] + mov r2, #0xaa + bl sub_0200C6E4 +_0207C946: + ldr r0, _0207CA34 ; =0x00000434 + mov r1, #0x3f + ldr r0, [r5, r0] + mov r2, #0x34 + bl sub_0200C6E4 + ldr r0, _0207CA38 ; =0x00000438 + mov r1, #0x61 + ldr r0, [r5, r0] + mov r2, #0x34 + bl sub_0200C6E4 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x6c + mov r2, #0x48 + bl sub_0200C6E4 + pop {r3-r7, pc} +_0207C96E: + mov r7, #0xa1 + mov r4, #0x0 + lsl r7, r7, #0x2 +_0207C974: + lsl r0, r4, #0x1 + add r0, r5, r0 + ldrh r0, [r0, r7] + cmp r0, #0x0 + beq _0207C9C0 + mov r1, #0xb + bl sub_0206AB18 + add r3, r0, #0x0 + add r1, r4, #0x0 + add r1, #0xd + add r2, r4, #0x5 + add r3, #0x12 + lsl r1, r1, #0x18 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl sub_0207CA6C + lsl r0, r4, #0x2 + add r6, r5, r0 + ldr r0, _0207CA3C ; =0x0000043C + mov r1, #0x1 + ldr r0, [r6, r0] + bl sub_0200C63C + ldr r0, _0207CA3C ; =0x0000043C + lsl r2, r4, #0x5 + add r2, #0x2a + lsl r2, r2, #0x10 + ldr r0, [r6, r0] + mov r1, #0x97 + asr r2, r2, #0x10 + bl sub_0200C6E4 +_0207C9C0: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x4 + blo _0207C974 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldrh r0, [r0, #0x18] + cmp r0, #0x0 + beq _0207CA04 + mov r1, #0xb + bl sub_0206AB18 + add r3, r0, #0x0 + add r3, #0x12 + lsl r3, r3, #0x18 + add r0, r5, #0x0 + mov r1, #0x11 + mov r2, #0x9 + lsr r3, r3, #0x18 + bl sub_0207CA6C + ldr r0, _0207CA40 ; =0x0000044C + mov r1, #0x1 + ldr r0, [r5, r0] + bl sub_0200C63C + ldr r0, _0207CA40 ; =0x0000044C + mov r1, #0x97 + ldr r0, [r5, r0] + mov r2, #0xaa + bl sub_0200C6E4 +_0207CA04: + ldr r0, _0207CA34 ; =0x00000434 + mov r1, #0x3f + ldr r0, [r5, r0] + mov r2, #0x34 + bl sub_0200C6E4 + ldr r0, _0207CA38 ; =0x00000438 + mov r1, #0x61 + ldr r0, [r5, r0] + mov r2, #0x34 + bl sub_0200C6E4 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x6c + mov r2, #0x48 + bl sub_0200C6E4 + pop {r3-r7, pc} + .balign 4 +_0207CA2C: .word 0x00000408 +_0207CA30: .word 0x0000068C +_0207CA34: .word 0x00000434 +_0207CA38: .word 0x00000438 +_0207CA3C: .word 0x0000043C +_0207CA40: .word 0x0000044C + + thumb_func_start sub_0207CA44 +sub_0207CA44: ; 0x0207CA44 + push {r4, lr} + mov r3, #0x26 + add r4, r0, #0x0 + lsl r3, r3, #0x4 + ldrb r3, [r4, r3] + mov r1, #0xb + mov r2, #0x3 + bl sub_0207CA6C + ldr r3, _0207CA68 ; =0x00000261 + add r0, r4, #0x0 + ldrb r3, [r4, r3] + mov r1, #0xc + mov r2, #0x4 + bl sub_0207CA6C + pop {r4, pc} + nop +_0207CA68: .word 0x00000261 + + thumb_func_start sub_0207CA6C +sub_0207CA6C: ; 0x0207CA6C + push {r4-r7, lr} + sub sp, #0xc + add r7, r3, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0206E12C + str r0, [sp, #0x8] + add r0, r7, #0x0 + bl sub_0206E0F0 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r1, _0207CAB4 ; =0x00000404 + str r6, [sp, #0x4] + lsl r0, r0, #0xa + ldr r0, [r5, r0] + ldr r1, [r5, r1] + ldr r2, [sp, #0x8] + bl sub_0200C9D8 + add r0, r7, #0x0 + bl sub_0206E114 + add r2, r0, #0x0 + lsl r0, r4, #0x2 + add r1, r5, r0 + ldr r0, _0207CAB8 ; =0x00000408 + ldr r0, [r1, r0] + add r1, r2, #0x3 + bl sub_0200C664 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_0207CAB4: .word 0x00000404 +_0207CAB8: .word 0x00000408 + + thumb_func_start sub_0207CABC +sub_0207CABC: ; 0x0207CABC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, r1, #0x0 + ldrb r0, [r0, #0x0] + str r1, [sp, #0x0] + str r2, [sp, #0x4] + lsl r0, r0, #0x5 + add r0, #0x2a + lsl r0, r0, #0x10 + add r4, r3, #0x0 + asr r7, r0, #0x10 + mov r6, #0x0 +_0207CAD6: + ldr r0, _0207CB04 ; =0x0000043C + ldr r1, [sp, #0x4] + ldr r0, [r5, r0] + add r2, r4, #0x0 + bl sub_0200C75C + mov r0, #0x0 + ldrsh r0, [r4, r0] + cmp r7, r0 + bne _0207CAF2 + ldr r0, [sp, #0x0] + add sp, #0x8 + strb r6, [r0, #0x0] + pop {r3-r7, pc} +_0207CAF2: + add r0, r6, #0x1 + lsl r0, r0, #0x10 + asr r6, r0, #0x10 + add r5, r5, #0x4 + cmp r6, #0x4 + blt _0207CAD6 + add sp, #0x8 + pop {r3-r7, pc} + nop +_0207CB04: .word 0x0000043C + + thumb_func_start sub_0207CB08 +sub_0207CB08: ; 0x0207CB08 + push {r0-r3} + push {r4, lr} + sub sp, #0x8 + add r2, sp, #0x4 + add r1, sp, #0x14 + add r2, #0x2 + add r3, sp, #0x4 + add r4, r0, #0x0 + bl sub_0207CABC + add r2, sp, #0x0 + add r0, r4, #0x0 + add r1, sp, #0x18 + add r2, #0x2 + add r3, sp, #0x0 + bl sub_0207CABC + add r0, sp, #0x10 + ldrb r0, [r0, #0x4] + add r3, sp, #0x0 + mov r2, #0x0 + add r0, #0xd + lsl r0, r0, #0x2 + add r1, r4, r0 + ldr r0, _0207CB6C ; =0x00000408 + ldrsh r2, [r3, r2] + ldr r0, [r1, r0] + mov r1, #0x2 + ldrsh r1, [r3, r1] + bl sub_0200C6E4 + add r0, sp, #0x10 + ldrb r0, [r0, #0x8] + add r3, sp, #0x0 + mov r2, #0x4 + add r0, #0xd + lsl r0, r0, #0x2 + add r1, r4, r0 + ldr r0, _0207CB6C ; =0x00000408 + ldrsh r2, [r3, r2] + ldr r0, [r1, r0] + mov r1, #0x6 + ldrsh r1, [r3, r1] + bl sub_0200C6E4 + add sp, #0x8 + pop {r4} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 +_0207CB6C: .word 0x00000408 + + thumb_func_start sub_0207CB70 +sub_0207CB70: ; 0x0207CB70 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x1 + bl sub_0206AB18 + add r4, r0, #0x0 + bl sub_0206E2A8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl sub_0206E278 + mov r1, #0x1 + add r3, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0xa + str r0, [sp, #0x4] + lsl r0, r1, #0xa + ldr r1, _0207CBBC ; =0x00000404 + ldr r0, [r5, r0] + ldr r1, [r5, r1] + add r2, r6, #0x0 + bl sub_0200C9D8 + add r0, r4, #0x0 + bl sub_0206E290 + add r1, r0, #0x0 + mov r0, #0x45 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + add r1, r1, #0x3 + bl sub_0200C664 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0207CBBC: .word 0x00000404 + + thumb_func_start sub_0207CBC0 +sub_0207CBC0: ; 0x0207CBC0 + ldr r2, _0207CBDC ; =0x0000068D + add r3, r0, #0x0 + ldrb r2, [r3, r2] + ldr r0, _0207CBE0 ; =0x0000042C + mov r1, #0xc2 + lsl r2, r2, #0x1c + lsr r2, r2, #0x1c + lsl r2, r2, #0x5 + ldr r0, [r3, r0] + add r2, #0x30 + lsl r2, r2, #0x10 + ldr r3, _0207CBE4 ; =sub_0200C6E4 + asr r2, r2, #0x10 + bx r3 + .balign 4 +_0207CBDC: .word 0x0000068D +_0207CBE0: .word 0x0000042C +_0207CBE4: .word sub_0200C6E4 + 1 + + thumb_func_start sub_0207CBE8 +sub_0207CBE8: ; 0x0207CBE8 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, _0207CC20 ; =0x0000042C + add r1, sp, #0x0 + ldr r0, [r4, r0] + add r1, #0x2 + add r2, sp, #0x0 + bl sub_0200C75C + mov r0, #0x43 + lsl r0, r0, #0x4 + add r3, sp, #0x0 + mov r1, #0x2 + mov r2, #0x0 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + ldr r0, [r4, r0] + bl sub_0200C6E4 + mov r0, #0x43 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0207CC20: .word 0x0000042C + + thumb_func_start sub_0207CC24 +sub_0207CC24: ; 0x0207CC24 + push {r3-r7, lr} + mov r2, #0x69 + lsl r2, r2, #0x4 + mov r1, #0x0 + strb r1, [r0, r2] + add r3, r2, #0x3 + strb r1, [r0, r3] + add r3, r2, #0x2 + strb r1, [r0, r3] + ldr r3, _0207CC80 ; =0x0000029A + ldrb r3, [r0, r3] + cmp r3, #0x0 + bne _0207CC44 + add r2, r2, #0x1 + strb r1, [r0, r2] + b _0207CC5A +_0207CC44: + cmp r3, #0xff + bne _0207CC50 + mov r3, #0xc + add r1, r2, #0x1 + strb r3, [r0, r1] + b _0207CC5A +_0207CC50: + mov r1, #0xc + mul r1, r3 + asr r3, r1, #0x8 + add r1, r2, #0x1 + strb r3, [r0, r1] +_0207CC5A: + ldr r7, _0207CC84 ; =0x00000408 + add r5, r0, #0x0 + mov r4, #0x1d + add r5, #0x74 + add r6, r7, #0x0 +_0207CC64: + ldr r0, [r5, r7] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, [r5, r6] + mov r1, #0x0 + bl sub_02020208 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x28 + bls _0207CC64 + pop {r3-r7, pc} + nop +_0207CC80: .word 0x0000029A +_0207CC84: .word 0x00000408 + + thumb_func_start sub_0207CC88 +sub_0207CC88: ; 0x0207CC88 + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, _0207CE38 ; =0x0000068C + ldrsb r1, [r4, r0] + cmp r1, #0x4 + bne _0207CC9C + add r1, r0, #0x5 + ldrb r1, [r4, r1] + cmp r1, #0x0 + bne _0207CC9E +_0207CC9C: + b _0207CE34 +_0207CC9E: + add r2, r0, #0x4 + ldrb r2, [r4, r2] + cmp r2, #0x4 + bhi _0207CCCC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r1, #0 + lsl r4, r5, #0 + lsl r4, r3, #0x2 + lsl r4, r7, #0x2 + lsl r6, r2, #0x4 + add r1, r0, #0x7 + ldrb r1, [r4, r1] + add r2, r1, #0x1 + add r1, r0, #0x7 + strb r2, [r4, r1] + ldrb r1, [r4, r1] + cmp r1, #0x8 + beq _0207CCCE +_0207CCCC: + b _0207CDE8 +_0207CCCE: + mov r2, #0x1 + add r1, r0, #0x4 + strb r2, [r4, r1] + add r1, r0, #0x7 + mov r2, #0x0 + strb r2, [r4, r1] + add r0, r0, #0x6 + strb r2, [r4, r0] + b _0207CDE8 +_0207CCE0: + .byte 0xC1, 0x1D, 0x61, 0x5C, 0x00, 0x29, 0x2A, 0xD1, 0x80, 0x1D, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00 + .byte 0x21, 0x18, 0x52, 0x48, 0x08, 0x58, 0x01, 0x21, 0xA3, 0xF7, 0xD2, 0xF9, 0x50, 0x48, 0x20, 0x5C + .byte 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x4D, 0x48, 0x08, 0x58, 0x00, 0x21, 0xA3, 0xF7, 0x7C, 0xFA + .byte 0x4B, 0x48, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x48, 0x48, 0x08, 0x58, 0x00, 0x21 + .byte 0xA3, 0xF7, 0x06, 0xFA, 0x46, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x41, 0x1E, 0x22, 0x5C + .byte 0x61, 0x5C, 0x8A, 0x42, 0x03, 0xD1, 0x02, 0x21, 0x80, 0x1E, 0x21, 0x54, 0x54, 0xE0, 0x41, 0x48 + .byte 0x0A, 0x21, 0x20, 0x5C, 0x40, 0x1C, 0x6E, 0xF0, 0x9C, 0xEF, 0x3E, 0x48, 0x21, 0x54, 0x4B, 0xE0 + .byte 0x1C, 0x31, 0x88, 0x00, 0x21, 0x18, 0x39, 0x48, 0x08, 0x58, 0xA3, 0xF7, 0xE5, 0xF9, 0x00, 0x28 + .byte 0x42, 0xD1, 0x38, 0x48, 0x00, 0x21, 0x21, 0x54, 0x03, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x3B, 0xE0 + .byte 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C, 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x33, 0xD1 + .byte 0x40, 0x1D, 0x20, 0x5C, 0x1D, 0x26, 0x1D, 0x30, 0x1D, 0x28, 0x17, 0xD9, 0x25, 0x1C, 0x2E, 0x4F + .byte 0x74, 0x35, 0x2A, 0x48, 0x01, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0x82, 0xF9, 0x27, 0x48, 0x00, 0x21 + .byte 0x28, 0x58, 0xA3, 0xF7, 0x31, 0xFA, 0x25, 0x48, 0x00, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0xC0, 0xF9 + .byte 0xE0, 0x5D, 0x76, 0x1C, 0x2D, 0x1D, 0x1D, 0x30, 0x86, 0x42, 0xEA, 0xD3, 0x21, 0x48, 0x00, 0x21 + .byte 0x21, 0x54, 0x04, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x0E, 0xE0, 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C + .byte 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x06, 0xD1, 0x00, 0x22, 0x01, 0x1D, 0x62, 0x54 + .byte 0xC1, 0x1D, 0x62, 0x54, 0x80, 0x1D, 0x22, 0x54 +_0207CDE8: + ldr r0, _0207CE48 ; =0x00000691 + mov r6, #0x1d + ldrb r0, [r4, r0] + add r0, #0x1d + cmp r0, #0x1d + bls _0207CE34 + add r5, r4, #0x0 + ldr r7, _0207CE3C ; =0x00000408 + add r5, #0x74 +_0207CDFA: + ldr r0, [r5, r7] + bl sub_02020128 + cmp r0, #0x0 + beq _0207CE26 + ldr r0, _0207CE3C ; =0x00000408 + mov r1, #0x1 + ldr r0, [r5, r0] + lsl r1, r1, #0xc + bl sub_020201E4 + ldr r0, _0207CE3C ; =0x00000408 + ldr r0, [r5, r0] + bl sub_0202022C + cmp r0, #0x6 + bne _0207CE26 + ldr r0, _0207CE3C ; =0x00000408 + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_020200A0 +_0207CE26: + ldr r0, _0207CE48 ; =0x00000691 + add r6, r6, #0x1 + ldrb r0, [r4, r0] + add r5, r5, #0x4 + add r0, #0x1d + cmp r6, r0 + blo _0207CDFA +_0207CE34: + pop {r3-r7, pc} + nop +_0207CE38: .word 0x0000068C +_0207CE3C: .word 0x00000408 +_0207CE40: + .byte 0x92, 0x06, 0x00, 0x00, 0x93, 0x06, 0x00, 0x00 +_0207CE48: .word 0x00000691 + + thumb_func_start sub_0207CE4C +sub_0207CE4C: ; 0x0207CE4C + push {r3-r7, lr} + add r6, r0, #0x0 + mov r4, #0x0 + add r5, r6, #0x0 + mov r7, #0x1 +_0207CE56: + mov r0, #0xa7 + lsl r0, r0, #0x2 + ldrh r1, [r6, r0] + add r0, r7, #0x0 + lsl r0, r4 + tst r0, r1 + ldr r0, _0207CED4 ; =0x00000464 + beq _0207CE70 + ldr r0, [r5, r0] + add r1, r7, #0x0 + bl sub_02020130 + b _0207CE78 +_0207CE70: + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02020130 +_0207CE78: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x6 + blo _0207CE56 + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + lsl r1, r0, #0x2 + lsr r1, r1, #0x1f + cmp r1, #0x1 + bne _0207CEA0 + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + bne _0207CEA0 + ldr r0, _0207CED8 ; =0x000004DC + mov r1, #0x1 + ldr r0, [r6, r0] + bl sub_0200C63C + b _0207CEAA +_0207CEA0: + ldr r0, _0207CED8 ; =0x000004DC + mov r1, #0x0 + ldr r0, [r6, r0] + bl sub_0200C63C +_0207CEAA: + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + lsr r0, r0, #0x1e + cmp r0, #0x2 + bne _0207CEC4 + mov r0, #0x4e + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + mov r1, #0x1 + bl sub_0200C63C + pop {r3-r7, pc} +_0207CEC4: + mov r0, #0x4e + lsl r0, r0, #0x4 + ldr r0, [r6, r0] + mov r1, #0x0 + bl sub_0200C63C + pop {r3-r7, pc} + nop +_0207CED4: .word 0x00000464 +_0207CED8: .word 0x000004DC + + thumb_func_start sub_0207CEDC +sub_0207CEDC: ; 0x0207CEDC + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + ldr r0, _0207CF50 ; =0x000004AC + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207CF50 ; =0x000004AC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_02020208 + ldr r0, _0207CF50 ; =0x000004AC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_02020130 + add r1, sp, #0x0 + add r0, r4, #0x0 + add r1, #0x2 + add r2, sp, #0x0 + bl sub_0207FC04 + ldr r0, _0207CF54 ; =0x0000068F + add r3, sp, #0x0 + ldrb r0, [r4, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + ldr r0, _0207CF50 ; =0x000004AC + bne _0207CF32 + mov r2, #0x0 + ldrsh r2, [r3, r2] + mov r1, #0x2 + ldrsh r1, [r3, r1] + add r2, #0xc0 + lsl r2, r2, #0x10 + ldr r0, [r4, r0] + asr r2, r2, #0x10 + bl sub_0200C6E4 + add sp, #0x4 + pop {r3-r4, pc} +_0207CF32: + mov r1, #0x2 + mov r2, #0x0 + ldrsh r1, [r3, r1] + ldrsh r2, [r3, r2] + ldr r0, [r4, r0] + sub r1, r1, #0x4 + add r2, #0xc0 + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + asr r1, r1, #0x10 + asr r2, r2, #0x10 + bl sub_0200C6E4 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0207CF50: .word 0x000004AC +_0207CF54: .word 0x0000068F + + thumb_func_start sub_0207CF58 +sub_0207CF58: ; 0x0207CF58 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207CF74 ; =0x000004AC + ldr r0, [r4, r0] + bl sub_0202022C + cmp r0, #0x2 + bne _0207CF72 + ldr r0, _0207CF74 ; =0x000004AC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 +_0207CF72: + pop {r4, pc} + .balign 4 +_0207CF74: .word 0x000004AC + + thumb_func_start sub_0207CF78 +sub_0207CF78: ; 0x0207CF78 + push {r3-r7, lr} + ldr r7, _0207CFA8 ; =0x0000068E + add r5, r0, #0x0 + mov r4, #0x0 + mov r6, #0x1 +_0207CF82: + add r0, r6, #0x0 + ldrb r1, [r5, r7] + lsl r0, r4 + tst r0, r1 + beq _0207CF9C + lsl r0, r4, #0x2 + add r1, r5, r0 + mov r0, #0x4b + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + add r1, r6, #0x0 + bl sub_020200A0 +_0207CF9C: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x5 + blo _0207CF82 + pop {r3-r7, pc} + .balign 4 +_0207CFA8: .word 0x0000068E + + thumb_func_start sub_0207CFAC +sub_0207CFAC: ; 0x0207CFAC + push {r4, lr} + add r4, r0, #0x0 + cmp r1, #0x0 + bne _0207CFC0 + ldr r0, _0207CFE8 ; =0x000004C4 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} +_0207CFC0: + add r0, r1, #0x0 + bl sub_0201AB14 + add r1, r0, #0x0 + ldr r0, _0207CFE8 ; =0x000004C4 + lsl r1, r1, #0x3 + sub r1, #0xa + lsl r1, r1, #0x10 + ldr r0, [r4, r0] + asr r1, r1, #0x10 + mov r2, #0x8 + bl sub_0200C6E4 + ldr r0, _0207CFE8 ; =0x000004C4 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} + nop +_0207CFE8: .word 0x000004C4 + + thumb_func_start sub_0207CFEC +sub_0207CFEC: ; 0x0207CFEC + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_0207B628 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldrb r1, [r1, #0x11] + cmp r1, #0x2 + bne _0207D008 + bl sub_0206B688 + b _0207D00C +_0207D008: + bl sub_0206B6C8 +_0207D00C: + add r3, r0, #0x0 + mov r0, #0x0 + mov r1, #0x1 + str r0, [sp, #0x0] + mov r0, #0xb + lsl r1, r1, #0xa + str r0, [sp, #0x4] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + mov r2, #0x13 + bl sub_0200C9D8 + mov r2, #0x97 + lsl r2, r2, #0x2 + add r1, r2, #0x0 + ldrh r0, [r4, r2] + add r2, #0x44 + add r1, #0x42 + ldr r2, [r4, r2] + ldrh r1, [r4, r1] + lsl r2, r2, #0x3 + lsr r2, r2, #0x1f + bl sub_0206B7BC + add r1, r0, #0x0 + ldr r0, _0207D068 ; =0x00000454 + add r1, r1, #0x7 + ldr r0, [r4, r0] + bl sub_0200C664 + mov r0, #0x97 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + mov r1, #0x1c + bl sub_02068678 + add r2, r0, #0x0 + ldr r0, _0207D068 ; =0x00000454 + mov r1, #0x1 + ldr r0, [r4, r0] + eor r1, r2 + bl sub_02020100 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_0207D068: .word 0x00000454 + + thumb_func_start sub_0207D06C +sub_0207D06C: ; 0x0207D06C + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + bl sub_0206B888 + add r3, r0, #0x0 + mov r0, #0x0 + mov r1, #0x1 + str r0, [sp, #0x0] + mov r0, #0x5 + lsl r1, r1, #0xa + str r0, [sp, #0x4] + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + mov r2, #0x13 + bl sub_0200CA0C + ldr r0, _0207D0C0 ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x3 + ldr r0, _0207D0C4 ; =0x00000454 + bne _0207D0A6 + ldr r0, [r4, r0] + mov r1, #0x18 + mov r2, #0x30 + bl sub_0200C6E4 + b _0207D0B0 +_0207D0A6: + ldr r0, [r4, r0] + mov r1, #0x20 + mov r2, #0x44 + bl sub_0200C6E4 +_0207D0B0: + ldr r0, _0207D0C4 ; =0x00000454 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_0200C63C + add sp, #0x8 + pop {r4, pc} + nop +_0207D0C0: .word 0x0000068C +_0207D0C4: .word 0x00000454 + + thumb_func_start sub_0207D0C8 +sub_0207D0C8: ; 0x0207D0C8 + push {r4, lr} + add r4, r2, #0x0 + cmp r4, r1 + ble _0207D0EE + add r0, #0x2c + sub r1, r4, r1 + mul r1, r0 + lsl r0, r1, #0x10 + mov r1, #0x4b + lsl r1, r1, #0x2 + blx sub_020EBE8C + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + sub r0, r4, r0 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + pop {r4, pc} +_0207D0EE: + add r0, #0x2c + sub r1, r1, r4 + mul r1, r0 + lsl r0, r1, #0x10 + mov r1, #0x4b + lsl r1, r1, #0x2 + blx sub_020EBE8C + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add r0, r4, r0 + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + pop {r4, pc} + + thumb_func_start sub_0207D10C +sub_0207D10C: ; 0x0207D10C + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _0207D20C ; =0x00000295 + mov r1, #0x58 + ldrb r0, [r4, r0] + add r2, r1, #0x0 + bl sub_0207D0C8 + add r5, r0, #0x0 + ldr r0, _0207D20C ; =0x00000295 + mov r1, #0x31 + ldrb r0, [r4, r0] + mov r2, #0x49 + bl sub_0207D0C8 + add r2, r0, #0x0 + ldr r0, _0207D210 ; =0x000004C8 + add r1, r5, #0x0 + ldr r0, [r4, r0] + bl sub_0200C6E4 + ldr r0, _0207D214 ; =0x00000296 + mov r1, #0x6e + ldrb r0, [r4, r0] + mov r2, #0x58 + bl sub_0207D0C8 + add r5, r0, #0x0 + ldr r0, _0207D214 ; =0x00000296 + mov r1, #0x41 + ldrb r0, [r4, r0] + mov r2, #0x49 + bl sub_0207D0C8 + add r2, r0, #0x0 + ldr r0, _0207D218 ; =0x000004CC + add r1, r5, #0x0 + ldr r0, [r4, r0] + bl sub_0200C6E4 + ldr r0, _0207D21C ; =0x00000297 + mov r1, #0x67 + ldrb r0, [r4, r0] + mov r2, #0x58 + bl sub_0207D0C8 + add r5, r0, #0x0 + ldr r0, _0207D21C ; =0x00000297 + mov r1, #0x5c + ldrb r0, [r4, r0] + mov r2, #0x49 + bl sub_0207D0C8 + add r2, r0, #0x0 + mov r0, #0x4d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl sub_0200C6E4 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + mov r1, #0x48 + mov r2, #0x57 + bl sub_0207D0C8 + add r5, r0, #0x0 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldrb r0, [r4, r0] + mov r1, #0x5c + mov r2, #0x49 + bl sub_0207D0C8 + add r2, r0, #0x0 + ldr r0, _0207D220 ; =0x000004D4 + add r1, r5, #0x0 + ldr r0, [r4, r0] + bl sub_0200C6E4 + ldr r0, _0207D224 ; =0x00000299 + mov r1, #0x41 + ldrb r0, [r4, r0] + mov r2, #0x57 + bl sub_0207D0C8 + add r5, r0, #0x0 + ldr r0, _0207D224 ; =0x00000299 + mov r1, #0x41 + ldrb r0, [r4, r0] + mov r2, #0x49 + bl sub_0207D0C8 + add r2, r0, #0x0 + ldr r0, _0207D228 ; =0x000004D8 + add r1, r5, #0x0 + ldr r0, [r4, r0] + bl sub_0200C6E4 + ldr r0, _0207D210 ; =0x000004C8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207D218 ; =0x000004CC + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x4d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + bl sub_020200A0 + ldr r0, _0207D220 ; =0x000004D4 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207D228 ; =0x000004D8 + mov r1, #0x1 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r3-r5, pc} + nop +_0207D20C: .word 0x00000295 +_0207D210: .word 0x000004C8 +_0207D214: .word 0x00000296 +_0207D218: .word 0x000004CC +_0207D21C: .word 0x00000297 +_0207D220: .word 0x000004D4 +_0207D224: .word 0x00000299 +_0207D228: .word 0x000004D8 + + thumb_func_start sub_0207D22C +sub_0207D22C: ; 0x0207D22C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207D268 ; =0x000004C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207D26C ; =0x000004CC + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + mov r0, #0x4d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_020200A0 + ldr r0, _0207D270 ; =0x000004D4 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + ldr r0, _0207D274 ; =0x000004D8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl sub_020200A0 + pop {r4, pc} + nop +_0207D268: .word 0x000004C8 +_0207D26C: .word 0x000004CC +_0207D270: .word 0x000004D4 +_0207D274: .word 0x000004D8 + + thumb_func_start sub_0207D278 +sub_0207D278: ; 0x0207D278 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x1 + add r4, r2, #0x0 + bl sub_0207FC5C + add r3, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x1 + add r0, #0x1a + lsl r1, r1, #0xa + str r0, [sp, #0x4] + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + mov r2, #0x27 + bl sub_0200C9D8 + add r0, r6, #0x0 + mov r1, #0x2 + bl sub_0207FC5C + add r4, #0x37 + add r2, r0, #0x0 + lsl r0, r4, #0x2 + add r1, r5, r0 + ldr r0, _0207D2C4 ; =0x00000408 + ldr r0, [r1, r0] + add r1, r2, #0x7 + bl sub_0200C664 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0207D2C4: .word 0x00000408 + + thumb_func_start sub_0207D2C8 +sub_0207D2C8: ; 0x0207D2C8 + push {r3-r7, lr} + sub sp, #0x8 + ldr r6, _0207D354 ; =0x00000408 + add r5, r0, #0x0 + mov r4, #0x37 + mov r7, #0x0 +_0207D2D4: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r6] + add r1, r7, #0x0 + bl sub_020200A0 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x46 + bls _0207D2D4 + ldr r0, _0207D358 ; =0x0000068C + ldrsb r0, [r5, r0] + cmp r0, #0x6 + bne _0207D350 + mov r0, #0x0 + mov r1, #0x1 + str r0, [sp, #0x0] + mov r0, #0x5 + lsl r1, r1, #0xa + str r0, [sp, #0x4] + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + mov r2, #0x27 + mov r3, #0x88 + bl sub_0200CA0C + ldr r7, _0207D35C ; =0x000004E4 + ldr r6, _0207D360 ; =0x00000699 + mov r4, #0x0 +_0207D312: + ldrb r0, [r5, r6] + cmp r4, r0 + bge _0207D33A + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r7] + mov r1, #0x1 + bl sub_020200A0 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_0207C1E8 + lsl r2, r4, #0x18 + add r1, r0, #0x0 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_0207D278 +_0207D33A: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0xc + blo _0207D312 + mov r0, #0x52 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02020130 +_0207D350: + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0207D354: .word 0x00000408 +_0207D358: .word 0x0000068C +_0207D35C: .word 0x000004E4 +_0207D360: .word 0x00000699 + + thumb_func_start sub_0207D364 +sub_0207D364: ; 0x0207D364 + push {r3-r7, lr} + ldr r7, _0207D3BC ; =0x00000698 + add r5, r0, #0x0 + mov r4, #0x0 + add r6, r7, #0x1 +_0207D36E: + ldrb r0, [r5, r7] + lsl r0, r0, #0x2 + add r1, r4, r0 + ldrb r0, [r5, r6] + cmp r1, r0 + bge _0207D3A0 + lsl r0, r4, #0x2 + add r1, r5, r0 + ldr r0, _0207D3C0 ; =0x000004E4 + ldr r0, [r1, r0] + mov r1, #0x1 + bl sub_020200A0 + lsl r1, r4, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_0207C1E8 + lsl r2, r4, #0x18 + add r1, r0, #0x0 + add r0, r5, #0x0 + lsr r2, r2, #0x18 + bl sub_0207D278 + b _0207D3AE +_0207D3A0: + lsl r0, r4, #0x2 + add r1, r5, r0 + ldr r0, _0207D3C0 ; =0x000004E4 + ldr r0, [r1, r0] + mov r1, #0x0 + bl sub_020200A0 +_0207D3AE: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x8 + blo _0207D36E + pop {r3-r7, pc} + nop +_0207D3BC: .word 0x00000698 +_0207D3C0: .word 0x000004E4 + + thumb_func_start sub_0207D3C4 +sub_0207D3C4: ; 0x0207D3C4 + ldr r1, _0207D3E8 ; =0x00000697 + ldrb r2, [r0, r1] + ldr r1, _0207D3EC ; =0x00000514 + ldr r0, [r0, r1] + lsl r1, r2, #0x1e + lsr r3, r2, #0x2 + mov r2, #0x28 + mul r2, r3 + lsr r1, r1, #0x19 + add r1, #0x84 + add r2, #0x38 + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + ldr r3, _0207D3F0 ; =sub_0200C6E4 + asr r1, r1, #0x10 + asr r2, r2, #0x10 + bx r3 + nop +_0207D3E8: .word 0x00000697 +_0207D3EC: .word 0x00000514 +_0207D3F0: .word sub_0200C6E4 + 1 + + thumb_func_start sub_0207D3F4 +sub_0207D3F4: ; 0x0207D3F4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x52 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02020128 + cmp r0, #0x1 + bne _0207D414 + mov r0, #0x52 + lsl r0, r0, #0x4 + mov r1, #0x1 + ldr r0, [r4, r0] + lsl r1, r1, #0xc + bl sub_020201E4 +_0207D414: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207D418 +sub_0207D418: ; 0x0207D418 + push {r3-r7, lr} + add r5, r0, #0x0 + cmp r1, #0x0 + bne _0207D43E + mov r4, #0x0 + ldr r6, _0207D4C0 ; =0x00000524 + add r7, r4, #0x0 +_0207D426: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, r6] + add r1, r7, #0x0 + bl sub_020200A0 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x5 + blo _0207D426 + pop {r3-r7, pc} +_0207D43E: + ldr r0, _0207D4C4 ; =0x00000295 + ldrb r1, [r5, r0] + add r0, r0, #0x1 + ldrb r0, [r5, r0] + add r4, r1, #0x0 + cmp r1, r0 + bge _0207D44E + add r4, r0, #0x0 +_0207D44E: + ldr r0, _0207D4C8 ; =0x00000297 + ldrb r0, [r5, r0] + cmp r4, r0 + bge _0207D458 + add r4, r0, #0x0 +_0207D458: + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldrb r0, [r5, r0] + cmp r4, r0 + bge _0207D464 + add r4, r0, #0x0 +_0207D464: + ldr r0, _0207D4CC ; =0x00000299 + ldrb r0, [r5, r0] + cmp r4, r0 + bge _0207D46E + add r4, r0, #0x0 +_0207D46E: + ldr r0, _0207D4C0 ; =0x00000524 + ldr r3, _0207D4D0 ; =0x020FA75C + ldr r0, [r5, r0] + add r2, r4, #0x0 + bl sub_0207D4F4 + ldr r1, _0207D4D4 ; =0x00000296 + ldr r0, _0207D4D8 ; =0x00000528 + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + ldr r3, _0207D4DC ; =0x020FA764 + add r2, r4, #0x0 + bl sub_0207D4F4 + ldr r1, _0207D4C8 ; =0x00000297 + ldr r0, _0207D4E0 ; =0x0000052C + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + ldr r3, _0207D4E4 ; =0x020FA76C + add r2, r4, #0x0 + bl sub_0207D4F4 + mov r1, #0x53 + lsl r1, r1, #0x4 + ldr r0, [r5, r1] + lsr r1, r1, #0x1 + ldrb r1, [r5, r1] + ldr r3, _0207D4E8 ; =0x020FA774 + add r2, r4, #0x0 + bl sub_0207D4F4 + ldr r1, _0207D4CC ; =0x00000299 + ldr r0, _0207D4EC ; =0x00000534 + ldrb r1, [r5, r1] + ldr r0, [r5, r0] + ldr r3, _0207D4F0 ; =0x020FA77C + add r2, r4, #0x0 + bl sub_0207D4F4 + pop {r3-r7, pc} + nop +_0207D4C0: .word 0x00000524 +_0207D4C4: .word 0x00000295 +_0207D4C8: .word 0x00000297 +_0207D4CC: .word 0x00000299 +_0207D4D0: .word 0x020FA75C +_0207D4D4: .word 0x00000296 +_0207D4D8: .word 0x00000528 +_0207D4DC: .word 0x020FA764 +_0207D4E0: .word 0x0000052C +_0207D4E4: .word 0x020FA76C +_0207D4E8: .word 0x020FA774 +_0207D4EC: .word 0x00000534 +_0207D4F0: .word 0x020FA77C + + thumb_func_start sub_0207D4F4 +sub_0207D4F4: ; 0x0207D4F4 + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + add r4, r3, #0x0 + cmp r5, #0x0 + beq _0207D504 + cmp r5, r2 + beq _0207D50E +_0207D504: + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_020200A0 + pop {r4-r6, pc} +_0207D50E: + mov r1, #0x1 + bl sub_020200A0 + mov r0, #0x0 + ldrsh r1, [r4, r0] + mov r0, #0x4 + ldrsh r0, [r4, r0] + cmp r1, r0 + blt _0207D534 + sub r1, r1, r0 + lsl r2, r1, #0x8 + asr r1, r2, #0x7 + lsr r1, r1, #0x18 + add r1, r2, r1 + asr r1, r1, #0x8 + mul r1, r5 + lsr r1, r1, #0x8 + add r1, r0, r1 + b _0207D546 +_0207D534: + sub r1, r0, r1 + lsl r2, r1, #0x8 + asr r1, r2, #0x7 + lsr r1, r1, #0x18 + add r1, r2, r1 + asr r1, r1, #0x8 + mul r1, r5 + lsr r1, r1, #0x8 + sub r1, r0, r1 +_0207D546: + mov r0, #0x2 + ldrsh r2, [r4, r0] + mov r0, #0x6 + ldrsh r0, [r4, r0] + cmp r2, r0 + blt _0207D566 + sub r2, r2, r0 + lsl r3, r2, #0x8 + asr r2, r3, #0x7 + lsr r2, r2, #0x18 + add r2, r3, r2 + asr r2, r2, #0x8 + mul r2, r5 + lsr r2, r2, #0x8 + add r2, r0, r2 + b _0207D578 +_0207D566: + sub r2, r0, r2 + lsl r3, r2, #0x8 + asr r2, r3, #0x7 + lsr r2, r2, #0x18 + add r2, r3, r2 + asr r2, r2, #0x8 + mul r2, r5 + lsr r2, r2, #0x8 + sub r2, r0, r2 +_0207D578: + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + add r0, r6, #0x0 + asr r1, r1, #0x10 + asr r2, r2, #0x10 + bl sub_0200C6E4 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_02020208 + add r0, r6, #0x0 + mov r1, #0x0 + bl sub_02020130 + pop {r4-r6, pc} + + thumb_func_start sub_0207D598 +sub_0207D598: ; 0x0207D598 + push {r3-r7, lr} + mov r7, #0x1 + ldr r6, _0207D5B8 ; =0x00000524 + add r5, r0, #0x0 + mov r4, #0x0 + lsl r7, r7, #0xc +_0207D5A4: + ldr r0, [r5, r6] + add r1, r7, #0x0 + bl sub_020201E4 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x5 + blo _0207D5A4 + pop {r3-r7, pc} + nop +_0207D5B8: .word 0x00000524 + + thumb_func_start sub_0207D5BC +sub_0207D5BC: ; 0x0207D5BC + push {r3-r7, lr} + add r7, r0, #0x0 + mov r5, #0x0 + add r4, r7, #0x4 +_0207D5C4: + ldr r2, _0207D600 ; =0x020FB4AC + lsl r6, r5, #0x4 + lsl r3, r5, #0x3 + ldr r0, [r7, #0x0] + add r1, r4, r6 + add r2, r2, r3 + bl sub_02019150 + add r0, r4, r6 + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x24 + blo _0207D5C4 + add r0, r7, #0x0 + bl sub_0207DB78 + add r0, r7, #0x0 + bl sub_0207D768 + add r0, r7, #0x0 + bl sub_0207D800 + add r0, r7, #0x0 + bl sub_0207D8A0 + pop {r3-r7, pc} + .balign 4 +_0207D600: .word 0x020FB4AC + + thumb_func_start sub_0207D604 +sub_0207D604: ; 0x0207D604 + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, _0207D6D8 ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x7 + bhi _0207D6D4 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r2, r3, #0 + lsl r6, r4, #0 + lsl r2, r6, #0 + lsl r6, r2, #0x1 + lsl r6, r7, #0 + lsl r2, r1, #0x1 + lsl r6, r2, #0x1 + mov r0, #0x92 + mov r1, #0x6 + lsl r0, r0, #0x2 + ldr r5, _0207D6DC ; =0x020FB3FC + str r1, [r4, r0] + b _0207D692 +_0207D638: + .byte 0x92, 0x20, 0x01, 0x21, 0x80, 0x00, 0x28, 0x4D + .byte 0x21, 0x50, 0x26, 0xE0, 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x26, 0x4D, 0x21, 0x50, 0x20, 0xE0 + .byte 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x24, 0x4D, 0x21, 0x50, 0x1A, 0xE0, 0x92, 0x20, 0x06, 0x21 + .byte 0x80, 0x00, 0x22, 0x4D, 0x21, 0x50, 0x14, 0xE0, 0x92, 0x20, 0x04, 0x21, 0x80, 0x00, 0x20, 0x4D + .byte 0x21, 0x50, 0x0E, 0xE0, 0x93, 0x20, 0x80, 0x00, 0x20, 0x58, 0x80, 0x7C, 0x03, 0x28, 0x01, 0xD0 + .byte 0x04, 0x28, 0x27, 0xD1, 0x92, 0x20, 0x03, 0x21, 0x80, 0x00, 0x1A, 0x4D, 0x21, 0x50, 0x00, 0xE0 + .byte 0xF8, 0xBD +_0207D692: + mov r1, #0x92 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r0, #0x13 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02018FF4 + mov r1, #0x91 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r1, #0x4 + ldr r0, [r4, r0] + mov r6, #0x0 + cmp r0, #0x0 + bls _0207D6D4 + add r7, r6, #0x0 +_0207D6B4: + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r0, [r4, #0x0] + add r1, r1, r7 + add r2, r5, #0x0 + bl sub_02019150 + mov r0, #0x92 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r6, r6, #0x1 + add r5, #0x8 + add r7, #0x10 + cmp r6, r0 + blo _0207D6B4 +_0207D6D4: + pop {r3-r7, pc} + nop +_0207D6D8: .word 0x0000068C +_0207D6DC: .word 0x020FB3FC +_0207D6E0: + .byte 0x8C, 0xB3, 0x0F, 0x02, 0x2C, 0xB4, 0x0F, 0x02, 0x6C, 0xB4, 0x0F, 0x02, 0xCC, 0xB3, 0x0F, 0x02 + .byte 0xAC, 0xB3, 0x0F, 0x02, 0x94, 0xB3, 0x0F, 0x02 + + thumb_func_start sub_0207D6F8 +sub_0207D6F8: ; 0x0207D6F8 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _0207D748 ; =0x0000068C + ldrsb r0, [r1, r0] + cmp r0, #0x7 + bhi _0207D744 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r6, r1, #0 + lsl r0, r4, #0 + lsl r0, r4, #0 + lsl r6, r1, #0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x3 + beq _0207D732 + cmp r0, #0x4 + beq _0207D732 + pop {r3, pc} +_0207D732: + mov r2, #0x91 + lsl r2, r2, #0x2 + ldr r0, [r1, r2] + add r2, r2, #0x4 + ldr r1, [r1, r2] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_020191A4 +_0207D744: + pop {r3, pc} + nop +_0207D748: .word 0x0000068C + + thumb_func_start sub_0207D74C +sub_0207D74C: ; 0x0207D74C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_0207D6F8 + mov r4, #0x0 + add r5, r5, #0x4 +_0207D758: + add r0, r5, #0x0 + bl sub_02019178 + add r4, r4, #0x1 + add r5, #0x10 + cmp r4, #0x24 + blo _0207D758 + pop {r3-r5, pc} + + thumb_func_start sub_0207D768 +sub_0207D768: ; 0x0207D768 + push {r3-r5, lr} + sub sp, #0x10 + mov r4, #0x89 + add r5, r0, #0x0 + lsl r4, r4, #0x2 + add r0, r5, r4 + mov r1, #0x0 + bl sub_02019620 + mov r1, #0x0 + add r2, r4, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207D7F4 ; =0x000F0E00 + add r2, #0x30 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r2, [r5, r2] + add r0, r5, r4 + add r3, r1, #0x0 + bl sub_0201BDE0 + add r0, r4, #0x0 + add r0, #0x3e + ldrb r1, [r5, r0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1f + bne _0207D7E8 + add r0, r0, #0x1 + ldrb r0, [r5, r0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + bne _0207D7CA + ldr r2, _0207D7F8 ; =0x00000674 + mov r1, #0x1 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + mov r2, #0xc1 + add r0, r5, #0x0 + add r1, r5, r4 + lsl r2, r2, #0xa + mov r3, #0x1 + bl sub_0207D998 + b _0207D7E8 +_0207D7CA: + cmp r0, #0x1 + bne _0207D7E8 + ldr r2, _0207D7F8 ; =0x00000674 + mov r1, #0x2 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + ldr r2, _0207D7FC ; =0x00050600 + add r0, r5, #0x0 + add r1, r5, r4 + mov r3, #0x1 + bl sub_0207D998 +_0207D7E8: + add r0, r5, r4 + bl sub_02019220 + add sp, #0x10 + pop {r3-r5, pc} + nop +_0207D7F4: .word 0x000F0E00 +_0207D7F8: .word 0x00000674 +_0207D7FC: .word 0x00050600 + + thumb_func_start sub_0207D800 +sub_0207D800: ; 0x0207D800 + push {r4-r6, lr} + sub sp, #0x10 + mov r6, #0x85 + add r5, r0, #0x0 + lsl r6, r6, #0x2 + add r0, r5, r6 + mov r1, #0x0 + bl sub_02019620 + add r0, r6, #0x0 + add r0, #0x8c + ldr r0, [r5, r0] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + bne _0207D88A + mov r0, #0x5 + str r0, [sp, #0x0] + mov r0, #0x67 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + mov r1, #0x1 + add r2, r5, r6 + mov r3, #0x0 + bl sub_0200B9A8 + ldr r0, _0207D894 ; =0x00000674 + mov r1, #0x3 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x0 + add r4, r0, #0x0 + add r2, r6, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + add r2, #0x4e + ldrb r2, [r5, r2] + ldr r0, _0207D898 ; =0x0000067C + mov r3, #0x3 + lsl r2, r2, #0x19 + ldr r0, [r5, r0] + lsr r2, r2, #0x19 + bl sub_0200AD38 + ldr r1, _0207D898 ; =0x0000067C + add r2, r4, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x0 + mov r2, #0x1a + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207D89C ; =0x00010200 + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r2, [r5, r2] + add r0, r5, r6 + mov r3, #0x10 + bl sub_0201BDE0 +_0207D88A: + add r0, r5, r6 + bl sub_02019220 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0207D894: .word 0x00000674 +_0207D898: .word 0x0000067C +_0207D89C: .word 0x00010200 + + thumb_func_start sub_0207D8A0 +sub_0207D8A0: ; 0x0207D8A0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r5, r0 + mov r1, #0x0 + bl sub_02019620 + ldr r0, _0207D918 ; =0x0000025E + ldrh r2, [r5, r0] + cmp r2, #0x0 + beq _0207D8E4 + ldr r0, _0207D91C ; =0x0000067C + mov r1, #0x0 + ldr r0, [r5, r0] + bl sub_0200AE38 + ldr r0, _0207D920 ; =0x00000674 + mov r1, #0x5 + ldr r0, [r5, r0] + bl sub_0200A914 + add r4, r0, #0x0 + ldr r1, _0207D91C ; =0x0000067C + add r2, r4, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + b _0207D8F2 +_0207D8E4: + ldr r2, _0207D920 ; =0x00000674 + mov r1, #0x6 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 +_0207D8F2: + mov r2, #0x81 + lsl r2, r2, #0x2 + add r1, r5, r2 + add r0, r5, #0x0 + lsl r2, r2, #0x7 + mov r3, #0x0 + bl sub_0207D998 + add r0, r5, #0x0 + add r0, #0x64 + bl sub_02019220 + mov r0, #0x81 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + pop {r3-r5, pc} + nop +_0207D918: .word 0x0000025E +_0207D91C: .word 0x0000067C +_0207D920: .word 0x00000674 + + thumb_func_start sub_0207D924 +sub_0207D924: ; 0x0207D924 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x8d + lsl r0, r0, #0x2 + add r4, r1, #0x0 + add r0, r5, r0 + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207D954 ; =0x000F0E00 + add r0, r5, #0x0 + mov r1, #0x23 + add r2, r4, #0x0 + bl sub_0207DA1C + mov r0, #0x8d + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + pop {r3-r5, pc} + nop +_0207D954: .word 0x000F0E00 + + thumb_func_start sub_0207D958 +sub_0207D958: ; 0x0207D958 + push {r4, lr} + mov r3, #0x93 + lsl r3, r3, #0x2 + add r1, r0, #0x0 + add r2, r3, #0x0 + add r2, #0x18 + ldr r0, [r1, r3] + ldr r4, [r1, r2] + ldr r2, [r0, #0xc] + cmp r4, r2 + bne _0207D98E + add r2, r3, #0x0 + add r2, #0x48 + ldrb r2, [r1, r2] + ldrb r0, [r0, #0x10] + cmp r2, r0 + bne _0207D98E + ldr r2, _0207D994 ; =0x00000684 + add r3, #0xc + ldr r0, [r1, r3] + ldr r1, [r1, r2] + bl sub_02021CE0 + cmp r0, #0x0 + bne _0207D98E + mov r0, #0x1 + pop {r4, pc} +_0207D98E: + mov r0, #0x0 + pop {r4, pc} + nop +_0207D994: .word 0x00000684 + + thumb_func_start sub_0207D998 +sub_0207D998: ; 0x0207D998 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + cmp r3, #0x0 + beq _0207D9B0 + cmp r3, #0x1 + beq _0207D9B4 + cmp r3, #0x2 + beq _0207D9D8 + b _0207D9FE +_0207D9B0: + mov r3, #0x0 + b _0207D9FE +_0207D9B4: + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r6, #0x0 + bl sub_0201AB0C + lsl r0, r0, #0x1b + lsr r0, r0, #0x18 + sub r0, r0, r5 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + b _0207D9FE +_0207D9D8: + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + add r0, r6, #0x0 + bl sub_0201AB0C + lsl r0, r0, #0x1b + lsr r0, r0, #0x18 + sub r1, r0, r5 + lsr r0, r1, #0x1f + add r0, r1, r0 + lsl r0, r0, #0x17 + lsr r3, r0, #0x18 +_0207D9FE: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + str r7, [sp, #0x8] + mov r2, #0x1a + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + add r0, r6, #0x0 + bl sub_0201BDE0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207DA1C +sub_0207DA1C: ; 0x0207DA1C + push {r4-r6, lr} + add r6, r3, #0x0 + ldr r3, _0207DA44 ; =0x00000674 + add r5, r0, #0x0 + ldr r0, [r5, r3] + add r4, r1, #0x0 + add r3, #0xc + add r1, r2, #0x0 + ldr r2, [r5, r3] + bl sub_0200A8E0 + add r2, r5, #0x4 + lsl r1, r4, #0x4 + add r1, r2, r1 + ldr r3, [sp, #0x10] + add r0, r5, #0x0 + add r2, r6, #0x0 + bl sub_0207D998 + pop {r4-r6, pc} + .balign 4 +_0207DA44: .word 0x00000674 + + thumb_func_start sub_0207DA48 +sub_0207DA48: ; 0x0207DA48 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0207DA8C ; =0x00000674 + add r6, r2, #0x0 + ldr r0, [r5, r0] + add r7, r3, #0x0 + bl sub_0200A914 + add r4, r0, #0x0 + add r0, sp, #0x10 + ldrb r0, [r0, #0x10] + mov r1, #0x0 + add r2, r6, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, _0207DA90 ; =0x0000067C + add r3, r7, #0x0 + ldr r0, [r5, r0] + bl sub_0200AD38 + ldr r1, _0207DA90 ; =0x0000067C + add r2, r4, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0207DA8C: .word 0x00000674 +_0207DA90: .word 0x0000067C + + thumb_func_start sub_0207DA94 +sub_0207DA94: ; 0x0207DA94 + push {r3-r7, lr} + sub sp, #0x20 + add r4, r0, #0x0 + str r3, [sp, #0x10] + mov r0, #0x91 + lsl r0, r0, #0x2 + lsl r7, r1, #0x4 + ldr r3, _0207DB70 ; =0x00000674 + ldr r5, [r4, r0] + ldr r0, [r4, r3] + add r3, #0xc + add r1, r2, #0x0 + ldr r2, [r4, r3] + bl sub_0200A8E0 + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + add r1, sp, #0x48 + ldrb r2, [r1, #0x0] + lsr r1, r0, #0x1 + sub r1, r2, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r1, r0 + str r1, [sp, #0x14] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x18] + add r0, sp, #0x4c + ldrb r0, [r0, #0x0] + mov r2, #0x1a + mov r1, #0x0 + str r0, [sp, #0x1c] + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207DB74 ; =0x00010200 + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r2, [r4, r2] + ldr r3, [sp, #0x14] + add r0, r5, r7 + bl sub_0201BDE0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r3, sp, #0x28 + ldrh r2, [r3, #0x14] + ldrb r3, [r3, #0x1c] + ldr r1, [sp, #0x10] + add r0, r4, #0x0 + bl sub_0207DA48 + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + mov r12, r0 + ldr r0, [sp, #0x1c] + mov r2, #0x1a + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207DB74 ; =0x00010200 + mov r1, #0x0 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r3, [sp, #0x14] + mov r6, r12 + ldr r2, [r4, r2] + add r0, r5, r7 + sub r3, r3, r6 + bl sub_0201BDE0 + mov r0, #0x0 + str r0, [sp, #0x0] + add r3, sp, #0x28 + ldrh r2, [r3, #0x18] + ldrb r3, [r3, #0x1c] + ldr r1, [sp, #0x38] + add r0, r4, #0x0 + bl sub_0207DA48 + ldr r0, [sp, #0x1c] + mov r2, #0x1a + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207DB74 ; =0x00010200 + mov r1, #0x0 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + ldr r3, [sp, #0x18] + add r0, r5, r7 + bl sub_0201BDE0 + add sp, #0x20 + pop {r3-r7, pc} + .balign 4 +_0207DB70: .word 0x00000674 +_0207DB74: .word 0x00010200 + + thumb_func_start sub_0207DB78 +sub_0207DB78: ; 0x0207DB78 + push {r4, lr} + sub sp, #0x10 + ldr r3, _0207DD7C ; =0x000F0E00 + mov r1, #0x0 + mov r2, #0x7 + add r4, r0, #0x0 + str r1, [sp, #0x0] + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x1 + mov r2, #0x17 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x2 + mov r2, #0x6d + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x3 + mov r2, #0x7e + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x4 + mov r2, #0x80 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x9d + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x6 + mov r2, #0x4 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x8 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x8 + mov r2, #0xa + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x9 + mov r2, #0xc + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0xa + mov r2, #0xd + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0xb + mov r2, #0xf + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0xc + mov r2, #0x11 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0xd + mov r2, #0x13 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0xf + mov r2, #0x6e + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x10 + mov r2, #0x6f + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x11 + mov r2, #0x70 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x12 + mov r2, #0x71 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x13 + mov r2, #0x72 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x14 + mov r2, #0x73 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x15 + mov r2, #0x74 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x16 + mov r2, #0x7f + bl sub_0207DA1C + ldr r2, _0207DD80 ; =0x00000674 + mov r1, #0x92 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r0, #0x2 + str r0, [sp, #0x0] + mov r2, #0xff + str r2, [sp, #0x4] + ldr r0, _0207DD7C ; =0x000F0E00 + mov r1, #0x0 + str r0, [sp, #0x8] + add r2, #0x85 + add r0, r4, r2 + mov r2, #0x1a + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + add r3, r1, #0x0 + bl sub_0201BDE0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x19 + mov r2, #0x95 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x1a + mov r2, #0x93 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x1b + mov r2, #0x94 + bl sub_0207DA1C + mov r0, #0x2 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x1c + mov r2, #0xa2 + bl sub_0207DA1C + mov r0, #0x2 + str r0, [sp, #0x0] + ldr r3, _0207DD84 ; =0x00010200 + add r0, r4, #0x0 + mov r1, #0x1d + mov r2, #0xa0 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD84 ; =0x00010200 + add r0, r4, #0x0 + mov r1, #0x1e + mov r2, #0xb6 + bl sub_0207DA1C + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, _0207DD7C ; =0x000F0E00 + add r0, r4, #0x0 + mov r1, #0x1f + mov r2, #0xb3 + bl sub_0207DA1C + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0207DD7C: .word 0x000F0E00 +_0207DD80: .word 0x00000674 +_0207DD84: .word 0x00010200 + + thumb_func_start sub_0207DD88 +sub_0207DD88: ; 0x0207DD88 + push {r4, lr} + sub sp, #0x10 + mov r2, #0x0 + add r4, r0, #0x0 + str r2, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r0, [r4, #0x0] + mov r1, #0x1 + add r3, r2, #0x0 + bl sub_02018540 + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x12 + str r0, [sp, #0x4] + mov r0, #0x16 + str r0, [sp, #0x8] + mov r0, #0x10 + str r0, [sp, #0xc] + ldr r0, [r4, #0x0] + mov r1, #0x1 + mov r2, #0x0 + mov r3, #0xe + bl sub_02018540 + ldr r0, _0207DE38 ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x7 + bhi _0207DE34 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r0, r3, #0 + lsl r2, r4, #0 + lsl r6, r6, #0 + lsl r4, r5, #0 + lsl r0, r0, #0x1 + lsl r2, r1, #0x1 + lsl r4, r2, #0x1 + add r0, r4, #0x0 + bl sub_0207DE3C + add sp, #0x10 + pop {r4, pc} +_0207DDF2: + .byte 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0 + .byte 0xFF, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x4A, 0xFB, 0x04, 0xB0, 0x10, 0xBD + .byte 0x20, 0x1C, 0x00, 0xF0, 0xBF, 0xFB, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x18, 0xFC + .byte 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x71, 0xFC, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C + .byte 0x00, 0xF0, 0xAA, 0xFC +_0207DE34: + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0207DE38: .word 0x0000068C + + thumb_func_start sub_0207DE3C +sub_0207DE3C: ; 0x0207DE3C + push {r3-r5, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, r4, #0x4 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0x74 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0x84 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0x94 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xa4 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xb4 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xc4 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xe4 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x20 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x40 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x50 + bl sub_02019620 + mov r1, #0x93 + lsl r1, r1, #0x2 + ldr r0, [r4, r1] + add r1, #0x10 + ldrh r1, [r4, r1] + ldr r0, [r0, #0x1c] + bl sub_0206BB48 + add r2, r0, #0x0 + beq _0207DEFE + mov r0, #0x2 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x9 + mov r3, #0x3 + bl sub_0207DA48 + b _0207DF0C +_0207DEFE: + ldr r2, _0207E0B4 ; =0x00000674 + mov r1, #0x16 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 +_0207DF0C: + mov r1, #0x2a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + lsl r0, r0, #0x2 + lsr r0, r0, #0x1f + bne _0207DF28 + sub r1, #0x5c + ldr r1, [r4, r1] + ldr r2, _0207E0B8 ; =0x00010200 + add r0, r4, #0x0 + mov r3, #0x2 + bl sub_0207D998 + b _0207DF36 +_0207DF28: + sub r1, #0x5c + ldr r1, [r4, r1] + ldr r2, _0207E0BC ; =0x00050600 + add r0, r4, #0x0 + mov r3, #0x2 + bl sub_0207D998 +_0207DF36: + mov r1, #0x25 + lsl r1, r1, #0x4 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + mov r2, #0x91 + lsl r2, r2, #0x2 + ldr r3, [r4, r2] + mov r1, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E0B8 ; =0x00010200 + add r2, #0xc + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r0, r3, #0x0 + ldrb r3, [r3, #0x17] + ldr r2, [r4, r2] + add r0, #0x10 + lsl r3, r3, #0x3 + sub r3, r3, r5 + lsr r3, r3, #0x1 + bl sub_0201BDE0 + mov r1, #0x96 + lsl r1, r1, #0x2 + mov r0, #0x0 + ldr r1, [r4, r1] + add r2, r0, #0x0 + bl sub_02002E14 + mov r5, #0x91 + lsl r5, r5, #0x2 + ldr r2, [r4, r5] + add r1, r2, #0x0 + add r1, #0x27 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x3 + sub r0, r1, r0 + lsr r3, r0, #0x1 + add r0, r5, #0x0 + add r0, #0x50 + ldrb r0, [r4, r0] + cmp r0, #0x0 + bne _0207DFB6 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0xc1 + lsl r0, r0, #0xa + str r0, [sp, #0x8] + add r2, #0x20 + str r1, [sp, #0xc] + add r5, #0x14 + add r0, r2, #0x0 + ldr r2, [r4, r5] + bl sub_0201BDE0 + b _0207DFD0 +_0207DFB6: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E0BC ; =0x00050600 + add r2, #0x20 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r5, #0x14 + add r0, r2, #0x0 + ldr r2, [r4, r5] + bl sub_0201BDE0 +_0207DFD0: + mov r0, #0x2 + mov r2, #0x99 + str r0, [sp, #0x0] + lsl r2, r2, #0x2 + ldr r2, [r4, r2] + add r0, r4, #0x0 + lsl r2, r2, #0x10 + mov r1, #0x10 + lsr r2, r2, #0x10 + mov r3, #0x5 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E0B8 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x30 + mov r3, #0x2 + bl sub_0207D998 + mov r0, #0x1 + mov r2, #0x9a + str r0, [sp, #0x0] + lsl r2, r2, #0x2 + ldr r2, [r4, r2] + add r0, r4, #0x0 + mov r1, #0x12 + mov r3, #0x7 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E0B8 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x40 + mov r3, #0x2 + bl sub_0207D998 + ldr r3, _0207E0C0 ; =0x00000262 + ldrb r0, [r4, r3] + lsl r0, r0, #0x19 + lsr r0, r0, #0x19 + cmp r0, #0x64 + bhs _0207E048 + mov r0, #0x1 + add r2, r3, #0x0 + str r0, [sp, #0x0] + add r2, #0xe + ldr r5, [r4, r2] + add r2, r3, #0x6 + ldr r2, [r4, r2] + add r0, r4, #0x0 + mov r1, #0x15 + sub r2, r5, r2 + mov r3, #0x7 + bl sub_0207DA48 + b _0207E058 +_0207E048: + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x15 + mov r2, #0x0 + mov r3, #0x7 + bl sub_0207DA48 +_0207E058: + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E0B8 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x50 + mov r3, #0x2 + bl sub_0207D998 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x40 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x50 + bl sub_02019220 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_0207E0B4: .word 0x00000674 +_0207E0B8: .word 0x00010200 +_0207E0BC: .word 0x00050600 +_0207E0C0: .word 0x00000262 + + thumb_func_start sub_0207E0C4 +sub_0207E0C4: ; 0x0207E0C4 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + mov r2, #0x13 + bl sub_0207FD00 + add r4, r0, #0x0 + ldr r2, [r4, #0x18] + cmp r2, #0x0 + beq _0207E0F8 + ldr r0, [r4, #0x14] + mov r1, #0x0 + sub r0, r0, #0x1 + lsl r0, r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E18C ; =0x00010200 + add r3, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 +_0207E0F8: + ldr r2, [r4, #0x20] + cmp r2, #0x0 + beq _0207E11A + ldr r0, [r4, #0x1c] + mov r1, #0x0 + sub r0, r0, #0x1 + lsl r0, r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E18C ; =0x00010200 + add r3, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 +_0207E11A: + ldr r2, [r4, #0x28] + cmp r2, #0x0 + beq _0207E13C + ldr r0, [r4, #0x24] + mov r1, #0x0 + sub r0, r0, #0x1 + lsl r0, r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E18C ; =0x00010200 + add r3, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 +_0207E13C: + ldr r2, [r4, #0x30] + cmp r2, #0x0 + beq _0207E15E + ldr r0, [r4, #0x2c] + mov r1, #0x0 + sub r0, r0, #0x1 + lsl r0, r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E18C ; =0x00010200 + add r3, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 +_0207E15E: + ldr r2, [r4, #0x38] + cmp r2, #0x0 + beq _0207E180 + ldr r0, [r4, #0x34] + mov r1, #0x0 + sub r0, r0, #0x1 + lsl r0, r0, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E18C ; =0x00010200 + add r3, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + bl sub_0201BDE0 +_0207E180: + add r0, r4, #0x0 + bl sub_02080094 + add sp, #0x10 + pop {r3-r5, pc} + nop +_0207E18C: .word 0x00010200 + + thumb_func_start sub_0207E190 +sub_0207E190: ; 0x0207E190 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x14 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + bl sub_02019620 + add r0, r5, #0x0 + bl sub_0207B628 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0207D958 + add r7, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r5, r0] + ldrb r1, [r1, #0x11] + cmp r1, #0x2 + bne _0207E1E8 + mov r0, #0x13 + bl sub_020669C0 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02069A64 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r1, r4, #0x0 + add r2, r7, #0x0 + bl sub_0207E0C4 + add r0, r4, #0x0 + bl sub_02016A18 + b _0207E1F4 +_0207E1E8: + sub r0, #0x8 + ldr r0, [r5, r0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0207E0C4 +_0207E1F4: + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02019220 + pop {r3-r7, pc} + + thumb_func_start sub_0207E200 +sub_0207E200: ; 0x0207E200 + push {r3-r5, lr} + sub sp, #0x18 + add r4, r0, #0x0 + add r0, #0x24 + bl sub_02019220 + add r0, r4, #0x0 + add r0, #0xf4 + bl sub_02019220 + mov r0, #0x41 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x45 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x49 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x4d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x51 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x55 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x20 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x40 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x50 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x60 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x70 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201AB0C + mov r1, #0x76 + str r1, [sp, #0x0] + mov r1, #0x9d + lsl r1, r1, #0x2 + ldrh r2, [r4, r1] + lsl r0, r0, #0x1a + add r1, r1, #0x2 + str r2, [sp, #0x4] + ldrh r1, [r4, r1] + lsr r0, r0, #0x18 + mov r2, #0x75 + str r1, [sp, #0x8] + mov r1, #0x3 + str r1, [sp, #0xc] + str r0, [sp, #0x10] + mov r1, #0x0 + add r0, r4, #0x0 + mov r3, #0x77 + str r1, [sp, #0x14] + bl sub_0207DA94 + mov r0, #0x0 + mov r2, #0x9e + str r0, [sp, #0x0] + lsl r2, r2, #0x2 + ldrh r2, [r4, r2] + add r0, r4, #0x0 + mov r1, #0x78 + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x10 + mov r3, #0x1 + bl sub_0207D998 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r2, _0207E488 ; =0x0000027A + add r0, r4, #0x0 + ldrh r2, [r4, r2] + mov r1, #0x79 + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x20 + mov r3, #0x1 + bl sub_0207D998 + mov r0, #0x0 + mov r2, #0x9f + str r0, [sp, #0x0] + lsl r2, r2, #0x2 + ldrh r2, [r4, r2] + add r0, r4, #0x0 + mov r1, #0x7a + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x30 + mov r3, #0x1 + bl sub_0207D998 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r2, _0207E48C ; =0x0000027E + add r0, r4, #0x0 + ldrh r2, [r4, r2] + mov r1, #0x7b + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x40 + mov r3, #0x1 + bl sub_0207D998 + mov r0, #0x0 + mov r2, #0xa + str r0, [sp, #0x0] + lsl r2, r2, #0x6 + ldrh r2, [r4, r2] + add r0, r4, #0x0 + mov r1, #0x7c + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x50 + mov r3, #0x1 + bl sub_0207D998 + ldr r2, _0207E490 ; =0x00000282 + ldr r0, _0207E494 ; =0x0000067C + ldrb r2, [r4, r2] + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_0200ADCC + ldr r0, _0207E498 ; =0x00000674 + mov r1, #0x7d + ldr r0, [r4, r0] + bl sub_0200A914 + add r5, r0, #0x0 + ldr r1, _0207E494 ; =0x0000067C + add r2, r5, #0x0 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x60 + mov r3, #0x0 + bl sub_0207D998 + ldr r2, _0207E49C ; =0x0000022A + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0x13 + bl sub_0200A86C + ldr r1, _0207E490 ; =0x00000282 + mov r2, #0x1a + lsl r2, r2, #0x6 + ldrb r1, [r4, r1] + ldr r2, [r4, r2] + add r5, r0, #0x0 + bl sub_0200A8E0 + add r0, r5, #0x0 + bl sub_0200A8B8 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E484 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x70 + mov r3, #0x0 + bl sub_0207D998 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x40 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x50 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x60 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x70 + bl sub_02019220 + add sp, #0x18 + pop {r3-r5, pc} + nop +_0207E484: .word 0x00010200 +_0207E488: .word 0x0000027A +_0207E48C: .word 0x0000027E +_0207E490: .word 0x00000282 +_0207E494: .word 0x0000067C +_0207E498: .word 0x00000674 +_0207E49C: .word 0x0000022A + + thumb_func_start sub_0207E4A0 +sub_0207E4A0: ; 0x0207E4A0 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, #0x34 + bl sub_02019220 + mov r0, #0x59 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x3 + beq _0207E4C6 + cmp r0, #0x4 + bne _0207E580 +_0207E4C6: + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + ldr r2, _0207E584 ; =0x00000674 + mov r1, #0xa5 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E588 ; =0x000F0E00 + add r0, r4, #0x0 + add r1, #0x10 + mov r3, #0x0 + bl sub_0207D998 + ldr r1, _0207E58C ; =0x0000029B + ldr r2, _0207E584 ; =0x00000674 + ldrb r1, [r4, r1] + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + add r1, #0xa6 + bl sub_0200A8E0 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E590 ; =0x00010200 + mov r1, #0x0 + str r0, [sp, #0x8] + mov r0, #0x91 + mov r2, #0x1a + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + add r0, #0x10 + add r3, r1, #0x0 + bl sub_0201BDE0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldrb r1, [r1, #0x12] + cmp r1, #0x3 + bne _0207E580 + sub r0, #0x8 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + ldr r2, _0207E584 ; =0x00000674 + mov r1, #0xa3 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E588 ; =0x000F0E00 + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_0207D998 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r4, #0x0 + bl sub_0207CFAC +_0207E580: + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0207E584: .word 0x00000674 +_0207E588: .word 0x000F0E00 +_0207E58C: .word 0x0000029B +_0207E590: .word 0x00010200 + + thumb_func_start sub_0207E594 +sub_0207E594: ; 0x0207E594 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x44 + bl sub_02019220 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x2 + bne _0207E5B4 + add r0, r4, #0x0 + mov r1, #0x9b + bl sub_0207D924 + b _0207E5BC +_0207E5B4: + add r0, r4, #0x0 + mov r1, #0x81 + bl sub_0207D924 +_0207E5BC: + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x20 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_0207EA44 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_02019220 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207E650 +sub_0207E650: ; 0x0207E650 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x54 + bl sub_02019220 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x2 + bne _0207E670 + add r0, r4, #0x0 + mov r1, #0x9f + bl sub_0207D924 + b _0207E678 +_0207E670: + add r0, r4, #0x0 + mov r1, #0x9e + bl sub_0207D924 +_0207E678: + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x20 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0207EA44 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_0207EA44 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_02019220 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207E70C +sub_0207E70C: ; 0x0207E70C + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r0, #0x7d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x79 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r2, _0207E780 ; =0x00000699 + add r0, r4, #0x0 + ldrb r2, [r4, r2] + mov r1, #0xb7 + mov r3, #0x3 + bl sub_0207DA48 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E784 ; =0x00010200 + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_0207D998 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02019220 + ldr r0, _0207E780 ; =0x00000699 + ldrb r0, [r4, r0] + cmp r0, #0x0 + beq _0207E77A + add r0, r4, #0x0 + mov r1, #0xb4 + bl sub_0207D924 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC +_0207E77A: + add sp, #0x4 + pop {r3-r4, pc} + nop +_0207E780: .word 0x00000699 +_0207E784: .word 0x00010200 + + thumb_func_start sub_0207E788 +sub_0207E788: ; 0x0207E788 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + mov r0, #0x71 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_02019220 + add r0, r4, #0x0 + mov r1, #0xa1 + bl sub_0207D924 + mov r1, #0x8d + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + bl sub_0207CFAC + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x3 + beq _0207E7BC + cmp r0, #0x4 + bne _0207E82C +_0207E7BC: + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + ldr r2, _0207E830 ; =0x00000674 + mov r1, #0xa5 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207E834 ; =0x000F0E00 + add r0, r4, #0x0 + add r1, #0x10 + mov r3, #0x0 + bl sub_0207D998 + ldr r1, _0207E838 ; =0x0000029B + ldr r2, _0207E830 ; =0x00000674 + ldrb r1, [r4, r1] + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + add r1, #0xa6 + bl sub_0200A8E0 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E83C ; =0x00010200 + mov r1, #0x0 + str r0, [sp, #0x8] + mov r0, #0x91 + mov r2, #0x1a + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + add r0, #0x10 + add r3, r1, #0x0 + bl sub_0201BDE0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x10 + bl sub_02019220 +_0207E82C: + add sp, #0x10 + pop {r4, pc} + .balign 4 +_0207E830: .word 0x00000674 +_0207E834: .word 0x000F0E00 +_0207E838: .word 0x0000029B +_0207E83C: .word 0x00010200 + + thumb_func_start sub_0207E840 +sub_0207E840: ; 0x0207E840 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + add r0, #0x10 + bl sub_02019620 + ldr r0, _0207E994 ; =0x00000674 + mov r1, #0xba + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x0 + add r4, r0, #0x0 + ldr r2, _0207E998 ; =0x0000067C + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, r2] + add r2, #0x1d + ldrb r2, [r5, r2] + mov r3, #0x3 + bl sub_0200AD38 + ldr r1, _0207E998 ; =0x0000067C + add r2, r4, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r5, r1] + add r2, r0, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x38 + sub r0, r0, r1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + mov r1, #0x0 + mov r2, #0x1a + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E99C ; =0x00010200 + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + mov r0, #0x91 + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + add r0, #0x10 + add r3, r4, #0x0 + bl sub_0201BDE0 + ldr r0, _0207E994 ; =0x00000674 + mov r1, #0xb9 + ldr r0, [r5, r0] + bl sub_0200A914 + add r6, r0, #0x0 + mov r0, #0x0 + add r1, r6, #0x0 + add r2, r0, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r0, r4, r0 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E99C ; =0x00010200 + add r2, r6, #0x0 + str r0, [sp, #0x8] + mov r0, #0x91 + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r3, r4, #0x0 + add r0, #0x10 + bl sub_0201BDE0 + add r0, r6, #0x0 + bl sub_02021A20 + ldr r0, _0207E994 ; =0x00000674 + mov r1, #0xb8 + ldr r0, [r5, r0] + bl sub_0200A914 + mov r1, #0x0 + ldr r2, _0207E998 ; =0x0000067C + add r6, r0, #0x0 + add r3, r2, #0x0 + str r1, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, r2] + add r2, #0x1c + add r3, #0x1b + ldrb r2, [r5, r2] + ldrb r3, [r5, r3] + lsl r2, r2, #0x2 + add r2, r3, r2 + add r2, r2, #0x1 + mov r3, #0x3 + bl sub_0200AD38 + ldr r1, _0207E998 ; =0x0000067C + add r2, r6, #0x0 + ldr r0, [r5, r1] + add r1, r1, #0x4 + ldr r1, [r5, r1] + bl sub_0200B7B8 + add r0, r6, #0x0 + bl sub_02021A20 + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r5, r1] + add r2, r0, #0x0 + bl sub_02002E14 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r0, r4, r0 + lsl r0, r0, #0x18 + mov r1, #0x0 + lsr r3, r0, #0x18 + mov r2, #0x1a + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207E99C ; =0x00010200 + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + mov r0, #0x91 + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + add r0, #0x10 + bl sub_0201BDE0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x10 + bl sub_02019220 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0207E994: .word 0x00000674 +_0207E998: .word 0x0000067C +_0207E99C: .word 0x00010200 + + thumb_func_start sub_0207E9A0 +sub_0207E9A0: ; 0x0207E9A0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x20 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x30 + bl sub_02019620 + ldr r0, _0207EA34 ; =0x0000069A + mov r1, #0x3 + ldrb r0, [r4, r0] + bl sub_0207FC5C + ldr r2, _0207EA38 ; =0x00000678 + add r1, r0, #0x0 + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207EA3C ; =0x000F0E00 + add r0, r4, #0x0 + add r1, #0x20 + mov r3, #0x0 + bl sub_0207D998 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, _0207EA34 ; =0x0000069A + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x20] + bl sub_0207FCC0 + ldr r2, _0207EA38 ; =0x00000678 + add r1, r0, #0x0 + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r2, _0207EA40 ; =0x00010200 + add r0, r4, #0x0 + add r1, #0x30 + mov r3, #0x0 + bl sub_0207D998 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x20 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x30 + bl sub_02019220 + pop {r4, pc} + .balign 4 +_0207EA34: .word 0x0000069A +_0207EA38: .word 0x00000678 +_0207EA3C: .word 0x000F0E00 +_0207EA40: .word 0x00010200 + + thumb_func_start sub_0207EA44 +sub_0207EA44: ; 0x0207EA44 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + mov r0, #0x91 + add r7, r1, #0x0 + lsl r0, r0, #0x2 + lsl r6, r7, #0x4 + ldr r4, [r5, r0] + cmp r7, #0x4 + beq _0207EA76 + lsl r1, r7, #0x1 + add r2, r5, r1 + add r1, r0, #0x0 + add r1, #0x40 + ldrh r1, [r2, r1] + add r2, r0, #0x0 + add r2, #0x48 + str r1, [sp, #0x20] + add r1, r5, r7 + ldrb r2, [r1, r2] + add r0, #0x4c + str r2, [sp, #0x1c] + ldrb r0, [r1, r0] + str r0, [sp, #0x18] + b _0207EA88 +_0207EA76: + add r0, #0x8 + ldr r0, [r5, r0] + mov r1, #0x0 + ldrh r0, [r0, #0x18] + str r0, [sp, #0x20] + bl sub_0206AB30 + str r0, [sp, #0x1c] + str r0, [sp, #0x18] +_0207EA88: + ldr r2, _0207EB54 ; =0x00000688 + ldr r1, [sp, #0x20] + ldr r0, [r5, r2] + sub r2, #0x8 + ldr r2, [r5, r2] + bl sub_0200A8E0 + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207EB58 ; =0x000F0E00 + mov r2, #0x1a + str r0, [sp, #0x8] + mov r1, #0x0 + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r5, r2] + add r0, r4, r6 + mov r3, #0x1 + bl sub_0201BDE0 + ldr r0, [sp, #0x20] + ldr r2, _0207EB5C ; =0x00000674 + cmp r0, #0x0 + beq _0207EB10 + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + mov r1, #0x87 + bl sub_0200A8E0 + mov r3, #0x10 + mov r2, #0x1a + str r3, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207EB60 ; =0x00010200 + mov r1, #0x0 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r5, r2] + add r0, r4, r6 + bl sub_0201BDE0 + add r0, r7, #0x0 + add r0, #0x8d + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + add r1, r7, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x18] + add r7, #0x88 + str r0, [sp, #0x8] + mov r0, #0x2 + str r0, [sp, #0xc] + mov r0, #0x3c + str r0, [sp, #0x10] + mov r0, #0x10 + str r0, [sp, #0x14] + add r0, r5, #0x0 + mov r2, #0x75 + add r3, r7, #0x0 + bl sub_0207DA94 + add sp, #0x24 + pop {r4-r7, pc} +_0207EB10: + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + mov r1, #0x99 + bl sub_0200A8E0 + mov r1, #0x1a + lsl r1, r1, #0x6 + mov r0, #0x0 + ldr r1, [r5, r1] + add r2, r0, #0x0 + bl sub_02002E14 + add r3, r0, #0x0 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207EB60 ; =0x00010200 + mov r2, #0x1a + str r0, [sp, #0x8] + mov r1, #0x0 + add r0, r4, r6 + lsr r4, r3, #0x1 + mov r3, #0x3c + str r1, [sp, #0xc] + lsl r2, r2, #0x6 + ldr r2, [r5, r2] + sub r3, r3, r4 + bl sub_0201BDE0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0207EB54: .word 0x00000688 +_0207EB58: .word 0x000F0E00 +_0207EB5C: .word 0x00000674 +_0207EB60: .word 0x00010200 + + thumb_func_start sub_0207EB64 +sub_0207EB64: ; 0x0207EB64 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r5, r0 + add r4, r1, #0x0 + bl sub_02019220 + mov r0, #0x69 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + mov r0, #0x6d + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + add r0, #0x50 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + add r0, #0x60 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + mov r1, #0x0 + add r0, #0x70 + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_0206AB18 + add r2, r0, #0x0 + cmp r2, #0x1 + bhi _0207EBD2 + ldr r2, _0207EC88 ; =0x00000674 + mov r1, #0x9a + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + b _0207EBE0 +_0207EBD2: + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x96 + mov r3, #0x3 + bl sub_0207DA48 +_0207EBE0: + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + ldr r2, _0207EC8C ; =0x00010200 + add r0, r5, #0x0 + add r1, #0x50 + mov r3, #0x2 + bl sub_0207D998 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_0206AB18 + add r2, r0, #0x0 + bne _0207EC0E + ldr r2, _0207EC88 ; =0x00000674 + mov r1, #0x9a + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + b _0207EC1C +_0207EC0E: + mov r0, #0x1 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r1, #0x97 + mov r3, #0x3 + bl sub_0207DA48 +_0207EC1C: + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + ldr r2, _0207EC8C ; =0x00010200 + add r0, r5, #0x0 + add r1, #0x60 + mov r3, #0x2 + bl sub_0207D998 + ldr r2, _0207EC90 ; =0x0000024B + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0x13 + bl sub_0200A86C + mov r2, #0x1a + lsl r2, r2, #0x6 + ldr r2, [r5, r2] + add r1, r4, #0x0 + add r6, r0, #0x0 + bl sub_0200A8E0 + mov r1, #0x91 + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + ldr r2, _0207EC8C ; =0x00010200 + add r0, r5, #0x0 + add r1, #0x70 + mov r3, #0x0 + bl sub_0207D998 + add r0, r6, #0x0 + bl sub_0200A8B8 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x50 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x60 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x70 + bl sub_02019220 + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0207EC88: .word 0x00000674 +_0207EC8C: .word 0x00010200 +_0207EC90: .word 0x0000024B + + thumb_func_start sub_0207EC94 +sub_0207EC94: ; 0x0207EC94 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x65 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x69 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x6d + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x50 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x60 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x70 + bl sub_0201958C + pop {r4, pc} + + thumb_func_start sub_0207ECDC +sub_0207ECDC: ; 0x0207ECDC + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldrh r1, [r1, #0x18] + cmp r1, #0x0 + beq _0207ED0E + sub r0, #0x8 + ldr r0, [r4, r0] + mov r1, #0x0 + add r0, #0x40 + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_0207EA44 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x40 + bl sub_02019220 + pop {r4, pc} +_0207ED0E: + sub r0, #0xc8 + add r0, r4, r0 + bl sub_02019220 + pop {r4, pc} + + thumb_func_start sub_0207ED18 +sub_0207ED18: ; 0x0207ED18 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x61 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + ldr r0, [r4, #0x0] + mov r1, #0x1 + bl sub_0201AC68 + pop {r4, pc} + + thumb_func_start sub_0207ED30 +sub_0207ED30: ; 0x0207ED30 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldr r0, _0207EDB0 ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldr r0, _0207EDB0 ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + lsl r0, r0, #0x4 + add r0, r1, r0 + mov r1, #0x0 + bl sub_02019620 + ldr r1, _0207EDB0 ; =0x0000068D + add r0, r4, #0x0 + ldrb r1, [r4, r1] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + bl sub_0207EA44 + ldr r1, _0207EDB0 ; =0x0000068D + add r0, r4, #0x0 + ldrb r1, [r4, r1] + lsl r1, r1, #0x18 + lsr r1, r1, #0x1c + bl sub_0207EA44 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldr r0, _0207EDB0 ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldr r0, _0207EDB0 ; =0x0000068D + ldrb r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + lsl r0, r0, #0x4 + add r0, r1, r0 + bl sub_02019220 + pop {r4, pc} + nop +_0207EDB0: .word 0x0000068D + + thumb_func_start sub_0207EDB4 +sub_0207EDB4: ; 0x0207EDB4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0207EE20 ; =0x0000068C + ldrsb r0, [r5, r0] + cmp r0, #0x3 + bne _0207EDEE + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x50 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x60 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x70 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r4, [r5, r0] + add r4, #0x70 + b _0207EDF6 +_0207EDEE: + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r4, [r5, r0] + add r4, #0x50 +_0207EDF6: + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02019620 + ldr r2, _0207EE24 ; =0x00000674 + mov r1, #0x9c + ldr r0, [r5, r2] + add r2, #0xc + ldr r2, [r5, r2] + bl sub_0200A8E0 + ldr r2, _0207EE28 ; =0x00010200 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl sub_0207D998 + add r0, r4, #0x0 + bl sub_02019220 + pop {r3-r5, pc} + .balign 4 +_0207EE20: .word 0x0000068C +_0207EE24: .word 0x00000674 +_0207EE28: .word 0x00010200 + + thumb_func_start sub_0207EE2C +sub_0207EE2C: ; 0x0207EE2C + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r4, r1, #0x0 + add r0, #0x50 + mov r1, #0x0 + bl sub_02019620 + add r0, r4, #0x0 + mov r1, #0xa + bl sub_0206AB18 + bl sub_0208315C + add r4, r0, #0x0 + mov r0, #0x0 + mov r1, #0x1a + mov r2, #0xc5 + mov r3, #0x13 + bl sub_0200A86C + mov r2, #0x1a + lsl r2, r2, #0x6 + ldr r2, [r5, r2] + add r1, r4, #0x0 + add r6, r0, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + mov r2, #0x1a + str r1, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207EEAC ; =0x00010200 + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + mov r0, #0x91 + str r1, [sp, #0xc] + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r2, [r5, r2] + add r0, #0x50 + add r3, r1, #0x0 + bl sub_0201BDE0 + add r0, r6, #0x0 + bl sub_0200A8B8 + mov r0, #0x75 + lsl r0, r0, #0x2 + add r0, r5, r0 + bl sub_02019220 + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + add r0, #0x50 + bl sub_02019220 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0207EEAC: .word 0x00010200 + + thumb_func_start sub_0207EEB0 +sub_0207EEB0: ; 0x0207EEB0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x75 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0201958C + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r0, #0x50 + bl sub_0201958C + pop {r4, pc} + + thumb_func_start sub_0207EECC +sub_0207EECC: ; 0x0207EECC + push {r4-r6, lr} + sub sp, #0x10 + add r4, r0, #0x0 + cmp r1, #0x4 + bgt _0207EEF0 + cmp r1, #0x0 + blt _0207EF0E + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r1, #0 + lsl r2, r2, #0 + lsl r6, r2, #0 + lsl r2, r3, #0 + lsl r6, r3, #0 +_0207EEF0: + cmp r1, #0xfe + beq _0207EF0A + b _0207EF0E +_0207EEF6: + .byte 0xAC, 0x25, 0x0A, 0xE0, 0xAE, 0x25, 0x08, 0xE0, 0xAF, 0x25 + .byte 0x06, 0xE0, 0xB0, 0x25, 0x04, 0xE0, 0xAD, 0x25, 0x02, 0xE0 +_0207EF0A: + mov r5, #0xb1 + b _0207EF10 +_0207EF0E: + mov r5, #0xb2 +_0207EF10: + mov r0, #0x91 + lsl r0, r0, #0x2 + ldr r6, [r4, r0] + ldr r2, _0207EF60 ; =0x000003E2 + add r6, #0x20 + add r0, r6, #0x0 + mov r1, #0x1 + mov r3, #0xd + bl sub_0200D0BC + add r0, r6, #0x0 + mov r1, #0xf + bl sub_02019620 + ldr r2, _0207EF64 ; =0x00000674 + add r1, r5, #0x0 + ldr r0, [r4, r2] + add r2, #0xc + ldr r2, [r4, r2] + bl sub_0200A8E0 + mov r3, #0x0 + mov r2, #0x1a + str r3, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _0207EF68 ; =0x0001020F + lsl r2, r2, #0x6 + str r0, [sp, #0x8] + str r3, [sp, #0xc] + ldr r2, [r4, r2] + add r0, r6, #0x0 + mov r1, #0x1 + bl sub_0201BDE0 + add r0, r6, #0x0 + bl sub_02019220 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 +_0207EF60: .word 0x000003E2 +_0207EF64: .word 0x00000674 +_0207EF68: .word 0x0001020F + + thumb_func_start sub_0207EF6C +sub_0207EF6C: ; 0x0207EF6C + push {r3-r4, lr} + sub sp, #0x4 + blx sub_020BB7F4 + blx sub_020C7E94 + blx sub_020C7D28 + ldr r0, _0207EFEC ; =0x04000060 + ldr r1, _0207EFF0 ; =0xFFFFCFFD + ldrh r2, [r0, #0x0] + ldr r3, _0207EFF4 ; =0x0000CFFB + and r2, r1 + strh r2, [r0, #0x0] + ldrh r2, [r0, #0x0] + and r2, r3 + strh r2, [r0, #0x0] + add r2, r1, #0x2 + ldrh r4, [r0, #0x0] + add r1, r1, #0x2 + sub r3, #0x1c + and r4, r2 + mov r2, #0x8 + orr r2, r4 + strh r2, [r0, #0x0] + ldrh r2, [r0, #0x0] + and r2, r1 + mov r1, #0x10 + orr r1, r2 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + and r1, r3 + strh r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + blx sub_020C7C28 + mov r0, #0x0 + ldr r2, _0207EFF8 ; =0x00007FFF + add r1, r0, #0x0 + mov r3, #0x3f + str r0, [sp, #0x0] + blx sub_020C7B3C + ldr r1, _0207EFFC ; =0x04000540 + mov r0, #0x0 + str r0, [r1, #0x0] + ldr r0, _0207F000 ; =0xBFFF0000 + str r0, [r1, #0x40] + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r1, _0207F004 ; =0x04000008 + mov r0, #0x3 + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x2 + orr r0, r2 + strh r0, [r1, #0x0] + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0207EFEC: .word 0x04000060 +_0207EFF0: .word 0xFFFFCFFD +_0207EFF4: .word 0x0000CFFB +_0207EFF8: .word 0x00007FFF +_0207EFFC: .word 0x04000540 +_0207F000: .word 0xBFFF0000 +_0207F004: .word 0x04000008 + + thumb_func_start sub_0207F008 +sub_0207F008: ; 0x0207F008 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0207F05C ; =0x0000068C + ldrsb r0, [r4, r0] + cmp r0, #0x4 + bne _0207F046 + bl sub_020222AC + bl sub_0201EBA4 + ldr r2, _0207F060 ; =0x04000440 + mov r3, #0x0 + add r1, r2, #0x0 + str r3, [r2, #0x0] + add r1, #0x14 + str r3, [r1, #0x0] + mov r0, #0x2 + str r0, [r2, #0x0] + str r3, [r1, #0x0] + blx sub_020B849C + mov r0, #0xb7 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_0207F108 + blx sub_020B849C + add r0, r4, #0x0 + bl sub_0207F1A4 +_0207F046: + blx sub_020B02C8 + mov r0, #0xae + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02006ED4 + ldr r0, _0207F064 ; =0x04000540 + mov r1, #0x1 + str r1, [r0, #0x0] + pop {r4, pc} + .balign 4 +_0207F05C: .word 0x0000068C +_0207F060: .word 0x04000440 +_0207F064: .word 0x04000540 + + thumb_func_start sub_0207F068 +sub_0207F068: ; 0x0207F068 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201EB70 + + non_word_aligned_thumb_func_start sub_0207F076 +sub_0207F076: ; 0x0207F076 + mov r0, #0x2d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02014D9C + mov r0, #0x2d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_02014C28 + mov r0, #0xae + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020072E8 + pop {r4, pc} + + thumb_func_start sub_0207F098 +sub_0207F098: ; 0x0207F098 + push {r3-r4, lr} + sub sp, #0x1c + ldr r3, _0207F100 ; =0x020FB5CC + add r4, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x10 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + add r1, sp, #0x8 + str r0, [r2, #0x0] + mov r0, #0x0 + strh r0, [r1, #0x0] + strh r0, [r1, #0x2] + strh r0, [r1, #0x4] + strh r0, [r1, #0x6] + mov r0, #0x13 + bl sub_0201EB64 + mov r1, #0xad + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r2, #0x1 + str r2, [sp, #0x0] + ldr r0, [r4, r1] + lsl r1, r2, #0x10 + str r0, [sp, #0x4] + ldr r3, _0207F104 ; =0x000005C1 + add r0, sp, #0x10 + add r2, sp, #0x8 + bl sub_0201ED10 + mov r2, #0xad + lsl r2, r2, #0x2 + mov r1, #0x19 + ldr r2, [r4, r2] + mov r0, #0x0 + lsl r1, r1, #0xe + bl sub_0201EC94 + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201EC88 + mov r0, #0xad + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0201EB8C + add sp, #0x1c + pop {r3-r4, pc} + nop +_0207F100: .word 0x020FB5CC +_0207F104: .word 0x000005C1 + + thumb_func_start sub_0207F108 +sub_0207F108: ; 0x0207F108 + push {r4-r7} + add r4, r0, #0x0 + ldr r0, _0207F170 ; =0x121400C0 + ldr r1, _0207F174 ; =0x040004A4 + ldr r2, _0207F178 ; =0x00003FE8 + str r0, [r1, #0x0] + mov r0, #0x1 + str r0, [r1, #0x5c] + ldr r0, _0207F17C ; =0x0400048C + mov r3, #0x0 + sub r1, #0x24 +_0207F11E: + str r2, [r1, #0x0] + ldrh r7, [r4, #0x2] + ldrh r5, [r4, #0x0] + ldrh r6, [r4, #0x4] + lsl r7, r7, #0x10 + orr r5, r7 + str r5, [r0, #0x0] + str r6, [r0, #0x0] + str r2, [r1, #0x0] + ldrh r7, [r4, #0x8] + ldrh r5, [r4, #0x6] + ldrh r6, [r4, #0xa] + lsl r7, r7, #0x10 + orr r5, r7 + str r5, [r0, #0x0] + str r6, [r0, #0x0] + str r2, [r1, #0x0] + ldrh r7, [r4, #0x14] + ldrh r5, [r4, #0x12] + ldrh r6, [r4, #0x16] + lsl r7, r7, #0x10 + orr r5, r7 + str r5, [r0, #0x0] + str r6, [r0, #0x0] + str r2, [r1, #0x0] + ldrh r7, [r4, #0xe] + ldrh r5, [r4, #0xc] + ldrh r6, [r4, #0x10] + lsl r7, r7, #0x10 + orr r5, r7 + str r5, [r0, #0x0] + add r3, r3, #0x1 + add r4, #0x18 + str r6, [r0, #0x0] + cmp r3, #0x4 + blo _0207F11E + ldr r0, _0207F180 ; =0x04000504 + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r4-r7} + bx lr + .balign 4 +_0207F170: .word 0x121400C0 +_0207F174: .word 0x040004A4 +_0207F178: .word 0x00003FE8 +_0207F17C: .word 0x0400048C +_0207F180: .word 0x04000504 + + thumb_func_start sub_0207F184 +sub_0207F184: ; 0x0207F184 + mov r2, #0x0 + ldrsh r3, [r0, r2] + ldrsh r2, [r1, r2] + add r2, r3, r2 + strh r2, [r0, #0x0] + mov r2, #0x2 + ldrsh r3, [r0, r2] + ldrsh r2, [r1, r2] + add r2, r3, r2 + strh r2, [r0, #0x2] + mov r2, #0x4 + ldrsh r3, [r0, r2] + ldrsh r1, [r1, r2] + add r1, r3, r1 + strh r1, [r0, #0x4] + bx lr + + thumb_func_start sub_0207F1A4 +sub_0207F1A4: ; 0x0207F1A4 + push {r3-r7, lr} + sub sp, #0x18 + mov r2, #0xff + lsl r2, r2, #0x2 + add r1, r0, #0x0 + ldr r1, [r1, r2] + str r0, [sp, #0x0] + cmp r1, #0x4 + bne _0207F1BE + bl sub_0207D598 + add sp, #0x18 + pop {r3-r7, pc} +_0207F1BE: + cmp r1, #0x3 + bne _0207F1EA + add r6, r0, #0x0 + add r7, r2, #0x0 + mov r0, #0xb7 + mov r5, #0x0 + sub r7, #0x60 + lsl r0, r0, #0x2 +_0207F1CE: + add r4, r6, r7 + add r3, r6, r0 + mov r2, #0xc +_0207F1D4: + ldrh r1, [r4, #0x0] + add r4, r4, #0x2 + strh r1, [r3, #0x0] + add r3, r3, #0x2 + sub r2, r2, #0x1 + bne _0207F1D4 + add r5, r5, #0x1 + add r6, #0x18 + cmp r5, #0x4 + blo _0207F1CE + b _0207F274 +_0207F1EA: + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + sub r2, #0xc0 + add r0, r0, r2 + str r0, [sp, #0x14] + mov r0, #0xb7 + lsl r0, r0, #0x2 + ldr r1, [sp, #0x0] + add r2, r0, #0x0 + add r1, r1, r0 + str r1, [sp, #0x10] + ldr r1, [sp, #0x0] + add r2, #0x66 + add r1, r1, r2 + str r1, [sp, #0xc] + ldr r1, [sp, #0x0] + add r2, r0, #0x6 + add r1, r1, r2 + str r1, [sp, #0x8] + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r2, #0x6c + add r7, r1, r2 + add r2, r0, #0x0 + add r2, #0xc + add r6, r1, r2 + add r2, r0, #0x0 + add r2, #0x72 + add r0, #0x12 + add r4, r1, r2 + add r5, r1, r0 +_0207F22A: + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x14] + bl sub_0207F184 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0xc] + bl sub_0207F184 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_0207F184 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0207F184 + ldr r0, [sp, #0x14] + add r7, #0x18 + add r0, #0x18 + str r0, [sp, #0x14] + ldr r0, [sp, #0x10] + add r6, #0x18 + add r0, #0x18 + str r0, [sp, #0x10] + ldr r0, [sp, #0xc] + add r4, #0x18 + add r0, #0x18 + str r0, [sp, #0xc] + ldr r0, [sp, #0x8] + add r5, #0x18 + add r0, #0x18 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] + cmp r0, #0x4 + blo _0207F22A +_0207F274: + mov r1, #0xff + ldr r0, [sp, #0x0] + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x0] + str r2, [r0, r1] + ldr r0, [r0, r1] + cmp r0, #0x4 + bne _0207F294 + ldr r0, [sp, #0x0] + mov r1, #0x1 + bl sub_0207D418 + add sp, #0x18 + pop {r3-r7, pc} +_0207F294: + ldr r0, [sp, #0x0] + mov r1, #0x0 + bl sub_0207D418 + add sp, #0x18 + pop {r3-r7, pc} + + thumb_func_start sub_0207F2A0 +sub_0207F2A0: ; 0x0207F2A0 + push {r3-r7, lr} + sub sp, #0x18 + ldr r1, _0207F420 ; =0x0000068C + ldrsb r1, [r0, r1] + cmp r1, #0x4 + beq _0207F2AE + b _0207F41A +_0207F2AE: + ldr r7, _0207F424 ; =0x020FB60C + add r3, sp, #0x0 + ldrh r1, [r7, #0x8] + strh r1, [r3, #0x12] + ldrh r1, [r7, #0xa] + strh r1, [r3, #0x14] + ldrh r1, [r7, #0xc] + strh r1, [r3, #0x16] + mov r1, #0xb7 + lsl r1, r1, #0x2 + ldrh r5, [r3, #0x12] + add r2, r1, #0x2 + strh r5, [r0, r1] + ldrh r4, [r3, #0x14] + strh r4, [r0, r2] + ldrh r6, [r3, #0x16] + add r2, r1, #0x4 + strh r6, [r0, r2] + add r2, r1, #0x6 + strh r5, [r0, r2] + add r2, r1, #0x0 + add r2, #0x8 + strh r4, [r0, r2] + add r2, r1, #0x0 + add r2, #0xa + strh r6, [r0, r2] + add r2, r1, #0x0 + add r2, #0xc + strh r5, [r0, r2] + add r2, r1, #0x0 + add r2, #0xe + strh r4, [r0, r2] + add r2, r1, #0x0 + add r2, #0x10 + strh r6, [r0, r2] + add r2, r1, #0x0 + add r2, #0x12 + strh r5, [r0, r2] + add r2, r1, #0x0 + add r2, #0x14 + strh r4, [r0, r2] + add r2, r1, #0x0 + add r2, #0x16 + strh r6, [r0, r2] + ldrh r2, [r7, #0x3e] + ldr r6, _0207F428 ; =0x020FB64C + add r7, r1, #0x0 + strh r2, [r3, #0xc] + ldrh r2, [r6, #0x0] + add r7, #0x1c + strh r2, [r3, #0xe] + ldrh r2, [r6, #0x2] + strh r2, [r3, #0x10] + add r2, r1, #0x0 + ldrh r5, [r3, #0xc] + add r2, #0x18 + strh r5, [r0, r2] + add r2, r1, #0x0 + ldrh r4, [r3, #0xe] + add r2, #0x1a + strh r4, [r0, r2] + ldrh r2, [r3, #0x10] + strh r2, [r0, r7] + add r7, r1, #0x0 + add r7, #0x1e + strh r5, [r0, r7] + add r7, r1, #0x0 + add r7, #0x20 + strh r4, [r0, r7] + add r7, r1, #0x0 + add r7, #0x22 + strh r2, [r0, r7] + add r7, r1, #0x0 + add r7, #0x24 + strh r5, [r0, r7] + add r7, r1, #0x0 + add r7, #0x26 + strh r4, [r0, r7] + add r7, r1, #0x0 + add r7, #0x28 + strh r2, [r0, r7] + add r7, r1, #0x0 + add r7, #0x2a + strh r5, [r0, r7] + add r5, r1, #0x0 + add r5, #0x2c + strh r4, [r0, r5] + add r4, r1, #0x0 + add r4, #0x2e + strh r2, [r0, r4] + ldrh r2, [r6, #0x34] + strh r2, [r3, #0x6] + ldrh r2, [r6, #0x36] + strh r2, [r3, #0x8] + ldrh r2, [r6, #0x38] + add r6, r1, #0x0 + add r6, #0x34 + strh r2, [r3, #0xa] + add r2, r1, #0x0 + ldrh r5, [r3, #0x6] + add r2, #0x30 + strh r5, [r0, r2] + add r2, r1, #0x0 + ldrh r4, [r3, #0x8] + add r2, #0x32 + strh r4, [r0, r2] + ldrh r2, [r3, #0xa] + strh r2, [r0, r6] + add r6, r1, #0x0 + add r6, #0x36 + strh r5, [r0, r6] + add r6, r1, #0x0 + add r6, #0x38 + strh r4, [r0, r6] + add r6, r1, #0x0 + add r6, #0x3a + strh r2, [r0, r6] + add r6, r1, #0x0 + add r6, #0x3c + strh r5, [r0, r6] + add r6, r1, #0x0 + add r6, #0x3e + strh r4, [r0, r6] + add r6, r1, #0x0 + add r6, #0x40 + strh r2, [r0, r6] + add r6, r1, #0x0 + add r6, #0x42 + strh r5, [r0, r6] + add r5, r1, #0x0 + add r5, #0x44 + strh r4, [r0, r5] + add r4, r1, #0x0 + add r4, #0x46 + strh r2, [r0, r4] + ldr r2, _0207F42C ; =0x020FB68C + ldrh r4, [r2, #0x2a] + strh r4, [r3, #0x0] + ldrh r4, [r2, #0x2c] + strh r4, [r3, #0x2] + ldrh r2, [r2, #0x2e] + strh r2, [r3, #0x4] + add r2, r1, #0x0 + ldrh r5, [r3, #0x0] + add r2, #0x48 + strh r5, [r0, r2] + add r2, r1, #0x0 + ldrh r4, [r3, #0x2] + add r2, #0x4a + strh r4, [r0, r2] + ldrh r2, [r3, #0x4] + add r3, r1, #0x0 + add r3, #0x4c + strh r2, [r0, r3] + add r3, r1, #0x0 + add r3, #0x4e + strh r5, [r0, r3] + add r3, r1, #0x0 + add r3, #0x50 + strh r4, [r0, r3] + add r3, r1, #0x0 + add r3, #0x52 + strh r2, [r0, r3] + add r3, r1, #0x0 + add r3, #0x54 + strh r5, [r0, r3] + add r3, r1, #0x0 + add r3, #0x56 + strh r4, [r0, r3] + add r3, r1, #0x0 + add r3, #0x58 + strh r2, [r0, r3] + add r3, r1, #0x0 + add r3, #0x5a + strh r5, [r0, r3] + add r3, r1, #0x0 + add r3, #0x5c + strh r4, [r0, r3] + add r1, #0x5e + strh r2, [r0, r1] + bl sub_0207F608 +_0207F41A: + add sp, #0x18 + pop {r3-r7, pc} + nop +_0207F420: .word 0x0000068C +_0207F424: .word 0x020FB60C +_0207F428: .word 0x020FB64C +_0207F42C: .word 0x020FB68C + + thumb_func_start sub_0207F430 +sub_0207F430: ; 0x0207F430 + push {r4-r5} + cmp r2, #0xff + bne _0207F446 + ldrh r2, [r0, #0x0] + strh r2, [r1, #0x0] + ldrh r2, [r0, #0x2] + strh r2, [r1, #0x2] + ldrh r0, [r0, #0x4] + strh r0, [r1, #0x4] + pop {r4-r5} + bx lr +_0207F446: + cmp r2, #0x0 + bne _0207F45A + ldrh r2, [r0, #0x6] + strh r2, [r1, #0x0] + ldrh r2, [r0, #0x8] + strh r2, [r1, #0x2] + ldrh r0, [r0, #0xa] + strh r0, [r1, #0x4] + pop {r4-r5} + bx lr +_0207F45A: + mov r3, #0x6 + ldrsh r5, [r0, r3] + mov r3, #0xc + ldrsh r3, [r0, r3] + add r4, r3, #0x0 + mul r4, r2 + add r3, r5, r4 + strh r3, [r1, #0x0] + mov r3, #0x8 + ldrsh r5, [r0, r3] + mov r3, #0xe + ldrsh r3, [r0, r3] + add r4, r3, #0x0 + mul r4, r2 + add r3, r5, r4 + strh r3, [r1, #0x2] + mov r3, #0xa + ldrsh r4, [r0, r3] + mov r3, #0x10 + ldrsh r0, [r0, r3] + mul r2, r0 + add r0, r4, r2 + strh r0, [r1, #0x4] + pop {r4-r5} + bx lr + + thumb_func_start sub_0207F48C +sub_0207F48C: ; 0x0207F48C + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0x0 + ldrsh r1, [r4, r0] + ldrsh r0, [r5, r0] + add r6, r2, #0x0 + sub r7, r1, r0 + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + mov r1, #0x0 + blx sub_020EAEF0 + bls _0207F4E0 + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + blx sub_020EB4C0 + b _0207F506 +_0207F4E0: + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 + blx sub_020EB4C0 +_0207F506: + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + strh r0, [r6, #0x0] + mov r0, #0x2 + ldrsh r1, [r4, r0] + ldrsh r0, [r5, r0] + sub r7, r1, r0 + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + mov r1, #0x0 + blx sub_020EAEF0 + bls _0207F558 + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + blx sub_020EB4C0 + b _0207F57E +_0207F558: + add r0, r7, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 + blx sub_020EB4C0 +_0207F57E: + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + strh r0, [r6, #0x2] + mov r0, #0x4 + ldrsh r1, [r4, r0] + ldrsh r0, [r5, r0] + sub r4, r1, r0 + add r0, r4, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + mov r1, #0x0 + blx sub_020EAEF0 + bls _0207F5D0 + add r0, r4, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + blx sub_020EB4C0 + b _0207F5F6 +_0207F5D0: + add r0, r4, #0x0 + blx sub_020EB534 + ldr r1, _0207F600 ; =0x45800000 + blx sub_020EB084 + ldr r1, _0207F604 ; =0x40800000 + blx sub_020EB084 + add r1, r0, #0x0 + ldr r0, _0207F600 ; =0x45800000 + blx sub_020EB5C4 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 + blx sub_020EB4C0 +_0207F5F6: + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + strh r0, [r6, #0x4] + pop {r3-r7, pc} + nop +_0207F600: .word 0x45800000 +_0207F604: .word 0x40800000 + + thumb_func_start sub_0207F608 +sub_0207F608: ; 0x0207F608 + push {r3-r7, lr} + sub sp, #0x28 + ldr r2, _0207F7D0 ; =0x00000295 + add r5, r0, #0x0 + mov r1, #0xe7 + lsl r1, r1, #0x2 + ldrb r2, [r5, r2] + ldr r0, _0207F7D4 ; =0x020FB5D8 + add r1, r5, r1 + bl sub_0207F430 + ldr r2, _0207F7D8 ; =0x00000296 + ldr r1, _0207F7DC ; =0x000003A2 + ldrb r2, [r5, r2] + ldr r0, _0207F7E0 ; =0x020FB5EA + add r1, r5, r1 + bl sub_0207F430 + ldr r2, _0207F7E4 ; =0x00000297 + ldr r1, _0207F7E8 ; =0x000003AE + ldrb r2, [r5, r2] + ldr r0, _0207F7EC ; =0x020FB5FC + add r1, r5, r1 + bl sub_0207F430 + mov r1, #0xea + lsl r1, r1, #0x2 + ldr r0, _0207F7F0 ; =0x020FB60E + add r1, r5, r1 + mov r2, #0x0 + bl sub_0207F430 + ldr r2, _0207F7F4 ; =0x00000299 + mov r1, #0xed + lsl r1, r1, #0x2 + ldrb r2, [r5, r2] + ldr r0, _0207F7F8 ; =0x020FB620 + add r1, r5, r1 + bl sub_0207F430 + ldr r2, _0207F7D0 ; =0x00000295 + ldr r1, _0207F7FC ; =0x000003BA + ldrb r2, [r5, r2] + ldr r0, _0207F800 ; =0x020FB632 + add r1, r5, r1 + bl sub_0207F430 + ldr r1, _0207F804 ; =0x000003C6 + ldr r0, _0207F808 ; =0x020FB644 + add r1, r5, r1 + mov r2, #0x0 + bl sub_0207F430 + mov r2, #0xa6 + lsl r2, r2, #0x2 + mov r1, #0xf + lsl r1, r1, #0x6 + ldrb r2, [r5, r2] + ldr r0, _0207F80C ; =0x020FB656 + add r1, r5, r1 + bl sub_0207F430 + ldr r2, _0207F7F4 ; =0x00000299 + mov r1, #0xf3 + lsl r1, r1, #0x2 + ldrb r2, [r5, r2] + ldr r0, _0207F810 ; =0x020FB668 + add r1, r5, r1 + bl sub_0207F430 + ldr r1, _0207F814 ; =0x000003D2 + ldr r0, _0207F818 ; =0x020FB67A + add r1, r5, r1 + mov r2, #0x0 + bl sub_0207F430 + ldr r2, _0207F7E4 ; =0x00000297 + ldr r1, _0207F81C ; =0x000003DE + ldrb r2, [r5, r2] + ldr r0, _0207F820 ; =0x020FB68C + add r1, r5, r1 + bl sub_0207F430 + mov r2, #0xa6 + lsl r2, r2, #0x2 + mov r1, #0xf6 + lsl r1, r1, #0x2 + ldrb r2, [r5, r2] + ldr r0, _0207F824 ; =0x020FB69E + add r1, r5, r1 + bl sub_0207F430 + mov r1, #0xf9 + lsl r1, r1, #0x2 + ldr r0, _0207F828 ; =0x020FB6B0 + add r1, r5, r1 + mov r2, #0x0 + bl sub_0207F430 + ldr r2, _0207F7D8 ; =0x00000296 + ldr r1, _0207F82C ; =0x000003EA + ldrb r2, [r5, r2] + ldr r0, _0207F830 ; =0x020FB6C2 + add r1, r5, r1 + bl sub_0207F430 + ldr r2, _0207F7E4 ; =0x00000297 + ldr r1, _0207F834 ; =0x000003F6 + ldrb r2, [r5, r2] + ldr r0, _0207F838 ; =0x020FB6D4 + add r1, r5, r1 + bl sub_0207F430 + mov r2, #0xa6 + lsl r2, r2, #0x2 + mov r1, #0x3f + lsl r1, r1, #0x4 + ldrb r2, [r5, r2] + ldr r0, _0207F83C ; =0x020FB6E6 + add r1, r5, r1 + bl sub_0207F430 + mov r0, #0x0 + str r0, [sp, #0x24] + mov r0, #0xcf + lsl r0, r0, #0x2 + add r1, r5, r0 + str r1, [sp, #0x20] + add r1, r0, #0x0 + add r1, #0x60 + add r1, r5, r1 + str r1, [sp, #0x1c] + add r1, r0, #0x0 + sub r1, #0x60 + add r1, r5, r1 + str r1, [sp, #0x18] + add r1, r0, #0x6 + add r1, r5, r1 + str r1, [sp, #0x14] + add r1, r0, #0x0 + add r1, #0x66 + add r1, r5, r1 + str r1, [sp, #0x10] + add r1, r0, #0x0 + sub r1, #0x5a + add r1, r5, r1 + str r1, [sp, #0xc] + add r1, r0, #0x0 + add r1, #0xc + add r1, r5, r1 + str r1, [sp, #0x8] + add r1, r0, #0x0 + add r1, #0x6c + add r1, r5, r1 + str r1, [sp, #0x4] + add r1, r0, #0x0 + sub r1, #0x54 + add r1, r5, r1 + str r1, [sp, #0x0] + add r1, r0, #0x0 + add r1, #0x12 + add r7, r5, r1 + add r1, r0, #0x0 + add r1, #0x72 + sub r0, #0x4e + add r6, r5, r1 + add r4, r5, r0 +_0207F756: + ldr r0, [sp, #0x18] + ldr r1, [sp, #0x1c] + ldr r2, [sp, #0x20] + bl sub_0207F48C + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x10] + ldr r2, [sp, #0x14] + bl sub_0207F48C + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x8] + bl sub_0207F48C + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl sub_0207F48C + ldr r0, [sp, #0x20] + add r7, #0x18 + add r0, #0x18 + str r0, [sp, #0x20] + ldr r0, [sp, #0x1c] + add r6, #0x18 + add r0, #0x18 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x18] + add r4, #0x18 + add r0, #0x18 + str r0, [sp, #0x18] + ldr r0, [sp, #0x14] + add r0, #0x18 + str r0, [sp, #0x14] + ldr r0, [sp, #0x10] + add r0, #0x18 + str r0, [sp, #0x10] + ldr r0, [sp, #0xc] + add r0, #0x18 + str r0, [sp, #0xc] + ldr r0, [sp, #0x8] + add r0, #0x18 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + add r0, #0x18 + str r0, [sp, #0x4] + ldr r0, [sp, #0x0] + add r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x24] + add r0, r0, #0x1 + str r0, [sp, #0x24] + cmp r0, #0x4 + blo _0207F756 + mov r0, #0xff + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r5, r0] + add sp, #0x28 + pop {r3-r7, pc} + .balign 4 +_0207F7D0: .word 0x00000295 +_0207F7D4: .word 0x020FB5D8 +_0207F7D8: .word 0x00000296 +_0207F7DC: .word 0x000003A2 +_0207F7E0: .word 0x020FB5EA +_0207F7E4: .word 0x00000297 +_0207F7E8: .word 0x000003AE +_0207F7EC: .word 0x020FB5FC +_0207F7F0: .word 0x020FB60E +_0207F7F4: .word 0x00000299 +_0207F7F8: .word 0x020FB620 +_0207F7FC: .word 0x000003BA +_0207F800: .word 0x020FB632 +_0207F804: .word 0x000003C6 +_0207F808: .word 0x020FB644 +_0207F80C: .word 0x020FB656 +_0207F810: .word 0x020FB668 +_0207F814: .word 0x000003D2 +_0207F818: .word 0x020FB67A +_0207F81C: .word 0x000003DE +_0207F820: .word 0x020FB68C +_0207F824: .word 0x020FB69E +_0207F828: .word 0x020FB6B0 +_0207F82C: .word 0x000003EA +_0207F830: .word 0x020FB6C2 +_0207F834: .word 0x000003F6 +_0207F838: .word 0x020FB6D4 +_0207F83C: .word 0x020FB6E6 + + thumb_func_start sub_0207F840 +sub_0207F840: ; 0x0207F840 + push {r4, lr} + sub sp, #0x20 + add r4, r0, #0x0 + mov r0, #0x13 + bl sub_02006D98 + mov r1, #0xae + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r4, #0x0 + bl sub_0207B628 + add r1, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x11] + cmp r0, #0x2 + add r0, sp, #0x10 + bne _0207F870 + mov r2, #0x2 + bl sub_02068B70 + b _0207F876 +_0207F870: + mov r2, #0x2 + bl sub_02068B68 +_0207F876: + mov r1, #0xaf + lsl r1, r1, #0x2 + add r0, r4, r1 + sub r1, #0x60 + ldrh r1, [r4, r1] + bl sub_02069010 + mov r0, #0x97 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + mov r1, #0x1c + bl sub_02068678 + mov r1, #0x1 + eor r0, r1 + mov r1, #0xb6 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r1, #0x0 + mov r2, #0x0 + str r2, [sp, #0x0] + sub r0, #0x1c + str r2, [sp, #0x4] + add r0, r4, r0 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + sub r1, #0x20 + ldr r0, [r4, r1] + add r1, sp, #0x10 + mov r2, #0x34 + mov r3, #0x68 + bl sub_020073A0 + mov r2, #0xb5 + lsl r2, r2, #0x2 + str r0, [r4, r2] + ldr r0, [r4, r2] + add r2, r2, #0x4 + ldr r2, [r4, r2] + mov r1, #0x23 + bl sub_02007558 + add sp, #0x20 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0207F8D0 +sub_0207F8D0: ; 0x0207F8D0 + push {r3-r4, lr} + sub sp, #0xc + mov r1, #0x2a + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + beq _0207F904 + mov r2, #0x0 + add r0, r1, #0x0 + str r2, [sp, #0x0] + add r0, #0x38 + ldr r0, [r4, r0] + mov r3, #0x2 + str r0, [sp, #0x4] + add r0, r1, #0x0 + str r2, [sp, #0x8] + add r0, #0x30 + add r1, #0x34 + ldr r0, [r4, r0] + ldr r1, [r4, r1] + bl sub_02069038 + add sp, #0xc + pop {r3-r4, pc} +_0207F904: + add r1, #0x34 + ldr r0, [r4, r1] + mov r1, #0x1 + bl sub_02007314 + mov r1, #0x0 + mov r2, #0xb6 + str r1, [sp, #0x0] + lsl r2, r2, #0x2 + ldr r0, [r4, r2] + mov r3, #0x2 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + add r0, r2, #0x0 + sub r1, r2, #0x4 + sub r2, #0x7c + sub r0, #0x8 + ldrh r2, [r4, r2] + ldr r0, [r4, r0] + ldr r1, [r4, r1] + bl sub_02069038 + add sp, #0xc + pop {r3-r4, pc} + + thumb_func_start sub_0207F934 +sub_0207F934: ; 0x0207F934 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x2d + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl sub_02014D9C + mov r0, #0xae + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020072E8 + add r0, r4, #0x0 + bl sub_0207F840 + add r0, r4, #0x0 + bl sub_0207F8D0 + pop {r4, pc} + + thumb_func_start sub_0207F95C +sub_0207F95C: ; 0x0207F95C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r1, [r0, #0x12] + cmp r1, #0x3 + bhi _0207F9AC + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r2, r6, #0 + lsl r2, r6, #0 + ldr r0, [r0, #0x2c] + ldr r1, _0207F9C4 ; =0x0000068F + cmp r0, #0x0 + beq _0207F992 + ldrb r2, [r4, r1] + mov r0, #0xf + bic r2, r0 + strb r2, [r4, r1] + b _0207F9BA +_0207F992: + ldrb r2, [r4, r1] + mov r0, #0xf + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r4, r1] + mov r1, #0x4 + ldr r0, [r4, #0x0] + mov r2, #0x0 + add r3, r1, #0x0 + bl sub_0201AEE4 + b _0207F9BA +_0207F9AC: + ldr r1, _0207F9C4 ; =0x0000068F + mov r0, #0xf + ldrb r2, [r4, r1] + bic r2, r0 + mov r0, #0xf + orr r0, r2 + strb r0, [r4, r1] +_0207F9BA: + add r0, r4, #0x0 + bl sub_0207FA38 + pop {r4, pc} + nop +_0207F9C4: .word 0x0000068F + + thumb_func_start sub_0207F9C8 +sub_0207F9C8: ; 0x0207F9C8 + push {r3-r7, lr} + ldr r0, [r0, #0x0] + add r4, r1, #0x0 + mov r1, #0x4 + add r5, r2, #0x0 + bl sub_0201886C + add r7, r0, #0x0 + lsl r0, r5, #0x2 + add r1, r5, r0 + ldrb r2, [r4, #0x0] + mov r0, #0x1 + mov r3, #0x0 + add r5, r2, #0x0 + and r5, r0 + mov r0, #0xf + mul r0, r5 + lsr r5, r2, #0x1 + mov r2, #0x96 + mul r2, r5 + add r0, r0, r2 + add r0, r1, r0 + add r0, #0x1e + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r12, r0 +_0207F9FC: + mov r0, #0x1e + add r1, r3, #0x0 + mul r1, r0 + mov r0, r12 + mov r2, #0x0 + add r5, r0, r1 +_0207FA08: + ldrb r0, [r4, #0x1] + ldrb r6, [r4, #0x3] + lsl r1, r0, #0xc + add r0, r2, r5 + add r1, r1, r0 + add r6, r3, r6 + lsl r6, r6, #0x5 + ldrb r0, [r4, #0x2] + add r6, r2, r6 + add r0, r0, r6 + lsl r0, r0, #0x1 + strh r1, [r7, r0] + add r0, r2, #0x1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 + cmp r2, #0x5 + blo _0207FA08 + add r0, r3, #0x1 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 + cmp r3, #0x5 + blo _0207F9FC + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_0207FA38 +sub_0207FA38: ; 0x0207FA38 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, _0207FA78 ; =0x0000068F + ldrb r0, [r6, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #0xf + beq _0207FA74 + lsl r1, r0, #0x2 + ldr r0, _0207FA7C ; =0x02106148 + mov r5, #0x0 + ldr r4, [r0, r1] + add r7, r5, #0x0 +_0207FA52: + lsl r1, r5, #0x2 + ldrb r0, [r4, r1] + cmp r0, #0xff + beq _0207FA6C + add r0, r6, #0x0 + add r1, r4, r1 + add r2, r7, #0x0 + bl sub_0207F9C8 + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + b _0207FA52 +_0207FA6C: + ldr r0, [r6, #0x0] + mov r1, #0x4 + bl sub_0201AC68 +_0207FA74: + pop {r3-r7, pc} + nop +_0207FA78: .word 0x0000068F +_0207FA7C: .word 0x02106148 + + thumb_func_start sub_0207FA80 +sub_0207FA80: ; 0x0207FA80 + push {r3, lr} + bl sub_0207FA98 + mov r1, #0x0 + mvn r1, r1 + cmp r0, r1 + beq _0207FA94 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3, pc} +_0207FA94: + mov r0, #0xff + pop {r3, pc} + + thumb_func_start sub_0207FA98 +sub_0207FA98: ; 0x0207FA98 + push {r3, lr} + ldr r1, _0207FAB8 ; =0x0000068F + ldrb r0, [r0, r1] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #0xf + bne _0207FAAC + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} +_0207FAAC: + lsl r1, r0, #0x2 + ldr r0, _0207FABC ; =0x0210613C + ldr r0, [r0, r1] + bl sub_02020988 + pop {r3, pc} + .balign 4 +_0207FAB8: .word 0x0000068F +_0207FABC: .word 0x0210613C + + thumb_func_start sub_0207FAC0 +sub_0207FAC0: ; 0x0207FAC0 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0207FB18 ; =0x0000068F + ldrb r0, [r5, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + cmp r0, #0xf + bne _0207FADA + mov r0, #0x0 + add sp, #0x8 + mvn r0, r0 + pop {r3-r5, pc} +_0207FADA: + lsl r1, r0, #0x2 + ldr r0, _0207FB1C ; =0x0210613C + ldr r0, [r0, r1] + bl sub_02020968 + add r4, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r4, r0 + beq _0207FB12 + ldr r1, _0207FB20 ; =0x0000FFFE + add r0, sp, #0x4 + strh r1, [r0, #0x0] + add r0, sp, #0x4 + str r0, [sp, #0x0] + ldr r3, _0207FB24 ; =0x021C48F8 + ldr r0, [r5, #0x0] + ldrh r2, [r3, #0x1c] + ldrh r3, [r3, #0x1e] + mov r1, #0x4 + bl sub_0201AFBC + cmp r0, #0x0 + bne _0207FB12 + mov r0, #0x0 + add sp, #0x8 + mvn r0, r0 + pop {r3-r5, pc} +_0207FB12: + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 +_0207FB18: .word 0x0000068F +_0207FB1C: .word 0x0210613C +_0207FB20: .word 0x0000FFFE +_0207FB24: .word 0x021C48F8 + + thumb_func_start sub_0207FB28 +sub_0207FB28: ; 0x0207FB28 + push {r4-r6, lr} + ldr r1, _0207FBF4 ; =0x0000068F + add r5, r0, #0x0 + ldrb r2, [r5, r1] + lsl r2, r2, #0x1c + lsr r3, r2, #0x1a + ldr r2, _0207FBF8 ; =0x02106148 + ldr r4, [r2, r3] + add r2, r1, #0x6 + ldrb r2, [r5, r2] + cmp r2, #0x0 + beq _0207FB4A + cmp r2, #0x1 + beq _0207FB84 + cmp r2, #0x2 + beq _0207FB8C + b _0207FBEE +_0207FB4A: + sub r1, #0xab + add r0, r1, #0x0 + bl sub_020054C8 + add r0, r5, #0x0 + bl sub_0207FA38 + ldr r1, _0207FBFC ; =0x00000696 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + mov r2, #0x2 + lsl r1, r1, #0x2 + add r1, r4, r1 + bl sub_0207F9C8 + ldr r0, [r5, #0x0] + mov r1, #0x4 + bl sub_0201AC68 + add r0, r5, #0x0 + bl sub_0207CEDC + ldr r0, _0207FC00 ; =0x00000694 + mov r1, #0x0 + strb r1, [r5, r0] + mov r1, #0x1 + add r0, r0, #0x1 + strb r1, [r5, r0] + b _0207FBEE +_0207FB84: + mov r2, #0x2 + add r0, r1, #0x6 + strb r2, [r5, r0] + b _0207FBEE +_0207FB8C: + add r2, r1, #0x5 + ldrb r2, [r5, r2] + cmp r2, #0x3 + beq _0207FBA0 + add r0, r1, #0x5 + ldrb r0, [r5, r0] + add r2, r0, #0x1 + add r0, r1, #0x5 + strb r2, [r5, r0] + b _0207FBEE +_0207FBA0: + bl sub_0207CF58 + ldr r0, _0207FBFC ; =0x00000696 + ldrb r6, [r5, r0] + add r0, r5, #0x0 + bl sub_0207FAC0 + cmp r6, r0 + beq _0207FBEE + mov r0, #0x2a + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + lsl r0, r0, #0x3 + lsr r0, r0, #0x1f + beq _0207FBD6 + lsl r1, r6, #0x2 + ldrb r0, [r4, r1] + cmp r0, #0x1 + beq _0207FBD6 + cmp r0, #0x7 + beq _0207FBD6 + add r0, r5, #0x0 + add r1, r4, r1 + mov r2, #0x0 + bl sub_0207F9C8 + b _0207FBE2 +_0207FBD6: + lsl r1, r6, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + mov r2, #0x1 + bl sub_0207F9C8 +_0207FBE2: + ldr r0, [r5, #0x0] + mov r1, #0x4 + bl sub_0201AC68 + mov r0, #0x1 + pop {r4-r6, pc} +_0207FBEE: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0207FBF4: .word 0x0000068F +_0207FBF8: .word 0x02106148 +_0207FBFC: .word 0x00000696 +_0207FC00: .word 0x00000694 + + thumb_func_start sub_0207FC04 +sub_0207FC04: ; 0x0207FC04 + push {r4-r5} + ldr r4, _0207FC38 ; =0x0000068F + ldrb r3, [r0, r4] + lsl r3, r3, #0x1c + lsr r5, r3, #0x1a + ldr r3, _0207FC3C ; =0x02106148 + ldr r3, [r3, r5] + add r5, r4, #0x7 + ldrb r5, [r0, r5] + lsl r5, r5, #0x2 + add r5, r3, r5 + ldrb r5, [r5, #0x2] + lsl r5, r5, #0x3 + add r5, #0x14 + strh r5, [r1, #0x0] + add r1, r4, #0x7 + ldrb r0, [r0, r1] + lsl r0, r0, #0x2 + add r0, r3, r0 + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x3 + add r0, #0x14 + strh r0, [r2, #0x0] + pop {r4-r5} + bx lr + nop +_0207FC38: .word 0x0000068F +_0207FC3C: .word 0x02106148 + + thumb_func_start sub_0207FC40 +sub_0207FC40: ; 0x0207FC40 + ldr r2, _0207FC54 ; =0x0000068F + ldrb r0, [r0, r2] + lsl r0, r0, #0x1c + lsr r2, r0, #0x1a + ldr r0, _0207FC58 ; =0x02106148 + ldr r2, [r0, r2] + lsl r0, r1, #0x2 + ldrb r0, [r2, r0] + bx lr + nop +_0207FC54: .word 0x0000068F +_0207FC58: .word 0x02106148 + + thumb_func_start sub_0207FC5C +sub_0207FC5C: ; 0x0207FC5C + cmp r1, #0x4 + bhi _0207FCA8 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r2, r2, #0 + lsl r4, r3, #0 + lsl r6, r4, #0 + lsl r0, r6, #0 + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCAC ; =0x020FB788 + ldr r0, [r0, r1] + bx lr +_0207FC80: + .byte 0x0C, 0x21, 0x41, 0x43, 0x0A, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x09, 0x48 + .byte 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x07, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21 + .byte 0x41, 0x43, 0x06, 0x48, 0x40, 0x5A, 0x70, 0x47 +_0207FCA8: + mov r0, #0x0 + bx lr + .balign 4 +_0207FCAC: .word 0x020FB788 +_0207FCB0: + .byte 0x8C, 0xB7, 0x0F, 0x02, 0x8E, 0xB7, 0x0F, 0x02, 0x90, 0xB7, 0x0F, 0x02, 0x92, 0xB7, 0x0F, 0x02 + + thumb_func_start sub_0207FCC0 +sub_0207FCC0: ; 0x0207FCC0 + mov r2, #0xc + mul r2, r1 + ldr r1, _0207FCDC ; =0x020FB792 + ldrh r2, [r1, r2] + mov r1, #0x2 + lsl r1, r1, #0xe + tst r1, r2 + beq _0207FCD8 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + ldrb r2, [r0, r1] + add r2, #0x92 +_0207FCD8: + add r0, r2, #0x0 + bx lr + .balign 4 +_0207FCDC: .word 0x020FB792 + + thumb_func_start sub_0207FCE0 +sub_0207FCE0: ; 0x0207FCE0 + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCFC ; =0x020FB792 + ldrh r1, [r0, r1] + mov r0, #0x2 + lsl r0, r0, #0xe + tst r0, r1 + beq _0207FCF6 + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + bx lr +_0207FCF6: + mov r0, #0xff + bx lr + nop +_0207FCFC: .word 0x020FB792 + + thumb_func_start sub_0207FD00 +sub_0207FD00: ; 0x0207FD00 + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r7, #0x0 + mov r1, #0x3c + bl sub_02016998 + add r4, r0, #0x0 + mov r2, #0x65 + str r7, [r4, #0x0] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + add r3, r7, #0x0 + bl sub_0200A86C + str r0, [r4, #0x4] + ldr r2, [r4, #0x0] + mov r0, #0x9 + mov r1, #0x20 + bl sub_0200AA90 + str r0, [r4, #0x8] + str r5, [r4, #0xc] + str r6, [r4, #0x10] + mov r0, #0x0 + str r0, [r4, #0x14] + str r0, [r4, #0x18] + str r0, [r4, #0x1c] + str r0, [r4, #0x20] + str r0, [r4, #0x24] + str r0, [r4, #0x28] + str r0, [r4, #0x2c] + str r0, [r4, #0x30] + str r0, [r4, #0x34] + str r0, [r4, #0x38] + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0x0] + bl sub_020806F4 + cmp r0, #0x14 + bls _0207FD5A + b _02080090 +_0207FD5A: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r5, #0 + lsl r4, r2, #0x1 + lsl r0, r0, #0x2 + lsl r4, r5, #0x2 + lsl r0, r3, #0x3 + lsl r4, r0, #0x4 + lsl r0, r6, #0x4 + lsl r4, r3, #0x5 + lsl r0, r1, #0x6 + lsl r4, r6, #0x6 + lsl r6, r2, #0x7 + lsl r0, r7, #0x7 + lsl r2, r3, #0x8 + lsl r4, r7, #0x8 + lsl r6, r3, #0x9 + lsl r0, r0, #0xa + lsl r4, r5, #0xa + lsl r6, r0, #0xb + lsl r6, r3, #0xb + lsl r0, r7, #0xb + lsl r0, r2, #0xc + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl sub_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x31 + bl sub_02080108 + mov r0, #0x6 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl sub_0208048C + mov r0, #0x7 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl sub_02080678 + b _02080090 +_0207FDBC: + .byte 0x01, 0x20, 0x60, 0x61 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x8D, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x32, 0x21, 0x00, 0xF0 + .byte 0x9B, 0xF9, 0x06, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xFB, 0x07, 0x20, 0xE0, 0x62 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x49, 0xFC, 0x53, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x77, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x33, 0x21, 0x00, 0xF0, 0x85, 0xF9, 0x06, 0x20 + .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFB, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x33, 0xFC, 0x3D, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x61, 0xF9, 0x02, 0x20 + .byte 0xE0, 0x61, 0x20, 0x1C, 0x34, 0x21, 0x00, 0xF0, 0x6F, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C + .byte 0x00, 0xF0, 0x2C, 0xFB, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x1D, 0xFC, 0x27, 0xE1 + .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C + .byte 0x35, 0x21, 0x00, 0xF0, 0x59, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x16, 0xFB + .byte 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x07, 0xFC, 0x11, 0xE1, 0x01, 0x20, 0x60, 0x61 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x36, 0x21, 0x00, 0xF0 + .byte 0x43, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x00, 0xFB, 0x09, 0x20, 0xE0, 0x62 + .byte 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xFB, 0xFB, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x1F, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x37, 0x21, 0x00, 0xF0, 0x2D, 0xF9, 0x08, 0x20 + .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 + .byte 0xDB, 0xFB, 0xE5, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x09, 0xF9, 0x02, 0x20 + .byte 0xE0, 0x61, 0x20, 0x1C, 0x38, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C + .byte 0x00, 0xF0, 0xD4, 0xFA, 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xC5, 0xFB, 0xCF, 0xE0 + .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xF3, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C + .byte 0x39, 0x21, 0x00, 0xF0, 0x01, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xBE, 0xFA + .byte 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xAF, 0xFB, 0xB9, 0xE0, 0x01, 0x20, 0x60, 0x61 + .byte 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3A, 0x21, 0x00, 0xF0 + .byte 0xEB, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xA8, 0xFA, 0xA8, 0xE0, 0x01, 0x20 + .byte 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3B, 0x21 + .byte 0x00, 0xF0, 0xDA, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x97, 0xFA, 0x97, 0xE0 + .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xBB, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C + .byte 0x3C, 0x21, 0x00, 0xF0, 0xC9, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x86, 0xFA + .byte 0x86, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x02, 0x20, 0xE0, 0x61 + .byte 0x20, 0x1C, 0x3D, 0x21, 0x00, 0xF0, 0xB8, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x75, 0xFA, 0x75, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x99, 0xF8, 0x02, 0x20 + .byte 0xE0, 0x61, 0x20, 0x1C, 0x3E, 0x21, 0x00, 0xF0, 0xA7, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C + .byte 0x00, 0xF0, 0x64, 0xFA, 0x64, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8 + .byte 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3F, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x09, 0x20, 0x60, 0x62 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xFA, 0x53, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x77, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x40, 0x21, 0x00, 0xF0, 0x15, 0xF9, 0x06, 0x20 + .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFA, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x33, 0xFB, 0x3D, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x65, 0x21, 0x00, 0x22, 0x00, 0xF0 + .byte 0xB1, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x44, 0xFB, 0x30, 0xE0, 0x01, 0x22 + .byte 0x20, 0x1C, 0x66, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0xA5, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C + .byte 0x00, 0xF0, 0x38, 0xFB, 0x24, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x67, 0x21, 0x00, 0x22 + .byte 0x00, 0xF0, 0x98, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x2B, 0xFB, 0x17, 0xE0 + .byte 0x01, 0x22, 0x20, 0x1C, 0x67, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0x8C, 0xF9, 0x06, 0x20, 0x60, 0x63 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xFB, 0x0B, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x68, 0x21 + .byte 0x00, 0x22, 0x00, 0xF0, 0x7F, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x12, 0xFB +_02080090: + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02080094 +sub_02080094: ; 0x02080094 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _020800A2 + bl sub_02016A18 +_020800A2: + ldr r0, [r4, #0x20] + cmp r0, #0x0 + beq _020800AC + bl sub_02016A18 +_020800AC: + ldr r0, [r4, #0x28] + cmp r0, #0x0 + beq _020800B6 + bl sub_02016A18 +_020800B6: + ldr r0, [r4, #0x30] + cmp r0, #0x0 + beq _020800C0 + bl sub_02016A18 +_020800C0: + ldr r0, [r4, #0x38] + cmp r0, #0x0 + beq _020800CA + bl sub_02016A18 +_020800CA: + ldr r0, [r4, #0x8] + bl sub_0200AB18 + ldr r0, [r4, #0x4] + bl sub_0200A8B8 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020800E0 +sub_020800E0: ; 0x020800E0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl sub_02068854 + add r4, r0, #0x0 + cmp r4, #0x18 + bgt _02080106 + ldr r1, [r5, #0x0] + mov r0, #0x48 + bl sub_020219F4 + str r0, [r5, #0x18] + add r4, #0x18 + ldr r0, [r5, #0x4] + ldr r2, [r5, #0x18] + add r1, r4, #0x0 + bl sub_0200A8E0 +_02080106: + pop {r3-r5, pc} + + thumb_func_start sub_02080108 +sub_02080108: ; 0x02080108 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x9 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x6 + bl sub_020219F4 + add r4, r0, #0x0 + mov r0, #0x9 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x6 + bl sub_020219F4 + str r0, [r5, #0x20] + ldr r0, [r5, #0x4] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_0200A8E0 + ldr r0, [r5, #0xc] + mov r1, #0x94 + mov r2, #0x0 + bl sub_020671BC + mov r3, #0x2 + add r2, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x0 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x95 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x1 + bl sub_0200B764 + ldr r0, [r5, #0xc] + mov r1, #0x96 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x2 + ldr r0, [r5, #0x8] + add r3, r1, #0x0 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x9b + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x3 + ldr r0, [r5, #0x8] + add r3, r1, #0x0 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x98 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x4 + bl sub_0200B59C + ldr r0, [r5, #0xc] + mov r1, #0x91 + mov r2, #0x0 + bl sub_020671BC + mov r3, #0x2 + add r2, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x5 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x92 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x6 + bl sub_0200B764 + ldr r0, [r5, #0xc] + mov r1, #0x93 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x7 + mov r3, #0x2 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x8 + bl sub_0200B59C + ldr r0, [r5, #0x8] + ldr r1, [r5, #0x20] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02080228 +sub_02080228: ; 0x02080228 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0x12 + ldr r1, [r4, #0x0] + lsl r0, r0, #0x4 + bl sub_020219F4 + add r5, r0, #0x0 + mov r0, #0x12 + ldr r1, [r4, #0x0] + lsl r0, r0, #0x4 + bl sub_020219F4 + str r0, [r4, #0x20] + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + add r2, r5, #0x0 + bl sub_0200A8E0 + ldr r0, [r4, #0xc] + mov r1, #0x94 + mov r2, #0x0 + bl sub_020671BC + mov r3, #0x2 + add r2, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r4, #0x8] + mov r1, #0x0 + bl sub_0200AD38 + ldr r0, [r4, #0xc] + mov r1, #0x95 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl sub_0200B764 + ldr r0, [r4, #0xc] + mov r1, #0x96 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x2 + ldr r0, [r4, #0x8] + add r3, r1, #0x0 + bl sub_0200AD38 + ldr r0, [r4, #0xc] + mov r1, #0x9b + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r1, #0x3 + ldr r0, [r4, #0x8] + add r3, r1, #0x0 + bl sub_0200AD38 + ldr r0, [r4, #0xc] + mov r1, #0x79 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0xf + bhi _020802F8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r3, #0 + lsl r2, r3, #0x1 + lsl r2, r3, #0x1 + lsl r2, r3, #0x1 + lsl r2, r6, #0 + lsl r2, r6, #0 + lsl r6, r3, #0 + lsl r6, r0, #0x1 + lsl r6, r0, #0x1 + lsl r6, r3, #0 + lsl r2, r0, #0x2 + lsl r2, r0, #0x2 + lsl r6, r3, #0 + lsl r6, r3, #0 + lsl r6, r3, #0 + lsl r6, r5, #0x1 +_020802F8: + mov r0, #0x1 + mov r1, #0x7 + bl sub_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl sub_0200B59C + b _0208036E +_0208030C: + .byte 0x01, 0x20, 0x03, 0x21 + .byte 0x95, 0xF7, 0xF2, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x3F, 0xF9, 0x26, 0xE0 + .byte 0x01, 0x20, 0x04, 0x21, 0x95, 0xF7, 0xE8, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7 + .byte 0x35, 0xF9, 0x1C, 0xE0, 0x01, 0x20, 0x05, 0x21, 0x95, 0xF7, 0xDE, 0xFC, 0x02, 0x1C, 0xA0, 0x68 + .byte 0x04, 0x21, 0x8B, 0xF7, 0x2B, 0xF9, 0x12, 0xE0, 0x01, 0x20, 0x08, 0x21, 0x95, 0xF7, 0xD4, 0xFC + .byte 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x21, 0xF9, 0x08, 0xE0, 0x01, 0x20, 0x07, 0x21 + .byte 0x95, 0xF7, 0xCA, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x17, 0xF9 +_0208036E: + ldr r0, [r4, #0x8] + ldr r1, [r4, #0x20] + add r2, r5, #0x0 + bl sub_0200B7B8 + add r0, r5, #0x0 + bl sub_02021A20 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02080384 +sub_02080384: ; 0x02080384 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r7, r1, #0x0 + mov r0, #0x5a + ldr r1, [r5, #0x0] + lsl r0, r0, #0x2 + add r6, r2, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + mov r0, #0x5a + ldr r1, [r5, #0x0] + lsl r0, r0, #0x2 + bl sub_020219F4 + str r0, [r5, #0x20] + ldr r0, [r5, #0x4] + add r1, r7, #0x0 + add r2, r4, #0x0 + bl sub_0200A8E0 + cmp r6, #0x0 + ldr r0, [r5, #0xc] + bne _02080418 + mov r1, #0x91 + mov r2, #0x0 + bl sub_020671BC + mov r3, #0x2 + add r2, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x5 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x92 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x6 + bl sub_0200B764 + ldr r0, [r5, #0xc] + mov r1, #0x93 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x7 + mov r3, #0x2 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x8 + bl sub_0200B59C + b _02080478 +_02080418: + mov r1, #0x94 + mov r2, #0x0 + bl sub_020671BC + mov r3, #0x2 + add r2, r0, #0x0 + str r3, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x5 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x95 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x6 + bl sub_0200B764 + ldr r0, [r5, #0xc] + mov r1, #0x96 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r5, #0x8] + mov r1, #0x7 + mov r3, #0x2 + bl sub_0200AD38 + ldr r0, [r5, #0xc] + mov r1, #0x98 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r0, [r5, #0x8] + mov r1, #0x8 + bl sub_0200B59C +_02080478: + ldr r0, [r5, #0x8] + ldr r1, [r5, #0x20] + add r2, r4, #0x0 + bl sub_0200B7B8 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_0208048C +sub_0208048C: ; 0x0208048C + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + mov r0, #0x48 + bl sub_020219F4 + str r0, [r4, #0x28] + ldr r0, [r4, #0xc] + mov r1, #0x46 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + ldr r0, [r4, #0xc] + mov r1, #0x47 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + mov r1, #0x48 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + mov r1, #0x49 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x0] + ldr r0, [r4, #0xc] + mov r1, #0x4a + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x4b + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r1, #0x0 + ldr r0, [r4, #0xc] + add r2, r1, #0x0 + bl sub_020671BC + mov r1, #0x6 + blx sub_020EBE8C + cmp r1, #0x5 + bhi _02080510 + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r1, #0 + lsl r2, r0, #0x1 + lsl r0, r7, #0x1 + lsl r6, r5, #0x2 + lsl r4, r4, #0x3 + lsl r2, r3, #0x4 +_02080510: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x8] + add r2, r0, #0x0 + mov r5, #0x0 + cmp r2, r1 + bge _02080520 + mov r5, #0x1 + add r0, r1, #0x0 +_02080520: + ldr r1, [sp, #0x4] + cmp r0, r1 + bge _0208052A + mov r5, #0x2 + add r0, r1, #0x0 +_0208052A: + ldr r1, [sp, #0x0] + cmp r0, r1 + bge _02080534 + mov r5, #0x3 + add r0, r1, #0x0 +_02080534: + cmp r0, r7 + bge _0208053C + mov r5, #0x4 + add r0, r7, #0x0 +_0208053C: + cmp r0, r6 + blt _02080542 + b _02080654 +_02080542: + mov r5, #0x5 + add r0, r6, #0x0 + b _02080654 +_02080548: + .byte 0x02, 0x98, 0x01, 0x99, 0x02, 0x1C, 0x01, 0x25 + .byte 0x8A, 0x42, 0x01, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25 + .byte 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25 + .byte 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x6D, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x6A, 0xE0, 0x01, 0x98 + .byte 0x00, 0x99, 0x02, 0x1C, 0x02, 0x25, 0x8A, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42 + .byte 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99 + .byte 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x52, 0xDA, 0x01, 0x25 + .byte 0x08, 0x1C, 0x4F, 0xE0, 0x00, 0x98, 0x03, 0x25, 0x01, 0x1C, 0xB9, 0x42, 0x01, 0xDA, 0x04, 0x25 + .byte 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA + .byte 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99 + .byte 0x88, 0x42, 0x37, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x34, 0xE0, 0x04, 0x25, 0x38, 0x1C, 0xB7, 0x42 + .byte 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C + .byte 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA + .byte 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x1C, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0x19, 0xE0 + .byte 0x03, 0x99, 0x05, 0x25, 0x30, 0x1C, 0x8E, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99 + .byte 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x02, 0x25 + .byte 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA + .byte 0x04, 0x25, 0x38, 0x1C +_02080654: + mov r1, #0x5 + blx sub_020EBC80 + mov r2, #0xa + add r6, r5, #0x0 + mul r6, r2 + ldr r3, _02080674 ; =0x020FBB54 + lsl r2, r1, #0x1 + add r1, r3, r6 + ldrh r1, [r2, r1] + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x28] + bl sub_0200A8E0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02080674: .word 0x020FBB54 + + thumb_func_start sub_02080678 +sub_02080678: ; 0x02080678 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r1, [r5, #0x0] + mov r0, #0x48 + bl sub_020219F4 + mov r6, #0x0 + str r0, [r5, #0x30] + add r4, r6, #0x0 +_0208068A: + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl sub_02069BC8 + cmp r0, #0x1 + bne _02080698 + add r6, r4, #0x1 +_02080698: + add r4, r4, #0x1 + cmp r4, #0x5 + blt _0208068A + ldr r1, _020806B0 ; =0x020FBB48 + lsl r2, r6, #0x1 + ldrh r1, [r1, r2] + ldr r0, [r5, #0x4] + ldr r2, [r5, #0x30] + bl sub_0200A8E0 + pop {r4-r6, pc} + nop +_020806B0: .word 0x020FBB48 + + thumb_func_start sub_020806B4 +sub_020806B4: ; 0x020806B4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + mov r0, #0x12 + ldr r1, [r5, #0x0] + lsl r0, r0, #0x4 + bl sub_020219F4 + str r0, [r5, #0x38] + cmp r4, #0x5 + bgt _020806D8 + mov r1, #0x69 + b _020806EA +_020806D8: + cmp r4, #0xa + bgt _020806E0 + mov r1, #0x6a + b _020806EA +_020806E0: + cmp r4, #0x28 + bgt _020806E8 + mov r1, #0x6b + b _020806EA +_020806E8: + mov r1, #0x6c +_020806EA: + ldr r0, [r5, #0x4] + ldr r2, [r5, #0x38] + bl sub_0200A8E0 + pop {r3-r5, pc} + + thumb_func_start sub_020806F4 +sub_020806F4: ; 0x020806F4 + push {r4-r6, lr} + add r4, r1, #0x0 + mov r1, #0x4c + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02080708 + b _0208084E +_02080708: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _02080774 + add r0, r5, #0x0 + mov r1, #0x98 + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r0, #0x0 + mov r1, #0x37 + bl sub_02015CF8 + cmp r6, r0 + bne _02080732 + mov r0, #0xf + pop {r4-r6, pc} +_02080732: + add r0, r5, #0x0 + mov r1, #0x6e + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _0208074C + cmp r4, #0x1 + bne _02080748 + mov r0, #0x7 + pop {r4-r6, pc} +_02080748: + mov r0, #0x8 + pop {r4-r6, pc} +_0208074C: + add r0, r5, #0x0 + mov r1, #0x98 + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_02015CF8 + cmp r5, r0 + bne _02080768 + mov r0, #0x2 + pop {r4-r6, pc} +_02080768: + cmp r4, #0x1 + bne _02080770 + mov r0, #0x0 + pop {r4-r6, pc} +_02080770: + mov r0, #0x1 + pop {r4-r6, pc} +_02080774: + add r0, r5, #0x0 + mov r1, #0x6e + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _020807D6 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x2 + bl sub_02015CF8 + cmp r6, r0 + bne _020807A6 + cmp r4, #0x1 + bne _020807A2 + mov r0, #0xd + pop {r4-r6, pc} +_020807A2: + mov r0, #0xe + pop {r4-r6, pc} +_020807A6: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + mov r0, #0x2 + mov r1, #0x1 + bl sub_02015CF8 + cmp r5, r0 + bne _020807CA + cmp r4, #0x1 + bne _020807C6 + mov r0, #0xb + pop {r4-r6, pc} +_020807C6: + mov r0, #0xc + pop {r4-r6, pc} +_020807CA: + cmp r4, #0x1 + bne _020807D2 + mov r0, #0x9 + pop {r4-r6, pc} +_020807D2: + mov r0, #0xa + pop {r4-r6, pc} +_020807D6: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_02015CF8 + cmp r6, r0 + beq _02080836 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_02015CF8 + cmp r6, r0 + beq _02080836 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + mov r0, #0x1 + mov r1, #0x9 + bl sub_02015CF8 + cmp r6, r0 + beq _02080836 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + mov r0, #0x1 + mov r1, #0xa + bl sub_02015CF8 + cmp r5, r0 + bne _02080842 +_02080836: + cmp r4, #0x1 + bne _0208083E + mov r0, #0x5 + pop {r4-r6, pc} +_0208083E: + mov r0, #0x6 + pop {r4-r6, pc} +_02080842: + cmp r4, #0x1 + bne _0208084A + mov r0, #0x3 + pop {r4-r6, pc} +_0208084A: + mov r0, #0x4 + pop {r4-r6, pc} +_0208084E: + cmp r4, #0x1 + bne _02080884 + add r0, r5, #0x0 + mov r1, #0x6e + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _02080880 + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + mov r0, #0x2 + mov r1, #0x1 + bl sub_02015CF8 + cmp r4, r0 + bne _0208087C + mov r0, #0x14 + pop {r4-r6, pc} +_0208087C: + mov r0, #0x12 + pop {r4-r6, pc} +_02080880: + mov r0, #0x10 + pop {r4-r6, pc} +_02080884: + add r0, r5, #0x0 + mov r1, #0x6e + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x1 + bne _02080896 + mov r0, #0x13 + pop {r4-r6, pc} +_02080896: + mov r0, #0x11 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0208089C +sub_0208089C: ; 0x0208089C + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + bl sub_020808AC + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_020808AC +sub_020808AC: ; 0x020808AC + push {r3-r7, lr} + add r4, r0, #0x0 + add r7, r1, #0x0 + add r5, r3, #0x0 + ldr r6, [sp, #0x18] + cmp r2, #0x6 + bls _020808BC + b _02080AE0 +_020808BC: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r4, r1, #0 + lsl r0, r4, #0x1 + lsl r2, r5, #0x2 + lsl r2, r1, #0x3 + lsl r6, r4, #0x3 + lsl r6, r5, #0x5 + lsl r6, r1, #0x6 + mov r0, #0x1 + mov r1, #0x0 + bl sub_02015CF8 + cmp r5, r0 + ble _020808E4 + mov r5, #0x0 +_020808E4: + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl sub_020672BC + cmp r0, #0x0 + bne _0208090C + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_02080BA8 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl sub_02080B30 + add r0, r4, #0x0 + bl sub_02080C08 + b _0208091E +_0208090C: + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl sub_02080B30 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02080BA8 +_0208091E: + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl sub_02080AE4 + pop {r3-r7, pc} +_0208092A: + .byte 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7 + .byte 0xC5, 0xFC, 0x00, 0x28, 0x10, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x35, 0xF9, 0x01, 0x20 + .byte 0x01, 0x1C, 0x95, 0xF7, 0xD9, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xF0, 0xF8 + .byte 0x20, 0x1C, 0x00, 0xF0, 0x59, 0xF9, 0xF8, 0xBD, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x24, 0xF9 + .byte 0x01, 0x20, 0x01, 0x1C, 0x95, 0xF7, 0xC8, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0 + .byte 0xDF, 0xF8, 0xF8, 0xBD, 0x00, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x00, 0x20, 0x37, 0x21, 0x95, 0xF7 + .byte 0xBB, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xD2, 0xF8, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x3B, 0xF9, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xCA, 0xF8, 0x20, 0x1C, 0x01, 0x21 + .byte 0x00, 0xF0, 0x02, 0xF9, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x9B, 0xF8, 0xF8, 0xBD + .byte 0x32, 0x1C, 0xE9, 0xF7, 0xFB, 0xFF, 0x01, 0x28, 0x1D, 0xD1, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22 + .byte 0xE6, 0xF7, 0x7C, 0xFC, 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xEC, 0xF8 + .byte 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xAB, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x14, 0xF9 + .byte 0x26, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xA2, 0xF8, 0x20, 0x1C, 0x01, 0x21 + .byte 0x00, 0xF0, 0xDA, 0xF8, 0x1C, 0xE0, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x5E, 0xFC + .byte 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xCE, 0xF8, 0x20, 0x1C, 0x29, 0x1C + .byte 0x01, 0x22, 0x00, 0xF0, 0x8D, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0xF6, 0xF8, 0x08, 0xE0, 0x20, 0x1C + .byte 0x00, 0x21, 0x00, 0xF0, 0xC1, 0xF8, 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0x80, 0xF8 + .byte 0x20, 0x1C, 0x00, 0xF0, 0xF9, 0xF8, 0xF8, 0xBD, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x3E, 0xFC + .byte 0x00, 0x28, 0x4D, 0xD0, 0x01, 0x20, 0x02, 0x21, 0x95, 0xF7, 0x56, 0xF9, 0x01, 0x1C, 0x20, 0x1C + .byte 0x01, 0x22, 0x00, 0xF0, 0x6D, 0xF8, 0xF8, 0xBD, 0x01, 0x20, 0x00, 0x21, 0x95, 0xF7, 0x4C, 0xF9 + .byte 0x85, 0x42, 0x00, 0xDD, 0x00, 0x25, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0xE9, 0xF7, 0x9E, 0xFF + .byte 0x00, 0x28, 0x2B, 0xD1, 0x20, 0x1C, 0x98, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x1F, 0xFC, 0x00, 0x90 + .byte 0x20, 0x1C, 0x97, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x6B, 0xFF, 0x20, 0x1C, 0x94, 0x21, 0x00, 0x22 + .byte 0xE6, 0xF7, 0x14, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x91, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x60, 0xFF + .byte 0x20, 0x1C, 0x95, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x09, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x92, 0x21 + .byte 0x00, 0xAA, 0xE6, 0xF7, 0x55, 0xFF, 0x20, 0x1C, 0x96, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0xFE, 0xFB + .byte 0x00, 0x90, 0x20, 0x1C, 0x93, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x4A, 0xFF, 0x20, 0x1C, 0x29, 0x1C + .byte 0x01, 0x22, 0x00, 0xF0, 0x2D, 0xF8, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x02, 0xF8 +_02080AE0: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02080AE4 +sub_02080AE4: ; 0x02080AE4 + push {r4-r6, lr} + sub sp, #0x8 + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r6, r2, #0x0 + bl sub_020239BC + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl sub_020239CC + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_020239A0 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x7 + add r2, sp, #0x4 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x9c + add r2, sp, #0x0 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x90 + add r2, r4, #0x0 + bl sub_02067960 + add r0, r4, #0x0 + bl sub_02021A20 + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start sub_02080B30 +sub_02080B30: ; 0x02080B30 + push {r0-r3} + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r0, sp, #0x0 + add r4, r2, #0x0 + bl sub_020126B4 + cmp r4, #0x0 + add r2, sp, #0x24 + bne _02080B76 + add r0, r5, #0x0 + mov r1, #0x97 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x91 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x92 + add r2, sp, #0x4 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x93 + add r2, sp, #0x8 + bl sub_02067960 + add sp, #0x10 + pop {r3-r5} + pop {r3} + add sp, #0x10 + bx r3 +_02080B76: + add r0, r5, #0x0 + mov r1, #0x98 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x94 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x95 + add r2, sp, #0x4 + bl sub_02067960 + add r0, r5, #0x0 + mov r1, #0x96 + add r2, sp, #0x8 + bl sub_02067960 + add sp, #0x10 + pop {r3-r5} + pop {r3} + add sp, #0x10 + bx r3 + .balign 4 + + thumb_func_start sub_02080BA8 +sub_02080BA8: ; 0x02080BA8 + push {r3-r4, lr} + sub sp, #0x4 + mov r2, #0x0 + add r4, r0, #0x0 + str r2, [sp, #0x0] + cmp r1, #0x0 + add r2, sp, #0x0 + bne _02080BE0 + mov r1, #0x97 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x91 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x92 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x93 + add r2, sp, #0x0 + bl sub_02067960 + add sp, #0x4 + pop {r3-r4, pc} +_02080BE0: + mov r1, #0x98 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x94 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x95 + add r2, sp, #0x0 + bl sub_02067960 + add r0, r4, #0x0 + mov r1, #0x96 + add r2, sp, #0x0 + bl sub_02067960 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02080C08 +sub_02080C08: ; 0x02080C08 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020672BC + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x9b + add r2, sp, #0x0 + bl sub_02067960 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02080C28 +sub_02080C28: ; 0x02080C28 + push {r3, lr} + mov r1, #0x1 + str r1, [sp, #0x0] + mov r1, #0x6e + add r2, sp, #0x0 + bl sub_02067960 + pop {r3, pc} + + thumb_func_start sub_02080C38 +sub_02080C38: ; 0x02080C38 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x8 + add r4, r0, #0x0 + blx sub_020CE34C + ldr r1, _02080C5C ; =sub_02080C60 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + nop +_02080C5C: .word sub_02080C60 + 1 + + thumb_func_start sub_02080C60 +sub_02080C60: ; 0x02080C60 + push {r3-r7, lr} + sub sp, #0x28 + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0xe + bls _02080C7C + b _02080DE2 +_02080C7C: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r3, #0 + lsl r2, r5, #0 + lsl r4, r1, #0x2 + lsl r6, r3, #0x2 + lsl r4, r5, #0x2 + lsl r6, r7, #0x2 + lsl r2, r3, #0x3 + lsl r6, r5, #0x3 + lsl r0, r0, #0x4 + lsl r2, r2, #0x4 + lsl r4, r4, #0x4 + lsl r6, r6, #0x4 + lsl r4, r0, #0x5 + lsl r2, r1, #0x5 + lsl r4, r3, #0x5 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080CB4: + .byte 0xF0, 0x68, 0xEA, 0xF7, 0x31, 0xFF, 0x00, 0x21, 0xEA, 0xF7, 0x78, 0xFE + .byte 0x07, 0x1C, 0x30, 0x1C, 0xB6, 0xF7, 0x72, 0xFD, 0xA2, 0xF7, 0x14, 0xFE, 0x0B, 0x21, 0x00, 0x90 + .byte 0xA2, 0xF7, 0x66, 0xFE, 0x05, 0x1C, 0x00, 0x21, 0x01, 0xA8, 0x01, 0x70, 0x41, 0x70, 0x02, 0x21 + .byte 0x81, 0x70, 0x00, 0x98, 0x03, 0x97, 0x04, 0x95, 0x05, 0x90, 0xF0, 0x68, 0xA7, 0xF7, 0x9A, 0xF8 + .byte 0x06, 0x90, 0xF0, 0x68, 0xA2, 0xF7, 0x04, 0xFE, 0x07, 0x90, 0x01, 0xA8, 0x00, 0xF0, 0x8A, 0xFA + .byte 0x20, 0x60, 0x28, 0x1C, 0xA0, 0xF7, 0x8C, 0xFE, 0x20, 0x68, 0x01, 0xF0, 0x5B, 0xF8, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xCE, 0xF8, 0x01, 0x28, 0x68, 0xD1 + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x64, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x2D, 0xFC, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x5D, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x4E, 0xFC, 0x01, 0x28, 0x58, 0xD1 + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x54, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x41, 0xFC, 0x23, 0x68 + .byte 0x29, 0x4A, 0x2A, 0x49, 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0xD2, 0xFB, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x46, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x7F, 0xFC, 0x20, 0x68, 0x01, 0xF0, 0xB2, 0xF8 + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x3C, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xA1, 0xF8, 0x01, 0x28 + .byte 0x37, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x33, 0xE0, 0x1D, 0x49, 0x22, 0x68, 0x28, 0x1C + .byte 0xC5, 0xF7, 0xB6, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x2A, 0xE0, 0x19, 0x49, 0x22, 0x68 + .byte 0x28, 0x1C, 0xC5, 0xF7, 0xAD, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x21, 0xE0, 0x16, 0x49 + .byte 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0xA4, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x18, 0xE0 + .byte 0x20, 0x68, 0x00, 0xF0, 0x91, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x11, 0xE0, 0x40, 0x1C + .byte 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xCA, 0xF7, 0xD5, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 + .byte 0x07, 0xE0 +_02080DE2: + bl sub_02020C2C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x28 + mov r0, #0x1 + pop {r3-r7, pc} +_02080DF2: + mov r0, #0x0 + add sp, #0x28 + pop {r3-r7, pc} +_02080DF8: + .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02 + .byte 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02 + + thumb_func_start sub_02080E0C +sub_02080E0C: ; 0x02080E0C + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x8 + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, _02080E50 ; =0x00000121 + str r6, [r4, #0x0] + ldrb r0, [r6, r0] + cmp r0, #0x0 + beq _02080E36 + cmp r0, #0x1 + beq _02080E36 + cmp r0, #0x2 + bne _02080E42 +_02080E36: + ldr r1, _02080E54 ; =sub_02080E5C + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} +_02080E42: + ldr r1, _02080E58 ; =sub_02081000 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + nop +_02080E50: .word 0x00000121 +_02080E54: .word sub_02080E5C + 1 +_02080E58: .word sub_02081000 + 1 + + thumb_func_start sub_02080E5C +sub_02080E5C: ; 0x02080E5C + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0xd + bls _02080E74 + b _02080FCE +_02080E74: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r3, #0 + lsl r0, r5, #0 + lsl r4, r0, #0x1 + lsl r4, r3, #0x1 + lsl r6, r7, #0x1 + lsl r2, r3, #0x2 + lsl r4, r7, #0x2 + lsl r6, r2, #0x3 + lsl r0, r5, #0x3 + lsl r0, r1, #0x4 + lsl r6, r4, #0x4 + lsl r0, r7, #0x4 + lsl r6, r7, #0x4 + lsl r0, r2, #0x5 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080EAA: + .byte 0x20, 0x68, 0x4C, 0x49, 0x41, 0x5C + .byte 0x00, 0x29, 0x04, 0xD0, 0x01, 0xF0, 0x04, 0xF8, 0x01, 0x28, 0x00, 0xD0, 0x8E, 0xE0, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x8A, 0xE0, 0x21, 0x68, 0x45, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x02, 0xD1 + .byte 0x00, 0x20, 0xB0, 0xF7, 0x59, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x7E, 0xE0, 0x22, 0x68 + .byte 0x3F, 0x49, 0x51, 0x5C, 0x01, 0x29, 0x08, 0xD1, 0x00, 0x20, 0xB0, 0xF7, 0x75, 0xFB, 0x01, 0x28 + .byte 0x74, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x70, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0 + .byte 0x20, 0x68, 0x00, 0xF0, 0x65, 0xFB, 0x23, 0x68, 0x36, 0x4A, 0x37, 0x49, 0x9A, 0x58, 0x28, 0x1C + .byte 0xC5, 0xF7, 0xF6, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x5F, 0xE0, 0x20, 0x68, 0x00, 0xF0 + .byte 0xA3, 0xFB, 0x20, 0x68, 0x2E, 0x49, 0x41, 0x5C, 0x01, 0x29, 0x05, 0xD1, 0x00, 0xF0, 0xD2, 0xFF + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x51, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x4E, 0xE0, 0x20, 0x68 + .byte 0x27, 0x49, 0x41, 0x5C, 0x00, 0x29, 0x03, 0xD0, 0x00, 0xF0, 0xBA, 0xFF, 0x01, 0x28, 0x45, 0xD1 + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x41, 0xE0, 0x24, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7 + .byte 0xCF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x38, 0xE0, 0x22, 0x68, 0x20, 0x48, 0x10, 0x5C + .byte 0xFF, 0x30, 0x00, 0x06, 0x00, 0x0E, 0x01, 0x28, 0x03, 0xD8, 0x1E, 0x49, 0x28, 0x1C, 0xC5, 0xF7 + .byte 0xBF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x28, 0xE0, 0x22, 0x68, 0x18, 0x48, 0x10, 0x5C + .byte 0x00, 0x28, 0x01, 0xD0, 0x02, 0x28, 0x03, 0xD1, 0x17, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0xB0, 0xFA + .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x14, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7 + .byte 0xA7, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x10, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x0D, 0xE0 + .byte 0x28, 0x1C, 0xC9, 0xF7, 0xDF, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x06, 0xE0 +_02080FCE: + bl sub_02020C2C + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_02080FDC: + mov r0, #0x0 + pop {r3-r5, pc} +_02080FE0: + .byte 0x71, 0x01, 0x00, 0x00, 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02 + .byte 0x21, 0x01, 0x00, 0x00, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02, 0xB8, 0xBB, 0x0F, 0x02 + + thumb_func_start sub_02081000 +sub_02081000: ; 0x02081000 + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bl sub_02046528 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x9 + bls _0208101A + b _020811A4 +_0208101A: + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r2, #0 + lsl r0, r4, #0 + lsl r0, r1, #0x1 + lsl r2, r4, #0x1 + lsl r0, r5, #0x1 + lsl r6, r0, #0x2 + lsl r2, r5, #0x2 + lsl r0, r1, #0x3 + lsl r6, r5, #0x5 + lsl r0, r0, #0x6 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_02081048: + .byte 0x20, 0x68, 0x5C, 0x49, 0x41, 0x5C, 0x03, 0x29 + .byte 0x01, 0xD0, 0x04, 0x29, 0x08, 0xD1, 0x00, 0xF0, 0xBB, 0xFA, 0x23, 0x68, 0x58, 0x4A, 0x59, 0x49 + .byte 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0x4C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0xA1, 0xE0 + .byte 0x20, 0x68, 0x52, 0x49, 0x41, 0x5C, 0x03, 0x29, 0x01, 0xD0, 0x04, 0x29, 0x01, 0xD1, 0x00, 0xF0 + .byte 0xF3, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x94, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x91, 0xE0 + .byte 0x22, 0x68, 0x4A, 0x48, 0x10, 0x5C, 0x03, 0x28, 0x01, 0xD0, 0x04, 0x28, 0x03, 0xD1, 0x4A, 0x49 + .byte 0x28, 0x1C, 0xC5, 0xF7, 0x2D, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x82, 0xE0, 0x20, 0x68 + .byte 0x42, 0x49, 0x41, 0x5C, 0x05, 0x29, 0x01, 0xD0, 0x06, 0x29, 0x06, 0xD1, 0x01, 0xF0, 0x2C, 0xFE + .byte 0x42, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0x1B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 + .byte 0x70, 0xE0, 0x22, 0x68, 0x39, 0x48, 0x10, 0x5C, 0x07, 0x28, 0x01, 0xD0, 0x08, 0x28, 0x03, 0xD1 + .byte 0x3B, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0x0C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x61, 0xE0 + .byte 0x21, 0x68, 0x32, 0x48, 0x08, 0x5C, 0x08, 0x28, 0x39, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88 + .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x10, 0x00, 0x10, 0x00 + .byte 0x32, 0x00, 0x32, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x00, 0x25, 0x00, 0xAE, 0x20, 0x68, 0x29, 0x1C + .byte 0x02, 0xF0, 0xF2, 0xF8, 0x07, 0x1C, 0x20, 0x68, 0x29, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x38, 0x18 + .byte 0x6D, 0x1C, 0x01, 0xC6, 0x04, 0x2D, 0xF1, 0xDB, 0x19, 0xE0, 0x00, 0x22, 0x4B, 0x23, 0x10, 0x1C + .byte 0x00, 0xA9, 0x9B, 0x00, 0x25, 0x68, 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A + .byte 0x20, 0xC1, 0xF7, 0xDB, 0x0B, 0xE0, 0x00, 0x22, 0x1E, 0x4B, 0x10, 0x1C, 0x00, 0xA9, 0x25, 0x68 + .byte 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A, 0x20, 0xC1, 0xF7, 0xDB, 0x00, 0x99 + .byte 0x00, 0x22, 0x01, 0x25, 0x01, 0xAB, 0x18, 0x68, 0x81, 0x42, 0x00, 0xDA, 0x52, 0x1C, 0x6D, 0x1C + .byte 0x1B, 0x1D, 0x04, 0x2D, 0xF7, 0xDB, 0x13, 0x20, 0x21, 0x68, 0x00, 0x01, 0x0A, 0x54, 0x60, 0x68 + .byte 0x40, 0x1C, 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xC9, 0xF7, 0xF4, 0xFE, 0x60, 0x68, 0x40, 0x1C + .byte 0x60, 0x60, 0x07, 0xE0 +_020811A4: + bl sub_02020C2C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_020811B4: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_020811BC: + .byte 0x21, 0x01, 0x00, 0x00 + .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02 + .byte 0xE8, 0xBB, 0x0F, 0x02, 0x2E, 0x01, 0x00, 0x00 + + thumb_func_start sub_020811D8 +sub_020811D8: ; 0x020811D8 + push {r4, lr} + ldr r1, _02081204 ; =0x000019C4 + mov r0, #0x14 + bl sub_02016998 + ldr r2, _02081204 ; =0x000019C4 + mov r1, #0x0 + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, _02081208 ; =0x00000123 + mov r1, #0x0 + strb r1, [r4, r0] + add r1, r0, #0x4 + mov r2, #0x1 + strb r2, [r4, r1] + mov r1, #0x3 + add r0, r0, #0x3 + strb r1, [r4, r0] + add r0, r4, #0x0 + pop {r4, pc} + nop +_02081204: .word 0x000019C4 +_02081208: .word 0x00000123 + + thumb_func_start sub_0208120C +sub_0208120C: ; 0x0208120C + ldr r3, _02081210 ; =sub_02016A18 + bx r3 + .balign 4 +_02081210: .word sub_02016A18 + 1 + + thumb_func_start sub_02081214 +sub_02081214: ; 0x02081214 + push {r3-r7, lr} + mov r2, #0x1 + add r6, r0, #0x0 + mov r0, #0xb + mov r1, #0x14 + lsl r2, r2, #0xe + bl sub_0201681C + bl sub_020811D8 + add r4, r0, #0x0 + bl sub_0201B9D4 + mov r1, #0x67 + lsl r1, r1, #0x6 + str r0, [r4, r1] + add r0, r4, #0x0 + bl sub_0208285C + ldrb r1, [r6, #0x0] + ldr r0, _020813E4 ; =0x0000011F + strb r1, [r4, r0] + add r1, r0, #0x1 + ldrb r2, [r6, #0x1] + add r0, r0, #0x2 + strb r2, [r4, r1] + ldrb r1, [r6, #0x2] + strb r1, [r4, r0] + ldrb r0, [r6, #0x1] + mov r1, #0x0 + bl sub_02083454 + ldr r1, _020813E8 ; =0x00000122 + mov r7, #0x0 + strb r0, [r4, r1] + add r0, r1, #0x1 + ldrb r2, [r4, r0] + sub r0, r1, #0x6 + add r5, r4, #0x0 + strb r2, [r4, r0] + mov r0, #0x64 + add r1, r0, #0x0 + add r1, #0xc1 + strb r0, [r4, r1] + add r1, r0, #0x0 + add r1, #0xc1 + ldrb r2, [r4, r1] + add r1, r0, #0x0 + add r1, #0xb9 + strb r2, [r4, r1] + mov r1, #0x1 + add r0, #0xba + strb r1, [r4, r0] + ldr r1, [r6, #0x14] + ldr r0, _020813EC ; =0x0000199C + str r1, [r4, r0] + add r1, r0, #0x0 + ldr r2, [r6, #0x18] + sub r1, #0x14 + str r2, [r4, r1] + add r1, r0, #0x0 + ldr r2, [r6, #0x1c] + sub r1, #0x10 + str r2, [r4, r1] + add r1, r0, #0x0 + ldr r2, [r6, #0x8] + sub r1, #0xc + str r2, [r4, r1] + ldrb r2, [r6, #0x5] + sub r1, r0, #0x4 + strb r2, [r4, r1] + add r1, r0, #0x0 + ldr r2, [r6, #0x10] + sub r1, #0x8 + str r2, [r4, r1] + sub r1, r0, #0x3 + ldrb r2, [r6, #0x3] + sub r0, r0, #0x2 + strb r2, [r4, r1] + ldrb r1, [r6, #0x4] + strb r1, [r4, r0] +_020812B6: + mov r0, #0x14 + bl sub_02026FE8 + add r1, r5, #0x0 + add r1, #0xf8 + add r7, r7, #0x1 + add r5, r5, #0x4 + str r0, [r1, #0x0] + cmp r7, #0x4 + blt _020812B6 + mov r3, #0x12 + lsl r3, r3, #0x4 + ldrb r0, [r4, r3] + sub r2, r3, #0x2 + sub r3, r3, #0x1 + str r0, [sp, #0x0] + ldrb r2, [r4, r2] + ldrb r3, [r4, r3] + add r0, r4, #0x0 + mov r1, #0xb + bl sub_02082ED0 + mov r0, #0x14 + bl sub_0206B8AC + mov r1, #0x56 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r7, #0x0 + add r5, r4, #0x0 +_020812F2: + mov r0, #0x14 + bl sub_020669C0 + add r7, r7, #0x1 + stmia r5!, {r0} + cmp r7, #0x4 + blt _020812F2 + mov r7, #0x0 + add r5, r4, #0x0 +_02081304: + mov r0, #0x14 + bl sub_02029EE4 + mov r1, #0x57 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r7, r7, #0x1 + add r5, r5, #0x4 + cmp r7, #0x4 + blt _02081304 + add r0, r1, #0x0 + ldr r0, [r4, r0] + ldr r1, [r6, #0x20] + bl sub_02029F9C + ldr r0, [r6, #0x8] + ldr r1, [r4, #0x0] + bl sub_02069B88 + mov r0, #0x8 + mov r1, #0x14 + bl sub_020219F4 + add r1, r4, #0x0 + add r1, #0xe8 + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + ldr r1, [r6, #0xc] + bl sub_02021A74 + ldr r0, [r6, #0x10] + bl sub_020239CC + mov r1, #0x42 + lsl r1, r1, #0x2 + strb r0, [r4, r1] + add r0, r1, #0x4 + mov r2, #0x0 + strb r2, [r4, r0] + add r1, #0x17 + ldrb r1, [r4, r1] + ldr r0, [r4, #0x0] + bl sub_02081540 + mov r1, #0x11 + lsl r1, r1, #0x4 + strb r0, [r4, r1] + add r0, r4, #0x0 + bl sub_020832EC + cmp r0, #0x0 + ldr r0, [r6, #0x10] + bne _0208138E + bl sub_020239CC + cmp r0, #0x0 + bne _02081384 + mov r1, #0xba + add r0, r1, #0x0 + add r0, #0x5a + strh r1, [r4, r0] + b _020813A8 +_02081384: + mov r1, #0xbb + add r0, r1, #0x0 + add r0, #0x59 + strh r1, [r4, r0] + b _020813A8 +_0208138E: + bl sub_020239CC + cmp r0, #0x0 + bne _020813A0 + mov r0, #0x45 + mov r1, #0x0 + lsl r0, r0, #0x2 + strh r1, [r4, r0] + b _020813A8 +_020813A0: + mov r1, #0x61 + add r0, r1, #0x0 + add r0, #0xb3 + strh r1, [r4, r0] +_020813A8: + ldrb r1, [r6, #0x3] + ldrb r2, [r6, #0x4] + add r0, r4, #0x0 + bl sub_020813F4 + add r0, r4, #0x0 + bl sub_020832EC + cmp r0, #0x1 + bne _020813D0 + ldr r1, _020813F0 ; =0x00000172 + mov r5, #0x0 + mov r0, #0x3 +_020813C2: + sub r3, r0, r5 + add r2, r4, r5 + add r5, r5, #0x1 + strb r3, [r2, r1] + cmp r5, #0x4 + blt _020813C2 + b _020813DE +_020813D0: + ldr r0, _020813F0 ; =0x00000172 + mov r2, #0x0 +_020813D4: + add r1, r4, r2 + strb r2, [r1, r0] + add r2, r2, #0x1 + cmp r2, #0x4 + blt _020813D4 +_020813DE: + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_020813E4: .word 0x0000011F +_020813E8: .word 0x00000122 +_020813EC: .word 0x0000199C +_020813F0: .word 0x00000172 + + thumb_func_start sub_020813F4 +sub_020813F4: ; 0x020813F4 + push {r3-r7, lr} + sub sp, #0x10 + mov r3, #0x12 + add r5, r0, #0x0 + lsl r3, r3, #0x4 + ldrb r4, [r5, r3] + str r4, [sp, #0x0] + add r4, r3, #0x1 + ldrb r4, [r5, r4] + sub r3, r3, #0x1 + str r4, [sp, #0x4] + str r1, [sp, #0x8] + str r2, [sp, #0xc] + ldrb r3, [r5, r3] + mov r1, #0xb + mov r2, #0x3 + bl sub_020828E4 + add r4, r5, #0x0 + add r4, #0x10 + mov r7, #0x1 + add r6, r5, #0x4 + add r4, #0x30 +_02081422: + ldr r1, [r6, #0x0] + add r0, r4, #0x0 + mov r2, #0x14 + bl sub_02082D60 + add r7, r7, #0x1 + add r6, r6, #0x4 + add r4, #0x30 + cmp r7, #0x4 + blt _02081422 + mov r6, #0x1 + add r4, r5, #0x4 + mov r7, #0x8 +_0208143C: + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02081454 + add r0, r7, #0x0 + mov r1, #0x14 + bl sub_020219F4 + add r1, r4, #0x0 + add r1, #0xe8 + str r0, [r1, #0x0] +_02081454: + add r2, r4, #0x0 + add r2, #0xe8 + ldr r0, [r4, #0x0] + ldr r2, [r2, #0x0] + mov r1, #0x90 + bl sub_020671BC + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _0208143C + add r0, r5, #0x0 + add r0, #0x30 + mov r2, #0x42 + mov r1, #0x1 + add r0, #0x30 + lsl r2, r2, #0x2 +_02081476: + ldrh r3, [r0, #0x0] + add r0, #0x30 + lsl r3, r3, #0x12 + lsr r4, r3, #0x1e + add r3, r5, r1 + add r1, r1, #0x1 + strb r4, [r3, r2] + cmp r1, #0x4 + blt _02081476 + add r0, r5, #0x0 + add r0, #0x30 + mov r2, #0x43 + mov r1, #0x1 + add r0, #0x30 + lsl r2, r2, #0x2 +_02081494: + ldrh r3, [r0, #0x0] + add r0, #0x30 + lsl r3, r3, #0x10 + lsr r4, r3, #0x1e + add r3, r5, r1 + add r1, r1, #0x1 + strb r4, [r3, r2] + cmp r1, #0x4 + blt _02081494 + add r3, r5, #0x0 + mov r1, #0x11 + mov r4, #0x1 + add r3, #0x30 + lsl r1, r1, #0x4 +_020814B0: + add r0, r3, #0x0 + add r0, #0x3e + ldrb r2, [r0, #0x0] + add r0, r5, r4 + add r4, r4, #0x1 + add r3, #0x30 + strb r2, [r0, r1] + cmp r4, #0x4 + blt _020814B0 + add r2, r5, #0x0 + mov r0, #0x45 + mov r4, #0x1 + add r2, #0x30 + add r3, r5, #0x2 + lsl r0, r0, #0x2 +_020814CE: + ldrh r1, [r2, #0x18] + add r4, r4, #0x1 + add r2, #0x30 + strh r1, [r3, r0] + add r3, r3, #0x2 + cmp r4, #0x4 + blt _020814CE + add r0, r5, #0x0 + mov r1, #0xb + bl sub_02082B90 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start sub_020814E8 +sub_020814E8: ; 0x020814E8 + push {r3-r7, lr} + add r7, r0, #0x0 + mov r0, #0x56 + lsl r0, r0, #0x2 + ldr r0, [r7, r0] + bl sub_02016A18 + mov r6, #0x57 + mov r4, #0x0 + add r5, r7, #0x0 + lsl r6, r6, #0x2 +_020814FE: + ldr r0, [r5, #0x0] + bl sub_02016A18 + add r0, r5, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + bl sub_02021A20 + add r0, r5, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_02016A18 + ldr r0, [r5, r6] + bl sub_02016A18 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _020814FE + mov r0, #0x67 + lsl r0, r0, #0x6 + ldr r0, [r7, r0] + bl sub_0201B9E0 + add r0, r7, #0x0 + bl sub_0208120C + mov r0, #0x14 + bl sub_020168D0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02081540 +sub_02081540: ; 0x02081540 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x1 + add r7, r1, #0x0 + str r0, [sp, #0x0] + mov r4, #0x0 +_0208154C: + cmp r7, #0x4 + bhi _020815B6 + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r3, #0 + lsl r0, r5, #0 + lsl r0, r7, #0 + lsl r0, r1, #0x1 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x7a + mov r2, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + b _020815BA +_02081576: + .byte 0x21, 0x1C, 0x28, 0x1C, 0x7E, 0x31, 0x00, 0x22, 0xE5, 0xF7 + .byte 0x1D, 0xFE, 0x06, 0x1C, 0x19, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x82, 0x31, 0x00, 0x22, 0xE5, 0xF7 + .byte 0x15, 0xFE, 0x06, 0x1C, 0x11, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x86, 0x31, 0x00, 0x22, 0xE5, 0xF7 + .byte 0x0D, 0xFE, 0x06, 0x1C, 0x09, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x8A, 0x31, 0x00, 0x22, 0xE5, 0xF7 + .byte 0x05, 0xFE, 0x06, 0x1C, 0x01, 0xE0 +_020815B6: + bl sub_02020C2C +_020815BA: + cmp r6, #0x0 + beq _020815CA + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r0, r0, #0x1 + str r0, [sp, #0x0] + cmp r4, #0x3 + ble _0208154C +_020815CA: + ldr r0, [sp, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020815D0 +sub_020815D0: ; 0x020815D0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _02081658 ; =0x00000123 + ldrb r0, [r5, r0] + lsl r0, r0, #0x2 + add r0, r5, r0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_02027740 + mov r0, #0x14 + mov r1, #0x28 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x28 + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, _02081658 ; =0x00000123 + ldrb r1, [r5, r0] + lsl r1, r1, #0x2 + ldr r1, [r5, r1] + str r1, [r4, #0x0] + ldrb r1, [r5, r0] + lsl r1, r1, #0x2 + add r1, r5, r1 + add r1, #0xf8 + ldr r1, [r1, #0x0] + str r1, [r4, #0x4] + sub r1, r0, #0x1 + ldrb r1, [r5, r1] + str r1, [r4, #0x8] + add r1, r0, #0x0 + add r1, #0x4e + ldrb r1, [r5, r1] + cmp r1, #0x1 + bne _02081620 + mov r0, #0x4 + b _02081624 +_02081620: + sub r0, r0, #0x3 + ldrb r0, [r5, r0] +_02081624: + str r0, [r4, #0xc] + ldr r0, _0208165C ; =0x00000121 + ldrb r1, [r5, r0] + sub r0, r0, #0x2 + str r1, [r4, #0x10] + ldrb r0, [r5, r0] + str r0, [r4, #0x14] + ldr r0, _02081660 ; =0x0000199C + ldr r0, [r5, r0] + bl sub_0202708C + ldr r1, _02081664 ; =0x000019A0 + str r0, [r4, #0x18] + add r0, r5, r1 + str r0, [r4, #0x1c] + add r0, r1, #0x0 + sub r0, #0x18 + ldr r0, [r5, r0] + str r0, [r4, #0x20] + add r0, r1, #0x0 + sub r0, #0xc + ldr r0, [r5, r0] + add r1, #0x18 + str r0, [r4, #0x24] + str r4, [r5, r1] + pop {r3-r5, pc} + .balign 4 +_02081658: .word 0x00000123 +_0208165C: .word 0x00000121 +_02081660: .word 0x0000199C +_02081664: .word 0x000019A0 + + thumb_func_start sub_02081668 +sub_02081668: ; 0x02081668 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0208167C ; =0x000019B8 + ldr r0, [r4, r0] + bl sub_02016A18 + ldr r0, _0208167C ; =0x000019B8 + mov r1, #0x0 + str r1, [r4, r0] + pop {r4, pc} + .balign 4 +_0208167C: .word 0x000019B8 + + thumb_func_start sub_02081680 +sub_02081680: ; 0x02081680 + push {r3-r7, lr} + sub sp, #0x10 + ldr r2, _020819E8 ; =0x00000176 + add r4, r1, #0x0 + str r0, [sp, #0x0] + ldrb r0, [r4, r2] + cmp r0, #0x2f + bls _02081692 + b _02081D24 +_02081692: + add r3, r0, r0 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r3, #0x1 + lsl r6, r6, #0x1 + lsl r4, r1, #0x2 + lsl r2, r4, #0x2 + lsl r6, r7, #0x2 + lsl r6, r2, #0x3 + lsl r4, r5, #0x3 + lsl r0, r1, #0x4 + lsl r4, r4, #0x4 + lsl r4, r7, #0x4 + lsl r2, r2, #0x5 + lsl r2, r0, #0x6 + lsl r0, r3, #0x6 + lsl r0, r6, #0x6 + lsl r6, r0, #0x7 + lsl r4, r4, #0x7 + lsl r0, r0, #0x8 + lsl r0, r3, #0x8 + lsl r6, r5, #0x8 + lsl r2, r5, #0x9 + lsl r0, r4, #0xa + lsl r0, r7, #0xa + lsl r6, r1, #0xb + lsl r6, r5, #0xb + lsl r6, r7, #0xc + lsl r4, r4, #0xd + lsl r2, r7, #0xd + lsl r4, r6, #0xe + lsl r2, r5, #0xf + lsl r6, r2, #0x10 + lsl r4, r5, #0x10 + lsl r0, r1, #0x11 + lsl r4, r4, #0x11 + lsl r4, r7, #0x11 + lsl r2, r2, #0x12 + lsl r4, r1, #0x13 + lsl r2, r0, #0x14 + lsl r2, r3, #0x14 + lsl r0, r6, #0x14 + lsl r2, r3, #0x15 + lsl r6, r6, #0x15 + lsl r6, r1, #0x16 + lsl r4, r4, #0x16 + lsl r6, r4, #0x17 + lsl r4, r3, #0x18 + lsl r4, r6, #0x18 + lsl r2, r1, #0x19 + lsl r0, r5, #0x19 + mov r0, #0x5 + bl sub_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081716: + .byte 0x05, 0x20, 0xAF, 0xF7, 0x5E, 0xFF, 0x01, 0x28, 0x75, 0xD1 + .byte 0xB1, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x20, 0x1C, 0x01, 0xF0 + .byte 0x7F, 0xFF, 0x01, 0x28, 0x6A, 0xD1, 0xAC, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 + .byte 0xF8, 0xBD, 0xAA, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x5D, 0xD3 + .byte 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x06, 0x20 + .byte 0xAF, 0xF7, 0x12, 0xFF, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C + .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x06, 0x20, 0xAF, 0xF7, 0x2E, 0xFF, 0x01, 0x28, 0x45, 0xD1 + .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C + .byte 0x22, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x92, 0xFF, 0x01, 0x28, 0x37, 0xD1, 0x92, 0x48, 0x04, 0xB0 + .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C + .byte 0x61, 0x5C, 0x8B, 0x42, 0x2A, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C + .byte 0xA0, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7, 0xDF, 0xFE, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54 + .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7 + .byte 0xFB, 0xFE, 0x01, 0x28, 0x12, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 + .byte 0xF8, 0xBD, 0x13, 0x1C, 0x53, 0x3B, 0xE5, 0x5C, 0x13, 0x1C, 0x5A, 0x3B, 0xE3, 0x5C, 0x9D, 0x42 + .byte 0x0B, 0xD1, 0x20, 0x1C, 0x01, 0xF0, 0x9A, 0xFF, 0x01, 0x28, 0x00, 0xD0, 0xD6, 0xE2, 0x76, 0x48 + .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54 + .byte 0xF8, 0xBD, 0x72, 0x48, 0x21, 0x5C, 0x00, 0x29, 0x73, 0xD0, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C + .byte 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x08, 0x20, 0xAF, 0xF7, 0xA5, 0xFE, 0x6B, 0x48 + .byte 0x00, 0x21, 0x21, 0x54, 0x68, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD + .byte 0x08, 0x20, 0xAF, 0xF7, 0xC1, 0xFE, 0x01, 0x28, 0x5B, 0xD1, 0x63, 0x48, 0x04, 0xB0, 0x21, 0x5C + .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C, 0x20, 0x1C, 0x10, 0x32 + .byte 0x01, 0xF0, 0xA0, 0xFF, 0x01, 0x28, 0x4C, 0xD1, 0x5B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C + .byte 0x21, 0x54, 0xF8, 0xBD, 0x59, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42 + .byte 0x3F, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD + .byte 0x09, 0x20, 0xAF, 0xF7, 0x71, 0xFE, 0x51, 0x48, 0x00, 0x21, 0x21, 0x54, 0x4E, 0x48, 0x04, 0xB0 + .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x09, 0x20, 0xAF, 0xF7, 0x8D, 0xFE, 0x01, 0x28 + .byte 0x27, 0xD1, 0x49, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C + .byte 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x11, 0xD1, 0x90, 0x1C + .byte 0x21, 0x58, 0x23, 0x1C, 0x30, 0x22, 0x10, 0x33, 0x4A, 0x43, 0x20, 0x1C, 0x9A, 0x18, 0x01, 0xF0 + .byte 0x61, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x3C, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 + .byte 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x38, 0x49, 0x60, 0x5C, 0x00, 0x28 + .byte 0x00, 0xD1, 0x53, 0xE2, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C + .byte 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54 + .byte 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD + .byte 0x0A, 0x20, 0xAF, 0xF7, 0x21, 0xFE, 0x29, 0x48, 0x00, 0x21, 0x21, 0x54, 0x26, 0x48, 0x04, 0xB0 + .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0A, 0x20, 0xAF, 0xF7, 0x3D, 0xFE, 0x01, 0x28 + .byte 0x7C, 0xD1, 0x21, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A + .byte 0xA1, 0x5C, 0x22, 0x1C, 0xE8, 0x32, 0x12, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0x28 + .byte 0x6C, 0xD1, 0x19, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x17, 0x48 + .byte 0x4F, 0x3A, 0xA1, 0x5C, 0x20, 0x5C, 0x88, 0x42, 0x60, 0xD3, 0x00, 0x25, 0x00, 0x29, 0x15, 0xDD + .byte 0x26, 0x1C, 0x28, 0x1C, 0xAC, 0xF7, 0xFE, 0xFA, 0x07, 0x1C, 0x30, 0x1C, 0xE8, 0x30, 0x00, 0x68 + .byte 0xA0, 0xF7, 0x4C, 0xF8, 0x31, 0x1C, 0xE8, 0x31, 0x09, 0x68, 0x38, 0x1C, 0xA1, 0xF7, 0xE8, 0xFF + .byte 0x0B, 0x48, 0x6D, 0x1C, 0x20, 0x5C, 0x36, 0x1D, 0x85, 0x42, 0xEA, 0xDB, 0x07, 0x48, 0x00, 0x21 + .byte 0x21, 0x54, 0x05, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20 + .byte 0xAF, 0xF7, 0xD2, 0xFD, 0x01, 0x48, 0x05, 0xE0 +_020819E8: .word 0x00000176 +_020819EC: .word 0x00000584 +_020819F0: + .byte 0x27, 0x01, 0x00, 0x00, 0x00, 0x21, 0x21, 0x54, 0xCB, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C + .byte 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20, 0xAF, 0xF7, 0xE7, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0xC6, 0x48 + .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C + .byte 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x20, 0x1C + .byte 0x8A, 0x00, 0xA2, 0x18, 0xE8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0x3C, 0xFF, 0x01, 0x28, 0x0D, 0xD1 + .byte 0xB9, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0 + .byte 0xA0, 0x54, 0xF8, 0xBD, 0xB5, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0xAE, 0xE1, 0x00, 0x20 + .byte 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29 + .byte 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50 + .byte 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0xA8, 0xF7, 0x1B, 0xFA, 0x02, 0x1C + .byte 0x57, 0x20, 0x80, 0x00, 0xA6, 0x49, 0x20, 0x58, 0x61, 0x18, 0x4C, 0xF0, 0xA2, 0xEC, 0x0C, 0x20 + .byte 0xAF, 0xF7, 0x72, 0xFD, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C + .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0C, 0x20, 0xAF, 0xF7, 0x8E, 0xFD, 0x01, 0x28, 0x59, 0xD1 + .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C + .byte 0x20, 0x1C, 0x00, 0x22, 0x01, 0xF0, 0xFE, 0xFF, 0x01, 0x28, 0x4B, 0xD1, 0x92, 0x48, 0x04, 0xB0 + .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C + .byte 0x61, 0x5C, 0x8B, 0x42, 0x3E, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C + .byte 0xA0, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7, 0x3F, 0xFD, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54 + .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7 + .byte 0x5B, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 + .byte 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42 + .byte 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x1A, 0x3A, 0x8B, 0x00, 0xE3, 0x18, 0x9A, 0x58, 0x20, 0x1C + .byte 0x01, 0xF0, 0xC0, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x73, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C + .byte 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x6F, 0x49, 0x60, 0x5C + .byte 0x00, 0x28, 0x00, 0xD1, 0x22, 0xE1, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C + .byte 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E + .byte 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54 + .byte 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0xF0, 0xFC, 0x60, 0x48, 0x00, 0x21, 0x21, 0x54, 0x5E, 0x48 + .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0x0C, 0xFD + .byte 0x01, 0x28, 0x64, 0xD1, 0x58, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD + .byte 0x02, 0xAA, 0x20, 0x1C, 0x00, 0x21, 0x02, 0x32, 0x00, 0xF0, 0x5C, 0xFE, 0x55, 0x49, 0x02, 0xAA + .byte 0x61, 0x5C, 0x20, 0x1C, 0x02, 0x32, 0x01, 0xF0, 0xAF, 0xFF, 0x01, 0x28, 0x4F, 0xD1, 0x4E, 0x48 + .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x4C, 0x48, 0x11, 0x1C, 0x4F, 0x39 + .byte 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x42, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0 + .byte 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x0F, 0x20, 0xAF, 0xF7, 0xB6, 0xFC, 0x43, 0x48, 0x00, 0x21 + .byte 0x21, 0x54, 0x41, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0F, 0x20 + .byte 0xAF, 0xF7, 0xD2, 0xFC, 0x01, 0x28, 0x2A, 0xD1, 0x3B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C + .byte 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C + .byte 0x8B, 0x42, 0x14, 0xD1, 0x91, 0x1C, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x00, 0xF0, 0x1A, 0xFE + .byte 0x5E, 0x21, 0x89, 0x00, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x01, 0xF0, 0x6D, 0xFF, 0x01, 0x28 + .byte 0x0D, 0xD1, 0x2D, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C + .byte 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x29, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0x95, 0xE0 + .byte 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58 + .byte 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C + .byte 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7 + .byte 0x63, 0xFC, 0x1A, 0x48, 0x00, 0x21, 0x21, 0x54, 0x17, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C + .byte 0x21, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7, 0x7F, 0xFC, 0x01, 0x28, 0x6E, 0xD1, 0x12, 0x48 + .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C + .byte 0x20, 0x1C, 0xD0, 0x32, 0x01, 0xF0, 0x9E, 0xFD, 0x01, 0x28, 0x5F, 0xD1, 0x0A, 0x48, 0x04, 0xB0 + .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x08, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C + .byte 0x61, 0x5C, 0x8B, 0x42, 0x52, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C + .byte 0xA0, 0x54, 0xF8, 0xBD +_02081D24: + ldr r0, _02081D38 ; =0x00000127 + b _02081D3C +_02081D28: + .byte 0x76, 0x01, 0x00, 0x00, 0x84, 0x05, 0x00, 0x00 + .byte 0x85, 0x05, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00 +_02081D38: .word 0x00000127 +_02081D3C: + mov r5, #0x0 + ldrb r0, [r4, r0] + cmp r0, #0x0 + ble _02081D62 + mov r7, #0x42 + lsl r7, r7, #0x2 + add r6, r7, #0x0 + add r6, #0x1f +_02081D4C: + add r0, r5, #0x0 + bl sub_0202DFA4 + bl sub_020239CC + add r1, r4, r5 + strb r0, [r1, r7] + ldrb r0, [r4, r6] + add r5, r5, #0x1 + cmp r5, r0 + blt _02081D4C +_02081D62: + cmp r5, #0x4 + bge _02081D86 + add r1, r4, #0x0 + mov r0, #0x30 + add r1, #0x30 + mul r0, r5 + add r0, r1, r0 + mov r1, #0x42 + lsl r1, r1, #0x2 +_02081D74: + ldrh r2, [r0, #0x0] + add r0, #0x30 + lsl r2, r2, #0x12 + lsr r3, r2, #0x1e + add r2, r4, r5 + add r5, r5, #0x1 + strb r3, [r2, r1] + cmp r5, #0x4 + blt _02081D74 +_02081D86: + mov r0, #0x47 + lsl r0, r0, #0x2 + ldrb r2, [r4, r0] + ldr r1, _02081DC0 ; =0x000019B4 + strb r2, [r4, r1] + add r2, r0, #0x0 + add r2, #0x8 + ldrb r3, [r4, r2] + add r2, r1, #0x1 + strb r3, [r4, r2] + add r2, r1, #0x2 + mov r3, #0x1 + strb r3, [r4, r2] + add r2, r0, #0x0 + add r2, #0xb + ldrb r2, [r4, r2] + add r1, r1, #0x3 + strb r2, [r4, r1] + add r1, r0, #0x0 + mov r2, #0x0 + add r1, #0x64 + str r2, [r4, r1] + add r0, #0x5a + strb r2, [r4, r0] + ldr r0, [sp, #0x0] + bl sub_0200CAB4 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_02081DC0: .word 0x000019B4 + + thumb_func_start sub_02081DC4 +sub_02081DC4: ; 0x02081DC4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl sub_02030F40 + cmp r0, #0x0 + bne _02081DD4 + mov r0, #0x0 + pop {r3-r7, pc} +_02081DD4: + ldr r0, _02081EA4 ; =0x00000171 + mov r1, #0x1 + strb r1, [r6, r0] + bl sub_02030F20 + add r4, r0, #0x0 + bl sub_02031190 + mov r5, #0x0 + str r0, [sp, #0x0] + cmp r4, #0x0 + ble _02081E0A +_02081DEC: + add r0, r5, #0x0 + bl sub_0202DFA4 + add r7, r0, #0x0 + bne _02081DFA + bl sub_02020C2C +_02081DFA: + add r0, r7, #0x0 + bl sub_02023A88 + cmp r0, #0x0 + beq _02081E0A + add r5, r5, #0x1 + cmp r5, r4 + blt _02081DEC +_02081E0A: + cmp r5, r4 + beq _02081E12 + mov r1, #0x0 + b _02081E14 +_02081E12: + mov r1, #0x1 +_02081E14: + ldr r0, _02081EA8 ; =0x00001999 + mov r5, #0x0 + strb r1, [r6, r0] + cmp r4, #0x0 + ble _02081E3C +_02081E1E: + add r0, r5, #0x0 + bl sub_0202DFA4 + add r7, r0, #0x0 + bne _02081E2C + bl sub_02020C2C +_02081E2C: + add r0, r7, #0x0 + bl sub_02023A9C + cmp r0, #0x0 + beq _02081E3C + add r5, r5, #0x1 + cmp r5, r4 + blt _02081E1E +_02081E3C: + cmp r5, r4 + beq _02081E44 + mov r1, #0x0 + b _02081E46 +_02081E44: + mov r1, #0x1 +_02081E46: + ldr r0, _02081EAC ; =0x0000199A + ldr r2, _02081EA8 ; =0x00001999 + strb r1, [r6, r0] + ldrb r1, [r6, r2] + add r2, r2, #0x1 + ldrb r2, [r6, r2] + add r0, r6, #0x0 + bl sub_020813F4 + ldr r0, [sp, #0x0] + mov r1, #0x49 + lsl r0, r0, #0x18 + mov r2, #0x4 + lsr r0, r0, #0x18 + lsl r1, r1, #0x2 + sub r3, r2, r4 + strb r0, [r6, r1] + add r2, r1, #0x2 + strb r3, [r6, r2] + add r2, r1, #0x3 + strb r4, [r6, r2] + sub r1, r1, #0x1 + strb r0, [r6, r1] + mov r1, #0x64 + add r0, r1, #0x0 + add r0, #0xc1 + strb r1, [r6, r0] + add r1, #0xbc + ldrb r0, [r6, r1] + mov r1, #0x1 + bl sub_02083454 + ldr r1, _02081EB0 ; =0x00000122 + strb r0, [r6, r1] + add r0, r6, #0x0 + bl sub_020834D0 + ldr r0, _02081EB4 ; =sub_02081680 + add r1, r6, #0x0 + mov r2, #0xa + bl sub_0200CA44 + mov r1, #0x6 + lsl r1, r1, #0x6 + str r0, [r6, r1] + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_02081EA4: .word 0x00000171 +_02081EA8: .word 0x00001999 +_02081EAC: .word 0x0000199A +_02081EB0: .word 0x00000122 +_02081EB4: .word sub_02081680 + 1 + + thumb_func_start sub_02081EB8 +sub_02081EB8: ; 0x02081EB8 + ldr r3, _02081EBC ; =sub_02081EC0 + bx r3 + .balign 4 +_02081EBC: .word sub_02081EC0 + 1 + + thumb_func_start sub_02081EC0 +sub_02081EC0: ; 0x02081EC0 + mov r1, #0x6 + lsl r1, r1, #0x6 + ldr r0, [r0, r1] + cmp r0, #0x0 + bne _02081ECE + mov r0, #0x1 + bx lr +_02081ECE: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_02081ED4 +sub_02081ED4: ; 0x02081ED4 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r0, [r4, r0] + cmp r0, #0x0 + beq _02081EE6 + bl sub_02020C2C +_02081EE6: + ldr r0, _02081F00 ; =0x00000176 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081F04 ; =sub_02081F08 + add r1, r4, #0x0 + mov r2, #0xa + bl sub_0200CA44 + mov r1, #0x6 + lsl r1, r1, #0x6 + str r0, [r4, r1] + pop {r4, pc} + nop +_02081F00: .word 0x00000176 +_02081F04: .word sub_02081F08 + 1 + + thumb_func_start sub_02081F08 +sub_02081F08: ; 0x02081F08 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _02082014 ; =0x00000176 + ldrb r2, [r4, r1] + cmp r2, #0x7 + bhi _02082000 + add r3, r2, r2 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 + lsl r6, r1, #0 + lsl r4, r4, #0 + lsl r0, r7, #0 + lsl r0, r3, #0x1 + lsl r2, r6, #0x1 + lsl r0, r1, #0x2 + lsl r4, r3, #0x2 + lsl r2, r1, #0x3 + mov r0, #0x11 + bl sub_02031588 + ldr r0, _02082018 ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081F46: + .byte 0x11, 0x20, 0xAF, 0xF7, 0x46, 0xFB, 0x01, 0x28, 0x5F, 0xD1 + .byte 0x30, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x53, 0x39, 0x61, 0x5C, 0x20, 0x1C + .byte 0x8A, 0x00, 0xA2, 0x18, 0xF8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0xE2, 0xFC, 0x01, 0x28, 0x4F, 0xD1 + .byte 0x28, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x27, 0x48, 0x0A, 0x1C, 0x4F, 0x3A + .byte 0x23, 0x5C, 0xA2, 0x5C, 0x93, 0x42, 0x43, 0xD3, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C + .byte 0x60, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0xF7, 0xFA, 0x1F, 0x48, 0x00, 0x21, 0x21, 0x54 + .byte 0x1C, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0x14, 0xFB + .byte 0x01, 0x28, 0x2D, 0xD1, 0x17, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x08, 0x1C + .byte 0x53, 0x38, 0x23, 0x5C, 0x08, 0x1C, 0x5A, 0x38, 0x20, 0x5C, 0x83, 0x42, 0x0B, 0xD1, 0x21, 0x1C + .byte 0x20, 0x1C, 0xF8, 0x31, 0x01, 0xF0, 0xF4, 0xFC, 0x01, 0x28, 0x19, 0xD1, 0x0D, 0x48, 0x21, 0x5C + .byte 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x50, 0x1C, 0x60, 0x54, 0x10, 0xBD, 0x0A, 0x48, 0x22, 0x5C + .byte 0x00, 0x2A, 0x0D, 0xD0, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C, 0x60, 0x54, 0x10, 0xBD +_02082000: + mov r1, #0x6 + mov r2, #0x0 + lsl r1, r1, #0x6 + str r2, [r4, r1] + sub r1, #0xa + strb r2, [r4, r1] + bl sub_0200CAB4 + pop {r4, pc} + nop +_02082014: .word 0x00000176 +_02082018: .word 0x00000584 + + thumb_func_start sub_0208201C +sub_0208201C: ; 0x0208201C + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r2, #0x0 + lsl r2, r4, #0x3 + add r2, r5, r2 + add r2, #0xd0 + ldrh r2, [r2, #0x0] + add r1, r3, #0x0 + bl sub_0200B244 + pop {r3-r5, pc} + + thumb_func_start sub_02082034 +sub_02082034: ; 0x02082034 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_020832E4 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + add r0, r4, #0x0 + lsl r2, r3, #0x2 + add r4, r5, r3 + mov r3, #0x42 + add r2, r5, r2 + lsl r3, r3, #0x2 + add r2, #0xe8 + ldrb r3, [r4, r3] + ldr r2, [r2, #0x0] + add r1, r6, #0x0 + bl sub_0200ABB4 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0208206C +sub_0208206C: ; 0x0208206C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_020832E4 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_020690E4 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + bl sub_0200ACF8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02082090 +sub_02082090: ; 0x02082090 + push {r3-r5, lr} + add r4, r2, #0x0 + mov r2, #0x12 + add r3, r0, #0x0 + lsl r2, r2, #0x4 + add r5, r1, #0x0 + add r1, r2, #0x1 + ldrb r0, [r3, r2] + add r2, #0x51 + ldrb r1, [r3, r1] + ldrb r2, [r3, r2] + bl sub_02083228 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200B278 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020820B8 +sub_020820B8: ; 0x020820B8 + push {r3-r5, lr} + add r5, r1, #0x0 + ldr r1, _020820D8 ; =0x0000011F + add r3, r0, #0x0 + ldrb r0, [r3, r1] + add r1, r1, #0x2 + ldrb r1, [r3, r1] + add r4, r2, #0x0 + bl sub_020832A4 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200B2AC + pop {r3-r5, pc} + .balign 4 +_020820D8: .word 0x0000011F + + thumb_func_start sub_020820DC +sub_020820DC: ; 0x020820DC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0x13 + add r6, r2, #0x0 + mov r0, #0x0 + add r3, r5, #0x0 + lsl r1, r1, #0x4 +_020820EC: + ldrb r2, [r3, r1] + cmp r2, #0x0 + beq _020820FA + add r0, r0, #0x1 + add r3, #0xc + cmp r0, #0x4 + blt _020820EC +_020820FA: + bl sub_020832DC + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_02082034 + pop {r4-r6, pc} + + thumb_func_start sub_0208210C +sub_0208210C: ; 0x0208210C + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r1, #0x13 + add r6, r2, #0x0 + mov r0, #0x0 + add r3, r5, #0x0 + lsl r1, r1, #0x4 +_0208211C: + ldrb r2, [r3, r1] + cmp r2, #0x0 + beq _0208212A + add r0, r0, #0x1 + add r3, #0xc + cmp r0, #0x4 + blt _0208211C +_0208212A: + bl sub_020832DC + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl sub_0208206C + pop {r4-r6, pc} + + thumb_func_start sub_0208213C +sub_0208213C: ; 0x0208213C + mov r0, #0x1 + bx lr + + thumb_func_start sub_02082140 +sub_02082140: ; 0x02082140 + push {r3, lr} + ldr r2, _02082154 ; =0x00000171 + ldrb r0, [r0, r2] + cmp r0, #0x0 + beq _02082150 + add r0, r1, #0x0 + bl sub_02031588 +_02082150: + pop {r3, pc} + nop +_02082154: .word 0x00000171 + + thumb_func_start sub_02082158 +sub_02082158: ; 0x02082158 + push {r3, lr} + ldr r2, _02082178 ; =0x00000171 + ldrb r0, [r0, r2] + cmp r0, #0x0 + bne _02082166 + mov r0, #0x1 + pop {r3, pc} +_02082166: + add r0, r1, #0x0 + bl sub_020315D8 + cmp r0, #0x1 + bne _02082174 + mov r0, #0x1 + pop {r3, pc} +_02082174: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02082178: .word 0x00000171 + + thumb_func_start sub_0208217C +sub_0208217C: ; 0x0208217C + ldr r2, _0208218C ; =0x00000123 + mov r1, #0xc + ldrb r3, [r0, r2] + add r2, #0xd + mul r1, r3 + add r0, r0, r1 + ldrb r0, [r0, r2] + bx lr + .balign 4 +_0208218C: .word 0x00000123 + + thumb_func_start sub_02082190 +sub_02082190: ; 0x02082190 + push {r3, lr} + mov r1, #0x13 + mov r3, #0x0 + lsl r1, r1, #0x4 +_02082198: + ldrb r2, [r0, r1] + cmp r2, #0x0 + bne _020821A6 + add r0, r3, #0x0 + bl sub_020832DC + pop {r3, pc} +_020821A6: + add r3, r3, #0x1 + add r0, #0xc + cmp r3, #0x4 + blt _02082198 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020821B4 +sub_020821B4: ; 0x020821B4 + ldr r1, _020821BC ; =0x00000123 + ldr r3, _020821C0 ; =sub_020832DC + ldrb r0, [r0, r1] + bx r3 + .balign 4 +_020821BC: .word 0x00000123 +_020821C0: .word sub_020832DC + 1 + + thumb_func_start sub_020821C4 +sub_020821C4: ; 0x020821C4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_020832E4 + lsl r0, r0, #0x1 + add r1, r4, r0 + mov r0, #0x45 + lsl r0, r0, #0x2 + ldrh r0, [r1, r0] + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020821DC +sub_020821DC: ; 0x020821DC + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl sub_020832E4 + add r1, r4, r0 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldrb r0, [r1, r0] + pop {r4, pc} + + thumb_func_start sub_020821F0 +sub_020821F0: ; 0x020821F0 + push {r3, lr} + ldr r1, _02082210 ; =0x00000171 + ldrb r1, [r0, r1] + cmp r1, #0x1 + bne _020821FE + mov r0, #0x1 + pop {r3, pc} +_020821FE: + bl sub_020832EC + cmp r0, #0x1 + bne _0208220A + mov r0, #0x2 + pop {r3, pc} +_0208220A: + mov r0, #0x0 + pop {r3, pc} + nop +_02082210: .word 0x00000171 + + thumb_func_start sub_02082214 +sub_02082214: ; 0x02082214 + push {r4-r5} + mov r4, #0x12 + lsl r4, r4, #0x4 + ldrb r5, [r0, r4] + strh r5, [r1, #0x0] + sub r1, r4, #0x1 + ldrb r1, [r0, r1] + strh r1, [r2, #0x0] + add r1, r4, #0x1 + ldrb r1, [r0, r1] + strh r1, [r3, #0x0] + ldr r1, _02082238 ; =0x00001998 + ldrb r1, [r0, r1] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + pop {r4-r5} + bx lr + nop +_02082238: .word 0x00001998 + + thumb_func_start sub_0208223C +sub_0208223C: ; 0x0208223C + ldr r1, _02082244 ; =0x00000171 + ldr r3, _02082248 ; =sub_020833D4 + ldrb r0, [r0, r1] + bx r3 + .balign 4 +_02082244: .word 0x00000171 +_02082248: .word sub_020833D4 + 1 + + thumb_func_start sub_0208224C +sub_0208224C: ; 0x0208224C + ldr r3, _02082250 ; =sub_02083404 + bx r3 + .balign 4 +_02082250: .word sub_02083404 + 1 + + thumb_func_start sub_02082254 +sub_02082254: ; 0x02082254 + push {r4, lr} + mov r1, #0x12 + add r4, r0, #0x0 + lsl r1, r1, #0x4 + ldrb r0, [r4, r1] + sub r1, r1, #0x1 + ldrb r1, [r4, r1] + bl sub_0208341C + add r1, r0, #0x0 + ldr r0, _02082280 ; =0x00001990 + mov r2, #0x0 + ldr r0, [r4, r0] + bl sub_020671BC + cmp r0, #0x0 + beq _0208227A + mov r0, #0x1 + pop {r4, pc} +_0208227A: + mov r0, #0x0 + pop {r4, pc} + nop +_02082280: .word 0x00001990 + + thumb_func_start sub_02082284 +sub_02082284: ; 0x02082284 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, _020822EC ; =0x0000011F + add r5, r2, #0x0 + ldrb r2, [r0, r1] + cmp r2, #0x4 + bhi _020822D0 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r0, r1, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + add r1, r1, #0x1 + ldrb r0, [r0, r1] + add r0, #0x21 + b _020822D6 +_020822B0: + .byte 0x49, 0x1C, 0x40, 0x5C, 0x25, 0x30, 0x0E, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x29, 0x30, 0x0A, 0xE0 + .byte 0x49, 0x1C, 0x40, 0x5C, 0x2D, 0x30, 0x06, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x31, 0x30, 0x02, 0xE0 +_020822D0: + bl sub_02020C2C + pop {r3-r5, pc} +_020822D6: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x3 + bl sub_0207FC5C + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_0200AD94 + pop {r3-r5, pc} + .balign 4 +_020822EC: .word 0x0000011F + + thumb_func_start sub_020822F0 +sub_020822F0: ; 0x020822F0 + push {r3-r5, lr} + mov r4, #0x64 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0xbf + ldrb r1, [r5, r0] + mov r0, #0xc + mul r0, r1 + add r1, r5, r0 + add r0, r4, #0x0 + add r0, #0xcc + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _02082310 + ldr r0, _0208243C ; =0x0000FFFF + pop {r3-r5, pc} +_02082310: + add r0, r4, #0x0 + add r0, #0xbb + ldrb r0, [r5, r0] + cmp r0, #0x4 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r6, #0 + lsl r4, r4, #0x1 + lsl r2, r2, #0x2 + lsl r0, r0, #0x3 + add r0, r4, #0x0 + add r0, #0xbc + ldrb r0, [r5, r0] + cmp r0, #0x3 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r4, #0x49 + b _02082414 +_02082352: + .byte 0x4E, 0x24, 0x5E, 0xE0, 0x53, 0x24, 0x5C, 0xE0, 0x58, 0x24, 0x5A, 0xE0, 0x20, 0x1C + .byte 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28, 0x55, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04 + .byte 0x00, 0x14, 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4A, 0x24, 0x49, 0xE0 + .byte 0x4F, 0x24, 0x47, 0xE0, 0x54, 0x24, 0x45, 0xE0, 0x59, 0x24, 0x43, 0xE0, 0x20, 0x1C, 0xBC, 0x30 + .byte 0x28, 0x5C, 0x03, 0x28, 0x3E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14 + .byte 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x48, 0x24, 0x32, 0xE0, 0x4D, 0x24 + .byte 0x30, 0xE0, 0x52, 0x24, 0x2E, 0xE0, 0x57, 0x24, 0x2C, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C + .byte 0x03, 0x28, 0x27, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44 + .byte 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4C, 0x24, 0x1B, 0xE0, 0x51, 0x24, 0x19, 0xE0 + .byte 0x56, 0x24, 0x17, 0xE0, 0x5B, 0x24, 0x15, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28 + .byte 0x10, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00 + .byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4B, 0x24, 0x04, 0xE0, 0x50, 0x24, 0x02, 0xE0, 0x55, 0x24 + .byte 0x00, 0xE0, 0x5A, 0x24 +_02082414: + cmp r4, #0x64 + bne _0208241C + bl sub_02020C2C +_0208241C: + ldr r0, _02082440 ; =0x0000198C + ldr r0, [r5, r0] + bl sub_02027E24 + bl sub_0202708C + add r1, r4, #0x0 + mov r2, #0x1 + bl sub_020270D8 + cmp r0, #0x0 + bne _02082438 + ldr r0, _0208243C ; =0x0000FFFF + pop {r3-r5, pc} +_02082438: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_0208243C: .word 0x0000FFFF +_02082440: .word 0x0000198C + + thumb_func_start sub_02082444 +sub_02082444: ; 0x02082444 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _020824F0 ; =0x000019BC + add r6, r1, #0x0 + ldr r0, [r5, r0] + cmp r0, #0x0 + beq _02082456 + bl sub_02020C2C +_02082456: + mov r0, #0x4 + mov r1, #0x10 + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x10 + add r4, r0, #0x0 + blx sub_020CE34C + add r0, r6, #0x0 + bl sub_020832E4 + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xc] + mov r1, #0x43 + lsl r1, r1, #0x2 + add r0, r5, r0 + ldrb r2, [r0, r1] + mov r0, #0x1 + and r0, r2 + add r2, r1, #0x0 + add r2, #0x65 + ldrb r2, [r5, r2] + cmp r2, #0x1 + bne _02082494 + mov r1, #0x6 + ldr r2, _020824F4 ; =0x020FBBAC + mul r1, r0 + add r0, r2, r1 + str r0, [r4, #0x4] + b _020824DC +_02082494: + add r1, #0x14 + ldrb r1, [r5, r1] + cmp r1, #0x3 + bhi _020824D2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r2, #0 + lsl r4, r3, #0 + lsl r0, r5, #0 + lsl r1, r0, #0x1 + ldr r2, _020824F8 ; =0x020FBB90 + add r0, r0, r1 + add r0, r2, r0 + str r0, [r4, #0x4] + b _020824DC +_020824BC: + .byte 0x0F, 0x49, 0x80, 0x00 + .byte 0x08, 0x18, 0x60, 0x60, 0x0A, 0xE0, 0x81, 0x00, 0x0D, 0x4A, 0x40, 0x18, 0x10, 0x18, 0x60, 0x60 + .byte 0x04, 0xE0 +_020824D2: + mov r1, #0x6 + ldr r2, _020824F4 ; =0x020FBBAC + mul r1, r0 + add r0, r2, r1 + str r0, [r4, #0x4] +_020824DC: + ldr r0, _02082504 ; =sub_0208251C + add r1, r5, #0x0 + mov r2, #0x64 + bl sub_0200CA44 + str r0, [r4, #0x0] + ldr r0, _020824F0 ; =0x000019BC + str r4, [r5, r0] + pop {r4-r6, pc} + nop +_020824F0: .word 0x000019BC +_020824F4: .word 0x020FBBAC +_020824F8: .word 0x020FBB90 +_020824FC: + .byte 0x98, 0xBB, 0x0F, 0x02 + .byte 0xA0, 0xBB, 0x0F, 0x02 +_02082504: .word sub_0208251C + 1 + + thumb_func_start sub_02082508 +sub_02082508: ; 0x02082508 + ldr r1, _02082518 ; =0x000019BC + ldr r0, [r0, r1] + cmp r0, #0x0 + bne _02082514 + mov r0, #0x1 + bx lr +_02082514: + mov r0, #0x0 + bx lr + .balign 4 +_02082518: .word 0x000019BC + + thumb_func_start sub_0208251C +sub_0208251C: ; 0x0208251C + push {r3-r6, lr} + sub sp, #0x4 + add r6, r0, #0x0 + ldr r0, _02082598 ; =0x000019BC + add r5, r1, #0x0 + ldr r4, [r5, r0] + mov r0, #0x1 + bl sub_0200A344 + cmp r0, #0x0 + beq _02082594 + ldrb r0, [r4, #0xb] + cmp r0, #0x0 + bne _02082580 + mov r0, #0x8 + ldrsh r1, [r4, r0] + add r1, r1, #0x1 + strh r1, [r4, #0x8] + ldrsh r2, [r4, r0] + ldrb r0, [r4, #0xa] + ldr r1, [r4, #0x4] + ldrb r0, [r1, r0] + cmp r2, r0 + ble _02082594 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x6 + mov r1, #0x0 + mov r2, #0x4 + mov r3, #0x3f + bl sub_0200A208 + ldr r0, _0208259C ; =0x000005F8 + bl sub_020054C8 + ldrb r0, [r4, #0xa] + add r0, r0, #0x1 + strb r0, [r4, #0xa] + mov r0, #0x0 + strh r0, [r4, #0x8] + ldrb r0, [r4, #0xa] + ldr r1, [r4, #0x4] + ldrb r0, [r1, r0] + cmp r0, #0xff + bne _02082594 + ldrb r0, [r4, #0xb] + add sp, #0x4 + add r0, r0, #0x1 + strb r0, [r4, #0xb] + pop {r3-r6, pc} +_02082580: + ldr r0, _02082598 ; =0x000019BC + ldr r0, [r5, r0] + bl sub_02016A18 + ldr r0, _02082598 ; =0x000019BC + mov r1, #0x0 + str r1, [r5, r0] + add r0, r6, #0x0 + bl sub_0200CAB4 +_02082594: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02082598: .word 0x000019BC +_0208259C: .word 0x000005F8 + + thumb_func_start sub_020825A0 +sub_020825A0: ; 0x020825A0 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r0, #0x13 + str r2, [sp, #0x4] + ldr r6, [sp, #0x20] + ldr r7, [sp, #0x24] + str r1, [sp, #0x0] + str r3, [sp, #0x8] + mov r4, #0x0 + add r2, r5, #0x0 + lsl r0, r0, #0x4 +_020825B8: + ldrb r1, [r2, r0] + cmp r1, #0x0 + beq _020825C6 + add r4, r4, #0x1 + add r2, #0xc + cmp r4, #0x4 + blt _020825B8 +_020825C6: + add r0, r4, #0x0 + bl sub_020832DC + ldr r1, [sp, #0x0] + str r0, [r1, #0x0] + ldr r1, _02082628 ; =0x00000171 + ldr r0, [sp, #0x4] + ldrb r2, [r5, r1] + sub r1, #0x4a + str r2, [r0, #0x0] + ldrb r0, [r5, r1] + cmp r4, r0 + blt _020825E6 + mov r1, #0x1 + ldr r0, [sp, #0x8] + b _020825EA +_020825E6: + ldr r0, [sp, #0x8] + mov r1, #0x0 +_020825EA: + str r1, [r0, #0x0] + mov r0, #0x0 + str r0, [r6, #0x0] + str r0, [r7, #0x0] + ldr r0, _0208262C ; =0x00000121 + ldrb r0, [r5, r0] + cmp r0, #0x8 + bhi _02082624 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r3, #0 + lsl r4, r3, #0 + lsl r4, r3, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r2, #0 + lsl r0, r3, #0 + mov r0, #0x1 + add sp, #0xc + str r0, [r6, #0x0] + pop {r4-r7, pc} +_02082620: + .byte 0x01, 0x20, 0x38, 0x60 +_02082624: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02082628: .word 0x00000171 +_0208262C: .word 0x00000121 + + thumb_func_start sub_02082630 +sub_02082630: ; 0x02082630 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r0, _02082840 ; =0x00000121 + str r2, [sp, #0x4] + ldrb r0, [r4, r0] + add r6, r3, #0x0 + mov r5, #0x0 + cmp r0, #0x8 + bhi _02082666 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r4, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + lsl r0, r2, #0 + add sp, #0xc + pop {r4-r7, pc} +_02082666: + ldr r2, _02082844 ; =0x00000171 + ldrb r0, [r4, r2] + cmp r0, #0x0 + ldr r0, _02082848 ; =0x0000198C + beq _02082672 + b _02082774 +_02082672: + ldr r0, [r4, r0] + bl sub_020462AC + add r6, r0, #0x0 + ldr r0, _02082840 ; =0x00000121 + ldrb r1, [r4, r0] + cmp r1, #0x2 + bne _020826AC + sub r0, r0, #0x1 + ldrb r0, [r4, r0] + cmp r0, #0x3 + blo _020826AC + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _020826AC + ldr r1, _0208284C ; =0x0000011F + add r0, r6, #0x0 + ldrb r1, [r4, r1] + bl sub_0205EE60 + cmp r0, #0x0 + bne _020826AC + ldr r1, _0208284C ; =0x0000011F + add r0, r6, #0x0 + ldrb r1, [r4, r1] + bl sub_0205EE08 +_020826AC: + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _020826EA + mov r1, #0x1 + add r0, sp, #0x8 + strb r1, [r0, #0x0] + mov r1, #0x12 + lsl r1, r1, #0x4 + ldrb r0, [r4, r1] + sub r1, r1, #0x1 + ldrb r1, [r4, r1] + bl sub_0208341C + add r6, r0, #0x0 + ldr r0, _02082850 ; =0x00001990 + add r1, r6, #0x0 + ldr r0, [r4, r0] + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + bne _020826DE + mov r5, #0x1 +_020826DE: + ldr r0, _02082850 ; =0x00001990 + add r1, r6, #0x0 + ldr r0, [r4, r0] + add r2, sp, #0x8 + bl sub_02067830 +_020826EA: + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_02022504 + ldr r3, _02082854 ; =0x00000123 + mov r1, #0xc + ldrb r2, [r4, r3] + mul r1, r2 + add r2, r4, r1 + add r1, r3, #0x0 + add r1, #0xd + ldrb r1, [r2, r1] + sub r2, r3, #0x4 + sub r3, r3, #0x3 + add r1, r1, #0x1 + str r1, [sp, #0x0] + ldr r1, _02082850 ; =0x00001990 + ldrb r2, [r4, r2] + ldrb r3, [r4, r3] + ldr r1, [r4, r1] + bl sub_02060F10 + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_02029FC8 + mov r1, #0x3f + add r6, r0, #0x0 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _02082740 + add r0, r6, #0x0 + mov r1, #0x41 + bl sub_0202A0E8 + add r0, r6, #0x0 + mov r1, #0xd + bl sub_0202A170 +_02082740: + cmp r5, #0x1 + bne _0208274C + add r0, r6, #0x0 + mov r1, #0x43 + bl sub_0202A0E8 +_0208274C: + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_02024DA0 + add r7, r0, #0x0 + ldr r0, _02082858 ; =0x00000127 + ldrb r6, [r4, r0] + cmp r6, #0x4 + bge _020827E8 + lsl r0, r6, #0x2 + add r5, r4, r0 +_02082762: + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl sub_0202498C + add r6, r6, #0x1 + add r5, r5, #0x4 + cmp r6, #0x4 + blt _02082762 + b _020827E8 +_02082774: + add r3, r2, #0x0 + sub r3, #0x4e + ldrb r5, [r4, r3] + add r1, r2, #0x0 + mov r3, #0xc + mul r3, r5 + sub r1, #0x52 + add r3, r4, r3 + sub r2, #0x41 + ldrb r1, [r4, r1] + ldrb r2, [r3, r2] + ldr r0, [r4, r0] + bl sub_0202C108 + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_02029FC8 + mov r1, #0x40 + add r5, r0, #0x0 + bl sub_0202A0E8 + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _020827BA + add r0, r5, #0x0 + mov r1, #0x42 + bl sub_0202A0E8 + add r0, r5, #0x0 + mov r1, #0x13 + bl sub_0202A170 +_020827BA: + ldr r1, _02082854 ; =0x00000123 + mov r0, #0xc + ldrb r2, [r4, r1] + add r1, #0xd + mul r0, r2 + add r0, r4, r0 + ldrb r0, [r0, r1] + mov r1, #0xb + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_02029500 + add r5, r0, #0x0 + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_020289A4 + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x4 + bl sub_02028AD4 +_020827E8: + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _02082820 + ldr r0, _02082848 ; =0x0000198C + ldr r0, [r4, r0] + bl sub_02027E24 + ldr r1, _0208284C ; =0x0000011F + ldrb r1, [r4, r1] + bl sub_02027044 + add r5, r0, #0x0 + bl sub_02027740 + ldr r1, _02082854 ; =0x00000123 + add r0, r5, #0x0 + ldrb r1, [r4, r1] + lsl r1, r1, #0x2 + add r1, r4, r1 + add r1, #0xf8 + ldr r1, [r1, #0x0] + bl sub_020278DC + add r0, r5, #0x0 + bl sub_02027710 +_02082820: + add r0, r4, #0x0 + bl sub_0208217C + cmp r0, #0x0 + bne _0208283A + ldr r0, _02082850 ; =0x00001990 + ldr r2, [sp, #0x4] + ldr r0, [r4, r0] + lsl r2, r2, #0x10 + mov r1, #0x9 + lsr r2, r2, #0x10 + bl sub_020688E8 +_0208283A: + add sp, #0xc + pop {r4-r7, pc} + nop +_02082840: .word 0x00000121 +_02082844: .word 0x00000171 +_02082848: .word 0x0000198C +_0208284C: .word 0x0000011F +_02082850: .word 0x00001990 +_02082854: .word 0x00000123 +_02082858: .word 0x00000127 + + thumb_func_start sub_0208285C +sub_0208285C: ; 0x0208285C + push {r4, lr} + bl sub_020126D8 + add r4, r0, #0x0 + bl sub_0201B9D4 + add r0, #0xa + mul r0, r4 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl sub_0201B9E0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02082878 +sub_02082878: ; 0x02082878 + ldr r3, _0208287C ; =sub_0201B9EC + bx r3 + .balign 4 +_0208287C: .word sub_0201B9EC + 1 + + thumb_func_start sub_02082880 +sub_02082880: ; 0x02082880 + push {r4, lr} + add r4, r1, #0x0 + bl sub_0201BA10 + str r0, [r4, #0x0] + lsr r0, r0, #0x10 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02082894 +sub_02082894: ; 0x02082894 + push {r4-r5} + mov r5, #0x42 + add r3, r0, r1 + lsl r5, r5, #0x2 + ldrb r4, [r3, r5] + lsl r1, r1, #0x1 + add r0, r0, r1 + strb r4, [r2, #0x0] + add r4, r5, #0x4 + ldrb r4, [r3, r4] + strb r4, [r2, #0x1] + add r4, r5, #0x0 + add r4, #0x8 + ldrb r3, [r3, r4] + add r5, #0xc + strb r3, [r2, #0x2] + ldrh r0, [r0, r5] + strh r0, [r2, #0x4] + pop {r4-r5} + bx lr + + thumb_func_start sub_020828BC +sub_020828BC: ; 0x020828BC + ldr r2, _020828E0 ; =0x00000171 + ldrb r1, [r0, r2] + cmp r1, #0x0 + beq _020828D6 + cmp r1, #0x1 + bne _020828DA + add r1, r2, #0x0 + sub r1, #0x55 + sub r2, #0x4e + ldrb r1, [r0, r1] + ldrb r0, [r0, r2] + cmp r1, r0 + bne _020828DA +_020828D6: + mov r0, #0x1 + bx lr +_020828DA: + mov r0, #0x0 + bx lr + nop +_020828E0: .word 0x00000171 + + thumb_func_start sub_020828E4 +sub_020828E4: ; 0x020828E4 + push {r3-r7, lr} + sub sp, #0x58 + str r0, [sp, #0x4] + ldr r0, [sp, #0x70] + mov r6, #0x0 + str r0, [sp, #0x70] + ldr r0, [sp, #0x74] + add r5, r1, #0x0 + add r4, r3, #0x0 + str r2, [sp, #0x8] + str r6, [sp, #0x20] + str r6, [sp, #0x18] + str r6, [sp, #0x1c] + cmp r0, #0x8 + bhi _0208292A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0 + lsl r2, r3, #0 + lsl r2, r3, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + lsl r0, r2, #0 + lsl r6, r2, #0 + mov r0, #0x1 + str r0, [sp, #0x18] + b _0208292A +_02082926: + .byte 0x01, 0x20, 0x07, 0x90 +_0208292A: + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x0] + mov r0, #0x5a + add r2, r1, #0x0 + add r3, r5, #0x0 + bl sub_02006C98 + str r0, [sp, #0x14] + mov r0, #0x5a + mov r1, #0x0 + bl sub_020065A4 + mov r1, #0x30 + blx sub_020EBE8C + str r0, [sp, #0x24] + ldr r1, [sp, #0x24] + add r0, r5, #0x0 + add r1, r1, #0x1 + bl sub_020169D8 + add r5, r0, #0x0 + ldr r0, [sp, #0x78] + cmp r0, #0x1 + bne _02082968 + ldr r0, [sp, #0x7c] + cmp r0, #0x1 + bne _02082968 + mov r0, #0x1 + str r0, [sp, #0x20] +_02082968: + ldr r0, [sp, #0x24] + mov r2, #0x0 + cmp r0, #0x0 + ble _02082A1A + ldr r3, [sp, #0x14] +_02082972: + ldrh r7, [r3, #0x20] + lsl r0, r7, #0x1d + lsr r1, r0, #0x1d + ldr r0, [sp, #0x70] + cmp r0, r1 + bne _02082A10 + ldr r0, [sp, #0x20] + cmp r0, #0x1 + bne _0208298E + lsl r0, r7, #0x14 + lsr r0, r0, #0x1e + cmp r0, #0x1 + beq _02082A10 + b _0208299A +_0208298E: + lsl r0, r7, #0x14 + lsr r0, r0, #0x1e + cmp r0, #0x2 + beq _02082A10 + cmp r0, #0x3 + beq _02082A10 +_0208299A: + ldr r0, [sp, #0x18] + cmp r0, #0x1 + bne _020829AA + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1f + beq _02082A10 + b _020829CA +_020829AA: + ldr r0, [sp, #0x1c] + cmp r0, #0x1 + ldrh r0, [r3, #0x20] + bne _020829BA + lsl r0, r0, #0x17 + lsr r0, r0, #0x1f + beq _02082A10 + b _020829CA +_020829BA: + lsl r1, r0, #0x16 + lsr r1, r1, #0x1f + cmp r1, #0x1 + beq _02082A10 + lsl r0, r0, #0x17 + lsr r0, r0, #0x1f + cmp r0, #0x1 + beq _02082A10 +_020829CA: + cmp r4, #0x0 + bne _020829D6 + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bne _02082A06 +_020829D6: + cmp r4, #0x1 + bne _020829E2 + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bne _02082A06 +_020829E2: + cmp r4, #0x2 + bne _020829EE + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + bne _02082A06 +_020829EE: + cmp r4, #0x3 + bne _020829FA + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bne _02082A06 +_020829FA: + cmp r4, #0x4 + bne _02082A10 + ldrh r0, [r3, #0x20] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + beq _02082A10 +_02082A06: + add r1, r6, #0x1 + add r0, r6, #0x0 + lsl r1, r1, #0x18 + lsr r6, r1, #0x18 + strb r2, [r5, r0] +_02082A10: + ldr r0, [sp, #0x24] + add r2, r2, #0x1 + add r3, #0x30 + cmp r2, r0 + blt _02082972 +_02082A1A: + mov r0, #0xff + strb r0, [r5, r6] + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + beq _02082A26 + b _02082B4E +_02082A26: + ldr r0, [sp, #0x8] + cmp r6, r0 + bge _02082A30 + bl sub_02020C2C +_02082A30: + mov r0, #0x0 + str r0, [sp, #0x10] + cmp r6, #0x0 + ble _02082A5A + mov r2, #0x30 +_02082A3A: + ldrb r1, [r5, r0] + add r3, r1, #0x0 + ldr r1, [sp, #0x14] + mul r3, r2 + add r1, r1, r3 + ldrh r1, [r1, #0x20] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1e + cmp r1, #0x3 + bne _02082A54 + ldr r1, [sp, #0x10] + add r1, r1, #0x1 + str r1, [sp, #0x10] +_02082A54: + add r0, r0, #0x1 + cmp r0, r6 + blt _02082A3A +_02082A5A: + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _02082AA2 + ldr r0, [sp, #0x4] + bl sub_02082878 + ldr r1, [sp, #0x10] + blx sub_020EBC80 + mov r3, #0x0 + cmp r6, #0x0 + ble _02082AA2 + mov r0, #0x30 +_02082A74: + ldrb r4, [r5, r3] + add r2, r4, #0x0 + ldr r4, [sp, #0x14] + mul r2, r0 + add r2, r4, r2 + ldrh r4, [r2, #0x20] + lsl r4, r4, #0x14 + lsr r4, r4, #0x1e + cmp r4, #0x3 + bne _02082A9C + cmp r1, #0x0 + bne _02082A9A + add r4, sp, #0x28 + mov r3, #0x6 +_02082A90: + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + sub r3, r3, #0x1 + bne _02082A90 + b _02082AA2 +_02082A9A: + sub r1, r1, #0x1 +_02082A9C: + add r3, r3, #0x1 + cmp r3, r6 + blt _02082A74 +_02082AA2: + ldr r0, [sp, #0x8] + mov r1, #0x4 + sub r4, r1, r0 + add r0, r4, #0x0 + str r4, [sp, #0xc] + cmp r0, #0x4 + bge _02082B16 +_02082AB0: + ldr r0, [sp, #0x4] + bl sub_02082878 + add r1, r6, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r2, r0, #0x10 + ldrb r3, [r5, r2] + mov r0, #0x30 + add r1, r3, #0x0 + ldr r3, [sp, #0x14] + mul r1, r0 + add r7, r3, r1 + ldrh r1, [r7, #0x20] + lsl r1, r1, #0x14 + lsr r1, r1, #0x1e + cmp r1, #0x3 + bne _02082ADA + sub r4, r4, #0x1 + b _02082B10 +_02082ADA: + add r1, r4, #0x0 + mul r1, r0 + ldr r0, [sp, #0x4] + add r3, r0, r1 + mov r0, #0x6 + add r3, #0x10 + mov r12, r0 +_02082AE8: + ldmia r7!, {r0-r1} + stmia r3!, {r0-r1} + mov r0, r12 + sub r0, r0, #0x1 + mov r12, r0 + bne _02082AE8 + ldrb r1, [r5, r2] + add r0, r5, r2 + cmp r1, #0xff + beq _02082B0A +_02082AFC: + ldrb r1, [r0, #0x1] + add r2, r2, #0x1 + strb r1, [r0, #0x0] + ldrb r1, [r5, r2] + add r0, r5, r2 + cmp r1, #0xff + bne _02082AFC +_02082B0A: + sub r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_02082B10: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _02082AB0 +_02082B16: + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _02082B7E + ldr r0, [sp, #0xc] + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, [sp, #0x4] + bl sub_02082878 + ldr r1, [sp, #0x8] + blx sub_020EBC80 + add r0, r4, r1 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + add r1, r2, #0x0 + mov r0, #0x30 + mul r1, r0 + ldr r0, [sp, #0x4] + add r4, sp, #0x28 + add r3, r0, r1 + add r3, #0x10 + mov r2, #0x6 +_02082B44: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02082B44 + b _02082B7E +_02082B4E: + cmp r6, #0x4 + bhs _02082B56 + bl sub_02020C2C +_02082B56: + mov r6, #0x0 + mov r7, #0x30 +_02082B5A: + ldrb r0, [r5, r6] + ldr r3, [sp, #0x4] + mov r2, #0x6 + add r1, r0, #0x0 + ldr r0, [sp, #0x14] + mul r1, r7 + add r4, r0, r1 + add r3, #0x10 +_02082B6A: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02082B6A + ldr r0, [sp, #0x4] + add r6, r6, #0x1 + add r0, #0x30 + str r0, [sp, #0x4] + cmp r6, #0x4 + blt _02082B5A +_02082B7E: + add r0, r5, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x14] + bl sub_02016A18 + add sp, #0x58 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02082B90 +sub_02082B90: ; 0x02082B90 + push {r3-r7, lr} + sub sp, #0x18 + str r0, [sp, #0x8] + mov r0, #0x1 + add r3, r1, #0x0 + str r0, [sp, #0x0] + mov r0, #0x5a + mov r1, #0x2 + mov r2, #0x0 + bl sub_02006C98 + str r0, [sp, #0x14] + ldr r1, _02082D10 ; =0x00000121 + ldr r0, [sp, #0x8] + ldrb r0, [r0, r1] + cmp r0, #0x4 + beq _02082BBA + cmp r0, #0x6 + beq _02082BBA + cmp r0, #0x8 + bne _02082BC0 +_02082BBA: + mov r0, #0x0 + str r0, [sp, #0xc] + b _02082BC8 +_02082BC0: + ldr r0, [sp, #0x8] + add r1, r1, #0x6 + ldrb r0, [r0, r1] + str r0, [sp, #0xc] +_02082BC8: + ldr r0, [sp, #0xc] + cmp r0, #0x4 + blt _02082BD0 + b _02082D06 +_02082BD0: + mov r1, #0x30 + mul r1, r0 + ldr r0, [sp, #0x8] + add r7, r0, r1 + ldr r0, [sp, #0xc] + lsl r1, r0, #0x2 + ldr r0, [sp, #0x8] + add r6, r0, r1 +_02082BE0: + ldr r1, _02082D14 ; =0x00000122 + ldr r0, [sp, #0x8] + ldrb r0, [r0, r1] + cmp r0, #0xb + bhi _02082C6E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r2, #0 + lsl r6, r3, #0 + lsl r6, r4, #0 + lsl r6, r5, #0 + lsl r6, r6, #0 + lsl r6, r7, #0 + lsl r6, r0, #0x1 + lsl r6, r1, #0x1 + lsl r6, r2, #0x1 + lsl r6, r3, #0x1 + lsl r6, r4, #0x1 + lsl r6, r5, #0x1 + add r0, r7, #0x0 + add r0, #0x32 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C16: + .byte 0x38, 0x1C, 0x33, 0x30, 0x02, 0x78, 0x2A, 0xE0, 0x38, 0x1C + .byte 0x34, 0x30, 0x02, 0x78, 0x26, 0xE0, 0x38, 0x1C, 0x35, 0x30, 0x02, 0x78, 0x22, 0xE0, 0x38, 0x1C + .byte 0x36, 0x30, 0x02, 0x78, 0x1E, 0xE0, 0x38, 0x1C, 0x37, 0x30, 0x02, 0x78, 0x1A, 0xE0, 0x38, 0x1C + .byte 0x38, 0x30, 0x02, 0x78, 0x16, 0xE0, 0x38, 0x1C, 0x39, 0x30, 0x02, 0x78, 0x12, 0xE0, 0x38, 0x1C + .byte 0x3A, 0x30, 0x02, 0x78, 0x0E, 0xE0, 0x38, 0x1C, 0x3B, 0x30, 0x02, 0x78, 0x0A, 0xE0, 0x38, 0x1C + .byte 0x3C, 0x30, 0x02, 0x78, 0x06, 0xE0, 0x38, 0x1C, 0x3D, 0x30, 0x02, 0x78, 0x02, 0xE0 +_02082C6E: + bl sub_02020C2C + mov r2, #0x0 +_02082C74: + mov r0, #0x54 + add r1, r2, #0x0 + mul r1, r0 + ldr r0, [sp, #0x14] + add r0, r0, r1 + str r0, [sp, #0x10] + add r0, r6, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_02027740 + add r0, r6, #0x0 + add r0, #0xf8 + ldr r2, [sp, #0x10] + mov r3, #0x51 + ldrsb r2, [r2, r3] + ldr r0, [r0, #0x0] + ldr r1, [r6, #0x0] + bl sub_02027914 + ldr r0, [sp, #0x10] + mov r5, #0x0 + add r0, #0x50 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ble _02082CD2 + ldr r4, [sp, #0x10] +_02082CAA: + ldrb r0, [r4, #0x2] + add r1, r5, #0x0 + str r0, [sp, #0x0] + mov r0, #0x3 + ldrsb r0, [r4, r0] + str r0, [sp, #0x4] + add r0, r6, #0x0 + add r0, #0xf8 + ldrb r2, [r4, #0x0] + ldrb r3, [r4, #0x1] + ldr r0, [r0, #0x0] + bl sub_02027964 + ldr r0, [sp, #0x10] + add r5, r5, #0x1 + add r0, #0x50 + ldrb r0, [r0, #0x0] + add r4, r4, #0x4 + cmp r5, r0 + blt _02082CAA +_02082CD2: + ldr r1, [sp, #0x10] + add r0, r6, #0x0 + add r1, #0x52 + add r0, #0xf8 + str r1, [sp, #0x10] + ldrb r1, [r1, #0x0] + ldr r0, [r0, #0x0] + bl sub_0202787C + mov r2, #0x12 + add r0, r6, #0x0 + add r0, #0xf8 + ldr r1, [sp, #0x8] + lsl r2, r2, #0x4 + ldrb r1, [r1, r2] + ldr r0, [r0, #0x0] + bl sub_020278AC + ldr r0, [sp, #0xc] + add r7, #0x30 + add r0, r0, #0x1 + add r6, r6, #0x4 + str r0, [sp, #0xc] + cmp r0, #0x4 + bge _02082D06 + b _02082BE0 +_02082D06: + ldr r0, [sp, #0x14] + bl sub_02016A18 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_02082D10: .word 0x00000121 +_02082D14: .word 0x00000122 + + thumb_func_start sub_02082D18 +sub_02082D18: ; 0x02082D18 + push {r3-r7, lr} + add r6, r0, #0x0 + mov r7, #0x12 + mov r4, #0x0 + add r5, r6, #0x0 + lsl r7, r7, #0x4 +_02082D24: + add r0, r5, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl sub_02027740 + add r0, r5, #0x0 + add r0, #0xf8 + mov r2, #0x0 + ldr r0, [r0, #0x0] + ldr r1, [r5, #0x0] + mvn r2, r2 + bl sub_02027914 + add r0, r5, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_0202787C + add r0, r5, #0x0 + add r0, #0xf8 + ldrb r1, [r6, r7] + ldr r0, [r0, #0x0] + bl sub_020278AC + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _02082D24 + pop {r3-r7, pc} + + thumb_func_start sub_02082D60 +sub_02082D60: ; 0x02082D60 + push {r3-r7, lr} + sub sp, #0x20 + add r7, r0, #0x0 + add r6, r1, #0x0 + ldrh r1, [r7, #0x20] + str r2, [sp, #0x10] + ldrh r0, [r7, #0x14] + lsl r1, r1, #0x12 + lsr r1, r1, #0x1e + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x0 + bl sub_02066E74 + mov r1, #0x1 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + ldr r0, _02082E60 ; =0x0F0F0F0F + mov r2, #0xa + str r0, [sp, #0xc] + ldrh r1, [r7, #0x14] + add r0, r6, #0x0 + mov r3, #0x20 + bl sub_02066ACC + mov r4, #0x0 + add r5, r7, #0x0 +_02082D9A: + ldrh r1, [r5, #0xc] + add r0, sp, #0x18 + add r2, sp, #0x1c + strh r1, [r0, #0x6] + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x36 + add r2, #0x2 + bl sub_02067830 + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x4 + blt _02082D9A + ldr r3, [sp, #0x10] + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc0 + bl sub_0200A86C + ldrh r1, [r7, #0x16] + add r4, r0, #0x0 + bl sub_0200A914 + add r5, r0, #0x0 + ldrh r1, [r7, #0x18] + add r0, r4, #0x0 + bl sub_0200A914 + str r0, [sp, #0x14] + add r0, r6, #0x0 + mov r1, #0x76 + add r2, r5, #0x0 + bl sub_02067830 + ldr r2, [sp, #0x14] + add r0, r6, #0x0 + mov r1, #0x90 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x14] + bl sub_02021A20 + add r0, r4, #0x0 + bl sub_0200A8B8 + add r2, sp, #0x1c + ldrb r1, [r7, #0x1a] + add r0, sp, #0x18 + add r2, #0x1 + strb r1, [r0, #0x5] + ldrb r1, [r7, #0x1b] + strb r1, [r0, #0x4] + ldrb r1, [r7, #0x1c] + strb r1, [r0, #0x3] + ldrb r1, [r7, #0x1d] + strb r1, [r0, #0x2] + ldrb r1, [r7, #0x1e] + strb r1, [r0, #0x1] + ldrb r1, [r7, #0x1f] + strb r1, [r0, #0x0] + add r0, r6, #0x0 + mov r1, #0x13 + bl sub_02067830 + add r0, r6, #0x0 + mov r1, #0x14 + add r2, sp, #0x1c + bl sub_02067830 + add r2, sp, #0x18 + add r0, r6, #0x0 + mov r1, #0x15 + add r2, #0x3 + bl sub_02067830 + add r2, sp, #0x18 + add r0, r6, #0x0 + mov r1, #0x16 + add r2, #0x2 + bl sub_02067830 + add r2, sp, #0x18 + add r0, r6, #0x0 + mov r1, #0x17 + add r2, #0x1 + bl sub_02067830 + add r0, r6, #0x0 + mov r1, #0x18 + add r2, sp, #0x18 + bl sub_02067830 + add sp, #0x20 + pop {r3-r7, pc} + nop +_02082E60: .word 0x0F0F0F0F + + thumb_func_start sub_02082E64 +sub_02082E64: ; 0x02082E64 + push {r4-r7, lr} + sub sp, #0x24 + add r6, r3, #0x0 + add r5, r2, #0x0 + lsl r2, r6, #0x18 + str r0, [sp, #0x10] + add r7, r1, #0x0 + add r0, sp, #0x14 + add r1, r5, #0x0 + lsr r2, r2, #0x18 + ldr r4, [sp, #0x38] + bl sub_02068B68 + lsl r1, r6, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl sub_02068E14 + add r5, r0, #0x0 + cmp r4, #0x0 + beq _02082EB0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02082E98 + bl sub_02020C2C +_02082E98: + add r1, sp, #0x14 + ldrh r0, [r1, #0x0] + ldrh r1, [r1, #0x2] + ldr r2, [sp, #0x3c] + ldr r3, [r4, #0x0] + bl sub_02012420 + add r0, sp, #0x14 + ldrh r1, [r0, #0x4] + str r1, [r4, #0x8] + ldrh r0, [r0, #0x0] + str r0, [r4, #0x4] +_02082EB0: + ldr r0, [sp, #0x48] + ldr r3, [sp, #0x44] + str r0, [sp, #0x0] + str r7, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x40] + add r1, sp, #0x14 + add r3, r3, r5 + bl sub_020073A0 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02082ED0 +sub_02082ED0: ; 0x02082ED0 + push {r4-r7, lr} + sub sp, #0x24 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [sp, #0x38] + add r7, r3, #0x0 + mov r5, #0x0 + str r2, [sp, #0xc] + str r0, [sp, #0x38] + mov r1, #0x1 + ldr r3, [sp, #0x8] + mov r0, #0x5a + add r2, r5, #0x0 + add r4, r5, #0x0 + str r1, [sp, #0x0] + bl sub_02006C98 + str r0, [sp, #0x14] + mov r0, #0x5a + mov r1, #0x1 + bl sub_020065A4 + lsr r0, r0, #0x3 + str r0, [sp, #0x18] + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x8] + add r1, r1, #0x1 + bl sub_020169D8 + ldr r1, [sp, #0x18] + add r6, r0, #0x0 + ldr r0, [sp, #0x8] + add r1, r1, #0x1 + bl sub_020169D8 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + add r2, r5, #0x0 + cmp r0, #0x0 + ble _0208300A + ldr r3, [sp, #0x14] +_02082F22: + ldrh r0, [r3, #0x4] + mov r12, r0 + lsl r0, r0, #0x14 + lsr r1, r0, #0x1e + ldr r0, [sp, #0x38] + cmp r0, r1 + bne _02083000 + cmp r7, #0x0 + bne _02082F5A + mov r0, r12 + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + beq _02082F5A + cmp r0, #0x1 + bls _02082F4E + add r0, r4, #0x1 + lsl r0, r0, #0x18 + add r1, r4, #0x0 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x10] + strb r2, [r0, r1] + b _02083000 +_02082F4E: + add r1, r5, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + strb r2, [r6, r0] + b _02083000 +_02082F5A: + cmp r7, #0x1 + bne _02082F84 + ldrh r0, [r3, #0x4] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1e + beq _02082F84 + cmp r0, #0x1 + bls _02082F78 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + add r1, r4, #0x0 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x10] + strb r2, [r0, r1] + b _02083000 +_02082F78: + add r1, r5, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + strb r2, [r6, r0] + b _02083000 +_02082F84: + cmp r7, #0x2 + bne _02082FAE + ldrh r0, [r3, #0x4] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + beq _02082FAE + cmp r0, #0x1 + bls _02082FA2 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + add r1, r4, #0x0 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x10] + strb r2, [r0, r1] + b _02083000 +_02082FA2: + add r1, r5, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + strb r2, [r6, r0] + b _02083000 +_02082FAE: + cmp r7, #0x3 + bne _02082FD8 + ldrh r0, [r3, #0x4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1e + beq _02082FD8 + cmp r0, #0x1 + bls _02082FCC + add r0, r4, #0x1 + lsl r0, r0, #0x18 + add r1, r4, #0x0 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x10] + strb r2, [r0, r1] + b _02083000 +_02082FCC: + add r1, r5, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + strb r2, [r6, r0] + b _02083000 +_02082FD8: + cmp r7, #0x4 + bne _02083000 + ldrh r0, [r3, #0x4] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1e + beq _02083000 + cmp r0, #0x1 + bls _02082FF6 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + add r1, r4, #0x0 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x10] + strb r2, [r0, r1] + b _02083000 +_02082FF6: + add r1, r5, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x18 + lsr r5, r1, #0x18 + strb r2, [r6, r0] +_02083000: + ldr r0, [sp, #0x18] + add r2, r2, #0x1 + add r3, #0x8 + cmp r2, r0 + blt _02082F22 +_0208300A: + mov r1, #0xff + ldr r0, [sp, #0x10] + strb r1, [r6, r5] + strb r1, [r0, r4] + cmp r5, #0x2 + bhs _0208301A + bl sub_02020C2C +_0208301A: + ldr r2, [sp, #0x4] + mov r3, #0x0 +_0208301E: + ldrb r0, [r6, r3] + ldr r5, [sp, #0x14] + add r3, r3, #0x1 + lsl r1, r0, #0x3 + ldr r0, [sp, #0x14] + ldrh r5, [r5, r1] + add r0, r0, r1 + add r1, r2, #0x0 + add r1, #0xd0 + strh r5, [r1, #0x0] + add r1, r2, #0x0 + ldrh r5, [r0, #0x2] + add r1, #0xd2 + strh r5, [r1, #0x0] + add r1, r2, #0x0 + ldrh r5, [r0, #0x4] + add r1, #0xd4 + strh r5, [r1, #0x0] + ldrh r1, [r0, #0x6] + add r0, r2, #0x0 + add r0, #0xd6 + add r2, #0x8 + strh r1, [r0, #0x0] + cmp r3, #0x2 + blt _0208301E + cmp r4, #0x1 + bhs _02083058 + bl sub_02020C2C +_02083058: + ldr r0, [sp, #0x4] + bl sub_02082878 + add r1, r4, #0x0 + blx sub_020EBC80 + lsl r0, r1, #0x10 + lsr r1, r0, #0x10 + ldr r0, [sp, #0x10] + ldrb r0, [r0, r1] + ldr r1, [sp, #0x14] + lsl r2, r0, #0x3 + ldr r0, [sp, #0x14] + add r0, r0, r2 + ldrh r2, [r1, r2] + ldr r1, [sp, #0x4] + add r1, #0xe0 + strh r2, [r1, #0x0] + ldr r1, [sp, #0x4] + ldrh r2, [r0, #0x2] + add r1, #0xe2 + strh r2, [r1, #0x0] + ldr r1, [sp, #0x4] + ldrh r2, [r0, #0x4] + add r1, #0xe4 + strh r2, [r1, #0x0] + ldrh r1, [r0, #0x6] + ldr r0, [sp, #0x4] + ldr r2, _02083110 ; =0x0000011E + add r0, #0xe6 + strh r1, [r0, #0x0] + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x4] + strb r1, [r0, r2] + add r2, r0, #0x0 + add r0, r1, #0x0 + lsl r1, r0, #0x3 + add r2, #0xd0 + ldrh r4, [r2, r1] + add r0, sp, #0x1c + add r3, r2, r1 + strh r4, [r0, #0x0] + ldrh r4, [r3, #0x2] + strh r4, [r0, #0x2] + ldrh r4, [r3, #0x4] + strh r4, [r0, #0x4] + ldrh r4, [r3, #0x6] + strh r4, [r0, #0x6] + ldr r4, [sp, #0x4] + add r4, #0xe0 + ldrh r4, [r4, #0x0] + strh r4, [r2, r1] + ldr r1, [sp, #0x4] + add r1, #0xe2 + ldrh r1, [r1, #0x0] + strh r1, [r3, #0x2] + ldr r1, [sp, #0x4] + add r1, #0xe4 + ldrh r1, [r1, #0x0] + strh r1, [r3, #0x4] + ldr r1, [sp, #0x4] + add r1, #0xe6 + ldrh r1, [r1, #0x0] + strh r1, [r3, #0x6] + ldr r1, [sp, #0x4] + ldrh r2, [r0, #0x0] + add r1, #0xe0 + strh r2, [r1, #0x0] + ldr r1, [sp, #0x4] + ldrh r2, [r0, #0x2] + add r1, #0xe2 + strh r2, [r1, #0x0] + ldr r1, [sp, #0x4] + ldrh r2, [r0, #0x4] + add r1, #0xe4 + strh r2, [r1, #0x0] + ldrh r1, [r0, #0x6] + ldr r0, [sp, #0x4] + add r0, #0xe6 + str r0, [sp, #0x4] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x10] + bl sub_02016A18 + add r0, r6, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x14] + bl sub_02016A18 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_02083110: .word 0x0000011E + + thumb_func_start sub_02083114 +sub_02083114: ; 0x02083114 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x18 + blo _02083120 + bl sub_02020C2C +_02083120: + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _0208312C ; =0x020FBC6C + ldrsb r0, [r0, r1] + pop {r4, pc} + .balign 4 +_0208312C: .word 0x020FBC6C + + thumb_func_start sub_02083130 +sub_02083130: ; 0x02083130 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r5, #0x18 + blo _02083140 + bl sub_02020C2C +_02083140: + mov r0, #0x1a + add r1, r5, #0x0 + mul r1, r0 + ldr r0, _02083154 ; =0x020FBC68 + ldrh r0, [r0, r1] + str r0, [r4, #0x0] + ldr r0, _02083158 ; =0x020FBC6A + ldrh r0, [r0, r1] + str r0, [r6, #0x0] + pop {r4-r6, pc} + .balign 4 +_02083154: .word 0x020FBC68 +_02083158: .word 0x020FBC6A + + thumb_func_start sub_0208315C +sub_0208315C: ; 0x0208315C + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x18 + blo _02083168 + bl sub_02020C2C +_02083168: + add r4, #0x2d + add r0, r4, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02083170 +sub_02083170: ; 0x02083170 + push {r3-r7, lr} + add r4, r0, #0x0 + add r7, r1, #0x0 + add r5, r2, #0x0 + add r6, r3, #0x0 + cmp r4, #0x18 + blo _02083182 + bl sub_02020C2C +_02083182: + cmp r7, #0x4 + bhi _0208319C + add r0, r7, r7 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r4, r3, #0 + lsl r0, r6, #0 + lsl r4, r0, #0x1 + lsl r0, r3, #0x1 +_0208319C: + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02083200 ; =0x020FBC6E + ldrh r0, [r0, r1] + str r0, [r5, #0x0] + ldr r0, _02083204 ; =0x020FBC70 + ldrb r0, [r0, r1] + str r0, [r6, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020831B0 +sub_020831B0: ; 0x020831B0 + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02083208 ; =0x020FBC72 + ldrh r0, [r0, r1] + str r0, [r5, #0x0] + ldr r0, _0208320C ; =0x020FBC74 + ldrb r0, [r0, r1] + str r0, [r6, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020831C4 +sub_020831C4: ; 0x020831C4 + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02083210 ; =0x020FBC76 + ldrh r0, [r0, r1] + str r0, [r5, #0x0] + ldr r0, _02083214 ; =0x020FBC78 + ldrb r0, [r0, r1] + str r0, [r6, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020831D8 +sub_020831D8: ; 0x020831D8 + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02083218 ; =0x020FBC7A + ldrh r0, [r0, r1] + str r0, [r5, #0x0] + ldr r0, _0208321C ; =0x020FBC7C + ldrb r0, [r0, r1] + str r0, [r6, #0x0] + pop {r3-r7, pc} + + thumb_func_start sub_020831EC +sub_020831EC: ; 0x020831EC + mov r0, #0x1a + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02083220 ; =0x020FBC7E + ldrh r0, [r0, r1] + str r0, [r5, #0x0] + ldr r0, _02083224 ; =0x020FBC80 + ldrb r0, [r0, r1] + str r0, [r6, #0x0] + pop {r3-r7, pc} + .balign 4 +_02083200: .word 0x020FBC6E +_02083204: .word 0x020FBC70 +_02083208: .word 0x020FBC72 +_0208320C: .word 0x020FBC74 +_02083210: .word 0x020FBC76 +_02083214: .word 0x020FBC78 +_02083218: .word 0x020FBC7A +_0208321C: .word 0x020FBC7C +_02083220: .word 0x020FBC7E +_02083224: .word 0x020FBC80 + + thumb_func_start sub_02083228 +sub_02083228: ; 0x02083228 + cmp r2, #0x1 + bne _02083230 + mov r0, #0x33 + bx lr +_02083230: + cmp r1, #0x3 + beq _0208323C + cmp r1, #0x5 + beq _0208323C + cmp r1, #0x7 + bne _02083240 +_0208323C: + mov r0, #0x32 + bx lr +_02083240: + cmp r0, #0x3 + bhi _02083264 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r2, r1, #0 + lsl r6, r1, #0 + lsl r2, r2, #0 + mov r0, #0x2e + bx lr +_0208325C: + .byte 0x2F, 0x20, 0x70, 0x47 + .byte 0x30, 0x20, 0x70, 0x47 +_02083264: + mov r0, #0x31 + bx lr + + thumb_func_start sub_02083268 +sub_02083268: ; 0x02083268 + cmp r0, #0x4 + bhi _02083292 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + mov r0, #0x2e + bx lr +_02083286: + .byte 0x2F, 0x20, 0x70, 0x47, 0x30, 0x20, 0x70, 0x47, 0x31, 0x20 + .byte 0x70, 0x47 +_02083292: + mov r0, #0x33 + bx lr + .balign 4 + + thumb_func_start sub_02083298 +sub_02083298: ; 0x02083298 + ldr r3, _020832A0 ; =sub_020832A4 + mov r1, #0x2 + bx r3 + nop +_020832A0: .word sub_020832A4 + 1 + + thumb_func_start sub_020832A4 +sub_020832A4: ; 0x020832A4 + cmp r1, #0x5 + bne _020832AC + mov r0, #0x34 + bx lr +_020832AC: + cmp r0, #0x4 + bhi _020832D6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + mov r0, #0x29 + bx lr +_020832CA: + .byte 0x2A, 0x20, 0x70, 0x47, 0x2B, 0x20 + .byte 0x70, 0x47, 0x2C, 0x20, 0x70, 0x47 +_020832D6: + mov r0, #0x2d + bx lr + .balign 4 + + thumb_func_start sub_020832DC +sub_020832DC: ; 0x020832DC + mov r1, #0x3 + sub r0, r1, r0 + bx lr + .balign 4 + + thumb_func_start sub_020832E4 +sub_020832E4: ; 0x020832E4 + mov r1, #0x3 + sub r0, r1, r0 + bx lr + .balign 4 + + thumb_func_start sub_020832EC +sub_020832EC: ; 0x020832EC + ldr r1, _02083304 ; =0x00000121 + ldrb r0, [r0, r1] + cmp r0, #0x3 + beq _020832FC + cmp r0, #0x5 + beq _020832FC + cmp r0, #0x7 + bne _02083300 +_020832FC: + mov r0, #0x1 + bx lr +_02083300: + mov r0, #0x0 + bx lr + .balign 4 +_02083304: .word 0x00000121 + + thumb_func_start sub_02083308 +sub_02083308: ; 0x02083308 + push {r4-r5} + sub sp, #0x50 + ldr r5, _02083368 ; =0x020FBC18 + add r4, sp, #0x0 + mov r3, #0x28 +_02083312: + ldrh r2, [r5, #0x0] + add r5, r5, #0x2 + strh r2, [r4, #0x0] + add r4, r4, #0x2 + sub r3, r3, #0x1 + bne _02083312 + mov r3, #0xc + mul r3, r1 + add r1, r0, r3 + mov r3, #0x4a + lsl r3, r3, #0x2 + add r4, r3, #0x0 + add r4, #0x49 + ldrb r4, [r0, r4] + mov r2, #0x0 + ldrsh r1, [r1, r3] + cmp r4, #0x1 + bne _0208333A + add r4, sp, #0x40 + b _02083344 +_0208333A: + sub r3, #0x8 + ldrb r0, [r0, r3] + add r4, sp, #0x0 + lsl r0, r0, #0x4 + add r4, r4, r0 +_02083344: + mov r3, #0x0 +_02083346: + ldrh r0, [r4, #0x0] + cmp r1, r0 + bge _02083354 + add sp, #0x50 + add r0, r2, #0x0 + pop {r4-r5} + bx lr +_02083354: + add r3, r3, #0x1 + add r2, r2, #0x1 + add r4, r4, #0x2 + cmp r3, #0x8 + blt _02083346 + add r0, r2, #0x0 + add sp, #0x50 + pop {r4-r5} + bx lr + nop +_02083368: .word 0x020FBC18 + + thumb_func_start sub_0208336C +sub_0208336C: ; 0x0208336C + push {r4-r5} + sub sp, #0x10 + ldr r5, _020833CC ; =0x020FBC08 + add r4, sp, #0x0 + mov r3, #0xf +_02083376: + ldrb r2, [r5, #0x0] + add r5, r5, #0x1 + strb r2, [r4, #0x0] + add r4, r4, #0x1 + sub r3, r3, #0x1 + bne _02083376 + mov r2, #0xc + mul r2, r1 + ldr r3, _020833D0 ; =0x0000012A + add r1, r0, r2 + ldrsh r1, [r1, r3] + cmp r1, #0x0 + bne _02083398 + add sp, #0x10 + mov r0, #0x0 + pop {r4-r5} + bx lr +_02083398: + add r2, r3, #0x0 + add r2, #0x47 + ldrb r2, [r0, r2] + cmp r2, #0x1 + bne _020833A6 + add r4, sp, #0xc + b _020833B2 +_020833A6: + sub r3, #0xa + ldrb r2, [r0, r3] + add r4, sp, #0x0 + lsl r0, r2, #0x1 + add r0, r2, r0 + add r4, r4, r0 +_020833B2: + mov r0, #0x1 + mov r3, #0x0 +_020833B6: + ldrb r2, [r4, r3] + cmp r1, r2 + ble _020833C4 + add r3, r3, #0x1 + add r0, r0, #0x1 + cmp r3, #0x3 + blt _020833B6 +_020833C4: + add sp, #0x10 + pop {r4-r5} + bx lr + nop +_020833CC: .word 0x020FBC08 +_020833D0: .word 0x0000012A + + thumb_func_start sub_020833D4 +sub_020833D4: ; 0x020833D4 + push {r3, lr} + cmp r0, #0x0 + bne _020833EE + mov r0, #0x1 + bl sub_02002B60 + mov r0, #0x3 + bl sub_02002B7C + mov r0, #0x1 + bl sub_02002BB8 + pop {r3, pc} +_020833EE: + mov r0, #0x1 + bl sub_02002B7C + mov r0, #0x0 + bl sub_02002B60 + mov r0, #0x0 + bl sub_02002BB8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02083404 +sub_02083404: ; 0x02083404 + push {r3, lr} + mov r0, #0x0 + bl sub_02002B60 + mov r0, #0x0 + bl sub_02002B7C + mov r0, #0x0 + bl sub_02002BB8 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_0208341C +sub_0208341C: ; 0x0208341C + push {r3, lr} + cmp r1, #0x4 + bhi _0208344C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r1, #0 + lsl r4, r1, #0 + lsl r0, r2, #0 + lsl r4, r2, #0 + lsl r0, r3, #0 + add r0, #0x7a + pop {r3, pc} +_0208343C: + .byte 0x7E, 0x30, 0x08, 0xBD + .byte 0x82, 0x30, 0x08, 0xBD, 0x86, 0x30, 0x08, 0xBD, 0x8A, 0x30, 0x08, 0xBD +_0208344C: + bl sub_02020C2C + mov r0, #0x7a + pop {r3, pc} + + thumb_func_start sub_02083454 +sub_02083454: ; 0x02083454 + push {r4-r5, lr} + sub sp, #0xc + add r5, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x3 + beq _02083464 + cmp r1, #0x1 + bne _02083474 +_02083464: + bl sub_0201B9EC + mov r1, #0xc + blx sub_020EBC80 + add sp, #0xc + add r0, r1, #0x0 + pop {r4-r5, pc} +_02083474: + add r0, sp, #0x0 + add r1, r4, #0x0 + mov r2, #0xc + blx sub_020CE34C + mov r1, #0x2 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r1, #0x3 + strb r1, [r0, #0x1] + mov r1, #0x4 + add r4, r4, #0x3 + strb r1, [r0, #0x2] + cmp r5, #0x1 + blt _020834A6 + mov r0, #0x0 + add r2, sp, #0x0 + strb r0, [r2, r4] + mov r1, #0x1 + add r0, r4, #0x1 + strb r1, [r2, r0] + add r1, r4, #0x2 + mov r0, #0x5 + add r4, r4, #0x3 + strb r0, [r2, r1] +_020834A6: + cmp r5, #0x2 + blt _020834BE + mov r0, #0x6 + add r2, sp, #0x0 + strb r0, [r2, r4] + mov r1, #0x7 + add r0, r4, #0x1 + strb r1, [r2, r0] + add r1, r4, #0x2 + mov r0, #0x8 + add r4, r4, #0x3 + strb r0, [r2, r1] +_020834BE: + bl sub_0201B9EC + add r1, r4, #0x0 + blx sub_020EBC80 + add r0, sp, #0x0 + ldrb r0, [r0, r1] + add sp, #0xc + pop {r4-r5, pc} + + thumb_func_start sub_020834D0 +sub_020834D0: ; 0x020834D0 + ldr r3, _020834DC ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _020834E0 ; =0x020FBED8 + mov r1, #0x10 + bx r3 + nop +_020834DC: .word sub_0202D8D0 + 1 +_020834E0: .word 0x020FBED8 + + thumb_func_start sub_020834E4 +sub_020834E4: ; 0x020834E4 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x1 + lsl r0, r0, #0xa + add r4, r1, #0x0 + cmp r2, r0 + blt _020834F6 + bl sub_02020C2C +_020834F6: + ldr r0, _02083500 ; =0x00000985 + add r1, r4, r0 + lsl r0, r5, #0xa + add r0, r1, r0 + pop {r3-r5, pc} + .balign 4 +_02083500: .word 0x00000985 + + thumb_func_start sub_02083504 +sub_02083504: ; 0x02083504 + mov r0, #0xa + bx lr + + thumb_func_start sub_02083508 +sub_02083508: ; 0x02083508 + mov r0, #0x8 + bx lr + + thumb_func_start sub_0208350C +sub_0208350C: ; 0x0208350C + bx lr + .balign 4 + + thumb_func_start sub_02083510 +sub_02083510: ; 0x02083510 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x17 + lsl r0, r0, #0x4 + add r6, r1, #0x0 + ldrb r1, [r3, r0] + str r2, [sp, #0x0] + cmp r1, #0x0 + bne _0208352C + sub r0, r0, #0x4 + ldr r1, [r3, r0] + ldr r0, _02083590 ; =0x000004FC + add r4, r1, r0 + b _0208355E +_0208352C: + cmp r1, #0x1 + bne _0208353A + sub r0, r0, #0x4 + ldr r1, [r3, r0] + ldr r0, _02083594 ; =0x00001158 + add r4, r1, r0 + b _0208355E +_0208353A: + cmp r1, #0x2 + bne _0208354A + sub r0, r0, #0x4 + ldr r1, [r3, r0] + mov r0, #0xc3 + lsl r0, r0, #0x4 + add r4, r1, r0 + b _0208355E +_0208354A: + cmp r1, #0x3 + bne _02083558 + sub r0, r0, #0x4 + ldr r1, [r3, r0] + ldr r0, _02083598 ; =0x0000085C + add r4, r1, r0 + b _0208355E +_02083558: + bl sub_02020C2C + pop {r3-r7, pc} +_0208355E: + mov r0, #0x2 + lsl r0, r0, #0x8 + cmp r6, r0 + ble _0208356A + bl sub_02020C2C +_0208356A: + ldr r0, _0208359C ; =0x00000A11 + add r7, r4, r0 + ldrb r0, [r7, r5] + cmp r0, #0x0 + beq _02083578 + bl sub_02020C2C +_02083578: + mov r1, #0x21 + lsl r1, r1, #0x4 + add r2, r4, r1 + lsl r1, r5, #0x9 + add r1, r2, r1 + ldr r0, [sp, #0x0] + add r2, r6, #0x0 + blx sub_020CE3E0 + mov r0, #0x1 + strb r0, [r7, r5] + pop {r3-r7, pc} + .balign 4 +_02083590: .word 0x000004FC +_02083594: .word 0x00001158 +_02083598: .word 0x0000085C +_0208359C: .word 0x00000A11 + + thumb_func_start sub_020835A0 +sub_020835A0: ; 0x020835A0 + mov r0, #0x5b + lsl r0, r0, #0x2 + ldr r0, [r3, r0] + ldr r3, _020835AC ; =0x0223D1CD + add r1, r2, #0x0 + bx r3 + .balign 4 +_020835AC: .word 0x0223D1CD + + thumb_func_start sub_020835B0 +sub_020835B0: ; 0x020835B0 + push {r3-r6, lr} + sub sp, #0x14 + add r5, r1, #0x0 + mov r1, #0x61 + add r6, r0, #0x0 + add r4, r3, #0x0 + lsl r1, r1, #0x2 + add r0, r2, #0x0 + add r2, r4, r1 + lsl r1, r6, #0x8 + add r1, r2, r1 + add r2, r5, #0x0 + blx sub_020CE3E0 + ldr r2, _02083628 ; =0x00000584 + ldrb r0, [r4, r2] + add r0, r0, #0x1 + strb r0, [r4, r2] + ldr r0, _0208362C ; =0x00000127 + ldrb r2, [r4, r2] + ldrb r1, [r4, r0] + cmp r2, r1 + blo _02083622 + mov r3, #0x0 + cmp r1, #0x0 + ble _020835FE + add r0, #0x5d + add r5, r4, r0 + mov r0, #0x1 + lsl r0, r0, #0x8 + add r2, r0, #0x0 + add r6, sp, #0x4 + add r2, #0x27 +_020835F2: + stmia r6!, {r5} + ldrb r1, [r4, r2] + add r3, r3, #0x1 + add r5, r5, r0 + cmp r3, r1 + blt _020835F2 +_020835FE: + add r0, sp, #0x4 + add r2, sp, #0x0 + bl sub_02083660 + mov r1, #0x47 + lsl r1, r1, #0x2 + strb r0, [r4, r1] + add r0, sp, #0x0 + ldrb r2, [r0, #0x0] + add r0, r1, #0x1 + strb r2, [r4, r0] + ldrb r0, [r4, r1] + lsl r2, r0, #0x2 + add r0, sp, #0x4 + ldr r0, [r0, r2] + ldrb r2, [r0, #0x2] + add r0, r1, #0x6 + strb r2, [r4, r0] +_02083622: + add sp, #0x14 + pop {r3-r6, pc} + nop +_02083628: .word 0x00000584 +_0208362C: .word 0x00000127 + + thumb_func_start sub_02083630 +sub_02083630: ; 0x02083630 + push {r3, lr} + ldr r1, _0208365C ; =0x00000125 + add r3, sp, #0x0 + ldrb r2, [r0, r1] + strb r2, [r3, #0x0] + sub r2, r1, #0x2 + ldrb r2, [r0, r2] + sub r1, r1, #0x3 + strb r2, [r3, #0x1] + ldrb r0, [r0, r1] + add r1, sp, #0x0 + mov r2, #0x4 + strb r0, [r3, #0x2] + mov r0, #0x1a + bl sub_02030ADC + cmp r0, #0x1 + bne _02083658 + mov r0, #0x1 + pop {r3, pc} +_02083658: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0208365C: .word 0x00000125 + + thumb_func_start sub_02083660 +sub_02083660: ; 0x02083660 + push {r4-r7} + mov r5, #0x0 + add r4, r5, #0x0 + cmp r1, #0x0 + ble _02083684 + add r6, r0, #0x0 +_0208366C: + lsl r3, r5, #0x2 + ldr r3, [r0, r3] + ldr r7, [r6, #0x0] + ldrb r3, [r3, #0x0] + ldrb r7, [r7, #0x0] + cmp r3, r7 + bhs _0208367C + add r5, r4, #0x0 +_0208367C: + add r4, r4, #0x1 + add r6, r6, #0x4 + cmp r4, r1 + blt _0208366C +_02083684: + lsl r1, r5, #0x2 + ldr r0, [r0, r1] + ldrb r0, [r0, #0x0] + strb r0, [r2, #0x0] + add r0, r5, #0x0 + pop {r4-r7} + bx lr + .balign 4 + + thumb_func_start sub_02083694 +sub_02083694: ; 0x02083694 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_020669BC + add r2, r0, #0x0 + ldrb r1, [r5, r2] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + blx sub_020CE3E0 + ldr r0, _020836B8 ; =0x00000584 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r5, pc} + nop +_020836B8: .word 0x00000584 + + thumb_func_start sub_020836BC +sub_020836BC: ; 0x020836BC + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_020669BC + add r4, r0, #0x0 + mov r0, #0x14 + add r1, r4, #0x1 + bl sub_02016998 + add r5, r0, #0x0 + add r0, r7, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020CE3E0 + mov r0, #0x1b + add r1, r5, #0x0 + add r2, r4, #0x1 + strb r6, [r5, r4] + bl sub_02030ADC + cmp r0, #0x1 + bne _020836F0 + mov r4, #0x1 + b _020836F2 +_020836F0: + mov r4, #0x0 +_020836F2: + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_020836FC +sub_020836FC: ; 0x020836FC + push {r3-r7, lr} + sub sp, #0x8 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + bl sub_020669BC + mov r7, #0x0 + ldr r4, [sp, #0x4] + add r6, r0, #0x0 + add r5, r7, #0x0 +_02083710: + ldr r0, [sp, #0x0] + ldr r1, [r4, #0x0] + add r0, r0, r5 + add r2, r6, #0x0 + blx sub_020CE3E0 + add r7, r7, #0x1 + add r4, r4, #0x4 + add r5, r5, r6 + cmp r7, #0x4 + blt _02083710 + ldr r1, _02083738 ; =0x00000584 + ldr r0, [sp, #0x4] + ldrb r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x4] + strb r2, [r0, r1] + add sp, #0x8 + pop {r3-r7, pc} + nop +_02083738: .word 0x00000584 + + thumb_func_start sub_0208373C +sub_0208373C: ; 0x0208373C + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_020669BC + add r6, r0, #0x0 + lsl r0, r6, #0x2 + str r0, [sp, #0x0] + ldr r0, _02083788 ; =0x00000585 + mov r7, #0x0 + add r0, r4, r0 + str r0, [sp, #0x4] + add r4, r7, #0x0 +_02083758: + ldr r1, [sp, #0x4] + ldr r0, [r5, #0x0] + add r1, r1, r4 + add r2, r6, #0x0 + blx sub_020CE3E0 + add r7, r7, #0x1 + add r4, r4, r6 + add r5, r5, #0x4 + cmp r7, #0x4 + blt _02083758 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + mov r0, #0x1c + bl sub_02030A78 + cmp r0, #0x1 + bne _02083782 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02083782: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02083788: .word 0x00000585 + + thumb_func_start sub_0208378C +sub_0208378C: ; 0x0208378C + push {r3-r5, lr} + add r0, r2, #0x0 + add r2, #0x30 + ldrb r1, [r2, #0x0] + add r4, r3, #0x0 + add r5, r4, #0x0 + mov r2, #0x30 + add r3, r1, #0x0 + add r5, #0x10 + mul r3, r2 + add r1, r5, r3 + blx sub_020CE3E0 + ldr r0, _020837B0 ; =0x00000584 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r5, pc} + .balign 4 +_020837B0: .word 0x00000584 + + thumb_func_start sub_020837B4 +sub_020837B4: ; 0x020837B4 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r0, #0x14 + mov r1, #0x31 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + mov r2, #0x30 + blx sub_020CE3E0 + add r0, r4, #0x0 + add r0, #0x30 + strb r5, [r0, #0x0] + mov r0, #0x1d + add r1, r4, #0x0 + mov r2, #0x31 + bl sub_02030ADC + cmp r0, #0x1 + bne _020837E6 + mov r5, #0x1 + b _020837E8 +_020837E6: + mov r5, #0x0 +_020837E8: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020837F4 +sub_020837F4: ; 0x020837F4 + push {r3-r7, lr} + add r5, r3, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x0] + mov r4, #0x0 + add r5, #0xd0 + mov r7, #0x8 +_02083802: + lsl r0, r4, #0x3 + add r0, r6, r0 + add r1, r5, #0x0 + add r2, r7, #0x0 + blx sub_020CE3E0 + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x3 + blt _02083802 + ldrb r2, [r6, #0x18] + ldr r1, _0208382C ; =0x0000011E + ldr r0, [sp, #0x0] + strb r2, [r0, r1] + ldr r1, _02083830 ; =0x00000584 + ldrb r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x0] + strb r2, [r0, r1] + pop {r3-r7, pc} + nop +_0208382C: .word 0x0000011E +_02083830: .word 0x00000584 + + thumb_func_start sub_02083834 +sub_02083834: ; 0x02083834 + push {r3-r7, lr} + str r0, [sp, #0x0] + mov r0, #0x14 + mov r1, #0x19 + add r5, r2, #0x0 + bl sub_02016998 + add r6, r0, #0x0 + mov r4, #0x0 + mov r7, #0x8 +_02083848: + lsl r1, r4, #0x3 + add r0, r5, #0x0 + add r1, r6, r1 + add r2, r7, #0x0 + blx sub_020CE3E0 + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x3 + blt _02083848 + ldr r1, _02083884 ; =0x0000011E + ldr r0, [sp, #0x0] + mov r2, #0x19 + ldrb r0, [r0, r1] + add r1, r6, #0x0 + strb r0, [r6, #0x18] + mov r0, #0x1e + bl sub_02030ADC + cmp r0, #0x1 + bne _02083876 + mov r4, #0x1 + b _02083878 +_02083876: + mov r4, #0x0 +_02083878: + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + pop {r3-r7, pc} + nop +_02083884: .word 0x0000011E + + thumb_func_start sub_02083888 +sub_02083888: ; 0x02083888 + push {r3-r7, lr} + add r5, r2, #0x0 + ldrb r0, [r5, #0x0] + add r6, r3, #0x0 + add r4, r6, #0x0 + add r4, #0xe8 + lsl r7, r0, #0x2 + ldr r0, [r4, r7] + bl sub_02021A4C + ldr r0, [r4, r7] + add r1, r5, #0x4 + bl sub_02021E28 + ldr r0, _020838B0 ; =0x00000584 + ldrb r1, [r6, r0] + add r1, r1, #0x1 + strb r1, [r6, r0] + pop {r3-r7, pc} + nop +_020838B0: .word 0x00000584 + + thumb_func_start sub_020838B4 +sub_020838B4: ; 0x020838B4 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r1, #0x0 + add r0, r2, #0x0 + add r1, sp, #0x0 + mov r2, #0x8 + bl sub_02021EF0 + mov r0, #0x14 + add r1, r0, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, sp, #0x0 + add r1, r4, #0x4 + mov r2, #0x10 + blx sub_020CE3E0 + strb r5, [r4, #0x0] + mov r0, #0x10 + strb r0, [r4, #0x1] + mov r0, #0x0 + strb r0, [r4, #0x2] + strb r0, [r4, #0x3] + mov r0, #0x1f + add r1, r4, #0x0 + mov r2, #0x14 + bl sub_02030ADC + cmp r0, #0x1 + bne _020838F6 + mov r5, #0x1 + b _020838F8 +_020838F6: + mov r5, #0x0 +_020838F8: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02083904 +sub_02083904: ; 0x02083904 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02026FE4 + add r2, r0, #0x0 + ldrb r1, [r5, r2] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + add r1, r4, r1 + add r1, #0xf8 + ldr r1, [r1, #0x0] + blx sub_020CE3E0 + ldr r0, _0208392C ; =0x00000584 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r5, pc} + nop +_0208392C: .word 0x00000584 + + thumb_func_start sub_02083930 +sub_02083930: ; 0x02083930 + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02026FE4 + add r4, r0, #0x0 + mov r0, #0x14 + add r1, r4, #0x1 + bl sub_02016998 + add r5, r0, #0x0 + add r0, r7, #0x0 + add r1, r5, #0x0 + add r2, r4, #0x0 + blx sub_020CE3E0 + mov r0, #0x20 + add r1, r5, #0x0 + add r2, r4, #0x1 + strb r6, [r5, r4] + bl sub_02030ADC + cmp r0, #0x1 + bne _02083964 + mov r4, #0x1 + b _02083966 +_02083964: + mov r4, #0x0 +_02083966: + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02083970 +sub_02083970: ; 0x02083970 + push {r3-r7, lr} + sub sp, #0x8 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + bl sub_02026FE4 + add r6, r0, #0x0 + mov r0, #0x1 + lsl r1, r6, #0x2 + lsl r0, r0, #0xa + cmp r1, r0 + blt _0208398C + bl sub_02020C2C +_0208398C: + mov r7, #0x0 + ldr r4, [sp, #0x4] + add r5, r7, #0x0 +_02083992: + add r1, r4, #0x0 + ldr r0, [sp, #0x0] + add r1, #0xf8 + ldr r1, [r1, #0x0] + add r0, r0, r5 + add r2, r6, #0x0 + blx sub_020CE3E0 + add r7, r7, #0x1 + add r4, r4, #0x4 + add r5, r5, r6 + cmp r7, #0x4 + blt _02083992 + ldr r1, _020839BC ; =0x00000584 + ldr r0, [sp, #0x4] + ldrb r0, [r0, r1] + add r2, r0, #0x1 + ldr r0, [sp, #0x4] + strb r2, [r0, r1] + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_020839BC: .word 0x00000584 + + thumb_func_start sub_020839C0 +sub_020839C0: ; 0x020839C0 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r5, r1, #0x0 + bl sub_02026FE4 + add r6, r0, #0x0 + mov r1, #0x1 + lsl r0, r6, #0x2 + lsl r1, r1, #0xa + str r0, [sp, #0x0] + cmp r0, r1 + blt _020839DE + bl sub_02020C2C +_020839DE: + ldr r0, _02083A18 ; =0x00000585 + mov r7, #0x0 + add r0, r4, r0 + str r0, [sp, #0x4] + add r4, r7, #0x0 +_020839E8: + ldr r1, [sp, #0x4] + ldr r0, [r5, #0x0] + add r1, r1, r4 + add r2, r6, #0x0 + blx sub_020CE3E0 + add r7, r7, #0x1 + add r4, r4, r6 + add r5, r5, #0x4 + cmp r7, #0x4 + blt _020839E8 + ldr r1, [sp, #0x4] + ldr r2, [sp, #0x0] + mov r0, #0x21 + bl sub_02030A78 + cmp r0, #0x1 + bne _02083A12 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02083A12: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_02083A18: .word 0x00000585 + + thumb_func_start sub_02083A1C +sub_02083A1C: ; 0x02083A1C + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _02083A30 ; =0x000019A0 + add r0, r2, #0x0 + add r1, r3, r1 + add r2, r4, #0x0 + blx sub_020CE3E0 + pop {r4, pc} + nop +_02083A30: .word 0x000019A0 + + thumb_func_start sub_02083A34 +sub_02083A34: ; 0x02083A34 + push {r3, lr} + add r3, r0, #0x0 + ldrb r0, [r3, #0x16] + cmp r0, #0x0 + bne _02083A44 + str r1, [r3, #0x0] + mov r0, #0x1 + pop {r3, pc} +_02083A44: + ldrb r2, [r3, #0x14] + ldrb r0, [r3, #0x15] + cmp r2, r0 + beq _02083A50 + mov r0, #0x0 + pop {r3, pc} +_02083A50: + str r1, [r3, #0x8] + add r3, #0x8 + mov r0, #0x22 + add r1, r3, #0x0 + mov r2, #0x8 + bl sub_02030ADC + cmp r0, #0x1 + bne _02083A66 + mov r0, #0x1 + pop {r3, pc} +_02083A66: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02083A6C +sub_02083A6C: ; 0x02083A6C + ldrb r2, [r2, #0x4] + add r1, r3, r0 + ldr r0, _02083A78 ; =0x000019B0 + strb r2, [r1, r0] + bx lr + nop +_02083A78: .word 0x000019B0 + + thumb_func_start sub_02083A7C +sub_02083A7C: ; 0x02083A7C + push {r3, lr} + add r2, r0, #0x0 + ldrb r0, [r2, #0x16] + cmp r0, #0x0 + bne _02083A8C + strb r1, [r2, #0x10] + mov r0, #0x1 + pop {r3, pc} +_02083A8C: + strb r1, [r2, #0xc] + add r2, #0x8 + add r1, r2, #0x0 + mov r0, #0x23 + mov r2, #0x8 + bl sub_02030ADC + cmp r0, #0x1 + bne _02083AA2 + mov r0, #0x1 + pop {r3, pc} +_02083AA2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02083AA8 +sub_02083AA8: ; 0x02083AA8 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02029EC4 + add r2, r0, #0x0 + ldrb r1, [r5, r2] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + add r3, r4, r1 + mov r1, #0x57 + lsl r1, r1, #0x2 + ldr r1, [r3, r1] + blx sub_020CE3E0 + ldr r0, _02083AD0 ; =0x00000584 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r5, pc} + .balign 4 +_02083AD0: .word 0x00000584 + + thumb_func_start sub_02083AD4 +sub_02083AD4: ; 0x02083AD4 + push {r3-r7, lr} + add r4, r0, #0x0 + add r7, r1, #0x0 + add r6, r2, #0x0 + bl sub_02029EC4 + add r5, r0, #0x0 + ldr r0, _02083B0C ; =0x00000585 + add r4, r4, r0 + cmp r6, #0x0 + beq _02083AF4 + add r0, r6, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + blx sub_020CE3E0 +_02083AF4: + mov r0, #0x24 + add r1, r4, #0x0 + add r2, r5, #0x1 + strb r7, [r4, r5] + bl sub_02030A78 + cmp r0, #0x1 + bne _02083B08 + mov r0, #0x1 + pop {r3-r7, pc} +_02083B08: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_02083B0C: .word 0x00000585 + + thumb_func_start sub_02083B10 +sub_02083B10: ; 0x02083B10 + push {r3-r6} + ldrb r1, [r2, #0x6] + ldrb r4, [r2, #0x0] + mov r5, #0x42 + add r0, r3, r1 + lsl r5, r5, #0x2 + strb r4, [r0, r5] + ldrb r6, [r2, #0x1] + add r4, r5, #0x4 + strb r6, [r0, r4] + add r4, r5, #0x0 + ldrb r6, [r2, #0x2] + add r4, #0x8 + add r5, #0xc + strb r6, [r0, r4] + lsl r0, r1, #0x1 + ldrh r2, [r2, #0x4] + add r0, r3, r0 + strh r2, [r0, r5] + ldr r0, _02083B44 ; =0x00000584 + ldrb r1, [r3, r0] + add r1, r1, #0x1 + strb r1, [r3, r0] + pop {r3-r6} + bx lr + nop +_02083B44: .word 0x00000584 + + thumb_func_start sub_02083B48 +sub_02083B48: ; 0x02083B48 + push {r4-r6, lr} + add r5, r1, #0x0 + mov r0, #0x14 + mov r1, #0x7 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + mov r2, #0x6 + blx sub_020CE3E0 + mov r0, #0x25 + add r1, r4, #0x0 + mov r2, #0x7 + strb r5, [r4, #0x6] + bl sub_02030ADC + cmp r0, #0x1 + bne _02083B76 + mov r5, #0x1 + b _02083B78 +_02083B76: + mov r5, #0x0 +_02083B78: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02083B84 +sub_02083B84: ; 0x02083B84 + ldr r3, _02083B90 ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _02083B94 ; =0x020FBF98 + mov r1, #0xb + bx r3 + nop +_02083B90: .word sub_0202D8D0 + 1 +_02083B94: .word 0x020FBF98 + + thumb_func_start sub_02083B98 +sub_02083B98: ; 0x02083B98 + cmp r0, #0xc + bne _02083BA0 + mov r0, #0xc + bx lr +_02083BA0: + cmp r0, #0x6 + bhs _02083BA8 + add r0, r0, #0x6 + bx lr +_02083BA8: + sub r0, r0, #0x6 + bx lr + + thumb_func_start sub_02083BAC +sub_02083BAC: ; 0x02083BAC + push {r4-r6, lr} + add r3, #0x84 + add r5, r0, #0x0 + add r6, r2, #0x0 + ldr r4, [r3, #0x0] + bl sub_02031190 + cmp r5, r0 + beq _02083C1A + ldr r0, _02083C1C ; =0x0000221C + mov r2, #0x59 + ldr r0, [r4, r0] + add r1, r6, #0x0 + lsl r2, r2, #0x4 + blx sub_020DF438 + ldr r0, [r4, #0x58] + add r0, r0, #0x1 + str r0, [r4, #0x58] + bl sub_0206B8A4 + mov r1, #0x59 + ldr r2, [r4, #0x58] + lsl r1, r1, #0x4 + mul r1, r2 + cmp r1, r0 + blt _02083C06 + bl sub_02031190 + cmp r0, #0x1 + bne _02083BF6 + add r0, r4, #0x0 + mov r1, #0x1b + mov r2, #0x0 + bl sub_0222F440 + b _02083C14 +_02083BF6: + bl sub_02031190 + ldr r1, _02083C20 ; =0x00002218 + ldr r2, [r4, #0x50] + ldr r1, [r4, r1] + bl sub_0222F480 + b _02083C14 +_02083C06: + bl sub_02031190 + ldr r1, _02083C20 ; =0x00002218 + ldr r2, [r4, #0x50] + ldr r1, [r4, r1] + bl sub_0222F480 +_02083C14: + ldr r0, [r4, #0x50] + add r0, r0, #0x1 + str r0, [r4, #0x50] +_02083C1A: + pop {r4-r6, pc} + .balign 4 +_02083C1C: .word 0x0000221C +_02083C20: .word 0x00002218 + + thumb_func_start sub_02083C24 +sub_02083C24: ; 0x02083C24 + push {r4-r6, lr} + add r3, #0x84 + add r5, r0, #0x0 + add r6, r2, #0x0 + ldr r4, [r3, #0x0] + bl sub_02031190 + cmp r5, r0 + beq _02083C40 + ldrb r0, [r6, #0x0] + bl sub_02083B98 + add r4, #0x8c + str r0, [r4, #0x0] +_02083C40: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02083C44 +sub_02083C44: ; 0x02083C44 + add r3, #0x84 + ldrb r2, [r2, #0x0] + ldr r1, [r3, #0x0] + lsl r0, r0, #0x2 + add r0, r1, r0 + str r2, [r0, #0x60] + bx lr + .balign 4 + + thumb_func_start sub_02083C54 +sub_02083C54: ; 0x02083C54 + bx lr + .balign 4 + + thumb_func_start sub_02083C58 +sub_02083C58: ; 0x02083C58 + bx lr + .balign 4 + + thumb_func_start sub_02083C5C +sub_02083C5C: ; 0x02083C5C + add r3, #0x84 + ldr r0, [r3, #0x0] + mov r1, #0x2 + str r1, [r0, #0x54] + bx lr + .balign 4 + + thumb_func_start sub_02083C68 +sub_02083C68: ; 0x02083C68 + bx lr + .balign 4 + + thumb_func_start sub_02083C6C +sub_02083C6C: ; 0x02083C6C + add r3, #0x84 + mov r0, #0x8b + ldrb r2, [r2, #0x0] + ldr r1, [r3, #0x0] + lsl r0, r0, #0x6 + str r2, [r1, r0] + bx lr + .balign 4 + + thumb_func_start sub_02083C7C +sub_02083C7C: ; 0x02083C7C + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, [r3, #0xc] + add r5, r2, #0x0 + bl sub_0202A918 + add r4, r0, #0x0 + bl sub_02031190 + cmp r6, r0 + beq _02083CA8 + mov r2, #0x0 +_02083C94: + ldrb r1, [r5, r2] + cmp r1, #0x0 + beq _02083CA2 + ldrb r0, [r4, r2] + cmp r0, r1 + beq _02083CA2 + strb r1, [r4, r2] +_02083CA2: + add r2, r2, #0x1 + cmp r2, #0xe + blt _02083C94 +_02083CA8: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02083CAC +sub_02083CAC: ; 0x02083CAC + push {r4-r6, lr} + add r3, #0x84 + add r5, r0, #0x0 + add r6, r2, #0x0 + ldr r4, [r3, #0x0] + bl sub_02031190 + cmp r5, r0 + beq _02083CD0 + ldr r0, _02083CD4 ; =0x00002224 + add r1, r6, #0x0 + ldr r0, [r4, r0] + mov r2, #0x1 + mov r3, #0x1a + bl sub_02025520 + mov r0, #0x3 + str r0, [r4, #0x54] +_02083CD0: + pop {r4-r6, pc} + nop +_02083CD4: .word 0x00002224 + + thumb_func_start sub_02083CD8 +sub_02083CD8: ; 0x02083CD8 + push {r4-r6, lr} + add r3, #0x84 + add r5, r0, #0x0 + add r6, r2, #0x0 + ldr r4, [r3, #0x0] + bl sub_02031190 + cmp r5, r0 + beq _02083D0A + ldr r1, _02083D0C ; =0x00002E14 + mov r2, #0xfb + add r3, r4, r1 + lsl r2, r2, #0x2 + add r1, r5, #0x0 + mul r1, r2 + add r0, r6, #0x0 + add r1, r3, r1 + sub r2, r2, #0x4 + blx sub_020CE28C + mov r0, #0x4 + str r0, [r4, #0x54] + mov r0, #0x0 + bl sub_02031400 +_02083D0A: + pop {r4-r6, pc} + .balign 4 +_02083D0C: .word 0x00002E14 + + thumb_func_start sub_02083D10 +sub_02083D10: ; 0x02083D10 + add r0, #0x84 + str r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02083D18 +sub_02083D18: ; 0x02083D18 + mov r0, #0xfb + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start sub_02083D20 +sub_02083D20: ; 0x02083D20 + mov r0, #0xe + bx lr + + thumb_func_start sub_02083D24 +sub_02083D24: ; 0x02083D24 + mov r0, #0x88 + bx lr + + thumb_func_start sub_02083D28 +sub_02083D28: ; 0x02083D28 + mov r0, #0x59 + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02083D30 +sub_02083D30: ; 0x02083D30 + add r1, #0x84 + ldr r2, [r1, #0x0] + ldr r1, _02083D44 ; =0x000022F4 + add r2, r2, r1 + mov r1, #0x59 + lsl r1, r1, #0x4 + mul r1, r0 + add r0, r2, r1 + bx lr + nop +_02083D44: .word 0x000022F4 + + thumb_func_start sub_02083D48 +sub_02083D48: ; 0x02083D48 + ldr r3, _02083D54 ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _02083D58 ; =0x020FC01C + mov r1, #0x6c + bx r3 + nop +_02083D54: .word sub_0202D8D0 + 1 +_02083D58: .word 0x020FC01C + + thumb_func_start sub_02083D5C +sub_02083D5C: ; 0x02083D5C + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02083DBA + mov r3, #0xfb + lsl r3, r3, #0x2 + ldrb r2, [r5, r3] + sub r0, r3, #0x4 + add r1, r2, #0x0 + mul r1, r0 + mov r0, #0xe1 + lsl r0, r0, #0x6 + cmp r1, r0 + ldr r2, _02083DE8 ; =0x000043D0 + ble _02083D90 + add r2, r4, r2 + add r1, r2, r1 + mov r2, #0x19 + add r0, r5, #0x0 + lsl r2, r2, #0x4 + blx sub_020CE28C + b _02083D9C +_02083D90: + add r2, r4, r2 + add r1, r2, r1 + add r0, r5, #0x0 + sub r2, r3, #0x4 + blx sub_020CE28C +_02083D9C: + mov r1, #0xb5 + ldr r0, _02083DE8 ; =0x000043D0 + lsl r1, r1, #0x2 + mov r2, #0xe1 + ldr r1, [r4, r1] + add r0, r4, r0 + lsl r2, r2, #0x6 + blx sub_020CE28C + mov r0, #0xb2 + lsl r0, r0, #0x2 + add r0, r4, r0 + bl sub_020191D0 + pop {r3-r5, pc} +_02083DBA: + ldr r1, _02083DEC ; =0x000043CC + mov r0, #0xfa + ldr r2, [r4, r1] + lsl r0, r0, #0x2 + add r3, r2, #0x0 + mul r3, r0 + mov r0, #0xe1 + lsl r0, r0, #0x6 + cmp r3, r0 + bge _02083DDC + add r0, r2, #0x1 + str r0, [r4, r1] + ldr r1, [r4, r1] + add r0, r4, #0x0 + bl sub_0208402C + pop {r3-r5, pc} +_02083DDC: + mov r1, #0x0 + mov r0, #0x7c + add r2, r1, #0x0 + bl sub_02030BC4 + pop {r3-r5, pc} + .balign 4 +_02083DE8: .word 0x000043D0 +_02083DEC: .word 0x000043CC + + thumb_func_start sub_02083DF0 +sub_02083DF0: ; 0x02083DF0 + push {r3-r4} + cmp r0, #0x0 + beq _02083E0E + add r4, r0, #0x0 + mov r1, #0xa + mul r4, r1 + ldr r0, _02083E14 ; =0x000093BD + add r3, r3, r4 + add r3, r3, r0 +_02083E02: + ldrb r0, [r2, #0x0] + add r2, r2, #0x1 + strb r0, [r3, #0x0] + add r3, r3, #0x1 + sub r1, r1, #0x1 + bne _02083E02 +_02083E0E: + pop {r3-r4} + bx lr + nop +_02083E14: .word 0x000093BD + + thumb_func_start sub_02083E18 +sub_02083E18: ; 0x02083E18 + push {r4-r7} + cmp r3, #0x0 + beq _02083E42 + cmp r0, #0x0 + bne _02083E42 + ldr r0, _02083E48 ; =0x00004382 + mov r7, #0x0 +_02083E26: + add r6, r2, #0x0 + add r5, r3, r0 + mov r4, #0xa +_02083E2C: + ldrb r1, [r6, #0x0] + add r6, r6, #0x1 + strb r1, [r5, #0x0] + add r5, r5, #0x1 + sub r4, r4, #0x1 + bne _02083E2C + add r7, r7, #0x1 + add r2, #0xa + add r3, #0xa + cmp r7, #0x5 + blt _02083E26 +_02083E42: + pop {r4-r7} + bx lr + nop +_02083E48: .word 0x00004382 + + thumb_func_start sub_02083E4C +sub_02083E4C: ; 0x02083E4C + push {r4, lr} + add r4, r3, #0x0 + add r0, r4, #0x0 + mov r1, #0x3 + mov r2, #0x0 + bl sub_021D8B64 + ldr r1, _02083E8C ; =0x000043D0 + mov r2, #0xe1 + mov r0, #0x0 + add r1, r4, r1 + lsl r2, r2, #0x6 + blx sub_020CE240 + bl sub_02031190 + cmp r0, #0x0 + bne _02083E8A + bl sub_02030F20 + mov r1, #0xc6 + lsl r1, r1, #0x2 + str r0, [r4, r1] + bl sub_0202CB8C + mov r1, #0xc7 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, _02083E90 ; =0x000093F4 + mov r1, #0x1 + str r1, [r4, r0] +_02083E8A: + pop {r4, pc} + .balign 4 +_02083E8C: .word 0x000043D0 +_02083E90: .word 0x000093F4 + + thumb_func_start sub_02083E94 +sub_02083E94: ; 0x02083E94 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r0, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + cmp r6, #0x0 + beq _02083F2E + bl sub_02031190 + cmp r0, #0x0 + bne _02083F78 + ldrb r0, [r5, #0x0] + add r1, sp, #0x0 + strb r0, [r1, #0x0] + ldrb r0, [r5, #0x1] + strb r0, [r1, #0x1] + ldrb r0, [r5, #0x2] + strb r0, [r1, #0x2] + ldrb r0, [r5, #0x3] + strb r0, [r1, #0x3] + mov r0, #0xc6 + strb r6, [r1, #0x0] + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + strb r0, [r1, #0x1] + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _02083ED0 + cmp r0, #0x1 + b _02083F20 +_02083ED0: + bl sub_02030F20 + mov r1, #0xc6 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + cmp r1, r0 + bne _02083EFE + bl sub_021D917C + mov r1, #0xc6 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + cmp r1, r0 + bne _02083EFE + bl sub_0202CB8C + blx sub_020DDC5C + mov r1, #0xc6 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + cmp r1, r0 + beq _02083F06 +_02083EFE: + mov r1, #0x0 + add r0, sp, #0x0 + strb r1, [r0, #0x3] + b _02083F20 +_02083F06: + ldr r0, _02083F7C ; =0x000093B4 + mov r1, #0x1 + add r2, r1, #0x0 + ldr r3, [r4, r0] + lsl r2, r6 + orr r2, r3 + str r2, [r4, r0] + add r0, sp, #0x0 + strb r1, [r0, #0x3] + bl sub_02030F20 + bl sub_02032B6C +_02083F20: + mov r0, #0x7e + add r1, sp, #0x0 + mov r2, #0x4 + bl sub_02030BC4 + add sp, #0x4 + pop {r3-r6, pc} +_02083F2E: + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _02083F3C + cmp r0, #0x1 + beq _02083F6E + add sp, #0x4 + pop {r3-r6, pc} +_02083F3C: + ldrb r6, [r5, #0x0] + bl sub_02031190 + cmp r6, r0 + bne _02083F78 + ldrb r0, [r5, #0x3] + cmp r0, #0x0 + bne _02083F5A + add r0, r4, #0x0 + mov r1, #0x9 + add r2, r6, #0x0 + bl sub_021D8B64 + add sp, #0x4 + pop {r3-r6, pc} +_02083F5A: + ldrb r1, [r5, #0x1] + ldr r0, _02083F80 ; =0x000093B8 + strh r1, [r4, r0] + ldrb r2, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x8 + bl sub_021D8B64 + add sp, #0x4 + pop {r3-r6, pc} +_02083F6E: + ldrb r2, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x15 + bl sub_021D8B64 +_02083F78: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02083F7C: .word 0x000093B4 +_02083F80: .word 0x000093B8 + + thumb_func_start sub_02083F84 +sub_02083F84: ; 0x02083F84 + bx lr + .balign 4 + + thumb_func_start sub_02083F88 +sub_02083F88: ; 0x02083F88 + push {r4, lr} + ldrb r2, [r2, #0x0] + add r4, r3, #0x0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_021D8B64 + bl sub_02031190 + cmp r0, #0x0 + bne _02083FB6 + mov r0, #0x3 + lsl r0, r0, #0x8 + ldr r0, [r4, r0] + cmp r0, #0x1 + bne _02083FB6 + ldr r1, _02083FB8 ; =0x000043CC + mov r0, #0x0 + str r0, [r4, r1] + ldr r1, [r4, r1] + add r0, r4, #0x0 + bl sub_0208402C +_02083FB6: + pop {r4, pc} + .balign 4 +_02083FB8: .word 0x000043CC + + thumb_func_start sub_02083FBC +sub_02083FBC: ; 0x02083FBC + bx lr + .balign 4 + + thumb_func_start sub_02083FC0 +sub_02083FC0: ; 0x02083FC0 + bx lr + .balign 4 + + thumb_func_start sub_02083FC4 +sub_02083FC4: ; 0x02083FC4 + push {r4, lr} + add r4, r3, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02083FDA + add r0, r4, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_021D8B64 +_02083FDA: + pop {r4, pc} + + thumb_func_start sub_02083FDC +sub_02083FDC: ; 0x02083FDC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r3, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _02083FEE + bl sub_02020C2C +_02083FEE: + bl sub_02031190 + cmp r0, #0x0 + bne _02084012 + ldr r0, _0208401C ; =0x000093FC + ldr r1, [r4, r0] + cmp r1, #0x0 + beq _0208400E + add r0, sp, #0x0 + strb r5, [r0, #0x0] + mov r0, #0x7b + add r1, sp, #0x0 + mov r2, #0x1 + bl sub_02030BC4 + b _02084012 +_0208400E: + mov r1, #0x1 + str r1, [r4, r0] +_02084012: + mov r0, #0x0 + mov r1, #0x1 + bl sub_020334E8 + pop {r3-r5, pc} + .balign 4 +_0208401C: .word 0x000093FC + + thumb_func_start sub_02084020 +sub_02084020: ; 0x02084020 + ldr r0, _02084028 ; =0x000093F4 + mov r1, #0x1 + str r1, [r3, r0] + bx lr + .balign 4 +_02084028: .word 0x000093F4 + + thumb_func_start sub_0208402C +sub_0208402C: ; 0x0208402C + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0xb5 + mov r2, #0xfa + add r4, r1, #0x0 + lsl r0, r0, #0x2 + ldr r1, [r5, r0] + lsl r2, r2, #0x2 + add r0, r4, #0x0 + mul r0, r2 + add r0, r1, r0 + ldr r1, _02084078 ; =0x00007C10 + add r1, r5, r1 + blx sub_020CE28C + ldr r0, _02084078 ; =0x00007C10 + mov r2, #0x0 + add r1, r2, #0x0 + add r3, r5, r0 +_02084052: + ldr r0, [r3, #0x0] + add r1, r1, #0x1 + eor r2, r0 + add r3, r3, #0x4 + cmp r1, #0xfa + blt _02084052 + ldr r0, _0208407C ; =0x00007FF8 + ldr r1, _02084078 ; =0x00007C10 + str r2, [r5, r0] + add r0, r0, #0x4 + mov r2, #0x3f + strb r4, [r5, r0] + mov r0, #0x76 + add r1, r5, r1 + lsl r2, r2, #0x4 + bl sub_02030B3C + pop {r3-r5, pc} + nop +_02084078: .word 0x00007C10 +_0208407C: .word 0x00007FF8 + + thumb_func_start sub_02084080 +sub_02084080: ; 0x02084080 + mov r2, #0x2 + lsl r2, r2, #0xe + add r2, r1, r2 + mov r1, #0x3f + lsl r1, r1, #0x4 + mul r1, r0 + add r0, r2, r1 + bx lr + + thumb_func_start sub_02084090 +sub_02084090: ; 0x02084090 + mov r0, #0x4 + bx lr + + thumb_func_start sub_02084094 +sub_02084094: ; 0x02084094 + mov r0, #0x4 + bx lr + + thumb_func_start sub_02084098 +sub_02084098: ; 0x02084098 + ldr r3, _020840A4 ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _020840A8 ; =0x020FC52C + mov r1, #0x6c + bx r3 + nop +_020840A4: .word sub_0202D8D0 + 1 +_020840A8: .word 0x020FC52C + + thumb_func_start sub_020840AC +sub_020840AC: ; 0x020840AC + ldr r0, _020840B8 ; =0x00004A34 + ldr r1, [r3, r0] + add r1, r1, #0x1 + str r1, [r3, r0] + bx lr + nop +_020840B8: .word 0x00004A34 + + thumb_func_start sub_020840BC +sub_020840BC: ; 0x020840BC + cmp r0, #0x0 + bne _020840C6 + ldrb r1, [r2, #0x0] + ldr r0, _020840C8 ; =0x00004A3C + str r1, [r3, r0] +_020840C6: + bx lr + .balign 4 +_020840C8: .word 0x00004A3C + + thumb_func_start sub_020840CC +sub_020840CC: ; 0x020840CC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0208410C ; =0x00004A34 + add r4, r3, #0x0 + mov r1, #0x0 + str r1, [r4, r0] + mov r1, #0x1 + add r0, #0xc + strb r1, [r4, r0] + bl sub_02031190 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02084270 + add r0, r4, #0x0 + bl sub_021D844C + lsl r2, r5, #0x18 + add r0, r4, #0x0 + mov r1, #0x19 + lsr r2, r2, #0x18 + bl sub_021D88E4 + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_020334E8 + ldr r0, _02084110 ; =0x00000658 + bl sub_020054C8 + pop {r3-r5, pc} + .balign 4 +_0208410C: .word 0x00004A34 +_02084110: .word 0x00000658 + + thumb_func_start sub_02084114 +sub_02084114: ; 0x02084114 + add r0, r3, #0x0 + ldr r3, _02084120 ; =sub_021D88E4 + mov r1, #0x2 + mov r2, #0x0 + bx r3 + nop +_02084120: .word sub_021D88E4 + 1 + + thumb_func_start sub_02084124 +sub_02084124: ; 0x02084124 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r0, #0x0 + add r5, r2, #0x0 + add r4, r3, #0x0 + cmp r6, #0x0 + beq _020841BA + bl sub_02031190 + cmp r0, #0x0 + bne _02084204 + ldrb r0, [r5, #0x0] + add r1, sp, #0x0 + strb r0, [r1, #0x0] + ldrb r0, [r5, #0x1] + strb r0, [r1, #0x1] + ldrb r0, [r5, #0x2] + strb r0, [r1, #0x2] + ldrb r0, [r5, #0x3] + strb r0, [r1, #0x3] + ldr r0, _02084208 ; =0x00004A48 + strb r6, [r1, #0x0] + ldr r0, [r4, r0] + strb r0, [r1, #0x1] + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _0208415E + cmp r0, #0x1 + b _020841AC +_0208415E: + bl sub_02030F20 + ldr r1, _02084208 ; =0x00004A48 + ldr r1, [r4, r1] + cmp r1, r0 + bne _02084186 + bl sub_021D8C24 + ldr r1, _02084208 ; =0x00004A48 + ldr r1, [r4, r1] + cmp r1, r0 + bne _02084186 + bl sub_0202CB8C + blx sub_020DDC5C + ldr r1, _02084208 ; =0x00004A48 + ldr r2, [r4, r1] + cmp r2, r0 + beq _0208418E +_02084186: + mov r1, #0x0 + add r0, sp, #0x0 + strb r1, [r0, #0x3] + b _020841AC +_0208418E: + add r0, r1, #0x0 + add r0, #0x8 + mov r2, #0x1 + ldr r3, [r4, r0] + add r0, r2, #0x0 + lsl r0, r6 + orr r0, r3 + add r1, #0x8 + str r0, [r4, r1] + add r0, sp, #0x0 + strb r2, [r0, #0x3] + bl sub_02030F20 + bl sub_02032B6C +_020841AC: + mov r0, #0x70 + add r1, sp, #0x0 + mov r2, #0x4 + bl sub_02030ADC + add sp, #0x4 + pop {r3-r6, pc} +_020841BA: + ldrb r0, [r5, #0x2] + cmp r0, #0x0 + beq _020841C8 + cmp r0, #0x1 + beq _020841FA + add sp, #0x4 + pop {r3-r6, pc} +_020841C8: + ldrb r6, [r5, #0x0] + bl sub_02031190 + cmp r6, r0 + bne _02084204 + ldrb r0, [r5, #0x3] + cmp r0, #0x0 + bne _020841E6 + add r0, r4, #0x0 + mov r1, #0x8 + add r2, r6, #0x0 + bl sub_021D88E4 + add sp, #0x4 + pop {r3-r6, pc} +_020841E6: + ldrb r1, [r5, #0x1] + ldr r0, _0208420C ; =0x00004A5C + strh r1, [r4, r0] + ldrb r2, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x7 + bl sub_021D88E4 + add sp, #0x4 + pop {r3-r6, pc} +_020841FA: + ldrb r2, [r5, #0x0] + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_021D88E4 +_02084204: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_02084208: .word 0x00004A48 +_0208420C: .word 0x00004A5C + + thumb_func_start sub_02084210 +sub_02084210: ; 0x02084210 + push {r4, lr} + ldrb r2, [r2, #0x0] + add r4, r3, #0x0 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_021D89CC + bl sub_02031190 + cmp r0, #0x0 + bne _0208422E + mov r0, #0x3b + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r4, r0] +_0208422E: + pop {r4, pc} + + thumb_func_start sub_02084230 +sub_02084230: ; 0x02084230 + bx lr + .balign 4 + + thumb_func_start sub_02084234 +sub_02084234: ; 0x02084234 + bx lr + .balign 4 + + thumb_func_start sub_02084238 +sub_02084238: ; 0x02084238 + push {r4, lr} + add r4, r3, #0x0 + bl sub_02031190 + cmp r0, #0x0 + beq _0208424E + add r0, r4, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl sub_021D88E4 +_0208424E: + pop {r4, pc} + + thumb_func_start sub_02084250 +sub_02084250: ; 0x02084250 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl sub_02031190 + cmp r0, #0x0 + bne _0208426C + add r0, sp, #0x0 + strb r4, [r0, #0x0] + mov r0, #0x6e + add r1, sp, #0x0 + mov r2, #0x1 + bl sub_02030ADC +_0208426C: + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start sub_02084270 +sub_02084270: ; 0x02084270 + push {r3-r5, lr} + add r4, r0, #0x0 + mov r0, #0xed + mov r3, #0x0 + lsl r0, r0, #0x2 + add r5, r4, r0 + add r2, r3, #0x0 + sub r0, #0xc6 +_02084280: + ldr r1, [r5, #0x0] + add r2, r2, #0x1 + eor r3, r1 + add r5, r5, #0x4 + cmp r2, r0 + blt _02084280 + ldr r0, _020842AC ; =0x00000F6C + str r3, [r4, r0] + bl sub_0201B9EC + mov r1, #0xf7 + lsl r1, r1, #0x4 + str r0, [r4, r1] + mov r1, #0xed + lsl r1, r1, #0x2 + mov r2, #0x2f + mov r0, #0x74 + add r1, r4, r1 + lsl r2, r2, #0x6 + bl sub_02030A78 + pop {r3-r5, pc} + .balign 4 +_020842AC: .word 0x00000F6C + + thumb_func_start sub_020842B0 +sub_020842B0: ; 0x020842B0 + mov r0, #0x0 + bx lr + + thumb_func_start sub_020842B4 +sub_020842B4: ; 0x020842B4 + mov r0, #0x1 + bx lr + + thumb_func_start sub_020842B8 +sub_020842B8: ; 0x020842B8 + mov r0, #0x4 + bx lr + + thumb_func_start sub_020842BC +sub_020842BC: ; 0x020842BC + ldr r2, _020842CC ; =0x00000F74 + add r2, r1, r2 + mov r1, #0x2f + lsl r1, r1, #0x6 + mul r1, r0 + add r0, r2, r1 + bx lr + nop +_020842CC: .word 0x00000F74 + + thumb_func_start sub_020842D0 +sub_020842D0: ; 0x020842D0 + ldr r0, _020842D4 ; =0x020FCA3C + bx lr + .balign 4 +_020842D4: .word 0x020FCA3C + + thumb_func_start sub_020842D8 +sub_020842D8: ; 0x020842D8 + mov r0, #0x9 + bx lr + + thumb_func_start sub_020842DC +sub_020842DC: ; 0x020842DC + push {r3-r7, lr} + sub sp, #0x18 + str r1, [sp, #0x4] + add r6, r0, #0x0 + add r7, r2, #0x0 + ldr r0, [sp, #0x4] + mov r1, #0x0 + add r2, r3, #0x0 + bl sub_0206E710 + mov r1, #0xe + add r4, r0, #0x0 + bl sub_0206E7DC + cmp r0, #0x1 + beq _02084308 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x0 + pop {r3-r7, pc} +_02084308: + add r0, r6, #0x0 + mov r1, #0x9f + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0xf + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084332 + mov r0, #0x7 + tst r0, r5 + beq _02084332 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084332: + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084350 + mov r0, #0x88 + tst r0, r5 + beq _02084350 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084350: + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208436E + mov r0, #0x10 + tst r0, r5 + beq _0208436E + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208436E: + add r0, r4, #0x0 + mov r1, #0x12 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208438C + mov r0, #0x20 + tst r0, r5 + beq _0208438C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208438C: + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020843AA + mov r0, #0x40 + tst r0, r5 + beq _020843AA + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020843AA: + add r0, r6, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x17 + bl sub_0206E7DC + cmp r0, #0x0 + bne _020843CE + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020843EA +_020843CE: + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0206E7DC + cmp r0, #0x0 + bne _020843EA + cmp r5, #0x0 + bne _02084414 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020843EA: + add r0, r4, #0x0 + mov r1, #0x26 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084414 + cmp r5, #0x0 + beq _02084414 + add r0, r6, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + cmp r5, r0 + bhs _02084414 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084414: + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208443A + add r0, r6, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x64 + bhs _0208443A + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208443A: + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084464 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r3, [sp, #0x4] + add r1, r6, #0x0 + mov r2, #0x3 + bl sub_02069168 + cmp r0, #0x0 + beq _02084464 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084464: + add r0, r4, #0x0 + mov r1, #0x22 + bl sub_0206E7DC + cmp r0, #0x0 + bne _0208447C + add r0, r4, #0x0 + mov r1, #0x23 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020844B2 +_0208447C: + add r1, r7, #0x0 + add r0, r6, #0x0 + add r1, #0x3e + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x3 + bhs _020844B2 + add r1, r7, #0x0 + add r0, r6, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x0 + bl sub_0206AB30 + cmp r0, #0x5 + blo _020844B2 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020844B2: + add r0, r4, #0x0 + mov r1, #0x24 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020844D6 + add r0, r6, #0x0 + add r1, r7, #0x0 + bl sub_02084DF0 + cmp r0, #0x1 + bne _020844D6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020844D6: + add r0, r4, #0x0 + mov r1, #0x25 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084502 + mov r5, #0x0 +_020844E4: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl sub_02084DF0 + cmp r0, #0x1 + bne _020844FC + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020844FC: + add r5, r5, #0x1 + cmp r5, #0x4 + blt _020844E4 +_02084502: + add r0, r6, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl sub_020671BC + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x14] + add r0, r6, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x10] + add r0, r6, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0xc] + add r0, r6, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + add r0, r6, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl sub_020671BC + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + mov r1, #0x49 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _020845C6 + add r0, r4, #0x0 + mov r1, #0x27 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020845C6 + add r0, r4, #0x0 + mov r1, #0x30 + bl sub_0206E7DC + cmp r0, #0x0 + ble _0208459C + cmp r5, #0x64 + bge _020845C6 + ldr r0, [sp, #0x14] + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _020845C6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208459C: + bge _020845C6 + cmp r5, #0x0 + ble _020845AE + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020845AE: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _020845C6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020845C6: + add r0, r4, #0x0 + mov r1, #0x28 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084632 + add r0, r4, #0x0 + mov r1, #0x31 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02084606 + ldr r0, [sp, #0x14] + cmp r0, #0x64 + bge _02084632 + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _02084632 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084606: + bge _02084632 + ldr r0, [sp, #0x14] + cmp r0, #0x0 + ble _0208461A + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208461A: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _02084632 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084632: + add r0, r4, #0x0 + mov r1, #0x29 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020846A0 + add r0, r4, #0x0 + mov r1, #0x32 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02084674 + ldr r0, [sp, #0x10] + cmp r0, #0x64 + bge _020846A0 + ldr r0, [sp, #0x14] + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _020846A0 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084674: + bge _020846A0 + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _02084688 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084688: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _020846A0 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020846A0: + add r0, r4, #0x0 + mov r1, #0x2a + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208470E + add r0, r4, #0x0 + mov r1, #0x33 + bl sub_0206E7DC + cmp r0, #0x0 + ble _020846E2 + ldr r0, [sp, #0xc] + cmp r0, #0x64 + bge _0208470E + ldr r0, [sp, #0x14] + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _0208470E + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020846E2: + bge _0208470E + ldr r0, [sp, #0xc] + cmp r0, #0x0 + ble _020846F6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020846F6: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _0208470E + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208470E: + add r0, r4, #0x0 + mov r1, #0x2b + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208477C + add r0, r4, #0x0 + mov r1, #0x34 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02084750 + ldr r0, [sp, #0x8] + cmp r0, #0x64 + bge _0208477C + ldr r0, [sp, #0x14] + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _0208477C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084750: + bge _0208477C + ldr r0, [sp, #0x8] + cmp r0, #0x0 + ble _02084764 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_02084764: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _0208477C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_0208477C: + add r0, r4, #0x0 + mov r1, #0x2c + bl sub_0206E7DC + cmp r0, #0x0 + beq _020847E6 + add r0, r4, #0x0 + mov r1, #0x35 + bl sub_0206E7DC + cmp r0, #0x0 + ble _020847BC + cmp r7, #0x64 + bge _020847E6 + ldr r0, [sp, #0x14] + add r1, r5, r0 + ldr r0, [sp, #0x10] + add r1, r0, r1 + ldr r0, [sp, #0xc] + add r1, r0, r1 + ldr r0, [sp, #0x8] + add r0, r0, r1 + add r1, r7, r0 + ldr r0, _020847F4 ; =0x000001FE + cmp r1, r0 + bge _020847E6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020847BC: + bge _020847E6 + cmp r7, #0x0 + ble _020847CE + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020847CE: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_02085000 + cmp r0, #0x1 + bne _020847E6 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x18 + mov r0, #0x1 + pop {r3-r7, pc} +_020847E6: + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + nop +_020847F4: .word 0x000001FE + + thumb_func_start sub_020847F8 +sub_020847F8: ; 0x020847F8 + push {r3-r5, lr} + add r5, r1, #0x0 + add r1, r2, #0x0 + add r4, r3, #0x0 + bl sub_0206B9B0 + ldr r3, [sp, #0x10] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_020842DC + pop {r3-r5, pc} + + thumb_func_start sub_02084810 +sub_02084810: ; 0x02084810 + push {r3-r7, lr} + sub sp, #0x70 + add r5, r0, #0x0 + ldr r0, [sp, #0x88] + str r2, [sp, #0x4] + str r0, [sp, #0x88] + add r0, r1, #0x0 + ldr r2, [sp, #0x88] + mov r1, #0x0 + str r3, [sp, #0x8] + bl sub_0206E710 + mov r1, #0xe + add r4, r0, #0x0 + bl sub_0206E7DC + cmp r0, #0x1 + beq _02084840 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x70 + mov r0, #0x0 + pop {r3-r7, pc} +_02084840: + mov r6, #0x0 + add r0, r5, #0x0 + mov r1, #0x9f + add r2, r6, #0x0 + add r7, r6, #0x0 + bl sub_020671BC + str r0, [sp, #0x50] + str r0, [sp, #0x54] + add r0, r4, #0x0 + mov r1, #0xf + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084868 + ldr r1, [sp, #0x54] + mov r0, #0x7 + bic r1, r0 + str r1, [sp, #0x54] + mov r7, #0x1 +_02084868: + add r0, r4, #0x0 + mov r1, #0x10 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208487E + ldr r1, [sp, #0x54] + ldr r0, _02084A28 ; =0xFFFFF077 + mov r7, #0x1 + and r0, r1 + str r0, [sp, #0x54] +_0208487E: + add r0, r4, #0x0 + mov r1, #0x11 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084894 + ldr r1, [sp, #0x54] + mov r0, #0x10 + bic r1, r0 + str r1, [sp, #0x54] + mov r7, #0x1 +_02084894: + add r0, r4, #0x0 + mov r1, #0x12 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020848AA + ldr r1, [sp, #0x54] + mov r0, #0x20 + bic r1, r0 + str r1, [sp, #0x54] + mov r7, #0x1 +_020848AA: + add r0, r4, #0x0 + mov r1, #0x13 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020848C0 + ldr r1, [sp, #0x54] + mov r0, #0x40 + bic r1, r0 + str r1, [sp, #0x54] + mov r7, #0x1 +_020848C0: + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x54] + cmp r1, r0 + beq _020848D4 + add r0, r5, #0x0 + mov r1, #0x9f + add r2, sp, #0x54 + bl sub_02067830 + mov r6, #0x1 +_020848D4: + add r0, r5, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x50] + add r0, r5, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x54] + add r0, r4, #0x0 + mov r1, #0x17 + bl sub_0206E7DC + cmp r0, #0x0 + bne _02084904 + add r0, r4, #0x0 + mov r1, #0x18 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084930 +_02084904: + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084930 + ldr r0, [sp, #0x50] + cmp r0, #0x0 + bne _0208492C + add r0, r4, #0x0 + mov r1, #0x36 + bl sub_0206E7DC + add r3, r0, #0x0 + ldr r1, [sp, #0x50] + ldr r2, [sp, #0x54] + add r0, r5, #0x0 + bl sub_02084F68 + mov r6, #0x1 +_0208492C: + mov r7, #0x1 + b _0208495C +_02084930: + add r0, r4, #0x0 + mov r1, #0x26 + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208495C + ldr r1, [sp, #0x50] + ldr r0, [sp, #0x54] + cmp r1, r0 + bge _0208495A + add r0, r4, #0x0 + mov r1, #0x36 + bl sub_0206E7DC + add r3, r0, #0x0 + ldr r1, [sp, #0x50] + ldr r2, [sp, #0x54] + add r0, r5, #0x0 + bl sub_02084F68 + mov r6, #0x1 +_0208495A: + mov r7, #0x1 +_0208495C: + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x58] + add r0, r4, #0x0 + mov r1, #0x19 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020849B4 + ldr r0, [sp, #0x58] + cmp r0, #0x64 + bge _020849B2 + add r0, r5, #0x0 + bl sub_020686F8 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8 + bl sub_02068018 + add r0, r5, #0x0 + bl sub_02066ED8 + ldr r0, [sp, #0x50] + cmp r0, #0x0 + bne _020849B0 + add r0, r5, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + add r2, r0, #0x0 + ldr r3, [sp, #0x54] + ldr r1, [sp, #0x50] + add r0, r5, #0x0 + sub r3, r2, r3 + str r2, [sp, #0x5c] + bl sub_02084F68 +_020849B0: + mov r6, #0x1 +_020849B2: + mov r7, #0x1 +_020849B4: + add r0, r4, #0x0 + mov r1, #0x1a + bl sub_0206E7DC + cmp r0, #0x0 + beq _020849C2 + mov r7, #0x1 +_020849C2: + add r0, r4, #0x0 + mov r1, #0x22 + bl sub_0206E7DC + cmp r0, #0x0 + beq _020849E2 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x1 + bl sub_02084EC0 + cmp r0, #0x1 + bne _020849DE + mov r6, #0x1 +_020849DE: + mov r7, #0x1 + b _02084A00 +_020849E2: + add r0, r4, #0x0 + mov r1, #0x23 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084A00 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x3 + bl sub_02084EC0 + cmp r0, #0x1 + bne _020849FE + mov r6, #0x1 +_020849FE: + mov r7, #0x1 +_02084A00: + add r0, r4, #0x0 + mov r1, #0x24 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084A2C + add r0, r4, #0x0 + mov r1, #0x37 + bl sub_0206E7DC + add r2, r0, #0x0 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl sub_02084E40 + cmp r0, #0x1 + bne _02084A24 + mov r6, #0x1 +_02084A24: + mov r7, #0x1 + b _02084A66 + .balign 4 +_02084A28: .word 0xFFFFF077 +_02084A2C: + add r0, r4, #0x0 + mov r1, #0x25 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084A66 + mov r0, #0x0 + str r0, [sp, #0x50] + cmp r0, #0x4 + bge _02084A64 + mov r7, #0x37 +_02084A42: + add r0, r4, #0x0 + add r1, r7, #0x0 + bl sub_0206E7DC + add r2, r0, #0x0 + ldr r1, [sp, #0x50] + add r0, r5, #0x0 + bl sub_02084E40 + cmp r0, #0x1 + bne _02084A5A + mov r6, #0x1 +_02084A5A: + ldr r0, [sp, #0x50] + add r0, r0, #0x1 + str r0, [sp, #0x50] + cmp r0, #0x4 + blt _02084A42 +_02084A64: + mov r7, #0x1 +_02084A66: + add r0, r5, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x50] + add r0, r5, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x54] + add r0, r5, #0x0 + mov r1, #0xf + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x58] + add r0, r5, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x5c] + add r0, r5, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x60] + add r0, r5, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x64] + add r0, r5, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl sub_020671BC + mov r1, #0x49 + lsl r1, r1, #0x2 + cmp r0, r1 + beq _02084B20 + add r0, r4, #0x0 + mov r1, #0x27 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084B20 + add r0, r4, #0x0 + mov r1, #0x30 + bl sub_0206E7DC + ldr r1, [sp, #0x60] + ldr r2, [sp, #0x54] + str r1, [sp, #0x10] + ldr r1, [sp, #0x5c] + str r0, [sp, #0xc] + str r1, [sp, #0x14] + ldr r1, [sp, #0x58] + str r0, [sp, #0x6c] + add r2, r2, r1 + ldr r1, [sp, #0x14] + ldr r3, [sp, #0x64] + add r2, r1, r2 + ldr r1, [sp, #0x10] + ldr r0, [sp, #0x50] + add r1, r1, r2 + ldr r2, [sp, #0xc] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084B18 + str r0, [sp, #0x50] + add r0, r5, #0x0 + mov r1, #0xd + add r2, sp, #0x50 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084B18: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084B20 + mov r7, #0x1 +_02084B20: + add r0, r4, #0x0 + mov r1, #0x28 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084B80 + add r0, r4, #0x0 + mov r1, #0x31 + bl sub_0206E7DC + ldr r1, [sp, #0x60] + ldr r2, [sp, #0x50] + str r1, [sp, #0x1c] + ldr r1, [sp, #0x5c] + str r0, [sp, #0x18] + str r1, [sp, #0x20] + ldr r1, [sp, #0x58] + str r0, [sp, #0x6c] + add r2, r2, r1 + ldr r1, [sp, #0x20] + ldr r3, [sp, #0x64] + add r2, r1, r2 + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x54] + add r1, r1, r2 + ldr r2, [sp, #0x18] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084B78 + str r0, [sp, #0x54] + add r0, r5, #0x0 + mov r1, #0xe + add r2, sp, #0x54 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084B78: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084B80 + mov r7, #0x1 +_02084B80: + add r0, r4, #0x0 + mov r1, #0x29 + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084BE0 + add r0, r4, #0x0 + mov r1, #0x32 + bl sub_0206E7DC + ldr r1, [sp, #0x60] + ldr r2, [sp, #0x50] + str r1, [sp, #0x28] + ldr r1, [sp, #0x5c] + str r0, [sp, #0x24] + str r1, [sp, #0x2c] + ldr r1, [sp, #0x54] + str r0, [sp, #0x6c] + add r2, r2, r1 + ldr r1, [sp, #0x2c] + ldr r3, [sp, #0x64] + add r2, r1, r2 + ldr r1, [sp, #0x28] + ldr r0, [sp, #0x58] + add r1, r1, r2 + ldr r2, [sp, #0x24] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084BD8 + str r0, [sp, #0x58] + add r0, r5, #0x0 + mov r1, #0xf + add r2, sp, #0x58 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084BD8: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084BE0 + mov r7, #0x1 +_02084BE0: + add r0, r4, #0x0 + mov r1, #0x2a + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084C40 + add r0, r4, #0x0 + mov r1, #0x33 + bl sub_0206E7DC + ldr r1, [sp, #0x60] + ldr r2, [sp, #0x50] + str r1, [sp, #0x34] + ldr r1, [sp, #0x58] + str r0, [sp, #0x30] + str r1, [sp, #0x38] + ldr r1, [sp, #0x54] + str r0, [sp, #0x6c] + add r2, r2, r1 + ldr r1, [sp, #0x38] + ldr r3, [sp, #0x64] + add r2, r1, r2 + ldr r1, [sp, #0x34] + ldr r0, [sp, #0x5c] + add r1, r1, r2 + ldr r2, [sp, #0x30] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084C38 + str r0, [sp, #0x5c] + add r0, r5, #0x0 + mov r1, #0x10 + add r2, sp, #0x5c + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084C38: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084C40 + mov r7, #0x1 +_02084C40: + add r0, r4, #0x0 + mov r1, #0x2b + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084CA0 + add r0, r4, #0x0 + mov r1, #0x34 + bl sub_0206E7DC + ldr r1, [sp, #0x5c] + ldr r2, [sp, #0x50] + str r1, [sp, #0x40] + ldr r1, [sp, #0x58] + str r0, [sp, #0x3c] + str r1, [sp, #0x44] + ldr r1, [sp, #0x54] + str r0, [sp, #0x6c] + add r2, r2, r1 + ldr r1, [sp, #0x44] + ldr r3, [sp, #0x64] + add r2, r1, r2 + ldr r1, [sp, #0x40] + ldr r0, [sp, #0x60] + add r1, r1, r2 + ldr r2, [sp, #0x3c] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084C98 + str r0, [sp, #0x60] + add r0, r5, #0x0 + mov r1, #0x11 + add r2, sp, #0x60 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084C98: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084CA0 + mov r7, #0x1 +_02084CA0: + add r0, r4, #0x0 + mov r1, #0x2c + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084D00 + add r0, r4, #0x0 + mov r1, #0x35 + bl sub_0206E7DC + ldr r1, [sp, #0x5c] + ldr r2, [sp, #0x50] + str r1, [sp, #0x4c] + ldr r1, [sp, #0x58] + str r0, [sp, #0x48] + mov r12, r1 + ldr r1, [sp, #0x54] + str r0, [sp, #0x6c] + add r1, r2, r1 + mov r2, r12 + add r2, r2, r1 + ldr r1, [sp, #0x4c] + ldr r3, [sp, #0x60] + add r1, r1, r2 + ldr r0, [sp, #0x64] + ldr r2, [sp, #0x48] + add r1, r3, r1 + bl sub_02084FA8 + mov r1, #0x0 + mvn r1, r1 + str r0, [sp, #0x68] + cmp r0, r1 + beq _02084CF8 + str r0, [sp, #0x64] + add r0, r5, #0x0 + mov r1, #0x12 + add r2, sp, #0x64 + bl sub_02067830 + add r0, r5, #0x0 + bl sub_02066ED8 + mov r6, #0x1 +_02084CF8: + ldr r0, [sp, #0x6c] + cmp r0, #0x0 + ble _02084D00 + mov r7, #0x1 +_02084D00: + cmp r6, #0x0 + bne _02084D14 + cmp r7, #0x1 + bne _02084D14 + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x70 + mov r0, #0x0 + pop {r3-r7, pc} +_02084D14: + add r0, r5, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x50] + cmp r0, #0x64 + bge _02084D54 + add r0, r4, #0x0 + mov r1, #0x2d + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084DC2 + add r0, r4, #0x0 + mov r1, #0x38 + bl sub_0206E7DC + add r2, r0, #0x0 + ldr r0, [sp, #0x88] + str r0, [sp, #0x0] + ldr r1, [sp, #0x50] + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0208508C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x70 + add r0, r6, #0x0 + pop {r3-r7, pc} +_02084D54: + blt _02084D8A + cmp r0, #0xc8 + bge _02084D8A + add r0, r4, #0x0 + mov r1, #0x2e + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084DC2 + add r0, r4, #0x0 + mov r1, #0x39 + bl sub_0206E7DC + add r2, r0, #0x0 + ldr r0, [sp, #0x88] + str r0, [sp, #0x0] + ldr r1, [sp, #0x50] + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0208508C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x70 + add r0, r6, #0x0 + pop {r3-r7, pc} +_02084D8A: + cmp r0, #0xc8 + blt _02084DC2 + cmp r0, #0xff + bgt _02084DC2 + add r0, r4, #0x0 + mov r1, #0x2f + bl sub_0206E7DC + cmp r0, #0x0 + beq _02084DC2 + add r0, r4, #0x0 + mov r1, #0x3a + bl sub_0206E7DC + add r2, r0, #0x0 + ldr r0, [sp, #0x88] + str r0, [sp, #0x0] + ldr r1, [sp, #0x50] + ldr r3, [sp, #0x8] + add r0, r5, #0x0 + bl sub_0208508C + add r0, r4, #0x0 + bl sub_02016A18 + add sp, #0x70 + add r0, r6, #0x0 + pop {r3-r7, pc} +_02084DC2: + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 + add sp, #0x70 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02084DD0 +sub_02084DD0: ; 0x02084DD0 + push {r3-r5, lr} + add r5, r1, #0x0 + add r1, r2, #0x0 + add r4, r3, #0x0 + bl sub_0206B9B0 + ldr r1, [sp, #0x14] + add r3, sp, #0x0 + str r1, [sp, #0x0] + ldrh r3, [r3, #0x10] + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02084810 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02084DF0 +sub_02084DF0: ; 0x02084DF0 + push {r3-r7, lr} + add r6, r1, #0x0 + add r1, #0x36 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + bne _02084E08 + mov r0, #0x0 + pop {r3-r7, pc} +_02084E08: + add r1, r6, #0x0 + add r0, r5, #0x0 + add r1, #0x3a + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + add r6, #0x3e + lsr r4, r0, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + add r0, r7, #0x0 + bl sub_0206AB30 + cmp r4, r0 + bhs _02084E36 + mov r0, #0x1 + b _02084E38 +_02084E36: + mov r0, #0x0 +_02084E38: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02084E40 +sub_02084E40: ; 0x02084E40 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r1, #0x36 + mov r2, #0x0 + add r6, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r7, r0, #0x10 + bne _02084E5E + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_02084E5E: + add r0, r5, #0x0 + str r0, [sp, #0x0] + add r0, #0x3a + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x4 + strb r0, [r1, #0x0] + add r5, #0x3e + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl sub_020671BC + add r1, r0, #0x0 + lsl r1, r1, #0x18 + add r0, r7, #0x0 + lsr r1, r1, #0x18 + bl sub_0206AB30 + add r1, sp, #0x4 + ldrb r2, [r1, #0x0] + cmp r2, r0 + bhs _02084EB8 + cmp r4, #0x7f + bne _02084E9C + strb r0, [r1, #0x0] + b _02084EA8 +_02084E9C: + add r2, r2, r4 + strb r2, [r1, #0x0] + ldrb r2, [r1, #0x0] + cmp r2, r0 + bls _02084EA8 + strb r0, [r1, #0x0] +_02084EA8: + ldr r1, [sp, #0x0] + add r0, r6, #0x0 + add r2, sp, #0x4 + bl sub_02067830 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02084EB8: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02084EC0 +sub_02084EC0: ; 0x02084EC0 + push {r4-r7, lr} + sub sp, #0xc + add r6, r2, #0x0 + add r4, r1, #0x0 + str r1, [sp, #0x0] + add r1, #0x3e + mov r2, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + bl sub_020671BC + add r1, sp, #0x8 + strb r0, [r1, #0x0] + ldrb r0, [r1, #0x0] + cmp r0, #0x3 + bne _02084EE6 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02084EE6: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x0 + str r0, [sp, #0x4] + bl sub_0206AB30 + cmp r0, #0x5 + bhs _02084F08 + add sp, #0xc + mov r0, #0x0 + pop {r4-r7, pc} +_02084F08: + add r4, #0x3a + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x8 + strb r0, [r1, #0x1] + ldrb r1, [r1, #0x0] + ldr r0, [sp, #0x4] + bl sub_0206AB30 + add r7, r0, #0x0 + add r0, sp, #0x8 + ldrb r0, [r0, #0x0] + add r0, r0, r6 + cmp r0, #0x3 + bls _02084F30 + mov r0, #0x3 + b _02084F34 +_02084F30: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 +_02084F34: + add r1, sp, #0x8 + strb r0, [r1, #0x0] + ldrb r1, [r1, #0x0] + ldr r0, [sp, #0x4] + bl sub_0206AB30 + add r1, sp, #0x8 + ldrb r2, [r1, #0x1] + add r0, r2, r0 + sub r0, r0, r7 + strb r0, [r1, #0x1] + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + add r2, sp, #0x8 + bl sub_02067830 + add r2, sp, #0x8 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, #0x1 + bl sub_02067830 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start sub_02084F68 +sub_02084F68: ; 0x02084F68 + push {r0-r3} + push {r3, lr} + cmp r2, #0x1 + bne _02084F74 + mov r3, #0x1 + b _02084F8A +_02084F74: + cmp r3, #0xff + bne _02084F7C + add r3, r2, #0x0 + b _02084F8A +_02084F7C: + cmp r3, #0xfe + bne _02084F84 + lsr r3, r2, #0x1 + b _02084F8A +_02084F84: + cmp r3, #0xfd + bne _02084F8A + lsr r3, r2, #0x2 +_02084F8A: + ldr r1, [sp, #0xc] + add r1, r1, r3 + cmp r1, r2 + bls _02084F96 + str r2, [sp, #0xc] + b _02084F98 +_02084F96: + str r1, [sp, #0xc] +_02084F98: + mov r1, #0xa2 + add r2, sp, #0xc + bl sub_02067830 + pop {r3} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_02084FA8 +sub_02084FA8: ; 0x02084FA8 + push {r3-r4} + cmp r0, #0x0 + bne _02084FBA + cmp r2, #0x0 + bge _02084FBA + mov r0, #0x0 + mvn r0, r0 + pop {r3-r4} + bx lr +_02084FBA: + cmp r0, #0x64 + blt _02084FCA + cmp r2, #0x0 + ble _02084FCA + mov r0, #0x0 + mvn r0, r0 + pop {r3-r4} + bx lr +_02084FCA: + ldr r3, _02084FFC ; =0x000001FE + add r4, r0, r1 + cmp r4, r3 + blt _02084FDE + cmp r2, #0x0 + ble _02084FDE + mov r0, #0x0 + mvn r0, r0 + pop {r3-r4} + bx lr +_02084FDE: + add r0, r0, r2 + cmp r0, #0x64 + ble _02084FE8 + mov r0, #0x64 + b _02084FEE +_02084FE8: + cmp r0, #0x0 + bge _02084FEE + mov r0, #0x0 +_02084FEE: + ldr r2, _02084FFC ; =0x000001FE + add r3, r0, r1 + cmp r3, r2 + ble _02084FF8 + sub r0, r2, r1 +_02084FF8: + pop {r3-r4} + bx lr + .balign 4 +_02084FFC: .word 0x000001FE + + thumb_func_start sub_02085000 +sub_02085000: ; 0x02085000 + push {r4, lr} + add r4, r1, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0xff + blt _02085014 + mov r0, #0x0 + pop {r4, pc} +_02085014: + cmp r0, #0x64 + bge _02085038 + add r0, r4, #0x0 + mov r1, #0x2d + bl sub_0206E7DC + cmp r0, #0x0 + beq _02085034 + add r0, r4, #0x0 + mov r1, #0x38 + bl sub_0206E7DC + cmp r0, #0x0 + ble _02085034 + mov r0, #0x1 + pop {r4, pc} +_02085034: + mov r0, #0x0 + pop {r4, pc} +_02085038: + blt _0208505E + cmp r0, #0xc8 + bge _0208505E + add r0, r4, #0x0 + mov r1, #0x2e + bl sub_0206E7DC + cmp r0, #0x0 + beq _0208505A + add r0, r4, #0x0 + mov r1, #0x39 + bl sub_0206E7DC + cmp r0, #0x0 + ble _0208505A + mov r0, #0x1 + pop {r4, pc} +_0208505A: + mov r0, #0x0 + pop {r4, pc} +_0208505E: + cmp r0, #0xc8 + blt _02085086 + cmp r0, #0xff + bge _02085086 + add r0, r4, #0x0 + mov r1, #0x2f + bl sub_0206E7DC + cmp r0, #0x0 + beq _02085082 + add r0, r4, #0x0 + mov r1, #0x3a + bl sub_0206E7DC + cmp r0, #0x0 + ble _02085082 + mov r0, #0x1 + pop {r4, pc} +_02085082: + mov r0, #0x0 + pop {r4, pc} +_02085086: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0208508C +sub_0208508C: ; 0x0208508C + push {r0-r3} + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r3, #0x0 + cmp r4, #0xff + bne _020850AA + ldr r0, [sp, #0x18] + cmp r0, #0x0 + ble _020850AA + mov r0, #0x0 + pop {r4-r6} + pop {r3} + add sp, #0x10 + bx r3 +_020850AA: + cmp r4, #0x0 + bne _020850BE + ldr r0, [sp, #0x18] + cmp r0, #0x0 + bge _020850BE + mov r0, #0x0 + pop {r4-r6} + pop {r3} + add sp, #0x10 + bx r3 +_020850BE: + ldr r0, [sp, #0x18] + cmp r0, #0x0 + ble _02085114 + add r0, r5, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + ldr r2, [sp, #0x20] + lsr r0, r0, #0x10 + mov r1, #0x1 + bl sub_0206E7B8 + cmp r0, #0x34 + bne _020850EC + ldr r1, [sp, #0x18] + mov r0, #0x96 + mul r0, r1 + mov r1, #0x64 + blx sub_020EBC80 + str r0, [sp, #0x18] +_020850EC: + add r0, r5, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0xb + bne _02085100 + ldr r0, [sp, #0x18] + add r0, r0, #0x1 + str r0, [sp, #0x18] +_02085100: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl sub_020671BC + cmp r6, r0 + bne _02085114 + ldr r0, [sp, #0x18] + add r0, r0, #0x1 + str r0, [sp, #0x18] +_02085114: + ldr r0, [sp, #0x18] + add r0, r0, r4 + str r0, [sp, #0x18] + cmp r0, #0xff + ble _02085122 + mov r0, #0xff + str r0, [sp, #0x18] +_02085122: + ldr r0, [sp, #0x18] + cmp r0, #0x0 + bge _0208512C + mov r0, #0x0 + str r0, [sp, #0x18] +_0208512C: + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x18 + bl sub_02067830 + mov r0, #0x1 + pop {r4-r6} + pop {r3} + add sp, #0x10 + bx r3 + + thumb_func_start sub_02085140 +sub_02085140: ; 0x02085140 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + bl sub_0206B9AC + mov r7, #0x0 + str r0, [sp, #0x4] + cmp r0, #0x0 + ble _020851B4 + mov r6, #0x7f +_02085154: + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl sub_0206B9B0 + mov r1, #0xab + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _020851AC + add r0, r5, #0x0 + mov r1, #0xa3 + mov r2, #0x0 + bl sub_020671BC + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0xa2 + add r2, sp, #0x8 + bl sub_02067830 + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x9f + add r2, sp, #0x8 + bl sub_02067830 + mov r4, #0x0 +_02085190: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02084DF0 + cmp r0, #0x1 + bne _020851A6 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02084E40 +_020851A6: + add r4, r4, #0x1 + cmp r4, #0x4 + blt _02085190 +_020851AC: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + cmp r7, r0 + blt _02085154 +_020851B4: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start sub_020851B8 +sub_020851B8: ; 0x020851B8 + push {r3, lr} + mov r1, #0xc + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + strb r1, [r0, #0x8] + strb r1, [r0, #0x9] + strb r1, [r0, #0xa] + strb r1, [r0, #0xb] + pop {r3, pc} + + thumb_func_start sub_020851DC +sub_020851DC: ; 0x020851DC + push {r4-r6, lr} + sub r1, #0x95 + lsl r1, r1, #0x10 + lsr r6, r1, #0x10 + add r1, r6, #0x0 + add r5, r0, #0x0 + add r4, r2, #0x0 + bl sub_02085200 + cmp r4, #0x1 + bne _020851F4 + strb r6, [r5, #0x8] +_020851F4: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020851F8 +sub_020851F8: ; 0x020851F8 + strb r1, [r0, #0x9] + strb r2, [r0, #0xa] + strb r3, [r0, #0xb] + bx lr + + thumb_func_start sub_02085200 +sub_02085200: ; 0x02085200 + push {r3-r6} + lsr r6, r1, #0x1f + lsl r5, r1, #0x1b + lsr r2, r1, #0x5 + lsl r4, r2, #0x2 + sub r5, r5, r6 + mov r1, #0x1b + ror r5, r1 + ldr r3, [r0, r4] + mov r2, #0x1 + add r1, r6, r5 + lsl r2, r1 + add r1, r3, #0x0 + orr r1, r2 + str r1, [r0, r4] + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_02085224 +sub_02085224: ; 0x02085224 + push {r4-r5} + lsr r5, r1, #0x1f + lsl r4, r1, #0x1b + lsr r1, r1, #0x5 + lsl r1, r1, #0x2 + sub r4, r4, r5 + mov r3, #0x1b + ror r4, r3 + mov r2, #0x1 + add r3, r5, r4 + add r4, r2, #0x0 + lsl r4, r3 + ldr r0, [r0, r1] + tst r0, r4 + bne _02085244 + mov r2, #0x0 +_02085244: + lsl r0, r2, #0x18 + lsr r0, r0, #0x18 + pop {r4-r5} + bx lr + + thumb_func_start sub_0208524C +sub_0208524C: ; 0x0208524C + ldrb r3, [r0, #0x9] + strb r3, [r1, #0x0] + ldrb r0, [r0, #0xa] + strb r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02085258 +sub_02085258: ; 0x02085258 + ldr r3, _02085260 ; =sub_02006670 + add r1, r0, #0x0 + mov r0, #0x44 + bx r3 + .balign 4 +_02085260: .word sub_02006670 + 1 + + thumb_func_start sub_02085264 +sub_02085264: ; 0x02085264 + ldr r3, _02085268 ; =sub_02006704 + bx r3 + .balign 4 +_02085268: .word sub_02006704 + 1 + + thumb_func_start sub_0208526C +sub_0208526C: ; 0x0208526C + ldr r3, _02085270 ; =sub_020066F4 + bx r3 + .balign 4 +_02085270: .word sub_020066F4 + 1 + + thumb_func_start sub_02085274 +sub_02085274: ; 0x02085274 + add r3, r0, #0x0 + add r2, r1, #0x0 + add r1, r3, #0x0 + ldr r3, _02085280 ; =sub_0200650C + mov r0, #0x44 + bx r3 + .balign 4 +_02085280: .word sub_0200650C + 1 + + thumb_func_start sub_02085284 +sub_02085284: ; 0x02085284 + ldr r3, _0208528C ; =sub_02085274 + sub r0, #0x95 + bx r3 + nop +_0208528C: .word sub_02085274 + 1 + + thumb_func_start sub_02085290 +sub_02085290: ; 0x02085290 + cmp r1, #0xa + bhi _020852E2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r2, #0 + lsl r0, r3, #0 + lsl r4, r3, #0 + lsl r0, r4, #0 + lsl r4, r4, #0 + lsl r0, r5, #0 + lsl r4, r5, #0 + lsl r0, r6, #0 + lsl r4, r6, #0 + lsl r0, r7, #0 + lsl r4, r7, #0 + ldrh r0, [r0, #0x0] + bx lr +_020852BA: + .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78 + .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79 + .byte 0x70, 0x47, 0x00, 0x7A, 0x70, 0x47, 0x40, 0x7A, 0x70, 0x47, 0x80, 0x7A, 0x70, 0x47, 0xC0, 0x7A + .byte 0x70, 0x47 +_020852E2: + mov r0, #0x0 + bx lr + .balign 4 + + thumb_func_start sub_020852E8 +sub_020852E8: ; 0x020852E8 + push {r3-r5, lr} + ldr r2, _0208530C ; =0x00000175 + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + add r5, r0, #0x0 + add r1, r4, #0x0 + bl sub_0200A914 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_0208530C: .word 0x00000175 + + thumb_func_start sub_02085310 +sub_02085310: ; 0x02085310 + push {r3-r5, lr} + mov r2, #0x5d + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + bl sub_0200A86C + add r5, r0, #0x0 + add r1, r4, #0x0 + bl sub_0200A914 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02085338 +sub_02085338: ; 0x02085338 + push {r3-r7, lr} + add r5, r0, #0x0 + add r7, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0x24 + add r6, r2, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + strb r5, [r4, #0x0] + strb r7, [r4, #0x1] + add r0, r6, #0x0 + bl sub_02024DA0 + str r0, [r4, #0xc] + add r0, r6, #0x0 + bl sub_02013B5C + str r0, [r4, #0x10] + add r0, r6, #0x0 + bl sub_020462AC + bl sub_0205ED0C + strb r0, [r4, #0x4] + mov r1, #0x0 + strb r1, [r4, #0x5] + mov r0, #0x1 + strb r0, [r4, #0x2] + add r0, r6, #0x0 + strb r1, [r4, #0x3] + bl sub_02023900 + bl sub_02025084 + str r0, [r4, #0x8] + cmp r5, #0x2 + bne _02085390 + add r0, r4, #0x0 + add r0, #0x14 + mov r1, #0x3 + bl sub_0201373C + b _020853A0 +_02085390: + ldr r0, _020853A4 ; =0x0000FFFF + mov r1, #0x0 + add r2, r4, #0x0 +_02085396: + add r1, r1, #0x1 + strh r0, [r2, #0x1c] + add r2, r2, #0x2 + cmp r1, #0x2 + blt _02085396 +_020853A0: + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 +_020853A4: .word 0x0000FFFF + + thumb_func_start sub_020853A8 +sub_020853A8: ; 0x020853A8 + ldr r3, _020853AC ; =sub_02016A18 + bx r3 + .balign 4 +_020853AC: .word sub_02016A18 + 1 + + thumb_func_start sub_020853B0 +sub_020853B0: ; 0x020853B0 + strh r1, [r0, #0x1c] + bx lr + + thumb_func_start sub_020853B4 +sub_020853B4: ; 0x020853B4 + strh r1, [r0, #0x1c] + strh r2, [r0, #0x1e] + bx lr + .balign 4 + + thumb_func_start sub_020853BC +sub_020853BC: ; 0x020853BC + ldrh r2, [r1, #0x0] + strh r2, [r0, #0x14] + ldrh r2, [r1, #0x2] + strh r2, [r0, #0x16] + ldrh r2, [r1, #0x4] + strh r2, [r0, #0x18] + ldrh r1, [r1, #0x6] + strh r1, [r0, #0x1a] + bx lr + .balign 4 + + thumb_func_start sub_020853D0 +sub_020853D0: ; 0x020853D0 + mov r1, #0x1 + strb r1, [r0, #0x2] + mov r1, #0x0 + strb r1, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start sub_020853DC +sub_020853DC: ; 0x020853DC + mov r1, #0x1 + strb r1, [r0, #0x5] + bx lr + .balign 4 + + thumb_func_start sub_020853E4 +sub_020853E4: ; 0x020853E4 + ldrb r0, [r0, #0x2] + bx lr + + thumb_func_start sub_020853E8 +sub_020853E8: ; 0x020853E8 + ldrb r0, [r0, #0x3] + bx lr + + thumb_func_start sub_020853EC +sub_020853EC: ; 0x020853EC + ldrh r0, [r0, #0x1c] + bx lr + + thumb_func_start sub_020853F0 +sub_020853F0: ; 0x020853F0 + ldrh r2, [r0, #0x1c] + strh r2, [r1, #0x0] + ldrh r0, [r0, #0x1e] + strh r0, [r1, #0x2] + bx lr + .balign 4 + + thumb_func_start sub_020853FC +sub_020853FC: ; 0x020853FC + add r2, r0, #0x0 + ldr r3, _02085408 ; =sub_02013960 + add r2, #0x14 + add r0, r1, #0x0 + add r1, r2, #0x0 + bx r3 + .balign 4 +_02085408: .word sub_02013960 + 1 + + thumb_func_start sub_0208540C +sub_0208540C: ; 0x0208540C + ldrb r0, [r0, #0x0] + bx lr + + thumb_func_start sub_02085410 +sub_02085410: ; 0x02085410 + ldrb r0, [r0, #0x1] + bx lr + + thumb_func_start sub_02085414 +sub_02085414: ; 0x02085414 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_02085418 +sub_02085418: ; 0x02085418 + ldr r0, [r0, #0xc] + bx lr + + thumb_func_start sub_0208541C +sub_0208541C: ; 0x0208541C + ldr r0, [r0, #0x10] + bx lr + + thumb_func_start sub_02085420 +sub_02085420: ; 0x02085420 + ldrb r0, [r0, #0x4] + bx lr + + thumb_func_start sub_02085424 +sub_02085424: ; 0x02085424 + ldrb r0, [r0, #0x5] + bx lr + + thumb_func_start sub_02085428 +sub_02085428: ; 0x02085428 + ldrb r3, [r0, #0x0] + cmp r3, #0x0 + beq _02085438 + cmp r3, #0x1 + beq _0208543E + cmp r3, #0x2 + beq _02085448 + bx lr +_02085438: + ldrh r0, [r0, #0x1c] + strh r0, [r1, #0x0] + bx lr +_0208543E: + ldrh r2, [r0, #0x1c] + strh r2, [r1, #0x0] + ldrh r0, [r0, #0x1e] + strh r0, [r1, #0x2] + bx lr +_02085448: + ldrh r1, [r0, #0x14] + strh r1, [r2, #0x0] + ldrh r1, [r0, #0x16] + strh r1, [r2, #0x2] + ldrh r1, [r0, #0x18] + strh r1, [r2, #0x4] + ldrh r0, [r0, #0x1a] + strh r0, [r2, #0x6] + bx lr + .balign 4 + + thumb_func_start sub_0208545C +sub_0208545C: ; 0x0208545C + push {r3, lr} + ldrb r3, [r0, #0x0] + cmp r3, #0x0 + beq _0208546C + cmp r3, #0x1 + beq _0208547C + cmp r3, #0x2 + b _02085494 +_0208546C: + ldrh r1, [r1, #0x0] + ldrh r0, [r0, #0x1c] + cmp r1, r0 + bne _02085478 + mov r0, #0x1 + pop {r3, pc} +_02085478: + mov r0, #0x0 + pop {r3, pc} +_0208547C: + ldrh r3, [r1, #0x0] + ldrh r2, [r0, #0x1c] + cmp r3, r2 + bne _02085490 + ldrh r1, [r1, #0x2] + ldrh r0, [r0, #0x1e] + cmp r1, r0 + bne _02085490 + mov r0, #0x1 + pop {r3, pc} +_02085490: + mov r0, #0x0 + pop {r3, pc} +_02085494: + add r0, #0x14 + add r1, r2, #0x0 + bl sub_02013928 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_020854A0 +sub_020854A0: ; 0x020854A0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_0208545C + cmp r0, #0x0 + bne _020854B4 + mov r0, #0x1 + b _020854B6 +_020854B4: + mov r0, #0x0 +_020854B6: + strb r0, [r5, #0x3] + mov r1, #0x0 + strb r1, [r5, #0x2] + add r2, r5, #0x0 +_020854BE: + ldrh r0, [r4, #0x0] + add r1, r1, #0x1 + add r4, r4, #0x2 + strh r0, [r2, #0x1c] + add r2, r2, #0x2 + cmp r1, #0x2 + blt _020854BE + ldrh r0, [r6, #0x0] + strh r0, [r5, #0x14] + ldrh r0, [r6, #0x2] + strh r0, [r5, #0x16] + ldrh r0, [r6, #0x4] + strh r0, [r5, #0x18] + ldrh r0, [r6, #0x6] + strh r0, [r5, #0x1a] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_020854E0 +sub_020854E0: ; 0x020854E0 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r7, r1, #0x0 + add r6, r2, #0x0 + str r3, [sp, #0x0] + bl sub_02025838 + str r0, [sp, #0x4] + ldr r0, [sp, #0x20] + mov r1, #0x1c + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, [sp, #0x0] + strb r0, [r4, #0xf] + ldr r0, [sp, #0x4] + strb r6, [r4, #0xe] + str r0, [r4, #0x18] + mov r0, #0x1 + strh r0, [r4, #0x0] + str r7, [r4, #0x8] + mov r0, #0x0 + strh r0, [r4, #0xc] + ldr r0, [sp, #0x20] + str r5, [r4, #0x10] + bl sub_020256BC + str r0, [r4, #0x14] + bl sub_02025658 + ldr r0, [r4, #0x14] + mov r1, #0xff + add r2, r6, #0x0 + add r3, r5, #0x0 + bl sub_020256DC + add r0, r4, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + + thumb_func_start sub_02085538 +sub_02085538: ; 0x02085538 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + add r0, r3, #0x0 + mov r1, #0x1c + add r6, r2, #0x0 + str r3, [sp, #0x0] + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x0 + strh r0, [r4, #0x0] + str r5, [r4, #0x8] + strh r6, [r4, #0xc] + add r0, r7, #0x0 + str r7, [r4, #0x10] + bl sub_02025838 + ldr r3, [sp, #0x0] + add r1, r5, #0x0 + add r2, r6, #0x0 + str r0, [r4, #0x18] + bl sub_020258B0 + str r0, [r4, #0x14] + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02085578 +sub_02085578: ; 0x02085578 + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r7, #0x0 + mov r1, #0x1c + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x0 + strh r0, [r4, #0x0] + str r5, [r4, #0x10] + add r0, r7, #0x0 + bl sub_020256BC + str r0, [r4, #0x14] + ldr r2, [r4, #0x14] + add r0, r6, #0x0 + mov r1, #0xa9 + bl sub_020671BC + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020855B0 +sub_020855B0: ; 0x020855B0 + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + add r6, r1, #0x0 + add r0, r7, #0x0 + mov r1, #0x1c + bl sub_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x0 + strh r0, [r4, #0x0] + add r0, r7, #0x0 + str r5, [r4, #0x10] + bl sub_020256BC + add r1, r6, #0x0 + str r0, [r4, #0x14] + bl sub_020257D0 + add r0, r4, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020855E4 +sub_020855E4: ; 0x020855E4 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_020855E8 +sub_020855E8: ; 0x020855E8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020855E4 + cmp r0, #0x0 + bne _020855FC + mov r0, #0x0 + pop {r4-r6, pc} +_020855FC: + ldr r0, [r5, #0x18] + ldr r3, [r5, #0x14] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl sub_02025888 + mov r0, #0x1 + pop {r4-r6, pc} + + thumb_func_start sub_0208560C +sub_0208560C: ; 0x0208560C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_020855E4 + cmp r0, #0x0 + bne _0208561E + mov r0, #0x0 + pop {r3-r5, pc} +_0208561E: + ldr r2, [r5, #0x14] + add r0, r4, #0x0 + mov r1, #0xa9 + bl sub_02067830 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_0208562C +sub_0208562C: ; 0x0208562C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + beq _0208563A + bl sub_02016A18 +_0208563A: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02085644 +sub_02085644: ; 0x02085644 + push {r3-r7, lr} + add r5, r1, #0x0 + mov r1, #0x0 + add r7, r0, #0x0 + add r4, r2, #0x0 + str r1, [sp, #0x0] + bl sub_02025864 + add r6, r0, #0x0 + mov r0, #0x0 + mvn r0, r0 + cmp r6, r0 + beq _0208569E + add r0, r4, #0x0 + bl sub_020256BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xa9 + add r2, r4, #0x0 + bl sub_020671BC + add r0, r7, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + add r3, r4, #0x0 + bl sub_02025888 + add r0, r4, #0x0 + bl sub_02025658 + add r0, r5, #0x0 + mov r1, #0xa9 + add r2, r4, #0x0 + bl sub_02067830 + add r0, r5, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r4, #0x0 + bl sub_02016A18 + add r0, r6, #0x0 +_0208569E: + pop {r3-r7, pc} + + thumb_func_start sub_020856A0 +sub_020856A0: ; 0x020856A0 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r2, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + add r7, r0, #0x0 + str r1, [sp, #0x0] + bl sub_020258B0 + add r6, r0, #0x0 + bne _020856BC + mov r0, #0x0 + mvn r0, r0 + pop {r3-r7, pc} +_020856BC: + bl sub_020257CC + bl sub_0206EAD8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0xa9 + add r2, r6, #0x0 + bl sub_02067830 + add r0, r4, #0x0 + mov r1, #0x6 + add r2, sp, #0x0 + bl sub_02067830 + add r0, r7, #0x0 + mov r1, #0x0 + add r2, r5, #0x0 + bl sub_02025878 + add r0, r6, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020856F0 +sub_020856F0: ; 0x020856F0 + push {r3-r7, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x34 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x34 + add r6, r0, #0x0 + blx sub_020CE34C + mov r0, #0x0 + strh r0, [r6, #0x0] + add r0, r4, #0x0 + bl sub_020257C0 + str r0, [r6, #0x8] + mov r0, #0x8 + add r1, r5, #0x0 + bl sub_020219F4 + str r0, [r6, #0x10] + add r0, r4, #0x0 + bl sub_020257C4 + add r1, r0, #0x0 + ldr r0, [r6, #0x10] + bl sub_02021E28 + add r0, r4, #0x0 + bl sub_020257CC + strb r0, [r6, #0xf] + add r0, r4, #0x0 + bl sub_020257D8 + strb r0, [r6, #0xd] + add r0, r4, #0x0 + bl sub_020257DC + strb r0, [r6, #0xe] + mov r5, #0x0 + mov r7, #0x2 +_02085748: + lsl r1, r5, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + add r2, r7, #0x0 + bl sub_020257E0 + lsl r1, r5, #0x1 + add r1, r6, r1 + strh r0, [r1, #0x14] + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x3 + blo _02085748 + add r7, r6, #0x0 + mov r5, #0x0 + add r7, #0x1a +_0208576A: + lsl r1, r5, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl sub_02025814 + add r1, r0, #0x0 + lsl r0, r5, #0x3 + add r0, r7, r0 + bl sub_02013960 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x3 + blo _0208576A + add r0, r6, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_0208578C +sub_0208578C: ; 0x0208578C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + cmp r0, #0x0 + beq _0208579A + bl sub_02021A20 +_0208579A: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020857A4 +sub_020857A4: ; 0x020857A4 + push {r3-r7, lr} + add r7, r1, #0x0 + add r4, r7, #0x0 + add r6, r0, #0x0 + mov r5, #0x0 + add r4, #0x1a +_020857B0: + lsl r1, r5, #0x3 + lsl r2, r5, #0x18 + add r0, r6, #0x0 + add r1, r4, r1 + lsr r2, r2, #0x18 + bl sub_02025824 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0x3 + blo _020857B0 + ldrb r1, [r7, #0xf] + add r0, r6, #0x0 + bl sub_020257D0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020857D4 +sub_020857D4: ; 0x020857D4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020857F4 + bl sub_02006290 + cmp r0, #0x0 + beq _020857F4 + ldr r0, [r4, #0x0] + bl sub_02006260 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} +_020857F4: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_020857F8 +sub_020857F8: ; 0x020857F8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_0200628C + mov r2, #0x1 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x28 + lsl r2, r2, #0xc + bl sub_0201681C + add r0, r4, #0x0 + mov r1, #0x1c + mov r2, #0x28 + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx sub_020CE34C + mov r1, #0x28 + str r1, [r4, #0x0] + ldr r0, [r5, #0x14] + bl sub_020856F0 + str r0, [r4, #0x10] + ldr r0, [r5, #0x10] + bl sub_02023900 + ldr r1, [r4, #0x10] + str r0, [r1, #0x4] + ldrh r0, [r5, #0x0] + cmp r0, #0x1 + bne _02085844 + ldrb r1, [r5, #0xf] + ldr r0, [r4, #0x10] + strb r1, [r0, #0xf] +_02085844: + ldr r1, [r4, #0x10] + ldrb r0, [r1, #0xf] + cmp r0, #0xc + blo _02085850 + mov r0, #0x0 + strb r0, [r1, #0xf] +_02085850: + ldrh r1, [r5, #0x0] + ldr r0, [r4, #0x10] + strh r1, [r0, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0208585C +sub_0208585C: ; 0x0208585C + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_0200628C + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + bls _02085878 + b _02085990 +_02085878: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r4, #0 + lsl r4, r1, #0x1 + lsl r2, r7, #0x1 + lsl r0, r3, #0x3 + ldrh r1, [r6, #0x0] + ldr r0, [r4, #0x10] + strh r1, [r0, #0x0] + ldr r0, _02085994 ; =0x020FCAA8 + ldr r1, [r4, #0x10] + ldr r2, [r4, #0x0] + bl sub_02006234 + str r0, [r4, #0xc] + mov r0, #0x1 + str r0, [r5, #0x0] + b _02085990 +_020858A6: + .byte 0x20, 0x1C, 0x0C, 0x30, 0xFF, 0xF7, 0x93, 0xFF, 0x00, 0x28 + .byte 0x6E, 0xD0, 0x20, 0x69, 0x01, 0x88, 0x03, 0x29, 0x05, 0xD0, 0x37, 0x48, 0x81, 0x42, 0x05, 0xD1 + .byte 0x02, 0x20, 0x28, 0x60, 0x64, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x61, 0xE0, 0x03, 0x20, 0x28, 0x60 + .byte 0x5E, 0xE0, 0x30, 0x88, 0x01, 0x28, 0x11, 0xD1, 0x21, 0x69, 0x08, 0x88, 0x03, 0x28, 0x0B, 0xD1 + .byte 0x70, 0x69, 0xFF, 0xF7, 0x5F, 0xFF, 0x30, 0x69, 0xA4, 0xF7, 0x6E, 0xFB, 0x02, 0x21, 0xA4, 0xF7 + .byte 0x3F, 0xFC, 0x01, 0x20, 0x70, 0x60, 0x01, 0xE0, 0x00, 0x20, 0x70, 0x60, 0x01, 0x20, 0x70, 0xBD + .byte 0x32, 0x69, 0x23, 0x68, 0x02, 0x20, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFD, 0xA0, 0x60, 0x20, 0x69 + .byte 0x01, 0x1C, 0x80, 0x78, 0x1A, 0x31, 0xC0, 0x00, 0x08, 0x18, 0x8D, 0xF7, 0x9F, 0xFF, 0x00, 0x28 + .byte 0x0A, 0xD0, 0x21, 0x69, 0x20, 0x1C, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0x14, 0x30, 0xC9, 0x00 + .byte 0x51, 0x18, 0x8E, 0xF7, 0x15, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x03, 0x21, 0x8D, 0xF7 + .byte 0xFD, 0xFE, 0x21, 0x1C, 0xA0, 0x68, 0x14, 0x31, 0xFF, 0xF7, 0x38, 0xFD, 0x13, 0x48, 0xA1, 0x68 + .byte 0x22, 0x68, 0x80, 0xF7, 0x6F, 0xFC, 0xE0, 0x60, 0x04, 0x20, 0x28, 0x60, 0x18, 0xE0, 0x20, 0x1C + .byte 0x0C, 0x30, 0xFF, 0xF7, 0x37, 0xFF, 0x00, 0x28, 0x12, 0xD0, 0xA0, 0x68, 0xFF, 0xF7, 0x3A, 0xFD + .byte 0x00, 0x28, 0x08, 0xD1, 0x21, 0x69, 0xA0, 0x68, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0xC9, 0x00 + .byte 0x51, 0x18, 0xFF, 0xF7, 0x3B, 0xFD, 0xA0, 0x68, 0xFF, 0xF7, 0x0E, 0xFD, 0x00, 0x20, 0x28, 0x60 +_02085990: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_02085994: .word 0x020FCAA8 +_02085998: + .byte 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0xCA, 0x0F, 0x02 + + thumb_func_start sub_020859A0 +sub_020859A0: ; 0x020859A0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + bl sub_0208578C + add r0, r5, #0x0 + bl sub_0200627C + ldr r0, [r4, #0x0] + bl sub_020168D0 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_020859C0 +sub_020859C0: ; 0x020859C0 + push {r3-r7, lr} + mov r2, #0x2 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x35 + lsl r2, r2, #0x12 + bl sub_0201681C + mov r0, #0x35 + bl sub_02230F3C + bl sub_0222F7E0 + ldr r1, _02085BA0 ; =0x0000042C + add r0, r5, #0x0 + mov r2, #0x35 + bl sub_02006268 + ldr r2, _02085BA0 ; =0x0000042C + mov r1, #0x0 + add r4, r0, #0x0 + blx sub_020DF4A4 + bl sub_0222E2BC + mov r1, #0x23 + lsl r1, r1, #0x4 + str r0, [r4, r1] + add r0, r5, #0x0 + bl sub_0200628C + str r0, [r4, #0x0] + mov r0, #0x35 + bl sub_020669C0 + ldr r1, _02085BA4 ; =0x00000428 + mov r2, #0xff + str r0, [r4, r1] + add r0, r4, #0x0 + add r0, #0xd4 + str r2, [r0, #0x0] + mov r0, #0x0 + sub r1, #0x10 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x20] + bl sub_02029E0C + asr r1, r0, #0x2 + lsr r1, r1, #0x1d + add r1, r0, r1 + asr r0, r1, #0x3 + add r1, r0, #0x1 + ldr r0, _02085BA8 ; =0x0000041C + str r1, [r4, r0] + ldr r1, [r4, r0] + cmp r1, #0xa + ble _02085A38 + mov r1, #0xa + str r1, [r4, r0] +_02085A38: + ldr r0, [r4, #0x0] + bl sub_02085D84 + mov r1, #0xf1 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + bl sub_02085D84 + mov r1, #0xf2 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x20] + bl sub_02029CEC + str r0, [r4, #0x64] + mov r6, #0x0 + add r5, r4, #0x0 + mov r7, #0xff +_02085A60: + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + ldr r0, [r0, #0x20] + bl sub_02029C8C + str r7, [r5, #0x4] + str r0, [r5, #0x8] + add r6, r6, #0x1 + add r5, #0x8 + cmp r6, #0xc + blt _02085A60 + mov r5, #0x0 + add r6, r5, #0x0 + mov r7, #0xa1 +_02085A7C: + ldr r0, [r4, #0x0] + add r0, r0, r6 + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _02085A9A + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020671BC + cmp r0, #0x0 + beq _02085A9A + lsl r0, r0, #0x3 + add r0, r4, r0 + sub r0, r0, #0x4 + str r5, [r0, #0x0] +_02085A9A: + add r5, r5, #0x1 + add r6, r6, #0x4 + cmp r5, #0x6 + blt _02085A7C + mov r0, #0x35 + bl sub_02016B94 + add r1, r4, #0x0 + add r1, #0xe4 + str r0, [r1, #0x0] + mov r0, #0x40 + mov r1, #0x35 + bl sub_0201C24C + mov r0, #0x35 + bl sub_02002FD0 + add r1, r4, #0x0 + add r1, #0xe8 + str r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_020038F0 + add r0, r4, #0x0 + add r0, #0xe8 + mov r2, #0x2 + ldr r0, [r0, #0x0] + mov r1, #0x0 + lsl r2, r2, #0x8 + mov r3, #0x35 + bl sub_02003008 + add r0, r4, #0x0 + add r0, #0xe8 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r2, r1, #0x9 + mov r3, #0x35 + bl sub_02003008 + add r0, r4, #0x0 + add r0, #0xe8 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r2, r1, #0x8 + mov r3, #0x35 + bl sub_02003008 + add r0, r4, #0x0 + add r0, #0xe8 + mov r2, #0x2 + ldr r0, [r0, #0x0] + mov r1, #0x3 + lsl r2, r2, #0x8 + mov r3, #0x35 + bl sub_02003008 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + bl sub_02230F80 + bl sub_0222E360 + mov r0, #0x35 + bl sub_02006D98 + mov r1, #0x69 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x35 + mov r1, #0x1 + mov r2, #0x0 + bl sub_02014BF4 + mov r1, #0x97 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x24] + bl sub_02025084 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r1, r4, #0x0 + add r0, #0xe4 + add r1, #0xe8 + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + add r2, r5, #0x0 + bl sub_0222ED34 + add r0, r4, #0x0 + add r1, r4, #0x0 + add r0, #0xe4 + add r1, #0xe8 + ldr r0, [r0, #0x0] + ldr r1, [r1, #0x0] + add r2, r5, #0x0 + bl sub_0222EDBC + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_0222E7E8 + bl sub_0201CC08 + mov r0, #0x4 + bl sub_0201CC24 + add r0, r4, #0x0 + bl sub_022300E4 + ldr r0, _02085BAC ; =0x022310CD + add r1, r4, #0x0 + bl sub_02015F10 + add r0, r4, #0x0 + bl sub_0222DD1C + mov r1, #0x0 + mov r0, #0x3b + add r2, r1, #0x0 + bl sub_0200433C + mov r0, #0x1 + pop {r3-r7, pc} + nop +_02085BA0: .word 0x0000042C +_02085BA4: .word 0x00000428 +_02085BA8: .word 0x0000041C +_02085BAC: .word 0x022310CD + + thumb_func_start sub_02085BB0 +sub_02085BB0: ; 0x02085BB0 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_02006278 + ldr r1, [r5, #0x0] + add r4, r0, #0x0 + cmp r1, #0x0 + beq _02085BCA + cmp r1, #0x1 + beq _02085BD8 + cmp r1, #0x2 + beq _02085BF6 + b _02085C02 +_02085BCA: + bl sub_0200E308 + cmp r0, #0x1 + bne _02085C02 + mov r0, #0x1 + str r0, [r5, #0x0] + b _02085C02 +_02085BD8: + bl sub_0222F990 + cmp r0, #0x0 + bne _02085BE6 + mov r0, #0x2 + str r0, [r5, #0x0] + b _02085C02 +_02085BE6: + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02006ED4 + bl sub_0222E3A0 + b _02085C02 +_02085BF6: + bl sub_0200E308 + cmp r0, #0x1 + bne _02085C02 + mov r0, #0x1 + pop {r3-r5, pc} +_02085C02: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02085C08 +sub_02085C08: ; 0x02085C08 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x8 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201E74C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E74C + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201E74C + mov r0, #0x8 + mov r1, #0x0 + bl sub_0201E74C + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x2 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x3 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x4 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x5 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x6 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + mov r1, #0x7 + bl sub_020178A0 + add r0, r4, #0x0 + add r0, #0xe4 + ldr r0, [r0, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + mov r1, #0x0 + bl sub_02003038 + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + mov r1, #0x1 + bl sub_02003038 + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + mov r1, #0x2 + bl sub_02003038 + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + mov r1, #0x3 + bl sub_02003038 + add r0, r4, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + bl sub_02002FEC + mov r1, #0xf1 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + ldr r0, [r4, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl sub_02085D8C + ldr r0, _02085D64 ; =0x00000428 + ldr r0, [r4, r0] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_0222DAEC + mov r0, #0x73 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_0202212C + mov r0, #0x69 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_020072E8 + mov r0, #0x97 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl sub_02014C28 + add r0, r4, #0x0 + bl sub_0222DD38 + add r0, r4, #0x0 + add r0, #0xd4 + bl sub_0222E874 + bl sub_0201C29C + mov r0, #0x23 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl sub_020223BC + mov r0, #0x35 + bl sub_02230F70 + add r0, r5, #0x0 + bl sub_0200627C + bl sub_0201CD04 + mov r0, #0x35 + bl sub_020168D0 + ldr r0, _02085D68 ; =0x00000008 + bl sub_02005F60 + mov r0, #0x1 + pop {r3-r5, pc} + nop +_02085D64: .word 0x00000428 +_02085D68: .word 0x00000008 + + thumb_func_start sub_02085D6C +sub_02085D6C: ; 0x02085D6C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, r1 + bge _02085D7C + bl sub_02020C2C + mov r1, #0x0 +_02085D7C: + lsl r0, r1, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x4] + pop {r4, pc} + + thumb_func_start sub_02085D84 +sub_02085D84: ; 0x02085D84 + add r0, #0x2c + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02085D8C +sub_02085D8C: ; 0x02085D8C + add r0, #0x2c + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02085D94 +sub_02085D94: ; 0x02085D94 + add r0, #0x2d + ldrb r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02085D9C +sub_02085D9C: ; 0x02085D9C + add r0, #0x2d + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02085DA4 +sub_02085DA4: ; 0x02085DA4 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_0204652C + add r6, r0, #0x0 + add r0, r5, #0x0 + ldr r7, [r6, #0x8] + bl sub_02046528 + str r0, [sp, #0x4] + ldr r0, [r6, #0x14] + cmp r0, #0x6 + bls _02085DC2 + b _02085F38 +_02085DC2: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r4, r1, #0 + lsl r0, r5, #0x1 + lsl r0, r7, #0x1 + lsl r6, r2, #0x2 + lsl r6, r2, #0x3 + lsl r4, r0, #0x5 + lsl r0, r2, #0x5 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r6, #0x10] + bl sub_02029C80 + str r0, [r7, #0x20] + add r0, r7, #0x0 + mov r1, #0x0 + bl sub_02085D8C + ldr r0, [r6, #0x10] + bl sub_0206BB1C + str r0, [r7, #0x1c] + bl sub_0206B9AC + mov r4, #0x0 + str r0, [sp, #0x0] + str r0, [r7, #0x0] + cmp r0, #0x0 + ble _02085E1E + add r5, r7, #0x0 +_02085E0A: + ldr r0, [r7, #0x1c] + add r1, r4, #0x0 + bl sub_0206B9B0 + str r0, [r5, #0x4] + ldr r0, [sp, #0x0] + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r0 + blt _02085E0A +_02085E1E: + cmp r4, #0x6 + bge _02085E32 + lsl r0, r4, #0x2 + add r1, r7, r0 + mov r0, #0x0 +_02085E28: + add r4, r4, #0x1 + str r0, [r1, #0x4] + add r1, r1, #0x4 + cmp r4, #0x6 + blt _02085E28 +_02085E32: + mov r0, #0x1 + str r0, [r6, #0x14] + b _02085F38 +_02085E38: + .byte 0x41, 0x49, 0x28, 0x1C, 0x3A, 0x1C, 0xC0, 0xF7 + .byte 0x5F, 0xFB, 0x02, 0x20, 0x70, 0x61, 0x77, 0xE0, 0xB0, 0x68, 0xFF, 0xF7, 0xA3, 0xFF, 0x00, 0x28 + .byte 0x03, 0xD0, 0x01, 0x28, 0x04, 0xD0, 0x9A, 0xF7, 0xE9, 0xFE, 0x05, 0x20, 0x70, 0x61, 0x6B, 0xE0 + .byte 0x03, 0x20, 0x70, 0x61, 0x68, 0xE0, 0xF4, 0x68, 0xF8, 0x69, 0x20, 0x60, 0x30, 0x69, 0xE9, 0xF7 + .byte 0x73, 0xF9, 0x60, 0x60, 0x30, 0x69, 0x9F, 0xF7, 0xDF, 0xFC, 0xA0, 0x60, 0x20, 0x1C, 0x00, 0x21 + .byte 0x22, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x0F, 0x21, 0x20, 0x30 + .byte 0x01, 0x70, 0x78, 0x6A, 0x2B, 0x49, 0xE0, 0x60, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x30, 0xFB + .byte 0x04, 0x20, 0x70, 0x61, 0x48, 0xE0, 0xB0, 0x68, 0xF4, 0x68, 0xFF, 0xF7, 0x6B, 0xFF, 0x40, 0x1C + .byte 0x02, 0x90, 0x22, 0x34, 0x21, 0x78, 0x07, 0x29, 0x29, 0xD0, 0xB0, 0x68, 0xFF, 0xF7, 0x56, 0xFF + .byte 0xA1, 0x21, 0x02, 0xAA, 0x05, 0x1C, 0xE1, 0xF7, 0xB3, 0xFC, 0x02, 0x99, 0x38, 0x6A, 0x49, 0x1E + .byte 0xA3, 0xF7, 0xDC, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0xAA, 0x21, 0xE1, 0xF7, 0xA9, 0xFC, 0x02, 0x99 + .byte 0x38, 0x6A, 0x49, 0x1E, 0xA3, 0xF7, 0xD2, 0xFE, 0x00, 0x21, 0xA3, 0xF7, 0xED, 0xFE, 0xA3, 0xF7 + .byte 0xF7, 0xFE, 0x00, 0x06, 0x00, 0x0E, 0x00, 0xF0, 0x6B, 0xF8, 0x04, 0x1C, 0x01, 0x98, 0xC0, 0x68 + .byte 0x9C, 0xF7, 0x00, 0xFB, 0x22, 0x06, 0x29, 0x1C, 0x12, 0x0E, 0xDB, 0xF7, 0x45, 0xFC, 0x01, 0x20 + .byte 0x70, 0x61, 0x11, 0xE0, 0x28, 0x1C, 0xC5, 0xF7, 0x35, 0xF8, 0x06, 0x20, 0x70, 0x61, 0x0B, 0xE0 + .byte 0xF0, 0x68, 0x90, 0xF7, 0x79, 0xFD, 0xB0, 0x68, 0x90, 0xF7, 0x76, 0xFD, 0x30, 0x1C, 0x90, 0xF7 + .byte 0x73, 0xFD, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD +_02085F38: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02085F40: + .byte 0xD8, 0xCA, 0x0F, 0x02, 0xDC, 0x96, 0x0F, 0x02 + + thumb_func_start sub_02085F48 +sub_02085F48: ; 0x02085F48 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl sub_020169D8 + add r4, r0, #0x0 + add r2, r4, #0x0 + mov r1, #0x18 + mov r0, #0x0 +_02085F5E: + strb r0, [r2, #0x0] + add r2, r2, #0x1 + sub r1, r1, #0x1 + bne _02085F5E + mov r0, #0xb + mov r1, #0x30 + str r5, [r4, #0x10] + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x30 + str r0, [r4, #0x8] + blx sub_020DF4A4 + add r0, r5, #0x0 + bl sub_02023900 + ldr r1, [r4, #0x8] + str r0, [r1, #0x24] + ldr r0, [r4, #0x8] + mov r1, #0x40 + str r5, [r0, #0x28] + mov r0, #0xb + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + str r0, [r4, #0xc] + blx sub_020DF4A4 + ldr r1, _02085FA8 ; =sub_02085DA4 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + nop +_02085FA8: .word sub_02085DA4 + 1 + + thumb_func_start sub_02085FAC +sub_02085FAC: ; 0x02085FAC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02085FC8 ; =0x0000032A + cmp r4, r0 + blo _02085FBA + bl sub_02020C2C +_02085FBA: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02085FCC ; =0x020FCAE8 + ldrh r0, [r0, r1] + pop {r4, pc} + nop +_02085FC8: .word 0x0000032A +_02085FCC: .word 0x020FCAE8 + + thumb_func_start sub_02085FD0 +sub_02085FD0: ; 0x02085FD0 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02085FEC ; =0x0000032A + cmp r4, r0 + blo _02085FDE + bl sub_02020C2C +_02085FDE: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02085FF0 ; =0x020FCAEA + ldrb r0, [r0, r1] + pop {r4, pc} + nop +_02085FEC: .word 0x0000032A +_02085FF0: .word 0x020FCAEA + + thumb_func_start sub_02085FF4 +sub_02085FF4: ; 0x02085FF4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02086010 ; =0x0000032A + cmp r4, r0 + blo _02086002 + bl sub_02020C2C +_02086002: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02086014 ; =0x020FCAEC + ldrb r0, [r0, r1] + pop {r4, pc} + nop +_02086010: .word 0x0000032A +_02086014: .word 0x020FCAEC + + thumb_func_start sub_02086018 +sub_02086018: ; 0x02086018 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02086034 ; =0x0000032A + cmp r4, r0 + blo _02086026 + bl sub_02020C2C +_02086026: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02086038 ; =0x020FCAED + ldrb r0, [r0, r1] + pop {r4, pc} + nop +_02086034: .word 0x0000032A +_02086038: .word 0x020FCAED + + thumb_func_start sub_0208603C +sub_0208603C: ; 0x0208603C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02086058 ; =0x0000032A + cmp r4, r0 + blo _0208604A + bl sub_02020C2C +_0208604A: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _0208605C ; =0x020FCAEE + ldrh r0, [r0, r1] + pop {r4, pc} + nop +_02086058: .word 0x0000032A +_0208605C: .word 0x020FCAEE + + thumb_func_start sub_02086060 +sub_02086060: ; 0x02086060 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0208607C ; =0x0000032A + cmp r4, r0 + blo _0208606E + bl sub_02020C2C +_0208606E: + mov r0, #0xa + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02086080 ; =0x020FCAF0 + ldrb r0, [r0, r1] + pop {r4, pc} + nop +_0208607C: .word 0x0000032A +_02086080: .word 0x020FCAF0 + + thumb_func_start sub_02086084 +sub_02086084: ; 0x02086084 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + bl sub_02015F1C + mov r2, #0x1 + mov r0, #0x3 + mov r1, #0x47 + lsl r2, r2, #0x12 + bl sub_0201681C + add r0, r5, #0x0 + mov r1, #0x80 + mov r2, #0x47 + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x80 + add r4, r0, #0x0 + blx sub_020DF4A4 + add r0, r5, #0x0 + bl sub_0200628C + str r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl sub_02024FF4 + str r0, [r4, #0x10] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl sub_02025084 + str r0, [r4, #0x14] + bl sub_02086468 + str r0, [r4, #0x38] + mov r0, #0x47 + bl sub_02006D98 + str r0, [r4, #0x3c] + mov r0, #0x47 + bl sub_02016B94 + str r0, [r4, #0x4] + mov r0, #0x40 + mov r1, #0x47 + bl sub_0201C24C + mov r0, #0x47 + mov r1, #0x1 + mov r2, #0x0 + bl sub_02014BF4 + str r0, [r4, #0x54] + mov r0, #0x47 + bl sub_02002FD0 + str r0, [r4, #0x8] + mov r1, #0x1 + bl sub_020038F0 + mov r2, #0x2 + ldr r0, [r4, #0x8] + mov r1, #0x0 + lsl r2, r2, #0x8 + mov r3, #0x47 + bl sub_02003008 + mov r1, #0x2 + ldr r0, [r4, #0x8] + lsl r2, r1, #0x8 + mov r3, #0x47 + bl sub_02003008 + mov r1, #0x1 + ldr r0, [r4, #0x8] + lsl r2, r1, #0x9 + mov r3, #0x47 + bl sub_02003008 + mov r2, #0x2 + ldr r0, [r4, #0x8] + mov r1, #0x3 + lsl r2, r2, #0x8 + mov r3, #0x47 + bl sub_02003008 + bl sub_02086414 + bl sub_0208643C + bl sub_0208650C + ldr r0, [r4, #0x4] + bl sub_0208654C + add r0, r4, #0x4 + bl sub_02086E48 + bl sub_0200541C + ldr r0, _02086164 ; =sub_02086664 + add r1, r4, #0x0 + bl sub_02015F10 + mov r0, #0x1 + pop {r3-r5, pc} + nop +_02086164: .word sub_02086664 + 1 + + thumb_func_start sub_02086168 +sub_02086168: ; 0x02086168 + push {r3-r5, lr} + add r5, r1, #0x0 + bl sub_02006278 + ldr r1, [r5, #0x0] + add r4, r0, #0x0 + cmp r1, #0x0 + beq _0208617E + cmp r1, #0x1 + beq _020861AA + b _020861C6 +_0208617E: + bl sub_0200E308 + cmp r0, #0x1 + bne _0208618C + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] +_0208618C: + ldr r0, [r4, #0x0] + mov r1, #0x5 + ldr r0, [r0, #0xc] + mov r2, #0x0 + bl sub_020671BC + ldr r1, _020861D8 ; =0x000001EA + cmp r0, r1 + bne _020861A4 + mov r0, #0x1 + str r0, [r4, #0x58] + b _020861D2 +_020861A4: + mov r0, #0x0 + str r0, [r4, #0x58] + b _020861D2 +_020861AA: + bl sub_02086FA8 + cmp r0, #0x0 + bne _020861BA + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _020861D2 +_020861BA: + ldr r0, [r4, #0x3c] + bl sub_02006ED4 + bl sub_02086698 + b _020861D2 +_020861C6: + bl sub_0200E308 + cmp r0, #0x1 + bne _020861D2 + mov r0, #0x1 + pop {r3-r5, pc} +_020861D2: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_020861D8: .word 0x000001EA + + thumb_func_start sub_020861DC +sub_020861DC: ; 0x020861DC + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + ldr r0, [r4, #0x38] + bl sub_020223BC + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x3 + mov r1, #0x0 + bl sub_0201E6E4 + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201E74C + ldr r0, [r4, #0x8] + mov r1, #0x0 + bl sub_02003038 + ldr r0, [r4, #0x8] + mov r1, #0x2 + bl sub_02003038 + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl sub_02003038 + ldr r0, [r4, #0x8] + mov r1, #0x3 + bl sub_02003038 + ldr r0, [r4, #0x8] + bl sub_02002FEC + ldr r0, [r4, #0x4] + mov r1, #0x1 + bl sub_020178A0 + ldr r0, [r4, #0x4] + mov r1, #0x2 + bl sub_020178A0 + ldr r0, [r4, #0x4] + mov r1, #0x3 + bl sub_020178A0 + ldr r0, [r4, #0x4] + mov r1, #0x4 + bl sub_020178A0 + ldr r0, [r4, #0x4] + bl sub_02016A18 + bl sub_0201C29C + ldr r0, [r4, #0x3c] + bl sub_020072E8 + ldr r0, [r4, #0x54] + bl sub_02014C28 + add r0, r4, #0x4 + bl sub_02086ED4 + add r0, r5, #0x0 + bl sub_0200627C + mov r0, #0x47 + bl sub_020168D0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02086280 +sub_02086280: ; 0x02086280 + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x6 + bls _02086294 + b _020863CE +_02086294: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r2, r4, #0 + lsl r4, r6, #0 + lsl r0, r3, #0x2 + lsl r4, r6, #0x3 + lsl r4, r2, #0x4 + lsl r2, r4, #0x4 + ldr r0, [r4, #0xc] + mov r1, #0xb + bl sub_021ED940 + add r0, r5, #0x0 + bl sub_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020863CE +_020862C4: + .byte 0x43, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x19, 0xF9, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x7B, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0x26, 0xF9, 0x06, 0x1C, 0xE5, 0x68 + .byte 0xB1, 0xF7, 0x64, 0xFA, 0x9D, 0xF7, 0x06, 0xFB, 0x07, 0x1C, 0xF0, 0x69, 0x00, 0x68, 0xAE, 0xF7 + .byte 0x99, 0xFA, 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x28, 0x1C, 0x4C, 0x21, 0x02, 0xAA, 0xE1, 0xF7 + .byte 0x97, 0xFA, 0x0B, 0x20, 0x00, 0x90, 0x01, 0x9B, 0x28, 0x1C, 0x39, 0x1C, 0x06, 0x22, 0xFA, 0xF7 + .byte 0xC5, 0xFA, 0x28, 0x1C, 0xB2, 0x21, 0x00, 0x22, 0xE1, 0xF7, 0x8A, 0xFA, 0x30, 0x1C, 0xB1, 0xF7 + .byte 0x45, 0xFA, 0xE1, 0x68, 0xA5, 0xF7, 0x0E, 0xFF, 0x60, 0x68, 0x01, 0x28, 0x02, 0xD1, 0x03, 0x20 + .byte 0x20, 0x60, 0x4C, 0xE0, 0x05, 0x20, 0x20, 0x60, 0x49, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0xF4, 0xF8 + .byte 0x06, 0x1C, 0xE0, 0x68, 0x05, 0x21, 0x00, 0x22, 0xE0, 0xF7, 0x38, 0xFF, 0x07, 0x1C, 0x30, 0x1C + .byte 0xB1, 0xF7, 0x2C, 0xFA, 0x9D, 0xF7, 0xD4, 0xFA, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x21, 0x3A, 0x1C + .byte 0x0A, 0x23, 0xF1, 0xF7, 0x8F, 0xFB, 0xA0, 0x60, 0xE0, 0x68, 0x6F, 0x21, 0x00, 0x22, 0xE0, 0xF7 + .byte 0x25, 0xFF, 0xA1, 0x68, 0x00, 0x22, 0x08, 0x61, 0xE0, 0x68, 0x70, 0x21, 0xE0, 0xF7, 0x1E, 0xFF + .byte 0xA1, 0x68, 0x88, 0x60, 0x14, 0x49, 0xA2, 0x68, 0x28, 0x1C, 0xC0, 0xF7, 0xB9, 0xF8, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0xA2, 0x68, 0x50, 0x69, 0x00, 0x28, 0x04, 0xD1, 0xE0, 0x68 + .byte 0x92, 0x69, 0x77, 0x21, 0xE1, 0xF7, 0x44, 0xFA, 0xA0, 0x68, 0xF1, 0xF7, 0x8B, 0xFB, 0x20, 0x68 + .byte 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x28, 0x1C, 0xC4, 0xF7, 0xE4, 0xFD, 0x20, 0x68, 0x40, 0x1C + .byte 0x20, 0x60, 0x04, 0xE0, 0x90, 0xF7, 0x28, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD +_020863CE: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} +_020863D4: + .byte 0x14, 0xCE, 0x0F, 0x02, 0xFC, 0xA5, 0x0F, 0x02 + + thumb_func_start sub_020863DC +sub_020863DC: ; 0x020863DC + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl sub_020169D8 + add r2, r0, #0x0 + add r3, r2, #0x0 + mov r1, #0x1c + mov r0, #0x0 +_020863F2: + strb r0, [r3, #0x0] + add r3, r3, #0x1 + sub r1, r1, #0x1 + bne _020863F2 + add r3, r2, #0x0 + add r3, #0xc + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r1, _02086410 ; =sub_02086280 + add r0, r5, #0x0 + bl sub_0204640C + pop {r3-r5, pc} + .balign 4 +_02086410: .word sub_02086280 + 1 + + thumb_func_start sub_02086414 +sub_02086414: ; 0x02086414 + push {r3, lr} + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02086434 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _02086438 ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + pop {r3, pc} + .balign 4 +_02086434: .word 0xFFFFE0FF +_02086438: .word 0x04001000 + + thumb_func_start sub_0208643C +sub_0208643C: ; 0x0208643C + push {r3, lr} + mov r0, #0x7 + str r0, [sp, #0x0] + ldr r0, _02086460 ; =0x04000050 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0xb + blx sub_020C74DC + mov r0, #0x8 + str r0, [sp, #0x0] + ldr r0, _02086464 ; =0x04001050 + mov r1, #0x0 + mov r2, #0xe + mov r3, #0x7 + blx sub_020C74DC + pop {r3, pc} + .balign 4 +_02086460: .word 0x04000050 +_02086464: .word 0x04001050 + + thumb_func_start sub_02086468 +sub_02086468: ; 0x02086468 + push {r3, lr} + sub sp, #0x8 + mov r2, #0x2 + mov r1, #0x0 + ldr r0, _02086484 ; =sub_02086488 + str r2, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x47 + add r3, r1, #0x0 + bl sub_02022318 + add sp, #0x8 + pop {r3, pc} + nop +_02086484: .word sub_02086488 + 1 + + thumb_func_start sub_02086488 +sub_02086488: ; 0x02086488 + push {r3, lr} + mov r0, #0x1 + add r1, r0, #0x0 + bl sub_0201E6E4 + ldr r0, _020864F4 ; =0x04000008 + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strh r1, [r0, #0x0] + add r0, #0x58 + ldrh r2, [r0, #0x0] + ldr r1, _020864F8 ; =0xFFFFCFFD + and r2, r1 + strh r2, [r0, #0x0] + add r2, r1, #0x2 + ldrh r3, [r0, #0x0] + add r1, r1, #0x2 + and r3, r2 + mov r2, #0x10 + orr r2, r3 + strh r2, [r0, #0x0] + ldrh r3, [r0, #0x0] + ldr r2, _020864FC ; =0x0000CFFB + and r3, r2 + strh r3, [r0, #0x0] + ldrh r3, [r0, #0x0] + sub r2, #0x1c + and r3, r1 + mov r1, #0x8 + orr r1, r3 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + and r1, r2 + strh r1, [r0, #0x0] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + blx sub_020C7C28 + mov r0, #0x0 + ldr r2, _02086500 ; =0x00007FFF + add r1, r0, #0x0 + mov r3, #0x3f + str r0, [sp, #0x0] + blx sub_020C7B3C + ldr r1, _02086504 ; =0xBFFF0000 + ldr r0, _02086508 ; =0x04000580 + str r1, [r0, #0x0] + pop {r3, pc} + .balign 4 +_020864F4: .word 0x04000008 +_020864F8: .word 0xFFFFCFFD +_020864FC: .word 0x0000CFFB +_02086500: .word 0x00007FFF +_02086504: .word 0xBFFF0000 +_02086508: .word 0x04000580 + + thumb_func_start sub_0208650C +sub_0208650C: ; 0x0208650C + push {r3-r5, lr} + ldr r3, _02086544 ; =0x021064B8 + mov r0, #0x2 + mov r1, #0x0 + ldr r3, [r3, #0x0] + lsl r0, r0, #0xe + add r2, r1, #0x0 + blx r3 + ldr r3, _02086548 ; =0x021064C0 + mov r1, #0x0 + add r4, r0, #0x0 + ldr r3, [r3, #0x0] + mov r0, #0x80 + add r2, r1, #0x0 + blx r3 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _02086534 + bl sub_02020C2C +_02086534: + cmp r5, #0x0 + bne _0208653C + bl sub_02020C2C +_0208653C: + bl sub_02012CC8 + pop {r3-r5, pc} + nop +_02086544: .word 0x021064B8 +_02086548: .word 0x021064C0 + + thumb_func_start sub_0208654C +sub_0208654C: ; 0x0208654C + push {r3-r5, lr} + sub sp, #0xa8 + add r4, r0, #0x0 + bl sub_0201E6D8 + ldr r5, _02086650 ; =0x020FCEBC + add r3, sp, #0x2c + mov r2, #0x5 +_0208655C: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0208655C + add r0, sp, #0x2c + bl sub_0201E66C + mov r1, #0x6 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x18 + lsl r2, r2, #0x12 + blx sub_020CE1FC + mov r1, #0x62 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + blx sub_020CE1FC + mov r1, #0x19 + mov r2, #0x1 + mov r0, #0x0 + lsl r1, r1, #0x16 + lsl r2, r2, #0x12 + blx sub_020CE1FC + mov r1, #0x66 + mov r2, #0x2 + mov r0, #0x0 + lsl r1, r1, #0x14 + lsl r2, r2, #0x10 + blx sub_020CE1FC + ldr r5, _02086654 ; =0x020FCE24 + add r3, sp, #0x1c + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _02086658 ; =0x020FCF84 + add r3, sp, #0x54 + mov r2, #0xa +_020865BC: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _020865BC + ldr r0, [r5, #0x0] + mov r1, #0x1 + str r0, [r3, #0x0] + add r0, r4, #0x0 + add r2, sp, #0x54 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x2 + add r2, sp, #0x70 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x3 + add r2, sp, #0x8c + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x1 + bl sub_02018744 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02018744 + add r0, r4, #0x0 + mov r1, #0x3 + bl sub_02018744 + ldr r1, _0208665C ; =0x04000008 + mov r0, #0x3 + ldrh r2, [r1, #0x0] + bic r2, r0 + mov r0, #0x1 + orr r2, r0 + strh r2, [r1, #0x0] + add r1, r0, #0x0 + bl sub_0201E6E4 + bl sub_0201E788 + mov r0, #0x10 + mov r1, #0x1 + bl sub_0201E6E4 + ldr r5, _02086660 ; =0x020FCE60 + add r3, sp, #0x0 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x4 + str r0, [r3, #0x0] + add r0, r4, #0x0 + mov r3, #0x0 + bl sub_02016C18 + add r0, r4, #0x0 + mov r1, #0x4 + bl sub_02018744 + add sp, #0xa8 + pop {r3-r5, pc} + .balign 4 +_02086650: .word 0x020FCEBC +_02086654: .word 0x020FCE24 +_02086658: .word 0x020FCF84 +_0208665C: .word 0x04000008 +_02086660: .word 0x020FCE60 + + thumb_func_start sub_02086664 +sub_02086664: ; 0x02086664 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x3c] + bl sub_020081C4 + bl sub_0201C30C + bl sub_0200BC30 + ldr r0, [r4, #0x8] + bl sub_0200372C + ldr r0, [r4, #0x4] + bl sub_0201AB60 + ldr r3, _02086690 ; =0x027E0000 + ldr r1, _02086694 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + pop {r4, pc} + .balign 4 +_02086690: .word 0x027E0000 +_02086694: .word 0x00003FF8 + + thumb_func_start sub_02086698 +sub_02086698: ; 0x02086698 + push {r3, lr} + bl sub_020222AC + bl sub_02013364 + cmp r0, #0x0 + ble _020866AE + bl sub_020222AC + blx sub_020B02C8 +_020866AE: + bl sub_02013388 + mov r0, #0x1 + mov r1, #0x0 + bl sub_020222B4 + pop {r3, pc} + + thumb_func_start sub_020866BC +sub_020866BC: ; 0x020866BC + push {lr} + sub sp, #0xc + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x47 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + add sp, #0xc + pop {pc} + .balign 4 + + thumb_func_start sub_020866DC +sub_020866DC: ; 0x020866DC + push {lr} + sub sp, #0xc + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x47 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + add sp, #0xc + pop {pc} + + thumb_func_start sub_020866FC +sub_020866FC: ; 0x020866FC + push {r3-r6, lr} + sub sp, #0xc + add r6, r2, #0x0 + add r4, r1, #0x0 + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + mov r1, #0x47 + str r1, [sp, #0x4] + mov r1, #0x1 + mov r2, #0x14 + mov r3, #0xf + add r5, r0, #0x0 + bl sub_0200CD68 + add r0, r6, #0x0 + bl sub_0200CD64 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0xc0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x26 + mov r3, #0x47 + bl sub_020030E8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x47 + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x32 + mov r3, #0xd + bl sub_0200CB00 + bl sub_0200CAFC + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0xd0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x26 + mov r3, #0x47 + bl sub_020030E8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0xe0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0xe + mov r2, #0x7 + mov r3, #0x47 + bl sub_020030E8 + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_02086784 +sub_02086784: ; 0x02086784 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r1, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl sub_0201901C + ldr r0, [sp, #0x28] + lsl r2, r4, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x2c] + lsl r3, r6, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + ldr r0, [sp, #0x30] + add r1, r5, #0x0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + ldr r0, [sp, #0x38] + lsr r2, r2, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + ldr r0, [sp, #0x34] + lsr r3, r3, #0x18 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + add r0, r7, #0x0 + bl sub_02019064 + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x14 + mov r3, #0xc + bl sub_0200D0BC + add r0, r5, #0x0 + mov r1, #0xf + bl sub_02019620 + add r0, r5, #0x0 + bl sub_020191D0 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_020867EC +sub_020867EC: ; 0x020867EC + push {r3-r7, lr} + sub sp, #0x18 + add r4, r1, #0x0 + mov r1, #0xf + str r0, [sp, #0xc] + str r2, [sp, #0x10] + add r6, r3, #0x0 + bl sub_02019620 + ldr r2, _02086874 ; =0x0000013F + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0x47 + bl sub_0200A86C + add r7, r0, #0x0 + mov r0, #0x47 + bl sub_0200AA80 + add r5, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl sub_0200A914 + str r0, [sp, #0x14] + mov r0, #0xff + mov r1, #0x47 + bl sub_020219F4 + add r4, r0, #0x0 + ldr r0, [sp, #0x10] + bl sub_020690E4 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_0200AC60 + ldr r2, [sp, #0x14] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_0200B7B8 + mov r3, #0x0 + str r3, [sp, #0x0] + str r6, [sp, #0x4] + ldr r0, [sp, #0xc] + mov r1, #0x1 + add r2, r4, #0x0 + str r3, [sp, #0x8] + bl sub_0201BD84 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl sub_0200A8B8 + add r0, r4, #0x0 + bl sub_02021A20 + ldr r0, [sp, #0x14] + bl sub_02021A20 + add r0, r5, #0x0 + bl sub_0200AB18 + add r0, r6, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_02086874: .word 0x0000013F + + thumb_func_start sub_02086878 +sub_02086878: ; 0x02086878 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r0, r2, #0x0 + add r6, r1, #0x0 + str r2, [sp, #0x14] + add r4, r3, #0x0 + bl sub_0201901C + ldr r0, [sp, #0x3c] + ldr r3, [sp, #0x38] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x0] + ldr r0, [sp, #0x40] + lsl r2, r4, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4] + ldr r0, [sp, #0x44] + lsl r3, r3, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4c] + ldr r1, [sp, #0x14] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xc] + ldr r0, [sp, #0x48] + lsr r2, r2, #0x18 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x10] + add r0, r6, #0x0 + lsr r3, r3, #0x18 + bl sub_02019064 + mov r0, #0x2 + mov r1, #0x47 + bl sub_02012838 + str r0, [r5, #0x44] + ldr r2, _0208695C ; =0x0000013F + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0x47 + bl sub_0200A86C + add r7, r0, #0x0 + mov r4, #0x0 +_020868DE: + add r0, r7, #0x0 + add r1, r4, #0x2 + bl sub_0200A914 + add r6, r0, #0x0 + ldr r0, [r5, #0x44] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_020128A0 + add r0, r6, #0x0 + bl sub_02021A20 + add r4, r4, #0x1 + cmp r4, #0x2 + blt _020868DE + add r0, r7, #0x0 + bl sub_0200A8B8 + ldr r0, [r5, #0x44] + mov r1, #0x0 + str r0, [sp, #0x18] + add r0, sp, #0x18 + strb r1, [r0, #0x8] + ldr r1, [sp, #0x14] + mov r2, #0x2 + str r1, [sp, #0x1c] + mov r1, #0x1 + strb r1, [r0, #0x9] + strb r2, [r0, #0xa] + ldrb r3, [r0, #0xb] + mov r2, #0xf + bic r3, r2 + strb r3, [r0, #0xb] + ldrb r3, [r0, #0xb] + mov r2, #0x30 + bic r3, r2 + strb r3, [r0, #0xb] + ldrb r3, [r0, #0xb] + mov r2, #0xc0 + bic r3, r2 + mov r2, #0x40 + orr r2, r3 + strb r2, [r0, #0xb] + ldr r0, [sp, #0x14] + mov r2, #0x32 + mov r3, #0xd + bl sub_0200CCA4 + mov r0, #0x47 + str r0, [sp, #0x0] + mov r0, #0x2 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x18 + mov r1, #0x8 + add r3, r2, #0x0 + bl sub_02001C14 + str r0, [r5, #0x48] + add sp, #0x24 + pop {r4-r7, pc} + nop +_0208695C: .word 0x0000013F + + thumb_func_start sub_02086960 +sub_02086960: ; 0x02086960 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x28 + mov r1, #0x1 + bl sub_0200CCF8 + add r0, r4, #0x0 + add r0, #0x28 + bl sub_02019570 + add r0, r4, #0x0 + add r0, #0x28 + bl sub_02019178 + ldr r0, [r4, #0x48] + mov r1, #0x0 + bl sub_02001C5C + ldr r0, [r4, #0x44] + bl sub_02012870 + pop {r4, pc} + + thumb_func_start sub_0208698C +sub_0208698C: ; 0x0208698C + push {r4, lr} + add r4, r0, #0x0 + bl sub_02019570 + add r0, r4, #0x0 + bl sub_02019178 + pop {r4, pc} + + thumb_func_start sub_0208699C +sub_0208699C: ; 0x0208699C + push {r3-r5, lr} + sub sp, #0x10 + add r4, r1, #0x0 + mov r1, #0x0 + add r5, r0, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x47 + str r0, [sp, #0xc] + mov r0, #0x76 + add r2, r5, #0x0 + mov r3, #0x3 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r1, #0x1 + str r1, [sp, #0x8] + mov r0, #0x47 + str r0, [sp, #0xc] + mov r0, #0x76 + add r2, r5, #0x0 + mov r3, #0x3 + bl sub_020068C8 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x40 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + add r0, r4, #0x0 + mov r1, #0x76 + mov r2, #0x8 + mov r3, #0x47 + bl sub_020030E8 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020869F0 +sub_020869F0: ; 0x020869F0 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x47 + add r4, r1, #0x0 + str r0, [sp, #0xc] + mov r0, #0xc + mov r1, #0xa + add r2, r5, #0x0 + mov r3, #0x4 + bl sub_0200687C + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0x47 + str r0, [sp, #0xc] + mov r0, #0xc + mov r1, #0xb + add r2, r5, #0x0 + mov r3, #0x4 + bl sub_020068C8 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + mov r0, #0x0 + mov r1, #0xc + str r0, [sp, #0x8] + add r0, r4, #0x0 + add r2, r1, #0x0 + mov r3, #0x47 + bl sub_020030E8 + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start sub_02086A48 +sub_02086A48: ; 0x02086A48 + push {r4, lr} + ldr r3, _02086A60 ; =0x021064B8 + mov r2, #0x0 + ldr r3, [r3, #0x0] + blx r3 + add r4, r0, #0x0 + bl sub_0201327C + lsl r0, r4, #0x10 + lsr r0, r0, #0xd + pop {r4, pc} + nop +_02086A60: .word 0x021064B8 + + thumb_func_start sub_02086A64 +sub_02086A64: ; 0x02086A64 + push {r4, lr} + ldr r3, _02086A7C ; =0x021064C0 + mov r2, #0x0 + ldr r3, [r3, #0x0] + blx r3 + add r4, r0, #0x0 + bl sub_020132BC + lsl r0, r4, #0x10 + lsr r0, r0, #0xd + pop {r4, pc} + nop +_02086A7C: .word 0x021064C0 + + thumb_func_start sub_02086A80 +sub_02086A80: ; 0x02086A80 + push {r4, lr} + sub sp, #0x8 + mov r1, #0x12 + lsl r1, r1, #0xa + add r4, r0, #0x0 + bl sub_02016998 + add r2, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r3, #0x12 + ldr r0, _02086AC0 ; =sub_02086A48 + ldr r1, _02086AC4 ; =sub_02086A64 + lsl r3, r3, #0xa + str r4, [sp, #0x4] + bl sub_02012CDC + add r4, r0, #0x0 + bl sub_0201343C + add r2, r0, #0x0 + beq _02086AB8 + mov r0, #0x1 + mov r1, #0xe1 + lsl r0, r0, #0xc + lsl r1, r1, #0xe + bl sub_0201EC94 +_02086AB8: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4, pc} + nop +_02086AC0: .word sub_02086A48 + 1 +_02086AC4: .word sub_02086A64 + 1 + + thumb_func_start sub_02086AC8 +sub_02086AC8: ; 0x02086AC8 + push {r3-r7, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + bl sub_02086A80 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r1, r7, #0x0 + add r2, r5, #0x0 + bl sub_0201318C + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0xa + mov r3, #0x1 + bl sub_02013194 + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02086AF0 +sub_02086AF0: ; 0x02086AF0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_020133E8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_02012DE4 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + + thumb_func_start sub_02086B08 +sub_02086B08: ; 0x02086B08 + push {r3} + sub sp, #0xc + add r2, sp, #0x0 + mov r1, #0x0 + str r1, [r2, #0x0] + str r1, [r2, #0x4] + str r1, [r2, #0x8] + ldr r1, [r0, #0x20] + ldr r2, [sp, #0x0] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x4] + add r1, r2, r1 + str r1, [r0, #0x28] + ldr r1, [r0, #0x20] + ldr r2, [sp, #0x4] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x8] + add r1, r2, r1 + str r1, [r0, #0x2c] + ldr r1, [r0, #0x20] + ldr r2, [sp, #0x8] + ldr r1, [r1, #0x0] + ldr r1, [r1, #0xc] + add r1, r2, r1 + str r1, [r0, #0x30] + add sp, #0xc + pop {r3} + bx lr + + thumb_func_start sub_02086B40 +sub_02086B40: ; 0x02086B40 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + bne _02086B54 + bl sub_02020C2C +_02086B54: + ldr r0, [r5, #0x0] + ldr r2, [r5, #0x4] + mov r1, #0x77 + str r0, [r4, #0x0] + str r2, [r4, #0x4] + ldr r0, [r4, #0x0] + bl sub_02086AC8 + mov r1, #0x1 + str r0, [r4, #0xc] + bl sub_02013440 + add r0, r4, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02086B70 +sub_02086B70: ; 0x02086B70 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + ldr r2, _02086B88 ; =sub_02086B08 + add r3, r4, #0x0 + bl sub_020133AC + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl sub_02013440 + pop {r4, pc} + .balign 4 +_02086B88: .word sub_02086B08 + 1 + + thumb_func_start sub_02086B8C +sub_02086B8C: ; 0x02086B8C + push {r3, lr} + ldr r0, [r0, #0xc] + bl sub_020133C8 + cmp r0, #0x0 + beq _02086B9C + mov r0, #0x1 + pop {r3, pc} +_02086B9C: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start sub_02086BA0 +sub_02086BA0: ; 0x02086BA0 + ldr r3, _02086BA4 ; =sub_02016A18 + bx r3 + .balign 4 +_02086BA4: .word sub_02016A18 + 1 + + thumb_func_start sub_02086BA8 +sub_02086BA8: ; 0x02086BA8 + push {r4-r6, lr} + sub sp, #0x38 + ldr r3, _02086C8C ; =0x020FCE9C + add r2, sp, #0x18 + add r6, r0, #0x0 + 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 r5, [r6, #0x4c] + ldr r4, [r6, #0x50] + ldr r6, [r6, #0x8] + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02086C90 ; =0x00004E20 + add r1, r5, #0x0 + str r0, [sp, #0x8] + ldr r3, [sp, #0x18] + add r0, r4, #0x0 + mov r2, #0x76 + bl sub_0200C00C + mov r0, #0x76 + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + mov r1, #0x2 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, _02086C94 ; =0x00004E21 + add r2, r4, #0x0 + str r0, [sp, #0x14] + add r0, r6, #0x0 + add r3, r5, #0x0 + bl sub_0200C0DC + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02086C98 ; =0x00004E22 + add r1, r5, #0x0 + str r0, [sp, #0x4] + ldr r3, [sp, #0x20] + add r0, r4, #0x0 + mov r2, #0x76 + bl sub_0200C124 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02086C9C ; =0x00004E23 + add r1, r5, #0x0 + str r0, [sp, #0x4] + ldr r3, [sp, #0x24] + add r0, r4, #0x0 + mov r2, #0x76 + bl sub_0200C13C + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, _02086CA0 ; =0x000061A8 + add r1, r5, #0x0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + mov r2, #0x76 + mov r3, #0x7 + bl sub_0200C00C + mov r0, #0x76 + str r0, [sp, #0x0] + mov r0, #0xa + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + mov r0, #0x1 + str r0, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, _02086CA4 ; =0x000061A9 + mov r1, #0x2 + str r0, [sp, #0x14] + add r0, r6, #0x0 + add r2, r4, #0x0 + add r3, r5, #0x0 + bl sub_0200C0DC + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02086CA8 ; =0x000061AA + add r1, r5, #0x0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r2, #0x76 + mov r3, #0x6 + bl sub_0200C124 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, _02086CAC ; =0x000061AB + add r1, r5, #0x0 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r2, #0x76 + mov r3, #0x5 + bl sub_0200C13C + add sp, #0x38 + pop {r4-r6, pc} + .balign 4 +_02086C8C: .word 0x020FCE9C +_02086C90: .word 0x00004E20 +_02086C94: .word 0x00004E21 +_02086C98: .word 0x00004E22 +_02086C9C: .word 0x00004E23 +_02086CA0: .word 0x000061A8 +_02086CA4: .word 0x000061A9 +_02086CA8: .word 0x000061AA +_02086CAC: .word 0x000061AB + + thumb_func_start sub_02086CB0 +sub_02086CB0: ; 0x02086CB0 + push {r3-r4, lr} + sub sp, #0x34 + add r4, r0, #0x0 + mov r1, #0x80 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + mov r1, #0x78 + strh r1, [r0, #0x2] + mov r1, #0x0 + strh r1, [r0, #0x4] + strh r1, [r0, #0x6] + mov r0, #0x1 + mov r2, #0x2 + str r1, [sp, #0x8] + str r1, [sp, #0xc] + str r1, [sp, #0x30] + ldr r1, _02086D4C ; =0x00004E20 + str r0, [sp, #0x10] + add r0, r1, #0x1 + str r0, [sp, #0x18] + add r0, r1, #0x2 + str r0, [sp, #0x1c] + add r0, r1, #0x3 + str r0, [sp, #0x20] + sub r0, r2, #0x3 + str r2, [sp, #0x2c] + str r1, [sp, #0x14] + str r0, [sp, #0x24] + str r0, [sp, #0x28] + ldr r0, [r4, #0x50] + ldr r1, [r4, #0x4c] + add r2, sp, #0x0 + bl sub_0200C154 + str r0, [r4, #0x6c] + bl sub_0200C5A8 + ldr r0, [r4, #0x6c] + mov r1, #0x2 + bl sub_0200C840 + mov r2, #0x0 + add r0, sp, #0x0 + add r1, r2, #0x0 + strh r2, [r0, #0x0] + sub r1, #0x10 + strh r1, [r0, #0x2] + ldr r1, _02086D50 ; =0x000061A8 + str r2, [sp, #0x2c] + add r0, r1, #0x1 + str r0, [sp, #0x18] + add r0, r1, #0x2 + str r0, [sp, #0x1c] + add r0, r1, #0x3 + str r1, [sp, #0x14] + str r0, [sp, #0x20] + ldr r0, [r4, #0x50] + ldr r1, [r4, #0x4c] + add r2, sp, #0x0 + bl sub_0200C154 + str r0, [r4, #0x70] + bl sub_0200C5A8 + mov r1, #0x90 + add r0, sp, #0x0 + strh r1, [r0, #0x2] + ldr r0, [r4, #0x50] + ldr r1, [r4, #0x4c] + add r2, sp, #0x0 + bl sub_0200C154 + str r0, [r4, #0x74] + bl sub_0200C5A8 + add sp, #0x34 + pop {r3-r4, pc} + nop +_02086D4C: .word 0x00004E20 +_02086D50: .word 0x000061A8 + + thumb_func_start sub_02086D54 +sub_02086D54: ; 0x02086D54 + push {r3-r7, lr} + add r6, r0, #0x0 + add r7, r1, #0x0 + add r4, r6, #0x0 + ldr r1, [r6, #0x78] + add r4, #0x78 + cmp r1, #0x0 + bne _02086DE6 + ldr r0, [r4, #0x4] + cmp r0, #0xa + blt _02086D74 + add r0, r1, #0x1 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + b _02086DE6 +_02086D74: + mov r1, #0x14 + add r3, r7, #0x0 + mul r3, r1 + ldr r1, _02086DF4 ; =0x020FCEE4 + lsl r2, r0, #0x1 + add r1, r1, r3 + ldrsh r1, [r2, r1] + lsl r0, r0, #0x2 + mov r5, #0x0 + mov r12, r1 + ldr r1, _02086DF8 ; =0x020FCF34 + add r1, r1, r3 + ldrsh r2, [r2, r1] + mov r1, #0x28 + add r3, r7, #0x0 + mul r3, r1 + ldr r1, _02086DFC ; =0x020FCFD8 + add r1, r1, r3 + ldr r7, [r0, r1] + ldr r1, _02086E00 ; =0x020FD078 + add r1, r1, r3 + ldr r0, [r0, r1] + str r0, [sp, #0x0] + mov r0, r12 + cmp r0, #0xff + bne _02086DAC + mov r12, r5 + add r5, r5, #0x1 +_02086DAC: + cmp r2, #0xff + bne _02086DB4 + mov r2, #0x0 + add r5, r5, #0x1 +_02086DB4: + ldr r0, [r6, #0x6c] + mov r1, r12 + bl sub_0200C82C + mov r0, #0x0 + add r1, r7, #0x0 + blx sub_020EB010 + beq _02086DD2 + ldr r0, [r6, #0x6c] + ldr r2, [sp, #0x0] + add r1, r7, #0x0 + bl sub_0200C884 + b _02086DD4 +_02086DD2: + add r5, r5, #0x1 +_02086DD4: + cmp r5, #0x3 + beq _02086DE0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02086DEE +_02086DE0: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] +_02086DE6: + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0x4] + pop {r3-r7, pc} +_02086DEE: + mov r0, #0x1 + pop {r3-r7, pc} + nop +_02086DF4: .word 0x020FCEE4 +_02086DF8: .word 0x020FCF34 +_02086DFC: .word 0x020FCFD8 +_02086E00: .word 0x020FD078 + + thumb_func_start sub_02086E04 +sub_02086E04: ; 0x02086E04 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02086D54 + cmp r0, #0x0 + bne _02086E16 + mov r0, #0x2 + pop {r3-r5, pc} +_02086E16: + cmp r4, #0x4 + ldr r0, [r5, #0x7c] + bne _02086E24 + cmp r0, #0x6 + bne _02086E2C + mov r0, #0x1 + pop {r3-r5, pc} +_02086E24: + cmp r0, #0x6 + bne _02086E2C + mov r0, #0x1 + pop {r3-r5, pc} +_02086E2C: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start sub_02086E30 +sub_02086E30: ; 0x02086E30 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x6c] + bl sub_0200C3DC + ldr r0, [r4, #0x70] + bl sub_0200C3DC + ldr r0, [r4, #0x74] + bl sub_0200C3DC + pop {r4, pc} + + thumb_func_start sub_02086E48 +sub_02086E48: ; 0x02086E48 + push {r3-r6, lr} + sub sp, #0x4c + add r4, r0, #0x0 + mov r0, #0x47 + bl sub_0200BB14 + add r2, sp, #0x2c + ldr r5, _02086EC8 ; =0x020FCE7C + str r0, [r4, #0x4c] + ldmia r5!, {r0-r1} + add r3, r2, #0x0 + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + ldr r6, _02086ECC ; =0x020FCE34 + stmia r2!, {r0-r1} + add r5, sp, #0x18 + ldmia r6!, {r0-r1} + add r2, r5, #0x0 + stmia r5!, {r0-r1} + ldmia r6!, {r0-r1} + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add r1, r3, #0x0 + str r0, [r5, #0x0] + ldr r0, [r4, #0x4c] + mov r3, #0x20 + bl sub_0200BB6C + ldr r3, _02086ED0 ; =0x020FCE48 + add r2, sp, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x4c] + bl sub_0200BB34 + str r0, [r4, #0x48] + ldr r0, [r4, #0x4c] + ldr r1, [r4, #0x48] + mov r2, #0xff + bl sub_0200BBF0 + cmp r0, #0x0 + bne _02086EB2 + bl sub_02020C2C +_02086EB2: + ldr r0, [r4, #0x4c] + ldr r1, [r4, #0x48] + add r2, sp, #0x0 + bl sub_0200BF60 + cmp r0, #0x0 + bne _02086EC4 + bl sub_02020C2C +_02086EC4: + add sp, #0x4c + pop {r3-r6, pc} + .balign 4 +_02086EC8: .word 0x020FCE7C +_02086ECC: .word 0x020FCE34 +_02086ED0: .word 0x020FCE48 + + thumb_func_start sub_02086ED4 +sub_02086ED4: ; 0x02086ED4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4c] + ldr r1, [r4, #0x48] + bl sub_0200C398 + ldr r0, [r4, #0x4c] + bl sub_0200BD04 + pop {r4, pc} + + thumb_func_start sub_02086EE8 +sub_02086EE8: ; 0x02086EE8 + push {r3-r7, lr} + sub sp, #0x38 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x5 + ldr r4, [r0, #0xc] + mov r2, #0x0 + add r0, r4, #0x0 + bl sub_020671BC + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2 + bl sub_02068E14 + add r7, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x4c + add r2, sp, #0x10 + bl sub_02067830 + add r0, sp, #0x28 + add r1, r4, #0x0 + mov r2, #0x2 + bl sub_02068B68 + lsl r1, r6, #0x10 + add r0, sp, #0x14 + lsr r1, r1, #0x10 + bl sub_02069010 + mov r1, #0x0 + str r1, [sp, #0x0] + add r7, #0x60 + str r1, [sp, #0x4] + add r0, sp, #0x14 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + ldr r0, [r5, #0x3c] + add r1, sp, #0x28 + mov r2, #0x80 + add r3, r7, #0x0 + bl sub_020073A0 + str r0, [r5, #0x68] + add sp, #0x38 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02086F4C +sub_02086F4C: ; 0x02086F4C + push {r3-r6, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x5 + ldr r0, [r0, #0xc] + mov r2, #0x0 + bl sub_020671BC + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02068854 + add r6, r0, #0x0 + ldr r0, [r5, #0x68] + mov r1, #0x1 + bl sub_02007314 + lsl r2, r4, #0x10 + str r6, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x54] + ldr r1, [r5, #0x68] + lsr r2, r2, #0x10 + mov r3, #0x2 + bl sub_02069038 + add sp, #0xc + pop {r3-r6, pc} + + thumb_func_start sub_02086F8C +sub_02086F8C: ; 0x02086F8C + ldr r3, _02086F94 ; =sub_02007534 + ldr r0, [r0, #0x68] + bx r3 + nop +_02086F94: .word sub_02007534 + 1 + + thumb_func_start sub_02086F98 +sub_02086F98: ; 0x02086F98 + ldr r3, _02086FA4 ; =sub_02007558 + add r2, r1, #0x0 + ldr r0, [r0, #0x68] + mov r1, #0x6 + bx r3 + nop +_02086FA4: .word sub_02007558 + 1 + + thumb_func_start sub_02086FA8 +sub_02086FA8: ; 0x02086FA8 + push {r3, lr} + ldr r1, [r0, #0x58] + lsl r2, r1, #0x2 + ldr r1, _02086FB8 ; =0x020FD118 + ldr r1, [r1, r2] + blx r1 + pop {r3, pc} + nop +_02086FB8: .word 0x020FD118 + + thumb_func_start sub_02086FBC +sub_02086FBC: ; 0x02086FBC + push {r3-r5, lr} + sub sp, #0x20 + add r4, r0, #0x0 + ldr r1, [r4, #0x5c] + mov r5, #0x1 + cmp r1, #0x11 + bls _02086FCC + b _0208720E +_02086FCC: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r4, #0 + lsl r0, r2, #0x2 + lsl r2, r3, #0x2 + lsl r0, r7, #0x2 + lsl r0, r1, #0x3 + lsl r0, r3, #0x3 + lsl r0, r5, #0x3 + lsl r0, r7, #0x3 + lsl r4, r6, #0x4 + lsl r0, r1, #0x5 + lsl r0, r3, #0x5 + lsl r6, r7, #0x5 + lsl r0, r2, #0x7 + lsl r0, r1, #0x8 + lsl r4, r2, #0x8 + lsl r2, r3, #0x8 + lsl r4, r4, #0x8 + lsl r4, r6, #0x8 + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + bl sub_0208699C + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + bl sub_020869F0 + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x14] + bl sub_020866FC + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x3b + str r0, [sp, #0xc] + mov r0, #0xe + str r0, [sp, #0x10] + add r1, r4, #0x0 + ldr r0, [r4, #0x4] + add r1, #0x18 + add r2, r5, #0x0 + mov r3, #0x2 + bl sub_02086784 + add r0, r4, #0x0 + bl sub_02086BA8 + add r0, r4, #0x0 + bl sub_02086CB0 + add r0, r4, #0x0 + bl sub_02086EE8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02086F98 + mov r0, #0x47 + str r0, [sp, #0x18] + mov r0, #0x0 + str r0, [sp, #0x1c] + add r0, sp, #0x18 + bl sub_02086B40 + str r0, [r4, #0x40] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_0208706A: + .byte 0xFF, 0xF7, 0x27, 0xFB, 0xE0, 0x6D + .byte 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7, 0x48, 0xF9, 0x01, 0x28, 0x56, 0xD1, 0x7E, 0xF7, 0xCE, 0xF9 + .byte 0x6F, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x59, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xCF, 0xE0, 0x00, 0xF0, 0x03, 0xFA, 0x00, 0x28, 0x47, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xC7, 0xE0, 0x00, 0xF0, 0x1F, 0xFA, 0x00, 0x28, 0x3F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xBF, 0xE0, 0x00, 0xF0, 0x4F, 0xFA, 0x00, 0x28, 0x37, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xB7, 0xE0, 0x00, 0xF0, 0x73, 0xFA, 0x00, 0x28, 0x2F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xAF, 0xE0, 0x00, 0xF0, 0x9D, 0xFA, 0x00, 0x28, 0x27, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x36, 0xFF + .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xE0, 0xF7, 0x68, 0xF8, 0x00, 0x04, 0x00, 0x0C + .byte 0x7E, 0xF7, 0x42, 0xFA, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21 + .byte 0xFF, 0xF7, 0x74, 0xFB, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x91, 0xE0, 0x7E, 0xF7 + .byte 0xAF, 0xFA, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x86, 0xFD, 0xE0, 0x6D, 0x40, 0x1C + .byte 0xE0, 0x65, 0x7E, 0xF7, 0xCB, 0xFD, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0, 0xE0, 0x6D, 0x40, 0x1C + .byte 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0x1A, 0xFE, 0x00, 0x28, 0x78, 0xD1 + .byte 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21, 0xFF, 0xF7, 0x4E, 0xFB + .byte 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7 + .byte 0x07, 0xFE, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7, 0x07, 0xFE, 0x01, 0x28 + .byte 0x5F, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x0C, 0xF9, 0x00, 0x28, 0x5A, 0xD1, 0x19, 0x20, 0x00, 0x90 + .byte 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90, 0xA7, 0x20, 0x04, 0x90 + .byte 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32, 0x01, 0x23, 0xFF, 0xF7 + .byte 0x6B, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C, 0x7A, 0xF7, 0x64, 0xFD + .byte 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0, 0x06, 0xE0, 0x20, 0x68 + .byte 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0, 0x00, 0x28, 0x01, 0xD1 + .byte 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0x27, 0xE0, 0xFF, 0xF7, 0xBD, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x21, 0xE0, 0x48, 0x1C + .byte 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x72, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7 + .byte 0x83, 0xF8, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x11, 0xE0 +_0208720E: + add r0, r4, #0x0 + bl sub_02086F8C + add r0, r4, #0x0 + bl sub_02086E30 + add r0, r4, #0x0 + add r0, #0x18 + bl sub_0208698C + ldr r0, [r4, #0x40] + ldr r0, [r0, #0xc] + bl sub_02086AF0 + ldr r0, [r4, #0x40] + bl sub_02086BA0 + mov r5, #0x0 +_02087232: + ldr r0, [r4, #0x4c] + bl sub_0200BC1C + add r0, r5, #0x0 + add sp, #0x20 + pop {r3-r5, pc} + nop +_02087240: + .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 + + thumb_func_start sub_02087248 +sub_02087248: ; 0x02087248 + push {r3-r5, lr} + sub sp, #0x20 + add r4, r0, #0x0 + ldr r1, [r4, #0x5c] + mov r5, #0x1 + cmp r1, #0x11 + bls _02087258 + b _02087462 +_02087258: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 + lsl r2, r4, #0 + lsl r0, r3, #0x2 + lsl r2, r4, #0x2 + lsl r4, r7, #0x2 + lsl r6, r6, #0x3 + lsl r6, r6, #0x3 + lsl r6, r6, #0x3 + lsl r6, r6, #0x3 + lsl r4, r7, #0x3 + lsl r0, r2, #0x4 + lsl r0, r4, #0x4 + lsl r6, r0, #0x5 + lsl r0, r3, #0x6 + lsl r0, r2, #0x7 + lsl r4, r3, #0x7 + lsl r2, r4, #0x7 + lsl r4, r5, #0x7 + lsl r4, r7, #0x7 + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + bl sub_0208699C + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + bl sub_020869F0 + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x14] + bl sub_020866FC + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x3b + str r0, [sp, #0xc] + mov r0, #0xe + str r0, [sp, #0x10] + add r1, r4, #0x0 + ldr r0, [r4, #0x4] + add r1, #0x18 + add r2, r5, #0x0 + mov r3, #0x2 + bl sub_02086784 + add r0, r4, #0x0 + bl sub_02086BA8 + add r0, r4, #0x0 + bl sub_02086CB0 + ldr r0, [r4, #0x6c] + mov r1, #0x0 + bl sub_0200C644 + add r0, r4, #0x0 + bl sub_02086EE8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl sub_02086F98 + mov r0, #0x47 + str r0, [sp, #0x18] + add r0, r5, #0x0 + str r0, [sp, #0x1c] + add r0, sp, #0x18 + bl sub_02086B40 + str r0, [r4, #0x40] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_020872FE: + .byte 0xFF, 0xF7 + .byte 0xDD, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x86, 0xF7, 0xFE, 0xFF, 0x01, 0x28, 0x36, 0xD1 + .byte 0x60, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x11, 0xF8, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0xB1, 0xE0, 0x00, 0xF0, 0x7D, 0xFA, 0x00, 0x28, 0x29, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE + .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xDF, 0xF7, 0x40, 0xFF, 0x00, 0x04, 0x00, 0x0C + .byte 0x7E, 0xF7, 0x1A, 0xF9, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21 + .byte 0xFF, 0xF7, 0x4C, 0xFA, 0xE0, 0x60, 0x08, 0x20, 0xE0, 0x65, 0x94, 0xE0, 0x99, 0xF7, 0x66, 0xFC + .byte 0x91, 0xE0, 0x7E, 0xF7, 0x85, 0xF9, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x5C, 0xFC + .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x7E, 0xF7, 0xA1, 0xFC, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0 + .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0xF0, 0xFC + .byte 0x00, 0x28, 0x78, 0xD1, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21 + .byte 0xFF, 0xF7, 0x24, 0xFA, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06 + .byte 0x00, 0x0E, 0x94, 0xF7, 0xDD, 0xFC, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7 + .byte 0xDD, 0xFC, 0x01, 0x28, 0x5F, 0xD1, 0xA0, 0x6E, 0x7F, 0xF7, 0xE2, 0xFF, 0x00, 0x28, 0x5A, 0xD1 + .byte 0x19, 0x20, 0x00, 0x90, 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90 + .byte 0xA7, 0x20, 0x04, 0x90, 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32 + .byte 0x01, 0x23, 0xFF, 0xF7, 0x41, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C + .byte 0x7A, 0xF7, 0x3A, 0xFC, 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0 + .byte 0x06, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0 + .byte 0x00, 0x28, 0x01, 0xD1, 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D + .byte 0x40, 0x1C, 0xE0, 0x65, 0x27, 0xE0, 0xFF, 0xF7, 0x93, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0x21, 0xE0, 0x48, 0x1C, 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x48, 0xF9, 0xE0, 0x6D, 0x40, 0x1C + .byte 0xE0, 0x65, 0x86, 0xF7, 0x59, 0xFF, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 + .byte 0x11, 0xE0 +_02087462: + add r0, r4, #0x0 + bl sub_02086F8C + add r0, r4, #0x0 + bl sub_02086E30 + add r0, r4, #0x0 + add r0, #0x18 + bl sub_0208698C + ldr r0, [r4, #0x40] + ldr r0, [r0, #0xc] + bl sub_02086AF0 + ldr r0, [r4, #0x40] + bl sub_02086BA0 + mov r5, #0x0 +_02087486: + ldr r0, [r4, #0x4c] + bl sub_0200BC1C + add r0, r5, #0x0 + add sp, #0x20 + pop {r3-r5, pc} + nop +_02087494: + .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 + + thumb_func_start sub_0208749C +sub_0208749C: ; 0x0208749C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x64] + cmp r0, #0x0 + beq _020874AC + cmp r0, #0x1 + beq _020874BC + b _020874D4 +_020874AC: + ldr r0, [r4, #0x6c] + mov r1, #0x0 + bl sub_0200C61C + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _020874DC +_020874BC: + ldr r0, [r4, #0x60] + add r0, r0, #0x1 + str r0, [r4, #0x60] + cmp r0, #0x19 + blt _020874DC + ldr r0, _020874E0 ; =0x00000714 + bl sub_020054C8 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _020874DC +_020874D4: + mov r0, #0x0 + str r0, [r4, #0x64] + str r0, [r4, #0x60] + pop {r4, pc} +_020874DC: + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_020874E0: .word 0x00000714 + + thumb_func_start sub_020874E4 +sub_020874E4: ; 0x020874E4 + push {r4, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x64] + cmp r1, #0x0 + beq _020874F4 + cmp r1, #0x1 + beq _0208750E + b _02087532 +_020874F4: + ldr r0, [r4, #0x40] + bl sub_02086B8C + cmp r0, #0x1 + beq _0208754C + ldr r0, [r4, #0x6c] + mov r1, #0x1 + bl sub_0200C61C + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _0208754C +_0208750E: + mov r1, #0x0 + bl sub_02086E04 + cmp r0, #0x2 + bne _0208754C + ldr r0, _02087550 ; =0x00000714 + bl sub_020054C8 + ldr r0, [r4, #0x6c] + mov r1, #0x2 + bl sub_0200C61C + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + mov r0, #0x0 + str r0, [r4, #0x60] + b _0208754C +_02087532: + mov r1, #0x0 + bl sub_02086E04 + cmp r0, #0x2 + bne _0208754C + ldr r0, [r4, #0x6c] + mov r1, #0x2 + bl sub_0200C61C + mov r0, #0x0 + str r0, [r4, #0x64] + str r0, [r4, #0x60] + pop {r4, pc} +_0208754C: + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_02087550: .word 0x00000714 + + thumb_func_start sub_02087554 +sub_02087554: ; 0x02087554 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x64] + cmp r1, #0x0 + beq _02087564 + cmp r1, #0x1 + beq _0208756A + b _0208759C +_02087564: + add r0, r1, #0x1 + str r0, [r4, #0x64] + b _020875A4 +_0208756A: + mov r1, #0x1 + bl sub_02086E04 + add r5, r0, #0x0 + cmp r5, #0x1 + bne _0208758C + ldr r0, _020875A8 ; =0x00000714 + bl sub_020054C8 + ldr r0, [r4, #0x6c] + mov r1, #0x3 + bl sub_0200C61C + ldr r0, [r4, #0x40] + mov r1, #0x0 + bl sub_02086B70 +_0208758C: + cmp r5, #0x2 + bne _020875A4 + mov r0, #0x0 + str r0, [r4, #0x60] + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _020875A4 +_0208759C: + mov r0, #0x0 + str r0, [r4, #0x64] + str r0, [r4, #0x60] + pop {r3-r5, pc} +_020875A4: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_020875A8: .word 0x00000714 + + thumb_func_start sub_020875AC +sub_020875AC: ; 0x020875AC + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r1, [r4, #0x64] + cmp r1, #0x0 + beq _020875BC + cmp r1, #0x1 + beq _020875CE + b _02087600 +_020875BC: + ldr r0, [r4, #0x40] + bl sub_02086B8C + cmp r0, #0x1 + beq _02087608 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087608 +_020875CE: + mov r1, #0x2 + bl sub_02086E04 + add r5, r0, #0x0 + cmp r5, #0x1 + bne _020875F0 + ldr r0, _0208760C ; =0x00000714 + bl sub_020054C8 + ldr r0, [r4, #0x6c] + mov r1, #0x4 + bl sub_0200C61C + ldr r0, [r4, #0x40] + mov r1, #0x1 + bl sub_02086B70 +_020875F0: + cmp r5, #0x2 + bne _02087608 + mov r0, #0x0 + str r0, [r4, #0x60] + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087608 +_02087600: + mov r0, #0x0 + str r0, [r4, #0x64] + str r0, [r4, #0x60] + pop {r3-r5, pc} +_02087608: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0208760C: .word 0x00000714 + + thumb_func_start sub_02087610 +sub_02087610: ; 0x02087610 + push {r4-r6, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r1, [r4, #0x64] + cmp r1, #0x5 + bls _0208761E + b _020877FC +_0208761E: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r4, r5, #0 + lsl r6, r5, #0x1 + lsl r6, r2, #0x3 + lsl r0, r5, #0x5 + lsl r4, r6, #0x6 + ldr r0, [r4, #0x40] + bl sub_02086B8C + cmp r0, #0x1 + beq _020876A4 + ldr r0, [r4, #0x6c] + mov r1, #0x4 + bl sub_0200C61C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E6E4 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 +_02087658: + .byte 0x03, 0x21, 0xFF, 0xF7, 0xD3, 0xFB, 0x05, 0x1C + .byte 0x01, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x05, 0x21, 0x84, 0xF7, 0xD8, 0xFF, 0x6A, 0x48, 0x7D, 0xF7 + .byte 0x2B, 0xFF, 0x20, 0x6C, 0x02, 0x21, 0xFF, 0xF7, 0x7B, 0xFA, 0x20, 0x6C, 0x03, 0x21, 0xFF, 0xF7 + .byte 0x77, 0xFA, 0x02, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0xDB, 0xFF, 0x00, 0x20 + .byte 0x20, 0x66, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0xBA, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66 + .byte 0x0A, 0x28, 0x00, 0xDA +_020876A4: + b _02087810 +_020876A6: + .byte 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5B, 0x4A + .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFD, 0x20, 0x6F, 0x00, 0x68 + .byte 0x98, 0xF7, 0x48, 0xFE, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFD, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26 + .byte 0x00, 0x93, 0x10, 0x20, 0x51, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04 + .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFD, 0x4C, 0x48, 0x00, 0x21, 0x00, 0x90 + .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFB, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66 + .byte 0x86, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x85, 0xF7, 0x48, 0xF8 + .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F + .byte 0x0A, 0x1F, 0x85, 0xF7, 0x83, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31 + .byte 0x03, 0xAA, 0x85, 0xF7, 0x35, 0xF8, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA + .byte 0x60, 0x6F, 0x04, 0x22, 0x85, 0xF7, 0x72, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7C, 0xF7 + .byte 0xC9, 0xF8, 0x00, 0x28, 0x5C, 0xD1, 0x02, 0x2D, 0x5A, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFB + .byte 0x00, 0x28, 0x55, 0xD1, 0x02, 0x20, 0x01, 0x21, 0x96, 0xF7, 0xBC, 0xFF, 0x20, 0x1C, 0x00, 0x21 + .byte 0xFF, 0xF7, 0x12, 0xFC, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFF, 0x20, 0x6F, 0x00, 0x21 + .byte 0x84, 0xF7, 0x60, 0xFF, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFF, 0x60, 0x6E, 0x40, 0x1C + .byte 0x60, 0x66, 0x3D, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x38, 0xDB, 0x00, 0x22 + .byte 0x1E, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFB + .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x19, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21 + .byte 0x7B, 0xF7, 0x26, 0xFD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x14, 0x4A, 0x01, 0x93, 0x02, 0x92 + .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFD, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x17, 0xE0 + .byte 0xA0, 0x68, 0x7C, 0xF7, 0x7F, 0xF8, 0x00, 0x28, 0x12, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFB + .byte 0x00, 0x28, 0x0D, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x09, 0xE0 +_020877FC: + ldr r0, [r4, #0x40] + bl sub_02086B8C + cmp r0, #0x1 + beq _02087810 + mov r0, #0x0 + str r0, [r4, #0x64] + add sp, #0x10 + str r0, [r4, #0x60] + pop {r4-r6, pc} +_02087810: + mov r0, #0x1 + add sp, #0x10 + pop {r4-r6, pc} + nop +_02087818: + .byte 0x07, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 + + thumb_func_start sub_02087820 +sub_02087820: ; 0x02087820 + push {r4-r6, lr} + sub sp, #0x10 + add r4, r0, #0x0 + ldr r0, [r4, #0x64] + cmp r0, #0x4 + bls _0208782E + b _020879FC +_0208782E: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r0, r7, #0 + lsl r6, r0, #0x3 + lsl r0, r3, #0x5 + lsl r4, r4, #0x6 + ldr r0, [r4, #0x40] + mov r1, #0x0 + bl sub_02086B70 + ldr r0, [r4, #0x40] + mov r1, #0x1 + bl sub_02086B70 + ldr r0, [r4, #0x40] + mov r1, #0x2 + bl sub_02086B70 + ldr r0, [r4, #0x40] + mov r1, #0x3 + bl sub_02086B70 + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201E6E4 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087A06 +_02087874: + .byte 0x20, 0x6E, 0x19, 0x28, 0x04, 0xD0, 0x50, 0x28, 0x06, 0xD0, 0x8E, 0x28 + .byte 0x08, 0xD0, 0x0A, 0xE0, 0x61, 0x48, 0x7D, 0xF7, 0x1F, 0xFE, 0x06, 0xE0, 0x60, 0x48, 0x7D, 0xF7 + .byte 0x1B, 0xFE, 0x02, 0xE0, 0x5F, 0x48, 0x7D, 0xF7, 0x17, 0xFE, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66 + .byte 0xA0, 0x28, 0x00, 0xDA, 0xAF, 0xE0, 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5A, 0x4A + .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFC, 0x20, 0x6F, 0x00, 0x68 + .byte 0x98, 0xF7, 0x48, 0xFD, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFC, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26 + .byte 0x00, 0x93, 0x10, 0x20, 0x50, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04 + .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFC, 0x4B, 0x48, 0x00, 0x21, 0x00, 0x90 + .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFA, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66 + .byte 0x81, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x84, 0xF7, 0x48, 0xFF + .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F + .byte 0x0A, 0x1F, 0x84, 0xF7, 0x83, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31 + .byte 0x03, 0xAA, 0x84, 0xF7, 0x35, 0xFF, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA + .byte 0x60, 0x6F, 0x04, 0x22, 0x84, 0xF7, 0x72, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7B, 0xF7 + .byte 0xC9, 0xFF, 0x00, 0x28, 0x57, 0xD1, 0x02, 0x2D, 0x55, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFA + .byte 0x00, 0x28, 0x50, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFB, 0x02, 0x20, 0x01, 0x21 + .byte 0x96, 0xF7, 0xB8, 0xFE, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFE, 0x20, 0x6F, 0x00, 0x21 + .byte 0x84, 0xF7, 0x60, 0xFE, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFE, 0x60, 0x6E, 0x40, 0x1C + .byte 0x60, 0x66, 0x38, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x33, 0xDB, 0x00, 0x22 + .byte 0x1D, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFA + .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x18, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21 + .byte 0x7B, 0xF7, 0x26, 0xFC, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x13, 0x4A, 0x01, 0x93, 0x02, 0x92 + .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFC, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x12, 0xE0 + .byte 0xA0, 0x68, 0x7B, 0xF7, 0x7F, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFA + .byte 0x00, 0x28, 0x08, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x04, 0xE0 +_020879FC: + mov r0, #0x0 + str r0, [r4, #0x64] + add sp, #0x10 + str r0, [r4, #0x60] + pop {r4-r6, pc} +_02087A06: + mov r0, #0x1 + add sp, #0x10 + pop {r4-r6, pc} +_02087A0C: + .byte 0x06, 0x08, 0x00, 0x00 + .byte 0xAA, 0x07, 0x00, 0x00, 0x15, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 + + thumb_func_start sub_02087A1C +sub_02087A1C: ; 0x02087A1C + ldr r3, _02087A34 ; =0x020FD13C + mov r2, #0x0 +_02087A20: + ldrb r1, [r3, #0x0] + cmp r0, r1 + beq _02087A2E + add r2, r2, #0x1 + add r3, r3, #0x1 + cmp r2, #0x6 + blt _02087A20 +_02087A2E: + add r0, r2, #0x0 + bx lr + nop +_02087A34: .word 0x020FD13C + + thumb_func_start sub_02087A38 +sub_02087A38: ; 0x02087A38 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x6 + blt _02087A44 + bl sub_02020C2C +_02087A44: + ldr r0, _02087A4C ; =0x020FD13C + ldrb r0, [r0, r4] + pop {r4, pc} + nop +_02087A4C: .word 0x020FD13C + + thumb_func_start sub_02087A50 +sub_02087A50: ; 0x02087A50 + ldr r3, _02087A68 ; =0x020FD120 + mov r2, #0x0 +_02087A54: + ldrh r1, [r3, #0x0] + cmp r0, r1 + beq _02087A62 + add r2, r2, #0x1 + add r3, r3, #0x2 + cmp r2, #0xe + blt _02087A54 +_02087A62: + add r0, r2, #0x0 + bx lr + nop +_02087A68: .word 0x020FD120 + + thumb_func_start sub_02087A6C +sub_02087A6C: ; 0x02087A6C + push {r3, lr} + mov r1, #0x18 + bl sub_02016998 + add r3, r0, #0x0 + mov r2, #0x18 + mov r1, #0x0 +_02087A7A: + strb r1, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _02087A7A + pop {r3, pc} + + thumb_func_start sub_02087A84 +sub_02087A84: ; 0x02087A84 + push {r4, lr} + add r4, r0, #0x0 + bne _02087A8E + bl sub_02020C2C +_02087A8E: + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02087A98 +sub_02087A98: ; 0x02087A98 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + add r4, r2, #0x0 + cmp r5, #0x0 + bne _02087AA8 + bl sub_02020C2C +_02087AA8: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + beq _02087AB2 + bl sub_02020C2C +_02087AB2: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _02087ABC + bl sub_02020C2C +_02087ABC: + add r0, r4, #0x0 + bl sub_02087C18 + str r0, [r5, #0x0] + add r0, r4, #0x0 + bl sub_02087C2C + str r0, [r5, #0x4] + cmp r6, #0x0 + bne _02087AEE + add r0, r5, #0x0 + add r1, r5, #0x0 + add r0, #0x8 + add r1, #0xc + add r2, r4, #0x0 + bl sub_02087C40 + add r0, r5, #0x0 + add r5, #0x14 + add r0, #0x10 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02087CA0 + pop {r4-r6, pc} +_02087AEE: + add r0, r5, #0x0 + add r1, r5, #0x0 + add r0, #0x8 + add r1, #0xc + add r2, r4, #0x0 + bl sub_02087C70 + add r0, r5, #0x0 + add r5, #0x14 + add r0, #0x10 + add r1, r5, #0x0 + add r2, r4, #0x0 + bl sub_02087CD0 + pop {r4-r6, pc} + + thumb_func_start sub_02087B0C +sub_02087B0C: ; 0x02087B0C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _02087B1A + bl sub_02020C2C +_02087B1A: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + bne _02087B24 + bl sub_02020C2C +_02087B24: + ldr r0, [r4, #0x0] + bl sub_02016A18 + ldr r0, [r4, #0x4] + bl sub_02016A18 + ldr r0, [r4, #0x8] + bl sub_02016A18 + ldr r0, [r4, #0xc] + bl sub_02016A18 + ldr r0, [r4, #0x10] + bl sub_02016A18 + ldr r0, [r4, #0x14] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0x4] + str r0, [r4, #0x8] + str r0, [r4, #0xc] + str r0, [r4, #0x10] + str r0, [r4, #0x14] + pop {r4, pc} + + thumb_func_start sub_02087B58 +sub_02087B58: ; 0x02087B58 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087B66 + bl sub_02020C2C +_02087B66: + ldr r0, [r5, #0x0] + cmp r0, #0x0 + bne _02087B70 + bl sub_02020C2C +_02087B70: + ldr r1, [r5, #0x0] + lsl r0, r4, #0x2 + ldr r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087B78 +sub_02087B78: ; 0x02087B78 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087B86 + bl sub_02020C2C +_02087B86: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _02087B90 + bl sub_02020C2C +_02087B90: + ldr r1, [r5, #0x4] + lsl r0, r4, #0x2 + ldr r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087B98 +sub_02087B98: ; 0x02087B98 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087BA6 + bl sub_02020C2C +_02087BA6: + ldr r0, [r5, #0x8] + cmp r0, #0x0 + bne _02087BB0 + bl sub_02020C2C +_02087BB0: + ldr r1, [r5, #0x8] + lsl r0, r4, #0x1 + ldrsh r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087BB8 +sub_02087BB8: ; 0x02087BB8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087BC6 + bl sub_02020C2C +_02087BC6: + ldr r0, [r5, #0xc] + cmp r0, #0x0 + bne _02087BD0 + bl sub_02020C2C +_02087BD0: + ldr r1, [r5, #0xc] + lsl r0, r4, #0x1 + ldrsh r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087BD8 +sub_02087BD8: ; 0x02087BD8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087BE6 + bl sub_02020C2C +_02087BE6: + ldr r0, [r5, #0x10] + cmp r0, #0x0 + bne _02087BF0 + bl sub_02020C2C +_02087BF0: + ldr r1, [r5, #0x10] + lsl r0, r4, #0x1 + ldrsh r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087BF8 +sub_02087BF8: ; 0x02087BF8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _02087C06 + bl sub_02020C2C +_02087C06: + ldr r0, [r5, #0x14] + cmp r0, #0x0 + bne _02087C10 + bl sub_02020C2C +_02087C10: + ldr r1, [r5, #0x14] + lsl r0, r4, #0x1 + ldrsh r0, [r1, r0] + pop {r3-r5, pc} + + thumb_func_start sub_02087C18 +sub_02087C18: ; 0x02087C18 + push {r3, lr} + mov r1, #0x0 + add r3, r0, #0x0 + mov r0, #0x4b + add r2, r1, #0x0 + str r1, [sp, #0x0] + bl sub_02006C98 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02087C2C +sub_02087C2C: ; 0x02087C2C + push {r3, lr} + add r3, r0, #0x0 + mov r2, #0x0 + mov r0, #0x4b + mov r1, #0x1 + str r2, [sp, #0x0] + bl sub_02006C98 + pop {r3, pc} + .balign 4 + + thumb_func_start sub_02087C40 +sub_02087C40: ; 0x02087C40 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r2, #0x0 + mov r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x0] + mov r0, #0x4b + mov r1, #0x9 + add r3, r6, #0x0 + bl sub_02006C98 + str r0, [r5, #0x0] + mov r2, #0x0 + mov r0, #0x4b + mov r1, #0xa + add r3, r6, #0x0 + str r2, [sp, #0x0] + bl sub_02006C98 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02087C70 +sub_02087C70: ; 0x02087C70 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r2, #0x0 + mov r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x0] + mov r0, #0x4b + mov r1, #0x7 + add r3, r6, #0x0 + bl sub_02006C98 + str r0, [r5, #0x0] + mov r2, #0x0 + mov r0, #0x4b + mov r1, #0x8 + add r3, r6, #0x0 + str r2, [sp, #0x0] + bl sub_02006C98 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02087CA0 +sub_02087CA0: ; 0x02087CA0 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r2, #0x0 + mov r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x0] + mov r0, #0x4b + mov r1, #0x5 + add r3, r6, #0x0 + bl sub_02006C98 + str r0, [r5, #0x0] + mov r2, #0x0 + mov r0, #0x4b + mov r1, #0x6 + add r3, r6, #0x0 + str r2, [sp, #0x0] + bl sub_02006C98 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02087CD0 +sub_02087CD0: ; 0x02087CD0 + push {r3-r6, lr} + sub sp, #0x4 + add r6, r2, #0x0 + mov r2, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + str r2, [sp, #0x0] + mov r0, #0x4b + mov r1, #0x3 + add r3, r6, #0x0 + bl sub_02006C98 + str r0, [r5, #0x0] + mov r2, #0x0 + mov r0, #0x4b + mov r1, #0x4 + add r3, r6, #0x0 + str r2, [sp, #0x0] + bl sub_02006C98 + str r0, [r4, #0x0] + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start sub_02087D00 +sub_02087D00: ; 0x02087D00 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0x0 + mov r1, #0xcf + str r0, [sp, #0x0] + add r0, r5, #0x0 + lsl r1, r1, #0x2 + bl sub_02016998 + mov r2, #0xcf + mov r1, #0x0 + lsl r2, r2, #0x2 + add r7, r0, #0x0 + blx sub_020CE34C + add r0, r4, #0x0 + bl sub_02028048 + str r0, [r7, #0x8] + add r0, r4, #0x0 + bl sub_020238F4 + str r0, [r7, #0xc] + add r0, r4, #0x0 + bl sub_0206BB1C + str r0, [r7, #0x10] + add r0, r4, #0x0 + bl sub_0206F158 + str r0, [r7, #0x14] + add r0, r4, #0x0 + bl sub_02023900 + str r0, [r7, #0x18] + add r0, r5, #0x0 + bl sub_02027E5C + add r4, r0, #0x0 + mov r0, #0x1 + mov r1, #0x20 + add r2, r5, #0x0 + bl sub_0200AA90 + str r0, [sp, #0x4] + mov r6, #0x0 +_02087D60: + ldr r0, [r7, #0x8] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_02028174 + add r0, r4, #0x0 + bl sub_02027E34 + cmp r0, #0x0 + beq _02087DEE + add r0, r4, #0x0 + add r1, sp, #0x8 + bl sub_02027FBC + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + add r1, #0x1c + lsl r0, r0, #0x3 + add r5, r1, r0 + strb r6, [r1, r0] + add r0, r4, #0x0 + bl sub_02027FDC + strb r0, [r5, #0x1] + add r0, sp, #0x8 + ldrb r1, [r0, #0x0] + mov r2, #0x1 + strb r1, [r5, #0x2] + ldrb r0, [r0, #0x6] + mov r1, #0x0 + strb r0, [r5, #0x3] + add r0, sp, #0x8 +_02087DA0: + add r3, r0, r1 + ldrb r3, [r3, #0x1] + cmp r3, #0x0 + beq _02087DAE + ldrb r3, [r5, #0x4] + orr r3, r2 + strb r3, [r5, #0x4] +_02087DAE: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsl r2, r2, #0x19 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + cmp r1, #0x5 + blo _02087DA0 + ldrb r1, [r5, #0x4] + mov r0, #0x20 + orr r0, r1 + strb r0, [r5, #0x4] + ldrb r2, [r5, #0x4] + mov r1, #0x80 + add r0, r2, #0x0 + bic r0, r1 + lsl r1, r2, #0x1a + lsr r1, r1, #0x1f + lsl r1, r1, #0x1f + lsr r1, r1, #0x18 + orr r0, r1 + strb r0, [r5, #0x4] + ldr r0, [sp, #0x0] + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + strb r0, [r5, #0x5] + mov r0, #0xff + strb r0, [r5, #0x6] + ldrb r0, [r5, #0x6] + strb r0, [r5, #0x7] +_02087DEE: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x64 + blo _02087D60 + ldr r0, [sp, #0x4] + bl sub_0200AB18 + add r0, r4, #0x0 + bl sub_02016A18 + ldr r0, [sp, #0x0] + strb r0, [r7, #0x0] + mov r0, #0x5 + strb r0, [r7, #0x3] + add r0, r7, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02087E14 +sub_02087E14: ; 0x02087E14 + ldr r3, _02087E18 ; =sub_02016A18 + bx r3 + .balign 4 +_02087E18: .word sub_02016A18 + 1 + + thumb_func_start sub_02087E1C +sub_02087E1C: ; 0x02087E1C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _02087E3C + bl sub_02006290 + cmp r0, #0x0 + beq _02087E3C + ldr r0, [r4, #0x0] + bl sub_02006260 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} +_02087E3C: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02087E40 +sub_02087E40: ; 0x02087E40 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_0200628C + mov r2, #0x1 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x2c + lsl r2, r2, #0xc + bl sub_0201681C + add r0, r4, #0x0 + mov r1, #0x18 + mov r2, #0x2c + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x18 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x2c + str r0, [r4, #0x0] + str r5, [r4, #0xc] + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_02087E74 +sub_02087E74: ; 0x02087E74 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02006278 + ldr r1, [r4, #0x0] + cmp r1, #0x8 + bhi _02087EE4 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r0, r2, #0 + lsl r0, r3, #0 + lsl r0, r4, #0 + lsl r0, r5, #0 + lsl r0, r6, #0 + lsl r0, r7, #0 + lsl r0, r0, #0x1 + lsl r0, r1, #0x1 + lsl r0, r2, #0x1 + bl sub_02087F50 + str r0, [r4, #0x0] + b _02087EE4 +_02087EA8: + .byte 0x00, 0xF0, 0x5E, 0xF8, 0x20, 0x60, 0x19, 0xE0 + .byte 0x00, 0xF0, 0x90, 0xF8, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0xD0, 0xF8, 0x20, 0x60, 0x11, 0xE0 + .byte 0x00, 0xF0, 0xEE, 0xF8, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0x20, 0xF9, 0x20, 0x60, 0x09, 0xE0 + .byte 0x00, 0xF0, 0x2E, 0xF9, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0x68, 0xF9, 0x20, 0x60, 0x01, 0xE0 + .byte 0x01, 0x20, 0x10, 0xBD +_02087EE4: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_02087EE8 +sub_02087EE8: ; 0x02087EE8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + bl sub_02087F08 + add r0, r5, #0x0 + bl sub_0200627C + ldr r0, [r4, #0x0] + bl sub_020168D0 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02087F08 +sub_02087F08: ; 0x02087F08 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0xc] + mov r0, #0x0 + ldrb r1, [r2, #0x0] + add r4, r0, #0x0 + cmp r1, #0x0 + bls _02087F42 + mov r6, #0x1 +_02087F1A: + add r3, r2, #0x0 + add r3, #0x1c + lsl r1, r4, #0x3 + add r1, r3, r1 + ldrb r3, [r1, #0x4] + lsl r3, r3, #0x19 + lsr r3, r3, #0x1f + beq _02087F34 + ldrb r1, [r1, #0x0] + ldr r0, [r2, #0x8] + bl sub_020280B8 + add r0, r6, #0x0 +_02087F34: + add r1, r4, #0x1 + lsl r1, r1, #0x18 + ldr r2, [r5, #0xc] + lsr r4, r1, #0x18 + ldrb r1, [r2, #0x0] + cmp r4, r1 + blo _02087F1A +_02087F42: + cmp r0, #0x0 + beq _02087F4C + ldr r0, [r2, #0x8] + bl sub_020280F4 +_02087F4C: + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02087F50 +sub_02087F50: ; 0x02087F50 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02087F64 ; =0x020FD15C + ldr r1, [r4, #0xc] + ldr r2, [r4, #0x0] + bl sub_02006234 + str r0, [r4, #0x14] + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_02087F64: .word 0x020FD15C + + thumb_func_start sub_02087F68 +sub_02087F68: ; 0x02087F68 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x14 + bl sub_02087E1C + cmp r0, #0x0 + bne _02087F7A + mov r0, #0x1 + pop {r3-r5, pc} +_02087F7A: + ldr r1, [r5, #0xc] + ldrb r0, [r1, #0x2] + cmp r0, #0x0 + bne _02087F86 + mov r0, #0x8 + pop {r3-r5, pc} +_02087F86: + mov r0, #0x0 + strb r0, [r1, #0x2] + ldr r0, [r5, #0x0] + mov r1, #0x40 + bl sub_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx sub_020CE34C + ldr r0, [r5, #0xc] + mov r1, #0x0 + ldr r0, [r0, #0x10] + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x14] + str r0, [r4, #0x4] + add r0, r4, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + ldr r0, [r0, #0x18] + str r0, [r4, #0xc] + ldr r0, _02087FD0 ; =0x020F96DC + ldr r2, [r5, #0x0] + bl sub_02006234 + str r0, [r5, #0x14] + str r4, [r5, #0x10] + mov r0, #0x2 + pop {r3-r5, pc} + .balign 4 +_02087FD0: .word 0x020F96DC + + thumb_func_start sub_02087FD4 +sub_02087FD4: ; 0x02087FD4 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x14 + bl sub_02087E1C + cmp r0, #0x0 + bne _02087FE6 + mov r0, #0x2 + pop {r3-r7, pc} +_02087FE6: + ldr r7, [r5, #0x10] + add r0, r7, #0x0 + add r0, #0x22 + ldrb r6, [r0, #0x0] + strb r6, [r5, #0x8] + ldr r0, [r5, #0x10] + bl sub_02016A18 + cmp r6, #0x7 + bne _02087FFE + mov r0, #0x0 + pop {r3-r7, pc} +_02087FFE: + ldr r0, [r5, #0x0] + mov r1, #0x30 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x10] + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x18] + str r0, [r4, #0x4] + mov r0, #0x1 + strb r0, [r4, #0x11] + strb r6, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9AC + strb r0, [r4, #0x13] + mov r1, #0x0 + strh r1, [r4, #0x18] + mov r0, #0x3 + strb r0, [r4, #0x12] + mov r0, #0x1 + str r0, [r4, #0x2c] + str r1, [r4, #0x28] + ldr r1, _02088054 ; =0x020FD158 + add r0, r4, #0x0 + bl sub_0207B000 + ldr r1, [r5, #0xc] + add r0, r4, #0x0 + ldr r1, [r1, #0xc] + bl sub_0207C2A4 + ldr r0, _02088058 ; =0x020FA6E8 + ldr r2, [r5, #0x0] + add r1, r7, #0x0 + bl sub_02006234 + str r0, [r5, #0x14] + str r4, [r5, #0x10] + mov r0, #0x3 + pop {r3-r7, pc} + .balign 4 +_02088054: .word 0x020FD158 +_02088058: .word 0x020FA6E8 + + thumb_func_start sub_0208805C +sub_0208805C: ; 0x0208805C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x14 + bl sub_02087E1C + cmp r0, #0x0 + bne _0208806E + mov r0, #0x3 + pop {r3-r5, pc} +_0208806E: + ldr r0, [r5, #0x10] + ldrb r4, [r0, #0x17] + ldrb r0, [r0, #0x14] + strb r0, [r5, #0x8] + ldr r0, [r5, #0x10] + bl sub_02016A18 + cmp r4, #0x1 + bne _02088084 + mov r0, #0x0 + pop {r3-r5, pc} +_02088084: + ldr r0, [r5, #0xc] + add r3, r0, #0x0 + ldrb r0, [r0, #0x1] + add r3, #0x20 + lsl r2, r0, #0x3 + ldrb r1, [r3, r2] + mov r0, #0x40 + orr r0, r1 + strb r0, [r3, r2] + ldr r0, [r5, #0xc] + mov r1, #0x1 + strb r1, [r0, #0x2] + mov r0, #0x4 + pop {r3-r5, pc} + + thumb_func_start sub_020880A0 +sub_020880A0: ; 0x020880A0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0xc + bl sub_02016998 + mov r1, #0x0 + mov r2, #0xc + add r4, r0, #0x0 + blx sub_020CE34C + ldr r1, [r5, #0xc] + ldrb r0, [r1, #0x1] + lsl r0, r0, #0x3 + add r0, r1, r0 + ldrb r0, [r0, #0x1e] + strh r0, [r4, #0x8] + ldr r2, [r5, #0xc] + ldrb r1, [r2, #0x1] + ldr r0, [r2, #0x8] + lsl r1, r1, #0x3 + add r1, r2, r1 + ldrb r1, [r1, #0x1c] + ldr r2, [r5, #0x0] + bl sub_02028190 + str r0, [r4, #0x4] + ldr r0, [r5, #0xc] + ldrb r1, [r5, #0x8] + ldr r0, [r0, #0x10] + bl sub_0206B9B0 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x18] + bl sub_02024FF4 + strb r0, [r4, #0xa] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x18] + bl sub_02025084 + strb r0, [r4, #0xb] + ldr r0, _02088108 ; =0x020FD16C + ldr r2, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02006234 + str r0, [r5, #0x14] + str r4, [r5, #0x10] + mov r0, #0x5 + pop {r3-r5, pc} + .balign 4 +_02088108: .word 0x020FD16C + + thumb_func_start sub_0208810C +sub_0208810C: ; 0x0208810C + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x14 + bl sub_02087E1C + cmp r0, #0x0 + bne _0208811E + mov r0, #0x5 + pop {r4, pc} +_0208811E: + ldr r4, [r4, #0x10] + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r4, #0x0 + bl sub_02016A18 + mov r0, #0x6 + pop {r4, pc} + + thumb_func_start sub_02088130 +sub_02088130: ; 0x02088130 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x30 + bl sub_02016998 + ldr r2, [r5, #0xc] + add r4, r0, #0x0 + ldrb r1, [r2, #0x1] + ldr r0, [r2, #0x8] + lsl r1, r1, #0x3 + add r1, r2, r1 + ldrb r1, [r1, #0x1c] + ldr r2, [r5, #0x0] + bl sub_02028190 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x10] + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + ldr r0, [r0, #0x18] + str r0, [r4, #0x4] + mov r0, #0x1 + strb r0, [r4, #0x11] + ldrb r0, [r5, #0x8] + strb r0, [r4, #0x14] + ldr r0, [r4, #0x0] + bl sub_0206B9AC + strb r0, [r4, #0x13] + mov r1, #0x0 + strh r1, [r4, #0x18] + mov r0, #0x4 + strb r0, [r4, #0x12] + str r6, [r4, #0x24] + mov r0, #0x1 + str r0, [r4, #0x2c] + str r1, [r4, #0x28] + ldr r1, _020881A4 ; =0x020FD154 + add r0, r4, #0x0 + bl sub_0207B000 + ldr r1, [r5, #0xc] + add r0, r4, #0x0 + ldr r1, [r1, #0xc] + bl sub_0207C2A4 + ldr r0, _020881A8 ; =0x020FA6E8 + ldr r2, [r5, #0x0] + add r1, r4, #0x0 + bl sub_02006234 + str r0, [r5, #0x14] + str r4, [r5, #0x10] + mov r0, #0x7 + pop {r4-r6, pc} + nop +_020881A4: .word 0x020FD154 +_020881A8: .word 0x020FA6E8 + + thumb_func_start sub_020881AC +sub_020881AC: ; 0x020881AC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x14 + bl sub_02087E1C + cmp r0, #0x0 + bne _020881BE + mov r0, #0x7 + pop {r4, pc} +_020881BE: + ldr r0, [r4, #0x10] + ldr r0, [r0, #0x24] + bl sub_02016A18 + ldr r0, [r4, #0x10] + bl sub_02016A18 + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_020881D0 +sub_020881D0: ; 0x020881D0 + push {r3-r5, lr} + sub sp, #0x8 + lsl r2, r1, #0x1 + ldr r1, _02088214 ; =0x020FD17C + ldrb r4, [r1, r2] + ldr r1, _02088218 ; =0x020FD17D + ldrb r5, [r1, r2] + cmp r4, #0x5 + bne _020881E8 + add sp, #0x8 + mov r0, #0x2 + pop {r3-r5, pc} +_020881E8: + add r1, sp, #0x0 + bl sub_02027FBC + add r0, r4, #0x1 + add r2, sp, #0x0 + ldrb r1, [r2, r0] + add r0, r5, #0x1 + ldrb r0, [r2, r0] + cmp r1, r0 + bne _02088202 + add sp, #0x8 + mov r0, #0x2 + pop {r3-r5, pc} +_02088202: + cmp r1, r0 + bls _0208820C + add sp, #0x8 + mov r0, #0x0 + pop {r3-r5, pc} +_0208820C: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r5, pc} + nop +_02088214: .word 0x020FD17C +_02088218: .word 0x020FD17D + + thumb_func_start sub_0208821C +sub_0208821C: ; 0x0208821C + push {r3-r7, lr} + sub sp, #0x30 + add r6, r1, #0x0 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_02068854 + lsl r1, r0, #0x1 + ldr r0, _02088310 ; =0x020FD17C + ldrb r0, [r0, r1] + str r0, [sp, #0x4] + ldr r0, _02088314 ; =0x020FD17D + ldrb r0, [r0, r1] + add r1, sp, #0x10 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl sub_02027FBC + mov r4, #0x0 + add r7, r4, #0x0 + add r5, sp, #0x18 +_02088246: + add r1, r4, #0x0 + add r0, r6, #0x0 + add r1, #0x13 + add r2, r7, #0x0 + bl sub_020671BC + lsl r1, r4, #0x2 + str r0, [r5, r1] + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x6 + blo _02088246 + add r4, sp, #0x8 + mov r1, #0x0 + mov r3, #0x1 + add r0, sp, #0x10 + add r4, #0x1 +_0208826A: + ldrb r5, [r0, r3] + add r2, r1, #0x0 + add r1, r1, #0x1 + strb r5, [r4, r2] + add r2, r3, #0x1 + lsl r2, r2, #0x18 + lsl r1, r1, #0x18 + lsr r3, r2, #0x18 + lsr r1, r1, #0x18 + cmp r3, #0x6 + bls _0208826A + ldr r0, [sp, #0x4] + cmp r0, #0x5 + beq _020882B8 + ldrb r0, [r4, r0] + blx sub_020EB57C + add r1, r0, #0x0 + ldr r0, _02088318 ; =0x3F8CCCCD + blx sub_020EB5C4 + blx sub_020EB4F4 + ldr r1, [sp, #0x4] + strb r0, [r4, r1] + add r4, sp, #0x8 + ldr r0, [sp, #0x0] + add r4, #0x1 + ldrb r0, [r4, r0] + blx sub_020EB57C + add r1, r0, #0x0 + ldr r0, _0208831C ; =0x3F666666 + blx sub_020EB5C4 + blx sub_020EB4F4 + ldr r1, [sp, #0x0] + strb r0, [r4, r1] +_020882B8: + add r7, sp, #0x8 + mov r5, #0x0 + add r4, sp, #0x18 + add r7, #0x1 +_020882C0: + lsl r2, r5, #0x2 + ldrb r0, [r7, r5] + ldr r1, [r4, r2] + add r0, r1, r0 + str r0, [r4, r2] + ldr r0, [r4, r2] + cmp r0, #0xff + ble _020882D4 + mov r0, #0xff + str r0, [r4, r2] +_020882D4: + add r1, r5, #0x0 + add r0, r6, #0x0 + add r1, #0x13 + add r2, r4, r2 + bl sub_02067830 + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x6 + blo _020882C0 + add r0, r6, #0x0 + mov r1, #0x9 + mov r2, #0x0 + bl sub_020671BC + add r1, sp, #0x8 + strb r0, [r1, #0x0] + ldrb r0, [r1, #0x0] + cmp r0, #0xff + bhs _0208830C + add r0, r0, #0x1 + strb r0, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x9 + add r2, sp, #0x8 + bl sub_02067830 +_0208830C: + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_02088310: .word 0x020FD17C +_02088314: .word 0x020FD17D +_02088318: .word 0x3F8CCCCD +_0208831C: .word 0x3F666666 + + thumb_func_start sub_02088320 +sub_02088320: ; 0x02088320 + push {r3-r7, lr} + add r5, r1, #0x0 + mov r1, #0x59 + lsl r1, r1, #0x2 + add r6, r0, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + bl sub_02016998 + mov r2, #0x59 + mov r1, #0x0 + lsl r2, r2, #0x2 + add r4, r0, #0x0 + blx sub_020CE34C + str r6, [r4, #0x0] + cmp r5, #0x10 + bls _0208834A + mov r0, #0x10 + strh r0, [r4, #0xa] + b _0208834C +_0208834A: + strh r7, [r4, #0xa] +_0208834C: + strh r5, [r4, #0xc] + ldr r0, [sp, #0x0] + strh r0, [r4, #0xe] + ldr r0, [sp, #0x18] + str r0, [r4, #0x4] + add r0, r4, #0x0 + bl sub_0208837C + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02088360 +sub_02088360: ; 0x02088360 + push {r4, lr} + add r4, r0, #0x0 + bl sub_0208843C + mov r2, #0x59 + add r0, r4, #0x0 + mov r1, #0x0 + lsl r2, r2, #0x2 + blx sub_020CE34C + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_0208837C +sub_0208837C: ; 0x0208837C + push {r4-r7, lr} + sub sp, #0xc + ldr r1, _02088438 ; =0x020FD1C0 + str r0, [sp, #0x0] + ldrb r2, [r1, #0x0] + add r0, sp, #0x8 + strb r2, [r0, #0x0] + ldrb r2, [r1, #0x1] + strb r2, [r0, #0x1] + ldrb r2, [r1, #0x2] + ldrb r1, [r1, #0x3] + strb r2, [r0, #0x2] + strb r1, [r0, #0x3] + ldr r0, [sp, #0x0] + ldr r2, [sp, #0x0] + ldr r1, [sp, #0x0] + ldrh r0, [r0, #0xc] + ldr r2, [r2, #0x0] + add r1, #0x14 + bl sub_02008C9C + ldr r1, [sp, #0x0] + mov r6, #0x15 + str r0, [r1, #0x10] + add r0, r1, #0x0 + ldrh r1, [r0, #0xa] + add r0, sp, #0x8 + ldr r5, [sp, #0x0] + strb r1, [r0, #0x1] + mov r0, #0x0 + str r0, [sp, #0x4] + add r7, sp, #0x8 + add r4, r0, #0x0 + lsl r6, r6, #0x4 +_020883C0: + ldr r2, [sp, #0x0] + ldrb r0, [r7, #0x0] + ldr r1, [sp, #0x4] + ldr r2, [r2, #0x0] + bl sub_02008DEC + mov r1, #0x5 + lsl r1, r1, #0x6 + str r0, [r5, r1] + ldr r1, [sp, #0x0] + ldrb r0, [r7, #0x0] + ldr r1, [r1, #0x0] + bl sub_02009424 + mov r1, #0x15 + lsl r1, r1, #0x4 + str r0, [r5, r1] + mov r0, #0x15 + lsl r0, r0, #0x4 + ldr r3, [r5, r0] + mov r1, #0x0 + ldr r0, [r3, #0x4] + cmp r0, #0x0 + bls _02088402 + add r2, r1, #0x0 +_020883F2: + ldr r0, [r3, #0x0] + add r1, r1, #0x1 + str r4, [r0, r2] + ldr r3, [r5, r6] + add r2, r2, #0x4 + ldr r0, [r3, #0x4] + cmp r1, r0 + blo _020883F2 +_02088402: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + add r0, r0, #0x1 + add r5, r5, #0x4 + str r0, [sp, #0x4] + cmp r0, #0x4 + blo _020883C0 + ldr r0, [sp, #0x0] + bl sub_020886CC + ldr r0, [sp, #0x0] + mov r1, #0x4 + ldr r0, [r0, #0x0] + bl sub_02016998 + mov r2, #0x16 + ldr r1, [sp, #0x0] + lsl r2, r2, #0x4 + str r0, [r1, r2] + add r0, r1, #0x0 + ldr r0, [r0, r2] + mov r1, #0x0 + mov r2, #0x4 + blx sub_020CE34C + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02088438: .word 0x020FD1C0 + + thumb_func_start sub_0208843C +sub_0208843C: ; 0x0208843C + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x16 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_02016A18 + ldr r0, [r5, #0x10] + bl sub_0201FD58 + mov r0, #0x15 + lsl r0, r0, #0x4 + ldr r0, [r5, r0] + bl sub_02009C30 + mov r0, #0x55 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02009E28 + mov r7, #0x15 + lsl r7, r7, #0x4 + add r6, r7, #0x0 + mov r4, #0x0 + sub r6, #0x10 +_0208846E: + ldr r0, [r5, r7] + bl sub_02009448 + ldr r0, [r5, r6] + bl sub_02008E2C + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blo _0208846E + pop {r3-r7, pc} + + thumb_func_start sub_02088484 +sub_02088484: ; 0x02088484 + ldr r3, _0208848C ; =sub_0201FDEC + ldr r0, [r0, #0x10] + bx r3 + nop +_0208848C: .word sub_0201FDEC + 1 + + thumb_func_start sub_02088490 +sub_02088490: ; 0x02088490 + push {r3-r7, lr} + sub sp, #0x70 + str r1, [sp, #0x2c] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + add r5, r0, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x30] + bl sub_020887CC + str r0, [sp, #0x3c] + cmp r0, #0x0 + bge _020884B4 + bl sub_02020C2C + add sp, #0x70 + mov r0, #0x0 + pop {r3-r7, pc} +_020884B4: + ldr r0, [r5, #0x0] + mov r1, #0x8 + bl sub_02016998 + str r0, [sp, #0x38] + mov r1, #0x0 + mov r2, #0x8 + blx sub_020CE34C + ldr r1, [sp, #0x3c] + ldr r0, [sp, #0x38] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x94] + cmp r0, #0x0 + bne _020884D6 + mov r6, #0x1 + b _020884D8 +_020884D6: + mov r6, #0x2 +_020884D8: + ldr r0, [sp, #0x3c] + mov r1, #0x55 + lsl r1, r1, #0x2 + lsl r4, r0, #0x2 + ldr r0, [r5, r1] + ldr r3, [sp, #0x2c] + ldr r0, [r0, #0x0] + sub r1, #0x10 + ldr r0, [r0, r4] + mov r2, #0x58 + str r0, [sp, #0x34] + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r5, #0x0] + add r3, r3, #0x3 + str r0, [sp, #0x4] + ldr r0, [r5, r1] + ldr r1, [sp, #0x34] + bl sub_02009168 + mov r0, #0x55 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + ldr r0, [r0, #0x0] + ldr r0, [r0, r4] + bl sub_02009DE0 + ldr r0, [r5, #0x0] + mov r1, #0x10 + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + mov r1, #0x8 + bl sub_02016998 + str r0, [r4, #0x8] + ldr r0, [r5, #0x0] + mov r1, #0x24 + bl sub_02016998 + ldr r1, [r4, #0x8] + mov r3, #0xe + str r0, [r1, #0x0] + ldr r0, [r4, #0x8] + lsl r3, r3, #0xc + ldr r0, [r0, #0x0] + mov r1, #0x0 + str r0, [r4, #0x4] + mov r0, #0x0 + str r3, [sp, #0x0] + mvn r0, r0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r1, [sp, #0xc] + add r0, sp, #0x78 + ldrb r0, [r0, #0x14] + str r0, [sp, #0x10] + mov r0, #0x5 + lsl r0, r0, #0x6 + ldr r2, [r5, r0] + str r2, [sp, #0x14] + add r2, r0, #0x4 + ldr r2, [r5, r2] + str r2, [sp, #0x18] + add r2, r0, #0x0 + add r2, #0x8 + ldr r2, [r5, r2] + add r0, #0xc + str r2, [sp, #0x1c] + ldr r0, [r5, r0] + str r0, [sp, #0x20] + str r1, [sp, #0x24] + str r1, [sp, #0x28] + ldr r2, [sp, #0x3c] + ldr r0, [r4, #0x4] + add r1, r3, #0x0 + add r2, r2, r3 + bl sub_02008AA4 + ldr r0, [r5, #0x10] + cmp r7, #0x0 + str r0, [sp, #0x40] + ldr r0, [r4, #0x4] + str r0, [sp, #0x44] + beq _02088596 + lsl r0, r7, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _020885A4 +_02088596: + lsl r0, r7, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_020885A4: + blx sub_020EB4C0 + str r0, [sp, #0x48] + ldr r0, [sp, #0x30] + cmp r0, #0x0 + beq _020885C2 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _020885D0 +_020885C2: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_020885D0: + blx sub_020EB4C0 + str r0, [sp, #0x4c] + add r0, sp, #0x78 + ldrh r0, [r0, #0x10] + cmp r0, #0x0 + beq _020885F0 + lsl r0, r0, #0xc + blx sub_020EB534 + add r1, r0, #0x0 + mov r0, #0x3f + lsl r0, r0, #0x18 + blx sub_020EA980 + b _020885FE +_020885F0: + lsl r0, r0, #0xc + blx sub_020EB534 + mov r1, #0x3f + lsl r1, r1, #0x18 + blx sub_020EB7B0 +_020885FE: + blx sub_020EB4C0 + str r0, [sp, #0x50] + cmp r6, #0x2 + bne _02088612 + mov r0, #0x3 + ldr r1, [sp, #0x4c] + lsl r0, r0, #0x12 + add r0, r1, r0 + str r0, [sp, #0x4c] +_02088612: + mov r0, #0x1 + lsl r0, r0, #0xc + str r0, [sp, #0x54] + str r0, [sp, #0x58] + str r0, [sp, #0x5c] + mov r1, #0x0 + add r0, sp, #0x40 + strh r1, [r0, #0x20] + add r0, sp, #0x78 + ldrb r0, [r0, #0x18] + str r6, [sp, #0x68] + str r0, [sp, #0x64] + ldr r0, [r5, #0x0] + str r0, [sp, #0x6c] + add r0, sp, #0x40 + bl sub_0201FE94 + str r0, [r4, #0x0] + cmp r0, #0x0 + beq _02088652 + mov r1, #0x0 + bl sub_02020130 + ldr r0, [sp, #0x34] + add r1, r6, #0x0 + bl sub_02009E88 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl sub_02020248 + b _02088656 +_02088652: + bl sub_02020C2C +_02088656: + ldr r0, [sp, #0x38] + str r4, [r0, #0x4] + add sp, #0x70 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_02088660 +sub_02088660: ; 0x02088660 + push {r4, lr} + sub sp, #0x8 + add r3, r2, #0x0 + mov r2, #0x55 + lsl r2, r2, #0x2 + ldr r4, [r0, r2] + ldrh r1, [r1, #0x0] + ldr r4, [r4, #0x0] + sub r2, #0x10 + lsl r1, r1, #0x2 + ldr r4, [r4, r1] + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r1, [r0, #0x0] + add r3, r3, #0x3 + str r1, [sp, #0x4] + ldr r0, [r0, r2] + add r1, r4, #0x0 + mov r2, #0x58 + bl sub_02009168 + add r0, r4, #0x0 + bl sub_02009DE0 + add sp, #0x8 + pop {r4, pc} + + thumb_func_start sub_02088694 +sub_02088694: ; 0x02088694 + push {r3-r5, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x4] + bl sub_0200C3DC + mov r1, #0x16 + ldrh r2, [r4, #0x0] + lsl r1, r1, #0x4 + ldr r3, [r5, r1] + mov r0, #0x0 + lsl r2, r2, #0x2 + strb r0, [r3, r2] + ldrh r2, [r4, #0x0] + ldr r3, [r5, r1] + lsl r2, r2, #0x2 + add r2, r3, r2 + strh r0, [r2, #0x2] + ldr r2, [r5, r1] + ldrh r1, [r4, #0x0] + lsl r1, r1, #0x2 + add r1, r2, r1 + strb r0, [r1, #0x1] + add r0, r4, #0x0 + bl sub_02016A18 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020886CC +sub_020886CC: ; 0x020886CC + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + mov r0, #0x15 + lsl r0, r0, #0x4 + ldr r4, [r5, r0] + mov r1, #0xe + lsl r1, r1, #0xc + str r1, [sp, #0x0] + ldrh r1, [r5, #0xe] + mov r2, #0x0 + sub r0, #0x10 + str r1, [sp, #0x4] + ldr r1, [r5, #0x0] + add r3, r2, #0x0 + str r1, [sp, #0x8] + ldr r0, [r5, r0] + mov r1, #0x58 + bl sub_02008F34 + ldr r1, [r4, #0x0] + str r0, [r1, #0x0] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02088704 + bl sub_02020C2C +_02088704: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _02088728 + cmp r0, #0x1 + beq _02088714 + cmp r0, #0x2 + beq _0208871E + b _02088728 +_02088714: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + bl sub_02009B04 + b _02088730 +_0208871E: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + bl sub_02009B78 + b _02088730 +_02088728: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x0] + bl sub_02009A50 +_02088730: + mov r4, #0x0 + add r6, r5, #0x0 +_02088734: + mov r0, #0x56 + lsl r0, r0, #0x2 + ldr r7, [r6, r0] + mov r0, #0xe + lsl r0, r0, #0xc + str r0, [sp, #0x0] + add r0, r4, #0x2 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + mov r1, #0x58 + str r0, [sp, #0x8] + mov r0, #0x52 + lsl r0, r0, #0x2 + ldr r0, [r6, r0] + add r2, r4, #0x1 + mov r3, #0x0 + bl sub_020090AC + ldr r1, [r7, #0x0] + str r0, [r1, #0x0] + ldr r0, [r7, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02088768 + bl sub_02020C2C +_02088768: + add r4, r4, #0x1 + add r6, r6, #0x4 + cmp r4, #0x2 + blt _02088734 + mov r0, #0x55 + lsl r0, r0, #0x2 + ldr r6, [r5, r0] + ldrh r0, [r5, #0xa] + mov r7, #0x0 + cmp r0, #0x0 + ble _020887C6 + add r4, r7, #0x0 +_02088780: + mov r0, #0xe + lsl r0, r0, #0xc + add r0, r7, r0 + str r0, [sp, #0x0] + ldrh r0, [r5, #0xe] + mov r1, #0x58 + mov r2, #0x4 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + ldr r0, [r5, #0x0] + mov r3, #0x0 + str r0, [sp, #0xc] + mov r0, #0x51 + lsl r0, r0, #0x2 + ldr r0, [r5, r0] + bl sub_02008FEC + ldr r1, [r6, #0x0] + str r0, [r1, r4] + ldr r0, [r6, #0x0] + ldr r0, [r0, r4] + cmp r0, #0x0 + bne _020887B4 + bl sub_02020C2C +_020887B4: + ldr r0, [r6, #0x0] + ldr r0, [r0, r4] + bl sub_02009CF0 + ldrh r0, [r5, #0xa] + add r7, r7, #0x1 + add r4, r4, #0x4 + cmp r7, r0 + blt _02088780 +_020887C6: + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start sub_020887CC +sub_020887CC: ; 0x020887CC + push {r3-r6} + ldrh r5, [r0, #0xa] + mov r3, #0x0 + cmp r5, #0x0 + bls _0208880A + mov r2, #0x16 + lsl r2, r2, #0x4 + ldr r4, [r0, r2] +_020887DC: + lsl r2, r3, #0x2 + ldrb r6, [r4, r2] + cmp r6, #0x0 + bne _02088800 + add r4, r4, r2 + strh r3, [r4, #0x2] + mov r4, #0x16 + lsl r4, r4, #0x4 + ldr r5, [r0, r4] + add r5, r5, r2 + strb r1, [r5, #0x1] + ldr r0, [r0, r4] + mov r1, #0x1 + strb r1, [r0, r2] + lsl r0, r3, #0x10 + asr r0, r0, #0x10 + pop {r3-r6} + bx lr +_02088800: + add r2, r3, #0x1 + lsl r2, r2, #0x10 + lsr r3, r2, #0x10 + cmp r3, r5 + blo _020887DC +_0208880A: + mov r0, #0x0 + mvn r0, r0 + pop {r3-r6} + bx lr + .balign 4 + + thumb_func_start sub_02088814 +sub_02088814: ; 0x02088814 + mov r0, #0x3 + bx lr + + thumb_func_start sub_02088818 +sub_02088818: ; 0x02088818 + bx lr + .balign 4 + + thumb_func_start sub_0208881C +sub_0208881C: ; 0x0208881C + ldr r3, _02088828 ; =sub_0202D8D0 + add r2, r0, #0x0 + ldr r0, _0208882C ; =0x020FD1C4 + mov r1, #0x6c + bx r3 + nop +_02088828: .word sub_0202D8D0 + 1 +_0208882C: .word 0x020FD1C4 + + thumb_func_start sub_02088830 +sub_02088830: ; 0x02088830 + ldr r0, _02088834 ; =0x0000066C + bx lr + .balign 4 +_02088834: .word 0x0000066C + + thumb_func_start sub_02088838 +sub_02088838: ; 0x02088838 + mov r0, #0x2f + lsl r0, r0, #0x6 + bx lr + .balign 4 + + thumb_func_start sub_02088840 +sub_02088840: ; 0x02088840 + mov r0, #0x3f + lsl r0, r0, #0x4 + bx lr + .balign 4 + + thumb_func_start sub_02088848 +sub_02088848: ; 0x02088848 + mov r0, #0xa + bx lr + + thumb_func_start sub_0208884C +sub_0208884C: ; 0x0208884C + mov r0, #0x32 + bx lr + + thumb_func_start sub_02088850 +sub_02088850: ; 0x02088850 + mov r0, #0x4 + bx lr + + thumb_func_start sub_02088854 +sub_02088854: ; 0x02088854 + mov r0, #0x4 + bx lr + + thumb_func_start sub_02088858 +sub_02088858: ; 0x02088858 + ldr r3, _02088860 ; =sub_02005FDC + ldr r0, _02088864 ; =0x00000004 + mov r1, #0x2 + bx r3 + .balign 4 +_02088860: .word sub_02005FDC + 1 +_02088864: .word 0x00000004 + + thumb_func_start sub_02088868 +sub_02088868: ; 0x02088868 + ldr r3, _02088870 ; =sub_02005F60 + ldr r0, _02088874 ; =0x00000004 + bx r3 + nop +_02088870: .word sub_02005F60 + 1 +_02088874: .word 0x00000004 + + thumb_func_start sub_02088878 +sub_02088878: ; 0x02088878 + ldr r3, _02088880 ; =sub_02005FDC + ldr r0, _02088884 ; =0x0000000D + mov r1, #0x2 + bx r3 + .balign 4 +_02088880: .word sub_02005FDC + 1 +_02088884: .word 0x0000000D + + thumb_func_start sub_02088888 +sub_02088888: ; 0x02088888 + ldr r3, _02088890 ; =sub_02005F60 + ldr r0, _02088894 ; =0x0000000D + bx r3 + nop +_02088890: .word sub_02005F60 + 1 +_02088894: .word 0x0000000D + + thumb_func_start sub_02088898 +sub_02088898: ; 0x02088898 + push {r4, lr} + add r4, r1, #0x0 + bl sub_02088858 + bl sub_02088878 + add r0, r4, #0x0 + bl sub_02211E60 + bl sub_02088888 + bl sub_02088868 + mov r0, #0x0 + blx sub_020CD3B4 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020888BC +sub_020888BC: ; 0x020888BC + ldr r3, _020888C4 ; =sub_02005FDC + ldr r0, _020888C8 ; =0x0000004F + mov r1, #0x2 + bx r3 + .balign 4 +_020888C4: .word sub_02005FDC + 1 +_020888C8: .word 0x0000004F + + thumb_func_start sub_020888CC +sub_020888CC: ; 0x020888CC + ldr r3, _020888D4 ; =sub_02005F60 + ldr r0, _020888D8 ; =0x0000004F + bx r3 + nop +_020888D4: .word sub_02005F60 + 1 +_020888D8: .word 0x0000004F + + thumb_func_start sub_020888DC +sub_020888DC: ; 0x020888DC + push {r4, lr} + mov r2, #0x41 + add r4, r0, #0x0 + mov r0, #0x3 + mov r1, #0x31 + lsl r2, r2, #0xc + bl sub_0201681C + add r0, r4, #0x0 + bl sub_0200628C + ldr r0, [r0, #0x8] + mov r1, #0x31 + bl sub_02088898 + mov r0, #0x31 + bl sub_020168D0 + mov r0, #0x0 + blx sub_020CD3B4 + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0208890C +sub_0208890C: ; 0x0208890C + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r2, #0x0 + mov r1, #0x20 + add r7, r3, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x20 + blx sub_020CE34C + str r5, [r4, #0xc] + add r0, r5, #0x0 + bl sub_02028048 + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_020238F4 + str r0, [r4, #0x10] + add r0, r5, #0x0 + bl sub_0206F158 + str r0, [r4, #0x14] + add r0, r5, #0x0 + bl sub_02023900 + str r0, [r4, #0x18] + str r7, [r4, #0x1c] + str r6, [r4, #0x4] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start sub_02088950 +sub_02088950: ; 0x02088950 + ldr r3, _02088958 ; =sub_020373D4 + add r2, r1, #0x0 + ldr r1, _0208895C ; =0x020FD6E4 + bx r3 + .balign 4 +_02088958: .word sub_020373D4 + 1 +_0208895C: .word 0x020FD6E4 + + thumb_func_start sub_02088960 +sub_02088960: ; 0x02088960 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl sub_020377AC + add r3, r5, #0x0 + add r3, #0x98 + add r1, r0, #0x0 + ldr r3, [r3, #0x0] + add r0, r4, #0x0 + add r2, r6, #0x0 + bl sub_0208890C + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl sub_02088950 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_0208898C +sub_0208898C: ; 0x0208898C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _020889AC + bl sub_02006290 + cmp r0, #0x0 + beq _020889AC + ldr r0, [r4, #0x0] + bl sub_02006260 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} +_020889AC: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start sub_020889B0 +sub_020889B0: ; 0x020889B0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl sub_0200628C + mov r2, #0x1 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x37 + lsl r2, r2, #0xe + bl sub_0201681C + add r0, r4, #0x0 + mov r1, #0x24 + mov r2, #0x37 + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x24 + add r4, r0, #0x0 + blx sub_020CE34C + mov r0, #0x37 + str r0, [r4, #0x0] + str r5, [r4, #0x10] + ldr r0, [r4, #0x0] + bl sub_0206F164 + str r0, [r4, #0xc] + ldr r0, [r5, #0x4] + cmp r0, #0x1 + bne _020889FA + ldrh r1, [r4, #0x6] + mov r0, #0xff + bic r1, r0 + mov r0, #0x1 + orr r0, r1 + strh r0, [r4, #0x6] +_020889FA: + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_02088A00 +sub_02088A00: ; 0x02088A00 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_02006278 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200628C + ldr r5, [r4, #0x0] + cmp r5, #0x4 + bhi _02088A6A + add r0, r5, r5 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r0, r1, #0 + lsl r6, r2, #0 + lsl r4, r4, #0 + lsl r2, r6, #0 + lsl r0, r0, #0x1 + add r1, r6, #0x0 + add r0, r6, #0x0 + add r1, #0x14 + bl sub_02088AAC + str r0, [r4, #0x0] + b _02088A6A +_02088A3C: + .byte 0x31, 0x1C, 0x30, 0x1C + .byte 0x14, 0x31, 0x00, 0xF0, 0x5B, 0xF8, 0x20, 0x60, 0x0F, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31 + .byte 0x00, 0xF0, 0x6A, 0xF8, 0x20, 0x60, 0x08, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31, 0x00, 0xF0 + .byte 0x73, 0xF8, 0x20, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD +_02088A6A: + ldr r0, [r4, #0x0] + cmp r5, r0 + beq _02088A74 + mov r0, #0x0 + str r0, [r6, #0x14] +_02088A74: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start sub_02088A78 +sub_02088A78: ; 0x02088A78 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02006278 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl sub_0200628C + ldr r0, [r4, #0xc] + ldr r6, [r4, #0x0] + bl sub_02016A18 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x24 + blx sub_020CE34C + add r0, r5, #0x0 + bl sub_0200627C + add r0, r6, #0x0 + bl sub_020168D0 + mov r0, #0x1 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start sub_02088AAC +sub_02088AAC: ; 0x02088AAC + push {r4, lr} + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x5 + bhi _02088AF6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r2, r2, #0 + lsl r2, r3, #0 + lsl r2, r4, #0 + lsl r2, r5, #0 + lsl r6, r5, #0 + bl sub_02088B4C + str r0, [r4, #0x0] + b _02088AF6 +_02088AD6: + .byte 0x00, 0xF0, 0x67, 0xF8, 0x20, 0x60, 0x0B, 0xE0, 0x00, 0xF0 + .byte 0xAD, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0x00, 0xF0, 0xF9, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0x01, 0x20 + .byte 0x10, 0xBD, 0x04, 0x20, 0x10, 0xBD +_02088AF6: + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02088AFC +sub_02088AFC: ; 0x02088AFC + push {r3-r5, lr} + sub sp, #0x10 + ldr r5, _02088B24 ; =0x020FD708 + add r3, sp, #0x0 + add r4, r0, #0x0 + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + ldr r2, [r4, #0x0] + add r1, r4, #0x0 + bl sub_02006234 + str r0, [r4, #0x1c] + mov r0, #0x2 + add sp, #0x10 + pop {r3-r5, pc} + nop +_02088B24: .word 0x020FD708 + + thumb_func_start sub_02088B28 +sub_02088B28: ; 0x02088B28 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x1c + bl sub_0208898C + cmp r0, #0x0 + bne _02088B3A + mov r0, #0x2 + pop {r4, pc} +_02088B3A: + ldr r0, [r4, #0x20] + cmp r0, #0x1 + bne _02088B44 + mov r0, #0x0 + pop {r4, pc} +_02088B44: + mov r0, #0x3 + pop {r4, pc} + + thumb_func_start sub_02088B48 +sub_02088B48: ; 0x02088B48 + mov r0, #0x4 + bx lr + + thumb_func_start sub_02088B4C +sub_02088B4C: ; 0x02088B4C + push {r3-r5, lr} + sub sp, #0x10 + ldr r3, _02088BA0 ; =0x020FD6F8 + add r2, sp, #0x0 + add r5, r0, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x10] + ldr r1, _02088BA4 ; =0x020FD6F4 + ldr r0, [r0, #0x14] + ldr r2, [r5, #0x0] + bl sub_0206EFEC + add r4, r0, #0x0 + ldrh r0, [r5, #0x6] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bne _02088B7A + mov r2, #0x5 + b _02088B7C +_02088B7A: + mov r2, #0x4 +_02088B7C: + ldr r1, [r5, #0x10] + lsl r2, r2, #0x18 + ldr r1, [r1, #0xc] + ldr r3, [r5, #0xc] + add r0, r4, #0x0 + lsr r2, r2, #0x18 + bl sub_0206E314 + ldr r2, [r5, #0x0] + add r0, sp, #0x0 + add r1, r4, #0x0 + bl sub_02006234 + str r0, [r5, #0x1c] + str r4, [r5, #0x18] + mov r0, #0x1 + add sp, #0x10 + pop {r3-r5, pc} + .balign 4 +_02088BA0: .word 0x020FD6F8 +_02088BA4: .word 0x020FD6F4 + + thumb_func_start sub_02088BA8 +sub_02088BA8: ; 0x02088BA8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x1c + bl sub_0208898C + cmp r0, #0x0 + bne _02088BBA + mov r0, #0x1 + pop {r3-r5, pc} +_02088BBA: + ldr r0, [r4, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0206E2F0 + add r5, r0, #0x0 + bl sub_0206E308 + add r2, r0, #0x0 + ldr r1, [r4, #0x18] + add r0, r5, #0x0 + blx sub_020DF438 + ldr r0, [r4, #0x18] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x18] + add r0, r5, #0x0 + bl sub_0206E37C + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_0206E384 + cmp r0, #0x5 + bhi _02088C16 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r2, r3, #0 + lsl r2, r1, #0 + lsl r2, r3, #0 + lsl r2, r3, #0 + lsl r2, r3, #0 + lsl r6, r1, #0 + mov r0, #0x2 + pop {r3-r5, pc} +_02088C12: + .byte 0x05, 0x20, 0x38, 0xBD +_02088C16: + bl sub_02020C2C + mov r0, #0x95 + str r0, [r4, #0x8] + ldr r0, [r4, #0x10] + ldr r1, [r4, #0x8] + ldr r0, [r0, #0x14] + lsl r1, r1, #0x10 + ldr r3, [r4, #0x0] + lsr r1, r1, #0x10 + mov r2, #0x1 + bl sub_0206EDD4 + cmp r0, #0x0 + bne _02088C38 + bl sub_02020C2C +_02088C38: + mov r0, #0x4 + pop {r3-r5, pc} + + thumb_func_start sub_02088C3C +sub_02088C3C: ; 0x02088C3C + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + ldr r3, _02088CD8 ; =0x020FD718 + ldr r0, [r0, #0x14] + add r2, sp, #0x8 + str r0, [sp, #0x0] + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_020851B8 + str r0, [r5, #0x18] + ldr r1, [r5, #0x8] + mov r2, #0x1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + bl sub_020851DC + mov r6, #0x0 + add r4, r6, #0x0 +_02088C70: + add r0, r4, #0x0 + bl sub_0206EB1C + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r0, [sp, #0x0] + ldr r3, [r5, #0x0] + add r1, r7, #0x0 + mov r2, #0x1 + bl sub_0206EE50 + cmp r0, #0x1 + bne _02088C9A + ldr r0, [r5, #0x18] + add r1, r7, #0x0 + mov r2, #0x0 + bl sub_020851DC + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_02088C9A: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x40 + blo _02088C70 + add r3, sp, #0x4 + ldr r0, [r5, #0xc] + mov r1, #0x4 + add r2, sp, #0x4 + add r3, #0x1 + bl sub_0206F17C + add r2, sp, #0x4 + ldrb r1, [r2, #0x1] + add r3, r6, #0x2 + lsl r3, r3, #0x18 + ldrb r2, [r2, #0x0] + ldr r0, [r5, #0x18] + lsr r3, r3, #0x18 + bl sub_020851F8 + ldr r1, [r5, #0x18] + ldr r2, [r5, #0x0] + add r0, sp, #0x8 + bl sub_02006234 + str r0, [r5, #0x1c] + mov r0, #0x3 + add sp, #0x18 + pop {r3-r7, pc} + nop +_02088CD8: .word 0x020FD718 + + thumb_func_start sub_02088CDC +sub_02088CDC: ; 0x02088CDC + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, #0x1c + bl sub_0208898C + cmp r0, #0x0 + bne _02088CF2 + add sp, #0x4 + mov r0, #0x3 + pop {r3-r4, pc} +_02088CF2: + add r1, sp, #0x0 + ldr r0, [r4, #0x18] + add r1, #0x1 + add r2, sp, #0x0 + bl sub_0208524C + add r3, sp, #0x0 + ldrb r2, [r3, #0x0] + ldrb r3, [r3, #0x1] + ldr r0, [r4, #0xc] + mov r1, #0x4 + bl sub_0206F190 + ldr r0, [r4, #0x18] + bl sub_02016A18 + mov r0, #0x0 + str r0, [r4, #0x18] + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start sub_02088D1C +sub_02088D1C: ; 0x02088D1C + mov r0, #0x13 + bx lr + + thumb_func_start sub_02088D20 +sub_02088D20: ; 0x02088D20 + ldr r3, _02088D3C ; =0x020FD8C8 + mov r2, #0x0 +_02088D24: + ldrb r1, [r3, #0x0] + cmp r0, r1 + bne _02088D2E + add r0, r2, #0x0 + bx lr +_02088D2E: + add r2, r2, #0x1 + add r3, #0xc + cmp r2, #0x13 + blo _02088D24 + mov r0, #0x0 + bx lr + nop +_02088D3C: .word 0x020FD8C8 + + thumb_func_start sub_02088D40 +sub_02088D40: ; 0x02088D40 + push {r3, lr} + bl sub_02088D20 + bl sub_02088D4C + pop {r3, pc} + + thumb_func_start sub_02088D4C +sub_02088D4C: ; 0x02088D4C + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x13 + blo _02088D58 + bl sub_02020C2C +_02088D58: + mov r0, #0xc + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02088D64 ; =0x020FD8CA + ldrh r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02088D64: .word 0x020FD8CA + + thumb_func_start sub_02088D68 +sub_02088D68: ; 0x02088D68 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x13 + blo _02088D74 + bl sub_02020C2C +_02088D74: + mov r0, #0xc + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02088D80 ; =0x020FD8C8 + ldrb r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02088D80: .word 0x020FD8C8 + + thumb_func_start sub_02088D84 +sub_02088D84: ; 0x02088D84 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x13 + blo _02088D90 + bl sub_02020C2C +_02088D90: + mov r0, #0xc + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02088D9C ; =0x020FD8C9 + ldrb r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02088D9C: .word 0x020FD8C9 + + thumb_func_start sub_02088DA0 +sub_02088DA0: ; 0x02088DA0 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x13 + blo _02088DAC + bl sub_02020C2C +_02088DAC: + mov r0, #0xc + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02088DB8 ; =0x020FD8CC + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02088DB8: .word 0x020FD8CC + + thumb_func_start sub_02088DBC +sub_02088DBC: ; 0x02088DBC + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x13 + blo _02088DC8 + bl sub_02020C2C +_02088DC8: + mov r0, #0xc + add r1, r4, #0x0 + mul r1, r0 + ldr r0, _02088DD4 ; =0x020FD8D0 + ldr r0, [r0, r1] + pop {r4, pc} + .balign 4 +_02088DD4: .word 0x020FD8D0 + + thumb_func_start sub_02088DD8 +sub_02088DD8: ; 0x02088DD8 + push {r3, lr} + mov r1, #0x18 + bl sub_02016998 + add r3, r0, #0x0 + mov r2, #0x18 + mov r1, #0x0 +_02088DE6: + strb r1, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _02088DE6 + pop {r3, pc} + + thumb_func_start sub_02088DF0 +sub_02088DF0: ; 0x02088DF0 + ldr r3, _02088DF4 ; =sub_02016A18 + bx r3 + .balign 4 +_02088DF4: .word sub_02016A18 + 1 + + thumb_func_start sub_02088DF8 +sub_02088DF8: ; 0x02088DF8 + push {r3-r7, lr} + sub sp, #0x18 + str r1, [sp, #0x0] + mov r1, #0x5 + mov r2, #0x0 + add r5, r0, #0x0 + bl sub_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0xc] + add r0, r5, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0xa0 + mov r2, #0x0 + bl sub_020671BC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r4, #0x0 + str r0, [sp, #0x4] + add r7, r4, #0x0 + add r6, sp, #0x10 +_02088E34: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x36 + add r2, r7, #0x0 + bl sub_020671BC + lsl r1, r4, #0x1 + strh r0, [r6, r1] + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x4 + blo _02088E34 + ldr r0, [sp, #0x0] + mov r1, #0x2c + bl sub_02016998 + add r7, r0, #0x0 + ldr r0, [sp, #0x0] + mov r1, #0x2c + bl sub_02016998 + add r4, r0, #0x0 + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x8] + add r2, r7, #0x0 + bl sub_02069F9C + mov r2, #0x0 + mov r12, r2 +_02088E70: + mov r0, r12 + lsl r0, r0, #0x1 + ldrh r5, [r7, r0] + ldr r6, _02088EF4 ; =0x0000FFFF + cmp r5, r6 + bne _02088E82 + lsl r0, r2, #0x1 + strh r6, [r4, r0] + b _02088EE8 +_02088E82: + mov r1, #0xfe + lsl r1, r1, #0x8 + and r1, r5 + asr r3, r1, #0x9 + ldr r1, [sp, #0x4] + cmp r3, r1 + bgt _02088EDA + lsr r1, r6, #0x7 + and r1, r5 + strh r1, [r7, r0] + ldrh r3, [r7, r0] + mov r1, #0x0 + add r6, sp, #0x10 +_02088E9C: + lsl r5, r1, #0x1 + ldrh r5, [r6, r5] + cmp r3, r5 + beq _02088EAE + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x4 + blo _02088E9C +_02088EAE: + cmp r1, #0x4 + bne _02088EDA + mov r1, #0x0 + cmp r2, #0x0 + bls _02088ECA +_02088EB8: + lsl r5, r1, #0x1 + ldrh r5, [r4, r5] + cmp r5, r3 + beq _02088ECA + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r2 + blo _02088EB8 +_02088ECA: + cmp r1, r2 + bne _02088EDA + ldrh r1, [r7, r0] + lsl r0, r2, #0x1 + strh r1, [r4, r0] + add r0, r2, #0x1 + lsl r0, r0, #0x18 + lsr r2, r0, #0x18 +_02088EDA: + mov r0, r12 + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r12, r0 + cmp r0, #0x16 + blo _02088E70 +_02088EE8: + add r0, r7, #0x0 + bl sub_02016A18 + add r0, r4, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_02088EF4: .word 0x0000FFFF + + thumb_func_start sub_02088EF8 +sub_02088EF8: ; 0x02088EF8 + ldrh r1, [r0, #0x0] + ldr r0, _02088F08 ; =0x0000FFFF + cmp r1, r0 + beq _02088F04 + mov r0, #0x1 + bx lr +_02088F04: + mov r0, #0x0 + bx lr + .balign 4 +_02088F08: .word 0x0000FFFF + + thumb_func_start sub_02088F0C +sub_02088F0C: ; 0x02088F0C + push {r4-r6, lr} + add r5, r1, #0x0 + ldr r1, _02088F44 ; =0x0000195C + add r6, r0, #0x0 + bl sub_02016998 + add r4, r0, #0x0 + add r0, r6, #0x0 + str r5, [r4, #0x0] + bl sub_020139D8 + str r0, [r4, #0x4] + mov r3, #0x0 + ldr r0, _02088F48 ; =0x0000189E + add r2, r3, #0x0 +_02088F2A: + add r1, r4, r3 + add r3, r3, #0x1 + strb r2, [r1, r0] + cmp r3, #0xbb + blt _02088F2A + add r0, r4, #0x0 + bl sub_02088F60 + add r0, r4, #0x0 + bl sub_020891D0 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02088F44: .word 0x0000195C +_02088F48: .word 0x0000189E + + thumb_func_start sub_02088F4C +sub_02088F4C: ; 0x02088F4C + push {r4, lr} + add r4, r0, #0x0 + beq _02088F5E + ldr r0, [r4, #0x4] + bl sub_02013A10 + add r0, r4, #0x0 + bl sub_02016A18 +_02088F5E: + pop {r4, pc} + + thumb_func_start sub_02088F60 +sub_02088F60: ; 0x02088F60 + push {r4-r7, lr} + sub sp, #0xc + mov r4, #0x0 + str r0, [sp, #0x0] + add r7, r0, #0x0 + str r0, [sp, #0x8] + add r0, #0x68 + ldr r5, _02088F9C ; =0x020FE17C + str r4, [sp, #0x4] + str r0, [sp, #0x8] +_02088F74: + ldr r3, [sp, #0x8] + str r4, [r7, #0x38] + lsl r6, r4, #0x1 + add r3, r3, r6 + ldr r0, [sp, #0x0] + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + ldr r6, [r5, #0x0] + blx r6 + str r0, [r7, #0x8] + add r4, r4, r0 + ldr r0, [sp, #0x4] + add r7, r7, #0x4 + add r0, r0, #0x1 + add r5, #0xc + str r0, [sp, #0x4] + cmp r0, #0xc + blt _02088F74 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02088F9C: .word 0x020FE17C + + thumb_func_start sub_02088FA0 +sub_02088FA0: ; 0x02088FA0 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x0] + ldr r0, [r0, #0x0] + str r2, [sp, #0x4] + add r5, r1, #0x0 + add r4, r3, #0x0 + mov r6, #0x0 + bl sub_02085418 + str r0, [sp, #0x8] + ldr r0, [sp, #0x4] + add r7, r6, #0x0 + cmp r0, #0x0 + bls _02088FF6 +_02088FBE: + ldrh r1, [r5, #0x0] + ldr r0, [sp, #0x8] + bl sub_020245F0 + cmp r0, #0x0 + beq _02088FEC + ldrh r3, [r5, #0x0] + ldr r0, [sp, #0x0] + mov r2, #0x7 + lsr r1, r3, #0x3 + add r1, r0, r1 + ldr r0, _02088FFC ; =0x0000189E + and r3, r2 + mov r2, #0x1 + ldrb r0, [r1, r0] + lsl r2, r3 + orr r2, r0 + ldr r0, _02088FFC ; =0x0000189E + add r6, r6, #0x1 + strb r2, [r1, r0] + ldrh r0, [r5, #0x0] + strh r0, [r4, #0x0] + add r4, r4, #0x2 +_02088FEC: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + add r5, r5, #0x2 + cmp r7, r0 + blo _02088FBE +_02088FF6: + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02088FFC: .word 0x0000189E + + thumb_func_start sub_02089000 +sub_02089000: ; 0x02089000 + push {r3-r7, lr} + str r0, [sp, #0x0] + ldr r0, [r0, #0x0] + add r5, r1, #0x0 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl sub_02085420 + cmp r0, #0x0 + beq _02089046 + mov r2, #0x0 + cmp r7, #0x0 + bls _02089042 +_0208901A: + ldrh r6, [r5, #0x0] + ldr r0, [sp, #0x0] + mov r3, #0x7 + lsr r1, r6, #0x3 + add r1, r0, r1 + ldr r0, _0208904C ; =0x0000189E + and r6, r3 + mov r3, #0x1 + ldrb r0, [r1, r0] + lsl r3, r6 + orr r3, r0 + ldr r0, _0208904C ; =0x0000189E + add r2, r2, #0x1 + strb r3, [r1, r0] + ldrh r0, [r5, #0x0] + add r5, r5, #0x2 + strh r0, [r4, #0x0] + add r4, r4, #0x2 + cmp r2, r7 + blo _0208901A +_02089042: + add r0, r7, #0x0 + pop {r3-r7, pc} +_02089046: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0208904C: .word 0x0000189E + + thumb_func_start sub_02089050 +sub_02089050: ; 0x02089050 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + ldr r0, [r0, #0x0] + add r5, r1, #0x0 + str r2, [sp, #0x4] + add r4, r3, #0x0 + bl sub_0208541C + str r0, [sp, #0xc] + ldr r0, _020890BC ; =0x00000189 + mov r1, #0x0 + bl sub_02013A9C + str r0, [sp, #0x8] + mov r7, #0x0 + ldr r0, [sp, #0x4] + add r6, r7, #0x0 + cmp r0, #0x0 + bls _020890B4 +_02089078: + ldrh r2, [r5, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [sp, #0xc] + sub r1, r2, r1 + bl sub_02013B68 + cmp r0, #0x0 + beq _020890AA + ldrh r3, [r5, #0x0] + ldr r0, [sp, #0x0] + mov r2, #0x7 + lsr r1, r3, #0x3 + add r1, r0, r1 + ldr r0, _020890C0 ; =0x0000189E + and r3, r2 + mov r2, #0x1 + ldrb r0, [r1, r0] + lsl r2, r3 + orr r2, r0 + ldr r0, _020890C0 ; =0x0000189E + add r6, r6, #0x1 + strb r2, [r1, r0] + ldrh r0, [r5, #0x0] + strh r0, [r4, #0x0] + add r4, r4, #0x2 +_020890AA: + ldr r0, [sp, #0x4] + add r7, r7, #0x1 + add r5, r5, #0x2 + cmp r7, r0 + blo _02089078 +_020890B4: + add r0, r6, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_020890BC: .word 0x00000189 +_020890C0: .word 0x0000189E + + thumb_func_start sub_020890C4 +sub_020890C4: ; 0x020890C4 + push {r4-r7, lr} + sub sp, #0x14 + str r0, [sp, #0x0] + ldr r0, [r0, #0x0] + add r5, r1, #0x0 + str r2, [sp, #0x4] + add r4, r3, #0x0 + bl sub_0208541C + str r0, [sp, #0x10] + ldr r0, _02089144 ; =0x00000186 + mov r1, #0x0 + bl sub_02013A9C + add r6, r0, #0x0 + add r0, r6, #0x5 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0xc] + mov r7, #0x0 + ldr r0, [sp, #0x4] + str r7, [sp, #0x8] + cmp r0, #0x0 + bls _0208913C +_020890F4: + ldrh r1, [r5, #0x0] + cmp r1, r6 + blo _0208910C + ldr r0, [sp, #0xc] + cmp r1, r0 + bhi _0208910C + ldr r0, [sp, #0x10] + sub r1, r1, r6 + bl sub_02013C0C + cmp r0, #0x0 + beq _0208912E +_0208910C: + ldrh r3, [r5, #0x0] + ldr r0, [sp, #0x0] + mov r2, #0x7 + lsr r1, r3, #0x3 + add r1, r0, r1 + ldr r0, _02089148 ; =0x0000189E + and r3, r2 + mov r2, #0x1 + ldrb r0, [r1, r0] + lsl r2, r3 + orr r2, r0 + ldr r0, _02089148 ; =0x0000189E + add r7, r7, #0x1 + strb r2, [r1, r0] + ldrh r0, [r5, #0x0] + strh r0, [r4, #0x0] + add r4, r4, #0x2 +_0208912E: + ldr r0, [sp, #0x8] + add r5, r5, #0x2 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x8] + cmp r1, r0 + blo _020890F4 +_0208913C: + add r0, r7, #0x0 + add sp, #0x14 + pop {r4-r7, pc} + nop +_02089144: .word 0x00000186 +_02089148: .word 0x0000189E + + thumb_func_start sub_0208914C +sub_0208914C: ; 0x0208914C + push {r3-r7, lr} + add r6, r0, #0x0 + mov r0, #0x0 + mov lr, r2 + mov r12, r0 + mov r0, lr + add r4, r1, #0x0 + add r7, r3, #0x0 + cmp r0, #0x0 + bls _020891C2 +_02089160: + ldrh r2, [r4, #0x0] + ldr r0, _020891C8 ; =0x0000FFFE + cmp r2, r0 + bne _02089196 + add r0, r4, #0x2 + add r4, r4, #0x4 + ldrh r2, [r0, #0x0] + ldrh r0, [r4, #0x0] + cmp r2, #0x0 + strh r0, [r7, #0x0] + beq _020891B6 +_02089176: + ldrh r5, [r4, #0x0] + mov r3, #0x7 + add r4, r4, #0x2 + lsr r0, r5, #0x3 + add r1, r6, r0 + ldr r0, _020891CC ; =0x0000189E + and r5, r3 + mov r3, #0x1 + ldrb r0, [r1, r0] + lsl r3, r5 + orr r3, r0 + ldr r0, _020891CC ; =0x0000189E + sub r2, r2, #0x1 + strb r3, [r1, r0] + bne _02089176 + b _020891B6 +_02089196: + lsr r0, r2, #0x3 + ldr r1, _020891CC ; =0x0000189E + add r0, r6, r0 + ldrb r3, [r0, r1] + mov r1, #0x7 + mov r5, #0x1 + and r1, r2 + add r2, r5, #0x0 + lsl r2, r1 + ldr r1, _020891CC ; =0x0000189E + orr r2, r3 + strb r2, [r0, r1] + ldrh r0, [r4, #0x0] + add r4, r4, #0x2 + strh r0, [r7, #0x0] + add r7, r7, #0x2 +_020891B6: + mov r0, r12 + add r1, r0, #0x1 + mov r0, lr + mov r12, r1 + cmp r1, r0 + blo _02089160 +_020891C2: + mov r0, lr + pop {r3-r7, pc} + nop +_020891C8: .word 0x0000FFFE +_020891CC: .word 0x0000189E + + thumb_func_start sub_020891D0 +sub_020891D0: ; 0x020891D0 + push {r3-r7, lr} + add r7, r0, #0x0 + mov r4, #0x0 + ldr r6, _0208920C ; =0x020FDDF0 + str r4, [sp, #0x0] + add r5, r7, #0x0 +_020891DC: + ldr r0, _02089210 ; =0x00000C84 + mov r2, #0xcf + str r4, [r5, r0] + lsl r2, r2, #0x4 + ldr r1, [r6, #0x0] + add r0, r7, #0x0 + add r2, r7, r2 + add r3, r4, #0x0 + bl sub_02089218 + ldr r1, _02089214 ; =0x00000C18 + add r6, r6, #0x4 + str r0, [r5, r1] + add r0, r1, #0x0 + ldr r0, [r5, r0] + add r5, r5, #0x4 + add r4, r4, r0 + ldr r0, [sp, #0x0] + add r0, r0, #0x1 + str r0, [sp, #0x0] + cmp r0, #0x1b + blo _020891DC + pop {r3-r7, pc} + nop +_0208920C: .word 0x020FDDF0 +_02089210: .word 0x00000C84 +_02089214: .word 0x00000C18 + + thumb_func_start sub_02089218 +sub_02089218: ; 0x02089218 + push {r3-r7, lr} + add r7, r1, #0x0 + add r6, r0, #0x0 + str r2, [sp, #0x0] + mov r0, #0x0 + mov r12, r0 + ldrh r2, [r7, #0x0] + ldr r0, _020892B8 ; =0x0000FFFF + mov lr, r3 + cmp r2, r0 + beq _020892B4 +_0208922E: + ldr r0, _020892BC ; =0x0000FFFE + cmp r2, r0 + bne _02089280 + add r0, r7, #0x2 + ldrh r5, [r0, #0x0] + add r7, r7, #0x4 + mov r3, #0x0 + cmp r5, #0x0 + bls _0208927A + add r4, r7, #0x0 +_02089242: + ldrh r2, [r4, #0x0] + mov r0, #0x7 + mov r1, #0x1 + and r0, r2 + lsl r1, r0 + lsr r0, r2, #0x3 + add r2, r6, r0 + ldr r0, _020892C0 ; =0x0000189E + ldrb r0, [r2, r0] + tst r0, r1 + beq _02089272 + lsl r0, r3, #0x1 + ldrh r1, [r7, r0] + mov r0, lr + lsl r2, r0, #0x1 + mov r0, lr + add r0, r0, #0x1 + mov lr, r0 + ldr r0, [sp, #0x0] + strh r1, [r0, r2] + mov r0, r12 + add r0, r0, #0x1 + mov r12, r0 + b _0208927A +_02089272: + add r3, r3, #0x1 + add r4, r4, #0x2 + cmp r3, r5 + blo _02089242 +_0208927A: + lsl r0, r5, #0x1 + add r7, r7, r0 + b _020892AC +_02089280: + mov r1, #0x1 + mov r0, #0x7 + and r0, r2 + add r3, r1, #0x0 + lsl r3, r0 + lsr r0, r2, #0x3 + add r1, r6, r0 + ldr r0, _020892C0 ; =0x0000189E + ldrb r0, [r1, r0] + tst r0, r3 + beq _020892AA + mov r1, lr + add r1, r1, #0x1 + mov r0, lr + mov lr, r1 + ldr r1, [sp, #0x0] + lsl r0, r0, #0x1 + strh r2, [r1, r0] + mov r0, r12 + add r0, r0, #0x1 + mov r12, r0 +_020892AA: + add r7, r7, #0x2 +_020892AC: + ldrh r2, [r7, #0x0] + ldr r0, _020892B8 ; =0x0000FFFF + cmp r2, r0 + bne _0208922E +_020892B4: + mov r0, r12 + pop {r3-r7, pc} + .balign 4 +_020892B8: .word 0x0000FFFF +_020892BC: .word 0x0000FFFE +_020892C0: .word 0x0000189E + + thumb_func_start sub_020892C4 +sub_020892C4: ; 0x020892C4 + lsl r1, r1, #0x2 + add r0, r0, r1 + ldr r0, [r0, #0x8] + bx lr + + thumb_func_start sub_020892CC +sub_020892CC: ; 0x020892CC + push {r4, lr} + add r4, r0, #0x0 + lsl r1, r1, #0x2 + add r1, r4, r1 + ldr r1, [r1, #0x38] + ldr r0, [r4, #0x4] + add r1, r1, r2 + lsl r1, r1, #0x1 + add r1, r4, r1 + add r1, #0x68 + ldrh r1, [r1, #0x0] + add r2, r3, #0x0 + bl sub_02013A30 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_020892EC +sub_020892EC: ; 0x020892EC + lsl r1, r1, #0x2 + add r1, r0, r1 + ldr r1, [r1, #0x38] + add r1, r1, r2 + lsl r1, r1, #0x1 + add r0, r0, r1 + add r0, #0x68 + ldrh r0, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start sub_02089300 +sub_02089300: ; 0x02089300 + lsl r1, r1, #0x2 + add r1, r0, r1 + ldr r0, _0208930C ; =0x00000C18 + ldr r0, [r1, r0] + bx lr + nop +_0208930C: .word 0x00000C18 + + thumb_func_start sub_02089310 +sub_02089310: ; 0x02089310 + push {r4-r6, lr} + add r4, r3, #0x0 + add r5, r0, #0x0 + lsl r3, r1, #0x2 + add r6, r5, r3 + ldr r3, _02089334 ; =0x00000C18 + ldr r3, [r6, r3] + cmp r3, #0x0 + beq _02089330 + bl sub_02089338 + add r1, r0, #0x0 + ldr r0, [r5, #0x4] + add r2, r4, #0x0 + bl sub_02013A30 +_02089330: + pop {r4-r6, pc} + nop +_02089334: .word 0x00000C18 + + thumb_func_start sub_02089338 +sub_02089338: ; 0x02089338 + push {r3-r4} + lsl r1, r1, #0x2 + ldr r3, _02089360 ; =0x00000C18 + add r4, r0, r1 + ldr r1, [r4, r3] + cmp r1, #0x0 + beq _0208935A + add r1, r3, #0x0 + add r1, #0x6c + ldr r1, [r4, r1] + add r3, #0xd8 + add r1, r2, r1 + lsl r1, r1, #0x1 + add r0, r0, r1 + ldrh r0, [r0, r3] + pop {r3-r4} + bx lr +_0208935A: + ldr r0, _02089364 ; =0x0000FFFF + pop {r3-r4} + bx lr + .balign 4 +_02089360: .word 0x00000C18 +_02089364: .word 0x0000FFFF + + thumb_func_start sub_02089368 +sub_02089368: ; 0x02089368 + push {r3-r6} + mov r1, #0x0 + ldr r2, _0208938C ; =0x020FF2FC + ldr r5, _02089390 ; =0x020FE17C + add r0, r1, #0x0 + mov r3, #0xc +_02089374: + ldrb r4, [r2, #0x0] + add r1, r1, #0x1 + add r2, r2, #0x1 + add r6, r4, #0x0 + mul r6, r3 + add r4, r5, r6 + ldr r4, [r4, #0x8] + add r0, r0, r4 + cmp r1, #0x5 + blo _02089374 + pop {r3-r6} + bx lr + .balign 4 +_0208938C: .word 0x020FF2FC +_02089390: .word 0x020FE17C + + thumb_func_start sub_02089394 +sub_02089394: ; 0x02089394 + push {r4-r7} + mov r2, #0x0 + ldr r3, _020893D8 ; =0x020FF2FC + add r1, r2, #0x0 +_0208939C: + ldrb r5, [r3, #0x0] + mov r4, #0xc + add r6, r5, #0x0 + mul r6, r4 + ldr r4, _020893DC ; =0x020FE17C + add r5, r4, r6 + ldr r7, [r5, #0x8] + mov r6, #0x0 + ldr r4, [r5, #0x4] + cmp r7, #0x0 + ble _020893C8 +_020893B2: + ldrh r5, [r4, #0x0] + cmp r0, r5 + bne _020893BE + add r0, r2, #0x0 + pop {r4-r7} + bx lr +_020893BE: + add r6, r6, #0x1 + add r2, r2, #0x1 + add r4, r4, #0x2 + cmp r6, r7 + blt _020893B2 +_020893C8: + add r1, r1, #0x1 + add r3, r3, #0x1 + cmp r1, #0x5 + blo _0208939C + mov r0, #0x0 + mvn r0, r0 + pop {r4-r7} + bx lr + .balign 4 +_020893D8: .word 0x020FF2FC +_020893DC: .word 0x020FE17C + + thumb_func_start sub_020893E0 +sub_020893E0: ; 0x020893E0 + mov r1, #0x0 + ldr r0, _020893EC ; =0x02106154 + mvn r1, r1 + str r1, [r0, #0x0] + bx lr + nop +_020893EC: .word 0x02106154 + + thumb_func_start sub_020893F0 +sub_020893F0: ; 0x020893F0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x3 + lsl r0, r0, #0xc + cmp r2, r0 + bhs _0208940A + add r0, r1, #0x0 + ldr r1, _02089410 ; =0x021C5C58 + blx sub_020CE210 + ldr r0, _02089414 ; =0x02106154 + str r4, [r0, #0x0] + pop {r4, pc} +_0208940A: + bl sub_02020C2C + pop {r4, pc} + .balign 4 +_02089410: .word 0x021C5C58 +_02089414: .word 0x02106154 + + thumb_func_start sub_02089418 +sub_02089418: ; 0x02089418 + push {r3, lr} + mov r3, #0x3 + lsl r3, r3, #0xc + cmp r2, r3 + bhs _02089434 + ldr r3, _0208943C ; =0x02106154 + ldr r3, [r3, #0x0] + cmp r0, r3 + bne _02089438 + ldr r0, _02089440 ; =0x021C5C58 + blx sub_020CE210 + mov r0, #0x1 + pop {r3, pc} +_02089434: + bl sub_02020C2C +_02089438: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_0208943C: .word 0x02106154 +_02089440: .word 0x021C5C58 + + thumb_func_start sub_02089444 +sub_02089444: ; 0x02089444 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x3 + lsl r0, r0, #0xc + cmp r2, r0 + bhs _0208945E + add r0, r1, #0x0 + ldr r1, _02089464 ; =0x021C5C58 + blx sub_020CE28C + ldr r0, _02089468 ; =0x02106154 + str r4, [r0, #0x0] + pop {r4, pc} +_0208945E: + bl sub_02020C2C + pop {r4, pc} + .balign 4 +_02089464: .word 0x021C5C58 +_02089468: .word 0x02106154 + + thumb_func_start sub_0208946C +sub_0208946C: ; 0x0208946C + push {r3, lr} + mov r3, #0x3 + lsl r3, r3, #0xc + cmp r2, r3 + bhs _02089488 + ldr r3, _02089490 ; =0x02106154 + ldr r3, [r3, #0x0] + cmp r0, r3 + bne _0208948C + ldr r0, _02089494 ; =0x021C5C58 + blx sub_020CE28C + mov r0, #0x1 + pop {r3, pc} +_02089488: + bl sub_02020C2C +_0208948C: + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02089490: .word 0x02106154 +_02089494: .word 0x021C5C58 + + thumb_func_start sub_02089498 +sub_02089498: ; 0x02089498 + push {r3-r5, lr} + mov r2, #0x2 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x58 + lsl r2, r2, #0x10 + bl sub_0201681C + add r0, r5, #0x0 + mov r1, #0x38 + mov r2, #0x58 + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x38 + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x58 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0200628C + ldr r0, [r0, #0x8] + str r0, [r4, #0x30] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_020894D4 +sub_020894D4: ; 0x020894D4 + push {r3-r6, lr} + sub sp, #0xc + add r5, r1, #0x0 + bl sub_02006278 + ldr r1, [r5, #0x0] + add r4, r0, #0x0 + mov r6, #0x0 + cmp r1, #0x3 + bhi _020895DA + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r6, r0, #0 + lsl r2, r2, #0x2 + lsl r0, r4, #0x2 + lsl r6, r0, #0x3 + ldr r0, _020895E0 ; =0x00000495 + add r1, r6, #0x0 + bl sub_02005350 + add r0, r6, #0x0 + bl sub_0200516C + add r0, r6, #0x0 + bl sub_0200415C + add r0, r6, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + add r1, r6, #0x0 + bl sub_0200E3A0 + add r0, r6, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + add r0, r6, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _020895E4 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _020895E8 ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + add r0, r4, #0x0 + bl sub_0208961C + add r0, r4, #0x0 + bl sub_02089734 + ldr r0, _020895EC ; =sub_02089610 + add r1, r4, #0x0 + bl sub_02015F10 + bl sub_0201E788 + mov r0, #0x6 + mov r1, #0x1 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + ldr r0, [r4, #0x0] + add r2, r1, #0x0 + str r0, [sp, #0x8] + add r0, r6, #0x0 + add r3, r0, #0x0 + bl sub_0200E1D0 + mov r0, #0x1 + str r0, [r5, #0x0] + b _020895DA +_02089588: + .byte 0x84, 0xF7, 0xBE, 0xFE, 0x01, 0x28, 0x24, 0xD1 + .byte 0x02, 0x20, 0x28, 0x60, 0x21, 0xE0, 0x00, 0xF0, 0xFB, 0xF8, 0x01, 0x28, 0x1D, 0xD1, 0x06, 0x20 + .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90, 0x30, 0x1C, 0x01, 0x1C, 0x02, 0x1C + .byte 0x03, 0x1C, 0x84, 0xF7, 0x0D, 0xFE, 0x03, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0x84, 0xF7, 0xA4, 0xFE + .byte 0x01, 0x28, 0x0A, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8 + .byte 0x30, 0x1C, 0x01, 0x1C, 0x8C, 0xF7, 0x9C, 0xFC, 0x01, 0x26 +_020895DA: + add r0, r6, #0x0 + add sp, #0xc + pop {r3-r6, pc} + .balign 4 +_020895E0: .word 0x00000495 +_020895E4: .word 0xFFFFE0FF +_020895E8: .word 0x04001000 +_020895EC: .word sub_02089610 + 1 + + thumb_func_start sub_020895F0 +sub_020895F0: ; 0x020895F0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + ldr r4, [r0, #0x0] + add r0, r5, #0x0 + bl sub_0200627C + add r0, r4, #0x0 + bl sub_020168D0 + mov r0, #0x0 + blx sub_020CD3B4 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start sub_02089610 +sub_02089610: ; 0x02089610 + ldr r3, _02089618 ; =sub_0201AB60 + ldr r0, [r0, #0x14] + bx r3 + nop +_02089618: .word sub_0201AB60 + 1 + + thumb_func_start sub_0208961C +sub_0208961C: ; 0x0208961C + push {r4-r5, lr} + sub sp, #0x5c + ldr r5, _020896C8 ; =0x020FF340 + add r4, r0, #0x0 + add r3, sp, #0x34 + mov r2, #0x5 +_02089628: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02089628 + add r0, sp, #0x34 + bl sub_0201E66C + ldr r0, [r4, #0x0] + bl sub_02016B94 + add r3, sp, #0x24 + ldr r5, _020896CC ; =0x020FF314 + str r0, [r4, #0x14] + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _020896D0 ; =0x020FF324 + add r3, sp, #0x8 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r0, [r3, #0x0] + ldr r0, [r4, #0x14] + add r3, r1, #0x0 + bl sub_02016C18 + ldr r0, [r4, #0x14] + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _020896D4 ; =0x000001E2 + str r0, [sp, #0x4] + ldr r0, [r4, #0x14] + mov r3, #0x2 + bl sub_0200CD68 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _020896D8 ; =0x000001D9 + str r0, [sp, #0x4] + ldr r0, [r4, #0x14] + mov r3, #0x3 + bl sub_0200CB00 + ldr r2, [r4, #0x0] + mov r0, #0x0 + mov r1, #0x20 + bl sub_02002ED0 + mov r0, #0x0 + ldr r3, [r4, #0x0] + mov r1, #0x20 + add r2, r0, #0x0 + bl sub_02017F18 + ldr r1, _020896DC ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _020896DC ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + add sp, #0x5c + pop {r4-r5, pc} + .balign 4 +_020896C8: .word 0x020FF340 +_020896CC: .word 0x020FF314 +_020896D0: .word 0x020FF324 +_020896D4: .word 0x000001E2 +_020896D8: .word 0x000001D9 +_020896DC: .word 0x00006C21 + + thumb_func_start sub_020896E0 +sub_020896E0: ; 0x020896E0 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0201797C + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x3 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x5 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x6 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x7 + mov r1, #0x0 + bl sub_0201797C + ldr r0, [r4, #0x14] + mov r1, #0x0 + bl sub_020178A0 + ldr r0, [r4, #0x14] + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02089734 +sub_02089734: ; 0x02089734 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r3, [r4, #0x0] + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x4 + bl sub_0200A86C + str r0, [r4, #0x18] + bl sub_0201BD5C + mov r0, #0x0 + str r0, [r4, #0x8] + add r1, r4, #0x0 + ldr r0, [r4, #0x14] + ldr r2, _02089778 ; =0x020FF304 + add r1, #0x1c + bl sub_02019150 + mov r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x20 + mov r2, #0x0 + add r4, #0x1c + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + add sp, #0x8 + pop {r4, pc} + nop +_02089778: .word 0x020FF304 + + thumb_func_start sub_0208977C +sub_0208977C: ; 0x0208977C + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x1c + bl sub_02019178 + ldr r0, [r4, #0x18] + bl sub_0200A8B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02089790 +sub_02089790: ; 0x02089790 + push {r3-r5, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + mov r5, #0x0 + cmp r1, #0x6 + bhi _02089888 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r4, r1, #0 + lsl r6, r6, #0 + lsl r6, r2, #0x1 + lsl r0, r0, #0x2 + lsl r0, r4, #0x2 + lsl r0, r0, #0x3 + lsl r2, r2, #0x3 + add r1, r5, #0x0 + mov r2, #0x1 + mov r3, #0x4 + bl sub_0208989C + cmp r0, #0x1 + bne _02089888 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r1, _02089890 ; =0x020FF30C + str r0, [sp, #0x4] + ldr r0, [r4, #0x14] + ldr r2, _02089894 ; =0x000001D9 + mov r3, #0x3 + bl sub_020020EC + str r0, [r4, #0x2c] + mov r0, #0x1 + str r0, [r4, #0x4] + b _02089888 +_020897E2: + .byte 0xE0, 0x6A, 0x21, 0x68, 0x78, 0xF7, 0xE1, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E + .byte 0x88, 0x42, 0x03, 0xD0, 0x48, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x45, 0xE0, 0x06, 0x20, 0x60, 0x60 + .byte 0x42, 0xE0, 0x01, 0x21, 0x0A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x48, 0xF8, 0x01, 0x28, 0x3B, 0xD1 + .byte 0x01, 0x20, 0x00, 0x90, 0x20, 0x68, 0x1E, 0x49, 0x01, 0x90, 0x60, 0x69, 0x1D, 0x4A, 0x03, 0x23 + .byte 0x78, 0xF7, 0x64, 0xFC, 0xE0, 0x62, 0x03, 0x20, 0x60, 0x60, 0x2D, 0xE0, 0xE0, 0x6A, 0x21, 0x68 + .byte 0x78, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x23, 0xE0 + .byte 0x04, 0x20, 0x60, 0x60, 0x20, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x21, 0x01, 0x22 + .byte 0x2B, 0x1C, 0x00, 0xF0, 0x23, 0xF8, 0x01, 0x28, 0x16, 0xD1, 0x20, 0x1C, 0x0E, 0x49, 0x1C, 0x30 + .byte 0x83, 0xF7, 0xFA, 0xFF, 0x60, 0x63, 0x05, 0x20, 0x60, 0x60, 0x0D, 0xE0, 0x20, 0x6B, 0x98, 0xF7 + .byte 0xE5, 0xFE, 0x60, 0x6B, 0x84, 0xF7, 0xC2, 0xF9, 0x06, 0x20, 0x60, 0x60, 0x04, 0xE0, 0x60, 0x69 + .byte 0x29, 0x1C, 0x8E, 0xF7, 0x5F, 0xFF, 0x01, 0x25 +_02089888: + add r0, r5, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + nop +_02089890: .word 0x020FF30C +_02089894: .word 0x000001D9 +_02089898: + .byte 0xE2, 0x01, 0x00, 0x00 + + thumb_func_start sub_0208989C +sub_0208989C: ; 0x0208989C + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, [r5, #0x8] + add r7, r1, #0x0 + add r4, r3, #0x0 + mov r6, #0x0 + cmp r0, #0x0 + beq _020898B8 + cmp r0, #0x1 + beq _02089920 + cmp r0, #0x2 + beq _0208993C + b _02089950 +_020898B8: + mov r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r0, #0x1c + mov r1, #0xf + add r2, r6, #0x0 + add r3, r6, #0x0 + bl sub_020196F4 + add r0, r5, #0x0 + ldr r2, _02089958 ; =0x000001E2 + add r0, #0x1c + add r1, r6, #0x0 + mov r3, #0x2 + bl sub_0200D0BC + mov r0, #0x1 + ldr r1, [r5, #0x0] + lsl r0, r0, #0xa + bl sub_020219F4 + str r0, [r5, #0x10] + ldr r0, [r5, #0x18] + ldr r2, [r5, #0x10] + add r1, r7, #0x0 + bl sub_0200A8E0 + add r3, r6, #0x0 + str r3, [sp, #0x0] + str r4, [sp, #0x4] + str r3, [sp, #0x8] + add r0, r5, #0x0 + ldr r2, [r5, #0x10] + add r0, #0x1c + mov r1, #0x1 + bl sub_0201BD84 + str r0, [r5, #0xc] + cmp r4, #0x0 + bne _02089918 + ldr r0, [r5, #0x10] + bl sub_02021A20 + ldr r0, [r5, #0x8] + add r0, r0, #0x1 + str r0, [r5, #0x8] +_02089918: + ldr r0, [r5, #0x8] + add r0, r0, #0x1 + str r0, [r5, #0x8] + b _02089950 +_02089920: + ldr r0, [r5, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0201BD70 + cmp r0, #0x0 + bne _02089950 + ldr r0, [r5, #0x10] + bl sub_02021A20 + ldr r0, [r5, #0x8] + add r0, r0, #0x1 + str r0, [r5, #0x8] + b _02089950 +_0208993C: + cmp r2, #0x0 + bne _0208994A + ldr r0, _0208995C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _02089950 +_0208994A: + mov r0, #0x0 + str r0, [r5, #0x8] + mov r6, #0x1 +_02089950: + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02089958: .word 0x000001E2 +_0208995C: .word 0x021C48B8 + + thumb_func_start sub_02089960 +sub_02089960: ; 0x02089960 + push {r3-r5, lr} + mov r2, #0x2 + add r5, r0, #0x0 + mov r0, #0x3 + mov r1, #0x58 + lsl r2, r2, #0x10 + bl sub_0201681C + add r0, r5, #0x0 + mov r1, #0x3c + mov r2, #0x58 + bl sub_02006268 + mov r1, #0x0 + mov r2, #0x3c + add r4, r0, #0x0 + blx sub_020DF4A4 + mov r0, #0x58 + str r0, [r4, #0x0] + mov r0, #0x0 + str r0, [r4, #0x4] + add r0, r5, #0x0 + bl sub_0200628C + ldr r0, [r0, #0x8] + str r0, [r4, #0x34] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0208999C +sub_0208999C: ; 0x0208999C + push {r4-r6, lr} + add r5, r1, #0x0 + bl sub_02006278 + ldr r1, [r5, #0x0] + add r6, r0, #0x0 + mov r4, #0x0 + cmp r1, #0x0 + beq _020899B8 + cmp r1, #0x1 + beq _02089A12 + cmp r1, #0x2 + beq _02089A20 + b _02089A34 +_020899B8: + add r0, r4, #0x0 + add r1, r4, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + add r1, r4, #0x0 + bl sub_0200E3A0 + add r0, r4, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + add r0, r4, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02089A38 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _02089A3C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + add r0, r6, #0x0 + bl sub_02089A6C + add r0, r6, #0x0 + bl sub_02089B80 + bl sub_0201E788 + mov r0, #0x1 + str r0, [r5, #0x0] + b _02089A34 +_02089A12: + bl sub_02089BE0 + cmp r0, #0x1 + bne _02089A34 + mov r0, #0x2 + str r0, [r5, #0x0] + b _02089A34 +_02089A20: + bl sub_02089BCC + add r0, r6, #0x0 + bl sub_02089B2C + add r0, r4, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r4, #0x1 +_02089A34: + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 +_02089A38: .word 0xFFFFE0FF +_02089A3C: .word 0x04001000 + + thumb_func_start sub_02089A40 +sub_02089A40: ; 0x02089A40 + push {r3-r5, lr} + add r5, r0, #0x0 + bl sub_02006278 + ldr r4, [r0, #0x0] + add r0, r5, #0x0 + bl sub_0200627C + add r0, r4, #0x0 + bl sub_020168D0 + ldr r0, _02089A64 ; =0x00000053 + ldr r1, _02089A68 ; =0x0223A360 + bl sub_02000E7C + mov r0, #0x1 + pop {r3-r5, pc} + nop +_02089A64: .word 0x00000053 +_02089A68: .word 0x0223A360 + + thumb_func_start sub_02089A6C +sub_02089A6C: ; 0x02089A6C + push {r4-r5, lr} + sub sp, #0x5c + ldr r5, _02089B18 ; =0x020FF3AC + add r4, r0, #0x0 + add r3, sp, #0x34 + mov r2, #0x5 +_02089A78: + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _02089A78 + add r0, sp, #0x34 + bl sub_0201E66C + ldr r0, [r4, #0x0] + bl sub_02016B94 + add r3, sp, #0x24 + ldr r5, _02089B1C ; =0x020FF380 + str r0, [r4, #0x18] + add r2, r3, #0x0 + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + add r0, r2, #0x0 + bl sub_02016BBC + ldr r5, _02089B20 ; =0x020FF390 + add r3, sp, #0x8 + ldmia r5!, {r0-r1} + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + mov r1, #0x0 + str r0, [r3, #0x0] + ldr r0, [r4, #0x18] + add r3, r1, #0x0 + bl sub_02016C18 + ldr r0, [r4, #0x18] + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _02089B24 ; =0x000001E2 + str r0, [sp, #0x4] + ldr r0, [r4, #0x18] + mov r3, #0x2 + bl sub_0200CD68 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, _02089B28 ; =0x000001D9 + str r0, [sp, #0x4] + ldr r0, [r4, #0x18] + mov r3, #0x3 + bl sub_0200CB00 + ldr r2, [r4, #0x0] + mov r0, #0x0 + mov r1, #0x20 + bl sub_02002ED0 + mov r0, #0x0 + ldr r3, [r4, #0x0] + mov r1, #0x20 + add r2, r0, #0x0 + bl sub_02017F18 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02017FE4 + mov r0, #0x4 + mov r1, #0x0 + bl sub_02017FE4 + add sp, #0x5c + pop {r4-r5, pc} + .balign 4 +_02089B18: .word 0x020FF3AC +_02089B1C: .word 0x020FF380 +_02089B20: .word 0x020FF390 +_02089B24: .word 0x000001E2 +_02089B28: .word 0x000001D9 + + thumb_func_start sub_02089B2C +sub_02089B2C: ; 0x02089B2C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0201797C + mov r0, #0x1 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x2 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x3 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x4 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x5 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x6 + mov r1, #0x0 + bl sub_0201797C + mov r0, #0x7 + mov r1, #0x0 + bl sub_0201797C + ldr r0, [r4, #0x18] + mov r1, #0x0 + bl sub_020178A0 + ldr r0, [r4, #0x18] + bl sub_02016A18 + pop {r4, pc} + + thumb_func_start sub_02089B80 +sub_02089B80: ; 0x02089B80 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r2, _02089BC4 ; =0x00000167 + ldr r3, [r4, #0x0] + mov r0, #0x1 + mov r1, #0x1a + bl sub_0200A86C + str r0, [r4, #0x1c] + bl sub_0201BD5C + mov r0, #0x0 + str r0, [r4, #0xc] + add r1, r4, #0x0 + ldr r0, [r4, #0x18] + ldr r2, _02089BC8 ; =0x020FF378 + add r1, #0x20 + bl sub_02019150 + mov r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x20 + mov r2, #0x0 + add r4, #0x20 + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + add sp, #0x8 + pop {r4, pc} + nop +_02089BC4: .word 0x00000167 +_02089BC8: .word 0x020FF378 + + thumb_func_start sub_02089BCC +sub_02089BCC: ; 0x02089BCC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x20 + bl sub_02019178 + ldr r0, [r4, #0x1c] + bl sub_0200A8B8 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_02089BE0 +sub_02089BE0: ; 0x02089BE0 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + ldr r1, [r4, #0x4] + mov r5, #0x0 + cmp r1, #0x5 + bhi _02089CC2 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r1, #0 + lsl r0, r0, #0x1 + lsl r4, r5, #0x1 + lsl r2, r7, #0x1 + lsl r6, r4, #0x2 + lsl r4, r0, #0x3 + ldr r0, [r4, #0x34] + bl sub_02022800 + cmp r0, #0x3 + bhi _02089CC2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 + lsl r6, r0, #0 + lsl r6, r0, #0 + lsl r4, r1, #0 + lsl r6, r2, #0 + mov r0, #0x5 + str r0, [r4, #0x4] + b _02089CC2 +_02089C2A: + .byte 0x28, 0x1C, 0xA0, 0x60, 0x01, 0x20 + .byte 0x60, 0x60, 0x46, 0xE0, 0x01, 0x20, 0xA0, 0x60, 0x60, 0x60, 0x42, 0xE0, 0x22, 0x49, 0x28, 0x1C + .byte 0x8E, 0xF7, 0xD0, 0xF9, 0x20, 0x49, 0x04, 0x20, 0x8E, 0xF7, 0xCC, 0xF9, 0x06, 0x20, 0x01, 0x21 + .byte 0x00, 0x90, 0x01, 0x91, 0x20, 0x68, 0x0A, 0x1C, 0x02, 0x90, 0x28, 0x1C, 0x03, 0x1C, 0x84, 0xF7 + .byte 0xB7, 0xFA, 0x02, 0x20, 0x60, 0x60, 0x2C, 0xE0, 0x84, 0xF7, 0x4E, 0xFB, 0x01, 0x28, 0x28, 0xD1 + .byte 0x03, 0x20, 0x60, 0x60, 0x25, 0xE0, 0xA1, 0x68, 0x2A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x26, 0xF8 + .byte 0x01, 0x28, 0x1E, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90 + .byte 0x28, 0x1C, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0x84, 0xF7, 0x9A, 0xFA, 0x04, 0x20, 0x60, 0x60 + .byte 0x0F, 0xE0, 0x84, 0xF7, 0x31, 0xFB, 0x01, 0x28, 0x0B, 0xD1, 0x28, 0x1C, 0x01, 0x1C, 0x8E, 0xF7 + .byte 0x99, 0xF9, 0x04, 0x20, 0x29, 0x1C, 0x8E, 0xF7, 0x95, 0xF9, 0x05, 0x20, 0x60, 0x60, 0x00, 0xE0 + .byte 0x01, 0x25 +_02089CC2: + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r5, pc} +_02089CC8: + .byte 0x21, 0x6C, 0x00, 0x00 + + thumb_func_start sub_02089CCC +sub_02089CCC: ; 0x02089CCC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r7, r1, #0x0 + add r4, r3, #0x0 + mov r6, #0x0 + cmp r0, #0x0 + beq _02089CE8 + cmp r0, #0x1 + beq _02089D50 + cmp r0, #0x2 + beq _02089D6C + b _02089D80 +_02089CE8: + mov r0, #0xd8 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r0, #0x20 + mov r1, #0xf + add r2, r6, #0x0 + add r3, r6, #0x0 + bl sub_020196F4 + add r0, r5, #0x0 + ldr r2, _02089D88 ; =0x000001E2 + add r0, #0x20 + add r1, r6, #0x0 + mov r3, #0x2 + bl sub_0200D0BC + mov r0, #0x1 + ldr r1, [r5, #0x0] + lsl r0, r0, #0xa + bl sub_020219F4 + str r0, [r5, #0x14] + ldr r0, [r5, #0x1c] + ldr r2, [r5, #0x14] + add r1, r7, #0x0 + bl sub_0200A8E0 + add r3, r6, #0x0 + str r3, [sp, #0x0] + str r4, [sp, #0x4] + str r3, [sp, #0x8] + add r0, r5, #0x0 + ldr r2, [r5, #0x14] + add r0, #0x20 + mov r1, #0x1 + bl sub_0201BD84 + str r0, [r5, #0x10] + cmp r4, #0x0 + bne _02089D48 + ldr r0, [r5, #0x14] + bl sub_02021A20 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] +_02089D48: + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02089D80 +_02089D50: + ldr r0, [r5, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl sub_0201BD70 + cmp r0, #0x0 + bne _02089D80 + ldr r0, [r5, #0x14] + bl sub_02021A20 + ldr r0, [r5, #0xc] + add r0, r0, #0x1 + str r0, [r5, #0xc] + b _02089D80 +_02089D6C: + cmp r2, #0x0 + bne _02089D7A + ldr r0, _02089D8C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _02089D80 +_02089D7A: + mov r0, #0x0 + str r0, [r5, #0xc] + mov r6, #0x1 +_02089D80: + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02089D88: .word 0x000001E2 +_02089D8C: .word 0x021C48B8 + + thumb_func_start sub_02089D90 +sub_02089D90: ; 0x02089D90 + push {r3-r6, lr} + sub sp, #0x1c + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _02089EF4 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _02089EF8 ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _02089EFC ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _02089F00 ; =0x04000050 + mov r0, #0x0 + strh r0, [r3, #0x0] + ldr r2, _02089F04 ; =0x04001050 + sub r3, #0x50 + strh r0, [r2, #0x0] + ldr r1, [r3, #0x0] + ldr r0, _02089F08 ; =0xFFFF1FFF + sub r2, #0x50 + and r1, r0 + str r1, [r3, #0x0] + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + ldr r0, _02089F0C ; =0x020FF418 + bl sub_0201E66C + add r0, r4, #0x0 + bl sub_02016B94 + add r5, r0, #0x0 + ldr r0, _02089F10 ; =0x020FF3EC + bl sub_02016BBC + mov r1, #0x0 + ldr r2, _02089F14 ; =0x020FF3FC + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r2, _02089F18 ; =0x000001F7 + add r0, r5, #0x0 + mov r3, #0x2 + str r4, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r4, #0x0 + bl sub_02017F18 + ldr r1, _02089F1C ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _02089F1C ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x5 + add r3, r4, #0x0 + bl sub_0200A86C + add r6, r0, #0x0 + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + bl sub_0201BD5C + ldr r2, _02089F20 ; =0x020FF3E4 + add r0, r5, #0x0 + add r1, sp, #0xc + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0xc + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _02089F18 ; =0x000001F7 + add r0, sp, #0xc + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + add r0, r6, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0xc + add r2, r4, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + mov r4, #0x1 +_02089EE4: + bl sub_02000FE8 + add r0, r4, #0x0 + add r1, r4, #0x0 + blx sub_020C9C0C + b _02089EE4 + nop +_02089EF4: .word 0xFFFFE0FF +_02089EF8: .word 0x04001000 +_02089EFC: .word 0x021C4918 +_02089F00: .word 0x04000050 +_02089F04: .word 0x04001050 +_02089F08: .word 0xFFFF1FFF +_02089F0C: .word 0x020FF418 +_02089F10: .word 0x020FF3EC +_02089F14: .word 0x020FF3FC +_02089F18: .word 0x000001F7 +_02089F1C: .word 0x00006C21 +_02089F20: .word 0x020FF3E4 + + thumb_func_start sub_02089F24 +sub_02089F24: ; 0x02089F24 + push {r3-r6, lr} + sub sp, #0x1c + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _0208A088 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0208A08C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _0208A090 ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _0208A094 ; =0x04000050 + mov r0, #0x0 + strh r0, [r3, #0x0] + ldr r2, _0208A098 ; =0x04001050 + sub r3, #0x50 + strh r0, [r2, #0x0] + ldr r1, [r3, #0x0] + ldr r0, _0208A09C ; =0xFFFF1FFF + sub r2, #0x50 + and r1, r0 + str r1, [r3, #0x0] + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + ldr r0, _0208A0A0 ; =0x020FF418 + bl sub_0201E66C + add r0, r4, #0x0 + bl sub_02016B94 + add r5, r0, #0x0 + ldr r0, _0208A0A4 ; =0x020FF3EC + bl sub_02016BBC + mov r1, #0x0 + ldr r2, _0208A0A8 ; =0x020FF3FC + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r2, _0208A0AC ; =0x000001F7 + add r0, r5, #0x0 + mov r3, #0x2 + str r4, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r4, #0x0 + bl sub_02017F18 + ldr r1, _0208A0B0 ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _0208A0B0 ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x5 + add r3, r4, #0x0 + bl sub_0200A86C + add r6, r0, #0x0 + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + bl sub_0201BD5C + ldr r2, _0208A0B4 ; =0x020FF3E4 + add r0, r5, #0x0 + add r1, sp, #0xc + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0xc + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _0208A0AC ; =0x000001F7 + add r0, sp, #0xc + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + add r0, r6, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0xc + add r2, r4, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + mov r4, #0x1 +_0208A078: + bl sub_02000FE8 + add r0, r4, #0x0 + add r1, r4, #0x0 + blx sub_020C9C0C + b _0208A078 + nop +_0208A088: .word 0xFFFFE0FF +_0208A08C: .word 0x04001000 +_0208A090: .word 0x021C4918 +_0208A094: .word 0x04000050 +_0208A098: .word 0x04001050 +_0208A09C: .word 0xFFFF1FFF +_0208A0A0: .word 0x020FF418 +_0208A0A4: .word 0x020FF3EC +_0208A0A8: .word 0x020FF3FC +_0208A0AC: .word 0x000001F7 +_0208A0B0: .word 0x00006C21 +_0208A0B4: .word 0x020FF3E4 + + thumb_func_start sub_0208A0B8 +sub_0208A0B8: ; 0x0208A0B8 + push {r4-r7, lr} + sub sp, #0x1c + add r4, r0, #0x0 + cmp r1, #0x0 + bne _0208A0C6 + mov r6, #0x1 + b _0208A0C8 +_0208A0C6: + mov r6, #0x0 +_0208A0C8: + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + bl sub_02015EF4 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _0208A228 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0208A22C ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _0208A230 ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _0208A234 ; =0x04000050 + mov r1, #0x0 + strh r1, [r3, #0x0] + ldr r0, _0208A238 ; =0x04001050 + sub r3, #0x50 + strh r1, [r0, #0x0] + ldr r2, [r3, #0x0] + ldr r1, _0208A23C ; =0xFFFF1FFF + sub r0, #0x50 + and r2, r1 + str r2, [r3, #0x0] + ldr r2, [r0, #0x0] + and r1, r2 + str r1, [r0, #0x0] + ldr r0, _0208A240 ; =0x020FF474 + bl sub_0201E66C + add r0, r4, #0x0 + bl sub_02016B94 + add r5, r0, #0x0 + ldr r0, _0208A244 ; =0x020FF448 + bl sub_02016BBC + mov r1, #0x0 + ldr r2, _0208A248 ; =0x020FF458 + add r0, r5, #0x0 + add r3, r1, #0x0 + bl sub_02016C18 + add r0, r5, #0x0 + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r2, _0208A24C ; =0x000001F7 + add r0, r5, #0x0 + mov r3, #0x2 + str r4, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r4, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r4, #0x0 + bl sub_02017F18 + ldr r1, _0208A250 ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _0208A250 ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0x6 + add r3, r4, #0x0 + bl sub_0200A86C + add r7, r0, #0x0 + mov r0, #0x6 + lsl r0, r0, #0x6 + add r1, r4, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + bl sub_0201BD5C + ldr r2, _0208A254 ; =0x020FF440 + add r0, r5, #0x0 + add r1, sp, #0xc + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0xc + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _0208A24C ; =0x000001F7 + add r0, sp, #0xc + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0xc + add r2, r4, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + mov r4, #0x1 +_0208A21A: + bl sub_02000FE8 + add r0, r4, #0x0 + add r1, r4, #0x0 + blx sub_020C9C0C + b _0208A21A + .balign 4 +_0208A228: .word 0xFFFFE0FF +_0208A22C: .word 0x04001000 +_0208A230: .word 0x021C4918 +_0208A234: .word 0x04000050 +_0208A238: .word 0x04001050 +_0208A23C: .word 0xFFFF1FFF +_0208A240: .word 0x020FF474 +_0208A244: .word 0x020FF448 +_0208A248: .word 0x020FF458 +_0208A24C: .word 0x000001F7 +_0208A250: .word 0x00006C21 +_0208A254: .word 0x020FF440 + + thumb_func_start sub_0208A258 +sub_0208A258: ; 0x0208A258 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + ldr r0, _0208A290 ; =0x0000022F + ldrb r0, [r4, r0] + cmp r0, #0x10 + beq _0208A278 + cmp r0, #0x11 + beq _0208A286 + b _0208A28C +_0208A278: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl sub_0208A294 + ldr r1, _0208A290 ; =0x0000022F + strb r0, [r4, r1] + b _0208A28C +_0208A286: + add r0, r5, #0x0 + bl sub_0208A2C4 +_0208A28C: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0208A290: .word 0x0000022F + + thumb_func_start sub_0208A294 +sub_0208A294: ; 0x0208A294 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl sub_0204647C + cmp r0, #0x0 + beq _0208A2A6 + mov r0, #0x10 + pop {r3-r5, pc} +_0208A2A6: + ldr r0, [r4, #0x4] + bl sub_0206E394 + mov r1, #0x9 + lsl r1, r1, #0x6 + strb r0, [r4, r1] + ldr r0, [r4, #0x4] + bl sub_02016A18 + add r0, r5, #0x0 + bl sub_0204649C + mov r0, #0x11 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start sub_0208A2C4 +sub_0208A2C4: ; 0x0208A2C4 + push {r4-r6, lr} + add r5, r0, #0x0 + bl sub_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl sub_0204652C + add r4, r0, #0x0 + add r0, r6, #0x0 + bl sub_020464A4 + cmp r0, #0x0 + beq _0208A2F6 + mov r0, #0x1 + bl sub_021D7CA4 + ldr r1, _0208A2F8 ; =0x0223D4AD + add r0, r5, #0x0 + add r2, r4, #0x0 + bl sub_020463EC + ldr r0, _0208A2FC ; =0x0000022F + mov r1, #0x12 + strb r1, [r4, r0] +_0208A2F6: + pop {r4-r6, pc} + .balign 4 +_0208A2F8: .word 0x0223D4AD +_0208A2FC: .word 0x0000022F + + thumb_func_start sub_0208A300 +sub_0208A300: ; 0x0208A300 + push {r3, lr} + mov r1, #0x8 + bl sub_02016998 + mov r1, #0x0 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + strb r1, [r0, #0x2] + strb r1, [r0, #0x3] + strb r1, [r0, #0x4] + strb r1, [r0, #0x5] + strb r1, [r0, #0x6] + strb r1, [r0, #0x7] + mov r1, #0x2 + str r1, [r0, #0x4] + pop {r3, pc} + + thumb_func_start sub_0208A320 +sub_0208A320: ; 0x0208A320 + ldr r3, _0208A324 ; =sub_02016A18 + bx r3 + .balign 4 +_0208A324: .word sub_02016A18 + 1 + + thumb_func_start sub_0208A328 +sub_0208A328: ; 0x0208A328 + ldr r0, [r0, #0x0] + bx lr + + thumb_func_start sub_0208A32C +sub_0208A32C: ; 0x0208A32C + str r1, [r0, #0x0] + bx lr + + thumb_func_start sub_0208A330 +sub_0208A330: ; 0x0208A330 + ldr r0, [r0, #0x4] + bx lr + + thumb_func_start sub_0208A334 +sub_0208A334: ; 0x0208A334 + str r1, [r0, #0x4] + bx lr + + thumb_func_start sub_0208A338 +sub_0208A338: ; 0x0208A338 + push {r4-r6, lr} + add r6, r0, #0x0 + bl sub_02046528 + add r5, r0, #0x0 + mov r0, #0x20 + mov r1, #0x6c + bl sub_02016998 + add r4, r0, #0x0 + mov r0, #0x19 + str r5, [r4, #0x0] + lsl r0, r0, #0x4 + mov r1, #0x20 + bl sub_020219F4 + str r0, [r4, #0x4] + mov r0, #0x19 + lsl r0, r0, #0x4 + mov r1, #0x20 + bl sub_020219F4 + str r0, [r4, #0x8] + mov r0, #0x20 + bl sub_0200AA80 + str r0, [r4, #0xc] + ldr r2, _0208A3C0 ; =0x00000171 + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0x20 + bl sub_0200A86C + str r0, [r4, #0x10] + mov r0, #0x20 + bl sub_02013690 + str r0, [r4, #0x14] + ldr r2, [r4, #0x0] + mov r0, #0x2 + ldr r2, [r2, #0xc] + mov r1, #0x0 + mov r3, #0x20 + bl sub_02085338 + str r0, [r4, #0x50] + bl sub_020853DC + add r0, r4, #0x0 + add r0, #0x18 + bl sub_0201901C + add r0, r4, #0x0 + add r0, #0x28 + bl sub_0201901C + add r0, r4, #0x0 + add r0, #0x38 + bl sub_0201901C + mov r0, #0x0 + str r0, [r4, #0x54] + ldr r1, _0208A3C4 ; =sub_0208A458 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl sub_0204640C + pop {r4-r6, pc} + .balign 4 +_0208A3C0: .word 0x00000171 +_0208A3C4: .word sub_0208A458 + 1 + + thumb_func_start sub_0208A3C8 +sub_0208A3C8: ; 0x0208A3C8 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x50] + bl sub_020853A8 + ldr r0, [r4, #0x14] + bl sub_020136C0 + ldr r0, [r4, #0x4] + bl sub_02021A20 + ldr r0, [r4, #0x8] + bl sub_02021A20 + ldr r0, [r4, #0xc] + bl sub_0200AB18 + ldr r0, [r4, #0x10] + bl sub_0200A8B8 + add r0, r4, #0x0 + bl sub_0208A400 + add r0, r4, #0x0 + bl sub_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0208A400 +sub_0208A400: ; 0x0208A400 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x18 + bl sub_02019048 + cmp r0, #0x0 + beq _0208A41E + add r0, r4, #0x0 + add r0, #0x18 + bl sub_02019178 + add r0, r4, #0x0 + add r0, #0x18 + bl sub_0201901C +_0208A41E: + add r0, r4, #0x0 + add r0, #0x28 + bl sub_02019048 + cmp r0, #0x0 + beq _0208A43A + add r0, r4, #0x0 + add r0, #0x28 + bl sub_02019178 + add r0, r4, #0x0 + add r0, #0x28 + bl sub_0201901C +_0208A43A: + add r0, r4, #0x0 + add r0, #0x38 + bl sub_02019048 + cmp r0, #0x0 + beq _0208A456 + add r0, r4, #0x0 + add r0, #0x38 + bl sub_02019178 + add r4, #0x38 + add r0, r4, #0x0 + bl sub_0201901C +_0208A456: + pop {r4, pc} + + thumb_func_start sub_0208A458 +sub_0208A458: ; 0x0208A458 + push {r3-r5, lr} + bl sub_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x54] + cmp r1, #0xd + bhi _0208A4A4 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 + lsl r2, r3, #0 + lsl r0, r5, #0 + lsl r4, r0, #0x1 + lsl r2, r4, #0x3 + lsl r2, r6, #0x3 + lsl r6, r0, #0x4 + lsl r2, r6, #0x4 + lsl r2, r1, #0x5 + lsl r0, r4, #0x5 + lsl r0, r4, #0x6 + lsl r4, r6, #0x6 + lsl r0, r4, #0x8 + lsl r6, r5, #0x8 + lsl r4, r1, #0x9 + mov r1, #0x0 + add r2, r1, #0x0 + bl sub_0208A6D4 + mov r0, #0x1 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A49C: + .byte 0x00, 0xF0, 0x58, 0xF9 + .byte 0x00, 0x28, 0x00, 0xD1 +_0208A4A4: + b _0208A6C8 +_0208A4A6: + .byte 0x20, 0x1C, 0x00, 0xF0, 0x5A, 0xF9, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x65, 0xF9, 0x02, 0x20, 0x60, 0x65, 0x07, 0xE1, 0x00, 0xF0, 0x10, 0xFA, 0x00, 0x21, 0xC9, 0x43 + .byte 0x60, 0x66, 0x88, 0x42, 0x74, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF9, 0x60, 0x6E, 0x04, 0x28 + .byte 0x6E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00 + .byte 0x22, 0x00, 0x3C, 0x00, 0x56, 0x00, 0x70, 0x00, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68, 0xA0, 0xF7 + .byte 0x81, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x32, 0xFA, 0x03, 0x20, 0x60, 0x65 + .byte 0xE2, 0xE0, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x74, 0xF8, 0x01, 0x1C, 0x20, 0x1C + .byte 0x48, 0x30, 0x89, 0xF7, 0x25, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xD5, 0xE0, 0x20, 0x68, 0x02, 0x21 + .byte 0xC0, 0x68, 0xA0, 0xF7, 0x67, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x18, 0xFA + .byte 0x03, 0x20, 0x60, 0x65, 0xC8, 0xE0, 0x20, 0x68, 0x03, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x5A, 0xF8 + .byte 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x0B, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xBB, 0xE0 + .byte 0x0B, 0x20, 0x60, 0x65, 0xB8, 0xE0, 0x61, 0x6E, 0x00, 0x22, 0x49, 0x1C, 0x00, 0xF0, 0xBA, 0xF8 + .byte 0x04, 0x20, 0x60, 0x65, 0xB0, 0xE0, 0x00, 0xF0, 0xF3, 0xF8, 0x00, 0x28, 0x20, 0xD0, 0x00, 0x20 + .byte 0x4D, 0xF1, 0x98, 0xFB, 0x05, 0x20, 0x60, 0x65, 0xA6, 0xE0, 0x83, 0xF7, 0xC5, 0xFE, 0x00, 0x28 + .byte 0x16, 0xD0, 0x21, 0x1C, 0x20, 0x6D, 0x48, 0x31, 0xFA, 0xF7, 0x18, 0xFF, 0x20, 0x6D, 0xFA, 0xF7 + .byte 0x1F, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x34, 0xFF, 0x20, 0x68, 0x21, 0x6D, 0xAD, 0xF7, 0x70, 0xFC + .byte 0x06, 0x20, 0x60, 0x65, 0x90, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x68, 0xFF, 0x00, 0x28, 0x00, 0xD0 + .byte 0x8A, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x72, 0xFF, 0x07, 0x20, 0x60, 0x65, 0x84, 0xE0, 0x20, 0x68 + .byte 0xBB, 0xF7, 0x70, 0xFF, 0x00, 0x28, 0x7F, 0xD0, 0x01, 0x20, 0x4D, 0xF1, 0x6B, 0xFB, 0x08, 0x20 + .byte 0x60, 0x65, 0x79, 0xE0, 0x83, 0xF7, 0x98, 0xFE, 0x00, 0x28, 0x75, 0xD0, 0x20, 0x6D, 0xFA, 0xF7 + .byte 0x01, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x0B, 0x20, 0x60, 0x65, 0x6D, 0xE0, 0x21, 0x1C, 0x20, 0x6D + .byte 0x48, 0x31, 0xFA, 0xF7, 0x03, 0xFF, 0x20, 0x68, 0x22, 0x1C, 0xC0, 0x68, 0x61, 0x6E, 0x48, 0x32 + .byte 0x9F, 0xF7, 0xE8, 0xFF, 0x20, 0x1C, 0x06, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x63, 0xF8, 0x09, 0x20 + .byte 0x60, 0x65, 0x59, 0xE0, 0x00, 0xF0, 0x9C, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0 + .byte 0x05, 0xF9, 0x0A, 0x20, 0x60, 0x65, 0x4F, 0xE0, 0x00, 0xF0, 0x58, 0xF9, 0x00, 0x21, 0xC9, 0x43 + .byte 0x60, 0x66, 0x88, 0x42, 0x48, 0xD0, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x28, 0x0B, 0xE0, 0x20, 0x1C + .byte 0x00, 0xF0, 0x46, 0xF9, 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x96, 0xF8 + .byte 0x02, 0x20, 0x60, 0x65, 0x38, 0xE0, 0x20, 0x1C, 0x48, 0x30, 0x00, 0x21, 0x89, 0xF7, 0x5C, 0xF9 + .byte 0x05, 0x1C, 0x20, 0x1C, 0x00, 0xF0, 0x34, 0xF9, 0x18, 0x48, 0x85, 0x42, 0x0A, 0xD0, 0xE0, 0x68 + .byte 0x00, 0x21, 0x2A, 0x1C, 0x80, 0xF7, 0x50, 0xFF, 0x20, 0x1C, 0x08, 0x21, 0x01, 0x22, 0x00, 0xF0 + .byte 0x29, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x07, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x23, 0xF8, 0x0C, 0x20 + .byte 0x60, 0x65, 0x19, 0xE0, 0x05, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x1C, 0xF8, 0x0C, 0x20, 0x60, 0x65 + .byte 0x12, 0xE0, 0x00, 0xF0, 0x55, 0xF8, 0x00, 0x28, 0x0E, 0xD0, 0x09, 0x48, 0x81, 0x6C, 0xF3, 0x20 + .byte 0x08, 0x42, 0x09, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xF8, 0x0D, 0x20, 0x60, 0x65, 0x03, 0xE0 + .byte 0xFF, 0xF7, 0x82, 0xFE, 0x01, 0x20, 0x38, 0xBD +_0208A6C8: + mov r0, #0x0 + pop {r3-r5, pc} +_0208A6CC: + .byte 0xFF, 0xFF, 0x00, 0x00 + .byte 0xB8, 0x48, 0x1C, 0x02 + + thumb_func_start sub_0208A6D4 +sub_0208A6D4: ; 0x0208A6D4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r5, #0x0 + add r4, #0x18 + cmp r2, #0x0 + ldr r0, [r5, #0x10] + beq _0208A6F4 + ldr r2, [r5, #0x4] + bl sub_0200A8E0 + ldr r0, [r5, #0xc] + ldr r1, [r5, #0x8] + ldr r2, [r5, #0x4] + bl sub_0200B7B8 + b _0208A6FA +_0208A6F4: + ldr r2, [r5, #0x8] + bl sub_0200A8E0 +_0208A6FA: + add r0, r4, #0x0 + bl sub_02019048 + cmp r0, #0x0 + bne _0208A722 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x8] + mov r2, #0x3 + bl sub_020545B8 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02054608 + b _0208A734 +_0208A722: + add r0, r4, #0x0 + bl sub_0205464C + ldr r2, _0208A74C ; =0x000003E2 + add r0, r4, #0x0 + mov r1, #0x0 + mov r3, #0xa + bl sub_0200D0BC +_0208A734: + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl sub_02023900 + add r2, r0, #0x0 + ldr r1, [r5, #0x8] + add r0, r4, #0x0 + mov r3, #0x1 + bl sub_02054658 + str r0, [r5, #0x58] + pop {r3-r5, pc} + .balign 4 +_0208A74C: .word 0x000003E2 + + thumb_func_start sub_0208A750 +sub_0208A750: ; 0x0208A750 + ldr r0, [r0, #0x58] + ldr r3, _0208A75C ; =sub_020546C8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx r3 + nop +_0208A75C: .word sub_020546C8 + 1 + + thumb_func_start sub_0208A760 +sub_0208A760: ; 0x0208A760 + push {r4, lr} + add r4, r0, #0x0 + add r4, #0x18 + add r0, r4, #0x0 + bl sub_02019048 + cmp r0, #0x0 + beq _0208A778 + add r0, r4, #0x0 + mov r1, #0x0 + bl sub_0200D0E0 +_0208A778: + pop {r4, pc} + .balign 4 + + thumb_func_start sub_0208A77C +sub_0208A77C: ; 0x0208A77C + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r7, r5, #0x0 + add r7, #0x28 + add r0, r7, #0x0 + bl sub_02019048 + cmp r0, #0x0 + bne _0208A808 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + mov r1, #0x3 + ldr r0, [r0, #0x8] + mov r2, #0xa5 + mov r3, #0xb + bl sub_0200CB00 + mov r1, #0xd + str r1, [sp, #0x0] + mov r0, #0xe + str r0, [sp, #0x4] + mov r0, #0xa + str r0, [sp, #0x8] + str r1, [sp, #0xc] + mov r0, #0x1 + str r0, [sp, #0x10] + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, #0x8] + mov r2, #0x3 + mov r3, #0x11 + bl sub_02019064 + add r0, r7, #0x0 + mov r1, #0xf + bl sub_02019620 + mov r6, #0x0 + add r4, r6, #0x0 +_0208A7D2: + add r1, r6, #0x0 + ldr r0, [r5, #0x10] + ldr r2, [r5, #0x8] + add r1, #0x9 + bl sub_0200A8E0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + mov r1, #0x0 + mov r3, #0xc + bl sub_0201BD84 + add r6, r6, #0x1 + add r4, #0x10 + cmp r6, #0x5 + blt _0208A7D2 + mov r2, #0x0 + ldr r0, [r5, #0x14] + add r1, r7, #0x0 + add r3, r2, #0x0 + bl sub_020136F8 +_0208A808: + str r7, [r5, #0x68] + mov r1, #0x0 + str r1, [r5, #0x5c] + mov r0, #0x5 + str r0, [r5, #0x60] + add r0, r7, #0x0 + mov r2, #0xa5 + mov r3, #0xb + bl sub_0200CCA4 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0208A820 +sub_0208A820: ; 0x0208A820 + ldr r3, _0208A828 ; =sub_0200CCF8 + add r0, #0x28 + mov r1, #0x1 + bx r3 + .balign 4 +_0208A828: .word sub_0200CCF8 + 1 + + thumb_func_start sub_0208A82C +sub_0208A82C: ; 0x0208A82C + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r7, r5, #0x0 + add r7, #0x38 + add r0, r7, #0x0 + bl sub_02019048 + cmp r0, #0x0 + bne _0208A8B8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + ldr r0, [r5, #0x0] + mov r1, #0x3 + ldr r0, [r0, #0x8] + mov r2, #0xa5 + mov r3, #0xb + bl sub_0200CB00 + mov r1, #0xd + str r1, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + str r1, [sp, #0xc] + mov r0, #0x8d + str r0, [sp, #0x10] + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, #0x8] + mov r2, #0x3 + mov r3, #0x19 + bl sub_02019064 + add r0, r7, #0x0 + mov r1, #0xf + bl sub_02019620 + mov r6, #0x0 + add r4, r6, #0x0 +_0208A882: + add r1, r6, #0x0 + ldr r0, [r5, #0x10] + ldr r2, [r5, #0x8] + add r1, #0xe + bl sub_0200A8E0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + mov r1, #0x0 + mov r3, #0xc + bl sub_0201BD84 + add r6, r6, #0x1 + add r4, #0x10 + cmp r6, #0x2 + blt _0208A882 + mov r2, #0x0 + ldr r0, [r5, #0x14] + add r1, r7, #0x0 + add r3, r2, #0x0 + bl sub_020136F8 +_0208A8B8: + str r7, [r5, #0x68] + mov r1, #0x0 + str r1, [r5, #0x5c] + mov r0, #0x2 + str r0, [r5, #0x60] + add r0, r7, #0x0 + mov r2, #0xa5 + mov r3, #0xb + bl sub_0200CCA4 + add sp, #0x14 + pop {r4-r7, pc} + + thumb_func_start sub_0208A8D0 +sub_0208A8D0: ; 0x0208A8D0 + ldr r3, _0208A8D8 ; =sub_0200CCF8 + add r0, #0x38 + mov r1, #0x1 + bx r3 + .balign 4 +_0208A8D8: .word sub_0200CCF8 + 1 + + thumb_func_start sub_0208A8DC +sub_0208A8DC: ; 0x0208A8DC + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _0208A990 ; =0x021C48B8 + mov r1, #0x40 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _0208A906 + ldr r0, [r4, #0x5c] + sub r0, r0, #0x1 + str r0, [r4, #0x5c] + bpl _0208A954 + ldr r0, [r4, #0x60] + cmp r0, #0x2 + ble _0208A900 + sub r0, r0, #0x1 + str r0, [r4, #0x5c] + b _0208A954 +_0208A900: + mov r0, #0x0 + str r0, [r4, #0x5c] + b _0208A954 +_0208A906: + mov r1, #0x80 + tst r1, r0 + beq _0208A928 + ldr r0, [r4, #0x5c] + add r1, r0, #0x1 + str r1, [r4, #0x5c] + ldr r0, [r4, #0x60] + cmp r1, r0 + blt _0208A954 + cmp r0, #0x2 + ble _0208A922 + mov r0, #0x0 + str r0, [r4, #0x5c] + b _0208A954 +_0208A922: + sub r0, r0, #0x1 + str r0, [r4, #0x5c] + b _0208A954 +_0208A928: + mov r1, #0x1 + tst r1, r0 + beq _0208A93A + ldr r0, _0208A994 ; =0x000005DC + bl sub_020054C8 + add sp, #0x8 + ldr r0, [r4, #0x5c] + pop {r4, pc} +_0208A93A: + mov r1, #0x2 + tst r0, r1 + beq _0208A94E + ldr r0, _0208A994 ; =0x000005DC + bl sub_020054C8 + ldr r0, [r4, #0x60] + add sp, #0x8 + sub r0, r0, #0x1 + pop {r4, pc} +_0208A94E: + add sp, #0x8 + sub r0, r1, #0x3 + pop {r4, pc} +_0208A954: + ldr r0, [r4, #0x68] + mov r1, #0xc + str r1, [sp, #0x0] + ldrb r1, [r0, #0x8] + mov r2, #0x0 + add r3, r2, #0x0 + lsl r1, r1, #0x13 + lsr r1, r1, #0x10 + str r1, [sp, #0x4] + mov r1, #0xf + bl sub_020196F4 + ldr r3, [r4, #0x5c] + ldr r0, [r4, #0x14] + ldr r1, [r4, #0x68] + mov r2, #0x0 + lsl r3, r3, #0x4 + bl sub_020136F8 + ldr r0, [r4, #0x68] + bl sub_02019548 + ldr r0, _0208A994 ; =0x000005DC + bl sub_020054C8 + mov r0, #0x0 + mvn r0, r0 + add sp, #0x8 + pop {r4, pc} + nop +_0208A990: .word 0x021C48B8 +_0208A994: .word 0x000005DC + + thumb_func_start sub_0208A998 +sub_0208A998: ; 0x0208A998 + ldr r3, _0208A9AC ; =0x027E0000 + ldr r1, _0208A9B0 ; =0x00003FF8 + mov r0, #0x1 + ldr r2, [r3, r1] + orr r0, r2 + str r0, [r3, r1] + ldr r3, _0208A9B4 ; =sub_020CDA1C + mov r0, #0x3 + bx r3 + nop +_0208A9AC: .word 0x027E0000 +_0208A9B0: .word 0x00003FF8 +_0208A9B4: .word sub_020CDA1C + + thumb_func_start sub_0208A9B8 +sub_0208A9B8: ; 0x0208A9B8 + push {r4-r7, lr} + sub sp, #0x24 + ldr r0, _0208ABC8 ; =0x021C8C58 + ldr r1, [r0, #0x0] + cmp r1, #0x1 + bne _0208A9C6 + b _0208ABC4 +_0208A9C6: + mov r1, #0x1 + str r1, [r0, #0x0] + mov r0, #0x0 + blx sub_020CC408 + add r1, r0, #0x0 + mov r0, #0x0 + blx sub_020CC308 + mov r0, #0x0 + blx sub_020CC31C + add r1, r0, #0x0 + mov r0, #0x0 + blx sub_020CC2F4 + mov r1, #0x1 + ldr r0, _0208ABCC ; =0x020FF4A4 + add r2, r1, #0x0 + mov r3, #0x0 + bl sub_020166C8 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl sub_0200E3A0 + mov r0, #0x1 + blx sub_020C9E14 + ldr r1, _0208ABD0 ; =sub_0208A998 + mov r0, #0x1 + blx sub_020C9FEC + mov r0, #0x1 + blx sub_020C9E5C + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F10 + mov r0, #0x0 + add r1, r0, #0x0 + bl sub_02015F34 + bl sub_0201E6D8 + bl sub_0201E740 + mov r2, #0x1 + lsl r2, r2, #0x1a + ldr r1, [r2, #0x0] + ldr r0, _0208ABD4 ; =0xFFFFE0FF + and r1, r0 + str r1, [r2, #0x0] + ldr r2, _0208ABD8 ; =0x04001000 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + mov r0, #0x4 + mov r1, #0x8 + bl sub_0201669C + ldr r0, _0208ABDC ; =0x021C4918 + mov r1, #0x0 + strb r1, [r0, #0x5] + bl sub_0201E7A0 + ldr r3, _0208ABE0 ; =0x04000050 + mov r0, #0x0 + strh r0, [r3, #0x0] + ldr r2, _0208ABE4 ; =0x04001050 + sub r3, #0x50 + strh r0, [r2, #0x0] + ldr r1, [r3, #0x0] + ldr r0, _0208ABE8 ; =0xFFFF1FFF + sub r2, #0x50 + and r1, r0 + str r1, [r3, #0x0] + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] + ldr r0, _0208ABEC ; =0x020FF4D8 + bl sub_0201E66C + mov r0, #0x0 + bl sub_02016B94 + str r0, [sp, #0x10] + ldr r0, _0208ABF0 ; =0x020FF4AC + bl sub_02016BBC + mov r1, #0x0 + ldr r0, [sp, #0x10] + ldr r2, _0208ABF4 ; =0x020FF4BC + add r3, r1, #0x0 + bl sub_02016C18 + ldr r0, [sp, #0x10] + mov r1, #0x0 + bl sub_02018744 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [sp, #0x10] + ldr r2, _0208ABF8 ; =0x000001F7 + mov r3, #0x2 + str r1, [sp, #0x4] + bl sub_0200CB00 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + bl sub_02002ED0 + mov r0, #0x0 + mov r1, #0x20 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl sub_02017F18 + ldr r1, _0208ABFC ; =0x00006C21 + mov r0, #0x0 + bl sub_02017FE4 + ldr r1, _0208ABFC ; =0x00006C21 + mov r0, #0x4 + bl sub_02017FE4 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc8 + mov r3, #0x0 + bl sub_0200A86C + str r0, [sp, #0xc] + mov r0, #0x6 + lsl r0, r0, #0x6 + mov r1, #0x0 + bl sub_020219F4 + add r4, r0, #0x0 + bl sub_0201BD5C + ldr r0, [sp, #0x10] + ldr r2, _0208AC00 ; =0x020FF49C + add r1, sp, #0x14 + bl sub_02019150 + mov r0, #0xd0 + str r0, [sp, #0x0] + mov r0, #0x90 + mov r2, #0x0 + str r0, [sp, #0x4] + add r0, sp, #0x14 + mov r1, #0xf + add r3, r2, #0x0 + bl sub_020196F4 + ldr r2, _0208ABF8 ; =0x000001F7 + add r0, sp, #0x14 + mov r1, #0x0 + mov r3, #0x2 + bl sub_0200CCA4 + ldr r0, [sp, #0xc] + mov r1, #0x3 + add r2, r4, #0x0 + bl sub_0200A8E0 + mov r1, #0x0 + str r1, [sp, #0x0] + str r1, [sp, #0x4] + add r0, sp, #0x14 + add r2, r4, #0x0 + add r3, r1, #0x0 + str r1, [sp, #0x8] + bl sub_0201BD84 + add r0, r4, #0x0 + bl sub_02021A20 + bl sub_0201E788 + mov r0, #0x0 + bl sub_0200E394 + mov r0, #0x1 + bl sub_0200E394 + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl sub_0200A274 + bl sub_02032DAC + mov r4, #0x1 +_0208AB58: + bl sub_02000FE8 + bl sub_0202FB80 + bl sub_02033678 + cmp r0, #0x0 + bne _0208AB72 + add r0, r4, #0x0 + add r1, r4, #0x0 + blx sub_020C9C0C + b _0208AB58 +_0208AB72: + ldr r5, _0208AC04 ; =0x04000130 + ldr r4, _0208AC08 ; =0x027FFFA8 + ldr r7, _0208AC0C ; =0x00002FFF + mov r6, #0x1 +_0208AB7A: + bl sub_02000FE8 + ldrh r1, [r5, #0x0] + ldrh r0, [r4, #0x0] + orr r1, r0 + ldr r0, _0208AC0C ; =0x00002FFF + eor r0, r1 + and r0, r7 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + tst r0, r6 + bne _0208AB9C + mov r0, #0x1 + add r1, r0, #0x0 + blx sub_020C9C0C + b _0208AB7A +_0208AB9C: + ldr r1, _0208AC10 ; =0x00007FFF + mov r0, #0x0 + bl sub_0200E3A0 + ldr r1, _0208AC10 ; =0x00007FFF + mov r0, #0x1 + bl sub_0200E3A0 + add r0, sp, #0x14 + bl sub_02019178 + ldr r0, [sp, #0xc] + bl sub_0200A8B8 + ldr r0, [sp, #0x10] + bl sub_02016A18 + mov r0, #0x0 + blx sub_020CD3B4 +_0208ABC4: + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 +_0208ABC8: .word 0x021C8C58 +_0208ABCC: .word 0x020FF4A4 +_0208ABD0: .word sub_0208A998 + 1 +_0208ABD4: .word 0xFFFFE0FF +_0208ABD8: .word 0x04001000 +_0208ABDC: .word 0x021C4918 +_0208ABE0: .word 0x04000050 +_0208ABE4: .word 0x04001050 +_0208ABE8: .word 0xFFFF1FFF +_0208ABEC: .word 0x020FF4D8 +_0208ABF0: .word 0x020FF4AC +_0208ABF4: .word 0x020FF4BC +_0208ABF8: .word 0x000001F7 +_0208ABFC: .word 0x00006C21 +_0208AC00: .word 0x020FF49C +_0208AC04: .word 0x04000130 +_0208AC08: .word 0x027FFFA8 +_0208AC0C: .word 0x00002FFF +_0208AC10: .word 0x00007FFF diff --git a/asm/entry.s b/asm/entry.s new file mode 100644 index 00000000..f0d4adda --- /dev/null +++ b/asm/entry.s @@ -0,0 +1,218 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + arm_func_start Main +Main: ; 0x02000800 + mov r12, #0x4000000 + str r12, [r12, #0x208] +_02000808: + ldrh r0, [r12, #0x6] + cmp r0, #0x0 + bne _02000808 + bl sub_02000A78 + mov r0, #0x13 + msr cpsr_c, r0 + ldr r0, _02000918 ; =0x027E0000 + add r0, r0, #0x3fc0 + mov sp, r0 + mov r0, #0x12 + msr cpsr_c, r0 + ldr r0, _02000918 ; =0x027E0000 + add r0, r0, #0x3fc0 + sub r0, r0, #0x40 + sub sp, r0, #0x4 + tst sp, #0x4 + subeq sp, sp, #0x4 + ldr r1, _0200091C ; =0x00000400 + sub r1, r0, r1 + mov r0, #0x1f + msr cpsr_fsxc, r0 + sub sp, r1, #0x4 + mov r0, #0x0 + ldr r1, _02000918 ; =0x027E0000 + mov r2, #0x4000 + bl _0200093C +_02000870: + .byte 0x00, 0x00, 0xA0, 0xE3, 0xA4, 0x10, 0x9F, 0xE5, 0x01, 0x2B, 0xA0, 0xE3, 0x2E, 0x00, 0x00, 0xEB + .byte 0x02, 0x0C, 0xA0, 0xE3, 0x98, 0x10, 0x9F, 0xE5, 0x01, 0x2B, 0xA0, 0xE3, 0x2A, 0x00, 0x00, 0xEB + .byte 0x90, 0x10, 0x9F, 0xE5, 0x14, 0x00, 0x91, 0xE5, 0x2C, 0x00, 0x00, 0xEB, 0x56, 0x00, 0x00, 0xEB + .byte 0x80, 0x00, 0x9F, 0xE5, 0x0C, 0x10, 0x90, 0xE5, 0x10, 0x20, 0x90, 0xE5, 0x01, 0x30, 0xA0, 0xE1 + .byte 0x00, 0x00, 0xA0, 0xE3, 0x02, 0x00, 0x51, 0xE1, 0x04, 0x00, 0x81, 0x34, 0xFC, 0xFF, 0xFF, 0x3A + .byte 0x1F, 0x10, 0xC3, 0xE3, 0x9A, 0x0F, 0x07, 0xEE, 0x35, 0x1F, 0x07, 0xEE, 0x3E, 0x1F, 0x07, 0xEE + .byte 0x20, 0x10, 0x81, 0xE2, 0x02, 0x00, 0x51, 0xE1, 0xF9, 0xFF, 0xFF, 0xBA, 0x48, 0x10, 0x9F, 0xE5 + .byte 0x00, 0x00, 0x81, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0xFF, 0x1D, 0x81, 0xE2, 0x3C, 0x10, 0x81, 0xE2 + .byte 0x38, 0x00, 0x9F, 0xE5, 0x00, 0x00, 0x81, 0xE5, 0x33, 0xAF, 0x03, 0xEB, 0x98, 0x00, 0x00, 0xEB + .byte 0x63, 0xAF, 0x03, 0xEB, 0x28, 0x10, 0x9F, 0xE5, 0x28, 0xE0, 0x9F, 0xE5, 0x04, 0x00, 0x1D, 0xE3 + .byte 0x04, 0xD0, 0x4D, 0x12, 0x11, 0xFF, 0x2F, 0xE1 +_02000918: .word 0x027E0000 +_0200091C: .word 0x00000400 +_02000920: + .byte 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x07, 0x68, 0x0B, 0x00, 0x02, 0x9C, 0xFF, 0x7F, 0x02 + .byte 0x00, 0x80, 0xFF, 0x01, 0x55, 0x0C, 0x00, 0x02, 0x00, 0x00, 0xFF, 0xFF +_0200093C: + add r12, r1, r2 +_02000940: + cmp r1, r12 + stmltia r1!, {r0} + blt _02000940 + bx lr + + arm_func_start sub_02000950 +sub_02000950: ; 0x02000950 + cmp r0, #0x0 + beq _020009F8 + stmdb sp!, {r4-r7} + ldmdb r0, {r1-r2} + add r2, r0, r2 + sub r3, r0, r1, lsr #0x18 + bic r1, r1, #0xff000000 + sub r1, r0, r1 + mov r4, r2 +_02000974: + cmp r3, r1 + ble _020009D4 + ldrb r5, [r3, #-0x1]! + mov r6, #0x8 +_02000984: + subs r6, r6, #0x1 + blt _02000974 + tst r5, #0x80 + bne _020009A0 + ldrb r0, [r3, #-0x1]! + strb r0, [r2, #-0x1]! + b _020009C8 +_020009A0: + ldrb r12, [r3, #-0x1]! + ldrb r7, [r3, #-0x1]! + orr r7, r7, r12, lsl #0x8 + bic r7, r7, #0xf000 + add r7, r7, #0x2 + add r12, r12, #0x20 +_020009B8: + ldrb r0, [r2, r7] + strb r0, [r2, #-0x1]! + subs r12, r12, #0x10 + bge _020009B8 +_020009C8: + cmp r3, r1 + mov r5, r5, lsl #0x1 + bgt _02000984 +_020009D4: + mov r0, #0x0 + bic r3, r1, #0x1f +_020009DC: + mcr p15, 0x0, r0, c7, c10, 0x4 + mcr p15, 0x0, r3, c7, c5, 0x1 + mcr p15, 0x0, r3, c7, c14, 0x1 + add r3, r3, #0x20 + cmp r3, r4 + blt _020009DC + ldmia sp!, {r4-r7} +_020009F8: + bx lr +_020009FC: + .byte 0x6C, 0x00, 0x9F, 0xE5 + .byte 0x00, 0x10, 0x90, 0xE5, 0x04, 0x20, 0x90, 0xE5, 0x08, 0x30, 0x90, 0xE5, 0x02, 0x00, 0x51, 0xE1 + .byte 0x15, 0x00, 0x00, 0x0A, 0x04, 0x50, 0x91, 0xE4, 0x04, 0x70, 0x91, 0xE4, 0x07, 0x60, 0x85, 0xE0 + .byte 0x05, 0x40, 0xA0, 0xE1, 0x06, 0x00, 0x54, 0xE1, 0x04, 0x70, 0x93, 0x44, 0x04, 0x70, 0x84, 0x44 + .byte 0xFB, 0xFF, 0xFF, 0x4A, 0x04, 0x70, 0x91, 0xE4, 0x07, 0x60, 0x84, 0xE0, 0x00, 0x70, 0xA0, 0xE3 + .byte 0x06, 0x00, 0x54, 0xE1, 0x04, 0x70, 0x84, 0x34, 0xFC, 0xFF, 0xFF, 0x3A, 0x1F, 0x40, 0xC5, 0xE3 + .byte 0x9A, 0x7F, 0x07, 0xEE, 0x35, 0x4F, 0x07, 0xEE, 0x3E, 0x4F, 0x07, 0xEE, 0x20, 0x40, 0x84, 0xE2 + .byte 0x06, 0x00, 0x54, 0xE1, 0xF9, 0xFF, 0xFF, 0xBA, 0xE7, 0xFF, 0xFF, 0xEA, 0x00, 0x00, 0x00, 0xEA + .byte 0x68, 0x0B, 0x00, 0x02, 0x1E, 0xFF, 0x2F, 0xE1 + + arm_func_start sub_02000A78 +sub_02000A78: ; 0x02000A78 + mrc p15, 0x0, r0, c1, c0, 0x0 + ldr r1, _02000B30 ; =0x000F9005 + bic r0, r0, r1 + mcr p15, 0x0, r0, c1, c0, 0x0 + mov r0, #0x0 + mcr p15, 0x0, r0, c7, c5, 0x0 + mcr p15, 0x0, r0, c7, c6, 0x0 + mcr p15, 0x0, r0, c7, c10, 0x4 + ldr r0, _02000B34 ; =0x04000033 + mcr p15, 0x0, r0, c6, c0, 0x0 + ldr r0, _02000B38 ; =0x0200002D + mcr p15, 0x0, r0, c6, c1, 0x0 + ldr r0, _02000B3C ; =0x027E0021 + mcr p15, 0x0, r0, c6, c2, 0x0 + ldr r0, _02000B40 ; =0x08000035 + mcr p15, 0x0, r0, c6, c3, 0x0 + ldr r0, _02000B44 ; =0x027E0000 + orr r0, r0, #0x1a + orr r0, r0, #0x1 + mcr p15, 0x0, r0, c6, c4, 0x0 + ldr r0, _02000B48 ; =0x0100002F + mcr p15, 0x0, r0, c6, c5, 0x0 + ldr r0, _02000B4C ; =0xFFFF001D + mcr p15, 0x0, r0, c6, c6, 0x0 + ldr r0, _02000B50 ; =0x027FF017 + mcr p15, 0x0, r0, c6, c7, 0x0 + mov r0, #0x20 + mcr p15, 0x0, r0, c9, c1, 0x1 + ldr r0, _02000B44 ; =0x027E0000 + orr r0, r0, #0xa + mcr p15, 0x0, r0, c9, c1, 0x0 + mov r0, #0x42 + mcr p15, 0x0, r0, c2, c0, 0x1 + mov r0, #0x42 + mcr p15, 0x0, r0, c2, c0, 0x0 + mov r0, #0x2 + mcr p15, 0x0, r0, c3, c0, 0x0 + ldr r0, _02000B54 ; =0x05100011 + mcr p15, 0x0, r0, c5, c0, 0x3 + ldr r0, _02000B58 ; =0x15111011 + mcr p15, 0x0, r0, c5, c0, 0x2 + mrc p15, 0x0, r0, c1, c0, 0x0 + ldr r1, _02000B5C ; =0x0005707D + orr r0, r0, r1 + mcr p15, 0x0, r0, c1, c0, 0x0 + bx lr + .align 2, 0 +_02000B30: .word 0x000F9005 +_02000B34: .word 0x04000033 +_02000B38: .word 0x0200002D +_02000B3C: .word 0x027E0021 +_02000B40: .word 0x08000035 +_02000B44: .word 0x027E0000 +_02000B48: .word 0x0100002F +_02000B4C: .word 0xFFFF001D +_02000B50: .word 0x027FF017 +_02000B54: .word 0x05100011 +_02000B58: .word 0x15111011 +_02000B5C: .word 0x0005707D + + arm_func_start sub_02000B60_dummy +sub_02000B60_dummy: + bx lr + + arm_func_start sub_02000B64_dummy +sub_02000B64_dummy: + bx lr + +_02000B68: + .word 0x02107700 + .word 0x02107724 + .word 0x02106FA0 + .word 0x02106FA0 + .word 0x021D74E0 + .word 0x00000000 + + .byte 0x31, 0x75, 0x02, 0x03, 0x21, 0x06, 0xC0, 0xDE, 0xDE, 0xC0, 0x06, 0x21 + + # strings + .balign 4 + .asciz "[SDK+NINTENDO:DWC1.2.30006.061019.2254_DWC_1_2_PLUS6]" + .balign 4 + .asciz "[SDK+NINTENDO:WiFi1.2.30000.0609050341]" + .balign 4 + .asciz "[SDK+UBIQUITOUS:CPS]" + .balign 4 + .asciz "[SDK+UBIQUITOUS:SSL]" + .balign 4 + .asciz "[SDK+Abiosso:libVCT 1.0.1_ec]" + .balign 4 + .asciz "[SDK+NINTENDO:BACKUP]" diff --git a/asm/macros/function.inc b/asm/macros/function.inc index 67fb373a..4e0afcb7 100644 --- a/asm/macros/function.inc +++ b/asm/macros/function.inc @@ -2,7 +2,6 @@ .align 2, 0 .global \name .arm - .type \name, function .endm .macro arm_func_end name @@ -13,15 +12,11 @@ .align 2, 0 .global \name .thumb - .thumb_func - .type \name, function .endm .macro non_word_aligned_thumb_func_start name .global \name .thumb - .thumb_func - .type \name, function .endm .macro thumb_func_end name diff --git a/asm/main.s b/asm/main.s index 9bc71acb..e394cbc6 100644 --- a/asm/main.s +++ b/asm/main.s @@ -1,288 +1,172 @@ .include "asm/macros.inc" + .include "global.inc" .text - arm_func_start Entry -Entry: @ 0x02000800 - mov ip, #0x4000000 - str ip, [ip, #0x208] -_02000808: - ldrh r0, [ip, #6] - cmp r0, #0 - bne _02000808 - bl sub_2000A78 - mov r0, #0x13 - msr cpsr_c, r0 - ldr r0, _02000918 @ =0x027E0000 - add r0, r0, #0x3fc0 - mov sp, r0 - mov r0, #0x12 - msr cpsr_c, r0 - ldr r0, _02000918 @ =0x027E0000 - add r0, r0, #0x3fc0 - sub r0, r0, #0x40 - sub sp, r0, #4 - tst sp, #4 - subeq sp, sp, #4 - ldr r1, _0200091C @ =0x00000400 - sub r1, r0, r1 - mov r0, #0x1f - msr cpsr_fsxc, r0 - sub sp, r1, #4 - mov r0, #0 - ldr r1, _02000918 @ =0x027E0000 - mov r2, #0x4000 - bl sub_200093C - mov r0, #0 - ldr r1, _02000920 @ =0x05000000 - mov r2, #1024 - bl sub_200093C - mov r0, #512 - ldr r1, _02000924 @ =0x07000000 - mov r2, #1024 - bl sub_200093C - ldr r1, _02000928 @ = 0x02000B68 - ldr r0, [r1, #20] - bl sub_2000950 - bl sub_20009FC - ldr r0, _02000928 @ =0x02000B68 - ldr r1, [r0, #12] - ldr r2, [r0, #16] - mov r3, r1 - mov r0, #0 -_020008B4: - cmp r1, r2 - strcc r0, [r1], #4 - bcc _020008B4 - bic r1, r3, #31 -_020008C4: - mcr p15, #0, r0, cr7, cr10, 4 - mcr p15, #0, r1, cr7, cr5, 1 - mcr p15, #0, r1, cr7, cr14, 1 - add r1, #32 - cmp r1, r2 - blt _020008C4 - ldr r1, _0200092C @ =0x027FFF9C - str r0, [r1] - ldr r1, _02000918 @ =0x027E0000 - add r1, r1, #16320 - add r1, r1, #60 - ldr r0, _02000930 @ =0x01FF8000 - str r0, [r1] - bl sub_20EC5CC - bl sub_2000B64_dummy - bl sub_20EC694 - ldr r1, _02000934 @ =0x02000C55 - ldr lr, _02000938 @ =0xFFFF0000 - tst sp, #4 - subne sp, sp, #4 - bx r1 -_02000918: .4byte 0x027E0000 -_0200091C: .4byte 0x00000400 -_02000920: .4byte 0x05000000 -_02000924: .4byte 0x07000000 -_02000928: .4byte 0x02000B68 -_0200092C: .4byte 0x027FFF9C -_02000930: .4byte 0x01FF8000 -_02000934: .4byte 0x02000C55 @ NdsMain -_02000938: .4byte 0xFFFF0000 - arm_func_end Entry - - arm_func_start sub_200093C -sub_200093C: - add ip, r1, r2 -_02000940: - cmp r1, ip - stmlt r1!, {r0} - blt _02000940 - bx lr - arm_func_end sub_200093C - - arm_func_start sub_2000950 -sub_2000950: - cmp r0, #0 - beq _020009F8 - push {r4, r5, r6, r7} - ldmdb r0, {r1, r2} - add r2, r0, r2 - sub r3, r0, r1, lsr #24 - bic r1, r1, #-16777216 - sub r1, r0, r1 - mov r4, r2 -_02000974: - cmp r3, r1 - ble _020009D4 - ldrb r5, [r3, #-1]! - mov r6, #8 -_02000984: - subs r6, r6, #1 - blt _02000974 - tst r5, #128 - bne _020009A0 - ldrb r0, [r3, #-1]! - strb r0, [r2, #-1]! - b _020009C8 -_020009A0: - ldrb ip, [r3, #-1]! - ldrb r7, [r3, #-1]! - orr r7, r7, ip, lsl #8 - bic r7, r7, #61440 - add r7, r7, #2 - add ip, ip, #32 -_020009B8: - ldrb r0, [r2, r7] - strb r0, [r2, #-1]! - subs ip, ip, #16 - bge _020009B8 -_020009C8: - cmp r3, r1 - lsl r5, r5, #1 - bgt _02000984 -_020009D4: - mov r0, #0 - bic r3, r1, #31 -_020009DC: - mcr p15, #0, r0, cr7, cr10, 4 - mcr p15, #0, r3, cr7, cr5, 1 - mcr p15, #0, r3, cr7, cr14, 1 - add r3, r3, #32 - cmp r3, r4 - blt _020009DC - pop {r4, r5, r6, r7} -_020009F8: - bx lr - arm_func_end sub_2000950 - - arm_func_start sub_20009FC -sub_20009FC: - ldr r0, _02000A70 @ =0x02000B68 - ldr r1, [r0] - ldr r2, [r0, #4] - ldr r3, [r0, #8] -_02000A0C: - cmp r1, r2 - beq _02000A6C - ldr r5, [r1], #4 - ldr r7, [r1], #4 - add r6, r5, r7 - mov r4, r5 -_02000A24: - cmp r4, r6 - ldrmi r7, [r3], #4 - strmi r7, [r4], #4 - bmi _02000A24 - ldr r7, [r1], #4 - add r6, r4, r7 - mov r7, #0 -_02000A40: - cmp r4, r6 - strcc r7, [r4], #4 - bcc _02000A40 - bic r4, r5, #31 -_02000A50: - mcr p15, #0, r7, cr7, cr10, 4 - mcr p15, #0, r4, cr7, cr5, 1 - mcr p15, #0, r4, cr7, cr14, 1 - add r4, r4, #32 - cmp r4, r6 - blt _02000A50 - b _02000A0C -_02000A6C: - b _2000A74 -_02000A70: .4byte 0x02000B68 -_2000A74: - bx lr - arm_func_end sub_20009FC - - arm_func_start sub_2000A78 -sub_2000A78: @ 0x02000A78 - mrc p15, #0, r0, c1, c0, #0 - ldr r1, _02000B30 @ =0x000F9005 - bic r0, r0, r1 - mcr p15, #0, r0, c1, c0, #0 - mov r0, #0 - mcr p15, #0, r0, c7, c5, #0 - mcr p15, #0, r0, c7, c6, #0 - mcr p15, #0, r0, c7, c10, #4 - ldr r0, _02000B34 @ =0x04000033 - mcr p15, #0, r0, c6, c0, #0 - ldr r0, _02000B38 @ =0x0200002D - mcr p15, #0, r0, c6, c1, #0 - ldr r0, _02000B3C @ =0x027E0021 - mcr p15, #0, r0, c6, c2, #0 - ldr r0, _02000B40 @ =0x08000035 - mcr p15, #0, r0, c6, c3, #0 - ldr r0, _02000B44 @ =0x027E0000 - orr r0, r0, #0x1a - orr r0, r0, #1 - mcr p15, #0, r0, c6, c4, #0 - ldr r0, _02000B48 @ =0x0100002F - mcr p15, #0, r0, c6, c5, #0 - ldr r0, _02000B4C @ =0xFFFF001D - mcr p15, #0, r0, c6, c6, #0 - ldr r0, _02000B50 @ =0x027FF017 - mcr p15, #0, r0, c6, c7, #0 - mov r0, #0x20 - mcr p15, #0, r0, c9, c1, #1 - ldr r0, _02000B44 @ =0x027E0000 - orr r0, r0, #0xa - mcr p15, #0, r0, c9, c1, #0 - mov r0, #0x42 - mcr p15, #0, r0, c2, c0, #1 - mov r0, #0x42 - mcr p15, #0, r0, c2, c0, #0 - mov r0, #2 - mcr p15, #0, r0, c3, c0, #0 - ldr r0, _02000B54 @ =0x05100011 - mcr p15, #0, r0, c5, c0, #3 - ldr r0, _02000B58 @ =0x15111011 - mcr p15, #0, r0, c5, c0, #2 - mrc p15, #0, r0, c1, c0, #0 - ldr r1, _02000B5C @ =0x0005707D - orr r0, r0, r1 - mcr p15, #0, r0, c1, c0, #0 - bx lr - .align 2, 0 -_02000B30: .4byte 0x000F9005 -_02000B34: .4byte 0x04000033 -_02000B38: .4byte 0x0200002D -_02000B3C: .4byte 0x027E0021 -_02000B40: .4byte 0x08000035 -_02000B44: .4byte 0x027E0000 -_02000B48: .4byte 0x0100002F -_02000B4C: .4byte 0xFFFF001D -_02000B50: .4byte 0x027FF017 -_02000B54: .4byte 0x05100011 -_02000B58: .4byte 0x15111011 -_02000B5C: .4byte 0x0005707D - - arm_func_start sub_2000B60_dummy -sub_2000B60_dummy: @ 0x02000B60 - bx lr - - arm_func_start sub_2000B64_dummy -sub_2000B64_dummy: @ 0x02000B64 - bx lr -_02000B68: - .word 0x02107700 - .word 0x02107724 - .word 0x02106FA0 - .word 0x02106FA0 - .word 0x021D74E0 - .word 0x00000000 - - .byte 0x31, 0x75, 0x02, 0x03, 0x21, 0x06, 0xC0, 0xDE, 0xDE, 0xC0, 0x06, 0x21 - - # strings - .balign 4 - .asciz "[SDK+NINTENDO:DWC1.2.30006.061019.2254_DWC_1_2_PLUS6]" - .balign 4 - .asciz "[SDK+NINTENDO:WiFi1.2.30000.0609050341]" - .balign 4 - .asciz "[SDK+UBIQUITOUS:CPS]" - .balign 4 - .asciz "[SDK+UBIQUITOUS:SSL]" - .balign 4 - .asciz "[SDK+Abiosso:libVCT 1.0.1_ec]" + thumb_func_start NitroMain +NitroMain: ; 0x02000C54 + push {r3-r7, lr} + bl sub_02016014 + bl sub_02016148 + bl sub_020163BC + mov r0, #0x0 + bl sub_02016438 + ldr r0, _02000DD0 ; =0x02106FA0 + mov r1, #0x0 + blx sub_020D50D8 + bl sub_02022294 + bl sub_0201259C + bl sub_02000DF4 + bl sub_02002C14 + mov r0, #0x0 + mov r1, #0x3 + bl sub_02002C50 + mov r0, #0x1 + mov r1, #0x3 + bl sub_02002C50 + mov r0, #0x3 + add r1, r0, #0x0 + bl sub_02002C50 + mov r1, #0x0 + ldr r0, _02000DD4 ; =0x02106FA0 + mvn r1, r1 + str r1, [r0, #0x18] + bl sub_0202254C + ldr r1, _02000DD4 ; =0x02106FA0 + str r0, [r1, #0x20] + bl sub_02029EF8 + add r4, r0, #0x0 + ldr r0, _02000DD4 ; =0x02106FA0 + ldr r0, [r0, #0x20] + bl sub_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl sub_02003B98 + bl sub_02020AFC + mov r0, #0x3 + bl sub_020337E8 + cmp r0, #0x3 + bne _02000CD4 + mov r0, #0x3 + mov r1, #0x0 + bl sub_02034188 +_02000CD4: + ldr r0, _02000DD4 ; =0x02106FA0 + ldr r0, [r0, #0x20] + bl sub_020227FC + cmp r0, #0x0 + bne _02000CE8 + mov r0, #0x0 + bl sub_02089D90 + b _02000D1A +_02000CE8: + ldr r0, _02000DD8 ; =0x027FFC20 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02000CF6 + cmp r0, #0x1 + beq _02000D06 + b _02000D16 +_02000CF6: + ldr r0, _02000DD4 ; =0x02106FA0 + mov r1, #0x0 + str r1, [r0, #0x1c] + ldr r0, _02000DDC ; =0x0000003F + ldr r1, _02000DE0 ; =0x021DBE18 + bl sub_02000E7C + b _02000D1A +_02000D06: + ldr r0, _02000DD4 ; =0x02106FA0 + mov r1, #0x1 + str r1, [r0, #0x1c] + ldr r0, _02000DE4 ; =0x00000034 + ldr r1, _02000DE8 ; =0x021D76C8 + bl sub_02000E7C + b _02000D1A +_02000D16: + bl sub_02020C2C +_02000D1A: + ldr r0, _02000DEC ; =0x021C48B8 + mov r1, #0x1 + str r1, [r0, #0x6c] + mov r1, #0x0 + str r1, [r0, #0x30] + bl sub_02000FA4 + bl sub_0200A2AC + bl sub_02015E30 + mov r1, #0x0 + ldr r0, _02000DD4 ; =0x02106FA0 + mov r7, #0xc3 + ldr r6, _02000DF0 ; =0x021C4918 + ldr r4, _02000DEC ; =0x021C48B8 + str r1, [r0, #0x4] + add r5, r1, #0x0 + lsl r7, r7, #0x2 +_02000D40: + bl sub_02000EE8 + bl sub_02000FE8 + bl sub_02016464 + mov r0, #0xc3 + ldr r1, [r4, #0x38] + lsl r0, r0, #0x2 + and r0, r1 + cmp r0, r7 + bne _02000D64 + ldrb r0, [r6, #0x8] + cmp r0, #0x0 + bne _02000D64 + mov r0, #0x0 + bl sub_02000F18 +_02000D64: + bl sub_0202FB80 + cmp r0, #0x0 + beq _02000D90 + bl sub_02000E0C + ldr r0, [r4, #0x18] + bl sub_0201B5CC + ldr r0, [r4, #0x24] + bl sub_0201B5CC + ldr r0, [r4, #0x30] + cmp r0, #0x0 + bne _02000D90 + mov r0, #0x1 + add r1, r0, #0x0 + blx sub_020C9C0C + ldr r0, [r4, #0x2c] + add r0, r0, #0x1 + str r0, [r4, #0x2c] +_02000D90: + bl sub_020125D4 + bl sub_02015E60 + bl sub_020222C4 + ldr r0, [r4, #0x24] + bl sub_0201B5CC + mov r0, #0x1 + add r1, r0, #0x0 + blx sub_020C9C0C + ldr r0, [r4, #0x2c] + add r0, r0, #0x1 + str r0, [r4, #0x2c] + str r5, [r4, #0x30] + bl sub_0200A318 + bl sub_0200E2D8 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02000DC4 + ldr r0, [r4, #0x4] + blx r1 +_02000DC4: + bl sub_02003C10 + ldr r0, [r4, #0x20] + bl sub_0201B5CC + b _02000D40 .balign 4 - .asciz "[SDK+NINTENDO:BACKUP]" +_02000DD0: .word 0x02106FA0 +_02000DD4: .word 0x02106FA0 +_02000DD8: .word 0x027FFC20 +_02000DDC: .word 0x0000003F +_02000DE0: .word 0x021DBE18 +_02000DE4: .word 0x00000034 +_02000DE8: .word 0x021D76C8 +_02000DEC: .word 0x021C48B8 +_02000DF0: .word 0x021C4918 diff --git a/asm/rom2.s b/asm/rom2.s index 26636dae..ded2e8ad 100644 --- a/asm/rom2.s +++ b/asm/rom2.s @@ -1,13 +1,13 @@ -/* rom.s TODO: Disassemble */ +/* rom2.s TODO: Disassemble */ .section .text -.incbin "baserom.nds", 0x4E0C, 0xEB7C0 +.incbin "baserom.nds", 0x8EC14, 0x619B8 - .global sub_20EC5CC -sub_20EC5CC: + .global sub_020EC5CC +sub_020EC5CC: .incbin "baserom.nds", 0xF05CC, 0xC8 - .global sub_20EC694 -sub_20EC694: + .global sub_020EC694 +sub_020EC694: .incbin "baserom.nds", 0xF0694, 0x1b090 diff --git a/asm/rom_header.s b/asm/rom_header.s index 2dc62ad5..d4657a48 100644 --- a/asm/rom_header.s +++ b/asm/rom_header.s @@ -29,13 +29,13 @@ RomVersion: .space 1 ARM9ROMOffset: -.word _arm9SegmentRomStart +.word 0x00004000 ARM9EntryAddress: -.word Entry +.word 0x02000800 ARM9RAMAddress: -.word _arm9SegmentStart +.word 0x02000000 ARM9CodeSize: -.word _arm9SegmentSize +.word 0x00107724 ARM7ROMOffset: .word 0x0030D000 ARM7EntryAddress: @@ -110,6 +110,4 @@ HeaderCRC: .short 0xCA37 /* reserved */ -.global __startup -__startup: .space 160 /* hack so it builds */ diff --git a/global.inc b/global.inc new file mode 100644 index 00000000..0845d4e2 --- /dev/null +++ b/global.inc @@ -0,0 +1,2207 @@ +.extern sub_0200019E +.extern sub_02000DF4 +.extern sub_02000E0C +.extern sub_02000E7C +.extern sub_02000E7C +.extern sub_02000EE8 +.extern sub_02000F18 +.extern sub_02000FA4 +.extern sub_02000FE8 +.extern sub_0208ACEC +.extern sub_0208AD80 +.extern sub_0208AF80 +.extern sub_0208AF94 +.extern sub_0208AFA8 +.extern sub_0208B05C +.extern sub_0208B128 +.extern sub_0208B4A0 +.extern sub_02090CC8 +.extern sub_02090DB8 +.extern sub_02096B14 +.extern sub_02096B78 +.extern sub_02096CCC +.extern sub_02096CCC +.extern sub_02096D2C +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096DA0 +.extern sub_02096E90 +.extern sub_02096F18 +.extern sub_02096F80 +.extern sub_02096FB0 +.extern sub_02096FF4 +.extern sub_0209700C +.extern sub_0209700C +.extern sub_0209700C +.extern sub_0209700C +.extern sub_020973B4 +.extern sub_020ADDC0 +.extern sub_020ADDC8 +.extern sub_020ADDF0 +.extern sub_020ADDF0 +.extern sub_020ADDF0 +.extern sub_020ADE2C +.extern sub_020ADFA0 +.extern sub_020ADFA0 +.extern sub_020ADFDC +.extern sub_020ADFE8 +.extern sub_020ADFE8 +.extern sub_020AE82C +.extern sub_020AE8CC +.extern sub_020AE918 +.extern sub_020AEB70 +.extern sub_020AEB70 +.extern sub_020AEC7C +.extern sub_020AEC98 +.extern sub_020AEE40 +.extern sub_020AEEB8 +.extern sub_020AEF1C +.extern sub_020AF894 +.extern sub_020AF9C4 +.extern sub_020AFA28 +.extern sub_020AFA80 +.extern sub_020AFBA8 +.extern sub_020AFBFC +.extern sub_020AFC04 +.extern sub_020AFC04 +.extern sub_020AFC04 +.extern sub_020AFC04 +.extern sub_020AFC04 +.extern sub_020AFD88 +.extern sub_020AFD94 +.extern sub_020AFD94 +.extern sub_020AFD94 +.extern sub_020AFEB8 +.extern sub_020AFEB8 +.extern sub_020AFFD8 +.extern sub_020B0030 +.extern sub_020B0030 +.extern sub_020B0030 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B0088 +.extern sub_020B00F0 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0138 +.extern sub_020B0180 +.extern sub_020B0180 +.extern sub_020B0180 +.extern sub_020B0180 +.extern sub_020B0180 +.extern sub_020B0180 +.extern sub_020B0250 +.extern sub_020B0250 +.extern sub_020B0250 +.extern sub_020B0250 +.extern sub_020B02C8 +.extern sub_020B0448 +.extern sub_020B0448 +.extern sub_020B0870 +.extern sub_020B0870 +.extern sub_020B0BB0 +.extern sub_020B0BB0 +.extern sub_020B0C7C +.extern sub_020B0C7C +.extern sub_020B0E34 +.extern sub_020B0E34 +.extern sub_020B0FC0 +.extern sub_020B0FC0 +.extern sub_020B10E8 +.extern sub_020B1240 +.extern sub_020B1240 +.extern sub_020B1240 +.extern sub_020B1240 +.extern sub_020B1240 +.extern sub_020B1340 +.extern sub_020B1528 +.extern sub_020B1528 +.extern sub_020B1528 +.extern sub_020B1768 +.extern sub_020B19C4 +.extern sub_020B19C4 +.extern sub_020B19C4 +.extern sub_020B19C4 +.extern sub_020B19C4 +.extern sub_020B19DC +.extern sub_020B19DC +.extern sub_020B19DC +.extern sub_020B19DC +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A14 +.extern sub_020B1A24 +.extern sub_020B1A24 +.extern sub_020B1A24 +.extern sub_020B1A24 +.extern sub_020B1A24 +.extern sub_020B1EA4 +.extern sub_020B1EC4 +.extern sub_020B1EE4 +.extern sub_020B1EFC +.extern sub_020B1F80 +.extern sub_020B20C8 +.extern sub_020B2194 +.extern sub_020B224C +.extern sub_020B23D8 +.extern sub_020B242C +.extern sub_020B242C +.extern sub_020B2780 +.extern sub_020B2794 +.extern sub_020B28B4 +.extern sub_020B2A08 +.extern sub_020B2A08 +.extern sub_020B2A08 +.extern sub_020B2B08 +.extern sub_020B2B58 +.extern sub_020B2D9C +.extern sub_020B317C +.extern sub_020B31F0 +.extern sub_020B326C +.extern sub_020B3334 +.extern sub_020B3390 +.extern sub_020B33A0 +.extern sub_020B4358 +.extern sub_020B43A4 +.extern sub_020B442C +.extern sub_020B4568 +.extern sub_020B4F38 +.extern sub_020B4F38 +.extern sub_020B4F38 +.extern sub_020B502C +.extern sub_020B502C +.extern sub_020B772C +.extern sub_020B7790 +.extern sub_020B7790 +.extern sub_020B7C58 +.extern sub_020B7C58 +.extern sub_020B7C78 +.extern sub_020B7C78 +.extern sub_020B7CDC +.extern sub_020B7CDC +.extern sub_020B7CDC +.extern sub_020B7CE4 +.extern sub_020B7CE4 +.extern sub_020B7CE4 +.extern sub_020B7CE4 +.extern sub_020B7CE4 +.extern sub_020B7CF0 +.extern sub_020B7CF0 +.extern sub_020B7D28 +.extern sub_020B7D28 +.extern sub_020B7DFC +.extern sub_020B7DFC +.extern sub_020B7DFC +.extern sub_020B7E10 +.extern sub_020B7E10 +.extern sub_020B7E10 +.extern sub_020B7E10 +.extern sub_020B7E10 +.extern sub_020B7E1C +.extern sub_020B7E1C +.extern sub_020B7E1C +.extern sub_020B7E1C +.extern sub_020B7E1C +.extern sub_020B80B4 +.extern sub_020B80B4 +.extern sub_020B80B4 +.extern sub_020B80B4 +.extern sub_020B844C +.extern sub_020B844C +.extern sub_020B844C +.extern sub_020B8474 +.extern sub_020B8474 +.extern sub_020B8474 +.extern sub_020B8474 +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020B849C +.extern sub_020BAC98 +.extern sub_020BAFB8 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB1C0 +.extern sub_020BB394 +.extern sub_020BB394 +.extern sub_020BB394 +.extern sub_020BB394 +.extern sub_020BB59C +.extern sub_020BB59C +.extern sub_020BB7F4 +.extern sub_020BB7F4 +.extern sub_020BC0FC +.extern sub_020BC0FC +.extern sub_020BC0FC +.extern sub_020BC0FC +.extern sub_020BC0FC +.extern sub_020BC0FC +.extern sub_020BC13C +.extern sub_020BC13C +.extern sub_020BC13C +.extern sub_020BC13C +.extern sub_020BC13C +.extern sub_020BC2A0 +.extern sub_020BC2A0 +.extern sub_020C0174 +.extern sub_020C01A0 +.extern sub_020C01D0 +.extern sub_020C03B8 +.extern sub_020C041C +.extern sub_020C044C +.extern sub_020C04DC +.extern sub_020C04DC +.extern sub_020C0510 +.extern sub_020C054C +.extern sub_020C0670 +.extern sub_020C0670 +.extern sub_020C0688 +.extern sub_020C0688 +.extern sub_020C0DD4 +.extern sub_020C0E14 +.extern sub_020C0E7C +.extern sub_020C0E7C +.extern sub_020C0E7C +.extern sub_020C0EA4 +.extern sub_020C0EF4 +.extern sub_020C0F30 +.extern sub_020C0F50 +.extern sub_020C0F68 +.extern sub_020C0F68 +.extern sub_020C0F80 +.extern sub_020C0F8C +.extern sub_020C0F9C +.extern sub_020C0FDC +.extern sub_020C1040 +.extern sub_020C10A4 +.extern sub_020C10A4 +.extern sub_020C10A4 +.extern sub_020C10A4 +.extern sub_020C10A4 +.extern sub_020C1148 +.extern sub_020C1180 +.extern sub_020C1E58 +.extern sub_020C1E68 +.extern sub_020C1EA4 +.extern sub_020C1F54 +.extern sub_020C1FA4 +.extern sub_020C1FF0 +.extern sub_020C20DC +.extern sub_020C2104 +.extern sub_020C217C +.extern sub_020C226C +.extern sub_020C226C +.extern sub_020C22D0 +.extern sub_020C23FC +.extern sub_020C23FC +.extern sub_020C23FC +.extern sub_020C26F8 +.extern sub_020C2828 +.extern sub_020C290C +.extern sub_020C2A94 +.extern sub_020C35E0 +.extern sub_020C360C +.extern sub_020C3640 +.extern sub_020C3674 +.extern sub_020C36A8 +.extern sub_020C3910 +.extern sub_020C3910 +.extern sub_020C3910 +.extern sub_020C3910 +.extern sub_020C3980 +.extern sub_020C3980 +.extern sub_020C3980 +.extern sub_020C3980 +.extern sub_020C3980 +.extern sub_020C39CC +.extern sub_020C3EA4 +.extern sub_020C3EB0 +.extern sub_020C3F14 +.extern sub_020C3F14 +.extern sub_020C3F38 +.extern sub_020C3F38 +.extern sub_020C3F54 +.extern sub_020C3F54 +.extern sub_020C3F70 +.extern sub_020C3F70 +.extern sub_020C400C +.extern sub_020C400C +.extern sub_020C400C +.extern sub_020C400C +.extern sub_020C504C +.extern sub_020C504C +.extern sub_020C50B8 +.extern sub_020C50B8 +.extern sub_020C50B8 +.extern sub_020C5288 +.extern sub_020C5288 +.extern sub_020C5288 +.extern sub_020C53C8 +.extern sub_020C5588 +.extern sub_020C5600 +.extern sub_020C5600 +.extern sub_020C5600 +.extern sub_020C5634 +.extern sub_020C5634 +.extern sub_020C5634 +.extern sub_020C5634 +.extern sub_020C5668 +.extern sub_020C5974 +.extern sub_020C5978 +.extern sub_020C5978 +.extern sub_020C59A4 +.extern sub_020C59A4 +.extern sub_020C59C0 +.extern sub_020C59C0 +.extern sub_020C5A34 +.extern sub_020C5A80 +.extern sub_020C5AC8 +.extern sub_020C5AF8 +.extern sub_020C5AF8 +.extern sub_020C5B28 +.extern sub_020C5D2C +.extern sub_020C5D4C +.extern sub_020C5D4C +.extern sub_020C5D9C +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5DBC +.extern sub_020C5E54 +.extern sub_020C600C +.extern sub_020C6034 +.extern sub_020C605C +.extern sub_020C6070 +.extern sub_020C6098 +.extern sub_020C60AC +.extern sub_020C60C0 +.extern sub_020C60E4 +.extern sub_020C6108 +.extern sub_020C611C +.extern sub_020C6168 +.extern sub_020C61F4 +.extern sub_020C6280 +.extern sub_020C62FC +.extern sub_020C63A8 +.extern sub_020C65C0 +.extern sub_020C66B4 +.extern sub_020C68B8 +.extern sub_020C6970 +.extern sub_020C6A84 +.extern sub_020C6BF0 +.extern sub_020C7124 +.extern sub_020C74B8 +.extern sub_020C74B8 +.extern sub_020C74B8 +.extern sub_020C74B8 +.extern sub_020C74B8 +.extern sub_020C74B8 +.extern sub_020C74DC +.extern sub_020C74DC +.extern sub_020C74DC +.extern sub_020C74DC +.extern sub_020C74DC +.extern sub_020C74DC +.extern sub_020C74F8 +.extern sub_020C74F8 +.extern sub_020C74F8 +.extern sub_020C74F8 +.extern sub_020C74F8 +.extern sub_020C7A14 +.extern sub_020C7B3C +.extern sub_020C7B3C +.extern sub_020C7B3C +.extern sub_020C7B3C +.extern sub_020C7B3C +.extern sub_020C7C28 +.extern sub_020C7C28 +.extern sub_020C7C28 +.extern sub_020C7C28 +.extern sub_020C7C28 +.extern sub_020C7D28 +.extern sub_020C7D28 +.extern sub_020C7E0C +.extern sub_020C7E94 +.extern sub_020C7FF0 +.extern sub_020C7FF0 +.extern sub_020C802C +.extern sub_020C8068 +.extern sub_020C80A4 +.extern sub_020C823C +.extern sub_020C8538 +.extern sub_020C8A2C +.extern sub_020C8B10 +.extern sub_020C8EEC +.extern sub_020C922C +.extern sub_020C9294 +.extern sub_020C9294 +.extern sub_020C9294 +.extern sub_020C9294 +.extern sub_020C92F4 +.extern sub_020C92F4 +.extern sub_020C92F4 +.extern sub_020C92F4 +.extern sub_020C9354 +.extern sub_020C93BC +.extern sub_020C9418 +.extern sub_020C9480 +.extern sub_020C9480 +.extern sub_020C9480 +.extern sub_020C9480 +.extern sub_020C94E8 +.extern sub_020C94E8 +.extern sub_020C94E8 +.extern sub_020C94E8 +.extern sub_020C9550 +.extern sub_020C9550 +.extern sub_020C9550 +.extern sub_020C9550 +.extern sub_020C9550 +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9C0C +.extern sub_020C9E14 +.extern sub_020C9E14 +.extern sub_020C9E14 +.extern sub_020C9E14 +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9E5C +.extern sub_020C9FEC +.extern sub_020C9FEC +.extern sub_020C9FEC +.extern sub_020C9FEC +.extern sub_020C9FEC +.extern sub_020C9FEC +.extern sub_020CA0A0 +.extern sub_020CA0A0 +.extern sub_020CA0A0 +.extern sub_020CA0F8 +.extern sub_020CA0F8 +.extern sub_020CA0F8 +.extern sub_020CA0F8 +.extern sub_020CC124 +.extern sub_020CC124 +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC15C +.extern sub_020CC180 +.extern sub_020CC1B4 +.extern sub_020CC204 +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC26C +.extern sub_020CC2F4 +.extern sub_020CC308 +.extern sub_020CC31C +.extern sub_020CC408 +.extern sub_020CCD64 +.extern sub_020CD310 +.extern sub_020CD310 +.extern sub_020CD310 +.extern sub_020CD324 +.extern sub_020CD324 +.extern sub_020CD324 +.extern sub_020CD374 +.extern sub_020CD374 +.extern sub_020CD374 +.extern sub_020CD374 +.extern sub_020CD374 +.extern sub_020CD3B4 +.extern sub_020CD3B4 +.extern sub_020CD3B4 +.extern sub_020CD3B4 +.extern sub_020CD3B4 +.extern sub_020CD3B4 +.extern sub_020CD510 +.extern sub_020CD510 +.extern sub_020CD510 +.extern sub_020CD510 +.extern sub_020CD524 +.extern sub_020CD5A0 +.extern sub_020CD5A0 +.extern sub_020CD5A0 +.extern sub_020CD5A0 +.extern sub_020CD5A0 +.extern sub_020CD5A0 +.extern sub_020CD754 +.extern sub_020CD850 +.extern sub_020CD850 +.extern sub_020CD850 +.extern sub_020CD850 +.extern sub_020CD998 +.extern sub_020CDA1C +.extern sub_020CDA1C +.extern sub_020CDD90 +.extern sub_020CDE04 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1C8 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1E0 +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE1FC +.extern sub_020CE210 +.extern sub_020CE210 +.extern sub_020CE210 +.extern sub_020CE210 +.extern sub_020CE210 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE240 +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE28C +.extern sub_020CE2E0 +.extern sub_020CE2E0 +.extern sub_020CE2E0 +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE34C +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE3E0 +.extern sub_020CE528 +.extern sub_020CE528 +.extern sub_020CE528 +.extern sub_020CE528 +.extern sub_020CF768 +.extern sub_020D1148 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D17A0 +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D180C +.extern sub_020D182C +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D18FC +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1944 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1C94 +.extern sub_020D1CC4 +.extern sub_020D1CD4 +.extern sub_020D1D10 +.extern sub_020D1D10 +.extern sub_020D1D30 +.extern sub_020D1D30 +.extern sub_020D2040 +.extern sub_020D2094 +.extern sub_020D2210 +.extern sub_020D2210 +.extern sub_020D23B4 +.extern sub_020D2454 +.extern sub_020D24EC +.extern sub_020D24EC +.extern sub_020D24EC +.extern sub_020D24EC +.extern sub_020D36C4 +.extern sub_020D36C4 +.extern sub_020D36D8 +.extern sub_020D36D8 +.extern sub_020D36F0 +.extern sub_020D36F0 +.extern sub_020D3A90 +.extern sub_020D3AA0 +.extern sub_020D3C14 +.extern sub_020D3CB8 +.extern sub_020D3DCC +.extern sub_020D3E24 +.extern sub_020D3EC4 +.extern sub_020D3EC4 +.extern sub_020D400C +.extern sub_020D40B8 +.extern sub_020D4718 +.extern sub_020D47CC +.extern sub_020D4980 +.extern sub_020D4A5C +.extern sub_020D4E68 +.extern sub_020D50D8 +.extern sub_020D5150 +.extern sub_020D5168 +.extern sub_020D5180 +.extern sub_020D526C +.extern sub_020D526C +.extern sub_020D5F40 +.extern sub_020D614C +.extern sub_020D6320 +.extern sub_020D6320 +.extern sub_020D6578 +.extern sub_020D6578 +.extern sub_020D6578 +.extern sub_020D6578 +.extern sub_020D660C +.extern sub_020D660C +.extern sub_020D660C +.extern sub_020D660C +.extern sub_020D660C +.extern sub_020D66A0 +.extern sub_020D66A0 +.extern sub_020D66A0 +.extern sub_020D66A0 +.extern sub_020D66B0 +.extern sub_020D66B0 +.extern sub_020D66B0 +.extern sub_020D6700 +.extern sub_020D6DAC +.extern sub_020D6DB8 +.extern sub_020D6DC4 +.extern sub_020D6DC4 +.extern sub_020D6F20 +.extern sub_020D6F20 +.extern sub_020D6F20 +.extern sub_020D7228 +.extern sub_020D7D18 +.extern sub_020D7E9C +.extern sub_020D8A4C +.extern sub_020D8AF0 +.extern sub_020D8B94 +.extern sub_020D8C3C +.extern sub_020D8C3C +.extern sub_020D8F34 +.extern sub_020D9014 +.extern sub_020D9060 +.extern sub_020D9060 +.extern sub_020D9168 +.extern sub_020D9244 +.extern sub_020D940C +.extern sub_020D950C +.extern sub_020D9554 +.extern sub_020D9624 +.extern sub_020D972C +.extern sub_020D9774 +.extern sub_020D97B4 +.extern sub_020D9960 +.extern sub_020D9960 +.extern sub_020D99EC +.extern sub_020D9B48 +.extern sub_020D9B48 +.extern sub_020DAD74 +.extern sub_020DADD4 +.extern sub_020DAF30 +.extern sub_020DB7A8 +.extern sub_020DDC5C +.extern sub_020DDC5C +.extern sub_020DDCE4 +.extern sub_020DDD28 +.extern sub_020DDD28 +.extern sub_020DDD60 +.extern sub_020DDD60 +.extern sub_020DDE44 +.extern sub_020DDE44 +.extern sub_020DDF60 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DE3F0 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF438 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF4A4 +.extern sub_020DF510 +.extern sub_020E2EAC +.extern sub_020E2EC8 +.extern sub_020E2EC8 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EA980 +.extern sub_020EAEF0 +.extern sub_020EAEF0 +.extern sub_020EAEF0 +.extern sub_020EB010 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB084 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4C0 +.extern sub_020EB4F4 +.extern sub_020EB4F4 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB534 +.extern sub_020EB57C +.extern sub_020EB57C +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB5C4 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EB7B0 +.extern sub_020EBA38 +.extern sub_020EBA38 +.extern sub_020EBBE8 +.extern sub_020EBBE8 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC30 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBC80 +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_020EBE8C +.extern sub_021D78FC +.extern sub_021D78FC +.extern sub_021D79B4 +.extern sub_021D79B4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7CA4 +.extern sub_021D7F8C +.extern sub_021D8018 +.extern sub_021D8018 +.extern sub_021D8164 +.extern sub_021D82BC +.extern sub_021D8320 +.extern sub_021D836C +.extern sub_021D83C0 +.extern sub_021D83C0 +.extern sub_021D844C +.extern sub_021D85FC +.extern sub_021D8624 +.extern sub_021D88E4 +.extern sub_021D88E4 +.extern sub_021D88E4 +.extern sub_021D88E4 +.extern sub_021D88E4 +.extern sub_021D89CC +.extern sub_021D8B64 +.extern sub_021D8B64 +.extern sub_021D8B64 +.extern sub_021D8B64 +.extern sub_021D8B64 +.extern sub_021D8B64 +.extern sub_021D8C24 +.extern sub_021D917C +.extern sub_021D959C +.extern sub_021D959C +.extern sub_021D959C +.extern sub_021D959C +.extern sub_021D967C +.extern sub_021D967C +.extern sub_021D967C +.extern sub_021D967C +.extern sub_021D96F4 +.extern sub_021D96F4 +.extern sub_021D96F4 +.extern sub_021D96F4 +.extern sub_021D96F4 +.extern sub_021D9708 +.extern sub_021D9708 +.extern sub_021D9708 +.extern sub_021D9708 +.extern sub_021D9708 +.extern sub_021D971C +.extern sub_021D971C +.extern sub_021D971C +.extern sub_021D971C +.extern sub_021D971C +.extern sub_021D9820 +.extern sub_021D9820 +.extern sub_021D9820 +.extern sub_021D9820 +.extern sub_021D9820 +.extern sub_021D99F8 +.extern sub_021D99F8 +.extern sub_021D99F8 +.extern sub_021D99F8 +.extern sub_021DA464 +.extern sub_021DA58C +.extern sub_021DA5B8 +.extern sub_021DA5B8 +.extern sub_021DA5C8 +.extern sub_021DA5D0 +.extern sub_021DA5D0 +.extern sub_021DAC70 +.extern sub_021DAE40 +.extern sub_021DAED4 +.extern sub_021DAF28 +.extern sub_021DAF78 +.extern sub_021DAF98 +.extern sub_021DAF98 +.extern sub_021DB030 +.extern sub_021DB030 +.extern sub_021DB030 +.extern sub_021DB7E8 +.extern sub_021DB858 +.extern sub_021DC174 +.extern sub_021DC174 +.extern sub_021DD6F0 +.extern sub_021DD718 +.extern sub_021DD718 +.extern sub_021DDB08 +.extern sub_021E1374 +.extern sub_021E1858 +.extern sub_021E1994 +.extern sub_021E1BF8 +.extern sub_021E1BF8 +.extern sub_021E1C4C +.extern sub_021E1C4C +.extern sub_021E1C54 +.extern sub_021E1C54 +.extern sub_021E1ECC +.extern sub_021E1F34 +.extern sub_021E1F34 +.extern sub_021E1F58 +.extern sub_021E1F60 +.extern sub_021E2464 +.extern sub_021E2608 +.extern sub_021E26CC +.extern sub_021E2B80 +.extern sub_021E2B9C +.extern sub_021E2BB8 +.extern sub_021E2BB8 +.extern sub_021E2BB8 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2BD0 +.extern sub_021E2C24 +.extern sub_021E2C24 +.extern sub_021E2C58 +.extern sub_021E2C58 +.extern sub_021E2C58 +.extern sub_021E2CBC +.extern sub_021E32F0 +.extern sub_021E32F0 +.extern sub_021E331C +.extern sub_021E331C +.extern sub_021E331C +.extern sub_021E3424 +.extern sub_021E3444 +.extern sub_021E495C +.extern sub_021E4C54 +.extern sub_021E4C60 +.extern sub_021E4DE4 +.extern sub_021E5970 +.extern sub_021E5B30 +.extern sub_021E5B30 +.extern sub_021E5B30 +.extern sub_021E5B30 +.extern sub_021E5FD8 +.extern sub_021E5FD8 +.extern sub_021E5FD8 +.extern sub_021E5FD8 +.extern sub_021E5FD8 +.extern sub_021E5FE0 +.extern sub_021E5FE0 +.extern sub_021E5FE0 +.extern sub_021E5FE0 +.extern sub_021E5FE0 +.extern sub_021E5FE0 +.extern sub_021E6410 +.extern sub_021E643C +.extern sub_021E6990 +.extern sub_021E69BC +.extern sub_021E6BF4 +.extern sub_021E7030 +.extern sub_021E70F0 +.extern sub_021E7138 +.extern sub_021E7138 +.extern sub_021E7138 +.extern sub_021E7184 +.extern sub_021E71E8 +.extern sub_021E7750 +.extern sub_021E7750 +.extern sub_021E799C +.extern sub_021E799C +.extern sub_021E7AC0 +.extern sub_021E7AC0 +.extern sub_021E7EA0 +.extern sub_021E7EA0 +.extern sub_021E7EA0 +.extern sub_021E7EB0 +.extern sub_021E7EB0 +.extern sub_021E7EC4 +.extern sub_021E7EC4 +.extern sub_021E7EC4 +.extern sub_021E7EC4 +.extern sub_021E7EC8 +.extern sub_021E7ED0 +.extern sub_021E7ED0 +.extern sub_021E7ED0 +.extern sub_021E7ED0 +.extern sub_021E7ED8 +.extern sub_021E7FBC +.extern sub_021E8128 +.extern sub_021E8128 +.extern sub_021E8130 +.extern sub_021E8130 +.extern sub_021E8130 +.extern sub_021E8140 +.extern sub_021E8140 +.extern sub_021E8144 +.extern sub_021E8148 +.extern sub_021E8148 +.extern sub_021E8158 +.extern sub_021E81BC +.extern sub_021E84F4 +.extern sub_021E856C +.extern sub_021E8588 +.extern sub_021E85E4 +.extern sub_021E85FC +.extern sub_021ECF14 +.extern sub_021ED49C +.extern sub_021ED940 +.extern sub_021EDA48 +.extern sub_021EDBC8 +.extern sub_021EF5E0 +.extern sub_021EF5E0 +.extern sub_021EF604 +.extern sub_021EF604 +.extern sub_021EF604 +.extern sub_021EF604 +.extern sub_021EF620 +.extern sub_021EF654 +.extern sub_021EF824 +.extern sub_021EF824 +.extern sub_021EF824 +.extern sub_021EF844 +.extern sub_021EF844 +.extern sub_021EF8C8 +.extern sub_021EF8DC +.extern sub_021EFA9C +.extern sub_021EFA9C +.extern sub_021F02C4 +.extern sub_021F1D8C +.extern sub_021F1DC8 +.extern sub_021F1DC8 +.extern sub_021F1DC8 +.extern sub_021F1DC8 +.extern sub_021F1DC8 +.extern sub_021F1DFC +.extern sub_021F1EC0 +.extern sub_021F1EC0 +.extern sub_021F1EC0 +.extern sub_021F1F78 +.extern sub_021F1F78 +.extern sub_021F2094 +.extern sub_021F2094 +.extern sub_021F2094 +.extern sub_021F20D8 +.extern sub_021F20F8 +.extern sub_021F2AF4 +.extern sub_021F2E0C +.extern sub_021F2E28 +.extern sub_021F2E28 +.extern sub_021F2E28 +.extern sub_021F2F48 +.extern sub_021F2F48 +.extern sub_021F2F6C +.extern sub_021F3DA4 +.extern sub_021F44D8 +.extern sub_021F4520 +.extern sub_021F4568 +.extern sub_021F45E8 +.extern sub_021F45E8 +.extern sub_021F4608 +.extern sub_021F4608 +.extern sub_021F4BD0 +.extern sub_021F4C88 +.extern sub_021F4D80 +.extern sub_021F4DC8 +.extern sub_021F4E7C +.extern sub_021F57EC +.extern sub_021F5C44 +.extern sub_021F5C44 +.extern sub_021F5C44 +.extern sub_021F5C44 +.extern sub_021F5C44 +.extern sub_021F5C44 +.extern sub_02211E60 +.extern sub_0222DAEC +.extern sub_0222DD1C +.extern sub_0222DD38 +.extern sub_0222E2BC +.extern sub_0222E360 +.extern sub_0222E3A0 +.extern sub_0222E7E8 +.extern sub_0222E874 +.extern sub_0222ED34 +.extern sub_0222EDBC +.extern sub_0222F440 +.extern sub_0222F480 +.extern sub_0222F480 +.extern sub_0222F7E0 +.extern sub_0222F990 +.extern sub_022300D4 +.extern sub_022300D4 +.extern sub_022300DC +.extern sub_022300DC +.extern sub_022300E4 +.extern sub_022300E8 +.extern sub_022300F4 +.extern sub_022300F4 +.extern sub_02230100 +.extern sub_02230100 +.extern sub_0223010C +.extern sub_02230118 +.extern sub_02230118 +.extern sub_02230124 +.extern sub_02230124 +.extern sub_02230F3C +.extern sub_02230F70 +.extern sub_02230F80 +.extern sub_02231344 +.extern sub_02231350 +.extern sub_0223135C +.extern sub_02231368 +.extern sub_02231374 +.extern sub_02239944 +.extern sub_02239AAC +.extern sub_0223CB08 +.extern sub_0223CCDC +.extern sub_0223CD7C +.extern sub_0223CD7C +.extern sub_0223D3D0 +.extern sub_0223D3D0 +.extern sub_0223D3D0 +.extern sub_0223D3D0 +.extern sub_0223D638 +.extern sub_0223D638 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223D648 +.extern sub_0223E060 +.extern sub_0223E1E0 +.extern sub_0223E4A8 +.extern sub_0223E4D4 +.extern sub_0223E554 +.extern sub_0223E6B8 +.extern sub_0223E734 +.extern sub_0223E734 +.extern sub_0223EB8C +.extern sub_0223EF7C +.extern sub_0223F8D8 +.extern sub_02240790 +.extern sub_022407DC +.extern sub_022407F8 +.extern sub_02240844 +.extern sub_0224089C +.extern sub_0224089C +.extern sub_02241230 +.extern sub_02241914 +.extern sub_02242A38 +.extern sub_02244210 +.extern sub_02244558 +.extern sub_02244660 +.extern sub_022446BC +.extern sub_022446E0 +.extern sub_02244D3C +.extern sub_02244D40 +.extern sub_02244D40 +.extern sub_02244D40 +.extern sub_02244D40 +.extern sub_02244D58 +.extern sub_02244D98 +.extern sub_02244D98 +.extern sub_02244DA0 +.extern sub_02244DB0 +.extern sub_02244DB0 +.extern sub_02245114 +.extern sub_02245198 +.extern sub_022451F0 +.extern sub_02245358 +.extern sub_0224566C +.extern sub_02245844 +.extern sub_02245910 +.extern sub_02245910 +.extern sub_02245F1C +.extern sub_02245F4C +.extern sub_02245FA0 +.extern sub_0224666C +.extern sub_0224666C +.extern sub_022466A0 +.extern sub_022466A0 +.extern sub_022466AC +.extern sub_022466AC +.extern sub_02246F1C +.extern sub_02247294 +.extern sub_022472AC +.extern sub_02247544 +.extern sub_02247614 +.extern sub_02247A34 +.extern sub_022483BC +.extern sub_022483E0 +.extern sub_022483EC +.extern sub_022488FC +.extern sub_0224891C +.extern sub_02248B54 +.extern sub_02248B58 +.extern sub_02248B58 +.extern sub_02248B58 +.extern sub_02248B5C +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B60 +.extern sub_02248B6C +.extern sub_02248CD0 +.extern sub_02248DF8 +.extern sub_022494C8 +.extern sub_02249508 +.extern sub_02249668 +.extern sub_02249668 +.extern sub_02249668 +.extern sub_02249668 +.extern sub_022497E8 +.extern sub_022497E8 +.extern sub_02249E6C +.extern sub_02249E78 +.extern sub_02249E84 +.extern sub_02249E90 +.extern sub_0224A310 +.extern sub_0224A310 +.extern sub_0224A528 +.extern sub_0224A528 +.extern sub_0224A7C8 +.extern sub_0224ABAC +.extern sub_0224B124 +.extern sub_0224B124 +.extern sub_0224B2C4 +.extern sub_0224B2C4 +.extern sub_0224B568 +.extern sub_0224B568 +.extern sub_0224B818 +.extern sub_0224B818 +.extern sub_0224B818 +.extern sub_0224B86C +.extern sub_0224B9E0 +.extern sub_0224BBEC +.extern sub_0224BD90 +.extern sub_0224BD90 +.extern sub_0224C038 +.extern sub_0224C038 +.extern sub_0224C678 +.extern sub_0224C6E8 +.extern sub_0224C700 +.extern sub_0224C8C8 +.extern sub_0224CA2C +.extern sub_0224CA54 +.extern sub_0224CA58 +.extern sub_0224CA88 +.extern sub_0224CB30 +.extern sub_0224CECC +.extern sub_0224CECC +.extern sub_0224D2E0 +.extern sub_0224D3E8 +.extern sub_0224D70C +.extern sub_0224D76C +.extern sub_0224D79C +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DCB8 +.extern sub_0224DD94 +.extern sub_0224DDB8 +.extern sub_0224DDB8 +.extern sub_0224E554 +.extern sub_0224E764 +.extern sub_0224E7C4 +.extern sub_0224F12C +.extern sub_0224F12C +.extern sub_0224F12C +.extern sub_02252534 +.extern sub_02252538 +.extern sub_022567E0 +.extern sub_02002C14 +.extern sub_02002C50 +.extern sub_02002C50 +.extern sub_02002C50 +.extern sub_02003B98 +.extern sub_02003C10 +.extern sub_0200A2AC +.extern sub_0200A318 +.extern sub_0200E2D8 +.extern sub_0201259C +.extern sub_020125D4 +.extern sub_02015E30 +.extern sub_02015E60 +.extern sub_02016014 +.extern sub_02016148 +.extern sub_020163BC +.extern sub_02016438 +.extern sub_02016464 +.extern sub_0201B5CC +.extern sub_02020AFC +.extern sub_02020C2C +.extern sub_02022294 +.extern sub_020222C4 +.extern sub_0202254C +.extern sub_020227FC +.extern sub_02023900 +.extern sub_02029EF8 +.extern sub_0202FB80 +.extern sub_020337E8 +.extern sub_02034188 +.extern sub_02089D90 diff --git a/ld_script.txt b/ld_script.txt index 33584719..09a5986b 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -24,9 +24,10 @@ SECTIONS { BEGIN_SEG(arm9, 0x2000000) { build/asm/secure.o(.text); + build/asm/entry.o(.text); build/asm/main.o(.text); - build/asm/rom.o(.text); build/src/sub_02000DF4.o(.text); + build/asm/arm9_thumb.o(.text); build/asm/rom2.o(.text); } END_SEG(arm9) diff --git a/main.c b/main.c deleted file mode 100644 index 17e69b3d..00000000 --- a/main.c +++ /dev/null @@ -1,7 +0,0 @@ -// Just includes for now so CLion sees the files -#include "structs/structs.h" -#include "nitro/nitro.h" - -void main() { - int x = NULL; -} diff --git a/pokediamond.lcf b/pokediamond.lcf new file mode 100644 index 00000000..ff392ac0 --- /dev/null +++ b/pokediamond.lcf @@ -0,0 +1,26 @@ +/* TEST */ +MEMORY { + header (RWX) : ORIGIN=0, LENGTH=0 + arm9 (RWX) : ORIGIN=0x2000000, LENGTH=0 + rom3 (RWX) : ORIGIN=0, LENGTH=0 +} + +SECTIONS { +#include "undefined_syms.txt" + + __startup = 0; + .header: { + rom_header.o (.text) + } > header + .arm9 : AT (0x4000) { + secure.o (.text) + entry.o (.text) + main.o (.text) + sub_02000DF4.o (.text) + arm9_thumb.o (.text) + rom2.o (.text) + } > arm9 + .rom3 : AT (0x10B724) { + rom3.o (.text) + } > rom3 +} diff --git a/undefined_syms.txt b/undefined_syms.txt index 3fff5366..ebc24aa8 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1 +1,2963 @@ gUnknown2106FA0 = 0x2106FA0; +sub_0200019E = 0x0200019E; +sub_0200019E = 0x0200019E; +sub_02000DF4 = 0x02000DF4; +sub_02000E0C = 0x02000E0C; +sub_02000E7C = 0x02000E7C; +sub_02000E7C = 0x02000E7C; +sub_02000EE8 = 0x02000EE8; +sub_02000F18 = 0x02000F18; +sub_02000FA4 = 0x02000FA4; +sub_02000FE8 = 0x02000FE8; +sub_02002C14 = 0x02002C14; +sub_02002C50 = 0x02002C50; +sub_02002C50 = 0x02002C50; +sub_02002C50 = 0x02002C50; +sub_02003B98 = 0x02003B98; +sub_02003C10 = 0x02003C10; +sub_0200A2AC = 0x0200A2AC; +sub_0200A318 = 0x0200A318; +sub_0200E2D8 = 0x0200E2D8; +sub_0201259C = 0x0201259C; +sub_020125D4 = 0x020125D4; +sub_02015E30 = 0x02015E30; +sub_02015E60 = 0x02015E60; +sub_02016148 = 0x02016148; +sub_020163BC = 0x020163BC; +sub_02016438 = 0x02016438; +sub_02016464 = 0x02016464; +sub_0201B5CC = 0x0201B5CC; +sub_02020AFC = 0x02020AFC; +sub_02020C2C = 0x02020C2C; +sub_02022294 = 0x02022294; +sub_020222C4 = 0x020222C4; +sub_0202254C = 0x0202254C; +sub_020227FC = 0x020227FC; +sub_02023900 = 0x02023900; +sub_02029EF8 = 0x02029EF8; +sub_0202FB80 = 0x0202FB80; +sub_020337E8 = 0x020337E8; +sub_02034188 = 0x02034188; +sub_02089D90 = 0x02089D90; +sub_0208ACEC = 0x0208ACEC; +sub_0208AD80 = 0x0208AD80; +sub_0208AF80 = 0x0208AF80; +sub_0208AF94 = 0x0208AF94; +sub_0208AFA8 = 0x0208AFA8; +sub_0208B05C = 0x0208B05C; +sub_0208B128 = 0x0208B128; +sub_0208B4A0 = 0x0208B4A0; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090CC8 = 0x02090CC8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02090DB8 = 0x02090DB8; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B14 = 0x02096B14; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096B78 = 0x02096B78; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096CCC = 0x02096CCC; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096D2C = 0x02096D2C; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096DA0 = 0x02096DA0; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096E90 = 0x02096E90; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F18 = 0x02096F18; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096F80 = 0x02096F80; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FB0 = 0x02096FB0; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_02096FF4 = 0x02096FF4; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_0209700C = 0x0209700C; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020973B4 = 0x020973B4; +sub_020ADDC0 = 0x020ADDC0; +sub_020ADDC8 = 0x020ADDC8; +sub_020ADDF0 = 0x020ADDF0; +sub_020ADDF0 = 0x020ADDF0; +sub_020ADDF0 = 0x020ADDF0; +sub_020ADE2C = 0x020ADE2C; +sub_020ADFA0 = 0x020ADFA0; +sub_020ADFA0 = 0x020ADFA0; +sub_020ADFDC = 0x020ADFDC; +sub_020ADFE8 = 0x020ADFE8; +sub_020ADFE8 = 0x020ADFE8; +sub_020AE82C = 0x020AE82C; +sub_020AE8CC = 0x020AE8CC; +sub_020AE918 = 0x020AE918; +sub_020AEB70 = 0x020AEB70; +sub_020AEB70 = 0x020AEB70; +sub_020AEB70 = 0x020AEB70; +sub_020AEC7C = 0x020AEC7C; +sub_020AEC98 = 0x020AEC98; +sub_020AEE40 = 0x020AEE40; +sub_020AEE40 = 0x020AEE40; +sub_020AEEB8 = 0x020AEEB8; +sub_020AEEB8 = 0x020AEEB8; +sub_020AEF1C = 0x020AEF1C; +sub_020AEF1C = 0x020AEF1C; +sub_020AF894 = 0x020AF894; +sub_020AF9C4 = 0x020AF9C4; +sub_020AF9C4 = 0x020AF9C4; +sub_020AFA28 = 0x020AFA28; +sub_020AFA28 = 0x020AFA28; +sub_020AFA80 = 0x020AFA80; +sub_020AFBA8 = 0x020AFBA8; +sub_020AFBA8 = 0x020AFBA8; +sub_020AFBFC = 0x020AFBFC; +sub_020AFBFC = 0x020AFBFC; +sub_020AFC04 = 0x020AFC04; +sub_020AFC04 = 0x020AFC04; +sub_020AFC04 = 0x020AFC04; +sub_020AFC04 = 0x020AFC04; +sub_020AFC04 = 0x020AFC04; +sub_020AFC04 = 0x020AFC04; +sub_020AFD88 = 0x020AFD88; +sub_020AFD94 = 0x020AFD94; +sub_020AFD94 = 0x020AFD94; +sub_020AFD94 = 0x020AFD94; +sub_020AFD94 = 0x020AFD94; +sub_020AFEB8 = 0x020AFEB8; +sub_020AFEB8 = 0x020AFEB8; +sub_020AFFD8 = 0x020AFFD8; +sub_020B0030 = 0x020B0030; +sub_020B0030 = 0x020B0030; +sub_020B0030 = 0x020B0030; +sub_020B0030 = 0x020B0030; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B0088 = 0x020B0088; +sub_020B00F0 = 0x020B00F0; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0138 = 0x020B0138; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0180 = 0x020B0180; +sub_020B0250 = 0x020B0250; +sub_020B0250 = 0x020B0250; +sub_020B0250 = 0x020B0250; +sub_020B0250 = 0x020B0250; +sub_020B02C8 = 0x020B02C8; +sub_020B02C8 = 0x020B02C8; +sub_020B0448 = 0x020B0448; +sub_020B0448 = 0x020B0448; +sub_020B0448 = 0x020B0448; +sub_020B0870 = 0x020B0870; +sub_020B0870 = 0x020B0870; +sub_020B0BB0 = 0x020B0BB0; +sub_020B0BB0 = 0x020B0BB0; +sub_020B0C7C = 0x020B0C7C; +sub_020B0C7C = 0x020B0C7C; +sub_020B0E34 = 0x020B0E34; +sub_020B0E34 = 0x020B0E34; +sub_020B0FC0 = 0x020B0FC0; +sub_020B0FC0 = 0x020B0FC0; +sub_020B0FC0 = 0x020B0FC0; +sub_020B10E8 = 0x020B10E8; +sub_020B1240 = 0x020B1240; +sub_020B1240 = 0x020B1240; +sub_020B1240 = 0x020B1240; +sub_020B1240 = 0x020B1240; +sub_020B1240 = 0x020B1240; +sub_020B1240 = 0x020B1240; +sub_020B1340 = 0x020B1340; +sub_020B1340 = 0x020B1340; +sub_020B1528 = 0x020B1528; +sub_020B1528 = 0x020B1528; +sub_020B1528 = 0x020B1528; +sub_020B1528 = 0x020B1528; +sub_020B1768 = 0x020B1768; +sub_020B1768 = 0x020B1768; +sub_020B19C4 = 0x020B19C4; +sub_020B19C4 = 0x020B19C4; +sub_020B19C4 = 0x020B19C4; +sub_020B19C4 = 0x020B19C4; +sub_020B19C4 = 0x020B19C4; +sub_020B19C4 = 0x020B19C4; +sub_020B19DC = 0x020B19DC; +sub_020B19DC = 0x020B19DC; +sub_020B19DC = 0x020B19DC; +sub_020B19DC = 0x020B19DC; +sub_020B19DC = 0x020B19DC; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A14 = 0x020B1A14; +sub_020B1A24 = 0x020B1A24; +sub_020B1A24 = 0x020B1A24; +sub_020B1A24 = 0x020B1A24; +sub_020B1A24 = 0x020B1A24; +sub_020B1A24 = 0x020B1A24; +sub_020B1A24 = 0x020B1A24; +sub_020B1EA4 = 0x020B1EA4; +sub_020B1EA4 = 0x020B1EA4; +sub_020B1EC4 = 0x020B1EC4; +sub_020B1EC4 = 0x020B1EC4; +sub_020B1EE4 = 0x020B1EE4; +sub_020B1EE4 = 0x020B1EE4; +sub_020B1EFC = 0x020B1EFC; +sub_020B1EFC = 0x020B1EFC; +sub_020B1F80 = 0x020B1F80; +sub_020B1F80 = 0x020B1F80; +sub_020B20C8 = 0x020B20C8; +sub_020B20C8 = 0x020B20C8; +sub_020B2194 = 0x020B2194; +sub_020B2194 = 0x020B2194; +sub_020B224C = 0x020B224C; +sub_020B224C = 0x020B224C; +sub_020B23D8 = 0x020B23D8; +sub_020B23D8 = 0x020B23D8; +sub_020B242C = 0x020B242C; +sub_020B242C = 0x020B242C; +sub_020B242C = 0x020B242C; +sub_020B2780 = 0x020B2780; +sub_020B2780 = 0x020B2780; +sub_020B2794 = 0x020B2794; +sub_020B2794 = 0x020B2794; +sub_020B28B4 = 0x020B28B4; +sub_020B28B4 = 0x020B28B4; +sub_020B2A08 = 0x020B2A08; +sub_020B2A08 = 0x020B2A08; +sub_020B2A08 = 0x020B2A08; +sub_020B2A08 = 0x020B2A08; +sub_020B2B08 = 0x020B2B08; +sub_020B2B08 = 0x020B2B08; +sub_020B2B58 = 0x020B2B58; +sub_020B2B58 = 0x020B2B58; +sub_020B2D9C = 0x020B2D9C; +sub_020B2D9C = 0x020B2D9C; +sub_020B317C = 0x020B317C; +sub_020B317C = 0x020B317C; +sub_020B31F0 = 0x020B31F0; +sub_020B31F0 = 0x020B31F0; +sub_020B326C = 0x020B326C; +sub_020B326C = 0x020B326C; +sub_020B3334 = 0x020B3334; +sub_020B3334 = 0x020B3334; +sub_020B3390 = 0x020B3390; +sub_020B3390 = 0x020B3390; +sub_020B33A0 = 0x020B33A0; +sub_020B33A0 = 0x020B33A0; +sub_020B4358 = 0x020B4358; +sub_020B4358 = 0x020B4358; +sub_020B43A4 = 0x020B43A4; +sub_020B43A4 = 0x020B43A4; +sub_020B442C = 0x020B442C; +sub_020B442C = 0x020B442C; +sub_020B4568 = 0x020B4568; +sub_020B4568 = 0x020B4568; +sub_020B4F38 = 0x020B4F38; +sub_020B4F38 = 0x020B4F38; +sub_020B4F38 = 0x020B4F38; +sub_020B4F38 = 0x020B4F38; +sub_020B502C = 0x020B502C; +sub_020B502C = 0x020B502C; +sub_020B502C = 0x020B502C; +sub_020B772C = 0x020B772C; +sub_020B772C = 0x020B772C; +sub_020B7790 = 0x020B7790; +sub_020B7790 = 0x020B7790; +sub_020B7790 = 0x020B7790; +sub_020B7C58 = 0x020B7C58; +sub_020B7C58 = 0x020B7C58; +sub_020B7C58 = 0x020B7C58; +sub_020B7C78 = 0x020B7C78; +sub_020B7C78 = 0x020B7C78; +sub_020B7C78 = 0x020B7C78; +sub_020B7CDC = 0x020B7CDC; +sub_020B7CDC = 0x020B7CDC; +sub_020B7CDC = 0x020B7CDC; +sub_020B7CDC = 0x020B7CDC; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CE4 = 0x020B7CE4; +sub_020B7CF0 = 0x020B7CF0; +sub_020B7CF0 = 0x020B7CF0; +sub_020B7CF0 = 0x020B7CF0; +sub_020B7D28 = 0x020B7D28; +sub_020B7D28 = 0x020B7D28; +sub_020B7D28 = 0x020B7D28; +sub_020B7DFC = 0x020B7DFC; +sub_020B7DFC = 0x020B7DFC; +sub_020B7DFC = 0x020B7DFC; +sub_020B7DFC = 0x020B7DFC; +sub_020B7E10 = 0x020B7E10; +sub_020B7E10 = 0x020B7E10; +sub_020B7E10 = 0x020B7E10; +sub_020B7E10 = 0x020B7E10; +sub_020B7E10 = 0x020B7E10; +sub_020B7E10 = 0x020B7E10; +sub_020B7E1C = 0x020B7E1C; +sub_020B7E1C = 0x020B7E1C; +sub_020B7E1C = 0x020B7E1C; +sub_020B7E1C = 0x020B7E1C; +sub_020B7E1C = 0x020B7E1C; +sub_020B7E1C = 0x020B7E1C; +sub_020B80B4 = 0x020B80B4; +sub_020B80B4 = 0x020B80B4; +sub_020B80B4 = 0x020B80B4; +sub_020B80B4 = 0x020B80B4; +sub_020B80B4 = 0x020B80B4; +sub_020B844C = 0x020B844C; +sub_020B844C = 0x020B844C; +sub_020B844C = 0x020B844C; +sub_020B844C = 0x020B844C; +sub_020B8474 = 0x020B8474; +sub_020B8474 = 0x020B8474; +sub_020B8474 = 0x020B8474; +sub_020B8474 = 0x020B8474; +sub_020B8474 = 0x020B8474; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020B849C = 0x020B849C; +sub_020BAC98 = 0x020BAC98; +sub_020BAC98 = 0x020BAC98; +sub_020BAFB8 = 0x020BAFB8; +sub_020BAFB8 = 0x020BAFB8; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB1C0 = 0x020BB1C0; +sub_020BB394 = 0x020BB394; +sub_020BB394 = 0x020BB394; +sub_020BB394 = 0x020BB394; +sub_020BB394 = 0x020BB394; +sub_020BB394 = 0x020BB394; +sub_020BB59C = 0x020BB59C; +sub_020BB59C = 0x020BB59C; +sub_020BB59C = 0x020BB59C; +sub_020BB7F4 = 0x020BB7F4; +sub_020BB7F4 = 0x020BB7F4; +sub_020BB7F4 = 0x020BB7F4; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC0FC = 0x020BC0FC; +sub_020BC13C = 0x020BC13C; +sub_020BC13C = 0x020BC13C; +sub_020BC13C = 0x020BC13C; +sub_020BC13C = 0x020BC13C; +sub_020BC13C = 0x020BC13C; +sub_020BC13C = 0x020BC13C; +sub_020BC2A0 = 0x020BC2A0; +sub_020BC2A0 = 0x020BC2A0; +sub_020BC2A0 = 0x020BC2A0; +sub_020C0174 = 0x020C0174; +sub_020C01A0 = 0x020C01A0; +sub_020C01D0 = 0x020C01D0; +sub_020C03B8 = 0x020C03B8; +sub_020C041C = 0x020C041C; +sub_020C044C = 0x020C044C; +sub_020C04DC = 0x020C04DC; +sub_020C04DC = 0x020C04DC; +sub_020C0510 = 0x020C0510; +sub_020C054C = 0x020C054C; +sub_020C0670 = 0x020C0670; +sub_020C0670 = 0x020C0670; +sub_020C0688 = 0x020C0688; +sub_020C0688 = 0x020C0688; +sub_020C0DD4 = 0x020C0DD4; +sub_020C0E14 = 0x020C0E14; +sub_020C0E14 = 0x020C0E14; +sub_020C0E7C = 0x020C0E7C; +sub_020C0E7C = 0x020C0E7C; +sub_020C0E7C = 0x020C0E7C; +sub_020C0EA4 = 0x020C0EA4; +sub_020C0EF4 = 0x020C0EF4; +sub_020C0F30 = 0x020C0F30; +sub_020C0F50 = 0x020C0F50; +sub_020C0F68 = 0x020C0F68; +sub_020C0F68 = 0x020C0F68; +sub_020C0F80 = 0x020C0F80; +sub_020C0F8C = 0x020C0F8C; +sub_020C0F9C = 0x020C0F9C; +sub_020C0FDC = 0x020C0FDC; +sub_020C0FDC = 0x020C0FDC; +sub_020C1040 = 0x020C1040; +sub_020C10A4 = 0x020C10A4; +sub_020C10A4 = 0x020C10A4; +sub_020C10A4 = 0x020C10A4; +sub_020C10A4 = 0x020C10A4; +sub_020C10A4 = 0x020C10A4; +sub_020C1148 = 0x020C1148; +sub_020C1180 = 0x020C1180; +sub_020C1180 = 0x020C1180; +sub_020C1E58 = 0x020C1E58; +sub_020C1E58 = 0x020C1E58; +sub_020C1E68 = 0x020C1E68; +sub_020C1E68 = 0x020C1E68; +sub_020C1EA4 = 0x020C1EA4; +sub_020C1F54 = 0x020C1F54; +sub_020C1F54 = 0x020C1F54; +sub_020C1FA4 = 0x020C1FA4; +sub_020C1FA4 = 0x020C1FA4; +sub_020C1FF0 = 0x020C1FF0; +sub_020C20DC = 0x020C20DC; +sub_020C2104 = 0x020C2104; +sub_020C217C = 0x020C217C; +sub_020C226C = 0x020C226C; +sub_020C226C = 0x020C226C; +sub_020C22D0 = 0x020C22D0; +sub_020C23FC = 0x020C23FC; +sub_020C23FC = 0x020C23FC; +sub_020C23FC = 0x020C23FC; +sub_020C26F8 = 0x020C26F8; +sub_020C2828 = 0x020C2828; +sub_020C290C = 0x020C290C; +sub_020C2A94 = 0x020C2A94; +sub_020C35E0 = 0x020C35E0; +sub_020C360C = 0x020C360C; +sub_020C3640 = 0x020C3640; +sub_020C3674 = 0x020C3674; +sub_020C36A8 = 0x020C36A8; +sub_020C3910 = 0x020C3910; +sub_020C3910 = 0x020C3910; +sub_020C3910 = 0x020C3910; +sub_020C3910 = 0x020C3910; +sub_020C3980 = 0x020C3980; +sub_020C3980 = 0x020C3980; +sub_020C3980 = 0x020C3980; +sub_020C3980 = 0x020C3980; +sub_020C3980 = 0x020C3980; +sub_020C39CC = 0x020C39CC; +sub_020C3EA4 = 0x020C3EA4; +sub_020C3EA4 = 0x020C3EA4; +sub_020C3EB0 = 0x020C3EB0; +sub_020C3EB0 = 0x020C3EB0; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F14 = 0x020C3F14; +sub_020C3F38 = 0x020C3F38; +sub_020C3F38 = 0x020C3F38; +sub_020C3F38 = 0x020C3F38; +sub_020C3F54 = 0x020C3F54; +sub_020C3F54 = 0x020C3F54; +sub_020C3F54 = 0x020C3F54; +sub_020C3F70 = 0x020C3F70; +sub_020C3F70 = 0x020C3F70; +sub_020C3F70 = 0x020C3F70; +sub_020C400C = 0x020C400C; +sub_020C400C = 0x020C400C; +sub_020C400C = 0x020C400C; +sub_020C400C = 0x020C400C; +sub_020C400C = 0x020C400C; +sub_020C504C = 0x020C504C; +sub_020C504C = 0x020C504C; +sub_020C504C = 0x020C504C; +sub_020C50B8 = 0x020C50B8; +sub_020C50B8 = 0x020C50B8; +sub_020C50B8 = 0x020C50B8; +sub_020C50B8 = 0x020C50B8; +sub_020C5288 = 0x020C5288; +sub_020C5288 = 0x020C5288; +sub_020C5288 = 0x020C5288; +sub_020C5288 = 0x020C5288; +sub_020C53C8 = 0x020C53C8; +sub_020C53C8 = 0x020C53C8; +sub_020C5588 = 0x020C5588; +sub_020C5588 = 0x020C5588; +sub_020C5600 = 0x020C5600; +sub_020C5600 = 0x020C5600; +sub_020C5600 = 0x020C5600; +sub_020C5600 = 0x020C5600; +sub_020C5634 = 0x020C5634; +sub_020C5634 = 0x020C5634; +sub_020C5634 = 0x020C5634; +sub_020C5634 = 0x020C5634; +sub_020C5634 = 0x020C5634; +sub_020C5668 = 0x020C5668; +sub_020C5668 = 0x020C5668; +sub_020C5974 = 0x020C5974; +sub_020C5978 = 0x020C5978; +sub_020C5978 = 0x020C5978; +sub_020C59A4 = 0x020C59A4; +sub_020C59A4 = 0x020C59A4; +sub_020C59C0 = 0x020C59C0; +sub_020C59C0 = 0x020C59C0; +sub_020C5A34 = 0x020C5A34; +sub_020C5A34 = 0x020C5A34; +sub_020C5A80 = 0x020C5A80; +sub_020C5AC8 = 0x020C5AC8; +sub_020C5AF8 = 0x020C5AF8; +sub_020C5AF8 = 0x020C5AF8; +sub_020C5B28 = 0x020C5B28; +sub_020C5D2C = 0x020C5D2C; +sub_020C5D2C = 0x020C5D2C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D4C = 0x020C5D4C; +sub_020C5D9C = 0x020C5D9C; +sub_020C5D9C = 0x020C5D9C; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5DBC = 0x020C5DBC; +sub_020C5E54 = 0x020C5E54; +sub_020C600C = 0x020C600C; +sub_020C600C = 0x020C600C; +sub_020C6034 = 0x020C6034; +sub_020C6034 = 0x020C6034; +sub_020C605C = 0x020C605C; +sub_020C605C = 0x020C605C; +sub_020C6070 = 0x020C6070; +sub_020C6070 = 0x020C6070; +sub_020C6098 = 0x020C6098; +sub_020C6098 = 0x020C6098; +sub_020C60AC = 0x020C60AC; +sub_020C60AC = 0x020C60AC; +sub_020C60C0 = 0x020C60C0; +sub_020C60C0 = 0x020C60C0; +sub_020C60E4 = 0x020C60E4; +sub_020C60E4 = 0x020C60E4; +sub_020C6108 = 0x020C6108; +sub_020C6108 = 0x020C6108; +sub_020C611C = 0x020C611C; +sub_020C611C = 0x020C611C; +sub_020C6168 = 0x020C6168; +sub_020C6168 = 0x020C6168; +sub_020C61F4 = 0x020C61F4; +sub_020C61F4 = 0x020C61F4; +sub_020C6280 = 0x020C6280; +sub_020C6280 = 0x020C6280; +sub_020C62FC = 0x020C62FC; +sub_020C62FC = 0x020C62FC; +sub_020C63A8 = 0x020C63A8; +sub_020C65C0 = 0x020C65C0; +sub_020C65C0 = 0x020C65C0; +sub_020C66B4 = 0x020C66B4; +sub_020C66B4 = 0x020C66B4; +sub_020C68B8 = 0x020C68B8; +sub_020C68B8 = 0x020C68B8; +sub_020C6970 = 0x020C6970; +sub_020C6970 = 0x020C6970; +sub_020C6A84 = 0x020C6A84; +sub_020C6A84 = 0x020C6A84; +sub_020C6BF0 = 0x020C6BF0; +sub_020C6BF0 = 0x020C6BF0; +sub_020C7124 = 0x020C7124; +sub_020C7124 = 0x020C7124; +sub_020C74B8 = 0x020C74B8; +sub_020C74B8 = 0x020C74B8; +sub_020C74B8 = 0x020C74B8; +sub_020C74B8 = 0x020C74B8; +sub_020C74B8 = 0x020C74B8; +sub_020C74B8 = 0x020C74B8; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74DC = 0x020C74DC; +sub_020C74F8 = 0x020C74F8; +sub_020C74F8 = 0x020C74F8; +sub_020C74F8 = 0x020C74F8; +sub_020C74F8 = 0x020C74F8; +sub_020C74F8 = 0x020C74F8; +sub_020C74F8 = 0x020C74F8; +sub_020C7A14 = 0x020C7A14; +sub_020C7A14 = 0x020C7A14; +sub_020C7B3C = 0x020C7B3C; +sub_020C7B3C = 0x020C7B3C; +sub_020C7B3C = 0x020C7B3C; +sub_020C7B3C = 0x020C7B3C; +sub_020C7B3C = 0x020C7B3C; +sub_020C7B3C = 0x020C7B3C; +sub_020C7C28 = 0x020C7C28; +sub_020C7C28 = 0x020C7C28; +sub_020C7C28 = 0x020C7C28; +sub_020C7C28 = 0x020C7C28; +sub_020C7C28 = 0x020C7C28; +sub_020C7C28 = 0x020C7C28; +sub_020C7D28 = 0x020C7D28; +sub_020C7D28 = 0x020C7D28; +sub_020C7D28 = 0x020C7D28; +sub_020C7E0C = 0x020C7E0C; +sub_020C7E0C = 0x020C7E0C; +sub_020C7E94 = 0x020C7E94; +sub_020C7E94 = 0x020C7E94; +sub_020C7FF0 = 0x020C7FF0; +sub_020C7FF0 = 0x020C7FF0; +sub_020C802C = 0x020C802C; +sub_020C8068 = 0x020C8068; +sub_020C80A4 = 0x020C80A4; +sub_020C80A4 = 0x020C80A4; +sub_020C823C = 0x020C823C; +sub_020C823C = 0x020C823C; +sub_020C8538 = 0x020C8538; +sub_020C8538 = 0x020C8538; +sub_020C8A2C = 0x020C8A2C; +sub_020C8B10 = 0x020C8B10; +sub_020C8EEC = 0x020C8EEC; +sub_020C8EEC = 0x020C8EEC; +sub_020C922C = 0x020C922C; +sub_020C922C = 0x020C922C; +sub_020C9294 = 0x020C9294; +sub_020C9294 = 0x020C9294; +sub_020C9294 = 0x020C9294; +sub_020C9294 = 0x020C9294; +sub_020C9294 = 0x020C9294; +sub_020C92F4 = 0x020C92F4; +sub_020C92F4 = 0x020C92F4; +sub_020C92F4 = 0x020C92F4; +sub_020C92F4 = 0x020C92F4; +sub_020C92F4 = 0x020C92F4; +sub_020C9354 = 0x020C9354; +sub_020C9354 = 0x020C9354; +sub_020C93BC = 0x020C93BC; +sub_020C93BC = 0x020C93BC; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9418 = 0x020C9418; +sub_020C9480 = 0x020C9480; +sub_020C9480 = 0x020C9480; +sub_020C9480 = 0x020C9480; +sub_020C9480 = 0x020C9480; +sub_020C9480 = 0x020C9480; +sub_020C94E8 = 0x020C94E8; +sub_020C94E8 = 0x020C94E8; +sub_020C94E8 = 0x020C94E8; +sub_020C94E8 = 0x020C94E8; +sub_020C94E8 = 0x020C94E8; +sub_020C9550 = 0x020C9550; +sub_020C9550 = 0x020C9550; +sub_020C9550 = 0x020C9550; +sub_020C9550 = 0x020C9550; +sub_020C9550 = 0x020C9550; +sub_020C9550 = 0x020C9550; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9C0C = 0x020C9C0C; +sub_020C9E14 = 0x020C9E14; +sub_020C9E14 = 0x020C9E14; +sub_020C9E14 = 0x020C9E14; +sub_020C9E14 = 0x020C9E14; +sub_020C9E14 = 0x020C9E14; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9E5C = 0x020C9E5C; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020C9FEC = 0x020C9FEC; +sub_020CA0A0 = 0x020CA0A0; +sub_020CA0A0 = 0x020CA0A0; +sub_020CA0A0 = 0x020CA0A0; +sub_020CA0A0 = 0x020CA0A0; +sub_020CA0F8 = 0x020CA0F8; +sub_020CA0F8 = 0x020CA0F8; +sub_020CA0F8 = 0x020CA0F8; +sub_020CA0F8 = 0x020CA0F8; +sub_020CA0F8 = 0x020CA0F8; +sub_020CC124 = 0x020CC124; +sub_020CC124 = 0x020CC124; +sub_020CC124 = 0x020CC124; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC15C = 0x020CC15C; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC180 = 0x020CC180; +sub_020CC1B4 = 0x020CC1B4; +sub_020CC204 = 0x020CC204; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC26C = 0x020CC26C; +sub_020CC2F4 = 0x020CC2F4; +sub_020CC2F4 = 0x020CC2F4; +sub_020CC308 = 0x020CC308; +sub_020CC308 = 0x020CC308; +sub_020CC31C = 0x020CC31C; +sub_020CC31C = 0x020CC31C; +sub_020CC408 = 0x020CC408; +sub_020CC408 = 0x020CC408; +sub_020CCD64 = 0x020CCD64; +sub_020CD310 = 0x020CD310; +sub_020CD310 = 0x020CD310; +sub_020CD310 = 0x020CD310; +sub_020CD310 = 0x020CD310; +sub_020CD324 = 0x020CD324; +sub_020CD324 = 0x020CD324; +sub_020CD324 = 0x020CD324; +sub_020CD324 = 0x020CD324; +sub_020CD374 = 0x020CD374; +sub_020CD374 = 0x020CD374; +sub_020CD374 = 0x020CD374; +sub_020CD374 = 0x020CD374; +sub_020CD374 = 0x020CD374; +sub_020CD374 = 0x020CD374; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD3B4 = 0x020CD3B4; +sub_020CD510 = 0x020CD510; +sub_020CD510 = 0x020CD510; +sub_020CD510 = 0x020CD510; +sub_020CD510 = 0x020CD510; +sub_020CD510 = 0x020CD510; +sub_020CD524 = 0x020CD524; +sub_020CD524 = 0x020CD524; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD5A0 = 0x020CD5A0; +sub_020CD754 = 0x020CD754; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD850 = 0x020CD850; +sub_020CD998 = 0x020CD998; +sub_020CDA1C = 0x020CDA1C; +sub_020CDA1C = 0x020CDA1C; +sub_020CDA1C = 0x020CDA1C; +sub_020CDD90 = 0x020CDD90; +sub_020CDE04 = 0x020CDE04; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1C8 = 0x020CE1C8; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1E0 = 0x020CE1E0; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE1FC = 0x020CE1FC; +sub_020CE210 = 0x020CE210; +sub_020CE210 = 0x020CE210; +sub_020CE210 = 0x020CE210; +sub_020CE210 = 0x020CE210; +sub_020CE210 = 0x020CE210; +sub_020CE210 = 0x020CE210; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE240 = 0x020CE240; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE28C = 0x020CE28C; +sub_020CE2E0 = 0x020CE2E0; +sub_020CE2E0 = 0x020CE2E0; +sub_020CE2E0 = 0x020CE2E0; +sub_020CE2E0 = 0x020CE2E0; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE34C = 0x020CE34C; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE3E0 = 0x020CE3E0; +sub_020CE528 = 0x020CE528; +sub_020CE528 = 0x020CE528; +sub_020CE528 = 0x020CE528; +sub_020CE528 = 0x020CE528; +sub_020CE528 = 0x020CE528; +sub_020CF768 = 0x020CF768; +sub_020D1148 = 0x020D1148; +sub_020D1148 = 0x020D1148; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D17A0 = 0x020D17A0; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D180C = 0x020D180C; +sub_020D182C = 0x020D182C; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D18FC = 0x020D18FC; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1944 = 0x020D1944; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1C94 = 0x020D1C94; +sub_020D1CC4 = 0x020D1CC4; +sub_020D1CC4 = 0x020D1CC4; +sub_020D1CD4 = 0x020D1CD4; +sub_020D1D10 = 0x020D1D10; +sub_020D1D10 = 0x020D1D10; +sub_020D1D30 = 0x020D1D30; +sub_020D1D30 = 0x020D1D30; +sub_020D2040 = 0x020D2040; +sub_020D2094 = 0x020D2094; +sub_020D2094 = 0x020D2094; +sub_020D2210 = 0x020D2210; +sub_020D2210 = 0x020D2210; +sub_020D23B4 = 0x020D23B4; +sub_020D2454 = 0x020D2454; +sub_020D24EC = 0x020D24EC; +sub_020D24EC = 0x020D24EC; +sub_020D24EC = 0x020D24EC; +sub_020D24EC = 0x020D24EC; +sub_020D36C4 = 0x020D36C4; +sub_020D36C4 = 0x020D36C4; +sub_020D36C4 = 0x020D36C4; +sub_020D36D8 = 0x020D36D8; +sub_020D36D8 = 0x020D36D8; +sub_020D36D8 = 0x020D36D8; +sub_020D36F0 = 0x020D36F0; +sub_020D36F0 = 0x020D36F0; +sub_020D36F0 = 0x020D36F0; +sub_020D3A90 = 0x020D3A90; +sub_020D3A90 = 0x020D3A90; +sub_020D3AA0 = 0x020D3AA0; +sub_020D3C14 = 0x020D3C14; +sub_020D3C14 = 0x020D3C14; +sub_020D3CB8 = 0x020D3CB8; +sub_020D3CB8 = 0x020D3CB8; +sub_020D3DCC = 0x020D3DCC; +sub_020D3E24 = 0x020D3E24; +sub_020D3EC4 = 0x020D3EC4; +sub_020D3EC4 = 0x020D3EC4; +sub_020D400C = 0x020D400C; +sub_020D40B8 = 0x020D40B8; +sub_020D4718 = 0x020D4718; +sub_020D47CC = 0x020D47CC; +sub_020D47CC = 0x020D47CC; +sub_020D4980 = 0x020D4980; +sub_020D4A5C = 0x020D4A5C; +sub_020D4E68 = 0x020D4E68; +sub_020D50D8 = 0x020D50D8; +sub_020D50D8 = 0x020D50D8; +sub_020D5150 = 0x020D5150; +sub_020D5168 = 0x020D5168; +sub_020D5180 = 0x020D5180; +sub_020D526C = 0x020D526C; +sub_020D526C = 0x020D526C; +sub_020D5F40 = 0x020D5F40; +sub_020D614C = 0x020D614C; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6320 = 0x020D6320; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D6578 = 0x020D6578; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D660C = 0x020D660C; +sub_020D66A0 = 0x020D66A0; +sub_020D66A0 = 0x020D66A0; +sub_020D66A0 = 0x020D66A0; +sub_020D66A0 = 0x020D66A0; +sub_020D66A0 = 0x020D66A0; +sub_020D66B0 = 0x020D66B0; +sub_020D66B0 = 0x020D66B0; +sub_020D66B0 = 0x020D66B0; +sub_020D66B0 = 0x020D66B0; +sub_020D6700 = 0x020D6700; +sub_020D6700 = 0x020D6700; +sub_020D6DAC = 0x020D6DAC; +sub_020D6DB8 = 0x020D6DB8; +sub_020D6DB8 = 0x020D6DB8; +sub_020D6DC4 = 0x020D6DC4; +sub_020D6DC4 = 0x020D6DC4; +sub_020D6DC4 = 0x020D6DC4; +sub_020D6F20 = 0x020D6F20; +sub_020D6F20 = 0x020D6F20; +sub_020D6F20 = 0x020D6F20; +sub_020D6F20 = 0x020D6F20; +sub_020D7228 = 0x020D7228; +sub_020D7228 = 0x020D7228; +sub_020D7D18 = 0x020D7D18; +sub_020D7E9C = 0x020D7E9C; +sub_020D7E9C = 0x020D7E9C; +sub_020D8A4C = 0x020D8A4C; +sub_020D8A4C = 0x020D8A4C; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8AF0 = 0x020D8AF0; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8B94 = 0x020D8B94; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8C3C = 0x020D8C3C; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D8F34 = 0x020D8F34; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9014 = 0x020D9014; +sub_020D9060 = 0x020D9060; +sub_020D9060 = 0x020D9060; +sub_020D9060 = 0x020D9060; +sub_020D9168 = 0x020D9168; +sub_020D9168 = 0x020D9168; +sub_020D9244 = 0x020D9244; +sub_020D9244 = 0x020D9244; +sub_020D940C = 0x020D940C; +sub_020D940C = 0x020D940C; +sub_020D950C = 0x020D950C; +sub_020D950C = 0x020D950C; +sub_020D9554 = 0x020D9554; +sub_020D9554 = 0x020D9554; +sub_020D9624 = 0x020D9624; +sub_020D9624 = 0x020D9624; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D972C = 0x020D972C; +sub_020D9774 = 0x020D9774; +sub_020D9774 = 0x020D9774; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D97B4 = 0x020D97B4; +sub_020D9960 = 0x020D9960; +sub_020D9960 = 0x020D9960; +sub_020D9960 = 0x020D9960; +sub_020D99EC = 0x020D99EC; +sub_020D99EC = 0x020D99EC; +sub_020D9B48 = 0x020D9B48; +sub_020D9B48 = 0x020D9B48; +sub_020D9B48 = 0x020D9B48; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DAD74 = 0x020DAD74; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DADD4 = 0x020DADD4; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DAF30 = 0x020DAF30; +sub_020DB7A8 = 0x020DB7A8; +sub_020DDC5C = 0x020DDC5C; +sub_020DDC5C = 0x020DDC5C; +sub_020DDC5C = 0x020DDC5C; +sub_020DDCE4 = 0x020DDCE4; +sub_020DDD28 = 0x020DDD28; +sub_020DDD28 = 0x020DDD28; +sub_020DDD28 = 0x020DDD28; +sub_020DDD60 = 0x020DDD60; +sub_020DDD60 = 0x020DDD60; +sub_020DDD60 = 0x020DDD60; +sub_020DDE44 = 0x020DDE44; +sub_020DDE44 = 0x020DDE44; +sub_020DDE44 = 0x020DDE44; +sub_020DDF60 = 0x020DDF60; +sub_020DDF60 = 0x020DDF60; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DE3F0 = 0x020DE3F0; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF438 = 0x020DF438; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF4A4 = 0x020DF4A4; +sub_020DF510 = 0x020DF510; +sub_020DF510 = 0x020DF510; +sub_020E2EAC = 0x020E2EAC; +sub_020E2EC8 = 0x020E2EC8; +sub_020E2EC8 = 0x020E2EC8; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EA980 = 0x020EA980; +sub_020EAEF0 = 0x020EAEF0; +sub_020EAEF0 = 0x020EAEF0; +sub_020EAEF0 = 0x020EAEF0; +sub_020EAEF0 = 0x020EAEF0; +sub_020EB010 = 0x020EB010; +sub_020EB010 = 0x020EB010; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB084 = 0x020EB084; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4C0 = 0x020EB4C0; +sub_020EB4F4 = 0x020EB4F4; +sub_020EB4F4 = 0x020EB4F4; +sub_020EB4F4 = 0x020EB4F4; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB534 = 0x020EB534; +sub_020EB57C = 0x020EB57C; +sub_020EB57C = 0x020EB57C; +sub_020EB57C = 0x020EB57C; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB5C4 = 0x020EB5C4; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EB7B0 = 0x020EB7B0; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBA38 = 0x020EBA38; +sub_020EBBE8 = 0x020EBBE8; +sub_020EBBE8 = 0x020EBBE8; +sub_020EBBE8 = 0x020EBBE8; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC30 = 0x020EBC30; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBC80 = 0x020EBC80; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_020EBE8C = 0x020EBE8C; +sub_021D78FC = 0x021D78FC; +sub_021D78FC = 0x021D78FC; +sub_021D78FC = 0x021D78FC; +sub_021D79B4 = 0x021D79B4; +sub_021D79B4 = 0x021D79B4; +sub_021D79B4 = 0x021D79B4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7CA4 = 0x021D7CA4; +sub_021D7F8C = 0x021D7F8C; +sub_021D7F8C = 0x021D7F8C; +sub_021D8018 = 0x021D8018; +sub_021D8018 = 0x021D8018; +sub_021D8018 = 0x021D8018; +sub_021D8164 = 0x021D8164; +sub_021D8164 = 0x021D8164; +sub_021D82BC = 0x021D82BC; +sub_021D82BC = 0x021D82BC; +sub_021D8320 = 0x021D8320; +sub_021D8320 = 0x021D8320; +sub_021D836C = 0x021D836C; +sub_021D836C = 0x021D836C; +sub_021D83C0 = 0x021D83C0; +sub_021D83C0 = 0x021D83C0; +sub_021D83C0 = 0x021D83C0; +sub_021D844C = 0x021D844C; +sub_021D844C = 0x021D844C; +sub_021D85FC = 0x021D85FC; +sub_021D85FC = 0x021D85FC; +sub_021D8624 = 0x021D8624; +sub_021D8624 = 0x021D8624; +sub_021D88E4 = 0x021D88E4; +sub_021D88E4 = 0x021D88E4; +sub_021D88E4 = 0x021D88E4; +sub_021D88E4 = 0x021D88E4; +sub_021D88E4 = 0x021D88E4; +sub_021D88E4 = 0x021D88E4; +sub_021D89CC = 0x021D89CC; +sub_021D89CC = 0x021D89CC; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8B64 = 0x021D8B64; +sub_021D8C24 = 0x021D8C24; +sub_021D8C24 = 0x021D8C24; +sub_021D917C = 0x021D917C; +sub_021D917C = 0x021D917C; +sub_021D959C = 0x021D959C; +sub_021D959C = 0x021D959C; +sub_021D959C = 0x021D959C; +sub_021D959C = 0x021D959C; +sub_021D959C = 0x021D959C; +sub_021D967C = 0x021D967C; +sub_021D967C = 0x021D967C; +sub_021D967C = 0x021D967C; +sub_021D967C = 0x021D967C; +sub_021D967C = 0x021D967C; +sub_021D96F4 = 0x021D96F4; +sub_021D96F4 = 0x021D96F4; +sub_021D96F4 = 0x021D96F4; +sub_021D96F4 = 0x021D96F4; +sub_021D96F4 = 0x021D96F4; +sub_021D96F4 = 0x021D96F4; +sub_021D9708 = 0x021D9708; +sub_021D9708 = 0x021D9708; +sub_021D9708 = 0x021D9708; +sub_021D9708 = 0x021D9708; +sub_021D9708 = 0x021D9708; +sub_021D9708 = 0x021D9708; +sub_021D971C = 0x021D971C; +sub_021D971C = 0x021D971C; +sub_021D971C = 0x021D971C; +sub_021D971C = 0x021D971C; +sub_021D971C = 0x021D971C; +sub_021D971C = 0x021D971C; +sub_021D9820 = 0x021D9820; +sub_021D9820 = 0x021D9820; +sub_021D9820 = 0x021D9820; +sub_021D9820 = 0x021D9820; +sub_021D9820 = 0x021D9820; +sub_021D9820 = 0x021D9820; +sub_021D99F8 = 0x021D99F8; +sub_021D99F8 = 0x021D99F8; +sub_021D99F8 = 0x021D99F8; +sub_021D99F8 = 0x021D99F8; +sub_021D99F8 = 0x021D99F8; +sub_021DA464 = 0x021DA464; +sub_021DA464 = 0x021DA464; +sub_021DA58C = 0x021DA58C; +sub_021DA58C = 0x021DA58C; +sub_021DA5B8 = 0x021DA5B8; +sub_021DA5B8 = 0x021DA5B8; +sub_021DA5B8 = 0x021DA5B8; +sub_021DA5C8 = 0x021DA5C8; +sub_021DA5C8 = 0x021DA5C8; +sub_021DA5D0 = 0x021DA5D0; +sub_021DA5D0 = 0x021DA5D0; +sub_021DA5D0 = 0x021DA5D0; +sub_021DAC70 = 0x021DAC70; +sub_021DAC70 = 0x021DAC70; +sub_021DAE40 = 0x021DAE40; +sub_021DAE40 = 0x021DAE40; +sub_021DAED4 = 0x021DAED4; +sub_021DAED4 = 0x021DAED4; +sub_021DAF28 = 0x021DAF28; +sub_021DAF28 = 0x021DAF28; +sub_021DAF78 = 0x021DAF78; +sub_021DAF78 = 0x021DAF78; +sub_021DAF98 = 0x021DAF98; +sub_021DAF98 = 0x021DAF98; +sub_021DAF98 = 0x021DAF98; +sub_021DB030 = 0x021DB030; +sub_021DB030 = 0x021DB030; +sub_021DB030 = 0x021DB030; +sub_021DB030 = 0x021DB030; +sub_021DB7E8 = 0x021DB7E8; +sub_021DB7E8 = 0x021DB7E8; +sub_021DB858 = 0x021DB858; +sub_021DB858 = 0x021DB858; +sub_021DC174 = 0x021DC174; +sub_021DC174 = 0x021DC174; +sub_021DC174 = 0x021DC174; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD6F0 = 0x021DD6F0; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DD718 = 0x021DD718; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021DDB08 = 0x021DDB08; +sub_021E1374 = 0x021E1374; +sub_021E1374 = 0x021E1374; +sub_021E1858 = 0x021E1858; +sub_021E1858 = 0x021E1858; +sub_021E1994 = 0x021E1994; +sub_021E1994 = 0x021E1994; +sub_021E1BF8 = 0x021E1BF8; +sub_021E1BF8 = 0x021E1BF8; +sub_021E1BF8 = 0x021E1BF8; +sub_021E1C4C = 0x021E1C4C; +sub_021E1C4C = 0x021E1C4C; +sub_021E1C4C = 0x021E1C4C; +sub_021E1C54 = 0x021E1C54; +sub_021E1C54 = 0x021E1C54; +sub_021E1C54 = 0x021E1C54; +sub_021E1ECC = 0x021E1ECC; +sub_021E1ECC = 0x021E1ECC; +sub_021E1F34 = 0x021E1F34; +sub_021E1F34 = 0x021E1F34; +sub_021E1F34 = 0x021E1F34; +sub_021E1F58 = 0x021E1F58; +sub_021E1F58 = 0x021E1F58; +sub_021E1F60 = 0x021E1F60; +sub_021E1F60 = 0x021E1F60; +sub_021E2464 = 0x021E2464; +sub_021E2464 = 0x021E2464; +sub_021E2608 = 0x021E2608; +sub_021E2608 = 0x021E2608; +sub_021E26CC = 0x021E26CC; +sub_021E26CC = 0x021E26CC; +sub_021E2B80 = 0x021E2B80; +sub_021E2B80 = 0x021E2B80; +sub_021E2B9C = 0x021E2B9C; +sub_021E2B9C = 0x021E2B9C; +sub_021E2BB8 = 0x021E2BB8; +sub_021E2BB8 = 0x021E2BB8; +sub_021E2BB8 = 0x021E2BB8; +sub_021E2BB8 = 0x021E2BB8; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2BD0 = 0x021E2BD0; +sub_021E2C24 = 0x021E2C24; +sub_021E2C24 = 0x021E2C24; +sub_021E2C24 = 0x021E2C24; +sub_021E2C58 = 0x021E2C58; +sub_021E2C58 = 0x021E2C58; +sub_021E2C58 = 0x021E2C58; +sub_021E2C58 = 0x021E2C58; +sub_021E2CBC = 0x021E2CBC; +sub_021E2CBC = 0x021E2CBC; +sub_021E32F0 = 0x021E32F0; +sub_021E32F0 = 0x021E32F0; +sub_021E32F0 = 0x021E32F0; +sub_021E331C = 0x021E331C; +sub_021E331C = 0x021E331C; +sub_021E331C = 0x021E331C; +sub_021E331C = 0x021E331C; +sub_021E3424 = 0x021E3424; +sub_021E3424 = 0x021E3424; +sub_021E3444 = 0x021E3444; +sub_021E3444 = 0x021E3444; +sub_021E495C = 0x021E495C; +sub_021E495C = 0x021E495C; +sub_021E4C54 = 0x021E4C54; +sub_021E4C54 = 0x021E4C54; +sub_021E4C60 = 0x021E4C60; +sub_021E4C60 = 0x021E4C60; +sub_021E4DE4 = 0x021E4DE4; +sub_021E4DE4 = 0x021E4DE4; +sub_021E5970 = 0x021E5970; +sub_021E5970 = 0x021E5970; +sub_021E5B30 = 0x021E5B30; +sub_021E5B30 = 0x021E5B30; +sub_021E5B30 = 0x021E5B30; +sub_021E5B30 = 0x021E5B30; +sub_021E5B30 = 0x021E5B30; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FD8 = 0x021E5FD8; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E5FE0 = 0x021E5FE0; +sub_021E6410 = 0x021E6410; +sub_021E6410 = 0x021E6410; +sub_021E643C = 0x021E643C; +sub_021E643C = 0x021E643C; +sub_021E6990 = 0x021E6990; +sub_021E6990 = 0x021E6990; +sub_021E69BC = 0x021E69BC; +sub_021E69BC = 0x021E69BC; +sub_021E6BF4 = 0x021E6BF4; +sub_021E6BF4 = 0x021E6BF4; +sub_021E7030 = 0x021E7030; +sub_021E7030 = 0x021E7030; +sub_021E70F0 = 0x021E70F0; +sub_021E70F0 = 0x021E70F0; +sub_021E7138 = 0x021E7138; +sub_021E7138 = 0x021E7138; +sub_021E7138 = 0x021E7138; +sub_021E7138 = 0x021E7138; +sub_021E7184 = 0x021E7184; +sub_021E7184 = 0x021E7184; +sub_021E71E8 = 0x021E71E8; +sub_021E71E8 = 0x021E71E8; +sub_021E7750 = 0x021E7750; +sub_021E7750 = 0x021E7750; +sub_021E7750 = 0x021E7750; +sub_021E799C = 0x021E799C; +sub_021E799C = 0x021E799C; +sub_021E799C = 0x021E799C; +sub_021E7AC0 = 0x021E7AC0; +sub_021E7AC0 = 0x021E7AC0; +sub_021E7AC0 = 0x021E7AC0; +sub_021E7EA0 = 0x021E7EA0; +sub_021E7EA0 = 0x021E7EA0; +sub_021E7EA0 = 0x021E7EA0; +sub_021E7EA0 = 0x021E7EA0; +sub_021E7EB0 = 0x021E7EB0; +sub_021E7EB0 = 0x021E7EB0; +sub_021E7EB0 = 0x021E7EB0; +sub_021E7EC4 = 0x021E7EC4; +sub_021E7EC4 = 0x021E7EC4; +sub_021E7EC4 = 0x021E7EC4; +sub_021E7EC4 = 0x021E7EC4; +sub_021E7EC4 = 0x021E7EC4; +sub_021E7EC8 = 0x021E7EC8; +sub_021E7EC8 = 0x021E7EC8; +sub_021E7ED0 = 0x021E7ED0; +sub_021E7ED0 = 0x021E7ED0; +sub_021E7ED0 = 0x021E7ED0; +sub_021E7ED0 = 0x021E7ED0; +sub_021E7ED0 = 0x021E7ED0; +sub_021E7ED8 = 0x021E7ED8; +sub_021E7ED8 = 0x021E7ED8; +sub_021E7FBC = 0x021E7FBC; +sub_021E7FBC = 0x021E7FBC; +sub_021E8128 = 0x021E8128; +sub_021E8128 = 0x021E8128; +sub_021E8128 = 0x021E8128; +sub_021E8130 = 0x021E8130; +sub_021E8130 = 0x021E8130; +sub_021E8130 = 0x021E8130; +sub_021E8130 = 0x021E8130; +sub_021E8140 = 0x021E8140; +sub_021E8140 = 0x021E8140; +sub_021E8140 = 0x021E8140; +sub_021E8144 = 0x021E8144; +sub_021E8144 = 0x021E8144; +sub_021E8148 = 0x021E8148; +sub_021E8148 = 0x021E8148; +sub_021E8148 = 0x021E8148; +sub_021E8158 = 0x021E8158; +sub_021E8158 = 0x021E8158; +sub_021E81BC = 0x021E81BC; +sub_021E81BC = 0x021E81BC; +sub_021E84F4 = 0x021E84F4; +sub_021E84F4 = 0x021E84F4; +sub_021E856C = 0x021E856C; +sub_021E856C = 0x021E856C; +sub_021E8588 = 0x021E8588; +sub_021E8588 = 0x021E8588; +sub_021E85E4 = 0x021E85E4; +sub_021E85E4 = 0x021E85E4; +sub_021E85FC = 0x021E85FC; +sub_021E85FC = 0x021E85FC; +sub_021ECF14 = 0x021ECF14; +sub_021ECF14 = 0x021ECF14; +sub_021ED49C = 0x021ED49C; +sub_021ED49C = 0x021ED49C; +sub_021ED940 = 0x021ED940; +sub_021ED940 = 0x021ED940; +sub_021EDA48 = 0x021EDA48; +sub_021EDA48 = 0x021EDA48; +sub_021EDBC8 = 0x021EDBC8; +sub_021EDBC8 = 0x021EDBC8; +sub_021EF5E0 = 0x021EF5E0; +sub_021EF5E0 = 0x021EF5E0; +sub_021EF5E0 = 0x021EF5E0; +sub_021EF604 = 0x021EF604; +sub_021EF604 = 0x021EF604; +sub_021EF604 = 0x021EF604; +sub_021EF604 = 0x021EF604; +sub_021EF604 = 0x021EF604; +sub_021EF620 = 0x021EF620; +sub_021EF620 = 0x021EF620; +sub_021EF654 = 0x021EF654; +sub_021EF654 = 0x021EF654; +sub_021EF824 = 0x021EF824; +sub_021EF824 = 0x021EF824; +sub_021EF824 = 0x021EF824; +sub_021EF824 = 0x021EF824; +sub_021EF844 = 0x021EF844; +sub_021EF844 = 0x021EF844; +sub_021EF844 = 0x021EF844; +sub_021EF8C8 = 0x021EF8C8; +sub_021EF8C8 = 0x021EF8C8; +sub_021EF8DC = 0x021EF8DC; +sub_021EF8DC = 0x021EF8DC; +sub_021EFA9C = 0x021EFA9C; +sub_021EFA9C = 0x021EFA9C; +sub_021EFA9C = 0x021EFA9C; +sub_021F02C4 = 0x021F02C4; +sub_021F02C4 = 0x021F02C4; +sub_021F1D8C = 0x021F1D8C; +sub_021F1D8C = 0x021F1D8C; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DC8 = 0x021F1DC8; +sub_021F1DFC = 0x021F1DFC; +sub_021F1DFC = 0x021F1DFC; +sub_021F1EC0 = 0x021F1EC0; +sub_021F1EC0 = 0x021F1EC0; +sub_021F1EC0 = 0x021F1EC0; +sub_021F1EC0 = 0x021F1EC0; +sub_021F1F78 = 0x021F1F78; +sub_021F1F78 = 0x021F1F78; +sub_021F1F78 = 0x021F1F78; +sub_021F2094 = 0x021F2094; +sub_021F2094 = 0x021F2094; +sub_021F2094 = 0x021F2094; +sub_021F2094 = 0x021F2094; +sub_021F20D8 = 0x021F20D8; +sub_021F20D8 = 0x021F20D8; +sub_021F20F8 = 0x021F20F8; +sub_021F20F8 = 0x021F20F8; +sub_021F2AF4 = 0x021F2AF4; +sub_021F2AF4 = 0x021F2AF4; +sub_021F2E0C = 0x021F2E0C; +sub_021F2E0C = 0x021F2E0C; +sub_021F2E28 = 0x021F2E28; +sub_021F2E28 = 0x021F2E28; +sub_021F2E28 = 0x021F2E28; +sub_021F2E28 = 0x021F2E28; +sub_021F2F48 = 0x021F2F48; +sub_021F2F48 = 0x021F2F48; +sub_021F2F48 = 0x021F2F48; +sub_021F2F6C = 0x021F2F6C; +sub_021F2F6C = 0x021F2F6C; +sub_021F3DA4 = 0x021F3DA4; +sub_021F3DA4 = 0x021F3DA4; +sub_021F44D8 = 0x021F44D8; +sub_021F44D8 = 0x021F44D8; +sub_021F4520 = 0x021F4520; +sub_021F4520 = 0x021F4520; +sub_021F4568 = 0x021F4568; +sub_021F4568 = 0x021F4568; +sub_021F45E8 = 0x021F45E8; +sub_021F45E8 = 0x021F45E8; +sub_021F45E8 = 0x021F45E8; +sub_021F4608 = 0x021F4608; +sub_021F4608 = 0x021F4608; +sub_021F4608 = 0x021F4608; +sub_021F4BD0 = 0x021F4BD0; +sub_021F4BD0 = 0x021F4BD0; +sub_021F4C88 = 0x021F4C88; +sub_021F4C88 = 0x021F4C88; +sub_021F4D80 = 0x021F4D80; +sub_021F4D80 = 0x021F4D80; +sub_021F4DC8 = 0x021F4DC8; +sub_021F4DC8 = 0x021F4DC8; +sub_021F4E7C = 0x021F4E7C; +sub_021F4E7C = 0x021F4E7C; +sub_021F57EC = 0x021F57EC; +sub_021F57EC = 0x021F57EC; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_021F5C44 = 0x021F5C44; +sub_02211E60 = 0x02211E60; +sub_02211E60 = 0x02211E60; +sub_0222DAEC = 0x0222DAEC; +sub_0222DAEC = 0x0222DAEC; +sub_0222DD1C = 0x0222DD1C; +sub_0222DD1C = 0x0222DD1C; +sub_0222DD38 = 0x0222DD38; +sub_0222DD38 = 0x0222DD38; +sub_0222E2BC = 0x0222E2BC; +sub_0222E2BC = 0x0222E2BC; +sub_0222E360 = 0x0222E360; +sub_0222E360 = 0x0222E360; +sub_0222E3A0 = 0x0222E3A0; +sub_0222E3A0 = 0x0222E3A0; +sub_0222E7E8 = 0x0222E7E8; +sub_0222E7E8 = 0x0222E7E8; +sub_0222E874 = 0x0222E874; +sub_0222E874 = 0x0222E874; +sub_0222ED34 = 0x0222ED34; +sub_0222ED34 = 0x0222ED34; +sub_0222EDBC = 0x0222EDBC; +sub_0222EDBC = 0x0222EDBC; +sub_0222F440 = 0x0222F440; +sub_0222F440 = 0x0222F440; +sub_0222F480 = 0x0222F480; +sub_0222F480 = 0x0222F480; +sub_0222F480 = 0x0222F480; +sub_0222F7E0 = 0x0222F7E0; +sub_0222F7E0 = 0x0222F7E0; +sub_0222F990 = 0x0222F990; +sub_0222F990 = 0x0222F990; +sub_022300D4 = 0x022300D4; +sub_022300D4 = 0x022300D4; +sub_022300D4 = 0x022300D4; +sub_022300DC = 0x022300DC; +sub_022300DC = 0x022300DC; +sub_022300DC = 0x022300DC; +sub_022300E4 = 0x022300E4; +sub_022300E4 = 0x022300E4; +sub_022300E8 = 0x022300E8; +sub_022300E8 = 0x022300E8; +sub_022300F4 = 0x022300F4; +sub_022300F4 = 0x022300F4; +sub_022300F4 = 0x022300F4; +sub_02230100 = 0x02230100; +sub_02230100 = 0x02230100; +sub_02230100 = 0x02230100; +sub_0223010C = 0x0223010C; +sub_0223010C = 0x0223010C; +sub_02230118 = 0x02230118; +sub_02230118 = 0x02230118; +sub_02230118 = 0x02230118; +sub_02230124 = 0x02230124; +sub_02230124 = 0x02230124; +sub_02230124 = 0x02230124; +sub_02230F3C = 0x02230F3C; +sub_02230F3C = 0x02230F3C; +sub_02230F70 = 0x02230F70; +sub_02230F70 = 0x02230F70; +sub_02230F80 = 0x02230F80; +sub_02230F80 = 0x02230F80; +sub_02231344 = 0x02231344; +sub_02231344 = 0x02231344; +sub_02231350 = 0x02231350; +sub_02231350 = 0x02231350; +sub_0223135C = 0x0223135C; +sub_0223135C = 0x0223135C; +sub_02231368 = 0x02231368; +sub_02231368 = 0x02231368; +sub_02231374 = 0x02231374; +sub_02231374 = 0x02231374; +sub_02239944 = 0x02239944; +sub_02239944 = 0x02239944; +sub_02239AAC = 0x02239AAC; +sub_02239AAC = 0x02239AAC; +sub_0223CB08 = 0x0223CB08; +sub_0223CB08 = 0x0223CB08; +sub_0223CCDC = 0x0223CCDC; +sub_0223CCDC = 0x0223CCDC; +sub_0223CD7C = 0x0223CD7C; +sub_0223CD7C = 0x0223CD7C; +sub_0223CD7C = 0x0223CD7C; +sub_0223D3D0 = 0x0223D3D0; +sub_0223D3D0 = 0x0223D3D0; +sub_0223D3D0 = 0x0223D3D0; +sub_0223D3D0 = 0x0223D3D0; +sub_0223D3D0 = 0x0223D3D0; +sub_0223D638 = 0x0223D638; +sub_0223D638 = 0x0223D638; +sub_0223D638 = 0x0223D638; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223D648 = 0x0223D648; +sub_0223E060 = 0x0223E060; +sub_0223E060 = 0x0223E060; +sub_0223E1E0 = 0x0223E1E0; +sub_0223E1E0 = 0x0223E1E0; +sub_0223E4A8 = 0x0223E4A8; +sub_0223E4A8 = 0x0223E4A8; +sub_0223E4D4 = 0x0223E4D4; +sub_0223E4D4 = 0x0223E4D4; +sub_0223E554 = 0x0223E554; +sub_0223E554 = 0x0223E554; +sub_0223E6B8 = 0x0223E6B8; +sub_0223E6B8 = 0x0223E6B8; +sub_0223E734 = 0x0223E734; +sub_0223E734 = 0x0223E734; +sub_0223E734 = 0x0223E734; +sub_0223EB8C = 0x0223EB8C; +sub_0223EB8C = 0x0223EB8C; +sub_0223EF7C = 0x0223EF7C; +sub_0223EF7C = 0x0223EF7C; +sub_0223F8D8 = 0x0223F8D8; +sub_0223F8D8 = 0x0223F8D8; +sub_02240790 = 0x02240790; +sub_02240790 = 0x02240790; +sub_022407DC = 0x022407DC; +sub_022407DC = 0x022407DC; +sub_022407F8 = 0x022407F8; +sub_022407F8 = 0x022407F8; +sub_02240844 = 0x02240844; +sub_02240844 = 0x02240844; +sub_0224089C = 0x0224089C; +sub_0224089C = 0x0224089C; +sub_0224089C = 0x0224089C; +sub_02241230 = 0x02241230; +sub_02241230 = 0x02241230; +sub_02241914 = 0x02241914; +sub_02241914 = 0x02241914; +sub_02242A38 = 0x02242A38; +sub_02242A38 = 0x02242A38; +sub_02244210 = 0x02244210; +sub_02244210 = 0x02244210; +sub_02244558 = 0x02244558; +sub_02244558 = 0x02244558; +sub_02244660 = 0x02244660; +sub_02244660 = 0x02244660; +sub_022446BC = 0x022446BC; +sub_022446BC = 0x022446BC; +sub_022446E0 = 0x022446E0; +sub_022446E0 = 0x022446E0; +sub_02244D3C = 0x02244D3C; +sub_02244D3C = 0x02244D3C; +sub_02244D40 = 0x02244D40; +sub_02244D40 = 0x02244D40; +sub_02244D40 = 0x02244D40; +sub_02244D40 = 0x02244D40; +sub_02244D40 = 0x02244D40; +sub_02244D58 = 0x02244D58; +sub_02244D58 = 0x02244D58; +sub_02244D98 = 0x02244D98; +sub_02244D98 = 0x02244D98; +sub_02244D98 = 0x02244D98; +sub_02244DA0 = 0x02244DA0; +sub_02244DA0 = 0x02244DA0; +sub_02244DB0 = 0x02244DB0; +sub_02244DB0 = 0x02244DB0; +sub_02244DB0 = 0x02244DB0; +sub_02245114 = 0x02245114; +sub_02245114 = 0x02245114; +sub_02245198 = 0x02245198; +sub_02245198 = 0x02245198; +sub_022451F0 = 0x022451F0; +sub_022451F0 = 0x022451F0; +sub_02245358 = 0x02245358; +sub_02245358 = 0x02245358; +sub_0224566C = 0x0224566C; +sub_0224566C = 0x0224566C; +sub_02245844 = 0x02245844; +sub_02245844 = 0x02245844; +sub_02245910 = 0x02245910; +sub_02245910 = 0x02245910; +sub_02245910 = 0x02245910; +sub_02245F1C = 0x02245F1C; +sub_02245F1C = 0x02245F1C; +sub_02245F4C = 0x02245F4C; +sub_02245F4C = 0x02245F4C; +sub_02245FA0 = 0x02245FA0; +sub_02245FA0 = 0x02245FA0; +sub_0224666C = 0x0224666C; +sub_0224666C = 0x0224666C; +sub_0224666C = 0x0224666C; +sub_022466A0 = 0x022466A0; +sub_022466A0 = 0x022466A0; +sub_022466A0 = 0x022466A0; +sub_022466AC = 0x022466AC; +sub_022466AC = 0x022466AC; +sub_022466AC = 0x022466AC; +sub_02246F1C = 0x02246F1C; +sub_02246F1C = 0x02246F1C; +sub_02247294 = 0x02247294; +sub_02247294 = 0x02247294; +sub_022472AC = 0x022472AC; +sub_022472AC = 0x022472AC; +sub_02247544 = 0x02247544; +sub_02247544 = 0x02247544; +sub_02247614 = 0x02247614; +sub_02247614 = 0x02247614; +sub_02247A34 = 0x02247A34; +sub_02247A34 = 0x02247A34; +sub_022483BC = 0x022483BC; +sub_022483BC = 0x022483BC; +sub_022483E0 = 0x022483E0; +sub_022483E0 = 0x022483E0; +sub_022483EC = 0x022483EC; +sub_022483EC = 0x022483EC; +sub_022488FC = 0x022488FC; +sub_022488FC = 0x022488FC; +sub_0224891C = 0x0224891C; +sub_0224891C = 0x0224891C; +sub_02248B54 = 0x02248B54; +sub_02248B54 = 0x02248B54; +sub_02248B58 = 0x02248B58; +sub_02248B58 = 0x02248B58; +sub_02248B58 = 0x02248B58; +sub_02248B58 = 0x02248B58; +sub_02248B5C = 0x02248B5C; +sub_02248B5C = 0x02248B5C; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B60 = 0x02248B60; +sub_02248B6C = 0x02248B6C; +sub_02248B6C = 0x02248B6C; +sub_02248CD0 = 0x02248CD0; +sub_02248CD0 = 0x02248CD0; +sub_02248DF8 = 0x02248DF8; +sub_02248DF8 = 0x02248DF8; +sub_022494C8 = 0x022494C8; +sub_022494C8 = 0x022494C8; +sub_02249508 = 0x02249508; +sub_02249508 = 0x02249508; +sub_02249668 = 0x02249668; +sub_02249668 = 0x02249668; +sub_02249668 = 0x02249668; +sub_02249668 = 0x02249668; +sub_02249668 = 0x02249668; +sub_022497E8 = 0x022497E8; +sub_022497E8 = 0x022497E8; +sub_022497E8 = 0x022497E8; +sub_02249E6C = 0x02249E6C; +sub_02249E6C = 0x02249E6C; +sub_02249E78 = 0x02249E78; +sub_02249E78 = 0x02249E78; +sub_02249E84 = 0x02249E84; +sub_02249E84 = 0x02249E84; +sub_02249E90 = 0x02249E90; +sub_02249E90 = 0x02249E90; +sub_0224A310 = 0x0224A310; +sub_0224A310 = 0x0224A310; +sub_0224A310 = 0x0224A310; +sub_0224A528 = 0x0224A528; +sub_0224A528 = 0x0224A528; +sub_0224A528 = 0x0224A528; +sub_0224A7C8 = 0x0224A7C8; +sub_0224A7C8 = 0x0224A7C8; +sub_0224ABAC = 0x0224ABAC; +sub_0224ABAC = 0x0224ABAC; +sub_0224B124 = 0x0224B124; +sub_0224B124 = 0x0224B124; +sub_0224B124 = 0x0224B124; +sub_0224B2C4 = 0x0224B2C4; +sub_0224B2C4 = 0x0224B2C4; +sub_0224B2C4 = 0x0224B2C4; +sub_0224B568 = 0x0224B568; +sub_0224B568 = 0x0224B568; +sub_0224B568 = 0x0224B568; +sub_0224B818 = 0x0224B818; +sub_0224B818 = 0x0224B818; +sub_0224B818 = 0x0224B818; +sub_0224B818 = 0x0224B818; +sub_0224B86C = 0x0224B86C; +sub_0224B86C = 0x0224B86C; +sub_0224B9E0 = 0x0224B9E0; +sub_0224B9E0 = 0x0224B9E0; +sub_0224BBEC = 0x0224BBEC; +sub_0224BBEC = 0x0224BBEC; +sub_0224BD90 = 0x0224BD90; +sub_0224BD90 = 0x0224BD90; +sub_0224BD90 = 0x0224BD90; +sub_0224C038 = 0x0224C038; +sub_0224C038 = 0x0224C038; +sub_0224C038 = 0x0224C038; +sub_0224C678 = 0x0224C678; +sub_0224C678 = 0x0224C678; +sub_0224C6E8 = 0x0224C6E8; +sub_0224C6E8 = 0x0224C6E8; +sub_0224C700 = 0x0224C700; +sub_0224C700 = 0x0224C700; +sub_0224C8C8 = 0x0224C8C8; +sub_0224C8C8 = 0x0224C8C8; +sub_0224CA2C = 0x0224CA2C; +sub_0224CA2C = 0x0224CA2C; +sub_0224CA54 = 0x0224CA54; +sub_0224CA54 = 0x0224CA54; +sub_0224CA58 = 0x0224CA58; +sub_0224CA58 = 0x0224CA58; +sub_0224CA88 = 0x0224CA88; +sub_0224CA88 = 0x0224CA88; +sub_0224CB30 = 0x0224CB30; +sub_0224CB30 = 0x0224CB30; +sub_0224CECC = 0x0224CECC; +sub_0224CECC = 0x0224CECC; +sub_0224CECC = 0x0224CECC; +sub_0224D2E0 = 0x0224D2E0; +sub_0224D2E0 = 0x0224D2E0; +sub_0224D3E8 = 0x0224D3E8; +sub_0224D3E8 = 0x0224D3E8; +sub_0224D70C = 0x0224D70C; +sub_0224D70C = 0x0224D70C; +sub_0224D76C = 0x0224D76C; +sub_0224D76C = 0x0224D76C; +sub_0224D79C = 0x0224D79C; +sub_0224D79C = 0x0224D79C; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DCB8 = 0x0224DCB8; +sub_0224DD94 = 0x0224DD94; +sub_0224DD94 = 0x0224DD94; +sub_0224DDB8 = 0x0224DDB8; +sub_0224DDB8 = 0x0224DDB8; +sub_0224DDB8 = 0x0224DDB8; +sub_0224E554 = 0x0224E554; +sub_0224E554 = 0x0224E554; +sub_0224E764 = 0x0224E764; +sub_0224E764 = 0x0224E764; +sub_0224E7C4 = 0x0224E7C4; +sub_0224E7C4 = 0x0224E7C4; +sub_0224F12C = 0x0224F12C; +sub_0224F12C = 0x0224F12C; +sub_0224F12C = 0x0224F12C; +sub_0224F12C = 0x0224F12C; +sub_02252534 = 0x02252534; +sub_02252534 = 0x02252534; +sub_02252538 = 0x02252538; +sub_02252538 = 0x02252538; +sub_022567E0 = 0x022567E0; +sub_022567E0 = 0x022567E0; -- cgit v1.2.3 From 336e6a25f42ef137446c381a0a2164cc955e0241 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Wed, 15 Apr 2020 12:00:04 -0400 Subject: lcf formatting --- pokediamond.lcf | 68 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 34 insertions(+), 34 deletions(-) diff --git a/pokediamond.lcf b/pokediamond.lcf index 40677860..6e7a6370 100644 --- a/pokediamond.lcf +++ b/pokediamond.lcf @@ -1,46 +1,46 @@ /* TEST */ MEMORY { - header (RWX) : ORIGIN=0, LENGTH=0 + header (RWX) : ORIGIN=0, LENGTH=0 arm9 (RWX) : ORIGIN=0x2000000, LENGTH=0 - rom3 (RWX) : ORIGIN=0, LENGTH=0 - gap1 (RWX) : ORIGIN=0, LENGTH=0 - arm7 (RWX) : ORIGIN=0, LENGTH=0 - gap2 (RWX) : ORIGIN=0, LENGTH=0 - filenametable (RWX) : ORIGIN=0, LENGTH=0 + rom3 (RWX) : ORIGIN=0, LENGTH=0 + gap1 (RWX) : ORIGIN=0, LENGTH=0 + arm7 (RWX) : ORIGIN=0, LENGTH=0 + gap2 (RWX) : ORIGIN=0, LENGTH=0 + filenametable (RWX) : ORIGIN=0, LENGTH=0 } SECTIONS { #include "undefined_syms.txt" __startup = 0; - .header: { - rom_header.o (.text) - } > header + .header: { + rom_header.o (.text) + } > header .arm9 : AT (0x4000) { - secure.o (.text) - entry.o (.text) - main.o (.text) - sub_02000DF4.o (.text) - arm9_thumb.o (.text) - rom2.o (.text) - } > arm9 - .rom3 : AT (0x10B724) { - rom3.o (.text) - } > rom3 - - .gap1 : AT(0x30CE20) { - gap1.o (.text) - } > gap1 - - .arm7 : AT(0x30D000) { - arm7_rom.o(.text) - } > arm7 - + secure.o (.text) + entry.o (.text) + main.o (.text) + sub_02000DF4.o (.text) + arm9_thumb.o (.text) + rom2.o (.text) + } > arm9 + .rom3 : AT (0x10B724) { + rom3.o (.text) + } > rom3 + + .gap1 : AT(0x30CE20) { + gap1.o (.text) + } > gap1 + + .arm7 : AT(0x30D000) { + arm7_rom.o(.text) + } > arm7 + .gap2 : AT(0x33631C) { - gap2.o (.text) - } > gap2 - - .filenametable : AT(0x336400) { - filenametable.o(.text) - } > filenametable + gap2.o (.text) + } > gap2 + + .filenametable : AT(0x336400) { + filenametable.o(.text) + } > filenametable } -- cgit v1.2.3 From e8cea378292f91719c02d589baa1358d659d62db Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Wed, 15 Apr 2020 12:09:59 -0400 Subject: sub to FUN --- asm/arm9_thumb.s | 81836 +++++++++++++++++++++++++-------------------------- asm/entry.s | 14 +- asm/main.s | 90 +- asm/rom2.s | 8 +- global.inc | 4418 +-- pokediamond.lcf | 2 +- src/FUN_02000DF4.c | 24 + src/sub_02000DF4.c | 24 - undefined_syms.txt | 5924 ++-- 9 files changed, 46170 insertions(+), 46170 deletions(-) create mode 100644 src/FUN_02000DF4.c delete mode 100644 src/sub_02000DF4.c diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s index e51efe05..d3a5b715 100644 --- a/asm/arm9_thumb.s +++ b/asm/arm9_thumb.s @@ -3,8 +3,8 @@ .text - thumb_func_start sub_02000E0C -sub_02000E0C: ; 0x02000E0C + thumb_func_start FUN_02000E0C +FUN_02000E0C: ; 0x02000E0C push {r3, lr} ldr r0, _02000E74 ; =0x02106FA0 ldr r1, [r0, #0xc] @@ -19,7 +19,7 @@ sub_02000E0C: ; 0x02000E0C cmp r0, r1 beq _02000E2C mov r1, #0x0 - bl sub_02005FDC + bl FUN_02005FDC _02000E2C: ldr r0, _02000E74 ; =0x02106FA0 mov r2, #0x0 @@ -27,7 +27,7 @@ _02000E2C: str r1, [r0, #0x8] ldr r0, [r0, #0x14] ldr r1, _02000E78 ; =0x02106FB8 - bl sub_02006234 + bl FUN_02006234 ldr r1, _02000E74 ; =0x02106FA0 str r0, [r1, #0xc] mov r0, #0x0 @@ -38,12 +38,12 @@ _02000E2C: _02000E4A: ldr r0, _02000E74 ; =0x02106FA0 ldr r0, [r0, #0xc] - bl sub_02006290 + bl FUN_02006290 cmp r0, #0x0 beq _02000E70 ldr r0, _02000E74 ; =0x02106FA0 ldr r0, [r0, #0xc] - bl sub_02006260 + bl FUN_02006260 ldr r0, _02000E74 ; =0x02106FA0 mov r1, #0x0 str r1, [r0, #0xc] @@ -51,15 +51,15 @@ _02000E4A: sub r1, r1, #0x1 cmp r0, r1 beq _02000E70 - bl sub_02005F60 + bl FUN_02005F60 _02000E70: pop {r3, pc} nop _02000E74: .word 0x02106FA0 _02000E78: .word 0x02106FB8 - thumb_func_start sub_02000E7C -sub_02000E7C: ; 0x02000E7C + thumb_func_start FUN_02000E7C +FUN_02000E7C: ; 0x02000E7C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02000E98 ; =0x02106FA0 @@ -67,7 +67,7 @@ sub_02000E7C: ; 0x02000E7C ldr r0, [r0, #0x14] cmp r0, #0x0 beq _02000E8E - bl sub_02020C2C + bl FUN_02020C2C _02000E8E: ldr r0, _02000E98 ; =0x02106FA0 str r5, [r0, #0x10] @@ -76,13 +76,13 @@ _02000E8E: nop _02000E98: .word 0x02106FA0 - thumb_func_start sub_02000E9C -sub_02000E9C: ; 0x02000E9C + thumb_func_start FUN_02000E9C +FUN_02000E9C: ; 0x02000E9C push {r3, lr} - bl sub_0202FB80 + bl FUN_0202FB80 mov r0, #0x1 add r1, r0, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C ldr r0, _02000EC4 ; =0x021C48B8 ldr r1, [r0, #0x2c] add r1, r1, #0x1 @@ -99,26 +99,26 @@ _02000EC0: nop _02000EC4: .word 0x021C48B8 - thumb_func_start sub_02000EC8 -sub_02000EC8: ; 0x02000EC8 + thumb_func_start FUN_02000EC8 +FUN_02000EC8: ; 0x02000EC8 push {r4, lr} add r4, r0, #0x0 - bl sub_02033678 + bl FUN_02033678 cmp r0, #0x0 beq _02000EE2 - blx sub_020D6DAC + blx FUN_020D6DAC cmp r0, #0x1 bne _02000EE2 add r0, r4, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 _02000EE2: - bl sub_02000E9C + bl FUN_02000E9C pop {r4, pc} - thumb_func_start sub_02000EE8 -sub_02000EE8: ; 0x02000EE8 + thumb_func_start FUN_02000EE8 +FUN_02000EE8: ; 0x02000EE8 push {r3, lr} - bl sub_020335B8 + bl FUN_020335B8 add r1, r0, #0x0 cmp r1, #0x1 beq _02000EFE @@ -129,43 +129,43 @@ sub_02000EE8: ; 0x02000EE8 pop {r3, pc} _02000EFE: mov r0, #0x1 - bl sub_02000F4C + bl FUN_02000F4C pop {r3, pc} _02000F06: mov r0, #0x0 - bl sub_02000F4C + bl FUN_02000F4C pop {r3, pc} _02000F0E: mov r0, #0x1 - bl sub_02000F4C + bl FUN_02000F4C pop {r3, pc} .balign 4 - thumb_func_start sub_02000F18 -sub_02000F18: ; 0x02000F18 + thumb_func_start FUN_02000F18 +FUN_02000F18: ; 0x02000F18 push {r4, lr} ldr r1, _02000F48 ; =0x00007FFF add r4, r0, #0x0 mov r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 ldr r1, _02000F48 ; =0x00007FFF mov r0, #0x1 - bl sub_0200E3A0 - bl sub_02032DAC + bl FUN_0200E3A0 + bl FUN_02032DAC cmp r0, #0x0 beq _02000F3C - bl sub_020225F8 - bl sub_0202287C + bl FUN_020225F8 + bl FUN_0202287C _02000F3C: - bl sub_02000FE8 + bl FUN_02000FE8 add r0, r4, #0x0 - bl sub_02000EC8 + bl FUN_02000EC8 b _02000F3C .balign 4 _02000F48: .word 0x00007FFF - thumb_func_start sub_02000F4C -sub_02000F4C: ; 0x02000F4C + thumb_func_start FUN_02000F4C +FUN_02000F4C: ; 0x02000F4C push {r4-r6, lr} add r6, r0, #0x0 cmp r1, #0x3 @@ -173,7 +173,7 @@ sub_02000F4C: ; 0x02000F4C mov r0, #0x0 mov r1, #0x3 add r2, r0, #0x0 - bl sub_02033F70 + bl FUN_02033F70 b _02000F7A _02000F60: cmp r6, #0x0 @@ -181,39 +181,39 @@ _02000F60: mov r0, #0x0 mov r1, #0x2 add r2, r0, #0x0 - bl sub_02033F70 + bl FUN_02033F70 b _02000F7A _02000F70: mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 - bl sub_02033F70 + bl FUN_02033F70 _02000F7A: - bl sub_02032DAC + bl FUN_02032DAC ldr r5, _02000FA0 ; =0x021C48B8 mov r4, #0x1 _02000F82: - bl sub_02000FE8 - bl sub_02016464 + bl FUN_02000FE8 + bl FUN_02016464 ldr r0, [r5, #0x48] tst r0, r4 bne _02000F96 - bl sub_02000E9C + bl FUN_02000E9C b _02000F82 _02000F96: add r0, r6, #0x0 - bl sub_02000F18 + bl FUN_02000F18 pop {r4-r6, pc} nop _02000FA0: .word 0x021C48B8 - thumb_func_start sub_02000FA4 -sub_02000FA4: ; 0x02000FA4 + thumb_func_start FUN_02000FA4 +FUN_02000FA4: ; 0x02000FA4 push {r4-r5, lr} sub sp, #0x1c add r0, sp, #0xc add r1, sp, #0x0 - bl sub_0201265C + bl FUN_0201265C ldr r0, _02000FE4 ; =0x021C48B8 ldr r3, [sp, #0x10] ldr r4, [r0, #0x2c] @@ -232,16 +232,16 @@ sub_02000FA4: ; 0x02000FA4 add r0, r1, r0 add r5, r2, r0 add r0, r4, r5 - bl sub_0201BA1C + bl FUN_0201BA1C add r0, r4, r5 - bl sub_0201B9E0 + bl FUN_0201B9E0 add sp, #0x1c pop {r4-r5, pc} nop _02000FE4: .word 0x021C48B8 - thumb_func_start sub_02000FE8 -sub_02000FE8: ; 0x02000FE8 + thumb_func_start FUN_02000FE8 +FUN_02000FE8: ; 0x02000FE8 push {r3-r7, lr} sub sp, #0x8 ldr r0, _0200109C ; =0x027FFFA8 @@ -255,8 +255,8 @@ sub_02000FE8: ; 0x02000FE8 ldrb r0, [r0, #0x7] cmp r0, #0x0 bne _02001064 - bl sub_0201CE04 - blx sub_020DB7A8 + bl FUN_0201CE04 + blx FUN_020DB7A8 cmp r0, #0x1 bne _02001014 ldr r0, _020010A4 ; =0x02106FA0 @@ -282,11 +282,11 @@ _02001024: _02001032: mov r1, #0x0 add r2, r1, #0x0 - blx sub_020D4E68 - blx sub_020D7D18 + blx FUN_020D4E68 + blx FUN_020D7D18 cmp r0, #0x0 beq _02001048 - blx sub_020D5180 + blx FUN_020D5180 b _0200105C _02001048: ldrh r1, [r4, #0x0] @@ -300,32 +300,32 @@ _02001048: add r1, r0, #0x0 b _02001024 _0200105C: - bl sub_0201CDD0 + bl FUN_0201CDD0 add sp, #0x8 pop {r3-r7, pc} _02001064: add r0, sp, #0x4 add r1, sp, #0x0 - blx sub_020D50D8 + blx FUN_020D50D8 ldr r0, [sp, #0x4] cmp r0, #0x1 bne _02001096 mov r0, #0x2 mov r1, #0x0 - blx sub_020D526C + blx FUN_020D526C add sp, #0x8 pop {r3-r7, pc} _0200107E: add r0, sp, #0x4 add r1, sp, #0x0 - blx sub_020D50D8 + blx FUN_020D50D8 ldr r0, [sp, #0x4] cmp r0, #0x0 bne _02001096 ldr r1, _020010A4 ; =0x02106FA0 mov r0, #0x2 ldr r1, [r1, #0x0] - blx sub_020D526C + blx FUN_020D526C _02001096: add sp, #0x8 pop {r3-r7, pc} @@ -334,8 +334,8 @@ _0200109C: .word 0x027FFFA8 _020010A0: .word 0x021C4918 _020010A4: .word 0x02106FA0 - thumb_func_start sub_020010A8 -sub_020010A8: ; 0x020010A8 + thumb_func_start FUN_020010A8 +FUN_020010A8: ; 0x020010A8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -343,7 +343,7 @@ sub_020010A8: ; 0x020010A8 mov r1, #0x38 add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r3, r5, #0x0 add r2, r4, #0x0 @@ -356,7 +356,7 @@ sub_020010A8: ; 0x020010A8 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [sp, #0x0] - bl sub_02013690 + bl FUN_02013690 str r0, [r4, #0x28] strh r6, [r4, #0x2c] add r1, r4, #0x0 @@ -482,30 +482,30 @@ _020011AC: lsr r2, r2, #0x10 orr r1, r2 orr r1, r3 - bl sub_020136E0 + bl FUN_020136E0 ldrb r1, [r4, #0x18] ldr r0, [r4, #0xc] lsl r1, r1, #0x1c lsr r1, r1, #0x1c - bl sub_02019620 + bl FUN_02019620 ldrh r1, [r4, #0x2c] ldrh r3, [r4, #0x12] add r0, r4, #0x0 mov r2, #0x0 - bl sub_02001714 + bl FUN_02001714 add r0, r4, #0x0 - bl sub_020017AC + bl FUN_020017AC add r0, r4, #0x0 mov r1, #0x1 - bl sub_02001B64 + bl FUN_02001B64 ldr r0, [r5, #0xc] - bl sub_020191D0 + bl FUN_020191D0 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02001204 -sub_02001204: ; 0x02001204 + thumb_func_start FUN_02001204 +FUN_02001204: ; 0x02001204 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 @@ -538,7 +538,7 @@ _02001236: tst r1, r5 beq _02001254 add r1, r2, #0x0 - bl sub_02001AA4 + bl FUN_02001AA4 cmp r0, #0x0 bne _0200124E mov r0, #0x1 @@ -555,7 +555,7 @@ _02001254: beq _02001274 add r1, r2, #0x0 add r3, r2, #0x0 - bl sub_02001AA4 + bl FUN_02001AA4 cmp r0, #0x0 bne _0200126E mov r0, #0x2 @@ -606,7 +606,7 @@ _020012AC: lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r3, #0x0 - bl sub_02001AA4 + bl FUN_02001AA4 cmp r0, #0x0 bne _020012CA mov r0, #0x3 @@ -625,7 +625,7 @@ _020012D0: lsl r2, r2, #0x18 lsr r2, r2, #0x18 add r3, r1, #0x0 - bl sub_02001AA4 + bl FUN_02001AA4 cmp r0, #0x0 bne _020012EE mov r0, #0x4 @@ -642,8 +642,8 @@ _020012F4: nop _020012FC: .word 0x021C48B8 - thumb_func_start sub_02001300 -sub_02001300: ; 0x02001300 + thumb_func_start FUN_02001300 +FUN_02001300: ; 0x02001300 push {r4, lr} add r4, r0, #0x0 cmp r1, #0x0 @@ -657,37 +657,37 @@ _0200130C: strh r0, [r2, #0x0] _02001314: ldr r0, [r4, #0x28] - bl sub_020136C0 + bl FUN_020136C0 add r0, r4, #0x0 add r0, #0x34 ldrb r0, [r0, #0x0] add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4, pc} - thumb_func_start sub_02001328 -sub_02001328: ; 0x02001328 + thumb_func_start FUN_02001328 +FUN_02001328: ; 0x02001328 push {r4, lr} add r4, r0, #0x0 ldrb r1, [r4, #0x18] ldr r0, [r4, #0xc] lsl r1, r1, #0x1c lsr r1, r1, #0x1c - bl sub_02019620 + bl FUN_02019620 ldrh r1, [r4, #0x2c] ldrh r3, [r4, #0x12] add r0, r4, #0x0 mov r2, #0x0 - bl sub_02001714 + bl FUN_02001714 add r0, r4, #0x0 - bl sub_020017AC + bl FUN_020017AC ldr r0, [r4, #0xc] - bl sub_020191D0 + bl FUN_020191D0 pop {r4, pc} .balign 4 - thumb_func_start sub_02001354 -sub_02001354: ; 0x02001354 + thumb_func_start FUN_02001354 +FUN_02001354: ; 0x02001354 push {r4-r6, lr} add r4, r0, #0x0 add r6, r1, #0x0 @@ -720,7 +720,7 @@ _0200136E: mov r2, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02001AA4 + bl FUN_02001AA4 b _020013AC _02001398: cmp r0, #0x80 @@ -731,7 +731,7 @@ _02001398: lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r3, r2, #0x0 - bl sub_02001AA4 + bl FUN_02001AA4 _020013AC: ldr r1, [sp, #0x18] cmp r1, #0x0 @@ -750,8 +750,8 @@ _020013C0: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020013C8 -sub_020013C8: ; 0x020013C8 + thumb_func_start FUN_020013C8 +FUN_020013C8: ; 0x020013C8 push {r4, lr} sub sp, #0x10 mov r4, #0x0 @@ -763,13 +763,13 @@ sub_020013C8: ; 0x020013C8 str r4, [sp, #0x8] ldr r4, [sp, #0x20] str r4, [sp, #0xc] - bl sub_02001354 + bl FUN_02001354 add sp, #0x10 pop {r4, pc} .balign 4 - thumb_func_start sub_020013E8 -sub_020013E8: ; 0x020013E8 + thumb_func_start FUN_020013E8 +FUN_020013E8: ; 0x020013E8 push {r3-r6} add r4, r0, #0x0 add r4, #0x20 @@ -813,8 +813,8 @@ sub_020013E8: ; 0x020013E8 pop {r3-r6} bx lr - thumb_func_start sub_0200143C -sub_0200143C: ; 0x0200143C + thumb_func_start FUN_0200143C +FUN_0200143C: ; 0x0200143C ldrh r2, [r0, #0x2c] ldrh r0, [r0, #0x2e] add r0, r2, r0 @@ -822,8 +822,8 @@ sub_0200143C: ; 0x0200143C bx lr .balign 4 - thumb_func_start sub_02001448 -sub_02001448: ; 0x02001448 + thumb_func_start FUN_02001448 +FUN_02001448: ; 0x02001448 cmp r1, #0x0 beq _02001450 ldrh r3, [r0, #0x2c] @@ -837,15 +837,15 @@ _02001458: bx lr .balign 4 - thumb_func_start sub_0200145C -sub_0200145C: ; 0x0200145C + thumb_func_start FUN_0200145C +FUN_0200145C: ; 0x0200145C add r0, #0x33 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02001464 -sub_02001464: ; 0x02001464 + thumb_func_start FUN_02001464 +FUN_02001464: ; 0x02001464 ldr r2, [r0, #0x0] lsl r0, r1, #0x3 add r0, r2, r0 @@ -853,8 +853,8 @@ sub_02001464: ; 0x02001464 bx lr .balign 4 - thumb_func_start sub_02001470 -sub_02001470: ; 0x02001470 + thumb_func_start FUN_02001470 +FUN_02001470: ; 0x02001470 push {r4, lr} add r4, r0, #0x0 cmp r1, #0x13 @@ -902,8 +902,8 @@ _02001532: mvn r0, r0 pop {r4, pc} - thumb_func_start sub_02001538 -sub_02001538: ; 0x02001538 + thumb_func_start FUN_02001538 +FUN_02001538: ; 0x02001538 cmp r1, #0x13 bls _0200153E b _02001648 @@ -958,13 +958,13 @@ _0200164C: .byte 0x7F, 0xFE, 0xFF, 0xFF .byte 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF - thumb_func_start sub_02001658 -sub_02001658: ; 0x02001658 + thumb_func_start FUN_02001658 +FUN_02001658: ; 0x02001658 str r1, [r0, #0x0] bx lr - thumb_func_start sub_0200165C -sub_0200165C: ; 0x0200165C + thumb_func_start FUN_0200165C +FUN_0200165C: ; 0x0200165C push {r4-r6, lr} sub sp, #0x18 add r5, r1, #0x0 @@ -1017,7 +1017,7 @@ sub_0200165C: ; 0x0200165C ldrb r1, [r6, #0x0] lsl r1, r1, #0x19 lsr r1, r1, #0x19 - bl sub_0201BE3C + bl FUN_0201BE3C add sp, #0x18 pop {r4-r6, pc} _020016CC: @@ -1053,13 +1053,13 @@ _020016CC: ldr r0, [r6, #0xc] lsl r1, r1, #0x11 lsr r1, r1, #0x1a - bl sub_0201BE3C + bl FUN_0201BE3C _02001710: add sp, #0x18 pop {r4-r6, pc} - thumb_func_start sub_02001714 -sub_02001714: ; 0x02001714 + thumb_func_start FUN_02001714 +FUN_02001714: ; 0x02001714 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -1072,7 +1072,7 @@ sub_02001714: ; 0x02001714 lsl r0, r0, #0x18 lsr r0, r0, #0x18 add r6, r2, #0x0 - bl sub_02002E4C + bl FUN_02002E4C ldrh r1, [r5, #0x1a] lsl r1, r1, #0x19 lsr r1, r1, #0x1c @@ -1124,7 +1124,7 @@ _02001782: ldr r1, [r2, r1] ldr r2, [sp, #0x4] add r3, r7, #0x0 - bl sub_0200165C + bl FUN_0200165C add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -1140,8 +1140,8 @@ _020017A6: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020017AC -sub_020017AC: ; 0x020017AC + thumb_func_start FUN_020017AC +FUN_020017AC: ; 0x020017AC push {r3-r5, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x1a] @@ -1150,7 +1150,7 @@ sub_020017AC: ; 0x020017AC lsr r0, r0, #0x1a lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02002E4C + bl FUN_02002E4C ldrh r1, [r4, #0x1a] ldrh r5, [r4, #0x2e] lsl r2, r1, #0x19 @@ -1182,12 +1182,12 @@ sub_020017AC: ; 0x020017AC lsl r6, r1, #0 ldr r0, [r4, #0x28] ldr r1, [r4, #0xc] - bl sub_020136F8 + bl FUN_020136F8 _02001802: pop {r3-r5, pc} - thumb_func_start sub_02001804 -sub_02001804: ; 0x02001804 + thumb_func_start FUN_02001804 +FUN_02001804: ; 0x02001804 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -1212,7 +1212,7 @@ sub_02001804: ; 0x02001804 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 - bl sub_02002E4C + bl FUN_02002E4C ldrh r1, [r4, #0x1a] lsl r1, r1, #0x19 lsr r1, r1, #0x1c @@ -1235,13 +1235,13 @@ sub_02001804: ; 0x02001804 lsl r3, r3, #0x10 lsr r1, r1, #0x1c lsr r3, r3, #0x10 - bl sub_020196F4 + bl FUN_020196F4 _02001868: add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_0200186C -sub_0200186C: ; 0x0200186C + thumb_func_start FUN_0200186C +FUN_0200186C: ; 0x0200186C push {r4-r7} ldrh r4, [r0, #0x2e] ldrh r3, [r0, #0x2c] @@ -1407,8 +1407,8 @@ _02001984: bx lr .balign 4 - thumb_func_start sub_0200198C -sub_0200198C: ; 0x0200198C + thumb_func_start FUN_0200198C +FUN_0200198C: ; 0x0200198C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -1421,12 +1421,12 @@ sub_0200198C: ; 0x0200198C ldr r0, [r5, #0xc] lsl r1, r1, #0x1c lsr r1, r1, #0x1c - bl sub_02019620 + bl FUN_02019620 ldrh r1, [r5, #0x2c] ldrh r3, [r5, #0x12] add r0, r5, #0x0 mov r2, #0x0 - bl sub_02001714 + bl FUN_02001714 add sp, #0x8 pop {r3-r7, pc} _020019B8: @@ -1436,7 +1436,7 @@ _020019B8: lsr r0, r0, #0x1a lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02002E4C + bl FUN_02002E4C ldrh r1, [r5, #0x1a] lsl r1, r1, #0x19 lsr r1, r1, #0x1c @@ -1458,12 +1458,12 @@ _020019B8: mov r1, #0x1 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0201A8C8 + bl FUN_0201A8C8 ldrh r1, [r5, #0x2c] add r0, r5, #0x0 mov r2, #0x0 add r3, r4, #0x0 - bl sub_02001714 + bl FUN_02001714 ldrb r0, [r5, #0x17] lsl r0, r0, #0x1c lsr r2, r0, #0x1c @@ -1474,10 +1474,10 @@ _020019B8: lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, #0xc] - bl sub_0201AB0C + bl FUN_0201AB0C add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0201AB10 + bl FUN_0201AB10 lsl r0, r0, #0x3 lsl r1, r6, #0x13 sub r0, r0, r4 @@ -1492,7 +1492,7 @@ _020019B8: lsl r1, r1, #0x1c lsr r1, r1, #0x1c add r3, r4, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add sp, #0x8 pop {r3-r7, pc} _02001A46: @@ -1508,7 +1508,7 @@ _02001A46: mov r1, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0201A8C8 + bl FUN_0201A8C8 ldrh r0, [r5, #0x12] ldrh r1, [r5, #0x2c] add r3, r4, #0x0 @@ -1519,9 +1519,9 @@ _02001A46: add r0, r5, #0x0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 - bl sub_02001714 + bl FUN_02001714 ldr r0, [r5, #0xc] - bl sub_0201AB0C + bl FUN_0201AB0C lsl r0, r0, #0x13 lsr r0, r0, #0x10 str r0, [sp, #0x0] @@ -1535,13 +1535,13 @@ _02001A46: ldr r0, [r5, #0xc] lsl r1, r1, #0x1c lsr r1, r1, #0x1c - bl sub_020196F4 + bl FUN_020196F4 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02001AA4 -sub_02001AA4: ; 0x02001AA4 + thumb_func_start FUN_02001AA4 +FUN_02001AA4: ; 0x02001AA4 push {r3-r7, lr} sub sp, #0x10 str r1, [sp, #0x0] @@ -1559,7 +1559,7 @@ sub_02001AA4: ; 0x02001AA4 _02001AC0: ldr r1, [sp, #0x8] add r0, r4, #0x0 - bl sub_0200186C + bl FUN_0200186C orr r5, r0 cmp r0, #0x2 bne _02001AEA @@ -1615,8 +1615,8 @@ _02001B5E: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_02001B64 -sub_02001B64: ; 0x02001B64 + thumb_func_start FUN_02001B64 +FUN_02001B64: ; 0x02001B64 push {r3-r5, lr} ldr r3, [r0, #0x4] add r2, r1, #0x0 @@ -1633,16 +1633,16 @@ sub_02001B64: ; 0x02001B64 _02001B7E: pop {r3-r5, pc} - thumb_func_start sub_02001B80 -sub_02001B80: ; 0x02001B80 - ldr r3, _02001B88 ; =sub_020191D0 + thumb_func_start FUN_02001B80 +FUN_02001B80: ; 0x02001B80 + ldr r3, _02001B88 ; =FUN_020191D0 ldr r0, [r0, #0xc] bx r3 nop -_02001B88: .word sub_020191D0 + 1 +_02001B88: .word FUN_020191D0 + 1 - thumb_func_start sub_02001B8C -sub_02001B8C: ; 0x02001B8C + thumb_func_start FUN_02001B8C +FUN_02001B8C: ; 0x02001B8C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -1653,7 +1653,7 @@ sub_02001B8C: ; 0x02001B8C mov r1, #0x20 add r7, r2, #0x0 str r0, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r3, r5, #0x0 ldmia r3!, {r0-r1} @@ -1662,14 +1662,14 @@ sub_02001B8C: ; 0x02001B8C ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldr r0, [sp, #0x4] - bl sub_02013690 + bl FUN_02013690 str r0, [r4, #0xc] ldr r0, [sp, #0x24] str r0, [r4, #0x10] ldr r0, [sp, #0x0] strb r0, [r4, #0x15] add r0, r4, #0x0 - bl sub_02001FB4 + bl FUN_02001FB4 strb r0, [r4, #0x16] add r0, sp, #0x10 ldrb r0, [r0, #0x10] @@ -1678,33 +1678,33 @@ sub_02001B8C: ; 0x02001B8C strb r6, [r4, #0x17] strb r7, [r4, #0x18] ldrb r0, [r5, #0x8] - bl sub_02002E4C + bl FUN_02002E4C add r6, r0, #0x0 ldrb r0, [r5, #0x8] mov r1, #0x2 - bl sub_02002E4C + bl FUN_02002E4C add r0, r6, r0 strb r0, [r4, #0x19] ldrb r0, [r5, #0x8] mov r1, #0x1 - bl sub_02002E4C + bl FUN_02002E4C add r6, r0, #0x0 ldrb r0, [r5, #0x8] mov r1, #0x3 - bl sub_02002E4C + bl FUN_02002E4C add r0, r6, r0 strb r0, [r4, #0x1a] add r0, r4, #0x0 - bl sub_02001FF4 + bl FUN_02001FF4 add r0, r4, #0x0 - bl sub_02002080 + bl FUN_02002080 add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02001C14 -sub_02001C14: ; 0x02001C14 + thumb_func_start FUN_02001C14 +FUN_02001C14: ; 0x02001C14 push {r4, lr} sub sp, #0x8 add r4, sp, #0x0 @@ -1712,16 +1712,16 @@ sub_02001C14: ; 0x02001C14 str r4, [sp, #0x0] ldr r4, [sp, #0x14] str r4, [sp, #0x4] - bl sub_02001B8C + bl FUN_02001B8C add r4, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_020191D0 + bl FUN_020191D0 add r0, r4, #0x0 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02001C34 -sub_02001C34: ; 0x02001C34 + thumb_func_start FUN_02001C34 +FUN_02001C34: ; 0x02001C34 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -1729,7 +1729,7 @@ sub_02001C34: ; 0x02001C34 add r6, r1, #0x0 add r4, r2, #0x0 mov r1, #0x0 - bl sub_02002E4C + bl FUN_02002E4C add r1, r0, #0x0 str r4, [sp, #0x0] mov r0, #0x2 @@ -1737,12 +1737,12 @@ sub_02001C34: ; 0x02001C34 add r0, r5, #0x0 mov r2, #0x0 add r3, r6, #0x0 - bl sub_02001C14 + bl FUN_02001C14 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02001C5C -sub_02001C5C: ; 0x02001C5C + thumb_func_start FUN_02001C5C +FUN_02001C5C: ; 0x02001C5C push {r4, lr} add r4, r0, #0x0 cmp r1, #0x0 @@ -1751,14 +1751,14 @@ sub_02001C5C: ; 0x02001C5C strb r0, [r1, #0x0] _02001C68: ldr r0, [r4, #0xc] - bl sub_020136C0 + bl FUN_020136C0 ldrb r0, [r4, #0x1c] add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4, pc} - thumb_func_start sub_02001C78 -sub_02001C78: ; 0x02001C78 + thumb_func_start FUN_02001C78 +FUN_02001C78: ; 0x02001C78 push {r3-r5, lr} add r4, r0, #0x0 mov r1, #0x0 @@ -1770,7 +1770,7 @@ sub_02001C78: ; 0x02001C78 tst r3, r5 beq _02001C9E ldr r0, _02001D28 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldrb r0, [r4, #0x15] ldr r1, [r4, #0x0] lsl r0, r0, #0x3 @@ -1782,7 +1782,7 @@ _02001C9E: tst r3, r2 beq _02001CAE ldr r0, _02001D28 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 sub r0, r5, #0x3 pop {r3-r5, pc} _02001CAE: @@ -1790,7 +1790,7 @@ _02001CAE: tst r3, r2 beq _02001CC8 ldr r2, _02001D28 ; =0x000005DC - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001CC2 add r0, r5, #0x0 @@ -1805,7 +1805,7 @@ _02001CC8: beq _02001CE4 ldr r2, _02001D28 ; =0x000005DC add r1, r5, #0x0 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001CDE mov r0, #0x2 @@ -1820,7 +1820,7 @@ _02001CE4: beq _02001D00 ldr r2, _02001D28 ; =0x000005DC mov r1, #0x2 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001CFA mov r0, #0x3 @@ -1835,7 +1835,7 @@ _02001D00: beq _02001D1C ldr r2, _02001D28 ; =0x000005DC mov r1, #0x3 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001D16 mov r0, #0x4 @@ -1852,8 +1852,8 @@ _02001D1C: _02001D24: .word 0x021C48B8 _02001D28: .word 0x000005DC - thumb_func_start sub_02001D2C -sub_02001D2C: ; 0x02001D2C + thumb_func_start FUN_02001D2C +FUN_02001D2C: ; 0x02001D2C push {r4-r6, lr} add r2, r1, #0x0 add r4, r0, #0x0 @@ -1866,7 +1866,7 @@ sub_02001D2C: ; 0x02001D2C tst r6, r3 beq _02001D54 ldr r0, _02001DD8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldrb r0, [r4, #0x15] ldr r1, [r4, #0x0] lsl r0, r0, #0x3 @@ -1878,7 +1878,7 @@ _02001D54: tst r6, r5 beq _02001D66 ldr r0, _02001DD8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x1 mvn r0, r0 pop {r4-r6, pc} @@ -1886,7 +1886,7 @@ _02001D66: mov r6, #0x40 tst r6, r5 beq _02001D7E - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001D78 mov r0, #0x1 @@ -1900,7 +1900,7 @@ _02001D7E: tst r1, r5 beq _02001D98 add r1, r3, #0x0 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001D92 mov r0, #0x2 @@ -1914,7 +1914,7 @@ _02001D98: tst r1, r5 beq _02001DB2 mov r1, #0x2 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001DAC mov r0, #0x3 @@ -1929,7 +1929,7 @@ _02001DB2: tst r3, r1 beq _02001DCE mov r1, #0x3 - bl sub_02001E64 + bl FUN_02001E64 cmp r0, #0x1 bne _02001DC8 mov r0, #0x4 @@ -1946,8 +1946,8 @@ _02001DCE: _02001DD4: .word 0x021C48B8 _02001DD8: .word 0x000005DC - thumb_func_start sub_02001DDC -sub_02001DDC: ; 0x02001DDC + thumb_func_start FUN_02001DDC +FUN_02001DDC: ; 0x02001DDC push {r4, lr} add r4, r0, #0x0 cmp r1, #0x5 @@ -1965,7 +1965,7 @@ sub_02001DDC: ; 0x02001DDC lsl r4, r0, #0x1 lsl r2, r2, #0x1 ldr r0, _02001E58 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldrb r0, [r4, #0x15] ldr r1, [r4, #0x0] lsl r0, r0, #0x3 @@ -1986,24 +1986,24 @@ _02001E52: .balign 4 _02001E58: .word 0x000005DC - thumb_func_start sub_02001E5C -sub_02001E5C: ; 0x02001E5C + thumb_func_start FUN_02001E5C +FUN_02001E5C: ; 0x02001E5C ldrb r0, [r0, #0x15] bx lr - thumb_func_start sub_02001E60 -sub_02001E60: ; 0x02001E60 + thumb_func_start FUN_02001E60 +FUN_02001E60: ; 0x02001E60 ldrb r0, [r0, #0x1b] bx lr - thumb_func_start sub_02001E64 -sub_02001E64: ; 0x02001E64 + thumb_func_start FUN_02001E64 +FUN_02001E64: ; 0x02001E64 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r6, r2, #0x0 ldrb r4, [r5, #0x15] - bl sub_02001EBC + bl FUN_02001EBC cmp r0, #0x0 bne _02001E7C add sp, #0xc @@ -2012,14 +2012,14 @@ sub_02001E64: ; 0x02001E64 _02001E7C: ldrb r0, [r5, #0x8] mov r1, #0x6 - bl sub_02002E4C + bl FUN_02002E4C add r1, sp, #0x8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x8 add r3, r4, #0x0 - bl sub_020020B0 + bl FUN_020020B0 mov r0, #0x8 str r0, [sp, #0x0] ldrb r0, [r5, #0x1a] @@ -2029,17 +2029,17 @@ _02001E7C: ldrb r2, [r3, #0x1] ldrb r3, [r3, #0x0] ldr r0, [r5, #0x4] - bl sub_020196F4 + bl FUN_020196F4 add r0, r5, #0x0 - bl sub_02002080 + bl FUN_02002080 add r0, r6, #0x0 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02001EBC -sub_02001EBC: ; 0x02001EBC + thumb_func_start FUN_02001EBC +FUN_02001EBC: ; 0x02001EBC push {r4-r6, lr} add r5, r0, #0x0 cmp r1, #0x0 @@ -2053,7 +2053,7 @@ _02001ECE: ldrb r4, [r5, #0x15] add r1, r6, #0x0 add r0, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x0 bne _02001EF2 ldrb r0, [r5, #0xb] @@ -2085,7 +2085,7 @@ _02001F08: ldrb r6, [r5, #0x15] sub r4, r1, #0x1 add r0, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r4, r1 bne _02001F2A ldrb r0, [r5, #0xb] @@ -2155,7 +2155,7 @@ _02001F72: mov r0, #0x0 pop {r4-r6, pc} _02001F8A: - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x18 asr r2, r0, #0x18 b _02001F9A @@ -2179,8 +2179,8 @@ _02001FAE: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_02001FB4 -sub_02001FB4: ; 0x02001FB4 + thumb_func_start FUN_02001FB4 +FUN_02001FB4: ; 0x02001FB4 push {r3-r7, lr} add r5, r0, #0x0 ldrb r1, [r5, #0x9] @@ -2197,7 +2197,7 @@ _02001FC8: ldr r1, [r2, r1] ldrb r0, [r5, #0x8] add r2, r7, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r6, r0 @@ -2216,17 +2216,17 @@ _02001FF0: add r0, r6, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02001FF4 -sub_02001FF4: ; 0x02001FF4 + thumb_func_start FUN_02001FF4 +FUN_02001FF4: ; 0x02001FF4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 ldrb r0, [r5, #0x8] mov r1, #0x6 - bl sub_02002E4C + bl FUN_02002E4C add r1, r0, #0x0 ldr r0, [r5, #0x4] - bl sub_02019620 + bl FUN_02019620 ldrb r0, [r5, #0x19] ldrb r1, [r5, #0x16] ldrb r7, [r5, #0x17] @@ -2268,7 +2268,7 @@ _0200202A: ldrb r1, [r5, #0x8] ldr r0, [r5, #0x4] add r3, r7, #0x0 - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x1 lsl r0, r0, #0x18 ldrb r2, [r5, #0xa] @@ -2290,8 +2290,8 @@ _0200207C: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_02002080 -sub_02002080: ; 0x02002080 + thumb_func_start FUN_02002080 +FUN_02002080: ; 0x02002080 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -2304,20 +2304,20 @@ sub_02002080: ; 0x02002080 add r1, sp, #0x0 add r1, #0x1 add r2, sp, #0x0 - bl sub_020020B0 + bl FUN_020020B0 add r3, sp, #0x0 ldrb r2, [r3, #0x1] ldrb r3, [r3, #0x0] ldr r0, [r4, #0xc] ldr r1, [r4, #0x4] - bl sub_020136F8 + bl FUN_020136F8 _020020AA: add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_020020B0 -sub_020020B0: ; 0x020020B0 + thumb_func_start FUN_020020B0 +FUN_020020B0: ; 0x020020B0 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -2325,7 +2325,7 @@ sub_020020B0: ; 0x020020B0 ldrb r1, [r5, #0xa] add r0, r7, #0x0 add r6, r2, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 ldrb r2, [r5, #0x19] ldrb r1, [r5, #0x16] lsl r2, r2, #0x1 @@ -2334,7 +2334,7 @@ sub_020020B0: ; 0x020020B0 strb r1, [r4, #0x0] ldrb r1, [r5, #0xa] add r0, r7, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 ldrb r2, [r5, #0xb] ldrb r3, [r5, #0x1a] ldrb r0, [r5, #0x18] @@ -2347,8 +2347,8 @@ sub_020020B0: ; 0x020020B0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020020EC -sub_020020EC: ; 0x020020EC + thumb_func_start FUN_020020EC +FUN_020020EC: ; 0x020020EC push {r3-r7, lr} sub sp, #0x20 ldr r5, [sp, #0x3c] @@ -2360,28 +2360,28 @@ sub_020020EC: ; 0x020020EC mov r0, #0x1 mov r1, #0x1a add r3, r5, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 mov r0, #0x2 add r1, r5, #0x0 - bl sub_02012838 + bl FUN_02012838 add r1, r4, #0x0 mov r2, #0x29 mov r3, #0x0 add r6, r0, #0x0 - bl sub_02012880 + bl FUN_02012880 mov r3, #0x2a add r2, r3, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 sub r3, #0x2c - bl sub_02012880 + bl FUN_02012880 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r5, #0x0 mov r1, #0x1 str r6, [sp, #0x14] - bl sub_02018FF4 + bl FUN_02018FF4 add r1, r0, #0x0 str r1, [sp, #0x18] mov r0, #0x0 @@ -2404,12 +2404,12 @@ sub_020020EC: ; 0x020020EC strb r0, [r3, #0xb] ldr r2, [sp, #0x8] add r0, r7, #0x0 - bl sub_02019150 + bl FUN_02019150 ldr r0, [sp, #0x18] ldr r2, [sp, #0xc] ldr r3, [sp, #0x10] mov r1, #0x1 - bl sub_0200CCA4 + bl FUN_0200CCA4 lsl r0, r5, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -2420,30 +2420,30 @@ sub_020020EC: ; 0x020020EC add r0, sp, #0x14 mov r1, #0x8 mov r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 add sp, #0x20 pop {r3-r7, pc} nop _02002194: .word 0x00000141 - thumb_func_start sub_02002198 -sub_02002198: ; 0x02002198 + thumb_func_start FUN_02002198 +FUN_02002198: ; 0x02002198 push {r4, lr} sub sp, #0x8 mov r4, #0x0 str r4, [sp, #0x0] ldr r4, [sp, #0x10] str r4, [sp, #0x4] - bl sub_020020EC + bl FUN_020020EC add sp, #0x8 pop {r4, pc} - thumb_func_start sub_020021AC -sub_020021AC: ; 0x020021AC + thumb_func_start FUN_020021AC +FUN_020021AC: ; 0x020021AC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02001C78 + bl FUN_02001C78 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -2451,17 +2451,17 @@ sub_020021AC: ; 0x020021AC beq _020021C8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020021EC + bl FUN_020021EC _020021C8: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020021CC -sub_020021CC: ; 0x020021CC + thumb_func_start FUN_020021CC +FUN_020021CC: ; 0x020021CC push {r4-r6, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02001DDC + bl FUN_02001DDC add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -2469,33 +2469,33 @@ sub_020021CC: ; 0x020021CC beq _020021E8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020021EC + bl FUN_020021EC _020021E8: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020021EC -sub_020021EC: ; 0x020021EC + thumb_func_start FUN_020021EC +FUN_020021EC: ; 0x020021EC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] add r4, r1, #0x0 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldr r0, [r5, #0x4] - bl sub_02019178 + bl FUN_02019178 ldr r1, [r5, #0x4] add r0, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C ldr r0, [r5, #0x0] - bl sub_02012870 + bl FUN_02012870 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C pop {r3-r5, pc} - thumb_func_start sub_02002218 -sub_02002218: ; 0x02002218 + thumb_func_start FUN_02002218 +FUN_02002218: ; 0x02002218 push {r4, lr} sub sp, #0x18 mov r4, #0x8 @@ -2513,14 +2513,14 @@ sub_02002218: ; 0x02002218 mov r2, #0x0 str r3, [sp, #0x14] add r3, r2, #0x0 - bl sub_02019658 + bl FUN_02019658 add sp, #0x18 pop {r4, pc} nop _02002244: .word 0x020ECAC8 - thumb_func_start sub_02002248 -sub_02002248: ; 0x02002248 + thumb_func_start FUN_02002248 +FUN_02002248: ; 0x02002248 ldrh r3, [r1, #0x0] ldr r2, _02002264 ; =0x0000FFFF cmp r3, r2 @@ -2539,8 +2539,8 @@ _0200225C: nop _02002264: .word 0x0000FFFF - thumb_func_start sub_02002268 -sub_02002268: ; 0x02002268 + thumb_func_start FUN_02002268 +FUN_02002268: ; 0x02002268 push {r4-r5} mov r4, #0x0 cmp r2, #0x0 @@ -2560,8 +2560,8 @@ _02002280: pop {r4-r5} bx lr - thumb_func_start sub_02002288 -sub_02002288: ; 0x02002288 + thumb_func_start FUN_02002288 +FUN_02002288: ; 0x02002288 ldrh r2, [r0, #0x0] ldr r1, _020022A0 ; =0x0000FFFF mov r3, #0x0 @@ -2579,8 +2579,8 @@ _0200229C: .balign 4 _020022A0: .word 0x0000FFFF - thumb_func_start sub_020022A4 -sub_020022A4: ; 0x020022A4 + thumb_func_start FUN_020022A4 +FUN_020022A4: ; 0x020022A4 push {r3-r4} ldrh r4, [r0, #0x0] ldrh r2, [r1, #0x0] @@ -2607,8 +2607,8 @@ _020022C6: .balign 4 _020022CC: .word 0x0000FFFF - thumb_func_start sub_020022D0 -sub_020022D0: ; 0x020022D0 + thumb_func_start FUN_020022D0 +FUN_020022D0: ; 0x020022D0 push {r3-r6} ldrh r6, [r1, #0x0] ldrh r5, [r0, #0x0] @@ -2645,8 +2645,8 @@ _02002304: nop _0200230C: .word 0x0000FFFF - thumb_func_start sub_02002310 -sub_02002310: ; 0x02002310 + thumb_func_start FUN_02002310 +FUN_02002310: ; 0x02002310 push {r3-r4} mov r3, #0x0 cmp r2, #0x0 @@ -2664,18 +2664,18 @@ _02002324: pop {r3-r4} bx lr - thumb_func_start sub_0200232C -sub_0200232C: ; 0x0200232C - ldr r3, _02002334 ; =sub_02002310 + thumb_func_start FUN_0200232C +FUN_0200232C: ; 0x0200232C + ldr r3, _02002334 ; =FUN_02002310 add r2, r1, #0x0 ldr r1, _02002338 ; =0x0000FFFF bx r3 .balign 4 -_02002334: .word sub_02002310 + 1 +_02002334: .word FUN_02002310 + 1 _02002338: .word 0x0000FFFF - thumb_func_start sub_0200233C -sub_0200233C: ; 0x0200233C + thumb_func_start FUN_0200233C +FUN_0200233C: ; 0x0200233C push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 @@ -2688,7 +2688,7 @@ sub_0200233C: ; 0x0200233C _0200234E: add r0, r7, #0x0 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r0, #0x10 lsr r1, r0, #0x10 add r0, r4, #0x0 @@ -2736,7 +2736,7 @@ _02002396: _020023A0: add r0, r4, #0x0 mov r1, #0xa - blx sub_020EBE8C + blx FUN_020EBE8C add r4, r0, #0x0 bne _0200234E _020023AC: @@ -2749,8 +2749,8 @@ _020023B4: .word 0x020ECB24 _020023B8: .word 0x020ECB08 _020023BC: .word 0x0000FFFF - thumb_func_start sub_020023C0 -sub_020023C0: ; 0x020023C0 + thumb_func_start FUN_020023C0 +FUN_020023C0: ; 0x020023C0 push {r3-r6, lr} sub sp, #0xc add r4, r0, #0x0 @@ -2876,7 +2876,7 @@ _0200248C: lsl r0, r0, #0x8 cmp r5, r0 bne _020024B0 - bl sub_02020C2C + bl FUN_02020C2C _020024B0: ldr r0, _02002664 ; =0x0000F0FD cmp r5, r0 @@ -2922,7 +2922,7 @@ _020024F2: mov r1, #0x1 strb r0, [r4, #0xc] ldrb r0, [r4, #0x9] - bl sub_02002E4C + bl FUN_02002E4C ldrb r1, [r4, #0xf] ldrb r2, [r4, #0xd] add sp, #0xc @@ -2942,7 +2942,7 @@ _0200251A: ldr r0, [r4, #0x0] sub r0, r0, #0x2 str r0, [r4, #0x0] - bl sub_0201B8E0 + bl FUN_0201B8E0 lsl r0, r0, #0x10 ldr r1, _02002670 ; =0x0000FE06 lsr r0, r0, #0x10 @@ -2983,7 +2983,7 @@ _0200255E: _02002566: ldr r0, [r4, #0x0] mov r1, #0x0 - bl sub_0201B914 + bl FUN_0201B914 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0xff @@ -3018,7 +3018,7 @@ _0200259E: ldrb r0, [r4, #0x11] ldrb r1, [r4, #0x12] ldrb r2, [r4, #0x13] - bl sub_0201C05C + bl FUN_0201C05C b _020026CA _020025B4: .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0xAC, 0xF9, 0x00, 0x04, 0x03, 0x0C @@ -3032,7 +3032,7 @@ _020025B4: _02002630: ldr r0, [r4, #0x0] mov r1, #0x0 - bl sub_0201B914 + bl FUN_0201B914 lsl r0, r0, #0x10 lsr r0, r0, #0x10 cmp r0, #0x64 @@ -3064,7 +3064,7 @@ _02002674: .word 0x0000FFFC _02002678: ldr r0, [r4, #0x0] mov r1, #0x0 - bl sub_0201B914 + bl FUN_0201B914 lsl r0, r0, #0x10 lsr r1, r0, #0x10 mov r0, #0xfe @@ -3079,9 +3079,9 @@ _02002678: add r0, #0x24 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0200284C + bl FUN_0200284C ldr r0, [r4, #0x0] - bl sub_0201B8B8 + bl FUN_0201B8B8 str r0, [r4, #0x0] add sp, #0xc mov r0, #0x3 @@ -3092,16 +3092,16 @@ _020026AE: add r0, #0x24 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0200284C + bl FUN_0200284C ldr r0, [r4, #0x0] - bl sub_0201B8B8 + bl FUN_0201B8B8 str r0, [r4, #0x0] add sp, #0xc mov r0, #0x3 pop {r3-r6, pc} _020026CA: ldr r0, [r4, #0x0] - bl sub_0201B8B8 + bl FUN_0201B8B8 str r0, [r4, #0x0] add sp, #0xc mov r0, #0x2 @@ -3112,7 +3112,7 @@ _020026D8: add r0, #0x24 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0200284C + bl FUN_0200284C add sp, #0xc mov r0, #0x3 pop {r3-r6, pc} @@ -3122,7 +3122,7 @@ _020026EC: add r0, #0x24 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0200284C + bl FUN_0200284C add sp, #0xc mov r0, #0x3 pop {r3-r6, pc} @@ -3131,7 +3131,7 @@ _02002700: add r1, r5, #0x0 lsl r0, r0, #0x1c lsr r0, r0, #0x1c - bl sub_02002D94 + bl FUN_02002D94 add r5, r0, #0x0 ldrb r0, [r4, #0xc] add r2, r5, #0x0 @@ -3147,7 +3147,7 @@ _02002700: ldrb r2, [r2, #0x0] ldrb r3, [r3, #0x0] ldr r0, [r4, #0x4] - bl sub_0201974C + bl FUN_0201974C add r5, #0x80 ldrb r1, [r5, #0x0] ldrb r0, [r4, #0xe] @@ -3181,16 +3181,16 @@ _02002838: pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02002840 -sub_02002840: ; 0x02002840 + thumb_func_start FUN_02002840 +FUN_02002840: ; 0x02002840 ldr r1, _02002848 ; =0x02106FC4 strh r0, [r1, #0x2] bx lr nop _02002848: .word 0x02106FC4 - thumb_func_start sub_0200284C -sub_0200284C: ; 0x0200284C + thumb_func_start FUN_0200284C +FUN_0200284C: ; 0x0200284C ldr r1, _02002874 ; =0x02106FC4 add r0, #0x1c ldrb r1, [r1, #0x0] @@ -3215,8 +3215,8 @@ _02002862: .balign 4 _02002874: .word 0x02106FC4 - thumb_func_start sub_02002878 -sub_02002878: ; 0x02002878 + thumb_func_start FUN_02002878 +FUN_02002878: ; 0x02002878 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -3246,16 +3246,16 @@ _0200288E: pop {r4-r7, pc} _020028AC: ldr r0, [r5, #0x4] - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x20] ldr r0, [r5, #0x4] - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x24] ldr r0, [r5, #0x4] - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x28] ldr r0, [r5, #0x4] - bl sub_0201AB0C + bl FUN_0201AB0C ldr r1, _020029F8 ; =0x02106FC4 ldrh r6, [r1, #0x2] ldr r1, [sp, #0x28] @@ -3292,7 +3292,7 @@ _020028AC: lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x20] add r0, r0, #0x2 @@ -3321,7 +3321,7 @@ _020028AC: lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x28] add r7, r6, #0x0 add r0, r0, #0x3 @@ -3350,7 +3350,7 @@ _020028AC: lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x14] add r6, #0x15 lsl r0, r0, #0x18 @@ -3376,11 +3376,11 @@ _020028AC: lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [r5, #0x4] ldr r1, [sp, #0x20] ldr r0, [r0, #0x0] - bl sub_02017CD0 + bl FUN_02017CD0 ldrb r1, [r4, #0x1] mov r0, #0x1f bic r1, r0 @@ -3407,22 +3407,22 @@ _020029F4: _020029F8: .word 0x02106FC4 _020029FC: .word 0x020ECB50 - thumb_func_start sub_02002A00 -sub_02002A00: ; 0x02002A00 + thumb_func_start FUN_02002A00 +FUN_02002A00: ; 0x02002A00 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 ldr r0, [r5, #0x4] - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x10] ldr r0, [r5, #0x4] - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x14] ldr r0, [r5, #0x4] - bl sub_0201AB18 + bl FUN_0201AB18 add r6, r0, #0x0 ldr r0, [r5, #0x4] - bl sub_0201AB0C + bl FUN_0201AB0C ldr r1, _02002A90 ; =0x02106FC4 add r7, r6, #0x2 ldrh r4, [r1, #0x2] @@ -3447,7 +3447,7 @@ sub_02002A00: ; 0x02002A00 ldr r1, [sp, #0x10] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -3466,18 +3466,18 @@ sub_02002A00: ; 0x02002A00 ldr r1, [sp, #0x10] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [r5, #0x4] ldr r1, [sp, #0x10] ldr r0, [r0, #0x0] - bl sub_02017CD0 + bl FUN_02017CD0 add sp, #0x18 pop {r3-r7, pc} nop _02002A90: .word 0x02106FC4 - thumb_func_start sub_02002A94 -sub_02002A94: ; 0x02002A94 + thumb_func_start FUN_02002A94 +FUN_02002A94: ; 0x02002A94 push {r3, lr} ldr r0, _02002ACC ; =0x021C48B8 ldr r1, [r0, #0x48] @@ -3495,7 +3495,7 @@ sub_02002A94: ; 0x02002A94 beq _02002AC6 _02002AB2: ldr r0, _02002AD8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r1, _02002AD4 ; =0x02106FC4 mov r0, #0x80 ldrb r2, [r1, #0x0] @@ -3512,8 +3512,8 @@ _02002AD0: .word 0x021C48F8 _02002AD4: .word 0x02106FC4 _02002AD8: .word 0x000005DC - thumb_func_start sub_02002ADC -sub_02002ADC: ; 0x02002ADC + thumb_func_start FUN_02002ADC +FUN_02002ADC: ; 0x02002ADC push {r4, lr} add r2, r0, #0x0 add r2, #0x1c @@ -3538,7 +3538,7 @@ _02002AEE: lsl r1, r1, #0x1a lsr r1, r1, #0x1f beq _02002B10 - bl sub_02002A94 + bl FUN_02002A94 pop {r4, pc} _02002B10: mov r0, #0x0 @@ -3546,8 +3546,8 @@ _02002B10: .balign 4 _02002B14: .word 0x02106FC4 - thumb_func_start sub_02002B18 -sub_02002B18: ; 0x02002B18 + thumb_func_start FUN_02002B18 +FUN_02002B18: ; 0x02002B18 push {r4, lr} ldr r1, _02002B38 ; =0x02106FC4 add r4, r0, #0x0 @@ -3555,38 +3555,38 @@ sub_02002B18: ; 0x02002B18 lsl r1, r1, #0x1d lsr r1, r1, #0x1f beq _02002B2C - bl sub_02002ADC + bl FUN_02002ADC pop {r4, pc} _02002B2C: - bl sub_02002878 + bl FUN_02002878 add r0, r4, #0x0 - bl sub_02002A94 + bl FUN_02002A94 pop {r4, pc} .balign 4 _02002B38: .word 0x02106FC4 - thumb_func_start sub_02002B3C -sub_02002B3C: ; 0x02002B3C + thumb_func_start FUN_02002B3C +FUN_02002B3C: ; 0x02002B3C push {r3, lr} ldr r1, _02002B5C ; =0x02106FC4 ldrb r1, [r1, #0x0] lsl r1, r1, #0x1d lsr r1, r1, #0x1f beq _02002B52 - bl sub_02002ADC + bl FUN_02002ADC lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} _02002B52: - bl sub_02002A94 + bl FUN_02002A94 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 _02002B5C: .word 0x02106FC4 - thumb_func_start sub_02002B60 -sub_02002B60: ; 0x02002B60 + thumb_func_start FUN_02002B60 +FUN_02002B60: ; 0x02002B60 ldr r2, _02002B78 ; =0x02106FC4 mov r1, #0x1 ldrb r3, [r2, #0x0] @@ -3601,8 +3601,8 @@ sub_02002B60: ; 0x02002B60 nop _02002B78: .word 0x02106FC4 - thumb_func_start sub_02002B7C -sub_02002B7C: ; 0x02002B7C + thumb_func_start FUN_02002B7C +FUN_02002B7C: ; 0x02002B7C push {r3-r4} ldr r1, _02002BB4 ; =0x02106FC4 mov r3, #0x4 @@ -3633,8 +3633,8 @@ sub_02002B7C: ; 0x02002B7C nop _02002BB4: .word 0x02106FC4 - thumb_func_start sub_02002BB8 -sub_02002BB8: ; 0x02002BB8 + thumb_func_start FUN_02002BB8 +FUN_02002BB8: ; 0x02002BB8 ldr r2, _02002BD0 ; =0x02106FC4 lsl r0, r0, #0x18 ldrb r3, [r2, #0x0] @@ -3649,8 +3649,8 @@ sub_02002BB8: ; 0x02002BB8 nop _02002BD0: .word 0x02106FC4 - thumb_func_start sub_02002BD4 -sub_02002BD4: ; 0x02002BD4 + thumb_func_start FUN_02002BD4 +FUN_02002BD4: ; 0x02002BD4 ldr r0, _02002BE0 ; =0x02106FC4 ldrb r0, [r0, #0x0] lsl r0, r0, #0x19 @@ -3659,8 +3659,8 @@ sub_02002BD4: ; 0x02002BD4 nop _02002BE0: .word 0x02106FC4 - thumb_func_start sub_02002BE4 -sub_02002BE4: ; 0x02002BE4 + thumb_func_start FUN_02002BE4 +FUN_02002BE4: ; 0x02002BE4 ldr r1, _02002BF0 ; =0x02106FC4 mov r0, #0x40 ldrb r2, [r1, #0x0] @@ -3670,8 +3670,8 @@ sub_02002BE4: ; 0x02002BE4 .balign 4 _02002BF0: .word 0x02106FC4 - thumb_func_start sub_02002BF4 -sub_02002BF4: ; 0x02002BF4 + thumb_func_start FUN_02002BF4 +FUN_02002BF4: ; 0x02002BF4 ldr r0, _02002C00 ; =0x02106FC4 ldrb r0, [r0, #0x0] lsl r0, r0, #0x18 @@ -3680,8 +3680,8 @@ sub_02002BF4: ; 0x02002BF4 nop _02002C00: .word 0x02106FC4 - thumb_func_start sub_02002C04 -sub_02002C04: ; 0x02002C04 + thumb_func_start FUN_02002C04 +FUN_02002C04: ; 0x02002C04 ldr r1, _02002C10 ; =0x02106FC4 mov r0, #0x80 ldrb r2, [r1, #0x0] @@ -3691,8 +3691,8 @@ sub_02002C04: ; 0x02002C04 .balign 4 _02002C10: .word 0x02106FC4 - thumb_func_start sub_02002C14 -sub_02002C14: ; 0x02002C14 + thumb_func_start FUN_02002C14 +FUN_02002C14: ; 0x02002C14 push {r4, lr} ldr r0, _02002C44 ; =0x02106FCC ldr r4, _02002C48 ; =0x02106FC8 @@ -3714,15 +3714,15 @@ _02002C22: cmp r1, #0x4 blo _02002C22 ldr r0, _02002C4C ; =0x020ECB64 - bl sub_0201BCBC + bl FUN_0201BCBC pop {r4, pc} nop _02002C44: .word 0x02106FCC _02002C48: .word 0x02106FC8 _02002C4C: .word 0x020ECB64 - thumb_func_start sub_02002C50 -sub_02002C50: ; 0x02002C50 + thumb_func_start FUN_02002C50 +FUN_02002C50: ; 0x02002C50 push {r3-r4, lr} sub sp, #0x4 str r1, [sp, #0x0] @@ -3733,7 +3733,7 @@ sub_02002C50: ; 0x02002C50 ldrh r3, [r3, r4] mov r0, #0xe mov r2, #0x1 - bl sub_02021590 + bl FUN_02021590 ldr r1, _02002C80 ; =0x02106FC8 ldr r1, [r1, #0x0] add r1, r1, r4 @@ -3746,14 +3746,14 @@ _02002C78: .word 0x020ECB54 _02002C7C: .word 0x020ECB56 _02002C80: .word 0x02106FC8 - thumb_func_start sub_02002C84 -sub_02002C84: ; 0x02002C84 + thumb_func_start FUN_02002C84 +FUN_02002C84: ; 0x02002C84 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x4 blt _02002C92 - bl sub_02020C2C + bl FUN_02020C2C _02002C92: ldr r0, _02002CBC ; =0x02106FC8 lsl r4, r4, #0x2 @@ -3763,7 +3763,7 @@ _02002C92: ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002CA6 - bl sub_02020C2C + bl FUN_02020C2C _02002CA6: ldr r0, _02002CBC ; =0x02106FC8 mov r1, #0x0 @@ -3772,18 +3772,18 @@ _02002CA6: add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_020215E0 + bl FUN_020215E0 pop {r3-r5, pc} nop _02002CBC: .word 0x02106FC8 - thumb_func_start sub_02002CC0 -sub_02002CC0: ; 0x02002CC0 + thumb_func_start FUN_02002CC0 +FUN_02002CC0: ; 0x02002CC0 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x4 blt _02002CCC - bl sub_02020C2C + bl FUN_02020C2C _02002CCC: ldr r0, _02002CF4 ; =0x02106FC8 lsl r4, r4, #0x2 @@ -3793,7 +3793,7 @@ _02002CCC: ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002CE0 - bl sub_02020C2C + bl FUN_02020C2C _02002CE0: ldr r0, _02002CF4 ; =0x02106FC8 mov r1, #0x1 @@ -3802,18 +3802,18 @@ _02002CE0: add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_020215E0 + bl FUN_020215E0 pop {r4, pc} .balign 4 _02002CF4: .word 0x02106FC8 - thumb_func_start sub_02002CF8 -sub_02002CF8: ; 0x02002CF8 + thumb_func_start FUN_02002CF8 +FUN_02002CF8: ; 0x02002CF8 push {r3-r7, lr} add r4, r0, #0x0 cmp r4, #0x4 blt _02002D04 - bl sub_02020C2C + bl FUN_02020C2C _02002D04: ldr r0, _02002D8C ; =0x02106FC8 lsl r6, r4, #0x2 @@ -3860,7 +3860,7 @@ _02002D48: add r0, r0, r5 add r0, #0x84 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02002D8C ; =0x02106FC8 mov r1, #0x0 ldr r0, [r0, #0x0] @@ -3875,7 +3875,7 @@ _02002D68: ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02002D88 - bl sub_020215C8 + bl FUN_020215C8 ldr r0, _02002D8C ; =0x02106FC8 mov r2, #0x0 ldr r1, [r0, #0x0] @@ -3889,8 +3889,8 @@ _02002D88: _02002D8C: .word 0x02106FC8 _02002D90: .word 0x020ECB54 - thumb_func_start sub_02002D94 -sub_02002D94: ; 0x02002D94 + thumb_func_start FUN_02002D94 +FUN_02002D94: ; 0x02002D94 push {r3, lr} ldr r2, _02002DAC ; =0x02106FC8 lsl r0, r0, #0x2 @@ -3898,15 +3898,15 @@ sub_02002D94: ; 0x02002D94 add r0, r2, r0 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_02021750 + bl FUN_02021750 ldr r0, _02002DAC ; =0x02106FC8 ldr r0, [r0, #0x0] pop {r3, pc} .balign 4 _02002DAC: .word 0x02106FC8 - thumb_func_start sub_02002DB0 -sub_02002DB0: ; 0x02002DB0 + thumb_func_start FUN_02002DB0 +FUN_02002DB0: ; 0x02002DB0 push {r4, lr} add r3, r1, #0x0 add r3, #0x1c @@ -3929,11 +3929,11 @@ sub_02002DB0: ; 0x02002DB0 strb r0, [r3, #0x1] _02002DD8: add r0, r1, #0x0 - bl sub_020023C0 + bl FUN_020023C0 pop {r4, pc} - thumb_func_start sub_02002DE0 -sub_02002DE0: ; 0x02002DE0 + thumb_func_start FUN_02002DE0 +FUN_02002DE0: ; 0x02002DE0 push {r4-r6, lr} lsl r4, r0, #0x2 ldr r0, _02002E10 ; =0x02106FC8 @@ -3945,7 +3945,7 @@ sub_02002DE0: ; 0x02002DE0 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002DFA - bl sub_02020C2C + bl FUN_02020C2C _02002DFA: ldr r0, _02002E10 ; =0x02106FC8 add r1, r5, #0x0 @@ -3954,13 +3954,13 @@ _02002DFA: add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_020218D8 + bl FUN_020218D8 pop {r4-r6, pc} nop _02002E10: .word 0x02106FC8 - thumb_func_start sub_02002E14 -sub_02002E14: ; 0x02002E14 + thumb_func_start FUN_02002E14 +FUN_02002E14: ; 0x02002E14 push {r4-r6, lr} lsl r4, r0, #0x2 ldr r0, _02002E48 ; =0x02106FC8 @@ -3972,10 +3972,10 @@ sub_02002E14: ; 0x02002E14 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002E2E - bl sub_02020C2C + bl FUN_02020C2C _02002E2E: add r0, r5, #0x0 - bl sub_02021F2C + bl FUN_02021F2C add r1, r0, #0x0 ldr r0, _02002E48 ; =0x02106FC8 add r2, r6, #0x0 @@ -3983,13 +3983,13 @@ _02002E2E: add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_020218D8 + bl FUN_020218D8 pop {r4-r6, pc} .balign 4 _02002E48: .word 0x02106FC8 - thumb_func_start sub_02002E4C -sub_02002E4C: ; 0x02002E4C + thumb_func_start FUN_02002E4C +FUN_02002E4C: ; 0x02002E4C mov r2, #0x0 cmp r1, #0x7 bhi _02002EAC @@ -4025,8 +4025,8 @@ _02002EB4: .byte 0x65, 0xCB, 0x0E, 0x02, 0x66, 0xCB, 0x0E, 0x02, 0x67, 0xCB, 0x0E, 0x02 .byte 0x68, 0xCB, 0x0E, 0x02, 0x69, 0xCB, 0x0E, 0x02, 0x6A, 0xCB, 0x0E, 0x02, 0x6B, 0xCB, 0x0E, 0x02 - thumb_func_start sub_02002ED0 -sub_02002ED0: ; 0x02002ED0 + thumb_func_start FUN_02002ED0 +FUN_02002ED0: ; 0x02002ED0 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -4037,12 +4037,12 @@ sub_02002ED0: ; 0x02002ED0 mov r0, #0xe mov r1, #0x6 add r2, r4, #0x0 - bl sub_02006930 + bl FUN_02006930 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02002EEC -sub_02002EEC: ; 0x02002EEC + thumb_func_start FUN_02002EEC +FUN_02002EEC: ; 0x02002EEC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -4053,12 +4053,12 @@ sub_02002EEC: ; 0x02002EEC mov r0, #0xe mov r1, #0x7 add r2, r4, #0x0 - bl sub_02006930 + bl FUN_02006930 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02002F08 -sub_02002F08: ; 0x02002F08 + thumb_func_start FUN_02002F08 +FUN_02002F08: ; 0x02002F08 push {r4-r6, lr} lsl r4, r0, #0x2 ldr r0, _02002F3C ; =0x02106FC8 @@ -4070,10 +4070,10 @@ sub_02002F08: ; 0x02002F08 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002F22 - bl sub_02020C2C + bl FUN_02020C2C _02002F22: add r0, r5, #0x0 - bl sub_02021F2C + bl FUN_02021F2C add r1, r0, #0x0 ldr r0, _02002F3C ; =0x02106FC8 add r2, r6, #0x0 @@ -4081,16 +4081,16 @@ _02002F22: add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_02021934 + bl FUN_02021934 pop {r4-r6, pc} .balign 4 _02002F3C: .word 0x02106FC8 - thumb_func_start sub_02002F40 -sub_02002F40: ; 0x02002F40 + thumb_func_start FUN_02002F40 +FUN_02002F40: ; 0x02002F40 push {r4, lr} add r4, r3, #0x0 - bl sub_02002E14 + bl FUN_02002E14 cmp r0, r4 bhs _02002F52 sub r0, r4, r0 @@ -4101,8 +4101,8 @@ _02002F52: pop {r4, pc} .balign 4 - thumb_func_start sub_02002F58 -sub_02002F58: ; 0x02002F58 + thumb_func_start FUN_02002F58 +FUN_02002F58: ; 0x02002F58 push {r3-r7, lr} ldrh r2, [r0, #0x0] ldr r1, _02002F8C ; =0x0000FFFF @@ -4116,7 +4116,7 @@ sub_02002F58: ; 0x02002F58 _02002F6C: cmp r2, r4 bne _02002F76 - bl sub_0201B8B8 + bl FUN_0201B8B8 b _02002F82 _02002F76: cmp r2, r6 @@ -4136,15 +4136,15 @@ _02002F88: .balign 4 _02002F8C: .word 0x0000FFFF - thumb_func_start sub_02002F90 -sub_02002F90: ; 0x02002F90 + thumb_func_start FUN_02002F90 +FUN_02002F90: ; 0x02002F90 push {r3, lr} - bl sub_02021F2C - bl sub_02002F58 + bl FUN_02021F2C + bl FUN_02002F58 pop {r3, pc} - thumb_func_start sub_02002F9C -sub_02002F9C: ; 0x02002F9C + thumb_func_start FUN_02002F9C +FUN_02002F9C: ; 0x02002F9C push {r3-r5, lr} lsl r4, r0, #0x2 ldr r0, _02002FCC ; =0x02106FC8 @@ -4155,45 +4155,45 @@ sub_02002F9C: ; 0x02002F9C ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02002FB4 - bl sub_02020C2C + bl FUN_02020C2C _02002FB4: add r0, r5, #0x0 - bl sub_02021F2C + bl FUN_02021F2C add r1, r0, #0x0 ldr r0, _02002FCC ; =0x02106FC8 ldr r0, [r0, #0x0] add r0, r0, r4 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_0202199C + bl FUN_0202199C pop {r3-r5, pc} .balign 4 _02002FCC: .word 0x02106FC8 - thumb_func_start sub_02002FD0 -sub_02002FD0: ; 0x02002FD0 + thumb_func_start FUN_02002FD0 +FUN_02002FD0: ; 0x02002FD0 push {r4, lr} mov r1, #0x12 lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x12 mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02002FEC -sub_02002FEC: ; 0x02002FEC - ldr r3, _02002FF0 ; =sub_02016A18 + thumb_func_start FUN_02002FEC +FUN_02002FEC: ; 0x02002FEC + ldr r3, _02002FF0 ; =FUN_02016A18 bx r3 .balign 4 -_02002FF0: .word sub_02016A18 + 1 +_02002FF0: .word FUN_02016A18 + 1 - thumb_func_start sub_02002FF4 -sub_02002FF4: ; 0x02002FF4 + thumb_func_start FUN_02002FF4 +FUN_02002FF4: ; 0x02002FF4 push {r3-r4} mov r4, #0x14 mul r4, r1 @@ -4205,8 +4205,8 @@ sub_02002FF4: ; 0x02002FF4 pop {r3-r4} bx lr - thumb_func_start sub_02003008 -sub_02003008: ; 0x02003008 + thumb_func_start FUN_02003008 +FUN_02003008: ; 0x02003008 push {r3-r7, lr} sub sp, #0x8 add r4, r2, #0x0 @@ -4215,37 +4215,37 @@ sub_02003008: ; 0x02003008 str r3, [sp, #0x4] add r0, r3, #0x0 add r1, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 ldr r0, [sp, #0x4] add r1, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 str r4, [sp, #0x0] - bl sub_02002FF4 + bl FUN_02002FF4 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02003038 -sub_02003038: ; 0x02003038 + thumb_func_start FUN_02003038 +FUN_02003038: ; 0x02003038 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x14 add r5, r1, #0x0 mul r5, r0 ldr r0, [r4, r5] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, r5 ldr r0, [r0, #0x4] - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02003054 -sub_02003054: ; 0x02003054 + thumb_func_start FUN_02003054 +FUN_02003054: ; 0x02003054 push {r3-r7, lr} add r5, r0, #0x0 add r0, sp, #0x8 @@ -4259,18 +4259,18 @@ sub_02003054: ; 0x02003054 lsl r4, r3, #0x1 add r1, r1, r4 add r2, r7, #0x0 - blx sub_020CE1E0 + blx FUN_020CE1E0 add r1, r5, r6 ldr r1, [r1, #0x4] ldr r0, [sp, #0x0] add r1, r1, r4 add r2, r7, #0x0 - blx sub_020CE1E0 + blx FUN_020CE1E0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02003084 -sub_02003084: ; 0x02003084 + thumb_func_start FUN_02003084 +FUN_02003084: ; 0x02003084 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -4278,10 +4278,10 @@ sub_02003084: ; 0x02003084 add r1, r2, #0x0 add r2, sp, #0x4 ldr r4, [sp, #0x1c] - bl sub_02006C08 + bl FUN_02006C08 add r6, r0, #0x0 bne _0200309E - bl sub_02020C2C + bl FUN_02020C2C _0200309E: cmp r4, #0x0 bne _020030A6 @@ -4299,7 +4299,7 @@ _020030A6: add r0, r4, r0 cmp r0, r1 bls _020030C0 - bl sub_02020C2C + bl FUN_02020C2C _020030C0: lsl r0, r4, #0x10 lsr r0, r0, #0x10 @@ -4313,15 +4313,15 @@ _020030C0: lsl r1, r1, #0x1 add r1, r2, r1 ldr r2, [sp, #0x18] - bl sub_02003054 + bl FUN_02003054 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020030E8 -sub_020030E8: ; 0x020030E8 + thumb_func_start FUN_020030E8 +FUN_020030E8: ; 0x020030E8 push {r4, lr} sub sp, #0x10 ldr r4, [sp, #0x18] @@ -4333,13 +4333,13 @@ sub_020030E8: ; 0x020030E8 str r4, [sp, #0x8] mov r4, #0x0 str r4, [sp, #0xc] - bl sub_02003084 + bl FUN_02003084 add sp, #0x10 pop {r4, pc} .balign 4 - thumb_func_start sub_02003108 -sub_02003108: ; 0x02003108 + thumb_func_start FUN_02003108 +FUN_02003108: ; 0x02003108 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x14 @@ -4353,7 +4353,7 @@ sub_02003108: ; 0x02003108 add r0, r7, r0 cmp r0, r1 bls _02003126 - bl sub_02020C2C + bl FUN_02020C2C _02003126: cmp r4, #0x3 bhi _0200315E @@ -4367,14 +4367,14 @@ _02003126: lsl r6, r1, #0 lsl r6, r2, #0 lsl r6, r3, #0 - bl sub_020222E8 + bl FUN_020222E8 add r1, r0, #0x0 b _02003164 _02003146: .byte 0x1F, 0xF0, 0xD7, 0xF8, 0x01, 0x1C, 0x0A, 0xE0, 0x1F, 0xF0 .byte 0xDB, 0xF8, 0x01, 0x1C, 0x06, 0xE0, 0x1F, 0xF0, 0xDB, 0xF8, 0x01, 0x1C, 0x02, 0xE0 _0200315E: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} _02003164: lsl r0, r7, #0x10 @@ -4385,21 +4385,21 @@ _02003164: add r0, r6, #0x0 add r2, r4, #0x0 add r3, r5, #0x0 - bl sub_02003054 + bl FUN_02003054 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200317C -sub_0200317C: ; 0x0200317C + thumb_func_start FUN_0200317C +FUN_0200317C: ; 0x0200317C push {r3-r5, lr} add r4, r2, #0x0 add r5, r3, #0x0 add r2, sp, #0x0 add r3, r4, #0x0 - bl sub_02006C08 + bl FUN_02006C08 add r4, r0, #0x0 bne _02003192 - bl sub_02020C2C + bl FUN_02020C2C _02003192: cmp r5, #0x0 bne _0200319A @@ -4414,14 +4414,14 @@ _0200319A: lsl r0, r0, #0x1 add r0, r1, r0 ldr r1, [sp, #0x14] - blx sub_020CE1E0 + blx FUN_020CE1E0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020031B8 -sub_020031B8: ; 0x020031B8 + thumb_func_start FUN_020031B8 +FUN_020031B8: ; 0x020031B8 push {r3-r7, lr} sub sp, #0x8 add r4, sp, #0x10 @@ -4442,7 +4442,7 @@ sub_020031B8: ; 0x020031B8 ldr r1, [r5, r6] add r0, r0, r4 add r1, r1, r7 - blx sub_020CE1E0 + blx FUN_020CE1E0 ldr r0, [sp, #0x4] add r1, r5, r6 ldr r0, [r5, r0] @@ -4450,20 +4450,20 @@ sub_020031B8: ; 0x020031B8 ldr r2, [sp, #0x0] add r0, r0, r4 add r1, r1, r7 - blx sub_020CE1E0 + blx FUN_020CE1E0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020031FC -sub_020031FC: ; 0x020031FC + thumb_func_start FUN_020031FC +FUN_020031FC: ; 0x020031FC mov r2, #0x14 mul r2, r1 ldr r0, [r0, r2] bx lr - thumb_func_start sub_02003204 -sub_02003204: ; 0x02003204 + thumb_func_start FUN_02003204 +FUN_02003204: ; 0x02003204 mov r2, #0x14 mul r2, r1 add r0, r0, r2 @@ -4471,8 +4471,8 @@ sub_02003204: ; 0x02003204 bx lr .balign 4 - thumb_func_start sub_02003210 -sub_02003210: ; 0x02003210 + thumb_func_start FUN_02003210 +FUN_02003210: ; 0x02003210 push {r0-r3} push {r3-r7, lr} sub sp, #0x10 @@ -4493,7 +4493,7 @@ sub_02003210: ; 0x02003210 _02003232: add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x1 bne _020032A6 mov r0, #0x46 @@ -4502,7 +4502,7 @@ _02003232: add r1, r4, #0x0 lsl r0, r0, #0x10 lsr r0, r0, #0x12 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x0 bne _020032A6 mov r0, #0x14 @@ -4511,7 +4511,7 @@ _02003232: add r0, r4, #0x0 add r1, r5, r6 add r2, sp, #0x30 - bl sub_02003368 + bl FUN_02003368 ldr r0, [sp, #0x3c] add r1, sp, #0x28 str r0, [sp, #0x0] @@ -4522,23 +4522,23 @@ _02003232: ldr r2, [sp, #0x8] ldr r3, [sp, #0x38] add r0, #0xc - bl sub_020033A4 + bl FUN_020033A4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02003328 + bl FUN_02003328 cmp r4, #0x4 blo _02003294 mov r2, #0x1 add r0, r5, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x8 - bl sub_0200359C + bl FUN_0200359C b _0200329E _02003294: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x10 - bl sub_0200359C + bl FUN_0200359C _0200329E: ldr r1, [sp, #0xc] add r0, sp, #0x28 @@ -4585,10 +4585,10 @@ _020032A6: mov r2, #0x0 add r0, r0, #0x4 strb r2, [r5, r0] - ldr r0, _02003310 ; =sub_02003464 + ldr r0, _02003310 ; =FUN_02003464 add r1, r5, #0x0 sub r2, r2, #0x2 - bl sub_0200CA44 + bl FUN_0200CA44 _02003300: add r0, r6, #0x0 add sp, #0x10 @@ -4598,10 +4598,10 @@ _02003300: bx r3 .balign 4 _0200330C: .word 0xFFFF0003 -_02003310: .word sub_02003464 + 1 +_02003310: .word FUN_02003464 + 1 - thumb_func_start sub_02003314 -sub_02003314: ; 0x02003314 + thumb_func_start FUN_02003314 +FUN_02003314: ; 0x02003314 mov r3, #0x1 add r2, r3, #0x0 lsl r2, r1 @@ -4614,8 +4614,8 @@ _02003320: bx lr .balign 4 - thumb_func_start sub_02003328 -sub_02003328: ; 0x02003328 + thumb_func_start FUN_02003328 +FUN_02003328: ; 0x02003328 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02003360 ; =0x0000011A @@ -4623,7 +4623,7 @@ sub_02003328: ; 0x02003328 ldrh r0, [r5, r0] lsl r0, r0, #0x12 lsr r0, r0, #0x12 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x1 beq _0200335E ldr r3, _02003360 ; =0x0000011A @@ -4648,8 +4648,8 @@ _0200335E: _02003360: .word 0x0000011A _02003364: .word 0xFFFFC000 - thumb_func_start sub_02003368 -sub_02003368: ; 0x02003368 + thumb_func_start FUN_02003368 +FUN_02003368: ; 0x02003368 push {r4-r5} cmp r0, #0x4 ldr r0, [r1, #0x8] @@ -4685,8 +4685,8 @@ _02003398: bx lr .balign 4 - thumb_func_start sub_020033A4 -sub_020033A4: ; 0x020033A4 + thumb_func_start FUN_020033A4 +FUN_020033A4: ; 0x020033A4 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -4694,7 +4694,7 @@ sub_020033A4: ; 0x020033A4 cmp r2, #0x0 bge _020033D4 add r0, r2, #0x0 - blx sub_020DE3F0 + blx FUN_020DE3F0 add r0, r0, #0x2 ldrh r1, [r5, #0x6] mov r2, #0xf @@ -4782,8 +4782,8 @@ _02003458: .word 0xFFFF07FF _0200345C: .word 0xFFFF8000 _02003460: .word 0xFFFFFC0F - thumb_func_start sub_02003464 -sub_02003464: ; 0x02003464 + thumb_func_start FUN_02003464 +FUN_02003464: ; 0x02003464 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x47 @@ -4813,7 +4813,7 @@ sub_02003464: ; 0x02003464 sub r1, r1, #0x2 and r2, r3 strh r2, [r4, r1] - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4-r6, pc} _020034A4: sub r0, r1, #0x4 @@ -4834,9 +4834,9 @@ _020034A4: sub r0, r1, #0x2 strh r2, [r4, r0] add r0, r4, #0x0 - bl sub_02003500 + bl FUN_02003500 add r0, r4, #0x0 - bl sub_02003520 + bl FUN_02003520 mov r1, #0x46 lsl r1, r1, #0x2 ldrh r0, [r4, r1] @@ -4850,7 +4850,7 @@ _020034A4: add r0, r1, #0x2 strh r2, [r4, r0] add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 _020034F0: pop {r4-r6, pc} nop @@ -4858,8 +4858,8 @@ _020034F4: .word 0xFFFFC000 _020034F8: .word 0xFFFF0003 _020034FC: .word 0xFFFFBFFF - thumb_func_start sub_02003500 -sub_02003500: ; 0x02003500 + thumb_func_start FUN_02003500 +FUN_02003500: ; 0x02003500 push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 @@ -4868,7 +4868,7 @@ _02003508: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02003540 + bl FUN_02003540 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -4877,8 +4877,8 @@ _02003508: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02003520 -sub_02003520: ; 0x02003520 + thumb_func_start FUN_02003520 +FUN_02003520: ; 0x02003520 push {r4-r6, lr} mov r4, #0x4 add r6, r4, #0x0 @@ -4888,7 +4888,7 @@ _0200352A: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02003540 + bl FUN_02003540 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -4896,8 +4896,8 @@ _0200352A: blo _0200352A pop {r4-r6, pc} - thumb_func_start sub_02003540 -sub_02003540: ; 0x02003540 + thumb_func_start FUN_02003540 +FUN_02003540: ; 0x02003540 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x46 @@ -4907,7 +4907,7 @@ sub_02003540: ; 0x02003540 add r6, r2, #0x0 lsl r0, r0, #0x10 lsr r0, r0, #0x12 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x0 beq _02003594 mov r0, #0x14 @@ -4938,14 +4938,14 @@ _02003584: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0200359C + bl FUN_0200359C _02003594: pop {r4-r6, pc} nop _02003598: .word 0xFFFFFC0F - thumb_func_start sub_0200359C -sub_0200359C: ; 0x0200359C + thumb_func_start FUN_0200359C +FUN_0200359C: ; 0x0200359C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] @@ -4966,7 +4966,7 @@ _020035BC: ldrh r0, [r5, #0xc] lsl r1, r6, #0x10 lsr r1, r1, #0x10 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x0 beq _020035DC ldr r0, [r5, #0x0] @@ -4976,7 +4976,7 @@ _020035BC: add r1, r2, r1 ldr r2, [sp, #0x8] add r3, r7, #0x0 - bl sub_020035F8 + bl FUN_020035F8 _020035DC: add r6, r6, #0x1 add r4, r4, r7 @@ -4988,12 +4988,12 @@ _020035DC: ldr r0, [sp, #0x0] lsr r1, r1, #0x18 add r2, r5, #0x0 - bl sub_02003684 + bl FUN_02003684 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_020035F8 -sub_020035F8: ; 0x020035F8 + thumb_func_start FUN_020035F8 +FUN_020035F8: ; 0x020035F8 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x4] @@ -5067,8 +5067,8 @@ _02003680: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02003684 -sub_02003684: ; 0x02003684 + thumb_func_start FUN_02003684 +FUN_02003684: ; 0x02003684 push {r4-r5} ldrh r4, [r2, #0x2] lsl r3, r4, #0x10 @@ -5157,8 +5157,8 @@ _0200371E: _02003724: .word 0xFFFF0003 _02003728: .word 0xFFFFF83F - thumb_func_start sub_0200372C -sub_0200372C: ; 0x0200372C + thumb_func_start FUN_0200372C +FUN_0200372C: ; 0x0200372C push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _020038DC ; =0x0000011A @@ -5191,13 +5191,13 @@ _02003750: lsl r1, r5, #0x10 lsr r0, r0, #0x12 lsr r1, r1, #0x10 - bl sub_02003314 + bl FUN_02003314 cmp r0, #0x0 beq _0200377C _02003770: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] - blx sub_020CC15C + blx FUN_020CC15C cmp r5, #0xd bls _0200377E _0200377C: @@ -5226,7 +5226,7 @@ _0200377E: ldr r0, [r4, #0x4] ldr r2, [r4, #0x8] mov r1, #0x0 - blx sub_020C9550 + blx FUN_020C9550 b _020038A4 _020037B2: .byte 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x96, 0xEE, 0x72, 0xE0, 0x60, 0x68 @@ -5280,8 +5280,8 @@ _020038DA: _020038DC: .word 0x0000011A _020038E0: .word 0xFFFFC000 - thumb_func_start sub_020038E4 -sub_020038E4: ; 0x020038E4 + thumb_func_start FUN_020038E4 +FUN_020038E4: ; 0x020038E4 mov r1, #0x46 lsl r1, r1, #0x2 ldrh r0, [r0, r1] @@ -5289,8 +5289,8 @@ sub_020038E4: ; 0x020038E4 lsr r0, r0, #0x12 bx lr - thumb_func_start sub_020038F0 -sub_020038F0: ; 0x020038F0 + thumb_func_start FUN_020038F0 +FUN_020038F0: ; 0x020038F0 push {r3-r4} ldr r3, _0200390C ; =0x0000011A lsl r1, r1, #0x10 @@ -5308,8 +5308,8 @@ sub_020038F0: ; 0x020038F0 _0200390C: .word 0x0000011A _02003910: .word 0xFFFF7FFF - thumb_func_start sub_02003914 -sub_02003914: ; 0x02003914 + thumb_func_start FUN_02003914 +FUN_02003914: ; 0x02003914 push {r3-r7, lr} sub sp, #0x8 add r6, r0, #0x0 @@ -5327,7 +5327,7 @@ sub_02003914: ; 0x02003914 ldr r0, [r0, #0x8] cmp r1, r0 bls _0200393A - bl sub_02020C2C + bl FUN_02020C2C _0200393A: sub r0, r7, #0x1 cmp r0, #0x1 @@ -5339,7 +5339,7 @@ _0200393A: ldr r0, [sp, #0x0] sub r2, r2, r5 lsl r2, r2, #0x1 - blx sub_020CE1C8 + blx FUN_020CE1C8 _02003952: cmp r7, #0x0 beq _0200395A @@ -5354,14 +5354,14 @@ _0200395A: ldr r0, [sp, #0x0] sub r2, r2, r5 lsl r2, r2, #0x1 - blx sub_020CE1C8 + blx FUN_020CE1C8 _0200396E: add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02003974 -sub_02003974: ; 0x02003974 + thumb_func_start FUN_02003974 +FUN_02003974: ; 0x02003974 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -5423,8 +5423,8 @@ _020039E2: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020039E8 -sub_020039E8: ; 0x020039E8 + thumb_func_start FUN_020039E8 +FUN_020039E8: ; 0x020039E8 push {r3-r7, lr} sub sp, #0x8 add r7, r2, #0x0 @@ -5445,7 +5445,7 @@ sub_020039E8: ; 0x020039E8 _02003A0A: cmp r0, #0x0 bne _02003A12 - bl sub_02020C2C + bl FUN_02020C2C _02003A12: add r3, sp, #0x10 ldrh r0, [r3, #0x14] @@ -5458,12 +5458,12 @@ _02003A12: add r1, r2, r1 ldrb r3, [r3, #0x10] ldr r2, [sp, #0x4] - bl sub_02003974 + bl FUN_02003974 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02003A30 -sub_02003A30: ; 0x02003A30 + thumb_func_start FUN_02003A30 +FUN_02003A30: ; 0x02003A30 push {r3-r7, lr} sub sp, #0x8 str r3, [sp, #0x4] @@ -5481,7 +5481,7 @@ _02003A40: add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x10 - bl sub_02003974 + bl FUN_02003974 _02003A54: lsl r0, r4, #0xf lsr r4, r0, #0x10 @@ -5493,8 +5493,8 @@ _02003A60: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02003A64 -sub_02003A64: ; 0x02003A64 + thumb_func_start FUN_02003A64 +FUN_02003A64: ; 0x02003A64 push {r4-r7, lr} sub sp, #0xc str r3, [sp, #0x8] @@ -5519,7 +5519,7 @@ sub_02003A64: ; 0x02003A64 _02003A8E: cmp r0, #0x0 bne _02003A96 - bl sub_02020C2C + bl FUN_02020C2C _02003A96: cmp r5, #0x0 beq _02003AC0 @@ -5536,7 +5536,7 @@ _02003A9A: add r0, r6, #0x0 lsr r2, r2, #0x10 mov r3, #0x10 - bl sub_020039E8 + bl FUN_020039E8 _02003AB6: lsl r0, r5, #0xf lsr r5, r0, #0x10 @@ -5547,8 +5547,8 @@ _02003AC0: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02003AC4 -sub_02003AC4: ; 0x02003AC4 + thumb_func_start FUN_02003AC4 +FUN_02003AC4: ; 0x02003AC4 push {r3-r7, lr} mov lr, r1 mov r12, r2 @@ -5617,18 +5617,18 @@ _02003B3C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02003B40 -sub_02003B40: ; 0x02003B40 + thumb_func_start FUN_02003B40 +FUN_02003B40: ; 0x02003B40 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 add r2, sp, #0x4 - bl sub_02006C08 + bl FUN_02006C08 add r4, r0, #0x0 bne _02003B58 - bl sub_02020C2C + bl FUN_02020C2C _02003B58: ldr r0, [sp, #0x1c] cmp r0, #0x0 @@ -5644,7 +5644,7 @@ _02003B64: ldr r3, [sp, #0x28] ldr r0, [r0, #0xc] mov r1, #0x10 - bl sub_02003AC4 + bl FUN_02003AC4 ldr r0, [sp, #0x1c] add r3, sp, #0x8 lsl r0, r0, #0x10 @@ -5655,27 +5655,27 @@ _02003B64: ldr r1, [r1, #0xc] ldr r2, [sp, #0x18] add r0, r5, #0x0 - bl sub_02003054 + bl FUN_02003054 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_02003B98 -sub_02003B98: ; 0x02003B98 + thumb_func_start FUN_02003B98 +FUN_02003B98: ; 0x02003B98 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r4, r0, #0x0 - blx sub_020C01D0 - bl sub_020040C8 + blx FUN_020C01D0 + bl FUN_020040C8 add r0, r4, #0x0 - bl sub_02004064 + bl FUN_02004064 add r0, r4, #0x0 ldr r1, _02003C00 ; =0x000BBC00 add r0, #0x94 - blx sub_020C2A94 + blx FUN_020C2A94 add r1, r4, #0x0 add r1, #0x90 str r0, [r1, #0x0] @@ -5685,15 +5685,15 @@ sub_02003B98: ; 0x02003B98 ldr r2, [r2, #0x0] add r0, r4, #0x0 mov r3, #0x0 - blx sub_020C26F8 + blx FUN_020C26F8 add r0, r4, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - blx sub_020C39CC + blx FUN_020C39CC add r0, r4, #0x0 - bl sub_02004088 + bl FUN_02004088 add r0, r4, #0x0 - bl sub_020040A4 + bl FUN_020040A4 ldr r0, _02003C08 ; =0x02107070 mov r1, #0x0 str r1, [r0, #0x4] @@ -5702,7 +5702,7 @@ sub_02003B98: ; 0x02003B98 ldrh r0, [r6, #0x0] lsl r0, r0, #0x1a lsr r0, r0, #0x1e - bl sub_02004D60 + bl FUN_02004D60 pop {r4-r6, pc} nop _02003C00: .word 0x000BBC00 @@ -5710,12 +5710,12 @@ _02003C04: .word 0x02104780 _02003C08: .word 0x02107070 _02003C0C: .word 0x000BCD4C - thumb_func_start sub_02003C10 -sub_02003C10: ; 0x02003C10 + thumb_func_start FUN_02003C10 +FUN_02003C10: ; 0x02003C10 push {r4, lr} - bl sub_02003D30 + bl FUN_02003D30 add r4, r0, #0x0 - bl sub_02003D04 + bl FUN_02003D04 cmp r0, #0x0 bne _02003C30 ldr r0, _02003C3C ; =0x000BCD00 @@ -5725,18 +5725,18 @@ sub_02003C10: ; 0x02003C10 sub r1, r1, #0x1 str r1, [r4, r0] _02003C2C: - bl sub_02003C40 + bl FUN_02003C40 _02003C30: - bl sub_02005CFC - blx sub_020C01A0 + bl FUN_02005CFC + blx FUN_020C01A0 pop {r4, pc} nop _02003C3C: .word 0x000BCD00 - thumb_func_start sub_02003C40 -sub_02003C40: ; 0x02003C40 + thumb_func_start FUN_02003C40 +FUN_02003C40: ; 0x02003C40 push {r4, lr} - bl sub_02003D30 + bl FUN_02003D30 add r4, r0, #0x0 ldr r0, _02003CDC ; =0x02107070 ldr r0, [r0, #0x0] @@ -5756,7 +5756,7 @@ sub_02003C40: ; 0x02003C40 lsl r4, r6, #0 lsl r2, r2, #0x1 mov r0, #0x2 - bl sub_02003CE8 + bl FUN_02003CE8 pop {r4, pc} _02003C72: .byte 0x01, 0xF0, 0xC7, 0xFB, 0x00, 0x28, 0x2E, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x34, 0xF8 @@ -5773,11 +5773,11 @@ _02003CDC: .word 0x02107070 _02003CE0: .byte 0x0E, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00 - thumb_func_start sub_02003CE8 -sub_02003CE8: ; 0x02003CE8 + thumb_func_start FUN_02003CE8 +FUN_02003CE8: ; 0x02003CE8 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 ldr r1, _02003CFC ; =0x000BCCFC mov r2, #0x0 strh r2, [r0, r1] @@ -5788,13 +5788,13 @@ sub_02003CE8: ; 0x02003CE8 _02003CFC: .word 0x000BCCFC _02003D00: .word 0x02107070 - thumb_func_start sub_02003D04 -sub_02003D04: ; 0x02003D04 + thumb_func_start FUN_02003D04 +FUN_02003D04: ; 0x02003D04 push {r4, lr} - bl sub_02003D30 + bl FUN_02003D30 add r4, r0, #0x0 mov r0, #0x2 - bl sub_020048BC + bl FUN_020048BC cmp r0, #0x0 beq _02003D1A mov r0, #0x1 @@ -5812,18 +5812,18 @@ _02003D26: nop _02003D2C: .word 0x000BCD12 - thumb_func_start sub_02003D30 -sub_02003D30: ; 0x02003D30 + thumb_func_start FUN_02003D30 +FUN_02003D30: ; 0x02003D30 ldr r0, _02003D34 ; =0x02107078 bx lr .balign 4 _02003D34: .word 0x02107078 - thumb_func_start sub_02003D38 -sub_02003D38: ; 0x02003D38 + thumb_func_start FUN_02003D38 +FUN_02003D38: ; 0x02003D38 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 cmp r4, #0x27 bls _02003D46 b _02003E92 @@ -5895,7 +5895,7 @@ _02003DA8: .byte 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2A, 0x49, 0x40, 0x18 .byte 0x10, 0xBD _02003E92: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4, pc} nop @@ -5912,20 +5912,20 @@ _02003EA0: .byte 0x40, 0xCD, 0x0B, 0x00, 0x48, 0xCD, 0x0B, 0x00, 0x4C, 0xCD, 0x0B, 0x00, 0x50, 0xCD, 0x0B, 0x00 .byte 0x54, 0xCD, 0x0B, 0x00, 0x58, 0xCD, 0x0B, 0x00, 0x5C, 0xCD, 0x0B, 0x00 - thumb_func_start sub_02003F3C -sub_02003F3C: ; 0x02003F3C + thumb_func_start FUN_02003F3C +FUN_02003F3C: ; 0x02003F3C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r0, #0x90 ldr r0, [r0, #0x0] - blx sub_020C290C + blx FUN_020C290C add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _02003F5A - bl sub_02020C2C + bl FUN_02020C2C _02003F5A: cmp r5, #0x0 beq _02003F60 @@ -5934,93 +5934,93 @@ _02003F60: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02003F64 -sub_02003F64: ; 0x02003F64 + thumb_func_start FUN_02003F64 +FUN_02003F64: ; 0x02003F64 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r0, #0x90 ldr r0, [r0, #0x0] add r1, r4, #0x0 - blx sub_020C2828 + blx FUN_020C2828 pop {r4, pc} - thumb_func_start sub_02003F78 -sub_02003F78: ; 0x02003F78 + thumb_func_start FUN_02003F78 +FUN_02003F78: ; 0x02003F78 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r1, r0, #0x0 add r1, #0x90 ldr r1, [r1, #0x0] add r0, r4, #0x0 - blx sub_020C36A8 + blx FUN_020C36A8 pop {r4, pc} .balign 4 - thumb_func_start sub_02003F90 -sub_02003F90: ; 0x02003F90 + thumb_func_start FUN_02003F90 +FUN_02003F90: ; 0x02003F90 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r1, r0, #0x0 add r1, #0x90 ldr r1, [r1, #0x0] add r0, r4, #0x0 - blx sub_020C3674 + blx FUN_020C3674 pop {r4, pc} .balign 4 - thumb_func_start sub_02003FA8 -sub_02003FA8: ; 0x02003FA8 + thumb_func_start FUN_02003FA8 +FUN_02003FA8: ; 0x02003FA8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r2, r0, #0x0 add r2, #0x90 ldr r2, [r2, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020C35E0 + blx FUN_020C35E0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02003FC4 -sub_02003FC4: ; 0x02003FC4 + thumb_func_start FUN_02003FC4 +FUN_02003FC4: ; 0x02003FC4 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r1, r0, #0x0 add r1, #0x90 ldr r1, [r1, #0x0] add r0, r4, #0x0 - blx sub_020C360C + blx FUN_020C360C pop {r4, pc} .balign 4 - thumb_func_start sub_02003FDC -sub_02003FDC: ; 0x02003FDC + thumb_func_start FUN_02003FDC +FUN_02003FDC: ; 0x02003FDC push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r1, r0, #0x0 add r1, #0x90 ldr r1, [r1, #0x0] add r0, r4, #0x0 - blx sub_020C3640 + blx FUN_020C3640 pop {r4, pc} .balign 4 - thumb_func_start sub_02003FF4 -sub_02003FF4: ; 0x02003FF4 + thumb_func_start FUN_02003FF4 +FUN_02003FF4: ; 0x02003FF4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 add r4, r0, #0x0 cmp r5, #0x9 blt _02004008 - bl sub_02020C2C + bl FUN_02020C2C mov r5, #0x0 _02004008: ldr r0, _02004014 ; =0x000BBC94 @@ -6031,8 +6031,8 @@ _02004008: nop _02004014: .word 0x000BBC94 - thumb_func_start sub_02004018 -sub_02004018: ; 0x02004018 + thumb_func_start FUN_02004018 +FUN_02004018: ; 0x02004018 push {r3, lr} cmp r0, #0x7 bhi _0200405A @@ -6057,18 +6057,18 @@ _0200403E: .byte 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x05, 0x20 .byte 0x08, 0xBD, 0x06, 0x20, 0x08, 0xBD, 0x07, 0x20, 0x08, 0xBD _0200405A: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x3 pop {r3, pc} .balign 4 - thumb_func_start sub_02004064 -sub_02004064: ; 0x02004064 + thumb_func_start FUN_02004064 +FUN_02004064: ; 0x02004064 push {r4, lr} ldr r2, _02004080 ; =0x000BCD60 mov r1, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _02004084 ; =0x000BCD1C mov r1, #0x0 _02004074: @@ -6082,15 +6082,15 @@ _02004074: _02004080: .word 0x000BCD60 _02004084: .word 0x000BCD1C - thumb_func_start sub_02004088 -sub_02004088: ; 0x02004088 + thumb_func_start FUN_02004088 +FUN_02004088: ; 0x02004088 push {r3-r5, lr} ldr r1, _020040A0 ; =0x000BBC94 mov r4, #0x0 add r5, r0, r1 _02004090: add r0, r5, #0x0 - blx sub_020C0F80 + blx FUN_020C0F80 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x9 @@ -6099,119 +6099,119 @@ _02004090: .balign 4 _020040A0: .word 0x000BBC94 - thumb_func_start sub_020040A4 -sub_020040A4: ; 0x020040A4 + thumb_func_start FUN_020040A4 +FUN_020040A4: ; 0x020040A4 push {r4, lr} add r4, r0, #0x0 ldr r0, _020040C0 ; =0x000BCD1C add r0, r4, r0 - bl sub_02003F3C + bl FUN_02003F3C mov r0, #0x0 - bl sub_02003F78 + bl FUN_02003F78 ldr r0, _020040C4 ; =0x000BCD20 add r0, r4, r0 - bl sub_02003F3C + bl FUN_02003F3C pop {r4, pc} .balign 4 _020040C0: .word 0x000BCD1C _020040C4: .word 0x000BCD20 - thumb_func_start sub_020040C8 -sub_020040C8: ; 0x020040C8 + thumb_func_start FUN_020040C8 +FUN_020040C8: ; 0x020040C8 push {r3, lr} - blx sub_020D4A5C + blx FUN_020D4A5C mov r0, #0x1 - blx sub_020D5168 + blx FUN_020D5168 mov r0, #0x2 - blx sub_020D5150 + blx FUN_020D5150 pop {r3, pc} - thumb_func_start sub_020040DC -sub_020040DC: ; 0x020040DC + thumb_func_start FUN_020040DC +FUN_020040DC: ; 0x020040DC push {r3, lr} mov r0, #0x7 mov r1, #0x0 - blx sub_020C1040 + blx FUN_020C1040 mov r0, #0x7 - bl sub_02003FF4 - blx sub_020C0F68 + bl FUN_02003FF4 + blx FUN_020C0F68 pop {r3, pc} .balign 4 - thumb_func_start sub_020040F4 -sub_020040F4: ; 0x020040F4 + thumb_func_start FUN_020040F4 +FUN_020040F4: ; 0x020040F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x5 - bl sub_02003D38 + bl FUN_02003D38 strb r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02004104 -sub_02004104: ; 0x02004104 + thumb_func_start FUN_02004104 +FUN_02004104: ; 0x02004104 push {r3, lr} mov r0, #0x5 - bl sub_02003D38 + bl FUN_02003D38 ldrb r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02004110 -sub_02004110: ; 0x02004110 + thumb_func_start FUN_02004110 +FUN_02004110: ; 0x02004110 push {r4, lr} add r4, r0, #0x0 mov r0, #0x9 - bl sub_02003D38 + bl FUN_02003D38 strh r4, [r0, #0x0] mov r0, #0x0 - bl sub_02004130 + bl FUN_02004130 pop {r4, pc} - thumb_func_start sub_02004124 -sub_02004124: ; 0x02004124 + thumb_func_start FUN_02004124 +FUN_02004124: ; 0x02004124 push {r3, lr} mov r0, #0x9 - bl sub_02003D38 + bl FUN_02003D38 ldrh r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02004130 -sub_02004130: ; 0x02004130 + thumb_func_start FUN_02004130 +FUN_02004130: ; 0x02004130 push {r4, lr} add r4, r0, #0x0 mov r0, #0xa - bl sub_02003D38 + bl FUN_02003D38 strh r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02004140 -sub_02004140: ; 0x02004140 + thumb_func_start FUN_02004140 +FUN_02004140: ; 0x02004140 push {r3, lr} mov r0, #0xa - bl sub_02003D38 + bl FUN_02003D38 ldrh r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0200414C -sub_0200414C: ; 0x0200414C + thumb_func_start FUN_0200414C +FUN_0200414C: ; 0x0200414C push {r4, lr} add r4, r0, #0x0 mov r0, #0x1f - bl sub_02003D38 + bl FUN_02003D38 strh r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_0200415C -sub_0200415C: ; 0x0200415C + thumb_func_start FUN_0200415C +FUN_0200415C: ; 0x0200415C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x14 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x15 - bl sub_02003D38 + bl FUN_02003D38 cmp r5, #0x33 bhs _0200417A strb r5, [r4, #0x0] @@ -6223,8 +6223,8 @@ _0200417A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02004180 -sub_02004180: ; 0x02004180 + thumb_func_start FUN_02004180 +FUN_02004180: ; 0x02004180 push {r3, lr} cmp r0, #0x39 bgt _020041DE @@ -6320,7 +6320,7 @@ _0200420E: lsl r2, r5, #0x1 lsl r2, r2, #0x2 mov r0, #0x1 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _0200422C: @@ -6332,71 +6332,71 @@ _0200422C: .byte 0x5C, 0xE0, 0x0E, 0x20, 0xFF, 0xF7, 0x80, 0xFE, 0x01, 0x1C, 0x57, 0xE0 _0200427C: mov r0, #0x3 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _02004286: .byte 0x06, 0x20, 0xFF, 0xF7, 0x76, 0xFE, 0x01, 0x1C, 0x4D, 0xE0 _02004290: mov r0, #0x5 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _0200429A: mov r0, #0x9 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042A4: mov r0, #0xa - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042AE: ldr r0, _02004330 ; =0x000005E5 - bl sub_02003FDC + bl FUN_02003FDC ldr r0, _02004330 ; =0x000005E5 - bl sub_02003FC4 + bl FUN_02003FC4 add r1, r0, #0x0 b _0200432C _020042BE: mov r0, #0xc - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042C8: mov r0, #0x7 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042D2: mov r0, #0x8 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042DC: mov r0, #0xf - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042E6: mov r0, #0x3 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042F0: mov r0, #0x5 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _020042FA: mov r0, #0xf - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _02004304: mov r0, #0x4 - bl sub_02003F78 + bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _0200430E: @@ -6411,21 +6411,21 @@ _02004330: .word 0x000005E5 _02004334: .byte 0xED, 0x05, 0x00, 0x00, 0xEC, 0x05, 0x00, 0x00 - thumb_func_start sub_0200433C -sub_0200433C: ; 0x0200433C + thumb_func_start FUN_0200433C +FUN_0200433C: ; 0x0200433C push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 mov r0, #0x14 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0x0] mov r0, #0x15 - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0x4] mov r0, #0xd - bl sub_02003D38 + bl FUN_02003D38 add r7, r0, #0x0 cmp r4, #0x33 bhs _02004370 @@ -6446,7 +6446,7 @@ _02004370: pop {r3-r7, pc} _0200437E: add r0, r4, #0x0 - bl sub_0200415C + bl FUN_0200415C cmp r4, #0x39 bgt _020043DC bge _02004458 @@ -6532,10 +6532,10 @@ _02004400: lsl r2, r0, #0x1 lsl r2, r0, #0x1 mov r0, #0x0 - bl sub_0200516C + bl FUN_0200516C add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020044D4 + bl FUN_020044D4 mov r0, #0x0 strh r0, [r7, #0x0] b _020044A0 @@ -6545,7 +6545,7 @@ _02004430: .byte 0x31, 0x1C, 0x00, 0xF0, 0x37, 0xF9, 0x23, 0xE0 _02004458: add r0, r4, #0x0 - bl sub_020046E8 + bl FUN_020046E8 b _020044A0 _02004460: .byte 0x01, 0x20, 0x00, 0xF0, 0x83, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x4A, 0xF9 @@ -6558,97 +6558,97 @@ _020044A0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020044A8 -sub_020044A8: ; 0x020044A8 + thumb_func_start FUN_020044A8 +FUN_020044A8: ; 0x020044A8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 + bl FUN_02003D38 ldr r0, [r0, #0x0] - bl sub_02003F64 + bl FUN_02003F64 mov r0, #0x18 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C add r0, r4, #0x0 - bl sub_02004180 + bl FUN_02004180 mov r0, #0x19 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C pop {r4, pc} - thumb_func_start sub_020044D4 -sub_020044D4: ; 0x020044D4 + thumb_func_start FUN_020044D4 +FUN_020044D4: ; 0x020044D4 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0xb - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 + bl FUN_02003D38 mov r0, #0x1f - bl sub_02003D38 + bl FUN_02003D38 mov r0, #0x0 - bl sub_02003FF4 - bl sub_020048EC + bl FUN_02003FF4 + bl FUN_020048EC add r4, r0, #0x0 ldrb r0, [r6, #0x0] cmp r0, #0x0 bne _0200450E cmp r4, r5 bne _0200450E - bl sub_02004140 + bl FUN_02004140 mov r1, #0x12 lsl r1, r1, #0x6 cmp r0, r1 bne _02004566 _0200450E: mov r0, #0x1 - bl sub_02004DBC - bl sub_02005454 + bl FUN_02004DBC + bl FUN_02005454 cmp r4, r5 beq _02004528 mov r0, #0x1 mov r1, #0x0 - bl sub_020047C8 - bl sub_0200541C + bl FUN_020047C8 + bl FUN_0200541C _02004528: ldrb r0, [r6, #0x0] cmp r0, #0x1 bne _02004560 mov r0, #0x2 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 mov r0, #0x4 - bl sub_02004180 + bl FUN_02004180 mov r0, #0x19 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C cmp r4, r5 beq _02004554 mov r0, #0x1 mov r1, #0x0 - bl sub_020047C8 + bl FUN_020047C8 _02004554: lsl r1, r4, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_02004568 + bl FUN_02004568 pop {r4-r6, pc} _02004560: add r0, r5, #0x0 - bl sub_0200521C + bl FUN_0200521C _02004566: pop {r4-r6, pc} - thumb_func_start sub_02004568 -sub_02004568: ; 0x02004568 + thumb_func_start FUN_02004568 +FUN_02004568: ; 0x02004568 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1f - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_02004900 + bl FUN_02004900 ldr r1, _020045C0 ; =0x000003E9 cmp r0, r1 beq _02004594 @@ -6657,40 +6657,40 @@ sub_02004568: ; 0x02004568 beq _02004594 add r0, r5, #0x0 mov r1, #0x4 - bl sub_02003FA8 - bl sub_02020C2C + bl FUN_02003FA8 + bl FUN_02020C2C b _0200459C _02004594: ldrh r0, [r4, #0x0] mov r1, #0x6 - bl sub_02003FA8 + bl FUN_02003FA8 _0200459C: mov r0, #0x1a - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C mov r0, #0x1 mov r1, #0x0 - bl sub_020047C8 + bl FUN_020047C8 mov r0, #0x7f mov r1, #0x28 mov r2, #0x0 - bl sub_0200538C + bl FUN_0200538C mov r0, #0x0 - bl sub_02004DBC + bl FUN_02004DBC pop {r3-r5, pc} .balign 4 _020045C0: .word 0x000003E9 - thumb_func_start sub_020045C4 -sub_020045C4: ; 0x020045C4 + thumb_func_start FUN_020045C4 +FUN_020045C4: ; 0x020045C4 push {r3-r7, lr} add r7, r0, #0x0 mov r0, #0x12 add r5, r1, #0x0 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x1f - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 ldrb r0, [r6, #0x0] cmp r0, #0x1 @@ -6699,21 +6699,21 @@ sub_020045C4: ; 0x020045C4 bne _02004642 _020045E4: mov r0, #0x1 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 ldrh r0, [r4, #0x0] mov r1, #0x2 - bl sub_02003FA8 + bl FUN_02003FA8 mov r0, #0x18 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C mov r0, #0x4 - bl sub_02004180 + bl FUN_02004180 mov r0, #0x19 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C ldrh r0, [r4, #0x0] - bl sub_02004900 + bl FUN_02004900 ldr r1, _02004644 ; =0x000003E9 cmp r0, r1 beq _02004630 @@ -6722,147 +6722,147 @@ _020045E4: beq _02004630 add r0, r7, #0x0 mov r1, #0x4 - bl sub_02003FA8 - bl sub_02020C2C + bl FUN_02003FA8 + bl FUN_02020C2C b _02004638 _02004630: ldrh r0, [r4, #0x0] mov r1, #0x4 - bl sub_02003FA8 + bl FUN_02003FA8 _02004638: mov r0, #0x1a - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C _02004642: pop {r3-r7, pc} .balign 4 _02004644: .word 0x000003E9 - thumb_func_start sub_02004648 -sub_02004648: ; 0x02004648 + thumb_func_start FUN_02004648 +FUN_02004648: ; 0x02004648 push {r4, lr} add r4, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 - bl sub_020051AC + bl FUN_02003D38 + bl FUN_020051AC mov r0, #0x2 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 mov r0, #0x5 - bl sub_02004180 + bl FUN_02004180 mov r0, #0x19 - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C mov r0, #0x1 - bl sub_02004DBC + bl FUN_02004DBC add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r4, pc} .balign 4 - thumb_func_start sub_02004680 -sub_02004680: ; 0x02004680 + thumb_func_start FUN_02004680 +FUN_02004680: ; 0x02004680 push {r4, lr} add r4, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 - bl sub_0200541C - bl sub_02004810 + bl FUN_02003D38 + bl FUN_0200541C + bl FUN_02004810 mov r0, #0x4 - bl sub_020044A8 + bl FUN_020044A8 add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r4, pc} - thumb_func_start sub_020046A0 -sub_020046A0: ; 0x020046A0 + thumb_func_start FUN_020046A0 +FUN_020046A0: ; 0x020046A0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 - bl sub_0200541C + bl FUN_02003D38 + bl FUN_0200541C mov r0, #0x6 - bl sub_020044A8 + bl FUN_020044A8 mov r0, #0x1 - bl sub_02004DBC + bl FUN_02004DBC add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r4, pc} .balign 4 - thumb_func_start sub_020046C4 -sub_020046C4: ; 0x020046C4 + thumb_func_start FUN_020046C4 +FUN_020046C4: ; 0x020046C4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x17 - bl sub_02003D38 - bl sub_0200541C + bl FUN_02003D38 + bl FUN_0200541C mov r0, #0x7 - bl sub_020044A8 + bl FUN_020044A8 mov r0, #0x1 - bl sub_02004DBC + bl FUN_02004DBC add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r4, pc} .balign 4 - thumb_func_start sub_020046E8 -sub_020046E8: ; 0x020046E8 + thumb_func_start FUN_020046E8 +FUN_020046E8: ; 0x020046E8 push {r4, lr} add r4, r0, #0x0 - bl sub_02004738 + bl FUN_02004738 add r0, r4, #0x0 - bl sub_02004180 + bl FUN_02004180 mov r0, #0x1b - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C pop {r4, pc} .balign 4 - thumb_func_start sub_02004704 -sub_02004704: ; 0x02004704 + thumb_func_start FUN_02004704 +FUN_02004704: ; 0x02004704 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x17 add r4, r1, #0x0 - bl sub_02003D38 - bl sub_0200541C + bl FUN_02003D38 + bl FUN_0200541C add r0, r5, #0x0 - bl sub_020044A8 + bl FUN_020044A8 add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02004724 -sub_02004724: ; 0x02004724 + thumb_func_start FUN_02004724 +FUN_02004724: ; 0x02004724 push {r4, lr} add r4, r0, #0x0 - bl sub_02003D30 - bl sub_020051AC + bl FUN_02003D30 + bl FUN_020051AC add r0, r4, #0x0 - bl sub_0200521C + bl FUN_0200521C pop {r4, pc} - thumb_func_start sub_02004738 -sub_02004738: ; 0x02004738 + thumb_func_start FUN_02004738 +FUN_02004738: ; 0x02004738 push {r3, lr} mov r0, #0x4 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 pop {r3, pc} .balign 4 - thumb_func_start sub_02004748 -sub_02004748: ; 0x02004748 + thumb_func_start FUN_02004748 +FUN_02004748: ; 0x02004748 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 cmp r4, #0x7 blt _02004762 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1a - bl sub_02003D38 + bl FUN_02003D38 ldr r0, [r0, #0x0] pop {r3-r5, pc} _02004762: @@ -6882,7 +6882,7 @@ _02004762: lsl r6, r7, #0 lsl r0, r1, #0x1 mov r0, #0x16 - bl sub_02003D38 + bl FUN_02003D38 add r5, r0, #0x0 b _020047C4 _0200478A: @@ -6895,14 +6895,14 @@ _020047C4: ldr r0, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_020047C8 -sub_020047C8: ; 0x020047C8 + thumb_func_start FUN_020047C8 +FUN_020047C8: ; 0x020047C8 push {r4-r6, lr} add r5, r1, #0x0 cmp r0, #0x1 bne _020047DC mov r0, #0xb - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r4, #0x0 b _020047EA @@ -6910,53 +6910,53 @@ _020047DC: cmp r0, #0x7 bne _0200480E mov r0, #0xc - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r4, #0x7 _020047EA: cmp r5, #0x0 bne _02004800 add r0, r4, #0x0 - bl sub_02003FF4 - bl sub_020048EC + bl FUN_02003FF4 + bl FUN_020048EC lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02004110 + bl FUN_02004110 _02004800: add r0, r4, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C0F8C + blx FUN_020C0F8C strb r5, [r6, #0x0] _0200480E: pop {r4-r6, pc} - thumb_func_start sub_02004810 -sub_02004810: ; 0x02004810 + thumb_func_start FUN_02004810 +FUN_02004810: ; 0x02004810 push {r4, lr} mov r0, #0xb - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0xc - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x0 strb r1, [r4, #0x0] strb r1, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_02004828 -sub_02004828: ; 0x02004828 + thumb_func_start FUN_02004828 +FUN_02004828: ; 0x02004828 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020C0EF4 + blx FUN_020C0EF4 pop {r3-r5, pc} - thumb_func_start sub_0200483C -sub_0200483C: ; 0x0200483C + thumb_func_start FUN_0200483C +FUN_0200483C: ; 0x0200483C push {r4, lr} add r4, r1, #0x0 bpl _02004844 @@ -6966,17 +6966,17 @@ _02004844: ble _0200484A mov r4, #0x7f _0200484A: - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r4, #0x0 - blx sub_020C0F30 + blx FUN_020C0F30 pop {r4, pc} .balign 4 - thumb_func_start sub_02004858 -sub_02004858: ; 0x02004858 + thumb_func_start FUN_02004858 +FUN_02004858: ; 0x02004858 push {r3-r5, lr} add r5, r1, #0x0 - blx sub_020C23FC + blx FUN_020C23FC cmp r5, #0x1 beq _02004868 cmp r5, #0x8 @@ -6989,64 +6989,64 @@ _0200486C: beq _0200488A ldrb r4, [r0, #0x2] _02004872: - bl sub_020313EC + bl FUN_020313EC cmp r0, #0x1 bne _0200488A add r0, r4, #0x0 mov r1, #0x5 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0200483C + bl FUN_0200483C _0200488A: pop {r3-r5, pc} - thumb_func_start sub_0200488C -sub_0200488C: ; 0x0200488C + thumb_func_start FUN_0200488C +FUN_0200488C: ; 0x0200488C push {r4, lr} add r4, r1, #0x0 - bl sub_020048D0 - bl sub_02004018 + bl FUN_020048D0 + bl FUN_02004018 add r1, r4, #0x0 - bl sub_0200483C + bl FUN_0200483C pop {r4, pc} - thumb_func_start sub_020048A0 -sub_020048A0: ; 0x020048A0 + thumb_func_start FUN_020048A0 +FUN_020048A0: ; 0x020048A0 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 mov r2, #0x0 mvn r2, r2 add r1, r5, #0x0 add r3, r2, #0x0 str r4, [sp, #0x0] - blx sub_020C3910 + blx FUN_020C3910 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020048BC -sub_020048BC: ; 0x020048BC + thumb_func_start FUN_020048BC +FUN_020048BC: ; 0x020048BC push {r4, lr} add r4, r0, #0x0 bpl _020048C6 - bl sub_02020C2C + bl FUN_02020C2C _020048C6: add r0, r4, #0x0 - blx sub_020C0F50 + blx FUN_020C0F50 pop {r4, pc} .balign 4 - thumb_func_start sub_020048D0 -sub_020048D0: ; 0x020048D0 + thumb_func_start FUN_020048D0 +FUN_020048D0: ; 0x020048D0 push {r3, lr} cmp r0, #0x0 bne _020048DA mov r0, #0xff pop {r3, pc} _020048DA: - blx sub_020C23FC + blx FUN_020C23FC cmp r0, #0x0 bne _020048E6 mov r0, #0xff @@ -7056,24 +7056,24 @@ _020048E6: pop {r3, pc} .balign 4 - thumb_func_start sub_020048EC -sub_020048EC: ; 0x020048EC - ldr r3, _020048F0 ; =sub_020C0E14 + thumb_func_start FUN_020048EC +FUN_020048EC: ; 0x020048EC + ldr r3, _020048F0 ; =FUN_020C0E14 bx r3 .balign 4 -_020048F0: .word sub_020C0E14 +_020048F0: .word FUN_020C0E14 - thumb_func_start sub_020048F4 -sub_020048F4: ; 0x020048F4 + thumb_func_start FUN_020048F4 +FUN_020048F4: ; 0x020048F4 push {r3, lr} - bl sub_02004900 - blx sub_020C22D0 + bl FUN_02004900 + blx FUN_020C22D0 pop {r3, pc} - thumb_func_start sub_02004900 -sub_02004900: ; 0x02004900 + thumb_func_start FUN_02004900 +FUN_02004900: ; 0x02004900 push {r3, lr} - blx sub_020C23FC + blx FUN_020C23FC cmp r0, #0x0 bne _0200490E mov r0, #0x0 @@ -7083,83 +7083,83 @@ _0200490E: pop {r3, pc} .balign 4 - thumb_func_start sub_02004914 -sub_02004914: ; 0x02004914 - ldr r3, _02004918 ; =sub_020D47CC + thumb_func_start FUN_02004914 +FUN_02004914: ; 0x02004914 + ldr r3, _02004918 ; =FUN_020D47CC bx r3 .balign 4 -_02004918: .word sub_020D47CC +_02004918: .word FUN_020D47CC - thumb_func_start sub_0200491C -sub_0200491C: ; 0x0200491C + thumb_func_start FUN_0200491C +FUN_0200491C: ; 0x0200491C push {r3, lr} - bl sub_02003D30 - blx sub_020D4718 + bl FUN_02003D30 + blx FUN_020D4718 pop {r3, pc} - thumb_func_start sub_02004928 -sub_02004928: ; 0x02004928 + thumb_func_start FUN_02004928 +FUN_02004928: ; 0x02004928 push {r3, lr} - blx sub_020D4980 + blx FUN_020D4980 pop {r3, pc} - thumb_func_start sub_02004930 -sub_02004930: ; 0x02004930 + thumb_func_start FUN_02004930 +FUN_02004930: ; 0x02004930 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 cmp r5, #0xe beq _02004954 cmp r5, #0xf beq _02004954 - bl sub_02020C2C + bl FUN_02020C2C _02004954: cmp r5, #0xe bne _02004962 ldrb r0, [r6, #0x0] cmp r0, #0x0 bne _02004962 - bl sub_02020C2C + bl FUN_02020C2C _02004962: cmp r5, #0xf bne _02004970 ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _02004970 - bl sub_02020C2C + bl FUN_02020C2C _02004970: cmp r5, #0xe bne _0200497C mov r0, #0x0 - bl sub_02003D38 + bl FUN_02003D38 pop {r4-r6, pc} _0200497C: mov r0, #0x1 - bl sub_02003D38 + bl FUN_02003D38 pop {r4-r6, pc} - thumb_func_start sub_02004984 -sub_02004984: ; 0x02004984 + thumb_func_start FUN_02004984 +FUN_02004984: ; 0x02004984 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 cmp r5, #0xe beq _020049A8 cmp r5, #0xf beq _020049A8 - bl sub_02020C2C + bl FUN_02020C2C _020049A8: cmp r5, #0xe bne _020049D6 @@ -7167,10 +7167,10 @@ _020049A8: cmp r0, #0x0 bne _020049D0 mov r0, #0x0 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 add r0, r5, #0x0 - blx sub_020C0688 + blx FUN_020C0688 str r0, [r4, #0x0] cmp r0, #0x0 bne _020049CA @@ -7181,17 +7181,17 @@ _020049CA: strb r0, [r6, #0x0] b _020049FE _020049D0: - bl sub_02020C2C + bl FUN_02020C2C b _020049FE _020049D6: ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _020049FA mov r0, #0x1 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 add r0, r5, #0x0 - blx sub_020C0688 + blx FUN_020C0688 str r0, [r6, #0x0] cmp r0, #0x0 bne _020049F4 @@ -7202,28 +7202,28 @@ _020049F4: strb r0, [r4, #0x0] b _020049FE _020049FA: - bl sub_02020C2C + bl FUN_02020C2C _020049FE: mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02004A04 -sub_02004A04: ; 0x02004A04 + thumb_func_start FUN_02004A04 +FUN_02004A04: ; 0x02004A04 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 cmp r5, #0xe beq _02004A2A cmp r5, #0xf beq _02004A2A - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _02004A2A: cmp r5, #0xe @@ -7232,33 +7232,33 @@ _02004A2A: cmp r0, #0x1 bne _02004A46 add r0, r5, #0x0 - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] - blx sub_020C0670 + blx FUN_020C0670 mov r0, #0x0 strb r0, [r6, #0x0] pop {r4-r6, pc} _02004A46: - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _02004A4C: ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _02004A64 add r0, r5, #0x0 - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] - blx sub_020C0670 + blx FUN_020C0670 mov r0, #0x0 strb r0, [r4, #0x0] pop {r4-r6, pc} _02004A64: - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02004A6C -sub_02004A6C: ; 0x02004A6C + thumb_func_start FUN_02004A6C +FUN_02004A6C: ; 0x02004A6C push {r3-r5, lr} sub sp, #0x18 add r3, r0, #0x0 @@ -7280,109 +7280,109 @@ sub_02004A6C: ; 0x02004A6C ldr r2, [r3, #0x8] ldr r0, [r0, #0x0] ldr r3, [r3, #0xc] - blx sub_020C054C + blx FUN_020C054C add r5, r0, #0x0 bne _02004AA4 add r0, r4, #0x0 - bl sub_02004A04 + bl FUN_02004A04 _02004AA4: add r0, r5, #0x0 add sp, #0x18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02004AAC -sub_02004AAC: ; 0x02004AAC + thumb_func_start FUN_02004AAC +FUN_02004AAC: ; 0x02004AAC push {r3, lr} - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] - blx sub_020C0510 + blx FUN_020C0510 pop {r3, pc} .balign 4 - thumb_func_start sub_02004ABC -sub_02004ABC: ; 0x02004ABC + thumb_func_start FUN_02004ABC +FUN_02004ABC: ; 0x02004ABC push {r3, lr} - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] - blx sub_020C03B8 + blx FUN_020C03B8 pop {r3, pc} .balign 4 - thumb_func_start sub_02004ACC -sub_02004ACC: ; 0x02004ACC + thumb_func_start FUN_02004ACC +FUN_02004ACC: ; 0x02004ACC push {r4, lr} add r4, r1, #0x0 cmp r4, #0x7f bls _02004AD6 mov r4, #0x7f _02004AD6: - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] add r1, r4, #0x0 - blx sub_020C041C + blx FUN_020C041C pop {r4, pc} - thumb_func_start sub_02004AE4 -sub_02004AE4: ; 0x02004AE4 + thumb_func_start FUN_02004AE4 +FUN_02004AE4: ; 0x02004AE4 push {r4, lr} add r4, r1, #0x0 - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] add r1, r4, #0x0 - blx sub_020C044C + blx FUN_020C044C pop {r4, pc} .balign 4 - thumb_func_start sub_02004AF8 -sub_02004AF8: ; 0x02004AF8 + thumb_func_start FUN_02004AF8 +FUN_02004AF8: ; 0x02004AF8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_020313EC + bl FUN_020313EC cmp r0, #0x1 bne _02004B20 add r0, r4, #0x0 - bl sub_02004930 + bl FUN_02004930 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - blx sub_020C04DC + blx FUN_020C04DC pop {r3-r5, pc} _02004B20: add r0, r4, #0x0 - bl sub_02004930 + bl FUN_02004930 ldr r0, [r0, #0x0] add r1, r5, #0x0 - blx sub_020C04DC + blx FUN_020C04DC pop {r3-r5, pc} - thumb_func_start sub_02004B30 -sub_02004B30: ; 0x02004B30 + thumb_func_start FUN_02004B30 +FUN_02004B30: ; 0x02004B30 push {r3-r7, lr} sub sp, #0x30 add r6, r0, #0x0 str r1, [sp, #0x0] str r2, [sp, #0x4] add r5, r3, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0x21 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 cmp r5, #0xe beq _02004B54 cmp r5, #0xf beq _02004B54 - bl sub_02020C2C + bl FUN_02020C2C _02004B54: add r0, r6, #0x0 - blx sub_020C226C + blx FUN_020C226C add r7, r0, #0x0 bne _02004B68 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x30 mov r0, #0x0 pop {r3-r7, pc} @@ -7390,10 +7390,10 @@ _02004B68: ldr r0, [r7, #0x0] lsl r0, r0, #0x8 lsr r0, r0, #0x8 - blx sub_020C217C + blx FUN_020C217C add r6, r0, #0x0 bne _02004B80 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x30 mov r0, #0x0 pop {r3-r7, pc} @@ -7402,40 +7402,40 @@ _02004B80: bne _02004BCE ldr r0, [sp, #0x48] add r1, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] cmp r0, #0x0 bne _02004B9C - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x30 mov r0, #0x0 pop {r3-r7, pc} _02004B9C: mov r1, #0x0 add r2, r6, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r7, #0x0] ldr r1, [r4, #0x0] lsl r0, r0, #0x8 lsr r0, r0, #0x8 add r2, r6, #0x0 mov r3, #0x0 - blx sub_020C2104 + blx FUN_020C2104 mov r1, #0x0 mvn r1, r1 cmp r0, r1 bne _02004BC6 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x30 mov r0, #0x0 pop {r3-r7, pc} _02004BC6: ldr r0, [r4, #0x0] add r1, r6, #0x0 - bl sub_02004C1C + bl FUN_02004C1C _02004BCE: add r0, r5, #0x0 - bl sub_02004930 + bl FUN_02004930 mov r1, #0x0 str r1, [sp, #0xc] str r0, [sp, #0x8] @@ -7455,13 +7455,13 @@ _02004BCE: str r0, [sp, #0x2c] add r0, sp, #0x8 str r6, [sp, #0x1c] - bl sub_02004A6C + bl FUN_02004A6C add r4, r0, #0x0 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02004AF8 + bl FUN_02004AF8 mov r0, #0xe - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x1 strb r1, [r0, #0x0] add r0, r4, #0x0 @@ -7470,8 +7470,8 @@ _02004BCE: .balign 4 _02004C18: .word 0x00003443 - thumb_func_start sub_02004C1C -sub_02004C1C: ; 0x02004C1C + thumb_func_start FUN_02004C1C +FUN_02004C1C: ; 0x02004C1C push {r3-r6} mov r5, #0x0 lsr r6, r1, #0x1 @@ -7491,91 +7491,91 @@ _02004C36: bx lr .balign 4 - thumb_func_start sub_02004C3C -sub_02004C3C: ; 0x02004C3C + thumb_func_start FUN_02004C3C +FUN_02004C3C: ; 0x02004C3C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0xe - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x21 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 cmp r5, #0xe beq _02004C60 cmp r5, #0xf beq _02004C60 - bl sub_02020C2C + bl FUN_02020C2C _02004C60: add r0, r5, #0x0 - bl sub_02004AAC + bl FUN_02004AAC ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _02004C76 mov r0, #0x0 strb r0, [r4, #0x0] ldr r0, [r6, #0x0] - bl sub_02016A18 + bl FUN_02016A18 _02004C76: pop {r4-r6, pc} - thumb_func_start sub_02004C78 -sub_02004C78: ; 0x02004C78 - ldr r3, _02004C7C ; =sub_020C1E58 + thumb_func_start FUN_02004C78 +FUN_02004C78: ; 0x02004C78 + ldr r3, _02004C7C ; =FUN_020C1E58 bx r3 .balign 4 -_02004C7C: .word sub_020C1E58 +_02004C7C: .word FUN_020C1E58 - thumb_func_start sub_02004C80 -sub_02004C80: ; 0x02004C80 + thumb_func_start FUN_02004C80 +FUN_02004C80: ; 0x02004C80 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0x3 - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x1 mov r3, #0xfa lsl r1, r1, #0xc mov r2, #0x0 lsl r3, r3, #0x6 str r4, [sp, #0x0] - blx sub_020C1FF0 + blx FUN_020C1FF0 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02004CA4 -sub_02004CA4: ; 0x02004CA4 - ldr r3, _02004CA8 ; =sub_020C1F54 + thumb_func_start FUN_02004CA4 +FUN_02004CA4: ; 0x02004CA4 + ldr r3, _02004CA8 ; =FUN_020C1F54 bx r3 .balign 4 -_02004CA8: .word sub_020C1F54 +_02004CA8: .word FUN_020C1F54 - thumb_func_start sub_02004CAC -sub_02004CAC: ; 0x02004CAC - ldr r3, _02004CB0 ; =sub_020C1FA4 + thumb_func_start FUN_02004CAC +FUN_02004CAC: ; 0x02004CAC + ldr r3, _02004CB0 ; =FUN_020C1FA4 bx r3 .balign 4 -_02004CB0: .word sub_020C1FA4 +_02004CB0: .word FUN_020C1FA4 - thumb_func_start sub_02004CB4 -sub_02004CB4: ; 0x02004CB4 + thumb_func_start FUN_02004CB4 +FUN_02004CB4: ; 0x02004CB4 push {r3-r4, lr} sub sp, #0xc - bl sub_02003D30 + bl FUN_02003D30 mov r0, #0x4 - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x0 mov r2, #0x1c - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x3 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x4 - bl sub_02003D38 + bl FUN_02003D38 mov r2, #0x2 - ldr r1, _02004CF4 ; =sub_02005068 + ldr r1, _02004CF4 ; =FUN_02005068 str r2, [sp, #0x0] str r1, [sp, #0x4] str r0, [sp, #0x8] @@ -7583,26 +7583,26 @@ sub_02004CB4: ; 0x02004CB4 ldr r3, _02004CF8 ; =0x000055F0 add r0, r4, #0x0 mov r2, #0x0 - blx sub_020C1EA4 + blx FUN_020C1EA4 add sp, #0xc pop {r3-r4, pc} nop -_02004CF4: .word sub_02005068 + 1 +_02004CF4: .word FUN_02005068 + 1 _02004CF8: .word 0x000055F0 - thumb_func_start sub_02004CFC -sub_02004CFC: ; 0x02004CFC - ldr r3, _02004D00 ; =sub_020C1E68 + thumb_func_start FUN_02004CFC +FUN_02004CFC: ; 0x02004CFC + ldr r3, _02004D00 ; =FUN_020C1E68 bx r3 .balign 4 -_02004D00: .word sub_020C1E68 +_02004D00: .word FUN_020C1E68 - thumb_func_start sub_02004D04 -sub_02004D04: ; 0x02004D04 + thumb_func_start FUN_02004D04 +FUN_02004D04: ; 0x02004D04 push {r4, lr} add r4, r0, #0x0 mov r0, #0x13 - bl sub_02003D38 + bl FUN_02003D38 cmp r4, #0x8 ble _02004D16 mov r4, #0x8 @@ -7615,76 +7615,76 @@ _02004D1C: strb r4, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_02004D20 -sub_02004D20: ; 0x02004D20 + thumb_func_start FUN_02004D20 +FUN_02004D20: ; 0x02004D20 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020C0EA4 + blx FUN_020C0EA4 pop {r3-r5, pc} - thumb_func_start sub_02004D34 -sub_02004D34: ; 0x02004D34 + thumb_func_start FUN_02004D34 +FUN_02004D34: ; 0x02004D34 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_020048D0 - bl sub_02004018 + bl FUN_020048D0 + bl FUN_02004018 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02004D20 + bl FUN_02004D20 pop {r3-r5, pc} - thumb_func_start sub_02004D4C -sub_02004D4C: ; 0x02004D4C + thumb_func_start FUN_02004D4C +FUN_02004D4C: ; 0x02004D4C push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020C0E7C + blx FUN_020C0E7C pop {r3-r5, pc} - thumb_func_start sub_02004D60 -sub_02004D60: ; 0x02004D60 + thumb_func_start FUN_02004D60 +FUN_02004D60: ; 0x02004D60 push {r4, lr} add r4, r0, #0x0 - blx sub_020C0174 + blx FUN_020C0174 ldr r0, _02004D70 ; =0x021C3DD8 str r4, [r0, #0x0] pop {r4, pc} nop _02004D70: .word 0x021C3DD8 - thumb_func_start sub_02004D74 -sub_02004D74: ; 0x02004D74 + thumb_func_start FUN_02004D74 +FUN_02004D74: ; 0x02004D74 push {r4, lr} add r4, r0, #0x0 mov r0, #0x6 - bl sub_02003D38 + bl FUN_02003D38 str r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02004D84 -sub_02004D84: ; 0x02004D84 + thumb_func_start FUN_02004D84 +FUN_02004D84: ; 0x02004D84 push {r4, lr} add r4, r0, #0x0 mov r0, #0x7 - bl sub_02003D38 + bl FUN_02003D38 str r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02004D94 -sub_02004D94: ; 0x02004D94 + thumb_func_start FUN_02004D94 +FUN_02004D94: ; 0x02004D94 push {r3, lr} mov r0, #0x7 - bl sub_02003D38 + bl FUN_02003D38 ldrh r1, [r0, #0x0] cmp r1, #0x0 bne _02004DAA @@ -7699,25 +7699,25 @@ _02004DAA: pop {r3, pc} .balign 4 - thumb_func_start sub_02004DB4 -sub_02004DB4: ; 0x02004DB4 + thumb_func_start FUN_02004DB4 +FUN_02004DB4: ; 0x02004DB4 ldr r0, _02004DB8 ; =0x021C3DE0 bx lr .balign 4 _02004DB8: .word 0x021C3DE0 - thumb_func_start sub_02004DBC -sub_02004DBC: ; 0x02004DBC + thumb_func_start FUN_02004DBC +FUN_02004DBC: ; 0x02004DBC push {r4, lr} add r4, r0, #0x0 mov r0, #0x12 - bl sub_02003D38 + bl FUN_02003D38 strb r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02004DCC -sub_02004DCC: ; 0x02004DCC + thumb_func_start FUN_02004DCC +FUN_02004DCC: ; 0x02004DCC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -7725,7 +7725,7 @@ sub_02004DCC: ; 0x02004DCC add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x8] - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 add r0, sp, #0x10 ldrb r0, [r0, #0x10] @@ -7736,18 +7736,18 @@ sub_02004DCC: ; 0x02004DCC add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02004E44 + bl FUN_02004E44 mov r0, #0x0 strb r0, [r4, #0x0] mov r0, #0x5 - bl sub_02003CE8 + bl FUN_02003CE8 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02004E08 -sub_02004E08: ; 0x02004E08 + thumb_func_start FUN_02004E08 +FUN_02004E08: ; 0x02004E08 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -7755,7 +7755,7 @@ sub_02004E08: ; 0x02004E08 add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x8] - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 add r0, sp, #0x10 ldrb r0, [r0, #0x14] @@ -7766,44 +7766,44 @@ sub_02004E08: ; 0x02004E08 add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02004E44 + bl FUN_02004E44 ldr r0, [sp, #0x20] str r0, [r4, #0x0] mov r0, #0x6 - bl sub_02003CE8 + bl FUN_02003CE8 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02004E44 -sub_02004E44: ; 0x02004E44 + thumb_func_start FUN_02004E44 +FUN_02004E44: ; 0x02004E44 push {r3-r7, lr} add r6, r2, #0x0 mov r0, #0x2 add r5, r1, #0x0 add r7, r3, #0x0 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x0 add r1, r6, #0x0 - bl sub_020053CC + bl FUN_020053CC mov r0, #0x0 - bl sub_02004110 + bl FUN_02004110 add r0, r5, #0x0 - bl sub_02004130 + bl FUN_02004130 add r0, r7, #0x0 - bl sub_02004D84 + bl FUN_02004D84 add r0, r5, #0x0 - bl sub_020048F4 + bl FUN_020048F4 str r0, [r4, #0x0] add r0, sp, #0x8 ldrb r0, [r0, #0x10] - bl sub_02004DBC + bl FUN_02004DBC pop {r3-r7, pc} - thumb_func_start sub_02004E80 -sub_02004E80: ; 0x02004E80 + thumb_func_start FUN_02004E80 +FUN_02004E80: ; 0x02004E80 cmp r0, #0x0 bne _02004E88 mov r0, #0x0 @@ -7812,8 +7812,8 @@ _02004E88: add r0, #0xc bx lr - thumb_func_start sub_02004E8C -sub_02004E8C: ; 0x02004E8C + thumb_func_start FUN_02004E8C +FUN_02004E8C: ; 0x02004E8C cmp r0, #0x0 bne _02004E94 mov r0, #0x0 @@ -7822,13 +7822,13 @@ _02004E94: ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_02004E98 -sub_02004E98: ; 0x02004E98 + thumb_func_start FUN_02004E98 +FUN_02004E98: ; 0x02004E98 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x5 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 lsl r0, r5, #0x10 lsr r4, r0, #0x10 ldr r0, _02004ECC ; =0x000001B9 @@ -7843,19 +7843,19 @@ _02004EBA: mov r4, #0x1 _02004EBC: add r0, r4, #0x0 - bl sub_02003FC4 + bl FUN_02003FC4 add r0, r4, #0x0 - bl sub_02004ED0 + bl FUN_02004ED0 pop {r3-r5, pc} nop _02004ECC: .word 0x000001B9 - thumb_func_start sub_02004ED0 -sub_02004ED0: ; 0x02004ED0 + thumb_func_start FUN_02004ED0 +FUN_02004ED0: ; 0x02004ED0 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x20 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 lsl r0, r5, #0x10 ldr r1, _02004F24 ; =0x000001B9 @@ -7870,47 +7870,47 @@ sub_02004ED0: ; 0x02004ED0 _02004EF0: mov r0, #0x1 _02004EF2: - blx sub_020C226C + blx FUN_020C226C cmp r0, #0x0 bne _02004F02 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _02004F02: ldr r0, [r0, #0x0] lsl r0, r0, #0x8 lsr r0, r0, #0x8 - blx sub_020C20DC + blx FUN_020C20DC cmp r0, #0x0 bne _02004F18 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _02004F18: mov r1, #0x0 - blx sub_020CF768 + blx FUN_020CF768 str r0, [r4, #0x0] pop {r3-r5, pc} nop _02004F24: .word 0x000001B9 - thumb_func_start sub_02004F28 -sub_02004F28: ; 0x02004F28 + thumb_func_start FUN_02004F28 +FUN_02004F28: ; 0x02004F28 push {r4-r6, lr} mov r0, #0x1 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_02004F64 + bl FUN_02004F64 mov r1, #0x3 add r4, r0, #0x0 add r0, r6, #0x0 lsl r1, r1, #0x8 ldr r5, [r5, #0x8] - blx sub_020EBC80 + blx FUN_020EBC80 lsl r1, r0, #0x1 bpl _02004F50 mov r0, #0x20 - blx sub_020EBC80 + blx FUN_020EBC80 neg r0, r0 b _02004F5A _02004F50: @@ -7928,15 +7928,15 @@ _02004F5A: _02004F62: pop {r4-r6, pc} - thumb_func_start sub_02004F64 -sub_02004F64: ; 0x02004F64 + thumb_func_start FUN_02004F64 +FUN_02004F64: ; 0x02004F64 push {r3, lr} - bl sub_02003FF4 - blx sub_020C0DD4 + bl FUN_02003FF4 + blx FUN_020C0DD4 pop {r3, pc} - thumb_func_start sub_02004F70 -sub_02004F70: ; 0x02004F70 + thumb_func_start FUN_02004F70 +FUN_02004F70: ; 0x02004F70 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -7945,7 +7945,7 @@ sub_02004F70: ; 0x02004F70 ldr r1, [sp, #0x0] mov r0, #0x1 add r2, r3, #0x0 - bl sub_02004F28 + bl FUN_02004F28 add r1, r0, #0x0 mov r12, r0 sub r1, #0x64 @@ -8084,8 +8084,8 @@ _02005060: .balign 4 _02005064: .word 0x020ECB8C - thumb_func_start sub_02005068 -sub_02005068: ; 0x02005068 + thumb_func_start FUN_02005068 +FUN_02005068: ; 0x02005068 push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 @@ -8095,7 +8095,7 @@ sub_02005068: ; 0x02005068 mov r0, #0x13 str r2, [sp, #0x0] add r4, r3, #0x0 - bl sub_02003D38 + bl FUN_02003D38 add r7, r0, #0x0 cmp r4, #0x1 beq _0200508A @@ -8155,7 +8155,7 @@ _020050D8: blt _020050D8 _020050E6: add r1, r2, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [sp, #0x8] strh r0, [r1, #0x0] mov r0, #0x0 @@ -8172,7 +8172,7 @@ _020050FA: cmp r2, r1 blt _020050FA _02005108: - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [sp, #0x4] sub r4, r4, #0x1 strh r0, [r1, #0x0] @@ -8209,120 +8209,120 @@ _02005130: _0200514A: ldr r1, [sp, #0x0] add r0, r5, #0x0 - blx sub_020CC15C + blx FUN_020CC15C ldr r1, [sp, #0x0] add r0, r6, #0x0 - blx sub_020CC15C + blx FUN_020CC15C _0200515A: add sp, #0x30 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02005160 -sub_02005160: ; 0x02005160 - ldr r3, _02005168 ; =sub_020C1148 + thumb_func_start FUN_02005160 +FUN_02005160: ; 0x02005160 + ldr r3, _02005168 ; =FUN_020C1148 add r1, r0, #0x0 mov r0, #0x7 bx r3 .balign 4 -_02005168: .word sub_020C1148 +_02005168: .word FUN_020C1148 - thumb_func_start sub_0200516C -sub_0200516C: ; 0x0200516C + thumb_func_start FUN_0200516C +FUN_0200516C: ; 0x0200516C push {r3, lr} cmp r0, #0x0 bne _02005180 ldr r0, _020051A4 ; =0x000007FF - bl sub_02005160 + bl FUN_02005160 mov r0, #0x0 - bl sub_02004CA4 + bl FUN_02004CA4 b _0200519C _02005180: cmp r0, #0x1 ldr r0, _020051A8 ; =0x00007FFF bne _02005192 - bl sub_02005160 + bl FUN_02005160 mov r0, #0x1e - bl sub_02004C80 + bl FUN_02004C80 b _0200519C _02005192: - bl sub_02005160 + bl FUN_02005160 mov r0, #0xf - bl sub_02004C80 + bl FUN_02004C80 _0200519C: - bl sub_02004C78 + bl FUN_02004C78 pop {r3, pc} nop _020051A4: .word 0x000007FF _020051A8: .word 0x00007FFF - thumb_func_start sub_020051AC -sub_020051AC: ; 0x020051AC + thumb_func_start FUN_020051AC +FUN_020051AC: ; 0x020051AC push {r3, lr} - bl sub_02005404 + bl FUN_02005404 cmp r0, #0x0 bne _020051E0 mov r0, #0x0 - bl sub_02003FF4 - bl sub_020048EC + bl FUN_02003FF4 + bl FUN_020048EC mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _020051E0 - bl sub_02004124 + bl FUN_02004124 ldr r1, _020051E8 ; =0x0000047E cmp r0, r1 beq _020051E0 - bl sub_02005454 + bl FUN_02005454 mov r0, #0x1 add r1, r0, #0x0 - bl sub_020047C8 + bl FUN_020047C8 pop {r3, pc} _020051E0: - bl sub_0200541C + bl FUN_0200541C pop {r3, pc} nop _020051E8: .word 0x0000047E - thumb_func_start sub_020051EC -sub_020051EC: ; 0x020051EC - ldr r3, _020051F0 ; =sub_020C1180 + thumb_func_start FUN_020051EC +FUN_020051EC: ; 0x020051EC + ldr r3, _020051F0 ; =FUN_020C1180 bx r3 .balign 4 -_020051F0: .word sub_020C1180 +_020051F0: .word FUN_020C1180 - thumb_func_start sub_020051F4 -sub_020051F4: ; 0x020051F4 + thumb_func_start FUN_020051F4 +FUN_020051F4: ; 0x020051F4 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020048D0 - bl sub_02004018 + bl FUN_020048D0 + bl FUN_02004018 add r4, r0, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C3980 + blx FUN_020C3980 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200526C + bl FUN_0200526C add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200521C -sub_0200521C: ; 0x0200521C + thumb_func_start FUN_0200521C +FUN_0200521C: ; 0x0200521C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020048D0 + bl FUN_020048D0 add r4, r0, #0x0 - bl sub_02004018 + bl FUN_02004018 add r6, r0, #0x0 cmp r4, #0x7 bne _0200523E add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02005288 + bl FUN_02005288 add r4, r0, #0x0 b _02005258 _0200523E: @@ -8331,353 +8331,353 @@ _0200523E: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020052B8 + bl FUN_020052B8 add r4, r0, #0x0 b _02005258 _02005250: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4-r6, pc} _02005258: mov r0, #0x0 - bl sub_02004DBC + bl FUN_02004DBC add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0200526C + bl FUN_0200526C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200526C -sub_0200526C: ; 0x0200526C + thumb_func_start FUN_0200526C +FUN_0200526C: ; 0x0200526C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02004110 + bl FUN_02004110 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02004858 + bl FUN_02004858 mov r0, #0x1 - bl sub_02003CE8 + bl FUN_02003CE8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02005288 -sub_02005288: ; 0x02005288 + thumb_func_start FUN_02005288 +FUN_02005288: ; 0x02005288 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x3 add r4, r2, #0x0 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 add r0, r5, #0x0 - bl sub_02003F90 + bl FUN_02003F90 mov r0, #0x1a - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C add r0, r4, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C3980 + blx FUN_020C3980 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020052B8 -sub_020052B8: ; 0x020052B8 + thumb_func_start FUN_020052B8 +FUN_020052B8: ; 0x020052B8 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r0, #0x12 add r6, r2, #0x0 - bl sub_02003D38 + bl FUN_02003D38 mov r0, #0x1f - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x0 - bl sub_02003FF4 - bl sub_020048EC - bl sub_02004900 + bl FUN_02003FF4 + bl FUN_020048EC + bl FUN_02004900 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_020045C4 + bl FUN_020045C4 add r0, r6, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r6, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_02004900 + bl FUN_02004900 mov r1, #0x0 mvn r1, r1 add r2, r0, #0x0 add r0, r6, #0x0 add r3, r1, #0x0 str r5, [sp, #0x0] - blx sub_020C3910 + blx FUN_020C3910 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02005308 -sub_02005308: ; 0x02005308 + thumb_func_start FUN_02005308 +FUN_02005308: ; 0x02005308 push {r3-r5, lr} add r5, r1, #0x0 cmp r0, #0x4 beq _02005318 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _02005318: add r0, r5, #0x0 - bl sub_020048D0 + bl FUN_020048D0 cmp r0, #0x7 beq _0200532A - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0200532A: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02003FA8 + bl FUN_02003FA8 mov r0, #0x7 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C3980 + blx FUN_020C3980 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02004110 + bl FUN_02004110 mov r0, #0x1 - bl sub_02003CE8 + bl FUN_02003CE8 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02005350 -sub_02005350: ; 0x02005350 + thumb_func_start FUN_02005350 +FUN_02005350: ; 0x02005350 push {r4, lr} add r4, r0, #0x0 - blx sub_020C0FDC + blx FUN_020C0FDC add r0, r4, #0x0 - bl sub_020048D0 + bl FUN_020048D0 cmp r0, #0xff beq _0200536E - bl sub_02004018 - bl sub_02003FF4 - blx sub_020C0F68 + bl FUN_02004018 + bl FUN_02003FF4 + blx FUN_020C0F68 _0200536E: - bl sub_02005374 + bl FUN_02005374 pop {r4, pc} - thumb_func_start sub_02005374 -sub_02005374: ; 0x02005374 + thumb_func_start FUN_02005374 +FUN_02005374: ; 0x02005374 push {r3, lr} mov r0, #0x0 - bl sub_02004110 + bl FUN_02004110 mov r0, #0x0 - bl sub_02004130 + bl FUN_02004130 mov r0, #0x0 - bl sub_02003CE8 + bl FUN_02003CE8 pop {r3, pc} .balign 4 - thumb_func_start sub_0200538C -sub_0200538C: ; 0x0200538C + thumb_func_start FUN_0200538C +FUN_0200538C: ; 0x0200538C push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02004124 - bl sub_020048D0 + bl FUN_02004124 + bl FUN_020048D0 cmp r0, #0xff beq _020053C8 - bl sub_02004018 + bl FUN_02004018 add r7, r0, #0x0 cmp r4, #0x0 bne _020053B2 mov r1, #0x0 add r2, r1, #0x0 - bl sub_02004828 + bl FUN_02004828 _020053B2: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02004828 + bl FUN_02004828 add r0, r5, #0x0 - bl sub_02004D74 + bl FUN_02004D74 mov r0, #0x3 - bl sub_02003CE8 + bl FUN_02003CE8 _020053C8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020053CC -sub_020053CC: ; 0x020053CC + thumb_func_start FUN_020053CC +FUN_020053CC: ; 0x020053CC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02004124 - bl sub_020048D0 + bl FUN_02004124 + bl FUN_020048D0 add r6, r0, #0x0 cmp r6, #0xff beq _02005402 - bl sub_02005404 + bl FUN_02005404 cmp r0, #0x0 bne _020053FC add r0, r6, #0x0 - bl sub_02004018 + bl FUN_02004018 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02004828 + bl FUN_02004828 add r0, r4, #0x0 - bl sub_02004D74 + bl FUN_02004D74 _020053FC: mov r0, #0x4 - bl sub_02003CE8 + bl FUN_02003CE8 _02005402: pop {r4-r6, pc} - thumb_func_start sub_02005404 -sub_02005404: ; 0x02005404 + thumb_func_start FUN_02005404 +FUN_02005404: ; 0x02005404 push {r3, lr} mov r0, #0x6 - bl sub_02003D38 + bl FUN_02003D38 ldrh r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02005410 -sub_02005410: ; 0x02005410 + thumb_func_start FUN_02005410 +FUN_02005410: ; 0x02005410 push {r3, lr} - bl sub_020048D0 - bl sub_020048BC + bl FUN_020048D0 + bl FUN_020048BC pop {r3, pc} - thumb_func_start sub_0200541C -sub_0200541C: ; 0x0200541C + thumb_func_start FUN_0200541C +FUN_0200541C: ; 0x0200541C push {r3-r5, lr} mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r5, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x0 - blx sub_020C0F9C + blx FUN_020C0F9C ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _02005440 mov r0, #0xe - bl sub_02004AAC + bl FUN_02004AAC _02005440: ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _0200544C mov r0, #0xf - bl sub_02004AAC + bl FUN_02004AAC _0200544C: mov r0, #0x0 - bl sub_02003CE8 + bl FUN_02003CE8 pop {r3-r5, pc} - thumb_func_start sub_02005454 -sub_02005454: ; 0x02005454 + thumb_func_start FUN_02005454 +FUN_02005454: ; 0x02005454 push {r3-r7, lr} mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r7, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x7 - bl sub_02003FF4 + bl FUN_02003FF4 mov r1, #0x0 - blx sub_020C10A4 - bl sub_02005374 + blx FUN_020C10A4 + bl FUN_02005374 mov r5, #0x0 add r4, r5, #0x0 _0200547A: add r0, r5, #0x3 add r1, r4, #0x0 - bl sub_020054F8 + bl FUN_020054F8 add r5, r5, #0x1 cmp r5, #0x4 blt _0200547A mov r0, #0x0 - bl sub_02005614 + bl FUN_02005614 ldrb r0, [r7, #0x0] cmp r0, #0x1 bne _0200549A mov r0, #0xe - bl sub_02004AAC + bl FUN_02004AAC _0200549A: ldrb r0, [r6, #0x0] cmp r0, #0x1 bne _020054A6 mov r0, #0xf - bl sub_02004AAC + bl FUN_02004AAC _020054A6: pop {r3-r7, pc} - thumb_func_start sub_020054A8 -sub_020054A8: ; 0x020054A8 + thumb_func_start FUN_020054A8 +FUN_020054A8: ; 0x020054A8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020054C8 + bl FUN_020054C8 add r6, r0, #0x0 ldr r1, _020054C4 ; =0x0000FFFF add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_02005530 + bl FUN_02005530 add r0, r6, #0x0 pop {r4-r6, pc} nop _020054C4: .word 0x0000FFFF - thumb_func_start sub_020054C8 -sub_020054C8: ; 0x020054C8 + thumb_func_start FUN_020054C8 +FUN_020054C8: ; 0x020054C8 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020048D0 - bl sub_02004018 + bl FUN_020048D0 + bl FUN_02004018 add r4, r0, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C3980 + blx FUN_020C3980 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02004858 + bl FUN_02004858 add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020054F0 -sub_020054F0: ; 0x020054F0 - ldr r3, _020054F4 ; =sub_020C0FDC + thumb_func_start FUN_020054F0 +FUN_020054F0: ; 0x020054F0 + ldr r3, _020054F4 ; =FUN_020C0FDC bx r3 .balign 4 -_020054F4: .word sub_020C0FDC +_020054F4: .word FUN_020C0FDC - thumb_func_start sub_020054F8 -sub_020054F8: ; 0x020054F8 + thumb_func_start FUN_020054F8 +FUN_020054F8: ; 0x020054F8 push {r4, lr} add r4, r1, #0x0 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r4, #0x0 - blx sub_020C10A4 + blx FUN_020C10A4 pop {r4, pc} - thumb_func_start sub_02005508 -sub_02005508: ; 0x02005508 + thumb_func_start FUN_02005508 +FUN_02005508: ; 0x02005508 push {r3, lr} - bl sub_020048D0 - bl sub_020048BC + bl FUN_020048D0 + bl FUN_020048BC pop {r3, pc} - thumb_func_start sub_02005514 -sub_02005514: ; 0x02005514 + thumb_func_start FUN_02005514 +FUN_02005514: ; 0x02005514 push {r4, lr} mov r4, #0x0 _02005518: add r0, r4, #0x3 - bl sub_020048BC + bl FUN_020048BC cmp r0, #0x1 bne _02005526 mov r0, #0x1 @@ -8689,34 +8689,34 @@ _02005526: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02005530 -sub_02005530: ; 0x02005530 + thumb_func_start FUN_02005530 +FUN_02005530: ; 0x02005530 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_020048D0 - bl sub_02004018 - bl sub_02003FF4 + bl FUN_020048D0 + bl FUN_02004018 + bl FUN_02003FF4 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020C0E7C + blx FUN_020C0E7C pop {r3-r5, pc} - thumb_func_start sub_0200554C -sub_0200554C: ; 0x0200554C + thumb_func_start FUN_0200554C +FUN_0200554C: ; 0x0200554C push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x3 - bl sub_02004018 + bl FUN_02004018 ldr r7, _02005574 ; =0x0000FFFF add r4, r0, #0x0 mov r5, #0x0 _0200555C: add r0, r4, r5 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r7, #0x0 add r2, r6, #0x0 - blx sub_020C0E7C + blx FUN_020C0E7C add r5, r5, #0x1 cmp r5, #0x4 blt _0200555C @@ -8724,15 +8724,15 @@ _0200555C: nop _02005574: .word 0x0000FFFF - thumb_func_start sub_02005578 -sub_02005578: ; 0x02005578 + thumb_func_start FUN_02005578 +FUN_02005578: ; 0x02005578 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x11 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x23 - bl sub_02003D38 + bl FUN_02003D38 ldr r1, _02005610 ; =0x000001B9 cmp r5, r1 beq _0200559C @@ -8751,11 +8751,11 @@ _0200559C: ldr r0, [r0, #0x0] mov r2, #0x7f add r3, r1, #0x0 - bl sub_02005D48 + bl FUN_02005D48 cmp r0, #0x1 bne _020055BC mov r0, #0x0 - bl sub_02005E80 + bl FUN_02005E80 mov r0, #0x1 pop {r3-r5, pc} _020055BC: @@ -8763,111 +8763,111 @@ _020055BC: cmp r0, #0x0 bne _020055E8 mov r0, #0x0 - bl sub_02005614 + bl FUN_02005614 mov r0, #0x1 - bl sub_02003FF4 + bl FUN_02003FF4 mov r1, #0x2 str r1, [sp, #0x0] sub r1, r1, #0x3 add r2, r5, #0x0 add r3, r1, #0x0 - blx sub_020C3910 + blx FUN_020C3910 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02004858 + bl FUN_02004858 b _02005606 _020055E8: mov r0, #0x8 - bl sub_02003FF4 + bl FUN_02003FF4 mov r1, #0x2 str r1, [sp, #0x0] sub r1, r1, #0x3 add r2, r5, #0x0 add r3, r1, #0x0 - blx sub_020C3910 + blx FUN_020C3910 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 - bl sub_02004858 + bl FUN_02004858 _02005606: mov r0, #0x0 - bl sub_02005E80 + bl FUN_02005E80 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02005610: .word 0x000001B9 - thumb_func_start sub_02005614 -sub_02005614: ; 0x02005614 + thumb_func_start FUN_02005614 +FUN_02005614: ; 0x02005614 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0xe - bl sub_02003D38 + bl FUN_02003D38 mov r0, #0x1 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C10A4 + blx FUN_020C10A4 mov r0, #0x8 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C10A4 + blx FUN_020C10A4 ldrb r0, [r6, #0x0] cmp r0, #0x1 bne _02005658 mov r0, #0xe - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xe - bl sub_02004A04 + bl FUN_02004A04 _02005658: ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _0200566A mov r0, #0xf - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xf - bl sub_02004A04 + bl FUN_02004A04 _0200566A: - bl sub_02005DFC + bl FUN_02005DFC pop {r4-r6, pc} - thumb_func_start sub_02005670 -sub_02005670: ; 0x02005670 + thumb_func_start FUN_02005670 +FUN_02005670: ; 0x02005670 push {r3-r5, lr} mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r5, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0xe - bl sub_02003D38 + bl FUN_02003D38 ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _02005696 mov r0, #0xe - bl sub_02004ABC + bl FUN_02004ABC pop {r3-r5, pc} _02005696: ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _020056A4 mov r0, #0xf - bl sub_02004ABC + bl FUN_02004ABC pop {r3-r5, pc} _020056A4: mov r0, #0x0 - bl sub_020048BC + bl FUN_020048BC pop {r3-r5, pc} - thumb_func_start sub_020056AC -sub_020056AC: ; 0x020056AC + thumb_func_start FUN_020056AC +FUN_020056AC: ; 0x020056AC push {r3-r7, lr} sub sp, #0x20 str r0, [sp, #0x4] @@ -8876,19 +8876,19 @@ sub_020056AC: ; 0x020056AC add r5, r2, #0x0 add r6, r3, #0x0 ldr r7, [sp, #0x38] - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0x14] mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0x10] mov r0, #0x11 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x1d - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0xc] mov r0, #0x23 - bl sub_02003D38 + bl FUN_02003D38 lsr r0, r5, #0x1f add r0, r5, r0 asr r0, r0, #0x1 @@ -8911,18 +8911,18 @@ _020056FC: cmp r0, #0x1 bne _02005714 mov r0, #0xe - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xe - bl sub_02004A04 + bl FUN_02004A04 _02005714: ldr r0, [sp, #0x10] ldrb r0, [r0, #0x0] cmp r0, #0x1 bne _02005728 mov r0, #0xf - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xf - bl sub_02004A04 + bl FUN_02004A04 _02005728: ldr r4, [sp, #0x8] ldr r0, _02005AB4 ; =0x000001B9 @@ -8963,7 +8963,7 @@ _0200573E: lsl r4, r2, #0x1 lsl r0, r3, #0 lsl r0, r3, #0 - bl sub_02005578 + bl FUN_02005578 ldr r0, [sp, #0xc] ldrb r0, [r0, #0x0] cmp r0, #0x0 @@ -8971,28 +8971,28 @@ _0200573E: ldr r1, _02005AB8 ; =0x0000FFFF mov r0, #0x1 add r2, r5, #0x0 - bl sub_02004D4C + bl FUN_02004D4C add r0, r4, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_02005AC8 + bl FUN_02005AC8 b _020057A8 _02005794: ldr r1, [sp, #0x1c] mov r0, #0xe lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02004ACC + bl FUN_02004ACC mov r0, #0xe add r1, r6, #0x0 - bl sub_02004AF8 + bl FUN_02004AF8 _020057A8: add sp, #0x20 mov r0, #0x1 pop {r3-r7, pc} _020057AE: mov r0, #0x1 - bl sub_02005E80 + bl FUN_02005E80 _020057B4: ldr r0, [sp, #0x4] cmp r0, #0xe @@ -9021,15 +9021,15 @@ _020057BC: lsl r4, r7, #0xa lsl r2, r6, #0xb add r0, r4, #0x0 - bl sub_02005578 + bl FUN_02005578 ldr r1, _02005AB8 ; =0x0000FFFF mov r0, #0x1 add r2, r5, #0x0 - bl sub_02004D4C + bl FUN_02004D4C add r0, r4, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_02005AC8 + bl FUN_02005AC8 b _02005AC2 _02005802: .byte 0x20, 0x1C, 0xFF, 0xF7, 0xB8, 0xFE, 0xAB, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7 @@ -9086,34 +9086,34 @@ _02005AC2: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_02005AC8 -sub_02005AC8: ; 0x02005AC8 + thumb_func_start FUN_02005AC8 +FUN_02005AC8: ; 0x02005AC8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r2, #0x0 - bl sub_0200483C + bl FUN_0200483C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02004858 + bl FUN_02004858 pop {r3-r5, pc} - thumb_func_start sub_02005AE0 -sub_02005AE0: ; 0x02005AE0 + thumb_func_start FUN_02005AE0 +FUN_02005AE0: ; 0x02005AE0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x22 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 - bl sub_02005BA0 + bl FUN_02005BA0 add r0, r4, #0x0 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02005B04 - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _02005B04: mov r2, #0x0 @@ -9125,41 +9125,41 @@ _02005B04: strb r2, [r4, #0x5] strb r2, [r4, #0x6] strb r2, [r4, #0x7] - ldr r0, _02005B28 ; =sub_02005B2C + ldr r0, _02005B28 ; =FUN_02005B2C add r1, r4, #0x0 str r5, [r4, #0x0] - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0x4] str r0, [r6, #0x0] pop {r4-r6, pc} nop -_02005B28: .word sub_02005B2C + 1 +_02005B28: .word FUN_02005B2C + 1 - thumb_func_start sub_02005B2C -sub_02005B2C: ; 0x02005B2C + thumb_func_start FUN_02005B2C +FUN_02005B2C: ; 0x02005B2C push {r4-r6, lr} mov r0, #0xf add r5, r1, #0x0 - bl sub_02003D38 + bl FUN_02003D38 add r6, r0, #0x0 mov r0, #0x10 - bl sub_02003D38 + bl FUN_02003D38 ldr r2, [r5, #0x0] add r4, r0, #0x0 cmp r2, #0xa bne _02005B58 mov r0, #0x1 mov r1, #0x0 - bl sub_02004828 + bl FUN_02004828 ldr r2, [r5, #0x0] mov r0, #0x8 mov r1, #0x0 - bl sub_02004828 + bl FUN_02004828 _02005B58: ldr r0, [r5, #0x0] sub r0, r0, #0x1 str r0, [r5, #0x0] - bl sub_02005670 + bl FUN_02005670 cmp r0, #0x0 bne _02005B6A mov r0, #0x0 @@ -9169,133 +9169,133 @@ _02005B6A: cmp r0, #0x0 bgt _02005B9E mov r0, #0x0 - bl sub_02005614 + bl FUN_02005614 ldrb r0, [r6, #0x0] cmp r0, #0x1 bne _02005B88 mov r0, #0xe - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xe - bl sub_02004A04 + bl FUN_02004A04 _02005B88: ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _02005B9A mov r0, #0xf - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xf - bl sub_02004A04 + bl FUN_02004A04 _02005B9A: - bl sub_02005BA0 + bl FUN_02005BA0 _02005B9E: pop {r4-r6, pc} - thumb_func_start sub_02005BA0 -sub_02005BA0: ; 0x02005BA0 + thumb_func_start FUN_02005BA0 +FUN_02005BA0: ; 0x02005BA0 push {r3-r5, lr} mov r0, #0x22 - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02005BC2 - bl sub_0201B6C8 + bl FUN_0201B6C8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02005BC2: mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02005BC8 -sub_02005BC8: ; 0x02005BC8 + thumb_func_start FUN_02005BC8 +FUN_02005BC8: ; 0x02005BC8 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x11 add r4, r1, #0x0 - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x1 strb r1, [r0, #0x0] add r0, r1, #0x0 - bl sub_02005E80 + bl FUN_02005E80 add r0, r5, #0x0 - bl sub_02005578 + bl FUN_02005578 add r5, r0, #0x0 ldr r1, _02005BF4 ; =0x0000FFFF mov r0, #0x8 add r2, r4, #0x0 - bl sub_02004D20 + bl FUN_02004D20 add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 _02005BF4: .word 0x0000FFFF - thumb_func_start sub_02005BF8 -sub_02005BF8: ; 0x02005BF8 + thumb_func_start FUN_02005BF8 +FUN_02005BF8: ; 0x02005BF8 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r0, #0x11 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0x1 strb r1, [r0, #0x0] mov r0, #0xf - bl sub_02004984 + bl FUN_02004984 ldr r0, [sp, #0x18] add r1, r4, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 add r2, r6, #0x0 mov r3, #0xf - bl sub_02004B30 + bl FUN_02004B30 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02005C28 -sub_02005C28: ; 0x02005C28 + thumb_func_start FUN_02005C28 +FUN_02005C28: ; 0x02005C28 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020048F4 + bl FUN_020048F4 add r0, r5, #0x0 - bl sub_02005CEC - bl sub_02004124 - bl sub_020048D0 + bl FUN_02005CEC + bl FUN_02004124 + bl FUN_020048D0 cmp r0, #0xff beq _02005C48 mov r1, #0x1 - bl sub_020047C8 + bl FUN_020047C8 _02005C48: mov r0, #0x1c - bl sub_02003D38 - bl sub_02003F3C + bl FUN_02003D38 + bl FUN_02003F3C add r0, r5, #0x0 mov r1, #0x3 - bl sub_02003FA8 + bl FUN_02003FA8 mov r0, #0x2 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r5, #0x0 - blx sub_020C3980 + blx FUN_020C3980 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x2 - bl sub_02004858 + bl FUN_02004858 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02005C74 -sub_02005C74: ; 0x02005C74 + thumb_func_start FUN_02005C74 +FUN_02005C74: ; 0x02005C74 push {r4, lr} mov r0, #0xd - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 mov r0, #0x2 - bl sub_020048BC + bl FUN_020048BC cmp r0, #0x0 beq _02005C8C mov r0, #0x1 @@ -9313,80 +9313,80 @@ _02005C9A: pop {r4, pc} .balign 4 - thumb_func_start sub_02005CA0 -sub_02005CA0: ; 0x02005CA0 + thumb_func_start FUN_02005CA0 +FUN_02005CA0: ; 0x02005CA0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x2 - bl sub_02003FF4 + bl FUN_02003FF4 add r1, r4, #0x0 - blx sub_020C10A4 + blx FUN_020C10A4 mov r0, #0x6 - bl sub_02004748 - bl sub_02003F64 + bl FUN_02004748 + bl FUN_02003F64 pop {r4, pc} - thumb_func_start sub_02005CBC -sub_02005CBC: ; 0x02005CBC + thumb_func_start FUN_02005CBC +FUN_02005CBC: ; 0x02005CBC push {r3, lr} mov r0, #0xd - bl sub_02003D38 - bl sub_02005C74 + bl FUN_02003D38 + bl FUN_02005C74 cmp r0, #0x1 bne _02005CD0 mov r0, #0x1 pop {r3, pc} _02005CD0: mov r0, #0x0 - bl sub_02005CA0 - bl sub_02004124 - bl sub_020048D0 + bl FUN_02005CA0 + bl FUN_02004124 + bl FUN_020048D0 cmp r0, #0xff beq _02005CE8 mov r1, #0x0 - bl sub_020047C8 + bl FUN_020047C8 _02005CE8: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02005CEC -sub_02005CEC: ; 0x02005CEC + thumb_func_start FUN_02005CEC +FUN_02005CEC: ; 0x02005CEC push {r3, lr} mov r0, #0xd - bl sub_02003D38 + bl FUN_02003D38 mov r1, #0xf strh r1, [r0, #0x0] pop {r3, pc} .balign 4 - thumb_func_start sub_02005CFC -sub_02005CFC: ; 0x02005CFC + thumb_func_start FUN_02005CFC +FUN_02005CFC: ; 0x02005CFC push {r3, lr} mov r0, #0x1d - bl sub_02003D38 + bl FUN_02003D38 ldrb r0, [r0, #0x0] cmp r0, #0x1 bne _02005D1C mov r0, #0xe - bl sub_02004ABC + bl FUN_02004ABC cmp r0, #0x0 bne _02005D1C - bl sub_02005DFC + bl FUN_02005DFC mov r0, #0x1 pop {r3, pc} _02005D1C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02005D20 -sub_02005D20: ; 0x02005D20 + thumb_func_start FUN_02005D20 +FUN_02005D20: ; 0x02005D20 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1e - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02029F04 + bl FUN_02029F04 cmp r0, #0x0 bne _02005D3A mov r0, #0x0 @@ -9401,20 +9401,20 @@ _02005D44: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02005D48 -sub_02005D48: ; 0x02005D48 + thumb_func_start FUN_02005D48 +FUN_02005D48: ; 0x02005D48 push {r3-r7, lr} sub sp, #0x30 add r6, r0, #0x0 add r5, r2, #0x0 add r7, r3, #0x0 - bl sub_02004DB4 + bl FUN_02004DB4 str r0, [sp, #0x0] mov r0, #0x1d - bl sub_02003D38 + bl FUN_02003D38 str r0, [sp, #0x4] add r0, r6, #0x0 - bl sub_02005D20 + bl FUN_02005D20 cmp r0, #0x0 bne _02005D70 add sp, #0x30 @@ -9422,11 +9422,11 @@ sub_02005D48: ; 0x02005D48 pop {r3-r7, pc} _02005D70: mov r0, #0x0 - bl sub_02005614 - bl sub_02005DFC + bl FUN_02005614 + bl FUN_02005DFC mov r0, #0xe - bl sub_02004984 - bl sub_0201B9EC + bl FUN_02004984 + bl FUN_0201B9EC lsr r2, r0, #0x1f lsl r1, r0, #0x13 sub r1, r1, r2 @@ -9436,16 +9436,16 @@ _02005D70: lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #0x0 - bl sub_02029F10 + bl FUN_02029F10 add r1, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02029F14 + bl FUN_02029F14 mov r0, #0xe - bl sub_02004930 + bl FUN_02004930 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] - bl sub_02004DB4 + bl FUN_02004DB4 str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x14] @@ -9466,50 +9466,50 @@ _02005D70: add r0, sp, #0x8 mov r1, #0xe str r5, [sp, #0x24] - bl sub_02004A6C + bl FUN_02004A6C add r4, r0, #0x0 mov r0, #0xe add r1, r5, #0x0 - bl sub_02004AF8 + bl FUN_02004AF8 ldr r0, [sp, #0x4] mov r1, #0x1 strb r1, [r0, #0x0] mov r0, #0x0 - bl sub_02005E80 + bl FUN_02005E80 add r0, r4, #0x0 add sp, #0x30 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02005DFC -sub_02005DFC: ; 0x02005DFC + thumb_func_start FUN_02005DFC +FUN_02005DFC: ; 0x02005DFC push {r3-r5, lr} mov r0, #0xf - bl sub_02003D38 + bl FUN_02003D38 add r5, r0, #0x0 mov r0, #0x1d - bl sub_02003D38 + bl FUN_02003D38 add r4, r0, #0x0 ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _02005E20 mov r0, #0xe - bl sub_02004C3C + bl FUN_02004C3C mov r0, #0xe - bl sub_02004A04 + bl FUN_02004A04 _02005E20: mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02005E28 -sub_02005E28: ; 0x02005E28 + thumb_func_start FUN_02005E28 +FUN_02005E28: ; 0x02005E28 push {lr} sub sp, #0x1c mov r0, #0x2 str r0, [sp, #0x0] - bl sub_02004DB4 + bl FUN_02004DB4 mov r1, #0x7d str r0, [sp, #0x4] lsl r1, r1, #0x4 @@ -9528,92 +9528,92 @@ _02005E48: str r0, [sp, #0x14] str r0, [sp, #0x18] add r0, sp, #0x0 - bl sub_02004914 + bl FUN_02004914 add sp, #0x1c pop {pc} nop _02005E60: .word 0x00004174 - thumb_func_start sub_02005E64 -sub_02005E64: ; 0x02005E64 - ldr r3, _02005E68 ; =sub_0200491C + thumb_func_start FUN_02005E64 +FUN_02005E64: ; 0x02005E64 + ldr r3, _02005E68 ; =FUN_0200491C bx r3 .balign 4 -_02005E68: .word sub_0200491C + 1 +_02005E68: .word FUN_0200491C + 1 - thumb_func_start sub_02005E6C -sub_02005E6C: ; 0x02005E6C + thumb_func_start FUN_02005E6C +FUN_02005E6C: ; 0x02005E6C push {r4, lr} add r4, r0, #0x0 - bl sub_02004DB4 + bl FUN_02004DB4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02029F4C + bl FUN_02029F4C pop {r4, pc} .balign 4 - thumb_func_start sub_02005E80 -sub_02005E80: ; 0x02005E80 + thumb_func_start FUN_02005E80 +FUN_02005E80: ; 0x02005E80 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1e - bl sub_02003D38 + bl FUN_02003D38 strb r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02005E90 -sub_02005E90: ; 0x02005E90 + thumb_func_start FUN_02005E90 +FUN_02005E90: ; 0x02005E90 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x23 add r7, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02003D38 + bl FUN_02003D38 cmp r5, #0x0 bne _02005EB2 ldr r0, [r0, #0x0] add r1, r7, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02005D48 + bl FUN_02005D48 b _02005EBE _02005EB2: add r0, r5, #0x0 add r1, r7, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02005D48 + bl FUN_02005D48 _02005EBE: cmp r0, #0x0 bne _02005ED8 mov r0, #0x1 - bl sub_02005E80 + bl FUN_02005E80 mov r0, #0xb str r0, [sp, #0x0] ldr r1, _02005EDC ; =0x000001B9 mov r0, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_020056AC + bl FUN_020056AC _02005ED8: pop {r3-r7, pc} nop _02005EDC: .word 0x000001B9 - thumb_func_start sub_02005EE0 -sub_02005EE0: ; 0x02005EE0 + thumb_func_start FUN_02005EE0 +FUN_02005EE0: ; 0x02005EE0 push {r4, lr} add r4, r0, #0x0 - bl sub_02029F04 + bl FUN_02029F04 cmp r0, #0x0 bne _02005EF0 mov r0, #0x0 pop {r4, pc} _02005EF0: add r0, r4, #0x0 - bl sub_02029F10 + bl FUN_02029F10 mov r1, #0xf ldrsb r0, [r0, r1] sub r1, #0x2d @@ -9632,8 +9632,8 @@ _02005F10: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02005F14 -sub_02005F14: ; 0x02005F14 + thumb_func_start FUN_02005F14 +FUN_02005F14: ; 0x02005F14 cmp r0, #0xb bgt _02005F2E bge _02005F32 @@ -9658,32 +9658,32 @@ _02005F36: bx lr .balign 4 - thumb_func_start sub_02005F3C -sub_02005F3C: ; 0x02005F3C + thumb_func_start FUN_02005F3C +FUN_02005F3C: ; 0x02005F3C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 beq _02005F4A - bl sub_02020C2C + bl FUN_02020C2C _02005F4A: ldr r1, [r4, #0x0] mov r0, #0x0 - blx sub_020D2040 + blx FUN_020D2040 cmp r0, #0x1 beq _02005F5A - bl sub_02020C2C + bl FUN_02020C2C _02005F5A: mov r0, #0x0 str r0, [r4, #0x4] pop {r4, pc} - thumb_func_start sub_02005F60 -sub_02005F60: ; 0x02005F60 + thumb_func_start FUN_02005F60 +FUN_02005F60: ; 0x02005F60 push {r4, lr} add r4, r0, #0x0 - bl sub_02005F90 - bl sub_0200610C + bl FUN_02005F90 + bl FUN_0200610C mov r2, #0x0 add r3, r0, #0x0 _02005F70: @@ -9695,7 +9695,7 @@ _02005F70: bne _02005F86 lsl r1, r2, #0x3 add r0, r0, r1 - bl sub_02005F3C + bl FUN_02005F3C pop {r4, pc} _02005F86: add r2, r2, #0x1 @@ -9704,17 +9704,17 @@ _02005F86: blt _02005F70 pop {r4, pc} - thumb_func_start sub_02005F90 -sub_02005F90: ; 0x02005F90 + thumb_func_start FUN_02005F90 +FUN_02005F90: ; 0x02005F90 push {lr} sub sp, #0x2c add r2, r0, #0x0 add r0, sp, #0x0 mov r1, #0x0 - blx sub_020D24EC + blx FUN_020D24EC cmp r0, #0x1 beq _02005FA6 - bl sub_02020C2C + bl FUN_02020C2C _02005FA6: mov r0, #0x2 ldr r2, [sp, #0x4] @@ -9746,24 +9746,24 @@ _02005FD2: .balign 4 _02005FD8: .word 0x027E0000 - thumb_func_start sub_02005FDC -sub_02005FDC: ; 0x02005FDC + thumb_func_start FUN_02005FDC +FUN_02005FDC: ; 0x02005FDC push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 str r1, [sp, #0x0] - bl sub_02006090 + bl FUN_02006090 cmp r0, #0x0 bne _02005FF4 mov r0, #0x0 pop {r3-r7, pc} _02005FF4: add r0, r5, #0x0 - bl sub_02005F90 + bl FUN_02005F90 add r7, r0, #0x0 - bl sub_0200610C + bl FUN_0200610C add r3, r0, #0x0 mov r6, #0x0 add r1, r3, #0x0 @@ -9785,7 +9785,7 @@ _02006018: _02006020: cmp r6, #0x8 blt _0200602C - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0200602C: @@ -9794,7 +9794,7 @@ _0200602C: bhi _0200603C mov r0, #0x0 mvn r0, r0 - blx sub_020D1D30 + blx FUN_020D1D30 str r0, [sp, #0x0] _0200603C: cmp r4, #0x0 @@ -9807,48 +9807,48 @@ _0200603C: _0200604A: mov r0, #0x0 add r1, r5, #0x0 - bl sub_02006168 + bl FUN_02006168 add r4, r0, #0x0 b _02006076 _02006056: mov r0, #0x0 add r1, r5, #0x0 - bl sub_02006170 + bl FUN_02006170 add r4, r0, #0x0 b _02006076 _02006062: mov r0, #0x0 add r1, r5, #0x0 - bl sub_020061A8 + bl FUN_020061A8 add r4, r0, #0x0 b _02006076 _0200606E: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _02006076: cmp r6, #0x1 bhi _02006080 ldr r0, [sp, #0x0] - blx sub_020D1D30 + blx FUN_020D1D30 _02006080: cmp r4, #0x0 bne _0200608C - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0200608C: mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_02006090 -sub_02006090: ; 0x02006090 + thumb_func_start FUN_02006090 +FUN_02006090: ; 0x02006090 push {r3-r7, lr} sub sp, #0x10 add r1, sp, #0xc add r2, sp, #0x8 add r4, r0, #0x0 - bl sub_02006130 + bl FUN_02006130 cmp r0, #0x0 bne _020060A8 add sp, #0x10 @@ -9856,8 +9856,8 @@ sub_02006090: ; 0x02006090 pop {r3-r7, pc} _020060A8: add r0, r4, #0x0 - bl sub_02005F90 - bl sub_0200610C + bl FUN_02005F90 + bl FUN_0200610C add r5, r0, #0x0 mov r4, #0x0 add r6, sp, #0x4 @@ -9869,7 +9869,7 @@ _020060BA: ldr r0, [r5, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02006130 + bl FUN_02006130 cmp r0, #0x1 bne _020060FC ldr r1, [sp, #0x4] @@ -9893,7 +9893,7 @@ _020060E8: cmp r3, r0 blo _020060FC _020060F2: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} @@ -9907,8 +9907,8 @@ _020060FC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200610C -sub_0200610C: ; 0x0200610C + thumb_func_start FUN_0200610C +FUN_0200610C: ; 0x0200610C cmp r0, #0x0 beq _02006118 cmp r0, #0x1 @@ -9929,8 +9929,8 @@ _02006124: .word 0x021C45B0 _02006128: .word 0x021C45F0 _0200612C: .word 0x021C4630 - thumb_func_start sub_02006130 -sub_02006130: ; 0x02006130 + thumb_func_start FUN_02006130 +FUN_02006130: ; 0x02006130 push {r4-r5, lr} sub sp, #0x2c add r3, r0, #0x0 @@ -9939,10 +9939,10 @@ sub_02006130: ; 0x02006130 add r0, sp, #0x0 mov r1, #0x0 add r2, r3, #0x0 - blx sub_020D24EC + blx FUN_020D24EC cmp r0, #0x0 bne _02006152 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x2c mov r0, #0x0 pop {r4-r5, pc} @@ -9959,22 +9959,22 @@ _02006152: pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02006168 -sub_02006168: ; 0x02006168 - ldr r3, _0200616C ; =sub_020D2094 + thumb_func_start FUN_02006168 +FUN_02006168: ; 0x02006168 + ldr r3, _0200616C ; =FUN_020D2094 bx r3 .balign 4 -_0200616C: .word sub_020D2094 +_0200616C: .word FUN_020D2094 - thumb_func_start sub_02006170 -sub_02006170: ; 0x02006170 + thumb_func_start FUN_02006170 +FUN_02006170: ; 0x02006170 push {lr} sub sp, #0x2c add r3, r0, #0x0 add r2, r1, #0x0 add r0, sp, #0x0 add r1, r3, #0x0 - blx sub_020D24EC + blx FUN_020D24EC cmp r0, #0x0 bne _0200618A add sp, #0x2c @@ -9982,7 +9982,7 @@ sub_02006170: ; 0x02006170 pop {pc} _0200618A: add r0, sp, #0x0 - blx sub_020D23B4 + blx FUN_020D23B4 cmp r0, #0x0 bne _0200619A add sp, #0x2c @@ -9990,21 +9990,21 @@ _0200618A: pop {pc} _0200619A: add r0, sp, #0x0 - blx sub_020D2210 + blx FUN_020D2210 mov r0, #0x1 add sp, #0x2c pop {pc} .balign 4 - thumb_func_start sub_020061A8 -sub_020061A8: ; 0x020061A8 + thumb_func_start FUN_020061A8 +FUN_020061A8: ; 0x020061A8 push {lr} sub sp, #0x74 add r3, r0, #0x0 add r2, r1, #0x0 add r0, sp, #0x0 add r1, r3, #0x0 - blx sub_020D24EC + blx FUN_020D24EC cmp r0, #0x0 bne _020061C2 add sp, #0x74 @@ -10012,22 +10012,22 @@ sub_020061A8: ; 0x020061A8 pop {pc} _020061C2: add r0, sp, #0x2c - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x0 add r1, sp, #0x2c - blx sub_020D2454 + blx FUN_020D2454 add r0, sp, #0x2c - blx sub_020D182C + blx FUN_020D182C add r0, sp, #0x2c - blx sub_020D18FC + blx FUN_020D18FC add r0, sp, #0x0 - blx sub_020D2210 + blx FUN_020D2210 mov r0, #0x1 add sp, #0x74 pop {pc} - thumb_func_start sub_020061E8 -sub_020061E8: ; 0x020061E8 + thumb_func_start FUN_020061E8 +FUN_020061E8: ; 0x020061E8 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 @@ -10035,7 +10035,7 @@ sub_020061E8: ; 0x020061E8 cmp r5, #0x0 beq _0200620C add r0, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02006202 mov r0, #0x0 @@ -10043,7 +10043,7 @@ sub_020061E8: ; 0x020061E8 _02006202: mov r1, #0x0 add r2, r5, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 b _0200620E _0200620C: mov r4, #0x0 @@ -10051,31 +10051,31 @@ _0200620E: add r0, r6, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200621C -sub_0200621C: ; 0x0200621C + thumb_func_start FUN_0200621C +FUN_0200621C: ; 0x0200621C push {r4, lr} add r4, r0, #0x0 - bl sub_0201B6C8 + bl FUN_0201B6C8 cmp r0, #0x0 beq _0200622C - bl sub_02016A18 + bl FUN_02016A18 _0200622C: add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} - thumb_func_start sub_02006234 -sub_02006234: ; 0x02006234 + thumb_func_start FUN_02006234 +FUN_02006234: ; 0x02006234 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x28 - bl sub_02016998 + bl FUN_02016998 add r3, r0, #0x0 add r2, r3, #0x0 ldmia r5!, {r0-r1} @@ -10092,45 +10092,45 @@ sub_02006234: ; 0x02006234 add r0, r3, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02006260 -sub_02006260: ; 0x02006260 - ldr r3, _02006264 ; =sub_02016A18 + thumb_func_start FUN_02006260 +FUN_02006260: ; 0x02006260 + ldr r3, _02006264 ; =FUN_02016A18 bx r3 .balign 4 -_02006264: .word sub_02016A18 + 1 +_02006264: .word FUN_02016A18 + 1 - thumb_func_start sub_02006268 -sub_02006268: ; 0x02006268 + thumb_func_start FUN_02006268 +FUN_02006268: ; 0x02006268 push {r4, lr} add r4, r0, #0x0 add r0, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x1c] pop {r4, pc} .balign 4 - thumb_func_start sub_02006278 -sub_02006278: ; 0x02006278 + thumb_func_start FUN_02006278 +FUN_02006278: ; 0x02006278 ldr r0, [r0, #0x1c] bx lr - thumb_func_start sub_0200627C -sub_0200627C: ; 0x0200627C + thumb_func_start FUN_0200627C +FUN_0200627C: ; 0x0200627C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x1c] pop {r4, pc} - thumb_func_start sub_0200628C -sub_0200628C: ; 0x0200628C + thumb_func_start FUN_0200628C +FUN_0200628C: ; 0x0200628C ldr r0, [r0, #0x18] bx lr - thumb_func_start sub_02006290 -sub_02006290: ; 0x02006290 + thumb_func_start FUN_02006290 +FUN_02006290: ; 0x02006290 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x10] @@ -10152,7 +10152,7 @@ sub_02006290: ; 0x02006290 cmp r0, r1 beq _020062BE mov r1, #0x2 - bl sub_02005FDC + bl FUN_02005FDC _020062BE: mov r0, #0x1 str r0, [r4, #0x10] @@ -10178,8 +10178,8 @@ _0200630E: pop {r4, pc} .balign 4 - thumb_func_start sub_02006314 -sub_02006314: ; 0x02006314 + thumb_func_start FUN_02006314 +FUN_02006314: ; 0x02006314 push {r3-r7, lr} sub sp, #0x60 add r4, r1, #0x0 @@ -10193,62 +10193,62 @@ sub_02006314: ; 0x02006314 add r0, sp, #0x18 add r5, r2, #0x0 str r3, [sp, #0x4] - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x18 add r1, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 add r0, sp, #0x18 mov r1, #0xc mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C ldr r4, [sp, #0x14] add r0, sp, #0x18 add r1, r4, #0x4 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 add r1, sp, #0x8 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x8 ldrh r0, [r0, #0x0] cmp r0, r5 bgt _0200637A - bl sub_02020C2C + bl FUN_02020C2C _0200637A: ldr r0, [sp, #0x14] mov r2, #0x0 add r6, r4, r0 add r0, sp, #0x18 add r1, r6, #0x4 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r4, #0xc lsl r1, r5, #0x3 add r0, sp, #0x18 add r1, r4, r1 mov r2, #0x0 ldr r7, [sp, #0x14] - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x10 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 add r1, sp, #0xc mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r2, r6, r7 ldr r1, [sp, #0x10] add r2, #0x8 @@ -10257,7 +10257,7 @@ _0200637A: add r0, sp, #0x18 add r1, r1, r2 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r0, [sp, #0x78] cmp r0, #0x0 bne _020063D6 @@ -10268,19 +10268,19 @@ _020063D6: str r0, [sp, #0x14] cmp r0, #0x0 bne _020063E0 - bl sub_02020C2C + bl FUN_02020C2C _020063E0: ldr r1, [sp, #0x0] ldr r2, [sp, #0x14] add r0, sp, #0x18 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 - blx sub_020D18FC + blx FUN_020D18FC add sp, #0x60 pop {r3-r7, pc} - thumb_func_start sub_020063F4 -sub_020063F4: ; 0x020063F4 + thumb_func_start FUN_020063F4 +FUN_020063F4: ; 0x020063F4 push {r3-r7, lr} sub sp, #0x60 add r5, r1, #0x0 @@ -10294,62 +10294,62 @@ sub_020063F4: ; 0x020063F4 add r0, sp, #0x18 str r2, [sp, #0x0] str r3, [sp, #0x4] - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x18 add r1, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 add r0, sp, #0x18 mov r1, #0xc mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C ldr r4, [sp, #0x14] add r0, sp, #0x18 add r1, r4, #0x4 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 add r1, sp, #0x8 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x8 ldrh r0, [r0, #0x0] cmp r0, r5 bgt _0200645A - bl sub_02020C2C + bl FUN_02020C2C _0200645A: ldr r0, [sp, #0x14] mov r2, #0x0 add r6, r4, r0 add r0, sp, #0x18 add r1, r6, #0x4 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x14 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r4, #0xc lsl r1, r5, #0x3 add r0, sp, #0x18 add r1, r4, r1 mov r2, #0x0 ldr r7, [sp, #0x14] - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x18 add r1, sp, #0x10 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 add r1, sp, #0xc mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r2, r6, r7 ldr r1, [sp, #0x10] add r2, #0x8 @@ -10358,7 +10358,7 @@ _0200645A: add r0, sp, #0x18 add r1, r1, r2 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r0, [sp, #0x78] cmp r0, #0x0 bne _020064B6 @@ -10369,33 +10369,33 @@ _020064B6: str r0, [sp, #0x14] cmp r0, #0x0 bne _020064C0 - bl sub_02020C2C + bl FUN_02020C2C _020064C0: ldr r0, [sp, #0x7c] cmp r0, #0x0 bne _020064D0 ldr r0, [sp, #0x0] ldr r1, [sp, #0x14] - bl sub_02016998 + bl FUN_02016998 b _020064D8 _020064D0: ldr r0, [sp, #0x0] ldr r1, [sp, #0x14] - bl sub_020169D8 + bl FUN_020169D8 _020064D8: add r4, r0, #0x0 ldr r2, [sp, #0x14] add r0, sp, #0x18 add r1, r4, #0x0 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x18 - blx sub_020D18FC + blx FUN_020D18FC add r0, r4, #0x0 add sp, #0x60 pop {r3-r7, pc} - thumb_func_start sub_020064F0 -sub_020064F0: ; 0x020064F0 + thumb_func_start FUN_020064F0 +FUN_020064F0: ; 0x020064F0 push {r3-r4, lr} sub sp, #0x4 mov r3, #0x0 @@ -10403,14 +10403,14 @@ sub_020064F0: ; 0x020064F0 ldr r1, _02006508 ; =0x021058A0 str r3, [sp, #0x0] ldr r1, [r1, r4] - bl sub_02006314 + bl FUN_02006314 add sp, #0x4 pop {r3-r4, pc} nop _02006508: .word 0x021058A0 - thumb_func_start sub_0200650C -sub_0200650C: ; 0x0200650C + thumb_func_start FUN_0200650C +FUN_0200650C: ; 0x0200650C push {r4, lr} sub sp, #0x8 mov r3, #0x0 @@ -10419,14 +10419,14 @@ sub_0200650C: ; 0x0200650C ldr r0, _02006524 ; =0x021058A0 str r3, [sp, #0x4] ldr r0, [r0, r4] - bl sub_020063F4 + bl FUN_020063F4 add sp, #0x8 pop {r4, pc} .balign 4 _02006524: .word 0x021058A0 - thumb_func_start sub_02006528 -sub_02006528: ; 0x02006528 + thumb_func_start FUN_02006528 +FUN_02006528: ; 0x02006528 push {r4, lr} sub sp, #0x8 mov r3, #0x0 @@ -10436,14 +10436,14 @@ sub_02006528: ; 0x02006528 lsl r4, r0, #0x2 ldr r0, _02006544 ; =0x021058A0 ldr r0, [r0, r4] - bl sub_020063F4 + bl FUN_020063F4 add sp, #0x8 pop {r4, pc} nop _02006544: .word 0x021058A0 - thumb_func_start sub_02006548 -sub_02006548: ; 0x02006548 + thumb_func_start FUN_02006548 +FUN_02006548: ; 0x02006548 push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] @@ -10451,14 +10451,14 @@ sub_02006548: ; 0x02006548 lsl r4, r1, #0x2 ldr r1, _02006560 ; =0x021058A0 ldr r1, [r1, r4] - bl sub_02006314 + bl FUN_02006314 add sp, #0x4 pop {r3-r4, pc} nop _02006560: .word 0x021058A0 - thumb_func_start sub_02006564 -sub_02006564: ; 0x02006564 + thumb_func_start FUN_02006564 +FUN_02006564: ; 0x02006564 push {r4, lr} sub sp, #0x8 ldr r4, [sp, #0x10] @@ -10468,14 +10468,14 @@ sub_02006564: ; 0x02006564 lsl r4, r0, #0x2 ldr r0, _02006580 ; =0x021058A0 ldr r0, [r0, r4] - bl sub_020063F4 + bl FUN_020063F4 add sp, #0x8 pop {r4, pc} nop _02006580: .word 0x021058A0 - thumb_func_start sub_02006584 -sub_02006584: ; 0x02006584 + thumb_func_start FUN_02006584 +FUN_02006584: ; 0x02006584 push {r4, lr} sub sp, #0x8 ldr r4, [sp, #0x10] @@ -10485,14 +10485,14 @@ sub_02006584: ; 0x02006584 lsl r4, r0, #0x2 ldr r0, _020065A0 ; =0x021058A0 ldr r0, [r0, r4] - bl sub_020063F4 + bl FUN_020063F4 add sp, #0x8 pop {r4, pc} nop _020065A0: .word 0x021058A0 - thumb_func_start sub_020065A4 -sub_020065A4: ; 0x020065A4 + thumb_func_start FUN_020065A4 +FUN_020065A4: ; 0x020065A4 push {r3-r7, lr} sub sp, #0x58 add r5, r1, #0x0 @@ -10504,77 +10504,77 @@ sub_020065A4: ; 0x020065A4 add r0, sp, #0x0 strh r1, [r0, #0x0] add r0, sp, #0x10 - blx sub_020D1C94 + blx FUN_020D1C94 ldr r1, _0200666C ; =0x021058A0 lsl r2, r4, #0x2 ldr r1, [r1, r2] add r0, sp, #0x10 - blx sub_020D1944 + blx FUN_020D1944 add r0, sp, #0x10 mov r1, #0xc mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x10 add r1, sp, #0xc mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C ldr r4, [sp, #0xc] add r0, sp, #0x10 add r1, r4, #0x4 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x10 add r1, sp, #0xc mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x10 add r1, sp, #0x0 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x0 ldrh r0, [r0, #0x0] cmp r0, r5 bgt _0200660A - bl sub_02020C2C + bl FUN_02020C2C _0200660A: ldr r0, [sp, #0xc] mov r2, #0x0 add r6, r4, r0 add r0, sp, #0x10 add r1, r6, #0x4 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x10 add r1, sp, #0xc mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r4, #0xc lsl r1, r5, #0x3 add r0, sp, #0x10 add r1, r4, r1 mov r2, #0x0 ldr r7, [sp, #0xc] - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x10 add r1, sp, #0x8 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x10 add r1, sp, #0x4 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r2, r6, r7 ldr r1, [sp, #0x8] add r2, #0x8 add r1, r2, r1 add r0, sp, #0x10 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r1, [sp, #0x4] ldr r0, [sp, #0x8] sub r0, r1, r0 str r0, [sp, #0xc] bne _02006664 - bl sub_02020C2C + bl FUN_02020C2C _02006664: ldr r0, [sp, #0xc] add sp, #0x58 @@ -10582,57 +10582,57 @@ _02006664: nop _0200666C: .word 0x021058A0 - thumb_func_start sub_02006670 -sub_02006670: ; 0x02006670 + thumb_func_start FUN_02006670 +FUN_02006670: ; 0x02006670 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x54 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _020066EC mov r1, #0x0 str r1, [r4, #0x48] - blx sub_020D1C94 + blx FUN_020D1C94 ldr r1, _020066F0 ; =0x021058A0 lsl r2, r5, #0x2 ldr r1, [r1, r2] add r0, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 add r0, r4, #0x0 mov r1, #0xc mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r1, r4, #0x0 add r0, r4, #0x0 add r1, #0x48 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C ldr r1, [r4, #0x48] add r0, r4, #0x0 add r1, r1, #0x4 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r4, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r1, r4, #0x0 add r0, r4, #0x0 add r1, #0x50 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C ldr r1, [r4, #0x48] ldr r0, [sp, #0x0] mov r2, #0x0 add r5, r1, r0 add r0, r4, #0x0 add r1, r5, #0x4 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r4, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldr r0, [sp, #0x0] add r0, r5, r0 str r0, [r4, #0x4c] @@ -10642,17 +10642,17 @@ _020066EC: .balign 4 _020066F0: .word 0x021058A0 - thumb_func_start sub_020066F4 -sub_020066F4: ; 0x020066F4 + thumb_func_start FUN_020066F4 +FUN_020066F4: ; 0x020066F4 push {r4, lr} add r4, r0, #0x0 - blx sub_020D18FC + blx FUN_020D18FC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02006704 -sub_02006704: ; 0x02006704 + thumb_func_start FUN_02006704 +FUN_02006704: ; 0x02006704 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -10662,7 +10662,7 @@ sub_02006704: ; 0x02006704 add r6, r2, #0x0 cmp r0, r4 bhi _0200671A - bl sub_02020C2C + bl FUN_02020C2C _0200671A: ldr r2, [r5, #0x48] lsl r1, r4, #0x3 @@ -10670,27 +10670,27 @@ _0200671A: add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r5, #0x0 add r1, sp, #0x4 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, r5, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldr r2, [r5, #0x4c] ldr r1, [sp, #0x4] add r2, #0x8 add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r2, [sp, #0x0] ldr r1, [sp, #0x4] add r0, r6, #0x0 sub r1, r2, r1 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _0200676C ldr r3, [sp, #0x0] @@ -10698,15 +10698,15 @@ _0200671A: add r0, r5, #0x0 add r1, r4, #0x0 sub r2, r3, r2 - blx sub_020D180C + blx FUN_020D180C _0200676C: add r0, r4, #0x0 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02006774 -sub_02006774: ; 0x02006774 + thumb_func_start FUN_02006774 +FUN_02006774: ; 0x02006774 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -10716,7 +10716,7 @@ sub_02006774: ; 0x02006774 add r6, r2, #0x0 cmp r0, r4 bhi _0200678A - bl sub_02020C2C + bl FUN_02020C2C _0200678A: ldr r2, [r5, #0x48] lsl r1, r4, #0x3 @@ -10724,33 +10724,33 @@ _0200678A: add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r5, #0x0 add r1, sp, #0x4 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, r5, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldr r2, [r5, #0x4c] ldr r1, [sp, #0x4] add r2, #0x8 add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r3, [sp, #0x0] ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r6, #0x0 sub r2, r3, r2 - blx sub_020D180C + blx FUN_020D180C add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_020067D0 -sub_020067D0: ; 0x020067D0 + thumb_func_start FUN_020067D0 +FUN_020067D0: ; 0x020067D0 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -10759,7 +10759,7 @@ sub_020067D0: ; 0x020067D0 add r4, r1, #0x0 cmp r0, r4 bhi _020067E4 - bl sub_02020C2C + bl FUN_02020C2C _020067E4: ldr r2, [r5, #0x48] lsl r1, r4, #0x3 @@ -10767,15 +10767,15 @@ _020067E4: add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r5, #0x0 add r1, sp, #0x4 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C add r0, r5, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] sub r0, r1, r0 @@ -10783,8 +10783,8 @@ _020067E4: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02006814 -sub_02006814: ; 0x02006814 + thumb_func_start FUN_02006814 +FUN_02006814: ; 0x02006814 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x50 @@ -10794,7 +10794,7 @@ sub_02006814: ; 0x02006814 add r7, r3, #0x0 cmp r0, r4 bhi _0200682A - bl sub_02020C2C + bl FUN_02020C2C _0200682A: ldr r2, [r5, #0x48] lsl r1, r4, #0x3 @@ -10802,11 +10802,11 @@ _0200682A: add r1, r2, r1 add r0, r5, #0x0 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, r5, #0x0 add r1, sp, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldr r2, [r5, #0x4c] ldr r1, [sp, #0x0] add r2, #0x8 @@ -10814,16 +10814,16 @@ _0200682A: add r0, r5, #0x0 add r1, r6, r1 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 ldr r1, [sp, #0x18] add r0, r5, #0x0 add r2, r7, #0x0 - blx sub_020D180C + blx FUN_020D180C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02006864 -sub_02006864: ; 0x02006864 + thumb_func_start FUN_02006864 +FUN_02006864: ; 0x02006864 add r3, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 @@ -10832,15 +10832,15 @@ sub_02006864: ; 0x02006864 nop _02006870: .word 0x020D180C - thumb_func_start sub_02006874 -sub_02006874: ; 0x02006874 + thumb_func_start FUN_02006874 +FUN_02006874: ; 0x02006874 add r0, #0x50 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0200687C -sub_0200687C: ; 0x0200687C + thumb_func_start FUN_0200687C +FUN_0200687C: ; 0x0200687C push {r3-r7, lr} sub sp, #0x8 add r6, r2, #0x0 @@ -10850,11 +10850,11 @@ sub_0200687C: ; 0x0200687C ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r4, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 add r7, r0, #0x0 beq _020068C2 add r1, sp, #0x4 - blx sub_020B0030 + blx FUN_020B0030 cmp r0, #0x0 beq _020068BC cmp r4, #0x0 @@ -10870,17 +10870,17 @@ _020068A8: ldr r2, [r2, #0x14] lsr r1, r1, #0x18 add r3, r4, #0x0 - bl sub_02017E14 + bl FUN_02017E14 _020068BC: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _020068C2: add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_020068C8 -sub_020068C8: ; 0x020068C8 + thumb_func_start FUN_020068C8 +FUN_020068C8: ; 0x020068C8 push {r3-r7, lr} sub sp, #0x8 add r6, r2, #0x0 @@ -10890,11 +10890,11 @@ sub_020068C8: ; 0x020068C8 ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] ldr r4, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 add r7, r0, #0x0 beq _0200692C add r1, sp, #0x4 - blx sub_020B0180 + blx FUN_020B0180 cmp r0, #0x0 beq _02006926 cmp r4, #0x0 @@ -10905,7 +10905,7 @@ _020068F4: lsl r1, r5, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 - bl sub_0201886C + bl FUN_0201886C cmp r0, #0x0 beq _02006912 ldr r2, [sp, #0x4] @@ -10914,7 +10914,7 @@ _020068F4: lsr r1, r1, #0x18 add r2, #0xc add r3, r4, #0x0 - bl sub_02017DFC + bl FUN_02017DFC _02006912: ldr r0, [sp, #0x20] lsl r1, r5, #0x18 @@ -10924,16 +10924,16 @@ _02006912: lsr r1, r1, #0x18 add r2, #0xc add r3, r4, #0x0 - bl sub_02017CE8 + bl FUN_02017CE8 _02006926: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0200692C: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02006930 -sub_02006930: ; 0x02006930 + thumb_func_start FUN_02006930 +FUN_02006930: ; 0x02006930 push {lr} sub sp, #0xc str r3, [sp, #0x0] @@ -10942,12 +10942,12 @@ sub_02006930: ; 0x02006930 ldr r3, [sp, #0x14] str r3, [sp, #0x8] mov r3, #0x0 - bl sub_02006948 + bl FUN_02006948 add sp, #0xc pop {pc} - thumb_func_start sub_02006948 -sub_02006948: ; 0x02006948 + thumb_func_start FUN_02006948 +FUN_02006948: ; 0x02006948 push {r4-r7, lr} sub sp, #0xc add r4, r2, #0x0 @@ -10958,12 +10958,12 @@ sub_02006948: ; 0x02006948 mov r2, #0x0 ldr r6, [sp, #0x20] ldr r5, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 str r0, [sp, #0x4] cmp r0, #0x0 beq _02006A2A add r1, sp, #0x8 - blx sub_020B0138 + blx FUN_020B0138 cmp r0, #0x0 beq _02006A24 ldr r0, [sp, #0x8] @@ -10979,7 +10979,7 @@ _02006982: ldr r0, [sp, #0x8] add r1, r5, #0x0 ldr r0, [r0, #0xc] - blx sub_020CC15C + blx FUN_020CC15C cmp r4, #0x7 bhi _02006A14 add r0, r4, r4 @@ -10996,7 +10996,7 @@ _02006982: lsl r6, r6, #0x1 lsl r0, r5, #0 lsl r4, r3, #0x1 - blx sub_020C8B10 + blx FUN_020C8B10 ldr r0, [sp, #0x8] ldr r3, _02006A30 ; =0x020ECBB0 lsl r4, r4, #0x2 @@ -11005,7 +11005,7 @@ _02006982: add r1, r6, #0x0 add r2, r5, #0x0 blx r3 - blx sub_020C8A2C + blx FUN_020C8A2C b _02006A24 _020069C6: .byte 0xC1, 0xF0, 0x82, 0xEF, 0x02, 0x98, 0x18, 0x4B, 0xA4, 0x00 @@ -11025,15 +11025,15 @@ _02006A14: blx r3 _02006A24: ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 _02006A2A: add sp, #0xc pop {r4-r7, pc} nop _02006A30: .word 0x020ECBB0 - thumb_func_start sub_02006A34 -sub_02006A34: ; 0x02006A34 + thumb_func_start FUN_02006A34 +FUN_02006A34: ; 0x02006A34 push {r3-r7, lr} sub sp, #0x8 add r5, r2, #0x0 @@ -11043,11 +11043,11 @@ sub_02006A34: ; 0x02006A34 ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] ldr r4, [sp, #0x20] - bl sub_02006C98 + bl FUN_02006C98 add r7, r0, #0x0 beq _02006A80 add r1, sp, #0x4 - blx sub_020B0088 + blx FUN_020B0088 cmp r0, #0x0 beq _02006A7A cmp r4, #0x0 @@ -11058,7 +11058,7 @@ _02006A60: ldr r0, [sp, #0x4] add r1, r4, #0x0 ldr r0, [r0, #0x14] - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [sp, #0x4] ldr r3, _02006A88 ; =0x020ECBA0 lsl r5, r5, #0x2 @@ -11069,7 +11069,7 @@ _02006A60: blx r3 _02006A7A: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006A80: add r0, r4, #0x0 add sp, #0x8 @@ -11077,8 +11077,8 @@ _02006A80: nop _02006A88: .word 0x020ECBA0 - thumb_func_start sub_02006A8C -sub_02006A8C: ; 0x02006A8C + thumb_func_start FUN_02006A8C +FUN_02006A8C: ; 0x02006A8C push {r4-r7, lr} sub sp, #0xc add r5, r2, #0x0 @@ -11087,15 +11087,15 @@ sub_02006A8C: ; 0x02006A8C str r2, [sp, #0x0] ldr r3, [sp, #0x20] mov r2, #0x0 - bl sub_02006C98 + bl FUN_02006C98 add r6, r0, #0x0 beq _02006AE0 add r1, sp, #0x4 - blx sub_020B00F0 + blx FUN_020B00F0 add r7, r0, #0x0 add r0, r6, #0x0 add r1, sp, #0x8 - blx sub_020B0138 + blx FUN_020B0138 cmp r0, #0x0 beq _02006ADA cmp r7, #0x0 @@ -11106,35 +11106,35 @@ sub_02006A8C: ; 0x02006A8C ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r3, r5, #0x0 - blx sub_020B10E8 + blx FUN_020B10E8 b _02006ADA _02006ACE: ldr r0, [sp, #0x8] ldr r3, [sp, #0x24] add r1, r4, #0x0 add r2, r5, #0x0 - blx sub_020B1240 + blx FUN_020B1240 _02006ADA: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006AE0: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02006AE4 -sub_02006AE4: ; 0x02006AE4 + thumb_func_start FUN_02006AE4 +FUN_02006AE4: ; 0x02006AE4 push {r4-r6, lr} sub sp, #0x8 add r5, r3, #0x0 mov r3, #0x1 str r3, [sp, #0x0] ldr r3, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 add r6, r0, #0x0 ldr r4, _02006B30 ; =0x00000000 beq _02006B28 add r1, sp, #0x4 - blx sub_020B0088 + blx FUN_020B0088 cmp r0, #0x0 beq _02006B22 ldr r1, [sp, #0x18] @@ -11155,7 +11155,7 @@ _02006B0E: ldr r4, [r0, #0x10] _02006B22: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006B28: add r0, r4, #0x0 add sp, #0x8 @@ -11164,19 +11164,19 @@ _02006B28: _02006B30: .word 0x00000000 _02006B34: .word 0x020ECBA8 - thumb_func_start sub_02006B38 -sub_02006B38: ; 0x02006B38 + thumb_func_start FUN_02006B38 +FUN_02006B38: ; 0x02006B38 push {r4-r6, lr} sub sp, #0x8 add r5, r3, #0x0 mov r3, #0x1 str r3, [sp, #0x0] ldr r3, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 add r4, r0, #0x0 beq _02006B9E add r1, sp, #0x4 - blx sub_020B0088 + blx FUN_020B0088 cmp r0, #0x0 beq _02006B98 ldr r1, [sp, #0x18] @@ -11218,7 +11218,7 @@ _02006B88: blx r5 _02006B98: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006B9E: add sp, #0x8 pop {r4-r6, pc} @@ -11227,22 +11227,22 @@ _02006BA4: .word 0x00300010 _02006BA8: .word 0x04001000 _02006BAC: .word 0x020ECB98 - thumb_func_start sub_02006BB0 -sub_02006BB0: ; 0x02006BB0 + thumb_func_start FUN_02006BB0 +FUN_02006BB0: ; 0x02006BB0 push {r3-r5, lr} add r4, r3, #0x0 mov r3, #0x0 str r3, [sp, #0x0] ldr r3, [sp, #0x10] - bl sub_02006C98 + bl FUN_02006C98 add r5, r0, #0x0 beq _02006BD6 add r1, r4, #0x0 - blx sub_020B0030 + blx FUN_020B0030 cmp r0, #0x0 bne _02006BD6 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02006BD6: @@ -11250,22 +11250,22 @@ _02006BD6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02006BDC -sub_02006BDC: ; 0x02006BDC + thumb_func_start FUN_02006BDC +FUN_02006BDC: ; 0x02006BDC push {r3-r5, lr} add r4, r3, #0x0 mov r3, #0x0 str r3, [sp, #0x0] ldr r3, [sp, #0x10] - bl sub_02006C98 + bl FUN_02006C98 add r5, r0, #0x0 beq _02006C02 add r1, r4, #0x0 - blx sub_020B0180 + blx FUN_020B0180 cmp r0, #0x0 bne _02006C02 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02006C02: @@ -11273,43 +11273,43 @@ _02006C02: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02006C08 -sub_02006C08: ; 0x02006C08 + thumb_func_start FUN_02006C08 +FUN_02006C08: ; 0x02006C08 push {r3-r5, lr} add r5, r2, #0x0 mov r2, #0x0 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 add r4, r0, #0x0 beq _02006C2C add r1, r5, #0x0 - blx sub_020B0138 + blx FUN_020B0138 cmp r0, #0x0 bne _02006C2C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02006C2C: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02006C30 -sub_02006C30: ; 0x02006C30 + thumb_func_start FUN_02006C30 +FUN_02006C30: ; 0x02006C30 push {r3-r5, lr} add r4, r3, #0x0 mov r3, #0x0 str r3, [sp, #0x0] ldr r3, [sp, #0x10] - bl sub_02006C98 + bl FUN_02006C98 add r5, r0, #0x0 beq _02006C56 add r1, r4, #0x0 - blx sub_020AFEB8 + blx FUN_020AFEB8 cmp r0, #0x0 bne _02006C56 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02006C56: @@ -11317,22 +11317,22 @@ _02006C56: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02006C5C -sub_02006C5C: ; 0x02006C5C + thumb_func_start FUN_02006C5C +FUN_02006C5C: ; 0x02006C5C push {r3-r5, lr} add r4, r3, #0x0 mov r3, #0x0 str r3, [sp, #0x0] ldr r3, [sp, #0x10] - bl sub_02006C98 + bl FUN_02006C98 add r5, r0, #0x0 beq _02006C82 add r1, r4, #0x0 - blx sub_020AFD94 + blx FUN_020AFD94 cmp r0, #0x0 bne _02006C82 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02006C82: @@ -11340,18 +11340,18 @@ _02006C82: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02006C88 -sub_02006C88: ; 0x02006C88 + thumb_func_start FUN_02006C88 +FUN_02006C88: ; 0x02006C88 push {r3, lr} add r3, r2, #0x0 mov r2, #0x0 str r2, [sp, #0x0] mov r2, #0x1 - bl sub_02006C98 + bl FUN_02006C98 pop {r3, pc} - thumb_func_start sub_02006C98 -sub_02006C98: ; 0x02006C98 + thumb_func_start FUN_02006C98 +FUN_02006C98: ; 0x02006C98 push {r3-r7, lr} add r5, r2, #0x0 add r7, r0, #0x0 @@ -11365,17 +11365,17 @@ sub_02006C98: ; 0x02006C98 _02006CAC: ldr r1, [sp, #0x0] add r0, r7, #0x0 - bl sub_020065A4 + bl FUN_020065A4 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 b _02006CCE _02006CC0: - bl sub_020065A4 + bl FUN_020065A4 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 _02006CCE: cmp r4, #0x0 @@ -11383,7 +11383,7 @@ _02006CCE: ldr r2, [sp, #0x0] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_020064F0 + bl FUN_020064F0 cmp r5, #0x0 beq _02006D12 ldr r0, [sp, #0x18] @@ -11392,22 +11392,22 @@ _02006CCE: ldr r1, [r4, #0x0] add r0, r6, #0x0 lsr r1, r1, #0x8 - bl sub_02016998 + bl FUN_02016998 b _02006CFC _02006CF2: ldr r1, [r4, #0x0] add r0, r6, #0x0 lsr r1, r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 _02006CFC: add r5, r0, #0x0 cmp r5, #0x0 beq _02006D10 add r0, r4, #0x0 add r1, r5, #0x0 - blx sub_020CE528 + blx FUN_020CE528 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006D10: add r4, r5, #0x0 _02006D12: @@ -11415,8 +11415,8 @@ _02006D12: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02006D18 -sub_02006D18: ; 0x02006D18 + thumb_func_start FUN_02006D18 +FUN_02006D18: ; 0x02006D18 push {r3-r7, lr} sub sp, #0x8 ldr r5, [sp, #0x24] @@ -11424,7 +11424,7 @@ sub_02006D18: ; 0x02006D18 str r1, [sp, #0x4] add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020065A4 + bl FUN_020065A4 str r0, [r5, #0x0] cmp r6, #0x0 bne _02006D36 @@ -11434,13 +11434,13 @@ sub_02006D18: ; 0x02006D18 _02006D36: ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 b _02006D4C _02006D42: ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 _02006D4C: cmp r4, #0x0 @@ -11448,7 +11448,7 @@ _02006D4C: ldr r1, [sp, #0x0] ldr r2, [sp, #0x4] add r0, r4, #0x0 - bl sub_020064F0 + bl FUN_020064F0 cmp r6, #0x0 beq _02006D92 ldr r0, [r4, #0x0] @@ -11459,21 +11459,21 @@ _02006D4C: bne _02006D74 ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 b _02006D7C _02006D74: ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_020169D8 + bl FUN_020169D8 _02006D7C: add r5, r0, #0x0 cmp r5, #0x0 beq _02006D90 add r0, r4, #0x0 add r1, r5, #0x0 - blx sub_020CE528 + blx FUN_020CE528 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02006D90: add r4, r5, #0x0 _02006D92: @@ -11481,14 +11481,14 @@ _02006D92: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02006D98 -sub_02006D98: ; 0x02006D98 + thumb_func_start FUN_02006D98 +FUN_02006D98: ; 0x02006D98 push {r3-r7, lr} sub sp, #0x10 mov r1, #0xba lsl r1, r1, #0x2 add r5, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0xa6 lsl r0, r0, #0x2 @@ -11511,30 +11511,30 @@ sub_02006D98: ; 0x02006D98 add r0, #0x10 str r2, [r4, r0] add r0, r5, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0xab lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r5, #0x0 mov r1, #0xc0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x2b lsl r1, r1, #0x4 str r0, [r4, r1] ldr r1, [r4, r1] mov r0, #0x0 mov r2, #0x4 - blx sub_020CE240 + blx FUN_020CE240 add r0, r5, #0x0 mov r1, #0xc0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0xad lsl r1, r1, #0x2 str r0, [r4, r1] ldr r1, [r4, r1] mov r0, #0x0 mov r2, #0x4 - blx sub_020CE240 + blx FUN_020CE240 mov r6, #0x0 add r5, r4, #0x0 add r7, r6, #0x0 @@ -11542,12 +11542,12 @@ _02006E12: add r0, r7, #0x0 add r1, r5, #0x0 mov r2, #0x98 - blx sub_020CE240 + blx FUN_020CE240 add r6, r6, #0x1 add r5, #0x98 cmp r6, #0x4 blt _02006E12 - blx sub_020B02C8 + blx FUN_020B02C8 ldr r2, _02006EC8 ; =0x000002E3 mov r0, #0x0 strb r0, [r4, r2] @@ -11555,10 +11555,10 @@ _02006E12: ldr r2, [r4, r2] mov r0, #0x75 mov r1, #0xd3 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0xc str r0, [sp, #0x4] - blx sub_020B0088 + blx FUN_020B0088 ldr r0, [sp, #0xc] mov r1, #0xaf ldr r0, [r0, #0x4] @@ -11575,7 +11575,7 @@ _02006E12: ldr r0, [sp, #0xc] ldr r0, [r0, #0x14] str r0, [sp, #0x8] - bl sub_02008A74 + bl FUN_02008A74 ldr r1, [sp, #0x8] mov r0, #0xab lsl r0, r0, #0x2 @@ -11583,7 +11583,7 @@ _02006E12: ldrb r1, [r1, #0x0] ldr r0, [r4, r0] lsl r2, r2, #0xe - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 mov r7, #0xab ldr r6, _02006ECC ; =0x00005050 @@ -11616,7 +11616,7 @@ _02006E8E: cmp r0, #0x50 blt _02006E86 ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02006ED0 ; =0x000002E1 mov r1, #0x1 strb r1, [r4, r0] @@ -11630,15 +11630,15 @@ _02006EC8: .word 0x000002E3 _02006ECC: .word 0x00005050 _02006ED0: .word 0x000002E1 - thumb_func_start sub_02006ED4 -sub_02006ED4: ; 0x02006ED4 + thumb_func_start FUN_02006ED4 +FUN_02006ED4: ; 0x02006ED4 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 - bl sub_020082A8 + bl FUN_020082A8 add r0, r5, #0x0 - bl sub_020086F4 - blx sub_020BB394 + bl FUN_020086F4 + blx FUN_020BB394 mov r6, #0x9f mov r0, #0x0 ldr r4, _02007250 ; =0x04000444 @@ -11698,7 +11698,7 @@ _02006F48: add r1, #0x24 blx r2 _02006F56: - blx sub_020BB394 + blx FUN_020BB394 ldr r0, _02007258 ; =0x000002E3 ldrb r0, [r5, r0] cmp r0, #0x1 @@ -11708,7 +11708,7 @@ _02006F56: str r1, [r0, #0x0] _02006F68: add r0, r4, #0x0 - bl sub_02007F48 + bl FUN_02007F48 mov r0, #0x9d lsl r0, r0, #0x2 ldr r0, [r5, r0] @@ -11757,7 +11757,7 @@ _02006F7E: ldrsh r0, [r0, r1] mov r1, #0x2 ldrsh r1, [r2, r1] - blx sub_020C8068 + blx FUN_020C8068 ldrh r0, [r4, #0x3a] asr r0, r0, #0x4 lsl r1, r0, #0x2 @@ -11766,7 +11766,7 @@ _02006F7E: ldrsh r0, [r0, r1] mov r1, #0x2 ldrsh r1, [r2, r1] - blx sub_020C802C + blx FUN_020C802C ldrh r0, [r4, #0x3c] asr r0, r0, #0x4 lsl r1, r0, #0x2 @@ -11775,7 +11775,7 @@ _02006F7E: ldrsh r0, [r0, r1] mov r1, #0x2 ldrsh r1, [r2, r1] - blx sub_020C7FF0 + blx FUN_020C7FF0 ldr r0, [r4, #0x28] lsl r0, r0, #0xc neg r1, r0 @@ -11908,7 +11908,7 @@ _02006F7E: add r2, r3, r2 asr r1, r1, #0x10 mov r3, r12 - blx sub_020B0250 + blx FUN_020B0250 b _02007174 _02007104: mov r0, #0x34 @@ -11965,7 +11965,7 @@ _02007104: lsl r1, r1, #0x10 asr r1, r1, #0x10 add r2, r6, r2 - blx sub_020B0250 + blx FUN_020B0250 _02007174: add r0, r4, #0x0 add r0, #0x6c @@ -12128,7 +12128,7 @@ _0200727C: lsl r1, r1, #0x10 ldr r2, _020072E0 ; =0xFFFFFC18 asr r1, r1, #0x10 - blx sub_020B0250 + blx FUN_020B0250 _020072BC: ldr r0, [sp, #0x14] add r4, #0x98 @@ -12153,29 +12153,29 @@ _020072D6: _020072E0: .word 0xFFFFFC18 _020072E4: .word 0x04000448 - thumb_func_start sub_020072E8 -sub_020072E8: ; 0x020072E8 + thumb_func_start FUN_020072E8 +FUN_020072E8: ; 0x020072E8 push {r4, lr} add r4, r0, #0x0 mov r0, #0xab lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x2b lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02007314 -sub_02007314: ; 0x02007314 + thumb_func_start FUN_02007314 +FUN_02007314: ; 0x02007314 push {r3-r4} add r1, r0, #0x0 mov r3, #0x0 @@ -12231,20 +12231,20 @@ _0200734A: bx lr .balign 4 - thumb_func_start sub_0200737C -sub_0200737C: ; 0x0200737C + thumb_func_start FUN_0200737C +FUN_0200737C: ; 0x0200737C add r2, r0, #0x0 - ldr r3, _0200738C ; =sub_020CE3E0 + ldr r3, _0200738C ; =FUN_020CE3E0 add r2, #0x84 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0x14 bx r3 nop -_0200738C: .word sub_020CE3E0 +_0200738C: .word FUN_020CE3E0 - thumb_func_start sub_02007390 -sub_02007390: ; 0x02007390 + thumb_func_start FUN_02007390 +FUN_02007390: ; 0x02007390 add r0, #0x58 ldrb r0, [r0, #0x0] cmp r0, #0x0 @@ -12255,8 +12255,8 @@ _0200739C: mov r0, #0x0 bx lr - thumb_func_start sub_020073A0 -sub_020073A0: ; 0x020073A0 + thumb_func_start FUN_020073A0 +FUN_020073A0: ; 0x020073A0 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 @@ -12276,7 +12276,7 @@ _020073AE: _020073BE: cmp r4, #0x4 bne _020073C6 - bl sub_02020C2C + bl FUN_02020C2C _020073C6: ldr r0, [sp, #0x30] ldr r3, [sp, #0x14] @@ -12291,12 +12291,12 @@ _020073C6: add r2, r7, #0x0 str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_020073E8 + bl FUN_020073E8 add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_020073E8 -sub_020073E8: ; 0x020073E8 + thumb_func_start FUN_020073E8 +FUN_020073E8: ; 0x020073E8 push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x8] @@ -12311,13 +12311,13 @@ sub_020073E8: ; 0x020073E8 str r3, [sp, #0x4] lsr r0, r0, #0x1f beq _02007408 - bl sub_02020C2C + bl FUN_02020C2C _02007408: add r5, r4, r6 mov r0, #0x0 add r1, r5, #0x0 mov r2, #0x98 - blx sub_020CE240 + blx FUN_020CE240 ldr r1, [r4, r6] mov r0, #0x1 bic r1, r0 @@ -12446,7 +12446,7 @@ _02007408: add r1, r4, r6 add r1, #0x84 mov r2, #0x14 - blx sub_020CE3E0 + blx FUN_020CE3E0 _02007518: add r0, r4, r6 add sp, #0xc @@ -12458,8 +12458,8 @@ _02007528: .word 0xFFF07FFF _0200752C: .word 0xFE0FFFFF _02007530: .word 0xC1FFFFFF - thumb_func_start sub_02007534 -sub_02007534: ; 0x02007534 + thumb_func_start FUN_02007534 +FUN_02007534: ; 0x02007534 ldr r2, [r0, #0x0] mov r1, #0x1 bic r2, r1 @@ -12467,14 +12467,14 @@ sub_02007534: ; 0x02007534 bx lr .balign 4 - thumb_func_start sub_02007540 -sub_02007540: ; 0x02007540 + thumb_func_start FUN_02007540 +FUN_02007540: ; 0x02007540 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _02007546: add r0, r5, #0x0 - bl sub_02007534 + bl FUN_02007534 add r4, r4, #0x1 add r5, #0x98 cmp r4, #0x4 @@ -12482,8 +12482,8 @@ _02007546: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02007558 -sub_02007558: ; 0x02007558 + thumb_func_start FUN_02007558 +FUN_02007558: ; 0x02007558 cmp r1, #0x2e bls _0200755E b _02007800 @@ -12588,8 +12588,8 @@ _02007804: .byte 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF .byte 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF - thumb_func_start sub_0200782C -sub_0200782C: ; 0x0200782C + thumb_func_start FUN_0200782C +FUN_0200782C: ; 0x0200782C push {r3, lr} cmp r1, #0x2e bls _02007834 @@ -12673,13 +12673,13 @@ _020078A4: .byte 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0xC0, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88 .byte 0x40, 0x06, 0x80, 0x0F, 0x08, 0xBD _020079D6: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020079E0 -sub_020079E0: ; 0x020079E0 + thumb_func_start FUN_020079E0 +FUN_020079E0: ; 0x020079E0 push {r3-r4} add r3, r0, #0x0 add r0, r2, #0x0 @@ -12816,8 +12816,8 @@ _02007E18: .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF .byte 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF - thumb_func_start sub_02007E40 -sub_02007E40: ; 0x02007E40 + thumb_func_start FUN_02007E40 +FUN_02007E40: ; 0x02007E40 push {r4-r5} ldr r5, [r0, #0x54] mov r4, #0x2 @@ -12839,8 +12839,8 @@ sub_02007E40: ; 0x02007E40 bx lr .balign 4 - thumb_func_start sub_02007E68 -sub_02007E68: ; 0x02007E68 + thumb_func_start FUN_02007E68 +FUN_02007E68: ; 0x02007E68 push {r4-r5} mov r4, #0x1 ldr r5, [r0, #0x54] @@ -12866,8 +12866,8 @@ sub_02007E68: ; 0x02007E68 bx lr .balign 4 - thumb_func_start sub_02007E98 -sub_02007E98: ; 0x02007E98 + thumb_func_start FUN_02007E98 +FUN_02007E98: ; 0x02007E98 push {r4-r7} add r4, r0, #0x0 add r0, r1, #0x0 @@ -12913,8 +12913,8 @@ _02007EDE: bx lr .balign 4 - thumb_func_start sub_02007EEC -sub_02007EEC: ; 0x02007EEC + thumb_func_start FUN_02007EEC +FUN_02007EEC: ; 0x02007EEC ldr r2, [r0, #0x54] ldr r1, _02007F1C ; =0xFFFFEFFF and r1, r2 @@ -12942,8 +12942,8 @@ sub_02007EEC: ; 0x02007EEC .balign 4 _02007F1C: .word 0xFFFFEFFF - thumb_func_start sub_02007F20 -sub_02007F20: ; 0x02007F20 + thumb_func_start FUN_02007F20 +FUN_02007F20: ; 0x02007F20 ldr r0, [r0, #0x54] lsl r0, r0, #0x13 lsr r0, r0, #0x1f @@ -12956,8 +12956,8 @@ _02007F2E: bx lr .balign 4 - thumb_func_start sub_02007F34 -sub_02007F34: ; 0x02007F34 + thumb_func_start FUN_02007F34 +FUN_02007F34: ; 0x02007F34 mov r2, #0x28 sub r2, r2, r1 mov r1, #0x36 @@ -12969,8 +12969,8 @@ sub_02007F34: ; 0x02007F34 bx lr .balign 4 - thumb_func_start sub_02007F48 -sub_02007F48: ; 0x02007F48 + thumb_func_start FUN_02007F48 +FUN_02007F48: ; 0x02007F48 push {r4-r7} add r1, r0, #0x0 add r1, #0x58 @@ -13081,8 +13081,8 @@ _0200800A: bx lr .balign 4 - thumb_func_start sub_02008010 -sub_02008010: ; 0x02008010 + thumb_func_start FUN_02008010 +FUN_02008010: ; 0x02008010 mov r2, #0x1 strb r2, [r0, #0x0] mov r3, #0x0 @@ -13101,8 +13101,8 @@ _02008024: blt _02008024 bx lr - thumb_func_start sub_02008030 -sub_02008030: ; 0x02008030 + thumb_func_start FUN_02008030 +FUN_02008030: ; 0x02008030 push {r4-r7} ldrb r1, [r0, #0x0] cmp r1, #0x0 @@ -13194,8 +13194,8 @@ _020080C6: bx lr .balign 4 - thumb_func_start sub_020080D0 -sub_020080D0: ; 0x020080D0 + thumb_func_start FUN_020080D0 +FUN_020080D0: ; 0x020080D0 ldr r2, [r0, #0x0] mov r1, #0x80 orr r2, r1 @@ -13205,8 +13205,8 @@ sub_020080D0: ; 0x020080D0 bx lr .balign 4 - thumb_func_start sub_020080E0 -sub_020080E0: ; 0x020080E0 + thumb_func_start FUN_020080E0 +FUN_020080E0: ; 0x020080E0 push {r3-r4} add r2, r0, #0x0 add r3, r2, #0x0 @@ -13254,8 +13254,8 @@ sub_020080E0: ; 0x020080E0 pop {r3-r4} bx lr - thumb_func_start sub_0200813C -sub_0200813C: ; 0x0200813C + thumb_func_start FUN_0200813C +FUN_0200813C: ; 0x0200813C push {r3-r4} add r2, r0, #0x0 add r4, r2, #0x0 @@ -13311,8 +13311,8 @@ sub_0200813C: ; 0x0200813C bx lr .balign 4 - thumb_func_start sub_020081A8 -sub_020081A8: ; 0x020081A8 + thumb_func_start FUN_020081A8 +FUN_020081A8: ; 0x020081A8 mov r3, #0xa7 lsl r3, r3, #0x2 str r1, [r0, r3] @@ -13320,8 +13320,8 @@ sub_020081A8: ; 0x020081A8 str r2, [r0, r1] bx lr - thumb_func_start sub_020081B4 -sub_020081B4: ; 0x020081B4 + thumb_func_start FUN_020081B4 +FUN_020081B4: ; 0x020081B4 mov r3, #0xa9 lsl r3, r3, #0x2 str r1, [r0, r3] @@ -13329,13 +13329,13 @@ sub_020081B4: ; 0x020081B4 str r2, [r0, r1] bx lr - thumb_func_start sub_020081C0 -sub_020081C0: ; 0x020081C0 + thumb_func_start FUN_020081C0 +FUN_020081C0: ; 0x020081C0 add r0, r0, #0x4 bx lr - thumb_func_start sub_020081C4 -sub_020081C4: ; 0x020081C4 + thumb_func_start FUN_020081C4 +FUN_020081C4: ; 0x020081C4 push {r4, lr} add r4, r0, #0x0 ldr r0, _02008254 ; =0x000002E1 @@ -13346,7 +13346,7 @@ sub_020081C4: ; 0x020081C4 strb r1, [r4, r0] sub r0, #0x81 add r0, r4, r0 - blx sub_020B1A24 + blx FUN_020B1A24 mov r3, #0xae lsl r3, r3, #0x2 mov r1, #0x20 @@ -13372,7 +13372,7 @@ sub_020081C4: ; 0x020081C4 ldr r1, [r4, r1] mov r2, #0x0 add r3, r4, r3 - blx sub_020B1528 + blx FUN_020B1528 _02008212: ldr r0, _02008258 ; =0x000002E2 ldrb r1, [r4, r0] @@ -13382,7 +13382,7 @@ _02008212: strb r1, [r4, r0] sub r0, #0x5e add r0, r4, r0 - blx sub_020B19DC + blx FUN_020B19DC mov r3, #0xaa lsl r3, r3, #0x2 add r0, r3, #0x0 @@ -13403,27 +13403,27 @@ _02008212: add r0, r4, r0 mov r2, #0x0 add r3, r4, r3 - blx sub_020B1240 + blx FUN_020B1240 _02008252: pop {r4, pc} .balign 4 _02008254: .word 0x000002E1 _02008258: .word 0x000002E2 - thumb_func_start sub_0200825C -sub_0200825C: ; 0x0200825C + thumb_func_start FUN_0200825C +FUN_0200825C: ; 0x0200825C ldr r2, _02008264 ; =0x000002E3 strb r1, [r0, r2] bx lr nop _02008264: .word 0x000002E3 - thumb_func_start sub_02008268 -sub_02008268: ; 0x02008268 + thumb_func_start FUN_02008268 +FUN_02008268: ; 0x02008268 push {r4, lr} add r4, r0, #0x0 bne _02008272 - bl sub_02020C2C + bl FUN_02020C2C _02008272: ldr r0, [r4, #0x0] lsl r0, r0, #0x1f @@ -13436,8 +13436,8 @@ _0200827E: pop {r4, pc} .balign 4 - thumb_func_start sub_02008284 -sub_02008284: ; 0x02008284 + thumb_func_start FUN_02008284 +FUN_02008284: ; 0x02008284 mov r2, #0xb9 lsl r2, r2, #0x2 ldr r3, [r0, r2] @@ -13445,8 +13445,8 @@ sub_02008284: ; 0x02008284 str r1, [r0, r2] bx lr - thumb_func_start sub_02008290 -sub_02008290: ; 0x02008290 + thumb_func_start FUN_02008290 +FUN_02008290: ; 0x02008290 push {r3-r4} mov r3, #0xb9 lsl r3, r3, #0x2 @@ -13460,8 +13460,8 @@ sub_02008290: ; 0x02008290 bx lr .balign 4 - thumb_func_start sub_020082A8 -sub_020082A8: ; 0x020082A8 + thumb_func_start FUN_020082A8 +FUN_020082A8: ; 0x020082A8 push {r4-r7, lr} sub sp, #0x5c add r6, r0, #0x0 @@ -13496,10 +13496,10 @@ _020082CC: ldrh r0, [r0, #0x4] ldrh r1, [r1, #0x6] ldr r2, [r6, r2] - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x58 str r0, [sp, #0x4c] - blx sub_020B0088 + blx FUN_020B0088 ldr r0, [sp, #0x58] mov r1, #0xaf ldr r0, [r0, #0x4] @@ -13516,10 +13516,10 @@ _020082CC: ldr r0, [sp, #0x58] ldr r0, [r0, #0x14] str r0, [sp, #0x50] - bl sub_02008A74 + bl FUN_02008A74 ldr r0, [sp, #0x44] ldr r1, [sp, #0x50] - bl sub_020088EC + bl FUN_020088EC ldr r0, [sp, #0x54] cmp r0, #0x3 beq _02008326 @@ -13565,7 +13565,7 @@ _02008356: sub r1, r0, r4 ldr r0, [sp, #0x1c] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13581,7 +13581,7 @@ _02008386: sub r1, r0, r4 ldr r0, [sp, #0x18] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13614,7 +13614,7 @@ _020083C4: ldr r1, [sp, #0xc] ldr r0, [sp, #0x14] lsl r1, r1, #0x1 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _020083F4 mov r0, #0xab @@ -13633,7 +13633,7 @@ _020083C4: _020083F4: ldr r1, [sp, #0xc] add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _02008416 mov r0, #0xab @@ -13686,7 +13686,7 @@ _02008442: sub r1, r0, r1 ldr r0, [sp, #0x1c] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13704,7 +13704,7 @@ _02008472: sub r1, r0, r1 ldr r0, [sp, #0x18] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13737,7 +13737,7 @@ _020084B4: ldr r1, [sp, #0x8] ldr r0, [sp, #0x14] lsl r1, r1, #0x1 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _020084E4 mov r0, #0xab @@ -13756,7 +13756,7 @@ _020084B4: _020084E4: ldr r1, [sp, #0x8] add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _02008504 mov r0, #0xab @@ -13860,7 +13860,7 @@ _0200858E: sub r1, r0, r4 ldr r0, [sp, #0x30] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13874,7 +13874,7 @@ _020085BA: sub r1, r0, r1 ldr r0, [sp, #0x30] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13890,7 +13890,7 @@ _020085D6: sub r1, r0, r4 ldr r0, [sp, #0x2c] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13904,7 +13904,7 @@ _020085F6: sub r1, r0, r1 ldr r0, [sp, #0x2c] ldrb r0, [r0, r1] - bl sub_020088D8 + bl FUN_020088D8 mov r1, #0xab lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -13933,7 +13933,7 @@ _0200862C: ldr r1, [sp, #0x4] ldr r0, [sp, #0x0] lsl r1, r1, #0x1 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _02008654 mov r0, #0xab @@ -13948,7 +13948,7 @@ _0200862C: _02008654: ldr r1, [sp, #0x4] add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 beq _02008672 mov r0, #0xab @@ -14003,7 +14003,7 @@ _020086A4: b _0200855C _020086BC: ldr r0, [sp, #0x4c] - bl sub_02016A18 + bl FUN_02016A18 _020086C2: ldr r0, [sp, #0x44] mov r1, #0xa @@ -14030,8 +14030,8 @@ _020086E8: .word 0x00002828 _020086EC: .word 0x00002827 _020086F0: .word 0x000002E1 - thumb_func_start sub_020086F4 -sub_020086F4: ; 0x020086F4 + thumb_func_start FUN_020086F4 +FUN_020086F4: ; 0x020086F4 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -14059,10 +14059,10 @@ _02008706: ldrh r0, [r4, #0x4] ldrh r1, [r4, #0x8] ldr r2, [r5, r2] - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x18 str r0, [sp, #0x10] - blx sub_020B0138 + blx FUN_020B0138 ldr r0, [sp, #0x18] mov r7, #0x0 ldr r1, [r0, #0x0] @@ -14093,7 +14093,7 @@ _0200874A: cmp r7, #0x10 blt _0200874A ldr r0, [sp, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0x6c ldrh r0, [r0, #0x0] @@ -14105,10 +14105,10 @@ _0200874A: ldr r2, [r5, r2] mov r0, #0x75 mov r1, #0xd4 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x18 str r0, [sp, #0x4] - blx sub_020B0138 + blx FUN_020B0138 ldr r0, [sp, #0x18] mov r7, #0xad ldr r0, [r0, #0xc] @@ -14146,7 +14146,7 @@ _0200879E: cmp r1, #0x10 blt _0200879E ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 _020087E0: ldr r0, [r4, #0x0] lsl r0, r0, #0x1f @@ -14186,7 +14186,7 @@ _020087E0: add r1, r2, r1 ldrb r3, [r3, #0x0] mov r2, #0x10 - bl sub_02003974 + bl FUN_02003974 add r0, r4, #0x0 add r0, #0x6c ldrh r0, [r0, #0x0] @@ -14210,7 +14210,7 @@ _020087E0: add r1, r2, r1 ldrb r3, [r3, #0x0] mov r2, #0x10 - bl sub_02003974 + bl FUN_02003974 _02008862: add r0, r4, #0x0 add r0, #0x49 @@ -14275,8 +14275,8 @@ _020088CC: .word 0xFFFFFEFF _020088D0: .word 0xFFFFEFFF _020088D4: .word 0x000002E2 - thumb_func_start sub_020088D8 -sub_020088D8: ; 0x020088D8 + thumb_func_start FUN_020088D8 +FUN_020088D8: ; 0x020088D8 mov r1, #0xf0 and r1, r0 lsl r1, r1, #0x14 @@ -14288,8 +14288,8 @@ sub_020088D8: ; 0x020088D8 lsr r0, r0, #0x18 bx lr - thumb_func_start sub_020088EC -sub_020088EC: ; 0x020088EC + thumb_func_start FUN_020088EC +FUN_020088EC: ; 0x020088EC push {r3, lr} add r2, r0, #0x0 ldrh r0, [r2, #0xa] @@ -14298,13 +14298,13 @@ sub_020088EC: ; 0x020088EC add r0, r1, #0x0 ldr r1, [r2, #0x10] mov r2, #0x1 - bl sub_02008904 + bl FUN_02008904 _02008900: pop {r3, pc} .balign 4 - thumb_func_start sub_02008904 -sub_02008904: ; 0x02008904 + thumb_func_start FUN_02008904 +FUN_02008904: ; 0x02008904 push {r4-r7, lr} sub sp, #0x1c add r3, r0, #0x0 @@ -14484,8 +14484,8 @@ _02008A4A: nop _02008A50: .word 0x02105AE8 - thumb_func_start sub_02008A54 -sub_02008A54: ; 0x02008A54 + thumb_func_start FUN_02008A54 +FUN_02008A54: ; 0x02008A54 ldr r2, [r0, #0x0] ldr r1, _02008A6C ; =0x41C64E6D add r3, r2, #0x0 @@ -14501,8 +14501,8 @@ sub_02008A54: ; 0x02008A54 _02008A6C: .word 0x41C64E6D _02008A70: .word 0x00006073 - thumb_func_start sub_02008A74 -sub_02008A74: ; 0x02008A74 + thumb_func_start FUN_02008A74 +FUN_02008A74: ; 0x02008A74 push {r3-r7, lr} ldr r1, _02008AA0 ; =0x000018FE mov r6, #0x0 @@ -14518,7 +14518,7 @@ _02008A86: eor r0, r1 strh r0, [r5, #0x0] add r0, r7, #0x0 - bl sub_02008A54 + bl FUN_02008A54 sub r4, r4, #0x1 sub r5, r5, #0x2 cmp r4, r6 @@ -14527,8 +14527,8 @@ _02008A86: nop _02008AA0: .word 0x000018FE - thumb_func_start sub_02008AA4 -sub_02008AA4: ; 0x02008AA4 + thumb_func_start FUN_02008AA4 +FUN_02008AA4: ; 0x02008AA4 push {r3-r7, lr} sub sp, #0x18 mov r4, #0x0 @@ -14542,49 +14542,49 @@ sub_02008AA4: ; 0x02008AA4 str r4, [sp, #0xc] cmp r0, #0x0 bne _02008AC2 - bl sub_02020C2C + bl FUN_02020C2C _02008AC2: ldr r0, [sp, #0x48] cmp r0, #0x0 bne _02008ACC - bl sub_02020C2C + bl FUN_02020C2C _02008ACC: ldr r0, [sp, #0x50] cmp r0, #0x0 bne _02008AD6 - bl sub_02020C2C + bl FUN_02020C2C _02008AD6: ldr r0, [sp, #0x4c] cmp r0, #0x0 bne _02008AE0 - bl sub_02020C2C + bl FUN_02020C2C _02008AE0: cmp r5, #0x0 bne _02008AE8 - bl sub_02020C2C + bl FUN_02020C2C _02008AE8: ldr r0, [sp, #0x44] add r1, r6, #0x0 - bl sub_020094F0 + bl FUN_020094F0 add r7, r0, #0x0 bne _02008AF8 - bl sub_02020C2C + bl FUN_02020C2C _02008AF8: ldr r0, [sp, #0x48] ldr r1, [sp, #0x0] - bl sub_020094F0 + bl FUN_020094F0 str r0, [sp, #0x14] cmp r0, #0x0 bne _02008B0A - bl sub_02020C2C + bl FUN_02020C2C _02008B0A: ldr r0, [sp, #0x4c] ldr r1, [sp, #0x4] - bl sub_020094F0 + bl FUN_020094F0 str r0, [sp, #0x10] cmp r0, #0x0 bne _02008B1C - bl sub_02020C2C + bl FUN_02020C2C _02008B1C: ldr r0, [sp, #0x50] cmp r0, #0x0 @@ -14594,11 +14594,11 @@ _02008B1C: mvn r2, r2 cmp r1, r2 beq _02008B3A - bl sub_020094F0 + bl FUN_020094F0 str r0, [sp, #0xc] cmp r0, #0x0 bne _02008B3A - bl sub_02020C2C + bl FUN_02020C2C _02008B3A: ldr r0, [sp, #0x54] cmp r0, #0x0 @@ -14608,7 +14608,7 @@ _02008B3A: mvn r2, r2 cmp r1, r2 beq _02008B50 - bl sub_020094F0 + bl FUN_020094F0 add r4, r0, #0x0 _02008B50: mov r0, #0x0 @@ -14617,7 +14617,7 @@ _02008B50: cmp r1, r0 beq _02008B62 ldr r0, [sp, #0x58] - bl sub_020094F0 + bl FUN_020094F0 str r0, [sp, #0x8] _02008B62: ldr r0, [sp, #0x3c] @@ -14625,37 +14625,37 @@ _02008B62: beq _02008B82 ldr r1, [sp, #0x10] add r0, r7, #0x0 - bl sub_02009C80 + bl FUN_02009C80 add r6, r0, #0x0 bne _02008B78 - bl sub_02020C2C + bl FUN_02020C2C _02008B78: add r0, r7, #0x0 - bl sub_02009544 + bl FUN_02009544 str r0, [r5, #0x4] b _02008B94 _02008B82: add r0, r7, #0x0 - bl sub_02009C5C + bl FUN_02009C5C add r6, r0, #0x0 bne _02008B90 - bl sub_02020C2C + bl FUN_02020C2C _02008B90: mov r0, #0x0 str r0, [r5, #0x4] _02008B94: ldr r0, [sp, #0x14] add r1, r6, #0x0 - bl sub_02009E54 + bl FUN_02009E54 str r0, [r5, #0x8] ldr r0, [sp, #0x10] str r6, [r5, #0x0] - bl sub_02009574 + bl FUN_02009574 str r0, [r5, #0xc] ldr r0, [sp, #0xc] cmp r0, #0x0 beq _02008BB4 - bl sub_0200958C + bl FUN_0200958C b _02008BB6 _02008BB4: mov r0, #0x0 @@ -14664,10 +14664,10 @@ _02008BB6: cmp r4, #0x0 beq _02008BCC add r0, r4, #0x0 - bl sub_020095A4 + bl FUN_020095A4 str r0, [r5, #0x14] ldr r0, [sp, #0x8] - bl sub_020095BC + bl FUN_020095BC b _02008BD0 _02008BCC: mov r0, #0x0 @@ -14682,8 +14682,8 @@ _02008BD0: add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_02008BE0 -sub_02008BE0: ; 0x02008BE0 + thumb_func_start FUN_02008BE0 +FUN_02008BE0: ; 0x02008BE0 push {r4-r7, lr} sub sp, #0x34 add r5, r0, #0x0 @@ -14714,12 +14714,12 @@ _02008C0A: _02008C14: add r0, r7, #0x0 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x24 add r6, r0, #0x0 add r0, r7, #0x0 mul r1, r4 - bl sub_02016998 + bl FUN_02016998 str r0, [r6, #0x0] mov r7, #0x0 str r4, [r6, #0x4] @@ -14754,7 +14754,7 @@ _02008C34: ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r0, r0, r4 - bl sub_02008AA4 + bl FUN_02008AA4 ldr r0, [r6, #0x4] add r7, r7, #0x1 add r5, #0x20 @@ -14766,24 +14766,24 @@ _02008C7A: add sp, #0x34 pop {r4-r7, pc} - thumb_func_start sub_02008C80 -sub_02008C80: ; 0x02008C80 + thumb_func_start FUN_02008C80 +FUN_02008C80: ; 0x02008C80 push {r4, lr} add r4, r0, #0x0 bne _02008C8A - bl sub_02020C2C + bl FUN_02020C2C _02008C8A: ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02008C94 - bl sub_02016A18 + bl FUN_02016A18 _02008C94: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02008C9C -sub_02008C9C: ; 0x02008C9C + thumb_func_start FUN_02008C9C +FUN_02008C9C: ; 0x02008C9C push {r3-r6, lr} sub sp, #0x1c add r4, r1, #0x0 @@ -14791,7 +14791,7 @@ sub_02008C9C: ; 0x02008C9C ldr r1, _02008D00 ; =0xFFFFF000 add r0, r4, #0x0 add r6, r2, #0x0 - bl sub_0202134C + bl FUN_0202134C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -14806,7 +14806,7 @@ sub_02008C9C: ; 0x02008C9C add r1, sp, #0x0 mov r2, #0x1 add r3, r4, #0x0 - bl sub_02009FD8 + bl FUN_02009FD8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xff @@ -14821,19 +14821,19 @@ sub_02008C9C: ; 0x02008C9C add r1, sp, #0x0 mov r2, #0x2 add r3, r4, #0x0 - bl sub_02009FD8 + bl FUN_02009FD8 add r0, sp, #0x10 str r5, [sp, #0x10] str r4, [sp, #0x14] str r6, [sp, #0x18] - bl sub_0201FCB0 + bl FUN_0201FCB0 add sp, #0x1c pop {r3-r6, pc} nop _02008D00: .word 0xFFFFF000 - thumb_func_start sub_02008D04 -sub_02008D04: ; 0x02008D04 + thumb_func_start FUN_02008D04 +FUN_02008D04: ; 0x02008D04 push {r3, lr} sub sp, #0x10 str r1, [sp, #0x0] @@ -14846,12 +14846,12 @@ sub_02008D04: ; 0x02008D04 add r0, #0x98 add r1, sp, #0x0 str r2, [sp, #0x4] - bl sub_02021390 + bl FUN_02021390 add sp, #0x10 pop {r3, pc} - thumb_func_start sub_02008D24 -sub_02008D24: ; 0x02008D24 + thumb_func_start FUN_02008D24 +FUN_02008D24: ; 0x02008D24 push {r3, lr} sub sp, #0x10 str r1, [sp, #0x0] @@ -14864,12 +14864,12 @@ sub_02008D24: ; 0x02008D24 add r0, #0xe0 add r1, sp, #0x0 str r2, [sp, #0x4] - bl sub_02021390 + bl FUN_02021390 add sp, #0x10 pop {r3, pc} - thumb_func_start sub_02008D44 -sub_02008D44: ; 0x02008D44 + thumb_func_start FUN_02008D44 +FUN_02008D44: ; 0x02008D44 push {r4, lr} add r4, r0, #0x0 cmp r1, #0x10 @@ -14882,10 +14882,10 @@ sub_02008D44: ; 0x02008D44 beq _02008D98 b _02008DC4 _02008D5A: - blx sub_020C5DBC + blx FUN_020C5DBC cmp r0, #0x40 beq _02008D6A - blx sub_020C5DBC + blx FUN_020C5DBC cmp r0, #0x20 bne _02008D7A _02008D6A: @@ -14894,7 +14894,7 @@ _02008D6A: lsl r0, r0, #0x8 lsl r1, r1, #0x8 add r2, r4, #0x0 - bl sub_0201D194 + bl FUN_0201D194 pop {r4, pc} _02008D7A: mov r0, #0x7e @@ -14902,20 +14902,20 @@ _02008D7A: lsl r0, r0, #0x8 lsl r1, r1, #0x8 add r2, r4, #0x0 - bl sub_0201D194 + bl FUN_0201D194 pop {r4, pc} _02008D8A: mov r0, #0xfe lsr r1, r2, #0xb lsl r0, r0, #0x8 add r2, r4, #0x0 - bl sub_0201D194 + bl FUN_0201D194 pop {r4, pc} _02008D98: - blx sub_020C5DBC + blx FUN_020C5DBC cmp r0, #0x30 beq _02008DA8 - blx sub_020C5DBC + blx FUN_020C5DBC cmp r0, #0x50 bne _02008DB6 _02008DA8: @@ -14923,17 +14923,17 @@ _02008DA8: ldr r0, _02008DD4 ; =0x00013E00 lsl r1, r1, #0x8 add r2, r4, #0x0 - bl sub_0201D194 + bl FUN_0201D194 pop {r4, pc} _02008DB6: mov r1, #0x2 ldr r0, _02008DD8 ; =0x0001FE00 lsl r1, r1, #0x8 add r2, r4, #0x0 - bl sub_0201D194 + bl FUN_0201D194 pop {r4, pc} _02008DC4: - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} nop _02008DCC: .word 0x00100010 @@ -14941,8 +14941,8 @@ _02008DD0: .word 0x00200010 _02008DD4: .word 0x00013E00 _02008DD8: .word 0x0001FE00 - thumb_func_start sub_02008DDC -sub_02008DDC: ; 0x02008DDC + thumb_func_start FUN_02008DDC +FUN_02008DDC: ; 0x02008DDC ldr r3, _02008DE8 ; =0x0201E069 add r1, r0, #0x0 mov r0, #0x3 @@ -14951,30 +14951,30 @@ sub_02008DDC: ; 0x02008DDC nop _02008DE8: .word 0x0201E069 - thumb_func_start sub_02008DEC -sub_02008DEC: ; 0x02008DEC + thumb_func_start FUN_02008DEC +FUN_02008DEC: ; 0x02008DEC push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 str r2, [sp, #0x0] add r0, r2, #0x0 mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02020C44 + bl FUN_02020C44 str r0, [r4, #0x0] mov r0, #0xc add r7, r5, #0x0 mul r7, r0 ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 add r2, r7, #0x0 str r0, [r4, #0x4] - blx sub_020DF4A4 + blx FUN_020DF4A4 str r5, [r4, #0x8] mov r0, #0x0 str r0, [r4, #0xc] @@ -14982,39 +14982,39 @@ sub_02008DEC: ; 0x02008DEC add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02008E2C -sub_02008E2C: ; 0x02008E2C + thumb_func_start FUN_02008E2C +FUN_02008E2C: ; 0x02008E2C push {r4, lr} add r4, r0, #0x0 bne _02008E36 - bl sub_02020C2C + bl FUN_02020C2C _02008E36: ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02008E40 - bl sub_02020C2C + bl FUN_02020C2C _02008E40: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _02008E4A - bl sub_02020C2C + bl FUN_02020C2C _02008E4A: add r0, r4, #0x0 - bl sub_020094C4 + bl FUN_020094C4 ldr r0, [r4, #0x0] - bl sub_02020C90 + bl FUN_02020C90 mov r0, #0x0 str r0, [r4, #0x0] ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x4] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02008E6C -sub_02008E6C: ; 0x02008E6C + thumb_func_start FUN_02008E6C +FUN_02008E6C: ; 0x02008E6C push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15023,29 +15023,29 @@ sub_02008E6C: ; 0x02008E6C add r7, r3, #0x0 cmp r5, #0x0 bne _02008E80 - bl sub_02020C2C + bl FUN_02020C2C _02008E80: cmp r4, #0x0 bne _02008E88 - bl sub_02020C2C + bl FUN_02020C2C _02008E88: ldr r0, [r4, #0x4] cmp r0, r6 bgt _02008E92 - bl sub_02020C2C + bl FUN_02020C2C _02008E92: ldr r1, [r5, #0x10] ldr r0, [r4, #0x8] cmp r1, r0 beq _02008E9E - bl sub_02020C2C + bl FUN_02020C2C _02008E9E: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 str r0, [sp, #0x1c] cmp r0, #0x0 bne _02008EAE - bl sub_02020C2C + bl FUN_02020C2C _02008EAE: ldrb r0, [r4, #0xc] cmp r0, #0x0 @@ -15057,10 +15057,10 @@ _02008EAE: add r6, r2, r1 ldr r1, [r2, r1] add r0, r5, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x1 beq _02008ECE - bl sub_02020C2C + bl FUN_02020C2C _02008ECE: ldr r0, [r6, #0x44] ldr r1, [sp, #0x1c] @@ -15073,7 +15073,7 @@ _02008ECE: str r7, [sp, #0xc] ldr r3, [r6, #0x0] add r0, r5, #0x0 - bl sub_0200994C + bl FUN_0200994C b _02008F28 _02008EEA: mov r0, #0x18 @@ -15082,10 +15082,10 @@ _02008EEA: add r6, r1, r0 ldr r1, [r6, #0xc] add r0, r5, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x1 beq _02008F02 - bl sub_02020C2C + bl FUN_02020C2C _02008F02: ldr r0, [r6, #0x8] ldr r1, [sp, #0x1c] @@ -15104,7 +15104,7 @@ _02008F02: ldr r2, [r6, #0x0] ldr r3, [r6, #0x4] add r0, r5, #0x0 - bl sub_02009978 + bl FUN_02009978 _02008F28: ldr r0, [r5, #0xc] add r0, r0, #0x1 @@ -15113,8 +15113,8 @@ _02008F28: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_02008F34 -sub_02008F34: ; 0x02008F34 + thumb_func_start FUN_02008F34 +FUN_02008F34: ; 0x02008F34 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15123,18 +15123,18 @@ sub_02008F34: ; 0x02008F34 str r2, [sp, #0x1c] cmp r5, #0x0 bne _02008F48 - bl sub_02020C2C + bl FUN_02020C2C _02008F48: ldr r0, [r5, #0x10] cmp r0, #0x0 beq _02008F52 - bl sub_02020C2C + bl FUN_02020C2C _02008F52: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02008F60 - bl sub_02020C2C + bl FUN_02020C2C _02008F60: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15151,7 +15151,7 @@ _02008F60: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02009978 + bl FUN_02009978 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15160,8 +15160,8 @@ _02008F60: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02008F90 -sub_02008F90: ; 0x02008F90 + thumb_func_start FUN_02008F90 +FUN_02008F90: ; 0x02008F90 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15170,18 +15170,18 @@ sub_02008F90: ; 0x02008F90 str r2, [sp, #0x1c] cmp r5, #0x0 bne _02008FA4 - bl sub_02020C2C + bl FUN_02020C2C _02008FA4: ldr r0, [r5, #0x10] cmp r0, #0x0 beq _02008FAE - bl sub_02020C2C + bl FUN_02020C2C _02008FAE: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02008FBC - bl sub_02020C2C + bl FUN_02020C2C _02008FBC: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15199,7 +15199,7 @@ _02008FBC: add r2, r7, #0x0 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_02009978 + bl FUN_02009978 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15207,8 +15207,8 @@ _02008FBC: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_02008FEC -sub_02008FEC: ; 0x02008FEC + thumb_func_start FUN_02008FEC +FUN_02008FEC: ; 0x02008FEC push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15217,18 +15217,18 @@ sub_02008FEC: ; 0x02008FEC str r2, [sp, #0x1c] cmp r5, #0x0 bne _02009000 - bl sub_02020C2C + bl FUN_02020C2C _02009000: ldr r0, [r5, #0x10] cmp r0, #0x1 beq _0200900A - bl sub_02020C2C + bl FUN_02020C2C _0200900A: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02009018 - bl sub_02020C2C + bl FUN_02020C2C _02009018: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15247,7 +15247,7 @@ _02009018: mov r0, #0x0 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_02009978 + bl FUN_02009978 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15256,8 +15256,8 @@ _02009018: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200904C -sub_0200904C: ; 0x0200904C + thumb_func_start FUN_0200904C +FUN_0200904C: ; 0x0200904C push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15266,18 +15266,18 @@ sub_0200904C: ; 0x0200904C str r2, [sp, #0x1c] cmp r5, #0x0 bne _02009060 - bl sub_02020C2C + bl FUN_02020C2C _02009060: ldr r0, [r5, #0x10] cmp r0, #0x1 beq _0200906A - bl sub_02020C2C + bl FUN_02020C2C _0200906A: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02009078 - bl sub_02020C2C + bl FUN_02020C2C _02009078: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15296,7 +15296,7 @@ _02009078: ldr r0, [sp, #0x48] str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_02009978 + bl FUN_02009978 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15305,8 +15305,8 @@ _02009078: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020090AC -sub_020090AC: ; 0x020090AC + thumb_func_start FUN_020090AC +FUN_020090AC: ; 0x020090AC push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15315,13 +15315,13 @@ sub_020090AC: ; 0x020090AC str r2, [sp, #0x1c] cmp r5, #0x0 bne _020090C0 - bl sub_02020C2C + bl FUN_02020C2C _020090C0: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _020090CE - bl sub_02020C2C + bl FUN_02020C2C _020090CE: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15338,7 +15338,7 @@ _020090CE: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02009978 + bl FUN_02009978 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15346,8 +15346,8 @@ _020090CE: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_020090FC -sub_020090FC: ; 0x020090FC + thumb_func_start FUN_020090FC +FUN_020090FC: ; 0x020090FC push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -15356,31 +15356,31 @@ sub_020090FC: ; 0x020090FC str r3, [sp, #0x20] cmp r5, #0x0 bne _02009110 - bl sub_02020C2C + bl FUN_02020C2C _02009110: ldr r0, [r5, #0x10] cmp r0, #0x0 beq _0200911A - bl sub_02020C2C + bl FUN_02020C2C _0200911A: cmp r4, #0x0 bne _02009122 - bl sub_02020C2C + bl FUN_02020C2C _02009122: ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0200912C - bl sub_02020C2C + bl FUN_02020C2C _0200912C: add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02009490 + bl FUN_02009490 ldr r0, [sp, #0x38] mov r1, #0x0 str r0, [sp, #0x0] @@ -15395,12 +15395,12 @@ _0200912C: ldr r3, [sp, #0x20] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02009978 + bl FUN_02009978 add sp, #0x24 pop {r4-r7, pc} - thumb_func_start sub_02009168 -sub_02009168: ; 0x02009168 + thumb_func_start FUN_02009168 +FUN_02009168: ; 0x02009168 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 @@ -15409,34 +15409,34 @@ sub_02009168: ; 0x02009168 str r3, [sp, #0x20] cmp r5, #0x0 bne _0200917C - bl sub_02020C2C + bl FUN_02020C2C _0200917C: ldr r0, [r5, #0x10] cmp r0, #0x1 beq _02009186 - bl sub_02020C2C + bl FUN_02020C2C _02009186: cmp r4, #0x0 bne _0200918E - bl sub_02020C2C + bl FUN_02020C2C _0200918E: ldr r0, [r4, #0x4] cmp r0, #0x1 beq _02009198 - bl sub_02020C2C + bl FUN_02020C2C _02009198: add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02009610 + bl FUN_02009610 str r0, [sp, #0x24] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02009490 + bl FUN_02009490 ldr r0, [sp, #0x40] ldr r2, [sp, #0x1c] str r0, [sp, #0x0] @@ -15453,12 +15453,12 @@ _02009198: str r0, [sp, #0x18] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02009978 + bl FUN_02009978 add sp, #0x28 pop {r3-r7, pc} - thumb_func_start sub_020091E0 -sub_020091E0: ; 0x020091E0 + thumb_func_start FUN_020091E0 +FUN_020091E0: ; 0x020091E0 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15467,18 +15467,18 @@ sub_020091E0: ; 0x020091E0 str r2, [sp, #0x1c] cmp r5, #0x0 bne _020091F4 - bl sub_02020C2C + bl FUN_02020C2C _020091F4: ldr r0, [r5, #0x10] cmp r0, #0x0 beq _020091FE - bl sub_02020C2C + bl FUN_02020C2C _020091FE: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _0200920C - bl sub_02020C2C + bl FUN_02020C2C _0200920C: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15495,7 +15495,7 @@ _0200920C: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020099B0 + bl FUN_020099B0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15504,8 +15504,8 @@ _0200920C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200923C -sub_0200923C: ; 0x0200923C + thumb_func_start FUN_0200923C +FUN_0200923C: ; 0x0200923C push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15514,18 +15514,18 @@ sub_0200923C: ; 0x0200923C str r2, [sp, #0x1c] cmp r5, #0x0 bne _02009250 - bl sub_02020C2C + bl FUN_02020C2C _02009250: ldr r0, [r5, #0x10] cmp r0, #0x0 beq _0200925A - bl sub_02020C2C + bl FUN_02020C2C _0200925A: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02009268 - bl sub_02020C2C + bl FUN_02020C2C _02009268: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15543,7 +15543,7 @@ _02009268: add r2, r7, #0x0 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_020099B0 + bl FUN_020099B0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15551,8 +15551,8 @@ _02009268: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_02009298 -sub_02009298: ; 0x02009298 + thumb_func_start FUN_02009298 +FUN_02009298: ; 0x02009298 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15561,18 +15561,18 @@ sub_02009298: ; 0x02009298 str r2, [sp, #0x1c] cmp r5, #0x0 bne _020092AC - bl sub_02020C2C + bl FUN_02020C2C _020092AC: ldr r0, [r5, #0x10] cmp r0, #0x1 beq _020092B6 - bl sub_02020C2C + bl FUN_02020C2C _020092B6: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _020092C4 - bl sub_02020C2C + bl FUN_02020C2C _020092C4: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15591,7 +15591,7 @@ _020092C4: mov r0, #0x0 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_020099B0 + bl FUN_020099B0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15600,8 +15600,8 @@ _020092C4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020092F8 -sub_020092F8: ; 0x020092F8 + thumb_func_start FUN_020092F8 +FUN_020092F8: ; 0x020092F8 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15610,18 +15610,18 @@ sub_020092F8: ; 0x020092F8 str r2, [sp, #0x1c] cmp r5, #0x0 bne _0200930C - bl sub_02020C2C + bl FUN_02020C2C _0200930C: ldr r0, [r5, #0x10] cmp r0, #0x1 beq _02009316 - bl sub_02020C2C + bl FUN_02020C2C _02009316: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _02009324 - bl sub_02020C2C + bl FUN_02020C2C _02009324: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15640,7 +15640,7 @@ _02009324: ldr r0, [sp, #0x48] str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_020099B0 + bl FUN_020099B0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15649,8 +15649,8 @@ _02009324: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02009358 -sub_02009358: ; 0x02009358 + thumb_func_start FUN_02009358 +FUN_02009358: ; 0x02009358 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -15659,13 +15659,13 @@ sub_02009358: ; 0x02009358 str r2, [sp, #0x1c] cmp r5, #0x0 bne _0200936C - bl sub_02020C2C + bl FUN_02020C2C _0200936C: add r0, r5, #0x0 - bl sub_020097D0 + bl FUN_020097D0 add r6, r0, #0x0 bne _0200937A - bl sub_02020C2C + bl FUN_02020C2C _0200937A: ldr r0, [sp, #0x38] str r4, [sp, #0x0] @@ -15682,7 +15682,7 @@ _0200937A: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020099B0 + bl FUN_020099B0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -15690,8 +15690,8 @@ _0200937A: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_020093A8 -sub_020093A8: ; 0x020093A8 + thumb_func_start FUN_020093A8 +FUN_020093A8: ; 0x020093A8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -15700,11 +15700,11 @@ sub_020093A8: ; 0x020093A8 add r7, r3, #0x0 cmp r5, #0x0 bne _020093BC - bl sub_02020C2C + bl FUN_02020C2C _020093BC: cmp r4, #0x0 bne _020093C4 - bl sub_02020C2C + bl FUN_02020C2C _020093C4: str r6, [sp, #0x0] str r7, [sp, #0x4] @@ -15712,14 +15712,14 @@ _020093C4: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020093DC + bl FUN_020093DC ldr r0, [r4, #0x4] add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020093DC -sub_020093DC: ; 0x020093DC + thumb_func_start FUN_020093DC +FUN_020093DC: ; 0x020093DC push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -15738,7 +15738,7 @@ _020093F6: ldr r1, [sp, #0x4] ldr r3, [sp, #0x24] add r2, r5, #0x0 - bl sub_02008E6C + bl FUN_02008E6C cmp r4, #0x0 beq _0200941A ldr r2, [r4, #0x8] @@ -15759,18 +15759,18 @@ _02009420: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02009424 -sub_02009424: ; 0x02009424 + thumb_func_start FUN_02009424 +FUN_02009424: ; 0x02009424 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 lsl r1, r5, #0x2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] str r5, [r4, #0x4] mov r0, #0x0 @@ -15778,65 +15778,65 @@ sub_02009424: ; 0x02009424 add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02009448 -sub_02009448: ; 0x02009448 + thumb_func_start FUN_02009448 +FUN_02009448: ; 0x02009448 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0200945C -sub_0200945C: ; 0x0200945C + thumb_func_start FUN_0200945C +FUN_0200945C: ; 0x0200945C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0200946A - bl sub_02020C2C + bl FUN_02020C2C _0200946A: ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_02020CB0 + bl FUN_02020CB0 pop {r3-r5, pc} - thumb_func_start sub_02009474 -sub_02009474: ; 0x02009474 + thumb_func_start FUN_02009474 +FUN_02009474: ; 0x02009474 push {r4, lr} add r4, r0, #0x0 bne _0200947E - bl sub_02020C2C + bl FUN_02020C2C _0200947E: add r0, r4, #0x0 - bl sub_02009920 + bl FUN_02009920 ldr r0, [r4, #0x0] mov r1, #0x0 - bl sub_02020E1C + bl FUN_02020E1C pop {r4, pc} .balign 4 - thumb_func_start sub_02009490 -sub_02009490: ; 0x02009490 + thumb_func_start FUN_02009490 +FUN_02009490: ; 0x02009490 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0200949E - bl sub_02020C2C + bl FUN_02020C2C _0200949E: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _020094A8 - bl sub_02020C2C + bl FUN_02020C2C _020094A8: add r0, r4, #0x0 - bl sub_02009920 + bl FUN_02009920 ldr r0, [r5, #0x0] ldr r1, [r4, #0x0] - bl sub_02020D68 + bl FUN_02020D68 mov r0, #0x0 str r0, [r4, #0x0] ldr r0, [r5, #0xc] @@ -15845,8 +15845,8 @@ _020094A8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020094C4 -sub_020094C4: ; 0x020094C4 + thumb_func_start FUN_020094C4 +FUN_020094C4: ; 0x020094C4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] @@ -15861,7 +15861,7 @@ _020094D2: beq _020094E2 add r0, r5, #0x0 add r1, r1, r4 - bl sub_02009490 + bl FUN_02009490 _020094E2: ldr r0, [r5, #0x8] add r6, r6, #0x1 @@ -15872,14 +15872,14 @@ _020094EC: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020094F0 -sub_020094F0: ; 0x020094F0 + thumb_func_start FUN_020094F0 +FUN_020094F0: ; 0x020094F0 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _020094FE - bl sub_02020C2C + bl FUN_02020C2C _020094FE: ldr r0, [r5, #0x8] mov r6, #0x0 @@ -15891,7 +15891,7 @@ _02009508: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009522 - bl sub_02020E38 + bl FUN_02020E38 cmp r0, r7 bne _02009522 mov r0, #0xc @@ -15909,150 +15909,150 @@ _0200952C: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02009530 -sub_02009530: ; 0x02009530 + thumb_func_start FUN_02009530 +FUN_02009530: ; 0x02009530 push {r4, lr} add r4, r0, #0x0 bne _0200953A - bl sub_02020C2C + bl FUN_02020C2C _0200953A: ldr r0, [r4, #0x0] - bl sub_02020E38 + bl FUN_02020E38 pop {r4, pc} .balign 4 - thumb_func_start sub_02009544 -sub_02009544: ; 0x02009544 + thumb_func_start FUN_02009544 +FUN_02009544: ; 0x02009544 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02009552 - bl sub_02020C2C + bl FUN_02020C2C _02009552: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_0200955C -sub_0200955C: ; 0x0200955C + thumb_func_start FUN_0200955C +FUN_0200955C: ; 0x0200955C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 beq _0200956A - bl sub_02020C2C + bl FUN_02020C2C _0200956A: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_02009574 -sub_02009574: ; 0x02009574 + thumb_func_start FUN_02009574 +FUN_02009574: ; 0x02009574 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x2 beq _02009582 - bl sub_02020C2C + bl FUN_02020C2C _02009582: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_0200958C -sub_0200958C: ; 0x0200958C + thumb_func_start FUN_0200958C +FUN_0200958C: ; 0x0200958C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 beq _0200959A - bl sub_02020C2C + bl FUN_02020C2C _0200959A: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_020095A4 -sub_020095A4: ; 0x020095A4 + thumb_func_start FUN_020095A4 +FUN_020095A4: ; 0x020095A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x4 beq _020095B2 - bl sub_02020C2C + bl FUN_02020C2C _020095B2: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_020095BC -sub_020095BC: ; 0x020095BC + thumb_func_start FUN_020095BC +FUN_020095BC: ; 0x020095BC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x5 beq _020095CA - bl sub_02020C2C + bl FUN_02020C2C _020095CA: add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_020095D4 -sub_020095D4: ; 0x020095D4 + thumb_func_start FUN_020095D4 +FUN_020095D4: ; 0x020095D4 push {r4, lr} add r4, r0, #0x0 bne _020095DE - bl sub_02020C2C + bl FUN_02020C2C _020095DE: ldr r0, [r4, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_020095E4 -sub_020095E4: ; 0x020095E4 + thumb_func_start FUN_020095E4 +FUN_020095E4: ; 0x020095E4 push {r4, lr} add r4, r0, #0x0 bne _020095EE - bl sub_02020C2C + bl FUN_02020C2C _020095EE: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _020095FE add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x4] pop {r4, pc} _020095FE: cmp r0, #0x1 bne _0200960C add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x4] pop {r4, pc} _0200960C: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02009610 -sub_02009610: ; 0x02009610 + thumb_func_start FUN_02009610 +FUN_02009610: ; 0x02009610 push {r4, lr} add r4, r0, #0x0 bne _0200961A - bl sub_02020C2C + bl FUN_02020C2C _0200961A: ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0200962A add r0, r4, #0x0 - bl sub_02009934 + bl FUN_02009934 ldr r0, [r0, #0x8] pop {r4, pc} _0200962A: @@ -16060,59 +16060,59 @@ _0200962A: pop {r4, pc} .balign 4 - thumb_func_start sub_02009630 -sub_02009630: ; 0x02009630 + thumb_func_start FUN_02009630 +FUN_02009630: ; 0x02009630 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0200963E - bl sub_02020C2C + bl FUN_02020C2C _0200963E: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _0200964C add r0, r5, #0x0 - bl sub_02009934 + bl FUN_02009934 str r4, [r0, #0x4] _0200964C: ldr r0, [r5, #0x4] cmp r0, #0x1 bne _0200965A add r0, r5, #0x0 - bl sub_02009934 + bl FUN_02009934 str r4, [r0, #0x4] _0200965A: pop {r3-r5, pc} - thumb_func_start sub_0200965C -sub_0200965C: ; 0x0200965C + thumb_func_start FUN_0200965C +FUN_0200965C: ; 0x0200965C mov r0, #0x10 bx lr - thumb_func_start sub_02009660 -sub_02009660: ; 0x02009660 + thumb_func_start FUN_02009660 +FUN_02009660: ; 0x02009660 lsl r1, r1, #0x4 add r0, r0, r1 bx lr .balign 4 - thumb_func_start sub_02009668 -sub_02009668: ; 0x02009668 + thumb_func_start FUN_02009668 +FUN_02009668: ; 0x02009668 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x0 bne _02009678 - bl sub_02020C2C + bl FUN_02020C2C _02009678: ldr r0, [r5, #0x0] str r0, [r4, #0x8] mov r0, #0x1 strb r0, [r4, #0xc] add r0, r5, #0x4 - bl sub_020099E8 + bl FUN_020099E8 add r2, r0, #0x0 str r0, [r4, #0x4] cmp r2, #0x0 @@ -16120,7 +16120,7 @@ _02009678: mov r1, #0x18 add r0, r6, #0x0 mul r1, r2 - bl sub_02016998 + bl FUN_02016998 b _0200969C _0200969A: mov r0, #0x0 @@ -16133,19 +16133,19 @@ _0200969C: mov r2, #0x18 add r1, r5, #0x4 mul r2, r3 - blx sub_020DF438 + blx FUN_020DF438 _020096B0: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020096B4 -sub_020096B4: ; 0x020096B4 + thumb_func_start FUN_020096B4 +FUN_020096B4: ; 0x020096B4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020096C2 - bl sub_02016A18 + bl FUN_02016A18 _020096C2: mov r0, #0x0 str r0, [r4, #0x0] @@ -16153,30 +16153,30 @@ _020096C2: pop {r4, pc} .balign 4 - thumb_func_start sub_020096CC -sub_020096CC: ; 0x020096CC + thumb_func_start FUN_020096CC +FUN_020096CC: ; 0x020096CC push {r4, lr} add r4, r0, #0x0 bne _020096D6 - bl sub_02020C2C + bl FUN_02020C2C _020096D6: ldr r0, [r4, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_020096DC -sub_020096DC: ; 0x020096DC + thumb_func_start FUN_020096DC +FUN_020096DC: ; 0x020096DC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020096EA - bl sub_02020C2C + bl FUN_02020C2C _020096EA: ldr r0, [r5, #0x4] cmp r0, r4 bgt _020096F4 - bl sub_02020C2C + bl FUN_02020C2C _020096F4: ldrb r0, [r5, #0xc] ldr r1, [r5, #0x0] @@ -16194,19 +16194,19 @@ _02009704: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009710 -sub_02009710: ; 0x02009710 + thumb_func_start FUN_02009710 +FUN_02009710: ; 0x02009710 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0200971E - bl sub_02020C2C + bl FUN_02020C2C _0200971E: ldr r0, [r5, #0x4] cmp r0, r4 bgt _02009728 - bl sub_02020C2C + bl FUN_02020C2C _02009728: ldrb r0, [r5, #0xc] cmp r0, #0x1 @@ -16220,19 +16220,19 @@ _02009738: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0200973C -sub_0200973C: ; 0x0200973C + thumb_func_start FUN_0200973C +FUN_0200973C: ; 0x0200973C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0200974A - bl sub_02020C2C + bl FUN_02020C2C _0200974A: ldr r0, [r5, #0x4] cmp r0, r4 bgt _02009754 - bl sub_02020C2C + bl FUN_02020C2C _02009754: ldrb r0, [r5, #0xc] cmp r0, #0x1 @@ -16246,19 +16246,19 @@ _02009764: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02009768 -sub_02009768: ; 0x02009768 + thumb_func_start FUN_02009768 +FUN_02009768: ; 0x02009768 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02009776 - bl sub_02020C2C + bl FUN_02020C2C _02009776: ldr r0, [r5, #0x4] cmp r0, r4 bgt _02009780 - bl sub_02020C2C + bl FUN_02020C2C _02009780: ldrb r0, [r5, #0xc] ldr r1, [r5, #0x0] @@ -16276,19 +16276,19 @@ _02009792: ldr r0, [r0, #0x10] pop {r3-r5, pc} - thumb_func_start sub_0200979C -sub_0200979C: ; 0x0200979C + thumb_func_start FUN_0200979C +FUN_0200979C: ; 0x0200979C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020097AA - bl sub_02020C2C + bl FUN_02020C2C _020097AA: ldr r0, [r5, #0x4] cmp r0, r4 bgt _020097B4 - bl sub_02020C2C + bl FUN_02020C2C _020097B4: ldrb r0, [r5, #0xc] ldr r1, [r5, #0x0] @@ -16306,8 +16306,8 @@ _020097C6: ldr r0, [r0, #0x14] pop {r3-r5, pc} - thumb_func_start sub_020097D0 -sub_020097D0: ; 0x020097D0 + thumb_func_start FUN_020097D0 +FUN_020097D0: ; 0x020097D0 push {r3-r4} ldr r4, [r0, #0x8] mov r1, #0x0 @@ -16334,8 +16334,8 @@ _020097F6: pop {r3-r4} bx lr - thumb_func_start sub_020097FC -sub_020097FC: ; 0x020097FC + thumb_func_start FUN_020097FC +FUN_020097FC: ; 0x020097FC push {r3-r7, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] @@ -16343,7 +16343,7 @@ sub_020097FC: ; 0x020097FC add r7, r2, #0x0 str r3, [sp, #0x0] ldr r5, [sp, #0x18] - bl sub_02020E0C + bl FUN_02020E0C cmp r6, #0x5 bhi _0200986A add r1, r6, r6 @@ -16360,7 +16360,7 @@ sub_020097FC: ; 0x020097FC lsl r2, r0, #0x1 add r1, r7, #0x0 add r2, r5, #0x0 - bl sub_0200986C + bl FUN_0200986C str r0, [r4, #0x8] pop {r3-r7, pc} _02009836: @@ -16371,132 +16371,132 @@ _02009836: _0200986A: pop {r3-r7, pc} - thumb_func_start sub_0200986C -sub_0200986C: ; 0x0200986C + thumb_func_start FUN_0200986C +FUN_0200986C: ; 0x0200986C push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r2, #0x0 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020B0088 + blx FUN_020B0088 str r5, [r4, #0x4] add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200988C -sub_0200988C: ; 0x0200988C + thumb_func_start FUN_0200988C +FUN_0200988C: ; 0x0200988C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r0, r3, #0x0 mov r1, #0xc add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 - blx sub_020B0138 + blx FUN_020B0138 str r5, [r4, #0x4] str r6, [r4, #0x8] add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020098B0 -sub_020098B0: ; 0x020098B0 + thumb_func_start FUN_020098B0 +FUN_020098B0: ; 0x020098B0 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020AFEB8 + blx FUN_020AFEB8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020098CC -sub_020098CC: ; 0x020098CC + thumb_func_start FUN_020098CC +FUN_020098CC: ; 0x020098CC push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020AFD94 + blx FUN_020AFD94 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020098E8 -sub_020098E8: ; 0x020098E8 + thumb_func_start FUN_020098E8 +FUN_020098E8: ; 0x020098E8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020AFFD8 + blx FUN_020AFFD8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009904 -sub_02009904: ; 0x02009904 + thumb_func_start FUN_02009904 +FUN_02009904: ; 0x02009904 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020AFD88 + blx FUN_020AFD88 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009920 -sub_02009920: ; 0x02009920 + thumb_func_start FUN_02009920 +FUN_02009920: ; 0x02009920 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x8] cmp r0, #0x0 beq _0200992E - bl sub_02016A18 + bl FUN_02016A18 _0200992E: mov r0, #0x0 str r0, [r4, #0x8] pop {r4, pc} - thumb_func_start sub_02009934 -sub_02009934: ; 0x02009934 + thumb_func_start FUN_02009934 +FUN_02009934: ; 0x02009934 push {r4, lr} add r4, r0, #0x0 bne _0200993E - bl sub_02020C2C + bl FUN_02020C2C _0200993E: ldr r0, [r4, #0x8] cmp r0, #0x0 bne _02009948 - bl sub_02020C2C + bl FUN_02020C2C _02009948: ldr r0, [r4, #0x8] pop {r4, pc} - thumb_func_start sub_0200994C -sub_0200994C: ; 0x0200994C + thumb_func_start FUN_0200994C +FUN_0200994C: ; 0x0200994C push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 @@ -16504,7 +16504,7 @@ sub_0200994C: ; 0x0200994C add r2, r3, #0x0 ldr r0, [r0, #0x0] ldr r3, [sp, #0x1c] - bl sub_02020D10 + bl FUN_02020D10 str r0, [r4, #0x0] ldr r1, [sp, #0x18] ldr r0, [sp, #0x1c] @@ -16513,13 +16513,13 @@ sub_0200994C: ; 0x0200994C ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] add r0, r4, #0x0 - bl sub_020097FC + bl FUN_020097FC add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02009978 -sub_02009978: ; 0x02009978 + thumb_func_start FUN_02009978 +FUN_02009978: ; 0x02009978 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [sp, #0x28] @@ -16529,11 +16529,11 @@ sub_02009978: ; 0x02009978 add r1, r3, #0x0 ldr r2, [sp, #0x10] ldr r3, [sp, #0x24] - bl sub_02006C98 + bl FUN_02006C98 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r2, [sp, #0x14] - bl sub_02020CD4 + bl FUN_02020CD4 str r0, [r4, #0x0] ldr r1, [sp, #0x20] ldr r0, [sp, #0x24] @@ -16542,12 +16542,12 @@ sub_02009978: ; 0x02009978 ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] add r0, r4, #0x0 - bl sub_020097FC + bl FUN_020097FC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020099B0 -sub_020099B0: ; 0x020099B0 + thumb_func_start FUN_020099B0 +FUN_020099B0: ; 0x020099B0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [sp, #0x28] @@ -16557,11 +16557,11 @@ sub_020099B0: ; 0x020099B0 add r1, r3, #0x0 ldr r2, [sp, #0x10] ldr r3, [sp, #0x24] - bl sub_02009A04 + bl FUN_02009A04 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r2, [sp, #0x14] - bl sub_02020CD4 + bl FUN_02020CD4 str r0, [r4, #0x0] ldr r1, [sp, #0x20] ldr r0, [sp, #0x24] @@ -16570,12 +16570,12 @@ sub_020099B0: ; 0x020099B0 ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] add r0, r4, #0x0 - bl sub_020097FC + bl FUN_020097FC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020099E8 -sub_020099E8: ; 0x020099E8 + thumb_func_start FUN_020099E8 +FUN_020099E8: ; 0x020099E8 mov r3, #0x0 ldr r2, [r0, #0x0] sub r1, r3, #0x2 @@ -16593,13 +16593,13 @@ _020099FE: bx lr .balign 4 - thumb_func_start sub_02009A04 -sub_02009A04: ; 0x02009A04 + thumb_func_start FUN_02009A04 +FUN_02009A04: ; 0x02009A04 push {r4-r6, lr} add r6, r3, #0x0 add r5, r2, #0x0 add r2, r6, #0x0 - bl sub_02006704 + bl FUN_02006704 add r4, r0, #0x0 beq _02009A4A cmp r5, #0x0 @@ -16610,22 +16610,22 @@ sub_02009A04: ; 0x02009A04 ldr r1, [r4, #0x0] add r0, r6, #0x0 lsr r1, r1, #0x8 - bl sub_02016998 + bl FUN_02016998 b _02009A34 _02009A2A: ldr r1, [r4, #0x0] add r0, r6, #0x0 lsr r1, r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 _02009A34: add r5, r0, #0x0 cmp r5, #0x0 beq _02009A48 add r0, r4, #0x0 add r1, r5, #0x0 - blx sub_020CE528 + blx FUN_020CE528 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02009A48: add r4, r5, #0x0 _02009A4A: @@ -16633,42 +16633,42 @@ _02009A4A: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02009A50 -sub_02009A50: ; 0x02009A50 + thumb_func_start FUN_02009A50 +FUN_02009A50: ; 0x02009A50 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009A5C - bl sub_02020C2C + bl FUN_02020C2C _02009A5C: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009A6A - bl sub_02020C2C + bl FUN_02020C2C _02009A6A: add r0, r4, #0x0 - bl sub_02009544 + bl FUN_02009544 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] add r0, sp, #0x0 - bl sub_0201D1F8 + bl FUN_0201D1F8 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009A90 -sub_02009A90: ; 0x02009A90 + thumb_func_start FUN_02009A90 +FUN_02009A90: ; 0x02009A90 push {r4-r6, lr} add r5, r0, #0x0 bne _02009A9A - bl sub_02020C2C + bl FUN_02020C2C _02009A9A: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -16680,10 +16680,10 @@ _02009AA4: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009AB8 - bl sub_02009A50 + bl FUN_02009A50 cmp r0, #0x0 bne _02009AB8 - bl sub_02020C2C + bl FUN_02020C2C _02009AB8: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -16693,72 +16693,72 @@ _02009AB8: _02009AC2: pop {r4-r6, pc} - thumb_func_start sub_02009AC4 -sub_02009AC4: ; 0x02009AC4 + thumb_func_start FUN_02009AC4 +FUN_02009AC4: ; 0x02009AC4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009AD0 - bl sub_02020C2C + bl FUN_02020C2C _02009AD0: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009ADE - bl sub_02020C2C + bl FUN_02020C2C _02009ADE: add r0, r4, #0x0 - bl sub_02009544 + bl FUN_02009544 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0x8] mov r0, #0x0 str r0, [sp, #0xc] add r0, sp, #0x0 - bl sub_0201D250 + bl FUN_0201D250 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009B04 -sub_02009B04: ; 0x02009B04 + thumb_func_start FUN_02009B04 +FUN_02009B04: ; 0x02009B04 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009B10 - bl sub_02020C2C + bl FUN_02020C2C _02009B10: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009B1E - bl sub_02020C2C + bl FUN_02020C2C _02009B1E: add r0, r4, #0x0 - bl sub_02009544 + bl FUN_02009544 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] add r0, sp, #0x0 - bl sub_0201D1F8 + bl FUN_0201D1F8 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009B44 -sub_02009B44: ; 0x02009B44 + thumb_func_start FUN_02009B44 +FUN_02009B44: ; 0x02009B44 push {r4-r6, lr} add r5, r0, #0x0 bne _02009B4E - bl sub_02020C2C + bl FUN_02020C2C _02009B4E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -16770,10 +16770,10 @@ _02009B58: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009B6C - bl sub_02009B04 + bl FUN_02009B04 cmp r0, #0x0 bne _02009B6C - bl sub_02020C2C + bl FUN_02020C2C _02009B6C: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -16783,102 +16783,102 @@ _02009B6C: _02009B76: pop {r4-r6, pc} - thumb_func_start sub_02009B78 -sub_02009B78: ; 0x02009B78 + thumb_func_start FUN_02009B78 +FUN_02009B78: ; 0x02009B78 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009B84 - bl sub_02020C2C + bl FUN_02020C2C _02009B84: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009B92 - bl sub_02020C2C + bl FUN_02020C2C _02009B92: add r0, r4, #0x0 - bl sub_02009544 + bl FUN_02009544 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0x8] mov r0, #0x1 str r0, [sp, #0xc] add r0, sp, #0x0 - bl sub_0201D250 + bl FUN_0201D250 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009BB8 -sub_02009BB8: ; 0x02009BB8 + thumb_func_start FUN_02009BB8 +FUN_02009BB8: ; 0x02009BB8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x0 bne _02009BC6 - bl sub_02020C2C + bl FUN_02020C2C _02009BC6: cmp r5, #0x0 bne _02009BCE - bl sub_02020C2C + bl FUN_02020C2C _02009BCE: add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02009544 + bl FUN_02009544 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0201D2DC + bl FUN_0201D2DC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009BE8 -sub_02009BE8: ; 0x02009BE8 + thumb_func_start FUN_02009BE8 +FUN_02009BE8: ; 0x02009BE8 push {r3-r5, lr} add r5, r0, #0x0 bne _02009BF2 - bl sub_02020C2C + bl FUN_02020C2C _02009BF2: add r0, r5, #0x0 - bl sub_02009530 + bl FUN_02009530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02009544 + bl FUN_02009544 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0201D2DC + bl FUN_0201D2DC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009C0C -sub_02009C0C: ; 0x02009C0C + thumb_func_start FUN_02009C0C +FUN_02009C0C: ; 0x02009C0C push {r4, lr} add r4, r0, #0x0 bne _02009C16 - bl sub_02020C2C + bl FUN_02020C2C _02009C16: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009C24 - bl sub_02020C2C + bl FUN_02020C2C _02009C24: add r0, r4, #0x0 - bl sub_02009530 - bl sub_0201D324 + bl FUN_02009530 + bl FUN_0201D324 pop {r4, pc} - thumb_func_start sub_02009C30 -sub_02009C30: ; 0x02009C30 + thumb_func_start FUN_02009C30 +FUN_02009C30: ; 0x02009C30 push {r4-r6, lr} add r5, r0, #0x0 bne _02009C3A - bl sub_02020C2C + bl FUN_02020C2C _02009C3A: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -16890,7 +16890,7 @@ _02009C44: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009C50 - bl sub_02009C0C + bl FUN_02009C0C _02009C50: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -16900,116 +16900,116 @@ _02009C50: _02009C5A: pop {r4-r6, pc} - thumb_func_start sub_02009C5C -sub_02009C5C: ; 0x02009C5C + thumb_func_start FUN_02009C5C +FUN_02009C5C: ; 0x02009C5C push {r4, lr} add r4, r0, #0x0 bne _02009C66 - bl sub_02020C2C + bl FUN_02020C2C _02009C66: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009C74 - bl sub_02020C2C + bl FUN_02020C2C _02009C74: add r0, r4, #0x0 - bl sub_02009530 - bl sub_0201D3B0 + bl FUN_02009530 + bl FUN_0201D3B0 pop {r4, pc} - thumb_func_start sub_02009C80 -sub_02009C80: ; 0x02009C80 + thumb_func_start FUN_02009C80 +FUN_02009C80: ; 0x02009C80 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x0 bne _02009C8E - bl sub_02020C2C + bl FUN_02020C2C _02009C8E: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x0 beq _02009C9C - bl sub_02020C2C + bl FUN_02020C2C _02009C9C: cmp r5, #0x0 bne _02009CA4 - bl sub_02020C2C + bl FUN_02020C2C _02009CA4: add r0, r5, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x2 beq _02009CB2 - bl sub_02020C2C + bl FUN_02020C2C _02009CB2: add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02009574 + bl FUN_02009574 add r1, r0, #0x0 ldr r1, [r1, #0xc] add r0, r4, #0x0 ldr r1, [r1, #0x0] - bl sub_0201D3D4 + bl FUN_0201D3D4 cmp r0, #0x0 bne _02009CDA add r0, r4, #0x0 - bl sub_0201D3B0 - bl sub_0201D458 + bl FUN_0201D3B0 + bl FUN_0201D458 _02009CDA: pop {r3-r5, pc} - thumb_func_start sub_02009CDC -sub_02009CDC: ; 0x02009CDC + thumb_func_start FUN_02009CDC +FUN_02009CDC: ; 0x02009CDC push {r4, lr} add r4, r0, #0x0 bne _02009CE6 - bl sub_02020C2C + bl FUN_02020C2C _02009CE6: add r0, r4, #0x0 - bl sub_0201D4F0 + bl FUN_0201D4F0 pop {r4, pc} .balign 4 - thumb_func_start sub_02009CF0 -sub_02009CF0: ; 0x02009CF0 + thumb_func_start FUN_02009CF0 +FUN_02009CF0: ; 0x02009CF0 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009CFC - bl sub_02020C2C + bl FUN_02020C2C _02009CFC: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x1 beq _02009D0A - bl sub_02020C2C + bl FUN_02020C2C _02009D0A: add r0, r4, #0x0 - bl sub_0200955C + bl FUN_0200955C str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02009610 + bl FUN_02009610 str r0, [sp, #0x8] add r0, sp, #0x0 - bl sub_0201E0E4 + bl FUN_0201E0E4 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009D34 -sub_02009D34: ; 0x02009D34 + thumb_func_start FUN_02009D34 +FUN_02009D34: ; 0x02009D34 push {r4-r6, lr} add r5, r0, #0x0 bne _02009D3E - bl sub_02020C2C + bl FUN_02020C2C _02009D3E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -17021,10 +17021,10 @@ _02009D48: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009D5C - bl sub_02009CF0 + bl FUN_02009CF0 cmp r0, #0x0 bne _02009D5C - bl sub_02020C2C + bl FUN_02020C2C _02009D5C: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -17034,43 +17034,43 @@ _02009D5C: _02009D66: pop {r4-r6, pc} - thumb_func_start sub_02009D68 -sub_02009D68: ; 0x02009D68 + thumb_func_start FUN_02009D68 +FUN_02009D68: ; 0x02009D68 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 bne _02009D74 - bl sub_02020C2C + bl FUN_02020C2C _02009D74: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x1 beq _02009D82 - bl sub_02020C2C + bl FUN_02020C2C _02009D82: add r0, r4, #0x0 - bl sub_0200955C + bl FUN_0200955C str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_020095E4 + bl FUN_020095E4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02009530 + bl FUN_02009530 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02009610 + bl FUN_02009610 str r0, [sp, #0x8] add r0, sp, #0x0 - bl sub_0201E128 + bl FUN_0201E128 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02009DAC -sub_02009DAC: ; 0x02009DAC + thumb_func_start FUN_02009DAC +FUN_02009DAC: ; 0x02009DAC push {r4-r6, lr} add r5, r0, #0x0 bne _02009DB6 - bl sub_02020C2C + bl FUN_02020C2C _02009DB6: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -17082,10 +17082,10 @@ _02009DC0: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009DD4 - bl sub_02009D68 + bl FUN_02009D68 cmp r0, #0x0 bne _02009DD4 - bl sub_02020C2C + bl FUN_02020C2C _02009DD4: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -17095,48 +17095,48 @@ _02009DD4: _02009DDE: pop {r4-r6, pc} - thumb_func_start sub_02009DE0 -sub_02009DE0: ; 0x02009DE0 + thumb_func_start FUN_02009DE0 +FUN_02009DE0: ; 0x02009DE0 push {r3-r5, lr} add r5, r0, #0x0 bne _02009DEA - bl sub_02020C2C + bl FUN_02020C2C _02009DEA: add r0, r5, #0x0 - bl sub_02009530 + bl FUN_02009530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200955C + bl FUN_0200955C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0201E168 + bl FUN_0201E168 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02009E04 -sub_02009E04: ; 0x02009E04 + thumb_func_start FUN_02009E04 +FUN_02009E04: ; 0x02009E04 push {r4, lr} add r4, r0, #0x0 bne _02009E0E - bl sub_02020C2C + bl FUN_02020C2C _02009E0E: add r0, r4, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x1 beq _02009E1C - bl sub_02020C2C + bl FUN_02020C2C _02009E1C: add r0, r4, #0x0 - bl sub_02009530 - bl sub_0201E1C8 + bl FUN_02009530 + bl FUN_0201E1C8 pop {r4, pc} - thumb_func_start sub_02009E28 -sub_02009E28: ; 0x02009E28 + thumb_func_start FUN_02009E28 +FUN_02009E28: ; 0x02009E28 push {r4-r6, lr} add r5, r0, #0x0 bne _02009E32 - bl sub_02020C2C + bl FUN_02020C2C _02009E32: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -17148,7 +17148,7 @@ _02009E3C: ldr r0, [r0, r4] cmp r0, #0x0 beq _02009E48 - bl sub_02009E04 + bl FUN_02009E04 _02009E48: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -17158,40 +17158,40 @@ _02009E48: _02009E52: pop {r4-r6, pc} - thumb_func_start sub_02009E54 -sub_02009E54: ; 0x02009E54 + thumb_func_start FUN_02009E54 +FUN_02009E54: ; 0x02009E54 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02009E62 - bl sub_02020C2C + bl FUN_02020C2C _02009E62: add r0, r5, #0x0 - bl sub_020095D4 + bl FUN_020095D4 cmp r0, #0x1 beq _02009E70 - bl sub_02020C2C + bl FUN_02020C2C _02009E70: add r0, r5, #0x0 - bl sub_02009530 + bl FUN_02009530 cmp r4, #0x0 beq _02009E82 add r1, r4, #0x0 - bl sub_0201E258 + bl FUN_0201E258 pop {r3-r5, pc} _02009E82: - bl sub_0201E230 + bl FUN_0201E230 pop {r3-r5, pc} - thumb_func_start sub_02009E88 -sub_02009E88: ; 0x02009E88 + thumb_func_start FUN_02009E88 +FUN_02009E88: ; 0x02009E88 push {r4, lr} add r4, r1, #0x0 mov r1, #0x0 - bl sub_02009E54 + bl FUN_02009E54 add r1, r4, #0x0 - blx sub_020B19C4 + blx FUN_020B19C4 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -17204,8 +17204,8 @@ _02009EA8: pop {r4, pc} .balign 4 - thumb_func_start sub_02009EAC -sub_02009EAC: ; 0x02009EAC + thumb_func_start FUN_02009EAC +FUN_02009EAC: ; 0x02009EAC push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -17239,12 +17239,12 @@ _02009ED2: ldr r2, [sp, #0x30] str r2, [sp, #0x10] add r2, r4, #0x0 - bl sub_02009EF0 + bl FUN_02009EF0 add sp, #0x14 pop {r3-r4, pc} - thumb_func_start sub_02009EF0 -sub_02009EF0: ; 0x02009EF0 + thumb_func_start FUN_02009EF0 +FUN_02009EF0: ; 0x02009EF0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -17255,16 +17255,16 @@ sub_02009EF0: ; 0x02009EF0 add r7, r3, #0x0 cmp r0, #0x0 beq _02009F08 - bl sub_02020C2C + bl FUN_02020C2C _02009F08: ldr r0, [sp, #0x30] mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 ldr r1, _02009F7C ; =0x021C4670 cmp r0, #0x0 str r0, [r1, #0x0] bne _02009F1C - bl sub_02020C2C + bl FUN_02020C2C _02009F1C: ldr r1, _02009F7C ; =0x021C4670 lsl r3, r6, #0x10 @@ -17282,10 +17282,10 @@ _02009F1C: lsl r2, r4, #0x10 lsr r1, r1, #0x10 lsr r2, r2, #0x10 - blx sub_020B0E34 + blx FUN_020B0E34 cmp r0, #0x0 bne _02009F48 - bl sub_02020C2C + bl FUN_02020C2C _02009F48: ldr r0, [sp, #0x2c] ldr r1, [sp, #0x20] @@ -17305,53 +17305,53 @@ _02009F48: lsr r1, r1, #0x10 lsr r2, r2, #0x10 lsr r3, r3, #0x10 - blx sub_020B0E34 + blx FUN_020B0E34 cmp r0, #0x0 bne _02009F78 - bl sub_02020C2C + bl FUN_02020C2C _02009F78: add sp, #0x8 pop {r3-r7, pc} .balign 4 _02009F7C: .word 0x021C4670 - thumb_func_start sub_02009F80 -sub_02009F80: ; 0x02009F80 + thumb_func_start FUN_02009F80 +FUN_02009F80: ; 0x02009F80 push {r3, lr} ldr r0, _02009F9C ; =0x021C4670 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02009F98 - blx sub_020B0870 + blx FUN_020B0870 ldr r0, _02009F9C ; =0x021C4670 ldr r0, [r0, #0x0] add r0, #0x1c - blx sub_020B0870 + blx FUN_020B0870 _02009F98: pop {r3, pc} nop _02009F9C: .word 0x021C4670 - thumb_func_start sub_02009FA0 -sub_02009FA0: ; 0x02009FA0 + thumb_func_start FUN_02009FA0 +FUN_02009FA0: ; 0x02009FA0 push {r3, lr} ldr r0, _02009FD4 ; =0x021C4670 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02009FAE - bl sub_02020C2C + bl FUN_02020C2C _02009FAE: ldr r0, _02009FD4 ; =0x021C4670 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_0200A064 + bl FUN_0200A064 ldr r0, _02009FD4 ; =0x021C4670 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_0200A06C + bl FUN_0200A06C ldr r0, _02009FD4 ; =0x021C4670 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02009FD4 ; =0x021C4670 mov r1, #0x0 str r1, [r0, #0x0] @@ -17359,8 +17359,8 @@ _02009FAE: nop _02009FD4: .word 0x021C4670 - thumb_func_start sub_02009FD8 -sub_02009FD8: ; 0x02009FD8 + thumb_func_start FUN_02009FD8 +FUN_02009FD8: ; 0x02009FD8 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 @@ -17371,50 +17371,50 @@ sub_02009FD8: ; 0x02009FD8 add r4, r3, #0x0 cmp r0, #0x0 bne _02009FF0 - bl sub_02020C2C + bl FUN_02020C2C _02009FF0: cmp r5, #0x1 bne _0200A00C - ldr r0, _0200A028 ; =sub_020213A0 - ldr r2, _0200A02C ; =sub_0200A074 + ldr r0, _0200A028 ; =FUN_020213A0 + ldr r2, _0200A02C ; =FUN_0200A074 str r0, [sp, #0x0] str r5, [sp, #0x4] - ldr r3, _0200A030 ; =sub_0200A0B8 + ldr r3, _0200A030 ; =FUN_0200A0B8 add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0x8] - bl sub_0202135C + bl FUN_0202135C add sp, #0xc pop {r4-r7, pc} _0200A00C: - ldr r0, _0200A028 ; =sub_020213A0 - ldr r2, _0200A034 ; =sub_0200A094 + ldr r0, _0200A028 ; =FUN_020213A0 + ldr r2, _0200A034 ; =FUN_0200A094 str r0, [sp, #0x0] str r5, [sp, #0x4] - ldr r3, _0200A038 ; =sub_0200A0DC + ldr r3, _0200A038 ; =FUN_0200A0DC add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0x8] - bl sub_0202135C + bl FUN_0202135C add sp, #0xc pop {r4-r7, pc} .balign 4 _0200A024: .word 0x021C4670 -_0200A028: .word sub_020213A0 + 1 -_0200A02C: .word sub_0200A074 + 1 -_0200A030: .word sub_0200A0B8 + 1 -_0200A034: .word sub_0200A094 + 1 -_0200A038: .word sub_0200A0DC + 1 +_0200A028: .word FUN_020213A0 + 1 +_0200A02C: .word FUN_0200A074 + 1 +_0200A030: .word FUN_0200A0B8 + 1 +_0200A034: .word FUN_0200A094 + 1 +_0200A038: .word FUN_0200A0DC + 1 - thumb_func_start sub_0200A03C -sub_0200A03C: ; 0x0200A03C + thumb_func_start FUN_0200A03C +FUN_0200A03C: ; 0x0200A03C push {r4, lr} add r4, r0, #0x0 ldr r0, _0200A060 ; =0x021C4670 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0200A04C - bl sub_02020C2C + bl FUN_02020C2C _0200A04C: cmp r4, #0x0 bne _0200A056 @@ -17429,40 +17429,40 @@ _0200A056: nop _0200A060: .word 0x021C4670 - thumb_func_start sub_0200A064 -sub_0200A064: ; 0x0200A064 - ldr r3, _0200A068 ; =sub_020203CC + thumb_func_start FUN_0200A064 +FUN_0200A064: ; 0x0200A064 + ldr r3, _0200A068 ; =FUN_020203CC bx r3 .balign 4 -_0200A068: .word sub_020203CC + 1 +_0200A068: .word FUN_020203CC + 1 - thumb_func_start sub_0200A06C -sub_0200A06C: ; 0x0200A06C - ldr r3, _0200A070 ; =sub_02020404 + thumb_func_start FUN_0200A06C +FUN_0200A06C: ; 0x0200A06C + ldr r3, _0200A070 ; =FUN_02020404 bx r3 .balign 4 -_0200A070: .word sub_02020404 + 1 +_0200A070: .word FUN_02020404 + 1 - thumb_func_start sub_0200A074 -sub_0200A074: ; 0x0200A074 + thumb_func_start FUN_0200A074 +FUN_0200A074: ; 0x0200A074 push {r4, lr} add r3, r0, #0x0 ldr r0, _0200A090 ; =0x021C4670 add r2, r1, #0x0 ldr r0, [r0, #0x0] add r1, r3, #0x0 - blx sub_020B0C7C + blx FUN_020B0C7C add r4, r0, #0x0 bne _0200A08C - bl sub_02020C2C + bl FUN_02020C2C _0200A08C: add r0, r4, #0x0 pop {r4, pc} .balign 4 _0200A090: .word 0x021C4670 - thumb_func_start sub_0200A094 -sub_0200A094: ; 0x0200A094 + thumb_func_start FUN_0200A094 +FUN_0200A094: ; 0x0200A094 push {r4, lr} add r3, r0, #0x0 ldr r0, _0200A0B4 ; =0x021C4670 @@ -17470,28 +17470,28 @@ sub_0200A094: ; 0x0200A094 ldr r0, [r0, #0x0] add r1, r3, #0x0 add r0, #0x1c - blx sub_020B0C7C + blx FUN_020B0C7C add r4, r0, #0x0 bne _0200A0AE - bl sub_02020C2C + bl FUN_02020C2C _0200A0AE: add r0, r4, #0x0 pop {r4, pc} nop _0200A0B4: .word 0x021C4670 - thumb_func_start sub_0200A0B8 -sub_0200A0B8: ; 0x0200A0B8 + thumb_func_start FUN_0200A0B8 +FUN_0200A0B8: ; 0x0200A0B8 push {r4, lr} add r1, r0, #0x0 ldr r0, _0200A0D4 ; =0x021C4670 ldr r0, [r0, #0x0] - blx sub_020B0BB0 + blx FUN_020B0BB0 add r4, r0, #0x0 ldr r0, _0200A0D8 ; =0x0000FFFE cmp r4, r0 bne _0200A0D0 - bl sub_02020C2C + bl FUN_02020C2C _0200A0D0: add r0, r4, #0x0 pop {r4, pc} @@ -17499,19 +17499,19 @@ _0200A0D0: _0200A0D4: .word 0x021C4670 _0200A0D8: .word 0x0000FFFE - thumb_func_start sub_0200A0DC -sub_0200A0DC: ; 0x0200A0DC + thumb_func_start FUN_0200A0DC +FUN_0200A0DC: ; 0x0200A0DC push {r4, lr} add r1, r0, #0x0 ldr r0, _0200A0FC ; =0x021C4670 ldr r0, [r0, #0x0] add r0, #0x1c - blx sub_020B0BB0 + blx FUN_020B0BB0 add r4, r0, #0x0 ldr r0, _0200A100 ; =0x0000FFFE cmp r4, r0 bne _0200A0F6 - bl sub_02020C2C + bl FUN_02020C2C _0200A0F6: add r0, r4, #0x0 pop {r4, pc} @@ -17519,8 +17519,8 @@ _0200A0F6: _0200A0FC: .word 0x021C4670 _0200A100: .word 0x0000FFFE - thumb_func_start sub_0200A104 -sub_0200A104: ; 0x0200A104 + thumb_func_start FUN_0200A104 +FUN_0200A104: ; 0x0200A104 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x10 @@ -17581,7 +17581,7 @@ _0200A166: ldrsh r2, [r5, r2] ldr r0, _0200A198 ; =0x04000050 ldr r1, [r5, #0x0] - blx sub_020C74B8 + blx FUN_020C74B8 b _0200A18E _0200A17C: mov r0, #0x2 @@ -17591,7 +17591,7 @@ _0200A17C: ldrsh r2, [r5, r2] ldr r0, _0200A19C ; =0x04001050 ldr r1, [r5, #0x0] - blx sub_020C74B8 + blx FUN_020C74B8 _0200A18E: cmp r4, #0x1 bne _0200A196 @@ -17603,8 +17603,8 @@ _0200A196: _0200A198: .word 0x04000050 _0200A19C: .word 0x04001050 - thumb_func_start sub_0200A1A0 -sub_0200A1A0: ; 0x0200A1A0 + thumb_func_start FUN_0200A1A0 +FUN_0200A1A0: ; 0x0200A1A0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x1c] @@ -17613,7 +17613,7 @@ sub_0200A1A0: ; 0x0200A1A0 add r7, r3, #0x0 cmp r0, #0x0 beq _0200A1B4 - bl sub_02020C2C + bl FUN_02020C2C _0200A1B4: ldr r1, [sp, #0x18] mov r0, #0x1 @@ -17647,19 +17647,19 @@ _0200A1EA: mov r0, #0x12 ldrsh r0, [r5, r0] add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 strh r0, [r5, #0x14] mov r0, #0x12 ldrsh r0, [r5, r0] add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 strh r1, [r5, #0x16] mov r0, #0x0 strh r0, [r5, #0x18] pop {r3-r7, pc} - thumb_func_start sub_0200A208 -sub_0200A208: ; 0x0200A208 + thumb_func_start FUN_0200A208 +FUN_0200A208: ; 0x0200A208 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -17674,7 +17674,7 @@ sub_0200A208: ; 0x0200A208 beq _0200A23A ldr r0, _0200A264 ; =0x04000050 add r1, r4, #0x0 - blx sub_020C74B8 + blx FUN_020C74B8 str r4, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] @@ -17682,7 +17682,7 @@ sub_0200A208: ; 0x0200A208 add r1, r5, #0x0 add r2, r7, #0x0 add r3, r6, #0x0 - bl sub_0200A1A0 + bl FUN_0200A1A0 _0200A23A: ldr r1, [sp, #0x20] mov r0, #0x2 @@ -17691,7 +17691,7 @@ _0200A23A: ldr r0, _0200A26C ; =0x04001050 add r1, r4, #0x0 add r2, r6, #0x0 - blx sub_020C74B8 + blx FUN_020C74B8 str r4, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] @@ -17699,7 +17699,7 @@ _0200A23A: add r1, r5, #0x0 add r2, r7, #0x0 add r3, r6, #0x0 - bl sub_0200A1A0 + bl FUN_0200A1A0 _0200A25E: add sp, #0x8 pop {r3-r7, pc} @@ -17709,8 +17709,8 @@ _0200A268: .word 0x021C4694 _0200A26C: .word 0x04001050 _0200A270: .word 0x021C4674 - thumb_func_start sub_0200A274 -sub_0200A274: ; 0x0200A274 + thumb_func_start FUN_0200A274 +FUN_0200A274: ; 0x0200A274 push {r4-r6, lr} add r5, r0, #0x0 add r4, r2, #0x0 @@ -17720,7 +17720,7 @@ sub_0200A274: ; 0x0200A274 beq _0200A28A ldr r0, _0200A2A4 ; =0x04000050 add r2, r5, #0x0 - blx sub_020C74B8 + blx FUN_020C74B8 _0200A28A: mov r0, #0x2 tst r0, r4 @@ -17728,26 +17728,26 @@ _0200A28A: ldr r0, _0200A2A8 ; =0x04001050 add r1, r6, #0x0 add r2, r5, #0x0 - blx sub_020C74B8 + blx FUN_020C74B8 _0200A29A: add r0, r4, #0x0 - bl sub_0200A2D8 + bl FUN_0200A2D8 pop {r4-r6, pc} nop _0200A2A4: .word 0x04000050 _0200A2A8: .word 0x04001050 - thumb_func_start sub_0200A2AC -sub_0200A2AC: ; 0x0200A2AC + thumb_func_start FUN_0200A2AC +FUN_0200A2AC: ; 0x0200A2AC push {r3, lr} ldr r0, _0200A2CC ; =0x021C4694 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0200A2D0 ; =0x021C4674 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0200A2D4 ; =0x021C4674 mov r1, #0x0 str r1, [r0, #0x3c] @@ -17758,8 +17758,8 @@ _0200A2CC: .word 0x021C4694 _0200A2D0: .word 0x021C4674 _0200A2D4: .word 0x021C4674 - thumb_func_start sub_0200A2D8 -sub_0200A2D8: ; 0x0200A2D8 + thumb_func_start FUN_0200A2D8 +FUN_0200A2D8: ; 0x0200A2D8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1 @@ -17768,7 +17768,7 @@ sub_0200A2D8: ; 0x0200A2D8 ldr r0, _0200A30C ; =0x021C4694 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0200A310 ; =0x021C4674 mov r1, #0x0 str r1, [r0, #0x3c] @@ -17779,7 +17779,7 @@ _0200A2F2: ldr r0, _0200A314 ; =0x021C4674 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0200A310 ; =0x021C4674 mov r1, #0x0 str r1, [r0, #0x1c] @@ -17790,22 +17790,22 @@ _0200A30C: .word 0x021C4694 _0200A310: .word 0x021C4674 _0200A314: .word 0x021C4674 - thumb_func_start sub_0200A318 -sub_0200A318: ; 0x0200A318 + thumb_func_start FUN_0200A318 +FUN_0200A318: ; 0x0200A318 push {r3, lr} ldr r0, _0200A338 ; =0x021C4674 ldr r0, [r0, #0x3c] cmp r0, #0x0 beq _0200A328 ldr r0, _0200A33C ; =0x021C4694 - bl sub_0200A104 + bl FUN_0200A104 _0200A328: ldr r0, _0200A338 ; =0x021C4674 ldr r0, [r0, #0x1c] cmp r0, #0x0 beq _0200A336 ldr r0, _0200A340 ; =0x021C4674 - bl sub_0200A104 + bl FUN_0200A104 _0200A336: pop {r3, pc} .balign 4 @@ -17813,8 +17813,8 @@ _0200A338: .word 0x021C4674 _0200A33C: .word 0x021C4694 _0200A340: .word 0x021C4674 - thumb_func_start sub_0200A344 -sub_0200A344: ; 0x0200A344 + thumb_func_start FUN_0200A344 +FUN_0200A344: ; 0x0200A344 cmp r0, #0x3 bne _0200A35A ldr r0, _0200A380 ; =0x021C4674 @@ -17850,22 +17850,22 @@ _0200A37A: nop _0200A380: .word 0x021C4674 - thumb_func_start sub_0200A384 -sub_0200A384: ; 0x0200A384 - ldr r3, _0200A388 ; =sub_0200650C + thumb_func_start FUN_0200A384 +FUN_0200A384: ; 0x0200A384 + ldr r3, _0200A388 ; =FUN_0200650C bx r3 .balign 4 -_0200A388: .word sub_0200650C + 1 +_0200A388: .word FUN_0200650C + 1 - thumb_func_start sub_0200A38C -sub_0200A38C: ; 0x0200A38C - ldr r3, _0200A390 ; =sub_02016A18 + thumb_func_start FUN_0200A38C +FUN_0200A38C: ; 0x0200A38C + ldr r3, _0200A390 ; =FUN_02016A18 bx r3 .balign 4 -_0200A390: .word sub_02016A18 + 1 +_0200A390: .word FUN_02016A18 + 1 - thumb_func_start sub_0200A394 -sub_0200A394: ; 0x0200A394 + thumb_func_start FUN_0200A394 +FUN_0200A394: ; 0x0200A394 push {r3-r7, lr} sub sp, #0x8 add r3, r0, #0x0 @@ -17897,7 +17897,7 @@ sub_0200A394: ; 0x0200A394 add r1, r3, r2 add r0, r4, #0x0 add r2, sp, #0x0 - bl sub_0200A4C0 + bl FUN_0200A4C0 ldr r2, [sp, #0x4] ldr r0, _0200A410 ; =0x00091BD3 add r1, r7, #0x0 @@ -17923,7 +17923,7 @@ _0200A3EA: add sp, #0x8 pop {r3-r7, pc} _0200A404: - bl sub_02020C2C + bl FUN_02020C2C _0200A408: add sp, #0x8 pop {r3-r7, pc} @@ -17932,14 +17932,14 @@ _0200A40C: .word 0x000002FD _0200A410: .word 0x00091BD3 _0200A414: .word 0x0000493D - thumb_func_start sub_0200A418 -sub_0200A418: ; 0x0200A418 + thumb_func_start FUN_0200A418 +FUN_0200A418: ; 0x0200A418 push {r4-r6, lr} sub sp, #0x10 add r5, r1, #0x0 add r1, r3, #0x0 add r4, r2, #0x0 - bl sub_02006670 + bl FUN_02006670 add r6, r0, #0x0 beq _0200A4AE add r1, sp, #0xc @@ -17947,7 +17947,7 @@ sub_0200A418: ; 0x0200A418 add r1, r5, #0x0 mov r2, #0x0 mov r3, #0x4 - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0x4 lsl r2, r4, #0x3 str r0, [sp, #0x0] @@ -17955,7 +17955,7 @@ sub_0200A418: ; 0x0200A418 add r1, r5, #0x0 add r2, r2, #0x4 mov r3, #0x8 - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0x4 ldrh r2, [r0, #0xa] ldr r0, _0200A4B4 ; =0x000002FD @@ -17979,7 +17979,7 @@ sub_0200A418: ; 0x0200A418 ldr r2, [sp, #0x4] add r0, r6, #0x0 lsl r3, r3, #0x1 - bl sub_02006814 + bl FUN_02006814 ldr r2, _0200A4B8 ; =0x00091BD3 add r3, r4, #0x1 mul r2, r3 @@ -18005,7 +18005,7 @@ _0200A492: bne _0200A492 _0200A4A8: add r0, r6, #0x0 - bl sub_020066F4 + bl FUN_020066F4 _0200A4AE: add sp, #0x10 pop {r4-r6, pc} @@ -18014,20 +18014,20 @@ _0200A4B4: .word 0x000002FD _0200A4B8: .word 0x00091BD3 _0200A4BC: .word 0x0000493D - thumb_func_start sub_0200A4C0 -sub_0200A4C0: ; 0x0200A4C0 + thumb_func_start FUN_0200A4C0 +FUN_0200A4C0: ; 0x0200A4C0 add r3, r0, #0x0 add r0, r1, #0x0 add r1, r3, #0x0 ldr r2, [r2, #0x4] - ldr r3, _0200A4D0 ; =sub_020CE1E0 + ldr r3, _0200A4D0 ; =FUN_020CE1E0 lsl r2, r2, #0x1 bx r3 nop -_0200A4D0: .word sub_020CE1E0 +_0200A4D0: .word FUN_020CE1E0 - thumb_func_start sub_0200A4D4 -sub_0200A4D4: ; 0x0200A4D4 + thumb_func_start FUN_0200A4D4 +FUN_0200A4D4: ; 0x0200A4D4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -18062,14 +18062,14 @@ sub_0200A4D4: ; 0x0200A4D4 ldr r1, [sp, #0x4] mov r0, #0x0 str r6, [sp, #0xc] - bl sub_020169D8 + bl FUN_020169D8 add r7, r0, #0x0 beq _0200A574 ldr r0, [sp, #0x8] ldr r2, [sp, #0x4] add r0, r5, r0 add r1, r7, #0x0 - blx sub_020CE1E0 + blx FUN_020CE1E0 ldr r1, _0200A57C ; =0x00091BD3 add r2, r4, #0x1 mul r1, r2 @@ -18096,15 +18096,15 @@ _0200A556: ldr r0, [sp, #0x0] add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02021E8C + bl FUN_02021E8C add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 pop {r3-r7, pc} _0200A56A: - bl sub_02020C2C + bl FUN_02020C2C ldr r0, [sp, #0x0] - bl sub_02021A4C + bl FUN_02021A4C _0200A574: add sp, #0x10 pop {r3-r7, pc} @@ -18113,8 +18113,8 @@ _0200A578: .word 0x000002FD _0200A57C: .word 0x00091BD3 _0200A580: .word 0x0000493D - thumb_func_start sub_0200A584 -sub_0200A584: ; 0x0200A584 + thumb_func_start FUN_0200A584 +FUN_0200A584: ; 0x0200A584 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -18149,14 +18149,14 @@ sub_0200A584: ; 0x0200A584 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] str r6, [sp, #0xc] - bl sub_020169D8 + bl FUN_020169D8 add r7, r0, #0x0 beq _0200A626 ldr r0, [sp, #0x8] ldr r2, [sp, #0x4] add r0, r5, r0 add r1, r7, #0x0 - blx sub_020CE1E0 + blx FUN_020CE1E0 ldr r1, _0200A640 ; =0x00091BD3 add r2, r4, #0x1 mul r1, r2 @@ -18182,15 +18182,15 @@ _0200A5F0: _0200A606: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 beq _0200A61A add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02021E8C + bl FUN_02021E8C _0200A61A: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 add r0, r4, #0x0 pop {r3-r7, pc} @@ -18199,10 +18199,10 @@ _0200A626: mov r0, #0x0 pop {r3-r7, pc} _0200A62C: - bl sub_02020C2C + bl FUN_02020C2C ldr r1, [sp, #0x0] mov r0, #0x4 - bl sub_020219F4 + bl FUN_020219F4 add sp, #0x10 pop {r3-r7, pc} .balign 4 @@ -18210,14 +18210,14 @@ _0200A63C: .word 0x000002FD _0200A640: .word 0x00091BD3 _0200A644: .word 0x0000493D - thumb_func_start sub_0200A648 -sub_0200A648: ; 0x0200A648 + thumb_func_start FUN_0200A648 +FUN_0200A648: ; 0x0200A648 push {r3-r7, lr} add r7, r3, #0x0 add r5, r1, #0x0 add r1, r7, #0x0 add r4, r2, #0x0 - bl sub_02006670 + bl FUN_02006670 add r6, r0, #0x0 beq _0200A66E ldr r1, [sp, #0x18] @@ -18225,14 +18225,14 @@ sub_0200A648: ; 0x0200A648 str r1, [sp, #0x0] add r1, r5, #0x0 add r3, r7, #0x0 - bl sub_0200A670 + bl FUN_0200A670 add r0, r6, #0x0 - bl sub_020066F4 + bl FUN_020066F4 _0200A66E: pop {r3-r7, pc} - thumb_func_start sub_0200A670 -sub_0200A670: ; 0x0200A670 + thumb_func_start FUN_0200A670 +FUN_0200A670: ; 0x0200A670 push {r4-r7, lr} sub sp, #0x14 add r5, r2, #0x0 @@ -18243,7 +18243,7 @@ sub_0200A670: ; 0x0200A670 mov r3, #0x4 add r7, r0, #0x0 str r1, [sp, #0x4] - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0x8 ldrh r0, [r0, #0x8] cmp r5, r0 @@ -18255,7 +18255,7 @@ sub_0200A670: ; 0x0200A670 add r0, r7, #0x0 add r2, r2, #0x4 mov r3, #0x8 - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0x8 ldrh r2, [r0, #0xa] ldr r0, _0200A72C ; =0x000002FD @@ -18275,7 +18275,7 @@ sub_0200A670: ; 0x0200A670 str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 beq _0200A728 str r4, [sp, #0x0] @@ -18283,7 +18283,7 @@ sub_0200A670: ; 0x0200A670 ldr r2, [sp, #0x8] add r0, r7, #0x0 add r3, r6, #0x0 - bl sub_02006814 + bl FUN_02006814 ldr r2, _0200A730 ; =0x00091BD3 add r3, r5, #0x1 mul r2, r3 @@ -18311,15 +18311,15 @@ _0200A70A: ldr r0, [sp, #0x28] ldr r2, [sp, #0xc] add r1, r4, #0x0 - bl sub_02021E8C + bl FUN_02021E8C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} _0200A71E: - bl sub_02020C2C + bl FUN_02020C2C ldr r0, [sp, #0x28] - bl sub_02021A4C + bl FUN_02021A4C _0200A728: add sp, #0x14 pop {r4-r7, pc} @@ -18328,35 +18328,35 @@ _0200A72C: .word 0x000002FD _0200A730: .word 0x00091BD3 _0200A734: .word 0x0000493D - thumb_func_start sub_0200A738 -sub_0200A738: ; 0x0200A738 + thumb_func_start FUN_0200A738 +FUN_0200A738: ; 0x0200A738 push {r3-r7, lr} add r6, r3, #0x0 add r5, r1, #0x0 add r1, r6, #0x0 add r4, r2, #0x0 - bl sub_02006670 + bl FUN_02006670 add r7, r0, #0x0 beq _0200A75E add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_0200A76C + bl FUN_0200A76C add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_020066F4 + bl FUN_020066F4 b _0200A768 _0200A75E: mov r0, #0x4 add r1, r6, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 _0200A768: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0200A76C -sub_0200A76C: ; 0x0200A76C + thumb_func_start FUN_0200A76C +FUN_0200A76C: ; 0x0200A76C push {r3-r7, lr} sub sp, #0x18 add r4, r2, #0x0 @@ -18367,7 +18367,7 @@ sub_0200A76C: ; 0x0200A76C mov r3, #0x4 add r7, r0, #0x0 str r1, [sp, #0x4] - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0xc ldrh r0, [r0, #0x8] cmp r4, r0 @@ -18379,7 +18379,7 @@ sub_0200A76C: ; 0x0200A76C add r0, r7, #0x0 add r2, r2, #0x4 mov r3, #0x8 - bl sub_02006814 + bl FUN_02006814 add r0, sp, #0xc ldrh r2, [r0, #0xa] ldr r0, _0200A83C ; =0x000002FD @@ -18397,7 +18397,7 @@ sub_0200A76C: ; 0x0200A76C eor r0, r1 add r1, r5, #0x0 str r0, [sp, #0x10] - bl sub_020219F4 + bl FUN_020219F4 str r0, [sp, #0x8] cmp r0, #0x0 beq _0200A824 @@ -18405,7 +18405,7 @@ sub_0200A76C: ; 0x0200A76C lsl r6, r0, #0x1 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r5, r0, #0x0 beq _0200A824 str r5, [sp, #0x0] @@ -18413,7 +18413,7 @@ sub_0200A76C: ; 0x0200A76C ldr r2, [sp, #0xc] add r0, r7, #0x0 add r3, r6, #0x0 - bl sub_02006814 + bl FUN_02006814 ldr r2, _0200A840 ; =0x00091BD3 add r3, r4, #0x1 mul r2, r3 @@ -18441,18 +18441,18 @@ _0200A814: ldr r0, [sp, #0x8] ldr r2, [sp, #0x10] add r1, r5, #0x0 - bl sub_02021E8C + bl FUN_02021E8C add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0200A824: ldr r0, [sp, #0x8] add sp, #0x18 pop {r3-r7, pc} _0200A82A: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x4 add r1, r5, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add sp, #0x18 pop {r3-r7, pc} nop @@ -18460,13 +18460,13 @@ _0200A83C: .word 0x000002FD _0200A840: .word 0x00091BD3 _0200A844: .word 0x0000493D - thumb_func_start sub_0200A848 -sub_0200A848: ; 0x0200A848 + thumb_func_start FUN_0200A848 +FUN_0200A848: ; 0x0200A848 ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_0200A84C -sub_0200A84C: ; 0x0200A84C + thumb_func_start FUN_0200A84C +FUN_0200A84C: ; 0x0200A84C push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 @@ -18476,15 +18476,15 @@ sub_0200A84C: ; 0x0200A84C add r1, r3, #0x0 add r0, sp, #0x4 mov r3, #0x0 - bl sub_02006548 + bl FUN_02006548 add r0, sp, #0x4 ldrh r0, [r0, #0x0] add sp, #0x8 pop {r3, pc} .balign 4 - thumb_func_start sub_0200A86C -sub_0200A86C: ; 0x0200A86C + thumb_func_start FUN_0200A86C +FUN_0200A86C: ; 0x0200A86C push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -18492,7 +18492,7 @@ sub_0200A86C: ; 0x0200A86C mov r1, #0xc add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 beq _0200A8B4 cmp r5, #0x0 @@ -18500,18 +18500,18 @@ sub_0200A86C: ; 0x0200A86C ldr r2, [sp, #0x0] add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_0200A384 + bl FUN_0200A384 str r0, [r4, #0x8] cmp r0, #0x0 bne _0200A8AA add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r7, pc} _0200A8A0: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_02006670 + bl FUN_02006670 str r0, [r4, #0x8] _0200A8AA: strh r5, [r4, #0x0] @@ -18523,8 +18523,8 @@ _0200A8B4: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0200A8B8 -sub_0200A8B8: ; 0x0200A8B8 + thumb_func_start FUN_0200A8B8 +FUN_0200A8B8: ; 0x0200A8B8 push {r4, lr} add r4, r0, #0x0 beq _0200A8DE @@ -18536,19 +18536,19 @@ sub_0200A8B8: ; 0x0200A8B8 b _0200A8D8 _0200A8CA: ldr r0, [r4, #0x8] - bl sub_0200A38C + bl FUN_0200A38C b _0200A8D8 _0200A8D2: ldr r0, [r4, #0x8] - bl sub_020066F4 + bl FUN_020066F4 _0200A8D8: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0200A8DE: pop {r4, pc} - thumb_func_start sub_0200A8E0 -sub_0200A8E0: ; 0x0200A8E0 + thumb_func_start FUN_0200A8E0 +FUN_0200A8E0: ; 0x0200A8E0 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -18562,7 +18562,7 @@ sub_0200A8E0: ; 0x0200A8E0 pop {r3-r4, pc} _0200A8F6: ldr r0, [r4, #0x8] - bl sub_0200A4D4 + bl FUN_0200A4D4 add sp, #0x4 pop {r3-r4, pc} _0200A900: @@ -18571,13 +18571,13 @@ _0200A900: ldrh r1, [r4, #0x6] ldrh r3, [r4, #0x2] ldr r0, [r4, #0x8] - bl sub_0200A670 + bl FUN_0200A670 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0200A914 -sub_0200A914: ; 0x0200A914 + thumb_func_start FUN_0200A914 +FUN_0200A914: ; 0x0200A914 push {r3, lr} add r3, r0, #0x0 ldrh r0, [r3, #0x0] @@ -18590,20 +18590,20 @@ sub_0200A914: ; 0x0200A914 _0200A926: ldrh r2, [r3, #0x2] ldr r0, [r3, #0x8] - bl sub_0200A584 + bl FUN_0200A584 pop {r3, pc} _0200A930: ldr r0, [r3, #0x8] ldrh r1, [r3, #0x6] ldrh r3, [r3, #0x2] - bl sub_0200A76C + bl FUN_0200A76C pop {r3, pc} _0200A93C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0200A940 -sub_0200A940: ; 0x0200A940 + thumb_func_start FUN_0200A940 +FUN_0200A940: ; 0x0200A940 push {r3, lr} add r1, r0, #0x0 ldrh r0, [r1, #0x0] @@ -18614,20 +18614,20 @@ sub_0200A940: ; 0x0200A940 b _0200A962 _0200A950: ldr r0, [r1, #0x8] - bl sub_0200A848 + bl FUN_0200A848 pop {r3, pc} _0200A958: ldrh r0, [r1, #0x4] ldrh r1, [r1, #0x6] - bl sub_0200A84C + bl FUN_0200A84C pop {r3, pc} _0200A962: mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0200A968 -sub_0200A968: ; 0x0200A968 + thumb_func_start FUN_0200A968 +FUN_0200A968: ; 0x0200A968 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -18641,7 +18641,7 @@ sub_0200A968: ; 0x0200A968 pop {r3-r4, pc} _0200A97E: ldr r0, [r4, #0x8] - bl sub_0200A394 + bl FUN_0200A394 add sp, #0x4 pop {r3-r4, pc} _0200A988: @@ -18650,13 +18650,13 @@ _0200A988: ldrh r0, [r4, #0x4] ldrh r1, [r4, #0x6] ldrh r3, [r4, #0x2] - bl sub_0200A418 + bl FUN_0200A418 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0200A99C -sub_0200A99C: ; 0x0200A99C + thumb_func_start FUN_0200A99C +FUN_0200A99C: ; 0x0200A99C push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 @@ -18664,19 +18664,19 @@ sub_0200A99C: ; 0x0200A99C ldr r2, _0200A9C0 ; =0x0000016A mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0200A968 + bl FUN_0200A968 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 _0200A9C0: .word 0x0000016A - thumb_func_start sub_0200A9C4 -sub_0200A9C4: ; 0x0200A9C4 + thumb_func_start FUN_0200A9C4 +FUN_0200A9C4: ; 0x0200A9C4 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 @@ -18688,34 +18688,34 @@ sub_0200A9C4: ; 0x0200A9C4 lsl r0, r0, #0xa add r6, r2, #0x0 str r3, [sp, #0x0] - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 beq _0200AA0E add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 beq _0200AA08 add r0, r7, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_02021ACC + bl FUN_02021ACC str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _0200AA08: add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _0200AA0E: ldr r0, [sp, #0x4] add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0200AA14 -sub_0200AA14: ; 0x0200AA14 + thumb_func_start FUN_0200AA14 +FUN_0200AA14: ; 0x0200AA14 push {r4-r6, lr} add r5, r1, #0x0 mov r2, #0x93 @@ -18724,43 +18724,43 @@ sub_0200AA14: ; 0x0200AA14 mov r1, #0x1a lsl r2, r2, #0x2 add r3, r5, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 beq _0200AA4C mov r0, #0x10 add r1, r5, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r5, r0, #0x0 beq _0200AA42 add r0, r4, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 _0200AA42: add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r5, #0x0 pop {r4-r6, pc} _0200AA4C: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0200AA50 -sub_0200AA50: ; 0x0200AA50 + thumb_func_start FUN_0200AA50 +FUN_0200AA50: ; 0x0200AA50 push {r3-r5, lr} ldr r2, _0200AA7C ; =0x0000016A add r4, r0, #0x0 add r3, r1, #0x0 mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 beq _0200AA76 add r1, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} _0200AA76: @@ -18769,34 +18769,34 @@ _0200AA76: nop _0200AA7C: .word 0x0000016A - thumb_func_start sub_0200AA80 -sub_0200AA80: ; 0x0200AA80 - ldr r3, _0200AA8C ; =sub_0200AA90 + thumb_func_start FUN_0200AA80 +FUN_0200AA80: ; 0x0200AA80 + ldr r3, _0200AA8C ; =FUN_0200AA90 add r2, r0, #0x0 mov r0, #0x8 mov r1, #0x20 bx r3 nop -_0200AA8C: .word sub_0200AA90 + 1 +_0200AA8C: .word FUN_0200AA90 + 1 - thumb_func_start sub_0200AA90 -sub_0200AA90: ; 0x0200AA90 + thumb_func_start FUN_0200AA90 +FUN_0200AA90: ; 0x0200AA90 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 str r1, [sp, #0x0] str r2, [sp, #0x4] bne _0200AAA0 - bl sub_02020C2C + bl FUN_02020C2C _0200AAA0: ldr r0, [sp, #0x0] cmp r0, #0x0 bne _0200AAAA - bl sub_02020C2C + bl FUN_02020C2C _0200AAAA: ldr r0, [sp, #0x4] mov r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 beq _0200AB10 ldr r0, [sp, #0x4] @@ -18804,13 +18804,13 @@ _0200AAAA: str r0, [r4, #0x4] ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0xc] cmp r0, #0x0 beq _0200AB10 ldr r0, [sp, #0x4] lsl r1, r7, #0x3 - bl sub_020169D8 + bl FUN_020169D8 str r0, [r4, #0x8] cmp r0, #0x0 beq _0200AB10 @@ -18820,10 +18820,10 @@ _0200AAAA: add r5, r6, #0x0 _0200AAE0: add r0, r0, r5 - bl sub_0200AB6C + bl FUN_0200AB6C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] - bl sub_020219F4 + bl FUN_020219F4 ldr r1, [r4, #0x8] add r1, r1, r5 str r0, [r1, #0x4] @@ -18848,14 +18848,14 @@ _0200AB10: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AB18 -sub_0200AB18: ; 0x0200AB18 + thumb_func_start FUN_0200AB18 +FUN_0200AB18: ; 0x0200AB18 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x0 bne _0200AB26 - bl sub_02020C2C + bl FUN_02020C2C _0200AB26: ldr r0, [r5, #0x8] cmp r0, #0x0 @@ -18871,7 +18871,7 @@ _0200AB36: ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0200AB4E - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r5, #0x0] add r6, r6, #0x1 add r4, #0x8 @@ -18879,27 +18879,27 @@ _0200AB36: blo _0200AB36 _0200AB4E: ldr r0, [r5, #0x8] - bl sub_02016A18 + bl FUN_02016A18 _0200AB54: ldr r0, [r5, #0xc] cmp r0, #0x0 beq _0200AB5E - bl sub_02021A20 + bl FUN_02021A20 _0200AB5E: mov r0, #0x0 str r0, [r5, #0x0] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200AB6C -sub_0200AB6C: ; 0x0200AB6C + thumb_func_start FUN_0200AB6C +FUN_0200AB6C: ; 0x0200AB6C bx lr .balign 4 - thumb_func_start sub_0200AB70 -sub_0200AB70: ; 0x0200AB70 + thumb_func_start FUN_0200AB70 +FUN_0200AB70: ; 0x0200AB70 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -18908,7 +18908,7 @@ sub_0200AB70: ; 0x0200AB70 add r4, r3, #0x0 cmp r6, r0 blo _0200AB84 - bl sub_02020C2C + bl FUN_02020C2C _0200AB84: ldr r0, [r5, #0x0] cmp r6, r0 @@ -18932,97 +18932,97 @@ _0200ABA4: add r0, r1, r0 ldr r0, [r0, #0x4] add r1, r7, #0x0 - bl sub_02021A74 + bl FUN_02021A74 _0200ABB2: pop {r3-r7, pc} - thumb_func_start sub_0200ABB4 -sub_0200ABB4: ; 0x0200ABB4 + thumb_func_start FUN_0200ABB4 +FUN_0200ABB4: ; 0x0200ABB4 push {r3, lr} mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3, pc} .balign 4 - thumb_func_start sub_0200ABC0 -sub_0200ABC0: ; 0x0200ABC0 + thumb_func_start FUN_0200ABC0 +FUN_0200ABC0: ; 0x0200ABC0 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 - bl sub_0202398C + bl FUN_0202398C add r1, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02021E28 + bl FUN_02021E28 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200ABE4 -sub_0200ABE4: ; 0x0200ABE4 + thumb_func_start FUN_0200ABE4 +FUN_0200ABE4: ; 0x0200ABE4 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 - bl sub_02024EC0 - bl sub_02024EE8 + bl FUN_02024EC0 + bl FUN_02024EE8 add r1, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02021E28 + bl FUN_02021E28 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200AC0C -sub_0200AC0C: ; 0x0200AC0C + thumb_func_start FUN_0200AC0C +FUN_0200AC0C: ; 0x0200AC0C push {r3-r7, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r6, r1, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r7, r0, #0x0 ldr r2, _0200AC5C ; =0x000001F1 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_020239CC + bl FUN_020239CC cmp r0, #0x0 bne _0200AC3E ldr r2, [r5, #0xc] add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200A8E0 + bl FUN_0200A8E0 b _0200AC48 _0200AC3E: ldr r2, [r5, #0xc] add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 _0200AC48: ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 _0200AC5C: .word 0x000001F1 - thumb_func_start sub_0200AC60 -sub_0200AC60: ; 0x0200AC60 + thumb_func_start FUN_0200AC60 +FUN_0200AC60: ; 0x0200AC60 push {r3-r7, lr} add r5, r0, #0x0 add r7, r2, #0x0 @@ -19031,44 +19031,44 @@ sub_0200AC60: ; 0x0200AC60 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r0, #0x0 ldr r2, [r5, #0xc] add r0, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} nop _0200ACA0: .word 0x0000016A - thumb_func_start sub_0200ACA4 -sub_0200ACA4: ; 0x0200ACA4 + thumb_func_start FUN_0200ACA4 +FUN_0200ACA4: ; 0x0200ACA4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200ACC0 + bl FUN_0200ACC0 pop {r3-r5, pc} - thumb_func_start sub_0200ACC0 -sub_0200ACC0: ; 0x0200ACC0 + thumb_func_start FUN_0200ACC0 +FUN_0200ACC0: ; 0x0200ACC0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19077,58 +19077,58 @@ sub_0200ACC0: ; 0x0200ACC0 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C ldr r2, [r5, #0xc] add r1, r6, #0x0 add r7, r0, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} nop _0200ACF4: .word 0x0000016B - thumb_func_start sub_0200ACF8 -sub_0200ACF8: ; 0x0200ACF8 + thumb_func_start FUN_0200ACF8 +FUN_0200ACF8: ; 0x0200ACF8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 ldr r2, [r5, #0xc] mov r1, #0x76 - bl sub_020672BC + bl FUN_020672BC ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200AD18 -sub_0200AD18: ; 0x0200AD18 + thumb_func_start FUN_0200AD18 +FUN_0200AD18: ; 0x0200AD18 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 ldr r2, [r5, #0xc] mov r1, #0x90 - bl sub_020672BC + bl FUN_020672BC ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200AD38 -sub_0200AD38: ; 0x0200AD38 + thumb_func_start FUN_0200AD38 +FUN_0200AD38: ; 0x0200AD38 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [sp, #0x14] @@ -19138,16 +19138,16 @@ sub_0200AD38: ; 0x0200AD38 add r2, r3, #0x0 ldr r0, [r5, #0xc] ldr r3, [sp, #0x10] - bl sub_02021B04 + bl FUN_02021B04 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} - thumb_func_start sub_0200AD5C -sub_0200AD5C: ; 0x0200AD5C + thumb_func_start FUN_0200AD5C +FUN_0200AD5C: ; 0x0200AD5C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19157,25 +19157,25 @@ sub_0200AD5C: ; 0x0200AD5C mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AD90 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AD90: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AD94 -sub_0200AD94: ; 0x0200AD94 + thumb_func_start FUN_0200AD94 +FUN_0200AD94: ; 0x0200AD94 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19185,25 +19185,25 @@ sub_0200AD94: ; 0x0200AD94 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200ADC8 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200ADC8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200ADCC -sub_0200ADCC: ; 0x0200ADCC + thumb_func_start FUN_0200ADCC +FUN_0200ADCC: ; 0x0200ADCC push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19213,25 +19213,25 @@ sub_0200ADCC: ; 0x0200ADCC mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AE00 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AE00: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AE04 -sub_0200AE04: ; 0x0200AE04 + thumb_func_start FUN_0200AE04 +FUN_0200AE04: ; 0x0200AE04 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19240,23 +19240,23 @@ sub_0200AE04: ; 0x0200AE04 mov r0, #0x1 mov r1, #0x1a mov r2, #0xbe - bl sub_0200A86C + bl FUN_0200A86C ldr r2, [r5, #0xc] add r1, r6, #0x0 add r7, r0, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AE38 -sub_0200AE38: ; 0x0200AE38 + thumb_func_start FUN_0200AE38 +FUN_0200AE38: ; 0x0200AE38 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19266,25 +19266,25 @@ sub_0200AE38: ; 0x0200AE38 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AE6C ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AE6C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AE70 -sub_0200AE70: ; 0x0200AE70 + thumb_func_start FUN_0200AE70 +FUN_0200AE70: ; 0x0200AE70 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19293,26 +19293,26 @@ sub_0200AE70: ; 0x0200AE70 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AEA2 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AEA2: pop {r3-r7, pc} .balign 4 _0200AEA4: .word 0x0000015A - thumb_func_start sub_0200AEA8 -sub_0200AEA8: ; 0x0200AEA8 + thumb_func_start FUN_0200AEA8 +FUN_0200AEA8: ; 0x0200AEA8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19321,26 +19321,26 @@ sub_0200AEA8: ; 0x0200AEA8 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AEDA ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AEDA: pop {r3-r7, pc} .balign 4 _0200AEDC: .word 0x0000015B - thumb_func_start sub_0200AEE0 -sub_0200AEE0: ; 0x0200AEE0 + thumb_func_start FUN_0200AEE0 +FUN_0200AEE0: ; 0x0200AEE0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19349,26 +19349,26 @@ sub_0200AEE0: ; 0x0200AEE0 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AF12 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AF12: pop {r3-r7, pc} .balign 4 _0200AF14: .word 0x0000015D - thumb_func_start sub_0200AF18 -sub_0200AF18: ; 0x0200AF18 + thumb_func_start FUN_0200AF18 +FUN_0200AF18: ; 0x0200AF18 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19377,26 +19377,26 @@ sub_0200AF18: ; 0x0200AF18 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AF4A ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AF4A: pop {r3-r7, pc} .balign 4 _0200AF4C: .word 0x00000235 - thumb_func_start sub_0200AF50 -sub_0200AF50: ; 0x0200AF50 + thumb_func_start FUN_0200AF50 +FUN_0200AF50: ; 0x0200AF50 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19405,26 +19405,26 @@ sub_0200AF50: ; 0x0200AF50 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AF82 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AF82: pop {r3-r7, pc} .balign 4 _0200AF84: .word 0x000001EF - thumb_func_start sub_0200AF88 -sub_0200AF88: ; 0x0200AF88 + thumb_func_start FUN_0200AF88 +FUN_0200AF88: ; 0x0200AF88 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19433,24 +19433,24 @@ sub_0200AF88: ; 0x0200AF88 mov r0, #0x1 mov r1, #0x1a mov r2, #0xcd - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AFBA ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AFBA: pop {r3-r7, pc} - thumb_func_start sub_0200AFBC -sub_0200AFBC: ; 0x0200AFBC + thumb_func_start FUN_0200AFBC +FUN_0200AFBC: ; 0x0200AFBC push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19460,25 +19460,25 @@ sub_0200AFBC: ; 0x0200AFBC mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200AFF0 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200AFF0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200AFF4 -sub_0200AFF4: ; 0x0200AFF4 + thumb_func_start FUN_0200AFF4 +FUN_0200AFF4: ; 0x0200AFF4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19487,26 +19487,26 @@ sub_0200AFF4: ; 0x0200AFF4 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B026 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B026: pop {r3-r7, pc} .balign 4 _0200B028: .word 0x0000017E - thumb_func_start sub_0200B02C -sub_0200B02C: ; 0x0200B02C + thumb_func_start FUN_0200B02C +FUN_0200B02C: ; 0x0200B02C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19515,26 +19515,26 @@ sub_0200B02C: ; 0x0200B02C ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B05E ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B05E: pop {r3-r7, pc} .balign 4 _0200B060: .word 0x00000196 - thumb_func_start sub_0200B064 -sub_0200B064: ; 0x0200B064 + thumb_func_start FUN_0200B064 +FUN_0200B064: ; 0x0200B064 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19544,25 +19544,25 @@ sub_0200B064: ; 0x0200B064 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x4 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B098 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B098: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B09C -sub_0200B09C: ; 0x0200B09C + thumb_func_start FUN_0200B09C +FUN_0200B09C: ; 0x0200B09C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19571,26 +19571,26 @@ sub_0200B09C: ; 0x0200B09C ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B0CE ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B0CE: pop {r3-r7, pc} .balign 4 _0200B0D0: .word 0x00000231 - thumb_func_start sub_0200B0D4 -sub_0200B0D4: ; 0x0200B0D4 + thumb_func_start FUN_0200B0D4 +FUN_0200B0D4: ; 0x0200B0D4 push {r3-r7, lr} add r5, r0, #0x0 add r4, r2, #0x0 @@ -19600,25 +19600,25 @@ sub_0200B0D4: ; 0x0200B0D4 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x4 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B108 ldrb r1, [r4, #0x1] ldr r2, [r5, #0xc] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B108: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B10C -sub_0200B10C: ; 0x0200B10C + thumb_func_start FUN_0200B10C +FUN_0200B10C: ; 0x0200B10C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19627,43 +19627,43 @@ sub_0200B10C: ; 0x0200B10C ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B13E ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B13E: pop {r3-r7, pc} .balign 4 _0200B140: .word 0x0000022F - thumb_func_start sub_0200B144 -sub_0200B144: ; 0x0200B144 + thumb_func_start FUN_0200B144 +FUN_0200B144: ; 0x0200B144 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r2, #0x14 add r4, r1, #0x0 add r1, r2, #0x0 - bl sub_02021E28 + bl FUN_02021E28 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200B164 -sub_0200B164: ; 0x0200B164 + thumb_func_start FUN_0200B164 +FUN_0200B164: ; 0x0200B164 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19672,26 +19672,26 @@ sub_0200B164: ; 0x0200B164 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B196 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B196: pop {r3-r7, pc} .balign 4 _0200B198: .word 0x00000239 - thumb_func_start sub_0200B19C -sub_0200B19C: ; 0x0200B19C + thumb_func_start FUN_0200B19C +FUN_0200B19C: ; 0x0200B19C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19700,26 +19700,26 @@ sub_0200B19C: ; 0x0200B19C ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B1CE ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B1CE: pop {r3-r7, pc} .balign 4 _0200B1D0: .word 0x0000023A - thumb_func_start sub_0200B1D4 -sub_0200B1D4: ; 0x0200B1D4 + thumb_func_start FUN_0200B1D4 +FUN_0200B1D4: ; 0x0200B1D4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19728,26 +19728,26 @@ sub_0200B1D4: ; 0x0200B1D4 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B206 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B206: pop {r3-r7, pc} .balign 4 _0200B208: .word 0x0000023B - thumb_func_start sub_0200B20C -sub_0200B20C: ; 0x0200B20C + thumb_func_start FUN_0200B20C +FUN_0200B20C: ; 0x0200B20C push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19757,25 +19757,25 @@ sub_0200B20C: ; 0x0200B20C mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B240 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B240: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B244 -sub_0200B244: ; 0x0200B244 + thumb_func_start FUN_0200B244 +FUN_0200B244: ; 0x0200B244 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19784,24 +19784,24 @@ sub_0200B244: ; 0x0200B244 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B276 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B276: pop {r3-r7, pc} - thumb_func_start sub_0200B278 -sub_0200B278: ; 0x0200B278 + thumb_func_start FUN_0200B278 +FUN_0200B278: ; 0x0200B278 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19810,24 +19810,24 @@ sub_0200B278: ; 0x0200B278 mov r0, #0x1 mov r1, #0x1a mov r2, #0xbf - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B2AA ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B2AA: pop {r3-r7, pc} - thumb_func_start sub_0200B2AC -sub_0200B2AC: ; 0x0200B2AC + thumb_func_start FUN_0200B2AC +FUN_0200B2AC: ; 0x0200B2AC push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19836,24 +19836,24 @@ sub_0200B2AC: ; 0x0200B2AC mov r0, #0x1 mov r1, #0x1a mov r2, #0xbf - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B2DE ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B2DE: pop {r3-r7, pc} - thumb_func_start sub_0200B2E0 -sub_0200B2E0: ; 0x0200B2E0 + thumb_func_start FUN_0200B2E0 +FUN_0200B2E0: ; 0x0200B2E0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19862,26 +19862,26 @@ sub_0200B2E0: ; 0x0200B2E0 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B312 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B312: pop {r3-r7, pc} .balign 4 _0200B314: .word 0x0000023E - thumb_func_start sub_0200B318 -sub_0200B318: ; 0x0200B318 + thumb_func_start FUN_0200B318 +FUN_0200B318: ; 0x0200B318 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19890,26 +19890,26 @@ sub_0200B318: ; 0x0200B318 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B34A ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B34A: pop {r3-r7, pc} .balign 4 _0200B34C: .word 0x0000023D - thumb_func_start sub_0200B350 -sub_0200B350: ; 0x0200B350 + thumb_func_start FUN_0200B350 +FUN_0200B350: ; 0x0200B350 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19918,26 +19918,26 @@ sub_0200B350: ; 0x0200B350 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B382 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B382: pop {r3-r7, pc} .balign 4 _0200B384: .word 0x00000237 - thumb_func_start sub_0200B388 -sub_0200B388: ; 0x0200B388 + thumb_func_start FUN_0200B388 +FUN_0200B388: ; 0x0200B388 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -19947,25 +19947,25 @@ sub_0200B388: ; 0x0200B388 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B3BC ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B3BC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B3C0 -sub_0200B3C0: ; 0x0200B3C0 + thumb_func_start FUN_0200B3C0 +FUN_0200B3C0: ; 0x0200B3C0 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -19974,7 +19974,7 @@ sub_0200B3C0: ; 0x0200B3C0 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc7 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 cmp r4, #0x0 beq _0200B3E0 @@ -19984,46 +19984,46 @@ sub_0200B3C0: ; 0x0200B3C0 _0200B3E0: ldr r2, [r5, #0xc] mov r1, #0x44 - bl sub_0200A8E0 + bl FUN_0200A8E0 b _0200B3FA _0200B3EA: ldr r2, [r5, #0xc] mov r1, #0x45 - bl sub_0200A8E0 + bl FUN_0200A8E0 b _0200B3FA _0200B3F4: ldr r0, [r5, #0xc] - bl sub_02021A4C + bl FUN_02021A4C _0200B3FA: ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B410 -sub_0200B410: ; 0x0200B410 + thumb_func_start FUN_0200B410 +FUN_0200B410: ; 0x0200B410 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 ldr r2, [r5, #0xc] add r1, r3, #0x0 - bl sub_0206B484 + bl FUN_0206B484 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200B430 -sub_0200B430: ; 0x0200B430 + thumb_func_start FUN_0200B430 +FUN_0200B430: ; 0x0200B430 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20032,26 +20032,26 @@ sub_0200B430: ; 0x0200B430 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B462 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B462: pop {r3-r7, pc} .balign 4 _0200B464: .word 0x0000014B - thumb_func_start sub_0200B468 -sub_0200B468: ; 0x0200B468 + thumb_func_start FUN_0200B468 +FUN_0200B468: ; 0x0200B468 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20060,26 +20060,26 @@ sub_0200B468: ; 0x0200B468 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B49A ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B49A: pop {r3-r7, pc} .balign 4 _0200B49C: .word 0x00000226 - thumb_func_start sub_0200B4A0 -sub_0200B4A0: ; 0x0200B4A0 + thumb_func_start FUN_0200B4A0 +FUN_0200B4A0: ; 0x0200B4A0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20089,31 +20089,31 @@ sub_0200B4A0: ; 0x0200B4A0 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B4D4 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B4D4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B4D8 -sub_0200B4D8: ; 0x0200B4D8 + thumb_func_start FUN_0200B4D8 +FUN_0200B4D8: ; 0x0200B4D8 push {r3-r7, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r6, r1, #0x0 add r4, r3, #0x0 - bl sub_02088D40 + bl FUN_02088D40 add r2, r0, #0x0 beq _0200B516 cmp r4, #0x0 @@ -20121,39 +20121,39 @@ sub_0200B4D8: ; 0x0200B4D8 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B516 ldr r2, [r5, #0xc] add r1, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B516: pop {r3-r7, pc} - thumb_func_start sub_0200B518 -sub_0200B518: ; 0x0200B518 + thumb_func_start FUN_0200B518 +FUN_0200B518: ; 0x0200B518 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 ldr r1, [r5, #0xc] add r0, r2, #0x0 - bl sub_02013A58 + bl FUN_02013A58 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 pop {r3-r5, pc} - thumb_func_start sub_0200B534 -sub_0200B534: ; 0x0200B534 + thumb_func_start FUN_0200B534 +FUN_0200B534: ; 0x0200B534 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -20162,24 +20162,24 @@ sub_0200B534: ; 0x0200B534 mov r0, #0x1 mov r1, #0x1a mov r2, #0xa - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B566 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B566: pop {r3-r7, pc} - thumb_func_start sub_0200B568 -sub_0200B568: ; 0x0200B568 + thumb_func_start FUN_0200B568 +FUN_0200B568: ; 0x0200B568 push {r3-r7, lr} add r5, r0, #0x0 ldr r3, [r5, #0x4] @@ -20188,33 +20188,33 @@ sub_0200B568: ; 0x0200B568 mov r0, #0x1 mov r1, #0x1a mov r2, #0xb - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B59A ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B59A: pop {r3-r7, pc} - thumb_func_start sub_0200B59C -sub_0200B59C: ; 0x0200B59C + thumb_func_start FUN_0200B59C +FUN_0200B59C: ; 0x0200B59C push {r3-r7, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r7, r1, #0x0 - bl sub_02015CC0 + bl FUN_02015CC0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02015CE0 + bl FUN_02015CE0 add r4, r0, #0x0 ldr r2, _0200B620 ; =0x020ECE64 lsl r3, r6, #0x1 @@ -20222,52 +20222,52 @@ sub_0200B59C: ; 0x0200B59C ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 beq _0200B61E - bl sub_0200A940 + bl FUN_0200A940 cmp r4, r0 bhs _0200B5EE ldr r2, [r5, #0xc] add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r7, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} _0200B5EE: add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r2, _0200B624 ; =0x0000017E ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 beq _0200B61E ldr r2, [r5, #0xc] mov r1, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r7, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B61E: pop {r3-r7, pc} .balign 4 _0200B620: .word 0x020ECE64 _0200B624: .word 0x0000017E - thumb_func_start sub_0200B628 -sub_0200B628: ; 0x0200B628 + thumb_func_start FUN_0200B628 +FUN_0200B628: ; 0x0200B628 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20276,26 +20276,26 @@ sub_0200B628: ; 0x0200B628 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B65A ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B65A: pop {r3-r7, pc} .balign 4 _0200B65C: .word 0x0000019E - thumb_func_start sub_0200B660 -sub_0200B660: ; 0x0200B660 + thumb_func_start FUN_0200B660 +FUN_0200B660: ; 0x0200B660 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20304,26 +20304,26 @@ sub_0200B660: ; 0x0200B660 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B692 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B692: pop {r3-r7, pc} .balign 4 _0200B694: .word 0x00000152 - thumb_func_start sub_0200B698 -sub_0200B698: ; 0x0200B698 + thumb_func_start FUN_0200B698 +FUN_0200B698: ; 0x0200B698 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20332,26 +20332,26 @@ sub_0200B698: ; 0x0200B698 ldr r3, [r5, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B6CA ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B6CA: pop {r3-r7, pc} .balign 4 _0200B6CC: .word 0x00000153 - thumb_func_start sub_0200B6D0 -sub_0200B6D0: ; 0x0200B6D0 + thumb_func_start FUN_0200B6D0 +FUN_0200B6D0: ; 0x0200B6D0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 @@ -20361,51 +20361,51 @@ sub_0200B6D0: ; 0x0200B6D0 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 beq _0200B704 ldr r2, [r5, #0xc] add r1, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B704: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B708 -sub_0200B708: ; 0x0200B708 + thumb_func_start FUN_0200B708 +FUN_0200B708: ; 0x0200B708 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x8] add r5, r2, #0x0 add r0, r1, #0x0 str r3, [sp, #0xc] - bl sub_0202881C + bl FUN_0202881C add r6, r0, #0x0 add r1, r5, #0x0 - bl sub_020287F8 + bl FUN_020287F8 str r0, [sp, #0x10] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02028804 + bl FUN_02028804 add r7, r0, #0x0 mov r0, #0x40 mov r1, #0x4 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 ldr r2, [sp, #0x28] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_020287A8 + bl FUN_020287A8 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02021E28 + bl FUN_02021E28 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, [sp, #0x8] @@ -20413,14 +20413,14 @@ sub_0200B708: ; 0x0200B708 ldr r3, [sp, #0x10] add r2, r4, #0x0 str r7, [sp, #0x4] - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0200B764 -sub_0200B764: ; 0x0200B764 + thumb_func_start FUN_0200B764 +FUN_0200B764: ; 0x0200B764 push {r3-r7, lr} add r5, r0, #0x0 add r4, r2, #0x0 @@ -20430,7 +20430,7 @@ sub_0200B764: ; 0x0200B764 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 beq _0200B7A4 cmp r4, #0x1 @@ -20443,39 +20443,39 @@ _0200B788: ldr r2, [r5, #0xc] add r0, r6, #0x0 sub r1, r4, #0x1 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [r5, #0xc] add r0, r5, #0x0 add r1, r7, #0x0 mov r3, #0x0 - bl sub_0200AB70 + bl FUN_0200AB70 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0200B7A4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200B7A8 -sub_0200B7A8: ; 0x0200B7A8 + thumb_func_start FUN_0200B7A8 +FUN_0200B7A8: ; 0x0200B7A8 ldr r2, [r0, #0x8] lsl r0, r1, #0x3 add r0, r2, r0 - ldr r3, _0200B7B4 ; =sub_02021FF8 + ldr r3, _0200B7B4 ; =FUN_02021FF8 ldr r0, [r0, #0x4] bx r3 .balign 4 -_0200B7B4: .word sub_02021FF8 + 1 +_0200B7B4: .word FUN_02021FF8 + 1 - thumb_func_start sub_0200B7B8 -sub_0200B7B8: ; 0x0200B7B8 + thumb_func_start FUN_0200B7B8 +FUN_0200B7B8: ; 0x0200B7B8 push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 add r0, r2, #0x0 - bl sub_02021F2C + bl FUN_02021F2C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02021A4C + bl FUN_02021A4C ldrh r1, [r5, #0x0] ldr r0, _0200B844 ; =0x0000FFFF cmp r1, r0 @@ -20485,32 +20485,32 @@ _0200B7D4: cmp r1, r0 bne _0200B82E add r0, r5, #0x0 - bl sub_0201B8F8 + bl FUN_0201B8F8 cmp r0, #0x0 beq _0200B810 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0201B914 + bl FUN_0201B914 add r4, r0, #0x0 ldr r0, [r7, #0x0] cmp r4, r0 blo _0200B7F8 - bl sub_02020C2C + bl FUN_02020C2C _0200B7F8: ldr r2, [r7, #0x8] lsl r1, r4, #0x3 add r1, r2, r1 ldr r1, [r1, #0x4] add r0, r6, #0x0 - bl sub_02022048 + bl FUN_02022048 add r0, r5, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r5, r0, #0x0 b _0200B838 _0200B810: add r0, r5, #0x0 add r4, r5, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r5, r0, #0x0 cmp r4, r5 bhs _0200B838 @@ -20518,7 +20518,7 @@ _0200B81E: ldrh r1, [r4, #0x0] add r0, r6, #0x0 add r4, r4, #0x2 - bl sub_02021FB0 + bl FUN_02021FB0 cmp r4, r5 blo _0200B81E b _0200B838 @@ -20526,7 +20526,7 @@ _0200B82E: ldrh r1, [r5, #0x0] add r0, r6, #0x0 add r5, r5, #0x2 - bl sub_02021FB0 + bl FUN_02021FB0 _0200B838: ldrh r1, [r5, #0x0] ldr r0, _0200B844 ; =0x0000FFFF @@ -20538,8 +20538,8 @@ _0200B840: _0200B844: .word 0x0000FFFF _0200B848: .word 0x0000FFFE - thumb_func_start sub_0200B84C -sub_0200B84C: ; 0x0200B84C + thumb_func_start FUN_0200B84C +FUN_0200B84C: ; 0x0200B84C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -20551,7 +20551,7 @@ _0200B85A: ldr r0, [r5, #0x8] add r0, r0, r4 ldr r0, [r0, #0x4] - bl sub_02021A4C + bl FUN_02021A4C ldr r0, [r5, #0x0] add r6, r6, #0x1 add r4, #0x8 @@ -20560,8 +20560,8 @@ _0200B85A: _0200B86E: pop {r4-r6, pc} - thumb_func_start sub_0200B870 -sub_0200B870: ; 0x0200B870 + thumb_func_start FUN_0200B870 +FUN_0200B870: ; 0x0200B870 push {r4-r7, lr} sub sp, #0x2c add r4, r3, #0x0 @@ -20570,7 +20570,7 @@ sub_0200B870: ; 0x0200B870 add r0, r4, #0x0 mov r1, #0x2c str r2, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x8] cmp r0, #0x0 beq _0200B98A @@ -20580,7 +20580,7 @@ sub_0200B870: ; 0x0200B870 mov r2, #0x1 add r3, r3, #0x4 str r4, [sp, #0x0] - bl sub_02006BB0 + bl FUN_02006BB0 ldr r1, [sp, #0x8] mov r3, #0x0 str r0, [r1, #0x0] @@ -20721,23 +20721,23 @@ _0200B98A: add sp, #0x2c pop {r4-r7, pc} - thumb_func_start sub_0200B990 -sub_0200B990: ; 0x0200B990 + thumb_func_start FUN_0200B990 +FUN_0200B990: ; 0x0200B990 push {r4, lr} add r4, r0, #0x0 beq _0200B9A6 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0200B9A0 - bl sub_02016A18 + bl FUN_02016A18 _0200B9A0: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0200B9A6: pop {r4, pc} - thumb_func_start sub_0200B9A8 -sub_0200B9A8: ; 0x0200B9A8 + thumb_func_start FUN_0200B9A8 +FUN_0200B9A8: ; 0x0200B9A8 push {r3-r5, lr} sub sp, #0x18 add r4, r0, #0x0 @@ -20764,15 +20764,15 @@ sub_0200B9A8: ; 0x0200B9A8 add r1, r2, r1 mov r2, #0x0 add r3, r2, #0x0 - bl sub_02019658 + bl FUN_02019658 add sp, #0x18 pop {r3-r5, pc} .balign 4 _0200B9E4: .word 0x020ECE6E _0200B9E8: .word 0x020ECE6C - thumb_func_start sub_0200B9EC -sub_0200B9EC: ; 0x0200B9EC + thumb_func_start FUN_0200B9EC +FUN_0200B9EC: ; 0x0200B9EC push {r3-r7, lr} sub sp, #0x18 add r6, r0, #0x0 @@ -20785,7 +20785,7 @@ sub_0200B9EC: ; 0x0200B9EC add r3, r4, #0x0 ldr r5, [sp, #0x34] ldr r7, [sp, #0x38] - bl sub_0200233C + bl FUN_0200233C ldrh r1, [r6, #0x8] ldr r0, _0200BA74 ; =0x0000FFFF cmp r1, r0 @@ -20817,7 +20817,7 @@ _0200BA16: mov r2, #0x0 ldr r0, [sp, #0x30] add r3, r2, #0x0 - bl sub_02019658 + bl FUN_02019658 b _0200BA62 _0200BA4A: mov r0, #0x8 @@ -20830,7 +20830,7 @@ _0200BA4A: lsr r1, r1, #0x18 lsr r2, r2, #0x10 add r3, r7, #0x0 - bl sub_020196F4 + bl FUN_020196F4 _0200BA62: add r4, r4, #0x2 ldrh r1, [r4, #0x8] @@ -20844,8 +20844,8 @@ _0200BA6E: nop _0200BA74: .word 0x0000FFFF - thumb_func_start sub_0200BA78 -sub_0200BA78: ; 0x0200BA78 + thumb_func_start FUN_0200BA78 +FUN_0200BA78: ; 0x0200BA78 push {r3-r6, lr} sub sp, #0xc add r4, r2, #0x0 @@ -20855,7 +20855,7 @@ sub_0200BA78: ; 0x0200BA78 ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] add r5, r0, #0x0 - bl sub_0200B9A8 + bl FUN_0200B9A8 ldr r0, [sp, #0x24] ldr r3, [sp, #0x20] str r0, [sp, #0x0] @@ -20867,12 +20867,12 @@ sub_0200BA78: ; 0x0200BA78 add r2, r6, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_0200B9EC + bl FUN_0200B9EC add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_0200BAAC -sub_0200BAAC: ; 0x0200BAAC + thumb_func_start FUN_0200BAAC +FUN_0200BAAC: ; 0x0200BAAC push {r3-r7, lr} add r7, r0, #0x0 add r4, r2, #0x0 @@ -20887,7 +20887,7 @@ sub_0200BAAC: ; 0x0200BAAC add r2, r3, #0x0 add r0, #0x8 add r3, r4, #0x0 - bl sub_0200233C + bl FUN_0200233C ldrh r1, [r7, #0x8] ldr r0, _0200BB10 ; =0x0000FFFF cmp r1, r0 @@ -20907,13 +20907,13 @@ _0200BAD8: add r0, r1, r0 add r1, r6, r5 mov r2, #0x20 - blx sub_020CE210 + blx FUN_020CE210 b _0200BB00 _0200BAF6: ldr r1, [sp, #0x0] add r0, r6, r5 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C _0200BB00: add r4, r4, #0x2 ldrh r1, [r4, #0x8] @@ -20926,13 +20926,13 @@ _0200BB0C: nop _0200BB10: .word 0x0000FFFF - thumb_func_start sub_0200BB14 -sub_0200BB14: ; 0x0200BB14 + thumb_func_start FUN_0200BB14 +FUN_0200BB14: ; 0x0200BB14 push {r4, lr} mov r1, #0x4e lsl r1, r1, #0x2 add r4, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 cmp r0, #0x0 bne _0200BB28 mov r0, #0x0 @@ -20945,16 +20945,16 @@ _0200BB28: str r1, [r0, #0x8] pop {r4, pc} - thumb_func_start sub_0200BB34 -sub_0200BB34: ; 0x0200BB34 + thumb_func_start FUN_0200BB34 +FUN_0200BB34: ; 0x0200BB34 push {r4, lr} add r4, r0, #0x0 bne _0200BB3E - bl sub_02020C2C + bl FUN_02020C2C _0200BB3E: ldr r0, [r4, #0x0] mov r1, #0x58 - bl sub_02016998 + bl FUN_02016998 cmp r0, #0x0 bne _0200BB4E mov r0, #0x0 @@ -20975,13 +20975,13 @@ _0200BB5A: pop {r4, pc} .balign 4 - thumb_func_start sub_0200BB68 -sub_0200BB68: ; 0x0200BB68 + thumb_func_start FUN_0200BB68 +FUN_0200BB68: ; 0x0200BB68 add r0, #0x10 bx lr - thumb_func_start sub_0200BB6C -sub_0200BB6C: ; 0x0200BB6C + thumb_func_start FUN_0200BB6C +FUN_0200BB6C: ; 0x0200BB6C push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -20990,7 +20990,7 @@ sub_0200BB6C: ; 0x0200BB6C add r7, r3, #0x0 cmp r5, #0x0 bne _0200BB80 - bl sub_02020C2C + bl FUN_02020C2C _0200BB80: cmp r5, #0x0 bne _0200BB8A @@ -21009,11 +21009,11 @@ _0200BB8A: ldr r1, [r6, #0xc] ldr r2, [r6, #0x10] add r0, sp, #0x14 - bl sub_0201D060 + bl FUN_0201D060 ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_0201E00C - blx sub_020B0FC0 + bl FUN_0201E00C + blx FUN_020B0FC0 ldr r0, [r5, #0x8] cmp r0, #0x1 bne _0200BBD6 @@ -21031,21 +21031,21 @@ _0200BB8A: ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] ldr r3, [r4, #0xc] - bl sub_02009EAC + bl FUN_02009EAC _0200BBD6: ldr r1, [r5, #0x0] mov r0, #0x20 - bl sub_0201C328 + bl FUN_0201C328 str r0, [r5, #0xc] - bl sub_0201D168 - bl sub_0201E0BC + bl FUN_0201D168 + bl FUN_0201E0BC mov r0, #0x1 add sp, #0x24 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200BBF0 -sub_0200BBF0: ; 0x0200BBF0 + thumb_func_start FUN_0200BBF0 +FUN_0200BBF0: ; 0x0200BBF0 push {r4, lr} add r3, r0, #0x0 add r4, r1, #0x0 @@ -21061,65 +21061,65 @@ _0200BC02: add r1, r3, #0x0 ldr r2, [r3, #0x0] add r1, #0x10 - bl sub_02008C9C + bl FUN_02008C9C str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0200BC14 -sub_0200BC14: ; 0x0200BC14 - ldr r3, _0200BC18 ; =sub_0201FFC8 + thumb_func_start FUN_0200BC14 +FUN_0200BC14: ; 0x0200BC14 + ldr r3, _0200BC18 ; =FUN_0201FFC8 bx r3 .balign 4 -_0200BC18: .word sub_0201FFC8 + 1 +_0200BC18: .word FUN_0201FFC8 + 1 - thumb_func_start sub_0200BC1C -sub_0200BC1C: ; 0x0200BC1C + thumb_func_start FUN_0200BC1C +FUN_0200BC1C: ; 0x0200BC1C push {r4, lr} add r4, r0, #0x0 bne _0200BC26 - bl sub_02020C2C + bl FUN_02020C2C _0200BC26: ldr r0, [r4, #0x0] - bl sub_0201FDEC + bl FUN_0201FDEC pop {r4, pc} .balign 4 - thumb_func_start sub_0200BC30 -sub_0200BC30: ; 0x0200BC30 - ldr r3, _0200BC34 ; =sub_02009F80 + thumb_func_start FUN_0200BC30 +FUN_0200BC30: ; 0x0200BC30 + ldr r3, _0200BC34 ; =FUN_02009F80 bx r3 .balign 4 -_0200BC34: .word sub_02009F80 + 1 +_0200BC34: .word FUN_02009F80 + 1 - thumb_func_start sub_0200BC38 -sub_0200BC38: ; 0x0200BC38 - ldr r3, _0200BC3C ; =sub_0201C348 + thumb_func_start FUN_0200BC38 +FUN_0200BC38: ; 0x0200BC38 + ldr r3, _0200BC3C ; =FUN_0201C348 bx r3 .balign 4 -_0200BC3C: .word sub_0201C348 + 1 +_0200BC3C: .word FUN_0201C348 + 1 - thumb_func_start sub_0200BC40 -sub_0200BC40: ; 0x0200BC40 - ldr r3, _0200BC48 ; =sub_0201FD58 + thumb_func_start FUN_0200BC40 +FUN_0200BC40: ; 0x0200BC40 + ldr r3, _0200BC48 ; =FUN_0201FD58 ldr r0, [r0, #0x0] bx r3 nop -_0200BC48: .word sub_0201FD58 + 1 +_0200BC48: .word FUN_0201FD58 + 1 - thumb_func_start sub_0200BC4C -sub_0200BC4C: ; 0x0200BC4C + thumb_func_start FUN_0200BC4C +FUN_0200BC4C: ; 0x0200BC4C push {r3, lr} ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0200BC58 - bl sub_02008C80 + bl FUN_02008C80 _0200BC58: pop {r3, pc} .balign 4 - thumb_func_start sub_0200BC5C -sub_0200BC5C: ; 0x0200BC5C + thumb_func_start FUN_0200BC5C +FUN_0200BC5C: ; 0x0200BC5C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x54] @@ -21129,19 +21129,19 @@ sub_0200BC5C: ; 0x0200BC5C _0200BC68: ldr r0, [r5, #0x8] add r1, r4, #0x0 - bl sub_02009660 - bl sub_020096B4 + bl FUN_02009660 + bl FUN_020096B4 ldr r0, [r5, #0x54] add r4, r4, #0x1 cmp r4, r0 blt _0200BC68 _0200BC7C: ldr r0, [r5, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, #0x24] - bl sub_02009C30 + bl FUN_02009C30 ldr r0, [r5, #0x28] - bl sub_02009E28 + bl FUN_02009E28 ldr r0, [r5, #0x54] mov r6, #0x0 cmp r0, #0x0 @@ -21149,9 +21149,9 @@ _0200BC7C: add r4, r5, #0x0 _0200BC98: ldr r0, [r4, #0x24] - bl sub_02009448 + bl FUN_02009448 ldr r0, [r4, #0xc] - bl sub_02008E2C + bl FUN_02008E2C ldr r0, [r5, #0x54] add r6, r6, #0x1 add r4, r4, #0x4 @@ -21160,67 +21160,67 @@ _0200BC98: _0200BCAE: pop {r4-r6, pc} - thumb_func_start sub_0200BCB0 -sub_0200BCB0: ; 0x0200BCB0 + thumb_func_start FUN_0200BCB0 +FUN_0200BCB0: ; 0x0200BCB0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0201C350 - bl sub_0201D12C - bl sub_0201E08C + bl FUN_0201C350 + bl FUN_0201D12C + bl FUN_0201E08C ldr r0, [r4, #0x8] cmp r0, #0x1 bne _0200BCCC - bl sub_02009FA0 + bl FUN_02009FA0 _0200BCCC: pop {r4, pc} .balign 4 - thumb_func_start sub_0200BCD0 -sub_0200BCD0: ; 0x0200BCD0 + thumb_func_start FUN_0200BCD0 +FUN_0200BCD0: ; 0x0200BCD0 ldr r2, [r0, #0x4] - ldr r3, _0200BCDC ; =sub_02016A18 + ldr r3, _0200BCDC ; =FUN_02016A18 sub r2, r2, #0x1 str r2, [r0, #0x4] add r0, r1, #0x0 bx r3 .balign 4 -_0200BCDC: .word sub_02016A18 + 1 +_0200BCDC: .word FUN_02016A18 + 1 - thumb_func_start sub_0200BCE0 -sub_0200BCE0: ; 0x0200BCE0 + thumb_func_start FUN_0200BCE0 +FUN_0200BCE0: ; 0x0200BCE0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0200BC40 + bl FUN_0200BC40 add r0, r4, #0x0 - bl sub_0200BC4C + bl FUN_0200BC4C add r0, r4, #0x0 - bl sub_0200BC5C + bl FUN_0200BC5C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200BCD0 + bl FUN_0200BCD0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200BD04 -sub_0200BD04: ; 0x0200BD04 + thumb_func_start FUN_0200BD04 +FUN_0200BD04: ; 0x0200BD04 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0200BD12 - bl sub_02020C2C + bl FUN_02020C2C _0200BD12: add r0, r4, #0x0 - bl sub_0200BCB0 + bl FUN_0200BCB0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_0200BD20 -sub_0200BD20: ; 0x0200BD20 + thumb_func_start FUN_0200BD20 +FUN_0200BD20: ; 0x0200BD20 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -21246,12 +21246,12 @@ _0200BD3C: _0200BD48: ldr r0, [sp, #0x14] str r0, [r4, #0x54] - bl sub_0200965C + bl FUN_0200965C add r2, r0, #0x0 ldr r1, [sp, #0x14] ldr r0, [r5, #0x0] mul r1, r2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x8] ldr r0, [sp, #0x14] mov r7, #0x0 @@ -21261,17 +21261,17 @@ _0200BD48: _0200BD68: ldr r0, [r4, #0x8] add r1, r7, #0x0 - bl sub_02009660 + bl FUN_02009660 str r0, [sp, #0x18] ldr r0, [r5, #0x0] ldr r1, [r6, #0x0] - bl sub_020161A4 + bl FUN_020161A4 ldr r1, [sp, #0x18] ldr r2, [r5, #0x0] str r0, [sp, #0x1c] - bl sub_02009668 + bl FUN_02009668 ldr r0, [sp, #0x1c] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x14] add r7, r7, #0x1 add r6, r6, #0x4 @@ -21286,11 +21286,11 @@ _0200BD94: _0200BD9E: ldr r0, [r4, #0x8] add r1, r6, #0x0 - bl sub_02009660 - bl sub_020096CC + bl FUN_02009660 + bl FUN_020096CC ldr r2, [r5, #0x0] add r1, r6, #0x0 - bl sub_02008DEC + bl FUN_02008DEC str r0, [r7, #0xc] ldr r0, [sp, #0x14] add r6, r6, #0x1 @@ -21306,17 +21306,17 @@ _0200BDBE: _0200BDC8: ldr r0, [r4, #0x8] add r1, r7, #0x0 - bl sub_02009660 + bl FUN_02009660 str r0, [sp, #0x20] - bl sub_020096CC + bl FUN_020096CC ldr r1, [r5, #0x0] - bl sub_02009424 + bl FUN_02009424 add r2, r0, #0x0 str r2, [r6, #0x24] ldr r0, [r6, #0xc] ldr r1, [sp, #0x20] ldr r3, [r5, #0x0] - bl sub_020093A8 + bl FUN_020093A8 str r0, [r6, #0x3c] ldr r0, [sp, #0x14] add r7, r7, #0x1 @@ -21325,13 +21325,13 @@ _0200BDC8: blt _0200BDC8 _0200BDF6: ldr r0, [r4, #0x24] - bl sub_02009A90 + bl FUN_02009A90 ldr r0, [r4, #0x28] - bl sub_02009D34 + bl FUN_02009D34 ldr r1, [sp, #0x10] ldr r0, [r5, #0x0] ldr r1, [r1, #0x18] - bl sub_020161A4 + bl FUN_020161A4 ldr r1, [r4, #0x14] add r6, r0, #0x0 str r1, [sp, #0x0] @@ -21344,17 +21344,17 @@ _0200BDF6: ldr r1, [r5, #0x0] ldr r2, [r4, #0xc] ldr r3, [r4, #0x10] - bl sub_02008BE0 + bl FUN_02008BE0 str r0, [r4, #0x4] add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 add sp, #0x24 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200BE38 -sub_0200BE38: ; 0x0200BE38 + thumb_func_start FUN_0200BE38 +FUN_0200BE38: ; 0x0200BE38 push {r4, lr} sub sp, #0x28 mov r3, #0x4 @@ -21380,13 +21380,13 @@ sub_0200BE38: ; 0x0200BE38 ldr r4, [r2, #0x24] str r4, [sp, #0x24] ldr r2, [r2, #0x0] - bl sub_0200BE74 + bl FUN_0200BE74 add sp, #0x28 pop {r4, pc} .balign 4 - thumb_func_start sub_0200BE74 -sub_0200BE74: ; 0x0200BE74 + thumb_func_start FUN_0200BE74 +FUN_0200BE74: ; 0x0200BE74 push {r4, lr} sub sp, #0x30 add r4, r0, #0x0 @@ -21401,20 +21401,20 @@ sub_0200BE74: ; 0x0200BE74 cmp r3, #0x0 ble _0200BEA0 lsl r0, r3, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200BEAE _0200BEA0: lsl r0, r3, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200BEAE: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x8] add r1, sp, #0x28 mov r0, #0x10 @@ -21422,20 +21422,20 @@ _0200BEAE: cmp r0, #0x0 ble _0200BED0 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200BEDE _0200BED0: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200BEDE: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0xc] add r1, sp, #0x28 mov r0, #0x14 @@ -21443,20 +21443,20 @@ _0200BEDE: cmp r0, #0x0 ble _0200BF00 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200BF0E _0200BF00: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200BF0E: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x10] ldr r0, [sp, #0x4c] cmp r0, #0x2 @@ -21482,22 +21482,22 @@ _0200BF24: ldr r0, [r4, #0x0] str r0, [sp, #0x2c] add r0, sp, #0x0 - bl sub_0201FE94 + bl FUN_0201FE94 add r4, r0, #0x0 beq _0200BF5A add r1, sp, #0x28 ldrh r1, [r1, #0x18] - bl sub_02020130 + bl FUN_02020130 ldr r1, [sp, #0x48] add r0, r4, #0x0 - bl sub_02020248 + bl FUN_02020248 _0200BF5A: add r0, r4, #0x0 add sp, #0x30 pop {r4, pc} - thumb_func_start sub_0200BF60 -sub_0200BF60: ; 0x0200BF60 + thumb_func_start FUN_0200BF60 +FUN_0200BF60: ; 0x0200BF60 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -21539,7 +21539,7 @@ _0200BFA0: ldr r0, [r7, #0x0] ldr r1, [sp, #0x8] ldr r2, [r2, #0x0] - bl sub_02008DEC + bl FUN_02008DEC str r0, [r4, #0xc] ldr r0, [sp, #0x8] add r7, r7, #0x4 @@ -21561,7 +21561,7 @@ _0200BFC8: beq _0200BFF8 ldr r1, [sp, #0x0] ldr r1, [r1, #0x0] - bl sub_02009424 + bl FUN_02009424 str r0, [r5, #0x24] mov r0, #0x0 str r0, [r5, #0x3c] @@ -21593,8 +21593,8 @@ _0200C004: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200C00C -sub_0200C00C: ; 0x0200C00C + thumb_func_start FUN_0200C00C +FUN_0200C00C: ; 0x0200C00C push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -21603,7 +21603,7 @@ sub_0200C00C: ; 0x0200C00C ldr r1, [sp, #0x28] add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C02A add sp, #0xc @@ -21620,18 +21620,18 @@ _0200C02A: add r2, r7, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl sub_02008F34 + bl FUN_02008F34 add r5, r0, #0x0 beq _0200C058 - bl sub_02009B04 + bl FUN_02009B04 ldr r0, [r4, #0x24] add r1, r5, #0x0 - bl sub_0200C474 + bl FUN_0200C474 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _0200C058: - bl sub_02020C2C + bl FUN_02020C2C cmp r5, #0x0 beq _0200C066 add sp, #0xc @@ -21642,8 +21642,8 @@ _0200C066: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200C06C -sub_0200C06C: ; 0x0200C06C + thumb_func_start FUN_0200C06C +FUN_0200C06C: ; 0x0200C06C push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -21652,7 +21652,7 @@ sub_0200C06C: ; 0x0200C06C ldr r1, [sp, #0x34] add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C08C mov r0, #0x0 @@ -21672,33 +21672,33 @@ _0200C08C: ldr r0, [r5, #0x0] str r0, [sp, #0xc] ldr r0, [r4, #0x10] - bl sub_02008FEC + bl FUN_02008FEC add r5, r0, #0x0 beq _0200C0D0 - bl sub_02009D68 + bl FUN_02009D68 cmp r0, #0x1 beq _0200C0B8 - bl sub_02020C2C + bl FUN_02020C2C _0200C0B8: ldr r0, [r4, #0x28] add r1, r5, #0x0 - bl sub_0200C474 + bl FUN_0200C474 ldr r1, [sp, #0x30] add r0, r5, #0x0 - bl sub_02009E88 + bl FUN_02009E88 lsl r0, r0, #0x18 add sp, #0x10 asr r0, r0, #0x18 pop {r3-r7, pc} _0200C0D0: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 mvn r0, r0 add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0200C0DC -sub_0200C0DC: ; 0x0200C0DC + thumb_func_start FUN_0200C0DC +FUN_0200C0DC: ; 0x0200C0DC push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -21715,7 +21715,7 @@ sub_0200C0DC: ; 0x0200C0DC str r0, [sp, #0xc] add r0, r2, #0x0 ldr r2, [sp, #0x20] - bl sub_0200C06C + bl FUN_0200C06C add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -21727,7 +21727,7 @@ sub_0200C0DC: ; 0x0200C0DC add r1, r6, #0x0 lsr r2, r2, #0x10 lsl r3, r3, #0x5 - bl sub_02003108 + bl FUN_02003108 _0200C11A: lsl r0, r4, #0x18 lsr r0, r0, #0x18 @@ -21735,8 +21735,8 @@ _0200C11A: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200C124 -sub_0200C124: ; 0x0200C124 + thumb_func_start FUN_0200C124 +FUN_0200C124: ; 0x0200C124 push {r3-r4, lr} sub sp, #0xc ldr r4, [sp, #0x18] @@ -21745,12 +21745,12 @@ sub_0200C124: ; 0x0200C124 str r4, [sp, #0x4] ldr r4, [sp, #0x1c] str r4, [sp, #0x8] - bl sub_0200C404 + bl FUN_0200C404 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0200C13C -sub_0200C13C: ; 0x0200C13C + thumb_func_start FUN_0200C13C +FUN_0200C13C: ; 0x0200C13C push {r3-r4, lr} sub sp, #0xc ldr r4, [sp, #0x18] @@ -21759,12 +21759,12 @@ sub_0200C13C: ; 0x0200C13C str r4, [sp, #0x4] ldr r4, [sp, #0x1c] str r4, [sp, #0x8] - bl sub_0200C404 + bl FUN_0200C404 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0200C154 -sub_0200C154: ; 0x0200C154 + thumb_func_start FUN_0200C154 +FUN_0200C154: ; 0x0200C154 push {r4-r7, lr} sub sp, #0x74 add r7, r0, #0x0 @@ -21772,7 +21772,7 @@ sub_0200C154: ; 0x0200C154 add r6, r1, #0x0 mov r1, #0x10 add r5, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0200C170 add sp, #0x74 @@ -21781,7 +21781,7 @@ sub_0200C154: ; 0x0200C154 _0200C170: ldr r0, [r7, #0x0] mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x8] cmp r0, #0x0 bne _0200C184 @@ -21791,7 +21791,7 @@ _0200C170: _0200C184: ldr r0, [r7, #0x0] mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 ldr r1, [r4, #0x8] str r0, [r1, #0x0] ldr r0, [r4, #0x8] @@ -21803,7 +21803,7 @@ _0200C184: bne _0200C1AC cmp r0, #0x0 beq _0200C1A6 - bl sub_02016A18 + bl FUN_02016A18 _0200C1A6: add sp, #0x74 mov r0, #0x0 @@ -21837,7 +21837,7 @@ _0200C1D4: mvn r2, r2 cmp r1, r2 beq _0200C1EC - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C1EC mov r0, #0x0 @@ -21850,7 +21850,7 @@ _0200C1EC: cmp r1, r0 beq _0200C206 ldr r0, [r6, #0x20] - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C206 mov r0, #0x0 @@ -21883,7 +21883,7 @@ _0200C206: ldr r1, [sp, #0x2c] ldr r2, [sp, #0x30] ldr r3, [sp, #0x34] - bl sub_02008AA4 + bl FUN_02008AA4 ldr r0, [r6, #0x0] str r0, [sp, #0x44] ldr r0, [r4, #0x4] @@ -21893,60 +21893,60 @@ _0200C206: cmp r0, #0x0 ble _0200C260 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200C26E _0200C260: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200C26E: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x4c] mov r0, #0x2 ldrsh r0, [r5, r0] cmp r0, #0x0 ble _0200C28E lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200C29C _0200C28E: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200C29C: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x50] mov r0, #0x4 ldrsh r0, [r5, r0] cmp r0, #0x0 ble _0200C2BC lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0200C2CA _0200C2BC: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0200C2CA: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x54] ldr r0, [r5, #0x10] cmp r0, #0x2 @@ -21972,106 +21972,106 @@ _0200C2E0: ldr r0, [r7, #0x0] str r0, [sp, #0x70] add r0, sp, #0x44 - bl sub_0201FE94 + bl FUN_0201FE94 str r0, [r4, #0x0] ldr r0, [r5, #0x30] str r0, [r4, #0xc] ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0200C328 - bl sub_020202A0 + bl FUN_020202A0 add r6, r0, #0x0 ldrh r1, [r5, #0x6] ldr r0, [r4, #0x0] - bl sub_02020130 + bl FUN_02020130 ldr r1, [r5, #0xc] ldr r0, [r4, #0x0] add r1, r6, r1 - bl sub_02020248 + bl FUN_02020248 b _0200C32C _0200C328: - bl sub_02020C2C + bl FUN_02020C2C _0200C32C: add r0, r4, #0x0 add sp, #0x74 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200C334 -sub_0200C334: ; 0x0200C334 + thumb_func_start FUN_0200C334 +FUN_0200C334: ; 0x0200C334 push {r3, lr} ldr r0, [r0, #0x10] - bl sub_020094F0 + bl FUN_020094F0 mov r1, #0x0 - bl sub_02009E54 + bl FUN_02009E54 pop {r3, pc} - thumb_func_start sub_0200C344 -sub_0200C344: ; 0x0200C344 + thumb_func_start FUN_0200C344 +FUN_0200C344: ; 0x0200C344 push {r4, lr} ldr r0, [r0, #0x10] add r4, r2, #0x0 - bl sub_020094F0 + bl FUN_020094F0 add r1, r4, #0x0 - bl sub_02009E88 + bl FUN_02009E88 pop {r4, pc} .balign 4 - thumb_func_start sub_0200C358 -sub_0200C358: ; 0x0200C358 + thumb_func_start FUN_0200C358 +FUN_0200C358: ; 0x0200C358 add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, [r3, #0xc] ldr r1, [r3, #0x24] - ldr r3, _0200C364 ; =sub_0200C4F4 + ldr r3, _0200C364 ; =FUN_0200C4F4 bx r3 .balign 4 -_0200C364: .word sub_0200C4F4 + 1 +_0200C364: .word FUN_0200C4F4 + 1 - thumb_func_start sub_0200C368 -sub_0200C368: ; 0x0200C368 + thumb_func_start FUN_0200C368 +FUN_0200C368: ; 0x0200C368 add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, [r3, #0x10] ldr r1, [r3, #0x28] - ldr r3, _0200C374 ; =sub_0200C548 + ldr r3, _0200C374 ; =FUN_0200C548 bx r3 .balign 4 -_0200C374: .word sub_0200C548 + 1 +_0200C374: .word FUN_0200C548 + 1 - thumb_func_start sub_0200C378 -sub_0200C378: ; 0x0200C378 + thumb_func_start FUN_0200C378 +FUN_0200C378: ; 0x0200C378 add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, [r3, #0x14] ldr r1, [r3, #0x2c] - ldr r3, _0200C384 ; =sub_0200C4A8 + ldr r3, _0200C384 ; =FUN_0200C4A8 bx r3 .balign 4 -_0200C384: .word sub_0200C4A8 + 1 +_0200C384: .word FUN_0200C4A8 + 1 - thumb_func_start sub_0200C388 -sub_0200C388: ; 0x0200C388 + thumb_func_start FUN_0200C388 +FUN_0200C388: ; 0x0200C388 add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, [r3, #0x18] ldr r1, [r3, #0x30] - ldr r3, _0200C394 ; =sub_0200C4A8 + ldr r3, _0200C394 ; =FUN_0200C4A8 bx r3 .balign 4 -_0200C394: .word sub_0200C4A8 + 1 +_0200C394: .word FUN_0200C4A8 + 1 - thumb_func_start sub_0200C398 -sub_0200C398: ; 0x0200C398 + thumb_func_start FUN_0200C398 +FUN_0200C398: ; 0x0200C398 push {r3-r7, lr} add r6, r1, #0x0 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0200BC40 + bl FUN_0200BC40 ldr r0, [r6, #0x24] - bl sub_02009C30 + bl FUN_02009C30 ldr r0, [r6, #0x28] - bl sub_02009E28 + bl FUN_02009E28 ldr r0, [r6, #0x54] mov r4, #0x0 cmp r0, #0x0 @@ -22079,9 +22079,9 @@ sub_0200C398: ; 0x0200C398 add r5, r6, #0x0 _0200C3BA: ldr r0, [r5, #0x24] - bl sub_02009448 + bl FUN_02009448 ldr r0, [r5, #0xc] - bl sub_02008E2C + bl FUN_02008E2C ldr r0, [r6, #0x54] add r4, r4, #0x1 add r5, r5, #0x4 @@ -22090,12 +22090,12 @@ _0200C3BA: _0200C3D0: add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_0200BCD0 + bl FUN_0200BCD0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200C3DC -sub_0200C3DC: ; 0x0200C3DC + thumb_func_start FUN_0200C3DC +FUN_0200C3DC: ; 0x0200C3DC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] @@ -22103,19 +22103,19 @@ sub_0200C3DC: ; 0x0200C3DC beq _0200C3EE ldr r0, [r4, #0x4] ldr r0, [r0, #0x0] - bl sub_02009CDC + bl FUN_02009CDC _0200C3EE: ldr r0, [r4, #0x0] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r0, [r4, #0x8] - bl sub_02008C80 + bl FUN_02008C80 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0200C404 -sub_0200C404: ; 0x0200C404 + thumb_func_start FUN_0200C404 +FUN_0200C404: ; 0x0200C404 push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 @@ -22128,7 +22128,7 @@ sub_0200C404: ; 0x0200C404 ldr r1, [sp, #0x30] str r2, [sp, #0xc] str r3, [sp, #0x10] - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C42A add sp, #0x14 @@ -22145,23 +22145,23 @@ _0200C42A: ldr r3, [sp, #0x28] str r0, [sp, #0x8] ldr r0, [r5, r4] - bl sub_020090AC + bl FUN_020090AC add r5, r0, #0x0 beq _0200C460 add r0, r6, r4 ldr r0, [r0, #0x24] add r1, r5, #0x0 - bl sub_0200C474 + bl FUN_0200C474 add r4, r0, #0x0 cmp r4, #0x1 beq _0200C45A - bl sub_02020C2C + bl FUN_02020C2C _0200C45A: add sp, #0x14 add r0, r4, #0x0 pop {r4-r7, pc} _0200C460: - bl sub_02020C2C + bl FUN_02020C2C cmp r5, #0x0 beq _0200C46E add sp, #0x14 @@ -22172,8 +22172,8 @@ _0200C46E: add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0200C474 -sub_0200C474: ; 0x0200C474 + thumb_func_start FUN_0200C474 +FUN_0200C474: ; 0x0200C474 push {r3-r6} ldr r6, [r0, #0x4] mov r3, #0x0 @@ -22204,8 +22204,8 @@ _0200C4A0: bx lr .balign 4 - thumb_func_start sub_0200C4A8 -sub_0200C4A8: ; 0x0200C4A8 + thumb_func_start FUN_0200C4A8 +FUN_0200C4A8: ; 0x0200C4A8 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] @@ -22220,14 +22220,14 @@ _0200C4BA: ldr r0, [r0, r4] cmp r0, #0x0 beq _0200C4E6 - bl sub_02009530 + bl FUN_02009530 cmp r0, r7 bne _0200C4E6 ldr r1, [r5, #0x0] lsl r4, r6, #0x2 ldr r0, [sp, #0x0] ldr r1, [r1, r4] - bl sub_02009490 + bl FUN_02009490 ldr r0, [r5, #0x0] mov r1, #0x0 str r1, [r0, r4] @@ -22246,8 +22246,8 @@ _0200C4F0: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0200C4F4 -sub_0200C4F4: ; 0x0200C4F4 + thumb_func_start FUN_0200C4F4 +FUN_0200C4F4: ; 0x0200C4F4 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] @@ -22262,16 +22262,16 @@ _0200C506: ldr r0, [r0, r4] cmp r0, #0x0 beq _0200C538 - bl sub_02009530 + bl FUN_02009530 cmp r0, r7 bne _0200C538 add r0, r7, #0x0 - bl sub_0201D324 + bl FUN_0201D324 ldr r1, [r5, #0x0] lsl r4, r6, #0x2 ldr r0, [sp, #0x0] ldr r1, [r1, r4] - bl sub_02009490 + bl FUN_02009490 ldr r0, [r5, #0x0] mov r1, #0x0 str r1, [r0, r4] @@ -22291,8 +22291,8 @@ _0200C542: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200C548 -sub_0200C548: ; 0x0200C548 + thumb_func_start FUN_0200C548 +FUN_0200C548: ; 0x0200C548 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] @@ -22307,16 +22307,16 @@ _0200C55A: ldr r0, [r0, r4] cmp r0, #0x0 beq _0200C58C - bl sub_02009530 + bl FUN_02009530 cmp r0, r7 bne _0200C58C add r0, r7, #0x0 - bl sub_0201E1C8 + bl FUN_0201E1C8 ldr r1, [r5, #0x0] lsl r4, r6, #0x2 ldr r0, [sp, #0x0] ldr r1, [r1, r4] - bl sub_02009490 + bl FUN_02009490 ldr r0, [r5, #0x0] mov r1, #0x0 str r1, [r0, r4] @@ -22339,233 +22339,233 @@ _0200C59C: .byte 0x01, 0x4B, 0x01, 0x21 .byte 0x09, 0x03, 0x18, 0x47, 0xE5, 0x01, 0x02, 0x02 - thumb_func_start sub_0200C5A8 -sub_0200C5A8: ; 0x0200C5A8 + thumb_func_start FUN_0200C5A8 +FUN_0200C5A8: ; 0x0200C5A8 ldr r3, _0200C5B0 ; =0x0200C59D ldr r0, [r0, #0x0] bx r3 nop _0200C5B0: .word 0x0200C59D - thumb_func_start sub_0200C5B4 -sub_0200C5B4: ; 0x0200C5B4 - ldr r3, _0200C5BC ; =sub_020201E4 + thumb_func_start FUN_0200C5B4 +FUN_0200C5B4: ; 0x0200C5B4 + ldr r3, _0200C5BC ; =FUN_020201E4 ldr r0, [r0, #0x0] bx r3 nop -_0200C5BC: .word sub_020201E4 + 1 +_0200C5BC: .word FUN_020201E4 + 1 - thumb_func_start sub_0200C5C0 -sub_0200C5C0: ; 0x0200C5C0 - ldr r3, _0200C5C8 ; =sub_02020130 + thumb_func_start FUN_0200C5C0 +FUN_0200C5C0: ; 0x0200C5C0 + ldr r3, _0200C5C8 ; =FUN_02020130 ldr r0, [r0, #0x0] bx r3 nop -_0200C5C8: .word sub_02020130 + 1 +_0200C5C8: .word FUN_02020130 + 1 - thumb_func_start sub_0200C5CC -sub_0200C5CC: ; 0x0200C5CC - ldr r3, _0200C5D4 ; =sub_020201DC + thumb_func_start FUN_0200C5CC +FUN_0200C5CC: ; 0x0200C5CC + ldr r3, _0200C5D4 ; =FUN_020201DC ldr r0, [r0, #0x0] bx r3 nop -_0200C5D4: .word sub_020201DC + 1 +_0200C5D4: .word FUN_020201DC + 1 - thumb_func_start sub_0200C5D8 -sub_0200C5D8: ; 0x0200C5D8 - ldr r3, _0200C5DC ; =sub_020200BC + thumb_func_start FUN_0200C5D8 +FUN_0200C5D8: ; 0x0200C5D8 + ldr r3, _0200C5DC ; =FUN_020200BC bx r3 .balign 4 -_0200C5DC: .word sub_020200BC + 1 +_0200C5DC: .word FUN_020200BC + 1 - thumb_func_start sub_0200C5E0 -sub_0200C5E0: ; 0x0200C5E0 - ldr r3, _0200C5E8 ; =sub_0200C5D8 + thumb_func_start FUN_0200C5E0 +FUN_0200C5E0: ; 0x0200C5E0 + ldr r3, _0200C5E8 ; =FUN_0200C5D8 ldr r0, [r0, #0x0] bx r3 nop -_0200C5E8: .word sub_0200C5D8 + 1 +_0200C5E8: .word FUN_0200C5D8 + 1 - thumb_func_start sub_0200C5EC -sub_0200C5EC: ; 0x0200C5EC - ldr r3, _0200C5F0 ; =sub_020200D8 + thumb_func_start FUN_0200C5EC +FUN_0200C5EC: ; 0x0200C5EC + ldr r3, _0200C5F0 ; =FUN_020200D8 bx r3 .balign 4 -_0200C5F0: .word sub_020200D8 + 1 +_0200C5F0: .word FUN_020200D8 + 1 - thumb_func_start sub_0200C5F4 -sub_0200C5F4: ; 0x0200C5F4 - ldr r3, _0200C5FC ; =sub_0200C5EC + thumb_func_start FUN_0200C5F4 +FUN_0200C5F4: ; 0x0200C5F4 + ldr r3, _0200C5FC ; =FUN_0200C5EC ldr r0, [r0, #0x0] bx r3 nop -_0200C5FC: .word sub_0200C5EC + 1 +_0200C5FC: .word FUN_0200C5EC + 1 - thumb_func_start sub_0200C600 -sub_0200C600: ; 0x0200C600 - ldr r3, _0200C604 ; =sub_02020388 + thumb_func_start FUN_0200C600 +FUN_0200C600: ; 0x0200C600 + ldr r3, _0200C604 ; =FUN_02020388 bx r3 .balign 4 -_0200C604: .word sub_02020388 + 1 +_0200C604: .word FUN_02020388 + 1 - thumb_func_start sub_0200C608 -sub_0200C608: ; 0x0200C608 - ldr r3, _0200C610 ; =sub_0200C600 + thumb_func_start FUN_0200C608 +FUN_0200C608: ; 0x0200C608 + ldr r3, _0200C610 ; =FUN_0200C600 ldr r0, [r0, #0x0] bx r3 nop -_0200C610: .word sub_0200C600 + 1 +_0200C610: .word FUN_0200C600 + 1 _0200C614: .byte 0x00, 0x4B, 0x18, 0x47, 0x09, 0x02, 0x02, 0x02 - thumb_func_start sub_0200C61C -sub_0200C61C: ; 0x0200C61C + thumb_func_start FUN_0200C61C +FUN_0200C61C: ; 0x0200C61C ldr r3, _0200C624 ; =0x0200C615 ldr r0, [r0, #0x0] bx r3 nop _0200C624: .word 0x0200C615 - thumb_func_start sub_0200C628 -sub_0200C628: ; 0x0200C628 - ldr r3, _0200C62C ; =sub_0202022C + thumb_func_start FUN_0200C628 +FUN_0200C628: ; 0x0200C628 + ldr r3, _0200C62C ; =FUN_0202022C bx r3 .balign 4 -_0200C62C: .word sub_0202022C + 1 +_0200C62C: .word FUN_0202022C + 1 - thumb_func_start sub_0200C630 -sub_0200C630: ; 0x0200C630 - ldr r3, _0200C638 ; =sub_0200C628 + thumb_func_start FUN_0200C630 +FUN_0200C630: ; 0x0200C630 + ldr r3, _0200C638 ; =FUN_0200C628 ldr r0, [r0, #0x0] bx r3 nop -_0200C638: .word sub_0200C628 + 1 +_0200C638: .word FUN_0200C628 + 1 - thumb_func_start sub_0200C63C -sub_0200C63C: ; 0x0200C63C - ldr r3, _0200C640 ; =sub_020200A0 + thumb_func_start FUN_0200C63C +FUN_0200C63C: ; 0x0200C63C + ldr r3, _0200C640 ; =FUN_020200A0 bx r3 .balign 4 -_0200C640: .word sub_020200A0 + 1 +_0200C640: .word FUN_020200A0 + 1 - thumb_func_start sub_0200C644 -sub_0200C644: ; 0x0200C644 - ldr r3, _0200C64C ; =sub_0200C63C + thumb_func_start FUN_0200C644 +FUN_0200C644: ; 0x0200C644 + ldr r3, _0200C64C ; =FUN_0200C63C ldr r0, [r0, #0x0] bx r3 nop -_0200C64C: .word sub_0200C63C + 1 +_0200C64C: .word FUN_0200C63C + 1 - thumb_func_start sub_0200C650 -sub_0200C650: ; 0x0200C650 - ldr r3, _0200C654 ; =sub_02020128 + thumb_func_start FUN_0200C650 +FUN_0200C650: ; 0x0200C650 + ldr r3, _0200C654 ; =FUN_02020128 bx r3 .balign 4 -_0200C654: .word sub_02020128 + 1 +_0200C654: .word FUN_02020128 + 1 - thumb_func_start sub_0200C658 -sub_0200C658: ; 0x0200C658 - ldr r3, _0200C660 ; =sub_0200C650 + thumb_func_start FUN_0200C658 +FUN_0200C658: ; 0x0200C658 + ldr r3, _0200C660 ; =FUN_0200C650 ldr r0, [r0, #0x0] bx r3 nop -_0200C660: .word sub_0200C650 + 1 +_0200C660: .word FUN_0200C650 + 1 - thumb_func_start sub_0200C664 -sub_0200C664: ; 0x0200C664 - ldr r3, _0200C668 ; =sub_02020248 + thumb_func_start FUN_0200C664 +FUN_0200C664: ; 0x0200C664 + ldr r3, _0200C668 ; =FUN_02020248 bx r3 .balign 4 -_0200C668: .word sub_02020248 + 1 +_0200C668: .word FUN_02020248 + 1 - thumb_func_start sub_0200C66C -sub_0200C66C: ; 0x0200C66C - ldr r3, _0200C674 ; =sub_0200C664 + thumb_func_start FUN_0200C66C +FUN_0200C66C: ; 0x0200C66C + ldr r3, _0200C674 ; =FUN_0200C664 ldr r0, [r0, #0x0] bx r3 nop -_0200C674: .word sub_0200C664 + 1 +_0200C674: .word FUN_0200C664 + 1 - thumb_func_start sub_0200C678 -sub_0200C678: ; 0x0200C678 - ldr r3, _0200C67C ; =sub_020202A8 + thumb_func_start FUN_0200C678 +FUN_0200C678: ; 0x0200C678 + ldr r3, _0200C67C ; =FUN_020202A8 bx r3 .balign 4 -_0200C67C: .word sub_020202A8 + 1 +_0200C67C: .word FUN_020202A8 + 1 - thumb_func_start sub_0200C680 -sub_0200C680: ; 0x0200C680 - ldr r3, _0200C688 ; =sub_0200C678 + thumb_func_start FUN_0200C680 +FUN_0200C680: ; 0x0200C680 + ldr r3, _0200C688 ; =FUN_0200C678 ldr r0, [r0, #0x0] bx r3 nop -_0200C688: .word sub_0200C678 + 1 +_0200C688: .word FUN_0200C678 + 1 - thumb_func_start sub_0200C68C -sub_0200C68C: ; 0x0200C68C - ldr r3, _0200C694 ; =sub_02020300 + thumb_func_start FUN_0200C68C +FUN_0200C68C: ; 0x0200C68C + ldr r3, _0200C694 ; =FUN_02020300 ldr r0, [r0, #0x0] bx r3 nop -_0200C694: .word sub_02020300 + 1 +_0200C694: .word FUN_02020300 + 1 - thumb_func_start sub_0200C698 -sub_0200C698: ; 0x0200C698 - ldr r3, _0200C6A0 ; =sub_02020238 + thumb_func_start FUN_0200C698 +FUN_0200C698: ; 0x0200C698 + ldr r3, _0200C6A0 ; =FUN_02020238 lsl r1, r1, #0x18 lsr r1, r1, #0x18 bx r3 .balign 4 -_0200C6A0: .word sub_02020238 + 1 +_0200C6A0: .word FUN_02020238 + 1 - thumb_func_start sub_0200C6A4 -sub_0200C6A4: ; 0x0200C6A4 + thumb_func_start FUN_0200C6A4 +FUN_0200C6A4: ; 0x0200C6A4 ldr r3, _0200C6AC ; =0x02020241 ldr r0, [r0, #0x0] bx r3 nop _0200C6AC: .word 0x02020241 - thumb_func_start sub_0200C6B0 -sub_0200C6B0: ; 0x0200C6B0 - ldr r3, _0200C6B8 ; =sub_0200C698 + thumb_func_start FUN_0200C6B0 +FUN_0200C6B0: ; 0x0200C6B0 + ldr r3, _0200C6B8 ; =FUN_0200C698 ldr r0, [r0, #0x0] bx r3 nop -_0200C6B8: .word sub_0200C698 + 1 +_0200C6B8: .word FUN_0200C698 + 1 - thumb_func_start sub_0200C6BC -sub_0200C6BC: ; 0x0200C6BC - ldr r3, _0200C6C0 ; =sub_02020310 + thumb_func_start FUN_0200C6BC +FUN_0200C6BC: ; 0x0200C6BC + ldr r3, _0200C6C0 ; =FUN_02020310 bx r3 .balign 4 -_0200C6C0: .word sub_02020310 + 1 +_0200C6C0: .word FUN_02020310 + 1 - thumb_func_start sub_0200C6C4 -sub_0200C6C4: ; 0x0200C6C4 - ldr r3, _0200C6CC ; =sub_0200C6BC + thumb_func_start FUN_0200C6C4 +FUN_0200C6C4: ; 0x0200C6C4 + ldr r3, _0200C6CC ; =FUN_0200C6BC ldr r0, [r0, #0x0] bx r3 nop -_0200C6CC: .word sub_0200C6BC + 1 +_0200C6CC: .word FUN_0200C6BC + 1 - thumb_func_start sub_0200C6D0 -sub_0200C6D0: ; 0x0200C6D0 - ldr r3, _0200C6D4 ; =sub_0202032C + thumb_func_start FUN_0200C6D0 +FUN_0200C6D0: ; 0x0200C6D0 + ldr r3, _0200C6D4 ; =FUN_0202032C bx r3 .balign 4 -_0200C6D4: .word sub_0202032C + 1 +_0200C6D4: .word FUN_0202032C + 1 - thumb_func_start sub_0200C6D8 -sub_0200C6D8: ; 0x0200C6D8 - ldr r3, _0200C6E0 ; =sub_0200C6D0 + thumb_func_start FUN_0200C6D8 +FUN_0200C6D8: ; 0x0200C6D8 + ldr r3, _0200C6E0 ; =FUN_0200C6D0 ldr r0, [r0, #0x0] bx r3 nop -_0200C6E0: .word sub_0200C6D0 + 1 +_0200C6E0: .word FUN_0200C6D0 + 1 - thumb_func_start sub_0200C6E4 -sub_0200C6E4: ; 0x0200C6E4 + thumb_func_start FUN_0200C6E4 +FUN_0200C6E4: ; 0x0200C6E4 push {r3-r4, lr} sub sp, #0xc lsl r1, r1, #0xc @@ -22573,7 +22573,7 @@ sub_0200C6E4: ; 0x0200C6E4 lsl r1, r2, #0xc add r4, r0, #0x0 str r1, [sp, #0x4] - bl sub_02020380 + bl FUN_02020380 cmp r0, #0x2 bne _0200C704 mov r0, #0x3 @@ -22586,20 +22586,20 @@ _0200C704: str r0, [sp, #0x8] add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02020044 + bl FUN_02020044 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0200C714 -sub_0200C714: ; 0x0200C714 - ldr r3, _0200C71C ; =sub_0200C6E4 + thumb_func_start FUN_0200C714 +FUN_0200C714: ; 0x0200C714 + ldr r3, _0200C71C ; =FUN_0200C6E4 ldr r0, [r0, #0x0] bx r3 nop -_0200C71C: .word sub_0200C6E4 + 1 +_0200C71C: .word FUN_0200C6E4 + 1 - thumb_func_start sub_0200C720 -sub_0200C720: ; 0x0200C720 + thumb_func_start FUN_0200C720 +FUN_0200C720: ; 0x0200C720 push {r4-r5, lr} sub sp, #0xc lsl r1, r1, #0xc @@ -22608,7 +22608,7 @@ sub_0200C720: ; 0x0200C720 add r5, r0, #0x0 add r4, r3, #0x0 str r1, [sp, #0x4] - bl sub_02020380 + bl FUN_02020380 cmp r0, #0x2 bne _0200C73E ldr r0, [sp, #0x4] @@ -22619,26 +22619,26 @@ _0200C73E: str r0, [sp, #0x8] add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02020044 + bl FUN_02020044 add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0200C750 -sub_0200C750: ; 0x0200C750 + thumb_func_start FUN_0200C750 +FUN_0200C750: ; 0x0200C750 push {r3, lr} ldr r0, [r0, #0x0] - bl sub_0200C720 + bl FUN_0200C720 pop {r3, pc} .balign 4 - thumb_func_start sub_0200C75C -sub_0200C75C: ; 0x0200C75C + thumb_func_start FUN_0200C75C +FUN_0200C75C: ; 0x0200C75C push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 add r5, r2, #0x0 - bl sub_0202011C + bl FUN_0202011C add r4, r0, #0x0 ldr r1, [r4, #0x0] asr r0, r1, #0xb @@ -22647,7 +22647,7 @@ sub_0200C75C: ; 0x0200C75C asr r0, r0, #0xc strh r0, [r6, #0x0] add r0, r7, #0x0 - bl sub_02020380 + bl FUN_02020380 cmp r0, #0x2 ldr r1, [r4, #0x4] bne _0200C794 @@ -22668,22 +22668,22 @@ _0200C794: strh r0, [r5, #0x0] pop {r3-r7, pc} - thumb_func_start sub_0200C7A0 -sub_0200C7A0: ; 0x0200C7A0 - ldr r3, _0200C7A8 ; =sub_0200C75C + thumb_func_start FUN_0200C7A0 +FUN_0200C7A0: ; 0x0200C7A0 + ldr r3, _0200C7A8 ; =FUN_0200C75C ldr r0, [r0, #0x0] bx r3 nop -_0200C7A8: .word sub_0200C75C + 1 +_0200C7A8: .word FUN_0200C75C + 1 - thumb_func_start sub_0200C7AC -sub_0200C7AC: ; 0x0200C7AC + thumb_func_start FUN_0200C7AC +FUN_0200C7AC: ; 0x0200C7AC push {r3-r7, lr} str r0, [sp, #0x0] add r6, r1, #0x0 add r5, r2, #0x0 add r7, r3, #0x0 - bl sub_0202011C + bl FUN_0202011C add r4, r0, #0x0 ldr r1, [r4, #0x0] asr r0, r1, #0xb @@ -22692,7 +22692,7 @@ sub_0200C7AC: ; 0x0200C7AC asr r0, r0, #0xc strh r0, [r6, #0x0] ldr r0, [sp, #0x0] - bl sub_02020380 + bl FUN_02020380 cmp r0, #0x2 bne _0200C7E2 ldr r0, [r4, #0x4] @@ -22712,22 +22712,22 @@ _0200C7E2: strh r0, [r5, #0x0] pop {r3-r7, pc} - thumb_func_start sub_0200C7F0 -sub_0200C7F0: ; 0x0200C7F0 + thumb_func_start FUN_0200C7F0 +FUN_0200C7F0: ; 0x0200C7F0 push {r3, lr} ldr r0, [r0, #0x0] - bl sub_0200C7AC + bl FUN_0200C7AC pop {r3, pc} .balign 4 - thumb_func_start sub_0200C7FC -sub_0200C7FC: ; 0x0200C7FC + thumb_func_start FUN_0200C7FC +FUN_0200C7FC: ; 0x0200C7FC push {r3-r6, lr} sub sp, #0xc add r6, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_0202011C + bl FUN_0202011C ldr r2, [r0, #0x0] lsl r1, r5, #0xc add r1, r2, r1 @@ -22740,115 +22740,115 @@ sub_0200C7FC: ; 0x0200C7FC add r1, sp, #0x0 str r0, [sp, #0x8] add r0, r6, #0x0 - bl sub_02020044 + bl FUN_02020044 add sp, #0xc pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0200C82C -sub_0200C82C: ; 0x0200C82C - ldr r3, _0200C834 ; =sub_0200C7FC + thumb_func_start FUN_0200C82C +FUN_0200C82C: ; 0x0200C82C + ldr r3, _0200C834 ; =FUN_0200C7FC ldr r0, [r0, #0x0] bx r3 nop -_0200C834: .word sub_0200C7FC + 1 +_0200C834: .word FUN_0200C7FC + 1 _0200C838: .byte 0x00, 0x4B, 0x18, 0x47, 0xED, 0x00, 0x02, 0x02 - thumb_func_start sub_0200C840 -sub_0200C840: ; 0x0200C840 + thumb_func_start FUN_0200C840 +FUN_0200C840: ; 0x0200C840 ldr r3, _0200C848 ; =0x0200C839 ldr r0, [r0, #0x0] bx r3 nop _0200C848: .word 0x0200C839 - thumb_func_start sub_0200C84C -sub_0200C84C: ; 0x0200C84C + thumb_func_start FUN_0200C84C +FUN_0200C84C: ; 0x0200C84C push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02020120 + bl FUN_02020120 add r4, r0, #0x0 ldr r0, _0200C880 ; =0x45800000 add r1, r6, #0x0 - blx sub_020EB5C4 - blx sub_020EB4C0 + blx FUN_020EB5C4 + blx FUN_020EB4C0 str r0, [r4, #0x0] ldr r0, _0200C880 ; =0x45800000 add r1, r7, #0x0 - blx sub_020EB5C4 - blx sub_020EB4C0 + blx FUN_020EB5C4 + blx FUN_020EB4C0 str r0, [r4, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02020064 + bl FUN_02020064 pop {r3-r7, pc} .balign 4 _0200C880: .word 0x45800000 - thumb_func_start sub_0200C884 -sub_0200C884: ; 0x0200C884 - ldr r3, _0200C88C ; =sub_0200C84C + thumb_func_start FUN_0200C884 +FUN_0200C884: ; 0x0200C884 + ldr r3, _0200C88C ; =FUN_0200C84C ldr r0, [r0, #0x0] bx r3 nop -_0200C88C: .word sub_0200C84C + 1 +_0200C88C: .word FUN_0200C84C + 1 - thumb_func_start sub_0200C890 -sub_0200C890: ; 0x0200C890 - ldr r3, _0200C894 ; =sub_02020088 + thumb_func_start FUN_0200C890 +FUN_0200C890: ; 0x0200C890 + ldr r3, _0200C894 ; =FUN_02020088 bx r3 .balign 4 -_0200C894: .word sub_02020088 + 1 +_0200C894: .word FUN_02020088 + 1 - thumb_func_start sub_0200C898 -sub_0200C898: ; 0x0200C898 - ldr r3, _0200C8A0 ; =sub_0200C890 + thumb_func_start FUN_0200C898 +FUN_0200C898: ; 0x0200C898 + ldr r3, _0200C8A0 ; =FUN_0200C890 ldr r0, [r0, #0x0] bx r3 nop -_0200C8A0: .word sub_0200C890 + 1 +_0200C8A0: .word FUN_0200C890 + 1 - thumb_func_start sub_0200C8A4 -sub_0200C8A4: ; 0x0200C8A4 + thumb_func_start FUN_0200C8A4 +FUN_0200C8A4: ; 0x0200C8A4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 - bl sub_02020124 + bl FUN_02020124 add r0, r0, r5 lsl r0, r0, #0x10 lsr r1, r0, #0x10 add r0, r4, #0x0 - bl sub_02020088 + bl FUN_02020088 pop {r3-r5, pc} - thumb_func_start sub_0200C8BC -sub_0200C8BC: ; 0x0200C8BC - ldr r3, _0200C8C4 ; =sub_0200C8A4 + thumb_func_start FUN_0200C8BC +FUN_0200C8BC: ; 0x0200C8BC + ldr r3, _0200C8C4 ; =FUN_0200C8A4 ldr r0, [r0, #0x0] bx r3 nop -_0200C8C4: .word sub_0200C8A4 + 1 +_0200C8C4: .word FUN_0200C8A4 + 1 - thumb_func_start sub_0200C8C8 -sub_0200C8C8: ; 0x0200C8C8 - ldr r3, _0200C8CC ; =sub_02020100 + thumb_func_start FUN_0200C8C8 +FUN_0200C8C8: ; 0x0200C8C8 + ldr r3, _0200C8CC ; =FUN_02020100 bx r3 .balign 4 -_0200C8CC: .word sub_02020100 + 1 +_0200C8CC: .word FUN_02020100 + 1 - thumb_func_start sub_0200C8D0 -sub_0200C8D0: ; 0x0200C8D0 - ldr r3, _0200C8D8 ; =sub_0200C8C8 + thumb_func_start FUN_0200C8D0 +FUN_0200C8D0: ; 0x0200C8D0 + ldr r3, _0200C8D8 ; =FUN_0200C8C8 ldr r0, [r0, #0x0] bx r3 nop -_0200C8D8: .word sub_0200C8C8 + 1 +_0200C8D8: .word FUN_0200C8C8 + 1 - thumb_func_start sub_0200C8DC -sub_0200C8DC: ; 0x0200C8DC + thumb_func_start FUN_0200C8DC +FUN_0200C8DC: ; 0x0200C8DC push {lr} sub sp, #0xc lsl r1, r1, #0xc @@ -22859,35 +22859,35 @@ sub_0200C8DC: ; 0x0200C8DC str r1, [sp, #0x8] ldr r0, [r0, #0x0] add r1, sp, #0x0 - bl sub_02020054 + bl FUN_02020054 add sp, #0xc pop {pc} - thumb_func_start sub_0200C8F8 -sub_0200C8F8: ; 0x0200C8F8 + thumb_func_start FUN_0200C8F8 +FUN_0200C8F8: ; 0x0200C8F8 ldr r3, _0200C900 ; =0x02020359 ldr r0, [r0, #0x0] bx r3 nop _0200C900: .word 0x02020359 - thumb_func_start sub_0200C904 -sub_0200C904: ; 0x0200C904 - ldr r3, _0200C908 ; =sub_02020398 + thumb_func_start FUN_0200C904 +FUN_0200C904: ; 0x0200C904 + ldr r3, _0200C908 ; =FUN_02020398 bx r3 .balign 4 -_0200C908: .word sub_02020398 + 1 +_0200C908: .word FUN_02020398 + 1 - thumb_func_start sub_0200C90C -sub_0200C90C: ; 0x0200C90C - ldr r3, _0200C914 ; =sub_0200C904 + thumb_func_start FUN_0200C90C +FUN_0200C90C: ; 0x0200C90C + ldr r3, _0200C914 ; =FUN_0200C904 ldr r0, [r0, #0x0] bx r3 nop -_0200C914: .word sub_0200C904 + 1 +_0200C914: .word FUN_0200C904 + 1 - thumb_func_start sub_0200C918 -sub_0200C918: ; 0x0200C918 + thumb_func_start FUN_0200C918 +FUN_0200C918: ; 0x0200C918 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -22896,7 +22896,7 @@ sub_0200C918: ; 0x0200C918 ldr r1, [sp, #0x28] add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C936 add sp, #0xc @@ -22913,18 +22913,18 @@ _0200C936: add r2, r7, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl sub_02008F34 + bl FUN_02008F34 add r5, r0, #0x0 beq _0200C964 - bl sub_02009AC4 + bl FUN_02009AC4 ldr r0, [r4, #0x24] add r1, r5, #0x0 - bl sub_0200C474 + bl FUN_0200C474 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _0200C964: - bl sub_02020C2C + bl FUN_02020C2C cmp r5, #0x0 beq _0200C972 add sp, #0xc @@ -22935,8 +22935,8 @@ _0200C972: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200C978 -sub_0200C978: ; 0x0200C978 + thumb_func_start FUN_0200C978 +FUN_0200C978: ; 0x0200C978 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -22945,7 +22945,7 @@ sub_0200C978: ; 0x0200C978 ldr r1, [sp, #0x28] add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0200945C + bl FUN_0200945C cmp r0, #0x0 bne _0200C996 add sp, #0xc @@ -22962,18 +22962,18 @@ _0200C996: add r2, r7, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl sub_02008F34 + bl FUN_02008F34 add r5, r0, #0x0 beq _0200C9C4 - bl sub_02009B78 + bl FUN_02009B78 ldr r0, [r4, #0x24] add r1, r5, #0x0 - bl sub_0200C474 + bl FUN_0200C474 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} _0200C9C4: - bl sub_02020C2C + bl FUN_02020C2C cmp r5, #0x0 beq _0200C9D2 add sp, #0xc @@ -22984,8 +22984,8 @@ _0200C9D2: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200C9D8 -sub_0200C9D8: ; 0x0200C9D8 + thumb_func_start FUN_0200C9D8 +FUN_0200C9D8: ; 0x0200C9D8 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -22994,7 +22994,7 @@ sub_0200C9D8: ; 0x0200C9D8 ldr r1, [sp, #0x24] add r7, r2, #0x0 str r3, [sp, #0x8] - bl sub_020094F0 + bl FUN_020094F0 add r6, r0, #0x0 ldr r0, [sp, #0x20] ldr r3, [sp, #0x8] @@ -23004,14 +23004,14 @@ sub_0200C9D8: ; 0x0200C9D8 str r0, [sp, #0x4] ldr r0, [r4, #0xc] add r2, r7, #0x0 - bl sub_020090FC + bl FUN_020090FC add r0, r6, #0x0 - bl sub_02009BE8 + bl FUN_02009BE8 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200CA0C -sub_0200CA0C: ; 0x0200CA0C + thumb_func_start FUN_0200CA0C +FUN_0200CA0C: ; 0x0200CA0C push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -23020,7 +23020,7 @@ sub_0200CA0C: ; 0x0200CA0C ldr r1, [sp, #0x24] add r7, r2, #0x0 str r3, [sp, #0x8] - bl sub_020094F0 + bl FUN_020094F0 add r6, r0, #0x0 ldr r0, [sp, #0x20] ldr r3, [sp, #0x8] @@ -23030,19 +23030,19 @@ sub_0200CA0C: ; 0x0200CA0C str r0, [sp, #0x4] ldr r0, [r4, #0x10] add r2, r7, #0x0 - bl sub_02009168 + bl FUN_02009168 add r0, r6, #0x0 - bl sub_02009DE0 + bl FUN_02009DE0 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200CA40 -sub_0200CA40: ; 0x0200CA40 + thumb_func_start FUN_0200CA40 +FUN_0200CA40: ; 0x0200CA40 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_0200CA44 -sub_0200CA44: ; 0x0200CA44 + thumb_func_start FUN_0200CA44 +FUN_0200CA44: ; 0x0200CA44 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0200CA5C ; =0x021C48B8 @@ -23051,13 +23051,13 @@ sub_0200CA44: ; 0x0200CA44 ldr r0, [r0, #0x18] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201B60C + bl FUN_0201B60C pop {r3-r5, pc} nop _0200CA5C: .word 0x021C48B8 - thumb_func_start sub_0200CA60 -sub_0200CA60: ; 0x0200CA60 + thumb_func_start FUN_0200CA60 +FUN_0200CA60: ; 0x0200CA60 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0200CA78 ; =0x021C48B8 @@ -23066,13 +23066,13 @@ sub_0200CA60: ; 0x0200CA60 ldr r0, [r0, #0x1c] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201B60C + bl FUN_0201B60C pop {r3-r5, pc} nop _0200CA78: .word 0x021C48B8 - thumb_func_start sub_0200CA7C -sub_0200CA7C: ; 0x0200CA7C + thumb_func_start FUN_0200CA7C +FUN_0200CA7C: ; 0x0200CA7C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0200CA94 ; =0x021C48B8 @@ -23081,13 +23081,13 @@ sub_0200CA7C: ; 0x0200CA7C ldr r0, [r0, #0x24] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201B60C + bl FUN_0201B60C pop {r3-r5, pc} nop _0200CA94: .word 0x021C48B8 - thumb_func_start sub_0200CA98 -sub_0200CA98: ; 0x0200CA98 + thumb_func_start FUN_0200CA98 +FUN_0200CA98: ; 0x0200CA98 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0200CAB0 ; =0x021C48B8 @@ -23096,20 +23096,20 @@ sub_0200CA98: ; 0x0200CA98 ldr r0, [r0, #0x20] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201B60C + bl FUN_0201B60C pop {r3-r5, pc} nop _0200CAB0: .word 0x021C48B8 - thumb_func_start sub_0200CAB4 -sub_0200CAB4: ; 0x0200CAB4 - ldr r3, _0200CAB8 ; =sub_0201B6A0 + thumb_func_start FUN_0200CAB4 +FUN_0200CAB4: ; 0x0200CAB4 + ldr r3, _0200CAB8 ; =FUN_0201B6A0 bx r3 .balign 4 -_0200CAB8: .word sub_0201B6A0 + 1 +_0200CAB8: .word FUN_0201B6A0 + 1 - thumb_func_start sub_0200CABC -sub_0200CABC: ; 0x0200CABC + thumb_func_start FUN_0200CABC +FUN_0200CABC: ; 0x0200CABC push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -23125,7 +23125,7 @@ sub_0200CABC: ; 0x0200CABC mov r0, #0x26 add r2, r5, #0x0 add r3, r4, #0x0 - bl sub_0200687C + bl FUN_0200687C add sp, #0x10 pop {r3-r5, pc} _0200CAE2: @@ -23138,17 +23138,17 @@ _0200CAE2: mov r0, #0x26 add r2, r5, #0x0 add r3, r4, #0x0 - bl sub_0200687C + bl FUN_0200687C add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_0200CAFC -sub_0200CAFC: ; 0x0200CAFC + thumb_func_start FUN_0200CAFC +FUN_0200CAFC: ; 0x0200CAFC mov r0, #0x18 bx lr - thumb_func_start sub_0200CB00 -sub_0200CB00: ; 0x0200CB00 + thumb_func_start FUN_0200CB00 +FUN_0200CB00: ; 0x0200CB00 push {r4-r6, lr} sub sp, #0x10 add r6, r0, #0x0 @@ -23172,7 +23172,7 @@ _0200CB18: str r0, [sp, #0xc] mov r0, #0x26 add r3, r5, #0x0 - bl sub_0200687C + bl FUN_0200687C add r0, sp, #0x10 ldrb r0, [r0, #0x10] cmp r0, #0x2 @@ -23191,7 +23191,7 @@ _0200CB3C: str r0, [sp, #0x4] mov r0, #0x26 lsl r3, r4, #0x5 - bl sub_02006930 + bl FUN_02006930 add sp, #0x10 pop {r4-r6, pc} _0200CB56: @@ -23202,12 +23202,12 @@ _0200CB56: str r0, [sp, #0x4] mov r0, #0x26 lsl r3, r4, #0x5 - bl sub_02006930 + bl FUN_02006930 add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_0200CB6C -sub_0200CB6C: ; 0x0200CB6C + thumb_func_start FUN_0200CB6C +FUN_0200CB6C: ; 0x0200CB6C push {r4-r7, lr} sub sp, #0x24 str r1, [sp, #0x14] @@ -23230,7 +23230,7 @@ sub_0200CB6C: ; 0x0200CB6C add r2, sp, #0x28 ldrh r2, [r2, #0x1c] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r1, sp, #0x28 ldrh r4, [r1, #0x1c] lsl r0, r7, #0x18 @@ -23247,7 +23247,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] ldr r3, [sp, #0x18] lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 add r0, sp, #0x28 ldrb r1, [r0, #0x10] ldr r0, [sp, #0x18] @@ -23268,7 +23268,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x3 str r0, [sp, #0x0] @@ -23284,7 +23284,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x20] str r0, [sp, #0x0] @@ -23301,7 +23301,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r0, sp, #0x28 ldrb r1, [r0, #0x14] ldr r0, [sp, #0x1c] @@ -23320,7 +23320,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23336,7 +23336,7 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] ldr r3, [sp, #0x18] lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23352,32 +23352,32 @@ sub_0200CB6C: ; 0x0200CB6C ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add sp, #0x24 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200CCA4 -sub_0200CCA4: ; 0x0200CCA4 + thumb_func_start FUN_0200CCA4 +FUN_0200CCA4: ; 0x0200CCA4 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C str r0, [sp, #0x1c] add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 ldr r1, [sp, #0x1c] ldr r2, [sp, #0x14] str r1, [sp, #0x0] @@ -23387,34 +23387,34 @@ sub_0200CCA4: ; 0x0200CCA4 ldr r0, [r5, #0x0] ldr r1, [sp, #0x10] ldr r3, [sp, #0x18] - bl sub_0200CB6C + bl FUN_0200CB6C cmp r4, #0x0 bne _0200CCF4 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 _0200CCF4: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_0200CCF8 -sub_0200CCF8: ; 0x0200CCF8 + thumb_func_start FUN_0200CCF8 +FUN_0200CCF8: ; 0x0200CCF8 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 sub r1, r7, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 @@ -23435,28 +23435,28 @@ sub_0200CCF8: ; 0x0200CCF8 ldr r0, [r5, #0x0] ldr r1, [sp, #0x10] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 cmp r4, #0x0 bne _0200CD5A add r0, r5, #0x0 - bl sub_02019570 + bl FUN_02019570 _0200CD5A: add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200CD60 -sub_0200CD60: ; 0x0200CD60 + thumb_func_start FUN_0200CD60 +FUN_0200CD60: ; 0x0200CD60 add r0, r0, #0x2 bx lr - thumb_func_start sub_0200CD64 -sub_0200CD64: ; 0x0200CD64 + thumb_func_start FUN_0200CD64 +FUN_0200CD64: ; 0x0200CD64 add r0, #0x19 bx lr - thumb_func_start sub_0200CD68 -sub_0200CD68: ; 0x0200CD68 + thumb_func_start FUN_0200CD68 +FUN_0200CD68: ; 0x0200CD68 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x10] @@ -23466,7 +23466,7 @@ sub_0200CD68: ; 0x0200CD68 add r5, r1, #0x0 add r0, r7, #0x0 add r4, r3, #0x0 - bl sub_0200CD60 + bl FUN_0200CD60 add r1, r0, #0x0 str r6, [sp, #0x0] mov r0, #0x0 @@ -23477,11 +23477,11 @@ sub_0200CD68: ; 0x0200CD68 str r0, [sp, #0xc] mov r0, #0x26 add r3, r5, #0x0 - bl sub_0200687C + bl FUN_0200687C cmp r5, #0x4 bhs _0200CDB8 add r0, r7, #0x0 - bl sub_0200CD64 + bl FUN_0200CD64 add r1, r0, #0x0 mov r0, #0x20 str r0, [sp, #0x0] @@ -23490,12 +23490,12 @@ sub_0200CD68: ; 0x0200CD68 str r0, [sp, #0x4] mov r0, #0x26 lsl r3, r4, #0x5 - bl sub_02006930 + bl FUN_02006930 add sp, #0x14 pop {r4-r7, pc} _0200CDB8: add r0, r7, #0x0 - bl sub_0200CD64 + bl FUN_0200CD64 add r1, r0, #0x0 mov r0, #0x20 str r0, [sp, #0x0] @@ -23504,13 +23504,13 @@ _0200CDB8: str r0, [sp, #0x4] mov r0, #0x26 lsl r3, r4, #0x5 - bl sub_02006930 + bl FUN_02006930 add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200CDD8 -sub_0200CDD8: ; 0x0200CDD8 + thumb_func_start FUN_0200CDD8 +FUN_0200CDD8: ; 0x0200CDD8 push {r3-r7, lr} sub sp, #0x30 str r1, [sp, #0x10] @@ -23537,7 +23537,7 @@ sub_0200CDD8: ; 0x0200CDD8 lsl r3, r3, #0x18 ldrh r2, [r2, #0x1c] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x14] sub r0, r0, #0x1 str r0, [sp, #0x24] @@ -23558,7 +23558,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23574,7 +23574,7 @@ sub_0200CDD8: ; 0x0200CDD8 ldr r3, [sp, #0x14] add r0, r7, #0x0 lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 add r0, sp, #0x38 ldrb r1, [r0, #0x10] ldr r0, [sp, #0x14] @@ -23595,7 +23595,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x2c] add r2, r4, #0x4 add r0, r0, #0x1 @@ -23614,7 +23614,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x2c] add r2, r4, #0x5 add r0, r0, #0x2 @@ -23633,7 +23633,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] ldr r3, [sp, #0x28] str r0, [sp, #0x0] @@ -23649,7 +23649,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] ldr r3, [sp, #0x24] str r0, [sp, #0x0] @@ -23665,7 +23665,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -23682,7 +23682,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -23699,7 +23699,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -23716,7 +23716,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r2, r4, #0x0 ldr r3, [sp, #0x28] add r2, #0xc @@ -23736,7 +23736,7 @@ sub_0200CDD8: ; 0x0200CDD8 ldr r1, [sp, #0x10] add r0, r7, #0x0 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23753,7 +23753,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23770,7 +23770,7 @@ sub_0200CDD8: ; 0x0200CDD8 ldr r3, [sp, #0x14] add r0, r7, #0x0 lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23787,7 +23787,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23804,7 +23804,7 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -23820,31 +23820,31 @@ sub_0200CDD8: ; 0x0200CDD8 add r0, r7, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add sp, #0x30 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200D06C -sub_0200D06C: ; 0x0200D06C + thumb_func_start FUN_0200D06C +FUN_0200D06C: ; 0x0200D06C push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 str r7, [sp, #0x0] str r0, [sp, #0x4] lsl r0, r6, #0x18 @@ -23857,49 +23857,49 @@ sub_0200D06C: ; 0x0200D06C ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] ldr r3, [sp, #0x18] - bl sub_0200CDD8 + bl FUN_0200CDD8 add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200D0BC -sub_0200D0BC: ; 0x0200D0BC + thumb_func_start FUN_0200D0BC +FUN_0200D0BC: ; 0x0200D0BC push {r4-r6, lr} add r6, r2, #0x0 add r4, r1, #0x0 add r1, r6, #0x0 add r2, r3, #0x0 add r5, r0, #0x0 - bl sub_0200D06C + bl FUN_0200D06C cmp r4, #0x0 bne _0200D0D6 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 _0200D0D6: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0200D18C + bl FUN_0200D18C pop {r4-r6, pc} - thumb_func_start sub_0200D0E0 -sub_0200D0E0: ; 0x0200D0E0 + thumb_func_start FUN_0200D0E0 +FUN_0200D0E0: ; 0x0200D0E0 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 sub r1, r7, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 @@ -23920,18 +23920,18 @@ sub_0200D0E0: ; 0x0200D0E0 ldr r0, [r5, #0x0] ldr r1, [sp, #0x10] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 cmp r4, #0x0 bne _0200D142 add r0, r5, #0x0 - bl sub_02019570 + bl FUN_02019570 _0200D142: add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200D148 -sub_0200D148: ; 0x0200D148 + thumb_func_start FUN_0200D148 +FUN_0200D148: ; 0x0200D148 push {r4-r5, lr} sub sp, #0x24 add r5, r1, #0x0 @@ -23962,36 +23962,36 @@ sub_0200D148: ; 0x0200D148 mov r0, #0x0 str r0, [sp, #0x10] add r0, sp, #0x1c - bl sub_02018A60 + bl FUN_02018A60 add sp, #0x24 pop {r4-r5, pc} - thumb_func_start sub_0200D18C -sub_0200D18C: ; 0x0200D18C + thumb_func_start FUN_0200D18C +FUN_0200D18C: ; 0x0200D18C push {r3-r7, lr} sub sp, #0x40 str r1, [sp, #0x24] str r0, [sp, #0x20] ldr r0, [r0, #0x0] - bl sub_02016BB8 + bl FUN_02016BB8 add r6, r0, #0x0 ldr r0, [sp, #0x20] - bl sub_0201AB08 + bl FUN_0201AB08 mov r1, #0x6 str r0, [sp, #0x28] add r0, r6, #0x0 lsl r1, r1, #0x6 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 ldr r0, [sp, #0x28] - bl sub_020187B0 + bl FUN_020187B0 add r4, r0, #0x0 str r6, [sp, #0x0] mov r0, #0x26 mov r1, #0x16 mov r2, #0x0 add r3, sp, #0x3c - bl sub_02006BB0 + bl FUN_02006BB0 str r0, [sp, #0x2c] ldr r0, [sp, #0x3c] mov r7, #0x0 @@ -24011,27 +24011,27 @@ _0200D1E0: add r0, r5, r6 add r1, r4, r1 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r0, r6, #0x0 ldr r1, [sp, #0x38] add r0, #0x20 add r0, r5, r0 add r1, r4, r1 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r0, r6, #0x0 ldr r1, [sp, #0x34] add r0, #0x40 add r0, r5, r0 add r1, r4, r1 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 ldr r1, [sp, #0x38] add r6, #0x60 add r0, r5, r6 add r1, r4, r1 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r0, r7, #0x1 lsl r0, r0, #0x18 lsr r7, r0, #0x18 @@ -24051,7 +24051,7 @@ _0200D1E0: str r1, [sp, #0x1c] ldr r0, [sp, #0x30] mov r1, #0x4 - bl sub_0200D148 + bl FUN_0200D148 ldr r0, [sp, #0x24] mov r3, #0x6 add r0, #0x12 @@ -24061,19 +24061,19 @@ _0200D1E0: ldr r0, [r0, #0x0] add r2, r5, #0x0 lsl r3, r3, #0x6 - bl sub_02017E14 + bl FUN_02017E14 ldr r0, [sp, #0x24] - bl sub_02002840 + bl FUN_02002840 ldr r0, [sp, #0x2c] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x40 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200D274 -sub_0200D274: ; 0x0200D274 + thumb_func_start FUN_0200D274 +FUN_0200D274: ; 0x0200D274 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x4] @@ -24082,25 +24082,25 @@ sub_0200D274: ; 0x0200D274 ldrb r0, [r0, #0x10] add r7, r2, #0x0 add r5, r3, #0x0 - bl sub_0200CD60 + bl FUN_0200CD60 add r1, r0, #0x0 ldr r0, [sp, #0x2c] mov r2, #0x0 str r0, [sp, #0x0] mov r0, #0x26 add r3, sp, #0x10 - bl sub_02006BB0 + bl FUN_02006BB0 str r0, [sp, #0xc] mov r1, #0x9 ldr r0, [sp, #0x2c] lsl r1, r1, #0x6 - bl sub_02016998 + bl FUN_02016998 ldr r1, [sp, #0x10] mov r2, #0x9 ldr r1, [r1, #0x14] lsl r2, r2, #0x6 add r4, r0, #0x0 - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0x9 mov r3, #0x0 lsl r0, r0, #0x6 @@ -24132,17 +24132,17 @@ _0200D2D2: ldr r1, [sp, #0x8] add r2, r4, #0x0 lsl r3, r3, #0x6 - bl sub_02017E14 + bl FUN_02017E14 ldr r0, [sp, #0xc] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0200D300 -sub_0200D300: ; 0x0200D300 + thumb_func_start FUN_0200D300 +FUN_0200D300: ; 0x0200D300 push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x10] @@ -24160,14 +24160,14 @@ sub_0200D300: ; 0x0200D300 mov r0, #0x24 add r3, r6, #0x0 str r4, [sp, #0xc] - bl sub_0200687C + bl FUN_0200687C mov r0, #0x24 mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x18 str r0, [sp, #0x14] - blx sub_020B0138 + blx FUN_020B0138 add r2, sp, #0x20 ldr r1, [sp, #0x18] ldrb r2, [r2, #0x10] @@ -24178,10 +24178,10 @@ sub_0200D300: ; 0x0200D300 add r0, r6, #0x0 mov r2, #0x20 lsr r3, r3, #0x10 - bl sub_02017FB4 + bl FUN_02017FB4 ldr r1, [sp, #0x14] add r0, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C add r0, sp, #0x20 ldrb r3, [r0, #0x10] cmp r3, #0x1 @@ -24194,13 +24194,13 @@ sub_0200D300: ; 0x0200D300 add r1, r6, #0x0 lsr r2, r2, #0x10 str r4, [sp, #0x4] - bl sub_0200D378 + bl FUN_0200D378 _0200D374: add sp, #0x1c pop {r4-r7, pc} - thumb_func_start sub_0200D378 -sub_0200D378: ; 0x0200D378 + thumb_func_start FUN_0200D378 +FUN_0200D378: ; 0x0200D378 push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -24227,12 +24227,12 @@ _0200D390: str r0, [sp, #0xc] mov r0, #0x24 add r3, r4, #0x0 - bl sub_0200687C + bl FUN_0200687C add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_0200D3B0 -sub_0200D3B0: ; 0x0200D3B0 + thumb_func_start FUN_0200D3B0 +FUN_0200D3B0: ; 0x0200D3B0 push {r3-r7, lr} sub sp, #0x40 str r1, [sp, #0x14] @@ -24259,7 +24259,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldrh r2, [r2, #0x1c] lsr r3, r3, #0x18 str r0, [sp, #0x10] - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x18] str r0, [sp, #0x30] sub r0, #0x8 @@ -24281,7 +24281,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r0, sp, #0x48 ldrb r0, [r0, #0x10] add r2, r4, #0x2 @@ -24308,7 +24308,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r2, r4, #0x3 lsl r2, r2, #0x10 ldr r1, [sp, #0x18] @@ -24328,7 +24328,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x38] add r2, r4, #0x4 add r0, r0, #0x1 @@ -24347,7 +24347,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x38] add r0, r0, #0x2 str r0, [sp, #0x28] @@ -24366,7 +24366,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x34] str r0, [sp, #0x0] @@ -24381,7 +24381,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x30] str r0, [sp, #0x0] @@ -24396,7 +24396,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -24413,7 +24413,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -24429,7 +24429,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -24445,7 +24445,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -24461,7 +24461,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r2, r4, #0x0 add r6, r0, r6 @@ -24480,7 +24480,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -24497,7 +24497,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -24517,7 +24517,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -24534,7 +24534,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -24551,7 +24551,7 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r6, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -24567,28 +24567,28 @@ sub_0200D3B0: ; 0x0200D3B0 ldr r1, [sp, #0x14] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add sp, #0x40 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200D678 -sub_0200D678: ; 0x0200D678 + thumb_func_start FUN_0200D678 +FUN_0200D678: ; 0x0200D678 push {r3-r7, lr} sub sp, #0x28 str r1, [sp, #0x10] add r7, r0, #0x0 str r2, [sp, #0x14] - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x20] add r0, r7, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 sub r0, r0, #0x7 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x18] add r0, r7, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x1c] mov r0, #0x0 str r0, [sp, #0x24] @@ -24621,7 +24621,7 @@ _0200D6BA: ldr r1, [sp, #0x20] lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -24637,31 +24637,31 @@ _0200D6BA: add sp, #0x28 pop {r3-r7, pc} - thumb_func_start sub_0200D6F8 -sub_0200D6F8: ; 0x0200D6F8 + thumb_func_start FUN_0200D6F8 +FUN_0200D6F8: ; 0x0200D6F8 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 str r1, [sp, #0x10] add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x14] add r0, sp, #0x30 ldrb r0, [r0, #0x10] cmp r0, #0x1 bhi _0200D756 add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x1c] add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 str r7, [sp, #0x0] str r0, [sp, #0x4] str r6, [sp, #0x8] @@ -24670,27 +24670,27 @@ sub_0200D6F8: ; 0x0200D6F8 ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] - bl sub_0200D3B0 + bl FUN_0200D3B0 add r1, r4, #0x0 add r1, #0x1e lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 add r2, r6, #0x0 - bl sub_0200D678 + bl FUN_0200D678 b _0200D788 _0200D756: add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x20] add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x24] add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 str r7, [sp, #0x0] str r0, [sp, #0x4] str r6, [sp, #0x8] @@ -24699,42 +24699,42 @@ _0200D756: ldr r1, [sp, #0x14] ldr r2, [sp, #0x20] ldr r3, [sp, #0x24] - bl sub_0200CDD8 + bl FUN_0200CDD8 _0200D788: ldr r0, [sp, #0x10] cmp r0, #0x0 bne _0200D794 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 _0200D794: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200D18C + bl FUN_0200D18C add sp, #0x28 pop {r3-r7, pc} - thumb_func_start sub_0200D7A0 -sub_0200D7A0: ; 0x0200D7A0 + thumb_func_start FUN_0200D7A0 +FUN_0200D7A0: ; 0x0200D7A0 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x10] - bl sub_0201AB08 + bl FUN_0201AB08 str r0, [sp, #0x14] cmp r4, #0x1 bhi _0200D7FE add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 sub r1, r7, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 @@ -24754,20 +24754,20 @@ sub_0200D7A0: ; 0x0200D7A0 ldr r0, [r5, #0x0] ldr r1, [sp, #0x14] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 b _0200D846 _0200D7FE: add r0, r5, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB18 + bl FUN_0201AB18 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0201AB10 + bl FUN_0201AB10 sub r1, r6, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 @@ -24787,34 +24787,34 @@ _0200D7FE: ldr r0, [r5, #0x0] ldr r1, [sp, #0x14] lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 _0200D846: ldr r0, [sp, #0x10] cmp r0, #0x0 bne _0200D852 add r0, r5, #0x0 - bl sub_02019570 + bl FUN_02019570 _0200D852: add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200D858 -sub_0200D858: ; 0x0200D858 + thumb_func_start FUN_0200D858 +FUN_0200D858: ; 0x0200D858 push {r4-r7, lr} sub sp, #0x34 str r0, [sp, #0x20] ldr r0, [r0, #0x0] str r1, [sp, #0x24] - bl sub_02016BB8 + bl FUN_02016BB8 str r0, [sp, #0x28] ldr r0, [sp, #0x20] - bl sub_0201AB08 - bl sub_020187B0 + bl FUN_0201AB08 + bl FUN_020187B0 add r5, r0, #0x0 ldr r0, [sp, #0x28] ldr r1, _0200D970 ; =0x0000048C - bl sub_02016998 + bl FUN_02016998 ldr r1, [sp, #0x24] add r4, r0, #0x0 ldr r0, _0200D974 ; =0x00000404 @@ -24823,10 +24823,10 @@ sub_0200D858: ; 0x0200D858 add r0, r4, r0 add r1, r5, r1 mov r2, #0x80 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x28] mov r1, #0x80 - bl sub_02016998 + bl FUN_02016998 ldr r1, [sp, #0x24] mov r2, #0x20 add r1, #0xa @@ -24834,7 +24834,7 @@ sub_0200D858: ; 0x0200D858 str r1, [sp, #0x2c] add r1, r5, r1 add r6, r0, #0x0 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x24] mov r2, #0x20 add r0, #0xb @@ -24842,18 +24842,18 @@ sub_0200D858: ; 0x0200D858 add r0, r6, #0x0 add r0, #0x20 add r1, r5, r7 - blx sub_020DF438 + blx FUN_020DF438 ldr r1, [sp, #0x2c] add r0, r6, #0x0 add r0, #0x40 add r1, r5, r1 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r0, r6, #0x0 add r0, #0x60 add r1, r5, r7 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 mov r5, #0x0 add r7, r4, #0x4 _0200D8DA: @@ -24861,21 +24861,21 @@ _0200D8DA: add r0, r7, r0 add r1, r6, #0x0 mov r2, #0x80 - blx sub_020DF438 + blx FUN_020DF438 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r5, #0x8 blo _0200D8DA add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x28] mov r1, #0x17 str r0, [sp, #0x0] mov r0, #0x26 mov r2, #0x0 add r3, sp, #0x30 - bl sub_02006BB0 + bl FUN_02006BB0 mov r2, #0x80 add r5, r0, #0x0 str r2, [sp, #0x0] @@ -24892,9 +24892,9 @@ _0200D8DA: ldr r0, [sp, #0x30] add r2, r1, #0x0 ldr r0, [r0, #0x14] - bl sub_0200D148 + bl FUN_0200D148 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x20] ldr r1, _0200D978 ; =0x00000484 str r0, [r4, #0x0] @@ -24915,12 +24915,12 @@ _0200D8DA: bic r3, r0 add r0, r1, #0x4 strb r3, [r4, r0] - ldr r0, _0200D97C ; =sub_0200DB7C + ldr r0, _0200D97C ; =FUN_0200DB7C add r1, r4, #0x0 - bl sub_0200CA60 + bl FUN_0200CA60 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200D980 + bl FUN_0200D980 add r0, r4, #0x0 add sp, #0x34 pop {r4-r7, pc} @@ -24928,25 +24928,25 @@ _0200D8DA: _0200D970: .word 0x0000048C _0200D974: .word 0x00000404 _0200D978: .word 0x00000484 -_0200D97C: .word sub_0200DB7C + 1 +_0200D97C: .word FUN_0200DB7C + 1 - thumb_func_start sub_0200D980 -sub_0200D980: ; 0x0200D980 + thumb_func_start FUN_0200D980 +FUN_0200D980: ; 0x0200D980 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0201AB14 + bl FUN_0201AB14 str r0, [sp, #0x18] ldr r0, [r5, #0x0] - bl sub_0201AB18 + bl FUN_0201AB18 str r0, [sp, #0x1c] ldr r0, [r5, #0x0] - bl sub_0201AB0C + bl FUN_0201AB0C str r0, [sp, #0x20] cmp r6, #0x2 bne _0200DA8A @@ -24960,7 +24960,7 @@ sub_0200D980: ; 0x0200D980 ldr r0, [r5, #0x0] mov r3, #0x80 ldr r0, [r0, #0x0] - bl sub_02017E14 + bl FUN_02017E14 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x18] add r7, r0, #0x2 @@ -24987,7 +24987,7 @@ sub_0200D980: ; 0x0200D980 add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -25007,7 +25007,7 @@ sub_0200D980: ; 0x0200D980 add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x14] add r7, r0, #0x3 @@ -25029,7 +25029,7 @@ sub_0200D980: ; 0x0200D980 add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -25048,11 +25048,11 @@ sub_0200D980: ; 0x0200D980 add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x0] - bl sub_02017CD0 + bl FUN_02017CD0 add sp, #0x24 pop {r4-r7, pc} _0200DA8A: @@ -25071,7 +25071,7 @@ _0200DA8A: add r2, r2, r3 ldr r0, [r0, #0x0] mov r3, #0x80 - bl sub_02017E14 + bl FUN_02017E14 cmp r6, #0x0 beq _0200DB72 ldr r0, [sp, #0x1c] @@ -25100,7 +25100,7 @@ _0200DA8A: add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -25120,7 +25120,7 @@ _0200DA8A: add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] ldr r3, [sp, #0x10] add r7, r0, #0x3 @@ -25142,7 +25142,7 @@ _0200DA8A: add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 lsl r0, r7, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -25161,19 +25161,19 @@ _0200DA8A: add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x0] - bl sub_02017CD0 + bl FUN_02017CD0 _0200DB72: add sp, #0x24 pop {r4-r7, pc} nop _0200DB78: .word 0x00000484 - thumb_func_start sub_0200DB7C -sub_0200DB7C: ; 0x0200DB7C + thumb_func_start FUN_0200DB7C +FUN_0200DB7C: ; 0x0200DB7C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0200DBE4 ; =0x00000488 @@ -25185,10 +25185,10 @@ sub_0200DB7C: ; 0x0200DB7C bne _0200DB96 add r0, r1, #0x0 mov r1, #0x2 - bl sub_0200D980 + bl FUN_0200D980 _0200DB96: add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r5, pc} _0200DB9E: sub r2, r0, #0x2 @@ -25222,31 +25222,31 @@ _0200DB9E: strb r2, [r1, r0] add r0, r1, #0x0 add r1, r3, #0x0 - bl sub_0200D980 + bl FUN_0200D980 _0200DBE0: pop {r3-r5, pc} nop _0200DBE4: .word 0x00000488 - thumb_func_start sub_0200DBE8 -sub_0200DBE8: ; 0x0200DBE8 + thumb_func_start FUN_0200DBE8 +FUN_0200DBE8: ; 0x0200DBE8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} .balign 4 - thumb_func_start sub_0200DBFC -sub_0200DBFC: ; 0x0200DBFC + thumb_func_start FUN_0200DBFC +FUN_0200DBFC: ; 0x0200DBFC push {r4, lr} add r4, r0, #0x0 - ldr r0, _0200DC1C ; =sub_0200DBE8 + ldr r0, _0200DC1C ; =FUN_0200DBE8 add r1, r4, #0x0 mov r2, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 ldr r1, _0200DC20 ; =0x00000488 mov r0, #0x3 ldrb r2, [r4, r1] @@ -25256,17 +25256,17 @@ sub_0200DBFC: ; 0x0200DBFC strb r0, [r4, r1] pop {r4, pc} nop -_0200DC1C: .word sub_0200DBE8 + 1 +_0200DC1C: .word FUN_0200DBE8 + 1 _0200DC20: .word 0x00000488 - thumb_func_start sub_0200DC24 -sub_0200DC24: ; 0x0200DC24 + thumb_func_start FUN_0200DC24 +FUN_0200DC24: ; 0x0200DC24 push {r4, lr} add r4, r0, #0x0 - ldr r0, _0200DC44 ; =sub_0200DBE8 + ldr r0, _0200DC44 ; =FUN_0200DBE8 add r1, r4, #0x0 mov r2, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 ldr r1, _0200DC48 ; =0x00000488 mov r0, #0x3 ldrb r2, [r4, r1] @@ -25276,11 +25276,11 @@ sub_0200DC24: ; 0x0200DC24 strb r0, [r4, r1] pop {r4, pc} nop -_0200DC44: .word sub_0200DBE8 + 1 +_0200DC44: .word FUN_0200DBE8 + 1 _0200DC48: .word 0x00000488 - thumb_func_start sub_0200DC4C -sub_0200DC4C: ; 0x0200DC4C + thumb_func_start FUN_0200DC4C +FUN_0200DC4C: ; 0x0200DC4C push {r4-r7, lr} sub sp, #0xc str r2, [sp, #0x4] @@ -25289,29 +25289,29 @@ sub_0200DC4C: ; 0x0200DC4C add r6, r0, #0x0 add r7, r1, #0x0 str r5, [sp, #0x0] - bl sub_0200DD70 + bl FUN_0200DD70 add r4, r0, #0x0 add r1, r5, #0x0 - bl sub_0200DDAC + bl FUN_0200DDAC add r0, r4, #0x0 - bl sub_0200DDD8 + bl FUN_0200DDD8 ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] add r0, r4, #0x0 - bl sub_0200DE30 + bl FUN_0200DE30 add r2, sp, #0x10 ldrh r1, [r2, #0x18] ldrb r2, [r2, #0x1c] add r0, r4, #0x0 - bl sub_0200DE80 + bl FUN_0200DE80 add r2, sp, #0x10 ldrb r1, [r2, #0x10] ldrh r2, [r2, #0x14] add r0, r4, #0x0 - bl sub_0200DFD8 + bl FUN_0200DFD8 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02017CD0 + bl FUN_02017CD0 ldr r0, _0200DCA0 ; =0x0000016F add r0, r4, r0 add sp, #0xc @@ -25319,8 +25319,8 @@ sub_0200DC4C: ; 0x0200DC4C .balign 4 _0200DCA0: .word 0x0000016F - thumb_func_start sub_0200DCA4 -sub_0200DCA4: ; 0x0200DCA4 + thumb_func_start FUN_0200DCA4 +FUN_0200DCA4: ; 0x0200DCA4 push {r4-r7, lr} sub sp, #0xc str r2, [sp, #0x4] @@ -25329,27 +25329,27 @@ sub_0200DCA4: ; 0x0200DCA4 add r6, r0, #0x0 add r7, r1, #0x0 str r5, [sp, #0x0] - bl sub_0200DD70 + bl FUN_0200DD70 add r4, r0, #0x0 add r1, r5, #0x0 - bl sub_0200DDAC + bl FUN_0200DDAC add r0, r4, #0x0 - bl sub_0200DDD8 + bl FUN_0200DDD8 ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] add r0, r4, #0x0 - bl sub_0200DE30 + bl FUN_0200DE30 ldr r1, [sp, #0x28] add r0, r4, #0x0 - bl sub_0200DEC0 + bl FUN_0200DEC0 add r2, sp, #0x10 ldrb r1, [r2, #0x10] ldrh r2, [r2, #0x14] add r0, r4, #0x0 - bl sub_0200DFD8 + bl FUN_0200DFD8 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02017CD0 + bl FUN_02017CD0 ldr r0, _0200DCF4 ; =0x0000016F add r0, r4, r0 add sp, #0xc @@ -25357,8 +25357,8 @@ sub_0200DCA4: ; 0x0200DCA4 .balign 4 _0200DCF4: .word 0x0000016F - thumb_func_start sub_0200DCF8 -sub_0200DCF8: ; 0x0200DCF8 + thumb_func_start FUN_0200DCF8 +FUN_0200DCF8: ; 0x0200DCF8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0200DD6C ; =0x0000016F @@ -25373,15 +25373,15 @@ sub_0200DCF8: ; 0x0200DCF8 b _0200DD54 _0200DD10: add r0, r4, #0x0 - bl sub_0200E188 + bl FUN_0200E188 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0200C3DC + bl FUN_0200C3DC add r0, r4, #0x0 - bl sub_021D99F8 + bl FUN_021D99F8 add r0, r5, #0x0 - bl sub_0200621C + bl FUN_0200621C pop {r3-r5, pc} _0200DD2E: mov r1, #0x3 @@ -25390,13 +25390,13 @@ _0200DD2E: ldr r0, [r4, r0] mov r1, #0x1 ldr r0, [r0, #0x0] - bl sub_02020130 + bl FUN_02020130 b _0200DD54 _0200DD40: sub r0, #0xb ldr r0, [r4, r0] ldr r0, [r0, #0x0] - bl sub_0202022C + bl FUN_0202022C cmp r0, #0x6 bne _0200DD54 ldr r0, _0200DD6C ; =0x0000016F @@ -25409,27 +25409,27 @@ _0200DD54: mov r1, #0x1 ldr r0, [r0, #0x0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, [r4, #0x0] - bl sub_0201FDEC + bl FUN_0201FDEC pop {r3-r5, pc} .balign 4 _0200DD6C: .word 0x0000016F - thumb_func_start sub_0200DD70 -sub_0200DD70: ; 0x0200DD70 + thumb_func_start FUN_0200DD70 +FUN_0200DD70: ; 0x0200DD70 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r7, r3, #0x0 mov r1, #0x17 add r6, r2, #0x0 - ldr r0, _0200DDA4 ; =sub_0200DCF8 + ldr r0, _0200DDA4 ; =FUN_0200DCF8 ldr r3, [sp, #0x18] lsl r1, r1, #0x4 mov r2, #0x0 - bl sub_020061E8 - bl sub_0201B6C8 + bl FUN_020061E8 + bl FUN_0201B6C8 ldr r1, _0200DDA8 ; =0x0000016F mov r2, #0x0 strb r2, [r0, r1] @@ -25443,11 +25443,11 @@ sub_0200DD70: ; 0x0200DD70 strb r7, [r0, r1] pop {r3-r7, pc} .balign 4 -_0200DDA4: .word sub_0200DCF8 + 1 +_0200DDA4: .word FUN_0200DCF8 + 1 _0200DDA8: .word 0x0000016F - thumb_func_start sub_0200DDAC -sub_0200DDAC: ; 0x0200DDAC + thumb_func_start FUN_0200DDAC +FUN_0200DDAC: ; 0x0200DDAC push {r4-r6, lr} sub sp, #0x18 ldr r5, _0200DDD4 ; =0x020ECEA8 @@ -25464,14 +25464,14 @@ sub_0200DDAC: ; 0x0200DDAC add r1, r2, #0x0 add r0, r6, #0x0 mov r2, #0x1 - bl sub_021D959C + bl FUN_021D959C add sp, #0x18 pop {r4-r6, pc} .balign 4 _0200DDD4: .word 0x020ECEA8 - thumb_func_start sub_0200DDD8 -sub_0200DDD8: ; 0x0200DDD8 + thumb_func_start FUN_0200DDD8 +FUN_0200DDD8: ; 0x0200DDD8 push {r3-r4, lr} sub sp, #0xc mov r1, #0x1 @@ -25483,21 +25483,21 @@ sub_0200DDD8: ; 0x0200DDD8 mov r1, #0x26 mov r3, #0x0 add r4, r0, #0x0 - bl sub_021D967C + bl FUN_021D967C ldr r0, _0200DE2C ; =0x00015CD5 mov r1, #0x26 str r0, [sp, #0x0] add r0, r4, #0x0 mov r2, #0x2f mov r3, #0x0 - bl sub_021D96F4 + bl FUN_021D96F4 ldr r0, _0200DE2C ; =0x00015CD5 mov r1, #0x26 str r0, [sp, #0x0] add r0, r4, #0x0 mov r2, #0x2e mov r3, #0x0 - bl sub_021D9708 + bl FUN_021D9708 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _0200DE2C ; =0x00015CD5 @@ -25506,14 +25506,14 @@ sub_0200DDD8: ; 0x0200DDD8 add r0, r4, #0x0 mov r2, #0x30 mov r3, #0x0 - bl sub_021D971C + bl FUN_021D971C add sp, #0xc pop {r3-r4, pc} nop _0200DE2C: .word 0x00015CD5 - thumb_func_start sub_0200DE30 -sub_0200DE30: ; 0x0200DE30 + thumb_func_start FUN_0200DE30 +FUN_0200DE30: ; 0x0200DE30 push {r4-r7, lr} sub sp, #0x34 ldr r5, _0200DE7C ; =0x020ECEC0 @@ -25538,22 +25538,22 @@ _0200DE40: strh r1, [r0, #0x2] add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_021D9820 + bl FUN_021D9820 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] - bl sub_0201FDEC + bl FUN_0201FDEC mov r0, #0x10 mov r1, #0x1 - bl sub_0201E74C + bl FUN_0201E74C add sp, #0x34 pop {r4-r7, pc} nop _0200DE7C: .word 0x020ECEC0 - thumb_func_start sub_0200DE80 -sub_0200DE80: ; 0x0200DE80 + thumb_func_start FUN_0200DE80 +FUN_0200DE80: ; 0x0200DE80 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -25561,7 +25561,7 @@ sub_0200DE80: ; 0x0200DE80 add r4, r1, #0x0 ldrh r0, [r5, r0] add r6, r2, #0x0 - bl sub_02006D98 + bl FUN_02006D98 add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -25571,43 +25571,43 @@ sub_0200DE80: ; 0x0200DE80 add r1, r4, #0x0 add r2, r6, #0x0 mov r3, #0x2 - bl sub_02068C00 + bl FUN_02068C00 add r0, r5, #0x0 add r1, sp, #0xc - bl sub_0200DEF4 + bl FUN_0200DEF4 add r0, r7, #0x0 - bl sub_020072E8 + bl FUN_020072E8 add sp, #0x1c pop {r4-r7, pc} nop _0200DEBC: .word 0x00000162 - thumb_func_start sub_0200DEC0 -sub_0200DEC0: ; 0x0200DEC0 + thumb_func_start FUN_0200DEC0 +FUN_0200DEC0: ; 0x0200DEC0 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, _0200DEF0 ; =0x00000162 add r4, r1, #0x0 ldrh r0, [r5, r0] - bl sub_02006D98 + bl FUN_02006D98 add r6, r0, #0x0 add r0, sp, #0x0 add r1, r4, #0x0 mov r2, #0x2 - bl sub_02068B68 + bl FUN_02068B68 add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_0200DEF4 + bl FUN_0200DEF4 add r0, r6, #0x0 - bl sub_020072E8 + bl FUN_020072E8 add sp, #0x10 pop {r4-r6, pc} nop _0200DEF0: .word 0x00000162 - thumb_func_start sub_0200DEF4 -sub_0200DEF4: ; 0x0200DEF4 + thumb_func_start FUN_0200DEF4 +FUN_0200DEF4: ; 0x0200DEF4 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 @@ -25616,7 +25616,7 @@ sub_0200DEF4: ; 0x0200DEF4 mov r1, #0x19 ldrh r0, [r5, r0] lsl r1, r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r2, sp, #0x18 ldr r3, _0200DFCC ; =0x020ECE98 add r4, r0, #0x0 @@ -25631,7 +25631,7 @@ sub_0200DEF4: ; 0x0200DEF4 ldrh r1, [r6, #0x2] ldrh r2, [r5, r2] add r3, r7, #0x0 - bl sub_02012400 + bl FUN_02012400 ldr r3, _0200DFD0 ; =0x020ECE88 add r2, sp, #0x8 add r7, r2, #0x0 @@ -25648,53 +25648,53 @@ sub_0200DEF4: ; 0x0200DEF4 ldrh r1, [r6, #0x2] ldrh r2, [r5, r2] add r3, r7, #0x0 - bl sub_02012400 + bl FUN_02012400 mov r0, #0x13 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, _0200DFD4 ; =0x00015CD5 - bl sub_020094F0 - bl sub_02009C5C + bl FUN_020094F0 + bl FUN_02009C5C mov r1, #0x1 str r0, [sp, #0x4] - blx sub_020B1A14 + blx FUN_020B1A14 mov r1, #0x19 add r7, r0, #0x0 add r0, r4, #0x0 lsl r1, r1, #0x8 - blx sub_020CC15C + blx FUN_020CC15C mov r2, #0x19 add r0, r4, #0x0 add r1, r7, #0x0 lsl r2, r2, #0x8 - blx sub_020C92F4 + blx FUN_020C92F4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r2, _0200DFC8 ; =0x00000162 ldrh r0, [r6, #0x0] ldrh r1, [r6, #0x4] ldrh r2, [r5, r2] - bl sub_02012470 + bl FUN_02012470 add r4, r0, #0x0 mov r0, #0x4d lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, _0200DFD4 ; =0x00015CD5 - bl sub_020094F0 + bl FUN_020094F0 ldr r1, [sp, #0x4] - bl sub_02009E54 + bl FUN_02009E54 mov r1, #0x1 - blx sub_020B19C4 + blx FUN_020B19C4 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x20 - blx sub_020CC15C + blx FUN_020CC15C add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x20 - blx sub_020C9480 + blx FUN_020C9480 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x28 pop {r3-r7, pc} nop @@ -25703,8 +25703,8 @@ _0200DFCC: .word 0x020ECE98 _0200DFD0: .word 0x020ECE88 _0200DFD4: .word 0x00015CD5 - thumb_func_start sub_0200DFD8 -sub_0200DFD8: ; 0x0200DFD8 + thumb_func_start FUN_0200DFD8 +FUN_0200DFD8: ; 0x0200DFD8 push {r4-r6, lr} sub sp, #0x10 ldr r3, _0200E184 ; =0x0000016E @@ -25729,7 +25729,7 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r3, r3, #0x18 add r6, r2, #0x0 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x1 ldrb r0, [r5, r3] @@ -25750,7 +25750,7 @@ sub_0200DFD8: ; 0x0200DFD8 ldrb r3, [r5, r3] ldr r0, [r5, r0] lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x2 ldrb r0, [r5, r3] @@ -25773,7 +25773,7 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x4 ldrb r0, [r5, r3] @@ -25790,7 +25790,7 @@ sub_0200DFD8: ; 0x0200DFD8 ldrb r3, [r5, r3] ldr r0, [r5, r0] lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x3 ldrb r0, [r5, r3] @@ -25811,7 +25811,7 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x5 ldrb r0, [r5, r3] @@ -25832,7 +25832,7 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x6 ldrb r0, [r5, r3] @@ -25855,7 +25855,7 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r2, r6, #0x7 ldrb r0, [r5, r3] @@ -25876,7 +25876,7 @@ sub_0200DFD8: ; 0x0200DFD8 ldrb r3, [r5, r3] ldr r0, [r5, r0] lsr r2, r2, #0x10 - bl sub_02018540 + bl FUN_02018540 ldr r3, _0200E184 ; =0x0000016E add r6, #0x8 ldrb r0, [r5, r3] @@ -25899,20 +25899,20 @@ sub_0200DFD8: ; 0x0200DFD8 lsl r3, r3, #0x18 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 mov r1, #0x5a lsl r1, r1, #0x2 ldr r0, [r5, r1] add r1, r1, #0x4 ldrb r1, [r5, r1] - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x10 pop {r4-r6, pc} nop _0200E184: .word 0x0000016E - thumb_func_start sub_0200E188 -sub_0200E188: ; 0x0200E188 + thumb_func_start FUN_0200E188 +FUN_0200E188: ; 0x0200E188 push {r4, lr} sub sp, #0x10 ldr r3, _0200E1CC ; =0x0000016E @@ -25936,20 +25936,20 @@ sub_0200E188: ; 0x0200E188 sub r3, r3, #0x1 lsl r3, r3, #0x18 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 mov r1, #0x5a lsl r1, r1, #0x2 ldr r0, [r4, r1] add r1, r1, #0x4 ldrb r1, [r4, r1] - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x10 pop {r4, pc} .balign 4 _0200E1CC: .word 0x0000016E - thumb_func_start sub_0200E1D0 -sub_0200E1D0: ; 0x0200E1D0 + thumb_func_start FUN_0200E1D0 +FUN_0200E1D0: ; 0x0200E1D0 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -25959,29 +25959,29 @@ sub_0200E1D0: ; 0x0200E1D0 add r6, r3, #0x0 cmp r0, #0x0 bne _0200E1E6 - bl sub_02020C2C + bl FUN_02020C2C _0200E1E6: ldr r0, [sp, #0x34] cmp r0, #0x0 bne _0200E1F0 - bl sub_02020C2C + bl FUN_02020C2C _0200E1F0: ldr r0, _0200E2AC ; =0x021C47F4 ldrh r0, [r0, #0xc] cmp r0, #0x0 beq _0200E1FC - bl sub_02020C2C + bl FUN_02020C2C _0200E1FC: ldr r0, _0200E2B0 ; =0x021C46B4 - bl sub_0200E808 + bl FUN_0200E808 ldr r1, _0200E2B0 ; =0x021C46B4 add r0, r5, #0x0 - bl sub_0200E558 + bl FUN_0200E558 ldr r0, _0200E2B4 ; =0x021C4728 - bl sub_0200E5F4 + bl FUN_0200E5F4 ldr r0, _0200E2B0 ; =0x021C46B4 add r1, r6, #0x0 - bl sub_0200E75C + bl FUN_0200E75C add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -25998,7 +25998,7 @@ _0200E1FC: str r0, [sp, #0x14] ldr r0, _0200E2BC ; =0x021C46C8 str r5, [sp, #0x18] - bl sub_0200E5C8 + bl FUN_0200E5C8 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -26015,23 +26015,23 @@ _0200E1FC: str r0, [sp, #0x14] ldr r0, _0200E2C0 ; =0x021C46F8 str r5, [sp, #0x18] - bl sub_0200E5C8 + bl FUN_0200E5C8 ldr r0, _0200E2AC ; =0x021C47F4 mov r1, #0x1 strh r1, [r0, #0xc] ldr r0, _0200E2C4 ; =0x021C46B8 ldr r1, _0200E2BC ; =0x021C46C8 - bl sub_0200E528 + bl FUN_0200E528 ldr r0, _0200E2C8 ; =0x021C46BC ldr r1, _0200E2C0 ; =0x021C46F8 - bl sub_0200E528 + bl FUN_0200E528 ldr r0, _0200E2CC ; =0x021C46B4 ldr r0, [r0, #0xc] cmp r0, #0x0 beq _0200E28E ldr r0, _0200E2B0 ; =0x021C46B4 add r0, #0x14 - bl sub_0200E7A8 + bl FUN_0200E7A8 ldr r1, _0200E2D0 ; =0x0000014E ldr r0, _0200E2B0 ; =0x021C46B4 mov r2, #0x1 @@ -26043,7 +26043,7 @@ _0200E28E: beq _0200E2A6 ldr r0, _0200E2B0 ; =0x021C46B4 add r0, #0x44 - bl sub_0200E7A8 + bl FUN_0200E7A8 ldr r1, _0200E2D4 ; =0x0000014F ldr r0, _0200E2B0 ; =0x021C46B4 mov r2, #0x1 @@ -26064,8 +26064,8 @@ _0200E2CC: .word 0x021C46B4 _0200E2D0: .word 0x0000014E _0200E2D4: .word 0x0000014F - thumb_func_start sub_0200E2D8 -sub_0200E2D8: ; 0x0200E2D8 + thumb_func_start FUN_0200E2D8 +FUN_0200E2D8: ; 0x0200E2D8 push {r4, lr} ldr r0, _0200E300 ; =0x021C47F4 ldr r4, _0200E304 ; =0x021C46B4 @@ -26077,19 +26077,19 @@ sub_0200E2D8: ; 0x0200E2D8 add r0, r4, #0x0 add r1, #0x14 add r2, #0x44 - bl sub_0200E4B8 + bl FUN_0200E4B8 cmp r0, #0x1 bne _0200E2FC add r0, r4, #0x0 - bl sub_0200E460 + bl FUN_0200E460 _0200E2FC: pop {r4, pc} nop _0200E300: .word 0x021C47F4 _0200E304: .word 0x021C46B4 - thumb_func_start sub_0200E308 -sub_0200E308: ; 0x0200E308 + thumb_func_start FUN_0200E308 +FUN_0200E308: ; 0x0200E308 ldr r0, _0200E318 ; =0x021C47F4 ldrh r0, [r0, #0xc] cmp r0, #0x0 @@ -26102,15 +26102,15 @@ _0200E314: .balign 4 _0200E318: .word 0x021C47F4 - thumb_func_start sub_0200E31C -sub_0200E31C: ; 0x0200E31C + thumb_func_start FUN_0200E31C +FUN_0200E31C: ; 0x0200E31C push {r3, lr} ldr r0, _0200E368 ; =0x021C4728 mov r1, #0x0 - bl sub_0200E6A0 + bl FUN_0200E6A0 ldr r0, _0200E368 ; =0x021C4728 mov r1, #0x1 - bl sub_0200E6A0 + bl FUN_0200E6A0 ldr r0, _0200E36C ; =0x021C46B4 ldr r1, [r0, #0x4] cmp r1, #0x0 @@ -26127,17 +26127,17 @@ _0200E33A: _0200E346: ldr r0, _0200E370 ; =0x021C46B8 ldr r1, _0200E374 ; =0x021C46C8 - bl sub_0200E528 + bl FUN_0200E528 ldr r0, _0200E378 ; =0x021C46BC ldr r1, _0200E37C ; =0x021C46F8 - bl sub_0200E528 + bl FUN_0200E528 ldr r0, _0200E380 ; =0x021C47F4 mov r1, #0x0 strh r1, [r0, #0xc] strb r1, [r0, #0xe] strb r1, [r0, #0xf] ldr r0, _0200E384 ; =0x021C46B4 - bl sub_0200E808 + bl FUN_0200E808 pop {r3, pc} .balign 4 _0200E368: .word 0x021C4728 @@ -26149,25 +26149,25 @@ _0200E37C: .word 0x021C46F8 _0200E380: .word 0x021C47F4 _0200E384: .word 0x021C46B4 - thumb_func_start sub_0200E388 -sub_0200E388: ; 0x0200E388 - ldr r3, _0200E390 ; =sub_02011480 + thumb_func_start FUN_0200E388 +FUN_0200E388: ; 0x0200E388 + ldr r3, _0200E390 ; =FUN_02011480 add r1, r0, #0x0 mov r0, #0x0 bx r3 .balign 4 -_0200E390: .word sub_02011480 + 1 +_0200E390: .word FUN_02011480 + 1 - thumb_func_start sub_0200E394 -sub_0200E394: ; 0x0200E394 - ldr r3, _0200E39C ; =sub_0200E440 + thumb_func_start FUN_0200E394 +FUN_0200E394: ; 0x0200E394 + ldr r3, _0200E39C ; =FUN_0200E440 mov r1, #0x0 bx r3 nop -_0200E39C: .word sub_0200E440 + 1 +_0200E39C: .word FUN_0200E440 + 1 - thumb_func_start sub_0200E3A0 -sub_0200E3A0: ; 0x0200E3A0 + thumb_func_start FUN_0200E3A0 +FUN_0200E3A0: ; 0x0200E3A0 ldr r2, _0200E3B4 ; =0x00007FFF cmp r1, r2 bne _0200E3AA @@ -26177,14 +26177,14 @@ _0200E3AA: mov r1, #0xf mvn r1, r1 _0200E3AE: - ldr r3, _0200E3B8 ; =sub_0200E440 + ldr r3, _0200E3B8 ; =FUN_0200E440 bx r3 nop _0200E3B4: .word 0x00007FFF -_0200E3B8: .word sub_0200E440 + 1 +_0200E3B8: .word FUN_0200E440 + 1 - thumb_func_start sub_0200E3BC -sub_0200E3BC: ; 0x0200E3BC + thumb_func_start FUN_0200E3BC +FUN_0200E3BC: ; 0x0200E3BC push {r0-r3} push {r3-r4, lr} sub sp, #0xc @@ -26193,23 +26193,23 @@ sub_0200E3BC: ; 0x0200E3BC bne _0200E3D2 mov r1, #0x0 mov r2, #0x2 - blx sub_020C9550 + blx FUN_020C9550 b _0200E3DA _0200E3D2: mov r1, #0x0 mov r2, #0x2 - blx sub_020C94E8 + blx FUN_020C94E8 _0200E3DA: ldr r0, _0200E41C ; =0x021C4740 mov r1, #0x1 add r2, r4, #0x0 - bl sub_02011634 + bl FUN_02011634 mov r2, #0x0 ldr r0, _0200E41C ; =0x021C4740 mov r1, #0x3f add r3, r2, #0x0 str r4, [sp, #0x0] - bl sub_02011650 + bl FUN_02011650 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -26217,12 +26217,12 @@ _0200E3DA: add r2, r1, #0x0 add r3, r1, #0x0 str r4, [sp, #0x8] - bl sub_02011698 + bl FUN_02011698 ldr r0, _0200E41C ; =0x021C4740 mov r1, #0x20 mov r2, #0x0 add r3, r4, #0x0 - bl sub_02011678 + bl FUN_02011678 add sp, #0xc pop {r3-r4} pop {r3} @@ -26231,48 +26231,48 @@ _0200E3DA: nop _0200E41C: .word 0x021C4740 - thumb_func_start sub_0200E420 -sub_0200E420: ; 0x0200E420 + thumb_func_start FUN_0200E420 +FUN_0200E420: ; 0x0200E420 push {r0-r3} push {r3, lr} add r0, sp, #0x8 mov r1, #0x0 mov r2, #0x2 - blx sub_020C9550 + blx FUN_020C9550 add r0, sp, #0x8 mov r1, #0x0 mov r2, #0x2 - blx sub_020C94E8 + blx FUN_020C94E8 pop {r3} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_0200E440 -sub_0200E440: ; 0x0200E440 + thumb_func_start FUN_0200E440 +FUN_0200E440: ; 0x0200E440 push {r3, lr} cmp r0, #0x0 bne _0200E44E ldr r0, _0200E458 ; =0x0400006C - blx sub_020C5978 + blx FUN_020C5978 pop {r3, pc} _0200E44E: ldr r0, _0200E45C ; =0x0400106C - blx sub_020C5978 + blx FUN_020C5978 pop {r3, pc} nop _0200E458: .word 0x0400006C _0200E45C: .word 0x0400106C - thumb_func_start sub_0200E460 -sub_0200E460: ; 0x0200E460 + thumb_func_start FUN_0200E460 +FUN_0200E460: ; 0x0200E460 push {r4, lr} mov r1, #0x53 add r4, r0, #0x0 mov r2, #0x0 lsl r1, r1, #0x2 strh r2, [r4, r1] - bl sub_0200E770 + bl FUN_0200E770 mov r1, #0x15 lsl r1, r1, #0x4 strh r0, [r4, r1] @@ -26281,7 +26281,7 @@ sub_0200E460: ; 0x0200E460 beq _0200E490 add r0, r4, #0x0 add r0, #0x14 - bl sub_0200E7D8 + bl FUN_0200E7D8 ldr r0, [r4, #0x3c] cmp r0, #0x0 bne _0200E490 @@ -26294,7 +26294,7 @@ _0200E490: beq _0200E4AA add r0, r4, #0x0 add r0, #0x44 - bl sub_0200E7D8 + bl FUN_0200E7D8 ldr r0, [r4, #0x3c] cmp r0, #0x0 bne _0200E4AA @@ -26303,13 +26303,13 @@ _0200E490: strb r1, [r0, #0xf] _0200E4AA: add r0, r4, #0x0 - bl sub_0200E808 + bl FUN_0200E808 pop {r4, pc} nop _0200E4B4: .word 0x021C47F4 - thumb_func_start sub_0200E4B8 -sub_0200E4B8: ; 0x0200E4B8 + thumb_func_start FUN_0200E4B8 +FUN_0200E4B8: ; 0x0200E4B8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -26323,24 +26323,24 @@ sub_0200E4B8: ; 0x0200E4B8 b _0200E512 _0200E4CE: add r0, r5, #0x4 - bl sub_0200E528 + bl FUN_0200E528 add r0, r5, #0x0 add r0, #0x8 add r1, r4, #0x0 - bl sub_0200E528 + bl FUN_0200E528 b _0200E512 _0200E4E0: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _0200E4EE add r0, r5, #0x4 - bl sub_0200E528 + bl FUN_0200E528 b _0200E512 _0200E4EE: add r0, r5, #0x0 add r0, #0x8 add r1, r4, #0x0 - bl sub_0200E528 + bl FUN_0200E528 b _0200E512 _0200E4FA: ldr r0, [r5, #0x8] @@ -26349,11 +26349,11 @@ _0200E4FA: add r0, r5, #0x0 add r0, #0x8 add r1, r4, #0x0 - bl sub_0200E528 + bl FUN_0200E528 b _0200E512 _0200E50C: add r0, r5, #0x4 - bl sub_0200E528 + bl FUN_0200E528 _0200E512: ldr r0, [r5, #0x4] cmp r0, #0x0 @@ -26368,15 +26368,15 @@ _0200E522: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200E528 -sub_0200E528: ; 0x0200E528 + thumb_func_start FUN_0200E528 +FUN_0200E528: ; 0x0200E528 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0200E540 add r0, r1, #0x0 - bl sub_0200E544 + bl FUN_0200E544 cmp r0, #0x1 bne _0200E540 mov r0, #0x0 @@ -26385,8 +26385,8 @@ _0200E540: pop {r4, pc} .balign 4 - thumb_func_start sub_0200E544 -sub_0200E544: ; 0x0200E544 + thumb_func_start FUN_0200E544 +FUN_0200E544: ; 0x0200E544 push {r3, lr} ldr r1, [r0, #0x0] lsl r2, r1, #0x2 @@ -26397,8 +26397,8 @@ sub_0200E544: ; 0x0200E544 nop _0200E554: .word 0x020ECEF4 - thumb_func_start sub_0200E558 -sub_0200E558: ; 0x0200E558 + thumb_func_start FUN_0200E558 +FUN_0200E558: ; 0x0200E558 push {r3, lr} cmp r0, #0x4 bhi _0200E5B8 @@ -26417,7 +26417,7 @@ sub_0200E558: ; 0x0200E558 add r0, r1, #0x0 mov r1, #0x0 add r3, r2, #0x0 - bl sub_0200E5BC + bl FUN_0200E5BC pop {r3, pc} _0200E582: .byte 0x08, 0x1C, 0x01, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD @@ -26428,8 +26428,8 @@ _0200E5B8: pop {r3, pc} .balign 4 - thumb_func_start sub_0200E5BC -sub_0200E5BC: ; 0x0200E5BC + thumb_func_start FUN_0200E5BC +FUN_0200E5BC: ; 0x0200E5BC str r1, [r0, #0x0] str r2, [r0, #0x4] str r3, [r0, #0x8] @@ -26437,8 +26437,8 @@ sub_0200E5BC: ; 0x0200E5BC str r3, [r0, #0x10] bx lr - thumb_func_start sub_0200E5C8 -sub_0200E5C8: ; 0x0200E5C8 + thumb_func_start FUN_0200E5C8 +FUN_0200E5C8: ; 0x0200E5C8 str r1, [r0, #0x0] str r2, [r0, #0x4] ldr r1, [sp, #0x0] @@ -26462,10 +26462,10 @@ sub_0200E5C8: ; 0x0200E5C8 .balign 4 _0200E5F0: .word 0xFFFFFFF0 - thumb_func_start sub_0200E5F4 -sub_0200E5F4: ; 0x0200E5F4 + thumb_func_start FUN_0200E5F4 +FUN_0200E5F4: ; 0x0200E5F4 mov r3, #0x0 - ldr r1, _0200E60C ; =sub_0200E758 + ldr r1, _0200E60C ; =FUN_0200E758 add r2, r3, #0x0 _0200E5FA: str r2, [r0, #0x0] @@ -26477,10 +26477,10 @@ _0200E5FA: blt _0200E5FA bx lr nop -_0200E60C: .word sub_0200E758 + 1 +_0200E60C: .word FUN_0200E758 + 1 - thumb_func_start sub_0200E610 -sub_0200E610: ; 0x0200E610 + thumb_func_start FUN_0200E610 +FUN_0200E610: ; 0x0200E610 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 @@ -26495,8 +26495,8 @@ _0200E616: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0200E628 -sub_0200E628: ; 0x0200E628 + thumb_func_start FUN_0200E628 +FUN_0200E628: ; 0x0200E628 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -26512,14 +26512,14 @@ sub_0200E628: ; 0x0200E628 str r1, [sp, #0x0] cmp r0, #0x0 beq _0200E64A - bl sub_02020C2C + bl FUN_02020C2C _0200E64A: add r6, r5, #0x0 add r6, #0x8 ldr r0, [r6, r4] cmp r0, #0x0 bne _0200E658 - bl sub_02020C2C + bl FUN_02020C2C _0200E658: ldr r0, [r5, #0x10] cmp r0, #0x0 @@ -26527,9 +26527,9 @@ _0200E658: ldr r0, [r5, #0x14] cmp r0, #0x0 bne _0200E672 - ldr r0, _0200E698 ; =sub_0200E610 + ldr r0, _0200E698 ; =FUN_0200E610 add r1, r5, #0x0 - bl sub_02015F34 + bl FUN_02015F34 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] @@ -26537,7 +26537,7 @@ _0200E672: ldr r0, [sp, #0x4] cmp r0, #0x1 beq _0200E67C - bl sub_02020C2C + bl FUN_02020C2C _0200E67C: ldr r0, [sp, #0x0] cmp r7, #0x0 @@ -26546,7 +26546,7 @@ _0200E67C: str r7, [r6, r4] b _0200E68C _0200E688: - ldr r0, _0200E69C ; =sub_0200E758 + ldr r0, _0200E69C ; =FUN_0200E758 str r0, [r6, r4] _0200E68C: ldr r0, [sp, #0x8] @@ -26555,11 +26555,11 @@ _0200E68C: add sp, #0xc pop {r4-r7, pc} nop -_0200E698: .word sub_0200E610 + 1 -_0200E69C: .word sub_0200E758 + 1 +_0200E698: .word FUN_0200E610 + 1 +_0200E69C: .word FUN_0200E758 + 1 - thumb_func_start sub_0200E6A0 -sub_0200E6A0: ; 0x0200E6A0 + thumb_func_start FUN_0200E6A0 +FUN_0200E6A0: ; 0x0200E6A0 push {r3-r5, lr} lsl r4, r1, #0x2 add r5, r0, #0x0 @@ -26572,19 +26572,19 @@ sub_0200E6A0: ; 0x0200E6A0 ldr r0, [r5, #0x14] cmp r0, #0x0 bne _0200E6BC - bl sub_02015F1C + bl FUN_02015F1C _0200E6BC: - ldr r1, _0200E6C8 ; =sub_0200E758 + ldr r1, _0200E6C8 ; =FUN_0200E758 add r0, r5, r4 str r1, [r0, #0x8] mov r0, #0x0 str r0, [r5, r4] pop {r3-r5, pc} .balign 4 -_0200E6C8: .word sub_0200E758 + 1 +_0200E6C8: .word FUN_0200E758 + 1 - thumb_func_start sub_0200E6CC -sub_0200E6CC: ; 0x0200E6CC + thumb_func_start FUN_0200E6CC +FUN_0200E6CC: ; 0x0200E6CC push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -26592,41 +26592,41 @@ sub_0200E6CC: ; 0x0200E6CC mov r1, #0x10 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r1, r0, #0x0 str r5, [r1, #0x0] str r4, [r1, #0x4] mov r2, #0x1 str r6, [r1, #0x8] - ldr r0, _0200E6F4 ; =sub_0200E71C + ldr r0, _0200E6F4 ; =FUN_0200E71C lsl r2, r2, #0xa str r7, [r1, #0xc] - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r7, pc} .balign 4 -_0200E6F4: .word sub_0200E71C + 1 +_0200E6F4: .word FUN_0200E71C + 1 - thumb_func_start sub_0200E6F8 -sub_0200E6F8: ; 0x0200E6F8 + thumb_func_start FUN_0200E6F8 +FUN_0200E6F8: ; 0x0200E6F8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 add r1, r0, #0x0 mov r2, #0x1 str r5, [r1, #0x0] - ldr r0, _0200E718 ; =sub_0200E73C + ldr r0, _0200E718 ; =FUN_0200E73C lsl r2, r2, #0xa str r4, [r1, #0x4] - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r5, pc} .balign 4 -_0200E718: .word sub_0200E73C + 1 +_0200E718: .word FUN_0200E73C + 1 - thumb_func_start sub_0200E71C -sub_0200E71C: ; 0x0200E71C + thumb_func_start FUN_0200E71C +FUN_0200E71C: ; 0x0200E71C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -26634,34 +26634,34 @@ sub_0200E71C: ; 0x0200E71C ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] ldr r3, [r4, #0xc] - bl sub_0200E628 + bl FUN_0200E628 add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} - thumb_func_start sub_0200E73C -sub_0200E73C: ; 0x0200E73C + thumb_func_start FUN_0200E73C +FUN_0200E73C: ; 0x0200E73C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r4, #0x4] - bl sub_0200E6A0 + bl FUN_0200E6A0 add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} - thumb_func_start sub_0200E758 -sub_0200E758: ; 0x0200E758 + thumb_func_start FUN_0200E758 +FUN_0200E758: ; 0x0200E758 bx lr .balign 4 - thumb_func_start sub_0200E75C -sub_0200E75C: ; 0x0200E75C + thumb_func_start FUN_0200E75C +FUN_0200E75C: ; 0x0200E75C ldr r2, _0200E76C ; =0x0000FFFF cmp r1, r2 bne _0200E768 @@ -26674,8 +26674,8 @@ _0200E768: .balign 4 _0200E76C: .word 0x0000FFFF - thumb_func_start sub_0200E770 -sub_0200E770: ; 0x0200E770 + thumb_func_start FUN_0200E770 +FUN_0200E770: ; 0x0200E770 ldr r1, [r0, #0xc] cmp r1, #0x1 bne _0200E77C @@ -26698,19 +26698,19 @@ _0200E78A: bx lr .balign 4 - thumb_func_start sub_0200E794 -sub_0200E794: ; 0x0200E794 + thumb_func_start FUN_0200E794 +FUN_0200E794: ; 0x0200E794 push {r4, lr} add r4, r0, #0x0 ldr r0, [r1, #0x10] mov r1, #0x0 - bl sub_0200E440 + bl FUN_0200E440 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} - thumb_func_start sub_0200E7A8 -sub_0200E7A8: ; 0x0200E7A8 + thumb_func_start FUN_0200E7A8 +FUN_0200E7A8: ; 0x0200E7A8 push {r3, lr} add r1, r0, #0x0 ldr r0, [r1, #0x28] @@ -26727,17 +26727,17 @@ _0200E7BE: cmp r0, #0x0 bne _0200E7CE mov r2, #0x1 - ldr r0, _0200E7D4 ; =sub_0200E794 + ldr r0, _0200E7D4 ; =FUN_0200E794 lsl r2, r2, #0xa - bl sub_0200CA98 + bl FUN_0200CA98 _0200E7CE: pop {r3, pc} .balign 4 _0200E7D0: .word 0x00007FFF -_0200E7D4: .word sub_0200E794 + 1 +_0200E7D4: .word FUN_0200E794 + 1 - thumb_func_start sub_0200E7D8 -sub_0200E7D8: ; 0x0200E7D8 + thumb_func_start FUN_0200E7D8 +FUN_0200E7D8: ; 0x0200E7D8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x28] @@ -26754,16 +26754,16 @@ _0200E7EE: cmp r0, #0x0 bne _0200E800 ldr r0, [r4, #0x10] - bl sub_0200E3A0 + bl FUN_0200E3A0 ldr r0, [r4, #0x10] - bl sub_0200E388 + bl FUN_0200E388 _0200E800: pop {r4, pc} nop _0200E804: .word 0x00007FFF - thumb_func_start sub_0200E808 -sub_0200E808: ; 0x0200E808 + thumb_func_start FUN_0200E808 +FUN_0200E808: ; 0x0200E808 push {r4, lr} add r4, r0, #0x0 add r2, r4, #0x0 @@ -26778,12 +26778,12 @@ _0200E812: add r0, #0x14 mov r1, #0x0 mov r2, #0x30 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 add r0, #0x44 mov r1, #0x0 mov r2, #0x30 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r2, r4, #0x0 add r2, #0x74 mov r1, #0x18 @@ -26797,11 +26797,11 @@ _0200E83A: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0xc0 - blx sub_020DF4A4 + blx FUN_020DF4A4 pop {r4, pc} - thumb_func_start sub_0200E850 -sub_0200E850: ; 0x0200E850 + thumb_func_start FUN_0200E850 +FUN_0200E850: ; 0x0200E850 push {r3, lr} ldr r1, [r0, #0xc] cmp r1, #0x0 @@ -26809,15 +26809,15 @@ sub_0200E850: ; 0x0200E850 mov r1, #0x1 str r1, [r0, #0x28] str r1, [r0, #0x2c] - bl sub_0200F20C + bl FUN_0200F20C mov r0, #0x0 pop {r3, pc} _0200E866: - bl sub_0200F2AC + bl FUN_0200F2AC pop {r3, pc} - thumb_func_start sub_0200E86C -sub_0200E86C: ; 0x0200E86C + thumb_func_start FUN_0200E86C +FUN_0200E86C: ; 0x0200E86C push {r3, lr} ldr r1, [r0, #0xc] cmp r1, #0x0 @@ -26826,16 +26826,16 @@ sub_0200E86C: ; 0x0200E86C str r1, [r0, #0x28] mov r2, #0x1 str r2, [r0, #0x2c] - bl sub_0200F20C + bl FUN_0200F20C mov r0, #0x0 pop {r3, pc} _0200E884: - bl sub_0200F2AC + bl FUN_0200F2AC pop {r3, pc} .balign 4 - thumb_func_start sub_0200E88C -sub_0200E88C: ; 0x0200E88C + thumb_func_start FUN_0200E88C +FUN_0200E88C: ; 0x0200E88C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -26845,25 +26845,25 @@ sub_0200E88C: ; 0x0200E88C ldr r0, _0200E8C0 ; =0x02105AF8 str r1, [r0, #0x30] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E8C4 ; =0x02105B28 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200E8B4: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} nop _0200E8BC: .word 0x020ECF9F _0200E8C0: .word 0x02105AF8 _0200E8C4: .word 0x02105B28 - thumb_func_start sub_0200E8C8 -sub_0200E8C8: ; 0x0200E8C8 + thumb_func_start FUN_0200E8C8 +FUN_0200E8C8: ; 0x0200E8C8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -26873,24 +26873,24 @@ sub_0200E8C8: ; 0x0200E8C8 ldr r0, _0200E8F8 ; =0x02105AF8 str r1, [r0, #0x40] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E8FC ; =0x02105B38 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200E8EE: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} .balign 4 _0200E8F4: .word 0x020ECF9C _0200E8F8: .word 0x02105AF8 _0200E8FC: .word 0x02105B38 - thumb_func_start sub_0200E900 -sub_0200E900: ; 0x0200E900 + thumb_func_start FUN_0200E900 +FUN_0200E900: ; 0x0200E900 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -26900,25 +26900,25 @@ sub_0200E900: ; 0x0200E900 ldr r0, _0200E934 ; =0x02105AF8 str r1, [r0, #0x48] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E938 ; =0x02105B40 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200E928: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} nop _0200E930: .word 0x020ECFA5 _0200E934: .word 0x02105AF8 _0200E938: .word 0x02105B40 - thumb_func_start sub_0200E93C -sub_0200E93C: ; 0x0200E93C + thumb_func_start FUN_0200E93C +FUN_0200E93C: ; 0x0200E93C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -26928,69 +26928,69 @@ sub_0200E93C: ; 0x0200E93C ldr r0, _0200E96C ; =0x02105AF8 str r1, [r0, #0x38] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E970 ; =0x02105B30 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200E962: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} .balign 4 _0200E968: .word 0x020ECFA2 _0200E96C: .word 0x02105AF8 _0200E970: .word 0x02105B30 - thumb_func_start sub_0200E974 -sub_0200E974: ; 0x0200E974 + thumb_func_start FUN_0200E974 +FUN_0200E974: ; 0x0200E974 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200E996 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E99C ; =0x020ED0E8 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200E996: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} .balign 4 _0200E99C: .word 0x020ED0E8 - thumb_func_start sub_0200E9A0 -sub_0200E9A0: ; 0x0200E9A0 + thumb_func_start FUN_0200E9A0 +FUN_0200E9A0: ; 0x0200E9A0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200E9C0 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200E9C8 ; =0x020ED154 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200E9C0: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} nop _0200E9C8: .word 0x020ED154 - thumb_func_start sub_0200E9CC -sub_0200E9CC: ; 0x0200E9CC + thumb_func_start FUN_0200E9CC +FUN_0200E9CC: ; 0x0200E9CC push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27000,25 +27000,25 @@ sub_0200E9CC: ; 0x0200E9CC ldr r0, _0200EA00 ; =0x02105AF8 str r1, [r0, #0x20] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EA04 ; =0x02105B18 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200E9F4: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} nop _0200E9FC: .word 0x020ECFC0 _0200EA00: .word 0x02105AF8 _0200EA04: .word 0x02105B18 - thumb_func_start sub_0200EA08 -sub_0200EA08: ; 0x0200EA08 + thumb_func_start FUN_0200EA08 +FUN_0200EA08: ; 0x0200EA08 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27028,24 +27028,24 @@ sub_0200EA08: ; 0x0200EA08 ldr r0, _0200EA38 ; =0x02105AF8 str r1, [r0, #0x28] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EA3C ; =0x02105B20 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EA2E: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} .balign 4 _0200EA34: .word 0x020ECFC6 _0200EA38: .word 0x02105AF8 _0200EA3C: .word 0x02105B20 - thumb_func_start sub_0200EA40 -sub_0200EA40: ; 0x0200EA40 + thumb_func_start FUN_0200EA40 +FUN_0200EA40: ; 0x0200EA40 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27055,25 +27055,25 @@ sub_0200EA40: ; 0x0200EA40 ldr r0, _0200EA74 ; =0x02105AF8 str r1, [r0, #0x10] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EA78 ; =0x02105B08 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EA68: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} nop _0200EA70: .word 0x020ECFA8 _0200EA74: .word 0x02105AF8 _0200EA78: .word 0x02105B08 - thumb_func_start sub_0200EA7C -sub_0200EA7C: ; 0x0200EA7C + thumb_func_start FUN_0200EA7C +FUN_0200EA7C: ; 0x0200EA7C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27083,388 +27083,388 @@ sub_0200EA7C: ; 0x0200EA7C ldr r0, _0200EAAC ; =0x02105AF8 str r1, [r0, #0x18] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EAB0 ; =0x02105B10 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EAA2: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} .balign 4 _0200EAA8: .word 0x020ECFB4 _0200EAAC: .word 0x02105AF8 _0200EAB0: .word 0x02105B10 - thumb_func_start sub_0200EAB4 -sub_0200EAB4: ; 0x0200EAB4 + thumb_func_start FUN_0200EAB4 +FUN_0200EAB4: ; 0x0200EAB4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EAD6 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EADC ; =0x020ED1C0 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EAD6: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} .balign 4 _0200EADC: .word 0x020ED1C0 - thumb_func_start sub_0200EAE0 -sub_0200EAE0: ; 0x0200EAE0 + thumb_func_start FUN_0200EAE0 +FUN_0200EAE0: ; 0x0200EAE0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EB00 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EB08 ; =0x020ED1E4 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EB00: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} nop _0200EB08: .word 0x020ED1E4 - thumb_func_start sub_0200EB0C -sub_0200EB0C: ; 0x0200EB0C + thumb_func_start FUN_0200EB0C +FUN_0200EB0C: ; 0x0200EB0C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EB30 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EB38 ; =0x020ED208 ldr r2, _0200EB3C ; =0x020ED22C add r0, r4, #0x0 - bl sub_0200FD6C + bl FUN_0200FD6C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EB30: - bl sub_0200FDC4 + bl FUN_0200FDC4 pop {r4, pc} nop _0200EB38: .word 0x020ED208 _0200EB3C: .word 0x020ED22C - thumb_func_start sub_0200EB40 -sub_0200EB40: ; 0x0200EB40 + thumb_func_start FUN_0200EB40 +FUN_0200EB40: ; 0x0200EB40 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EB62 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EB68 ; =0x020ED250 ldr r2, _0200EB6C ; =0x020ED274 add r0, r4, #0x0 - bl sub_0200FD6C + bl FUN_0200FD6C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EB62: - bl sub_0200FDC4 + bl FUN_0200FDC4 pop {r4, pc} .balign 4 _0200EB68: .word 0x020ED250 _0200EB6C: .word 0x020ED274 - thumb_func_start sub_0200EB70 -sub_0200EB70: ; 0x0200EB70 + thumb_func_start FUN_0200EB70 +FUN_0200EB70: ; 0x0200EB70 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EB92 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EB98 ; =0x020ED090 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EB92: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} .balign 4 _0200EB98: .word 0x020ED090 - thumb_func_start sub_0200EB9C -sub_0200EB9C: ; 0x0200EB9C + thumb_func_start FUN_0200EB9C +FUN_0200EB9C: ; 0x0200EB9C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EBBC ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EBC4 ; =0x020ED040 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EBBC: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} nop _0200EBC4: .word 0x020ED040 - thumb_func_start sub_0200EBC8 -sub_0200EBC8: ; 0x0200EBC8 + thumb_func_start FUN_0200EBC8 +FUN_0200EBC8: ; 0x0200EBC8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EBEA ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EBF0 ; =0x020ED050 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EBEA: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} .balign 4 _0200EBF0: .word 0x020ED050 - thumb_func_start sub_0200EBF4 -sub_0200EBF4: ; 0x0200EBF4 + thumb_func_start FUN_0200EBF4 +FUN_0200EBF4: ; 0x0200EBF4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EC14 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EC1C ; =0x020ED060 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EC14: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} nop _0200EC1C: .word 0x020ED060 - thumb_func_start sub_0200EC20 -sub_0200EC20: ; 0x0200EC20 + thumb_func_start FUN_0200EC20 +FUN_0200EC20: ; 0x0200EC20 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EC42 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EC48 ; =0x020ECFE0 add r0, r4, #0x0 - bl sub_020101EC + bl FUN_020101EC mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EC42: - bl sub_02010224 + bl FUN_02010224 pop {r4, pc} .balign 4 _0200EC48: .word 0x020ECFE0 - thumb_func_start sub_0200EC4C -sub_0200EC4C: ; 0x0200EC4C + thumb_func_start FUN_0200EC4C +FUN_0200EC4C: ; 0x0200EC4C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EC6C ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EC74 ; =0x020ECFEC add r0, r4, #0x0 - bl sub_020101EC + bl FUN_020101EC mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EC6C: - bl sub_02010224 + bl FUN_02010224 pop {r4, pc} nop _0200EC74: .word 0x020ECFEC - thumb_func_start sub_0200EC78 -sub_0200EC78: ; 0x0200EC78 + thumb_func_start FUN_0200EC78 +FUN_0200EC78: ; 0x0200EC78 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EC9A ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ECA0 ; =0x020ED0A0 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EC9A: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} .balign 4 _0200ECA0: .word 0x020ED0A0 - thumb_func_start sub_0200ECA4 -sub_0200ECA4: ; 0x0200ECA4 + thumb_func_start FUN_0200ECA4 +FUN_0200ECA4: ; 0x0200ECA4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200ECC4 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ECCC ; =0x020ED0C4 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200ECC4: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} nop _0200ECCC: .word 0x020ED0C4 - thumb_func_start sub_0200ECD0 -sub_0200ECD0: ; 0x0200ECD0 + thumb_func_start FUN_0200ECD0 +FUN_0200ECD0: ; 0x0200ECD0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200ECF2 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ECF8 ; =0x020ED10C add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200ECF2: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} .balign 4 _0200ECF8: .word 0x020ED10C - thumb_func_start sub_0200ECFC -sub_0200ECFC: ; 0x0200ECFC + thumb_func_start FUN_0200ECFC +FUN_0200ECFC: ; 0x0200ECFC push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200ED1C ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ED24 ; =0x020ED178 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200ED1C: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} nop _0200ED24: .word 0x020ED178 - thumb_func_start sub_0200ED28 -sub_0200ED28: ; 0x0200ED28 + thumb_func_start FUN_0200ED28 +FUN_0200ED28: ; 0x0200ED28 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200ED4A ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ED50 ; =0x020ED004 add r0, r4, #0x0 - bl sub_020103F0 + bl FUN_020103F0 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200ED4A: - bl sub_02010428 + bl FUN_02010428 pop {r4, pc} .balign 4 _0200ED50: .word 0x020ED004 - thumb_func_start sub_0200ED54 -sub_0200ED54: ; 0x0200ED54 + thumb_func_start FUN_0200ED54 +FUN_0200ED54: ; 0x0200ED54 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200ED74 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200ED7C ; =0x020ED010 add r0, r4, #0x0 - bl sub_020103F0 + bl FUN_020103F0 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200ED74: - bl sub_02010428 + bl FUN_02010428 pop {r4, pc} nop _0200ED7C: .word 0x020ED010 - thumb_func_start sub_0200ED80 -sub_0200ED80: ; 0x0200ED80 + thumb_func_start FUN_0200ED80 +FUN_0200ED80: ; 0x0200ED80 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -27487,10 +27487,10 @@ sub_0200ED80: ; 0x0200ED80 mov r1, #0x1 strb r1, [r0, #0xc] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010688 + bl FUN_02010688 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 @@ -27498,15 +27498,15 @@ sub_0200ED80: ; 0x0200ED80 str r0, [r4, #0x2c] pop {r4, pc} _0200EDC4: - bl sub_020106C0 + bl FUN_020106C0 add sp, #0x10 pop {r4, pc} .balign 4 _0200EDCC: .word 0x020ED298 _0200EDD0: .word 0x020ED2D8 - thumb_func_start sub_0200EDD4 -sub_0200EDD4: ; 0x0200EDD4 + thumb_func_start FUN_0200EDD4 +FUN_0200EDD4: ; 0x0200EDD4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -27528,25 +27528,25 @@ sub_0200EDD4: ; 0x0200EDD4 strb r1, [r0, #0xb] strb r2, [r0, #0xc] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010688 + bl FUN_02010688 mov r0, #0x0 str r0, [r4, #0x28] add sp, #0x10 str r0, [r4, #0x2c] pop {r4, pc} _0200EE14: - bl sub_020106C0 + bl FUN_020106C0 add sp, #0x10 pop {r4, pc} .balign 4 _0200EE1C: .word 0x020ED318 _0200EE20: .word 0x020ED358 - thumb_func_start sub_0200EE24 -sub_0200EE24: ; 0x0200EE24 + thumb_func_start FUN_0200EE24 +FUN_0200EE24: ; 0x0200EE24 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27556,25 +27556,25 @@ sub_0200EE24: ; 0x0200EE24 ldr r0, _0200EE58 ; =0x02105AF8 str r1, [r0, #0x0] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EE5C ; =0x02105AF8 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EE4C: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} nop _0200EE54: .word 0x020ECFD5 _0200EE58: .word 0x02105AF8 _0200EE5C: .word 0x02105AF8 - thumb_func_start sub_0200EE60 -sub_0200EE60: ; 0x0200EE60 + thumb_func_start FUN_0200EE60 +FUN_0200EE60: ; 0x0200EE60 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27584,24 +27584,24 @@ sub_0200EE60: ; 0x0200EE60 ldr r0, _0200EE90 ; =0x02105AF8 str r1, [r0, #0x8] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EE94 ; =0x02105B00 add r0, r4, #0x0 - bl sub_02010F2C + bl FUN_02010F2C mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EE86: - bl sub_02010F70 + bl FUN_02010F70 pop {r4, pc} .balign 4 _0200EE8C: .word 0x020ECFCC _0200EE90: .word 0x02105AF8 _0200EE94: .word 0x02105B00 - thumb_func_start sub_0200EE98 -sub_0200EE98: ; 0x0200EE98 + thumb_func_start FUN_0200EE98 +FUN_0200EE98: ; 0x0200EE98 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -27615,10 +27615,10 @@ sub_0200EE98: ; 0x0200EE98 ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010948 + bl FUN_02010948 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 @@ -27626,14 +27626,14 @@ sub_0200EE98: ; 0x0200EE98 str r0, [r4, #0x2c] pop {r3-r4, pc} _0200EECA: - bl sub_02010988 + bl FUN_02010988 add sp, #0xc pop {r3-r4, pc} nop _0200EED4: .word 0x020ECFF8 - thumb_func_start sub_0200EED8 -sub_0200EED8: ; 0x0200EED8 + thumb_func_start FUN_0200EED8 +FUN_0200EED8: ; 0x0200EED8 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -27647,24 +27647,24 @@ sub_0200EED8: ; 0x0200EED8 ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010948 + bl FUN_02010948 mov r0, #0x0 str r0, [r4, #0x28] add sp, #0xc str r0, [r4, #0x2c] pop {r3-r4, pc} _0200EF08: - bl sub_02010988 + bl FUN_02010988 add sp, #0xc pop {r3-r4, pc} .balign 4 _0200EF10: .word 0x020ED034 - thumb_func_start sub_0200EF14 -sub_0200EF14: ; 0x0200EF14 + thumb_func_start FUN_0200EF14 +FUN_0200EF14: ; 0x0200EF14 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -27678,10 +27678,10 @@ sub_0200EF14: ; 0x0200EF14 ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010C7C + bl FUN_02010C7C mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 @@ -27689,14 +27689,14 @@ sub_0200EF14: ; 0x0200EF14 str r0, [r4, #0x2c] pop {r3-r4, pc} _0200EF46: - bl sub_02010CBC + bl FUN_02010CBC add sp, #0xc pop {r3-r4, pc} nop _0200EF50: .word 0x020ED01C - thumb_func_start sub_0200EF54 -sub_0200EF54: ; 0x0200EF54 + thumb_func_start FUN_0200EF54 +FUN_0200EF54: ; 0x0200EF54 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -27710,114 +27710,114 @@ sub_0200EF54: ; 0x0200EF54 ldr r0, [r3, #0x0] str r0, [r2, #0x0] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02010C7C + bl FUN_02010C7C mov r0, #0x0 str r0, [r4, #0x28] add sp, #0xc str r0, [r4, #0x2c] pop {r3-r4, pc} _0200EF84: - bl sub_02010CBC + bl FUN_02010CBC add sp, #0xc pop {r3-r4, pc} .balign 4 _0200EF8C: .word 0x020ED028 - thumb_func_start sub_0200EF90 -sub_0200EF90: ; 0x0200EF90 + thumb_func_start FUN_0200EF90 +FUN_0200EF90: ; 0x0200EF90 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EFB2 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EFB8 ; =0x020ED080 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200EFB2: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} .balign 4 _0200EFB8: .word 0x020ED080 - thumb_func_start sub_0200EFBC -sub_0200EFBC: ; 0x0200EFBC + thumb_func_start FUN_0200EFBC +FUN_0200EFBC: ; 0x0200EFBC push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200EFDC ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200EFE4 ; =0x020ED070 add r0, r4, #0x0 - bl sub_0200FF18 + bl FUN_0200FF18 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200EFDC: - bl sub_0200FF50 + bl FUN_0200FF50 pop {r4, pc} nop _0200EFE4: .word 0x020ED070 - thumb_func_start sub_0200EFE8 -sub_0200EFE8: ; 0x0200EFE8 + thumb_func_start FUN_0200EFE8 +FUN_0200EFE8: ; 0x0200EFE8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200F00A ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200F010 ; =0x020ED130 add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200F00A: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} .balign 4 _0200F010: .word 0x020ED130 - thumb_func_start sub_0200F014 -sub_0200F014: ; 0x0200F014 + thumb_func_start FUN_0200F014 +FUN_0200F014: ; 0x0200F014 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] cmp r1, #0x0 bne _0200F034 ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200F03C ; =0x020ED19C add r0, r4, #0x0 - bl sub_0200FCC8 + bl FUN_0200FCC8 mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200F034: - bl sub_0200FD1C + bl FUN_0200FD1C pop {r4, pc} nop _0200F03C: .word 0x020ED19C - thumb_func_start sub_0200F040 -sub_0200F040: ; 0x0200F040 + thumb_func_start FUN_0200F040 +FUN_0200F040: ; 0x0200F040 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27827,25 +27827,25 @@ sub_0200F040: ; 0x0200F040 ldr r0, _0200F074 ; =0x02105AF8 str r1, [r0, #0x74] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200F078 ; =0x02105B48 add r0, r4, #0x0 - bl sub_020111AC + bl FUN_020111AC mov r0, #0x1 str r0, [r4, #0x28] mov r0, #0x0 str r0, [r4, #0x2c] pop {r4, pc} _0200F068: - bl sub_02011214 + bl FUN_02011214 pop {r4, pc} nop _0200F070: .word 0x020ECFAE _0200F074: .word 0x02105AF8 _0200F078: .word 0x02105B48 - thumb_func_start sub_0200F07C -sub_0200F07C: ; 0x0200F07C + thumb_func_start FUN_0200F07C +FUN_0200F07C: ; 0x0200F07C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -27855,47 +27855,47 @@ sub_0200F07C: ; 0x0200F07C ldr r0, _0200F0AC ; =0x02105B78 str r1, [r0, #0x24] ldrh r0, [r4, #0x24] - bl sub_0200E420 + bl FUN_0200E420 ldr r1, _0200F0B0 ; =0x02105B78 add r0, r4, #0x0 - bl sub_020111AC + bl FUN_020111AC mov r0, #0x0 str r0, [r4, #0x28] str r0, [r4, #0x2c] pop {r4, pc} _0200F0A2: - bl sub_02011214 + bl FUN_02011214 pop {r4, pc} .balign 4 _0200F0A8: .word 0x020ECFBA _0200F0AC: .word 0x02105B78 _0200F0B0: .word 0x02105B78 - thumb_func_start sub_0200F0B4 -sub_0200F0B4: ; 0x0200F0B4 + thumb_func_start FUN_0200F0B4 +FUN_0200F0B4: ; 0x0200F0B4 asr r0, r0, #0x4 lsl r1, r0, #0x1 lsl r0, r1, #0x1 ldr r2, _0200F0C8 ; =0x020FFA38 add r1, r1, #0x1 lsl r1, r1, #0x1 - ldr r3, _0200F0CC ; =sub_020C50B8 + ldr r3, _0200F0CC ; =FUN_020C50B8 ldrsh r0, [r2, r0] ldrsh r1, [r2, r1] bx r3 .balign 4 _0200F0C8: .word 0x020FFA38 -_0200F0CC: .word sub_020C50B8 +_0200F0CC: .word FUN_020C50B8 - thumb_func_start sub_0200F0D0 -sub_0200F0D0: ; 0x0200F0D0 + thumb_func_start FUN_0200F0D0 +FUN_0200F0D0: ; 0x0200F0D0 push {r4, lr} add r4, r1, #0x0 - bl sub_0200F0B4 + bl FUN_0200F0B4 lsl r2, r4, #0xc asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -27908,14 +27908,14 @@ sub_0200F0D0: ; 0x0200F0D0 pop {r4, pc} .balign 4 - thumb_func_start sub_0200F0F8 -sub_0200F0F8: ; 0x0200F0F8 + thumb_func_start FUN_0200F0F8 +FUN_0200F0F8: ; 0x0200F0F8 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 add r7, r2, #0x0 add r6, r3, #0x0 - bl sub_0200F0B4 + bl FUN_0200F0B4 cmp r6, r7 bge _0200F142 lsl r1, r6, #0x2 @@ -27929,7 +27929,7 @@ _0200F116: ldr r1, [sp, #0x4] asr r3, r4, #0x1f add r2, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 lsl r2, r2, #0xa add r0, r0, r2 @@ -27952,31 +27952,31 @@ _0200F142: nop _0200F148: .word 0x00000000 - thumb_func_start sub_0200F14C -sub_0200F14C: ; 0x0200F14C + thumb_func_start FUN_0200F14C +FUN_0200F14C: ; 0x0200F14C push {r4, lr} add r4, r1, #0x0 - bl sub_0200F0B4 + bl FUN_0200F0B4 add r1, r0, #0x0 lsr r0, r4, #0x1f add r0, r4, r0 asr r0, r0, #0x1 lsl r0, r0, #0xc - blx sub_020C50B8 + blx FUN_020C50B8 pop {r4, pc} - thumb_func_start sub_0200F164 -sub_0200F164: ; 0x0200F164 - ldr r3, _0200F170 ; =sub_020EBC80 + thumb_func_start FUN_0200F164 +FUN_0200F164: ; 0x0200F164 + ldr r3, _0200F170 ; =FUN_020EBC80 sub r0, r1, r0 lsl r0, r0, #0x7 add r1, r2, #0x0 bx r3 nop -_0200F170: .word sub_020EBC80 +_0200F170: .word FUN_020EBC80 - thumb_func_start sub_0200F174 -sub_0200F174: ; 0x0200F174 + thumb_func_start FUN_0200F174 +FUN_0200F174: ; 0x0200F174 add r0, r0, r1 bpl _0200F17A mov r0, #0x0 @@ -27988,8 +27988,8 @@ _0200F180: bx lr .balign 4 - thumb_func_start sub_0200F184 -sub_0200F184: ; 0x0200F184 + thumb_func_start FUN_0200F184 +FUN_0200F184: ; 0x0200F184 ldr r3, [r0, #0x0] ldr r2, [r1, #0x0] add r2, r3, r2 @@ -28009,8 +28009,8 @@ sub_0200F184: ; 0x0200F184 bx lr .balign 4 - thumb_func_start sub_0200F1A8 -sub_0200F1A8: ; 0x0200F1A8 + thumb_func_start FUN_0200F1A8 +FUN_0200F1A8: ; 0x0200F1A8 push {r3-r7, lr} add r7, r1, #0x0 ldr r1, [sp, #0x1c] @@ -28038,34 +28038,34 @@ sub_0200F1A8: ; 0x0200F1A8 ldr r0, [r5, #0x0] ldr r1, [r4, #0x0] ldr r2, [sp, #0x1c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [r6, #0x0] ldr r0, [r5, #0x4] ldr r1, [r4, #0x4] ldr r2, [sp, #0x1c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [r6, #0x4] ldr r0, [r5, #0x8] ldr r1, [r4, #0x8] ldr r2, [sp, #0x1c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [r6, #0x8] ldr r0, [r5, #0xc] ldr r1, [r4, #0xc] ldr r2, [sp, #0x1c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [r6, #0xc] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200F20C -sub_0200F20C: ; 0x0200F20C + thumb_func_start FUN_0200F20C +FUN_0200F20C: ; 0x0200F20C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x20] add r6, r1, #0x0 mov r1, #0x1c - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] mov r2, #0x1c mov r1, #0x0 @@ -28095,7 +28095,7 @@ _0200F248: mov r7, #0xf mvn r7, r7 mov r6, #0x0 - bl sub_02020C2C + bl FUN_02020C2C b _0200F274 _0200F254: cmp r1, r0 @@ -28114,11 +28114,11 @@ _0200F26A: mov r7, #0x0 add r6, r7, #0x0 sub r6, #0x10 - bl sub_02020C2C + bl FUN_02020C2C _0200F274: ldr r0, [r5, #0x10] add r1, r7, #0x0 - bl sub_0200E440 + bl FUN_0200E440 ldr r0, [r5, #0x4] add r1, r6, #0x0 str r0, [r4, #0x0] @@ -28132,7 +28132,7 @@ _0200F274: str r0, [r4, #0x10] ldr r2, [r5, #0x4] add r0, r7, #0x0 - bl sub_0200F164 + bl FUN_0200F164 str r0, [r4, #0x14] ldr r0, [r5, #0x10] str r0, [r4, #0x18] @@ -28143,8 +28143,8 @@ _0200F274: .balign 4 _0200F2A8: .word 0x00007FFF - thumb_func_start sub_0200F2AC -sub_0200F2AC: ; 0x0200F2AC + thumb_func_start FUN_0200F2AC +FUN_0200F2AC: ; 0x0200F2AC push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0xc] @@ -28158,7 +28158,7 @@ sub_0200F2AC: ; 0x0200F2AC beq _0200F2E6 b _0200F2E8 _0200F2C4: - bl sub_0200F2EC + bl FUN_0200F2EC cmp r0, #0x1 bne _0200F2E8 ldr r0, [r5, #0xc] @@ -28166,7 +28166,7 @@ _0200F2C4: str r0, [r5, #0xc] b _0200F2E8 _0200F2D4: - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -28180,8 +28180,8 @@ _0200F2E8: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0200F2EC -sub_0200F2EC: ; 0x0200F2EC + thumb_func_start FUN_0200F2EC +FUN_0200F2EC: ; 0x0200F2EC push {r4, lr} add r1, r0, #0x0 ldr r0, [r1, #0x8] @@ -28213,18 +28213,18 @@ _0200F31A: lsr r1, r1, #0x19 add r1, r2, r1 asr r1, r1, #0x7 - bl sub_0200E440 + bl FUN_0200E440 _0200F32A: add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0200F330 -sub_0200F330: ; 0x0200F330 + thumb_func_start FUN_0200F330 +FUN_0200F330: ; 0x0200F330 push {r4-r6, lr} add r4, r0, #0x0 bne _0200F33A - bl sub_02020C2C + bl FUN_02020C2C _0200F33A: ldr r0, _0200F54C ; =0x04000006 ldrh r0, [r0, #0x0] @@ -28240,7 +28240,7 @@ _0200F34A: bne _0200F3FA add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 ldr r3, [r4, #0x8] lsl r5, r5, #0x1 mov r4, #0x6 @@ -28330,7 +28330,7 @@ _0200F3E2: _0200F3FA: add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r3, r0, #0x0 lsl r5, r5, #0x1 mov r6, #0x6 @@ -28418,7 +28418,7 @@ _0200F486: _0200F4A4: add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200F5D8 + bl FUN_0200F5D8 ldr r3, [r4, #0x8] mov r4, #0x6 add r1, r0, r5 @@ -28508,8 +28508,8 @@ _0200F550: .word 0x04000004 _0200F554: .word 0x04001040 _0200F558: .word 0x04001042 - thumb_func_start sub_0200F55C -sub_0200F55C: ; 0x0200F55C + thumb_func_start FUN_0200F55C +FUN_0200F55C: ; 0x0200F55C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -28524,7 +28524,7 @@ sub_0200F55C: ; 0x0200F55C _0200F572: ldr r1, _0200F5B8 ; =0x00000604 add r0, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r0, #0x1 str r0, [r5, #0x4] @@ -28537,7 +28537,7 @@ _0200F572: _0200F58C: ldr r1, _0200F5BC ; =0x00000C08 add r0, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r0, #0x2 str r0, [r5, #0x4] @@ -28560,32 +28560,32 @@ _0200F5A6: _0200F5B8: .word 0x00000604 _0200F5BC: .word 0x00000C08 - thumb_func_start sub_0200F5C0 -sub_0200F5C0: ; 0x0200F5C0 - ldr r3, _0200F5C4 ; =sub_0200F5C8 + thumb_func_start FUN_0200F5C0 +FUN_0200F5C0: ; 0x0200F5C0 + ldr r3, _0200F5C4 ; =FUN_0200F5C8 bx r3 .balign 4 -_0200F5C4: .word sub_0200F5C8 + 1 +_0200F5C4: .word FUN_0200F5C8 + 1 - thumb_func_start sub_0200F5C8 -sub_0200F5C8: ; 0x0200F5C8 + thumb_func_start FUN_0200F5C8 +FUN_0200F5C8: ; 0x0200F5C8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_0200F5D8 -sub_0200F5D8: ; 0x0200F5D8 + thumb_func_start FUN_0200F5D8 +FUN_0200F5D8: ; 0x0200F5D8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] add r4, r1, #0x0 cmp r0, r4 bgt _0200F5E8 - bl sub_02020C2C + bl FUN_02020C2C _0200F5E8: ldr r0, _0200F5F4 ; =0x00000604 ldr r1, [r5, #0x0] @@ -28595,8 +28595,8 @@ _0200F5E8: nop _0200F5F4: .word 0x00000604 - thumb_func_start sub_0200F5F8 -sub_0200F5F8: ; 0x0200F5F8 + thumb_func_start FUN_0200F5F8 +FUN_0200F5F8: ; 0x0200F5F8 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] @@ -28610,21 +28610,21 @@ sub_0200F5F8: ; 0x0200F5F8 _0200F60C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r1, r0, r6 add r2, r7, #0x0 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [r5, #0x4] add r4, r4, #0x1 cmp r4, r0 blt _0200F60C _0200F624: ldr r0, [sp, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r7, pc} - thumb_func_start sub_0200F62C -sub_0200F62C: ; 0x0200F62C + thumb_func_start FUN_0200F62C +FUN_0200F62C: ; 0x0200F62C push {r4-r5, lr} sub sp, #0xc add r5, r1, #0x0 @@ -28633,19 +28633,19 @@ sub_0200F62C: ; 0x0200F62C bne _0200F644 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02011634 + bl FUN_02011634 add sp, #0xc pop {r4-r5, pc} _0200F644: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02011634 + bl FUN_02011634 mov r2, #0x0 add r0, r5, #0x0 mov r1, #0x3f add r3, r2, #0x0 str r4, [sp, #0x0] - bl sub_02011650 + bl FUN_02011650 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -28653,17 +28653,17 @@ _0200F644: add r2, r1, #0x0 add r3, r1, #0x0 str r4, [sp, #0x8] - bl sub_02011698 + bl FUN_02011698 add r0, r5, #0x0 mov r1, #0x20 mov r2, #0x0 add r3, r4, #0x0 - bl sub_02011678 + bl FUN_02011678 add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_0200F67C -sub_0200F67C: ; 0x0200F67C + thumb_func_start FUN_0200F67C +FUN_0200F67C: ; 0x0200F67C push {r4-r7, lr} sub sp, #0xc add r7, r2, #0x0 @@ -28677,29 +28677,29 @@ sub_0200F67C: ; 0x0200F67C mov r1, #0x0 add r2, r5, #0x0 add r3, r4, #0x0 - bl sub_020114AC + bl FUN_020114AC add r0, r7, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02011534 + bl FUN_02011534 str r5, [sp, #0x0] ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] str r4, [sp, #0x4] - bl sub_02011574 + bl FUN_02011574 add sp, #0xc pop {r4-r7, pc} _0200F6B8: mov r2, #0x0 str r4, [sp, #0x0] - bl sub_02011650 + bl FUN_02011650 add r0, r6, #0x0 add r1, r7, #0x0 mov r2, #0x0 add r3, r4, #0x0 - bl sub_02011678 + bl FUN_02011678 ldr r0, [sp, #0x30] ldr r1, [sp, #0x24] str r0, [sp, #0x0] @@ -28708,26 +28708,26 @@ _0200F6B8: ldr r3, [sp, #0x2c] add r0, r6, #0x0 str r4, [sp, #0x8] - bl sub_02011698 + bl FUN_02011698 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0200F6E4 -sub_0200F6E4: ; 0x0200F6E4 + thumb_func_start FUN_0200F6E4 +FUN_0200F6E4: ; 0x0200F6E4 push {r3, lr} cmp r3, #0x0 bne _0200F6F4 add r0, r1, #0x0 add r1, r2, #0x0 - bl sub_02011480 + bl FUN_02011480 pop {r3, pc} _0200F6F4: - bl sub_02011634 + bl FUN_02011634 pop {r3, pc} .balign 4 - thumb_func_start sub_0200F6FC -sub_0200F6FC: ; 0x0200F6FC + thumb_func_start FUN_0200F6FC +FUN_0200F6FC: ; 0x0200F6FC push {r3-r7, lr} add r4, r2, #0x0 mov r2, #0xc3 @@ -28736,7 +28736,7 @@ sub_0200F6FC: ; 0x0200F6FC lsl r2, r2, #0x2 add r5, r0, #0x0 add r7, r3, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 cmp r4, #0x1 bne _0200F726 mov r0, #0x6 @@ -28763,43 +28763,43 @@ _0200F726: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200F740 -sub_0200F740: ; 0x0200F740 - ldr r3, _0200F74C ; =sub_0200CA98 + thumb_func_start FUN_0200F740 +FUN_0200F740: ; 0x0200F740 + ldr r3, _0200F74C ; =FUN_0200CA98 add r1, r0, #0x0 - ldr r0, _0200F750 ; =sub_0200F780 + ldr r0, _0200F750 ; =FUN_0200F780 ldr r2, _0200F754 ; =0x000003FF bx r3 nop -_0200F74C: .word sub_0200CA98 + 1 -_0200F750: .word sub_0200F780 + 1 +_0200F74C: .word FUN_0200CA98 + 1 +_0200F750: .word FUN_0200F780 + 1 _0200F754: .word 0x000003FF - thumb_func_start sub_0200F758 -sub_0200F758: ; 0x0200F758 + thumb_func_start FUN_0200F758 +FUN_0200F758: ; 0x0200F758 push {r3, lr} ldr r3, _0200F768 ; =0x00000309 str r2, [sp, #0x0] ldrb r3, [r1, r3] - ldr r2, _0200F76C ; =sub_0200F7AC - bl sub_0200E6CC + ldr r2, _0200F76C ; =FUN_0200F7AC + bl FUN_0200E6CC pop {r3, pc} .balign 4 _0200F768: .word 0x00000309 -_0200F76C: .word sub_0200F7AC + 1 +_0200F76C: .word FUN_0200F7AC + 1 - thumb_func_start sub_0200F770 -sub_0200F770: ; 0x0200F770 + thumb_func_start FUN_0200F770 +FUN_0200F770: ; 0x0200F770 ldr r3, _0200F778 ; =0x00000309 ldrb r1, [r1, r3] - ldr r3, _0200F77C ; =sub_0200E6F8 + ldr r3, _0200F77C ; =FUN_0200E6F8 bx r3 .balign 4 _0200F778: .word 0x00000309 -_0200F77C: .word sub_0200E6F8 + 1 +_0200F77C: .word FUN_0200E6F8 + 1 - thumb_func_start sub_0200F780 -sub_0200F780: ; 0x0200F780 + thumb_func_start FUN_0200F780 +FUN_0200F780: ; 0x0200F780 push {r3-r7, lr} mov r7, #0xc0 add r6, r7, #0x0 @@ -28812,22 +28812,22 @@ _0200F78E: add r0, #0xc0 add r1, r5, #0x0 add r2, r7, #0x0 - blx sub_020DF438 + blx FUN_020DF438 add r4, r4, #0x1 add r5, r5, r6 cmp r4, #0x2 blt _0200F78E ldr r0, [sp, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200F7AC -sub_0200F7AC: ; 0x0200F7AC + thumb_func_start FUN_0200F7AC +FUN_0200F7AC: ; 0x0200F7AC push {r3-r5, lr} add r4, r0, #0x0 bne _0200F7B6 - bl sub_02020C2C + bl FUN_02020C2C _0200F7B6: ldr r0, _0200FAC0 ; =0x04000006 ldrh r0, [r0, #0x0] @@ -29515,15 +29515,15 @@ _0200FCBC: .word 0x00000309 _0200FCC0: .word 0x04000004 _0200FCC4: .word 0x0400104A - thumb_func_start sub_0200FCC8 -sub_0200FCC8: ; 0x0200FCC8 + thumb_func_start FUN_0200FCC8 +FUN_0200FCC8: ; 0x0200FCC8 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r6, r1, #0x0 mov r1, #0x4c - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] add r4, r0, #0x0 ldr r0, [r5, #0x10] @@ -29534,7 +29534,7 @@ sub_0200FCC8: ; 0x0200FCC8 ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r0, r4, #0x0 - bl sub_0200FE20 + bl FUN_0200FE20 add r6, #0x20 ldrb r0, [r6, #0x0] cmp r0, #0x0 @@ -29543,13 +29543,13 @@ sub_0200FCC8: ; 0x0200FCC8 ldr r2, [r4, #0x30] ldr r3, [r4, #0x44] mov r1, #0x1 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _0200FD10 _0200FD06: ldr r2, [r4, #0x30] ldr r3, [r4, #0x44] mov r1, #0x2 - bl sub_0200F6E4 + bl FUN_0200F6E4 _0200FD10: ldr r0, [r5, #0xc] add r0, r0, #0x1 @@ -29558,8 +29558,8 @@ _0200FD10: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200FD1C -sub_0200FD1C: ; 0x0200FD1C + thumb_func_start FUN_0200FD1C +FUN_0200FD1C: ; 0x0200FD1C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -29574,20 +29574,20 @@ sub_0200FD1C: ; 0x0200FD1C b _0200FD66 _0200FD34: add r0, r4, #0x0 - bl sub_0200FE90 + bl FUN_0200FE90 cmp r0, #0x1 bne _0200FD66 ldr r0, [r4, #0x44] ldr r1, [r5, #0x18] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _0200FD66 _0200FD50: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -29602,8 +29602,8 @@ _0200FD66: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200FD6C -sub_0200FD6C: ; 0x0200FD6C + thumb_func_start FUN_0200FD6C +FUN_0200FD6C: ; 0x0200FD6C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -29611,7 +29611,7 @@ sub_0200FD6C: ; 0x0200FD6C add r6, r1, #0x0 mov r1, #0x98 add r7, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] add r4, r0, #0x0 ldr r0, [r5, #0x10] @@ -29622,7 +29622,7 @@ sub_0200FD6C: ; 0x0200FD6C ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r0, r4, #0x0 - bl sub_0200FE20 + bl FUN_0200FE20 ldr r0, [r5, #0x10] add r1, r7, #0x0 str r0, [sp, #0x0] @@ -29632,12 +29632,12 @@ sub_0200FD6C: ; 0x0200FD6C ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r0, #0x4c - bl sub_0200FE20 + bl FUN_0200FE20 ldr r0, [r5, #0x18] ldr r2, [r5, #0x10] ldr r3, [r4, #0x44] mov r1, #0x3 - bl sub_0200F6E4 + bl FUN_0200F6E4 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -29645,8 +29645,8 @@ sub_0200FD6C: ; 0x0200FD6C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200FDC4 -sub_0200FDC4: ; 0x0200FDC4 + thumb_func_start FUN_0200FDC4 +FUN_0200FDC4: ; 0x0200FDC4 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -29661,25 +29661,25 @@ sub_0200FDC4: ; 0x0200FDC4 b _0200FE1A _0200FDDC: add r0, r4, #0x0 - bl sub_0200FE90 + bl FUN_0200FE90 add r7, r0, #0x0 add r0, r4, #0x0 add r0, #0x4c - bl sub_0200FE90 + bl FUN_0200FE90 add r0, r7, r0 cmp r0, #0x2 bne _0200FE1A ldr r0, [r4, #0x44] ldr r1, [r5, #0x18] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _0200FE1A _0200FE04: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -29694,8 +29694,8 @@ _0200FE1A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200FE20 -sub_0200FE20: ; 0x0200FE20 + thumb_func_start FUN_0200FE20 +FUN_0200FE20: ; 0x0200FE20 push {r3-r7, lr} sub sp, #0x18 add r4, r1, #0x0 @@ -29710,7 +29710,7 @@ sub_0200FE20: ; 0x0200FE20 add r2, #0x10 add r3, r4, #0x0 str r6, [sp, #0x4] - bl sub_0200F1A8 + bl FUN_0200F1A8 ldr r1, [sp, #0x30] add r0, r4, #0x0 add r2, r4, #0x0 @@ -29746,13 +29746,13 @@ sub_0200FE20: ; 0x0200FE20 ldrb r1, [r1, #0x0] ldrb r2, [r2, #0x0] ldrb r3, [r4, #0x0] - bl sub_0200F67C + bl FUN_0200F67C add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0200FE90 -sub_0200FE90: ; 0x0200FE90 + thumb_func_start FUN_0200FE90 +FUN_0200FE90: ; 0x0200FE90 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -29771,7 +29771,7 @@ sub_0200FE90: ; 0x0200FE90 str r1, [r4, #0x38] add r1, r4, #0x0 add r1, #0x10 - bl sub_0200F184 + bl FUN_0200F184 b _0200FED8 _0200FEBA: ldr r0, [r4, #0x2c] @@ -29784,7 +29784,7 @@ _0200FEBA: ldr r1, [r4, #0x20] ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] - bl sub_02011698 + bl FUN_02011698 add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} @@ -29815,22 +29815,22 @@ _0200FED8: add r3, r4, r3 asr r2, r2, #0x7 asr r3, r3, #0x7 - bl sub_02011698 + bl FUN_02011698 _0200FF10: mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0200FF18 -sub_0200FF18: ; 0x0200FF18 + thumb_func_start FUN_0200FF18 +FUN_0200FF18: ; 0x0200FF18 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x38 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] ldr r0, [r5, #0x10] add r1, r4, #0x0 @@ -29844,15 +29844,15 @@ sub_0200FF18: ; 0x0200FF18 ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_0200FFAC + bl FUN_0200FFAC ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_0200FF50 -sub_0200FF50: ; 0x0200FF50 + thumb_func_start FUN_0200FF50 +FUN_0200FF50: ; 0x0200FF50 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -29867,22 +29867,22 @@ sub_0200FF50: ; 0x0200FF50 b _0200FFA2 _0200FF68: add r0, r4, #0x0 - bl sub_02010084 + bl FUN_02010084 cmp r0, #0x1 bne _0200FFA6 ldr r0, [r4, #0x2c] ldr r1, [r4, #0x30] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _0200FFA6 _0200FF84: add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -29894,14 +29894,14 @@ _0200FF9E: mov r6, #0x1 b _0200FFA6 _0200FFA2: - bl sub_02020C2C + bl FUN_02020C2C _0200FFA6: add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0200FFAC -sub_0200FFAC: ; 0x0200FFAC + thumb_func_start FUN_0200FFAC +FUN_0200FFAC: ; 0x0200FFAC push {r4-r7, lr} sub sp, #0x24 add r4, r1, #0x0 @@ -29912,13 +29912,13 @@ sub_0200FFAC: ; 0x0200FFAC str r3, [sp, #0x1c] ldr r6, [sp, #0x38] ldr r7, [sp, #0x3c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [sp, #0x20] ldrb r1, [r4, #0xc] ldr r3, [sp, #0x44] add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_0200F55C + bl FUN_0200F55C ldr r0, [r4, #0x0] lsl r0, r0, #0x7 str r0, [r5, #0xc] @@ -29944,14 +29944,14 @@ sub_0200FFAC: ; 0x0200FFAC ldrb r0, [r4, #0xf] str r0, [r5, #0x2c] add r0, r5, #0x0 - bl sub_02010168 - ldr r0, _02010078 ; =sub_0200F5F8 + bl FUN_02010168 + ldr r0, _02010078 ; =FUN_0200F5F8 ldr r2, _0201007C ; =0x000003FF add r1, r5, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 mov r1, #0x3 str r6, [sp, #0x0] lsl r1, r1, #0x8 @@ -29971,7 +29971,7 @@ sub_0200FFAC: ; 0x0200FFAC ldrb r2, [r4, #0xe] ldrb r3, [r4, #0xc] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C ldrb r0, [r4, #0xc] cmp r0, #0x0 bne _02010058 @@ -29979,31 +29979,31 @@ sub_0200FFAC: ; 0x0200FFAC add r0, r7, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02010064 _02010058: ldr r3, [r5, #0x2c] add r0, r7, #0x0 mov r1, #0x2 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 _02010064: ldr r0, [sp, #0x44] - ldr r2, _02010080 ; =sub_0200F330 + ldr r2, _02010080 ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r5, #0x34] add r1, r5, #0x0 add r3, r6, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x24 pop {r4-r7, pc} .balign 4 -_02010078: .word sub_0200F5F8 + 1 +_02010078: .word FUN_0200F5F8 + 1 _0201007C: .word 0x000003FF -_02010080: .word sub_0200F330 + 1 +_02010080: .word FUN_0200F330 + 1 - thumb_func_start sub_02010084 -sub_02010084: ; 0x02010084 + thumb_func_start FUN_02010084 +FUN_02010084: ; 0x02010084 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x24] @@ -30023,28 +30023,28 @@ sub_02010084: ; 0x02010084 ldr r1, [r4, #0x18] add r1, r2, r1 str r1, [r4, #0xc] - bl sub_02010168 - ldr r0, _020100CC ; =sub_0200F5F8 + bl FUN_02010168 + ldr r0, _020100CC ; =FUN_0200F5F8 ldr r2, _020100D0 ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _020100C8 _020100BA: ldr r0, [r4, #0x34] ldr r1, [r4, #0x8] ldr r2, [r4, #0x28] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _020100C8: mov r0, #0x0 pop {r4, pc} .balign 4 -_020100CC: .word sub_0200F5F8 + 1 +_020100CC: .word FUN_0200F5F8 + 1 _020100D0: .word 0x000003FF - thumb_func_start sub_020100D4 -sub_020100D4: ; 0x020100D4 + thumb_func_start FUN_020100D4 +FUN_020100D4: ; 0x020100D4 push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x0] @@ -30073,14 +30073,14 @@ _020100FA: asr r1, r0, #0x1f add r2, r0, #0x0 add r3, r1, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r6, r1, #0x0 add r1, r7, #0x0 add r2, r0, #0x0 add r3, r7, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r2, r0, #0x0 add r3, r1, #0x0 mov r0, #0x2 @@ -30100,7 +30100,7 @@ _020100FA: lsr r2, r2, #0xc orr r2, r1 sub r0, r0, r2 - blx sub_020C504C + blx FUN_020C504C asr r2, r0, #0xc ldr r0, [sp, #0x0] sub r0, r0, r2 @@ -30121,13 +30121,13 @@ _02010164: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02010168 -sub_02010168: ; 0x02010168 + thumb_func_start FUN_02010168 +FUN_02010168: ; 0x02010168 push {r3-r7, lr} sub sp, #0x10 mov r1, #0x0 add r5, r0, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r7, r0, #0x0 mov r4, #0x0 add r6, r7, #0x0 @@ -30142,7 +30142,7 @@ _0201017A: ldr r0, [r5, #0xc] ldr r1, [r5, #0x10] add r3, r4, #0x0 - bl sub_020100D4 + bl FUN_020100D4 b _020101CE _02010194: lsl r0, r2, #0x1 @@ -30173,7 +30173,7 @@ _020101BC: ldr r0, [r5, #0xc] ldr r1, [r5, #0x10] add r3, r4, #0x0 - bl sub_020100D4 + bl FUN_020100D4 _020101CE: mov r0, #0x3 ldr r1, [sp, #0xc] @@ -30191,15 +30191,15 @@ _020101CE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020101EC -sub_020101EC: ; 0x020101EC + thumb_func_start FUN_020101EC +FUN_020101EC: ; 0x020101EC push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] ldr r0, [r5, #0x10] add r1, r4, #0x0 @@ -30213,15 +30213,15 @@ sub_020101EC: ; 0x020101EC ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_02010280 + bl FUN_02010280 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02010224 -sub_02010224: ; 0x02010224 + thumb_func_start FUN_02010224 +FUN_02010224: ; 0x02010224 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -30236,22 +30236,22 @@ sub_02010224: ; 0x02010224 b _02010276 _0201023C: add r0, r4, #0x0 - bl sub_02010348 + bl FUN_02010348 cmp r0, #0x1 bne _0201027A ldr r0, [r4, #0x20] ldr r1, [r4, #0x24] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _0201027A _02010258: add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -30263,14 +30263,14 @@ _02010272: mov r6, #0x1 b _0201027A _02010276: - bl sub_02020C2C + bl FUN_02020C2C _0201027A: add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02010280 -sub_02010280: ; 0x02010280 + thumb_func_start FUN_02010280 +FUN_02010280: ; 0x02010280 push {r3-r7, lr} sub sp, #0x20 add r4, r1, #0x0 @@ -30281,13 +30281,13 @@ sub_02010280: ; 0x02010280 str r3, [sp, #0x1c] ldr r6, [sp, #0x38] ldr r7, [sp, #0x3c] - bl sub_0200F164 + bl FUN_0200F164 str r0, [r5, #0x10] ldrb r1, [r4, #0x8] ldr r3, [sp, #0x44] add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_0200F55C + bl FUN_0200F55C ldr r0, [r4, #0x0] lsl r0, r0, #0x7 str r0, [r5, #0xc] @@ -30305,14 +30305,14 @@ sub_02010280: ; 0x02010280 ldrb r0, [r4, #0xb] str r0, [r5, #0x20] add r0, r5, #0x0 - bl sub_02010398 - ldr r0, _0201033C ; =sub_0200F5F8 + bl FUN_02010398 + ldr r0, _0201033C ; =FUN_0200F5F8 ldr r2, _02010340 ; =0x000003FF add r1, r5, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 mov r1, #0x3 str r6, [sp, #0x0] lsl r1, r1, #0x8 @@ -30332,7 +30332,7 @@ sub_02010280: ; 0x02010280 ldrb r2, [r4, #0xa] ldrb r3, [r4, #0x8] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C ldrb r0, [r4, #0x8] cmp r0, #0x0 bne _0201031C @@ -30340,31 +30340,31 @@ sub_02010280: ; 0x02010280 add r0, r7, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02010328 _0201031C: ldr r3, [r5, #0x20] add r0, r7, #0x0 mov r1, #0x2 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 _02010328: ldr r0, [sp, #0x44] - ldr r2, _02010344 ; =sub_0200F330 + ldr r2, _02010344 ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r5, #0x28] add r1, r5, #0x0 add r3, r6, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x20 pop {r3-r7, pc} .balign 4 -_0201033C: .word sub_0200F5F8 + 1 +_0201033C: .word FUN_0200F5F8 + 1 _02010340: .word 0x000003FF -_02010344: .word sub_0200F330 + 1 +_02010344: .word FUN_0200F330 + 1 - thumb_func_start sub_02010348 -sub_02010348: ; 0x02010348 + thumb_func_start FUN_02010348 +FUN_02010348: ; 0x02010348 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x1c] @@ -30384,34 +30384,34 @@ sub_02010348: ; 0x02010348 ldr r1, [r4, #0x10] add r1, r2, r1 str r1, [r4, #0xc] - bl sub_02010398 - ldr r0, _02010390 ; =sub_0200F5F8 + bl FUN_02010398 + ldr r0, _02010390 ; =FUN_0200F5F8 ldr r2, _02010394 ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _0201038C _0201037E: ldr r0, [r4, #0x28] ldr r1, [r4, #0x8] ldr r2, [r4, #0x2c] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _0201038C: mov r0, #0x0 pop {r4, pc} .balign 4 -_02010390: .word sub_0200F5F8 + 1 +_02010390: .word FUN_0200F5F8 + 1 _02010394: .word 0x000003FF - thumb_func_start sub_02010398 -sub_02010398: ; 0x02010398 + thumb_func_start FUN_02010398 +FUN_02010398: ; 0x02010398 push {r3-r7, lr} sub sp, #0x1fc sub sp, #0x104 add r4, r0, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 ldr r1, [r4, #0xc] add r5, r0, #0x0 asr r0, r1, #0x6 @@ -30421,7 +30421,7 @@ sub_02010398: ; 0x02010398 add r1, sp, #0x0 mov r2, #0xc0 mov r3, #0x0 - bl sub_0200F0F8 + bl FUN_0200F0F8 mov r7, #0x12 mov r6, #0x0 add r4, sp, #0x0 @@ -30430,13 +30430,13 @@ _020103C4: ldr r1, [r4, #0x0] mov r0, #0x80 neg r1, r1 - bl sub_0200F174 + bl FUN_0200F174 mov r1, #0x3 lsl r1, r1, #0x8 strh r0, [r5, r1] ldr r1, [r4, #0x0] mov r0, #0x80 - bl sub_0200F174 + bl FUN_0200F174 strh r0, [r5, r7] add r6, r6, #0x1 add r4, r4, #0x4 @@ -30448,15 +30448,15 @@ _020103C4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020103F0 -sub_020103F0: ; 0x020103F0 + thumb_func_start FUN_020103F0 +FUN_020103F0: ; 0x020103F0 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x34 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] ldr r0, [r5, #0x10] add r1, r4, #0x0 @@ -30470,15 +30470,15 @@ sub_020103F0: ; 0x020103F0 ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_0201047C + bl FUN_0201047C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02010428 -sub_02010428: ; 0x02010428 + thumb_func_start FUN_02010428 +FUN_02010428: ; 0x02010428 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -30493,22 +30493,22 @@ sub_02010428: ; 0x02010428 b _02010478 _02010440: add r0, r4, #0x0 - bl sub_02010550 + bl FUN_02010550 cmp r0, #0x1 bne _02010478 ldr r0, [r4, #0x24] ldr r1, [r4, #0x28] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02010478 _0201045C: add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -30522,8 +30522,8 @@ _02010478: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0201047C -sub_0201047C: ; 0x0201047C + thumb_func_start FUN_0201047C +FUN_0201047C: ; 0x0201047C push {r4-r7, lr} sub sp, #0x24 add r4, r1, #0x0 @@ -30536,13 +30536,13 @@ sub_0201047C: ; 0x0201047C str r3, [sp, #0x1c] ldr r6, [sp, #0x38] ldr r7, [sp, #0x3c] - blx sub_020EBC80 + blx FUN_020EBC80 str r0, [sp, #0x20] ldrb r1, [r4, #0x8] ldr r3, [sp, #0x44] add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_0200F55C + bl FUN_0200F55C mov r0, #0x2 lsl r0, r0, #0x12 str r0, [r5, #0xc] @@ -30564,14 +30564,14 @@ sub_0201047C: ; 0x0201047C ldrb r0, [r4, #0xb] str r0, [r5, #0x24] add r0, r5, #0x0 - bl sub_020105A0 - ldr r0, _02010544 ; =sub_0200F5F8 + bl FUN_020105A0 + ldr r0, _02010544 ; =FUN_0200F5F8 ldr r2, _02010548 ; =0x000003FF add r1, r5, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 mov r1, #0xf str r6, [sp, #0x0] lsl r1, r1, #0x6 @@ -30591,7 +30591,7 @@ sub_0201047C: ; 0x0201047C ldrb r2, [r4, #0xa] ldrb r3, [r4, #0x8] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C ldrb r0, [r4, #0x8] cmp r0, #0x0 bne _02010524 @@ -30599,31 +30599,31 @@ sub_0201047C: ; 0x0201047C add r0, r7, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02010530 _02010524: ldr r3, [r5, #0x24] add r0, r7, #0x0 mov r1, #0x2 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 _02010530: ldr r0, [sp, #0x44] - ldr r2, _0201054C ; =sub_0200F330 + ldr r2, _0201054C ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r5, #0x2c] add r1, r5, #0x0 add r3, r6, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x24 pop {r4-r7, pc} .balign 4 -_02010544: .word sub_0200F5F8 + 1 +_02010544: .word FUN_0200F5F8 + 1 _02010548: .word 0x000003FF -_0201054C: .word sub_0200F330 + 1 +_0201054C: .word FUN_0200F330 + 1 - thumb_func_start sub_02010550 -sub_02010550: ; 0x02010550 + thumb_func_start FUN_02010550 +FUN_02010550: ; 0x02010550 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x20] @@ -30643,34 +30643,34 @@ sub_02010550: ; 0x02010550 ldr r1, [r4, #0x14] add r1, r2, r1 str r1, [r4, #0x10] - bl sub_020105A0 - ldr r0, _02010598 ; =sub_0200F5F8 + bl FUN_020105A0 + ldr r0, _02010598 ; =FUN_0200F5F8 ldr r2, _0201059C ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _02010594 _02010586: ldr r0, [r4, #0x2c] ldr r1, [r4, #0x8] ldr r2, [r4, #0x30] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _02010594: mov r0, #0x0 pop {r4, pc} .balign 4 -_02010598: .word sub_0200F5F8 + 1 +_02010598: .word FUN_0200F5F8 + 1 _0201059C: .word 0x000003FF - thumb_func_start sub_020105A0 -sub_020105A0: ; 0x020105A0 + thumb_func_start FUN_020105A0 +FUN_020105A0: ; 0x020105A0 push {r4-r7, lr} sub sp, #0x1fc sub sp, #0x110 add r4, r0, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r0, [sp, #0x0] ldr r0, [r4, #0x10] ldr r2, [r4, #0xc] @@ -30680,7 +30680,7 @@ sub_020105A0: ; 0x020105A0 asr r3, r2, #0x1f ldrsh r0, [r0, r1] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -30692,7 +30692,7 @@ sub_020105A0: ; 0x020105A0 asr r7, r1, #0xc lsl r0, r7, #0x1 mov r1, #0x15 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x1 lsl r0, r0, #0x1 mov r1, #0xb4 @@ -30700,25 +30700,25 @@ sub_020105A0: ; 0x020105A0 ldr r0, _02010684 ; =0x0000FFFF add r1, #0xb4 mul r0, r2 - blx sub_020EBC80 + blx FUN_020EBC80 lsr r1, r0, #0x1f add r1, r0, r1 asr r4, r1, #0x1 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x8 - bl sub_0200F14C + bl FUN_0200F14C asr r0, r0, #0xc str r0, [sp, #0x4] cmp r0, #0xc0 blt _0201060C - bl sub_02020C2C + bl FUN_02020C2C _0201060C: ldr r2, [sp, #0x4] add r0, r4, #0x0 add r1, sp, #0xc mov r3, #0x0 - bl sub_0200F0F8 + bl FUN_0200F0F8 ldr r5, [sp, #0x0] mov r4, #0x0 _0201061C: @@ -30737,11 +30737,11 @@ _0201061C: _02010634: mov r0, #0x80 neg r1, r6 - bl sub_0200F174 + bl FUN_0200F174 str r0, [sp, #0x8] mov r0, #0x80 add r1, r6, #0x0 - bl sub_0200F174 + bl FUN_0200F174 ldr r1, [sp, #0x8] lsl r0, r0, #0x10 lsl r1, r1, #0x10 @@ -30775,15 +30775,15 @@ _02010634: _02010680: .word 0x020FFA38 _02010684: .word 0x0000FFFF - thumb_func_start sub_02010688 -sub_02010688: ; 0x02010688 + thumb_func_start FUN_02010688 +FUN_02010688: ; 0x02010688 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] ldr r0, [r5, #0x10] add r1, r4, #0x0 @@ -30797,15 +30797,15 @@ sub_02010688: ; 0x02010688 ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_02010720 + bl FUN_02010720 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_020106C0 -sub_020106C0: ; 0x020106C0 + thumb_func_start FUN_020106C0 +FUN_020106C0: ; 0x020106C0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -30820,24 +30820,24 @@ sub_020106C0: ; 0x020106C0 b _02010718 _020106D8: add r0, r4, #0x0 - bl sub_02010834 + bl FUN_02010834 cmp r0, #0x1 bne _0201071C ldr r0, [r4, #0x20] ldr r1, [r4, #0x24] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _0201071C _020106F4: add r0, r4, #0x0 - bl sub_02010884 + bl FUN_02010884 add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -30849,13 +30849,13 @@ _02010714: mov r6, #0x1 b _0201071C _02010718: - bl sub_02020C2C + bl FUN_02020C2C _0201071C: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02010720 -sub_02010720: ; 0x02010720 + thumb_func_start FUN_02010720 +FUN_02010720: ; 0x02010720 push {r4-r7, lr} sub sp, #0x24 add r5, r1, #0x0 @@ -30869,11 +30869,11 @@ sub_02010720: ; 0x02010720 mul r1, r2 str r3, [sp, #0x1c] str r0, [sp, #0x44] - bl sub_02016998 + bl FUN_02016998 str r0, [r7, #0xc] cmp r0, #0x0 bne _02010748 - bl sub_02020C2C + bl FUN_02020C2C _02010748: ldrb r0, [r5, #0x8] str r0, [r7, #0x10] @@ -30898,7 +30898,7 @@ _0201075A: add r1, #0x20 add r2, #0x10 add r3, r3, r6 - bl sub_0200F1A8 + bl FUN_0200F1A8 ldr r0, [sp, #0x20] ldrb r1, [r5, #0x8] add r0, r0, #0x1 @@ -30912,7 +30912,7 @@ _02010788: ldr r2, [sp, #0x38] ldr r3, [sp, #0x44] add r0, r7, #0x0 - bl sub_0200F55C + bl FUN_0200F55C ldr r0, [sp, #0x18] str r0, [r7, #0x14] ldr r0, [sp, #0x1c] @@ -30928,14 +30928,14 @@ _02010788: ldrb r0, [r5, #0xc] str r0, [r7, #0x20] add r0, r7, #0x0 - bl sub_02010894 - ldr r0, _02010828 ; =sub_0200F5F8 + bl FUN_02010894 + ldr r0, _02010828 ; =FUN_0200F5F8 ldr r2, _0201082C ; =0x000003FF add r1, r7, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r7, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 ldr r1, [sp, #0x38] str r1, [sp, #0x0] mov r1, #0x3 @@ -30956,7 +30956,7 @@ _02010788: ldrb r2, [r5, #0xb] ldrb r3, [r5, #0x9] ldr r0, [sp, #0x3c] - bl sub_0200F67C + bl FUN_0200F67C ldrb r0, [r5, #0x9] cmp r0, #0x0 ldr r0, [r7, #0x24] @@ -30964,30 +30964,30 @@ _02010788: ldr r2, [sp, #0x38] ldr r3, [r7, #0x20] mov r1, #0x1 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02010812 _02010808: ldr r2, [sp, #0x38] ldr r3, [r7, #0x20] mov r1, #0x2 - bl sub_0200F6E4 + bl FUN_0200F6E4 _02010812: ldr r0, [sp, #0x44] - ldr r2, _02010830 ; =sub_0200F330 + ldr r2, _02010830 ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r7, #0x28] ldr r3, [sp, #0x38] add r1, r7, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x24 pop {r4-r7, pc} nop -_02010828: .word sub_0200F5F8 + 1 +_02010828: .word FUN_0200F5F8 + 1 _0201082C: .word 0x000003FF -_02010830: .word sub_0200F330 + 1 +_02010830: .word FUN_0200F330 + 1 - thumb_func_start sub_02010834 -sub_02010834: ; 0x02010834 + thumb_func_start FUN_02010834 +FUN_02010834: ; 0x02010834 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x1c] @@ -31003,49 +31003,49 @@ sub_02010834: ; 0x02010834 cmp r1, #0x0 ble _02010868 str r1, [r4, #0x14] - bl sub_02010920 + bl FUN_02010920 add r0, r4, #0x0 - bl sub_02010894 - ldr r0, _0201087C ; =sub_0200F5F8 + bl FUN_02010894 + ldr r0, _0201087C ; =FUN_0200F5F8 ldr r2, _02010880 ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _02010876 _02010868: ldr r0, [r4, #0x28] ldr r1, [r4, #0x8] ldr r2, [r4, #0x2c] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _02010876: mov r0, #0x0 pop {r4, pc} nop -_0201087C: .word sub_0200F5F8 + 1 +_0201087C: .word FUN_0200F5F8 + 1 _02010880: .word 0x000003FF - thumb_func_start sub_02010884 -sub_02010884: ; 0x02010884 + thumb_func_start FUN_02010884 +FUN_02010884: ; 0x02010884 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0xc] pop {r4, pc} - thumb_func_start sub_02010894 -sub_02010894: ; 0x02010894 + thumb_func_start FUN_02010894 +FUN_02010894: ; 0x02010894 push {r4-r6, lr} mov r1, #0x0 add r6, r0, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 mov r2, #0x3 lsl r2, r2, #0x8 add r0, r0, r2 mov r1, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r6, #0x10] sub r4, r0, #0x1 bmi _020108C6 @@ -31056,19 +31056,19 @@ _020108B6: ldr r1, [r6, #0xc] add r0, r6, #0x0 add r1, r1, r5 - bl sub_020108C8 + bl FUN_020108C8 sub r5, #0x30 sub r4, r4, #0x1 bpl _020108B6 _020108C6: pop {r4-r6, pc} - thumb_func_start sub_020108C8 -sub_020108C8: ; 0x020108C8 + thumb_func_start FUN_020108C8 +FUN_020108C8: ; 0x020108C8 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 ldr r2, [r4, #0x0] ldr r3, [r4, #0x8] asr r1, r2, #0x6 @@ -31111,8 +31111,8 @@ _02010912: _0201091E: pop {r4-r6, pc} - thumb_func_start sub_02010920 -sub_02010920: ; 0x02010920 + thumb_func_start FUN_02010920 +FUN_02010920: ; 0x02010920 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] @@ -31125,7 +31125,7 @@ _0201092E: add r0, r1, r4 add r1, r1, r4 add r1, #0x10 - bl sub_0200F184 + bl FUN_0200F184 ldr r0, [r5, #0x10] add r6, r6, #0x1 add r4, #0x30 @@ -31135,19 +31135,19 @@ _02010944: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02010948 -sub_02010948: ; 0x02010948 + thumb_func_start FUN_02010948 +FUN_02010948: ; 0x02010948 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x38 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] mov r1, #0x0 mov r2, #0x38 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0x10] add r1, r4, #0x0 str r0, [sp, #0x0] @@ -31160,15 +31160,15 @@ sub_02010948: ; 0x02010948 ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_020109E8 + bl FUN_020109E8 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02010988 -sub_02010988: ; 0x02010988 + thumb_func_start FUN_02010988 +FUN_02010988: ; 0x02010988 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -31183,24 +31183,24 @@ sub_02010988: ; 0x02010988 b _020109E0 _020109A0: add r0, r4, #0x0 - bl sub_02010AE4 + bl FUN_02010AE4 cmp r0, #0x1 bne _020109E4 ldr r0, [r4, #0x28] ldr r1, [r4, #0x30] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _020109E4 _020109BC: add r0, r4, #0x0 - bl sub_02010B3C + bl FUN_02010B3C add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -31212,13 +31212,13 @@ _020109DC: mov r6, #0x1 b _020109E4 _020109E0: - bl sub_02020C2C + bl FUN_02020C2C _020109E4: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020109E8 -sub_020109E8: ; 0x020109E8 + thumb_func_start FUN_020109E8 +FUN_020109E8: ; 0x020109E8 push {r3-r7, lr} sub sp, #0x28 add r4, r1, #0x0 @@ -31238,7 +31238,7 @@ sub_020109E8: ; 0x020109E8 mov r1, #0x2 add r2, r6, #0x0 ldr r7, [sp, #0x44] - bl sub_0200F55C + bl FUN_0200F55C ldr r0, [sp, #0x18] mov r1, #0x0 str r0, [r5, #0x18] @@ -31257,20 +31257,20 @@ sub_020109E8: ; 0x020109E8 ldr r1, [r5, #0x1c] ldr r2, [r5, #0x18] add r0, #0xc - bl sub_02010C64 + bl FUN_02010C64 add r0, r5, #0x0 - bl sub_02010B40 - ldr r0, _02010AD8 ; =sub_0200F5F8 + bl FUN_02010B40 + ldr r0, _02010AD8 ; =FUN_0200F5F8 ldr r2, _02010ADC ; =0x000003FF add r1, r5, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r0, [sp, #0x20] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r0, [sp, #0x24] mov r1, #0x3 ldr r0, [sp, #0x20] @@ -31292,7 +31292,7 @@ sub_020109E8: ; 0x020109E8 ldrb r1, [r4, #0x8] ldrb r2, [r4, #0x9] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C mov r1, #0x3 ldr r0, [sp, #0x24] str r6, [sp, #0x0] @@ -31314,28 +31314,28 @@ sub_020109E8: ; 0x020109E8 ldrb r1, [r4, #0x8] ldrb r2, [r4, #0x9] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C ldr r3, [r5, #0x28] add r0, r7, #0x0 mov r1, #0x3 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 ldr r0, [sp, #0x4c] - ldr r2, _02010AE0 ; =sub_0200F330 + ldr r2, _02010AE0 ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r5, #0x34] add r1, r5, #0x0 add r3, r6, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x28 pop {r3-r7, pc} .balign 4 -_02010AD8: .word sub_0200F5F8 + 1 +_02010AD8: .word FUN_0200F5F8 + 1 _02010ADC: .word 0x000003FF -_02010AE0: .word sub_0200F330 + 1 +_02010AE0: .word FUN_0200F330 + 1 - thumb_func_start sub_02010AE4 -sub_02010AE4: ; 0x02010AE4 + thumb_func_start FUN_02010AE4 +FUN_02010AE4: ; 0x02010AE4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] @@ -31355,51 +31355,51 @@ sub_02010AE4: ; 0x02010AE4 add r0, r4, #0x0 ldr r2, [r4, #0x18] add r0, #0xc - bl sub_02010C64 + bl FUN_02010C64 add r0, r4, #0x0 - bl sub_02010B40 - ldr r0, _02010B34 ; =sub_0200F5F8 + bl FUN_02010B40 + ldr r0, _02010B34 ; =FUN_0200F5F8 ldr r2, _02010B38 ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _02010B2E _02010B20: ldr r0, [r4, #0x34] ldr r1, [r4, #0x8] ldr r2, [r4, #0x2c] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _02010B2E: mov r0, #0x0 pop {r4, pc} nop -_02010B34: .word sub_0200F5F8 + 1 +_02010B34: .word FUN_0200F5F8 + 1 _02010B38: .word 0x000003FF - thumb_func_start sub_02010B3C -sub_02010B3C: ; 0x02010B3C + thumb_func_start FUN_02010B3C +FUN_02010B3C: ; 0x02010B3C bx lr .balign 4 - thumb_func_start sub_02010B40 -sub_02010B40: ; 0x02010B40 + thumb_func_start FUN_02010B40 +FUN_02010B40: ; 0x02010B40 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] ldr r0, [r0, #0xc] ldr r1, _02010C60 ; =0x00003FFF - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] ldr r0, [sp, #0x0] mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x1 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r4, r0, #0x0 mov r6, #0x0 add r5, r4, #0x0 @@ -31412,7 +31412,7 @@ _02010B6C: mov r1, #0x60 ldr r0, [sp, #0x4] sub r1, r1, r6 - bl sub_0200F0D0 + bl FUN_0200F0D0 cmp r0, #0x7f ble _02010B86 mov r0, #0x7f @@ -31498,7 +31498,7 @@ _02010C1A: add r1, r5, #0x0 add r0, r6, #0x0 sub r1, #0x60 - bl sub_0200F0D0 + bl FUN_0200F0D0 add r1, r0, #0x0 cmp r1, #0x7f ble _02010C2C @@ -31534,33 +31534,33 @@ _02010C54: .balign 4 _02010C60: .word 0x00003FFF - thumb_func_start sub_02010C64 -sub_02010C64: ; 0x02010C64 + thumb_func_start FUN_02010C64 +FUN_02010C64: ; 0x02010C64 push {r4, lr} add r4, r0, #0x0 ldr r3, [r4, #0x8] add r0, r3, #0x0 mul r0, r1 add r1, r2, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [r4, #0x4] add r0, r0, r1 str r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02010C7C -sub_02010C7C: ; 0x02010C7C + thumb_func_start FUN_02010C7C +FUN_02010C7C: ; 0x02010C7C push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x20] add r4, r1, #0x0 mov r1, #0x38 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] mov r1, #0x0 mov r2, #0x38 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0x10] add r1, r4, #0x0 str r0, [sp, #0x0] @@ -31573,15 +31573,15 @@ sub_02010C7C: ; 0x02010C7C ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_02010D1C + bl FUN_02010D1C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02010CBC -sub_02010CBC: ; 0x02010CBC + thumb_func_start FUN_02010CBC +FUN_02010CBC: ; 0x02010CBC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -31596,24 +31596,24 @@ sub_02010CBC: ; 0x02010CBC b _02010D14 _02010CD4: add r0, r4, #0x0 - bl sub_02010DEC + bl FUN_02010DEC cmp r0, #0x1 bne _02010D18 ldr r0, [r4, #0x28] ldr r1, [r4, #0x30] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02010D18 _02010CF0: add r0, r4, #0x0 - bl sub_02010E44 + bl FUN_02010E44 add r0, r4, #0x0 - bl sub_0200F5C0 + bl FUN_0200F5C0 ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -31625,13 +31625,13 @@ _02010D10: mov r6, #0x1 b _02010D18 _02010D14: - bl sub_02020C2C + bl FUN_02020C2C _02010D18: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02010D1C -sub_02010D1C: ; 0x02010D1C + thumb_func_start FUN_02010D1C +FUN_02010D1C: ; 0x02010D1C push {r3-r7, lr} sub sp, #0x20 add r4, r1, #0x0 @@ -31651,7 +31651,7 @@ sub_02010D1C: ; 0x02010D1C mov r1, #0x2 add r2, r6, #0x0 ldr r7, [sp, #0x3c] - bl sub_0200F55C + bl FUN_0200F55C ldr r0, [sp, #0x18] mov r1, #0x0 str r0, [r5, #0x18] @@ -31667,17 +31667,17 @@ sub_02010D1C: ; 0x02010D1C ldrb r0, [r4, #0xa] str r0, [r5, #0x28] add r0, r5, #0x0 - bl sub_02010E48 - ldr r0, _02010DE0 ; =sub_0200F5F8 + bl FUN_02010E48 + ldr r0, _02010DE0 ; =FUN_0200F5F8 ldr r2, _02010DE4 ; =0x000003FF add r1, r5, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r6, [sp, #0x0] mov r3, #0x0 str r3, [sp, #0x4] @@ -31691,7 +31691,7 @@ sub_02010D1C: ; 0x02010D1C ldrb r1, [r4, #0x8] ldrb r2, [r4, #0x9] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C str r6, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] @@ -31706,28 +31706,28 @@ sub_02010D1C: ; 0x02010D1C ldrb r1, [r4, #0x8] ldrb r2, [r4, #0x9] add r0, r7, #0x0 - bl sub_0200F67C + bl FUN_0200F67C ldr r3, [r5, #0x28] add r0, r7, #0x0 mov r1, #0x3 add r2, r6, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 ldr r0, [sp, #0x44] - ldr r2, _02010DE8 ; =sub_0200F330 + ldr r2, _02010DE8 ; =FUN_0200F330 str r0, [sp, #0x0] ldr r0, [r5, #0x34] add r1, r5, #0x0 add r3, r6, #0x0 - bl sub_0200E6CC + bl FUN_0200E6CC add sp, #0x20 pop {r3-r7, pc} .balign 4 -_02010DE0: .word sub_0200F5F8 + 1 +_02010DE0: .word FUN_0200F5F8 + 1 _02010DE4: .word 0x000003FF -_02010DE8: .word sub_0200F330 + 1 +_02010DE8: .word FUN_0200F330 + 1 - thumb_func_start sub_02010DEC -sub_02010DEC: ; 0x02010DEC + thumb_func_start FUN_02010DEC +FUN_02010DEC: ; 0x02010DEC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] @@ -31747,35 +31747,35 @@ sub_02010DEC: ; 0x02010DEC add r0, r4, #0x0 ldr r2, [r4, #0x18] add r0, #0xc - bl sub_02010F14 + bl FUN_02010F14 add r0, r4, #0x0 - bl sub_02010E48 - ldr r0, _02010E3C ; =sub_0200F5F8 + bl FUN_02010E48 + ldr r0, _02010E3C ; =FUN_0200F5F8 ldr r2, _02010E40 ; =0x000003FF add r1, r4, #0x0 - bl sub_0200CA98 + bl FUN_0200CA98 b _02010E36 _02010E28: ldr r0, [r4, #0x34] ldr r1, [r4, #0x8] ldr r2, [r4, #0x2c] - bl sub_0200E6F8 + bl FUN_0200E6F8 mov r0, #0x1 pop {r4, pc} _02010E36: mov r0, #0x0 pop {r4, pc} nop -_02010E3C: .word sub_0200F5F8 + 1 +_02010E3C: .word FUN_0200F5F8 + 1 _02010E40: .word 0x000003FF - thumb_func_start sub_02010E44 -sub_02010E44: ; 0x02010E44 + thumb_func_start FUN_02010E44 +FUN_02010E44: ; 0x02010E44 bx lr .balign 4 - thumb_func_start sub_02010E48 -sub_02010E48: ; 0x02010E48 + thumb_func_start FUN_02010E48 +FUN_02010E48: ; 0x02010E48 push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 @@ -31784,11 +31784,11 @@ sub_02010E48: ; 0x02010E48 lsr r1, r1, #0x10 str r1, [sp, #0x8] mov r1, #0x0 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200F5D8 + bl FUN_0200F5D8 str r0, [sp, #0xc] add r5, r0, #0x0 ldr r1, _02010F10 ; =0x00003FFF @@ -31803,11 +31803,11 @@ _02010E76: str r0, [sp, #0x0] ldr r0, [sp, #0x8] ldr r1, [sp, #0x0] - bl sub_0200F0D0 + bl FUN_0200F0D0 add r4, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] - bl sub_0200F0D0 + bl FUN_0200F0D0 cmp r4, #0x7f ble _02010E94 mov r4, #0x7f @@ -31877,22 +31877,22 @@ _02010E9A: nop _02010F10: .word 0x00003FFF - thumb_func_start sub_02010F14 -sub_02010F14: ; 0x02010F14 + thumb_func_start FUN_02010F14 +FUN_02010F14: ; 0x02010F14 push {r4, lr} add r4, r0, #0x0 ldr r3, [r4, #0x8] add r0, r3, #0x0 mul r0, r1 add r1, r2, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [r4, #0x4] add r0, r0, r1 str r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02010F2C -sub_02010F2C: ; 0x02010F2C + thumb_func_start FUN_02010F2C +FUN_02010F2C: ; 0x02010F2C push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -31900,12 +31900,12 @@ sub_02010F2C: ; 0x02010F2C mov r1, #0xcd ldr r0, [r5, #0x20] lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 mov r2, #0xcd str r0, [r5, #0x14] mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0x10] add r1, r4, #0x0 str r0, [sp, #0x0] @@ -31918,15 +31918,15 @@ sub_02010F2C: ; 0x02010F2C ldr r0, [r5, #0x14] ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] - bl sub_02010FD0 + bl FUN_02010FD0 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02010F70 -sub_02010F70: ; 0x02010F70 + thumb_func_start FUN_02010F70 +FUN_02010F70: ; 0x02010F70 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -31941,7 +31941,7 @@ sub_02010F70: ; 0x02010F70 b _02010FC8 _02010F88: add r0, r4, #0x0 - bl sub_020110BC + bl FUN_020110BC cmp r0, #0x1 bne _02010FCC mov r1, #0xc9 @@ -31950,16 +31950,16 @@ _02010F88: add r1, #0x8 ldr r1, [r4, r1] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02010FCC _02010FAA: add r0, r4, #0x0 - bl sub_0201111C + bl FUN_0201111C ldr r0, [r5, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -31971,13 +31971,13 @@ _02010FC4: mov r6, #0x1 b _02010FCC _02010FC8: - bl sub_02020C2C + bl FUN_02020C2C _02010FCC: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02010FD0 -sub_02010FD0: ; 0x02010FD0 + thumb_func_start FUN_02010FD0 +FUN_02010FD0: ; 0x02010FD0 push {r3-r7, lr} sub sp, #0x20 ldr r7, [sp, #0x38] @@ -31990,30 +31990,30 @@ sub_02010FD0: ; 0x02010FD0 mov r2, #0x1 add r5, r0, #0x0 ldr r6, [sp, #0x3c] - bl sub_0200F6FC + bl FUN_0200F6FC ldrb r0, [r4, #0x5] cmp r0, #0x0 bne _0201100A add r0, r5, #0x0 mov r1, #0x1 mov r2, #0xc0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 add r0, #0xc0 mov r1, #0x1 mov r2, #0xc0 - blx sub_020DF4A4 + blx FUN_020DF4A4 b _02011020 _0201100A: add r0, r5, #0x0 mov r1, #0x0 mov r2, #0xc0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 add r0, #0xc0 mov r1, #0x0 mov r2, #0xc0 - blx sub_020DF4A4 + blx FUN_020DF4A4 _02011020: mov r1, #0xc3 lsl r1, r1, #0x2 @@ -32053,7 +32053,7 @@ _02011020: add r1, #0x24 str r0, [r5, r1] add r1, r5, #0x0 - bl sub_0200F758 + bl FUN_0200F758 ldrb r0, [r4, #0x5] cmp r0, #0x1 str r7, [sp, #0x0] @@ -32067,7 +32067,7 @@ _02011020: add r0, r6, #0x0 mov r1, #0x20 mov r2, #0x3f - bl sub_0200F67C + bl FUN_0200F67C b _020110A6 _02011090: mov r3, #0x0 @@ -32079,7 +32079,7 @@ _02011090: add r0, r6, #0x0 mov r1, #0x3f mov r2, #0x20 - bl sub_0200F67C + bl FUN_0200F67C _020110A6: mov r3, #0xc9 lsl r3, r3, #0x2 @@ -32087,13 +32087,13 @@ _020110A6: add r0, r6, #0x0 mov r1, #0x1 add r2, r7, #0x0 - bl sub_0200F6E4 + bl FUN_0200F6E4 add sp, #0x20 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020110BC -sub_020110BC: ; 0x020110BC + thumb_func_start FUN_020110BC +FUN_020110BC: ; 0x020110BC push {r4, lr} mov r2, #0x32 add r4, r0, #0x0 @@ -32123,9 +32123,9 @@ sub_020110BC: ; 0x020110BC sub r2, #0x8 add r1, r1, #0x1 str r1, [r4, r2] - bl sub_02011120 + bl FUN_02011120 add r0, r4, #0x0 - bl sub_0200F740 + bl FUN_0200F740 b _02011116 _02011102: add r0, r2, #0x0 @@ -32134,7 +32134,7 @@ _02011102: ldr r0, [r4, r0] ldr r2, [r4, r2] add r1, r4, #0x0 - bl sub_0200F770 + bl FUN_0200F770 mov r0, #0x1 pop {r4, pc} _02011116: @@ -32142,13 +32142,13 @@ _02011116: pop {r4, pc} .balign 4 - thumb_func_start sub_0201111C -sub_0201111C: ; 0x0201111C + thumb_func_start FUN_0201111C +FUN_0201111C: ; 0x0201111C bx lr .balign 4 - thumb_func_start sub_02011120 -sub_02011120: ; 0x02011120 + thumb_func_start FUN_02011120 +FUN_02011120: ; 0x02011120 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x31 @@ -32172,7 +32172,7 @@ _02011136: ldr r3, [r5, r3] add r0, r0, r4 add r1, r5, #0x0 - bl sub_0201115C + bl FUN_0201115C ldr r0, [r5, r7] add r6, r6, #0x1 add r4, r4, #0x3 @@ -32181,8 +32181,8 @@ _02011136: _0201115A: pop {r3-r7, pc} - thumb_func_start sub_0201115C -sub_0201115C: ; 0x0201115C + thumb_func_start FUN_0201115C +FUN_0201115C: ; 0x0201115C push {r3-r7, lr} add r7, r0, #0x0 ldrb r6, [r7, #0x0] @@ -32191,7 +32191,7 @@ sub_0201115C: ; 0x0201115C add r1, r3, #0x0 sub r0, r4, r6 mul r0, r2 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, r6 cmp r6, r4 bhi _0201117C @@ -32230,8 +32230,8 @@ _020111A2: _020111AA: pop {r3-r7, pc} - thumb_func_start sub_020111AC -sub_020111AC: ; 0x020111AC + thumb_func_start FUN_020111AC +FUN_020111AC: ; 0x020111AC push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -32239,12 +32239,12 @@ sub_020111AC: ; 0x020111AC mov r1, #0xe2 ldr r0, [r5, #0x20] lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 mov r2, #0xe2 mov r1, #0x0 lsl r2, r2, #0x2 str r0, [r5, #0x14] - blx sub_020DF4A4 + blx FUN_020DF4A4 add r1, r4, #0x0 add r1, #0x23 ldrb r1, [r1, #0x0] @@ -32262,7 +32262,7 @@ sub_020111AC: ; 0x020111AC ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r1, r4, #0x0 - bl sub_0201127C + bl FUN_0201127C b _0201120A _020111F2: str r1, [sp, #0x0] @@ -32275,7 +32275,7 @@ _020111F2: ldr r2, [r5, #0x4] ldr r3, [r5, #0x8] add r1, r4, #0x0 - bl sub_0201137C + bl FUN_0201137C _0201120A: ldr r0, [r5, #0xc] add r0, r0, #0x1 @@ -32283,8 +32283,8 @@ _0201120A: add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02011214 -sub_02011214: ; 0x02011214 + thumb_func_start FUN_02011214 +FUN_02011214: ; 0x02011214 push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0xc] @@ -32303,24 +32303,24 @@ _0201122C: cmp r1, #0x0 bne _0201123C add r1, r5, #0x0 - bl sub_02011308 + bl FUN_02011308 b _02011242 _0201123C: add r1, r5, #0x0 - bl sub_020113EC + bl FUN_020113EC _02011242: cmp r0, #0x1 bne _02011272 ldr r0, [r5, #0x28] ldr r1, [r5, #0x18] ldr r2, [r5, #0x10] - bl sub_0200F62C + bl FUN_0200F62C ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] b _02011272 _02011258: - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 str r0, [r5, #0x14] ldr r0, [r5, #0xc] @@ -32332,15 +32332,15 @@ _0201126A: mov r4, #0x1 b _02011272 _0201126E: - bl sub_02020C2C + bl FUN_02020C2C _02011272: add r0, r4, #0x0 pop {r3-r5, pc} nop _02011278: .word 0x00000386 - thumb_func_start sub_0201127C -sub_0201127C: ; 0x0201127C + thumb_func_start FUN_0201127C +FUN_0201127C: ; 0x0201127C push {r3-r7, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -32351,7 +32351,7 @@ sub_0201127C: ; 0x0201127C add r7, r3, #0x0 asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r2, r0, #0x0 mov r0, #0x2 mov r3, #0x0 @@ -32380,7 +32380,7 @@ sub_0201127C: ; 0x0201127C ldr r0, [sp, #0x24] str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_0200FE20 + bl FUN_0200FE20 add r0, r4, #0x0 add r0, #0x20 ldrb r0, [r0, #0x0] @@ -32391,7 +32391,7 @@ sub_0201127C: ; 0x0201127C ldr r0, [sp, #0x24] ldr r2, [sp, #0x20] mov r1, #0x1 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _020112F8 _020112EA: add r4, #0x23 @@ -32399,7 +32399,7 @@ _020112EA: ldr r0, [sp, #0x24] ldr r2, [sp, #0x20] mov r1, #0x2 - bl sub_0200F6E4 + bl FUN_0200F6E4 _020112F8: ldr r0, _02011304 ; =0x00000385 mov r1, #0x0 @@ -32409,8 +32409,8 @@ _020112F8: nop _02011304: .word 0x00000385 - thumb_func_start sub_02011308 -sub_02011308: ; 0x02011308 + thumb_func_start FUN_02011308 +FUN_02011308: ; 0x02011308 push {r4-r6, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -32426,7 +32426,7 @@ sub_02011308: ; 0x02011308 beq _02011370 b _02011372 _02011324: - bl sub_0200FE90 + bl FUN_0200FE90 cmp r0, #0x1 bne _02011372 ldr r2, _02011378 ; =0x00000385 @@ -32449,11 +32449,11 @@ _02011324: ldr r3, [r4, #0x8] add r0, #0x4c add r1, #0x24 - bl sub_02010FD0 + bl FUN_02010FD0 b _02011372 _0201135A: add r0, #0x4c - bl sub_020110BC + bl FUN_020110BC cmp r0, #0x1 bne _02011372 ldr r0, _02011378 ; =0x00000385 @@ -32471,8 +32471,8 @@ _02011372: .balign 4 _02011378: .word 0x00000385 - thumb_func_start sub_0201137C -sub_0201137C: ; 0x0201137C + thumb_func_start FUN_0201137C +FUN_0201137C: ; 0x0201137C push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -32483,7 +32483,7 @@ sub_0201137C: ; 0x0201137C add r7, r3, #0x0 asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r2, r0, #0x0 mov r0, #0x2 mov r3, #0x0 @@ -32519,7 +32519,7 @@ sub_0201137C: ; 0x0201137C add r0, r5, #0x0 add r0, #0x4c add r1, #0x24 - bl sub_02010FD0 + bl FUN_02010FD0 ldr r0, _020113E8 ; =0x00000385 mov r1, #0x0 strb r1, [r5, r0] @@ -32528,8 +32528,8 @@ sub_0201137C: ; 0x0201137C .balign 4 _020113E8: .word 0x00000385 - thumb_func_start sub_020113EC -sub_020113EC: ; 0x020113EC + thumb_func_start FUN_020113EC +FUN_020113EC: ; 0x020113EC push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -32546,7 +32546,7 @@ sub_020113EC: ; 0x020113EC b _02011476 _02011408: add r0, #0x4c - bl sub_020110BC + bl FUN_020110BC cmp r0, #0x1 bne _02011476 ldr r2, _0201147C ; =0x00000385 @@ -32563,7 +32563,7 @@ _02011408: ldr r1, [r5, r1] ldr r3, [r4, #0x8] add r0, r5, #0x0 - bl sub_0200FE20 + bl FUN_0200FE20 mov r0, #0xe lsl r0, r0, #0x6 ldr r3, [r5, r0] @@ -32577,17 +32577,17 @@ _02011408: ldrb r3, [r3, #0x0] ldr r2, [r4, #0x10] mov r1, #0x1 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02011476 _02011452: add r3, #0x23 ldrb r3, [r3, #0x0] ldr r2, [r4, #0x10] mov r1, #0x2 - bl sub_0200F6E4 + bl FUN_0200F6E4 b _02011476 _02011460: - bl sub_0200FE90 + bl FUN_0200FE90 cmp r0, #0x1 bne _02011476 ldr r0, _0201147C ; =0x00000385 @@ -32605,8 +32605,8 @@ _02011476: .balign 4 _0201147C: .word 0x00000385 - thumb_func_start sub_02011480 -sub_02011480: ; 0x02011480 + thumb_func_start FUN_02011480 +FUN_02011480: ; 0x02011480 cmp r1, #0x0 ldr r1, _020114A4 ; =0xFFFF1FFF bne _02011496 @@ -32630,8 +32630,8 @@ _02011496: _020114A4: .word 0xFFFF1FFF _020114A8: .word 0x04001000 - thumb_func_start sub_020114AC -sub_020114AC: ; 0x020114AC + thumb_func_start FUN_020114AC +FUN_020114AC: ; 0x020114AC push {r3-r4} cmp r2, #0x0 bne _020114EE @@ -32706,8 +32706,8 @@ _02011528: .word 0x04000048 _0201152C: .word 0x04001048 _02011530: .word 0xFFFFC0FF - thumb_func_start sub_02011534 -sub_02011534: ; 0x02011534 + thumb_func_start FUN_02011534 +FUN_02011534: ; 0x02011534 cmp r2, #0x0 bne _02011552 ldr r2, _0201156C ; =0x0400004A @@ -32743,8 +32743,8 @@ _02011566: _0201156C: .word 0x0400004A _02011570: .word 0x0400104A - thumb_func_start sub_02011574 -sub_02011574: ; 0x02011574 + thumb_func_start FUN_02011574 +FUN_02011574: ; 0x02011574 push {r4-r5} add r4, r2, #0x0 add r2, r3, #0x0 @@ -32842,23 +32842,23 @@ _02011628: .word 0x04001040 _0201162C: .word 0x04000042 _02011630: .word 0x04001042 - thumb_func_start sub_02011634 -sub_02011634: ; 0x02011634 + thumb_func_start FUN_02011634 +FUN_02011634: ; 0x02011634 push {r4, lr} lsl r3, r2, #0x3 add r4, r0, r3 str r1, [r0, r3] str r2, [r4, #0x4] - ldr r0, _0201164C ; =sub_020116CC + ldr r0, _0201164C ; =FUN_020116CC add r1, r4, #0x0 mov r2, #0x1 - bl sub_0200CA98 + bl FUN_0200CA98 pop {r4, pc} nop -_0201164C: .word sub_020116CC + 1 +_0201164C: .word FUN_020116CC + 1 - thumb_func_start sub_02011650 -sub_02011650: ; 0x02011650 + thumb_func_start FUN_02011650 +FUN_02011650: ; 0x02011650 push {r4-r6, lr} ldr r5, [sp, #0x10] add r0, #0x10 @@ -32869,17 +32869,17 @@ sub_02011650: ; 0x02011650 str r1, [r6, r0] str r2, [r4, #0x4] str r3, [r4, #0x8] - ldr r0, _02011674 ; =sub_020116E0 + ldr r0, _02011674 ; =FUN_020116E0 add r1, r4, #0x0 mov r2, #0x1 str r5, [r4, #0xc] - bl sub_0200CA98 + bl FUN_0200CA98 pop {r4-r6, pc} nop -_02011674: .word sub_020116E0 + 1 +_02011674: .word FUN_020116E0 + 1 - thumb_func_start sub_02011678 -sub_02011678: ; 0x02011678 + thumb_func_start FUN_02011678 +FUN_02011678: ; 0x02011678 push {r3-r5, lr} mov r4, #0xc add r0, #0x68 @@ -32887,17 +32887,17 @@ sub_02011678: ; 0x02011678 add r5, r0, r4 str r1, [r0, r4] str r2, [r5, #0x4] - ldr r0, _02011694 ; =sub_020116FC + ldr r0, _02011694 ; =FUN_020116FC add r1, r5, #0x0 mov r2, #0x1 str r3, [r5, #0x8] - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r5, pc} .balign 4 -_02011694: .word sub_020116FC + 1 +_02011694: .word FUN_020116FC + 1 - thumb_func_start sub_02011698 -sub_02011698: ; 0x02011698 + thumb_func_start FUN_02011698 +FUN_02011698: ; 0x02011698 push {r3-r7, lr} ldr r5, [sp, #0x20] add r7, r1, #0x0 @@ -32915,27 +32915,27 @@ sub_02011698: ; 0x02011698 ldr r2, [sp, #0x18] strh r2, [r1, #0x6] str r0, [r1, #0x8] - ldr r0, _020116C8 ; =sub_02011714 + ldr r0, _020116C8 ; =FUN_02011714 mov r2, #0x1 str r5, [r1, #0xc] - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r7, pc} nop -_020116C8: .word sub_02011714 + 1 +_020116C8: .word FUN_02011714 + 1 - thumb_func_start sub_020116CC -sub_020116CC: ; 0x020116CC + thumb_func_start FUN_020116CC +FUN_020116CC: ; 0x020116CC push {r4, lr} add r4, r0, #0x0 ldmia r1!, {r0-r1} - bl sub_02011480 + bl FUN_02011480 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} .balign 4 - thumb_func_start sub_020116E0 -sub_020116E0: ; 0x020116E0 + thumb_func_start FUN_020116E0 +FUN_020116E0: ; 0x020116E0 push {r4, lr} add r3, r1, #0x0 add r4, r0, #0x0 @@ -32943,27 +32943,27 @@ sub_020116E0: ; 0x020116E0 ldr r1, [r3, #0x4] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_020114AC + bl FUN_020114AC add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} .balign 4 - thumb_func_start sub_020116FC -sub_020116FC: ; 0x020116FC + thumb_func_start FUN_020116FC +FUN_020116FC: ; 0x020116FC push {r4, lr} add r2, r1, #0x0 add r4, r0, #0x0 ldr r0, [r2, #0x0] ldr r1, [r2, #0x4] ldr r2, [r2, #0x8] - bl sub_02011534 + bl FUN_02011534 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} - thumb_func_start sub_02011714 -sub_02011714: ; 0x02011714 + thumb_func_start FUN_02011714 +FUN_02011714: ; 0x02011714 push {r3-r5, lr} sub sp, #0x8 add r3, r1, #0x0 @@ -32980,26 +32980,26 @@ sub_02011714: ; 0x02011714 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldrsh r3, [r3, r5] - bl sub_02011574 + bl FUN_02011574 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02011744 -sub_02011744: ; 0x02011744 + thumb_func_start FUN_02011744 +FUN_02011744: ; 0x02011744 push {r4-r7, lr} sub sp, #0xc add r7, r1, #0x0 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x68 - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x8] cmp r0, #0x0 bne _0201175E - bl sub_02020C2C + bl FUN_02020C2C _0201175E: ldr r4, [sp, #0x8] ldr r5, [sp, #0x8] @@ -33011,11 +33011,11 @@ _02011766: mov r2, #0x0 add r3, r4, #0x0 str r7, [sp, #0x0] - bl sub_02006C30 + bl FUN_02006C30 str r0, [r5, #0x0] cmp r0, #0x0 bne _0201177E - bl sub_02020C2C + bl FUN_02020C2C _0201177E: add r6, r6, #0x1 add r4, r4, #0x4 @@ -33028,12 +33028,12 @@ _0201177E: mul r4, r1 add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 ldr r1, [sp, #0x8] cmp r0, #0x0 str r0, [r1, #0x60] bne _020117A4 - bl sub_02020C2C + bl FUN_02020C2C _020117A4: ldr r1, [sp, #0x4] ldr r0, [sp, #0x8] @@ -33041,48 +33041,48 @@ _020117A4: str r1, [r0, #0x64] ldr r0, [r0, #0x60] mov r1, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [sp, #0x8] add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020117BC -sub_020117BC: ; 0x020117BC + thumb_func_start FUN_020117BC +FUN_020117BC: ; 0x020117BC push {r4-r6, lr} add r6, r0, #0x0 bne _020117C6 - bl sub_02020C2C + bl FUN_02020C2C _020117C6: mov r4, #0x0 add r5, r6, #0x0 _020117CA: ldr r0, [r5, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0xc blt _020117CA ldr r0, [r6, #0x60] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020117E8 -sub_020117E8: ; 0x020117E8 + thumb_func_start FUN_020117E8 +FUN_020117E8: ; 0x020117E8 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 bne _020117F4 - bl sub_02020C2C + bl FUN_02020C2C _020117F4: ldr r0, [r5, #0x0] - bl sub_02011BA0 + bl FUN_02011BA0 add r4, r0, #0x0 bne _02011802 - bl sub_02020C2C + bl FUN_02020C2C _02011802: ldr r0, [r5, #0x10] add r3, sp, #0x8 @@ -33097,17 +33097,17 @@ _02011802: ldr r2, [r5, #0x2c] ldrb r0, [r1, #0x7] ldrb r1, [r1, #0x8] - bl sub_02011CA4 + bl FUN_02011CA4 add r6, r0, #0x0 mov r1, #0x24 ldr r0, [r5, #0x2c] mul r1, r6 - bl sub_020169D8 + bl FUN_020169D8 add r7, r0, #0x0 mov r1, #0xc ldr r0, [r5, #0x2c] mul r1, r6 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] str r6, [r4, #0x4] ldr r0, [r5, #0x28] @@ -33118,43 +33118,43 @@ _02011802: str r0, [sp, #0x4] ldr r0, [r5, #0x4] ldr r3, [r5, #0x14] - bl sub_02011D2C + bl FUN_02011D2C add r0, r5, #0x0 add r1, sp, #0x8 add r2, r7, #0x0 add r3, r4, #0x0 - bl sub_02011EAC + bl FUN_02011EAC add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, sp, #0x8 - bl sub_02011FDC + bl FUN_02011FDC add r0, r4, #0x0 add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02011870 -sub_02011870: ; 0x02011870 + thumb_func_start FUN_02011870 +FUN_02011870: ; 0x02011870 push {r4, lr} add r4, r0, #0x0 bne _0201187A - bl sub_02020C2C + bl FUN_02020C2C _0201187A: ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02011884 - bl sub_02020C2C + bl FUN_02020C2C _02011884: add r0, r4, #0x0 - bl sub_02011F00 + bl FUN_02011F00 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02011B90 + bl FUN_02011B90 pop {r4, pc} - thumb_func_start sub_02011898 -sub_02011898: ; 0x02011898 + thumb_func_start FUN_02011898 +FUN_02011898: ; 0x02011898 push {r4-r5, lr} sub sp, #0x14 add r3, sp, #0x0 @@ -33164,19 +33164,19 @@ sub_02011898: ; 0x02011898 add r4, r1, #0x0 ldrb r0, [r5, #0x7] ldrb r1, [r5, #0x8] - bl sub_02011CA4 + bl FUN_02011CA4 add r0, sp, #0x0 add r1, r4, #0x0 - bl sub_02011E58 + bl FUN_02011E58 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_02011FDC + bl FUN_02011FDC add r0, r4, #0x0 add sp, #0x14 pop {r4-r5, pc} - thumb_func_start sub_020118C4 -sub_020118C4: ; 0x020118C4 + thumb_func_start FUN_020118C4 +FUN_020118C4: ; 0x020118C4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -33184,7 +33184,7 @@ sub_020118C4: ; 0x020118C4 str r1, [sp, #0x0] cmp r5, #0x0 bne _020118D6 - bl sub_02020C2C + bl FUN_02020C2C _020118D6: ldr r0, [sp, #0x0] str r0, [r5, #0xc] @@ -33195,7 +33195,7 @@ _020118D6: lsl r7, r7, #0xc cmp r0, #0x0 beq _020118F8 - bl sub_0202011C + bl FUN_0202011C ldr r2, [r0, #0x0] ldr r1, [sp, #0x0] ldr r0, [r0, #0x4] @@ -33226,7 +33226,7 @@ _02011904: str r0, [sp, #0x8] ldr r0, [r5, #0x0] ldr r0, [r0, r4] - bl sub_02020044 + bl FUN_02020044 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33237,13 +33237,13 @@ _02011932: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011938 -sub_02011938: ; 0x02011938 + thumb_func_start FUN_02011938 +FUN_02011938: ; 0x02011938 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 bne _02011944 - bl sub_02020C2C + bl FUN_02020C2C _02011944: ldr r0, [r5, #0x8] cmp r0, #0x0 @@ -33253,7 +33253,7 @@ _02011944: str r1, [sp, #0x0] ldr r1, [r5, #0x10] lsl r7, r1, #0xc - bl sub_0202011C + bl FUN_0202011C ldr r2, [r0, #0x0] ldr r0, [r0, #0x4] mov r6, #0x0 @@ -33283,7 +33283,7 @@ _02011970: str r0, [sp, #0x8] ldr r0, [r5, #0x0] ldr r0, [r0, r4] - bl sub_02020044 + bl FUN_02020044 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33294,23 +33294,23 @@ _0201199E: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020119A4 -sub_020119A4: ; 0x020119A4 + thumb_func_start FUN_020119A4 +FUN_020119A4: ; 0x020119A4 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 cmp r5, #0x0 bne _020119B4 - bl sub_02020C2C + bl FUN_02020C2C _020119B4: cmp r4, #0x0 bne _020119BC - bl sub_02020C2C + bl FUN_02020C2C _020119BC: cmp r6, #0x0 bne _020119C4 - bl sub_02020C2C + bl FUN_02020C2C _020119C4: ldr r0, [r5, #0xc] str r0, [r4, #0x0] @@ -33319,14 +33319,14 @@ _020119C4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020119D0 -sub_020119D0: ; 0x020119D0 + thumb_func_start FUN_020119D0 +FUN_020119D0: ; 0x020119D0 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _020119DE - bl sub_02020C2C + bl FUN_02020C2C _020119DE: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33337,7 +33337,7 @@ _020119E8: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33347,14 +33347,14 @@ _020119FC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011A00 -sub_02011A00: ; 0x02011A00 + thumb_func_start FUN_02011A00 +FUN_02011A00: ; 0x02011A00 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011A0E - bl sub_02020C2C + bl FUN_02020C2C _02011A0E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33365,7 +33365,7 @@ _02011A18: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02020238 + bl FUN_02020238 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33375,14 +33375,14 @@ _02011A2C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011A30 -sub_02011A30: ; 0x02011A30 + thumb_func_start FUN_02011A30 +FUN_02011A30: ; 0x02011A30 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011A3E - bl sub_02020C2C + bl FUN_02020C2C _02011A3E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33393,7 +33393,7 @@ _02011A48: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02020310 + bl FUN_02020310 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33403,14 +33403,14 @@ _02011A5C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011A60 -sub_02011A60: ; 0x02011A60 + thumb_func_start FUN_02011A60 +FUN_02011A60: ; 0x02011A60 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011A6E - bl sub_02020C2C + bl FUN_02020C2C _02011A6E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33421,7 +33421,7 @@ _02011A78: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02020248 + bl FUN_02020248 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33431,14 +33431,14 @@ _02011A8C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011A90 -sub_02011A90: ; 0x02011A90 + thumb_func_start FUN_02011A90 +FUN_02011A90: ; 0x02011A90 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011A9E - bl sub_02020C2C + bl FUN_02020C2C _02011A9E: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33449,7 +33449,7 @@ _02011AA8: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_020202A8 + bl FUN_020202A8 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33459,14 +33459,14 @@ _02011ABC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011AC0 -sub_02011AC0: ; 0x02011AC0 + thumb_func_start FUN_02011AC0 +FUN_02011AC0: ; 0x02011AC0 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011ACE - bl sub_02020C2C + bl FUN_02020C2C _02011ACE: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33477,7 +33477,7 @@ _02011AD8: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_020202DC + bl FUN_020202DC ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33487,14 +33487,14 @@ _02011AEC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011AF0 -sub_02011AF0: ; 0x02011AF0 + thumb_func_start FUN_02011AF0 +FUN_02011AF0: ; 0x02011AF0 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 cmp r5, #0x0 bne _02011AFE - bl sub_02020C2C + bl FUN_02020C2C _02011AFE: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -33505,7 +33505,7 @@ _02011B08: ldr r0, [r5, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02020398 + bl FUN_02020398 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -33515,8 +33515,8 @@ _02011B1C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02011B20 -sub_02011B20: ; 0x02011B20 + thumb_func_start FUN_02011B20 +FUN_02011B20: ; 0x02011B20 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 @@ -33532,7 +33532,7 @@ sub_02011B20: ; 0x02011B20 str r3, [sp, #0x4] cmp r1, r0 bge _02011B42 - bl sub_02020C2C + bl FUN_02020C2C _02011B42: ldrb r2, [r6, #0x8] ldr r1, [sp, #0x0] @@ -33540,7 +33540,7 @@ _02011B42: add r0, r1, r0 cmp r2, r0 bge _02011B52 - bl sub_02020C2C + bl FUN_02020C2C _02011B52: ldr r0, [sp, #0x0] mov r4, #0x0 @@ -33564,7 +33564,7 @@ _02011B60: ldr r1, [r6, #0xc] add r1, r1, r2 ldr r2, [sp, #0x8] - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x0] add r4, r4, #0x1 add r5, r5, r7 @@ -33575,8 +33575,8 @@ _02011B8A: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02011B90 -sub_02011B90: ; 0x02011B90 + thumb_func_start FUN_02011B90 +FUN_02011B90: ; 0x02011B90 mov r2, #0x14 mov r1, #0x0 _02011B94: @@ -33587,8 +33587,8 @@ _02011B94: bx lr .balign 4 - thumb_func_start sub_02011BA0 -sub_02011BA0: ; 0x02011BA0 + thumb_func_start FUN_02011BA0 +FUN_02011BA0: ; 0x02011BA0 ldr r1, [r0, #0x64] mov r2, #0x0 cmp r1, #0x0 @@ -33613,8 +33613,8 @@ _02011BC4: mov r0, #0x0 bx lr - thumb_func_start sub_02011BC8 -sub_02011BC8: ; 0x02011BC8 + thumb_func_start FUN_02011BC8 +FUN_02011BC8: ; 0x02011BC8 push {r3-r4} ldr r4, _02011BF0 ; =0x020ED398 mov r3, #0x0 @@ -33639,19 +33639,19 @@ _02011BE0: nop _02011BF0: .word 0x020ED398 - thumb_func_start sub_02011BF4 -sub_02011BF4: ; 0x02011BF4 + thumb_func_start FUN_02011BF4 +FUN_02011BF4: ; 0x02011BF4 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r0, r2, #0x0 - bl sub_02011FAC + bl FUN_02011FAC ldr r1, [r6, #0x10] add r4, r0, #0x0 - bl sub_02011FF4 + bl FUN_02011FF4 ldr r0, [r5, #0x8] ldr r1, [r5, #0xc] - bl sub_02011BC8 + bl FUN_02011BC8 str r0, [r4, #0x8] ldr r0, [r5, #0x4] ldr r1, _02011C9C ; =0x020ED398 @@ -33684,7 +33684,7 @@ sub_02011BF4: ; 0x02011BF4 ldrb r0, [r0, #0x0] cmp r0, #0x1 bne _02011C54 - bl sub_02020C2C + bl FUN_02020C2C _02011C54: add r0, r5, #0x0 mov r1, #0x1 @@ -33729,8 +33729,8 @@ _02011C96: _02011C9C: .word 0x020ED398 _02011CA0: .word 0x020ED399 - thumb_func_start sub_02011CA4 -sub_02011CA4: ; 0x02011CA4 + thumb_func_start FUN_02011CA4 +FUN_02011CA4: ; 0x02011CA4 push {r3-r7, lr} sub sp, #0x38 add r7, r0, #0x0 @@ -33739,12 +33739,12 @@ sub_02011CA4: ; 0x02011CA4 add r6, r3, #0x0 cmp r7, #0x0 bne _02011CB8 - bl sub_02020C2C + bl FUN_02020C2C _02011CB8: ldr r0, [sp, #0x0] cmp r0, #0x0 bne _02011CC2 - bl sub_02020C2C + bl FUN_02020C2C _02011CC2: ldr r0, [sp, #0x0] mov r4, #0x0 @@ -33763,7 +33763,7 @@ _02011CC2: _02011CDE: ldr r0, [sp, #0xc] ldr r1, [sp, #0x0] - bl sub_02011BC8 + bl FUN_02011BC8 lsl r1, r0, #0x1 ldr r0, _02011D28 ; =0x020ED398 add r0, r0, r1 @@ -33780,7 +33780,7 @@ _02011CFC: add r1, r6, #0x0 add r2, r5, #0x0 add r4, r4, #0x1 - bl sub_02011BF4 + bl FUN_02011BF4 cmp r0, #0x0 beq _02011CFC add r3, sp, #0x28 @@ -33800,8 +33800,8 @@ _02011D20: nop _02011D28: .word 0x020ED398 - thumb_func_start sub_02011D2C -sub_02011D2C: ; 0x02011D2C + thumb_func_start FUN_02011D2C +FUN_02011D2C: ; 0x02011D2C push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x10] @@ -33827,7 +33827,7 @@ _02011D52: add r7, r1, #0x0 and r7, r0 add r0, r7, #0x0 - bl sub_0201DED0 + bl FUN_0201DED0 str r0, [sp, #0x18] ldr r0, [sp, #0x14] ldr r4, [r0, #0xc] @@ -33835,7 +33835,7 @@ _02011D52: beq _02011D92 _02011D68: add r0, r5, #0x0 - blx sub_020B1A24 + blx FUN_020B1A24 str r7, [sp, #0x0] ldr r0, [sp, #0x30] str r6, [sp, #0x4] @@ -33846,7 +33846,7 @@ _02011D68: ldr r0, [sp, #0x10] add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_02011DA0 + bl FUN_02011DA0 add r6, r0, #0x0 ldr r4, [r4, #0xc] ldr r0, [sp, #0x14] @@ -33860,8 +33860,8 @@ _02011D92: _02011D98: .word 0x04001000 _02011D9C: .word 0x00300010 - thumb_func_start sub_02011DA0 -sub_02011DA0: ; 0x02011DA0 + thumb_func_start FUN_02011DA0 +FUN_02011DA0: ; 0x02011DA0 push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 @@ -33885,7 +33885,7 @@ _02011DC6: lsl r4, r4, #0x5 ldr r0, [sp, #0x34] add r1, r4, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r7, r0, #0x0 ldr r0, [r6, #0x4] ldr r1, [sp, #0x10] @@ -33894,10 +33894,10 @@ _02011DC6: ldr r0, [sp, #0x8] ldr r2, [sp, #0xc] ldr r3, [r6, #0x0] - bl sub_02011B20 + bl FUN_02011B20 add r0, r7, #0x0 add r1, r4, #0x0 - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [sp, #0x30] cmp r0, #0x1 bne _02011E08 @@ -33905,7 +33905,7 @@ _02011DC6: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - blx sub_020C92F4 + blx FUN_020C92F4 mov r0, #0x1 str r6, [r5, #0x4] lsl r0, r0, #0x1a @@ -33916,7 +33916,7 @@ _02011E08: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - blx sub_020C9294 + blx FUN_020C9294 ldr r0, _02011E4C ; =0x04001000 str r6, [r5, #0x8] ldr r1, [r0, #0x0] @@ -33936,7 +33936,7 @@ _02011E1A: ldr r0, [sp, #0x28] str r0, [r5, #0x20] add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x2c] add r0, r0, r4 add sp, #0x14 @@ -33948,8 +33948,8 @@ _02011E4C: .word 0x04001000 _02011E50: .word 0x00300010 _02011E54: .word 0x0000FFFF - thumb_func_start sub_02011E58 -sub_02011E58: ; 0x02011E58 + thumb_func_start FUN_02011E58 +FUN_02011E58: ; 0x02011E58 push {r3-r7, lr} add r4, r0, #0x0 cmp r1, #0x1 @@ -33964,7 +33964,7 @@ _02011E68: _02011E6C: ldr r0, _02011EA4 ; =0x00300010 and r0, r1 - bl sub_0201DED0 + bl FUN_0201DED0 ldr r2, [r4, #0xc] mov r3, #0x0 cmp r2, r4 @@ -33994,8 +33994,8 @@ _02011EA0: .word 0x04001000 _02011EA4: .word 0x00300010 _02011EA8: .word 0x020ED398 - thumb_func_start sub_02011EAC -sub_02011EAC: ; 0x02011EAC + thumb_func_start FUN_02011EAC +FUN_02011EAC: ; 0x02011EAC push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -34011,14 +34011,14 @@ _02011EC2: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_02011F24 + bl FUN_02011F24 ldr r1, [r6, #0x0] str r0, [r1, r5] ldr r0, [r6, #0x0] ldr r0, [r0, r5] cmp r0, #0x0 bne _02011EDC - bl sub_02020C2C + bl FUN_02020C2C _02011EDC: ldr r0, [r4, #0x0] add r7, #0x24 @@ -34040,8 +34040,8 @@ _02011EFC: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02011F00 -sub_02011F00: ; 0x02011F00 + thumb_func_start FUN_02011F00 +FUN_02011F00: ; 0x02011F00 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] @@ -34052,7 +34052,7 @@ sub_02011F00: ; 0x02011F00 _02011F0E: ldr r0, [r5, #0x0] ldr r0, [r0, r4] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0xc @@ -34062,8 +34062,8 @@ _02011F20: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02011F24 -sub_02011F24: ; 0x02011F24 + thumb_func_start FUN_02011F24 +FUN_02011F24: ; 0x02011F24 push {r4-r5, lr} sub sp, #0x44 add r5, r0, #0x0 @@ -34102,7 +34102,7 @@ sub_02011F24: ; 0x02011F24 ldr r0, [r5, #0x10] cmp r0, #0x0 beq _02011F80 - bl sub_0202011C + bl FUN_0202011C add r3, r0, #0x0 ldmia r3!, {r0-r1} add r2, sp, #0x2c @@ -34127,19 +34127,19 @@ _02011F80: add r0, r0, r1 str r0, [sp, #0x30] add r0, sp, #0x24 - bl sub_0201FF84 + bl FUN_0201FF84 add sp, #0x44 pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02011FAC -sub_02011FAC: ; 0x02011FAC + thumb_func_start FUN_02011FAC +FUN_02011FAC: ; 0x02011FAC push {r4, lr} mov r1, #0x14 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 bne _02011FBC - bl sub_02020C2C + bl FUN_02020C2C _02011FBC: mov r0, #0x0 str r0, [r4, #0xc] @@ -34148,20 +34148,20 @@ _02011FBC: pop {r4, pc} .balign 4 - thumb_func_start sub_02011FC8 -sub_02011FC8: ; 0x02011FC8 + thumb_func_start FUN_02011FC8 +FUN_02011FC8: ; 0x02011FC8 push {r4, lr} add r4, r0, #0x0 bne _02011FD2 - bl sub_02020C2C + bl FUN_02020C2C _02011FD2: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02011FDC -sub_02011FDC: ; 0x02011FDC + thumb_func_start FUN_02011FDC +FUN_02011FDC: ; 0x02011FDC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -34169,15 +34169,15 @@ sub_02011FDC: ; 0x02011FDC beq _02011FF2 _02011FE6: ldr r4, [r0, #0xc] - bl sub_02011FC8 + bl FUN_02011FC8 add r0, r4, #0x0 cmp r4, r5 bne _02011FE6 _02011FF2: pop {r3-r5, pc} - thumb_func_start sub_02011FF4 -sub_02011FF4: ; 0x02011FF4 + thumb_func_start FUN_02011FF4 +FUN_02011FF4: ; 0x02011FF4 ldr r2, [r1, #0xc] str r2, [r0, #0xc] str r1, [r0, #0x10] @@ -34187,8 +34187,8 @@ sub_02011FF4: ; 0x02011FF4 bx lr .balign 4 - thumb_func_start sub_02012004 -sub_02012004: ; 0x02012004 + thumb_func_start FUN_02012004 +FUN_02012004: ; 0x02012004 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -34207,7 +34207,7 @@ _02012018: ldr r1, [sp, #0x0] add r1, r1, r2 add r2, r6, #0x0 - blx sub_020DF438 + blx FUN_020DF438 ldr r1, [r5, #0x0] ldr r0, [sp, #0x24] add r7, r7, #0x1 @@ -34222,34 +34222,34 @@ _02012018: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02012044 -sub_02012044: ; 0x02012044 + thumb_func_start FUN_02012044 +FUN_02012044: ; 0x02012044 push {r4-r6, lr} add r5, r3, #0x0 - bl sub_0200650C + bl FUN_0200650C add r4, r0, #0x0 bne _02012054 - bl sub_02020C2C + bl FUN_02020C2C _02012054: add r0, r4, #0x0 add r1, r5, #0x0 - blx sub_020B0088 + blx FUN_020B0088 add r6, r0, #0x0 cmp r5, #0x0 bne _02012066 - bl sub_02020C2C + bl FUN_02020C2C _02012066: cmp r6, #0x0 bne _0201206E - bl sub_02020C2C + bl FUN_02020C2C _0201206E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02012078 -sub_02012078: ; 0x02012078 + thumb_func_start FUN_02012078 +FUN_02012078: ; 0x02012078 push {r4-r7, lr} sub sp, #0x2c ldr r4, [sp, #0x40] @@ -34260,7 +34260,7 @@ sub_02012078: ; 0x02012078 add r5, r3, #0x0 cmp r0, r6 bge _02012090 - bl sub_02020C2C + bl FUN_02020C2C _02012090: ldr r0, [sp, #0xc] ldrh r1, [r4, #0x0] @@ -34268,7 +34268,7 @@ _02012090: str r0, [sp, #0x14] cmp r1, r0 bge _020120A0 - bl sub_02020C2C + bl FUN_02020C2C _020120A0: ldr r0, [r4, #0x14] str r0, [sp, #0x20] @@ -34310,7 +34310,7 @@ _020120DC: add r2, sp, #0x28 add r3, sp, #0x24 str r7, [sp, #0x4] - bl sub_02012004 + bl FUN_02012004 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r6 @@ -34330,8 +34330,8 @@ _0201210A: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02012110 -sub_02012110: ; 0x02012110 + thumb_func_start FUN_02012110 +FUN_02012110: ; 0x02012110 push {r4-r5} sub sp, #0x8 ldr r2, _02012148 ; =0x020ED3B0 @@ -34367,20 +34367,20 @@ _02012140: _02012148: .word 0x020ED3B0 _0201214C: .word 0x000001EF - thumb_func_start sub_02012150 -sub_02012150: ; 0x02012150 + thumb_func_start FUN_02012150 +FUN_02012150: ; 0x02012150 push {r3-r4, lr} sub sp, #0xc add r4, r3, #0x0 mov r3, #0x0 str r3, [sp, #0x8] add r3, sp, #0x8 - bl sub_02012044 + bl FUN_02012044 ldr r0, [sp, #0x8] ldr r0, [r0, #0x14] - bl sub_02008A74 + bl FUN_02008A74 ldr r0, [sp, #0x34] - bl sub_02012110 + bl FUN_02012110 ldr r1, [sp, #0x30] cmp r1, #0x2 bne _02012184 @@ -34390,7 +34390,7 @@ sub_02012150: ; 0x02012150 ldr r1, [sp, #0x28] ldr r0, [r0, #0x14] ldr r2, [sp, #0x2c] - bl sub_02008904 + bl FUN_02008904 _02012184: ldr r0, [sp, #0x8] ldr r1, [sp, #0x18] @@ -34400,12 +34400,12 @@ _02012184: str r0, [sp, #0x4] ldr r3, [sp, #0x20] add r0, r4, #0x0 - bl sub_02012078 + bl FUN_02012078 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0201219C -sub_0201219C: ; 0x0201219C + thumb_func_start FUN_0201219C +FUN_0201219C: ; 0x0201219C push {r4-r7, lr} sub sp, #0x24 add r7, r1, #0x0 @@ -34417,7 +34417,7 @@ sub_0201219C: ; 0x0201219C add r0, r5, #0x0 lsl r1, r1, #0x5 str r3, [sp, #0x20] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0x38] ldr r3, [sp, #0x20] @@ -34438,13 +34438,13 @@ sub_0201219C: ; 0x0201219C ldr r0, [sp, #0x50] str r0, [sp, #0x1c] add r0, r6, #0x0 - bl sub_02012150 + bl FUN_02012150 add r0, r4, #0x0 add sp, #0x24 pop {r4-r7, pc} - thumb_func_start sub_020121E8 -sub_020121E8: ; 0x020121E8 + thumb_func_start FUN_020121E8 +FUN_020121E8: ; 0x020121E8 push {r3-r7, lr} sub sp, #0x30 str r3, [sp, #0x8] @@ -34452,18 +34452,18 @@ sub_020121E8: ; 0x020121E8 str r3, [sp, #0x48] mov r3, #0x0 str r3, [sp, #0x2c] - bl sub_0200650C + bl FUN_0200650C str r0, [sp, #0x20] cmp r0, #0x0 bne _02012204 - bl sub_02020C2C + bl FUN_02020C2C _02012204: ldr r0, [sp, #0x20] add r1, sp, #0x2c - blx sub_020B0088 + blx FUN_020B0088 cmp r0, #0x0 bne _02012214 - bl sub_02020C2C + bl FUN_02020C2C _02012214: ldr r1, [sp, #0x4c] ldr r0, [sp, #0x8] @@ -34472,7 +34472,7 @@ _02012214: ldrh r0, [r0, #0x2] cmp r0, r6 bge _02012226 - bl sub_02020C2C + bl FUN_02020C2C _02012226: ldr r1, [sp, #0x50] ldr r0, [sp, #0x48] @@ -34483,12 +34483,12 @@ _02012226: ldr r0, [sp, #0x10] cmp r1, r0 bge _0201223C - bl sub_02020C2C + bl FUN_02020C2C _0201223C: ldr r0, [sp, #0x2c] ldr r0, [r0, #0x14] str r0, [sp, #0x1c] - bl sub_02008A74 + bl FUN_02008A74 ldr r0, [sp, #0x54] str r0, [sp, #0x18] ldr r0, [sp, #0x2c] @@ -34528,7 +34528,7 @@ _02012280: add r2, sp, #0x28 add r3, sp, #0x24 str r7, [sp, #0x4] - bl sub_02012004 + bl FUN_02012004 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r6 @@ -34545,12 +34545,12 @@ _0201229C: blt _02012270 _020122AE: ldr r0, [sp, #0x20] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x30 pop {r3-r7, pc} - thumb_func_start sub_020122B8 -sub_020122B8: ; 0x020122B8 + thumb_func_start FUN_020122B8 +FUN_020122B8: ; 0x020122B8 push {r4-r7, lr} sub sp, #0x14 add r7, r1, #0x0 @@ -34562,7 +34562,7 @@ sub_020122B8: ; 0x020122B8 add r0, r5, #0x0 lsl r1, r1, #0x5 str r3, [sp, #0x10] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0x28] ldr r3, [sp, #0x10] @@ -34575,13 +34575,13 @@ sub_020122B8: ; 0x020122B8 str r0, [sp, #0x8] add r0, r6, #0x0 str r4, [sp, #0xc] - bl sub_020121E8 + bl FUN_020121E8 add r0, r4, #0x0 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_020122F4 -sub_020122F4: ; 0x020122F4 + thumb_func_start FUN_020122F4 +FUN_020122F4: ; 0x020122F4 push {r3-r7, lr} sub sp, #0x20 str r0, [sp, #0x0] @@ -34626,7 +34626,7 @@ _0201233C: add r0, r0, r1 ldr r1, [sp, #0x18] add r1, r1, r4 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [r5, #0x0] add r6, r6, #0x1 add r0, #0x20 @@ -34648,8 +34648,8 @@ _0201236C: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_02012370 -sub_02012370: ; 0x02012370 + thumb_func_start FUN_02012370 +FUN_02012370: ; 0x02012370 push {r3-r4, lr} sub sp, #0x14 add r4, r2, #0x0 @@ -34664,12 +34664,12 @@ sub_02012370: ; 0x02012370 str r2, [sp, #0x10] ldr r2, [r4, #0x0] ldr r3, [r4, #0x4] - bl sub_020122F4 + bl FUN_020122F4 add sp, #0x14 pop {r3-r4, pc} - thumb_func_start sub_02012394 -sub_02012394: ; 0x02012394 + thumb_func_start FUN_02012394 +FUN_02012394: ; 0x02012394 push {r4-r7, lr} sub sp, #0x7c str r0, [sp, #0xc] @@ -34698,7 +34698,7 @@ _020123AE: add r2, r5, #0x0 mov r3, r12 str r7, [sp, #0x8] - bl sub_020122B8 + bl FUN_020122B8 str r0, [sp, #0x14] mov r4, #0x0 add r5, sp, #0x1c @@ -34711,20 +34711,20 @@ _020123D4: str r0, [sp, #0x4] add r0, r6, #0x0 add r3, sp, #0x18 - bl sub_02012370 + bl FUN_02012370 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0x6 blt _020123D4 ldr r0, [sp, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x7c pop {r4-r7, pc} nop _020123FC: .word 0x020ED3D8 - thumb_func_start sub_02012400 -sub_02012400: ; 0x02012400 + thumb_func_start FUN_02012400 +FUN_02012400: ; 0x02012400 push {r4, lr} sub sp, #0x10 ldr r4, [r3, #0x4] @@ -34736,13 +34736,13 @@ sub_02012400: ; 0x02012400 ldr r4, [sp, #0x18] str r4, [sp, #0xc] ldr r3, [r3, #0x0] - bl sub_02012394 + bl FUN_02012394 add sp, #0x10 pop {r4, pc} .balign 4 - thumb_func_start sub_02012420 -sub_02012420: ; 0x02012420 + thumb_func_start FUN_02012420 +FUN_02012420: ; 0x02012420 push {r4-r7, lr} sub sp, #0x14 ldr r4, _02012448 ; =0x020ED3B8 @@ -34759,14 +34759,14 @@ sub_02012420: ; 0x02012420 mov r1, r12 add r3, r6, #0x0 str r5, [sp, #0x0] - bl sub_02012400 + bl FUN_02012400 add sp, #0x14 pop {r4-r7, pc} .balign 4 _02012448: .word 0x020ED3B8 - thumb_func_start sub_0201244C -sub_0201244C: ; 0x0201244C + thumb_func_start FUN_0201244C +FUN_0201244C: ; 0x0201244C push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x32 @@ -34774,50 +34774,50 @@ sub_0201244C: ; 0x0201244C add r5, r0, #0x0 add r0, r7, #0x0 lsl r1, r1, #0x6 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 add r3, r4, #0x0 - bl sub_02012420 + bl FUN_02012420 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02012470 -sub_02012470: ; 0x02012470 + thumb_func_start FUN_02012470 +FUN_02012470: ; 0x02012470 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x20 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x0 add r5, r0, #0x0 - blx sub_020B0138 + blx FUN_020B0138 cmp r0, #0x1 beq _0201249C - bl sub_02020C2C + bl FUN_02020C2C _0201249C: ldr r0, [sp, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0xc] mov r2, #0x20 - blx sub_020CE1E0 + blx FUN_020CE1E0 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020124B4 -sub_020124B4: ; 0x020124B4 + thumb_func_start FUN_020124B4 +FUN_020124B4: ; 0x020124B4 push {r4-r7, lr} sub sp, #0x8c str r0, [sp, #0x1c] @@ -34854,7 +34854,7 @@ _020124CE: ldr r0, [sp, #0xbc] str r0, [sp, #0x18] ldr r0, [sp, #0x1c] - bl sub_0201219C + bl FUN_0201219C str r0, [sp, #0x24] mov r4, #0x0 add r5, sp, #0x2c @@ -34867,20 +34867,20 @@ _02012504: str r0, [sp, #0x4] add r0, r6, #0x0 add r3, sp, #0x28 - bl sub_02012370 + bl FUN_02012370 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0x6 blt _02012504 ldr r0, [sp, #0x24] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8c pop {r4-r7, pc} nop _0201252C: .word 0x020ED438 - thumb_func_start sub_02012530 -sub_02012530: ; 0x02012530 + thumb_func_start FUN_02012530 +FUN_02012530: ; 0x02012530 push {r4, lr} sub sp, #0x20 ldr r4, [r3, #0x4] @@ -34900,13 +34900,13 @@ sub_02012530: ; 0x02012530 ldr r4, [sp, #0x38] str r4, [sp, #0x1c] ldr r3, [r3, #0x0] - bl sub_020124B4 + bl FUN_020124B4 add sp, #0x20 pop {r4, pc} .balign 4 - thumb_func_start sub_02012560 -sub_02012560: ; 0x02012560 + thumb_func_start FUN_02012560 +FUN_02012560: ; 0x02012560 push {r4-r7, lr} sub sp, #0x24 ldr r4, _02012598 ; =0x020ED3C8 @@ -34931,16 +34931,16 @@ sub_02012560: ; 0x02012560 ldr r0, [sp, #0x44] str r0, [sp, #0x10] add r0, r7, #0x0 - bl sub_02012530 + bl FUN_02012530 add sp, #0x24 pop {r4-r7, pc} .balign 4 _02012598: .word 0x020ED3C8 - thumb_func_start sub_0201259C -sub_0201259C: ; 0x0201259C + thumb_func_start FUN_0201259C +FUN_0201259C: ; 0x0201259C push {r3, lr} - blx sub_020D614C + blx FUN_020D614C ldr r3, _020125CC ; =0x021C4808 mov r0, #0x0 add r2, r3, #0x0 @@ -34959,14 +34959,14 @@ sub_0201259C: ; 0x0201259C str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r3, #0x0 - bl sub_02012634 + bl FUN_02012634 pop {r3, pc} .balign 4 _020125CC: .word 0x021C4808 _020125D0: .word 0x021C4808 - thumb_func_start sub_020125D4 -sub_020125D4: ; 0x020125D4 + thumb_func_start FUN_020125D4 +FUN_020125D4: ; 0x020125D4 push {r3, lr} ldr r0, _020125F4 ; =0x021C4808 ldr r1, [r0, #0x4] @@ -34980,21 +34980,21 @@ sub_020125D4: ; 0x020125D4 mov r1, #0x0 str r1, [r0, #0x8] ldr r0, _020125F8 ; =0x021C4808 - bl sub_02012634 + bl FUN_02012634 _020125F2: pop {r3, pc} .balign 4 _020125F4: .word 0x021C4808 _020125F8: .word 0x021C4808 - thumb_func_start sub_020125FC -sub_020125FC: ; 0x020125FC + thumb_func_start FUN_020125FC +FUN_020125FC: ; 0x020125FC push {r4, lr} add r4, r1, #0x0 str r0, [r4, #0xc] cmp r0, #0x0 beq _0201260A - bl sub_02020C2C + bl FUN_02020C2C _0201260A: add r3, r4, #0x0 mov r0, #0x1 @@ -35018,30 +35018,30 @@ _0201260A: str r0, [r4, #0x4] pop {r4, pc} - thumb_func_start sub_02012634 -sub_02012634: ; 0x02012634 + thumb_func_start FUN_02012634 +FUN_02012634: ; 0x02012634 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1 str r0, [r4, #0x4] add r0, r4, #0x0 add r1, r4, #0x0 - ldr r2, _02012658 ; =sub_020125FC + ldr r2, _02012658 ; =FUN_020125FC add r0, #0x2c add r1, #0x3c add r3, r4, #0x0 - blx sub_020D5F40 + blx FUN_020D5F40 str r0, [r4, #0xc] cmp r0, #0x0 beq _02012656 - bl sub_02020C2C + bl FUN_02020C2C _02012656: pop {r4, pc} .balign 4 -_02012658: .word sub_020125FC + 1 +_02012658: .word FUN_020125FC + 1 - thumb_func_start sub_0201265C -sub_0201265C: ; 0x0201265C + thumb_func_start FUN_0201265C +FUN_0201265C: ; 0x0201265C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02012684 ; =0x021C4808 @@ -35049,7 +35049,7 @@ sub_0201265C: ; 0x0201265C ldr r0, [r0, #0x0] cmp r0, #0x1 beq _0201266E - bl sub_02020C2C + bl FUN_02020C2C _0201266E: ldr r2, _02012688 ; =0x021C4818 ldmia r2!, {r0-r1} @@ -35067,15 +35067,15 @@ _02012684: .word 0x021C4808 _02012688: .word 0x021C4818 _0201268C: .word 0x021C4828 - thumb_func_start sub_02012690 -sub_02012690: ; 0x02012690 + thumb_func_start FUN_02012690 +FUN_02012690: ; 0x02012690 push {r4, lr} add r4, r0, #0x0 ldr r0, _020126AC ; =0x021C4808 ldr r0, [r0, #0x0] cmp r0, #0x1 beq _020126A0 - bl sub_02020C2C + bl FUN_02020C2C _020126A0: ldr r2, _020126B0 ; =0x021C4828 ldmia r2!, {r0-r1} @@ -35087,15 +35087,15 @@ _020126A0: _020126AC: .word 0x021C4808 _020126B0: .word 0x021C4828 - thumb_func_start sub_020126B4 -sub_020126B4: ; 0x020126B4 + thumb_func_start FUN_020126B4 +FUN_020126B4: ; 0x020126B4 push {r4, lr} add r4, r0, #0x0 ldr r0, _020126D0 ; =0x021C4808 ldr r0, [r0, #0x0] cmp r0, #0x1 beq _020126C4 - bl sub_02020C2C + bl FUN_02020C2C _020126C4: ldr r2, _020126D4 ; =0x021C4818 ldmia r2!, {r0-r1} @@ -35107,8 +35107,8 @@ _020126C4: _020126D0: .word 0x021C4808 _020126D4: .word 0x021C4818 - thumb_func_start sub_020126D8 -sub_020126D8: ; 0x020126D8 + thumb_func_start FUN_020126D8 +FUN_020126D8: ; 0x020126D8 push {r3-r4} ldr r4, _020126F8 ; =0x021C4828 mov r0, #0x3c @@ -35127,19 +35127,19 @@ sub_020126D8: ; 0x020126D8 nop _020126F8: .word 0x021C4828 - thumb_func_start sub_020126FC -sub_020126FC: ; 0x020126FC - ldr r3, _02012704 ; =sub_020D6578 + thumb_func_start FUN_020126FC +FUN_020126FC: ; 0x020126FC + ldr r3, _02012704 ; =FUN_020D6578 ldr r0, _02012708 ; =0x021C4818 ldr r1, _0201270C ; =0x021C4828 bx r3 .balign 4 -_02012704: .word sub_020D6578 +_02012704: .word FUN_020D6578 _02012708: .word 0x021C4818 _0201270C: .word 0x021C4828 - thumb_func_start sub_02012710 -sub_02012710: ; 0x02012710 + thumb_func_start FUN_02012710 +FUN_02012710: ; 0x02012710 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -35161,14 +35161,14 @@ sub_02012710: ; 0x02012710 bne _02012742 add r0, r6, #0x0 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x0 bne _02012750 _02012742: mov r1, #0x19 add r0, r6, #0x0 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x0 bne _02012752 _02012750: @@ -35185,19 +35185,19 @@ _02012752: str r0, [sp, #0x4] str r0, [sp, #0x8] add r0, r2, #0x0 - blx sub_020D660C + blx FUN_020D660C add r0, r5, #0x0 - blx sub_020D660C + blx FUN_020D660C add r0, r4, #0x0 add sp, #0x10 pop {r4-r6, pc} .balign 4 _02012778: .word 0x020ED4B2 - thumb_func_start sub_0201277C -sub_0201277C: ; 0x0201277C + thumb_func_start FUN_0201277C +FUN_0201277C: ; 0x0201277C push {r3, lr} - bl sub_02012794 + bl FUN_02012794 cmp r0, #0x3 beq _0201278A cmp r0, #0x4 @@ -35210,26 +35210,26 @@ _0201278E: pop {r3, pc} .balign 4 - thumb_func_start sub_02012794 -sub_02012794: ; 0x02012794 + thumb_func_start FUN_02012794 +FUN_02012794: ; 0x02012794 push {lr} sub sp, #0xc add r0, sp, #0x0 - bl sub_02012690 + bl FUN_02012690 ldr r0, [sp, #0x0] - bl sub_020127A8 + bl FUN_020127A8 add sp, #0xc pop {pc} - thumb_func_start sub_020127A8 -sub_020127A8: ; 0x020127A8 + thumb_func_start FUN_020127A8 +FUN_020127A8: ; 0x020127A8 push {r4, lr} add r4, r0, #0x0 bmi _020127B2 cmp r4, #0x18 blt _020127B6 _020127B2: - bl sub_02020C2C + bl FUN_02020C2C _020127B6: ldr r0, _020127BC ; =0x020ED4CC ldrb r0, [r0, r4] @@ -35237,8 +35237,8 @@ _020127B6: .balign 4 _020127BC: .word 0x020ED4CC - thumb_func_start sub_020127C0 -sub_020127C0: ; 0x020127C0 + thumb_func_start FUN_020127C0 +FUN_020127C0: ; 0x020127C0 push {r4-r7, lr} sub sp, #0x24 add r6, r3, #0x0 @@ -35261,7 +35261,7 @@ sub_020127C0: ; 0x020127C0 ldr r1, [sp, #0x4] str r0, [r2, #0x0] ldr r0, [sp, #0x0] - blx sub_020D6578 + blx FUN_020D6578 add r2, r1, #0x0 add r3, r0, #0x0 mov r1, #0x0 @@ -35270,7 +35270,7 @@ sub_020127C0: ; 0x020127C0 eor r0, r3 orr r0, r1 beq _02012804 - bl sub_02020C2C + bl FUN_02020C2C _02012804: sub r0, r4, r5 mov r12, r7 @@ -35297,15 +35297,15 @@ _0201282C: .word 0x020ED4A4 _02012830: .word 0x020ED498 _02012834: .word 0xBC19137F - thumb_func_start sub_02012838 -sub_02012838: ; 0x02012838 + thumb_func_start FUN_02012838 +FUN_02012838: ; 0x02012838 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r1, r5, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x3 - bl sub_02016998 + bl FUN_02016998 cmp r0, #0x0 beq _0201286E mov r2, #0x0 @@ -35330,46 +35330,46 @@ _02012862: _0201286E: pop {r3-r5, pc} - thumb_func_start sub_02012870 -sub_02012870: ; 0x02012870 + thumb_func_start FUN_02012870 +FUN_02012870: ; 0x02012870 push {r4, lr} add r4, r0, #0x0 - bl sub_0201291C + bl FUN_0201291C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02012880 -sub_02012880: ; 0x02012880 + thumb_func_start FUN_02012880 +FUN_02012880: ; 0x02012880 push {r3-r7, lr} add r6, r1, #0x0 add r1, sp, #0x0 add r7, r2, #0x0 add r5, r3, #0x0 - bl sub_020128E0 + bl FUN_020128E0 add r4, r0, #0x0 beq _0201289E add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r4, #0x0] str r5, [r4, #0x4] _0201289E: pop {r3-r7, pc} - thumb_func_start sub_020128A0 -sub_020128A0: ; 0x020128A0 + thumb_func_start FUN_020128A0 +FUN_020128A0: ; 0x020128A0 push {r3-r6, lr} sub sp, #0x4 add r6, r1, #0x0 add r1, sp, #0x0 add r5, r2, #0x0 - bl sub_020128E0 + bl FUN_020128E0 add r4, r0, #0x0 beq _020128BE ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_02021ACC + bl FUN_02021ACC str r0, [r4, #0x0] str r5, [r4, #0x4] _020128BE: @@ -35377,13 +35377,13 @@ _020128BE: pop {r3-r6, pc} .balign 4 - thumb_func_start sub_020128C4 -sub_020128C4: ; 0x020128C4 + thumb_func_start FUN_020128C4 +FUN_020128C4: ; 0x020128C4 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 add r1, sp, #0x0 - bl sub_020128E0 + bl FUN_020128E0 cmp r0, #0x0 beq _020128DC ldr r1, [r4, #0x0] @@ -35394,8 +35394,8 @@ _020128DC: add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_020128E0 -sub_020128E0: ; 0x020128E0 + thumb_func_start FUN_020128E0 +FUN_020128E0: ; 0x020128E0 push {r4, lr} ldr r3, [r0, #0x0] cmp r3, #0x0 @@ -35405,7 +35405,7 @@ sub_020128E0: ; 0x020128E0 _020128EC: cmp r3, r2 bne _020128F8 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4, pc} _020128F8: @@ -35431,8 +35431,8 @@ _02012912: pop {r4, pc} .balign 4 - thumb_func_start sub_0201291C -sub_0201291C: ; 0x0201291C + thumb_func_start FUN_0201291C +FUN_0201291C: ; 0x0201291C push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x0 @@ -35446,7 +35446,7 @@ _0201292E: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02012942 - bl sub_02021A20 + bl FUN_02021A20 str r4, [r5, #0x0] add r5, #0x8 ldr r0, [r5, #0x0] @@ -35455,13 +35455,13 @@ _0201292E: _02012942: pop {r4-r6, pc} - thumb_func_start sub_02012944 -sub_02012944: ; 0x02012944 + thumb_func_start FUN_02012944 +FUN_02012944: ; 0x02012944 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0xc add r4, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -35481,24 +35481,24 @@ sub_02012944: ; 0x02012944 str r4, [r0, #0x4] pop {r3-r5, pc} - thumb_func_start sub_02012974 -sub_02012974: ; 0x02012974 + thumb_func_start FUN_02012974 +FUN_02012974: ; 0x02012974 push {r4, lr} add r4, r0, #0x0 bne _0201297E - bl sub_02020C2C + bl FUN_02020C2C _0201297E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02012988 -sub_02012988: ; 0x02012988 + thumb_func_start FUN_02012988 +FUN_02012988: ; 0x02012988 push {r4, lr} add r4, r0, #0x0 bne _02012992 - bl sub_02020C2C + bl FUN_02020C2C _02012992: ldrb r0, [r4, #0x8] lsl r0, r0, #0x2 @@ -35506,12 +35506,12 @@ _02012992: pop {r4, pc} .balign 4 - thumb_func_start sub_0201299C -sub_0201299C: ; 0x0201299C + thumb_func_start FUN_0201299C +FUN_0201299C: ; 0x0201299C push {r4, lr} add r4, r0, #0x0 bne _020129A6 - bl sub_02020C2C + bl FUN_02020C2C _020129A6: ldrb r1, [r4, #0x8] mov r0, #0x1 @@ -35521,8 +35521,8 @@ _020129A6: pop {r4, pc} .balign 4 - thumb_func_start sub_020129B4 -sub_020129B4: ; 0x020129B4 + thumb_func_start FUN_020129B4 +FUN_020129B4: ; 0x020129B4 cmp r0, #0x0 beq _020129C6 ldrb r1, [r0, #0x9] @@ -35535,17 +35535,17 @@ sub_020129B4: ; 0x020129B4 _020129C6: bx lr - thumb_func_start sub_020129C8 -sub_020129C8: ; 0x020129C8 + thumb_func_start FUN_020129C8 +FUN_020129C8: ; 0x020129C8 push {r3, lr} mov r0, #0x0 - blx sub_020CD998 + blx FUN_020CD998 mov r0, #0x0 - blx sub_020CDA1C + blx FUN_020CDA1C pop {r3, pc} - thumb_func_start sub_020129D8 -sub_020129D8: ; 0x020129D8 + thumb_func_start FUN_020129D8 +FUN_020129D8: ; 0x020129D8 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 @@ -35556,32 +35556,32 @@ sub_020129D8: ; 0x020129D8 add r1, r6, #0x0 add r2, r5, #0x0 add r3, r4, #0x0 - blx sub_020CDE04 + blx FUN_020CDE04 pop {r4-r6, pc} _020129F2: mov r0, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 add r3, r4, #0x0 - blx sub_020CDD90 + blx FUN_020CDD90 pop {r4-r6, pc} - thumb_func_start sub_02012A00 -sub_02012A00: ; 0x02012A00 + thumb_func_start FUN_02012A00 +FUN_02012A00: ; 0x02012A00 push {r3-r5, lr} ldr r1, _02012A2C ; =0x0000079C add r5, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 ldr r2, _02012A2C ; =0x0000079C mov r1, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r2, #0x3 lsl r2, r2, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r4, r2 - bl sub_02012944 + bl FUN_02012944 mov r1, #0x6 lsl r1, r1, #0x8 str r0, [r4, r1] @@ -35590,8 +35590,8 @@ sub_02012A00: ; 0x02012A00 .balign 4 _02012A2C: .word 0x0000079C - thumb_func_start sub_02012A30 -sub_02012A30: ; 0x02012A30 + thumb_func_start FUN_02012A30 +FUN_02012A30: ; 0x02012A30 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -35599,13 +35599,13 @@ sub_02012A30: ; 0x02012A30 add r7, r3, #0x0 cmp r5, #0x0 bne _02012A42 - bl sub_02020C2C + bl FUN_02020C2C _02012A42: ldr r0, _02012AB0 ; =0x00000604 ldr r0, [r5, r0] cmp r0, #0x0 beq _02012A4E - bl sub_02020C2C + bl FUN_02020C2C _02012A4E: ldr r0, _02012AB4 ; =0x0000078C mov r2, #0x0 @@ -35632,11 +35632,11 @@ _02012A4E: mov r1, #0xc0 add r0, r5, r0 add r2, r7, #0x0 - bl sub_02012B88 - ldr r0, _02012ABC ; =sub_02012BE4 + bl FUN_02012B88 + ldr r0, _02012ABC ; =FUN_02012BE4 ldr r2, [sp, #0x28] add r1, r5, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 ldr r1, _02012AB0 ; =0x00000604 mov r2, #0x3 str r0, [r5, r1] @@ -35644,77 +35644,77 @@ _02012A4E: add r1, r5, #0x0 ldr r0, [r5, r0] lsl r2, r2, #0x8 - blx sub_020CE1FC + blx FUN_020CE1FC ldr r0, _02012AC0 ; =0x00000794 mov r2, #0x3 lsl r2, r2, #0x8 ldr r0, [r5, r0] add r1, r5, r2 - blx sub_020CE1FC + blx FUN_020CE1FC pop {r3-r7, pc} .balign 4 _02012AB0: .word 0x00000604 _02012AB4: .word 0x0000078C _02012AB8: .word 0x0000060C -_02012ABC: .word sub_02012BE4 + 1 +_02012ABC: .word FUN_02012BE4 + 1 _02012AC0: .word 0x00000794 - thumb_func_start sub_02012AC4 -sub_02012AC4: ; 0x02012AC4 + thumb_func_start FUN_02012AC4 +FUN_02012AC4: ; 0x02012AC4 push {r4, lr} add r4, r0, #0x0 bne _02012ACE - bl sub_02020C2C + bl FUN_02020C2C _02012ACE: ldr r0, _02012AF8 ; =0x00000604 ldr r0, [r4, r0] cmp r0, #0x0 beq _02012AF4 - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, _02012AF8 ; =0x00000604 mov r1, #0x0 str r1, [r4, r0] sub r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02012988 + bl FUN_02012988 ldr r1, _02012AFC ; =0x00000794 mov r2, #0x3 ldr r1, [r4, r1] lsl r2, r2, #0x8 - blx sub_020DF4A4 + blx FUN_020DF4A4 _02012AF4: pop {r4, pc} nop _02012AF8: .word 0x00000604 _02012AFC: .word 0x00000794 - thumb_func_start sub_02012B00 -sub_02012B00: ; 0x02012B00 + thumb_func_start FUN_02012B00 +FUN_02012B00: ; 0x02012B00 push {r4, lr} add r4, r0, #0x0 - bl sub_02012AC4 - bl sub_02012C90 + bl FUN_02012AC4 + bl FUN_02012C90 mov r0, #0x6 lsl r0, r0, #0x8 ldr r0, [r4, r0] - bl sub_02012974 + bl FUN_02012974 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02012B20 -sub_02012B20: ; 0x02012B20 + thumb_func_start FUN_02012B20 +FUN_02012B20: ; 0x02012B20 mov r1, #0x6 lsl r1, r1, #0x8 - ldr r3, _02012B2C ; =sub_02012988 + ldr r3, _02012B2C ; =FUN_02012988 ldr r0, [r0, r1] bx r3 nop -_02012B2C: .word sub_02012988 + 1 +_02012B2C: .word FUN_02012988 + 1 - thumb_func_start sub_02012B30 -sub_02012B30: ; 0x02012B30 + thumb_func_start FUN_02012B30 +FUN_02012B30: ; 0x02012B30 push {r4, lr} add r4, r0, #0x0 beq _02012B5E @@ -35724,25 +35724,25 @@ sub_02012B30: ; 0x02012B30 beq _02012B5E sub r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_020129B4 + bl FUN_020129B4 mov r0, #0x6 lsl r0, r0, #0x8 ldr r0, [r4, r0] - bl sub_02012988 + bl FUN_02012988 add r1, r0, #0x0 ldr r0, _02012B64 ; =0x00000794 mov r2, #0x3 ldr r0, [r4, r0] lsl r2, r2, #0x8 - blx sub_020CE1FC + blx FUN_020CE1FC _02012B5E: pop {r4, pc} .balign 4 _02012B60: .word 0x00000604 _02012B64: .word 0x00000794 - thumb_func_start sub_02012B68 -sub_02012B68: ; 0x02012B68 + thumb_func_start FUN_02012B68 +FUN_02012B68: ; 0x02012B68 push {r4, lr} add r4, r0, #0x0 beq _02012B80 @@ -35750,16 +35750,16 @@ sub_02012B68: ; 0x02012B68 ldr r0, [r4, r0] cmp r0, #0x0 beq _02012B80 - bl sub_02012C90 + bl FUN_02012C90 add r0, r4, #0x0 - bl sub_02012C98 + bl FUN_02012C98 _02012B80: pop {r4, pc} nop _02012B84: .word 0x00000604 - thumb_func_start sub_02012B88 -sub_02012B88: ; 0x02012B88 + thumb_func_start FUN_02012B88 +FUN_02012B88: ; 0x02012B88 push {r4-r7, lr} sub sp, #0xc mov r4, #0x0 @@ -35780,7 +35780,7 @@ _02012BA0: ldrsh r0, [r0, r1] ldr r3, [sp, #0x8] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 lsl r2, r2, #0xa add r0, r0, r2 @@ -35806,19 +35806,19 @@ _02012BD6: _02012BDC: .word 0x020FFA38 _02012BE0: .word 0x00000000 - thumb_func_start sub_02012BE4 -sub_02012BE4: ; 0x02012BE4 + thumb_func_start FUN_02012BE4 +FUN_02012BE4: ; 0x02012BE4 push {r3-r7, lr} mov r0, #0x6 add r6, r1, #0x0 lsl r0, r0, #0x8 ldr r0, [r6, r0] - bl sub_02012988 + bl FUN_02012988 add r5, r0, #0x0 ldr r0, _02012C80 ; =0x00000798 mov r1, #0x64 ldrsh r0, [r6, r0] - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r3, r0, #0x18 ldr r0, _02012C84 ; =0x0000078C @@ -35850,7 +35850,7 @@ _02012C12: stmia r5!, {r0} add r0, r3, #0x1 mov r1, #0xc0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x18 lsr r3, r0, #0x18 ldr r0, _02012C8C ; =0x0000078D @@ -35873,7 +35873,7 @@ _02012C4C: blt _02012C70 mov r0, #0x0 ldrsh r0, [r4, r0] - blx sub_020EBC80 + blx FUN_020EBC80 strh r1, [r4, #0x0] pop {r3-r7, pc} _02012C70: @@ -35891,39 +35891,39 @@ _02012C84: .word 0x0000078C _02012C88: .word 0x0000060C _02012C8C: .word 0x0000078D - thumb_func_start sub_02012C90 -sub_02012C90: ; 0x02012C90 - ldr r3, _02012C94 ; =sub_020129C8 + thumb_func_start FUN_02012C90 +FUN_02012C90: ; 0x02012C90 + ldr r3, _02012C94 ; =FUN_020129C8 bx r3 .balign 4 -_02012C94: .word sub_020129C8 + 1 +_02012C94: .word FUN_020129C8 + 1 - thumb_func_start sub_02012C98 -sub_02012C98: ; 0x02012C98 + thumb_func_start FUN_02012C98 +FUN_02012C98: ; 0x02012C98 push {r3-r5, lr} add r4, r0, #0x0 bne _02012CA2 - bl sub_02020C2C + bl FUN_02020C2C _02012CA2: mov r0, #0x6 lsl r0, r0, #0x8 ldr r0, [r4, r0] - bl sub_0201299C + bl FUN_0201299C mov r1, #0x3 lsl r1, r1, #0x8 add r5, r0, #0x0 - blx sub_020CC15C + blx FUN_020CC15C mov r1, #0x79 lsl r1, r1, #0x4 ldr r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x4 mov r3, #0x1 - bl sub_020129D8 + bl FUN_020129D8 pop {r3-r5, pc} - thumb_func_start sub_02012CC8 -sub_02012CC8: ; 0x02012CC8 + thumb_func_start FUN_02012CC8 +FUN_02012CC8: ; 0x02012CC8 mov r1, #0x0 ldr r2, _02012CD8 ; =0x021C4858 add r0, r1, #0x0 @@ -35936,8 +35936,8 @@ _02012CCE: .balign 4 _02012CD8: .word 0x021C4858 - thumb_func_start sub_02012CDC -sub_02012CDC: ; 0x02012CDC + thumb_func_start FUN_02012CDC +FUN_02012CDC: ; 0x02012CDC push {r3-r7, lr} sub sp, #0x10 str r1, [sp, #0x8] @@ -35963,15 +35963,15 @@ _02012CFA: _02012D04: ldr r0, [sp, #0x2c] mov r1, #0xdc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02012D14 - bl sub_02020C2C + bl FUN_02020C2C _02012D14: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0xdc - blx sub_020DF4A4 + blx FUN_020DF4A4 add r2, r4, #0x0 ldr r0, [sp, #0x8] str r7, [r4, #0x18] @@ -35999,7 +35999,7 @@ _02012D14: str r0, [r2, #0x0] ldr r2, [sp, #0xc] add r0, r6, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [sp, #0xc] str r6, [r4, #0xc] str r6, [r4, #0x10] @@ -36015,7 +36015,7 @@ _02012D14: cmp r0, #0x1 bne _02012DA8 ldr r0, [sp, #0x2c] - bl sub_0201EB64 + bl FUN_0201EB64 str r0, [r4, #0x20] mov r3, #0x0 str r3, [r4, #0x24] @@ -36030,13 +36030,13 @@ _02012D14: str r0, [sp, #0x4] ldrh r2, [r4, #0x30] ldr r0, _02012DDC ; =0x020ED4F0 - bl sub_0201ED5C + bl FUN_0201ED5C add r0, r4, #0x0 mov r1, #0x0 add r0, #0xdb strb r1, [r0, #0x0] ldr r0, [r4, #0x20] - bl sub_0201EB8C + bl FUN_0201EB8C _02012DA8: mov r0, #0x6 str r0, [sp, #0x0] @@ -36047,11 +36047,11 @@ _02012DA8: ldr r0, [r0, r5] mov r2, #0xc8 mov r3, #0x5 - blx sub_0208B4A0 + blx FUN_0208B4A0 str r0, [r4, #0x0] ldr r1, _02012DD8 ; =0x020ED4E4 add r0, r4, #0x0 - bl sub_020133FC + bl FUN_020133FC add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} @@ -36062,11 +36062,11 @@ _02012DD8: .word 0x020ED4E4 _02012DDC: .word 0x020ED4F0 _02012DE0: .word 0x020ED508 - thumb_func_start sub_02012DE4 -sub_02012DE4: ; 0x02012DE4 + thumb_func_start FUN_02012DE4 +FUN_02012DE4: ; 0x02012DE4 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020133D0 + bl FUN_020133D0 add r0, r5, #0x0 add r0, #0xd8 ldrb r1, [r0, #0x0] @@ -36075,7 +36075,7 @@ sub_02012DE4: ; 0x02012DE4 beq _02012E02 add r0, r5, #0x0 add r0, #0x58 - blx sub_020AE8CC + blx FUN_020AE8CC b _02012E22 _02012E02: mov r0, #0x2 @@ -36088,7 +36088,7 @@ _02012E0E: ldr r0, [r4, #0x58] cmp r0, #0x0 beq _02012E1A - blx sub_020AF894 + blx FUN_020AF894 str r7, [r4, #0x58] _02012E1A: add r6, r6, #0x1 @@ -36104,7 +36104,7 @@ _02012E22: beq _02012E38 add r0, r5, #0x0 add r0, #0x98 - blx sub_020AEC7C + blx FUN_020AEC7C b _02012E60 _02012E38: mov r0, #0x8 @@ -36119,7 +36119,7 @@ _02012E44: ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02012E58 - blx sub_020AFA80 + blx FUN_020AFA80 add r0, r4, #0x0 add r0, #0x98 str r7, [r0, #0x0] @@ -36137,7 +36137,7 @@ _02012E60: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02012E78 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r5, #0x4] _02012E78: @@ -36161,16 +36161,16 @@ _02012E94: ldr r0, [r5, #0x20] cmp r0, #0x0 beq _02012E9E - bl sub_0201EB70 + bl FUN_0201EB70 _02012E9E: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} nop _02012EA8: .word 0x021C4858 - thumb_func_start sub_02012EAC -sub_02012EAC: ; 0x02012EAC + thumb_func_start FUN_02012EAC +FUN_02012EAC: ; 0x02012EAC push {r3-r5, lr} ldr r5, _02012EC8 ; =0x021C4858 mov r4, #0x0 @@ -36178,7 +36178,7 @@ _02012EB2: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02012EBC - bl sub_02012DE4 + bl FUN_02012DE4 _02012EBC: add r4, r4, #0x1 add r5, r5, #0x4 @@ -36188,8 +36188,8 @@ _02012EBC: nop _02012EC8: .word 0x021C4858 - thumb_func_start sub_02012ECC -sub_02012ECC: ; 0x02012ECC + thumb_func_start FUN_02012ECC +FUN_02012ECC: ; 0x02012ECC push {r4, lr} ldr r1, _02012EF4 ; =0x021C4850 mov r2, #0x3 @@ -36207,15 +36207,15 @@ _02012EE4: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012EF0 - bl sub_02020C2C + bl FUN_02020C2C _02012EF0: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012EF4: .word 0x021C4850 - thumb_func_start sub_02012EF8 -sub_02012EF8: ; 0x02012EF8 + thumb_func_start FUN_02012EF8 +FUN_02012EF8: ; 0x02012EF8 push {r4, lr} ldr r1, _02012F20 ; =0x021C4850 mov r2, #0x3 @@ -36233,15 +36233,15 @@ _02012F10: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012F1C - bl sub_02020C2C + bl FUN_02020C2C _02012F1C: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012F20: .word 0x021C4850 - thumb_func_start sub_02012F24 -sub_02012F24: ; 0x02012F24 + thumb_func_start FUN_02012F24 +FUN_02012F24: ; 0x02012F24 push {r4, lr} ldr r1, _02012F4C ; =0x021C4850 mov r2, #0x3 @@ -36259,15 +36259,15 @@ _02012F3C: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012F48 - bl sub_02020C2C + bl FUN_02020C2C _02012F48: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012F4C: .word 0x021C4850 - thumb_func_start sub_02012F50 -sub_02012F50: ; 0x02012F50 + thumb_func_start FUN_02012F50 +FUN_02012F50: ; 0x02012F50 push {r4, lr} ldr r1, _02012F78 ; =0x021C4850 mov r2, #0x3 @@ -36285,15 +36285,15 @@ _02012F68: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012F74 - bl sub_02020C2C + bl FUN_02020C2C _02012F74: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012F78: .word 0x021C4850 - thumb_func_start sub_02012F7C -sub_02012F7C: ; 0x02012F7C + thumb_func_start FUN_02012F7C +FUN_02012F7C: ; 0x02012F7C push {r4, lr} ldr r1, _02012FA4 ; =0x021C4850 mov r2, #0x3 @@ -36311,15 +36311,15 @@ _02012F94: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012FA0 - bl sub_02020C2C + bl FUN_02020C2C _02012FA0: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012FA4: .word 0x021C4850 - thumb_func_start sub_02012FA8 -sub_02012FA8: ; 0x02012FA8 + thumb_func_start FUN_02012FA8 +FUN_02012FA8: ; 0x02012FA8 push {r4, lr} ldr r1, _02012FD0 ; =0x021C4850 mov r2, #0x3 @@ -36337,15 +36337,15 @@ _02012FC0: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012FCC - bl sub_02020C2C + bl FUN_02020C2C _02012FCC: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012FD0: .word 0x021C4850 - thumb_func_start sub_02012FD4 -sub_02012FD4: ; 0x02012FD4 + thumb_func_start FUN_02012FD4 +FUN_02012FD4: ; 0x02012FD4 push {r4, lr} ldr r1, _02012FFC ; =0x021C4850 mov r2, #0x3 @@ -36363,15 +36363,15 @@ _02012FEC: ldr r1, [r1, #0x14] cmp r0, r1 blo _02012FF8 - bl sub_02020C2C + bl FUN_02020C2C _02012FF8: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02012FFC: .word 0x021C4850 - thumb_func_start sub_02013000 -sub_02013000: ; 0x02013000 + thumb_func_start FUN_02013000 +FUN_02013000: ; 0x02013000 push {r4, lr} ldr r1, _02013028 ; =0x021C4850 mov r2, #0x3 @@ -36389,15 +36389,15 @@ _02013018: ldr r1, [r1, #0x14] cmp r0, r1 blo _02013024 - bl sub_02020C2C + bl FUN_02020C2C _02013024: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013028: .word 0x021C4850 - thumb_func_start sub_0201302C -sub_0201302C: ; 0x0201302C + thumb_func_start FUN_0201302C +FUN_0201302C: ; 0x0201302C push {r4, lr} ldr r1, _02013054 ; =0x021C4850 mov r2, #0x3 @@ -36415,15 +36415,15 @@ _02013044: ldr r1, [r1, #0x14] cmp r0, r1 blo _02013050 - bl sub_02020C2C + bl FUN_02020C2C _02013050: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013054: .word 0x021C4850 - thumb_func_start sub_02013058 -sub_02013058: ; 0x02013058 + thumb_func_start FUN_02013058 +FUN_02013058: ; 0x02013058 push {r4, lr} ldr r1, _02013080 ; =0x021C4850 mov r2, #0x3 @@ -36441,15 +36441,15 @@ _02013070: ldr r1, [r1, #0x14] cmp r0, r1 blo _0201307C - bl sub_02020C2C + bl FUN_02020C2C _0201307C: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013080: .word 0x021C4850 - thumb_func_start sub_02013084 -sub_02013084: ; 0x02013084 + thumb_func_start FUN_02013084 +FUN_02013084: ; 0x02013084 push {r4, lr} ldr r1, _020130AC ; =0x021C4850 mov r2, #0x3 @@ -36467,15 +36467,15 @@ _0201309C: ldr r1, [r1, #0x14] cmp r0, r1 blo _020130A8 - bl sub_02020C2C + bl FUN_02020C2C _020130A8: add r0, r4, #0x0 pop {r4, pc} .balign 4 _020130AC: .word 0x021C4850 - thumb_func_start sub_020130B0 -sub_020130B0: ; 0x020130B0 + thumb_func_start FUN_020130B0 +FUN_020130B0: ; 0x020130B0 push {r4, lr} ldr r1, _020130D8 ; =0x021C4850 mov r2, #0x3 @@ -36493,15 +36493,15 @@ _020130C8: ldr r1, [r1, #0x14] cmp r0, r1 blo _020130D4 - bl sub_02020C2C + bl FUN_02020C2C _020130D4: add r0, r4, #0x0 pop {r4, pc} .balign 4 _020130D8: .word 0x021C4850 - thumb_func_start sub_020130DC -sub_020130DC: ; 0x020130DC + thumb_func_start FUN_020130DC +FUN_020130DC: ; 0x020130DC push {r4, lr} ldr r1, _02013104 ; =0x021C4850 mov r2, #0x3 @@ -36519,15 +36519,15 @@ _020130F4: ldr r1, [r1, #0x14] cmp r0, r1 blo _02013100 - bl sub_02020C2C + bl FUN_02020C2C _02013100: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013104: .word 0x021C4850 - thumb_func_start sub_02013108 -sub_02013108: ; 0x02013108 + thumb_func_start FUN_02013108 +FUN_02013108: ; 0x02013108 push {r4, lr} ldr r1, _02013130 ; =0x021C4850 mov r2, #0x3 @@ -36545,15 +36545,15 @@ _02013120: ldr r1, [r1, #0x14] cmp r0, r1 blo _0201312C - bl sub_02020C2C + bl FUN_02020C2C _0201312C: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013130: .word 0x021C4850 - thumb_func_start sub_02013134 -sub_02013134: ; 0x02013134 + thumb_func_start FUN_02013134 +FUN_02013134: ; 0x02013134 push {r4, lr} ldr r1, _0201315C ; =0x021C4850 mov r2, #0x3 @@ -36571,15 +36571,15 @@ _0201314C: ldr r1, [r1, #0x14] cmp r0, r1 blo _02013158 - bl sub_02020C2C + bl FUN_02020C2C _02013158: add r0, r4, #0x0 pop {r4, pc} .balign 4 _0201315C: .word 0x021C4850 - thumb_func_start sub_02013160 -sub_02013160: ; 0x02013160 + thumb_func_start FUN_02013160 +FUN_02013160: ; 0x02013160 push {r4, lr} ldr r1, _02013188 ; =0x021C4850 mov r2, #0x3 @@ -36597,22 +36597,22 @@ _02013178: ldr r1, [r1, #0x14] cmp r0, r1 blo _02013184 - bl sub_02020C2C + bl FUN_02020C2C _02013184: add r0, r4, #0x0 pop {r4, pc} .balign 4 _02013188: .word 0x021C4850 - thumb_func_start sub_0201318C -sub_0201318C: ; 0x0201318C - ldr r3, _02013190 ; =sub_0200650C + thumb_func_start FUN_0201318C +FUN_0201318C: ; 0x0201318C + ldr r3, _02013190 ; =FUN_0200650C bx r3 .balign 4 -_02013190: .word sub_0200650C + 1 +_02013190: .word FUN_0200650C + 1 - thumb_func_start sub_02013194 -sub_02013194: ; 0x02013194 + thumb_func_start FUN_02013194 +FUN_02013194: ; 0x02013194 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -36621,12 +36621,12 @@ sub_02013194: ; 0x02013194 add r7, r3, #0x0 cmp r0, #0x0 bne _020131A8 - bl sub_02020C2C + bl FUN_02020C2C _020131A8: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _020131B2 - bl sub_02020C2C + bl FUN_02020C2C _020131B2: add r0, r5, #0x0 add r0, #0xd8 @@ -36636,7 +36636,7 @@ _020131B2: beq _020131C8 add r0, r5, #0x0 add r0, #0x58 - blx sub_020AE918 + blx FUN_020AE918 b _020131DE _020131C8: mov r0, #0x2 @@ -36657,7 +36657,7 @@ _020131DE: beq _020131EE add r0, r5, #0x0 add r0, #0x98 - blx sub_020AEC98 + blx FUN_020AEC98 b _02013208 _020131EE: mov r0, #0x8 @@ -36679,43 +36679,43 @@ _02013208: cmp r7, #0x1 bne _02013216 add r0, r5, #0x0 - bl sub_02013228 + bl FUN_02013228 pop {r3-r7, pc} _02013216: - ldr r0, _02013224 ; =sub_02013268 + ldr r0, _02013224 ; =FUN_02013268 add r1, r5, #0x0 mov r2, #0x5 - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r7, pc} nop -_02013224: .word sub_02013268 + 1 +_02013224: .word FUN_02013268 + 1 - thumb_func_start sub_02013228 -sub_02013228: ; 0x02013228 + thumb_func_start FUN_02013228 +FUN_02013228: ; 0x02013228 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r4, #0x4] - blx sub_0208B128 + blx FUN_0208B128 ldr r0, _02013264 ; =0x021C4850 str r4, [r0, #0x0] ldr r1, [r4, #0x18] ldr r0, [r4, #0x0] cmp r1, #0x0 bne _02013246 - blx sub_0208AF94 + blx FUN_0208AF94 b _0201324A _02013246: - blx sub_0208B05C + blx FUN_0208B05C _0201324A: ldr r1, [r4, #0x1c] ldr r0, [r4, #0x0] cmp r1, #0x0 bne _02013258 - blx sub_0208AF80 + blx FUN_0208AF80 b _0201325C _02013258: - blx sub_0208AFA8 + blx FUN_0208AFA8 _0201325C: ldr r0, _02013264 ; =0x021C4850 mov r1, #0x0 @@ -36724,29 +36724,29 @@ _0201325C: .balign 4 _02013264: .word 0x021C4850 - thumb_func_start sub_02013268 -sub_02013268: ; 0x02013268 + thumb_func_start FUN_02013268 +FUN_02013268: ; 0x02013268 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02013228 + bl FUN_02013228 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} .balign 4 - thumb_func_start sub_0201327C -sub_0201327C: ; 0x0201327C + thumb_func_start FUN_0201327C +FUN_0201327C: ; 0x0201327C push {r4, lr} add r4, r0, #0x0 bne _02013286 - bl sub_02020C2C + bl FUN_02020C2C _02013286: ldr r0, _020132B8 ; =0x021C4850 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02013292 - bl sub_02020C2C + bl FUN_02020C2C _02013292: ldr r0, _020132B8 ; =0x021C4850 mov r1, #0x0 @@ -36765,23 +36765,23 @@ _020132A8: add r2, r2, #0x4 cmp r1, #0x10 blt _0201329A - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} nop _020132B8: .word 0x021C4850 - thumb_func_start sub_020132BC -sub_020132BC: ; 0x020132BC + thumb_func_start FUN_020132BC +FUN_020132BC: ; 0x020132BC push {r4, lr} add r4, r0, #0x0 bne _020132C6 - bl sub_02020C2C + bl FUN_02020C2C _020132C6: ldr r0, _020132FC ; =0x021C4850 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _020132D2 - bl sub_02020C2C + bl FUN_02020C2C _020132D2: ldr r0, _020132FC ; =0x021C4850 mov r1, #0x0 @@ -36803,13 +36803,13 @@ _020132EE: add r2, r2, #0x4 cmp r1, #0x10 blt _020132DA - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} .balign 4 _020132FC: .word 0x021C4850 - thumb_func_start sub_02013300 -sub_02013300: ; 0x02013300 + thumb_func_start FUN_02013300 +FUN_02013300: ; 0x02013300 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x20] @@ -36817,35 +36817,35 @@ sub_02013300: ; 0x02013300 beq _0201331C add r0, #0xdb ldrb r0, [r0, #0x0] - bl sub_0201EE2C + bl FUN_0201EE2C ldr r0, [r4, #0x20] - bl sub_0201EB8C - bl sub_0201EBA4 + bl FUN_0201EB8C + bl FUN_0201EBA4 _0201331C: - blx sub_020B849C + blx FUN_020B849C ldr r0, [r4, #0x0] ldr r1, _02013338 ; =0x021CED64 - blx sub_0208AD80 + blx FUN_0208AD80 ldr r0, [r4, #0x20] cmp r0, #0x0 beq _02013332 - bl sub_0201EB98 + bl FUN_0201EB98 _02013332: - blx sub_020B849C + blx FUN_020B849C pop {r4, pc} .balign 4 _02013338: .word 0x021CED64 - thumb_func_start sub_0201333C -sub_0201333C: ; 0x0201333C + thumb_func_start FUN_0201333C +FUN_0201333C: ; 0x0201333C ldr r3, _02013344 ; =0x0208AE48 ldr r0, [r0, #0x0] bx r3 nop _02013344: .word 0x0208AE48 - thumb_func_start sub_02013348 -sub_02013348: ; 0x02013348 + thumb_func_start FUN_02013348 +FUN_02013348: ; 0x02013348 mov r0, #0x0 ldr r3, _02013360 ; =0x021C4858 add r2, r0, #0x0 @@ -36863,8 +36863,8 @@ _02013356: .balign 4 _02013360: .word 0x021C4858 - thumb_func_start sub_02013364 -sub_02013364: ; 0x02013364 + thumb_func_start FUN_02013364 +FUN_02013364: ; 0x02013364 push {r4-r6, lr} mov r4, #0x0 ldr r5, _02013384 ; =0x021C4858 @@ -36873,7 +36873,7 @@ _0201336C: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02013378 - bl sub_02013300 + bl FUN_02013300 add r4, r4, #0x1 _02013378: add r6, r6, #0x1 @@ -36885,8 +36885,8 @@ _02013378: .balign 4 _02013384: .word 0x021C4858 - thumb_func_start sub_02013388 -sub_02013388: ; 0x02013388 + thumb_func_start FUN_02013388 +FUN_02013388: ; 0x02013388 push {r4-r6, lr} mov r4, #0x0 ldr r5, _020133A8 ; =0x021C4858 @@ -36895,7 +36895,7 @@ _02013390: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _0201339C - bl sub_0201333C + bl FUN_0201333C add r4, r4, #0x1 _0201339C: add r6, r6, #0x1 @@ -36907,14 +36907,14 @@ _0201339C: .balign 4 _020133A8: .word 0x021C4858 - thumb_func_start sub_020133AC -sub_020133AC: ; 0x020133AC + thumb_func_start FUN_020133AC +FUN_020133AC: ; 0x020133AC push {r4, lr} add r4, r0, #0x0 ldr r0, _020133C4 ; =0x021C4850 str r3, [r0, #0x4] ldr r0, [r4, #0x0] - blx sub_0208ACEC + blx FUN_0208ACEC ldr r1, _020133C4 ; =0x021C4850 mov r2, #0x0 str r2, [r1, #0x4] @@ -36923,36 +36923,36 @@ sub_020133AC: ; 0x020133AC .balign 4 _020133C4: .word 0x021C4850 - thumb_func_start sub_020133C8 -sub_020133C8: ; 0x020133C8 + thumb_func_start FUN_020133C8 +FUN_020133C8: ; 0x020133C8 ldr r0, [r0, #0x0] ldr r0, [r0, #0x8] bx lr .balign 4 - thumb_func_start sub_020133D0 -sub_020133D0: ; 0x020133D0 + thumb_func_start FUN_020133D0 +FUN_020133D0: ; 0x020133D0 ldr r3, _020133D8 ; =0x0208AC14 ldr r0, [r0, #0x0] bx r3 nop _020133D8: .word 0x0208AC14 - thumb_func_start sub_020133DC -sub_020133DC: ; 0x020133DC + thumb_func_start FUN_020133DC +FUN_020133DC: ; 0x020133DC ldr r3, _020133E4 ; =0x0208AC58 ldr r0, [r0, #0x0] bx r3 nop _020133E4: .word 0x0208AC58 - thumb_func_start sub_020133E8 -sub_020133E8: ; 0x020133E8 + thumb_func_start FUN_020133E8 +FUN_020133E8: ; 0x020133E8 ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_020133EC -sub_020133EC: ; 0x020133EC + thumb_func_start FUN_020133EC +FUN_020133EC: ; 0x020133EC add r2, r0, #0x0 add r2, #0x40 add r3, r1, #0x0 @@ -36962,8 +36962,8 @@ sub_020133EC: ; 0x020133EC str r0, [r3, #0x0] bx lr - thumb_func_start sub_020133FC -sub_020133FC: ; 0x020133FC + thumb_func_start FUN_020133FC +FUN_020133FC: ; 0x020133FC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -36976,20 +36976,20 @@ sub_020133FC: ; 0x020133FC str r0, [r2, #0x0] ldr r1, [r5, #0x20] add r0, r4, #0x0 - bl sub_0201EC58 + bl FUN_0201EC58 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201341C -sub_0201341C: ; 0x0201341C + thumb_func_start FUN_0201341C +FUN_0201341C: ; 0x0201341C ldr r0, _02013424 ; =0x021C4850 ldr r0, [r0, #0x4] bx lr nop _02013424: .word 0x021C4850 - thumb_func_start sub_02013428 -sub_02013428: ; 0x02013428 + thumb_func_start FUN_02013428 +FUN_02013428: ; 0x02013428 ldr r2, _02013438 ; =0x020ED4E4 add r3, r0, #0x0 ldmia r2!, {r0-r1} @@ -37000,34 +37000,34 @@ sub_02013428: ; 0x02013428 nop _02013438: .word 0x020ED4E4 - thumb_func_start sub_0201343C -sub_0201343C: ; 0x0201343C + thumb_func_start FUN_0201343C +FUN_0201343C: ; 0x0201343C ldr r0, [r0, #0x20] bx lr - thumb_func_start sub_02013440 -sub_02013440: ; 0x02013440 + thumb_func_start FUN_02013440 +FUN_02013440: ; 0x02013440 add r0, #0xdb strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02013448 -sub_02013448: ; 0x02013448 + thumb_func_start FUN_02013448 +FUN_02013448: ; 0x02013448 add r0, #0xdb ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02013450 -sub_02013450: ; 0x02013450 + thumb_func_start FUN_02013450 +FUN_02013450: ; 0x02013450 ldr r0, [r0, #0x20] ldr r0, [r0, #0x0] str r1, [r0, #0x10] bx lr - thumb_func_start sub_02013458 -sub_02013458: ; 0x02013458 + thumb_func_start FUN_02013458 +FUN_02013458: ; 0x02013458 push {r4-r7} ldr r0, [r0, #0x20] add r4, r1, #0x0 @@ -37093,12 +37093,12 @@ _02013504: .byte 0x58, 0x08, 0x09, 0x02, 0x80, 0x07, 0x09, 0x02, 0x64, 0x06, 0x09, 0x02 .byte 0xD0, 0x05, 0x09, 0x02 - thumb_func_start sub_02013514 -sub_02013514: ; 0x02013514 + thumb_func_start FUN_02013514 +FUN_02013514: ; 0x02013514 push {r4, lr} add r4, r1, #0x0 mov r1, #0x0 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 beq _0201352E ldrh r1, [r4, #0x0] @@ -37110,12 +37110,12 @@ sub_02013514: ; 0x02013514 _0201352E: pop {r4, pc} - thumb_func_start sub_02013530 -sub_02013530: ; 0x02013530 + thumb_func_start FUN_02013530 +FUN_02013530: ; 0x02013530 push {r4, lr} add r4, r1, #0x0 mov r1, #0x2 - bl sub_02013458 + bl FUN_02013458 add r2, r0, #0x0 beq _02013546 ldmia r4!, {r0-r1} @@ -37125,13 +37125,13 @@ sub_02013530: ; 0x02013530 _02013546: pop {r4, pc} - thumb_func_start sub_02013548 -sub_02013548: ; 0x02013548 + thumb_func_start FUN_02013548 +FUN_02013548: ; 0x02013548 push {r3-r4, lr} sub sp, #0xc add r4, r1, #0x0 mov r1, #0x2 - bl sub_02013458 + bl FUN_02013458 add r2, r0, #0x0 bne _0201356E add r2, sp, #0x0 @@ -37154,12 +37154,12 @@ _0201356E: pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201357C -sub_0201357C: ; 0x0201357C + thumb_func_start FUN_0201357C +FUN_0201357C: ; 0x0201357C push {r4, lr} add r4, r1, #0x0 mov r1, #0x2 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 beq _02013590 mov r1, #0x0 @@ -37169,12 +37169,12 @@ _02013590: pop {r4, pc} .balign 4 - thumb_func_start sub_02013594 -sub_02013594: ; 0x02013594 + thumb_func_start FUN_02013594 +FUN_02013594: ; 0x02013594 push {r4, lr} add r4, r1, #0x0 mov r1, #0x2 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 bne _020135A8 mov r0, #0x0 @@ -37186,12 +37186,12 @@ _020135A8: strh r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_020135B0 -sub_020135B0: ; 0x020135B0 + thumb_func_start FUN_020135B0 +FUN_020135B0: ; 0x020135B0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x3 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 beq _020135C2 ldrh r1, [r4, #0x0] @@ -37199,12 +37199,12 @@ sub_020135B0: ; 0x020135B0 _020135C2: pop {r4, pc} - thumb_func_start sub_020135C4 -sub_020135C4: ; 0x020135C4 + thumb_func_start FUN_020135C4 +FUN_020135C4: ; 0x020135C4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x3 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 bne _020135D8 mov r0, #0x0 @@ -37216,12 +37216,12 @@ _020135D8: pop {r4, pc} .balign 4 - thumb_func_start sub_020135E0 -sub_020135E0: ; 0x020135E0 + thumb_func_start FUN_020135E0 +FUN_020135E0: ; 0x020135E0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x3 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 beq _020135F2 ldrh r1, [r4, #0x0] @@ -37229,12 +37229,12 @@ sub_020135E0: ; 0x020135E0 _020135F2: pop {r4, pc} - thumb_func_start sub_020135F4 -sub_020135F4: ; 0x020135F4 + thumb_func_start FUN_020135F4 +FUN_020135F4: ; 0x020135F4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x3 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 bne _02013608 mov r0, #0x0 @@ -37246,12 +37246,12 @@ _02013608: pop {r4, pc} .balign 4 - thumb_func_start sub_02013610 -sub_02013610: ; 0x02013610 + thumb_func_start FUN_02013610 +FUN_02013610: ; 0x02013610 push {r4, lr} add r4, r1, #0x0 mov r1, #0x5 - bl sub_02013458 + bl FUN_02013458 add r2, r0, #0x0 beq _02013626 ldmia r4!, {r0-r1} @@ -37261,13 +37261,13 @@ sub_02013610: ; 0x02013610 _02013626: pop {r4, pc} - thumb_func_start sub_02013628 -sub_02013628: ; 0x02013628 + thumb_func_start FUN_02013628 +FUN_02013628: ; 0x02013628 push {r3-r4, lr} sub sp, #0xc add r4, r1, #0x0 mov r1, #0x5 - bl sub_02013458 + bl FUN_02013458 add r2, r0, #0x0 bne _0201364E add r2, sp, #0x0 @@ -37290,12 +37290,12 @@ _0201364E: pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201365C -sub_0201365C: ; 0x0201365C + thumb_func_start FUN_0201365C +FUN_0201365C: ; 0x0201365C push {r4, lr} add r4, r1, #0x0 mov r1, #0x5 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 beq _02013670 mov r1, #0x0 @@ -37305,12 +37305,12 @@ _02013670: pop {r4, pc} .balign 4 - thumb_func_start sub_02013674 -sub_02013674: ; 0x02013674 + thumb_func_start FUN_02013674 +FUN_02013674: ; 0x02013674 push {r4, lr} add r4, r1, #0x0 mov r1, #0x5 - bl sub_02013458 + bl FUN_02013458 cmp r0, #0x0 bne _02013688 mov r0, #0x0 @@ -37322,22 +37322,22 @@ _02013688: strh r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02013690 -sub_02013690: ; 0x02013690 + thumb_func_start FUN_02013690 +FUN_02013690: ; 0x02013690 push {r3-r5, lr} mov r1, #0x8 add r5, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _020136B2 ldr r0, _020136B8 ; =0x0001020F add r1, r5, #0x0 str r0, [r4, #0x0] mov r0, #0x4 - bl sub_020219F4 + bl FUN_020219F4 ldr r1, _020136BC ; =0x020ED548 str r0, [r4, #0x4] - bl sub_02021E28 + bl FUN_02021E28 _020136B2: add r0, r4, #0x0 pop {r3-r5, pc} @@ -37345,33 +37345,33 @@ _020136B2: _020136B8: .word 0x0001020F _020136BC: .word 0x020ED548 - thumb_func_start sub_020136C0 -sub_020136C0: ; 0x020136C0 + thumb_func_start FUN_020136C0 +FUN_020136C0: ; 0x020136C0 push {r4, lr} add r4, r0, #0x0 bne _020136CA - bl sub_02020C2C + bl FUN_02020C2C _020136CA: cmp r4, #0x0 beq _020136DE ldr r0, [r4, #0x4] cmp r0, #0x0 beq _020136D8 - bl sub_02021A20 + bl FUN_02021A20 _020136D8: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _020136DE: pop {r4, pc} - thumb_func_start sub_020136E0 -sub_020136E0: ; 0x020136E0 + thumb_func_start FUN_020136E0 +FUN_020136E0: ; 0x020136E0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020136EE - bl sub_02020C2C + bl FUN_02020C2C _020136EE: cmp r5, #0x0 beq _020136F4 @@ -37380,8 +37380,8 @@ _020136F4: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020136F8 -sub_020136F8: ; 0x020136F8 + thumb_func_start FUN_020136F8 +FUN_020136F8: ; 0x020136F8 push {r4-r6, lr} sub sp, #0x10 add r6, r0, #0x0 @@ -37397,14 +37397,14 @@ sub_020136F8: ; 0x020136F8 ldr r2, [r6, #0x4] add r0, r5, #0x0 add r3, r4, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r5, #0x0 - bl sub_02019548 + bl FUN_02019548 add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_02013724 -sub_02013724: ; 0x02013724 + thumb_func_start FUN_02013724 +FUN_02013724: ; 0x02013724 ldr r1, _02013738 ; =0x0000FFFF mov r2, #0x0 strh r1, [r0, #0x0] @@ -37418,8 +37418,8 @@ _0201372A: nop _02013738: .word 0x0000FFFF - thumb_func_start sub_0201373C -sub_0201373C: ; 0x0201373C + thumb_func_start FUN_0201373C +FUN_0201373C: ; 0x0201373C strh r1, [r0, #0x0] mov r2, #0x0 ldr r1, _02013750 ; =0x0000FFFF @@ -37434,24 +37434,24 @@ _02013744: .balign 4 _02013750: .word 0x0000FFFF - thumb_func_start sub_02013754 -sub_02013754: ; 0x02013754 + thumb_func_start FUN_02013754 +FUN_02013754: ; 0x02013754 push {r4, lr} mov r1, #0x4 add r4, r0, #0x0 - bl sub_0201373C + bl FUN_0201373C mov r0, #0x5 strh r0, [r4, #0x2] pop {r4, pc} - thumb_func_start sub_02013764 -sub_02013764: ; 0x02013764 + thumb_func_start FUN_02013764 +FUN_02013764: ; 0x02013764 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 cmp r6, #0x4 blo _02013772 - bl sub_02020C2C + bl FUN_02020C2C _02013772: cmp r6, #0x4 bhs _020137B8 @@ -37461,7 +37461,7 @@ _02013772: ldr r1, _020137BC ; =0x020ED556 add r0, r5, #0x0 ldrb r1, [r1, r4] - bl sub_0201373C + bl FUN_0201373C ldr r0, _020137C0 ; =0x020ED557 mov r1, #0x0 ldrb r0, [r0, r4] @@ -37473,7 +37473,7 @@ _02013772: beq _020137A2 ldr r1, _020137C8 ; =0x020ED55A ldrh r1, [r1, r4] - bl sub_02013A9C + bl FUN_02013A9C strh r0, [r5, #0x4] _020137A2: ldr r0, _020137CC ; =0x020ED55C @@ -37484,7 +37484,7 @@ _020137A2: beq _020137B8 ldr r1, _020137D0 ; =0x020ED55E ldrh r1, [r1, r4] - bl sub_02013A9C + bl FUN_02013A9C strh r0, [r5, #0x6] _020137B8: pop {r4-r6, pc} @@ -37496,14 +37496,14 @@ _020137C8: .word 0x020ED55A _020137CC: .word 0x020ED55C _020137D0: .word 0x020ED55E - thumb_func_start sub_020137D4 -sub_020137D4: ; 0x020137D4 + thumb_func_start FUN_020137D4 +FUN_020137D4: ; 0x020137D4 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r0, r1, #0x0 str r1, [sp, #0x4] - bl sub_0200AA80 + bl FUN_0200AA80 ldr r5, [sp, #0x0] ldr r7, _02013838 ; =0x0000FFFF add r6, r0, #0x0 @@ -37514,7 +37514,7 @@ _020137EA: beq _02013800 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0200B518 + bl FUN_0200B518 add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x2 @@ -37528,19 +37528,19 @@ _02013800: ldr r2, _0201383C ; =0x020ED54C ldrh r2, [r2, r3] ldr r3, [sp, #0x4] - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 ldr r2, [sp, #0x0] ldr r3, [sp, #0x4] ldrh r2, [r2, #0x2] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0200A9C4 + bl FUN_0200A9C4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r6, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} @@ -37548,8 +37548,8 @@ _02013800: _02013838: .word 0x0000FFFF _0201383C: .word 0x020ED54C - thumb_func_start sub_02013840 -sub_02013840: ; 0x02013840 + thumb_func_start FUN_02013840 +FUN_02013840: ; 0x02013840 push {r4, lr} add r4, r0, #0x0 add r3, r1, #0x0 @@ -37559,13 +37559,13 @@ sub_02013840: ; 0x02013840 ldr r1, _02013858 ; =0x020ED54C ldrh r1, [r1, r2] ldrh r2, [r4, #0x2] - bl sub_0200A738 + bl FUN_0200A738 pop {r4, pc} .balign 4 _02013858: .word 0x020ED54C - thumb_func_start sub_0201385C -sub_0201385C: ; 0x0201385C + thumb_func_start FUN_0201385C +FUN_0201385C: ; 0x0201385C ldrh r1, [r0, #0x0] ldr r0, _0201386C ; =0x0000FFFF cmp r1, r0 @@ -37578,13 +37578,13 @@ _02013868: .balign 4 _0201386C: .word 0x0000FFFF - thumb_func_start sub_02013870 -sub_02013870: ; 0x02013870 + thumb_func_start FUN_02013870 +FUN_02013870: ; 0x02013870 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x0] ldrh r1, [r4, #0x2] - bl sub_020138A0 + bl FUN_020138A0 mov r3, #0x0 cmp r0, #0x0 bls _02013896 @@ -37606,20 +37606,20 @@ _02013896: nop _0201389C: .word 0x0000FFFF - thumb_func_start sub_020138A0 -sub_020138A0: ; 0x020138A0 + thumb_func_start FUN_020138A0 +FUN_020138A0: ; 0x020138A0 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x5 blo _020138AE - bl sub_02020C2C + bl FUN_02020C2C _020138AE: add r0, r5, #0x0 - bl sub_02013974 + bl FUN_02013974 cmp r4, r0 blo _020138BC - bl sub_02020C2C + bl FUN_02020C2C _020138BC: ldr r1, _02013910 ; =0x020ED54C lsl r2, r5, #0x1 @@ -37627,9 +37627,9 @@ _020138BC: mov r0, #0x1a add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200A738 + bl FUN_0200A738 str r0, [sp, #0x0] - bl sub_02021F2C + bl FUN_02021F2C add r4, r0, #0x0 ldrh r1, [r4, #0x0] ldr r0, _02013914 ; =0x0000FFFF @@ -37642,13 +37642,13 @@ _020138E2: cmp r1, r6 bne _020138FC add r0, r4, #0x0 - bl sub_0201B8F8 + bl FUN_0201B8F8 cmp r0, #0x0 beq _020138F2 add r5, r5, #0x1 _020138F2: add r0, r4, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r4, r0, #0x0 b _020138FE _020138FC: @@ -37659,32 +37659,32 @@ _020138FE: bne _020138E2 _02013904: ldr r0, [sp, #0x0] - bl sub_02021A20 + bl FUN_02021A20 add r0, r5, #0x0 pop {r3-r7, pc} nop _02013910: .word 0x020ED54C _02013914: .word 0x0000FFFF - thumb_func_start sub_02013918 -sub_02013918: ; 0x02013918 + thumb_func_start FUN_02013918 +FUN_02013918: ; 0x02013918 lsl r1, r1, #0x1 add r0, r0, r1 ldrh r0, [r0, #0x4] bx lr - thumb_func_start sub_02013920 -sub_02013920: ; 0x02013920 + thumb_func_start FUN_02013920 +FUN_02013920: ; 0x02013920 ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_02013924 -sub_02013924: ; 0x02013924 + thumb_func_start FUN_02013924 +FUN_02013924: ; 0x02013924 ldrh r0, [r0, #0x2] bx lr - thumb_func_start sub_02013928 -sub_02013928: ; 0x02013928 + thumb_func_start FUN_02013928 +FUN_02013928: ; 0x02013928 push {r3-r4} ldrh r3, [r0, #0x0] ldrh r2, [r1, #0x0] @@ -37718,8 +37718,8 @@ _02013950: pop {r3-r4} bx lr - thumb_func_start sub_02013960 -sub_02013960: ; 0x02013960 + thumb_func_start FUN_02013960 +FUN_02013960: ; 0x02013960 ldrh r2, [r1, #0x0] strh r2, [r0, #0x0] ldrh r2, [r1, #0x2] @@ -37731,8 +37731,8 @@ sub_02013960: ; 0x02013960 bx lr .balign 4 - thumb_func_start sub_02013974 -sub_02013974: ; 0x02013974 + thumb_func_start FUN_02013974 +FUN_02013974: ; 0x02013974 cmp r0, #0x5 bhs _0201397C mov r0, #0x14 @@ -37741,43 +37741,43 @@ _0201397C: mov r0, #0x0 bx lr - thumb_func_start sub_02013980 -sub_02013980: ; 0x02013980 + thumb_func_start FUN_02013980 +FUN_02013980: ; 0x02013980 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x5 blo _02013990 - bl sub_02020C2C + bl FUN_02020C2C _02013990: strh r4, [r5, #0x0] strh r6, [r5, #0x2] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02013998 -sub_02013998: ; 0x02013998 + thumb_func_start FUN_02013998 +FUN_02013998: ; 0x02013998 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x2 blo _020139A8 - bl sub_02020C2C + bl FUN_02020C2C _020139A8: lsl r0, r4, #0x1 add r0, r5, r0 strh r6, [r0, #0x4] pop {r4-r6, pc} - thumb_func_start sub_020139B0 -sub_020139B0: ; 0x020139B0 + thumb_func_start FUN_020139B0 +FUN_020139B0: ; 0x020139B0 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x0] ldrh r1, [r4, #0x2] - bl sub_020138A0 + bl FUN_020138A0 cmp r0, #0x2 bhs _020139D0 lsl r1, r0, #0x1 @@ -37794,12 +37794,12 @@ _020139D0: nop _020139D4: .word 0x0000FFFF - thumb_func_start sub_020139D8 -sub_020139D8: ; 0x020139D8 + thumb_func_start FUN_020139D8 +FUN_020139D8: ; 0x020139D8 push {r3-r7, lr} mov r1, #0x30 add r6, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 ldr r4, _02013A0C ; =0x020ED5C0 str r0, [sp, #0x0] mov r7, #0x0 @@ -37811,7 +37811,7 @@ _020139EA: ldrh r2, [r4, #0x0] mov r0, #0x1 add r3, r6, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r5, #0x4] add r7, r7, #0x1 add r4, r4, #0x2 @@ -37823,26 +37823,26 @@ _020139EA: nop _02013A0C: .word 0x020ED5C0 - thumb_func_start sub_02013A10 -sub_02013A10: ; 0x02013A10 + thumb_func_start FUN_02013A10 +FUN_02013A10: ; 0x02013A10 push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 add r5, r6, #0x0 _02013A18: ldr r0, [r5, #0x4] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0xb blt _02013A18 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02013A30 -sub_02013A30: ; 0x02013A30 + thumb_func_start FUN_02013A30 +FUN_02013A30: ; 0x02013A30 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -37850,20 +37850,20 @@ sub_02013A30: ; 0x02013A30 add r0, r1, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 - bl sub_02013AEC + bl FUN_02013AEC ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] lsl r0, r0, #0x2 add r0, r5, r0 ldr r0, [r0, #0x4] add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02013A58 -sub_02013A58: ; 0x02013A58 + thumb_func_start FUN_02013A58 +FUN_02013A58: ; 0x02013A58 push {r3-r4, lr} sub sp, #0xc add r4, r1, #0x0 @@ -37872,7 +37872,7 @@ sub_02013A58: ; 0x02013A58 beq _02013A88 add r1, sp, #0x8 add r2, sp, #0x4 - bl sub_02013AEC + bl FUN_02013AEC ldr r0, [sp, #0x8] mov r3, #0x0 lsl r1, r0, #0x1 @@ -37883,20 +37883,20 @@ sub_02013A58: ; 0x02013A58 ldr r1, [sp, #0x8] ldr r2, [sp, #0x4] mov r0, #0x1a - bl sub_0200A648 + bl FUN_0200A648 add sp, #0xc pop {r3-r4, pc} _02013A88: add r0, r4, #0x0 - bl sub_02021A4C + bl FUN_02021A4C add sp, #0xc pop {r3-r4, pc} nop _02013A94: .word 0x0000FFFF _02013A98: .word 0x020ED5C0 - thumb_func_start sub_02013A9C -sub_02013A9C: ; 0x02013A9C + thumb_func_start FUN_02013A9C +FUN_02013A9C: ; 0x02013A9C push {r4-r5} ldr r4, _02013AE0 ; =0x020ED5C0 mov r2, #0x0 @@ -37939,8 +37939,8 @@ _02013AE0: .word 0x020ED5C0 _02013AE4: .word 0x020ED5D6 _02013AE8: .word 0x0000FFFF - thumb_func_start sub_02013AEC -sub_02013AEC: ; 0x02013AEC + thumb_func_start FUN_02013AEC +FUN_02013AEC: ; 0x02013AEC push {r3-r6} ldr r3, _02013B20 ; =0x00000FFF ldr r6, _02013B24 ; =0x020ED5D6 @@ -37972,13 +37972,13 @@ _02013B12: _02013B20: .word 0x00000FFF _02013B24: .word 0x020ED5D6 - thumb_func_start sub_02013B28 -sub_02013B28: ; 0x02013B28 + thumb_func_start FUN_02013B28 +FUN_02013B28: ; 0x02013B28 mov r0, #0x8 bx lr - thumb_func_start sub_02013B2C -sub_02013B2C: ; 0x02013B2C + thumb_func_start FUN_02013B2C +FUN_02013B2C: ; 0x02013B2C push {r3, lr} mov r2, #0x0 str r2, [r0, #0x0] @@ -37991,7 +37991,7 @@ _02013B36: ldr r1, _02013B58 ; =0x020ED5B5 lsl r2, r2, #0x1 ldrb r1, [r1, r2] - bl sub_02013C18 + bl FUN_02013C18 pop {r3, pc} _02013B48: add r2, r2, #0x1 @@ -38003,16 +38003,16 @@ _02013B48: _02013B54: .word 0x020ED5B4 _02013B58: .word 0x020ED5B5 - thumb_func_start sub_02013B5C -sub_02013B5C: ; 0x02013B5C - ldr r3, _02013B64 ; =sub_02022610 + thumb_func_start FUN_02013B5C +FUN_02013B5C: ; 0x02013B5C + ldr r3, _02013B64 ; =FUN_02022610 mov r1, #0x22 bx r3 nop -_02013B64: .word sub_02022610 + 1 +_02013B64: .word FUN_02022610 + 1 - thumb_func_start sub_02013B68 -sub_02013B68: ; 0x02013B68 + thumb_func_start FUN_02013B68 +FUN_02013B68: ; 0x02013B68 ldr r0, [r0, #0x4] add r2, r0, #0x0 lsr r2, r1 @@ -38020,8 +38020,8 @@ sub_02013B68: ; 0x02013B68 and r0, r2 bx lr - thumb_func_start sub_02013B74 -sub_02013B74: ; 0x02013B74 + thumb_func_start FUN_02013B74 +FUN_02013B74: ; 0x02013B74 push {r3-r5, lr} add r5, r0, #0x0 mov r2, #0x0 @@ -38040,9 +38040,9 @@ _02013B8A: blo _02013B80 cmp r4, #0x0 beq _02013BC4 - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C ldr r4, [r5, #0x4] mov r0, #0x0 mov r2, #0x1 @@ -38069,8 +38069,8 @@ _02013BC4: mov r0, #0x20 pop {r3-r5, pc} - thumb_func_start sub_02013BC8 -sub_02013BC8: ; 0x02013BC8 + thumb_func_start FUN_02013BC8 +FUN_02013BC8: ; 0x02013BC8 ldr r3, [r0, #0x4] mov r2, #0x0 mov r0, #0x1 @@ -38088,8 +38088,8 @@ _02013BDA: mov r0, #0x1 bx lr - thumb_func_start sub_02013BE4 -sub_02013BE4: ; 0x02013BE4 + thumb_func_start FUN_02013BE4 +FUN_02013BE4: ; 0x02013BE4 push {r3-r4} mov r3, #0x0 ldr r4, _02013C08 ; =0x020ED5D6 @@ -38111,8 +38111,8 @@ _02013BEC: nop _02013C08: .word 0x020ED5D6 - thumb_func_start sub_02013C0C -sub_02013C0C: ; 0x02013C0C + thumb_func_start FUN_02013C0C +FUN_02013C0C: ; 0x02013C0C ldr r0, [r0, #0x0] add r2, r0, #0x0 lsr r2, r1 @@ -38120,8 +38120,8 @@ sub_02013C0C: ; 0x02013C0C and r0, r2 bx lr - thumb_func_start sub_02013C18 -sub_02013C18: ; 0x02013C18 + thumb_func_start FUN_02013C18 +FUN_02013C18: ; 0x02013C18 mov r2, #0x1 ldr r3, [r0, #0x0] lsl r2, r1 @@ -38131,8 +38131,8 @@ sub_02013C18: ; 0x02013C18 bx lr .balign 4 - thumb_func_start sub_02013C28 -sub_02013C28: ; 0x02013C28 + thumb_func_start FUN_02013C28 +FUN_02013C28: ; 0x02013C28 push {r4-r7} mov r3, #0x0 ldr r5, _02013C64 ; =0x020ED5EC @@ -38170,8 +38170,8 @@ _02013C54: _02013C64: .word 0x020ED5EC _02013C68: .word 0x020ED5F0 - thumb_func_start sub_02013C6C -sub_02013C6C: ; 0x02013C6C + thumb_func_start FUN_02013C6C +FUN_02013C6C: ; 0x02013C6C push {r3-r7, lr} ldr r3, _02013CC8 ; =0x020ED5EC add r6, r1, #0x0 @@ -38209,7 +38209,7 @@ _02013CA4: cmp r2, #0x0 bne _02013C96 _02013CAC: - bl sub_02020C2C + bl FUN_02020C2C ldr r0, _02013CD0 ; =0x0000FFFF pop {r3-r7, pc} _02013CB4: @@ -38228,32 +38228,32 @@ _02013CC8: .word 0x020ED5EC _02013CCC: .word 0x020ED5F0 _02013CD0: .word 0x0000FFFF - thumb_func_start sub_02013CD4 -sub_02013CD4: ; 0x02013CD4 + thumb_func_start FUN_02013CD4 +FUN_02013CD4: ; 0x02013CD4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02013CE8 - bl sub_02020C2C + bl FUN_02020C2C _02013CE8: ldr r0, [r5, #0x0] ldr r1, [r5, #0xc] - bl sub_02013F68 + bl FUN_02013F68 str r0, [r4, #0x0] ldr r0, [r5, #0x0] str r0, [r4, #0x4] ldr r0, [r5, #0x4] ldr r1, [r5, #0xc] - bl sub_02013F98 + bl FUN_02013F98 str r0, [r4, #0x8] ldr r0, [r5, #0x4] str r0, [r4, #0xc] ldr r0, [r5, #0x8] ldr r1, [r5, #0xc] - bl sub_02013FC8 + bl FUN_02013FC8 str r0, [r4, #0x10] ldr r0, [r5, #0x8] str r0, [r4, #0x14] @@ -38261,41 +38261,41 @@ _02013CE8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02013D18 -sub_02013D18: ; 0x02013D18 + thumb_func_start FUN_02013D18 +FUN_02013D18: ; 0x02013D18 push {r4, lr} add r4, r0, #0x0 bne _02013D22 - bl sub_02020C2C + bl FUN_02020C2C _02013D22: ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02013D2C - bl sub_02020C2C + bl FUN_02020C2C _02013D2C: ldr r0, [r4, #0x8] cmp r0, #0x0 bne _02013D36 - bl sub_02020C2C + bl FUN_02020C2C _02013D36: ldr r0, [r4, #0x10] cmp r0, #0x0 bne _02013D40 - bl sub_02020C2C + bl FUN_02020C2C _02013D40: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02013D5C -sub_02013D5C: ; 0x02013D5C + thumb_func_start FUN_02013D5C +FUN_02013D5C: ; 0x02013D5C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02013D90 ; =0x04000444 @@ -38311,7 +38311,7 @@ _02013D6E: ldr r1, [r0, #0x20] cmp r1, #0x0 beq _02013D7C - bl sub_020140D8 + bl FUN_020140D8 _02013D7C: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -38327,38 +38327,38 @@ _02013D86: _02013D90: .word 0x04000444 _02013D94: .word 0x04000448 - thumb_func_start sub_02013D98 -sub_02013D98: ; 0x02013D98 + thumb_func_start FUN_02013D98 +FUN_02013D98: ; 0x02013D98 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02014024 + bl FUN_02014024 add r4, r0, #0x0 bne _02013DAA - bl sub_02020C2C + bl FUN_02020C2C _02013DAA: ldr r0, [r5, #0x4] ldr r0, [r0, #0x8] cmp r0, #0x0 beq _02013DB6 - bl sub_02020C2C + bl FUN_02020C2C _02013DB6: ldr r0, [r5, #0x4] - bl sub_0201407C + bl FUN_0201407C str r0, [r4, #0x0] cmp r0, #0x0 bne _02013DC6 - bl sub_02020C2C + bl FUN_02020C2C _02013DC6: ldr r0, [r5, #0x4] ldr r1, [r4, #0x0] add r2, r4, #0x4 - bl sub_020140A4 + bl FUN_020140A4 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02013DD4 -sub_02013DD4: ; 0x02013DD4 + thumb_func_start FUN_02013DD4 +FUN_02013DD4: ; 0x02013DD4 push {r4, lr} ldr r1, _02013DE8 ; =0x021064BC add r4, r0, #0x0 @@ -38366,13 +38366,13 @@ sub_02013DD4: ; 0x02013DD4 ldr r1, [r1, #0x0] blx r1 add r0, r4, #0x0 - bl sub_02013F50 + bl FUN_02013F50 pop {r4, pc} .balign 4 _02013DE8: .word 0x021064BC - thumb_func_start sub_02013DEC -sub_02013DEC: ; 0x02013DEC + thumb_func_start FUN_02013DEC +FUN_02013DEC: ; 0x02013DEC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -38386,7 +38386,7 @@ _02013DFA: cmp r0, #0x0 beq _02013E08 add r0, r1, r4 - bl sub_02013DD4 + bl FUN_02013DD4 _02013E08: ldr r0, [r5, #0xc] add r6, r6, #0x1 @@ -38396,32 +38396,32 @@ _02013E08: _02013E12: pop {r4-r6, pc} - thumb_func_start sub_02013E14 -sub_02013E14: ; 0x02013E14 + thumb_func_start FUN_02013E14 +FUN_02013E14: ; 0x02013E14 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02014050 + bl FUN_02014050 add r4, r0, #0x0 bne _02013E26 - bl sub_02020C2C + bl FUN_02020C2C _02013E26: ldr r0, [r5, #0x8] - bl sub_02014090 + bl FUN_02014090 str r0, [r4, #0x0] cmp r0, #0x0 bne _02013E36 - bl sub_02020C2C + bl FUN_02020C2C _02013E36: ldr r0, [r5, #0x4] ldr r1, [r4, #0x0] add r2, r4, #0x4 - bl sub_020140B4 + bl FUN_020140B4 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02013E44 -sub_02013E44: ; 0x02013E44 + thumb_func_start FUN_02013E44 +FUN_02013E44: ; 0x02013E44 push {r4, lr} ldr r1, _02013E58 ; =0x021064C4 add r4, r0, #0x0 @@ -38429,13 +38429,13 @@ sub_02013E44: ; 0x02013E44 ldr r1, [r1, #0x0] blx r1 add r0, r4, #0x0 - bl sub_02013F5C + bl FUN_02013F5C pop {r4, pc} .balign 4 _02013E58: .word 0x021064C4 - thumb_func_start sub_02013E5C -sub_02013E5C: ; 0x02013E5C + thumb_func_start FUN_02013E5C +FUN_02013E5C: ; 0x02013E5C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x14] @@ -38449,7 +38449,7 @@ _02013E6A: cmp r0, #0x0 beq _02013E78 add r0, r1, r4 - bl sub_02013E44 + bl FUN_02013E44 _02013E78: ldr r0, [r5, #0x14] add r6, r6, #0x1 @@ -38459,54 +38459,54 @@ _02013E78: _02013E82: pop {r4-r6, pc} - thumb_func_start sub_02013E84 -sub_02013E84: ; 0x02013E84 + thumb_func_start FUN_02013E84 +FUN_02013E84: ; 0x02013E84 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02013FF8 + bl FUN_02013FF8 add r4, r0, #0x0 bne _02013E96 - bl sub_02020C2C + bl FUN_02020C2C _02013E96: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02014218 + bl FUN_02014218 mov r0, #0x1 str r0, [r4, #0x1c] str r0, [r4, #0x20] add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02013EA8 -sub_02013EA8: ; 0x02013EA8 - ldr r3, _02013EAC ; =sub_02013F30 + thumb_func_start FUN_02013EA8 +FUN_02013EA8: ; 0x02013EA8 + ldr r3, _02013EAC ; =FUN_02013F30 bx r3 .balign 4 -_02013EAC: .word sub_02013F30 + 1 +_02013EAC: .word FUN_02013F30 + 1 - thumb_func_start sub_02013EB0 -sub_02013EB0: ; 0x02013EB0 + thumb_func_start FUN_02013EB0 +FUN_02013EB0: ; 0x02013EB0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02013EBE - bl sub_02020C2C + bl FUN_02020C2C _02013EBE: str r4, [r5, #0x20] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02013EC4 -sub_02013EC4: ; 0x02013EC4 + thumb_func_start FUN_02013EC4 +FUN_02013EC4: ; 0x02013EC4 strh r1, [r0, #0x0] strh r2, [r0, #0x2] bx lr .balign 4 - thumb_func_start sub_02013ECC -sub_02013ECC: ; 0x02013ECC + thumb_func_start FUN_02013ECC +FUN_02013ECC: ; 0x02013ECC ldrh r1, [r0, #0x2] ldrh r0, [r0, #0x0] lsl r1, r1, #0x10 @@ -38514,29 +38514,29 @@ sub_02013ECC: ; 0x02013ECC bx lr .balign 4 - thumb_func_start sub_02013ED8 -sub_02013ED8: ; 0x02013ED8 + thumb_func_start FUN_02013ED8 +FUN_02013ED8: ; 0x02013ED8 strh r1, [r0, #0x4] strh r2, [r0, #0x6] bx lr .balign 4 - thumb_func_start sub_02013EE0 -sub_02013EE0: ; 0x02013EE0 + thumb_func_start FUN_02013EE0 +FUN_02013EE0: ; 0x02013EE0 str r1, [r0, #0xc] str r2, [r0, #0x10] bx lr .balign 4 - thumb_func_start sub_02013EE8 -sub_02013EE8: ; 0x02013EE8 + thumb_func_start FUN_02013EE8 +FUN_02013EE8: ; 0x02013EE8 strh r1, [r0, #0x8] strh r2, [r0, #0xa] bx lr .balign 4 - thumb_func_start sub_02013EF0 -sub_02013EF0: ; 0x02013EF0 + thumb_func_start FUN_02013EF0 +FUN_02013EF0: ; 0x02013EF0 ldrh r1, [r0, #0xa] ldrh r0, [r0, #0x8] lsl r1, r1, #0x10 @@ -38544,50 +38544,50 @@ sub_02013EF0: ; 0x02013EF0 bx lr .balign 4 - thumb_func_start sub_02013EFC -sub_02013EFC: ; 0x02013EFC + thumb_func_start FUN_02013EFC +FUN_02013EFC: ; 0x02013EFC str r1, [r0, #0x14] bx lr - thumb_func_start sub_02013F00 -sub_02013F00: ; 0x02013F00 + thumb_func_start FUN_02013F00 +FUN_02013F00: ; 0x02013F00 ldr r0, [r0, #0x14] bx lr - thumb_func_start sub_02013F04 -sub_02013F04: ; 0x02013F04 + thumb_func_start FUN_02013F04 +FUN_02013F04: ; 0x02013F04 add r0, #0x3e strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02013F0C -sub_02013F0C: ; 0x02013F0C + thumb_func_start FUN_02013F0C +FUN_02013F0C: ; 0x02013F0C strh r1, [r0, #0x3c] bx lr - thumb_func_start sub_02013F10 -sub_02013F10: ; 0x02013F10 + thumb_func_start FUN_02013F10 +FUN_02013F10: ; 0x02013F10 str r1, [r0, #0x24] bx lr - thumb_func_start sub_02013F14 -sub_02013F14: ; 0x02013F14 + thumb_func_start FUN_02013F14 +FUN_02013F14: ; 0x02013F14 str r1, [r0, #0x28] bx lr - thumb_func_start sub_02013F18 -sub_02013F18: ; 0x02013F18 + thumb_func_start FUN_02013F18 +FUN_02013F18: ; 0x02013F18 str r1, [r0, #0x2c] bx lr - thumb_func_start sub_02013F1C -sub_02013F1C: ; 0x02013F1C + thumb_func_start FUN_02013F1C +FUN_02013F1C: ; 0x02013F1C str r1, [r0, #0x30] bx lr - thumb_func_start sub_02013F20 -sub_02013F20: ; 0x02013F20 + thumb_func_start FUN_02013F20 +FUN_02013F20: ; 0x02013F20 cmp r1, #0x0 bne _02013F28 str r2, [r0, #0x34] @@ -38596,18 +38596,18 @@ _02013F28: str r2, [r0, #0x38] bx lr - thumb_func_start sub_02013F2C -sub_02013F2C: ; 0x02013F2C + thumb_func_start FUN_02013F2C +FUN_02013F2C: ; 0x02013F2C str r1, [r0, #0x18] bx lr - thumb_func_start sub_02013F30 -sub_02013F30: ; 0x02013F30 + thumb_func_start FUN_02013F30 +FUN_02013F30: ; 0x02013F30 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x40 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 mov r1, #0x1f add r0, #0x3e @@ -38618,34 +38618,34 @@ sub_02013F30: ; 0x02013F30 nop _02013F4C: .word 0x00007FFF - thumb_func_start sub_02013F50 -sub_02013F50: ; 0x02013F50 - ldr r3, _02013F58 ; =sub_020B1A24 + thumb_func_start FUN_02013F50 +FUN_02013F50: ; 0x02013F50 + ldr r3, _02013F58 ; =FUN_020B1A24 mov r1, #0x0 stmia r0!, {r1} bx r3 .balign 4 -_02013F58: .word sub_020B1A24 +_02013F58: .word FUN_020B1A24 - thumb_func_start sub_02013F5C -sub_02013F5C: ; 0x02013F5C - ldr r3, _02013F64 ; =sub_020B19DC + thumb_func_start FUN_02013F5C +FUN_02013F5C: ; 0x02013F5C + ldr r3, _02013F64 ; =FUN_020B19DC mov r1, #0x0 stmia r0!, {r1} bx r3 .balign 4 -_02013F64: .word sub_020B19DC +_02013F64: .word FUN_020B19DC - thumb_func_start sub_02013F68 -sub_02013F68: ; 0x02013F68 + thumb_func_start FUN_02013F68 +FUN_02013F68: ; 0x02013F68 push {r3-r7, lr} add r6, r0, #0x0 add r0, r1, #0x0 lsl r1, r6, #0x6 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 bne _02013F7C - bl sub_02020C2C + bl FUN_02020C2C _02013F7C: mov r4, #0x0 cmp r6, #0x0 @@ -38653,7 +38653,7 @@ _02013F7C: add r5, r7, #0x0 _02013F84: add r0, r5, #0x0 - bl sub_02013F30 + bl FUN_02013F30 add r4, r4, #0x1 add r5, #0x40 cmp r4, r6 @@ -38663,17 +38663,17 @@ _02013F92: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02013F98 -sub_02013F98: ; 0x02013F98 + thumb_func_start FUN_02013F98 +FUN_02013F98: ; 0x02013F98 push {r3-r7, lr} add r6, r0, #0x0 add r0, r1, #0x0 mov r1, #0x28 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 bne _02013FAE - bl sub_02020C2C + bl FUN_02020C2C _02013FAE: mov r4, #0x0 cmp r6, #0x0 @@ -38681,7 +38681,7 @@ _02013FAE: add r5, r7, #0x0 _02013FB6: add r0, r5, #0x0 - bl sub_02013F50 + bl FUN_02013F50 add r4, r4, #0x1 add r5, #0x28 cmp r4, r6 @@ -38690,17 +38690,17 @@ _02013FC4: add r0, r7, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02013FC8 -sub_02013FC8: ; 0x02013FC8 + thumb_func_start FUN_02013FC8 +FUN_02013FC8: ; 0x02013FC8 push {r3-r7, lr} add r6, r0, #0x0 add r0, r1, #0x0 mov r1, #0x18 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 bne _02013FDE - bl sub_02020C2C + bl FUN_02020C2C _02013FDE: mov r4, #0x0 cmp r6, #0x0 @@ -38708,7 +38708,7 @@ _02013FDE: add r5, r7, #0x0 _02013FE6: add r0, r5, #0x0 - bl sub_02013F5C + bl FUN_02013F5C add r4, r4, #0x1 add r5, #0x18 cmp r4, r6 @@ -38717,8 +38717,8 @@ _02013FF4: add r0, r7, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02013FF8 -sub_02013FF8: ; 0x02013FF8 + thumb_func_start FUN_02013FF8 +FUN_02013FF8: ; 0x02013FF8 push {r3-r4} ldr r4, [r0, #0x4] mov r1, #0x0 @@ -38745,8 +38745,8 @@ _0201401C: bx lr .balign 4 - thumb_func_start sub_02014024 -sub_02014024: ; 0x02014024 + thumb_func_start FUN_02014024 +FUN_02014024: ; 0x02014024 push {r3-r4} ldr r4, [r0, #0x4] mov r1, #0x0 @@ -38773,8 +38773,8 @@ _0201404A: pop {r3-r4} bx lr - thumb_func_start sub_02014050 -sub_02014050: ; 0x02014050 + thumb_func_start FUN_02014050 +FUN_02014050: ; 0x02014050 push {r3-r4} ldr r4, [r0, #0x4] mov r1, #0x0 @@ -38801,8 +38801,8 @@ _02014076: pop {r3-r4} bx lr - thumb_func_start sub_0201407C -sub_0201407C: ; 0x0201407C + thumb_func_start FUN_0201407C +FUN_0201407C: ; 0x0201407C push {r3, lr} ldr r3, _0201408C ; =0x021064B8 mov r1, #0x0 @@ -38814,8 +38814,8 @@ sub_0201407C: ; 0x0201407C .balign 4 _0201408C: .word 0x021064B8 - thumb_func_start sub_02014090 -sub_02014090: ; 0x02014090 + thumb_func_start FUN_02014090 +FUN_02014090: ; 0x02014090 push {r3, lr} ldr r3, _020140A0 ; =0x021064C0 mov r1, #0x0 @@ -38827,18 +38827,18 @@ sub_02014090: ; 0x02014090 .balign 4 _020140A0: .word 0x021064C0 - thumb_func_start sub_020140A4 -sub_020140A4: ; 0x020140A4 + thumb_func_start FUN_020140A4 +FUN_020140A4: ; 0x020140A4 push {r3, lr} lsl r1, r1, #0x10 add r3, r2, #0x0 lsr r1, r1, #0xd mov r2, #0x0 - blx sub_020B1528 + blx FUN_020B1528 pop {r3, pc} - thumb_func_start sub_020140B4 -sub_020140B4: ; 0x020140B4 + thumb_func_start FUN_020140B4 +FUN_020140B4: ; 0x020140B4 push {r3-r5, lr} add r3, r2, #0x0 ldr r2, _020140D4 ; =0xFFFF0000 @@ -38851,14 +38851,14 @@ sub_020140B4: ; 0x020140B4 str r2, [r5, #0x8] lsr r1, r1, #0xd mov r2, #0x0 - blx sub_020B1240 + blx FUN_020B1240 str r4, [r5, #0x8] pop {r3-r5, pc} .balign 4 _020140D4: .word 0xFFFF0000 - thumb_func_start sub_020140D8 -sub_020140D8: ; 0x020140D8 + thumb_func_start FUN_020140D8 +FUN_020140D8: ; 0x020140D8 push {r3-r7, lr} sub sp, #0x18 ldr r7, _020141F8 ; =0x04000444 @@ -38968,7 +38968,7 @@ _02014172: lsl r2, r2, #0x1 ldrsh r0, [r1, r0] ldrsh r1, [r1, r2] - blx sub_020C7FF0 + blx FUN_020C7FF0 ldr r2, [r5, #0x10] ldr r0, [r5, #0xc] ldr r1, _02014210 ; =0x0400046C @@ -39000,7 +39000,7 @@ _02014172: str r4, [sp, #0x10] ldrsh r3, [r5, r3] add r1, r0, #0x0 - blx sub_020B0250 + blx FUN_020B0250 ldr r0, _02014214 ; =0x04000448 mov r1, #0x1 str r1, [r0, #0x0] @@ -39016,8 +39016,8 @@ _0201420C: .word 0x020FFA38 _02014210: .word 0x0400046C _02014214: .word 0x04000448 - thumb_func_start sub_02014218 -sub_02014218: ; 0x02014218 + thumb_func_start FUN_02014218 +FUN_02014218: ; 0x02014218 push {r3-r7, lr} add r5, r1, #0x0 ldr r1, [r5, #0x4] @@ -39053,7 +39053,7 @@ _0201424C: ldrsh r1, [r5, r1] ldrsh r2, [r5, r2] add r0, r7, #0x0 - bl sub_02013EC4 + bl FUN_02013EC4 lsr r1, r6, #0x1f lsr r2, r4, #0x1f add r1, r6, r1 @@ -39063,7 +39063,7 @@ _0201424C: add r0, r7, #0x0 asr r1, r1, #0x10 asr r2, r2, #0x10 - bl sub_02013ED8 + bl FUN_02013ED8 mov r0, #0x1 lsl r0, r0, #0xc str r0, [r7, #0xc] @@ -39071,63 +39071,63 @@ _0201424C: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02013EE8 + bl FUN_02013EE8 ldr r1, [r5, #0x18] add r0, r7, #0x0 - bl sub_02013EFC + bl FUN_02013EFC ldr r1, [r5, #0x14] add r0, r7, #0x0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02013F04 + bl FUN_02013F04 ldr r1, [r5, #0x4] add r0, r7, #0x0 add r1, #0x10 - bl sub_02013F10 + bl FUN_02013F10 ldr r0, [r5, #0x4] mov r1, #0x0 add r0, r0, #0x4 - blx sub_020B1A14 + blx FUN_020B1A14 add r1, r0, #0x0 add r0, r7, #0x0 - bl sub_02013F14 + bl FUN_02013F14 ldr r0, [r5, #0x8] mov r1, #0x0 add r0, r0, #0x4 - blx sub_020B19C4 + blx FUN_020B19C4 add r1, r0, #0x0 add r0, r7, #0x0 - bl sub_02013F18 + bl FUN_02013F18 ldrh r1, [r5, #0x1c] add r0, r7, #0x0 - bl sub_02013F1C + bl FUN_02013F1C mov r1, #0x0 add r0, r7, #0x0 add r2, r1, #0x0 - bl sub_02013F20 + bl FUN_02013F20 add r0, r7, #0x0 mov r1, #0x1 mov r2, #0x0 - bl sub_02013F20 + bl FUN_02013F20 ldrh r1, [r5, #0x10] add r0, r7, #0x0 - bl sub_02013F2C + bl FUN_02013F2C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020142EC -sub_020142EC: ; 0x020142EC + thumb_func_start FUN_020142EC +FUN_020142EC: ; 0x020142EC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - ldr r0, _02014394 ; =sub_020143DC + ldr r0, _02014394 ; =FUN_020143DC mov r1, #0x50 mov r2, #0x0 - bl sub_020061E8 + bl FUN_020061E8 str r0, [sp, #0x4] - bl sub_0201B6C8 + bl FUN_0201B6C8 add r4, r0, #0x0 cmp r5, #0x0 beq _02014330 @@ -39135,31 +39135,31 @@ sub_020142EC: ; 0x020142EC bne _02014320 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020031FC + bl FUN_020031FC str r0, [sp, #0x0] - ldr r0, _02014398 ; =sub_020144E0 + ldr r0, _02014398 ; =FUN_020144E0 str r0, [r4, #0x4] b _0201434A _02014320: add r0, r5, #0x0 mov r1, #0x1 - bl sub_020031FC + bl FUN_020031FC str r0, [sp, #0x0] - ldr r0, _0201439C ; =sub_020144FC + ldr r0, _0201439C ; =FUN_020144FC str r0, [r4, #0x4] b _0201434A _02014330: cmp r6, #0x0 bne _02014340 - bl sub_020222E8 + bl FUN_020222E8 str r0, [sp, #0x0] - ldr r0, _020143A0 ; =sub_020144B0 + ldr r0, _020143A0 ; =FUN_020144B0 str r0, [r4, #0x4] b _0201434A _02014340: - bl sub_020222F8 + bl FUN_020222F8 str r0, [sp, #0x0] - ldr r0, _020143A4 ; =sub_020144C8 + ldr r0, _020143A4 ; =FUN_020144C8 str r0, [r4, #0x4] _0201434A: ldr r1, [sp, #0x0] @@ -39169,14 +39169,14 @@ _0201434A: add r1, r4, #0x0 add r1, #0xc mov r2, #0x20 - blx sub_020CE1E0 + blx FUN_020CE1E0 ldr r1, [sp, #0x0] ldr r0, [sp, #0x8] mov r2, #0x20 add r0, r1, r0 add r1, r4, #0x0 add r1, #0x2c - blx sub_020CE1E0 + blx FUN_020CE1E0 ldr r0, [sp, #0x4] mov r1, #0x1 str r0, [r4, #0x0] @@ -39198,14 +39198,14 @@ _0201434A: add sp, #0xc pop {r4-r7, pc} .balign 4 -_02014394: .word sub_020143DC + 1 -_02014398: .word sub_020144E0 + 1 -_0201439C: .word sub_020144FC + 1 -_020143A0: .word sub_020144B0 + 1 -_020143A4: .word sub_020144C8 + 1 +_02014394: .word FUN_020143DC + 1 +_02014398: .word FUN_020144E0 + 1 +_0201439C: .word FUN_020144FC + 1 +_020143A0: .word FUN_020144B0 + 1 +_020143A4: .word FUN_020144C8 + 1 - thumb_func_start sub_020143A8 -sub_020143A8: ; 0x020143A8 + thumb_func_start FUN_020143A8 +FUN_020143A8: ; 0x020143A8 cmp r1, #0x0 beq _020143B6 cmp r1, #0x1 @@ -39230,16 +39230,16 @@ _020143C6: bx lr .balign 4 - thumb_func_start sub_020143D0 -sub_020143D0: ; 0x020143D0 - ldr r3, _020143D8 ; =sub_0200621C + thumb_func_start FUN_020143D0 +FUN_020143D0: ; 0x020143D0 + ldr r3, _020143D8 ; =FUN_0200621C ldr r0, [r0, #0x0] bx r3 nop -_020143D8: .word sub_0200621C + 1 +_020143D8: .word FUN_0200621C + 1 - thumb_func_start sub_020143DC -sub_020143DC: ; 0x020143DC + thumb_func_start FUN_020143DC +FUN_020143DC: ; 0x020143DC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -39275,8 +39275,8 @@ _02014410: _02014452: pop {r3-r5, pc} - thumb_func_start sub_02014454 -sub_02014454: ; 0x02014454 + thumb_func_start FUN_02014454 +FUN_02014454: ; 0x02014454 push {r4-r5} add r1, r0, #0x0 add r1, #0x4f @@ -39330,8 +39330,8 @@ _020144AA: pop {r4-r5} bx lr - thumb_func_start sub_020144B0 -sub_020144B0: ; 0x020144B0 + thumb_func_start FUN_020144B0 +FUN_020144B0: ; 0x020144B0 push {r3, lr} add r3, r0, #0x0 add r3, #0x4d @@ -39340,12 +39340,12 @@ sub_020144B0: ; 0x020144B0 mov r2, #0x20 lsl r3, r3, #0x15 lsr r3, r3, #0x10 - bl sub_02017FB4 + bl FUN_02017FB4 pop {r3, pc} .balign 4 - thumb_func_start sub_020144C8 -sub_020144C8: ; 0x020144C8 + thumb_func_start FUN_020144C8 +FUN_020144C8: ; 0x020144C8 push {r3, lr} add r3, r0, #0x0 add r3, #0x4d @@ -39354,12 +39354,12 @@ sub_020144C8: ; 0x020144C8 mov r2, #0x20 lsl r3, r3, #0x15 lsr r3, r3, #0x10 - bl sub_02017FB4 + bl FUN_02017FB4 pop {r3, pc} .balign 4 - thumb_func_start sub_020144E0 -sub_020144E0: ; 0x020144E0 + thumb_func_start FUN_020144E0 +FUN_020144E0: ; 0x020144E0 push {r3, lr} add r3, r0, #0x0 mov r0, #0x20 @@ -39370,12 +39370,12 @@ sub_020144E0: ; 0x020144E0 mov r2, #0x0 lsl r3, r3, #0x14 lsr r3, r3, #0x10 - bl sub_02003054 + bl FUN_02003054 pop {r3, pc} .balign 4 - thumb_func_start sub_020144FC -sub_020144FC: ; 0x020144FC + thumb_func_start FUN_020144FC +FUN_020144FC: ; 0x020144FC push {r3, lr} add r3, r0, #0x0 mov r0, #0x20 @@ -39386,37 +39386,37 @@ sub_020144FC: ; 0x020144FC mov r2, #0x1 lsl r3, r3, #0x14 lsr r3, r3, #0x10 - bl sub_02003054 + bl FUN_02003054 pop {r3, pc} .balign 4 - thumb_func_start sub_02014518 -sub_02014518: ; 0x02014518 + thumb_func_start FUN_02014518 +FUN_02014518: ; 0x02014518 push {r3-r7, lr} mov r1, #0x78 add r7, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x78 add r6, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r2, _02014560 ; =0x0000019E mov r0, #0x0 mov r1, #0x1a add r3, r7, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r6, #0x0] mov r4, #0x0 add r5, r6, #0x0 _0201453E: mov r0, #0x16 add r1, r7, #0x0 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x4] ldr r0, [r6, #0x0] ldr r2, [r5, #0x4] add r1, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x1d @@ -39426,8 +39426,8 @@ _0201453E: nop _02014560: .word 0x0000019E - thumb_func_start sub_02014564 -sub_02014564: ; 0x02014564 + thumb_func_start FUN_02014564 +FUN_02014564: ; 0x02014564 push {r4-r6, lr} add r6, r0, #0x0 add r5, r6, #0x0 @@ -39435,38 +39435,38 @@ sub_02014564: ; 0x02014564 add r5, #0x70 _0201456E: ldr r0, [r5, #0x4] - bl sub_02021A20 + bl FUN_02021A20 sub r5, r5, #0x4 sub r4, r4, #0x1 bpl _0201456E ldr r0, [r6, #0x0] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} - thumb_func_start sub_02014588 -sub_02014588: ; 0x02014588 + thumb_func_start FUN_02014588 +FUN_02014588: ; 0x02014588 lsl r1, r1, #0x2 add r0, r0, r1 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02014590 -sub_02014590: ; 0x02014590 + thumb_func_start FUN_02014590 +FUN_02014590: ; 0x02014590 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9c - bl sub_02016998 + bl FUN_02016998 add r1, r5, #0x0 add r4, r0, #0x0 - bl sub_020146F0 + bl FUN_020146F0 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020145A8 -sub_020145A8: ; 0x020145A8 + thumb_func_start FUN_020145A8 +FUN_020145A8: ; 0x020145A8 push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 @@ -39476,15 +39476,15 @@ sub_020145A8: ; 0x020145A8 lsr r1, r1, #0x1c cmp r1, #0x1 bne _020145BE - bl sub_020146C4 + bl FUN_020146C4 _020145BE: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020145C8 -sub_020145C8: ; 0x020145C8 + thumb_func_start FUN_020145C8 +FUN_020145C8: ; 0x020145C8 push {r3-r5, lr} add r4, r1, #0x0 ldr r2, [r4, #0x0] @@ -39502,16 +39502,16 @@ sub_020145C8: ; 0x020145C8 ldrb r3, [r4, #0x11] add r2, #0x99 strb r3, [r2, #0x0] - bl sub_02014730 + bl FUN_02014730 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02014754 + bl FUN_02014754 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02014784 + bl FUN_02014784 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02014814 + bl FUN_02014814 add r0, r5, #0x0 add r0, #0x9b ldrb r1, [r0, #0x0] @@ -39534,8 +39534,8 @@ sub_020145C8: ; 0x020145C8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02014630 -sub_02014630: ; 0x02014630 + thumb_func_start FUN_02014630 +FUN_02014630: ; 0x02014630 push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 @@ -39548,7 +39548,7 @@ sub_02014630: ; 0x02014630 add r1, r4, #0x0 add r1, #0x9b strb r2, [r1, #0x0] - bl sub_0201466C + bl FUN_0201466C cmp r0, #0x0 bne _0201466A add r1, r4, #0x0 @@ -39568,8 +39568,8 @@ _02014668: _0201466A: pop {r4, pc} - thumb_func_start sub_0201466C -sub_0201466C: ; 0x0201466C + thumb_func_start FUN_0201466C +FUN_0201466C: ; 0x0201466C push {r4, lr} add r4, r0, #0x0 add r0, #0x9b @@ -39578,7 +39578,7 @@ sub_0201466C: ; 0x0201466C lsr r0, r0, #0x1c cmp r0, #0x1 beq _02014680 - bl sub_02020C2C + bl FUN_02020C2C _02014680: add r0, r4, #0x0 add r0, #0x9a @@ -39586,7 +39586,7 @@ _02014680: cmp r0, #0x3 bne _02014690 ldr r0, [r4, #0x0] - bl sub_02022144 + bl FUN_02022144 _02014690: add r1, r4, #0x0 add r1, #0x9a @@ -39599,7 +39599,7 @@ _02014690: add r1, #0xc mul r0, r2 add r0, r1, r0 - bl sub_02014930 + bl FUN_02014930 _020146AA: cmp r0, #0x1 bne _020146BE @@ -39617,18 +39617,18 @@ _020146BE: pop {r4, pc} .balign 4 - thumb_func_start sub_020146C4 -sub_020146C4: ; 0x020146C4 + thumb_func_start FUN_020146C4 +FUN_020146C4: ; 0x020146C4 push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_0202212C + bl FUN_0202212C add r5, r6, #0x0 mov r4, #0x0 add r5, #0xc _020146D4: add r0, r5, #0x0 - bl sub_02014970 + bl FUN_02014970 add r4, r4, #0x1 add r5, #0x38 cmp r4, #0x2 @@ -39636,18 +39636,18 @@ _020146D4: add r0, r6, #0x0 add r6, #0x84 ldr r1, [r6, #0x0] - bl sub_020146F0 + bl FUN_020146F0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020146F0 -sub_020146F0: ; 0x020146F0 + thumb_func_start FUN_020146F0 +FUN_020146F0: ; 0x020146F0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x0 mov r2, #0x9c - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 add r0, #0x9b ldrb r1, [r0, #0x0] @@ -39674,8 +39674,8 @@ sub_020146F0: ; 0x020146F0 strb r0, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02014730 -sub_02014730: ; 0x02014730 + thumb_func_start FUN_02014730 +FUN_02014730: ; 0x02014730 push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 @@ -39690,12 +39690,12 @@ sub_02014730: ; 0x02014730 add r3, #0x80 ldr r3, [r3, #0x0] mov r0, #0x54 - bl sub_02014A3C + bl FUN_02014A3C add sp, #0x8 pop {r3, pc} - thumb_func_start sub_02014754 -sub_02014754: ; 0x02014754 + thumb_func_start FUN_02014754 +FUN_02014754: ; 0x02014754 push {r3, lr} sub sp, #0x8 add r3, r1, #0x0 @@ -39718,12 +39718,12 @@ _0201476A: ldr r3, [r3, #0xc] mov r0, #0x54 lsl r3, r3, #0x5 - bl sub_02014A8C + bl FUN_02014A8C add sp, #0x8 pop {r3, pc} - thumb_func_start sub_02014784 -sub_02014784: ; 0x02014784 + thumb_func_start FUN_02014784 +FUN_02014784: ; 0x02014784 push {r3-r7, lr} sub sp, #0x30 add r7, r0, #0x0 @@ -39790,7 +39790,7 @@ _020147D8: str r0, [sp, #0x20] ldr r2, [r2, #0x0] add r0, r4, #0x0 - bl sub_020148A8 + bl FUN_020148A8 add r5, r5, #0x1 add r6, r6, #0x4 add r4, #0x38 @@ -39799,8 +39799,8 @@ _020147D8: add sp, #0x30 pop {r3-r7, pc} - thumb_func_start sub_02014814 -sub_02014814: ; 0x02014814 + thumb_func_start FUN_02014814 +FUN_02014814: ; 0x02014814 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -39840,20 +39840,20 @@ _02014820: add r0, r4, #0x0 add r0, #0x84 ldr r0, [r0, #0x0] - ldr r2, _02014874 ; =sub_02014878 + ldr r2, _02014874 ; =FUN_02014878 str r0, [sp, #0x0] add r0, r4, #0x4 mov r1, #0x2 add r3, r4, #0x0 - bl sub_020220C4 + bl FUN_020220C4 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r4, pc} .balign 4 -_02014874: .word sub_02014878 + 1 +_02014874: .word FUN_02014878 + 1 - thumb_func_start sub_02014878 -sub_02014878: ; 0x02014878 + thumb_func_start FUN_02014878 +FUN_02014878: ; 0x02014878 push {r4, lr} add r3, r2, #0x0 add r3, #0x9b @@ -39873,14 +39873,14 @@ sub_02014878: ; 0x02014878 add r2, #0x9a strb r0, [r2, #0x0] ldr r0, _020148A4 ; =0x000005E4 - bl sub_020054C8 + bl FUN_020054C8 _020148A2: pop {r4, pc} .balign 4 _020148A4: .word 0x000005E4 - thumb_func_start sub_020148A8 -sub_020148A8: ; 0x020148A8 + thumb_func_start FUN_020148A8 +FUN_020148A8: ; 0x020148A8 push {r3-r7, lr} sub sp, #0x10 add r5, r1, #0x0 @@ -39889,7 +39889,7 @@ sub_020148A8: ; 0x020148A8 ldr r1, [r5, #0x24] ldr r2, [r5, #0x28] add r0, #0x28 - bl sub_020149FC + bl FUN_020149FC ldr r1, [r5, #0x0] ldr r0, [sp, #0x4] ldr r6, [sp, #0x4] @@ -39920,14 +39920,14 @@ _020148EA: ldr r0, [r5, #0x8] ldr r1, [r7, #0xc] add r3, r6, #0x0 - bl sub_02006BDC + bl FUN_02006BDC str r0, [r4, #0x8] ldr r0, [r4, #0x18] ldr r1, [r5, #0x1c] - bl sub_02014BA4 + bl FUN_02014BA4 ldr r0, [r4, #0x18] ldr r1, [r5, #0x20] - bl sub_02014BC4 + bl FUN_02014BC4 ldr r0, [sp, #0xc] add r6, r6, #0x4 add r0, r0, #0x1 @@ -39937,7 +39937,7 @@ _020148EA: cmp r0, #0x4 blt _020148EA ldr r0, [sp, #0x4] - bl sub_020149D0 + bl FUN_020149D0 ldr r0, [sp, #0x4] mov r1, #0x0 add r0, #0x36 @@ -39946,12 +39946,12 @@ _020148EA: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_02014930 -sub_02014930: ; 0x02014930 + thumb_func_start FUN_02014930 +FUN_02014930: ; 0x02014930 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x28 - bl sub_02014A10 + bl FUN_02014A10 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x36 @@ -39959,7 +39959,7 @@ sub_02014930: ; 0x02014930 cmp r0, r4 beq _02014952 add r0, r5, #0x0 - bl sub_020149D0 + bl FUN_020149D0 add r0, r5, #0x0 add r0, #0x36 strb r4, [r0, #0x0] @@ -39975,13 +39975,13 @@ _0201495E: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc - bl sub_02014A08 + bl FUN_02014A08 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02014970 -sub_02014970: ; 0x02014970 + thumb_func_start FUN_02014970 +FUN_02014970: ; 0x02014970 push {r4-r6, lr} sub sp, #0x10 add r6, r0, #0x0 @@ -40006,17 +40006,17 @@ sub_02014970: ; 0x02014970 lsl r1, r1, #0x18 ldr r0, [r6, #0x0] lsr r1, r1, #0x18 - bl sub_02018540 + bl FUN_02018540 ldr r1, [r6, #0x4] ldr r0, [r6, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0201AC68 + bl FUN_0201AC68 mov r4, #0x0 add r5, r6, #0x0 _020149B4: ldr r0, [r5, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 @@ -40024,17 +40024,17 @@ _020149B4: add r0, r6, #0x0 mov r1, #0x0 mov r2, #0x38 - blx sub_020DF4A4 + blx FUN_020DF4A4 add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_020149D0 -sub_020149D0: ; 0x020149D0 + thumb_func_start FUN_020149D0 +FUN_020149D0: ; 0x020149D0 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, #0x28 - bl sub_02014A10 + bl FUN_02014A10 add r2, r0, #0x0 add r0, r4, #0x0 add r0, #0x35 @@ -40047,12 +40047,12 @@ sub_020149D0: ; 0x020149D0 add r4, #0x34 ldrb r3, [r4, #0x0] ldr r2, [r2, #0x18] - bl sub_02014B58 + bl FUN_02014B58 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_020149FC -sub_020149FC: ; 0x020149FC + thumb_func_start FUN_020149FC +FUN_020149FC: ; 0x020149FC str r1, [r0, #0x0] str r2, [r0, #0x4] mov r1, #0x0 @@ -40060,15 +40060,15 @@ sub_020149FC: ; 0x020149FC bx lr .balign 4 - thumb_func_start sub_02014A08 -sub_02014A08: ; 0x02014A08 + thumb_func_start FUN_02014A08 +FUN_02014A08: ; 0x02014A08 ldr r2, [r0, #0x8] add r1, r2, r1 str r1, [r0, #0x8] bx lr - thumb_func_start sub_02014A10 -sub_02014A10: ; 0x02014A10 + thumb_func_start FUN_02014A10 +FUN_02014A10: ; 0x02014A10 push {r4-r5} ldr r5, [r0, #0x4] mov r2, #0x0 @@ -40095,8 +40095,8 @@ _02014A34: bx lr .balign 4 - thumb_func_start sub_02014A3C -sub_02014A3C: ; 0x02014A3C + thumb_func_start FUN_02014A3C +FUN_02014A3C: ; 0x02014A3C push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 @@ -40105,7 +40105,7 @@ sub_02014A3C: ; 0x02014A3C mov r1, #0x14 add r5, r2, #0x0 add r6, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r2, r4, #0x0 mov r1, #0x14 @@ -40121,23 +40121,23 @@ _02014A58: add r0, r7, #0x0 mov r2, #0x1 add r3, r4, #0x4 - bl sub_02006BB0 + bl FUN_02006BB0 str r0, [r4, #0x8] str r5, [r4, #0x0] ldr r0, [sp, #0x20] str r6, [r4, #0xc] str r0, [r4, #0x10] - ldr r0, _02014A88 ; =sub_02014AD4 + ldr r0, _02014A88 ; =FUN_02014AD4 add r1, r4, #0x0 mov r2, #0x80 - bl sub_0200CA98 + bl FUN_0200CA98 add sp, #0x8 pop {r3-r7, pc} .balign 4 -_02014A88: .word sub_02014AD4 + 1 +_02014A88: .word FUN_02014AD4 + 1 - thumb_func_start sub_02014A8C -sub_02014A8C: ; 0x02014A8C + thumb_func_start FUN_02014A8C +FUN_02014A8C: ; 0x02014A8C push {r3-r7, lr} add r7, r0, #0x0 str r1, [sp, #0x0] @@ -40145,7 +40145,7 @@ sub_02014A8C: ; 0x02014A8C mov r1, #0x14 add r5, r2, #0x0 add r6, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r2, r4, #0x0 mov r1, #0x14 @@ -40159,29 +40159,29 @@ _02014AA6: ldr r3, [sp, #0x1c] add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_02006C08 + bl FUN_02006C08 str r0, [r4, #0x4] str r5, [r4, #0x8] ldr r0, [sp, #0x18] str r6, [r4, #0xc] str r0, [r4, #0x10] - ldr r0, _02014AD0 ; =sub_02014B10 + ldr r0, _02014AD0 ; =FUN_02014B10 add r1, r4, #0x0 mov r2, #0x80 - bl sub_0200CA98 + bl FUN_0200CA98 pop {r3-r7, pc} .balign 4 -_02014AD0: .word sub_02014B10 + 1 +_02014AD0: .word FUN_02014B10 + 1 - thumb_func_start sub_02014AD4 -sub_02014AD4: ; 0x02014AD4 + thumb_func_start FUN_02014AD4 +FUN_02014AD4: ; 0x02014AD4 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [r4, #0x4] add r5, r0, #0x0 ldr r0, [r1, #0x14] ldr r1, [r1, #0x10] - blx sub_020CC15C + blx FUN_020CC15C ldr r3, [r4, #0x4] ldr r0, [r4, #0x10] str r0, [sp, #0x0] @@ -40191,25 +40191,25 @@ sub_02014AD4: ; 0x02014AD4 ldr r0, [r4, #0x0] ldr r3, [r3, #0x10] lsr r1, r1, #0x18 - bl sub_02017E14 + bl FUN_02017E14 add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02014B10 -sub_02014B10: ; 0x02014B10 + thumb_func_start FUN_02014B10 +FUN_02014B10: ; 0x02014B10 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r4, #0x10] ldr r0, [r0, #0xc] - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [r4, #0x8] cmp r0, #0x0 bne _02014B34 @@ -40217,7 +40217,7 @@ sub_02014B10: ; 0x02014B10 ldr r1, [r4, #0xc] ldr r0, [r0, #0xc] ldr r2, [r4, #0x10] - blx sub_020C9550 + blx FUN_020C9550 b _02014B44 _02014B34: cmp r0, #0x4 @@ -40226,18 +40226,18 @@ _02014B34: ldr r1, [r4, #0xc] ldr r0, [r0, #0xc] ldr r2, [r4, #0x10] - blx sub_020C94E8 + blx FUN_020C94E8 _02014B44: add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} - thumb_func_start sub_02014B58 -sub_02014B58: ; 0x02014B58 + thumb_func_start FUN_02014B58 +FUN_02014B58: ; 0x02014B58 push {r3-r6, lr} sub sp, #0x1c add r4, r1, #0x0 @@ -40266,17 +40266,17 @@ sub_02014B58: ; 0x02014B58 lsr r2, r2, #0x18 lsr r3, r3, #0x18 add r5, r0, #0x0 - bl sub_02018170 + bl FUN_02018170 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x1c pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02014BA4 -sub_02014BA4: ; 0x02014BA4 + thumb_func_start FUN_02014BA4 +FUN_02014BA4: ; 0x02014BA4 push {r3-r4} ldr r2, [r0, #0x8] add r0, #0xc @@ -40296,8 +40296,8 @@ _02014BC0: pop {r3-r4} bx lr - thumb_func_start sub_02014BC4 -sub_02014BC4: ; 0x02014BC4 + thumb_func_start FUN_02014BC4 +FUN_02014BC4: ; 0x02014BC4 push {r4-r5} ldr r2, [r0, #0x8] add r0, #0xc @@ -40324,14 +40324,14 @@ _02014BEA: nop _02014BF0: .word 0x00000FFF - thumb_func_start sub_02014BF4 -sub_02014BF4: ; 0x02014BF4 + thumb_func_start FUN_02014BF4 +FUN_02014BF4: ; 0x02014BF4 push {r3-r7, lr} add r7, r1, #0x0 mov r1, #0xc add r5, r0, #0x0 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 strb r6, [r4, #0x8] mov r0, #0x1d @@ -40342,32 +40342,32 @@ sub_02014BF4: ; 0x02014BF4 add r0, r5, #0x0 add r1, r6, #0x0 str r5, [r4, #0x4] - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 add r2, r6, #0x0 str r0, [r4, #0x0] - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02014C28 -sub_02014C28: ; 0x02014C28 + thumb_func_start FUN_02014C28 +FUN_02014C28: ; 0x02014C28 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02014C3C -sub_02014C3C: ; 0x02014C3C + thumb_func_start FUN_02014C3C +FUN_02014C3C: ; 0x02014C3C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x19 blo _02014C48 - bl sub_02020C2C + bl FUN_02020C2C _02014C48: ldr r0, _02014C50 ; =0x020ED64C ldrb r0, [r0, r4] @@ -40375,8 +40375,8 @@ _02014C48: nop _02014C50: .word 0x020ED64C - thumb_func_start sub_02014C54 -sub_02014C54: ; 0x02014C54 + thumb_func_start FUN_02014C54 +FUN_02014C54: ; 0x02014C54 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -40391,7 +40391,7 @@ sub_02014C54: ; 0x02014C54 str r2, [sp, #0x0] cmp r0, r1 blo _02014C74 - bl sub_02020C2C + bl FUN_02020C2C _02014C74: ldr r0, [sp, #0x4] mov r1, #0x1d @@ -40403,14 +40403,14 @@ _02014C74: ldr r0, [r0, #0x10] cmp r0, #0x0 beq _02014C8C - bl sub_02020C2C + bl FUN_02020C2C _02014C8C: ldr r0, [r5, #0x0] mov r2, #0x1d add r0, r0, r4 mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [r5, #0x0] mov r1, #0x1 add r0, r0, r4 @@ -40444,7 +40444,7 @@ _02014CC2: add r1, r1, r4 ldr r1, [r1, #0x14] mov r0, #0x5e - bl sub_02006528 + bl FUN_02006528 ldr r1, [r5, #0x0] mov r2, #0x0 add r1, r1, r4 @@ -40473,9 +40473,9 @@ _02014CC2: add r1, r1, r4 strb r2, [r1, r0] ldr r1, [r5, #0x0] - ldr r0, _02014D78 ; =sub_02014DD8 + ldr r0, _02014D78 ; =FUN_02014DD8 add r1, r1, r4 - bl sub_0200CA44 + bl FUN_0200CA44 ldr r1, [r5, #0x0] add r1, r1, r4 str r0, [r1, #0x4] @@ -40485,13 +40485,13 @@ _02014CC2: str r0, [r1, #0x54] add r0, r7, #0x0 mov r1, #0x0 - bl sub_0200782C + bl FUN_0200782C ldr r1, [r5, #0x0] add r1, r1, r4 str r0, [r1, #0x58] add r0, r7, #0x0 mov r1, #0x1 - bl sub_0200782C + bl FUN_0200782C ldr r1, [r5, #0x0] add r1, r1, r4 str r0, [r1, #0x5c] @@ -40521,17 +40521,17 @@ _02014CC2: pop {r4-r7, pc} .balign 4 _02014D74: .word 0x000001CD -_02014D78: .word sub_02014DD8 + 1 +_02014D78: .word FUN_02014DD8 + 1 - thumb_func_start sub_02014D7C -sub_02014D7C: ; 0x02014D7C + thumb_func_start FUN_02014D7C +FUN_02014D7C: ; 0x02014D7C push {r3-r5, lr} add r5, r0, #0x0 ldrb r0, [r5, #0x9] add r4, r1, #0x0 cmp r4, r0 blo _02014D8C - bl sub_02020C2C + bl FUN_02020C2C _02014D8C: mov r0, #0x1d lsl r0, r0, #0x4 @@ -40542,8 +40542,8 @@ _02014D8C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02014D9C -sub_02014D9C: ; 0x02014D9C + thumb_func_start FUN_02014D9C +FUN_02014D9C: ; 0x02014D9C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1d @@ -40555,7 +40555,7 @@ sub_02014D9C: ; 0x02014D9C ldr r0, [r0, #0x4] cmp r0, #0x0 beq _02014DD6 - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r1, [r5, #0x0] mov r0, #0x0 add r1, r1, r4 @@ -40570,12 +40570,12 @@ sub_02014D9C: ; 0x02014D9C ldr r0, [r5, #0x0] add r0, r0, r4 ldr r0, [r0, #0x8] - bl sub_02016A18 + bl FUN_02016A18 _02014DD6: pop {r3-r5, pc} - thumb_func_start sub_02014DD8 -sub_02014DD8: ; 0x02014DD8 + thumb_func_start FUN_02014DD8 +FUN_02014DD8: ; 0x02014DD8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -40583,7 +40583,7 @@ sub_02014DD8: ; 0x02014DD8 cmp r0, #0x0 bne _02014DEC add r0, r4, #0x0 - bl sub_02014E10 + bl FUN_02014E10 b _02014DF0 _02014DEC: sub r0, r0, #0x1 @@ -40597,16 +40597,16 @@ _02014DF0: mov r0, #0x0 str r0, [r4, #0x10] add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 mov r0, #0x0 str r0, [r4, #0x4] ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 _02014E0E: pop {r3-r5, pc} - thumb_func_start sub_02014E10 -sub_02014E10: ; 0x02014E10 + thumb_func_start FUN_02014E10 +FUN_02014E10: ; 0x02014E10 push {r3-r7, lr} add r5, r0, #0x0 mov r6, #0x0 @@ -40661,9 +40661,9 @@ _02014E68: cmp r1, #0x0 beq _02014E7E add r0, r5, #0x0 - bl sub_020156E8 + bl FUN_020156E8 add r0, r5, #0x0 - bl sub_02015730 + bl FUN_02015730 pop {r3-r7, pc} _02014E7E: add r0, r0, #0x2 @@ -40671,7 +40671,7 @@ _02014E7E: cmp r0, #0x0 beq _02014E96 ldr r0, [r5, #0x0] - bl sub_02007F20 + bl FUN_02007F20 cmp r0, #0x0 bne _02014EF8 ldr r0, _02014F00 ; =0x000001CF @@ -40691,7 +40691,7 @@ _02014EA0: ldr r0, [r0, #0x0] cmp r0, #0x22 blo _02014EB2 - bl sub_02020C2C + bl FUN_02020C2C _02014EB2: ldr r1, [r5, #0xc] add r0, r5, #0x0 @@ -40713,9 +40713,9 @@ _02014EB2: cmp r0, #0x0 beq _02014EE6 add r0, r5, #0x0 - bl sub_020156E8 + bl FUN_020156E8 add r0, r5, #0x0 - bl sub_02015730 + bl FUN_02015730 pop {r3-r7, pc} _02014EE6: mov r0, #0x1 @@ -40723,7 +40723,7 @@ _02014EE6: lsl r0, r0, #0x8 cmp r1, r0 blt _02014EA0 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 str r0, [r5, #0x1c] _02014EF8: @@ -40733,14 +40733,14 @@ _02014EFC: .word 0x000001CD _02014F00: .word 0x000001CF _02014F04: .word 0x020ED6A4 - thumb_func_start sub_02014F08 -sub_02014F08: ; 0x02014F08 + thumb_func_start FUN_02014F08 +FUN_02014F08: ; 0x02014F08 push {r4, lr} lsl r1, r1, #0x2 ldr r4, [r0, r1] cmp r2, #0x1 beq _02014F16 - bl sub_02020C2C + bl FUN_02020C2C _02014F16: add r0, r4, #0x0 pop {r4, pc} @@ -40749,16 +40749,16 @@ _02014F1C: .byte 0x01, 0x4B, 0x0A, 0x1C .byte 0x00, 0x21, 0x18, 0x47, 0x09, 0x4F, 0x01, 0x02 - thumb_func_start sub_02014F28 -sub_02014F28: ; 0x02014F28 + thumb_func_start FUN_02014F28 +FUN_02014F28: ; 0x02014F28 ldr r3, _02014F30 ; =0x02014F1D mov r1, #0x1 bx r3 nop _02014F30: .word 0x02014F1D - thumb_func_start sub_02014F34 -sub_02014F34: ; 0x02014F34 + thumb_func_start FUN_02014F34 +FUN_02014F34: ; 0x02014F34 push {r3-r5, lr} add r5, r1, #0x0 mov r3, #0x0 @@ -40774,7 +40774,7 @@ _02014F3E: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x54 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x1 str r0, [r4, #0x0] mov r0, #0xc @@ -40791,76 +40791,76 @@ _02014F68: lsr r3, r1, #0x18 cmp r3, #0x4 blo _02014F3E - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} nop _02014F7C: .word 0x020ED668 - thumb_func_start sub_02014F80 -sub_02014F80: ; 0x02014F80 + thumb_func_start FUN_02014F80 +FUN_02014F80: ; 0x02014F80 push {r4, lr} add r4, r1, #0x0 ldr r1, [r0, #0xc] add r1, r1, #0x4 str r1, [r0, #0xc] add r0, r1, #0x0 - bl sub_02014F28 + bl FUN_02014F28 str r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02014F94 -sub_02014F94: ; 0x02014F94 + thumb_func_start FUN_02014F94 +FUN_02014F94: ; 0x02014F94 push {r4, lr} add r4, r1, #0x0 ldr r1, [r0, #0xc] add r1, r1, #0x4 str r1, [r0, #0xc] add r0, r1, #0x0 - bl sub_02014F28 + bl FUN_02014F28 strb r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02014FA8 -sub_02014FA8: ; 0x02014FA8 + thumb_func_start FUN_02014FA8 +FUN_02014FA8: ; 0x02014FA8 push {r4, lr} add r4, r1, #0x0 ldr r1, [r0, #0xc] add r1, r1, #0x4 str r1, [r0, #0xc] add r0, r1, #0x0 - bl sub_02014F28 + bl FUN_02014F28 strb r0, [r4, #0x0] ldrb r0, [r4, #0x0] cmp r0, #0x8 blo _02014FC4 - bl sub_02020C2C + bl FUN_02020C2C _02014FC4: pop {r4, pc} .balign 4 - thumb_func_start sub_02014FC8 -sub_02014FC8: ; 0x02014FC8 + thumb_func_start FUN_02014FC8 +FUN_02014FC8: ; 0x02014FC8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 pop {r3-r5, pc} - thumb_func_start sub_02014FDC -sub_02014FDC: ; 0x02014FDC + thumb_func_start FUN_02014FDC +FUN_02014FDC: ; 0x02014FDC push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x12 @@ -40868,7 +40868,7 @@ sub_02014FDC: ; 0x02014FDC add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x2 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] add r1, r6, #0x0 @@ -40877,7 +40877,7 @@ sub_02014FDC: ; 0x02014FDC ldr r0, [r0, #0x24] str r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02014F80 + bl FUN_02014F80 add sp, #0x4 pop {r3-r6, pc} _0201501C: @@ -40888,7 +40888,7 @@ _0201501C: add r0, r5, #0x0 add r1, #0x2 add r2, #0x1 - bl sub_02014FC8 + bl FUN_02014FC8 add r0, sp, #0x0 ldrb r1, [r0, #0x2] add sp, #0x4 @@ -40903,32 +40903,32 @@ _0201501C: str r0, [r6, #0x0] pop {r3-r6, pc} _02015048: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_02015050 -sub_02015050: ; 0x02015050 + thumb_func_start FUN_02015050 +FUN_02015050: ; 0x02015050 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x1 - bl sub_02014F94 + bl FUN_02014F94 add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x1] cmp r0, #0x12 bne _02015082 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02014F80 + bl FUN_02014F80 b _020150A2 _02015082: cmp r0, #0x13 @@ -40936,7 +40936,7 @@ _02015082: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x3 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x3] lsl r0, r0, #0x2 @@ -40945,7 +40945,7 @@ _02015082: str r0, [r4, #0x0] b _020150A2 _0201509E: - bl sub_02020C2C + bl FUN_02020C2C _020150A2: add r0, sp, #0x0 ldrb r0, [r0, #0x0] @@ -40953,7 +40953,7 @@ _020150A2: bne _020150B6 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02014F80 + bl FUN_02014F80 add sp, #0x4 pop {r3-r6, pc} _020150B6: @@ -40962,7 +40962,7 @@ _020150B6: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x2 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] add sp, #0x4 @@ -40972,12 +40972,12 @@ _020150B6: str r0, [r6, #0x0] pop {r3-r6, pc} _020150D4: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_020150DC -sub_020150DC: ; 0x020150DC + thumb_func_start FUN_020150DC +FUN_020150DC: ; 0x020150DC push {r3-r7, lr} sub sp, #0x8 add r4, r2, #0x0 @@ -40985,7 +40985,7 @@ sub_020150DC: ; 0x020150DC add r2, #0x3 add r5, r0, #0x0 add r6, r3, #0x0 - bl sub_02014FC8 + bl FUN_02014FC8 add r0, sp, #0x0 ldrb r0, [r0, #0x3] add r1, sp, #0x0 @@ -40993,14 +40993,14 @@ sub_020150DC: ; 0x020150DC add r0, r5, r0 ldr r7, [r0, #0x24] add r0, r5, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x14 bne _02015112 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02014F80 + bl FUN_02014F80 b _02015132 _02015112: cmp r0, #0x15 @@ -41008,7 +41008,7 @@ _02015112: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x2 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] lsl r0, r0, #0x2 @@ -41017,18 +41017,18 @@ _02015112: str r0, [r6, #0x0] b _02015132 _0201512E: - bl sub_02020C2C + bl FUN_02020C2C _02015132: add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x14 bne _0201514C add r0, r5, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 b _0201516C _0201514C: cmp r0, #0x15 @@ -41036,7 +41036,7 @@ _0201514C: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x1 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x1] lsl r0, r0, #0x2 @@ -41045,7 +41045,7 @@ _0201514C: str r0, [sp, #0x4] b _0201516C _02015168: - bl sub_02020C2C + bl FUN_02020C2C _0201516C: ldr r0, [sp, #0x4] add r0, r7, r0 @@ -41060,8 +41060,8 @@ _0201516C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02015184 -sub_02015184: ; 0x02015184 + thumb_func_start FUN_02015184 +FUN_02015184: ; 0x02015184 ldr r2, [r0, #0x0] ldr r0, [r1, #0x0] sub r0, r2, r0 @@ -41077,8 +41077,8 @@ _02015198: mov r0, #0x11 bx lr - thumb_func_start sub_0201519C -sub_0201519C: ; 0x0201519C + thumb_func_start FUN_0201519C +FUN_0201519C: ; 0x0201519C add r2, r0, #0x0 ldr r0, [r2, #0x0] ldr r2, [r2, #0x74] @@ -41087,71 +41087,71 @@ sub_0201519C: ; 0x0201519C asr r2, r3, #0x2 lsr r2, r2, #0x1d add r2, r3, r2 - ldr r3, _020151B4 ; =sub_020079E0 + ldr r3, _020151B4 ; =FUN_020079E0 asr r2, r2, #0x3 bx r3 nop -_020151B4: .word sub_020079E0 + 1 +_020151B4: .word FUN_020079E0 + 1 - thumb_func_start sub_020151B8 -sub_020151B8: ; 0x020151B8 + thumb_func_start FUN_020151B8 +FUN_020151B8: ; 0x020151B8 push {r4, lr} add r4, r0, #0x0 - bl sub_020151D0 + bl FUN_020151D0 mov r0, #0x1 str r0, [r4, #0x18] str r0, [r4, #0x1c] pop {r4, pc} - thumb_func_start sub_020151C8 -sub_020151C8: ; 0x020151C8 + thumb_func_start FUN_020151C8 +FUN_020151C8: ; 0x020151C8 mov r1, #0x1 str r1, [r0, #0x18] bx lr .balign 4 - thumb_func_start sub_020151D0 -sub_020151D0: ; 0x020151D0 + thumb_func_start FUN_020151D0 +FUN_020151D0: ; 0x020151D0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r4, #0x58] mov r1, #0x0 - bl sub_02007558 + bl FUN_02007558 ldr r0, [r4, #0x0] ldr r2, [r4, #0x5c] mov r1, #0x1 - bl sub_02007558 + bl FUN_02007558 ldr r0, [r4, #0x0] mov r1, #0x9 mov r2, #0x0 - bl sub_02007558 + bl FUN_02007558 ldr r0, [r4, #0x0] mov r1, #0xa mov r2, #0x0 - bl sub_02007558 + bl FUN_02007558 mov r1, #0xc add r2, r1, #0x0 ldr r0, [r4, #0x0] add r2, #0xf4 - bl sub_02007558 + bl FUN_02007558 mov r1, #0xd add r2, r1, #0x0 ldr r0, [r4, #0x0] add r2, #0xf3 - bl sub_02007558 + bl FUN_02007558 pop {r4, pc} .balign 4 - thumb_func_start sub_02015218 -sub_02015218: ; 0x02015218 + thumb_func_start FUN_02015218 +FUN_02015218: ; 0x02015218 push {r3-r4, lr} sub sp, #0x4 add r1, sp, #0x0 add r1, #0x1 add r2, sp, #0x0 add r4, r0, #0x0 - bl sub_02014FC8 + bl FUN_02014FC8 add r0, sp, #0x0 ldrb r1, [r0, #0x0] ldrb r0, [r0, #0x1] @@ -41165,15 +41165,15 @@ sub_02015218: ; 0x02015218 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02015240 -sub_02015240: ; 0x02015240 + thumb_func_start FUN_02015240 +FUN_02015240: ; 0x02015240 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_02014FDC + bl FUN_02014FDC ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] add r1, r1, r0 @@ -41185,15 +41185,15 @@ sub_02015240: ; 0x02015240 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_02015264 -sub_02015264: ; 0x02015264 + thumb_func_start FUN_02015264 +FUN_02015264: ; 0x02015264 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_02014FDC + bl FUN_02014FDC ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] add r2, r1, #0x0 @@ -41207,15 +41207,15 @@ sub_02015264: ; 0x02015264 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201528C -sub_0201528C: ; 0x0201528C + thumb_func_start FUN_0201528C +FUN_0201528C: ; 0x0201528C push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_02015050 + bl FUN_02015050 ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] sub r1, r1, r0 @@ -41227,18 +41227,18 @@ sub_0201528C: ; 0x0201528C add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_020152B0 -sub_020152B0: ; 0x020152B0 + thumb_func_start FUN_020152B0 +FUN_020152B0: ; 0x020152B0 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_02015050 + bl FUN_02015050 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] - blx sub_020EBC80 + blx FUN_020EBC80 add r1, sp, #0x0 ldrb r1, [r1, #0x0] lsl r1, r1, #0x2 @@ -41248,18 +41248,18 @@ sub_020152B0: ; 0x020152B0 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_020152D8 -sub_020152D8: ; 0x020152D8 + thumb_func_start FUN_020152D8 +FUN_020152D8: ; 0x020152D8 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_02015050 + bl FUN_02015050 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] - blx sub_020EBC80 + blx FUN_020EBC80 add r0, sp, #0x0 ldrb r0, [r0, #0x0] lsl r0, r0, #0x2 @@ -41269,13 +41269,13 @@ sub_020152D8: ; 0x020152D8 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02015300 -sub_02015300: ; 0x02015300 + thumb_func_start FUN_02015300 +FUN_02015300: ; 0x02015300 push {r3-r5, lr} sub sp, #0x10 add r1, sp, #0x0 add r5, r0, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x14 @@ -41283,7 +41283,7 @@ sub_02015300: ; 0x02015300 add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x3 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x3] add r1, sp, #0x8 @@ -41292,7 +41292,7 @@ sub_02015300: ; 0x02015300 ldr r0, [r0, #0x24] str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_02014F80 + bl FUN_02014F80 b _02015362 _02015334: cmp r0, #0x15 @@ -41302,7 +41302,7 @@ _02015334: add r0, r5, #0x0 add r1, #0x3 add r2, #0x2 - bl sub_02014FC8 + bl FUN_02014FC8 add r0, sp, #0x0 ldrb r1, [r0, #0x3] lsl r1, r1, #0x2 @@ -41316,25 +41316,25 @@ _02015334: str r0, [sp, #0x8] b _02015362 _0201535E: - bl sub_02020C2C + bl FUN_02020C2C _02015362: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x1 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x1] cmp r0, #0x11 bls _02015378 - bl sub_02020C2C + bl FUN_02020C2C _02015378: add r0, sp, #0xc add r1, sp, #0x8 - bl sub_02015184 + bl FUN_02015184 add r4, r0, #0x0 add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x14 @@ -41342,10 +41342,10 @@ _02015378: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x3 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, r5, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 b _020153CA _020153A6: cmp r0, #0x15 @@ -41355,7 +41355,7 @@ _020153A6: add r0, r5, #0x0 add r1, #0x3 add r2, #0x2 - bl sub_02014FC8 + bl FUN_02014FC8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] lsl r0, r0, #0x2 @@ -41364,7 +41364,7 @@ _020153A6: str r0, [sp, #0x4] b _020153CA _020153C6: - bl sub_02020C2C + bl FUN_02020C2C _020153CA: add r0, sp, #0x0 ldrb r1, [r0, #0x1] @@ -41379,17 +41379,17 @@ _020153DC: add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_020153E0 -sub_020153E0: ; 0x020153E0 + thumb_func_start FUN_020153E0 +FUN_020153E0: ; 0x020153E0 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r1, sp, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 ldr r0, [r4, #0xc] add r0, r0, #0x4 str r0, [r4, #0xc] - bl sub_02014F28 + bl FUN_02014F28 add r1, sp, #0x0 ldrb r1, [r1, #0x0] lsl r1, r1, #0x2 @@ -41398,28 +41398,28 @@ sub_020153E0: ; 0x020153E0 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02015404 -sub_02015404: ; 0x02015404 + thumb_func_start FUN_02015404 +FUN_02015404: ; 0x02015404 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x50] cmp r0, #0x0 beq _02015412 - bl sub_02020C2C + bl FUN_02020C2C _02015412: ldr r0, [r4, #0xc] add r0, r0, #0x4 str r0, [r4, #0xc] str r0, [r4, #0x50] ldr r0, [r4, #0xc] - bl sub_02014F28 + bl FUN_02014F28 str r0, [r4, #0x48] mov r0, #0x0 str r0, [r4, #0x4c] pop {r4, pc} - thumb_func_start sub_02015428 -sub_02015428: ; 0x02015428 + thumb_func_start FUN_02015428 +FUN_02015428: ; 0x02015428 ldr r1, [r0, #0x4c] add r2, r1, #0x1 str r2, [r0, #0x4c] @@ -41436,16 +41436,16 @@ _0201543E: str r1, [r0, #0xc] bx lr - thumb_func_start sub_02015444 -sub_02015444: ; 0x02015444 + thumb_func_start FUN_02015444 +FUN_02015444: ; 0x02015444 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 add r2, sp, #0x0 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x0] @@ -41453,21 +41453,21 @@ sub_02015444: ; 0x02015444 lsl r2, r2, #0x2 add r2, r4, r2 ldr r2, [r2, #0x24] - bl sub_02007558 + bl FUN_02007558 add sp, #0x8 pop {r4, pc} .balign 4 - thumb_func_start sub_02015470 -sub_02015470: ; 0x02015470 + thumb_func_start FUN_02015470 +FUN_02015470: ; 0x02015470 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 add r2, sp, #0x0 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x0] @@ -41475,29 +41475,29 @@ sub_02015470: ; 0x02015470 lsl r2, r2, #0x2 add r2, r4, r2 ldr r2, [r2, #0x24] - bl sub_020079E0 + bl FUN_020079E0 add sp, #0x8 pop {r4, pc} .balign 4 - thumb_func_start sub_0201549C -sub_0201549C: ; 0x0201549C + thumb_func_start FUN_0201549C +FUN_0201549C: ; 0x0201549C push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x8 add r4, r0, #0x0 - bl sub_02014F80 + bl FUN_02014F80 add r1, sp, #0x0 add r0, r4, #0x0 add r1, #0x1 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x1] cmp r0, #0x14 bne _020154C4 add r0, r4, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 b _020154E4 _020154C4: cmp r0, #0x15 @@ -41505,7 +41505,7 @@ _020154C4: add r1, sp, #0x0 add r0, r4, #0x0 add r1, #0x2 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] lsl r0, r0, #0x2 @@ -41514,11 +41514,11 @@ _020154C4: str r0, [sp, #0x4] b _020154E4 _020154E0: - bl sub_02020C2C + bl FUN_02020C2C _020154E4: add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x16 @@ -41526,7 +41526,7 @@ _020154E4: ldr r0, [r4, #0x0] ldr r1, [sp, #0x8] ldr r2, [sp, #0x4] - bl sub_02007558 + bl FUN_02007558 add sp, #0xc pop {r3-r4, pc} _02015502: @@ -41535,23 +41535,23 @@ _02015502: ldr r0, [r4, #0x0] ldr r1, [sp, #0x8] ldr r2, [sp, #0x4] - bl sub_020079E0 + bl FUN_020079E0 add sp, #0xc pop {r3-r4, pc} _02015514: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0201551C -sub_0201551C: ; 0x0201551C + thumb_func_start FUN_0201551C +FUN_0201551C: ; 0x0201551C push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_020150DC + bl FUN_020150DC ldr r0, [sp, #0x8] ldr r2, [sp, #0x4] asr r0, r0, #0x4 @@ -41570,15 +41570,15 @@ sub_0201551C: ; 0x0201551C nop _0201554C: .word 0x020FFA38 - thumb_func_start sub_02015550 -sub_02015550: ; 0x02015550 + thumb_func_start FUN_02015550 +FUN_02015550: ; 0x02015550 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_020150DC + bl FUN_020150DC ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] asr r1, r1, #0x4 @@ -41599,17 +41599,17 @@ sub_02015550: ; 0x02015550 nop _02015584: .word 0x020FFA38 - thumb_func_start sub_02015588 -sub_02015588: ; 0x02015588 + thumb_func_start FUN_02015588 +FUN_02015588: ; 0x02015588 push {r3-r4, lr} sub sp, #0x4 add r1, sp, #0x0 add r4, r0, #0x0 add r1, #0x1 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r1, [r0, #0x0] cmp r1, #0x8 @@ -41632,22 +41632,22 @@ _020155B4: str r0, [r4, #0x64] pop {r3-r4, pc} _020155C6: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_020155D0 -sub_020155D0: ; 0x020155D0 + thumb_func_start FUN_020155D0 +FUN_020155D0: ; 0x020155D0 push {r3-r4, lr} sub sp, #0x4 add r1, sp, #0x0 add r4, r0, #0x0 add r1, #0x1 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r1, [r0, #0x0] cmp r1, #0x8 @@ -41674,19 +41674,19 @@ _02015600: str r0, [r4, #0x64] pop {r3-r4, pc} _02015616: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02015620 -sub_02015620: ; 0x02015620 + thumb_func_start FUN_02015620 +FUN_02015620: ; 0x02015620 push {r3-r5, lr} sub sp, #0x8 add r1, sp, #0x0 add r1, #0x3 add r5, r0, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x3] cmp r0, #0x8 @@ -41731,19 +41731,19 @@ _0201566E: add r4, #0x78 b _0201567C _02015678: - bl sub_02020C2C + bl FUN_02020C2C _0201567C: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x1 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x1] cmp r0, #0x14 bne _02015698 add r0, r5, #0x0 add r1, sp, #0x4 - bl sub_02014F80 + bl FUN_02014F80 b _020156B8 _02015698: cmp r0, #0x15 @@ -41751,7 +41751,7 @@ _02015698: add r1, sp, #0x0 add r0, r5, #0x0 add r1, #0x2 - bl sub_02014FA8 + bl FUN_02014FA8 add r0, sp, #0x0 ldrb r0, [r0, #0x2] lsl r0, r0, #0x2 @@ -41760,11 +41760,11 @@ _02015698: str r0, [sp, #0x4] b _020156B8 _020156B4: - bl sub_02020C2C + bl FUN_02020C2C _020156B8: add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r0, #0x16 @@ -41783,12 +41783,12 @@ _020156D0: str r0, [r4, #0x0] pop {r3-r5, pc} _020156E0: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_020156E8 -sub_020156E8: ; 0x020156E8 + thumb_func_start FUN_020156E8 +FUN_020156E8: ; 0x020156E8 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x73 @@ -41803,7 +41803,7 @@ sub_020156E8: ; 0x020156E8 add r2, r3, r2 mov r1, #0x0 sub r2, r5, r2 - bl sub_02007558 + bl FUN_02007558 b _0201571A _0201570A: ldr r3, [r4, #0x58] @@ -41812,7 +41812,7 @@ _0201570A: add r2, r3, r2 mov r1, #0x0 add r2, r5, r2 - bl sub_02007558 + bl FUN_02007558 _0201571A: ldr r3, [r4, #0x5c] ldr r2, [r4, #0x64] @@ -41821,12 +41821,12 @@ _0201571A: ldr r0, [r4, #0x0] mov r1, #0x1 add r2, r5, r2 - bl sub_02007558 + bl FUN_02007558 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02015730 -sub_02015730: ; 0x02015730 + thumb_func_start FUN_02015730 +FUN_02015730: ; 0x02015730 push {r4, lr} add r4, r0, #0x0 mov r1, #0xc @@ -41835,20 +41835,20 @@ sub_02015730: ; 0x02015730 add r2, #0xf4 ldr r0, [r4, #0x0] add r2, r3, r2 - bl sub_02007558 + bl FUN_02007558 mov r1, #0xd add r2, r1, #0x0 ldr r3, [r4, #0x74] add r2, #0xf3 ldr r0, [r4, #0x0] add r2, r3, r2 - bl sub_02007558 + bl FUN_02007558 ldr r2, [r4, #0x78] ldr r0, [r4, #0x0] lsl r2, r2, #0x10 mov r1, #0x9 lsr r2, r2, #0x10 - bl sub_02007558 + bl FUN_02007558 ldr r0, _02015794 ; =0x000001CE ldrb r0, [r4, r0] cmp r0, #0x1b @@ -41857,7 +41857,7 @@ sub_02015730: ; 0x02015730 cmp r0, #0x0 bge _02015792 add r0, r4, #0x0 - bl sub_0201519C + bl FUN_0201519C pop {r4, pc} _02015778: cmp r0, #0x1d @@ -41866,28 +41866,28 @@ _02015778: cmp r0, #0x0 beq _02015792 add r0, r4, #0x0 - bl sub_0201519C + bl FUN_0201519C pop {r4, pc} _0201578A: cmp r0, #0x1c beq _02015792 - bl sub_02020C2C + bl FUN_02020C2C _02015792: pop {r4, pc} .balign 4 _02015794: .word 0x000001CE - thumb_func_start sub_02015798 -sub_02015798: ; 0x02015798 + thumb_func_start FUN_02015798 +FUN_02015798: ; 0x02015798 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r1, sp, #0x0 - bl sub_02014FA8 + bl FUN_02014FA8 ldr r0, [r4, #0xc] add r0, r0, #0x4 str r0, [r4, #0xc] - bl sub_02014F28 + bl FUN_02014F28 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x8 @@ -41918,41 +41918,41 @@ _020157D2: str r0, [r4, #0x6c] pop {r3-r4, pc} _020157E2: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_020157EC -sub_020157EC: ; 0x020157EC + thumb_func_start FUN_020157EC +FUN_020157EC: ; 0x020157EC push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x54 - bl sub_02014F80 + bl FUN_02014F80 mov r0, #0x1 str r0, [r4, #0x18] pop {r4, pc} .balign 4 - thumb_func_start sub_02015800 -sub_02015800: ; 0x02015800 + thumb_func_start FUN_02015800 +FUN_02015800: ; 0x02015800 push {r3-r4, lr} sub sp, #0xc add r1, sp, #0x4 add r1, #0x2 add r4, r0, #0x0 - bl sub_02014F94 + bl FUN_02014F94 add r1, sp, #0x4 add r0, r4, #0x0 add r1, #0x1 - bl sub_02014F94 + bl FUN_02014F94 add r0, r4, #0x0 add r1, sp, #0x4 - bl sub_02014F94 + bl FUN_02014F94 add r0, r4, #0x0 add r1, sp, #0x8 - bl sub_02014F80 + bl FUN_02014F80 ldr r0, [sp, #0x8] add r3, sp, #0x4 str r0, [sp, #0x0] @@ -41960,17 +41960,17 @@ sub_02015800: ; 0x02015800 ldrb r2, [r3, #0x1] ldrb r3, [r3, #0x0] ldr r0, [r4, #0x0] - bl sub_02007E68 + bl FUN_02007E68 add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02015840 -sub_02015840: ; 0x02015840 + thumb_func_start FUN_02015840 +FUN_02015840: ; 0x02015840 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02007F20 + bl FUN_02007F20 cmp r0, #0x0 beq _02015856 ldr r0, _02015858 ; =0x000001CF @@ -41982,8 +41982,8 @@ _02015856: .balign 4 _02015858: .word 0x000001CF - thumb_func_start sub_0201585C -sub_0201585C: ; 0x0201585C + thumb_func_start FUN_0201585C +FUN_0201585C: ; 0x0201585C ldr r1, _02015864 ; =0x000001CD mov r2, #0x1 strb r2, [r0, r1] @@ -41991,13 +41991,13 @@ sub_0201585C: ; 0x0201585C .balign 4 _02015864: .word 0x000001CD - thumb_func_start sub_02015868 -sub_02015868: ; 0x02015868 + thumb_func_start FUN_02015868 +FUN_02015868: ; 0x02015868 push {r4, lr} ldr r1, _0201589C ; =0x000001CE add r4, r0, #0x0 add r1, r4, r1 - bl sub_02014F94 + bl FUN_02014F94 ldr r0, _0201589C ; =0x000001CE mov r1, #0x1 ldrb r0, [r4, r0] @@ -42016,54 +42016,54 @@ _02015886: _02015890: cmp r1, #0x0 bne _02015898 - bl sub_02020C2C + bl FUN_02020C2C _02015898: pop {r4, pc} nop _0201589C: .word 0x000001CE - thumb_func_start sub_020158A0 -sub_020158A0: ; 0x020158A0 - ldr r3, _020158A8 ; =sub_0201598C + thumb_func_start FUN_020158A0 +FUN_020158A0: ; 0x020158A0 + ldr r3, _020158A8 ; =FUN_0201598C mov r1, #0x0 bx r3 nop -_020158A8: .word sub_0201598C + 1 +_020158A8: .word FUN_0201598C + 1 - thumb_func_start sub_020158AC -sub_020158AC: ; 0x020158AC - ldr r3, _020158B4 ; =sub_0201598C + thumb_func_start FUN_020158AC +FUN_020158AC: ; 0x020158AC + ldr r3, _020158B4 ; =FUN_0201598C mov r1, #0x1 bx r3 nop -_020158B4: .word sub_0201598C + 1 +_020158B4: .word FUN_0201598C + 1 - thumb_func_start sub_020158B8 -sub_020158B8: ; 0x020158B8 - ldr r3, _020158C0 ; =sub_0201598C + thumb_func_start FUN_020158B8 +FUN_020158B8: ; 0x020158B8 + ldr r3, _020158C0 ; =FUN_0201598C mov r1, #0x2 bx r3 nop -_020158C0: .word sub_0201598C + 1 +_020158C0: .word FUN_0201598C + 1 - thumb_func_start sub_020158C4 -sub_020158C4: ; 0x020158C4 - ldr r3, _020158CC ; =sub_0201598C + thumb_func_start FUN_020158C4 +FUN_020158C4: ; 0x020158C4 + ldr r3, _020158CC ; =FUN_0201598C mov r1, #0x3 bx r3 nop -_020158CC: .word sub_0201598C + 1 +_020158CC: .word FUN_0201598C + 1 - thumb_func_start sub_020158D0 -sub_020158D0: ; 0x020158D0 - ldr r3, _020158D8 ; =sub_0201598C + thumb_func_start FUN_020158D0 +FUN_020158D0: ; 0x020158D0 + ldr r3, _020158D8 ; =FUN_0201598C mov r1, #0x4 bx r3 nop -_020158D8: .word sub_0201598C + 1 +_020158D8: .word FUN_0201598C + 1 - thumb_func_start sub_020158DC -sub_020158DC: ; 0x020158DC + thumb_func_start FUN_020158DC +FUN_020158DC: ; 0x020158DC push {r3, lr} cmp r0, #0x18 bne _020158E8 @@ -42087,12 +42087,12 @@ _020158F6: str r0, [r3, #0x0] pop {r3, pc} _02015904: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 - thumb_func_start sub_0201590C -sub_0201590C: ; 0x0201590C + thumb_func_start FUN_0201590C +FUN_0201590C: ; 0x0201590C push {r3, lr} sub r0, #0x23 cmp r0, #0x4 @@ -42125,28 +42125,28 @@ _0201593C: .byte 0x08, 0xBD, 0x08, 0x1C, 0x4C, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x78, 0x30, 0x88, 0x62, 0x90, 0x6F .byte 0x08, 0x63, 0x08, 0xBD _02015984: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 - thumb_func_start sub_0201598C -sub_0201598C: ; 0x0201598C + thumb_func_start FUN_0201598C +FUN_0201598C: ; 0x0201598C push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 lsl r1, r6, #0x18 lsr r1, r1, #0x18 add r5, r0, #0x0 - bl sub_02014F34 + bl FUN_02014F34 str r0, [sp, #0x4] ldr r1, [sp, #0x4] add r0, r5, #0x0 add r1, #0x2c - bl sub_02014F94 + bl FUN_02014F94 ldr r1, [sp, #0x4] add r0, r5, #0x0 add r1, #0x2d - bl sub_02014F94 + bl FUN_02014F94 mov r0, #0xc mul r0, r6 ldr r1, _02015A28 ; =0x020ED66C @@ -42164,7 +42164,7 @@ _020159CC: lsl r1, r4, #0x2 add r0, r5, #0x0 add r1, r7, r1 - bl sub_02014F80 + bl FUN_02014F80 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -42183,7 +42183,7 @@ _020159E2: ldr r1, [sp, #0x4] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0201590C + bl FUN_0201590C ldr r0, [sp, #0x4] add r0, #0x2d ldrb r0, [r0, #0x0] @@ -42212,8 +42212,8 @@ _02015A28: .word 0x020ED66C _02015A2C: .word 0x020ED668 _02015A30: .word 0x020ED670 - thumb_func_start sub_02015A34 -sub_02015A34: ; 0x02015A34 + thumb_func_start FUN_02015A34 +FUN_02015A34: ; 0x02015A34 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] @@ -42255,7 +42255,7 @@ _02015A78: .byte 0x60, 0x6A, 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49 .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 _02015AC0: - bl sub_02020C2C + bl FUN_02020C2C _02015AC4: add r0, r4, #0x0 add r0, #0x2c @@ -42264,7 +42264,7 @@ _02015AC4: ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r1, #0x30 - bl sub_020158DC + bl FUN_020158DC ldr r0, [r4, #0x1c] add r1, r0, #0x1 str r1, [r4, #0x1c] @@ -42278,8 +42278,8 @@ _02015AE6: .balign 4 _02015AE8: .word 0x020FFA38 - thumb_func_start sub_02015AEC -sub_02015AEC: ; 0x02015AEC + thumb_func_start FUN_02015AEC +FUN_02015AEC: ; 0x02015AEC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] @@ -42287,7 +42287,7 @@ sub_02015AEC: ; 0x02015AEC add r0, r0, #0x1 mul r0, r1 ldr r1, [r4, #0x18] - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [r4, #0x14] add r0, r1, r0 lsl r0, r0, #0x10 @@ -42323,7 +42323,7 @@ _02015B36: .byte 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49, 0xE0, 0x68 .byte 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 _02015B7E: - bl sub_02020C2C + bl FUN_02020C2C _02015B82: add r0, r4, #0x0 add r0, #0x2c @@ -42332,7 +42332,7 @@ _02015B82: ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r1, #0x30 - bl sub_020158DC + bl FUN_020158DC ldr r0, [r4, #0x1c] add r1, r0, #0x1 str r1, [r4, #0x1c] @@ -42346,8 +42346,8 @@ _02015BA4: nop _02015BA8: .word 0x020FFA38 - thumb_func_start sub_02015BAC -sub_02015BAC: ; 0x02015BAC + thumb_func_start FUN_02015BAC +FUN_02015BAC: ; 0x02015BAC push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x24] @@ -42366,7 +42366,7 @@ sub_02015BAC: ; 0x02015BAC ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r1, #0x30 - bl sub_020158DC + bl FUN_020158DC ldr r0, [r4, #0x14] add r1, r0, #0x1 str r1, [r4, #0x14] @@ -42379,8 +42379,8 @@ _02015BE4: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02015BE8 -sub_02015BE8: ; 0x02015BE8 + thumb_func_start FUN_02015BE8 +FUN_02015BE8: ; 0x02015BE8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] @@ -42388,7 +42388,7 @@ sub_02015BE8: ; 0x02015BE8 ldr r0, [r4, #0x8] mul r0, r1 ldr r1, [r4, #0xc] - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, [r4, #0x24] str r0, [r1, #0x0] add r0, r4, #0x0 @@ -42398,7 +42398,7 @@ sub_02015BE8: ; 0x02015BE8 ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r1, #0x30 - bl sub_020158DC + bl FUN_020158DC ldr r0, [r4, #0x10] add r1, r0, #0x1 str r1, [r4, #0x10] @@ -42411,8 +42411,8 @@ _02015C20: pop {r4, pc} .balign 4 - thumb_func_start sub_02015C24 -sub_02015C24: ; 0x02015C24 + thumb_func_start FUN_02015C24 +FUN_02015C24: ; 0x02015C24 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0xc] @@ -42480,7 +42480,7 @@ _02015C90: str r0, [r4, #0x0] b _02015CA4 _02015CA0: - bl sub_02020C2C + bl FUN_02020C2C _02015CA4: add r0, r4, #0x0 add r0, #0x2c @@ -42489,15 +42489,15 @@ _02015CA4: ldr r2, [r4, #0x24] ldr r3, [r4, #0x28] add r1, #0x30 - bl sub_020158DC + bl FUN_020158DC ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] pop {r4, pc} .balign 4 - thumb_func_start sub_02015CC0 -sub_02015CC0: ; 0x02015CC0 + thumb_func_start FUN_02015CC0 +FUN_02015CC0: ; 0x02015CC0 ldr r3, _02015CDC ; =0x020ED72C mov r2, #0x0 _02015CC4: @@ -42516,11 +42516,11 @@ _02015CCE: nop _02015CDC: .word 0x020ED72C - thumb_func_start sub_02015CE0 -sub_02015CE0: ; 0x02015CE0 + thumb_func_start FUN_02015CE0 +FUN_02015CE0: ; 0x02015CE0 push {r4, lr} add r4, r0, #0x0 - bl sub_02015CC0 + bl FUN_02015CC0 lsl r1, r0, #0x1 ldr r0, _02015CF4 ; =0x020ED72C ldrh r0, [r0, r1] @@ -42529,14 +42529,14 @@ sub_02015CE0: ; 0x02015CE0 nop _02015CF4: .word 0x020ED72C - thumb_func_start sub_02015CF8 -sub_02015CF8: ; 0x02015CF8 + thumb_func_start FUN_02015CF8 +FUN_02015CF8: ; 0x02015CF8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x3 blt _02015D06 - bl sub_02020C2C + bl FUN_02020C2C _02015D06: ldr r0, _02015D10 ; =0x020ED72C lsl r1, r5, #0x1 @@ -42546,8 +42546,8 @@ _02015D06: .balign 4 _02015D10: .word 0x020ED72C - thumb_func_start sub_02015D14 -sub_02015D14: ; 0x02015D14 + thumb_func_start FUN_02015D14 +FUN_02015D14: ; 0x02015D14 cmp r0, #0x7 bhi _02015D34 add r0, r0, r0 @@ -42568,27 +42568,27 @@ _02015D34: mov r0, #0xea bx lr - thumb_func_start sub_02015D38 -sub_02015D38: ; 0x02015D38 + thumb_func_start FUN_02015D38 +FUN_02015D38: ; 0x02015D38 mov r0, #0x6d lsl r0, r0, #0x2 bx lr - non_word_aligned_thumb_func_start sub_02015D3E -sub_02015D3E: ; 0x02015D3E + non_word_aligned_thumb_func_start FUN_02015D3E +FUN_02015D3E: ; 0x02015D3E ldr r0, _02015D48 ; =0x000001B7 bx lr - non_word_aligned_thumb_func_start sub_02015D42 -sub_02015D42: ; 0x02015D42 + non_word_aligned_thumb_func_start FUN_02015D42 +FUN_02015D42: ; 0x02015D42 ldr r0, _02015D4C ; =0x000001B6 bx lr nop _02015D48: .word 0x000001B7 _02015D4C: .word 0x000001B6 - thumb_func_start sub_02015D50 -sub_02015D50: ; 0x02015D50 + thumb_func_start FUN_02015D50 +FUN_02015D50: ; 0x02015D50 cmp r0, #0x7 bhi _02015D70 add r0, r0, r0 @@ -42609,27 +42609,27 @@ _02015D70: mov r0, #0xeb bx lr - thumb_func_start sub_02015D74 -sub_02015D74: ; 0x02015D74 + thumb_func_start FUN_02015D74 +FUN_02015D74: ; 0x02015D74 ldr r0, _02015D84 ; =0x000001B5 bx lr - thumb_func_start sub_02015D78 -sub_02015D78: ; 0x02015D78 + thumb_func_start FUN_02015D78 +FUN_02015D78: ; 0x02015D78 mov r0, #0x6e lsl r0, r0, #0x2 bx lr - non_word_aligned_thumb_func_start sub_02015D7E -sub_02015D7E: ; 0x02015D7E + non_word_aligned_thumb_func_start FUN_02015D7E +FUN_02015D7E: ; 0x02015D7E mov r0, #0x6d lsl r0, r0, #0x2 bx lr .balign 4 _02015D84: .word 0x000001B5 - thumb_func_start sub_02015D88 -sub_02015D88: ; 0x02015D88 + thumb_func_start FUN_02015D88 +FUN_02015D88: ; 0x02015D88 push {r3-r7, lr} sub sp, #0x10 add r6, r3, #0x0 @@ -42695,12 +42695,12 @@ _02015DEA: b _02015E0C _02015DF8: add r0, r6, #0x0 - bl sub_02015D14 + bl FUN_02015D14 strh r0, [r5, #0x0] b _02015E0E _02015E02: add r0, r6, #0x0 - bl sub_02015D50 + bl FUN_02015D50 strh r0, [r5, #0x0] b _02015E0E _02015E0C: @@ -42723,8 +42723,8 @@ _02015E18: _02015E28: .word 0x020ED734 _02015E2C: .word 0x0000FFFF - thumb_func_start sub_02015E30 -sub_02015E30: ; 0x02015E30 + thumb_func_start FUN_02015E30 +FUN_02015E30: ; 0x02015E30 ldr r0, _02015E38 ; =0x021C4898 mov r1, #0x0 str r1, [r0, #0x0] @@ -42732,8 +42732,8 @@ sub_02015E30: ; 0x02015E30 .balign 4 _02015E38: .word 0x021C4898 - thumb_func_start sub_02015E3C -sub_02015E3C: ; 0x02015E3C + thumb_func_start FUN_02015E3C +FUN_02015E3C: ; 0x02015E3C push {r3, lr} ldr r1, _02015E5C ; =0x021C4898 mov r2, #0x1 @@ -42744,7 +42744,7 @@ sub_02015E3C: ; 0x02015E3C str r2, [r1, #0x8] str r2, [r1, #0xc] str r0, [r1, #0x4] - bl sub_02020BF4 + bl FUN_02020BF4 ldr r2, _02015E5C ; =0x021C4898 str r0, [r2, #0x18] str r1, [r2, #0x1c] @@ -42752,20 +42752,20 @@ sub_02015E3C: ; 0x02015E3C .balign 4 _02015E5C: .word 0x021C4898 - thumb_func_start sub_02015E60 -sub_02015E60: ; 0x02015E60 + thumb_func_start FUN_02015E60 +FUN_02015E60: ; 0x02015E60 push {r3-r5, lr} ldr r0, _02015E9C ; =0x021C4898 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02015E9A - bl sub_02020BF4 + bl FUN_02020BF4 ldr r2, _02015E9C ; =0x021C4898 ldr r3, [r2, #0x18] ldr r2, [r2, #0x1c] sub r0, r0, r3 sbc r1, r2 - bl sub_02020C14 + bl FUN_02020C14 add r5, r1, #0x0 ldr r1, _02015E9C ; =0x021C4898 add r4, r0, #0x0 @@ -42776,7 +42776,7 @@ sub_02015E60: ; 0x02015E60 bhs _02015E9A ldr r0, [r1, #0x4] sub r1, r4, r3 - bl sub_02029E54 + bl FUN_02029E54 ldr r0, _02015E9C ; =0x021C4898 str r4, [r0, #0x8] str r5, [r0, #0xc] @@ -42785,8 +42785,8 @@ _02015E9A: .balign 4 _02015E9C: .word 0x021C4898 - thumb_func_start sub_02015EA0 -sub_02015EA0: ; 0x02015EA0 + thumb_func_start FUN_02015EA0 +FUN_02015EA0: ; 0x02015EA0 push {r3, lr} ldr r3, _02015EC8 ; =0x027E0000 ldr r1, _02015ECC ; =0x00003FF8 @@ -42795,10 +42795,10 @@ sub_02015EA0: ; 0x02015EA0 orr r0, r2 str r0, [r3, r1] mov r0, #0x3 - blx sub_020CDA1C + blx FUN_020CDA1C ldr r0, _02015ED0 ; =0x021C48B8 ldr r0, [r0, #0x1c] - bl sub_0201B5CC + bl FUN_0201B5CC ldr r0, _02015ED0 ; =0x021C48B8 ldr r1, [r0, #0x30] add r1, r1, #0x1 @@ -42809,38 +42809,38 @@ _02015EC8: .word 0x027E0000 _02015ECC: .word 0x00003FF8 _02015ED0: .word 0x021C48B8 - thumb_func_start sub_02015ED4 -sub_02015ED4: ; 0x02015ED4 + thumb_func_start FUN_02015ED4 +FUN_02015ED4: ; 0x02015ED4 ldr r3, _02015EE8 ; =0x027E0000 ldr r1, _02015EEC ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] - ldr r3, _02015EF0 ; =sub_020CDA1C + ldr r3, _02015EF0 ; =FUN_020CDA1C mov r0, #0x3 bx r3 nop _02015EE8: .word 0x027E0000 _02015EEC: .word 0x00003FF8 -_02015EF0: .word sub_020CDA1C +_02015EF0: .word FUN_020CDA1C - thumb_func_start sub_02015EF4 -sub_02015EF4: ; 0x02015EF4 + thumb_func_start FUN_02015EF4 +FUN_02015EF4: ; 0x02015EF4 push {r3, lr} mov r0, #0x1 - blx sub_020C9E14 - ldr r1, _02015F0C ; =sub_02015ED4 + blx FUN_020C9E14 + ldr r1, _02015F0C ; =FUN_02015ED4 mov r0, #0x1 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x1 - blx sub_020C9E5C + blx FUN_020C9E5C pop {r3, pc} .balign 4 -_02015F0C: .word sub_02015ED4 + 1 +_02015F0C: .word FUN_02015ED4 + 1 - thumb_func_start sub_02015F10 -sub_02015F10: ; 0x02015F10 + thumb_func_start FUN_02015F10 +FUN_02015F10: ; 0x02015F10 ldr r2, _02015F18 ; =0x021C48B8 str r0, [r2, #0x0] str r1, [r2, #0x4] @@ -42848,11 +42848,11 @@ sub_02015F10: ; 0x02015F10 .balign 4 _02015F18: .word 0x021C48B8 - thumb_func_start sub_02015F1C -sub_02015F1C: ; 0x02015F1C + thumb_func_start FUN_02015F1C +FUN_02015F1C: ; 0x02015F1C push {r3, lr} mov r0, #0x0 - bl sub_02015F80 + bl FUN_02015F80 ldr r0, _02015F30 ; =0x021C48B8 mov r1, #0x0 str r1, [r0, #0x8] @@ -42861,13 +42861,13 @@ sub_02015F1C: ; 0x02015F1C nop _02015F30: .word 0x021C48B8 - thumb_func_start sub_02015F34 -sub_02015F34: ; 0x02015F34 + thumb_func_start FUN_02015F34 +FUN_02015F34: ; 0x02015F34 push {r3, lr} cmp r0, #0x0 bne _02015F4C mov r0, #0x0 - bl sub_02015F80 + bl FUN_02015F80 ldr r0, _02015F68 ; =0x021C48B8 mov r1, #0x0 str r1, [r0, #0x8] @@ -42882,7 +42882,7 @@ _02015F4C: str r1, [r2, #0xc] str r0, [r2, #0x8] mov r0, #0x1 - bl sub_02015F80 + bl FUN_02015F80 mov r0, #0x1 pop {r3, pc} _02015F62: @@ -42891,8 +42891,8 @@ _02015F62: nop _02015F68: .word 0x021C48B8 - thumb_func_start sub_02015F6C -sub_02015F6C: ; 0x02015F6C + thumb_func_start FUN_02015F6C +FUN_02015F6C: ; 0x02015F6C push {r3, lr} ldr r0, _02015F7C ; =0x021C48B8 ldr r1, [r0, #0x8] @@ -42905,8 +42905,8 @@ _02015F7A: .balign 4 _02015F7C: .word 0x021C48B8 - thumb_func_start sub_02015F80 -sub_02015F80: ; 0x02015F80 + thumb_func_start FUN_02015F80 +FUN_02015F80: ; 0x02015F80 push {r3, lr} ldr r2, _02015FC0 ; =0x04000208 ldrh r1, [r2, #0x0] @@ -42916,19 +42916,19 @@ sub_02015F80: ; 0x02015F80 bne _02015F9E ldr r0, [r2, #0x8] mov r0, #0x2 - blx sub_020C9E14 + blx FUN_020C9E14 mov r0, #0x0 - blx sub_020C5AF8 + blx FUN_020C5AF8 b _02015FB4 _02015F9E: ldr r0, [r2, #0x8] - ldr r1, _02015FC4 ; =sub_02015F6C + ldr r1, _02015FC4 ; =FUN_02015F6C mov r0, #0x2 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x2 - blx sub_020C9E5C + blx FUN_020C9E5C mov r0, #0x1 - blx sub_020C5AF8 + blx FUN_020C5AF8 _02015FB4: ldr r1, _02015FC0 ; =0x04000208 ldrh r0, [r1, #0x0] @@ -42937,18 +42937,18 @@ _02015FB4: pop {r3, pc} nop _02015FC0: .word 0x04000208 -_02015FC4: .word sub_02015F6C + 1 +_02015FC4: .word FUN_02015F6C + 1 - thumb_func_start sub_02015FC8 -sub_02015FC8: ; 0x02015FC8 + thumb_func_start FUN_02015FC8 +FUN_02015FC8: ; 0x02015FC8 push {r3, lr} sub sp, #0x30 add r0, sp, #0x10 - blx sub_020CD754 + blx FUN_020CD754 add r0, sp, #0x0 add r1, sp, #0x10 mov r2, #0x20 - blx sub_020DDCE4 + blx FUN_020DDCE4 mov r3, #0x0 add r1, r3, #0x0 add r2, sp, #0x0 @@ -42974,17 +42974,17 @@ _02016002: ldr r0, _02016010 ; =0x020EDB10 mov r1, #0x4 mov r2, #0x5c - bl sub_020166C8 + bl FUN_020166C8 add sp, #0x30 pop {r3, pc} .balign 4 _02016010: .word 0x020EDB10 - thumb_func_start sub_02016014 -sub_02016014: ; 0x02016014 + thumb_func_start FUN_02016014 +FUN_02016014: ; 0x02016014 push {r3-r5, lr} - blx sub_020CC1B4 - blx sub_020C5974 + blx FUN_020CC1B4 + blx FUN_020C5974 ldr r2, _02016124 ; =0x04000304 ldr r0, _02016128 ; =0xFFFFFDF1 ldrh r1, [r2, #0x0] @@ -42992,54 +42992,54 @@ sub_02016014: ; 0x02016014 ldr r0, _0201612C ; =0x0000020E orr r0, r1 strh r0, [r2, #0x0] - blx sub_020C5B28 - blx sub_020CCD64 - bl sub_02015FC8 + blx FUN_020C5B28 + blx FUN_020CCD64 + bl FUN_02015FC8 mov r0, #0xa0 - bl sub_0201B578 + bl FUN_0201B578 add r1, r0, #0x0 mov r0, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C add r1, r0, #0x0 mov r0, #0xa0 - bl sub_0201B580 + bl FUN_0201B580 ldr r1, _02016130 ; =0x021C48B8 str r0, [r1, #0x18] mov r0, #0x10 - bl sub_0201B578 + bl FUN_0201B578 add r1, r0, #0x0 mov r0, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C add r1, r0, #0x0 mov r0, #0x10 - bl sub_0201B580 + bl FUN_0201B580 ldr r1, _02016130 ; =0x021C48B8 str r0, [r1, #0x1c] mov r0, #0x20 - bl sub_0201B578 + bl FUN_0201B578 add r1, r0, #0x0 mov r0, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C add r1, r0, #0x0 mov r0, #0x20 - bl sub_0201B580 + bl FUN_0201B580 ldr r1, _02016130 ; =0x021C48B8 str r0, [r1, #0x20] mov r0, #0x4 - bl sub_0201B578 + bl FUN_0201B578 add r1, r0, #0x0 mov r0, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C add r1, r0, #0x0 mov r0, #0x4 - bl sub_0201B580 + bl FUN_0201B580 ldr r1, _02016130 ; =0x021C48B8 str r0, [r1, #0x24] - blx sub_020C5A80 + blx FUN_020C5A80 ldr r2, _02016134 ; =0x04001000 ldr r0, _02016138 ; =0xFFFEFFFF ldr r1, [r2, #0x0] @@ -43050,37 +43050,37 @@ sub_02016014: ; 0x02016014 lsr r0, r2, #0xb orr r0, r1 strh r0, [r2, #0x0] - ldr r1, _0201613C ; =sub_02015EA0 + ldr r1, _0201613C ; =FUN_02015EA0 mov r0, #0x1 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x1 - blx sub_020C9E5C + blx FUN_020C9E5C mov r0, #0x1 lsl r0, r0, #0x12 - blx sub_020C9E5C + blx FUN_020C9E5C ldr r1, _02016140 ; =0x04000208 ldrh r0, [r1, #0x0] mov r0, #0x1 strh r0, [r1, #0x0] - blx sub_020C5AC8 + blx FUN_020C5AC8 mov r0, #0x1 - blx sub_020D1CD4 - bl sub_02022450 + blx FUN_020D1CD4 + bl FUN_02022450 mov r0, #0x0 add r1, r0, #0x0 - blx sub_020D1D10 + blx FUN_020D1D10 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C add r5, r0, #0x0 bne _02016108 - bl sub_02020C2C + bl FUN_02020C2C _02016108: add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020D1D10 + blx FUN_020D1D10 ldr r0, _02016130 ; =0x021C48B8 mov r1, #0x0 str r1, [r0, #0x0] @@ -43098,61 +43098,61 @@ _0201612C: .word 0x0000020E _02016130: .word 0x021C48B8 _02016134: .word 0x04001000 _02016138: .word 0xFFFEFFFF -_0201613C: .word sub_02015EA0 + 1 +_0201613C: .word FUN_02015EA0 + 1 _02016140: .word 0x04000208 _02016144: .word 0x021C4918 - thumb_func_start sub_02016148 -sub_02016148: ; 0x02016148 + thumb_func_start FUN_02016148 +FUN_02016148: ; 0x02016148 push {r3, lr} ldr r0, _02016198 ; =0x000001FF - blx sub_020C63A8 + blx FUN_020C63A8 mov r1, #0x1a mov r2, #0x29 mov r0, #0x0 lsl r1, r1, #0x16 lsl r2, r2, #0xe - blx sub_020CE240 - blx sub_020C5E54 + blx FUN_020CE240 + blx FUN_020C5E54 mov r1, #0x7 mov r2, #0x1 mov r0, #0xc0 lsl r1, r1, #0x18 lsl r2, r2, #0xa - blx sub_020CE240 + blx FUN_020CE240 mov r2, #0x1 ldr r1, _0201619C ; =0x07000400 mov r0, #0xc0 lsl r2, r2, #0xa - blx sub_020CE240 + blx FUN_020CE240 mov r1, #0x5 mov r2, #0x1 mov r0, #0x0 lsl r1, r1, #0x18 lsl r2, r2, #0xa - blx sub_020CE240 + blx FUN_020CE240 mov r2, #0x1 ldr r1, _020161A0 ; =0x05000400 mov r0, #0x0 lsl r2, r2, #0xa - blx sub_020CE240 + blx FUN_020CE240 pop {r3, pc} .balign 4 _02016198: .word 0x000001FF _0201619C: .word 0x07000400 _020161A0: .word 0x05000400 - thumb_func_start sub_020161A4 -sub_020161A4: ; 0x020161A4 + thumb_func_start FUN_020161A4 +FUN_020161A4: ; 0x020161A4 push {r4-r6, lr} sub sp, #0x48 add r6, r0, #0x0 add r4, r1, #0x0 add r0, sp, #0x0 - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x0 add r1, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 cmp r0, #0x0 beq _020161F0 ldr r1, [sp, #0x28] @@ -43160,22 +43160,22 @@ sub_020161A4: ; 0x020161A4 sub r5, r1, r0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _020161E8 add r0, sp, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - blx sub_020D180C + blx FUN_020D180C cmp r5, r0 beq _020161E8 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C mov r4, #0x0 _020161E8: add r0, sp, #0x0 - blx sub_020D18FC + blx FUN_020D18FC b _020161F2 _020161F0: mov r4, #0x0 @@ -43184,17 +43184,17 @@ _020161F2: add sp, #0x48 pop {r4-r6, pc} - thumb_func_start sub_020161F8 -sub_020161F8: ; 0x020161F8 + thumb_func_start FUN_020161F8 +FUN_020161F8: ; 0x020161F8 push {r3-r5, lr} sub sp, #0x48 add r5, r0, #0x0 add r0, sp, #0x0 add r4, r1, #0x0 - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x0 add r1, r5, #0x0 - blx sub_020D1944 + blx FUN_020D1944 cmp r0, #0x0 beq _0201622A ldr r1, [sp, #0x28] @@ -43204,21 +43204,21 @@ sub_020161F8: ; 0x020161F8 cmp r1, #0x0 beq _02016224 add r0, sp, #0x0 - blx sub_020D180C + blx FUN_020D180C _02016224: add r0, sp, #0x0 - blx sub_020D18FC + blx FUN_020D18FC _0201622A: add sp, #0x48 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02016230 -sub_02016230: ; 0x02016230 + thumb_func_start FUN_02016230 +FUN_02016230: ; 0x02016230 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] - blx sub_020E2EAC + blx FUN_020E2EAC lsl r0, r0, #0x10 lsr r3, r0, #0x10 lsr r2, r3, #0x1f @@ -43277,8 +43277,8 @@ _0201629A: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_020162A0 -sub_020162A0: ; 0x020162A0 + thumb_func_start FUN_020162A0 +FUN_020162A0: ; 0x020162A0 ldr r3, _020162C4 ; =0x021C4928 mov r2, #0x0 _020162A4: @@ -43301,8 +43301,8 @@ _020162B4: nop _020162C4: .word 0x021C4928 - thumb_func_start sub_020162C8 -sub_020162C8: ; 0x020162C8 + thumb_func_start FUN_020162C8 +FUN_020162C8: ; 0x020162C8 push {r3-r4} ldr r3, _020162F4 ; =0x021C4928 mov r4, #0x0 @@ -43331,8 +43331,8 @@ _020162E4: _020162F4: .word 0x021C4928 _020162F8: .word 0x021C492C - thumb_func_start sub_020162FC -sub_020162FC: ; 0x020162FC + thumb_func_start FUN_020162FC +FUN_020162FC: ; 0x020162FC push {r3-r7, lr} mov r6, #0x0 ldr r5, _02016320 ; =0x021C4D20 @@ -43342,7 +43342,7 @@ _02016306: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02016314 - bl sub_02016A18 + bl FUN_02016A18 str r6, [r5, #0x0] str r6, [r5, #0x4] _02016314: @@ -43354,8 +43354,8 @@ _02016314: nop _02016320: .word 0x021C4D20 - thumb_func_start sub_02016324 -sub_02016324: ; 0x02016324 + thumb_func_start FUN_02016324 +FUN_02016324: ; 0x02016324 push {r3-r7, lr} sub sp, #0x68 add r2, r0, #0x0 @@ -43366,17 +43366,17 @@ sub_02016324: ; 0x02016324 add r0, sp, #0x0 bne _02016340 add r1, r2, #0x1 - blx sub_020E2EC8 + blx FUN_020E2EC8 mov r5, #0x1 b _02016346 _02016340: add r1, r2, #0x0 - blx sub_020E2EC8 + blx FUN_020E2EC8 _02016346: add r0, sp, #0x0 - bl sub_02016230 + bl FUN_02016230 add r7, r0, #0x0 - bl sub_020162A0 + bl FUN_020162A0 cmp r0, #0x0 blt _02016362 cmp r5, #0x0 @@ -43387,10 +43387,10 @@ _02016346: b _020163B2 _02016362: add r0, sp, #0x20 - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x20 add r1, sp, #0x0 - blx sub_020D1944 + blx FUN_020D1944 cmp r0, #0x0 beq _020163B0 ldr r1, [sp, #0x48] @@ -43398,26 +43398,26 @@ _02016362: sub r6, r1, r0 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _0201639C add r0, sp, #0x20 add r1, r4, #0x0 add r2, r6, #0x0 - blx sub_020D180C + blx FUN_020D180C cmp r6, r0 beq _0201639C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r4, #0x0 _0201639C: add r0, sp, #0x20 - blx sub_020D18FC + blx FUN_020D18FC cmp r5, #0x0 bne _020163B2 add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_020162C8 + bl FUN_020162C8 b _020163B2 _020163B0: mov r4, #0x0 @@ -43428,8 +43428,8 @@ _020163B2: .balign 4 _020163B8: .word 0x021C4928 - thumb_func_start sub_020163BC -sub_020163BC: ; 0x020163BC + thumb_func_start FUN_020163BC +FUN_020163BC: ; 0x020163BC push {r3, lr} sub sp, #0x8 ldr r0, _0201641C ; =0x021C48B8 @@ -43453,13 +43453,13 @@ sub_020163BC: ; 0x020163BC strh r2, [r0, #0x22] ldr r0, _02016424 ; =0x021C4918 strb r2, [r0, #0x4] - blx sub_020D40B8 + blx FUN_020D40B8 add r0, sp, #0x0 - blx sub_020D400C + blx FUN_020D400C cmp r0, #0x1 add r0, sp, #0x0 bne _02016402 - blx sub_020D3EC4 + blx FUN_020D3EC4 add sp, #0x8 pop {r3, pc} _02016402: @@ -43472,7 +43472,7 @@ _02016402: ldr r1, _02016434 ; =0x00001208 strh r1, [r0, #0x6] add r0, sp, #0x0 - blx sub_020D3EC4 + blx FUN_020D3EC4 add sp, #0x8 pop {r3, pc} .balign 4 @@ -43484,16 +43484,16 @@ _0201642C: .word 0x0000058C _02016430: .word 0x00000E25 _02016434: .word 0x00001208 - thumb_func_start sub_02016438 -sub_02016438: ; 0x02016438 + thumb_func_start FUN_02016438 +FUN_02016438: ; 0x02016438 ldr r1, _02016440 ; =0x021C4918 strb r0, [r1, #0x6] bx lr nop _02016440: .word 0x021C4918 - thumb_func_start sub_02016444 -sub_02016444: ; 0x02016444 + thumb_func_start FUN_02016444 +FUN_02016444: ; 0x02016444 ldr r1, _02016450 ; =0x021C4918 ldrb r2, [r1, #0x7] orr r0, r2 @@ -43502,8 +43502,8 @@ sub_02016444: ; 0x02016444 nop _02016450: .word 0x021C4918 - thumb_func_start sub_02016454 -sub_02016454: ; 0x02016454 + thumb_func_start FUN_02016454 +FUN_02016454: ; 0x02016454 ldr r1, _02016460 ; =0x021C4918 mvn r0, r0 ldrb r2, [r1, #0x7] @@ -43513,8 +43513,8 @@ sub_02016454: ; 0x02016454 .balign 4 _02016460: .word 0x021C4918 - thumb_func_start sub_02016464 -sub_02016464: ; 0x02016464 + thumb_func_start FUN_02016464 +FUN_02016464: ; 0x02016464 push {r4, lr} sub sp, #0x10 ldr r2, _02016550 ; =0x027FFFA8 @@ -43575,26 +43575,26 @@ _020164C8: str r0, [r1, #0x44] ldr r0, [r1, #0x40] str r0, [r1, #0x4c] - bl sub_02016568 + bl FUN_02016568 ldr r0, _02016564 ; =0x021C4918 ldrb r0, [r0, #0x4] cmp r0, #0x0 bne _020164F4 add r4, sp, #0x8 _020164E4: - blx sub_020D3E24 + blx FUN_020D3E24 add r0, r4, #0x0 - blx sub_020D3DCC + blx FUN_020D3DCC cmp r0, #0x0 bne _020164E4 b _020164FA _020164F4: add r0, sp, #0x8 - blx sub_020D3AA0 + blx FUN_020D3AA0 _020164FA: add r0, sp, #0x0 add r1, sp, #0x8 - blx sub_020D36F0 + blx FUN_020D36F0 add r1, sp, #0x0 ldrh r3, [r1, #0x6] cmp r3, #0x0 @@ -43646,8 +43646,8 @@ _0201655C: .word 0x04000130 _02016560: .word 0x00002FFF _02016564: .word 0x021C4918 - thumb_func_start sub_02016568 -sub_02016568: ; 0x02016568 + thumb_func_start FUN_02016568 +FUN_02016568: ; 0x02016568 ldr r0, _02016690 ; =0x021C48B8 ldr r1, [r0, #0x34] cmp r1, #0x3 @@ -43715,8 +43715,8 @@ _02016690: .word 0x021C48B8 _02016694: .byte 0xFF, 0xF3, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00 - thumb_func_start sub_0201669C -sub_0201669C: ; 0x0201669C + thumb_func_start FUN_0201669C +FUN_0201669C: ; 0x0201669C ldr r2, _020166A4 ; =0x021C48B8 str r0, [r2, #0x54] str r1, [r2, #0x58] @@ -43724,8 +43724,8 @@ sub_0201669C: ; 0x0201669C .balign 4 _020166A4: .word 0x021C48B8 - thumb_func_start sub_020166A8 -sub_020166A8: ; 0x020166A8 + thumb_func_start FUN_020166A8 +FUN_020166A8: ; 0x020166A8 ldr r1, _020166B4 ; =0x021C4918 ldrb r2, [r1, #0x8] orr r0, r2 @@ -43734,8 +43734,8 @@ sub_020166A8: ; 0x020166A8 nop _020166B4: .word 0x021C4918 - thumb_func_start sub_020166B8 -sub_020166B8: ; 0x020166B8 + thumb_func_start FUN_020166B8 +FUN_020166B8: ; 0x020166B8 ldr r1, _020166C4 ; =0x021C4918 mvn r0, r0 ldrb r2, [r1, #0x8] @@ -43745,8 +43745,8 @@ sub_020166B8: ; 0x020166B8 .balign 4 _020166C4: .word 0x021C4918 - thumb_func_start sub_020166C8 -sub_020166C8: ; 0x020166C8 + thumb_func_start FUN_020166C8 +FUN_020166C8: ; 0x020166C8 push {r3-r7, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -43775,7 +43775,7 @@ _020166F4: mov r0, #0x0 add r1, r3, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C _020166FE: ldr r1, [sp, #0x4] lsl r7, r6, #0x1 @@ -43787,7 +43787,7 @@ _020166FE: mov r0, #0x0 add r1, r6, r1 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C ldr r1, _020167F0 ; =0x021C4D28 str r0, [r1, #0x0] ldr r1, [sp, #0x4] @@ -43828,19 +43828,19 @@ _0201675C: ldr r1, [r5, #0x0] mov r0, #0x0 mov r2, #0x4 - blx sub_020CC26C + blx FUN_020CC26C b _02016772 _02016768: ldr r1, [r5, #0x0] mov r0, #0x2 mov r2, #0x4 - blx sub_020CC204 + blx FUN_020CC204 _02016772: cmp r0, #0x0 beq _0201678E ldr r1, [r5, #0x0] mov r2, #0x0 - blx sub_020ADFE8 + blx FUN_020ADFE8 ldr r1, _020167F0 ; =0x021C4D28 ldr r2, [r1, #0x0] ldr r1, [sp, #0x0] @@ -43850,7 +43850,7 @@ _02016772: strb r7, [r0, r7] b _02016792 _0201678E: - bl sub_02020C2C + bl FUN_02020C2C _02016792: ldr r0, [sp, #0x0] add r7, r7, #0x1 @@ -43908,8 +43908,8 @@ _020167EA: nop _020167F0: .word 0x021C4D28 - thumb_func_start sub_020167F4 -sub_020167F4: ; 0x020167F4 + thumb_func_start FUN_020167F4 +FUN_020167F4: ; 0x020167F4 ldr r1, _02016818 ; =0x021C4D28 ldrh r0, [r1, #0x16] ldrh r3, [r1, #0x18] @@ -43934,34 +43934,34 @@ _02016816: .balign 4 _02016818: .word 0x021C4D28 - thumb_func_start sub_0201681C -sub_0201681C: ; 0x0201681C + thumb_func_start FUN_0201681C +FUN_0201681C: ; 0x0201681C push {r3, lr} mov r3, #0x4 - bl sub_02016834 + bl FUN_02016834 pop {r3, pc} .balign 4 - thumb_func_start sub_02016828 -sub_02016828: ; 0x02016828 + thumb_func_start FUN_02016828 +FUN_02016828: ; 0x02016828 push {r3, lr} mov r3, #0x3 mvn r3, r3 - bl sub_02016834 + bl FUN_02016834 pop {r3, pc} - thumb_func_start sub_02016834 -sub_02016834: ; 0x02016834 + thumb_func_start FUN_02016834 +FUN_02016834: ; 0x02016834 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 str r2, [sp, #0x0] add r7, r3, #0x0 - blx sub_020CD374 + blx FUN_020CD374 cmp r0, #0x12 bne _0201684C - bl sub_02020C2C + bl FUN_02020C2C _0201684C: ldr r1, _020168CC ; =0x021C4D28 ldr r0, [r1, #0x10] @@ -43978,18 +43978,18 @@ _0201684C: ldr r1, [sp, #0x0] add r0, r6, #0x0 add r2, r7, #0x0 - blx sub_020ADFA0 + blx FUN_020ADFA0 str r0, [sp, #0x4] cmp r0, #0x0 beq _020168B6 - bl sub_020167F4 + bl FUN_020167F4 add r7, r0, #0x0 bmi _020168B0 ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] mov r2, #0x0 lsl r4, r7, #0x2 - blx sub_020ADFE8 + blx FUN_020ADFE8 ldr r1, _020168CC ; =0x021C4D28 ldr r2, [r1, #0x0] str r0, [r2, r4] @@ -44008,19 +44008,19 @@ _0201684C: mov r0, #0x1 pop {r3-r7, pc} _020168AA: - bl sub_02020C2C + bl FUN_02020C2C b _020168C6 _020168B0: - bl sub_02020C2C + bl FUN_02020C2C b _020168C6 _020168B6: - bl sub_02020C2C + bl FUN_02020C2C b _020168C6 _020168BC: - bl sub_02020C2C + bl FUN_02020C2C b _020168C6 _020168C2: - bl sub_02020C2C + bl FUN_02020C2C _020168C6: mov r0, #0x0 add sp, #0x8 @@ -44028,14 +44028,14 @@ _020168C6: .balign 4 _020168CC: .word 0x021C4D28 - thumb_func_start sub_020168D0 -sub_020168D0: ; 0x020168D0 + thumb_func_start FUN_020168D0 +FUN_020168D0: ; 0x020168D0 push {r4, lr} add r4, r0, #0x0 - blx sub_020CD374 + blx FUN_020CD374 cmp r0, #0x12 bne _020168E0 - bl sub_02020C2C + bl FUN_02020C2C _020168E0: ldr r0, _02016940 ; =0x021C4D28 ldr r1, [r0, #0x0] @@ -44045,7 +44045,7 @@ _020168E0: ldr r0, [r1, r0] cmp r0, #0x0 beq _0201693E - blx sub_020ADFDC + blx FUN_020ADFDC ldr r1, _02016940 ; =0x021C4D28 ldr r0, [r1, #0x10] ldrb r0, [r0, r4] @@ -44058,10 +44058,10 @@ _020168E0: beq _02016912 cmp r1, #0x0 beq _02016912 - blx sub_020ADDF0 + blx FUN_020ADDF0 b _02016916 _02016912: - bl sub_02020C2C + bl FUN_02020C2C _02016916: ldr r1, _02016940 ; =0x021C4D28 mov r0, #0x0 @@ -44088,8 +44088,8 @@ _0201693E: .balign 4 _02016940: .word 0x021C4D28 - thumb_func_start sub_02016944 -sub_02016944: ; 0x02016944 + thumb_func_start FUN_02016944 +FUN_02016944: ; 0x02016944 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -44097,18 +44097,18 @@ sub_02016944: ; 0x02016944 add r6, r3, #0x0 cmp r5, #0x0 bne _02016956 - bl sub_02020C2C + bl FUN_02020C2C _02016956: - blx sub_020CD310 + blx FUN_020CD310 add r4, #0x10 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - blx sub_020ADFA0 + blx FUN_020ADFA0 add r4, r0, #0x0 ldr r0, [sp, #0x0] - blx sub_020CD324 + blx FUN_020CD324 cmp r4, #0x0 beq _02016984 ldr r1, [r4, #0xc] @@ -44123,18 +44123,18 @@ _02016984: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02016988 -sub_02016988: ; 0x02016988 + thumb_func_start FUN_02016988 +FUN_02016988: ; 0x02016988 push {r3, lr} - bl sub_02031810 + bl FUN_02031810 cmp r0, #0x0 beq _02016996 - bl sub_0208A9B8 + bl FUN_0208A9B8 _02016996: pop {r3, pc} - thumb_func_start sub_02016998 -sub_02016998: ; 0x02016998 + thumb_func_start FUN_02016998 +FUN_02016998: ; 0x02016998 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020169D4 ; =0x021C4D28 @@ -44149,7 +44149,7 @@ sub_02016998: ; 0x02016998 lsl r0, r0, #0x2 ldr r0, [r2, r0] mov r2, #0x4 - bl sub_02016944 + bl FUN_02016944 add r4, r0, #0x0 _020169BA: cmp r4, #0x0 @@ -44162,15 +44162,15 @@ _020169BA: strh r0, [r2, r1] b _020169D0 _020169CC: - bl sub_02016988 + bl FUN_02016988 _020169D0: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _020169D4: .word 0x021C4D28 - thumb_func_start sub_020169D8 -sub_020169D8: ; 0x020169D8 + thumb_func_start FUN_020169D8 +FUN_020169D8: ; 0x020169D8 push {r3-r5, lr} ldr r2, _02016A14 ; =0x021C4D28 add r5, r0, #0x0 @@ -44185,7 +44185,7 @@ sub_020169D8: ; 0x020169D8 lsl r2, r2, #0x2 ldr r0, [r0, r2] sub r2, r4, #0x4 - bl sub_02016944 + bl FUN_02016944 add r4, r0, #0x0 _020169FA: cmp r4, #0x0 @@ -44198,15 +44198,15 @@ _020169FA: strh r0, [r2, r1] b _02016A10 _02016A0C: - bl sub_02016988 + bl FUN_02016988 _02016A10: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02016A14: .word 0x021C4D28 - thumb_func_start sub_02016A18 -sub_02016A18: ; 0x02016A18 + thumb_func_start FUN_02016A18 +FUN_02016A18: ; 0x02016A18 push {r3-r7, lr} add r6, r0, #0x0 sub r0, r6, #0x4 @@ -44224,7 +44224,7 @@ sub_02016A18: ; 0x02016A18 ldr r7, [r1, r0] cmp r7, #0x0 bne _02016A3E - bl sub_02020C2C + bl FUN_02020C2C _02016A3E: ldr r0, _02016A88 ; =0x021C4D28 lsl r5, r4, #0x1 @@ -44233,44 +44233,44 @@ _02016A3E: cmp r0, #0x0 bne _02016A50 add r0, r4, #0x0 - bl sub_02016B90 + bl FUN_02016B90 _02016A50: ldr r0, _02016A88 ; =0x021C4D28 ldr r0, [r0, #0xc] ldrh r0, [r0, r5] cmp r0, #0x0 bne _02016A5E - bl sub_02020C2C + bl FUN_02020C2C _02016A5E: ldr r0, _02016A88 ; =0x021C4D28 ldr r1, [r0, #0xc] ldrh r0, [r1, r5] sub r0, r0, #0x1 strh r0, [r1, r5] - blx sub_020CD310 + blx FUN_020CD310 sub r6, #0x10 add r4, r0, #0x0 add r0, r7, #0x0 add r1, r6, #0x0 - blx sub_020ADDF0 + blx FUN_020ADDF0 add r0, r4, #0x0 - blx sub_020CD324 + blx FUN_020CD324 pop {r3-r7, pc} _02016A80: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} nop _02016A88: .word 0x021C4D28 - thumb_func_start sub_02016A8C -sub_02016A8C: ; 0x02016A8C + thumb_func_start FUN_02016A8C +FUN_02016A8C: ; 0x02016A8C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - blx sub_020CD374 + blx FUN_020CD374 cmp r0, #0x12 bne _02016A9E - bl sub_02020C2C + bl FUN_02020C2C _02016A9E: ldr r0, _02016AF4 ; =0x021C4D28 ldrh r1, [r0, #0x14] @@ -44283,7 +44283,7 @@ _02016A9E: ldr r6, [r1, r0] cmp r6, #0x0 bne _02016AB8 - bl sub_02020C2C + bl FUN_02020C2C _02016AB8: sub r0, r4, #0x4 ldr r0, [r0, #0x0] @@ -44291,19 +44291,19 @@ _02016AB8: lsr r0, r0, #0x18 cmp r0, r5 beq _02016AC8 - bl sub_02020C2C + bl FUN_02020C2C _02016AC8: sub r4, #0x10 add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020ADDF0 + blx FUN_020ADDF0 ldr r0, _02016AF4 ; =0x021C4D28 lsl r4, r5, #0x1 ldr r0, [r0, #0xc] ldrh r0, [r0, r4] cmp r0, #0x0 bne _02016AE2 - bl sub_02020C2C + bl FUN_02020C2C _02016AE2: ldr r0, _02016AF4 ; =0x021C4D28 ldr r1, [r0, #0xc] @@ -44312,13 +44312,13 @@ _02016AE2: strh r0, [r1, r4] pop {r4-r6, pc} _02016AEE: - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} .balign 4 _02016AF4: .word 0x021C4D28 - thumb_func_start sub_02016AF8 -sub_02016AF8: ; 0x02016AF8 + thumb_func_start FUN_02016AF8 +FUN_02016AF8: ; 0x02016AF8 push {r3, lr} ldr r1, _02016B1C ; =0x021C4D28 ldrh r2, [r1, #0x14] @@ -44329,17 +44329,17 @@ sub_02016AF8: ; 0x02016AF8 ldrb r0, [r1, r0] lsl r0, r0, #0x2 ldr r0, [r2, r0] - blx sub_020ADDC8 + blx FUN_020ADDC8 pop {r3, pc} _02016B12: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} nop _02016B1C: .word 0x021C4D28 - thumb_func_start sub_02016B20 -sub_02016B20: ; 0x02016B20 + thumb_func_start FUN_02016B20 +FUN_02016B20: ; 0x02016B20 push {r4, lr} ldr r4, _02016B40 ; =0x021C4D28 ldrh r3, [r4, #0x14] @@ -44350,27 +44350,27 @@ sub_02016B20: ; 0x02016B20 ldrb r1, [r4, r1] lsl r1, r1, #0x2 ldr r1, [r3, r1] - blx sub_020AE82C + blx FUN_020AE82C pop {r4, pc} _02016B3A: - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} .balign 4 _02016B40: .word 0x021C4D28 - thumb_func_start sub_02016B44 -sub_02016B44: ; 0x02016B44 + thumb_func_start FUN_02016B44 +FUN_02016B44: ; 0x02016B44 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - blx sub_020CD374 + blx FUN_020CD374 cmp r0, #0x12 bne _02016B56 - bl sub_02020C2C + bl FUN_02020C2C _02016B56: add r0, r5, #0x0 sub r0, #0x10 - blx sub_020ADDC0 + blx FUN_020ADDC0 add r4, #0x10 cmp r0, r4 blo _02016B84 @@ -44387,31 +44387,31 @@ _02016B56: lsl r0, r0, #0x2 ldr r0, [r1, r0] add r1, r5, #0x0 - blx sub_020ADE2C + blx FUN_020ADE2C pop {r3-r5, pc} _02016B84: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} nop _02016B8C: .word 0x021C4D28 - thumb_func_start sub_02016B90 -sub_02016B90: ; 0x02016B90 + thumb_func_start FUN_02016B90 +FUN_02016B90: ; 0x02016B90 mov r0, #0x1 bx lr - thumb_func_start sub_02016B94 -sub_02016B94: ; 0x02016B94 + thumb_func_start FUN_02016B94 +FUN_02016B94: ; 0x02016B94 push {r3-r5, lr} mov r1, #0x5a lsl r1, r1, #0x2 add r5, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x5a mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 str r5, [r4, #0x0] mov r0, #0x0 strh r0, [r4, #0x4] @@ -44419,21 +44419,21 @@ sub_02016B94: ; 0x02016B94 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02016BB8 -sub_02016BB8: ; 0x02016BB8 + thumb_func_start FUN_02016BB8 +FUN_02016BB8: ; 0x02016BB8 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_02016BBC -sub_02016BBC: ; 0x02016BBC + thumb_func_start FUN_02016BBC +FUN_02016BBC: ; 0x02016BBC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r4, #0x4] ldr r2, [r4, #0xc] - blx sub_020C59C0 + blx FUN_020C59C0 ldr r0, [r4, #0x8] - blx sub_020C59A4 + blx FUN_020C59A4 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -44444,14 +44444,14 @@ sub_02016BBC: ; 0x02016BBC asr r0, r0, #0x3 and r0, r1 str r0, [r2, #0x0] - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_0201E6D8 + bl FUN_0201E740 pop {r4, pc} nop _02016BF0: .word 0xC7FFFFFF - thumb_func_start sub_02016BF4 -sub_02016BF4: ; 0x02016BF4 + thumb_func_start FUN_02016BF4 +FUN_02016BF4: ; 0x02016BF4 push {r3, lr} add r2, r0, #0x0 cmp r1, #0x0 @@ -44459,17 +44459,17 @@ sub_02016BF4: ; 0x02016BF4 ldr r0, [r2, #0x0] ldr r1, [r2, #0x4] ldr r2, [r2, #0xc] - blx sub_020C59C0 - bl sub_0201E6D8 + blx FUN_020C59C0 + bl FUN_0201E6D8 pop {r3, pc} _02016C0C: ldr r0, [r2, #0x8] - blx sub_020C59A4 - bl sub_0201E740 + blx FUN_020C59A4 + bl FUN_0201E740 pop {r3, pc} - thumb_func_start sub_02016C18 -sub_02016C18: ; 0x02016C18 + thumb_func_start FUN_02016C18 +FUN_02016C18: ; 0x02016C18 push {r3-r7, lr} sub sp, #0x18 str r1, [sp, #0x4] @@ -44478,7 +44478,7 @@ sub_02016C18: ; 0x02016C18 str r0, [sp, #0x0] ldrb r0, [r4, #0x10] ldr r1, [sp, #0x8] - bl sub_020177DC + bl FUN_020177DC add r5, r0, #0x0 ldr r0, [sp, #0x4] cmp r0, #0x7 @@ -44501,7 +44501,7 @@ _02016C36: lsl r4, r2, #0xd mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldrb r3, [r4, #0x14] ldrb r1, [r4, #0x12] ldrb r0, [r4, #0x11] @@ -44629,12 +44629,12 @@ _0201705A: ldr r6, [sp, #0x0] ldr r0, [r0, #0x0] add r6, #0x8 - bl sub_02016998 + bl FUN_02016998 str r0, [r6, r5] ldr r1, [r6, r5] ldr r2, [r4, #0x8] mov r0, #0x0 - blx sub_020CE1C8 + blx FUN_020CE1C8 ldr r0, [sp, #0x0] ldr r2, [r4, #0x8] add r1, r0, r5 @@ -44674,20 +44674,20 @@ _020170D2: ldr r1, [sp, #0x4] ldr r3, [r4, #0x0] mov r2, #0x0 - bl sub_020179E0 + bl FUN_020179E0 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r3, [r4, #0x4] mov r2, #0x3 - bl sub_020179E0 + bl FUN_020179E0 add sp, #0x18 pop {r3-r7, pc} nop _020170F0: .byte 0x0E, 0x10, 0x00, 0x04 - thumb_func_start sub_020170F4 -sub_020170F4: ; 0x020170F4 + thumb_func_start FUN_020170F4 +FUN_020170F4: ; 0x020170F4 push {r3-r7, lr} sub sp, #0x20 add r4, r1, #0x0 @@ -44886,8 +44886,8 @@ _020177C8: .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04 .byte 0xFF, 0xE0, 0xFF, 0xFF, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 - thumb_func_start sub_020177DC -sub_020177DC: ; 0x020177DC + thumb_func_start FUN_020177DC +FUN_020177DC: ; 0x020177DC cmp r1, #0x0 beq _020177EA cmp r1, #0x1 @@ -44960,8 +44960,8 @@ _0201784A: bx lr .balign 4 - thumb_func_start sub_02017850 -sub_02017850: ; 0x02017850 + thumb_func_start FUN_02017850 +FUN_02017850: ; 0x02017850 cmp r0, #0x5 bhi _0201789E add r0, r0, r0 @@ -44987,8 +44987,8 @@ _02017874: _0201789E: bx lr - thumb_func_start sub_020178A0 -sub_020178A0: ; 0x020178A0 + thumb_func_start FUN_020178A0 +FUN_020178A0: ; 0x020178A0 push {r3-r5, lr} add r4, r0, #0x0 mov r2, #0x2c @@ -44998,14 +44998,14 @@ sub_020178A0: ; 0x020178A0 ldr r0, [r4, r5] cmp r0, #0x0 beq _020178BA - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, r5] _020178BA: pop {r3-r5, pc} - thumb_func_start sub_020178BC -sub_020178BC: ; 0x020178BC + thumb_func_start FUN_020178BC +FUN_020178BC: ; 0x020178BC cmp r0, #0x7 bhi _0201795A add r0, r0, r0 @@ -45047,8 +45047,8 @@ _02017960: .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04 .byte 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 - thumb_func_start sub_0201797C -sub_0201797C: ; 0x0201797C + thumb_func_start FUN_0201797C +FUN_0201797C: ; 0x0201797C push {r3, lr} cmp r0, #0x7 bhi _020179DC @@ -45067,7 +45067,7 @@ sub_0201797C: ; 0x0201797C lsl r6, r7, #0 lsl r6, r0, #0x1 mov r0, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 pop {r3, pc} _020179A6: .byte 0x02, 0x20, 0x06, 0xF0, 0x9C, 0xFE, 0x08, 0xBD, 0x04, 0x20 @@ -45078,8 +45078,8 @@ _020179DC: pop {r3, pc} .balign 4 - thumb_func_start sub_020179E0 -sub_020179E0: ; 0x020179E0 + thumb_func_start FUN_020179E0 +FUN_020179E0: ; 0x020179E0 push {r4-r6, lr} add r5, r1, #0x0 add r4, r0, #0x0 @@ -45091,7 +45091,7 @@ sub_020179E0: ; 0x020179E0 add r1, r2, #0x0 add r2, r3, #0x0 add r0, r0, r6 - bl sub_02017B8C + bl FUN_02017B8C add r0, r4, r6 ldr r1, [r0, #0x14] ldr r0, [r0, #0x18] @@ -45150,8 +45150,8 @@ _02017B28: .byte 0x1C, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00, 0x04, 0x14, 0x10, 0x00, 0x04, 0x00, 0x00, 0xFF, 0x01 .byte 0x18, 0x10, 0x00, 0x04, 0x1C, 0x10, 0x00, 0x04 - thumb_func_start sub_02017B48 -sub_02017B48: ; 0x02017B48 + thumb_func_start FUN_02017B48 +FUN_02017B48: ; 0x02017B48 mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -45159,8 +45159,8 @@ sub_02017B48: ; 0x02017B48 bx lr .balign 4 - thumb_func_start sub_02017B54 -sub_02017B54: ; 0x02017B54 + thumb_func_start FUN_02017B54 +FUN_02017B54: ; 0x02017B54 mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -45168,8 +45168,8 @@ sub_02017B54: ; 0x02017B54 bx lr .balign 4 - thumb_func_start sub_02017B60 -sub_02017B60: ; 0x02017B60 + thumb_func_start FUN_02017B60 +FUN_02017B60: ; 0x02017B60 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -45180,19 +45180,19 @@ sub_02017B60: ; 0x02017B60 add r0, r1, r0 add r1, r2, #0x0 add r2, r3, #0x0 - bl sub_02017B8C + bl FUN_02017B8C ldr r0, [sp, #0x18] ldr r2, [sp, #0x10] str r0, [sp, #0x0] ldr r3, [sp, #0x14] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02017BD0 + bl FUN_02017BD0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02017B8C -sub_02017B8C: ; 0x02017B8C + thumb_func_start FUN_02017B8C +FUN_02017B8C: ; 0x02017B8C cmp r1, #0x5 bhi _02017BCE add r1, r1, r1 @@ -45216,8 +45216,8 @@ _02017BAC: _02017BCE: bx lr - thumb_func_start sub_02017BD0 -sub_02017BD0: ; 0x02017BD0 + thumb_func_start FUN_02017BD0 +FUN_02017BD0: ; 0x02017BD0 push {r3-r5, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -45248,7 +45248,7 @@ sub_02017BD0: ; 0x02017BD0 ldr r0, [r4, #0x18] str r0, [sp, #0x4] ldr r0, _02017C5C ; =0x04000020 - blx sub_020C74F8 + blx FUN_020C74F8 add sp, #0x8 pop {r3-r5, pc} _02017C14: @@ -45265,8 +45265,8 @@ _02017C5C: .word 0x04000020 _02017C60: .byte 0x30, 0x00, 0x00, 0x04, 0x20, 0x10, 0x00, 0x04, 0x30, 0x10, 0x00, 0x04 - thumb_func_start sub_02017C6C -sub_02017C6C: ; 0x02017C6C + thumb_func_start FUN_02017C6C +FUN_02017C6C: ; 0x02017C6C push {r4-r5, lr} sub sp, #0x14 mov r2, #0x1 @@ -45277,23 +45277,23 @@ sub_02017C6C: ; 0x02017C6C add r0, sp, #0x4 add r3, r2, #0x0 str r1, [sp, #0x0] - bl sub_0201BB74 + bl FUN_0201BB74 mov r3, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0x4 str r3, [sp, #0x0] - bl sub_02017BD0 + bl FUN_02017BD0 add sp, #0x14 pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02017C98 -sub_02017C98: ; 0x02017C98 + thumb_func_start FUN_02017C98 +FUN_02017C98: ; 0x02017C98 push {r3-r5, lr} cmp r2, #0x0 bne _02017CA4 - blx sub_020CE528 + blx FUN_020CE528 pop {r3-r5, pc} _02017CA4: mov r4, #0x3 @@ -45312,14 +45312,14 @@ _02017CA4: ror r5, r3 add r3, r4, r5 bne _02017CCA - blx sub_020CE210 + blx FUN_020CE210 pop {r3-r5, pc} _02017CCA: - blx sub_020CE1E0 + blx FUN_020CE1E0 pop {r3-r5, pc} - thumb_func_start sub_02017CD0 -sub_02017CD0: ; 0x02017CD0 + thumb_func_start FUN_02017CD0 +FUN_02017CD0: ; 0x02017CD0 push {r3, lr} mov r2, #0x2c mul r2, r1 @@ -45328,12 +45328,12 @@ sub_02017CD0: ; 0x02017CD0 str r2, [sp, #0x0] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_02017CE8 + bl FUN_02017CE8 pop {r3, pc} .balign 4 - thumb_func_start sub_02017CE8 -sub_02017CE8: ; 0x02017CE8 + thumb_func_start FUN_02017CE8 +FUN_02017CE8: ; 0x02017CE8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -45353,14 +45353,14 @@ sub_02017CE8: ; 0x02017CE8 ldr r1, [sp, #0x4] add r0, r6, #0x0 add r2, r3, #0x0 - bl sub_02017C98 + bl FUN_02017C98 add r3, r5, r7 ldr r2, [r3, #0x10] ldr r1, [sp, #0x4] ldr r3, [r3, #0xc] add r0, r4, #0x0 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 add sp, #0x8 pop {r3-r7, pc} _02017D26: @@ -45368,20 +45368,20 @@ _02017D26: lsr r7, r0, #0x8 ldr r0, [r5, #0x0] add r1, r7, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r5, r0, #0x0 ldr r2, [sp, #0x0] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02017C98 + bl FUN_02017C98 ldr r2, [sp, #0x20] add r0, r4, #0x0 add r1, r5, #0x0 lsl r2, r2, #0x1 add r3, r7, #0x0 - bl sub_02017D68 + bl FUN_02017D68 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8 pop {r3-r7, pc} _02017D56: @@ -45389,13 +45389,13 @@ _02017D56: add r0, r4, #0x0 add r1, r6, #0x0 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02017D68 -sub_02017D68: ; 0x02017D68 + thumb_func_start FUN_02017D68 +FUN_02017D68: ; 0x02017D68 push {r3-r7, lr} add r4, r1, #0x0 add r6, r3, #0x0 @@ -45403,7 +45403,7 @@ sub_02017D68: ; 0x02017D68 add r0, r4, #0x0 add r1, r6, #0x0 add r5, r2, #0x0 - blx sub_020CC15C + blx FUN_020CC15C cmp r7, #0x7 bhi _02017DF8 add r0, r7, r7 @@ -45423,7 +45423,7 @@ sub_02017D68: ; 0x02017D68 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 - blx sub_020C922C + blx FUN_020C922C pop {r3-r7, pc} _02017DA6: .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xD6, 0xE9 @@ -45436,8 +45436,8 @@ _02017DF8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02017DFC -sub_02017DFC: ; 0x02017DFC + thumb_func_start FUN_02017DFC +FUN_02017DFC: ; 0x02017DFC push {r4, lr} add r4, r0, #0x0 add r0, r2, #0x0 @@ -45446,12 +45446,12 @@ sub_02017DFC: ; 0x02017DFC add r1, r4, r2 ldr r1, [r1, #0x8] add r2, r3, #0x0 - bl sub_02017C98 + bl FUN_02017C98 pop {r4, pc} .balign 4 - thumb_func_start sub_02017E14 -sub_02017E14: ; 0x02017E14 + thumb_func_start FUN_02017E14 +FUN_02017E14: ; 0x02017E14 push {r3-r4, lr} sub sp, #0x4 mov r4, #0x2c @@ -45463,19 +45463,19 @@ sub_02017E14: ; 0x02017E14 ldr r4, [sp, #0x10] lsl r4, r4, #0x5 str r4, [sp, #0x0] - bl sub_02017E40 + bl FUN_02017E40 add sp, #0x4 pop {r3-r4, pc} _02017E32: ldr r4, [sp, #0x10] lsl r4, r4, #0x6 str r4, [sp, #0x0] - bl sub_02017E40 + bl FUN_02017E40 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02017E40 -sub_02017E40: ; 0x02017E40 + thumb_func_start FUN_02017E40 +FUN_02017E40: ; 0x02017E40 push {r3-r7, lr} add r7, r1, #0x0 add r5, r2, #0x0 @@ -45486,29 +45486,29 @@ sub_02017E40: ; 0x02017E40 ldr r0, [r0, #0x0] lsr r4, r1, #0x8 add r1, r4, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02017C98 + bl FUN_02017C98 ldr r2, [sp, #0x18] add r0, r7, #0x0 add r1, r6, #0x0 add r3, r4, #0x0 - bl sub_02017E84 + bl FUN_02017E84 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} _02017E78: ldr r2, [sp, #0x18] add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_02017E84 + bl FUN_02017E84 pop {r3-r7, pc} - thumb_func_start sub_02017E84 -sub_02017E84: ; 0x02017E84 + thumb_func_start FUN_02017E84 +FUN_02017E84: ; 0x02017E84 push {r3-r7, lr} add r4, r1, #0x0 add r6, r3, #0x0 @@ -45516,7 +45516,7 @@ sub_02017E84: ; 0x02017E84 add r0, r4, #0x0 add r1, r6, #0x0 add r5, r2, #0x0 - blx sub_020CC15C + blx FUN_020CC15C cmp r7, #0x7 bhi _02017F14 add r0, r7, r7 @@ -45536,7 +45536,7 @@ sub_02017E84: ; 0x02017E84 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 - blx sub_020C8EEC + blx FUN_020C8EEC pop {r3-r7, pc} _02017EC2: .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xA8, 0xEF, 0xF8, 0xBD, 0x20, 0x1C @@ -45549,31 +45549,31 @@ _02017F14: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02017F18 -sub_02017F18: ; 0x02017F18 + thumb_func_start FUN_02017F18 +FUN_02017F18: ; 0x02017F18 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r3, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r1, #0x0 add r2, r5, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r6, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 add r3, r5, #0x0 - bl sub_02017E84 + bl FUN_02017E84 ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r3-r7, pc} - thumb_func_start sub_02017F48 -sub_02017F48: ; 0x02017F48 + thumb_func_start FUN_02017F48 +FUN_02017F48: ; 0x02017F48 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 @@ -45587,7 +45587,7 @@ sub_02017F48: ; 0x02017F48 add r5, r2, #0x0 mul r1, r3 str r1, [sp, #0x0] - bl sub_020169D8 + bl FUN_020169D8 str r0, [sp, #0x4] ldrb r0, [r4, r6] cmp r0, #0x20 @@ -45613,7 +45613,7 @@ _02017F8C: ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 - blx sub_020CE240 + blx FUN_020CE240 lsl r0, r7, #0x18 ldrb r2, [r4, r6] ldr r3, [sp, #0x20] @@ -45621,14 +45621,14 @@ _02017F8C: mul r2, r3 ldr r3, [sp, #0x0] lsr r0, r0, #0x18 - bl sub_02017E84 + bl FUN_02017E84 ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02017FB4 -sub_02017FB4: ; 0x02017FB4 + thumb_func_start FUN_02017FB4 +FUN_02017FB4: ; 0x02017FB4 push {r3-r7, lr} add r5, r1, #0x0 add r4, r2, #0x0 @@ -45636,38 +45636,38 @@ sub_02017FB4: ; 0x02017FB4 add r0, r5, #0x0 add r1, r4, #0x0 add r7, r3, #0x0 - blx sub_020CC15C + blx FUN_020CC15C cmp r6, #0x4 bhs _02017FD6 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r4, #0x0 - blx sub_020C9550 + blx FUN_020C9550 pop {r3-r7, pc} _02017FD6: add r0, r5, #0x0 add r1, r7, #0x0 add r2, r4, #0x0 - blx sub_020C94E8 + blx FUN_020C94E8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02017FE4 -sub_02017FE4: ; 0x02017FE4 + thumb_func_start FUN_02017FE4 +FUN_02017FE4: ; 0x02017FE4 push {r0-r3} push {r3, lr} add r1, sp, #0xc mov r2, #0x2 mov r3, #0x0 - bl sub_02017FB4 + bl FUN_02017FB4 pop {r3} pop {r3} add sp, #0x10 bx r3 .balign 4 - thumb_func_start sub_02017FFC -sub_02017FFC: ; 0x02017FFC + thumb_func_start FUN_02017FFC +FUN_02017FFC: ; 0x02017FFC cmp r2, #0x5 bhi _02018066 add r2, r2, r2 @@ -45696,8 +45696,8 @@ _02018022: _02018066: bx lr - thumb_func_start sub_02018068 -sub_02018068: ; 0x02018068 + thumb_func_start FUN_02018068 +FUN_02018068: ; 0x02018068 push {r3-r7} sub sp, #0x4 str r3, [sp, #0x0] @@ -45767,8 +45767,8 @@ _02018140: pop {r3-r7} bx lr - thumb_func_start sub_02018148 -sub_02018148: ; 0x02018148 + thumb_func_start FUN_02018148 +FUN_02018148: ; 0x02018148 push {r3-r6, lr} sub sp, #0x1c add r6, sp, #0x20 @@ -45784,13 +45784,13 @@ sub_02018148: ; 0x02018148 str r4, [sp, #0x18] add r2, r3, #0x0 ldrb r3, [r6, #0x10] - bl sub_02018170 + bl FUN_02018170 add sp, #0x1c pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02018170 -sub_02018170: ; 0x02018170 + thumb_func_start FUN_02018170 +FUN_02018170: ; 0x02018170 push {r4-r5, lr} sub sp, #0x1c add r4, r2, #0x0 @@ -45824,7 +45824,7 @@ sub_02018170: ; 0x02018170 str r1, [sp, #0x18] ldrb r3, [r3, #0x10] add r1, r4, #0x0 - bl sub_02018268 + bl FUN_02018268 add sp, #0x1c pop {r4-r5, pc} _020181BA: @@ -45849,12 +45849,12 @@ _020181BA: str r1, [sp, #0x18] ldrb r3, [r3, #0x10] add r1, r4, #0x0 - bl sub_020183DC + bl FUN_020183DC add sp, #0x1c pop {r4-r5, pc} - thumb_func_start sub_020181EC -sub_020181EC: ; 0x020181EC + thumb_func_start FUN_020181EC +FUN_020181EC: ; 0x020181EC push {r4-r5, lr} sub sp, #0x1c add r4, r2, #0x0 @@ -45888,7 +45888,7 @@ sub_020181EC: ; 0x020181EC str r1, [sp, #0x18] ldrb r3, [r3, #0x10] add r1, r4, #0x0 - bl sub_02018268 + bl FUN_02018268 add sp, #0x1c pop {r4-r5, pc} _02018236: @@ -45913,12 +45913,12 @@ _02018236: str r1, [sp, #0x18] ldrb r3, [r3, #0x10] add r1, r4, #0x0 - bl sub_020183DC + bl FUN_020183DC add sp, #0x1c pop {r4-r5, pc} - thumb_func_start sub_02018268 -sub_02018268: ; 0x02018268 + thumb_func_start FUN_02018268 +FUN_02018268: ; 0x02018268 push {r4-r7, lr} sub sp, #0x44 str r1, [sp, #0x0] @@ -45942,7 +45942,7 @@ _0201828C: add r1, sp, #0x40 add r1, #0x1 add r2, sp, #0x40 - bl sub_02017850 + bl FUN_02017850 add r0, sp, #0x70 ldrb r0, [r0, #0x0] cmp r0, #0x0 @@ -46005,7 +46005,7 @@ _020182F0: lsl r0, r0, #0x18 ldr r1, [sp, #0x30] lsr r0, r0, #0x18 - bl sub_02017FFC + bl FUN_02017FFC ldr r1, [sp, #0x10] lsl r2, r5, #0x1 ldrh r1, [r1, r2] @@ -46078,7 +46078,7 @@ _0201837A: lsl r0, r0, #0x18 ldr r1, [sp, #0x34] lsr r0, r0, #0x18 - bl sub_02017FFC + bl FUN_02017FFC str r0, [sp, #0x38] ldr r0, [sp, #0xc] ldr r1, [sp, #0x3c] @@ -46086,7 +46086,7 @@ _0201837A: ldr r3, [sp, #0x6c] lsr r0, r0, #0x18 add r2, r4, #0x0 - bl sub_02018068 + bl FUN_02018068 lsl r1, r0, #0x1 ldr r0, [sp, #0x5c] ldrh r0, [r0, r1] @@ -46113,8 +46113,8 @@ _020183D6: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020183DC -sub_020183DC: ; 0x020183DC + thumb_func_start FUN_020183DC +FUN_020183DC: ; 0x020183DC push {r4-r7, lr} sub sp, #0x44 str r1, [sp, #0x0] @@ -46138,7 +46138,7 @@ _02018400: add r1, sp, #0x40 add r1, #0x1 add r2, sp, #0x40 - bl sub_02017850 + bl FUN_02017850 add r0, sp, #0x70 ldrb r0, [r0, #0x0] cmp r0, #0x0 @@ -46197,7 +46197,7 @@ _0201845E: lsl r0, r0, #0x18 ldr r1, [sp, #0x30] lsr r0, r0, #0x18 - bl sub_02017FFC + bl FUN_02017FFC ldr r1, [sp, #0x10] ldrb r2, [r1, r5] ldr r1, [sp, #0x2c] @@ -46268,7 +46268,7 @@ _020184E4: lsl r0, r0, #0x18 ldr r1, [sp, #0x34] lsr r0, r0, #0x18 - bl sub_02017FFC + bl FUN_02017FFC str r0, [sp, #0x38] ldr r0, [sp, #0xc] ldr r1, [sp, #0x3c] @@ -46276,7 +46276,7 @@ _020184E4: ldr r3, [sp, #0x6c] lsr r0, r0, #0x18 add r2, r4, #0x0 - bl sub_02018068 + bl FUN_02018068 ldr r1, [sp, #0x5c] ldrb r2, [r1, r0] ldr r1, [sp, #0x2c] @@ -46300,8 +46300,8 @@ _0201853C: add sp, #0x44 pop {r4-r7, pc} - thumb_func_start sub_02018540 -sub_02018540: ; 0x02018540 + thumb_func_start FUN_02018540 +FUN_02018540: ; 0x02018540 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 @@ -46324,7 +46324,7 @@ sub_02018540: ; 0x02018540 str r1, [sp, #0x8] ldrb r3, [r3, #0x10] add r1, r4, #0x0 - bl sub_02018590 + bl FUN_02018590 add sp, #0xc pop {r4-r5, pc} _02018574: @@ -46337,13 +46337,13 @@ _02018574: lsl r1, r4, #0x18 ldrb r3, [r3, #0x10] lsr r1, r1, #0x18 - bl sub_02018640 + bl FUN_02018640 add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02018590 -sub_02018590: ; 0x02018590 + thumb_func_start FUN_02018590 +FUN_02018590: ; 0x02018590 push {r4-r7, lr} sub sp, #0x1c str r2, [sp, #0x4] @@ -46358,7 +46358,7 @@ sub_02018590: ; 0x02018590 add r1, sp, #0x18 add r1, #0x1 add r2, sp, #0x18 - bl sub_02017850 + bl FUN_02017850 add r0, sp, #0x20 ldrb r2, [r0, #0x14] ldr r1, [sp, #0x8] @@ -46396,7 +46396,7 @@ _020185E6: ldr r1, [sp, #0x8] ldrb r2, [r2, #0x15] add r0, r5, #0x0 - bl sub_02017FFC + bl FUN_02017FFC cmp r6, #0x11 bne _02018604 lsl r0, r0, #0x1 @@ -46438,8 +46438,8 @@ _0201863A: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02018640 -sub_02018640: ; 0x02018640 + thumb_func_start FUN_02018640 +FUN_02018640: ; 0x02018640 push {r4-r7, lr} sub sp, #0x14 str r1, [sp, #0x0] @@ -46454,7 +46454,7 @@ sub_02018640: ; 0x02018640 add r1, sp, #0x10 add r1, #0x1 add r2, sp, #0x10 - bl sub_02017850 + bl FUN_02017850 add r1, sp, #0x18 ldrb r0, [r1, #0x14] add r0, r5, r0 @@ -46481,7 +46481,7 @@ _02018682: ldrb r2, [r7, #0x15] add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02017FFC + bl FUN_02017FFC ldr r2, [sp, #0x0] ldr r1, [sp, #0xc] strb r2, [r1, r0] @@ -46501,8 +46501,8 @@ _020186B0: add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_020186B4 -sub_020186B4: ; 0x020186B4 + thumb_func_start FUN_020186B4 +FUN_020186B4: ; 0x020186B4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -46519,7 +46519,7 @@ sub_020186B4: ; 0x020186B4 add r1, sp, #0x10 add r1, #0x1 add r2, sp, #0x10 - bl sub_02017850 + bl FUN_02017850 add r0, sp, #0x18 ldrb r1, [r0, #0x14] add r1, r6, r1 @@ -46552,7 +46552,7 @@ _02018704: add r0, r5, #0x0 ldrb r2, [r2, #0x1d] add r1, r6, #0x0 - bl sub_02017FFC + bl FUN_02017FFC lsl r0, r0, #0x1 ldrh r2, [r4, r0] ldr r1, _02018740 ; =0x00000FFF @@ -46578,8 +46578,8 @@ _0201873C: .balign 4 _02018740: .word 0x00000FFF - thumb_func_start sub_02018744 -sub_02018744: ; 0x02018744 + thumb_func_start FUN_02018744 +FUN_02018744: ; 0x02018744 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -46591,15 +46591,15 @@ sub_02018744: ; 0x02018744 beq _02018766 ldr r2, [r2, #0xc] mov r0, #0x0 - blx sub_020CE1C8 + blx FUN_020CE1C8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02017CD0 + bl FUN_02017CD0 _02018766: pop {r3-r5, pc} - thumb_func_start sub_02018768 -sub_02018768: ; 0x02018768 + thumb_func_start FUN_02018768 +FUN_02018768: ; 0x02018768 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -46611,15 +46611,15 @@ sub_02018768: ; 0x02018768 beq _0201878A add r0, r2, #0x0 ldr r2, [r3, #0xc] - blx sub_020CE1C8 + blx FUN_020CE1C8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02017CD0 + bl FUN_02017CD0 _0201878A: pop {r3-r5, pc} - thumb_func_start sub_0201878C -sub_0201878C: ; 0x0201878C + thumb_func_start FUN_0201878C +FUN_0201878C: ; 0x0201878C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -46631,15 +46631,15 @@ sub_0201878C: ; 0x0201878C beq _020187AE add r0, r2, #0x0 ldr r2, [r3, #0xc] - blx sub_020CE1C8 + blx FUN_020CE1C8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201AC68 + bl FUN_0201AC68 _020187AE: pop {r3-r5, pc} - thumb_func_start sub_020187B0 -sub_020187B0: ; 0x020187B0 + thumb_func_start FUN_020187B0 +FUN_020187B0: ; 0x020187B0 push {r3, lr} cmp r0, #0x7 bhi _02018802 @@ -46657,7 +46657,7 @@ sub_020187B0: ; 0x020187B0 lsl r4, r5, #0 lsl r2, r6, #0 lsl r0, r7, #0 - blx sub_020C7124 + blx FUN_020C7124 pop {r3, pc} _020187D8: .byte 0xAE, 0xF0, 0x7A, 0xEC, 0x08, 0xBD, 0xAE, 0xF0 @@ -46669,8 +46669,8 @@ _02018802: pop {r3, pc} .balign 4 - thumb_func_start sub_02018808 -sub_02018808: ; 0x02018808 + thumb_func_start FUN_02018808 +FUN_02018808: ; 0x02018808 push {r4-r7} lsl r3, r3, #0x1c lsr r3, r3, #0x18 @@ -46708,27 +46708,27 @@ _02018842: bx lr .balign 4 - thumb_func_start sub_02018848 -sub_02018848: ; 0x02018848 + thumb_func_start FUN_02018848 +FUN_02018848: ; 0x02018848 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r0, r3, #0x0 lsl r1, r5, #0x1 add r7, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02018808 + bl FUN_02018808 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201886C -sub_0201886C: ; 0x0201886C + thumb_func_start FUN_0201886C +FUN_0201886C: ; 0x0201886C mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -46736,8 +46736,8 @@ sub_0201886C: ; 0x0201886C bx lr .balign 4 - thumb_func_start sub_02018878 -sub_02018878: ; 0x02018878 + thumb_func_start FUN_02018878 +FUN_02018878: ; 0x02018878 mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -46745,8 +46745,8 @@ sub_02018878: ; 0x02018878 bx lr .balign 4 - thumb_func_start sub_02018884 -sub_02018884: ; 0x02018884 + thumb_func_start FUN_02018884 +FUN_02018884: ; 0x02018884 sub sp, #0x20 cmp r1, #0x7 bls _0201888C @@ -46812,8 +46812,8 @@ _02018A44: .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04 .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 - thumb_func_start sub_02018A60 -sub_02018A60: ; 0x02018A60 + thumb_func_start FUN_02018A60 +FUN_02018A60: ; 0x02018A60 push {r3-r7, lr} sub sp, #0x68 str r2, [sp, #0x8] @@ -47116,8 +47116,8 @@ _02018C92: _02018C98: .word 0x0000FFFF _02018C9C: .word 0x00003FE0 - thumb_func_start sub_02018CA0 -sub_02018CA0: ; 0x02018CA0 + thumb_func_start FUN_02018CA0 +FUN_02018CA0: ; 0x02018CA0 push {r3-r7, lr} sub sp, #0x50 str r2, [sp, #0x8] @@ -47377,8 +47377,8 @@ _02018E7C: _02018E80: .word 0x0000FFFF _02018E84: .word 0x00007FC0 - thumb_func_start sub_02018E88 -sub_02018E88: ; 0x02018E88 + thumb_func_start FUN_02018E88 +FUN_02018E88: ; 0x02018E88 push {r4-r7, lr} sub sp, #0x14 str r1, [sp, #0x4] @@ -47486,8 +47486,8 @@ _02018F44: .balign 4 _02018F48: .word 0x00003FE0 - thumb_func_start sub_02018F4C -sub_02018F4C: ; 0x02018F4C + thumb_func_start FUN_02018F4C +FUN_02018F4C: ; 0x02018F4C push {r4-r7, lr} sub sp, #0x14 str r1, [sp, #0x4] @@ -47578,12 +47578,12 @@ _02018FEA: nop _02018FF0: .word 0x00007FC0 - thumb_func_start sub_02018FF4 -sub_02018FF4: ; 0x02018FF4 + thumb_func_start FUN_02018FF4 +FUN_02018FF4: ; 0x02018FF4 push {r4-r6, lr} add r5, r1, #0x0 lsl r1, r5, #0x4 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 mov r4, #0x0 cmp r5, #0x0 @@ -47591,7 +47591,7 @@ sub_02018FF4: ; 0x02018FF4 _02019006: lsl r0, r4, #0x4 add r0, r6, r0 - bl sub_0201901C + bl FUN_0201901C add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -47601,8 +47601,8 @@ _02019018: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0201901C -sub_0201901C: ; 0x0201901C + thumb_func_start FUN_0201901C +FUN_0201901C: ; 0x0201901C mov r3, #0x0 str r3, [r0, #0x0] mov r1, #0xff @@ -47625,8 +47625,8 @@ sub_0201901C: ; 0x0201901C nop _02019044: .word 0xFFFF8000 - thumb_func_start sub_02019048 -sub_02019048: ; 0x02019048 + thumb_func_start FUN_02019048 +FUN_02019048: ; 0x02019048 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0201905A @@ -47644,8 +47644,8 @@ _0201905E: bx lr .balign 4 - thumb_func_start sub_02019064 -sub_02019064: ; 0x02019064 + thumb_func_start FUN_02019064 +FUN_02019064: ; 0x02019064 push {r3-r7, lr} add r6, r2, #0x0 add r5, r0, #0x0 @@ -47666,7 +47666,7 @@ sub_02019064: ; 0x02019064 mul r3, r1 add r1, r2, #0x0 mul r1, r3 - bl sub_02016998 + bl FUN_02016998 add r1, r0, #0x0 beq _020190E0 str r5, [r4, #0x0] @@ -47715,8 +47715,8 @@ _020190E0: _020190E4: .word 0xFFFF8000 _020190E8: .word 0xFFFF7FFF - thumb_func_start sub_020190EC -sub_020190EC: ; 0x020190EC + thumb_func_start FUN_020190EC +FUN_020190EC: ; 0x020190EC push {r3-r7, lr} sub sp, #0x8 str r3, [sp, #0x0] @@ -47731,7 +47731,7 @@ sub_020190EC: ; 0x020190EC str r0, [sp, #0x4] ldr r0, [r5, #0x0] ldr r1, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 ldr r1, [sp, #0x24] add r7, r0, #0x0 lsl r2, r1, #0x4 @@ -47739,7 +47739,7 @@ sub_020190EC: ; 0x020190EC lsl r1, r1, #0x18 ldr r2, [sp, #0x4] lsr r1, r1, #0x18 - blx sub_020DF4A4 + blx FUN_020DF4A4 cmp r7, #0x0 beq _02019148 str r5, [r4, #0x0] @@ -47767,8 +47767,8 @@ _02019148: .balign 4 _0201914C: .word 0xFFFF8000 - thumb_func_start sub_02019150 -sub_02019150: ; 0x02019150 + thumb_func_start FUN_02019150 +FUN_02019150: ; 0x02019150 push {lr} sub sp, #0x14 add r3, r2, #0x0 @@ -47784,17 +47784,17 @@ sub_02019150: ; 0x02019150 str r2, [sp, #0x10] ldrb r2, [r3, #0x0] ldrb r3, [r3, #0x1] - bl sub_02019064 + bl FUN_02019064 add sp, #0x14 pop {pc} .balign 4 - thumb_func_start sub_02019178 -sub_02019178: ; 0x02019178 + thumb_func_start FUN_02019178 +FUN_02019178: ; 0x02019178 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02016A18 + bl FUN_02016A18 mov r2, #0x0 str r2, [r4, #0x0] mov r0, #0xff @@ -47813,8 +47813,8 @@ sub_02019178: ; 0x02019178 .balign 4 _020191A0: .word 0xFFFF8000 - thumb_func_start sub_020191A4 -sub_020191A4: ; 0x020191A4 + thumb_func_start FUN_020191A4 +FUN_020191A4: ; 0x020191A4 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 @@ -47827,7 +47827,7 @@ _020191B0: ldr r0, [r0, #0xc] cmp r0, #0x0 beq _020191BE - bl sub_02016A18 + bl FUN_02016A18 _020191BE: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -47836,25 +47836,25 @@ _020191BE: blt _020191B0 _020191C8: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} - thumb_func_start sub_020191D0 -sub_020191D0: ; 0x020191D0 + thumb_func_start FUN_020191D0 +FUN_020191D0: ; 0x020191D0 push {r4, lr} add r4, r0, #0x0 bne _020191DA - bl sub_02020C2C + bl FUN_02020C2C _020191DA: ldr r0, [r4, #0x0] cmp r0, #0x0 bne _020191E4 - bl sub_02020C2C + bl FUN_02020C2C _020191E4: ldrb r0, [r4, #0x4] cmp r0, #0x8 blo _020191EE - bl sub_02020C2C + bl FUN_02020C2C _020191EE: ldrb r1, [r4, #0x4] mov r0, #0x2c @@ -47864,7 +47864,7 @@ _020191EE: ldrb r0, [r0, #0x1c] cmp r0, #0x3 blo _02019202 - bl sub_02020C2C + bl FUN_02020C2C _02019202: ldrb r2, [r4, #0x4] mov r1, #0x2c @@ -47881,22 +47881,22 @@ _02019202: nop _0201921C: .word 0x020EDB68 - thumb_func_start sub_02019220 -sub_02019220: ; 0x02019220 + thumb_func_start FUN_02019220 +FUN_02019220: ; 0x02019220 push {r4, lr} add r4, r0, #0x0 bne _0201922A - bl sub_02020C2C + bl FUN_02020C2C _0201922A: ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02019234 - bl sub_02020C2C + bl FUN_02020C2C _02019234: ldrb r0, [r4, #0x4] cmp r0, #0x8 blo _0201923E - bl sub_02020C2C + bl FUN_02020C2C _0201923E: ldrb r1, [r4, #0x4] mov r0, #0x2c @@ -47906,7 +47906,7 @@ _0201923E: ldrb r0, [r0, #0x1c] cmp r0, #0x3 blo _02019252 - bl sub_02020C2C + bl FUN_02020C2C _02019252: ldrb r2, [r4, #0x4] mov r1, #0x2c @@ -47923,8 +47923,8 @@ _02019252: nop _0201926C: .word 0x020EDB5C - thumb_func_start sub_02019270 -sub_02019270: ; 0x02019270 + thumb_func_start FUN_02019270 +FUN_02019270: ; 0x02019270 push {r3, lr} ldrb r2, [r0, #0x4] mov r1, #0x2c @@ -47940,8 +47940,8 @@ sub_02019270: ; 0x02019270 .balign 4 _02019288: .word 0x020EDB38 - thumb_func_start sub_0201928C -sub_0201928C: ; 0x0201928C + thumb_func_start FUN_0201928C +FUN_0201928C: ; 0x0201928C push {r4-r6, lr} add r5, r0, #0x0 ldrb r6, [r5, #0x7] @@ -47964,8 +47964,8 @@ sub_0201928C: ; 0x0201928C nop _020192B4: .word 0x020EDB38 - thumb_func_start sub_020192B8 -sub_020192B8: ; 0x020192B8 + thumb_func_start FUN_020192B8 +FUN_020192B8: ; 0x020192B8 push {r3, lr} ldrb r2, [r0, #0x4] mov r1, #0x2c @@ -47981,8 +47981,8 @@ sub_020192B8: ; 0x020192B8 .balign 4 _020192D0: .word 0x020EDB74 - thumb_func_start sub_020192D4 -sub_020192D4: ; 0x020192D4 + thumb_func_start FUN_020192D4 +FUN_020192D4: ; 0x020192D4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -48054,8 +48054,8 @@ _02019354: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02019358 -sub_02019358: ; 0x02019358 + thumb_func_start FUN_02019358 +FUN_02019358: ; 0x02019358 push {r4-r7} ldrb r3, [r0, #0x4] mov r1, #0x2c @@ -48107,8 +48107,8 @@ _020193AC: .balign 4 _020193B0: .word 0x020EDB30 - thumb_func_start sub_020193B4 -sub_020193B4: ; 0x020193B4 + thumb_func_start FUN_020193B4 +FUN_020193B4: ; 0x020193B4 push {r4-r7, lr} sub sp, #0xc ldrb r2, [r0, #0x4] @@ -48186,8 +48186,8 @@ _0201943C: .balign 4 _02019440: .word 0x020EDB30 - thumb_func_start sub_02019444 -sub_02019444: ; 0x02019444 + thumb_func_start FUN_02019444 +FUN_02019444: ; 0x02019444 push {r4-r7} ldrb r3, [r0, #0x4] mov r1, #0x2c @@ -48236,14 +48236,14 @@ _02019492: nop _02019498: .word 0x020EDB30 - thumb_func_start sub_0201949C -sub_0201949C: ; 0x0201949C + thumb_func_start FUN_0201949C +FUN_0201949C: ; 0x0201949C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_020192D4 + bl FUN_020192D4 add r0, r4, #0x0 - bl sub_02019548 + bl FUN_02019548 ldrb r1, [r4, #0x4] mov r0, #0x2c add r2, r1, #0x0 @@ -48254,27 +48254,27 @@ sub_0201949C: ; 0x0201949C str r2, [sp, #0x0] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_02017CE8 + bl FUN_02017CE8 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_020194C8 -sub_020194C8: ; 0x020194C8 + thumb_func_start FUN_020194C8 +FUN_020194C8: ; 0x020194C8 push {r4, lr} add r4, r0, #0x0 - bl sub_020192D4 + bl FUN_020192D4 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 add r0, r4, #0x0 - bl sub_02019548 + bl FUN_02019548 pop {r4, pc} - thumb_func_start sub_020194E0 -sub_020194E0: ; 0x020194E0 + thumb_func_start FUN_020194E0 +FUN_020194E0: ; 0x020194E0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02019358 + bl FUN_02019358 ldrb r1, [r4, #0x4] mov r0, #0x2c add r2, r1, #0x0 @@ -48285,7 +48285,7 @@ sub_020194E0: ; 0x020194E0 str r2, [sp, #0x0] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_02017CE8 + bl FUN_02017CE8 ldrh r0, [r4, #0xa] lsl r0, r0, #0x11 lsr r0, r0, #0x11 @@ -48297,17 +48297,17 @@ sub_020194E0: ; 0x020194E0 mul r3, r5 ldr r2, [r4, #0xc] lsl r3, r3, #0x6 - bl sub_02017E14 + bl FUN_02017E14 pop {r3-r5, pc} - thumb_func_start sub_0201951C -sub_0201951C: ; 0x0201951C + thumb_func_start FUN_0201951C +FUN_0201951C: ; 0x0201951C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02019358 + bl FUN_02019358 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 ldrh r0, [r4, #0xa] lsl r0, r0, #0x11 lsr r0, r0, #0x11 @@ -48319,11 +48319,11 @@ sub_0201951C: ; 0x0201951C mul r3, r5 ldr r2, [r4, #0xc] lsl r3, r3, #0x6 - bl sub_02017E14 + bl FUN_02017E14 pop {r3-r5, pc} - thumb_func_start sub_02019548 -sub_02019548: ; 0x02019548 + thumb_func_start FUN_02019548 +FUN_02019548: ; 0x02019548 push {r3-r5, lr} add r3, r0, #0x0 ldrh r2, [r3, #0xa] @@ -48341,11 +48341,11 @@ sub_02019548: ; 0x02019548 ldrb r4, [r4, #0x1f] mul r3, r5 mul r3, r4 - bl sub_02017E14 + bl FUN_02017E14 pop {r3-r5, pc} - thumb_func_start sub_02019570 -sub_02019570: ; 0x02019570 + thumb_func_start FUN_02019570 +FUN_02019570: ; 0x02019570 push {r3, lr} ldrb r2, [r0, #0x4] mov r1, #0x2c @@ -48361,8 +48361,8 @@ sub_02019570: ; 0x02019570 .balign 4 _02019588: .word 0x020EDB50 - thumb_func_start sub_0201958C -sub_0201958C: ; 0x0201958C + thumb_func_start FUN_0201958C +FUN_0201958C: ; 0x0201958C push {r3, lr} ldrb r2, [r0, #0x4] mov r1, #0x2c @@ -48378,12 +48378,12 @@ sub_0201958C: ; 0x0201958C .balign 4 _020195A4: .word 0x020EDB44 - thumb_func_start sub_020195A8 -sub_020195A8: ; 0x020195A8 + thumb_func_start FUN_020195A8 +FUN_020195A8: ; 0x020195A8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_020193B4 + bl FUN_020193B4 ldrb r1, [r4, #0x4] mov r0, #0x2c add r2, r1, #0x0 @@ -48394,28 +48394,28 @@ sub_020195A8: ; 0x020195A8 str r2, [sp, #0x0] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_02017CE8 + bl FUN_02017CE8 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_020195D0 -sub_020195D0: ; 0x020195D0 + thumb_func_start FUN_020195D0 +FUN_020195D0: ; 0x020195D0 push {r4, lr} add r4, r0, #0x0 - bl sub_020193B4 + bl FUN_020193B4 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4, pc} .balign 4 - thumb_func_start sub_020195E4 -sub_020195E4: ; 0x020195E4 + thumb_func_start FUN_020195E4 +FUN_020195E4: ; 0x020195E4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02019444 + bl FUN_02019444 ldrb r1, [r4, #0x4] mov r0, #0x2c add r2, r1, #0x0 @@ -48426,24 +48426,24 @@ sub_020195E4: ; 0x020195E4 str r2, [sp, #0x0] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] - bl sub_02017CE8 + bl FUN_02017CE8 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201960C -sub_0201960C: ; 0x0201960C + thumb_func_start FUN_0201960C +FUN_0201960C: ; 0x0201960C push {r4, lr} add r4, r0, #0x0 - bl sub_02019444 + bl FUN_02019444 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4, pc} .balign 4 - thumb_func_start sub_02019620 -sub_02019620: ; 0x02019620 + thumb_func_start FUN_02019620 +FUN_02019620: ; 0x02019620 push {r3-r5, lr} add r4, r0, #0x0 ldrb r2, [r4, #0x4] @@ -48470,11 +48470,11 @@ _0201963C: ldrb r4, [r4, #0x7] mul r2, r4 mul r2, r3 - blx sub_020CE240 + blx FUN_020CE240 pop {r3-r5, pc} - thumb_func_start sub_02019658 -sub_02019658: ; 0x02019658 + thumb_func_start FUN_02019658 +FUN_02019658: ; 0x02019658 push {r4-r5, lr} sub sp, #0x1c add r4, sp, #0x18 @@ -48492,13 +48492,13 @@ sub_02019658: ; 0x02019658 str r4, [sp, #0x14] mov r4, #0x0 str r4, [sp, #0x18] - bl sub_02019684 + bl FUN_02019684 add sp, #0x1c pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02019684 -sub_02019684: ; 0x02019684 + thumb_func_start FUN_02019684 +FUN_02019684: ; 0x02019684 push {r4-r5, lr} sub sp, #0x24 str r1, [sp, #0x1c] @@ -48536,7 +48536,7 @@ sub_02019684: ; 0x02019684 ldrh r0, [r4, #0x28] str r0, [sp, #0x10] add r0, sp, #0x1c - bl sub_02018A60 + bl FUN_02018A60 add sp, #0x24 pop {r4-r5, pc} _020196D6: @@ -48550,13 +48550,13 @@ _020196D6: ldrh r0, [r4, #0x28] str r0, [sp, #0x10] add r0, sp, #0x1c - bl sub_02018CA0 + bl FUN_02018CA0 add sp, #0x24 pop {r4-r5, pc} .balign 4 - thumb_func_start sub_020196F4 -sub_020196F4: ; 0x020196F4 + thumb_func_start FUN_020196F4 +FUN_020196F4: ; 0x020196F4 push {r3-r5, lr} sub sp, #0x10 add r5, r1, #0x0 @@ -48586,7 +48586,7 @@ sub_020196F4: ; 0x020196F4 str r5, [sp, #0x4] ldrh r3, [r3, #0x10] add r0, sp, #0x8 - bl sub_02018E88 + bl FUN_02018E88 add sp, #0x10 pop {r3-r5, pc} _02019736: @@ -48596,13 +48596,13 @@ _02019736: str r5, [sp, #0x4] ldrh r3, [r3, #0x10] add r0, sp, #0x8 - bl sub_02018F4C + bl FUN_02018F4C add sp, #0x10 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201974C -sub_0201974C: ; 0x0201974C + thumb_func_start FUN_0201974C +FUN_0201974C: ; 0x0201974C push {r4-r7, lr} sub sp, #0x1fc sub sp, #0x118 @@ -48659,11 +48659,11 @@ _020197AC: lsl r0, r0, #0x10 lsr r0, r0, #0x1f beq _020197B8 - bl sub_0201A12C + bl FUN_0201A12C _020197B8: cmp r4, #0x3 bls _020197C0 - bl sub_0201A8BC + bl FUN_0201A8BC _020197C0: add r0, r4, r4 add r0, pc @@ -48684,7 +48684,7 @@ _020197C0: ldr r0, [sp, #0x4] cmp r0, #0x0 bgt _020197EA - bl sub_0201A8BC + bl FUN_0201A8BC _020197EA: ldr r0, [sp, #0x58] mov r1, #0x7 @@ -48949,8 +48949,8 @@ _02019B6C: .byte 0x12, 0x90, 0x00, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x00, 0x90, 0x06, 0x98, 0x08, 0x39, 0x40, 0x1C .byte 0x06, 0x90, 0x88, 0x42, 0x8E, 0xDB, 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD - thumb_func_start sub_0201A12C -sub_0201A12C: ; 0x0201A12C + thumb_func_start FUN_0201A12C +FUN_0201A12C: ; 0x0201A12C lsl r1, r2, #0x2 mul r1, r3 ldr r3, [r5, #0x0] @@ -48958,7 +48958,7 @@ sub_0201A12C: ; 0x0201A12C ldr r0, [sp, #0x0] ldr r3, [r3, #0x0] lsl r1, r1, #0x3 - bl sub_02018848 + bl FUN_02018848 str r0, [sp, #0x1ec] cmp r4, #0x3 bhi _0201A21E @@ -49190,10 +49190,10 @@ _0201A3B0: .byte 0x03, 0x90, 0x88, 0x42, 0xA8, 0xDB _0201A8B6: ldr r0, [sp, #0x1ec] - bl sub_02016A18 + bl FUN_02016A18 - thumb_func_start sub_0201A8BC -sub_0201A8BC: ; 0x0201A8BC + thumb_func_start FUN_0201A8BC +FUN_0201A8BC: ; 0x0201A8BC add sp, #0x1fc add sp, #0x118 pop {r4-r7, pc} @@ -49201,8 +49201,8 @@ sub_0201A8BC: ; 0x0201A8BC _0201A8C4: .byte 0xC0, 0x7F, 0x00, 0x00 - thumb_func_start sub_0201A8C8 -sub_0201A8C8: ; 0x0201A8C8 + thumb_func_start FUN_0201A8C8 +FUN_0201A8C8: ; 0x0201A8C8 push {r4-r6, lr} ldrb r6, [r0, #0x4] mov r5, #0x2c @@ -49212,15 +49212,15 @@ sub_0201A8C8: ; 0x0201A8C8 ldrb r4, [r4, #0x1e] cmp r4, #0x0 bne _0201A8E0 - bl sub_0201A8E8 + bl FUN_0201A8E8 pop {r4-r6, pc} _0201A8E0: - bl sub_0201A9D4 + bl FUN_0201A9D4 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201A8E8 -sub_0201A8E8: ; 0x0201A8E8 + thumb_func_start FUN_0201A8E8 +FUN_0201A8E8: ; 0x0201A8E8 push {r3-r7, lr} sub sp, #0x10 add r6, r3, #0x0 @@ -49308,8 +49308,8 @@ _0201A9CE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201A9D4 -sub_0201A9D4: ; 0x0201A9D4 + thumb_func_start FUN_0201A9D4 +FUN_0201A9D4: ; 0x0201A9D4 push {r3-r7, lr} sub sp, #0x20 add r6, r3, #0x0 @@ -49417,91 +49417,91 @@ _0201AB04: add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_0201AB08 -sub_0201AB08: ; 0x0201AB08 + thumb_func_start FUN_0201AB08 +FUN_0201AB08: ; 0x0201AB08 ldrb r0, [r0, #0x4] bx lr - thumb_func_start sub_0201AB0C -sub_0201AB0C: ; 0x0201AB0C + thumb_func_start FUN_0201AB0C +FUN_0201AB0C: ; 0x0201AB0C ldrb r0, [r0, #0x7] bx lr - thumb_func_start sub_0201AB10 -sub_0201AB10: ; 0x0201AB10 + thumb_func_start FUN_0201AB10 +FUN_0201AB10: ; 0x0201AB10 ldrb r0, [r0, #0x8] bx lr - thumb_func_start sub_0201AB14 -sub_0201AB14: ; 0x0201AB14 + thumb_func_start FUN_0201AB14 +FUN_0201AB14: ; 0x0201AB14 ldrb r0, [r0, #0x5] bx lr - thumb_func_start sub_0201AB18 -sub_0201AB18: ; 0x0201AB18 + thumb_func_start FUN_0201AB18 +FUN_0201AB18: ; 0x0201AB18 ldrb r0, [r0, #0x6] bx lr - thumb_func_start sub_0201AB1C -sub_0201AB1C: ; 0x0201AB1C + thumb_func_start FUN_0201AB1C +FUN_0201AB1C: ; 0x0201AB1C strb r1, [r0, #0x5] bx lr - thumb_func_start sub_0201AB20 -sub_0201AB20: ; 0x0201AB20 + thumb_func_start FUN_0201AB20 +FUN_0201AB20: ; 0x0201AB20 strb r1, [r0, #0x6] bx lr - thumb_func_start sub_0201AB24 -sub_0201AB24: ; 0x0201AB24 + thumb_func_start FUN_0201AB24 +FUN_0201AB24: ; 0x0201AB24 strb r1, [r0, #0x9] bx lr - thumb_func_start sub_0201AB28 -sub_0201AB28: ; 0x0201AB28 + thumb_func_start FUN_0201AB28 +FUN_0201AB28: ; 0x0201AB28 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 - bl sub_020161A4 + bl FUN_020161A4 add r1, sp, #0x0 str r0, [r4, #0x0] - blx sub_020B0030 + blx FUN_020B0030 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0201AB44 -sub_0201AB44: ; 0x0201AB44 + thumb_func_start FUN_0201AB44 +FUN_0201AB44: ; 0x0201AB44 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 - bl sub_020161A4 + bl FUN_020161A4 add r1, sp, #0x0 str r0, [r4, #0x0] - blx sub_020B0138 + blx FUN_020B0138 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0201AB60 -sub_0201AB60: ; 0x0201AB60 + thumb_func_start FUN_0201AB60 +FUN_0201AB60: ; 0x0201AB60 push {r4, lr} add r4, r0, #0x0 - bl sub_0201AC78 + bl FUN_0201AC78 add r0, r4, #0x0 - bl sub_0201AB78 + bl FUN_0201AB78 mov r0, #0x0 strh r0, [r4, #0x4] strh r0, [r4, #0x6] pop {r4, pc} .balign 4 - thumb_func_start sub_0201AB78 -sub_0201AB78: ; 0x0201AB78 + thumb_func_start FUN_0201AB78 +FUN_0201AB78: ; 0x0201AB78 push {r4, lr} add r4, r0, #0x0 ldrh r1, [r4, #0x6] @@ -49513,7 +49513,7 @@ sub_0201AB78: ; 0x0201AB78 ldr r3, [r4, #0xc] mov r0, #0x0 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201AB92: ldrh r1, [r4, #0x6] mov r0, #0x2 @@ -49524,7 +49524,7 @@ _0201AB92: ldr r3, [r4, #0x38] mov r0, #0x1 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201ABA8: ldrh r1, [r4, #0x6] mov r0, #0x4 @@ -49535,7 +49535,7 @@ _0201ABA8: ldr r3, [r4, #0x64] mov r0, #0x2 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201ABBE: ldrh r1, [r4, #0x6] mov r0, #0x8 @@ -49552,7 +49552,7 @@ _0201ABBE: ldr r3, [r3, #0x0] mov r0, #0x3 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201ABE0: ldrh r1, [r4, #0x6] mov r0, #0x10 @@ -49569,7 +49569,7 @@ _0201ABE0: ldr r3, [r3, #0x0] mov r0, #0x4 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201AC02: ldrh r1, [r4, #0x6] mov r0, #0x20 @@ -49586,7 +49586,7 @@ _0201AC02: ldr r3, [r3, #0x0] mov r0, #0x5 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201AC24: ldrh r0, [r4, #0x6] mov r3, #0x40 @@ -49602,7 +49602,7 @@ _0201AC24: ldr r3, [r4, r3] mov r0, #0x6 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201AC44: ldrh r0, [r4, #0x6] mov r3, #0x80 @@ -49618,13 +49618,13 @@ _0201AC44: ldr r3, [r4, r3] mov r0, #0x7 lsl r2, r2, #0x1 - bl sub_02017D68 + bl FUN_02017D68 _0201AC64: pop {r4, pc} .balign 4 - thumb_func_start sub_0201AC68 -sub_0201AC68: ; 0x0201AC68 + thumb_func_start FUN_0201AC68 +FUN_0201AC68: ; 0x0201AC68 ldrh r3, [r0, #0x6] mov r2, #0x1 lsl r2, r1 @@ -49634,8 +49634,8 @@ sub_0201AC68: ; 0x0201AC68 bx lr .balign 4 - thumb_func_start sub_0201AC78 -sub_0201AC78: ; 0x0201AC78 + thumb_func_start FUN_0201AC78 +FUN_0201AC78: ; 0x0201AC78 push {r4, lr} sub sp, #0x48 add r4, r0, #0x0 @@ -49706,7 +49706,7 @@ _0201ACEA: ldr r2, [r4, #0x7c] ldr r3, [r3, #0x0] add r0, sp, #0x38 - bl sub_0201BB74 + bl FUN_0201BB74 ldr r0, [r4, #0x6c] add r2, r4, #0x0 str r0, [sp, #0x0] @@ -49719,7 +49719,7 @@ _0201ACEA: ldr r2, [r2, #0x0] ldr r3, [r3, #0x0] add r1, sp, #0x38 - blx sub_020C74F8 + blx FUN_020C74F8 _0201AD1E: ldrh r1, [r4, #0x4] mov r0, #0x8 @@ -49758,7 +49758,7 @@ _0201AD4E: ldr r2, [r2, #0x0] ldr r3, [r3, #0x0] add r0, sp, #0x28 - bl sub_0201BB74 + bl FUN_0201BB74 add r0, r4, #0x0 add r0, #0x98 ldr r0, [r0, #0x0] @@ -49775,7 +49775,7 @@ _0201AD4E: ldr r2, [r2, #0x0] ldr r3, [r3, #0x0] add r1, sp, #0x28 - blx sub_020C74F8 + blx FUN_020C74F8 _0201AD8E: ldrh r1, [r4, #0x4] mov r0, #0x10 @@ -49850,7 +49850,7 @@ _0201AE04: ldr r2, [r4, r2] ldr r3, [r4, r3] add r0, sp, #0x18 - bl sub_0201BB74 + bl FUN_0201BB74 mov r3, #0x47 lsl r3, r3, #0x2 ldr r0, [r4, r3] @@ -49865,7 +49865,7 @@ _0201AE04: ldr r2, [r4, r2] ldr r3, [r4, r3] add r1, sp, #0x18 - blx sub_020C74F8 + blx FUN_020C74F8 _0201AE3E: ldrh r0, [r4, #0x4] mov r3, #0x80 @@ -49905,7 +49905,7 @@ _0201AE72: ldr r2, [r4, r2] ldr r3, [r4, r3] add r0, sp, #0x8 - bl sub_0201BB74 + bl FUN_0201BB74 mov r3, #0x52 lsl r3, r3, #0x2 ldr r0, [r4, r3] @@ -49920,7 +49920,7 @@ _0201AE72: ldr r2, [r4, r2] ldr r3, [r4, r3] add r1, sp, #0x8 - blx sub_020C74F8 + blx FUN_020C74F8 _0201AEAC: add sp, #0x48 pop {r4, pc} @@ -49939,8 +49939,8 @@ _0201AED8: .word 0x04001020 _0201AEDC: .word 0x0400101C _0201AEE0: .word 0x04001030 - thumb_func_start sub_0201AEE4 -sub_0201AEE4: ; 0x0201AEE4 + thumb_func_start FUN_0201AEE4 +FUN_0201AEE4: ; 0x0201AEE4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -49951,7 +49951,7 @@ sub_0201AEE4: ; 0x0201AEE4 add r0, r1, r0 add r1, r2, #0x0 add r2, r3, #0x0 - bl sub_02017B8C + bl FUN_02017B8C mov r0, #0x1 ldrh r1, [r5, #0x4] lsl r0, r4 @@ -49959,8 +49959,8 @@ sub_0201AEE4: ; 0x0201AEE4 strh r0, [r5, #0x4] pop {r3-r5, pc} - thumb_func_start sub_0201AF08 -sub_0201AF08: ; 0x0201AF08 + thumb_func_start FUN_0201AF08 +FUN_0201AF08: ; 0x0201AF08 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -49971,7 +49971,7 @@ sub_0201AF08: ; 0x0201AF08 add r0, r1, r0 add r1, r2, #0x0 add r2, r3, #0x0 - bl sub_0201AF2C + bl FUN_0201AF2C mov r0, #0x1 ldrh r1, [r5, #0x4] lsl r0, r4 @@ -49979,8 +49979,8 @@ sub_0201AF08: ; 0x0201AF08 strh r0, [r5, #0x4] pop {r3-r5, pc} - thumb_func_start sub_0201AF2C -sub_0201AF2C: ; 0x0201AF2C + thumb_func_start FUN_0201AF2C +FUN_0201AF2C: ; 0x0201AF2C cmp r1, #0x0 beq _0201AF3A cmp r1, #0x1 @@ -50003,8 +50003,8 @@ _0201AF46: bx lr .balign 4 - thumb_func_start sub_0201AF50 -sub_0201AF50: ; 0x0201AF50 + thumb_func_start FUN_0201AF50 +FUN_0201AF50: ; 0x0201AF50 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -50015,7 +50015,7 @@ sub_0201AF50: ; 0x0201AF50 add r0, r1, r0 add r1, r2, #0x0 add r2, r3, #0x0 - bl sub_0201AF74 + bl FUN_0201AF74 mov r0, #0x1 ldrh r1, [r5, #0x4] lsl r0, r4 @@ -50023,8 +50023,8 @@ sub_0201AF50: ; 0x0201AF50 strh r0, [r5, #0x4] pop {r3-r5, pc} - thumb_func_start sub_0201AF74 -sub_0201AF74: ; 0x0201AF74 + thumb_func_start FUN_0201AF74 +FUN_0201AF74: ; 0x0201AF74 sub r1, #0x9 cmp r1, #0x5 bhi _0201AFB8 @@ -50050,8 +50050,8 @@ _0201AFB8: bx lr .balign 4 - thumb_func_start sub_0201AFBC -sub_0201AFBC: ; 0x0201AFBC + thumb_func_start FUN_0201AFBC +FUN_0201AFBC: ; 0x0201AFBC push {r4-r7, lr} sub sp, #0x1c str r1, [sp, #0x0] @@ -50081,10 +50081,10 @@ _0201AFE4: ldrb r2, [r2, #0x1d] lsr r0, r0, #0x18 lsr r1, r1, #0x18 - bl sub_02017FFC + bl FUN_02017FFC add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_020187B0 + bl FUN_020187B0 str r0, [sp, #0x18] ldr r1, [sp, #0x4] mov r0, #0x7 @@ -50105,7 +50105,7 @@ _0201AFE4: mov r1, #0x40 str r0, [sp, #0xc] ldr r0, [r7, #0x0] - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 lsl r0, r6, #0x1 ldr r1, [sp, #0xc] @@ -50141,14 +50141,14 @@ _0201B042: lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r2, r4, #0x0 - bl sub_0201B118 + bl FUN_0201B118 ldr r0, [sp, #0x10] lsl r1, r0, #0x3 ldr r0, [sp, #0x14] add r0, r0, r1 ldrb r5, [r4, r0] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x30] ldrh r2, [r0, #0x0] mov r0, #0x1 @@ -50165,7 +50165,7 @@ _0201B096: ldr r0, [r7, #0x0] ldr r4, [r4, r5] mov r1, #0x40 - bl sub_020169D8 + bl FUN_020169D8 lsl r6, r6, #0x1 ldrh r1, [r4, r6] add r5, r0, #0x0 @@ -50174,7 +50174,7 @@ _0201B096: ldr r1, [sp, #0x18] add r1, r1, r2 mov r2, #0x40 - blx sub_020DF438 + blx FUN_020DF438 ldrh r1, [r4, r6] add r0, r7, #0x0 asr r2, r1, #0xa @@ -50183,14 +50183,14 @@ _0201B096: lsl r1, r1, #0x18 lsr r1, r1, #0x18 add r2, r5, #0x0 - bl sub_0201B118 + bl FUN_0201B118 ldr r0, [sp, #0x10] lsl r1, r0, #0x3 ldr r0, [sp, #0x14] add r0, r0, r1 ldrb r4, [r5, r0] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 b _0201B0F4 _0201B0E0: ldr r1, [r4, r5] @@ -50224,8 +50224,8 @@ _0201B10C: nop _0201B114: .word 0x0000FFFF - thumb_func_start sub_0201B118 -sub_0201B118: ; 0x0201B118 + thumb_func_start FUN_0201B118 +FUN_0201B118: ; 0x0201B118 push {r3-r7, lr} str r1, [sp, #0x0] ldr r1, [sp, #0x0] @@ -50234,7 +50234,7 @@ sub_0201B118: ; 0x0201B118 beq _0201B1A4 ldr r0, [r0, #0x0] mov r1, #0x40 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x1 @@ -50264,7 +50264,7 @@ _0201B142: add r0, r7, #0x0 add r1, r4, #0x0 mov r2, #0x40 - blx sub_020DF438 + blx FUN_020DF438 _0201B166: ldr r0, [sp, #0x0] mov r1, #0x2 @@ -50294,35 +50294,35 @@ _0201B17E: add r0, r7, #0x0 add r1, r4, #0x0 mov r2, #0x40 - blx sub_020DF438 + blx FUN_020DF438 _0201B19E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0201B1A4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201B1A8 -sub_0201B1A8: ; 0x0201B1A8 + thumb_func_start FUN_0201B1A8 +FUN_0201B1A8: ; 0x0201B1A8 push {r3-r5, lr} add r5, r3, #0x0 add r4, r2, #0x0 - bl sub_020161A4 + bl FUN_020161A4 str r0, [r5, #0x0] - blx sub_020BC0FC + blx FUN_020BC0FC cmp r0, #0x0 beq _0201B1D2 - bl sub_0201B254 + bl FUN_0201B254 cmp r0, #0x0 bne _0201B1D2 ldr r0, [r5, #0x0] ldr r1, [r0, #0x8] - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [r5, #0x0] - blx sub_020BB59C + blx FUN_020BB59C _0201B1D2: ldr r0, [r5, #0x0] - blx sub_020BC13C + blx FUN_020BC13C ldrh r1, [r0, #0xe] add r1, r0, r1 ldr r1, [r1, #0xc] @@ -50330,26 +50330,26 @@ _0201B1D2: str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201B1E4 -sub_0201B1E4: ; 0x0201B1E4 + thumb_func_start FUN_0201B1E4 +FUN_0201B1E4: ; 0x0201B1E4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0x0] - blx sub_020BC0FC + blx FUN_020BC0FC cmp r0, #0x0 beq _0201B20A - bl sub_0201B254 + bl FUN_0201B254 cmp r0, #0x0 bne _0201B20A ldr r0, [r5, #0x0] ldr r1, [r0, #0x8] - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [r5, #0x0] - blx sub_020BB59C + blx FUN_020BB59C _0201B20A: ldr r0, [r5, #0x0] - blx sub_020BC13C + blx FUN_020BC13C ldrh r1, [r0, #0xe] add r1, r0, r1 ldr r1, [r1, #0xc] @@ -50357,38 +50357,38 @@ _0201B20A: str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201B21C -sub_0201B21C: ; 0x0201B21C + thumb_func_start FUN_0201B21C +FUN_0201B21C: ; 0x0201B21C push {r3-r5, lr} add r4, r3, #0x0 add r5, r2, #0x0 ldr r3, [sp, #0x10] add r2, r4, #0x0 - bl sub_0201B1A8 + bl FUN_0201B1A8 ldr r1, [r4, #0x0] add r0, r5, #0x0 - blx sub_020B80B4 + blx FUN_020B80B4 pop {r3-r5, pc} - thumb_func_start sub_0201B234 -sub_0201B234: ; 0x0201B234 + thumb_func_start FUN_0201B234 +FUN_0201B234: ; 0x0201B234 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r2, #0x0 - bl sub_0201B1E4 + bl FUN_0201B1E4 cmp r4, #0x0 bne _0201B24A - bl sub_02020C2C + bl FUN_02020C2C _0201B24A: ldr r1, [r4, #0x0] add r0, r5, #0x0 - blx sub_020B80B4 + blx FUN_020B80B4 pop {r3-r5, pc} - thumb_func_start sub_0201B254 -sub_0201B254: ; 0x0201B254 + thumb_func_start FUN_0201B254 +FUN_0201B254: ; 0x0201B254 ldrh r2, [r0, #0x10] mov r1, #0x1 tst r2, r1 @@ -50404,88 +50404,88 @@ _0201B266: bx lr .balign 4 - thumb_func_start sub_0201B26C -sub_0201B26C: ; 0x0201B26C + thumb_func_start FUN_0201B26C +FUN_0201B26C: ; 0x0201B26C push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - blx sub_020B8474 + blx FUN_020B8474 ldr r1, _0201B2A0 ; =0x021CEDD4 add r0, r4, #0x0 - blx sub_020CE2E0 + blx FUN_020CE2E0 ldr r1, _0201B2A4 ; =0x021CED98 mov r0, #0xa4 ldr r2, [r1, #0x7c] bic r2, r0 add r0, r6, #0x0 str r2, [r1, #0x7c] - blx sub_020B844C - blx sub_020B849C + blx FUN_020B844C + blx FUN_020B849C add r0, r5, #0x0 - blx sub_020BAC98 + blx FUN_020BAC98 pop {r4-r6, pc} nop _0201B2A0: .word 0x021CEDD4 _0201B2A4: .word 0x021CED98 - thumb_func_start sub_0201B2A8 -sub_0201B2A8: ; 0x0201B2A8 + thumb_func_start FUN_0201B2A8 +FUN_0201B2A8: ; 0x0201B2A8 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - blx sub_020B8474 + blx FUN_020B8474 ldr r1, _0201B2E4 ; =0x021CEDD4 add r0, r4, #0x0 - blx sub_020CE2E0 + blx FUN_020CE2E0 ldr r1, _0201B2E8 ; =0x021CED98 mov r0, #0xa4 ldr r2, [r1, #0x7c] bic r2, r0 str r2, [r1, #0x7c] add r0, r6, #0x0 - blx sub_020B844C - blx sub_020B849C + blx FUN_020B844C + blx FUN_020B849C mov r1, #0x0 ldr r0, [r5, #0x4] add r2, r1, #0x0 mov r3, #0x1 - blx sub_020BAFB8 - blx sub_020BB394 + blx FUN_020BAFB8 + blx FUN_020BB394 pop {r4-r6, pc} .balign 4 _0201B2E4: .word 0x021CEDD4 _0201B2E8: .word 0x021CED98 - thumb_func_start sub_0201B2EC -sub_0201B2EC: ; 0x0201B2EC + thumb_func_start FUN_0201B2EC +FUN_0201B2EC: ; 0x0201B2EC push {r3, lr} sub sp, #0x8 mov r1, #0x4 str r1, [sp, #0x0] - ldr r1, _0201B30C ; =sub_0201B314 + ldr r1, _0201B30C ; =FUN_0201B314 mov r2, #0x2 str r1, [sp, #0x4] mov r1, #0x0 add r3, r1, #0x0 - bl sub_02022318 + bl FUN_02022318 ldr r1, _0201B310 ; =0x021C4D44 str r0, [r1, #0x0] add sp, #0x8 pop {r3, pc} nop -_0201B30C: .word sub_0201B314 + 1 +_0201B30C: .word FUN_0201B314 + 1 _0201B310: .word 0x021C4D44 - thumb_func_start sub_0201B314 -sub_0201B314: ; 0x0201B314 + thumb_func_start FUN_0201B314 +FUN_0201B314: ; 0x0201B314 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, _0201B380 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] @@ -50522,13 +50522,13 @@ sub_0201B314: ; 0x0201B314 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - blx sub_020C7C28 + blx FUN_020C7C28 mov r0, #0x0 ldr r2, _0201B38C ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] - blx sub_020C7B3C + blx FUN_020C7B3C ldr r1, _0201B390 ; =0xBFFF0000 ldr r0, _0201B394 ; =0x04000580 str r1, [r0, #0x0] @@ -50541,25 +50541,25 @@ _0201B38C: .word 0x00007FFF _0201B390: .word 0xBFFF0000 _0201B394: .word 0x04000580 - thumb_func_start sub_0201B398 -sub_0201B398: ; 0x0201B398 + thumb_func_start FUN_0201B398 +FUN_0201B398: ; 0x0201B398 ldr r0, _0201B3A0 ; =0x021C4D44 - ldr r3, _0201B3A4 ; =sub_020223BC + ldr r3, _0201B3A4 ; =FUN_020223BC ldr r0, [r0, #0x0] bx r3 .balign 4 _0201B3A0: .word 0x021C4D44 -_0201B3A4: .word sub_020223BC + 1 +_0201B3A4: .word FUN_020223BC + 1 - thumb_func_start sub_0201B3A8 -sub_0201B3A8: ; 0x0201B3A8 + thumb_func_start FUN_0201B3A8 +FUN_0201B3A8: ; 0x0201B3A8 push {r4, lr} add r4, r1, #0x0 - blx sub_020BC13C + blx FUN_020BC13C cmp r4, #0x0 beq _0201B3BE add r1, r4, #0x0 - blx sub_020B7790 + blx FUN_020B7790 mov r0, #0x1 pop {r4, pc} _0201B3BE: @@ -50567,8 +50567,8 @@ _0201B3BE: pop {r4, pc} .balign 4 - thumb_func_start sub_0201B3C4 -sub_0201B3C4: ; 0x0201B3C4 + thumb_func_start FUN_0201B3C4 +FUN_0201B3C4: ; 0x0201B3C4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -50585,13 +50585,13 @@ _0201B3D2: str r1, [sp, #0x0] cmp r5, #0x0 beq _0201B4D0 - blx sub_020B7E1C + blx FUN_020B7E1C add r6, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7E10 + blx FUN_020B7E10 add r4, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7CE4 + blx FUN_020B7CE4 str r0, [sp, #0xc] cmp r6, #0x0 beq _0201B412 @@ -50653,7 +50653,7 @@ _0201B452: blx r1 cmp r0, #0x0 beq _0201B468 - bl sub_02020C2C + bl FUN_02020C2C _0201B468: add sp, #0x10 mov r0, #0x0 @@ -50668,7 +50668,7 @@ _0201B46E: blx r1 cmp r0, #0x0 beq _0201B484 - bl sub_02020C2C + bl FUN_02020C2C _0201B484: add sp, #0x10 mov r0, #0x0 @@ -50683,7 +50683,7 @@ _0201B48A: blx r1 cmp r0, #0x0 beq _0201B4A0 - bl sub_02020C2C + bl FUN_02020C2C _0201B4A0: add sp, #0x10 mov r0, #0x0 @@ -50692,19 +50692,19 @@ _0201B4A6: add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - blx sub_020B7DFC + blx FUN_020B7DFC add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020B7CDC + blx FUN_020B7CDC ldr r1, [r5, #0x4] add r0, r5, #0x0 - blx sub_020CC15C + blx FUN_020CC15C add r0, r5, #0x0 mov r1, #0x1 - blx sub_020B7D28 + blx FUN_020B7D28 add r0, r5, #0x0 mov r1, #0x1 - blx sub_020B7C78 + blx FUN_020B7C78 _0201B4D0: mov r0, #0x1 add sp, #0x10 @@ -50715,8 +50715,8 @@ _0201B4DC: .word 0x021064C0 _0201B4E0: .word 0x021064BC _0201B4E4: .word 0x021064C4 - thumb_func_start sub_0201B4E8 -sub_0201B4E8: ; 0x0201B4E8 + thumb_func_start FUN_0201B4E8 +FUN_0201B4E8: ; 0x0201B4E8 str r0, [r1, #0x0] add r0, r0, #0x4 str r0, [r1, #0x8] @@ -50728,8 +50728,8 @@ sub_0201B4E8: ; 0x0201B4E8 bx lr .balign 4 - thumb_func_start sub_0201B4FC -sub_0201B4FC: ; 0x0201B4FC + thumb_func_start FUN_0201B4FC +FUN_0201B4FC: ; 0x0201B4FC push {r3-r7, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x0] @@ -50742,7 +50742,7 @@ _0201B50C: ldr r1, [r5, #0x24] add r0, r5, #0x0 add r1, r1, r4 - bl sub_0201B4E8 + bl FUN_0201B4E8 ldr r0, [r5, #0x24] add r7, r7, #0x1 add r1, r0, r4 @@ -50758,8 +50758,8 @@ _0201B52A: strh r0, [r5, #0x2] pop {r3-r7, pc} - thumb_func_start sub_0201B530 -sub_0201B530: ; 0x0201B530 + thumb_func_start FUN_0201B530 +FUN_0201B530: ; 0x0201B530 ldrh r3, [r0, #0x2] ldrh r1, [r0, #0x0] cmp r3, r1 @@ -50781,20 +50781,20 @@ _0201B54C: .byte 0xCA, 0x60, 0x0A, 0x61, 0x4A, 0x61, 0x42, 0x88, 0x52, 0x1E, 0x42, 0x80, 0x02, 0x6A, 0x40, 0x88 .byte 0x80, 0x00, 0x11, 0x50, 0x01, 0x20, 0x70, 0x47 - thumb_func_start sub_0201B578 -sub_0201B578: ; 0x0201B578 + thumb_func_start FUN_0201B578 +FUN_0201B578: ; 0x0201B578 lsl r0, r0, #0x5 add r0, #0x34 bx lr .balign 4 - thumb_func_start sub_0201B580 -sub_0201B580: ; 0x0201B580 + thumb_func_start FUN_0201B580 +FUN_0201B580: ; 0x0201B580 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bne _0201B58C - bl sub_02020C2C + bl FUN_02020C2C _0201B58C: add r1, r4, #0x0 add r1, #0x34 @@ -50807,16 +50807,16 @@ _0201B58C: strh r0, [r4, #0x2] str r0, [r4, #0x28] add r0, r4, #0x0 - bl sub_0201B5AC + bl FUN_0201B5AC add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201B5AC -sub_0201B5AC: ; 0x0201B5AC + thumb_func_start FUN_0201B5AC +FUN_0201B5AC: ; 0x0201B5AC push {r4, lr} add r4, r0, #0x0 - bl sub_0201B4FC + bl FUN_0201B4FC str r4, [r4, #0x4] add r0, r4, #0x4 str r0, [r4, #0xc] @@ -50830,8 +50830,8 @@ sub_0201B5AC: ; 0x0201B5AC pop {r4, pc} .balign 4 - thumb_func_start sub_0201B5CC -sub_0201B5CC: ; 0x0201B5CC + thumb_func_start FUN_0201B5CC +FUN_0201B5CC: ; 0x0201B5CC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x28] @@ -50870,26 +50870,26 @@ _0201B608: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201B60C -sub_0201B60C: ; 0x0201B60C + thumb_func_start FUN_0201B60C +FUN_0201B60C: ; 0x0201B60C push {r3-r5, lr} add r4, r0, #0x0 mov r5, #0x1 str r5, [r4, #0x28] - bl sub_0201B620 + bl FUN_0201B620 mov r1, #0x0 str r1, [r4, #0x28] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201B620 -sub_0201B620: ; 0x0201B620 + thumb_func_start FUN_0201B620 +FUN_0201B620: ; 0x0201B620 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_0201B530 + bl FUN_0201B530 cmp r0, #0x0 bne _0201B636 mov r0, #0x0 @@ -50957,8 +50957,8 @@ _0201B690: _0201B69E: pop {r3-r7, pc} - thumb_func_start sub_0201B6A0 -sub_0201B6A0: ; 0x0201B6A0 + thumb_func_start FUN_0201B6A0 +FUN_0201B6A0: ; 0x0201B6A0 add r1, r0, #0x0 ldr r2, [r1, #0x0] ldr r0, [r2, #0x30] @@ -50979,23 +50979,23 @@ _0201B6AE: .balign 4 _0201B6C0: .word 0x0201B54D - thumb_func_start sub_0201B6C4 -sub_0201B6C4: ; 0x0201B6C4 + thumb_func_start FUN_0201B6C4 +FUN_0201B6C4: ; 0x0201B6C4 str r1, [r0, #0x14] bx lr - thumb_func_start sub_0201B6C8 -sub_0201B6C8: ; 0x0201B6C8 + thumb_func_start FUN_0201B6C8 +FUN_0201B6C8: ; 0x0201B6C8 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_0201B6CC -sub_0201B6CC: ; 0x0201B6CC + thumb_func_start FUN_0201B6CC +FUN_0201B6CC: ; 0x0201B6CC ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_0201B6D0 -sub_0201B6D0: ; 0x0201B6D0 + thumb_func_start FUN_0201B6D0 +FUN_0201B6D0: ; 0x0201B6D0 push {r4-r7, lr} sub sp, #0x34 add r6, r1, #0x0 @@ -51024,24 +51024,24 @@ sub_0201B6D0: ; 0x0201B6D0 ldrsh r1, [r4, r1] ldrsh r2, [r4, r2] ldrsh r3, [r4, r3] - bl sub_0201B808 + bl FUN_0201B808 add r0, sp, #0x1c - blx sub_020B8474 + blx FUN_020B8474 ldr r1, _0201B764 ; =0x021CEDD4 add r0, r5, #0x0 - blx sub_020CE2E0 + blx FUN_020CE2E0 ldr r1, _0201B768 ; =0x021CED98 mov r0, #0xa4 ldr r2, [r1, #0x7c] bic r2, r0 add r0, r7, #0x0 str r2, [r1, #0x7c] - blx sub_020B844C - blx sub_020B849C + blx FUN_020B844C + blx FUN_020B849C mov r1, #0x0 mov r0, #0x11 add r2, r1, #0x0 - blx sub_020BB1C0 + blx FUN_020BB1C0 ldr r0, [r4, #0x24] add r1, sp, #0x10 str r0, [sp, #0x10] @@ -51049,15 +51049,15 @@ sub_0201B6D0: ; 0x0201B6D0 str r0, [sp, #0x18] mov r0, #0x1b mov r2, #0x3 - blx sub_020BB1C0 + blx FUN_020BB1C0 add r0, sp, #0x28 - bl sub_0201B82C + bl FUN_0201B82C add r4, r0, #0x0 mov r2, #0x1 mov r0, #0x12 add r1, sp, #0xc str r2, [sp, #0xc] - blx sub_020BB1C0 + blx FUN_020BB1C0 add r0, r4, #0x0 add sp, #0x34 pop {r4-r7, pc} @@ -51065,8 +51065,8 @@ sub_0201B6D0: ; 0x0201B6D0 _0201B764: .word 0x021CEDD4 _0201B768: .word 0x021CED98 - thumb_func_start sub_0201B76C -sub_0201B76C: ; 0x0201B76C + thumb_func_start FUN_0201B76C +FUN_0201B76C: ; 0x0201B76C push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 @@ -51083,14 +51083,14 @@ sub_0201B76C: ; 0x0201B76C ldrsh r3, [r4, r0] add r1, r0, #0x0 add r2, r0, #0x0 - bl sub_0201B808 + bl FUN_0201B808 add r0, r5, #0x0 - blx sub_020B8474 - blx sub_020B849C + blx FUN_020B8474 + blx FUN_020B849C mov r1, #0x0 mov r0, #0x11 add r2, r1, #0x0 - blx sub_020BB1C0 + blx FUN_020BB1C0 ldr r0, [r4, #0x10] lsl r2, r0, #0xc ldr r0, [r4, #0xc] @@ -51103,22 +51103,22 @@ sub_0201B76C: ; 0x0201B76C mov r0, #0x1b add r1, sp, #0x10 mov r2, #0x3 - blx sub_020BB1C0 + blx FUN_020BB1C0 add r0, sp, #0x1c - bl sub_0201B82C + bl FUN_0201B82C add r4, r0, #0x0 mov r2, #0x1 mov r0, #0x12 add r1, sp, #0xc str r2, [sp, #0xc] - blx sub_020BB1C0 + blx FUN_020BB1C0 add r0, r4, #0x0 add sp, #0x28 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201B7DC -sub_0201B7DC: ; 0x0201B7DC + thumb_func_start FUN_0201B7DC +FUN_0201B7DC: ; 0x0201B7DC push {r4-r6, lr} add r6, r3, #0x0 add r4, r2, #0x0 @@ -51126,21 +51126,21 @@ sub_0201B7DC: ; 0x0201B7DC add r5, r1, #0x0 add r1, r6, #0x0 add r2, #0x8 - bl sub_0201B880 + bl FUN_0201B880 add r2, r6, #0x0 add r0, r5, #0x0 add r1, r6, #0x2 add r2, #0xc - bl sub_0201B880 + bl FUN_0201B880 add r1, r6, #0x4 add r6, #0x10 add r0, r4, #0x0 add r2, r6, #0x0 - bl sub_0201B880 + bl FUN_0201B880 pop {r4-r6, pc} - thumb_func_start sub_0201B808 -sub_0201B808: ; 0x0201B808 + thumb_func_start FUN_0201B808 +FUN_0201B808: ; 0x0201B808 push {r3-r4} ldr r4, [sp, #0x10] strh r0, [r4, #0x0] @@ -51160,8 +51160,8 @@ sub_0201B808: ; 0x0201B808 .balign 4 _0201B828: .word 0xFFFFFFF8 - thumb_func_start sub_0201B82C -sub_0201B82C: ; 0x0201B82C + thumb_func_start FUN_0201B82C +FUN_0201B82C: ; 0x0201B82C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -51171,26 +51171,26 @@ sub_0201B82C: ; 0x0201B82C mov r0, #0x29 add r1, sp, #0x4 str r2, [sp, #0x8] - blx sub_020BB1C0 + blx FUN_020BB1C0 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x40 add r1, sp, #0x0 mov r2, #0x1 - blx sub_020BB1C0 + blx FUN_020BB1C0 mov r1, #0x0 mov r0, #0x41 add r2, r1, #0x0 - blx sub_020BB1C0 + blx FUN_020BB1C0 mov r0, #0x70 add r1, r4, #0x0 mov r2, #0x3 - blx sub_020BB1C0 - blx sub_020BB394 + blx FUN_020BB1C0 + blx FUN_020BB394 add r4, sp, #0x8 _0201B86A: add r0, r4, #0x0 - blx sub_020C7A14 + blx FUN_020C7A14 cmp r0, #0x0 bne _0201B86A ldr r0, [sp, #0x8] @@ -51199,8 +51199,8 @@ _0201B86A: nop _0201B87C: .word 0x000030C1 - thumb_func_start sub_0201B880 -sub_0201B880: ; 0x0201B880 + thumb_func_start FUN_0201B880 +FUN_0201B880: ; 0x0201B880 push {r3-r4} ldr r4, _0201B8B4 ; =0x00007FFF mov r3, #0x0 @@ -51233,15 +51233,15 @@ _0201B8AE: nop _0201B8B4: .word 0x00007FFF - thumb_func_start sub_0201B8B8 -sub_0201B8B8: ; 0x0201B8B8 + thumb_func_start FUN_0201B8B8 +FUN_0201B8B8: ; 0x0201B8B8 push {r4, lr} add r4, r0, #0x0 ldrh r1, [r4, #0x0] ldr r0, _0201B8DC ; =0x0000FFFE cmp r1, r0 beq _0201B8C8 - bl sub_02020C2C + bl FUN_02020C2C _0201B8C8: ldrh r1, [r4, #0x0] ldr r0, _0201B8DC ; =0x0000FFFE @@ -51257,25 +51257,25 @@ _0201B8D8: .balign 4 _0201B8DC: .word 0x0000FFFE - thumb_func_start sub_0201B8E0 -sub_0201B8E0: ; 0x0201B8E0 + thumb_func_start FUN_0201B8E0 +FUN_0201B8E0: ; 0x0201B8E0 push {r4, lr} add r4, r0, #0x0 ldrh r1, [r4, #0x0] ldr r0, _0201B8F4 ; =0x0000FFFE cmp r1, r0 beq _0201B8F0 - bl sub_02020C2C + bl FUN_02020C2C _0201B8F0: ldrh r0, [r4, #0x2] pop {r4, pc} .balign 4 _0201B8F4: .word 0x0000FFFE - thumb_func_start sub_0201B8F8 -sub_0201B8F8: ; 0x0201B8F8 + thumb_func_start FUN_0201B8F8 +FUN_0201B8F8: ; 0x0201B8F8 push {r3, lr} - bl sub_0201B8E0 + bl FUN_0201B8E0 mov r1, #0xff lsl r1, r1, #0x8 and r1, r0 @@ -51289,8 +51289,8 @@ _0201B910: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0201B914 -sub_0201B914: ; 0x0201B914 + thumb_func_start FUN_0201B914 +FUN_0201B914: ; 0x0201B914 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -51298,12 +51298,12 @@ sub_0201B914: ; 0x0201B914 ldr r0, _0201B938 ; =0x0000FFFE cmp r1, r0 beq _0201B926 - bl sub_02020C2C + bl FUN_02020C2C _0201B926: ldrh r0, [r5, #0x4] cmp r4, r0 blo _0201B930 - bl sub_02020C2C + bl FUN_02020C2C _0201B930: lsl r0, r4, #0x1 add r0, r5, r0 @@ -51312,8 +51312,8 @@ _0201B930: .balign 4 _0201B938: .word 0x0000FFFE - thumb_func_start sub_0201B93C -sub_0201B93C: ; 0x0201B93C + thumb_func_start FUN_0201B93C +FUN_0201B93C: ; 0x0201B93C mov r1, #0x5a lsl r1, r1, #0x2 cmp r0, r1 @@ -51328,8 +51328,8 @@ _0201B948: .balign 4 _0201B950: .word 0x020EDF50 - thumb_func_start sub_0201B954 -sub_0201B954: ; 0x0201B954 + thumb_func_start FUN_0201B954 +FUN_0201B954: ; 0x0201B954 mov r1, #0x5a lsl r1, r1, #0x2 cmp r0, r1 @@ -51345,12 +51345,12 @@ _0201B960: nop _0201B96C: .word 0x020EDF50 - thumb_func_start sub_0201B970 -sub_0201B970: ; 0x0201B970 + thumb_func_start FUN_0201B970 +FUN_0201B970: ; 0x0201B970 push {r3, lr} mov r1, #0x5a lsl r1, r1, #0x2 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r0, _0201B984 ; =0x020EDF50 lsl r1, r1, #0x2 ldr r0, [r0, r1] @@ -51358,12 +51358,12 @@ sub_0201B970: ; 0x0201B970 nop _0201B984: .word 0x020EDF50 - thumb_func_start sub_0201B988 -sub_0201B988: ; 0x0201B988 + thumb_func_start FUN_0201B988 +FUN_0201B988: ; 0x0201B988 push {r3, lr} mov r1, #0x5a lsl r1, r1, #0x2 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, #0x5a ldr r0, _0201B99C ; =0x020EDF50 lsl r1, r1, #0x2 @@ -51372,12 +51372,12 @@ sub_0201B988: ; 0x0201B988 .balign 4 _0201B99C: .word 0x020EDF50 - thumb_func_start sub_0201B9A0 -sub_0201B9A0: ; 0x0201B9A0 + thumb_func_start FUN_0201B9A0 +FUN_0201B9A0: ; 0x0201B9A0 push {r3, lr} mov r1, #0x5a lsl r1, r1, #0x2 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r0, _0201B9B4 ; =0x020EDC7E lsl r1, r1, #0x1 ldrh r0, [r0, r1] @@ -51385,14 +51385,14 @@ sub_0201B9A0: ; 0x0201B9A0 nop _0201B9B4: .word 0x020EDC7E - thumb_func_start sub_0201B9B8 -sub_0201B9B8: ; 0x0201B9B8 + thumb_func_start FUN_0201B9B8 +FUN_0201B9B8: ; 0x0201B9B8 push {r3, lr} lsl r0, r0, #0x4 mov r1, #0x5a lsr r0, r0, #0x10 lsl r1, r1, #0x2 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r0, _0201B9D0 ; =0x020EDF50 lsl r1, r1, #0x2 ldr r0, [r0, r1] @@ -51400,24 +51400,24 @@ sub_0201B9B8: ; 0x0201B9B8 nop _0201B9D0: .word 0x020EDF50 - thumb_func_start sub_0201B9D4 -sub_0201B9D4: ; 0x0201B9D4 + thumb_func_start FUN_0201B9D4 +FUN_0201B9D4: ; 0x0201B9D4 ldr r0, _0201B9DC ; =0x021C4D48 ldr r0, [r0, #0x0] bx lr nop _0201B9DC: .word 0x021C4D48 - thumb_func_start sub_0201B9E0 -sub_0201B9E0: ; 0x0201B9E0 + thumb_func_start FUN_0201B9E0 +FUN_0201B9E0: ; 0x0201B9E0 ldr r1, _0201B9E8 ; =0x021C4D48 str r0, [r1, #0x0] bx lr nop _0201B9E8: .word 0x021C4D48 - thumb_func_start sub_0201B9EC -sub_0201B9EC: ; 0x0201B9EC + thumb_func_start FUN_0201B9EC +FUN_0201B9EC: ; 0x0201B9EC ldr r1, _0201BA04 ; =0x021C4D48 ldr r0, _0201BA08 ; =0x41C64E6D ldr r2, [r1, #0x0] @@ -51435,8 +51435,8 @@ _0201BA04: .word 0x021C4D48 _0201BA08: .word 0x41C64E6D _0201BA0C: .word 0x00006073 - thumb_func_start sub_0201BA10 -sub_0201BA10: ; 0x0201BA10 + thumb_func_start FUN_0201BA10 +FUN_0201BA10: ; 0x0201BA10 ldr r1, _0201BA18 ; =0x6C078965 mul r1, r0 add r0, r1, #0x1 @@ -51444,8 +51444,8 @@ sub_0201BA10: ; 0x0201BA10 .balign 4 _0201BA18: .word 0x6C078965 - thumb_func_start sub_0201BA1C -sub_0201BA1C: ; 0x0201BA1C + thumb_func_start FUN_0201BA1C +FUN_0201BA1C: ; 0x0201BA1C push {r4-r5} ldr r1, _0201BA50 ; =0x021C4D48 mov r4, #0x27 @@ -51478,8 +51478,8 @@ _0201BA54: .word 0x02105BA8 _0201BA58: .word 0x021C4D50 _0201BA5C: .word 0x6C078965 - thumb_func_start sub_0201BA60 -sub_0201BA60: ; 0x0201BA60 + thumb_func_start FUN_0201BA60 +FUN_0201BA60: ; 0x0201BA60 push {r3-r7, lr} ldr r0, _0201BB44 ; =0x02105BA8 ldr r1, [r0, #0x0] @@ -51491,7 +51491,7 @@ sub_0201BA60: ; 0x0201BA60 cmp r1, r0 bne _0201BA7A ldr r0, _0201BB48 ; =0x00001571 - bl sub_0201BA1C + bl FUN_0201BA1C _0201BA7A: ldr r4, _0201BB4C ; =0x021C4D4C ldr r1, _0201BB50 ; =0x02105BAC @@ -51612,8 +51612,8 @@ _0201BB68: .word 0x021C5348 _0201BB6C: .word 0x9D2C5680 _0201BB70: .word 0xEFC60000 - thumb_func_start sub_0201BB74 -sub_0201BB74: ; 0x0201BB74 + thumb_func_start FUN_0201BB74 +FUN_0201BB74: ; 0x0201BB74 push {r4-r6, lr} add r5, r0, #0x0 add r0, sp, #0x0 @@ -51634,7 +51634,7 @@ _0201BB8E: mul r0, r1 mov r1, #0x5a lsl r1, r1, #0x2 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r0, #0x10 lsr r1, r0, #0x10 _0201BBA2: @@ -51647,19 +51647,19 @@ _0201BBA2: ldrsh r1, [r2, r1] ldrsh r2, [r2, r3] add r0, r5, #0x0 - bl sub_020C3EA4 + bl FUN_020C3EA4 add r0, r5, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - blx sub_020C3EB0 + blx FUN_020C3EB0 pop {r4-r6, pc} nop _0201BBC8: .word 0x0000FFFF _0201BBCC: .word 0x020FFA38 - thumb_func_start sub_0201BBD0 -sub_0201BBD0: ; 0x0201BBD0 + thumb_func_start FUN_0201BBD0 +FUN_0201BBD0: ; 0x0201BBD0 push {r3-r7, lr} sub sp, #0x38 lsl r5, r0, #0xc @@ -51680,14 +51680,14 @@ sub_0201BBD0: ; 0x0201BBD0 str r5, [sp, #0x2c] str r4, [sp, #0x30] str r6, [sp, #0x24] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x4] add r2, r4, #0x0 ldr r0, [sp, #0x20] add r7, r1, #0x0 asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 ldr r3, [sp, #0x4] lsl r2, r2, #0xa @@ -51717,7 +51717,7 @@ sub_0201BBD0: ; 0x0201BBD0 str r0, [sp, #0x34] add r0, sp, #0x2c add r1, sp, #0x14 - blx sub_020C5288 + blx FUN_020C5288 mov r1, #0x0 ldr r0, [sp, #0x0] str r1, [sp, #0x34] @@ -51729,10 +51729,10 @@ sub_0201BBD0: ; 0x0201BBD0 str r5, [sp, #0x2c] str r4, [sp, #0x30] str r6, [sp, #0x24] - blx sub_020C5600 + blx FUN_020C5600 add r0, sp, #0x14 add r1, sp, #0x8 - blx sub_020C5588 + blx FUN_020C5588 asr r0, r0, #0xc bpl _0201BC72 neg r0, r0 @@ -51748,15 +51748,15 @@ _0201BC7C: .balign 4 _0201BC80: .word 0x00000000 - thumb_func_start sub_0201BC84 -sub_0201BC84: ; 0x0201BC84 + thumb_func_start FUN_0201BC84 +FUN_0201BC84: ; 0x0201BC84 push {r3-r5, lr} lsl r0, r0, #0xd add r4, r1, #0x0 ldr r2, _0201BCB4 ; =0x0000323D asr r1, r0, #0x1f mov r3, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r5, r0, #0x0 ldr r0, _0201BCB8 ; =0x0000FFFF mov r2, #0x2 @@ -51769,22 +51769,22 @@ sub_0201BC84: ; 0x0201BC84 lsr r2, r2, #0xc orr r2, r1 asr r1, r2, #0xc - blx sub_020EBC80 + blx FUN_020EBC80 pop {r3-r5, pc} nop _0201BCB4: .word 0x0000323D _0201BCB8: .word 0x0000FFFF - thumb_func_start sub_0201BCBC -sub_0201BCBC: ; 0x0201BCBC + thumb_func_start FUN_0201BCBC +FUN_0201BCBC: ; 0x0201BCBC ldr r1, _0201BCC4 ; =0x02105BB4 str r0, [r1, #0x0] bx lr nop _0201BCC4: .word 0x02105BB4 - thumb_func_start sub_0201BCC8 -sub_0201BCC8: ; 0x0201BCC8 + thumb_func_start FUN_0201BCC8 +FUN_0201BCC8: ; 0x0201BCC8 push {r4-r6, lr} ldr r4, _0201BCF8 ; =0x021C5714 mov r5, #0x0 @@ -51794,7 +51794,7 @@ _0201BCCE: bne _0201BCE8 ldr r6, _0201BCF8 ; =0x021C5714 lsl r4, r5, #0x2 - bl sub_0200CA7C + bl FUN_0200CA7C str r0, [r6, r4] ldr r0, [r6, r4] cmp r0, #0x0 @@ -51813,35 +51813,35 @@ _0201BCF0: nop _0201BCF8: .word 0x021C5714 - thumb_func_start sub_0201BCFC -sub_0201BCFC: ; 0x0201BCFC + thumb_func_start FUN_0201BCFC +FUN_0201BCFC: ; 0x0201BCFC push {r4-r6, lr} add r5, r0, #0x0 cmp r5, #0x8 blo _0201BD08 - bl sub_02020C2C + bl FUN_02020C2C _0201BD08: ldr r6, _0201BD40 ; =0x021C5714 lsl r4, r5, #0x2 ldr r0, [r6, r4] cmp r0, #0x0 bne _0201BD16 - bl sub_02020C2C + bl FUN_02020C2C _0201BD16: cmp r5, #0x8 bhs _0201BD3C ldr r0, [r6, r4] cmp r0, #0x0 beq _0201BD3C - bl sub_0201B6C8 + bl FUN_0201B6C8 add r5, r0, #0x0 beq _0201BD32 - bl sub_0201C238 + bl FUN_0201C238 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0201BD32: ldr r0, [r6, r4] - bl sub_0200CAB4 + bl FUN_0200CAB4 mov r0, #0x0 str r0, [r6, r4] _0201BD3C: @@ -51849,8 +51849,8 @@ _0201BD3C: nop _0201BD40: .word 0x021C5714 - thumb_func_start sub_0201BD44 -sub_0201BD44: ; 0x0201BD44 + thumb_func_start FUN_0201BD44 +FUN_0201BD44: ; 0x0201BD44 lsl r1, r0, #0x2 ldr r0, _0201BD58 ; =0x021C5714 ldr r0, [r0, r1] @@ -51864,8 +51864,8 @@ _0201BD52: nop _0201BD58: .word 0x021C5714 - thumb_func_start sub_0201BD5C -sub_0201BD5C: ; 0x0201BD5C + thumb_func_start FUN_0201BD5C +FUN_0201BD5C: ; 0x0201BD5C mov r1, #0x0 ldr r2, _0201BD6C ; =0x021C5714 add r0, r1, #0x0 @@ -51878,23 +51878,23 @@ _0201BD62: .balign 4 _0201BD6C: .word 0x021C5714 - thumb_func_start sub_0201BD70 -sub_0201BD70: ; 0x0201BD70 + thumb_func_start FUN_0201BD70 +FUN_0201BD70: ; 0x0201BD70 push {r3, lr} - bl sub_0201BD44 + bl FUN_0201BD44 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} - thumb_func_start sub_0201BD7C -sub_0201BD7C: ; 0x0201BD7C - ldr r3, _0201BD80 ; =sub_0201BCFC + thumb_func_start FUN_0201BD7C +FUN_0201BD7C: ; 0x0201BD7C + ldr r3, _0201BD80 ; =FUN_0201BCFC bx r3 .balign 4 -_0201BD80: .word sub_0201BCFC + 1 +_0201BD80: .word FUN_0201BCFC + 1 - thumb_func_start sub_0201BD84 -sub_0201BD84: ; 0x0201BD84 + thumb_func_start FUN_0201BD84 +FUN_0201BD84: ; 0x0201BD84 push {r3, lr} sub sp, #0x18 str r0, [sp, #0x4] @@ -51934,14 +51934,14 @@ sub_0201BD84: ; 0x0201BD84 strb r0, [r2, #0x17] ldr r2, [sp, #0x28] add r0, sp, #0x0 - bl sub_0201BE98 + bl FUN_0201BE98 add sp, #0x18 pop {r3, pc} nop _0201BDDC: .word 0x02105BB4 - thumb_func_start sub_0201BDE0 -sub_0201BDE0: ; 0x0201BDE0 + thumb_func_start FUN_0201BDE0 +FUN_0201BDE0: ; 0x0201BDE0 push {r3, lr} sub sp, #0x18 str r0, [sp, #0x4] @@ -51981,14 +51981,14 @@ sub_0201BDE0: ; 0x0201BDE0 ldr r1, [sp, #0x24] ldr r2, [sp, #0x2c] add r0, sp, #0x0 - bl sub_0201BE98 + bl FUN_0201BE98 add sp, #0x18 pop {r3, pc} nop _0201BE38: .word 0x02105BB4 - thumb_func_start sub_0201BE3C -sub_0201BE3C: ; 0x0201BE3C + thumb_func_start FUN_0201BE3C +FUN_0201BE3C: ; 0x0201BE3C push {r3, lr} sub sp, #0x18 str r0, [sp, #0x4] @@ -52028,14 +52028,14 @@ sub_0201BE3C: ; 0x0201BE3C ldr r1, [sp, #0x24] ldr r2, [sp, #0x34] add r0, sp, #0x0 - bl sub_0201BE98 + bl FUN_0201BE98 add sp, #0x18 pop {r3, pc} nop _0201BE94: .word 0x02105BB4 - thumb_func_start sub_0201BE98 -sub_0201BE98: ; 0x0201BE98 + thumb_func_start FUN_0201BE98 +FUN_0201BE98: ; 0x0201BE98 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0201BFD0 ; =0x02105BB4 @@ -52049,7 +52049,7 @@ sub_0201BE98: ; 0x0201BE98 _0201BEAC: mov r0, #0x0 mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x1 add r0, #0x23 @@ -52097,14 +52097,14 @@ _0201BEF4: ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r4, #0x0] - bl sub_02021F2C + bl FUN_02021F2C str r0, [r4, #0x0] ldr r0, _0201BFD4 ; =0x021C570C str r5, [r4, #0x18] mov r1, #0x0 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0201C1A8 + bl FUN_0201C1A8 cmp r6, #0xff beq _0201BF74 cmp r6, #0x0 @@ -52135,9 +52135,9 @@ _0201BEF4: add r0, r4, #0x0 add r0, #0x25 strb r1, [r0, #0x0] - ldr r0, _0201BFD8 ; =sub_0201BFDC + ldr r0, _0201BFD8 ; =FUN_0201BFDC add r1, r4, #0x0 - bl sub_0201BCC8 + bl FUN_0201BCC8 add r1, r4, #0x0 add r1, #0x28 strb r0, [r1, #0x0] @@ -52165,12 +52165,12 @@ _0201BF74: ldrb r0, [r7, #0x11] ldrb r1, [r7, #0x12] ldrb r2, [r7, #0x13] - bl sub_0201C05C + bl FUN_0201C05C mov r7, #0x1 lsl r7, r7, #0xa _0201BFA4: add r0, r4, #0x0 - bl sub_0201C048 + bl FUN_0201C048 cmp r0, #0x1 beq _0201BFB4 add r5, r5, #0x1 @@ -52180,21 +52180,21 @@ _0201BFB4: cmp r6, #0xff beq _0201BFBE ldr r0, [r4, #0x4] - bl sub_020191D0 + bl FUN_020191D0 _0201BFBE: add r0, r4, #0x0 - bl sub_0201C238 + bl FUN_0201C238 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x8 pop {r3-r7, pc} nop _0201BFD0: .word 0x02105BB4 _0201BFD4: .word 0x021C570C -_0201BFD8: .word sub_0201BFDC + 1 +_0201BFD8: .word FUN_0201BFDC + 1 - thumb_func_start sub_0201BFDC -sub_0201BFDC: ; 0x0201BFDC + thumb_func_start FUN_0201BFDC +FUN_0201BFDC: ; 0x0201BFDC push {r4, lr} ldr r0, _0201C044 ; =0x021C570C add r4, r1, #0x0 @@ -52211,9 +52211,9 @@ sub_0201BFDC: ; 0x0201BFDC ldrb r0, [r4, #0x11] ldrb r1, [r4, #0x12] ldrb r2, [r4, #0x13] - bl sub_0201C05C + bl FUN_0201C05C add r0, r4, #0x0 - bl sub_0201C048 + bl FUN_0201C048 cmp r0, #0x0 beq _0201C014 cmp r0, #0x1 @@ -52223,7 +52223,7 @@ sub_0201BFDC: ; 0x0201BFDC pop {r4, pc} _0201C014: ldr r0, [r4, #0x4] - bl sub_020191D0 + bl FUN_020191D0 _0201C01A: ldr r2, [r4, #0x18] cmp r2, #0x0 @@ -52237,7 +52237,7 @@ _0201C01A: _0201C02C: add r4, #0x28 ldrb r0, [r4, #0x0] - bl sub_0201BCFC + bl FUN_0201BCFC pop {r4, pc} _0201C036: ldrh r1, [r4, #0x2a] @@ -52251,21 +52251,21 @@ _0201C042: .balign 4 _0201C044: .word 0x021C570C - thumb_func_start sub_0201C048 -sub_0201C048: ; 0x0201C048 + thumb_func_start FUN_0201C048 +FUN_0201C048: ; 0x0201C048 push {r4, lr} add r4, r0, #0x0 _0201C04C: ldrb r0, [r4, #0x9] add r1, r4, #0x0 - bl sub_02002DB0 + bl FUN_02002DB0 cmp r0, #0x2 beq _0201C04C pop {r4, pc} .balign 4 - thumb_func_start sub_0201C05C -sub_0201C05C: ; 0x0201C05C + thumb_func_start FUN_0201C05C +FUN_0201C05C: ; 0x0201C05C push {r3-r7, lr} sub sp, #0x30 ldr r3, _0201C0F8 ; =0x021C570C @@ -52352,8 +52352,8 @@ _0201C0A4: _0201C0F8: .word 0x021C570C _0201C0FC: .word 0x021C5734 - thumb_func_start sub_0201C100 -sub_0201C100: ; 0x0201C100 + thumb_func_start FUN_0201C100 +FUN_0201C100: ; 0x0201C100 ldrh r2, [r0, #0x0] lsr r2, r2, #0x8 lsl r3, r2, #0x1 @@ -52439,44 +52439,44 @@ sub_0201C100: ; 0x0201C100 .balign 4 _0201C1A4: .word 0x021C5734 - thumb_func_start sub_0201C1A8 -sub_0201C1A8: ; 0x0201C1A8 + thumb_func_start FUN_0201C1A8 +FUN_0201C1A8: ; 0x0201C1A8 mov r1, #0x0 str r1, [r0, #0x2c] bx lr .balign 4 - thumb_func_start sub_0201C1B0 -sub_0201C1B0: ; 0x0201C1B0 + thumb_func_start FUN_0201C1B0 +FUN_0201C1B0: ; 0x0201C1B0 push {r3-r5, lr} sub sp, #0x8 mov r1, #0x6 mov r0, #0x0 lsl r1, r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x0 add r5, r0, #0x0 str r2, [sp, #0x0] mov r0, #0xe mov r1, #0x5 add r3, sp, #0x4 - bl sub_02006BB0 + bl FUN_02006BB0 add r4, r0, #0x0 ldr r0, [sp, #0x4] mov r2, #0x6 ldr r0, [r0, #0x14] add r1, r5, #0x0 lsl r2, r2, #0x8 - blx sub_020CE210 + blx FUN_020CE210 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201C1EC -sub_0201C1EC: ; 0x0201C1EC + thumb_func_start FUN_0201C1EC +FUN_0201C1EC: ; 0x0201C1EC push {r3-r7, lr} sub sp, #0x18 add r4, r0, #0x0 @@ -52485,7 +52485,7 @@ sub_0201C1EC: ; 0x0201C1EC ldr r5, [r4, #0x4] cmp r0, #0x0 bne _0201C202 - bl sub_0201C1B0 + bl FUN_0201C1B0 str r0, [r4, #0x2c] _0201C202: mov r0, #0x6 @@ -52494,7 +52494,7 @@ _0201C202: mul r6, r0 add r0, r5, #0x0 ldr r4, [r4, #0x2c] - bl sub_0201AB0C + bl FUN_0201AB0C sub r0, r0, #0x3 lsl r0, r0, #0x13 mov r1, #0x18 @@ -52510,25 +52510,25 @@ _0201C202: add r0, r5, #0x0 add r1, r4, r6 add r3, r2, #0x0 - bl sub_02019658 + bl FUN_02019658 add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_0201C238 -sub_0201C238: ; 0x0201C238 + thumb_func_start FUN_0201C238 +FUN_0201C238: ; 0x0201C238 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x2c] cmp r0, #0x0 beq _0201C24A - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x2c] _0201C24A: pop {r4, pc} - thumb_func_start sub_0201C24C -sub_0201C24C: ; 0x0201C24C + thumb_func_start FUN_0201C24C +FUN_0201C24C: ; 0x0201C24C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0201C298 ; =0x021C5934 @@ -52536,20 +52536,20 @@ sub_0201C24C: ; 0x0201C24C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201C25E - bl sub_02020C2C + bl FUN_02020C2C _0201C25E: add r0, r4, #0x0 mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 ldr r1, _0201C298 ; =0x021C5934 cmp r0, #0x0 str r0, [r1, #0x0] bne _0201C272 - bl sub_02020C2C + bl FUN_02020C2C _0201C272: add r0, r4, #0x0 lsl r1, r5, #0x4 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0201C298 ; =0x021C5934 ldr r2, [r1, #0x0] str r0, [r2, #0x8] @@ -52561,27 +52561,27 @@ _0201C272: ldr r1, [r1, #0x0] ldr r0, [r1, #0x8] ldr r1, [r1, #0x0] - blx sub_020AEF1C + blx FUN_020AEF1C pop {r3-r5, pc} nop _0201C298: .word 0x021C5934 - thumb_func_start sub_0201C29C -sub_0201C29C: ; 0x0201C29C + thumb_func_start FUN_0201C29C +FUN_0201C29C: ; 0x0201C29C push {r3, lr} ldr r0, _0201C2C4 ; =0x021C5934 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0201C2AA - bl sub_02020C2C + bl FUN_02020C2C _0201C2AA: ldr r0, _0201C2C4 ; =0x021C5934 ldr r0, [r0, #0x0] ldr r0, [r0, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201C2C4 ; =0x021C5934 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201C2C4 ; =0x021C5934 mov r1, #0x0 str r1, [r0, #0x0] @@ -52589,8 +52589,8 @@ _0201C2AA: .balign 4 _0201C2C4: .word 0x021C5934 - thumb_func_start sub_0201C2C8 -sub_0201C2C8: ; 0x0201C2C8 + thumb_func_start FUN_0201C2C8 +FUN_0201C2C8: ; 0x0201C2C8 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0201C308 ; =0x021C5934 @@ -52600,7 +52600,7 @@ sub_0201C2C8: ; 0x0201C2C8 add r7, r3, #0x0 cmp r0, #0x0 bne _0201C2DE - bl sub_02020C2C + bl FUN_02020C2C _0201C2DE: ldr r1, _0201C308 ; =0x021C5934 ldr r0, [r1, #0x0] @@ -52612,7 +52612,7 @@ _0201C2DE: ldr r0, [r0, #0x0] cmp r1, r0 blo _0201C2FA - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0201C2FA: @@ -52620,19 +52620,19 @@ _0201C2FA: add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - blx sub_020AEE40 + blx FUN_020AEE40 pop {r3-r7, pc} .balign 4 _0201C308: .word 0x021C5934 - thumb_func_start sub_0201C30C -sub_0201C30C: ; 0x0201C30C + thumb_func_start FUN_0201C30C +FUN_0201C30C: ; 0x0201C30C push {r3, lr} ldr r0, _0201C324 ; =0x021C5934 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201C322 - blx sub_020AEEB8 + blx FUN_020AEEB8 ldr r0, _0201C324 ; =0x021C5934 mov r1, #0x0 ldr r0, [r0, #0x0] @@ -52642,56 +52642,56 @@ _0201C322: .balign 4 _0201C324: .word 0x021C5934 - thumb_func_start sub_0201C328 -sub_0201C328: ; 0x0201C328 + thumb_func_start FUN_0201C328 +FUN_0201C328: ; 0x0201C328 push {r3-r5, lr} add r4, r0, #0x0 add r0, r1, #0x0 mov r1, #0x30 mul r1, r4 - bl sub_02016998 - ldr r2, _0201C344 ; =sub_0201C358 + bl FUN_02016998 + ldr r2, _0201C344 ; =FUN_0201C358 add r1, r4, #0x0 add r5, r0, #0x0 - blx sub_020B4568 + blx FUN_020B4568 add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 -_0201C344: .word sub_0201C358 + 1 +_0201C344: .word FUN_0201C358 + 1 - thumb_func_start sub_0201C348 -sub_0201C348: ; 0x0201C348 - ldr r3, _0201C34C ; =sub_020B442C + thumb_func_start FUN_0201C348 +FUN_0201C348: ; 0x0201C348 + ldr r3, _0201C34C ; =FUN_020B442C bx r3 .balign 4 -_0201C34C: .word sub_020B442C +_0201C34C: .word FUN_020B442C - thumb_func_start sub_0201C350 -sub_0201C350: ; 0x0201C350 - ldr r3, _0201C354 ; =sub_02016A18 + thumb_func_start FUN_0201C350 +FUN_0201C350: ; 0x0201C350 + ldr r3, _0201C354 ; =FUN_02016A18 bx r3 .balign 4 -_0201C354: .word sub_02016A18 + 1 +_0201C354: .word FUN_02016A18 + 1 - thumb_func_start sub_0201C358 -sub_0201C358: ; 0x0201C358 + thumb_func_start FUN_0201C358 +FUN_0201C358: ; 0x0201C358 push {r3, lr} - bl sub_0201C2C8 + bl FUN_0201C2C8 pop {r3, pc} - thumb_func_start sub_0201C360 -sub_0201C360: ; 0x0201C360 + thumb_func_start FUN_0201C360 +FUN_0201C360: ; 0x0201C360 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x14 add r4, r0, #0x0 add r0, r6, #0x0 mul r1, r5 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] mov r6, #0x0 str r5, [r4, #0x4] @@ -52701,7 +52701,7 @@ sub_0201C360: ; 0x0201C360 _0201C386: ldr r0, [r4, #0x0] add r0, r0, r5 - bl sub_0201C444 + bl FUN_0201C444 ldr r0, [r4, #0x4] add r6, r6, #0x1 add r5, #0x14 @@ -52711,20 +52711,20 @@ _0201C398: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0201C39C -sub_0201C39C: ; 0x0201C39C + thumb_func_start FUN_0201C39C +FUN_0201C39C: ; 0x0201C39C push {r4, lr} add r4, r0, #0x0 - bl sub_0201C414 + bl FUN_0201C414 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0201C3B4 -sub_0201C3B4: ; 0x0201C3B4 + thumb_func_start FUN_0201C3B4 +FUN_0201C3B4: ; 0x0201C3B4 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] @@ -52769,19 +52769,19 @@ _0201C3EA: strb r0, [r4, #0x11] add r0, r4, #0x0 lsr r1, r1, #0x10 - bl sub_0201C454 + bl FUN_0201C454 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0201C40C -sub_0201C40C: ; 0x0201C40C - ldr r3, _0201C410 ; =sub_0201C444 + thumb_func_start FUN_0201C40C +FUN_0201C40C: ; 0x0201C40C + ldr r3, _0201C410 ; =FUN_0201C444 bx r3 .balign 4 -_0201C410: .word sub_0201C444 + 1 +_0201C410: .word FUN_0201C444 + 1 - thumb_func_start sub_0201C414 -sub_0201C414: ; 0x0201C414 + thumb_func_start FUN_0201C414 +FUN_0201C414: ; 0x0201C414 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] @@ -52792,7 +52792,7 @@ sub_0201C414: ; 0x0201C414 _0201C422: ldr r0, [r5, #0x0] add r0, r0, r4 - bl sub_0201C444 + bl FUN_0201C444 ldr r0, [r5, #0x4] add r6, r6, #0x1 add r4, #0x14 @@ -52802,17 +52802,17 @@ _0201C434: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201C438 -sub_0201C438: ; 0x0201C438 - ldr r3, _0201C440 ; =sub_0201C454 + thumb_func_start FUN_0201C438 +FUN_0201C438: ; 0x0201C438 + ldr r3, _0201C440 ; =FUN_0201C454 lsl r1, r1, #0x4 lsr r1, r1, #0x10 bx r3 .balign 4 -_0201C440: .word sub_0201C454 + 1 +_0201C440: .word FUN_0201C454 + 1 - thumb_func_start sub_0201C444 -sub_0201C444: ; 0x0201C444 + thumb_func_start FUN_0201C444 +FUN_0201C444: ; 0x0201C444 mov r1, #0x0 str r1, [r0, #0x0] str r1, [r0, #0x4] @@ -52822,13 +52822,13 @@ sub_0201C444: ; 0x0201C444 strb r1, [r0, #0x11] bx lr - thumb_func_start sub_0201C454 -sub_0201C454: ; 0x0201C454 + thumb_func_start FUN_0201C454 +FUN_0201C454: ; 0x0201C454 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02022244 + bl FUN_02022244 add r2, sp, #0x0 strb r0, [r2, #0x0] lsr r0, r0, #0x8 @@ -52844,7 +52844,7 @@ sub_0201C454: ; 0x0201C454 cmp r3, r0 beq _0201C482 add r0, r4, #0x0 - bl sub_0201C49C + bl FUN_0201C49C _0201C482: add r0, sp, #0x0 ldrb r1, [r4, #0x11] @@ -52854,18 +52854,18 @@ _0201C482: add r1, sp, #0x0 add r0, r4, #0x0 add r1, #0x2 - bl sub_0201C4C8 + bl FUN_0201C4C8 _0201C496: add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201C49C -sub_0201C49C: ; 0x0201C49C + thumb_func_start FUN_0201C49C +FUN_0201C49C: ; 0x0201C49C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201C4F4 + bl FUN_0201C4F4 ldr r3, [r5, #0x8] add r2, r0, #0x0 lsl r1, r3, #0x10 @@ -52875,19 +52875,19 @@ sub_0201C49C: ; 0x0201C49C lsr r3, r3, #0x10 lsr r1, r1, #0xd lsl r3, r3, #0x4 - bl sub_0201C2C8 + bl FUN_0201C2C8 ldrb r0, [r4, #0x0] strb r0, [r5, #0x10] pop {r4-r6, pc} nop _0201C4C4: .word 0x7FFF0000 - thumb_func_start sub_0201C4C8 -sub_0201C4C8: ; 0x0201C4C8 + thumb_func_start FUN_0201C4C8 +FUN_0201C4C8: ; 0x0201C4C8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201C500 + bl FUN_0201C500 ldr r3, [r5, #0xc] add r2, r0, #0x0 lsl r1, r3, #0x10 @@ -52897,15 +52897,15 @@ sub_0201C4C8: ; 0x0201C4C8 lsr r3, r3, #0x10 lsr r1, r1, #0xd lsl r3, r3, #0x3 - bl sub_0201C2C8 + bl FUN_0201C2C8 ldrb r0, [r4, #0x1] strb r0, [r5, #0x11] pop {r4-r6, pc} nop _0201C4F0: .word 0xFFFF0000 - thumb_func_start sub_0201C4F4 -sub_0201C4F4: ; 0x0201C4F4 + thumb_func_start FUN_0201C4F4 +FUN_0201C4F4: ; 0x0201C4F4 ldr r3, _0201C4FC ; =0x0201C50D ldr r0, [r0, #0x4] ldrb r1, [r1, #0x0] @@ -52913,8 +52913,8 @@ sub_0201C4F4: ; 0x0201C4F4 .balign 4 _0201C4FC: .word 0x0201C50D - thumb_func_start sub_0201C500 -sub_0201C500: ; 0x0201C500 + thumb_func_start FUN_0201C500 +FUN_0201C500: ; 0x0201C500 ldr r3, _0201C508 ; =0x0201C541 ldr r0, [r0, #0x4] ldrb r1, [r1, #0x1] @@ -52930,8 +52930,8 @@ _0201C50C: .byte 0x5A, 0x18, 0x02, 0xD1, 0x00, 0x20, 0x18, 0xBC, 0x70, 0x47, 0x81, 0x6B, 0x41, 0x18, 0x10, 0x88 .byte 0xC0, 0x00, 0x08, 0x18, 0x18, 0xBC, 0x70, 0x47 - thumb_func_start sub_0201C568 -sub_0201C568: ; 0x0201C568 + thumb_func_start FUN_0201C568 +FUN_0201C568: ; 0x0201C568 ldr r1, [r1, #0x0] ldr r0, [r0, #0x8] lsl r1, r1, #0x10 @@ -52941,17 +52941,17 @@ sub_0201C568: ; 0x0201C568 add r0, r1, r0 bx lr - thumb_func_start sub_0201C578 -sub_0201C578: ; 0x0201C578 + thumb_func_start FUN_0201C578 +FUN_0201C578: ; 0x0201C578 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_0201C750 + bl FUN_0201C750 add r0, r4, #0x0 add r0, #0x3c add r1, sp, #0x0 - blx sub_020BC2A0 + blx FUN_020BC2A0 add r1, r0, #0x0 bne _0201C598 add sp, #0x10 @@ -52959,13 +52959,13 @@ sub_0201C578: ; 0x0201C578 pop {r4, pc} _0201C598: add r0, r4, #0x0 - bl sub_0201C568 + bl FUN_0201C568 add sp, #0x10 pop {r4, pc} .balign 4 - thumb_func_start sub_0201C5A4 -sub_0201C5A4: ; 0x0201C5A4 + thumb_func_start FUN_0201C5A4 +FUN_0201C5A4: ; 0x0201C5A4 push {r3, lr} ldr r0, [r1, #0x0] mov r1, #0x7 @@ -53005,30 +53005,30 @@ _0201C5DE: lsl r2, r2, #0x4 lsl r0, r0, #0x4 mul r0, r2 - blx sub_020EBE8C + blx FUN_020EBE8C pop {r3, pc} .balign 4 - thumb_func_start sub_0201C5FC -sub_0201C5FC: ; 0x0201C5FC + thumb_func_start FUN_0201C5FC +FUN_0201C5FC: ; 0x0201C5FC push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_0201C750 + bl FUN_0201C750 add r0, r4, #0x0 add r0, #0x3c add r1, sp, #0x0 - blx sub_020BC2A0 + blx FUN_020BC2A0 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0201C5A4 + bl FUN_0201C5A4 add sp, #0x10 pop {r4, pc} .balign 4 - thumb_func_start sub_0201C620 -sub_0201C620: ; 0x0201C620 + thumb_func_start FUN_0201C620 +FUN_0201C620: ; 0x0201C620 ldrb r3, [r0, #0x0] strb r3, [r1, #0x0] ldrb r0, [r0, #0x1] @@ -53036,8 +53036,8 @@ sub_0201C620: ; 0x0201C620 bx lr .balign 4 - thumb_func_start sub_0201C62C -sub_0201C62C: ; 0x0201C62C + thumb_func_start FUN_0201C62C +FUN_0201C62C: ; 0x0201C62C ldrb r3, [r0, #0x2] strb r3, [r1, #0x0] ldrb r0, [r0, #0x3] @@ -53045,8 +53045,8 @@ sub_0201C62C: ; 0x0201C62C bx lr .balign 4 - thumb_func_start sub_0201C638 -sub_0201C638: ; 0x0201C638 + thumb_func_start FUN_0201C638 +FUN_0201C638: ; 0x0201C638 push {r4-r5} ldr r5, _0201C6B0 ; =0xFFFFFFF8 ldr r4, [sp, #0xc] @@ -53106,8 +53106,8 @@ _0201C6A8: nop _0201C6B0: .word 0xFFFFFFF8 - thumb_func_start sub_0201C6B4 -sub_0201C6B4: ; 0x0201C6B4 + thumb_func_start FUN_0201C6B4 +FUN_0201C6B4: ; 0x0201C6B4 mov r2, #0x0 ldrsb r1, [r0, r2] cmp r1, #0x0 @@ -53121,8 +53121,8 @@ _0201C6C4: add r0, r2, #0x0 bx lr - thumb_func_start sub_0201C6C8 -sub_0201C6C8: ; 0x0201C6C8 + thumb_func_start FUN_0201C6C8 +FUN_0201C6C8: ; 0x0201C6C8 push {r4-r5} mov r4, #0x1 mov r3, #0x0 @@ -53162,11 +53162,11 @@ _0201C6FE: bx lr .balign 4 - thumb_func_start sub_0201C70C -sub_0201C70C: ; 0x0201C70C + thumb_func_start FUN_0201C70C +FUN_0201C70C: ; 0x0201C70C push {r4-r6, lr} add r4, r0, #0x0 - bl sub_0201C6B4 + bl FUN_0201C6B4 mov r5, #0x1 mov r6, #0x0 sub r3, r0, #0x1 @@ -53203,8 +53203,8 @@ _0201C74A: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201C750 -sub_0201C750: ; 0x0201C750 + thumb_func_start FUN_0201C750 +FUN_0201C750: ; 0x0201C750 push {r3-r5, lr} mov r2, #0x0 add r4, r1, #0x0 @@ -53219,7 +53219,7 @@ _0201C75A: cmp r2, #0x4 blo _0201C75A add r0, r4, #0x0 - bl sub_0201C6B4 + bl FUN_0201C6B4 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r2, _0201C788 ; =0x00000000 @@ -53237,8 +53237,8 @@ _0201C784: nop _0201C788: .word 0x00000000 - thumb_func_start sub_0201C78C -sub_0201C78C: ; 0x0201C78C + thumb_func_start FUN_0201C78C +FUN_0201C78C: ; 0x0201C78C ldr r1, _0201C79C ; =0x00000121 cmp r0, r1 bhs _0201C796 @@ -53250,32 +53250,32 @@ _0201C796: nop _0201C79C: .word 0x00000121 - thumb_func_start sub_0201C7A0 -sub_0201C7A0: ; 0x0201C7A0 + thumb_func_start FUN_0201C7A0 +FUN_0201C7A0: ; 0x0201C7A0 cmp r0, r1 blt _0201C7A6 add r0, r1, #0x0 _0201C7A6: bx lr - thumb_func_start sub_0201C7A8 -sub_0201C7A8: ; 0x0201C7A8 + thumb_func_start FUN_0201C7A8 +FUN_0201C7A8: ; 0x0201C7A8 cmp r0, r1 bgt _0201C7AE add r0, r1, #0x0 _0201C7AE: bx lr - thumb_func_start sub_0201C7B0 -sub_0201C7B0: ; 0x0201C7B0 + thumb_func_start FUN_0201C7B0 +FUN_0201C7B0: ; 0x0201C7B0 push {r3-r7, lr} sub sp, #0x30 add r4, r1, #0x0 add r1, sp, #0x24 - blx sub_020C5288 + blx FUN_020C5288 add r0, r4, #0x0 add r1, sp, #0x18 - blx sub_020C5288 + blx FUN_020C5288 ldr r0, [sp, #0x24] ldr r4, [sp, #0x18] str r0, [sp, #0x0] @@ -53292,14 +53292,14 @@ sub_0201C7B0: ; 0x0201C7B0 ldr r3, [sp, #0xc] add r1, r7, #0x0 str r0, [sp, #0x10] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x14] add r5, r1, #0x0 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] add r2, r4, #0x0 add r3, r6, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 ldr r3, [sp, #0x14] lsl r2, r2, #0xa @@ -53322,14 +53322,14 @@ sub_0201C7B0: ; 0x0201C7B0 add r1, r7, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r6, r0, #0x0 add r4, r1, #0x0 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] ldr r3, [sp, #0xc] - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -53358,14 +53358,14 @@ _0201C862: pop {r3-r7, pc} _0201C86A: add r1, r5, #0x0 - blx sub_020C5668 + blx FUN_020C5668 add sp, #0x30 pop {r3-r7, pc} .balign 4 _0201C874: .word 0x00000000 - thumb_func_start sub_0201C878 -sub_0201C878: ; 0x0201C878 + thumb_func_start FUN_0201C878 +FUN_0201C878: ; 0x0201C878 push {r0-r3} push {r4-r7, lr} sub sp, #0x54 @@ -53407,7 +53407,7 @@ sub_0201C878: ; 0x0201C878 ldr r0, [sp, #0x8] ldr r1, [sp, #0x1c] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r0, #0x0 add r6, r1, #0x0 ldr r3, [sp, #0x68] @@ -53416,14 +53416,14 @@ sub_0201C878: ; 0x0201C878 sub r2, r3, r2 ldr r1, [sp, #0x34] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r5, r1, #0x0 str r0, [sp, #0x3c] ldr r1, [sp, #0x38] ldr r2, [sp, #0x20] ldr r3, [sp, #0x24] add r0, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 str r0, [sp, #0x4c] add r0, r1, #0x0 @@ -53459,7 +53459,7 @@ sub_0201C878: ; 0x0201C878 sub r2, r3, r2 ldr r1, [sp, #0x34] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r0, #0x0 add r6, r1, #0x0 ldr r3, [sp, #0x68] @@ -53468,14 +53468,14 @@ sub_0201C878: ; 0x0201C878 sub r2, r3, r2 ldr r1, [sp, #0x28] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x40] add r5, r1, #0x0 ldr r1, [sp, #0x38] ldr r2, [sp, #0x14] ldr r3, [sp, #0x18] add r0, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 str r0, [sp, #0x50] add r0, r1, #0x0 @@ -53511,7 +53511,7 @@ sub_0201C878: ; 0x0201C878 sub r2, r3, r2 ldr r1, [sp, #0x28] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r0, #0x0 add r6, r1, #0x0 ldr r3, [sp, #0x68] @@ -53520,14 +53520,14 @@ sub_0201C878: ; 0x0201C878 sub r2, r3, r2 ldr r1, [sp, #0x1c] asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 add r5, r1, #0x0 str r0, [sp, #0x44] ldr r1, [sp, #0x38] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] add r0, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r3, #0x2 mov r2, #0x0 lsl r3, r3, #0xa @@ -53557,21 +53557,21 @@ sub_0201C878: ; 0x0201C878 ldr r1, [sp, #0x34] ldr r2, [sp, #0x2c] ldr r3, [sp, #0x30] - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r0, #0x0 add r5, r1, #0x0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x28] ldr r2, [sp, #0x20] ldr r3, [sp, #0x24] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x48] add r4, r1, #0x0 ldr r0, [sp, #0x8] ldr r1, [sp, #0x1c] ldr r2, [sp, #0x14] ldr r3, [sp, #0x18] - blx sub_020EBC30 + blx FUN_020EBC30 mov r12, r0 mov r0, #0x2 add r2, r1, #0x0 @@ -53639,8 +53639,8 @@ _0201CA9C: add sp, #0x10 bx r3 - thumb_func_start sub_0201CAA8 -sub_0201CAA8: ; 0x0201CAA8 + thumb_func_start FUN_0201CAA8 +FUN_0201CAA8: ; 0x0201CAA8 push {r4-r5, lr} sub sp, #0x24 add r4, r1, #0x0 @@ -53656,7 +53656,7 @@ sub_0201CAA8: ; 0x0201CAA8 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r5, r0, #0x0 - bl sub_020C3F38 + bl FUN_020C3F38 ldr r0, [r4, #0x4] ldr r3, _0201CB1C ; =0x020FFA38 lsl r0, r0, #0x10 @@ -53669,11 +53669,11 @@ sub_0201CAA8: ; 0x0201CAA8 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, sp, #0x0 - bl sub_020C3F54 + bl FUN_020C3F54 add r0, r5, #0x0 add r1, sp, #0x0 add r2, r5, #0x0 - blx sub_020C400C + blx FUN_020C400C ldr r0, [r4, #0x8] ldr r3, _0201CB1C ; =0x020FFA38 lsl r0, r0, #0x10 @@ -53686,18 +53686,18 @@ sub_0201CAA8: ; 0x0201CAA8 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, sp, #0x0 - bl sub_020C3F70 + bl FUN_020C3F70 add r0, r5, #0x0 add r1, sp, #0x0 add r2, r5, #0x0 - blx sub_020C400C + blx FUN_020C400C add sp, #0x24 pop {r4-r5, pc} nop _0201CB1C: .word 0x020FFA38 - thumb_func_start sub_0201CB20 -sub_0201CB20: ; 0x0201CB20 + thumb_func_start FUN_0201CB20 +FUN_0201CB20: ; 0x0201CB20 push {r4-r7, lr} sub sp, #0x24 add r6, r1, #0x0 @@ -53710,7 +53710,7 @@ sub_0201CB20: ; 0x0201CB20 ldr r1, [r2, r1] ldr r2, [r2, r3] add r7, r0, #0x0 - bl sub_020C3F38 + bl FUN_020C3F38 lsl r1, r5, #0x2 ldr r3, _0201CB78 ; =0x020EDF50 add r5, #0x5a @@ -53718,11 +53718,11 @@ sub_0201CB20: ; 0x0201CB20 ldr r1, [r3, r1] ldr r2, [r3, r2] add r0, sp, #0x0 - bl sub_020C3F54 + bl FUN_020C3F54 add r0, r7, #0x0 add r1, sp, #0x0 add r2, r7, #0x0 - blx sub_020C400C + blx FUN_020C400C lsl r1, r4, #0x2 ldr r3, _0201CB78 ; =0x020EDF50 add r4, #0x5a @@ -53730,18 +53730,18 @@ sub_0201CB20: ; 0x0201CB20 ldr r1, [r3, r1] ldr r2, [r3, r2] add r0, sp, #0x0 - bl sub_020C3F70 + bl FUN_020C3F70 add r0, r7, #0x0 add r1, sp, #0x0 add r2, r7, #0x0 - blx sub_020C400C + blx FUN_020C400C add sp, #0x24 pop {r4-r7, pc} .balign 4 _0201CB78: .word 0x020EDF50 - thumb_func_start sub_0201CB7C -sub_0201CB7C: ; 0x0201CB7C + thumb_func_start FUN_0201CB7C +FUN_0201CB7C: ; 0x0201CB7C push {r3-r7, lr} asr r0, r0, #0x4 add r7, r2, #0x0 @@ -53755,12 +53755,12 @@ sub_0201CB7C: ; 0x0201CB7C ldrsh r1, [r1, r2] add r5, r3, #0x0 ldr r4, [sp, #0x18] - blx sub_020C50B8 + blx FUN_020C50B8 add r2, r0, #0x0 asr r1, r6, #0x1f add r0, r6, #0x0 asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r6, #0x2 mov r2, #0x0 lsl r6, r6, #0xa @@ -53783,7 +53783,7 @@ sub_0201CB7C: ; 0x0201CB7C asr r3, r7, #0x1f add r2, r7, #0x0 str r0, [r4, #0x0] - blx sub_020EBC30 + blx FUN_020EBC30 mov r3, #0x0 add r2, r6, #0x0 add r2, r0, r2 @@ -53796,8 +53796,8 @@ sub_0201CB7C: ; 0x0201CB7C .balign 4 _0201CBE8: .word 0x020FFA38 - thumb_func_start sub_0201CBEC -sub_0201CBEC: ; 0x0201CBEC + thumb_func_start FUN_0201CBEC +FUN_0201CBEC: ; 0x0201CBEC push {r3, lr} sub r0, r0, r2 sub r2, r1, r3 @@ -53807,19 +53807,19 @@ sub_0201CBEC: ; 0x0201CBEC mul r0, r2 add r0, r1, r0 lsl r0, r0, #0xc - blx sub_020C504C + blx FUN_020C504C asr r0, r0, #0xc pop {r3, pc} .balign 4 - thumb_func_start sub_0201CC08 -sub_0201CC08: ; 0x0201CC08 + thumb_func_start FUN_0201CC08 +FUN_0201CC08: ; 0x0201CC08 push {r3, lr} ldr r0, _0201CC20 ; =0x021C5978 ldrh r0, [r0, #0x1a] cmp r0, #0x0 beq _0201CC16 - bl sub_02020C2C + bl FUN_02020C2C _0201CC16: ldr r0, _0201CC20 ; =0x021C5978 mov r1, #0x0 @@ -53829,8 +53829,8 @@ _0201CC16: .balign 4 _0201CC20: .word 0x021C5978 - thumb_func_start sub_0201CC24 -sub_0201CC24: ; 0x0201CC24 + thumb_func_start FUN_0201CC24 +FUN_0201CC24: ; 0x0201CC24 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -53838,7 +53838,7 @@ sub_0201CC24: ; 0x0201CC24 ldrh r0, [r0, #0x1a] cmp r0, #0x0 beq _0201CC36 - bl sub_02020C2C + bl FUN_02020C2C _0201CC36: cmp r4, #0x5 bhs _0201CC3E @@ -53858,7 +53858,7 @@ _0201CC44: pop {r4, pc} _0201CC52: add r0, r4, #0x0 - bl sub_0201CE2C + bl FUN_0201CE2C cmp r0, #0x1 bne _0201CC70 mov r2, #0x0 @@ -53868,7 +53868,7 @@ _0201CC52: mov r0, #0x2 mov r1, #0x1 add r3, r2, #0x0 - bl sub_0201CC78 + bl FUN_0201CC78 mov r0, #0x1 _0201CC70: add sp, #0x8 @@ -53876,8 +53876,8 @@ _0201CC70: .balign 4 _0201CC74: .word 0x021C5978 - thumb_func_start sub_0201CC78 -sub_0201CC78: ; 0x0201CC78 + thumb_func_start FUN_0201CC78 +FUN_0201CC78: ; 0x0201CC78 push {r4, lr} ldr r4, _0201CC9C ; =0x021C5978 strh r0, [r4, #0x18] @@ -53892,7 +53892,7 @@ sub_0201CC78: ; 0x0201CC78 str r1, [r0, #0x54] ldr r0, _0201CCA8 ; =0x021C5944 mov r1, #0x9 - bl sub_0201CCAC + bl FUN_0201CCAC pop {r4, pc} nop _0201CC9C: .word 0x021C5978 @@ -53900,8 +53900,8 @@ _0201CCA0: .word 0x021C4918 _0201CCA4: .word 0x021C5938 _0201CCA8: .word 0x021C5944 - thumb_func_start sub_0201CCAC -sub_0201CCAC: ; 0x0201CCAC + thumb_func_start FUN_0201CCAC +FUN_0201CCAC: ; 0x0201CCAC mov r3, #0x0 cmp r1, #0x0 ble _0201CCBE @@ -53915,8 +53915,8 @@ _0201CCB4: _0201CCBE: bx lr - thumb_func_start sub_0201CCC0 -sub_0201CCC0: ; 0x0201CCC0 + thumb_func_start FUN_0201CCC0 +FUN_0201CCC0: ; 0x0201CCC0 push {r4-r6, lr} ldr r0, _0201CD00 ; =0x021C5978 mov r5, #0x0 @@ -53929,11 +53929,11 @@ _0201CCD0: mov r4, #0x4 add r6, r4, #0x0 _0201CCD4: - blx sub_020D3C14 + blx FUN_020D3C14 add r0, r4, #0x0 - blx sub_020D36D8 + blx FUN_020D36D8 add r0, r6, #0x0 - blx sub_020D36C4 + blx FUN_020D36C4 cmp r0, #0x0 beq _0201CCEA add r5, r5, #0x1 @@ -53953,17 +53953,17 @@ _0201CCFA: nop _0201CD00: .word 0x021C5978 - thumb_func_start sub_0201CD04 -sub_0201CD04: ; 0x0201CD04 + thumb_func_start FUN_0201CD04 +FUN_0201CD04: ; 0x0201CD04 push {r4, lr} sub sp, #0x8 ldr r0, _0201CD34 ; =0x021C5978 ldrh r0, [r0, #0x1a] cmp r0, #0x0 beq _0201CD14 - bl sub_02020C2C + bl FUN_02020C2C _0201CD14: - bl sub_0201CCC0 + bl FUN_0201CCC0 add r4, r0, #0x0 cmp r4, #0x1 bne _0201CD2E @@ -53973,7 +53973,7 @@ _0201CD14: add r2, r0, #0x0 add r3, r0, #0x0 str r0, [sp, #0x4] - bl sub_0201CC78 + bl FUN_0201CC78 _0201CD2E: add r0, r4, #0x0 add sp, #0x8 @@ -53981,8 +53981,8 @@ _0201CD2E: .balign 4 _0201CD34: .word 0x021C5978 - thumb_func_start sub_0201CD38 -sub_0201CD38: ; 0x0201CD38 + thumb_func_start FUN_0201CD38 +FUN_0201CD38: ; 0x0201CD38 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, _0201CD8C ; =0x021C5978 @@ -53992,22 +53992,22 @@ sub_0201CD38: ; 0x0201CD38 mov r5, #0x3 cmp r0, #0x0 beq _0201CD4E - bl sub_02020C2C + bl FUN_02020C2C _0201CD4E: ldr r0, _0201CD8C ; =0x021C5978 ldrh r0, [r0, #0x18] cmp r0, #0x0 beq _0201CD88 - blx sub_020D3A90 + blx FUN_020D3A90 add r5, r0, #0x0 ldr r0, _0201CD90 ; =0x021C5944 mov r1, #0x9 - bl sub_0201CD94 + bl FUN_0201CD94 cmp r4, #0x0 beq _0201CD70 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0201CFD0 + bl FUN_0201CFD0 _0201CD70: ldr r0, _0201CD8C ; =0x021C5978 ldrh r0, [r0, #0x18] @@ -54016,7 +54016,7 @@ _0201CD70: add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 - bl sub_0201CE70 + bl FUN_0201CE70 add r5, r0, #0x0 b _0201CD88 _0201CD86: @@ -54028,8 +54028,8 @@ _0201CD88: _0201CD8C: .word 0x021C5978 _0201CD90: .word 0x021C5944 - thumb_func_start sub_0201CD94 -sub_0201CD94: ; 0x0201CD94 + thumb_func_start FUN_0201CD94 +FUN_0201CD94: ; 0x0201CD94 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -54042,7 +54042,7 @@ sub_0201CD94: ; 0x0201CD94 _0201CDA6: add r0, sp, #0x4 add r1, r5, #0x0 - blx sub_020D36F0 + blx FUN_020D36F0 ldrh r0, [r6, #0x0] add r7, r7, #0x1 add r5, #0x8 @@ -54062,8 +54062,8 @@ _0201CDCA: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0201CDD0 -sub_0201CDD0: ; 0x0201CDD0 + thumb_func_start FUN_0201CDD0 +FUN_0201CDD0: ; 0x0201CDD0 push {r3, lr} ldr r0, _0201CDFC ; =0x021C5978 ldrh r1, [r0, #0x1a] @@ -54075,10 +54075,10 @@ sub_0201CDD0: ; 0x0201CDD0 ldr r0, _0201CE00 ; =0x021C5938 ldr r0, [r0, #0x8] lsr r0, r0, #0x1 - bl sub_0201CE2C + bl FUN_0201CE2C cmp r0, #0x1 beq _0201CDF2 - bl sub_02020C2C + bl FUN_02020C2C _0201CDF2: ldr r0, _0201CDFC ; =0x021C5978 mov r1, #0x0 @@ -54089,8 +54089,8 @@ _0201CDF8: _0201CDFC: .word 0x021C5978 _0201CE00: .word 0x021C5938 - thumb_func_start sub_0201CE04 -sub_0201CE04: ; 0x0201CE04 + thumb_func_start FUN_0201CE04 +FUN_0201CE04: ; 0x0201CE04 push {r3, lr} ldr r0, _0201CE28 ; =0x021C5978 ldrh r1, [r0, #0x1a] @@ -54099,10 +54099,10 @@ sub_0201CE04: ; 0x0201CE04 ldrh r0, [r0, #0x18] cmp r0, #0x0 beq _0201CE26 - bl sub_0201CCC0 + bl FUN_0201CCC0 cmp r0, #0x1 beq _0201CE20 - bl sub_02020C2C + bl FUN_02020C2C _0201CE20: ldr r0, _0201CE28 ; =0x021C5978 mov r1, #0x1 @@ -54112,8 +54112,8 @@ _0201CE26: .balign 4 _0201CE28: .word 0x021C5978 - thumb_func_start sub_0201CE2C -sub_0201CE2C: ; 0x0201CE2C + thumb_func_start FUN_0201CE2C +FUN_0201CE2C: ; 0x0201CE2C push {r3-r7, lr} mov r5, #0x0 lsl r0, r0, #0x10 @@ -54125,11 +54125,11 @@ _0201CE38: add r1, r4, #0x0 add r2, r7, #0x0 mov r3, #0x9 - blx sub_020D3CB8 + blx FUN_020D3CB8 mov r0, #0x2 - blx sub_020D36D8 + blx FUN_020D36D8 mov r0, #0x2 - blx sub_020D36C4 + blx FUN_020D36C4 cmp r0, #0x0 beq _0201CE56 add r5, r5, #0x1 @@ -54149,8 +54149,8 @@ _0201CE66: nop _0201CE6C: .word 0x021C5944 - thumb_func_start sub_0201CE70 -sub_0201CE70: ; 0x0201CE70 + thumb_func_start FUN_0201CE70 +FUN_0201CE70: ; 0x0201CE70 push {r3, lr} cmp r0, #0x5 bhi _0201CE9A @@ -54166,7 +54166,7 @@ sub_0201CE70: ; 0x0201CE70 lsl r2, r1, #0 lsl r0, r2, #0 lsl r0, r2, #0 - bl sub_0201CEA0 + bl FUN_0201CEA0 pop {r3, pc} _0201CE94: .byte 0x00, 0xF0, 0x60, 0xF8, 0x08, 0xBD @@ -54175,8 +54175,8 @@ _0201CE9A: pop {r3, pc} .balign 4 - thumb_func_start sub_0201CEA0 -sub_0201CEA0: ; 0x0201CEA0 + thumb_func_start FUN_0201CEA0 +FUN_0201CEA0: ; 0x0201CEA0 push {r3-r7, lr} sub sp, #0x8 ldr r5, _0201CF50 ; =0x021C5938 @@ -54255,7 +54255,7 @@ _0201CF0C: ldr r2, [sp, #0x0] cmp r2, #0x1 bne _0201CF36 - blx sub_020EBE8C + blx FUN_020EBE8C str r1, [r5, #0x54] b _0201CF3E _0201CF36: @@ -54277,8 +54277,8 @@ _0201CF46: _0201CF50: .word 0x021C5938 _0201CF54: .word 0x021C5938 - thumb_func_start sub_0201CF58 -sub_0201CF58: ; 0x0201CF58 + thumb_func_start FUN_0201CF58 +FUN_0201CF58: ; 0x0201CF58 push {r3-r7, lr} ldr r5, _0201CFC8 ; =0x021C5938 str r1, [sp, #0x0] @@ -54322,7 +54322,7 @@ _0201CF7C: blo _0201CFB8 cmp r7, #0x4 bne _0201CFB2 - blx sub_020EBE8C + blx FUN_020EBE8C str r1, [r5, #0x54] b _0201CFB8 _0201CFB2: @@ -54342,8 +54342,8 @@ _0201CFC0: _0201CFC8: .word 0x021C5938 _0201CFCC: .word 0x021C5938 - thumb_func_start sub_0201CFD0 -sub_0201CFD0: ; 0x0201CFD0 + thumb_func_start FUN_0201CFD0 +FUN_0201CFD0: ; 0x0201CFD0 push {r4-r7} mov r2, #0x0 strh r2, [r0, #0x0] @@ -54405,8 +54405,8 @@ _0201D034: _0201D038: .word 0x021C5938 _0201D03C: .word 0x021C5938 - thumb_func_start sub_0201D040 -sub_0201D040: ; 0x0201D040 + thumb_func_start FUN_0201D040 +FUN_0201D040: ; 0x0201D040 ldr r1, _0201D054 ; =0x04001000 ldr r2, [r1, #0x0] ldr r1, _0201D058 ; =0x00300010 @@ -54414,15 +54414,15 @@ sub_0201D040: ; 0x0201D040 ldr r3, [r3, #0x0] and r2, r1 and r1, r3 - ldr r3, _0201D05C ; =sub_0201D060 + ldr r3, _0201D05C ; =FUN_0201D060 bx r3 nop _0201D054: .word 0x04001000 _0201D058: .word 0x00300010 -_0201D05C: .word sub_0201D060 + 1 +_0201D05C: .word FUN_0201D060 + 1 - thumb_func_start sub_0201D060 -sub_0201D060: ; 0x0201D060 + thumb_func_start FUN_0201D060 +FUN_0201D060: ; 0x0201D060 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -54434,13 +54434,13 @@ sub_0201D060: ; 0x0201D060 bne _0201D11A ldr r0, [r5, #0xc] mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 add r1, r0, #0x0 ldr r0, _0201D120 ; =0x021C5994 mov r2, #0x3c str r1, [r0, #0x0] mov r0, #0x0 - blx sub_020CE1FC + blx FUN_020CE1FC ldr r1, _0201D120 ; =0x021C5994 ldr r2, [r5, #0x0] ldr r0, [r1, #0x0] @@ -54450,7 +54450,7 @@ sub_0201D060: ; 0x0201D060 ldr r2, [r1, #0x4] mov r1, #0x54 mul r1, r2 - bl sub_02016998 + bl FUN_02016998 ldr r7, _0201D120 ; =0x021C5994 mov r6, #0x0 ldr r1, [r7, #0x0] @@ -54463,7 +54463,7 @@ _0201D0AE: ldr r0, [r7, #0x0] ldr r0, [r0, #0x0] add r0, r0, r4 - bl sub_0201D690 + bl FUN_0201D690 ldr r0, [r5, #0x0] add r6, r6, #0x1 add r4, #0x54 @@ -54471,12 +54471,12 @@ _0201D0AE: blt _0201D0AE _0201D0C2: ldr r0, [sp, #0x0] - bl sub_0201DED0 + bl FUN_0201DED0 ldr r1, _0201D120 ; =0x021C5994 ldr r1, [r1, #0x0] str r0, [r1, #0x2c] ldr r0, [sp, #0x4] - bl sub_0201DED0 + bl FUN_0201DED0 ldr r2, _0201D120 ; =0x021C5994 mov r3, #0x1 ldr r1, [r2, #0x0] @@ -54498,17 +54498,17 @@ _0201D0C2: ldr r1, [r2, #0x0] ldr r0, [r5, #0x4] ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201D120 ; =0x021C5994 add r4, r0, #0x0 ldr r1, [r1, #0x0] ldr r0, [r5, #0x8] ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C add r1, r0, #0x0 ldr r2, [r5, #0xc] add r0, r4, #0x0 - bl sub_0201DC58 + bl FUN_0201DC58 _0201D11A: add sp, #0x8 pop {r3-r7, pc} @@ -54517,27 +54517,27 @@ _0201D120: .word 0x021C5994 _0201D124: .word 0xFFCFFFEF _0201D128: .word 0x04001000 - thumb_func_start sub_0201D12C -sub_0201D12C: ; 0x0201D12C + thumb_func_start FUN_0201D12C +FUN_0201D12C: ; 0x0201D12C push {r3, lr} ldr r0, _0201D164 ; =0x021C5994 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201D162 ldr r0, [r0, #0x34] - bl sub_0201DCC0 + bl FUN_0201DCC0 ldr r0, _0201D164 ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_0201DCC0 - bl sub_0201D374 + bl FUN_0201DCC0 + bl FUN_0201D374 ldr r0, _0201D164 ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201D164 ; =0x021C5994 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201D164 ; =0x021C5994 mov r1, #0x0 str r1, [r0, #0x0] @@ -54546,8 +54546,8 @@ _0201D162: .balign 4 _0201D164: .word 0x021C5994 - thumb_func_start sub_0201D168 -sub_0201D168: ; 0x0201D168 + thumb_func_start FUN_0201D168 +FUN_0201D168: ; 0x0201D168 push {r3, lr} ldr r0, _0201D190 ; =0x021C5994 mov r2, #0x0 @@ -54557,18 +54557,18 @@ sub_0201D168: ; 0x0201D168 str r2, [r1, #0x10] ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] - bl sub_0201DD00 + bl FUN_0201DD00 ldr r0, _0201D190 ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_0201DD00 - bl sub_0201DAE8 + bl FUN_0201DD00 + bl FUN_0201DAE8 pop {r3, pc} nop _0201D190: .word 0x021C5994 - thumb_func_start sub_0201D194 -sub_0201D194: ; 0x0201D194 + thumb_func_start FUN_0201D194 +FUN_0201D194: ; 0x0201D194 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -54583,7 +54583,7 @@ sub_0201D194: ; 0x0201D194 add r1, r4, #0x0 ldr r0, [r0, #0x1c] add r3, sp, #0x8 - bl sub_0201DFF0 + bl FUN_0201DFF0 ldr r3, [sp, #0x4] cmp r3, #0x0 ble _0201D1F0 @@ -54591,7 +54591,7 @@ sub_0201D194: ; 0x0201D194 str r2, [sp, #0x0] ldr r1, [sp, #0x8] mov r0, #0x1 - bl sub_0201D948 + bl FUN_0201D948 add sp, #0xc pop {r3-r4, pc} _0201D1CA: @@ -54602,7 +54602,7 @@ _0201D1CA: add r1, r4, #0x0 ldr r0, [r0, #0x20] add r3, sp, #0x8 - bl sub_0201DFF0 + bl FUN_0201DFF0 ldr r0, [sp, #0x4] cmp r0, #0x0 ble _0201D1F0 @@ -54611,44 +54611,44 @@ _0201D1CA: ldr r2, [sp, #0x8] mov r0, #0x2 add r3, r1, #0x0 - bl sub_0201D948 + bl FUN_0201D948 _0201D1F0: add sp, #0xc pop {r3-r4, pc} .balign 4 _0201D1F4: .word 0x021C5994 - thumb_func_start sub_0201D1F8 -sub_0201D1F8: ; 0x0201D1F8 + thumb_func_start FUN_0201D1F8 +FUN_0201D1F8: ; 0x0201D1F8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_0201D2AC + bl FUN_0201D2AC cmp r0, #0x1 bne _0201D20A - bl sub_02020C2C + bl FUN_02020C2C _0201D20A: - bl sub_0201DAAC + bl FUN_0201DAAC add r4, r0, #0x0 bne _0201D21A - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201D21A: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201D6B4 + bl FUN_0201D6B4 cmp r0, #0x0 bne _0201D22A mov r0, #0x0 pop {r3-r5, pc} _0201D22A: add r0, r4, #0x0 - bl sub_0201D724 + bl FUN_0201D724 cmp r0, #0x0 bne _0201D23E ldr r0, [r4, #0xc] - bl sub_0201D324 + bl FUN_0201D324 mov r0, #0x0 pop {r3-r5, pc} _0201D23E: @@ -54662,26 +54662,26 @@ _0201D23E: .balign 4 _0201D24C: .word 0x021C5994 - thumb_func_start sub_0201D250 -sub_0201D250: ; 0x0201D250 + thumb_func_start FUN_0201D250 +FUN_0201D250: ; 0x0201D250 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_0201D2AC + bl FUN_0201D2AC cmp r0, #0x1 bne _0201D262 - bl sub_02020C2C + bl FUN_02020C2C _0201D262: - bl sub_0201DAAC + bl FUN_0201DAAC add r4, r0, #0x0 bne _0201D272 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201D272: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201D6B4 + bl FUN_0201D6B4 cmp r0, #0x0 bne _0201D282 mov r0, #0x0 @@ -54690,11 +54690,11 @@ _0201D282: mov r0, #0x1 str r0, [r4, #0x40] add r0, r4, #0x0 - bl sub_0201D724 + bl FUN_0201D724 cmp r0, #0x0 bne _0201D29A ldr r0, [r4, #0xc] - bl sub_0201D324 + bl FUN_0201D324 mov r0, #0x0 pop {r3-r5, pc} _0201D29A: @@ -54708,8 +54708,8 @@ _0201D29A: .balign 4 _0201D2A8: .word 0x021C5994 - thumb_func_start sub_0201D2AC -sub_0201D2AC: ; 0x0201D2AC + thumb_func_start FUN_0201D2AC +FUN_0201D2AC: ; 0x0201D2AC push {r3-r4} ldr r1, _0201D2D8 ; =0x021C5994 mov r2, #0x0 @@ -54738,19 +54738,19 @@ _0201D2D2: .balign 4 _0201D2D8: .word 0x021C5994 - thumb_func_start sub_0201D2DC -sub_0201D2DC: ; 0x0201D2DC + thumb_func_start FUN_0201D2DC +FUN_0201D2DC: ; 0x0201D2DC push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 bne _0201D2E8 - bl sub_02020C2C + bl FUN_02020C2C _0201D2E8: add r0, r4, #0x0 - bl sub_0201D7F8 + bl FUN_0201D7F8 add r4, r0, #0x0 bne _0201D2F6 - bl sub_02020C2C + bl FUN_02020C2C _0201D2F6: str r5, [r4, #0x0] ldr r1, [r4, #0x4] @@ -54761,7 +54761,7 @@ _0201D2F6: ldr r2, [r5, #0x14] ldr r3, [r5, #0x10] mov r0, #0x13 - bl sub_0201C2C8 + bl FUN_0201C2C8 _0201D30C: ldr r1, [r4, #0x4] mov r0, #0x2 @@ -54771,23 +54771,23 @@ _0201D30C: ldr r2, [r5, #0x14] ldr r3, [r5, #0x10] mov r0, #0x23 - bl sub_0201C2C8 + bl FUN_0201C2C8 _0201D320: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201D324 -sub_0201D324: ; 0x0201D324 + thumb_func_start FUN_0201D324 +FUN_0201D324: ; 0x0201D324 push {r3-r7, lr} add r6, r0, #0x0 mov r5, #0x1 mov r7, #0x0 _0201D32C: add r0, r6, #0x0 - bl sub_0201D7F8 + bl FUN_0201D7F8 add r4, r0, #0x0 bne _0201D33A - bl sub_02020C2C + bl FUN_02020C2C _0201D33A: add r0, r4, #0x0 add r0, #0x3c @@ -54796,7 +54796,7 @@ _0201D33A: bne _0201D34E add r0, r4, #0x0 add r0, #0x10 - bl sub_0201D4F0 + bl FUN_0201D4F0 b _0201D350 _0201D34E: add r5, r7, #0x0 @@ -54809,7 +54809,7 @@ _0201D350: cmp r0, #0x0 beq _0201D36E add r0, r4, #0x0 - bl sub_0201D7E0 + bl FUN_0201D7E0 ldr r0, _0201D370 ; =0x021C5994 ldr r1, [r0, #0x0] ldr r0, [r1, #0x8] @@ -54820,8 +54820,8 @@ _0201D36E: .balign 4 _0201D370: .word 0x021C5994 - thumb_func_start sub_0201D374 -sub_0201D374: ; 0x0201D374 + thumb_func_start FUN_0201D374 +FUN_0201D374: ; 0x0201D374 push {r4-r6, lr} ldr r6, _0201D3AC ; =0x021C5994 mov r4, #0x0 @@ -54838,7 +54838,7 @@ _0201D384: cmp r0, #0x0 beq _0201D39E add r0, r1, r5 - bl sub_0201D7E0 + bl FUN_0201D7E0 ldr r1, [r6, #0x0] ldr r0, [r1, #0x8] sub r0, r0, #0x1 @@ -54855,13 +54855,13 @@ _0201D3AA: .balign 4 _0201D3AC: .word 0x021C5994 - thumb_func_start sub_0201D3B0 -sub_0201D3B0: ; 0x0201D3B0 + thumb_func_start FUN_0201D3B0 +FUN_0201D3B0: ; 0x0201D3B0 push {r4, lr} - bl sub_0201D7F8 + bl FUN_0201D7F8 add r4, r0, #0x0 bne _0201D3BE - bl sub_02020C2C + bl FUN_02020C2C _0201D3BE: add r0, r4, #0x0 add r0, #0x3c @@ -54876,15 +54876,15 @@ _0201D3CC: pop {r4, pc} .balign 4 - thumb_func_start sub_0201D3D4 -sub_0201D3D4: ; 0x0201D3D4 + thumb_func_start FUN_0201D3D4 +FUN_0201D3D4: ; 0x0201D3D4 push {r3-r5, lr} sub sp, #0x18 add r5, r1, #0x0 - bl sub_0201D7F8 + bl FUN_0201D7F8 add r4, r0, #0x0 bne _0201D3E6 - bl sub_02020C2C + bl FUN_02020C2C _0201D3E6: add r0, r4, #0x0 add r0, #0x3c @@ -54903,7 +54903,7 @@ _0201D3F6: add r1, sp, #0x14 add r2, sp, #0x10 add r3, r5, #0x0 - bl sub_0201D86C + bl FUN_0201D86C add r0, r4, #0x0 add r0, #0x3c ldrb r0, [r0, #0x0] @@ -54920,7 +54920,7 @@ _0201D41A: ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] add r0, r4, #0x0 - bl sub_0201D918 + bl FUN_0201D918 mov r0, #0x1 str r0, [r4, #0x48] ldr r0, [sp, #0xc] @@ -54928,33 +54928,33 @@ _0201D41A: ldr r0, [sp, #0x8] str r0, [r4, #0x50] add r0, r4, #0x0 - bl sub_0201DA38 + bl FUN_0201DA38 ldr r0, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [r4, #0x4] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] - bl sub_0201D948 + bl FUN_0201D948 add r4, #0x10 add r0, r4, #0x0 add sp, #0x18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201D458 -sub_0201D458: ; 0x0201D458 + thumb_func_start FUN_0201D458 +FUN_0201D458: ; 0x0201D458 push {r3-r5, lr} sub sp, #0x18 - bl sub_0201D6D8 + bl FUN_0201D6D8 add r4, r0, #0x0 bne _0201D468 - bl sub_02020C2C + bl FUN_02020C2C _0201D468: - bl sub_0201DAAC + bl FUN_0201DAAC add r5, r0, #0x0 bne _0201D474 - bl sub_02020C2C + bl FUN_02020C2C _0201D474: add r0, r4, #0x0 add r0, #0x3c @@ -54993,11 +54993,11 @@ _0201D4AA: str r1, [sp, #0x4] add r1, sp, #0x14 add r2, sp, #0x10 - bl sub_0201D86C + bl FUN_0201D86C ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] add r0, r5, #0x0 - bl sub_0201D918 + bl FUN_0201D918 mov r0, #0x1 str r0, [r5, #0x48] ldr r0, [sp, #0xc] @@ -55005,22 +55005,22 @@ _0201D4AA: ldr r0, [sp, #0x8] str r0, [r5, #0x50] add r0, r5, #0x0 - bl sub_0201DA38 + bl FUN_0201DA38 ldr r0, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [r5, #0x4] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] - bl sub_0201D948 + bl FUN_0201D948 add r5, #0x10 add r0, r5, #0x0 add sp, #0x18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201D4F0 -sub_0201D4F0: ; 0x0201D4F0 + thumb_func_start FUN_0201D4F0 +FUN_0201D4F0: ; 0x0201D4F0 push {r4-r6, lr} ldr r2, _0201D564 ; =0x021C5994 mov r1, #0x0 @@ -55063,7 +55063,7 @@ _0201D52E: mul r4, r0 ldr r0, [r5, #0x0] add r0, r0, r4 - bl sub_0201DE4C + bl FUN_0201DE4C ldr r0, _0201D564 ; =0x021C5994 ldr r1, [r0, #0x0] ldr r2, [r1, #0x0] @@ -55080,14 +55080,14 @@ _0201D554: ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] add r0, r0, r4 - bl sub_0201D690 + bl FUN_0201D690 _0201D562: pop {r4-r6, pc} .balign 4 _0201D564: .word 0x021C5994 - thumb_func_start sub_0201D568 -sub_0201D568: ; 0x0201D568 + thumb_func_start FUN_0201D568 +FUN_0201D568: ; 0x0201D568 push {r3-r7, lr} sub sp, #0x18 add r6, r0, #0x0 @@ -55098,12 +55098,12 @@ sub_0201D568: ; 0x0201D568 add r1, r5, #0x0 add r2, sp, #0x14 add r3, sp, #0x10 - bl sub_0201DF44 + bl FUN_0201DF44 add r7, r0, #0x0 beq _0201D5E0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0201DF94 + bl FUN_0201DF94 str r5, [r4, #0x8] str r6, [r4, #0x0] cmp r5, #0x1 @@ -55124,7 +55124,7 @@ _0201D5A0: add r1, sp, #0x14 add r2, sp, #0x10 add r3, r6, #0x0 - bl sub_0201D86C + bl FUN_0201D86C add r7, r0, #0x0 beq _0201D5E0 ldr r0, [sp, #0x8] @@ -55133,7 +55133,7 @@ _0201D5A0: ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] add r0, r5, #0x0 - bl sub_0201D948 + bl FUN_0201D948 str r5, [r4, #0x8] cmp r5, #0x1 bne _0201D5D8 @@ -55153,8 +55153,8 @@ _0201D5E0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201D5E8 -sub_0201D5E8: ; 0x0201D5E8 + thumb_func_start FUN_0201D5E8 +FUN_0201D5E8: ; 0x0201D5E8 push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x8] @@ -55165,7 +55165,7 @@ sub_0201D5E8: ; 0x0201D5E8 ldr r0, [r4, #0x0] ldr r1, [r1, #0x0] ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C add r5, r0, #0x0 ldr r0, _0201D654 ; =0x021C5994 ldr r1, [r4, #0x4] @@ -55173,12 +55173,12 @@ sub_0201D5E8: ; 0x0201D5E8 ldr r0, [r2, #0x1c] sub r0, r1, r0 ldr r1, [r2, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201D654 ; =0x021C5994 add r1, r5, #0x0 ldr r2, [r2, #0x0] ldr r2, [r2, #0x34] - bl sub_0201DDFC + bl FUN_0201DDFC _0201D61E: ldr r1, [r4, #0x8] mov r0, #0x2 @@ -55188,7 +55188,7 @@ _0201D61E: ldr r0, [r4, #0x0] ldr r1, [r1, #0x0] ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C add r5, r0, #0x0 ldr r0, _0201D654 ; =0x021C5994 ldr r1, [r4, #0x4] @@ -55196,25 +55196,25 @@ _0201D61E: ldr r0, [r2, #0x20] sub r0, r1, r0 ldr r1, [r2, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201D654 ; =0x021C5994 add r1, r5, #0x0 ldr r2, [r2, #0x0] ldr r2, [r2, #0x38] - bl sub_0201DDFC + bl FUN_0201DDFC _0201D650: pop {r3-r5, pc} nop _0201D654: .word 0x021C5994 - thumb_func_start sub_0201D658 -sub_0201D658: ; 0x0201D658 + thumb_func_start FUN_0201D658 +FUN_0201D658: ; 0x0201D658 push {r3, lr} ldr r0, _0201D670 ; =0x021C5994 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0201D666 - bl sub_02020C2C + bl FUN_02020C2C _0201D666: ldr r1, _0201D670 ; =0x021C5994 mov r2, #0x0 @@ -55224,15 +55224,15 @@ _0201D666: .balign 4 _0201D670: .word 0x021C5994 - thumb_func_start sub_0201D674 -sub_0201D674: ; 0x0201D674 + thumb_func_start FUN_0201D674 +FUN_0201D674: ; 0x0201D674 push {r4, lr} add r4, r0, #0x0 ldr r0, _0201D68C ; =0x021C5994 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201D684 - bl sub_02020C2C + bl FUN_02020C2C _0201D684: ldr r0, _0201D68C ; =0x021C5994 str r4, [r0, #0x0] @@ -55240,8 +55240,8 @@ _0201D684: nop _0201D68C: .word 0x021C5994 - thumb_func_start sub_0201D690 -sub_0201D690: ; 0x0201D690 + thumb_func_start FUN_0201D690 +FUN_0201D690: ; 0x0201D690 mov r2, #0x0 str r2, [r0, #0x0] str r2, [r0, #0x4] @@ -55254,14 +55254,14 @@ sub_0201D690: ; 0x0201D690 add r1, #0x3c strb r2, [r1, #0x0] str r2, [r0, #0x40] - ldr r3, _0201D6B0 ; =sub_020B1A24 + ldr r3, _0201D6B0 ; =FUN_020B1A24 add r0, #0x10 bx r3 nop -_0201D6B0: .word sub_020B1A24 +_0201D6B0: .word FUN_020B1A24 - thumb_func_start sub_0201D6B4 -sub_0201D6B4: ; 0x0201D6B4 + thumb_func_start FUN_0201D6B4 +FUN_0201D6B4: ; 0x0201D6B4 ldr r2, [r0, #0x0] str r2, [r1, #0x0] ldr r2, [r0, #0x8] @@ -55281,8 +55281,8 @@ sub_0201D6B4: ; 0x0201D6B4 mov r0, #0x1 bx lr - thumb_func_start sub_0201D6D8 -sub_0201D6D8: ; 0x0201D6D8 + thumb_func_start FUN_0201D6D8 +FUN_0201D6D8: ; 0x0201D6D8 push {r3-r6} ldr r2, _0201D720 ; =0x021C5994 mov r1, #0x0 @@ -55326,8 +55326,8 @@ _0201D714: .balign 4 _0201D720: .word 0x021C5994 - thumb_func_start sub_0201D724 -sub_0201D724: ; 0x0201D724 + thumb_func_start FUN_0201D724 +FUN_0201D724: ; 0x0201D724 push {r3, lr} ldrb r1, [r0, #0x8] mov r2, #0x1 @@ -55344,18 +55344,18 @@ _0201D736: ldr r1, [r0, #0x44] cmp r1, #0x0 bne _0201D74A - bl sub_0201D754 + bl FUN_0201D754 add r2, r0, #0x0 b _0201D750 _0201D74A: - bl sub_0201D788 + bl FUN_0201D788 add r2, r0, #0x0 _0201D750: add r0, r2, #0x0 pop {r3, pc} - thumb_func_start sub_0201D754 -sub_0201D754: ; 0x0201D754 + thumb_func_start FUN_0201D754 +FUN_0201D754: ; 0x0201D754 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -55364,25 +55364,25 @@ sub_0201D754: ; 0x0201D754 ldr r0, [r0, #0x10] add r2, sp, #0x4 add r3, sp, #0x0 - bl sub_0201DF44 + bl FUN_0201DF44 add r4, r0, #0x0 beq _0201D780 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 - bl sub_0201D858 + bl FUN_0201D858 ldr r0, [r5, #0x0] ldr r1, [r5, #0x4] ldr r0, [r0, #0x10] - bl sub_0201DF94 + bl FUN_0201DF94 _0201D780: add r0, r4, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201D788 -sub_0201D788: ; 0x0201D788 + thumb_func_start FUN_0201D788 +FUN_0201D788: ; 0x0201D788 push {r4, lr} sub sp, #0x18 add r4, r0, #0x0 @@ -55395,7 +55395,7 @@ sub_0201D788: ; 0x0201D788 ldr r3, [r3, #0x10] add r1, sp, #0x14 add r2, sp, #0x10 - bl sub_0201D86C + bl FUN_0201D86C cmp r0, #0x0 bne _0201D7AE add sp, #0x18 @@ -55405,7 +55405,7 @@ _0201D7AE: ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] add r0, r4, #0x0 - bl sub_0201D918 + bl FUN_0201D918 mov r0, #0x1 str r0, [r4, #0x48] ldr r0, [sp, #0xc] @@ -55413,34 +55413,34 @@ _0201D7AE: ldr r0, [sp, #0x8] str r0, [r4, #0x50] add r0, r4, #0x0 - bl sub_0201D9B0 + bl FUN_0201D9B0 ldr r0, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [r4, #0x4] ldr r1, [sp, #0x14] ldr r2, [sp, #0x10] ldr r3, [sp, #0xc] - bl sub_0201D948 + bl FUN_0201D948 mov r0, #0x1 add sp, #0x18 pop {r4, pc} - thumb_func_start sub_0201D7E0 -sub_0201D7E0: ; 0x0201D7E0 + thumb_func_start FUN_0201D7E0 +FUN_0201D7E0: ; 0x0201D7E0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x48] cmp r1, #0x0 beq _0201D7EE - bl sub_0201DE4C + bl FUN_0201DE4C _0201D7EE: add r0, r4, #0x0 - bl sub_0201D690 + bl FUN_0201D690 pop {r4, pc} .balign 4 - thumb_func_start sub_0201D7F8 -sub_0201D7F8: ; 0x0201D7F8 + thumb_func_start FUN_0201D7F8 +FUN_0201D7F8: ; 0x0201D7F8 push {r4-r5} ldr r2, _0201D82C ; =0x021C5994 mov r1, #0x0 @@ -55472,8 +55472,8 @@ _0201D824: nop _0201D82C: .word 0x021C5994 - thumb_func_start sub_0201D830 -sub_0201D830: ; 0x0201D830 + thumb_func_start FUN_0201D830 +FUN_0201D830: ; 0x0201D830 cmp r1, #0x1 bne _0201D83C mov r1, #0x1 @@ -55495,21 +55495,21 @@ _0201D840: _0201D850: .word 0x04001000 _0201D854: .word 0x00300010 - thumb_func_start sub_0201D858 -sub_0201D858: ; 0x0201D858 + thumb_func_start FUN_0201D858 +FUN_0201D858: ; 0x0201D858 push {r3, lr} str r1, [r0, #0x34] str r2, [r0, #0x38] ldrb r1, [r0, #0x8] cmp r1, #0x0 bne _0201D868 - bl sub_0201D9B0 + bl FUN_0201D9B0 _0201D868: pop {r3, pc} .balign 4 - thumb_func_start sub_0201D86C -sub_0201D86C: ; 0x0201D86C + thumb_func_start FUN_0201D86C +FUN_0201D86C: ; 0x0201D86C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [sp, #0x1c] @@ -55526,29 +55526,29 @@ sub_0201D86C: ; 0x0201D86C add r0, r3, #0x0 ldr r1, [r1, #0x0] ldr r1, [r1, #0x2c] - bl sub_0201DF10 + bl FUN_0201DF10 ldr r1, _0201D914 ; =0x021C5994 str r0, [r7, #0x0] ldr r1, [r1, #0x0] ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201D914 ; =0x021C5994 ldr r1, [r1, #0x0] ldr r1, [r1, #0x34] - bl sub_0201DD74 + bl FUN_0201DD74 mov r1, #0x0 mvn r1, r1 str r0, [r4, #0x0] cmp r0, r1 bne _0201D8B8 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0201D8B8: ldr r1, _0201D914 ; =0x021C5994 ldr r1, [r1, #0x0] ldr r1, [r1, #0x2c] - bl sub_0201DF3C + bl FUN_0201DF3C str r0, [r4, #0x0] _0201D8C4: mov r0, #0x2 @@ -55559,30 +55559,30 @@ _0201D8C4: ldr r1, [r1, #0x0] mov r2, #0x1 ldr r1, [r1, #0x30] - bl sub_0201DF10 + bl FUN_0201DF10 ldr r1, [sp, #0x1c] str r0, [r1, #0x0] ldr r1, _0201D914 ; =0x021C5994 ldr r1, [r1, #0x0] ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201D914 ; =0x021C5994 ldr r1, [r1, #0x0] ldr r1, [r1, #0x38] - bl sub_0201DD74 + bl FUN_0201DD74 mov r1, #0x0 mvn r1, r1 str r0, [r6, #0x0] cmp r0, r1 bne _0201D902 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0201D902: ldr r1, _0201D914 ; =0x021C5994 ldr r1, [r1, #0x0] ldr r1, [r1, #0x30] - bl sub_0201DF3C + bl FUN_0201DF3C str r0, [r6, #0x0] _0201D90E: mov r0, #0x1 @@ -55590,8 +55590,8 @@ _0201D90E: nop _0201D914: .word 0x021C5994 - thumb_func_start sub_0201D918 -sub_0201D918: ; 0x0201D918 + thumb_func_start FUN_0201D918 +FUN_0201D918: ; 0x0201D918 push {r3-r4} ldr r4, [r0, #0x4] mov r3, #0x1 @@ -55618,8 +55618,8 @@ _0201D93E: nop _0201D944: .word 0x021C5994 - thumb_func_start sub_0201D948 -sub_0201D948: ; 0x0201D948 + thumb_func_start FUN_0201D948 +FUN_0201D948: ; 0x0201D948 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x1 @@ -55631,18 +55631,18 @@ sub_0201D948: ; 0x0201D948 add r0, r3, #0x0 ldr r1, [r1, #0x0] ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201D9AC ; =0x021C5994 add r7, r0, #0x0 ldr r1, [r1, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201D9AC ; =0x021C5994 add r1, r7, #0x0 ldr r2, [r2, #0x0] ldr r2, [r2, #0x34] - bl sub_0201DD18 + bl FUN_0201DD18 _0201D97C: mov r0, #0x2 tst r0, r5 @@ -55651,54 +55651,54 @@ _0201D97C: ldr r0, [sp, #0x18] ldr r1, [r1, #0x0] ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201D9AC ; =0x021C5994 add r4, r0, #0x0 ldr r1, [r1, #0x0] add r0, r6, #0x0 ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201D9AC ; =0x021C5994 add r1, r4, #0x0 ldr r2, [r2, #0x0] ldr r2, [r2, #0x38] - bl sub_0201DD18 + bl FUN_0201DD18 _0201D9A8: pop {r3-r7, pc} nop _0201D9AC: .word 0x021C5994 - thumb_func_start sub_0201D9B0 -sub_0201D9B0: ; 0x0201D9B0 + thumb_func_start FUN_0201D9B0 +FUN_0201D9B0: ; 0x0201D9B0 push {r4, lr} add r4, r0, #0x0 add r0, #0x10 - blx sub_020B1A24 + blx FUN_020B1A24 ldr r1, [r4, #0x4] cmp r1, #0x3 beq _0201D9C8 add r0, r4, #0x0 - bl sub_0201D9DC + bl FUN_0201D9DC pop {r4, pc} _0201D9C8: add r0, r4, #0x0 mov r1, #0x1 - bl sub_0201D9DC + bl FUN_0201D9DC add r0, r4, #0x0 mov r1, #0x2 - bl sub_0201D9DC + bl FUN_0201D9DC pop {r4, pc} .balign 4 - thumb_func_start sub_0201D9DC -sub_0201D9DC: ; 0x0201D9DC + thumb_func_start FUN_0201D9DC +FUN_0201D9DC: ; 0x0201D9DC push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x40] add r4, r1, #0x0 cmp r2, #0x0 beq _0201D9EE - bl sub_0201D830 + bl FUN_0201D830 b _0201D9F0 _0201D9EE: add r0, r4, #0x0 @@ -55721,13 +55721,13 @@ _0201DA04: add r5, #0x10 add r2, r4, #0x0 add r3, r5, #0x0 - blx sub_020B1528 + blx FUN_020B1528 b _0201DA20 _0201DA16: add r5, #0x10 add r2, r4, #0x0 add r3, r5, #0x0 - blx sub_020B1768 + blx FUN_020B1768 _0201DA20: cmp r4, #0x1 bne _0201DA2C @@ -55742,37 +55742,37 @@ _0201DA2C: nop _0201DA34: .word 0x04001000 - thumb_func_start sub_0201DA38 -sub_0201DA38: ; 0x0201DA38 + thumb_func_start FUN_0201DA38 +FUN_0201DA38: ; 0x0201DA38 push {r4, lr} add r4, r0, #0x0 add r0, #0x10 - blx sub_020B1A24 + blx FUN_020B1A24 ldr r1, [r4, #0x4] cmp r1, #0x3 beq _0201DA50 add r0, r4, #0x0 - bl sub_0201DA64 + bl FUN_0201DA64 pop {r4, pc} _0201DA50: add r0, r4, #0x0 mov r1, #0x1 - bl sub_0201DA64 + bl FUN_0201DA64 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0201DA64 + bl FUN_0201DA64 pop {r4, pc} .balign 4 - thumb_func_start sub_0201DA64 -sub_0201DA64: ; 0x0201DA64 + thumb_func_start FUN_0201DA64 +FUN_0201DA64: ; 0x0201DA64 push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x40] add r4, r1, #0x0 cmp r2, #0x0 beq _0201DA74 - bl sub_0201D830 + bl FUN_0201D830 _0201DA74: cmp r4, #0x1 bne _0201DA82 @@ -55790,7 +55790,7 @@ _0201DA88: add r5, #0x10 add r2, r4, #0x0 add r3, r5, #0x0 - blx sub_020B1340 + blx FUN_020B1340 cmp r4, #0x1 bne _0201DAA0 mov r0, #0x1 @@ -55804,8 +55804,8 @@ _0201DAA0: nop _0201DAA8: .word 0x04001000 - thumb_func_start sub_0201DAAC -sub_0201DAAC: ; 0x0201DAAC + thumb_func_start FUN_0201DAAC +FUN_0201DAAC: ; 0x0201DAAC push {r3-r4} ldr r1, _0201DAE4 ; =0x021C5994 mov r0, #0x0 @@ -55839,10 +55839,10 @@ _0201DADC: nop _0201DAE4: .word 0x021C5994 - thumb_func_start sub_0201DAE8 -sub_0201DAE8: ; 0x0201DAE8 + thumb_func_start FUN_0201DAE8 +FUN_0201DAE8: ; 0x0201DAE8 push {r3, lr} - blx sub_020C5DBC + blx FUN_020C5DBC cmp r0, #0x30 bgt _0201DB18 bge _0201DB60 @@ -55927,7 +55927,7 @@ _0201DB90: ldr r0, [r0, #0x0] str r1, [r0, #0x14] _0201DB98: - blx sub_020C5D4C + blx FUN_020C5D4C cmp r0, #0x0 beq _0201DBAE cmp r0, #0x8 @@ -55966,7 +55966,7 @@ _0201DBD6: ldr r1, [r0, #0x0] ldr r0, [r1, #0x24] ldr r1, [r1, #0x2c] - bl sub_0201DF3C + bl FUN_0201DF3C ldr r1, _0201DC38 ; =0x021C5994 ldr r3, [r1, #0x0] ldr r2, [r3, #0x14] @@ -55975,7 +55975,7 @@ _0201DBD6: ldr r1, [r1, #0x0] ldr r0, [r1, #0x28] ldr r1, [r1, #0x30] - bl sub_0201DF3C + bl FUN_0201DF3C ldr r1, _0201DC38 ; =0x021C5994 ldr r3, [r1, #0x0] ldr r2, [r3, #0x18] @@ -55993,7 +55993,7 @@ _0201DBD6: _0201DC12: cmp r2, #0x0 bne _0201DC1A - bl sub_02020C2C + bl FUN_02020C2C _0201DC1A: ldr r0, _0201DC38 ; =0x021C5994 mov r2, #0x0 @@ -56008,29 +56008,29 @@ _0201DC1A: _0201DC2E: cmp r2, #0x0 bne _0201DC36 - bl sub_02020C2C + bl FUN_02020C2C _0201DC36: pop {r3, pc} .balign 4 _0201DC38: .word 0x021C5994 - thumb_func_start sub_0201DC3C -sub_0201DC3C: ; 0x0201DC3C + thumb_func_start FUN_0201DC3C +FUN_0201DC3C: ; 0x0201DC3C push {r3, lr} ldr r0, _0201DC54 ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] - bl sub_0201DD00 + bl FUN_0201DD00 ldr r0, _0201DC54 ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_0201DD00 + bl FUN_0201DD00 pop {r3, pc} .balign 4 _0201DC54: .word 0x021C5994 - thumb_func_start sub_0201DC58 -sub_0201DC58: ; 0x0201DC58 + thumb_func_start FUN_0201DC58 +FUN_0201DC58: ; 0x0201DC58 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0201DCBC ; =0x021C5994 @@ -56044,14 +56044,14 @@ sub_0201DC58: ; 0x0201DC58 ldr r0, [r0, #0x34] cmp r0, #0x0 beq _0201DC76 - bl sub_02016A18 + bl FUN_02016A18 _0201DC76: ldr r0, _0201DCBC ; =0x021C5994 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] cmp r0, #0x0 beq _0201DC84 - bl sub_02016A18 + bl FUN_02016A18 _0201DC84: ldr r0, _0201DCBC ; =0x021C5994 ldr r0, [r0, #0x0] @@ -56060,7 +56060,7 @@ _0201DC84: beq _0201DC9C add r0, r6, #0x0 lsr r1, r5, #0x3 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0201DCBC ; =0x021C5994 ldr r1, [r1, #0x0] str r0, [r1, #0x34] @@ -56072,18 +56072,18 @@ _0201DC9C: beq _0201DCB4 add r0, r6, #0x0 lsr r1, r4, #0x3 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0201DCBC ; =0x021C5994 ldr r1, [r1, #0x0] str r0, [r1, #0x38] _0201DCB4: - bl sub_0201DC3C + bl FUN_0201DC3C pop {r4-r6, pc} nop _0201DCBC: .word 0x021C5994 - thumb_func_start sub_0201DCC0 -sub_0201DCC0: ; 0x0201DCC0 + thumb_func_start FUN_0201DCC0 +FUN_0201DCC0: ; 0x0201DCC0 push {r3, lr} cmp r0, #0x0 beq _0201DCE2 @@ -56094,19 +56094,19 @@ sub_0201DCC0: ; 0x0201DCC0 bne _0201DCDA mov r1, #0x0 str r1, [r2, #0x24] - bl sub_02016A18 + bl FUN_02016A18 pop {r3, pc} _0201DCDA: mov r1, #0x0 str r1, [r2, #0x28] - bl sub_02016A18 + bl FUN_02016A18 _0201DCE2: pop {r3, pc} .balign 4 _0201DCE4: .word 0x021C5994 - thumb_func_start sub_0201DCE8 -sub_0201DCE8: ; 0x0201DCE8 + thumb_func_start FUN_0201DCE8 +FUN_0201DCE8: ; 0x0201DCE8 ldr r1, _0201DCFC ; =0x021C5994 ldr r2, [r1, #0x0] ldr r1, [r2, #0x34] @@ -56120,22 +56120,22 @@ _0201DCF6: nop _0201DCFC: .word 0x021C5994 - thumb_func_start sub_0201DD00 -sub_0201DD00: ; 0x0201DD00 + thumb_func_start FUN_0201DD00 +FUN_0201DD00: ; 0x0201DD00 push {r4, lr} add r4, r0, #0x0 beq _0201DD16 - bl sub_0201DCE8 + bl FUN_0201DCE8 add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 lsr r2, r2, #0x3 - blx sub_020DF4A4 + blx FUN_020DF4A4 _0201DD16: pop {r4, pc} - thumb_func_start sub_0201DD18 -sub_0201DD18: ; 0x0201DD18 + thumb_func_start FUN_0201DD18 +FUN_0201DD18: ; 0x0201DD18 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -56143,7 +56143,7 @@ sub_0201DD18: ; 0x0201DD18 add r4, r2, #0x0 beq _0201DD6E add r0, r4, #0x0 - bl sub_0201DCE8 + bl FUN_0201DCE8 add r6, r5, r6 add r7, r0, #0x0 cmp r5, r6 @@ -56154,7 +56154,7 @@ _0201DD32: add r0, r5, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 - bl sub_0201DFE4 + bl FUN_0201DFE4 add r0, sp, #0x0 ldrb r1, [r0, #0x0] mov r0, #0x1 @@ -56163,7 +56163,7 @@ _0201DD32: ldrb r1, [r4, r1] tst r0, r1 beq _0201DD54 - bl sub_02020C2C + bl FUN_02020C2C _0201DD54: add r2, sp, #0x0 ldrb r3, [r2, #0x0] @@ -56183,8 +56183,8 @@ _0201DD6E: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201DD74 -sub_0201DD74: ; 0x0201DD74 + thumb_func_start FUN_0201DD74 +FUN_0201DD74: ; 0x0201DD74 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 @@ -56192,7 +56192,7 @@ sub_0201DD74: ; 0x0201DD74 cmp r1, #0x0 beq _0201DDF2 add r0, r1, #0x0 - bl sub_0201DCE8 + bl FUN_0201DCE8 mov r6, #0x0 str r0, [sp, #0x4] cmp r0, #0x0 @@ -56201,7 +56201,7 @@ _0201DD8E: add r0, r6, #0x0 add r1, sp, #0xc add r2, sp, #0x8 - bl sub_0201DFE4 + bl FUN_0201DFE4 add r0, sp, #0x8 ldrb r1, [r0, #0x0] mov r0, #0x1 @@ -56215,7 +56215,7 @@ _0201DDA8: add r0, r5, #0x0 add r1, sp, #0xc add r2, sp, #0x8 - bl sub_0201DFE4 + bl FUN_0201DFE4 add r0, sp, #0x8 ldrb r1, [r0, #0x0] mov r0, #0x1 @@ -56258,8 +56258,8 @@ _0201DDF2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201DDFC -sub_0201DDFC: ; 0x0201DDFC + thumb_func_start FUN_0201DDFC +FUN_0201DDFC: ; 0x0201DDFC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -56273,7 +56273,7 @@ _0201DE0E: add r0, r5, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 - bl sub_0201DFE4 + bl FUN_0201DFE4 ldrb r1, [r7, #0x0] mov r0, #0x1 lsl r0, r1 @@ -56281,7 +56281,7 @@ _0201DE0E: ldrb r1, [r4, r1] tst r0, r1 bne _0201DE2A - bl sub_02020C2C + bl FUN_02020C2C _0201DE2A: ldrb r0, [r7, #0x0] mov r1, #0x1 @@ -56302,8 +56302,8 @@ _0201DE46: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201DE4C -sub_0201DE4C: ; 0x0201DE4C + thumb_func_start FUN_0201DE4C +FUN_0201DE4C: ; 0x0201DE4C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -56312,25 +56312,25 @@ sub_0201DE4C: ; 0x0201DE4C beq _0201DE8A add r0, r4, #0x0 add r0, #0x10 - blx sub_020B1A14 + blx FUN_020B1A14 ldr r1, _0201DECC ; =0x021C5994 ldr r2, [r1, #0x0] ldr r1, [r2, #0x1c] sub r0, r0, r1 ldr r1, [r2, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201DECC ; =0x021C5994 add r5, r0, #0x0 ldr r1, [r1, #0x0] ldr r0, [r4, #0x4c] ldr r1, [r1, #0x2c] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201DECC ; =0x021C5994 add r1, r0, #0x0 ldr r2, [r2, #0x0] add r0, r5, #0x0 ldr r2, [r2, #0x34] - bl sub_0201DDFC + bl FUN_0201DDFC _0201DE8A: ldr r0, [r4, #0x4] mov r1, #0x2 @@ -56338,25 +56338,25 @@ _0201DE8A: beq _0201DEC4 add r0, r4, #0x0 add r0, #0x10 - blx sub_020B1A14 + blx FUN_020B1A14 ldr r1, _0201DECC ; =0x021C5994 ldr r2, [r1, #0x0] ldr r1, [r2, #0x20] sub r0, r0, r1 ldr r1, [r2, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r1, _0201DECC ; =0x021C5994 add r5, r0, #0x0 ldr r1, [r1, #0x0] ldr r0, [r4, #0x50] ldr r1, [r1, #0x30] - bl sub_0201DF2C + bl FUN_0201DF2C ldr r2, _0201DECC ; =0x021C5994 add r1, r0, #0x0 ldr r2, [r2, #0x0] add r0, r5, #0x0 ldr r2, [r2, #0x38] - bl sub_0201DDFC + bl FUN_0201DDFC _0201DEC4: mov r0, #0x0 str r0, [r4, #0x48] @@ -56364,8 +56364,8 @@ _0201DEC4: nop _0201DECC: .word 0x021C5994 - thumb_func_start sub_0201DED0 -sub_0201DED0: ; 0x0201DED0 + thumb_func_start FUN_0201DED0 +FUN_0201DED0: ; 0x0201DED0 ldr r1, _0201DF04 ; =0x00100010 cmp r0, r1 bgt _0201DEDE @@ -56404,13 +56404,13 @@ _0201DF04: .word 0x00100010 _0201DF08: .word 0x00200010 _0201DF0C: .word 0x00300010 - thumb_func_start sub_0201DF10 -sub_0201DF10: ; 0x0201DF10 + thumb_func_start FUN_0201DF10 +FUN_0201DF10: ; 0x0201DF10 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x0 beq _0201DF28 sub r5, r5, r1 @@ -56421,26 +56421,26 @@ _0201DF28: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0201DF2C -sub_0201DF2C: ; 0x0201DF2C + thumb_func_start FUN_0201DF2C +FUN_0201DF2C: ; 0x0201DF2C asr r2, r0, #0x4 lsr r2, r2, #0x1b add r2, r0, r2 - ldr r3, _0201DF38 ; =sub_020EBC80 + ldr r3, _0201DF38 ; =FUN_020EBC80 asr r0, r2, #0x5 bx r3 .balign 4 -_0201DF38: .word sub_020EBC80 +_0201DF38: .word FUN_020EBC80 - thumb_func_start sub_0201DF3C -sub_0201DF3C: ; 0x0201DF3C + thumb_func_start FUN_0201DF3C +FUN_0201DF3C: ; 0x0201DF3C mul r1, r0 lsl r0, r1, #0x5 bx lr .balign 4 - thumb_func_start sub_0201DF44 -sub_0201DF44: ; 0x0201DF44 + thumb_func_start FUN_0201DF44 +FUN_0201DF44: ; 0x0201DF44 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -56457,7 +56457,7 @@ sub_0201DF44: ; 0x0201DF44 add r3, r6, r5 cmp r3, r2 bls _0201DF6C - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 b _0201DF6E _0201DF6C: @@ -56473,7 +56473,7 @@ _0201DF6E: add r2, r3, r5 cmp r2, r1 bls _0201DF8A - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _0201DF8A: @@ -56483,8 +56483,8 @@ _0201DF8C: nop _0201DF90: .word 0x021C5994 - thumb_func_start sub_0201DF94 -sub_0201DF94: ; 0x0201DF94 + thumb_func_start FUN_0201DF94 +FUN_0201DF94: ; 0x0201DF94 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -56500,7 +56500,7 @@ sub_0201DF94: ; 0x0201DF94 ldr r1, [r0, #0x0] ldr r0, [r1, #0xc] ldr r1, [r1, #0x2c] - bl sub_0201DF10 + bl FUN_0201DF10 ldr r1, _0201DFE0 ; =0x021C5994 ldr r1, [r1, #0x0] str r0, [r1, #0xc] @@ -56517,7 +56517,7 @@ _0201DFBC: mov r2, #0x1 ldr r0, [r1, #0x10] ldr r1, [r1, #0x30] - bl sub_0201DF10 + bl FUN_0201DF10 ldr r1, _0201DFE0 ; =0x021C5994 ldr r1, [r1, #0x0] str r0, [r1, #0x10] @@ -56526,8 +56526,8 @@ _0201DFDE: .balign 4 _0201DFE0: .word 0x021C5994 - thumb_func_start sub_0201DFE4 -sub_0201DFE4: ; 0x0201DFE4 + thumb_func_start FUN_0201DFE4 +FUN_0201DFE4: ; 0x0201DFE4 asr r3, r0, #0x3 str r3, [r1, #0x0] mov r1, #0x7 @@ -56535,8 +56535,8 @@ sub_0201DFE4: ; 0x0201DFE4 strb r0, [r2, #0x0] bx lr - thumb_func_start sub_0201DFF0 -sub_0201DFF0: ; 0x0201DFF0 + thumb_func_start FUN_0201DFF0 +FUN_0201DFF0: ; 0x0201DFF0 push {r3-r4} sub r0, r1, r0 ldr r4, [sp, #0x8] @@ -56553,8 +56553,8 @@ _0201E006: pop {r3-r4} bx lr - thumb_func_start sub_0201E00C -sub_0201E00C: ; 0x0201E00C + thumb_func_start FUN_0201E00C +FUN_0201E00C: ; 0x0201E00C push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _0201E064 ; =0x021C5998 @@ -56564,20 +56564,20 @@ sub_0201E00C: ; 0x0201E00C bne _0201E060 add r0, r4, #0x0 mov r1, #0x28 - bl sub_02016998 + bl FUN_02016998 add r1, r0, #0x0 ldr r0, _0201E064 ; =0x021C5998 mov r2, #0x28 str r1, [r0, #0x0] mov r0, #0x0 - blx sub_020CE1FC + blx FUN_020CE1FC ldr r0, _0201E064 ; =0x021C5998 mov r1, #0x30 ldr r0, [r0, #0x0] mul r1, r6 str r6, [r0, #0x4] add r0, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 ldr r7, _0201E064 ; =0x021C5998 mov r4, #0x0 ldr r1, [r7, #0x0] @@ -56589,7 +56589,7 @@ _0201E04E: ldr r0, [r7, #0x0] ldr r0, [r0, #0x0] add r0, r0, r5 - bl sub_0201E2F8 + bl FUN_0201E2F8 add r4, r4, #0x1 add r5, #0x30 cmp r4, r6 @@ -56603,21 +56603,21 @@ _0201E068: .byte 0x91, 0x8C, 0x08, 0x43, 0x90, 0x84, 0x70, 0x47, 0x02, 0x29, 0x04, 0xD1, 0x02, 0x49, 0x0A, 0x68 .byte 0xD1, 0x8C, 0x08, 0x43, 0xD0, 0x84, 0x70, 0x47, 0x98, 0x59, 0x1C, 0x02 - thumb_func_start sub_0201E08C -sub_0201E08C: ; 0x0201E08C + thumb_func_start FUN_0201E08C +FUN_0201E08C: ; 0x0201E08C push {r3, lr} ldr r0, _0201E0B4 ; =0x021C5998 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201E0B2 - bl sub_0201E1F0 + bl FUN_0201E1F0 ldr r0, _0201E0B4 ; =0x021C5998 ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201E0B4 ; =0x021C5998 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201E0B4 ; =0x021C5998 mov r1, #0x0 str r1, [r0, #0x0] @@ -56626,13 +56626,13 @@ _0201E0B2: .balign 4 _0201E0B4: .word 0x021C5998 - thumb_func_start sub_0201E0B8 -sub_0201E0B8: ; 0x0201E0B8 + thumb_func_start FUN_0201E0B8 +FUN_0201E0B8: ; 0x0201E0B8 bx lr .balign 4 - thumb_func_start sub_0201E0BC -sub_0201E0BC: ; 0x0201E0BC + thumb_func_start FUN_0201E0BC +FUN_0201E0BC: ; 0x0201E0BC push {r3, lr} ldr r0, _0201E0E0 ; =0x021C5998 mov r2, #0x0 @@ -56644,28 +56644,28 @@ sub_0201E0BC: ; 0x0201E0BC str r2, [r1, #0x14] ldr r0, [r0, #0x0] str r2, [r0, #0x18] - bl sub_0201E464 + bl FUN_0201E464 ldr r0, _0201E0E0 ; =0x021C5998 ldr r0, [r0, #0x0] - bl sub_0201E574 + bl FUN_0201E574 pop {r3, pc} .balign 4 _0201E0E0: .word 0x021C5998 - thumb_func_start sub_0201E0E4 -sub_0201E0E4: ; 0x0201E0E4 + thumb_func_start FUN_0201E0E4 +FUN_0201E0E4: ; 0x0201E0E4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0201E428 + bl FUN_0201E428 add r4, r0, #0x0 bne _0201E0F8 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201E0F8: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201E2C4 + bl FUN_0201E2C4 cmp r0, #0x0 bne _0201E108 mov r0, #0x0 @@ -56673,33 +56673,33 @@ _0201E0F8: _0201E108: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201E314 + bl FUN_0201E314 cmp r0, #0x0 bne _0201E11E ldr r0, [r5, #0xc] - bl sub_0201E1C8 + bl FUN_0201E1C8 mov r0, #0x0 pop {r3-r5, pc} _0201E11E: add r0, r4, #0x0 - bl sub_0201E57C + bl FUN_0201E57C mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0201E128 -sub_0201E128: ; 0x0201E128 + thumb_func_start FUN_0201E128 +FUN_0201E128: ; 0x0201E128 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0201E428 + bl FUN_0201E428 add r4, r0, #0x0 bne _0201E13C - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201E13C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201E2C4 + bl FUN_0201E2C4 cmp r0, #0x0 bne _0201E14C mov r0, #0x0 @@ -56707,11 +56707,11 @@ _0201E13C: _0201E14C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201E36C + bl FUN_0201E36C cmp r0, #0x0 bne _0201E162 ldr r0, [r5, #0xc] - bl sub_0201E1C8 + bl FUN_0201E1C8 mov r0, #0x0 pop {r3-r5, pc} _0201E162: @@ -56719,19 +56719,19 @@ _0201E162: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201E168 -sub_0201E168: ; 0x0201E168 + thumb_func_start FUN_0201E168 +FUN_0201E168: ; 0x0201E168 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 bne _0201E174 - bl sub_02020C2C + bl FUN_02020C2C _0201E174: add r0, r4, #0x0 - bl sub_0201E3F0 + bl FUN_0201E3F0 add r4, r0, #0x0 bne _0201E182 - bl sub_02020C2C + bl FUN_02020C2C _0201E182: str r5, [r4, #0x0] ldr r1, [r4, #0x4] @@ -56743,7 +56743,7 @@ _0201E182: ldr r2, [r5, #0xc] mov r0, #0xe lsl r3, r3, #0x5 - bl sub_0201C2C8 + bl FUN_0201C2C8 _0201E19A: ldr r1, [r4, #0x4] mov r0, #0x2 @@ -56754,15 +56754,15 @@ _0201E19A: ldr r2, [r5, #0xc] mov r0, #0x1e lsl r3, r3, #0x5 - bl sub_0201C2C8 + bl FUN_0201C2C8 _0201E1B0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201E1B4 -sub_0201E1B4: ; 0x0201E1B4 + thumb_func_start FUN_0201E1B4 +FUN_0201E1B4: ; 0x0201E1B4 push {r3, lr} - bl sub_0201E3F0 + bl FUN_0201E3F0 cmp r0, #0x0 beq _0201E1C2 mov r0, #0x1 @@ -56772,13 +56772,13 @@ _0201E1C2: pop {r3, pc} .balign 4 - thumb_func_start sub_0201E1C8 -sub_0201E1C8: ; 0x0201E1C8 + thumb_func_start FUN_0201E1C8 +FUN_0201E1C8: ; 0x0201E1C8 push {r4, lr} - bl sub_0201E3F0 + bl FUN_0201E3F0 add r4, r0, #0x0 bne _0201E1D6 - bl sub_02020C2C + bl FUN_02020C2C _0201E1D6: add r0, r4, #0x0 add r0, #0x2c @@ -56786,15 +56786,15 @@ _0201E1D6: cmp r0, #0x1 bne _0201E1EC add r0, r4, #0x0 - bl sub_0201E5B8 + bl FUN_0201E5B8 add r0, r4, #0x0 - bl sub_0201E2BC + bl FUN_0201E2BC _0201E1EC: pop {r4, pc} .balign 4 - thumb_func_start sub_0201E1F0 -sub_0201E1F0: ; 0x0201E1F0 + thumb_func_start FUN_0201E1F0 +FUN_0201E1F0: ; 0x0201E1F0 push {r4-r6, lr} ldr r6, _0201E22C ; =0x021C5998 mov r4, #0x0 @@ -56811,11 +56811,11 @@ _0201E200: cmp r0, #0x1 bne _0201E21C add r0, r1, r5 - bl sub_0201E5B8 + bl FUN_0201E5B8 ldr r0, [r6, #0x0] ldr r0, [r0, #0x0] add r0, r0, r5 - bl sub_0201E2BC + bl FUN_0201E2BC _0201E21C: ldr r1, [r6, #0x0] add r4, r4, #0x1 @@ -56828,14 +56828,14 @@ _0201E228: nop _0201E22C: .word 0x021C5998 - thumb_func_start sub_0201E230 -sub_0201E230: ; 0x0201E230 + thumb_func_start FUN_0201E230 +FUN_0201E230: ; 0x0201E230 push {r3, lr} - bl sub_0201E3F0 + bl FUN_0201E3F0 cmp r0, #0x0 bne _0201E244 bne _0201E240 - bl sub_02020C2C + bl FUN_02020C2C _0201E240: mov r0, #0x0 pop {r3, pc} @@ -56852,15 +56852,15 @@ _0201E252: pop {r3, pc} .balign 4 - thumb_func_start sub_0201E258 -sub_0201E258: ; 0x0201E258 + thumb_func_start FUN_0201E258 +FUN_0201E258: ; 0x0201E258 push {r4, lr} add r4, r1, #0x0 - bl sub_0201E3F0 + bl FUN_0201E3F0 cmp r0, #0x0 bne _0201E26E bne _0201E26A - bl sub_02020C2C + bl FUN_02020C2C _0201E26A: mov r0, #0x0 pop {r4, pc} @@ -56883,8 +56883,8 @@ _0201E288: add r0, #0x10 pop {r4, pc} - thumb_func_start sub_0201E28C -sub_0201E28C: ; 0x0201E28C + thumb_func_start FUN_0201E28C +FUN_0201E28C: ; 0x0201E28C push {r4, lr} ldr r2, [r0, #0x4] cmp r2, #0x0 @@ -56903,34 +56903,34 @@ _0201E2A4: _0201E2A6: cmp r4, #0x0 beq _0201E2B6 - blx sub_020B19C4 + blx FUN_020B19C4 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C pop {r4, pc} _0201E2B6: mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0201E2BC -sub_0201E2BC: ; 0x0201E2BC - ldr r3, _0201E2C0 ; =sub_0201E2F8 + thumb_func_start FUN_0201E2BC +FUN_0201E2BC: ; 0x0201E2BC + ldr r3, _0201E2C0 ; =FUN_0201E2F8 bx r3 .balign 4 -_0201E2C0: .word sub_0201E2F8 + 1 +_0201E2C0: .word FUN_0201E2F8 + 1 - thumb_func_start sub_0201E2C4 -sub_0201E2C4: ; 0x0201E2C4 + thumb_func_start FUN_0201E2C4 +FUN_0201E2C4: ; 0x0201E2C4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r4, r1, #0x0 str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0201E1B4 + bl FUN_0201E1B4 cmp r0, #0x1 bne _0201E2E0 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201E2E0: @@ -56947,23 +56947,23 @@ _0201E2E0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201E2F8 -sub_0201E2F8: ; 0x0201E2F8 + thumb_func_start FUN_0201E2F8 +FUN_0201E2F8: ; 0x0201E2F8 push {r4, lr} mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x0 mvn r0, r0 str r0, [r4, #0xc] add r4, #0x10 add r0, r4, #0x0 - blx sub_020B19DC + blx FUN_020B19DC pop {r4, pc} - thumb_func_start sub_0201E314 -sub_0201E314: ; 0x0201E314 + thumb_func_start FUN_0201E314 +FUN_0201E314: ; 0x0201E314 push {r3-r6, lr} sub sp, #0x4 add r6, r1, #0x0 @@ -56994,28 +56994,28 @@ _0201E344: ldr r1, [r4, #0x0] ldr r2, [r5, #0x0] add r0, r6, #0x0 - bl sub_0201E5F4 + bl FUN_0201E5F4 add r0, r6, #0x0 - bl sub_0201E4AC + bl FUN_0201E4AC add r0, r6, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0201E640 + bl FUN_0201E640 mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} nop _0201E368: .word 0x021C5998 - thumb_func_start sub_0201E36C -sub_0201E36C: ; 0x0201E36C + thumb_func_start FUN_0201E36C +FUN_0201E36C: ; 0x0201E36C push {r4-r6, lr} add r5, r1, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0201E37C - bl sub_02020C2C + bl FUN_02020C2C _0201E37C: ldr r1, [r5, #0x4] mov r0, #0x1 @@ -57025,7 +57025,7 @@ _0201E37C: ldr r1, [r5, #0x8] ldr r0, [r0, #0x0] ldrh r0, [r0, #0x24] - bl sub_0201E534 + bl FUN_0201E534 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -57042,7 +57042,7 @@ _0201E39E: ldr r1, [r5, #0x8] ldr r0, [r0, #0x0] ldrh r0, [r0, #0x26] - bl sub_0201E534 + bl FUN_0201E534 add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -57068,16 +57068,16 @@ _0201E3D4: ldr r0, [r5, #0x0] str r1, [r0, #0x8] add r0, r5, #0x0 - bl sub_0201E4BC + bl FUN_0201E4BC add r0, r5, #0x0 - bl sub_0201E57C + bl FUN_0201E57C mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0201E3EC: .word 0x021C5998 - thumb_func_start sub_0201E3F0 -sub_0201E3F0: ; 0x0201E3F0 + thumb_func_start FUN_0201E3F0 +FUN_0201E3F0: ; 0x0201E3F0 push {r4-r5} ldr r2, _0201E424 ; =0x021C5998 mov r1, #0x0 @@ -57109,8 +57109,8 @@ _0201E41C: nop _0201E424: .word 0x021C5998 - thumb_func_start sub_0201E428 -sub_0201E428: ; 0x0201E428 + thumb_func_start FUN_0201E428 +FUN_0201E428: ; 0x0201E428 push {r3-r4} ldr r1, _0201E460 ; =0x021C5998 mov r0, #0x0 @@ -57144,10 +57144,10 @@ _0201E458: nop _0201E460: .word 0x021C5998 - thumb_func_start sub_0201E464 -sub_0201E464: ; 0x0201E464 + thumb_func_start FUN_0201E464 +FUN_0201E464: ; 0x0201E464 push {r3, lr} - blx sub_020C5D9C + blx FUN_020C5D9C cmp r0, #0x20 beq _0201E472 cmp r0, #0x40 @@ -57165,7 +57165,7 @@ _0201E47E: ldr r0, [r0, #0x0] str r1, [r0, #0x1c] _0201E486: - blx sub_020C5D2C + blx FUN_020C5D2C mov r1, #0x1 lsl r1, r1, #0x8 cmp r0, r1 @@ -57184,23 +57184,23 @@ _0201E49C: nop _0201E4A8: .word 0x021C5998 - thumb_func_start sub_0201E4AC -sub_0201E4AC: ; 0x0201E4AC + thumb_func_start FUN_0201E4AC +FUN_0201E4AC: ; 0x0201E4AC ldr r1, [r0, #0x8] - ldr r3, _0201E4B8 ; =sub_0201E4BC + ldr r3, _0201E4B8 ; =FUN_0201E4BC lsl r2, r1, #0x5 ldr r1, [r0, #0x0] str r2, [r1, #0x8] bx r3 .balign 4 -_0201E4B8: .word sub_0201E4BC + 1 +_0201E4B8: .word FUN_0201E4BC + 1 - thumb_func_start sub_0201E4BC -sub_0201E4BC: ; 0x0201E4BC + thumb_func_start FUN_0201E4BC +FUN_0201E4BC: ; 0x0201E4BC push {r4, lr} add r4, r0, #0x0 add r0, #0x10 - blx sub_020B19DC + blx FUN_020B19DC ldr r0, [r4, #0x4] mov r2, #0x1 tst r0, r2 @@ -57209,7 +57209,7 @@ sub_0201E4BC: ; 0x0201E4BC ldr r0, [r4, #0x0] ldr r1, [r4, #0x24] add r3, #0x10 - blx sub_020B1240 + blx FUN_020B1240 _0201E4DA: ldr r0, [r4, #0x4] mov r2, #0x2 @@ -57219,12 +57219,12 @@ _0201E4DA: ldr r1, [r4, #0x28] add r4, #0x10 add r3, r4, #0x0 - blx sub_020B1240 + blx FUN_020B1240 _0201E4EE: pop {r4, pc} - thumb_func_start sub_0201E4F0 -sub_0201E4F0: ; 0x0201E4F0 + thumb_func_start FUN_0201E4F0 +FUN_0201E4F0: ; 0x0201E4F0 push {r4-r7} mov r3, #0x0 cmp r1, #0x0 @@ -57246,8 +57246,8 @@ _0201E50E: bx lr .balign 4 - thumb_func_start sub_0201E514 -sub_0201E514: ; 0x0201E514 + thumb_func_start FUN_0201E514 +FUN_0201E514: ; 0x0201E514 push {r4-r7} mov r4, #0x0 cmp r1, #0x0 @@ -57267,8 +57267,8 @@ _0201E530: pop {r4-r7} bx lr - thumb_func_start sub_0201E534 -sub_0201E534: ; 0x0201E534 + thumb_func_start FUN_0201E534 +FUN_0201E534: ; 0x0201E534 push {r4-r7} mov r3, #0x0 mov r6, #0x1 @@ -57308,15 +57308,15 @@ _0201E56C: bx lr .balign 4 - thumb_func_start sub_0201E574 -sub_0201E574: ; 0x0201E574 + thumb_func_start FUN_0201E574 +FUN_0201E574: ; 0x0201E574 mov r1, #0x0 strh r1, [r0, #0x24] strh r1, [r0, #0x26] bx lr - thumb_func_start sub_0201E57C -sub_0201E57C: ; 0x0201E57C + thumb_func_start FUN_0201E57C +FUN_0201E57C: ; 0x0201E57C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -57329,7 +57329,7 @@ sub_0201E57C: ; 0x0201E57C ldr r1, [r4, #0x8] add r0, #0x24 lsr r2, r2, #0x5 - bl sub_0201E4F0 + bl FUN_0201E4F0 _0201E598: ldr r1, [r4, #0x4] mov r0, #0x2 @@ -57341,14 +57341,14 @@ _0201E598: ldr r1, [r4, #0x8] add r0, #0x26 lsr r2, r2, #0x5 - bl sub_0201E4F0 + bl FUN_0201E4F0 _0201E5B0: pop {r4, pc} nop _0201E5B4: .word 0x021C5998 - thumb_func_start sub_0201E5B8 -sub_0201E5B8: ; 0x0201E5B8 + thumb_func_start FUN_0201E5B8 +FUN_0201E5B8: ; 0x0201E5B8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -57361,7 +57361,7 @@ sub_0201E5B8: ; 0x0201E5B8 ldr r1, [r4, #0x8] add r0, #0x24 lsr r2, r2, #0x5 - bl sub_0201E514 + bl FUN_0201E514 _0201E5D4: ldr r1, [r4, #0x4] mov r0, #0x2 @@ -57373,14 +57373,14 @@ _0201E5D4: ldr r1, [r4, #0x8] add r0, #0x26 lsr r2, r2, #0x5 - bl sub_0201E514 + bl FUN_0201E514 _0201E5EC: pop {r4, pc} nop _0201E5F0: .word 0x021C5998 - thumb_func_start sub_0201E5F4 -sub_0201E5F4: ; 0x0201E5F4 + thumb_func_start FUN_0201E5F4 +FUN_0201E5F4: ; 0x0201E5F4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 @@ -57393,8 +57393,8 @@ sub_0201E5F4: ; 0x0201E5F4 add r2, r1, r2 cmp r2, r3 bls _0201E618 - bl sub_02020C2C - bl sub_0201E0B8 + bl FUN_02020C2C + bl FUN_0201E0B8 mov r0, #0x0 b _0201E61A _0201E618: @@ -57410,8 +57410,8 @@ _0201E61A: ldr r1, [sp, #0x10] cmp r2, r1 bls _0201E63A - bl sub_02020C2C - bl sub_0201E0B8 + bl FUN_02020C2C + bl FUN_0201E0B8 mov r0, #0x0 pop {r3-r5, pc} _0201E63A: @@ -57420,8 +57420,8 @@ _0201E63C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201E640 -sub_0201E640: ; 0x0201E640 + thumb_func_start FUN_0201E640 +FUN_0201E640: ; 0x0201E640 push {r3-r4} ldr r4, [r0, #0x4] mov r3, #0x1 @@ -57447,45 +57447,45 @@ _0201E666: bx lr .balign 4 - thumb_func_start sub_0201E66C -sub_0201E66C: ; 0x0201E66C + thumb_func_start FUN_0201E66C +FUN_0201E66C: ; 0x0201E66C push {r4, lr} add r4, r0, #0x0 - blx sub_020C611C - blx sub_020C60E4 - blx sub_020C6070 - blx sub_020C6034 - blx sub_020C6108 - blx sub_020C60C0 - blx sub_020C605C - blx sub_020C600C - blx sub_020C60AC - blx sub_020C6098 + blx FUN_020C611C + blx FUN_020C60E4 + blx FUN_020C6070 + blx FUN_020C6034 + blx FUN_020C6108 + blx FUN_020C60C0 + blx FUN_020C605C + blx FUN_020C600C + blx FUN_020C60AC + blx FUN_020C6098 ldr r0, [r4, #0x0] - blx sub_020C6BF0 + blx FUN_020C6BF0 ldr r0, [r4, #0x4] - blx sub_020C6970 + blx FUN_020C6970 ldr r0, [r4, #0x8] - blx sub_020C62FC + blx FUN_020C62FC ldr r0, [r4, #0xc] - blx sub_020C61F4 + blx FUN_020C61F4 ldr r0, [r4, #0x10] - blx sub_020C6A84 + blx FUN_020C6A84 ldr r0, [r4, #0x14] - blx sub_020C68B8 + blx FUN_020C68B8 ldr r0, [r4, #0x18] - blx sub_020C6280 + blx FUN_020C6280 ldr r0, [r4, #0x1c] - blx sub_020C6168 + blx FUN_020C6168 ldr r0, [r4, #0x20] - blx sub_020C66B4 + blx FUN_020C66B4 ldr r0, [r4, #0x24] - blx sub_020C65C0 + blx FUN_020C65C0 pop {r4, pc} .balign 4 - thumb_func_start sub_0201E6D8 -sub_0201E6D8: ; 0x0201E6D8 + thumb_func_start FUN_0201E6D8 +FUN_0201E6D8: ; 0x0201E6D8 ldr r0, _0201E6E0 ; =0x021C599C mov r1, #0x0 str r1, [r0, #0x4] @@ -57493,8 +57493,8 @@ sub_0201E6D8: ; 0x0201E6D8 .balign 4 _0201E6E0: .word 0x021C599C - thumb_func_start sub_0201E6E4 -sub_0201E6E4: ; 0x0201E6E4 + thumb_func_start FUN_0201E6E4 +FUN_0201E6E4: ; 0x0201E6E4 cmp r1, #0x1 bne _0201E6F2 ldr r1, _0201E718 ; =0x021C599C @@ -57527,8 +57527,8 @@ _0201E714: _0201E718: .word 0x021C599C _0201E71C: .word 0xFFFFE0FF - thumb_func_start sub_0201E720 -sub_0201E720: ; 0x0201E720 + thumb_func_start FUN_0201E720 +FUN_0201E720: ; 0x0201E720 ldr r1, _0201E738 ; =0x021C599C mov r3, #0x1 str r0, [r1, #0x4] @@ -57544,8 +57544,8 @@ sub_0201E720: ; 0x0201E720 _0201E738: .word 0x021C599C _0201E73C: .word 0xFFFFE0FF - thumb_func_start sub_0201E740 -sub_0201E740: ; 0x0201E740 + thumb_func_start FUN_0201E740 +FUN_0201E740: ; 0x0201E740 ldr r0, _0201E748 ; =0x021C599C mov r1, #0x0 str r1, [r0, #0x0] @@ -57553,8 +57553,8 @@ sub_0201E740: ; 0x0201E740 .balign 4 _0201E748: .word 0x021C599C - thumb_func_start sub_0201E74C -sub_0201E74C: ; 0x0201E74C + thumb_func_start FUN_0201E74C +FUN_0201E74C: ; 0x0201E74C cmp r1, #0x1 bne _0201E75A ldr r1, _0201E77C ; =0x021C599C @@ -57587,10 +57587,10 @@ _0201E77C: .word 0x021C599C _0201E780: .word 0x04001000 _0201E784: .word 0xFFFFE0FF - thumb_func_start sub_0201E788 -sub_0201E788: ; 0x0201E788 + thumb_func_start FUN_0201E788 +FUN_0201E788: ; 0x0201E788 push {r3, lr} - blx sub_020C5A34 + blx FUN_020C5A34 ldr r2, _0201E79C ; =0x04001000 mov r0, #0x1 ldr r1, [r2, #0x0] @@ -57601,8 +57601,8 @@ sub_0201E788: ; 0x0201E788 .balign 4 _0201E79C: .word 0x04001000 - thumb_func_start sub_0201E7A0 -sub_0201E7A0: ; 0x0201E7A0 + thumb_func_start FUN_0201E7A0 +FUN_0201E7A0: ; 0x0201E7A0 ldr r0, _0201E7C0 ; =0x021C4918 ldr r2, _0201E7C4 ; =0x04000304 ldrb r0, [r0, #0x5] @@ -57624,16 +57624,16 @@ _0201E7C0: .word 0x021C4918 _0201E7C4: .word 0x04000304 _0201E7C8: .word 0xFFFF7FFF - thumb_func_start sub_0201E7CC -sub_0201E7CC: ; 0x0201E7CC + thumb_func_start FUN_0201E7CC +FUN_0201E7CC: ; 0x0201E7CC ldr r0, _0201E7D4 ; =0x021C599C ldr r0, [r0, #0x4] bx lr nop _0201E7D4: .word 0x021C599C - thumb_func_start sub_0201E7D8 -sub_0201E7D8: ; 0x0201E7D8 + thumb_func_start FUN_0201E7D8 +FUN_0201E7D8: ; 0x0201E7D8 push {r3-r5, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x3e] @@ -57645,7 +57645,7 @@ sub_0201E7D8: ; 0x0201E7D8 asr r3, r2, #0x1f ldrsh r0, [r0, r1] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57662,7 +57662,7 @@ sub_0201E7D8: ; 0x0201E7D8 orr r0, r1 asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57682,7 +57682,7 @@ sub_0201E7D8: ; 0x0201E7D8 asr r3, r2, #0x1f ldrsh r0, [r0, r1] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 lsl r2, r2, #0xa mov r3, #0x0 @@ -57700,7 +57700,7 @@ sub_0201E7D8: ; 0x0201E7D8 ldrsh r2, [r2, r3] asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57720,7 +57720,7 @@ sub_0201E7D8: ; 0x0201E7D8 ldrsh r0, [r0, r1] asr r3, r2, #0x1f asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57735,13 +57735,13 @@ sub_0201E7D8: ; 0x0201E7D8 add r5, #0x20 add r1, r5, #0x0 add r2, r0, #0x0 - blx sub_020C5634 + blx FUN_020C5634 pop {r3-r5, pc} nop _0201E8B4: .word 0x020FFA38 - thumb_func_start sub_0201E8B8 -sub_0201E8B8: ; 0x0201E8B8 + thumb_func_start FUN_0201E8B8 +FUN_0201E8B8: ; 0x0201E8B8 push {r3-r5, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x3e] @@ -57753,7 +57753,7 @@ sub_0201E8B8: ; 0x0201E8B8 asr r3, r2, #0x1f ldrsh r0, [r0, r1] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57770,7 +57770,7 @@ sub_0201E8B8: ; 0x0201E8B8 orr r0, r1 asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57791,7 +57791,7 @@ sub_0201E8B8: ; 0x0201E8B8 asr r3, r2, #0x1f ldrsh r0, [r0, r1] asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 lsl r2, r2, #0xa mov r3, #0x0 @@ -57809,7 +57809,7 @@ sub_0201E8B8: ; 0x0201E8B8 ldrsh r2, [r2, r3] asr r1, r0, #0x1f asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57830,7 +57830,7 @@ sub_0201E8B8: ; 0x0201E8B8 ldrsh r0, [r0, r1] asr r3, r2, #0x1f asr r1, r0, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -57846,13 +57846,13 @@ sub_0201E8B8: ; 0x0201E8B8 add r5, #0x14 add r1, r5, #0x0 add r2, r0, #0x0 - blx sub_020C5634 + blx FUN_020C5634 pop {r3-r5, pc} .balign 4 _0201E998: .word 0x020FFA38 - thumb_func_start sub_0201E99C -sub_0201E99C: ; 0x0201E99C + thumb_func_start FUN_0201E99C +FUN_0201E99C: ; 0x0201E99C add r2, r1, #0x0 add r2, #0x46 strh r0, [r2, #0x0] @@ -57890,8 +57890,8 @@ sub_0201E99C: ; 0x0201E99C _0201E9E0: .word 0x020FFA38 _0201E9E4: .word 0x00001555 - thumb_func_start sub_0201E9E8 -sub_0201E9E8: ; 0x0201E9E8 + thumb_func_start FUN_0201E9E8 +FUN_0201E9E8: ; 0x0201E9E8 ldr r2, [r0, #0x58] cmp r2, #0x0 bne _0201E9F2 @@ -57912,8 +57912,8 @@ _0201E9FC: _0201EA06: bx lr - thumb_func_start sub_0201EA08 -sub_0201EA08: ; 0x0201EA08 + thumb_func_start FUN_0201EA08 +FUN_0201EA08: ; 0x0201EA08 push {r3-r7, lr} add r5, r0, #0x0 ldr r7, [r5, #0x64] @@ -57963,7 +57963,7 @@ _0201EA5C: ldr r0, [r7, #0x4] ldr r1, [r1, #0x0] add r0, r0, #0x1 - blx sub_020EBC80 + blx FUN_020EBC80 str r1, [r7, #0x4] ldr r1, [sp, #0x0] ldr r0, [r5, #0x64] @@ -57982,7 +57982,7 @@ _0201EA5C: ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] add r0, r0, #0x1 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r0, [sp, #0x0] str r1, [r0, #0x0] ldr r0, [r5, #0x64] @@ -58009,8 +58009,8 @@ _0201EAB8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201EABC -sub_0201EABC: ; 0x0201EABC + thumb_func_start FUN_0201EABC +FUN_0201EABC: ; 0x0201EABC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [sp, #0x18] @@ -58024,16 +58024,16 @@ sub_0201EABC: ; 0x0201EABC add r0, r7, #0x1 cmp r0, r5 ble _0201EADA - bl sub_02020C2C + bl FUN_02020C2C _0201EADA: ldr r0, [sp, #0x0] mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0xc ldr r0, [sp, #0x0] mul r1, r5 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 str r0, [r4, #0x20] cmp r5, #0x0 @@ -58086,39 +58086,39 @@ _0201EB42: _0201EB46: pop {r3-r7, pc} - thumb_func_start sub_0201EB48 -sub_0201EB48: ; 0x0201EB48 + thumb_func_start FUN_0201EB48 +FUN_0201EB48: ; 0x0201EB48 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x64] cmp r0, #0x0 beq _0201EB62 ldr r0, [r0, #0x20] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x64] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x64] _0201EB62: pop {r4, pc} - thumb_func_start sub_0201EB64 -sub_0201EB64: ; 0x0201EB64 - ldr r3, _0201EB6C ; =sub_02016998 + thumb_func_start FUN_0201EB64 +FUN_0201EB64: ; 0x0201EB64 + ldr r3, _0201EB6C ; =FUN_02016998 mov r1, #0x68 bx r3 nop -_0201EB6C: .word sub_02016998 + 1 +_0201EB6C: .word FUN_02016998 + 1 - thumb_func_start sub_0201EB70 -sub_0201EB70: ; 0x0201EB70 - ldr r3, _0201EB74 ; =sub_02016A18 + thumb_func_start FUN_0201EB70 +FUN_0201EB70: ; 0x0201EB70 + ldr r3, _0201EB74 ; =FUN_02016A18 bx r3 .balign 4 -_0201EB74: .word sub_02016A18 + 1 +_0201EB74: .word FUN_02016A18 + 1 - thumb_func_start sub_0201EB78 -sub_0201EB78: ; 0x0201EB78 + thumb_func_start FUN_0201EB78 +FUN_0201EB78: ; 0x0201EB78 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -58131,16 +58131,16 @@ _0201EB80: pop {r3-r4} bx lr - thumb_func_start sub_0201EB8C -sub_0201EB8C: ; 0x0201EB8C + thumb_func_start FUN_0201EB8C +FUN_0201EB8C: ; 0x0201EB8C ldr r1, _0201EB94 ; =0x021C59A4 str r0, [r1, #0x0] bx lr nop _0201EB94: .word 0x021C59A4 - thumb_func_start sub_0201EB98 -sub_0201EB98: ; 0x0201EB98 + thumb_func_start FUN_0201EB98 +FUN_0201EB98: ; 0x0201EB98 ldr r0, _0201EBA0 ; =0x021C59A4 mov r1, #0x0 str r1, [r0, #0x0] @@ -58148,8 +58148,8 @@ sub_0201EB98: ; 0x0201EB98 .balign 4 _0201EBA0: .word 0x021C59A4 - thumb_func_start sub_0201EBA4 -sub_0201EBA4: ; 0x0201EBA4 + thumb_func_start FUN_0201EBA4 +FUN_0201EBA4: ; 0x0201EBA4 push {r3-r6, lr} sub sp, #0x1c ldr r0, _0201EC40 ; =0x021C59A4 @@ -58161,20 +58161,20 @@ sub_0201EBA4: ; 0x0201EBA4 beq _0201EBEE add r1, #0x48 add r2, sp, #0x10 - blx sub_020C5600 + blx FUN_020C5600 ldr r0, _0201EC40 ; =0x021C59A4 add r1, sp, #0x10 ldr r0, [r0, #0x0] - bl sub_0201E9E8 + bl FUN_0201E9E8 ldr r0, _0201EC40 ; =0x021C59A4 add r1, sp, #0x10 ldr r0, [r0, #0x0] add r2, sp, #0x4 - bl sub_0201EA08 + bl FUN_0201EA08 ldr r1, _0201EC40 ; =0x021C59A4 add r0, sp, #0x4 ldr r1, [r1, #0x0] - bl sub_0201EF70 + bl FUN_0201EF70 ldr r0, _0201EC40 ; =0x021C59A4 ldr r3, [r0, #0x0] ldr r2, [r3, #0x54] @@ -58215,7 +58215,7 @@ _0201EBEE: str r0, [sp, #0x0] add r0, r4, #0x0 mov r3, #0x0 - blx sub_020C80A4 + blx FUN_020C80A4 ldr r1, _0201EC54 ; =0x021CED98 mov r0, #0xe8 ldr r2, [r1, #0x7c] @@ -58232,8 +58232,8 @@ _0201EC4C: .word 0x021CEF70 _0201EC50: .word 0x021CED64 _0201EC54: .word 0x021CED98 - thumb_func_start sub_0201EC58 -sub_0201EC58: ; 0x0201EC58 + thumb_func_start FUN_0201EC58 +FUN_0201EC58: ; 0x0201EC58 add r3, r0, #0x0 add r2, r1, #0x0 ldmia r3!, {r0-r1} @@ -58243,8 +58243,8 @@ sub_0201EC58: ; 0x0201EC58 str r0, [r2, #0x0] bx lr - thumb_func_start sub_0201EC68 -sub_0201EC68: ; 0x0201EC68 + thumb_func_start FUN_0201EC68 +FUN_0201EC68: ; 0x0201EC68 push {r3-r4} add r3, r1, #0x0 add r4, r0, #0x0 @@ -58262,8 +58262,8 @@ sub_0201EC68: ; 0x0201EC68 pop {r3-r4} bx lr - thumb_func_start sub_0201EC88 -sub_0201EC88: ; 0x0201EC88 + thumb_func_start FUN_0201EC88 +FUN_0201EC88: ; 0x0201EC88 mov r1, #0x0 str r1, [r0, #0x54] str r1, [r0, #0x58] @@ -58271,21 +58271,21 @@ sub_0201EC88: ; 0x0201EC88 str r1, [r0, #0x60] bx lr - thumb_func_start sub_0201EC94 -sub_0201EC94: ; 0x0201EC94 + thumb_func_start FUN_0201EC94 +FUN_0201EC94: ; 0x0201EC94 str r0, [r2, #0xc] add r0, r2, #0x0 str r1, [r2, #0x10] add r0, #0x44 - ldr r3, _0201ECA4 ; =sub_0201EE2C + ldr r3, _0201ECA4 ; =FUN_0201EE2C ldrb r0, [r0, #0x0] add r1, r2, #0x0 bx r3 .balign 4 -_0201ECA4: .word sub_0201EE2C + 1 +_0201ECA4: .word FUN_0201EE2C + 1 - thumb_func_start sub_0201ECA8 -sub_0201ECA8: ; 0x0201ECA8 + thumb_func_start FUN_0201ECA8 +FUN_0201ECA8: ; 0x0201ECA8 push {r3-r7, lr} ldr r4, [sp, #0x20] add r5, r0, #0x0 @@ -58293,7 +58293,7 @@ sub_0201ECA8: ; 0x0201ECA8 add r0, r3, #0x0 add r1, r4, #0x0 add r6, r2, #0x0 - bl sub_0201E99C + bl FUN_0201E99C add r3, r5, #0x0 add r2, r4, #0x0 ldmia r3!, {r0-r1} @@ -58315,11 +58315,11 @@ sub_0201ECA8: ; 0x0201ECA8 add r0, #0x42 strh r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0201E7D8 + bl FUN_0201E7D8 add r0, sp, #0x8 ldrb r0, [r0, #0x10] add r1, r4, #0x0 - bl sub_0201EE2C + bl FUN_0201EE2C ldr r0, [sp, #0x1c] cmp r0, #0x0 beq _0201ED0E @@ -58337,8 +58337,8 @@ sub_0201ECA8: ; 0x0201ECA8 _0201ED0E: pop {r3-r7, pc} - thumb_func_start sub_0201ED10 -sub_0201ED10: ; 0x0201ED10 + thumb_func_start FUN_0201ED10 +FUN_0201ED10: ; 0x0201ED10 push {r3-r7, lr} ldr r4, [sp, #0x1c] add r6, r0, #0x0 @@ -58346,7 +58346,7 @@ sub_0201ED10: ; 0x0201ED10 add r0, r3, #0x0 add r1, r4, #0x0 add r5, r2, #0x0 - bl sub_0201E99C + bl FUN_0201E99C add r2, r4, #0x0 ldmia r6!, {r0-r1} add r2, #0x14 @@ -58367,16 +58367,16 @@ sub_0201ED10: ; 0x0201ED10 add r0, #0x42 strh r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0201E8B8 + bl FUN_0201E8B8 add r0, sp, #0x8 ldrb r0, [r0, #0x10] add r1, r4, #0x0 - bl sub_0201EE2C + bl FUN_0201EE2C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201ED5C -sub_0201ED5C: ; 0x0201ED5C + thumb_func_start FUN_0201ED5C +FUN_0201ED5C: ; 0x0201ED5C push {r4-r7, lr} sub sp, #0x3c ldr r4, [sp, #0x54] @@ -58385,7 +58385,7 @@ sub_0201ED5C: ; 0x0201ED5C add r0, r2, #0x0 add r1, r4, #0x0 add r7, r3, #0x0 - bl sub_0201E99C + bl FUN_0201E99C add r3, r5, #0x0 add r2, r4, #0x0 ldmia r3!, {r0-r1} @@ -58403,9 +58403,9 @@ sub_0201ED5C: ; 0x0201ED5C str r0, [r2, #0x0] add r0, r6, #0x0 add r2, sp, #0x30 - blx sub_020C5600 + blx FUN_020C5600 add r0, sp, #0x30 - blx sub_020C53C8 + blx FUN_020C53C8 str r0, [r4, #0x38] mov r6, #0x0 add r0, sp, #0x24 @@ -58434,7 +58434,7 @@ sub_0201ED5C: ; 0x0201ED5C str r6, [sp, #0x10] add r0, sp, #0x0 add r1, sp, #0xc - bl sub_0201C7B0 + bl FUN_0201C7B0 strh r0, [r4, #0x3e] add r1, r6, #0x0 mov r0, #0x1 @@ -58449,7 +58449,7 @@ sub_0201ED5C: ; 0x0201ED5C str r1, [sp, #0x10] add r0, sp, #0x0 add r1, sp, #0xc - bl sub_0201C7B0 + bl FUN_0201C7B0 strh r0, [r4, #0x3c] add r0, r4, #0x0 add r1, r6, #0x0 @@ -58457,7 +58457,7 @@ sub_0201ED5C: ; 0x0201ED5C strh r1, [r0, #0x0] add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0201EE2C + bl FUN_0201EE2C ldr r0, [sp, #0x50] cmp r0, #0x0 beq _0201EE26 @@ -58477,8 +58477,8 @@ _0201EE26: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0201EE2C -sub_0201EE2C: ; 0x0201EE2C + thumb_func_start FUN_0201EE2C +FUN_0201EE2C: ; 0x0201EE2C push {r3-r6, lr} sub sp, #0x14 add r5, r1, #0x0 @@ -58497,7 +58497,7 @@ sub_0201EE2C: ; 0x0201EE2C ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] ldr r3, [r5, #0xc] - blx sub_020C8538 + blx FUN_020C8538 ldr r1, _0201EEE8 ; =0x021CED98 mov r0, #0x50 ldr r2, [r1, #0x7c] @@ -58514,11 +58514,11 @@ _0201EE6C: ldr r4, [r5, #0x38] ldr r0, [r5, #0x0] ldr r1, [r5, #0x4] - blx sub_020C50B8 + blx FUN_020C50B8 asr r1, r0, #0x1f asr r3, r4, #0x1f add r2, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -58531,7 +58531,7 @@ _0201EE6C: asr r1, r4, #0x1f add r0, r4, #0x0 asr r3, r2, #0x1f - blx sub_020EBC30 + blx FUN_020EBC30 mov r6, #0x2 mov r2, #0x0 lsl r6, r6, #0xa @@ -58552,7 +58552,7 @@ _0201EE6C: neg r2, r3 str r0, [sp, #0x10] add r0, r4, #0x0 - blx sub_020C823C + blx FUN_020C823C ldr r1, _0201EEE8 ; =0x021CED98 mov r0, #0x50 ldr r2, [r1, #0x7c] @@ -58571,15 +58571,15 @@ _0201EEE4: .word 0x021CED20 _0201EEE8: .word 0x021CED98 _0201EEEC: .word 0x02105BB8 - thumb_func_start sub_0201EEF0 -sub_0201EEF0: ; 0x0201EEF0 + thumb_func_start FUN_0201EEF0 +FUN_0201EEF0: ; 0x0201EEF0 add r2, r1, #0x0 add r2, #0x46 strh r0, [r2, #0x0] add r0, r1, #0x0 add r0, #0x46 ldrh r0, [r0, #0x0] - ldr r3, _0201EF24 ; =sub_0201EE2C + ldr r3, _0201EF24 ; =FUN_0201EE2C asr r0, r0, #0x4 lsl r2, r0, #0x2 ldr r0, _0201EF28 ; =0x020FFA38 @@ -58599,15 +58599,15 @@ sub_0201EEF0: ; 0x0201EEF0 ldrb r0, [r0, #0x0] bx r3 nop -_0201EF24: .word sub_0201EE2C + 1 +_0201EF24: .word FUN_0201EE2C + 1 _0201EF28: .word 0x020FFA38 - thumb_func_start sub_0201EF2C -sub_0201EF2C: ; 0x0201EF2C + thumb_func_start FUN_0201EF2C +FUN_0201EF2C: ; 0x0201EF2C add r2, r1, #0x0 add r2, #0x46 ldrh r2, [r2, #0x0] - ldr r3, _0201EF68 ; =sub_0201EE2C + ldr r3, _0201EF68 ; =FUN_0201EE2C add r2, r2, r0 add r0, r1, #0x0 add r0, #0x46 @@ -58634,11 +58634,11 @@ sub_0201EF2C: ; 0x0201EF2C ldrb r0, [r0, #0x0] bx r3 nop -_0201EF68: .word sub_0201EE2C + 1 +_0201EF68: .word FUN_0201EE2C + 1 _0201EF6C: .word 0x020FFA38 - thumb_func_start sub_0201EF70 -sub_0201EF70: ; 0x0201EF70 + thumb_func_start FUN_0201EF70 +FUN_0201EF70: ; 0x0201EF70 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -58646,16 +58646,16 @@ sub_0201EF70: ; 0x0201EF70 add r0, #0x14 add r1, r5, #0x0 add r2, r0, #0x0 - blx sub_020C5634 + blx FUN_020C5634 add r4, #0x20 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020C5634 + blx FUN_020C5634 pop {r3-r5, pc} - thumb_func_start sub_0201EF90 -sub_0201EF90: ; 0x0201EF90 + thumb_func_start FUN_0201EF90 +FUN_0201EF90: ; 0x0201EF90 ldrh r2, [r0, #0x0] strh r2, [r1, #0x3c] ldrh r2, [r0, #0x2] @@ -58668,14 +58668,14 @@ sub_0201EF90: ; 0x0201EF90 add r0, r1, #0x0 add r0, #0x42 strh r2, [r0, #0x0] - ldr r3, _0201EFB0 ; =sub_0201E7D8 + ldr r3, _0201EFB0 ; =FUN_0201E7D8 add r0, r1, #0x0 bx r3 nop -_0201EFB0: .word sub_0201E7D8 + 1 +_0201EFB0: .word FUN_0201E7D8 + 1 - thumb_func_start sub_0201EFB4 -sub_0201EFB4: ; 0x0201EFB4 + thumb_func_start FUN_0201EFB4 +FUN_0201EFB4: ; 0x0201EFB4 ldrh r3, [r1, #0x3c] ldrh r2, [r0, #0x0] add r2, r3, r2 @@ -58688,7 +58688,7 @@ sub_0201EFB4: ; 0x0201EFB4 add r2, #0x40 ldrh r2, [r2, #0x0] ldrh r0, [r0, #0x4] - ldr r3, _0201EFDC ; =sub_0201E8B8 + ldr r3, _0201EFDC ; =FUN_0201E8B8 add r2, r2, r0 add r0, r1, #0x0 add r0, #0x40 @@ -58696,19 +58696,19 @@ sub_0201EFB4: ; 0x0201EFB4 add r0, r1, #0x0 bx r3 nop -_0201EFDC: .word sub_0201E8B8 + 1 +_0201EFDC: .word FUN_0201E8B8 + 1 - thumb_func_start sub_0201EFE0 -sub_0201EFE0: ; 0x0201EFE0 - ldr r3, _0201EFE8 ; =sub_0201E7D8 + thumb_func_start FUN_0201EFE0 +FUN_0201EFE0: ; 0x0201EFE0 + ldr r3, _0201EFE8 ; =FUN_0201E7D8 str r0, [r1, #0x38] add r0, r1, #0x0 bx r3 .balign 4 -_0201EFE8: .word sub_0201E7D8 + 1 +_0201EFE8: .word FUN_0201E7D8 + 1 - thumb_func_start sub_0201EFEC -sub_0201EFEC: ; 0x0201EFEC + thumb_func_start FUN_0201EFEC +FUN_0201EFEC: ; 0x0201EFEC push {r4, lr} add r3, r1, #0x0 add r4, r0, #0x0 @@ -58719,24 +58719,24 @@ sub_0201EFEC: ; 0x0201EFEC ldr r0, [r4, #0x0] str r0, [r2, #0x0] add r0, r3, #0x0 - bl sub_0201E7D8 + bl FUN_0201E7D8 pop {r4, pc} .balign 4 - thumb_func_start sub_0201F008 -sub_0201F008: ; 0x0201F008 + thumb_func_start FUN_0201F008 +FUN_0201F008: ; 0x0201F008 add r0, #0x46 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0201F010 -sub_0201F010: ; 0x0201F010 + thumb_func_start FUN_0201F010 +FUN_0201F010: ; 0x0201F010 ldr r0, [r0, #0x38] bx lr - thumb_func_start sub_0201F014 -sub_0201F014: ; 0x0201F014 + thumb_func_start FUN_0201F014 +FUN_0201F014: ; 0x0201F014 ldrh r2, [r1, #0x3c] strh r2, [r0, #0x0] ldrh r2, [r1, #0x3e] @@ -58750,8 +58750,8 @@ sub_0201F014: ; 0x0201F014 strh r1, [r0, #0x6] bx lr - thumb_func_start sub_0201F02C -sub_0201F02C: ; 0x0201F02C + thumb_func_start FUN_0201F02C +FUN_0201F02C: ; 0x0201F02C add r2, r1, #0x0 add r2, #0x20 add r3, r0, #0x0 @@ -58761,8 +58761,8 @@ sub_0201F02C: ; 0x0201F02C str r0, [r3, #0x0] bx lr - thumb_func_start sub_0201F03C -sub_0201F03C: ; 0x0201F03C + thumb_func_start FUN_0201F03C +FUN_0201F03C: ; 0x0201F03C add r2, r1, #0x0 add r2, #0x14 add r3, r0, #0x0 @@ -58772,8 +58772,8 @@ sub_0201F03C: ; 0x0201F03C str r0, [r3, #0x0] bx lr - thumb_func_start sub_0201F04C -sub_0201F04C: ; 0x0201F04C + thumb_func_start FUN_0201F04C +FUN_0201F04C: ; 0x0201F04C add r3, r0, #0x0 add r2, r1, #0x0 ldmia r3!, {r0-r1} @@ -58783,8 +58783,8 @@ sub_0201F04C: ; 0x0201F04C str r0, [r2, #0x0] bx lr - thumb_func_start sub_0201F05C -sub_0201F05C: ; 0x0201F05C + thumb_func_start FUN_0201F05C +FUN_0201F05C: ; 0x0201F05C add r3, r0, #0x0 add r2, r1, #0x0 ldmia r3!, {r0-r1} @@ -58794,8 +58794,8 @@ sub_0201F05C: ; 0x0201F05C str r0, [r2, #0x0] bx lr - thumb_func_start sub_0201F06C -sub_0201F06C: ; 0x0201F06C + thumb_func_start FUN_0201F06C +FUN_0201F06C: ; 0x0201F06C mov r2, #0x0 strb r2, [r0, #0x0] strb r2, [r0, #0x1] @@ -58817,8 +58817,8 @@ sub_0201F06C: ; 0x0201F06C bx lr .balign 4 - thumb_func_start sub_0201F094 -sub_0201F094: ; 0x0201F094 + thumb_func_start FUN_0201F094 +FUN_0201F094: ; 0x0201F094 mov r3, #0x0 str r3, [r0, #0x1c] str r3, [r0, #0x20] @@ -58875,8 +58875,8 @@ _0201F0B0: bx lr .balign 4 - thumb_func_start sub_0201F100 -sub_0201F100: ; 0x0201F100 + thumb_func_start FUN_0201F100 +FUN_0201F100: ; 0x0201F100 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _0201F13C ; =0x021C59A8 @@ -58884,12 +58884,12 @@ sub_0201F100: ; 0x0201F100 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201F112 - bl sub_02020C2C + bl FUN_02020C2C _0201F112: mov r1, #0xd4 add r0, r4, #0x0 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 ldr r7, _0201F13C ; =0x021C59A8 mov r4, #0x0 str r0, [r7, #0x0] @@ -58900,7 +58900,7 @@ _0201F112: _0201F12A: ldr r0, [r7, #0x0] add r0, r0, r5 - bl sub_0201F06C + bl FUN_0201F06C add r4, r4, #0x1 add r5, #0xd4 cmp r4, r6 @@ -58910,8 +58910,8 @@ _0201F13A: .balign 4 _0201F13C: .word 0x021C59A8 - thumb_func_start sub_0201F140 -sub_0201F140: ; 0x0201F140 + thumb_func_start FUN_0201F140 +FUN_0201F140: ; 0x0201F140 push {r4-r6, lr} ldr r6, _0201F174 ; =0x021C59A8 mov r4, #0x0 @@ -58922,7 +58922,7 @@ sub_0201F140: ; 0x0201F140 _0201F14E: ldr r0, [r6, #0x0] add r0, r0, r5 - bl sub_0201F23C + bl FUN_0201F23C ldr r0, [r6, #0x4] add r4, r4, #0x1 add r5, #0xd4 @@ -58931,7 +58931,7 @@ _0201F14E: _0201F160: ldr r0, _0201F174 ; =0x021C59A8 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0201F174 ; =0x021C59A8 mov r1, #0x0 str r1, [r0, #0x0] @@ -58940,8 +58940,8 @@ _0201F160: nop _0201F174: .word 0x021C59A8 - thumb_func_start sub_0201F178 -sub_0201F178: ; 0x0201F178 + thumb_func_start FUN_0201F178 +FUN_0201F178: ; 0x0201F178 push {r3-r7, lr} ldr r6, _0201F1B0 ; =0x021C59A8 mov r4, #0x0 @@ -58956,7 +58956,7 @@ _0201F188: ldrb r1, [r0, #0x1] cmp r1, #0x1 bne _0201F196 - bl sub_0201F318 + bl FUN_0201F318 _0201F196: ldr r0, [r6, #0x0] add r1, r0, r5 @@ -58975,14 +58975,14 @@ _0201F1AC: nop _0201F1B0: .word 0x021C59A8 - thumb_func_start sub_0201F1B4 -sub_0201F1B4: ; 0x0201F1B4 + thumb_func_start FUN_0201F1B4 +FUN_0201F1B4: ; 0x0201F1B4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0201F2E4 + bl FUN_0201F2E4 add r4, r0, #0x0 bne _0201F1C8 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0201F1C8: @@ -58993,13 +58993,13 @@ _0201F1C8: mov r1, #0xb8 ldr r0, [r5, #0x4] mul r1, r2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x4] ldr r0, [r5, #0x0] str r0, [r4, #0x8] add r0, r4, #0x0 add r0, #0xc - bl sub_0201F094 + bl FUN_0201F094 add r1, r4, #0x0 add r0, r4, #0x0 add r1, #0xc @@ -59011,15 +59011,15 @@ _0201F1C8: ldr r1, [r5, #0x0] ldr r0, [r5, #0x4] lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r1, r4, #0x0 add r1, #0xc4 str r0, [r1, #0x0] add r0, r4, #0x0 - bl sub_0201FABC + bl FUN_0201FABC ldr r0, [r5, #0x4] mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r1, r4, #0x0 add r1, #0xcc str r0, [r1, #0x0] @@ -59028,57 +59028,57 @@ _0201F1C8: ldr r0, [r0, #0x0] ldr r1, [r5, #0x4] mov r2, #0x4 - bl sub_02016B20 + bl FUN_02016B20 ldr r0, [r5, #0x0] ldr r1, [r5, #0x4] - bl sub_0201C360 + bl FUN_0201C360 add r1, r4, #0x0 add r1, #0xd0 str r0, [r1, #0x0] add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0201F23C -sub_0201F23C: ; 0x0201F23C + thumb_func_start FUN_0201F23C +FUN_0201F23C: ; 0x0201F23C push {r4, lr} add r4, r0, #0x0 bne _0201F24A - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4, pc} _0201F24A: ldrb r1, [r4, #0x0] cmp r1, #0x0 beq _0201F27E - bl sub_0201F284 + bl FUN_0201F284 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0xc4 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0xcc ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] - bl sub_0201C39C + bl FUN_0201C39C add r0, r4, #0x0 - bl sub_0201F06C + bl FUN_0201F06C _0201F27E: mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0201F284 -sub_0201F284: ; 0x0201F284 + thumb_func_start FUN_0201F284 +FUN_0201F284: ; 0x0201F284 push {r3-r5, lr} cmp r0, #0x0 bne _0201F294 bne _0201F290 - bl sub_02020C2C + bl FUN_02020C2C _0201F290: mov r0, #0x0 pop {r3-r5, pc} @@ -59098,7 +59098,7 @@ _0201F2A8: add r0, #0xb0 ldr r5, [r0, #0x0] add r0, r1, #0x0 - bl sub_0201F744 + bl FUN_0201F744 add r1, r5, #0x0 cmp r5, r4 bne _0201F2A8 @@ -59107,12 +59107,12 @@ _0201F2BA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F2C0 -sub_0201F2C0: ; 0x0201F2C0 + thumb_func_start FUN_0201F2C0 +FUN_0201F2C0: ; 0x0201F2C0 push {r4, lr} add r4, r0, #0x0 bne _0201F2CA - bl sub_02020C2C + bl FUN_02020C2C _0201F2CA: ldrb r0, [r4, #0x3] cmp r0, #0x0 @@ -59123,8 +59123,8 @@ _0201F2D4: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0201F2D8 -sub_0201F2D8: ; 0x0201F2D8 + thumb_func_start FUN_0201F2D8 +FUN_0201F2D8: ; 0x0201F2D8 ldrb r1, [r0, #0x3] cmp r1, #0x2 bne _0201F2E2 @@ -59133,8 +59133,8 @@ sub_0201F2D8: ; 0x0201F2D8 _0201F2E2: bx lr - thumb_func_start sub_0201F2E4 -sub_0201F2E4: ; 0x0201F2E4 + thumb_func_start FUN_0201F2E4 +FUN_0201F2E4: ; 0x0201F2E4 push {r3-r4} ldr r0, _0201F314 ; =0x021C59A8 mov r1, #0x0 @@ -59164,16 +59164,16 @@ _0201F30C: nop _0201F314: .word 0x021C59A8 - thumb_func_start sub_0201F318 -sub_0201F318: ; 0x0201F318 + thumb_func_start FUN_0201F318 +FUN_0201F318: ; 0x0201F318 push {r3-r6, lr} sub sp, #0x24 add r5, r0, #0x0 bne _0201F324 - bl sub_02020C2C + bl FUN_02020C2C _0201F324: add r0, sp, #0x0 - blx sub_020C3F14 + blx FUN_020C3F14 add r0, r5, #0x0 add r0, #0xbc ldr r4, [r0, #0x0] @@ -59186,20 +59186,20 @@ _0201F338: cmp r0, #0x1 bne _0201F376 add r0, r4, #0x0 - bl sub_0201FC54 + bl FUN_0201FC54 add r0, r4, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] cmp r0, #0x3 bne _0201F356 add r0, r4, #0x0 - bl sub_0201F90C + bl FUN_0201F90C b _0201F360 _0201F356: cmp r0, #0x2 bne _0201F360 add r0, r4, #0x0 - bl sub_0201F8F0 + bl FUN_0201F8F0 _0201F360: add r0, r4, #0x0 add r3, r4, #0x0 @@ -59207,9 +59207,9 @@ _0201F360: add r1, r4, #0x0 add r2, r6, #0x0 add r3, #0xc - bl sub_0201B26C + bl FUN_0201B26C add r0, r4, #0x0 - bl sub_0201FC70 + bl FUN_0201FC70 _0201F376: add r4, #0xb0 ldr r4, [r4, #0x0] @@ -59220,22 +59220,22 @@ _0201F37E: pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0201F384 -sub_0201F384: ; 0x0201F384 + thumb_func_start FUN_0201F384 +FUN_0201F384: ; 0x0201F384 push {r4-r6, lr} add r5, r0, #0x0 ldr r6, [r5, #0x1c] add r4, r1, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0201F5B8 + bl FUN_0201F5B8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201F5D4 + bl FUN_0201F5D4 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201F648 + bl FUN_0201F648 add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] @@ -59244,7 +59244,7 @@ sub_0201F384: ; 0x0201F384 add r6, #0xc add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0201FB58 + bl FUN_0201FB58 _0201F3BA: add r0, r5, #0x0 mov r1, #0x2 @@ -59260,15 +59260,15 @@ _0201F3BA: str r1, [r5, #0x0] pop {r4-r6, pc} - thumb_func_start sub_0201F3D4 -sub_0201F3D4: ; 0x0201F3D4 + thumb_func_start FUN_0201F3D4 +FUN_0201F3D4: ; 0x0201F3D4 push {r4-r6, lr} add r5, r0, #0x0 ldr r6, [r5, #0x1c] add r4, r1, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0201F5B8 + bl FUN_0201F5B8 add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] @@ -59280,7 +59280,7 @@ sub_0201F3D4: ; 0x0201F3D4 add r0, #0x88 add r1, #0x8c add r2, #0x90 - bl sub_0201F524 + bl FUN_0201F524 _0201F3FE: add r0, r5, #0x0 ldr r1, [r4, #0x1c] @@ -59296,10 +59296,10 @@ _0201F3FE: str r1, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201F69C + bl FUN_0201F69C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201F6C8 + bl FUN_0201F6C8 add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] @@ -59308,7 +59308,7 @@ _0201F3FE: add r6, #0xc add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0201FB58 + bl FUN_0201FB58 _0201F43A: add r0, r5, #0x0 mov r1, #0x3 @@ -59324,21 +59324,21 @@ _0201F43A: str r1, [r5, #0x0] pop {r4-r6, pc} - thumb_func_start sub_0201F454 -sub_0201F454: ; 0x0201F454 + thumb_func_start FUN_0201F454 +FUN_0201F454: ; 0x0201F454 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - blx sub_020B7E1C + blx FUN_020B7E1C str r0, [sp, #0x8] add r0, r5, #0x0 - blx sub_020B7E10 + blx FUN_020B7E10 str r0, [sp, #0x4] add r0, r5, #0x0 - blx sub_020B7CE4 + blx FUN_020B7CE4 str r0, [sp, #0x0] ldr r0, [sp, #0x8] cmp r0, #0x0 @@ -59351,7 +59351,7 @@ sub_0201F454: ; 0x0201F454 str r0, [r4, #0x0] cmp r0, #0x0 bne _0201F496 - bl sub_02020C2C + bl FUN_02020C2C b _0201F496 _0201F492: mov r0, #0x0 @@ -59368,7 +59368,7 @@ _0201F496: str r0, [r6, #0x0] cmp r0, #0x0 bne _0201F4B6 - bl sub_02020C2C + bl FUN_02020C2C b _0201F4B6 _0201F4B2: mov r0, #0x0 @@ -59388,7 +59388,7 @@ _0201F4B6: str r0, [r7, #0x0] cmp r0, #0x0 bne _0201F4DE - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r4-r7, pc} _0201F4DA: @@ -59401,37 +59401,37 @@ _0201F4DE: _0201F4E4: .word 0x021064B8 _0201F4E8: .word 0x021064C0 - thumb_func_start sub_0201F4EC -sub_0201F4EC: ; 0x0201F4EC + thumb_func_start FUN_0201F4EC +FUN_0201F4EC: ; 0x0201F4EC push {r3-r5, lr} add r5, r0, #0x0 add r4, r3, #0x0 - blx sub_020B7CF0 + blx FUN_020B7CF0 add r0, r5, #0x0 - blx sub_020B7C58 + blx FUN_020B7C58 str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201F500 -sub_0201F500: ; 0x0201F500 + thumb_func_start FUN_0201F500 +FUN_0201F500: ; 0x0201F500 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [r2, #0x0] ldr r2, [r3, #0x0] add r5, r0, #0x0 - blx sub_020B7DFC + blx FUN_020B7DFC ldr r1, [sp, #0x10] add r0, r5, #0x0 ldr r1, [r1, #0x0] - blx sub_020B7CDC + blx FUN_020B7CDC add r0, r4, #0x0 add r1, r5, #0x0 - blx sub_020B7790 + blx FUN_020B7790 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F524 -sub_0201F524: ; 0x0201F524 + thumb_func_start FUN_0201F524 +FUN_0201F524: ; 0x0201F524 push {r3-r5, lr} ldr r0, [r0, #0x0] add r5, r1, #0x0 @@ -59461,8 +59461,8 @@ _0201F54E: _0201F550: .word 0x021064BC _0201F554: .word 0x021064C4 - thumb_func_start sub_0201F558 -sub_0201F558: ; 0x0201F558 + thumb_func_start FUN_0201F558 +FUN_0201F558: ; 0x0201F558 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -59476,22 +59476,22 @@ _0201F568: mov r0, #0x0 pop {r3-r7, pc} _0201F56E: - blx sub_020B7E1C + blx FUN_020B7E1C str r0, [sp, #0x0] add r0, r4, #0x0 - blx sub_020B7E10 + blx FUN_020B7E10 str r0, [sp, #0x4] add r0, r4, #0x0 - blx sub_020B7CE4 + blx FUN_020B7CE4 add r4, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7E1C + blx FUN_020B7E1C add r6, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7E10 + blx FUN_020B7E10 add r7, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7CE4 + blx FUN_020B7CE4 ldr r1, [sp, #0x0] cmp r1, r6 bne _0201F5AA @@ -59510,8 +59510,8 @@ _0201F5B0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201F5B8 -sub_0201F5B8: ; 0x0201F5B8 + thumb_func_start FUN_0201F5B8 +FUN_0201F5B8: ; 0x0201F5B8 push {r4, lr} add r4, r1, #0x0 add r0, r4, #0x0 @@ -59519,7 +59519,7 @@ sub_0201F5B8: ; 0x0201F5B8 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0201F5D0 - bl sub_0201C40C + bl FUN_0201C40C mov r0, #0x0 add r4, #0xa4 str r0, [r4, #0x0] @@ -59527,8 +59527,8 @@ _0201F5D0: pop {r4, pc} .balign 4 - thumb_func_start sub_0201F5D4 -sub_0201F5D4: ; 0x0201F5D4 + thumb_func_start FUN_0201F5D4 +FUN_0201F5D4: ; 0x0201F5D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 @@ -59538,12 +59538,12 @@ sub_0201F5D4: ; 0x0201F5D4 add r2, r5, #0x0 add r1, #0x7c add r2, #0x80 - bl sub_0201FB9C + bl FUN_0201FB9C str r0, [r5, #0x78] add r0, r5, #0x0 ldr r1, [r5, #0x7c] add r0, #0x24 - blx sub_020B80B4 + blx FUN_020B80B4 add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] @@ -59553,7 +59553,7 @@ sub_0201F5D4: ; 0x0201F5D4 add r1, #0x80 ldr r1, [r1, #0x0] add r0, r4, #0x0 - bl sub_0201F558 + bl FUN_0201F558 b _0201F610 _0201F60E: mov r0, #0x0 @@ -59571,7 +59571,7 @@ _0201F610: add r0, #0x88 add r1, #0x8c add r2, #0x90 - bl sub_0201F524 + bl FUN_0201F524 _0201F62E: add r0, r5, #0x0 add r0, #0x80 @@ -59582,20 +59582,20 @@ _0201F62E: add r1, #0x88 add r2, #0x8c add r3, r5, #0x0 - bl sub_0201F454 + bl FUN_0201F454 _0201F644: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F648 -sub_0201F648: ; 0x0201F648 + thumb_func_start FUN_0201F648 +FUN_0201F648: ; 0x0201F648 push {r4-r6, lr} sub sp, #0x8 add r4, r2, #0x0 add r6, r0, #0x0 add r5, r1, #0x0 add r0, r4, #0x0 - bl sub_0201FBCC + bl FUN_0201FBCC add r1, r5, #0x0 add r1, #0x84 add r3, r5, #0x0 @@ -59624,14 +59624,14 @@ sub_0201F648: ; 0x0201F648 ldr r0, [r6, #0x0] ldr r2, [r2, #0x0] ldr r3, [r3, #0x0] - bl sub_0201C3B4 + bl FUN_0201C3B4 add r5, #0xa4 str r0, [r5, #0x0] add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_0201F69C -sub_0201F69C: ; 0x0201F69C + thumb_func_start FUN_0201F69C +FUN_0201F69C: ; 0x0201F69C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -59640,20 +59640,20 @@ sub_0201F69C: ; 0x0201F69C add r0, r4, #0x0 add r1, #0x7c add r2, #0x80 - bl sub_0201FB9C + bl FUN_0201FB9C str r0, [r5, #0x78] add r0, r5, #0x0 ldr r1, [r5, #0x7c] add r0, #0x24 - blx sub_020B80B4 + blx FUN_020B80B4 add r0, r4, #0x0 - bl sub_0201FBCC + bl FUN_0201FBCC add r5, #0x84 str r0, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201F6C8 -sub_0201F6C8: ; 0x0201F6C8 + thumb_func_start FUN_0201F6C8 +FUN_0201F6C8: ; 0x0201F6C8 push {r3-r4} add r4, r0, #0x0 add r2, r4, #0x0 @@ -59671,8 +59671,8 @@ sub_0201F6C8: ; 0x0201F6C8 bx lr .balign 4 - thumb_func_start sub_0201F6E8 -sub_0201F6E8: ; 0x0201F6E8 + thumb_func_start FUN_0201F6E8 +FUN_0201F6E8: ; 0x0201F6E8 push {r4-r6, lr} add r5, r0, #0x0 ldr r6, [r5, #0x0] @@ -59682,7 +59682,7 @@ sub_0201F6E8: ; 0x0201F6E8 pop {r4-r6, pc} _0201F6F6: add r0, r6, #0x0 - bl sub_0201FAF4 + bl FUN_0201FAF4 add r4, r0, #0x0 bne _0201F704 mov r0, #0x0 @@ -59715,24 +59715,24 @@ _0201F704: strb r1, [r0, #0x0] ldr r1, [r5, #0x4] add r0, r4, #0x0 - bl sub_0201FBD8 + bl FUN_0201FBD8 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201F744 -sub_0201F744: ; 0x0201F744 + thumb_func_start FUN_0201F744 +FUN_0201F744: ; 0x0201F744 push {r3-r5, lr} add r5, r0, #0x0 bne _0201F74E - bl sub_02020C2C + bl FUN_02020C2C _0201F74E: add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] cmp r0, #0x1 bne _0201F75C - bl sub_02020C2C + bl FUN_02020C2C _0201F75C: add r0, r5, #0x0 add r0, #0xa8 @@ -59744,7 +59744,7 @@ _0201F75C: pop {r3-r5, pc} _0201F76C: add r0, r5, #0x0 - bl sub_0201FB7C + bl FUN_0201FB7C add r0, r5, #0x0 add r0, #0xa8 ldrb r0, [r0, #0x0] @@ -59756,21 +59756,21 @@ _0201F76C: add r0, #0x88 add r1, #0x8c add r2, #0x90 - bl sub_0201F524 + bl FUN_0201F524 _0201F78C: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0201F5B8 + bl FUN_0201F5B8 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0201FB20 + bl FUN_0201FB20 mov r0, #0x1 strb r0, [r4, #0x3] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F7A4 -sub_0201F7A4: ; 0x0201F7A4 + thumb_func_start FUN_0201F7A4 +FUN_0201F7A4: ; 0x0201F7A4 push {r3-r4} add r4, r0, #0x0 str r1, [r4, #0x0] @@ -59790,14 +59790,14 @@ sub_0201F7A4: ; 0x0201F7A4 pop {r3-r4} bx lr - thumb_func_start sub_0201F7C8 -sub_0201F7C8: ; 0x0201F7C8 + thumb_func_start FUN_0201F7C8 +FUN_0201F7C8: ; 0x0201F7C8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x0 bne _0201F7D6 - bl sub_02020C2C + bl FUN_02020C2C _0201F7D6: ldmia r5!, {r0-r1} stmia r4!, {r0-r1} @@ -59805,25 +59805,25 @@ _0201F7D6: str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201F7E0 -sub_0201F7E0: ; 0x0201F7E0 + thumb_func_start FUN_0201F7E0 +FUN_0201F7E0: ; 0x0201F7E0 push {r4, lr} add r4, r0, #0x0 bne _0201F7EA - bl sub_02020C2C + bl FUN_02020C2C _0201F7EA: add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0201F7F0 -sub_0201F7F0: ; 0x0201F7F0 + thumb_func_start FUN_0201F7F0 +FUN_0201F7F0: ; 0x0201F7F0 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x0 bne _0201F7FE - bl sub_02020C2C + bl FUN_02020C2C _0201F7FE: ldmia r5!, {r0-r1} add r4, #0xc @@ -59833,106 +59833,106 @@ _0201F7FE: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F80C -sub_0201F80C: ; 0x0201F80C + thumb_func_start FUN_0201F80C +FUN_0201F80C: ; 0x0201F80C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0201F81A - bl sub_02020C2C + bl FUN_02020C2C _0201F81A: strb r4, [r5, #0x18] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F820 -sub_0201F820: ; 0x0201F820 + thumb_func_start FUN_0201F820 +FUN_0201F820: ; 0x0201F820 push {r4, lr} add r4, r0, #0x0 bne _0201F82A - bl sub_02020C2C + bl FUN_02020C2C _0201F82A: ldrb r0, [r4, #0x18] pop {r4, pc} .balign 4 - thumb_func_start sub_0201F830 -sub_0201F830: ; 0x0201F830 + thumb_func_start FUN_0201F830 +FUN_0201F830: ; 0x0201F830 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0201F83E - bl sub_02020C2C + bl FUN_02020C2C _0201F83E: add r5, #0xaa strh r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201F844 -sub_0201F844: ; 0x0201F844 + thumb_func_start FUN_0201F844 +FUN_0201F844: ; 0x0201F844 push {r4, lr} add r4, r0, #0x0 bne _0201F84E - bl sub_02020C2C + bl FUN_02020C2C _0201F84E: add r4, #0xaa ldrh r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_0201F854 -sub_0201F854: ; 0x0201F854 + thumb_func_start FUN_0201F854 +FUN_0201F854: ; 0x0201F854 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0201F862 - bl sub_02020C2C + bl FUN_02020C2C _0201F862: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0201FBFC + bl FUN_0201FBFC pop {r3-r5, pc} - thumb_func_start sub_0201F86C -sub_0201F86C: ; 0x0201F86C + thumb_func_start FUN_0201F86C +FUN_0201F86C: ; 0x0201F86C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0201F87A - bl sub_02020C2C + bl FUN_02020C2C _0201F87A: add r5, #0xac str r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0201F880 -sub_0201F880: ; 0x0201F880 + thumb_func_start FUN_0201F880 +FUN_0201F880: ; 0x0201F880 push {r4, lr} add r4, r0, #0x0 bne _0201F88A - bl sub_02020C2C + bl FUN_02020C2C _0201F88A: add r4, #0xac ldr r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_0201F890 -sub_0201F890: ; 0x0201F890 + thumb_func_start FUN_0201F890 +FUN_0201F890: ; 0x0201F890 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0201F89E - bl sub_02020C2C + bl FUN_02020C2C _0201F89E: add r1, r5, #0x0 add r1, #0xaa ldrh r1, [r1, #0x0] add r0, r5, #0x0 - bl sub_0201FBEC + bl FUN_0201FBEC add r1, r5, #0x0 add r1, #0xac str r0, [r1, #0x0] @@ -59945,37 +59945,37 @@ _0201F89E: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201F8C0 -sub_0201F8C0: ; 0x0201F8C0 + thumb_func_start FUN_0201F8C0 +FUN_0201F8C0: ; 0x0201F8C0 push {r4, lr} add r4, r0, #0x0 bne _0201F8CA - bl sub_02020C2C + bl FUN_02020C2C _0201F8CA: add r1, r4, #0x0 add r1, #0xaa ldrh r1, [r1, #0x0] add r0, r4, #0x0 - bl sub_0201FBEC + bl FUN_0201FBEC add r4, #0xac ldr r1, [r4, #0x0] sub r0, r1, r0 pop {r4, pc} .balign 4 - thumb_func_start sub_0201F8E0 -sub_0201F8E0: ; 0x0201F8E0 + thumb_func_start FUN_0201F8E0 +FUN_0201F8E0: ; 0x0201F8E0 push {r4, lr} add r4, r0, #0x0 bne _0201F8EA - bl sub_02020C2C + bl FUN_02020C2C _0201F8EA: ldr r0, [r4, #0x7c] pop {r4, pc} .balign 4 - thumb_func_start sub_0201F8F0 -sub_0201F8F0: ; 0x0201F8F0 + thumb_func_start FUN_0201F8F0 +FUN_0201F8F0: ; 0x0201F8F0 push {r3, lr} add r1, r0, #0x0 add r0, #0xa8 @@ -59987,12 +59987,12 @@ sub_0201F8F0: ; 0x0201F8F0 add r1, #0xac ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] - bl sub_0201C438 + bl FUN_0201C438 _0201F90A: pop {r3, pc} - thumb_func_start sub_0201F90C -sub_0201F90C: ; 0x0201F90C + thumb_func_start FUN_0201F90C +FUN_0201F90C: ; 0x0201F90C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -60002,7 +60002,7 @@ sub_0201F90C: ; 0x0201F90C add r0, #0x94 lsl r1, r1, #0x4 lsr r1, r1, #0x10 - bl sub_02022244 + bl FUN_02022244 add r2, sp, #0x0 strb r0, [r2, #0x0] lsr r0, r0, #0x8 @@ -60016,19 +60016,19 @@ sub_0201F90C: ; 0x0201F90C ldrb r2, [r2, #0x2] ldr r0, [r4, #0x7c] ldr r1, [r1, #0x0] - bl sub_0201F954 + bl FUN_0201F954 add r2, sp, #0x0 ldr r0, [r4, #0x7c] add r4, #0x84 ldrb r2, [r2, #0x3] ldr r1, [r4, #0x0] - bl sub_0201FA04 + bl FUN_0201FA04 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201F954 -sub_0201F954: ; 0x0201F954 + thumb_func_start FUN_0201F954 +FUN_0201F954: ; 0x0201F954 push {r3-r7, lr} ldr r3, [r0, #0x8] mov r5, #0x0 @@ -60063,7 +60063,7 @@ _0201F97C: beq _0201F99A add r0, r6, #0x0 add r2, r7, #0x0 - bl sub_0201F9A4 + bl FUN_0201F9A4 _0201F99A: ldrb r0, [r4, #0x1] add r5, r5, #0x1 @@ -60072,8 +60072,8 @@ _0201F99A: _0201F9A2: pop {r3-r7, pc} - thumb_func_start sub_0201F9A4 -sub_0201F9A4: ; 0x0201F9A4 + thumb_func_start FUN_0201F9A4 +FUN_0201F9A4: ; 0x0201F9A4 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 @@ -60109,7 +60109,7 @@ _0201F9C4: ldr r0, _0201FA00 ; =0x0000FFFF cmp r1, r0 bls _0201F9EC - bl sub_02020C2C + bl FUN_02020C2C _0201F9EC: ldr r0, [r5, #0x14] add r4, r4, #0x1 @@ -60125,8 +60125,8 @@ _0201F9FC: .balign 4 _0201FA00: .word 0x0000FFFF - thumb_func_start sub_0201FA04 -sub_0201FA04: ; 0x0201FA04 + thumb_func_start FUN_0201FA04 +FUN_0201FA04: ; 0x0201FA04 push {r3-r7, lr} ldr r3, [r0, #0x8] add r7, r0, r3 @@ -60166,7 +60166,7 @@ _0201FA34: beq _0201FA52 add r0, r7, #0x0 add r2, r6, #0x0 - bl sub_0201FA5C + bl FUN_0201FA5C _0201FA52: ldrb r0, [r4, #0x1] add r5, r5, #0x1 @@ -60175,8 +60175,8 @@ _0201FA52: _0201FA5A: pop {r3-r7, pc} - thumb_func_start sub_0201FA5C -sub_0201FA5C: ; 0x0201FA5C + thumb_func_start FUN_0201FA5C +FUN_0201FA5C: ; 0x0201FA5C push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 @@ -60212,7 +60212,7 @@ _0201FA7C: ldr r0, _0201FAB8 ; =0x00001FFF cmp r1, r0 bls _0201FAA4 - bl sub_02020C2C + bl FUN_02020C2C _0201FAA4: ldrh r0, [r5, #0x1c] add r4, r4, #0x1 @@ -60228,8 +60228,8 @@ _0201FAB4: .balign 4 _0201FAB8: .word 0x00001FFF - thumb_func_start sub_0201FABC -sub_0201FABC: ; 0x0201FABC + thumb_func_start FUN_0201FABC +FUN_0201FABC: ; 0x0201FABC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] @@ -60241,7 +60241,7 @@ sub_0201FABC: ; 0x0201FABC _0201FACC: ldr r0, [r5, #0x4] add r0, r0, r4 - bl sub_0201F094 + bl FUN_0201F094 ldr r0, [r5, #0x4] add r7, r7, #0x1 add r1, r0, r4 @@ -60260,8 +60260,8 @@ _0201FAEC: str r0, [r5, #0x0] pop {r3-r7, pc} - thumb_func_start sub_0201FAF4 -sub_0201FAF4: ; 0x0201FAF4 + thumb_func_start FUN_0201FAF4 +FUN_0201FAF4: ; 0x0201FAF4 add r1, r0, #0x0 add r1, #0xc8 ldr r3, [r1, #0x0] @@ -60286,8 +60286,8 @@ _0201FB04: bx lr .balign 4 - thumb_func_start sub_0201FB20 -sub_0201FB20: ; 0x0201FB20 + thumb_func_start FUN_0201FB20 +FUN_0201FB20: ; 0x0201FB20 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0xc8 @@ -60299,7 +60299,7 @@ sub_0201FB20: ; 0x0201FB20 pop {r3-r5, pc} _0201FB32: add r0, r4, #0x0 - bl sub_0201F094 + bl FUN_0201F094 add r0, r5, #0x0 add r0, #0xc8 ldr r0, [r0, #0x0] @@ -60317,8 +60317,8 @@ _0201FB32: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0201FB58 -sub_0201FB58: ; 0x0201FB58 + thumb_func_start FUN_0201FB58 +FUN_0201FB58: ; 0x0201FB58 add r2, r0, #0x0 add r2, #0xb4 ldr r3, [r2, #0x0] @@ -60338,8 +60338,8 @@ sub_0201FB58: ; 0x0201FB58 bx lr .balign 4 - thumb_func_start sub_0201FB7C -sub_0201FB7C: ; 0x0201FB7C + thumb_func_start FUN_0201FB7C +FUN_0201FB7C: ; 0x0201FB7C add r1, r0, #0x0 add r1, #0xb0 ldr r2, [r1, #0x0] @@ -60357,15 +60357,15 @@ sub_0201FB7C: ; 0x0201FB7C str r1, [r0, #0x0] bx lr - thumb_func_start sub_0201FB9C -sub_0201FB9C: ; 0x0201FB9C + thumb_func_start FUN_0201FB9C +FUN_0201FB9C: ; 0x0201FB9C push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x0 add r5, r2, #0x0 - bl sub_0201FC90 + bl FUN_0201FC90 add r7, r0, #0x0 - blx sub_020BC13C + blx FUN_020BC13C add r4, r0, #0x0 ldrh r0, [r4, #0xe] add r0, r4, r0 @@ -60375,45 +60375,45 @@ sub_0201FB9C: ; 0x0201FB9C cmp r5, #0x0 beq _0201FBC6 add r0, r7, #0x0 - blx sub_020BC0FC + blx FUN_020BC0FC str r0, [r5, #0x0] _0201FBC6: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0201FBCC -sub_0201FBCC: ; 0x0201FBCC - ldr r3, _0201FBD4 ; =sub_0201FC90 + thumb_func_start FUN_0201FBCC +FUN_0201FBCC: ; 0x0201FBCC + ldr r3, _0201FBD4 ; =FUN_0201FC90 mov r1, #0x1 bx r3 nop -_0201FBD4: .word sub_0201FC90 + 1 +_0201FBD4: .word FUN_0201FC90 + 1 - thumb_func_start sub_0201FBD8 -sub_0201FBD8: ; 0x0201FBD8 + thumb_func_start FUN_0201FBD8 +FUN_0201FBD8: ; 0x0201FBD8 push {r3, lr} ldr r2, [r1, #0x1c] cmp r2, #0x0 bne _0201FBE6 - bl sub_0201F384 + bl FUN_0201F384 pop {r3, pc} _0201FBE6: - bl sub_0201F3D4 + bl FUN_0201F3D4 pop {r3, pc} - thumb_func_start sub_0201FBEC -sub_0201FBEC: ; 0x0201FBEC + thumb_func_start FUN_0201FBEC +FUN_0201FBEC: ; 0x0201FBEC push {r3, lr} ldr r0, [r0, #0x20] - bl sub_0201FCA8 + bl FUN_0201FCA8 ldr r0, [r0, #0x0] lsl r0, r0, #0xc pop {r3, pc} .balign 4 - thumb_func_start sub_0201FBFC -sub_0201FBFC: ; 0x0201FBFC + thumb_func_start FUN_0201FBFC +FUN_0201FBFC: ; 0x0201FBFC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -60421,16 +60421,16 @@ sub_0201FBFC: ; 0x0201FBFC add r1, #0xaa ldrh r1, [r1, #0x0] ldr r0, [r5, #0x20] - bl sub_0201FCA8 + bl FUN_0201FCA8 add r5, #0xac add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0201FC1C + bl FUN_0201FC1C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0201FC1C -sub_0201FC1C: ; 0x0201FC1C + thumb_func_start FUN_0201FC1C +FUN_0201FC1C: ; 0x0201FC1C push {r3-r6} ldr r4, [r0, #0x0] ldr r6, [r1, #0x0] @@ -60465,8 +60465,8 @@ _0201FC4E: pop {r3-r6} bx lr - thumb_func_start sub_0201FC54 -sub_0201FC54: ; 0x0201FC54 + thumb_func_start FUN_0201FC54 +FUN_0201FC54: ; 0x0201FC54 push {r3, lr} add r3, r0, #0x0 add r0, #0x90 @@ -60478,28 +60478,28 @@ sub_0201FC54: ; 0x0201FC54 ldr r0, [r0, #0x0] add r2, #0x88 add r3, #0x8c - bl sub_0201F500 + bl FUN_0201F500 pop {r3, pc} - thumb_func_start sub_0201FC70 -sub_0201FC70: ; 0x0201FC70 + thumb_func_start FUN_0201FC70 +FUN_0201FC70: ; 0x0201FC70 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 ldr r0, [r4, #0x78] - blx sub_020B772C + blx FUN_020B772C add r4, #0x80 ldr r0, [r4, #0x0] add r1, sp, #0x4 add r2, sp, #0x8 add r3, sp, #0x0 - bl sub_0201F4EC + bl FUN_0201F4EC add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0201FC90 -sub_0201FC90: ; 0x0201FC90 + thumb_func_start FUN_0201FC90 +FUN_0201FC90: ; 0x0201FC90 cmp r1, #0x0 beq _0201FC9A cmp r1, #0x1 @@ -60516,62 +60516,62 @@ _0201FCA2: bx lr .balign 4 - thumb_func_start sub_0201FCA8 -sub_0201FCA8: ; 0x0201FCA8 + thumb_func_start FUN_0201FCA8 +FUN_0201FCA8: ; 0x0201FCA8 mov r2, #0xc mul r2, r1 add r0, r0, r2 bx lr - thumb_func_start sub_0201FCB0 -sub_0201FCB0: ; 0x0201FCB0 + thumb_func_start FUN_0201FCB0 +FUN_0201FCB0: ; 0x0201FCB0 push {r3-r5, lr} add r5, r0, #0x0 bne _0201FCBA - bl sub_02020C2C + bl FUN_02020C2C _0201FCBA: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _0201FCC4 - bl sub_02020C2C + bl FUN_02020C2C _0201FCC4: mov r1, #0x49 ldr r0, [r5, #0x8] lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0201FCD6 - bl sub_02020C2C + bl FUN_02020C2C _0201FCD6: add r0, r4, #0x0 - bl sub_0201FE44 + bl FUN_0201FE44 ldr r2, [r5, #0x0] ldr r0, [r5, #0x8] lsl r1, r2, #0x6 add r1, r2, r1 lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] cmp r0, #0x0 bne _0201FCF4 - bl sub_02020C2C + bl FUN_02020C2C _0201FCF4: ldr r0, [r5, #0x0] str r0, [r4, #0x4] ldr r1, [r5, #0x0] ldr r0, [r5, #0x8] lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x8] cmp r0, #0x0 bne _0201FD0C - bl sub_02020C2C + bl FUN_02020C2C _0201FD0C: add r0, r4, #0x0 - bl sub_0202083C + bl FUN_0202083C add r0, r4, #0x0 add r0, #0x10 - bl sub_0201FE6C + bl FUN_0201FE6C add r2, r4, #0x0 mov r1, #0x43 lsl r1, r1, #0x2 @@ -60584,14 +60584,14 @@ _0201FD0C: str r0, [r4, r1] ldr r0, [r5, #0x8] ldr r1, _0201FD54 ; =0x02105BBC - bl sub_020161A4 + bl FUN_020161A4 mov r1, #0x46 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, r1] add r1, r1, #0x4 add r1, r4, r1 - blx sub_020AFD94 + blx FUN_020AFD94 mov r0, #0x12 mov r1, #0x1 lsl r0, r0, #0x4 @@ -60601,8 +60601,8 @@ _0201FD0C: nop _0201FD54: .word 0x02105BBC - thumb_func_start sub_0201FD58 -sub_0201FD58: ; 0x0201FD58 + thumb_func_start FUN_0201FD58 +FUN_0201FD58: ; 0x0201FD58 push {r4, lr} add r4, r0, #0x0 bne _0201FD62 @@ -60615,25 +60615,25 @@ _0201FD62: mov r0, #0x1 pop {r4, pc} _0201FD6C: - bl sub_0201FDB4 + bl FUN_0201FDB4 mov r0, #0x46 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_0201FE44 + bl FUN_0201FE44 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0201FD98 -sub_0201FD98: ; 0x0201FD98 + thumb_func_start FUN_0201FD98 +FUN_0201FD98: ; 0x0201FD98 cmp r0, #0x0 bne _0201FDA0 mov r0, #0x0 @@ -60651,8 +60651,8 @@ _0201FDAA: mov r0, #0x1 bx lr - thumb_func_start sub_0201FDB4 -sub_0201FDB4: ; 0x0201FDB4 + thumb_func_start FUN_0201FDB4 +FUN_0201FDB4: ; 0x0201FDB4 push {r4-r6, lr} cmp r0, #0x0 bne _0201FDBE @@ -60677,7 +60677,7 @@ _0201FDC8: _0201FDDA: ldr r5, [r1, r6] add r0, r1, #0x0 - bl sub_0201FFC8 + bl FUN_0201FFC8 add r1, r5, #0x0 cmp r5, r4 bne _0201FDDA @@ -60685,12 +60685,12 @@ _0201FDE8: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0201FDEC -sub_0201FDEC: ; 0x0201FDEC + thumb_func_start FUN_0201FDEC +FUN_0201FDEC: ; 0x0201FDEC push {r3-r7, lr} add r5, r0, #0x0 bne _0201FDF6 - bl sub_02020C2C + bl FUN_02020C2C _0201FDF6: mov r0, #0x12 lsl r0, r0, #0x4 @@ -60732,8 +60732,8 @@ _0201FE38: _0201FE3C: .word 0x020EE658 _0201FE40: .word 0x020EE660 - thumb_func_start sub_0201FE44 -sub_0201FE44: ; 0x0201FE44 + thumb_func_start FUN_0201FE44 +FUN_0201FE44: ; 0x0201FE44 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 @@ -60746,7 +60746,7 @@ sub_0201FE44: ; 0x0201FE44 str r1, [r4, r0] add r0, r4, #0x0 add r0, #0x10 - bl sub_0201FE6C + bl FUN_0201FE6C mov r0, #0x12 mov r1, #0x0 lsl r0, r0, #0x4 @@ -60754,32 +60754,32 @@ sub_0201FE44: ; 0x0201FE44 pop {r4, pc} .balign 4 - thumb_func_start sub_0201FE6C -sub_0201FE6C: ; 0x0201FE6C + thumb_func_start FUN_0201FE6C +FUN_0201FE6C: ; 0x0201FE6C push {r4, lr} mov r2, #0x41 add r4, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 str r1, [r4, #0x3c] - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 add r0, #0xb4 - blx sub_020B1A24 + blx FUN_020B1A24 add r0, r4, #0x0 add r0, #0xd8 - blx sub_020B19DC + blx FUN_020B19DC mov r0, #0x0 str r0, [r4, #0x30] pop {r4, pc} .balign 4 - thumb_func_start sub_0201FE94 -sub_0201FE94: ; 0x0201FE94 + thumb_func_start FUN_0201FE94 +FUN_0201FE94: ; 0x0201FE94 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02020874 + bl FUN_02020874 add r4, r0, #0x0 bne _0201FEA6 mov r0, #0x0 @@ -60835,7 +60835,7 @@ _0201FEA6: add r1, r4, #0x0 add r1, #0x26 ldrb r1, [r1, #0x0] - blx sub_020B502C + blx FUN_020B502C add r0, r4, #0x0 add r0, #0x27 ldrb r2, [r0, #0x0] @@ -60847,7 +60847,7 @@ _0201FEA6: mov r3, #0x2 and r1, r2 and r2, r3 - blx sub_020B4F38 + blx FUN_020B4F38 add r0, r4, #0x0 mov r2, #0x1 add r0, #0x34 @@ -60862,11 +60862,11 @@ _0201FEA6: ldr r1, [r5, #0x4] ldr r3, [r5, #0x2c] add r2, r4, #0x0 - bl sub_02020434 + bl FUN_02020434 cmp r0, #0x0 bne _0201FF56 add r0, r4, #0x0 - bl sub_0201FFC8 + bl FUN_0201FFC8 mov r0, #0x0 pop {r4-r6, pc} _0201FF56: @@ -60875,7 +60875,7 @@ _0201FF56: add r0, r4, #0x0 ldr r1, [r1, #0x0] add r0, #0xd8 - bl sub_020205E8 + bl FUN_020205E8 add r1, r4, #0x0 add r1, #0x2a strb r0, [r1, #0x0] @@ -60887,13 +60887,13 @@ _0201FF56: strb r1, [r0, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_02020788 + bl FUN_02020788 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0201FF84 -sub_0201FF84: ; 0x0201FF84 + thumb_func_start FUN_0201FF84 +FUN_0201FF84: ; 0x0201FF84 push {r4, lr} sub sp, #0x30 add r2, r0, #0x0 @@ -60923,13 +60923,13 @@ sub_0201FF84: ; 0x0201FF84 ldr r0, [r2, #0x1c] str r0, [sp, #0x2c] add r0, sp, #0x0 - bl sub_0201FE94 + bl FUN_0201FE94 add sp, #0x30 pop {r4, pc} .balign 4 - thumb_func_start sub_0201FFC8 -sub_0201FFC8: ; 0x0201FFC8 + thumb_func_start FUN_0201FFC8 +FUN_0201FFC8: ; 0x0201FFC8 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 @@ -60942,7 +60942,7 @@ sub_0201FFC8: ; 0x0201FFC8 ldr r1, [r1, #0x0] cmp r1, #0x0 beq _0201FFE4 - bl sub_02020820 + bl FUN_02020820 _0201FFE4: add r0, r5, #0x0 add r0, #0xec @@ -60956,13 +60956,13 @@ _0201FFE4: ldr r1, [r1, #0x0] add r0, #0xb4 add r4, #0x40 - blx sub_020B1A14 + blx FUN_020B1A14 mov r1, #0x0 mvn r1, r1 cmp r0, r1 beq _0202000E ldr r0, [r4, #0x5c] - blx sub_020B4358 + blx FUN_020B4358 _0202000E: add r0, r5, #0x0 add r0, #0xec @@ -60974,12 +60974,12 @@ _0202000E: ldr r0, [r4, #0x70] cmp r0, #0x0 beq _02020026 - bl sub_02016A18 + bl FUN_02016A18 _02020026: ldr r0, [r4, #0x74] cmp r0, #0x0 beq _02020030 - bl sub_02016A18 + bl FUN_02016A18 _02020030: add r0, r5, #0x0 mov r1, #0x0 @@ -60987,13 +60987,13 @@ _02020030: str r1, [r0, #0x0] ldr r0, [r5, #0x3c] add r1, r5, #0x0 - bl sub_02020890 + bl FUN_02020890 _02020040: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02020044 -sub_02020044: ; 0x02020044 + thumb_func_start FUN_02020044 +FUN_02020044: ; 0x02020044 add r2, r1, #0x0 add r3, r0, #0x0 ldmia r2!, {r0-r1} @@ -61003,8 +61003,8 @@ sub_02020044: ; 0x02020044 bx lr .balign 4 - thumb_func_start sub_02020054 -sub_02020054: ; 0x02020054 + thumb_func_start FUN_02020054 +FUN_02020054: ; 0x02020054 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -61014,8 +61014,8 @@ sub_02020054: ; 0x02020054 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02020064 -sub_02020064: ; 0x02020064 + thumb_func_start FUN_02020064 +FUN_02020064: ; 0x02020064 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -61025,101 +61025,101 @@ sub_02020064: ; 0x02020064 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02020074 -sub_02020074: ; 0x02020074 + thumb_func_start FUN_02020074 +FUN_02020074: ; 0x02020074 push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02020064 + bl FUN_02020064 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020200EC + bl FUN_020200EC pop {r3-r5, pc} - thumb_func_start sub_02020088 -sub_02020088: ; 0x02020088 + thumb_func_start FUN_02020088 +FUN_02020088: ; 0x02020088 strh r1, [r0, #0x24] bx lr - thumb_func_start sub_0202008C -sub_0202008C: ; 0x0202008C + thumb_func_start FUN_0202008C +FUN_0202008C: ; 0x0202008C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02020088 + bl FUN_02020088 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020200EC + bl FUN_020200EC pop {r3-r5, pc} - thumb_func_start sub_020200A0 -sub_020200A0: ; 0x020200A0 + thumb_func_start FUN_020200A0 +FUN_020200A0: ; 0x020200A0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020200AE - bl sub_02020C2C + bl FUN_02020C2C _020200AE: cmp r4, #0x2 blt _020200B6 - bl sub_02020C2C + bl FUN_02020C2C _020200B6: add r5, #0x34 strb r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_020200BC -sub_020200BC: ; 0x020200BC + thumb_func_start FUN_020200BC +FUN_020200BC: ; 0x020200BC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020200CA - bl sub_02020C2C + bl FUN_02020C2C _020200CA: cmp r4, #0x2 blt _020200D2 - bl sub_02020C2C + bl FUN_02020C2C _020200D2: add r5, #0x35 strb r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_020200D8 -sub_020200D8: ; 0x020200D8 + thumb_func_start FUN_020200D8 +FUN_020200D8: ; 0x020200D8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020200E6 - bl sub_02020C2C + bl FUN_02020C2C _020200E6: str r4, [r5, #0x38] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020200EC -sub_020200EC: ; 0x020200EC + thumb_func_start FUN_020200EC +FUN_020200EC: ; 0x020200EC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020200FA - bl sub_02020C2C + bl FUN_02020C2C _020200FA: add r5, #0x26 strb r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02020100 -sub_02020100: ; 0x02020100 + thumb_func_start FUN_02020100 +FUN_02020100: ; 0x02020100 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0202010E - bl sub_02020C2C + bl FUN_02020C2C _0202010E: add r0, r5, #0x0 add r0, #0x27 @@ -61129,30 +61129,30 @@ _0202010E: strb r0, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0202011C -sub_0202011C: ; 0x0202011C + thumb_func_start FUN_0202011C +FUN_0202011C: ; 0x0202011C bx lr .balign 4 - thumb_func_start sub_02020120 -sub_02020120: ; 0x02020120 + thumb_func_start FUN_02020120 +FUN_02020120: ; 0x02020120 add r0, #0x18 bx lr - thumb_func_start sub_02020124 -sub_02020124: ; 0x02020124 + thumb_func_start FUN_02020124 +FUN_02020124: ; 0x02020124 ldrh r0, [r0, #0x24] bx lr - thumb_func_start sub_02020128 -sub_02020128: ; 0x02020128 + thumb_func_start FUN_02020128 +FUN_02020128: ; 0x02020128 add r0, #0x34 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02020130 -sub_02020130: ; 0x02020130 + thumb_func_start FUN_02020130 +FUN_02020130: ; 0x02020130 push {r4, lr} lsl r2, r1, #0x10 lsr r3, r2, #0x10 @@ -61172,11 +61172,11 @@ _0202014A: lsl r1, r1, #0x10 ldr r0, [r4, #0x4] lsr r1, r1, #0x10 - blx sub_020AFC04 + blx FUN_020AFC04 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x8 - blx sub_020B1EE4 + blx FUN_020B1EE4 mov r0, #0x1 str r0, [r4, #0x10] pop {r4, pc} @@ -61185,30 +61185,30 @@ _02020168: add r4, #0x40 ldr r0, [r4, #0x6c] add r1, r3, #0x0 - blx sub_020AFC04 + blx FUN_020AFC04 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x8 - blx sub_020B242C + blx FUN_020B242C mov r0, #0x1 str r0, [r4, #0x10] pop {r4, pc} - thumb_func_start sub_02020184 -sub_02020184: ; 0x02020184 + thumb_func_start FUN_02020184 +FUN_02020184: ; 0x02020184 push {r3, lr} add r2, r0, #0x0 add r2, #0xf0 ldrh r2, [r2, #0x0] cmp r2, r1 beq _02020194 - bl sub_02020130 + bl FUN_02020130 _02020194: pop {r3, pc} .balign 4 - thumb_func_start sub_02020198 -sub_02020198: ; 0x02020198 + thumb_func_start FUN_02020198 +FUN_02020198: ; 0x02020198 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0xec @@ -61222,35 +61222,35 @@ _020201A8: add r5, #0x40 add r0, r5, #0x0 add r0, #0x8 - blx sub_020B0448 + blx FUN_020B0448 mov r0, #0x1 str r0, [r5, #0x10] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 pop {r3-r5, pc} _020201C2: add r5, r4, #0x0 add r5, #0x40 add r0, r5, #0x0 add r0, #0x8 - blx sub_020B0448 + blx FUN_020B0448 mov r0, #0x1 str r0, [r5, #0x10] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 pop {r3-r5, pc} - thumb_func_start sub_020201DC -sub_020201DC: ; 0x020201DC + thumb_func_start FUN_020201DC +FUN_020201DC: ; 0x020201DC add r0, #0xf0 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020201E4 -sub_020201E4: ; 0x020201E4 + thumb_func_start FUN_020201E4 +FUN_020201E4: ; 0x020201E4 push {r3, lr} add r2, r0, #0x0 add r2, #0xec @@ -61262,16 +61262,16 @@ sub_020201E4: ; 0x020201E4 _020201F4: add r0, #0x40 add r0, #0x8 - blx sub_020B1EC4 + blx FUN_020B1EC4 pop {r3, pc} _020201FE: add r0, #0x40 add r0, #0x8 - blx sub_020B224C + blx FUN_020B224C pop {r3, pc} - thumb_func_start sub_02020208 -sub_02020208: ; 0x02020208 + thumb_func_start FUN_02020208 +FUN_02020208: ; 0x02020208 push {r3, lr} add r2, r0, #0x0 add r2, #0xec @@ -61283,16 +61283,16 @@ sub_02020208: ; 0x02020208 _02020218: add r0, #0x40 add r0, #0x8 - blx sub_020B1EA4 + blx FUN_020B1EA4 pop {r3, pc} _02020222: add r0, #0x40 add r0, #0x8 - blx sub_020B2194 + blx FUN_020B2194 pop {r3, pc} - thumb_func_start sub_0202022C -sub_0202022C: ; 0x0202022C + thumb_func_start FUN_0202022C +FUN_0202022C: ; 0x0202022C ldr r3, _02020234 ; =0x020B04FC add r0, #0x40 add r0, #0x8 @@ -61300,8 +61300,8 @@ sub_0202022C: ; 0x0202022C .balign 4 _02020234: .word 0x020B04FC - thumb_func_start sub_02020238 -sub_02020238: ; 0x02020238 + thumb_func_start FUN_02020238 +FUN_02020238: ; 0x02020238 add r0, #0xf2 strb r1, [r0, #0x0] bx lr @@ -61309,14 +61309,14 @@ sub_02020238: ; 0x02020238 _02020240: .byte 0xF2, 0x30, 0x00, 0x78, 0x70, 0x47, 0x00, 0x00 - thumb_func_start sub_02020248 -sub_02020248: ; 0x02020248 + thumb_func_start FUN_02020248 +FUN_02020248: ; 0x02020248 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020256 - bl sub_02020C2C + bl FUN_02020C2C _02020256: add r0, r5, #0x0 add r0, #0x29 @@ -61338,17 +61338,17 @@ _02020256: strb r1, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0202027C -sub_0202027C: ; 0x0202027C + thumb_func_start FUN_0202027C +FUN_0202027C: ; 0x0202027C push {r4, lr} add r4, r0, #0x0 - bl sub_02020248 + bl FUN_02020248 add r1, r4, #0x0 add r1, #0xf8 add r0, r4, #0x0 ldr r1, [r1, #0x0] add r0, #0xd8 - bl sub_020205E8 + bl FUN_020205E8 add r1, r4, #0x0 add r1, #0x29 ldrb r1, [r1, #0x0] @@ -61357,21 +61357,21 @@ sub_0202027C: ; 0x0202027C strb r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_020202A0 -sub_020202A0: ; 0x020202A0 + thumb_func_start FUN_020202A0 +FUN_020202A0: ; 0x020202A0 add r0, #0x29 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020202A8 -sub_020202A8: ; 0x020202A8 + thumb_func_start FUN_020202A8 +FUN_020202A8: ; 0x020202A8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020202B6 - bl sub_02020C2C + bl FUN_02020C2C _020202B6: add r0, r5, #0x0 add r0, #0x2a @@ -61393,17 +61393,17 @@ _020202B6: strb r1, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_020202DC -sub_020202DC: ; 0x020202DC + thumb_func_start FUN_020202DC +FUN_020202DC: ; 0x020202DC push {r4, lr} add r4, r0, #0x0 - bl sub_020202A8 + bl FUN_020202A8 add r1, r4, #0x0 add r1, #0xf8 add r0, r4, #0x0 ldr r1, [r1, #0x0] add r0, #0xd8 - bl sub_020205E8 + bl FUN_020205E8 add r1, r4, #0x0 add r1, #0x2a ldrb r1, [r1, #0x0] @@ -61412,41 +61412,41 @@ sub_020202DC: ; 0x020202DC strb r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02020300 -sub_02020300: ; 0x02020300 + thumb_func_start FUN_02020300 +FUN_02020300: ; 0x02020300 push {r4, lr} add r4, r0, #0x0 bne _0202030A - bl sub_02020C2C + bl FUN_02020C2C _0202030A: add r4, #0x2a ldrb r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02020310 -sub_02020310: ; 0x02020310 + thumb_func_start FUN_02020310 +FUN_02020310: ; 0x02020310 push {r3-r5, lr} add r5, r0, #0x0 add r2, r5, #0x0 ldr r4, [r5, #0x3c] add r2, #0xf4 strh r1, [r2, #0x0] - bl sub_02020820 + bl FUN_02020820 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02020788 + bl FUN_02020788 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202032C -sub_0202032C: ; 0x0202032C + thumb_func_start FUN_0202032C +FUN_0202032C: ; 0x0202032C add r0, #0xf4 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02020334 -sub_02020334: ; 0x02020334 + thumb_func_start FUN_02020334 +FUN_02020334: ; 0x02020334 push {r3-r4} add r3, r0, #0x0 add r4, r1, #0x0 @@ -61463,13 +61463,13 @@ _0202033E: bx lr .balign 4 - thumb_func_start sub_02020350 -sub_02020350: ; 0x02020350 + thumb_func_start FUN_02020350 +FUN_02020350: ; 0x02020350 add r0, #0xb4 bx lr - thumb_func_start sub_02020354 -sub_02020354: ; 0x02020354 + thumb_func_start FUN_02020354 +FUN_02020354: ; 0x02020354 add r0, #0xd8 bx lr _02020358: @@ -61477,32 +61477,32 @@ _02020358: .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x28, 0x30, 0x11, 0x43, 0x01, 0x70, 0x70, 0x47, 0x01, 0x1C .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x51, 0x40, 0x28, 0x30, 0x01, 0x70, 0x70, 0x47, 0x00, 0x00 - thumb_func_start sub_02020380 -sub_02020380: ; 0x02020380 + thumb_func_start FUN_02020380 +FUN_02020380: ; 0x02020380 add r0, #0xf8 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02020388 -sub_02020388: ; 0x02020388 + thumb_func_start FUN_02020388 +FUN_02020388: ; 0x02020388 push {r4, lr} add r4, r0, #0x0 bne _02020392 - bl sub_02020C2C + bl FUN_02020C2C _02020392: ldr r0, [r4, #0x50] pop {r4, pc} .balign 4 - thumb_func_start sub_02020398 -sub_02020398: ; 0x02020398 + thumb_func_start FUN_02020398 +FUN_02020398: ; 0x02020398 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 cmp r4, #0x0 bne _020203A6 - bl sub_02020C2C + bl FUN_02020C2C _020203A6: str r5, [r4, #0x30] cmp r5, #0x0 @@ -61525,64 +61525,64 @@ _020203BC: strb r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_020203CC -sub_020203CC: ; 0x020203CC + thumb_func_start FUN_020203CC +FUN_020203CC: ; 0x020203CC push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xa - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0xb mov r2, #0x1 lsl r0, r0, #0x6 add r1, r4, #0x0 lsl r2, r2, #0xa - blx sub_020CE1C8 + blx FUN_020CE1C8 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xa - blx sub_020CC15C + blx FUN_020CC15C mov r2, #0x1 add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0xa - blx sub_020C93BC + blx FUN_020C93BC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02020404 -sub_02020404: ; 0x02020404 + thumb_func_start FUN_02020404 +FUN_02020404: ; 0x02020404 push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xa - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0xb mov r2, #0x1 lsl r0, r0, #0x6 add r1, r4, #0x0 lsl r2, r2, #0xa - blx sub_020CE1C8 + blx FUN_020CE1C8 mov r2, #0x1 add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0xa - blx sub_020C9354 + blx FUN_020C9354 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02020434 -sub_02020434: ; 0x02020434 + thumb_func_start FUN_02020434 +FUN_02020434: ; 0x02020434 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] add r4, r2, #0x0 add r0, r5, #0x0 add r7, r3, #0x0 - bl sub_020204DC + bl FUN_020204DC add r1, r4, #0x0 add r1, #0xec str r0, [r1, #0x0] @@ -61608,12 +61608,12 @@ _02020452: add r1, r4, #0x0 str r0, [r2, #0x0] ldr r0, [r5, #0xc] - bl sub_020204F4 + bl FUN_020204F4 ldr r0, [r5, #0x10] cmp r0, #0x0 beq _02020486 add r1, r4, #0x0 - bl sub_020204F8 + bl FUN_020204F8 b _02020494 _02020486: mov r1, #0x47 @@ -61621,7 +61621,7 @@ _02020486: lsl r1, r1, #0x2 ldr r0, [r0, r1] add r1, r4, #0x0 - bl sub_020204F8 + bl FUN_020204F8 _02020494: add r0, r4, #0x0 add r0, #0xec @@ -61630,13 +61630,13 @@ _02020494: bne _020204B8 ldr r0, [r5, #0x14] add r1, r4, #0x0 - bl sub_020204FC + bl FUN_020204FC ldr r0, [r5, #0x18] add r1, r4, #0x0 - bl sub_02020504 + bl FUN_02020504 add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_02020588 + bl FUN_02020588 b _020204D0 _020204B8: cmp r0, #0x3 @@ -61644,12 +61644,12 @@ _020204B8: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0202052C + bl FUN_0202052C b _020204D0 _020204C8: add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_0202050C + bl FUN_0202050C _020204D0: add r5, #0x20 ldrb r0, [r5, #0x0] @@ -61658,8 +61658,8 @@ _020204D0: mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_020204DC -sub_020204DC: ; 0x020204DC + thumb_func_start FUN_020204DC +FUN_020204DC: ; 0x020204DC ldr r1, [r0, #0x14] cmp r1, #0x0 beq _020204E6 @@ -61675,71 +61675,71 @@ _020204F0: mov r0, #0x1 bx lr - thumb_func_start sub_020204F4 -sub_020204F4: ; 0x020204F4 + thumb_func_start FUN_020204F4 +FUN_020204F4: ; 0x020204F4 str r0, [r1, #0x40] bx lr - thumb_func_start sub_020204F8 -sub_020204F8: ; 0x020204F8 + thumb_func_start FUN_020204F8 +FUN_020204F8: ; 0x020204F8 str r0, [r1, #0x44] bx lr - thumb_func_start sub_020204FC -sub_020204FC: ; 0x020204FC + thumb_func_start FUN_020204FC +FUN_020204FC: ; 0x020204FC add r1, #0xa8 str r0, [r1, #0x0] bx lr .balign 4 - thumb_func_start sub_02020504 -sub_02020504: ; 0x02020504 + thumb_func_start FUN_02020504 +FUN_02020504: ; 0x02020504 add r1, #0xac str r0, [r1, #0x0] bx lr .balign 4 - thumb_func_start sub_0202050C -sub_0202050C: ; 0x0202050C + thumb_func_start FUN_0202050C +FUN_0202050C: ; 0x0202050C push {r3-r5, lr} add r5, r0, #0x0 add r4, r5, #0x0 add r4, #0x40 ldr r0, [r4, #0x4] mov r1, #0x0 - blx sub_020AFC04 + blx FUN_020AFC04 add r4, #0x8 add r1, r0, #0x0 ldr r2, [r5, #0x40] add r0, r4, #0x0 - blx sub_020B1F80 + blx FUN_020B1F80 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202052C -sub_0202052C: ; 0x0202052C + thumb_func_start FUN_0202052C +FUN_0202052C: ; 0x0202052C push {r4-r7, lr} sub sp, #0x1c add r6, r1, #0x0 add r4, r6, #0x0 add r4, #0x40 add r5, r0, #0x0 - blx sub_020B43A4 + blx FUN_020B43A4 str r0, [r4, #0x5c] ldr r0, [r4, #0x4] mov r1, #0x0 ldr r5, [r5, #0x4] - blx sub_020AFC04 + blx FUN_020AFC04 str r0, [sp, #0x18] add r0, r6, #0x0 add r0, #0xb4 mov r1, #0x1 - blx sub_020B1A14 + blx FUN_020B1A14 add r7, r0, #0x0 add r0, r6, #0x0 add r0, #0xb4 mov r1, #0x2 - blx sub_020B1A14 + blx FUN_020B1A14 mov r1, #0x0 mvn r1, r1 str r1, [sp, #0x0] @@ -61756,12 +61756,12 @@ sub_0202052C: ; 0x0202052C ldr r2, [r6, #0x40] ldr r3, [r4, #0x5c] add r0, #0x8 - blx sub_020B1EFC + blx FUN_020B1EFC add sp, #0x1c pop {r4-r7, pc} - thumb_func_start sub_02020588 -sub_02020588: ; 0x02020588 + thumb_func_start FUN_02020588 +FUN_02020588: ; 0x02020588 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -61770,20 +61770,20 @@ sub_02020588: ; 0x02020588 ldr r0, [r4, #0x6c] add r7, r1, #0x0 mov r1, #0x0 - blx sub_020AFC04 + blx FUN_020AFC04 str r0, [sp, #0xc] ldr r0, [r4, #0x68] - blx sub_020B23D8 + blx FUN_020B23D8 add r6, r0, #0x0 mov r1, #0x28 add r0, r7, #0x0 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x54 str r0, [r4, #0x70] add r0, r7, #0x0 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x74] ldr r0, [r4, #0x4] add r3, r6, #0x0 @@ -61796,17 +61796,17 @@ sub_02020588: ; 0x02020588 ldr r1, [r4, #0x70] ldr r2, [r4, #0x74] add r0, #0x8 - blx sub_020B20C8 + blx FUN_020B20C8 add r4, #0x8 ldr r1, [sp, #0xc] add r0, r4, #0x0 - blx sub_020B242C + blx FUN_020B242C add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020205E8 -sub_020205E8: ; 0x020205E8 + thumb_func_start FUN_020205E8 +FUN_020205E8: ; 0x020205E8 push {r4, lr} ldr r2, [r0, #0x4] cmp r2, #0x0 @@ -61825,17 +61825,17 @@ _02020600: _02020602: cmp r4, #0x0 beq _02020612 - blx sub_020B19C4 + blx FUN_020B19C4 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C pop {r4, pc} _02020612: mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02020618 -sub_02020618: ; 0x02020618 + thumb_func_start FUN_02020618 +FUN_02020618: ; 0x02020618 push {r3-r6, lr} sub sp, #0xc add r4, r1, #0x0 @@ -61853,19 +61853,19 @@ sub_02020618: ; 0x02020618 ldr r0, [r5, r0] add r1, #0xb4 add r2, #0xd8 - blx sub_020B2780 + blx FUN_020B2780 mov r0, #0x45 lsl r0, r0, #0x2 ldr r0, [r5, r0] - blx sub_020B326C - blx sub_020B2B58 + blx FUN_020B326C + blx FUN_020B2B58 add r1, r4, #0x0 mov r0, #0x45 add r1, #0x26 lsl r0, r0, #0x2 ldrb r1, [r1, #0x0] ldr r0, [r5, r0] - blx sub_020B502C + blx FUN_020B502C add r0, r4, #0x0 add r0, #0x26 ldrb r0, [r0, #0x0] @@ -61881,7 +61881,7 @@ sub_02020618: ; 0x02020618 mov r3, #0x2 and r1, r2 and r2, r3 - blx sub_020B4F38 + blx FUN_020B4F38 b _0202068E _02020680: mov r0, #0x45 @@ -61889,12 +61889,12 @@ _02020680: mov r1, #0x0 ldr r0, [r5, r0] add r2, r1, #0x0 - blx sub_020B4F38 + blx FUN_020B4F38 _0202068E: ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] - blx sub_020B2A08 + blx FUN_020B2A08 add r0, r4, #0x0 add r0, #0x26 ldrb r0, [r0, #0x0] @@ -61903,11 +61903,11 @@ _0202068E: ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] ldr r2, [r4, #0x14] - blx sub_020B2A08 + blx FUN_020B2A08 ldr r0, [r4, #0x18] ldr r1, [r4, #0x1c] ldr r2, [r4, #0x20] - blx sub_020B28B4 + blx FUN_020B28B4 ldrh r0, [r4, #0x24] ldr r2, _02020770 ; =0x020FFA38 asr r0, r0, #0x4 @@ -61917,14 +61917,14 @@ _0202068E: lsl r1, r1, #0x1 ldrsh r0, [r2, r0] ldrsh r1, [r2, r1] - blx sub_020B2794 + blx FUN_020B2794 ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] ldr r2, [r4, #0x14] neg r0, r0 neg r1, r1 neg r2, r2 - blx sub_020B2A08 + blx FUN_020B2A08 _020206DC: add r0, r4, #0x0 add r0, #0x28 @@ -61987,41 +61987,41 @@ _0202074E: add r4, #0x40 add r4, #0x8 add r0, r4, #0x0 - blx sub_020B317C + blx FUN_020B317C b _02020764 _0202075A: add r4, #0x40 add r4, #0x8 add r0, r4, #0x0 - blx sub_020B2D9C + blx FUN_020B2D9C _02020764: - blx sub_020B2B08 - blx sub_020B31F0 + blx FUN_020B2B08 + blx FUN_020B31F0 add sp, #0xc pop {r3-r6, pc} .balign 4 _02020770: .word 0x020FFA38 - thumb_func_start sub_02020774 -sub_02020774: ; 0x02020774 + thumb_func_start FUN_02020774 +FUN_02020774: ; 0x02020774 bx lr .balign 4 - thumb_func_start sub_02020778 -sub_02020778: ; 0x02020778 - ldr r3, _02020780 ; =sub_020201E4 + thumb_func_start FUN_02020778 +FUN_02020778: ; 0x02020778 + ldr r3, _02020780 ; =FUN_020201E4 ldr r1, [r0, #0x38] bx r3 nop -_02020780: .word sub_020201E4 + 1 +_02020780: .word FUN_020201E4 + 1 - thumb_func_start sub_02020784 -sub_02020784: ; 0x02020784 + thumb_func_start FUN_02020784 +FUN_02020784: ; 0x02020784 bx lr .balign 4 - thumb_func_start sub_02020788 -sub_02020788: ; 0x02020788 + thumb_func_start FUN_02020788 +FUN_02020788: ; 0x02020788 push {r4-r7} mov r2, #0x11 lsl r2, r2, #0x4 @@ -62104,8 +62104,8 @@ _0202081A: bx lr .balign 4 - thumb_func_start sub_02020820 -sub_02020820: ; 0x02020820 + thumb_func_start FUN_02020820 +FUN_02020820: ; 0x02020820 mov r2, #0x1 add r1, r0, #0x0 lsl r2, r2, #0x8 @@ -62121,8 +62121,8 @@ sub_02020820: ; 0x02020820 str r1, [r0, #0x0] bx lr - thumb_func_start sub_0202083C -sub_0202083C: ; 0x0202083C + thumb_func_start FUN_0202083C +FUN_0202083C: ; 0x0202083C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x4] @@ -62134,7 +62134,7 @@ sub_0202083C: ; 0x0202083C _0202084C: ldr r0, [r5, #0x0] add r0, r0, r4 - bl sub_0201FE6C + bl FUN_0201FE6C ldr r0, [r5, #0x0] add r7, r7, #0x1 add r1, r0, r4 @@ -62153,8 +62153,8 @@ _0202086C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02020874 -sub_02020874: ; 0x02020874 + thumb_func_start FUN_02020874 +FUN_02020874: ; 0x02020874 ldr r3, [r0, #0xc] ldr r1, [r0, #0x4] cmp r3, r1 @@ -62171,8 +62171,8 @@ _02020880: bx lr .balign 4 - thumb_func_start sub_02020890 -sub_02020890: ; 0x02020890 + thumb_func_start FUN_02020890 +FUN_02020890: ; 0x02020890 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] @@ -62183,7 +62183,7 @@ sub_02020890: ; 0x02020890 pop {r3-r5, pc} _020208A0: add r0, r4, #0x0 - bl sub_0201FE6C + bl FUN_0201FE6C ldr r0, [r5, #0xc] sub r0, r0, #0x1 str r0, [r5, #0xc] @@ -62194,8 +62194,8 @@ _020208A0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020208B8 -sub_020208B8: ; 0x020208B8 + thumb_func_start FUN_020208B8 +FUN_020208B8: ; 0x020208B8 push {r4-r7} ldrb r3, [r0, #0x0] mov r4, #0x0 @@ -62242,8 +62242,8 @@ _020208FA: bx lr .balign 4 - thumb_func_start sub_02020904 -sub_02020904: ; 0x02020904 + thumb_func_start FUN_02020904 +FUN_02020904: ; 0x02020904 push {r3-r4} ldrb r3, [r0, #0x1] sub r4, r3, r1 @@ -62268,8 +62268,8 @@ _02020928: bx lr .balign 4 - thumb_func_start sub_02020930 -sub_02020930: ; 0x02020930 + thumb_func_start FUN_02020930 +FUN_02020930: ; 0x02020930 push {r4-r5} ldrb r5, [r0, #0x2] ldrb r3, [r0, #0x0] @@ -62304,8 +62304,8 @@ _02020960: bx lr .balign 4 - thumb_func_start sub_02020968 -sub_02020968: ; 0x02020968 + thumb_func_start FUN_02020968 +FUN_02020968: ; 0x02020968 push {r3, lr} ldr r2, _02020984 ; =0x021C48F8 ldrh r1, [r2, #0x22] @@ -62313,7 +62313,7 @@ sub_02020968: ; 0x02020968 beq _0202097C ldrh r1, [r2, #0x1c] ldrh r2, [r2, #0x1e] - bl sub_020208B8 + bl FUN_020208B8 pop {r3, pc} _0202097C: mov r0, #0x0 @@ -62322,8 +62322,8 @@ _0202097C: nop _02020984: .word 0x021C48F8 - thumb_func_start sub_02020988 -sub_02020988: ; 0x02020988 + thumb_func_start FUN_02020988 +FUN_02020988: ; 0x02020988 push {r3, lr} ldr r2, _020209A4 ; =0x021C48F8 ldrh r1, [r2, #0x20] @@ -62331,7 +62331,7 @@ sub_02020988: ; 0x02020988 beq _0202099C ldrh r1, [r2, #0x1c] ldrh r2, [r2, #0x1e] - bl sub_020208B8 + bl FUN_020208B8 pop {r3, pc} _0202099C: mov r0, #0x0 @@ -62340,8 +62340,8 @@ _0202099C: nop _020209A4: .word 0x021C48F8 - thumb_func_start sub_020209A8 -sub_020209A8: ; 0x020209A8 + thumb_func_start FUN_020209A8 +FUN_020209A8: ; 0x020209A8 push {r3-r7, lr} ldr r7, _020209F0 ; =0x021C48F8 add r5, r0, #0x0 @@ -62357,7 +62357,7 @@ _020209B8: ldrh r1, [r7, #0x1c] ldrh r2, [r7, #0x1e] add r0, r4, #0x0 - bl sub_02020904 + bl FUN_02020904 cmp r0, #0x0 beq _020209E2 add r0, r6, #0x0 @@ -62366,7 +62366,7 @@ _020209D0: ldrh r1, [r7, #0x1c] ldrh r2, [r7, #0x1e] add r0, r4, #0x0 - bl sub_02020930 + bl FUN_02020930 cmp r0, #0x0 beq _020209E2 add r0, r6, #0x0 @@ -62383,8 +62383,8 @@ _020209EA: .balign 4 _020209F0: .word 0x021C48F8 - thumb_func_start sub_020209F4 -sub_020209F4: ; 0x020209F4 + thumb_func_start FUN_020209F4 +FUN_020209F4: ; 0x020209F4 push {r3-r7, lr} ldr r7, _02020A3C ; =0x021C48F8 add r5, r0, #0x0 @@ -62400,7 +62400,7 @@ _02020A04: ldrh r1, [r7, #0x1c] ldrh r2, [r7, #0x1e] add r0, r4, #0x0 - bl sub_02020904 + bl FUN_02020904 cmp r0, #0x0 beq _02020A2E add r0, r6, #0x0 @@ -62409,7 +62409,7 @@ _02020A1C: ldrh r1, [r7, #0x1c] ldrh r2, [r7, #0x1e] add r0, r4, #0x0 - bl sub_02020930 + bl FUN_02020930 cmp r0, #0x0 beq _02020A2E add r0, r6, #0x0 @@ -62426,8 +62426,8 @@ _02020A36: .balign 4 _02020A3C: .word 0x021C48F8 - thumb_func_start sub_02020A40 -sub_02020A40: ; 0x02020A40 + thumb_func_start FUN_02020A40 +FUN_02020A40: ; 0x02020A40 push {r3, lr} ldr r2, _02020A68 ; =0x021C48F8 ldrh r1, [r2, #0x22] @@ -62438,11 +62438,11 @@ sub_02020A40: ; 0x02020A40 ldrh r1, [r2, #0x1c] bne _02020A5A ldrh r2, [r2, #0x1e] - bl sub_02020904 + bl FUN_02020904 pop {r3, pc} _02020A5A: ldrh r2, [r2, #0x1e] - bl sub_02020930 + bl FUN_02020930 pop {r3, pc} _02020A62: mov r0, #0x0 @@ -62450,8 +62450,8 @@ _02020A62: nop _02020A68: .word 0x021C48F8 - thumb_func_start sub_02020A6C -sub_02020A6C: ; 0x02020A6C + thumb_func_start FUN_02020A6C +FUN_02020A6C: ; 0x02020A6C push {r3, lr} ldr r2, _02020A94 ; =0x021C48F8 ldrh r1, [r2, #0x20] @@ -62462,11 +62462,11 @@ sub_02020A6C: ; 0x02020A6C ldrh r1, [r2, #0x1c] bne _02020A86 ldrh r2, [r2, #0x1e] - bl sub_02020904 + bl FUN_02020904 pop {r3, pc} _02020A86: ldrh r2, [r2, #0x1e] - bl sub_02020930 + bl FUN_02020930 pop {r3, pc} _02020A8E: mov r0, #0x0 @@ -62474,24 +62474,24 @@ _02020A8E: nop _02020A94: .word 0x021C48F8 - thumb_func_start sub_02020A98 -sub_02020A98: ; 0x02020A98 + thumb_func_start FUN_02020A98 +FUN_02020A98: ; 0x02020A98 ldr r0, _02020AA0 ; =0x021C48F8 ldrh r0, [r0, #0x22] bx lr nop _02020AA0: .word 0x021C48F8 - thumb_func_start sub_02020AA4 -sub_02020AA4: ; 0x02020AA4 + thumb_func_start FUN_02020AA4 +FUN_02020AA4: ; 0x02020AA4 ldr r0, _02020AAC ; =0x021C48F8 ldrh r0, [r0, #0x20] bx lr nop _02020AAC: .word 0x021C48F8 - thumb_func_start sub_02020AB0 -sub_02020AB0: ; 0x02020AB0 + thumb_func_start FUN_02020AB0 +FUN_02020AB0: ; 0x02020AB0 ldr r2, _02020AC8 ; =0x021C48F8 ldrh r3, [r2, #0x22] cmp r3, #0x0 @@ -62508,8 +62508,8 @@ _02020AC4: .balign 4 _02020AC8: .word 0x021C48F8 - thumb_func_start sub_02020ACC -sub_02020ACC: ; 0x02020ACC + thumb_func_start FUN_02020ACC +FUN_02020ACC: ; 0x02020ACC ldr r2, _02020AE4 ; =0x021C48F8 ldrh r3, [r2, #0x20] cmp r3, #0x0 @@ -62526,20 +62526,20 @@ _02020AE0: .balign 4 _02020AE4: .word 0x021C48F8 - thumb_func_start sub_02020AE8 -sub_02020AE8: ; 0x02020AE8 + thumb_func_start FUN_02020AE8 +FUN_02020AE8: ; 0x02020AE8 push {r3, lr} ldrb r3, [r0, #0x0] cmp r3, #0xfe bne _02020AF6 - bl sub_02020904 + bl FUN_02020904 pop {r3, pc} _02020AF6: - bl sub_02020930 + bl FUN_02020930 pop {r3, pc} - thumb_func_start sub_02020AFC -sub_02020AFC: ; 0x02020AFC + thumb_func_start FUN_02020AFC +FUN_02020AFC: ; 0x02020AFC push {r3, lr} ldr r0, _02020B24 ; =0x021C59B0 mov r2, #0x0 @@ -62552,19 +62552,19 @@ sub_02020AFC: ; 0x02020AFC strh r2, [r0, #0x0] mov r0, #0xc1 strh r0, [r1, #0x0] - ldr r1, _02020B2C ; =sub_02020B30 + ldr r1, _02020B2C ; =FUN_02020B30 mov r0, #0x40 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x40 - blx sub_020C9E5C + blx FUN_020C9E5C pop {r3, pc} .balign 4 _02020B24: .word 0x021C59B0 _02020B28: .word 0x0400010E -_02020B2C: .word sub_02020B30 + 1 +_02020B2C: .word FUN_02020B30 + 1 - thumb_func_start sub_02020B30 -sub_02020B30: ; 0x02020B30 + thumb_func_start FUN_02020B30 +FUN_02020B30: ; 0x02020B30 ldr r0, _02020B68 ; =0x021C59B0 mov r3, #0x0 ldr r1, [r0, #0x4] @@ -62590,22 +62590,22 @@ _02020B54: ldr r2, [r3, r1] orr r2, r0 str r2, [r3, r1] - ldr r3, _02020B78 ; =sub_020C9FEC - ldr r1, _02020B7C ; =sub_02020B30 + ldr r3, _02020B78 ; =FUN_020C9FEC + ldr r1, _02020B7C ; =FUN_02020B30 bx r3 nop _02020B68: .word 0x021C59B0 _02020B6C: .word 0x0400010E _02020B70: .word 0x027E0000 _02020B74: .word 0x00003FF8 -_02020B78: .word sub_020C9FEC -_02020B7C: .word sub_02020B30 + 1 +_02020B78: .word FUN_020C9FEC +_02020B7C: .word FUN_02020B30 + 1 - thumb_func_start sub_02020B80 -sub_02020B80: ; 0x02020B80 + thumb_func_start FUN_02020B80 +FUN_02020B80: ; 0x02020B80 push {r4-r5, lr} sub sp, #0xc - blx sub_020CD310 + blx FUN_020CD310 ldr r1, _02020BE4 ; =0x0400010C add r3, sp, #0x0 ldrh r1, [r1, #0x0] @@ -62637,7 +62637,7 @@ sub_02020B80: ; 0x02020B80 str r2, [sp, #0x4] str r3, [sp, #0x8] _02020BC4: - blx sub_020CD324 + blx FUN_020CD324 ldr r2, [sp, #0x4] ldr r1, [sp, #0x8] lsr r0, r2, #0x10 @@ -62658,15 +62658,15 @@ _02020BE8: .word 0x0000FFFF _02020BEC: .word 0x021C59B0 _02020BF0: .word 0x04000214 - thumb_func_start sub_02020BF4 -sub_02020BF4: ; 0x02020BF4 - ldr r3, _02020BF8 ; =sub_02020B80 + thumb_func_start FUN_02020BF4 +FUN_02020BF4: ; 0x02020BF4 + ldr r3, _02020BF8 ; =FUN_02020B80 bx r3 .balign 4 -_02020BF8: .word sub_02020B80 + 1 +_02020BF8: .word FUN_02020B80 + 1 - thumb_func_start sub_02020BFC -sub_02020BFC: ; 0x02020BFC + thumb_func_start FUN_02020BFC +FUN_02020BFC: ; 0x02020BFC push {r3, lr} lsr r2, r0, #0x1a lsl r1, r1, #0x6 @@ -62674,13 +62674,13 @@ sub_02020BFC: ; 0x02020BFC ldr r2, _02020C10 ; =0x000082EA lsl r0, r0, #0x6 mov r3, #0x0 - blx sub_020EBBE8 + blx FUN_020EBBE8 pop {r3, pc} .balign 4 _02020C10: .word 0x000082EA - thumb_func_start sub_02020C14 -sub_02020C14: ; 0x02020C14 + thumb_func_start FUN_02020C14 +FUN_02020C14: ; 0x02020C14 push {r3, lr} lsr r2, r0, #0x1a lsl r1, r1, #0x6 @@ -62688,43 +62688,43 @@ sub_02020C14: ; 0x02020C14 ldr r2, _02020C28 ; =0x01FF6210 lsl r0, r0, #0x6 mov r3, #0x0 - blx sub_020EBBE8 + blx FUN_020EBBE8 pop {r3, pc} .balign 4 _02020C28: .word 0x01FF6210 - thumb_func_start sub_02020C2C -sub_02020C2C: ; 0x02020C2C + thumb_func_start FUN_02020C2C +FUN_02020C2C: ; 0x02020C2C push {r3, lr} - bl sub_02031810 + bl FUN_02031810 cmp r0, #0x0 beq _02020C42 - blx sub_020CD374 + blx FUN_020CD374 cmp r0, #0x12 beq _02020C42 - bl sub_0208A9B8 + bl FUN_0208A9B8 _02020C42: pop {r3, pc} - thumb_func_start sub_02020C44 -sub_02020C44: ; 0x02020C44 + thumb_func_start FUN_02020C44 +FUN_02020C44: ; 0x02020C44 push {r3-r7, lr} add r4, r1, #0x0 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 bne _02020C5A - bl sub_02020C2C + bl FUN_02020C2C _02020C5A: add r0, r4, #0x0 lsl r1, r7, #0x3 - bl sub_02016998 + bl FUN_02016998 str r0, [r6, #0x0] cmp r0, #0x0 bne _02020C6C - bl sub_02020C2C + bl FUN_02020C2C _02020C6C: mov r4, #0x0 cmp r7, #0x0 @@ -62733,7 +62733,7 @@ _02020C6C: _02020C74: ldr r0, [r6, #0x0] add r0, r0, r5 - bl sub_02020E78 + bl FUN_02020E78 add r4, r4, #0x1 add r5, #0x8 cmp r4, r7 @@ -62746,34 +62746,34 @@ _02020C84: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02020C90 -sub_02020C90: ; 0x02020C90 + thumb_func_start FUN_02020C90 +FUN_02020C90: ; 0x02020C90 push {r4, lr} add r4, r0, #0x0 bne _02020C9A - bl sub_02020C2C + bl FUN_02020C2C _02020C9A: add r0, r4, #0x0 - bl sub_02020D9C + bl FUN_02020D9C ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02020CB0 -sub_02020CB0: ; 0x02020CB0 + thumb_func_start FUN_02020CB0 +FUN_02020CB0: ; 0x02020CB0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020CBE - bl sub_02020C2C + bl FUN_02020C2C _02020CBE: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02020DD8 + bl FUN_02020DD8 cmp r0, #0x0 bne _02020CCE mov r0, #0x1 @@ -62783,28 +62783,28 @@ _02020CCE: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02020CD4 -sub_02020CD4: ; 0x02020CD4 + thumb_func_start FUN_02020CD4 +FUN_02020CD4: ; 0x02020CD4 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r6, r2, #0x0 cmp r5, #0x0 bne _02020CE4 - bl sub_02020C2C + bl FUN_02020C2C _02020CE4: add r0, r5, #0x0 - bl sub_02020E48 + bl FUN_02020E48 add r4, r0, #0x0 bne _02020CF2 - bl sub_02020C2C + bl FUN_02020C2C _02020CF2: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02020CB0 + bl FUN_02020CB0 cmp r0, #0x1 beq _02020D02 - bl sub_02020C2C + bl FUN_02020C2C _02020D02: str r7, [r4, #0x4] str r6, [r4, #0x0] @@ -62814,8 +62814,8 @@ _02020D02: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02020D10 -sub_02020D10: ; 0x02020D10 + thumb_func_start FUN_02020D10 +FUN_02020D10: ; 0x02020D10 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -62823,32 +62823,32 @@ sub_02020D10: ; 0x02020D10 str r3, [sp, #0x0] cmp r5, #0x0 bne _02020D22 - bl sub_02020C2C + bl FUN_02020C2C _02020D22: cmp r6, #0x0 bne _02020D2A - bl sub_02020C2C + bl FUN_02020C2C _02020D2A: add r0, r5, #0x0 - bl sub_02020E48 + bl FUN_02020E48 add r4, r0, #0x0 bne _02020D38 - bl sub_02020C2C + bl FUN_02020C2C _02020D38: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02020CB0 + bl FUN_02020CB0 cmp r0, #0x1 beq _02020D48 - bl sub_02020C2C + bl FUN_02020C2C _02020D48: ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_020161A4 + bl FUN_020161A4 str r0, [r4, #0x4] cmp r0, #0x0 bne _02020D5A - bl sub_02020C2C + bl FUN_02020C2C _02020D5A: str r7, [r4, #0x0] ldr r0, [r5, #0x8] @@ -62858,23 +62858,23 @@ _02020D5A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02020D68 -sub_02020D68: ; 0x02020D68 + thumb_func_start FUN_02020D68 +FUN_02020D68: ; 0x02020D68 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020D76 - bl sub_02020C2C + bl FUN_02020C2C _02020D76: cmp r4, #0x0 bne _02020D7E - bl sub_02020C2C + bl FUN_02020C2C _02020D7E: ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02020D8C - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x4] _02020D8C: @@ -62887,17 +62887,17 @@ _02020D8C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02020D9C -sub_02020D9C: ; 0x02020D9C + thumb_func_start FUN_02020D9C +FUN_02020D9C: ; 0x02020D9C push {r3-r7, lr} add r5, r0, #0x0 bne _02020DA6 - bl sub_02020C2C + bl FUN_02020C2C _02020DA6: ldr r0, [r5, #0x0] cmp r0, #0x0 bne _02020DB0 - bl sub_02020C2C + bl FUN_02020C2C _02020DB0: ldr r0, [r5, #0x4] mov r6, #0x0 @@ -62912,7 +62912,7 @@ _02020DBC: beq _02020DCC add r0, r5, #0x0 add r1, r1, r4 - bl sub_02020D68 + bl FUN_02020D68 _02020DCC: ldr r0, [r5, #0x4] add r6, r6, #0x1 @@ -62922,14 +62922,14 @@ _02020DCC: _02020DD6: pop {r3-r7, pc} - thumb_func_start sub_02020DD8 -sub_02020DD8: ; 0x02020DD8 + thumb_func_start FUN_02020DD8 +FUN_02020DD8: ; 0x02020DD8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020DE6 - bl sub_02020C2C + bl FUN_02020C2C _02020DE6: ldr r6, [r5, #0x4] mov r1, #0x0 @@ -62954,51 +62954,51 @@ _02020E06: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02020E0C -sub_02020E0C: ; 0x02020E0C + thumb_func_start FUN_02020E0C +FUN_02020E0C: ; 0x02020E0C push {r4, lr} add r4, r0, #0x0 bne _02020E16 - bl sub_02020C2C + bl FUN_02020C2C _02020E16: ldr r0, [r4, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_02020E1C -sub_02020E1C: ; 0x02020E1C + thumb_func_start FUN_02020E1C +FUN_02020E1C: ; 0x02020E1C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020E2A - bl sub_02020C2C + bl FUN_02020C2C _02020E2A: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02020E34 - bl sub_02016A18 + bl FUN_02016A18 _02020E34: str r4, [r5, #0x4] pop {r3-r5, pc} - thumb_func_start sub_02020E38 -sub_02020E38: ; 0x02020E38 + thumb_func_start FUN_02020E38 +FUN_02020E38: ; 0x02020E38 push {r4, lr} add r4, r0, #0x0 bne _02020E42 - bl sub_02020C2C + bl FUN_02020C2C _02020E42: ldr r0, [r4, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02020E48 -sub_02020E48: ; 0x02020E48 + thumb_func_start FUN_02020E48 +FUN_02020E48: ; 0x02020E48 push {r3-r5, lr} add r4, r0, #0x0 bne _02020E52 - bl sub_02020C2C + bl FUN_02020C2C _02020E52: ldr r5, [r4, #0x4] mov r2, #0x0 @@ -63023,12 +63023,12 @@ _02020E74: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02020E78 -sub_02020E78: ; 0x02020E78 + thumb_func_start FUN_02020E78 +FUN_02020E78: ; 0x02020E78 push {r4, lr} add r4, r0, #0x0 bne _02020E82 - bl sub_02020C2C + bl FUN_02020C2C _02020E82: mov r0, #0x0 mvn r0, r0 @@ -63038,23 +63038,23 @@ _02020E82: pop {r4, pc} .balign 4 - thumb_func_start sub_02020E90 -sub_02020E90: ; 0x02020E90 + thumb_func_start FUN_02020E90 +FUN_02020E90: ; 0x02020E90 push {r3-r7, lr} add r4, r1, #0x0 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02020C44 + bl FUN_02020C44 mov r1, #0x18 str r0, [r7, #0x0] add r0, r4, #0x0 mul r1, r6 - bl sub_02016998 + bl FUN_02016998 mov r4, #0x0 str r0, [r7, #0x4] cmp r6, #0x0 @@ -63063,7 +63063,7 @@ sub_02020E90: ; 0x02020E90 _02020EBE: ldr r0, [r7, #0x4] add r0, r0, r5 - bl sub_0202120C + bl FUN_0202120C add r4, r4, #0x1 add r5, #0x18 cmp r4, r6 @@ -63073,39 +63073,39 @@ _02020ECE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02020ED4 -sub_02020ED4: ; 0x02020ED4 + thumb_func_start FUN_02020ED4 +FUN_02020ED4: ; 0x02020ED4 push {r4, lr} add r4, r0, #0x0 bne _02020EDE - bl sub_02020C2C + bl FUN_02020C2C _02020EDE: add r0, r4, #0x0 - bl sub_02021010 + bl FUN_02021010 ldr r0, [r4, #0x0] - bl sub_02020C90 + bl FUN_02020C90 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02020EF8 -sub_02020EF8: ; 0x02020EF8 + thumb_func_start FUN_02020EF8 +FUN_02020EF8: ; 0x02020EF8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020F06 - bl sub_02020C2C + bl FUN_02020C2C _02020F06: ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_02020CB0 + bl FUN_02020CB0 pop {r3-r5, pc} - thumb_func_start sub_02020F10 -sub_02020F10: ; 0x02020F10 + thumb_func_start FUN_02020F10 +FUN_02020F10: ; 0x02020F10 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -63113,10 +63113,10 @@ sub_02020F10: ; 0x02020F10 str r2, [sp, #0x0] cmp r5, #0x0 bne _02020F22 - bl sub_02020C2C + bl FUN_02020C2C _02020F22: add r0, r5, #0x0 - bl sub_020211DC + bl FUN_020211DC add r4, r0, #0x0 strh r7, [r4, #0x16] ldrh r0, [r4, #0x16] @@ -63124,7 +63124,7 @@ _02020F22: bne _02020F40 ldr r1, [sp, #0x18] add r0, r6, #0x0 - bl sub_02021310 + bl FUN_02021310 add r1, r0, #0x0 str r6, [r4, #0x10] b _02020F46 @@ -63135,36 +63135,36 @@ _02020F40: _02020F46: ldr r0, [r5, #0x0] ldr r2, [sp, #0x0] - bl sub_02020CD4 + bl FUN_02020CD4 str r0, [r4, #0x0] add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02020F54 -sub_02020F54: ; 0x02020F54 + thumb_func_start FUN_02020F54 +FUN_02020F54: ; 0x02020F54 push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] str r4, [sp, #0x0] - bl sub_02020F10 + bl FUN_02020F10 add r4, r0, #0x0 - bl sub_02021174 + bl FUN_02021174 add r0, r4, #0x0 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02020F6C -sub_02020F6C: ; 0x02020F6C + thumb_func_start FUN_02020F6C +FUN_02020F6C: ; 0x02020F6C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020F7A - bl sub_02020C2C + bl FUN_02020C2C _02020F7A: cmp r4, #0x0 bne _02020F82 - bl sub_02020C2C + bl FUN_02020C2C _02020F82: ldrh r0, [r4, #0x16] cmp r0, #0x1 @@ -63173,7 +63173,7 @@ _02020F82: cmp r0, #0x0 bne _02020F98 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 strh r0, [r4, #0x16] _02020F98: @@ -63181,7 +63181,7 @@ _02020F98: cmp r1, #0x0 beq _02020FA4 ldr r0, [r5, #0x0] - bl sub_02020D68 + bl FUN_02020D68 _02020FA4: ldr r0, [r4, #0x4] cmp r0, #0x0 @@ -63191,7 +63191,7 @@ _02020FA4: blx r1 cmp r0, #0x0 beq _02020FB8 - bl sub_02020C2C + bl FUN_02020C2C _02020FB8: ldr r0, [r4, #0x8] cmp r0, #0x0 @@ -63201,7 +63201,7 @@ _02020FB8: blx r1 cmp r0, #0x0 beq _02020FCC - bl sub_02020C2C + bl FUN_02020C2C _02020FCC: ldr r0, [r4, #0xc] cmp r0, #0x0 @@ -63211,43 +63211,43 @@ _02020FCC: blx r1 cmp r0, #0x0 beq _02020FE0 - bl sub_02020C2C + bl FUN_02020C2C _02020FE0: add r0, r4, #0x0 - bl sub_0202120C + bl FUN_0202120C pop {r3-r5, pc} .balign 4 _02020FE8: .word 0x021064BC _02020FEC: .word 0x021064C4 - thumb_func_start sub_02020FF0 -sub_02020FF0: ; 0x02020FF0 + thumb_func_start FUN_02020FF0 +FUN_02020FF0: ; 0x02020FF0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02020FFE - bl sub_02020C2C + bl FUN_02020C2C _02020FFE: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02021050 + bl FUN_02021050 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02020F6C + bl FUN_02020F6C pop {r3-r5, pc} - thumb_func_start sub_02021010 -sub_02021010: ; 0x02021010 + thumb_func_start FUN_02021010 +FUN_02021010: ; 0x02021010 push {r4-r6, lr} add r5, r0, #0x0 bne _0202101A - bl sub_02020C2C + bl FUN_02020C2C _0202101A: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _02021024 - bl sub_02020C2C + bl FUN_02020C2C _02021024: ldr r0, [r5, #0x0] mov r6, #0x0 @@ -63262,7 +63262,7 @@ _02021030: beq _02021040 add r0, r5, #0x0 add r1, r1, r4 - bl sub_02020F6C + bl FUN_02020F6C _02021040: ldr r0, [r5, #0x0] add r6, r6, #0x1 @@ -63274,14 +63274,14 @@ _0202104C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02021050 -sub_02021050: ; 0x02021050 + thumb_func_start FUN_02021050 +FUN_02021050: ; 0x02021050 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 cmp r6, #0x0 bne _0202105E - bl sub_02020C2C + bl FUN_02020C2C _0202105E: ldr r0, [r6, #0x0] mov r4, #0x0 @@ -63295,7 +63295,7 @@ _0202106A: cmp r0, #0x0 beq _02021086 add r0, r1, r5 - bl sub_02021098 + bl FUN_02021098 cmp r0, r7 bne _02021086 mov r0, #0x18 @@ -63315,185 +63315,185 @@ _02021092: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02021098 -sub_02021098: ; 0x02021098 + thumb_func_start FUN_02021098 +FUN_02021098: ; 0x02021098 push {r4, lr} add r4, r0, #0x0 bne _020210A2 - bl sub_02020C2C + bl FUN_02020C2C _020210A2: ldr r0, [r4, #0x0] - bl sub_02020E38 + bl FUN_02020E38 pop {r4, pc} .balign 4 - thumb_func_start sub_020210AC -sub_020210AC: ; 0x020210AC + thumb_func_start FUN_020210AC +FUN_020210AC: ; 0x020210AC push {r4, lr} add r4, r0, #0x0 bne _020210B6 - bl sub_02020C2C + bl FUN_02020C2C _020210B6: add r0, r4, #0x0 - bl sub_02021220 + bl FUN_02021220 pop {r4, pc} .balign 4 - thumb_func_start sub_020210C0 -sub_020210C0: ; 0x020210C0 + thumb_func_start FUN_020210C0 +FUN_020210C0: ; 0x020210C0 push {r4, lr} add r4, r0, #0x0 bne _020210CA - bl sub_02020C2C + bl FUN_02020C2C _020210CA: ldrh r0, [r4, #0x14] cmp r0, #0x0 beq _020210D4 - bl sub_02020C2C + bl FUN_02020C2C _020210D4: ldr r0, [r4, #0xc] cmp r0, #0x0 bne _020210E0 - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} _020210E0: add r0, r4, #0x0 - bl sub_02021230 + bl FUN_02021230 add r1, r4, #0x0 - bl sub_020212B8 + bl FUN_020212B8 pop {r4, pc} .balign 4 - thumb_func_start sub_020210F0 -sub_020210F0: ; 0x020210F0 + thumb_func_start FUN_020210F0 +FUN_020210F0: ; 0x020210F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _020210FE - bl sub_02020C2C + bl FUN_02020C2C _020210FE: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02021050 - bl sub_020210C0 + bl FUN_02021050 + bl FUN_020210C0 pop {r3-r5, pc} - thumb_func_start sub_0202110C -sub_0202110C: ; 0x0202110C + thumb_func_start FUN_0202110C +FUN_0202110C: ; 0x0202110C push {r4, lr} add r4, r0, #0x0 bne _02021116 - bl sub_02020C2C + bl FUN_02020C2C _02021116: ldrh r0, [r4, #0x16] cmp r0, #0x0 bne _02021122 - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} _02021122: ldrh r0, [r4, #0x14] cmp r0, #0x0 beq _0202112E - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} _0202112E: add r0, r4, #0x0 - bl sub_02021230 - bl sub_020212F8 + bl FUN_02021230 + bl FUN_020212F8 add r0, r4, #0x0 - bl sub_02021220 + bl FUN_02021220 ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] ldr r3, [r4, #0xc] - bl sub_020212E4 + bl FUN_020212E4 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x10] mov r0, #0x1 strh r0, [r4, #0x14] pop {r4, pc} - thumb_func_start sub_02021158 -sub_02021158: ; 0x02021158 + thumb_func_start FUN_02021158 +FUN_02021158: ; 0x02021158 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021166 - bl sub_02020C2C + bl FUN_02020C2C _02021166: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02021050 - bl sub_0202110C + bl FUN_02021050 + bl FUN_0202110C pop {r3-r5, pc} - thumb_func_start sub_02021174 -sub_02021174: ; 0x02021174 + thumb_func_start FUN_02021174 +FUN_02021174: ; 0x02021174 push {r4, lr} add r4, r0, #0x0 bne _0202117E - bl sub_02020C2C + bl FUN_02020C2C _0202117E: ldrh r0, [r4, #0x14] cmp r0, #0x0 beq _02021188 - bl sub_02020C2C + bl FUN_02020C2C _02021188: ldr r0, [r4, #0xc] cmp r0, #0x0 beq _02021194 - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} _02021194: add r0, r4, #0x0 - bl sub_02021230 + bl FUN_02021230 add r2, r4, #0x0 add r1, r4, #0x4 add r4, #0xc add r2, #0x8 add r3, r4, #0x0 - bl sub_02021248 + bl FUN_02021248 pop {r4, pc} .balign 4 - thumb_func_start sub_020211AC -sub_020211AC: ; 0x020211AC + thumb_func_start FUN_020211AC +FUN_020211AC: ; 0x020211AC push {r4, lr} add r4, r0, #0x0 bne _020211B6 - bl sub_02020C2C + bl FUN_02020C2C _020211B6: ldr r0, [r4, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_020211BC -sub_020211BC: ; 0x020211BC + thumb_func_start FUN_020211BC +FUN_020211BC: ; 0x020211BC push {r4, lr} add r4, r0, #0x0 bne _020211C6 - bl sub_02020C2C + bl FUN_02020C2C _020211C6: ldr r0, [r4, #0x8] pop {r4, pc} .balign 4 - thumb_func_start sub_020211CC -sub_020211CC: ; 0x020211CC + thumb_func_start FUN_020211CC +FUN_020211CC: ; 0x020211CC push {r4, lr} add r4, r0, #0x0 bne _020211D6 - bl sub_02020C2C + bl FUN_02020C2C _020211D6: ldr r0, [r4, #0xc] pop {r4, pc} .balign 4 - thumb_func_start sub_020211DC -sub_020211DC: ; 0x020211DC + thumb_func_start FUN_020211DC +FUN_020211DC: ; 0x020211DC push {r3-r4} ldr r1, [r0, #0x0] mov r2, #0x0 @@ -63522,8 +63522,8 @@ _02021204: bx lr .balign 4 - thumb_func_start sub_0202120C -sub_0202120C: ; 0x0202120C + thumb_func_start FUN_0202120C +FUN_0202120C: ; 0x0202120C mov r1, #0x0 str r1, [r0, #0x0] str r1, [r0, #0x4] @@ -63535,45 +63535,45 @@ sub_0202120C: ; 0x0202120C bx lr .balign 4 - thumb_func_start sub_02021220 -sub_02021220: ; 0x02021220 + thumb_func_start FUN_02021220 +FUN_02021220: ; 0x02021220 push {r3, lr} ldr r0, [r0, #0x0] - bl sub_02020E0C - blx sub_020BC0FC + bl FUN_02020E0C + blx FUN_020BC0FC pop {r3, pc} .balign 4 - thumb_func_start sub_02021230 -sub_02021230: ; 0x02021230 + thumb_func_start FUN_02021230 +FUN_02021230: ; 0x02021230 push {r3, lr} ldrh r1, [r0, #0x16] cmp r1, #0x0 bne _02021240 ldr r0, [r0, #0x0] - bl sub_02020E0C + bl FUN_02020E0C b _02021242 _02021240: ldr r0, [r0, #0x10] _02021242: - blx sub_020BC0FC + blx FUN_020BC0FC pop {r3, pc} - thumb_func_start sub_02021248 -sub_02021248: ; 0x02021248 + thumb_func_start FUN_02021248 +FUN_02021248: ; 0x02021248 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 str r1, [sp, #0x0] str r2, [sp, #0x4] str r3, [sp, #0x8] - blx sub_020B7E1C + blx FUN_020B7E1C add r7, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7E10 + blx FUN_020B7E10 add r6, r0, #0x0 add r0, r5, #0x0 - blx sub_020B7CE4 + blx FUN_020B7CE4 add r4, r0, #0x0 cmp r7, #0x0 beq _0202127E @@ -63617,101 +63617,101 @@ _020212AC: _020212B0: .word 0x021064B8 _020212B4: .word 0x021064C0 - thumb_func_start sub_020212B8 -sub_020212B8: ; 0x020212B8 + thumb_func_start FUN_020212B8 +FUN_020212B8: ; 0x020212B8 push {r4, lr} add r3, r1, #0x0 ldr r1, [r3, #0x4] ldr r2, [r3, #0x8] ldr r3, [r3, #0xc] add r4, r0, #0x0 - bl sub_020212E4 + bl FUN_020212E4 ldr r1, [r4, #0x4] add r0, r4, #0x0 - blx sub_020CC15C + blx FUN_020CC15C add r0, r4, #0x0 mov r1, #0x1 - blx sub_020B7D28 + blx FUN_020B7D28 add r0, r4, #0x0 mov r1, #0x1 - blx sub_020B7C78 + blx FUN_020B7C78 pop {r4, pc} .balign 4 - thumb_func_start sub_020212E4 -sub_020212E4: ; 0x020212E4 + thumb_func_start FUN_020212E4 +FUN_020212E4: ; 0x020212E4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r3, #0x0 - blx sub_020B7DFC + blx FUN_020B7DFC add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020B7CDC + blx FUN_020B7CDC pop {r3-r5, pc} - thumb_func_start sub_020212F8 -sub_020212F8: ; 0x020212F8 + thumb_func_start FUN_020212F8 +FUN_020212F8: ; 0x020212F8 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 - blx sub_020B7CF0 + blx FUN_020B7CF0 add r0, r4, #0x0 - blx sub_020B7C58 + blx FUN_020B7C58 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02021310 -sub_02021310: ; 0x02021310 + thumb_func_start FUN_02021310 +FUN_02021310: ; 0x02021310 push {r4-r6, lr} add r6, r0, #0x0 add r4, r1, #0x0 - bl sub_02021334 + bl FUN_02021334 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02016998 + bl FUN_02016998 add r1, r6, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - blx sub_020DF438 + blx FUN_020DF438 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02021334 -sub_02021334: ; 0x02021334 + thumb_func_start FUN_02021334 +FUN_02021334: ; 0x02021334 push {r3-r5, lr} add r5, r0, #0x0 - blx sub_020BC0FC + blx FUN_020BC0FC add r4, r0, #0x0 bne _02021344 - bl sub_02020C2C + bl FUN_02020C2C _02021344: ldr r0, [r4, #0x14] add r0, r4, r0 sub r0, r0, r5 pop {r3-r5, pc} - thumb_func_start sub_0202134C -sub_0202134C: ; 0x0202134C + thumb_func_start FUN_0202134C +FUN_0202134C: ; 0x0202134C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - blx sub_020B33A0 + blx FUN_020B33A0 add r5, #0x80 str r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0202135C -sub_0202135C: ; 0x0202135C + thumb_func_start FUN_0202135C +FUN_0202135C: ; 0x0202135C push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - blx sub_020B3334 + blx FUN_020B3334 add r2, r5, #0x0 ldmia r4!, {r0-r1} stmia r2!, {r0-r1} @@ -63727,13 +63727,13 @@ sub_0202135C: ; 0x0202135C cmp r0, #0x0 beq _0202138C add r1, r5, #0x0 - blx sub_020B3390 + blx FUN_020B3390 _0202138C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02021390 -sub_02021390: ; 0x02021390 + thumb_func_start FUN_02021390 +FUN_02021390: ; 0x02021390 add r3, r0, #0x0 add r2, r1, #0x0 ldmia r2!, {r0-r1} @@ -63743,8 +63743,8 @@ sub_02021390: ; 0x02021390 bx lr .balign 4 - thumb_func_start sub_020213A0 -sub_020213A0: ; 0x020213A0 + thumb_func_start FUN_020213A0 +FUN_020213A0: ; 0x020213A0 push {r3-r7, lr} sub sp, #0x60 add r5, r1, #0x0 @@ -63809,14 +63809,14 @@ _02021400: ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] add r0, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r1, #0x0 str r0, [sp, #0x30] ldr r1, [sp, #0x24] ldr r2, [sp, #0x1c] ldr r3, [sp, #0x20] add r0, r4, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r2, r0, #0x0 add r3, r1, #0x0 mov r0, #0x2 @@ -63846,14 +63846,14 @@ _02021400: str r0, [sp, #0x34] ldr r0, [sp, #0x10] ldr r1, [sp, #0x34] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x38] add r4, r1, #0x0 ldr r0, [sp, #0x10] ldr r1, [sp, #0x34] ldr r2, [sp, #0x1c] ldr r3, [sp, #0x20] - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 ldr r3, [sp, #0x38] lsl r2, r2, #0xa @@ -63889,14 +63889,14 @@ _02021400: ldr r0, [sp, #0xc] ldr r2, [sp, #0x48] ldr r3, [sp, #0x4c] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x50] add r5, r1, #0x0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x44] ldr r2, [sp, #0x3c] ldr r3, [sp, #0x40] - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 ldr r3, [sp, #0x50] lsl r2, r2, #0xa @@ -63924,14 +63924,14 @@ _02021400: ldr r1, [sp, #0x54] ldr r2, [sp, #0x48] ldr r3, [sp, #0x4c] - blx sub_020EBC30 + blx FUN_020EBC30 str r0, [sp, #0x58] str r1, [sp, #0x4] ldr r0, [sp, #0x8] ldr r1, [sp, #0x54] ldr r2, [sp, #0x3c] ldr r3, [sp, #0x40] - blx sub_020EBC30 + blx FUN_020EBC30 mov r12, r0 add r2, r1, #0x0 mov r0, #0x2 @@ -63991,8 +63991,8 @@ _02021586: .balign 4 _0202158C: .word 0x00000000 - thumb_func_start sub_02021590 -sub_02021590: ; 0x02021590 + thumb_func_start FUN_02021590 +FUN_02021590: ; 0x02021590 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -64001,7 +64001,7 @@ sub_02021590: ; 0x02021590 mov r1, #0x78 add r7, r2, #0x0 str r3, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _020215C0 ldr r1, [sp, #0x20] @@ -64009,31 +64009,31 @@ sub_02021590: ; 0x02021590 str r1, [sp, #0x0] add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_02021600 + bl FUN_02021600 ldr r2, [sp, #0x20] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_020216D4 + bl FUN_020216D4 _020215C0: add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020215C8 -sub_020215C8: ; 0x020215C8 + thumb_func_start FUN_020215C8 +FUN_020215C8: ; 0x020215C8 push {r4, lr} add r4, r0, #0x0 - bl sub_02021728 + bl FUN_02021728 add r0, r4, #0x0 - bl sub_020216B8 + bl FUN_020216B8 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020215E0 -sub_020215E0: ; 0x020215E0 + thumb_func_start FUN_020215E0 +FUN_020215E0: ; 0x020215E0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -64041,17 +64041,17 @@ sub_020215E0: ; 0x020215E0 add r6, r2, #0x0 cmp r1, r4 beq _020215FC - bl sub_02021728 + bl FUN_02021728 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020216D4 + bl FUN_020216D4 _020215FC: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02021600 -sub_02021600: ; 0x02021600 + thumb_func_start FUN_02021600 +FUN_02021600: ; 0x02021600 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -64059,7 +64059,7 @@ sub_02021600: ; 0x02021600 ldr r1, [sp, #0x18] add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02006670 + bl FUN_02006670 str r0, [r5, #0x54] cmp r0, #0x0 beq _020216A6 @@ -64069,26 +64069,26 @@ sub_02021600: ; 0x02021600 add r1, r4, #0x0 mov r2, #0x0 mov r3, #0x10 - bl sub_02006814 + bl FUN_02006814 str r6, [r5, #0x6c] cmp r6, #0x0 beq _02021638 mov r0, #0x0 str r0, [r5, #0x74] - ldr r0, _020216AC ; =sub_0202192C + ldr r0, _020216AC ; =FUN_0202192C str r0, [r5, #0x70] b _02021660 _02021638: ldr r0, [r5, #0x60] cmp r0, #0x0 bne _02021642 - bl sub_02020C2C + bl FUN_02020C2C _02021642: ldr r0, [sp, #0x18] ldr r1, [r5, #0x64] - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x74] - ldr r0, _020216B0 ; =sub_02021924 + ldr r0, _020216B0 ; =FUN_02021924 add r1, r4, #0x0 str r0, [r5, #0x70] ldr r0, [r5, #0x74] @@ -64096,7 +64096,7 @@ _02021642: ldr r0, [r5, #0x54] ldr r2, [r5, #0x60] ldr r3, [r5, #0x64] - bl sub_02006814 + bl FUN_02006814 _02021660: add r0, r5, #0x0 add r0, #0x6a @@ -64109,7 +64109,7 @@ _02021660: cmp r0, #0x2 bls _02021678 _02021674: - bl sub_02020C2C + bl FUN_02020C2C _02021678: add r0, r5, #0x0 add r0, #0x6a @@ -64138,29 +64138,29 @@ _020216A6: add sp, #0x4 pop {r3-r6, pc} nop -_020216AC: .word sub_0202192C + 1 -_020216B0: .word sub_02021924 + 1 +_020216AC: .word FUN_0202192C + 1 +_020216B0: .word FUN_02021924 + 1 _020216B4: .word 0x020EE668 - thumb_func_start sub_020216B8 -sub_020216B8: ; 0x020216B8 + thumb_func_start FUN_020216B8 +FUN_020216B8: ; 0x020216B8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x74] cmp r0, #0x0 beq _020216C6 - bl sub_02016A18 + bl FUN_02016A18 _020216C6: ldr r0, [r4, #0x54] cmp r0, #0x0 beq _020216D0 - bl sub_020066F4 + bl FUN_020066F4 _020216D0: pop {r4, pc} .balign 4 - thumb_func_start sub_020216D4 -sub_020216D4: ; 0x020216D4 + thumb_func_start FUN_020216D4 +FUN_020216D4: ; 0x020216D4 push {r3, lr} add r3, r1, #0x0 add r1, r2, #0x0 @@ -64173,8 +64173,8 @@ sub_020216D4: ; 0x020216D4 nop _020216E8: .word 0x020EE66C - thumb_func_start sub_020216EC -sub_020216EC: ; 0x020216EC + thumb_func_start FUN_020216EC +FUN_020216EC: ; 0x020216EC push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0xc] @@ -64183,9 +64183,9 @@ sub_020216EC: ; 0x020216EC mul r4, r0 add r0, r1, #0x0 add r1, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x10] - ldr r0, _02021718 ; =sub_02021774 + ldr r0, _02021718 ; =FUN_02021774 add r3, r4, #0x0 str r0, [r5, #0x4] ldr r0, [r5, #0x10] @@ -64193,21 +64193,21 @@ sub_020216EC: ; 0x020216EC ldr r0, [r5, #0x54] ldr r1, [r5, #0x58] ldr r2, [r5, #0x5c] - bl sub_02006814 + bl FUN_02006814 pop {r3-r5, pc} .balign 4 -_02021718: .word sub_02021774 + 1 +_02021718: .word FUN_02021774 + 1 - thumb_func_start sub_0202171C -sub_0202171C: ; 0x0202171C - ldr r1, _02021724 ; =sub_0202181C + thumb_func_start FUN_0202171C +FUN_0202171C: ; 0x0202171C + ldr r1, _02021724 ; =FUN_0202181C str r1, [r0, #0x4] bx lr nop -_02021724: .word sub_0202181C + 1 +_02021724: .word FUN_0202181C + 1 - thumb_func_start sub_02021728 -sub_02021728: ; 0x02021728 + thumb_func_start FUN_02021728 +FUN_02021728: ; 0x02021728 push {r3, lr} ldr r1, [r0, #0x0] lsl r2, r1, #0x2 @@ -64218,23 +64218,23 @@ sub_02021728: ; 0x02021728 nop _02021738: .word 0x020EE674 - thumb_func_start sub_0202173C -sub_0202173C: ; 0x0202173C + thumb_func_start FUN_0202173C +FUN_0202173C: ; 0x0202173C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x10] pop {r4, pc} - thumb_func_start sub_0202174C -sub_0202174C: ; 0x0202174C + thumb_func_start FUN_0202174C +FUN_0202174C: ; 0x0202174C bx lr .balign 4 - thumb_func_start sub_02021750 -sub_02021750: ; 0x02021750 + thumb_func_start FUN_02021750 +FUN_02021750: ; 0x02021750 push {r3, lr} ldr r3, [r0, #0x64] cmp r1, r3 @@ -64255,8 +64255,8 @@ _02021764: pop {r3, pc} .balign 4 - thumb_func_start sub_02021774 -sub_02021774: ; 0x02021774 + thumb_func_start FUN_02021774 +FUN_02021774: ; 0x02021774 push {r3-r7, lr} str r1, [sp, #0x0] add r7, r0, #0x0 @@ -64281,7 +64281,7 @@ sub_02021774: ; 0x02021774 lsl r4, r7, #0 add r0, r4, r5 add r1, r6, #0x0 - bl sub_0201C100 + bl FUN_0201C100 b _02021802 _020217AA: .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7 @@ -64306,8 +64306,8 @@ _02021802: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202181C -sub_0202181C: ; 0x0202181C + thumb_func_start FUN_0202181C +FUN_0202181C: ; 0x0202181C push {r3-r7, lr} add r4, r0, #0x0 ldr r6, [r4, #0xc] @@ -64322,7 +64322,7 @@ sub_0202181C: ; 0x0202181C ldr r0, [r4, #0x54] ldr r1, [r4, #0x58] add r3, r6, #0x0 - bl sub_02006814 + bl FUN_02006814 ldr r0, [r4, #0x8] cmp r0, #0x3 bhi _020218C0 @@ -64339,7 +64339,7 @@ sub_0202181C: ; 0x0202181C add r0, r4, #0x0 add r0, #0x14 add r1, r5, #0x0 - bl sub_0201C100 + bl FUN_0201C100 b _020218C0 _02021862: .byte 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x4A, 0xFC, 0x20, 0x1C, 0x29, 0x1C @@ -64362,8 +64362,8 @@ _020218C0: strb r0, [r5, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020218D8 -sub_020218D8: ; 0x020218D8 + thumb_func_start FUN_020218D8 +FUN_020218D8: ; 0x020218D8 push {r3-r7, lr} add r4, r1, #0x0 ldrh r1, [r4, #0x0] @@ -64378,7 +64378,7 @@ _020218EA: cmp r1, r0 bne _02021900 add r0, r4, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r4, r0, #0x0 ldrh r1, [r4, #0x0] ldr r0, _0202191C ; =0x0000FFFF @@ -64403,22 +64403,22 @@ _02021916: _0202191C: .word 0x0000FFFF _02021920: .word 0x0000FFFE - thumb_func_start sub_02021924 -sub_02021924: ; 0x02021924 + thumb_func_start FUN_02021924 +FUN_02021924: ; 0x02021924 ldr r0, [r0, #0x74] ldrb r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_0202192C -sub_0202192C: ; 0x0202192C + thumb_func_start FUN_0202192C +FUN_0202192C: ; 0x0202192C add r0, #0x68 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02021934 -sub_02021934: ; 0x02021934 + thumb_func_start FUN_02021934 +FUN_02021934: ; 0x02021934 push {r3-r7, lr} add r5, r1, #0x0 ldrh r1, [r5, #0x0] @@ -64434,7 +64434,7 @@ _02021948: cmp r1, r0 bne _02021958 add r0, r5, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r5, r0, #0x0 b _0202197E _02021958: @@ -64477,8 +64477,8 @@ _02021990: _02021994: .word 0x0000FFFF _02021998: .word 0x0000FFFE - thumb_func_start sub_0202199C -sub_0202199C: ; 0x0202199C + thumb_func_start FUN_0202199C +FUN_0202199C: ; 0x0202199C push {r3-r7, lr} add r5, r1, #0x0 ldrh r1, [r5, #0x0] @@ -64492,18 +64492,18 @@ _020219AE: cmp r1, r7 bne _020219D4 add r0, r5, #0x0 - bl sub_0201B8E0 + bl FUN_0201B8E0 ldr r1, _020219F0 ; =0x00000203 cmp r0, r1 bne _020219CA add r0, r5, #0x0 mov r1, #0x0 - bl sub_0201B914 + bl FUN_0201B914 add r4, r0, #0x0 sub r4, #0xc _020219CA: add r0, r5, #0x0 - bl sub_0201B8B8 + bl FUN_0201B8B8 add r5, r0, #0x0 b _020219E0 _020219D4: @@ -64525,14 +64525,14 @@ _020219E8: _020219EC: .word 0x0000FFFF _020219F0: .word 0x00000203 - thumb_func_start sub_020219F4 -sub_020219F4: ; 0x020219F4 + thumb_func_start FUN_020219F4 +FUN_020219F4: ; 0x020219F4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 lsl r1, r4, #0x1 add r1, #0xa - bl sub_02016998 + bl FUN_02016998 cmp r0, #0x0 beq _02021A14 ldr r1, _02021A18 ; =0xB6F8D2EC @@ -64548,40 +64548,40 @@ _02021A14: _02021A18: .word 0xB6F8D2EC _02021A1C: .word 0x0000FFFF - thumb_func_start sub_02021A20 -sub_02021A20: ; 0x02021A20 + thumb_func_start FUN_02021A20 +FUN_02021A20: ; 0x02021A20 push {r4, lr} add r4, r0, #0x0 bne _02021A2A - bl sub_02020C2C + bl FUN_02020C2C _02021A2A: ldr r1, [r4, #0x4] ldr r0, _02021A44 ; =0xB6F8D2EC cmp r1, r0 beq _02021A36 - bl sub_02020C2C + bl FUN_02020C2C _02021A36: ldr r0, _02021A48 ; =0xB6F8D2ED str r0, [r4, #0x4] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} nop _02021A44: .word 0xB6F8D2EC _02021A48: .word 0xB6F8D2ED - thumb_func_start sub_02021A4C -sub_02021A4C: ; 0x02021A4C + thumb_func_start FUN_02021A4C +FUN_02021A4C: ; 0x02021A4C push {r4, lr} add r4, r0, #0x0 bne _02021A56 - bl sub_02020C2C + bl FUN_02020C2C _02021A56: ldr r1, [r4, #0x4] ldr r0, _02021A6C ; =0xB6F8D2EC cmp r1, r0 beq _02021A62 - bl sub_02020C2C + bl FUN_02020C2C _02021A62: mov r0, #0x0 strh r0, [r4, #0x2] @@ -64592,30 +64592,30 @@ _02021A62: _02021A6C: .word 0xB6F8D2EC _02021A70: .word 0x0000FFFF - thumb_func_start sub_02021A74 -sub_02021A74: ; 0x02021A74 + thumb_func_start FUN_02021A74 +FUN_02021A74: ; 0x02021A74 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021A82 - bl sub_02020C2C + bl FUN_02020C2C _02021A82: ldr r1, [r5, #0x4] ldr r0, _02021AC8 ; =0xB6F8D2EC cmp r1, r0 beq _02021A8E - bl sub_02020C2C + bl FUN_02020C2C _02021A8E: cmp r4, #0x0 bne _02021A96 - bl sub_02020C2C + bl FUN_02020C2C _02021A96: ldr r1, [r4, #0x4] ldr r0, _02021AC8 ; =0xB6F8D2EC cmp r1, r0 beq _02021AA2 - bl sub_02020C2C + bl FUN_02020C2C _02021AA2: ldrh r2, [r4, #0x2] ldrh r0, [r5, #0x0] @@ -64627,47 +64627,47 @@ _02021AA2: add r0, #0x8 add r1, #0x8 lsl r2, r2, #0x1 - blx sub_020DF438 + blx FUN_020DF438 ldrh r0, [r4, #0x2] strh r0, [r5, #0x2] pop {r3-r5, pc} _02021AC0: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} nop _02021AC8: .word 0xB6F8D2EC - thumb_func_start sub_02021ACC -sub_02021ACC: ; 0x02021ACC + thumb_func_start FUN_02021ACC +FUN_02021ACC: ; 0x02021ACC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021ADA - bl sub_02020C2C + bl FUN_02020C2C _02021ADA: ldr r1, [r5, #0x4] ldr r0, _02021B00 ; =0xB6F8D2EC cmp r1, r0 beq _02021AE6 - bl sub_02020C2C + bl FUN_02020C2C _02021AE6: ldrh r0, [r5, #0x2] add r1, r4, #0x0 add r0, r0, #0x1 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 beq _02021AFA add r1, r5, #0x0 - bl sub_02021A74 + bl FUN_02021A74 _02021AFA: add r0, r4, #0x0 pop {r3-r5, pc} nop _02021B00: .word 0xB6F8D2EC - thumb_func_start sub_02021B04 -sub_02021B04: ; 0x02021B04 + thumb_func_start FUN_02021B04 +FUN_02021B04: ; 0x02021B04 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -64678,13 +64678,13 @@ sub_02021B04: ; 0x02021B04 str r0, [sp, #0x20] cmp r5, #0x0 bne _02021B1C - bl sub_02020C2C + bl FUN_02020C2C _02021B1C: ldr r1, [r5, #0x4] ldr r0, _02021C1C ; =0xB6F8D2EC cmp r1, r0 beq _02021B28 - bl sub_02020C2C + bl FUN_02020C2C _02021B28: cmp r6, #0x0 bge _02021B30 @@ -64709,7 +64709,7 @@ _02021B48: str r0, [sp, #0x4] _02021B4C: add r0, r5, #0x0 - bl sub_02021A4C + bl FUN_02021A4C cmp r4, #0x0 beq _02021B74 mov r0, #0x0 @@ -64739,7 +64739,7 @@ _02021B74: _02021B80: add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r0, #0x10 lsr r1, r0, #0x10 add r0, r4, #0x0 @@ -64809,7 +64809,7 @@ _02021BEC: _02021BFA: add r0, r4, #0x0 mov r1, #0xa - blx sub_020EBE8C + blx FUN_020EBE8C add r4, r0, #0x0 bne _02021B80 _02021C06: @@ -64821,7 +64821,7 @@ _02021C06: strh r1, [r0, #0x8] pop {r3-r7, pc} _02021C14: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x8 pop {r3-r7, pc} .balign 4 @@ -64833,8 +64833,8 @@ _02021C2C: .word 0x020EE6A0 _02021C30: .word 0x000001E2 _02021C34: .word 0x0000FFFF - thumb_func_start sub_02021C38 -sub_02021C38: ; 0x02021C38 + thumb_func_start FUN_02021C38 +FUN_02021C38: ; 0x02021C38 push {r3-r7, lr} sub sp, #0x10 str r1, [sp, #0x0] @@ -64890,7 +64890,7 @@ _02021C98: add r1, r2, #0x0 add r2, r7, #0x0 add r3, r5, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r2, r1, #0x0 ldr r1, [sp, #0x8] add r0, r1, r0 @@ -64902,7 +64902,7 @@ _02021C98: add r1, r5, #0x0 mov r2, #0xa mov r3, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 add r7, r0, #0x0 ldr r0, [sp, #0x4] add r5, r1, #0x0 @@ -64921,30 +64921,30 @@ _02021CCC: nop _02021CDC: .word 0x00000121 - thumb_func_start sub_02021CE0 -sub_02021CE0: ; 0x02021CE0 + thumb_func_start FUN_02021CE0 +FUN_02021CE0: ; 0x02021CE0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021CEE - bl sub_02020C2C + bl FUN_02020C2C _02021CEE: ldr r1, [r5, #0x4] ldr r0, _02021D34 ; =0xB6F8D2EC cmp r1, r0 beq _02021CFA - bl sub_02020C2C + bl FUN_02020C2C _02021CFA: cmp r4, #0x0 bne _02021D02 - bl sub_02020C2C + bl FUN_02020C2C _02021D02: ldr r1, [r4, #0x4] ldr r0, _02021D34 ; =0xB6F8D2EC cmp r1, r0 beq _02021D0E - bl sub_02020C2C + bl FUN_02020C2C _02021D0E: ldrh r1, [r5, #0x8] ldrh r0, [r4, #0x8] @@ -64971,36 +64971,36 @@ _02021D2E: _02021D34: .word 0xB6F8D2EC _02021D38: .word 0x0000FFFF - thumb_func_start sub_02021D3C -sub_02021D3C: ; 0x02021D3C + thumb_func_start FUN_02021D3C +FUN_02021D3C: ; 0x02021D3C push {r4, lr} add r4, r0, #0x0 bne _02021D46 - bl sub_02020C2C + bl FUN_02020C2C _02021D46: ldr r1, [r4, #0x4] ldr r0, _02021D58 ; =0xB6F8D2EC cmp r1, r0 beq _02021D52 - bl sub_02020C2C + bl FUN_02020C2C _02021D52: ldrh r0, [r4, #0x2] pop {r4, pc} nop _02021D58: .word 0xB6F8D2EC - thumb_func_start sub_02021D5C -sub_02021D5C: ; 0x02021D5C + thumb_func_start FUN_02021D5C +FUN_02021D5C: ; 0x02021D5C push {r3-r5, lr} add r4, r0, #0x0 bne _02021D66 - bl sub_02020C2C + bl FUN_02020C2C _02021D66: ldr r1, [r4, #0x4] ldr r0, _02021D98 ; =0xB6F8D2EC cmp r1, r0 beq _02021D72 - bl sub_02020C2C + bl FUN_02020C2C _02021D72: ldrh r1, [r4, #0x2] mov r3, #0x0 @@ -65026,31 +65026,31 @@ _02021D94: nop _02021D98: .word 0xB6F8D2EC - thumb_func_start sub_02021D9C -sub_02021D9C: ; 0x02021D9C + thumb_func_start FUN_02021D9C +FUN_02021D9C: ; 0x02021D9C push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 add r6, r2, #0x0 cmp r5, #0x0 bne _02021DAC - bl sub_02020C2C + bl FUN_02020C2C _02021DAC: ldr r1, [r5, #0x4] ldr r0, _02021E24 ; =0xB6F8D2EC cmp r1, r0 beq _02021DB8 - bl sub_02020C2C + bl FUN_02020C2C _02021DB8: cmp r7, #0x0 bne _02021DC0 - bl sub_02020C2C + bl FUN_02020C2C _02021DC0: ldr r1, [r7, #0x4] ldr r0, _02021E24 ; =0xB6F8D2EC cmp r1, r0 beq _02021DCC - bl sub_02020C2C + bl FUN_02020C2C _02021DCC: mov r4, #0x0 cmp r6, #0x0 @@ -65077,7 +65077,7 @@ _02021DEC: blt _02021DDE _02021DF6: add r0, r7, #0x0 - bl sub_02021A4C + bl FUN_02021A4C ldrh r0, [r5, #0x2] cmp r4, r0 bge _02021E20 @@ -65090,7 +65090,7 @@ _02021E06: cmp r1, r0 beq _02021E20 add r0, r7, #0x0 - bl sub_02021FB0 + bl FUN_02021FB0 ldrh r0, [r5, #0x2] add r4, r4, #0x1 add r6, r6, #0x2 @@ -65101,20 +65101,20 @@ _02021E20: nop _02021E24: .word 0xB6F8D2EC - thumb_func_start sub_02021E28 -sub_02021E28: ; 0x02021E28 + thumb_func_start FUN_02021E28 +FUN_02021E28: ; 0x02021E28 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021E36 - bl sub_02020C2C + bl FUN_02020C2C _02021E36: ldr r1, [r5, #0x4] ldr r0, _02021E84 ; =0xB6F8D2EC cmp r1, r0 beq _02021E42 - bl sub_02020C2C + bl FUN_02020C2C _02021E42: mov r0, #0x0 strh r0, [r5, #0x2] @@ -65129,7 +65129,7 @@ _02021E50: sub r2, r2, #0x1 cmp r0, r2 blt _02021E60 - bl sub_02020C2C + bl FUN_02020C2C b _02021E76 _02021E60: add r2, r0, #0x0 @@ -65154,21 +65154,21 @@ _02021E76: _02021E84: .word 0xB6F8D2EC _02021E88: .word 0x0000FFFF - thumb_func_start sub_02021E8C -sub_02021E8C: ; 0x02021E8C + thumb_func_start FUN_02021E8C +FUN_02021E8C: ; 0x02021E8C push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r4, r2, #0x0 cmp r5, #0x0 bne _02021E9C - bl sub_02020C2C + bl FUN_02020C2C _02021E9C: ldr r1, [r5, #0x4] ldr r0, _02021EE8 ; =0xB6F8D2EC cmp r1, r0 beq _02021EA8 - bl sub_02020C2C + bl FUN_02020C2C _02021EA8: ldrh r0, [r5, #0x0] cmp r4, r0 @@ -65178,7 +65178,7 @@ _02021EA8: add r0, #0x8 add r1, r7, #0x0 add r2, r6, #0x0 - blx sub_020DF438 + blx FUN_020DF438 mov r2, #0x0 cmp r4, #0x0 bls _02021ED4 @@ -65201,28 +65201,28 @@ _02021ED4: strh r1, [r0, #0x6] pop {r3-r7, pc} _02021EE2: - bl sub_02020C2C + bl FUN_02020C2C _02021EE6: pop {r3-r7, pc} .balign 4 _02021EE8: .word 0xB6F8D2EC _02021EEC: .word 0x0000FFFF - thumb_func_start sub_02021EF0 -sub_02021EF0: ; 0x02021EF0 + thumb_func_start FUN_02021EF0 +FUN_02021EF0: ; 0x02021EF0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 cmp r5, #0x0 bne _02021F00 - bl sub_02020C2C + bl FUN_02020C2C _02021F00: ldr r1, [r5, #0x4] ldr r0, _02021F28 ; =0xB6F8D2EC cmp r1, r0 beq _02021F0C - bl sub_02020C2C + bl FUN_02020C2C _02021F0C: ldrh r0, [r5, #0x2] add r2, r0, #0x1 @@ -65232,26 +65232,26 @@ _02021F0C: add r0, r6, #0x0 add r1, r5, #0x0 lsl r2, r2, #0x1 - blx sub_020DF438 + blx FUN_020DF438 pop {r4-r6, pc} _02021F22: - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} .balign 4 _02021F28: .word 0xB6F8D2EC - thumb_func_start sub_02021F2C -sub_02021F2C: ; 0x02021F2C + thumb_func_start FUN_02021F2C +FUN_02021F2C: ; 0x02021F2C push {r4, lr} add r4, r0, #0x0 bne _02021F36 - bl sub_02020C2C + bl FUN_02020C2C _02021F36: ldr r1, [r4, #0x4] ldr r0, _02021F48 ; =0xB6F8D2EC cmp r1, r0 beq _02021F42 - bl sub_02020C2C + bl FUN_02020C2C _02021F42: add r4, #0x8 add r0, r4, #0x0 @@ -65259,30 +65259,30 @@ _02021F42: .balign 4 _02021F48: .word 0xB6F8D2EC - thumb_func_start sub_02021F4C -sub_02021F4C: ; 0x02021F4C + thumb_func_start FUN_02021F4C +FUN_02021F4C: ; 0x02021F4C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021F5A - bl sub_02020C2C + bl FUN_02020C2C _02021F5A: ldr r1, [r5, #0x4] ldr r0, _02021FAC ; =0xB6F8D2EC cmp r1, r0 beq _02021F66 - bl sub_02020C2C + bl FUN_02020C2C _02021F66: cmp r4, #0x0 bne _02021F6E - bl sub_02020C2C + bl FUN_02020C2C _02021F6E: ldr r1, [r4, #0x4] ldr r0, _02021FAC ; =0xB6F8D2EC cmp r1, r0 beq _02021F7A - bl sub_02020C2C + bl FUN_02020C2C _02021F7A: ldrh r2, [r4, #0x2] ldrh r0, [r5, #0x2] @@ -65299,32 +65299,32 @@ _02021F7A: add r2, r2, #0x1 add r1, #0x8 lsl r2, r2, #0x1 - blx sub_020DF438 + blx FUN_020DF438 ldrh r1, [r5, #0x2] ldrh r0, [r4, #0x2] add r0, r1, r0 strh r0, [r5, #0x2] pop {r3-r5, pc} _02021FA6: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} .balign 4 _02021FAC: .word 0xB6F8D2EC - thumb_func_start sub_02021FB0 -sub_02021FB0: ; 0x02021FB0 + thumb_func_start FUN_02021FB0 +FUN_02021FB0: ; 0x02021FB0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02021FBE - bl sub_02020C2C + bl FUN_02020C2C _02021FBE: ldr r1, [r5, #0x4] ldr r0, _02021FF0 ; =0xB6F8D2EC cmp r1, r0 beq _02021FCA - bl sub_02020C2C + bl FUN_02020C2C _02021FCA: ldrh r2, [r5, #0x2] ldrh r0, [r5, #0x0] @@ -65342,24 +65342,24 @@ _02021FCA: strh r1, [r0, #0x8] pop {r3-r5, pc} _02021FE8: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} nop _02021FF0: .word 0xB6F8D2EC _02021FF4: .word 0x0000FFFF - thumb_func_start sub_02021FF8 -sub_02021FF8: ; 0x02021FF8 + thumb_func_start FUN_02021FF8 +FUN_02021FF8: ; 0x02021FF8 push {r4, lr} add r4, r0, #0x0 bne _02022002 - bl sub_02020C2C + bl FUN_02020C2C _02022002: ldr r1, [r4, #0x4] ldr r0, _02022028 ; =0xB6F8D2EC cmp r1, r0 beq _0202200E - bl sub_02020C2C + bl FUN_02020C2C _0202200E: ldrh r0, [r4, #0x2] cmp r0, #0x0 @@ -65379,8 +65379,8 @@ _02022026: _02022028: .word 0xB6F8D2EC _0202202C: .word 0x00000145 - thumb_func_start sub_02022030 -sub_02022030: ; 0x02022030 + thumb_func_start FUN_02022030 +FUN_02022030: ; 0x02022030 ldrh r1, [r0, #0x2] cmp r1, #0x0 beq _02022044 @@ -65395,13 +65395,13 @@ _02022044: mov r0, #0x0 bx lr - thumb_func_start sub_02022048 -sub_02022048: ; 0x02022048 + thumb_func_start FUN_02022048 +FUN_02022048: ; 0x02022048 push {r3-r7, lr} add r4, r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02022030 + bl FUN_02022030 cmp r0, #0x0 beq _020220B2 ldr r0, [sp, #0x0] @@ -65455,14 +65455,14 @@ _020220A2: _020220B2: ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_02021F4C + bl FUN_02021F4C pop {r3-r7, pc} .balign 4 _020220BC: .word 0x000001FF _020220C0: .word 0x0000FFFF - thumb_func_start sub_020220C4 -sub_020220C4: ; 0x020220C4 + thumb_func_start FUN_020220C4 +FUN_020220C4: ; 0x020220C4 push {r3-r7, lr} add r7, r1, #0x0 add r5, r0, #0x0 @@ -65470,11 +65470,11 @@ sub_020220C4: ; 0x020220C4 str r3, [sp, #0x0] cmp r7, #0x0 bne _020220D6 - bl sub_02020C2C + bl FUN_02020C2C _020220D6: ldr r0, [sp, #0x18] mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 beq _0202211C str r5, [r4, #0x0] @@ -65484,7 +65484,7 @@ _020220D6: str r0, [r4, #0xc] ldr r0, [sp, #0x18] lsl r1, r7, #0x2 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x10] cmp r0, #0x0 beq _02022114 @@ -65495,7 +65495,7 @@ _020220D6: _02022102: ldr r0, [r4, #0x10] add r0, r0, r5 - bl sub_02022120 + bl FUN_02022120 add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, r7 @@ -65503,14 +65503,14 @@ _02022102: b _0202211C _02022114: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r4, #0x0 _0202211C: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02022120 -sub_02022120: ; 0x02022120 + thumb_func_start FUN_02022120 +FUN_02022120: ; 0x02022120 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -65518,29 +65518,29 @@ sub_02022120: ; 0x02022120 bx lr .balign 4 - thumb_func_start sub_0202212C -sub_0202212C: ; 0x0202212C + thumb_func_start FUN_0202212C +FUN_0202212C: ; 0x0202212C push {r4, lr} add r4, r0, #0x0 bne _02022136 - bl sub_02020C2C + bl FUN_02020C2C _02022136: ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02022144 -sub_02022144: ; 0x02022144 + thumb_func_start FUN_02022144 +FUN_02022144: ; 0x02022144 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02020A98 + bl FUN_02020A98 str r0, [sp, #0x0] cmp r0, #0x0 beq _02022190 - bl sub_02020AA4 + bl FUN_02020AA4 str r0, [sp, #0x4] ldr r0, [r5, #0x4] mov r6, #0x0 @@ -65555,11 +65555,11 @@ _02022164: ldr r0, [r5, #0x0] beq _02022178 add r0, r0, r4 - bl sub_02020A40 + bl FUN_02020A40 b _0202217E _02022178: add r0, r0, r4 - bl sub_02020A6C + bl FUN_02020A6C _0202217E: ldr r1, [r5, #0x10] add r6, r6, #0x1 @@ -65623,8 +65623,8 @@ _020221E4: .balign 4 _020221E8: .word 0x020EE6CC - thumb_func_start sub_020221EC -sub_020221EC: ; 0x020221EC + thumb_func_start FUN_020221EC +FUN_020221EC: ; 0x020221EC push {r3, lr} ldrb r1, [r0, #0x1] cmp r1, #0x0 @@ -65632,7 +65632,7 @@ sub_020221EC: ; 0x020221EC cmp r2, #0x0 beq _02022202 mov r1, #0x1 - bl sub_0202223C + bl FUN_0202223C mov r0, #0x0 pop {r3, pc} _02022202: @@ -65640,8 +65640,8 @@ _02022202: mvn r0, r0 pop {r3, pc} - thumb_func_start sub_02022208 -sub_02022208: ; 0x02022208 + thumb_func_start FUN_02022208 +FUN_02022208: ; 0x02022208 push {r3, lr} ldrb r2, [r0, #0x1] cmp r2, #0x0 @@ -65659,26 +65659,26 @@ _02022220: cmp r1, #0x0 beq _0202222E mov r1, #0x0 - bl sub_0202223C + bl FUN_0202223C mov r0, #0x3 pop {r3, pc} _0202222E: mov r1, #0x0 - bl sub_0202223C + bl FUN_0202223C mov r0, #0x1 pop {r3, pc} .balign 4 _02022238: .word 0x0000FFFF - thumb_func_start sub_0202223C -sub_0202223C: ; 0x0202223C + thumb_func_start FUN_0202223C +FUN_0202223C: ; 0x0202223C strb r1, [r0, #0x0] mov r1, #0x0 strh r1, [r0, #0x2] bx lr - thumb_func_start sub_02022244 -sub_02022244: ; 0x02022244 + thumb_func_start FUN_02022244 +FUN_02022244: ; 0x02022244 push {r3-r4} ldr r3, [r0, #0xc] mov r2, #0x0 @@ -65710,8 +65710,8 @@ _02022262: bx lr .balign 4 - thumb_func_start sub_0202227C -sub_0202227C: ; 0x0202227C + thumb_func_start FUN_0202227C +FUN_0202227C: ; 0x0202227C ldr r2, [r0, #0x0] str r2, [r1, #0xc] add r2, r0, #0x4 @@ -65725,8 +65725,8 @@ sub_0202227C: ; 0x0202227C str r0, [r1, #0x8] bx lr - thumb_func_start sub_02022294 -sub_02022294: ; 0x02022294 + thumb_func_start FUN_02022294 +FUN_02022294: ; 0x02022294 ldr r0, _020222A4 ; =0x021C59BC mov r1, #0x0 str r1, [r0, #0x0] @@ -65739,15 +65739,15 @@ sub_02022294: ; 0x02022294 _020222A4: .word 0x021C59BC _020222A8: .word 0x021C59BC - thumb_func_start sub_020222AC -sub_020222AC: ; 0x020222AC - ldr r3, _020222B0 ; =sub_020C7E0C + thumb_func_start FUN_020222AC +FUN_020222AC: ; 0x020222AC + ldr r3, _020222B0 ; =FUN_020C7E0C bx r3 .balign 4 -_020222B0: .word sub_020C7E0C +_020222B0: .word FUN_020C7E0C - thumb_func_start sub_020222B4 -sub_020222B4: ; 0x020222B4 + thumb_func_start FUN_020222B4 +FUN_020222B4: ; 0x020222B4 ldr r2, _020222C0 ; =0x021C59BC str r0, [r2, #0x4] str r1, [r2, #0x8] @@ -65757,8 +65757,8 @@ sub_020222B4: ; 0x020222B4 .balign 4 _020222C0: .word 0x021C59BC - thumb_func_start sub_020222C4 -sub_020222C4: ; 0x020222C4 + thumb_func_start FUN_020222C4 +FUN_020222C4: ; 0x020222C4 ldr r0, _020222E0 ; =0x021C59BC ldr r1, [r0, #0x0] cmp r1, #0x0 @@ -65777,50 +65777,50 @@ _020222DC: _020222E0: .word 0x021C59BC _020222E4: .word 0x04000540 - thumb_func_start sub_020222E8 -sub_020222E8: ; 0x020222E8 + thumb_func_start FUN_020222E8 +FUN_020222E8: ; 0x020222E8 mov r0, #0x5 lsl r0, r0, #0x18 bx lr .balign 4 - thumb_func_start sub_020222F0 -sub_020222F0: ; 0x020222F0 + thumb_func_start FUN_020222F0 +FUN_020222F0: ; 0x020222F0 mov r0, #0x2 lsl r0, r0, #0x8 bx lr .balign 4 - thumb_func_start sub_020222F8 -sub_020222F8: ; 0x020222F8 + thumb_func_start FUN_020222F8 +FUN_020222F8: ; 0x020222F8 ldr r0, _020222FC ; =0x05000400 bx lr .balign 4 _020222FC: .word 0x05000400 - thumb_func_start sub_02022300 -sub_02022300: ; 0x02022300 + thumb_func_start FUN_02022300 +FUN_02022300: ; 0x02022300 mov r0, #0x2 lsl r0, r0, #0x8 bx lr .balign 4 - thumb_func_start sub_02022308 -sub_02022308: ; 0x02022308 + thumb_func_start FUN_02022308 +FUN_02022308: ; 0x02022308 ldr r0, _0202230C ; =0x05000200 bx lr .balign 4 _0202230C: .word 0x05000200 - thumb_func_start sub_02022310 -sub_02022310: ; 0x02022310 + thumb_func_start FUN_02022310 +FUN_02022310: ; 0x02022310 ldr r0, _02022314 ; =0x05000600 bx lr .balign 4 _02022314: .word 0x05000600 - thumb_func_start sub_02022318 -sub_02022318: ; 0x02022318 + thumb_func_start FUN_02022318 +FUN_02022318: ; 0x02022318 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 @@ -65828,22 +65828,22 @@ sub_02022318: ; 0x02022318 add r6, r0, #0x0 add r5, r2, #0x0 str r3, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 str r6, [r4, #0x0] - blx sub_020BB7F4 - blx sub_020C7D28 + blx FUN_020BB7F4 + blx FUN_020C7D28 mov r1, #0x2 ldr r0, _020223B8 ; =0x04000540 cmp r7, #0x0 str r1, [r0, #0x0] bne _02022364 lsl r0, r5, #0x7 - blx sub_020AFA28 + blx FUN_020AFA28 add r6, r0, #0x0 ldr r0, [r4, #0x0] add r1, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x8] mov r0, #0x1 str r0, [sp, #0x0] @@ -65851,38 +65851,38 @@ sub_02022318: ; 0x02022318 lsl r0, r5, #0x11 mov r1, #0x0 add r3, r6, #0x0 - blx sub_020AF9C4 + blx FUN_020AF9C4 b _0202236E _02022364: lsl r0, r5, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 - blx sub_020AEB70 + blx FUN_020AEB70 _0202236E: ldr r0, [sp, #0x4] cmp r0, #0x0 bne _02022398 ldr r0, [sp, #0x20] lsl r0, r0, #0x8 - blx sub_020AFBFC + blx FUN_020AFBFC add r5, r0, #0x0 ldr r0, [r4, #0x0] add r1, r5, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x4] ldr r0, [sp, #0x20] ldr r1, [r4, #0x4] lsl r0, r0, #0xd add r2, r5, #0x0 mov r3, #0x1 - blx sub_020AFBA8 + blx FUN_020AFBA8 b _020223A4 _02022398: ldr r0, [sp, #0x20] mov r1, #0x1 lsl r0, r0, #0x1d lsr r0, r0, #0x10 - blx sub_020AEB70 + blx FUN_020AEB70 _020223A4: ldr r0, [sp, #0x24] cmp r0, #0x0 @@ -65890,7 +65890,7 @@ _020223A4: blx r0 b _020223B2 _020223AE: - bl sub_020223D4 + bl FUN_020223D4 _020223B2: add r0, r4, #0x0 add sp, #0x8 @@ -65898,24 +65898,24 @@ _020223B2: .balign 4 _020223B8: .word 0x04000540 - thumb_func_start sub_020223BC -sub_020223BC: ; 0x020223BC + thumb_func_start FUN_020223BC +FUN_020223BC: ; 0x020223BC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_020223D4 -sub_020223D4: ; 0x020223D4 + thumb_func_start FUN_020223D4 +FUN_020223D4: ; 0x020223D4 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, _02022438 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] @@ -65948,13 +65948,13 @@ sub_020223D4: ; 0x020223D4 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - blx sub_020C7C28 + blx FUN_020C7C28 mov r0, #0x0 ldr r2, _02022444 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] - blx sub_020C7B3C + blx FUN_020C7B3C ldr r1, _02022448 ; =0xBFFF0000 ldr r0, _0202244C ; =0x04000580 str r1, [r0, #0x0] @@ -65967,37 +65967,37 @@ _02022444: .word 0x00007FFF _02022448: .word 0xBFFF0000 _0202244C: .word 0x04000580 - thumb_func_start sub_02022450 -sub_02022450: ; 0x02022450 + thumb_func_start FUN_02022450 +FUN_02022450: ; 0x02022450 push {r3, lr} - blx sub_020D1CC4 + blx FUN_020D1CC4 cmp r0, #0x0 bne _02022460 - blx sub_020CD850 + blx FUN_020CD850 pop {r3, pc} _02022460: ldr r0, _020224BC ; =0x027FF00C ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0202248A - blx sub_020D7228 + blx FUN_020D7228 mov r2, #0x16 ldr r0, _020224C0 ; =0x027FFE00 ldr r1, _020224C4 ; =0x027FF000 lsl r2, r2, #0x4 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r2, #0x16 ldr r0, _020224C0 ; =0x027FFE00 ldr r1, _020224C8 ; =0x027FFA80 lsl r2, r2, #0x4 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r1, _020224CC ; =0x4A414441 ldr r0, _020224BC ; =0x027FF00C str r1, [r0, #0x0] _0202248A: ldr r0, _020224D0 ; =0x020EE6D4 mov r1, #0x3 - blx sub_020D1148 + blx FUN_020D1148 ldr r1, _020224C4 ; =0x027FF000 ldr r2, [r1, #0x48] str r2, [r0, #0x2c] @@ -66016,7 +66016,7 @@ _0202248A: cmp r1, r0 beq _020224B8 _020224B4: - blx sub_020CD850 + blx FUN_020CD850 _020224B8: pop {r3, pc} nop @@ -66028,92 +66028,92 @@ _020224CC: .word 0x4A414441 _020224D0: .word 0x020EE6D4 _020224D4: .word 0x00003130 - thumb_func_start sub_020224D8 -sub_020224D8: ; 0x020224D8 + thumb_func_start FUN_020224D8 +FUN_020224D8: ; 0x020224D8 push {r4, lr} sub sp, #0x48 add r4, r0, #0x0 add r0, sp, #0x0 - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x0 add r1, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 cmp r0, #0x0 beq _020224FC ldr r1, [sp, #0x24] ldr r0, _02022500 ; =0x027FFC2C str r1, [r0, #0x0] mov r0, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 _020224FC: add sp, #0x48 pop {r4, pc} .balign 4 _02022500: .word 0x027FFC2C - thumb_func_start sub_02022504 -sub_02022504: ; 0x02022504 - ldr r3, _0202250C ; =sub_02022610 + thumb_func_start FUN_02022504 +FUN_02022504: ; 0x02022504 + ldr r3, _0202250C ; =FUN_02022610 mov r1, #0x1b bx r3 nop -_0202250C: .word sub_02022610 + 1 +_0202250C: .word FUN_02022610 + 1 - thumb_func_start sub_02022510 -sub_02022510: ; 0x02022510 - ldr r3, _02022518 ; =sub_02022610 + thumb_func_start FUN_02022510 +FUN_02022510: ; 0x02022510 + ldr r3, _02022518 ; =FUN_02022610 mov r1, #0x23 bx r3 nop -_02022518: .word sub_02022610 + 1 +_02022518: .word FUN_02022610 + 1 - thumb_func_start sub_0202251C -sub_0202251C: ; 0x0202251C - ldr r3, _02022524 ; =sub_02022610 + thumb_func_start FUN_0202251C +FUN_0202251C: ; 0x0202251C + ldr r3, _02022524 ; =FUN_02022610 mov r1, #0x1f bx r3 nop -_02022524: .word sub_02022610 + 1 +_02022524: .word FUN_02022610 + 1 - thumb_func_start sub_02022528 -sub_02022528: ; 0x02022528 - ldr r3, _02022530 ; =sub_02022610 + thumb_func_start FUN_02022528 +FUN_02022528: ; 0x02022528 + ldr r3, _02022530 ; =FUN_02022610 mov r1, #0x20 bx r3 nop -_02022530: .word sub_02022610 + 1 +_02022530: .word FUN_02022610 + 1 - thumb_func_start sub_02022534 -sub_02022534: ; 0x02022534 + thumb_func_start FUN_02022534 +FUN_02022534: ; 0x02022534 push {r3, lr} add r3, r2, #0x0 mov r2, #0x0 - bl sub_02023408 + bl FUN_02023408 pop {r3, pc} - thumb_func_start sub_02022540 -sub_02022540: ; 0x02022540 - ldr r3, _02022548 ; =sub_020232BC + thumb_func_start FUN_02022540 +FUN_02022540: ; 0x02022540 + ldr r3, _02022548 ; =FUN_020232BC add r2, r1, #0x0 mov r1, #0x0 bx r3 .balign 4 -_02022548: .word sub_020232BC + 1 +_02022548: .word FUN_020232BC + 1 - thumb_func_start sub_0202254C -sub_0202254C: ; 0x0202254C + thumb_func_start FUN_0202254C +FUN_0202254C: ; 0x0202254C push {r4, lr} ldr r1, _020225E0 ; =0x000204A8 mov r0, #0x1 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r2, _020225E0 ; =0x000204A8 mov r0, #0x0 add r1, r4, #0x0 - blx sub_020CE240 + blx FUN_020CE240 ldr r0, _020225E4 ; =0x021C59C8 str r4, [r0, #0x0] - bl sub_02023570 + bl FUN_02023570 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] @@ -66123,22 +66123,22 @@ sub_0202254C: ; 0x0202254C add r0, r4, #0x0 ldr r1, _020225E8 ; =0x00001021 add r0, #0x14 - blx sub_020DDF60 + blx FUN_020DDF60 ldr r0, _020225EC ; =0x00020224 add r0, r4, r0 - bl sub_020230E4 + bl FUN_020230E4 ldr r0, _020225F0 ; =0x00020464 ldr r1, _020225EC ; =0x00020224 add r0, r4, r0 add r1, r4, r1 - bl sub_02023160 + bl FUN_02023160 ldr r1, _020225F4 ; =0x00020218 mov r0, #0x0 add r1, r4, r1 mov r2, #0x8 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 - bl sub_02022AD8 + bl FUN_02022AD8 str r0, [r4, #0x10] cmp r0, #0x3 bhi _020225DA @@ -66155,7 +66155,7 @@ sub_0202254C: ; 0x0202254C mov r0, #0x0 str r0, [r4, #0xc] add r0, r4, #0x0 - bl sub_02022D08 + bl FUN_02022D08 mov r0, #0x1 str r0, [r4, #0x4] mov r0, #0x0 @@ -66174,14 +66174,14 @@ _020225EC: .word 0x00020224 _020225F0: .word 0x00020464 _020225F4: .word 0x00020218 - thumb_func_start sub_020225F8 -sub_020225F8: ; 0x020225F8 + thumb_func_start FUN_020225F8 +FUN_020225F8: ; 0x020225F8 push {r3, lr} ldr r0, _0202260C ; =0x021C59C8 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02022606 - bl sub_02020C2C + bl FUN_02020C2C _02022606: ldr r0, _0202260C ; =0x021C59C8 ldr r0, [r0, #0x0] @@ -66189,14 +66189,14 @@ _02022606: .balign 4 _0202260C: .word 0x021C59C8 - thumb_func_start sub_02022610 -sub_02022610: ; 0x02022610 + thumb_func_start FUN_02022610 +FUN_02022610: ; 0x02022610 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x24 blt _0202261E - bl sub_02020C2C + bl FUN_02020C2C _0202261E: mov r0, #0x85 lsl r0, r0, #0x2 @@ -66212,17 +66212,17 @@ _02022630: .word 0x0002022C _02022634: .byte 0x00, 0x4B, 0x18, 0x47, 0x11, 0x26, 0x02, 0x02 - thumb_func_start sub_0202263C -sub_0202263C: ; 0x0202263C + thumb_func_start FUN_0202263C +FUN_0202263C: ; 0x0202263C push {r3-r7, lr} mov r1, #0x1 str r0, [sp, #0x0] mov r0, #0x3 lsl r1, r1, #0xc - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 mov r0, #0x1 - bl sub_02016444 + bl FUN_02016444 ldr r1, _020226F4 ; =0x00020220 ldr r0, [sp, #0x0] ldrb r0, [r0, r1] @@ -66235,7 +66235,7 @@ _02022660: _02022662: ldr r0, [sp, #0x0] mov r1, #0x0 - bl sub_02023074 + bl FUN_02023074 ldr r1, _020226F8 ; =0x00020221 ldr r0, [sp, #0x0] ldrb r0, [r0, r1] @@ -66248,25 +66248,25 @@ _02022678: _0202267A: ldr r0, [sp, #0x0] mov r1, #0x1 - bl sub_02023074 + bl FUN_02023074 ldr r0, [sp, #0x0] ldr r3, _020226F4 ; =0x00020220 add r2, r0, #0x0 ldrb r2, [r2, r3] mov r1, #0x0 - bl sub_02023074 + bl FUN_02023074 ldr r0, [sp, #0x0] ldr r3, _020226F8 ; =0x00020221 add r2, r0, #0x0 ldrb r2, [r2, r3] mov r1, #0x1 - bl sub_02023074 + bl FUN_02023074 mov r0, #0x0 mov r2, #0x1 mvn r0, r0 add r1, r6, #0x0 lsl r2, r2, #0xc - blx sub_020CE240 + blx FUN_020CE240 mov r4, #0x0 mov r7, #0x1 add r5, r4, #0x0 @@ -66275,13 +66275,13 @@ _020226B4: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020235D0 + bl FUN_020235D0 add r0, r4, #0x0 add r0, #0x40 lsl r0, r0, #0xc add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020235D0 + bl FUN_020235D0 mov r0, #0x1 lsl r0, r0, #0xc add r4, r4, #0x1 @@ -66289,22 +66289,22 @@ _020226B4: cmp r4, #0x40 blt _020226B4 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x0] - bl sub_020227DC + bl FUN_020227DC ldr r0, [sp, #0x0] mov r1, #0x0 str r1, [r0, #0x4] mov r0, #0x1 - bl sub_02016454 + bl FUN_02016454 mov r0, #0x1 pop {r3-r7, pc} .balign 4 _020226F4: .word 0x00020220 _020226F8: .word 0x00020221 - thumb_func_start sub_020226FC -sub_020226FC: ; 0x020226FC + thumb_func_start FUN_020226FC +FUN_020226FC: ; 0x020226FC push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -66313,7 +66313,7 @@ sub_020226FC: ; 0x020226FC mov r0, #0x0 pop {r4, pc} _0202270A: - bl sub_02022D08 + bl FUN_02022D08 cmp r0, #0x0 beq _0202271C mov r0, #0x1 @@ -66325,8 +66325,8 @@ _0202271C: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02022720 -sub_02022720: ; 0x02022720 + thumb_func_start FUN_02022720 +FUN_02022720: ; 0x02022720 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] @@ -66339,7 +66339,7 @@ _0202272E: cmp r0, #0x0 beq _02022784 mov r0, #0x1 - bl sub_02016444 + bl FUN_02016444 ldr r0, _02022798 ; =0x00020220 ldrb r0, [r4, r0] cmp r0, #0x0 @@ -66351,7 +66351,7 @@ _02022746: _02022748: add r0, r4, #0x0 mov r1, #0x0 - bl sub_02023074 + bl FUN_02023074 ldr r0, _0202279C ; =0x00020221 ldrb r0, [r4, r0] cmp r0, #0x0 @@ -66363,22 +66363,22 @@ _0202275C: _0202275E: add r0, r4, #0x0 mov r1, #0x1 - bl sub_02023074 + bl FUN_02023074 ldr r2, _02022798 ; =0x00020220 add r0, r4, #0x0 ldrb r2, [r4, r2] mov r1, #0x0 - bl sub_02023074 + bl FUN_02023074 ldr r2, _0202279C ; =0x00020221 add r0, r4, #0x0 ldrb r2, [r4, r2] mov r1, #0x1 - bl sub_02023074 + bl FUN_02023074 mov r0, #0x1 - bl sub_02016454 + bl FUN_02016454 _02022784: add r0, r4, #0x0 - bl sub_02023044 + bl FUN_02023044 cmp r0, #0x2 bne _02022796 mov r1, #0x1 @@ -66391,31 +66391,31 @@ _02022796: _02022798: .word 0x00020220 _0202279C: .word 0x00020221 - thumb_func_start sub_020227A0 -sub_020227A0: ; 0x020227A0 + thumb_func_start FUN_020227A0 +FUN_020227A0: ; 0x020227A0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x2 blt _020227AE - bl sub_02020C2C + bl FUN_02020C2C _020227AE: ldr r0, [r5, #0x8] cmp r0, #0x0 beq _020227B8 - bl sub_02020C2C + bl FUN_02020C2C _020227B8: ldr r0, [r5, #0x4] cmp r0, #0x1 beq _020227C2 - bl sub_02020C2C + bl FUN_02020C2C _020227C2: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02022840 + bl FUN_02022840 _020227CA: add r0, r5, #0x0 - bl sub_02022854 + bl FUN_02022854 cmp r0, #0x0 beq _020227CA cmp r0, #0x1 @@ -66423,8 +66423,8 @@ _020227CA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020227DC -sub_020227DC: ; 0x020227DC + thumb_func_start FUN_020227DC +FUN_020227DC: ; 0x020227DC add r2, r0, #0x0 mov r0, #0x1 str r0, [r2, #0x8] @@ -66432,43 +66432,43 @@ sub_020227DC: ; 0x020227DC mov r0, #0x85 ldr r1, _020227F4 ; =0x00020224 lsl r0, r0, #0x2 - ldr r3, _020227F8 ; =sub_020231F4 + ldr r3, _020227F8 ; =FUN_020231F4 add r0, r2, r0 add r1, r2, r1 bx r3 nop _020227F4: .word 0x00020224 -_020227F8: .word sub_020231F4 + 1 +_020227F8: .word FUN_020231F4 + 1 - thumb_func_start sub_020227FC -sub_020227FC: ; 0x020227FC + thumb_func_start FUN_020227FC +FUN_020227FC: ; 0x020227FC ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_02022800 -sub_02022800: ; 0x02022800 + thumb_func_start FUN_02022800 +FUN_02022800: ; 0x02022800 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_02022804 -sub_02022804: ; 0x02022804 + thumb_func_start FUN_02022804 +FUN_02022804: ; 0x02022804 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02022808 -sub_02022808: ; 0x02022808 + thumb_func_start FUN_02022808 +FUN_02022808: ; 0x02022808 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_0202280C -sub_0202280C: ; 0x0202280C + thumb_func_start FUN_0202280C +FUN_0202280C: ; 0x0202280C push {r4, lr} add r4, r0, #0x0 - bl sub_02022808 + bl FUN_02022808 cmp r0, #0x0 beq _02022826 add r0, r4, #0x0 - bl sub_02022804 + bl FUN_02022804 cmp r0, #0x0 beq _02022826 mov r0, #0x1 @@ -66478,13 +66478,13 @@ _02022826: pop {r4, pc} .balign 4 - thumb_func_start sub_0202282C -sub_0202282C: ; 0x0202282C + thumb_func_start FUN_0202282C +FUN_0202282C: ; 0x0202282C ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02022830 -sub_02022830: ; 0x02022830 + thumb_func_start FUN_02022830 +FUN_02022830: ; 0x02022830 ldr r0, _0202283C ; =0x021C59C8 mov r1, #0x1 ldr r0, [r0, #0x0] @@ -66493,24 +66493,24 @@ sub_02022830: ; 0x02022830 nop _0202283C: .word 0x021C59C8 - thumb_func_start sub_02022840 -sub_02022840: ; 0x02022840 + thumb_func_start FUN_02022840 +FUN_02022840: ; 0x02022840 add r2, r1, #0x0 ldr r1, _0202284C ; =0x0002047C - ldr r3, _02022850 ; =sub_02022DFC + ldr r3, _02022850 ; =FUN_02022DFC add r1, r0, r1 bx r3 nop _0202284C: .word 0x0002047C -_02022850: .word sub_02022DFC + 1 +_02022850: .word FUN_02022DFC + 1 - thumb_func_start sub_02022854 -sub_02022854: ; 0x02022854 + thumb_func_start FUN_02022854 +FUN_02022854: ; 0x02022854 push {r3-r5, lr} ldr r1, _02022878 ; =0x0002047C add r5, r0, #0x0 add r1, r5, r1 - bl sub_02022E78 + bl FUN_02022E78 add r4, r0, #0x0 beq _02022874 cmp r4, #0x1 @@ -66519,15 +66519,15 @@ sub_02022854: ; 0x02022854 add r0, r5, #0x0 add r1, r5, r1 add r2, r4, #0x0 - bl sub_02022F80 + bl FUN_02022F80 _02022874: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02022878: .word 0x0002047C - thumb_func_start sub_0202287C -sub_0202287C: ; 0x0202287C + thumb_func_start FUN_0202287C +FUN_0202287C: ; 0x0202287C ldr r1, _02022884 ; =0x0002047C ldr r3, _02022888 ; =0x02022FF1 add r1, r0, r1 @@ -66536,8 +66536,8 @@ sub_0202287C: ; 0x0202287C _02022884: .word 0x0002047C _02022888: .word 0x02022FF1 - thumb_func_start sub_0202288C -sub_0202288C: ; 0x0202288C + thumb_func_start FUN_0202288C +FUN_0202288C: ; 0x0202288C mov r1, #0x0 str r1, [r0, #0x0] str r1, [r0, #0x4] @@ -66545,17 +66545,17 @@ sub_0202288C: ; 0x0202288C bx lr .balign 4 - thumb_func_start sub_02022898 -sub_02022898: ; 0x02022898 - ldr r3, _020228A0 ; =sub_020DDD60 + thumb_func_start FUN_02022898 +FUN_02022898: ; 0x02022898 + ldr r3, _020228A0 ; =FUN_020DDD60 add r0, #0x14 sub r2, #0x14 bx r3 .balign 4 -_020228A0: .word sub_020DDD60 +_020228A0: .word FUN_020DDD60 - thumb_func_start sub_020228A4 -sub_020228A4: ; 0x020228A4 + thumb_func_start FUN_020228A4 +FUN_020228A4: ; 0x020228A4 cmp r0, #0x0 bne _020228AC mov r2, #0x0 @@ -66569,8 +66569,8 @@ _020228B0: bx lr .balign 4 - thumb_func_start sub_020228B8 -sub_020228B8: ; 0x020228B8 + thumb_func_start FUN_020228B8 +FUN_020228B8: ; 0x020228B8 push {r3-r5, lr} ldr r3, _020228DC ; =0x00020464 add r3, r0, r3 @@ -66582,7 +66582,7 @@ sub_020228B8: ; 0x020228B8 ldr r0, [r5, #0x8] cmp r0, #0x0 bne _020228D2 - bl sub_02020C2C + bl FUN_02020C2C _020228D2: ldr r0, [r5, #0x8] add r0, r4, r0 @@ -66591,8 +66591,8 @@ _020228D2: nop _020228DC: .word 0x00020464 - thumb_func_start sub_020228E0 -sub_020228E0: ; 0x020228E0 + thumb_func_start FUN_020228E0 +FUN_020228E0: ; 0x020228E0 push {r3-r7, lr} ldr r4, _02022934 ; =0x00020464 add r3, r0, #0x0 @@ -66603,7 +66603,7 @@ sub_020228E0: ; 0x020228E0 str r0, [sp, #0x0] add r7, r1, #0x0 add r6, r3, r4 - bl sub_020228B8 + bl FUN_020228B8 add r4, r0, #0x0 ldr r2, [r6, #0x8] ldr r0, [r4, #0x8] @@ -66628,7 +66628,7 @@ _02022914: _0202291E: ldr r0, [sp, #0x0] add r1, r7, r1 - bl sub_02022898 + bl FUN_02022898 ldrh r1, [r4, #0x12] cmp r1, r0 bne _02022930 @@ -66641,8 +66641,8 @@ _02022930: _02022934: .word 0x00020464 _02022938: .word 0x20060623 - thumb_func_start sub_0202293C -sub_0202293C: ; 0x0202293C + thumb_func_start FUN_0202293C +FUN_0202293C: ; 0x0202293C push {r3-r7, lr} add r7, r2, #0x0 add r6, r1, #0x0 @@ -66651,12 +66651,12 @@ sub_0202293C: ; 0x0202293C add r0, r6, #0x0 add r1, r7, #0x0 add r2, r3, #0x0 - bl sub_020228B8 + bl FUN_020228B8 add r4, r0, #0x0 ldr r2, [sp, #0x0] add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_020228E0 + bl FUN_020228E0 str r0, [r5, #0x0] ldr r0, [r4, #0x0] str r0, [r5, #0x4] @@ -66664,8 +66664,8 @@ sub_0202293C: ; 0x0202293C str r0, [r5, #0x8] pop {r3-r7, pc} - thumb_func_start sub_02022968 -sub_02022968: ; 0x02022968 + thumb_func_start FUN_02022968 +FUN_02022968: ; 0x02022968 push {r3-r7, lr} ldr r3, _020229AC ; =0x00020464 add r5, r0, #0x0 @@ -66675,7 +66675,7 @@ sub_02022968: ; 0x02022968 mul r4, r7 str r1, [sp, #0x0] add r6, r3, r4 - bl sub_020228B8 + bl FUN_020228B8 ldr r2, _020229B0 ; =0x00020214 add r4, r0, #0x0 ldr r0, [r5, r2] @@ -66695,7 +66695,7 @@ sub_02022968: ; 0x02022968 strb r7, [r4, #0x10] ldr r2, [r6, #0x8] add r0, r5, #0x0 - bl sub_02022898 + bl FUN_02022898 strh r0, [r4, #0x12] pop {r3-r7, pc} .balign 4 @@ -66703,8 +66703,8 @@ _020229AC: .word 0x00020464 _020229B0: .word 0x00020214 _020229B4: .word 0x20060623 - thumb_func_start sub_020229B8 -sub_020229B8: ; 0x020229B8 + thumb_func_start FUN_020229B8 +FUN_020229B8: ; 0x020229B8 mov r2, #0x0 mvn r2, r2 cmp r0, r2 @@ -66739,8 +66739,8 @@ _020229EA: bx lr .balign 4 - thumb_func_start sub_020229F0 -sub_020229F0: ; 0x020229F0 + thumb_func_start FUN_020229F0 +FUN_020229F0: ; 0x020229F0 push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 @@ -66748,11 +66748,11 @@ sub_020229F0: ; 0x020229F0 ldr r1, [r6, #0x4] add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_020229B8 + bl FUN_020229B8 str r0, [sp, #0x0] ldr r0, [r7, #0x8] ldr r1, [r6, #0x8] - bl sub_020229B8 + bl FUN_020229B8 ldr r2, [r7, #0x0] cmp r2, #0x0 beq _02022A6A @@ -66764,7 +66764,7 @@ sub_020229F0: ; 0x020229F0 ble _02022A30 cmp r0, #0x0 bgt _02022A26 - bl sub_02020C2C + bl FUN_02020C2C _02022A26: mov r0, #0x0 str r0, [r5, #0x0] @@ -66775,7 +66775,7 @@ _02022A30: bge _02022A44 cmp r0, #0x0 blt _02022A3A - bl sub_02020C2C + bl FUN_02020C2C _02022A3A: mov r0, #0x1 str r0, [r5, #0x0] @@ -66836,8 +66836,8 @@ _02022A94: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02022AA0 -sub_02022AA0: ; 0x02022AA0 + thumb_func_start FUN_02022AA0 +FUN_02022AA0: ; 0x02022AA0 push {r3-r6} mov r4, #0xc add r5, r3, #0x0 @@ -66866,82 +66866,82 @@ sub_02022AA0: ; 0x02022AA0 nop _02022AD4: .word 0x00020214 - thumb_func_start sub_02022AD8 -sub_02022AD8: ; 0x02022AD8 + thumb_func_start FUN_02022AD8 +FUN_02022AD8: ; 0x02022AD8 push {r3-r6, lr} sub sp, #0x44 mov r1, #0x2 add r5, r0, #0x0 mov r0, #0x3 lsl r1, r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x2 add r6, r0, #0x0 mov r0, #0x3 lsl r1, r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 mov r2, #0x2 add r4, r0, #0x0 mov r0, #0x0 add r1, r6, #0x0 lsl r2, r2, #0x10 - bl sub_020235EC + bl FUN_020235EC cmp r0, #0x0 add r0, sp, #0x2c beq _02022B20 add r1, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 - bl sub_0202293C + bl FUN_0202293C add r0, sp, #0x14 add r1, r5, #0x0 add r2, r6, #0x0 mov r3, #0x1 - bl sub_0202293C + bl FUN_0202293C b _02022B2A _02022B20: - bl sub_0202288C + bl FUN_0202288C add r0, sp, #0x14 - bl sub_0202288C + bl FUN_0202288C _02022B2A: mov r0, #0x1 lsl r0, r0, #0x12 add r1, r4, #0x0 lsr r2, r0, #0x1 - bl sub_020235EC + bl FUN_020235EC cmp r0, #0x0 add r0, sp, #0x38 beq _02022B54 add r1, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0202293C + bl FUN_0202293C add r0, sp, #0x20 add r1, r5, #0x0 add r2, r4, #0x0 mov r3, #0x1 - bl sub_0202293C + bl FUN_0202293C b _02022B5E _02022B54: - bl sub_0202288C + bl FUN_0202288C add r0, sp, #0x20 - bl sub_0202288C + bl FUN_0202288C _02022B5E: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, sp, #0x2c add r1, sp, #0x38 add r2, sp, #0x10 add r3, sp, #0x8 - bl sub_020229F0 + bl FUN_020229F0 add r4, r0, #0x0 add r0, sp, #0x14 add r1, sp, #0x20 add r2, sp, #0xc add r3, sp, #0x4 - bl sub_020229F0 + bl FUN_020229F0 cmp r4, #0x0 bne _02022B92 cmp r0, #0x0 @@ -66980,7 +66980,7 @@ _02022BA0: bne _02022BD4 add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x1 pop {r3-r6, pc} @@ -66988,7 +66988,7 @@ _02022BD4: ldr r3, [sp, #0x8] add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x2 pop {r3-r6, pc} @@ -67014,7 +67014,7 @@ _02022BE4: add r0, r5, #0x0 add r1, sp, #0x2c add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x2 pop {r3-r6, pc} @@ -67028,7 +67028,7 @@ _02022C18: add r0, r5, #0x0 add r1, sp, #0x2c add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x2 pop {r3-r6, pc} @@ -67058,7 +67058,7 @@ _02022C3A: bne _02022C6E add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x1 pop {r3-r6, pc} @@ -67066,7 +67066,7 @@ _02022C6E: ldr r3, [sp, #0x8] add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x2 pop {r3-r6, pc} @@ -67089,7 +67089,7 @@ _02022C7E: ldr r0, [r0, r1] cmp r2, r0 beq _02022CA6 - bl sub_02020C2C + bl FUN_02020C2C _02022CA6: ldr r0, [sp, #0xc] add r1, sp, #0x2c @@ -67097,7 +67097,7 @@ _02022CA6: ldr r3, [sp, #0x10] add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 add sp, #0x44 mov r0, #0x1 pop {r3-r6, pc} @@ -67115,7 +67115,7 @@ _02022CBC: ldr r0, [r0, r2] cmp r3, r0 beq _02022CDA - bl sub_02020C2C + bl FUN_02020C2C _02022CDA: ldr r0, [sp, #0xc] add r1, sp, #0x2c @@ -67123,26 +67123,26 @@ _02022CDA: ldr r3, [sp, #0x10] add r0, r5, #0x0 add r2, sp, #0x14 - bl sub_02022AA0 + bl FUN_02022AA0 mov r0, #0x2 add sp, #0x44 pop {r3-r6, pc} - thumb_func_start sub_02022CF0 -sub_02022CF0: ; 0x02022CF0 + thumb_func_start FUN_02022CF0 +FUN_02022CF0: ; 0x02022CF0 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_020228A4 + bl FUN_020228A4 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r1, r4, r1 - bl sub_020235EC + bl FUN_020235EC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02022D08 -sub_02022D08: ; 0x02022D08 + thumb_func_start FUN_02022D08 +FUN_02022D08: ; 0x02022D08 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02022D4C ; =0x00020464 @@ -67156,7 +67156,7 @@ _02022D16: ldrb r0, [r1, r0] add r1, r6, #0x0 add r2, r5, r7 - bl sub_02022CF0 + bl FUN_02022CF0 cmp r0, #0x0 bne _02022D2C mov r0, #0x0 @@ -67165,7 +67165,7 @@ _02022D2C: add r0, r5, #0x0 add r1, r5, r7 add r2, r4, #0x0 - bl sub_020228E0 + bl FUN_020228E0 cmp r0, #0x0 bne _02022D3E mov r0, #0x0 @@ -67181,8 +67181,8 @@ _02022D3E: _02022D4C: .word 0x00020464 _02022D50: .word 0x00020220 - thumb_func_start sub_02022D54 -sub_02022D54: ; 0x02022D54 + thumb_func_start FUN_02022D54 +FUN_02022D54: ; 0x02022D54 push {r4-r6, lr} add r3, r1, #0x0 ldr r1, _02022D90 ; =0x00020464 @@ -67196,10 +67196,10 @@ sub_02022D54: ; 0x02022D54 lsl r1, r1, #0x2 add r1, r5, r1 add r2, r3, #0x0 - bl sub_02022968 + bl FUN_02022968 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020228A4 + bl FUN_020228A4 mov r1, #0x85 lsl r1, r1, #0x2 add r2, r5, r1 @@ -67207,13 +67207,13 @@ sub_02022D54: ; 0x02022D54 add r1, r2, r1 ldr r2, [r4, #0x8] sub r2, #0x14 - bl sub_02023668 + bl FUN_02023668 pop {r4-r6, pc} nop _02022D90: .word 0x00020464 - thumb_func_start sub_02022D94 -sub_02022D94: ; 0x02022D94 + thumb_func_start FUN_02022D94 +FUN_02022D94: ; 0x02022D94 push {r4-r6, lr} add r6, r0, #0x0 ldr r0, _02022DC4 ; =0x00020464 @@ -67224,7 +67224,7 @@ sub_02022D94: ; 0x02022D94 add r0, r2, #0x0 add r1, r4, #0x0 ldr r5, [r4, #0x8] - bl sub_020228A4 + bl FUN_020228A4 mov r1, #0x2 lsl r1, r1, #0x8 add r2, r6, r1 @@ -67234,13 +67234,13 @@ sub_02022D94: ; 0x02022D94 sub r0, #0x14 add r1, r1, r5 mov r2, #0x14 - bl sub_02023668 + bl FUN_02023668 pop {r4-r6, pc} .balign 4 _02022DC4: .word 0x00020464 - thumb_func_start sub_02022DC8 -sub_02022DC8: ; 0x02022DC8 + thumb_func_start FUN_02022DC8 +FUN_02022DC8: ; 0x02022DC8 push {r4-r6, lr} add r6, r0, #0x0 ldr r0, _02022DF8 ; =0x00020464 @@ -67251,7 +67251,7 @@ sub_02022DC8: ; 0x02022DC8 add r0, r2, #0x0 add r1, r4, #0x0 ldr r5, [r4, #0x8] - bl sub_020228A4 + bl FUN_020228A4 mov r1, #0x82 lsl r1, r1, #0x2 add r2, r6, r1 @@ -67261,13 +67261,13 @@ sub_02022DC8: ; 0x02022DC8 sub r0, #0xc add r1, r1, r5 mov r2, #0x8 - bl sub_02023668 + bl FUN_02023668 pop {r4-r6, pc} .balign 4 _02022DF8: .word 0x00020464 - thumb_func_start sub_02022DFC -sub_02022DFC: ; 0x02022DFC + thumb_func_start FUN_02022DFC +FUN_02022DFC: ; 0x02022DFC push {r3-r7, lr} ldr r7, _02022E70 ; =0x00020218 add r4, r1, #0x0 @@ -67326,14 +67326,14 @@ _02022E58: str r0, [r4, #0xc] _02022E66: mov r0, #0x1 - bl sub_02016444 + bl FUN_02016444 pop {r3-r7, pc} nop _02022E70: .word 0x00020218 _02022E74: .word 0x00020214 - thumb_func_start sub_02022E78 -sub_02022E78: ; 0x02022E78 + thumb_func_start FUN_02022E78 +FUN_02022E78: ; 0x02022E78 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -67366,14 +67366,14 @@ _02022EAE: lsl r2, r2, #0x18 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02022D54 + bl FUN_02022D54 str r0, [r4, #0x10] ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] ldr r0, [r4, #0x10] add r1, sp, #0x0 - bl sub_020236E4 + bl FUN_020236E4 cmp r0, #0x0 beq _02022F78 ldr r0, [sp, #0x0] @@ -67399,14 +67399,14 @@ _02022EEE: lsl r2, r2, #0x18 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02022DC8 + bl FUN_02022DC8 str r0, [r4, #0x10] ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] ldr r0, [r4, #0x10] add r1, sp, #0x0 - bl sub_020236E4 + bl FUN_020236E4 cmp r0, #0x0 beq _02022F78 ldr r0, [sp, #0x0] @@ -67440,14 +67440,14 @@ _02022F3C: lsl r2, r2, #0x18 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02022D94 + bl FUN_02022D94 str r0, [r4, #0x10] ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] ldr r0, [r4, #0x10] add r1, sp, #0x0 - bl sub_020236E4 + bl FUN_020236E4 cmp r0, #0x0 beq _02022F78 ldr r0, [sp, #0x0] @@ -67473,8 +67473,8 @@ _02022F78: .balign 4 _02022F7C: .word 0x00020220 - thumb_func_start sub_02022F80 -sub_02022F80: ; 0x02022F80 + thumb_func_start FUN_02022F80 +FUN_02022F80: ; 0x02022F80 push {r3-r7, lr} add r3, r0, #0x0 add r0, r1, #0x0 @@ -67529,7 +67529,7 @@ _02022FD0: str r0, [r3, #0xc] _02022FDA: mov r0, #0x1 - bl sub_02016454 + bl FUN_02016454 pop {r3-r7, pc} nop _02022FE4: .word 0x00020214 @@ -67543,19 +67543,19 @@ _02022FF0: .byte 0xA7, 0xF0, 0x62, 0xE8, 0x01, 0x20, 0xF3, 0xF7, 0x0D, 0xFA, 0x38, 0xBD, 0x14, 0x02, 0x02, 0x00 .byte 0x18, 0x02, 0x02, 0x00 - thumb_func_start sub_02023044 -sub_02023044: ; 0x02023044 + thumb_func_start FUN_02023044 +FUN_02023044: ; 0x02023044 push {r3-r6, lr} sub sp, #0x24 add r1, sp, #0x0 mov r2, #0x2 add r5, r0, #0x0 - bl sub_02022DFC + bl FUN_02022DFC add r6, sp, #0x0 _02023054: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02022E78 + bl FUN_02022E78 add r4, r0, #0x0 beq _02023054 cmp r4, #0x1 @@ -67563,13 +67563,13 @@ _02023054: add r0, r5, #0x0 add r1, sp, #0x0 add r2, r4, #0x0 - bl sub_02022F80 + bl FUN_02022F80 add r0, r4, #0x0 add sp, #0x24 pop {r3-r6, pc} - thumb_func_start sub_02023074 -sub_02023074: ; 0x02023074 + thumb_func_start FUN_02023074 +FUN_02023074: ; 0x02023074 push {r4-r5, lr} sub sp, #0x14 add r4, r2, #0x0 @@ -67581,23 +67581,23 @@ sub_02023074: ; 0x02023074 add r0, sp, #0x0 mov r1, #0xff mov r2, #0x14 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020228A4 + bl FUN_020228A4 ldr r1, [r5, #0x8] mov r2, #0x14 add r0, r1, r0 sub r0, #0x14 add r1, sp, #0x0 - bl sub_020235D0 + bl FUN_020235D0 add sp, #0x14 pop {r4-r5, pc} .balign 4 _020230A8: .word 0x00020464 - thumb_func_start sub_020230AC -sub_020230AC: ; 0x020230AC + thumb_func_start FUN_020230AC +FUN_020230AC: ; 0x020230AC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020230DC ; =0x020EE6DC @@ -67605,7 +67605,7 @@ sub_020230AC: ; 0x020230AC ldr r0, [r0, #0x0] cmp r5, r0 blt _020230BE - bl sub_02020C2C + bl FUN_02020C2C _020230BE: lsl r0, r5, #0x4 add r0, r4, r0 @@ -67625,8 +67625,8 @@ _020230BE: _020230DC: .word 0x020EE6DC _020230E0: .word 0x020EE700 - thumb_func_start sub_020230E4 -sub_020230E4: ; 0x020230E4 + thumb_func_start FUN_020230E4 +FUN_020230E4: ; 0x020230E4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -67637,7 +67637,7 @@ sub_020230E4: ; 0x020230E4 str r0, [sp, #0x0] cmp r0, #0x24 beq _020230FC - bl sub_02020C2C + bl FUN_02020C2C _020230FC: ldr r0, [sp, #0x0] mov r6, #0x0 @@ -67649,12 +67649,12 @@ _02023108: ldr r0, [r4, #0x0] cmp r6, r0 beq _02023112 - bl sub_02020C2C + bl FUN_02020C2C _02023112: ldr r0, [r4, #0x0] str r0, [r5, #0x0] add r0, r6, #0x0 - bl sub_020230AC + bl FUN_020230AC str r0, [r5, #0x4] str r7, [r5, #0x8] mov r0, #0x0 @@ -67684,7 +67684,7 @@ _02023148: lsl r0, r0, #0x10 cmp r7, r0 ble _02023154 - bl sub_02020C2C + bl FUN_02020C2C _02023154: add sp, #0x8 pop {r3-r7, pc} @@ -67692,8 +67692,8 @@ _02023154: _02023158: .word 0x020EE6DC _0202315C: .word 0x020EE700 - thumb_func_start sub_02023160 -sub_02023160: ; 0x02023160 + thumb_func_start FUN_02023160 +FUN_02023160: ; 0x02023160 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -67758,12 +67758,12 @@ _0202319A: ldr r0, [sp, #0x4] cmp r0, r1 beq _020231DC - bl sub_02020C2C + bl FUN_02020C2C _020231DC: ldr r0, [sp, #0x4] cmp r0, #0x20 ble _020231E6 - bl sub_02020C2C + bl FUN_02020C2C _020231E6: add sp, #0x8 pop {r3-r7, pc} @@ -67771,8 +67771,8 @@ _020231E6: _020231EC: .word 0x020EE6DC _020231F0: .word 0x00000FFF - thumb_func_start sub_020231F4 -sub_020231F4: ; 0x020231F4 + thumb_func_start FUN_020231F4 +FUN_020231F4: ; 0x020231F4 push {r3-r7, lr} sub sp, #0x8 add r6, r0, #0x0 @@ -67782,7 +67782,7 @@ sub_020231F4: ; 0x020231F4 add r1, r6, #0x0 lsl r2, r2, #0x10 ldr r4, _02023240 ; =0x020EE700 - blx sub_020CE240 + blx FUN_020CE240 ldr r0, _02023244 ; =0x020EE6DC mov r7, #0x0 ldr r0, [r0, #0x0] @@ -67796,7 +67796,7 @@ _02023216: ldr r1, [sp, #0x4] mov r0, #0x0 add r1, r6, r1 - blx sub_020CE240 + blx FUN_020CE240 ldr r0, [sp, #0x4] ldr r1, [r4, #0xc] add r0, r6, r0 @@ -67814,8 +67814,8 @@ _0202323A: _02023240: .word 0x020EE700 _02023244: .word 0x020EE6DC - thumb_func_start sub_02023248 -sub_02023248: ; 0x02023248 + thumb_func_start FUN_02023248 +FUN_02023248: ; 0x02023248 push {r3-r5, lr} ldr r5, _0202326C ; =0x20060623 add r4, r1, r3 @@ -67829,15 +67829,15 @@ sub_02023248: ; 0x02023248 add r3, #0xe strh r2, [r4, #0xc] add r2, r3, #0x0 - blx sub_020DDD60 + blx FUN_020DDD60 strh r0, [r4, #0xe] pop {r3-r5, pc} nop _0202326C: .word 0x20060623 _02023270: .word 0x000204A4 - thumb_func_start sub_02023274 -sub_02023274: ; 0x02023274 + thumb_func_start FUN_02023274 +FUN_02023274: ; 0x02023274 push {r4-r6, lr} ldr r6, [r1, r3] ldr r5, _020232B0 ; =0x20060623 @@ -67862,7 +67862,7 @@ _02023298: add r3, #0xe add r0, #0x14 add r2, r3, #0x0 - blx sub_020DDD60 + blx FUN_020DDD60 ldrh r1, [r4, #0xe] cmp r1, r0 bne _020232AC @@ -67874,27 +67874,27 @@ _020232AC: .balign 4 _020232B0: .word 0x20060623 - thumb_func_start sub_020232B4 -sub_020232B4: ; 0x020232B4 + thumb_func_start FUN_020232B4 +FUN_020232B4: ; 0x020232B4 add r0, r0, r1 ldr r0, [r0, #0x4] bx lr .balign 4 - thumb_func_start sub_020232BC -sub_020232BC: ; 0x020232BC + thumb_func_start FUN_020232BC +FUN_020232BC: ; 0x020232BC push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 mov r0, #0x1 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_02016444 + bl FUN_02016444 ldr r0, _020233FC ; =0x020EE6D8 ldr r0, [r0, #0x0] cmp r5, r0 blt _020232D8 - bl sub_02020C2C + bl FUN_02020C2C _020232D8: ldr r1, _02023400 ; =0x020EE6E0 lsl r0, r5, #0x4 @@ -67902,7 +67902,7 @@ _020232D8: ldr r0, [r1, r0] cmp r0, r5 beq _020232E8 - bl sub_02020C2C + bl FUN_02020C2C _020232E8: ldr r0, [r4, #0x8] blx r0 @@ -67919,12 +67919,12 @@ _020232E8: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023248 + bl FUN_02023248 ldr r0, [r4, #0x4] ldr r2, [sp, #0x4] lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235D0 + bl FUN_020235D0 str r0, [sp, #0x0] ldr r0, [r4, #0x8] blx r0 @@ -67932,10 +67932,10 @@ _020232E8: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023274 + bl FUN_02023274 cmp r0, #0x1 beq _02023330 - bl sub_02020C2C + bl FUN_02020C2C _02023330: ldr r0, [r4, #0x8] blx r0 @@ -67943,13 +67943,13 @@ _02023330: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023248 + bl FUN_02023248 ldr r0, [r4, #0x4] ldr r2, [sp, #0x4] add r0, #0x40 lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235D0 + bl FUN_020235D0 ldr r1, [sp, #0x0] orr r0, r1 str r0, [sp, #0x0] @@ -67959,10 +67959,10 @@ _02023330: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023274 + bl FUN_02023274 cmp r0, #0x1 beq _020233DE - bl sub_02020C2C + bl FUN_02020C2C b _020233DE _0202336E: blx r0 @@ -67970,13 +67970,13 @@ _0202336E: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023248 + bl FUN_02023248 ldr r0, [r4, #0x4] ldr r2, [sp, #0x4] add r0, #0x40 lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235D0 + bl FUN_020235D0 str r0, [sp, #0x0] ldr r0, [r4, #0x8] blx r0 @@ -67984,10 +67984,10 @@ _0202336E: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023274 + bl FUN_02023274 cmp r0, #0x1 beq _020233A4 - bl sub_02020C2C + bl FUN_02020C2C _020233A4: ldr r0, [r4, #0x8] blx r0 @@ -67995,12 +67995,12 @@ _020233A4: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023248 + bl FUN_02023248 ldr r0, [r4, #0x4] ldr r2, [sp, #0x4] lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235D0 + bl FUN_020235D0 ldr r1, [sp, #0x0] orr r0, r1 str r0, [sp, #0x0] @@ -68010,22 +68010,22 @@ _020233A4: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02023274 + bl FUN_02023274 cmp r0, #0x1 beq _020233DE - bl sub_02020C2C + bl FUN_02020C2C _020233DE: ldr r0, [sp, #0x0] cmp r0, #0x1 bne _020233F0 mov r0, #0x1 - bl sub_02016454 + bl FUN_02016454 add sp, #0x8 mov r0, #0x2 pop {r3-r7, pc} _020233F0: mov r0, #0x1 - bl sub_02016454 + bl FUN_02016454 mov r0, #0x3 add sp, #0x8 pop {r3-r7, pc} @@ -68034,8 +68034,8 @@ _020233FC: .word 0x020EE6D8 _02023400: .word 0x020EE6E0 _02023404: .word 0x000204A0 - thumb_func_start sub_02023408 -sub_02023408: ; 0x02023408 + thumb_func_start FUN_02023408 +FUN_02023408: ; 0x02023408 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -68046,7 +68046,7 @@ sub_02023408: ; 0x02023408 str r3, [sp, #0x0] cmp r7, r0 blt _02023420 - bl sub_02020C2C + bl FUN_02020C2C _02023420: ldr r1, _02023568 ; =0x020EE6E0 lsl r0, r7, #0x4 @@ -68054,7 +68054,7 @@ _02023420: ldr r0, [r1, r0] cmp r0, r7 beq _02023430 - bl sub_02020C2C + bl FUN_02020C2C _02023430: ldr r0, [r4, #0x8] blx r0 @@ -68063,46 +68063,46 @@ _02023430: str r0, [sp, #0x10] ldr r1, [sp, #0x10] add r0, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 ldr r0, [r4, #0x4] ldr r2, [sp, #0x10] lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235EC + bl FUN_020235EC ldr r0, [r4, #0x8] blx r0 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02023274 + bl FUN_02023274 str r0, [sp, #0xc] ldr r0, [r4, #0x8] blx r0 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_020232B4 + bl FUN_020232B4 str r0, [sp, #0x8] ldr r0, [r4, #0x4] ldr r2, [sp, #0x10] add r0, #0x40 lsl r0, r0, #0xc add r1, r6, #0x0 - bl sub_020235EC + bl FUN_020235EC ldr r0, [r4, #0x8] blx r0 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02023274 + bl FUN_02023274 add r7, r0, #0x0 ldr r0, [r4, #0x8] blx r0 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_020232B4 + bl FUN_020232B4 str r0, [sp, #0x4] ldr r0, [sp, #0x0] mov r1, #0x1 @@ -68122,7 +68122,7 @@ _02023430: ldr r0, [r4, #0x4] add r1, r6, #0x0 lsl r0, r0, #0xc - bl sub_020235EC + bl FUN_020235EC add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} @@ -68143,7 +68143,7 @@ _020234CC: add r1, r6, #0x0 add r0, #0x40 lsl r0, r0, #0xc - bl sub_020235EC + bl FUN_020235EC add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} @@ -68155,7 +68155,7 @@ _020234F6: bne _0202354C ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] - bl sub_020229B8 + bl FUN_020229B8 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -68170,7 +68170,7 @@ _020234F6: ldr r0, [r4, #0x4] add r1, r6, #0x0 lsl r0, r0, #0xc - bl sub_020235EC + bl FUN_020235EC add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} @@ -68185,7 +68185,7 @@ _0202352E: add r1, r6, #0x0 add r0, #0x40 lsl r0, r0, #0xc - bl sub_020235EC + bl FUN_020235EC add sp, #0x14 add r0, r6, #0x0 pop {r4-r7, pc} @@ -68206,29 +68206,29 @@ _02023564: .word 0x020EE6D8 _02023568: .word 0x020EE6E0 _0202356C: .word 0x000204A0 - thumb_func_start sub_02023570 -sub_02023570: ; 0x02023570 + thumb_func_start FUN_02023570 +FUN_02023570: ; 0x02023570 push {r3-r5, lr} - blx sub_020CA0A0 + blx FUN_020CA0A0 add r4, r0, #0x0 mov r0, #0x2 mvn r0, r0 cmp r4, r0 bne _02023584 - bl sub_02020C2C + bl FUN_02020C2C _02023584: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020D66B0 + blx FUN_020D66B0 ldr r0, _020235C8 ; =0x00001302 - blx sub_020D6DC4 + blx FUN_020D6DC4 cmp r0, #0x0 beq _0202359A ldr r5, _020235C8 ; =0x00001302 b _020235AA _0202359A: ldr r0, _020235CC ; =0x00001202 - blx sub_020D6DC4 + blx FUN_020D6DC4 cmp r0, #0x0 beq _020235A8 ldr r5, _020235CC ; =0x00001202 @@ -68238,10 +68238,10 @@ _020235A8: _020235AA: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020D66A0 + blx FUN_020D66A0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020CA0F8 + blx FUN_020CA0F8 cmp r5, #0x0 beq _020235C2 mov r0, #0x1 @@ -68253,40 +68253,40 @@ _020235C2: _020235C8: .word 0x00001302 _020235CC: .word 0x00001202 - thumb_func_start sub_020235D0 -sub_020235D0: ; 0x020235D0 + thumb_func_start FUN_020235D0 +FUN_020235D0: ; 0x020235D0 push {r3-r5, lr} - bl sub_02023668 + bl FUN_02023668 add r5, r0, #0x0 add r4, sp, #0x0 _020235DA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020236E4 + bl FUN_020236E4 cmp r0, #0x0 beq _020235DA ldr r0, [sp, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020235EC -sub_020235EC: ; 0x020235EC + thumb_func_start FUN_020235EC +FUN_020235EC: ; 0x020235EC push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - blx sub_020CA0A0 + blx FUN_020CA0A0 add r4, r0, #0x0 mov r0, #0x2 mvn r0, r0 cmp r4, r0 bne _02023608 - bl sub_02020C2C + bl FUN_02020C2C _02023608: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020D66B0 + blx FUN_020D66B0 mov r3, #0x0 str r3, [sp, #0x0] mov r1, #0x1 @@ -68298,22 +68298,22 @@ _02023608: add r1, r6, #0x0 add r2, r7, #0x0 str r3, [sp, #0x10] - blx sub_020D6F20 - blx sub_020D6DB8 + blx FUN_020D6F20 + blx FUN_020D6DB8 add r5, r0, #0x0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020D66A0 + blx FUN_020D66A0 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020CA0F8 + blx FUN_020CA0F8 cmp r5, #0x0 bne _02023652 ldr r0, _02023658 ; =0x021C59C8 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 - bl sub_02089D90 + bl FUN_02089D90 _02023652: add r0, r5, #0x0 add sp, #0x14 @@ -68321,8 +68321,8 @@ _02023652: .balign 4 _02023658: .word 0x021C59C8 - thumb_func_start sub_0202365C -sub_0202365C: ; 0x0202365C + thumb_func_start FUN_0202365C +FUN_0202365C: ; 0x0202365C ldr r0, _02023664 ; =0x021C59C8 mov r1, #0x1 str r1, [r0, #0x4] @@ -68330,24 +68330,24 @@ sub_0202365C: ; 0x0202365C .balign 4 _02023664: .word 0x021C59C8 - thumb_func_start sub_02023668 -sub_02023668: ; 0x02023668 + thumb_func_start FUN_02023668 +FUN_02023668: ; 0x02023668 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - blx sub_020CA0A0 + blx FUN_020CA0A0 add r4, r0, #0x0 mov r0, #0x2 mvn r0, r0 cmp r4, r0 bne _02023684 - bl sub_02020C2C + bl FUN_02020C2C _02023684: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - blx sub_020D66B0 + blx FUN_020D66B0 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -68359,12 +68359,12 @@ _02023684: mov r2, #0x4 add r3, r0, #0x0 str r0, [sp, #0x10] - blx sub_020D6F20 + blx FUN_020D6F20 cmp r0, #0x0 bne _020236B2 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02023740 + bl FUN_02023740 _020236B2: ldr r0, _020236DC ; =0x021C59C8 mov r1, #0x0 @@ -68378,20 +68378,20 @@ _020236B2: str r0, [sp, #0xc] mov r0, #0x2 str r0, [sp, #0x10] - ldr r3, _020236E0 ; =sub_0202365C + ldr r3, _020236E0 ; =FUN_0202365C add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 - blx sub_020D6F20 + blx FUN_020D6F20 add r0, r4, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _020236DC: .word 0x021C59C8 -_020236E0: .word sub_0202365C + 1 +_020236E0: .word FUN_0202365C + 1 - thumb_func_start sub_020236E4 -sub_020236E4: ; 0x020236E4 + thumb_func_start FUN_020236E4 +FUN_020236E4: ; 0x020236E4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0202373C ; =0x021C59C8 @@ -68401,11 +68401,11 @@ sub_020236E4: ; 0x020236E4 bne _02023738 lsl r0, r5, #0x10 lsr r0, r0, #0x10 - blx sub_020D66A0 + blx FUN_020D66A0 lsl r0, r5, #0x10 lsr r0, r0, #0x10 - blx sub_020CA0F8 - blx sub_020D6700 + blx FUN_020CA0F8 + blx FUN_020D6700 cmp r0, #0x0 beq _02023714 cmp r0, #0x4 @@ -68418,18 +68418,18 @@ _02023714: str r0, [r4, #0x0] b _02023734 _0202371A: - bl sub_02020C2C + bl FUN_02020C2C _0202371E: mov r1, #0x0 add r0, r5, #0x0 str r1, [r4, #0x0] - bl sub_02023740 + bl FUN_02023740 _02023728: mov r0, #0x0 str r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_02023740 + bl FUN_02023740 _02023734: mov r0, #0x1 pop {r3-r5, pc} @@ -68439,77 +68439,77 @@ _02023738: .balign 4 _0202373C: .word 0x021C59C8 - thumb_func_start sub_02023740 -sub_02023740: ; 0x02023740 + thumb_func_start FUN_02023740 +FUN_02023740: ; 0x02023740 push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r5, #0x10 lsr r0, r0, #0x10 add r4, r1, #0x0 - blx sub_020D66A0 + blx FUN_020D66A0 lsl r0, r5, #0x10 lsr r0, r0, #0x10 - blx sub_020CA0F8 + blx FUN_020CA0F8 ldr r0, _02023768 ; =0x021C59C8 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 add r1, r4, #0x0 - bl sub_0208A0B8 + bl FUN_0208A0B8 - non_word_aligned_thumb_func_start sub_02023766 -sub_02023766: ; 0x02023766 + non_word_aligned_thumb_func_start FUN_02023766 +FUN_02023766: ; 0x02023766 pop {r3-r5, pc} .balign 4 _02023768: .word 0x021C59C8 - thumb_func_start sub_0202376C -sub_0202376C: ; 0x0202376C + thumb_func_start FUN_0202376C +FUN_0202376C: ; 0x0202376C mov r0, #0x5c bx lr - thumb_func_start sub_02023770 -sub_02023770: ; 0x02023770 + thumb_func_start FUN_02023770 +FUN_02023770: ; 0x02023770 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x5c - blx sub_020CE240 + blx FUN_020CE240 add r4, #0x10 add r0, r4, #0x0 - bl sub_02023840 + bl FUN_02023840 pop {r4, pc} - thumb_func_start sub_02023788 -sub_02023788: ; 0x02023788 - ldr r3, _02023790 ; =sub_02022610 + thumb_func_start FUN_02023788 +FUN_02023788: ; 0x02023788 + ldr r3, _02023790 ; =FUN_02022610 mov r1, #0x0 bx r3 nop -_02023790: .word sub_02022610 + 1 +_02023790: .word FUN_02022610 + 1 - thumb_func_start sub_02023794 -sub_02023794: ; 0x02023794 + thumb_func_start FUN_02023794 +FUN_02023794: ; 0x02023794 push {r3, lr} - bl sub_02023788 + bl FUN_02023788 add r0, #0x10 pop {r3, pc} .balign 4 - thumb_func_start sub_020237A0 -sub_020237A0: ; 0x020237A0 + thumb_func_start FUN_020237A0 +FUN_020237A0: ; 0x020237A0 push {r4, lr} sub sp, #0x50 add r4, r0, #0x0 - blx sub_020CD510 + blx FUN_020CD510 str r0, [r4, #0x0] add r0, r4, #0x0 add r0, #0x8 str r1, [r4, #0x4] - blx sub_020CD5A0 + blx FUN_020CD5A0 add r0, sp, #0x0 - blx sub_020CD524 + blx FUN_020CD524 add r0, sp, #0x0 ldrb r1, [r0, #0x2] strb r1, [r4, #0xe] @@ -68519,13 +68519,13 @@ sub_020237A0: ; 0x020237A0 pop {r4, pc} .balign 4 - thumb_func_start sub_020237CC -sub_020237CC: ; 0x020237CC + thumb_func_start FUN_020237CC +FUN_020237CC: ; 0x020237CC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, sp, #0x0 - blx sub_020CD5A0 + blx FUN_020CD5A0 mov r2, #0x0 add r3, sp, #0x0 _020237DC: @@ -68547,11 +68547,11 @@ _020237EC: pop {r4, pc} .balign 4 - thumb_func_start sub_020237FC -sub_020237FC: ; 0x020237FC + thumb_func_start FUN_020237FC +FUN_020237FC: ; 0x020237FC push {r4, lr} add r4, r0, #0x0 - blx sub_020CD510 + blx FUN_020CD510 ldr r3, [r4, #0x0] ldr r2, [r4, #0x4] eor r0, r3 @@ -68564,37 +68564,37 @@ _02023814: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02023818 -sub_02023818: ; 0x02023818 + thumb_func_start FUN_02023818 +FUN_02023818: ; 0x02023818 ldrb r0, [r0, #0xe] bx lr - thumb_func_start sub_0202381C -sub_0202381C: ; 0x0202381C + thumb_func_start FUN_0202381C +FUN_0202381C: ; 0x0202381C ldrb r0, [r0, #0xf] bx lr - thumb_func_start sub_02023820 -sub_02023820: ; 0x02023820 + thumb_func_start FUN_02023820 +FUN_02023820: ; 0x02023820 add r0, #0x48 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02023828 -sub_02023828: ; 0x02023828 + thumb_func_start FUN_02023828 +FUN_02023828: ; 0x02023828 add r0, #0x48 strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02023830 -sub_02023830: ; 0x02023830 + thumb_func_start FUN_02023830 +FUN_02023830: ; 0x02023830 ldr r0, [r0, #0x4c] bx lr - thumb_func_start sub_02023834 -sub_02023834: ; 0x02023834 + thumb_func_start FUN_02023834 +FUN_02023834: ; 0x02023834 ldr r2, [r0, #0x4c] cmp r2, #0x0 bne _0202383C @@ -68603,8 +68603,8 @@ _0202383C: bx lr .balign 4 - thumb_func_start sub_02023840 -sub_02023840: ; 0x02023840 + thumb_func_start FUN_02023840 +FUN_02023840: ; 0x02023840 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1 @@ -68612,14 +68612,14 @@ sub_02023840: ; 0x02023840 str r0, [r4, #0x0] add r0, r4, #0x4 add r1, #0x14 - bl sub_0201265C + bl FUN_0201265C add r0, r4, #0x4 - blx sub_020D660C + blx FUN_020D660C add r1, r4, #0x0 str r0, [r4, #0x20] add r0, r4, #0x4 add r1, #0x14 - blx sub_020D6578 + blx FUN_020D6578 str r0, [r4, #0x24] str r1, [r4, #0x28] mov r0, #0x0 @@ -68629,8 +68629,8 @@ sub_02023840: ; 0x02023840 pop {r4, pc} .balign 4 - thumb_func_start sub_02023874 -sub_02023874: ; 0x02023874 + thumb_func_start FUN_02023874 +FUN_02023874: ; 0x02023874 ldr r0, [r0, #0x34] cmp r0, #0x0 beq _0202387E @@ -68641,8 +68641,8 @@ _0202387E: bx lr .balign 4 - thumb_func_start sub_02023884 -sub_02023884: ; 0x02023884 + thumb_func_start FUN_02023884 +FUN_02023884: ; 0x02023884 mov r2, #0x5a ldr r3, [r0, #0x34] lsl r2, r2, #0x4 @@ -68662,8 +68662,8 @@ _0202389C: bx lr .balign 4 - thumb_func_start sub_020238A4 -sub_020238A4: ; 0x020238A4 + thumb_func_start FUN_020238A4 +FUN_020238A4: ; 0x020238A4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x5a @@ -68672,191 +68672,191 @@ sub_020238A4: ; 0x020238A4 str r0, [r4, #0x34] add r0, r4, #0x4 add r1, #0x14 - bl sub_0201265C + bl FUN_0201265C add r0, r4, #0x4 - blx sub_020D660C + blx FUN_020D660C str r0, [r4, #0x20] pop {r4, pc} .balign 4 - thumb_func_start sub_020238C4 -sub_020238C4: ; 0x020238C4 + thumb_func_start FUN_020238C4 +FUN_020238C4: ; 0x020238C4 mov r0, #0x2c bx lr - thumb_func_start sub_020238C8 -sub_020238C8: ; 0x020238C8 + thumb_func_start FUN_020238C8 +FUN_020238C8: ; 0x020238C8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x2c - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 - bl sub_02024F50 + bl FUN_02024F50 add r0, r4, #0x4 - bl sub_02023948 + bl FUN_02023948 add r0, r4, #0x0 add r0, #0x24 - bl sub_02028910 + bl FUN_02028910 add r4, #0x26 add r0, r4, #0x0 - bl sub_02029E48 + bl FUN_02029E48 pop {r4, pc} - thumb_func_start sub_020238F4 -sub_020238F4: ; 0x020238F4 + thumb_func_start FUN_020238F4 +FUN_020238F4: ; 0x020238F4 push {r3, lr} mov r1, #0x1 - bl sub_02022610 + bl FUN_02022610 add r0, r0, #0x4 pop {r3, pc} - thumb_func_start sub_02023900 -sub_02023900: ; 0x02023900 - ldr r3, _02023908 ; =sub_02022610 + thumb_func_start FUN_02023900 +FUN_02023900: ; 0x02023900 + ldr r3, _02023908 ; =FUN_02022610 mov r1, #0x1 bx r3 nop -_02023908: .word sub_02022610 + 1 +_02023908: .word FUN_02022610 + 1 - thumb_func_start sub_0202390C -sub_0202390C: ; 0x0202390C + thumb_func_start FUN_0202390C +FUN_0202390C: ; 0x0202390C push {r3, lr} mov r1, #0x1 - bl sub_02022610 + bl FUN_02022610 add r0, #0x24 pop {r3, pc} - thumb_func_start sub_02023918 -sub_02023918: ; 0x02023918 + thumb_func_start FUN_02023918 +FUN_02023918: ; 0x02023918 push {r3, lr} mov r1, #0x1 - bl sub_02022610 + bl FUN_02022610 add r0, #0x26 pop {r3, pc} - thumb_func_start sub_02023924 -sub_02023924: ; 0x02023924 + thumb_func_start FUN_02023924 +FUN_02023924: ; 0x02023924 mov r0, #0x20 bx lr - thumb_func_start sub_02023928 -sub_02023928: ; 0x02023928 + thumb_func_start FUN_02023928 +FUN_02023928: ; 0x02023928 push {r4, lr} mov r1, #0x20 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_02023948 + bl FUN_02023948 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0202393C -sub_0202393C: ; 0x0202393C - ldr r3, _02023944 ; =sub_020CE3E0 + thumb_func_start FUN_0202393C +FUN_0202393C: ; 0x0202393C + ldr r3, _02023944 ; =FUN_020CE3E0 mov r2, #0x20 bx r3 nop -_02023944: .word sub_020CE3E0 +_02023944: .word FUN_020CE3E0 - thumb_func_start sub_02023948 -sub_02023948: ; 0x02023948 + thumb_func_start FUN_02023948 +FUN_02023948: ; 0x02023948 push {r4, lr} mov r1, #0x0 mov r2, #0x20 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x2 strb r0, [r4, #0x19] pop {r4, pc} .balign 4 - thumb_func_start sub_0202395C -sub_0202395C: ; 0x0202395C + thumb_func_start FUN_0202395C +FUN_0202395C: ; 0x0202395C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02002288 + bl FUN_02002288 cmp r0, #0x8 blt _02023970 - bl sub_02020C2C + bl FUN_02020C2C _02023970: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02002248 + bl FUN_02002248 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202397C -sub_0202397C: ; 0x0202397C - ldr r3, _02023988 ; =sub_02021EF0 + thumb_func_start FUN_0202397C +FUN_0202397C: ; 0x0202397C + ldr r3, _02023988 ; =FUN_02021EF0 add r2, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0x8 bx r3 .balign 4 -_02023988: .word sub_02021EF0 + 1 +_02023988: .word FUN_02021EF0 + 1 - thumb_func_start sub_0202398C -sub_0202398C: ; 0x0202398C + thumb_func_start FUN_0202398C +FUN_0202398C: ; 0x0202398C bx lr .balign 4 - thumb_func_start sub_02023990 -sub_02023990: ; 0x02023990 - ldr r3, _0202399C ; =sub_02021E28 + thumb_func_start FUN_02023990 +FUN_02023990: ; 0x02023990 + ldr r3, _0202399C ; =FUN_02021E28 add r2, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 bx r3 nop -_0202399C: .word sub_02021E28 + 1 +_0202399C: .word FUN_02021E28 + 1 - thumb_func_start sub_020239A0 -sub_020239A0: ; 0x020239A0 + thumb_func_start FUN_020239A0 +FUN_020239A0: ; 0x020239A0 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x8 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02023990 + bl FUN_02023990 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020239B8 -sub_020239B8: ; 0x020239B8 + thumb_func_start FUN_020239B8 +FUN_020239B8: ; 0x020239B8 str r1, [r0, #0x10] bx lr - thumb_func_start sub_020239BC -sub_020239BC: ; 0x020239BC + thumb_func_start FUN_020239BC +FUN_020239BC: ; 0x020239BC ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_020239C0 -sub_020239C0: ; 0x020239C0 + thumb_func_start FUN_020239C0 +FUN_020239C0: ; 0x020239C0 ldr r0, [r0, #0x10] lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr - thumb_func_start sub_020239C8 -sub_020239C8: ; 0x020239C8 + thumb_func_start FUN_020239C8 +FUN_020239C8: ; 0x020239C8 strb r1, [r0, #0x18] bx lr - thumb_func_start sub_020239CC -sub_020239CC: ; 0x020239CC + thumb_func_start FUN_020239CC +FUN_020239CC: ; 0x020239CC ldrb r0, [r0, #0x18] bx lr - thumb_func_start sub_020239D0 -sub_020239D0: ; 0x020239D0 + thumb_func_start FUN_020239D0 +FUN_020239D0: ; 0x020239D0 ldrb r3, [r0, #0x1a] mov r0, #0x1 add r2, r0, #0x0 @@ -68869,8 +68869,8 @@ _020239E0: bx lr .balign 4 - thumb_func_start sub_020239E4 -sub_020239E4: ; 0x020239E4 + thumb_func_start FUN_020239E4 +FUN_020239E4: ; 0x020239E4 ldrb r3, [r0, #0x1a] mov r2, #0x1 lsl r2, r1 @@ -68880,8 +68880,8 @@ sub_020239E4: ; 0x020239E4 bx lr .balign 4 - thumb_func_start sub_020239F4 -sub_020239F4: ; 0x020239F4 + thumb_func_start FUN_020239F4 +FUN_020239F4: ; 0x020239F4 ldrb r3, [r0, #0x1a] mov r2, #0x0 cmp r3, #0x0 @@ -68900,13 +68900,13 @@ _02023A0A: bx lr .balign 4 - thumb_func_start sub_02023A10 -sub_02023A10: ; 0x02023A10 + thumb_func_start FUN_02023A10 +FUN_02023A10: ; 0x02023A10 ldr r0, [r0, #0x14] bx lr - thumb_func_start sub_02023A14 -sub_02023A14: ; 0x02023A14 + thumb_func_start FUN_02023A14 +FUN_02023A14: ; 0x02023A14 ldr r2, _02023A24 ; =0x000F423F cmp r1, r2 bls _02023A1C @@ -68918,18 +68918,18 @@ _02023A1C: nop _02023A24: .word 0x000F423F - thumb_func_start sub_02023A28 -sub_02023A28: ; 0x02023A28 + thumb_func_start FUN_02023A28 +FUN_02023A28: ; 0x02023A28 ldrb r0, [r0, #0x1b] bx lr - thumb_func_start sub_02023A2C -sub_02023A2C: ; 0x02023A2C + thumb_func_start FUN_02023A2C +FUN_02023A2C: ; 0x02023A2C strb r1, [r0, #0x1b] bx lr - thumb_func_start sub_02023A30 -sub_02023A30: ; 0x02023A30 + thumb_func_start FUN_02023A30 +FUN_02023A30: ; 0x02023A30 ldr r2, _02023A50 ; =0x000F423F cmp r1, r2 bls _02023A3A @@ -68951,8 +68951,8 @@ _02023A4A: nop _02023A50: .word 0x000F423F - thumb_func_start sub_02023A54 -sub_02023A54: ; 0x02023A54 + thumb_func_start FUN_02023A54 +FUN_02023A54: ; 0x02023A54 ldr r2, [r0, #0x14] cmp r2, r1 bhs _02023A5E @@ -68966,28 +68966,28 @@ _02023A60: bx lr .balign 4 - thumb_func_start sub_02023A68 -sub_02023A68: ; 0x02023A68 + thumb_func_start FUN_02023A68 +FUN_02023A68: ; 0x02023A68 ldrb r0, [r0, #0x1c] bx lr - thumb_func_start sub_02023A6C -sub_02023A6C: ; 0x02023A6C + thumb_func_start FUN_02023A6C +FUN_02023A6C: ; 0x02023A6C strb r1, [r0, #0x1c] bx lr - thumb_func_start sub_02023A70 -sub_02023A70: ; 0x02023A70 + thumb_func_start FUN_02023A70 +FUN_02023A70: ; 0x02023A70 ldrb r0, [r0, #0x19] bx lr - thumb_func_start sub_02023A74 -sub_02023A74: ; 0x02023A74 + thumb_func_start FUN_02023A74 +FUN_02023A74: ; 0x02023A74 strb r1, [r0, #0x19] bx lr - thumb_func_start sub_02023A78 -sub_02023A78: ; 0x02023A78 + thumb_func_start FUN_02023A78 +FUN_02023A78: ; 0x02023A78 ldrb r2, [r0, #0x1d] mov r1, #0x1 bic r2, r1 @@ -68997,15 +68997,15 @@ sub_02023A78: ; 0x02023A78 bx lr .balign 4 - thumb_func_start sub_02023A88 -sub_02023A88: ; 0x02023A88 + thumb_func_start FUN_02023A88 +FUN_02023A88: ; 0x02023A88 ldrb r0, [r0, #0x1d] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr - thumb_func_start sub_02023A90 -sub_02023A90: ; 0x02023A90 + thumb_func_start FUN_02023A90 +FUN_02023A90: ; 0x02023A90 ldrb r2, [r0, #0x1d] mov r1, #0x2 orr r1, r2 @@ -69013,20 +69013,20 @@ sub_02023A90: ; 0x02023A90 bx lr .balign 4 - thumb_func_start sub_02023A9C -sub_02023A9C: ; 0x02023A9C + thumb_func_start FUN_02023A9C +FUN_02023A9C: ; 0x02023A9C ldrb r0, [r0, #0x1d] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr - thumb_func_start sub_02023AA4 -sub_02023AA4: ; 0x02023AA4 + thumb_func_start FUN_02023AA4 +FUN_02023AA4: ; 0x02023AA4 push {r3-r5, lr} mov r2, #0x7 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020022D0 + bl FUN_020022D0 cmp r0, #0x0 bne _02023AC0 ldr r1, [r5, #0x10] @@ -69039,59 +69039,59 @@ _02023AC0: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02023AC4 -sub_02023AC4: ; 0x02023AC4 + thumb_func_start FUN_02023AC4 +FUN_02023AC4: ; 0x02023AC4 mov r0, #0x20 bx lr - thumb_func_start sub_02023AC8 -sub_02023AC8: ; 0x02023AC8 + thumb_func_start FUN_02023AC8 +FUN_02023AC8: ; 0x02023AC8 mov r0, #0x20 bx lr - thumb_func_start sub_02023ACC -sub_02023ACC: ; 0x02023ACC - ldr r3, _02023AD4 ; =sub_020CE3E0 + thumb_func_start FUN_02023ACC +FUN_02023ACC: ; 0x02023ACC + ldr r3, _02023AD4 ; =FUN_020CE3E0 mov r2, #0x20 bx r3 nop -_02023AD4: .word sub_020CE3E0 +_02023AD4: .word FUN_020CE3E0 - thumb_func_start sub_02023AD8 -sub_02023AD8: ; 0x02023AD8 - ldr r3, _02023AE0 ; =sub_020DF4A4 + thumb_func_start FUN_02023AD8 +FUN_02023AD8: ; 0x02023AD8 + ldr r3, _02023AE0 ; =FUN_020DF4A4 mov r1, #0x0 mov r2, #0x20 bx r3 .balign 4 -_02023AE0: .word sub_020DF4A4 +_02023AE0: .word FUN_020DF4A4 - thumb_func_start sub_02023AE4 -sub_02023AE4: ; 0x02023AE4 - ldr r3, _02023AF0 ; =sub_02021E8C + thumb_func_start FUN_02023AE4 +FUN_02023AE4: ; 0x02023AE4 + ldr r3, _02023AF0 ; =FUN_02021E8C add r2, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0xc bx r3 .balign 4 -_02023AF0: .word sub_02021E8C + 1 +_02023AF0: .word FUN_02021E8C + 1 - thumb_func_start sub_02023AF4 -sub_02023AF4: ; 0x02023AF4 + thumb_func_start FUN_02023AF4 +FUN_02023AF4: ; 0x02023AF4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x18 - bl sub_020219F4 + bl FUN_020219F4 add r1, r5, #0x0 add r4, r0, #0x0 - bl sub_02021E28 + bl FUN_02021E28 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02023B0C -sub_02023B0C: ; 0x02023B0C + thumb_func_start FUN_02023B0C +FUN_02023B0C: ; 0x02023B0C mov r2, #0x0 cmp r1, #0xc bhi _02023B9E @@ -69129,23 +69129,23 @@ _02023B9E: bx lr .balign 4 - thumb_func_start sub_02023BA4 -sub_02023BA4: ; 0x02023BA4 + thumb_func_start FUN_02023BA4 +FUN_02023BA4: ; 0x02023BA4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x1 blt _02023BB2 - bl sub_02020C2C + bl FUN_02020C2C _02023BB2: add r0, r4, #0x0 mov r1, #0xd - bl sub_02022610 + bl FUN_02022610 add r4, r0, #0x0 lsl r5, r5, #0x5 add r0, r4, r5 mov r1, #0x1 - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 beq _02023BCE add r0, r4, r5 @@ -69155,19 +69155,19 @@ _02023BCE: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02023BD4 -sub_02023BD4: ; 0x02023BD4 + thumb_func_start FUN_02023BD4 +FUN_02023BD4: ; 0x02023BD4 push {r4, lr} add r4, r1, #0x0 mov r1, #0xd - bl sub_02022610 + bl FUN_02022610 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02023ACC + bl FUN_02023ACC pop {r4, pc} - thumb_func_start sub_02023BE8 -sub_02023BE8: ; 0x02023BE8 + thumb_func_start FUN_02023BE8 +FUN_02023BE8: ; 0x02023BE8 push {r3, lr} cmp r1, #0x5 bhs _02023BF6 @@ -69177,13 +69177,13 @@ sub_02023BE8: ; 0x02023BE8 pop {r3, pc} _02023BF6: mov r1, #0xd - bl sub_02022610 + bl FUN_02022610 pop {r3, pc} nop _02023C00: .word 0x02105BD4 - thumb_func_start sub_02023C04 -sub_02023C04: ; 0x02023C04 + thumb_func_start FUN_02023C04 +FUN_02023C04: ; 0x02023C04 push {r4-r6, lr} add r5, r1, #0x0 add r4, r2, #0x0 @@ -69192,44 +69192,44 @@ sub_02023C04: ; 0x02023C04 ldr r2, _02023C3C ; =0x0000013A mov r0, #0x0 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r5, #0x38 add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} _02023C2C: mov r1, #0x0 - bl sub_02023BA4 + bl FUN_02023BA4 add r1, r4, #0x0 - bl sub_02023AE4 + bl FUN_02023AE4 pop {r4-r6, pc} nop _02023C3C: .word 0x0000013A - thumb_func_start sub_02023C40 -sub_02023C40: ; 0x02023C40 + thumb_func_start FUN_02023C40 +FUN_02023C40: ; 0x02023C40 mov r0, #0x1e lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02023C48 -sub_02023C48: ; 0x02023C48 + thumb_func_start FUN_02023C48 +FUN_02023C48: ; 0x02023C48 push {r4, lr} mov r2, #0x1e add r4, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 - bl sub_020669A0 + bl FUN_020669A0 add r0, r4, #0x0 add r0, #0xec - bl sub_020669A0 + bl FUN_020669A0 mov r0, #0x76 mov r1, #0x0 lsl r0, r0, #0x2 @@ -69239,58 +69239,58 @@ sub_02023C48: ; 0x02023C48 pop {r4, pc} .balign 4 - thumb_func_start sub_02023C74 -sub_02023C74: ; 0x02023C74 + thumb_func_start FUN_02023C74 +FUN_02023C74: ; 0x02023C74 mov r2, #0xec mul r2, r1 add r0, r0, r2 bx lr - thumb_func_start sub_02023C7C -sub_02023C7C: ; 0x02023C7C + thumb_func_start FUN_02023C7C +FUN_02023C7C: ; 0x02023C7C bx lr .balign 4 - thumb_func_start sub_02023C80 -sub_02023C80: ; 0x02023C80 + thumb_func_start FUN_02023C80 +FUN_02023C80: ; 0x02023C80 add r0, #0x88 bx lr - thumb_func_start sub_02023C84 -sub_02023C84: ; 0x02023C84 + thumb_func_start FUN_02023C84 +FUN_02023C84: ; 0x02023C84 add r0, #0xe8 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02023C8C -sub_02023C8C: ; 0x02023C8C + thumb_func_start FUN_02023C8C +FUN_02023C8C: ; 0x02023C8C bx lr .balign 4 - thumb_func_start sub_02023C90 -sub_02023C90: ; 0x02023C90 + thumb_func_start FUN_02023C90 +FUN_02023C90: ; 0x02023C90 mov r1, #0x76 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr - thumb_func_start sub_02023C98 -sub_02023C98: ; 0x02023C98 + thumb_func_start FUN_02023C98 +FUN_02023C98: ; 0x02023C98 mov r1, #0x77 lsl r1, r1, #0x2 ldrb r0, [r0, r1] bx lr - thumb_func_start sub_02023CA0 -sub_02023CA0: ; 0x02023CA0 + thumb_func_start FUN_02023CA0 +FUN_02023CA0: ; 0x02023CA0 add r0, #0xe8 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02023CA8 -sub_02023CA8: ; 0x02023CA8 + thumb_func_start FUN_02023CA8 +FUN_02023CA8: ; 0x02023CA8 add r2, r0, #0x0 add r2, #0xe8 ldr r2, [r2, #0x0] @@ -69300,33 +69300,33 @@ sub_02023CA8: ; 0x02023CA8 bx lr .balign 4 - thumb_func_start sub_02023CB8 -sub_02023CB8: ; 0x02023CB8 + thumb_func_start FUN_02023CB8 +FUN_02023CB8: ; 0x02023CB8 mov r2, #0x76 lsl r2, r2, #0x2 str r1, [r0, r2] bx lr - thumb_func_start sub_02023CC0 -sub_02023CC0: ; 0x02023CC0 + thumb_func_start FUN_02023CC0 +FUN_02023CC0: ; 0x02023CC0 mov r2, #0x77 lsl r2, r2, #0x2 strb r1, [r0, r2] bx lr - thumb_func_start sub_02023CC8 -sub_02023CC8: ; 0x02023CC8 + thumb_func_start FUN_02023CC8 +FUN_02023CC8: ; 0x02023CC8 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0xc mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r5, #0xec add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xc mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r4, r0 beq _02023CEA mov r0, #0x1 @@ -69336,8 +69336,8 @@ _02023CEA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02023CF0 -sub_02023CF0: ; 0x02023CF0 + thumb_func_start FUN_02023CF0 +FUN_02023CF0: ; 0x02023CF0 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -69352,8 +69352,8 @@ _02023CF8: pop {r3-r4} bx lr - thumb_func_start sub_02023D08 -sub_02023D08: ; 0x02023D08 + thumb_func_start FUN_02023D08 +FUN_02023D08: ; 0x02023D08 push {r3-r4} mov r1, #0x0 add r2, r0, #0x0 @@ -69383,58 +69383,58 @@ _02023D1E: .balign 4 _02023D38: .word 0x0000FFFF - thumb_func_start sub_02023D3C -sub_02023D3C: ; 0x02023D3C + thumb_func_start FUN_02023D3C +FUN_02023D3C: ; 0x02023D3C push {r4, lr} add r4, r0, #0x0 - bl sub_020669A0 + bl FUN_020669A0 add r0, r4, #0x0 mov r1, #0x0 add r0, #0xe8 add r4, #0x88 str r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_02023D08 + bl FUN_02023D08 pop {r4, pc} .balign 4 - thumb_func_start sub_02023D58 -sub_02023D58: ; 0x02023D58 - ldr r3, _02023D60 ; =sub_02022610 + thumb_func_start FUN_02023D58 +FUN_02023D58: ; 0x02023D58 + ldr r3, _02023D60 ; =FUN_02022610 mov r1, #0x8 bx r3 nop -_02023D60: .word sub_02022610 + 1 +_02023D60: .word FUN_02022610 + 1 - thumb_func_start sub_02023D64 -sub_02023D64: ; 0x02023D64 + thumb_func_start FUN_02023D64 +FUN_02023D64: ; 0x02023D64 mov r0, #0x4f lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_02023D6C -sub_02023D6C: ; 0x02023D6C + thumb_func_start FUN_02023D6C +FUN_02023D6C: ; 0x02023D6C push {r4, lr} mov r1, #0x4f lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_02024378 + bl FUN_02024378 add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_02023D80 -sub_02023D80: ; 0x02023D80 - ldr r3, _02023D88 ; =sub_020CE3E0 + thumb_func_start FUN_02023D80 +FUN_02023D80: ; 0x02023D80 + ldr r3, _02023D88 ; =FUN_020CE3E0 mov r2, #0x4f lsl r2, r2, #0x2 bx r3 .balign 4 -_02023D88: .word sub_020CE3E0 +_02023D88: .word FUN_020CE3E0 - thumb_func_start sub_02023D8C -sub_02023D8C: ; 0x02023D8C + thumb_func_start FUN_02023D8C +FUN_02023D8C: ; 0x02023D8C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02023DE8 ; =0x000001A6 @@ -69444,12 +69444,12 @@ sub_02023D8C: ; 0x02023D8C add r0, r0, #0x1 cmp r4, r0 beq _02023DA2 - bl sub_02020C2C + bl FUN_02020C2C _02023DA2: lsl r1, r4, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 bne _02023DB4 mov r0, #0x0 @@ -69489,8 +69489,8 @@ _02023DE2: nop _02023DE8: .word 0x000001A6 - thumb_func_start sub_02023DEC -sub_02023DEC: ; 0x02023DEC + thumb_func_start FUN_02023DEC +FUN_02023DEC: ; 0x02023DEC push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _02023E6C ; =0x000001A6 @@ -69501,12 +69501,12 @@ sub_02023DEC: ; 0x02023DEC add r0, r0, #0x1 cmp r6, r0 beq _02023E04 - bl sub_02020C2C + bl FUN_02020C2C _02023E04: lsl r1, r6, #0x10 add r0, r7, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 bne _02023E16 mov r0, #0x0 @@ -69523,7 +69523,7 @@ _02023E22: add r4, r7, r0 add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_02023D8C + bl FUN_02023D8C mov r6, #0x0 cmp r0, #0x0 bls _02023E66 @@ -69563,8 +69563,8 @@ _02023E66: nop _02023E6C: .word 0x000001A6 - thumb_func_start sub_02023E70 -sub_02023E70: ; 0x02023E70 + thumb_func_start FUN_02023E70 +FUN_02023E70: ; 0x02023E70 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _02023F28 ; =0x000001A6 @@ -69575,13 +69575,13 @@ sub_02023E70: ; 0x02023E70 add r0, r0, #0x1 cmp r5, r0 beq _02023E88 - bl sub_02020C2C + bl FUN_02020C2C _02023E88: lsl r2, r7, #0x18 add r0, r6, #0x0 add r1, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02023DEC + bl FUN_02023DEC cmp r0, #0x0 bne _02023F26 ldr r0, _02023F28 ; =0x000001A6 @@ -69595,7 +69595,7 @@ _02023EA4: add r4, r6, r0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02023D8C + bl FUN_02023D8C add r5, r0, #0x0 cmp r5, #0x2 bge _02023F26 @@ -69606,7 +69606,7 @@ _02023EA4: lsr r0, r0, #0x18 cmp r0, #0x2 blo _02023EC6 - bl sub_02020C2C + bl FUN_02020C2C _02023EC6: sub r0, r6, #0x1 lsl r0, r0, #0x10 @@ -69635,7 +69635,7 @@ _02023EC6: lsr r5, r0, #0x10 cmp r6, #0x2 blo _02023F00 - bl sub_02020C2C + bl FUN_02020C2C _02023F00: sub r0, r5, #0x1 lsl r0, r0, #0x10 @@ -69661,8 +69661,8 @@ _02023F26: .balign 4 _02023F28: .word 0x000001A6 - thumb_func_start sub_02023F2C -sub_02023F2C: ; 0x02023F2C + thumb_func_start FUN_02023F2C +FUN_02023F2C: ; 0x02023F2C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x67 @@ -69673,12 +69673,12 @@ sub_02023F2C: ; 0x02023F2C add r0, r0, #0x1 cmp r4, r0 beq _02023F44 - bl sub_02020C2C + bl FUN_02020C2C _02023F44: lsl r1, r4, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 bne _02023F56 mov r0, #0x0 @@ -69714,8 +69714,8 @@ _02023F6A: _02023F86: pop {r3-r5, pc} - thumb_func_start sub_02023F88 -sub_02023F88: ; 0x02023F88 + thumb_func_start FUN_02023F88 +FUN_02023F88: ; 0x02023F88 push {r4-r6, lr} add r6, r0, #0x0 mov r0, #0x67 @@ -69727,12 +69727,12 @@ sub_02023F88: ; 0x02023F88 add r0, r0, #0x1 cmp r5, r0 beq _02023FA2 - bl sub_02020C2C + bl FUN_02020C2C _02023FA2: lsl r1, r5, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 bne _02023FB4 mov r0, #0x0 @@ -69771,8 +69771,8 @@ _02023FE2: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02023FEC -sub_02023FEC: ; 0x02023FEC + thumb_func_start FUN_02023FEC +FUN_02023FEC: ; 0x02023FEC push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x67 @@ -69784,13 +69784,13 @@ sub_02023FEC: ; 0x02023FEC add r0, r0, #0x1 cmp r5, r0 beq _02024006 - bl sub_02020C2C + bl FUN_02020C2C _02024006: lsl r2, r7, #0x18 add r0, r6, #0x0 add r1, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02023F88 + bl FUN_02023F88 cmp r0, #0x0 bne _02024064 mov r0, #0x67 @@ -69805,7 +69805,7 @@ _02024024: add r4, r6, r0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02023F2C + bl FUN_02023F2C add r5, r0, #0x0 cmp r5, #0x3 bge _02024064 @@ -69813,7 +69813,7 @@ _02024024: lsr r0, r0, #0x18 cmp r0, #0x4 blo _02024040 - bl sub_02020C2C + bl FUN_02020C2C _02024040: lsl r0, r5, #0x10 lsr r2, r0, #0x10 @@ -69837,19 +69837,19 @@ _02024064: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02024068 -sub_02024068: ; 0x02024068 + thumb_func_start FUN_02024068 +FUN_02024068: ; 0x02024068 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 cmp r6, #0x4 blo _02024078 - bl sub_02020C2C + bl FUN_02020C2C _02024078: cmp r4, #0xf bls _02024080 - bl sub_02020C2C + bl FUN_02020C2C _02024080: cmp r6, #0x2 bhs _0202409E @@ -69893,8 +69893,8 @@ _0202409E: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020240D0 -sub_020240D0: ; 0x020240D0 + thumb_func_start FUN_020240D0 +FUN_020240D0: ; 0x020240D0 push {r3-r6} mov r3, #0xf mov r1, #0x0 @@ -69934,8 +69934,8 @@ _0202410C: bx lr .balign 4 - thumb_func_start sub_02024114 -sub_02024114: ; 0x02024114 + thumb_func_start FUN_02024114 +FUN_02024114: ; 0x02024114 push {r4-r7} mov r2, #0xf mov r6, #0x0 @@ -69977,15 +69977,15 @@ _02024150: pop {r4-r7} bx lr - thumb_func_start sub_0202415C -sub_0202415C: ; 0x0202415C + thumb_func_start FUN_0202415C +FUN_0202415C: ; 0x0202415C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r0, r2, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, _02024198 ; =0x00000182 @@ -69993,24 +69993,24 @@ sub_0202415C: ; 0x0202415C bne _02024196 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02024114 + bl FUN_02024114 cmp r0, #0x0 bne _02024196 add r0, r5, #0x0 - bl sub_020240D0 + bl FUN_020240D0 add r2, r0, #0x0 lsl r2, r2, #0x18 add r0, r5, #0x0 add r1, r4, #0x0 lsr r2, r2, #0x18 - bl sub_02024068 + bl FUN_02024068 _02024196: pop {r4-r6, pc} .balign 4 _02024198: .word 0x00000182 - thumb_func_start sub_0202419C -sub_0202419C: ; 0x0202419C + thumb_func_start FUN_0202419C +FUN_0202419C: ; 0x0202419C push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 @@ -70020,21 +70020,21 @@ _020241A4: add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 - bl sub_02024068 + bl FUN_02024068 add r4, r4, #0x1 cmp r4, #0x4 blt _020241A4 pop {r4-r6, pc} - thumb_func_start sub_020241B8 -sub_020241B8: ; 0x020241B8 + thumb_func_start FUN_020241B8 +FUN_020241B8: ; 0x020241B8 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xc9 bne _02024210 add r0, r2, #0x0 - bl sub_020690CC + bl FUN_020690CC lsl r1, r0, #0x18 lsr r3, r1, #0x18 mov r1, #0x43 @@ -70084,11 +70084,11 @@ _02024210: add r0, r2, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02023FEC + bl FUN_02023FEC pop {r4-r6, pc} _0202422E: add r3, r6, #0x1 @@ -70097,11 +70097,11 @@ _0202422E: add r0, r2, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02023FEC + bl FUN_02023FEC pop {r4-r6, pc} _0202424A: add r3, r6, #0x0 @@ -70111,11 +70111,11 @@ _0202424A: add r0, r2, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02023E70 + bl FUN_02023E70 pop {r4-r6, pc} _02024268: add r3, r6, #0x0 @@ -70125,31 +70125,31 @@ _02024268: add r0, r2, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02023E70 + bl FUN_02023E70 pop {r4-r6, pc} _02024286: sub r6, #0x1a cmp r4, r6 bne _02024290 - bl sub_0202415C + bl FUN_0202415C _02024290: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02024294 -sub_02024294: ; 0x02024294 + thumb_func_start FUN_02024294 +FUN_02024294: ; 0x02024294 push {r4-r6, lr} add r5, r0, #0x0 add r6, r2, #0x0 add r0, r1, #0x0 - bl sub_02087A50 + bl FUN_02087A50 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02087A1C + bl FUN_02087A1C cmp r4, #0xe beq _020242C0 cmp r0, #0x6 @@ -70167,15 +70167,15 @@ _020242C0: nop _020242C4: .word 0x00000129 - thumb_func_start sub_020242C8 -sub_020242C8: ; 0x020242C8 + thumb_func_start FUN_020242C8 +FUN_020242C8: ; 0x020242C8 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0x12 add r4, r2, #0x0 - bl sub_02068678 + bl FUN_02068678 cmp r0, #0xff bne _020242EA cmp r4, #0x0 @@ -70235,8 +70235,8 @@ _0202433C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02024340 -sub_02024340: ; 0x02024340 + thumb_func_start FUN_02024340 +FUN_02024340: ; 0x02024340 push {r4-r5} mov r3, #0x0 ldr r5, _02024360 ; =0x020EE942 @@ -70258,8 +70258,8 @@ _02024352: .balign 4 _02024360: .word 0x020EE942 - thumb_func_start sub_02024364 -sub_02024364: ; 0x02024364 + thumb_func_start FUN_02024364 +FUN_02024364: ; 0x02024364 ldr r1, _02024374 ; =0x000001EA mov r2, #0x1 cmp r0, r1 @@ -70271,14 +70271,14 @@ _0202436E: nop _02024374: .word 0x000001EA - thumb_func_start sub_02024378 -sub_02024378: ; 0x02024378 + thumb_func_start FUN_02024378 +FUN_02024378: ; 0x02024378 push {r4, lr} mov r2, #0x4f mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _020243C0 ; =0xBEEFCAFE mov r1, #0x0 str r0, [r4, #0x0] @@ -70288,7 +70288,7 @@ sub_02024378: ; 0x02024378 sub r0, #0x2d add r0, r4, r0 mov r1, #0xff - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r1, #0xff add r0, r1, #0x0 add r0, #0x9 @@ -70303,21 +70303,21 @@ sub_02024378: ; 0x02024378 add r0, #0xc strb r1, [r4, r0] add r0, r4, #0x0 - bl sub_0202419C + bl FUN_0202419C pop {r4, pc} nop _020243C0: .word 0xBEEFCAFE _020243C4: .word 0x00000139 - thumb_func_start sub_020243C8 -sub_020243C8: ; 0x020243C8 + thumb_func_start FUN_020243C8 +FUN_020243C8: ; 0x020243C8 push {r3-r7, lr} add r6, r0, #0x0 ldr r1, [r6, #0x0] ldr r0, _020243FC ; =0xBEEFCAFE cmp r1, r0 beq _020243D8 - bl sub_02020C2C + bl FUN_02020C2C _020243D8: ldr r7, _02024400 ; =0x000001ED mov r5, #0x0 @@ -70326,7 +70326,7 @@ _020243DE: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_02024594 + bl FUN_02024594 cmp r0, #0x1 bne _020243EE add r5, r5, #0x1 @@ -70341,15 +70341,15 @@ _020243EE: _020243FC: .word 0xBEEFCAFE _02024400: .word 0x000001ED - thumb_func_start sub_02024404 -sub_02024404: ; 0x02024404 + thumb_func_start FUN_02024404 +FUN_02024404: ; 0x02024404 push {r3-r7, lr} add r6, r0, #0x0 ldr r1, [r6, #0x0] ldr r0, _02024438 ; =0xBEEFCAFE cmp r1, r0 beq _02024414 - bl sub_02020C2C + bl FUN_02020C2C _02024414: ldr r7, _0202443C ; =0x000001ED mov r5, #0x0 @@ -70358,7 +70358,7 @@ _0202441A: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x1 bne _0202442A add r5, r5, #0x1 @@ -70373,30 +70373,30 @@ _0202442A: _02024438: .word 0xBEEFCAFE _0202443C: .word 0x000001ED - thumb_func_start sub_02024440 -sub_02024440: ; 0x02024440 + thumb_func_start FUN_02024440 +FUN_02024440: ; 0x02024440 push {r4, lr} add r4, r0, #0x0 - bl sub_02024CA4 + bl FUN_02024CA4 cmp r0, #0x0 beq _02024454 add r0, r4, #0x0 - bl sub_02024404 + bl FUN_02024404 pop {r4, pc} _02024454: add r0, r4, #0x0 - bl sub_020244A4 + bl FUN_020244A4 pop {r4, pc} - thumb_func_start sub_0202445C -sub_0202445C: ; 0x0202445C + thumb_func_start FUN_0202445C +FUN_0202445C: ; 0x0202445C push {r3-r7, lr} add r6, r0, #0x0 ldr r1, [r6, #0x0] ldr r0, _0202449C ; =0xBEEFCAFE cmp r1, r0 beq _0202446C - bl sub_02020C2C + bl FUN_02020C2C _0202446C: ldr r7, _020244A0 ; =0x000001ED mov r5, #0x0 @@ -70405,12 +70405,12 @@ _02024472: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_02024594 + bl FUN_02024594 cmp r0, #0x1 bne _0202448E lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02069B40 + bl FUN_02069B40 cmp r0, #0x0 beq _0202448E add r5, r5, #0x1 @@ -70425,15 +70425,15 @@ _0202448E: _0202449C: .word 0xBEEFCAFE _020244A0: .word 0x000001ED - thumb_func_start sub_020244A4 -sub_020244A4: ; 0x020244A4 + thumb_func_start FUN_020244A4 +FUN_020244A4: ; 0x020244A4 push {r3-r7, lr} add r6, r0, #0x0 ldr r1, [r6, #0x0] ldr r0, _020244E4 ; =0xBEEFCAFE cmp r1, r0 beq _020244B4 - bl sub_02020C2C + bl FUN_02020C2C _020244B4: ldr r7, _020244E8 ; =0x000001ED mov r5, #0x0 @@ -70442,12 +70442,12 @@ _020244BA: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x1 bne _020244D6 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02069B40 + bl FUN_02069B40 cmp r0, #0x0 beq _020244D6 add r5, r5, #0x1 @@ -70462,10 +70462,10 @@ _020244D6: _020244E4: .word 0xBEEFCAFE _020244E8: .word 0x000001ED - thumb_func_start sub_020244EC -sub_020244EC: ; 0x020244EC + thumb_func_start FUN_020244EC +FUN_020244EC: ; 0x020244EC push {r3, lr} - bl sub_02024518 + bl FUN_02024518 ldr r1, _02024500 ; =0x000001E2 cmp r0, r1 blo _020244FC @@ -70477,10 +70477,10 @@ _020244FC: .balign 4 _02024500: .word 0x000001E2 - thumb_func_start sub_02024504 -sub_02024504: ; 0x02024504 + thumb_func_start FUN_02024504 +FUN_02024504: ; 0x02024504 push {r3, lr} - bl sub_02024550 + bl FUN_02024550 cmp r0, #0x96 blo _02024512 mov r0, #0x1 @@ -70490,8 +70490,8 @@ _02024512: pop {r3, pc} .balign 4 - thumb_func_start sub_02024518 -sub_02024518: ; 0x02024518 + thumb_func_start FUN_02024518 +FUN_02024518: ; 0x02024518 push {r3-r7, lr} ldr r7, _0202454C ; =0x000001ED add r6, r0, #0x0 @@ -70501,12 +70501,12 @@ _02024522: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_02024594 + bl FUN_02024594 cmp r0, #0x1 bne _02024542 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02024340 + bl FUN_02024340 cmp r0, #0x1 bne _02024542 add r0, r5, #0x1 @@ -70521,8 +70521,8 @@ _02024542: .balign 4 _0202454C: .word 0x000001ED - thumb_func_start sub_02024550 -sub_02024550: ; 0x02024550 + thumb_func_start FUN_02024550 +FUN_02024550: ; 0x02024550 push {r3-r7, lr} ldr r7, _02024590 ; =0x000001ED add r6, r0, #0x0 @@ -70532,17 +70532,17 @@ _0202455A: lsl r1, r4, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x1 bne _02024586 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02069B40 + bl FUN_02069B40 cmp r0, #0x0 beq _02024586 lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02024364 + bl FUN_02024364 cmp r0, #0x1 bne _02024586 add r0, r5, #0x1 @@ -70557,8 +70557,8 @@ _02024586: .balign 4 _02024590: .word 0x000001ED - thumb_func_start sub_02024594 -sub_02024594: ; 0x02024594 + thumb_func_start FUN_02024594 +FUN_02024594: ; 0x02024594 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70566,7 +70566,7 @@ sub_02024594: ; 0x02024594 ldr r0, _020245E8 ; =0xBEEFCAFE cmp r1, r0 beq _020245A6 - bl sub_02020C2C + bl FUN_02020C2C _020245A6: cmp r4, #0x0 beq _020245B0 @@ -70574,7 +70574,7 @@ _020245A6: cmp r4, r0 bls _020245B8 _020245B0: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 b _020245BA _020245B8: @@ -70610,8 +70610,8 @@ _020245E6: _020245E8: .word 0xBEEFCAFE _020245EC: .word 0x000001ED - thumb_func_start sub_020245F0 -sub_020245F0: ; 0x020245F0 + thumb_func_start FUN_020245F0 +FUN_020245F0: ; 0x020245F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70619,7 +70619,7 @@ sub_020245F0: ; 0x020245F0 ldr r0, _02024640 ; =0xBEEFCAFE cmp r1, r0 beq _02024602 - bl sub_02020C2C + bl FUN_02020C2C _02024602: cmp r4, #0x0 beq _0202460C @@ -70627,7 +70627,7 @@ _02024602: cmp r4, r0 bls _02024614 _0202460C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 b _02024616 _02024614: @@ -70659,8 +70659,8 @@ _0202463C: _02024640: .word 0xBEEFCAFE _02024644: .word 0x000001ED - thumb_func_start sub_02024648 -sub_02024648: ; 0x02024648 + thumb_func_start FUN_02024648 +FUN_02024648: ; 0x02024648 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70668,7 +70668,7 @@ sub_02024648: ; 0x02024648 ldr r0, _02024670 ; =0xBEEFCAFE cmp r1, r0 beq _0202465A - bl sub_02020C2C + bl FUN_02020C2C _0202465A: cmp r4, #0x0 bne _02024666 @@ -70677,15 +70677,15 @@ _0202465A: ldr r6, [r5, r0] b _0202466A _02024666: - bl sub_02020C2C + bl FUN_02020C2C _0202466A: add r0, r6, #0x0 pop {r4-r6, pc} nop _02024670: .word 0xBEEFCAFE - thumb_func_start sub_02024674 -sub_02024674: ; 0x02024674 + thumb_func_start FUN_02024674 +FUN_02024674: ; 0x02024674 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70694,7 +70694,7 @@ sub_02024674: ; 0x02024674 add r6, r2, #0x0 cmp r1, r0 beq _02024688 - bl sub_02020C2C + bl FUN_02020C2C _02024688: cmp r4, #0x0 beq _02024692 @@ -70702,7 +70702,7 @@ _02024688: cmp r4, r0 bls _0202469A _02024692: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 b _0202469C _0202469A: @@ -70731,7 +70731,7 @@ _020246A6: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020242C8 + bl FUN_020242C8 pop {r4-r6, pc} _020246CE: sub r0, #0x8 @@ -70740,8 +70740,8 @@ _020246CE: _020246D4: .word 0xBEEFCAFE _020246D8: .word 0x000001ED - thumb_func_start sub_020246DC -sub_020246DC: ; 0x020246DC + thumb_func_start FUN_020246DC +FUN_020246DC: ; 0x020246DC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70749,7 +70749,7 @@ sub_020246DC: ; 0x020246DC ldr r0, _02024718 ; =0xBEEFCAFE cmp r1, r0 beq _020246EE - bl sub_02020C2C + bl FUN_02020C2C _020246EE: mov r0, #0x43 mov r2, #0x0 @@ -70777,15 +70777,15 @@ _0202470C: nop _02024718: .word 0xBEEFCAFE - thumb_func_start sub_0202471C -sub_0202471C: ; 0x0202471C + thumb_func_start FUN_0202471C +FUN_0202471C: ; 0x0202471C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024744 ; =0xBEEFCAFE cmp r1, r0 beq _0202472C - bl sub_02020C2C + bl FUN_02020C2C _0202472C: mov r1, #0x43 mov r0, #0x0 @@ -70803,8 +70803,8 @@ _02024740: nop _02024744: .word 0xBEEFCAFE - thumb_func_start sub_02024748 -sub_02024748: ; 0x02024748 + thumb_func_start FUN_02024748 +FUN_02024748: ; 0x02024748 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70812,11 +70812,11 @@ sub_02024748: ; 0x02024748 ldr r0, _0202479C ; =0xBEEFCAFE cmp r1, r0 beq _0202475A - bl sub_02020C2C + bl FUN_02020C2C _0202475A: ldr r1, _020247A0 ; =0x000001A6 add r0, r5, #0x0 - bl sub_02023D8C + bl FUN_02023D8C cmp r0, r4 bgt _0202476C mov r0, #0x0 @@ -70825,7 +70825,7 @@ _0202475A: _0202476C: cmp r4, #0x2 blt _02024774 - bl sub_02020C2C + bl FUN_02020C2C _02024774: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -70852,26 +70852,26 @@ _0202479A: _0202479C: .word 0xBEEFCAFE _020247A0: .word 0x000001A6 - thumb_func_start sub_020247A4 -sub_020247A4: ; 0x020247A4 + thumb_func_start FUN_020247A4 +FUN_020247A4: ; 0x020247A4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _020247C0 ; =0xBEEFCAFE cmp r1, r0 beq _020247B4 - bl sub_02020C2C + bl FUN_02020C2C _020247B4: ldr r1, _020247C4 ; =0x000001A6 add r0, r4, #0x0 - bl sub_02023D8C + bl FUN_02023D8C pop {r4, pc} nop _020247C0: .word 0xBEEFCAFE _020247C4: .word 0x000001A6 - thumb_func_start sub_020247C8 -sub_020247C8: ; 0x020247C8 + thumb_func_start FUN_020247C8 +FUN_020247C8: ; 0x020247C8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70879,11 +70879,11 @@ sub_020247C8: ; 0x020247C8 ldr r0, _0202481C ; =0xBEEFCAFE cmp r1, r0 beq _020247DA - bl sub_02020C2C + bl FUN_02020C2C _020247DA: ldr r1, _02024820 ; =0x000001A7 add r0, r5, #0x0 - bl sub_02023D8C + bl FUN_02023D8C cmp r0, r4 bgt _020247EC mov r0, #0x0 @@ -70892,7 +70892,7 @@ _020247DA: _020247EC: cmp r4, #0x2 blt _020247F4 - bl sub_02020C2C + bl FUN_02020C2C _020247F4: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -70919,26 +70919,26 @@ _0202481C: .word 0xBEEFCAFE _02024820: .word 0x000001A7 _02024824: .word 0x00000109 - thumb_func_start sub_02024828 -sub_02024828: ; 0x02024828 + thumb_func_start FUN_02024828 +FUN_02024828: ; 0x02024828 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024844 ; =0xBEEFCAFE cmp r1, r0 beq _02024838 - bl sub_02020C2C + bl FUN_02020C2C _02024838: ldr r1, _02024848 ; =0x000001A7 add r0, r4, #0x0 - bl sub_02023D8C + bl FUN_02023D8C pop {r4, pc} nop _02024844: .word 0xBEEFCAFE _02024848: .word 0x000001A7 - thumb_func_start sub_0202484C -sub_0202484C: ; 0x0202484C + thumb_func_start FUN_0202484C +FUN_0202484C: ; 0x0202484C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -70946,12 +70946,12 @@ sub_0202484C: ; 0x0202484C ldr r0, _02024894 ; =0xBEEFCAFE cmp r1, r0 beq _0202485E - bl sub_02020C2C + bl FUN_02020C2C _0202485E: mov r1, #0x67 add r0, r5, #0x0 lsl r1, r1, #0x2 - bl sub_02023F2C + bl FUN_02023F2C cmp r0, r4 bgt _02024872 mov r0, #0x0 @@ -70960,7 +70960,7 @@ _0202485E: _02024872: cmp r4, #0x3 blt _0202487A - bl sub_02020C2C + bl FUN_02020C2C _0202487A: lsl r0, r4, #0x10 lsr r2, r0, #0x10 @@ -70978,26 +70978,26 @@ _0202487A: _02024894: .word 0xBEEFCAFE _02024898: .word 0x0000010A - thumb_func_start sub_0202489C -sub_0202489C: ; 0x0202489C + thumb_func_start FUN_0202489C +FUN_0202489C: ; 0x0202489C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _020248B8 ; =0xBEEFCAFE cmp r1, r0 beq _020248AC - bl sub_02020C2C + bl FUN_02020C2C _020248AC: mov r1, #0x67 add r0, r4, #0x0 lsl r1, r1, #0x2 - bl sub_02023F2C + bl FUN_02023F2C pop {r4, pc} .balign 4 _020248B8: .word 0xBEEFCAFE - thumb_func_start sub_020248BC -sub_020248BC: ; 0x020248BC + thumb_func_start FUN_020248BC +FUN_020248BC: ; 0x020248BC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -71005,11 +71005,11 @@ sub_020248BC: ; 0x020248BC ldr r0, _02024900 ; =0xBEEFCAFE cmp r1, r0 beq _020248CE - bl sub_02020C2C + bl FUN_02020C2C _020248CE: ldr r1, _02024904 ; =0x0000019D add r0, r5, #0x0 - bl sub_02023F2C + bl FUN_02023F2C cmp r0, r4 bgt _020248E0 mov r0, #0x0 @@ -71018,7 +71018,7 @@ _020248CE: _020248E0: cmp r4, #0x3 blt _020248E8 - bl sub_02020C2C + bl FUN_02020C2C _020248E8: lsl r0, r4, #0x10 lsr r2, r0, #0x10 @@ -71037,26 +71037,26 @@ _02024900: .word 0xBEEFCAFE _02024904: .word 0x0000019D _02024908: .word 0x0000010B - thumb_func_start sub_0202490C -sub_0202490C: ; 0x0202490C + thumb_func_start FUN_0202490C +FUN_0202490C: ; 0x0202490C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024928 ; =0xBEEFCAFE cmp r1, r0 beq _0202491C - bl sub_02020C2C + bl FUN_02020C2C _0202491C: ldr r1, _0202492C ; =0x0000019D add r0, r4, #0x0 - bl sub_02023F2C + bl FUN_02023F2C pop {r4, pc} nop _02024928: .word 0xBEEFCAFE _0202492C: .word 0x0000019D - thumb_func_start sub_02024930 -sub_02024930: ; 0x02024930 + thumb_func_start FUN_02024930 +FUN_02024930: ; 0x02024930 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -71064,7 +71064,7 @@ sub_02024930: ; 0x02024930 ldr r0, _0202496C ; =0xBEEFCAFE cmp r1, r0 beq _02024942 - bl sub_02020C2C + bl FUN_02020C2C _02024942: lsl r0, r4, #0x18 lsr r0, r0, #0x18 @@ -71091,24 +71091,24 @@ _02024958: .balign 4 _0202496C: .word 0xBEEFCAFE - thumb_func_start sub_02024970 -sub_02024970: ; 0x02024970 + thumb_func_start FUN_02024970 +FUN_02024970: ; 0x02024970 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024988 ; =0xBEEFCAFE cmp r1, r0 beq _02024980 - bl sub_02020C2C + bl FUN_02020C2C _02024980: add r0, r4, #0x0 - bl sub_020240D0 + bl FUN_020240D0 pop {r4, pc} .balign 4 _02024988: .word 0xBEEFCAFE - thumb_func_start sub_0202498C -sub_0202498C: ; 0x0202498C + thumb_func_start FUN_0202498C +FUN_0202498C: ; 0x0202498C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -71116,23 +71116,23 @@ sub_0202498C: ; 0x0202498C add r0, r1, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] mov r1, #0x0 ldr r0, [sp, #0x0] add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_020689E0 + bl FUN_020689E0 add r6, r0, #0x0 ldr r1, [r5, #0x0] ldr r0, _02024AE4 ; =0xBEEFCAFE cmp r1, r0 beq _020249C4 - bl sub_02020C2C + bl FUN_02020C2C _020249C4: ldr r0, [sp, #0x4] cmp r0, #0x0 @@ -71141,7 +71141,7 @@ _020249C4: cmp r0, r1 bls _020249D8 _020249D0: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 b _020249DA _020249D8: @@ -71175,7 +71175,7 @@ _02024A08: lsr r6, r0, #0x18 cmp r6, #0x2 bls _02024A14 - bl sub_02020C2C + bl FUN_02020C2C _02024A14: cmp r6, #0x2 bne _02024A1A @@ -71183,7 +71183,7 @@ _02024A14: _02024A1A: cmp r6, #0x2 blo _02024A22 - bl sub_02020C2C + bl FUN_02020C2C _02024A22: add r2, r5, #0x0 mov r0, #0x7 @@ -71204,7 +71204,7 @@ _02024A22: strb r0, [r2, r1] cmp r6, #0x2 blo _02024A4C - bl sub_02020C2C + bl FUN_02020C2C _02024A4C: add r1, r5, #0x0 mov r0, #0x7 @@ -71240,7 +71240,7 @@ _02024A7C: lsr r6, r0, #0x18 cmp r6, #0x2 bls _02024A90 - bl sub_02020C2C + bl FUN_02020C2C _02024A90: cmp r6, #0x2 bne _02024A96 @@ -71248,7 +71248,7 @@ _02024A90: _02024A96: cmp r6, #0x2 blo _02024A9E - bl sub_02020C2C + bl FUN_02020C2C _02024A9E: add r1, r5, #0x0 mov r0, #0x7 @@ -71271,7 +71271,7 @@ _02024AC0: ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 - bl sub_020241B8 + bl FUN_020241B8 mov r1, #0x7 add r5, #0x44 asr r0, r4, #0x3 @@ -71290,8 +71290,8 @@ _02024AE4: .word 0xBEEFCAFE _02024AE8: .word 0x000001ED _02024AEC: .word 0x00000147 - thumb_func_start sub_02024AF0 -sub_02024AF0: ; 0x02024AF0 + thumb_func_start FUN_02024AF0 +FUN_02024AF0: ; 0x02024AF0 push {r4-r7, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -71299,27 +71299,27 @@ sub_02024AF0: ; 0x02024AF0 add r0, r1, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, [sp, #0x0] mov r1, #0xc mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] mov r1, #0x0 ldr r0, [sp, #0x0] add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x4] ldr r0, [sp, #0x0] - bl sub_020689E0 + bl FUN_020689E0 add r7, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024C78 ; =0xBEEFCAFE cmp r1, r0 beq _02024B32 - bl sub_02020C2C + bl FUN_02020C2C _02024B32: cmp r6, #0x0 beq _02024B3C @@ -71327,7 +71327,7 @@ _02024B32: cmp r6, r0 bls _02024B44 _02024B3C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 b _02024B46 _02024B44: @@ -71362,7 +71362,7 @@ _02024B74: lsr r7, r0, #0x18 cmp r7, #0x2 bls _02024B80 - bl sub_02020C2C + bl FUN_02020C2C _02024B80: cmp r7, #0x2 bne _02024B86 @@ -71370,7 +71370,7 @@ _02024B80: _02024B86: cmp r7, #0x2 blo _02024B8E - bl sub_02020C2C + bl FUN_02020C2C _02024B8E: mov r0, #0x7 and r0, r5 @@ -71397,7 +71397,7 @@ _02024B8E: strb r1, [r0, r3] cmp r7, #0x2 blo _02024BC4 - bl sub_02020C2C + bl FUN_02020C2C _02024BC4: add r1, r4, #0x0 mov r0, #0x7 @@ -71434,7 +71434,7 @@ _02024BF6: lsr r7, r0, #0x18 cmp r7, #0x2 bls _02024C0A - bl sub_02020C2C + bl FUN_02020C2C _02024C0A: cmp r7, #0x2 bne _02024C10 @@ -71442,7 +71442,7 @@ _02024C0A: _02024C10: cmp r7, #0x2 blo _02024C18 - bl sub_02020C2C + bl FUN_02020C2C _02024C18: add r1, r4, #0x0 mov r0, #0x7 @@ -71466,11 +71466,11 @@ _02024C3C: ldr r2, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020241B8 + bl FUN_020241B8 ldr r2, [sp, #0x8] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02024294 + bl FUN_02024294 sub r0, r6, #0x1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 @@ -71496,15 +71496,15 @@ _02024C78: .word 0xBEEFCAFE _02024C7C: .word 0x000001ED _02024C80: .word 0x00000147 - thumb_func_start sub_02024C84 -sub_02024C84: ; 0x02024C84 + thumb_func_start FUN_02024C84 +FUN_02024C84: ; 0x02024C84 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024C9C ; =0xBEEFCAFE cmp r1, r0 beq _02024C94 - bl sub_02020C2C + bl FUN_02020C2C _02024C94: ldr r0, _02024CA0 ; =0x00000139 mov r1, #0x1 @@ -71514,15 +71514,15 @@ _02024C94: _02024C9C: .word 0xBEEFCAFE _02024CA0: .word 0x00000139 - thumb_func_start sub_02024CA4 -sub_02024CA4: ; 0x02024CA4 + thumb_func_start FUN_02024CA4 +FUN_02024CA4: ; 0x02024CA4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024CBC ; =0xBEEFCAFE cmp r1, r0 beq _02024CB4 - bl sub_02020C2C + bl FUN_02020C2C _02024CB4: ldr r0, _02024CC0 ; =0x00000139 ldrb r0, [r4, r0] @@ -71531,15 +71531,15 @@ _02024CB4: _02024CBC: .word 0xBEEFCAFE _02024CC0: .word 0x00000139 - thumb_func_start sub_02024CC4 -sub_02024CC4: ; 0x02024CC4 + thumb_func_start FUN_02024CC4 +FUN_02024CC4: ; 0x02024CC4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024CDC ; =0xBEEFCAFE cmp r1, r0 beq _02024CD4 - bl sub_02020C2C + bl FUN_02020C2C _02024CD4: mov r0, #0x4a lsl r0, r0, #0x2 @@ -71548,15 +71548,15 @@ _02024CD4: .balign 4 _02024CDC: .word 0xBEEFCAFE - thumb_func_start sub_02024CE0 -sub_02024CE0: ; 0x02024CE0 + thumb_func_start FUN_02024CE0 +FUN_02024CE0: ; 0x02024CE0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024CFC ; =0xBEEFCAFE cmp r1, r0 beq _02024CF0 - bl sub_02020C2C + bl FUN_02020C2C _02024CF0: mov r0, #0x4a mov r1, #0x1 @@ -71566,24 +71566,24 @@ _02024CF0: nop _02024CFC: .word 0xBEEFCAFE - thumb_func_start sub_02024D00 -sub_02024D00: ; 0x02024D00 + thumb_func_start FUN_02024D00 +FUN_02024D00: ; 0x02024D00 push {r4-r6, lr} add r6, r2, #0x0 add r4, r0, #0x0 add r5, r1, #0x0 cmp r6, #0x8 blo _02024D10 - bl sub_02020C2C + bl FUN_02020C2C _02024D10: ldr r1, [r4, #0x0] ldr r0, _02024D44 ; =0xBEEFCAFE cmp r1, r0 beq _02024D1C - bl sub_02020C2C + bl FUN_02020C2C _02024D1C: add r0, r5, #0x0 - bl sub_02087A50 + bl FUN_02087A50 add r5, r0, #0x0 cmp r5, #0xe bne _02024D2C @@ -71591,7 +71591,7 @@ _02024D1C: pop {r4-r6, pc} _02024D2C: add r0, r6, #0x0 - bl sub_02087A1C + bl FUN_02087A1C mov r1, #0x1 add r2, r1, #0x0 lsl r2, r0 @@ -71604,8 +71604,8 @@ _02024D2C: _02024D44: .word 0xBEEFCAFE _02024D48: .word 0x00000129 - thumb_func_start sub_02024D4C -sub_02024D4C: ; 0x02024D4C + thumb_func_start FUN_02024D4C +FUN_02024D4C: ; 0x02024D4C ldr r1, _02024D54 ; =0x00000137 mov r2, #0x1 strb r2, [r0, r1] @@ -71613,23 +71613,23 @@ sub_02024D4C: ; 0x02024D4C .balign 4 _02024D54: .word 0x00000137 - thumb_func_start sub_02024D58 -sub_02024D58: ; 0x02024D58 + thumb_func_start FUN_02024D58 +FUN_02024D58: ; 0x02024D58 ldr r1, _02024D60 ; =0x00000137 ldrb r0, [r0, r1] bx lr nop _02024D60: .word 0x00000137 - thumb_func_start sub_02024D64 -sub_02024D64: ; 0x02024D64 + thumb_func_start FUN_02024D64 +FUN_02024D64: ; 0x02024D64 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024D7C ; =0xBEEFCAFE cmp r1, r0 beq _02024D74 - bl sub_02020C2C + bl FUN_02020C2C _02024D74: mov r0, #0x4e lsl r0, r0, #0x2 @@ -71638,15 +71638,15 @@ _02024D74: .balign 4 _02024D7C: .word 0xBEEFCAFE - thumb_func_start sub_02024D80 -sub_02024D80: ; 0x02024D80 + thumb_func_start FUN_02024D80 +FUN_02024D80: ; 0x02024D80 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02024D9C ; =0xBEEFCAFE cmp r1, r0 beq _02024D90 - bl sub_02020C2C + bl FUN_02020C2C _02024D90: mov r0, #0x4e mov r1, #0x1 @@ -71656,16 +71656,16 @@ _02024D90: nop _02024D9C: .word 0xBEEFCAFE - thumb_func_start sub_02024DA0 -sub_02024DA0: ; 0x02024DA0 - ldr r3, _02024DA8 ; =sub_02022610 + thumb_func_start FUN_02024DA0 +FUN_02024DA0: ; 0x02024DA0 + ldr r3, _02024DA8 ; =FUN_02022610 mov r1, #0x7 bx r3 nop -_02024DA8: .word sub_02022610 + 1 +_02024DA8: .word FUN_02022610 + 1 - thumb_func_start sub_02024DAC -sub_02024DAC: ; 0x02024DAC + thumb_func_start FUN_02024DAC +FUN_02024DAC: ; 0x02024DAC push {r3-r5, lr} add r4, r2, #0x0 ldr r2, _02024E60 ; =0x0000019D @@ -71704,52 +71704,52 @@ _02024DE6: beq _02024E12 b _02024E5A _02024DEE: - bl sub_0202471C + bl FUN_0202471C cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020246DC + bl FUN_020246DC pop {r3-r5, pc} _02024E00: - bl sub_020247A4 + bl FUN_020247A4 cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02024748 + bl FUN_02024748 pop {r3-r5, pc} _02024E12: - bl sub_02024828 + bl FUN_02024828 cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020247C8 + bl FUN_020247C8 pop {r3-r5, pc} _02024E24: - bl sub_0202489C + bl FUN_0202489C cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202484C + bl FUN_0202484C pop {r3-r5, pc} _02024E36: - bl sub_0202490C + bl FUN_0202490C cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020248BC + bl FUN_020248BC pop {r3-r5, pc} _02024E48: - bl sub_02024970 + bl FUN_02024970 cmp r4, r0 bhs _02024E5A add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02024930 + bl FUN_02024930 pop {r3-r5, pc} _02024E5A: mov r0, #0x0 @@ -71757,37 +71757,37 @@ _02024E5A: nop _02024E60: .word 0x0000019D - thumb_func_start sub_02024E64 -sub_02024E64: ; 0x02024E64 + thumb_func_start FUN_02024E64 +FUN_02024E64: ; 0x02024E64 ldr r0, _02024E68 ; =0x0000074C bx lr .balign 4 _02024E68: .word 0x0000074C - thumb_func_start sub_02024E6C -sub_02024E6C: ; 0x02024E6C + thumb_func_start FUN_02024E6C +FUN_02024E6C: ; 0x02024E6C push {r4, lr} add r4, r0, #0x0 ldr r2, _02024EA4 ; =0x0000074C mov r0, #0x0 add r1, r4, #0x0 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 - bl sub_020250A4 + bl FUN_020250A4 mov r0, #0x7 lsl r0, r0, #0x8 add r0, r4, r0 - bl sub_02025484 + bl FUN_02025484 ldr r1, _02024EA8 ; =0x00000724 ldr r0, _02024EAC ; =0x0000FFFF add r1, r4, r1 mov r2, #0x8 - blx sub_020CE1C8 + blx FUN_020CE1C8 ldr r1, _02024EB0 ; =0x00000734 ldr r0, _02024EAC ; =0x0000FFFF add r1, r4, r1 mov r2, #0xb - blx sub_020CE1C8 + blx FUN_020CE1C8 pop {r4, pc} .balign 4 _02024EA4: .word 0x0000074C @@ -71795,108 +71795,108 @@ _02024EA8: .word 0x00000724 _02024EAC: .word 0x0000FFFF _02024EB0: .word 0x00000734 - thumb_func_start sub_02024EB4 -sub_02024EB4: ; 0x02024EB4 - ldr r3, _02024EBC ; =sub_02022610 + thumb_func_start FUN_02024EB4 +FUN_02024EB4: ; 0x02024EB4 + ldr r3, _02024EBC ; =FUN_02022610 mov r1, #0xa bx r3 nop -_02024EBC: .word sub_02022610 + 1 +_02024EBC: .word FUN_02022610 + 1 - thumb_func_start sub_02024EC0 -sub_02024EC0: ; 0x02024EC0 + thumb_func_start FUN_02024EC0 +FUN_02024EC0: ; 0x02024EC0 ldr r3, _02024EC8 ; =0x02022635 mov r1, #0xa bx r3 nop _02024EC8: .word 0x02022635 - thumb_func_start sub_02024ECC -sub_02024ECC: ; 0x02024ECC - ldr r3, _02024ED4 ; =sub_02022610 + thumb_func_start FUN_02024ECC +FUN_02024ECC: ; 0x02024ECC + ldr r3, _02024ED4 ; =FUN_02022610 mov r1, #0xa bx r3 nop -_02024ED4: .word sub_02022610 + 1 +_02024ED4: .word FUN_02022610 + 1 - thumb_func_start sub_02024ED8 -sub_02024ED8: ; 0x02024ED8 + thumb_func_start FUN_02024ED8 +FUN_02024ED8: ; 0x02024ED8 push {r3, lr} mov r1, #0xa - bl sub_02022610 + bl FUN_02022610 mov r1, #0x7 lsl r1, r1, #0x8 add r0, r0, r1 pop {r3, pc} - thumb_func_start sub_02024EE8 -sub_02024EE8: ; 0x02024EE8 + thumb_func_start FUN_02024EE8 +FUN_02024EE8: ; 0x02024EE8 ldr r1, _02024EF0 ; =0x00000724 add r0, r0, r1 bx lr nop _02024EF0: .word 0x00000724 - thumb_func_start sub_02024EF4 -sub_02024EF4: ; 0x02024EF4 + thumb_func_start FUN_02024EF4 +FUN_02024EF4: ; 0x02024EF4 add r2, r0, #0x0 add r0, r1, #0x0 ldr r1, _02024F04 ; =0x00000724 - ldr r3, _02024F08 ; =sub_02021EF0 + ldr r3, _02024F08 ; =FUN_02021EF0 add r1, r2, r1 mov r2, #0x8 bx r3 nop _02024F04: .word 0x00000724 -_02024F08: .word sub_02021EF0 + 1 +_02024F08: .word FUN_02021EF0 + 1 - thumb_func_start sub_02024F0C -sub_02024F0C: ; 0x02024F0C + thumb_func_start FUN_02024F0C +FUN_02024F0C: ; 0x02024F0C ldr r1, _02024F14 ; =0x00000734 add r0, r0, r1 bx lr nop _02024F14: .word 0x00000734 - thumb_func_start sub_02024F18 -sub_02024F18: ; 0x02024F18 + thumb_func_start FUN_02024F18 +FUN_02024F18: ; 0x02024F18 add r2, r0, #0x0 add r0, r1, #0x0 ldr r1, _02024F28 ; =0x00000734 - ldr r3, _02024F2C ; =sub_02021EF0 + ldr r3, _02024F2C ; =FUN_02021EF0 add r1, r2, r1 mov r2, #0xb bx r3 nop _02024F28: .word 0x00000734 -_02024F2C: .word sub_02021EF0 + 1 +_02024F2C: .word FUN_02021EF0 + 1 - thumb_func_start sub_02024F30 -sub_02024F30: ; 0x02024F30 + thumb_func_start FUN_02024F30 +FUN_02024F30: ; 0x02024F30 push {r4, lr} mov r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_02024F50 + bl FUN_02024F50 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02024F44 -sub_02024F44: ; 0x02024F44 - ldr r3, _02024F4C ; =sub_020CE3E0 + thumb_func_start FUN_02024F44 +FUN_02024F44: ; 0x02024F44 + ldr r3, _02024F4C ; =FUN_020CE3E0 mov r2, #0x2 bx r3 nop -_02024F4C: .word sub_020CE3E0 +_02024F4C: .word FUN_020CE3E0 - thumb_func_start sub_02024F50 -sub_02024F50: ; 0x02024F50 + thumb_func_start FUN_02024F50 +FUN_02024F50: ; 0x02024F50 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C ldrh r1, [r4, #0x0] mov r0, #0xf bic r1, r0 @@ -71928,13 +71928,13 @@ sub_02024F50: ; 0x02024F50 _02024F94: .word 0xFFFFFCFF _02024F98: .word 0xFFFF83FF - thumb_func_start sub_02024F9C -sub_02024F9C: ; 0x02024F9C + thumb_func_start FUN_02024F9C +FUN_02024F9C: ; 0x02024F9C push {r3, lr} cmp r0, #0x0 beq _02024FAC - bl sub_02023900 - bl sub_02025064 + bl FUN_02023900 + bl FUN_02025064 add r1, r0, #0x0 _02024FAC: cmp r1, #0x0 @@ -71962,15 +71962,15 @@ _02024FCA: nop _02024FD4: .word 0x021C48B8 - thumb_func_start sub_02024FD8 -sub_02024FD8: ; 0x02024FD8 + thumb_func_start FUN_02024FD8 +FUN_02024FD8: ; 0x02024FD8 ldrh r0, [r0, #0x0] lsl r0, r0, #0x1c lsr r0, r0, #0x1c bx lr - thumb_func_start sub_02024FE0 -sub_02024FE0: ; 0x02024FE0 + thumb_func_start FUN_02024FE0 +FUN_02024FE0: ; 0x02024FE0 ldrh r3, [r0, #0x0] mov r2, #0xf lsl r1, r1, #0x10 @@ -71982,10 +71982,10 @@ sub_02024FE0: ; 0x02024FE0 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_02024FF4 -sub_02024FF4: ; 0x02024FF4 + thumb_func_start FUN_02024FF4 +FUN_02024FF4: ; 0x02024FF4 push {r3, lr} - bl sub_02024FD8 + bl FUN_02024FD8 cmp r0, #0x0 bne _02025002 mov r0, #0x8 @@ -72000,15 +72000,15 @@ _0202500A: pop {r3, pc} .balign 4 - thumb_func_start sub_02025010 -sub_02025010: ; 0x02025010 + thumb_func_start FUN_02025010 +FUN_02025010: ; 0x02025010 ldrh r0, [r0, #0x0] lsl r0, r0, #0x1a lsr r0, r0, #0x1e bx lr - thumb_func_start sub_02025018 -sub_02025018: ; 0x02025018 + thumb_func_start FUN_02025018 +FUN_02025018: ; 0x02025018 lsl r1, r1, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1e @@ -72020,15 +72020,15 @@ sub_02025018: ; 0x02025018 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_0202502C -sub_0202502C: ; 0x0202502C + thumb_func_start FUN_0202502C +FUN_0202502C: ; 0x0202502C ldrh r0, [r0, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x1f bx lr - thumb_func_start sub_02025034 -sub_02025034: ; 0x02025034 + thumb_func_start FUN_02025034 +FUN_02025034: ; 0x02025034 lsl r1, r1, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1f @@ -72040,15 +72040,15 @@ sub_02025034: ; 0x02025034 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_02025048 -sub_02025048: ; 0x02025048 + thumb_func_start FUN_02025048 +FUN_02025048: ; 0x02025048 ldrh r0, [r0, #0x0] lsl r0, r0, #0x19 lsr r0, r0, #0x1f bx lr - thumb_func_start sub_02025050 -sub_02025050: ; 0x02025050 + thumb_func_start FUN_02025050 +FUN_02025050: ; 0x02025050 lsl r1, r1, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1f @@ -72060,15 +72060,15 @@ sub_02025050: ; 0x02025050 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_02025064 -sub_02025064: ; 0x02025064 + thumb_func_start FUN_02025064 +FUN_02025064: ; 0x02025064 ldrh r0, [r0, #0x0] lsl r0, r0, #0x16 lsr r0, r0, #0x1e bx lr - thumb_func_start sub_0202506C -sub_0202506C: ; 0x0202506C + thumb_func_start FUN_0202506C +FUN_0202506C: ; 0x0202506C lsl r1, r1, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1e @@ -72082,15 +72082,15 @@ sub_0202506C: ; 0x0202506C .balign 4 _02025080: .word 0xFFFFFCFF - thumb_func_start sub_02025084 -sub_02025084: ; 0x02025084 + thumb_func_start FUN_02025084 +FUN_02025084: ; 0x02025084 ldrh r0, [r0, #0x0] lsl r0, r0, #0x11 lsr r0, r0, #0x1b bx lr - thumb_func_start sub_0202508C -sub_0202508C: ; 0x0202508C + thumb_func_start FUN_0202508C +FUN_0202508C: ; 0x0202508C lsl r1, r1, #0x10 lsr r1, r1, #0x10 lsl r1, r1, #0x1b @@ -72104,14 +72104,14 @@ sub_0202508C: ; 0x0202508C .balign 4 _020250A0: .word 0xFFFF83FF - thumb_func_start sub_020250A4 -sub_020250A4: ; 0x020250A4 + thumb_func_start FUN_020250A4 +FUN_020250A4: ; 0x020250A4 push {r4, lr} mov r2, #0x7 mov r1, #0x0 lsl r2, r2, #0x8 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r1, #0x0 add r0, r1, #0x0 _020250B6: @@ -72123,22 +72123,22 @@ _020250B6: blt _020250B6 pop {r4, pc} - thumb_func_start sub_020250C4 -sub_020250C4: ; 0x020250C4 + thumb_func_start FUN_020250C4 +FUN_020250C4: ; 0x020250C4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, r1, #0x0 str r2, [sp, #0x0] str r3, [sp, #0x4] - bl sub_02025128 + bl FUN_02025128 mov r4, #0x0 str r0, [sp, #0x8] add r6, r4, #0x0 b _02025112 _020250DC: add r0, r5, #0x0 - bl sub_02025184 + bl FUN_02025184 ldr r0, [sp, #0x0] lsl r1, r6, #0x1 add r7, r0, r1 @@ -72150,7 +72150,7 @@ _020250DC: ldrb r1, [r5, #0x0] ldrb r2, [r5, #0xc] ldr r0, [sp, #0x8] - bl sub_020251B0 + bl FUN_020251B0 lsl r0, r0, #0x2 strh r0, [r5, #0x2] ldrh r0, [r7, #0x2] @@ -72169,21 +72169,21 @@ _02025112: cmp r4, r0 blt _020250DC ldr r0, [sp, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02025128 -sub_02025128: ; 0x02025128 + thumb_func_start FUN_02025128 +FUN_02025128: ; 0x02025128 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 - bl sub_02085258 + bl FUN_02085258 str r0, [sp, #0x0] add r0, r7, #0x0 mov r1, #0xc0 - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x4] mov r6, #0x0 add r5, r0, #0x0 @@ -72191,33 +72191,33 @@ _02025142: ldr r0, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02085264 + bl FUN_02085264 add r4, r0, #0x0 mov r1, #0x3 - bl sub_02085290 + bl FUN_02085290 strb r0, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x4 - bl sub_02085290 + bl FUN_02085290 strb r0, [r5, #0x1] add r0, r4, #0x0 mov r1, #0x2 - bl sub_02085290 + bl FUN_02085290 strb r0, [r5, #0x2] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r6, r6, #0x1 add r5, r5, #0x3 cmp r6, #0x40 blt _02025142 ldr r0, [sp, #0x0] - bl sub_0208526C + bl FUN_0208526C ldr r0, [sp, #0x4] add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02025184 -sub_02025184: ; 0x02025184 + thumb_func_start FUN_02025184 +FUN_02025184: ; 0x02025184 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -72231,8 +72231,8 @@ sub_02025184: ; 0x02025184 strb r1, [r0, #0xd] bx lr - thumb_func_start sub_0202519C -sub_0202519C: ; 0x0202519C + thumb_func_start FUN_0202519C +FUN_0202519C: ; 0x0202519C ldrb r2, [r0, #0xb] ldrb r0, [r0, #0x0] sub r3, r0, #0x1 @@ -72244,8 +72244,8 @@ sub_0202519C: ; 0x0202519C bx lr .balign 4 - thumb_func_start sub_020251B0 -sub_020251B0: ; 0x020251B0 + thumb_func_start FUN_020251B0 +FUN_020251B0: ; 0x020251B0 sub r3, r1, #0x1 lsl r1, r3, #0x1 add r1, r3, r1 @@ -72271,8 +72271,8 @@ _020251CE: _020251DA: bx lr - thumb_func_start sub_020251DC -sub_020251DC: ; 0x020251DC + thumb_func_start FUN_020251DC +FUN_020251DC: ; 0x020251DC sub r3, r1, #0x1 lsl r1, r3, #0x1 add r1, r3, r1 @@ -72294,8 +72294,8 @@ _020251F2: _020251FE: bx lr - thumb_func_start sub_02025200 -sub_02025200: ; 0x02025200 + thumb_func_start FUN_02025200 +FUN_02025200: ; 0x02025200 ldrb r0, [r0, #0xc] cmp r0, #0x3 bne _0202520A @@ -72306,8 +72306,8 @@ _0202520A: bx lr .balign 4 - thumb_func_start sub_02025210 -sub_02025210: ; 0x02025210 + thumb_func_start FUN_02025210 +FUN_02025210: ; 0x02025210 ldrb r0, [r0, #0xc] cmp r0, #0x4 bne _0202521A @@ -72318,21 +72318,21 @@ _0202521A: bx lr .balign 4 - thumb_func_start sub_02025220 -sub_02025220: ; 0x02025220 + thumb_func_start FUN_02025220 +FUN_02025220: ; 0x02025220 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02025200 + bl FUN_02025200 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02025210 + bl FUN_02025210 add r1, r4, #0x3 mul r0, r1 add r0, r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_02025238 -sub_02025238: ; 0x02025238 + thumb_func_start FUN_02025238 +FUN_02025238: ; 0x02025238 mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72340,15 +72340,15 @@ sub_02025238: ; 0x02025238 bx lr .balign 4 - thumb_func_start sub_02025244 -sub_02025244: ; 0x02025244 + thumb_func_start FUN_02025244 +FUN_02025244: ; 0x02025244 mov r2, #0xe mul r2, r1 ldrb r0, [r0, r2] bx lr - thumb_func_start sub_0202524C -sub_0202524C: ; 0x0202524C + thumb_func_start FUN_0202524C +FUN_0202524C: ; 0x0202524C mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72366,8 +72366,8 @@ _02025264: mov r0, #0x2 bx lr - thumb_func_start sub_02025268 -sub_02025268: ; 0x02025268 + thumb_func_start FUN_02025268 +FUN_02025268: ; 0x02025268 mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72375,8 +72375,8 @@ sub_02025268: ; 0x02025268 bx lr .balign 4 - thumb_func_start sub_02025274 -sub_02025274: ; 0x02025274 + thumb_func_start FUN_02025274 +FUN_02025274: ; 0x02025274 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -72389,7 +72389,7 @@ sub_02025274: ; 0x02025274 add r0, r2, #0x0 ldrb r2, [r6, #0xc] add r1, r3, #0x0 - bl sub_020251B0 + bl FUN_020251B0 add r1, r6, #0x0 strh r0, [r1, #0x2] mov r0, #0x0 @@ -72405,8 +72405,8 @@ sub_02025274: ; 0x02025274 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020252AC -sub_020252AC: ; 0x020252AC + thumb_func_start FUN_020252AC +FUN_020252AC: ; 0x020252AC mov r2, #0xe mul r2, r1 mov r3, #0x64 @@ -72414,8 +72414,8 @@ sub_020252AC: ; 0x020252AC strb r3, [r0, #0xa] bx lr - thumb_func_start sub_020252B8 -sub_020252B8: ; 0x020252B8 + thumb_func_start FUN_020252B8 +FUN_020252B8: ; 0x020252B8 mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72423,8 +72423,8 @@ sub_020252B8: ; 0x020252B8 bx lr .balign 4 - thumb_func_start sub_020252C4 -sub_020252C4: ; 0x020252C4 + thumb_func_start FUN_020252C4 +FUN_020252C4: ; 0x020252C4 mov r3, #0xe mul r3, r1 add r0, r0, r3 @@ -72432,8 +72432,8 @@ sub_020252C4: ; 0x020252C4 bx lr .balign 4 - thumb_func_start sub_020252D0 -sub_020252D0: ; 0x020252D0 + thumb_func_start FUN_020252D0 +FUN_020252D0: ; 0x020252D0 mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72441,8 +72441,8 @@ sub_020252D0: ; 0x020252D0 bx lr .balign 4 - thumb_func_start sub_020252DC -sub_020252DC: ; 0x020252DC + thumb_func_start FUN_020252DC +FUN_020252DC: ; 0x020252DC mov r3, #0xe mul r3, r1 add r0, r0, r3 @@ -72450,8 +72450,8 @@ sub_020252DC: ; 0x020252DC bx lr .balign 4 - thumb_func_start sub_020252E8 -sub_020252E8: ; 0x020252E8 + thumb_func_start FUN_020252E8 +FUN_020252E8: ; 0x020252E8 mov r2, #0xe mul r2, r1 add r0, r0, r2 @@ -72459,20 +72459,20 @@ sub_020252E8: ; 0x020252E8 bx lr .balign 4 - thumb_func_start sub_020252F4 -sub_020252F4: ; 0x020252F4 + thumb_func_start FUN_020252F4 +FUN_020252F4: ; 0x020252F4 push {r4, lr} mov r2, #0xe mul r2, r1 add r0, r0, r2 ldrh r4, [r0, #0x8] - bl sub_02025184 + bl FUN_02025184 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02025308 -sub_02025308: ; 0x02025308 + thumb_func_start FUN_02025308 +FUN_02025308: ; 0x02025308 push {r4, lr} add r4, r0, #0x0 ldrb r2, [r4, #0x1] @@ -72490,7 +72490,7 @@ sub_02025308: ; 0x02025308 lsl r0, r2, #0 lsl r6, r2, #0 lsl r6, r5, #0 - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} _02025330: .byte 0x50, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0xFF, 0xF7, 0x31, 0xFF, 0x20, 0x81, 0x20, 0x89, 0x02, 0x28 @@ -72501,8 +72501,8 @@ _02025370: pop {r4, pc} .balign 4 - thumb_func_start sub_02025374 -sub_02025374: ; 0x02025374 + thumb_func_start FUN_02025374 +FUN_02025374: ; 0x02025374 push {r3-r7, lr} add r5, r0, #0x0 ldrb r0, [r5, #0x1] @@ -72512,18 +72512,18 @@ sub_02025374: ; 0x02025374 add r0, r1, #0x0 ldrb r1, [r5, #0x0] ldrb r2, [r5, #0xc] - bl sub_020251DC + bl FUN_020251DC add r6, r0, #0x0 ldrh r0, [r5, #0x4] mov r1, #0x3c str r0, [sp, #0x0] add r0, r7, r0 - blx sub_020EBC80 + blx FUN_020EBC80 add r4, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x3c add r0, r7, r0 - blx sub_020EBC80 + blx FUN_020EBC80 strh r1, [r5, #0x4] cmp r4, #0x0 beq _020253DE @@ -72541,7 +72541,7 @@ _020253BA: sub r0, r6, #0x1 add r0, r1, r0 add r1, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 sub r4, r4, r0 mov r0, #0x0 strb r0, [r5, #0xa] @@ -72558,8 +72558,8 @@ _020253DA: _020253DE: pop {r3-r7, pc} - thumb_func_start sub_020253E0 -sub_020253E0: ; 0x020253E0 + thumb_func_start FUN_020253E0 +FUN_020253E0: ; 0x020253E0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x0 @@ -72578,15 +72578,15 @@ _020253EC: beq _02025474 ldrb r2, [r5, #0xc] add r0, r6, #0x0 - bl sub_020251B0 + bl FUN_020251B0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02025220 + bl FUN_02025220 mul r0, r4 cmp r7, r0 blt _0202541C add r0, r5, #0x0 - bl sub_02025184 + bl FUN_02025184 b _02025474 _0202541C: add r4, r7, #0x0 @@ -72598,7 +72598,7 @@ _02025420: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02025374 + bl FUN_02025374 ldrh r0, [r5, #0x2] sub r0, r0, r4 strh r0, [r5, #0x2] @@ -72606,22 +72606,22 @@ _02025420: _02025438: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02025374 + bl FUN_02025374 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02025308 + bl FUN_02025308 ldrh r0, [r5, #0x2] ldrb r1, [r5, #0x0] ldrb r2, [r5, #0xc] sub r4, r4, r0 add r0, r6, #0x0 - bl sub_020251B0 + bl FUN_020251B0 strh r0, [r5, #0x2] ldrb r0, [r5, #0x1] cmp r0, #0x5 bne _0202546A add r0, r5, #0x0 - bl sub_02025200 + bl FUN_02025200 ldrh r1, [r5, #0x2] mul r0, r1 strh r0, [r5, #0x2] @@ -72641,60 +72641,60 @@ _02025474: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02025484 -sub_02025484: ; 0x02025484 - ldr r3, _0202548C ; =sub_020CE34C + thumb_func_start FUN_02025484 +FUN_02025484: ; 0x02025484 + ldr r3, _0202548C ; =FUN_020CE34C mov r1, #0x0 mov r2, #0x24 bx r3 .balign 4 -_0202548C: .word sub_020CE34C +_0202548C: .word FUN_020CE34C - thumb_func_start sub_02025490 -sub_02025490: ; 0x02025490 + thumb_func_start FUN_02025490 +FUN_02025490: ; 0x02025490 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02025484 + bl FUN_02025484 str r4, [r5, #0x0] add r0, r5, #0x4 pop {r3-r5, pc} - thumb_func_start sub_020254A0 -sub_020254A0: ; 0x020254A0 + thumb_func_start FUN_020254A0 +FUN_020254A0: ; 0x020254A0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, r1 beq _020254AE - bl sub_02020C2C + bl FUN_02020C2C _020254AE: add r0, r4, #0x4 pop {r4, pc} .balign 4 - thumb_func_start sub_020254B4 -sub_020254B4: ; 0x020254B4 + thumb_func_start FUN_020254B4 +FUN_020254B4: ; 0x020254B4 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_020254B8 -sub_020254B8: ; 0x020254B8 + thumb_func_start FUN_020254B8 +FUN_020254B8: ; 0x020254B8 mov r0, #0x22 lsl r0, r0, #0x6 bx lr .balign 4 - thumb_func_start sub_020254C0 -sub_020254C0: ; 0x020254C0 - ldr r3, _020254C8 ; =sub_02022610 + thumb_func_start FUN_020254C0 +FUN_020254C0: ; 0x020254C0 + ldr r3, _020254C8 ; =FUN_02022610 mov r1, #0x9 bx r3 nop -_020254C8: .word sub_02022610 + 1 +_020254C8: .word FUN_02022610 + 1 - thumb_func_start sub_020254CC -sub_020254CC: ; 0x020254CC + thumb_func_start FUN_020254CC +FUN_020254CC: ; 0x020254CC push {r3-r7, lr} mov r4, #0x0 ldr r6, _020254EC ; =0x0000FFFF @@ -72704,7 +72704,7 @@ _020254D6: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x88 - blx sub_020DF4A4 + blx FUN_020DF4A4 strh r6, [r5, #0x0] add r4, r4, #0x1 add r5, #0x88 @@ -72714,26 +72714,26 @@ _020254D6: .balign 4 _020254EC: .word 0x0000FFFF - thumb_func_start sub_020254F0 -sub_020254F0: ; 0x020254F0 + thumb_func_start FUN_020254F0 +FUN_020254F0: ; 0x020254F0 mov r2, #0x88 mul r2, r1 add r0, r0, r2 bx lr - thumb_func_start sub_020254F8 -sub_020254F8: ; 0x020254F8 + thumb_func_start FUN_020254F8 +FUN_020254F8: ; 0x020254F8 add r0, r0, r1 add r0, #0x68 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02025500 -sub_02025500: ; 0x02025500 + thumb_func_start FUN_02025500 +FUN_02025500: ; 0x02025500 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020022A4 + bl FUN_020022A4 cmp r0, #0x0 bne _0202551A ldr r1, [r5, #0x10] @@ -72747,8 +72747,8 @@ _0202551A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02025520 -sub_02025520: ; 0x02025520 + thumb_func_start FUN_02025520 +FUN_02025520: ; 0x02025520 push {r4-r7, lr} sub sp, #0x2c str r1, [sp, #0x4] @@ -72757,9 +72757,9 @@ sub_02025520: ; 0x02025520 add r0, r3, #0x0 lsl r1, r1, #0x6 str r2, [sp, #0x8] - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x10] - bl sub_020254CC + bl FUN_020254CC mov r0, #0x0 str r0, [sp, #0x14] ldr r0, [sp, #0x8] @@ -72776,7 +72776,7 @@ _02025548: _02025552: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02025500 + bl FUN_02025500 cmp r0, #0x0 beq _02025560 str r4, [r6, #0x0] @@ -72870,16 +72870,16 @@ _020255F8: ldr r0, [sp, #0x0] ldr r1, [sp, #0x10] lsl r2, r2, #0x6 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x2c pop {r4-r7, pc} nop _02025610: .word 0x0000FFFF - thumb_func_start sub_02025614 -sub_02025614: ; 0x02025614 + thumb_func_start FUN_02025614 +FUN_02025614: ; 0x02025614 push {r3-r6} mov r3, #0x0 add r4, r0, #0x0 @@ -72920,8 +72920,8 @@ _02025642: pop {r3-r6} bx lr - thumb_func_start sub_02025658 -sub_02025658: ; 0x02025658 + thumb_func_start FUN_02025658 +FUN_02025658: ; 0x02025658 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x0 @@ -72938,7 +72938,7 @@ sub_02025658: ; 0x02025658 strb r0, [r4, #0x7] add r0, r4, #0x0 add r0, #0x8 - bl sub_0200232C + bl FUN_0200232C ldr r0, _020256A8 ; =0x0000FFFF mov r1, #0x0 add r2, r4, #0x0 @@ -72952,7 +72952,7 @@ _02025682: add r4, #0x20 _02025690: add r0, r4, #0x0 - bl sub_02013724 + bl FUN_02013724 add r5, r5, #0x1 add r4, #0x8 cmp r5, #0x3 @@ -72963,8 +72963,8 @@ _020256A0: .word 0x020ECAC4 _020256A4: .word 0x020ECAC0 _020256A8: .word 0x0000FFFF - thumb_func_start sub_020256AC -sub_020256AC: ; 0x020256AC + thumb_func_start FUN_020256AC +FUN_020256AC: ; 0x020256AC ldrb r0, [r0, #0x7] cmp r0, #0xb bhi _020256B6 @@ -72975,86 +72975,86 @@ _020256B6: bx lr .balign 4 - thumb_func_start sub_020256BC -sub_020256BC: ; 0x020256BC + thumb_func_start FUN_020256BC +FUN_020256BC: ; 0x020256BC push {r4, lr} mov r1, #0x38 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 - bl sub_02025658 + bl FUN_02025658 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020256D0 -sub_020256D0: ; 0x020256D0 - ldr r3, _020256D8 ; =sub_020CE3E0 + thumb_func_start FUN_020256D0 +FUN_020256D0: ; 0x020256D0 + ldr r3, _020256D8 ; =FUN_020CE3E0 mov r2, #0x38 bx r3 nop -_020256D8: .word sub_020CE3E0 +_020256D8: .word FUN_020CE3E0 - thumb_func_start sub_020256DC -sub_020256DC: ; 0x020256DC + thumb_func_start FUN_020256DC +FUN_020256DC: ; 0x020256DC push {r4-r7, lr} sub sp, #0x14 add r7, r3, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 - bl sub_02025658 + bl FUN_02025658 add r0, r7, #0x0 strb r6, [r5, #0x7] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0x0] add r0, r7, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r6, r0, #0x0 - bl sub_0202398C + bl FUN_0202398C add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x8 - bl sub_02002248 + bl FUN_02002248 add r0, r6, #0x0 - bl sub_020239CC + bl FUN_020239CC strb r0, [r5, #0x4] add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [r5, #0x0] ldr r0, [sp, #0x0] mov r6, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC cmp r4, r0 bge _020257AE add r5, #0x18 _0202572A: ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] add r0, r7, #0x0 - bl sub_0206B6C8 + bl FUN_0206B6C8 str r0, [sp, #0x10] ldr r0, [sp, #0x4] ldr r1, [sp, #0xc] ldr r2, [sp, #0x8] - bl sub_0206B7BC + bl FUN_0206B7BC lsl r3, r6, #0x1 ldrh r1, [r5, r3] add r7, r0, #0x0 @@ -73084,7 +73084,7 @@ _0202572A: lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC cmp r4, r0 blt _0202572A _020257AE: @@ -73095,46 +73095,46 @@ _020257B4: .word 0xFFFFF000 _020257B8: .word 0x00000FFF _020257BC: .word 0xFFFF0FFF - thumb_func_start sub_020257C0 -sub_020257C0: ; 0x020257C0 + thumb_func_start FUN_020257C0 +FUN_020257C0: ; 0x020257C0 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_020257C4 -sub_020257C4: ; 0x020257C4 + thumb_func_start FUN_020257C4 +FUN_020257C4: ; 0x020257C4 add r0, #0x8 bx lr - thumb_func_start sub_020257C8 -sub_020257C8: ; 0x020257C8 + thumb_func_start FUN_020257C8 +FUN_020257C8: ; 0x020257C8 ldrb r0, [r0, #0x4] bx lr - thumb_func_start sub_020257CC -sub_020257CC: ; 0x020257CC + thumb_func_start FUN_020257CC +FUN_020257CC: ; 0x020257CC ldrb r0, [r0, #0x7] bx lr - thumb_func_start sub_020257D0 -sub_020257D0: ; 0x020257D0 + thumb_func_start FUN_020257D0 +FUN_020257D0: ; 0x020257D0 cmp r1, #0xc bhs _020257D6 strb r1, [r0, #0x7] _020257D6: bx lr - thumb_func_start sub_020257D8 -sub_020257D8: ; 0x020257D8 + thumb_func_start FUN_020257D8 +FUN_020257D8: ; 0x020257D8 ldrb r0, [r0, #0x5] bx lr - thumb_func_start sub_020257DC -sub_020257DC: ; 0x020257DC + thumb_func_start FUN_020257DC +FUN_020257DC: ; 0x020257DC ldrb r0, [r0, #0x6] bx lr - thumb_func_start sub_020257E0 -sub_020257E0: ; 0x020257E0 + thumb_func_start FUN_020257E0 +FUN_020257E0: ; 0x020257E0 cmp r1, #0x3 bhs _02025810 cmp r2, #0x0 @@ -73166,8 +73166,8 @@ _02025810: mov r0, #0x0 bx lr - thumb_func_start sub_02025814 -sub_02025814: ; 0x02025814 + thumb_func_start FUN_02025814 +FUN_02025814: ; 0x02025814 cmp r1, #0x3 bhs _02025820 add r0, #0x20 @@ -73178,42 +73178,42 @@ _02025820: add r0, #0x20 bx lr - thumb_func_start sub_02025824 -sub_02025824: ; 0x02025824 + thumb_func_start FUN_02025824 +FUN_02025824: ; 0x02025824 push {r3, lr} cmp r2, #0x3 bhs _02025834 add r0, #0x20 lsl r2, r2, #0x3 add r0, r0, r2 - bl sub_02013960 + bl FUN_02013960 _02025834: pop {r3, pc} .balign 4 - thumb_func_start sub_02025838 -sub_02025838: ; 0x02025838 - ldr r3, _02025840 ; =sub_02022610 + thumb_func_start FUN_02025838 +FUN_02025838: ; 0x02025838 + ldr r3, _02025840 ; =FUN_02022610 mov r1, #0xf bx r3 nop -_02025840: .word sub_02022610 + 1 +_02025840: .word FUN_02022610 + 1 - thumb_func_start sub_02025844 -sub_02025844: ; 0x02025844 + thumb_func_start FUN_02025844 +FUN_02025844: ; 0x02025844 mov r0, #0x46 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_0202584C -sub_0202584C: ; 0x0202584C + thumb_func_start FUN_0202584C +FUN_0202584C: ; 0x0202584C push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _02025852: add r0, r5, #0x0 - bl sub_02025658 + bl FUN_02025658 add r4, r4, #0x1 add r5, #0x38 cmp r4, #0x14 @@ -73221,90 +73221,90 @@ _02025852: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02025864 -sub_02025864: ; 0x02025864 + thumb_func_start FUN_02025864 +FUN_02025864: ; 0x02025864 push {r3, lr} cmp r1, #0x0 bne _02025872 mov r1, #0x14 - bl sub_020258F0 + bl FUN_020258F0 pop {r3, pc} _02025872: mov r0, #0x0 mvn r0, r0 pop {r3, pc} - thumb_func_start sub_02025878 -sub_02025878: ; 0x02025878 + thumb_func_start FUN_02025878 +FUN_02025878: ; 0x02025878 push {r3, lr} - bl sub_02025940 + bl FUN_02025940 cmp r0, #0x0 beq _02025886 - bl sub_02025658 + bl FUN_02025658 _02025886: pop {r3, pc} - thumb_func_start sub_02025888 -sub_02025888: ; 0x02025888 + thumb_func_start FUN_02025888 +FUN_02025888: ; 0x02025888 push {r4, lr} add r4, r3, #0x0 - bl sub_02025940 + bl FUN_02025940 add r1, r0, #0x0 beq _0202589A add r0, r4, #0x0 - bl sub_020256D0 + bl FUN_020256D0 _0202589A: pop {r4, pc} - thumb_func_start sub_0202589C -sub_0202589C: ; 0x0202589C + thumb_func_start FUN_0202589C +FUN_0202589C: ; 0x0202589C push {r3, lr} cmp r1, #0x0 bne _020258AA mov r1, #0x14 - bl sub_02025918 + bl FUN_02025918 pop {r3, pc} _020258AA: mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020258B0 -sub_020258B0: ; 0x020258B0 + thumb_func_start FUN_020258B0 +FUN_020258B0: ; 0x020258B0 push {r3-r5, lr} add r5, r3, #0x0 - bl sub_02025940 + bl FUN_02025940 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020256BC + bl FUN_020256BC add r5, r0, #0x0 cmp r4, #0x0 beq _020258CE add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020256D0 + bl FUN_020256D0 _020258CE: add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020258D4 -sub_020258D4: ; 0x020258D4 + thumb_func_start FUN_020258D4 +FUN_020258D4: ; 0x020258D4 push {r4, lr} add r4, r3, #0x0 - bl sub_02025940 + bl FUN_02025940 cmp r0, #0x0 bne _020258E8 add r0, r4, #0x0 - bl sub_02025658 + bl FUN_02025658 pop {r4, pc} _020258E8: add r1, r4, #0x0 - bl sub_020256D0 + bl FUN_020256D0 pop {r4, pc} - thumb_func_start sub_020258F0 -sub_020258F0: ; 0x020258F0 + thumb_func_start FUN_020258F0 +FUN_020258F0: ; 0x020258F0 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 @@ -73313,7 +73313,7 @@ sub_020258F0: ; 0x020258F0 ble _02025912 _020258FC: add r0, r5, #0x0 - bl sub_020256AC + bl FUN_020256AC cmp r0, #0x0 bne _0202590A add r0, r4, #0x0 @@ -73328,8 +73328,8 @@ _02025912: mvn r0, r0 pop {r4-r6, pc} - thumb_func_start sub_02025918 -sub_02025918: ; 0x02025918 + thumb_func_start FUN_02025918 +FUN_02025918: ; 0x02025918 push {r3-r7, lr} mov r4, #0x0 add r7, r1, #0x0 @@ -73339,7 +73339,7 @@ sub_02025918: ; 0x02025918 ble _0202593A _02025926: add r0, r5, #0x0 - bl sub_020256AC + bl FUN_020256AC cmp r0, #0x0 beq _02025932 add r4, r4, #0x1 @@ -73353,8 +73353,8 @@ _0202593A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02025940 -sub_02025940: ; 0x02025940 + thumb_func_start FUN_02025940 +FUN_02025940: ; 0x02025940 mov r3, #0x0 cmp r1, #0x0 bne _02025950 @@ -73367,44 +73367,44 @@ _02025950: add r0, r3, #0x0 bx lr - thumb_func_start sub_02025954 -sub_02025954: ; 0x02025954 + thumb_func_start FUN_02025954 +FUN_02025954: ; 0x02025954 ldr r0, _02025958 ; =0x000009B4 bx lr .balign 4 _02025958: .word 0x000009B4 - thumb_func_start sub_0202595C -sub_0202595C: ; 0x0202595C + thumb_func_start FUN_0202595C +FUN_0202595C: ; 0x0202595C mov r0, #0x94 bx lr - thumb_func_start sub_02025960 -sub_02025960: ; 0x02025960 + thumb_func_start FUN_02025960 +FUN_02025960: ; 0x02025960 mov r0, #0x3c bx lr - thumb_func_start sub_02025964 -sub_02025964: ; 0x02025964 + thumb_func_start FUN_02025964 +FUN_02025964: ; 0x02025964 push {r4, lr} mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x3c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0202597C -sub_0202597C: ; 0x0202597C + thumb_func_start FUN_0202597C +FUN_0202597C: ; 0x0202597C push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 add r0, sp, #0xc add r1, sp, #0x0 - bl sub_0201265C + bl FUN_0201265C ldr r0, _020259D8 ; =0x021C48B8 ldr r6, [sp, #0xc] ldr r1, [sp, #0x8] @@ -73428,7 +73428,7 @@ sub_0202597C: ; 0x0202597C ldr r2, _020259DC ; =0x000009B4 add r0, r4, #0x0 add r1, r7, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 add r0, #0x94 mov r1, #0x9b @@ -73446,8 +73446,8 @@ sub_0202597C: ; 0x0202597C _020259D8: .word 0x021C48B8 _020259DC: .word 0x000009B4 - thumb_func_start sub_020259E0 -sub_020259E0: ; 0x020259E0 + thumb_func_start FUN_020259E0 +FUN_020259E0: ; 0x020259E0 mov r1, #0x9 mov r3, #0x0 lsl r1, r1, #0x8 @@ -73467,8 +73467,8 @@ _020259F2: bx lr .balign 4 - thumb_func_start sub_02025A00 -sub_02025A00: ; 0x02025A00 + thumb_func_start FUN_02025A00 +FUN_02025A00: ; 0x02025A00 mov r1, #0x95 mov r3, #0x0 lsl r1, r1, #0x4 @@ -73488,8 +73488,8 @@ _02025A12: bx lr .balign 4 - thumb_func_start sub_02025A20 -sub_02025A20: ; 0x02025A20 + thumb_func_start FUN_02025A20 +FUN_02025A20: ; 0x02025A20 ldr r1, _02025A3C ; =0x00000928 mov r3, #0x0 _02025A24: @@ -73509,8 +73509,8 @@ _02025A30: .balign 4 _02025A3C: .word 0x00000928 - thumb_func_start sub_02025A40 -sub_02025A40: ; 0x02025A40 + thumb_func_start FUN_02025A40 +FUN_02025A40: ; 0x02025A40 ldr r1, _02025A5C ; =0x000008D8 mov r3, #0x0 _02025A44: @@ -73530,12 +73530,12 @@ _02025A50: .balign 4 _02025A5C: .word 0x000008D8 - thumb_func_start sub_02025A60 -sub_02025A60: ; 0x02025A60 + thumb_func_start FUN_02025A60 +FUN_02025A60: ; 0x02025A60 push {r4-r7, lr} sub sp, #0x14 str r1, [sp, #0x0] - bl sub_02026CC4 + bl FUN_02026CC4 ldr r1, _02025B50 ; =0x020EE958 add r6, r0, #0x0 ldrb r2, [r1, #0x0] @@ -73644,7 +73644,7 @@ _02025B28: ldr r1, [r0, #0x0] ldr r0, [sp, #0x0] add r0, r1, r0 - bl sub_0201BA10 + bl FUN_0201BA10 add r1, r6, #0x0 add r1, #0x94 str r0, [r1, #0x0] @@ -73665,12 +73665,12 @@ _02025B54: .word 0x0000055C _02025B58: .word 0x5D588B65 _02025B5C: .word 0x00269EC3 - thumb_func_start sub_02025B60 -sub_02025B60: ; 0x02025B60 + thumb_func_start FUN_02025B60 +FUN_02025B60: ; 0x02025B60 push {r3-r5, lr} add r4, r1, #0x0 add r5, r2, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 cmp r4, #0x0 blt _02025B90 cmp r5, #0x0 @@ -73695,10 +73695,10 @@ _02025B90: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02025B94 -sub_02025B94: ; 0x02025B94 + thumb_func_start FUN_02025B94 +FUN_02025B94: ; 0x02025B94 push {r3, lr} - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r0, #0x0 add r1, #0x98 ldr r1, [r1, #0x0] @@ -73742,10 +73742,10 @@ _02025BE4: pop {r3, pc} .balign 4 - thumb_func_start sub_02025BE8 -sub_02025BE8: ; 0x02025BE8 + thumb_func_start FUN_02025BE8 +FUN_02025BE8: ; 0x02025BE8 push {r3, lr} - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r0, #0x0 add r1, #0x9c ldrb r1, [r1, #0x0] @@ -73757,10 +73757,10 @@ sub_02025BE8: ; 0x02025BE8 _02025BFE: pop {r3, pc} - thumb_func_start sub_02025C00 -sub_02025C00: ; 0x02025C00 + thumb_func_start FUN_02025C00 +FUN_02025C00: ; 0x02025C00 push {r3, lr} - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r0, #0x0 add r1, #0x9c ldrb r1, [r1, #0x0] @@ -73772,10 +73772,10 @@ sub_02025C00: ; 0x02025C00 _02025C16: pop {r3, pc} - thumb_func_start sub_02025C18 -sub_02025C18: ; 0x02025C18 + thumb_func_start FUN_02025C18 +FUN_02025C18: ; 0x02025C18 push {r3, lr} - bl sub_02026CC4 + bl FUN_02026CC4 add r0, #0x9c ldrb r0, [r0, #0x0] cmp r0, #0x2 @@ -73787,22 +73787,22 @@ _02025C2A: pop {r3, pc} .balign 4 - thumb_func_start sub_02025C30 -sub_02025C30: ; 0x02025C30 + thumb_func_start FUN_02025C30 +FUN_02025C30: ; 0x02025C30 mov r1, #0x1 add r0, #0x9d strb r1, [r0, #0x0] bx lr - thumb_func_start sub_02025C38 -sub_02025C38: ; 0x02025C38 + thumb_func_start FUN_02025C38 +FUN_02025C38: ; 0x02025C38 add r0, #0x9d ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02025C40 -sub_02025C40: ; 0x02025C40 + thumb_func_start FUN_02025C40 +FUN_02025C40: ; 0x02025C40 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _02025CD0 ; =0x0000010E @@ -73813,7 +73813,7 @@ sub_02025C40: ; 0x02025C40 str r0, [sp, #0x0] _02025C50: add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC add r1, r5, #0x0 add r1, #0xa0 ldr r1, [r1, #0x0] @@ -73826,33 +73826,33 @@ _02025C50: ldr r0, [sp, #0x0] cmp r0, #0x5 blt _02025C72 - bl sub_02020C2C + bl FUN_02020C2C _02025C72: add r0, r6, #0x0 - bl sub_0202398C + bl FUN_0202398C ldr r1, [sp, #0x0] add r2, r7, #0x0 add r2, #0xb4 lsl r1, r1, #0x4 add r1, r2, r1 mov r2, #0x10 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC ldr r1, [sp, #0x0] lsl r1, r1, #0x2 add r1, r7, r1 add r1, #0xa0 str r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_02023A70 + bl FUN_02023A70 ldr r1, [sp, #0x0] add r2, r7, r1 mov r1, #0x41 lsl r1, r1, #0x2 strb r0, [r2, r1] add r0, r6, #0x0 - bl sub_02023A68 + bl FUN_02023A68 ldr r1, [sp, #0x0] add r2, r7, r1 ldr r1, _02025CD4 ; =0x00000109 @@ -73874,8 +73874,8 @@ _02025CCC: _02025CD0: .word 0x0000010E _02025CD4: .word 0x00000109 - thumb_func_start sub_02025CD8 -sub_02025CD8: ; 0x02025CD8 + thumb_func_start FUN_02025CD8 +FUN_02025CD8: ; 0x02025CD8 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02025D38 ; =0x0000010E @@ -73893,28 +73893,28 @@ _02025CE8: cmp r0, #0x0 beq _02025D32 add r0, r1, #0x0 - bl sub_02023928 + bl FUN_02023928 ldr r1, [sp, #0x0] add r6, r0, #0x0 add r1, r7, r1 - bl sub_0202395C + bl FUN_0202395C ldr r1, _02025D3C ; =0x00000109 add r2, r5, r4 ldrb r1, [r2, r1] add r0, r6, #0x0 - bl sub_02023A6C + bl FUN_02023A6C mov r1, #0x41 add r2, r5, r4 lsl r1, r1, #0x2 ldrb r1, [r2, r1] add r0, r6, #0x0 - bl sub_02023A74 + bl FUN_02023A74 lsl r1, r4, #0x2 add r1, r5, r1 add r1, #0xa0 ldr r1, [r1, #0x0] add r0, r6, #0x0 - bl sub_020239B8 + bl FUN_020239B8 add r0, r6, #0x0 pop {r3-r7, pc} _02025D32: @@ -73924,24 +73924,24 @@ _02025D32: _02025D38: .word 0x0000010E _02025D3C: .word 0x00000109 - thumb_func_start sub_02025D40 -sub_02025D40: ; 0x02025D40 + thumb_func_start FUN_02025D40 +FUN_02025D40: ; 0x02025D40 add r0, #0x94 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02025D48 -sub_02025D48: ; 0x02025D48 + thumb_func_start FUN_02025D48 +FUN_02025D48: ; 0x02025D48 push {r4, lr} add r4, r0, #0x0 cmp r4, #0xb bge _02025D54 - bl sub_02020C2C + bl FUN_02020C2C _02025D54: cmp r4, #0x3c blt _02025D5C - bl sub_02020C2C + bl FUN_02020C2C _02025D5C: sub r4, #0xb ldr r0, _02025D68 ; =0x02105C74 @@ -73951,8 +73951,8 @@ _02025D5C: nop _02025D68: .word 0x02105C74 - thumb_func_start sub_02025D6C -sub_02025D6C: ; 0x02025D6C + thumb_func_start FUN_02025D6C +FUN_02025D6C: ; 0x02025D6C push {r4-r5} mov r2, #0x81 mov r5, #0x0 @@ -73976,8 +73976,8 @@ _02025D88: pop {r4-r5} bx lr - thumb_func_start sub_02025D94 -sub_02025D94: ; 0x02025D94 + thumb_func_start FUN_02025D94 +FUN_02025D94: ; 0x02025D94 mov r1, #0x81 mov r3, #0x0 lsl r1, r1, #0x4 @@ -73995,8 +73995,8 @@ _02025DA6: mov r0, #0x0 bx lr - thumb_func_start sub_02025DB0 -sub_02025DB0: ; 0x02025DB0 + thumb_func_start FUN_02025DB0 +FUN_02025DB0: ; 0x02025DB0 mov r1, #0x81 mov r3, #0x0 lsl r1, r1, #0x4 @@ -74012,8 +74012,8 @@ _02025DC4: add r0, r3, #0x0 bx lr - thumb_func_start sub_02025DC8 -sub_02025DC8: ; 0x02025DC8 + thumb_func_start FUN_02025DC8 +FUN_02025DC8: ; 0x02025DC8 add r1, r0, r1 mov r0, #0x81 lsl r0, r0, #0x4 @@ -74021,15 +74021,15 @@ sub_02025DC8: ; 0x02025DC8 bx lr .balign 4 - thumb_func_start sub_02025DD4 -sub_02025DD4: ; 0x02025DD4 + thumb_func_start FUN_02025DD4 +FUN_02025DD4: ; 0x02025DD4 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02025F0C + bl FUN_02025F0C cmp r0, #0x0 beq _02025DE6 - bl sub_02020C2C + bl FUN_02020C2C _02025DE6: mov r0, #0x81 add r1, r5, r4 @@ -74055,14 +74055,14 @@ _02025E06: add r0, r5, #0x0 add r1, r4, #0x0 sub r2, r2, #0x1 - bl sub_02025F58 + bl FUN_02025F58 add r0, r7, #0x0 pop {r3-r7, pc} nop _02025E1C: .word 0x000008D7 - thumb_func_start sub_02025E20 -sub_02025E20: ; 0x02025E20 + thumb_func_start FUN_02025E20 +FUN_02025E20: ; 0x02025E20 push {r4-r7, lr} sub sp, #0xd4 mov r4, #0x0 @@ -74076,7 +74076,7 @@ sub_02025E20: ; 0x02025E20 add r0, r5, r0 add r1, sp, #0xc mov r2, #0xc8 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r2, [sp, #0x8] add r1, sp, #0xc add r0, r4, #0x0 @@ -74126,12 +74126,12 @@ _02025E8E: ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x1 - bl sub_02025F58 + bl FUN_02025F58 mov r2, #0x0 ldr r1, [sp, #0x8] add r0, r5, #0x0 mvn r2, r2 - bl sub_02025F58 + bl FUN_02025F58 mov r1, #0x0 ldr r0, [sp, #0x4] mvn r1, r1 @@ -74163,19 +74163,19 @@ _02025ED6: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02025EDC -sub_02025EDC: ; 0x02025EDC + thumb_func_start FUN_02025EDC +FUN_02025EDC: ; 0x02025EDC push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 cmp r6, #0x1 bge _02025EEC - bl sub_02020C2C + bl FUN_02020C2C _02025EEC: cmp r6, #0xf ble _02025EF4 - bl sub_02020C2C + bl FUN_02020C2C _02025EF4: sub r0, r6, #0x1 add r1, r5, r0 @@ -74190,8 +74190,8 @@ _02025EF4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02025F0C -sub_02025F0C: ; 0x02025F0C + thumb_func_start FUN_02025F0C +FUN_02025F0C: ; 0x02025F0C push {r3-r4} add r3, r1, #0x1 mov r1, #0x9a @@ -74213,8 +74213,8 @@ _02025F24: pop {r3-r4} bx lr - thumb_func_start sub_02025F30 -sub_02025F30: ; 0x02025F30 + thumb_func_start FUN_02025F30 +FUN_02025F30: ; 0x02025F30 sub r1, r1, #0x1 cmp r1, #0xf bge _02025F40 @@ -74227,20 +74227,20 @@ _02025F40: bx lr .balign 4 - thumb_func_start sub_02025F44 -sub_02025F44: ; 0x02025F44 + thumb_func_start FUN_02025F44 +FUN_02025F44: ; 0x02025F44 mov r1, #0x9a lsl r1, r1, #0x4 add r0, r0, r1 - ldr r3, _02025F54 ; =sub_020CE34C + ldr r3, _02025F54 ; =FUN_020CE34C mov r1, #0x0 mov r2, #0xf bx r3 nop -_02025F54: .word sub_020CE34C +_02025F54: .word FUN_020CE34C - thumb_func_start sub_02025F58 -sub_02025F58: ; 0x02025F58 + thumb_func_start FUN_02025F58 +FUN_02025F58: ; 0x02025F58 push {r4-r7} mov r6, #0x9a lsl r6, r6, #0x4 @@ -74264,8 +74264,8 @@ _02025F76: pop {r4-r7} bx lr - thumb_func_start sub_02025F80 -sub_02025F80: ; 0x02025F80 + thumb_func_start FUN_02025F80 +FUN_02025F80: ; 0x02025F80 mov r1, #0x9 mov r3, #0x0 lsl r1, r1, #0x8 @@ -74281,8 +74281,8 @@ _02025F94: add r0, r3, #0x0 bx lr - thumb_func_start sub_02025F98 -sub_02025F98: ; 0x02025F98 + thumb_func_start FUN_02025F98 +FUN_02025F98: ; 0x02025F98 add r1, r0, r1 mov r0, #0x9 lsl r0, r0, #0x8 @@ -74290,8 +74290,8 @@ sub_02025F98: ; 0x02025F98 bx lr .balign 4 - thumb_func_start sub_02025FA4 -sub_02025FA4: ; 0x02025FA4 + thumb_func_start FUN_02025FA4 +FUN_02025FA4: ; 0x02025FA4 push {r3-r6} mov r2, #0x9 add r3, r0, r1 @@ -74319,12 +74319,12 @@ _02025FC2: _02025FD0: .word 0x00000901 _02025FD4: .word 0x00000927 - thumb_func_start sub_02025FD8 -sub_02025FD8: ; 0x02025FD8 + thumb_func_start FUN_02025FD8 +FUN_02025FD8: ; 0x02025FD8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020259E0 + bl FUN_020259E0 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -74340,8 +74340,8 @@ _02025FF6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02025FFC -sub_02025FFC: ; 0x02025FFC + thumb_func_start FUN_02025FFC +FUN_02025FFC: ; 0x02025FFC push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 @@ -74353,7 +74353,7 @@ sub_02025FFC: ; 0x02025FFC add r1, sp, #0x8 mov r2, #0x28 mov r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r2, [sp, #0x4] add r1, sp, #0x8 add r0, r4, #0x0 @@ -74387,8 +74387,8 @@ _02026042: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02026050 -sub_02026050: ; 0x02026050 + thumb_func_start FUN_02026050 +FUN_02026050: ; 0x02026050 mov r1, #0x95 mov r3, #0x0 lsl r1, r1, #0x4 @@ -74404,8 +74404,8 @@ _02026064: add r0, r3, #0x0 bx lr - thumb_func_start sub_02026068 -sub_02026068: ; 0x02026068 + thumb_func_start FUN_02026068 +FUN_02026068: ; 0x02026068 add r1, r0, r1 mov r0, #0x95 lsl r0, r0, #0x4 @@ -74413,8 +74413,8 @@ sub_02026068: ; 0x02026068 bx lr .balign 4 - thumb_func_start sub_02026074 -sub_02026074: ; 0x02026074 + thumb_func_start FUN_02026074 +FUN_02026074: ; 0x02026074 add r1, r0, r1 ldr r0, _0202607C ; =0x00000978 ldrb r0, [r1, r0] @@ -74422,8 +74422,8 @@ sub_02026074: ; 0x02026074 .balign 4 _0202607C: .word 0x00000978 - thumb_func_start sub_02026080 -sub_02026080: ; 0x02026080 + thumb_func_start FUN_02026080 +FUN_02026080: ; 0x02026080 push {r4-r7} add r2, r0, #0x0 mov r0, #0x95 @@ -74459,13 +74459,13 @@ _020260AE: _020260BC: .word 0x00000951 _020260C0: .word 0x00000977 - thumb_func_start sub_020260C4 -sub_020260C4: ; 0x020260C4 + thumb_func_start FUN_020260C4 +FUN_020260C4: ; 0x020260C4 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02025A00 + bl FUN_02025A00 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -74482,8 +74482,8 @@ _020260E8: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020260EC -sub_020260EC: ; 0x020260EC + thumb_func_start FUN_020260EC +FUN_020260EC: ; 0x020260EC push {r4-r7, lr} sub sp, #0x5c add r7, r0, #0x0 @@ -74495,12 +74495,12 @@ sub_020260EC: ; 0x020260EC add r1, sp, #0x34 mov r2, #0x28 mov r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _02026168 ; =0x00000978 add r1, sp, #0xc add r0, r7, r0 mov r2, #0x28 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r3, [sp, #0x0] add r1, sp, #0x34 add r3, r1, r3 @@ -74549,8 +74549,8 @@ _02026158: nop _02026168: .word 0x00000978 - thumb_func_start sub_0202616C -sub_0202616C: ; 0x0202616C + thumb_func_start FUN_0202616C +FUN_0202616C: ; 0x0202616C ldr r1, _02026184 ; =0x00000928 mov r3, #0x0 _02026170: @@ -74567,8 +74567,8 @@ _0202617E: nop _02026184: .word 0x00000928 - thumb_func_start sub_02026188 -sub_02026188: ; 0x02026188 + thumb_func_start FUN_02026188 +FUN_02026188: ; 0x02026188 add r1, r0, r1 ldr r0, _02026190 ; =0x00000928 ldrb r0, [r1, r0] @@ -74576,8 +74576,8 @@ sub_02026188: ; 0x02026188 .balign 4 _02026190: .word 0x00000928 - thumb_func_start sub_02026194 -sub_02026194: ; 0x02026194 + thumb_func_start FUN_02026194 +FUN_02026194: ; 0x02026194 push {r3-r6} ldr r2, _020261BC ; =0x00000928 add r3, r0, r1 @@ -74605,12 +74605,12 @@ _020261BC: .word 0x00000928 _020261C0: .word 0x00000929 _020261C4: .word 0x0000094F - thumb_func_start sub_020261C8 -sub_020261C8: ; 0x020261C8 + thumb_func_start FUN_020261C8 +FUN_020261C8: ; 0x020261C8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02025A20 + bl FUN_02025A20 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -74626,8 +74626,8 @@ _020261E4: .balign 4 _020261E8: .word 0x00000928 - thumb_func_start sub_020261EC -sub_020261EC: ; 0x020261EC + thumb_func_start FUN_020261EC +FUN_020261EC: ; 0x020261EC push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 @@ -74638,7 +74638,7 @@ sub_020261EC: ; 0x020261EC add r1, sp, #0x8 mov r2, #0x28 mov r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r2, [sp, #0x4] add r1, sp, #0x8 add r0, r4, #0x0 @@ -74671,8 +74671,8 @@ _0202622C: .balign 4 _02026238: .word 0x00000928 - thumb_func_start sub_0202623C -sub_0202623C: ; 0x0202623C + thumb_func_start FUN_0202623C +FUN_0202623C: ; 0x0202623C ldr r1, _02026254 ; =0x000008D8 mov r3, #0x0 _02026240: @@ -74689,8 +74689,8 @@ _0202624E: nop _02026254: .word 0x000008D8 - thumb_func_start sub_02026258 -sub_02026258: ; 0x02026258 + thumb_func_start FUN_02026258 +FUN_02026258: ; 0x02026258 add r1, r0, r1 ldr r0, _02026260 ; =0x000008D8 ldrb r0, [r1, r0] @@ -74698,8 +74698,8 @@ sub_02026258: ; 0x02026258 .balign 4 _02026260: .word 0x000008D8 - thumb_func_start sub_02026264 -sub_02026264: ; 0x02026264 + thumb_func_start FUN_02026264 +FUN_02026264: ; 0x02026264 push {r3-r6} ldr r2, _0202628C ; =0x000008D8 add r3, r0, r1 @@ -74727,12 +74727,12 @@ _0202628C: .word 0x000008D8 _02026290: .word 0x000008D9 _02026294: .word 0x000008FF - thumb_func_start sub_02026298 -sub_02026298: ; 0x02026298 + thumb_func_start FUN_02026298 +FUN_02026298: ; 0x02026298 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02025A40 + bl FUN_02025A40 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -74748,8 +74748,8 @@ _020262B4: .balign 4 _020262B8: .word 0x000008D8 - thumb_func_start sub_020262BC -sub_020262BC: ; 0x020262BC + thumb_func_start FUN_020262BC +FUN_020262BC: ; 0x020262BC push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 @@ -74760,7 +74760,7 @@ sub_020262BC: ; 0x020262BC add r1, sp, #0x8 mov r2, #0x28 mov r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r2, [sp, #0x4] add r1, sp, #0x8 add r0, r4, #0x0 @@ -74793,8 +74793,8 @@ _020262FC: .balign 4 _02026308: .word 0x000008D8 - thumb_func_start sub_0202630C -sub_0202630C: ; 0x0202630C + thumb_func_start FUN_0202630C +FUN_0202630C: ; 0x0202630C push {r3-r7, lr} add r4, r2, #0x0 add r5, r0, #0x0 @@ -74802,7 +74802,7 @@ sub_0202630C: ; 0x0202630C add r6, r3, #0x0 cmp r4, #0x40 blt _0202631E - bl sub_02020C2C + bl FUN_02020C2C _0202631E: ldr r0, _02026350 ; =0x0000010F add r1, r5, r4 @@ -74831,14 +74831,14 @@ _0202631E: nop _02026350: .word 0x0000010F - thumb_func_start sub_02026354 -sub_02026354: ; 0x02026354 + thumb_func_start FUN_02026354 +FUN_02026354: ; 0x02026354 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x40 blt _02026362 - bl sub_02020C2C + bl FUN_02020C2C _02026362: ldr r0, _0202636C ; =0x0000010F add r1, r5, r4 @@ -74847,14 +74847,14 @@ _02026362: nop _0202636C: .word 0x0000010F - thumb_func_start sub_02026370 -sub_02026370: ; 0x02026370 + thumb_func_start FUN_02026370 +FUN_02026370: ; 0x02026370 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x40 blt _0202637E - bl sub_02020C2C + bl FUN_02020C2C _0202637E: lsl r0, r4, #0x1 add r0, r4, r0 @@ -74872,14 +74872,14 @@ _0202637E: .balign 4 _02026398: .word 0x0000014F - thumb_func_start sub_0202639C -sub_0202639C: ; 0x0202639C + thumb_func_start FUN_0202639C +FUN_0202639C: ; 0x0202639C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x40 blt _020263AA - bl sub_02020C2C + bl FUN_02020C2C _020263AA: lsl r0, r4, #0x1 add r0, r4, r0 @@ -74897,14 +74897,14 @@ _020263AA: .balign 4 _020263C4: .word 0x00000151 - thumb_func_start sub_020263C8 -sub_020263C8: ; 0x020263C8 + thumb_func_start FUN_020263C8 +FUN_020263C8: ; 0x020263C8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x40 blt _020263D6 - bl sub_02020C2C + bl FUN_02020C2C _020263D6: ldr r0, _020263F0 ; =0x0000010F mov r1, #0x0 @@ -74916,13 +74916,13 @@ _020263D6: add r0, r4, r0 add r0, r2, r0 mov r2, #0x3 - blx sub_020CE34C + blx FUN_020CE34C pop {r3-r5, pc} .balign 4 _020263F0: .word 0x0000010F - thumb_func_start sub_020263F4 -sub_020263F4: ; 0x020263F4 + thumb_func_start FUN_020263F4 +FUN_020263F4: ; 0x020263F4 push {r3-r7, lr} add r4, r2, #0x0 add r5, r0, #0x0 @@ -74930,7 +74930,7 @@ sub_020263F4: ; 0x020263F4 add r6, r3, #0x0 cmp r4, #0x10 blt _02026406 - bl sub_02020C2C + bl FUN_02020C2C _02026406: lsl r2, r4, #0x1 ldr r1, _02026440 ; =0x0000050C @@ -74963,8 +74963,8 @@ _02026406: nop _02026440: .word 0x0000050C - thumb_func_start sub_02026444 -sub_02026444: ; 0x02026444 + thumb_func_start FUN_02026444 +FUN_02026444: ; 0x02026444 add r1, r0, r1 ldr r0, _0202644C ; =0x0000050C ldrb r0, [r1, r0] @@ -74972,8 +74972,8 @@ sub_02026444: ; 0x02026444 .balign 4 _0202644C: .word 0x0000050C - thumb_func_start sub_02026450 -sub_02026450: ; 0x02026450 + thumb_func_start FUN_02026450 +FUN_02026450: ; 0x02026450 lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -74990,8 +74990,8 @@ sub_02026450: ; 0x02026450 nop _0202646C: .word 0x0000051C - thumb_func_start sub_02026470 -sub_02026470: ; 0x02026470 + thumb_func_start FUN_02026470 +FUN_02026470: ; 0x02026470 lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -75008,8 +75008,8 @@ sub_02026470: ; 0x02026470 nop _0202648C: .word 0x0000051E - thumb_func_start sub_02026490 -sub_02026490: ; 0x02026490 + thumb_func_start FUN_02026490 +FUN_02026490: ; 0x02026490 add r1, r0, r1 ldr r0, _02026498 ; =0x0000054C ldrb r0, [r1, r0] @@ -75017,8 +75017,8 @@ sub_02026490: ; 0x02026490 .balign 4 _02026498: .word 0x0000054C - thumb_func_start sub_0202649C -sub_0202649C: ; 0x0202649C + thumb_func_start FUN_0202649C +FUN_0202649C: ; 0x0202649C push {r3-r7, lr} add r4, r2, #0x0 add r5, r0, #0x0 @@ -75026,7 +75026,7 @@ sub_0202649C: ; 0x0202649C add r7, r3, #0x0 cmp r4, #0x64 blt _020264AE - bl sub_02020C2C + bl FUN_02020C2C _020264AE: ldr r1, _020264E8 ; =0x0000055C add r0, r5, r4 @@ -75061,8 +75061,8 @@ _020264AE: _020264E8: .word 0x0000055C _020264EC: .word 0x00000688 - thumb_func_start sub_020264F0 -sub_020264F0: ; 0x020264F0 + thumb_func_start FUN_020264F0 +FUN_020264F0: ; 0x020264F0 add r1, r0, r1 ldr r0, _020264F8 ; =0x0000055C ldrb r0, [r1, r0] @@ -75070,8 +75070,8 @@ sub_020264F0: ; 0x020264F0 .balign 4 _020264F8: .word 0x0000055C - thumb_func_start sub_020264FC -sub_020264FC: ; 0x020264FC + thumb_func_start FUN_020264FC +FUN_020264FC: ; 0x020264FC lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -75088,8 +75088,8 @@ sub_020264FC: ; 0x020264FC nop _02026518: .word 0x00000688 - thumb_func_start sub_0202651C -sub_0202651C: ; 0x0202651C + thumb_func_start FUN_0202651C +FUN_0202651C: ; 0x0202651C lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -75106,8 +75106,8 @@ sub_0202651C: ; 0x0202651C nop _02026538: .word 0x0000068A - thumb_func_start sub_0202653C -sub_0202653C: ; 0x0202653C + thumb_func_start FUN_0202653C +FUN_0202653C: ; 0x0202653C add r1, r0, r1 ldr r0, _02026544 ; =0x00000624 ldrb r0, [r1, r0] @@ -75115,8 +75115,8 @@ sub_0202653C: ; 0x0202653C .balign 4 _02026544: .word 0x00000624 - thumb_func_start sub_02026548 -sub_02026548: ; 0x02026548 + thumb_func_start FUN_02026548 +FUN_02026548: ; 0x02026548 add r1, r0, r1 mov r0, #0x17 lsl r0, r0, #0x6 @@ -75124,8 +75124,8 @@ sub_02026548: ; 0x02026548 bx lr .balign 4 - thumb_func_start sub_02026554 -sub_02026554: ; 0x02026554 + thumb_func_start FUN_02026554 +FUN_02026554: ; 0x02026554 push {r4-r7} ldr r3, _020265B0 ; =0x00000211 add r7, r0, #0x0 @@ -75177,14 +75177,14 @@ _020265A0: _020265B0: .word 0x00000211 _020265B4: .word 0x0000020F - thumb_func_start sub_020265B8 -sub_020265B8: ; 0x020265B8 + thumb_func_start FUN_020265B8 +FUN_020265B8: ; 0x020265B8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xff blt _020265C6 - bl sub_02020C2C + bl FUN_02020C2C _020265C6: ldr r0, _020265DC ; =0x0000020F mov r2, #0x3 @@ -75193,13 +75193,13 @@ _020265C6: add r0, r4, r0 add r0, r1, r0 mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C pop {r3-r5, pc} nop _020265DC: .word 0x0000020F - thumb_func_start sub_020265E0 -sub_020265E0: ; 0x020265E0 + thumb_func_start FUN_020265E0 +FUN_020265E0: ; 0x020265E0 lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -75216,8 +75216,8 @@ sub_020265E0: ; 0x020265E0 nop _020265FC: .word 0x0000020F - thumb_func_start sub_02026600 -sub_02026600: ; 0x02026600 + thumb_func_start FUN_02026600 +FUN_02026600: ; 0x02026600 lsl r2, r1, #0x1 add r1, r1, r2 add r1, r0, r1 @@ -75234,8 +75234,8 @@ sub_02026600: ; 0x02026600 nop _0202661C: .word 0x00000211 - thumb_func_start sub_02026620 -sub_02026620: ; 0x02026620 + thumb_func_start FUN_02026620 +FUN_02026620: ; 0x02026620 mov r1, #0x9b lsl r1, r1, #0x4 ldrb r0, [r0, r1] @@ -75248,8 +75248,8 @@ _02026630: mov r0, #0x0 bx lr - thumb_func_start sub_02026634 -sub_02026634: ; 0x02026634 + thumb_func_start FUN_02026634 +FUN_02026634: ; 0x02026634 mov r2, #0x9b lsl r2, r2, #0x4 ldrb r3, [r0, r2] @@ -75261,8 +75261,8 @@ sub_02026634: ; 0x02026634 bx lr .balign 4 - thumb_func_start sub_02026648 -sub_02026648: ; 0x02026648 + thumb_func_start FUN_02026648 +FUN_02026648: ; 0x02026648 mov r1, #0x9b lsl r1, r1, #0x4 ldrb r0, [r0, r1] @@ -75270,8 +75270,8 @@ sub_02026648: ; 0x02026648 lsr r0, r0, #0x1c bx lr - thumb_func_start sub_02026654 -sub_02026654: ; 0x02026654 + thumb_func_start FUN_02026654 +FUN_02026654: ; 0x02026654 mov r2, #0x9b lsl r2, r2, #0x4 ldrb r3, [r0, r2] @@ -75281,8 +75281,8 @@ sub_02026654: ; 0x02026654 bx lr .balign 4 - thumb_func_start sub_02026664 -sub_02026664: ; 0x02026664 + thumb_func_start FUN_02026664 +FUN_02026664: ; 0x02026664 push {r3-r4} cmp r1, #0x2c blt _0202667E @@ -75302,8 +75302,8 @@ _0202667E: nop _02026684: .word 0x0000080C - thumb_func_start sub_02026688 -sub_02026688: ; 0x02026688 + thumb_func_start FUN_02026688 +FUN_02026688: ; 0x02026688 cmp r1, #0x2c blt _02026690 cmp r1, #0x3b @@ -75327,8 +75327,8 @@ _020266A8: nop _020266AC: .word 0x0000080C - thumb_func_start sub_020266B0 -sub_020266B0: ; 0x020266B0 + thumb_func_start FUN_020266B0 +FUN_020266B0: ; 0x020266B0 ldr r1, _020266C4 ; =0x000009AF ldrb r2, [r0, r1] cmp r2, #0x63 @@ -75343,35 +75343,35 @@ _020266BE: .balign 4 _020266C4: .word 0x000009AF - thumb_func_start sub_020266C8 -sub_020266C8: ; 0x020266C8 + thumb_func_start FUN_020266C8 +FUN_020266C8: ; 0x020266C8 ldr r1, _020266D0 ; =0x000009AF ldrb r0, [r0, r1] bx lr nop _020266D0: .word 0x000009AF - thumb_func_start sub_020266D4 -sub_020266D4: ; 0x020266D4 - ldr r3, _020266DC ; =sub_020CE34C + thumb_func_start FUN_020266D4 +FUN_020266D4: ; 0x020266D4 + ldr r3, _020266DC ; =FUN_020CE34C mov r1, #0x0 mov r2, #0x94 bx r3 .balign 4 -_020266DC: .word sub_020CE34C +_020266DC: .word FUN_020CE34C - thumb_func_start sub_020266E0 -sub_020266E0: ; 0x020266E0 + thumb_func_start FUN_020266E0 +FUN_020266E0: ; 0x020266E0 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x2d - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 add r0, #0x2d mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 mov r1, #0x0 add r0, #0x8c @@ -75387,15 +75387,15 @@ sub_020266E0: ; 0x020266E0 pop {r4, pc} .balign 4 - thumb_func_start sub_02026714 -sub_02026714: ; 0x02026714 + thumb_func_start FUN_02026714 +FUN_02026714: ; 0x02026714 mov r1, #0x0 add r0, #0x91 strb r1, [r0, #0x0] bx lr - thumb_func_start sub_0202671C -sub_0202671C: ; 0x0202671C + thumb_func_start FUN_0202671C +FUN_0202671C: ; 0x0202671C push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -75403,20 +75403,20 @@ sub_0202671C: ; 0x0202671C add r6, r3, #0x0 cmp r4, #0x20 blt _0202672E - bl sub_02020C2C + bl FUN_02020C2C _0202672E: cmp r6, #0x20 blt _02026736 - bl sub_02020C2C + bl FUN_02020C2C _02026736: ldr r0, [sp, #0x18] cmp r0, #0x20 blt _02026740 - bl sub_02020C2C + bl FUN_02020C2C _02026740: cmp r5, #0x0 bne _02026748 - bl sub_02020C2C + bl FUN_02020C2C _02026748: cmp r4, #0x0 beq _02026774 @@ -75445,25 +75445,25 @@ _02026774: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02026778 -sub_02026778: ; 0x02026778 + thumb_func_start FUN_02026778 +FUN_02026778: ; 0x02026778 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_020267C4 + bl FUN_020267C4 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r3, r7, #0x0 str r4, [sp, #0x0] - bl sub_0202671C + bl FUN_0202671C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02026798 -sub_02026798: ; 0x02026798 + thumb_func_start FUN_02026798 +FUN_02026798: ; 0x02026798 add r0, #0x88 ldr r0, [r0, #0x0] lsl r0, r0, #0xc @@ -75491,19 +75491,19 @@ _020267C0: mov r0, #0x1 bx lr - thumb_func_start sub_020267C4 -sub_020267C4: ; 0x020267C4 + thumb_func_start FUN_020267C4 +FUN_020267C4: ; 0x020267C4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x20 blt _020267D2 - bl sub_02020C2C + bl FUN_02020C2C _020267D2: cmp r5, #0x0 bne _020267DE add r0, r4, #0x0 - bl sub_02026798 + bl FUN_02026798 pop {r3-r5, pc} _020267DE: cmp r5, #0x10 @@ -75534,14 +75534,14 @@ _0202680A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02026810 -sub_02026810: ; 0x02026810 + thumb_func_start FUN_02026810 +FUN_02026810: ; 0x02026810 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x20 blt _0202681E - bl sub_02020C2C + bl FUN_02020C2C _0202681E: cmp r5, #0x0 bne _02026826 @@ -75563,14 +75563,14 @@ _02026834: ldrb r0, [r0, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02026840 -sub_02026840: ; 0x02026840 + thumb_func_start FUN_02026840 +FUN_02026840: ; 0x02026840 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x20 blt _0202684E - bl sub_02020C2C + bl FUN_02020C2C _0202684E: cmp r5, #0x0 bne _02026856 @@ -75594,8 +75594,8 @@ _02026866: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02026874 -sub_02026874: ; 0x02026874 + thumb_func_start FUN_02026874 +FUN_02026874: ; 0x02026874 add r0, #0x88 ldr r0, [r0, #0x0] lsl r0, r0, #0xc @@ -75623,8 +75623,8 @@ _0202689C: mov r0, #0x10 bx lr - thumb_func_start sub_020268A0 -sub_020268A0: ; 0x020268A0 + thumb_func_start FUN_020268A0 +FUN_020268A0: ; 0x020268A0 add r0, #0x88 ldr r0, [r0, #0x0] lsl r0, r0, #0xc @@ -75652,17 +75652,17 @@ _020268C8: mov r0, #0xa bx lr - thumb_func_start sub_020268CC -sub_020268CC: ; 0x020268CC + thumb_func_start FUN_020268CC +FUN_020268CC: ; 0x020268CC ldr r0, [r0, #0x0] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_020268D4 -sub_020268D4: ; 0x020268D4 + thumb_func_start FUN_020268D4 +FUN_020268D4: ; 0x020268D4 push {r3, lr} - bl sub_020269A0 + bl FUN_020269A0 cmp r0, #0x4 bne _020268E2 mov r0, #0x1 @@ -75672,8 +75672,8 @@ _020268E2: pop {r3, pc} .balign 4 - thumb_func_start sub_020268E8 -sub_020268E8: ; 0x020268E8 + thumb_func_start FUN_020268E8 +FUN_020268E8: ; 0x020268E8 ldr r3, [r0, #0x0] ldr r2, _020268F8 ; =0xFFF00000 and r3, r2 @@ -75686,15 +75686,15 @@ sub_020268E8: ; 0x020268E8 _020268F8: .word 0xFFF00000 _020268FC: .word 0x000FFFFF - thumb_func_start sub_02026900 -sub_02026900: ; 0x02026900 + thumb_func_start FUN_02026900 +FUN_02026900: ; 0x02026900 ldr r0, [r0, #0x4] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026908 -sub_02026908: ; 0x02026908 + thumb_func_start FUN_02026908 +FUN_02026908: ; 0x02026908 push {r3-r4} ldr r2, [r0, #0x4] lsl r1, r2, #0xc @@ -75718,15 +75718,15 @@ _0202692C: .word 0x000F423F _02026930: .word 0xFFF00000 _02026934: .word 0x000FFFFF - thumb_func_start sub_02026938 -sub_02026938: ; 0x02026938 + thumb_func_start FUN_02026938 +FUN_02026938: ; 0x02026938 ldr r0, [r0, #0x8] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026940 -sub_02026940: ; 0x02026940 + thumb_func_start FUN_02026940 +FUN_02026940: ; 0x02026940 push {r3-r4} ldr r2, [r0, #0x8] lsl r1, r2, #0xc @@ -75750,8 +75750,8 @@ _02026964: .word 0x000F423F _02026968: .word 0xFFF00000 _0202696C: .word 0x000FFFFF - thumb_func_start sub_02026970 -sub_02026970: ; 0x02026970 + thumb_func_start FUN_02026970 +FUN_02026970: ; 0x02026970 push {r3-r4} ldr r2, [r0, #0xc] lsl r1, r2, #0xc @@ -75775,8 +75775,8 @@ _02026994: .word 0x000F423F _02026998: .word 0xFFF00000 _0202699C: .word 0x000FFFFF - thumb_func_start sub_020269A0 -sub_020269A0: ; 0x020269A0 + thumb_func_start FUN_020269A0 +FUN_020269A0: ; 0x020269A0 ldr r0, [r0, #0x38] lsl r0, r0, #0xc lsr r0, r0, #0xc @@ -75804,15 +75804,15 @@ _020269C6: bx lr .balign 4 - thumb_func_start sub_020269CC -sub_020269CC: ; 0x020269CC + thumb_func_start FUN_020269CC +FUN_020269CC: ; 0x020269CC ldr r0, [r0, #0x38] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_020269D4 -sub_020269D4: ; 0x020269D4 + thumb_func_start FUN_020269D4 +FUN_020269D4: ; 0x020269D4 push {r3-r4} ldr r2, [r0, #0x38] lsl r1, r2, #0xc @@ -75836,15 +75836,15 @@ _020269F8: .word 0x000F423F _020269FC: .word 0xFFF00000 _02026A00: .word 0x000FFFFF - thumb_func_start sub_02026A04 -sub_02026A04: ; 0x02026A04 + thumb_func_start FUN_02026A04 +FUN_02026A04: ; 0x02026A04 ldr r0, [r0, #0x10] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026A0C -sub_02026A0C: ; 0x02026A0C + thumb_func_start FUN_02026A0C +FUN_02026A0C: ; 0x02026A0C push {r4-r5} cmp r1, #0x0 ble _02026A2C @@ -75879,15 +75879,15 @@ _02026A44: .word 0x000F423F _02026A48: .word 0xFFF00000 _02026A4C: .word 0x000FFFFF - thumb_func_start sub_02026A50 -sub_02026A50: ; 0x02026A50 + thumb_func_start FUN_02026A50 +FUN_02026A50: ; 0x02026A50 ldr r0, [r0, #0x14] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026A58 -sub_02026A58: ; 0x02026A58 + thumb_func_start FUN_02026A58 +FUN_02026A58: ; 0x02026A58 push {r4-r5} cmp r1, #0x0 ble _02026A78 @@ -75922,8 +75922,8 @@ _02026A90: .word 0x000F423F _02026A94: .word 0xFFF00000 _02026A98: .word 0x000FFFFF - thumb_func_start sub_02026A9C -sub_02026A9C: ; 0x02026A9C + thumb_func_start FUN_02026A9C +FUN_02026A9C: ; 0x02026A9C push {r4-r5} cmp r1, #0x0 ble _02026ABC @@ -75958,15 +75958,15 @@ _02026AD4: .word 0x000F423F _02026AD8: .word 0xFFF00000 _02026ADC: .word 0x000FFFFF - thumb_func_start sub_02026AE0 -sub_02026AE0: ; 0x02026AE0 + thumb_func_start FUN_02026AE0 +FUN_02026AE0: ; 0x02026AE0 ldr r0, [r0, #0x1c] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026AE8 -sub_02026AE8: ; 0x02026AE8 + thumb_func_start FUN_02026AE8 +FUN_02026AE8: ; 0x02026AE8 push {r3-r4} ldr r2, [r0, #0x1c] lsl r1, r2, #0xc @@ -75990,15 +75990,15 @@ _02026B0C: .word 0x000F423F _02026B10: .word 0xFFF00000 _02026B14: .word 0x000FFFFF - thumb_func_start sub_02026B18 -sub_02026B18: ; 0x02026B18 + thumb_func_start FUN_02026B18 +FUN_02026B18: ; 0x02026B18 ldr r0, [r0, #0x20] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026B20 -sub_02026B20: ; 0x02026B20 + thumb_func_start FUN_02026B20 +FUN_02026B20: ; 0x02026B20 push {r3-r4} ldr r2, [r0, #0x20] lsl r1, r2, #0xc @@ -76022,15 +76022,15 @@ _02026B44: .word 0x000F423F _02026B48: .word 0xFFF00000 _02026B4C: .word 0x000FFFFF - thumb_func_start sub_02026B50 -sub_02026B50: ; 0x02026B50 + thumb_func_start FUN_02026B50 +FUN_02026B50: ; 0x02026B50 ldr r0, [r0, #0x24] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026B58 -sub_02026B58: ; 0x02026B58 + thumb_func_start FUN_02026B58 +FUN_02026B58: ; 0x02026B58 push {r3-r4} ldr r2, [r0, #0x24] lsl r1, r2, #0xc @@ -76054,15 +76054,15 @@ _02026B7C: .word 0x000F423F _02026B80: .word 0xFFF00000 _02026B84: .word 0x000FFFFF - thumb_func_start sub_02026B88 -sub_02026B88: ; 0x02026B88 + thumb_func_start FUN_02026B88 +FUN_02026B88: ; 0x02026B88 ldr r0, [r0, #0x28] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026B90 -sub_02026B90: ; 0x02026B90 + thumb_func_start FUN_02026B90 +FUN_02026B90: ; 0x02026B90 push {r3-r4} ldr r2, [r0, #0x28] lsl r1, r2, #0xc @@ -76086,15 +76086,15 @@ _02026BB4: .word 0x000F423F _02026BB8: .word 0xFFF00000 _02026BBC: .word 0x000FFFFF - thumb_func_start sub_02026BC0 -sub_02026BC0: ; 0x02026BC0 + thumb_func_start FUN_02026BC0 +FUN_02026BC0: ; 0x02026BC0 ldr r0, [r0, #0x2c] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026BC8 -sub_02026BC8: ; 0x02026BC8 + thumb_func_start FUN_02026BC8 +FUN_02026BC8: ; 0x02026BC8 push {r3-r4} ldr r2, [r0, #0x2c] lsl r1, r2, #0xc @@ -76118,15 +76118,15 @@ _02026BEC: .word 0x000F423F _02026BF0: .word 0xFFF00000 _02026BF4: .word 0x000FFFFF - thumb_func_start sub_02026BF8 -sub_02026BF8: ; 0x02026BF8 + thumb_func_start FUN_02026BF8 +FUN_02026BF8: ; 0x02026BF8 ldr r0, [r0, #0x30] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026C00 -sub_02026C00: ; 0x02026C00 + thumb_func_start FUN_02026C00 +FUN_02026C00: ; 0x02026C00 push {r3-r4} ldr r2, [r0, #0x30] lsl r1, r2, #0xc @@ -76150,15 +76150,15 @@ _02026C24: .word 0x000F423F _02026C28: .word 0xFFF00000 _02026C2C: .word 0x000FFFFF - thumb_func_start sub_02026C30 -sub_02026C30: ; 0x02026C30 + thumb_func_start FUN_02026C30 +FUN_02026C30: ; 0x02026C30 ldr r0, [r0, #0x34] lsl r0, r0, #0xc lsr r0, r0, #0xc bx lr - thumb_func_start sub_02026C38 -sub_02026C38: ; 0x02026C38 + thumb_func_start FUN_02026C38 +FUN_02026C38: ; 0x02026C38 push {r3-r4} ldr r2, [r0, #0x34] lsl r1, r2, #0xc @@ -76182,8 +76182,8 @@ _02026C5C: .word 0x000F423F _02026C60: .word 0xFFF00000 _02026C64: .word 0x000FFFFF - thumb_func_start sub_02026C68 -sub_02026C68: ; 0x02026C68 + thumb_func_start FUN_02026C68 +FUN_02026C68: ; 0x02026C68 push {r3-r4} add r4, r0, #0x0 add r4, #0x8c @@ -76201,65 +76201,65 @@ sub_02026C68: ; 0x02026C68 bx lr .balign 4 - thumb_func_start sub_02026C88 -sub_02026C88: ; 0x02026C88 + thumb_func_start FUN_02026C88 +FUN_02026C88: ; 0x02026C88 add r0, #0x8c ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02026C90 -sub_02026C90: ; 0x02026C90 + thumb_func_start FUN_02026C90 +FUN_02026C90: ; 0x02026C90 add r0, #0x8e ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02026C98 -sub_02026C98: ; 0x02026C98 + thumb_func_start FUN_02026C98 +FUN_02026C98: ; 0x02026C98 add r0, #0x90 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02026CA0 -sub_02026CA0: ; 0x02026CA0 + thumb_func_start FUN_02026CA0 +FUN_02026CA0: ; 0x02026CA0 add r0, #0x91 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02026CA8 -sub_02026CA8: ; 0x02026CA8 - ldr r3, _02026CB0 ; =sub_02022610 + thumb_func_start FUN_02026CA8 +FUN_02026CA8: ; 0x02026CA8 + ldr r3, _02026CB0 ; =FUN_02022610 mov r1, #0xc bx r3 nop -_02026CB0: .word sub_02022610 + 1 +_02026CB0: .word FUN_02022610 + 1 - thumb_func_start sub_02026CB4 -sub_02026CB4: ; 0x02026CB4 + thumb_func_start FUN_02026CB4 +FUN_02026CB4: ; 0x02026CB4 push {r3, lr} mov r1, #0xc - bl sub_02022610 + bl FUN_02022610 add r0, #0x50 pop {r3, pc} - thumb_func_start sub_02026CC0 -sub_02026CC0: ; 0x02026CC0 + thumb_func_start FUN_02026CC0 +FUN_02026CC0: ; 0x02026CC0 add r0, #0x50 bx lr - thumb_func_start sub_02026CC4 -sub_02026CC4: ; 0x02026CC4 - ldr r3, _02026CCC ; =sub_02022610 + thumb_func_start FUN_02026CC4 +FUN_02026CC4: ; 0x02026CC4 + ldr r3, _02026CCC ; =FUN_02022610 mov r1, #0xc bx r3 nop -_02026CCC: .word sub_02022610 + 1 +_02026CCC: .word FUN_02022610 + 1 - thumb_func_start sub_02026CD0 -sub_02026CD0: ; 0x02026CD0 + thumb_func_start FUN_02026CD0 +FUN_02026CD0: ; 0x02026CD0 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -76268,27 +76268,27 @@ sub_02026CD0: ; 0x02026CD0 mov r1, #0x5 mov r2, #0x0 add r7, r3, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r5, #0x0 strh r0, [r5, #0x8] add r0, r4, #0x0 mov r1, #0x74 add r2, #0xa - bl sub_020671BC + bl FUN_020671BC mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x4] add r0, r4, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x33 strb r0, [r1, #0x0] @@ -76306,8 +76306,8 @@ sub_02026CD0: ; 0x02026CD0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02026D34 -sub_02026D34: ; 0x02026D34 + thumb_func_start FUN_02026D34 +FUN_02026D34: ; 0x02026D34 push {r3-r6, lr} sub sp, #0xc add r4, r2, #0x0 @@ -76316,29 +76316,29 @@ sub_02026D34: ; 0x02026D34 add r0, r4, #0x0 add r1, sp, #0x4 add r2, sp, #0x8 - bl sub_021DB858 + bl FUN_021DB858 add r0, r4, #0x0 - bl sub_021DB7E8 + bl FUN_021DB7E8 add r4, r0, #0x0 mov r0, #0x1 ldr r1, [sp, #0x4] lsl r0, r0, #0x8 cmp r1, r0 blt _02026D5E - bl sub_02020C2C + bl FUN_02020C2C _02026D5E: mov r0, #0x1 ldr r1, [sp, #0x8] lsl r0, r0, #0x8 cmp r1, r0 blt _02026D6C - bl sub_02020C2C + bl FUN_02020C2C _02026D6C: mov r0, #0x7f mvn r0, r0 cmp r4, r0 bgt _02026D78 - bl sub_02020C2C + bl FUN_02020C2C _02026D78: lsl r0, r4, #0x18 asr r0, r0, #0x18 @@ -76351,13 +76351,13 @@ _02026D78: add r1, r6, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_02026CD0 + bl FUN_02026CD0 add sp, #0xc pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02026D98 -sub_02026D98: ; 0x02026D98 + thumb_func_start FUN_02026D98 +FUN_02026D98: ; 0x02026D98 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 @@ -76365,13 +76365,13 @@ sub_02026D98: ; 0x02026D98 add r4, r2, #0x0 add r1, #0x20 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 add r5, #0x34 strb r4, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02026DB0 -sub_02026DB0: ; 0x02026DB0 + thumb_func_start FUN_02026DB0 +FUN_02026DB0: ; 0x02026DB0 strb r1, [r0, #0x0] ldr r1, _02026DC0 ; =0xFFFFFFF0 strb r2, [r0, #0x1] @@ -76383,15 +76383,15 @@ sub_02026DB0: ; 0x02026DB0 .balign 4 _02026DC0: .word 0xFFFFFFF0 - thumb_func_start sub_02026DC4 -sub_02026DC4: ; 0x02026DC4 + thumb_func_start FUN_02026DC4 +FUN_02026DC4: ; 0x02026DC4 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x3d blo _02026DD4 - bl sub_02020C2C + bl FUN_02020C2C _02026DD4: lsr r2, r4, #0x1f lsl r1, r4, #0x1d @@ -76420,14 +76420,14 @@ _02026DD4: str r1, [r5, r0] pop {r4-r6, pc} - thumb_func_start sub_02026E08 -sub_02026E08: ; 0x02026E08 + thumb_func_start FUN_02026E08 +FUN_02026E08: ; 0x02026E08 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3d blo _02026E16 - bl sub_02020C2C + bl FUN_02020C2C _02026E16: lsr r3, r4, #0x1f lsl r2, r4, #0x1d @@ -76456,15 +76456,15 @@ _02026E44: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02026E48 -sub_02026E48: ; 0x02026E48 + thumb_func_start FUN_02026E48 +FUN_02026E48: ; 0x02026E48 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x2 blo _02026E58 - bl sub_02020C2C + bl FUN_02020C2C _02026E58: lsr r2, r6, #0x1f lsl r1, r6, #0x1b @@ -76491,8 +76491,8 @@ _02026E58: str r1, [r5, r0] pop {r4-r6, pc} - thumb_func_start sub_02026E88 -sub_02026E88: ; 0x02026E88 + thumb_func_start FUN_02026E88 +FUN_02026E88: ; 0x02026E88 lsr r2, r1, #0x5 lsl r2, r2, #0x18 lsr r2, r2, #0x16 @@ -76514,15 +76514,15 @@ sub_02026E88: ; 0x02026E88 bx lr .balign 4 - thumb_func_start sub_02026EB0 -sub_02026EB0: ; 0x02026EB0 + thumb_func_start FUN_02026EB0 +FUN_02026EB0: ; 0x02026EB0 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x12 bls _02026EC0 - bl sub_02020C2C + bl FUN_02020C2C _02026EC0: lsr r2, r6, #0x1f lsl r1, r6, #0x1e @@ -76551,8 +76551,8 @@ _02026EC0: str r1, [r5, r0] pop {r4-r6, pc} - thumb_func_start sub_02026EF4 -sub_02026EF4: ; 0x02026EF4 + thumb_func_start FUN_02026EF4 +FUN_02026EF4: ; 0x02026EF4 lsr r2, r1, #0x2 lsl r2, r2, #0x18 lsr r2, r2, #0x16 @@ -76572,8 +76572,8 @@ sub_02026EF4: ; 0x02026EF4 lsr r0, r0, #0x18 bx lr - thumb_func_start sub_02026F18 -sub_02026F18: ; 0x02026F18 + thumb_func_start FUN_02026F18 +FUN_02026F18: ; 0x02026F18 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -76582,7 +76582,7 @@ _02026F20: lsl r1, r4, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 - bl sub_02026EF4 + bl FUN_02026EF4 cmp r0, #0x12 beq _02026F30 add r5, r5, #0x1 @@ -76594,13 +76594,13 @@ _02026F30: lsr r0, r0, #0x18 pop {r4-r6, pc} - thumb_func_start sub_02026F3C -sub_02026F3C: ; 0x02026F3C + thumb_func_start FUN_02026F3C +FUN_02026F3C: ; 0x02026F3C push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x2 add r4, r2, #0x0 - bl sub_02068E14 + bl FUN_02068E14 mov r1, #0x80 strb r1, [r5, #0x0] mov r1, #0x28 @@ -76614,8 +76614,8 @@ sub_02026F3C: ; 0x02026F3C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02026F60 -sub_02026F60: ; 0x02026F60 + thumb_func_start FUN_02026F60 +FUN_02026F60: ; 0x02026F60 push {r3-r7, lr} add r7, r0, #0x0 ldr r6, _02026FC8 ; =0x00001234 @@ -76625,7 +76625,7 @@ _02026F6A: add r0, r5, #0x0 mov r1, #0x0 mov r2, #0x74 - blx sub_020DF4A4 + blx FUN_020DF4A4 str r6, [r5, #0x0] add r4, r4, #0x1 add r5, #0x74 @@ -76639,7 +76639,7 @@ _02026F86: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x98 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r1, _02026FC8 ; =0x00001234 ldr r0, _02026FCC ; =0x000004FC add r6, r6, #0x1 @@ -76652,7 +76652,7 @@ _02026F86: mov r1, #0x0 add r0, r7, r0 mov r2, #0x40 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r5, _02026FD4 ; =0x0000081C mov r4, #0x0 mov r6, #0x12 @@ -76661,7 +76661,7 @@ _02026FB2: add r0, r7, r5 add r1, r6, #0x0 lsr r2, r2, #0x18 - bl sub_02026EB0 + bl FUN_02026EB0 add r4, r4, #0x1 cmp r4, #0x12 blt _02026FB2 @@ -76672,32 +76672,32 @@ _02026FCC: .word 0x000004FC _02026FD0: .word 0x000007F4 _02026FD4: .word 0x0000081C - thumb_func_start sub_02026FD8 -sub_02026FD8: ; 0x02026FD8 + thumb_func_start FUN_02026FD8 +FUN_02026FD8: ; 0x02026FD8 ldr r0, _02026FDC ; =0x00000834 bx lr .balign 4 _02026FDC: .word 0x00000834 - thumb_func_start sub_02026FE0 -sub_02026FE0: ; 0x02026FE0 + thumb_func_start FUN_02026FE0 +FUN_02026FE0: ; 0x02026FE0 mov r0, #0x74 bx lr - thumb_func_start sub_02026FE4 -sub_02026FE4: ; 0x02026FE4 + thumb_func_start FUN_02026FE4 +FUN_02026FE4: ; 0x02026FE4 mov r0, #0x98 bx lr - thumb_func_start sub_02026FE8 -sub_02026FE8: ; 0x02026FE8 + thumb_func_start FUN_02026FE8 +FUN_02026FE8: ; 0x02026FE8 push {r4, lr} mov r1, #0x98 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x98 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _02027004 ; =0x00001234 str r0, [r4, #0x0] add r0, r4, #0x0 @@ -76705,14 +76705,14 @@ sub_02026FE8: ; 0x02026FE8 nop _02027004: .word 0x00001234 - thumb_func_start sub_02027008 -sub_02027008: ; 0x02027008 + thumb_func_start FUN_02027008 +FUN_02027008: ; 0x02027008 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 cmp r6, #0xb blt _02027016 - bl sub_02020C2C + bl FUN_02020C2C _02027016: mov r0, #0x74 add r4, r6, #0x0 @@ -76732,7 +76732,7 @@ _0202702E: _02027030: cmp r0, #0x0 bne _02027038 - bl sub_02020C2C + bl FUN_02020C2C _02027038: add r0, r5, r4 pop {r4-r6, pc} @@ -76740,14 +76740,14 @@ _02027038: _0202703C: .word 0x00001234 _02027040: .word 0x00002345 - thumb_func_start sub_02027044 -sub_02027044: ; 0x02027044 + thumb_func_start FUN_02027044 +FUN_02027044: ; 0x02027044 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 cmp r6, #0x5 blt _02027052 - bl sub_02020C2C + bl FUN_02020C2C _02027052: mov r0, #0x98 add r4, r6, #0x0 @@ -76769,7 +76769,7 @@ _0202706E: _02027070: cmp r0, #0x0 bne _02027078 - bl sub_02020C2C + bl FUN_02020C2C _02027078: ldr r0, _02027080 ; =0x000004FC add r0, r5, r0 @@ -76780,56 +76780,56 @@ _02027080: .word 0x000004FC _02027084: .word 0x00001234 _02027088: .word 0x00002345 - thumb_func_start sub_0202708C -sub_0202708C: ; 0x0202708C + thumb_func_start FUN_0202708C +FUN_0202708C: ; 0x0202708C ldr r1, _02027094 ; =0x000007F4 add r0, r0, r1 bx lr nop _02027094: .word 0x000007F4 - thumb_func_start sub_02027098 -sub_02027098: ; 0x02027098 + thumb_func_start FUN_02027098 +FUN_02027098: ; 0x02027098 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xb blt _020270A6 - bl sub_02020C2C + bl FUN_02020C2C _020270A6: mov r0, #0x74 mul r0, r4 add r0, r5, r0 - bl sub_0202729C + bl FUN_0202729C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020270B4 -sub_020270B4: ; 0x020270B4 + thumb_func_start FUN_020270B4 +FUN_020270B4: ; 0x020270B4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x5 blt _020270C2 - bl sub_02020C2C + bl FUN_02020C2C _020270C2: ldr r0, _020270D4 ; =0x000004FC add r1, r5, r0 mov r0, #0x98 mul r0, r4 add r0, r1, r0 - bl sub_020276D8 + bl FUN_020276D8 pop {r3-r5, pc} nop _020270D4: .word 0x000004FC - thumb_func_start sub_020270D8 -sub_020270D8: ; 0x020270D8 + thumb_func_start FUN_020270D8 +FUN_020270D8: ; 0x020270D8 push {r4-r6, lr} add r6, r1, #0x0 add r5, r2, #0x0 mov r4, #0x1 - bl sub_02027114 + bl FUN_02027114 cmp r6, #0x3d bhs _020270F2 add r0, r0, r5 @@ -76847,10 +76847,10 @@ _020270FA: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02027100 -sub_02027100: ; 0x02027100 + thumb_func_start FUN_02027100 +FUN_02027100: ; 0x02027100 push {r3, lr} - bl sub_0202714C + bl FUN_0202714C cmp r0, #0x12 beq _0202710E mov r0, #0x1 @@ -76860,25 +76860,25 @@ _0202710E: pop {r3, pc} .balign 4 - thumb_func_start sub_02027114 -sub_02027114: ; 0x02027114 + thumb_func_start FUN_02027114 +FUN_02027114: ; 0x02027114 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x64 blo _02027122 - bl sub_02020C2C + bl FUN_02020C2C _02027122: cmp r5, #0x3d bhs _02027132 lsl r1, r5, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 - bl sub_02026E08 + bl FUN_02026E08 pop {r3-r5, pc} _02027132: bhs _02027138 - bl sub_02020C2C + bl FUN_02020C2C _02027138: sub r5, #0x3d lsl r0, r5, #0x18 @@ -76887,27 +76887,27 @@ _02027138: lsl r1, r1, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 - bl sub_02026E88 + bl FUN_02026E88 pop {r3-r5, pc} - thumb_func_start sub_0202714C -sub_0202714C: ; 0x0202714C + thumb_func_start FUN_0202714C +FUN_0202714C: ; 0x0202714C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x12 blo _0202715A - bl sub_02020C2C + bl FUN_02020C2C _0202715A: add r5, #0x28 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_02026EF4 + bl FUN_02026EF4 pop {r3-r5, pc} - thumb_func_start sub_02027168 -sub_02027168: ; 0x02027168 + thumb_func_start FUN_02027168 +FUN_02027168: ; 0x02027168 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -76915,7 +76915,7 @@ sub_02027168: ; 0x02027168 _02027170: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02027114 + bl FUN_02027114 add r4, r4, #0x1 add r5, r5, r0 cmp r4, #0x64 @@ -76923,8 +76923,8 @@ _02027170: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02027184 -sub_02027184: ; 0x02027184 + thumb_func_start FUN_02027184 +FUN_02027184: ; 0x02027184 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -76932,7 +76932,7 @@ sub_02027184: ; 0x02027184 _0202718C: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202714C + bl FUN_0202714C cmp r0, #0x12 beq _0202719A add r5, r5, #0x1 @@ -76943,22 +76943,22 @@ _0202719A: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020271A4 -sub_020271A4: ; 0x020271A4 + thumb_func_start FUN_020271A4 +FUN_020271A4: ; 0x020271A4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x64 blo _020271B4 - bl sub_02020C2C + bl FUN_02020C2C _020271B4: cmp r4, #0x3d bhs _020271DA lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_02026E08 + bl FUN_02026E08 add r0, r0, r6 lsl r0, r0, #0x18 lsr r1, r0, #0x18 @@ -76969,14 +76969,14 @@ _020271CE: lsl r2, r4, #0x18 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02026DC4 + bl FUN_02026DC4 pop {r4-r6, pc} _020271DA: add r0, r5, #0x0 lsl r1, r4, #0x18 add r0, #0x20 lsr r1, r1, #0x18 - bl sub_02026E88 + bl FUN_02026E88 add r0, r0, r6 lsl r0, r0, #0x18 lsr r6, r0, #0x18 @@ -76986,7 +76986,7 @@ _020271DA: _020271F2: cmp r4, #0x3d bhs _020271FA - bl sub_02020C2C + bl FUN_02020C2C _020271FA: sub r4, #0x3d lsl r0, r4, #0x18 @@ -76996,25 +76996,25 @@ _020271FA: add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 - bl sub_02026E48 + bl FUN_02026E48 pop {r4-r6, pc} - thumb_func_start sub_02027210 -sub_02027210: ; 0x02027210 + thumb_func_start FUN_02027210 +FUN_02027210: ; 0x02027210 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x64 blo _02027220 - bl sub_02020C2C + bl FUN_02020C2C _02027220: cmp r4, #0x3d bhs _02027248 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_02026E08 + bl FUN_02026E08 cmp r0, r6 bls _0202723A sub r0, r0, r6 @@ -77027,11 +77027,11 @@ _0202723C: lsl r2, r4, #0x18 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02026DC4 + bl FUN_02026DC4 pop {r4-r6, pc} _02027248: bhs _0202724E - bl sub_02020C2C + bl FUN_02020C2C _0202724E: sub r4, #0x3d lsl r0, r4, #0x18 @@ -77041,40 +77041,40 @@ _0202724E: add r0, r5, #0x0 mov r1, #0x0 lsr r2, r2, #0x18 - bl sub_02026E48 + bl FUN_02026E48 pop {r4-r6, pc} - thumb_func_start sub_02027264 -sub_02027264: ; 0x02027264 + thumb_func_start FUN_02027264 +FUN_02027264: ; 0x02027264 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x12 blo _02027272 - bl sub_02020C2C + bl FUN_02020C2C _02027272: add r0, r5, #0x0 lsl r1, r4, #0x18 add r0, #0x28 lsr r1, r1, #0x18 - bl sub_02026EF4 + bl FUN_02026EF4 cmp r0, #0x12 bne _02027298 add r0, r5, #0x0 add r0, #0x28 - bl sub_02026F18 + bl FUN_02026F18 lsl r2, r4, #0x18 add r5, #0x28 add r1, r0, #0x0 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02026EB0 + bl FUN_02026EB0 _02027298: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202729C -sub_0202729C: ; 0x0202729C + thumb_func_start FUN_0202729C +FUN_0202729C: ; 0x0202729C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77092,7 +77092,7 @@ _020272B2: _020272B4: cmp r0, #0x0 bne _020272BC - bl sub_02020C2C + bl FUN_02020C2C _020272BC: ldr r1, [r4, #0x0] ldr r0, _020272D0 ; =0x00002345 @@ -77107,8 +77107,8 @@ _020272C8: _020272CC: .word 0x00001234 _020272D0: .word 0x00002345 - thumb_func_start sub_020272D4 -sub_020272D4: ; 0x020272D4 + thumb_func_start FUN_020272D4 +FUN_020272D4: ; 0x020272D4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77126,7 +77126,7 @@ _020272EA: _020272EC: cmp r0, #0x0 bne _020272F4 - bl sub_02020C2C + bl FUN_02020C2C _020272F4: ldr r0, _02027308 ; =0x00002345 str r0, [r4, #0x0] @@ -77140,8 +77140,8 @@ _02027304: .word 0x00001234 _02027308: .word 0x00002345 _0202730C: .word 0x020ECAC4 - thumb_func_start sub_02027310 -sub_02027310: ; 0x02027310 + thumb_func_start FUN_02027310 +FUN_02027310: ; 0x02027310 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77159,12 +77159,12 @@ _02027326: _02027328: cmp r0, #0x0 bne _02027330 - bl sub_02020C2C + bl FUN_02020C2C _02027330: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x74 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _02027340 ; =0x00001234 str r0, [r4, #0x0] pop {r4, pc} @@ -77172,8 +77172,8 @@ _02027330: _02027340: .word 0x00001234 _02027344: .word 0x00002345 - thumb_func_start sub_02027348 -sub_02027348: ; 0x02027348 + thumb_func_start FUN_02027348 +FUN_02027348: ; 0x02027348 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77193,26 +77193,26 @@ _02027362: _02027364: cmp r0, #0x0 bne _0202736C - bl sub_02020C2C + bl FUN_02020C2C _0202736C: add r0, r5, #0x4 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02026D34 + bl FUN_02026D34 pop {r4-r6, pc} .balign 4 _02027378: .word 0x00001234 _0202737C: .word 0x00002345 - thumb_func_start sub_02027380 -sub_02027380: ; 0x02027380 + thumb_func_start FUN_02027380 +FUN_02027380: ; 0x02027380 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x4] add r6, r2, #0x0 - bl sub_02013ECC + bl FUN_02013ECC add r1, sp, #0xc strh r0, [r1, #0x0] lsr r0, r0, #0x10 @@ -77222,11 +77222,11 @@ sub_02027380: ; 0x02027380 ldrh r0, [r1, #0x2] strh r0, [r1, #0x6] ldr r0, [r4, #0x4] - bl sub_02013F00 + bl FUN_02013F00 str r0, [sp, #0x8] cmp r6, #0xa blt _020273B0 - bl sub_02020C2C + bl FUN_02020C2C _020273B0: add r1, sp, #0xc mov r0, #0x4 @@ -77234,7 +77234,7 @@ _020273B0: add r0, #0xfc cmp r1, r0 blt _020273C0 - bl sub_02020C2C + bl FUN_02020C2C _020273C0: add r1, sp, #0xc mov r0, #0x6 @@ -77242,14 +77242,14 @@ _020273C0: add r0, #0xfa cmp r7, r0 blt _020273D0 - bl sub_02020C2C + bl FUN_02020C2C _020273D0: mov r1, #0x7f ldr r0, [sp, #0x8] mvn r1, r1 cmp r0, r1 bgt _020273DE - bl sub_02020C2C + bl FUN_02020C2C _020273DE: mov r0, #0x1 lsl r0, r6 @@ -77257,7 +77257,7 @@ _020273DE: str r0, [sp, #0x4] tst r0, r1 beq _020273EE - bl sub_02020C2C + bl FUN_02020C2C _020273EE: ldr r1, [r5, #0x0] ldr r0, _02027440 ; =0x00001234 @@ -77274,7 +77274,7 @@ _02027400: _02027402: cmp r0, #0x0 bne _0202740A - bl sub_02020C2C + bl FUN_02020C2C _0202740A: ldr r0, [sp, #0x8] add r1, r5, #0x0 @@ -77294,7 +77294,7 @@ _0202740A: lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_02026DB0 + bl FUN_02026DB0 ldr r1, [r5, #0x3c] ldr r0, [sp, #0x4] orr r0, r1 @@ -77305,8 +77305,8 @@ _0202740A: _02027440: .word 0x00001234 _02027444: .word 0x00002345 - thumb_func_start sub_02027448 -sub_02027448: ; 0x02027448 + thumb_func_start FUN_02027448 +FUN_02027448: ; 0x02027448 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77325,7 +77325,7 @@ _02027460: _02027462: cmp r0, #0x0 bne _0202746A - bl sub_02020C2C + bl FUN_02020C2C _0202746A: add r5, #0x70 strb r4, [r5, #0x0] @@ -77334,8 +77334,8 @@ _0202746A: _02027470: .word 0x00001234 _02027474: .word 0x00002345 - thumb_func_start sub_02027478 -sub_02027478: ; 0x02027478 + thumb_func_start FUN_02027478 +FUN_02027478: ; 0x02027478 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77354,23 +77354,23 @@ _02027490: _02027492: cmp r0, #0x0 bne _0202749A - bl sub_02020C2C + bl FUN_02020C2C _0202749A: add r0, r5, #0x0 add r0, #0x40 - bl sub_02013724 + bl FUN_02013724 add r5, #0x40 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02013998 + bl FUN_02013998 pop {r3-r5, pc} .balign 4 _020274B0: .word 0x00001234 _020274B4: .word 0x00002345 - thumb_func_start sub_020274B8 -sub_020274B8: ; 0x020274B8 + thumb_func_start FUN_020274B8 +FUN_020274B8: ; 0x020274B8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77389,19 +77389,19 @@ _020274D0: _020274D2: cmp r0, #0x0 bne _020274DA - bl sub_02020C2C + bl FUN_02020C2C _020274DA: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x74 - blx sub_020DF438 + blx FUN_020DF438 pop {r3-r5, pc} nop _020274E8: .word 0x00001234 _020274EC: .word 0x00002345 - thumb_func_start sub_020274F0 -sub_020274F0: ; 0x020274F0 + thumb_func_start FUN_020274F0 +FUN_020274F0: ; 0x020274F0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77421,25 +77421,25 @@ _0202750A: _0202750C: cmp r0, #0x0 bne _02027514 - bl sub_02020C2C + bl FUN_02020C2C _02027514: add r0, r5, #0x4 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02026D98 + bl FUN_02026D98 pop {r4-r6, pc} .balign 4 _02027520: .word 0x00001234 _02027524: .word 0x00002345 - thumb_func_start sub_02027528 -sub_02027528: ; 0x02027528 + thumb_func_start FUN_02027528 +FUN_02027528: ; 0x02027528 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xa blt _02027536 - bl sub_02020C2C + bl FUN_02020C2C _02027536: ldr r1, [r5, #0x0] ldr r0, _0202755C ; =0x00001234 @@ -77456,7 +77456,7 @@ _02027548: _0202754A: cmp r0, #0x0 bne _02027552 - bl sub_02020C2C + bl FUN_02020C2C _02027552: mov r0, #0x1 ldr r1, [r5, #0x3c] @@ -77467,8 +77467,8 @@ _02027552: _0202755C: .word 0x00001234 _02027560: .word 0x00002345 - thumb_func_start sub_02027564 -sub_02027564: ; 0x02027564 + thumb_func_start FUN_02027564 +FUN_02027564: ; 0x02027564 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77486,7 +77486,7 @@ _0202757A: _0202757C: cmp r0, #0x0 bne _02027584 - bl sub_02020C2C + bl FUN_02020C2C _02027584: add r0, r4, #0x4 pop {r4, pc} @@ -77494,21 +77494,21 @@ _02027584: _02027588: .word 0x00001234 _0202758C: .word 0x00002345 - thumb_func_start sub_02027590 -sub_02027590: ; 0x02027590 + thumb_func_start FUN_02027590 +FUN_02027590: ; 0x02027590 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xa blt _0202759E - bl sub_02020C2C + bl FUN_02020C2C _0202759E: mov r0, #0x1 ldr r1, [r5, #0x3c] lsl r0, r4 tst r0, r1 bne _020275AC - bl sub_02020C2C + bl FUN_02020C2C _020275AC: ldr r1, [r5, #0x0] ldr r0, _020275D0 ; =0x00001234 @@ -77525,7 +77525,7 @@ _020275BE: _020275C0: cmp r0, #0x0 bne _020275C8 - bl sub_02020C2C + bl FUN_02020C2C _020275C8: add r5, #0x48 lsl r0, r4, #0x2 @@ -77535,8 +77535,8 @@ _020275C8: _020275D0: .word 0x00001234 _020275D4: .word 0x00002345 - thumb_func_start sub_020275D8 -sub_020275D8: ; 0x020275D8 + thumb_func_start FUN_020275D8 +FUN_020275D8: ; 0x020275D8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77554,17 +77554,17 @@ _020275EE: _020275F0: cmp r0, #0x0 bne _020275F8 - bl sub_02020C2C + bl FUN_02020C2C _020275F8: add r0, r4, #0x4 - bl sub_02027C84 + bl FUN_02027C84 pop {r4, pc} .balign 4 _02027600: .word 0x00001234 _02027604: .word 0x00002345 - thumb_func_start sub_02027608 -sub_02027608: ; 0x02027608 + thumb_func_start FUN_02027608 +FUN_02027608: ; 0x02027608 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77583,18 +77583,18 @@ _02027620: _02027622: cmp r0, #0x0 bne _0202762A - bl sub_02020C2C + bl FUN_02020C2C _0202762A: add r0, r5, #0x4 add r1, r4, #0x0 - bl sub_02027C88 + bl FUN_02027C88 pop {r3-r5, pc} .balign 4 _02027634: .word 0x00001234 _02027638: .word 0x00002345 - thumb_func_start sub_0202763C -sub_0202763C: ; 0x0202763C + thumb_func_start FUN_0202763C +FUN_0202763C: ; 0x0202763C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77612,17 +77612,17 @@ _02027652: _02027654: cmp r0, #0x0 bne _0202765C - bl sub_02020C2C + bl FUN_02020C2C _0202765C: add r0, r4, #0x4 - bl sub_02027C98 + bl FUN_02027C98 pop {r4, pc} .balign 4 _02027664: .word 0x00001234 _02027668: .word 0x00002345 - thumb_func_start sub_0202766C -sub_0202766C: ; 0x0202766C + thumb_func_start FUN_0202766C +FUN_0202766C: ; 0x0202766C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77640,7 +77640,7 @@ _02027682: _02027684: cmp r0, #0x0 bne _0202768C - bl sub_02020C2C + bl FUN_02020C2C _0202768C: add r4, #0x70 ldrb r0, [r4, #0x0] @@ -77649,17 +77649,17 @@ _0202768C: _02027694: .word 0x00001234 _02027698: .word 0x00002345 - thumb_func_start sub_0202769C -sub_0202769C: ; 0x0202769C - ldr r3, _020276A4 ; =sub_02013918 + thumb_func_start FUN_0202769C +FUN_0202769C: ; 0x0202769C + ldr r3, _020276A4 ; =FUN_02013918 add r0, #0x40 mov r1, #0x0 bx r3 .balign 4 -_020276A4: .word sub_02013918 + 1 +_020276A4: .word FUN_02013918 + 1 - thumb_func_start sub_020276A8 -sub_020276A8: ; 0x020276A8 + thumb_func_start FUN_020276A8 +FUN_020276A8: ; 0x020276A8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77677,7 +77677,7 @@ _020276BE: _020276C0: cmp r0, #0x0 bne _020276C8 - bl sub_02020C2C + bl FUN_02020C2C _020276C8: add r4, #0x71 ldrb r0, [r4, #0x0] @@ -77686,8 +77686,8 @@ _020276C8: _020276D0: .word 0x00001234 _020276D4: .word 0x00002345 - thumb_func_start sub_020276D8 -sub_020276D8: ; 0x020276D8 + thumb_func_start FUN_020276D8 +FUN_020276D8: ; 0x020276D8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77705,7 +77705,7 @@ _020276EE: _020276F0: cmp r0, #0x0 bne _020276F8 - bl sub_02020C2C + bl FUN_02020C2C _020276F8: ldr r1, [r4, #0x0] ldr r0, _0202770C ; =0x00002345 @@ -77720,8 +77720,8 @@ _02027704: _02027708: .word 0x00001234 _0202770C: .word 0x00002345 - thumb_func_start sub_02027710 -sub_02027710: ; 0x02027710 + thumb_func_start FUN_02027710 +FUN_02027710: ; 0x02027710 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77739,7 +77739,7 @@ _02027726: _02027728: cmp r0, #0x0 bne _02027730 - bl sub_02020C2C + bl FUN_02020C2C _02027730: ldr r0, _0202773C ; =0x00002345 str r0, [r4, #0x0] @@ -77748,8 +77748,8 @@ _02027730: _02027738: .word 0x00001234 _0202773C: .word 0x00002345 - thumb_func_start sub_02027740 -sub_02027740: ; 0x02027740 + thumb_func_start FUN_02027740 +FUN_02027740: ; 0x02027740 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -77767,12 +77767,12 @@ _02027756: _02027758: cmp r0, #0x0 bne _02027760 - bl sub_02020C2C + bl FUN_02020C2C _02027760: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x98 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _02027770 ; =0x00001234 str r0, [r4, #0x0] pop {r4, pc} @@ -77780,8 +77780,8 @@ _02027760: _02027770: .word 0x00001234 _02027774: .word 0x00002345 - thumb_func_start sub_02027778 -sub_02027778: ; 0x02027778 + thumb_func_start FUN_02027778 +FUN_02027778: ; 0x02027778 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77801,27 +77801,27 @@ _02027792: _02027794: cmp r0, #0x0 bne _0202779C - bl sub_02020C2C + bl FUN_02020C2C _0202779C: add r5, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02026D34 + bl FUN_02026D34 pop {r4-r6, pc} nop _020277AC: .word 0x00001234 _020277B0: .word 0x00002345 - thumb_func_start sub_020277B4 -sub_020277B4: ; 0x020277B4 + thumb_func_start FUN_020277B4 +FUN_020277B4: ; 0x020277B4 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x4] add r6, r2, #0x0 - bl sub_02013ECC + bl FUN_02013ECC add r1, sp, #0xc strh r0, [r1, #0x0] lsr r0, r0, #0x10 @@ -77831,11 +77831,11 @@ sub_020277B4: ; 0x020277B4 ldrh r0, [r1, #0x2] strh r0, [r1, #0x6] ldr r0, [r4, #0x4] - bl sub_02013F00 + bl FUN_02013F00 str r0, [sp, #0x8] cmp r6, #0x14 blt _020277E4 - bl sub_02020C2C + bl FUN_02020C2C _020277E4: add r1, sp, #0xc mov r0, #0x4 @@ -77843,7 +77843,7 @@ _020277E4: add r0, #0xfc cmp r1, r0 blt _020277F4 - bl sub_02020C2C + bl FUN_02020C2C _020277F4: add r1, sp, #0xc mov r0, #0x6 @@ -77851,14 +77851,14 @@ _020277F4: add r0, #0xfa cmp r7, r0 blt _02027804 - bl sub_02020C2C + bl FUN_02020C2C _02027804: mov r1, #0x7f ldr r0, [sp, #0x8] mvn r1, r1 cmp r0, r1 bgt _02027812 - bl sub_02020C2C + bl FUN_02020C2C _02027812: mov r0, #0x1 lsl r0, r6 @@ -77866,7 +77866,7 @@ _02027812: str r0, [sp, #0x4] tst r0, r1 beq _02027822 - bl sub_02020C2C + bl FUN_02020C2C _02027822: ldr r1, [r5, #0x0] ldr r0, _02027874 ; =0x00001234 @@ -77883,7 +77883,7 @@ _02027834: _02027836: cmp r0, #0x0 bne _0202783E - bl sub_02020C2C + bl FUN_02020C2C _0202783E: ldr r0, [sp, #0x8] add r1, r5, #0x0 @@ -77903,7 +77903,7 @@ _0202783E: lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_02026DB0 + bl FUN_02026DB0 ldr r1, [r5, #0x40] ldr r0, [sp, #0x4] orr r0, r1 @@ -77914,8 +77914,8 @@ _0202783E: _02027874: .word 0x00001234 _02027878: .word 0x00002345 - thumb_func_start sub_0202787C -sub_0202787C: ; 0x0202787C + thumb_func_start FUN_0202787C +FUN_0202787C: ; 0x0202787C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77934,7 +77934,7 @@ _02027894: _02027896: cmp r0, #0x0 bne _0202789E - bl sub_02020C2C + bl FUN_02020C2C _0202789E: add r5, #0x94 strb r4, [r5, #0x0] @@ -77943,8 +77943,8 @@ _0202789E: _020278A4: .word 0x00001234 _020278A8: .word 0x00002345 - thumb_func_start sub_020278AC -sub_020278AC: ; 0x020278AC + thumb_func_start FUN_020278AC +FUN_020278AC: ; 0x020278AC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77963,7 +77963,7 @@ _020278C4: _020278C6: cmp r0, #0x0 bne _020278CE - bl sub_02020C2C + bl FUN_02020C2C _020278CE: str r4, [r5, #0x4] pop {r3-r5, pc} @@ -77971,8 +77971,8 @@ _020278CE: _020278D4: .word 0x00001234 _020278D8: .word 0x00002345 - thumb_func_start sub_020278DC -sub_020278DC: ; 0x020278DC + thumb_func_start FUN_020278DC +FUN_020278DC: ; 0x020278DC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -77991,19 +77991,19 @@ _020278F4: _020278F6: cmp r0, #0x0 bne _020278FE - bl sub_02020C2C + bl FUN_02020C2C _020278FE: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x98 - blx sub_020DF438 + blx FUN_020DF438 pop {r3-r5, pc} nop _0202790C: .word 0x00001234 _02027910: .word 0x00002345 - thumb_func_start sub_02027914 -sub_02027914: ; 0x02027914 + thumb_func_start FUN_02027914 +FUN_02027914: ; 0x02027914 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -78024,13 +78024,13 @@ _02027930: _02027932: cmp r0, #0x0 bne _0202793A - bl sub_02020C2C + bl FUN_02020C2C _0202793A: add r1, sp, #0x4 add r0, r4, #0x0 add r1, #0x1 add r2, sp, #0x4 - bl sub_02026F3C + bl FUN_02026F3C add r5, #0x8 str r6, [sp, #0x0] add r3, sp, #0x4 @@ -78038,15 +78038,15 @@ _0202793A: ldrb r3, [r3, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02026CD0 + bl FUN_02026CD0 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0202795C: .word 0x00001234 _02027960: .word 0x00002345 - thumb_func_start sub_02027964 -sub_02027964: ; 0x02027964 + thumb_func_start FUN_02027964 +FUN_02027964: ; 0x02027964 push {r4-r7, lr} sub sp, #0xc str r3, [sp, #0x4] @@ -78056,18 +78056,18 @@ sub_02027964: ; 0x02027964 ldr r4, [sp, #0x24] cmp r6, #0x14 blo _0202797A - bl sub_02020C2C + bl FUN_02020C2C _0202797A: cmp r7, #0x64 blo _02027982 - bl sub_02020C2C + bl FUN_02020C2C _02027982: mov r1, #0x1 ldr r0, [sp, #0x4] lsl r1, r1, #0x8 cmp r0, r1 blt _02027990 - bl sub_02020C2C + bl FUN_02020C2C _02027990: add r0, sp, #0x10 ldrb r1, [r0, #0x10] @@ -78075,13 +78075,13 @@ _02027990: lsl r0, r0, #0x8 cmp r1, r0 blt _020279A0 - bl sub_02020C2C + bl FUN_02020C2C _020279A0: mov r0, #0x7f mvn r0, r0 cmp r4, r0 bgt _020279AC - bl sub_02020C2C + bl FUN_02020C2C _020279AC: mov r0, #0x1 lsl r0, r6 @@ -78089,7 +78089,7 @@ _020279AC: str r0, [sp, #0x8] tst r0, r1 beq _020279BC - bl sub_02020C2C + bl FUN_02020C2C _020279BC: ldr r1, [r5, #0x0] ldr r0, _02027A0C ; =0x00001234 @@ -78106,7 +78106,7 @@ _020279CE: _020279D0: cmp r0, #0x0 bne _020279D8 - bl sub_02020C2C + bl FUN_02020C2C _020279D8: mov r0, #0x38 ldrsb r0, [r5, r0] @@ -78127,7 +78127,7 @@ _020279E6: add r0, r1, r0 ldr r2, [sp, #0x4] add r1, r7, #0x0 - bl sub_02026DB0 + bl FUN_02026DB0 ldr r1, [r5, #0x40] ldr r0, [sp, #0x8] orr r0, r1 @@ -78138,14 +78138,14 @@ _020279E6: _02027A0C: .word 0x00001234 _02027A10: .word 0x00002345 - thumb_func_start sub_02027A14 -sub_02027A14: ; 0x02027A14 + thumb_func_start FUN_02027A14 +FUN_02027A14: ; 0x02027A14 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x14 blt _02027A22 - bl sub_02020C2C + bl FUN_02020C2C _02027A22: ldr r1, [r5, #0x0] ldr r0, _02027A50 ; =0x00001234 @@ -78162,7 +78162,7 @@ _02027A34: _02027A36: cmp r0, #0x0 bne _02027A3E - bl sub_02020C2C + bl FUN_02020C2C _02027A3E: mov r0, #0x1 add r1, r0, #0x0 @@ -78177,8 +78177,8 @@ _02027A4C: _02027A50: .word 0x00001234 _02027A54: .word 0x00002345 - thumb_func_start sub_02027A58 -sub_02027A58: ; 0x02027A58 + thumb_func_start FUN_02027A58 +FUN_02027A58: ; 0x02027A58 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -78198,20 +78198,20 @@ _02027A72: _02027A74: cmp r0, #0x0 bne _02027A7C - bl sub_02020C2C + bl FUN_02020C2C _02027A7C: add r5, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02026D98 + bl FUN_02026D98 pop {r4-r6, pc} nop _02027A8C: .word 0x00001234 _02027A90: .word 0x00002345 - thumb_func_start sub_02027A94 -sub_02027A94: ; 0x02027A94 + thumb_func_start FUN_02027A94 +FUN_02027A94: ; 0x02027A94 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -78229,7 +78229,7 @@ _02027AAA: _02027AAC: cmp r0, #0x0 bne _02027AB4 - bl sub_02020C2C + bl FUN_02020C2C _02027AB4: add r4, #0x8 add r0, r4, #0x0 @@ -78238,21 +78238,21 @@ _02027AB4: _02027ABC: .word 0x00001234 _02027AC0: .word 0x00002345 - thumb_func_start sub_02027AC4 -sub_02027AC4: ; 0x02027AC4 + thumb_func_start FUN_02027AC4 +FUN_02027AC4: ; 0x02027AC4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x14 blt _02027AD2 - bl sub_02020C2C + bl FUN_02020C2C _02027AD2: mov r0, #0x1 ldr r1, [r5, #0x40] lsl r0, r4 tst r0, r1 bne _02027AE0 - bl sub_02020C2C + bl FUN_02020C2C _02027AE0: ldr r1, [r5, #0x0] ldr r0, _02027B04 ; =0x00001234 @@ -78269,7 +78269,7 @@ _02027AF2: _02027AF4: cmp r0, #0x0 bne _02027AFC - bl sub_02020C2C + bl FUN_02020C2C _02027AFC: add r5, #0x44 lsl r0, r4, #0x2 @@ -78279,8 +78279,8 @@ _02027AFC: _02027B04: .word 0x00001234 _02027B08: .word 0x00002345 - thumb_func_start sub_02027B0C -sub_02027B0C: ; 0x02027B0C + thumb_func_start FUN_02027B0C +FUN_02027B0C: ; 0x02027B0C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -78299,19 +78299,19 @@ _02027B24: _02027B26: cmp r0, #0x0 bne _02027B2E - bl sub_02020C2C + bl FUN_02020C2C _02027B2E: add r5, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02027C88 + bl FUN_02027C88 pop {r3-r5, pc} nop _02027B3C: .word 0x00001234 _02027B40: .word 0x00002345 - thumb_func_start sub_02027B44 -sub_02027B44: ; 0x02027B44 + thumb_func_start FUN_02027B44 +FUN_02027B44: ; 0x02027B44 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -78329,18 +78329,18 @@ _02027B5A: _02027B5C: cmp r0, #0x0 bne _02027B64 - bl sub_02020C2C + bl FUN_02020C2C _02027B64: add r4, #0x8 add r0, r4, #0x0 - bl sub_02027C98 + bl FUN_02027C98 pop {r4, pc} nop _02027B70: .word 0x00001234 _02027B74: .word 0x00002345 - thumb_func_start sub_02027B78 -sub_02027B78: ; 0x02027B78 + thumb_func_start FUN_02027B78 +FUN_02027B78: ; 0x02027B78 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -78360,7 +78360,7 @@ _02027B92: _02027B94: cmp r0, #0x0 bne _02027B9C - bl sub_02020C2C + bl FUN_02020C2C _02027B9C: mov r1, #0x1 str r1, [sp, #0x0] @@ -78373,38 +78373,38 @@ _02027B9C: str r0, [sp, #0xc] ldrh r1, [r5, #0x10] add r0, r4, #0x0 - bl sub_02066ACC + bl FUN_02066ACC add r2, r5, #0x0 add r0, r4, #0x0 mov r1, #0x74 add r2, #0x12 - bl sub_02067830 + bl FUN_02067830 add r5, #0x3b add r0, r4, #0x0 mov r1, #0x70 add r2, r5, #0x0 - bl sub_02067830 + bl FUN_02067830 add sp, #0x10 pop {r3-r5, pc} nop _02027BD4: .word 0x00001234 _02027BD8: .word 0x00002345 - thumb_func_start sub_02027BDC -sub_02027BDC: ; 0x02027BDC + thumb_func_start FUN_02027BDC +FUN_02027BDC: ; 0x02027BDC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x14 blt _02027BEA - bl sub_02020C2C + bl FUN_02020C2C _02027BEA: mov r0, #0x1 ldr r1, [r5, #0x40] lsl r0, r4 tst r0, r1 bne _02027BF8 - bl sub_02020C2C + bl FUN_02020C2C _02027BF8: ldr r1, [r5, #0x0] ldr r0, _02027C20 ; =0x00001234 @@ -78421,19 +78421,19 @@ _02027C0A: _02027C0C: cmp r0, #0x0 bne _02027C14 - bl sub_02020C2C + bl FUN_02020C2C _02027C14: add r5, #0x44 lsl r0, r4, #0x2 add r0, r5, r0 - bl sub_02027CF8 + bl FUN_02027CF8 pop {r3-r5, pc} .balign 4 _02027C20: .word 0x00001234 _02027C24: .word 0x00002345 - thumb_func_start sub_02027C28 -sub_02027C28: ; 0x02027C28 + thumb_func_start FUN_02027C28 +FUN_02027C28: ; 0x02027C28 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -78451,7 +78451,7 @@ _02027C3E: _02027C40: cmp r0, #0x0 bne _02027C48 - bl sub_02020C2C + bl FUN_02020C2C _02027C48: add r4, #0x94 ldrb r0, [r4, #0x0] @@ -78460,8 +78460,8 @@ _02027C48: _02027C50: .word 0x00001234 _02027C54: .word 0x00002345 - thumb_func_start sub_02027C58 -sub_02027C58: ; 0x02027C58 + thumb_func_start FUN_02027C58 +FUN_02027C58: ; 0x02027C58 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] @@ -78479,7 +78479,7 @@ _02027C6E: _02027C70: cmp r0, #0x0 bne _02027C78 - bl sub_02020C2C + bl FUN_02020C2C _02027C78: ldr r0, [r4, #0x4] pop {r4, pc} @@ -78487,52 +78487,52 @@ _02027C78: _02027C7C: .word 0x00001234 _02027C80: .word 0x00002345 - thumb_func_start sub_02027C84 -sub_02027C84: ; 0x02027C84 + thumb_func_start FUN_02027C84 +FUN_02027C84: ; 0x02027C84 ldrh r0, [r0, #0x8] bx lr - thumb_func_start sub_02027C88 -sub_02027C88: ; 0x02027C88 + thumb_func_start FUN_02027C88 +FUN_02027C88: ; 0x02027C88 add r2, r0, #0x0 - ldr r3, _02027C94 ; =sub_02021E28 + ldr r3, _02027C94 ; =FUN_02021E28 add r2, #0x20 add r0, r1, #0x0 add r1, r2, #0x0 bx r3 .balign 4 -_02027C94: .word sub_02021E28 + 1 +_02027C94: .word FUN_02021E28 + 1 - thumb_func_start sub_02027C98 -sub_02027C98: ; 0x02027C98 + thumb_func_start FUN_02027C98 +FUN_02027C98: ; 0x02027C98 add r0, #0x34 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02027CA0 -sub_02027CA0: ; 0x02027CA0 + thumb_func_start FUN_02027CA0 +FUN_02027CA0: ; 0x02027CA0 mov r1, #0x30 ldrsb r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_02027CA8 -sub_02027CA8: ; 0x02027CA8 + thumb_func_start FUN_02027CA8 +FUN_02027CA8: ; 0x02027CA8 add r0, #0x31 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02027CB0 -sub_02027CB0: ; 0x02027CB0 + thumb_func_start FUN_02027CB0 +FUN_02027CB0: ; 0x02027CB0 add r0, #0x32 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02027CB8 -sub_02027CB8: ; 0x02027CB8 + thumb_func_start FUN_02027CB8 +FUN_02027CB8: ; 0x02027CB8 push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -78548,45 +78548,45 @@ sub_02027CB8: ; 0x02027CB8 str r0, [sp, #0xc] ldrh r1, [r5, #0x8] add r0, r4, #0x0 - bl sub_02066ACC + bl FUN_02066ACC add r2, r5, #0x0 add r0, r4, #0x0 mov r1, #0x74 add r2, #0xa - bl sub_02067830 + bl FUN_02067830 add r5, #0x33 add r0, r4, #0x0 mov r1, #0x70 add r2, r5, #0x0 - bl sub_02067830 + bl FUN_02067830 add sp, #0x10 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02027CF8 -sub_02027CF8: ; 0x02027CF8 + thumb_func_start FUN_02027CF8 +FUN_02027CF8: ; 0x02027CF8 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02027CFC -sub_02027CFC: ; 0x02027CFC + thumb_func_start FUN_02027CFC +FUN_02027CFC: ; 0x02027CFC ldrb r0, [r0, #0x1] bx lr - thumb_func_start sub_02027D00 -sub_02027D00: ; 0x02027D00 + thumb_func_start FUN_02027D00 +FUN_02027D00: ; 0x02027D00 ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_02027D04 -sub_02027D04: ; 0x02027D04 + thumb_func_start FUN_02027D04 +FUN_02027D04: ; 0x02027D04 mov r1, #0x3 ldrsb r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_02027D0C -sub_02027D0C: ; 0x02027D0C + thumb_func_start FUN_02027D0C +FUN_02027D0C: ; 0x02027D0C push {r4-r7, lr} sub sp, #0x1fc sub sp, #0x1fc @@ -78596,30 +78596,30 @@ sub_02027D0C: ; 0x02027D0C add r4, r1, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_0202729C + bl FUN_0202729C cmp r0, #0x1 bne _02027D6A ldr r1, _02027D78 ; =0xEDB88320 add r0, sp, #0x4 - blx sub_020DDE44 + blx FUN_020DDE44 add r0, sp, #0x4 add r1, r4, #0x0 mov r2, #0x74 - blx sub_020DDD28 + blx FUN_020DDD28 add r6, r0, #0x0 mov r5, #0x0 _02027D3C: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_02027008 + bl FUN_02027008 add r4, r0, #0x0 ldr r1, _02027D78 ; =0xEDB88320 add r0, sp, #0x4 - blx sub_020DDE44 + blx FUN_020DDE44 add r0, sp, #0x4 add r1, r4, #0x0 mov r2, #0x74 - blx sub_020DDD28 + blx FUN_020DDD28 cmp r0, r6 bne _02027D62 mov r0, #0x0 @@ -78642,8 +78642,8 @@ _02027D6E: .balign 4 _02027D78: .word 0xEDB88320 - thumb_func_start sub_02027D7C -sub_02027D7C: ; 0x02027D7C + thumb_func_start FUN_02027D7C +FUN_02027D7C: ; 0x02027D7C push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -78664,7 +78664,7 @@ _02027D94: cmp r1, #0x0 beq _02027DAC add r0, r5, #0x0 - bl sub_02027D0C + bl FUN_02027D0C cmp r0, #0x1 bne _02027DAC add r7, r7, #0x1 @@ -78681,14 +78681,14 @@ _02027DB8: cmp r1, #0xb bge _02027DD6 add r0, r5, #0x0 - bl sub_02027008 + bl FUN_02027008 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02027008 + bl FUN_02027008 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_020274B8 + bl FUN_020274B8 _02027DD6: sub r4, r4, #0x1 cmp r4, #0x1 @@ -78708,15 +78708,15 @@ _02027DE6: beq _02027E10 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02027D0C + bl FUN_02027D0C cmp r0, #0x1 bne _02027E10 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02027008 + bl FUN_02027008 add r1, r7, #0x0 add r6, r6, #0x1 - bl sub_020274B8 + bl FUN_020274B8 _02027E10: ldr r0, [sp, #0x8] add r4, r4, #0x1 @@ -78730,21 +78730,21 @@ _02027E1E: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02027E24 -sub_02027E24: ; 0x02027E24 - ldr r3, _02027E2C ; =sub_02022610 + thumb_func_start FUN_02027E24 +FUN_02027E24: ; 0x02027E24 + ldr r3, _02027E2C ; =FUN_02022610 mov r1, #0xe bx r3 nop -_02027E2C: .word sub_02022610 + 1 +_02027E2C: .word FUN_02022610 + 1 - thumb_func_start sub_02027E30 -sub_02027E30: ; 0x02027E30 + thumb_func_start FUN_02027E30 +FUN_02027E30: ; 0x02027E30 mov r0, #0x8 bx lr - thumb_func_start sub_02027E34 -sub_02027E34: ; 0x02027E34 + thumb_func_start FUN_02027E34 +FUN_02027E34: ; 0x02027E34 ldrb r0, [r0, #0x0] cmp r0, #0x1e beq _02027E3E @@ -78755,8 +78755,8 @@ _02027E3E: bx lr .balign 4 - thumb_func_start sub_02027E44 -sub_02027E44: ; 0x02027E44 + thumb_func_start FUN_02027E44 +FUN_02027E44: ; 0x02027E44 mov r1, #0x1e strb r1, [r0, #0x0] mov r1, #0x0 @@ -78770,19 +78770,19 @@ sub_02027E44: ; 0x02027E44 bx lr .balign 4 - thumb_func_start sub_02027E5C -sub_02027E5C: ; 0x02027E5C + thumb_func_start FUN_02027E5C +FUN_02027E5C: ; 0x02027E5C push {r4, lr} mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 - bl sub_02027E44 + bl FUN_02027E44 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02027E70 -sub_02027E70: ; 0x02027E70 + thumb_func_start FUN_02027E70 +FUN_02027E70: ; 0x02027E70 ldrb r2, [r0, #0x0] strb r2, [r1, #0x0] ldrb r2, [r0, #0x1] @@ -78802,8 +78802,8 @@ sub_02027E70: ; 0x02027E70 bx lr .balign 4 - thumb_func_start sub_02027E94 -sub_02027E94: ; 0x02027E94 + thumb_func_start FUN_02027E94 +FUN_02027E94: ; 0x02027E94 cmp r1, #0x6 bhi _02027ECA add r1, r1, r1 @@ -78829,8 +78829,8 @@ _02027ECA: bx lr .balign 4 - thumb_func_start sub_02027ED0 -sub_02027ED0: ; 0x02027ED0 + thumb_func_start FUN_02027ED0 +FUN_02027ED0: ; 0x02027ED0 push {r3-r7, lr} add r5, r0, #0x0 str r1, [sp, #0x0] @@ -78838,9 +78838,9 @@ sub_02027ED0: ; 0x02027ED0 mov r6, #0x2 mov r7, #0x5 _02027EDC: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r7, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x18 lsr r0, r0, #0x18 add r1, r5, r0 @@ -78858,8 +78858,8 @@ _02027EF6: strb r0, [r5, #0x6] pop {r3-r7, pc} - thumb_func_start sub_02027F04 -sub_02027F04: ; 0x02027F04 + thumb_func_start FUN_02027F04 +FUN_02027F04: ; 0x02027F04 push {r3-r7, lr} sub sp, #0x8 mov r12, r2 @@ -78869,7 +78869,7 @@ sub_02027F04: ; 0x02027F04 cmp r3, #0x0 beq _02027F20 mov r1, r12 - bl sub_02027ED0 + bl FUN_02027ED0 add sp, #0x8 add r0, r5, #0x0 pop {r3-r7, pc} @@ -78905,7 +78905,7 @@ _02027F34: lsl r6, r1, #0x1 lsl r6, r1, #0x1 mov r1, r12 - bl sub_02027ED0 + bl FUN_02027ED0 add sp, #0x8 mov r0, #0x1b pop {r3-r7, pc} @@ -78934,8 +78934,8 @@ _02027FA4: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02027FBC -sub_02027FBC: ; 0x02027FBC + thumb_func_start FUN_02027FBC +FUN_02027FBC: ; 0x02027FBC ldrb r2, [r0, #0x0] strb r2, [r1, #0x0] ldrb r2, [r0, #0x1] @@ -78953,13 +78953,13 @@ sub_02027FBC: ; 0x02027FBC bx lr .balign 4 - thumb_func_start sub_02027FDC -sub_02027FDC: ; 0x02027FDC + thumb_func_start FUN_02027FDC +FUN_02027FDC: ; 0x02027FDC push {r4, lr} add r4, r0, #0x0 ldrb r0, [r4, #0x0] mov r1, #0x5 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x5 @@ -79010,29 +79010,29 @@ _02028044: pop {r4, pc} .balign 4 - thumb_func_start sub_02028048 -sub_02028048: ; 0x02028048 - ldr r3, _02028050 ; =sub_02022610 + thumb_func_start FUN_02028048 +FUN_02028048: ; 0x02028048 + ldr r3, _02028050 ; =FUN_02022610 mov r1, #0x10 bx r3 nop -_02028050: .word sub_02022610 + 1 +_02028050: .word FUN_02022610 + 1 - thumb_func_start sub_02028054 -sub_02028054: ; 0x02028054 + thumb_func_start FUN_02028054 +FUN_02028054: ; 0x02028054 mov r0, #0x32 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_0202805C -sub_0202805C: ; 0x0202805C + thumb_func_start FUN_0202805C +FUN_0202805C: ; 0x0202805C push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _02028062: add r0, r5, #0x0 - bl sub_02027E44 + bl FUN_02027E44 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x64 @@ -79040,8 +79040,8 @@ _02028062: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02028074 -sub_02028074: ; 0x02028074 + thumb_func_start FUN_02028074 +FUN_02028074: ; 0x02028074 mov r2, #0x0 _02028076: lsl r1, r2, #0x3 @@ -79061,12 +79061,12 @@ _02028082: .balign 4 _02028090: .word 0x0000FFFF - thumb_func_start sub_02028094 -sub_02028094: ; 0x02028094 + thumb_func_start FUN_02028094 +FUN_02028094: ; 0x02028094 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_02028074 + bl FUN_02028074 ldr r1, _020280B4 ; =0x0000FFFF add r4, r0, #0x0 cmp r4, r1 @@ -79074,15 +79074,15 @@ sub_02028094: ; 0x02028094 lsl r1, r4, #0x3 add r0, r6, #0x0 add r1, r5, r1 - bl sub_02027E70 + bl FUN_02027E70 add r0, r4, #0x0 _020280B2: pop {r4-r6, pc} .balign 4 _020280B4: .word 0x0000FFFF - thumb_func_start sub_020280B8 -sub_020280B8: ; 0x020280B8 + thumb_func_start FUN_020280B8 +FUN_020280B8: ; 0x020280B8 push {r3, lr} cmp r1, #0x64 blo _020280C2 @@ -79091,13 +79091,13 @@ sub_020280B8: ; 0x020280B8 _020280C2: lsl r1, r1, #0x3 add r0, r0, r1 - bl sub_02027E44 + bl FUN_02027E44 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_020280D0 -sub_020280D0: ; 0x020280D0 + thumb_func_start FUN_020280D0 +FUN_020280D0: ; 0x020280D0 cmp r1, #0x64 bhs _020280EA _020280D4: @@ -79119,8 +79119,8 @@ _020280EA: nop _020280F0: .word 0x0000FFFF - thumb_func_start sub_020280F4 -sub_020280F4: ; 0x020280F4 + thumb_func_start FUN_020280F4 +FUN_020280F4: ; 0x020280F4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -79136,7 +79136,7 @@ _02028100: ldr r6, [sp, #0x4] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020280D0 + bl FUN_020280D0 add r4, r0, #0x0 ldr r0, _02028170 ; =0x0000FFFF cmp r4, r0 @@ -79156,10 +79156,10 @@ _0202812E: str r0, [sp, #0x8] add r0, r5, r0 add r1, r5, r1 - bl sub_02027E70 + bl FUN_02027E70 ldr r0, [sp, #0x8] add r0, r5, r0 - bl sub_02027E44 + bl FUN_02027E44 add r0, r6, #0x1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 @@ -79187,45 +79187,45 @@ _0202816A: nop _02028170: .word 0x0000FFFF - thumb_func_start sub_02028174 -sub_02028174: ; 0x02028174 + thumb_func_start FUN_02028174 +FUN_02028174: ; 0x02028174 push {r3, lr} cmp r1, #0x64 blo _02028182 add r0, r2, #0x0 - bl sub_02027E44 + bl FUN_02027E44 pop {r3, pc} _02028182: lsl r1, r1, #0x3 add r0, r0, r1 add r1, r2, #0x0 - bl sub_02027E70 + bl FUN_02027E70 pop {r3, pc} .balign 4 - thumb_func_start sub_02028190 -sub_02028190: ; 0x02028190 + thumb_func_start FUN_02028190 +FUN_02028190: ; 0x02028190 push {r4-r6, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 - bl sub_02027E5C + bl FUN_02027E5C add r6, r0, #0x0 cmp r4, #0x64 blo _020281AA - bl sub_02027E44 + bl FUN_02027E44 mov r0, #0x0 pop {r4-r6, pc} _020281AA: lsl r0, r4, #0x3 add r0, r5, r0 add r1, r6, #0x0 - bl sub_02027E70 + bl FUN_02027E70 add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020281B8 -sub_020281B8: ; 0x020281B8 + thumb_func_start FUN_020281B8 +FUN_020281B8: ; 0x020281B8 push {r4-r6, lr} mov r4, #0x0 add r6, r0, #0x0 @@ -79233,7 +79233,7 @@ sub_020281B8: ; 0x020281B8 _020281C0: lsl r0, r5, #0x3 add r0, r6, r0 - bl sub_02027E34 + bl FUN_02027E34 cmp r0, #0x0 beq _020281D2 add r0, r4, #0x1 @@ -79248,22 +79248,22 @@ _020281D2: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020281E0 -sub_020281E0: ; 0x020281E0 + thumb_func_start FUN_020281E0 +FUN_020281E0: ; 0x020281E0 mov r0, #0x1f lsl r0, r0, #0x6 bx lr .balign 4 - thumb_func_start sub_020281E8 -sub_020281E8: ; 0x020281E8 + thumb_func_start FUN_020281E8 +FUN_020281E8: ; 0x020281E8 push {r3-r7, lr} add r7, r0, #0x0 mov r2, #0x1f mov r0, #0x0 add r1, r7, #0x0 lsl r2, r2, #0x6 - blx sub_020CE240 + blx FUN_020CE240 mov r0, #0x1d lsl r0, r0, #0x4 add r1, r0, #0x0 @@ -79283,25 +79283,25 @@ _0202820C: cmp r5, #0x20 blt _0202820C add r0, r7, #0x0 - bl sub_0203380C + bl FUN_0203380C pop {r3-r7, pc} nop _02028224: .word 0x0000FFFF - thumb_func_start sub_02028228 -sub_02028228: ; 0x02028228 + thumb_func_start FUN_02028228 +FUN_02028228: ; 0x02028228 bx lr .balign 4 - thumb_func_start sub_0202822C -sub_0202822C: ; 0x0202822C + thumb_func_start FUN_0202822C +FUN_0202822C: ; 0x0202822C push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r7, r2, #0x0 cmp r4, #0x20 blt _0202823C - bl sub_02020C2C + bl FUN_02020C2C _0202823C: cmp r7, #0x8 bhi _020282D0 @@ -79342,8 +79342,8 @@ _020282D4: .byte 0xE6, 0x01, 0x00, 0x00, 0xEA, 0x01, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 - thumb_func_start sub_020282E8 -sub_020282E8: ; 0x020282E8 + thumb_func_start FUN_020282E8 +FUN_020282E8: ; 0x020282E8 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -79351,7 +79351,7 @@ sub_020282E8: ; 0x020282E8 add r6, r3, #0x0 cmp r4, #0x20 blt _020282FA - bl sub_02020C2C + bl FUN_02020C2C _020282FA: cmp r7, #0x8 bhi _02028378 @@ -79391,14 +79391,14 @@ _0202837C: .byte 0xEA, 0x01, 0x00, 0x00 .byte 0xED, 0x01, 0x00, 0x00, 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 - thumb_func_start sub_0202838C -sub_0202838C: ; 0x0202838C + thumb_func_start FUN_0202838C +FUN_0202838C: ; 0x0202838C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x20 blt _0202839A - bl sub_02020C2C + bl FUN_02020C2C _0202839A: mov r0, #0xc add r5, #0x40 @@ -79406,14 +79406,14 @@ _0202839A: add r0, r5, r0 pop {r3-r5, pc} - thumb_func_start sub_020283A4 -sub_020283A4: ; 0x020283A4 + thumb_func_start FUN_020283A4 +FUN_020283A4: ; 0x020283A4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x20 blt _020283B2 - bl sub_02020C2C + bl FUN_02020C2C _020283B2: mov r0, #0x1d lsl r0, r0, #0x4 @@ -79423,15 +79423,15 @@ _020283B2: add r0, r1, r0 pop {r3-r5, pc} - thumb_func_start sub_020283C0 -sub_020283C0: ; 0x020283C0 + thumb_func_start FUN_020283C0 +FUN_020283C0: ; 0x020283C0 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x20 blt _020283D0 - bl sub_02020C2C + bl FUN_02020C2C _020283D0: mov r1, #0x1d lsl r1, r1, #0x4 @@ -79441,18 +79441,18 @@ _020283D0: add r1, r2, r1 add r0, r6, #0x0 mov r2, #0x10 - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020283E8 -sub_020283E8: ; 0x020283E8 + thumb_func_start FUN_020283E8 +FUN_020283E8: ; 0x020283E8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x20 blt _020283F6 - bl sub_02020C2C + bl FUN_02020C2C _020283F6: mov r0, #0x7 lsl r0, r0, #0x6 @@ -79462,15 +79462,15 @@ _020283F6: add r0, r1, r0 pop {r3-r5, pc} - thumb_func_start sub_02028404 -sub_02028404: ; 0x02028404 + thumb_func_start FUN_02028404 +FUN_02028404: ; 0x02028404 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x20 blt _02028414 - bl sub_02020C2C + bl FUN_02020C2C _02028414: mov r1, #0x7 lsl r1, r1, #0x6 @@ -79480,28 +79480,28 @@ _02028414: add r1, r2, r1 add r0, r6, #0x0 mov r2, #0x10 - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202842C -sub_0202842C: ; 0x0202842C + thumb_func_start FUN_0202842C +FUN_0202842C: ; 0x0202842C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x20 blt _0202843A - bl sub_02020C2C + bl FUN_02020C2C _0202843A: mov r0, #0xc add r5, #0x40 mul r0, r4 add r0, r5, r0 - blx sub_0209700C + blx FUN_0209700C pop {r3-r5, pc} - thumb_func_start sub_02028448 -sub_02028448: ; 0x02028448 + thumb_func_start FUN_02028448 +FUN_02028448: ; 0x02028448 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -79509,7 +79509,7 @@ sub_02028448: ; 0x02028448 _02028450: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202842C + bl FUN_0202842C cmp r0, #0x0 beq _0202845E add r5, r5, #0x1 @@ -79520,15 +79520,15 @@ _0202845E: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02028468 -sub_02028468: ; 0x02028468 + thumb_func_start FUN_02028468 +FUN_02028468: ; 0x02028468 push {r4-r7, lr} sub sp, #0xc add r5, r1, #0x0 str r0, [sp, #0x0] cmp r5, #0x20 blt _02028478 - bl sub_02020C2C + bl FUN_02020C2C _02028478: cmp r5, #0x1f bge _020284D2 @@ -79560,7 +79560,7 @@ _020284A2: mov r2, #0x30 add r0, r0, r1 add r1, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0xc add r1, r7, #0x0 mul r1, r0 @@ -79568,7 +79568,7 @@ _020284A2: mov r2, #0xc add r0, r0, r1 add r1, r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r5, r5, #0x1 add r6, #0x30 add r4, #0xc @@ -79584,7 +79584,7 @@ _020284D2: add r1, r2, r1 mov r0, #0x0 mov r2, #0x30 - blx sub_020CE240 + blx FUN_020CE240 ldr r2, [sp, #0x0] mov r1, #0x5d add r2, #0x40 @@ -79592,7 +79592,7 @@ _020284D2: add r1, r2, r1 mov r0, #0x0 mov r2, #0xc - blx sub_020CE240 + blx FUN_020CE240 mov r2, #0x7a lsl r2, r2, #0x4 add r1, r2, #0x0 @@ -79609,8 +79609,8 @@ _020284D2: .balign 4 _02028514: .word 0x0000FFFF - thumb_func_start sub_02028518 -sub_02028518: ; 0x02028518 + thumb_func_start FUN_02028518 +FUN_02028518: ; 0x02028518 push {r4-r7, lr} sub sp, #0xc str r2, [sp, #0x4] @@ -79627,7 +79627,7 @@ sub_02028518: ; 0x02028518 str r1, [sp, #0x0] add r0, r4, r5 add r1, r4, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, [sp, #0x4] add r6, r7, #0x0 mov r3, #0xc @@ -79641,16 +79641,16 @@ sub_02028518: ; 0x02028518 mul r2, r3 add r1, r6, r2 add r2, r3, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x0 add r1, r4, r5 mov r2, #0x30 - blx sub_020CE240 + blx FUN_020CE240 ldr r1, [sp, #0x8] mov r0, #0x0 add r1, r6, r1 mov r2, #0xc - blx sub_020CE240 + blx FUN_020CE240 mov r0, #0x1d ldr r1, _02028588 ; =0x0000FFFF add r2, r7, r5 @@ -79665,8 +79665,8 @@ sub_02028518: ; 0x02028518 nop _02028588: .word 0x0000FFFF - thumb_func_start sub_0202858C -sub_0202858C: ; 0x0202858C + thumb_func_start FUN_0202858C +FUN_0202858C: ; 0x0202858C push {r3-r7, lr} mov r5, #0x0 mvn r5, r5 @@ -79676,7 +79676,7 @@ sub_0202858C: ; 0x0202858C _02028598: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202842C + bl FUN_0202842C cmp r0, #0x0 beq _020285BC mov r0, #0x0 @@ -79686,7 +79686,7 @@ _02028598: add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02028518 + bl FUN_02028518 add r4, r7, #0x0 add r5, r7, #0x0 b _020285C6 @@ -79703,14 +79703,14 @@ _020285C6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020285D0 -sub_020285D0: ; 0x020285D0 + thumb_func_start FUN_020285D0 +FUN_020285D0: ; 0x020285D0 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r4, r1, #0x0 add r0, sp, #0x0 - bl sub_020126B4 + bl FUN_020126B4 mov r0, #0x30 add r2, r4, #0x0 mul r2, r0 @@ -79732,8 +79732,8 @@ sub_020285D0: ; 0x020285D0 nop _02028604: .word 0x000001EA - thumb_func_start sub_02028608 -sub_02028608: ; 0x02028608 + thumb_func_start FUN_02028608 +FUN_02028608: ; 0x02028608 push {r4-r6, lr} mov r5, #0x79 add r4, r0, #0x0 @@ -79775,14 +79775,14 @@ _0202863A: strh r3, [r2, r0] _02028652: add r0, r4, #0x0 - bl sub_020285D0 + bl FUN_020285D0 pop {r4-r6, pc} nop _0202865C: .word 0x0000270F _02028660: .word 0x000001E6 - thumb_func_start sub_02028664 -sub_02028664: ; 0x02028664 + thumb_func_start FUN_02028664 +FUN_02028664: ; 0x02028664 push {r4-r6, lr} add r5, r0, #0x0 mov r3, #0x79 @@ -79836,7 +79836,7 @@ _020286BC: mov r0, #0x0 add r1, r6, r4 mov r2, #0x30 - blx sub_020CE240 + blx FUN_020CE240 mov r0, #0x1d ldr r1, _020286E8 ; =0x0000FFFF add r2, r5, r4 @@ -79852,23 +79852,23 @@ _020286E0: .word 0x0000270F _020286E4: .word 0x000001E6 _020286E8: .word 0x0000FFFF - thumb_func_start sub_020286EC -sub_020286EC: ; 0x020286EC - ldr r3, _020286F4 ; =sub_02022610 + thumb_func_start FUN_020286EC +FUN_020286EC: ; 0x020286EC + ldr r3, _020286F4 ; =FUN_02022610 mov r1, #0x1d bx r3 nop -_020286F4: .word sub_02022610 + 1 +_020286F4: .word FUN_02022610 + 1 - thumb_func_start sub_020286F8 -sub_020286F8: ; 0x020286F8 + thumb_func_start FUN_020286F8 +FUN_020286F8: ; 0x020286F8 mov r0, #0x42 lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_02028700 -sub_02028700: ; 0x02028700 + thumb_func_start FUN_02028700 +FUN_02028700: ; 0x02028700 push {r4-r5} add r5, r2, #0x0 mov r3, #0x2c @@ -79889,15 +79889,15 @@ _02028712: bx lr .balign 4 - thumb_func_start sub_02028724 -sub_02028724: ; 0x02028724 + thumb_func_start FUN_02028724 +FUN_02028724: ; 0x02028724 push {r4, lr} add r4, r0, #0x0 mov r2, #0x42 mov r0, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 - blx sub_020CE240 + blx FUN_020CE240 ldr r0, _0202874C ; =0x0000FFFF mov r1, #0x0 add r2, r4, #0x0 @@ -79915,8 +79915,8 @@ _0202873A: _0202874C: .word 0x0000FFFF _02028750: .word 0x021C59D0 - thumb_func_start sub_02028754 -sub_02028754: ; 0x02028754 + thumb_func_start FUN_02028754 +FUN_02028754: ; 0x02028754 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -79927,7 +79927,7 @@ _0202875C: bls _02028770 _02028762: ldr r0, [r5, #0x28] - bl sub_0201BA10 + bl FUN_0201BA10 add r4, r4, #0x1 str r0, [r5, #0x28] cmp r4, r6 @@ -79940,8 +79940,8 @@ _02028770: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202877C -sub_0202877C: ; 0x0202877C + thumb_func_start FUN_0202877C +FUN_0202877C: ; 0x0202877C mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -79949,8 +79949,8 @@ sub_0202877C: ; 0x0202877C bx lr .balign 4 - thumb_func_start sub_02028788 -sub_02028788: ; 0x02028788 + thumb_func_start FUN_02028788 +FUN_02028788: ; 0x02028788 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x2c @@ -79959,19 +79959,19 @@ sub_02028788: ; 0x02028788 add r0, r5, r4 str r2, [r0, #0x24] add r0, r2, #0x0 - bl sub_0201BA10 + bl FUN_0201BA10 add r1, r5, r4 str r0, [r1, #0x28] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020287A4 -sub_020287A4: ; 0x020287A4 + thumb_func_start FUN_020287A4 +FUN_020287A4: ; 0x020287A4 ldr r0, [r0, #0x54] bx lr - thumb_func_start sub_020287A8 -sub_020287A8: ; 0x020287A8 + thumb_func_start FUN_020287A8 +FUN_020287A8: ; 0x020287A8 cmp r2, #0x0 bne _020287B4 mov r2, #0x2c @@ -79986,8 +79986,8 @@ _020287B4: bx lr .balign 4 - thumb_func_start sub_020287C0 -sub_020287C0: ; 0x020287C0 + thumb_func_start FUN_020287C0 +FUN_020287C0: ; 0x020287C0 push {r4, lr} add r4, r0, #0x0 cmp r2, #0x0 @@ -79997,7 +79997,7 @@ sub_020287C0: ; 0x020287C0 add r1, r4, r2 add r0, r3, #0x0 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4, pc} _020287D8: mov r2, #0x2c @@ -80006,12 +80006,12 @@ _020287D8: add r0, r3, #0x0 add r1, #0x10 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4, pc} .balign 4 - thumb_func_start sub_020287EC -sub_020287EC: ; 0x020287EC + thumb_func_start FUN_020287EC +FUN_020287EC: ; 0x020287EC mov r3, #0x2c mul r3, r1 add r0, r0, r3 @@ -80019,8 +80019,8 @@ sub_020287EC: ; 0x020287EC strb r2, [r0, #0x0] bx lr - thumb_func_start sub_020287F8 -sub_020287F8: ; 0x020287F8 + thumb_func_start FUN_020287F8 +FUN_020287F8: ; 0x020287F8 mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -80028,8 +80028,8 @@ sub_020287F8: ; 0x020287F8 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02028804 -sub_02028804: ; 0x02028804 + thumb_func_start FUN_02028804 +FUN_02028804: ; 0x02028804 mov r2, #0x2c mul r2, r1 add r0, r0, r2 @@ -80037,8 +80037,8 @@ sub_02028804: ; 0x02028804 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02028810 -sub_02028810: ; 0x02028810 + thumb_func_start FUN_02028810 +FUN_02028810: ; 0x02028810 mov r3, #0x2c mul r3, r1 add r0, r0, r3 @@ -80046,21 +80046,21 @@ sub_02028810: ; 0x02028810 strb r2, [r0, #0x0] bx lr - thumb_func_start sub_0202881C -sub_0202881C: ; 0x0202881C - ldr r3, _02028824 ; =sub_02022610 + thumb_func_start FUN_0202881C +FUN_0202881C: ; 0x0202881C + ldr r3, _02028824 ; =FUN_02022610 mov r1, #0x11 bx r3 nop -_02028824: .word sub_02022610 + 1 +_02028824: .word FUN_02022610 + 1 - thumb_func_start sub_02028828 -sub_02028828: ; 0x02028828 + thumb_func_start FUN_02028828 +FUN_02028828: ; 0x02028828 push {r3, lr} mov r2, #0x2c mul r2, r1 add r0, r0, r2 - bl sub_0202888C + bl FUN_0202888C cmp r0, #0x0 bne _0202883C mov r0, #0x1 @@ -80069,20 +80069,20 @@ _0202883C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02028840 -sub_02028840: ; 0x02028840 + thumb_func_start FUN_02028840 +FUN_02028840: ; 0x02028840 mov r2, #0x2c add r3, r0, #0x0 mul r2, r1 add r1, r3, r2 - ldr r3, _02028850 ; =sub_020288AC + ldr r3, _02028850 ; =FUN_020288AC add r0, #0x2c bx r3 nop -_02028850: .word sub_020288AC + 1 +_02028850: .word FUN_020288AC + 1 - thumb_func_start sub_02028854 -sub_02028854: ; 0x02028854 + thumb_func_start FUN_02028854 +FUN_02028854: ; 0x02028854 push {r3-r7, lr} add r6, r1, #0x0 ldrh r1, [r6, #0x0] @@ -80099,7 +80099,7 @@ _0202886A: add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 - bl sub_020022D0 + bl FUN_020022D0 cmp r0, #0x0 bne _0202887C mov r0, #0x1 @@ -80114,8 +80114,8 @@ _0202887C: .balign 4 _02028888: .word 0x0000FFFF - thumb_func_start sub_0202888C -sub_0202888C: ; 0x0202888C + thumb_func_start FUN_0202888C +FUN_0202888C: ; 0x0202888C ldrh r2, [r0, #0x0] ldr r1, _020288A8 ; =0x0000FFFF cmp r2, r1 @@ -80134,15 +80134,15 @@ _020288A2: nop _020288A8: .word 0x0000FFFF - thumb_func_start sub_020288AC -sub_020288AC: ; 0x020288AC + thumb_func_start FUN_020288AC +FUN_020288AC: ; 0x020288AC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r0, #0x10 add r1, #0x10 mov r2, #0x8 - bl sub_020022D0 + bl FUN_020022D0 cmp r0, #0x0 beq _020288C4 mov r0, #0x0 @@ -80151,7 +80151,7 @@ _020288C4: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x8 - bl sub_020022D0 + bl FUN_020022D0 cmp r0, #0x0 beq _020288D6 mov r0, #0x0 @@ -80190,35 +80190,35 @@ _0202890A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02028910 -sub_02028910: ; 0x02028910 + thumb_func_start FUN_02028910 +FUN_02028910: ; 0x02028910 mov r1, #0x0 strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02028918 -sub_02028918: ; 0x02028918 + thumb_func_start FUN_02028918 +FUN_02028918: ; 0x02028918 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0202892C ; =0x0000C350 add r4, r1, #0x0 cmp r4, r0 bls _02028928 - bl sub_02020C2C + bl FUN_02020C2C _02028928: strh r4, [r5, #0x0] pop {r3-r5, pc} .balign 4 _0202892C: .word 0x0000C350 - thumb_func_start sub_02028930 -sub_02028930: ; 0x02028930 + thumb_func_start FUN_02028930 +FUN_02028930: ; 0x02028930 ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_02028934 -sub_02028934: ; 0x02028934 + thumb_func_start FUN_02028934 +FUN_02028934: ; 0x02028934 ldrh r3, [r0, #0x0] ldr r2, _02028950 ; =0x0000C350 cmp r3, r2 @@ -80238,8 +80238,8 @@ _0202894C: .balign 4 _02028950: .word 0x0000C350 - thumb_func_start sub_02028954 -sub_02028954: ; 0x02028954 + thumb_func_start FUN_02028954 +FUN_02028954: ; 0x02028954 ldrh r0, [r0, #0x0] add r1, r1, r0 ldr r0, _02028968 ; =0x0000C350 @@ -80253,8 +80253,8 @@ _02028962: nop _02028968: .word 0x0000C350 - thumb_func_start sub_0202896C -sub_0202896C: ; 0x0202896C + thumb_func_start FUN_0202896C +FUN_0202896C: ; 0x0202896C ldrh r2, [r0, #0x0] cmp r2, r1 bhs _02028976 @@ -80267,42 +80267,42 @@ _02028976: bx lr .balign 4 - thumb_func_start sub_02028980 -sub_02028980: ; 0x02028980 + thumb_func_start FUN_02028980 +FUN_02028980: ; 0x02028980 mov r0, #0x46 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02028988 -sub_02028988: ; 0x02028988 - ldr r3, _02028990 ; =sub_020DF4A4 + thumb_func_start FUN_02028988 +FUN_02028988: ; 0x02028988 + ldr r3, _02028990 ; =FUN_020DF4A4 mov r1, #0x0 mov r2, #0x70 bx r3 .balign 4 -_02028990: .word sub_020DF4A4 +_02028990: .word FUN_020DF4A4 - thumb_func_start sub_02028994 -sub_02028994: ; 0x02028994 - ldr r3, _020289A0 ; =sub_020DF4A4 + thumb_func_start FUN_02028994 +FUN_02028994: ; 0x02028994 + ldr r3, _020289A0 ; =FUN_020DF4A4 mov r2, #0x46 mov r1, #0x0 lsl r2, r2, #0x4 bx r3 nop -_020289A0: .word sub_020DF4A4 +_020289A0: .word FUN_020DF4A4 - thumb_func_start sub_020289A4 -sub_020289A4: ; 0x020289A4 - ldr r3, _020289AC ; =sub_02022610 + thumb_func_start FUN_020289A4 +FUN_020289A4: ; 0x020289A4 + ldr r3, _020289AC ; =FUN_02022610 mov r1, #0x12 bx r3 nop -_020289AC: .word sub_02022610 + 1 +_020289AC: .word FUN_02022610 + 1 - thumb_func_start sub_020289B0 -sub_020289B0: ; 0x020289B0 + thumb_func_start FUN_020289B0 +FUN_020289B0: ; 0x020289B0 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 @@ -80313,7 +80313,7 @@ sub_020289B0: ; 0x020289B0 pop {r3-r7, pc} _020289C0: add r0, sp, #0x0 - bl sub_020126B4 + bl FUN_020126B4 ldr r0, [r7, #0x0] lsl r1, r0, #0x15 lsr r3, r1, #0x1c @@ -80356,15 +80356,15 @@ _02028A02: cmp r5, #0x1 bge _020289FA add r0, r7, #0x0 - bl sub_02028988 + bl FUN_02028988 _02028A18: add r0, r7, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02028A20 -sub_02028A20: ; 0x02028A20 + thumb_func_start FUN_02028A20 +FUN_02028A20: ; 0x02028A20 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 @@ -80375,7 +80375,7 @@ sub_02028A20: ; 0x02028A20 pop {r4, pc} _02028A30: add r0, sp, #0x0 - bl sub_020126B4 + bl FUN_020126B4 ldr r0, [r4, #0x0] lsl r0, r0, #0x19 lsr r0, r0, #0x19 @@ -80393,10 +80393,10 @@ _02028A30: lsr r0, r0, #0x1d str r0, [sp, #0x1c] add r0, sp, #0x0 - bl sub_02012710 + bl FUN_02012710 add r4, r0, #0x0 add r0, sp, #0x10 - bl sub_02012710 + bl FUN_02012710 ldr r2, [sp, #0x4] sub r0, r4, r0 cmp r2, #0xc @@ -80461,8 +80461,8 @@ _02028ACC: pop {r4, pc} .balign 4 - thumb_func_start sub_02028AD4 -sub_02028AD4: ; 0x02028AD4 + thumb_func_start FUN_02028AD4 +FUN_02028AD4: ; 0x02028AD4 push {r4, lr} add r4, r1, #0x0 cmp r0, #0x0 @@ -80480,7 +80480,7 @@ sub_02028AD4: ; 0x02028AD4 lsl r4, r2, #0 lsl r2, r3, #0 lsl r0, r4, #0 - bl sub_02028B1C + bl FUN_02028B1C b _02028B12 _02028AFC: .byte 0x00, 0xF0, 0x2E, 0xF8 @@ -80488,12 +80488,12 @@ _02028AFC: .byte 0x7B, 0xF8 _02028B12: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02028B1C -sub_02028B1C: ; 0x02028B1C + thumb_func_start FUN_02028B1C +FUN_02028B1C: ; 0x02028B1C push {r4-r5} ldr r3, [r0, #0x0] lsl r2, r3, #0x19 @@ -80529,8 +80529,8 @@ _02028B56: bx lr .balign 4 - thumb_func_start sub_02028B5C -sub_02028B5C: ; 0x02028B5C + thumb_func_start FUN_02028B5C +FUN_02028B5C: ; 0x02028B5C push {r3, lr} ldrb r2, [r1, #0x0] cmp r2, #0x23 @@ -80578,7 +80578,7 @@ sub_02028B5C: ; 0x02028B5C lsl r6, r0, #0x1 lsl r6, r0, #0x1 add r0, r0, #0x4 - bl sub_02028CE8 + bl FUN_02028CE8 pop {r3, pc} _02028BC0: .byte 0x00, 0x1D, 0x00, 0xF0, 0xE9, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0xBB, 0xF8, 0x08, 0xBD @@ -80587,8 +80587,8 @@ _02028BC0: _02028BEE: pop {r3, pc} - thumb_func_start sub_02028BF0 -sub_02028BF0: ; 0x02028BF0 + thumb_func_start FUN_02028BF0 +FUN_02028BF0: ; 0x02028BF0 ldrh r2, [r1, #0x0] strh r2, [r0, #0x14] ldrh r1, [r1, #0x2] @@ -80596,8 +80596,8 @@ sub_02028BF0: ; 0x02028BF0 bx lr .balign 4 - thumb_func_start sub_02028BFC -sub_02028BFC: ; 0x02028BFC + thumb_func_start FUN_02028BFC +FUN_02028BFC: ; 0x02028BFC ldrh r2, [r1, #0x0] strh r2, [r0, #0x18] ldrh r1, [r1, #0x2] @@ -80605,12 +80605,12 @@ sub_02028BFC: ; 0x02028BFC bx lr .balign 4 - thumb_func_start sub_02028C08 -sub_02028C08: ; 0x02028C08 + thumb_func_start FUN_02028C08 +FUN_02028C08: ; 0x02028C08 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 - bl sub_02028CA8 + bl FUN_02028CA8 ldrb r1, [r4, #0x0] cmp r1, #0x10 bhi _02028C6E @@ -80638,7 +80638,7 @@ sub_02028C08: ; 0x02028C08 lsl r0, r6, #0 lsl r0, r7, #0 add r1, r4, #0x0 - bl sub_02028ED4 + bl FUN_02028ED4 pop {r3-r5, pc} _02028C4E: .byte 0x21, 0x1C @@ -80647,8 +80647,8 @@ _02028C4E: _02028C6E: pop {r3-r5, pc} - thumb_func_start sub_02028C70 -sub_02028C70: ; 0x02028C70 + thumb_func_start FUN_02028C70 +FUN_02028C70: ; 0x02028C70 push {r3-r4} mov r3, #0x0 add r4, r0, #0x0 @@ -80681,8 +80681,8 @@ _02028C92: pop {r3-r4} bx lr - thumb_func_start sub_02028CA8 -sub_02028CA8: ; 0x02028CA8 + thumb_func_start FUN_02028CA8 +FUN_02028CA8: ; 0x02028CA8 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 @@ -80706,18 +80706,18 @@ _02028CC0: add r0, #0x1c add r1, #0x46 mov r2, #0x2a - blx sub_020DF438 + blx FUN_020DF438 add r4, #0x46 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x2a - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02028CE8 -sub_02028CE8: ; 0x02028CE8 + thumb_func_start FUN_02028CE8 +FUN_02028CE8: ; 0x02028CE8 push {r4, lr} add r4, r1, #0x0 mov r2, #0x0 @@ -80743,7 +80743,7 @@ _02028CFE: cmp r1, r2 beq _02028D20 _02028D14: - bl sub_02028C70 + bl FUN_02028C70 ldrb r2, [r4, #0x0] mov r1, #0x3f and r1, r2 @@ -80752,11 +80752,11 @@ _02028D20: pop {r4, pc} .balign 4 - thumb_func_start sub_02028D24 -sub_02028D24: ; 0x02028D24 + thumb_func_start FUN_02028D24 +FUN_02028D24: ; 0x02028D24 push {r4, lr} add r4, r1, #0x0 - bl sub_02028C70 + bl FUN_02028C70 ldrb r2, [r4, #0x0] mov r1, #0x3f and r1, r2 @@ -80770,8 +80770,8 @@ sub_02028D24: ; 0x02028D24 str r1, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_02028D44 -sub_02028D44: ; 0x02028D44 + thumb_func_start FUN_02028D44 +FUN_02028D44: ; 0x02028D44 push {r3-r5, lr} add r4, r1, #0x0 mov r2, #0x0 @@ -80804,7 +80804,7 @@ _02028D72: cmp r2, #0x4 blo _02028D4C _02028D7C: - bl sub_02028C70 + bl FUN_02028C70 ldrb r2, [r4, #0x0] mov r1, #0x3f and r1, r2 @@ -80818,8 +80818,8 @@ _02028D7C: str r1, [r0, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02028D98 -sub_02028D98: ; 0x02028D98 + thumb_func_start FUN_02028D98 +FUN_02028D98: ; 0x02028D98 push {r4-r6, lr} add r4, r1, #0x0 mov r6, #0x0 @@ -80859,7 +80859,7 @@ _02028DD4: cmp r6, #0x4 blo _02028DA0 _02028DDE: - bl sub_02028C70 + bl FUN_02028C70 ldrb r2, [r4, #0x0] mov r1, #0x3f and r1, r2 @@ -80874,8 +80874,8 @@ _02028DDE: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02028DFC -sub_02028DFC: ; 0x02028DFC + thumb_func_start FUN_02028DFC +FUN_02028DFC: ; 0x02028DFC push {r4, lr} add r4, r1, #0x0 mov r2, #0x0 @@ -80905,7 +80905,7 @@ _02028E12: cmp r2, r1 beq _02028E42 _02028E30: - bl sub_02028C70 + bl FUN_02028C70 ldrh r1, [r4, #0x2] ldrb r2, [r4, #0x0] lsl r3, r1, #0x10 @@ -80916,8 +80916,8 @@ _02028E30: _02028E42: pop {r4, pc} - thumb_func_start sub_02028E44 -sub_02028E44: ; 0x02028E44 + thumb_func_start FUN_02028E44 +FUN_02028E44: ; 0x02028E44 push {r4, lr} add r4, r1, #0x0 mov r2, #0x0 @@ -80947,7 +80947,7 @@ _02028E5A: cmp r2, r1 beq _02028E8A _02028E78: - bl sub_02028C70 + bl FUN_02028C70 ldrh r1, [r4, #0x6] ldrb r2, [r4, #0x0] lsl r3, r1, #0x10 @@ -80958,8 +80958,8 @@ _02028E78: _02028E8A: pop {r4, pc} - thumb_func_start sub_02028E8C -sub_02028E8C: ; 0x02028E8C + thumb_func_start FUN_02028E8C +FUN_02028E8C: ; 0x02028E8C push {r4, lr} add r4, r1, #0x0 mov r2, #0x0 @@ -80989,7 +80989,7 @@ _02028EA2: cmp r2, r1 beq _02028ED2 _02028EC0: - bl sub_02028C70 + bl FUN_02028C70 ldrh r1, [r4, #0x2] ldrb r2, [r4, #0x0] lsl r3, r1, #0x10 @@ -81000,8 +81000,8 @@ _02028EC0: _02028ED2: pop {r4, pc} - thumb_func_start sub_02028ED4 -sub_02028ED4: ; 0x02028ED4 + thumb_func_start FUN_02028ED4 +FUN_02028ED4: ; 0x02028ED4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -81021,21 +81021,21 @@ sub_02028ED4: ; 0x02028ED4 add r0, r4, #0x2 add r1, r5, #0x2 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 add r4, #0x12 add r5, #0x12 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02028F10 -sub_02028F10: ; 0x02028F10 + thumb_func_start FUN_02028F10 +FUN_02028F10: ; 0x02028F10 add r2, r0, #0x0 ldrb r0, [r1, #0x0] - ldr r3, _02028F28 ; =sub_020292D4 + ldr r3, _02028F28 ; =FUN_020292D4 strb r0, [r2, #0x0] ldrb r0, [r1, #0x1] lsl r0, r0, #0x1b @@ -81046,10 +81046,10 @@ sub_02028F10: ; 0x02028F10 mov r2, #0x8 bx r3 .balign 4 -_02028F28: .word sub_020292D4 + 1 +_02028F28: .word FUN_020292D4 + 1 - thumb_func_start sub_02028F2C -sub_02028F2C: ; 0x02028F2C + thumb_func_start FUN_02028F2C +FUN_02028F2C: ; 0x02028F2C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -81066,17 +81066,17 @@ sub_02028F2C: ; 0x02028F2C strb r0, [r5, #0x1] add r0, r4, #0x2 add r1, r5, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r4, #0x22 add r5, #0x12 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0xc - bl sub_020292D4 + bl FUN_020292D4 pop {r3-r5, pc} - thumb_func_start sub_02028F60 -sub_02028F60: ; 0x02028F60 + thumb_func_start FUN_02028F60 +FUN_02028F60: ; 0x02028F60 push {r4, lr} add r4, r1, #0x0 mov r3, #0x0 @@ -81101,14 +81101,14 @@ _02028F76: cmp r2, r1 beq _02028F92 _02028F8A: - bl sub_02028CA8 + bl FUN_02028CA8 ldrb r1, [r4, #0x0] strb r1, [r0, #0x0] _02028F92: pop {r4, pc} - thumb_func_start sub_02028F94 -sub_02028F94: ; 0x02028F94 + thumb_func_start FUN_02028F94 +FUN_02028F94: ; 0x02028F94 ldrb r2, [r1, #0x0] strb r2, [r0, #0x0] ldrb r1, [r1, #0x1] @@ -81118,17 +81118,17 @@ sub_02028F94: ; 0x02028F94 bx lr .balign 4 - thumb_func_start sub_02028FA4 -sub_02028FA4: ; 0x02028FA4 + thumb_func_start FUN_02028FA4 +FUN_02028FA4: ; 0x02028FA4 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_020126B4 + bl FUN_020126B4 ldr r2, [r4, #0x0] mov r0, #0x7f bic r2, r0 @@ -81172,11 +81172,11 @@ _02029008: .word 0xFFFFF87F _0202900C: .word 0xFFF83FFF _02029010: .word 0xFFFFC7FF - thumb_func_start sub_02029014 -sub_02029014: ; 0x02029014 + thumb_func_start FUN_02029014 +FUN_02029014: ; 0x02029014 push {r3, lr} mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -81188,89 +81188,89 @@ sub_02029014: ; 0x02029014 strb r1, [r0, #0x7] pop {r3, pc} - thumb_func_start sub_02029030 -sub_02029030: ; 0x02029030 + thumb_func_start FUN_02029030 +FUN_02029030: ; 0x02029030 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x1 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202903C -sub_0202903C: ; 0x0202903C + thumb_func_start FUN_0202903C +FUN_0202903C: ; 0x0202903C push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x2 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029048 -sub_02029048: ; 0x02029048 + thumb_func_start FUN_02029048 +FUN_02029048: ; 0x02029048 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x3 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029054 -sub_02029054: ; 0x02029054 + thumb_func_start FUN_02029054 +FUN_02029054: ; 0x02029054 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x4 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029060 -sub_02029060: ; 0x02029060 + thumb_func_start FUN_02029060 +FUN_02029060: ; 0x02029060 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x5 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202906C -sub_0202906C: ; 0x0202906C + thumb_func_start FUN_0202906C +FUN_0202906C: ; 0x0202906C push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x6 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029078 -sub_02029078: ; 0x02029078 + thumb_func_start FUN_02029078 +FUN_02029078: ; 0x02029078 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x7 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029084 -sub_02029084: ; 0x02029084 + thumb_func_start FUN_02029084 +FUN_02029084: ; 0x02029084 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x8 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029090 -sub_02029090: ; 0x02029090 + thumb_func_start FUN_02029090 +FUN_02029090: ; 0x02029090 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0x9 strb r1, [r0, #0x0] strh r4, [r0, #0x2] pop {r4, pc} .balign 4 - thumb_func_start sub_020290A4 -sub_020290A4: ; 0x020290A4 + thumb_func_start FUN_020290A4 +FUN_020290A4: ; 0x020290A4 push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xa strb r1, [r0, #0x0] strh r5, [r0, #0x2] @@ -81278,127 +81278,127 @@ sub_020290A4: ; 0x020290A4 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020290BC -sub_020290BC: ; 0x020290BC + thumb_func_start FUN_020290BC +FUN_020290BC: ; 0x020290BC push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xb strb r1, [r0, #0x0] strh r4, [r0, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_020290D0 -sub_020290D0: ; 0x020290D0 + thumb_func_start FUN_020290D0 +FUN_020290D0: ; 0x020290D0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xc strb r1, [r0, #0x0] strh r4, [r0, #0x4] pop {r4, pc} .balign 4 - thumb_func_start sub_020290E4 -sub_020290E4: ; 0x020290E4 + thumb_func_start FUN_020290E4 +FUN_020290E4: ; 0x020290E4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xd strb r1, [r0, #0x0] strh r4, [r0, #0x2] pop {r4, pc} .balign 4 - thumb_func_start sub_020290F8 -sub_020290F8: ; 0x020290F8 + thumb_func_start FUN_020290F8 +FUN_020290F8: ; 0x020290F8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xe strb r1, [r0, #0x0] strh r4, [r0, #0x2] pop {r4, pc} .balign 4 - thumb_func_start sub_0202910C -sub_0202910C: ; 0x0202910C + thumb_func_start FUN_0202910C +FUN_0202910C: ; 0x0202910C push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0xf strb r1, [r0, #0x0] strh r4, [r0, #0x2] pop {r4, pc} .balign 4 - thumb_func_start sub_02029120 -sub_02029120: ; 0x02029120 + thumb_func_start FUN_02029120 +FUN_02029120: ; 0x02029120 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x10 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202912C -sub_0202912C: ; 0x0202912C + thumb_func_start FUN_0202912C +FUN_0202912C: ; 0x0202912C push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x11 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029138 -sub_02029138: ; 0x02029138 + thumb_func_start FUN_02029138 +FUN_02029138: ; 0x02029138 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 mov r1, #0x12 strb r1, [r0, #0x0] strh r4, [r0, #0x6] pop {r4, pc} .balign 4 - thumb_func_start sub_0202914C -sub_0202914C: ; 0x0202914C + thumb_func_start FUN_0202914C +FUN_0202914C: ; 0x0202914C push {r3-r5, lr} add r5, r0, #0x0 add r0, r2, #0x0 add r4, r1, #0x0 - bl sub_02029014 + bl FUN_02029014 add r5, #0x13 strb r5, [r0, #0x0] strh r4, [r0, #0x2] pop {r3-r5, pc} - thumb_func_start sub_02029160 -sub_02029160: ; 0x02029160 + thumb_func_start FUN_02029160 +FUN_02029160: ; 0x02029160 push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x22 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202916C -sub_0202916C: ; 0x0202916C + thumb_func_start FUN_0202916C +FUN_0202916C: ; 0x0202916C push {r3, lr} - bl sub_02029014 + bl FUN_02029014 mov r1, #0x23 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029178 -sub_02029178: ; 0x02029178 + thumb_func_start FUN_02029178 +FUN_02029178: ; 0x02029178 push {r3, lr} mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -81406,15 +81406,15 @@ sub_02029178: ; 0x02029178 strb r1, [r0, #0x3] pop {r3, pc} - thumb_func_start sub_0202918C -sub_0202918C: ; 0x0202918C + thumb_func_start FUN_0202918C +FUN_0202918C: ; 0x0202918C push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, [sp, #0x18] add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02029178 + bl FUN_02029178 add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] @@ -81434,9 +81434,9 @@ sub_0202918C: ; 0x0202918C orr r0, r1 strb r0, [r4, #0x1] ldr r0, [sp, #0x0] - bl sub_02029EC0 + bl FUN_02029EC0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 beq _020291DA @@ -81475,15 +81475,15 @@ _02029206: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202920C -sub_0202920C: ; 0x0202920C + thumb_func_start FUN_0202920C +FUN_0202920C: ; 0x0202920C push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, [sp, #0x18] add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02029178 + bl FUN_02029178 add r4, r0, #0x0 mov r0, #0x2 strb r0, [r4, #0x0] @@ -81503,9 +81503,9 @@ sub_0202920C: ; 0x0202920C orr r0, r1 strb r0, [r4, #0x1] ldr r0, [sp, #0x0] - bl sub_02029EC0 + bl FUN_02029EC0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, #0x1 @@ -81544,14 +81544,14 @@ _02029288: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0202928C -sub_0202928C: ; 0x0202928C + thumb_func_start FUN_0202928C +FUN_0202928C: ; 0x0202928C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r0, r2, #0x0 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 ldrh r2, [r0, #0x0] mov r1, #0x1 bic r2, r1 @@ -81570,21 +81570,21 @@ sub_0202928C: ; 0x0202928C .balign 4 _020292B8: .word 0xFFFF0001 - thumb_func_start sub_020292BC -sub_020292BC: ; 0x020292BC + thumb_func_start FUN_020292BC +FUN_020292BC: ; 0x020292BC push {r4, lr} mov r1, #0x3a - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x3a add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020292D4 -sub_020292D4: ; 0x020292D4 + thumb_func_start FUN_020292D4 +FUN_020292D4: ; 0x020292D4 push {r4-r5} mov r4, #0x0 cmp r2, #0x0 @@ -81618,14 +81618,14 @@ _02029304: .balign 4 _02029308: .word 0x0000FFFF - thumb_func_start sub_0202930C -sub_0202930C: ; 0x0202930C + thumb_func_start FUN_0202930C +FUN_0202930C: ; 0x0202930C push {r3-r7, lr} add r7, r0, #0x0 add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] @@ -81646,19 +81646,19 @@ sub_0202930C: ; 0x0202930C strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202934C -sub_0202934C: ; 0x0202934C + thumb_func_start FUN_0202934C +FUN_0202934C: ; 0x0202934C push {r3-r7, lr} add r7, r0, #0x0 add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x2 strb r0, [r4, #0x0] @@ -81679,20 +81679,20 @@ sub_0202934C: ; 0x0202934C strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202938C -sub_0202938C: ; 0x0202938C + thumb_func_start FUN_0202938C +FUN_0202938C: ; 0x0202938C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [sp, #0x1c] str r1, [sp, #0x0] add r5, r2, #0x0 add r6, r3, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x3 strb r0, [r4, #0x0] @@ -81722,24 +81722,24 @@ sub_0202938C: ; 0x0202938C strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r1, r4, #0x0 ldr r0, [sp, #0x0] add r1, #0x12 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020293EC -sub_020293EC: ; 0x020293EC + thumb_func_start FUN_020293EC +FUN_020293EC: ; 0x020293EC push {r3-r7, lr} add r7, r0, #0x0 add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x4 strb r0, [r4, #0x0] @@ -81760,18 +81760,18 @@ sub_020293EC: ; 0x020293EC strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202942C -sub_0202942C: ; 0x0202942C + thumb_func_start FUN_0202942C +FUN_0202942C: ; 0x0202942C push {r4-r6, lr} add r6, r0, #0x0 add r0, r2, #0x0 add r5, r1, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x6 strb r0, [r4, #0x0] @@ -81785,20 +81785,20 @@ sub_0202942C: ; 0x0202942C strb r0, [r4, #0x1] add r0, r6, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202945C -sub_0202945C: ; 0x0202945C + thumb_func_start FUN_0202945C +FUN_0202945C: ; 0x0202945C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [sp, #0x18] add r5, r1, #0x0 str r2, [sp, #0x0] add r6, r3, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0x7 strb r0, [r4, #0x0] @@ -81819,31 +81819,31 @@ sub_0202945C: ; 0x0202945C strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r1, r4, #0x0 ldr r0, [sp, #0x0] add r1, #0x22 mov r2, #0xc - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020294A8 -sub_020294A8: ; 0x020294A8 + thumb_func_start FUN_020294A8 +FUN_020294A8: ; 0x020294A8 push {r3, lr} - bl sub_020292BC + bl FUN_020292BC mov r1, #0x8 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_020294B4 -sub_020294B4: ; 0x020294B4 + thumb_func_start FUN_020294B4 +FUN_020294B4: ; 0x020294B4 push {r3-r7, lr} add r7, r0, #0x0 add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0xb strb r0, [r4, #0x0] @@ -81864,25 +81864,25 @@ sub_020294B4: ; 0x020294B4 strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020294F4 -sub_020294F4: ; 0x020294F4 + thumb_func_start FUN_020294F4 +FUN_020294F4: ; 0x020294F4 push {r3, lr} - bl sub_020292BC + bl FUN_020292BC mov r1, #0xc strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029500 -sub_02029500: ; 0x02029500 + thumb_func_start FUN_02029500 +FUN_02029500: ; 0x02029500 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_020292BC + bl FUN_020292BC mov r1, #0xd strb r1, [r0, #0x0] ldrb r2, [r0, #0x1] @@ -81895,23 +81895,23 @@ sub_02029500: ; 0x02029500 pop {r4, pc} .balign 4 - thumb_func_start sub_02029520 -sub_02029520: ; 0x02029520 + thumb_func_start FUN_02029520 +FUN_02029520: ; 0x02029520 push {r3, lr} - bl sub_020292BC + bl FUN_020292BC mov r1, #0xe strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202952C -sub_0202952C: ; 0x0202952C + thumb_func_start FUN_0202952C +FUN_0202952C: ; 0x0202952C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [sp, #0x18] add r5, r1, #0x0 str r2, [sp, #0x0] add r6, r3, #0x0 - bl sub_020292BC + bl FUN_020292BC add r4, r0, #0x0 mov r0, #0xf strb r0, [r4, #0x0] @@ -81932,25 +81932,25 @@ sub_0202952C: ; 0x0202952C strb r0, [r4, #0x1] add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_020292D4 + bl FUN_020292D4 add r1, r4, #0x0 ldr r0, [sp, #0x0] add r1, #0x22 mov r2, #0xc - bl sub_020292D4 + bl FUN_020292D4 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02029578 -sub_02029578: ; 0x02029578 + thumb_func_start FUN_02029578 +FUN_02029578: ; 0x02029578 push {r3, lr} - bl sub_020292BC + bl FUN_020292BC mov r1, #0x10 strb r1, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_02029584 -sub_02029584: ; 0x02029584 + thumb_func_start FUN_02029584 +FUN_02029584: ; 0x02029584 push {r3, lr} cmp r2, #0x4 bhi _020295DA @@ -81968,7 +81968,7 @@ sub_02029584: ; 0x02029584 mov r2, #0x70 mul r2, r3 add r0, r0, r2 - bl sub_020295DC + bl FUN_020295DC pop {r3, pc} _020295AC: .byte 0x70, 0x22, 0x5A, 0x43 @@ -81978,15 +81978,15 @@ _020295AC: _020295DA: pop {r3, pc} - thumb_func_start sub_020295DC -sub_020295DC: ; 0x020295DC + thumb_func_start FUN_020295DC +FUN_020295DC: ; 0x020295DC ldr r0, [r0, #0x0] str r0, [r1, #0x0] bx lr .balign 4 - thumb_func_start sub_020295E4 -sub_020295E4: ; 0x020295E4 + thumb_func_start FUN_020295E4 +FUN_020295E4: ; 0x020295E4 push {r3-r7, lr} mov r6, #0x0 add r5, r0, #0x0 @@ -82049,7 +82049,7 @@ _020295EE: lsl r6, r0, #0x1 lsl r6, r0, #0x1 add r1, r4, #0x0 - bl sub_02029730 + bl FUN_02029730 b _02029682 _02029664: .byte 0x21, 0x1C, 0x00, 0xF0, 0x67, 0xF8, 0x0A, 0xE0, 0x21, 0x1C, 0x00, 0xF0 @@ -82064,8 +82064,8 @@ _02029682: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02029690 -sub_02029690: ; 0x02029690 + thumb_func_start FUN_02029690 +FUN_02029690: ; 0x02029690 ldrh r2, [r0, #0x14] strh r2, [r1, #0x0] ldrh r0, [r0, #0x16] @@ -82073,8 +82073,8 @@ sub_02029690: ; 0x02029690 bx lr .balign 4 - thumb_func_start sub_0202969C -sub_0202969C: ; 0x0202969C + thumb_func_start FUN_0202969C +FUN_0202969C: ; 0x0202969C ldrh r2, [r0, #0x18] strh r2, [r1, #0x0] ldrh r0, [r0, #0x1a] @@ -82082,8 +82082,8 @@ sub_0202969C: ; 0x0202969C bx lr .balign 4 - thumb_func_start sub_020296A8 -sub_020296A8: ; 0x020296A8 + thumb_func_start FUN_020296A8 +FUN_020296A8: ; 0x020296A8 push {r3-r7, lr} add r6, r0, #0x0 add r5, r6, #0x0 @@ -82094,7 +82094,7 @@ _020296B4: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x3a - blx sub_020DF4A4 + blx FUN_020DF4A4 ldrb r0, [r6, #0x1c] cmp r0, #0x10 bhi _02029722 @@ -82123,7 +82123,7 @@ _020296B4: lsl r6, r7, #0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02029774 + bl FUN_02029774 b _02029722 _020296FC: .byte 0x28, 0x1C, 0x21, 0x1C @@ -82139,15 +82139,15 @@ _02029722: blo _020296B4 pop {r3-r7, pc} - thumb_func_start sub_02029730 -sub_02029730: ; 0x02029730 + thumb_func_start FUN_02029730 +FUN_02029730: ; 0x02029730 mov r2, #0x3f and r0, r2 strb r0, [r1, #0x0] bx lr - thumb_func_start sub_02029738 -sub_02029738: ; 0x02029738 + thumb_func_start FUN_02029738 +FUN_02029738: ; 0x02029738 mov r2, #0x3f and r2, r0 strb r2, [r1, #0x0] @@ -82161,8 +82161,8 @@ sub_02029738: ; 0x02029738 .balign 4 _0202974C: .word 0x000003FF - thumb_func_start sub_02029750 -sub_02029750: ; 0x02029750 + thumb_func_start FUN_02029750 +FUN_02029750: ; 0x02029750 mov r2, #0x3f and r2, r0 strb r2, [r1, #0x0] @@ -82170,8 +82170,8 @@ sub_02029750: ; 0x02029750 strh r0, [r1, #0x2] bx lr - thumb_func_start sub_0202975C -sub_0202975C: ; 0x0202975C + thumb_func_start FUN_0202975C +FUN_0202975C: ; 0x0202975C mov r2, #0x3f and r2, r0 strb r2, [r1, #0x0] @@ -82179,8 +82179,8 @@ sub_0202975C: ; 0x0202975C strh r0, [r1, #0x6] bx lr - thumb_func_start sub_02029768 -sub_02029768: ; 0x02029768 + thumb_func_start FUN_02029768 +FUN_02029768: ; 0x02029768 mov r2, #0x3f and r2, r0 strb r2, [r1, #0x0] @@ -82188,8 +82188,8 @@ sub_02029768: ; 0x02029768 strh r0, [r1, #0x2] bx lr - thumb_func_start sub_02029774 -sub_02029774: ; 0x02029774 + thumb_func_start FUN_02029774 +FUN_02029774: ; 0x02029774 push {r3-r5, lr} add r5, r0, #0x0 ldrb r0, [r5, #0x0] @@ -82235,18 +82235,18 @@ sub_02029774: ; 0x02029774 add r0, r5, #0x2 add r1, r4, #0x2 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 add r5, #0x12 add r4, #0x12 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020297E4 -sub_020297E4: ; 0x020297E4 + thumb_func_start FUN_020297E4 +FUN_020297E4: ; 0x020297E4 ldrb r2, [r0, #0x0] strb r2, [r1, #0x0] ldrb r3, [r1, #0x1] @@ -82258,15 +82258,15 @@ sub_020297E4: ; 0x020297E4 lsr r2, r2, #0x1b orr r2, r3 strb r2, [r1, #0x1] - ldr r3, _02029804 ; =sub_020292D4 + ldr r3, _02029804 ; =FUN_020292D4 add r1, r1, #0x2 mov r2, #0x8 bx r3 nop -_02029804: .word sub_020292D4 + 1 +_02029804: .word FUN_020292D4 + 1 - thumb_func_start sub_02029808 -sub_02029808: ; 0x02029808 + thumb_func_start FUN_02029808 +FUN_02029808: ; 0x02029808 push {r3-r5, lr} add r5, r0, #0x0 ldrb r0, [r5, #0x0] @@ -82300,25 +82300,25 @@ sub_02029808: ; 0x02029808 add r0, r5, #0x2 add r1, r4, #0x2 mov r2, #0x8 - bl sub_020292D4 + bl FUN_020292D4 add r5, #0x12 add r4, #0x22 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0xc - bl sub_020292D4 + bl FUN_020292D4 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02029860 -sub_02029860: ; 0x02029860 + thumb_func_start FUN_02029860 +FUN_02029860: ; 0x02029860 ldrb r0, [r0, #0x0] strb r0, [r1, #0x0] bx lr .balign 4 - thumb_func_start sub_02029868 -sub_02029868: ; 0x02029868 + thumb_func_start FUN_02029868 +FUN_02029868: ; 0x02029868 ldrb r2, [r0, #0x0] strb r2, [r1, #0x0] ldrb r3, [r1, #0x1] @@ -82332,8 +82332,8 @@ sub_02029868: ; 0x02029868 bx lr .balign 4 - thumb_func_start sub_02029880 -sub_02029880: ; 0x02029880 + thumb_func_start FUN_02029880 +FUN_02029880: ; 0x02029880 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 @@ -82344,35 +82344,35 @@ sub_02029880: ; 0x02029880 str r1, [sp, #0x0] add r5, r2, #0x0 ldr r6, [sp, #0x20] - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x1 bne _020298BA add r0, r5, #0x0 - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x1 bne _02029942 add r0, r4, #0x0 - bl sub_02034824 + bl FUN_02034824 lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r6, #0x0 - bl sub_020290F8 + bl FUN_020290F8 str r0, [sp, #0x4] b _02029942 _020298BA: add r0, r4, #0x0 - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x1 bne _0202991A add r0, r5, #0x0 - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x1 bne _02029942 ldr r0, _02029958 ; =0x0000019E cmp r4, r0 bne _020298DE add r0, r6, #0x0 - bl sub_02029030 + bl FUN_02029030 str r0, [sp, #0x4] b _02029942 _020298DE: @@ -82380,12 +82380,12 @@ _020298DE: cmp r4, r0 bne _020298EE add r0, r6, #0x0 - bl sub_0202903C + bl FUN_0202903C str r0, [sp, #0x4] b _02029942 _020298EE: add r0, r4, #0x0 - bl sub_02034824 + bl FUN_02034824 add r7, r0, #0x0 lsl r0, r7, #0x10 lsr r0, r0, #0x10 @@ -82398,7 +82398,7 @@ _02029900: bne _02029910 ldr r0, [sp, #0x8] add r1, r6, #0x0 - bl sub_0202910C + bl FUN_0202910C str r0, [sp, #0x4] _02029910: add r4, r4, #0x1 @@ -82408,20 +82408,20 @@ _02029910: b _02029942 _0202991A: add r0, r4, #0x0 - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x1 bne _02029942 add r0, r5, #0x0 - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x1 bne _02029942 add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_02029988 + bl FUN_02029988 cmp r0, #0xff beq _02029942 add r1, r6, #0x0 - bl sub_02029090 + bl FUN_02029090 str r0, [sp, #0x4] _02029942: ldr r0, [sp, #0x4] @@ -82430,7 +82430,7 @@ _02029942: ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 _02029952: add sp, #0xc pop {r4-r7, pc} @@ -82438,8 +82438,8 @@ _02029952: _02029958: .word 0x0000019E _0202995C: .word 0x020EE9A4 - thumb_func_start sub_02029960 -sub_02029960: ; 0x02029960 + thumb_func_start FUN_02029960 +FUN_02029960: ; 0x02029960 ldr r3, _02029980 ; =0x020EE9A4 mov r2, #0x0 _02029964: @@ -82461,8 +82461,8 @@ _02029972: _02029980: .word 0x020EE9A4 _02029984: .word 0x020EE9A8 - thumb_func_start sub_02029988 -sub_02029988: ; 0x02029988 + thumb_func_start FUN_02029988 +FUN_02029988: ; 0x02029988 push {r3-r5, lr} ldr r2, _020299B8 ; =0x020EE964 mov r4, #0x0 @@ -82474,7 +82474,7 @@ _0202998E: bne _020299A8 ldr r1, _020299BC ; =0x020EE96A ldrh r1, [r1, r3] - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _020299B2 add r0, r4, #0x0 @@ -82492,74 +82492,74 @@ _020299B2: _020299B8: .word 0x020EE964 _020299BC: .word 0x020EE96A - thumb_func_start sub_020299C0 -sub_020299C0: ; 0x020299C0 + thumb_func_start FUN_020299C0 +FUN_020299C0: ; 0x020299C0 push {r4, lr} add r4, r0, #0x0 lsl r0, r1, #0x10 lsr r0, r0, #0x10 add r1, r2, #0x0 - bl sub_020290E4 + bl FUN_020290E4 add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r4, pc} .balign 4 - thumb_func_start sub_020299DC -sub_020299DC: ; 0x020299DC + thumb_func_start FUN_020299DC +FUN_020299DC: ; 0x020299DC push {r3-r7, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r7, r1, #0x0 add r6, r3, #0x0 - bl sub_02029A48 + bl FUN_02029A48 cmp r0, #0x8 bhs _02029A04 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020290A4 + bl FUN_020290A4 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r3-r7, pc} _02029A04: bne _02029A1A add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020290BC + bl FUN_020290BC add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r3-r7, pc} _02029A1A: cmp r0, #0x9 bne _02029A32 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020290D0 + bl FUN_020290D0 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r3-r7, pc} _02029A32: add r0, r7, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0202928C + bl FUN_0202928C add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x3 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r3-r7, pc} - thumb_func_start sub_02029A48 -sub_02029A48: ; 0x02029A48 + thumb_func_start FUN_02029A48 +FUN_02029A48: ; 0x02029A48 ldr r2, _02029A7C ; =0x020EE964 mov r3, #0x0 _02029A4C: @@ -82594,23 +82594,23 @@ _02029A78: _02029A7C: .word 0x020EE964 _02029A80: .word 0x00000105 - thumb_func_start sub_02029A84 -sub_02029A84: ; 0x02029A84 + thumb_func_start FUN_02029A84 +FUN_02029A84: ; 0x02029A84 mov r0, #0x62 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02029A8C -sub_02029A8C: ; 0x02029A8C + thumb_func_start FUN_02029A8C +FUN_02029A8C: ; 0x02029A8C push {r4-r6, lr} mov r2, #0x62 add r4, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 - bl sub_02029ACC + bl FUN_02029ACC add r5, r0, #0x0 mov r4, #0x0 mov r6, #0x8c @@ -82619,73 +82619,73 @@ _02029AA6: lsr r0, r0, #0x18 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02029AD8 + bl FUN_02029AD8 add r4, r4, #0x1 cmp r4, #0x8 blt _02029AA6 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02029ABC -sub_02029ABC: ; 0x02029ABC - ldr r3, _02029AC4 ; =sub_02022610 + thumb_func_start FUN_02029ABC +FUN_02029ABC: ; 0x02029ABC + ldr r3, _02029AC4 ; =FUN_02022610 mov r1, #0x13 bx r3 nop -_02029AC4: .word sub_02022610 + 1 +_02029AC4: .word FUN_02022610 + 1 - thumb_func_start sub_02029AC8 -sub_02029AC8: ; 0x02029AC8 + thumb_func_start FUN_02029AC8 +FUN_02029AC8: ; 0x02029AC8 add r0, #0x20 bx lr - thumb_func_start sub_02029ACC -sub_02029ACC: ; 0x02029ACC + thumb_func_start FUN_02029ACC +FUN_02029ACC: ; 0x02029ACC bx lr .balign 4 - thumb_func_start sub_02029AD0 -sub_02029AD0: ; 0x02029AD0 + thumb_func_start FUN_02029AD0 +FUN_02029AD0: ; 0x02029AD0 lsl r0, r0, #0x2 ldr r0, [r1, r0] bx lr .balign 4 - thumb_func_start sub_02029AD8 -sub_02029AD8: ; 0x02029AD8 + thumb_func_start FUN_02029AD8 +FUN_02029AD8: ; 0x02029AD8 lsl r0, r0, #0x2 str r1, [r2, r0] bx lr .balign 4 - thumb_func_start sub_02029AE0 -sub_02029AE0: ; 0x02029AE0 + thumb_func_start FUN_02029AE0 +FUN_02029AE0: ; 0x02029AE0 ldr r0, _02029AE4 ; =0x00000FF8 bx lr .balign 4 _02029AE4: .word 0x00000FF8 - thumb_func_start sub_02029AE8 -sub_02029AE8: ; 0x02029AE8 - ldr r3, _02029AF4 ; =sub_020CE1FC + thumb_func_start FUN_02029AE8 +FUN_02029AE8: ; 0x02029AE8 + ldr r3, _02029AF4 ; =FUN_020CE1FC add r1, r0, #0x0 mov r0, #0x0 ldr r2, _02029AF8 ; =0x00000FF8 bx r3 nop -_02029AF4: .word sub_020CE1FC +_02029AF4: .word FUN_020CE1FC _02029AF8: .word 0x00000FF8 - thumb_func_start sub_02029AFC -sub_02029AFC: ; 0x02029AFC - ldr r3, _02029B04 ; =sub_02022610 + thumb_func_start FUN_02029AFC +FUN_02029AFC: ; 0x02029AFC + ldr r3, _02029B04 ; =FUN_02022610 mov r1, #0x1e bx r3 nop -_02029B04: .word sub_02022610 + 1 +_02029B04: .word FUN_02022610 + 1 - thumb_func_start sub_02029B08 -sub_02029B08: ; 0x02029B08 + thumb_func_start FUN_02029B08 +FUN_02029B08: ; 0x02029B08 push {r4-r6, lr} add r6, r0, #0x0 mov r0, #0x1 @@ -82694,11 +82694,11 @@ sub_02029B08: ; 0x02029B08 add r4, r2, #0x0 cmp r5, r0 blt _02029B1C - bl sub_02020C2C + bl FUN_02020C2C _02029B1C: cmp r4, #0x40 blt _02029B24 - bl sub_02020C2C + bl FUN_02020C2C _02029B24: strb r5, [r6, #0x5] add r0, r6, #0x0 @@ -82706,22 +82706,22 @@ _02029B24: add r2, r4, #0x0 mov r3, #0x3 strb r4, [r6, #0x6] - bl sub_02029B90 + bl FUN_02029B90 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02029B38 -sub_02029B38: ; 0x02029B38 + thumb_func_start FUN_02029B38 +FUN_02029B38: ; 0x02029B38 ldrb r0, [r0, #0x5] bx lr - thumb_func_start sub_02029B3C -sub_02029B3C: ; 0x02029B3C + thumb_func_start FUN_02029B3C +FUN_02029B3C: ; 0x02029B3C ldrb r0, [r0, #0x6] bx lr - thumb_func_start sub_02029B40 -sub_02029B40: ; 0x02029B40 + thumb_func_start FUN_02029B40 +FUN_02029B40: ; 0x02029B40 push {r4-r6, lr} add r6, r0, #0x0 mov r0, #0x1 @@ -82730,11 +82730,11 @@ sub_02029B40: ; 0x02029B40 add r4, r2, #0x0 cmp r5, r0 blt _02029B54 - bl sub_02020C2C + bl FUN_02020C2C _02029B54: cmp r4, #0x40 blt _02029B5C - bl sub_02020C2C + bl FUN_02020C2C _02029B5C: cmp r5, #0x0 bne _02029B64 @@ -82764,8 +82764,8 @@ _02029B64: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02029B90 -sub_02029B90: ; 0x02029B90 + thumb_func_start FUN_02029B90 +FUN_02029B90: ; 0x02029B90 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -82773,17 +82773,17 @@ sub_02029B90: ; 0x02029B90 str r3, [sp, #0x0] cmp r3, #0x4 blt _02029BA2 - bl sub_02020C2C + bl FUN_02020C2C _02029BA2: mov r0, #0x1 lsl r0, r0, #0x8 cmp r5, r0 blt _02029BAE - bl sub_02020C2C + bl FUN_02020C2C _02029BAE: cmp r4, #0x40 blt _02029BB6 - bl sub_02020C2C + bl FUN_02020C2C _02029BB6: cmp r5, #0x0 beq _02029BFE @@ -82819,22 +82819,22 @@ _02029BB6: beq _02029BFE add r0, r7, #0x0 mov r1, #0x1 - bl sub_02029C04 + bl FUN_02029C04 _02029BFE: pop {r3-r7, pc} - thumb_func_start sub_02029C00 -sub_02029C00: ; 0x02029C00 + thumb_func_start FUN_02029C00 +FUN_02029C00: ; 0x02029C00 ldrb r0, [r0, #0x4] bx lr - thumb_func_start sub_02029C04 -sub_02029C04: ; 0x02029C04 + thumb_func_start FUN_02029C04 +FUN_02029C04: ; 0x02029C04 strb r1, [r0, #0x4] bx lr - thumb_func_start sub_02029C08 -sub_02029C08: ; 0x02029C08 + thumb_func_start FUN_02029C08 +FUN_02029C08: ; 0x02029C08 push {r3-r7, lr} mov lr, r0 mov r0, #0x3 @@ -82879,48 +82879,48 @@ _02029C40: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02029C58 -sub_02029C58: ; 0x02029C58 + thumb_func_start FUN_02029C58 +FUN_02029C58: ; 0x02029C58 mov r0, #0x17 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02029C60 -sub_02029C60: ; 0x02029C60 + thumb_func_start FUN_02029C60 +FUN_02029C60: ; 0x02029C60 push {r4, lr} add r4, r0, #0x0 - bl sub_02029C58 + bl FUN_02029C58 add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C pop {r4, pc} - thumb_func_start sub_02029C74 -sub_02029C74: ; 0x02029C74 - ldr r3, _02029C7C ; =sub_020CE3E0 + thumb_func_start FUN_02029C74 +FUN_02029C74: ; 0x02029C74 + ldr r3, _02029C7C ; =FUN_020CE3E0 mov r2, #0x18 bx r3 nop -_02029C7C: .word sub_020CE3E0 +_02029C7C: .word FUN_020CE3E0 - thumb_func_start sub_02029C80 -sub_02029C80: ; 0x02029C80 - ldr r3, _02029C88 ; =sub_02022610 + thumb_func_start FUN_02029C80 +FUN_02029C80: ; 0x02029C80 + ldr r3, _02029C88 ; =FUN_02022610 mov r1, #0x15 bx r3 nop -_02029C88: .word sub_02022610 + 1 +_02029C88: .word FUN_02022610 + 1 - thumb_func_start sub_02029C8C -sub_02029C8C: ; 0x02029C8C + thumb_func_start FUN_02029C8C +FUN_02029C8C: ; 0x02029C8C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0xc blt _02029C9A - bl sub_02020C2C + bl FUN_02020C2C _02029C9A: mov r0, #0x18 mul r0, r4 @@ -82928,33 +82928,33 @@ _02029C9A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02029CA4 -sub_02029CA4: ; 0x02029CA4 + thumb_func_start FUN_02029CA4 +FUN_02029CA4: ; 0x02029CA4 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 cmp r6, #0xc blt _02029CB4 - bl sub_02020C2C + bl FUN_02020C2C _02029CB4: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02029C8C + bl FUN_02029C8C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02029C74 + bl FUN_02029C74 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02029CC8 -sub_02029CC8: ; 0x02029CC8 + thumb_func_start FUN_02029CC8 +FUN_02029CC8: ; 0x02029CC8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blt _02029CD6 - bl sub_02020C2C + bl FUN_02020C2C _02029CD6: lsl r0, r4, #0x1 add r0, r4, r0 @@ -82962,35 +82962,35 @@ _02029CD6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02029CE0 -sub_02029CE0: ; 0x02029CE0 + thumb_func_start FUN_02029CE0 +FUN_02029CE0: ; 0x02029CE0 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02029CE4 -sub_02029CE4: ; 0x02029CE4 + thumb_func_start FUN_02029CE4 +FUN_02029CE4: ; 0x02029CE4 ldrb r0, [r0, #0x1] bx lr - thumb_func_start sub_02029CE8 -sub_02029CE8: ; 0x02029CE8 + thumb_func_start FUN_02029CE8 +FUN_02029CE8: ; 0x02029CE8 ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_02029CEC -sub_02029CEC: ; 0x02029CEC + thumb_func_start FUN_02029CEC +FUN_02029CEC: ; 0x02029CEC mov r1, #0x12 lsl r1, r1, #0x4 add r0, r0, r1 bx lr - thumb_func_start sub_02029CF4 -sub_02029CF4: ; 0x02029CF4 + thumb_func_start FUN_02029CF4 +FUN_02029CF4: ; 0x02029CF4 ldrb r0, [r0, r1] bx lr - thumb_func_start sub_02029CF8 -sub_02029CF8: ; 0x02029CF8 + thumb_func_start FUN_02029CF8 +FUN_02029CF8: ; 0x02029CF8 mov r3, #0x0 add r2, r1, #0x1 _02029CFC: @@ -83008,8 +83008,8 @@ _02029D06: bx lr .balign 4 - thumb_func_start sub_02029D14 -sub_02029D14: ; 0x02029D14 + thumb_func_start FUN_02029D14 +FUN_02029D14: ; 0x02029D14 push {r4-r7} mov r6, #0x0 add r4, r6, #0x0 @@ -83036,19 +83036,19 @@ _02029D2A: pop {r4-r7} bx lr - thumb_func_start sub_02029D40 -sub_02029D40: ; 0x02029D40 + thumb_func_start FUN_02029D40 +FUN_02029D40: ; 0x02029D40 strb r2, [r0, r1] bx lr - thumb_func_start sub_02029D44 -sub_02029D44: ; 0x02029D44 + thumb_func_start FUN_02029D44 +FUN_02029D44: ; 0x02029D44 push {r4-r6, lr} add r5, r1, #0x0 sub r1, r5, #0x1 add r6, r0, #0x0 add r4, r2, #0x0 - bl sub_02029D14 + bl FUN_02029D14 mov r1, #0x12 lsl r1, r1, #0x4 add r2, r6, r1 @@ -83079,14 +83079,14 @@ _02029D7E: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02029D84 -sub_02029D84: ; 0x02029D84 + thumb_func_start FUN_02029D84 +FUN_02029D84: ; 0x02029D84 push {r4-r6, lr} add r5, r1, #0x0 sub r1, r5, #0x1 add r6, r0, #0x0 add r4, r2, #0x0 - bl sub_02029D14 + bl FUN_02029D14 cmp r4, #0x0 bge _02029DAC mov r0, #0x12 @@ -83125,14 +83125,14 @@ _02029DD0: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_02029DD4 -sub_02029DD4: ; 0x02029DD4 + thumb_func_start FUN_02029DD4 +FUN_02029DD4: ; 0x02029DD4 push {r4-r6, lr} add r5, r1, #0x0 sub r1, r5, #0x1 add r6, r0, #0x0 add r4, r2, #0x0 - bl sub_02029D14 + bl FUN_02029D14 sub r1, r5, #0x1 add r2, r6, r1 mov r1, #0x12 @@ -83158,8 +83158,8 @@ _02029E08: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02029E0C -sub_02029E0C: ; 0x02029E0C + thumb_func_start FUN_02029E0C +FUN_02029E0C: ; 0x02029E0C push {r4-r6, lr} add r6, r0, #0x0 mov r5, #0x0 @@ -83167,7 +83167,7 @@ sub_02029E0C: ; 0x02029E0C _02029E14: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02029E2C + bl FUN_02029E2C cmp r0, #0x0 beq _02029E22 add r5, r5, #0x1 @@ -83178,13 +83178,13 @@ _02029E22: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02029E2C -sub_02029E2C: ; 0x02029E2C + thumb_func_start FUN_02029E2C +FUN_02029E2C: ; 0x02029E2C push {r3-r5, lr} add r5, r1, #0x0 sub r1, r5, #0x1 add r4, r0, #0x0 - bl sub_02029D14 + bl FUN_02029D14 sub r1, r5, #0x1 add r2, r4, r1 mov r1, #0x12 @@ -83194,8 +83194,8 @@ sub_02029E2C: ; 0x02029E2C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02029E48 -sub_02029E48: ; 0x02029E48 + thumb_func_start FUN_02029E48 +FUN_02029E48: ; 0x02029E48 mov r1, #0x0 strh r1, [r0, #0x0] strb r1, [r0, #0x2] @@ -83203,8 +83203,8 @@ sub_02029E48: ; 0x02029E48 bx lr .balign 4 - thumb_func_start sub_02029E54 -sub_02029E54: ; 0x02029E54 + thumb_func_start FUN_02029E54 +FUN_02029E54: ; 0x02029E54 push {r3-r7, lr} add r5, r0, #0x0 ldrh r6, [r5, #0x0] @@ -83225,21 +83225,21 @@ _02029E6C: bls _02029EAE add r0, r7, #0x0 mov r1, #0x3c - blx sub_020EBE8C + blx FUN_020EBE8C add r4, r4, r0 add r0, r7, #0x0 mov r1, #0x3c - blx sub_020EBE8C + blx FUN_020EBE8C add r7, r1, #0x0 cmp r4, #0x3b bls _02029EAE add r0, r4, #0x0 mov r1, #0x3c - blx sub_020EBE8C + blx FUN_020EBE8C add r6, r6, r0 add r0, r4, #0x0 mov r1, #0x3c - blx sub_020EBE8C + blx FUN_020EBE8C ldr r0, _02029EB8 ; =0x000003E7 add r4, r1, #0x0 cmp r6, r0 @@ -83256,75 +83256,75 @@ _02029EB4: nop _02029EB8: .word 0x000003E7 - thumb_func_start sub_02029EBC -sub_02029EBC: ; 0x02029EBC + thumb_func_start FUN_02029EBC +FUN_02029EBC: ; 0x02029EBC ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_02029EC0 -sub_02029EC0: ; 0x02029EC0 + thumb_func_start FUN_02029EC0 +FUN_02029EC0: ; 0x02029EC0 ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_02029EC4 -sub_02029EC4: ; 0x02029EC4 + thumb_func_start FUN_02029EC4 +FUN_02029EC4: ; 0x02029EC4 mov r0, #0xfb lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_02029ECC -sub_02029ECC: ; 0x02029ECC + thumb_func_start FUN_02029ECC +FUN_02029ECC: ; 0x02029ECC push {r4, lr} add r4, r0, #0x0 mov r2, #0xfb mov r0, #0x0 add r1, r4, #0x0 lsl r2, r2, #0x2 - blx sub_020CE1FC + blx FUN_020CE1FC mov r0, #0x0 str r0, [r4, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02029EE4 -sub_02029EE4: ; 0x02029EE4 + thumb_func_start FUN_02029EE4 +FUN_02029EE4: ; 0x02029EE4 push {r4, lr} mov r1, #0xfb lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_02029ECC + bl FUN_02029ECC add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_02029EF8 -sub_02029EF8: ; 0x02029EF8 - ldr r3, _02029F00 ; =sub_02022610 + thumb_func_start FUN_02029EF8 +FUN_02029EF8: ; 0x02029EF8 + ldr r3, _02029F00 ; =FUN_02022610 mov r1, #0x16 bx r3 nop -_02029F00: .word sub_02022610 + 1 +_02029F00: .word FUN_02022610 + 1 - thumb_func_start sub_02029F04 -sub_02029F04: ; 0x02029F04 + thumb_func_start FUN_02029F04 +FUN_02029F04: ; 0x02029F04 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_02029F08 -sub_02029F08: ; 0x02029F08 + thumb_func_start FUN_02029F08 +FUN_02029F08: ; 0x02029F08 mov r1, #0x0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02029F10 -sub_02029F10: ; 0x02029F10 + thumb_func_start FUN_02029F10 +FUN_02029F10: ; 0x02029F10 add r0, r0, #0x4 bx lr - thumb_func_start sub_02029F14 -sub_02029F14: ; 0x02029F14 + thumb_func_start FUN_02029F14 +FUN_02029F14: ; 0x02029F14 push {r4-r7} mov r5, #0x0 mov r2, #0xfa @@ -83355,8 +83355,8 @@ _02029F20: pop {r4-r7} bx lr - thumb_func_start sub_02029F4C -sub_02029F4C: ; 0x02029F4C + thumb_func_start FUN_02029F4C +FUN_02029F4C: ; 0x02029F4C push {r4-r7} add r3, r0, #0x0 add r2, r1, #0x0 @@ -83399,46 +83399,46 @@ _02029F5A: bx lr .balign 4 - thumb_func_start sub_02029F9C -sub_02029F9C: ; 0x02029F9C + thumb_func_start FUN_02029F9C +FUN_02029F9C: ; 0x02029F9C add r2, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0xfb - ldr r3, _02029FAC ; =sub_020CE28C + ldr r3, _02029FAC ; =FUN_020CE28C lsl r2, r2, #0x2 bx r3 nop -_02029FAC: .word sub_020CE28C +_02029FAC: .word FUN_020CE28C - thumb_func_start sub_02029FB0 -sub_02029FB0: ; 0x02029FB0 + thumb_func_start FUN_02029FB0 +FUN_02029FB0: ; 0x02029FB0 mov r0, #0x53 lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_02029FB8 -sub_02029FB8: ; 0x02029FB8 - ldr r3, _02029FC4 ; =sub_020CE1FC + thumb_func_start FUN_02029FB8 +FUN_02029FB8: ; 0x02029FB8 + ldr r3, _02029FC4 ; =FUN_020CE1FC mov r2, #0x53 add r1, r0, #0x0 mov r0, #0x0 lsl r2, r2, #0x2 bx r3 .balign 4 -_02029FC4: .word sub_020CE1FC +_02029FC4: .word FUN_020CE1FC - thumb_func_start sub_02029FC8 -sub_02029FC8: ; 0x02029FC8 - ldr r3, _02029FD0 ; =sub_02022610 + thumb_func_start FUN_02029FC8 +FUN_02029FC8: ; 0x02029FC8 + ldr r3, _02029FD0 ; =FUN_02022610 mov r1, #0x14 bx r3 nop -_02029FD0: .word sub_02022610 + 1 +_02029FD0: .word FUN_02022610 + 1 - thumb_func_start sub_02029FD4 -sub_02029FD4: ; 0x02029FD4 + thumb_func_start FUN_02029FD4 +FUN_02029FD4: ; 0x02029FD4 push {r3, lr} cmp r1, #0x2c bge _02029FE0 @@ -83455,12 +83455,12 @@ _02029FE0: ldrh r0, [r0, #0x0] pop {r3, pc} _02029FF0: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02029FF8 -sub_02029FF8: ; 0x02029FF8 + thumb_func_start FUN_02029FF8 +FUN_02029FF8: ; 0x02029FF8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -83480,15 +83480,15 @@ _0202A008: strh r2, [r0, #0x0] b _0202A01E _0202A01A: - bl sub_02020C2C + bl FUN_02020C2C _0202A01E: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02029FD4 + bl FUN_02029FD4 pop {r3-r5, pc} - thumb_func_start sub_0202A028 -sub_0202A028: ; 0x0202A028 + thumb_func_start FUN_0202A028 +FUN_0202A028: ; 0x0202A028 push {r3, lr} cmp r0, #0x2c bge _0202A03E @@ -83514,7 +83514,7 @@ _0202A04E: ldr r0, _0202A06C ; =0x0000270F pop {r3, pc} _0202A052: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} nop @@ -83524,8 +83524,8 @@ _0202A064: .word 0x000F423F _0202A068: .word 0x0000FFFF _0202A06C: .word 0x0000270F - thumb_func_start sub_0202A070 -sub_0202A070: ; 0x0202A070 + thumb_func_start FUN_0202A070 +FUN_0202A070: ; 0x0202A070 lsl r1, r0, #0x1 ldr r0, _0202A078 ; =0x020EEA7C ldrh r0, [r0, r1] @@ -83533,41 +83533,41 @@ sub_0202A070: ; 0x0202A070 .balign 4 _0202A078: .word 0x020EEA7C - thumb_func_start sub_0202A07C -sub_0202A07C: ; 0x0202A07C + thumb_func_start FUN_0202A07C +FUN_0202A07C: ; 0x0202A07C push {r4-r6, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r0, r5, #0x0 add r4, r2, #0x0 - bl sub_0202A028 + bl FUN_0202A028 add r2, r0, #0x0 cmp r4, r2 bhs _0202A09C add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r4-r6, pc} _0202A09C: add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202A0A8 -sub_0202A0A8: ; 0x0202A0A8 + thumb_func_start FUN_0202A0A8 +FUN_0202A0A8: ; 0x0202A0A8 push {r3-r7, lr} add r6, r1, #0x0 add r7, r0, #0x0 add r0, r6, #0x0 add r5, r2, #0x0 - bl sub_0202A028 + bl FUN_0202A028 add r4, r0, #0x0 add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_02029FD4 + bl FUN_02029FD4 cmp r5, r4 bls _0202A0C6 add r5, r4, #0x0 @@ -83577,7 +83577,7 @@ _0202A0C6: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r3-r7, pc} _0202A0D6: cmp r0, r4 @@ -83585,74 +83585,74 @@ _0202A0D6: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 _0202A0E4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202A0E8 -sub_0202A0E8: ; 0x0202A0E8 + thumb_func_start FUN_0202A0E8 +FUN_0202A0E8: ; 0x0202A0E8 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0202A028 + bl FUN_0202A028 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02029FD4 + bl FUN_02029FD4 add r2, r0, #0x1 cmp r2, r4 bhs _0202A10E add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r4-r6, pc} _0202A10E: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202A11C -sub_0202A11C: ; 0x0202A11C + thumb_func_start FUN_0202A11C +FUN_0202A11C: ; 0x0202A11C push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r7, r2, #0x0 - bl sub_0202A028 + bl FUN_0202A028 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02029FD4 + bl FUN_02029FD4 add r2, r0, r7 cmp r2, r6 bhs _0202A144 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r3-r7, pc} _0202A144: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02029FF8 + bl FUN_02029FF8 pop {r3-r7, pc} - thumb_func_start sub_0202A150 -sub_0202A150: ; 0x0202A150 + thumb_func_start FUN_0202A150 +FUN_0202A150: ; 0x0202A150 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0202A028 + bl FUN_0202A028 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02029FD4 + bl FUN_02029FD4 cmp r0, r4 bhi _0202A16C add r4, r0, #0x0 @@ -83660,123 +83660,123 @@ _0202A16C: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0202A170 -sub_0202A170: ; 0x0202A170 + thumb_func_start FUN_0202A170 +FUN_0202A170: ; 0x0202A170 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x26 blt _0202A17E - bl sub_02020C2C + bl FUN_02020C2C _0202A17E: add r0, r5, #0x0 mov r1, #0x0 - bl sub_0202A150 + bl FUN_0202A150 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0202A070 + bl FUN_0202A070 ldr r2, _0202A1B4 ; =0x05F5E0FF add r0, r6, r0 cmp r0, r2 bls _0202A1A0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0202A07C + bl FUN_0202A07C pop {r4-r6, pc} _0202A1A0: add r0, r4, #0x0 - bl sub_0202A070 + bl FUN_0202A070 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0202A11C + bl FUN_0202A11C pop {r4-r6, pc} nop _0202A1B4: .word 0x05F5E0FF - thumb_func_start sub_0202A1B8 -sub_0202A1B8: ; 0x0202A1B8 - ldr r3, _0202A1C0 ; =sub_0202A150 + thumb_func_start FUN_0202A1B8 +FUN_0202A1B8: ; 0x0202A1B8 + ldr r3, _0202A1C0 ; =FUN_0202A150 mov r1, #0x0 bx r3 nop -_0202A1C0: .word sub_0202A150 + 1 +_0202A1C0: .word FUN_0202A150 + 1 - thumb_func_start sub_0202A1C4 -sub_0202A1C4: ; 0x0202A1C4 + thumb_func_start FUN_0202A1C4 +FUN_0202A1C4: ; 0x0202A1C4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 - bl sub_02024594 + bl FUN_02024594 cmp r0, #0x0 bne _0202A1DC add r0, r4, #0x0 mov r1, #0x16 - bl sub_0202A170 + bl FUN_0202A170 _0202A1DC: pop {r4, pc} .balign 4 - thumb_func_start sub_0202A1E0 -sub_0202A1E0: ; 0x0202A1E0 + thumb_func_start FUN_0202A1E0 +FUN_0202A1E0: ; 0x0202A1E0 mov r0, #0xe4 bx lr - thumb_func_start sub_0202A1E4 -sub_0202A1E4: ; 0x0202A1E4 - ldr r3, _0202A1EC ; =sub_020CE34C + thumb_func_start FUN_0202A1E4 +FUN_0202A1E4: ; 0x0202A1E4 + ldr r3, _0202A1EC ; =FUN_020CE34C mov r1, #0x0 mov r2, #0x3c bx r3 .balign 4 -_0202A1EC: .word sub_020CE34C +_0202A1EC: .word FUN_020CE34C - thumb_func_start sub_0202A1F0 -sub_0202A1F0: ; 0x0202A1F0 + thumb_func_start FUN_0202A1F0 +FUN_0202A1F0: ; 0x0202A1F0 push {r4, lr} mov r2, #0x5a mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x1 strb r0, [r4, #0x3] pop {r4, pc} - thumb_func_start sub_0202A204 -sub_0202A204: ; 0x0202A204 + thumb_func_start FUN_0202A204 +FUN_0202A204: ; 0x0202A204 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 - bl sub_02013764 + bl FUN_02013764 add r0, r4, #0x0 add r0, #0x8 mov r1, #0x1 - bl sub_02013764 + bl FUN_02013764 add r0, r4, #0x0 add r0, #0x10 mov r1, #0x2 - bl sub_02013764 + bl FUN_02013764 add r4, #0x18 add r0, r4, #0x0 mov r1, #0x3 - bl sub_02013764 + bl FUN_02013764 pop {r4, pc} .balign 4 - thumb_func_start sub_0202A230 -sub_0202A230: ; 0x0202A230 - ldr r3, _0202A238 ; =sub_020CE34C + thumb_func_start FUN_0202A230 +FUN_0202A230: ; 0x0202A230 + ldr r3, _0202A238 ; =FUN_020CE34C mov r1, #0x0 ldr r2, _0202A23C ; =0x00000B3C bx r3 .balign 4 -_0202A238: .word sub_020CE34C +_0202A238: .word FUN_020CE34C _0202A23C: .word 0x00000B3C - thumb_func_start sub_0202A240 -sub_0202A240: ; 0x0202A240 + thumb_func_start FUN_0202A240 +FUN_0202A240: ; 0x0202A240 push {r3, lr} cmp r1, #0xa bhi _0202A2BE @@ -83812,8 +83812,8 @@ _0202A2BE: pop {r3, pc} .balign 4 - thumb_func_start sub_0202A2C4 -sub_0202A2C4: ; 0x0202A2C4 + thumb_func_start FUN_0202A2C4 +FUN_0202A2C4: ; 0x0202A2C4 push {r4, lr} add r3, r0, #0x0 cmp r1, #0xa @@ -83855,8 +83855,8 @@ _0202A300: _0202A36A: pop {r4, pc} - thumb_func_start sub_0202A36C -sub_0202A36C: ; 0x0202A36C + thumb_func_start FUN_0202A36C +FUN_0202A36C: ; 0x0202A36C push {r3-r4} ldrb r4, [r0, #0x3] add r1, r4, r1 @@ -83883,15 +83883,15 @@ _0202A390: .balign 4 _0202A394: .word 0x0000FFFF - thumb_func_start sub_0202A398 -sub_0202A398: ; 0x0202A398 + thumb_func_start FUN_0202A398 +FUN_0202A398: ; 0x0202A398 ldrb r0, [r0, #0x0] lsl r0, r0, #0x1e lsr r0, r0, #0x1f bx lr - thumb_func_start sub_0202A3A0 -sub_0202A3A0: ; 0x0202A3A0 + thumb_func_start FUN_0202A3A0 +FUN_0202A3A0: ; 0x0202A3A0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 lsl r1, r1, #0x1f @@ -83903,8 +83903,8 @@ sub_0202A3A0: ; 0x0202A3A0 strb r1, [r0, #0x0] bx lr - thumb_func_start sub_0202A3B4 -sub_0202A3B4: ; 0x0202A3B4 + thumb_func_start FUN_0202A3B4 +FUN_0202A3B4: ; 0x0202A3B4 cmp r2, #0x6 bhi _0202A402 add r2, r2, r2 @@ -83938,8 +83938,8 @@ _0202A402: nop _0202A408: .word 0x0000270F - thumb_func_start sub_0202A40C -sub_0202A40C: ; 0x0202A40C + thumb_func_start FUN_0202A40C +FUN_0202A40C: ; 0x0202A40C cmp r1, #0x2 beq _0202A416 cmp r1, #0x3 @@ -83973,8 +83973,8 @@ _0202A440: ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_0202A444 -sub_0202A444: ; 0x0202A444 + thumb_func_start FUN_0202A444 +FUN_0202A444: ; 0x0202A444 cmp r1, #0x2 beq _0202A452 cmp r1, #0x3 @@ -84004,8 +84004,8 @@ _0202A46E: bx lr .balign 4 - thumb_func_start sub_0202A474 -sub_0202A474: ; 0x0202A474 + thumb_func_start FUN_0202A474 +FUN_0202A474: ; 0x0202A474 push {r3, lr} add r3, r0, #0x0 cmp r1, #0x0 @@ -84014,36 +84014,36 @@ sub_0202A474: ; 0x0202A474 add r0, r2, #0x0 add r1, r3, #0x0 mov r2, #0xa8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3, pc} _0202A48A: add r3, #0x18 add r0, r2, #0x0 add r1, r3, #0x0 mov r2, #0xa8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3, pc} - thumb_func_start sub_0202A498 -sub_0202A498: ; 0x0202A498 + thumb_func_start FUN_0202A498 +FUN_0202A498: ; 0x0202A498 push {r3, lr} cmp r1, #0x0 bne _0202A4AA add r1, r2, #0x0 add r0, #0xc0 mov r2, #0xa8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3, pc} _0202A4AA: add r1, r2, #0x0 add r0, #0x18 mov r2, #0xa8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3, pc} .balign 4 - thumb_func_start sub_0202A4B8 -sub_0202A4B8: ; 0x0202A4B8 + thumb_func_start FUN_0202A4B8 +FUN_0202A4B8: ; 0x0202A4B8 push {r4-r6, lr} add r6, r0, #0x0 ldrb r0, [r1, #0x2] @@ -84087,7 +84087,7 @@ _0202A502: add r0, #0x1e sub r0, r0, r1 mov r1, #0x1e - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r1, r0, #0x10 _0202A510: @@ -84100,25 +84100,25 @@ _0202A510: .balign 4 _0202A51C: .word 0x000003CA - thumb_func_start sub_0202A520 -sub_0202A520: ; 0x0202A520 + thumb_func_start FUN_0202A520 +FUN_0202A520: ; 0x0202A520 ldrh r0, [r0, #0x16] bx lr - thumb_func_start sub_0202A524 -sub_0202A524: ; 0x0202A524 + thumb_func_start FUN_0202A524 +FUN_0202A524: ; 0x0202A524 push {r3, lr} ldrh r0, [r0, #0x16] mov r1, #0xfa lsl r1, r1, #0x2 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 - thumb_func_start sub_0202A538 -sub_0202A538: ; 0x0202A538 + thumb_func_start FUN_0202A538 +FUN_0202A538: ; 0x0202A538 push {r4-r5} cmp r1, #0x5 bne _0202A544 @@ -84156,8 +84156,8 @@ _0202A56A: .balign 4 _0202A574: .word 0x0000FFFE - thumb_func_start sub_0202A578 -sub_0202A578: ; 0x0202A578 + thumb_func_start FUN_0202A578 +FUN_0202A578: ; 0x0202A578 push {r3-r4} mov r3, #0x1 mov r4, #0x0 @@ -84206,39 +84206,39 @@ _0202A5C2: .balign 4 _0202A5C8: .word 0x0000FFFF - thumb_func_start sub_0202A5CC -sub_0202A5CC: ; 0x0202A5CC + thumb_func_start FUN_0202A5CC +FUN_0202A5CC: ; 0x0202A5CC str r1, [r0, #0x4] bx lr - thumb_func_start sub_0202A5D0 -sub_0202A5D0: ; 0x0202A5D0 + thumb_func_start FUN_0202A5D0 +FUN_0202A5D0: ; 0x0202A5D0 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_0202A5D4 -sub_0202A5D4: ; 0x0202A5D4 + thumb_func_start FUN_0202A5D4 +FUN_0202A5D4: ; 0x0202A5D4 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x17 add r4, r2, #0x0 - bl sub_02022610 + bl FUN_02022610 mov r1, #0x69 lsl r1, r1, #0x2 add r1, r0, r1 lsl r0, r5, #0x3 add r0, r1, r0 add r1, r4, #0x0 - bl sub_02013960 + bl FUN_02013960 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202A5F4 -sub_0202A5F4: ; 0x0202A5F4 + thumb_func_start FUN_0202A5F4 +FUN_0202A5F4: ; 0x0202A5F4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x17 - bl sub_02022610 + bl FUN_02022610 mov r1, #0x69 lsl r1, r1, #0x2 add r1, r0, r1 @@ -84247,8 +84247,8 @@ sub_0202A5F4: ; 0x0202A5F4 pop {r4, pc} .balign 4 - thumb_func_start sub_0202A60C -sub_0202A60C: ; 0x0202A60C + thumb_func_start FUN_0202A60C +FUN_0202A60C: ; 0x0202A60C push {r3-r6} add r4, r3, #0x0 mov r3, #0x1 @@ -84301,23 +84301,23 @@ _0202A66C: pop {r3-r6} bx lr - thumb_func_start sub_0202A670 -sub_0202A670: ; 0x0202A670 + thumb_func_start FUN_0202A670 +FUN_0202A670: ; 0x0202A670 push {r4, lr} add r4, r0, #0x0 add r0, r4, #0x4 mov r1, #0x0 mov r2, #0xfa - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C pop {r4, pc} .balign 4 - thumb_func_start sub_0202A68C -sub_0202A68C: ; 0x0202A68C + thumb_func_start FUN_0202A68C +FUN_0202A68C: ; 0x0202A68C ldr r3, [r0, #0x0] ldr r2, [r1, #0x0] cmp r3, r2 @@ -84342,8 +84342,8 @@ _0202A6B0: mov r0, #0x0 bx lr - thumb_func_start sub_0202A6B4 -sub_0202A6B4: ; 0x0202A6B4 + thumb_func_start FUN_0202A6B4 +FUN_0202A6B4: ; 0x0202A6B4 push {r3-r7, lr} sub sp, #0x10 add r6, r2, #0x0 @@ -84377,11 +84377,11 @@ _0202A6CE: str r0, [sp, #0xc] add r0, r3, #0x0 add r1, sp, #0x0 - bl sub_0202A68C + bl FUN_0202A68C cmp r0, #0x0 beq _0202A706 add r0, r5, #0x0 - bl sub_0202A670 + bl FUN_0202A670 add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} @@ -84419,22 +84419,22 @@ _0202A73E: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0202A744 -sub_0202A744: ; 0x0202A744 + thumb_func_start FUN_0202A744 +FUN_0202A744: ; 0x0202A744 add r0, #0xfe ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202A74C -sub_0202A74C: ; 0x0202A74C + thumb_func_start FUN_0202A74C +FUN_0202A74C: ; 0x0202A74C add r0, #0xff ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202A754 -sub_0202A754: ; 0x0202A754 + thumb_func_start FUN_0202A754 +FUN_0202A754: ; 0x0202A754 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 @@ -84444,7 +84444,7 @@ sub_0202A754: ; 0x0202A754 ldr r2, _0202A77C ; =0x0000063C add r1, r5, r1 add r6, r3, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0202A780 ; =0x00000101 strb r4, [r5, r0] sub r0, r0, #0x1 @@ -84457,8 +84457,8 @@ sub_0202A754: ; 0x0202A754 _0202A77C: .word 0x0000063C _0202A780: .word 0x00000101 - thumb_func_start sub_0202A784 -sub_0202A784: ; 0x0202A784 + thumb_func_start FUN_0202A784 +FUN_0202A784: ; 0x0202A784 ldr r2, _0202A794 ; =0x00000101 ldrb r3, [r0, r2] sub r2, r2, #0x1 @@ -84469,8 +84469,8 @@ sub_0202A784: ; 0x0202A784 nop _0202A794: .word 0x00000101 - thumb_func_start sub_0202A798 -sub_0202A798: ; 0x0202A798 + thumb_func_start FUN_0202A798 +FUN_0202A798: ; 0x0202A798 push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x41 @@ -84497,7 +84497,7 @@ sub_0202A798: ; 0x0202A798 mov r1, #0x1a mov r2, #0x11 mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C add r1, r5, r4 add r1, #0xc8 ldrb r1, [r1, #0x0] @@ -84507,9 +84507,9 @@ sub_0202A798: ; 0x0202A798 lsr r1, r1, #0x1f add r1, #0x16 add r2, #0x8 - bl sub_0200A968 + bl FUN_0200A968 ldr r0, [sp, #0x0] - bl sub_0200A8B8 + bl FUN_0200A8B8 b _0202A7FC _0202A7EE: add r0, r5, r4 @@ -84517,36 +84517,36 @@ _0202A7EE: add r0, #0xa8 add r1, #0x8 mov r2, #0x10 - blx sub_020CE3E0 + blx FUN_020CE3E0 _0202A7FC: add r0, r5, r4 add r1, r6, #0x0 add r0, #0xca add r1, #0x18 mov r2, #0x8 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r5, r4 add r1, r6, #0x0 add r0, #0xd2 add r1, #0x20 mov r2, #0x8 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r5, r4 add r6, #0x28 add r0, #0xda add r1, r6, #0x0 mov r2, #0x8 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r5, r4 add r1, r7, #0x0 mov r2, #0xa8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3-r7, pc} nop _0202A834: .word 0x00002710 - thumb_func_start sub_0202A838 -sub_0202A838: ; 0x0202A838 + thumb_func_start FUN_0202A838 +FUN_0202A838: ; 0x0202A838 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 @@ -84557,7 +84557,7 @@ sub_0202A838: ; 0x0202A838 add r1, r5, r1 lsl r2, r2, #0x2 add r6, r3, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0202A860 ; =0x00000103 strb r4, [r5, r0] sub r0, r0, #0x1 @@ -84569,8 +84569,8 @@ sub_0202A838: ; 0x0202A838 .balign 4 _0202A860: .word 0x00000103 - thumb_func_start sub_0202A864 -sub_0202A864: ; 0x0202A864 + thumb_func_start FUN_0202A864 +FUN_0202A864: ; 0x0202A864 ldr r2, _0202A874 ; =0x00000103 ldrb r3, [r0, r2] sub r2, r2, #0x1 @@ -84581,14 +84581,14 @@ sub_0202A864: ; 0x0202A864 nop _0202A874: .word 0x00000103 - thumb_func_start sub_0202A878 -sub_0202A878: ; 0x0202A878 + thumb_func_start FUN_0202A878 +FUN_0202A878: ; 0x0202A878 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0xff lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x1d lsl r0, r0, #0x6 @@ -84596,69 +84596,69 @@ sub_0202A878: ; 0x0202A878 add r0, r5, r0 add r1, r4, #0x0 lsl r2, r2, #0x2 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0202A89C -sub_0202A89C: ; 0x0202A89C + thumb_func_start FUN_0202A89C +FUN_0202A89C: ; 0x0202A89C mov r0, #0xd lsl r0, r0, #0x8 bx lr .balign 4 - thumb_func_start sub_0202A8A4 -sub_0202A8A4: ; 0x0202A8A4 + thumb_func_start FUN_0202A8A4 +FUN_0202A8A4: ; 0x0202A8A4 push {r4, lr} add r4, r0, #0x0 - bl sub_0202A1E4 + bl FUN_0202A1E4 add r0, r4, #0x0 add r0, #0x3c - bl sub_0202A1F0 + bl FUN_0202A1F0 mov r0, #0x69 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0202A204 + bl FUN_0202A204 mov r0, #0x71 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0202A230 + bl FUN_0202A230 pop {r4, pc} .balign 4 - thumb_func_start sub_0202A8CC -sub_0202A8CC: ; 0x0202A8CC - ldr r3, _0202A8D4 ; =sub_02022610 + thumb_func_start FUN_0202A8CC +FUN_0202A8CC: ; 0x0202A8CC + ldr r3, _0202A8D4 ; =FUN_02022610 mov r1, #0x17 bx r3 nop -_0202A8D4: .word sub_02022610 + 1 +_0202A8D4: .word FUN_02022610 + 1 - thumb_func_start sub_0202A8D8 -sub_0202A8D8: ; 0x0202A8D8 + thumb_func_start FUN_0202A8D8 +FUN_0202A8D8: ; 0x0202A8D8 push {r3, lr} mov r1, #0x17 - bl sub_02022610 + bl FUN_02022610 add r0, #0x3c pop {r3, pc} - thumb_func_start sub_0202A8E4 -sub_0202A8E4: ; 0x0202A8E4 + thumb_func_start FUN_0202A8E4 +FUN_0202A8E4: ; 0x0202A8E4 push {r3, lr} mov r1, #0x17 - bl sub_02022610 + bl FUN_02022610 mov r1, #0x71 lsl r1, r1, #0x2 add r0, r0, r1 pop {r3, pc} - thumb_func_start sub_0202A8F4 -sub_0202A8F4: ; 0x0202A8F4 + thumb_func_start FUN_0202A8F4 +FUN_0202A8F4: ; 0x0202A8F4 mov r0, #0xe bx lr - thumb_func_start sub_0202A8F8 -sub_0202A8F8: ; 0x0202A8F8 + thumb_func_start FUN_0202A8F8 +FUN_0202A8F8: ; 0x0202A8F8 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -84676,32 +84676,32 @@ sub_0202A8F8: ; 0x0202A8F8 strb r1, [r0, #0xd] bx lr - thumb_func_start sub_0202A918 -sub_0202A918: ; 0x0202A918 - ldr r3, _0202A920 ; =sub_02022610 + thumb_func_start FUN_0202A918 +FUN_0202A918: ; 0x0202A918 + ldr r3, _0202A920 ; =FUN_02022610 mov r1, #0x18 bx r3 nop -_0202A920: .word sub_02022610 + 1 +_0202A920: .word FUN_02022610 + 1 - thumb_func_start sub_0202A924 -sub_0202A924: ; 0x0202A924 + thumb_func_start FUN_0202A924 +FUN_0202A924: ; 0x0202A924 mov r0, #0x45 lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_0202A92C -sub_0202A92C: ; 0x0202A92C + thumb_func_start FUN_0202A92C +FUN_0202A92C: ; 0x0202A92C push {r4, lr} mov r2, #0x45 add r4, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020DF4A4 - bl sub_0201BA60 + blx FUN_020DF4A4 + bl FUN_0201BA60 str r0, [r4, #0x0] - bl sub_0201BA60 + bl FUN_0201BA60 str r0, [r4, #0x4] mov r1, #0x0 add r3, r4, #0x0 @@ -84736,15 +84736,15 @@ _0202A95A: _0202A980: .word 0x0000FFFF _0202A984: .word 0x0000010F - thumb_func_start sub_0202A988 -sub_0202A988: ; 0x0202A988 + thumb_func_start FUN_0202A988 +FUN_0202A988: ; 0x0202A988 str r1, [r0, #0x0] str r1, [r0, #0x4] bx lr .balign 4 - thumb_func_start sub_0202A990 -sub_0202A990: ; 0x0202A990 + thumb_func_start FUN_0202A990 +FUN_0202A990: ; 0x0202A990 push {r3, lr} cmp r1, #0x1 beq _0202A99C @@ -84758,50 +84758,50 @@ _0202A9A0: ldr r0, [r0, #0x4] pop {r3, pc} _0202A9A4: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0202A9AC -sub_0202A9AC: ; 0x0202A9AC + thumb_func_start FUN_0202A9AC +FUN_0202A9AC: ; 0x0202A9AC add r0, #0xbc bx lr - thumb_func_start sub_0202A9B0 -sub_0202A9B0: ; 0x0202A9B0 - ldr r3, _0202A9B8 ; =sub_02022610 + thumb_func_start FUN_0202A9B0 +FUN_0202A9B0: ; 0x0202A9B0 + ldr r3, _0202A9B8 ; =FUN_02022610 mov r1, #0x19 bx r3 nop -_0202A9B8: .word sub_02022610 + 1 +_0202A9B8: .word FUN_02022610 + 1 - thumb_func_start sub_0202A9BC -sub_0202A9BC: ; 0x0202A9BC + thumb_func_start FUN_0202A9BC +FUN_0202A9BC: ; 0x0202A9BC add r0, #0x10 bx lr - thumb_func_start sub_0202A9C0 -sub_0202A9C0: ; 0x0202A9C0 + thumb_func_start FUN_0202A9C0 +FUN_0202A9C0: ; 0x0202A9C0 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_0202A9C4 -sub_0202A9C4: ; 0x0202A9C4 + thumb_func_start FUN_0202A9C4 +FUN_0202A9C4: ; 0x0202A9C4 strb r0, [r1, #0x0] bx lr - thumb_func_start sub_0202A9C8 -sub_0202A9C8: ; 0x0202A9C8 + thumb_func_start FUN_0202A9C8 +FUN_0202A9C8: ; 0x0202A9C8 add r1, r1, #0x4 lsl r0, r0, #0x3 add r0, r1, r0 bx lr - thumb_func_start sub_0202A9D0 -sub_0202A9D0: ; 0x0202A9D0 + thumb_func_start FUN_0202A9D0 +FUN_0202A9D0: ; 0x0202A9D0 push {r3-r7, lr} add r5, r1, #0x0 - bl sub_0202A9B0 + bl FUN_0202A9B0 add r6, r0, #0x0 mov r4, #0x0 add r6, #0x10 @@ -84810,7 +84810,7 @@ _0202A9E0: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r1, r6, #0x0 - bl sub_0202A9C8 + bl FUN_0202A9C8 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0202A9F8 @@ -84824,10 +84824,10 @@ _0202A9F8: blt _0202A9E0 pop {r3-r7, pc} - thumb_func_start sub_0202AA00 -sub_0202AA00: ; 0x0202AA00 + thumb_func_start FUN_0202AA00 +FUN_0202AA00: ; 0x0202AA00 push {r3, lr} - bl sub_0202A9B0 + bl FUN_0202A9B0 ldr r1, _0202AA10 ; =0x0000010F mov r2, #0x1 strb r2, [r0, r1] @@ -84835,16 +84835,16 @@ sub_0202AA00: ; 0x0202AA00 nop _0202AA10: .word 0x0000010F - thumb_func_start sub_0202AA14 -sub_0202AA14: ; 0x0202AA14 + thumb_func_start FUN_0202AA14 +FUN_0202AA14: ; 0x0202AA14 ldr r1, _0202AA1C ; =0x0000010F ldrb r0, [r0, r1] bx lr nop _0202AA1C: .word 0x0000010F - thumb_func_start sub_0202AA20 -sub_0202AA20: ; 0x0202AA20 + thumb_func_start FUN_0202AA20 +FUN_0202AA20: ; 0x0202AA20 add r2, r0, #0x0 add r2, #0xc8 ldr r3, [r2, #0x0] @@ -84859,21 +84859,21 @@ _0202AA34: bx lr .balign 4 - thumb_func_start sub_0202AA38 -sub_0202AA38: ; 0x0202AA38 + thumb_func_start FUN_0202AA38 +FUN_0202AA38: ; 0x0202AA38 add r0, #0xcc ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202AA40 -sub_0202AA40: ; 0x0202AA40 + thumb_func_start FUN_0202AA40 +FUN_0202AA40: ; 0x0202AA40 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blo _0202AA4E - bl sub_02020C2C + bl FUN_02020C2C _0202AA4E: mov r0, #0x43 add r1, r5, r4 @@ -84881,15 +84881,15 @@ _0202AA4E: ldrb r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_0202AA58 -sub_0202AA58: ; 0x0202AA58 + thumb_func_start FUN_0202AA58 +FUN_0202AA58: ; 0x0202AA58 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x3 blo _0202AA68 - bl sub_02020C2C + bl FUN_02020C2C _0202AA68: mov r0, #0x43 add r1, r5, r4 @@ -84898,14 +84898,14 @@ _0202AA68: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202AA74 -sub_0202AA74: ; 0x0202AA74 + thumb_func_start FUN_0202AA74 +FUN_0202AA74: ; 0x0202AA74 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blo _0202AA82 - bl sub_02020C2C + bl FUN_02020C2C _0202AA82: mov r0, #0x14 mul r0, r4 @@ -84915,8 +84915,8 @@ _0202AA82: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202AA90 -sub_0202AA90: ; 0x0202AA90 + thumb_func_start FUN_0202AA90 +FUN_0202AA90: ; 0x0202AA90 ldr r2, [r0, #0x0] mov r1, #0x14 mov r0, #0x0 @@ -84927,14 +84927,14 @@ _0202AA96: bne _0202AA96 bx lr - thumb_func_start sub_0202AAA0 -sub_0202AAA0: ; 0x0202AAA0 + thumb_func_start FUN_0202AAA0 +FUN_0202AAA0: ; 0x0202AAA0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blo _0202AAAE - bl sub_02020C2C + bl FUN_02020C2C _0202AAAE: mov r0, #0x14 add r5, #0xd0 @@ -84942,8 +84942,8 @@ _0202AAAE: add r0, r5, r0 pop {r3-r5, pc} - thumb_func_start sub_0202AAB8 -sub_0202AAB8: ; 0x0202AAB8 + thumb_func_start FUN_0202AAB8 +FUN_0202AAB8: ; 0x0202AAB8 cmp r1, #0x8 bhi _0202AAF8 add r1, r1, r1 @@ -84971,8 +84971,8 @@ _0202AAF8: bx lr .balign 4 - thumb_func_start sub_0202AAFC -sub_0202AAFC: ; 0x0202AAFC + thumb_func_start FUN_0202AAFC +FUN_0202AAFC: ; 0x0202AAFC cmp r1, #0x8 bhi _0202AB3C add r1, r1, r1 @@ -84999,23 +84999,23 @@ _0202AB3C: bx lr .balign 4 - thumb_func_start sub_0202AB40 -sub_0202AB40: ; 0x0202AB40 + thumb_func_start FUN_0202AB40 +FUN_0202AB40: ; 0x0202AB40 ldr r1, _0202AB48 ; =0x00000111 add r0, r0, r1 bx lr nop _0202AB48: .word 0x00000111 - thumb_func_start sub_0202AB4C -sub_0202AB4C: ; 0x0202AB4C + thumb_func_start FUN_0202AB4C +FUN_0202AB4C: ; 0x0202AB4C mov r1, #0x11 lsl r1, r1, #0x4 add r0, r0, r1 bx lr - thumb_func_start sub_0202AB54 -sub_0202AB54: ; 0x0202AB54 + thumb_func_start FUN_0202AB54 +FUN_0202AB54: ; 0x0202AB54 mov r1, #0x11 lsl r1, r1, #0x4 ldrb r0, [r0, r1] @@ -85028,14 +85028,14 @@ _0202AB62: bx lr .balign 4 - thumb_func_start sub_0202AB68 -sub_0202AB68: ; 0x0202AB68 + thumb_func_start FUN_0202AB68 +FUN_0202AB68: ; 0x0202AB68 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x2 bls _0202AB76 - bl sub_02020C2C + bl FUN_02020C2C _0202AB76: ldr r0, _0202AB7C ; =0x00000112 strb r4, [r5, r0] @@ -85043,35 +85043,35 @@ _0202AB76: .balign 4 _0202AB7C: .word 0x00000112 - thumb_func_start sub_0202AB80 -sub_0202AB80: ; 0x0202AB80 + thumb_func_start FUN_0202AB80 +FUN_0202AB80: ; 0x0202AB80 ldr r1, _0202AB88 ; =0x00000112 ldrb r0, [r0, r1] bx lr nop _0202AB88: .word 0x00000112 - thumb_func_start sub_0202AB8C -sub_0202AB8C: ; 0x0202AB8C + thumb_func_start FUN_0202AB8C +FUN_0202AB8C: ; 0x0202AB8C push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_0202A9B0 + bl FUN_0202A9B0 ldrh r1, [r0, #0xc] strh r1, [r5, #0x0] ldrh r0, [r0, #0xe] strh r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0202ABA0 -sub_0202ABA0: ; 0x0202ABA0 + thumb_func_start FUN_0202ABA0 +FUN_0202ABA0: ; 0x0202ABA0 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_0202A9B0 + bl FUN_0202A9B0 add r4, r0, #0x0 cmp r5, #0x10 blo _0202ABB2 - bl sub_02020C2C + bl FUN_02020C2C _0202ABB2: ldrh r0, [r4, #0xc] strh r0, [r4, #0xe] @@ -85079,103 +85079,103 @@ _0202ABB2: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202ABBC -sub_0202ABBC: ; 0x0202ABBC - ldr r3, _0202ABC4 ; =sub_02022610 + thumb_func_start FUN_0202ABBC +FUN_0202ABBC: ; 0x0202ABBC + ldr r3, _0202ABC4 ; =FUN_02022610 mov r1, #0x1a bx r3 nop -_0202ABC4: .word sub_02022610 + 1 +_0202ABC4: .word FUN_02022610 + 1 - thumb_func_start sub_0202ABC8 -sub_0202ABC8: ; 0x0202ABC8 + thumb_func_start FUN_0202ABC8 +FUN_0202ABC8: ; 0x0202ABC8 mov r0, #0xf4 bx lr - thumb_func_start sub_0202ABCC -sub_0202ABCC: ; 0x0202ABCC - ldr r3, _0202ABD8 ; =sub_020CE240 + thumb_func_start FUN_0202ABCC +FUN_0202ABCC: ; 0x0202ABCC + ldr r3, _0202ABD8 ; =FUN_020CE240 add r1, r0, #0x0 mov r0, #0x0 mov r2, #0xf4 bx r3 nop -_0202ABD8: .word sub_020CE240 +_0202ABD8: .word FUN_020CE240 - thumb_func_start sub_0202ABDC -sub_0202ABDC: ; 0x0202ABDC + thumb_func_start FUN_0202ABDC +FUN_0202ABDC: ; 0x0202ABDC add r0, #0xec ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202ABE4 -sub_0202ABE4: ; 0x0202ABE4 + thumb_func_start FUN_0202ABE4 +FUN_0202ABE4: ; 0x0202ABE4 add r0, #0xec strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202ABEC -sub_0202ABEC: ; 0x0202ABEC - ldr r3, _0202ABF4 ; =sub_020CE28C + thumb_func_start FUN_0202ABEC +FUN_0202ABEC: ; 0x0202ABEC + ldr r3, _0202ABF4 ; =FUN_020CE28C mov r2, #0xec bx r3 nop -_0202ABF4: .word sub_020CE28C +_0202ABF4: .word FUN_020CE28C - thumb_func_start sub_0202ABF8 -sub_0202ABF8: ; 0x0202ABF8 - ldr r3, _0202AC04 ; =sub_020CE28C + thumb_func_start FUN_0202ABF8 +FUN_0202ABF8: ; 0x0202ABF8 + ldr r3, _0202AC04 ; =FUN_020CE28C add r2, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0xec bx r3 .balign 4 -_0202AC04: .word sub_020CE28C +_0202AC04: .word FUN_020CE28C - thumb_func_start sub_0202AC08 -sub_0202AC08: ; 0x0202AC08 + thumb_func_start FUN_0202AC08 +FUN_0202AC08: ; 0x0202AC08 add r0, #0xf0 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202AC10 -sub_0202AC10: ; 0x0202AC10 + thumb_func_start FUN_0202AC10 +FUN_0202AC10: ; 0x0202AC10 add r0, #0xf0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202AC18 -sub_0202AC18: ; 0x0202AC18 + thumb_func_start FUN_0202AC18 +FUN_0202AC18: ; 0x0202AC18 add r0, #0xee ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0202AC20 -sub_0202AC20: ; 0x0202AC20 + thumb_func_start FUN_0202AC20 +FUN_0202AC20: ; 0x0202AC20 ldr r0, _0202AC24 ; =0x00001354 bx lr .balign 4 _0202AC24: .word 0x00001354 - thumb_func_start sub_0202AC28 -sub_0202AC28: ; 0x0202AC28 + thumb_func_start FUN_0202AC28 +FUN_0202AC28: ; 0x0202AC28 bx lr .balign 4 - thumb_func_start sub_0202AC2C -sub_0202AC2C: ; 0x0202AC2C + thumb_func_start FUN_0202AC2C +FUN_0202AC2C: ; 0x0202AC2C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blt _0202AC3A - bl sub_02020C2C + bl FUN_02020C2C _0202AC3A: mov r0, #0x1 lsl r0, r0, #0x8 @@ -85199,14 +85199,14 @@ _0202AC58: nop _0202AC60: .word 0xEDB88320 - thumb_func_start sub_0202AC64 -sub_0202AC64: ; 0x0202AC64 + thumb_func_start FUN_0202AC64 +FUN_0202AC64: ; 0x0202AC64 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blt _0202AC72 - bl sub_02020C2C + bl FUN_02020C2C _0202AC72: lsl r0, r4, #0x2 add r1, r5, r0 @@ -85228,13 +85228,13 @@ _0202AC8E: nop _0202AC94: .word 0x0000094C - thumb_func_start sub_0202AC98 -sub_0202AC98: ; 0x0202AC98 + thumb_func_start FUN_0202AC98 +FUN_0202AC98: ; 0x0202AC98 push {r3-r7, lr} add r5, r0, #0x0 str r1, [sp, #0x0] add r7, r2, #0x0 - bl sub_0202ADF0 + bl FUN_0202ADF0 cmp r0, #0x0 bne _0202ACAC mov r0, #0x0 @@ -85257,7 +85257,7 @@ _0202ACB4: ldr r0, [sp, #0x0] add r1, r1, r6 sub r2, #0x28 - blx sub_020CE3E0 + blx FUN_020CE3E0 lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x1 @@ -85287,12 +85287,12 @@ _0202ACF6: nop _0202AD04: .word 0xEDB88320 - thumb_func_start sub_0202AD08 -sub_0202AD08: ; 0x0202AD08 + thumb_func_start FUN_0202AD08 +FUN_0202AD08: ; 0x0202AD08 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_0202AE0C + bl FUN_0202AE0C cmp r0, #0x0 bne _0202AD1A mov r0, #0x0 @@ -85305,7 +85305,7 @@ _0202AD1A: cmp r0, #0x1 bne _0202AD34 add r0, r5, #0x0 - bl sub_0202ADF0 + bl FUN_0202ADF0 cmp r0, #0x0 bne _0202AD34 mov r0, #0x0 @@ -85327,7 +85327,7 @@ _0202AD3C: mul r1, r2 add r0, r6, #0x0 add r1, r3, r1 - blx sub_020CE3E0 + blx FUN_020CE3E0 lsl r0, r4, #0x2 add r1, r5, r0 mov r0, #0x12 @@ -85343,7 +85343,7 @@ _0202AD3C: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x1 - bl sub_0202AC98 + bl FUN_0202AC98 _0202AD78: mov r0, #0x1 pop {r4-r6, pc} @@ -85359,15 +85359,15 @@ _0202AD88: .word 0x00000152 _0202AD8C: .word 0x0000094C _0202AD90: .word 0xEDB88320 - thumb_func_start sub_0202AD94 -sub_0202AD94: ; 0x0202AD94 + thumb_func_start FUN_0202AD94 +FUN_0202AD94: ; 0x0202AD94 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 sub r0, r4, #0x1 cmp r0, #0x8 blt _0202ADA4 - bl sub_02020C2C + bl FUN_02020C2C _0202ADA4: sub r4, r4, #0x1 lsl r0, r4, #0x2 @@ -85388,14 +85388,14 @@ _0202ADA4: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0202ADC8 -sub_0202ADC8: ; 0x0202ADC8 + thumb_func_start FUN_0202ADC8 +FUN_0202ADC8: ; 0x0202ADC8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blt _0202ADD6 - bl sub_02020C2C + bl FUN_02020C2C _0202ADD6: lsl r0, r4, #0x2 add r1, r5, r0 @@ -85405,13 +85405,13 @@ _0202ADD6: str r2, [r1, r0] add r0, r5, #0x0 add r1, r4, #0x1 - bl sub_0202AEC4 + bl FUN_0202AEC4 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202ADF0 -sub_0202ADF0: ; 0x0202ADF0 + thumb_func_start FUN_0202ADF0 +FUN_0202ADF0: ; 0x0202ADF0 mov r1, #0x1 mov r3, #0x0 lsl r1, r1, #0x8 @@ -85429,8 +85429,8 @@ _0202AE00: mov r0, #0x0 bx lr - thumb_func_start sub_0202AE0C -sub_0202AE0C: ; 0x0202AE0C + thumb_func_start FUN_0202AE0C +FUN_0202AE0C: ; 0x0202AE0C mov r1, #0x12 mov r3, #0x0 lsl r1, r1, #0x4 @@ -85448,14 +85448,14 @@ _0202AE1C: mov r0, #0x0 bx lr - thumb_func_start sub_0202AE28 -sub_0202AE28: ; 0x0202AE28 + thumb_func_start FUN_0202AE28 +FUN_0202AE28: ; 0x0202AE28 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x8 blt _0202AE36 - bl sub_02020C2C + bl FUN_02020C2C _0202AE36: lsl r0, r5, #0x2 add r1, r4, r0 @@ -85470,14 +85470,14 @@ _0202AE48: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0202AE4C -sub_0202AE4C: ; 0x0202AE4C + thumb_func_start FUN_0202AE4C +FUN_0202AE4C: ; 0x0202AE4C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x3 blt _0202AE5A - bl sub_02020C2C + bl FUN_02020C2C _0202AE5A: lsl r0, r5, #0x2 add r1, r4, r0 @@ -85492,15 +85492,15 @@ _0202AE6C: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0202AE70 -sub_0202AE70: ; 0x0202AE70 + thumb_func_start FUN_0202AE70 +FUN_0202AE70: ; 0x0202AE70 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _0202AE76: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202AE4C + bl FUN_0202AE4C cmp r0, #0x1 bne _0202AE86 mov r0, #0x1 @@ -85512,8 +85512,8 @@ _0202AE86: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0202AE90 -sub_0202AE90: ; 0x0202AE90 + thumb_func_start FUN_0202AE90 +FUN_0202AE90: ; 0x0202AE90 push {r3-r4} cmp r1, #0x0 beq _0202AEB8 @@ -85543,8 +85543,8 @@ _0202AEB8: nop _0202AEC0: .word 0x0000012E - thumb_func_start sub_0202AEC4 -sub_0202AEC4: ; 0x0202AEC4 + thumb_func_start FUN_0202AEC4 +FUN_0202AEC4: ; 0x0202AEC4 push {r3-r5, lr} cmp r1, #0x0 beq _0202AEEE @@ -85560,7 +85560,7 @@ _0202AED4: cmp r1, r5 bne _0202AEE6 add r1, r2, #0x1 - bl sub_0202AD94 + bl FUN_0202AD94 pop {r3-r5, pc} _0202AEE6: add r2, r2, #0x1 @@ -85572,8 +85572,8 @@ _0202AEEE: .balign 4 _0202AEF0: .word 0x0000012E - thumb_func_start sub_0202AEF4 -sub_0202AEF4: ; 0x0202AEF4 + thumb_func_start FUN_0202AEF4 +FUN_0202AEF4: ; 0x0202AEF4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x2 @@ -85581,7 +85581,7 @@ sub_0202AEF4: ; 0x0202AEF4 lsl r0, r0, #0xa cmp r4, r0 blt _0202AF06 - bl sub_02020C2C + bl FUN_02020C2C _0202AF06: mov r0, #0x1 mov r1, #0x7 @@ -85600,8 +85600,8 @@ _0202AF06: _0202AF22: pop {r3-r5, pc} - thumb_func_start sub_0202AF24 -sub_0202AF24: ; 0x0202AF24 + thumb_func_start FUN_0202AF24 +FUN_0202AF24: ; 0x0202AF24 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x2 @@ -85609,7 +85609,7 @@ sub_0202AF24: ; 0x0202AF24 lsl r0, r0, #0xa cmp r4, r0 blt _0202AF36 - bl sub_02020C2C + bl FUN_02020C2C _0202AF36: asr r0, r4, #0x2 lsr r0, r0, #0x1d @@ -85625,32 +85625,32 @@ _0202AF36: strb r1, [r5, r0] pop {r3-r5, pc} - thumb_func_start sub_0202AF50 -sub_0202AF50: ; 0x0202AF50 - ldr r3, _0202AF58 ; =sub_0202AEF4 + thumb_func_start FUN_0202AF50 +FUN_0202AF50: ; 0x0202AF50 + ldr r3, _0202AF58 ; =FUN_0202AEF4 ldr r1, _0202AF5C ; =0x000007FF bx r3 nop -_0202AF58: .word sub_0202AEF4 + 1 +_0202AF58: .word FUN_0202AEF4 + 1 _0202AF5C: .word 0x000007FF - thumb_func_start sub_0202AF60 -sub_0202AF60: ; 0x0202AF60 - ldr r3, _0202AF68 ; =sub_0202AF24 + thumb_func_start FUN_0202AF60 +FUN_0202AF60: ; 0x0202AF60 + ldr r3, _0202AF68 ; =FUN_0202AF24 ldr r1, _0202AF6C ; =0x000007FF bx r3 nop -_0202AF68: .word sub_0202AF24 + 1 +_0202AF68: .word FUN_0202AF24 + 1 _0202AF6C: .word 0x000007FF - thumb_func_start sub_0202AF70 -sub_0202AF70: ; 0x0202AF70 + thumb_func_start FUN_0202AF70 +FUN_0202AF70: ; 0x0202AF70 push {r3, lr} ldr r1, _0202AF84 ; =0x021C59D4 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0202AF82 - bl sub_0202251C + bl FUN_0202251C ldr r1, _0202AF84 ; =0x021C59D4 str r0, [r1, #0x0] _0202AF82: @@ -85658,8 +85658,8 @@ _0202AF82: .balign 4 _0202AF84: .word 0x021C59D4 - thumb_func_start sub_0202AF88 -sub_0202AF88: ; 0x0202AF88 + thumb_func_start FUN_0202AF88 +FUN_0202AF88: ; 0x0202AF88 ldr r0, _0202AF98 ; =0x021C59D4 ldr r1, [r0, #0x0] cmp r1, #0x0 @@ -85671,15 +85671,15 @@ _0202AF94: nop _0202AF98: .word 0x021C59D4 - thumb_func_start sub_0202AF9C -sub_0202AF9C: ; 0x0202AF9C + thumb_func_start FUN_0202AF9C +FUN_0202AF9C: ; 0x0202AF9C push {r3-r5, lr} ldr r4, _0202AFBC ; =0x021C59D4 mov r5, #0x0 _0202AFA2: ldr r0, [r4, #0x0] add r1, r5, #0x0 - bl sub_0202AE28 + bl FUN_0202AE28 cmp r0, #0x1 bne _0202AFB2 add r0, r5, #0x1 @@ -85693,8 +85693,8 @@ _0202AFB2: .balign 4 _0202AFBC: .word 0x021C59D4 - thumb_func_start sub_0202AFC0 -sub_0202AFC0: ; 0x0202AFC0 + thumb_func_start FUN_0202AFC0 +FUN_0202AFC0: ; 0x0202AFC0 push {r4, lr} add r4, r0, #0x0 bne _0202AFCA @@ -85704,18 +85704,18 @@ _0202AFCA: sub r0, r4, #0x1 cmp r0, #0x8 blt _0202AFD4 - bl sub_02020C2C + bl FUN_02020C2C _0202AFD4: ldr r0, _0202AFF8 ; =0x021C59D4 sub r1, r4, #0x1 ldr r0, [r0, #0x0] - bl sub_0202AE28 + bl FUN_0202AE28 cmp r0, #0x1 bne _0202AFF4 ldr r0, _0202AFF8 ; =0x021C59D4 sub r1, r4, #0x1 ldr r0, [r0, #0x0] - bl sub_0202AC2C + bl FUN_0202AC2C cmp r0, #0x0 beq _0202AFF4 ldrh r0, [r0, #0x0] @@ -85726,8 +85726,8 @@ _0202AFF4: .balign 4 _0202AFF8: .word 0x021C59D4 - thumb_func_start sub_0202AFFC -sub_0202AFFC: ; 0x0202AFFC + thumb_func_start FUN_0202AFFC +FUN_0202AFFC: ; 0x0202AFFC cmp r0, #0x0 beq _0202B016 ldr r1, _0202B01C ; =0x021C59D4 @@ -85747,37 +85747,37 @@ _0202B016: nop _0202B01C: .word 0x021C59D4 - thumb_func_start sub_0202B020 -sub_0202B020: ; 0x0202B020 + thumb_func_start FUN_0202B020 +FUN_0202B020: ; 0x0202B020 add r1, r0, #0x0 ldr r0, _0202B02C ; =0x021C59D4 - ldr r3, _0202B030 ; =sub_0202AD94 + ldr r3, _0202B030 ; =FUN_0202AD94 ldr r0, [r0, #0x0] bx r3 nop _0202B02C: .word 0x021C59D4 -_0202B030: .word sub_0202AD94 + 1 +_0202B030: .word FUN_0202AD94 + 1 - thumb_func_start sub_0202B034 -sub_0202B034: ; 0x0202B034 + thumb_func_start FUN_0202B034 +FUN_0202B034: ; 0x0202B034 ldr r0, _0202B038 ; =0x00002AB0 bx lr .balign 4 _0202B038: .word 0x00002AB0 - thumb_func_start sub_0202B03C -sub_0202B03C: ; 0x0202B03C - ldr r3, _0202B048 ; =sub_020CE1FC + thumb_func_start FUN_0202B03C +FUN_0202B03C: ; 0x0202B03C + ldr r3, _0202B048 ; =FUN_020CE1FC add r1, r0, #0x0 mov r0, #0x0 ldr r2, _0202B04C ; =0x00002AB0 bx r3 nop -_0202B048: .word sub_020CE1FC +_0202B048: .word FUN_020CE1FC _0202B04C: .word 0x00002AB0 - thumb_func_start sub_0202B050 -sub_0202B050: ; 0x0202B050 + thumb_func_start FUN_0202B050 +FUN_0202B050: ; 0x0202B050 push {r3-r7, lr} sub sp, #0x18 str r0, [sp, #0x0] @@ -85785,14 +85785,14 @@ sub_0202B050: ; 0x0202B050 str r2, [sp, #0x8] cmp r0, #0x0 bne _0202B062 - bl sub_02020C2C + bl FUN_02020C2C _0202B062: ldr r1, _0202B1E0 ; =0x00002AA8 ldr r0, [sp, #0x0] ldr r0, [r0, r1] cmp r0, #0x1e blo _0202B070 - bl sub_02020C2C + bl FUN_02020C2C _0202B070: ldr r1, _0202B1E4 ; =0x00002AAC ldr r0, [sp, #0x0] @@ -85813,17 +85813,17 @@ _0202B07E: add r0, r0, r2 str r0, [sp, #0x14] ldr r0, [sp, #0x4] - bl sub_0206B9AC + bl FUN_0206B9AC str r0, [sp, #0x10] mov r0, #0xb mov r1, #0x0 - bl sub_020219F4 + bl FUN_020219F4 mov r2, #0x5a add r6, r0, #0x0 ldr r1, [sp, #0x14] mov r0, #0x0 lsl r2, r2, #0x2 - blx sub_020CE1C8 + blx FUN_020CE1C8 ldr r0, [sp, #0x10] mov r7, #0x0 cmp r0, #0x0 @@ -85832,81 +85832,81 @@ _0202B07E: _0202B0BA: ldr r0, [sp, #0x4] add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, r0, #0x0 - bl sub_020669D4 + bl FUN_020669D4 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0202B17E add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x0] add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r5, #0x2] add r0, r4, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x0 strb r0, [r5, #0x3] add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x4] add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x8] add r0, r4, #0x0 mov r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x32] add r0, r4, #0x0 mov r1, #0x37 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x34] add r0, r4, #0x0 mov r1, #0x38 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x36] add r0, r4, #0x0 mov r1, #0x39 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x38] cmp r6, #0x0 beq _0202B176 add r0, r4, #0x0 mov r1, #0x76 add r2, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r0, r6, #0x0 add r1, #0xc mov r2, #0xb - bl sub_02021EF0 + bl FUN_02021EF0 add r0, r4, #0x0 mov r1, #0x90 add r2, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r0, r6, #0x0 add r1, #0x22 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 b _0202B17C _0202B176: ldr r0, _0202B1EC ; =0x0000FFFF @@ -85917,7 +85917,7 @@ _0202B17C: _0202B17E: ldr r1, [sp, #0xc] add r0, r4, #0x0 - bl sub_02066A20 + bl FUN_02066A20 ldr r0, [sp, #0x10] add r7, r7, #0x1 cmp r7, r0 @@ -85961,7 +85961,7 @@ _0202B1C6: str r2, [r0, r1] beq _0202B1DC add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _0202B1DC: add sp, #0x18 pop {r3-r7, pc} @@ -85971,18 +85971,18 @@ _0202B1E4: .word 0x00002AAC _0202B1E8: .word 0x0000270F _0202B1EC: .word 0x0000FFFF - thumb_func_start sub_0202B1F0 -sub_0202B1F0: ; 0x0202B1F0 + thumb_func_start FUN_0202B1F0 +FUN_0202B1F0: ; 0x0202B1F0 push {r4, lr} add r4, r0, #0x0 bne _0202B1FA - bl sub_02020C2C + bl FUN_02020C2C _0202B1FA: ldr r0, _0202B214 ; =0x00002AA8 ldr r0, [r4, r0] cmp r0, #0x1e blo _0202B206 - bl sub_02020C2C + bl FUN_02020C2C _0202B206: ldr r0, _0202B218 ; =0x00002AAC ldr r0, [r4, r0] @@ -85995,24 +85995,24 @@ _0202B210: _0202B214: .word 0x00002AA8 _0202B218: .word 0x00002AAC - thumb_func_start sub_0202B21C -sub_0202B21C: ; 0x0202B21C + thumb_func_start FUN_0202B21C +FUN_0202B21C: ; 0x0202B21C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0202B22A - bl sub_02020C2C + bl FUN_02020C2C _0202B22A: ldr r0, _0202B248 ; =0x00002AA8 ldr r0, [r5, r0] cmp r0, #0x1e blo _0202B236 - bl sub_02020C2C + bl FUN_02020C2C _0202B236: cmp r4, #0x1e blt _0202B23E - bl sub_02020C2C + bl FUN_02020C2C _0202B23E: ldr r0, _0202B24C ; =0x00002AAC ldr r0, [r5, r0] @@ -86022,24 +86022,24 @@ _0202B23E: _0202B248: .word 0x00002AA8 _0202B24C: .word 0x00002AAC - thumb_func_start sub_0202B250 -sub_0202B250: ; 0x0202B250 + thumb_func_start FUN_0202B250 +FUN_0202B250: ; 0x0202B250 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0202B25E - bl sub_02020C2C + bl FUN_02020C2C _0202B25E: ldr r0, _0202B298 ; =0x00002AA8 ldr r0, [r5, r0] cmp r0, #0x1e blo _0202B26A - bl sub_02020C2C + bl FUN_02020C2C _0202B26A: cmp r4, #0x1e blt _0202B272 - bl sub_02020C2C + bl FUN_02020C2C _0202B272: ldr r0, _0202B298 ; =0x00002AA8 ldr r0, [r5, r0] @@ -86066,8 +86066,8 @@ _0202B296: .balign 4 _0202B298: .word 0x00002AA8 - thumb_func_start sub_0202B29C -sub_0202B29C: ; 0x0202B29C + thumb_func_start FUN_0202B29C +FUN_0202B29C: ; 0x0202B29C push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -86075,17 +86075,17 @@ sub_0202B29C: ; 0x0202B29C add r4, r3, #0x0 cmp r5, #0x0 bne _0202B2AE - bl sub_02020C2C + bl FUN_02020C2C _0202B2AE: ldr r0, _0202B318 ; =0x00002AA8 ldr r0, [r5, r0] cmp r0, #0x1e blo _0202B2BA - bl sub_02020C2C + bl FUN_02020C2C _0202B2BA: cmp r6, #0x1e blt _0202B2C2 - bl sub_02020C2C + bl FUN_02020C2C _0202B2C2: ldr r0, _0202B318 ; =0x00002AA8 ldr r0, [r5, r0] @@ -86114,11 +86114,11 @@ _0202B2CE: ldrb r0, [r5, #0x3] strb r0, [r4, #0x13] ldr r0, [r4, #0x0] - bl sub_02021E28 + bl FUN_02021E28 add r1, r5, #0x0 ldr r0, [r4, #0x4] add r1, #0x22 - bl sub_02021E28 + bl FUN_02021E28 mov r1, #0x0 _0202B306: ldrh r0, [r5, #0x32] @@ -86132,25 +86132,25 @@ _0202B306: nop _0202B318: .word 0x00002AA8 - thumb_func_start sub_0202B31C -sub_0202B31C: ; 0x0202B31C + thumb_func_start FUN_0202B31C +FUN_0202B31C: ; 0x0202B31C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 cmp r5, #0x0 bne _0202B32C - bl sub_02020C2C + bl FUN_02020C2C _0202B32C: ldr r0, _0202B370 ; =0x00002AA8 ldr r0, [r5, r0] cmp r0, #0x1e blo _0202B338 - bl sub_02020C2C + bl FUN_02020C2C _0202B338: cmp r6, #0x1e blt _0202B340 - bl sub_02020C2C + bl FUN_02020C2C _0202B340: ldr r0, _0202B370 ; =0x00002AA8 ldr r0, [r5, r0] @@ -86179,51 +86179,51 @@ _0202B34C: nop _0202B370: .word 0x00002AA8 - thumb_func_start sub_0202B374 -sub_0202B374: ; 0x0202B374 + thumb_func_start FUN_0202B374 +FUN_0202B374: ; 0x0202B374 ldr r0, _0202B378 ; =0x00000B88 bx lr .balign 4 _0202B378: .word 0x00000B88 - thumb_func_start sub_0202B37C -sub_0202B37C: ; 0x0202B37C - ldr r3, _0202B388 ; =sub_020CE240 + thumb_func_start FUN_0202B37C +FUN_0202B37C: ; 0x0202B37C + ldr r3, _0202B388 ; =FUN_020CE240 add r1, r0, #0x0 mov r0, #0x0 ldr r2, _0202B38C ; =0x00000B88 bx r3 nop -_0202B388: .word sub_020CE240 +_0202B388: .word FUN_020CE240 _0202B38C: .word 0x00000B88 - thumb_func_start sub_0202B390 -sub_0202B390: ; 0x0202B390 + thumb_func_start FUN_0202B390 +FUN_0202B390: ; 0x0202B390 push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 mov r0, #0x0 add r1, #0xc mov r2, #0xc0 - blx sub_020CE240 + blx FUN_020CE240 add r1, r4, #0x0 mov r0, #0x0 add r1, #0xcc mov r2, #0xc0 - blx sub_020CE240 + blx FUN_020CE240 mov r1, #0x63 lsl r1, r1, #0x2 mov r0, #0x0 add r1, r4, r1 mov r2, #0xc0 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 - bl sub_0202B3F8 + bl FUN_0202B3F8 pop {r4, pc} .balign 4 - thumb_func_start sub_0202B3C4 -sub_0202B3C4: ; 0x0202B3C4 + thumb_func_start FUN_0202B3C4 +FUN_0202B3C4: ; 0x0202B3C4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -86235,7 +86235,7 @@ sub_0202B3C4: ; 0x0202B3C4 _0202B3D4: add r0, r2, #0x0 mov r1, #0xf - blx sub_020EBC80 + blx FUN_020EBC80 mov r0, #0xf sub r1, r0, r1 str r1, [r4, #0x4] @@ -86253,29 +86253,29 @@ _0202B3EC: pop {r4, pc} .balign 4 - thumb_func_start sub_0202B3F8 -sub_0202B3F8: ; 0x0202B3F8 + thumb_func_start FUN_0202B3F8 +FUN_0202B3F8: ; 0x0202B3F8 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 - bl sub_0202B40C + bl FUN_0202B40C add r0, r4, #0x0 - bl sub_0202B430 + bl FUN_0202B430 pop {r4, pc} .balign 4 - thumb_func_start sub_0202B40C -sub_0202B40C: ; 0x0202B40C + thumb_func_start FUN_0202B40C +FUN_0202B40C: ; 0x0202B40C strb r1, [r0, #0x8] bx lr - thumb_func_start sub_0202B410 -sub_0202B410: ; 0x0202B410 + thumb_func_start FUN_0202B410 +FUN_0202B410: ; 0x0202B410 ldrb r0, [r0, #0x8] bx lr - thumb_func_start sub_0202B414 -sub_0202B414: ; 0x0202B414 + thumb_func_start FUN_0202B414 +FUN_0202B414: ; 0x0202B414 push {r3, lr} mov r3, #0x0 _0202B418: @@ -86288,12 +86288,12 @@ _0202B422: add r3, r3, #0x1 cmp r3, #0x4 blt _0202B418 - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 - thumb_func_start sub_0202B430 -sub_0202B430: ; 0x0202B430 + thumb_func_start FUN_0202B430 +FUN_0202B430: ; 0x0202B430 mov r2, #0x0 add r1, r2, #0x0 _0202B434: @@ -86304,8 +86304,8 @@ _0202B434: bx lr .balign 4 - thumb_func_start sub_0202B440 -sub_0202B440: ; 0x0202B440 + thumb_func_start FUN_0202B440 +FUN_0202B440: ; 0x0202B440 mov r3, #0x0 _0202B442: ldrb r2, [r0, r3] @@ -86321,8 +86321,8 @@ _0202B44C: bx lr .balign 4 - thumb_func_start sub_0202B458 -sub_0202B458: ; 0x0202B458 + thumb_func_start FUN_0202B458 +FUN_0202B458: ; 0x0202B458 mov r2, #0x0 add r3, r2, #0x0 _0202B45C: @@ -86338,15 +86338,15 @@ _0202B464: bx lr .balign 4 - thumb_func_start sub_0202B470 -sub_0202B470: ; 0x0202B470 + thumb_func_start FUN_0202B470 +FUN_0202B470: ; 0x0202B470 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, sp, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020126B4 + bl FUN_020126B4 ldr r0, [sp, #0x8] ldr r3, [sp, #0x4] lsl r0, r0, #0x18 @@ -86367,16 +86367,16 @@ sub_0202B470: ; 0x0202B470 add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x28 - blx sub_020CE28C + blx FUN_020CE28C add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_0202B4B0 -sub_0202B4B0: ; 0x0202B4B0 + thumb_func_start FUN_0202B4B0 +FUN_0202B4B0: ; 0x0202B4B0 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_0202B548 + bl FUN_0202B548 mov r2, #0x0 add r3, r0, #0x0 _0202B4BE: @@ -86391,7 +86391,7 @@ _0202B4BE: blo _0202B4DC add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0202B470 + bl FUN_0202B470 mov r0, #0x1 pop {r3-r5, pc} _0202B4DC: @@ -86413,7 +86413,7 @@ _0202B4EC: add r0, r0, r2 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0202B470 + bl FUN_0202B470 mov r0, #0x1 pop {r3-r5, pc} _0202B504: @@ -86432,7 +86432,7 @@ _0202B510: add r0, r0, r2 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0202B470 + bl FUN_0202B470 mov r0, #0x1 pop {r3-r5, pc} _0202B528: @@ -86443,33 +86443,33 @@ _0202B528: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0202B534 -sub_0202B534: ; 0x0202B534 + thumb_func_start FUN_0202B534 +FUN_0202B534: ; 0x0202B534 add r0, #0x8 bx lr - thumb_func_start sub_0202B538 -sub_0202B538: ; 0x0202B538 + thumb_func_start FUN_0202B538 +FUN_0202B538: ; 0x0202B538 ldrb r0, [r0, #0x6] bx lr - thumb_func_start sub_0202B53C -sub_0202B53C: ; 0x0202B53C + thumb_func_start FUN_0202B53C +FUN_0202B53C: ; 0x0202B53C ldrb r0, [r0, #0x5] bx lr - thumb_func_start sub_0202B540 -sub_0202B540: ; 0x0202B540 + thumb_func_start FUN_0202B540 +FUN_0202B540: ; 0x0202B540 add r0, #0x18 bx lr - thumb_func_start sub_0202B544 -sub_0202B544: ; 0x0202B544 + thumb_func_start FUN_0202B544 +FUN_0202B544: ; 0x0202B544 bx lr .balign 4 - thumb_func_start sub_0202B548 -sub_0202B548: ; 0x0202B548 + thumb_func_start FUN_0202B548 +FUN_0202B548: ; 0x0202B548 push {r4, lr} mov r4, #0x0 cmp r1, #0x4 @@ -86497,8 +86497,8 @@ _0202B57E: pop {r4, pc} .balign 4 - thumb_func_start sub_0202B584 -sub_0202B584: ; 0x0202B584 + thumb_func_start FUN_0202B584 +FUN_0202B584: ; 0x0202B584 push {r4, lr} mov r4, #0x0 cmp r1, #0x4 @@ -86528,13 +86528,13 @@ _0202B5BA: _0202B5C0: .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 - thumb_func_start sub_0202B5C8 -sub_0202B5C8: ; 0x0202B5C8 + thumb_func_start FUN_0202B5C8 +FUN_0202B5C8: ; 0x0202B5C8 ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_0202B5CC -sub_0202B5CC: ; 0x0202B5CC + thumb_func_start FUN_0202B5CC +FUN_0202B5CC: ; 0x0202B5CC ldrb r1, [r0, #0x1] cmp r1, #0x3 bhs _0202B5D6 @@ -86543,13 +86543,13 @@ sub_0202B5CC: ; 0x0202B5CC _0202B5D6: bx lr - thumb_func_start sub_0202B5D8 -sub_0202B5D8: ; 0x0202B5D8 + thumb_func_start FUN_0202B5D8 +FUN_0202B5D8: ; 0x0202B5D8 add r0, #0x8 bx lr - thumb_func_start sub_0202B5DC -sub_0202B5DC: ; 0x0202B5DC + thumb_func_start FUN_0202B5DC +FUN_0202B5DC: ; 0x0202B5DC push {r4-r7} mov r5, #0x0 add r4, r5, #0x0 @@ -86587,8 +86587,8 @@ _0202B616: pop {r4-r7} bx lr - thumb_func_start sub_0202B61C -sub_0202B61C: ; 0x0202B61C + thumb_func_start FUN_0202B61C +FUN_0202B61C: ; 0x0202B61C push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 @@ -86613,7 +86613,7 @@ _0202B634: cmp r0, #0x0 beq _0202B654 add r0, r4, #0x1 - bl sub_0202B830 + bl FUN_0202B830 strb r0, [r7, r5] add r5, r5, #0x1 b _0202B668 @@ -86624,7 +86624,7 @@ _0202B654: cmp r0, #0x0 bne _0202B668 add r0, r4, #0x1 - bl sub_0202B830 + bl FUN_0202B830 strb r0, [r7, r5] add r5, r5, #0x1 _0202B668: @@ -86638,8 +86638,8 @@ _0202B672: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0202B678 -sub_0202B678: ; 0x0202B678 + thumb_func_start FUN_0202B678 +FUN_0202B678: ; 0x0202B678 push {r3-r5, lr} ldr r5, [sp, #0x10] ldr r4, [sp, #0x14] @@ -86662,7 +86662,7 @@ sub_0202B678: ; 0x0202B678 add r0, #0xc mov r1, #0x4 add r3, r5, #0x0 - bl sub_0202B5DC + bl FUN_0202B5DC pop {r3-r5, pc} _0202B6AA: mov r1, #0x93 @@ -86670,7 +86670,7 @@ _0202B6AA: add r0, r0, r1 mov r1, #0x10 add r3, r5, #0x0 - bl sub_0202B61C + bl FUN_0202B61C pop {r3-r5, pc} _0202B6BA: .byte 0x00, 0x2B, 0x00, 0x94, 0x05, 0xD0 @@ -86686,8 +86686,8 @@ _0202B702: _0202B708: .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 - thumb_func_start sub_0202B710 -sub_0202B710: ; 0x0202B710 + thumb_func_start FUN_0202B710 +FUN_0202B710: ; 0x0202B710 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 @@ -86696,7 +86696,7 @@ sub_0202B710: ; 0x0202B710 add r0, sp, #0x8 mov r1, #0x0 mov r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 str r0, [sp, #0x0] add r0, sp, #0x8 @@ -86705,7 +86705,7 @@ sub_0202B710: ; 0x0202B710 add r1, r6, #0x0 add r2, r5, #0x0 mov r3, #0x1 - bl sub_0202B678 + bl FUN_0202B678 cmp r0, #0x0 beq _0202B742 add sp, #0xc @@ -86719,7 +86719,7 @@ _0202B742: add r0, r4, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_0202B678 + bl FUN_0202B678 cmp r0, #0x0 beq _0202B79E add r0, sp, #0x8 @@ -86732,7 +86732,7 @@ _0202B764: ldrb r2, [r5, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0202B7C8 + bl FUN_0202B7C8 ldrb r0, [r0, #0x1] cmp r0, #0x3 blo _0202B77A @@ -86769,7 +86769,7 @@ _0202B7A0: add r0, r4, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_0202B7C8 + bl FUN_0202B7C8 ldrb r1, [r0, #0x0] cmp r1, #0x0 beq _0202B7B6 @@ -86788,21 +86788,21 @@ _0202B7BC: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0202B7C8 -sub_0202B7C8: ; 0x0202B7C8 + thumb_func_start FUN_0202B7C8 +FUN_0202B7C8: ; 0x0202B7C8 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r1, #0x0 - bl sub_0202B820 + bl FUN_0202B820 cmp r0, #0x1 beq _0202B7DE - bl sub_02020C2C + bl FUN_02020C2C _0202B7DE: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0202B548 + bl FUN_0202B548 mov r1, #0x80 bic r4, r1 sub r2, r4, #0x1 @@ -86811,21 +86811,21 @@ _0202B7DE: add r0, r0, r1 pop {r4-r6, pc} - thumb_func_start sub_0202B7F4 -sub_0202B7F4: ; 0x0202B7F4 + thumb_func_start FUN_0202B7F4 +FUN_0202B7F4: ; 0x0202B7F4 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r1, #0x0 - bl sub_0202B820 + bl FUN_0202B820 cmp r0, #0x0 beq _0202B80A - bl sub_02020C2C + bl FUN_02020C2C _0202B80A: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0202B584 + bl FUN_0202B584 mov r1, #0x80 bic r4, r1 sub r2, r4, #0x1 @@ -86834,8 +86834,8 @@ _0202B80A: add r0, r0, r1 pop {r4-r6, pc} - thumb_func_start sub_0202B820 -sub_0202B820: ; 0x0202B820 + thumb_func_start FUN_0202B820 +FUN_0202B820: ; 0x0202B820 mov r1, #0x80 tst r0, r1 bne _0202B82A @@ -86846,54 +86846,54 @@ _0202B82A: bx lr .balign 4 - thumb_func_start sub_0202B830 -sub_0202B830: ; 0x0202B830 + thumb_func_start FUN_0202B830 +FUN_0202B830: ; 0x0202B830 mov r1, #0x80 orr r0, r1 bx lr .balign 4 - thumb_func_start sub_0202B838 -sub_0202B838: ; 0x0202B838 + thumb_func_start FUN_0202B838 +FUN_0202B838: ; 0x0202B838 ldr r1, _0202B840 ; =0x00000B4C add r0, r0, r1 bx lr nop _0202B840: .word 0x00000B4C - thumb_func_start sub_0202B844 -sub_0202B844: ; 0x0202B844 + thumb_func_start FUN_0202B844 +FUN_0202B844: ; 0x0202B844 ldr r1, _0202B84C ; =0x00000B56 add r0, r0, r1 bx lr nop _0202B84C: .word 0x00000B56 - thumb_func_start sub_0202B850 -sub_0202B850: ; 0x0202B850 + thumb_func_start FUN_0202B850 +FUN_0202B850: ; 0x0202B850 ldr r1, _0202B858 ; =0x00000B7A add r0, r0, r1 bx lr nop _0202B858: .word 0x00000B7A - thumb_func_start sub_0202B85C -sub_0202B85C: ; 0x0202B85C + thumb_func_start FUN_0202B85C +FUN_0202B85C: ; 0x0202B85C ldr r1, _0202B864 ; =0x00000B7C add r0, r0, r1 bx lr nop _0202B864: .word 0x00000B7C - thumb_func_start sub_0202B868 -sub_0202B868: ; 0x0202B868 + thumb_func_start FUN_0202B868 +FUN_0202B868: ; 0x0202B868 mov r1, #0x2e lsl r1, r1, #0x6 add r0, r0, r1 bx lr - thumb_func_start sub_0202B870 -sub_0202B870: ; 0x0202B870 + thumb_func_start FUN_0202B870 +FUN_0202B870: ; 0x0202B870 lsl r1, r0, #0x1 ldr r0, _0202B878 ; =0x020EEAC8 ldrb r0, [r0, r1] @@ -86901,8 +86901,8 @@ sub_0202B870: ; 0x0202B870 .balign 4 _0202B878: .word 0x020EEAC8 - thumb_func_start sub_0202B87C -sub_0202B87C: ; 0x0202B87C + thumb_func_start FUN_0202B87C +FUN_0202B87C: ; 0x0202B87C lsl r1, r0, #0x1 ldr r0, _0202B884 ; =0x020EEAC9 ldrb r0, [r0, r1] @@ -86910,23 +86910,23 @@ sub_0202B87C: ; 0x0202B87C .balign 4 _0202B884: .word 0x020EEAC9 - thumb_func_start sub_0202B888 -sub_0202B888: ; 0x0202B888 + thumb_func_start FUN_0202B888 +FUN_0202B888: ; 0x0202B888 mov r1, #0x0 str r1, [r0, #0x0] str r1, [r0, #0x4] - ldr r3, _0202B898 ; =sub_0200232C + ldr r3, _0202B898 ; =FUN_0200232C add r0, #0x8 mov r1, #0x8 bx r3 nop -_0202B898: .word sub_0200232C + 1 +_0202B898: .word FUN_0200232C + 1 - thumb_func_start sub_0202B89C -sub_0202B89C: ; 0x0202B89C + thumb_func_start FUN_0202B89C +FUN_0202B89C: ; 0x0202B89C push {r3, lr} add r0, #0x8 - bl sub_02002288 + bl FUN_02002288 cmp r0, #0x0 beq _0202B8AC mov r0, #0x1 @@ -86935,28 +86935,28 @@ _0202B8AC: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0202B8B0 -sub_0202B8B0: ; 0x0202B8B0 + thumb_func_start FUN_0202B8B0 +FUN_0202B8B0: ; 0x0202B8B0 mov r0, #0xea lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_0202B8B8 -sub_0202B8B8: ; 0x0202B8B8 + thumb_func_start FUN_0202B8B8 +FUN_0202B8B8: ; 0x0202B8B8 push {r3-r7, lr} mov r2, #0xea mov r1, #0x0 lsl r2, r2, #0x4 add r6, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r7, #0x0 _0202B8C8: mov r4, #0x0 add r5, r6, #0x0 _0202B8CC: add r0, r5, #0x0 - bl sub_0202B888 + bl FUN_0202B888 add r4, r4, #0x1 add r5, #0x18 cmp r4, #0x6 @@ -86967,21 +86967,21 @@ _0202B8CC: blt _0202B8C8 pop {r3-r7, pc} - thumb_func_start sub_0202B8E4 -sub_0202B8E4: ; 0x0202B8E4 - ldr r3, _0202B8EC ; =sub_02022610 + thumb_func_start FUN_0202B8E4 +FUN_0202B8E4: ; 0x0202B8E4 + ldr r3, _0202B8EC ; =FUN_02022610 mov r1, #0x1c bx r3 nop -_0202B8EC: .word sub_02022610 + 1 +_0202B8EC: .word FUN_02022610 + 1 - thumb_func_start sub_0202B8F0 -sub_0202B8F0: ; 0x0202B8F0 + thumb_func_start FUN_0202B8F0 +FUN_0202B8F0: ; 0x0202B8F0 push {r4-r6, lr} cmp r2, #0x6 blo _0202B8FE blo _0202B930 - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _0202B8FE: mov r3, #0x90 @@ -87009,28 +87009,28 @@ _0202B90E: _0202B928: add r3, #0x78 add r0, r3, #0x0 - bl sub_0202B888 + bl FUN_0202B888 _0202B930: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202B934 -sub_0202B934: ; 0x0202B934 + thumb_func_start FUN_0202B934 +FUN_0202B934: ; 0x0202B934 mov r0, #0x4e lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_0202B93C -sub_0202B93C: ; 0x0202B93C + thumb_func_start FUN_0202B93C +FUN_0202B93C: ; 0x0202B93C push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 - bl sub_02029FC8 + bl FUN_02029FC8 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x34 - bl sub_020169D8 + bl FUN_020169D8 str r0, [sp, #0x4] add r5, r0, #0x0 ldr r0, _0202B9E8 ; =0x020EEAD0 @@ -87047,14 +87047,14 @@ _0202B95A: _0202B968: add r0, r4, #0x0 mov r1, #0xf - bl sub_0202A150 + bl FUN_0202A150 add r7, r0, #0x0 beq _0202B984 add r0, r4, #0x0 mov r1, #0x1d - bl sub_0202A150 + bl FUN_0202A150 add r1, r7, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C add r7, r0, #0x0 _0202B984: str r7, [r5, #0x0] @@ -87062,29 +87062,29 @@ _0202B984: _0202B988: add r0, r4, #0x0 mov r1, #0x41 - bl sub_0202A150 + bl FUN_0202A150 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x42 - bl sub_0202A150 + bl FUN_0202A150 add r0, r7, r0 str r0, [r5, #0x0] b _0202B9D4 _0202B9A0: add r0, r4, #0x0 mov r1, #0x3f - bl sub_0202A150 + bl FUN_0202A150 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x40 - bl sub_0202A150 + bl FUN_0202A150 add r1, r7, r0 beq _0202B9C4 ldr r0, [sp, #0x4] ldr r2, [r0, #0x28] mov r0, #0x64 mul r0, r2 - blx sub_020EBE8C + blx FUN_020EBE8C add r1, r0, #0x0 _0202B9C4: str r1, [r5, #0x0] @@ -87093,7 +87093,7 @@ _0202B9C8: ldr r1, [sp, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x0] - bl sub_0202A150 + bl FUN_0202A150 str r0, [r5, #0x0] _0202B9D4: ldr r0, [sp, #0x0] @@ -87109,35 +87109,35 @@ _0202B9D4: .balign 4 _0202B9E8: .word 0x020EEAD0 - thumb_func_start sub_0202B9EC -sub_0202B9EC: ; 0x0202B9EC + thumb_func_start FUN_0202B9EC +FUN_0202B9EC: ; 0x0202B9EC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x4e add r6, r0, #0x0 add r0, r4, #0x0 lsl r1, r1, #0x2 - bl sub_020169D8 + bl FUN_020169D8 mov r2, #0x4e mov r1, #0x0 lsl r2, r2, #0x2 str r0, [sp, #0x4] - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_0202881C + bl FUN_0202881C mov r1, #0x1 - bl sub_0202877C + bl FUN_0202877C str r0, [sp, #0x8] add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020239A0 + bl FUN_020239A0 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202B93C + bl FUN_0202B93C ldr r4, [sp, #0x4] str r0, [sp, #0x0] mov r6, #0x0 @@ -87149,7 +87149,7 @@ _0202BA38: add r0, r7, #0x0 add r1, #0x8 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 ldr r0, [r5, #0x0] add r6, r6, #0x1 str r0, [r4, #0x4] @@ -87158,21 +87158,21 @@ _0202BA38: cmp r6, #0xd blt _0202BA38 ldr r0, [sp, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x4] add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0202BA68 -sub_0202BA68: ; 0x0202BA68 + thumb_func_start FUN_0202BA68 +FUN_0202BA68: ; 0x0202BA68 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _0202BA6E: add r0, r5, #0x0 - bl sub_0202B888 + bl FUN_0202B888 add r4, r4, #0x1 add r5, #0x18 cmp r4, #0x6 @@ -87180,8 +87180,8 @@ _0202BA6E: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202BA80 -sub_0202BA80: ; 0x0202BA80 + thumb_func_start FUN_0202BA80 +FUN_0202BA80: ; 0x0202BA80 push {r3, lr} ldr r3, [r0, #0x0] ldr r2, [r1, #0x0] @@ -87192,7 +87192,7 @@ sub_0202BA80: ; 0x0202BA80 _0202BA8E: add r0, #0x8 add r1, #0x8 - bl sub_020022A4 + bl FUN_020022A4 cmp r0, #0x0 bne _0202BA9E mov r0, #0x1 @@ -87202,8 +87202,8 @@ _0202BA9E: pop {r3, pc} .balign 4 - thumb_func_start sub_0202BAA4 -sub_0202BAA4: ; 0x0202BAA4 + thumb_func_start FUN_0202BAA4 +FUN_0202BAA4: ; 0x0202BAA4 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x4] @@ -87215,7 +87215,7 @@ sub_0202BAA4: ; 0x0202BAA4 _0202BAB4: ldr r0, [r5, #0xc] add r1, r7, #0x0 - bl sub_0202BA80 + bl FUN_0202BA80 cmp r0, #0x0 beq _0202BAC4 mov r0, #0x1 @@ -87231,8 +87231,8 @@ _0202BACE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202BAD4 -sub_0202BAD4: ; 0x0202BAD4 + thumb_func_start FUN_0202BAD4 +FUN_0202BAD4: ; 0x0202BAD4 push {r4-r7, lr} sub sp, #0xc add r6, r1, #0x0 @@ -87242,7 +87242,7 @@ sub_0202BAD4: ; 0x0202BAD4 mov r1, #0x0 mov r2, #0xe0 add r4, r3, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, sp, #0x10 ldrb r0, [r0, #0x10] cmp r0, #0x0 @@ -87254,7 +87254,7 @@ sub_0202BAD4: ; 0x0202BAD4 add r0, r5, r0 add r1, #0x50 str r0, [sp, #0x8] - blx sub_020CE3E0 + blx FUN_020CE3E0 add r1, sp, #0x10 ldrb r3, [r1, #0x18] mov r0, #0x0 @@ -87284,12 +87284,12 @@ _0202BB2E: add r5, r4, #0x0 _0202BB36: add r0, r4, #0x0 - bl sub_0202B89C + bl FUN_0202B89C cmp r0, #0x0 beq _0202BB58 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0202BAA4 + bl FUN_0202BAA4 cmp r0, #0x0 bne _0202BB58 ldr r1, [r6, #0x0] @@ -87315,7 +87315,7 @@ _0202BB64: add r1, r6, #0x0 add r1, #0x50 str r0, [sp, #0x8] - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, sp, #0x10 ldrb r2, [r0, #0x18] mov r3, #0x0 @@ -87355,7 +87355,7 @@ _0202BBB2: add r7, r4, #0x0 _0202BBBE: add r0, r4, #0x0 - bl sub_0202B89C + bl FUN_0202B89C cmp r0, #0x0 beq _0202BBE8 ldr r1, [r5, #0x50] @@ -87364,7 +87364,7 @@ _0202BBBE: bne _0202BBE8 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_0202BAA4 + bl FUN_0202BAA4 cmp r0, #0x0 bne _0202BBE8 ldr r1, [r6, #0x0] @@ -87445,7 +87445,7 @@ _0202BC52: blt _0202BC2E _0202BC64: ldr r0, [sp, #0x8] - bl sub_0202BA68 + bl FUN_0202BA68 mov r3, #0x0 add r2, r6, #0x0 b _0202BC8A @@ -87473,8 +87473,8 @@ _0202BC94: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0202BC98 -sub_0202BC98: ; 0x0202BC98 + thumb_func_start FUN_0202BC98 +FUN_0202BC98: ; 0x0202BC98 push {r4-r7, lr} sub sp, #0x14 add r7, r0, #0x0 @@ -87483,7 +87483,7 @@ sub_0202BC98: ; 0x0202BC98 mov r1, #0xe0 str r2, [sp, #0x10] add r4, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -87497,7 +87497,7 @@ sub_0202BC98: ; 0x0202BC98 str r0, [sp, #0xc] ldr r3, [sp, #0x10] add r0, r7, #0x0 - bl sub_0202BAD4 + bl FUN_0202BAD4 cmp r5, #0x0 beq _0202BCEA mov r0, #0x1 @@ -87512,15 +87512,15 @@ sub_0202BC98: ; 0x0202BC98 str r0, [sp, #0xc] ldr r3, [sp, #0x10] add r0, r7, #0x0 - bl sub_0202BAD4 + bl FUN_0202BAD4 _0202BCEA: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0202BCF4 -sub_0202BCF4: ; 0x0202BCF4 + thumb_func_start FUN_0202BCF4 +FUN_0202BCF4: ; 0x0202BCF4 push {r4-r7, lr} sub sp, #0x24 add r6, r1, #0x0 @@ -87529,12 +87529,12 @@ sub_0202BCF4: ; 0x0202BCF4 add r5, r2, #0x0 add r7, r3, #0x0 str r1, [sp, #0x38] - bl sub_0202B8E4 + bl FUN_0202B8E4 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_0202881C + bl FUN_0202881C mov r1, #0x1 - bl sub_0202877C + bl FUN_0202877C mov r4, #0x0 add r3, r4, #0x0 str r0, [sp, #0xc] @@ -87573,7 +87573,7 @@ _0202BD4C: ldr r1, [sp, #0xc] add r2, r5, #0x0 add r3, r6, #0x0 - bl sub_0202BC98 + bl FUN_0202BC98 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -87583,36 +87583,36 @@ _0202BD68: add sp, #0x24 pop {r4-r7, pc} - thumb_func_start sub_0202BD6C -sub_0202BD6C: ; 0x0202BD6C + thumb_func_start FUN_0202BD6C +FUN_0202BD6C: ; 0x0202BD6C push {r3-r7, lr} sub sp, #0x10 str r2, [sp, #0x0] add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x4] ldr r0, [sp, #0x0] mov r1, #0x4c - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x4c add r7, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 - bl sub_0202881C + bl FUN_0202881C mov r1, #0x1 - bl sub_0202877C + bl FUN_0202877C str r0, [sp, #0xc] ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_0202B93C + bl FUN_0202B93C str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_0202B870 + bl FUN_0202B870 str r0, [r7, #0x0] add r0, r5, #0x0 - bl sub_0202B87C + bl FUN_0202B87C ldr r1, [r7, #0x0] mov r6, #0x0 cmp r1, #0x0 @@ -87628,7 +87628,7 @@ _0202BDC4: ldr r0, [r5, #0x0] str r0, [r4, #0x8] ldr r0, [sp, #0x4] - bl sub_020239A0 + bl FUN_020239A0 str r0, [r4, #0xc] ldr r0, [r7, #0x0] add r6, r6, #0x1 @@ -87638,25 +87638,25 @@ _0202BDC4: blt _0202BDC4 _0202BDE2: ldr r0, [sp, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add r0, r7, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202BDF0 -sub_0202BDF0: ; 0x0202BDF0 + thumb_func_start FUN_0202BDF0 +FUN_0202BDF0: ; 0x0202BDF0 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] add r0, r7, #0x0 mov r1, #0x4c - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x4c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [sp, #0x0] mov r1, #0x90 mul r1, r0 @@ -87664,7 +87664,7 @@ sub_0202BDF0: ; 0x0202BDF0 add r5, r5, r1 _0202BE14: add r0, r5, #0x0 - bl sub_0202B89C + bl FUN_0202B89C cmp r0, #0x0 beq _0202BE60 ldr r2, [r4, #0x0] @@ -87681,7 +87681,7 @@ _0202BE14: str r0, [r1, #0x8] mov r0, #0x8 add r1, r7, #0x0 - bl sub_020219F4 + bl FUN_020219F4 ldr r2, [r4, #0x0] mov r1, #0xc mul r1, r2 @@ -87694,7 +87694,7 @@ _0202BE14: add r1, r5, #0x0 ldr r0, [r0, #0xc] add r1, #0x8 - bl sub_02021E28 + bl FUN_02021E28 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -87706,8 +87706,8 @@ _0202BE60: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0202BE6C -sub_0202BE6C: ; 0x0202BE6C + thumb_func_start FUN_0202BE6C +FUN_0202BE6C: ; 0x0202BE6C push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 @@ -87716,7 +87716,7 @@ _0202BE74: ldr r0, [r5, #0xc] cmp r0, #0x0 beq _0202BE7E - bl sub_02021A20 + bl FUN_02021A20 _0202BE7E: add r4, r4, #0x1 add r5, #0xc @@ -87725,39 +87725,39 @@ _0202BE7E: add r0, r6, #0x0 mov r1, #0x0 mov r2, #0x4c - blx sub_020CE34C + blx FUN_020CE34C add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} - thumb_func_start sub_0202BE98 -sub_0202BE98: ; 0x0202BE98 + thumb_func_start FUN_0202BE98 +FUN_0202BE98: ; 0x0202BE98 ldr r0, _0202BE9C ; =0x00000688 bx lr .balign 4 _0202BE9C: .word 0x00000688 - thumb_func_start sub_0202BEA0 -sub_0202BEA0: ; 0x0202BEA0 + thumb_func_start FUN_0202BEA0 +FUN_0202BEA0: ; 0x0202BEA0 push {r3-r7, lr} add r5, r0, #0x0 ldr r2, _0202BED8 ; =0x00000688 mov r0, #0x0 add r1, r5, #0x0 - blx sub_020CE240 + blx FUN_020CE240 mov r4, #0x0 mov r6, #0xab add r7, r4, #0x0 _0202BEB4: add r0, r5, #0x0 - bl sub_02066978 + bl FUN_02066978 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0202BECC - bl sub_02020C2C + bl FUN_02020C2C _0202BECC: add r4, r4, #0x1 add r5, #0xec @@ -87767,27 +87767,27 @@ _0202BECC: nop _0202BED8: .word 0x00000688 - thumb_func_start sub_0202BEDC -sub_0202BEDC: ; 0x0202BEDC + thumb_func_start FUN_0202BEDC +FUN_0202BEDC: ; 0x0202BEDC push {r3-r7, lr} add r5, r0, #0x0 ldr r2, _0202BF14 ; =0x00000588 mov r0, #0x0 add r1, r5, #0x0 - blx sub_020CE240 + blx FUN_020CE240 mov r4, #0x0 mov r6, #0xab add r7, r4, #0x0 _0202BEF0: add r0, r5, #0x0 - bl sub_02066978 + bl FUN_02066978 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0202BF08 - bl sub_02020C2C + bl FUN_02020C2C _0202BF08: add r4, r4, #0x1 add r5, #0xec @@ -87797,8 +87797,8 @@ _0202BF08: nop _0202BF14: .word 0x00000588 - thumb_func_start sub_0202BF18 -sub_0202BF18: ; 0x0202BF18 + thumb_func_start FUN_0202BF18 +FUN_0202BF18: ; 0x0202BF18 push {r4-r7} add r2, r0, #0x0 ldr r3, _0202BF70 ; =0x00000588 @@ -87853,59 +87853,59 @@ _0202BF70: .word 0x00000588 _0202BF74: .word 0x7FFFFFFF _0202BF78: .word 0x000005D8 - thumb_func_start sub_0202BF7C -sub_0202BF7C: ; 0x0202BF7C + thumb_func_start FUN_0202BF7C +FUN_0202BF7C: ; 0x0202BF7C add r3, r0, #0x0 add r0, r1, #0x0 mov r1, #0xec mul r1, r2 add r1, r3, r1 - ldr r3, _0202BF8C ; =sub_02069A64 + ldr r3, _0202BF8C ; =FUN_02069A64 bx r3 nop -_0202BF8C: .word sub_02069A64 + 1 +_0202BF8C: .word FUN_02069A64 + 1 - thumb_func_start sub_0202BF90 -sub_0202BF90: ; 0x0202BF90 + thumb_func_start FUN_0202BF90 +FUN_0202BF90: ; 0x0202BF90 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0202BF18 + bl FUN_0202BF18 add r6, r0, #0x0 lsl r0, r6, #0x2 add r1, r5, r0 ldr r0, _0202BFCC ; =0x00000588 str r4, [r1, r0] - bl sub_020126FC + bl FUN_020126FC lsl r2, r6, #0x3 add r3, r5, r2 ldr r2, _0202BFD0 ; =0x000005D8 str r0, [r3, r2] add r0, r2, #0x4 str r1, [r3, r0] - blx sub_020CD510 + blx FUN_020CD510 ldr r2, _0202BFD4 ; =0x00000678 str r0, [r5, r2] add r0, r2, #0x4 add r2, #0x8 str r1, [r5, r0] add r0, r5, r2 - blx sub_020CD5A0 + blx FUN_020CD5A0 pop {r4-r6, pc} nop _0202BFCC: .word 0x00000588 _0202BFD0: .word 0x000005D8 _0202BFD4: .word 0x00000678 - thumb_func_start sub_0202BFD8 -sub_0202BFD8: ; 0x0202BFD8 + thumb_func_start FUN_0202BFD8 +FUN_0202BFD8: ; 0x0202BFD8 push {r4-r6, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 cmp r5, #0x6 blt _0202BFE8 - bl sub_02020C2C + bl FUN_02020C2C _0202BFE8: mov r0, #0xec mul r0, r5 @@ -87921,8 +87921,8 @@ _0202BFF0: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202C000 -sub_0202C000: ; 0x0202C000 + thumb_func_start FUN_0202C000 +FUN_0202C000: ; 0x0202C000 push {r3-r7, lr} mov r4, #0x0 add r5, r0, #0x0 @@ -87932,7 +87932,7 @@ _0202C00A: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0202C01A add r4, r4, #0x1 @@ -87945,12 +87945,12 @@ _0202C01A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202C028 -sub_0202C028: ; 0x0202C028 + thumb_func_start FUN_0202C028 +FUN_0202C028: ; 0x0202C028 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020126FC + bl FUN_020126FC ldr r1, _0202C058 ; =0x00000588 mov r3, #0x0 add r6, r5, #0x0 @@ -87975,13 +87975,13 @@ _0202C04A: _0202C058: .word 0x00000588 _0202C05C: .word 0x000005D8 - thumb_func_start sub_0202C060 -sub_0202C060: ; 0x0202C060 + thumb_func_start FUN_0202C060 +FUN_0202C060: ; 0x0202C060 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, sp, #0x0 - blx sub_020CD5A0 + blx FUN_020CD5A0 mov r0, #0x1a mov r3, #0x0 add r5, sp, #0x0 @@ -88005,11 +88005,11 @@ _0202C084: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202C094 -sub_0202C094: ; 0x0202C094 + thumb_func_start FUN_0202C094 +FUN_0202C094: ; 0x0202C094 push {r4, lr} add r4, r0, #0x0 - blx sub_020CD510 + blx FUN_020CD510 ldr r2, _0202C0B4 ; =0x00000678 ldr r3, [r4, r2] add r2, r2, #0x4 @@ -88026,8 +88026,8 @@ _0202C0B0: .balign 4 _0202C0B4: .word 0x00000678 - thumb_func_start sub_0202C0B8 -sub_0202C0B8: ; 0x0202C0B8 + thumb_func_start FUN_0202C0B8 +FUN_0202C0B8: ; 0x0202C0B8 push {r3-r4} mov r4, #0x0 mov r1, #0x1a @@ -88051,13 +88051,13 @@ _0202C0D8: bx lr .balign 4 - thumb_func_start sub_0202C0E0 -sub_0202C0E0: ; 0x0202C0E0 + thumb_func_start FUN_0202C0E0 +FUN_0202C0E0: ; 0x0202C0E0 mov r0, #0x28 bx lr - thumb_func_start sub_0202C0E4 -sub_0202C0E4: ; 0x0202C0E4 + thumb_func_start FUN_0202C0E4 +FUN_0202C0E4: ; 0x0202C0E4 push {r4-r5} mov r4, #0x0 add r1, r4, #0x0 @@ -88079,13 +88079,13 @@ _0202C0F0: bx lr .balign 4 - thumb_func_start sub_0202C108 -sub_0202C108: ; 0x0202C108 + thumb_func_start FUN_0202C108 +FUN_0202C108: ; 0x0202C108 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x21 add r4, r2, #0x0 - bl sub_02022610 + bl FUN_02022610 lsl r1, r5, #0x3 add r3, r0, r1 lsl r2, r4, #0x1 @@ -88100,13 +88100,13 @@ _0202C126: .balign 4 _0202C128: .word 0x0000270F - thumb_func_start sub_0202C12C -sub_0202C12C: ; 0x0202C12C + thumb_func_start FUN_0202C12C +FUN_0202C12C: ; 0x0202C12C push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x21 add r4, r2, #0x0 - bl sub_02022610 + bl FUN_02022610 lsl r2, r5, #0x3 lsl r1, r4, #0x1 add r0, r0, r2 @@ -88114,46 +88114,46 @@ sub_0202C12C: ; 0x0202C12C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202C144 -sub_0202C144: ; 0x0202C144 + thumb_func_start FUN_0202C144 +FUN_0202C144: ; 0x0202C144 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0202C194 add r0, r5, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02029FC8 + bl FUN_02029FC8 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 lsl r2, r2, #0x10 add r0, r7, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x10 - bl sub_0202A1C4 + bl FUN_0202A1C4 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02024AF0 + bl FUN_02024AF0 add r0, r5, #0x0 - bl sub_0204C1A8 + bl FUN_0204C1A8 add r1, r4, #0x0 - bl sub_0204C104 + bl FUN_0204C104 _0202C194: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202C198 -sub_0202C198: ; 0x0202C198 + thumb_func_start FUN_0202C198 +FUN_0202C198: ; 0x0202C198 ldr r1, _0202C1A4 ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202C1A8 ; =0x00001310 @@ -88163,8 +88163,8 @@ sub_0202C198: ; 0x0202C198 _0202C1A4: .word 0x021C59D8 _0202C1A8: .word 0x00001310 - thumb_func_start sub_0202C1AC -sub_0202C1AC: ; 0x0202C1AC + thumb_func_start FUN_0202C1AC +FUN_0202C1AC: ; 0x0202C1AC ldr r1, _0202C1C0 ; =0x021C59D8 ldr r3, [r1, #0x4] ldr r1, _0202C1C4 ; =0x00001310 @@ -88180,20 +88180,20 @@ _0202C1BE: _0202C1C0: .word 0x021C59D8 _0202C1C4: .word 0x00001310 - thumb_func_start sub_0202C1C8 -sub_0202C1C8: ; 0x0202C1C8 + thumb_func_start FUN_0202C1C8 +FUN_0202C1C8: ; 0x0202C1C8 push {r3, lr} mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 ldr r1, _0202C1F0 ; =0x021C59D8 - ldr r0, _0202C1F4 ; =sub_0202C1F8 + ldr r0, _0202C1F4 ; =FUN_0202C1F8 ldr r1, [r1, #0x4] - blx sub_020D9624 + blx FUN_020D9624 cmp r0, #0x2 beq _0202C1EC - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x0 pop {r3, pc} _0202C1EC: @@ -88201,29 +88201,29 @@ _0202C1EC: pop {r3, pc} .balign 4 _0202C1F0: .word 0x021C59D8 -_0202C1F4: .word sub_0202C1F8 + 1 +_0202C1F4: .word FUN_0202C1F8 + 1 - thumb_func_start sub_0202C1F8 -sub_0202C1F8: ; 0x0202C1F8 + thumb_func_start FUN_0202C1F8 +FUN_0202C1F8: ; 0x0202C1F8 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202C20C - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} _0202C20C: - bl sub_0202C21C + bl FUN_0202C21C cmp r0, #0x0 bne _0202C21A mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202C21A: pop {r3, pc} - thumb_func_start sub_0202C21C -sub_0202C21C: ; 0x0202C21C + thumb_func_start FUN_0202C21C +FUN_0202C21C: ; 0x0202C21C push {r4, lr} ldr r0, _0202C278 ; =0x021C59D8 ldr r1, [r0, #0x4] @@ -88235,25 +88235,25 @@ sub_0202C21C: ; 0x0202C21C mov r0, #0x1 pop {r4, pc} _0202C230: - blx sub_020D7E9C + blx FUN_020D7E9C add r4, r0, #0x0 mov r0, #0x66 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x4 - blx sub_020CC124 + blx FUN_020CC124 mov r0, #0x66 mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r4, r0 mov r1, #0x4 - blx sub_020CC15C - ldr r0, _0202C280 ; =sub_0202C288 - blx sub_020D9554 + blx FUN_020CC15C + ldr r0, _0202C280 ; =FUN_0202C288 + blx FUN_020D9554 cmp r0, #0x2 beq _0202C264 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r4, pc} _0202C264: @@ -88270,11 +88270,11 @@ _0202C264: .balign 4 _0202C278: .word 0x021C59D8 _0202C27C: .word 0x00001310 -_0202C280: .word sub_0202C288 + 1 +_0202C280: .word FUN_0202C288 + 1 _0202C284: .word 0x0000132C - thumb_func_start sub_0202C288 -sub_0202C288: ; 0x0202C288 + thumb_func_start FUN_0202C288 +FUN_0202C288: ; 0x0202C288 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x10] @@ -88285,9 +88285,9 @@ sub_0202C288: ; 0x0202C288 ldrh r0, [r5, #0x2] cmp r0, #0x0 beq _0202C2A8 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4-r6, pc} _0202C2A8: ldrh r0, [r5, #0x8] @@ -88329,14 +88329,14 @@ _0202C2DA: ldrb r0, [r2, r0] cmp r0, #0x1 beq _0202C318 - bl sub_0202CBA0 + bl FUN_0202CBA0 ldr r1, _0202C37C ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202C388 ; =0x00001334 ldrb r1, [r2, r1] cmp r0, r1 bge _0202C318 - bl sub_02033534 + bl FUN_02033534 ldrb r1, [r5, #0x14] cmp r1, r0 bne _0202C318 @@ -88344,18 +88344,18 @@ _0202C2DA: ldr r0, _0202C38C ; =0x02105D54 add r1, #0x15 mov r2, #0x3 - blx sub_020DF510 + blx FUN_020DF510 cmp r0, #0x0 beq _0202C330 _0202C318: ldrh r1, [r5, #0x10] mov r0, #0x0 - blx sub_020D9060 + blx FUN_020D9060 cmp r0, #0x2 beq _0202C378 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4-r6, pc} _0202C330: ldr r1, _0202C37C ; =0x021C59D8 @@ -88389,11 +88389,11 @@ _0202C34C: blx r1 pop {r4-r6, pc} _0202C36A: - bl sub_0202C394 + bl FUN_0202C394 cmp r0, #0x0 bne _0202C378 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202C378: pop {r4-r6, pc} nop @@ -88404,8 +88404,8 @@ _0202C388: .word 0x00001334 _0202C38C: .word 0x02105D54 _0202C390: .word 0x0000132E - thumb_func_start sub_0202C394 -sub_0202C394: ; 0x0202C394 + thumb_func_start FUN_0202C394 +FUN_0202C394: ; 0x0202C394 push {r4, lr} sub sp, #0x8 ldr r0, _0202C3F0 ; =0x021C59D8 @@ -88420,7 +88420,7 @@ sub_0202C394: ; 0x0202C394 pop {r4, pc} _0202C3AC: mov r0, #0x4 - bl sub_0202C198 + bl FUN_0202C198 ldr r0, _0202C3F0 ; =0x021C59D8 ldr r2, _0202C3F8 ; =0x00001304 ldr r4, [r0, #0x4] @@ -88436,13 +88436,13 @@ _0202C3AC: add r1, r4, r3 lsl r2, r2, #0x10 sub r3, #0xe0 - ldr r0, _0202C400 ; =sub_0202C404 + ldr r0, _0202C400 ; =FUN_0202C404 lsr r2, r2, #0x10 add r3, r4, r3 - blx sub_020D9B48 + blx FUN_020D9B48 cmp r0, #0x2 beq _0202C3E8 - bl sub_0202C1AC + bl FUN_0202C1AC add sp, #0x8 mov r0, #0x0 pop {r4, pc} @@ -88455,18 +88455,18 @@ _0202C3F0: .word 0x021C59D8 _0202C3F4: .word 0x00001310 _0202C3F8: .word 0x00001304 _0202C3FC: .word 0x00001020 -_0202C400: .word sub_0202C404 + 1 +_0202C400: .word FUN_0202C404 + 1 - thumb_func_start sub_0202C404 -sub_0202C404: ; 0x0202C404 + thumb_func_start FUN_0202C404 +FUN_0202C404: ; 0x0202C404 push {r3, lr} ldrh r1, [r0, #0x2] cmp r1, #0x0 beq _0202C41A add r0, r1, #0x0 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} _0202C41A: ldrh r0, [r0, #0x4] @@ -88497,80 +88497,80 @@ _0202C41A: beq _0202C454 _0202C44E: mov r0, #0x4 - bl sub_0202C198 + bl FUN_0202C198 _0202C454: pop {r3, pc} nop _0202C458: .word 0x021C59D8 _0202C45C: .word 0x00001314 - thumb_func_start sub_0202C460 -sub_0202C460: ; 0x0202C460 + thumb_func_start FUN_0202C460 +FUN_0202C460: ; 0x0202C460 push {r3, lr} mov r0, #0x3 - bl sub_0202C198 - ldr r0, _0202C480 ; =sub_0202C484 - blx sub_020D9960 + bl FUN_0202C198 + ldr r0, _0202C480 ; =FUN_0202C484 + blx FUN_020D9960 cmp r0, #0x2 beq _0202C47A - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3, pc} _0202C47A: mov r0, #0x1 pop {r3, pc} nop -_0202C480: .word sub_0202C484 + 1 +_0202C480: .word FUN_0202C484 + 1 - thumb_func_start sub_0202C484 -sub_0202C484: ; 0x0202C484 + thumb_func_start FUN_0202C484 +FUN_0202C484: ; 0x0202C484 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202C496 - bl sub_0202C1AC - bl sub_0202D0D8 + bl FUN_0202C1AC + bl FUN_0202D0D8 pop {r3, pc} _0202C496: - bl sub_0202C4A4 + bl FUN_0202C4A4 cmp r0, #0x0 bne _0202C4A2 - bl sub_0202D0D8 + bl FUN_0202D0D8 _0202C4A2: pop {r3, pc} - thumb_func_start sub_0202C4A4 -sub_0202C4A4: ; 0x0202C4A4 + thumb_func_start FUN_0202C4A4 +FUN_0202C4A4: ; 0x0202C4A4 push {r3, lr} - ldr r0, _0202C4BC ; =sub_0202C4C0 - blx sub_020D950C + ldr r0, _0202C4BC ; =FUN_0202C4C0 + blx FUN_020D950C cmp r0, #0x2 beq _0202C4B8 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3, pc} _0202C4B8: mov r0, #0x1 pop {r3, pc} .balign 4 -_0202C4BC: .word sub_0202C4C0 + 1 +_0202C4BC: .word FUN_0202C4C0 + 1 - thumb_func_start sub_0202C4C0 -sub_0202C4C0: ; 0x0202C4C0 + thumb_func_start FUN_0202C4C0 +FUN_0202C4C0: ; 0x0202C4C0 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202C4CE - bl sub_0202C1AC + bl FUN_0202C1AC pop {r3, pc} _0202C4CE: mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} .balign 4 - thumb_func_start sub_0202C4D8 -sub_0202C4D8: ; 0x0202C4D8 + thumb_func_start FUN_0202C4D8 +FUN_0202C4D8: ; 0x0202C4D8 push {r3-r7, lr} add r6, r2, #0x0 ldr r2, _0202C564 ; =0x021C59D8 @@ -88586,7 +88586,7 @@ sub_0202C4D8: ; 0x0202C4D8 sub r1, r1, #0x4 str r0, [r2, r1] mov r0, #0x2 - bl sub_0202C198 + bl FUN_0202C198 ldr r1, _0202C564 ; =0x021C59D8 ldr r0, _0202C56C ; =0x00001256 ldr r3, [r1, #0x4] @@ -88628,11 +88628,11 @@ sub_0202C4D8: ; 0x0202C4D8 add r0, #0xb8 mov r1, #0x1 strh r1, [r2, r0] - bl sub_0202C5D8 + bl FUN_0202C5D8 cmp r0, #0x0 bne _0202C55E mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x0 pop {r3-r7, pc} _0202C55E: @@ -88643,14 +88643,14 @@ _0202C564: .word 0x021C59D8 _0202C568: .word 0x00001308 _0202C56C: .word 0x00001256 - thumb_func_start sub_0202C570 -sub_0202C570: ; 0x0202C570 + thumb_func_start FUN_0202C570 +FUN_0202C570: ; 0x0202C570 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x2 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0202C198 + bl FUN_0202C198 ldr r1, _0202C5D4 ; =0x021C59D8 mov r0, #0x13 ldr r2, [r1, #0x4] @@ -88683,11 +88683,11 @@ sub_0202C570: ; 0x0202C570 ldr r1, [r1, #0x4] sub r0, #0x18 strh r2, [r1, r0] - bl sub_0202C5D8 + bl FUN_0202C5D8 cmp r0, #0x0 bne _0202C5D0 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x0 pop {r4-r6, pc} _0202C5D0: @@ -88696,28 +88696,28 @@ _0202C5D0: .balign 4 _0202C5D4: .word 0x021C59D8 - thumb_func_start sub_0202C5D8 -sub_0202C5D8: ; 0x0202C5D8 + thumb_func_start FUN_0202C5D8 +FUN_0202C5D8: ; 0x0202C5D8 push {r3-r7, lr} - blx sub_020D8C3C + blx FUN_020D8C3C add r5, r0, #0x0 mov r0, #0x2 lsl r0, r0, #0xe cmp r5, r0 bne _0202C5F8 mov r0, #0x3 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 mov r0, #0x0 pop {r3-r7, pc} _0202C5F8: cmp r5, #0x0 bne _0202C60C mov r0, #0x16 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 mov r0, #0x0 pop {r3-r7, pc} _0202C60C: @@ -88759,7 +88759,7 @@ _0202C64C: sub r0, #0x28 strh r2, [r3, r0] _0202C650: - blx sub_020D8A4C + blx FUN_020D8A4C ldr r2, _0202C684 ; =0x021C59D8 ldr r1, _0202C690 ; =0x000012E6 ldr r3, [r2, #0x4] @@ -88772,12 +88772,12 @@ _0202C650: str r4, [r3, r0] ldr r2, [r2, #0x4] sub r1, r1, #0x6 - ldr r0, _0202C694 ; =sub_0202C698 + ldr r0, _0202C694 ; =FUN_0202C698 add r1, r2, r1 - blx sub_020D940C + blx FUN_020D940C cmp r0, #0x2 beq _0202C680 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3-r7, pc} _0202C680: @@ -88788,18 +88788,18 @@ _0202C684: .word 0x021C59D8 _0202C688: .word 0x0000130C _0202C68C: .word 0x000012E4 _0202C690: .word 0x000012E6 -_0202C694: .word sub_0202C698 + 1 +_0202C694: .word FUN_0202C698 + 1 - thumb_func_start sub_0202C698 -sub_0202C698: ; 0x0202C698 + thumb_func_start FUN_0202C698 +FUN_0202C698: ; 0x0202C698 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x2] cmp r0, #0x0 beq _0202C6AE - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C6AE: ldr r0, _0202C760 ; =0x021C59D8 @@ -88811,11 +88811,11 @@ _0202C6AE: mov r1, #0x0 sub r0, r0, #0x2 strh r1, [r2, r0] - bl sub_0202C794 + bl FUN_0202C794 cmp r0, #0x0 bne _0202C75C mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C6D0: ldrh r1, [r4, #0x8] @@ -88828,7 +88828,7 @@ _0202C6D0: sub r0, #0xf0 add r0, r2, r0 mov r1, #0xc0 - blx sub_020CC124 + blx FUN_020CC124 ldr r0, _0202C760 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202C768 ; =0x00001320 @@ -88874,18 +88874,18 @@ _0202C732: ldrh r0, [r1, r0] cmp r0, #0x0 beq _0202C74E - bl sub_0202C794 + bl FUN_0202C794 cmp r0, #0x0 bne _0202C75C mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C74E: - bl sub_0202C5D8 + bl FUN_0202C5D8 cmp r0, #0x0 bne _0202C75C mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202C75C: pop {r4, pc} nop @@ -88894,8 +88894,8 @@ _0202C764: .word 0x00001310 _0202C768: .word 0x00001320 _0202C76C: .word 0x0000130E - thumb_func_start sub_0202C770 -sub_0202C770: ; 0x0202C770 + thumb_func_start FUN_0202C770 +FUN_0202C770: ; 0x0202C770 push {r3, lr} ldr r0, _0202C78C ; =0x021C59D8 ldr r1, [r0, #0x4] @@ -88907,59 +88907,59 @@ sub_0202C770: ; 0x0202C770 pop {r3, pc} _0202C782: mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 pop {r3, pc} .balign 4 _0202C78C: .word 0x021C59D8 _0202C790: .word 0x00001310 - thumb_func_start sub_0202C794 -sub_0202C794: ; 0x0202C794 + thumb_func_start FUN_0202C794 +FUN_0202C794: ; 0x0202C794 push {r3, lr} - ldr r0, _0202C7AC ; =sub_0202C7B0 - blx sub_020D9244 + ldr r0, _0202C7AC ; =FUN_0202C7B0 + blx FUN_020D9244 cmp r0, #0x2 beq _0202C7A8 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3, pc} _0202C7A8: mov r0, #0x1 pop {r3, pc} .balign 4 -_0202C7AC: .word sub_0202C7B0 + 1 +_0202C7AC: .word FUN_0202C7B0 + 1 - thumb_func_start sub_0202C7B0 -sub_0202C7B0: ; 0x0202C7B0 + thumb_func_start FUN_0202C7B0 +FUN_0202C7B0: ; 0x0202C7B0 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202C7BE - bl sub_0202C1AC + bl FUN_0202C1AC pop {r3, pc} _0202C7BE: mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 ldr r0, _0202C7E0 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202C7E4 ; =0x0000130E ldrh r0, [r1, r0] cmp r0, #0x0 beq _0202C7DE - bl sub_0202C7E8 + bl FUN_0202C7E8 cmp r0, #0x0 bne _0202C7DE mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202C7DE: pop {r3, pc} .balign 4 _0202C7E0: .word 0x021C59D8 _0202C7E4: .word 0x0000130E - thumb_func_start sub_0202C7E8 -sub_0202C7E8: ; 0x0202C7E8 + thumb_func_start FUN_0202C7E8 +FUN_0202C7E8: ; 0x0202C7E8 push {lr} sub sp, #0x24 ldr r0, _0202C844 ; =0x021C59D8 @@ -88974,28 +88974,28 @@ sub_0202C7E8: ; 0x0202C7E8 pop {pc} _0202C800: mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 add r1, sp, #0x4 ldr r0, _0202C84C ; =0x02105D54 add r1, #0x1 mov r2, #0x3 - blx sub_020CE3E0 - bl sub_02033534 + blx FUN_020CE3E0 + bl FUN_02033534 add r1, sp, #0x4 strb r0, [r1, #0x0] mov r0, #0x0 str r0, [sp, #0x0] ldr r1, _0202C844 ; =0x021C59D8 - ldr r0, _0202C850 ; =sub_0202C858 + ldr r0, _0202C850 ; =FUN_0202C858 ldr r2, [r1, #0x4] ldr r1, _0202C854 ; =0x00001220 mov r3, #0x1 add r1, r2, r1 add r2, sp, #0x4 - blx sub_020D9168 + blx FUN_020D9168 cmp r0, #0x2 beq _0202C83E - bl sub_0202C1AC + bl FUN_0202C1AC add sp, #0x24 mov r0, #0x0 pop {pc} @@ -89007,38 +89007,38 @@ _0202C83E: _0202C844: .word 0x021C59D8 _0202C848: .word 0x00001310 _0202C84C: .word 0x02105D54 -_0202C850: .word sub_0202C858 + 1 +_0202C850: .word FUN_0202C858 + 1 _0202C854: .word 0x00001220 - thumb_func_start sub_0202C858 -sub_0202C858: ; 0x0202C858 + thumb_func_start FUN_0202C858 +FUN_0202C858: ; 0x0202C858 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x2] cmp r0, #0x0 beq _0202C894 - bl sub_0202C1AC + bl FUN_0202C1AC ldrh r0, [r4, #0x2] cmp r0, #0xc bne _0202C874 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C874: cmp r0, #0xb bne _0202C880 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C880: cmp r0, #0x1 bne _0202C88C mov r0, #0x8 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C88C: mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C894: ldrh r0, [r4, #0x8] @@ -89053,18 +89053,18 @@ _0202C894: cmp r0, #0x0 beq _0202C8B8 mov r0, #0x14 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C8B8: mov r0, #0x4 - bl sub_0202C198 - bl sub_0202C908 + bl FUN_0202C198 + bl FUN_0202C908 cmp r0, #0x0 bne _0202C8CE mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C8CE: ldr r0, _0202C8FC ; =0x021C59D8 @@ -89079,15 +89079,15 @@ _0202C8DA: cmp r0, #0x9 bne _0202C8F0 mov r0, #0x14 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} _0202C8F0: cmp r0, #0x1a beq _0202C8FA mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202C8FA: pop {r4, pc} .balign 4 @@ -89095,8 +89095,8 @@ _0202C8FC: .word 0x021C59D8 _0202C900: .word 0x00001335 _0202C904: .word 0x0000132C - thumb_func_start sub_0202C908 -sub_0202C908: ; 0x0202C908 + thumb_func_start FUN_0202C908 +FUN_0202C908: ; 0x0202C908 push {r4, lr} sub sp, #0x8 ldr r0, _0202C948 ; =0x021C59D8 @@ -89114,13 +89114,13 @@ sub_0202C908: ; 0x0202C908 ldr r2, [r4, r2] sub r3, #0xe0 lsl r2, r2, #0x10 - ldr r0, _0202C954 ; =sub_0202C958 + ldr r0, _0202C954 ; =FUN_0202C958 lsr r2, r2, #0x10 add r3, r4, r3 - blx sub_020D9B48 + blx FUN_020D9B48 cmp r0, #0x2 beq _0202C942 - bl sub_0202C1AC + bl FUN_0202C1AC add sp, #0x8 mov r0, #0x0 pop {r4, pc} @@ -89132,10 +89132,10 @@ _0202C942: _0202C948: .word 0x021C59D8 _0202C94C: .word 0x00001304 _0202C950: .word 0x00001020 -_0202C954: .word sub_0202C958 + 1 +_0202C954: .word FUN_0202C958 + 1 - thumb_func_start sub_0202C958 -sub_0202C958: ; 0x0202C958 + thumb_func_start FUN_0202C958 +FUN_0202C958: ; 0x0202C958 push {r3, lr} ldrh r1, [r0, #0x2] cmp r1, #0x0 @@ -89147,9 +89147,9 @@ sub_0202C958: ; 0x0202C958 cmp r1, #0xd beq _0202C9B0 add r0, r1, #0x0 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} _0202C97A: ldrh r0, [r0, #0x4] @@ -89178,121 +89178,121 @@ _0202C97A: beq _0202C9B0 _0202C9AA: mov r0, #0x4 - bl sub_0202C198 + bl FUN_0202C198 _0202C9B0: pop {r3, pc} nop _0202C9B4: .word 0x021C59D8 _0202C9B8: .word 0x00001314 - thumb_func_start sub_0202C9BC -sub_0202C9BC: ; 0x0202C9BC + thumb_func_start FUN_0202C9BC +FUN_0202C9BC: ; 0x0202C9BC push {r3, lr} mov r0, #0x3 - bl sub_0202C198 - ldr r0, _0202C9DC ; =sub_0202C9E0 - blx sub_020D9960 + bl FUN_0202C198 + ldr r0, _0202C9DC ; =FUN_0202C9E0 + blx FUN_020D9960 cmp r0, #0x2 beq _0202C9D6 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3, pc} _0202C9D6: mov r0, #0x1 pop {r3, pc} nop -_0202C9DC: .word sub_0202C9E0 + 1 +_0202C9DC: .word FUN_0202C9E0 + 1 - thumb_func_start sub_0202C9E0 -sub_0202C9E0: ; 0x0202C9E0 + thumb_func_start FUN_0202C9E0 +FUN_0202C9E0: ; 0x0202C9E0 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202C9F2 - bl sub_0202C1AC - bl sub_0202D100 + bl FUN_0202C1AC + bl FUN_0202D100 pop {r3, pc} _0202C9F2: - bl sub_0202CA04 + bl FUN_0202CA04 cmp r0, #0x0 bne _0202CA00 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202CA00: pop {r3, pc} .balign 4 - thumb_func_start sub_0202CA04 -sub_0202CA04: ; 0x0202CA04 + thumb_func_start FUN_0202CA04 +FUN_0202CA04: ; 0x0202CA04 push {r3, lr} mov r0, #0x3 - bl sub_0202C198 - ldr r0, _0202CA28 ; =sub_0202CA2C + bl FUN_0202C198 + ldr r0, _0202CA28 ; =FUN_0202CA2C mov r1, #0x0 - blx sub_020D9060 + blx FUN_020D9060 cmp r0, #0x2 beq _0202CA24 - bl sub_0202C1AC - bl sub_0202D0D8 + bl FUN_0202C1AC + bl FUN_0202D0D8 mov r0, #0x0 pop {r3, pc} _0202CA24: mov r0, #0x1 pop {r3, pc} .balign 4 -_0202CA28: .word sub_0202CA2C + 1 +_0202CA28: .word FUN_0202CA2C + 1 - thumb_func_start sub_0202CA2C -sub_0202CA2C: ; 0x0202CA2C + thumb_func_start FUN_0202CA2C +FUN_0202CA2C: ; 0x0202CA2C push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202CA3A - bl sub_0202C1AC + bl FUN_0202C1AC pop {r3, pc} _0202CA3A: mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} .balign 4 - thumb_func_start sub_0202CA44 -sub_0202CA44: ; 0x0202CA44 + thumb_func_start FUN_0202CA44 +FUN_0202CA44: ; 0x0202CA44 push {r3, lr} mov r0, #0x3 - bl sub_0202C198 - ldr r0, _0202CA64 ; =sub_0202CA68 - blx sub_020D9774 + bl FUN_0202C198 + ldr r0, _0202CA64 ; =FUN_0202CA68 + blx FUN_020D9774 cmp r0, #0x2 beq _0202CA5E - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x0 pop {r3, pc} _0202CA5E: mov r0, #0x1 pop {r3, pc} nop -_0202CA64: .word sub_0202CA68 + 1 +_0202CA64: .word FUN_0202CA68 + 1 - thumb_func_start sub_0202CA68 -sub_0202CA68: ; 0x0202CA68 + thumb_func_start FUN_0202CA68 +FUN_0202CA68: ; 0x0202CA68 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x2] cmp r0, #0x0 beq _0202CA80 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 ldrh r0, [r4, #0x2] - bl sub_0202C1AC + bl FUN_0202C1AC pop {r4, pc} _0202CA80: mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 pop {r4, pc} - thumb_func_start sub_0202CA88 -sub_0202CA88: ; 0x0202CA88 + thumb_func_start FUN_0202CA88 +FUN_0202CA88: ; 0x0202CA88 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -89306,7 +89306,7 @@ sub_0202CA88: ; 0x0202CA88 add r0, r1, r0 ldr r1, [r1, r2] add r7, r3, #0x0 - blx sub_020CC15C + blx FUN_020CC15C ldr r0, _0202CAD8 ; =0x0000FFFF add r1, r7, #0x0 str r0, [sp, #0x0] @@ -89315,10 +89315,10 @@ sub_0202CA88: ; 0x0202CA88 str r0, [sp, #0x4] mov r0, #0x2 str r0, [sp, #0x8] - ldr r0, _0202CADC ; =sub_0202CAE0 + ldr r0, _0202CADC ; =FUN_0202CAE0 add r2, r5, #0x0 add r3, r6, #0x0 - blx sub_020D99EC + blx FUN_020D99EC cmp r0, #0x2 bne _0202CACA add sp, #0xc @@ -89332,10 +89332,10 @@ _0202CACA: _0202CAD0: .word 0x021C59D8 _0202CAD4: .word 0x00001304 _0202CAD8: .word 0x0000FFFF -_0202CADC: .word sub_0202CAE0 + 1 +_0202CADC: .word FUN_0202CAE0 + 1 - thumb_func_start sub_0202CAE0 -sub_0202CAE0: ; 0x0202CAE0 + thumb_func_start FUN_0202CAE0 +FUN_0202CAE0: ; 0x0202CAE0 push {r3, lr} ldrh r1, [r0, #0x2] cmp r1, #0x0 @@ -89343,7 +89343,7 @@ sub_0202CAE0: ; 0x0202CAE0 cmp r1, #0xf beq _0202CAF4 add r0, r1, #0x0 - bl sub_0202C1AC + bl FUN_0202C1AC pop {r3, pc} _0202CAF4: ldr r2, [r0, #0x20] @@ -89360,14 +89360,14 @@ _0202CB04: _0202CB06: pop {r3, pc} - thumb_func_start sub_0202CB08 -sub_0202CB08: ; 0x0202CB08 + thumb_func_start FUN_0202CB08 +FUN_0202CB08: ; 0x0202CB08 push {r3, lr} add r2, r0, #0x0 ldrh r0, [r2, #0x2] cmp r0, #0x0 beq _0202CB18 - bl sub_0202C1AC + bl FUN_0202C1AC pop {r3, pc} _0202CB18: ldr r0, _0202CB48 ; =0x021C59D8 @@ -89399,25 +89399,25 @@ _0202CB44: _0202CB48: .word 0x021C59D8 _0202CB4C: .word 0x00001318 - thumb_func_start sub_0202CB50 -sub_0202CB50: ; 0x0202CB50 + thumb_func_start FUN_0202CB50 +FUN_0202CB50: ; 0x0202CB50 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202CB60 mov r0, #0xa - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} _0202CB60: mov r0, #0x0 add r1, r0, #0x0 - blx sub_02090CC8 + blx FUN_02090CC8 mov r0, #0x0 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} - thumb_func_start sub_0202CB70 -sub_0202CB70: ; 0x0202CB70 + thumb_func_start FUN_0202CB70 +FUN_0202CB70: ; 0x0202CB70 ldr r1, _0202CB78 ; =0x021C59D8 ldr r1, [r1, #0x4] str r0, [r1, #0x8] @@ -89425,8 +89425,8 @@ sub_0202CB70: ; 0x0202CB70 .balign 4 _0202CB78: .word 0x021C59D8 - thumb_func_start sub_0202CB7C -sub_0202CB7C: ; 0x0202CB7C + thumb_func_start FUN_0202CB7C +FUN_0202CB7C: ; 0x0202CB7C ldr r2, _0202CB88 ; =0x021C59D8 ldr r3, [r2, #0x4] str r0, [r3, #0x0] @@ -89436,8 +89436,8 @@ sub_0202CB7C: ; 0x0202CB7C .balign 4 _0202CB88: .word 0x021C59D8 - thumb_func_start sub_0202CB8C -sub_0202CB8C: ; 0x0202CB8C + thumb_func_start FUN_0202CB8C +FUN_0202CB8C: ; 0x0202CB8C ldr r0, _0202CB98 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202CB9C ; =0x0000132E @@ -89447,8 +89447,8 @@ sub_0202CB8C: ; 0x0202CB8C _0202CB98: .word 0x021C59D8 _0202CB9C: .word 0x0000132E - thumb_func_start sub_0202CBA0 -sub_0202CBA0: ; 0x0202CBA0 + thumb_func_start FUN_0202CBA0 +FUN_0202CBA0: ; 0x0202CBA0 push {r3-r4} ldr r0, _0202CBCC ; =0x021C59D8 mov r2, #0x0 @@ -89476,8 +89476,8 @@ _0202CBB8: _0202CBCC: .word 0x021C59D8 _0202CBD0: .word 0x0000132E - thumb_func_start sub_0202CBD4 -sub_0202CBD4: ; 0x0202CBD4 + thumb_func_start FUN_0202CBD4 +FUN_0202CBD4: ; 0x0202CBD4 ldr r0, _0202CBE0 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202CBE4 ; =0x00001310 @@ -89487,8 +89487,8 @@ sub_0202CBD4: ; 0x0202CBD4 _0202CBE0: .word 0x021C59D8 _0202CBE4: .word 0x00001310 - thumb_func_start sub_0202CBE8 -sub_0202CBE8: ; 0x0202CBE8 + thumb_func_start FUN_0202CBE8 +FUN_0202CBE8: ; 0x0202CBE8 ldr r0, _0202CBF4 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202CBF8 ; =0x00001330 @@ -89498,12 +89498,12 @@ sub_0202CBE8: ; 0x0202CBE8 _0202CBF4: .word 0x021C59D8 _0202CBF8: .word 0x00001330 - thumb_func_start sub_0202CBFC -sub_0202CBFC: ; 0x0202CBFC + thumb_func_start FUN_0202CBFC +FUN_0202CBFC: ; 0x0202CBFC push {r3-r5, lr} sub sp, #0x8 add r0, sp, #0x0 - blx sub_020CD5A0 + blx FUN_020CD5A0 ldr r0, _0202CC84 ; =0x027FFC3C ldr r3, [r0, #0x0] add r0, sp, #0x0 @@ -89534,26 +89534,26 @@ sub_0202CBFC: ; 0x0202CBFC add r0, r2, #0x6 strh r4, [r1, r0] mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_0202CC98 + bl FUN_0202CC98 cmp r0, #0x18 bne _0202CC68 mov r0, #0x18 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} _0202CC68: cmp r0, #0x2 beq _0202CC7C - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 add sp, #0x8 mov r0, #0x0 pop {r3-r5, pc} @@ -89568,32 +89568,32 @@ _0202CC8C: .word 0x00001338 _0202CC90: .word 0x00010DCD _0202CC94: .word 0x00003039 - thumb_func_start sub_0202CC98 -sub_0202CC98: ; 0x0202CC98 + thumb_func_start FUN_0202CC98 +FUN_0202CC98: ; 0x0202CC98 push {r4, lr} add r4, r0, #0x0 - blx sub_020D8C3C + blx FUN_020D8C3C mov r1, #0x2 lsl r1, r1, #0xe cmp r0, r1 bne _0202CCBE mov r0, #0x3 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 mov r0, #0x3 pop {r4, pc} _0202CCBE: cmp r0, #0x0 bne _0202CCD8 mov r0, #0x16 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 mov r0, #0x18 pop {r4, pc} _0202CCD8: @@ -89620,27 +89620,27 @@ _0202CCF4: tst r1, r0 beq _0202CCE6 _0202CD00: - ldr r0, _0202CD10 ; =sub_0202CD14 + ldr r0, _0202CD10 ; =FUN_0202CD14 add r1, r4, #0x0 - bl sub_0202CD90 + bl FUN_0202CD90 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r4, pc} nop -_0202CD10: .word sub_0202CD14 + 1 +_0202CD10: .word FUN_0202CD14 + 1 - thumb_func_start sub_0202CD14 -sub_0202CD14: ; 0x0202CD14 + thumb_func_start FUN_0202CD14 +FUN_0202CD14: ; 0x0202CD14 push {r3-r5, lr} ldrh r1, [r0, #0x2] cmp r1, #0x0 beq _0202CD30 add r0, r1, #0x0 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 pop {r3-r5, pc} _0202CD30: ldr r2, _0202CD88 ; =0x021C59D8 @@ -89674,46 +89674,46 @@ _0202CD64: add r0, r1, #0x1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202CC98 + bl FUN_0202CC98 cmp r0, #0x18 bne _0202CD7A mov r0, #0x7 - bl sub_0202C198 + bl FUN_0202C198 pop {r3-r5, pc} _0202CD7A: cmp r0, #0x2 beq _0202CD84 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202CD84: pop {r3-r5, pc} nop _0202CD88: .word 0x021C59D8 _0202CD8C: .word 0x0000133E - thumb_func_start sub_0202CD90 -sub_0202CD90: ; 0x0202CD90 + thumb_func_start FUN_0202CD90 +FUN_0202CD90: ; 0x0202CD90 push {r3, lr} add r3, r1, #0x0 mov r1, #0x1e str r1, [sp, #0x0] mov r1, #0x3 mov r2, #0x11 - blx sub_020DADD4 + blx FUN_020DADD4 pop {r3, pc} .balign 4 - thumb_func_start sub_0202CDA4 -sub_0202CDA4: ; 0x0202CDA4 + thumb_func_start FUN_0202CDA4 +FUN_0202CDA4: ; 0x0202CDA4 push {r3, lr} mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 ldr r0, _0202CDC8 ; =0x021C59D8 ldr r1, [r0, #0x4] mov r0, #0x4d lsl r0, r0, #0x6 ldrh r0, [r1, r0] - bl sub_0202CDD0 + bl FUN_0202CDD0 ldr r2, _0202CDC8 ; =0x021C59D8 ldr r1, _0202CDCC ; =0x0000133C ldr r3, [r2, #0x4] @@ -89725,8 +89725,8 @@ sub_0202CDA4: ; 0x0202CDA4 _0202CDC8: .word 0x021C59D8 _0202CDCC: .word 0x0000133C - thumb_func_start sub_0202CDD0 -sub_0202CDD0: ; 0x0202CDD0 + thumb_func_start FUN_0202CDD0 +FUN_0202CDD0: ; 0x0202CDD0 push {r4-r7} add r4, r0, #0x0 mov r0, #0x0 @@ -89804,8 +89804,8 @@ _0202CE58: .word 0x00001338 _0202CE5C: .word 0x00010DCD _0202CE60: .word 0x00003039 - thumb_func_start sub_0202CE64 -sub_0202CE64: ; 0x0202CE64 + thumb_func_start FUN_0202CE64 +FUN_0202CE64: ; 0x0202CE64 push {r3-r5, lr} lsl r1, r0, #0x1b lsr r2, r1, #0x1b @@ -89863,7 +89863,7 @@ _0202CE72: ldr r0, [r2, #0x4] add r1, #0x3a strb r3, [r0, r1] - bl sub_0202CF0C + bl FUN_0202CF0C cmp r0, #0x0 bne _0202CEE0 mov r0, #0x0 @@ -89875,43 +89875,43 @@ _0202CEE0: _0202CEE4: .word 0x021C59D8 _0202CEE8: .word 0x00001308 - thumb_func_start sub_0202CEEC -sub_0202CEEC: ; 0x0202CEEC + thumb_func_start FUN_0202CEEC +FUN_0202CEEC: ; 0x0202CEEC mov r0, #0x4e lsl r0, r0, #0x6 bx lr .balign 4 - thumb_func_start sub_0202CEF4 -sub_0202CEF4: ; 0x0202CEF4 + thumb_func_start FUN_0202CEF4 +FUN_0202CEF4: ; 0x0202CEF4 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x8 bne _0202CF08 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x19 - bl sub_0202C1AC + bl FUN_0202C1AC _0202CF08: pop {r3, pc} .balign 4 - thumb_func_start sub_0202CF0C -sub_0202CF0C: ; 0x0202CF0C + thumb_func_start FUN_0202CF0C +FUN_0202CF0C: ; 0x0202CF0C push {r3, lr} mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 ldr r0, _0202CF38 ; =0x021C59D8 - ldr r1, _0202CF3C ; =sub_0202CF40 + ldr r1, _0202CF3C ; =FUN_0202CF40 ldr r0, [r0, #0x4] mov r2, #0x2 add r0, #0x40 - blx sub_020D97B4 + blx FUN_020D97B4 cmp r0, #0x2 beq _0202CF34 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0xa - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x0 pop {r3, pc} _0202CF34: @@ -89919,40 +89919,40 @@ _0202CF34: pop {r3, pc} .balign 4 _0202CF38: .word 0x021C59D8 -_0202CF3C: .word sub_0202CF40 + 1 +_0202CF3C: .word FUN_0202CF40 + 1 - thumb_func_start sub_0202CF40 -sub_0202CF40: ; 0x0202CF40 + thumb_func_start FUN_0202CF40 +FUN_0202CF40: ; 0x0202CF40 push {r3, lr} ldrh r0, [r0, #0x2] cmp r0, #0x0 beq _0202CF5A - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0xa - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 pop {r3, pc} _0202CF5A: - ldr r0, _0202CF80 ; =sub_0202CEF4 - blx sub_020D9014 + ldr r0, _0202CF80 ; =FUN_0202CEF4 + blx FUN_020D9014 cmp r0, #0x0 beq _0202CF76 - bl sub_0202C1AC + bl FUN_0202C1AC mov r0, #0xa - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x1 - bl sub_020336A0 + bl FUN_020336A0 pop {r3, pc} _0202CF76: mov r0, #0x1 - bl sub_0202C198 + bl FUN_0202C198 pop {r3, pc} nop -_0202CF80: .word sub_0202CEF4 + 1 +_0202CF80: .word FUN_0202CEF4 + 1 - thumb_func_start sub_0202CF84 -sub_0202CF84: ; 0x0202CF84 + thumb_func_start FUN_0202CF84 +FUN_0202CF84: ; 0x0202CF84 push {r3-r7, lr} add r6, r1, #0x0 ldr r1, _0202D02C ; =0x021C59D8 @@ -89974,7 +89974,7 @@ sub_0202CF84: ; 0x0202CF84 ldr r0, [r0, #0x4] str r5, [r0, r1] mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 ldr r1, _0202D02C ; =0x021C59D8 cmp r5, #0x0 ldr r0, [r1, #0x4] @@ -90037,7 +90037,7 @@ _0202D010: cmp r5, #0x4 bne _0202D028 _0202D022: - bl sub_0202C1C8 + bl FUN_0202C1C8 pop {r3-r7, pc} _0202D028: mov r0, #0x0 @@ -90046,8 +90046,8 @@ _0202D028: _0202D02C: .word 0x021C59D8 _0202D030: .word 0x00001308 - thumb_func_start sub_0202D034 -sub_0202D034: ; 0x0202D034 + thumb_func_start FUN_0202D034 +FUN_0202D034: ; 0x0202D034 push {r4-r6, lr} ldr r2, _0202D094 ; =0x021C59D8 add r5, r0, #0x0 @@ -90065,7 +90065,7 @@ sub_0202D034: ; 0x0202D034 add r1, #0xc str r5, [r0, r1] mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 cmp r5, #0x1 beq _0202D066 cmp r5, #0x3 @@ -90079,15 +90079,15 @@ _0202D066: ldr r1, _0202D09C ; =0x00001220 add r1, r2, r1 mov r2, #0xc0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0202D094 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D09C ; =0x00001220 add r0, r1, r0 mov r1, #0xc0 - blx sub_020CC15C - blx sub_020CC180 - bl sub_0202C7E8 + blx FUN_020CC15C + blx FUN_020CC180 + bl FUN_0202C7E8 pop {r4-r6, pc} _0202D08E: mov r0, #0x0 @@ -90097,22 +90097,22 @@ _0202D094: .word 0x021C59D8 _0202D098: .word 0x00001308 _0202D09C: .word 0x00001220 - thumb_func_start sub_0202D0A0 -sub_0202D0A0: ; 0x0202D0A0 + thumb_func_start FUN_0202D0A0 +FUN_0202D0A0: ; 0x0202D0A0 push {r3, lr} ldr r2, _0202D0C4 ; =0x021C59D8 ldr r3, [r2, #0x4] ldr r2, _0202D0C8 ; =0x00001318 str r0, [r3, r2] lsl r0, r1, #0x10 - ldr r1, _0202D0CC ; =sub_0202CB08 + ldr r1, _0202D0CC ; =FUN_0202CB08 lsr r0, r0, #0x10 mov r2, #0x0 - blx sub_020D8F34 + blx FUN_020D8F34 cmp r0, #0x0 beq _0202D0C2 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 _0202D0C0: b _0202D0C0 _0202D0C2: @@ -90120,16 +90120,16 @@ _0202D0C2: .balign 4 _0202D0C4: .word 0x021C59D8 _0202D0C8: .word 0x00001318 -_0202D0CC: .word sub_0202CB08 + 1 +_0202D0CC: .word FUN_0202CB08 + 1 - thumb_func_start sub_0202D0D0 -sub_0202D0D0: ; 0x0202D0D0 + thumb_func_start FUN_0202D0D0 +FUN_0202D0D0: ; 0x0202D0D0 push {r3, lr} - bl sub_0202CA88 + bl FUN_0202CA88 pop {r3, pc} - thumb_func_start sub_0202D0D8 -sub_0202D0D8: ; 0x0202D0D8 + thumb_func_start FUN_0202D0D8 +FUN_0202D0D8: ; 0x0202D0D8 push {r3, lr} ldr r0, _0202D0F8 ; =0x021C59D8 ldr r1, [r0, #0x4] @@ -90140,19 +90140,19 @@ sub_0202D0D8: ; 0x0202D0D8 _0202D0E6: b _0202D0E6 _0202D0E8: - bl sub_0202CA44 + bl FUN_0202CA44 cmp r0, #0x0 bne _0202D0F6 mov r0, #0xa - bl sub_0202C198 + bl FUN_0202C198 _0202D0F6: pop {r3, pc} .balign 4 _0202D0F8: .word 0x021C59D8 _0202D0FC: .word 0x00001310 - thumb_func_start sub_0202D100 -sub_0202D100: ; 0x0202D100 + thumb_func_start FUN_0202D100 +FUN_0202D100: ; 0x0202D100 push {r3, lr} ldr r0, _0202D16C ; =0x021C59D8 ldr r1, [r0, #0x4] @@ -90167,12 +90167,12 @@ sub_0202D100: ; 0x0202D100 cmp r0, #0x4 beq _0202D126 mov r0, #0x3 - bl sub_0202C198 - bl sub_0202D0D8 + bl FUN_0202C198 + bl FUN_0202D0D8 pop {r3, pc} _0202D126: mov r0, #0x3 - bl sub_0202C198 + bl FUN_0202C198 ldr r0, _0202D16C ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D174 ; =0x00001314 @@ -90191,10 +90191,10 @@ _0202D126: lsl r4, r4, #0 lsl r0, r3, #0 lsl r2, r1, #0 - bl sub_0202C9BC + bl FUN_0202C9BC cmp r0, #0x0 bne _0202D16A - bl sub_0202D0D8 + bl FUN_0202D0D8 pop {r3, pc} _0202D15E: .byte 0xFF, 0xF7 @@ -90206,27 +90206,27 @@ _0202D16C: .word 0x021C59D8 _0202D170: .word 0x00001310 _0202D174: .word 0x00001314 - thumb_func_start sub_0202D178 -sub_0202D178: ; 0x0202D178 + thumb_func_start FUN_0202D178 +FUN_0202D178: ; 0x0202D178 push {r3, lr} mov r0, #0x3 - bl sub_0202C198 - ldr r0, _0202D198 ; =sub_0202CB50 - blx sub_020D972C + bl FUN_0202C198 + ldr r0, _0202D198 ; =FUN_0202CB50 + blx FUN_020D972C cmp r0, #0x2 beq _0202D194 mov r0, #0x9 - bl sub_0202C198 + bl FUN_0202C198 mov r0, #0x0 pop {r3, pc} _0202D194: mov r0, #0x1 pop {r3, pc} .balign 4 -_0202D198: .word sub_0202CB50 + 1 +_0202D198: .word FUN_0202CB50 + 1 - thumb_func_start sub_0202D19C -sub_0202D19C: ; 0x0202D19C + thumb_func_start FUN_0202D19C +FUN_0202D19C: ; 0x0202D19C ldr r0, _0202D1A8 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D1AC ; =0x0000132C @@ -90236,8 +90236,8 @@ sub_0202D19C: ; 0x0202D19C _0202D1A8: .word 0x021C59D8 _0202D1AC: .word 0x0000132C - thumb_func_start sub_0202D1B0 -sub_0202D1B0: ; 0x0202D1B0 + thumb_func_start FUN_0202D1B0 +FUN_0202D1B0: ; 0x0202D1B0 ldr r1, _0202D1C0 ; =0x021C59D8 ldr r2, [r1, #0x4] cmp r2, #0x0 @@ -90250,8 +90250,8 @@ _0202D1BC: _0202D1C0: .word 0x021C59D8 _0202D1C4: .word 0x00001334 - thumb_func_start sub_0202D1C8 -sub_0202D1C8: ; 0x0202D1C8 + thumb_func_start FUN_0202D1C8 +FUN_0202D1C8: ; 0x0202D1C8 ldr r0, _0202D1DC ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D1E0 ; =0x00001310 @@ -90267,8 +90267,8 @@ _0202D1D8: _0202D1DC: .word 0x021C59D8 _0202D1E0: .word 0x00001310 - thumb_func_start sub_0202D1E4 -sub_0202D1E4: ; 0x0202D1E4 + thumb_func_start FUN_0202D1E4 +FUN_0202D1E4: ; 0x0202D1E4 ldr r0, _0202D1F8 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D1FC ; =0x00001310 @@ -90284,8 +90284,8 @@ _0202D1F4: _0202D1F8: .word 0x021C59D8 _0202D1FC: .word 0x00001310 - thumb_func_start sub_0202D200 -sub_0202D200: ; 0x0202D200 + thumb_func_start FUN_0202D200 +FUN_0202D200: ; 0x0202D200 ldr r0, _0202D214 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D218 ; =0x00001310 @@ -90301,8 +90301,8 @@ _0202D210: _0202D214: .word 0x021C59D8 _0202D218: .word 0x00001310 - thumb_func_start sub_0202D21C -sub_0202D21C: ; 0x0202D21C + thumb_func_start FUN_0202D21C +FUN_0202D21C: ; 0x0202D21C ldr r0, _0202D238 ; =0x021C59D8 ldr r1, [r0, #0x4] cmp r1, #0x0 @@ -90323,8 +90323,8 @@ _0202D234: _0202D238: .word 0x021C59D8 _0202D23C: .word 0x00001310 - thumb_func_start sub_0202D240 -sub_0202D240: ; 0x0202D240 + thumb_func_start FUN_0202D240 +FUN_0202D240: ; 0x0202D240 push {r4-r6, lr} sub sp, #0x8 add r6, r0, #0x0 @@ -90346,7 +90346,7 @@ sub_0202D240: ; 0x0202D240 add r1, r6, #0x0 lsr r2, r2, #0x10 add r3, r4, #0x0 - blx sub_020DAF30 + blx FUN_020DAF30 _0202D26E: add sp, #0x8 pop {r4-r6, pc} @@ -90354,8 +90354,8 @@ _0202D26E: _0202D274: .word 0x021C59D8 _0202D278: .word 0x00001310 - thumb_func_start sub_0202D27C -sub_0202D27C: ; 0x0202D27C + thumb_func_start FUN_0202D27C +FUN_0202D27C: ; 0x0202D27C ldrh r0, [r0, #0x2] cmp r0, #0x0 bne _0202D28C @@ -90370,8 +90370,8 @@ _0202D28C: _0202D290: .word 0x021C59D8 _0202D294: .word 0x00001344 - thumb_func_start sub_0202D298 -sub_0202D298: ; 0x0202D298 + thumb_func_start FUN_0202D298 +FUN_0202D298: ; 0x0202D298 push {r4, lr} ldr r2, _0202D2C4 ; =0x021C59D8 add r1, r0, #0x0 @@ -90384,8 +90384,8 @@ sub_0202D298: ; 0x0202D298 ldr r0, [r2, r0] cmp r0, #0x4 bne _0202D2BE - ldr r0, _0202D2CC ; =sub_0202D27C - blx sub_020DAD74 + ldr r0, _0202D2CC ; =FUN_0202D27C + blx FUN_020DAD74 cmp r0, #0x2 bne _0202D2BE mov r0, #0x1 @@ -90396,10 +90396,10 @@ _0202D2BE: nop _0202D2C4: .word 0x021C59D8 _0202D2C8: .word 0x00001344 -_0202D2CC: .word sub_0202D27C + 1 +_0202D2CC: .word FUN_0202D27C + 1 - thumb_func_start sub_0202D2D0 -sub_0202D2D0: ; 0x0202D2D0 + thumb_func_start FUN_0202D2D0 +FUN_0202D2D0: ; 0x0202D2D0 ldr r0, _0202D2EC ; =0x021C59D8 ldr r1, [r0, #0x4] cmp r1, #0x0 @@ -90420,8 +90420,8 @@ _0202D2E8: _0202D2EC: .word 0x021C59D8 _0202D2F0: .word 0x00001345 - thumb_func_start sub_0202D2F4 -sub_0202D2F4: ; 0x0202D2F4 + thumb_func_start FUN_0202D2F4 +FUN_0202D2F4: ; 0x0202D2F4 ldr r0, _0202D300 ; =0x021C59D8 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -90432,8 +90432,8 @@ sub_0202D2F4: ; 0x0202D2F4 _0202D300: .word 0x021C59D8 _0202D304: .word 0x00001345 - thumb_func_start sub_0202D308 -sub_0202D308: ; 0x0202D308 + thumb_func_start FUN_0202D308 +FUN_0202D308: ; 0x0202D308 ldr r1, _0202D314 ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D318 ; =0x00001320 @@ -90443,8 +90443,8 @@ sub_0202D308: ; 0x0202D308 _0202D314: .word 0x021C59D8 _0202D318: .word 0x00001320 - thumb_func_start sub_0202D31C -sub_0202D31C: ; 0x0202D31C + thumb_func_start FUN_0202D31C +FUN_0202D31C: ; 0x0202D31C ldr r1, _0202D328 ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D32C ; =0x00001324 @@ -90454,8 +90454,8 @@ sub_0202D31C: ; 0x0202D31C _0202D328: .word 0x021C59D8 _0202D32C: .word 0x00001324 - thumb_func_start sub_0202D330 -sub_0202D330: ; 0x0202D330 + thumb_func_start FUN_0202D330 +FUN_0202D330: ; 0x0202D330 ldr r1, _0202D33C ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D340 ; =0x00001328 @@ -90465,8 +90465,8 @@ sub_0202D330: ; 0x0202D330 _0202D33C: .word 0x021C59D8 _0202D340: .word 0x00001328 - thumb_func_start sub_0202D344 -sub_0202D344: ; 0x0202D344 + thumb_func_start FUN_0202D344 +FUN_0202D344: ; 0x0202D344 ldr r1, _0202D350 ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D354 ; =0x00001342 @@ -90476,8 +90476,8 @@ sub_0202D344: ; 0x0202D344 _0202D350: .word 0x021C59D8 _0202D354: .word 0x00001342 - thumb_func_start sub_0202D358 -sub_0202D358: ; 0x0202D358 + thumb_func_start FUN_0202D358 +FUN_0202D358: ; 0x0202D358 ldr r0, _0202D364 ; =0x021C59D8 ldr r1, [r0, #0x4] ldr r0, _0202D368 ; =0x00001342 @@ -90487,8 +90487,8 @@ sub_0202D358: ; 0x0202D358 _0202D364: .word 0x021C59D8 _0202D368: .word 0x00001342 - thumb_func_start sub_0202D36C -sub_0202D36C: ; 0x0202D36C + thumb_func_start FUN_0202D36C +FUN_0202D36C: ; 0x0202D36C ldr r1, _0202D378 ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D37C ; =0x00001343 @@ -90498,8 +90498,8 @@ sub_0202D36C: ; 0x0202D36C _0202D378: .word 0x021C59D8 _0202D37C: .word 0x00001343 - thumb_func_start sub_0202D380 -sub_0202D380: ; 0x0202D380 + thumb_func_start FUN_0202D380 +FUN_0202D380: ; 0x0202D380 ldr r1, _0202D38C ; =0x021C59D8 ldr r2, [r1, #0x4] ldr r1, _0202D390 ; =0x00001335 @@ -90509,8 +90509,8 @@ sub_0202D380: ; 0x0202D380 _0202D38C: .word 0x021C59D8 _0202D390: .word 0x00001335 - thumb_func_start sub_0202D394 -sub_0202D394: ; 0x0202D394 + thumb_func_start FUN_0202D394 +FUN_0202D394: ; 0x0202D394 str r1, [r0, #0x0] strh r2, [r0, #0xa] mov r1, #0x0 @@ -90520,17 +90520,17 @@ sub_0202D394: ; 0x0202D394 bx lr .balign 4 - thumb_func_start sub_0202D3A4 -sub_0202D3A4: ; 0x0202D3A4 + thumb_func_start FUN_0202D3A4 +FUN_0202D3A4: ; 0x0202D3A4 push {r3-r7, lr} str r2, [sp, #0x0] add r5, r0, #0x0 add r7, r1, #0x0 - bl sub_0202D498 + bl FUN_0202D498 ldr r1, [sp, #0x0] cmp r0, r1 bgt _0202D3BC - bl sub_02031454 + bl FUN_02031454 pop {r3-r7, pc} _0202D3BC: mov r0, #0x8 @@ -90544,11 +90544,11 @@ _0202D3BC: _0202D3CC: cmp r7, #0x0 bne _0202D3D4 - bl sub_02020C2C + bl FUN_02020C2C _0202D3D4: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202D4A8 + bl FUN_0202D4A8 ldrb r2, [r7, r6] ldr r1, [r5, #0x0] add r4, r4, #0x1 @@ -90563,38 +90563,38 @@ _0202D3D4: _0202D3F2: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202D4A8 + bl FUN_0202D4A8 strh r0, [r5, #0x8] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202D400 -sub_0202D400: ; 0x0202D400 + thumb_func_start FUN_0202D400 +FUN_0202D400: ; 0x0202D400 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0202D42C + bl FUN_0202D42C mov r1, #0x4 add r4, r0, #0x0 ldrsh r1, [r5, r1] add r0, r5, #0x0 add r1, r1, r4 - bl sub_0202D4A8 + bl FUN_0202D4A8 strh r0, [r5, #0x4] add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0202D41C -sub_0202D41C: ; 0x0202D41C + thumb_func_start FUN_0202D41C +FUN_0202D41C: ; 0x0202D41C push {r3, lr} add r1, sp, #0x0 mov r2, #0x1 - bl sub_0202D400 + bl FUN_0202D400 add r0, sp, #0x0 ldrb r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0202D42C -sub_0202D42C: ; 0x0202D42C + thumb_func_start FUN_0202D42C +FUN_0202D42C: ; 0x0202D42C push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x4 @@ -90608,7 +90608,7 @@ sub_0202D42C: ; 0x0202D42C _0202D440: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202D4A8 + bl FUN_0202D4A8 mov r1, #0x6 ldrsh r1, [r5, r1] cmp r1, r0 @@ -90618,7 +90618,7 @@ _0202D440: _0202D454: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202D4A8 + bl FUN_0202D4A8 ldr r1, [r5, #0x0] add r4, r4, #0x1 ldrb r1, [r1, r0] @@ -90635,8 +90635,8 @@ _0202D472: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202D478 -sub_0202D478: ; 0x0202D478 + thumb_func_start FUN_0202D478 +FUN_0202D478: ; 0x0202D478 mov r1, #0x4 mov r3, #0x6 ldrsh r1, [r0, r1] @@ -90655,37 +90655,37 @@ _0202D490: bx lr .balign 4 - thumb_func_start sub_0202D498 -sub_0202D498: ; 0x0202D498 + thumb_func_start FUN_0202D498 +FUN_0202D498: ; 0x0202D498 push {r4, lr} add r4, r0, #0x0 - bl sub_0202D478 + bl FUN_0202D478 mov r1, #0xa ldrsh r1, [r4, r1] sub r0, r1, r0 pop {r4, pc} - thumb_func_start sub_0202D4A8 -sub_0202D4A8: ; 0x0202D4A8 + thumb_func_start FUN_0202D4A8 +FUN_0202D4A8: ; 0x0202D4A8 push {r3, lr} add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0xa ldrsh r1, [r2, r1] - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r1, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0202D4BC -sub_0202D4BC: ; 0x0202D4BC + thumb_func_start FUN_0202D4BC +FUN_0202D4BC: ; 0x0202D4BC mov r1, #0x8 ldrsh r1, [r0, r1] strh r1, [r0, #0x6] bx lr - thumb_func_start sub_0202D4C4 -sub_0202D4C4: ; 0x0202D4C4 + thumb_func_start FUN_0202D4C4 +FUN_0202D4C4: ; 0x0202D4C4 ldr r3, [r0, #0x1c] mov r2, #0x0 ldr r1, [r0, #0x18] @@ -90706,8 +90706,8 @@ _0202D4E0: mov r0, #0x0 bx lr - thumb_func_start sub_0202D4E4 -sub_0202D4E4: ; 0x0202D4E4 + thumb_func_start FUN_0202D4E4 +FUN_0202D4E4: ; 0x0202D4E4 ldr r3, [r0, #0x1c] mov r2, #0x0 ldr r1, [r0, #0x18] @@ -90728,8 +90728,8 @@ _0202D500: mov r0, #0x1 bx lr - thumb_func_start sub_0202D504 -sub_0202D504: ; 0x0202D504 + thumb_func_start FUN_0202D504 +FUN_0202D504: ; 0x0202D504 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0202D522 @@ -90752,8 +90752,8 @@ _0202D522: bx lr .balign 4 - thumb_func_start sub_0202D528 -sub_0202D528: ; 0x0202D528 + thumb_func_start FUN_0202D528 +FUN_0202D528: ; 0x0202D528 ldr r2, [r0, #0x0] strb r1, [r2, #0x0] ldr r1, [r0, #0x0] @@ -90770,13 +90770,13 @@ _0202D53E: bx lr .balign 4 - thumb_func_start sub_0202D544 -sub_0202D544: ; 0x0202D544 + thumb_func_start FUN_0202D544 +FUN_0202D544: ; 0x0202D544 push {r4-r6, lr} add r5, r0, #0x0 ldrb r0, [r5, #0xe] add r4, r1, #0x0 - bl sub_0202D9A0 + bl FUN_0202D9A0 add r6, r0, #0x0 ldr r0, _0202D5B8 ; =0x0000FFFF cmp r6, r0 @@ -90802,7 +90802,7 @@ _0202D56A: _0202D57A: ldrb r1, [r5, #0xe] add r0, r4, #0x0 - bl sub_0202D528 + bl FUN_0202D528 ldr r0, _0202D5B8 ; =0x0000FFFF cmp r6, r0 bne _0202D5A4 @@ -90811,12 +90811,12 @@ _0202D57A: asr r1, r1, #0x8 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0202D528 + bl FUN_0202D528 ldrh r1, [r5, #0xc] add r0, r4, #0x0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0202D528 + bl FUN_0202D528 b _0202D5A6 _0202D5A4: strh r6, [r5, #0xc] @@ -90832,15 +90832,15 @@ _0202D5A6: nop _0202D5B8: .word 0x0000FFFF - thumb_func_start sub_0202D5BC -sub_0202D5BC: ; 0x0202D5BC + thumb_func_start FUN_0202D5BC +FUN_0202D5BC: ; 0x0202D5BC push {r3-r7, lr} add r5, r0, #0x0 ldrb r0, [r5, #0xe] add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0202D9A0 + bl FUN_0202D9A0 ldr r1, _0202D680 ; =0x0000FFFF cmp r0, r1 bne _0202D5D6 @@ -90866,7 +90866,7 @@ _0202D5EA: beq _0202D604 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202D544 + bl FUN_0202D544 cmp r0, #0x0 beq _0202D604 mov r0, #0x0 @@ -90882,7 +90882,7 @@ _0202D604: beq _0202D61E ldr r1, [r4, #0x0] add r0, r6, #0x0 - bl sub_0202D400 + bl FUN_0202D400 b _0202D634 _0202D61E: mov r3, #0x0 @@ -90918,13 +90918,13 @@ _0202D64E: ldr r1, [r4, #0x0] add r0, r6, #0x0 add r2, r3, #0x0 - bl sub_0202D400 + bl FUN_0202D400 b _0202D66A _0202D660: ldr r0, [r5, #0x0] ldr r1, [r4, #0x0] add r2, r3, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 _0202D66A: ldrh r0, [r5, #0xc] ldr r1, [r4, #0x0] @@ -90939,15 +90939,15 @@ _0202D66A: nop _0202D680: .word 0x0000FFFF - thumb_func_start sub_0202D684 -sub_0202D684: ; 0x0202D684 + thumb_func_start FUN_0202D684 +FUN_0202D684: ; 0x0202D684 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 str r1, [sp, #0x0] str r2, [sp, #0x4] add r7, r3, #0x0 - bl sub_0202D4C4 + bl FUN_0202D4C4 add r4, r0, #0x0 bne _0202D69E add sp, #0x8 @@ -90957,10 +90957,10 @@ _0202D69E: ldr r0, _0202D710 ; =0x0000FFFE cmp r7, r0 blt _0202D6A8 - bl sub_02020C2C + bl FUN_02020C2C _0202D6A8: ldr r0, [sp, #0x0] - bl sub_0202D9A0 + bl FUN_0202D9A0 add r6, r0, #0x0 ldr r0, _0202D714 ; =0x0000FFFF cmp r6, r0 @@ -90971,7 +90971,7 @@ _0202D6B8: cmp r0, #0x0 beq _0202D6EA ldr r0, [r5, #0x14] - bl sub_0202D498 + bl FUN_0202D498 add r1, r6, #0x3 cmp r1, r0 blt _0202D6D0 @@ -90983,9 +90983,9 @@ _0202D6D0: ldr r1, [sp, #0x4] ldr r3, _0202D718 ; =0x00000109 add r2, r6, #0x0 - bl sub_0202D3A4 + bl FUN_0202D3A4 ldr r0, [r5, #0x14] - bl sub_0202D4BC + bl FUN_0202D4BC ldrb r1, [r4, #0xf] mov r0, #0x2 orr r0, r1 @@ -91016,8 +91016,8 @@ _0202D710: .word 0x0000FFFE _0202D714: .word 0x0000FFFF _0202D718: .word 0x00000109 - thumb_func_start sub_0202D71C -sub_0202D71C: ; 0x0202D71C + thumb_func_start FUN_0202D71C +FUN_0202D71C: ; 0x0202D71C ldr r1, [r0, #0x10] cmp r1, #0x0 beq _0202D726 @@ -91038,8 +91038,8 @@ _0202D738: bx lr .balign 4 - thumb_func_start sub_0202D73C -sub_0202D73C: ; 0x0202D73C + thumb_func_start FUN_0202D73C +FUN_0202D73C: ; 0x0202D73C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x10] @@ -91049,18 +91049,18 @@ sub_0202D73C: ; 0x0202D73C str r0, [r4, #0x10] pop {r4, pc} _0202D74C: - bl sub_0202D504 + bl FUN_0202D504 cmp r0, #0x0 bne _0202D75C add r4, #0x8 add r0, r4, #0x0 - bl sub_0202D504 + bl FUN_0202D504 _0202D75C: pop {r4, pc} .balign 4 - thumb_func_start sub_0202D760 -sub_0202D760: ; 0x0202D760 + thumb_func_start FUN_0202D760 +FUN_0202D760: ; 0x0202D760 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -91071,16 +91071,16 @@ sub_0202D760: ; 0x0202D760 ble _0202D7B6 _0202D770: add r0, r5, #0x0 - bl sub_0202D71C + bl FUN_0202D71C add r6, r0, #0x0 beq _0202D7B6 add r0, r5, #0x0 - bl sub_0202D73C + bl FUN_0202D73C ldr r2, [r5, #0x14] add r0, r6, #0x0 add r1, r4, #0x0 add r3, r7, #0x0 - bl sub_0202D5BC + bl FUN_0202D5BC cmp r0, #0x0 bne _0202D794 str r6, [r5, #0x10] @@ -91098,7 +91098,7 @@ _0202D7A4: add r0, r6, #0x0 mov r1, #0x0 mov r2, #0x10 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [r4, #0x4] ldr r7, [sp, #0x0] cmp r0, #0x0 @@ -91124,37 +91124,37 @@ _0202D7D2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202D7D8 -sub_0202D7D8: ; 0x0202D7D8 + thumb_func_start FUN_0202D7D8 +FUN_0202D7D8: ; 0x0202D7D8 push {r3-r7, lr} add r4, r1, #0x0 add r6, r2, #0x0 mov r1, #0x0 mov r2, #0x20 add r5, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C lsl r7, r4, #0x4 mov r0, #0xf add r1, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 add r2, r7, #0x0 str r0, [r5, #0x18] - blx sub_020CE34C + blx FUN_020CE34C str r4, [r5, #0x1c] str r6, [r5, #0x14] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0202D804 -sub_0202D804: ; 0x0202D804 + thumb_func_start FUN_0202D804 +FUN_0202D804: ; 0x0202D804 push {r4, lr} add r4, r0, #0x0 ldr r2, [r4, #0x1c] ldr r0, [r4, #0x18] mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0x4] @@ -91164,16 +91164,16 @@ sub_0202D804: ; 0x0202D804 pop {r4, pc} .balign 4 - thumb_func_start sub_0202D824 -sub_0202D824: ; 0x0202D824 - ldr r3, _0202D82C ; =sub_02016A18 + thumb_func_start FUN_0202D824 +FUN_0202D824: ; 0x0202D824 + ldr r3, _0202D82C ; =FUN_02016A18 ldr r0, [r0, #0x18] bx r3 nop -_0202D82C: .word sub_02016A18 + 1 +_0202D82C: .word FUN_02016A18 + 1 - thumb_func_start sub_0202D830 -sub_0202D830: ; 0x0202D830 + thumb_func_start FUN_0202D830 +FUN_0202D830: ; 0x0202D830 push {r3-r4} ldr r4, [r0, #0x1c] mov r2, #0x0 @@ -91198,8 +91198,8 @@ _0202D850: bx lr .balign 4 - thumb_func_start sub_0202D858 -sub_0202D858: ; 0x0202D858 + thumb_func_start FUN_0202D858 +FUN_0202D858: ; 0x0202D858 push {r3-r4, lr} sub sp, #0x1c ldr r3, _0202D880 ; =0x020EEB04 @@ -91215,7 +91215,7 @@ _0202D864: bne _0202D864 cmp r4, #0x1a blo _0202D878 - bl sub_02020C2C + bl FUN_02020C2C _0202D878: add r0, sp, #0x0 ldrb r0, [r0, r4] @@ -91224,8 +91224,8 @@ _0202D878: .balign 4 _0202D880: .word 0x020EEB04 - thumb_func_start sub_0202D884 -sub_0202D884: ; 0x0202D884 + thumb_func_start FUN_0202D884 +FUN_0202D884: ; 0x0202D884 push {r3-r4, lr} sub sp, #0x1c ldr r3, _0202D8AC ; =0x020EEB1E @@ -91241,7 +91241,7 @@ _0202D890: bne _0202D890 cmp r4, #0x1a blo _0202D8A4 - bl sub_02020C2C + bl FUN_02020C2C _0202D8A4: add r0, sp, #0x0 ldrb r0, [r0, r4] @@ -91250,8 +91250,8 @@ _0202D8A4: .balign 4 _0202D8AC: .word 0x020EEB1E - thumb_func_start sub_0202D8B0 -sub_0202D8B0: ; 0x0202D8B0 + thumb_func_start FUN_0202D8B0 +FUN_0202D8B0: ; 0x0202D8B0 cmp r0, #0xd bgt _0202D8C4 cmp r0, #0x7 @@ -91272,8 +91272,8 @@ _0202D8CC: mov r0, #0x0 bx lr - thumb_func_start sub_0202D8D0 -sub_0202D8D0: ; 0x0202D8D0 + thumb_func_start FUN_0202D8D0 +FUN_0202D8D0: ; 0x0202D8D0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0202D914 ; =0x021C59E0 @@ -91284,7 +91284,7 @@ sub_0202D8D0: ; 0x0202D8D0 bne _0202D8EC mov r0, #0xf mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202D914 ; =0x021C59E0 str r0, [r1, #0x0] _0202D8EC: @@ -91311,14 +91311,14 @@ _0202D8FE: nop _0202D914: .word 0x021C59E0 - thumb_func_start sub_0202D918 -sub_0202D918: ; 0x0202D918 + thumb_func_start FUN_0202D918 +FUN_0202D918: ; 0x0202D918 push {r3, lr} ldr r0, _0202D930 ; =0x021C59E0 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0202D92C - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202D930 ; =0x021C59E0 mov r1, #0x0 str r1, [r0, #0x0] @@ -91327,8 +91327,8 @@ _0202D92C: nop _0202D930: .word 0x021C59E0 - thumb_func_start sub_0202D934 -sub_0202D934: ; 0x0202D934 + thumb_func_start FUN_0202D934 +FUN_0202D934: ; 0x0202D934 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -91346,7 +91346,7 @@ _0202D94C: ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0202D958 - bl sub_02020C2C + bl FUN_02020C2C _0202D958: ldr r0, _0202D99C ; =0x021C59E0 ldr r1, [r0, #0x0] @@ -91354,7 +91354,7 @@ _0202D958: add r0, #0x16 cmp r4, r0 ble _0202D96A - bl sub_02031454 + bl FUN_02031454 pop {r3-r7, pc} _0202D96A: ldr r1, [r1, #0x0] @@ -91387,8 +91387,8 @@ _0202D996: _0202D998: .word 0x020EEB38 _0202D99C: .word 0x021C59E0 - thumb_func_start sub_0202D9A0 -sub_0202D9A0: ; 0x0202D9A0 + thumb_func_start FUN_0202D9A0 +FUN_0202D9A0: ; 0x0202D9A0 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 @@ -91405,13 +91405,13 @@ _0202D9B6: ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0202D9C2 - bl sub_02020C2C + bl FUN_02020C2C _0202D9C2: ldr r0, _0202DA00 ; =0x021C59E0 ldr r1, [r0, #0x0] cmp r1, #0x0 bne _0202D9D2 - bl sub_02031454 + bl FUN_02031454 mov r0, #0x0 pop {r3-r5, pc} _0202D9D2: @@ -91419,7 +91419,7 @@ _0202D9D2: add r0, #0x16 cmp r5, r0 ble _0202D9E2 - bl sub_02031454 + bl FUN_02031454 mov r0, #0x0 pop {r3-r5, pc} _0202D9E2: @@ -91441,8 +91441,8 @@ _0202D9F6: _0202D9FC: .word 0x020EEB3C _0202DA00: .word 0x021C59E0 - thumb_func_start sub_0202DA04 -sub_0202DA04: ; 0x0202DA04 + thumb_func_start FUN_0202DA04 +FUN_0202DA04: ; 0x0202DA04 cmp r0, #0x16 bge _0202DA1C mov r1, #0xc @@ -91476,8 +91476,8 @@ _0202DA34: _0202DA38: .word 0x020EEB40 _0202DA3C: .word 0x021C59E0 - thumb_func_start sub_0202DA40 -sub_0202DA40: ; 0x0202DA40 + thumb_func_start FUN_0202DA40 +FUN_0202DA40: ; 0x0202DA40 push {r3-r5, lr} add r3, r0, #0x0 cmp r3, #0x16 @@ -91507,33 +91507,33 @@ _0202DA58: _0202DA70: .word 0x020EEB40 _0202DA74: .word 0x021C59E0 - thumb_func_start sub_0202DA78 -sub_0202DA78: ; 0x0202DA78 + thumb_func_start FUN_0202DA78 +FUN_0202DA78: ; 0x0202DA78 ldr r0, _0202DA7C ; =0x0000FFFF bx lr .balign 4 _0202DA7C: .word 0x0000FFFF - thumb_func_start sub_0202DA80 -sub_0202DA80: ; 0x0202DA80 + thumb_func_start FUN_0202DA80 +FUN_0202DA80: ; 0x0202DA80 mov r0, #0x0 bx lr - thumb_func_start sub_0202DA84 -sub_0202DA84: ; 0x0202DA84 + thumb_func_start FUN_0202DA84 +FUN_0202DA84: ; 0x0202DA84 mov r0, #0x1 bx lr - thumb_func_start sub_0202DA88 -sub_0202DA88: ; 0x0202DA88 + thumb_func_start FUN_0202DA88 +FUN_0202DA88: ; 0x0202DA88 mov r0, #0x2 bx lr - thumb_func_start sub_0202DA8C -sub_0202DA8C: ; 0x0202DA8C + thumb_func_start FUN_0202DA8C +FUN_0202DA8C: ; 0x0202DA8C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0202DACA ldr r4, _0202DACC ; =0x021C59E0 @@ -91545,7 +91545,7 @@ sub_0202DA8C: ; 0x0202DA8C _0202DAA4: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202DABA ldr r0, [r4, #0x0] @@ -91560,14 +91560,14 @@ _0202DABA: mov r1, #0x0 mov r0, #0xe add r2, r1, #0x0 - bl sub_02030BC4 + bl FUN_02030BC4 _0202DACA: pop {r3-r5, pc} .balign 4 _0202DACC: .word 0x021C59E0 - thumb_func_start sub_0202DAD0 -sub_0202DAD0: ; 0x0202DAD0 + thumb_func_start FUN_0202DAD0 +FUN_0202DAD0: ; 0x0202DAD0 ldr r0, _0202DAF0 ; =0x021C59E0 mov r3, #0x0 ldr r1, [r0, #0x0] @@ -91579,19 +91579,19 @@ sub_0202DAD0: ; 0x0202DAD0 ldr r0, [r0, #0x0] mov r1, #0x1 strb r1, [r0, #0x14] - ldr r3, _0202DAF4 ; =sub_020311D0 + ldr r3, _0202DAF4 ; =FUN_020311D0 mov r0, #0xf add r1, r2, #0x0 bx r3 nop _0202DAF0: .word 0x021C59E0 -_0202DAF4: .word sub_020311D0 + 1 +_0202DAF4: .word FUN_020311D0 + 1 - thumb_func_start sub_0202DAF8 -sub_0202DAF8: ; 0x0202DAF8 + thumb_func_start FUN_0202DAF8 +FUN_0202DAF8: ; 0x0202DAF8 push {r4, lr} add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0202DB0E ldr r0, _0202DB10 ; =0x021C59E0 @@ -91604,13 +91604,13 @@ _0202DB0E: .balign 4 _0202DB10: .word 0x021C59E0 - thumb_func_start sub_0202DB14 -sub_0202DB14: ; 0x0202DB14 + thumb_func_start FUN_0202DB14 +FUN_0202DB14: ; 0x0202DB14 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] str r1, [sp, #0x4] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x8] ldr r0, _0202DBA0 ; =0x021C59E4 ldr r0, [r0, #0x0] @@ -91619,13 +91619,13 @@ sub_0202DB14: ; 0x0202DB14 mov r1, #0xe9 mov r0, #0xf lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202DBA0 ; =0x021C59E4 mov r2, #0xe9 str r0, [r1, #0x0] mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C mov r6, #0x0 ldr r7, _0202DBA0 ; =0x021C59E4 add r4, r6, #0x0 @@ -91640,7 +91640,7 @@ _0202DB4A: lsl r0, r0, #0x2 str r2, [r1, r0] add r0, r6, #0x0 - bl sub_0202DE78 + bl FUN_0202DE78 add r6, r6, #0x1 add r4, #0x68 add r5, r5, #0x4 @@ -91668,15 +91668,15 @@ _0202DB4A: ldr r2, [r2, #0x0] ldr r0, [sp, #0x8] ldr r1, [r2, r1] - bl sub_0202393C + bl FUN_0202393C _0202DB9A: add sp, #0xc pop {r4-r7, pc} nop _0202DBA0: .word 0x021C59E4 - thumb_func_start sub_0202DBA4 -sub_0202DBA4: ; 0x0202DBA4 + thumb_func_start FUN_0202DBA4 +FUN_0202DBA4: ; 0x0202DBA4 push {r3-r5, lr} ldr r1, _0202DBDC ; =0x021C59E4 ldr r0, [r1, #0x0] @@ -91699,7 +91699,7 @@ _0202DBB8: ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0202DBD2 - bl sub_02016A18 + bl FUN_02016A18 _0202DBD2: ldr r0, _0202DBDC ; =0x021C59E4 mov r1, #0x0 @@ -91709,30 +91709,30 @@ _0202DBD8: nop _0202DBDC: .word 0x021C59E4 - thumb_func_start sub_0202DBE0 -sub_0202DBE0: ; 0x0202DBE0 + thumb_func_start FUN_0202DBE0 +FUN_0202DBE0: ; 0x0202DBE0 push {r3-r7, lr} - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0202DCD8 ; =0x021C59E4 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_0202881C + bl FUN_0202881C add r7, r0, #0x0 ldr r0, _0202DCD8 ; =0x021C59E4 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_020286EC + bl FUN_020286EC str r0, [sp, #0x0] ldr r0, _0202DCD8 ; =0x021C59E4 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_02029AFC + bl FUN_02029AFC add r6, r0, #0x0 ldr r0, _0202DCD8 ; =0x021C59E4 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_020238F4 + bl FUN_020238F4 ldr r1, _0202DCD8 ; =0x021C59E4 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 @@ -91740,7 +91740,7 @@ sub_0202DBE0: ; 0x0202DBE0 mov r1, #0xd2 lsl r1, r1, #0x2 ldr r1, [r2, r1] - bl sub_0202393C + bl FUN_0202393C mov r0, #0x68 add r5, r4, #0x0 mul r5, r0 @@ -91748,26 +91748,26 @@ sub_0202DBE0: ; 0x0202DBE0 ldr r0, [r0, #0x0] add r0, #0x64 add r0, r0, r5 - blx sub_020CD5A0 + blx FUN_020CD5A0 add r0, r7, #0x0 mov r1, #0x1 mov r2, #0x0 - bl sub_020287A8 + bl FUN_020287A8 ldr r1, _0202DCD8 ; =0x021C59E4 mov r2, #0x10 ldr r1, [r1, #0x0] add r1, #0x54 add r1, r1, r5 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r6, #0x0 - bl sub_02029B38 + bl FUN_02029B38 ldr r1, _0202DCD8 ; =0x021C59E4 ldr r1, [r1, #0x0] add r1, r1, r5 add r1, #0x6b strb r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_02029B3C + bl FUN_02029B3C ldr r2, _0202DCD8 ; =0x021C59E4 ldr r1, [r2, #0x0] add r1, r1, r5 @@ -91775,7 +91775,7 @@ sub_0202DBE0: ; 0x0202DBE0 strb r0, [r1, #0x0] ldr r0, [r2, #0x0] ldr r0, [r0, #0x4] - bl sub_02025C18 + bl FUN_02025C18 ldr r2, _0202DCD8 ; =0x021C59E4 ldr r1, [r2, #0x0] add r1, r1, r5 @@ -91788,19 +91788,19 @@ sub_0202DBE0: ; 0x0202DBE0 sub r0, r0, r1 strb r0, [r2, r5] ldr r0, [sp, #0x0] - bl sub_02028228 + bl FUN_02028228 ldr r1, _0202DCD8 ; =0x021C59E4 ldr r1, [r1, #0x0] add r1, #0x48 add r1, r1, r5 - blx sub_02096CCC + blx FUN_02096CCC ldr r0, _0202DCD8 ; =0x021C59E4 mov r1, #0x0 ldr r0, [r0, #0x0] mov r2, #0x20 add r0, #0x8 add r0, r0, r5 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202DCD8 ; =0x021C59E4 ldr r1, [r0, #0x0] ldr r0, [r1, #0x0] @@ -91808,7 +91808,7 @@ sub_0202DBE0: ; 0x0202DBE0 beq _0202DCC4 add r1, #0x8 add r1, r1, r5 - bl sub_02023ACC + bl FUN_02023ACC _0202DCC4: ldr r1, _0202DCD8 ; =0x021C59E4 mov r0, #0x3 @@ -91816,18 +91816,18 @@ _0202DCC4: mov r2, #0x68 add r1, #0x8 add r1, r1, r5 - bl sub_02030ADC + bl FUN_02030ADC pop {r3-r7, pc} nop _0202DCD8: .word 0x021C59E4 - thumb_func_start sub_0202DCDC -sub_0202DCDC: ; 0x0202DCDC + thumb_func_start FUN_0202DCDC +FUN_0202DCDC: ; 0x0202DCDC mov r0, #0x68 bx lr - thumb_func_start sub_0202DCE0 -sub_0202DCE0: ; 0x0202DCE0 + thumb_func_start FUN_0202DCE0 +FUN_0202DCE0: ; 0x0202DCE0 ldr r0, _0202DCF4 ; =0x021C59E4 ldr r2, [r0, #0x0] cmp r2, #0x0 @@ -91841,8 +91841,8 @@ _0202DCF0: nop _0202DCF4: .word 0x021C59E4 - thumb_func_start sub_0202DCF8 -sub_0202DCF8: ; 0x0202DCF8 + thumb_func_start FUN_0202DCF8 +FUN_0202DCF8: ; 0x0202DCF8 ldr r0, _0202DD04 ; =0x021C59E4 ldr r1, [r0, #0x0] mov r0, #0x3a @@ -91852,8 +91852,8 @@ sub_0202DCF8: ; 0x0202DCF8 .balign 4 _0202DD04: .word 0x021C59E4 - thumb_func_start sub_0202DD08 -sub_0202DD08: ; 0x0202DD08 + thumb_func_start FUN_0202DD08 +FUN_0202DD08: ; 0x0202DD08 push {r3-r5, lr} ldr r1, _0202DD78 ; =0x021C59E4 add r4, r2, #0x0 @@ -91862,7 +91862,7 @@ sub_0202DD08: ; 0x0202DD08 beq _0202DD74 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202DD74 ldr r1, _0202DD78 ; =0x021C59E4 @@ -91876,7 +91876,7 @@ sub_0202DD08: ; 0x0202DD08 add r3, r1, #0x0 mul r3, r2 add r1, r5, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r4, #0x62 ldr r2, _0202DD78 ; =0x021C59E4 ldrb r3, [r4, #0x0] @@ -91895,7 +91895,7 @@ sub_0202DD08: ; 0x0202DD08 strb r0, [r4, r3] ldr r0, [r2, #0x0] ldrb r4, [r0, r1] - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0202DD74 ldr r0, _0202DD78 ; =0x021C59E4 @@ -91911,8 +91911,8 @@ _0202DD74: _0202DD78: .word 0x021C59E4 _0202DD7C: .word 0x000003A2 - thumb_func_start sub_0202DD80 -sub_0202DD80: ; 0x0202DD80 + thumb_func_start FUN_0202DD80 +FUN_0202DD80: ; 0x0202DD80 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0202DDE0 ; =0x021C59E4 @@ -91926,13 +91926,13 @@ sub_0202DD80: ; 0x0202DD80 add r1, #0x8 add r1, r1, r4 add r2, r3, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0202DDE0 ; =0x021C59E4 add r1, r5, #0x0 ldr r0, [r0, #0x0] add r0, #0x64 add r0, r0, r4 - bl sub_0202EFAC + bl FUN_0202EFAC ldr r0, _0202DDE0 ; =0x021C59E4 mov r2, #0x1 ldr r0, [r0, #0x0] @@ -91940,7 +91940,7 @@ sub_0202DD80: ; 0x0202DD80 mov r0, #0xe6 lsl r0, r0, #0x2 strb r2, [r1, r0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 bne _0202DDD2 ldr r0, _0202DDE0 ; =0x021C59E4 @@ -91963,8 +91963,8 @@ _0202DDDC: _0202DDE0: .word 0x021C59E4 _0202DDE4: .word 0x000003A1 - thumb_func_start sub_0202DDE8 -sub_0202DDE8: ; 0x0202DDE8 + thumb_func_start FUN_0202DDE8 +FUN_0202DDE8: ; 0x0202DDE8 push {r3-r7, lr} ldr r0, _0202DE70 ; =0x021C59E4 ldr r1, [r0, #0x0] @@ -91976,7 +91976,7 @@ sub_0202DDE8: ; 0x0202DDE8 pop {r3-r7, pc} _0202DDFA: mov r0, #0x5 - bl sub_02031354 + bl FUN_02031354 cmp r0, #0x0 bne _0202DE6C mov r4, #0x0 @@ -91996,7 +91996,7 @@ _0202DE0A: strb r4, [r0, #0x0] ldr r0, _0202DE70 ; =0x021C59E4 ldr r6, [r0, #0x0] - bl sub_02023924 + bl FUN_02023924 add r2, r0, #0x0 mov r0, #0xd2 add r1, r6, r7 @@ -92004,14 +92004,14 @@ _0202DE0A: ldr r0, [r1, r0] add r6, #0x28 add r1, r6, r5 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r1, _0202DE70 ; =0x021C59E4 mov r0, #0x4 ldr r1, [r1, #0x0] mov r2, #0x68 add r1, #0x8 add r1, r1, r5 - bl sub_02031000 + bl FUN_02031000 _0202DE4A: add r4, r4, #0x1 add r5, #0x68 @@ -92021,7 +92021,7 @@ _0202DE4A: mov r1, #0x0 mov r0, #0x5 add r2, r1, #0x0 - bl sub_02031000 + bl FUN_02031000 ldr r0, _0202DE70 ; =0x021C59E4 mov r2, #0x0 ldr r1, [r0, #0x0] @@ -92036,8 +92036,8 @@ _0202DE6C: _0202DE70: .word 0x021C59E4 _0202DE74: .word 0x000003A1 - thumb_func_start sub_0202DE78 -sub_0202DE78: ; 0x0202DE78 + thumb_func_start FUN_0202DE78 +FUN_0202DE78: ; 0x0202DE78 push {r4, lr} add r4, r0, #0x0 ldr r0, _0202DEA0 ; =0x021C59E4 @@ -92047,7 +92047,7 @@ sub_0202DE78: ; 0x0202DE78 mov r0, #0xd2 lsl r0, r0, #0x2 ldr r0, [r1, r0] - bl sub_02023948 + bl FUN_02023948 ldr r0, _0202DEA0 ; =0x021C59E4 mov r2, #0x0 ldr r0, [r0, #0x0] @@ -92059,8 +92059,8 @@ sub_0202DE78: ; 0x0202DE78 nop _0202DEA0: .word 0x021C59E4 - thumb_func_start sub_0202DEA4 -sub_0202DEA4: ; 0x0202DEA4 + thumb_func_start FUN_0202DEA4 +FUN_0202DEA4: ; 0x0202DEA4 ldr r1, _0202DEBC ; =0x021C59E4 ldr r1, [r1, #0x0] add r1, r1, r0 @@ -92077,8 +92077,8 @@ _0202DEB8: .balign 4 _0202DEBC: .word 0x021C59E4 - thumb_func_start sub_0202DEC0 -sub_0202DEC0: ; 0x0202DEC0 + thumb_func_start FUN_0202DEC0 +FUN_0202DEC0: ; 0x0202DEC0 ldr r1, _0202DEDC ; =0x021C59E4 mov r2, #0x1 ldr r1, [r1, #0x0] @@ -92097,8 +92097,8 @@ _0202DED8: .balign 4 _0202DEDC: .word 0x021C59E4 - thumb_func_start sub_0202DEE0 -sub_0202DEE0: ; 0x0202DEE0 + thumb_func_start FUN_0202DEE0 +FUN_0202DEE0: ; 0x0202DEE0 ldr r1, _0202DEF0 ; =0x021C59E4 mov r2, #0x2 ldr r1, [r1, #0x0] @@ -92110,8 +92110,8 @@ sub_0202DEE0: ; 0x0202DEE0 .balign 4 _0202DEF0: .word 0x021C59E4 - thumb_func_start sub_0202DEF4 -sub_0202DEF4: ; 0x0202DEF4 + thumb_func_start FUN_0202DEF4 +FUN_0202DEF4: ; 0x0202DEF4 ldr r1, _0202DF04 ; =0x021C59E4 mov r2, #0x3 ldr r1, [r1, #0x0] @@ -92123,8 +92123,8 @@ sub_0202DEF4: ; 0x0202DEF4 .balign 4 _0202DF04: .word 0x021C59E4 - thumb_func_start sub_0202DF08 -sub_0202DF08: ; 0x0202DF08 + thumb_func_start FUN_0202DF08 +FUN_0202DF08: ; 0x0202DF08 ldr r1, _0202DF24 ; =0x021C59E4 mov r0, #0x0 ldr r3, [r1, #0x0] @@ -92144,8 +92144,8 @@ _0202DF22: .balign 4 _0202DF24: .word 0x021C59E4 - thumb_func_start sub_0202DF28 -sub_0202DF28: ; 0x0202DF28 + thumb_func_start FUN_0202DF28 +FUN_0202DF28: ; 0x0202DF28 push {r3-r4} ldr r1, _0202DF50 ; =0x021C59E4 mov r0, #0x0 @@ -92171,14 +92171,14 @@ _0202DF42: nop _0202DF50: .word 0x021C59E4 - thumb_func_start sub_0202DF54 -sub_0202DF54: ; 0x0202DF54 + thumb_func_start FUN_0202DF54 +FUN_0202DF54: ; 0x0202DF54 push {r4-r6, lr} ldr r0, _0202DFA0 ; =0x021C59E4 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0202DF9C - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x0 beq _0202DF9C mov r6, #0xe6 @@ -92188,12 +92188,12 @@ sub_0202DF54: ; 0x0202DF54 _0202DF6E: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0202DF96 cmp r5, #0x0 bne _0202DF86 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _0202DF96 _0202DF86: @@ -92203,7 +92203,7 @@ _0202DF86: cmp r0, #0x0 beq _0202DF96 add r0, r5, #0x0 - bl sub_0202DE78 + bl FUN_0202DE78 _0202DF96: add r5, r5, #0x1 cmp r5, #0x8 @@ -92213,8 +92213,8 @@ _0202DF9C: nop _0202DFA0: .word 0x021C59E4 - thumb_func_start sub_0202DFA4 -sub_0202DFA4: ; 0x0202DFA4 + thumb_func_start FUN_0202DFA4 +FUN_0202DFA4: ; 0x0202DFA4 ldr r1, _0202DFD4 ; =0x021C59E4 ldr r3, [r1, #0x0] cmp r3, #0x0 @@ -92245,8 +92245,8 @@ _0202DFD0: .balign 4 _0202DFD4: .word 0x021C59E4 - thumb_func_start sub_0202DFD8 -sub_0202DFD8: ; 0x0202DFD8 + thumb_func_start FUN_0202DFD8 +FUN_0202DFD8: ; 0x0202DFD8 ldr r1, _0202DFF8 ; =0x021C59E4 ldr r3, [r1, #0x0] mov r1, #0xe6 @@ -92266,8 +92266,8 @@ _0202DFF2: nop _0202DFF8: .word 0x021C59E4 - thumb_func_start sub_0202DFFC -sub_0202DFFC: ; 0x0202DFFC + thumb_func_start FUN_0202DFFC +FUN_0202DFFC: ; 0x0202DFFC ldr r1, _0202E01C ; =0x021C59E4 ldr r3, [r1, #0x0] mov r1, #0xe6 @@ -92287,8 +92287,8 @@ _0202E016: nop _0202E01C: .word 0x021C59E4 - thumb_func_start sub_0202E020 -sub_0202E020: ; 0x0202E020 + thumb_func_start FUN_0202E020 +FUN_0202E020: ; 0x0202E020 ldr r1, _0202E040 ; =0x021C59E4 ldr r3, [r1, #0x0] mov r1, #0xe6 @@ -92309,8 +92309,8 @@ _0202E03C: .balign 4 _0202E040: .word 0x021C59E4 - thumb_func_start sub_0202E044 -sub_0202E044: ; 0x0202E044 + thumb_func_start FUN_0202E044 +FUN_0202E044: ; 0x0202E044 ldr r1, _0202E064 ; =0x021C59E4 ldr r3, [r1, #0x0] mov r1, #0xe6 @@ -92331,8 +92331,8 @@ _0202E060: .balign 4 _0202E064: .word 0x021C59E4 - thumb_func_start sub_0202E068 -sub_0202E068: ; 0x0202E068 + thumb_func_start FUN_0202E068 +FUN_0202E068: ; 0x0202E068 ldr r1, _0202E088 ; =0x021C59E4 ldr r3, [r1, #0x0] mov r1, #0xe6 @@ -92353,8 +92353,8 @@ _0202E084: .balign 4 _0202E088: .word 0x021C59E4 - thumb_func_start sub_0202E08C -sub_0202E08C: ; 0x0202E08C + thumb_func_start FUN_0202E08C +FUN_0202E08C: ; 0x0202E08C push {r4-r6, lr} mov r4, #0x0 add r5, r4, #0x0 @@ -92362,7 +92362,7 @@ sub_0202E08C: ; 0x0202E08C _0202E094: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202E0E8 ldr r0, _0202E0F4 ; =0x021C59E4 @@ -92376,7 +92376,7 @@ _0202E094: add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202E0E8 ldr r0, _0202E0F4 ; =0x021C59E4 @@ -92413,8 +92413,8 @@ _0202E0E8: _0202E0F4: .word 0x021C59E4 _0202E0F8: .word 0x00000399 - thumb_func_start sub_0202E0FC -sub_0202E0FC: ; 0x0202E0FC + thumb_func_start FUN_0202E0FC +FUN_0202E0FC: ; 0x0202E0FC push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0202E1B4 ; =0x021C59E4 @@ -92424,21 +92424,21 @@ sub_0202E0FC: ; 0x0202E0FC beq _0202E1B0 cmp r7, #0x2 beq _0202E11C - bl sub_02031190 - bl sub_020313CC + bl FUN_02031190 + bl FUN_020313CC mov r1, #0x1 and r0, r1 str r0, [sp, #0x0] _0202E11C: mov r4, #0x0 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x0 ble _0202E1B0 add r5, r4, #0x0 _0202E128: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202E1A4 ldr r0, _0202E1B4 ; =0x021C59E4 @@ -92452,7 +92452,7 @@ _0202E128: cmp r7, #0x0 bne _0202E16E add r0, r4, #0x0 - bl sub_020313CC + bl FUN_020313CC mov r1, #0x1 and r1, r0 ldr r0, [sp, #0x0] @@ -92473,7 +92473,7 @@ _0202E16E: cmp r7, #0x1 bne _0202E194 add r0, r4, #0x0 - bl sub_020313CC + bl FUN_020313CC mov r1, #0x1 and r1, r0 ldr r0, [sp, #0x0] @@ -92500,7 +92500,7 @@ _0202E194: _0202E1A4: add r5, r5, #0x6 add r4, r4, #0x1 - bl sub_02030F20 + bl FUN_02030F20 cmp r4, r0 blt _0202E128 _0202E1B0: @@ -92509,26 +92509,26 @@ _0202E1B0: _0202E1B4: .word 0x021C59E4 _0202E1B8: .word 0x0000036A - thumb_func_start sub_0202E1BC -sub_0202E1BC: ; 0x0202E1BC + thumb_func_start FUN_0202E1BC +FUN_0202E1BC: ; 0x0202E1BC push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 - bl sub_020286EC + bl FUN_020286EC str r0, [sp, #0x4] mov r4, #0x0 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x0 ble _0202E224 add r5, r4, #0x0 _0202E1D4: add r0, r4, #0x0 - bl sub_0202DFD8 + bl FUN_0202DFD8 add r1, r0, #0x0 beq _0202E218 add r0, r7, #0x0 add r2, sp, #0x8 - bl sub_02033874 + bl FUN_02033874 cmp r0, #0x0 beq _0202E1EE cmp r0, #0x1 @@ -92537,7 +92537,7 @@ _0202E1EE: ldr r0, [sp, #0x8] cmp r0, #0x0 bge _0202E1F8 - bl sub_02020C2C + bl FUN_02020C2C _0202E1F8: ldr r0, _0202E254 ; =0x021C59E4 mov r2, #0xda @@ -92553,11 +92553,11 @@ _0202E1F8: ldrh r3, [r6, r3] ldr r0, [sp, #0x4] ldr r1, [sp, #0x8] - bl sub_02028608 + bl FUN_02028608 _0202E218: add r5, r5, #0x6 add r4, r4, #0x1 - bl sub_02030F20 + bl FUN_02030F20 cmp r4, r0 blt _0202E1D4 _0202E224: @@ -92589,15 +92589,15 @@ _0202E234: _0202E254: .word 0x021C59E4 _0202E258: .word 0x0000036A - thumb_func_start sub_0202E25C -sub_0202E25C: ; 0x0202E25C + thumb_func_start FUN_0202E25C +FUN_0202E25C: ; 0x0202E25C push {r4, lr} add r4, r0, #0x0 cmp r1, #0x1 bne _0202E26E mov r0, #0x0 mov r1, #0x1 - bl sub_0202E0FC + bl FUN_0202E0FC b _0202E27E _0202E26E: mov r0, #0x0 @@ -92606,26 +92606,26 @@ _0202E26E: bne _0202E27E mov r0, #0x1 add r1, r0, #0x0 - bl sub_0202E0FC + bl FUN_0202E0FC _0202E27E: add r0, r4, #0x0 - bl sub_0202E1BC + bl FUN_0202E1BC pop {r4, pc} .balign 4 - thumb_func_start sub_0202E288 -sub_0202E288: ; 0x0202E288 + thumb_func_start FUN_0202E288 +FUN_0202E288: ; 0x0202E288 push {r4, lr} add r4, r0, #0x0 mov r0, #0x2 - bl sub_0202E0FC + bl FUN_0202E0FC add r0, r4, #0x0 - bl sub_0202E1BC + bl FUN_0202E1BC pop {r4, pc} .balign 4 - thumb_func_start sub_0202E29C -sub_0202E29C: ; 0x0202E29C + thumb_func_start FUN_0202E29C +FUN_0202E29C: ; 0x0202E29C push {r4, lr} add r4, r0, #0x0 ldr r0, _0202E334 ; =0x021C59E8 @@ -92635,45 +92635,45 @@ sub_0202E29C: ; 0x0202E29C mov r1, #0xdb mov r0, #0xf lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202E334 ; =0x021C59E8 mov r2, #0xdb str r0, [r1, #0x8] mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020CE34C - bl sub_0202CEEC + blx FUN_020CE34C + bl FUN_0202CEEC add r1, r0, #0x0 mov r0, #0xf - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202E334 ; =0x021C59E8 ldr r2, [r1, #0x8] ldr r1, _0202E338 ; =0x00000CA4 str r0, [r2, r1] - bl sub_0202CEEC + bl FUN_0202CEEC add r2, r0, #0x0 ldr r0, _0202E334 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E338 ; =0x00000CA4 ldr r0, [r1, r0] mov r1, #0x0 - blx sub_020CE34C - bl sub_02023AC4 + blx FUN_020CE34C + bl FUN_02023AC4 add r1, r0, #0x0 mov r0, #0xf - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202E334 ; =0x021C59E8 ldr r2, [r1, #0x8] ldr r1, _0202E33C ; =0x00000CBC str r0, [r2, r1] - bl sub_02023AC4 + bl FUN_02023AC4 add r2, r0, #0x0 ldr r0, _0202E334 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E33C ; =0x00000CBC ldr r0, [r1, r0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r2, _0202E334 ; =0x021C59E8 mov r1, #0x33 ldr r3, _0202E340 ; =0x00000333 @@ -92687,8 +92687,8 @@ sub_0202E29C: ; 0x0202E29C ldr r0, [r2, #0x8] sub r1, #0x18 add r0, r0, r1 - bl sub_02013724 - bl sub_0202E500 + bl FUN_02013724 + bl FUN_0202E500 _0202E332: pop {r4, pc} .balign 4 @@ -92697,8 +92697,8 @@ _0202E338: .word 0x00000CA4 _0202E33C: .word 0x00000CBC _0202E340: .word 0x00000333 - thumb_func_start sub_0202E344 -sub_0202E344: ; 0x0202E344 + thumb_func_start FUN_0202E344 +FUN_0202E344: ; 0x0202E344 ldr r0, _0202E354 ; =0x021C59E8 ldr r0, [r0, #0x8] cmp r0, #0x0 @@ -92711,8 +92711,8 @@ _0202E350: .balign 4 _0202E354: .word 0x021C59E8 - thumb_func_start sub_0202E358 -sub_0202E358: ; 0x0202E358 + thumb_func_start FUN_0202E358 +FUN_0202E358: ; 0x0202E358 push {r4-r5} mov r5, #0x0 cmp r2, #0x0 @@ -92737,24 +92737,24 @@ _0202E378: bx lr .balign 4 - thumb_func_start sub_0202E380 -sub_0202E380: ; 0x0202E380 + thumb_func_start FUN_0202E380 +FUN_0202E380: ; 0x0202E380 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 add r5, r0, #0x0 - bl sub_0203354C + bl FUN_0203354C add r4, r7, #0x0 add r6, r0, #0x0 add r4, #0x50 cmp r5, #0xe beq _0202E3C2 ldrb r0, [r4, #0x4] - bl sub_0202D8B0 + bl FUN_0202D8B0 cmp r0, #0x0 beq _0202E3AC add r0, r5, #0x0 - bl sub_0202D8B0 + bl FUN_0202D8B0 cmp r0, #0x0 bne _0202E3C2 _0202E3AC: @@ -92792,7 +92792,7 @@ _0202E3D2: add r0, r0, r5 add r1, r7, #0x4 mov r2, #0x6 - bl sub_0202E358 + bl FUN_0202E358 cmp r0, #0x0 beq _0202E412 ldr r2, _0202E464 ; =0x021C59E8 @@ -92809,7 +92809,7 @@ _0202E3D2: mul r1, r2 add r0, r7, #0x0 add r1, r3, r1 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3-r7, pc} _0202E412: add r6, r6, #0x1 @@ -92846,7 +92846,7 @@ _0202E434: mul r3, r2 add r0, r7, #0x0 add r1, r4, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0202E464 ; =0x021C59E8 mov r2, #0x1 ldr r1, [r0, #0x8] @@ -92859,12 +92859,12 @@ _0202E464: .word 0x021C59E8 _0202E468: .word 0x00000C84 _0202E46C: .word 0x00000CB4 - thumb_func_start sub_0202E470 -sub_0202E470: ; 0x0202E470 + thumb_func_start FUN_0202E470 +FUN_0202E470: ; 0x0202E470 push {r3, lr} cmp r1, #0x0 beq _0202E47A - blx sub_020CD850 + blx FUN_020CD850 _0202E47A: ldr r0, _0202E484 ; =0x021C59E8 mov r1, #0x2 @@ -92873,41 +92873,41 @@ _0202E47A: nop _0202E484: .word 0x021C59E8 - thumb_func_start sub_0202E488 -sub_0202E488: ; 0x0202E488 + thumb_func_start FUN_0202E488 +FUN_0202E488: ; 0x0202E488 ldr r0, _0202E494 ; =0x021C59E8 mov r1, #0x0 str r1, [r0, #0x4] - ldr r3, _0202E498 ; =sub_02016454 + ldr r3, _0202E498 ; =FUN_02016454 mov r0, #0x4 bx r3 .balign 4 _0202E494: .word 0x021C59E8 -_0202E498: .word sub_02016454 + 1 +_0202E498: .word FUN_02016454 + 1 - thumb_func_start sub_0202E49C -sub_0202E49C: ; 0x0202E49C + thumb_func_start FUN_0202E49C +FUN_0202E49C: ; 0x0202E49C push {r3, lr} mov r0, #0x4 - bl sub_02016444 + bl FUN_02016444 ldr r0, _0202E4C0 ; =0x021C59E8 mov r1, #0x1 str r1, [r0, #0x4] - ldr r1, _0202E4C4 ; =sub_0202E470 + ldr r1, _0202E4C4 ; =FUN_0202E470 mov r0, #0x8 mov r2, #0x0 - blx sub_02090DB8 + blx FUN_02090DB8 cmp r0, #0x1 beq _0202E4BC - blx sub_020CD850 + blx FUN_020CD850 _0202E4BC: pop {r3, pc} nop _0202E4C0: .word 0x021C59E8 -_0202E4C4: .word sub_0202E470 + 1 +_0202E4C4: .word FUN_0202E470 + 1 - thumb_func_start sub_0202E4C8 -sub_0202E4C8: ; 0x0202E4C8 + thumb_func_start FUN_0202E4C8 +FUN_0202E4C8: ; 0x0202E4C8 ldr r0, _0202E4D8 ; =0x021C59E8 ldr r0, [r0, #0x4] cmp r0, #0x2 @@ -92920,8 +92920,8 @@ _0202E4D4: .balign 4 _0202E4D8: .word 0x021C59E8 - thumb_func_start sub_0202E4DC -sub_0202E4DC: ; 0x0202E4DC + thumb_func_start FUN_0202E4DC +FUN_0202E4DC: ; 0x0202E4DC ldr r0, _0202E4EC ; =0x021C59E8 ldr r0, [r0, #0x4] cmp r0, #0x0 @@ -92934,18 +92934,18 @@ _0202E4E8: .balign 4 _0202E4EC: .word 0x021C59E8 - thumb_func_start sub_0202E4F0 -sub_0202E4F0: ; 0x0202E4F0 - ldr r3, _0202E4F8 ; =sub_02090CC8 - ldr r0, _0202E4FC ; =sub_0202E488 + thumb_func_start FUN_0202E4F0 +FUN_0202E4F0: ; 0x0202E4F0 + ldr r3, _0202E4F8 ; =FUN_02090CC8 + ldr r0, _0202E4FC ; =FUN_0202E488 mov r1, #0x0 bx r3 .balign 4 -_0202E4F8: .word sub_02090CC8 -_0202E4FC: .word sub_0202E488 + 1 +_0202E4F8: .word FUN_02090CC8 +_0202E4FC: .word FUN_0202E488 + 1 - thumb_func_start sub_0202E500 -sub_0202E500: ; 0x0202E500 + thumb_func_start FUN_0202E500 +FUN_0202E500: ; 0x0202E500 push {r3, lr} ldr r1, _0202E534 ; =0x021C59E8 mov r0, #0xcb @@ -92962,19 +92962,19 @@ sub_0202E500: ; 0x0202E500 mov r0, #0x20 sub r0, r0, r1 add r0, r2, r0 - bl sub_0202CE64 + bl FUN_0202CE64 ldr r0, _0202E534 ; =0x021C59E8 ldr r1, [r0, #0x8] mov r0, #0x33 lsl r0, r0, #0x6 ldr r0, [r1, r0] - bl sub_0202CB70 + bl FUN_0202CB70 pop {r3, pc} .balign 4 _0202E534: .word 0x021C59E8 - thumb_func_start sub_0202E538 -sub_0202E538: ; 0x0202E538 + thumb_func_start FUN_0202E538 +FUN_0202E538: ; 0x0202E538 push {r3-r5, lr} mov r4, #0x0 ldr r2, _0202E564 ; =0x021C59E8 @@ -92994,14 +92994,14 @@ _0202E544: ldr r0, [r0, #0x8] lsl r2, r2, #0xa add r0, #0x54 - blx sub_020CE34C + blx FUN_020CE34C pop {r3-r5, pc} nop _0202E564: .word 0x021C59E8 _0202E568: .word 0x00000C84 - thumb_func_start sub_0202E56C -sub_0202E56C: ; 0x0202E56C + thumb_func_start FUN_0202E56C +FUN_0202E56C: ; 0x0202E56C push {r3-r4} ldr r1, _0202E58C ; =0x021C59E8 lsl r0, r0, #0x18 @@ -93021,8 +93021,8 @@ sub_0202E56C: ; 0x0202E56C _0202E58C: .word 0x021C59E8 _0202E590: .word 0x00000DAD - thumb_func_start sub_0202E594 -sub_0202E594: ; 0x0202E594 + thumb_func_start FUN_0202E594 +FUN_0202E594: ; 0x0202E594 push {r4-r5} ldr r1, _0202E5F0 ; =0x021C59E8 ldr r0, _0202E5F4 ; =0x00000CB4 @@ -93073,24 +93073,24 @@ sub_0202E594: ; 0x0202E594 _0202E5F0: .word 0x021C59E8 _0202E5F4: .word 0x00000CB4 - thumb_func_start sub_0202E5F8 -sub_0202E5F8: ; 0x0202E5F8 + thumb_func_start FUN_0202E5F8 +FUN_0202E5F8: ; 0x0202E5F8 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_0202E594 + bl FUN_0202E594 add r0, r5, #0x0 - bl sub_0202E56C - bl sub_0202D2F4 + bl FUN_0202E56C + bl FUN_0202D2F4 ldr r0, _0202E65C ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E660 ; =0x00000DAB ldrb r0, [r1, r0] cmp r0, #0x0 bne _0202E62A - ldr r0, _0202E664 ; =sub_020303BC + ldr r0, _0202E664 ; =FUN_020303BC mov r1, #0xe - bl sub_0202D0A0 + bl FUN_0202D0A0 ldr r0, _0202E65C ; =0x021C59E8 mov r2, #0x1 ldr r1, [r0, #0x8] @@ -93109,10 +93109,10 @@ _0202E62A: lsr r2, r2, #0x1a orr r0, r2 strb r0, [r1, r3] - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x1 bne _0202E656 - bl sub_0202CBFC + bl FUN_0202CBFC cmp r0, #0x0 beq _0202E656 mov r0, #0x1 @@ -93123,18 +93123,18 @@ _0202E656: nop _0202E65C: .word 0x021C59E8 _0202E660: .word 0x00000DAB -_0202E664: .word sub_020303BC + 1 +_0202E664: .word FUN_020303BC + 1 _0202E668: .word 0x00000DAD - thumb_func_start sub_0202E66C -sub_0202E66C: ; 0x0202E66C + thumb_func_start FUN_0202E66C +FUN_0202E66C: ; 0x0202E66C push {r4, lr} sub sp, #0x8 add r4, r1, #0x0 - bl sub_0202E594 + bl FUN_0202E594 cmp r4, #0x0 beq _0202E67E - bl sub_0202E538 + bl FUN_0202E538 _0202E67E: ldr r0, _0202E6DC ; =0x021C59E8 ldr r1, [r0, #0x8] @@ -93142,16 +93142,16 @@ _0202E67E: ldrb r0, [r1, r0] cmp r0, #0x0 bne _0202E69C - ldr r0, _0202E6E4 ; =sub_02030238 + ldr r0, _0202E6E4 ; =FUN_02030238 mov r1, #0xe - bl sub_0202D0A0 + bl FUN_0202D0A0 ldr r0, _0202E6DC ; =0x021C59E8 mov r2, #0x1 ldr r1, [r0, #0x8] ldr r0, _0202E6E0 ; =0x00000DAB strb r2, [r1, r0] _0202E69C: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x1 bne _0202E6D4 ldr r2, _0202E6E8 ; =0x020EEC40 @@ -93169,9 +93169,9 @@ _0202E69C: ldrb r2, [r2, #0x5] strb r3, [r0, #0x4] strb r2, [r0, #0x5] - ldr r0, _0202E6EC ; =sub_0202E380 + ldr r0, _0202E6EC ; =FUN_0202E380 mov r2, #0x0 - bl sub_0202C570 + bl FUN_0202C570 cmp r0, #0x0 beq _0202E6D4 add sp, #0x8 @@ -93184,12 +93184,12 @@ _0202E6D4: nop _0202E6DC: .word 0x021C59E8 _0202E6E0: .word 0x00000DAB -_0202E6E4: .word sub_02030238 + 1 +_0202E6E4: .word FUN_02030238 + 1 _0202E6E8: .word 0x020EEC40 -_0202E6EC: .word sub_0202E380 + 1 +_0202E6EC: .word FUN_0202E380 + 1 - thumb_func_start sub_0202E6F0 -sub_0202E6F0: ; 0x0202E6F0 + thumb_func_start FUN_0202E6F0 +FUN_0202E6F0: ; 0x0202E6F0 push {r3, lr} ldr r0, _0202E77C ; =0x021C59E8 ldr r1, [r0, #0x8] @@ -93208,10 +93208,10 @@ _0202E6FE: beq _0202E758 b _0202E776 _0202E710: - bl sub_0202D21C + bl FUN_0202D21C cmp r0, #0x0 beq _0202E728 - bl sub_0202C770 + bl FUN_0202C770 ldr r0, _0202E77C ; =0x021C59E8 mov r2, #0x1 ldr r1, [r0, #0x8] @@ -93219,10 +93219,10 @@ _0202E710: strb r2, [r1, r0] b _0202E776 _0202E728: - bl sub_0202D1E4 + bl FUN_0202D1E4 cmp r0, #0x0 bne _0202E776 - bl sub_0202D100 + bl FUN_0202D100 ldr r0, _0202E77C ; =0x021C59E8 mov r2, #0x2 ldr r1, [r0, #0x8] @@ -93230,10 +93230,10 @@ _0202E728: strb r2, [r1, r0] b _0202E776 _0202E740: - bl sub_0202D1E4 + bl FUN_0202D1E4 cmp r0, #0x0 bne _0202E776 - bl sub_0202D100 + bl FUN_0202D100 ldr r0, _0202E77C ; =0x021C59E8 mov r2, #0x2 ldr r1, [r0, #0x8] @@ -93241,13 +93241,13 @@ _0202E740: strb r2, [r1, r0] b _0202E776 _0202E758: - bl sub_0202D1C8 + bl FUN_0202D1C8 cmp r0, #0x0 beq _0202E764 mov r0, #0x1 pop {r3, pc} _0202E764: - bl sub_0202D200 + bl FUN_0202D200 cmp r0, #0x0 beq _0202E776 ldr r0, _0202E77C ; =0x021C59E8 @@ -93262,8 +93262,8 @@ _0202E776: _0202E77C: .word 0x021C59E8 _0202E780: .word 0x00000DAC - thumb_func_start sub_0202E784 -sub_0202E784: ; 0x0202E784 + thumb_func_start FUN_0202E784 +FUN_0202E784: ; 0x0202E784 push {r3, lr} ldr r0, _0202E7A8 ; =0x021C59E8 ldr r2, [r0, #0x8] @@ -93275,7 +93275,7 @@ sub_0202E784: ; 0x0202E784 bne _0202E7A2 mov r1, #0x1 strb r1, [r2, r0] - bl sub_0202D100 + bl FUN_0202D100 mov r0, #0x1 pop {r3, pc} _0202E7A2: @@ -93285,8 +93285,8 @@ _0202E7A2: _0202E7A8: .word 0x021C59E8 _0202E7AC: .word 0x00000DAA - thumb_func_start sub_0202E7B0 -sub_0202E7B0: ; 0x0202E7B0 + thumb_func_start FUN_0202E7B0 +FUN_0202E7B0: ; 0x0202E7B0 push {r3, lr} ldr r1, _0202E7D0 ; =0x021C59E8 ldr r2, [r1, #0x8] @@ -93301,29 +93301,29 @@ sub_0202E7B0: ; 0x0202E7B0 _0202E7C6: mov r1, #0x0 strb r1, [r2, r0] - bl sub_0202E500 + bl FUN_0202E500 _0202E7CE: pop {r3, pc} .balign 4 _0202E7D0: .word 0x021C59E8 _0202E7D4: .word 0x00000DAA - thumb_func_start sub_0202E7D8 -sub_0202E7D8: ; 0x0202E7D8 + thumb_func_start FUN_0202E7D8 +FUN_0202E7D8: ; 0x0202E7D8 push {r3, lr} ldr r0, _0202E804 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E808 ; =0x00000CBC ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202E804 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E80C ; =0x00000CA4 ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202E804 ; =0x021C59E8 ldr r0, [r0, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202E804 ; =0x021C59E8 mov r1, #0x0 str r1, [r0, #0x8] @@ -93333,10 +93333,10 @@ _0202E804: .word 0x021C59E8 _0202E808: .word 0x00000CBC _0202E80C: .word 0x00000CA4 - thumb_func_start sub_0202E810 -sub_0202E810: ; 0x0202E810 + thumb_func_start FUN_0202E810 +FUN_0202E810: ; 0x0202E810 push {r4, lr} - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0202E81E mov r0, #0x0 @@ -93362,8 +93362,8 @@ _0202E830: _0202E83C: .word 0x021C59E8 _0202E840: .word 0x00000C84 - thumb_func_start sub_0202E844 -sub_0202E844: ; 0x0202E844 + thumb_func_start FUN_0202E844 +FUN_0202E844: ; 0x0202E844 push {r3-r5, lr} ldr r1, _0202E870 ; =0x021C59E8 mov r4, #0x0 @@ -93385,15 +93385,15 @@ _0202E860: add r5, r5, #0x2 cmp r3, #0x10 blt _0202E850 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0202E870: .word 0x021C59E8 _0202E874: .word 0x00000C84 - thumb_func_start sub_0202E878 -sub_0202E878: ; 0x0202E878 + thumb_func_start FUN_0202E878 +FUN_0202E878: ; 0x0202E878 ldr r0, _0202E884 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202E888 ; =0x00000CB4 @@ -93403,8 +93403,8 @@ sub_0202E878: ; 0x0202E878 _0202E884: .word 0x021C59E8 _0202E888: .word 0x00000CB4 - thumb_func_start sub_0202E88C -sub_0202E88C: ; 0x0202E88C + thumb_func_start FUN_0202E88C +FUN_0202E88C: ; 0x0202E88C ldr r0, _0202E898 ; =0x021C59E8 mov r2, #0x0 ldr r1, [r0, #0x8] @@ -93415,8 +93415,8 @@ sub_0202E88C: ; 0x0202E88C _0202E898: .word 0x021C59E8 _0202E89C: .word 0x00000CB4 - thumb_func_start sub_0202E8A0 -sub_0202E8A0: ; 0x0202E8A0 + thumb_func_start FUN_0202E8A0 +FUN_0202E8A0: ; 0x0202E8A0 ldr r1, _0202E8C8 ; =0x021C59E8 ldr r3, [r1, #0x8] lsl r1, r0, #0x1 @@ -93442,14 +93442,14 @@ _0202E8C4: _0202E8C8: .word 0x021C59E8 _0202E8CC: .word 0x00000C84 - thumb_func_start sub_0202E8D0 -sub_0202E8D0: ; 0x0202E8D0 + thumb_func_start FUN_0202E8D0 +FUN_0202E8D0: ; 0x0202E8D0 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0xf _0202E8D6: add r0, r4, #0x0 - bl sub_0202E8A0 + bl FUN_0202E8A0 cmp r0, r5 ble _0202E8E8 cmp r0, #0x8 @@ -93464,10 +93464,10 @@ _0202E8E8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202E8F4 -sub_0202E8F4: ; 0x0202E8F4 + thumb_func_start FUN_0202E8F4 +FUN_0202E8F4: ; 0x0202E8F4 push {r3-r7, lr} - bl sub_0202E810 + bl FUN_0202E810 cmp r0, #0x0 bne _0202E904 mov r0, #0x0 @@ -93488,11 +93488,11 @@ _0202E90E: beq _0202E938 add r0, #0x58 add r0, r0, r5 - bl sub_0202EFE4 + bl FUN_0202EFE4 cmp r0, #0x0 beq _0202E938 add r0, r6, #0x0 - bl sub_0202E8A0 + bl FUN_0202E8A0 cmp r0, #0x1 ble _0202E938 cmp r0, #0x8 @@ -93511,10 +93511,10 @@ _0202E938: _0202E948: .word 0x021C59E8 _0202E94C: .word 0x00000C84 - thumb_func_start sub_0202E950 -sub_0202E950: ; 0x0202E950 + thumb_func_start FUN_0202E950 +FUN_0202E950: ; 0x0202E950 push {r3-r7, lr} - bl sub_0202E810 + bl FUN_0202E810 cmp r0, #0x0 bne _0202E960 mov r0, #0x0 @@ -93535,7 +93535,7 @@ _0202E96A: beq _0202E986 add r0, #0x58 add r0, r0, r5 - bl sub_0202EFE4 + bl FUN_0202EFE4 cmp r0, #0x0 beq _0202E986 add r0, r6, #0x0 @@ -93546,21 +93546,21 @@ _0202E986: sub r6, r6, #0x1 bpl _0202E96A mov r0, #0x1 - bl sub_0202E8D0 + bl FUN_0202E8D0 mov r1, #0x0 mvn r1, r1 cmp r0, r1 bne _0202E9A2 mov r0, #0x0 - bl sub_0202E8D0 + bl FUN_0202E8D0 _0202E9A2: pop {r3-r7, pc} .balign 4 _0202E9A4: .word 0x021C59E8 _0202E9A8: .word 0x00000C84 - thumb_func_start sub_0202E9AC -sub_0202E9AC: ; 0x0202E9AC + thumb_func_start FUN_0202E9AC +FUN_0202E9AC: ; 0x0202E9AC push {r4-r6, lr} add r4, r1, #0x0 ldr r1, _0202E9E0 ; =0x021C59E8 @@ -93575,9 +93575,9 @@ _0202E9BA: cmp r0, r5 bne _0202E9D2 add r0, r3, #0x0 - bl sub_0202EF84 + bl FUN_0202EF84 add r1, r4, #0x0 - bl sub_0202393C + bl FUN_0202393C pop {r4-r6, pc} _0202E9D2: add r5, r5, #0x1 @@ -93591,21 +93591,21 @@ _0202E9D4: _0202E9E0: .word 0x021C59E8 _0202E9E4: .word 0x00000C84 - thumb_func_start sub_0202E9E8 -sub_0202E9E8: ; 0x0202E9E8 + thumb_func_start FUN_0202E9E8 +FUN_0202E9E8: ; 0x0202E9E8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x2 bne _0202E9FC - bl sub_0202C770 + bl FUN_0202C770 mov r0, #0x0 pop {r3-r5, pc} _0202E9FC: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x1 bne _0202EA48 - bl sub_02033534 + bl FUN_02033534 mov r1, #0xc0 add r4, r5, #0x0 mul r4, r1 @@ -93616,7 +93616,7 @@ _0202E9FC: ldrh r2, [r1, #0x0] ldr r1, _0202EA50 ; =0x00000DA8 strb r2, [r3, r1] - bl sub_0202D8B0 + bl FUN_0202D8B0 cmp r0, #0x0 beq _0202EA36 ldr r1, _0202EA4C ; =0x021C59E8 @@ -93625,7 +93625,7 @@ _0202E9FC: mov r2, #0x0 add r1, #0x58 add r1, r1, r4 - bl sub_0202C4D8 + bl FUN_0202C4D8 b _0202EA44 _0202EA36: ldr r1, _0202EA4C ; =0x021C59E8 @@ -93633,7 +93633,7 @@ _0202EA36: ldr r1, [r1, #0x8] add r1, #0x54 add r1, r1, r4 - bl sub_0202D034 + bl FUN_0202D034 _0202EA44: mov r0, #0x1 pop {r3-r5, pc} @@ -93644,8 +93644,8 @@ _0202EA48: _0202EA4C: .word 0x021C59E8 _0202EA50: .word 0x00000DA8 - thumb_func_start sub_0202EA54 -sub_0202EA54: ; 0x0202EA54 + thumb_func_start FUN_0202EA54 +FUN_0202EA54: ; 0x0202EA54 push {r4-r7} mov r4, #0x0 ldr r1, _0202EA90 ; =0x021C59E8 @@ -93683,12 +93683,12 @@ _0202EA90: .word 0x021C59E8 _0202EA94: .word 0x00000C84 _0202EA98: .word 0x00000CB4 - thumb_func_start sub_0202EA9C -sub_0202EA9C: ; 0x0202EA9C + thumb_func_start FUN_0202EA9C +FUN_0202EA9C: ; 0x0202EA9C push {r3-r5, lr} - bl sub_02033534 + bl FUN_02033534 add r5, r0, #0x0 - bl sub_0202EF70 + bl FUN_0202EF70 add r4, r0, #0x0 cmp r5, #0xf beq _0202EB24 @@ -93696,23 +93696,23 @@ sub_0202EA9C: ; 0x0202EA9C ldr r1, [r0, #0x8] ldr r0, _0202EB70 ; =0x00000CC4 add r5, r1, r0 - bl sub_02023AC4 + bl FUN_02023AC4 cmp r0, #0x20 ble _0202EAC2 - bl sub_02020C2C + bl FUN_02020C2C _0202EAC2: - bl sub_02023924 + bl FUN_02023924 cmp r0, #0x20 beq _0202EACE - bl sub_02020C2C + bl FUN_02020C2C _0202EACE: - bl sub_02023924 + bl FUN_02023924 add r1, r5, #0x0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, #0x10 - blx sub_020CE3E0 - bl sub_02023AC4 + blx FUN_020CE3E0 + bl FUN_02023AC4 add r2, r0, #0x0 ldr r0, _0202EB6C ; =0x021C59E8 ldr r1, [r0, #0x8] @@ -93720,13 +93720,13 @@ _0202EACE: ldr r0, [r1, r0] add r1, r5, #0x0 add r1, #0x30 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [r5, #0x0] - bl sub_02033534 + bl FUN_02033534 strb r0, [r5, #0x4] - bl sub_0203354C + bl FUN_0203354C strb r0, [r5, #0x5] ldr r0, _0202EB6C ; =0x021C59E8 mov r2, #0x8 @@ -93735,8 +93735,8 @@ _0202EACE: add r0, r1, r0 add r1, r5, #0x0 add r1, #0x8 - blx sub_020CE3E0 - bl sub_0202D358 + blx FUN_020CE3E0 + bl FUN_0202D358 add r5, #0x54 strb r0, [r5, #0x0] b _0202EB4E @@ -93745,32 +93745,32 @@ _0202EB24: ldr r4, [r1, #0x8] ldr r1, _0202EB70 ; =0x00000CC4 add r5, r4, r1 - bl sub_020239BC + bl FUN_020239BC ldr r1, _0202EB70 ; =0x00000CC4 str r0, [r4, r1] - bl sub_02033534 + bl FUN_02033534 strb r0, [r5, #0x4] - bl sub_0203354C + bl FUN_0203354C strb r0, [r5, #0x5] ldr r0, _0202EB6C ; =0x021C59E8 add r5, #0x8 ldr r0, [r0, #0x8] add r1, r5, #0x0 mov r2, #0x54 - blx sub_020CE3E0 + blx FUN_020CE3E0 _0202EB4E: ldr r0, _0202EB6C ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EB70 ; =0x00000CC4 add r0, r1, r0 mov r1, #0x5c - blx sub_020CC15C + blx FUN_020CC15C ldr r0, _0202EB6C ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EB70 ; =0x00000CC4 add r0, r1, r0 mov r1, #0x5c - bl sub_0202CB7C + bl FUN_0202CB7C pop {r3-r5, pc} .balign 4 _0202EB6C: .word 0x021C59E8 @@ -93778,31 +93778,31 @@ _0202EB70: .word 0x00000CC4 _0202EB74: .word 0x00000CBC _0202EB78: .word 0x00000CA8 - thumb_func_start sub_0202EB7C -sub_0202EB7C: ; 0x0202EB7C + thumb_func_start FUN_0202EB7C +FUN_0202EB7C: ; 0x0202EB7C push {r4, lr} ldr r0, _0202EBC8 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EBCC ; =0x00000CC4 add r4, r1, r0 - bl sub_0202EDB8 + bl FUN_0202EDB8 ldrb r1, [r4, #0x6] cmp r1, r0 beq _0202EBC6 - bl sub_0202EDB8 + bl FUN_0202EDB8 strb r0, [r4, #0x6] ldr r0, _0202EBC8 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EBCC ; =0x00000CC4 add r0, r1, r0 mov r1, #0x5c - blx sub_020CC15C + blx FUN_020CC15C ldr r0, _0202EBC8 ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EBCC ; =0x00000CC4 add r0, r1, r0 mov r1, #0x5c - bl sub_0202CB7C + bl FUN_0202CB7C ldr r3, _0202EBC8 ; =0x021C59E8 ldr r2, _0202EBCC ; =0x00000CC4 ldr r4, [r3, #0x8] @@ -93811,26 +93811,26 @@ sub_0202EB7C: ; 0x0202EB7C sub r2, r2, #0x4 ldr r2, [r4, r2] mov r1, #0x5c - bl sub_0202D240 + bl FUN_0202D240 _0202EBC6: pop {r4, pc} .balign 4 _0202EBC8: .word 0x021C59E8 _0202EBCC: .word 0x00000CC4 - thumb_func_start sub_0202EBD0 -sub_0202EBD0: ; 0x0202EBD0 + thumb_func_start FUN_0202EBD0 +FUN_0202EBD0: ; 0x0202EBD0 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_0202CBD4 + bl FUN_0202CBD4 add r5, r0, #0x0 - bl sub_0202DF54 - bl sub_0202EB7C - bl sub_0202D19C + bl FUN_0202DF54 + bl FUN_0202EB7C + bl FUN_0202D19C cmp r0, #0x0 bne _0202EC0C - bl sub_0202EE24 + bl FUN_0202EE24 cmp r0, #0x0 bne _0202EC0C ldr r0, _0202ED50 ; =0x021C59E8 @@ -93872,11 +93872,11 @@ _0202EC1C: orr r1, r3 strb r1, [r2, r0] _0202EC3C: - bl sub_0202CBE8 + bl FUN_0202CBE8 cmp r0, #0x19 bne _0202EC4A mov r0, #0x0 - bl sub_020335D0 + bl FUN_020335D0 _0202EC4A: cmp r5, #0x9 bhi _0202ED4C @@ -93902,7 +93902,7 @@ _0202EC4A: ldrb r1, [r2, r0] cmp r1, #0x1 bne _0202EC82 - bl sub_0202E7D8 + bl FUN_0202E7D8 add sp, #0x8 pop {r3-r5, pc} _0202EC82: @@ -93938,21 +93938,21 @@ _0202ED60: .word 0x00000DAA _0202ED64: .byte 0xA9, 0x0D, 0x00, 0x00, 0xA4, 0x0D, 0x00, 0x00, 0xA8, 0x0D, 0x00, 0x00 - thumb_func_start sub_0202ED70 -sub_0202ED70: ; 0x0202ED70 + thumb_func_start FUN_0202ED70 +FUN_0202ED70: ; 0x0202ED70 push {r3, lr} ldr r1, _0202ED80 ; =0x021C59E8 ldr r1, [r1, #0x8] cmp r1, #0x0 beq _0202ED7E - bl sub_0202EBD0 + bl FUN_0202EBD0 _0202ED7E: pop {r3, pc} .balign 4 _0202ED80: .word 0x021C59E8 - thumb_func_start sub_0202ED84 -sub_0202ED84: ; 0x0202ED84 + thumb_func_start FUN_0202ED84 +FUN_0202ED84: ; 0x0202ED84 push {r4, lr} add r4, r0, #0x0 ldr r0, _0202EDB4 ; =0x021C59E8 @@ -93962,13 +93962,13 @@ sub_0202ED84: ; 0x0202ED84 mov r0, #0x0 pop {r4, pc} _0202ED94: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 beq _0202EDA0 mov r0, #0x0 pop {r4, pc} _0202EDA0: - bl sub_0202CB8C + bl FUN_0202CB8C mov r2, #0x1 add r1, r2, #0x0 lsl r1, r4 @@ -93981,15 +93981,15 @@ _0202EDB0: .balign 4 _0202EDB4: .word 0x021C59E8 - thumb_func_start sub_0202EDB8 -sub_0202EDB8: ; 0x0202EDB8 + thumb_func_start FUN_0202EDB8 +FUN_0202EDB8: ; 0x0202EDB8 push {r3-r5, lr} mov r4, #0x0 add r5, r4, #0x0 _0202EDBE: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_0202ED84 + bl FUN_0202ED84 cmp r0, #0x0 beq _0202EDCC add r4, r4, #0x1 @@ -94001,8 +94001,8 @@ _0202EDCC: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202EDD8 -sub_0202EDD8: ; 0x0202EDD8 + thumb_func_start FUN_0202EDD8 +FUN_0202EDD8: ; 0x0202EDD8 ldr r0, _0202EDF0 ; =0x021C59E8 ldr r1, [r0, #0x8] cmp r1, #0x0 @@ -94020,8 +94020,8 @@ _0202EDEC: _0202EDF0: .word 0x021C59E8 _0202EDF4: .word 0x00000DAA - thumb_func_start sub_0202EDF8 -sub_0202EDF8: ; 0x0202EDF8 + thumb_func_start FUN_0202EDF8 +FUN_0202EDF8: ; 0x0202EDF8 ldr r0, _0202EE08 ; =0x021C59E8 ldr r0, [r0, #0x8] cmp r0, #0x0 @@ -94034,14 +94034,14 @@ _0202EE04: .balign 4 _0202EE08: .word 0x021C59E8 - thumb_func_start sub_0202EE0C -sub_0202EE0C: ; 0x0202EE0C + thumb_func_start FUN_0202EE0C +FUN_0202EE0C: ; 0x0202EE0C push {r3, lr} ldr r0, _0202EE20 ; =0x021C59E8 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0202EE1C - bl sub_0202D1C8 + bl FUN_0202D1C8 pop {r3, pc} _0202EE1C: mov r0, #0x1 @@ -94049,14 +94049,14 @@ _0202EE1C: .balign 4 _0202EE20: .word 0x021C59E8 - thumb_func_start sub_0202EE24 -sub_0202EE24: ; 0x0202EE24 + thumb_func_start FUN_0202EE24 +FUN_0202EE24: ; 0x0202EE24 push {r3, lr} ldr r0, _0202EE3C ; =0x021C59E8 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0202EE38 - bl sub_0202CB8C + bl FUN_0202CB8C ldr r1, _0202EE40 ; =0x0000FFFE and r0, r1 pop {r3, pc} @@ -94067,13 +94067,13 @@ _0202EE38: _0202EE3C: .word 0x021C59E8 _0202EE40: .word 0x0000FFFE - thumb_func_start sub_0202EE44 -sub_0202EE44: ; 0x0202EE44 + thumb_func_start FUN_0202EE44 +FUN_0202EE44: ; 0x0202EE44 push {r3, lr} - bl sub_0202EE60 + bl FUN_0202EE60 cmp r0, #0x0 beq _0202EE5A - bl sub_0202CBE8 + bl FUN_0202CBE8 cmp r0, #0x14 bne _0202EE5A mov r0, #0x1 @@ -94083,8 +94083,8 @@ _0202EE5A: pop {r3, pc} .balign 4 - thumb_func_start sub_0202EE60 -sub_0202EE60: ; 0x0202EE60 + thumb_func_start FUN_0202EE60 +FUN_0202EE60: ; 0x0202EE60 ldr r0, _0202EE7C ; =0x021C59E8 ldr r1, [r0, #0x8] cmp r1, #0x0 @@ -94103,8 +94103,8 @@ _0202EE76: _0202EE7C: .word 0x021C59E8 _0202EE80: .word 0x00000DAD - thumb_func_start sub_0202EE84 -sub_0202EE84: ; 0x0202EE84 + thumb_func_start FUN_0202EE84 +FUN_0202EE84: ; 0x0202EE84 push {r3-r4} ldr r1, _0202EEA8 ; =0x021C59E8 ldr r2, [r1, #0x8] @@ -94127,8 +94127,8 @@ _0202EEA2: _0202EEA8: .word 0x021C59E8 _0202EEAC: .word 0x00000DAD - thumb_func_start sub_0202EEB0 -sub_0202EEB0: ; 0x0202EEB0 + thumb_func_start FUN_0202EEB0 +FUN_0202EEB0: ; 0x0202EEB0 push {r4-r5} ldr r5, _0202EEDC ; =0x021C59E8 ldr r2, [r5, #0x8] @@ -94156,15 +94156,15 @@ _0202EEDC: .word 0x021C59E8 _0202EEE0: .word 0x00000DAD _0202EEE4: .word 0x0000FFFF - thumb_func_start sub_0202EEE8 -sub_0202EEE8: ; 0x0202EEE8 + thumb_func_start FUN_0202EEE8 +FUN_0202EEE8: ; 0x0202EEE8 push {r3-r5, lr} add r5, r0, #0x0 - blx sub_020D8AF0 + blx FUN_020D8AF0 add r4, r0, #0x0 cmp r5, #0x1a blo _0202EEFA - bl sub_02020C2C + bl FUN_02020C2C _0202EEFA: cmp r5, #0xa bne _0202EF04 @@ -94185,8 +94185,8 @@ _0202EF12: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0202EF18 -sub_0202EF18: ; 0x0202EF18 + thumb_func_start FUN_0202EF18 +FUN_0202EF18: ; 0x0202EF18 ldr r1, _0202EF3C ; =0x021C59E8 ldr r3, [r1, #0x8] cmp r3, #0x0 @@ -94209,8 +94209,8 @@ _0202EF36: _0202EF3C: .word 0x021C59E8 _0202EF40: .word 0x00000C84 - thumb_func_start sub_0202EF44 -sub_0202EF44: ; 0x0202EF44 + thumb_func_start FUN_0202EF44 +FUN_0202EF44: ; 0x0202EF44 ldr r1, _0202EF68 ; =0x021C59E8 ldr r3, [r1, #0x8] cmp r3, #0x0 @@ -94233,8 +94233,8 @@ _0202EF62: _0202EF68: .word 0x021C59E8 _0202EF6C: .word 0x00000C84 - thumb_func_start sub_0202EF70 -sub_0202EF70: ; 0x0202EF70 + thumb_func_start FUN_0202EF70 +FUN_0202EF70: ; 0x0202EF70 ldr r0, _0202EF7C ; =0x021C59E8 ldr r1, [r0, #0x8] ldr r0, _0202EF80 ; =0x00000CB8 @@ -94244,8 +94244,8 @@ sub_0202EF70: ; 0x0202EF70 _0202EF7C: .word 0x021C59E8 _0202EF80: .word 0x00000CB8 - thumb_func_start sub_0202EF84 -sub_0202EF84: ; 0x0202EF84 + thumb_func_start FUN_0202EF84 +FUN_0202EF84: ; 0x0202EF84 ldr r1, _0202EFA4 ; =0x021C59E8 ldr r3, [r1, #0x8] lsl r1, r0, #0x1 @@ -94267,8 +94267,8 @@ _0202EF98: _0202EFA4: .word 0x021C59E8 _0202EFA8: .word 0x00000C84 - thumb_func_start sub_0202EFAC -sub_0202EFAC: ; 0x0202EFAC + thumb_func_start FUN_0202EFAC +FUN_0202EFAC: ; 0x0202EFAC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0202EFDC ; =0x021C59E8 @@ -94278,7 +94278,7 @@ sub_0202EFAC: ; 0x0202EFAC beq _0202EFD8 cmp r4, #0x8 blt _0202EFC2 - bl sub_02020C2C + bl FUN_02020C2C _0202EFC2: ldr r1, _0202EFDC ; =0x021C59E8 add r0, r5, #0x0 @@ -94289,15 +94289,15 @@ _0202EFC2: add r1, r4, #0x0 mul r1, r2 add r1, r3, r1 - blx sub_020CE3E0 + blx FUN_020CE3E0 _0202EFD8: pop {r3-r5, pc} nop _0202EFDC: .word 0x021C59E8 _0202EFE0: .word 0x00000C54 - thumb_func_start sub_0202EFE4 -sub_0202EFE4: ; 0x0202EFE4 + thumb_func_start FUN_0202EFE4 +FUN_0202EFE4: ; 0x0202EFE4 push {r4-r5} ldr r2, _0202F034 ; =0x021C59E8 mov r1, #0x0 @@ -94344,8 +94344,8 @@ _0202F026: _0202F034: .word 0x021C59E8 _0202F038: .word 0x00000C54 - thumb_func_start sub_0202F03C -sub_0202F03C: ; 0x0202F03C + thumb_func_start FUN_0202F03C +FUN_0202F03C: ; 0x0202F03C ldr r0, _0202F054 ; =0x021C59E8 ldr r1, [r0, #0x8] cmp r1, #0x0 @@ -94362,8 +94362,8 @@ _0202F04E: _0202F054: .word 0x021C59E8 _0202F058: .word 0x00000DAD - thumb_func_start sub_0202F05C -sub_0202F05C: ; 0x0202F05C + thumb_func_start FUN_0202F05C +FUN_0202F05C: ; 0x0202F05C ldr r0, _0202F070 ; =0x021C59E8 ldr r3, [r0, #0x8] cmp r3, #0x0 @@ -94379,10 +94379,10 @@ _0202F06E: _0202F070: .word 0x021C59E8 _0202F074: .word 0x00000DAD - thumb_func_start sub_0202F078 -sub_0202F078: ; 0x0202F078 + thumb_func_start FUN_0202F078 +FUN_0202F078: ; 0x0202F078 ldr r1, _0202F088 ; =0x021C59E8 - ldr r3, _0202F08C ; =sub_020CE3E0 + ldr r3, _0202F08C ; =FUN_020CE3E0 ldr r2, [r1, #0x8] ldr r1, _0202F090 ; =0x00000CA8 add r1, r2, r1 @@ -94390,30 +94390,30 @@ sub_0202F078: ; 0x0202F078 bx r3 nop _0202F088: .word 0x021C59E8 -_0202F08C: .word sub_020CE3E0 +_0202F08C: .word FUN_020CE3E0 _0202F090: .word 0x00000CA8 - thumb_func_start sub_0202F094 -sub_0202F094: ; 0x0202F094 + thumb_func_start FUN_0202F094 +FUN_0202F094: ; 0x0202F094 push {r4, lr} add r4, r0, #0x0 - bl sub_02023AC4 + bl FUN_02023AC4 ldr r1, _0202F0B0 ; =0x021C59E8 add r2, r0, #0x0 ldr r3, [r1, #0x8] ldr r1, _0202F0B4 ; =0x00000CBC add r0, r4, #0x0 ldr r1, [r3, r1] - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r4, pc} nop _0202F0B0: .word 0x021C59E8 _0202F0B4: .word 0x00000CBC - thumb_func_start sub_0202F0B8 -sub_0202F0B8: ; 0x0202F0B8 + thumb_func_start FUN_0202F0B8 +FUN_0202F0B8: ; 0x0202F0B8 push {r4, lr} - bl sub_0202EA9C + bl FUN_0202EA9C ldr r3, _0202F0D4 ; =0x021C59E8 ldr r2, _0202F0D8 ; =0x00000CC4 ldr r4, [r3, #0x8] @@ -94422,21 +94422,21 @@ sub_0202F0B8: ; 0x0202F0B8 sub r2, r2, #0x4 ldr r2, [r4, r2] mov r1, #0x5c - bl sub_0202D240 + bl FUN_0202D240 pop {r4, pc} .balign 4 _0202F0D4: .word 0x021C59E8 _0202F0D8: .word 0x00000CC4 - thumb_func_start sub_0202F0DC -sub_0202F0DC: ; 0x0202F0DC + thumb_func_start FUN_0202F0DC +FUN_0202F0DC: ; 0x0202F0DC push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 add r4, r5, #0x0 _0202F0E4: add r0, r4, #0x0 - bl sub_0202EF44 + bl FUN_0202EF44 cmp r0, #0x0 beq _0202F0F8 ldrb r1, [r0, #0x4] @@ -94452,27 +94452,27 @@ _0202F0F8: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0202F104 -sub_0202F104: ; 0x0202F104 - ldr r3, _0202F108 ; =sub_0202D2D0 + thumb_func_start FUN_0202F104 +FUN_0202F104: ; 0x0202F104 + ldr r3, _0202F108 ; =FUN_0202D2D0 bx r3 .balign 4 -_0202F108: .word sub_0202D2D0 + 1 +_0202F108: .word FUN_0202D2D0 + 1 - thumb_func_start sub_0202F10C -sub_0202F10C: ; 0x0202F10C + thumb_func_start FUN_0202F10C +FUN_0202F10C: ; 0x0202F10C push {r3, lr} ldr r1, _0202F120 ; =0x021C59E8 mov r2, #0x54 ldr r1, [r1, #0x8] - blx sub_020CE3E0 - bl sub_0202F0B8 + blx FUN_020CE3E0 + bl FUN_0202F0B8 pop {r3, pc} nop _0202F120: .word 0x021C59E8 - thumb_func_start sub_0202F124 -sub_0202F124: ; 0x0202F124 + thumb_func_start FUN_0202F124 +FUN_0202F124: ; 0x0202F124 ldr r1, _0202F148 ; =0x021C59E8 ldr r3, [r1, #0x8] cmp r3, #0x0 @@ -94496,8 +94496,8 @@ _0202F144: _0202F148: .word 0x021C59E8 _0202F14C: .word 0x00000C84 - thumb_func_start sub_0202F150 -sub_0202F150: ; 0x0202F150 + thumb_func_start FUN_0202F150 +FUN_0202F150: ; 0x0202F150 push {r4-r6, lr} add r6, r1, #0x0 mov r4, #0x0 @@ -94505,10 +94505,10 @@ sub_0202F150: ; 0x0202F150 cmp r0, #0x0 strb r4, [r1, #0x0] beq _0202F25C - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r5, r0, #0x1 ldr r0, _0202F2BC ; =0x021C59F4 ldr r0, [r0, #0x4] @@ -94518,15 +94518,15 @@ sub_0202F150: ; 0x0202F150 pop {r4-r6, pc} _0202F178: mov r0, #0xf - bl sub_02031480 + bl FUN_02031480 ldr r1, _0202F2C0 ; =0x0000068C mov r0, #0xf - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202F2BC ; =0x021C59F4 ldr r2, _0202F2C0 ; =0x0000068C str r0, [r1, #0x4] add r1, r4, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r2, _0202F2BC ; =0x021C59F4 ldr r1, _0202F2C4 ; =0x00000658 ldr r0, [r2, #0x4] @@ -94546,7 +94546,7 @@ _0202F178: mov r0, #0xf ldr r1, [r2, r1] lsl r1, r1, #0x1 - bl sub_02016998 + bl FUN_02016998 ldr r2, _0202F2BC ; =0x021C59F4 ldr r1, _0202F2C8 ; =0x0000045C ldr r3, [r2, #0x4] @@ -94555,7 +94555,7 @@ _0202F178: ldr r1, _0202F2C4 ; =0x00000658 mov r0, #0xf ldr r1, [r2, r1] - bl sub_02016998 + bl FUN_02016998 ldr r2, _0202F2BC ; =0x021C59F4 mov r1, #0x46 ldr r3, [r2, #0x4] @@ -94566,7 +94566,7 @@ _0202F178: mov r0, #0xf ldr r1, [r2, r1] mul r1, r5 - bl sub_02016998 + bl FUN_02016998 ldr r2, _0202F2BC ; =0x021C59F4 ldr r1, _0202F2CC ; =0x00000458 ldr r3, [r2, #0x4] @@ -94576,12 +94576,12 @@ _0202F178: mov r0, #0xf ldr r1, [r2, r1] mul r1, r5 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0202F2BC ; =0x021C59F4 ldr r2, [r1, #0x4] ldr r1, _0202F2D0 ; =0x00000454 str r0, [r2, r1] - bl sub_02033534 + bl FUN_02033534 cmp r0, #0xa ldr r2, _0202F2D4 ; =0x0000054C bne _0202F236 @@ -94591,7 +94591,7 @@ _0202F178: add r0, r3, r2 sub r2, #0xe8 add r2, r3, r2 - bl sub_0202D7D8 + bl FUN_0202D7D8 ldr r0, _0202F2BC ; =0x021C59F4 mov r1, #0x32 ldr r3, [r0, #0x4] @@ -94600,7 +94600,7 @@ _0202F178: add r0, r3, r2 sub r2, #0x90 add r2, r3, r2 - bl sub_0202D7D8 + bl FUN_0202D7D8 b _0202F268 _0202F236: ldr r0, _0202F2BC ; =0x021C59F4 @@ -94609,7 +94609,7 @@ _0202F236: add r0, r3, r2 sub r2, #0xe8 add r2, r3, r2 - bl sub_0202D7D8 + bl FUN_0202D7D8 ldr r0, _0202F2BC ; =0x021C59F4 add r1, r6, #0x0 ldr r3, [r0, #0x4] @@ -94618,14 +94618,14 @@ _0202F236: add r0, r3, r2 sub r2, #0x90 add r2, r3, r2 - bl sub_0202D7D8 + bl FUN_0202D7D8 b _0202F268 _0202F25C: ldr r0, [r1, #0x4] mov r4, #0x1 cmp r0, #0x0 bne _0202F268 - bl sub_02020C2C + bl FUN_02020C2C _0202F268: ldr r2, _0202F2BC ; =0x021C59F4 ldr r1, _0202F2DC ; =0x0000065C @@ -94643,19 +94643,19 @@ _0202F276: blt _0202F276 cmp r4, #0x0 bne _0202F28A - bl sub_0202F2F0 + bl FUN_0202F2F0 _0202F28A: ldr r0, _0202F2BC ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202F2E0 ; =0x000005F8 add r0, r1, r0 - bl sub_020312BC + bl FUN_020312BC cmp r4, #0x0 bne _0202F2AC mov r1, #0x0 - ldr r0, _0202F2E4 ; =sub_0202FB20 + ldr r0, _0202F2E4 ; =FUN_0202FB20 add r2, r1, #0x0 - bl sub_0200CA60 + bl FUN_0200CA60 ldr r1, _0202F2BC ; =0x021C59F4 ldr r2, [r1, #0x4] ldr r1, _0202F2E8 ; =0x00000548 @@ -94679,12 +94679,12 @@ _0202F2D4: .word 0x0000054C _0202F2D8: .word 0x0000056C _0202F2DC: .word 0x0000065C _0202F2E0: .word 0x000005F8 -_0202F2E4: .word sub_0202FB20 + 1 +_0202F2E4: .word FUN_0202FB20 + 1 _0202F2E8: .word 0x00000548 _0202F2EC: .word 0x00000687 - thumb_func_start sub_0202F2F0 -sub_0202F2F0: ; 0x0202F2F0 + thumb_func_start FUN_0202F2F0 +FUN_0202F2F0: ; 0x0202F2F0 push {r3-r7, lr} ldr r3, _0202F54C ; =0x021C59F4 ldr r2, _0202F550 ; =0x0000062C @@ -94701,10 +94701,10 @@ sub_0202F2F0: ; 0x0202F2F0 ldr r1, [r3, #0x4] add r2, #0x54 strb r0, [r1, r2] - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r6, r0, #0x1 ldr r0, _0202F54C ; =0x021C59F4 ldr r2, _0202F554 ; =0x00000658 @@ -94715,7 +94715,7 @@ sub_0202F2F0: ; 0x0202F2F0 ldr r3, [r3, r2] add r2, r3, #0x0 mul r2, r6 - blx sub_020CE34C + blx FUN_020CE34C mov r4, #0x0 cmp r6, #0x0 ble _0202F360 @@ -94733,7 +94733,7 @@ _0202F33E: mul r1, r2 add r0, r0, r5 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 add r4, r4, #0x1 add r5, #0xc cmp r4, r6 @@ -94748,7 +94748,7 @@ _0202F360: ldr r3, [r3, r2] add r2, r3, #0x0 mul r2, r6 - blx sub_020CE34C + blx FUN_020CE34C mov r5, #0x0 cmp r6, #0x0 ble _0202F3A2 @@ -94766,7 +94766,7 @@ _0202F380: mul r1, r2 add r0, r0, r4 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 add r5, r5, #0x1 add r4, #0xc cmp r5, r6 @@ -94780,7 +94780,7 @@ _0202F3A2: add r0, r1, r0 mov r1, #0x0 lsl r2, r2, #0x6 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F54C ; =0x021C59F4 mov r1, #0xb5 ldr r2, [r0, #0x4] @@ -94790,7 +94790,7 @@ _0202F3A2: add r1, r2, r1 mov r2, #0x6 lsl r2, r2, #0x6 - bl sub_0202D394 + bl FUN_0202D394 mov r0, #0xee add r2, r0, #0x0 mov r3, #0x85 @@ -94814,7 +94814,7 @@ _0202F3DA: mov r1, #0x0 add r0, #0x4c lsl r2, r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F54C ; =0x021C59F4 mov r2, #0x42 ldr r1, [r0, #0x4] @@ -94822,7 +94822,7 @@ _0202F3DA: lsl r2, r2, #0x2 add r0, r1, r0 add r1, #0x4c - bl sub_0202D394 + bl FUN_0202D394 ldr r1, _0202F54C ; =0x021C59F4 mov r2, #0xff ldr r0, [r1, #0x4] @@ -94850,7 +94850,7 @@ _0202F420: ldr r0, [r3, r0] mov r1, #0x0 lsl r2, r2, #0x1 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F54C ; =0x021C59F4 mov r1, #0x47 ldr r3, [r0, #0x4] @@ -94861,7 +94861,7 @@ _0202F420: ldr r2, [r3, r2] ldr r1, [r3, r1] lsl r2, r2, #0x1 - bl sub_0202D394 + bl FUN_0202D394 mov r2, #0x0 ldr r0, _0202F54C ; =0x021C59F4 ldr r1, _0202F574 ; =0x00000684 @@ -94968,12 +94968,12 @@ _0202F476: ldr r1, [r1, #0x4] sub r0, #0xe8 add r0, r1, r0 - bl sub_0202D804 + bl FUN_0202D804 ldr r0, _0202F54C ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202F59C ; =0x0000056C add r0, r1, r0 - bl sub_0202D804 + bl FUN_0202D804 ldr r0, _0202F54C ; =0x021C59F4 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -95004,8 +95004,8 @@ _0202F598: .word 0x02105D58 _0202F59C: .word 0x0000056C _0202F5A0: .word 0x00000688 - thumb_func_start sub_0202F5A4 -sub_0202F5A4: ; 0x0202F5A4 + thumb_func_start FUN_0202F5A4 +FUN_0202F5A4: ; 0x0202F5A4 push {r3-r7, lr} ldr r1, _0202F7D4 ; =0x021C59F4 ldr r0, _0202F7D8 ; =0x0000062C @@ -95015,10 +95015,10 @@ sub_0202F5A4: ; 0x0202F5A4 ldr r1, [r1, #0x4] add r0, r0, #0x1 strb r3, [r1, r0] - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r6, r0, #0x1 ldr r0, _0202F7D4 ; =0x021C59F4 ldr r2, _0202F7DC ; =0x00000658 @@ -95029,7 +95029,7 @@ sub_0202F5A4: ; 0x0202F5A4 ldr r3, [r3, r2] add r2, r3, #0x0 mul r2, r6 - blx sub_020CE34C + blx FUN_020CE34C mov r4, #0x0 cmp r6, #0x0 ble _0202F606 @@ -95047,7 +95047,7 @@ _0202F5E4: mul r1, r2 add r0, r0, r5 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 add r4, r4, #0x1 add r5, #0xc cmp r4, r6 @@ -95062,7 +95062,7 @@ _0202F606: ldr r3, [r3, r2] add r2, r3, #0x0 mul r2, r6 - blx sub_020CE34C + blx FUN_020CE34C mov r5, #0x0 cmp r6, #0x0 ble _0202F648 @@ -95080,7 +95080,7 @@ _0202F626: mul r1, r2 add r0, r0, r4 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 add r5, r5, #0x1 add r4, #0xc cmp r5, r6 @@ -95094,7 +95094,7 @@ _0202F648: add r0, r1, r0 mov r1, #0x0 lsl r2, r2, #0x6 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F7D4 ; =0x021C59F4 mov r1, #0xb5 ldr r2, [r0, #0x4] @@ -95104,7 +95104,7 @@ _0202F648: add r1, r2, r1 mov r2, #0x6 lsl r2, r2, #0x6 - bl sub_0202D394 + bl FUN_0202D394 mov r0, #0xee add r2, r0, #0x0 mov r3, #0x85 @@ -95128,7 +95128,7 @@ _0202F680: mov r1, #0x0 add r0, #0x4c lsl r2, r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F7D4 ; =0x021C59F4 mov r2, #0x42 ldr r1, [r0, #0x4] @@ -95136,7 +95136,7 @@ _0202F680: lsl r2, r2, #0x2 add r0, r1, r0 add r1, #0x4c - bl sub_0202D394 + bl FUN_0202D394 ldr r1, _0202F7D4 ; =0x021C59F4 mov r2, #0xff ldr r0, [r1, #0x4] @@ -95164,7 +95164,7 @@ _0202F6C6: ldr r0, [r3, r0] mov r1, #0x0 lsl r2, r2, #0x1 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0202F7D4 ; =0x021C59F4 mov r1, #0x47 ldr r3, [r0, #0x4] @@ -95175,7 +95175,7 @@ _0202F6C6: ldr r2, [r3, r2] ldr r1, [r3, r1] lsl r2, r2, #0x1 - bl sub_0202D394 + bl FUN_0202D394 ldr r0, _0202F7D4 ; =0x021C59F4 mov r3, #0x0 ldr r2, [r0, #0x4] @@ -95267,12 +95267,12 @@ _0202F71A: ldr r1, [r1, #0x4] sub r0, #0xe4 add r0, r1, r0 - bl sub_0202D804 + bl FUN_0202D804 ldr r0, _0202F7D4 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202F818 ; =0x0000056C add r0, r1, r0 - bl sub_0202D804 + bl FUN_0202D804 ldr r0, _0202F7D4 ; =0x021C59F4 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -95300,8 +95300,8 @@ _0202F814: .word 0x0000058C _0202F818: .word 0x0000056C _0202F81C: .word 0x00000688 - thumb_func_start sub_0202F820 -sub_0202F820: ; 0x0202F820 + thumb_func_start FUN_0202F820 +FUN_0202F820: ; 0x0202F820 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0202F8B8 ; =0x021C59F4 @@ -95341,7 +95341,7 @@ sub_0202F820: ; 0x0202F820 mul r1, r2 add r0, r0, r4 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 ldr r0, _0202F8B8 ; =0x021C59F4 ldr r3, _0202F8C4 ; =0x000004E8 ldr r1, [r0, #0x4] @@ -95354,7 +95354,7 @@ sub_0202F820: ; 0x0202F820 mul r1, r2 add r0, r0, r4 add r1, r3, r1 - bl sub_0202D394 + bl FUN_0202D394 ldr r3, _0202F8B8 ; =0x021C59F4 ldr r2, _0202F8CC ; =0x00000596 ldr r0, [r3, #0x4] @@ -95385,8 +95385,8 @@ _0202F8C8: .word 0x00000658 _0202F8CC: .word 0x00000596 _0202F8D0: .word 0x0000FFFF - thumb_func_start sub_0202F8D4 -sub_0202F8D4: ; 0x0202F8D4 + thumb_func_start FUN_0202F8D4 +FUN_0202F8D4: ; 0x0202F8D4 push {r4-r6, lr} ldr r4, _0202F908 ; =0x021C59F4 ldr r6, _0202F90C ; =0x00000667 @@ -95394,7 +95394,7 @@ sub_0202F8D4: ; 0x0202F8D4 _0202F8DC: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0202F900 ldr r0, [r4, #0x4] @@ -95402,11 +95402,11 @@ _0202F8DC: ldrb r0, [r0, r6] cmp r0, #0x0 bne _0202F900 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _0202F900 add r0, r5, #0x0 - bl sub_0202F820 + bl FUN_0202F820 _0202F900: add r5, r5, #0x1 cmp r5, #0x8 @@ -95416,58 +95416,58 @@ _0202F900: _0202F908: .word 0x021C59F4 _0202F90C: .word 0x00000667 - thumb_func_start sub_0202F910 -sub_0202F910: ; 0x0202F910 - ldr r3, _0202F914 ; =sub_0202F820 + thumb_func_start FUN_0202F910 +FUN_0202F910: ; 0x0202F910 + ldr r3, _0202F914 ; =FUN_0202F820 bx r3 .balign 4 -_0202F914: .word sub_0202F820 + 1 +_0202F914: .word FUN_0202F820 + 1 - thumb_func_start sub_0202F918 -sub_0202F918: ; 0x0202F918 + thumb_func_start FUN_0202F918 +FUN_0202F918: ; 0x0202F918 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] mov r4, #0x1 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 bge _0202F93E ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0202E5F8 + bl FUN_0202E5F8 add r4, r0, #0x0 - ldr r0, _0202F94C ; =sub_0202F910 - bl sub_0202D330 + ldr r0, _0202F94C ; =FUN_0202F910 + bl FUN_0202D330 _0202F93E: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_0202F150 + bl FUN_0202F150 add r0, r4, #0x0 pop {r3-r7, pc} nop -_0202F94C: .word sub_0202F910 + 1 +_0202F94C: .word FUN_0202F910 + 1 - thumb_func_start sub_0202F950 -sub_0202F950: ; 0x0202F950 + thumb_func_start FUN_0202F950 +FUN_0202F950: ; 0x0202F950 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 mov r4, #0x1 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 bge _0202F96C add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0202E66C + bl FUN_0202E66C add r4, r0, #0x0 _0202F96C: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_0202F150 + bl FUN_0202F150 ldr r0, _0202F980 ; =0x02105D58 mov r1, #0x4 strb r1, [r0, #0x0] @@ -95476,11 +95476,11 @@ _0202F96C: nop _0202F980: .word 0x02105D58 - thumb_func_start sub_0202F984 -sub_0202F984: ; 0x0202F984 + thumb_func_start FUN_0202F984 +FUN_0202F984: ; 0x0202F984 push {r4, lr} mov r4, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0202F99A ldr r0, _0202F9D4 ; =0x02105D58 @@ -95515,9 +95515,9 @@ _0202F9B4: _0202F9C4: cmp r4, #0x0 beq _0202F9CC - bl sub_0202F5A4 + bl FUN_0202F5A4 _0202F9CC: - bl sub_02031088 + bl FUN_02031088 _0202F9D0: pop {r4, pc} nop @@ -95525,8 +95525,8 @@ _0202F9D4: .word 0x02105D58 _0202F9D8: .word 0x021C59F4 _0202F9DC: .word 0x0000067D - thumb_func_start sub_0202F9E0 -sub_0202F9E0: ; 0x0202F9E0 + thumb_func_start FUN_0202F9E0 +FUN_0202F9E0: ; 0x0202F9E0 ldr r1, _0202FA08 ; =0x021C59F4 ldr r3, [r1, #0x4] ldr r1, _0202FA0C ; =0x0000067D @@ -95552,24 +95552,24 @@ _0202FA04: _0202FA08: .word 0x021C59F4 _0202FA0C: .word 0x0000067D - thumb_func_start sub_0202FA10 -sub_0202FA10: ; 0x0202FA10 - ldr r3, _0202FA18 ; =sub_0202F9E0 + thumb_func_start FUN_0202FA10 +FUN_0202FA10: ; 0x0202FA10 + ldr r3, _0202FA18 ; =FUN_0202F9E0 mov r0, #0x1 bx r3 nop -_0202FA18: .word sub_0202F9E0 + 1 +_0202FA18: .word FUN_0202F9E0 + 1 - thumb_func_start sub_0202FA1C -sub_0202FA1C: ; 0x0202FA1C - ldr r3, _0202FA24 ; =sub_0202F9E0 + thumb_func_start FUN_0202FA1C +FUN_0202FA1C: ; 0x0202FA1C + ldr r3, _0202FA24 ; =FUN_0202F9E0 mov r0, #0x0 bx r3 nop -_0202FA24: .word sub_0202F9E0 + 1 +_0202FA24: .word FUN_0202F9E0 + 1 - thumb_func_start sub_0202FA28 -sub_0202FA28: ; 0x0202FA28 + thumb_func_start FUN_0202FA28 +FUN_0202FA28: ; 0x0202FA28 ldr r0, _0202FA40 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202FA44 ; =0x0000067D @@ -95588,10 +95588,10 @@ _0202FA3E: _0202FA40: .word 0x021C59F4 _0202FA44: .word 0x0000067D - thumb_func_start sub_0202FA48 -sub_0202FA48: ; 0x0202FA48 + thumb_func_start FUN_0202FA48 +FUN_0202FA48: ; 0x0202FA48 push {r3, lr} - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _0202FA56 mov r0, #0x1 @@ -95601,37 +95601,37 @@ _0202FA56: pop {r3, pc} .balign 4 - thumb_func_start sub_0202FA5C -sub_0202FA5C: ; 0x0202FA5C + thumb_func_start FUN_0202FA5C +FUN_0202FA5C: ; 0x0202FA5C push {r4, lr} ldr r0, _0202FB00 ; =0x021C59F4 mov r4, #0x0 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0202FA82 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _0202FA78 - bl sub_021D83C0 + bl FUN_021D83C0 mov r4, #0x1 b _0202FA82 _0202FA78: - bl sub_0202E784 + bl FUN_0202E784 cmp r0, #0x0 beq _0202FA82 mov r4, #0x1 _0202FA82: cmp r4, #0x0 beq _0202FAFE - bl sub_020314D0 - bl sub_0202DBA4 + bl FUN_020314D0 + bl FUN_0202DBA4 ldr r0, _0202FB00 ; =0x021C59F4 mov r1, #0x0 strb r1, [r0, #0x0] ldr r1, [r0, #0x4] ldr r0, _0202FB04 ; =0x00000548 ldr r0, [r1, r0] - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r1, _0202FB00 ; =0x021C59F4 ldr r0, _0202FB04 ; =0x00000548 ldr r2, [r1, #0x4] @@ -95640,36 +95640,36 @@ _0202FA82: ldr r1, [r1, #0x4] sub r0, #0xec ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202FB00 ; =0x021C59F4 ldr r1, [r0, #0x4] mov r0, #0x46 lsl r0, r0, #0x4 ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202FB00 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202FB08 ; =0x00000458 ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202FB00 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202FB0C ; =0x00000454 ldr r0, [r1, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202FB00 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202FB10 ; =0x0000056C add r0, r1, r0 - bl sub_0202D824 + bl FUN_0202D824 ldr r0, _0202FB00 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _0202FB14 ; =0x0000054C add r0, r1, r0 - bl sub_0202D824 + bl FUN_0202D824 ldr r0, _0202FB00 ; =0x021C59F4 ldr r0, [r0, #0x4] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0202FB00 ; =0x021C59F4 mov r1, #0x0 str r1, [r0, #0x4] @@ -95683,34 +95683,34 @@ _0202FB0C: .word 0x00000454 _0202FB10: .word 0x0000056C _0202FB14: .word 0x0000054C - thumb_func_start sub_0202FB18 -sub_0202FB18: ; 0x0202FB18 - ldr r3, _0202FB1C ; =sub_0202E9E8 + thumb_func_start FUN_0202FB18 +FUN_0202FB18: ; 0x0202FB18 + ldr r3, _0202FB1C ; =FUN_0202E9E8 bx r3 .balign 4 -_0202FB1C: .word sub_0202E9E8 + 1 +_0202FB1C: .word FUN_0202E9E8 + 1 - thumb_func_start sub_0202FB20 -sub_0202FB20: ; 0x0202FB20 + thumb_func_start FUN_0202FB20 +FUN_0202FB20: ; 0x0202FB20 push {r3, lr} ldr r0, _0202FB54 ; =0x021C59F4 ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0202FB52 - bl sub_0203050C - bl sub_02031190 + bl FUN_0203050C + bl FUN_02031190 cmp r0, #0x0 bne _0202FB40 mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0202FB48 _0202FB40: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FB4C _0202FB48: - bl sub_0202FEEC + bl FUN_0202FEEC _0202FB4C: ldr r0, _0202FB54 ; =0x021C59F4 mov r1, #0x0 @@ -95720,30 +95720,30 @@ _0202FB52: .balign 4 _0202FB54: .word 0x021C59F4 - thumb_func_start sub_0202FB58 -sub_0202FB58: ; 0x0202FB58 + thumb_func_start FUN_0202FB58 +FUN_0202FB58: ; 0x0202FB58 push {r3, lr} - bl sub_0202F03C + bl FUN_0202F03C cmp r0, #0x0 beq _0202FB7C - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0202FB78 - bl sub_0202EE24 + bl FUN_0202EE24 cmp r0, #0x0 bne _0202FB7C - bl sub_0202FA5C + bl FUN_0202FA5C pop {r3, pc} _0202FB78: - bl sub_0202FA5C + bl FUN_0202FA5C _0202FB7C: pop {r3, pc} .balign 4 - thumb_func_start sub_0202FB80 -sub_0202FB80: ; 0x0202FB80 + thumb_func_start FUN_0202FB80 +FUN_0202FB80: ; 0x0202FB80 push {r4, lr} - bl sub_02031CDC + bl FUN_02031CDC ldr r1, _0202FC48 ; =0x021C59F4 ldr r2, [r1, #0x4] cmp r2, #0x0 @@ -95754,7 +95754,7 @@ sub_0202FB80: ; 0x0202FB80 bne _0202FC16 mov r0, #0x0 strb r0, [r1, #0x0] - bl sub_0202F984 + bl FUN_0202F984 ldr r0, _0202FC48 ; =0x021C59F4 ldr r1, _0202FC50 ; =0x021C48B8 ldr r0, [r0, #0x4] @@ -95765,8 +95765,8 @@ sub_0202FB80: ; 0x0202FB80 and r1, r3 orr r1, r4 strh r1, [r0, r2] - bl sub_02030674 - bl sub_0202FCCC + bl FUN_02030674 + bl FUN_0202FCCC ldr r0, _0202FC48 ; =0x021C59F4 ldr r1, _0202FC54 ; =0x00000628 ldr r3, [r0, #0x4] @@ -95775,36 +95775,36 @@ sub_0202FB80: ; 0x0202FB80 lsl r0, r0, #0xe and r0, r2 strh r0, [r3, r1] - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x0 bne _0202FBD6 - bl sub_02030DA4 + bl FUN_02030DA4 _0202FBD6: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0202FBE8 mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0202FBF0 _0202FBE8: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FBF4 _0202FBF0: - bl sub_02030074 + bl FUN_02030074 _0202FBF4: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _0202FC0C - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 beq _0202FC0C - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FC10 _0202FC0C: - bl sub_02030DFC + bl FUN_02030DFC _0202FC10: ldr r0, _0202FC48 ; =0x021C59F4 mov r1, #0x1 @@ -95814,21 +95814,21 @@ _0202FC16: ldr r1, [r0, #0x4] ldr r0, _0202FC5C ; =0x0000065C ldrh r0, [r1, r0] - bl sub_0202ED70 - bl sub_02031190 + bl FUN_0202ED70 + bl FUN_02031190 cmp r0, #0x0 bne _0202FC2E - bl sub_0202F8D4 + bl FUN_0202F8D4 _0202FC2E: - bl sub_0202FB58 + bl FUN_0202FB58 b _0202FC3A _0202FC34: mov r0, #0x0 - bl sub_0202ED70 + bl FUN_0202ED70 _0202FC3A: mov r0, #0x0 - bl sub_020335F4 - bl sub_020315A4 + bl FUN_020335F4 + bl FUN_020315A4 mov r0, #0x1 pop {r4, pc} .balign 4 @@ -95839,8 +95839,8 @@ _0202FC54: .word 0x00000628 _0202FC58: .word 0x00007FFF _0202FC5C: .word 0x0000065C - thumb_func_start sub_0202FC60 -sub_0202FC60: ; 0x0202FC60 + thumb_func_start FUN_0202FC60 +FUN_0202FC60: ; 0x0202FC60 push {r4, lr} ldr r0, _0202FC7C ; =0x021C59F4 mov r1, #0x0 @@ -95849,7 +95849,7 @@ sub_0202FC60: ; 0x0202FC60 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0202FC74 - bl sub_0202F2F0 + bl FUN_0202F2F0 _0202FC74: ldr r0, _0202FC7C ; =0x021C59F4 strb r4, [r0, #0x0] @@ -95857,8 +95857,8 @@ _0202FC74: nop _0202FC7C: .word 0x021C59F4 - thumb_func_start sub_0202FC80 -sub_0202FC80: ; 0x0202FC80 + thumb_func_start FUN_0202FC80 +FUN_0202FC80: ; 0x0202FC80 push {r4, lr} ldr r0, _0202FCA0 ; =0x021C59F4 mov r1, #0x0 @@ -95870,7 +95870,7 @@ sub_0202FC80: ; 0x0202FC80 ldr r0, _0202FCA4 ; =0x0000067D mov r1, #0x1 strb r1, [r2, r0] - bl sub_0202F2F0 + bl FUN_0202F2F0 _0202FC9A: ldr r0, _0202FCA0 ; =0x021C59F4 strb r4, [r0, #0x0] @@ -95879,8 +95879,8 @@ _0202FC9A: _0202FCA0: .word 0x021C59F4 _0202FCA4: .word 0x0000067D - thumb_func_start sub_0202FCA8 -sub_0202FCA8: ; 0x0202FCA8 + thumb_func_start FUN_0202FCA8 +FUN_0202FCA8: ; 0x0202FCA8 push {r4, lr} ldr r0, _0202FCC8 ; =0x021C59F4 mov r1, #0x0 @@ -95889,8 +95889,8 @@ sub_0202FCA8: ; 0x0202FCA8 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0202FCC0 - bl sub_0202F2F0 - bl sub_0202E538 + bl FUN_0202F2F0 + bl FUN_0202E538 _0202FCC0: ldr r0, _0202FCC8 ; =0x021C59F4 strb r4, [r0, #0x0] @@ -95898,8 +95898,8 @@ _0202FCC0: nop _0202FCC8: .word 0x021C59F4 - thumb_func_start sub_0202FCCC -sub_0202FCCC: ; 0x0202FCCC + thumb_func_start FUN_0202FCCC +FUN_0202FCCC: ; 0x0202FCCC push {r3, lr} ldr r0, _0202FE14 ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -95907,7 +95907,7 @@ sub_0202FCCC: ; 0x0202FCCC ldrb r0, [r1, r0] cmp r0, #0x0 beq _0202FD40 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _0202FD06 ldr r0, _0202FE14 ; =0x021C59F4 @@ -95917,7 +95917,7 @@ sub_0202FCCC: ; 0x0202FCCC cmp r1, #0x0 beq _0202FCF8 mov r1, #0x26 - bl sub_021D78FC + bl FUN_021D78FC cmp r0, #0x0 bne _0202FCFA _0202FCF8: @@ -95930,22 +95930,22 @@ _0202FCFA: strb r2, [r1, r0] pop {r3, pc} _0202FD06: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 bne _0202FD1A - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _0202FD22 _0202FD1A: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FE10 _0202FD22: ldr r0, _0202FE20 ; =0x02105D58 mov r1, #0x0 strb r1, [r0, #0x0] - bl sub_0203050C + bl FUN_0203050C ldr r0, _0202FE20 ; =0x02105D58 ldrb r0, [r0, #0x0] cmp r0, #0x0 @@ -95957,7 +95957,7 @@ _0202FD22: strb r2, [r1, r0] pop {r3, pc} _0202FD40: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _0202FDB2 ldr r0, _0202FE14 ; =0x021C59F4 @@ -95979,7 +95979,7 @@ _0202FD40: ldrb r1, [r1, #0x0] cmp r1, #0x4 bne _0202FD90 - bl sub_02030930 + bl FUN_02030930 ldr r0, _0202FE20 ; =0x02105D58 mov r1, #0x2 strb r1, [r0, #0x0] @@ -95989,7 +95989,7 @@ _0202FD7A: ldrb r1, [r1, #0x0] cmp r1, #0x4 bne _0202FD90 - bl sub_02030930 + bl FUN_02030930 cmp r0, #0x0 beq _0202FE10 ldr r0, _0202FE20 ; =0x02105D58 @@ -95999,7 +95999,7 @@ _0202FD90: ldr r0, _0202FE14 ; =0x021C59F4 mov r1, #0x26 ldr r0, [r0, #0x4] - bl sub_021D78FC + bl FUN_021D78FC cmp r0, #0x0 beq _0202FE10 ldr r0, _0202FE20 ; =0x02105D58 @@ -96013,15 +96013,15 @@ _0202FD90: str r1, [r2, r0] pop {r3, pc} _0202FDB2: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 bne _0202FDC6 - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _0202FDCE _0202FDC6: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FE10 _0202FDCE: @@ -96040,7 +96040,7 @@ _0202FDCE: mov r0, #0x26 mul r0, r1 add r0, r2, r0 - bl sub_02030930 + bl FUN_02030930 ldr r0, _0202FE14 ; =0x021C59F4 ldr r2, [r0, #0x4] ldr r0, _0202FE28 ; =0x0000067F @@ -96050,11 +96050,11 @@ _0202FDCE: mov r0, #0x26 mul r0, r1 add r0, r2, r0 - bl sub_02030930 + bl FUN_02030930 ldr r0, _0202FE20 ; =0x02105D58 mov r1, #0x0 strb r1, [r0, #0x0] - bl sub_0203050C + bl FUN_0203050C _0202FE10: pop {r3, pc} nop @@ -96065,22 +96065,22 @@ _0202FE20: .word 0x02105D58 _0202FE24: .word 0x00000634 _0202FE28: .word 0x0000067F - thumb_func_start sub_0202FE2C -sub_0202FE2C: ; 0x0202FE2C + thumb_func_start FUN_0202FE2C +FUN_0202FE2C: ; 0x0202FE2C push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 str r0, [sp, #0xc] - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r0, r0, #0x1 mov r7, #0x0 str r0, [sp, #0x8] @@ -96098,10 +96098,10 @@ _0202FE66: ldr r0, _0202FEE8 ; =0x0000047C add r0, r1, r0 add r0, r0, r4 - bl sub_0202D4BC + bl FUN_0202D4BC lsl r0, r7, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202FE90 ldr r0, _0202FEE4 ; =0x021C59F4 @@ -96124,7 +96124,7 @@ _0202FE90: ldr r2, [sp, #0xc] add r0, r0, r4 add r1, r1, r5 - bl sub_0202D400 + bl FUN_0202D400 ldr r0, _0202FEE4 ; =0x021C59F4 ldr r0, [r0, #0x4] add r0, r6, r0 @@ -96161,28 +96161,28 @@ _0202FEDE: _0202FEE4: .word 0x021C59F4 _0202FEE8: .word 0x0000047C - thumb_func_start sub_0202FEEC -sub_0202FEEC: ; 0x0202FEEC + thumb_func_start FUN_0202FEEC +FUN_0202FEEC: ; 0x0202FEEC push {r3-r7, lr} ldr r0, _02030064 ; =0x021C59F4 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0202FEFE - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _0202FF00 _0202FEFE: b _02030062 _0202FF00: - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 str r0, [sp, #0x0] - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r6, r0, #0x1 ldr r0, _02030068 ; =0x02105D58 ldrb r1, [r0, #0x1] @@ -96197,7 +96197,7 @@ _0202FF2C: ldrb r1, [r0, #0x1] add r1, r1, #0x1 strb r1, [r0, #0x1] - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _0202FF4A ldr r0, _02030064 ; =0x021C59F4 @@ -96205,12 +96205,12 @@ _0202FF2C: mov r0, #0x1a lsl r0, r0, #0x6 ldrb r0, [r1, r0] - bl sub_0202FE2C + bl FUN_0202FE2C _0202FF4A: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 bne _0202FF86 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _0202FF86 ldr r0, _02030064 ; =0x021C59F4 @@ -96225,9 +96225,9 @@ _0202FF4A: add r2, r0, #0x0 mul r2, r1 add r0, r3, r2 - ldr r3, _0203006C ; =sub_020304F0 + ldr r3, _0203006C ; =FUN_020304F0 mov r2, #0xe - bl sub_0202D0D0 + bl FUN_0202D0D0 cmp r0, #0x0 bne _0202FF86 ldr r0, _02030068 ; =0x02105D58 @@ -96251,7 +96251,7 @@ _0202FF94: _0202FF9E: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _0202FFBA ldr r0, [r7, #0x4] @@ -96263,7 +96263,7 @@ _0202FF9E: str r2, [r0, r1] b _0202FFD4 _0202FFBA: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0202FFD4 cmp r4, #0x0 @@ -96294,7 +96294,7 @@ _0202FFDC: add r3, r1, #0x0 mul r3, r2 add r1, r4, r3 - bl sub_0203026C + bl FUN_0203026C ldr r0, _02030064 ; =0x021C59F4 mov r1, #0x1a ldr r3, [r0, #0x4] @@ -96312,10 +96312,10 @@ _0203000A: _02030014: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _02030040 - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030040 ldr r0, _02030064 ; =0x021C59F4 @@ -96337,10 +96337,10 @@ _02030040: cmp r5, r6 blt _02030014 _0203004A: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 bne _0203005A - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _02030062 _0203005A: @@ -96353,11 +96353,11 @@ _02030062: .balign 4 _02030064: .word 0x021C59F4 _02030068: .word 0x02105D58 -_0203006C: .word sub_020304F0 + 1 +_0203006C: .word FUN_020304F0 + 1 _02030070: .word 0x00000638 - thumb_func_start sub_02030074 -sub_02030074: ; 0x02030074 + thumb_func_start FUN_02030074 +FUN_02030074: ; 0x02030074 push {r3-r7, lr} ldr r0, _02030228 ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -96365,11 +96365,11 @@ sub_02030074: ; 0x02030074 ldrb r0, [r1, r0] cmp r0, #0x0 beq _020300DC - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _020300B4 mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _020300DC ldr r0, _02030228 ; =0x021C59F4 @@ -96378,7 +96378,7 @@ sub_02030074: ; 0x02030074 lsl r0, r0, #0x2 add r0, r1, r0 mov r1, #0x4c - bl sub_021D79B4 + bl FUN_021D79B4 cmp r0, #0x0 beq _020300DC ldr r0, _02030228 ; =0x021C59F4 @@ -96388,14 +96388,14 @@ sub_02030074: ; 0x02030074 strb r2, [r1, r0] pop {r3-r7, pc} _020300B4: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 beq _020300C4 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _020300DC _020300C4: - bl sub_0202FEEC + bl FUN_0202FEEC ldr r0, _02030230 ; =0x02105D58 ldrb r0, [r0, #0x1] cmp r0, #0x2 @@ -96407,11 +96407,11 @@ _020300C4: strb r2, [r1, r0] pop {r3-r7, pc} _020300DC: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _02030184 mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _020300F0 b _02030224 @@ -96439,11 +96439,11 @@ _02030112: ldrb r0, [r0, #0x1] cmp r0, #0x4 bne _02030150 - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030128 mov r0, #0x0 - bl sub_0202FE2C + bl FUN_0202FE2C _02030128: ldr r0, _02030230 ; =0x02105D58 mov r1, #0x2 @@ -96454,11 +96454,11 @@ _02030130: ldrb r0, [r0, #0x1] cmp r0, #0x4 bne _0203014A - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _0203014A mov r0, #0x0 - bl sub_0202FE2C + bl FUN_0202FE2C cmp r0, #0x0 beq _02030224 _0203014A: @@ -96472,7 +96472,7 @@ _02030150: lsl r0, r0, #0x2 add r0, r1, r0 mov r1, #0x4c - bl sub_021D79B4 + bl FUN_021D79B4 cmp r0, #0x0 beq _02030224 ldr r0, _02030230 ; =0x02105D58 @@ -96492,10 +96492,10 @@ _02030150: str r1, [r2, r0] pop {r3-r7, pc} _02030184: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 beq _02030194 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _02030224 _02030194: @@ -96510,7 +96510,7 @@ _02030194: _020301A4: lsl r0, r4, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _020301BC ldr r0, [r6, #0x4] @@ -96522,7 +96522,7 @@ _020301A4: _020301BC: cmp r4, #0x0 bne _020301D2 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _020301D2 ldr r1, [r6, #0x4] @@ -96535,7 +96535,7 @@ _020301D2: add r5, r5, #0x4 cmp r4, #0x8 blt _020301A4 - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x0 bne _0203021A ldr r0, _02030228 ; =0x021C59F4 @@ -96549,7 +96549,7 @@ _020301D2: mov r0, #0xc0 mul r0, r1 add r0, r2, r0 - bl sub_02030A00 + bl FUN_02030A00 ldr r0, _02030228 ; =0x021C59F4 ldr r1, [r0, #0x4] mov r0, #0x55 @@ -96563,12 +96563,12 @@ _020301D2: mov r0, #0xc0 mul r0, r1 add r0, r2, r0 - bl sub_02030A00 + bl FUN_02030A00 _0203021A: ldr r0, _02030230 ; =0x02105D58 mov r1, #0x0 strb r1, [r0, #0x1] - bl sub_0202FEEC + bl FUN_0202FEEC _02030224: pop {r3-r7, pc} nop @@ -96577,8 +96577,8 @@ _0203022C: .word 0x00000683 _02030230: .word 0x02105D58 _02030234: .word 0x00000638 - thumb_func_start sub_02030238 -sub_02030238: ; 0x02030238 + thumb_func_start FUN_02030238 +FUN_02030238: ; 0x02030238 push {r4-r6, lr} ldr r4, _02030264 ; =0x021C59F4 ldr r3, _02030268 ; =0x0000066F @@ -96598,14 +96598,14 @@ sub_02030238: ; 0x02030238 strb r1, [r0, r3] pop {r4-r6, pc} _0203025C: - bl sub_0203026C + bl FUN_0203026C pop {r4-r6, pc} nop _02030264: .word 0x021C59F4 _02030268: .word 0x0000066F - thumb_func_start sub_0203026C -sub_0203026C: ; 0x0203026C + thumb_func_start FUN_0203026C +FUN_0203026C: ; 0x0203026C push {r3-r7, lr} sub sp, #0x8 ldr r0, _020303A0 ; =0x021C59F4 @@ -96620,7 +96620,7 @@ sub_0203026C: ; 0x0203026C ldrb r0, [r5, #0x0] cmp r0, #0xb bne _02030296 - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030292 _02030290: @@ -96629,7 +96629,7 @@ _02030292: add r5, r5, #0x1 b _0203029E _02030296: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x0 beq _0203039C _0203029E: @@ -96647,18 +96647,18 @@ _020302B2: ldr r1, _020303A8 ; =0x00000682 mov r2, #0x0 strb r2, [r0, r1] - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _0203036E - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 add r6, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r0, r0, #0x1 mov r4, #0x0 str r0, [sp, #0x4] @@ -96722,7 +96722,7 @@ _0203033E: ldr r3, _020303B8 ; =0x000005E6 add r0, r0, r7 add r1, r5, #0x0 - bl sub_0202D3A4 + bl FUN_0202D3A4 ldr r0, [sp, #0x0] mov r1, #0x0 add r5, r5, r0 @@ -96761,7 +96761,7 @@ _0203036E: ldrb r2, [r5, #0x3] add r1, r5, #0x4 sub r3, #0x5d - bl sub_0202D3A4 + bl FUN_0202D3A4 _0203039C: add sp, #0x8 pop {r3-r7, pc} @@ -96774,8 +96774,8 @@ _020303B0: .word 0x00000667 _020303B4: .word 0x000004E8 _020303B8: .word 0x000005E6 - thumb_func_start sub_020303BC -sub_020303BC: ; 0x020303BC + thumb_func_start FUN_020303BC +FUN_020303BC: ; 0x020303BC push {r4-r6, lr} ldr r3, _020303EC ; =0x021C59F4 ldr r6, _020303F0 ; =0x0000066F @@ -96797,14 +96797,14 @@ sub_020303BC: ; 0x020303BC strb r2, [r0, r6] pop {r4-r6, pc} _020303E4: - bl sub_020303F4 + bl FUN_020303F4 pop {r4-r6, pc} nop _020303EC: .word 0x021C59F4 _020303F0: .word 0x0000066F - thumb_func_start sub_020303F4 -sub_020303F4: ; 0x020303F4 + thumb_func_start FUN_020303F4 +FUN_020303F4: ; 0x020303F4 push {r4-r6, lr} ldr r3, _020304B8 ; =0x021C59F4 add r5, r0, #0x0 @@ -96831,18 +96831,18 @@ sub_020303F4: ; 0x020303F4 _02030422: mov r1, #0x0 strb r1, [r0, r5] - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030478 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 add r6, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 ldrb r1, [r4, #0x0] mov r0, #0x2 tst r0, r1 @@ -96857,7 +96857,7 @@ _02030422: mul r0, r5 add r0, r1, r0 add r1, r4, #0x0 - bl sub_0202D3A4 + bl FUN_0202D3A4 _02030468: ldr r0, _020304B8 ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -96870,7 +96870,7 @@ _02030468: _02030478: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020307E4 + bl FUN_020307E4 ldrb r1, [r4, #0x0] mov r0, #0x2 tst r0, r1 @@ -96883,7 +96883,7 @@ _02030478: ldr r0, _020304CC ; =0x000004E8 add r0, r1, r0 add r0, r0, r6 - bl sub_0202D498 + bl FUN_0202D498 cmp r0, #0xb blt _020304B4 ldr r0, _020304B8 ; =0x021C59F4 @@ -96894,7 +96894,7 @@ _02030478: add r0, r1, r0 add r0, r0, r6 add r1, r4, #0x1 - bl sub_0202D3A4 + bl FUN_0202D3A4 _020304B4: pop {r4-r6, pc} nop @@ -96906,8 +96906,8 @@ _020304C8: .word 0x0000065F _020304CC: .word 0x000004E8 _020304D0: .word 0x0000066E - thumb_func_start sub_020304D4 -sub_020304D4: ; 0x020304D4 + thumb_func_start FUN_020304D4 +FUN_020304D4: ; 0x020304D4 push {r3, lr} cmp r0, #0x0 beq _020304E4 @@ -96917,13 +96917,13 @@ sub_020304D4: ; 0x020304D4 strb r1, [r0, #0x0] pop {r3, pc} _020304E4: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} nop _020304EC: .word 0x02105D58 - thumb_func_start sub_020304F0 -sub_020304F0: ; 0x020304F0 + thumb_func_start FUN_020304F0 +FUN_020304F0: ; 0x020304F0 push {r3, lr} cmp r0, #0x0 beq _02030500 @@ -96933,34 +96933,34 @@ sub_020304F0: ; 0x020304F0 strb r1, [r0, #0x1] pop {r3, pc} _02030500: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} nop _02030508: .word 0x02105D58 - thumb_func_start sub_0203050C -sub_0203050C: ; 0x0203050C + thumb_func_start FUN_0203050C +FUN_0203050C: ; 0x0203050C push {r4, lr} ldr r0, _02030660 ; =0x021C59F4 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0203051E - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _02030520 _0203051E: b _0203065E _02030520: - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 add r4, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 - bl sub_02031280 + bl FUN_0202D858 + bl FUN_02031280 cmp r0, #0x0 beq _02030594 ldr r0, _02030664 ; =0x02105D58 @@ -96976,7 +96976,7 @@ _02030550: add r1, r1, #0x1 strb r1, [r0, #0x0] mov r0, #0x1 - bl sub_020304D4 + bl FUN_020304D4 ldr r0, _02030660 ; =0x021C59F4 ldr r1, _02030668 ; =0x0000067F ldr r3, [r0, #0x4] @@ -96987,7 +96987,7 @@ _02030550: lsl r2, r4, #0x10 add r1, r3, r1 lsr r2, r2, #0x10 - bl sub_020303F4 + bl FUN_020303F4 ldr r2, _02030660 ; =0x021C59F4 ldr r1, _02030668 ; =0x0000067F ldr r4, [r2, #0x4] @@ -97004,14 +97004,14 @@ _02030550: str r0, [r2, r1] pop {r4, pc} _02030594: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 bne _0203065E - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _020305AE - bl sub_02031190 + bl FUN_02031190 pop {r4, pc} _020305AE: ldr r0, _02030664 ; =0x02105D58 @@ -97022,11 +97022,11 @@ _020305AE: cmp r0, #0x0 bne _0203065E _020305BC: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02030612 ldr r0, _02030664 ; =0x02105D58 - ldr r3, _0203066C ; =sub_020304D4 + ldr r3, _0203066C ; =FUN_020304D4 ldrb r1, [r0, #0x0] add r1, r1, #0x1 strb r1, [r0, #0x0] @@ -97040,7 +97040,7 @@ _020305BC: add r0, r2, r0 lsr r1, r1, #0x10 mov r2, #0xe - bl sub_0202D0D0 + bl FUN_0202D0D0 cmp r0, #0x0 bne _020305F4 ldr r0, _02030664 ; =0x02105D58 @@ -97065,7 +97065,7 @@ _020305F4: str r0, [r2, r1] pop {r4, pc} _02030612: - bl sub_0202CB8C + bl FUN_0202CB8C ldr r1, _02030670 ; =0x0000FFFE tst r0, r1 beq _0203065E @@ -97074,7 +97074,7 @@ _02030612: add r1, r1, #0x1 strb r1, [r0, #0x0] mov r0, #0x1 - bl sub_020304D4 + bl FUN_020304D4 ldr r0, _02030660 ; =0x021C59F4 ldr r1, _02030668 ; =0x0000067F ldr r3, [r0, #0x4] @@ -97085,7 +97085,7 @@ _02030612: lsl r2, r4, #0x10 add r1, r3, r1 lsr r2, r2, #0x10 - bl sub_020303F4 + bl FUN_020303F4 ldr r2, _02030660 ; =0x021C59F4 ldr r1, _02030668 ; =0x0000067F ldr r4, [r2, #0x4] @@ -97106,11 +97106,11 @@ _0203065E: _02030660: .word 0x021C59F4 _02030664: .word 0x02105D58 _02030668: .word 0x0000067F -_0203066C: .word sub_020304D4 + 1 +_0203066C: .word FUN_020304D4 + 1 _02030670: .word 0x0000FFFE - thumb_func_start sub_02030674 -sub_02030674: ; 0x02030674 + thumb_func_start FUN_02030674 +FUN_02030674: ; 0x02030674 push {r3-r7, lr} ldr r7, _02030798 ; =0x021C59F4 mov r6, #0x0 @@ -97189,7 +97189,7 @@ _020306F2: ldr r1, [r6, #0xc] ldr r2, [r5, r2] ldr r3, [r6, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 add r3, r0, #0x0 add r2, r1, #0x0 ldr r0, [r6, #0x10] @@ -97229,7 +97229,7 @@ _02030746: ldr r1, [r6, #0xc] ldr r2, [r6, #0x0] ldr r3, [r6, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r3, [r6, #0x10] ldr r2, [r6, #0x14] add r0, r3, r0 @@ -97268,8 +97268,8 @@ _0203079C: .word 0x0000062C _020307A0: .word 0x000005F8 _020307A4: .word 0x00000628 - thumb_func_start sub_020307A8 -sub_020307A8: ; 0x020307A8 + thumb_func_start FUN_020307A8 +FUN_020307A8: ; 0x020307A8 ldr r0, _020307B4 ; =0x021C59F4 mov r2, #0x1 ldr r1, [r0, #0x4] @@ -97280,8 +97280,8 @@ sub_020307A8: ; 0x020307A8 _020307B4: .word 0x021C59F4 _020307B8: .word 0x0000062C - thumb_func_start sub_020307BC -sub_020307BC: ; 0x020307BC + thumb_func_start FUN_020307BC +FUN_020307BC: ; 0x020307BC ldr r0, _020307C8 ; =0x021C59F4 mov r2, #0x2 ldr r1, [r0, #0x4] @@ -97292,8 +97292,8 @@ sub_020307BC: ; 0x020307BC _020307C8: .word 0x021C59F4 _020307CC: .word 0x0000062C - thumb_func_start sub_020307D0 -sub_020307D0: ; 0x020307D0 + thumb_func_start FUN_020307D0 +FUN_020307D0: ; 0x020307D0 ldr r0, _020307DC ; =0x021C59F4 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -97304,8 +97304,8 @@ sub_020307D0: ; 0x020307D0 _020307DC: .word 0x021C59F4 _020307E0: .word 0x0000062C - thumb_func_start sub_020307E4 -sub_020307E4: ; 0x020307E4 + thumb_func_start FUN_020307E4 +FUN_020307E4: ; 0x020307E4 push {r4-r7} ldr r4, _02030868 ; =0x021C59F4 lsl r6, r1, #0x1 @@ -97379,13 +97379,13 @@ _02030860: nop _02030868: .word 0x021C59F4 - thumb_func_start sub_0203086C -sub_0203086C: ; 0x0203086C + thumb_func_start FUN_0203086C +FUN_0203086C: ; 0x0203086C bx lr .balign 4 - thumb_func_start sub_02030870 -sub_02030870: ; 0x02030870 + thumb_func_start FUN_02030870 +FUN_02030870: ; 0x02030870 push {r4, lr} add r4, r0, #0x0 ldr r0, _0203091C ; =0x021C59F4 @@ -97397,7 +97397,7 @@ sub_02030870: ; 0x02030870 mov r0, #0x0 pop {r4, pc} _02030884: - bl sub_02030FE0 + bl FUN_02030FE0 cmp r0, #0x0 bne _02030890 mov r0, #0x0 @@ -97484,20 +97484,20 @@ _02030924: .word 0x00000681 _02030928: .word 0x00000628 _0203092C: .word 0x0000062B - thumb_func_start sub_02030930 -sub_02030930: ; 0x02030930 + thumb_func_start FUN_02030930 +FUN_02030930: ; 0x02030930 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02031228 + bl FUN_02031228 add r5, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 ldr r0, _020309F0 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _020309F4 ; =0x00000684 @@ -97510,11 +97510,11 @@ _02030960: mov r0, #0x1 _02030962: strb r0, [r4, #0x0] - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x0 bne _02030972 add r0, r4, #0x0 - bl sub_02030870 + bl FUN_02030870 _02030972: ldr r1, _020309F0 ; =0x021C59F4 ldr r0, _020309F4 ; =0x00000684 @@ -97524,7 +97524,7 @@ _02030972: ldr r1, [r1, #0x4] ldr r0, _020309F8 ; =0x0000054C add r0, r1, r0 - bl sub_0202D4E4 + bl FUN_0202D4E4 cmp r0, #0x0 beq _0203099E ldrb r1, [r4, #0x0] @@ -97548,7 +97548,7 @@ _0203099E: ldr r0, _020309F8 ; =0x0000054C add r0, r1, r0 add r1, sp, #0x0 - bl sub_0202D760 + bl FUN_0202D760 cmp r0, #0x0 bne _020309C4 ldr r0, _020309F0 ; =0x021C59F4 @@ -97557,7 +97557,7 @@ _0203099E: ldr r0, _020309F4 ; =0x00000684 strb r2, [r1, r0] _020309C4: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _020309E8 ldr r2, _020309F0 ; =0x021C59F4 @@ -97584,8 +97584,8 @@ _020309F4: .word 0x00000684 _020309F8: .word 0x0000054C _020309FC: .word 0x0000065E - thumb_func_start sub_02030A00 -sub_02030A00: ; 0x02030A00 + thumb_func_start FUN_02030A00 +FUN_02030A00: ; 0x02030A00 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -97603,7 +97603,7 @@ _02030A1A: mov r0, #0x1 _02030A1C: strb r0, [r4, #0x1] - bl sub_0202CB8C + bl FUN_0202CB8C asr r1, r0, #0x8 strb r1, [r4, #0x2] strb r0, [r4, #0x3] @@ -97617,7 +97617,7 @@ _02030A1C: ldr r0, _02030A74 ; =0x0000056C add r0, r1, r0 add r1, sp, #0x0 - bl sub_0202D760 + bl FUN_0202D760 cmp r0, #0x0 beq _02030A5A ldr r0, _02030A6C ; =0x021C59F4 @@ -97646,18 +97646,18 @@ _02030A6C: .word 0x021C59F4 _02030A70: .word 0x00000685 _02030A74: .word 0x0000056C - thumb_func_start sub_02030A78 -sub_02030A78: ; 0x02030A78 + thumb_func_start FUN_02030A78 +FUN_02030A78: ; 0x02030A78 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _02030A9C - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _02030A9C add sp, #0x8 @@ -97675,17 +97675,17 @@ _02030A9C: add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 cmp r0, #0x0 beq _02030AC0 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02030AC0: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0xa bne _02030ACC - bl sub_02031454 + bl FUN_02031454 _02030ACC: mov r0, #0x0 add sp, #0x8 @@ -97694,18 +97694,18 @@ _02030ACC: _02030AD4: .word 0x021C59F4 _02030AD8: .word 0x0000054C - thumb_func_start sub_02030ADC -sub_02030ADC: ; 0x02030ADC + thumb_func_start FUN_02030ADC +FUN_02030ADC: ; 0x02030ADC push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _02030B00 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _02030B00 add sp, #0x8 @@ -97722,17 +97722,17 @@ _02030B00: add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 cmp r0, #0x0 beq _02030B22 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02030B22: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0xa bne _02030B2E - bl sub_02031454 + bl FUN_02031454 _02030B2E: mov r0, #0x0 add sp, #0x8 @@ -97741,39 +97741,39 @@ _02030B2E: _02030B34: .word 0x021C59F4 _02030B38: .word 0x0000054C - thumb_func_start sub_02030B3C -sub_02030B3C: ; 0x02030B3C + thumb_func_start FUN_02030B3C +FUN_02030B3C: ; 0x02030B3C push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02030B58 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} _02030B58: mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _02030B70 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _02030B70 add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} _02030B70: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030B86 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02030A78 + bl FUN_02030A78 add sp, #0x8 pop {r4-r6, pc} _02030B86: @@ -97788,17 +97788,17 @@ _02030B86: add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 cmp r0, #0x0 beq _02030BAA add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02030BAA: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0xa bne _02030BB6 - bl sub_02031454 + bl FUN_02031454 _02030BB6: mov r0, #0x0 add sp, #0x8 @@ -97807,39 +97807,39 @@ _02030BB6: _02030BBC: .word 0x021C59F4 _02030BC0: .word 0x0000056C - thumb_func_start sub_02030BC4 -sub_02030BC4: ; 0x02030BC4 + thumb_func_start FUN_02030BC4 +FUN_02030BC4: ; 0x02030BC4 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02030BE0 - bl sub_02031454 + bl FUN_02031454 add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} _02030BE0: mov r0, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _02030BF8 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 bne _02030BF8 add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} _02030BF8: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02030C0E add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02030ADC + bl FUN_02030ADC add sp, #0x8 pop {r4-r6, pc} _02030C0E: @@ -97853,17 +97853,17 @@ _02030C0E: add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 cmp r0, #0x0 beq _02030C30 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02030C30: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0xa bne _02030C3C - bl sub_02031454 + bl FUN_02031454 _02030C3C: mov r0, #0x0 add sp, #0x8 @@ -97872,32 +97872,32 @@ _02030C3C: _02030C44: .word 0x021C59F4 _02030C48: .word 0x0000056C - thumb_func_start sub_02030C4C -sub_02030C4C: ; 0x02030C4C - ldr r3, _02030C54 ; =sub_02030BC4 + thumb_func_start FUN_02030C4C +FUN_02030C4C: ; 0x02030C4C + ldr r3, _02030C54 ; =FUN_02030BC4 mov r2, #0x0 bx r3 nop -_02030C54: .word sub_02030BC4 + 1 +_02030C54: .word FUN_02030BC4 + 1 - thumb_func_start sub_02030C58 -sub_02030C58: ; 0x02030C58 + thumb_func_start FUN_02030C58 +FUN_02030C58: ; 0x02030C58 ldr r0, _02030C64 ; =0x021C59F4 - ldr r3, _02030C68 ; =sub_0202D498 + ldr r3, _02030C68 ; =FUN_0202D498 ldr r1, [r0, #0x4] ldr r0, _02030C6C ; =0x00000464 add r0, r1, r0 bx r3 .balign 4 _02030C64: .word 0x021C59F4 -_02030C68: .word sub_0202D498 + 1 +_02030C68: .word FUN_0202D498 + 1 _02030C6C: .word 0x00000464 - thumb_func_start sub_02030C70 -sub_02030C70: ; 0x02030C70 + thumb_func_start FUN_02030C70 +FUN_02030C70: ; 0x02030C70 push {r4, lr} ldr r4, [sp, #0x8] - bl sub_0202D934 + bl FUN_0202D934 mov r0, #0xee strb r0, [r4, #0xa] ldr r0, _02030C88 ; =0x0000FFFF @@ -97909,15 +97909,15 @@ sub_02030C70: ; 0x02030C70 .balign 4 _02030C88: .word 0x0000FFFF - thumb_func_start sub_02030C8C -sub_02030C8C: ; 0x02030C8C + thumb_func_start FUN_02030C8C +FUN_02030C8C: ; 0x02030C8C push {r4-r7, lr} sub sp, #0x14 add r6, r0, #0x0 str r1, [sp, #0x4] str r2, [sp, #0x8] ldr r5, [sp, #0x28] - bl sub_0202D478 + bl FUN_0202D478 cmp r0, #0x0 beq _02030D94 _02030CA0: @@ -97925,7 +97925,7 @@ _02030CA0: cmp r7, #0xee bne _02030CB2 add r0, r6, #0x0 - bl sub_0202D41C + bl FUN_0202D41C add r7, r0, #0x0 cmp r7, #0xee beq _02030D8A @@ -97939,7 +97939,7 @@ _02030CB2: cmp r4, r0 bne _02030D06 add r0, r7, #0x0 - bl sub_0202D9A0 + bl FUN_0202D9A0 add r4, r0, #0x0 ldr r0, _02030D9C ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -97951,7 +97951,7 @@ _02030CB2: cmp r4, r0 bne _02030D04 add r0, r6, #0x0 - bl sub_0202D478 + bl FUN_0202D478 cmp r0, #0x1 bge _02030CEE ldr r0, [sp, #0x10] @@ -97960,10 +97960,10 @@ _02030CB2: pop {r4-r7, pc} _02030CEE: add r0, r6, #0x0 - bl sub_0202D41C + bl FUN_0202D41C lsl r4, r0, #0x8 add r0, r6, #0x0 - bl sub_0202D41C + bl FUN_0202D41C add r4, r4, r0 mov r0, #0x4 ldrsh r0, [r6, r0] @@ -97972,7 +97972,7 @@ _02030D04: strh r4, [r5, #0x8] _02030D06: add r0, r7, #0x0 - bl sub_0202DA04 + bl FUN_0202DA04 cmp r0, #0x0 beq _02030D5E ldr r0, [r5, #0x4] @@ -97981,14 +97981,14 @@ _02030D06: ldrh r2, [r5, #0x8] ldr r1, [sp, #0x4] add r0, r7, #0x0 - bl sub_0202DA40 + bl FUN_0202DA40 str r0, [r5, #0x4] _02030D22: ldr r2, [r5, #0x0] ldr r1, [sp, #0x8] add r0, r6, #0x0 sub r2, r4, r2 - bl sub_0202D400 + bl FUN_0202D400 ldr r2, [r5, #0x4] str r0, [sp, #0xc] cmp r2, #0x0 @@ -97997,7 +97997,7 @@ _02030D22: ldr r0, [sp, #0x8] add r1, r2, r1 ldr r2, [sp, #0xc] - blx sub_020CE3E0 + blx FUN_020CE3E0 _02030D42: ldr r1, [r5, #0x0] ldr r0, [sp, #0xc] @@ -98010,23 +98010,23 @@ _02030D42: ldr r3, [r5, #0x4] add r1, r7, #0x0 add r2, r4, #0x0 - bl sub_02030C70 + bl FUN_02030C70 b _02030D8A _02030D5E: add r0, r6, #0x0 - bl sub_0202D478 + bl FUN_0202D478 cmp r0, r4 blt _02030D82 ldr r1, [sp, #0x8] add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0202D400 + bl FUN_0202D400 ldr r0, [sp, #0x4] ldr r3, [sp, #0x8] add r1, r7, #0x0 add r2, r4, #0x0 str r5, [sp, #0x0] - bl sub_02030C70 + bl FUN_02030C70 b _02030D8A _02030D82: ldr r0, [sp, #0x10] @@ -98035,7 +98035,7 @@ _02030D82: pop {r4-r7, pc} _02030D8A: add r0, r6, #0x0 - bl sub_0202D478 + bl FUN_0202D478 cmp r0, #0x0 bne _02030CA0 _02030D94: @@ -98046,8 +98046,8 @@ _02030D98: .word 0x0000FFFF _02030D9C: .word 0x021C59F4 _02030DA0: .word 0x00000689 - thumb_func_start sub_02030DA4 -sub_02030DA4: ; 0x02030DA4 + thumb_func_start FUN_02030DA4 +FUN_02030DA4: ; 0x02030DA4 push {r3, lr} ldr r0, _02030DF0 ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -98060,13 +98060,13 @@ sub_02030DA4: ; 0x02030DA4 mov r0, #0x47 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_0202D4BC + bl FUN_0202D4BC ldr r0, _02030DF0 ; =0x021C59F4 ldr r1, [r0, #0x4] mov r0, #0x47 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_0202D478 + bl FUN_0202D478 cmp r0, #0x0 ble _02030DEE ldr r0, _02030DF0 ; =0x021C59F4 @@ -98081,7 +98081,7 @@ sub_02030DA4: ; 0x02030DA4 ldr r2, [r3, r2] mov r1, #0x0 mov r3, #0x1 - bl sub_02030C8C + bl FUN_02030C8C _02030DEE: pop {r3, pc} .balign 4 @@ -98089,8 +98089,8 @@ _02030DF0: .word 0x021C59F4 _02030DF4: .word 0x0000068B _02030DF8: .word 0x000005EC - thumb_func_start sub_02030DFC -sub_02030DFC: ; 0x02030DFC + thumb_func_start FUN_02030DFC +FUN_02030DFC: ; 0x02030DFC push {r3-r7, lr} ldr r0, _02030E6C ; =0x021C59F4 ldr r1, [r0, #0x4] @@ -98100,10 +98100,10 @@ sub_02030DFC: ; 0x02030DFC ldrb r0, [r1, r0] cmp r0, #0x0 bne _02030E68 - bl sub_02033534 + bl FUN_02033534 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r7, r0, #0x1 mov r4, #0x0 cmp r7, #0x0 @@ -98115,12 +98115,12 @@ _02030E26: ldr r0, _02030E74 ; =0x000004E8 add r0, r1, r0 add r0, r0, r5 - bl sub_0202D4BC + bl FUN_0202D4BC ldr r1, [r6, #0x4] ldr r0, _02030E74 ; =0x000004E8 add r0, r1, r0 add r0, r0, r5 - bl sub_0202D478 + bl FUN_0202D478 cmp r0, #0x0 ble _02030E60 ldr r3, [r6, #0x4] @@ -98136,7 +98136,7 @@ _02030E26: add r0, r0, r5 add r1, r4, #0x0 mov r3, #0x0 - bl sub_02030C8C + bl FUN_02030C8C _02030E60: add r4, r4, #0x1 add r5, #0xc @@ -98150,8 +98150,8 @@ _02030E70: .word 0x0000068B _02030E74: .word 0x000004E8 _02030E78: .word 0x0000058C - thumb_func_start sub_02030E7C -sub_02030E7C: ; 0x02030E7C + thumb_func_start FUN_02030E7C +FUN_02030E7C: ; 0x02030E7C push {r4, lr} add r4, r0, #0x0 ldr r0, _02030F14 ; =0x021C59F4 @@ -98161,7 +98161,7 @@ sub_02030E7C: ; 0x02030E7C mov r0, #0x0 pop {r4, pc} _02030E8C: - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _02030EC0 ldr r0, _02030F14 ; =0x021C59F4 @@ -98170,7 +98170,7 @@ _02030E8C: ldrb r0, [r1, r0] cmp r0, #0x0 beq _02030EBC - bl sub_021D8018 + bl FUN_021D8018 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -98188,28 +98188,28 @@ _02030EBC: mov r0, #0x0 pop {r4, pc} _02030EC0: - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02030ECC mov r0, #0x0 pop {r4, pc} _02030ECC: - bl sub_0202CBD4 + bl FUN_0202CBD4 cmp r0, #0x4 beq _02030ED8 mov r0, #0x0 pop {r4, pc} _02030ED8: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _02030EE4 mov r0, #0x1 pop {r4, pc} _02030EE4: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02030EFE - bl sub_0202CB8C + bl FUN_0202CB8C mov r1, #0x1 add r2, r1, #0x0 lsl r2, r4 @@ -98236,15 +98236,15 @@ _02030F14: .word 0x021C59F4 _02030F18: .word 0x00000687 _02030F1C: .word 0x0000065C - thumb_func_start sub_02030F20 -sub_02030F20: ; 0x02030F20 + thumb_func_start FUN_02030F20 +FUN_02030F20: ; 0x02030F20 push {r3-r5, lr} mov r4, #0x0 add r5, r4, #0x0 _02030F26: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _02030F34 add r4, r4, #0x1 @@ -98256,26 +98256,26 @@ _02030F34: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02030F40 -sub_02030F40: ; 0x02030F40 + thumb_func_start FUN_02030F40 +FUN_02030F40: ; 0x02030F40 push {r3, lr} ldr r0, _02030F5C ; =0x021C59F4 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _02030F56 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _02030F56 mov r0, #0x1 pop {r3, pc} _02030F56: - bl sub_0202EDF8 + bl FUN_0202EDF8 pop {r3, pc} .balign 4 _02030F5C: .word 0x021C59F4 - thumb_func_start sub_02030F60 -sub_02030F60: ; 0x02030F60 + thumb_func_start FUN_02030F60 +FUN_02030F60: ; 0x02030F60 ldr r1, _02030F6C ; =0x021C59F4 ldr r2, [r1, #0x4] ldr r1, _02030F70 ; =0x0000062B @@ -98285,8 +98285,8 @@ sub_02030F60: ; 0x02030F60 _02030F6C: .word 0x021C59F4 _02030F70: .word 0x0000062B - thumb_func_start sub_02030F74 -sub_02030F74: ; 0x02030F74 + thumb_func_start FUN_02030F74 +FUN_02030F74: ; 0x02030F74 ldr r1, _02030F84 ; =0x021C59F4 ldr r1, [r1, #0x4] add r1, r1, r0 @@ -98297,8 +98297,8 @@ sub_02030F74: ; 0x02030F74 nop _02030F84: .word 0x021C59F4 - thumb_func_start sub_02030F88 -sub_02030F88: ; 0x02030F88 + thumb_func_start FUN_02030F88 +FUN_02030F88: ; 0x02030F88 ldr r1, _02030FA4 ; =0x021C59F4 ldr r2, [r1, #0x4] cmp r2, #0x0 @@ -98317,8 +98317,8 @@ _02030F94: .balign 4 _02030FA4: .word 0x021C59F4 - thumb_func_start sub_02030FA8 -sub_02030FA8: ; 0x02030FA8 + thumb_func_start FUN_02030FA8 +FUN_02030FA8: ; 0x02030FA8 ldr r0, _02030FC0 ; =0x021C59F4 ldr r3, [r0, #0x4] cmp r3, #0x0 @@ -98338,8 +98338,8 @@ _02030FC8: .byte 0x03, 0x48, 0x42, 0x68, 0x00, 0x2A, 0x02, 0xD0 .byte 0x02, 0x48, 0x00, 0x21, 0x11, 0x52, 0x70, 0x47, 0xF4, 0x59, 0x1C, 0x02, 0x28, 0x06, 0x00, 0x00 - thumb_func_start sub_02030FE0 -sub_02030FE0: ; 0x02030FE0 + thumb_func_start FUN_02030FE0 +FUN_02030FE0: ; 0x02030FE0 ldr r0, _02030FF8 ; =0x021C59F4 ldr r1, [r0, #0x4] cmp r1, #0x0 @@ -98357,14 +98357,14 @@ _02030FF4: _02030FF8: .word 0x021C59F4 _02030FFC: .word 0x00000628 - thumb_func_start sub_02031000 -sub_02031000: ; 0x02031000 + thumb_func_start FUN_02031000 +FUN_02031000: ; 0x02031000 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _02031030 mov r0, #0x1 @@ -98378,7 +98378,7 @@ sub_02031000: ; 0x02031000 add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 add sp, #0x8 pop {r4-r6, pc} _02031030: @@ -98393,7 +98393,7 @@ _02031030: add r3, r6, #0x0 add r0, r1, r0 add r1, r5, #0x0 - bl sub_0202D684 + bl FUN_0202D684 add sp, #0x8 pop {r4-r6, pc} nop @@ -98401,8 +98401,8 @@ _02031050: .word 0x021C59F4 _02031054: .word 0x0000054C _02031058: .word 0x0000056C - thumb_func_start sub_0203105C -sub_0203105C: ; 0x0203105C + thumb_func_start FUN_0203105C +FUN_0203105C: ; 0x0203105C push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -98417,15 +98417,15 @@ sub_0203105C: ; 0x0203105C add r0, r1, r0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_0202D684 + bl FUN_0202D684 add sp, #0x8 pop {r3-r5, pc} .balign 4 _02031080: .word 0x021C59F4 _02031084: .word 0x0000054C - thumb_func_start sub_02031088 -sub_02031088: ; 0x02031088 + thumb_func_start FUN_02031088 +FUN_02031088: ; 0x02031088 push {r3, lr} ldr r0, _02031100 ; =0x021C59F4 ldr r2, [r0, #0x4] @@ -98439,7 +98439,7 @@ sub_02031088: ; 0x02031088 beq _020310D8 pop {r3, pc} _020310A0: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x1 bne _020310B8 ldr r1, _02031100 ; =0x021C59F4 @@ -98447,7 +98447,7 @@ _020310A0: ldr r2, [r1, #0x4] ldr r1, _02031108 ; =0x0000067C add r1, r2, r1 - bl sub_020311D0 + bl FUN_020311D0 b _020310C8 _020310B8: ldr r1, _02031100 ; =0x021C59F4 @@ -98456,7 +98456,7 @@ _020310B8: ldr r1, _02031108 ; =0x0000067C add r1, r2, r1 mov r2, #0x1 - bl sub_02030BC4 + bl FUN_02030BC4 _020310C8: cmp r0, #0x0 beq _020310FC @@ -98470,14 +98470,14 @@ _020310D8: add r1, r1, #0x1 mov r0, #0xc add r1, r2, r1 - bl sub_020311D0 + bl FUN_020311D0 cmp r0, #0x0 beq _020310FC ldr r0, _02031100 ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _02031108 ; =0x0000067C ldrb r0, [r1, r0] - bl sub_0202F9E0 + bl FUN_0202F9E0 ldr r0, _02031100 ; =0x021C59F4 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -98490,11 +98490,11 @@ _02031100: .word 0x021C59F4 _02031104: .word 0x0000067B _02031108: .word 0x0000067C - thumb_func_start sub_0203110C -sub_0203110C: ; 0x0203110C + thumb_func_start FUN_0203110C +FUN_0203110C: ; 0x0203110C push {r4, lr} add r4, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0203112A ldr r1, _0203112C ; =0x021C59F4 @@ -98512,11 +98512,11 @@ _0203112A: _0203112C: .word 0x021C59F4 _02031130: .word 0x0000067B - thumb_func_start sub_02031134 -sub_02031134: ; 0x02031134 + thumb_func_start FUN_02031134 +FUN_02031134: ; 0x02031134 push {r4, lr} add r4, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02031152 ldr r1, _02031154 ; =0x021C59F4 @@ -98534,11 +98534,11 @@ _02031152: _02031154: .word 0x021C59F4 _02031158: .word 0x0000067C - thumb_func_start sub_0203115C -sub_0203115C: ; 0x0203115C + thumb_func_start FUN_0203115C +FUN_0203115C: ; 0x0203115C push {r4, lr} add r4, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02031184 ldr r0, _02031188 ; =0x021C59F4 @@ -98548,7 +98548,7 @@ sub_0203115C: ; 0x0203115C cmp r0, #0x2 bne _02031184 ldrb r0, [r4, #0x0] - bl sub_0202F9E0 + bl FUN_0202F9E0 ldr r0, _02031188 ; =0x021C59F4 mov r2, #0x0 ldr r1, [r0, #0x4] @@ -98560,17 +98560,17 @@ _02031184: _02031188: .word 0x021C59F4 _0203118C: .word 0x0000067B - thumb_func_start sub_02031190 -sub_02031190: ; 0x02031190 + thumb_func_start FUN_02031190 +FUN_02031190: ; 0x02031190 push {r3, lr} ldr r0, _020311CC ; =0x021C59F4 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _020311C6 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _020311B4 - bl sub_021D8018 + bl FUN_021D8018 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -98579,13 +98579,13 @@ sub_02031190: ; 0x02031190 lsr r0, r0, #0x10 pop {r3, pc} _020311B4: - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _020311C0 mov r0, #0x0 pop {r3, pc} _020311C0: - bl sub_0202D19C + bl FUN_0202D19C pop {r3, pc} _020311C6: mov r0, #0x0 @@ -98593,34 +98593,34 @@ _020311C6: nop _020311CC: .word 0x021C59F4 - thumb_func_start sub_020311D0 -sub_020311D0: ; 0x020311D0 - ldr r3, _020311D8 ; =sub_02030ADC + thumb_func_start FUN_020311D0 +FUN_020311D0: ; 0x020311D0 + ldr r3, _020311D8 ; =FUN_02030ADC mov r2, #0x0 bx r3 nop -_020311D8: .word sub_02030ADC + 1 +_020311D8: .word FUN_02030ADC + 1 - thumb_func_start sub_020311DC -sub_020311DC: ; 0x020311DC - ldr r3, _020311E4 ; =sub_02030ADC + thumb_func_start FUN_020311DC +FUN_020311DC: ; 0x020311DC + ldr r3, _020311E4 ; =FUN_02030ADC mov r1, #0x0 add r2, r1, #0x0 bx r3 .balign 4 -_020311E4: .word sub_02030ADC + 1 +_020311E4: .word FUN_02030ADC + 1 - thumb_func_start sub_020311E8 -sub_020311E8: ; 0x020311E8 - ldr r3, _020311EC ; =sub_0202EE24 + thumb_func_start FUN_020311E8 +FUN_020311E8: ; 0x020311E8 + ldr r3, _020311EC ; =FUN_0202EE24 bx r3 .balign 4 -_020311EC: .word sub_0202EE24 + 1 +_020311EC: .word FUN_0202EE24 + 1 - thumb_func_start sub_020311F0 -sub_020311F0: ; 0x020311F0 + thumb_func_start FUN_020311F0 +FUN_020311F0: ; 0x020311F0 push {r3, lr} - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _020311FE mov r0, #0x0 @@ -98636,26 +98636,26 @@ _020311FE: beq _0203121A mov r0, #0x1 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 mov r0, #0x1 pop {r3, pc} _0203121A: - bl sub_0202EE60 + bl FUN_0202EE60 pop {r3, pc} .balign 4 _02031220: .word 0x021C59F4 _02031224: .word 0x00000689 - thumb_func_start sub_02031228 -sub_02031228: ; 0x02031228 + thumb_func_start FUN_02031228 +FUN_02031228: ; 0x02031228 push {r3, lr} - bl sub_0202D858 + bl FUN_0202D858 cmp r0, #0x5 blo _02031236 mov r0, #0xc pop {r3, pc} _02031236: - bl sub_0202FA28 + bl FUN_0202FA28 cmp r0, #0x0 bne _02031242 mov r0, #0xc @@ -98665,28 +98665,28 @@ _02031242: pop {r3, pc} .balign 4 - thumb_func_start sub_02031248 -sub_02031248: ; 0x02031248 + thumb_func_start FUN_02031248 +FUN_02031248: ; 0x02031248 push {r3, lr} lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D858 + bl FUN_0202D858 add r0, r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_02031258 -sub_02031258: ; 0x02031258 + thumb_func_start FUN_02031258 +FUN_02031258: ; 0x02031258 push {r3, lr} lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0202D884 + bl FUN_0202D884 add r0, r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_02031268 -sub_02031268: ; 0x02031268 + thumb_func_start FUN_02031268 +FUN_02031268: ; 0x02031268 ldr r1, _02031278 ; =0x021C59F4 ldr r2, [r1, #0x4] cmp r2, #0x0 @@ -98699,8 +98699,8 @@ _02031274: _02031278: .word 0x021C59F4 _0203127C: .word 0x00000686 - thumb_func_start sub_02031280 -sub_02031280: ; 0x02031280 + thumb_func_start FUN_02031280 +FUN_02031280: ; 0x02031280 ldr r0, _02031294 ; =0x021C59F4 ldr r1, [r0, #0x4] cmp r1, #0x0 @@ -98715,30 +98715,30 @@ _0203128E: _02031294: .word 0x021C59F4 _02031298: .word 0x00000686 - thumb_func_start sub_0203129C -sub_0203129C: ; 0x0203129C + thumb_func_start FUN_0203129C +FUN_0203129C: ; 0x0203129C push {r3, lr} - bl sub_0202F03C + bl FUN_0202F03C cmp r0, #0x0 bne _020312B6 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _020312B6 mov r0, #0x2 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C _020312B6: - bl sub_0202F05C + bl FUN_0202F05C pop {r3, pc} - thumb_func_start sub_020312BC -sub_020312BC: ; 0x020312BC + thumb_func_start FUN_020312BC +FUN_020312BC: ; 0x020312BC push {r3-r7, lr} sub sp, #0x20 add r4, r0, #0x0 add r0, sp, #0x10 add r1, sp, #0x4 - bl sub_0201265C + bl FUN_0201265C ldr r0, _02031340 ; =0x021C48B8 ldr r6, [sp, #0x10] mov r5, #0x0 @@ -98805,48 +98805,48 @@ _02031348: .word 0x6C078965 _0203134C: .word 0x5D588B65 _02031350: .word 0x00269EC3 - thumb_func_start sub_02031354 -sub_02031354: ; 0x02031354 + thumb_func_start FUN_02031354 +FUN_02031354: ; 0x02031354 add r1, r0, #0x0 ldr r0, _02031364 ; =0x021C59F4 - ldr r3, _02031368 ; =sub_0202D830 + ldr r3, _02031368 ; =FUN_0202D830 ldr r2, [r0, #0x4] ldr r0, _0203136C ; =0x0000056C add r0, r2, r0 bx r3 nop _02031364: .word 0x021C59F4 -_02031368: .word sub_0202D830 + 1 +_02031368: .word FUN_0202D830 + 1 _0203136C: .word 0x0000056C - thumb_func_start sub_02031370 -sub_02031370: ; 0x02031370 + thumb_func_start FUN_02031370 +FUN_02031370: ; 0x02031370 ldr r0, _0203137C ; =0x021C59F4 - ldr r3, _02031380 ; =sub_0202D4E4 + ldr r3, _02031380 ; =FUN_0202D4E4 ldr r1, [r0, #0x4] ldr r0, _02031384 ; =0x0000056C add r0, r1, r0 bx r3 .balign 4 _0203137C: .word 0x021C59F4 -_02031380: .word sub_0202D4E4 + 1 +_02031380: .word FUN_0202D4E4 + 1 _02031384: .word 0x0000056C - thumb_func_start sub_02031388 -sub_02031388: ; 0x02031388 + thumb_func_start FUN_02031388 +FUN_02031388: ; 0x02031388 ldr r0, _02031394 ; =0x021C59F4 - ldr r3, _02031398 ; =sub_0202D4E4 + ldr r3, _02031398 ; =FUN_0202D4E4 ldr r1, [r0, #0x4] ldr r0, _0203139C ; =0x0000054C add r0, r1, r0 bx r3 .balign 4 _02031394: .word 0x021C59F4 -_02031398: .word sub_0202D4E4 + 1 +_02031398: .word FUN_0202D4E4 + 1 _0203139C: .word 0x0000054C - thumb_func_start sub_020313A0 -sub_020313A0: ; 0x020313A0 + thumb_func_start FUN_020313A0 +FUN_020313A0: ; 0x020313A0 ldr r1, _020313AC ; =0x021C59F4 ldr r2, [r1, #0x4] ldr r1, _020313B0 ; =0x00000687 @@ -98856,8 +98856,8 @@ sub_020313A0: ; 0x020313A0 _020313AC: .word 0x021C59F4 _020313B0: .word 0x00000687 - thumb_func_start sub_020313B4 -sub_020313B4: ; 0x020313B4 + thumb_func_start FUN_020313B4 +FUN_020313B4: ; 0x020313B4 ldr r2, _020313C4 ; =0x021C59F4 ldr r2, [r2, #0x4] cmp r2, #0x0 @@ -98871,8 +98871,8 @@ _020313C2: _020313C4: .word 0x021C59F4 _020313C8: .word 0x00000677 - thumb_func_start sub_020313CC -sub_020313CC: ; 0x020313CC + thumb_func_start FUN_020313CC +FUN_020313CC: ; 0x020313CC ldr r1, _020313E4 ; =0x021C59F4 ldr r1, [r1, #0x4] cmp r1, #0x0 @@ -98889,23 +98889,23 @@ _020313E0: _020313E4: .word 0x021C59F4 _020313E8: .word 0x00000677 - thumb_func_start sub_020313EC -sub_020313EC: ; 0x020313EC + thumb_func_start FUN_020313EC +FUN_020313EC: ; 0x020313EC push {r3, lr} - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 bge _020313FA mov r0, #0x0 pop {r3, pc} _020313FA: - bl sub_021D8624 + bl FUN_021D8624 pop {r3, pc} - thumb_func_start sub_02031400 -sub_02031400: ; 0x02031400 + thumb_func_start FUN_02031400 +FUN_02031400: ; 0x02031400 push {r4, lr} add r4, r0, #0x0 - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _02031430 ldr r2, _02031434 ; =0x021C59F4 @@ -98931,8 +98931,8 @@ _02031430: nop _02031434: .word 0x021C59F4 - thumb_func_start sub_02031438 -sub_02031438: ; 0x02031438 + thumb_func_start FUN_02031438 +FUN_02031438: ; 0x02031438 ldr r0, _0203144C ; =0x021C59F4 ldr r1, [r0, #0x4] ldr r0, _02031450 ; =0x00000681 @@ -98948,8 +98948,8 @@ _02031448: _0203144C: .word 0x021C59F4 _02031450: .word 0x00000681 - thumb_func_start sub_02031454 -sub_02031454: ; 0x02031454 + thumb_func_start FUN_02031454 +FUN_02031454: ; 0x02031454 ldr r0, _02031460 ; =0x021C59F4 mov r2, #0x1 ldr r1, [r0, #0x4] @@ -98960,8 +98960,8 @@ sub_02031454: ; 0x02031454 _02031460: .word 0x021C59F4 _02031464: .word 0x00000689 - thumb_func_start sub_02031468 -sub_02031468: ; 0x02031468 + thumb_func_start FUN_02031468 +FUN_02031468: ; 0x02031468 ldr r0, _02031478 ; =0x021C59F4 ldr r2, [r0, #0x4] cmp r2, #0x0 @@ -98975,20 +98975,20 @@ _02031476: _02031478: .word 0x021C59F4 _0203147C: .word 0x0000068A - thumb_func_start sub_02031480 -sub_02031480: ; 0x02031480 + thumb_func_start FUN_02031480 +FUN_02031480: ; 0x02031480 push {r4, lr} ldr r1, _020314C8 ; =0x021C59FC ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0203149C ldr r1, _020314CC ; =0x00000253 - bl sub_02016998 + bl FUN_02016998 ldr r1, _020314C8 ; =0x021C59FC ldr r2, _020314CC ; =0x00000253 str r0, [r1, #0x0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C _0203149C: ldr r1, _020314C8 ; =0x021C59FC mov r3, #0x0 @@ -99017,12 +99017,12 @@ _020314A2: _020314C8: .word 0x021C59FC _020314CC: .word 0x00000253 - thumb_func_start sub_020314D0 -sub_020314D0: ; 0x020314D0 + thumb_func_start FUN_020314D0 +FUN_020314D0: ; 0x020314D0 push {r3, lr} ldr r0, _020314E4 ; =0x021C59FC ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _020314E4 ; =0x021C59FC mov r1, #0x0 str r1, [r0, #0x0] @@ -99030,8 +99030,8 @@ sub_020314D0: ; 0x020314D0 nop _020314E4: .word 0x021C59FC - thumb_func_start sub_020314E8 -sub_020314E8: ; 0x020314E8 + thumb_func_start FUN_020314E8 +FUN_020314E8: ; 0x020314E8 ldr r0, _020314F8 ; =0x021C59FC ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -99044,15 +99044,15 @@ _020314F4: .balign 4 _020314F8: .word 0x021C59FC - thumb_func_start sub_020314FC -sub_020314FC: ; 0x020314FC + thumb_func_start FUN_020314FC +FUN_020314FC: ; 0x020314FC push {r3-r6, lr} sub sp, #0x4 ldrb r1, [r2, #0x0] add r5, r0, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02031556 add r0, sp, #0x0 @@ -99062,7 +99062,7 @@ sub_020314FC: ; 0x020314FC add r1, sp, #0x0 mov r0, #0x12 add r1, #0x1 - bl sub_02030C4C + bl FUN_02030C4C ldr r6, _0203155C ; =0x021C59FC add r4, sp, #0x0 ldr r0, [r6, #0x0] @@ -99073,7 +99073,7 @@ sub_020314FC: ; 0x020314FC _02031530: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 beq _02031548 ldr r0, [r6, #0x0] @@ -99088,15 +99088,15 @@ _02031548: blt _02031530 mov r0, #0x11 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C _02031556: add sp, #0x4 pop {r3-r6, pc} nop _0203155C: .word 0x021C59FC - thumb_func_start sub_02031560 -sub_02031560: ; 0x02031560 + thumb_func_start FUN_02031560 +FUN_02031560: ; 0x02031560 ldr r0, _02031570 ; =0x021C59FC ldrb r3, [r2, #0x1] ldr r1, [r0, #0x0] @@ -99107,8 +99107,8 @@ sub_02031560: ; 0x02031560 nop _02031570: .word 0x021C59FC - thumb_func_start sub_02031574 -sub_02031574: ; 0x02031574 + thumb_func_start FUN_02031574 +FUN_02031574: ; 0x02031574 ldr r0, _02031584 ; =0x021C59FC ldrb r2, [r2, #0x0] ldr r1, [r0, #0x0] @@ -99119,8 +99119,8 @@ sub_02031574: ; 0x02031574 nop _02031584: .word 0x021C59FC - thumb_func_start sub_02031588 -sub_02031588: ; 0x02031588 + thumb_func_start FUN_02031588 +FUN_02031588: ; 0x02031588 ldr r2, _0203159C ; =0x021C59FC ldr r1, _020315A0 ; =0x00000251 ldr r3, [r2, #0x0] @@ -99134,8 +99134,8 @@ sub_02031588: ; 0x02031588 _0203159C: .word 0x021C59FC _020315A0: .word 0x00000251 - thumb_func_start sub_020315A4 -sub_020315A4: ; 0x020315A4 + thumb_func_start FUN_020315A4 +FUN_020315A4: ; 0x020315A4 push {r3, lr} ldr r0, _020315D0 ; =0x021C59FC ldr r2, [r0, #0x0] @@ -99148,7 +99148,7 @@ sub_020315A4: ; 0x020315A4 sub r1, r1, #0x1 mov r0, #0x10 add r1, r2, r1 - bl sub_020311D0 + bl FUN_020311D0 cmp r0, #0x0 beq _020315CE ldr r0, _020315D0 ; =0x021C59FC @@ -99162,8 +99162,8 @@ _020315CE: _020315D0: .word 0x021C59FC _020315D4: .word 0x00000252 - thumb_func_start sub_020315D8 -sub_020315D8: ; 0x020315D8 + thumb_func_start FUN_020315D8 +FUN_020315D8: ; 0x020315D8 ldr r1, _020315F8 ; =0x021C59FC ldr r2, [r1, #0x0] cmp r2, #0x0 @@ -99184,8 +99184,8 @@ _020315F2: nop _020315F8: .word 0x021C59FC - thumb_func_start sub_020315FC -sub_020315FC: ; 0x020315FC + thumb_func_start FUN_020315FC +FUN_020315FC: ; 0x020315FC ldr r1, _02031608 ; =0x021C59FC ldr r1, [r1, #0x0] add r0, r1, r0 @@ -99194,8 +99194,8 @@ sub_020315FC: ; 0x020315FC nop _02031608: .word 0x021C59FC - thumb_func_start sub_0203160C -sub_0203160C: ; 0x0203160C + thumb_func_start FUN_0203160C +FUN_0203160C: ; 0x0203160C push {r3-r4} lsl r4, r0, #0x1 ldr r0, _02031624 ; =0x021C59FC @@ -99211,25 +99211,25 @@ sub_0203160C: ; 0x0203160C .balign 4 _02031624: .word 0x021C59FC - thumb_func_start sub_02031628 -sub_02031628: ; 0x02031628 + thumb_func_start FUN_02031628 +FUN_02031628: ; 0x02031628 mov r0, #0x2 bx lr - thumb_func_start sub_0203162C -sub_0203162C: ; 0x0203162C + thumb_func_start FUN_0203162C +FUN_0203162C: ; 0x0203162C push {r3, lr} add r2, sp, #0x0 strb r0, [r2, #0x0] strb r1, [r2, #0x1] mov r0, #0x13 add r1, sp, #0x0 - bl sub_020311D0 + bl FUN_020311D0 pop {r3, pc} .balign 4 - thumb_func_start sub_02031640 -sub_02031640: ; 0x02031640 + thumb_func_start FUN_02031640 +FUN_02031640: ; 0x02031640 ldr r2, _02031664 ; =0x021C59FC ldr r3, [r2, #0x0] cmp r3, #0x0 @@ -99252,8 +99252,8 @@ _0203165C: nop _02031664: .word 0x021C59FC - thumb_func_start sub_02031668 -sub_02031668: ; 0x02031668 + thumb_func_start FUN_02031668 +FUN_02031668: ; 0x02031668 push {r3-r7, lr} mov r4, #0x0 ldr r6, _02031688 ; =0x021C59FC @@ -99264,7 +99264,7 @@ _02031672: add r1, r7, #0x0 add r0, r0, r5 mov r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x8 @@ -99273,8 +99273,8 @@ _02031672: .balign 4 _02031688: .word 0x021C59FC - thumb_func_start sub_0203168C -sub_0203168C: ; 0x0203168C + thumb_func_start FUN_0203168C +FUN_0203168C: ; 0x0203168C push {r3-r4} mov r4, #0x0 mov r0, #0x92 @@ -99293,8 +99293,8 @@ _02031698: .balign 4 _020316A8: .word 0x021C59FC - thumb_func_start sub_020316AC -sub_020316AC: ; 0x020316AC + thumb_func_start FUN_020316AC +FUN_020316AC: ; 0x020316AC push {r4, lr} ldr r2, _020316DC ; =0x021C59FC ldr r3, [r2, #0x0] @@ -99306,13 +99306,13 @@ sub_020316AC: ; 0x020316AC add r3, #0x18 add r0, r1, #0x0 add r1, r3, r4 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r1, _020316DC ; =0x021C59FC mov r0, #0x14 ldr r1, [r1, #0x0] add r1, #0x18 add r1, r1, r4 - bl sub_020311D0 + bl FUN_020311D0 mov r0, #0x1 pop {r4, pc} _020316D8: @@ -99321,8 +99321,8 @@ _020316D8: .balign 4 _020316DC: .word 0x021C59FC - thumb_func_start sub_020316E0 -sub_020316E0: ; 0x020316E0 + thumb_func_start FUN_020316E0 +FUN_020316E0: ; 0x020316E0 ldr r1, _02031700 ; =0x021C59FC ldr r3, [r1, #0x0] mov r1, #0x92 @@ -99342,8 +99342,8 @@ _020316FA: nop _02031700: .word 0x021C59FC - thumb_func_start sub_02031704 -sub_02031704: ; 0x02031704 + thumb_func_start FUN_02031704 +FUN_02031704: ; 0x02031704 push {r3-r5, lr} ldr r3, _0203172C ; =0x021C59FC add r1, r0, #0x0 @@ -99360,18 +99360,18 @@ sub_02031704: ; 0x02031704 add r4, #0x18 mul r3, r2 add r1, r4, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3-r5, pc} nop _0203172C: .word 0x021C59FC - thumb_func_start sub_02031730 -sub_02031730: ; 0x02031730 + thumb_func_start FUN_02031730 +FUN_02031730: ; 0x02031730 mov r0, #0x46 bx lr - thumb_func_start sub_02031734 -sub_02031734: ; 0x02031734 + thumb_func_start FUN_02031734 +FUN_02031734: ; 0x02031734 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020317BC ; =0x021C5A00 @@ -99379,15 +99379,15 @@ sub_02031734: ; 0x02031734 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _020317B8 - bl sub_0202E49C + bl FUN_0202E49C mov r0, #0xf mov r1, #0x50 - bl sub_02016998 + bl FUN_02016998 ldr r1, _020317BC ; =0x021C5A00 mov r2, #0x50 str r0, [r1, #0x0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _020317BC ; =0x021C5A00 mov r2, #0x32 ldr r1, [r0, #0x0] @@ -99399,7 +99399,7 @@ sub_02031734: ; 0x02031734 ldr r0, [r0, #0x0] str r5, [r0, #0x28] add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 ldr r1, _020317BC ; =0x021C5A00 ldr r2, [r1, #0x0] str r0, [r2, #0x2c] @@ -99419,37 +99419,37 @@ sub_02031734: ; 0x02031734 strb r4, [r0, #0x0] ldr r0, [r1, #0x0] add r0, #0xc - bl sub_020312BC + bl FUN_020312BC mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 - bl sub_0202D8D0 + bl FUN_0202D8D0 cmp r4, #0x9 beq _020317B8 cmp r4, #0x11 beq _020317B8 cmp r4, #0xf beq _020317B8 - bl sub_02033E74 + bl FUN_02033E74 _020317B8: pop {r3-r5, pc} nop _020317BC: .word 0x021C5A00 - thumb_func_start sub_020317C0 -sub_020317C0: ; 0x020317C0 + thumb_func_start FUN_020317C0 +FUN_020317C0: ; 0x020317C0 push {r3, lr} ldr r0, _0203180C ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0203180A - bl sub_0202D918 + bl FUN_0202D918 ldr r0, _0203180C ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 beq _020317DC - bl sub_02016A18 + bl FUN_02016A18 _020317DC: ldr r0, _0203180C ; =0x021C5A00 ldr r0, [r0, #0x0] @@ -99458,15 +99458,15 @@ _020317DC: cmp r0, #0x13 blo _020317EE mov r0, #0x31 - bl sub_020168D0 + bl FUN_020168D0 _020317EE: - bl sub_02033ED0 - bl sub_0202E4F0 + bl FUN_02033ED0 + bl FUN_0202E4F0 ldr r0, _0203180C ; =0x021C5A00 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xf - bl sub_020168D0 + bl FUN_020168D0 ldr r0, _0203180C ; =0x021C5A00 mov r1, #0x0 str r1, [r0, #0x0] @@ -99475,8 +99475,8 @@ _0203180A: .balign 4 _0203180C: .word 0x021C5A00 - thumb_func_start sub_02031810 -sub_02031810: ; 0x02031810 + thumb_func_start FUN_02031810 +FUN_02031810: ; 0x02031810 ldr r0, _02031820 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -99489,8 +99489,8 @@ _0203181C: .balign 4 _02031820: .word 0x021C5A00 - thumb_func_start sub_02031824 -sub_02031824: ; 0x02031824 + thumb_func_start FUN_02031824 +FUN_02031824: ; 0x02031824 push {r4, lr} add r4, r0, #0x0 ldr r0, _02031858 ; =0x021C5A00 @@ -99501,59 +99501,59 @@ sub_02031824: ; 0x02031824 mov r0, #0x3 mov r1, #0xf lsl r2, r2, #0xc - bl sub_02016828 + bl FUN_02016828 add r0, r4, #0x0 mov r1, #0xa - bl sub_02031734 + bl FUN_02031734 ldr r0, _02031858 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x40 strb r1, [r0, #0x0] - ldr r0, _0203185C ; =sub_02031D30 + ldr r0, _0203185C ; =FUN_02031D30 mov r1, #0x32 - bl sub_02031D20 + bl FUN_02031D20 _02031856: pop {r4, pc} .balign 4 _02031858: .word 0x021C5A00 -_0203185C: .word sub_02031D30 + 1 +_0203185C: .word FUN_02031D30 + 1 - thumb_func_start sub_02031860 -sub_02031860: ; 0x02031860 + thumb_func_start FUN_02031860 +FUN_02031860: ; 0x02031860 push {r3, lr} ldr r0, _02031878 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02031876 - bl sub_02031468 - ldr r0, _0203187C ; =sub_020323CC + bl FUN_02031468 + ldr r0, _0203187C ; =FUN_020323CC mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02031876: pop {r3, pc} .balign 4 _02031878: .word 0x021C5A00 -_0203187C: .word sub_020323CC + 1 +_0203187C: .word FUN_020323CC + 1 - thumb_func_start sub_02031880 -sub_02031880: ; 0x02031880 + thumb_func_start FUN_02031880 +FUN_02031880: ; 0x02031880 push {r3, lr} - bl sub_0202FC60 - bl sub_02031190 + bl FUN_0202FC60 + bl FUN_02031190 ldr r1, _0203189C ; =0x021C5A00 ldr r1, [r1, #0x0] strh r0, [r1, #0x38] - ldr r0, _020318A0 ; =sub_020321B8 + ldr r0, _020318A0 ; =FUN_020321B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} nop _0203189C: .word 0x021C5A00 -_020318A0: .word sub_020321B8 + 1 +_020318A0: .word FUN_020321B8 + 1 - thumb_func_start sub_020318A4 -sub_020318A4: ; 0x020318A4 + thumb_func_start FUN_020318A4 +FUN_020318A4: ; 0x020318A4 ldr r1, _020318B0 ; =0x021C5A00 ldr r1, [r1, #0x0] add r1, #0x4f @@ -99562,18 +99562,18 @@ sub_020318A4: ; 0x020318A4 nop _020318B0: .word 0x021C5A00 - thumb_func_start sub_020318B4 -sub_020318B4: ; 0x020318B4 - ldr r3, _020318BC ; =sub_02031D20 - ldr r0, _020318C0 ; =sub_02032028 + thumb_func_start FUN_020318B4 +FUN_020318B4: ; 0x020318B4 + ldr r3, _020318BC ; =FUN_02031D20 + ldr r0, _020318C0 ; =FUN_02032028 mov r1, #0x0 bx r3 .balign 4 -_020318BC: .word sub_02031D20 + 1 -_020318C0: .word sub_02032028 + 1 +_020318BC: .word FUN_02031D20 + 1 +_020318C0: .word FUN_02032028 + 1 - thumb_func_start sub_020318C4 -sub_020318C4: ; 0x020318C4 + thumb_func_start FUN_020318C4 +FUN_020318C4: ; 0x020318C4 push {r4} sub sp, #0xc ldr r4, _0203190C ; =0x020EEC50 @@ -99618,18 +99618,18 @@ _02031904: _0203190C: .word 0x020EEC50 _02031910: .word 0x021C5A00 - thumb_func_start sub_02031914 -sub_02031914: ; 0x02031914 - ldr r3, _0203191C ; =sub_02031D20 - ldr r0, _02031920 ; =sub_02032178 + thumb_func_start FUN_02031914 +FUN_02031914: ; 0x02031914 + ldr r3, _0203191C ; =FUN_02031D20 + ldr r0, _02031920 ; =FUN_02032178 mov r1, #0x0 bx r3 .balign 4 -_0203191C: .word sub_02031D20 + 1 -_02031920: .word sub_02032178 + 1 +_0203191C: .word FUN_02031D20 + 1 +_02031920: .word FUN_02032178 + 1 - thumb_func_start sub_02031924 -sub_02031924: ; 0x02031924 + thumb_func_start FUN_02031924 +FUN_02031924: ; 0x02031924 ldr r0, _02031930 ; =0x021C5A00 mov r1, #0x1 ldr r0, [r0, #0x0] @@ -99639,34 +99639,34 @@ sub_02031924: ; 0x02031924 .balign 4 _02031930: .word 0x021C5A00 - thumb_func_start sub_02031934 -sub_02031934: ; 0x02031934 + thumb_func_start FUN_02031934 +FUN_02031934: ; 0x02031934 push {r3, lr} - bl sub_0202E49C - ldr r0, _02031944 ; =sub_02032194 + bl FUN_0202E49C + ldr r0, _02031944 ; =FUN_02032194 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_02031944: .word sub_02032194 + 1 +_02031944: .word FUN_02032194 + 1 - thumb_func_start sub_02031948 -sub_02031948: ; 0x02031948 + thumb_func_start FUN_02031948 +FUN_02031948: ; 0x02031948 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02031980 ldr r2, _02031984 ; =0x00007080 mov r0, #0x3 mov r1, #0xf - bl sub_02016828 + bl FUN_02016828 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02031734 + bl FUN_02031734 ldr r0, _02031988 ; =0x021C5A00 ldr r1, [r0, #0x0] add r1, #0x40 @@ -99674,32 +99674,32 @@ sub_02031948: ; 0x02031948 ldr r0, [r0, #0x0] mov r1, #0x0 str r4, [r0, #0x30] - ldr r0, _0203198C ; =sub_020321D0 - bl sub_02031D20 + ldr r0, _0203198C ; =FUN_020321D0 + bl FUN_02031D20 _02031980: pop {r3-r7, pc} nop _02031984: .word 0x00007080 _02031988: .word 0x021C5A00 -_0203198C: .word sub_020321D0 + 1 +_0203198C: .word FUN_020321D0 + 1 - thumb_func_start sub_02031990 -sub_02031990: ; 0x02031990 + thumb_func_start FUN_02031990 +FUN_02031990: ; 0x02031990 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _020319C8 ldr r2, _020319CC ; =0x00007080 mov r0, #0x3 mov r1, #0xf - bl sub_02016828 + bl FUN_02016828 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02031734 + bl FUN_02031734 ldr r0, _020319D0 ; =0x021C5A00 ldr r1, [r0, #0x0] add r1, #0x40 @@ -99707,66 +99707,66 @@ sub_02031990: ; 0x02031990 ldr r0, [r0, #0x0] mov r1, #0x0 str r4, [r0, #0x30] - ldr r0, _020319D4 ; =sub_0203224C - bl sub_02031D20 + ldr r0, _020319D4 ; =FUN_0203224C + bl FUN_02031D20 _020319C8: pop {r3-r7, pc} nop _020319CC: .word 0x00007080 _020319D0: .word 0x021C5A00 -_020319D4: .word sub_0203224C + 1 +_020319D4: .word FUN_0203224C + 1 - thumb_func_start sub_020319D8 -sub_020319D8: ; 0x020319D8 + thumb_func_start FUN_020319D8 +FUN_020319D8: ; 0x020319D8 ldr r1, _020319E8 ; =0x021C5A00 - ldr r3, _020319EC ; =sub_02031D20 + ldr r3, _020319EC ; =FUN_02031D20 ldr r1, [r1, #0x0] add r1, #0x3e strb r0, [r1, #0x0] - ldr r0, _020319F0 ; =sub_02032298 + ldr r0, _020319F0 ; =FUN_02032298 mov r1, #0x0 bx r3 .balign 4 _020319E8: .word 0x021C5A00 -_020319EC: .word sub_02031D20 + 1 -_020319F0: .word sub_02032298 + 1 +_020319EC: .word FUN_02031D20 + 1 +_020319F0: .word FUN_02032298 + 1 - thumb_func_start sub_020319F4 -sub_020319F4: ; 0x020319F4 + thumb_func_start FUN_020319F4 +FUN_020319F4: ; 0x020319F4 push {r3, lr} - bl sub_0202FCA8 - ldr r0, _02031A04 ; =sub_02032364 + bl FUN_0202FCA8 + ldr r0, _02031A04 ; =FUN_02032364 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_02031A04: .word sub_02032364 + 1 +_02031A04: .word FUN_02032364 + 1 - thumb_func_start sub_02031A08 -sub_02031A08: ; 0x02031A08 + thumb_func_start FUN_02031A08 +FUN_02031A08: ; 0x02031A08 push {r3, lr} ldr r0, _02031A1C ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02031A1A - ldr r0, _02031A20 ; =sub_02032440 + ldr r0, _02031A20 ; =FUN_02032440 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 _02031A1A: pop {r3, pc} .balign 4 _02031A1C: .word 0x021C5A00 -_02031A20: .word sub_02032440 + 1 +_02031A20: .word FUN_02032440 + 1 - thumb_func_start sub_02031A24 -sub_02031A24: ; 0x02031A24 - ldr r3, _02031A28 ; =sub_0202D298 + thumb_func_start FUN_02031A24 +FUN_02031A24: ; 0x02031A24 + ldr r3, _02031A28 ; =FUN_0202D298 bx r3 .balign 4 -_02031A28: .word sub_0202D298 + 1 +_02031A28: .word FUN_0202D298 + 1 - thumb_func_start sub_02031A2C -sub_02031A2C: ; 0x02031A2C + thumb_func_start FUN_02031A2C +FUN_02031A2C: ; 0x02031A2C push {r4} sub sp, #0xc ldr r4, _02031A74 ; =0x020EEC5C @@ -99811,8 +99811,8 @@ _02031A6C: _02031A74: .word 0x020EEC5C _02031A78: .word 0x021C5A00 - thumb_func_start sub_02031A7C -sub_02031A7C: ; 0x02031A7C + thumb_func_start FUN_02031A7C +FUN_02031A7C: ; 0x02031A7C push {r4, lr} add r4, r0, #0x0 ldr r0, _02031ABC ; =0x021C5A00 @@ -99822,14 +99822,14 @@ sub_02031A7C: ; 0x02031A7C ldr r2, _02031AC0 ; =0x00007080 mov r0, #0x3 mov r1, #0xf - bl sub_02016828 + bl FUN_02016828 cmp r0, #0x0 bne _02031A9A - bl sub_020335E0 + bl FUN_020335E0 _02031A9A: add r0, r4, #0x0 mov r1, #0x9 - bl sub_02031734 + bl FUN_02031734 ldr r0, _02031ABC ; =0x021C5A00 mov r2, #0x9 ldr r1, [r0, #0x0] @@ -99839,17 +99839,17 @@ _02031A9A: mov r1, #0x0 add r0, #0x40 strb r1, [r0, #0x0] - ldr r0, _02031AC4 ; =sub_02032478 - bl sub_02031D20 + ldr r0, _02031AC4 ; =FUN_02032478 + bl FUN_02031D20 _02031ABA: pop {r4, pc} .balign 4 _02031ABC: .word 0x021C5A00 _02031AC0: .word 0x00007080 -_02031AC4: .word sub_02032478 + 1 +_02031AC4: .word FUN_02032478 + 1 - thumb_func_start sub_02031AC8 -sub_02031AC8: ; 0x02031AC8 + thumb_func_start FUN_02031AC8 +FUN_02031AC8: ; 0x02031AC8 push {r3, lr} ldr r1, _02031AEC ; =0x021C5A00 ldr r2, [r1, #0x0] @@ -99859,18 +99859,18 @@ sub_02031AC8: ; 0x02031AC8 mov r2, #0x3 strh r2, [r0, #0x38] mov r0, #0x1 - bl sub_0202D344 - bl sub_02033E74 - ldr r0, _02031AF0 ; =sub_02032628 + bl FUN_0202D344 + bl FUN_02033E74 + ldr r0, _02031AF0 ; =FUN_02032628 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 _02031AEC: .word 0x021C5A00 -_02031AF0: .word sub_02032628 + 1 +_02031AF0: .word FUN_02032628 + 1 - thumb_func_start sub_02031AF4 -sub_02031AF4: ; 0x02031AF4 + thumb_func_start FUN_02031AF4 +FUN_02031AF4: ; 0x02031AF4 ldr r0, _02031B20 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -99880,13 +99880,13 @@ sub_02031AF4: ; 0x02031AF4 bx lr _02031B02: ldr r1, [r0, #0x24] - ldr r0, _02031B24 ; =sub_0203279C + ldr r0, _02031B24 ; =FUN_0203279C cmp r1, r0 bne _02031B0E mov r0, #0x1 bx lr _02031B0E: - ldr r0, _02031B28 ; =sub_020327B4 + ldr r0, _02031B28 ; =FUN_020327B4 cmp r1, r0 bne _02031B18 mov r0, #0x1 @@ -99898,11 +99898,11 @@ _02031B1A: bx lr nop _02031B20: .word 0x021C5A00 -_02031B24: .word sub_0203279C + 1 -_02031B28: .word sub_020327B4 + 1 +_02031B24: .word FUN_0203279C + 1 +_02031B28: .word FUN_020327B4 + 1 - thumb_func_start sub_02031B2C -sub_02031B2C: ; 0x02031B2C + thumb_func_start FUN_02031B2C +FUN_02031B2C: ; 0x02031B2C ldr r0, _02031B48 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -99911,7 +99911,7 @@ sub_02031B2C: ; 0x02031B2C bx lr _02031B38: ldr r1, [r0, #0x24] - ldr r0, _02031B4C ; =sub_020327FC + ldr r0, _02031B4C ; =FUN_020327FC cmp r1, r0 bne _02031B44 mov r0, #0x1 @@ -99921,13 +99921,13 @@ _02031B44: bx lr .balign 4 _02031B48: .word 0x021C5A00 -_02031B4C: .word sub_020327FC + 1 +_02031B4C: .word FUN_020327FC + 1 - thumb_func_start sub_02031B50 -sub_02031B50: ; 0x02031B50 + thumb_func_start FUN_02031B50 +FUN_02031B50: ; 0x02031B50 push {r3, lr} mov r0, #0x0 - bl sub_0202D344 + bl FUN_0202D344 ldr r0, _02031BC4 ; =0x021C5A00 ldr r1, [r0, #0x0] add r0, r1, #0x0 @@ -99947,9 +99947,9 @@ sub_02031B50: ; 0x02031B50 _02031B78: mov r0, #0x0 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 _02031B80: - bl sub_02033ED0 + bl FUN_02033ED0 ldr r0, _02031BC4 ; =0x021C5A00 mov r2, #0x9 ldr r1, [r0, #0x0] @@ -99962,28 +99962,28 @@ _02031B80: ldr r0, [r0, #0x0] add r0, #0x3c ldrb r0, [r0, #0x0] - bl sub_0202D1B0 - bl sub_02031190 + bl FUN_0202D1B0 + bl FUN_02031190 cmp r0, #0x0 bne _02031BB8 mov r0, #0x1 - bl sub_0202D36C - ldr r0, _02031BC8 ; =sub_020323DC + bl FUN_0202D36C + ldr r0, _02031BC8 ; =FUN_020323DC mov r1, #0xf - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031BB8: - ldr r0, _02031BCC ; =sub_02032424 + ldr r0, _02031BCC ; =FUN_02032424 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} nop _02031BC4: .word 0x021C5A00 -_02031BC8: .word sub_020323DC + 1 -_02031BCC: .word sub_02032424 + 1 +_02031BC8: .word FUN_020323DC + 1 +_02031BCC: .word FUN_02032424 + 1 - thumb_func_start sub_02031BD0 -sub_02031BD0: ; 0x02031BD0 + thumb_func_start FUN_02031BD0 +FUN_02031BD0: ; 0x02031BD0 ldr r0, _02031BEC ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -99992,7 +99992,7 @@ sub_02031BD0: ; 0x02031BD0 bx lr _02031BDC: ldr r1, [r0, #0x24] - ldr r0, _02031BF0 ; =sub_020324F8 + ldr r0, _02031BF0 ; =FUN_020324F8 cmp r1, r0 beq _02031BE8 mov r0, #0x1 @@ -100002,26 +100002,26 @@ _02031BE8: bx lr .balign 4 _02031BEC: .word 0x021C5A00 -_02031BF0: .word sub_020324F8 + 1 +_02031BF0: .word FUN_020324F8 + 1 - thumb_func_start sub_02031BF4 -sub_02031BF4: ; 0x02031BF4 + thumb_func_start FUN_02031BF4 +FUN_02031BF4: ; 0x02031BF4 push {r3, lr} ldr r0, _02031C08 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02031C06 - ldr r0, _02031C0C ; =sub_02032440 + ldr r0, _02031C0C ; =FUN_02032440 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 _02031C06: pop {r3, pc} .balign 4 _02031C08: .word 0x021C5A00 -_02031C0C: .word sub_02032440 + 1 +_02031C0C: .word FUN_02032440 + 1 - thumb_func_start sub_02031C10 -sub_02031C10: ; 0x02031C10 + thumb_func_start FUN_02031C10 +FUN_02031C10: ; 0x02031C10 push {r3, lr} ldr r0, _02031C28 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -100030,14 +100030,14 @@ sub_02031C10: ; 0x02031C10 mov r0, #0x1 add r1, #0x48 strb r0, [r1, #0x0] - bl sub_0202D344 + bl FUN_0202D344 _02031C24: pop {r3, pc} nop _02031C28: .word 0x021C5A00 - thumb_func_start sub_02031C2C -sub_02031C2C: ; 0x02031C2C + thumb_func_start FUN_02031C2C +FUN_02031C2C: ; 0x02031C2C push {r3, lr} ldr r0, _02031C4C ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -100046,18 +100046,18 @@ sub_02031C2C: ; 0x02031C2C mov r0, #0x1 add r1, #0x48 strb r0, [r1, #0x0] - bl sub_0202D344 - ldr r0, _02031C50 ; =sub_02032850 + bl FUN_0202D344 + ldr r0, _02031C50 ; =FUN_02032850 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02031C48: pop {r3, pc} nop _02031C4C: .word 0x021C5A00 -_02031C50: .word sub_02032850 + 1 +_02031C50: .word FUN_02032850 + 1 - thumb_func_start sub_02031C54 -sub_02031C54: ; 0x02031C54 + thumb_func_start FUN_02031C54 +FUN_02031C54: ; 0x02031C54 ldr r0, _02031C60 ; =0x021C5A00 mov r1, #0x12 ldr r0, [r0, #0x0] @@ -100067,8 +100067,8 @@ sub_02031C54: ; 0x02031C54 .balign 4 _02031C60: .word 0x021C5A00 - thumb_func_start sub_02031C64 -sub_02031C64: ; 0x02031C64 + thumb_func_start FUN_02031C64 +FUN_02031C64: ; 0x02031C64 ldr r0, _02031C70 ; =0x021C5A00 mov r1, #0x9 ldr r0, [r0, #0x0] @@ -100078,56 +100078,56 @@ sub_02031C64: ; 0x02031C64 .balign 4 _02031C70: .word 0x021C5A00 - thumb_func_start sub_02031C74 -sub_02031C74: ; 0x02031C74 + thumb_func_start FUN_02031C74 +FUN_02031C74: ; 0x02031C74 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02031C9C ldr r2, _02031CA0 ; =0x00007080 mov r0, #0x3 mov r1, #0xf - bl sub_02016828 + bl FUN_02016828 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02031734 - ldr r0, _02031CA4 ; =sub_02032E00 + bl FUN_02031734 + ldr r0, _02031CA4 ; =FUN_02032E00 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02031C9C: pop {r3-r5, pc} nop _02031CA0: .word 0x00007080 -_02031CA4: .word sub_02032E00 + 1 +_02031CA4: .word FUN_02032E00 + 1 - thumb_func_start sub_02031CA8 -sub_02031CA8: ; 0x02031CA8 + thumb_func_start FUN_02031CA8 +FUN_02031CA8: ; 0x02031CA8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02031CD0 ldr r2, _02031CD4 ; =0x00007080 mov r0, #0x3 mov r1, #0xf - bl sub_02016828 + bl FUN_02016828 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02031734 - ldr r0, _02031CD8 ; =sub_02032E48 + bl FUN_02031734 + ldr r0, _02031CD8 ; =FUN_02032E48 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02031CD0: pop {r3-r5, pc} nop _02031CD4: .word 0x00007080 -_02031CD8: .word sub_02032E48 + 1 +_02031CD8: .word FUN_02032E48 + 1 - thumb_func_start sub_02031CDC -sub_02031CDC: ; 0x02031CDC + thumb_func_start FUN_02031CDC +FUN_02031CDC: ; 0x02031CDC push {r3, lr} ldr r0, _02031D1C ; =0x021C5A00 ldr r0, [r0, #0x0] @@ -100138,29 +100138,29 @@ sub_02031CDC: ; 0x02031CDC beq _02031CEE blx r0 _02031CEE: - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 beq _02031D04 - blx sub_021DDB08 + blx FUN_021DDB08 mov r1, #0x3 sub r0, r1, r0 - bl sub_02033EEC + bl FUN_02033EEC pop {r3, pc} _02031D04: - bl sub_0202EDF8 + bl FUN_0202EDF8 cmp r0, #0x0 beq _02031D18 - blx sub_020D8B94 + blx FUN_020D8B94 mov r1, #0x3 sub r0, r1, r0 - bl sub_02033EEC + bl FUN_02033EEC _02031D18: pop {r3, pc} nop _02031D1C: .word 0x021C5A00 - thumb_func_start sub_02031D20 -sub_02031D20: ; 0x02031D20 + thumb_func_start FUN_02031D20 +FUN_02031D20: ; 0x02031D20 ldr r2, _02031D2C ; =0x021C5A00 ldr r3, [r2, #0x0] str r0, [r3, #0x24] @@ -100170,8 +100170,8 @@ sub_02031D20: ; 0x02031D20 .balign 4 _02031D2C: .word 0x021C5A00 - thumb_func_start sub_02031D30 -sub_02031D30: ; 0x02031D30 + thumb_func_start FUN_02031D30 +FUN_02031D30: ; 0x02031D30 push {r3-r5, lr} ldr r0, _02031DF8 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -100182,21 +100182,21 @@ sub_02031D30: ; 0x02031D30 strh r0, [r1, #0x3a] pop {r3-r5, pc} _02031D42: - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02031DF6 ldr r0, _02031DF8 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02031DF8 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 - bl sub_02031268 - bl sub_02030FA8 + bl FUN_02031268 + bl FUN_02030FA8 ldr r0, _02031DF8 ; =0x021C5A00 ldr r1, [r0, #0x0] add r0, r1, #0x0 @@ -100210,7 +100210,7 @@ _02031D42: mov r2, #0x7d lsl r2, r2, #0x2 add r3, r0, #0x0 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _02031DF6 ldr r0, _02031DF8 ; =0x021C5A00 @@ -100221,7 +100221,7 @@ _02031D42: ldr r1, [r4, #0xc] ldr r2, [r5, #0xc] ldr r3, [r4, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r4, #0x10] ldr r3, [r4, #0x14] add r0, r2, r0 @@ -100232,20 +100232,20 @@ _02031D42: mov r1, #0x0 mov r2, #0x14 mov r3, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r0, #0x0 add r5, #0x43 strb r0, [r5, #0x0] - ldr r0, _02031DFC ; =sub_020320C4 + ldr r0, _02031DFC ; =FUN_020320C4 add r1, #0x14 - bl sub_02031D20 + bl FUN_02031D20 pop {r3-r5, pc} _02031DC8: mov r0, #0x1 mov r2, #0x7d add r1, r0, #0x0 lsl r2, r2, #0x2 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02031DF6 ldr r0, _02031DF8 ; =0x021C5A00 @@ -100254,47 +100254,47 @@ _02031DC8: ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02031DEE - ldr r0, _02031E00 ; =sub_020323B8 + ldr r0, _02031E00 ; =FUN_020323B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3-r5, pc} _02031DEE: - ldr r0, _02031E04 ; =sub_02031EE0 + ldr r0, _02031E04 ; =FUN_02031EE0 mov r1, #0x40 - bl sub_02031D20 + bl FUN_02031D20 _02031DF6: pop {r3-r5, pc} .balign 4 _02031DF8: .word 0x021C5A00 -_02031DFC: .word sub_020320C4 + 1 -_02031E00: .word sub_020323B8 + 1 -_02031E04: .word sub_02031EE0 + 1 +_02031DFC: .word FUN_020320C4 + 1 +_02031E00: .word FUN_020323B8 + 1 +_02031E04: .word FUN_02031EE0 + 1 - thumb_func_start sub_02031E08 -sub_02031E08: ; 0x02031E08 + thumb_func_start FUN_02031E08 +FUN_02031E08: ; 0x02031E08 push {r3-r5, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _02031E7C mov r0, #0x1 - bl sub_02031268 - bl sub_02030FA8 + bl FUN_02031268 + bl FUN_02030FA8 ldr r0, _02031E80 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x4a ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _02031E32 - ldr r0, _02031E84 ; =sub_02032058 + ldr r0, _02031E84 ; =FUN_02032058 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3-r5, pc} _02031E32: mov r2, #0x7d mov r0, #0x0 mov r1, #0x1 lsl r2, r2, #0x2 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02031E7C ldr r0, _02031E80 ; =0x021C5A00 @@ -100305,7 +100305,7 @@ _02031E32: ldr r1, [r4, #0xc] ldr r2, [r5, #0xc] ldr r3, [r4, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r4, #0x10] ldr r3, [r4, #0x14] add r0, r2, r0 @@ -100323,26 +100323,26 @@ _02031E32: mov r0, #0x0 strh r0, [r5, #0x38] _02031E76: - ldr r0, _02031E88 ; =sub_02031EE0 - bl sub_02031D20 + ldr r0, _02031E88 ; =FUN_02031EE0 + bl FUN_02031D20 _02031E7C: pop {r3-r5, pc} nop _02031E80: .word 0x021C5A00 -_02031E84: .word sub_02032058 + 1 -_02031E88: .word sub_02031EE0 + 1 +_02031E84: .word FUN_02032058 + 1 +_02031E88: .word FUN_02031EE0 + 1 - thumb_func_start sub_02031E8C -sub_02031E8C: ; 0x02031E8C + thumb_func_start FUN_02031E8C +FUN_02031E8C: ; 0x02031E8C push {r3-r5, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _02031ED6 mov r0, #0x0 mov r2, #0x7d add r1, r0, #0x0 lsl r2, r2, #0x2 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02031ED6 ldr r0, _02031ED8 ; =0x021C5A00 @@ -100353,7 +100353,7 @@ sub_02031E8C: ; 0x02031E8C ldr r1, [r5, #0xc] ldr r2, [r4, #0xc] ldr r3, [r5, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r5, #0x10] ldr r3, [r5, #0x14] add r0, r2, r0 @@ -100363,20 +100363,20 @@ sub_02031E8C: ; 0x02031E8C lsr r2, r3, #0x1b lsl r1, r1, #0x5 orr r1, r2 - ldr r0, _02031EDC ; =sub_02031EE0 + ldr r0, _02031EDC ; =FUN_02031EE0 add r1, #0x10 str r3, [r5, #0x4] - bl sub_02031D20 + bl FUN_02031D20 _02031ED6: pop {r3-r5, pc} .balign 4 _02031ED8: .word 0x021C5A00 -_02031EDC: .word sub_02031EE0 + 1 +_02031EDC: .word FUN_02031EE0 + 1 - thumb_func_start sub_02031EE0 -sub_02031EE0: ; 0x02031EE0 + thumb_func_start FUN_02031EE0 +FUN_02031EE0: ; 0x02031EE0 push {r3, lr} - bl sub_0202EA54 + bl FUN_0202EA54 ldr r0, _02031F54 ; =0x021C5A00 ldr r1, [r0, #0x0] add r0, r1, #0x0 @@ -100388,7 +100388,7 @@ sub_02031EE0: ; 0x02031EE0 ldrb r0, [r1, #0x0] cmp r0, #0x0 bne _02031F50 - bl sub_0202E8F4 + bl FUN_0202E8F4 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -100397,9 +100397,9 @@ sub_02031EE0: ; 0x02031EE0 ldr r1, [r1, #0x0] add r1, #0x3e strb r0, [r1, #0x0] - ldr r0, _02031F58 ; =sub_02031F60 + ldr r0, _02031F58 ; =FUN_02031F60 mov r1, #0x20 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031F1A: ldr r0, _02031F54 ; =0x021C5A00 @@ -100411,7 +100411,7 @@ _02031F1A: strh r0, [r1, #0x3a] pop {r3, pc} _02031F2A: - bl sub_0202E950 + bl FUN_0202E950 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -100420,50 +100420,50 @@ _02031F2A: ldr r1, [r1, #0x0] add r1, #0x3e strb r0, [r1, #0x0] - ldr r0, _02031F58 ; =sub_02031F60 + ldr r0, _02031F58 ; =FUN_02031F60 mov r1, #0x20 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031F48: - ldr r0, _02031F5C ; =sub_02032028 + ldr r0, _02031F5C ; =FUN_02032028 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02031F50: pop {r3, pc} nop _02031F54: .word 0x021C5A00 -_02031F58: .word sub_02031F60 + 1 -_02031F5C: .word sub_02032028 + 1 +_02031F58: .word FUN_02031F60 + 1 +_02031F5C: .word FUN_02032028 + 1 - thumb_func_start sub_02031F60 -sub_02031F60: ; 0x02031F60 + thumb_func_start FUN_02031F60 +FUN_02031F60: ; 0x02031F60 push {r3, lr} - bl sub_0202EA54 + bl FUN_0202EA54 ldr r0, _02031FBC ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202E8A0 + bl FUN_0202E8A0 cmp r0, #0x0 beq _02031F90 ldr r0, _02031FBC ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202FB18 + bl FUN_0202FB18 cmp r0, #0x0 beq _02031F90 - ldr r0, _02031FC0 ; =sub_02031FC8 + ldr r0, _02031FC0 ; =FUN_02031FC8 mov r1, #0x64 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031F90: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _02031FA2 - ldr r0, _02031FC4 ; =sub_02032028 + ldr r0, _02031FC4 ; =FUN_02032028 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031FA2: ldr r0, _02031FBC ; =0x021C5A00 @@ -100475,37 +100475,37 @@ _02031FA2: strh r0, [r1, #0x3a] pop {r3, pc} _02031FB2: - ldr r0, _02031FC4 ; =sub_02032028 + ldr r0, _02031FC4 ; =FUN_02032028 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 _02031FBC: .word 0x021C5A00 -_02031FC0: .word sub_02031FC8 + 1 -_02031FC4: .word sub_02032028 + 1 +_02031FC0: .word FUN_02031FC8 + 1 +_02031FC4: .word FUN_02032028 + 1 - thumb_func_start sub_02031FC8 -sub_02031FC8: ; 0x02031FC8 + thumb_func_start FUN_02031FC8 +FUN_02031FC8: ; 0x02031FC8 push {r3, lr} - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _02031FEE - bl sub_0202FC60 + bl FUN_0202FC60 mov r0, #0x0 - bl sub_02031268 - bl sub_02030FA8 - ldr r0, _0203201C ; =sub_0203213C + bl FUN_02031268 + bl FUN_02030FA8 + ldr r0, _0203201C ; =FUN_0203213C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02031FEE: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _02032000 - ldr r0, _02032020 ; =sub_02032028 + ldr r0, _02032020 ; =FUN_02032028 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032000: ldr r0, _02032024 ; =0x021C5A00 @@ -100517,51 +100517,51 @@ _02032000: strh r0, [r1, #0x3a] pop {r3, pc} _02032010: - ldr r0, _02032020 ; =sub_02032028 + ldr r0, _02032020 ; =FUN_02032028 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} nop -_0203201C: .word sub_0203213C + 1 -_02032020: .word sub_02032028 + 1 +_0203201C: .word FUN_0203213C + 1 +_02032020: .word FUN_02032028 + 1 _02032024: .word 0x021C5A00 - thumb_func_start sub_02032028 -sub_02032028: ; 0x02032028 + thumb_func_start FUN_02032028 +FUN_02032028: ; 0x02032028 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203203A - ldr r0, _0203203C ; =sub_02032058 + ldr r0, _0203203C ; =FUN_02032058 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203203A: pop {r3, pc} .balign 4 -_0203203C: .word sub_02032058 + 1 +_0203203C: .word FUN_02032058 + 1 - thumb_func_start sub_02032040 -sub_02032040: ; 0x02032040 + thumb_func_start FUN_02032040 +FUN_02032040: ; 0x02032040 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _02032052 - ldr r0, _02032054 ; =sub_02031E8C + ldr r0, _02032054 ; =FUN_02031E8C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032052: pop {r3, pc} .balign 4 -_02032054: .word sub_02031E8C + 1 +_02032054: .word FUN_02031E8C + 1 - thumb_func_start sub_02032058 -sub_02032058: ; 0x02032058 + thumb_func_start FUN_02032058 +FUN_02032058: ; 0x02032058 push {r3-r5, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _020320BA mov r0, #0x1 - bl sub_02031268 + bl FUN_02031268 ldr r1, _020320BC ; =0x021C5A00 mov r2, #0x7d ldr r1, [r1, #0x0] @@ -100570,7 +100570,7 @@ sub_02032058: ; 0x02032058 ldrb r1, [r1, #0x0] lsl r2, r2, #0x2 mov r3, #0x1 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _020320BA ldr r0, _020320BC ; =0x021C5A00 @@ -100581,7 +100581,7 @@ sub_02032058: ; 0x02032058 ldr r1, [r4, #0xc] ldr r2, [r5, #0xc] ldr r3, [r4, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r4, #0x10] ldr r3, [r4, #0x14] add r0, r2, r0 @@ -100592,23 +100592,23 @@ sub_02032058: ; 0x02032058 mov r1, #0x0 mov r2, #0x14 mov r3, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r0, #0x0 add r5, #0x43 strb r0, [r5, #0x0] - ldr r0, _020320C0 ; =sub_020320C4 + ldr r0, _020320C0 ; =FUN_020320C4 add r1, #0x14 - bl sub_02031D20 + bl FUN_02031D20 _020320BA: pop {r3-r5, pc} .balign 4 _020320BC: .word 0x021C5A00 -_020320C0: .word sub_020320C4 + 1 +_020320C0: .word FUN_020320C4 + 1 - thumb_func_start sub_020320C4 -sub_020320C4: ; 0x020320C4 + thumb_func_start FUN_020320C4 +FUN_020320C4: ; 0x020320C4 push {r3, lr} - bl sub_020311E8 + bl FUN_020311E8 cmp r0, #0x0 beq _020320E2 ldr r0, _0203210C ; =0x021C5A00 @@ -100616,9 +100616,9 @@ sub_020320C4: ; 0x020320C4 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] - ldr r0, _02032110 ; =sub_02032118 + ldr r0, _02032110 ; =FUN_02032118 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020320E2: ldr r0, _0203210C ; =0x021C5A00 @@ -100634,46 +100634,46 @@ _020320F2: ldrb r0, [r1, #0x0] cmp r0, #0x0 bne _0203210A - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203210A - ldr r0, _02032114 ; =sub_02032040 + ldr r0, _02032114 ; =FUN_02032040 mov r1, #0x2 - bl sub_02031D20 + bl FUN_02031D20 _0203210A: pop {r3, pc} .balign 4 _0203210C: .word 0x021C5A00 -_02032110: .word sub_02032118 + 1 -_02032114: .word sub_02032040 + 1 +_02032110: .word FUN_02032118 + 1 +_02032114: .word FUN_02032040 + 1 - thumb_func_start sub_02032118 -sub_02032118: ; 0x02032118 + thumb_func_start FUN_02032118 +FUN_02032118: ; 0x02032118 push {r3, lr} mov r0, #0x0 - bl sub_02031268 + bl FUN_02031268 mov r0, #0x1 - bl sub_0202EE84 - bl sub_02030FA8 - ldr r0, _02032134 ; =sub_02032138 + bl FUN_0202EE84 + bl FUN_02030FA8 + ldr r0, _02032134 ; =FUN_02032138 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_02032134: .word sub_02032138 + 1 +_02032134: .word FUN_02032138 + 1 - thumb_func_start sub_02032138 -sub_02032138: ; 0x02032138 + thumb_func_start FUN_02032138 +FUN_02032138: ; 0x02032138 bx lr .balign 4 - thumb_func_start sub_0203213C -sub_0203213C: ; 0x0203213C + thumb_func_start FUN_0203213C +FUN_0203213C: ; 0x0203213C bx lr .balign 4 - thumb_func_start sub_02032140 -sub_02032140: ; 0x02032140 + thumb_func_start FUN_02032140 +FUN_02032140: ; 0x02032140 push {r3, lr} ldr r0, _02032170 ; =0x021C5A00 ldr r0, [r0, #0x0] @@ -100681,228 +100681,228 @@ sub_02032140: ; 0x02032140 ldrb r0, [r0, #0x0] cmp r0, #0x13 bhs _02032166 - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _0203216E mov r0, #0x1 - bl sub_02031268 - bl sub_02030FA8 + bl FUN_02031268 + bl FUN_02030FA8 mov r0, #0x1 - bl sub_0202E7B0 + bl FUN_0202E7B0 _02032166: - ldr r0, _02032174 ; =sub_020323B8 + ldr r0, _02032174 ; =FUN_020323B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203216E: pop {r3, pc} .balign 4 _02032170: .word 0x021C5A00 -_02032174: .word sub_020323B8 + 1 +_02032174: .word FUN_020323B8 + 1 - thumb_func_start sub_02032178 -sub_02032178: ; 0x02032178 + thumb_func_start FUN_02032178 +FUN_02032178: ; 0x02032178 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203218E - bl sub_0202FC60 - ldr r0, _02032190 ; =sub_02032140 + bl FUN_0202FC60 + ldr r0, _02032190 ; =FUN_02032140 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203218E: pop {r3, pc} .balign 4 -_02032190: .word sub_02032140 + 1 +_02032190: .word FUN_02032140 + 1 - thumb_func_start sub_02032194 -sub_02032194: ; 0x02032194 + thumb_func_start FUN_02032194 +FUN_02032194: ; 0x02032194 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _020321B0 mov r0, #0x0 - bl sub_0202E7B0 - bl sub_0202FC60 - ldr r0, _020321B4 ; =sub_02031E08 + bl FUN_0202E7B0 + bl FUN_0202FC60 + ldr r0, _020321B4 ; =FUN_02031E08 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020321B0: pop {r3, pc} nop -_020321B4: .word sub_02031E08 + 1 +_020321B4: .word FUN_02031E08 + 1 - thumb_func_start sub_020321B8 -sub_020321B8: ; 0x020321B8 + thumb_func_start FUN_020321B8 +FUN_020321B8: ; 0x020321B8 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _020321CA - ldr r0, _020321CC ; =sub_02031E08 + ldr r0, _020321CC ; =FUN_02031E08 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020321CA: pop {r3, pc} .balign 4 -_020321CC: .word sub_02031E08 + 1 +_020321CC: .word FUN_02031E08 + 1 - thumb_func_start sub_020321D0 -sub_020321D0: ; 0x020321D0 + thumb_func_start FUN_020321D0 +FUN_020321D0: ; 0x020321D0 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _0203220C ldr r0, _02032210 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032210 ; =0x021C5A00 ldr r1, [r0, #0x0] ldr r0, [r1, #0x28] ldr r1, [r1, #0x30] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 lsl r2, r0, #0x9 add r3, r0, #0x0 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _0203220C - bl sub_0202FA10 - ldr r0, _02032214 ; =sub_02032218 + bl FUN_0202FA10 + ldr r0, _02032214 ; =FUN_02032218 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203220C: pop {r3, pc} nop _02032210: .word 0x021C5A00 -_02032214: .word sub_02032218 + 1 +_02032214: .word FUN_02032218 + 1 - thumb_func_start sub_02032218 -sub_02032218: ; 0x02032218 + thumb_func_start FUN_02032218 +FUN_02032218: ; 0x02032218 push {r3, lr} - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _0203222E - ldr r0, _02032230 ; =sub_02032234 + ldr r0, _02032230 ; =FUN_02032234 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203222E: pop {r3, pc} .balign 4 -_02032230: .word sub_02032234 + 1 +_02032230: .word FUN_02032234 + 1 - thumb_func_start sub_02032234 -sub_02032234: ; 0x02032234 + thumb_func_start FUN_02032234 +FUN_02032234: ; 0x02032234 push {r3, lr} - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02032246 - ldr r0, _02032248 ; =sub_020323BC + ldr r0, _02032248 ; =FUN_020323BC mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032246: pop {r3, pc} .balign 4 -_02032248: .word sub_020323BC + 1 +_02032248: .word FUN_020323BC + 1 - thumb_func_start sub_0203224C -sub_0203224C: ; 0x0203224C + thumb_func_start FUN_0203224C +FUN_0203224C: ; 0x0203224C push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02032286 ldr r0, _02032288 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032288 ; =0x021C5A00 ldr r1, [r0, #0x0] ldr r0, [r1, #0x28] ldr r1, [r1, #0x30] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 lsl r2, r0, #0x9 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032286 - bl sub_0202FA10 - ldr r0, _0203228C ; =sub_02032290 + bl FUN_0202FA10 + ldr r0, _0203228C ; =FUN_02032290 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032286: pop {r3, pc} .balign 4 _02032288: .word 0x021C5A00 -_0203228C: .word sub_02032290 + 1 +_0203228C: .word FUN_02032290 + 1 - thumb_func_start sub_02032290 -sub_02032290: ; 0x02032290 - ldr r3, _02032294 ; =sub_0202EA54 + thumb_func_start FUN_02032290 +FUN_02032290: ; 0x02032290 + ldr r3, _02032294 ; =FUN_0202EA54 bx r3 .balign 4 -_02032294: .word sub_0202EA54 + 1 +_02032294: .word FUN_0202EA54 + 1 - thumb_func_start sub_02032298 -sub_02032298: ; 0x02032298 + thumb_func_start FUN_02032298 +FUN_02032298: ; 0x02032298 push {r3, lr} - bl sub_0202EA54 + bl FUN_0202EA54 ldr r0, _020322B8 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202FB18 + bl FUN_0202FB18 cmp r0, #0x0 beq _020322B6 - ldr r0, _020322BC ; =sub_020322C0 + ldr r0, _020322BC ; =FUN_020322C0 mov r1, #0xa - bl sub_02031D20 + bl FUN_02031D20 _020322B6: pop {r3, pc} .balign 4 _020322B8: .word 0x021C5A00 -_020322BC: .word sub_020322C0 + 1 +_020322BC: .word FUN_020322C0 + 1 - thumb_func_start sub_020322C0 -sub_020322C0: ; 0x020322C0 + thumb_func_start FUN_020322C0 +FUN_020322C0: ; 0x020322C0 push {r3, lr} - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _020322D2 - ldr r0, _020322F0 ; =sub_020322F8 + ldr r0, _020322F0 ; =FUN_020322F8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020322D2: - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _020322EE - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _020322EE - ldr r0, _020322F4 ; =sub_0203234C + ldr r0, _020322F4 ; =FUN_0203234C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020322EE: pop {r3, pc} .balign 4 -_020322F0: .word sub_020322F8 + 1 -_020322F4: .word sub_0203234C + 1 +_020322F0: .word FUN_020322F8 + 1 +_020322F4: .word FUN_0203234C + 1 - thumb_func_start sub_020322F8 -sub_020322F8: ; 0x020322F8 + thumb_func_start FUN_020322F8 +FUN_020322F8: ; 0x020322F8 push {r3, lr} - bl sub_0202E6F0 - ldr r0, _02032308 ; =sub_0203230C + bl FUN_0202E6F0 + ldr r0, _02032308 ; =FUN_0203230C mov r1, #0x2 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_02032308: .word sub_0203230C + 1 +_02032308: .word FUN_0203230C + 1 - thumb_func_start sub_0203230C -sub_0203230C: ; 0x0203230C + thumb_func_start FUN_0203230C +FUN_0203230C: ; 0x0203230C push {r3, lr} ldr r0, _02032344 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -100913,52 +100913,52 @@ sub_0203230C: ; 0x0203230C strh r0, [r1, #0x3a] pop {r3, pc} _0203231E: - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _02032340 mov r1, #0x1 mov r0, #0x0 lsl r2, r1, #0x9 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032340 - bl sub_0202FA10 - ldr r0, _02032348 ; =sub_02032298 + bl FUN_0202FA10 + ldr r0, _02032348 ; =FUN_02032298 mov r1, #0xa - bl sub_02031D20 + bl FUN_02031D20 _02032340: pop {r3, pc} nop _02032344: .word 0x021C5A00 -_02032348: .word sub_02032298 + 1 +_02032348: .word FUN_02032298 + 1 - thumb_func_start sub_0203234C -sub_0203234C: ; 0x0203234C + thumb_func_start FUN_0203234C +FUN_0203234C: ; 0x0203234C push {r3, lr} - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0203235E - ldr r0, _02032360 ; =sub_020323BC + ldr r0, _02032360 ; =FUN_020323BC mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203235E: pop {r3, pc} .balign 4 -_02032360: .word sub_020323BC + 1 +_02032360: .word FUN_020323BC + 1 - thumb_func_start sub_02032364 -sub_02032364: ; 0x02032364 + thumb_func_start FUN_02032364 +FUN_02032364: ; 0x02032364 push {r3, lr} - bl sub_0202E6F0 - ldr r0, _02032374 ; =sub_02032378 + bl FUN_0202E6F0 + ldr r0, _02032374 ; =FUN_02032378 mov r1, #0x2 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_02032374: .word sub_02032378 + 1 +_02032374: .word FUN_02032378 + 1 - thumb_func_start sub_02032378 -sub_02032378: ; 0x02032378 + thumb_func_start FUN_02032378 +FUN_02032378: ; 0x02032378 push {r3, lr} ldr r0, _020323B0 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -100969,62 +100969,62 @@ sub_02032378: ; 0x02032378 strh r0, [r1, #0x3a] pop {r3, pc} _0203238A: - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _020323AC mov r1, #0x1 mov r0, #0x0 lsl r2, r1, #0x9 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _020323AC - bl sub_0202FA10 - ldr r0, _020323B4 ; =sub_02032290 + bl FUN_0202FA10 + ldr r0, _020323B4 ; =FUN_02032290 mov r1, #0xa - bl sub_02031D20 + bl FUN_02031D20 _020323AC: pop {r3, pc} nop _020323B0: .word 0x021C5A00 -_020323B4: .word sub_02032290 + 1 +_020323B4: .word FUN_02032290 + 1 - thumb_func_start sub_020323B8 -sub_020323B8: ; 0x020323B8 + thumb_func_start FUN_020323B8 +FUN_020323B8: ; 0x020323B8 bx lr .balign 4 - thumb_func_start sub_020323BC -sub_020323BC: ; 0x020323BC + thumb_func_start FUN_020323BC +FUN_020323BC: ; 0x020323BC push {r3, lr} - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _020323CA - bl sub_020317C0 + bl FUN_020317C0 _020323CA: pop {r3, pc} - thumb_func_start sub_020323CC -sub_020323CC: ; 0x020323CC - ldr r3, _020323D4 ; =sub_02031D20 - ldr r0, _020323D8 ; =sub_02032440 + thumb_func_start FUN_020323CC +FUN_020323CC: ; 0x020323CC + ldr r3, _020323D4 ; =FUN_02031D20 + ldr r0, _020323D8 ; =FUN_02032440 mov r1, #0x5 bx r3 .balign 4 -_020323D4: .word sub_02031D20 + 1 -_020323D8: .word sub_02032440 + 1 +_020323D4: .word FUN_02031D20 + 1 +_020323D8: .word FUN_02032440 + 1 - thumb_func_start sub_020323DC -sub_020323DC: ; 0x020323DC + thumb_func_start FUN_020323DC +FUN_020323DC: ; 0x020323DC push {r3, lr} - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x1 bgt _020323F8 mov r0, #0x0 - bl sub_0202D36C - bl sub_0202FC80 - ldr r0, _0203241C ; =sub_020324F8 + bl FUN_0202D36C + bl FUN_0202FC80 + ldr r0, _0203241C ; =FUN_020324F8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020323F8: ldr r0, _02032420 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -101036,33 +101036,33 @@ _020323F8: pop {r3, pc} _02032408: mov r0, #0x0 - bl sub_0202D36C - bl sub_0202FC80 - ldr r0, _0203241C ; =sub_020324F8 + bl FUN_0202D36C + bl FUN_0202FC80 + ldr r0, _0203241C ; =FUN_020324F8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_0203241C: .word sub_020324F8 + 1 +_0203241C: .word FUN_020324F8 + 1 _02032420: .word 0x021C5A00 - thumb_func_start sub_02032424 -sub_02032424: ; 0x02032424 + thumb_func_start FUN_02032424 +FUN_02032424: ; 0x02032424 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203243A - bl sub_0202FC60 - ldr r0, _0203243C ; =sub_020324F8 + bl FUN_0202FC60 + ldr r0, _0203243C ; =FUN_020324F8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203243A: pop {r3, pc} .balign 4 -_0203243C: .word sub_020324F8 + 1 +_0203243C: .word FUN_020324F8 + 1 - thumb_func_start sub_02032440 -sub_02032440: ; 0x02032440 + thumb_func_start FUN_02032440 +FUN_02032440: ; 0x02032440 push {r3, lr} ldr r0, _02032470 ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -101072,7 +101072,7 @@ sub_02032440: ; 0x02032440 sub r0, r0, #0x1 strh r0, [r1, #0x3a] _02032450: - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203246E ldr r0, _02032470 ; =0x021C5A00 @@ -101080,56 +101080,56 @@ _02032450: ldrh r0, [r0, #0x3a] cmp r0, #0x0 bne _0203246E - bl sub_0202FA5C - ldr r0, _02032474 ; =sub_020323BC + bl FUN_0202FA5C + ldr r0, _02032474 ; =FUN_020323BC mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203246E: pop {r3, pc} .balign 4 _02032470: .word 0x021C5A00 -_02032474: .word sub_020323BC + 1 +_02032474: .word FUN_020323BC + 1 - thumb_func_start sub_02032478 -sub_02032478: ; 0x02032478 + thumb_func_start FUN_02032478 +FUN_02032478: ; 0x02032478 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _020324BE ldr r0, _020324C0 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _020324C0 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3c ldrb r0, [r0, #0x0] - bl sub_0202D1B0 + bl FUN_0202D1B0 ldr r0, _020324C0 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 lsl r2, r0, #0x9 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _020324BE - bl sub_0202FA10 - ldr r0, _020324C4 ; =sub_020324C8 + bl FUN_0202FA10 + ldr r0, _020324C4 ; =FUN_020324C8 mov r1, #0x40 - bl sub_02031D20 + bl FUN_02031D20 _020324BE: pop {r3, pc} .balign 4 _020324C0: .word 0x021C5A00 -_020324C4: .word sub_020324C8 + 1 +_020324C4: .word FUN_020324C8 + 1 - thumb_func_start sub_020324C8 -sub_020324C8: ; 0x020324C8 + thumb_func_start FUN_020324C8 +FUN_020324C8: ; 0x020324C8 push {r3, lr} - bl sub_0202EA54 + bl FUN_0202EA54 ldr r0, _020324F0 ; =0x021C5A00 ldr r1, [r0, #0x0] ldrh r0, [r1, #0x3a] @@ -101139,36 +101139,36 @@ sub_020324C8: ; 0x020324C8 strh r0, [r1, #0x3a] pop {r3, pc} _020324DE: - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _020324EE - ldr r0, _020324F4 ; =sub_02032510 + ldr r0, _020324F4 ; =FUN_02032510 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020324EE: pop {r3, pc} .balign 4 _020324F0: .word 0x021C5A00 -_020324F4: .word sub_02032510 + 1 +_020324F4: .word FUN_02032510 + 1 - thumb_func_start sub_020324F8 -sub_020324F8: ; 0x020324F8 + thumb_func_start FUN_020324F8 +FUN_020324F8: ; 0x020324F8 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203250A - ldr r0, _0203250C ; =sub_02032510 + ldr r0, _0203250C ; =FUN_02032510 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203250A: pop {r3, pc} .balign 4 -_0203250C: .word sub_02032510 + 1 +_0203250C: .word FUN_02032510 + 1 - thumb_func_start sub_02032510 -sub_02032510: ; 0x02032510 + thumb_func_start FUN_02032510 +FUN_02032510: ; 0x02032510 push {r3-r5, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _02032568 ldr r1, _0203256C ; =0x021C5A00 @@ -101179,7 +101179,7 @@ sub_02032510: ; 0x02032510 ldrb r1, [r1, #0x0] lsl r2, r2, #0x8 mov r3, #0x1 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _02032568 ldr r0, _0203256C ; =0x021C5A00 @@ -101190,36 +101190,36 @@ sub_02032510: ; 0x02032510 ldr r1, [r5, #0xc] ldr r2, [r4, #0xc] ldr r3, [r5, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r5, #0x10] ldr r3, [r5, #0x14] add r0, r2, r0 adc r3, r1 str r0, [r4, #0xc] str r3, [r5, #0x4] - bl sub_0202FA10 + bl FUN_0202FA10 ldr r0, _0203256C ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] - ldr r0, _02032570 ; =sub_02032578 + ldr r0, _02032570 ; =FUN_02032578 ldr r1, _02032574 ; =0x00002710 - bl sub_02031D20 + bl FUN_02031D20 _02032568: pop {r3-r5, pc} nop _0203256C: .word 0x021C5A00 -_02032570: .word sub_02032578 + 1 +_02032570: .word FUN_02032578 + 1 _02032574: .word 0x00002710 - thumb_func_start sub_02032578 -sub_02032578: ; 0x02032578 + thumb_func_start FUN_02032578 +FUN_02032578: ; 0x02032578 push {r3, lr} - bl sub_0202F104 + bl FUN_0202F104 cmp r0, #0x0 bne _020325B2 - bl sub_020311E8 + bl FUN_020311E8 cmp r0, #0x0 beq _020325A2 ldr r0, _020325C4 ; =0x021C5A00 @@ -101227,10 +101227,10 @@ sub_02032578: ; 0x02032578 ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] - bl sub_02033E74 - ldr r0, _020325C8 ; =sub_020327FC + bl FUN_02033E74 + ldr r0, _020325C8 ; =FUN_020327FC mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020325A2: ldr r0, _020325C4 ; =0x021C5A00 @@ -101242,33 +101242,33 @@ _020325A2: strh r0, [r1, #0x3a] pop {r3, pc} _020325B2: - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _020325C2 - ldr r0, _020325CC ; =sub_020325D0 + ldr r0, _020325CC ; =FUN_020325D0 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020325C2: pop {r3, pc} .balign 4 _020325C4: .word 0x021C5A00 -_020325C8: .word sub_020327FC + 1 -_020325CC: .word sub_020325D0 + 1 +_020325C8: .word FUN_020327FC + 1 +_020325CC: .word FUN_020325D0 + 1 - thumb_func_start sub_020325D0 -sub_020325D0: ; 0x020325D0 + thumb_func_start FUN_020325D0 +FUN_020325D0: ; 0x020325D0 push {r3-r5, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _0203261C mov r0, #0x0 mov r2, #0x2 add r1, r0, #0x0 lsl r2, r2, #0x8 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _0203261C - bl sub_0202FA10 + bl FUN_0202FA10 ldr r0, _02032620 ; =0x021C5A00 ldr r4, [r0, #0x0] add r5, r4, #0x0 @@ -101277,89 +101277,89 @@ sub_020325D0: ; 0x020325D0 ldr r1, [r5, #0xc] ldr r2, [r4, #0xc] ldr r3, [r5, #0x4] - blx sub_020EBC30 + blx FUN_020EBC30 ldr r2, [r5, #0x10] ldr r3, [r5, #0x14] add r0, r2, r0 adc r3, r1 str r0, [r4, #0xc] mov r1, #0x0 - ldr r0, _02032624 ; =sub_020324C8 + ldr r0, _02032624 ; =FUN_020324C8 lsr r2, r3, #0x1b lsl r1, r1, #0x5 orr r1, r2 str r3, [r5, #0x4] - bl sub_02031D20 + bl FUN_02031D20 _0203261C: pop {r3-r5, pc} nop _02032620: .word 0x021C5A00 -_02032624: .word sub_020324C8 + 1 +_02032624: .word FUN_020324C8 + 1 - thumb_func_start sub_02032628 -sub_02032628: ; 0x02032628 + thumb_func_start FUN_02032628 +FUN_02032628: ; 0x02032628 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203263A - ldr r0, _0203263C ; =sub_02032640 + ldr r0, _0203263C ; =FUN_02032640 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203263A: pop {r3, pc} .balign 4 -_0203263C: .word sub_02032640 + 1 +_0203263C: .word FUN_02032640 + 1 - thumb_func_start sub_02032640 -sub_02032640: ; 0x02032640 + thumb_func_start FUN_02032640 +FUN_02032640: ; 0x02032640 push {r3, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _02032666 mov r0, #0x0 mov r2, #0x2 add r1, r0, #0x0 lsl r2, r2, #0x8 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032666 - bl sub_0202FA10 - ldr r0, _02032668 ; =sub_0203266C + bl FUN_0202FA10 + ldr r0, _02032668 ; =FUN_0203266C mov r1, #0x64 - bl sub_02031D20 + bl FUN_02031D20 _02032666: pop {r3, pc} .balign 4 -_02032668: .word sub_0203266C + 1 +_02032668: .word FUN_0203266C + 1 - thumb_func_start sub_0203266C -sub_0203266C: ; 0x0203266C + thumb_func_start FUN_0203266C +FUN_0203266C: ; 0x0203266C push {r3, lr} ldr r0, _020326C4 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202E8A0 + bl FUN_0202E8A0 cmp r0, #0x0 beq _02032698 ldr r0, _020326C4 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202FB18 + bl FUN_0202FB18 cmp r0, #0x0 beq _02032698 - ldr r0, _020326C8 ; =sub_020326D0 + ldr r0, _020326C8 ; =FUN_020326D0 mov r1, #0x64 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032698: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _020326AA - ldr r0, _020326CC ; =sub_020327B8 + ldr r0, _020326CC ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020326AA: ldr r0, _020326C4 ; =0x021C5A00 @@ -101371,28 +101371,28 @@ _020326AA: strh r0, [r1, #0x3a] pop {r3, pc} _020326BA: - ldr r0, _020326CC ; =sub_020327B8 + ldr r0, _020326CC ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 _020326C4: .word 0x021C5A00 -_020326C8: .word sub_020326D0 + 1 -_020326CC: .word sub_020327B8 + 1 +_020326C8: .word FUN_020326D0 + 1 +_020326CC: .word FUN_020327B8 + 1 - thumb_func_start sub_020326D0 -sub_020326D0: ; 0x020326D0 + thumb_func_start FUN_020326D0 +FUN_020326D0: ; 0x020326D0 push {r3, lr} - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _020326E4 - ldr r0, _02032728 ; =sub_020327B8 + ldr r0, _02032728 ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020326E4: - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _0203270C ldr r0, _0203272C ; =0x021C5A00 @@ -101402,10 +101402,10 @@ _020326E4: strb r1, [r0, #0x0] ldr r1, _02032730 ; =0x02105D5C mov r0, #0x6 - bl sub_020311D0 - ldr r0, _02032734 ; =sub_02032738 + bl FUN_020311D0 + ldr r0, _02032734 ; =FUN_02032738 mov r1, #0x78 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _0203270C: ldr r0, _0203272C ; =0x021C5A00 @@ -101417,25 +101417,25 @@ _0203270C: strh r0, [r1, #0x3a] pop {r3, pc} _0203271C: - ldr r0, _02032728 ; =sub_020327B8 + ldr r0, _02032728 ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} nop -_02032728: .word sub_020327B8 + 1 +_02032728: .word FUN_020327B8 + 1 _0203272C: .word 0x021C5A00 _02032730: .word 0x02105D5C -_02032734: .word sub_02032738 + 1 +_02032734: .word FUN_02032738 + 1 - thumb_func_start sub_02032738 -sub_02032738: ; 0x02032738 + thumb_func_start FUN_02032738 +FUN_02032738: ; 0x02032738 push {r3, lr} - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _0203274C - ldr r0, _0203278C ; =sub_020327B8 + ldr r0, _0203278C ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _0203274C: ldr r0, _02032790 ; =0x021C5A00 @@ -101445,17 +101445,17 @@ _0203274C: ldrb r0, [r0, #0x0] cmp r0, #0x2 bne _02032764 - ldr r0, _02032794 ; =sub_020327B4 + ldr r0, _02032794 ; =FUN_020327B4 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032764: cmp r0, #0x1 bne _02032776 - bl sub_0202DBE0 - ldr r0, _02032798 ; =sub_0203279C + bl FUN_0202DBE0 + ldr r0, _02032798 ; =FUN_0203279C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032776: ldrh r0, [r1, #0x3a] @@ -101465,44 +101465,44 @@ _02032776: strh r0, [r1, #0x3a] pop {r3, pc} _02032782: - ldr r0, _0203278C ; =sub_020327B8 + ldr r0, _0203278C ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 -_0203278C: .word sub_020327B8 + 1 +_0203278C: .word FUN_020327B8 + 1 _02032790: .word 0x021C5A00 -_02032794: .word sub_020327B4 + 1 -_02032798: .word sub_0203279C + 1 +_02032794: .word FUN_020327B4 + 1 +_02032798: .word FUN_0203279C + 1 - thumb_func_start sub_0203279C -sub_0203279C: ; 0x0203279C + thumb_func_start FUN_0203279C +FUN_0203279C: ; 0x0203279C push {r3, lr} - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _020327AE - ldr r0, _020327B0 ; =sub_020327B8 + ldr r0, _020327B0 ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020327AE: pop {r3, pc} .balign 4 -_020327B0: .word sub_020327B8 + 1 +_020327B0: .word FUN_020327B8 + 1 - thumb_func_start sub_020327B4 -sub_020327B4: ; 0x020327B4 + thumb_func_start FUN_020327B4 +FUN_020327B4: ; 0x020327B4 bx lr .balign 4 - thumb_func_start sub_020327B8 -sub_020327B8: ; 0x020327B8 + thumb_func_start FUN_020327B8 +FUN_020327B8: ; 0x020327B8 push {r3, lr} ldr r0, _020327F0 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x3d strb r1, [r0, #0x0] - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _020327EC ldr r0, _020327F0 ; =0x021C5A00 @@ -101512,62 +101512,62 @@ sub_020327B8: ; 0x020327B8 beq _020327E4 sub r0, r0, #0x1 strh r0, [r1, #0x38] - ldr r0, _020327F4 ; =sub_02032640 + ldr r0, _020327F4 ; =FUN_02032640 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020327E4: - ldr r0, _020327F8 ; =sub_020327B4 + ldr r0, _020327F8 ; =FUN_020327B4 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020327EC: pop {r3, pc} nop _020327F0: .word 0x021C5A00 -_020327F4: .word sub_02032640 + 1 -_020327F8: .word sub_020327B4 + 1 +_020327F4: .word FUN_02032640 + 1 +_020327F8: .word FUN_020327B4 + 1 - thumb_func_start sub_020327FC -sub_020327FC: ; 0x020327FC + thumb_func_start FUN_020327FC +FUN_020327FC: ; 0x020327FC push {r3, lr} - bl sub_020311E8 + bl FUN_020311E8 cmp r0, #0x0 bne _02032820 - bl sub_02033510 + bl FUN_02033510 cmp r0, #0x0 bne _0203282C - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _0203282C - ldr r0, _02032848 ; =sub_020325D0 + ldr r0, _02032848 ; =FUN_020325D0 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 b _0203282C _02032820: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0203282C - bl sub_0202DDE8 + bl FUN_0202DDE8 _0203282C: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _02032844 - bl sub_02033510 + bl FUN_02033510 cmp r0, #0x0 bne _02032844 - ldr r0, _0203284C ; =sub_020327B8 + ldr r0, _0203284C ; =FUN_020327B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032844: pop {r3, pc} nop -_02032848: .word sub_020325D0 + 1 -_0203284C: .word sub_020327B8 + 1 +_02032848: .word FUN_020325D0 + 1 +_0203284C: .word FUN_020327B8 + 1 - thumb_func_start sub_02032850 -sub_02032850: ; 0x02032850 + thumb_func_start FUN_02032850 +FUN_02032850: ; 0x02032850 push {r3, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _0203287E ldr r1, _02032880 ; =0x021C5A00 @@ -101578,28 +101578,28 @@ sub_02032850: ; 0x02032850 ldrb r1, [r1, #0x0] lsl r2, r2, #0x8 add r3, r0, #0x0 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _0203287E - bl sub_0202FA10 - ldr r0, _02032884 ; =sub_020323B8 + bl FUN_0202FA10 + ldr r0, _02032884 ; =FUN_020323B8 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _0203287E: pop {r3, pc} .balign 4 _02032880: .word 0x021C5A00 -_02032884: .word sub_020323B8 + 1 +_02032884: .word FUN_020323B8 + 1 - thumb_func_start sub_02032888 -sub_02032888: ; 0x02032888 + thumb_func_start FUN_02032888 +FUN_02032888: ; 0x02032888 push {r3, lr} ldr r0, _020328BC ; =0x021C5A00 mov r1, #0xd ldr r0, [r0, #0x0] add r0, #0x3f strb r1, [r0, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 add r0, sp, #0x0 bne _020328AE @@ -101608,38 +101608,38 @@ sub_02032888: ; 0x02032888 add r1, sp, #0x0 mov r0, #0xa add r1, #0x1 - bl sub_020311D0 + bl FUN_020311D0 pop {r3, pc} _020328AE: mov r1, #0x0 strb r1, [r0, #0x0] mov r0, #0xa add r1, sp, #0x0 - bl sub_020311D0 + bl FUN_020311D0 pop {r3, pc} .balign 4 _020328BC: .word 0x021C5A00 - thumb_func_start sub_020328C0 -sub_020328C0: ; 0x020328C0 + thumb_func_start FUN_020328C0 +FUN_020328C0: ; 0x020328C0 ldr r1, _020328D8 ; =0x021C5A00 - ldr r3, _020328DC ; =sub_02031D20 + ldr r3, _020328DC ; =FUN_02031D20 ldr r2, [r1, #0x0] add r2, #0x3e strb r0, [r2, #0x0] ldr r0, [r1, #0x0] mov r2, #0x3 strh r2, [r0, #0x38] - ldr r0, _020328E0 ; =sub_02032924 + ldr r0, _020328E0 ; =FUN_02032924 mov r1, #0x0 bx r3 nop _020328D8: .word 0x021C5A00 -_020328DC: .word sub_02031D20 + 1 -_020328E0: .word sub_02032924 + 1 +_020328DC: .word FUN_02031D20 + 1 +_020328E0: .word FUN_02032924 + 1 - thumb_func_start sub_020328E4 -sub_020328E4: ; 0x020328E4 + thumb_func_start FUN_020328E4 +FUN_020328E4: ; 0x020328E4 ldr r0, _020328F0 ; =0x021C5A00 mov r1, #0x7 ldr r0, [r0, #0x0] @@ -101649,8 +101649,8 @@ sub_020328E4: ; 0x020328E4 .balign 4 _020328F0: .word 0x021C5A00 - thumb_func_start sub_020328F4 -sub_020328F4: ; 0x020328F4 + thumb_func_start FUN_020328F4 +FUN_020328F4: ; 0x020328F4 push {r3, lr} ldr r1, _0203291C ; =0x021C5A00 ldr r2, [r1, #0x0] @@ -101663,33 +101663,33 @@ sub_020328F4: ; 0x020328F4 ldr r0, [r1, #0x0] mov r2, #0x3 strh r2, [r0, #0x38] - bl sub_02033E74 - ldr r0, _02032920 ; =sub_02032628 + bl FUN_02033E74 + ldr r0, _02032920 ; =FUN_02032628 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} nop _0203291C: .word 0x021C5A00 -_02032920: .word sub_02032628 + 1 +_02032920: .word FUN_02032628 + 1 - thumb_func_start sub_02032924 -sub_02032924: ; 0x02032924 + thumb_func_start FUN_02032924 +FUN_02032924: ; 0x02032924 push {r3, lr} - bl sub_0202E6F0 + bl FUN_0202E6F0 cmp r0, #0x0 beq _02032936 - ldr r0, _02032938 ; =sub_0203293C + ldr r0, _02032938 ; =FUN_0203293C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032936: pop {r3, pc} .balign 4 -_02032938: .word sub_0203293C + 1 +_02032938: .word FUN_0203293C + 1 - thumb_func_start sub_0203293C -sub_0203293C: ; 0x0203293C + thumb_func_start FUN_0203293C +FUN_0203293C: ; 0x0203293C push {r3, lr} - bl sub_0202EE0C + bl FUN_0202EE0C cmp r0, #0x0 beq _0203296C ldr r0, _02032970 ; =0x021C5A00 @@ -101701,42 +101701,42 @@ sub_0203293C: ; 0x0203293C mov r0, #0x0 add r1, r0, #0x0 lsl r2, r2, #0x8 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _0203296C - bl sub_0202FA1C - ldr r0, _02032974 ; =sub_02032978 + bl FUN_0202FA1C + ldr r0, _02032974 ; =FUN_02032978 mov r1, #0x64 - bl sub_02031D20 + bl FUN_02031D20 _0203296C: pop {r3, pc} nop _02032970: .word 0x021C5A00 -_02032974: .word sub_02032978 + 1 +_02032974: .word FUN_02032978 + 1 - thumb_func_start sub_02032978 -sub_02032978: ; 0x02032978 + thumb_func_start FUN_02032978 +FUN_02032978: ; 0x02032978 push {r3, lr} ldr r0, _020329E4 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202E8A0 + bl FUN_0202E8A0 cmp r0, #0x0 beq _020329A4 ldr r0, _020329E4 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x3e ldrb r0, [r0, #0x0] - bl sub_0202FB18 + bl FUN_0202FB18 cmp r0, #0x0 beq _020329A4 - ldr r0, _020329E8 ; =sub_020329F4 + ldr r0, _020329E8 ; =FUN_020329F4 mov r1, #0x64 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020329A4: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 bne _020329B6 ldr r0, _020329E4 ; =0x021C5A00 @@ -101754,14 +101754,14 @@ _020329B6: ldrh r0, [r0, #0x38] cmp r0, #0x0 bne _020329D2 - ldr r0, _020329EC ; =sub_020327B4 + ldr r0, _020329EC ; =FUN_020327B4 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020329D2: - ldr r0, _020329F0 ; =sub_02032924 + ldr r0, _020329F0 ; =FUN_02032924 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _020329DC: beq _020329E2 @@ -101771,12 +101771,12 @@ _020329E2: pop {r3, pc} .balign 4 _020329E4: .word 0x021C5A00 -_020329E8: .word sub_020329F4 + 1 -_020329EC: .word sub_020327B4 + 1 -_020329F0: .word sub_02032924 + 1 +_020329E8: .word FUN_020329F4 + 1 +_020329EC: .word FUN_020327B4 + 1 +_020329F0: .word FUN_02032924 + 1 - thumb_func_start sub_020329F4 -sub_020329F4: ; 0x020329F4 + thumb_func_start FUN_020329F4 +FUN_020329F4: ; 0x020329F4 push {r3, lr} ldr r0, _02032A7C ; =0x021C5A00 ldr r1, [r0, #0x0] @@ -101787,7 +101787,7 @@ sub_020329F4: ; 0x020329F4 strh r0, [r1, #0x3a] pop {r3, pc} _02032A06: - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 beq _02032A34 ldr r0, _02032A7C ; =0x021C5A00 @@ -101799,23 +101799,23 @@ _02032A06: ldrh r0, [r0, #0x38] cmp r0, #0x0 bne _02032A2A - ldr r0, _02032A80 ; =sub_020327B4 + ldr r0, _02032A80 ; =FUN_020327B4 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032A2A: - ldr r0, _02032A84 ; =sub_02032924 + ldr r0, _02032A84 ; =FUN_02032924 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032A34: - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _02032A4A - ldr r0, _02032A88 ; =sub_0203279C + ldr r0, _02032A88 ; =FUN_0203279C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032A4A: ldr r0, _02032A7C ; =0x021C5A00 @@ -101834,27 +101834,27 @@ _02032A5A: ldrh r0, [r0, #0x38] cmp r0, #0x0 bne _02032A72 - ldr r0, _02032A80 ; =sub_020327B4 + ldr r0, _02032A80 ; =FUN_020327B4 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} _02032A72: - ldr r0, _02032A84 ; =sub_02032924 + ldr r0, _02032A84 ; =FUN_02032924 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 pop {r3, pc} .balign 4 _02032A7C: .word 0x021C5A00 -_02032A80: .word sub_020327B4 + 1 -_02032A84: .word sub_02032924 + 1 -_02032A88: .word sub_0203279C + 1 +_02032A80: .word FUN_020327B4 + 1 +_02032A84: .word FUN_02032924 + 1 +_02032A88: .word FUN_0203279C + 1 - thumb_func_start sub_02032A8C -sub_02032A8C: ; 0x02032A8C + thumb_func_start FUN_02032A8C +FUN_02032A8C: ; 0x02032A8C push {r4-r6, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02032ADA ldr r6, _02032ADC ; =0x02105D5C @@ -101884,13 +101884,13 @@ _02032AB4: ldr r1, _02032AE4 ; =0x02105D6C mov r0, #0x7 strb r5, [r1, #0x0] - bl sub_02030C4C + bl FUN_02030C4C pop {r4-r6, pc} _02032AD0: ldr r1, _02032AE8 ; =0x02105D64 mov r0, #0x7 strb r5, [r1, #0x0] - bl sub_02030C4C + bl FUN_02030C4C _02032ADA: pop {r4-r6, pc} .balign 4 @@ -101899,8 +101899,8 @@ _02032AE0: .word 0x021C5A00 _02032AE4: .word 0x02105D6C _02032AE8: .word 0x02105D64 - thumb_func_start sub_02032AEC -sub_02032AEC: ; 0x02032AEC + thumb_func_start FUN_02032AEC +FUN_02032AEC: ; 0x02032AEC push {r3-r5, lr} mov r4, #0x1 ldr r5, _02032B5C ; =0x02105D6D @@ -101921,7 +101921,7 @@ _02032B08: cmp r4, #0x0 beq _02032B22 ldrb r4, [r2, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _02032B58 ldr r0, _02032B60 ; =0x021C5A00 @@ -101950,7 +101950,7 @@ _02032B3C: cmp r4, #0x0 beq _02032B58 ldrb r4, [r2, #0x0] - bl sub_02031190 + bl FUN_02031190 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r4, r0 @@ -101967,13 +101967,13 @@ _02032B5C: .word 0x02105D6D _02032B60: .word 0x021C5A00 _02032B64: .word 0x02105D65 - thumb_func_start sub_02032B68 -sub_02032B68: ; 0x02032B68 + thumb_func_start FUN_02032B68 +FUN_02032B68: ; 0x02032B68 mov r0, #0x6 bx lr - thumb_func_start sub_02032B6C -sub_02032B6C: ; 0x02032B6C + thumb_func_start FUN_02032B6C +FUN_02032B6C: ; 0x02032B6C push {r3, lr} ldr r1, _02032B80 ; =0x021C5A00 ldr r1, [r1, #0x0] @@ -101981,96 +101981,96 @@ sub_02032B6C: ; 0x02032B6C beq _02032B7E add r1, #0x3c strb r0, [r1, #0x0] - bl sub_0202D1B0 + bl FUN_0202D1B0 _02032B7E: pop {r3, pc} .balign 4 _02032B80: .word 0x021C5A00 - thumb_func_start sub_02032B84 -sub_02032B84: ; 0x02032B84 - ldr r3, _02032B88 ; =sub_0202EA54 + thumb_func_start FUN_02032B84 +FUN_02032B84: ; 0x02032B84 + ldr r3, _02032B88 ; =FUN_0202EA54 bx r3 .balign 4 -_02032B88: .word sub_0202EA54 + 1 +_02032B88: .word FUN_0202EA54 + 1 - thumb_func_start sub_02032B8C -sub_02032B8C: ; 0x02032B8C + thumb_func_start FUN_02032B8C +FUN_02032B8C: ; 0x02032B8C push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02032BC6 ldr r0, _02032BC8 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032BC8 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 mov r2, #0x20 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032BC6 - bl sub_0202FA10 - ldr r0, _02032BCC ; =sub_02032B84 + bl FUN_0202FA10 + ldr r0, _02032BCC ; =FUN_02032B84 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032BC6: pop {r3, pc} .balign 4 _02032BC8: .word 0x021C5A00 -_02032BCC: .word sub_02032B84 + 1 +_02032BCC: .word FUN_02032B84 + 1 - thumb_func_start sub_02032BD0 -sub_02032BD0: ; 0x02032BD0 + thumb_func_start FUN_02032BD0 +FUN_02032BD0: ; 0x02032BD0 push {r4, lr} add r4, r0, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02032C00 mov r2, #0x7 mov r0, #0x3 mov r1, #0xf lsl r2, r2, #0xc - bl sub_02016828 + bl FUN_02016828 add r0, r4, #0x0 mov r1, #0xe - bl sub_02031734 + bl FUN_02031734 ldr r0, _02032C04 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x40 strb r1, [r0, #0x0] - ldr r0, _02032C08 ; =sub_02032B8C - bl sub_02031D20 + ldr r0, _02032C08 ; =FUN_02032B8C + bl FUN_02031D20 _02032C00: pop {r4, pc} nop _02032C04: .word 0x021C5A00 -_02032C08: .word sub_02032B8C + 1 +_02032C08: .word FUN_02032B8C + 1 - thumb_func_start sub_02032C0C -sub_02032C0C: ; 0x02032C0C + thumb_func_start FUN_02032C0C +FUN_02032C0C: ; 0x02032C0C push {r3, lr} ldr r0, _02032C20 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02032C1E - ldr r0, _02032C24 ; =sub_02032440 + ldr r0, _02032C24 ; =FUN_02032440 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 _02032C1E: pop {r3, pc} .balign 4 _02032C20: .word 0x021C5A00 -_02032C24: .word sub_02032440 + 1 +_02032C24: .word FUN_02032440 + 1 - thumb_func_start sub_02032C28 -sub_02032C28: ; 0x02032C28 + thumb_func_start FUN_02032C28 +FUN_02032C28: ; 0x02032C28 sub sp, #0x8 ldr r1, _02032C64 ; =0x020EEC48 add r0, sp, #0x0 @@ -102109,8 +102109,8 @@ _02032C5E: _02032C64: .word 0x020EEC48 _02032C68: .word 0x021C5A00 - thumb_func_start sub_02032C6C -sub_02032C6C: ; 0x02032C6C + thumb_func_start FUN_02032C6C +FUN_02032C6C: ; 0x02032C6C ldr r2, _02032CE4 ; =0x00400131 cmp r0, r2 bhi _02032C7C @@ -102183,86 +102183,86 @@ _02032CE8: .word 0x00000333 _02032CEC: .word 0x00400286 _02032CF0: .word 0x021C5A00 - thumb_func_start sub_02032CF4 -sub_02032CF4: ; 0x02032CF4 + thumb_func_start FUN_02032CF4 +FUN_02032CF4: ; 0x02032CF4 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02032D34 ldr r0, _02032D38 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032D38 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 - ldr r0, _02032D3C ; =sub_02032C6C - bl sub_0202D308 + bl FUN_0202DB14 + ldr r0, _02032D3C ; =FUN_02032C6C + bl FUN_0202D308 mov r0, #0x1 add r1, r0, #0x0 mov r2, #0x20 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032D34 - bl sub_0202FA10 - ldr r0, _02032D40 ; =sub_02032B84 + bl FUN_0202FA10 + ldr r0, _02032D40 ; =FUN_02032B84 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032D34: pop {r3, pc} nop _02032D38: .word 0x021C5A00 -_02032D3C: .word sub_02032C6C + 1 -_02032D40: .word sub_02032B84 + 1 +_02032D3C: .word FUN_02032C6C + 1 +_02032D40: .word FUN_02032B84 + 1 - thumb_func_start sub_02032D44 -sub_02032D44: ; 0x02032D44 + thumb_func_start FUN_02032D44 +FUN_02032D44: ; 0x02032D44 push {r4, lr} add r4, r0, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02032D74 mov r2, #0x7 mov r0, #0x3 mov r1, #0xf lsl r2, r2, #0xc - bl sub_02016828 + bl FUN_02016828 add r0, r4, #0x0 mov r1, #0x11 - bl sub_02031734 + bl FUN_02031734 ldr r0, _02032D78 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] add r0, #0x40 strb r1, [r0, #0x0] - ldr r0, _02032D7C ; =sub_02032CF4 - bl sub_02031D20 + ldr r0, _02032D7C ; =FUN_02032CF4 + bl FUN_02031D20 _02032D74: pop {r4, pc} nop _02032D78: .word 0x021C5A00 -_02032D7C: .word sub_02032CF4 + 1 +_02032D7C: .word FUN_02032CF4 + 1 - thumb_func_start sub_02032D80 -sub_02032D80: ; 0x02032D80 + thumb_func_start FUN_02032D80 +FUN_02032D80: ; 0x02032D80 push {r3, lr} ldr r0, _02032D94 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02032D92 - ldr r0, _02032D98 ; =sub_02032440 + ldr r0, _02032D98 ; =FUN_02032440 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 _02032D92: pop {r3, pc} .balign 4 _02032D94: .word 0x021C5A00 -_02032D98: .word sub_02032440 + 1 +_02032D98: .word FUN_02032440 + 1 - thumb_func_start sub_02032D9C -sub_02032D9C: ; 0x02032D9C + thumb_func_start FUN_02032D9C +FUN_02032D9C: ; 0x02032D9C ldr r0, _02032DA8 ; =0x021C5A00 ldr r0, [r0, #0x0] add r0, #0x49 @@ -102271,10 +102271,10 @@ sub_02032D9C: ; 0x02032D9C nop _02032DA8: .word 0x021C5A00 - thumb_func_start sub_02032DAC -sub_02032DAC: ; 0x02032DAC + thumb_func_start FUN_02032DAC +FUN_02032DAC: ; 0x02032DAC push {r3, lr} - bl sub_02031468 + bl FUN_02031468 ldr r0, _02032DF4 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -102289,94 +102289,94 @@ _02032DBE: lsr r0, r0, #0x18 cmp r0, #0x1 bhi _02032DD4 - bl sub_021D83C0 + bl FUN_021D83C0 mov r0, #0x1 pop {r3, pc} _02032DD4: - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 beq _02032DE6 - ldr r0, _02032DF8 ; =sub_0203318C + ldr r0, _02032DF8 ; =FUN_0203318C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 b _02032DEE _02032DE6: - ldr r0, _02032DFC ; =sub_02032178 + ldr r0, _02032DFC ; =FUN_02032178 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032DEE: mov r0, #0x0 pop {r3, pc} nop _02032DF4: .word 0x021C5A00 -_02032DF8: .word sub_0203318C + 1 -_02032DFC: .word sub_02032178 + 1 +_02032DF8: .word FUN_0203318C + 1 +_02032DFC: .word FUN_02032178 + 1 - thumb_func_start sub_02032E00 -sub_02032E00: ; 0x02032E00 + thumb_func_start FUN_02032E00 +FUN_02032E00: ; 0x02032E00 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02032E3C ldr r0, _02032E40 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032E40 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 lsl r2, r0, #0x9 add r3, r0, #0x0 - bl sub_0202F918 + bl FUN_0202F918 cmp r0, #0x0 beq _02032E3C - bl sub_0202FA10 - ldr r0, _02032E44 ; =sub_02032218 + bl FUN_0202FA10 + ldr r0, _02032E44 ; =FUN_02032218 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032E3C: pop {r3, pc} nop _02032E40: .word 0x021C5A00 -_02032E44: .word sub_02032218 + 1 +_02032E44: .word FUN_02032218 + 1 - thumb_func_start sub_02032E48 -sub_02032E48: ; 0x02032E48 + thumb_func_start FUN_02032E48 +FUN_02032E48: ; 0x02032E48 push {r3, lr} - bl sub_0202E4C8 + bl FUN_0202E4C8 cmp r0, #0x0 beq _02032E82 ldr r0, _02032E84 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x2c] - bl sub_0202E29C + bl FUN_0202E29C ldr r0, _02032E84 ; =0x021C5A00 mov r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202DB14 + bl FUN_0202DB14 mov r0, #0x1 add r1, r0, #0x0 lsl r2, r0, #0x9 - bl sub_0202F950 + bl FUN_0202F950 cmp r0, #0x0 beq _02032E82 - bl sub_0202FA10 - ldr r0, _02032E88 ; =sub_02032290 + bl FUN_0202FA10 + ldr r0, _02032E88 ; =FUN_02032290 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02032E82: pop {r3, pc} .balign 4 _02032E84: .word 0x021C5A00 -_02032E88: .word sub_02032290 + 1 +_02032E88: .word FUN_02032290 + 1 - thumb_func_start sub_02032E8C -sub_02032E8C: ; 0x02032E8C + thumb_func_start FUN_02032E8C +FUN_02032E8C: ; 0x02032E8C bx lr .balign 4 _02032E90: @@ -102429,52 +102429,52 @@ _02032E90: .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02 .byte 0x01, 0x48, 0x00, 0x68, 0x40, 0x6B, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 - thumb_func_start sub_0203318C -sub_0203318C: ; 0x0203318C + thumb_func_start FUN_0203318C +FUN_0203318C: ; 0x0203318C push {r3, lr} mov r0, #0x0 - bl sub_020313A0 + bl FUN_020313A0 mov r0, #0x0 - bl sub_021D82BC + bl FUN_021D82BC cmp r0, #0x0 beq _020331AA - bl sub_021D836C - ldr r0, _020331BC ; =sub_02032440 + bl FUN_021D836C + ldr r0, _020331BC ; =FUN_02032440 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020331AA: - bl sub_021D7F8C + bl FUN_021D7F8C cmp r0, #0x0 bge _020331BA - ldr r0, _020331C0 ; =sub_02032E8C + ldr r0, _020331C0 ; =FUN_02032E8C mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _020331BA: pop {r3, pc} .balign 4 -_020331BC: .word sub_02032440 + 1 -_020331C0: .word sub_02032E8C + 1 +_020331BC: .word FUN_02032440 + 1 +_020331C0: .word FUN_02032E8C + 1 - thumb_func_start sub_020331C4 -sub_020331C4: ; 0x020331C4 + thumb_func_start FUN_020331C4 +FUN_020331C4: ; 0x020331C4 push {r3, lr} ldr r0, _020331E0 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _020331DC mov r0, #0x1 - bl sub_020166B8 - ldr r0, _020331E4 ; =sub_02032440 + bl FUN_020166B8 + ldr r0, _020331E4 ; =FUN_02032440 mov r1, #0x5 - bl sub_02031D20 + bl FUN_02031D20 _020331DC: pop {r3, pc} nop _020331E0: .word 0x021C5A00 -_020331E4: .word sub_02032440 + 1 +_020331E4: .word FUN_02032440 + 1 - thumb_func_start sub_020331E8 -sub_020331E8: ; 0x020331E8 + thumb_func_start FUN_020331E8 +FUN_020331E8: ; 0x020331E8 push {r3, lr} ldr r0, _02033200 ; =0x021C5A00 ldr r0, [r0, #0x0] @@ -102484,21 +102484,21 @@ sub_020331E8: ; 0x020331E8 add r0, #0x41 strb r1, [r0, #0x0] ldr r0, _02033204 ; =0x020330A1 - bl sub_02031D20 + bl FUN_02031D20 _020331FE: pop {r3, pc} .balign 4 _02033200: .word 0x021C5A00 _02033204: .word 0x020330A1 - thumb_func_start sub_02033208 -sub_02033208: ; 0x02033208 + thumb_func_start FUN_02033208 +FUN_02033208: ; 0x02033208 push {r3, lr} ldr r0, _02033234 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033232 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02033220 mov r1, #0x0 @@ -102513,32 +102513,32 @@ _02033224: strb r1, [r0, #0x0] ldr r0, _02033238 ; =0x020330A1 mov r1, #0x0 - bl sub_02031D20 + bl FUN_02031D20 _02033232: pop {r3, pc} .balign 4 _02033234: .word 0x021C5A00 _02033238: .word 0x020330A1 - thumb_func_start sub_0203323C -sub_0203323C: ; 0x0203323C + thumb_func_start FUN_0203323C +FUN_0203323C: ; 0x0203323C push {r3, lr} - bl sub_02031190 + bl FUN_02031190 add r1, sp, #0x0 strb r0, [r1, #0x0] mov r0, #0x15 add r1, sp, #0x0 - bl sub_020311D0 + bl FUN_020311D0 pop {r3, pc} - thumb_func_start sub_02033250 -sub_02033250: ; 0x02033250 + thumb_func_start FUN_02033250 +FUN_02033250: ; 0x02033250 ldr r0, _0203327C ; =0x021C5A00 ldr r2, [r0, #0x0] cmp r2, #0x0 beq _02033276 ldr r1, [r2, #0x24] - ldr r0, _02033280 ; =sub_02032E8C + ldr r0, _02033280 ; =FUN_02032E8C cmp r1, r0 bne _02033264 mov r0, #0x1 @@ -102558,11 +102558,11 @@ _02033276: bx lr nop _0203327C: .word 0x021C5A00 -_02033280: .word sub_02032E8C + 1 +_02033280: .word FUN_02032E8C + 1 _02033284: .word 0x02032E91 - thumb_func_start sub_02033288 -sub_02033288: ; 0x02033288 + thumb_func_start FUN_02033288 +FUN_02033288: ; 0x02033288 push {r4, lr} add r4, r0, #0x0 ldr r0, _020332D8 ; =0x021C5A00 @@ -102573,15 +102573,15 @@ sub_02033288: ; 0x02033288 add r2, r1, #0x0 mov r0, #0x3 add r2, #0xf1 - bl sub_02016828 + bl FUN_02016828 mov r0, #0xf mov r1, #0x50 - bl sub_02016998 + bl FUN_02016998 ldr r1, _020332D8 ; =0x021C5A00 mov r2, #0x50 str r0, [r1, #0x0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _020332D8 ; =0x021C5A00 mov r2, #0x18 ldr r1, [r0, #0x0] @@ -102594,41 +102594,41 @@ sub_02033288: ; 0x02033288 ldr r0, [r0, #0x0] str r4, [r0, #0x28] mov r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 mov r0, #0x1 - bl sub_020166A8 + bl FUN_020166A8 _020332D6: pop {r4, pc} .balign 4 _020332D8: .word 0x021C5A00 - thumb_func_start sub_020332DC -sub_020332DC: ; 0x020332DC + thumb_func_start FUN_020332DC +FUN_020332DC: ; 0x020332DC push {r3, lr} ldr r0, _0203330C ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033308 mov r0, #0x1 - bl sub_020166B8 + bl FUN_020166B8 mov r0, #0x0 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 ldr r0, _0203330C ; =0x021C5A00 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0203330C ; =0x021C5A00 mov r1, #0x0 str r1, [r0, #0x0] mov r0, #0xf - bl sub_020168D0 + bl FUN_020168D0 _02033308: pop {r3, pc} nop _0203330C: .word 0x021C5A00 - thumb_func_start sub_02033310 -sub_02033310: ; 0x02033310 + thumb_func_start FUN_02033310 +FUN_02033310: ; 0x02033310 push {r4, lr} add r4, r0, #0x0 ldr r0, _02033360 ; =0x021C5A00 @@ -102639,15 +102639,15 @@ sub_02033310: ; 0x02033310 add r2, r1, #0x0 mov r0, #0x3 add r2, #0xf1 - bl sub_02016828 + bl FUN_02016828 mov r0, #0xf mov r1, #0x50 - bl sub_02016998 + bl FUN_02016998 ldr r1, _02033360 ; =0x021C5A00 mov r2, #0x50 str r0, [r1, #0x0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _02033360 ; =0x021C5A00 mov r2, #0x19 ldr r1, [r0, #0x0] @@ -102660,41 +102660,41 @@ sub_02033310: ; 0x02033310 ldr r0, [r0, #0x0] str r4, [r0, #0x28] mov r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 mov r0, #0x1 - bl sub_020166A8 + bl FUN_020166A8 _0203335E: pop {r4, pc} .balign 4 _02033360: .word 0x021C5A00 - thumb_func_start sub_02033364 -sub_02033364: ; 0x02033364 + thumb_func_start FUN_02033364 +FUN_02033364: ; 0x02033364 push {r3, lr} ldr r0, _02033394 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033390 mov r0, #0x1 - bl sub_020166B8 + bl FUN_020166B8 mov r0, #0x0 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 ldr r0, _02033394 ; =0x021C5A00 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02033394 ; =0x021C5A00 mov r1, #0x0 str r1, [r0, #0x0] mov r0, #0xf - bl sub_020168D0 + bl FUN_020168D0 _02033390: pop {r3, pc} nop _02033394: .word 0x021C5A00 - thumb_func_start sub_02033398 -sub_02033398: ; 0x02033398 + thumb_func_start FUN_02033398 +FUN_02033398: ; 0x02033398 push {r3, lr} sub sp, #0x8 ldr r0, _020333EC ; =0x021C5A00 @@ -102711,10 +102711,10 @@ _020333AA: bne _020333C8 add r0, sp, #0x4 add r1, sp, #0x0 - blx sub_021DD718 + blx FUN_021DD718 cmp r0, #0x0 beq _020333E4 - blx sub_021DD6F0 + blx FUN_021DD6F0 add sp, #0x8 mov r0, #0x1 pop {r3, pc} @@ -102723,7 +102723,7 @@ _020333C8: bne _020333E4 add r0, sp, #0x4 add r1, sp, #0x0 - blx sub_021DD718 + blx FUN_021DD718 cmp r0, #0x0 beq _020333E4 ldr r0, [sp, #0x0] @@ -102756,8 +102756,8 @@ _020333F0: .byte 0x80, 0x70, 0x00, 0x00, 0x00, 0x5A, 0x1C, 0x02, 0x1D, 0x34, 0x03, 0x02, 0x01, 0x48, 0x00, 0x68 .byte 0x00, 0x68, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 - thumb_func_start sub_020334E8 -sub_020334E8: ; 0x020334E8 + thumb_func_start FUN_020334E8 +FUN_020334E8: ; 0x020334E8 push {r4, lr} add r4, r0, #0x0 ldr r0, _0203350C ; =0x021C5A00 @@ -102771,15 +102771,15 @@ sub_020334E8: ; 0x020334E8 strb r1, [r0, #0x0] _020334FE: add r0, r4, #0x0 - bl sub_0202EE84 + bl FUN_0202EE84 add r0, r4, #0x0 - bl sub_0202EEB0 + bl FUN_0202EEB0 pop {r4, pc} .balign 4 _0203350C: .word 0x021C5A00 - thumb_func_start sub_02033510 -sub_02033510: ; 0x02033510 + thumb_func_start FUN_02033510 +FUN_02033510: ; 0x02033510 ldr r0, _02033530 ; =0x021C5A00 ldr r1, [r0, #0x0] cmp r1, #0x0 @@ -102801,8 +102801,8 @@ _0203352C: .balign 4 _02033530: .word 0x021C5A00 - thumb_func_start sub_02033534 -sub_02033534: ; 0x02033534 + thumb_func_start FUN_02033534 +FUN_02033534: ; 0x02033534 ldr r0, _02033548 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -102816,8 +102816,8 @@ _02033542: nop _02033548: .word 0x021C5A00 - thumb_func_start sub_0203354C -sub_0203354C: ; 0x0203354C + thumb_func_start FUN_0203354C +FUN_0203354C: ; 0x0203354C ldr r0, _02033560 ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -102831,35 +102831,35 @@ _0203355A: nop _02033560: .word 0x021C5A00 - thumb_func_start sub_02033564 -sub_02033564: ; 0x02033564 + thumb_func_start FUN_02033564 +FUN_02033564: ; 0x02033564 ldr r1, _02033570 ; =0x021C5A00 - ldr r3, _02033574 ; =sub_020CE3E0 + ldr r3, _02033574 ; =FUN_020CE3E0 ldr r1, [r1, #0x0] mov r2, #0x6 add r1, r1, #0x4 bx r3 .balign 4 _02033570: .word 0x021C5A00 -_02033574: .word sub_020CE3E0 +_02033574: .word FUN_020CE3E0 - thumb_func_start sub_02033578 -sub_02033578: ; 0x02033578 + thumb_func_start FUN_02033578 +FUN_02033578: ; 0x02033578 add r1, r0, #0x0 ldr r0, _02033588 ; =0x021C5A00 - ldr r3, _0203358C ; =sub_020CE3E0 + ldr r3, _0203358C ; =FUN_020CE3E0 ldr r0, [r0, #0x0] mov r2, #0x6 add r0, r0, #0x4 bx r3 nop _02033588: .word 0x021C5A00 -_0203358C: .word sub_020CE3E0 +_0203358C: .word FUN_020CE3E0 - thumb_func_start sub_02033590 -sub_02033590: ; 0x02033590 + thumb_func_start FUN_02033590 +FUN_02033590: ; 0x02033590 push {r3, lr} - bl sub_02033534 + bl FUN_02033534 cmp r0, #0x13 blt _0203359E mov r0, #0x1 @@ -102869,8 +102869,8 @@ _0203359E: pop {r3, pc} .balign 4 - thumb_func_start sub_020335A4 -sub_020335A4: ; 0x020335A4 + thumb_func_start FUN_020335A4 +FUN_020335A4: ; 0x020335A4 ldr r1, _020335B4 ; =0x021C5A00 ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -102882,8 +102882,8 @@ _020335B0: nop _020335B4: .word 0x021C5A00 - thumb_func_start sub_020335B8 -sub_020335B8: ; 0x020335B8 + thumb_func_start FUN_020335B8 +FUN_020335B8: ; 0x020335B8 ldr r0, _020335CC ; =0x021C5A00 ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -102897,46 +102897,46 @@ _020335C6: nop _020335CC: .word 0x021C5A00 - thumb_func_start sub_020335D0 -sub_020335D0: ; 0x020335D0 + thumb_func_start FUN_020335D0 +FUN_020335D0: ; 0x020335D0 push {r3, lr} add r2, r0, #0x0 mov r0, #0x0 mov r1, #0x1 - bl sub_02033F70 + bl FUN_02033F70 _020335DC: b _020335DC .balign 4 - thumb_func_start sub_020335E0 -sub_020335E0: ; 0x020335E0 + thumb_func_start FUN_020335E0 +FUN_020335E0: ; 0x020335E0 push {r3, lr} mov r0, #0x0 mov r1, #0x4 add r2, r0, #0x0 - bl sub_02033F70 + bl FUN_02033F70 _020335EC: b _020335EC .balign 4 - thumb_func_start sub_020335F0 -sub_020335F0: ; 0x020335F0 + thumb_func_start FUN_020335F0 +FUN_020335F0: ; 0x020335F0 bx lr .balign 4 - thumb_func_start sub_020335F4 -sub_020335F4: ; 0x020335F4 + thumb_func_start FUN_020335F4 +FUN_020335F4: ; 0x020335F4 push {r3, lr} - bl sub_02033510 + bl FUN_02033510 cmp r0, #0x0 beq _0203366C - bl sub_020311F0 + bl FUN_020311F0 cmp r0, #0x0 bne _02033622 - bl sub_02033250 + bl FUN_02033250 cmp r0, #0x0 bne _02033622 - bl sub_02033398 + bl FUN_02033398 cmp r0, #0x0 bne _02033622 ldr r0, _02033670 ; =0x021C5A00 @@ -102946,14 +102946,14 @@ sub_020335F4: ; 0x020335F4 cmp r0, #0x0 beq _0203366C _02033622: - bl sub_020335B8 + bl FUN_020335B8 cmp r0, #0x0 bne _0203366C - bl sub_0200541C + bl FUN_0200541C ldr r0, _02033670 ; =0x021C5A00 ldr r0, [r0, #0x0] ldr r0, [r0, #0x28] - bl sub_0202287C + bl FUN_0202287C ldr r1, _02033674 ; =0x021C4918 mov r0, #0x1 strb r0, [r1, #0x4] @@ -102965,7 +102965,7 @@ _02033622: cmp r1, #0x3 bne _02033654 mov r0, #0x3 - bl sub_020335A4 + bl FUN_020335A4 pop {r3, pc} _02033654: add r2, #0x3f @@ -102976,30 +102976,30 @@ _02033654: bne _02033668 _02033660: mov r0, #0x2 - bl sub_020335A4 + bl FUN_020335A4 pop {r3, pc} _02033668: - bl sub_020335A4 + bl FUN_020335A4 _0203366C: pop {r3, pc} nop _02033670: .word 0x021C5A00 _02033674: .word 0x021C4918 - thumb_func_start sub_02033678 -sub_02033678: ; 0x02033678 + thumb_func_start FUN_02033678 +FUN_02033678: ; 0x02033678 push {r3, lr} - bl sub_0202EDD8 + bl FUN_0202EDD8 cmp r0, #0x0 bne _0203368A - bl sub_02031810 + bl FUN_02031810 cmp r0, #0x0 bne _0203368E _0203368A: mov r0, #0x1 pop {r3, pc} _0203368E: - bl sub_0202E344 + bl FUN_0202E344 cmp r0, #0x0 bne _0203369A mov r0, #0x1 @@ -103009,8 +103009,8 @@ _0203369A: pop {r3, pc} .balign 4 - thumb_func_start sub_020336A0 -sub_020336A0: ; 0x020336A0 + thumb_func_start FUN_020336A0 +FUN_020336A0: ; 0x020336A0 push {r3, lr} ldr r1, _020336BC ; =0x021C5A00 ldr r1, [r1, #0x0] @@ -103018,7 +103018,7 @@ sub_020336A0: ; 0x020336A0 beq _020336B6 add r1, #0x4e strb r0, [r1, #0x0] - bl sub_02031468 + bl FUN_02031468 mov r0, #0x1 pop {r3, pc} _020336B6: @@ -103027,15 +103027,15 @@ _020336B6: nop _020336BC: .word 0x021C5A00 - thumb_func_start sub_020336C0 -sub_020336C0: ; 0x020336C0 + thumb_func_start FUN_020336C0 +FUN_020336C0: ; 0x020336C0 mov r1, #0x0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020336C8 -sub_020336C8: ; 0x020336C8 + thumb_func_start FUN_020336C8 +FUN_020336C8: ; 0x020336C8 push {r4-r6, lr} add r4, r2, #0x0 add r6, r1, #0x0 @@ -103057,7 +103057,7 @@ sub_020336C8: ; 0x020336C8 lsl r6, r0, #0x2 lsl r4, r1, #0x2 mov r0, #0x6f - bl sub_02031588 + bl FUN_02031588 mov r0, #0x1 str r0, [r4, #0x0] b _02033774 @@ -103075,37 +103075,37 @@ _02033774: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02033778 -sub_02033778: ; 0x02033778 + thumb_func_start FUN_02033778 +FUN_02033778: ; 0x02033778 push {r3-r7, lr} str r0, [sp, #0x0] - bl sub_02030F20 + bl FUN_02030F20 add r7, r0, #0x0 mov r0, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 cmp r0, #0x0 beq _020337C6 mov r5, #0x0 cmp r7, #0x0 ble _020337C6 _02033792: - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _020337C0 add r0, r5, #0x0 - bl sub_0202E020 + bl FUN_0202E020 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0202E044 + bl FUN_0202E044 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0202DFA4 - bl sub_02023A70 + bl FUN_0202DFA4 + bl FUN_02023A70 add r3, r0, #0x0 ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020337C8 + bl FUN_020337C8 _020337C0: add r5, r5, #0x1 cmp r5, r7 @@ -103113,85 +103113,85 @@ _020337C0: _020337C6: pop {r3-r7, pc} - thumb_func_start sub_020337C8 -sub_020337C8: ; 0x020337C8 + thumb_func_start FUN_020337C8 +FUN_020337C8: ; 0x020337C8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02029B40 + bl FUN_02029B40 cmp r0, #0x0 bne _020337E4 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 mov r3, #0x1 - bl sub_02029B90 + bl FUN_02029B90 _020337E4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020337E8 -sub_020337E8: ; 0x020337E8 + thumb_func_start FUN_020337E8 +FUN_020337E8: ; 0x020337E8 push {r3-r5, lr} mov r1, #0x72 lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, #0x1f mov r1, #0x1f bic r0, r1 - blx sub_02096B14 + blx FUN_02096B14 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203380C -sub_0203380C: ; 0x0203380C + thumb_func_start FUN_0203380C +FUN_0203380C: ; 0x0203380C push {r4, lr} - bl sub_02028228 + bl FUN_02028228 add r4, r0, #0x0 - blx sub_02096FB0 + blx FUN_02096FB0 cmp r0, #0x0 bne _0203382A ldr r1, _0203382C ; =0x4144414A add r0, r4, #0x0 - blx sub_02096FF4 + blx FUN_02096FF4 add r0, r4, #0x0 - blx sub_02096E90 + blx FUN_02096E90 _0203382A: pop {r4, pc} .balign 4 _0203382C: .word 0x4144414A - thumb_func_start sub_02033830 -sub_02033830: ; 0x02033830 + thumb_func_start FUN_02033830 +FUN_02033830: ; 0x02033830 push {r3-r4, lr} sub sp, #0xc - bl sub_02028228 + bl FUN_02028228 add r4, r0, #0x0 add r1, sp, #0x0 - blx sub_02096CCC + blx FUN_02096CCC add r0, r4, #0x0 add r1, sp, #0x0 - blx sub_02096DA0 + blx FUN_02096DA0 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0203384C -sub_0203384C: ; 0x0203384C + thumb_func_start FUN_0203384C +FUN_0203384C: ; 0x0203384C push {r4, lr} - bl sub_020286EC - bl sub_02028228 + bl FUN_020286EC + bl FUN_02028228 add r4, r0, #0x0 - blx sub_02096F80 + blx FUN_02096F80 cmp r0, #0x0 beq _0203386E add r0, r4, #0x0 - blx sub_02096F18 + blx FUN_02096F18 cmp r0, #0x0 beq _0203386E mov r0, #0x1 @@ -103201,27 +103201,27 @@ _0203386E: pop {r4, pc} .balign 4 - thumb_func_start sub_02033874 -sub_02033874: ; 0x02033874 + thumb_func_start FUN_02033874 +FUN_02033874: ; 0x02033874 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 str r2, [sp, #0x0] - bl sub_020286EC - bl sub_02028228 + bl FUN_020286EC + bl FUN_02028228 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020286EC + bl FUN_020286EC mov r1, #0x0 - bl sub_0202838C + bl FUN_0202838C add r4, r0, #0x0 mov r1, #0x0 ldr r0, [sp, #0x0] mvn r1, r1 str r1, [r0, #0x0] add r0, r5, #0x0 - blx sub_0209700C + blx FUN_0209700C cmp r0, #0x0 bne _020338AE add sp, #0x8 @@ -103232,7 +103232,7 @@ _020338AE: _020338B0: add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_02096B78 + blx FUN_02096B78 cmp r0, #0x0 beq _020338C6 ldr r0, [sp, #0x0] @@ -103243,16 +103243,16 @@ _020338B0: _020338C6: add r0, r6, #0x0 add r1, r5, #0x0 - blx sub_02096DA0 + blx FUN_02096DA0 cmp r0, #0x0 ble _020338F4 add r0, r6, #0x0 add r1, r5, #0x0 - blx sub_02096DA0 + blx FUN_02096DA0 str r0, [sp, #0x4] add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_02096DA0 + blx FUN_02096DA0 ldr r1, [sp, #0x4] cmp r1, r0 bne _020338F4 @@ -103267,7 +103267,7 @@ _020338F4: cmp r0, #0x0 bge _0203390A add r0, r4, #0x0 - blx sub_0209700C + blx FUN_0209700C cmp r0, #0x0 bne _0203390A ldr r0, [sp, #0x0] @@ -103281,26 +103281,26 @@ _0203390A: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02033918 -sub_02033918: ; 0x02033918 + thumb_func_start FUN_02033918 +FUN_02033918: ; 0x02033918 push {r3-r7, lr} sub sp, #0x18 add r4, r0, #0x0 str r1, [sp, #0x0] str r2, [sp, #0x4] add r6, r3, #0x0 - bl sub_020286EC - bl sub_02028228 + bl FUN_020286EC + bl FUN_02028228 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_020286EC + bl FUN_020286EC mov r1, #0x0 - bl sub_0202838C + bl FUN_0202838C add r5, r0, #0x0 ldr r1, [sp, #0x0] ldr r2, [sp, #0x4] add r0, r7, #0x0 - blx sub_020973B4 + blx FUN_020973B4 cmp r0, #0x0 bne _02033950 add sp, #0x18 @@ -103310,10 +103310,10 @@ _02033950: ldr r1, [sp, #0x0] ldr r2, [sp, #0x4] add r0, sp, #0xc - blx sub_02096D2C + blx FUN_02096D2C add r0, r7, #0x0 add r1, sp, #0xc - blx sub_02096DA0 + blx FUN_02096DA0 cmp r0, #0x0 bgt _0203396C add sp, #0x18 @@ -103327,11 +103327,11 @@ _0203396C: _02033974: add r0, r7, #0x0 add r1, sp, #0xc - blx sub_02096DA0 + blx FUN_02096DA0 str r0, [sp, #0x8] add r0, r7, #0x0 add r1, r5, #0x0 - blx sub_02096DA0 + blx FUN_02096DA0 ldr r1, [sp, #0x8] cmp r1, r0 bne _02033994 @@ -103344,7 +103344,7 @@ _02033994: cmp r0, #0x0 bge _020339A6 add r0, r5, #0x0 - blx sub_0209700C + blx FUN_0209700C cmp r0, #0x0 bne _020339A6 str r4, [r6, #0x0] @@ -103357,8 +103357,8 @@ _020339A6: add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_020339B4 -sub_020339B4: ; 0x020339B4 + thumb_func_start FUN_020339B4 +FUN_020339B4: ; 0x020339B4 push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 @@ -103366,30 +103366,30 @@ sub_020339B4: ; 0x020339B4 add r5, r0, #0x0 str r2, [sp, #0x4] str r1, [sp, #0xc] - bl sub_020286EC + bl FUN_020286EC mov r1, #0x0 - bl sub_0202838C + bl FUN_0202838C str r0, [sp, #0x8] mov r4, #0x0 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x0 ble _02033A68 _020339D8: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 beq _02033A5C add r0, r4, #0x0 - bl sub_0202DFD8 + bl FUN_0202DFD8 add r7, r0, #0x0 beq _02033A5C add r0, r5, #0x0 add r1, r7, #0x0 add r2, sp, #0x10 - bl sub_02033874 + bl FUN_02033874 str r0, [r6, #0x0] cmp r0, #0x3 bne _020339FE - bl sub_02020C2C + bl FUN_02020C2C _020339FE: ldr r0, [r6, #0x0] cmp r0, #0x0 @@ -103400,14 +103400,14 @@ _020339FE: ldr r3, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02033A70 + bl FUN_02033A70 add r0, r5, #0x0 - bl sub_0202E1BC + bl FUN_0202E1BC b _02033A5C _02033A1C: cmp r0, #0x1 bne _02033A54 - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 bne _02033A5C mov r0, #0x1 @@ -103416,7 +103416,7 @@ _02033A1C: ldr r3, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02033A70 + bl FUN_02033A70 ldr r2, [sp, #0x10] mov r1, #0xc add r3, r2, #0x0 @@ -103425,9 +103425,9 @@ _02033A1C: add r0, r7, #0x0 add r1, r1, r3 mov r2, #0xc - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r5, #0x0 - bl sub_0202E1BC + bl FUN_0202E1BC b _02033A5C _02033A54: cmp r0, #0x2 @@ -103437,7 +103437,7 @@ _02033A54: _02033A5C: add r6, r6, #0x4 add r4, r4, #0x1 - bl sub_02030F20 + bl FUN_02030F20 cmp r4, r0 blt _020339D8 _02033A68: @@ -103446,58 +103446,58 @@ _02033A68: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02033A70 -sub_02033A70: ; 0x02033A70 + thumb_func_start FUN_02033A70 +FUN_02033A70: ; 0x02033A70 push {r4-r7, lr} sub sp, #0x14 add r5, r2, #0x0 str r0, [sp, #0x0] add r7, r1, #0x0 str r3, [sp, #0x4] - bl sub_020286EC + bl FUN_020286EC add r1, r5, #0x0 add r4, r0, #0x0 - bl sub_0202838C + bl FUN_0202838C str r0, [sp, #0x8] add r0, r7, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r6, r0, #0x0 ldr r0, [sp, #0x28] cmp r0, #0x2 beq _02033AA6 add r0, r7, #0x0 - bl sub_0202DFD8 + bl FUN_0202DFD8 ldr r1, [sp, #0x8] mov r2, #0xc - blx sub_020CE3E0 + blx FUN_020CE3E0 _02033AA6: ldr r0, [sp, #0x28] cmp r0, #0x0 bne _02033AEC ldr r1, [sp, #0x4] add r0, r6, #0x0 - bl sub_020239A0 + bl FUN_020239A0 str r0, [sp, #0xc] ldr r2, [sp, #0xc] add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020283C0 + bl FUN_020283C0 ldr r0, [sp, #0xc] - bl sub_02021A20 + bl FUN_02021A20 add r0, r6, #0x0 - bl sub_020239CC + bl FUN_020239CC add r3, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x8 - bl sub_020282E8 + bl FUN_020282E8 add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC add r3, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 - bl sub_020282E8 + bl FUN_020282E8 b _02033B22 _02033AEC: cmp r0, #0x1 @@ -103505,54 +103505,54 @@ _02033AEC: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x8 - bl sub_0202822C + bl FUN_0202822C cmp r0, #0x2 bne _02033B22 add r0, r6, #0x0 - bl sub_020239CC + bl FUN_020239CC add r3, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x8 - bl sub_020282E8 + bl FUN_020282E8 add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC add r3, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 - bl sub_020282E8 + bl FUN_020282E8 _02033B22: ldr r1, [sp, #0x4] mov r0, #0x78 - bl sub_020219F4 + bl FUN_020219F4 str r0, [sp, #0x10] add r0, r7, #0x0 - bl sub_0202DFFC + bl FUN_0202DFFC add r1, r0, #0x0 ldr r0, [sp, #0x10] - bl sub_02021E28 + bl FUN_02021E28 ldr r2, [sp, #0x10] add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02028404 + bl FUN_02028404 ldr r0, [sp, #0x10] - bl sub_02021A20 + bl FUN_02021A20 add r0, r6, #0x0 - bl sub_02023A28 + bl FUN_02023A28 add r3, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x7 - bl sub_020282E8 + bl FUN_020282E8 ldr r0, [sp, #0x0] - bl sub_0202E1BC + bl FUN_0202E1BC add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02033B68 -sub_02033B68: ; 0x02033B68 + thumb_func_start FUN_02033B68 +FUN_02033B68: ; 0x02033B68 push {r4-r6, lr} add r4, r1, #0x0 add r5, r2, #0x0 @@ -103562,19 +103562,19 @@ sub_02033B68: ; 0x02033B68 mov r0, #0x1 lsl r2, r2, #0x6 add r3, r4, #0x0 - bl sub_02033D3C + bl FUN_02033D3C ldr r1, [sp, #0x10] mov r0, #0x1 add r2, r4, #0x0 - bl sub_02033D9C + bl FUN_02033D9C add r0, r4, #0x0 mov r1, #0x20 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 - ldr r0, _02033BC4 ; =sub_02033BC8 + ldr r0, _02033BC4 ; =FUN_02033BC8 add r1, r4, #0x0 mov r2, #0x5 - bl sub_0200CA98 + bl FUN_0200CA98 str r0, [r4, #0x18] strh r5, [r4, #0xc] strh r6, [r4, #0xe] @@ -103595,10 +103595,10 @@ sub_02033B68: ; 0x02033B68 add r0, r4, #0x0 pop {r4-r6, pc} nop -_02033BC4: .word sub_02033BC8 + 1 +_02033BC4: .word FUN_02033BC8 + 1 - thumb_func_start sub_02033BC8 -sub_02033BC8: ; 0x02033BC8 + thumb_func_start FUN_02033BC8 +FUN_02033BC8: ; 0x02033BC8 push {r3-r7, lr} add r5, r1, #0x0 ldrb r0, [r5, #0x11] @@ -103645,7 +103645,7 @@ _02033C06: ldr r0, _02033CB4 ; =0x00300010 add r7, r1, #0x0 and r7, r0 - blx sub_020C5DBC + blx FUN_020C5DBC b _02033C2C _02033C1E: ldr r0, _02033CB8 ; =0x04001000 @@ -103653,7 +103653,7 @@ _02033C1E: ldr r0, _02033CB4 ; =0x00300010 add r7, r1, #0x0 and r7, r0 - blx sub_020C5D4C + blx FUN_020C5D4C _02033C2C: cmp r7, #0x10 beq _02033C38 @@ -103740,8 +103740,8 @@ _02033CBC: .word 0x00200010 _02033CC0: .word 0x07000400 _02033CC4: .word 0x40000200 - thumb_func_start sub_02033CC8 -sub_02033CC8: ; 0x02033CC8 + thumb_func_start FUN_02033CC8 +FUN_02033CC8: ; 0x02033CC8 cmp r1, #0x4 bge _02033CD2 str r1, [r0, #0x4] @@ -103750,12 +103750,12 @@ sub_02033CC8: ; 0x02033CC8 _02033CD2: bx lr - thumb_func_start sub_02033CD4 -sub_02033CD4: ; 0x02033CD4 + thumb_func_start FUN_02033CD4 +FUN_02033CD4: ; 0x02033CD4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] - bl sub_0200CAB4 + bl FUN_0200CAB4 mov r0, #0x7 ldr r2, _02033D00 ; =0x40000200 lsl r0, r0, #0x18 @@ -103770,14 +103770,14 @@ sub_02033CD4: ; 0x02033CD4 strh r1, [r0, #0x4] _02033CF6: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} nop _02033D00: .word 0x40000200 _02033D04: .word 0x07000400 - thumb_func_start sub_02033D08 -sub_02033D08: ; 0x02033D08 + thumb_func_start FUN_02033D08 +FUN_02033D08: ; 0x02033D08 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -103787,11 +103787,11 @@ sub_02033D08: ; 0x02033D08 mov r0, #0x2 lsl r2, r2, #0x6 add r3, r6, #0x0 - bl sub_02033D3C + bl FUN_02033D3C ldrb r1, [r5, #0x10] mov r0, #0x2 add r2, r6, #0x0 - bl sub_02033D9C + bl FUN_02033D9C cmp r4, #0x0 beq _02033D30 mov r0, #0x1 @@ -103805,8 +103805,8 @@ _02033D32: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02033D3C -sub_02033D3C: ; 0x02033D3C + thumb_func_start FUN_02033D3C +FUN_02033D3C: ; 0x02033D3C push {r3-r5, lr} sub sp, #0x8 mov r1, #0x96 @@ -103814,45 +103814,45 @@ sub_02033D3C: ; 0x02033D3C add r0, r3, #0x0 lsl r1, r1, #0x2 add r4, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 str r0, [sp, #0x4] cmp r0, #0x0 beq _02033D92 ldr r0, _02033D98 ; =0x02105D88 add r1, sp, #0x4 - bl sub_020161F8 + bl FUN_020161F8 mov r1, #0x96 ldr r0, [sp, #0x4] lsl r1, r1, #0x2 - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [sp, #0x4] add r1, sp, #0x0 - blx sub_020B0138 + blx FUN_020B0138 cmp r5, #0x1 bne _02033D80 ldr r0, [sp, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0xc] mov r2, #0x20 - blx sub_020C9480 + blx FUN_020C9480 b _02033D8C _02033D80: ldr r0, [sp, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0xc] mov r2, #0x20 - blx sub_020C9418 + blx FUN_020C9418 _02033D8C: ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 _02033D92: add sp, #0x8 pop {r3-r5, pc} nop _02033D98: .word 0x02105D88 - thumb_func_start sub_02033D9C -sub_02033D9C: ; 0x02033D9C + thumb_func_start FUN_02033D9C +FUN_02033D9C: ; 0x02033D9C push {r3-r5, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -103860,7 +103860,7 @@ sub_02033D9C: ; 0x02033D9C add r5, r0, #0x0 add r0, r2, #0x0 lsl r1, r1, #0x2 - bl sub_020169D8 + bl FUN_020169D8 str r0, [sp, #0x4] cmp r0, #0x0 beq _02033E58 @@ -103868,19 +103868,19 @@ sub_02033D9C: ; 0x02033D9C add r1, sp, #0x4 beq _02033DC2 ldr r0, _02033E5C ; =0x02105D98 - bl sub_020161F8 + bl FUN_020161F8 b _02033DC8 _02033DC2: ldr r0, _02033E60 ; =0x02105DA8 - bl sub_020161F8 + bl FUN_020161F8 _02033DC8: mov r1, #0x96 ldr r0, [sp, #0x4] lsl r1, r1, #0x2 - blx sub_020CC15C + blx FUN_020CC15C ldr r0, [sp, #0x4] add r1, sp, #0x0 - blx sub_020B0088 + blx FUN_020B0088 cmp r5, #0x1 bne _02033DF0 mov r0, #0x1 @@ -103889,7 +103889,7 @@ _02033DC8: ldr r0, _02033E64 ; =0x00300010 add r4, r1, #0x0 and r4, r0 - blx sub_020C5DBC + blx FUN_020C5DBC b _02033E00 _02033DF0: mov r0, #0x1 @@ -103898,7 +103898,7 @@ _02033DF0: ldr r0, _02033E64 ; =0x00300010 add r4, r1, #0x0 and r4, r0 - blx sub_020C5DBC + blx FUN_020C5DBC _02033E00: cmp r4, #0x10 beq _02033E0C @@ -103940,17 +103940,17 @@ _02033E34: mov r2, #0x2 ldr r0, [r0, #0x14] lsl r2, r2, #0x8 - blx sub_020C92F4 + blx FUN_020C92F4 b _02033E52 _02033E46: ldr r0, [sp, #0x0] mov r2, #0x2 ldr r0, [r0, #0x14] lsl r2, r2, #0x8 - blx sub_020C9294 + blx FUN_020C9294 _02033E52: ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 _02033E58: add sp, #0x8 pop {r3-r5, pc} @@ -103962,11 +103962,11 @@ _02033E68: .word 0x00200010 _02033E6C: .word 0x00013E00 _02033E70: .word 0x0001FE00 - thumb_func_start sub_02033E74 -sub_02033E74: ; 0x02033E74 + thumb_func_start FUN_02033E74 +FUN_02033E74: ; 0x02033E74 push {r4, lr} mov r4, #0x0 - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 beq _02033E82 mov r4, #0x1 @@ -103974,25 +103974,25 @@ _02033E82: mov r0, #0xf0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02033E90 + bl FUN_02033E90 pop {r4, pc} .balign 4 - thumb_func_start sub_02033E90 -sub_02033E90: ; 0x02033E90 + thumb_func_start FUN_02033E90 +FUN_02033E90: ; 0x02033E90 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 - bl sub_0202E4DC + bl FUN_0202E4DC cmp r0, #0x0 beq _02033EC4 ldr r0, _02033EC8 ; =0x021C5A04 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033EAE - bl sub_02033ED0 + bl FUN_02033ED0 _02033EAE: ldr r0, _02033ECC ; =0x02105D74 str r4, [sp, #0x0] @@ -104001,7 +104001,7 @@ _02033EAE: mov r1, #0x5b add r2, r5, #0x0 add r3, r6, #0x0 - bl sub_02033B68 + bl FUN_02033B68 ldr r1, _02033EC8 ; =0x021C5A04 str r0, [r1, #0x0] _02033EC4: @@ -104011,14 +104011,14 @@ _02033EC4: _02033EC8: .word 0x021C5A04 _02033ECC: .word 0x02105D74 - thumb_func_start sub_02033ED0 -sub_02033ED0: ; 0x02033ED0 + thumb_func_start FUN_02033ED0 +FUN_02033ED0: ; 0x02033ED0 push {r3, lr} ldr r0, _02033EE8 ; =0x021C5A04 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033EE4 - bl sub_02033CD4 + bl FUN_02033CD4 ldr r0, _02033EE8 ; =0x021C5A04 mov r1, #0x0 str r1, [r0, #0x0] @@ -104027,22 +104027,22 @@ _02033EE4: nop _02033EE8: .word 0x021C5A04 - thumb_func_start sub_02033EEC -sub_02033EEC: ; 0x02033EEC + thumb_func_start FUN_02033EEC +FUN_02033EEC: ; 0x02033EEC push {r3, lr} add r1, r0, #0x0 ldr r0, _02033F00 ; =0x021C5A04 ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02033EFC - bl sub_02033CC8 + bl FUN_02033CC8 _02033EFC: pop {r3, pc} nop _02033F00: .word 0x021C5A04 - thumb_func_start sub_02033F04 -sub_02033F04: ; 0x02033F04 + thumb_func_start FUN_02033F04 +FUN_02033F04: ; 0x02033F04 push {r3, lr} add r3, r0, #0x0 ldr r0, _02033F1C ; =0x021C5A04 @@ -104051,54 +104051,54 @@ sub_02033F04: ; 0x02033F04 cmp r0, #0x0 beq _02033F18 add r1, r3, #0x0 - bl sub_02033D08 + bl FUN_02033D08 _02033F18: pop {r3, pc} nop _02033F1C: .word 0x021C5A04 - thumb_func_start sub_02033F20 -sub_02033F20: ; 0x02033F20 + thumb_func_start FUN_02033F20 +FUN_02033F20: ; 0x02033F20 push {r3, lr} - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 beq _02033F40 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x1 bgt _02033F3A - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 beq _02033F4C _02033F3A: - bl sub_02033E74 + bl FUN_02033E74 pop {r3, pc} _02033F40: - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 beq _02033F4C - bl sub_02033E74 + bl FUN_02033E74 _02033F4C: pop {r3, pc} .balign 4 - thumb_func_start sub_02033F50 -sub_02033F50: ; 0x02033F50 + thumb_func_start FUN_02033F50 +FUN_02033F50: ; 0x02033F50 ldr r3, _02033F64 ; =0x027E0000 ldr r1, _02033F68 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] - ldr r3, _02033F6C ; =sub_020CDA1C + ldr r3, _02033F6C ; =FUN_020CDA1C mov r0, #0x3 bx r3 nop _02033F64: .word 0x027E0000 _02033F68: .word 0x00003FF8 -_02033F6C: .word sub_020CDA1C +_02033F6C: .word FUN_020CDA1C - thumb_func_start sub_02033F70 -sub_02033F70: ; 0x02033F70 + thumb_func_start FUN_02033F70 +FUN_02033F70: ; 0x02033F70 push {r3-r7, lr} sub sp, #0x28 add r4, r0, #0x0 @@ -104125,25 +104125,25 @@ _02033F96: _02033FA4: mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 - blx sub_020C9E14 - ldr r1, _02034154 ; =sub_02033F50 + blx FUN_020C9E14 + ldr r1, _02034154 ; =FUN_02033F50 mov r0, #0x1 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x1 - blx sub_020C9E5C + blx FUN_020C9E5C mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -104156,11 +104156,11 @@ _02033FA4: str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _02034160 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _02034164 ; =0x04000050 mov r1, #0x0 strh r1, [r3, #0x0] @@ -104176,66 +104176,66 @@ _02033FA4: and r1, r2 str r1, [r0, #0x0] ldr r0, _02034170 ; =0x020EECD0 - bl sub_0201E66C + bl FUN_0201E66C add r0, r4, #0x0 - bl sub_02016B94 + bl FUN_02016B94 add r6, r0, #0x0 ldr r0, _02034174 ; =0x020EECA4 - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r2, _02034178 ; =0x020EECB4 add r0, r6, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r6, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _0203417C ; =0x000001F7 add r0, r6, #0x0 mov r3, #0x2 str r4, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _02034180 ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _02034180 ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc8 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0x10] mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r7, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 str r0, [sp, #0x14] - bl sub_0201BD5C + bl FUN_0201BD5C add r0, r4, #0x0 - bl sub_0200AA80 + bl FUN_0200AA80 add r4, r0, #0x0 ldr r2, _02034184 ; =0x020EEC9C add r0, r6, #0x0 add r1, sp, #0x18 - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -104244,12 +104244,12 @@ _02033FA4: add r0, sp, #0x18 mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _0203417C ; =0x000001F7 add r0, sp, #0x18 mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 @@ -104258,15 +104258,15 @@ _02033FA4: add r0, r4, #0x0 mov r1, #0x0 mov r3, #0x5 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [sp, #0x10] ldr r2, [sp, #0x14] add r1, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, [sp, #0x14] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -104274,30 +104274,30 @@ _02033FA4: add r2, r7, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r7, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 + bl FUN_0200A274 add r0, sp, #0x18 - bl sub_02019178 + bl FUN_02019178 ldr r0, [sp, #0x10] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x28 pop {r3-r7, pc} nop -_02034154: .word sub_02033F50 + 1 +_02034154: .word FUN_02033F50 + 1 _02034158: .word 0xFFFFE0FF _0203415C: .word 0x04001000 _02034160: .word 0x021C4918 @@ -104311,26 +104311,26 @@ _0203417C: .word 0x000001F7 _02034180: .word 0x00006C21 _02034184: .word 0x020EEC9C - thumb_func_start sub_02034188 -sub_02034188: ; 0x02034188 + thumb_func_start FUN_02034188 +FUN_02034188: ; 0x02034188 push {r4-r7, lr} sub sp, #0x24 add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 - bl sub_02015EF4 + bl FUN_0200E3A0 + bl FUN_02015EF4 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -104343,11 +104343,11 @@ sub_02034188: ; 0x02034188 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _02034370 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _02034374 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] @@ -104363,58 +104363,58 @@ sub_02034188: ; 0x02034188 and r0, r1 str r0, [r2, #0x0] ldr r0, _02034380 ; =0x020EED2C - bl sub_0201E66C + bl FUN_0201E66C add r0, r4, #0x0 - bl sub_02016B94 + bl FUN_02016B94 str r0, [sp, #0x10] ldr r0, _02034384 ; =0x020EED00 - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r0, [sp, #0x10] ldr r2, _02034388 ; =0x020EED10 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r0, [sp, #0x10] mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [sp, #0x10] ldr r2, _0203438C ; =0x000001F7 mov r3, #0x2 str r4, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _02034390 ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _02034390 ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r2, _02034394 ; =0x00000265 mov r0, #0x1 mov r1, #0x1a add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0xc] mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 - bl sub_0201BD5C + bl FUN_0201BD5C ldr r0, [sp, #0x10] ldr r2, _02034398 ; =0x020EECF8 add r1, sp, #0x14 - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -104423,16 +104423,16 @@ sub_02034188: ; 0x02034188 add r0, sp, #0x14 mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _0203438C ; =0x000001F7 add r0, sp, #0x14 mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 ldr r0, [sp, #0xc] mov r1, #0xf add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -104440,18 +104440,18 @@ sub_02034188: ; 0x02034188 add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 + bl FUN_0200A274 ldr r4, _0203439C ; =0x04000130 ldr r6, _020343A0 ; =0x027FFFA8 mov r7, #0x1 @@ -104464,48 +104464,48 @@ _020342E4: and r0, r1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 - bl sub_02000FE8 + bl FUN_02000FE8 add r0, r5, #0x0 tst r0, r7 bne _02034308 mov r0, #0x1 add r1, r0, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _020342E4 _02034308: add r0, sp, #0x14 - bl sub_02019178 + bl FUN_02019178 ldr r0, [sp, #0xc] - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x1 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x2 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x3 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x4 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x5 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x6 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x7 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C ldr r0, [sp, #0x10] mov r1, #0x0 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [sp, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x24 pop {r4-r7, pc} nop @@ -104526,8 +104526,8 @@ _0203439C: .word 0x04000130 _020343A0: .word 0x027FFFA8 _020343A4: .word 0x00002FFF - thumb_func_start sub_020343A8 -sub_020343A8: ; 0x020343A8 + thumb_func_start FUN_020343A8 +FUN_020343A8: ; 0x020343A8 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 @@ -104562,7 +104562,7 @@ _020343D8: mov r0, #0x29 mov r1, r12 mov r2, #0xb - bl sub_02006528 + bl FUN_02006528 add r6, r0, #0x0 ldrb r0, [r6, #0x0] add r5, r6, #0x5 @@ -104576,13 +104576,13 @@ _020343D8: ldrb r7, [r6, #0x4] cmp r7, #0x10 bls _0203440A - bl sub_02020C2C + bl FUN_02020C2C _0203440A: ldr r1, _02034490 ; =0x00001196 add r0, r5, #0x0 add r1, r4, r1 add r2, r7, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, [sp, #0x8] add r5, r5, r7 cmp r0, #0x0 @@ -104593,7 +104593,7 @@ _0203440A: add r1, r4, #0x2 mul r2, r3 lsl r2, r2, #0x1 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldrb r1, [r4, #0x1] ldrb r0, [r4, #0x0] mul r0, r1 @@ -104609,7 +104609,7 @@ _0203443A: mul r2, r3 lsr r0, r0, #0x10 lsl r2, r2, #0x1 - blx sub_020CE1C8 + blx FUN_020CE1C8 _0203444E: ldr r0, [sp, #0x4] cmp r0, #0x0 @@ -104620,7 +104620,7 @@ _0203444E: add r0, r5, #0x0 add r1, r4, r1 mul r2, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldrb r1, [r4, #0x1] ldrb r0, [r4, #0x0] mul r0, r1 @@ -104633,9 +104633,9 @@ _0203446C: mul r2, r3 add r1, r4, r1 lsl r2, r2, #0x1 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc pop {r4-r7, pc} .balign 4 @@ -104643,12 +104643,12 @@ _02034488: .word 0x0000070A _0203448C: .word 0x00000A8E _02034490: .word 0x00001196 - thumb_func_start sub_02034494 -sub_02034494: ; 0x02034494 + thumb_func_start FUN_02034494 +FUN_02034494: ; 0x02034494 push {r3, lr} ldr r1, _020344A8 ; =0x000011AA mov r0, #0xb - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -104657,17 +104657,17 @@ sub_02034494: ; 0x02034494 .balign 4 _020344A8: .word 0x000011AA - thumb_func_start sub_020344AC -sub_020344AC: ; 0x020344AC + thumb_func_start FUN_020344AC +FUN_020344AC: ; 0x020344AC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0203474C + bl FUN_0203474C add r6, r0, #0x0 add r0, r4, #0x4 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_020343A8 + bl FUN_020343A8 strb r6, [r4, #0x2] ldrb r0, [r4, #0x4] strb r0, [r4, #0x1] @@ -104676,15 +104676,15 @@ sub_020344AC: ; 0x020344AC pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020344D0 -sub_020344D0: ; 0x020344D0 - ldr r3, _020344D4 ; =sub_02016A18 + thumb_func_start FUN_020344D0 +FUN_020344D0: ; 0x020344D0 + ldr r3, _020344D4 ; =FUN_02016A18 bx r3 .balign 4 -_020344D4: .word sub_02016A18 + 1 +_020344D4: .word FUN_02016A18 + 1 - thumb_func_start sub_020344D8 -sub_020344D8: ; 0x020344D8 + thumb_func_start FUN_020344D8 +FUN_020344D8: ; 0x020344D8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -104693,7 +104693,7 @@ sub_020344D8: ; 0x020344D8 mul r0, r1 cmp r5, r0 blt _020344EC - bl sub_02020C2C + bl FUN_02020C2C _020344EC: lsl r0, r5, #0x1 add r1, r4, r0 @@ -104703,30 +104703,30 @@ _020344EC: nop _020344F8: .word 0x00000A92 - thumb_func_start sub_020344FC -sub_020344FC: ; 0x020344FC + thumb_func_start FUN_020344FC +FUN_020344FC: ; 0x020344FC push {r4, lr} add r4, r0, #0x0 bne _02034506 - bl sub_02020C2C + bl FUN_02020C2C _02034506: ldrb r0, [r4, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_0203450C -sub_0203450C: ; 0x0203450C + thumb_func_start FUN_0203450C +FUN_0203450C: ; 0x0203450C push {r4, lr} add r4, r0, #0x0 bne _02034516 - bl sub_02020C2C + bl FUN_02020C2C _02034516: ldrb r0, [r4, #0x1] pop {r4, pc} .balign 4 - thumb_func_start sub_0203451C -sub_0203451C: ; 0x0203451C + thumb_func_start FUN_0203451C +FUN_0203451C: ; 0x0203451C push {r3-r7, lr} add r7, r0, #0x0 ldrb r0, [r7, #0x1] @@ -104739,7 +104739,7 @@ sub_0203451C: ; 0x0203451C cmp r5, r6 blt _02034536 _02034532: - bl sub_02020C2C + bl FUN_02020C2C _02034536: cmp r4, #0x0 blt _02034540 @@ -104747,7 +104747,7 @@ _02034536: cmp r4, r0 blt _02034544 _02034540: - bl sub_02020C2C + bl FUN_02020C2C _02034544: add r0, r4, #0x0 mul r0, r6 @@ -104758,8 +104758,8 @@ _02034544: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02034554 -sub_02034554: ; 0x02034554 + thumb_func_start FUN_02034554 +FUN_02034554: ; 0x02034554 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -104771,20 +104771,20 @@ sub_02034554: ; 0x02034554 cmp r4, r0 blt _0203456C _02034568: - bl sub_02020C2C + bl FUN_02020C2C _0203456C: lsl r0, r4, #0x1 add r0, r5, r0 ldrh r0, [r0, #0x6] pop {r3-r5, pc} - thumb_func_start sub_02034574 -sub_02034574: ; 0x02034574 + thumb_func_start FUN_02034574 +FUN_02034574: ; 0x02034574 ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_02034578 -sub_02034578: ; 0x02034578 + thumb_func_start FUN_02034578 +FUN_02034578: ; 0x02034578 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [sp, #0x10] @@ -104792,7 +104792,7 @@ sub_02034578: ; 0x02034578 add r6, r3, #0x0 cmp r4, r0 blt _0203458A - bl sub_02020C2C + bl FUN_02020C2C _0203458A: ldr r0, [sp, #0x10] mul r0, r6 @@ -104801,7 +104801,7 @@ _0203458A: lsl r0, r0, #0x2 cmp r4, r0 blt _0203459C - bl sub_02020C2C + bl FUN_02020C2C _0203459C: ldr r0, _020345A4 ; =0x0000070E add r1, r5, r4 @@ -104810,45 +104810,45 @@ _0203459C: .balign 4 _020345A4: .word 0x0000070E - thumb_func_start sub_020345A8 -sub_020345A8: ; 0x020345A8 + thumb_func_start FUN_020345A8 +FUN_020345A8: ; 0x020345A8 push {r3-r5, lr} ldr r1, _020345D8 ; =0x00000708 add r4, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 mov r0, #0x29 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02006528 + bl FUN_02006528 add r4, r0, #0x0 ldrb r1, [r4, #0x4] add r0, r4, #0x5 ldr r2, _020345D8 ; =0x00000708 add r0, r0, r1 add r1, r5, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 _020345D8: .word 0x00000708 - thumb_func_start sub_020345DC -sub_020345DC: ; 0x020345DC + thumb_func_start FUN_020345DC +FUN_020345DC: ; 0x020345DC push {r4, lr} add r4, r0, #0x0 bne _020345E6 - bl sub_02020C2C + bl FUN_02020C2C _020345E6: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020345F0 -sub_020345F0: ; 0x020345F0 + thumb_func_start FUN_020345F0 +FUN_020345F0: ; 0x020345F0 mov r3, #0x1e mul r3, r2 add r1, r1, r3 @@ -104856,8 +104856,8 @@ sub_020345F0: ; 0x020345F0 ldrh r0, [r0, r1] bx lr - thumb_func_start sub_020345FC -sub_020345FC: ; 0x020345FC + thumb_func_start FUN_020345FC +FUN_020345FC: ; 0x020345FC push {r3-r5, lr} sub sp, #0x1fc sub sp, #0x1fc @@ -104875,18 +104875,18 @@ sub_020345FC: ; 0x020345FC add r0, sp, #0x0 lsr r1, r1, #0x10 mov r2, #0x0 - bl sub_020343A8 + bl FUN_020343A8 add r0, sp, #0x0 ldrb r0, [r0, #0x1] cmp r5, r0 blt _0203462E - bl sub_02020C2C + bl FUN_02020C2C _0203462E: add r0, sp, #0x0 ldrb r0, [r0, #0x0] cmp r4, r0 blt _0203463A - bl sub_02020C2C + bl FUN_02020C2C _0203463A: add r0, sp, #0x0 ldrb r0, [r0, #0x1] @@ -104908,22 +104908,22 @@ _0203463A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02034660 -sub_02034660: ; 0x02034660 + thumb_func_start FUN_02034660 +FUN_02034660: ; 0x02034660 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bne _0203466C - bl sub_02020C2C + bl FUN_02020C2C _0203466C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020344D8 + bl FUN_020344D8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02034678 -sub_02034678: ; 0x02034678 + thumb_func_start FUN_02034678 +FUN_02034678: ; 0x02034678 push {r4-r7} ldr r1, _020346C4 ; =0x00000A92 ldrb r7, [r0, #0x0] @@ -104966,8 +104966,8 @@ _020346BE: _020346C4: .word 0x00000A92 _020346C8: .word 0x0000070E - thumb_func_start sub_020346CC -sub_020346CC: ; 0x020346CC + thumb_func_start FUN_020346CC +FUN_020346CC: ; 0x020346CC push {r3-r4} ldr r1, _0203470C ; =0x00000A92 add r2, r0, r1 @@ -105003,23 +105003,23 @@ _02034706: nop _0203470C: .word 0x00000A92 - thumb_func_start sub_02034710 -sub_02034710: ; 0x02034710 + thumb_func_start FUN_02034710 +FUN_02034710: ; 0x02034710 push {r3, lr} ldr r1, _02034720 ; =0x0000022F cmp r0, r1 blo _0203471E - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x3 _0203471E: pop {r3, pc} .balign 4 _02034720: .word 0x0000022F - thumb_func_start sub_02034724 -sub_02034724: ; 0x02034724 + thumb_func_start FUN_02034724 +FUN_02034724: ; 0x02034724 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034734 ; =0x020EEDBC @@ -105028,10 +105028,10 @@ sub_02034724: ; 0x02034724 .balign 4 _02034734: .word 0x020EEDBC - thumb_func_start sub_02034738 -sub_02034738: ; 0x02034738 + thumb_func_start FUN_02034738 +FUN_02034738: ; 0x02034738 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034748 ; =0x020EEDBD @@ -105040,10 +105040,10 @@ sub_02034738: ; 0x02034738 .balign 4 _02034748: .word 0x020EEDBD - thumb_func_start sub_0203474C -sub_0203474C: ; 0x0203474C + thumb_func_start FUN_0203474C +FUN_0203474C: ; 0x0203474C push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _0203476C ; =0x020EEDBE @@ -105061,10 +105061,10 @@ _02034768: _0203476C: .word 0x020EEDBE _02034770: .word 0x020ECAC0 - thumb_func_start sub_02034774 -sub_02034774: ; 0x02034774 + thumb_func_start FUN_02034774 +FUN_02034774: ; 0x02034774 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034784 ; =0x020EEDC4 @@ -105073,10 +105073,10 @@ sub_02034774: ; 0x02034774 .balign 4 _02034784: .word 0x020EEDC4 - thumb_func_start sub_02034788 -sub_02034788: ; 0x02034788 + thumb_func_start FUN_02034788 +FUN_02034788: ; 0x02034788 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034798 ; =0x020EEDC0 @@ -105085,10 +105085,10 @@ sub_02034788: ; 0x02034788 .balign 4 _02034798: .word 0x020EEDC0 - thumb_func_start sub_0203479C -sub_0203479C: ; 0x0203479C + thumb_func_start FUN_0203479C +FUN_0203479C: ; 0x0203479C push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020347AC ; =0x020EEDC2 @@ -105097,10 +105097,10 @@ sub_0203479C: ; 0x0203479C .balign 4 _020347AC: .word 0x020EEDC2 - thumb_func_start sub_020347B0 -sub_020347B0: ; 0x020347B0 + thumb_func_start FUN_020347B0 +FUN_020347B0: ; 0x020347B0 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020347C0 ; =0x020EEDC6 @@ -105109,10 +105109,10 @@ sub_020347B0: ; 0x020347B0 .balign 4 _020347C0: .word 0x020EEDC6 - thumb_func_start sub_020347C4 -sub_020347C4: ; 0x020347C4 + thumb_func_start FUN_020347C4 +FUN_020347C4: ; 0x020347C4 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020347D4 ; =0x020EEDC8 @@ -105121,10 +105121,10 @@ sub_020347C4: ; 0x020347C4 .balign 4 _020347D4: .word 0x020EEDC8 - thumb_func_start sub_020347D8 -sub_020347D8: ; 0x020347D8 + thumb_func_start FUN_020347D8 +FUN_020347D8: ; 0x020347D8 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020347F4 ; =0x020EEDCA @@ -105141,10 +105141,10 @@ _020347F0: _020347F4: .word 0x020EEDCA _020347F8: .word 0x0000FFFF - thumb_func_start sub_020347FC -sub_020347FC: ; 0x020347FC + thumb_func_start FUN_020347FC +FUN_020347FC: ; 0x020347FC push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _0203480C ; =0x020EEDCA @@ -105153,10 +105153,10 @@ sub_020347FC: ; 0x020347FC .balign 4 _0203480C: .word 0x020EEDCA - thumb_func_start sub_02034810 -sub_02034810: ; 0x02034810 + thumb_func_start FUN_02034810 +FUN_02034810: ; 0x02034810 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034820 ; =0x020EEDCC @@ -105165,10 +105165,10 @@ sub_02034810: ; 0x02034810 .balign 4 _02034820: .word 0x020EEDCC - thumb_func_start sub_02034824 -sub_02034824: ; 0x02034824 + thumb_func_start FUN_02034824 +FUN_02034824: ; 0x02034824 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034834 ; =0x020EEDCE @@ -105177,10 +105177,10 @@ sub_02034824: ; 0x02034824 .balign 4 _02034834: .word 0x020EEDCE - thumb_func_start sub_02034838 -sub_02034838: ; 0x02034838 + thumb_func_start FUN_02034838 +FUN_02034838: ; 0x02034838 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034848 ; =0x020EEDD0 @@ -105189,10 +105189,10 @@ sub_02034838: ; 0x02034838 .balign 4 _02034848: .word 0x020EEDD0 - thumb_func_start sub_0203484C -sub_0203484C: ; 0x0203484C + thumb_func_start FUN_0203484C +FUN_0203484C: ; 0x0203484C push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _0203485C ; =0x020EEDD1 @@ -105201,10 +105201,10 @@ sub_0203484C: ; 0x0203484C .balign 4 _0203485C: .word 0x020EEDD1 - thumb_func_start sub_02034860 -sub_02034860: ; 0x02034860 + thumb_func_start FUN_02034860 +FUN_02034860: ; 0x02034860 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034878 ; =0x020EEDBC @@ -105216,10 +105216,10 @@ sub_02034860: ; 0x02034860 nop _02034878: .word 0x020EEDBC - thumb_func_start sub_0203487C -sub_0203487C: ; 0x0203487C + thumb_func_start FUN_0203487C +FUN_0203487C: ; 0x0203487C push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _02034894 ; =0x020EEDBC @@ -105231,10 +105231,10 @@ sub_0203487C: ; 0x0203487C nop _02034894: .word 0x020EEDBC - thumb_func_start sub_02034898 -sub_02034898: ; 0x02034898 + thumb_func_start FUN_02034898 +FUN_02034898: ; 0x02034898 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020348B0 ; =0x020EEDBC @@ -105246,10 +105246,10 @@ sub_02034898: ; 0x02034898 nop _020348B0: .word 0x020EEDBC - thumb_func_start sub_020348B4 -sub_020348B4: ; 0x020348B4 + thumb_func_start FUN_020348B4 +FUN_020348B4: ; 0x020348B4 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020348CC ; =0x020EEDBC @@ -105261,10 +105261,10 @@ sub_020348B4: ; 0x020348B4 nop _020348CC: .word 0x020EEDBC - thumb_func_start sub_020348D0 -sub_020348D0: ; 0x020348D0 + thumb_func_start FUN_020348D0 +FUN_020348D0: ; 0x020348D0 push {r3, lr} - bl sub_02034710 + bl FUN_02034710 mov r1, #0x18 mul r1, r0 ldr r0, _020348E0 ; =0x020EEDD2 @@ -105273,18 +105273,18 @@ sub_020348D0: ; 0x020348D0 .balign 4 _020348E0: .word 0x020EEDD2 - thumb_func_start sub_020348E4 -sub_020348E4: ; 0x020348E4 + thumb_func_start FUN_020348E4 +FUN_020348E4: ; 0x020348E4 push {r4, lr} add r4, r0, #0x0 - bl sub_02034898 + bl FUN_02034898 cmp r0, #0x0 bne _020348F4 mov r0, #0x0 pop {r4, pc} _020348F4: add r0, r4, #0x0 - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x1 beq _02034902 mov r0, #0x1 @@ -105294,10 +105294,10 @@ _02034902: pop {r4, pc} .balign 4 - thumb_func_start sub_02034908 -sub_02034908: ; 0x02034908 + thumb_func_start FUN_02034908 +FUN_02034908: ; 0x02034908 push {r3, lr} - bl sub_0203474C + bl FUN_0203474C cmp r0, #0x0 bne _02034916 mov r0, #0x1 @@ -105307,10 +105307,10 @@ _02034916: pop {r3, pc} .balign 4 - thumb_func_start sub_0203491C -sub_0203491C: ; 0x0203491C + thumb_func_start FUN_0203491C +FUN_0203491C: ; 0x0203491C push {r3, lr} - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x5 bne _0203492A mov r0, #0x1 @@ -105320,10 +105320,10 @@ _0203492A: pop {r3, pc} .balign 4 - thumb_func_start sub_02034930 -sub_02034930: ; 0x02034930 + thumb_func_start FUN_02034930 +FUN_02034930: ; 0x02034930 push {r3, lr} - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x3 bne _0203493E mov r0, #0x1 @@ -105333,15 +105333,15 @@ _0203493E: pop {r3, pc} .balign 4 - thumb_func_start sub_02034944 -sub_02034944: ; 0x02034944 + thumb_func_start FUN_02034944 +FUN_02034944: ; 0x02034944 push {r4, lr} add r4, r0, #0x0 - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x4 beq _0203495A add r0, r4, #0x0 - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x5 bne _0203495E _0203495A: @@ -105352,15 +105352,15 @@ _0203495E: pop {r4, pc} .balign 4 - thumb_func_start sub_02034964 -sub_02034964: ; 0x02034964 + thumb_func_start FUN_02034964 +FUN_02034964: ; 0x02034964 push {r4, lr} add r4, r0, #0x0 - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x1 beq _0203497A add r0, r4, #0x0 - bl sub_020348D0 + bl FUN_020348D0 cmp r0, #0x2 bne _0203497E _0203497A: @@ -105371,10 +105371,10 @@ _0203497E: pop {r4, pc} .balign 4 - thumb_func_start sub_02034984 -sub_02034984: ; 0x02034984 + thumb_func_start FUN_02034984 +FUN_02034984: ; 0x02034984 push {r3, lr} - bl sub_0203491C + bl FUN_0203491C cmp r0, #0x0 beq _02034992 mov r0, #0x1 @@ -105384,8 +105384,8 @@ _02034992: pop {r3, pc} .balign 4 - thumb_func_start sub_02034998 -sub_02034998: ; 0x02034998 + thumb_func_start FUN_02034998 +FUN_02034998: ; 0x02034998 ldr r1, _020349A8 ; =0x000001D2 cmp r0, r1 bne _020349A2 @@ -105397,8 +105397,8 @@ _020349A2: nop _020349A8: .word 0x000001D2 - thumb_func_start sub_020349AC -sub_020349AC: ; 0x020349AC + thumb_func_start FUN_020349AC +FUN_020349AC: ; 0x020349AC cmp r0, #0xdb bne _020349B4 mov r0, #0x1 @@ -105407,8 +105407,8 @@ _020349B4: mov r0, #0x0 bx lr - thumb_func_start sub_020349B8 -sub_020349B8: ; 0x020349B8 + thumb_func_start FUN_020349B8 +FUN_020349B8: ; 0x020349B8 ldr r1, _020349C8 ; =0x0000011F cmp r0, r1 bne _020349C2 @@ -105420,8 +105420,8 @@ _020349C2: nop _020349C8: .word 0x0000011F - thumb_func_start sub_020349CC -sub_020349CC: ; 0x020349CC + thumb_func_start FUN_020349CC +FUN_020349CC: ; 0x020349CC cmp r0, #0xfd bne _020349D4 mov r0, #0x1 @@ -105430,8 +105430,8 @@ _020349D4: mov r0, #0x0 bx lr - thumb_func_start sub_020349D8 -sub_020349D8: ; 0x020349D8 + thumb_func_start FUN_020349D8 +FUN_020349D8: ; 0x020349D8 cmp r0, #0xdc bne _020349E0 mov r0, #0x1 @@ -105440,8 +105440,8 @@ _020349E0: mov r0, #0x0 bx lr - thumb_func_start sub_020349E4 -sub_020349E4: ; 0x020349E4 + thumb_func_start FUN_020349E4 +FUN_020349E4: ; 0x020349E4 ldr r3, _02034A00 ; =0x020EED54 mov r2, #0x0 _020349E8: @@ -105460,8 +105460,8 @@ _020349F2: nop _02034A00: .word 0x020EED54 - thumb_func_start sub_02034A04 -sub_02034A04: ; 0x02034A04 + thumb_func_start FUN_02034A04 +FUN_02034A04: ; 0x02034A04 ldr r3, _02034A24 ; =0x020EED78 mov r2, #0x0 _02034A08: @@ -105483,98 +105483,98 @@ _02034A18: .balign 4 _02034A24: .word 0x020EED78 - thumb_func_start sub_02034A28 -sub_02034A28: ; 0x02034A28 + thumb_func_start FUN_02034A28 +FUN_02034A28: ; 0x02034A28 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x14] add r4, r1, #0x0 cmp r0, #0x0 beq _02034A38 - bl sub_02020C2C + bl FUN_02020C2C _02034A38: ldr r1, _02034A44 ; =0x00000AC8 add r0, r4, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x14] pop {r3-r5, pc} .balign 4 _02034A44: .word 0x00000AC8 - thumb_func_start sub_02034A48 -sub_02034A48: ; 0x02034A48 + thumb_func_start FUN_02034A48 +FUN_02034A48: ; 0x02034A48 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02034A56 - bl sub_02020C2C + bl FUN_02020C2C _02034A56: ldr r0, [r4, #0x14] - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02034A60 -sub_02034A60: ; 0x02034A60 + thumb_func_start FUN_02034A60 +FUN_02034A60: ; 0x02034A60 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x14] add r4, r1, #0x0 cmp r0, #0x0 bne _02034A70 - bl sub_02020C2C + bl FUN_02020C2C _02034A70: ldr r0, [r5, #0x14] add r1, r4, #0x0 - bl sub_02034A98 + bl FUN_02034A98 ldr r0, [r5, #0x14] - bl sub_02034C50 + bl FUN_02034C50 mov r0, #0x92 ldr r1, [r5, #0x14] lsl r0, r0, #0x4 add r0, r1, r0 add r1, r4, #0x0 - bl sub_02034CB4 + bl FUN_02034CB4 ldr r0, [r5, #0x14] add r1, r4, #0x0 - bl sub_02034CEC + bl FUN_02034CEC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02034A98 -sub_02034A98: ; 0x02034A98 + thumb_func_start FUN_02034A98 +FUN_02034A98: ; 0x02034A98 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02034810 + bl FUN_02034810 add r4, r0, #0x0 mov r0, #0x20 add r1, r4, #0x0 - bl sub_020065A4 + bl FUN_020065A4 mov r1, #0x2 lsl r1, r1, #0xa cmp r0, r1 blo _02034AB8 - bl sub_02020C2C + bl FUN_02020C2C _02034AB8: add r5, #0x20 add r0, r5, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_020064F0 + bl FUN_020064F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02034AC8 -sub_02034AC8: ; 0x02034AC8 + thumb_func_start FUN_02034AC8 +FUN_02034AC8: ; 0x02034AC8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x14] ldr r4, [r0, #0x4] cmp r0, #0x0 bne _02034AD8 - bl sub_02020C2C + bl FUN_02020C2C _02034AD8: cmp r4, #0x0 beq _02034AEC @@ -105584,27 +105584,27 @@ _02034AD8: ldr r1, [r1, #0x0] ldr r3, [r3, #0x14] add r2, r4, #0x0 - bl sub_02057BAC + bl FUN_02057BAC _02034AEC: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02034AF0 -sub_02034AF0: ; 0x02034AF0 + thumb_func_start FUN_02034AF0 +FUN_02034AF0: ; 0x02034AF0 ldr r0, [r0, #0x14] ldr r0, [r0, #0x10] bx lr .balign 4 - thumb_func_start sub_02034AF8 -sub_02034AF8: ; 0x02034AF8 + thumb_func_start FUN_02034AF8 +FUN_02034AF8: ; 0x02034AF8 ldr r0, [r0, #0x14] ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034B00 -sub_02034B00: ; 0x02034B00 + thumb_func_start FUN_02034B00 +FUN_02034B00: ; 0x02034B00 ldr r2, [r0, #0x14] ldr r0, [r2, #0x8] cmp r1, r0 @@ -105619,8 +105619,8 @@ _02034B0C: bx lr .balign 4 - thumb_func_start sub_02034B18 -sub_02034B18: ; 0x02034B18 + thumb_func_start FUN_02034B18 +FUN_02034B18: ; 0x02034B18 push {r4-r7} ldr r5, [r0, #0x14] mov r3, #0x0 @@ -105655,36 +105655,36 @@ _02034B4A: bx lr .balign 4 - thumb_func_start sub_02034B54 -sub_02034B54: ; 0x02034B54 + thumb_func_start FUN_02034B54 +FUN_02034B54: ; 0x02034B54 ldr r0, [r0, #0x14] ldr r0, [r0, #0xc] bx lr .balign 4 - thumb_func_start sub_02034B5C -sub_02034B5C: ; 0x02034B5C + thumb_func_start FUN_02034B5C +FUN_02034B5C: ; 0x02034B5C ldr r0, [r0, #0x14] ldr r0, [r0, #0x1c] bx lr .balign 4 - thumb_func_start sub_02034B64 -sub_02034B64: ; 0x02034B64 + thumb_func_start FUN_02034B64 +FUN_02034B64: ; 0x02034B64 ldr r0, [r0, #0x14] ldr r0, [r0, #0x4] bx lr .balign 4 - thumb_func_start sub_02034B6C -sub_02034B6C: ; 0x02034B6C + thumb_func_start FUN_02034B6C +FUN_02034B6C: ; 0x02034B6C ldr r0, [r0, #0x14] ldr r0, [r0, #0x14] bx lr .balign 4 - thumb_func_start sub_02034B74 -sub_02034B74: ; 0x02034B74 + thumb_func_start FUN_02034B74 +FUN_02034B74: ; 0x02034B74 push {r3-r7, lr} ldr r0, [r0, #0x14] add r4, r1, #0x0 @@ -105712,12 +105712,12 @@ _02034B9C: cmp r2, r5 blo _02034B8A _02034BA4: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02034BAC -sub_02034BAC: ; 0x02034BAC + thumb_func_start FUN_02034BAC +FUN_02034BAC: ; 0x02034BAC push {r4-r6, lr} ldr r0, [r0, #0x14] mov r3, #0x0 @@ -105741,12 +105741,12 @@ _02034BCC: cmp r3, r5 blo _02034BBC _02034BD4: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02034BDC -sub_02034BDC: ; 0x02034BDC + thumb_func_start FUN_02034BDC +FUN_02034BDC: ; 0x02034BDC push {r4-r6, lr} ldr r0, [r0, #0x14] mov r3, #0x0 @@ -105770,12 +105770,12 @@ _02034BFC: cmp r3, r5 blo _02034BEC _02034C04: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02034C0C -sub_02034C0C: ; 0x02034C0C + thumb_func_start FUN_02034C0C +FUN_02034C0C: ; 0x02034C0C push {r3-r4} ldr r0, [r0, #0x14] ldr r4, [r0, #0x18] @@ -105789,8 +105789,8 @@ sub_02034C0C: ; 0x02034C0C bx lr .balign 4 - thumb_func_start sub_02034C24 -sub_02034C24: ; 0x02034C24 + thumb_func_start FUN_02034C24 +FUN_02034C24: ; 0x02034C24 ldr r0, [r0, #0x14] ldr r3, [r0, #0x18] mov r0, #0xc @@ -105800,13 +105800,13 @@ sub_02034C24: ; 0x02034C24 mov r0, #0x1 bx lr - thumb_func_start sub_02034C34 -sub_02034C34: ; 0x02034C34 + thumb_func_start FUN_02034C34 +FUN_02034C34: ; 0x02034C34 push {r4-r6, lr} add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02034AF0 + bl FUN_02034AF0 mov r1, #0x14 mul r1, r5 add r0, r0, r1 @@ -105816,8 +105816,8 @@ sub_02034C34: ; 0x02034C34 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02034C50 -sub_02034C50: ; 0x02034C50 + thumb_func_start FUN_02034C50 +FUN_02034C50: ; 0x02034C50 add r1, r0, #0x0 ldr r2, [r0, #0x20] add r1, #0x20 @@ -105876,30 +105876,30 @@ _02034CAE: str r1, [r0, #0x1c] bx lr - thumb_func_start sub_02034CB4 -sub_02034CB4: ; 0x02034CB4 + thumb_func_start FUN_02034CB4 +FUN_02034CB4: ; 0x02034CB4 push {r3-r5, lr} mov r2, #0x6a add r4, r1, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 add r5, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 - bl sub_020347D8 + bl FUN_020347D8 cmp r0, #0x0 beq _02034CDE add r0, r4, #0x0 - bl sub_020347FC + bl FUN_020347FC add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x25 - bl sub_020064F0 + bl FUN_020064F0 _02034CDE: pop {r3-r5, pc} - thumb_func_start sub_02034CE0 -sub_02034CE0: ; 0x02034CE0 + thumb_func_start FUN_02034CE0 +FUN_02034CE0: ; 0x02034CE0 ldr r1, [r0, #0x14] mov r0, #0x92 lsl r0, r0, #0x4 @@ -105907,12 +105907,12 @@ sub_02034CE0: ; 0x02034CE0 bx lr .balign 4 - thumb_func_start sub_02034CEC -sub_02034CEC: ; 0x02034CEC + thumb_func_start FUN_02034CEC +FUN_02034CEC: ; 0x02034CEC push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_0203479C + bl FUN_0203479C mov r1, #0x82 lsl r1, r1, #0x4 mov r2, #0x1 @@ -105920,32 +105920,32 @@ sub_02034CEC: ; 0x02034CEC mov r0, #0x0 add r1, r5, r1 lsl r2, r2, #0x8 - blx sub_020CE240 + blx FUN_020CE240 mov r0, #0xa add r1, r4, #0x0 - bl sub_020065A4 + bl FUN_020065A4 mov r1, #0x1 lsl r1, r1, #0x8 cmp r0, r1 blo _02034D1C - bl sub_02020C2C + bl FUN_02020C2C _02034D1C: mov r0, #0x82 lsl r0, r0, #0x4 add r0, r5, r0 mov r1, #0xa add r2, r4, #0x0 - bl sub_020064F0 + bl FUN_020064F0 pop {r3-r5, pc} - thumb_func_start sub_02034D2C -sub_02034D2C: ; 0x02034D2C + thumb_func_start FUN_02034D2C +FUN_02034D2C: ; 0x02034D2C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02034D3A - bl sub_02020C2C + bl FUN_02020C2C _02034D3A: mov r0, #0x82 ldr r1, [r4, #0x14] @@ -105953,8 +105953,8 @@ _02034D3A: add r0, r1, r0 pop {r4, pc} - thumb_func_start sub_02034D44 -sub_02034D44: ; 0x02034D44 + thumb_func_start FUN_02034D44 +FUN_02034D44: ; 0x02034D44 push {r4-r7} ldr r0, [r0, #0x14] mov r3, #0x0 @@ -105987,75 +105987,75 @@ _02034D76: pop {r4-r7} bx lr - thumb_func_start sub_02034D7C -sub_02034D7C: ; 0x02034D7C + thumb_func_start FUN_02034D7C +FUN_02034D7C: ; 0x02034D7C mov r0, #0xa0 bx lr - thumb_func_start sub_02034D80 -sub_02034D80: ; 0x02034D80 + thumb_func_start FUN_02034D80 +FUN_02034D80: ; 0x02034D80 mov r0, #0x5 lsl r0, r0, #0xa bx lr .balign 4 - thumb_func_start sub_02034D88 -sub_02034D88: ; 0x02034D88 - ldr r3, _02034D94 ; =sub_020CE1FC + thumb_func_start FUN_02034D88 +FUN_02034D88: ; 0x02034D88 + ldr r3, _02034D94 ; =FUN_020CE1FC mov r2, #0x5 add r1, r0, #0x0 mov r0, #0x0 lsl r2, r2, #0xa bx r3 .balign 4 -_02034D94: .word sub_020CE1FC +_02034D94: .word FUN_020CE1FC - thumb_func_start sub_02034D98 -sub_02034D98: ; 0x02034D98 + thumb_func_start FUN_02034D98 +FUN_02034D98: ; 0x02034D98 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 mov r2, #0xa0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 add r0, #0x6c - bl sub_0204ADE0 + bl FUN_0204ADE0 add r0, r4, #0x0 add r0, #0x8c - bl sub_02055468 - bl sub_02034E8C + bl FUN_02055468 + bl FUN_02034E8C add r4, #0x68 strh r0, [r4, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_02034DC0 -sub_02034DC0: ; 0x02034DC0 + thumb_func_start FUN_02034DC0 +FUN_02034DC0: ; 0x02034DC0 bx lr .balign 4 - thumb_func_start sub_02034DC4 -sub_02034DC4: ; 0x02034DC4 + thumb_func_start FUN_02034DC4 +FUN_02034DC4: ; 0x02034DC4 add r0, #0x14 bx lr - thumb_func_start sub_02034DC8 -sub_02034DC8: ; 0x02034DC8 + thumb_func_start FUN_02034DC8 +FUN_02034DC8: ; 0x02034DC8 add r0, #0x28 bx lr - thumb_func_start sub_02034DCC -sub_02034DCC: ; 0x02034DCC + thumb_func_start FUN_02034DCC +FUN_02034DCC: ; 0x02034DCC add r0, #0x50 bx lr - thumb_func_start sub_02034DD0 -sub_02034DD0: ; 0x02034DD0 + thumb_func_start FUN_02034DD0 +FUN_02034DD0: ; 0x02034DD0 add r0, #0x3c bx lr - thumb_func_start sub_02034DD4 -sub_02034DD4: ; 0x02034DD4 + thumb_func_start FUN_02034DD4 +FUN_02034DD4: ; 0x02034DD4 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -106067,144 +106067,144 @@ sub_02034DD4: ; 0x02034DD4 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02034DE8 -sub_02034DE8: ; 0x02034DE8 + thumb_func_start FUN_02034DE8 +FUN_02034DE8: ; 0x02034DE8 add r0, #0x64 bx lr - thumb_func_start sub_02034DEC -sub_02034DEC: ; 0x02034DEC + thumb_func_start FUN_02034DEC +FUN_02034DEC: ; 0x02034DEC add r0, #0x66 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034DF4 -sub_02034DF4: ; 0x02034DF4 + thumb_func_start FUN_02034DF4 +FUN_02034DF4: ; 0x02034DF4 add r0, #0x66 strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034DFC -sub_02034DFC: ; 0x02034DFC + thumb_func_start FUN_02034DFC +FUN_02034DFC: ; 0x02034DFC add r0, #0x68 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034E04 -sub_02034E04: ; 0x02034E04 + thumb_func_start FUN_02034E04 +FUN_02034E04: ; 0x02034E04 add r0, #0x68 strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034E0C -sub_02034E0C: ; 0x02034E0C + thumb_func_start FUN_02034E0C +FUN_02034E0C: ; 0x02034E0C add r0, #0x6c bx lr - thumb_func_start sub_02034E10 -sub_02034E10: ; 0x02034E10 + thumb_func_start FUN_02034E10 +FUN_02034E10: ; 0x02034E10 add r0, #0x6a ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034E18 -sub_02034E18: ; 0x02034E18 + thumb_func_start FUN_02034E18 +FUN_02034E18: ; 0x02034E18 add r0, #0x6a strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02034E20 -sub_02034E20: ; 0x02034E20 + thumb_func_start FUN_02034E20 +FUN_02034E20: ; 0x02034E20 add r0, #0x8c bx lr - thumb_func_start sub_02034E24 -sub_02034E24: ; 0x02034E24 + thumb_func_start FUN_02034E24 +FUN_02034E24: ; 0x02034E24 add r0, #0x98 bx lr - thumb_func_start sub_02034E28 -sub_02034E28: ; 0x02034E28 + thumb_func_start FUN_02034E28 +FUN_02034E28: ; 0x02034E28 add r0, #0x96 bx lr - thumb_func_start sub_02034E2C -sub_02034E2C: ; 0x02034E2C + thumb_func_start FUN_02034E2C +FUN_02034E2C: ; 0x02034E2C add r0, #0x94 bx lr - thumb_func_start sub_02034E30 -sub_02034E30: ; 0x02034E30 - ldr r3, _02034E38 ; =sub_02022610 + thumb_func_start FUN_02034E30 +FUN_02034E30: ; 0x02034E30 + ldr r3, _02034E38 ; =FUN_02022610 mov r1, #0x6 bx r3 nop -_02034E38: .word sub_02022610 + 1 +_02034E38: .word FUN_02022610 + 1 - thumb_func_start sub_02034E3C -sub_02034E3C: ; 0x02034E3C - ldr r3, _02034E44 ; =sub_02022610 + thumb_func_start FUN_02034E3C +FUN_02034E3C: ; 0x02034E3C + ldr r3, _02034E44 ; =FUN_02022610 mov r1, #0xb bx r3 nop -_02034E44: .word sub_02022610 + 1 +_02034E44: .word FUN_02022610 + 1 - thumb_func_start sub_02034E48 -sub_02034E48: ; 0x02034E48 + thumb_func_start FUN_02034E48 +FUN_02034E48: ; 0x02034E48 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02034E3C + bl FUN_02034E3C add r2, r0, #0x0 ldr r1, [r4, #0x34] add r0, r4, #0x0 mov r3, #0x40 - bl sub_02057800 + bl FUN_02057800 pop {r4, pc} - thumb_func_start sub_02034E60 -sub_02034E60: ; 0x02034E60 + thumb_func_start FUN_02034E60 +FUN_02034E60: ; 0x02034E60 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02034E3C + bl FUN_02034E3C add r1, r0, #0x0 ldr r0, [r4, #0x34] mov r2, #0x40 - bl sub_0205785C + bl FUN_0205785C pop {r4, pc} .balign 4 - thumb_func_start sub_02034E78 -sub_02034E78: ; 0x02034E78 + thumb_func_start FUN_02034E78 +FUN_02034E78: ; 0x02034E78 push {r3, lr} cmp r0, #0x0 ble _02034E82 cmp r0, #0x14 bls _02034E88 _02034E82: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 _02034E88: sub r0, r0, #0x1 pop {r3, pc} - thumb_func_start sub_02034E8C -sub_02034E8C: ; 0x02034E8C + thumb_func_start FUN_02034E8C +FUN_02034E8C: ; 0x02034E8C mov r0, #0x1 bx lr - thumb_func_start sub_02034E90 -sub_02034E90: ; 0x02034E90 + thumb_func_start FUN_02034E90 +FUN_02034E90: ; 0x02034E90 push {r4, lr} add r4, r1, #0x0 - bl sub_02034E78 + bl FUN_02034E78 lsl r1, r0, #0x4 ldr r0, _02034EB8 ; =0x020F222A ldrh r0, [r0, r1] @@ -106226,11 +106226,11 @@ _02034EB8: .word 0x020F222A _02034EBC: .word 0x020F222C _02034EC0: .word 0x020F222E - thumb_func_start sub_02034EC4 -sub_02034EC4: ; 0x02034EC4 + thumb_func_start FUN_02034EC4 +FUN_02034EC4: ; 0x02034EC4 push {r4, lr} add r4, r1, #0x0 - bl sub_02034E78 + bl FUN_02034E78 lsl r1, r0, #0x4 ldr r0, _02034EEC ; =0x020F2224 ldrh r0, [r0, r1] @@ -106252,8 +106252,8 @@ _02034EEC: .word 0x020F2224 _02034EF0: .word 0x020F2226 _02034EF4: .word 0x020F2228 - thumb_func_start sub_02034EF8 -sub_02034EF8: ; 0x02034EF8 + thumb_func_start FUN_02034EF8 +FUN_02034EF8: ; 0x02034EF8 ldr r3, _02034F18 ; =0x020F2224 mov r2, #0x0 _02034EFC: @@ -106275,8 +106275,8 @@ _02034F0C: .balign 4 _02034F18: .word 0x020F2224 - thumb_func_start sub_02034F1C -sub_02034F1C: ; 0x02034F1C + thumb_func_start FUN_02034F1C +FUN_02034F1C: ; 0x02034F1C ldr r3, _02034F3C ; =0x020F2224 mov r2, #0x0 _02034F20: @@ -106298,8 +106298,8 @@ _02034F30: .balign 4 _02034F3C: .word 0x020F2224 - thumb_func_start sub_02034F40 -sub_02034F40: ; 0x02034F40 + thumb_func_start FUN_02034F40 +FUN_02034F40: ; 0x02034F40 push {r3-r6} asr r3, r1, #0x4 lsr r3, r3, #0x1b @@ -106339,8 +106339,8 @@ _02034F76: .balign 4 _02034F84: .word 0x020F2224 - thumb_func_start sub_02034F88 -sub_02034F88: ; 0x02034F88 + thumb_func_start FUN_02034F88 +FUN_02034F88: ; 0x02034F88 push {r4, lr} ldr r3, _02034FB8 ; =0x020F2224 mov r4, #0x0 @@ -106352,12 +106352,12 @@ _02034F8E: cmp r2, #0x0 beq _02034FAE ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r2, _02034FBC ; =0x020F2232 lsl r3, r4, #0x4 ldrh r2, [r2, r3] mov r1, #0x1 - bl sub_0205F2E4 + bl FUN_0205F2E4 pop {r4, pc} _02034FAE: add r4, r4, #0x1 @@ -106369,45 +106369,45 @@ _02034FAE: _02034FB8: .word 0x020F2224 _02034FBC: .word 0x020F2232 - thumb_func_start sub_02034FC0 -sub_02034FC0: ; 0x02034FC0 + thumb_func_start FUN_02034FC0 +FUN_02034FC0: ; 0x02034FC0 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02034E78 + bl FUN_02034E78 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r2, _02034FE0 ; =0x020F2232 lsl r3, r4, #0x4 ldrh r2, [r2, r3] mov r1, #0x2 - bl sub_0205F2E4 + bl FUN_0205F2E4 pop {r3-r5, pc} .balign 4 _02034FE0: .word 0x020F2232 - thumb_func_start sub_02034FE4 -sub_02034FE4: ; 0x02034FE4 + thumb_func_start FUN_02034FE4 +FUN_02034FE4: ; 0x02034FE4 push {r3-r7, lr} add r7, r0, #0x0 add r0, r1, #0x0 - bl sub_02034838 + bl FUN_02034838 add r4, r0, #0x0 cmp r4, #0x18 blt _0203505C ldr r0, [r7, #0xc] - bl sub_02023794 + bl FUN_02023794 add r6, r0, #0x0 add r0, r6, #0x4 - bl sub_02012710 + bl FUN_02012710 sub r5, r0, #0x1 bmi _0203500C ldr r0, _02035060 ; =0x0000016E cmp r5, r0 blt _02035010 _0203500C: - bl sub_02020C2C + bl FUN_02020C2C _02035010: ldr r0, [r6, #0x8] cmp r0, #0x2 @@ -106418,14 +106418,14 @@ _02035010: bne _0203502A add r0, r6, #0x0 mov r1, #0x64 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 bne _02035038 _0203502A: mov r1, #0x19 add r0, r6, #0x0 lsl r1, r1, #0x4 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x0 bne _0203503C _02035038: @@ -106439,7 +106439,7 @@ _0203503E: add r5, r5, #0x1 _02035044: add r0, r7, #0x0 - bl sub_0204B33C + bl FUN_0204B33C cmp r0, #0x0 beq _02035050 mov r5, #0x1 @@ -106456,12 +106456,12 @@ _0203505C: _02035060: .word 0x0000016E _02035064: .word 0x020F2364 - thumb_func_start sub_02035068 -sub_02035068: ; 0x02035068 + thumb_func_start FUN_02035068 +FUN_02035068: ; 0x02035068 push {r3, lr} ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 cmp r0, #0x0 beq _0203507A mov r0, #0x1 @@ -106471,49 +106471,49 @@ _0203507A: pop {r3, pc} .balign 4 - thumb_func_start sub_02035080 -sub_02035080: ; 0x02035080 + thumb_func_start FUN_02035080 +FUN_02035080: ; 0x02035080 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02035254 + bl FUN_02035254 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 bne _020350A6 add r0, r5, #0x0 - bl sub_020352C4 + bl FUN_020352C4 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] b _020350E6 _020350A6: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _020350C2 add r0, r5, #0x0 - bl sub_020352C8 + bl FUN_020352C8 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] b _020350E6 _020350C2: add r0, r5, #0x0 - bl sub_02060144 + bl FUN_02060144 cmp r0, #0x1 bne _020350DA add r0, r5, #0x0 - bl sub_020352CC + bl FUN_020352CC mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] b _020350E6 _020350DA: add r0, r5, #0x0 - bl sub_02035270 + bl FUN_02035270 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106523,31 +106523,31 @@ _020350E6: lsl r0, r0, #0x2 str r1, [r4, r0] ldr r0, [r5, #0x38] - bl sub_02055B30 + bl FUN_02055B30 cmp r0, #0x1 bne _02035106 ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_02055B8C + bl FUN_02055B8C _02035106: - ldr r1, _02035114 ; =sub_020352E4 + ldr r1, _02035114 ; =FUN_020352E4 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r5, pc} nop -_02035114: .word sub_020352E4 + 1 +_02035114: .word FUN_020352E4 + 1 - thumb_func_start sub_02035118 -sub_02035118: ; 0x02035118 + thumb_func_start FUN_02035118 +FUN_02035118: ; 0x02035118 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02035254 + bl FUN_02035254 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020352D4 + bl FUN_020352D4 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106555,31 +106555,31 @@ sub_02035118: ; 0x02035118 add r0, r1, #0x4 str r2, [r4, r0] ldr r0, [r5, #0x38] - bl sub_02055B30 + bl FUN_02055B30 cmp r0, #0x1 bne _0203514C ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_02055B8C + bl FUN_02055B8C _0203514C: - ldr r1, _02035158 ; =sub_020352E4 + ldr r1, _02035158 ; =FUN_020352E4 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r5, pc} .balign 4 -_02035158: .word sub_020352E4 + 1 +_02035158: .word FUN_020352E4 + 1 - thumb_func_start sub_0203515C -sub_0203515C: ; 0x0203515C + thumb_func_start FUN_0203515C +FUN_0203515C: ; 0x0203515C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02035254 + bl FUN_02035254 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020352DC + bl FUN_020352DC mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106587,65 +106587,65 @@ sub_0203515C: ; 0x0203515C add r0, r1, #0x4 str r2, [r4, r0] ldr r0, [r5, #0x38] - bl sub_02055B30 + bl FUN_02055B30 cmp r0, #0x1 bne _02035190 ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_02055B8C + bl FUN_02055B8C _02035190: - ldr r1, _0203519C ; =sub_020352E4 + ldr r1, _0203519C ; =FUN_020352E4 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r5, pc} .balign 4 -_0203519C: .word sub_020352E4 + 1 +_0203519C: .word FUN_020352E4 + 1 - thumb_func_start sub_020351A0 -sub_020351A0: ; 0x020351A0 + thumb_func_start FUN_020351A0 +FUN_020351A0: ; 0x020351A0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0203524C ; =0x000005FD - bl sub_020054C8 - bl sub_02035254 + bl FUN_020054C8 + bl FUN_02035254 add r4, r0, #0x0 mov r0, #0x71 mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 bne _020351D4 add r0, r5, #0x0 - bl sub_020352C4 + bl FUN_020352C4 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] b _02035240 _020351D4: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _020351F0 add r0, r5, #0x0 - bl sub_020352C8 + bl FUN_020352C8 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] b _02035240 _020351F0: add r0, r5, #0x0 - bl sub_02060144 + bl FUN_02060144 cmp r0, #0x1 bne _02035208 add r0, r5, #0x0 - bl sub_020352CC + bl FUN_020352CC mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106655,7 +106655,7 @@ _02035208: cmp r0, #0x3 bne _0203521C add r0, r5, #0x0 - bl sub_020352DC + bl FUN_020352DC mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106664,7 +106664,7 @@ _0203521C: cmp r0, #0x2 bne _02035234 add r0, r5, #0x0 - bl sub_020352D4 + bl FUN_020352D4 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] @@ -106674,27 +106674,27 @@ _0203521C: b _02035240 _02035234: add r0, r5, #0x0 - bl sub_02035270 + bl FUN_02035270 mov r1, #0x7 lsl r1, r1, #0x6 str r0, [r4, r1] _02035240: ldr r0, [r5, #0x10] - ldr r1, _02035250 ; =sub_020352E4 + ldr r1, _02035250 ; =FUN_020352E4 add r2, r4, #0x0 - bl sub_020463EC + bl FUN_020463EC pop {r3-r5, pc} .balign 4 _0203524C: .word 0x000005FD -_02035250: .word sub_020352E4 + 1 +_02035250: .word FUN_020352E4 + 1 - thumb_func_start sub_02035254 -sub_02035254: ; 0x02035254 + thumb_func_start FUN_02035254 +FUN_02035254: ; 0x02035254 push {r3, lr} mov r1, #0x2 mov r0, #0xb lsl r1, r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x0 strh r2, [r0, #0x2a] mov r1, #0x7e @@ -106704,30 +106704,30 @@ sub_02035254: ; 0x02035254 pop {r3, pc} .balign 4 - thumb_func_start sub_02035270 -sub_02035270: ; 0x02035270 + thumb_func_start FUN_02035270 +FUN_02035270: ; 0x02035270 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] mov r4, #0x0 - bl sub_02024DA0 - bl sub_02024D64 + bl FUN_02024DA0 + bl FUN_02024D64 cmp r0, #0x0 bne _02035288 mov r0, #0x1 orr r4, r0 _02035288: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F388 + bl FUN_020462AC + bl FUN_0205F388 cmp r0, #0x0 bne _0203529A mov r0, #0x2 orr r4, r0 _0203529A: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205ECE0 + bl FUN_020462AC + bl FUN_0205ECE0 cmp r0, #0x0 bne _020352AC mov r0, #0x4 @@ -106735,7 +106735,7 @@ _0203529A: _020352AC: ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - bl sub_020349CC + bl FUN_020349CC cmp r0, #0x1 bne _020352BC mov r0, #0x6 @@ -106746,45 +106746,45 @@ _020352BC: orr r0, r4 pop {r3-r5, pc} - thumb_func_start sub_020352C4 -sub_020352C4: ; 0x020352C4 + thumb_func_start FUN_020352C4 +FUN_020352C4: ; 0x020352C4 mov r0, #0x90 bx lr - thumb_func_start sub_020352C8 -sub_020352C8: ; 0x020352C8 + thumb_func_start FUN_020352C8 +FUN_020352C8: ; 0x020352C8 mov r0, #0x94 bx lr - thumb_func_start sub_020352CC -sub_020352CC: ; 0x020352CC + thumb_func_start FUN_020352CC +FUN_020352CC: ; 0x020352CC ldr r0, _020352D0 ; =0x00000195 bx lr .balign 4 _020352D0: .word 0x00000195 - thumb_func_start sub_020352D4 -sub_020352D4: ; 0x020352D4 + thumb_func_start FUN_020352D4 +FUN_020352D4: ; 0x020352D4 mov r0, #0x11 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_020352DC -sub_020352DC: ; 0x020352DC + thumb_func_start FUN_020352DC +FUN_020352DC: ; 0x020352DC ldr r0, _020352E0 ; =0x00000191 bx lr .balign 4 _020352E0: .word 0x00000191 - thumb_func_start sub_020352E4 -sub_020352E4: ; 0x020352E4 + thumb_func_start FUN_020352E4 +FUN_020352E4: ; 0x020352E4 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrh r1, [r4, #0x2a] cmp r1, #0xf @@ -106812,21 +106812,21 @@ sub_020352E4: ; 0x020352E4 lsl r6, r5, #0x5 lsl r0, r5, #0x4 ldr r0, [r5, #0x34] - bl sub_02058780 + bl FUN_02058780 mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_0205CE80 + bl FUN_0205CE80 mov r1, #0x7a lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02063964 + bl FUN_02063964 add r0, r6, #0x0 - bl sub_0203549C + bl FUN_0203549C add r0, r6, #0x0 - bl sub_02035734 + bl FUN_02035734 mov r0, #0x1 strh r0, [r4, #0x2a] b _02035484 @@ -106860,27 +106860,27 @@ _02035484: cmp r0, #0x0 beq _02035496 add r0, r4, #0x0 - bl sub_02035BB0 + bl FUN_02035BB0 ldr r0, [r4, #0x38] - bl sub_0201FDEC + bl FUN_0201FDEC _02035496: mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203549C -sub_0203549C: ; 0x0203549C + thumb_func_start FUN_0203549C +FUN_0203549C: ; 0x0203549C push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x1c] add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x30 - bl sub_0203566C + bl FUN_0203566C str r0, [sp, #0x14] mov r0, #0x1 str r0, [sp, #0x0] @@ -106901,7 +106901,7 @@ sub_0203549C: ; 0x0203549C ldr r0, [sp, #0x1c] mov r3, #0x14 ldr r0, [r0, #0x8] - bl sub_02019064 + bl FUN_02019064 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0xb @@ -106910,21 +106910,21 @@ sub_0203549C: ; 0x0203549C ldr r0, [r0, #0x8] ldr r2, _0203565C ; =0x000003D9 mov r1, #0x3 - bl sub_0200CB00 + bl FUN_0200CB00 ldr r2, _0203565C ; =0x000003D9 add r0, r4, #0x0 mov r1, #0x1 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 ldr r2, _02035660 ; =0x00000143 mov r0, #0x0 mov r1, #0x1a mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0x18] ldr r0, [sp, #0x14] mov r1, #0xb - bl sub_02012838 + bl FUN_02012838 str r0, [r4, #0x24] mov r5, #0x0 ldr r0, [sp, #0x14] @@ -106938,11 +106938,11 @@ _02035526: cmp r3, #0x3 bne _02035594 mov r0, #0xb - bl sub_0200AA80 + bl FUN_0200AA80 add r6, r0, #0x0 mov r0, #0x8 mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 add r1, r4, r5 add r1, #0x30 ldrb r1, [r1, #0x0] @@ -106951,31 +106951,31 @@ _02035526: lsl r2, r1, #0x3 ldr r1, _02035664 ; =0x020F2ACC ldr r1, [r1, r2] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x20] ldr r0, [sp, #0x1c] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 ldr r2, [sp, #0x20] add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r2, r4, r5 add r2, #0x30 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x24] add r1, r7, #0x0 - bl sub_020128A0 + bl FUN_020128A0 ldr r0, [sp, #0x20] - bl sub_02021A20 + bl FUN_02021A20 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r6, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 b _020355A2 _02035594: ldr r2, _02035664 ; =0x020F2ACC @@ -106983,7 +106983,7 @@ _02035594: ldr r0, [r4, #0x24] ldr r1, [sp, #0x18] ldr r2, [r2, r6] - bl sub_02012880 + bl FUN_02012880 _020355A2: ldr r0, [sp, #0x1c] add r0, #0x8c @@ -107008,7 +107008,7 @@ _020355BC: add r0, #0x8c str r1, [r0, #0x0] ldr r0, [sp, #0x18] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [r4, #0x24] mov r1, #0x1 str r0, [sp, #0x24] @@ -107055,14 +107055,14 @@ _02035614: mov r2, #0x4 lsl r3, r3, #0x18 lsr r3, r3, #0x18 - bl sub_02001B8C + bl FUN_02001B8C str r0, [r4, #0x20] add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 ldr r0, [sp, #0x1c] ldr r0, [r0, #0xc] - bl sub_020238F4 - bl sub_020239CC + bl FUN_020238F4 + bl FUN_020239CC add r3, r0, #0x0 add r0, r4, #0x0 add r4, #0x30 @@ -107070,7 +107070,7 @@ _02035614: ldr r2, [sp, #0x14] add r1, r4, #0x0 lsr r3, r3, #0x18 - bl sub_020359B8 + bl FUN_020359B8 add sp, #0x30 pop {r3-r7, pc} nop @@ -107080,8 +107080,8 @@ _02035660: .word 0x00000143 _02035664: .word 0x020F2ACC _02035668: .word 0x00000402 - thumb_func_start sub_0203566C -sub_0203566C: ; 0x0203566C + thumb_func_start FUN_0203566C +FUN_0203566C: ; 0x0203566C push {r3-r4} mov r3, #0x7 lsl r3, r3, #0x6 @@ -107178,41 +107178,41 @@ _02035712: pop {r3-r4} bx lr - thumb_func_start sub_02035718 -sub_02035718: ; 0x02035718 + thumb_func_start FUN_02035718 +FUN_02035718: ; 0x02035718 push {r4, lr} add r4, r0, #0x0 - bl sub_02035B78 + bl FUN_02035B78 ldr r0, [r4, #0x20] mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C ldr r0, [r4, #0x24] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x0 str r0, [r4, #0x20] pop {r4, pc} - thumb_func_start sub_02035734 -sub_02035734: ; 0x02035734 + thumb_func_start FUN_02035734 +FUN_02035734: ; 0x02035734 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 bne _0203575A mov r6, #0x0 b _0203576C _0203575A: ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 beq _0203576A b _0203588E @@ -107233,7 +107233,7 @@ _0203576C: ldr r0, [r4, #0x8] add r1, #0x10 mov r2, #0x3 - bl sub_02019064 + bl FUN_02019064 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0xb @@ -107241,31 +107241,31 @@ _0203576C: ldr r0, [r4, #0x8] ldr r2, _02035898 ; =0x000003D9 mov r1, #0x3 - bl sub_0200CB00 + bl FUN_0200CB00 add r0, r5, #0x0 ldr r2, _02035898 ; =0x000003D9 add r0, #0x10 mov r1, #0x1 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r5, #0x0 add r0, #0x10 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 ldr r2, _0203589C ; =0x00000143 mov r0, #0x0 mov r1, #0x1a mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0x1c] cmp r6, #0x0 bne _020357D0 mov r1, #0x9 - bl sub_0200A914 + bl FUN_0200A914 b _020357D6 _020357D0: mov r1, #0xa - bl sub_0200A914 + bl FUN_0200A914 _020357D6: mov r1, #0x0 add r7, r0, #0x0 @@ -107277,25 +107277,25 @@ _020357D6: add r2, r7, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0xb - bl sub_0200AA80 + bl FUN_0200AA80 add r7, r0, #0x0 mov r0, #0x20 mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [sp, #0x18] ldr r0, [sp, #0x1c] mov r1, #0xb - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x14] cmp r6, #0x0 bne _02035834 ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034E24 + bl FUN_02034E30 + bl FUN_02034E24 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -107304,11 +107304,11 @@ _020357D6: ldrh r2, [r2, #0x0] add r0, r7, #0x0 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 b _0203584C _02035834: add r0, r4, #0x0 - bl sub_0204BAB0 + bl FUN_0204BAB0 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -107316,12 +107316,12 @@ _02035834: str r0, [sp, #0x4] add r0, r7, #0x0 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 _0203584C: ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff @@ -107332,18 +107332,18 @@ _0203584C: add r0, #0x10 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 ldr r0, [sp, #0x18] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x14] - bl sub_02021A20 + bl FUN_02021A20 add r0, r7, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [sp, #0x1c] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r5, #0x10 add r0, r5, #0x0 - bl sub_02019220 + bl FUN_02019220 _0203588E: add sp, #0x20 pop {r3-r7, pc} @@ -107352,56 +107352,56 @@ _02035894: .word 0x0000032D _02035898: .word 0x000003D9 _0203589C: .word 0x00000143 - thumb_func_start sub_020358A0 -sub_020358A0: ; 0x020358A0 + thumb_func_start FUN_020358A0 +FUN_020358A0: ; 0x020358A0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x0 bne _020358CE ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x0 beq _020358E0 _020358CE: add r0, r5, #0x0 add r0, #0x10 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 add r5, #0x10 add r0, r5, #0x0 - bl sub_02019178 + bl FUN_02019178 _020358E0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020358E4 -sub_020358E4: ; 0x020358E4 + thumb_func_start FUN_020358E4 +FUN_020358E4: ; 0x020358E4 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x20] - bl sub_02001E5C + bl FUN_02001E5C add r6, r0, #0x0 mov r1, #0x5e ldr r0, [r5, #0x20] lsl r1, r1, #0x4 - bl sub_02001D2C + bl FUN_02001D2C str r0, [r5, #0x2c] ldr r0, [r5, #0x20] - bl sub_02001E5C + bl FUN_02001E5C strh r0, [r5, #0x28] ldrh r1, [r5, #0x28] cmp r6, r1 @@ -107410,11 +107410,11 @@ sub_020358E4: ; 0x020358E4 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_02035BE8 + bl FUN_02035BE8 ldrh r2, [r5, #0x28] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02035C44 + bl FUN_02035C44 ldrh r0, [r5, #0x28] add r4, #0x8c add r0, r5, r0 @@ -107430,7 +107430,7 @@ _0203593A: lsl r0, r0, #0x2 ldr r0, [r1, r0] ldr r0, [r0, #0x0] - bl sub_02035C78 + bl FUN_02035C78 mov r1, #0x1 ldr r2, [r5, #0x2c] mvn r1, r1 @@ -107466,12 +107466,12 @@ _02035982: nop _02035988: .word 0x020F2AD0 - thumb_func_start sub_0203598C -sub_0203598C: ; 0x0203598C + thumb_func_start FUN_0203598C +FUN_0203598C: ; 0x0203598C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0202EDF8 + bl FUN_0202EDF8 cmp r0, #0x0 beq _020359B4 mov r0, #0x71 @@ -107480,16 +107480,16 @@ sub_0203598C: ; 0x0203598C cmp r0, #0x0 beq _020359B4 ldr r0, [r4, #0x7c] - bl sub_02052F74 - bl sub_02031B50 + bl FUN_02052F74 + bl FUN_02031B50 mov r0, #0x0 - bl sub_02052B74 + bl FUN_02052B74 _020359B4: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020359B8 -sub_020359B8: ; 0x020359B8 + thumb_func_start FUN_020359B8 +FUN_020359B8: ; 0x020359B8 push {r4-r7, lr} sub sp, #0xb4 ldr r4, _02035B60 ; =0x020F2AB4 @@ -107510,7 +107510,7 @@ sub_020359B8: ; 0x020359B8 add r0, #0x38 mov r2, #0x8 mov r3, #0xb - bl sub_021D959C + bl FUN_021D959C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 @@ -107522,7 +107522,7 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x5 add r0, #0x38 mov r3, #0x0 - bl sub_021D967C + bl FUN_021D967C ldr r0, _02035B64 ; =0x000034D8 mov r1, #0x42 str r0, [sp, #0x0] @@ -107530,7 +107530,7 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x1 add r0, #0x38 mov r3, #0x0 - bl sub_021D96F4 + bl FUN_021D96F4 ldr r0, _02035B64 ; =0x000034D8 mov r2, #0x0 str r0, [sp, #0x0] @@ -107538,7 +107538,7 @@ sub_020359B8: ; 0x020359B8 mov r1, #0x42 add r0, #0x38 add r3, r2, #0x0 - bl sub_021D9708 + bl FUN_021D9708 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02035B64 ; =0x000034D8 @@ -107548,11 +107548,11 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x2 add r0, #0x38 mov r3, #0x0 - bl sub_021D971C + bl FUN_021D971C ldr r0, [sp, #0xc] ldr r1, _02035B68 ; =0x020F2B14 add r0, #0x38 - bl sub_021D9820 + bl FUN_021D9820 mov r2, #0x67 ldr r1, [sp, #0xc] lsl r2, r2, #0x2 @@ -107561,7 +107561,7 @@ sub_020359B8: ; 0x020359B8 ldr r0, [r0, r2] ldrh r1, [r1, #0x28] ldr r0, [r0, #0x0] - bl sub_02035BE8 + bl FUN_02035BE8 ldr r0, _02035B6C ; =0x000034D9 mov r1, #0x42 str r0, [sp, #0x0] @@ -107569,7 +107569,7 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x4 add r0, #0x38 mov r3, #0x0 - bl sub_021D96F4 + bl FUN_021D96F4 ldr r0, _02035B6C ; =0x000034D9 mov r1, #0x42 str r0, [sp, #0x0] @@ -107577,7 +107577,7 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x3 add r0, #0x38 mov r3, #0x0 - bl sub_021D9708 + bl FUN_021D9708 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02035B6C ; =0x000034D9 @@ -107587,7 +107587,7 @@ sub_020359B8: ; 0x020359B8 mov r2, #0x6 add r0, #0x38 mov r3, #0x0 - bl sub_021D971C + bl FUN_021D971C ldr r0, [sp, #0x14] mov r4, #0x0 cmp r0, #0x0 @@ -107645,7 +107645,7 @@ _02035AF2: ldr r0, [sp, #0xc] add r1, sp, #0x68 add r0, #0x38 - bl sub_021D9820 + bl FUN_021D9820 mov r1, #0x1a lsl r1, r1, #0x4 add r2, sp, #0x5c @@ -107662,7 +107662,7 @@ _02035AF2: ldr r0, [r5, r0] mov r2, #0x1 ldr r0, [r0, #0x0] - bl sub_02020074 + bl FUN_02020074 ldr r0, [sp, #0x14] add r4, r4, #0x1 add r7, #0x18 @@ -107682,7 +107682,7 @@ _02035B2C: ldr r0, [r1, r0] mov r1, #0x2 ldr r0, [r0, #0x0] - bl sub_02035C18 + bl FUN_02035C18 ldr r0, [sp, #0x14] mov r1, #0x6f add r2, r0, #0x1 @@ -107691,7 +107691,7 @@ _02035B2C: str r2, [r0, r1] mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 add sp, #0xb4 pop {r4-r7, pc} .balign 4 @@ -107702,8 +107702,8 @@ _02035B6C: .word 0x000034D9 _02035B70: .word 0x020F2B48 _02035B74: .word 0x020F2AA8 - thumb_func_start sub_02035B78 -sub_02035B78: ; 0x02035B78 + thumb_func_start FUN_02035B78 +FUN_02035B78: ; 0x02035B78 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x6f @@ -107720,7 +107720,7 @@ _02035B90: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, r7] - bl sub_0200C3DC + bl FUN_0200C3DC add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -107730,11 +107730,11 @@ _02035B90: _02035BA6: add r5, #0x38 add r0, r5, #0x0 - bl sub_021D99F8 + bl FUN_021D99F8 pop {r3-r7, pc} - thumb_func_start sub_02035BB0 -sub_02035BB0: ; 0x02035BB0 + thumb_func_start FUN_02035BB0 +FUN_02035BB0: ; 0x02035BB0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x6f @@ -107754,7 +107754,7 @@ _02035BC8: mov r1, #0x1 ldr r0, [r0, #0x0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -107765,13 +107765,13 @@ _02035BE4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02035BE8 -sub_02035BE8: ; 0x02035BE8 + thumb_func_start FUN_02035BE8 +FUN_02035BE8: ; 0x02035BE8 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0202011C + bl FUN_0202011C add r6, r0, #0x0 add r3, sp, #0x0 ldmia r6!, {r0-r1} @@ -107786,33 +107786,33 @@ sub_02035BE8: ; 0x02035BE8 lsl r0, r0, #0xc str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02020044 + bl FUN_02020044 add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_02035C18 -sub_02035C18: ; 0x02035C18 + thumb_func_start FUN_02035C18 +FUN_02035C18: ; 0x02035C18 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020201DC + bl FUN_020201DC mov r1, #0x3 - blx sub_020EBE8C + blx FUN_020EBE8C add r2, r0, #0x0 lsl r1, r2, #0x1 add r1, r2, r1 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02020130 + bl FUN_02020130 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0202027C + bl FUN_0202027C pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02035C44 -sub_02035C44: ; 0x02035C44 + thumb_func_start FUN_02035C44 +FUN_02035C44: ; 0x02035C44 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x1 @@ -107825,7 +107825,7 @@ sub_02035C44: ; 0x02035C44 add r4, r2, #0x0 ldr r0, [r0, #0x0] add r2, r1, #0x0 - bl sub_02035C18 + bl FUN_02035C18 add r0, r4, #0x1 lsl r0, r0, #0x2 add r1, r5, r0 @@ -107835,46 +107835,46 @@ sub_02035C44: ; 0x02035C44 mov r1, #0x1 ldr r0, [r0, #0x0] add r2, r1, #0x0 - bl sub_02035C18 + bl FUN_02035C18 pop {r3-r5, pc} - thumb_func_start sub_02035C78 -sub_02035C78: ; 0x02035C78 + thumb_func_start FUN_02035C78 +FUN_02035C78: ; 0x02035C78 push {r4, lr} add r4, r0, #0x0 - bl sub_020201DC + bl FUN_020201DC mov r1, #0x3 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x1 bne _02035C9E add r0, r4, #0x0 - bl sub_02020388 + bl FUN_02020388 cmp r0, #0x0 bne _02035C9E add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x1 - bl sub_02035C18 + bl FUN_02035C18 _02035C9E: pop {r4, pc} - thumb_func_start sub_02035CA0 -sub_02035CA0: ; 0x02035CA0 + thumb_func_start FUN_02035CA0 +FUN_02035CA0: ; 0x02035CA0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x0 beq _02035CD8 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 - bl sub_02035718 + bl FUN_02035718 add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 add r0, r5, #0x0 - bl sub_020358A0 + bl FUN_020358A0 mov r1, #0x72 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -107886,17 +107886,17 @@ _02035CD8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02035CDC -sub_02035CDC: ; 0x02035CDC + thumb_func_start FUN_02035CDC +FUN_02035CDC: ; 0x02035CDC push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _02035D02 mov r1, #0x72 @@ -107907,8 +107907,8 @@ sub_02035CDC: ; 0x02035CDC _02035D02: pop {r4-r6, pc} - thumb_func_start sub_02035D04 -sub_02035D04: ; 0x02035D04 + thumb_func_start FUN_02035D04 +FUN_02035D04: ; 0x02035D04 mov r2, #0x72 lsl r2, r2, #0x2 str r1, [r0, r2] @@ -107916,15 +107916,15 @@ sub_02035D04: ; 0x02035D04 strh r1, [r0, #0x2a] bx lr - thumb_func_start sub_02035D10 -sub_02035D10: ; 0x02035D10 + thumb_func_start FUN_02035D10 +FUN_02035D10: ; 0x02035D10 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _02035D30 ; =sub_02035D34 + ldr r1, _02035D30 ; =FUN_02035D34 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -107932,53 +107932,53 @@ sub_02035D10: ; 0x02035D10 mov r0, #0x1 pop {r4, pc} nop -_02035D30: .word sub_02035D34 + 1 +_02035D30: .word FUN_02035D34 + 1 - thumb_func_start sub_02035D34 -sub_02035D34: ; 0x02035D34 + thumb_func_start FUN_02035D34 +FUN_02035D34: ; 0x02035D34 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 mov r0, #0xb mov r1, #0x20 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x0] ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x4] ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC add r7, r0, #0x0 ldr r0, [sp, #0x0] str r0, [r4, #0x0] ldr r0, [sp, #0x4] str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_0204B2A4 + bl FUN_0204B2A4 str r0, [r4, #0x8] add r0, r7, #0x0 mov r1, #0x0 - bl sub_0205F524 + bl FUN_0205F524 str r0, [r4, #0xc] add r0, r7, #0x0 mov r1, #0x1 - bl sub_0205F524 + bl FUN_0205F524 str r0, [r4, #0x10] add r0, r7, #0x0 mov r1, #0x2 - bl sub_0205F524 + bl FUN_0205F524 str r0, [r4, #0x14] add r0, r7, #0x0 mov r1, #0x3 - bl sub_0205F524 + bl FUN_0205F524 str r0, [r4, #0x18] add r0, r5, #0x0 add r0, #0xb0 @@ -107986,52 +107986,52 @@ sub_02035D34: ; 0x02035D34 add r1, r4, #0x0 str r0, [r4, #0x1c] add r0, r5, #0x0 - bl sub_02038690 + bl FUN_02038690 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r6, r0] - ldr r1, _02035DC4 ; =sub_02035DC8 + ldr r1, _02035DC4 ; =FUN_02035DC8 sub r0, #0x30 str r1, [r6, r0] mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 -_02035DC4: .word sub_02035DC8 + 1 +_02035DC4: .word FUN_02035DC8 + 1 - thumb_func_start sub_02035DC8 -sub_02035DC8: ; 0x02035DC8 + thumb_func_start FUN_02035DC8 +FUN_02035DC8: ; 0x02035DC8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x7e lsl r0, r0, #0x2 ldr r1, [r4, r0] cmp r1, #0x0 beq _02035DF0 mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C _02035DF0: mov r0, #0xc strh r0, [r4, #0x2a] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02035DF8 -sub_02035DF8: ; 0x02035DF8 + thumb_func_start FUN_02035DF8 +FUN_02035DF8: ; 0x02035DF8 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _02035E18 ; =sub_02035E1C + ldr r1, _02035E18 ; =FUN_02035E1C lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -108039,57 +108039,57 @@ sub_02035DF8: ; 0x02035DF8 mov r0, #0x1 pop {r4, pc} nop -_02035E18: .word sub_02035E1C + 1 +_02035E18: .word FUN_02035E1C + 1 - thumb_func_start sub_02035E1C -sub_02035E1C: ; 0x02035E1C + thumb_func_start FUN_02035E1C +FUN_02035E1C: ; 0x02035E1C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x7a add r4, r0, #0x0 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 mov r2, #0x0 - bl sub_020379C8 + bl FUN_020379C8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r0, _02035E4C ; =sub_02035E50 + ldr r0, _02035E4C ; =FUN_02035E50 sub r1, #0x30 str r0, [r4, r1] mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_02035E4C: .word sub_02035E50 + 1 +_02035E4C: .word FUN_02035E50 + 1 - thumb_func_start sub_02035E50 -sub_02035E50: ; 0x02035E50 + thumb_func_start FUN_02035E50 +FUN_02035E50: ; 0x02035E50 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r2, #0x40 add r6, r0, #0x0 - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 add r0, #0x23 ldrb r0, [r0, #0x0] @@ -108129,13 +108129,13 @@ _02035E90: lsl r6, r0, #0xc mov r0, #0xb mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r7, #0x0] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r7, #0x4] mov r0, #0x1 strb r0, [r7, #0x11] @@ -108144,39 +108144,39 @@ _02035E90: ldrb r0, [r0, #0x0] strb r0, [r7, #0x14] ldr r0, [r7, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r7, #0x13] mov r0, #0x0 strh r0, [r7, #0x18] strb r0, [r7, #0x12] ldr r0, [r5, #0xc] - bl sub_0202A918 + bl FUN_0202A918 str r0, [r7, #0x20] ldr r0, [r5, #0xc] - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r7, #0x1c] ldr r0, [r5, #0xc] - bl sub_02079C70 + bl FUN_02079C70 str r0, [r7, #0x2c] mov r0, #0x0 str r0, [r7, #0x28] ldr r1, _0203626C ; =0x020F2A9C add r0, r7, #0x0 - bl sub_0207B000 + bl FUN_0207B000 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r0, #0x0 add r0, r7, #0x0 - bl sub_0207C2A4 + bl FUN_0207C2A4 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_0203796C + bl FUN_0203796C mov r0, #0x7e lsl r0, r0, #0x2 str r7, [r4, r0] - ldr r1, _02036270 ; =sub_0203684C + ldr r1, _02036270 ; =FUN_0203684C add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _0203625E _02035F4A: .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7 @@ -108241,7 +108241,7 @@ _02036200: lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r2, #0x7e lsl r2, r2, #0x2 str r0, [r4, r2] @@ -108252,14 +108252,14 @@ _02036200: cmp r1, #0x6 blo _02036226 mov r1, #0x0 - bl sub_0206E358 + bl FUN_0206E358 b _0203622A _02036226: - bl sub_0206E358 + bl FUN_0206E358 _0203622A: - ldr r1, _02036280 ; =sub_020362E4 + ldr r1, _02036280 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _0203625E _02036234: cmp r0, #0x9 @@ -108268,41 +108268,41 @@ _02036234: lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036280 ; =sub_020362E4 + ldr r1, _02036280 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _0203625E _02036254: add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0xc strh r0, [r4, #0x2a] _0203625E: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} nop _0203626C: .word 0x020F2A9C -_02036270: .word sub_0203684C + 1 +_02036270: .word FUN_0203684C + 1 _02036274: .byte 0x8C, 0x2A, 0x0F, 0x02, 0xDD, 0x6B, 0x03, 0x02, 0x90, 0x2A, 0x0F, 0x02 -_02036280: .word sub_020362E4 + 1 +_02036280: .word FUN_020362E4 + 1 - thumb_func_start sub_02036284 -sub_02036284: ; 0x02036284 + thumb_func_start FUN_02036284 +FUN_02036284: ; 0x02036284 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _020362A4 ; =sub_020362A8 + ldr r1, _020362A4 ; =FUN_020362A8 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -108310,63 +108310,63 @@ sub_02036284: ; 0x02036284 mov r0, #0x1 pop {r4, pc} nop -_020362A4: .word sub_020362A8 + 1 +_020362A4: .word FUN_020362A8 + 1 - thumb_func_start sub_020362A8 -sub_020362A8: ; 0x020362A8 + thumb_func_start FUN_020362A8 +FUN_020362A8: ; 0x020362A8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x73 add r4, r0, #0x0 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0x0 - bl sub_0206E358 + bl FUN_0206E358 mov r0, #0x72 - ldr r1, _020362E0 ; =sub_020362E4 + ldr r1, _020362E0 ; =FUN_020362E4 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_020362E0: .word sub_020362E4 + 1 +_020362E0: .word FUN_020362E4 + 1 - thumb_func_start sub_020362E4 -sub_020362E4: ; 0x020362E4 + thumb_func_start FUN_020362E4 +FUN_020362E4: ; 0x020362E4 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb - bl sub_0206E2F0 + bl FUN_0206E2F0 str r0, [sp, #0x8] - bl sub_0206E308 + bl FUN_0206E308 mov r1, #0x7e lsl r1, r1, #0x2 add r2, r0, #0x0 ldr r0, [sp, #0x8] ldr r1, [r4, r1] - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x8] - bl sub_0206E384 + bl FUN_0206E384 cmp r0, #0x5 bls _02036328 b _020364EE @@ -108384,23 +108384,23 @@ _02036328: lsl r0, r0, #0x3 lsl r0, r7, #0x6 ldr r0, [sp, #0x8] - bl sub_0206E37C + bl FUN_0206E37C add r1, sp, #0x10 strh r0, [r1, #0x4] ldr r0, [sp, #0x8] - bl sub_0206E38C + bl FUN_0206E38C add r1, sp, #0x10 strb r0, [r1, #0x6] str r5, [sp, #0x10] ldrh r0, [r1, #0x4] mov r1, #0x6 mov r2, #0xb - bl sub_0206E7B8 + bl FUN_0206E7B8 add r1, r0, #0x0 lsl r1, r1, #0x10 mov r0, #0x0 lsr r1, r1, #0x10 - bl sub_0205CE48 + bl FUN_0205CE48 mov r1, #0x73 lsl r1, r1, #0x2 add r2, r0, #0x0 @@ -108435,27 +108435,27 @@ _0203637A: .byte 0x80, 0x00, 0x25, 0x50, 0x08, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0C, 0xFC, 0x04, 0xE0 _020364EE: add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0xc strh r0, [r4, #0x2a] _020364F8: ldr r0, [sp, #0x8] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} _02036504: .byte 0xDC, 0x96, 0x0F, 0x02, 0x51, 0x5E, 0x03, 0x02, 0xDD, 0x6B, 0x03, 0x02 - thumb_func_start sub_02036510 -sub_02036510: ; 0x02036510 + thumb_func_start FUN_02036510 +FUN_02036510: ; 0x02036510 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _02036530 ; =sub_02036534 + ldr r1, _02036530 ; =FUN_02036534 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -108463,20 +108463,20 @@ sub_02036510: ; 0x02036510 mov r0, #0x1 pop {r4, pc} nop -_02036530: .word sub_02036534 + 1 +_02036530: .word FUN_02036534 + 1 - thumb_func_start sub_02036534 -sub_02036534: ; 0x02036534 + thumb_func_start FUN_02036534 +FUN_02036534: ; 0x02036534 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb - bl sub_02065054 + bl FUN_02065054 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -108487,93 +108487,93 @@ sub_02036534: ; 0x02036534 mov r0, #0x1 add r1, r0, #0x0 mov r3, #0xff - bl sub_02064E90 + bl FUN_02064E90 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r5, #0x0 - bl sub_02038680 + bl FUN_02038680 mov r0, #0x72 - ldr r1, _02036580 ; =sub_02036584 + ldr r1, _02036580 ; =FUN_02036584 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 -_02036580: .word sub_02036584 + 1 +_02036580: .word FUN_02036584 + 1 - thumb_func_start sub_02036584 -sub_02036584: ; 0x02036584 + thumb_func_start FUN_02036584 +FUN_02036584: ; 0x02036584 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x7e add r4, r0, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r5, #0x0 - bl sub_02065314 + bl FUN_02065314 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02065070 + bl FUN_02065070 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0xc strh r0, [r4, #0x2a] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020365BC -sub_020365BC: ; 0x020365BC + thumb_func_start FUN_020365BC +FUN_020365BC: ; 0x020365BC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 - bl sub_02035718 + bl FUN_02035718 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 add r0, r5, #0x0 - bl sub_020358A0 + bl FUN_020358A0 mov r0, #0x4 strh r0, [r4, #0x2a] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020365F0 -sub_020365F0: ; 0x020365F0 + thumb_func_start FUN_020365F0 +FUN_020365F0: ; 0x020365F0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 ldr r0, [r0, #0xc] - bl sub_0202280C + bl FUN_0202280C cmp r0, #0x0 beq _02036618 mov r2, #0x0 ldr r1, _0203663C ; =0x000007F2 add r0, r5, #0x0 add r3, r2, #0x0 - bl sub_02038CD8 + bl FUN_02038CD8 b _02036636 _02036618: mov r0, #0x20 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -108583,7 +108583,7 @@ _02036618: ldr r1, _02036640 ; =0x000007D5 add r0, r5, #0x0 add r3, r3, #0x4 - bl sub_02038CD8 + bl FUN_02038CD8 _02036636: mov r0, #0x5 strh r0, [r4, #0x2a] @@ -108592,20 +108592,20 @@ _02036636: _0203663C: .word 0x000007F2 _02036640: .word 0x000007D5 - thumb_func_start sub_02036644 -sub_02036644: ; 0x02036644 + thumb_func_start FUN_02036644 +FUN_02036644: ; 0x02036644 push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r5, [r4, r0] ldr r0, [r6, #0xc] - bl sub_0202280C + bl FUN_0202280C cmp r0, #0x0 beq _0203666C mov r0, #0x0 @@ -108622,19 +108622,19 @@ _02036676: _02036678: strh r0, [r4, #0x2a] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02036684 -sub_02036684: ; 0x02036684 + thumb_func_start FUN_02036684 +FUN_02036684: ; 0x02036684 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _020366A4 ; =sub_020366A8 + ldr r1, _020366A4 ; =FUN_020366A8 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -108642,60 +108642,60 @@ sub_02036684: ; 0x02036684 mov r0, #0x1 pop {r4, pc} nop -_020366A4: .word sub_020366A8 + 1 +_020366A4: .word FUN_020366A8 + 1 - thumb_func_start sub_020366A8 -sub_020366A8: ; 0x020366A8 + thumb_func_start FUN_020366A8 +FUN_020366A8: ; 0x020366A8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02037EF8 + bl FUN_02037EF8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r0, _020366D0 ; =sub_020366D4 + ldr r0, _020366D0 ; =FUN_020366D4 sub r1, #0x30 str r0, [r4, r1] mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_020366D0: .word sub_020366D4 + 1 +_020366D0: .word FUN_020366D4 + 1 - thumb_func_start sub_020366D4 -sub_020366D4: ; 0x020366D4 + thumb_func_start FUN_020366D4 +FUN_020366D4: ; 0x020366D4 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0xc strh r0, [r4, #0x2a] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02036700 -sub_02036700: ; 0x02036700 + thumb_func_start FUN_02036700 +FUN_02036700: ; 0x02036700 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x72 - ldr r1, _02036720 ; =sub_02036724 + ldr r1, _02036720 ; =FUN_02036724 lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x2 @@ -108703,78 +108703,78 @@ sub_02036700: ; 0x02036700 mov r0, #0x1 pop {r4, pc} nop -_02036720: .word sub_02036724 + 1 +_02036720: .word FUN_02036724 + 1 - thumb_func_start sub_02036724 -sub_02036724: ; 0x02036724 + thumb_func_start FUN_02036724 +FUN_02036724: ; 0x02036724 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r2, [r5, #0xc] mov r0, #0x2 mov r1, #0x0 mov r3, #0xb - bl sub_02085338 + bl FUN_02085338 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] add r0, sp, #0x0 mov r1, #0x4 - bl sub_0201373C + bl FUN_0201373C mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, sp, #0x0 - bl sub_020853BC + bl FUN_020853BC mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r5, #0x0 - bl sub_02037E80 + bl FUN_02037E80 mov r0, #0x72 - ldr r1, _02036778 ; =sub_0203677C + ldr r1, _02036778 ; =FUN_0203677C lsl r0, r0, #0x2 str r1, [r4, r0] mov r0, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 -_02036778: .word sub_0203677C + 1 +_02036778: .word FUN_0203677C + 1 - thumb_func_start sub_0203677C -sub_0203677C: ; 0x0203677C + thumb_func_start FUN_0203677C +FUN_0203677C: ; 0x0203677C push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020853E4 + bl FUN_020853E4 cmp r0, #0x0 bne _020367C6 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, sp, #0x0 - bl sub_020853FC - bl sub_0202EDF8 + bl FUN_020853FC + bl FUN_0202EDF8 cmp r0, #0x0 beq _020367C0 add r0, sp, #0x0 - bl sub_02052DE8 + bl FUN_02052DE8 ldr r0, [r4, #0x78] add r1, sp, #0x0 - bl sub_02052CD8 + bl FUN_02052CD8 _020367C0: mov r0, #0x8 strh r0, [r5, #0x2a] @@ -108786,87 +108786,87 @@ _020367CA: mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020853A8 + bl FUN_020853A8 add r0, r4, #0x0 - bl sub_0204649C + bl FUN_0204649C ldr r0, [r4, #0x7c] - bl sub_02052F74 + bl FUN_02052F74 mov r0, #0x0 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020367E8 -sub_020367E8: ; 0x020367E8 + thumb_func_start FUN_020367E8 +FUN_020367E8: ; 0x020367E8 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 - bl sub_02035718 + bl FUN_02035718 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldrb r1, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0201AC68 + bl FUN_0201AC68 add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 add r0, r5, #0x0 - bl sub_020358A0 + bl FUN_020358A0 ldr r0, [r6, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 bne _02036834 ldr r1, _02036848 ; =0x00002275 add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 b _0203683E _02036834: add r0, r5, #0x0 mov r1, #0x4 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 _0203683E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r4-r6, pc} .balign 4 _02036848: .word 0x00002275 - thumb_func_start sub_0203684C -sub_0203684C: ; 0x0203684C + thumb_func_start FUN_0203684C +FUN_0203684C: ; 0x0203684C push {r3-r7, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r2, #0x30 add r7, r0, #0x0 - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 ldrb r0, [r7, #0x12] cmp r0, #0x2 bne _0203692E mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x7f lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -108874,18 +108874,18 @@ sub_0203684C: ; 0x0203684C str r1, [sp, #0x0] mov r1, #0x0 add r5, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r5, #0x0] ldr r0, [r6, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r5, #0x4] ldr r0, [r6, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r5, #0x8] ldr r0, [r6, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r5, #0xc] mov r0, #0x7a lsl r0, r0, #0x2 @@ -108930,17 +108930,17 @@ _020368EE: strb r1, [r0, #0x0] ldr r1, _02036954 ; =0x020F96DC add r0, r6, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x7f lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x7e lsl r0, r0, #0x2 str r5, [r4, r0] - ldr r1, _02036958 ; =sub_02035E50 + ldr r1, _02036958 ; =FUN_02035E50 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _0203694A _0203692E: mov r1, #0x7a @@ -108948,59 +108948,59 @@ _0203692E: ldrb r2, [r7, #0x14] add r0, r6, #0x0 add r1, r4, r1 - bl sub_020379C8 + bl FUN_020379C8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036958 ; =sub_02035E50 + ldr r1, _02036958 ; =FUN_02035E50 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 _0203694A: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r7, pc} .balign 4 _02036954: .word 0x020F96DC -_02036958: .word sub_02035E50 + 1 +_02036958: .word FUN_02035E50 + 1 - thumb_func_start sub_0203695C -sub_0203695C: ; 0x0203695C + thumb_func_start FUN_0203695C +FUN_0203695C: ; 0x0203695C push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 mov r0, #0xb - bl sub_020851B8 + bl FUN_020851B8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x0] mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r6, r0] add r1, r4, #0x0 mov r2, #0x1 - bl sub_020851DC + bl FUN_020851DC mov r5, #0x0 add r4, r5, #0x0 _0203699A: add r0, r4, #0x0 - bl sub_0206EB1C + bl FUN_0206EB1C add r7, r0, #0x0 ldr r0, [sp, #0x0] add r1, r7, #0x0 mov r2, #0x1 mov r3, #0xb - bl sub_0206EE50 + bl FUN_0206EE50 cmp r0, #0x1 bne _020369C6 mov r0, #0x7e @@ -109008,7 +109008,7 @@ _0203699A: ldr r0, [r6, r0] add r1, r7, #0x0 mov r2, #0x0 - bl sub_020851DC + bl FUN_020851DC add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -109025,7 +109025,7 @@ _020369C6: mov r1, #0x4 add r2, sp, #0x8 add r3, #0x1 - bl sub_0206F17C + bl FUN_0206F17C mov r0, #0x7e add r2, sp, #0x8 lsl r0, r0, #0x2 @@ -109035,28 +109035,28 @@ _020369C6: ldrb r2, [r2, #0x0] ldr r0, [r6, r0] lsr r3, r3, #0x18 - bl sub_020851F8 + bl FUN_020851F8 mov r1, #0x7e lsl r1, r1, #0x2 ldr r0, [sp, #0x4] ldr r1, [r6, r1] - bl sub_0203791C - ldr r1, _02036A10 ; =sub_02036A14 + bl FUN_0203791C + ldr r1, _02036A10 ; =FUN_02036A14 add r0, r6, #0x0 - bl sub_02035D04 + bl FUN_02035D04 add sp, #0xc pop {r4-r7, pc} .balign 4 -_02036A10: .word sub_02036A14 + 1 +_02036A10: .word FUN_02036A14 + 1 - thumb_func_start sub_02036A14 -sub_02036A14: ; 0x02036A14 + thumb_func_start FUN_02036A14 +FUN_02036A14: ; 0x02036A14 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 @@ -109064,7 +109064,7 @@ sub_02036A14: ; 0x02036A14 ldr r0, [r4, r0] add r1, #0x1 add r2, sp, #0x0 - bl sub_0208524C + bl FUN_0208524C add r0, r5, #0x0 add r3, sp, #0x0 add r0, #0x94 @@ -109072,74 +109072,74 @@ sub_02036A14: ; 0x02036A14 ldrb r3, [r3, #0x1] ldr r0, [r0, #0x0] mov r1, #0x4 - bl sub_0206F190 + bl FUN_0206F190 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036A74 ; =sub_020362E4 + ldr r1, _02036A74 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 mov r0, #0x0 pop {r3-r5, pc} nop -_02036A74: .word sub_020362E4 + 1 +_02036A74: .word FUN_020362E4 + 1 - thumb_func_start sub_02036A78 -sub_02036A78: ; 0x02036A78 + thumb_func_start FUN_02036A78 +FUN_02036A78: ; 0x02036A78 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x7e add r4, r0, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036AB4 ; =sub_020362E4 + ldr r1, _02036AB4 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_02036AB4: .word sub_020362E4 + 1 +_02036AB4: .word FUN_020362E4 + 1 - thumb_func_start sub_02036AB8 -sub_02036AB8: ; 0x02036AB8 + thumb_func_start FUN_02036AB8 +FUN_02036AB8: ; 0x02036AB8 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7f lsl r0, r0, #0x2 ldr r1, [r4, r0] mov r0, #0xb ldr r7, [r1, #0x0] - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x7e lsl r0, r0, #0x2 ldr r5, [r4, r0] @@ -109148,26 +109148,26 @@ sub_02036AB8: ; 0x02036AB8 bne _02036B0E mov r0, #0xb add r1, r5, #0x0 - bl sub_02016A8C + bl FUN_02016A8C mov r1, #0x7a lsl r1, r1, #0x2 lsl r2, r7, #0x18 add r0, r6, #0x0 add r1, r4, r1 lsr r2, r2, #0x18 - bl sub_020379C8 + bl FUN_020379C8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036B88 ; =sub_02035E50 + ldr r1, _02036B88 ; =FUN_02035E50 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _02036B82 _02036B0E: ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r2, r0, #0x0 ldr r0, [r5, #0x14] add r1, r6, #0x0 @@ -109186,29 +109186,29 @@ _02036B0E: mov r0, #0xb lsl r3, r3, #0x10 lsr r3, r3, #0x10 - bl sub_02063888 + bl FUN_02063888 ldr r1, [r5, #0x1c] add r7, r0, #0x0 lsl r1, r1, #0x10 mov r0, #0x1 lsr r1, r1, #0x10 mov r2, #0xb - bl sub_0202914C + bl FUN_0202914C add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x98 ldr r0, [r0, #0x0] mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02036B8C ; =sub_020638BC + ldr r1, _02036B8C ; =FUN_020638BC lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -109220,56 +109220,56 @@ _02036B82: add sp, #0x8 pop {r3-r7, pc} .balign 4 -_02036B88: .word sub_02035E50 + 1 -_02036B8C: .word sub_020638BC + 1 +_02036B88: .word FUN_02035E50 + 1 +_02036B8C: .word FUN_020638BC + 1 - thumb_func_start sub_02036B90 -sub_02036B90: ; 0x02036B90 + thumb_func_start FUN_02036B90 +FUN_02036B90: ; 0x02036B90 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x73 add r4, r0, #0x0 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036BC0 ; =sub_020362E4 + ldr r1, _02036BC0 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_02036BC0: .word sub_020362E4 + 1 +_02036BC0: .word FUN_020362E4 + 1 - thumb_func_start sub_02036BC4 -sub_02036BC4: ; 0x02036BC4 + thumb_func_start FUN_02036BC4 +FUN_02036BC4: ; 0x02036BC4 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x4 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 strh r5, [r0, #0x0] strb r6, [r0, #0x2] strb r4, [r0, #0x3] pop {r4-r6, pc} - thumb_func_start sub_02036BDC -sub_02036BDC: ; 0x02036BDC + thumb_func_start FUN_02036BDC +FUN_02036BDC: ; 0x02036BDC push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7f lsl r0, r0, #0x2 @@ -109289,18 +109289,18 @@ sub_02036BDC: ; 0x02036BDC lsl r6, r0, #0 sub r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_0208562C + bl FUN_0208562C mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036CE4 ; =sub_020362E4 + ldr r1, _02036CE4 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 b _02036CD4 _02036C32: .byte 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xF9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78 @@ -109318,16 +109318,16 @@ _02036CD4: mov r0, #0x7f lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r4-r6, pc} nop -_02036CE4: .word sub_020362E4 + 1 +_02036CE4: .word FUN_020362E4 + 1 _02036CE8: .byte 0x51, 0x5E, 0x03, 0x02 - thumb_func_start sub_02036CEC -sub_02036CEC: ; 0x02036CEC + thumb_func_start FUN_02036CEC +FUN_02036CEC: ; 0x02036CEC push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x7f @@ -109337,22 +109337,22 @@ sub_02036CEC: ; 0x02036CEC ldr r7, [r6, r0] mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] mov r0, #0x7a lsl r0, r0, #0x2 @@ -109375,129 +109375,129 @@ sub_02036CEC: ; 0x02036CEC str r5, [r4, #0x1c] ldrb r1, [r7, #0x2] ldr r0, [r4, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_0208560C + bl FUN_0208560C mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_0208562C + bl FUN_0208562C ldr r1, _02036D8C ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r6, r0] - ldr r1, _02036D90 ; =sub_02035E50 + ldr r1, _02036D90 ; =FUN_02035E50 add r0, r6, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r7, pc} nop _02036D8C: .word 0x020F96DC -_02036D90: .word sub_02035E50 + 1 +_02036D90: .word FUN_02035E50 + 1 - thumb_func_start sub_02036D94 -sub_02036D94: ; 0x02036D94 + thumb_func_start FUN_02036D94 +FUN_02036D94: ; 0x02036D94 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02087E14 + bl FUN_02087E14 mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036DD0 ; =sub_020362E4 + ldr r1, _02036DD0 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 mov r0, #0x0 pop {r3-r5, pc} nop -_02036DD0: .word sub_020362E4 + 1 +_02036DD0: .word FUN_020362E4 + 1 - thumb_func_start sub_02036DD4 -sub_02036DD4: ; 0x02036DD4 + thumb_func_start FUN_02036DD4 +FUN_02036DD4: ; 0x02036DD4 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C mov r1, #0x73 add r4, r0, #0x0 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _02036E04 ; =sub_020362E4 + ldr r1, _02036E04 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_02036E04: .word sub_020362E4 + 1 +_02036E04: .word FUN_020362E4 + 1 - thumb_func_start sub_02036E08 -sub_02036E08: ; 0x02036E08 + thumb_func_start FUN_02036E08 +FUN_02036E08: ; 0x02036E08 push {r3-r7, lr} sub sp, #0x48 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r5, [r6, r0] - bl sub_0200541C + bl FUN_0200541C mov r0, #0x3 mov r1, #0x49 lsl r2, r0, #0x10 - bl sub_0201681C + bl FUN_0201681C ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C ldrb r1, [r5, #0x0] str r0, [sp, #0x20] - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [sp, #0x24] ldrb r0, [r5, #0x1] cmp r0, #0x0 ldr r0, [r4, #0xc] bne _02036E9E - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x28] ldr r0, [r4, #0xc] - bl sub_02079C70 + bl FUN_02079C70 add r7, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x2c] ldr r0, [r4, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x30] ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [sp, #0x34] ldr r0, [r4, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 ldr r1, [sp, #0x2c] str r7, [sp, #0x0] str r1, [sp, #0x4] @@ -109516,25 +109516,25 @@ sub_02036E08: ; 0x02036E08 str r0, [sp, #0x1c] ldrh r2, [r5, #0x4] ldr r0, [sp, #0x20] - bl sub_0206C700 + bl FUN_0206C700 b _02036EF2 _02036E9E: - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x38] ldr r0, [r4, #0xc] - bl sub_02079C70 + bl FUN_02079C70 add r7, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x3c] ldr r0, [r4, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x40] ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [sp, #0x44] ldr r0, [r4, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 ldr r1, [sp, #0x3c] str r7, [sp, #0x0] str r1, [sp, #0x4] @@ -109553,12 +109553,12 @@ _02036E9E: str r0, [sp, #0x1c] ldrh r2, [r5, #0x4] ldr r0, [sp, #0x20] - bl sub_0206C700 + bl FUN_0206C700 _02036EF2: add r4, r0, #0x0 mov r0, #0xb mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 ldrb r1, [r5, #0x0] str r1, [r0, #0x0] mov r1, #0x7f @@ -109566,7 +109566,7 @@ _02036EF2: str r0, [r6, r1] sub r0, r1, #0x4 ldr r0, [r6, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r6, r0] @@ -109575,41 +109575,41 @@ _02036EF2: add sp, #0x48 pop {r3-r7, pc} - thumb_func_start sub_02036F1C -sub_02036F1C: ; 0x02036F1C + thumb_func_start FUN_02036F1C +FUN_02036F1C: ; 0x02036F1C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0206C91C + bl FUN_0206C91C cmp r0, #0x1 bne _02036F98 mov r0, #0x7e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0206C92C + bl FUN_0206C92C mov r0, #0x49 - bl sub_020168D0 + bl FUN_020168D0 ldr r0, _02036F9C ; =0x00000475 mov r1, #0x0 - bl sub_02005350 + bl FUN_02005350 mov r0, #0x0 - bl sub_0200415C + bl FUN_0200415C ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] - bl sub_0204ADBC + bl FUN_0204ADBC mov r1, #0x73 lsl r1, r1, #0x2 add r0, r5, #0x0 add r1, r4, r1 - bl sub_02037844 + bl FUN_02037844 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -109619,34 +109619,34 @@ sub_02036F1C: ; 0x02036F1C ldr r1, [r1, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0206E358 + bl FUN_0206E358 mov r0, #0x7f lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 - ldr r1, _02036FA0 ; =sub_020362E4 + bl FUN_02016A18 + ldr r1, _02036FA0 ; =FUN_020362E4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 _02036F98: pop {r3-r5, pc} nop _02036F9C: .word 0x00000475 -_02036FA0: .word sub_020362E4 + 1 +_02036FA0: .word FUN_020362E4 + 1 - thumb_func_start sub_02036FA4 -sub_02036FA4: ; 0x02036FA4 + thumb_func_start FUN_02036FA4 +FUN_02036FA4: ; 0x02036FA4 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x38] add r4, r1, #0x0 add r5, r2, #0x0 - bl sub_020552F8 + bl FUN_020552F8 add r7, r0, #0x0 ldr r0, [r6, #0x38] - bl sub_02055320 + bl FUN_02055320 str r0, [r4, #0x0] ldr r0, [r6, #0x38] - bl sub_0205532C + bl FUN_0205532C str r0, [r5, #0x0] cmp r7, #0x3 bhi _02036FFA @@ -109672,15 +109672,15 @@ _02036FFA: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02037000 -sub_02037000: ; 0x02037000 + thumb_func_start FUN_02037000 +FUN_02037000: ; 0x02037000 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_020553A0 - bl sub_02058BE4 + bl FUN_020553A0 + bl FUN_02058BE4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058BE4 + bl FUN_02058BE4 cmp r4, r0 bne _0203701C mov r0, #0x1 @@ -109692,21 +109692,21 @@ _0203701E: lsr r0, r0, #0x18 pop {r3-r5, pc} - thumb_func_start sub_02037024 -sub_02037024: ; 0x02037024 + thumb_func_start FUN_02037024 +FUN_02037024: ; 0x02037024 push {r4-r6, lr} sub sp, #0x8 add r6, r1, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 add r5, r0, #0x0 - bl sub_02036FA4 + bl FUN_02036FA4 add r4, r0, #0x0 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 - bl sub_0204A6E0 - bl sub_020547A4 + bl FUN_0204A6E0 + bl FUN_020547A4 cmp r0, #0x1 bne _0203707E cmp r4, #0x3 @@ -109732,27 +109732,27 @@ _0203707E: ldr r0, [r5, #0x34] ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] - bl sub_02058D74 + bl FUN_02058D74 str r0, [r6, #0x0] add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02037090 -sub_02037090: ; 0x02037090 + thumb_func_start FUN_02037090 +FUN_02037090: ; 0x02037090 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 - bl sub_02037024 + bl FUN_02037024 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020370B8 - bl sub_020588D4 + bl FUN_020588D4 cmp r0, #0x1 bne _020370B8 ldr r0, [r5, #0x38] ldr r1, [r4, #0x0] - bl sub_02037000 + bl FUN_02037000 cmp r0, #0x1 bne _020370B8 mov r0, #0x1 @@ -109761,8 +109761,8 @@ _020370B8: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020370BC -sub_020370BC: ; 0x020370BC + thumb_func_start FUN_020370BC +FUN_020370BC: ; 0x020370BC push {r3-r7, lr} sub sp, #0x10 str r1, [sp, #0x0] @@ -109770,7 +109770,7 @@ sub_020370BC: ; 0x020370BC add r1, sp, #0xc add r2, sp, #0x8 add r6, r0, #0x0 - bl sub_02036FA4 + bl FUN_02036FA4 ldr r0, [sp, #0x4] mov r7, #0x0 cmp r0, #0x0 @@ -109791,7 +109791,7 @@ _020370DA: bne _0203710A add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0203713C + bl FUN_0203713C cmp r0, #0x1 bne _02037124 mov r0, #0x14 @@ -109804,7 +109804,7 @@ _020370DA: _0203710A: add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02037168 + bl FUN_02037168 cmp r0, #0x1 bne _02037124 mov r0, #0x14 @@ -109828,8 +109828,8 @@ _02037130: nop _02037138: .word 0x0000FFFF - thumb_func_start sub_0203713C -sub_0203713C: ; 0x0203713C + thumb_func_start FUN_0203713C +FUN_0203713C: ; 0x0203713C push {r4, lr} add r4, r0, #0x0 ldrh r0, [r1, #0x2] @@ -109839,10 +109839,10 @@ sub_0203713C: ; 0x0203713C pop {r4, pc} _0203714A: ldrh r0, [r1, #0x0] - bl sub_02039694 + bl FUN_02039694 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02039528 + bl FUN_02039528 cmp r0, #0x1 beq _02037160 mov r0, #0x1 @@ -109854,8 +109854,8 @@ _02037162: lsr r0, r0, #0x18 pop {r4, pc} - thumb_func_start sub_02037168 -sub_02037168: ; 0x02037168 + thumb_func_start FUN_02037168 +FUN_02037168: ; 0x02037168 push {r4, lr} add r4, r1, #0x0 ldrh r1, [r4, #0x10] @@ -109865,7 +109865,7 @@ sub_02037168: ; 0x02037168 pop {r4, pc} _02037176: ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 cmp r0, #0x3 bhi _020371CC add r0, r0, r0 @@ -109894,15 +109894,15 @@ _020371CC: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_020371D0 -sub_020371D0: ; 0x020371D0 + thumb_func_start FUN_020371D0 +FUN_020371D0: ; 0x020371D0 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, [r5, #0x38] add r6, r1, #0x0 add r4, r2, #0x0 - bl sub_020552F8 + bl FUN_020552F8 cmp r0, #0x0 beq _020371EA add sp, #0x8 @@ -109912,7 +109912,7 @@ _020371EA: add r0, r5, #0x0 add r1, sp, #0x4 add r2, sp, #0x0 - bl sub_02036FA4 + bl FUN_02036FA4 mov r0, #0x0 cmp r4, #0x0 ble _02037224 @@ -109946,13 +109946,13 @@ _02037224: nop _0203722C: .word 0x0000FFFF - thumb_func_start sub_02037230 -sub_02037230: ; 0x02037230 + thumb_func_start FUN_02037230 +FUN_02037230: ; 0x02037230 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 - bl sub_020552F8 + bl FUN_020552F8 cmp r0, #0x0 beq _02037244 mov r0, #0x0 @@ -109960,11 +109960,11 @@ sub_02037230: ; 0x02037230 _02037244: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02037090 + bl FUN_02037090 cmp r0, #0x1 bne _02037260 ldr r0, [r4, #0x0] - bl sub_02058458 + bl FUN_02058458 sub r0, #0x5b cmp r0, #0x5 bhi _02037260 @@ -109974,19 +109974,19 @@ _02037260: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02037264 -sub_02037264: ; 0x02037264 + thumb_func_start FUN_02037264 +FUN_02037264: ; 0x02037264 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] ldr r0, [r0, #0x38] str r1, [sp, #0x4] str r2, [sp, #0x8] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C add r4, r0, #0x0 ldr r0, [sp, #0x8] mov r7, #0x0 @@ -110010,7 +110010,7 @@ _0203728A: bge _020372BE ldrh r1, [r5, #0xe] ldr r0, [sp, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldrh r1, [r5, #0xc] cmp r1, r0 bne _020372BE @@ -110032,23 +110032,23 @@ _020372C8: nop _020372D0: .word 0x0000FFFF - thumb_func_start sub_020372D4 -sub_020372D4: ; 0x020372D4 + thumb_func_start FUN_020372D4 +FUN_020372D4: ; 0x020372D4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0200628C + bl FUN_0200628C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02037400 + bl FUN_02037400 ldr r1, _02037300 ; =0x021C5A08 str r0, [r1, #0x0] ldr r1, [r4, #0x4] cmp r1, #0x0 beq _020372F4 - bl sub_02048FC8 + bl FUN_02048FC8 b _020372F8 _020372F4: - bl sub_02048EC8 + bl FUN_02048EC8 _020372F8: mov r0, #0x0 str r0, [r4, #0x4] @@ -110057,23 +110057,23 @@ _020372F8: .balign 4 _02037300: .word 0x021C5A08 - thumb_func_start sub_02037304 -sub_02037304: ; 0x02037304 + thumb_func_start FUN_02037304 +FUN_02037304: ; 0x02037304 push {r3, lr} - bl sub_02037400 + bl FUN_02037400 ldr r1, _02037318 ; =0x021C5A08 str r0, [r1, #0x0] - bl sub_02048D90 + bl FUN_02048D90 mov r0, #0x1 pop {r3, pc} nop _02037318: .word 0x021C5A08 - thumb_func_start sub_0203731C -sub_0203731C: ; 0x0203731C + thumb_func_start FUN_0203731C +FUN_0203731C: ; 0x0203731C push {r3, lr} - bl sub_02006278 - bl sub_02037524 + bl FUN_02006278 + bl FUN_02037524 cmp r0, #0x0 beq _0203732E mov r0, #0x1 @@ -110083,38 +110083,38 @@ _0203732E: pop {r3, pc} .balign 4 - thumb_func_start sub_02037334 -sub_02037334: ; 0x02037334 + thumb_func_start FUN_02037334 +FUN_02037334: ; 0x02037334 push {r3, lr} - bl sub_020374B0 + bl FUN_020374B0 ldr r0, _02037348 ; =0x0000003F ldr r1, _0203734C ; =0x021DBAB8 - bl sub_02000E7C + bl FUN_02000E7C mov r0, #0x1 pop {r3, pc} nop _02037348: .word 0x0000003F _0203734C: .word 0x021DBAB8 - thumb_func_start sub_02037350 -sub_02037350: ; 0x02037350 + thumb_func_start FUN_02037350 +FUN_02037350: ; 0x02037350 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _02037360 - bl sub_02020C2C + bl FUN_02020C2C _02037360: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0203736C - bl sub_02020C2C + bl FUN_02020C2C _0203736C: ldr r0, _0203738C ; =0x00000005 mov r1, #0x2 - bl sub_02005FDC + bl FUN_02005FDC mov r1, #0x0 str r1, [r4, #0x64] ldr r0, [r4, #0x0] @@ -110122,7 +110122,7 @@ _0203736C: str r1, [r0, #0x8] ldr r0, _02037390 ; =0x021F64C8 add r1, r4, #0x0 - bl sub_02006234 + bl FUN_02006234 ldr r1, [r4, #0x0] str r0, [r1, #0x0] pop {r4, pc} @@ -110130,15 +110130,15 @@ _0203736C: _0203738C: .word 0x00000005 _02037390: .word 0x021F64C8 - thumb_func_start sub_02037394 -sub_02037394: ; 0x02037394 + thumb_func_start FUN_02037394 +FUN_02037394: ; 0x02037394 mov r1, #0x0 str r1, [r0, #0x64] bx lr .balign 4 - thumb_func_start sub_0203739C -sub_0203739C: ; 0x0203739C + thumb_func_start FUN_0203739C +FUN_0203739C: ; 0x0203739C ldr r0, [r0, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 @@ -110149,8 +110149,8 @@ _020373A8: mov r0, #0x0 bx lr - thumb_func_start sub_020373AC -sub_020373AC: ; 0x020373AC + thumb_func_start FUN_020373AC +FUN_020373AC: ; 0x020373AC ldr r1, [r0, #0x0] ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -110165,8 +110165,8 @@ _020373BE: bx lr .balign 4 - thumb_func_start sub_020373C4 -sub_020373C4: ; 0x020373C4 + thumb_func_start FUN_020373C4 +FUN_020373C4: ; 0x020373C4 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 @@ -110177,8 +110177,8 @@ _020373D0: mov r0, #0x0 bx lr - thumb_func_start sub_020373D4 -sub_020373D4: ; 0x020373D4 + thumb_func_start FUN_020373D4 +FUN_020373D4: ; 0x020373D4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -110187,48 +110187,48 @@ sub_020373D4: ; 0x020373D4 add r6, r2, #0x0 cmp r0, #0x0 beq _020373E8 - bl sub_02020C2C + bl FUN_02020C2C _020373E8: add r0, r5, #0x0 - bl sub_02037394 + bl FUN_02037394 add r0, r4, #0x0 add r1, r6, #0x0 mov r2, #0xb - bl sub_02006234 + bl FUN_02006234 ldr r1, [r5, #0x0] str r0, [r1, #0x4] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02037400 -sub_02037400: ; 0x02037400 + thumb_func_start FUN_02037400 +FUN_02037400: ; 0x02037400 push {r3-r5, lr} mov r2, #0x7 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0xb lsl r2, r2, #0xe - bl sub_0201681C + bl FUN_0201681C mov r1, #0x20 mov r0, #0x3 lsl r2, r1, #0x9 - bl sub_0201681C + bl FUN_0201681C mov r2, #0x3 mov r0, #0x0 mov r1, #0x5b lsl r2, r2, #0x8 - bl sub_0201681C + bl FUN_0201681C add r0, r5, #0x0 mov r1, #0xb8 mov r2, #0xb - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0xb8 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0xb mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] mov r1, #0x0 str r1, [r0, #0x0] @@ -110239,36 +110239,36 @@ sub_02037400: ; 0x02037400 ldr r0, [r4, #0x0] str r1, [r0, #0xc] add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r0, [r0, #0x8] str r0, [r4, #0xc] mov r0, #0x0 str r0, [r4, #0x10] ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DC0 + bl FUN_02034E30 + bl FUN_02034DC0 str r0, [r4, #0x1c] - bl sub_02034494 + bl FUN_02034494 str r0, [r4, #0x28] add r0, r4, #0x0 mov r1, #0xb - bl sub_02034A28 + bl FUN_02034A28 mov r0, #0xb - bl sub_0206F164 + bl FUN_0206F164 add r1, r4, #0x0 add r1, #0x94 str r0, [r1, #0x0] mov r0, #0xb - bl sub_0205DD18 + bl FUN_0205DD18 add r1, r4, #0x0 add r1, #0x90 str r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 mov r0, #0xb - bl sub_0208A300 + bl FUN_0208A300 add r1, r4, #0x0 add r1, #0xb0 str r0, [r1, #0x0] @@ -110276,65 +110276,65 @@ sub_02037400: ; 0x02037400 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020374B0 -sub_020374B0: ; 0x020374B0 + thumb_func_start FUN_020374B0 +FUN_020374B0: ; 0x020374B0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x28] - bl sub_020344D0 + bl FUN_020344D0 add r0, r4, #0x0 - bl sub_02034A48 + bl FUN_02034A48 add r0, r4, #0x0 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD38 + bl FUN_0205DD38 add r0, r4, #0x0 add r0, #0xb0 ldr r0, [r0, #0x0] - bl sub_0208A320 + bl FUN_0208A320 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C mov r0, #0x5b - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0xb - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x20 - bl sub_020168D0 + bl FUN_020168D0 pop {r3-r5, pc} - thumb_func_start sub_02037504 -sub_02037504: ; 0x02037504 + thumb_func_start FUN_02037504 +FUN_02037504: ; 0x02037504 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02037520 - bl sub_02006290 + bl FUN_02006290 cmp r0, #0x0 beq _02037520 ldr r0, [r4, #0x0] - bl sub_02006260 + bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] _02037520: pop {r4, pc} .balign 4 - thumb_func_start sub_02037524 -sub_02037524: ; 0x02037524 + thumb_func_start FUN_02037524 +FUN_02037524: ; 0x02037524 push {r4, lr} add r4, r0, #0x0 - bl sub_02037594 + bl FUN_02037594 add r0, r4, #0x0 - bl sub_02046420 + bl FUN_02046420 cmp r0, #0x1 bne _02037546 ldr r0, [r4, #0x4] @@ -110343,26 +110343,26 @@ sub_02037524: ; 0x02037524 mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_021EFA9C + bl FUN_021EFA9C _02037546: ldr r0, [r4, #0x0] ldr r1, [r0, #0x0] cmp r1, #0x0 beq _02037562 - bl sub_02037504 + bl FUN_02037504 ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0203756E ldr r0, _02037590 ; =0x00000005 - bl sub_02005F60 + bl FUN_02005F60 b _0203756E _02037562: ldr r1, [r0, #0x4] cmp r1, #0x0 beq _0203756E add r0, r0, #0x4 - bl sub_02037504 + bl FUN_02037504 _0203756E: ldr r1, [r4, #0x0] ldr r0, [r1, #0xc] @@ -110385,8 +110385,8 @@ _0203758C: .balign 4 _02037590: .word 0x00000005 - thumb_func_start sub_02037594 -sub_02037594: ; 0x02037594 + thumb_func_start FUN_02037594 +FUN_02037594: ; 0x02037594 push {r3-r5, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -110398,7 +110398,7 @@ sub_02037594: ; 0x02037594 ldr r1, [r4, #0x64] cmp r1, #0x0 beq _020375B4 - bl sub_0204646C + bl FUN_0204646C cmp r0, #0x0 bne _020375B4 mov r5, #0x1 @@ -110406,7 +110406,7 @@ _020375B4: cmp r5, #0x0 beq _020375D4 ldr r0, [r4, #0x38] - bl sub_02055A38 + bl FUN_02055A38 ldr r3, _02037758 ; =0x021C48B8 add r0, sp, #0x8 ldr r2, [r3, #0x48] @@ -110416,7 +110416,7 @@ _020375B4: add r1, r4, #0x0 lsr r2, r2, #0x10 lsr r3, r3, #0x10 - bl sub_021D8164 + bl FUN_021D8164 _020375D4: ldr r0, [r4, #0x1c] ldr r2, [r4, #0x6c] @@ -110441,16 +110441,16 @@ _020375E2: lsl r6, r7, #0x1 cmp r5, #0x0 beq _02037610 - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _02037610 add r0, sp, #0x8 add r1, r4, #0x0 - bl sub_021D85FC + bl FUN_021D85FC _02037610: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0204D6C0 + bl FUN_0204D6C0 add sp, #0x10 pop {r3-r5, pc} _0203761C: @@ -110473,23 +110473,23 @@ _020376E2: beq _02037754 add r0, sp, #0x8 add r1, r4, #0x0 - bl sub_021D8320 + bl FUN_021D8320 cmp r0, #0x1 bne _0203771C ldr r0, [r4, #0x4] ldr r0, [r0, #0x8] - bl sub_021E32F0 + bl FUN_021E32F0 add r0, r4, #0x0 mov r1, #0x4 - bl sub_021E81BC + bl FUN_021E81BC ldr r0, [r4, #0x38] - bl sub_02055B14 + bl FUN_02055B14 ldr r0, [r4, #0x38] - bl sub_021E7138 + bl FUN_021E7138 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x1 - bl sub_021EFA9C + bl FUN_021EFA9C add sp, #0x10 pop {r3-r5, pc} _0203771C: @@ -110500,13 +110500,13 @@ _0203771C: beq _0203772E ldr r0, [r4, #0x4] ldr r0, [r0, #0x8] - bl sub_021E32F0 + bl FUN_021E32F0 _0203772E: mov r5, #0x0 - bl sub_02037790 + bl FUN_02037790 cmp r0, #0x0 beq _0203773E - bl sub_02252534 + bl FUN_02252534 add r5, r0, #0x0 _0203773E: add r3, sp, #0x8 @@ -110518,7 +110518,7 @@ _0203773E: ldrh r3, [r3, #0x4] ldr r0, [r4, #0x38] ldr r1, [r4, #0x24] - bl sub_020557F4 + bl FUN_020557F4 _02037754: add sp, #0x10 pop {r3-r5, pc} @@ -110526,8 +110526,8 @@ _02037754: _02037758: .word 0x021C48B8 _0203775C: .word 0x00000146 - thumb_func_start sub_02037760 -sub_02037760: ; 0x02037760 + thumb_func_start FUN_02037760 +FUN_02037760: ; 0x02037760 ldr r0, _02037770 ; =0x021C5A08 ldr r3, _02037774 ; =0x02030FC9 ldr r0, [r0, #0x0] @@ -110539,10 +110539,10 @@ sub_02037760: ; 0x02037760 _02037770: .word 0x021C5A08 _02037774: .word 0x02030FC9 - thumb_func_start sub_02037778 -sub_02037778: ; 0x02037778 + thumb_func_start FUN_02037778 +FUN_02037778: ; 0x02037778 ldr r0, _02037788 ; =0x021C5A08 - ldr r3, _0203778C ; =sub_02030FA8 + ldr r3, _0203778C ; =FUN_02030FA8 ldr r0, [r0, #0x0] mov r1, #0x0 ldr r0, [r0, #0x0] @@ -110550,10 +110550,10 @@ sub_02037778: ; 0x02037778 bx r3 nop _02037788: .word 0x021C5A08 -_0203778C: .word sub_02030FA8 + 1 +_0203778C: .word FUN_02030FA8 + 1 - thumb_func_start sub_02037790 -sub_02037790: ; 0x02037790 + thumb_func_start FUN_02037790 +FUN_02037790: ; 0x02037790 ldr r0, _020377A4 ; =0x021C5A08 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] @@ -110567,18 +110567,18 @@ _0203779E: nop _020377A4: .word 0x021C5A08 - thumb_func_start sub_020377A8 -sub_020377A8: ; 0x020377A8 + thumb_func_start FUN_020377A8 +FUN_020377A8: ; 0x020377A8 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_020377AC -sub_020377AC: ; 0x020377AC + thumb_func_start FUN_020377AC +FUN_020377AC: ; 0x020377AC ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_020377B0 -sub_020377B0: ; 0x020377B0 + thumb_func_start FUN_020377B0 +FUN_020377B0: ; 0x020377B0 ldr r2, _020377C4 ; =0x020F2B9C add r3, r0, #0x0 ldmia r2!, {r0-r1} @@ -110591,8 +110591,8 @@ sub_020377B0: ; 0x020377B0 nop _020377C4: .word 0x020F2B9C - thumb_func_start sub_020377C8 -sub_020377C8: ; 0x020377C8 + thumb_func_start FUN_020377C8 +FUN_020377C8: ; 0x020377C8 ldr r2, _020377DC ; =0x020F2BB0 add r3, r0, #0x0 ldmia r2!, {r0-r1} @@ -110605,34 +110605,34 @@ sub_020377C8: ; 0x020377C8 nop _020377DC: .word 0x020F2BB0 - thumb_func_start sub_020377E0 -sub_020377E0: ; 0x020377E0 + thumb_func_start FUN_020377E0 +FUN_020377E0: ; 0x020377E0 push {r3, lr} - bl sub_02034E30 - bl sub_02034DC0 - bl sub_020377B0 + bl FUN_02034E30 + bl FUN_02034DC0 + bl FUN_020377B0 pop {r3, pc} - thumb_func_start sub_020377F0 -sub_020377F0: ; 0x020377F0 + thumb_func_start FUN_020377F0 +FUN_020377F0: ; 0x020377F0 mov r0, #0x1 bx lr _020377F4: .byte 0x08, 0xB5, 0xF5, 0xF1, 0xE3, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20 .byte 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x01, 0x20, 0x70, 0x47 - thumb_func_start sub_0203780C -sub_0203780C: ; 0x0203780C - ldr r3, _02037814 ; =sub_020373D4 + thumb_func_start FUN_0203780C +FUN_0203780C: ; 0x0203780C + ldr r3, _02037814 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037818 ; =0x020F2D94 bx r3 .balign 4 -_02037814: .word sub_020373D4 + 1 +_02037814: .word FUN_020373D4 + 1 _02037818: .word 0x020F2D94 - thumb_func_start sub_0203781C -sub_0203781C: ; 0x0203781C + thumb_func_start FUN_0203781C +FUN_0203781C: ; 0x0203781C push {r4-r6, lr} sub sp, #0x10 ldr r5, _02037840 ; =0x020F2D74 @@ -110646,59 +110646,59 @@ sub_0203781C: ; 0x0203781C stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _02037840: .word 0x020F2D74 - thumb_func_start sub_02037844 -sub_02037844: ; 0x02037844 + thumb_func_start FUN_02037844 +FUN_02037844: ; 0x02037844 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r6, r1, #0x0 - bl sub_0206F158 + bl FUN_0206F158 ldr r1, _02037898 ; =0x020F2BDC mov r2, #0xb - bl sub_0206EFEC + bl FUN_0206EFEC add r3, r5, #0x0 add r3, #0x94 ldr r1, [r5, #0xc] ldr r3, [r3, #0x0] mov r2, #0x0 add r4, r0, #0x0 - bl sub_0206E314 + bl FUN_0206E314 ldr r1, [r5, #0x6c] add r0, r4, #0x0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0206E360 + bl FUN_0206E360 ldr r0, [r5, #0x38] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _02037884 add r0, r4, #0x0 - bl sub_0206E340 + bl FUN_0206E340 _02037884: add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0206E354 + bl FUN_0206E354 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0203781C + bl FUN_0203781C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02037898: .word 0x020F2BDC - thumb_func_start sub_0203789C -sub_0203789C: ; 0x0203789C + thumb_func_start FUN_0203789C +FUN_0203789C: ; 0x0203789C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_0206F158 + bl FUN_0206F158 add r6, r0, #0x0 cmp r4, #0x0 beq _020378B4 @@ -110716,23 +110716,23 @@ _020378BC: str r1, [r0, #0x0] b _020378C8 _020378C4: - bl sub_02020C2C + bl FUN_02020C2C _020378C8: ldr r1, _020378F4 ; =0x02105DB8 add r0, r6, #0x0 ldr r1, [r1, #0x0] mov r2, #0x20 - bl sub_0206EFEC + bl FUN_0206EFEC add r3, r5, #0x0 add r3, #0x94 ldr r1, [r5, #0xc] ldr r3, [r3, #0x0] add r4, r0, #0x0 mov r2, #0x3 - bl sub_0206E314 + bl FUN_0206E314 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0203781C + bl FUN_0203781C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 @@ -110740,25 +110740,25 @@ _020378F0: .word 0x020F2BC8 _020378F4: .word 0x02105DB8 _020378F8: .word 0x020F2BC4 - thumb_func_start sub_020378FC -sub_020378FC: ; 0x020378FC + thumb_func_start FUN_020378FC +FUN_020378FC: ; 0x020378FC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0206E37C + bl FUN_0206E37C add r4, r0, #0x0 beq _02037916 add r0, r5, #0x0 - bl sub_0206E384 + bl FUN_0206E384 cmp r0, #0x5 bne _02037916 - bl sub_02020C2C + bl FUN_02020C2C _02037916: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203791C -sub_0203791C: ; 0x0203791C + thumb_func_start FUN_0203791C +FUN_0203791C: ; 0x0203791C push {r4-r6, lr} sub sp, #0x10 ldr r5, _02037940 ; =0x020F2D44 @@ -110772,14 +110772,14 @@ sub_0203791C: ; 0x0203791C stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _02037940: .word 0x020F2D44 - thumb_func_start sub_02037944 -sub_02037944: ; 0x02037944 + thumb_func_start FUN_02037944 +FUN_02037944: ; 0x02037944 push {r3-r5, lr} sub sp, #0x10 ldr r4, _02037968 ; =0x020F2D24 @@ -110793,46 +110793,46 @@ sub_02037944: ; 0x02037944 add r1, r2, #0x0 ldr r2, [r5, #0xc] add r0, r5, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r3-r5, pc} nop _02037968: .word 0x020F2D24 - thumb_func_start sub_0203796C -sub_0203796C: ; 0x0203796C - ldr r3, _02037974 ; =sub_020373D4 + thumb_func_start FUN_0203796C +FUN_0203796C: ; 0x0203796C + ldr r3, _02037974 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037978 ; =0x020FA6E8 bx r3 .balign 4 -_02037974: .word sub_020373D4 + 1 +_02037974: .word FUN_020373D4 + 1 _02037978: .word 0x020FA6E8 - thumb_func_start sub_0203797C -sub_0203797C: ; 0x0203797C + thumb_func_start FUN_0203797C +FUN_0203797C: ; 0x0203797C push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x40 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x40 - blx sub_020CE240 + blx FUN_020CE240 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] add r0, r4, #0x0 add r0, #0x21 @@ -110844,8 +110844,8 @@ sub_0203797C: ; 0x0203797C add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020379C8 -sub_020379C8: ; 0x020379C8 + thumb_func_start FUN_020379C8 +FUN_020379C8: ; 0x020379C8 push {r3-r7, lr} add r5, r0, #0x0 add r7, r2, #0x0 @@ -110854,7 +110854,7 @@ sub_020379C8: ; 0x020379C8 mov r0, #0xb add r1, r5, #0x0 add r3, r2, #0x0 - bl sub_0203797C + bl FUN_0203797C add r4, r0, #0x0 str r6, [r4, #0x18] add r0, #0x22 @@ -110862,99 +110862,99 @@ sub_020379C8: ; 0x020379C8 ldr r1, _020379F4 ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r7, pc} nop _020379F4: .word 0x020F96DC - thumb_func_start sub_020379F8 -sub_020379F8: ; 0x020379F8 + thumb_func_start FUN_020379F8 +FUN_020379F8: ; 0x020379F8 push {r3-r5, lr} mov r0, #0xb mov r2, #0x0 mov r3, #0x3 add r5, r1, #0x0 - bl sub_0203797C + bl FUN_0203797C add r4, r0, #0x0 ldr r1, _02037A18 ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r5, pc} nop _02037A18: .word 0x020F96DC - thumb_func_start sub_02037A1C -sub_02037A1C: ; 0x02037A1C + thumb_func_start FUN_02037A1C +FUN_02037A1C: ; 0x02037A1C push {r3-r5, lr} mov r0, #0xb mov r2, #0x0 mov r3, #0x13 add r5, r1, #0x0 - bl sub_0203797C + bl FUN_0203797C add r4, r0, #0x0 ldr r1, _02037A3C ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r5, pc} nop _02037A3C: .word 0x020F96DC - thumb_func_start sub_02037A40 -sub_02037A40: ; 0x02037A40 + thumb_func_start FUN_02037A40 +FUN_02037A40: ; 0x02037A40 add r0, #0x22 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02037A48 -sub_02037A48: ; 0x02037A48 + thumb_func_start FUN_02037A48 +FUN_02037A48: ; 0x02037A48 push {r4-r6, lr} add r4, r2, #0x0 mov r0, #0xb mov r2, #0x0 mov r3, #0x12 add r5, r1, #0x0 - bl sub_0203797C + bl FUN_0203797C add r6, r0, #0x0 add r0, #0x22 strb r4, [r0, #0x0] ldr r1, _02037A6C ; =0x020F96DC add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 _02037A6C: .word 0x020F96DC - thumb_func_start sub_02037A70 -sub_02037A70: ; 0x02037A70 + thumb_func_start FUN_02037A70 +FUN_02037A70: ; 0x02037A70 add r0, #0x23 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02037A78 -sub_02037A78: ; 0x02037A78 + thumb_func_start FUN_02037A78 +FUN_02037A78: ; 0x02037A78 ldrb r0, [r0, #0x14] bx lr - thumb_func_start sub_02037A7C -sub_02037A7C: ; 0x02037A7C + thumb_func_start FUN_02037A7C +FUN_02037A7C: ; 0x02037A7C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x4 @@ -110973,7 +110973,7 @@ sub_02037A7C: ; 0x02037A7C ldr r1, _02037B40 ; =0x020F96DC ldr r2, [r4, #0x4] add r0, r6, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x1 str r0, [r5, #0x0] b _02037B3A @@ -110992,23 +110992,23 @@ _02037B3A: nop _02037B40: .word 0x020F96DC - thumb_func_start sub_02037B44 -sub_02037B44: ; 0x02037B44 + thumb_func_start FUN_02037B44 +FUN_02037B44: ; 0x02037B44 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 mov r3, #0x2 str r5, [r4, #0x0] - bl sub_0203797C + bl FUN_0203797C add r5, r0, #0x0 add r0, #0x32 ldrb r1, [r0, #0x0] @@ -111036,17 +111036,17 @@ sub_02037B44: ; 0x02037B44 strb r1, [r0, #0x0] mov r0, #0x0 str r0, [r5, #0x14] - ldr r1, _02037BAC ; =sub_02037A7C + ldr r1, _02037BAC ; =FUN_02037A7C add r0, r7, #0x0 str r5, [r4, #0x4] - bl sub_0204640C + bl FUN_0204640C add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 -_02037BAC: .word sub_02037A7C + 1 +_02037BAC: .word FUN_02037A7C + 1 - thumb_func_start sub_02037BB0 -sub_02037BB0: ; 0x02037BB0 + thumb_func_start FUN_02037BB0 +FUN_02037BB0: ; 0x02037BB0 push {r3-r7, lr} add r5, r2, #0x0 add r6, r3, #0x0 @@ -111054,7 +111054,7 @@ sub_02037BB0: ; 0x02037BB0 mov r2, #0x0 mov r3, #0xd add r7, r1, #0x0 - bl sub_0203797C + bl FUN_0203797C add r4, r0, #0x0 ldr r1, [sp, #0x1c] add r0, #0x22 @@ -111082,131 +111082,131 @@ _02037BEE: ldr r1, _02037BFC ; =0x020F96DC add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _02037BFC: .word 0x020F96DC - thumb_func_start sub_02037C00 -sub_02037C00: ; 0x02037C00 + thumb_func_start FUN_02037C00 +FUN_02037C00: ; 0x02037C00 push {r4-r6, lr} add r5, r1, #0x0 mov r0, #0xb mov r1, #0x30 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x4] mov r0, #0x1 strb r0, [r4, #0x11] strb r6, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r4, #0x13] mov r0, #0x0 strh r0, [r4, #0x18] strb r0, [r4, #0x12] ldr r0, [r5, #0xc] - bl sub_0202A918 + bl FUN_0202A918 str r0, [r4, #0x20] ldr r0, [r5, #0xc] - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r4, #0x1c] ldr r0, [r5, #0xc] - bl sub_02079C70 + bl FUN_02079C70 str r0, [r4, #0x2c] mov r0, #0x0 str r0, [r4, #0x28] ldr r1, _02037C74 ; =0x020F2A9C add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0207C2A4 + bl FUN_0207C2A4 ldr r1, _02037C78 ; =0x020FA6E8 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02037C74: .word 0x020F2A9C _02037C78: .word 0x020FA6E8 - thumb_func_start sub_02037C7C -sub_02037C7C: ; 0x02037C7C + thumb_func_start FUN_02037C7C +FUN_02037C7C: ; 0x02037C7C push {r4-r6, lr} ldr r5, [r0, #0xc] add r0, r1, #0x0 mov r1, #0x30 add r6, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] mov r0, #0x1 strb r0, [r4, #0x11] mov r0, #0x0 strb r0, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r4, #0x13] mov r0, #0x0 strh r0, [r4, #0x18] strb r6, [r4, #0x12] add r0, r5, #0x0 - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r4, #0x1c] add r0, r5, #0x0 - bl sub_02079C70 + bl FUN_02079C70 str r0, [r4, #0x2c] add r0, r5, #0x0 - bl sub_0202A918 + bl FUN_0202A918 str r0, [r4, #0x20] ldr r1, _02037CEC ; =0x020F2BD0 add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0207C2A4 + bl FUN_0207C2A4 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02037CEC: .word 0x020F2BD0 - thumb_func_start sub_02037CF0 -sub_02037CF0: ; 0x02037CF0 + thumb_func_start FUN_02037CF0 +FUN_02037CF0: ; 0x02037CF0 push {r4-r6, lr} add r5, r1, #0x0 mov r1, #0x30 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x4] mov r0, #0x1 strb r0, [r4, #0x11] @@ -111217,54 +111217,54 @@ sub_02037CF0: ; 0x02037CF0 mov r0, #0x2 strb r0, [r4, #0x12] ldr r0, [r5, #0xc] - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r4, #0x1c] ldr r0, [r5, #0xc] - bl sub_02079C70 + bl FUN_02079C70 str r0, [r4, #0x2c] ldr r1, _02037D58 ; =0x020F2BCC add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0207C2A4 + bl FUN_0207C2A4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0203796C + bl FUN_0203796C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02037D58: .word 0x020F2BCC - thumb_func_start sub_02037D5C -sub_02037D5C: ; 0x02037D5C + thumb_func_start FUN_02037D5C +FUN_02037D5C: ; 0x02037D5C ldrb r0, [r0, #0x16] bx lr - thumb_func_start sub_02037D60 -sub_02037D60: ; 0x02037D60 - ldr r3, _02037D68 ; =sub_020373D4 + thumb_func_start FUN_02037D60 +FUN_02037D60: ; 0x02037D60 + ldr r3, _02037D68 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037D6C ; =0x020F2CF4 bx r3 .balign 4 -_02037D68: .word sub_020373D4 + 1 +_02037D68: .word FUN_020373D4 + 1 _02037D6C: .word 0x020F2CF4 - thumb_func_start sub_02037D70 -sub_02037D70: ; 0x02037D70 + thumb_func_start FUN_02037D70 +FUN_02037D70: ; 0x02037D70 push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046528 + bl FUN_02046528 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _02037D9A @@ -111275,13 +111275,13 @@ sub_02037D70: ; 0x02037D70 b _02037E12 _02037D9A: ldr r1, [r5, #0xc] - bl sub_02037E80 + bl FUN_02037E80 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02037E12 _02037DA8: - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _02037E12 ldr r0, [r4, #0x0] @@ -111290,11 +111290,11 @@ _02037DA8: b _02037E12 _02037DB8: ldr r0, [r5, #0xc] - bl sub_020853E4 + bl FUN_020853E4 cmp r0, #0x0 bne _02037DCC ldr r0, [r5, #0xc] - bl sub_020853E8 + bl FUN_020853E8 cmp r0, #0x0 bne _02037DD4 _02037DCC: @@ -111310,13 +111310,13 @@ _02037DD4: cmp r0, #0x0 ldr r0, [r5, #0xc] bne _02037DEC - bl sub_020853EC + bl FUN_020853EC ldr r1, [r5, #0x4] strh r0, [r1, #0x0] b _02037E00 _02037DEC: add r1, sp, #0x0 - bl sub_020853F0 + bl FUN_020853F0 add r0, sp, #0x0 ldrh r2, [r0, #0x0] ldr r1, [r5, #0x4] @@ -111326,9 +111326,9 @@ _02037DEC: strh r1, [r0, #0x0] _02037E00: ldr r0, [r5, #0xc] - bl sub_020853A8 + bl FUN_020853A8 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x4 mov r0, #0x1 pop {r3-r6, pc} @@ -111337,19 +111337,19 @@ _02037E12: add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_02037E18 -sub_02037E18: ; 0x02037E18 + thumb_func_start FUN_02037E18 +FUN_02037E18: ; 0x02037E18 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r5, r2, #0x0 add r6, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 mov r0, #0x20 mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0x4] cmp r6, #0x0 @@ -111361,43 +111361,43 @@ sub_02037E18: ; 0x02037E18 ldr r2, [r7, #0xc] add r1, r0, #0x0 mov r3, #0x20 - bl sub_02085338 + bl FUN_02085338 str r0, [r4, #0xc] ldrh r1, [r5, #0x0] - bl sub_020853B0 + bl FUN_020853B0 b _02037E6C _02037E56: ldr r2, [r7, #0xc] mov r0, #0x1 mov r1, #0x0 mov r3, #0x20 - bl sub_02085338 + bl FUN_02085338 str r0, [r4, #0xc] ldrh r1, [r5, #0x0] ldrh r2, [r6, #0x0] - bl sub_020853B4 + bl FUN_020853B4 _02037E6C: ldr r0, [sp, #0x0] - ldr r1, _02037E7C ; =sub_02037D70 + ldr r1, _02037E7C ; =FUN_02037D70 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0x8 pop {r3-r7, pc} nop -_02037E7C: .word sub_02037D70 + 1 +_02037E7C: .word FUN_02037D70 + 1 - thumb_func_start sub_02037E80 -sub_02037E80: ; 0x02037E80 - ldr r3, _02037E88 ; =sub_020373D4 + thumb_func_start FUN_02037E80 +FUN_02037E80: ; 0x02037E80 + ldr r3, _02037E88 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037E8C ; =0x020F2CE4 bx r3 .balign 4 -_02037E88: .word sub_020373D4 + 1 +_02037E88: .word FUN_020373D4 + 1 _02037E8C: .word 0x020F2CE4 - thumb_func_start sub_02037E90 -sub_02037E90: ; 0x02037E90 + thumb_func_start FUN_02037E90 +FUN_02037E90: ; 0x02037E90 push {r4-r6, lr} sub sp, #0x10 ldr r5, _02037EB4 ; =0x020F2CD4 @@ -111411,95 +111411,95 @@ sub_02037E90: ; 0x02037E90 stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _02037EB4: .word 0x020F2CD4 - thumb_func_start sub_02037EB8 -sub_02037EB8: ; 0x02037EB8 + thumb_func_start FUN_02037EB8 +FUN_02037EB8: ; 0x02037EB8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E0C + bl FUN_02034E30 + bl FUN_02034E0C mov r1, #0x5 mov r0, #0xb lsl r1, r1, #0x6 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_0205F7A0 + bl FUN_0205F7A0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02037E90 + bl FUN_02037E90 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02037EE8 -sub_02037EE8: ; 0x02037EE8 - ldr r3, _02037EF0 ; =sub_020373D4 + thumb_func_start FUN_02037EE8 +FUN_02037EE8: ; 0x02037EE8 + ldr r3, _02037EF0 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037EF4 ; =0x020F2CC4 bx r3 .balign 4 -_02037EF0: .word sub_020373D4 + 1 +_02037EF0: .word FUN_020373D4 + 1 _02037EF4: .word 0x020F2CC4 - thumb_func_start sub_02037EF8 -sub_02037EF8: ; 0x02037EF8 + thumb_func_start FUN_02037EF8 +FUN_02037EF8: ; 0x02037EF8 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x2 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020377AC - bl sub_02023900 + bl FUN_020377AC + bl FUN_02023900 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02037EE8 + bl FUN_02037EE8 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02037F1C -sub_02037F1C: ; 0x02037F1C - ldr r3, _02037F24 ; =sub_020373D4 + thumb_func_start FUN_02037F1C +FUN_02037F1C: ; 0x02037F1C + ldr r3, _02037F24 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037F28 ; =0x020FCAC8 bx r3 .balign 4 -_02037F24: .word sub_020373D4 + 1 +_02037F24: .word FUN_020373D4 + 1 _02037F28: .word 0x020FCAC8 - thumb_func_start sub_02037F2C -sub_02037F2C: ; 0x02037F2C + thumb_func_start FUN_02037F2C +FUN_02037F2C: ; 0x02037F2C push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020377AC + bl FUN_020377AC mov r1, #0xb str r1, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_020854E0 + bl FUN_020854E0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02037F1C + bl FUN_02037F1C add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02037F58 -sub_02037F58: ; 0x02037F58 + thumb_func_start FUN_02037F58 +FUN_02037F58: ; 0x02037F58 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 @@ -111507,71 +111507,71 @@ sub_02037F58: ; 0x02037F58 add r6, r3, #0x0 cmp r5, #0x3 bne _02037F74 - bl sub_020377AC + bl FUN_020377AC add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020855B0 + bl FUN_020855B0 b _02037F82 _02037F74: - bl sub_020377AC + bl FUN_020377AC add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02085538 + bl FUN_02085538 _02037F82: add r4, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_02037F1C + bl FUN_02037F1C add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02037F90 -sub_02037F90: ; 0x02037F90 + thumb_func_start FUN_02037F90 +FUN_02037F90: ; 0x02037F90 push {r4-r6, lr} add r4, r1, #0x0 add r6, r2, #0x0 add r5, r0, #0x0 - bl sub_020377AC + bl FUN_020377AC add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02085578 + bl FUN_02085578 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02037F1C + bl FUN_02037F1C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02037FB4 -sub_02037FB4: ; 0x02037FB4 - ldr r3, _02037FBC ; =sub_020373D4 + thumb_func_start FUN_02037FB4 +FUN_02037FB4: ; 0x02037FB4 + ldr r3, _02037FBC ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02037FC0 ; =0x020FD1B0 bx r3 .balign 4 -_02037FBC: .word sub_020373D4 + 1 +_02037FBC: .word FUN_020373D4 + 1 _02037FC0: .word 0x020FD1B0 - thumb_func_start sub_02037FC4 -sub_02037FC4: ; 0x02037FC4 + thumb_func_start FUN_02037FC4 +FUN_02037FC4: ; 0x02037FC4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 - bl sub_020377AC + bl FUN_020377AC add r1, r5, #0x0 - bl sub_02087D00 + bl FUN_02087D00 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02037FB4 + bl FUN_02037FB4 add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02037FE4 -sub_02037FE4: ; 0x02037FE4 + thumb_func_start FUN_02037FE4 +FUN_02037FE4: ; 0x02037FE4 push {r4-r6, lr} sub sp, #0x10 ldr r5, _02038008 ; =0x020F2CB4 @@ -111585,47 +111585,47 @@ sub_02037FE4: ; 0x02037FE4 stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _02038008: .word 0x020F2CB4 - thumb_func_start sub_0203800C -sub_0203800C: ; 0x0203800C + thumb_func_start FUN_0203800C +FUN_0203800C: ; 0x0203800C push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x20 add r7, r2, #0x0 add r6, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x20 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02027E24 + bl FUN_02027E24 str r0, [sp, #0x0] mov r1, #0x0 - bl sub_02027008 + bl FUN_02027008 add r7, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_0202708C + bl FUN_0202708C str r7, [r4, #0x4] str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] add r0, r5, #0x0 - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [r4, #0x10] add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [r4, #0x14] ldr r0, [sp, #0x18] str r6, [r4, #0x18] @@ -111634,14 +111634,14 @@ sub_0203800C: ; 0x0203800C pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02038070 -sub_02038070: ; 0x02038070 + thumb_func_start FUN_02038070 +FUN_02038070: ; 0x02038070 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x0 @@ -111652,14 +111652,14 @@ sub_02038070: ; 0x02038070 _0203808E: ldr r1, [r5, #0xc] add r0, r4, #0x0 - bl sub_0203811C + bl FUN_0203811C ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _020380C8 _0203809E: add r0, r4, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _020380C8 ldr r0, [r5, #0x8] @@ -111673,17 +111673,17 @@ _020380B4: ldr r0, [r5, #0x4] strh r1, [r0, #0x0] ldr r0, [r5, #0xc] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020380C8: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020380CC -sub_020380CC: ; 0x020380CC + thumb_func_start FUN_020380CC +FUN_020380CC: ; 0x020380CC push {r3-r7, lr} sub sp, #0x8 add r6, r0, #0x0 @@ -111692,7 +111692,7 @@ sub_020380CC: ; 0x020380CC mov r1, #0x10 add r7, r2, #0x0 str r3, [sp, #0x4] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r2, r4, #0x0 mov r1, #0x10 @@ -111710,66 +111710,66 @@ _020380E8: ldr r2, [sp, #0x4] mov r0, #0x20 add r3, #0x8 - bl sub_0203800C + bl FUN_0203800C str r0, [r4, #0xc] - ldr r1, _02038118 ; =sub_02038070 + ldr r1, _02038118 ; =FUN_02038070 add r0, r6, #0x0 add r2, r4, #0x0 str r5, [r4, #0x4] - bl sub_0204640C + bl FUN_0204640C add sp, #0x8 pop {r3-r7, pc} nop -_02038118: .word sub_02038070 + 1 +_02038118: .word FUN_02038070 + 1 - thumb_func_start sub_0203811C -sub_0203811C: ; 0x0203811C + thumb_func_start FUN_0203811C +FUN_0203811C: ; 0x0203811C push {r3, lr} add r2, r1, #0x0 ldr r1, _0203812C ; =0x02105DDC - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x1 pop {r3, pc} nop _0203812C: .word 0x02105DDC - thumb_func_start sub_02038130 -sub_02038130: ; 0x02038130 + thumb_func_start FUN_02038130 +FUN_02038130: ; 0x02038130 push {r3, lr} add r2, r1, #0x0 ldr r1, _02038140 ; =0x02105DCC - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x1 pop {r3, pc} nop _02038140: .word 0x02105DCC - thumb_func_start sub_02038144 -sub_02038144: ; 0x02038144 + thumb_func_start FUN_02038144 +FUN_02038144: ; 0x02038144 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [r5, #0x4] ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r5, #0x8] ldr r0, [r4, #0xc] mov r1, #0x9 - bl sub_02022610 + bl FUN_02022610 str r0, [r5, #0xc] ldr r0, [r4, #0xc] - bl sub_02029AFC + bl FUN_02029AFC str r0, [r5, #0x14] ldr r0, [r4, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r5, #0x18] ldr r0, [r4, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [r5, #0x24] ldr r0, [r4, #0xc] - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r5, #0x30] ldr r0, [r4, #0xc] str r0, [r5, #0x10] @@ -111778,22 +111778,22 @@ sub_02038144: ; 0x02038144 ldr r0, [r0, #0x0] str r0, [r5, #0x1c] ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [r5, #0x20] - bl sub_02023924 + bl FUN_02023924 add r1, r0, #0x0 mov r0, #0x20 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x38] - bl sub_020690C4 + bl FUN_020690C4 add r1, r0, #0x0 mov r0, #0x20 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x3c] - bl sub_020690C4 + bl FUN_020690C4 add r1, r0, #0x0 mov r0, #0x20 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x40] str r4, [r5, #0x0] mov r0, #0x0 @@ -111801,42 +111801,42 @@ sub_02038144: ; 0x02038144 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020381CC -sub_020381CC: ; 0x020381CC + thumb_func_start FUN_020381CC +FUN_020381CC: ; 0x020381CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x38] cmp r0, #0x0 beq _020381DE - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x38] _020381DE: ldr r0, [r4, #0x3c] cmp r0, #0x0 beq _020381EC - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x3c] _020381EC: ldr r0, [r4, #0x40] cmp r0, #0x0 beq _020381FA - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x40] _020381FA: pop {r4, pc} - thumb_func_start sub_020381FC -sub_020381FC: ; 0x020381FC + thumb_func_start FUN_020381FC +FUN_020381FC: ; 0x020381FC push {r4-r7, lr} sub sp, #0x34 add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x7 @@ -111857,11 +111857,11 @@ _02038218: lsl r0, r2, #0x3 lsl r0, r4, #0x5 lsl r4, r1, #0x6 - bl sub_02033590 + bl FUN_02033590 cmp r0, #0x0 bne _02038242 add r0, r6, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C _02038242: ldr r0, [r4, #0x0] add r0, r0, #0x1 @@ -111901,30 +111901,30 @@ _020383C8: _020383D0: .byte 0xBC, 0x5D, 0x10, 0x02, 0xA4, 0x2C, 0x0F, 0x02 - thumb_func_start sub_020383D8 -sub_020383D8: ; 0x020383D8 + thumb_func_start FUN_020383D8 +FUN_020383D8: ; 0x020383D8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x20 mov r1, #0x68 - bl sub_02016998 + bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] - ldr r1, _020383F4 ; =sub_020381FC + ldr r1, _020383F4 ; =FUN_020381FC add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_020383F4: .word sub_020381FC + 1 +_020383F4: .word FUN_020381FC + 1 - thumb_func_start sub_020383F8 -sub_020383F8: ; 0x020383F8 + thumb_func_start FUN_020383F8 +FUN_020383F8: ; 0x020383F8 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x20 mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0x7c] str r0, [r4, #0x0] @@ -111933,33 +111933,33 @@ sub_020383F8: ; 0x020383F8 ldr r0, [r0, #0x0] str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x8] ldr r1, _02038428 ; =0x020F2C94 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 pop {r3-r5, pc} nop _02038428: .word 0x020F2C94 - thumb_func_start sub_0203842C -sub_0203842C: ; 0x0203842C + thumb_func_start FUN_0203842C +FUN_0203842C: ; 0x0203842C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0xc] str r0, [r4, #0x0] ldr r0, [r5, #0x7c] str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [r4, #0xc] add r0, r5, #0x0 add r0, #0x98 @@ -111968,30 +111968,30 @@ sub_0203842C: ; 0x0203842C str r0, [r4, #0x10] add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02038468: .word 0x020F2D04 - thumb_func_start sub_0203846C -sub_0203846C: ; 0x0203846C - ldr r3, _02038474 ; =sub_020373D4 + thumb_func_start FUN_0203846C +FUN_0203846C: ; 0x0203846C + ldr r3, _02038474 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02038478 ; =0x020F2D54 bx r3 .balign 4 -_02038474: .word sub_020373D4 + 1 +_02038474: .word FUN_020373D4 + 1 _02038478: .word 0x020F2D54 - thumb_func_start sub_0203847C -sub_0203847C: ; 0x0203847C + thumb_func_start FUN_0203847C +FUN_0203847C: ; 0x0203847C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x3 @@ -112007,7 +112007,7 @@ sub_0203847C: ; 0x0203847C lsl r6, r4, #0 lsl r4, r6, #0 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -112029,14 +112029,14 @@ _02038544: _02038548: .byte 0xFC, 0xA5, 0x0F, 0x02 - thumb_func_start sub_0203854C -sub_0203854C: ; 0x0203854C + thumb_func_start FUN_0203854C +FUN_0203854C: ; 0x0203854C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0xc] ldr r0, [r0, #0x0] @@ -112056,10 +112056,10 @@ sub_0203854C: ; 0x0203854C lsl r4, r6, #0 lsl r0, r1, #0x1 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 ldr r1, [r4, #0xc] add r1, #0x1c - bl sub_0202395C + bl FUN_0202395C pop {r3-r5, pc} _02038590: .byte 0xE8, 0x68, 0x33, 0xF0, 0xC3, 0xFA, 0x61, 0x68, 0x33, 0xF0, 0x0A, 0xFA, 0xE2, 0x68, 0x75, 0x21 @@ -112069,8 +112069,8 @@ _02038590: _020385CA: pop {r3-r5, pc} - thumb_func_start sub_020385CC -sub_020385CC: ; 0x020385CC + thumb_func_start FUN_020385CC +FUN_020385CC: ; 0x020385CC push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x4] @@ -112078,11 +112078,11 @@ sub_020385CC: ; 0x020385CC str r2, [sp, #0x8] str r3, [sp, #0xc] ldr r5, [sp, #0x2c] - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x14 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] @@ -112091,17 +112091,17 @@ sub_020385CC: ; 0x020385CC ldr r0, [sp, #0x30] str r0, [r4, #0x8] ldr r0, [r7, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x0] ldr r2, [sp, #0x8] ldr r3, [sp, #0xc] mov r0, #0xb add r1, r6, #0x0 - bl sub_02077A84 + bl FUN_02077A84 str r0, [r4, #0xc] mov r0, #0xc mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x10] cmp r6, #0x1 beq _02038620 @@ -112110,31 +112110,31 @@ sub_020385CC: ; 0x020385CC b _02038660 _02038620: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C ldr r1, [r4, #0x4] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x6f mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [r4, #0xc] mov r2, #0x0 str r0, [r1, #0x10] add r0, r6, #0x0 mov r1, #0x70 - bl sub_020671BC + bl FUN_020671BC ldr r1, [r4, #0xc] cmp r5, #0x0 str r0, [r1, #0x8] beq _0203866E ldr r0, [r4, #0x10] add r1, r5, #0x0 - bl sub_02021E28 + bl FUN_02021E28 b _0203866E _02038656: ldr r0, [r4, #0x10] add r1, r5, #0x0 - bl sub_02021E28 + bl FUN_02021E28 b _0203866E _02038660: cmp r5, #0x0 @@ -112142,55 +112142,55 @@ _02038660: ldr r0, [r4, #0xc] add r1, r5, #0x0 ldr r0, [r0, #0x18] - bl sub_02021E28 + bl FUN_02021E28 _0203866E: ldr r0, [sp, #0x4] - ldr r1, _0203867C ; =sub_0203847C + ldr r1, _0203867C ; =FUN_0203847C add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0x10 pop {r3-r7, pc} .balign 4 -_0203867C: .word sub_0203847C + 1 +_0203867C: .word FUN_0203847C + 1 - thumb_func_start sub_02038680 -sub_02038680: ; 0x02038680 - ldr r3, _02038688 ; =sub_020373D4 + thumb_func_start FUN_02038680 +FUN_02038680: ; 0x02038680 + ldr r3, _02038688 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _0203868C ; =0x020F2C54 bx r3 .balign 4 -_02038688: .word sub_020373D4 + 1 +_02038688: .word FUN_020373D4 + 1 _0203868C: .word 0x020F2C54 - thumb_func_start sub_02038690 -sub_02038690: ; 0x02038690 + thumb_func_start FUN_02038690 +FUN_02038690: ; 0x02038690 push {r3, lr} add r2, r1, #0x0 ldr r1, _020386A0 ; =0x020F2C44 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x1 pop {r3, pc} nop _020386A0: .word 0x020F2C44 - thumb_func_start sub_020386A4 -sub_020386A4: ; 0x020386A4 - ldr r3, _020386AC ; =sub_020373D4 + thumb_func_start FUN_020386A4 +FUN_020386A4: ; 0x020386A4 + ldr r3, _020386AC ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _020386B0 ; =0x020F2C34 bx r3 .balign 4 -_020386AC: .word sub_020373D4 + 1 +_020386AC: .word FUN_020373D4 + 1 _020386B0: .word 0x020F2C34 - thumb_func_start sub_020386B4 -sub_020386B4: ; 0x020386B4 + thumb_func_start FUN_020386B4 +FUN_020386B4: ; 0x020386B4 push {r3-r5, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02029ABC + bl FUN_02029ABC ldr r5, _020386DC ; =0x020F2C24 add r3, sp, #0x0 add r2, r3, #0x0 @@ -112201,14 +112201,14 @@ sub_020386B4: ; 0x020386B4 add r1, r2, #0x0 ldr r2, [r4, #0xc] add r0, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r3-r5, pc} .balign 4 _020386DC: .word 0x020F2C24 - thumb_func_start sub_020386E0 -sub_020386E0: ; 0x020386E0 + thumb_func_start FUN_020386E0 +FUN_020386E0: ; 0x020386E0 push {r4-r6, lr} sub sp, #0x10 ldr r3, _0203878C ; =0x020F2C64 @@ -112221,69 +112221,69 @@ sub_020386E0: ; 0x020386E0 stmia r2!, {r0-r1} mov r0, #0xb mov r1, #0x44 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0202ABBC + bl FUN_0202ABBC str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_02023788 + bl FUN_02023788 str r0, [r4, #0x4] ldr r0, [r5, #0xc] mov r1, #0x2 - bl sub_02022610 + bl FUN_02022610 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02022510 + bl FUN_02022510 str r0, [r4, #0xc] ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [r4, #0x10] ldr r0, [r5, #0xc] - bl sub_020286EC + bl FUN_020286EC str r0, [r4, #0x14] ldr r0, [r5, #0xc] - bl sub_02029AFC + bl FUN_02029AFC str r0, [r4, #0x18] ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [r4, #0x1c] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x24] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [r4, #0x28] add r0, r5, #0x0 add r0, #0x98 ldr r0, [r0, #0x0] str r0, [r4, #0x2c] ldr r0, [r5, #0xc] - bl sub_02079C70 + bl FUN_02079C70 str r0, [r4, #0x3c] ldr r0, [r5, #0xc] str r0, [r4, #0x20] ldr r0, [r5, #0xc] - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r4, #0x34] ldr r0, [r4, #0x14] - bl sub_02033830 + bl FUN_02033830 str r0, [r4, #0x38] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x30] add r0, r5, #0x0 add r1, sp, #0x0 add r2, r4, #0x0 str r6, [r4, #0x40] - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0203878C: .word 0x020F2C64 - thumb_func_start sub_02038790 -sub_02038790: ; 0x02038790 + thumb_func_start FUN_02038790 +FUN_02038790: ; 0x02038790 push {r3-r7, lr} sub sp, #0x10 ldr r3, _02038800 ; =0x020F2C74 @@ -112297,99 +112297,99 @@ sub_02038790: ; 0x02038790 stmia r2!, {r0-r1} mov r0, #0xb mov r1, #0x28 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0202A8D8 + bl FUN_0202A8D8 str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0202A8E4 + bl FUN_0202A8E4 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02023788 + bl FUN_02023788 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x10] ldr r0, [r5, #0xc] - bl sub_020286EC - bl sub_02028228 + bl FUN_020286EC + bl FUN_02028228 str r0, [r4, #0x14] ldr r0, [r5, #0xc] str r0, [r4, #0xc] ldr r0, [r5, #0xc] - bl sub_020286EC - bl sub_02033830 + bl FUN_020286EC + bl FUN_02033830 str r0, [r4, #0x1c] str r6, [r4, #0x18] add r0, r5, #0x0 add r1, sp, #0x0 add r2, r4, #0x0 str r7, [r4, #0x24] - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02038800: .word 0x020F2C74 - thumb_func_start sub_02038804 -sub_02038804: ; 0x02038804 - ldr r3, _0203880C ; =sub_020373D4 + thumb_func_start FUN_02038804 +FUN_02038804: ; 0x02038804 + ldr r3, _0203880C ; =FUN_020373D4 ldr r1, _02038810 ; =0x020F2D14 ldr r2, [r0, #0xc] bx r3 .balign 4 -_0203880C: .word sub_020373D4 + 1 +_0203880C: .word FUN_020373D4 + 1 _02038810: .word 0x020F2D14 - thumb_func_start sub_02038814 -sub_02038814: ; 0x02038814 - ldr r3, _0203881C ; =sub_020373D4 + thumb_func_start FUN_02038814 +FUN_02038814: ; 0x02038814 + ldr r3, _0203881C ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02038820 ; =0x020F2D64 bx r3 .balign 4 -_0203881C: .word sub_020373D4 + 1 +_0203881C: .word FUN_020373D4 + 1 _02038820: .word 0x020F2D64 - thumb_func_start sub_02038824 -sub_02038824: ; 0x02038824 + thumb_func_start FUN_02038824 +FUN_02038824: ; 0x02038824 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] mov r1, #0xb add r2, sp, #0x0 - bl sub_02022534 + bl FUN_02022534 ldr r1, [sp, #0x0] add r4, r0, #0x0 cmp r1, #0x2 bne _02038842 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _02038842: ldr r1, _02038850 ; =0x020F2BF4 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02038850: .word 0x020F2BF4 - thumb_func_start sub_02038854 -sub_02038854: ; 0x02038854 - ldr r3, _0203885C ; =sub_020373D4 + thumb_func_start FUN_02038854 +FUN_02038854: ; 0x02038854 + ldr r3, _0203885C ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _02038860 ; =0x020F2C04 bx r3 .balign 4 -_0203885C: .word sub_020373D4 + 1 +_0203885C: .word FUN_020373D4 + 1 _02038860: .word 0x020F2C04 - thumb_func_start sub_02038864 -sub_02038864: ; 0x02038864 + thumb_func_start FUN_02038864 +FUN_02038864: ; 0x02038864 push {r4-r6, lr} sub sp, #0x10 ldr r5, _02038888 ; =0x020F2C84 @@ -112403,14 +112403,14 @@ sub_02038864: ; 0x02038864 stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _02038888: .word 0x020F2C84 - thumb_func_start sub_0203888C -sub_0203888C: ; 0x0203888C + thumb_func_start FUN_0203888C +FUN_0203888C: ; 0x0203888C push {r4-r6, lr} sub sp, #0x10 ldr r5, _020388B0 ; =0x020F2D84 @@ -112424,72 +112424,72 @@ sub_0203888C: ; 0x0203888C stmia r4!, {r0-r1} add r0, r6, #0x0 add r1, r3, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add sp, #0x10 pop {r4-r6, pc} nop _020388B0: .word 0x020F2D84 - thumb_func_start sub_020388B4 -sub_020388B4: ; 0x020388B4 + thumb_func_start FUN_020388B4 +FUN_020388B4: ; 0x020388B4 push {r3-r5, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C - bl sub_021ED49C + bl FUN_0206BB1C + bl FUN_021ED49C add r5, r0, #0x0 bne _020388CC - bl sub_02020C2C + bl FUN_02020C2C _020388CC: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020613CC + bl FUN_020613CC str r5, [sp, #0x0] ldr r0, [r4, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x4] ldr r0, [r4, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x8] ldr r1, [r4, #0x1c] add r0, r4, #0x0 ldr r1, [r1, #0x0] - bl sub_0204AB58 + bl FUN_0204AB58 add r1, sp, #0x0 strh r0, [r1, #0xc] ldr r0, [r4, #0x10] add r1, sp, #0x0 - bl sub_020863DC + bl FUN_020863DC add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02038900 -sub_02038900: ; 0x02038900 + thumb_func_start FUN_02038900 +FUN_02038900: ; 0x02038900 push {r3, lr} add r2, r1, #0x0 ldr r1, _02038910 ; =0x020F2C14 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x1 pop {r3, pc} nop _02038910: .word 0x020F2C14 - thumb_func_start sub_02038914 -sub_02038914: ; 0x02038914 + thumb_func_start FUN_02038914 +FUN_02038914: ; 0x02038914 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r6, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, #0x0 @@ -112501,54 +112501,54 @@ _02038944: add r5, #0xc add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02038900 + bl FUN_02038900 ldr r0, [r6, #0x0] add r0, r0, #0x1 str r0, [r6, #0x0] b _020389C6 _02038956: add r0, r4, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _020389C6 ldr r0, [r4, #0xc] - bl sub_0202390C + bl FUN_0202390C str r0, [sp, #0x0] - bl sub_020126FC + bl FUN_020126FC str r0, [sp, #0x4] ldr r0, [sp, #0x0] add r6, r1, #0x0 - bl sub_02028930 + bl FUN_02028930 str r0, [sp, #0x8] ldr r0, [r5, #0x4] ldr r1, [r5, #0x8] ldr r2, [sp, #0x4] add r3, r6, #0x0 - bl sub_020127C0 + bl FUN_020127C0 mov r2, #0x3c mov r3, #0x0 - blx sub_020EBA38 + blx FUN_020EBA38 add r3, r0, #0x0 ldr r1, [sp, #0x8] ldr r2, [r5, #0x0] add r0, r4, #0x0 - bl sub_02061A8C + bl FUN_02061A8C ldr r0, [r4, #0xc] - bl sub_0202390C + bl FUN_0202390C ldr r1, [r5, #0x0] - bl sub_02028918 + bl FUN_02028918 add r0, r7, #0x0 - bl sub_0205F6C8 + bl FUN_0205F6C8 ldr r1, [r5, #0x18] cmp r1, r0 ble _020389BA lsl r1, r1, #0x10 add r0, r7, #0x0 lsr r1, r1, #0x10 - bl sub_0205F6D8 + bl FUN_0205F6D8 _020389BA: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} @@ -112557,69 +112557,69 @@ _020389C6: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_020389CC -sub_020389CC: ; 0x020389CC + thumb_func_start FUN_020389CC +FUN_020389CC: ; 0x020389CC push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x0] mov r0, #0x20 add r1, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 str r4, [r4, #0xc] ldr r0, [r5, #0xc] - bl sub_0202390C - bl sub_02028930 + bl FUN_0202390C + bl FUN_02028930 str r0, [r4, #0x0] - bl sub_020126FC + bl FUN_020126FC str r0, [r4, #0x4] str r1, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 str r0, [r4, #0x14] mov r0, #0x0 str r0, [r4, #0x18] ldr r0, [sp, #0x0] - bl sub_02025084 + bl FUN_02025084 str r0, [r4, #0x1c] lsl r1, r6, #0x18 ldr r0, [r5, #0xc] lsr r1, r1, #0x18 - bl sub_02038A3C + bl FUN_02038A3C str r0, [r4, #0x10] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x5 - bl sub_0202A170 - ldr r1, _02038A38 ; =sub_02038914 + bl FUN_0202A170 + ldr r1, _02038A38 ; =FUN_02038914 add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_02038A38: .word sub_02038914 + 1 +_02038A38: .word FUN_02038914 + 1 - thumb_func_start sub_02038A3C -sub_02038A3C: ; 0x02038A3C + thumb_func_start FUN_02038A3C +FUN_02038A3C: ; 0x02038A3C push {r4-r7, lr} sub sp, #0x14 str r1, [sp, #0x0] - bl sub_0202881C + bl FUN_0202881C add r4, r0, #0x0 - bl sub_0201B9D4 + bl FUN_0201B9D4 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_020287A4 - bl sub_0201B9E0 + bl FUN_020287A4 + bl FUN_0201B9E0 ldr r0, _02038AAC ; =0x020F2BE8 add r1, sp, #0x8 mov r2, #0xc - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r4, #0x0 mov r7, #0xc add r6, sp, #0x8 @@ -112630,9 +112630,9 @@ _02038A68: cmp r5, #0xc bhs _02038A92 _02038A72: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r7, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x18 lsr r2, r0, #0x18 ldrb r1, [r6, r4] @@ -112651,7 +112651,7 @@ _02038A92: cmp r4, #0xc blo _02038A68 ldr r0, [sp, #0x4] - bl sub_0201B9E0 + bl FUN_0201B9E0 ldr r0, [sp, #0x0] add r1, sp, #0x8 ldrb r0, [r1, r0] @@ -112660,16 +112660,16 @@ _02038A92: .balign 4 _02038AAC: .word 0x020F2BE8 - thumb_func_start sub_02038AB0 -sub_02038AB0: ; 0x02038AB0 + thumb_func_start FUN_02038AB0 +FUN_02038AB0: ; 0x02038AB0 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 - bl sub_0224D79C + bl FUN_0224D79C cmp r0, #0x1 bne _02038ACA add r0, r4, #0x0 - bl sub_0224D76C + bl FUN_0224D76C mov r0, #0x1 pop {r4, pc} _02038ACA: @@ -112677,32 +112677,32 @@ _02038ACA: pop {r4, pc} .balign 4 - thumb_func_start sub_02038AD0 -sub_02038AD0: ; 0x02038AD0 + thumb_func_start FUN_02038AD0 +FUN_02038AD0: ; 0x02038AD0 push {r4, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r2, r0, #0x0 ldr r1, [r2, #0xc] ldr r2, [r2, #0x8] mov r0, #0x4 - bl sub_0224D70C + bl FUN_0224D70C add r2, r0, #0x0 - ldr r1, _02038AF0 ; =sub_02038AB0 + ldr r1, _02038AF0 ; =FUN_02038AB0 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_02038AF0: .word sub_02038AB0 + 1 +_02038AF0: .word FUN_02038AB0 + 1 - thumb_func_start sub_02038AF4 -sub_02038AF4: ; 0x02038AF4 + thumb_func_start FUN_02038AF4 +FUN_02038AF4: ; 0x02038AF4 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x8 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 str r6, [r4, #0x4] ldr r0, [r5, #0xc] @@ -112710,14 +112710,14 @@ sub_02038AF4: ; 0x02038AF4 str r0, [r4, #0x0] add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02038B18: .word 0x020F2DA4 - thumb_func_start sub_02038B1C -sub_02038B1C: ; 0x02038B1C + thumb_func_start FUN_02038B1C +FUN_02038B1C: ; 0x02038B1C push {r3-r4} mov r3, #0x0 strb r3, [r0, #0x1] @@ -112747,8 +112747,8 @@ _02038B3E: bx lr .balign 4 - thumb_func_start sub_02038B50 -sub_02038B50: ; 0x02038B50 + thumb_func_start FUN_02038B50 +FUN_02038B50: ; 0x02038B50 str r1, [r0, #0x8] mov r1, #0x1 strb r1, [r0, #0x1] @@ -112756,27 +112756,27 @@ sub_02038B50: ; 0x02038B50 bx lr .balign 4 - thumb_func_start sub_02038B5C -sub_02038B5C: ; 0x02038B5C + thumb_func_start FUN_02038B5C +FUN_02038B5C: ; 0x02038B5C mov r2, #0x2 strb r2, [r0, #0x1] str r1, [r0, #0x4] bx lr - thumb_func_start sub_02038B64 -sub_02038B64: ; 0x02038B64 + thumb_func_start FUN_02038B64 +FUN_02038B64: ; 0x02038B64 mov r1, #0x0 strb r1, [r0, #0x1] str r1, [r0, #0x8] bx lr - thumb_func_start sub_02038B6C -sub_02038B6C: ; 0x02038B6C + thumb_func_start FUN_02038B6C +FUN_02038B6C: ; 0x02038B6C str r1, [r0, #0x74] bx lr - thumb_func_start sub_02038B70 -sub_02038B70: ; 0x02038B70 + thumb_func_start FUN_02038B70 +FUN_02038B70: ; 0x02038B70 push {r4, lr} add r4, r0, #0x0 ldrb r1, [r4, #0x1] @@ -112818,12 +112818,12 @@ _02038BA6: pop {r4, pc} _02038BB2: add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 ldr r0, [r4, #0x60] cmp r1, r0 blo _02038BCA - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 strb r0, [r4, #0x1] pop {r4, pc} @@ -112839,8 +112839,8 @@ _02038BD8: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_02038BDC -sub_02038BDC: ; 0x02038BDC + thumb_func_start FUN_02038BDC +FUN_02038BDC: ; 0x02038BDC ldrb r3, [r0, #0x0] add r2, r3, #0x1 cmp r2, #0x14 @@ -112857,8 +112857,8 @@ _02038BE8: mov r0, #0x0 bx lr - thumb_func_start sub_02038BF8 -sub_02038BF8: ; 0x02038BF8 + thumb_func_start FUN_02038BF8 +FUN_02038BF8: ; 0x02038BF8 ldrb r1, [r0, #0x0] cmp r1, #0x0 bne _02038C02 @@ -112873,31 +112873,31 @@ _02038C02: ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02038C10 -sub_02038C10: ; 0x02038C10 + thumb_func_start FUN_02038C10 +FUN_02038C10: ; 0x02038C10 str r1, [r0, #0x8] bx lr - thumb_func_start sub_02038C14 -sub_02038C14: ; 0x02038C14 + thumb_func_start FUN_02038C14 +FUN_02038C14: ; 0x02038C14 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 ldr r1, [r5, #0x8] - bl sub_02038BDC + bl FUN_02038BDC str r4, [r5, #0x8] pop {r3-r5, pc} - thumb_func_start sub_02038C24 -sub_02038C24: ; 0x02038C24 + thumb_func_start FUN_02038C24 +FUN_02038C24: ; 0x02038C24 push {r4, lr} add r4, r0, #0x0 - bl sub_02038BF8 + bl FUN_02038BF8 str r0, [r4, #0x8] pop {r4, pc} - thumb_func_start sub_02038C30 -sub_02038C30: ; 0x02038C30 + thumb_func_start FUN_02038C30 +FUN_02038C30: ; 0x02038C30 ldr r1, [r0, #0x8] add r3, r1, #0x1 str r3, [r0, #0x8] @@ -112911,8 +112911,8 @@ sub_02038C30: ; 0x02038C30 lsr r0, r0, #0x10 bx lr - thumb_func_start sub_02038C48 -sub_02038C48: ; 0x02038C48 + thumb_func_start FUN_02038C48 +FUN_02038C48: ; 0x02038C48 push {r4-r5} ldr r1, [r0, #0x8] add r2, r1, #0x1 @@ -112938,13 +112938,13 @@ sub_02038C48: ; 0x02038C48 pop {r4-r5} bx lr - thumb_func_start sub_02038C78 -sub_02038C78: ; 0x02038C78 + thumb_func_start FUN_02038C78 +FUN_02038C78: ; 0x02038C78 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02038E20 + bl FUN_02038E20 add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -112952,23 +112952,23 @@ sub_02038C78: ; 0x02038C78 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_02038E60 - ldr r1, _02038CA4 ; =sub_02038D48 + bl FUN_02038E60 + ldr r1, _02038CA4 ; =FUN_02038D48 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r7, pc} nop -_02038CA4: .word sub_02038D48 + 1 +_02038CA4: .word FUN_02038D48 + 1 - thumb_func_start sub_02038CA8 -sub_02038CA8: ; 0x02038CA8 + thumb_func_start FUN_02038CA8 +FUN_02038CA8: ; 0x02038CA8 push {r4-r6, lr} ldr r0, [r0, #0x10] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_0204652C + bl FUN_0204652C ldr r2, [sp, #0x1c] mov r1, #0x1c add r3, r2, #0x0 @@ -112987,43 +112987,43 @@ sub_02038CA8: ; 0x02038CA8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02038CD8 -sub_02038CD8: ; 0x02038CD8 + thumb_func_start FUN_02038CD8 +FUN_02038CD8: ; 0x02038CD8 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0x4] add r5, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x8] - bl sub_02038E20 + bl FUN_02038E20 add r4, r0, #0x0 ldr r0, [sp, #0x8] ldr r3, [sp, #0x4] add r1, r4, #0x0 add r2, r7, #0x0 str r5, [sp, #0x0] - bl sub_02038E60 - ldr r1, _02038D0C ; =sub_02038D48 + bl FUN_02038E60 + ldr r1, _02038D0C ; =FUN_02038D48 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0xc pop {r4-r7, pc} .balign 4 -_02038D0C: .word sub_02038D48 + 1 +_02038D0C: .word FUN_02038D48 + 1 - thumb_func_start sub_02038D10 -sub_02038D10: ; 0x02038D10 + thumb_func_start FUN_02038D10 +FUN_02038D10: ; 0x02038D10 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x4] - bl sub_02038E20 + bl FUN_02038E20 add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -113031,25 +113031,25 @@ sub_02038D10: ; 0x02038D10 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_02038E60 - ldr r1, _02038D44 ; =sub_02038D48 + bl FUN_02038E60 + ldr r1, _02038D44 ; =FUN_02038D48 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463EC + bl FUN_020463EC add sp, #0x8 pop {r3-r7, pc} .balign 4 -_02038D44: .word sub_02038D48 + 1 +_02038D44: .word FUN_02038D48 + 1 - thumb_func_start sub_02038D48 -sub_02038D48: ; 0x02038D48 + thumb_func_start FUN_02038D48 +FUN_02038D48: ; 0x02038D48 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 ldrb r1, [r4, #0x4] str r0, [sp, #0x0] cmp r1, #0x0 @@ -113059,24 +113059,24 @@ sub_02038D48: ; 0x02038D48 b _02038E1A _02038D68: ldrh r1, [r4, #0xa] - bl sub_02038EB0 + bl FUN_02038EB0 str r0, [r4, #0x38] mov r0, #0x1 strb r0, [r4, #0x9] mov r0, #0x8 mov r1, #0x40 mov r2, #0xb - bl sub_0200AA90 + bl FUN_0200AA90 str r0, [r4, #0x40] mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x44] mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x48] ldrb r0, [r4, #0x4] add r0, r0, #0x1 @@ -113092,15 +113092,15 @@ _02038DA8: cmp r6, #0x0 beq _02038DD2 add r0, r6, #0x0 - bl sub_02038B70 + bl FUN_02038B70 cmp r0, #0x0 bne _02038DD2 add r0, r6, #0x0 - bl sub_02038E48 + bl FUN_02038E48 ldrb r0, [r4, #0x9] cmp r0, #0x0 bne _02038DC8 - bl sub_02020C2C + bl FUN_02020C2C _02038DC8: mov r0, #0x0 str r0, [r5, #0x38] @@ -113121,15 +113121,15 @@ _02038DD2: add r0, #0xa4 ldr r5, [r0, #0x0] ldr r0, [r4, #0x40] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [r4, #0x44] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x48] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 str r0, [r4, #0x0] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 cmp r5, #0x0 beq _02038E14 ldr r0, [sp, #0x0] @@ -113146,20 +113146,20 @@ _02038E1A: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02038E20 -sub_02038E20: ; 0x02038E20 + thumb_func_start FUN_02038E20 +FUN_02038E20: ; 0x02038E20 push {r4, lr} mov r0, #0xb mov r1, #0xdc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02038E32 - bl sub_02020C2C + bl FUN_02020C2C _02038E32: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0xdc - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, _02038E44 ; =0x0003643F str r0, [r4, #0x0] add r0, r4, #0x0 @@ -113167,20 +113167,20 @@ _02038E32: .balign 4 _02038E44: .word 0x0003643F - thumb_func_start sub_02038E48 -sub_02038E48: ; 0x02038E48 + thumb_func_start FUN_02038E48 +FUN_02038E48: ; 0x02038E48 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x78] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [r4, #0x7c] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02038E60 -sub_02038E60: ; 0x02038E60 + thumb_func_start FUN_02038E60 +FUN_02038E60: ; 0x02038E60 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 @@ -113188,10 +113188,10 @@ sub_02038E60: ; 0x02038E60 mov r1, #0x36 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02039300 + bl FUN_02039300 str r0, [sp, #0x0] ldr r0, [r7, #0x38] - bl sub_020552F8 + bl FUN_020552F8 str r0, [r5, #0x28] str r6, [r5, #0x2c] ldr r0, [sp, #0x18] @@ -113200,7 +113200,7 @@ sub_02038E60: ; 0x02038E60 cmp r6, #0x0 beq _02038E92 add r0, r6, #0x0 - bl sub_02058448 + bl FUN_02058448 ldr r1, [sp, #0x0] strh r0, [r1, #0x0] _02038E92: @@ -113213,63 +113213,63 @@ _02038E92: bhi _02038EA8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020396E8 + bl FUN_020396E8 _02038EA8: pop {r3-r7, pc} nop _02038EAC: .word 0x0000225F - thumb_func_start sub_02038EB0 -sub_02038EB0: ; 0x02038EB0 + thumb_func_start FUN_02038EB0 +FUN_02038EB0: ; 0x02038EB0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x84 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02038EC6 - bl sub_02020C2C + bl FUN_02020C2C _02038EC6: ldr r2, _02038EE4 ; =0x020F34DC ldr r1, _02038EE8 ; =0x020F355C ldr r2, [r2, #0x0] add r0, r4, #0x0 - bl sub_02038B1C + bl FUN_02038B1C add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 mov r3, #0x0 - bl sub_02038EEC + bl FUN_02038EEC add r0, r4, #0x0 pop {r4-r6, pc} nop _02038EE4: .word 0x020F34DC _02038EE8: .word 0x020F355C - thumb_func_start sub_02038EEC -sub_02038EEC: ; 0x02038EEC + thumb_func_start FUN_02038EEC +FUN_02038EEC: ; 0x02038EEC push {r4-r6, lr} add r4, r1, #0x0 add r3, r4, #0x0 add r5, r0, #0x0 add r3, #0x80 str r5, [r3, #0x0] - bl sub_02038F18 + bl FUN_02038F18 add r6, r0, #0x0 ldr r1, [r4, #0x7c] add r0, r4, #0x0 - bl sub_02038B50 + bl FUN_02038B50 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02039484 + bl FUN_02039484 ldr r1, [r5, #0x10] add r0, r4, #0x0 - bl sub_02038B6C + bl FUN_02038B6C pop {r4-r6, pc} - thumb_func_start sub_02038F18 -sub_02038F18: ; 0x02038F18 + thumb_func_start FUN_02038F18 +FUN_02038F18: ; 0x02038F18 push {r3-r5, lr} ldr r3, _02039210 ; =0x0000283C add r4, r2, #0x0 @@ -113278,7 +113278,7 @@ sub_02038F18: ; 0x02038F18 mov r3, #0x1f ldr r2, _02039214 ; =0x000003D1 lsl r3, r3, #0x4 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039210 ; =0x0000283C sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113292,7 +113292,7 @@ _02038F36: ldr r2, _02039218 ; =0x00000175 add r3, r2, #0x0 sub r3, #0x29 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _0203921C ; =0x000027D8 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113305,7 +113305,7 @@ _02038F52: blo _02038F6C ldr r2, _02039220 ; =0x00000412 ldr r3, _02039224 ; =0x00000232 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039228 ; =0x000027A6 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113317,7 +113317,7 @@ _02038F6C: blo _02038F84 ldr r2, _0203922C ; =0x00000411 ldr r3, _02039230 ; =0x00000233 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039234 ; =0x00002774 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113330,7 +113330,7 @@ _02038F84: ldr r2, _0203923C ; =0x00000177 add r3, r2, #0x0 sub r3, #0x29 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039238 ; =0x00002710 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113345,7 +113345,7 @@ _02038F9E: lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x29 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039240 ; =0x000026DE sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113358,7 +113358,7 @@ _02038FBC: blo _02038FD6 ldr r2, _02039244 ; =0x0000016D mov r3, #0xc7 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039248 ; =0x000026AC sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113371,7 +113371,7 @@ _02038FD6: blo _02038FF0 mov r2, #0xce mov r3, #0xcb - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _0203924C ; =0x00002648 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113384,7 +113384,7 @@ _02038FF0: ldr r2, _02039254 ; =0x00000183 add r3, r2, #0x0 sub r3, #0x9 - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113397,7 +113397,7 @@ _0203900A: blo _02039026 ldr r2, _02039258 ; =0x00000179 mov r3, #0xc7 - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, #0x64 sub r0, r4, r0 @@ -113412,7 +113412,7 @@ _02039026: lsl r2, r2, #0x4 add r3, r2, #0x0 add r3, #0x1c - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _0203925C ; =0x0000251C sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113425,7 +113425,7 @@ _02039042: ldr r2, _02039264 ; =0x00000187 add r3, r2, #0x0 sub r3, #0xa - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113440,7 +113440,7 @@ _0203905C: lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x2b - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, #0x64 sub r0, r4, r0 @@ -113455,7 +113455,7 @@ _0203907C: lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x9 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039268 ; =0x000023F0 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113467,7 +113467,7 @@ _02039098: blo _020390B0 mov r2, #0x0 mov r3, #0x9 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _0203926C ; =0x0000238C sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113480,7 +113480,7 @@ _020390B0: blo _020390CA mov r2, #0xcf add r3, r2, #0x0 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039270 ; =0x00002328 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113493,7 +113493,7 @@ _020390CA: blo _020390E4 ldr r2, _02039274 ; =0x00000186 mov r3, #0x7 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039278 ; =0x0000230A sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113507,7 +113507,7 @@ _020390E4: ldr r2, _0203927C ; =0x000001CF add r3, r2, #0x0 add r3, #0x17 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039280 ; =0x000022F6 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113520,7 +113520,7 @@ _02039100: ldr r2, _02039284 ; =0x00000185 add r3, r2, #0x0 sub r3, #0x9 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _02039288 ; =0x000022C4 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113533,7 +113533,7 @@ _0203911A: ldr r2, _02039290 ; =0x000001CE add r3, r2, #0x0 add r3, #0x17 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _0203928C ; =0x00002260 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113547,7 +113547,7 @@ _02039134: ldr r2, _02039294 ; =0x00000176 add r3, r2, #0x0 sub r3, #0x29 - bl sub_020392B4 + bl FUN_020392B4 mov r0, #0x7d lsl r0, r0, #0x6 sub r0, r4, r0 @@ -113561,7 +113561,7 @@ _02039152: ldr r2, _0203929C ; =0x00000172 add r3, r2, #0x0 sub r3, #0x2d - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113574,7 +113574,7 @@ _0203916C: mov r2, #0x41 lsl r2, r2, #0x4 mov r3, #0xc7 - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _020392A0 ; =0x00001388 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113587,7 +113587,7 @@ _02039186: mov r2, #0x41 lsl r2, r2, #0x4 mov r3, #0xc7 - bl sub_020392B4 + bl FUN_020392B4 add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113600,7 +113600,7 @@ _020391A0: ldr r2, _020392A8 ; =0x0000017A add r3, r2, #0x0 sub r3, #0x1c - bl sub_020392B4 + bl FUN_020392B4 mov r0, #0xaf lsl r0, r0, #0x4 sub r0, r4, r0 @@ -113613,7 +113613,7 @@ _020391BC: blo _020391D4 mov r2, #0x1 mov r3, #0xd - bl sub_020392B4 + bl FUN_020392B4 ldr r0, _020392AC ; =0x000009C4 sub r0, r4, r0 lsl r0, r0, #0x10 @@ -113625,7 +113625,7 @@ _020391D4: blo _020391EE mov r2, #0xcd mov r3, #0xc7 - bl sub_020392B4 + bl FUN_020392B4 mov r0, #0x7d lsl r0, r0, #0x4 sub r0, r4, r0 @@ -113635,7 +113635,7 @@ _020391D4: _020391EE: cmp r4, #0x1 blo _020391FE - bl sub_020392D8 + bl FUN_020392D8 sub r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -113644,7 +113644,7 @@ _020391FE: ldr r2, _020392B0 ; =0x00000171 add r3, r2, #0x0 sub r3, #0x34 - bl sub_020392B4 + bl FUN_020392B4 mov r4, #0x0 _0203920A: add r0, r4, #0x0 @@ -113692,47 +113692,47 @@ _020392A8: .word 0x0000017A _020392AC: .word 0x000009C4 _020392B0: .word 0x00000171 - thumb_func_start sub_020392B4 -sub_020392B4: ; 0x020392B4 + thumb_func_start FUN_020392B4 +FUN_020392B4: ; 0x020392B4 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 mov r0, #0xa mov r2, #0xb - bl sub_0200650C + bl FUN_0200650C str r0, [r5, #0x7c] mov r0, #0x1 mov r1, #0x1a add r2, r4, #0x0 mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C str r0, [r5, #0x78] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020392D8 -sub_020392D8: ; 0x020392D8 + thumb_func_start FUN_020392D8 +FUN_020392D8: ; 0x020392D8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x1c] add r4, r1, #0x0 ldr r0, [r0, #0x0] - bl sub_0203949C + bl FUN_0203949C str r0, [r4, #0x7c] ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - bl sub_020394B0 + bl FUN_020394B0 add r2, r0, #0x0 mov r0, #0x1 mov r1, #0x1a mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x78] pop {r3-r5, pc} - thumb_func_start sub_02039300 -sub_02039300: ; 0x02039300 + thumb_func_start FUN_02039300 +FUN_02039300: ; 0x02039300 push {r3, lr} cmp r1, #0x36 bls _02039308 @@ -113814,88 +113814,88 @@ _02039386: .byte 0x08, 0xBD, 0x80, 0x30, 0x08, 0xBD, 0x84, 0x30, 0x08, 0xBD, 0xB8, 0x30, 0x08, 0xBD, 0xC8, 0x30 .byte 0x08, 0xBD, 0xD8, 0x30, 0x08, 0xBD, 0x29, 0x39, 0x88, 0x30, 0x49, 0x00, 0x40, 0x18, 0x08, 0xBD _02039430: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02039438 -sub_02039438: ; 0x02039438 + thumb_func_start FUN_02039438 +FUN_02039438: ; 0x02039438 push {r3-r5, lr} ldr r0, [r0, #0x10] add r5, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _0203945C ; =0x0003643F cmp r1, r0 beq _02039450 - bl sub_02020C2C + bl FUN_02020C2C _02039450: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02039300 + bl FUN_02039300 pop {r3-r5, pc} nop _0203945C: .word 0x0003643F - thumb_func_start sub_02039460 -sub_02039460: ; 0x02039460 + thumb_func_start FUN_02039460 +FUN_02039460: ; 0x02039460 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02035068 + bl FUN_02035068 cmp r0, #0x1 bne _0203947C - ldr r0, _02039480 ; =sub_020351A0 + ldr r0, _02039480 ; =FUN_020351A0 add r4, #0xa4 str r0, [r4, #0x0] _0203947C: pop {r3-r5, pc} nop -_02039480: .word sub_020351A0 + 1 +_02039480: .word FUN_020351A0 + 1 - thumb_func_start sub_02039484 -sub_02039484: ; 0x02039484 + thumb_func_start FUN_02039484 +FUN_02039484: ; 0x02039484 push {r4, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] lsl r1, r1, #0x2 add r1, r2, r1 str r1, [r4, #0x8] - bl sub_02038C48 + bl FUN_02038C48 ldr r1, [r4, #0x8] add r0, r1, r0 str r0, [r4, #0x8] pop {r4, pc} - thumb_func_start sub_0203949C -sub_0203949C: ; 0x0203949C + thumb_func_start FUN_0203949C +FUN_0203949C: ; 0x0203949C push {r3, lr} - bl sub_02034788 + bl FUN_02034788 add r1, r0, #0x0 mov r0, #0xa mov r2, #0xb - bl sub_0200650C + bl FUN_0200650C pop {r3, pc} .balign 4 - thumb_func_start sub_020394B0 -sub_020394B0: ; 0x020394B0 - ldr r3, _020394B4 ; =sub_02034774 + thumb_func_start FUN_020394B0 +FUN_020394B0: ; 0x020394B0 + ldr r3, _020394B4 ; =FUN_02034774 bx r3 .balign 4 -_020394B4: .word sub_02034774 + 1 +_020394B4: .word FUN_02034774 + 1 - thumb_func_start sub_020394B8 -sub_020394B8: ; 0x020394B8 + thumb_func_start FUN_020394B8 +FUN_020394B8: ; 0x020394B8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC mov r1, #0x1 lsl r1, r1, #0xe cmp r4, r1 @@ -113907,22 +113907,22 @@ _020394D0: cmp r4, r1 bhs _020394DE add r1, r4, #0x0 - bl sub_02046380 + bl FUN_02046380 pop {r3-r5, pc} _020394DE: ldr r1, _020394EC ; =0x00007FD7 add r0, r5, #0x0 sub r1, r4, r1 - bl sub_02039438 + bl FUN_02039438 pop {r3-r5, pc} nop _020394EC: .word 0x00007FD7 - thumb_func_start sub_020394F0 -sub_020394F0: ; 0x020394F0 + thumb_func_start FUN_020394F0 +FUN_020394F0: ; 0x020394F0 push {r4, lr} add r4, r1, #0x0 - bl sub_020394B8 + bl FUN_020394B8 cmp r0, #0x0 beq _020394FE ldrh r4, [r0, #0x0] @@ -113931,66 +113931,66 @@ _020394FE: pop {r4, pc} .balign 4 - thumb_func_start sub_02039504 -sub_02039504: ; 0x02039504 + thumb_func_start FUN_02039504 +FUN_02039504: ; 0x02039504 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x10 blo _02039512 - bl sub_02020C2C + bl FUN_02020C2C _02039512: ldr r1, _02039524 ; =0x00004020 add r0, r5, #0x0 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_020394F0 + bl FUN_020394F0 pop {r3-r5, pc} nop _02039524: .word 0x00004020 - thumb_func_start sub_02039528 -sub_02039528: ; 0x02039528 + thumb_func_start FUN_02039528 +FUN_02039528: ; 0x02039528 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC add r1, r4, #0x0 - bl sub_020462B8 + bl FUN_020462B8 pop {r4, pc} .balign 4 - thumb_func_start sub_0203953C -sub_0203953C: ; 0x0203953C + thumb_func_start FUN_0203953C +FUN_0203953C: ; 0x0203953C push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC add r1, r4, #0x0 - bl sub_020462E4 + bl FUN_020462E4 pop {r4, pc} .balign 4 - thumb_func_start sub_02039550 -sub_02039550: ; 0x02039550 + thumb_func_start FUN_02039550 +FUN_02039550: ; 0x02039550 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC add r1, r4, #0x0 - bl sub_0204630C + bl FUN_0204630C pop {r4, pc} .balign 4 - thumb_func_start sub_02039564 -sub_02039564: ; 0x02039564 + thumb_func_start FUN_02039564 +FUN_02039564: ; 0x02039564 push {r4, lr} ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x1 add r4, r0, #0x0 - bl sub_02046338 + bl FUN_02046338 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -114003,21 +114003,21 @@ sub_02039564: ; 0x02039564 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe - bl sub_02046380 + bl FUN_02046380 mov r1, #0x0 mov r2, #0x40 - blx sub_020DF4A4 + blx FUN_020DF4A4 pop {r4, pc} .balign 4 - thumb_func_start sub_0203959C -sub_0203959C: ; 0x0203959C + thumb_func_start FUN_0203959C +FUN_0203959C: ; 0x0203959C push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0xaa lsl r1, r1, #0x4 - bl sub_02046338 + bl FUN_02046338 mov r2, #0x18 mov r1, #0x0 _020395B0: @@ -114028,35 +114028,35 @@ _020395B0: pop {r3, pc} .balign 4 - thumb_func_start sub_020395BC -sub_020395BC: ; 0x020395BC + thumb_func_start FUN_020395BC +FUN_020395BC: ; 0x020395BC push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x29 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02039438 + bl FUN_02039438 strh r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2a - bl sub_02039438 + bl FUN_02039438 strh r6, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2b - bl sub_02039438 + bl FUN_02039438 strh r7, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2c - bl sub_02039438 + bl FUN_02039438 add r1, sp, #0x8 ldrh r1, [r1, #0x10] strh r1, [r0, #0x0] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020395F4 -sub_020395F4: ; 0x020395F4 + thumb_func_start FUN_020395F4 +FUN_020395F4: ; 0x020395F4 ldr r1, _02039610 ; =0x00001388 cmp r0, r1 bhs _02039604 @@ -114075,8 +114075,8 @@ _02039604: _02039610: .word 0x00001388 _02039614: .word 0x00000BB7 - thumb_func_start sub_02039618 -sub_02039618: ; 0x02039618 + thumb_func_start FUN_02039618 +FUN_02039618: ; 0x02039618 ldr r1, _02039628 ; =0x00001388 cmp r0, r1 blo _02039622 @@ -114088,11 +114088,11 @@ _02039622: nop _02039628: .word 0x00001388 - thumb_func_start sub_0203962C -sub_0203962C: ; 0x0203962C + thumb_func_start FUN_0203962C +FUN_0203962C: ; 0x0203962C push {r3, lr} mov r1, #0x9 - bl sub_0206AC74 + bl FUN_0206AC74 cmp r0, #0x0 beq _0203963C mov r0, #0x1 @@ -114101,53 +114101,53 @@ _0203963C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02039640 -sub_02039640: ; 0x02039640 + thumb_func_start FUN_02039640 +FUN_02039640: ; 0x02039640 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_020462B8 + bl FUN_020462B8 pop {r4, pc} .balign 4 - thumb_func_start sub_0203965C -sub_0203965C: ; 0x0203965C + thumb_func_start FUN_0203965C +FUN_0203965C: ; 0x0203965C push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_020462E4 + bl FUN_020462E4 pop {r4, pc} .balign 4 - thumb_func_start sub_02039678 -sub_02039678: ; 0x02039678 + thumb_func_start FUN_02039678 +FUN_02039678: ; 0x02039678 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_020462AC + bl FUN_020462AC mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0204630C + bl FUN_0204630C pop {r4, pc} .balign 4 - thumb_func_start sub_02039694 -sub_02039694: ; 0x02039694 + thumb_func_start FUN_02039694 +FUN_02039694: ; 0x02039694 ldr r1, _020396A0 ; =0x00001C66 sub r0, r0, r1 lsl r0, r0, #0x10 @@ -114156,8 +114156,8 @@ sub_02039694: ; 0x02039694 nop _020396A0: .word 0x00001C66 - thumb_func_start sub_020396A4 -sub_020396A4: ; 0x020396A4 + thumb_func_start FUN_020396A4 +FUN_020396A4: ; 0x020396A4 mov r1, #0x7d lsl r1, r1, #0x6 sub r0, r0, r1 @@ -114165,11 +114165,11 @@ sub_020396A4: ; 0x020396A4 lsr r0, r0, #0x10 bx lr - thumb_func_start sub_020396B0 -sub_020396B0: ; 0x020396B0 + thumb_func_start FUN_020396B0 +FUN_020396B0: ; 0x020396B0 push {r4, lr} ldr r4, _020396E4 ; =0x020F2DB4 - bl sub_020396A4 + bl FUN_020396A4 lsl r0, r0, #0x18 lsr r3, r0, #0x18 mov r1, #0x0 @@ -114185,7 +114185,7 @@ _020396C0: _020396CE: cmp r1, #0xe5 blo _020396DA - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4, pc} _020396DA: @@ -114196,24 +114196,24 @@ _020396DA: nop _020396E4: .word 0x020F2DB4 - thumb_func_start sub_020396E8 -sub_020396E8: ; 0x020396E8 + thumb_func_start FUN_020396E8 +FUN_020396E8: ; 0x020396E8 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x29 - bl sub_02039300 + bl FUN_02039300 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2a - bl sub_02039300 + bl FUN_02039300 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2b - bl sub_02039300 + bl FUN_02039300 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020396A4 + bl FUN_020396A4 lsl r0, r0, #0x18 ldr r2, _02039750 ; =0x020F2DB4 lsr r3, r0, #0x18 @@ -114229,7 +114229,7 @@ _02039718: _02039726: cmp r1, #0xe5 blo _02039732 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} _02039732: @@ -114242,27 +114242,27 @@ _02039732: ldrb r0, [r0, #0x2] strh r0, [r6, #0x0] add r0, r5, #0x0 - bl sub_02039694 + bl FUN_02039694 strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r7, pc} nop _02039750: .word 0x020F2DB4 - thumb_func_start sub_02039754 -sub_02039754: ; 0x02039754 + thumb_func_start FUN_02039754 +FUN_02039754: ; 0x02039754 push {r4-r7, lr} sub sp, #0x24 str r0, [sp, #0x0] add r4, r1, #0x0 mov r6, #0x0 - bl sub_02034AF8 + bl FUN_02034AF8 add r5, r0, #0x0 add r2, r5, #0x1 mov r1, #0x6 add r0, r4, #0x0 mul r1, r2 - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x1c] cmp r5, #0x0 bne _02039786 @@ -114276,7 +114276,7 @@ sub_02039754: ; 0x02039754 pop {r4-r7, pc} _02039786: ldr r0, [sp, #0x0] - bl sub_02034AF0 + bl FUN_02034AF0 add r4, r0, #0x0 bne _020397A0 ldr r0, [sp, #0x1c] @@ -114290,11 +114290,11 @@ _02039786: _020397A0: ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0x18] ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C str r0, [sp, #0x14] ldr r0, [sp, #0x18] sub r0, r0, #0x7 @@ -114331,10 +114331,10 @@ _020397EC: cmp r0, #0x2 bne _0203984C ldrh r0, [r4, #0x0] - bl sub_02039694 + bl FUN_02039694 add r1, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02039528 + bl FUN_02039528 cmp r0, #0x0 bne _0203984C ldr r1, [r4, #0x4] @@ -114352,21 +114352,21 @@ _020397EC: cmp r1, r0 bgt _0203984C ldrh r0, [r4, #0x0] - bl sub_020396B0 + bl FUN_020396B0 strb r0, [r5, #0x4] ldr r1, [r4, #0x4] ldr r0, [sp, #0x18] sub r1, r0, r1 mov r0, #0x7 sub r0, r0, r1 - blx sub_020DE3F0 + blx FUN_020DE3F0 strh r0, [r5, #0x0] ldr r1, [r4, #0x8] ldr r0, [sp, #0x14] sub r1, r0, r1 mov r0, #0x7 sub r0, r0, r1 - blx sub_020DE3F0 + blx FUN_020DE3F0 strh r0, [r5, #0x2] add r5, r5, #0x6 add r6, r6, #0x1 @@ -114392,36 +114392,36 @@ _02039856: nop _02039870: .word 0x0000FFFF - thumb_func_start sub_02039874 -sub_02039874: ; 0x02039874 - ldr r3, _0203987C ; =sub_02039880 + thumb_func_start FUN_02039874 +FUN_02039874: ; 0x02039874 + ldr r3, _0203987C ; =FUN_02039880 mov r1, #0x96 lsl r1, r1, #0x6 bx r3 .balign 4 -_0203987C: .word sub_02039880 + 1 +_0203987C: .word FUN_02039880 + 1 - thumb_func_start sub_02039880 -sub_02039880: ; 0x02039880 + thumb_func_start FUN_02039880 +FUN_02039880: ; 0x02039880 push {r4, lr} - bl sub_02038EB0 + bl FUN_02038EB0 add r4, r0, #0x0 _02039888: add r0, r4, #0x0 - bl sub_02038B70 + bl FUN_02038B70 cmp r0, #0x1 beq _02039888 add r0, r4, #0x0 - bl sub_02038E48 + bl FUN_02038E48 pop {r4, pc} .balign 4 - thumb_func_start sub_0203989C -sub_0203989C: ; 0x0203989C + thumb_func_start FUN_0203989C +FUN_0203989C: ; 0x0203989C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02034D2C + bl FUN_02034D2C add r1, r0, #0x0 bne _020398AE mov r0, #0x0 @@ -114431,7 +114431,7 @@ _020398AE: bne _020398BC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_02039914 + bl FUN_02039914 b _020398C2 _020398BC: add r1, r4, #0x0 @@ -114448,11 +114448,11 @@ _020398CE: bne _020398DC add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038C78 + bl FUN_02038C78 b _020398E2 _020398DC: add r0, r5, #0x0 - bl sub_02039880 + bl FUN_02039880 _020398E2: mov r0, #0x1 pop {r3-r5, pc} @@ -114478,14 +114478,14 @@ _02039908: add r0, r0, #0x5 b _020398EC - thumb_func_start sub_0203990C -sub_0203990C: ; 0x0203990C + thumb_func_start FUN_0203990C +FUN_0203990C: ; 0x0203990C bx lr nop _02039910: .word 0x0000FFFF - thumb_func_start sub_02039914 -sub_02039914: ; 0x02039914 + thumb_func_start FUN_02039914 +FUN_02039914: ; 0x02039914 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -114543,11 +114543,11 @@ _02039968: lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020394F0 + bl FUN_020394F0 cmp r7, r0 bne _02039996 ldrb r0, [r4, #0x5] @@ -114561,57 +114561,57 @@ _02039996: add r4, r4, #0x6 b _0203994E - non_word_aligned_thumb_func_start sub_0203999A -sub_0203999A: ; 0x0203999A + non_word_aligned_thumb_func_start FUN_0203999A +FUN_0203999A: ; 0x0203999A pop {r3-r7, pc} .balign 4 _0203999C: .word 0x0000FFFF - thumb_func_start sub_020399A0 -sub_020399A0: ; 0x020399A0 + thumb_func_start FUN_020399A0 +FUN_020399A0: ; 0x020399A0 mov r0, #0x0 bx lr - thumb_func_start sub_020399A4 -sub_020399A4: ; 0x020399A4 + thumb_func_start FUN_020399A4 +FUN_020399A4: ; 0x020399A4 mov r0, #0x0 bx lr - thumb_func_start sub_020399A8 -sub_020399A8: ; 0x020399A8 + thumb_func_start FUN_020399A8 +FUN_020399A8: ; 0x020399A8 push {r3, lr} - bl sub_02038B64 + bl FUN_02038B64 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020399B4 -sub_020399B4: ; 0x020399B4 + thumb_func_start FUN_020399B4 +FUN_020399B4: ; 0x020399B4 push {r3-r7, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020394B8 + bl FUN_020394B8 strh r7, [r0, #0x0] - ldr r1, _020399E4 ; =sub_020399E8 + ldr r1, _020399E4 ; =FUN_020399E8 add r0, r5, #0x0 str r4, [r5, #0x64] - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_020399E4: .word sub_020399E8 + 1 +_020399E4: .word FUN_020399E8 + 1 - thumb_func_start sub_020399E8 -sub_020399E8: ; 0x020399E8 + thumb_func_start FUN_020399E8 +FUN_020399E8: ; 0x020399E8 push {r3, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] @@ -114619,7 +114619,7 @@ sub_020399E8: ; 0x020399E8 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 ldrh r1, [r0, #0x0] sub r1, r1, #0x1 strh r1, [r0, #0x0] @@ -114633,21 +114633,21 @@ _02039A0A: pop {r3, pc} .balign 4 - thumb_func_start sub_02039A10 -sub_02039A10: ; 0x02039A10 + thumb_func_start FUN_02039A10 +FUN_02039A10: ; 0x02039A10 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02039A28 -sub_02039A28: ; 0x02039A28 + thumb_func_start FUN_02039A28 +FUN_02039A28: ; 0x02039A28 ldr r1, [r0, #0x8] add r2, r1, #0x1 str r2, [r0, #0x8] @@ -114661,15 +114661,15 @@ sub_02039A28: ; 0x02039A28 mov r0, #0x0 bx lr - thumb_func_start sub_02039A40 -sub_02039A40: ; 0x02039A40 + thumb_func_start FUN_02039A40 +FUN_02039A40: ; 0x02039A40 push {r3-r5, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r5, [r2, #0x0] - bl sub_02038C48 + bl FUN_02038C48 lsl r1, r5, #0x2 add r1, r4, r1 str r0, [r1, #0x64] @@ -114677,15 +114677,15 @@ sub_02039A40: ; 0x02039A40 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02039A5C -sub_02039A5C: ; 0x02039A5C + thumb_func_start FUN_02039A5C +FUN_02039A5C: ; 0x02039A5C push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C48 + bl FUN_02038C48 ldrb r1, [r0, #0x0] lsl r0, r4, #0x2 add r0, r5, r0 @@ -114693,11 +114693,11 @@ sub_02039A5C: ; 0x02039A5C mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039A78 -sub_02039A78: ; 0x02039A78 + thumb_func_start FUN_02039A78 +FUN_02039A78: ; 0x02039A78 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] @@ -114707,11 +114707,11 @@ sub_02039A78: ; 0x02039A78 pop {r4, pc} .balign 4 - thumb_func_start sub_02039A90 -sub_02039A90: ; 0x02039A90 + thumb_func_start FUN_02039A90 +FUN_02039A90: ; 0x02039A90 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] @@ -114723,8 +114723,8 @@ sub_02039A90: ; 0x02039A90 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039AAC -sub_02039AAC: ; 0x02039AAC + thumb_func_start FUN_02039AAC +FUN_02039AAC: ; 0x02039AAC ldr r1, [r0, #0x8] add r2, r1, #0x1 str r2, [r0, #0x8] @@ -114742,21 +114742,21 @@ sub_02039AAC: ; 0x02039AAC bx lr .balign 4 - thumb_func_start sub_02039ACC -sub_02039ACC: ; 0x02039ACC + thumb_func_start FUN_02039ACC +FUN_02039ACC: ; 0x02039ACC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldrb r0, [r0, #0x0] strb r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039AE4 -sub_02039AE4: ; 0x02039AE4 + thumb_func_start FUN_02039AE4 +FUN_02039AE4: ; 0x02039AE4 cmp r0, r1 bhs _02039AEC mov r0, #0x0 @@ -114770,8 +114770,8 @@ _02039AF4: mov r0, #0x2 bx lr - thumb_func_start sub_02039AF8 -sub_02039AF8: ; 0x02039AF8 + thumb_func_start FUN_02039AF8 +FUN_02039AF8: ; 0x02039AF8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x8] @@ -114791,13 +114791,13 @@ sub_02039AF8: ; 0x02039AF8 ldr r1, [r1, #0x64] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039B28 -sub_02039B28: ; 0x02039B28 + thumb_func_start FUN_02039B28 +FUN_02039B28: ; 0x02039B28 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x8] @@ -114812,14 +114812,14 @@ sub_02039B28: ; 0x02039B28 ldrb r1, [r1, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02039B50 -sub_02039B50: ; 0x02039B50 + thumb_func_start FUN_02039B50 +FUN_02039B50: ; 0x02039B50 push {r3-r5, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] @@ -114831,19 +114831,19 @@ sub_02039B50: ; 0x02039B50 ldr r1, [r1, #0x64] lsl r1, r1, #0x18 lsr r5, r1, #0x18 - bl sub_02038C48 + bl FUN_02038C48 ldrb r1, [r0, #0x0] add r0, r5, #0x0 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039B78 -sub_02039B78: ; 0x02039B78 + thumb_func_start FUN_02039B78 +FUN_02039B78: ; 0x02039B78 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldr r2, [r4, #0x8] ldrb r0, [r0, #0x0] add r1, r2, #0x1 @@ -114854,109 +114854,109 @@ sub_02039B78: ; 0x02039B78 ldr r1, [r1, #0x64] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02039BA0 -sub_02039BA0: ; 0x02039BA0 + thumb_func_start FUN_02039BA0 +FUN_02039BA0: ; 0x02039BA0 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldr r2, [r4, #0x8] ldrb r0, [r0, #0x0] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039BBC -sub_02039BBC: ; 0x02039BBC + thumb_func_start FUN_02039BBC +FUN_02039BBC: ; 0x02039BBC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldrb r4, [r0, #0x0] add r0, r5, #0x0 - bl sub_02038C48 + bl FUN_02038C48 ldrb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r5, #0x2] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02039BDC -sub_02039BDC: ; 0x02039BDC + thumb_func_start FUN_02039BDC +FUN_02039BDC: ; 0x02039BDC push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldrh r5, [r0, #0x0] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r4, #0x2] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02039C08 -sub_02039C08: ; 0x02039C08 + thumb_func_start FUN_02039C08 +FUN_02039C08: ; 0x02039C08 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r1, r0, #0x0 ldrh r0, [r4, #0x0] ldrh r1, [r1, #0x0] - bl sub_02039AE4 + bl FUN_02039AE4 strb r0, [r5, #0x2] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039C40 -sub_02039C40: ; 0x02039C40 + thumb_func_start FUN_02039C40 +FUN_02039C40: ; 0x02039C40 push {r3-r7, lr} add r7, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x7 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xe - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02038EB0 + bl FUN_02038EB0 str r0, [r6, #0x0] ldrb r0, [r4, #0x0] add r0, r0, #0x1 @@ -114965,50 +114965,50 @@ sub_02039C40: ; 0x02039C40 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02039C78 -sub_02039C78: ; 0x02039C78 + thumb_func_start FUN_02039C78 +FUN_02039C78: ; 0x02039C78 push {r3-r7, lr} str r0, [sp, #0x0] add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x5 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xe - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 mov r0, #0x1 strb r0, [r6, #0x0] add r0, r5, #0x0 - bl sub_02038EB0 + bl FUN_02038EB0 str r0, [r7, #0x0] ldrb r0, [r4, #0x0] - ldr r1, _02039CC4 ; =sub_02039CC8 + ldr r1, _02039CC4 ; =FUN_02039CC8 add r0, r0, #0x1 strb r0, [r4, #0x0] ldr r0, [sp, #0x0] - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_02039CC4: .word sub_02039CC8 + 1 +_02039CC4: .word FUN_02039CC8 + 1 - thumb_func_start sub_02039CC8 -sub_02039CC8: ; 0x02039CC8 + thumb_func_start FUN_02039CC8 +FUN_02039CC8: ; 0x02039CC8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x5 - bl sub_02039438 + bl FUN_02039438 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _02039CDE @@ -115019,99 +115019,99 @@ _02039CDE: pop {r3, pc} .balign 4 - thumb_func_start sub_02039CE4 -sub_02039CE4: ; 0x02039CE4 + thumb_func_start FUN_02039CE4 +FUN_02039CE4: ; 0x02039CE4 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x5 - bl sub_02039438 + bl FUN_02039438 mov r1, #0x0 strb r1, [r0, #0x0] add r0, r1, #0x0 pop {r3, pc} - thumb_func_start sub_02039CF8 -sub_02039CF8: ; 0x02039CF8 + thumb_func_start FUN_02039CF8 +FUN_02039CF8: ; 0x02039CF8 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r2, r0, #0x0 ldr r1, [r4, #0x8] add r0, r4, #0x0 add r1, r1, r2 - bl sub_02038C10 + bl FUN_02038C10 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039D10 -sub_02039D10: ; 0x02039D10 + thumb_func_start FUN_02039D10 +FUN_02039D10: ; 0x02039D10 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C48 + bl FUN_02038C48 add r7, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02058448 + bl FUN_02058448 cmp r4, r0 bne _02039D44 ldr r1, [r5, #0x8] add r0, r5, #0x0 add r1, r1, r7 - bl sub_02038C10 + bl FUN_02038C10 _02039D44: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02039D48 -sub_02039D48: ; 0x02039D48 + thumb_func_start FUN_02039D48 +FUN_02039D48: ; 0x02039D48 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x74] - bl sub_02046534 + bl FUN_02046534 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r4, [r1, #0x0] add r0, r5, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r2, r0, #0x0 cmp r6, r4 bne _02039D72 ldr r1, [r5, #0x8] add r0, r5, #0x0 add r1, r1, r2 - bl sub_02038C10 + bl FUN_02038C10 _02039D72: mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02039D78 -sub_02039D78: ; 0x02039D78 + thumb_func_start FUN_02039D78 +FUN_02039D78: ; 0x02039D78 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x9 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r4, [r1, #0x0] add r0, r5, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r2, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, r4 @@ -115119,41 +115119,41 @@ sub_02039D78: ; 0x02039D78 ldr r1, [r5, #0x8] add r0, r5, #0x0 add r1, r1, r2 - bl sub_02038C10 + bl FUN_02038C10 _02039DA8: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02039DAC -sub_02039DAC: ; 0x02039DAC + thumb_func_start FUN_02039DAC +FUN_02039DAC: ; 0x02039DAC push {r4, lr} add r4, r0, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r2, r0, #0x0 ldr r1, [r4, #0x8] add r0, r4, #0x0 add r1, r1, r2 - bl sub_02038C14 + bl FUN_02038C14 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039DC4 -sub_02039DC4: ; 0x02039DC4 + thumb_func_start FUN_02039DC4 +FUN_02039DC4: ; 0x02039DC4 push {r3, lr} - bl sub_02038C24 + bl FUN_02038C24 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02039DD0 -sub_02039DD0: ; 0x02039DD0 + thumb_func_start FUN_02039DD0 +FUN_02039DD0: ; 0x02039DD0 push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C48 + bl FUN_02038C48 add r1, r0, #0x0 lsl r0, r4, #0x1 add r3, r4, r0 @@ -115166,22 +115166,22 @@ sub_02039DD0: ; 0x02039DD0 ldr r2, [r5, #0x8] add r0, r5, #0x0 add r1, r2, r1 - bl sub_02038C10 + bl FUN_02038C10 _02039DFC: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _02039E00: .word 0x020F34E8 - thumb_func_start sub_02039E04 -sub_02039E04: ; 0x02039E04 + thumb_func_start FUN_02039E04 +FUN_02039E04: ; 0x02039E04 push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C48 + bl FUN_02038C48 add r1, r0, #0x0 lsl r0, r4, #0x1 add r3, r4, r0 @@ -115194,337 +115194,337 @@ sub_02039E04: ; 0x02039E04 ldr r2, [r5, #0x8] add r0, r5, #0x0 add r1, r2, r1 - bl sub_02038C14 + bl FUN_02038C14 _02039E30: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _02039E34: .word 0x020F34E8 - thumb_func_start sub_02039E38 -sub_02039E38: ; 0x02039E38 + thumb_func_start FUN_02039E38 +FUN_02039E38: ; 0x02039E38 push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0203953C + bl FUN_0203953C mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039E50 -sub_02039E50: ; 0x02039E50 + thumb_func_start FUN_02039E50 +FUN_02039E50: ; 0x02039E50 push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02039550 + bl FUN_02039550 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02039E68 -sub_02039E68: ; 0x02039E68 + thumb_func_start FUN_02039E68 +FUN_02039E68: ; 0x02039E68 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02039528 + bl FUN_02039528 strb r0, [r4, #0x2] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039E84 -sub_02039E84: ; 0x02039E84 + thumb_func_start FUN_02039E84 +FUN_02039E84: ; 0x02039E84 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldrh r1, [r6, #0x0] add r0, r5, #0x0 - bl sub_02039528 + bl FUN_02039528 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02039EC0 -sub_02039EC0: ; 0x02039EC0 + thumb_func_start FUN_02039EC0 +FUN_02039EC0: ; 0x02039EC0 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r1, r0, #0x0 ldrh r1, [r1, #0x0] add r0, r4, #0x0 - bl sub_0203953C + bl FUN_0203953C mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02039EE8 -sub_02039EE8: ; 0x02039EE8 + thumb_func_start FUN_02039EE8 +FUN_02039EE8: ; 0x02039EE8 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0203965C + bl FUN_0203965C mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039F0C -sub_02039F0C: ; 0x02039F0C + thumb_func_start FUN_02039F0C +FUN_02039F0C: ; 0x02039F0C push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02039678 + bl FUN_02039678 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039F30 -sub_02039F30: ; 0x02039F30 + thumb_func_start FUN_02039F30 +FUN_02039F30: ; 0x02039F30 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02039640 + bl FUN_02039640 strb r0, [r5, #0x2] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039F58 -sub_02039F58: ; 0x02039F58 + thumb_func_start FUN_02039F58 +FUN_02039F58: ; 0x02039F58 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldrh r1, [r4, #0x0] add r0, r1, r0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039F88 -sub_02039F88: ; 0x02039F88 + thumb_func_start FUN_02039F88 +FUN_02039F88: ; 0x02039F88 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldrh r1, [r4, #0x0] sub r0, r1, r0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02039FB8 -sub_02039FB8: ; 0x02039FB8 + thumb_func_start FUN_02039FB8 +FUN_02039FB8: ; 0x02039FB8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02039FDC -sub_02039FDC: ; 0x02039FDC + thumb_func_start FUN_02039FDC +FUN_02039FDC: ; 0x02039FDC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldrh r0, [r0, #0x0] strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203A00C -sub_0203A00C: ; 0x0203A00C + thumb_func_start FUN_0203A00C +FUN_0203A00C: ; 0x0203A00C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203A038 -sub_0203A038: ; 0x0203A038 + thumb_func_start FUN_0203A038 +FUN_0203A038: ; 0x0203A038 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r2, [r2, #0x0] ldr r1, [r0, #0x78] - bl sub_021E2C24 + bl FUN_021E2C24 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203A04C -sub_0203A04C: ; 0x0203A04C + thumb_func_start FUN_0203A04C +FUN_0203A04C: ; 0x0203A04C push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x1a add r2, r5, #0x0 mov r3, #0x20 - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_021E2C24 + bl FUN_021E2C24 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203A098 -sub_0203A098: ; 0x0203A098 + thumb_func_start FUN_0203A098 +FUN_0203A098: ; 0x0203A098 push {r3-r6, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x1a add r2, r5, #0x0 mov r3, #0x20 - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -115532,33 +115532,33 @@ sub_0203A098: ; 0x0203A098 add r1, r5, #0x0 add r2, r6, #0x0 mov r3, #0x1 - bl sub_021E2BD0 + bl FUN_021E2BD0 add r0, r5, #0x0 - bl sub_0200A8B8 - ldr r1, _0203A0F8 ; =sub_0203A2F0 + bl FUN_0200A8B8 + ldr r1, _0203A0F8 ; =FUN_0203A2F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} nop -_0203A0F8: .word sub_0203A2F0 + 1 +_0203A0F8: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A0FC -sub_0203A0FC: ; 0x0203A0FC + thumb_func_start FUN_0203A0FC +FUN_0203A0FC: ; 0x0203A0FC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 lsl r0, r0, #0x10 asr r0, r0, #0x10 str r0, [sp, #0x0] @@ -115568,27 +115568,27 @@ sub_0203A0FC: ; 0x0203A0FC add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_021E2C58 + bl FUN_021E2C58 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203A13C -sub_0203A13C: ; 0x0203A13C + thumb_func_start FUN_0203A13C +FUN_0203A13C: ; 0x0203A13C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 lsl r0, r0, #0x10 asr r0, r0, #0x10 str r0, [sp, #0x0] @@ -115598,18 +115598,18 @@ sub_0203A13C: ; 0x0203A13C add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_021E2C58 - ldr r1, _0203A184 ; =sub_0203A2F0 + bl FUN_021E2C58 + ldr r1, _0203A184 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop -_0203A184: .word sub_0203A2F0 + 1 +_0203A184: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A188 -sub_0203A188: ; 0x0203A188 + thumb_func_start FUN_0203A188 +FUN_0203A188: ; 0x0203A188 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -115641,7 +115641,7 @@ _0203A1AA: mov r0, #0x1 mov r1, #0x1a mov r3, #0x20 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -115649,9 +115649,9 @@ _0203A1AA: add r0, r5, #0x0 add r1, r6, #0x0 mov r3, #0x1 - bl sub_021E2BD0 + bl FUN_021E2BD0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 b _0203A1F4 _0203A1E2: mov r2, #0x6 @@ -115661,21 +115661,21 @@ _0203A1E2: str r2, [sp, #0x4] ldrh r2, [r4, #0x2] ldrh r3, [r4, #0x4] - bl sub_021E2C58 + bl FUN_021E2C58 _0203A1F4: - ldr r1, _0203A20C ; =sub_0203A2F0 + ldr r1, _0203A20C ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r4-r6, pc} nop _0203A204: .word 0x0000FFFF _0203A208: .word 0x0000022B -_0203A20C: .word sub_0203A2F0 + 1 +_0203A20C: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A210 -sub_0203A210: ; 0x0203A210 + thumb_func_start FUN_0203A210 +FUN_0203A210: ; 0x0203A210 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -115686,15 +115686,15 @@ sub_0203A210: ; 0x0203A210 add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 ldr r1, [r5, #0x8] add r2, r0, #0x0 add r0, r1, #0x1 @@ -115707,7 +115707,7 @@ sub_0203A210: ; 0x0203A210 str r0, [sp, #0x0] ldr r0, [r6, #0xc] add r1, r7, #0x0 - bl sub_02244210 + bl FUN_02244210 add r6, r0, #0x0 add r2, sp, #0x4 ldrb r2, [r2, #0x0] @@ -115717,28 +115717,28 @@ sub_0203A210: ; 0x0203A210 lsl r2, r2, #0x18 lsr r2, r2, #0x18 mov r3, #0x1 - bl sub_021E2CBC + bl FUN_021E2CBC add r0, r6, #0x0 - bl sub_0200AB18 - ldr r1, _0203A284 ; =sub_0203A2F0 + bl FUN_0200AB18 + ldr r1, _0203A284 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop -_0203A284: .word sub_0203A2F0 + 1 +_0203A284: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A288 -sub_0203A288: ; 0x0203A288 + thumb_func_start FUN_0203A288 +FUN_0203A288: ; 0x0203A288 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, sp, #0x4 add r1, r5, #0x0 - bl sub_021E2BB8 + bl FUN_021E2BB8 mov r1, #0x3 add r0, sp, #0x4 strb r1, [r0, #0x2] @@ -115748,18 +115748,18 @@ sub_0203A288: ; 0x0203A288 add r0, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_021E2BD0 - ldr r1, _0203A2C0 ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A2C0 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r5, pc} .balign 4 -_0203A2C0: .word sub_0203A2F0 + 1 +_0203A2C0: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A2C4 -sub_0203A2C4: ; 0x0203A2C4 + thumb_func_start FUN_0203A2C4 +FUN_0203A2C4: ; 0x0203A2C4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -115771,38 +115771,38 @@ sub_0203A2C4: ; 0x0203A2C4 str r1, [sp, #0x0] ldrb r2, [r2, #0x0] ldr r1, [r4, #0x78] - bl sub_021E2BD0 - ldr r1, _0203A2EC ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A2EC ; =FUN_0203A2F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 -_0203A2EC: .word sub_0203A2F0 + 1 +_0203A2EC: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A2F0 -sub_0203A2F0: ; 0x0203A2F0 + thumb_func_start FUN_0203A2F0 +FUN_0203A2F0: ; 0x0203A2F0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x3 - bl sub_02039438 + bl FUN_02039438 ldrb r0, [r0, #0x0] - bl sub_020546C8 + bl FUN_020546C8 pop {r3, pc} - thumb_func_start sub_0203A304 -sub_0203A304: ; 0x0203A304 + thumb_func_start FUN_0203A304 +FUN_0203A304: ; 0x0203A304 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -115811,31 +115811,31 @@ sub_0203A304: ; 0x0203A304 add r0, r4, #0x0 lsr r2, r2, #0x18 mov r3, #0x1 - bl sub_021E2BD0 - ldr r1, _0203A33C ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A33C ; =FUN_0203A2F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 -_0203A33C: .word sub_0203A2F0 + 1 +_0203A33C: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A340 -sub_0203A340: ; 0x0203A340 + thumb_func_start FUN_0203A340 +FUN_0203A340: ; 0x0203A340 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, sp, #0x4 add r1, r5, #0x0 - bl sub_021E2BB8 + bl FUN_021E2BB8 lsl r2, r4, #0x18 mov r3, #0x1 add r0, sp, #0x4 @@ -115845,27 +115845,27 @@ sub_0203A340: ; 0x0203A340 ldr r1, [r5, #0x78] add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_021E2BD0 - ldr r1, _0203A384 ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A384 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r5, pc} .balign 4 -_0203A384: .word sub_0203A2F0 + 1 +_0203A384: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A388 -sub_0203A388: ; 0x0203A388 + thumb_func_start FUN_0203A388 +FUN_0203A388: ; 0x0203A388 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r3, #0x0 str r3, [sp, #0x0] @@ -115873,27 +115873,27 @@ sub_0203A388: ; 0x0203A388 ldr r1, [r4, #0x78] add r0, r4, #0x0 lsr r2, r2, #0x18 - bl sub_021E2BD0 - ldr r1, _0203A3C0 ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A3C0 ; =FUN_0203A2F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} nop -_0203A3C0: .word sub_0203A2F0 + 1 +_0203A3C0: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A3C4 -sub_0203A3C4: ; 0x0203A3C4 + thumb_func_start FUN_0203A3C4 +FUN_0203A3C4: ; 0x0203A3C4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02058488 + bl FUN_02058488 lsl r0, r0, #0x18 lsr r2, r0, #0x18 mov r0, #0x0 @@ -115901,18 +115901,18 @@ sub_0203A3C4: ; 0x0203A3C4 ldr r1, [r4, #0x78] add r0, r4, #0x0 mov r3, #0x1 - bl sub_021E2BD0 - ldr r1, _0203A3FC ; =sub_0203A2F0 + bl FUN_021E2BD0 + ldr r1, _0203A3FC ; =FUN_0203A2F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} nop -_0203A3FC: .word sub_0203A2F0 + 1 +_0203A3FC: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A400 -sub_0203A400: ; 0x0203A400 + thumb_func_start FUN_0203A400 +FUN_0203A400: ; 0x0203A400 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -115920,7 +115920,7 @@ sub_0203A400: ; 0x0203A400 add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r4, [r1, #0x0] - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0203A428 mov r0, #0x0 @@ -115929,12 +115929,12 @@ sub_0203A400: ; 0x0203A400 add r0, r5, #0x0 add r2, r4, #0x0 mov r3, #0x1 - bl sub_021E2BD0 + bl FUN_021E2BD0 b _0203A448 _0203A428: add r0, sp, #0x4 add r1, r5, #0x0 - bl sub_021E2BB8 + bl FUN_021E2BB8 mov r1, #0x1 add r0, sp, #0x4 strb r1, [r0, #0x0] @@ -115945,29 +115945,29 @@ _0203A428: add r0, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_021E2BD0 + bl FUN_021E2BD0 _0203A448: - ldr r1, _0203A458 ; =sub_0203A2F0 + ldr r1, _0203A458 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r5, pc} nop -_0203A458: .word sub_0203A2F0 + 1 +_0203A458: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203A45C -sub_0203A45C: ; 0x0203A45C + thumb_func_start FUN_0203A45C +FUN_0203A45C: ; 0x0203A45C push {r3, lr} - ldr r1, _0203A468 ; =sub_0203A46C - bl sub_02038B5C + ldr r1, _0203A468 ; =FUN_0203A46C + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_0203A468: .word sub_0203A46C + 1 +_0203A468: .word FUN_0203A46C + 1 - thumb_func_start sub_0203A46C -sub_0203A46C: ; 0x0203A46C + thumb_func_start FUN_0203A46C +FUN_0203A46C: ; 0x0203A46C ldr r0, _0203A480 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 @@ -115981,27 +115981,27 @@ _0203A47A: nop _0203A480: .word 0x021C48B8 - thumb_func_start sub_0203A484 -sub_0203A484: ; 0x0203A484 + thumb_func_start FUN_0203A484 +FUN_0203A484: ; 0x0203A484 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [r4, #0x64] - ldr r1, _0203A4A8 ; =sub_0203A4AC + ldr r1, _0203A4A8 ; =FUN_0203A4AC add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203A4A8: .word sub_0203A4AC + 1 +_0203A4A8: .word FUN_0203A4AC + 1 - thumb_func_start sub_0203A4AC -sub_0203A4AC: ; 0x0203A4AC + thumb_func_start FUN_0203A4AC +FUN_0203A4AC: ; 0x0203A4AC ldr r1, _0203A4CC ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 @@ -116022,18 +116022,18 @@ _0203A4C6: nop _0203A4CC: .word 0x021C48B8 - thumb_func_start sub_0203A4D0 -sub_0203A4D0: ; 0x0203A4D0 + thumb_func_start FUN_0203A4D0 +FUN_0203A4D0: ; 0x0203A4D0 push {r3, lr} - ldr r1, _0203A4DC ; =sub_0203A4E0 - bl sub_02038B5C + ldr r1, _0203A4DC ; =FUN_0203A4E0 + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_0203A4DC: .word sub_0203A4E0 + 1 +_0203A4DC: .word FUN_0203A4E0 + 1 - thumb_func_start sub_0203A4E0 -sub_0203A4E0: ; 0x0203A4E0 + thumb_func_start FUN_0203A4E0 +FUN_0203A4E0: ; 0x0203A4E0 push {r4, lr} ldr r1, _0203A55C ; =0x021C48B8 ldr r2, [r1, #0x48] @@ -116051,7 +116051,7 @@ _0203A4F2: ldr r0, [r0, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 b _0203A556 _0203A506: mov r3, #0x80 @@ -116061,7 +116061,7 @@ _0203A506: ldr r0, [r0, #0x0] mov r1, #0x1 ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 b _0203A556 _0203A51A: mov r3, #0x20 @@ -116071,7 +116071,7 @@ _0203A51A: ldr r0, [r0, #0x0] mov r1, #0x2 ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 b _0203A556 _0203A52E: mov r3, #0x10 @@ -116081,7 +116081,7 @@ _0203A52E: add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 b _0203A556 _0203A542: lsl r1, r3, #0x6 @@ -116089,7 +116089,7 @@ _0203A542: beq _0203A552 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02039460 + bl FUN_02039460 b _0203A556 _0203A552: mov r0, #0x0 @@ -116100,18 +116100,18 @@ _0203A556: nop _0203A55C: .word 0x021C48B8 - thumb_func_start sub_0203A560 -sub_0203A560: ; 0x0203A560 + thumb_func_start FUN_0203A560 +FUN_0203A560: ; 0x0203A560 push {r3, lr} - ldr r1, _0203A56C ; =sub_0203A570 - bl sub_02038B5C + ldr r1, _0203A56C ; =FUN_0203A570 + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_0203A56C: .word sub_0203A570 + 1 +_0203A56C: .word FUN_0203A570 + 1 - thumb_func_start sub_0203A570 -sub_0203A570: ; 0x0203A570 + thumb_func_start FUN_0203A570 +FUN_0203A570: ; 0x0203A570 ldr r0, _0203A58C ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 @@ -116131,84 +116131,84 @@ _0203A588: .balign 4 _0203A58C: .word 0x021C48B8 - thumb_func_start sub_0203A590 -sub_0203A590: ; 0x0203A590 + thumb_func_start FUN_0203A590 +FUN_0203A590: ; 0x0203A590 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x6 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 add r1, r0, #0x0 ldr r0, [r4, #0x8] mov r2, #0x3 - bl sub_020545B8 + bl FUN_020545B8 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02054608 + bl FUN_02054608 mov r0, #0x1 strb r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203A5D8 -sub_0203A5D8: ; 0x0203A5D8 + thumb_func_start FUN_0203A5D8 +FUN_0203A5D8: ; 0x0203A5D8 push {r3-r5, lr} add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x1 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x6 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02019178 + bl FUN_02019178 mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203A608 -sub_0203A608: ; 0x0203A608 + thumb_func_start FUN_0203A608 +FUN_0203A608: ; 0x0203A608 push {r3-r5, lr} add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x1 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x6 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02019178 + bl FUN_02019178 mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203A630 -sub_0203A630: ; 0x0203A630 + thumb_func_start FUN_0203A630 +FUN_0203A630: ; 0x0203A630 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -116216,27 +116216,27 @@ sub_0203A630: ; 0x0203A630 ldr r4, [r0, #0x0] mov r1, #0x31 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2d - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x32 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x33 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x2e - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x34 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] @@ -116270,44 +116270,44 @@ sub_0203A630: ; 0x0203A630 str r1, [r5, #0x8] ldrb r1, [r2, #0x0] strh r1, [r0, #0x0] - ldr r1, _0203A6C4 ; =sub_0203A6C8 + ldr r1, _0203A6C4 ; =FUN_0203A6C8 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 -_0203A6C4: .word sub_0203A6C8 + 1 +_0203A6C4: .word FUN_0203A6C8 + 1 - thumb_func_start sub_0203A6C8 -sub_0203A6C8: ; 0x0203A6C8 + thumb_func_start FUN_0203A6C8 +FUN_0203A6C8: ; 0x0203A6C8 push {r4-r7, lr} sub sp, #0xc add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x31 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x32 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x33 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x34 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x2d - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2e - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 ldrh r0, [r6, #0x0] cmp r0, #0x0 @@ -116329,12 +116329,12 @@ _0203A71E: bne _0203A738 mov r1, #0x3 mov r2, #0x1 - bl sub_020179E0 + bl FUN_020179E0 b _0203A740 _0203A738: mov r1, #0x3 mov r2, #0x2 - bl sub_020179E0 + bl FUN_020179E0 _0203A740: ldr r0, [sp, #0x4] ldrh r3, [r0, #0x0] @@ -116347,12 +116347,12 @@ _0203A740: bne _0203A75C mov r1, #0x3 mov r2, #0x4 - bl sub_020179E0 + bl FUN_020179E0 b _0203A764 _0203A75C: mov r1, #0x3 mov r2, #0x5 - bl sub_020179E0 + bl FUN_020179E0 _0203A764: ldrh r0, [r6, #0x0] cmp r0, #0x0 @@ -116371,8 +116371,8 @@ _0203A778: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203A780 -sub_0203A780: ; 0x0203A780 + thumb_func_start FUN_0203A780 +FUN_0203A780: ; 0x0203A780 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -116380,15 +116380,15 @@ sub_0203A780: ; 0x0203A780 ldr r4, [r0, #0x0] mov r1, #0x11 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x18] add r0, r4, #0x0 mov r1, #0x10 - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x14] ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -116400,57 +116400,57 @@ sub_0203A780: ; 0x0203A780 ldrb r0, [r1, #0x0] str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 cmp r6, #0x0 bne _0203A7E0 add r0, r4, #0x0 mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 lsl r0, r0, #0x10 lsr r6, r0, #0x10 _0203A7E0: ldr r0, [r4, #0x60] ldr r1, [sp, #0x10] add r2, r6, #0x0 - bl sub_021E8128 + bl FUN_021E8128 ldr r0, [r4, #0x60] mov r1, #0x1 - bl sub_021E8130 + bl FUN_021E8130 add r0, r4, #0x0 - bl sub_021E8158 + bl FUN_021E8158 ldr r2, [sp, #0x18] ldr r0, [r5, #0x78] ldr r1, [sp, #0xc] ldr r2, [r2, #0x0] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [sp, #0x14] ldr r2, [sp, #0x18] ldr r0, [r0, #0x0] ldr r1, [r7, #0x0] ldr r2, [r2, #0x0] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r0, [r4, #0x60] - bl sub_021E8140 + bl FUN_021E8140 mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] str r3, [sp, #0x8] ldr r2, [r7, #0x0] mov r1, #0x1 - bl sub_0201BD84 + bl FUN_0201BD84 mov r0, #0x1 add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203A830 -sub_0203A830: ; 0x0203A830 + thumb_func_start FUN_0203A830 +FUN_0203A830: ; 0x0203A830 push {r3-r5, lr} add r1, r0, #0x0 add r1, #0x80 @@ -116459,20 +116459,20 @@ sub_0203A830: ; 0x0203A830 add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r5, [r2, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r2, r0, #0x0 ldr r0, [r4, #0x60] add r1, r5, #0x0 - bl sub_021E8128 + bl FUN_021E8128 ldr r0, [r4, #0x60] mov r1, #0x1 - bl sub_021E8130 + bl FUN_021E8130 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203A85C -sub_0203A85C: ; 0x0203A85C + thumb_func_start FUN_0203A85C +FUN_0203A85C: ; 0x0203A85C push {r3, lr} add r1, r0, #0x0 add r1, #0x80 @@ -116482,39 +116482,39 @@ sub_0203A85C: ; 0x0203A85C str r1, [r0, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r3, #0x60] - bl sub_021E8130 + bl FUN_021E8130 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203A878 -sub_0203A878: ; 0x0203A878 + thumb_func_start FUN_0203A878 +FUN_0203A878: ; 0x0203A878 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x60] - bl sub_021E8148 + bl FUN_021E8148 cmp r0, #0x1 bne _0203A88E mov r0, #0x0 pop {r4, pc} _0203A88E: - ldr r1, _0203A89C ; =sub_0203A8A0 + ldr r1, _0203A89C ; =FUN_0203A8A0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203A89C: .word sub_0203A8A0 + 1 +_0203A89C: .word FUN_0203A8A0 + 1 - thumb_func_start sub_0203A8A0 -sub_0203A8A0: ; 0x0203A8A0 + thumb_func_start FUN_0203A8A0 +FUN_0203A8A0: ; 0x0203A8A0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x60] - bl sub_021E8148 + bl FUN_021E8148 cmp r0, #0x1 bne _0203A8B4 mov r0, #0x1 @@ -116523,8 +116523,8 @@ _0203A8B4: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203A8B8 -sub_0203A8B8: ; 0x0203A8B8 + thumb_func_start FUN_0203A8B8 +FUN_0203A8B8: ; 0x0203A8B8 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -116532,19 +116532,19 @@ sub_0203A8B8: ; 0x0203A8B8 ldr r4, [r0, #0x0] mov r1, #0x3 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x11 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x10 - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] str r0, [sp, #0x8] add r0, r1, #0x1 @@ -116552,64 +116552,64 @@ sub_0203A8B8: ; 0x0203A8B8 ldrb r0, [r1, #0x0] str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0xc] ldr r0, [r5, #0x78] ldr r1, [sp, #0x0] ldr r2, [r6, #0x0] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [sp, #0x8] ldr r1, [r7, #0x0] ldr r0, [r0, #0x0] ldr r2, [r6, #0x0] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r0, [r4, #0x60] - bl sub_021E8140 + bl FUN_021E8140 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 add r2, r0, #0x0 ldr r1, [r7, #0x0] add r0, r4, #0x0 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 ldr r1, [sp, #0x4] strb r0, [r1, #0x0] ldr r0, [sp, #0xc] - ldr r1, _0203A948 ; =sub_0203A94C + ldr r1, _0203A948 ; =FUN_0203A94C str r0, [r5, #0x64] add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} .balign 4 -_0203A948: .word sub_0203A94C + 1 +_0203A948: .word FUN_0203A94C + 1 - thumb_func_start sub_0203A94C -sub_0203A94C: ; 0x0203A94C + thumb_func_start FUN_0203A94C +FUN_0203A94C: ; 0x0203A94C push {r3-r7, lr} add r7, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x3 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r7, #0x64] add r6, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0x60] - bl sub_021E8144 + bl FUN_021E8144 ldrb r0, [r6, #0x0] ldr r5, _0203A9E8 ; =0x0000FFFF - bl sub_020546C8 + bl FUN_020546C8 cmp r0, #0x1 bne _0203A986 mov r0, #0x2 @@ -116646,12 +116646,12 @@ _0203A9B0: cmp r5, r1 beq _0203A9D0 ldrb r0, [r6, #0x0] - bl sub_0201BD7C + bl FUN_0201BD7C add r7, #0x80 ldr r0, [r7, #0x0] add r1, r5, #0x0 ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 mov r0, #0x0 strh r0, [r4, #0x0] mov r0, #0x1 @@ -116662,7 +116662,7 @@ _0203A9D0: tst r0, r1 beq _0203A9E4 ldrb r0, [r6, #0x0] - bl sub_0201BD7C + bl FUN_0201BD7C mov r0, #0x1 strh r0, [r4, #0x0] pop {r3-r7, pc} @@ -116673,22 +116673,22 @@ _0203A9E4: _0203A9E8: .word 0x0000FFFF _0203A9EC: .word 0x021C48B8 - thumb_func_start sub_0203A9F0 -sub_0203A9F0: ; 0x0203A9F0 + thumb_func_start FUN_0203A9F0 +FUN_0203A9F0: ; 0x0203A9F0 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r4, #0x64] - ldr r1, _0203AA08 ; =sub_0203AA0C + ldr r1, _0203AA08 ; =FUN_0203AA0C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203AA08: .word sub_0203AA0C + 1 +_0203AA08: .word FUN_0203AA0C + 1 - thumb_func_start sub_0203AA0C -sub_0203AA0C: ; 0x0203AA0C + thumb_func_start FUN_0203AA0C +FUN_0203AA0C: ; 0x0203AA0C push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0x64] @@ -116696,7 +116696,7 @@ sub_0203AA0C: ; 0x0203AA0C lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, _0203AA88 ; =0x021C48B8 ldr r1, _0203AA8C ; =0x0000FFFF @@ -116739,7 +116739,7 @@ _0203AA5C: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] - bl sub_02055304 + bl FUN_02055304 mov r0, #0x0 strh r0, [r4, #0x0] mov r0, #0x1 @@ -116759,18 +116759,18 @@ _0203AA82: _0203AA88: .word 0x021C48B8 _0203AA8C: .word 0x0000FFFF - thumb_func_start sub_0203AA90 -sub_0203AA90: ; 0x0203AA90 + thumb_func_start FUN_0203AA90 +FUN_0203AA90: ; 0x0203AA90 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02039460 + bl FUN_02039460 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203AAA0 -sub_0203AAA0: ; 0x0203AAA0 + thumb_func_start FUN_0203AAA0 +FUN_0203AAA0: ; 0x0203AAA0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -116778,10 +116778,10 @@ sub_0203AAA0: ; 0x0203AAA0 ldr r4, [r0, #0x0] mov r1, #0x2 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -116791,46 +116791,46 @@ sub_0203AAA0: ; 0x0203AAA0 ldr r2, _0203AAF4 ; =0x000003D9 mov r1, #0x3 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x4 str r0, [sp, #0x0] ldr r0, [r4, #0x8] ldr r1, _0203AAF8 ; =0x020F34E0 ldr r2, _0203AAF4 ; =0x000003D9 mov r3, #0xb - bl sub_02002198 + bl FUN_02002198 str r0, [r6, #0x0] - ldr r1, _0203AAFC ; =sub_0203AB00 + ldr r1, _0203AAFC ; =FUN_0203AB00 add r0, r5, #0x0 str r7, [r5, #0x64] - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop _0203AAF4: .word 0x000003D9 _0203AAF8: .word 0x020F34E0 -_0203AAFC: .word sub_0203AB00 + 1 +_0203AAFC: .word FUN_0203AB00 + 1 - thumb_func_start sub_0203AB00 -sub_0203AB00: ; 0x0203AB00 + thumb_func_start FUN_0203AB00 +FUN_0203AB00: ; 0x0203AB00 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] mov r1, #0x2 add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x64] add r4, r0, #0x0 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 - bl sub_020021AC + bl FUN_020021AC mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -116849,44 +116849,44 @@ _0203AB3E: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0203AB44 -sub_0203AB44: ; 0x0203AB44 + thumb_func_start FUN_0203AB44 +FUN_0203AB44: ; 0x0203AB44 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x12 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 ldr r1, _0203AB70 ; =0x000003E2 add r0, r4, #0x0 - bl sub_0200D858 + bl FUN_0200D858 str r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} nop _0203AB70: .word 0x000003E2 - thumb_func_start sub_0203AB74 -sub_0203AB74: ; 0x0203AB74 + thumb_func_start FUN_0203AB74 +FUN_0203AB74: ; 0x0203AB74 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x12 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_0200DBFC + bl FUN_0200DBFC mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203AB8C -sub_0203AB8C: ; 0x0203AB8C + thumb_func_start FUN_0203AB8C +FUN_0203AB8C: ; 0x0203AB8C push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -116894,11 +116894,11 @@ sub_0203AB8C: ; 0x0203AB8C ldr r6, [r0, #0x0] mov r1, #0x0 add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x1c] add r0, r6, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x20] ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -116916,17 +116916,17 @@ sub_0203AB8C: ; 0x0203AB8C str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x28] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 ldr r1, [sp, #0x28] str r4, [sp, #0x0] str r1, [sp, #0x4] @@ -116940,7 +116940,7 @@ sub_0203AB8C: ; 0x0203AB8C ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r6, #0x0 - bl sub_021E1BF8 + bl FUN_021E1BF8 ldr r1, [sp, #0x1c] str r0, [r1, #0x0] ldr r0, [sp, #0x24] @@ -116950,8 +116950,8 @@ sub_0203AB8C: ; 0x0203AB8C pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203AC14 -sub_0203AC14: ; 0x0203AC14 + thumb_func_start FUN_0203AC14 +FUN_0203AC14: ; 0x0203AC14 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -116959,11 +116959,11 @@ sub_0203AC14: ; 0x0203AC14 ldr r6, [r0, #0x0] mov r1, #0x0 add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x1c] add r0, r6, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x20] ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -116981,17 +116981,17 @@ sub_0203AC14: ; 0x0203AC14 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x28] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 ldr r1, [sp, #0x28] str r4, [sp, #0x0] str r1, [sp, #0x4] @@ -117005,7 +117005,7 @@ sub_0203AC14: ; 0x0203AC14 ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r6, #0x0 - bl sub_021E1BF8 + bl FUN_021E1BF8 ldr r1, [sp, #0x1c] str r0, [r1, #0x0] ldr r0, [sp, #0x24] @@ -117015,14 +117015,14 @@ sub_0203AC14: ; 0x0203AC14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203AC9C -sub_0203AC9C: ; 0x0203AC9C + thumb_func_start FUN_0203AC9C +FUN_0203AC9C: ; 0x0203AC9C push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r3, r1, #0x1 str r3, [r4, #0x8] @@ -117031,62 +117031,62 @@ sub_0203AC9C: ; 0x0203AC9C str r2, [r4, #0x8] ldrb r2, [r3, #0x0] ldr r0, [r0, #0x0] - bl sub_021E1C4C + bl FUN_021E1C4C mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0203ACC4 -sub_0203ACC4: ; 0x0203ACC4 + thumb_func_start FUN_0203ACC4 +FUN_0203ACC4: ; 0x0203ACC4 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] add r1, r6, #0x0 - bl sub_021E1C4C + bl FUN_021E1C4C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203AD08 -sub_0203AD08: ; 0x0203AD08 + thumb_func_start FUN_0203AD08 +FUN_0203AD08: ; 0x0203AD08 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_021E1C54 - ldr r1, _0203AD28 ; =sub_0203AD2C + bl FUN_021E1C54 + ldr r1, _0203AD28 ; =FUN_0203AD2C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203AD28: .word sub_0203AD2C + 1 +_0203AD28: .word FUN_0203AD2C + 1 - thumb_func_start sub_0203AD2C -sub_0203AD2C: ; 0x0203AD2C + thumb_func_start FUN_0203AD2C +FUN_0203AD2C: ; 0x0203AD2C push {r3, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] @@ -117094,7 +117094,7 @@ sub_0203AD2C: ; 0x0203AD2C lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 ldrh r1, [r0, #0x0] ldr r0, _0203AD50 ; =0x0000EEEE cmp r1, r0 @@ -117107,26 +117107,26 @@ _0203AD4A: nop _0203AD50: .word 0x0000EEEE - thumb_func_start sub_0203AD54 -sub_0203AD54: ; 0x0203AD54 + thumb_func_start FUN_0203AD54 +FUN_0203AD54: ; 0x0203AD54 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_021E1C54 - ldr r1, _0203AD74 ; =sub_0203AD78 + bl FUN_021E1C54 + ldr r1, _0203AD74 ; =FUN_0203AD78 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203AD74: .word sub_0203AD78 + 1 +_0203AD74: .word FUN_0203AD78 + 1 - thumb_func_start sub_0203AD78 -sub_0203AD78: ; 0x0203AD78 + thumb_func_start FUN_0203AD78 +FUN_0203AD78: ; 0x0203AD78 push {r4-r6, lr} add r1, r0, #0x0 add r0, #0x80 @@ -117135,24 +117135,24 @@ sub_0203AD78: ; 0x0203AD78 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 ldrh r1, [r4, #0x0] ldr r0, _0203ADC0 ; =0x0000EEEE cmp r1, r0 bne _0203ADBC ldr r0, [r5, #0x78] - bl sub_02052714 + bl FUN_02052714 cmp r0, #0x0 beq _0203ADB8 mov r0, #0x8 strh r0, [r4, #0x0] ldr r0, [r6, #0x0] - bl sub_021E1ECC + bl FUN_021E1ECC mov r0, #0x1 pop {r4-r6, pc} _0203ADB8: @@ -117164,8 +117164,8 @@ _0203ADBC: .balign 4 _0203ADC0: .word 0x0000EEEE - thumb_func_start sub_0203ADC4 -sub_0203ADC4: ; 0x0203ADC4 + thumb_func_start FUN_0203ADC4 +FUN_0203ADC4: ; 0x0203ADC4 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -117173,11 +117173,11 @@ sub_0203ADC4: ; 0x0203ADC4 ldr r6, [r0, #0x0] mov r1, #0x0 add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x1c] add r0, r6, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x20] ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -117195,17 +117195,17 @@ sub_0203ADC4: ; 0x0203ADC4 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x28] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 ldr r1, [sp, #0x28] str r4, [sp, #0x0] str r1, [sp, #0x4] @@ -117219,7 +117219,7 @@ sub_0203ADC4: ; 0x0203ADC4 ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r6, #0x0 - bl sub_021E1F34 + bl FUN_021E1F34 ldr r1, [sp, #0x1c] str r0, [r1, #0x0] ldr r0, [sp, #0x24] @@ -117229,8 +117229,8 @@ sub_0203ADC4: ; 0x0203ADC4 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203AE4C -sub_0203AE4C: ; 0x0203AE4C + thumb_func_start FUN_0203AE4C +FUN_0203AE4C: ; 0x0203AE4C push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -117238,11 +117238,11 @@ sub_0203AE4C: ; 0x0203AE4C ldr r6, [r0, #0x0] mov r1, #0x0 add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x1c] add r0, r6, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x20] ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -117260,17 +117260,17 @@ sub_0203AE4C: ; 0x0203AE4C str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x28] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 ldr r1, [sp, #0x28] str r4, [sp, #0x0] str r1, [sp, #0x4] @@ -117284,7 +117284,7 @@ sub_0203AE4C: ; 0x0203AE4C ldr r1, [sp, #0x18] ldr r2, [sp, #0x14] add r0, r6, #0x0 - bl sub_021E1F34 + bl FUN_021E1F34 ldr r1, [sp, #0x1c] str r0, [r1, #0x0] ldr r0, [sp, #0x24] @@ -117294,37 +117294,37 @@ sub_0203AE4C: ; 0x0203AE4C pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203AED4 -sub_0203AED4: ; 0x0203AED4 + thumb_func_start FUN_0203AED4 +FUN_0203AED4: ; 0x0203AED4 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r3, r0, #0x0 lsl r1, r6, #0x18 lsl r2, r7, #0x18 @@ -117333,117 +117333,117 @@ sub_0203AED4: ; 0x0203AED4 lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_021E1F58 + bl FUN_021E1F58 mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0203AF34 -sub_0203AF34: ; 0x0203AF34 + thumb_func_start FUN_0203AF34 +FUN_0203AF34: ; 0x0203AF34 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_021E1F60 - ldr r1, _0203AF54 ; =sub_0203AD2C + bl FUN_021E1F60 + ldr r1, _0203AF54 ; =FUN_0203AD2C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203AF54: .word sub_0203AD2C + 1 +_0203AF54: .word FUN_0203AD2C + 1 - thumb_func_start sub_0203AF58 -sub_0203AF58: ; 0x0203AF58 + thumb_func_start FUN_0203AF58 +FUN_0203AF58: ; 0x0203AF58 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021E26CC - ldr r1, _0203AF80 ; =sub_0203AD2C + bl FUN_021E26CC + ldr r1, _0203AF80 ; =FUN_0203AD2C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203AF80: .word sub_0203AD2C + 1 +_0203AF80: .word FUN_0203AD2C + 1 - thumb_func_start sub_0203AF84 -sub_0203AF84: ; 0x0203AF84 + thumb_func_start FUN_0203AF84 +FUN_0203AF84: ; 0x0203AF84 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021E2B80 + bl FUN_021E2B80 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0203AFA4 -sub_0203AFA4: ; 0x0203AFA4 + thumb_func_start FUN_0203AFA4 +FUN_0203AFA4: ; 0x0203AFA4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021E2B9C + bl FUN_021E2B9C mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0203AFC4 -sub_0203AFC4: ; 0x0203AFC4 + thumb_func_start FUN_0203AFC4 +FUN_0203AFC4: ; 0x0203AFC4 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 - bl sub_0203B120 + bl FUN_0203B120 add r6, r0, #0x0 bne _0203AFF6 - bl sub_02020C2C + bl FUN_02020C2C _0203AFF6: ldr r1, [r5, #0x8] add r0, r6, #0x0 add r1, r1, r4 - bl sub_0205AEA4 + bl FUN_0205AEA4 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x4 - bl sub_02039438 + bl FUN_02039438 ldrb r1, [r0, #0x0] add r5, #0x80 mov r2, #0x0 @@ -117451,59 +117451,59 @@ _0203AFF6: strb r1, [r0, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_0203B174 + bl FUN_0203B174 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203B024 -sub_0203B024: ; 0x0203B024 + thumb_func_start FUN_0203B024 +FUN_0203B024: ; 0x0203B024 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 - bl sub_0203B120 + bl FUN_0203B120 str r0, [sp, #0x4] cmp r0, #0x0 bne _0203B07A - bl sub_02020C2C + bl FUN_02020C2C _0203B07A: mov r0, #0x4 add r1, r0, #0x0 add r1, #0xfc - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_02058B2C + bl FUN_02058B2C lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, [sp, #0x4] - bl sub_02058B4C + bl FUN_02058B4C lsl r0, r0, #0x10 ldr r2, [sp, #0x0] lsr r0, r0, #0x10 @@ -117556,13 +117556,13 @@ _0203B0E6: strh r1, [r0, #0x2] ldr r0, [sp, #0x4] add r1, r4, #0x0 - bl sub_0205AEA4 + bl FUN_0205AEA4 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x4 - bl sub_02039438 + bl FUN_02039438 ldrb r1, [r0, #0x0] add r5, #0x80 add r2, r4, #0x0 @@ -117570,50 +117570,50 @@ _0203B0E6: strb r1, [r0, #0x0] ldr r0, [r5, #0x0] add r1, r6, #0x0 - bl sub_0203B174 + bl FUN_0203B174 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0203B120 -sub_0203B120: ; 0x0203B120 + thumb_func_start FUN_0203B120 +FUN_0203B120: ; 0x0203B120 push {r3, lr} cmp r1, #0xf2 bne _0203B130 ldr r0, [r0, #0x34] mov r1, #0x30 - bl sub_020580B4 + bl FUN_020580B4 pop {r3, pc} _0203B130: cmp r1, #0xf1 bne _0203B13E mov r1, #0xb - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] pop {r3, pc} _0203B13E: ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 pop {r3, pc} .balign 4 - thumb_func_start sub_0203B148 -sub_0203B148: ; 0x0203B148 + thumb_func_start FUN_0203B148 +FUN_0203B148: ; 0x0203B148 push {r3, lr} - ldr r1, _0203B154 ; =sub_0203B158 - bl sub_02038B5C + ldr r1, _0203B154 ; =FUN_0203B158 + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_0203B154: .word sub_0203B158 + 1 +_0203B154: .word FUN_0203B158 + 1 - thumb_func_start sub_0203B158 -sub_0203B158: ; 0x0203B158 + thumb_func_start FUN_0203B158 +FUN_0203B158: ; 0x0203B158 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x4 - bl sub_02039438 + bl FUN_02039438 ldrb r0, [r0, #0x0] cmp r0, #0x0 bne _0203B16E @@ -117624,59 +117624,59 @@ _0203B16E: pop {r3, pc} .balign 4 - thumb_func_start sub_0203B174 -sub_0203B174: ; 0x0203B174 + thumb_func_start FUN_0203B174 +FUN_0203B174: ; 0x0203B174 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x4 mov r1, #0x10 add r7, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0203B18E - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} _0203B18E: str r5, [r4, #0xc] str r6, [r4, #0x4] - ldr r0, _0203B1A4 ; =sub_0203B1A8 + ldr r0, _0203B1A4 ; =FUN_0203B1A8 add r1, r4, #0x0 mov r2, #0x0 str r7, [r4, #0x8] - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0x0] pop {r3-r7, pc} nop -_0203B1A4: .word sub_0203B1A8 + 1 +_0203B1A4: .word FUN_0203B1A8 + 1 - thumb_func_start sub_0203B1A8 -sub_0203B1A8: ; 0x0203B1A8 + thumb_func_start FUN_0203B1A8 +FUN_0203B1A8: ; 0x0203B1A8 push {r3-r5, lr} add r5, r1, #0x0 ldr r0, [r5, #0xc] mov r1, #0x4 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0x4] - bl sub_0205AEF0 + bl FUN_0205AEF0 cmp r0, #0x1 bne _0203B1EC ldr r0, [r5, #0x4] - bl sub_0205AEFC + bl FUN_0205AEFC ldr r0, [r5, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, [r5, #0x8] cmp r0, #0x0 beq _0203B1D6 - bl sub_02016A18 + bl FUN_02016A18 _0203B1D6: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _0203B1E8 - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} _0203B1E8: sub r0, r0, #0x1 @@ -117685,50 +117685,50 @@ _0203B1EC: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B1F0 -sub_0203B1F0: ; 0x0203B1F0 + thumb_func_start FUN_0203B1F0 +FUN_0203B1F0: ; 0x0203B1F0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0203B20E ldr r0, [r4, #0x34] - bl sub_02058780 + bl FUN_02058780 b _0203B214 _0203B20E: add r0, r5, #0x0 - bl sub_0203B2E0 + bl FUN_0203B2E0 _0203B214: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203B218 -sub_0203B218: ; 0x0203B218 + thumb_func_start FUN_0203B218 +FUN_0203B218: ; 0x0203B218 push {r4-r6, lr} add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_020553A0 + bl FUN_020553A0 ldr r1, _0203B2DC ; =0x021C5A0C add r6, r0, #0x0 ldrb r2, [r1, #0x0] mov r1, #0x1 tst r1, r2 beq _0203B252 - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x1 bne _0203B252 add r0, r6, #0x0 - bl sub_02058908 + bl FUN_02058908 ldr r1, _0203B2DC ; =0x021C5A0C mov r0, #0xfe ldrb r2, [r1, #0x0] @@ -117741,11 +117741,11 @@ _0203B252: tst r0, r1 beq _0203B276 ldr r0, [r5, #0x0] - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 bne _0203B276 ldr r0, [r5, #0x0] - bl sub_02058908 + bl FUN_02058908 ldr r1, _0203B2DC ; =0x021C5A0C mov r0, #0xfb ldrb r2, [r1, #0x0] @@ -117759,13 +117759,13 @@ _0203B276: beq _0203B2A2 ldr r0, [r4, #0x34] mov r1, #0x30 - bl sub_020580B4 + bl FUN_020580B4 add r4, r0, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 bne _0203B2A2 add r0, r4, #0x0 - bl sub_02058908 + bl FUN_02058908 ldr r1, _0203B2DC ; =0x021C5A0C mov r0, #0xfd ldrb r2, [r1, #0x0] @@ -117778,13 +117778,13 @@ _0203B2A2: tst r0, r1 beq _0203B2CC ldr r0, [r5, #0x0] - bl sub_0205E7C4 + bl FUN_0205E7C4 add r4, r0, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 bne _0203B2CC add r0, r4, #0x0 - bl sub_02058908 + bl FUN_02058908 ldr r1, _0203B2DC ; =0x021C5A0C mov r0, #0xf7 ldrb r2, [r1, #0x0] @@ -117803,8 +117803,8 @@ _0203B2D8: .balign 4 _0203B2DC: .word 0x021C5A0C - thumb_func_start sub_0203B2E0 -sub_0203B2E0: ; 0x0203B2E0 + thumb_func_start FUN_0203B2E0 +FUN_0203B2E0: ; 0x0203B2E0 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -117812,25 +117812,25 @@ sub_0203B2E0: ; 0x0203B2E0 ldr r4, [r0, #0x0] mov r1, #0xa add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_020553A0 + bl FUN_020553A0 str r0, [sp, #0x4] ldr r0, [r4, #0x34] mov r1, #0x30 - bl sub_020580B4 + bl FUN_020580B4 add r7, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0205E7C4 + bl FUN_0205E7C4 add r6, r0, #0x0 ldr r0, [r4, #0x34] ldr r1, _0203B3A8 ; =0x021C5A0C mov r2, #0x0 strb r2, [r1, #0x0] - bl sub_02058780 + bl FUN_02058780 ldr r0, [sp, #0x4] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x0 bne _0203B334 ldr r1, _0203B3A8 ; =0x021C5A0C @@ -117839,10 +117839,10 @@ sub_0203B2E0: ; 0x0203B2E0 orr r0, r2 strb r0, [r1, #0x0] ldr r0, [sp, #0x4] - bl sub_02058914 + bl FUN_02058914 _0203B334: ldr r0, [r5, #0x0] - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 beq _0203B34E ldr r1, _0203B3A8 ; =0x021C5A0C @@ -117851,17 +117851,17 @@ _0203B334: orr r0, r2 strb r0, [r1, #0x0] ldr r0, [r5, #0x0] - bl sub_02058914 + bl FUN_02058914 _0203B34E: cmp r7, #0x0 beq _0203B37A ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _0203B37A add r0, r7, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 beq _0203B37A ldr r1, _0203B3A8 ; =0x021C5A0C @@ -117870,12 +117870,12 @@ _0203B34E: orr r0, r2 strb r0, [r1, #0x0] add r0, r7, #0x0 - bl sub_02058914 + bl FUN_02058914 _0203B37A: cmp r6, #0x0 beq _0203B398 add r0, r6, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x0 beq _0203B398 ldr r1, _0203B3A8 ; =0x021C5A0C @@ -117884,134 +117884,134 @@ _0203B37A: orr r0, r2 strb r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_02058914 + bl FUN_02058914 _0203B398: ldr r0, [sp, #0x0] - ldr r1, _0203B3AC ; =sub_0203B218 - bl sub_02038B5C + ldr r1, _0203B3AC ; =FUN_0203B218 + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop _0203B3A8: .word 0x021C5A0C -_0203B3AC: .word sub_0203B218 + 1 +_0203B3AC: .word FUN_0203B218 + 1 - thumb_func_start sub_0203B3B0 -sub_0203B3B0: ; 0x0203B3B0 + thumb_func_start FUN_0203B3B0 +FUN_0203B3B0: ; 0x0203B3B0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] - bl sub_020587B0 + bl FUN_020587B0 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203B3C0 -sub_0203B3C0: ; 0x0203B3C0 + thumb_func_start FUN_0203B3C0 +FUN_0203B3C0: ; 0x0203B3C0 push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 ldr r0, [r4, #0x34] - bl sub_02058060 - bl sub_02058908 + bl FUN_02058060 + bl FUN_02058908 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203B3DC -sub_0203B3DC: ; 0x0203B3DC + thumb_func_start FUN_0203B3DC +FUN_0203B3DC: ; 0x0203B3DC push {r4, lr} add r1, r0, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 ldr r0, [r4, #0x34] - bl sub_02058060 - bl sub_02058914 + bl FUN_02058060 + bl FUN_02058914 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203B3F8 -sub_0203B3F8: ; 0x0203B3F8 + thumb_func_start FUN_0203B3F8 +FUN_0203B3F8: ; 0x0203B3F8 push {r3-r6, lr} sub sp, #0x4 add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02034B64 + bl FUN_02034B64 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02034B6C + bl FUN_02034B6C str r0, [sp, #0x0] ldr r3, [r5, #0x1c] ldr r0, [r5, #0x34] ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020575D4 + bl FUN_020575D4 cmp r0, #0x0 bne _0203B43A - bl sub_02020C2C + bl FUN_02020C2C _0203B43A: mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_0203B440 -sub_0203B440: ; 0x0203B440 + thumb_func_start FUN_0203B440 +FUN_0203B440: ; 0x0203B440 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 ldr r0, [r5, #0x34] - bl sub_02058060 - bl sub_02057688 + bl FUN_02058060 + bl FUN_02057688 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203B468 -sub_0203B468: ; 0x0203B468 + thumb_func_start FUN_0203B468 +FUN_0203B468: ; 0x0203B468 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xb - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 @@ -118027,76 +118027,76 @@ sub_0203B468: ; 0x0203B468 str r1, [sp, #0x8] ldr r0, [r0, #0x34] add r1, r6, #0x0 - bl sub_0205753C + bl FUN_0205753C str r0, [r4, #0x0] - bl sub_02059D1C + bl FUN_02059D1C ldr r0, [r4, #0x0] mov r1, #0x1 - bl sub_0205889C + bl FUN_0205889C ldr r0, [r4, #0x0] mov r1, #0x0 - bl sub_020588B8 + bl FUN_020588B8 ldr r0, [r4, #0x0] - bl sub_02058B7C + bl FUN_02058B7C add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] add r4, r0, #0x0 ldr r1, [r1, #0x24] - bl sub_021EF5E0 + bl FUN_021EF5E0 add r5, #0x80 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] - bl sub_0201EC68 + bl FUN_0201EC68 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203B500 -sub_0203B500: ; 0x0203B500 + thumb_func_start FUN_0203B500 +FUN_0203B500: ; 0x0203B500 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xb - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02057654 + bl FUN_02057654 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xff ldr r0, [r0, #0x34] - bl sub_02058060 - bl sub_02058B7C + bl FUN_02058060 + bl FUN_02058B7C add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] add r4, r0, #0x0 ldr r1, [r1, #0x24] - bl sub_021EF5E0 + bl FUN_021EF5E0 add r5, #0x80 ldr r1, [r5, #0x0] add r0, r4, #0x0 ldr r1, [r1, #0x20] - bl sub_0201EC68 + bl FUN_0201EC68 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203B544 -sub_0203B544: ; 0x0203B544 + thumb_func_start FUN_0203B544 +FUN_0203B544: ; 0x0203B544 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] ldr r0, [r5, #0x38] - bl sub_020552F8 - bl sub_02059E74 + bl FUN_020552F8 + bl FUN_02059E74 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] cmp r0, #0x0 bne _0203B568 @@ -118104,500 +118104,500 @@ sub_0203B544: ; 0x0203B544 pop {r3-r5, pc} _0203B568: add r1, r4, #0x0 - bl sub_021F1EC0 + bl FUN_021F1EC0 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B574 -sub_0203B574: ; 0x0203B574 + thumb_func_start FUN_0203B574 +FUN_0203B574: ; 0x0203B574 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 strh r0, [r6, #0x0] ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203B5B8 -sub_0203B5B8: ; 0x0203B5B8 + thumb_func_start FUN_0203B5B8 +FUN_0203B5B8: ; 0x0203B5B8 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 ldr r0, [r5, #0x34] - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C strh r0, [r6, #0x0] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203B618 -sub_0203B618: ; 0x0203B618 + thumb_func_start FUN_0203B618 +FUN_0203B618: ; 0x0203B618 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B640 -sub_0203B640: ; 0x0203B640 + thumb_func_start FUN_0203B640 +FUN_0203B640: ; 0x0203B640 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 cmp r7, #0x0 beq _0203B696 lsl r0, r7, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0203B6A4 _0203B696: lsl r0, r7, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0203B6A4: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x0] cmp r6, #0x0 beq _0203B6C0 lsl r0, r6, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0203B6CE _0203B6C0: lsl r0, r6, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0203B6CE: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x4] cmp r4, #0x0 beq _0203B6EA lsl r0, r4, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _0203B6F8 _0203B6EA: lsl r0, r4, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _0203B6F8: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x8] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_020553A0 + bl FUN_020553A0 add r1, sp, #0x0 - bl sub_02058BB4 + bl FUN_02058BB4 add r5, #0x80 ldr r1, [r5, #0x0] add r0, sp, #0x0 ldr r1, [r1, #0x20] - bl sub_0201EF70 + bl FUN_0201EF70 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203B724 -sub_0203B724: ; 0x0203B724 + thumb_func_start FUN_0203B724 +FUN_0203B724: ; 0x0203B724 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] - bl sub_02058994 + bl FUN_02058994 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0203B758 -sub_0203B758: ; 0x0203B758 + thumb_func_start FUN_0203B758 +FUN_0203B758: ; 0x0203B758 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058E90 + bl FUN_02058E90 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B790 -sub_0203B790: ; 0x0203B790 + thumb_func_start FUN_0203B790 +FUN_0203B790: ; 0x0203B790 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 cmp r0, #0x0 beq _0203B7D2 - bl sub_02058480 + bl FUN_02058480 strh r0, [r4, #0x0] _0203B7D2: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B7D8 -sub_0203B7D8: ; 0x0203B7D8 + thumb_func_start FUN_0203B7D8 +FUN_0203B7D8: ; 0x0203B7D8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x30 ldr r0, [r0, #0x34] - bl sub_020580B4 + bl FUN_020580B4 mov r1, #0xfe - bl sub_02058EB0 + bl FUN_02058EB0 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203B7F0 -sub_0203B7F0: ; 0x0203B7F0 + thumb_func_start FUN_0203B7F0 +FUN_0203B7F0: ; 0x0203B7F0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029C80 - bl sub_02029E0C + bl FUN_02029C80 + bl FUN_02029E0C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B81C -sub_0203B81C: ; 0x0203B81C + thumb_func_start FUN_0203B81C +FUN_0203B81C: ; 0x0203B81C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029C80 + bl FUN_02029C80 add r1, r6, #0x0 - bl sub_02029E2C + bl FUN_02029E2C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203B85C -sub_0203B85C: ; 0x0203B85C + thumb_func_start FUN_0203B85C +FUN_0203B85C: ; 0x0203B85C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029C80 + bl FUN_02029C80 lsl r2, r4, #0x10 add r1, r6, #0x0 asr r2, r2, #0x10 - bl sub_02029D44 + bl FUN_02029D44 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203B8A0 -sub_0203B8A0: ; 0x0203B8A0 + thumb_func_start FUN_0203B8A0 +FUN_0203B8A0: ; 0x0203B8A0 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 - bl sub_020690CC + bl FUN_0206B9B0 + bl FUN_020690CC strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203B8E4 -sub_0203B8E4: ; 0x0203B8E4 + thumb_func_start FUN_0203B8E4 +FUN_0203B8E4: ; 0x0203B8E4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 - bl sub_020379F8 + bl FUN_020379F8 str r0, [r4, #0x0] - ldr r1, _0203B910 ; =sub_0203BC04 + ldr r1, _0203B910 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} nop -_0203B910: .word sub_0203BC04 + 1 +_0203B910: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203B914 -sub_0203B914: ; 0x0203B914 + thumb_func_start FUN_0203B914 +FUN_0203B914: ; 0x0203B914 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 - bl sub_02037A1C + bl FUN_02037A1C str r0, [r4, #0x0] - ldr r1, _0203B940 ; =sub_0203BC04 + ldr r1, _0203B940 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} nop -_0203B940: .word sub_0203BC04 + 1 +_0203B940: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203B944 -sub_0203B944: ; 0x0203B944 + thumb_func_start FUN_0203B944 +FUN_0203B944: ; 0x0203B944 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x20 ldr r0, [r0, #0x10] - bl sub_02037B44 + bl FUN_02037B44 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B968 -sub_0203B968: ; 0x0203B968 + thumb_func_start FUN_0203B968 +FUN_0203B968: ; 0x0203B968 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203B994 - bl sub_02020C2C + bl FUN_02020C2C _0203B994: ldr r0, [r4, #0x0] - bl sub_02037A40 + bl FUN_02037A40 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x7 @@ -118606,53 +118606,53 @@ _0203B994: strh r0, [r5, #0x0] _0203B9A6: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203B9B4 -sub_0203B9B4: ; 0x0203B9B4 + thumb_func_start FUN_0203B9B4 +FUN_0203B9B4: ; 0x0203B9B4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r1, r5, #0x0 str r6, [sp, #0x4] @@ -118661,48 +118661,48 @@ sub_0203B9B4: ; 0x0203B9B4 ldr r2, [sp, #0x8] mov r0, #0x20 add r3, r7, #0x0 - bl sub_02037BB0 + bl FUN_02037BB0 str r0, [r4, #0x0] - ldr r1, _0203BA38 ; =sub_0203BC04 + ldr r1, _0203BA38 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 -_0203BA38: .word sub_0203BC04 + 1 +_0203BA38: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203BA3C -sub_0203BA3C: ; 0x0203BA3C + thumb_func_start FUN_0203BA3C +FUN_0203BA3C: ; 0x0203BA3C push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203BA7C - bl sub_02020C2C + bl FUN_02020C2C _0203BA7C: ldr r0, [r4, #0x0] - bl sub_02037A40 + bl FUN_02037A40 strh r0, [r6, #0x0] ldrh r0, [r6, #0x0] cmp r0, #0x7 @@ -118711,7 +118711,7 @@ _0203BA7C: strh r0, [r6, #0x0] _0203BA8E: ldr r0, [r4, #0x0] - bl sub_02037A70 + bl FUN_02037A70 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x1 @@ -118723,162 +118723,162 @@ _0203BAA0: _0203BAA2: strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r4-r6, pc} - thumb_func_start sub_0203BAB0 -sub_0203BAB0: ; 0x0203BAB0 + thumb_func_start FUN_0203BAB0 +FUN_0203BAB0: ; 0x0203BAB0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r5, #0x0 add r1, #0x80 add r2, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 - bl sub_02037C00 + bl FUN_02037C00 str r0, [r4, #0x0] - ldr r1, _0203BAF0 ; =sub_0203BC04 + ldr r1, _0203BAF0 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} nop -_0203BAF0: .word sub_0203BC04 + 1 +_0203BAF0: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203BAF4 -sub_0203BAF4: ; 0x0203BAF4 + thumb_func_start FUN_0203BAF4 +FUN_0203BAF4: ; 0x0203BAF4 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203BB20 - bl sub_02020C2C + bl FUN_02020C2C _0203BB20: ldr r0, [r4, #0x0] - bl sub_02037A78 + bl FUN_02037A78 strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0203BB34 -sub_0203BB34: ; 0x0203BB34 + thumb_func_start FUN_0203BB34 +FUN_0203BB34: ; 0x0203BB34 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r1, [r4, #0x0] add r2, r7, #0x0 - bl sub_021E1858 + bl FUN_021E1858 strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203BB80 -sub_0203BB80: ; 0x0203BB80 + thumb_func_start FUN_0203BB80 +FUN_0203BB80: ; 0x0203BB80 mov r0, #0x0 bx lr - thumb_func_start sub_0203BB84 -sub_0203BB84: ; 0x0203BB84 + thumb_func_start FUN_0203BB84 +FUN_0203BB84: ; 0x0203BB84 mov r0, #0x0 bx lr - thumb_func_start sub_0203BB88 -sub_0203BB88: ; 0x0203BB88 + thumb_func_start FUN_0203BB88 +FUN_0203BB88: ; 0x0203BB88 mov r0, #0x1 bx lr - thumb_func_start sub_0203BB8C -sub_0203BB8C: ; 0x0203BB8C + thumb_func_start FUN_0203BB8C +FUN_0203BB8C: ; 0x0203BB8C mov r0, #0x0 bx lr - thumb_func_start sub_0203BB90 -sub_0203BB90: ; 0x0203BB90 + thumb_func_start FUN_0203BB90 +FUN_0203BB90: ; 0x0203BB90 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x13 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0203BBAE mov r0, #0x0 pop {r3-r5, pc} _0203BBAE: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203BBBC -sub_0203BBBC: ; 0x0203BBBC + thumb_func_start FUN_0203BBBC +FUN_0203BBBC: ; 0x0203BBBC push {r4-r6, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x13 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r6, [r4, #0x0] - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0203BBDC mov r0, #0x0 @@ -118888,27 +118888,27 @@ _0203BBDC: cmp r0, #0x1 bne _0203BBF4 mov r0, #0xb - bl sub_02029048 + bl FUN_02029048 add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 _0203BBF4: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203BC04 -sub_0203BC04: ; 0x0203BC04 + thumb_func_start FUN_0203BC04 +FUN_0203BC04: ; 0x0203BC04 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _0203BC16 mov r0, #0x1 @@ -118918,44 +118918,44 @@ _0203BC16: pop {r3, pc} .balign 4 - thumb_func_start sub_0203BC1C -sub_0203BC1C: ; 0x0203BC1C + thumb_func_start FUN_0203BC1C +FUN_0203BC1C: ; 0x0203BC1C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_0204AF84 + bl FUN_0204AF84 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203BC2C -sub_0203BC2C: ; 0x0203BC2C + thumb_func_start FUN_0203BC2C +FUN_0203BC2C: ; 0x0203BC2C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_0204AF3C + bl FUN_0204AF3C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203BC3C -sub_0203BC3C: ; 0x0203BC3C + thumb_func_start FUN_0203BC3C +FUN_0203BC3C: ; 0x0203BC3C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02027E24 + bl FUN_02027E24 cmp r5, #0x0 bne _0203BC5A add r1, r4, #0x0 - bl sub_02027098 + bl FUN_02027098 cmp r0, #0x0 bne _0203BC68 mov r0, #0x0 pop {r3-r5, pc} _0203BC5A: add r1, r4, #0x0 - bl sub_020270B4 + bl FUN_020270B4 cmp r0, #0x0 bne _0203BC68 mov r0, #0x0 @@ -118964,20 +118964,20 @@ _0203BC68: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203BC6C -sub_0203BC6C: ; 0x0203BC6C + thumb_func_start FUN_0203BC6C +FUN_0203BC6C: ; 0x0203BC6C push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0xc] add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02027E24 + bl FUN_02027E24 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0203BC3C + bl FUN_0203BC3C cmp r0, #0x0 bne _0203BC90 mov r0, #0x0 @@ -118985,7 +118985,7 @@ sub_0203BC6C: ; 0x0203BC6C _0203BC90: ldr r0, [sp, #0x0] mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -119005,88 +119005,88 @@ _0203BC90: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203BCBC -sub_0203BCBC: ; 0x0203BCBC + thumb_func_start FUN_0203BCBC +FUN_0203BCBC: ; 0x0203BCBC push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_021F02C4 + bl FUN_021F02C4 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203BCCC -sub_0203BCCC: ; 0x0203BCCC + thumb_func_start FUN_0203BCCC +FUN_0203BCCC: ; 0x0203BCCC push {r3, lr} ldr r0, [r0, #0x74] - bl sub_0206F3B8 + bl FUN_0206F3B8 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203BCD8 -sub_0203BCD8: ; 0x0203BCD8 + thumb_func_start FUN_0203BCD8 +FUN_0203BCD8: ; 0x0203BCD8 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldr r1, [r4, #0x0] ldr r1, [r1, #0x4] strh r1, [r0, #0x0] ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203BD08 -sub_0203BD08: ; 0x0203BD08 + thumb_func_start FUN_0203BD08 +FUN_0203BD08: ; 0x0203BD08 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 strh r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0203BD28 -sub_0203BD28: ; 0x0203BD28 + thumb_func_start FUN_0203BD28 +FUN_0203BD28: ; 0x0203BD28 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -119099,7 +119099,7 @@ sub_0203BD28: ; 0x0203BD28 ldr r0, [r0, #0x8] mov r1, #0x3 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0xb str r0, [sp, #0x0] ldr r0, _0203BDB4 ; =0x000003D9 @@ -119117,43 +119117,43 @@ sub_0203BD28: ; 0x0203BD28 mov r2, #0xa ldr r0, [r0, #0x8] mov r3, #0x5 - bl sub_0200DC4C + bl FUN_0200DC4C add r5, #0x80 str r0, [r6, #0x0] ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_0203ED2C + bl FUN_0203ED2C mov r0, #0x0 add sp, #0x14 pop {r4-r7, pc} .balign 4 _0203BDB4: .word 0x000003D9 - thumb_func_start sub_0203BDB8 -sub_0203BDB8: ; 0x0203BDB8 + thumb_func_start FUN_0203BDB8 +FUN_0203BDB8: ; 0x0203BDB8 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -119166,7 +119166,7 @@ sub_0203BDB8: ; 0x0203BDB8 ldr r0, [r0, #0x8] mov r1, #0x3 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0xb str r0, [sp, #0x0] ldr r0, _0203BE4C ; =0x000003D9 @@ -119181,31 +119181,31 @@ sub_0203BDB8: ; 0x0203BDB8 mov r2, #0xa ldr r0, [r0, #0x8] mov r3, #0x5 - bl sub_0200DCA4 + bl FUN_0200DCA4 str r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x0 add r5, #0x80 lsl r1, r1, #0x10 ldr r0, [r5, #0x0] lsr r1, r1, #0x10 - bl sub_0203ED2C + bl FUN_0203ED2C mov r0, #0x0 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0203BE4C: .word 0x000003D9 - thumb_func_start sub_0203BE50 -sub_0203BE50: ; 0x0203BE50 + thumb_func_start FUN_0203BE50 +FUN_0203BE50: ; 0x0203BE50 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] mov r1, #0x1 strb r1, [r0, #0x0] @@ -119213,13 +119213,13 @@ sub_0203BE50: ; 0x0203BE50 pop {r3, pc} .balign 4 - thumb_func_start sub_0203BE68 -sub_0203BE68: ; 0x0203BE68 + thumb_func_start FUN_0203BE68 +FUN_0203BE68: ; 0x0203BE68 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] mov r1, #0x2 strb r1, [r0, #0x0] @@ -119227,28 +119227,28 @@ sub_0203BE68: ; 0x0203BE68 pop {r3, pc} .balign 4 - thumb_func_start sub_0203BE80 -sub_0203BE80: ; 0x0203BE80 + thumb_func_start FUN_0203BE80 +FUN_0203BE80: ; 0x0203BE80 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r4, #0x64] - ldr r1, _0203BE98 ; =sub_0203BE9C + ldr r1, _0203BE98 ; =FUN_0203BE9C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203BE98: .word sub_0203BE9C + 1 +_0203BE98: .word FUN_0203BE9C + 1 - thumb_func_start sub_0203BE9C -sub_0203BE9C: ; 0x0203BE9C + thumb_func_start FUN_0203BE9C +FUN_0203BE9C: ; 0x0203BE9C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r1, [r5, #0x64] @@ -119256,7 +119256,7 @@ sub_0203BE9C: ; 0x0203BE9C lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 ldr r0, [r4, #0x0] ldrb r0, [r0, #0x0] cmp r0, #0x3 @@ -119267,84 +119267,84 @@ _0203BEC8: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203BECC -sub_0203BECC: ; 0x0203BECC + thumb_func_start FUN_0203BECC +FUN_0203BECC: ; 0x0203BECC push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 add r2, r0, #0x0 ldr r0, [r5, #0x74] ldr r1, [r4, #0x0] - bl sub_021E1374 + bl FUN_021E1374 mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203BF00 -sub_0203BF00: ; 0x0203BF00 + thumb_func_start FUN_0203BF00 +FUN_0203BF00: ; 0x0203BF00 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0203BF1C add r4, #0x80 ldr r0, [r4, #0x0] - bl sub_021E1994 + bl FUN_021E1994 _0203BF1C: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203BF20 -sub_0203BF20: ; 0x0203BF20 + thumb_func_start FUN_0203BF20 +FUN_0203BF20: ; 0x0203BF20 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_0208A338 + bl FUN_0208A338 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203BF2C -sub_0203BF2C: ; 0x0203BF2C + thumb_func_start FUN_0203BF2C +FUN_0203BF2C: ; 0x0203BF2C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 ldr r2, [r5, #0x0] add r1, r6, #0x0 @@ -119352,31 +119352,31 @@ sub_0203BF2C: ; 0x0203BF2C ldr r0, [r2, #0x10] ldr r2, [r2, #0xc] add r3, r4, #0x0 - bl sub_020380CC + bl FUN_020380CC mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0203BF84 -sub_0203BF84: ; 0x0203BF84 + thumb_func_start FUN_0203BF84 +FUN_0203BF84: ; 0x0203BF84 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r1, r5, #0x0 add r1, #0x80 add r6, r0, #0x0 @@ -119384,7 +119384,7 @@ sub_0203BF84: ; 0x0203BF84 mov r0, #0xb mov r2, #0x0 add r3, r7, #0x0 - bl sub_0203BC6C + bl FUN_0203BC6C str r0, [r4, #0x0] cmp r0, #0x0 bne _0203BFCC @@ -119398,34 +119398,34 @@ _0203BFCC: add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] - bl sub_02038130 - ldr r1, _0203BFE8 ; =sub_0203BB90 + bl FUN_02038130 + ldr r1, _0203BFE8 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_0203BFE8: .word sub_0203BB90 + 1 +_0203BFE8: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203BFEC -sub_0203BFEC: ; 0x0203BFEC + thumb_func_start FUN_0203BFEC +FUN_0203BFEC: ; 0x0203BFEC push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r1, r5, #0x0 add r1, #0x80 add r6, r0, #0x0 @@ -119433,7 +119433,7 @@ sub_0203BFEC: ; 0x0203BFEC mov r0, #0xb mov r2, #0x1 add r3, r7, #0x0 - bl sub_0203BC6C + bl FUN_0203BC6C str r0, [r4, #0x0] cmp r0, #0x0 bne _0203C034 @@ -119447,34 +119447,34 @@ _0203C034: add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] - bl sub_02038130 - ldr r1, _0203C050 ; =sub_0203BB90 + bl FUN_02038130 + ldr r1, _0203C050 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_0203C050: .word sub_0203BB90 + 1 +_0203C050: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C054 -sub_0203C054: ; 0x0203C054 + thumb_func_start FUN_0203C054 +FUN_0203C054: ; 0x0203C054 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x0 add r2, r6, #0x0 - bl sub_0203BC3C + bl FUN_0203BC3C cmp r0, #0x1 bne _0203C088 mov r0, #0x1 @@ -119486,25 +119486,25 @@ _0203C088: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0203C090 -sub_0203C090: ; 0x0203C090 + thumb_func_start FUN_0203C090 +FUN_0203C090: ; 0x0203C090 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x1 add r2, r6, #0x0 - bl sub_0203BC3C + bl FUN_0203BC3C cmp r0, #0x1 bne _0203C0C4 mov r0, #0x1 @@ -119516,133 +119516,133 @@ _0203C0C4: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0203C0CC -sub_0203C0CC: ; 0x0203C0CC + thumb_func_start FUN_0203C0CC +FUN_0203C0CC: ; 0x0203C0CC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02027E24 + bl FUN_02027E24 mov r1, #0x0 - bl sub_02027008 + bl FUN_02027008 add r1, r4, #0x0 - bl sub_02027478 + bl FUN_02027478 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203C0FC -sub_0203C0FC: ; 0x0203C0FC + thumb_func_start FUN_0203C0FC +FUN_0203C0FC: ; 0x0203C0FC push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02038804 - ldr r1, _0203C114 ; =sub_0203BC04 + bl FUN_02038804 + ldr r1, _0203C114 ; =FUN_0203BC04 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203C114: .word sub_0203BC04 + 1 +_0203C114: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203C118 -sub_0203C118: ; 0x0203C118 + thumb_func_start FUN_0203C118 +FUN_0203C118: ; 0x0203C118 push {r3, lr} add r1, r0, #0x0 ldr r0, [r1, #0x74] add r1, #0x80 ldr r1, [r1, #0x0] ldr r1, [r1, #0xc] - bl sub_02085F48 + bl FUN_02085F48 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203C12C -sub_0203C12C: ; 0x0203C12C + thumb_func_start FUN_0203C12C +FUN_0203C12C: ; 0x0203C12C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 mov r1, #0x5 add r4, r0, #0x0 mov r0, #0xb lsl r1, r1, #0x6 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] mov r2, #0x2 - bl sub_0205F7A0 + bl FUN_0205F7A0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] - bl sub_02037E90 - ldr r1, _0203C170 ; =sub_0203BB90 + bl FUN_02037E90 + ldr r1, _0203C170 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} nop -_0203C170: .word sub_0203BB90 + 1 +_0203C170: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C174 -sub_0203C174: ; 0x0203C174 + thumb_func_start FUN_0203C174 +FUN_0203C174: ; 0x0203C174 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r2, #0xb - bl sub_02088960 + bl FUN_02088960 str r0, [r4, #0x0] - ldr r1, _0203C1A8 ; =sub_0203BB90 + ldr r1, _0203C1A8 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} .balign 4 -_0203C1A8: .word sub_0203BB90 + 1 +_0203C1A8: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C1AC -sub_0203C1AC: ; 0x0203C1AC + thumb_func_start FUN_0203C1AC +FUN_0203C1AC: ; 0x0203C1AC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 mov r1, #0x4 - bl sub_0206EE64 + bl FUN_0206EE64 cmp r0, #0x0 bne _0203C1E0 mov r0, #0x1 @@ -119653,8 +119653,8 @@ _0203C1E0: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02028048 - bl sub_020281B8 + bl FUN_02028048 + bl FUN_020281B8 cmp r0, #0x64 blo _0203C1FA mov r0, #0x2 @@ -119666,39 +119666,39 @@ _0203C1FA: strh r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0203C200 -sub_0203C200: ; 0x0203C200 + thumb_func_start FUN_0203C200 +FUN_0203C200: ; 0x0203C200 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x8 str r0, [r6, #0x0] add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [sp, #0x0] strh r7, [r4, #0x4] strh r0, [r4, #0x6] @@ -119711,27 +119711,27 @@ sub_0203C200: ; 0x0203C200 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r6, #0x0] - bl sub_02037FE4 - ldr r1, _0203C274 ; =sub_0203BB90 + bl FUN_02037FE4 + ldr r1, _0203C274 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_0203C274: .word sub_0203BB90 + 1 +_0203C274: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C278 -sub_0203C278: ; 0x0203C278 + thumb_func_start FUN_0203C278 +FUN_0203C278: ; 0x0203C278 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] @@ -119747,128 +119747,128 @@ sub_0203C278: ; 0x0203C278 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] - bl sub_02037D60 - ldr r1, _0203C2C0 ; =sub_0203BBBC + bl FUN_02037D60 + ldr r1, _0203C2C0 ; =FUN_0203BBBC add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} nop -_0203C2C0: .word sub_0203BBBC + 1 +_0203C2C0: .word FUN_0203BBBC + 1 - thumb_func_start sub_0203C2C4 -sub_0203C2C4: ; 0x0203C2C4 + thumb_func_start FUN_0203C2C4 +FUN_0203C2C4: ; 0x0203C2C4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020383F8 - ldr r1, _0203C2DC ; =sub_0203BC04 + bl FUN_020383F8 + ldr r1, _0203C2DC ; =FUN_0203BC04 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203C2DC: .word sub_0203BC04 + 1 +_0203C2DC: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203C2E0 -sub_0203C2E0: ; 0x0203C2E0 + thumb_func_start FUN_0203C2E0 +FUN_0203C2E0: ; 0x0203C2E0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02065344 + bl FUN_02065344 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203C2F0 -sub_0203C2F0: ; 0x0203C2F0 + thumb_func_start FUN_0203C2F0 +FUN_0203C2F0: ; 0x0203C2F0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_020383D8 + bl FUN_020383D8 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203C300 -sub_0203C300: ; 0x0203C300 + thumb_func_start FUN_0203C300 +FUN_0203C300: ; 0x0203C300 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0203842C + bl FUN_0203842C str r0, [r4, #0x0] - ldr r1, _0203C328 ; =sub_0203BB90 + ldr r1, _0203C328 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} .balign 4 -_0203C328: .word sub_0203BB90 + 1 +_0203C328: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C32C -sub_0203C32C: ; 0x0203C32C + thumb_func_start FUN_0203C32C +FUN_0203C32C: ; 0x0203C32C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_02048694 + bl FUN_02048694 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203C33C -sub_0203C33C: ; 0x0203C33C + thumb_func_start FUN_0203C33C +FUN_0203C33C: ; 0x0203C33C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02038824 + bl FUN_02038824 str r0, [r4, #0x0] - ldr r1, _0203C364 ; =sub_0203BB90 + ldr r1, _0203C364 ; =FUN_0203BB90 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} .balign 4 -_0203C364: .word sub_0203BB90 + 1 +_0203C364: .word FUN_0203BB90 + 1 - thumb_func_start sub_0203C368 -sub_0203C368: ; 0x0203C368 + thumb_func_start FUN_0203C368 +FUN_0203C368: ; 0x0203C368 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0203384C + bl FUN_0203384C cmp r0, #0x0 beq _0203C3BC mov r0, #0x1 @@ -119877,10 +119877,10 @@ sub_0203C368: ; 0x0203C368 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r6, #0x0 - bl sub_020386E0 - ldr r1, _0203C3C4 ; =sub_0203BC04 + bl FUN_020386E0 + ldr r1, _0203C3C4 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C b _0203C3C0 _0203C3BC: mov r0, #0x0 @@ -119889,82 +119889,82 @@ _0203C3C0: mov r0, #0x1 pop {r4-r6, pc} .balign 4 -_0203C3C4: .word sub_0203BC04 + 1 +_0203C3C4: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203C3C8 -sub_0203C3C8: ; 0x0203C3C8 + thumb_func_start FUN_0203C3C8 +FUN_0203C3C8: ; 0x0203C3C8 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r1, r0, #0x0 ldr r0, [r4, #0x74] - bl sub_0206F3D8 + bl FUN_0206F3D8 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0203C3E8 -sub_0203C3E8: ; 0x0203C3E8 + thumb_func_start FUN_0203C3E8 +FUN_0203C3E8: ; 0x0203C3E8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x0] add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r6, #0x4] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r4, #0x0] - bl sub_020386A4 - ldr r1, _0203C42C ; =sub_0203BC04 + bl FUN_020386A4 + ldr r1, _0203C42C ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4-r6, pc} nop -_0203C42C: .word sub_0203BC04 + 1 +_0203C42C: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203C430 -sub_0203C430: ; 0x0203C430 + thumb_func_start FUN_0203C430 +FUN_0203C430: ; 0x0203C430 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r1, [r4, #0x0] ldr r1, [r1, #0x0] lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0205F378 + bl FUN_0205F378 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203C460 -sub_0203C460: ; 0x0203C460 + thumb_func_start FUN_0203C460 +FUN_0203C460: ; 0x0203C460 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x8] @@ -119984,68 +119984,68 @@ _0203C476: add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, #0x0 beq _0203C492 - bl sub_02020C2C + bl FUN_02020C2C _0203C492: add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 - bl sub_0203789C + bl FUN_0203789C str r0, [r6, #0x0] - ldr r1, _0203C4AC ; =sub_0203BC04 + ldr r1, _0203C4AC ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4-r6, pc} .balign 4 -_0203C4AC: .word sub_0203BC04 + 1 +_0203C4AC: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203C4B0 -sub_0203C4B0: ; 0x0203C4B0 + thumb_func_start FUN_0203C4B0 +FUN_0203C4B0: ; 0x0203C4B0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203C4DC - bl sub_02020C2C + bl FUN_02020C2C _0203C4DC: ldr r0, [r4, #0x0] - bl sub_020378FC + bl FUN_020378FC strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0203C4F0 -sub_0203C4F0: ; 0x0203C4F0 + thumb_func_start FUN_0203C4F0 +FUN_0203C4F0: ; 0x0203C4F0 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -120053,47 +120053,47 @@ sub_0203C4F0: ; 0x0203C4F0 ldr r0, [r4, #0x74] add r2, r1, #0x0 mov r3, #0x7 - bl sub_020385CC + bl FUN_020385CC mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0203C520 -sub_0203C520: ; 0x0203C520 + thumb_func_start FUN_0203C520 +FUN_0203C520: ; 0x0203C520 push {r4-r7, lr} sub sp, #0x34 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x74 add r2, sp, #0xc add r7, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 str r6, [sp, #0x0] add r0, sp, #0xc @@ -120102,22 +120102,22 @@ sub_0203C520: ; 0x0203C520 ldr r0, [r5, #0x74] mov r1, #0x1 mov r3, #0xa - bl sub_020385CC + bl FUN_020385CC mov r0, #0x1 add sp, #0x34 pop {r4-r7, pc} - thumb_func_start sub_0203C58C -sub_0203C58C: ; 0x0203C58C + thumb_func_start FUN_0203C58C +FUN_0203C58C: ; 0x0203C58C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r2, #0x0 str r2, [sp, #0x0] str r2, [sp, #0x4] @@ -120125,37 +120125,37 @@ sub_0203C58C: ; 0x0203C58C ldr r0, [r4, #0x74] mov r1, #0x6 mov r3, #0xa - bl sub_020385CC + bl FUN_020385CC mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0203C5BC -sub_0203C5BC: ; 0x0203C5BC + thumb_func_start FUN_0203C5BC +FUN_0203C5BC: ; 0x0203C5BC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r2, r0, #0x0 ldr r0, _0203C610 ; =0x0000FFFF add r5, #0x80 @@ -120164,45 +120164,45 @@ sub_0203C5BC: ; 0x0203C5BC add r1, r4, #0x0 ldr r0, [r0, #0x10] mov r3, #0x0 - bl sub_02037E18 + bl FUN_02037E18 mov r0, #0x1 pop {r3-r5, pc} nop _0203C610: .word 0x0000FFFF - thumb_func_start sub_0203C614 -sub_0203C614: ; 0x0203C614 + thumb_func_start FUN_0203C614 +FUN_0203C614: ; 0x0203C614 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r3, r0, #0x0 ldr r0, _0203C67C ; =0x0000FFFF add r5, #0x80 @@ -120212,58 +120212,58 @@ sub_0203C614: ; 0x0203C614 add r1, r6, #0x0 ldr r0, [r0, #0x10] add r2, r4, #0x0 - bl sub_02037E18 + bl FUN_02037E18 mov r0, #0x1 pop {r4-r6, pc} .balign 4 _0203C67C: .word 0x0000FFFF - thumb_func_start sub_0203C680 -sub_0203C680: ; 0x0203C680 + thumb_func_start FUN_0203C680 +FUN_0203C680: ; 0x0203C680 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] add r1, r6, #0x0 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203C6C4 -sub_0203C6C4: ; 0x0203C6C4 + thumb_func_start FUN_0203C6C4 +FUN_0203C6C4: ; 0x0203C6C4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r4, [sp, #0x0] add r3, r0, #0x0 str r6, [sp, #0x4] @@ -120272,29 +120272,29 @@ sub_0203C6C4: ; 0x0203C6C4 mov r0, #0x0 add r1, r7, #0x0 add r2, r7, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 mov r0, #0x0 - bl sub_0200E388 + bl FUN_0200E388 mov r0, #0x1 - bl sub_0200E388 + bl FUN_0200E388 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0203C70C -sub_0203C70C: ; 0x0203C70C + thumb_func_start FUN_0203C70C +FUN_0203C70C: ; 0x0203C70C push {r3, lr} - ldr r1, _0203C718 ; =sub_0203C71C - bl sub_02038B5C + ldr r1, _0203C718 ; =FUN_0203C71C + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_0203C718: .word sub_0203C71C + 1 +_0203C718: .word FUN_0203C71C + 1 - thumb_func_start sub_0203C71C -sub_0203C71C: ; 0x0203C71C + thumb_func_start FUN_0203C71C +FUN_0203C71C: ; 0x0203C71C push {r3, lr} - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _0203C72A mov r0, #0x1 @@ -120304,33 +120304,33 @@ _0203C72A: pop {r3, pc} .balign 4 - thumb_func_start sub_0203C730 -sub_0203C730: ; 0x0203C730 + thumb_func_start FUN_0203C730 +FUN_0203C730: ; 0x0203C730 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r4, [sp, #0x0] str r0, [sp, #0x4] mov r2, #0x0 @@ -120338,38 +120338,38 @@ sub_0203C730: ; 0x0203C730 add r1, r6, #0x0 mvn r2, r2 add r3, r7, #0x0 - bl sub_02049240 + bl FUN_02049240 mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0203C788 -sub_0203C788: ; 0x0203C788 + thumb_func_start FUN_0203C788 +FUN_0203C788: ; 0x0203C788 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r4, [sp, #0x0] mov r2, #0x0 add r5, #0x80 @@ -120379,52 +120379,52 @@ sub_0203C788: ; 0x0203C788 ldr r0, [r0, #0x10] mvn r2, r2 add r3, r7, #0x0 - bl sub_02049F98 + bl FUN_02049F98 mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0203C7E4 -sub_0203C7E4: ; 0x0203C7E4 + thumb_func_start FUN_0203C7E4 +FUN_0203C7E4: ; 0x0203C7E4 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_02049FFC + bl FUN_02049FFC mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203C7F4 -sub_0203C7F4: ; 0x0203C7F4 + thumb_func_start FUN_0203C7F4 +FUN_0203C7F4: ; 0x0203C7F4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DC8 + bl FUN_02034E30 + bl FUN_02034DC8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldr r1, [r5, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203C820 -sub_0203C820: ; 0x0203C820 + thumb_func_start FUN_0203C820 +FUN_0203C820: ; 0x0203C820 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 ldr r1, [r4, #0x0] ldr r1, [r1, #0x1c] @@ -120434,104 +120434,104 @@ sub_0203C820: ; 0x0203C820 pop {r4, pc} .balign 4 - thumb_func_start sub_0203C844 -sub_0203C844: ; 0x0203C844 + thumb_func_start FUN_0203C844 +FUN_0203C844: ; 0x0203C844 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 - bl sub_021E6990 + bl FUN_021E6990 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203C874 -sub_0203C874: ; 0x0203C874 + thumb_func_start FUN_0203C874 +FUN_0203C874: ; 0x0203C874 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 - bl sub_021E6410 + bl FUN_021E6410 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203C8B4 -sub_0203C8B4: ; 0x0203C8B4 + thumb_func_start FUN_0203C8B4 +FUN_0203C8B4: ; 0x0203C8B4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 ldr r0, [r5, #0x74] add r2, r4, #0x0 - bl sub_021E6BF4 + bl FUN_021E6BF4 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0203C8E4 -sub_0203C8E4: ; 0x0203C8E4 + thumb_func_start FUN_0203C8E4 +FUN_0203C8E4: ; 0x0203C8E4 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] mov r2, #0x1 str r2, [sp, #0x4] @@ -120540,117 +120540,117 @@ sub_0203C8E4: ; 0x0203C8E4 add r1, r4, #0x0 sub r2, r2, #0x2 add r3, r6, #0x0 - bl sub_02049274 + bl FUN_02049274 mov r0, #0x1 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_0203C930 -sub_0203C930: ; 0x0203C930 + thumb_func_start FUN_0203C930 +FUN_0203C930: ; 0x0203C930 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r5, r0, #0x0 mov r1, #0x0 - bl sub_02034DF4 + bl FUN_02034DF4 add r0, r5, #0x0 - bl sub_02034DEC + bl FUN_02034DEC add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0xc] - bl sub_021DC174 + bl FUN_021DC174 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203C960 -sub_0203C960: ; 0x0203C960 + thumb_func_start FUN_0203C960 +FUN_0203C960: ; 0x0203C960 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r5, r0, #0x0 mov r1, #0x0 - bl sub_02034DF4 + bl FUN_02034DF4 add r0, r5, #0x0 - bl sub_02034DEC + bl FUN_02034DEC add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0xc] - bl sub_021DC174 + bl FUN_021DC174 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203C990 -sub_0203C990: ; 0x0203C990 + thumb_func_start FUN_0203C990 +FUN_0203C990: ; 0x0203C990 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_020553E8 + bl FUN_020553E8 add r3, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 add r2, r6, #0x0 - bl sub_0224666C + bl FUN_0224666C str r0, [r4, #0x0] - ldr r1, _0203C9F4 ; =sub_0203C9F8 + ldr r1, _0203C9F4 ; =FUN_0203C9F8 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4-r6, pc} nop -_0203C9F4: .word sub_0203C9F8 + 1 +_0203C9F4: .word FUN_0203C9F8 + 1 - thumb_func_start sub_0203C9F8 -sub_0203C9F8: ; 0x0203C9F8 + thumb_func_start FUN_0203C9F8 +FUN_0203C9F8: ; 0x0203C9F8 push {r4, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_022466A0 + bl FUN_022466A0 cmp r0, #0x1 bne _0203CA1A ldr r0, [r4, #0x0] - bl sub_022466AC + bl FUN_022466AC mov r0, #0x1 pop {r4, pc} _0203CA1A: @@ -120658,29 +120658,29 @@ _0203CA1A: pop {r4, pc} .balign 4 - thumb_func_start sub_0203CA20 -sub_0203CA20: ; 0x0203CA20 + thumb_func_start FUN_0203CA20 +FUN_0203CA20: ; 0x0203CA20 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_021E7030 + bl FUN_021E7030 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203CA2C -sub_0203CA2C: ; 0x0203CA2C + thumb_func_start FUN_0203CA2C +FUN_0203CA2C: ; 0x0203CA2C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _0203CA54 mov r0, #0x1 @@ -120692,8 +120692,8 @@ _0203CA56: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203CA5C -sub_0203CA5C: ; 0x0203CA5C + thumb_func_start FUN_0203CA5C +FUN_0203CA5C: ; 0x0203CA5C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x8] @@ -120707,24 +120707,24 @@ sub_0203CA5C: ; 0x0203CA5C mov r1, #0x12 ldr r0, [r0, #0x0] lsl r1, r1, #0x6 - bl sub_0204AB20 + bl FUN_0204AB20 add r0, r4, #0x0 add r0, #0x80 mov r1, #0x12 ldr r0, [r0, #0x0] lsl r1, r1, #0x6 mov r2, #0x1 - bl sub_0204ABDC + bl FUN_0204ABDC add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x2 ldr r0, [r0, #0x38] - bl sub_021E5FD8 + bl FUN_021E5FD8 add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] - bl sub_021E5FE0 + bl FUN_021E5FE0 b _0203CAE4 _0203CAA4: add r0, r4, #0x0 @@ -120732,51 +120732,51 @@ _0203CAA4: ldr r0, [r0, #0x0] mov r1, #0x1 ldr r0, [r0, #0x38] - bl sub_021E5FD8 + bl FUN_021E5FD8 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_021E5FE0 + bl FUN_021E5FE0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_0204AB20 + bl FUN_0204AB20 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r0, #0x1c] ldr r1, [r1, #0x0] - bl sub_0204AB58 + bl FUN_0204AB58 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x1 - bl sub_0204ABDC + bl FUN_0204ABDC _0203CAE4: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203CAE8 -sub_0203CAE8: ; 0x0203CAE8 + thumb_func_start FUN_0203CAE8 +FUN_0203CAE8: ; 0x0203CAE8 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x2 ldr r0, [r0, #0x38] - bl sub_021E5FD8 + bl FUN_021E5FD8 add r4, #0x80 mov r1, #0x12 ldr r0, [r4, #0x0] lsl r1, r1, #0x6 - bl sub_0204AB20 + bl FUN_0204AB20 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203CB08 -sub_0203CB08: ; 0x0203CB08 + thumb_func_start FUN_0203CB08 +FUN_0203CB08: ; 0x0203CB08 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -120785,227 +120785,227 @@ sub_0203CB08: ; 0x0203CB08 ldr r0, [r0, #0x0] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x38] - bl sub_02055720 + bl FUN_02055720 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203CB20 -sub_0203CB20: ; 0x0203CB20 + thumb_func_start FUN_0203CB20 +FUN_0203CB20: ; 0x0203CB20 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x38] - bl sub_020553C4 + bl FUN_020553C4 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CB48 -sub_0203CB48: ; 0x0203CB48 + thumb_func_start FUN_0203CB48 +FUN_0203CB48: ; 0x0203CB48 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] - bl sub_020553D4 + bl FUN_020553D4 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0203CB60 -sub_0203CB60: ; 0x0203CB60 + thumb_func_start FUN_0203CB60 +FUN_0203CB60: ; 0x0203CB60 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x38] - bl sub_021E5FE0 + bl FUN_021E5FE0 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203CB70 -sub_0203CB70: ; 0x0203CB70 + thumb_func_start FUN_0203CB70 +FUN_0203CB70: ; 0x0203CB70 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x2 - bl sub_0202A990 + bl FUN_0202A990 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02245910 + bl FUN_02245910 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203CBBC -sub_0203CBBC: ; 0x0203CBBC + thumb_func_start FUN_0203CBBC +FUN_0203CBBC: ; 0x0203CBBC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F388 + bl FUN_020462AC + bl FUN_0205F388 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CBE8 -sub_0203CBE8: ; 0x0203CBE8 + thumb_func_start FUN_0203CBE8 +FUN_0203CBE8: ; 0x0203CBE8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0x8 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x10 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x6 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x3 - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 ldr r0, [sp, #0x0] ldr r2, [r6, #0x0] mov r3, #0xb - bl sub_0206AD4C + bl FUN_0206AD4C add r0, r4, #0x0 mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 add r2, r0, #0x0 ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 strb r0, [r7, #0x0] - ldr r1, _0203CC84 ; =sub_0203A2F0 + ldr r1, _0203CC84 ; =FUN_0203A2F0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_0203CC84: .word sub_0203A2F0 + 1 +_0203CC84: .word FUN_0203A2F0 + 1 - thumb_func_start sub_0203CC88 -sub_0203CC88: ; 0x0203CC88 + thumb_func_start FUN_0203CC88 +FUN_0203CC88: ; 0x0203CC88 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 ldr r2, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_02240790 - ldr r1, _0203CCF4 ; =sub_0203CCF8 + bl FUN_02240790 + ldr r1, _0203CCF4 ; =FUN_0203CCF8 add r0, r5, #0x0 str r6, [r5, #0x64] - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop -_0203CCF4: .word sub_0203CCF8 + 1 +_0203CCF4: .word FUN_0203CCF8 + 1 - thumb_func_start sub_0203CCF8 -sub_0203CCF8: ; 0x0203CCF8 + thumb_func_start FUN_0203CCF8 +FUN_0203CCF8: ; 0x0203CCF8 push {r4, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] @@ -121013,9 +121013,9 @@ sub_0203CCF8: ; 0x0203CCF8 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 - bl sub_022407DC + bl FUN_022407DC cmp r0, #0x0 bne _0203CD18 mov r0, #0x0 @@ -121026,57 +121026,57 @@ _0203CD18: pop {r4, pc} .balign 4 - thumb_func_start sub_0203CD20 -sub_0203CD20: ; 0x0203CD20 + thumb_func_start FUN_0203CD20 +FUN_0203CD20: ; 0x0203CD20 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 ldr r2, [sp, #0x0] ldr r3, [sp, #0x4] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_022407F8 - ldr r1, _0203CD8C ; =sub_0203CD90 + bl FUN_022407F8 + ldr r1, _0203CD8C ; =FUN_0203CD90 add r0, r5, #0x0 str r6, [r5, #0x64] - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} nop -_0203CD8C: .word sub_0203CD90 + 1 +_0203CD8C: .word FUN_0203CD90 + 1 - thumb_func_start sub_0203CD90 -sub_0203CD90: ; 0x0203CD90 + thumb_func_start FUN_0203CD90 +FUN_0203CD90: ; 0x0203CD90 push {r4, lr} add r1, r0, #0x0 ldr r1, [r1, #0x64] @@ -121084,9 +121084,9 @@ sub_0203CD90: ; 0x0203CD90 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 - bl sub_02240844 + bl FUN_02240844 cmp r0, #0x0 bne _0203CDB0 mov r0, #0x0 @@ -121097,30 +121097,30 @@ _0203CDB0: pop {r4, pc} .balign 4 - thumb_func_start sub_0203CDB8 -sub_0203CDB8: ; 0x0203CDB8 + thumb_func_start FUN_0203CDB8 +FUN_0203CDB8: ; 0x0203CDB8 push {r3, lr} - bl sub_02038C30 + bl FUN_02038C30 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203CDC4 -sub_0203CDC4: ; 0x0203CDC4 + thumb_func_start FUN_0203CDC4 +FUN_0203CDC4: ; 0x0203CDC4 push {r3, lr} - bl sub_02038C30 + bl FUN_02038C30 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203CDD0 -sub_0203CDD0: ; 0x0203CDD0 + thumb_func_start FUN_0203CDD0 +FUN_0203CDD0: ; 0x0203CDD0 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r5, #0x80 ldr r4, [r6, #0x0] @@ -121129,101 +121129,101 @@ sub_0203CDD0: ; 0x0203CDD0 ldr r0, [r0, #0x10] add r1, #0x2c mov r2, #0x5 - bl sub_02047174 + bl FUN_02047174 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r6, #0x0] mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0203CE00 -sub_0203CE00: ; 0x0203CE00 + thumb_func_start FUN_0203CE00 +FUN_0203CE00: ; 0x0203CE00 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_02080C38 + bl FUN_02080C38 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203CE0C -sub_0203CE0C: ; 0x0203CE0C + thumb_func_start FUN_0203CE0C +FUN_0203CE0C: ; 0x0203CE0C push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, #0x80 str r0, [sp, #0x10] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r1, sp, #0x0 - bl sub_02034DD4 + bl FUN_02034DD4 mov r0, #0x0 add sp, #0x14 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0203CE8C -sub_0203CE8C: ; 0x0203CE8C + thumb_func_start FUN_0203CE8C +FUN_0203CE8C: ; 0x0203CE8C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 ldr r0, [r0, #0x0] - bl sub_021E2608 + bl FUN_021E2608 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203CEBC -sub_0203CEBC: ; 0x0203CEBC + thumb_func_start FUN_0203CEBC +FUN_0203CEBC: ; 0x0203CEBC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -121231,7 +121231,7 @@ sub_0203CEBC: ; 0x0203CEBC ldr r0, [r0, #0x0] mov r1, #0xf str r0, [sp, #0x4] - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 ldr r0, [r5, #0x8] add r1, r0, #0x1 @@ -121241,206 +121241,206 @@ sub_0203CEBC: ; 0x0203CEBC str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r3, r0, #0x0 ldr r0, [r7, #0x0] add r1, r6, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r2, r4, #0x0 - bl sub_021E2464 + bl FUN_021E2464 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0203CF04 -sub_0203CF04: ; 0x0203CF04 + thumb_func_start FUN_0203CF04 +FUN_0203CF04: ; 0x0203CF04 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020244A4 + bl FUN_020244A4 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CF34 -sub_0203CF34: ; 0x0203CF34 + thumb_func_start FUN_0203CF34 +FUN_0203CF34: ; 0x0203CF34 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0202445C + bl FUN_0202445C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CF64 -sub_0203CF64: ; 0x0203CF64 + thumb_func_start FUN_0203CF64 +FUN_0203CF64: ; 0x0203CF64 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02024404 + bl FUN_02024404 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CF94 -sub_0203CF94: ; 0x0203CF94 + thumb_func_start FUN_0203CF94 +FUN_0203CF94: ; 0x0203CF94 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020243C8 + bl FUN_020243C8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203CFC4 -sub_0203CFC4: ; 0x0203CFC4 + thumb_func_start FUN_0203CFC4 +FUN_0203CFC4: ; 0x0203CFC4 mov r0, #0x0 bx lr - thumb_func_start sub_0203CFC8 -sub_0203CFC8: ; 0x0203CFC8 + thumb_func_start FUN_0203CFC8 +FUN_0203CFC8: ; 0x0203CFC8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 ldr r1, [r5, #0x8] str r0, [sp, #0x0] add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 cmp r6, #0x0 bne _0203D02E add r0, r7, #0x0 - bl sub_02024550 + bl FUN_02024550 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x2 mov r2, #0xa - bl sub_0205F2E4 + bl FUN_0205F2E4 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_02054CC8 + bl FUN_02054CC8 b _0203D048 _0203D02E: add r0, r7, #0x0 - bl sub_02024518 + bl FUN_02024518 add r5, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_020239CC + bl FUN_020239CC add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_02054D1C + bl FUN_02054D1C _0203D048: strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D050 -sub_0203D050: ; 0x0203D050 + thumb_func_start FUN_0203D050 +FUN_0203D050: ; 0x0203D050 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -121449,37 +121449,37 @@ sub_0203D050: ; 0x0203D050 add r1, r6, #0x0 lsr r2, r2, #0x18 add r3, r4, #0x0 - bl sub_02046E18 + bl FUN_02046E18 mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0203D0A4 -sub_0203D0A4: ; 0x0203D0A4 + thumb_func_start FUN_0203D0A4 +FUN_0203D0A4: ; 0x0203D0A4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -121488,134 +121488,134 @@ sub_0203D0A4: ; 0x0203D0A4 add r1, r6, #0x0 lsr r2, r2, #0x18 add r3, r4, #0x0 - bl sub_02046E18 + bl FUN_02046E18 mov r0, #0x1 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0203D0F8 -sub_0203D0F8: ; 0x0203D0F8 + thumb_func_start FUN_0203D0F8 +FUN_0203D0F8: ; 0x0203D0F8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 lsl r2, r2, #0x18 ldr r0, [r5, #0x74] add r1, r4, #0x0 lsr r2, r2, #0x18 - bl sub_02046FA0 + bl FUN_02046FA0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D134 -sub_0203D134: ; 0x0203D134 + thumb_func_start FUN_0203D134 +FUN_0203D134: ; 0x0203D134 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_020470AC + bl FUN_020470AC mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203D140 -sub_0203D140: ; 0x0203D140 + thumb_func_start FUN_0203D140 +FUN_0203D140: ; 0x0203D140 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_021F4DC8 + bl FUN_021F4DC8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D150 -sub_0203D150: ; 0x0203D150 + thumb_func_start FUN_0203D150 +FUN_0203D150: ; 0x0203D150 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_021F4D80 + bl FUN_021F4D80 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D178 -sub_0203D178: ; 0x0203D178 + thumb_func_start FUN_0203D178 +FUN_0203D178: ; 0x0203D178 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r1, r0, #0x0 ldr r0, [r4, #0x74] - bl sub_02046DB4 + bl FUN_02046DB4 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0203D194 -sub_0203D194: ; 0x0203D194 + thumb_func_start FUN_0203D194 +FUN_0203D194: ; 0x0203D194 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_021F4E7C + bl FUN_021F4E7C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D1A4 -sub_0203D1A4: ; 0x0203D1A4 + thumb_func_start FUN_0203D1A4 +FUN_0203D1A4: ; 0x0203D1A4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020386B4 - ldr r1, _0203D1BC ; =sub_0203BC04 + bl FUN_020386B4 + ldr r1, _0203D1BC ; =FUN_0203BC04 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203D1BC: .word sub_0203BC04 + 1 +_0203D1BC: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203D1C0 -sub_0203D1C0: ; 0x0203D1C0 + thumb_func_start FUN_0203D1C0 +FUN_0203D1C0: ; 0x0203D1C0 push {r3-r5, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0202280C + bl FUN_0202280C cmp r0, #0x0 beq _0203D1EC mov r0, #0x0 @@ -121623,7 +121623,7 @@ sub_0203D1C0: ; 0x0203D1C0 b _0203D210 _0203D1EC: add r0, r5, #0x0 - bl sub_02022804 + bl FUN_02022804 cmp r0, #0x0 bne _0203D1FC mov r0, #0x1 @@ -121631,7 +121631,7 @@ _0203D1EC: b _0203D210 _0203D1FC: add r0, r5, #0x0 - bl sub_0202282C + bl FUN_0202282C cmp r0, #0x0 beq _0203D20C mov r0, #0x2 @@ -121644,134 +121644,134 @@ _0203D210: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203D214 -sub_0203D214: ; 0x0203D214 + thumb_func_start FUN_0203D214 +FUN_0203D214: ; 0x0203D214 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_021E85FC + bl FUN_021E85FC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D23C -sub_0203D23C: ; 0x0203D23C + thumb_func_start FUN_0203D23C +FUN_0203D23C: ; 0x0203D23C push {r3, lr} ldr r0, [r0, #0x74] - bl sub_021E3424 + bl FUN_021E3424 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203D248 -sub_0203D248: ; 0x0203D248 + thumb_func_start FUN_0203D248 +FUN_0203D248: ; 0x0203D248 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204BEC8 + bl FUN_0204BEC8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D278 -sub_0203D278: ; 0x0203D278 + thumb_func_start FUN_0203D278 +FUN_0203D278: ; 0x0203D278 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 add r1, r5, #0x0 - bl sub_0204BED8 + bl FUN_0204BED8 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D2A4 -sub_0203D2A4: ; 0x0203D2A4 + thumb_func_start FUN_0203D2A4 +FUN_0203D2A4: ; 0x0203D2A4 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 add r1, r6, #0x0 - bl sub_0204BED0 + bl FUN_0204BED0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203D2E4 -sub_0203D2E4: ; 0x0203D2E4 + thumb_func_start FUN_0203D2E4 +FUN_0203D2E4: ; 0x0203D2E4 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [r4, #0x64] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02031588 - ldr r1, _0203D310 ; =sub_0203D314 + bl FUN_02031588 + ldr r1, _0203D310 ; =FUN_0203D314 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203D310: .word sub_0203D314 + 1 +_0203D310: .word FUN_0203D314 + 1 - thumb_func_start sub_0203D314 -sub_0203D314: ; 0x0203D314 + thumb_func_start FUN_0203D314 +FUN_0203D314: ; 0x0203D314 push {r4, lr} add r4, r0, #0x0 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x2 bge _0203D324 mov r0, #0x1 @@ -121780,71 +121780,71 @@ _0203D324: ldr r0, [r4, #0x64] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_020315D8 + bl FUN_020315D8 pop {r4, pc} - thumb_func_start sub_0203D330 -sub_0203D330: ; 0x0203D330 + thumb_func_start FUN_0203D330 +FUN_0203D330: ; 0x0203D330 push {r3, lr} - bl sub_0203168C + bl FUN_0203168C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D33C -sub_0203D33C: ; 0x0203D33C + thumb_func_start FUN_0203D33C +FUN_0203D33C: ; 0x0203D33C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0205296C + bl FUN_0205296C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D36C -sub_0203D36C: ; 0x0203D36C + thumb_func_start FUN_0203D36C +FUN_0203D36C: ; 0x0203D36C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r1, r0, #0x0 add r5, #0x80 ldr r0, [r5, #0x0] ldr r1, [r1, #0x0] ldr r0, [r0, #0x78] - bl sub_02052C0C + bl FUN_02052C0C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D3A4 -sub_0203D3A4: ; 0x0203D3A4 + thumb_func_start FUN_0203D3A4 +FUN_0203D3A4: ; 0x0203D3A4 push {r4, lr} - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 cmp r4, #0x5 beq _0203D3BC @@ -121855,56 +121855,56 @@ sub_0203D3A4: ; 0x0203D3A4 cmp r4, #0x6 bne _0203D3C2 _0203D3BC: - bl sub_02031C54 + bl FUN_02031C54 b _0203D3CA _0203D3C2: cmp r4, #0xb bne _0203D3CA - bl sub_02031C64 + bl FUN_02031C64 _0203D3CA: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0203D3D8 add r0, r4, #0x0 - bl sub_02052B74 + bl FUN_02052B74 _0203D3D8: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0203D3DC -sub_0203D3DC: ; 0x0203D3DC + thumb_func_start FUN_0203D3DC +FUN_0203D3DC: ; 0x0203D3DC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r5, #0x80 str r0, [sp, #0x4] ldr r0, [r5, #0x0] - bl sub_020377AC - bl sub_02013B5C + bl FUN_020377AC + bl FUN_02013B5C add r5, r0, #0x0 cmp r4, #0x0 bne _0203D432 ldr r0, [r7, #0x0] - bl sub_02058448 + bl FUN_02058448 lsl r0, r0, #0x10 lsr r2, r0, #0x10 b _0203D434 @@ -121915,43 +121915,43 @@ _0203D434: ldr r0, [r6, #0x0] ldr r3, [sp, #0x4] add r1, r4, #0x0 - bl sub_02052D08 + bl FUN_02052D08 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D448 -sub_0203D448: ; 0x0203D448 + thumb_func_start FUN_0203D448 +FUN_0203D448: ; 0x0203D448 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0208881C + bl FUN_0208881C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D458 -sub_0203D458: ; 0x0203D458 + thumb_func_start FUN_0203D458 +FUN_0203D458: ; 0x0203D458 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x7c] - bl sub_02052F74 - bl sub_02031B50 - ldr r1, _0203D478 ; =sub_0203D47C + bl FUN_02052F74 + bl FUN_02031B50 + ldr r1, _0203D478 ; =FUN_0203D47C add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203D478: .word sub_0203D47C + 1 +_0203D478: .word FUN_0203D47C + 1 - thumb_func_start sub_0203D47C -sub_0203D47C: ; 0x0203D47C + thumb_func_start FUN_0203D47C +FUN_0203D47C: ; 0x0203D47C push {r3, lr} - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x2 bge _0203D48A mov r0, #0x1 @@ -121961,62 +121961,62 @@ _0203D48A: pop {r3, pc} .balign 4 - thumb_func_start sub_0203D490 -sub_0203D490: ; 0x0203D490 + thumb_func_start FUN_0203D490 +FUN_0203D490: ; 0x0203D490 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02058448 + bl FUN_02058448 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] ldr r2, [sp, #0x0] ldr r0, [r0, #0x78] ldr r3, [r7, #0x0] - bl sub_02052A10 + bl FUN_02052A10 strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D4E8 -sub_0203D4E8: ; 0x0203D4E8 + thumb_func_start FUN_0203D4E8 +FUN_0203D4E8: ; 0x0203D4E8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] - bl sub_020527A8 + bl FUN_020527A8 strh r0, [r4, #0x0] ldrh r0, [r4, #0x0] cmp r0, #0x0 @@ -122024,104 +122024,104 @@ sub_0203D4E8: ; 0x0203D4E8 add r5, #0x80 ldr r0, [r5, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 _0203D522: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D528 -sub_0203D528: ; 0x0203D528 + thumb_func_start FUN_0203D528 +FUN_0203D528: ; 0x0203D528 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0xa add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02058448 + bl FUN_02058448 add r1, r0, #0x0 ldr r0, [r5, #0x78] - bl sub_020524CC + bl FUN_020524CC strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203D560 -sub_0203D560: ; 0x0203D560 + thumb_func_start FUN_0203D560 +FUN_0203D560: ; 0x0203D560 push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0xa add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02058448 + bl FUN_02058448 add r1, r0, #0x0 ldr r0, [r5, #0x78] add r2, r7, #0x0 - bl sub_02052544 + bl FUN_02052544 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D5B0 -sub_0203D5B0: ; 0x0203D5B0 + thumb_func_start FUN_0203D5B0 +FUN_0203D5B0: ; 0x0203D5B0 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r4, #0x64] - ldr r1, _0203D5C8 ; =sub_0203D5CC + ldr r1, _0203D5C8 ; =FUN_0203D5CC add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203D5C8: .word sub_0203D5CC + 1 +_0203D5C8: .word FUN_0203D5CC + 1 - thumb_func_start sub_0203D5CC -sub_0203D5CC: ; 0x0203D5CC + thumb_func_start FUN_0203D5CC +FUN_0203D5CC: ; 0x0203D5CC push {r4-r6, lr} add r6, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] ldr r0, [r5, #0x78] - bl sub_02052604 + bl FUN_02052604 ldr r1, [r6, #0x64] add r4, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 cmp r4, #0x0 bne _0203D5F0 mov r0, #0x0 @@ -122132,81 +122132,81 @@ _0203D5F0: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203D5F8 -sub_0203D5F8: ; 0x0203D5F8 + thumb_func_start FUN_0203D5F8 +FUN_0203D5F8: ; 0x0203D5F8 push {r3, lr} add r0, #0x80 ldr r1, [r0, #0x0] ldr r0, [r1, #0x34] ldr r1, [r1, #0x7c] - bl sub_020534DC + bl FUN_020534DC mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D60C -sub_0203D60C: ; 0x0203D60C + thumb_func_start FUN_0203D60C +FUN_0203D60C: ; 0x0203D60C push {r3, lr} mov r0, #0x4 - bl sub_02052B74 - bl sub_02031C2C + bl FUN_02052B74 + bl FUN_02031C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203D61C -sub_0203D61C: ; 0x0203D61C + thumb_func_start FUN_0203D61C +FUN_0203D61C: ; 0x0203D61C push {r3, lr} - bl sub_02031C64 - bl sub_02031B50 + bl FUN_02031C64 + bl FUN_02031B50 mov r0, #0x0 - bl sub_02052B74 + bl FUN_02052B74 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203D630 -sub_0203D630: ; 0x0203D630 + thumb_func_start FUN_0203D630 +FUN_0203D630: ; 0x0203D630 push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x78] add r1, r6, #0x0 - bl sub_0205265C + bl FUN_0205265C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203D66C -sub_0203D66C: ; 0x0203D66C + thumb_func_start FUN_0203D66C +FUN_0203D66C: ; 0x0203D66C push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r4, #0x64] - ldr r1, _0203D684 ; =sub_0203D688 + ldr r1, _0203D684 ; =FUN_0203D688 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203D684: .word sub_0203D688 + 1 +_0203D684: .word FUN_0203D688 + 1 - thumb_func_start sub_0203D688 -sub_0203D688: ; 0x0203D688 + thumb_func_start FUN_0203D688 +FUN_0203D688: ; 0x0203D688 push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0x64] @@ -122214,20 +122214,20 @@ sub_0203D688: ; 0x0203D688 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] - bl sub_02052608 + bl FUN_02052608 cmp r0, #0x1 blo _0203D6BC add r5, #0x80 strh r0, [r4, #0x0] ldr r0, [r5, #0x0] ldr r0, [r0, #0x78] - bl sub_02052E10 + bl FUN_02052E10 mov r0, #0x1 pop {r3-r5, pc} _0203D6BC: @@ -122236,22 +122236,22 @@ _0203D6BC: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D6C4 -sub_0203D6C4: ; 0x0203D6C4 + thumb_func_start FUN_0203D6C4 +FUN_0203D6C4: ; 0x0203D6C4 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r4, #0x64] - ldr r1, _0203D6DC ; =sub_0203D6E0 + ldr r1, _0203D6DC ; =FUN_0203D6E0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203D6DC: .word sub_0203D6E0 + 1 +_0203D6DC: .word FUN_0203D6E0 + 1 - thumb_func_start sub_0203D6E0 -sub_0203D6E0: ; 0x0203D6E0 + thumb_func_start FUN_0203D6E0 +FUN_0203D6E0: ; 0x0203D6E0 push {r3-r5, lr} add r5, r0, #0x0 ldr r1, [r5, #0x64] @@ -122259,13 +122259,13 @@ sub_0203D6E0: ; 0x0203D6E0 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x78] - bl sub_02052648 + bl FUN_02052648 ldr r1, _0203D724 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x2 @@ -122275,7 +122275,7 @@ sub_0203D6E0: ; 0x0203D6E0 ldr r0, [r5, #0x0] mov r1, #0x8 ldr r0, [r0, #0x78] - bl sub_02052718 + bl FUN_02052718 _0203D716: cmp r0, #0x0 beq _0203D720 @@ -122288,237 +122288,237 @@ _0203D720: .balign 4 _0203D724: .word 0x021C48B8 - thumb_func_start sub_0203D728 -sub_0203D728: ; 0x0203D728 + thumb_func_start FUN_0203D728 +FUN_0203D728: ; 0x0203D728 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_02049EA4 + bl FUN_02049EA4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203D738 -sub_0203D738: ; 0x0203D738 + thumb_func_start FUN_0203D738 +FUN_0203D738: ; 0x0203D738 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020239BC + bl FUN_020239BC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020239CC + bl FUN_020239CC add r1, r0, #0x0 ldr r2, [r4, #0x0] add r0, r6, #0x0 - bl sub_0205363C + bl FUN_0205363C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203D774 -sub_0203D774: ; 0x0203D774 + thumb_func_start FUN_0203D774 +FUN_0203D774: ; 0x0203D774 push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020239BC + bl FUN_020239BC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020239CC + bl FUN_020239CC add r1, r0, #0x0 add r0, r6, #0x0 add r2, r7, #0x0 - bl sub_02053678 + bl FUN_02053678 strh r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_020239CC + bl FUN_020239CC ldrh r1, [r4, #0x0] mov r2, #0x2 - bl sub_020536D0 + bl FUN_020536D0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D7DC -sub_0203D7DC: ; 0x0203D7DC + thumb_func_start FUN_0203D7DC +FUN_0203D7DC: ; 0x0203D7DC push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020239BC + bl FUN_020239BC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020239CC + bl FUN_020239CC add r1, r0, #0x0 add r0, r6, #0x0 add r2, r7, #0x0 - bl sub_02053678 + bl FUN_02053678 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203D834 -sub_0203D834: ; 0x0203D834 + thumb_func_start FUN_0203D834 +FUN_0203D834: ; 0x0203D834 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 - bl sub_02023A2C + bl FUN_02023A2C mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D868 -sub_0203D868: ; 0x0203D868 + thumb_func_start FUN_0203D868 +FUN_0203D868: ; 0x0203D868 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_02048498 + bl FUN_02048498 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203D874 -sub_0203D874: ; 0x0203D874 + thumb_func_start FUN_0203D874 +FUN_0203D874: ; 0x0203D874 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r1, r4, #0x0 - bl sub_02034E04 + bl FUN_02034E04 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203D8A0 -sub_0203D8A0: ; 0x0203D8A0 + thumb_func_start FUN_0203D8A0 +FUN_0203D8A0: ; 0x0203D8A0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020239CC + bl FUN_020239CC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203D8D0 -sub_0203D8D0: ; 0x0203D8D0 + thumb_func_start FUN_0203D8D0 +FUN_0203D8D0: ; 0x0203D8D0 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_02046528 + bl FUN_02046528 ldr r0, [r0, #0xc] - bl sub_0206BB1C - bl sub_02085140 + bl FUN_0206BB1C + bl FUN_02085140 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D8E8 -sub_0203D8E8: ; 0x0203D8E8 + thumb_func_start FUN_0203D8E8 +FUN_0203D8E8: ; 0x0203D8E8 mov r0, #0x0 bx lr - thumb_func_start sub_0203D8EC -sub_0203D8EC: ; 0x0203D8EC + thumb_func_start FUN_0203D8EC +FUN_0203D8EC: ; 0x0203D8EC push {r4, lr} add r4, r0, #0x0 - bl sub_02050024 - ldr r1, _0203D900 ; =sub_0203D904 + bl FUN_02050024 + ldr r1, _0203D900 ; =FUN_0203D904 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203D900: .word sub_0203D904 + 1 +_0203D900: .word FUN_0203D904 + 1 - thumb_func_start sub_0203D904 -sub_0203D904: ; 0x0203D904 + thumb_func_start FUN_0203D904 +FUN_0203D904: ; 0x0203D904 push {r3, lr} - bl sub_02031810 + bl FUN_02031810 cmp r0, #0x1 beq _0203D91A - bl sub_0202EDF8 + bl FUN_0202EDF8 cmp r0, #0x1 beq _0203D91A mov r0, #0x1 @@ -122528,339 +122528,339 @@ _0203D91A: pop {r3, pc} .balign 4 - thumb_func_start sub_0203D920 -sub_0203D920: ; 0x0203D920 + thumb_func_start FUN_0203D920 +FUN_0203D920: ; 0x0203D920 push {r4, lr} add r4, r0, #0x0 - bl sub_02050048 - ldr r1, _0203D934 ; =sub_0203D904 + bl FUN_02050048 + ldr r1, _0203D934 ; =FUN_0203D904 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_0203D934: .word sub_0203D904 + 1 +_0203D934: .word FUN_0203D904 + 1 - thumb_func_start sub_0203D938 -sub_0203D938: ; 0x0203D938 + thumb_func_start FUN_0203D938 +FUN_0203D938: ; 0x0203D938 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0204FF5C + bl FUN_0204FF5C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D948 -sub_0203D948: ; 0x0203D948 + thumb_func_start FUN_0203D948 +FUN_0203D948: ; 0x0203D948 push {r3, lr} - bl sub_02038C30 - bl sub_0204F6DC + bl FUN_02038C30 + bl FUN_0204F6DC mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203D958 -sub_0203D958: ; 0x0203D958 + thumb_func_start FUN_0203D958 +FUN_0203D958: ; 0x0203D958 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r1, r6, #0x0 - bl sub_0206EE64 + bl FUN_0206EE64 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203D998 -sub_0203D998: ; 0x0203D998 + thumb_func_start FUN_0203D998 +FUN_0203D998: ; 0x0203D998 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02034B74 + bl FUN_02034B74 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203D9E8 -sub_0203D9E8: ; 0x0203D9E8 + thumb_func_start FUN_0203D9E8 +FUN_0203D9E8: ; 0x0203D9E8 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 ldr r2, [sp, #0x4] ldr r3, [sp, #0x8] add r5, r0, #0x0 add r1, r7, #0x0 str r4, [sp, #0x0] - bl sub_02058E28 + bl FUN_02058E28 add r0, r5, #0x0 - bl sub_02059D1C + bl FUN_02059D1C mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0203DA78 -sub_0203DA78: ; 0x0203DA78 + thumb_func_start FUN_0203DA78 +FUN_0203DA78: ; 0x0203DA78 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r2, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_02034BDC + bl FUN_02034BDC mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203DAB0 -sub_0203DAB0: ; 0x0203DAB0 + thumb_func_start FUN_0203DAB0 +FUN_0203DAB0: ; 0x0203DAB0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r2, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 - bl sub_02034BAC + bl FUN_02034BAC mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203DAE8 -sub_0203DAE8: ; 0x0203DAE8 + thumb_func_start FUN_0203DAE8 +FUN_0203DAE8: ; 0x0203DAE8 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02034C0C + bl FUN_02034C0C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203DB38 -sub_0203DB38: ; 0x0203DB38 + thumb_func_start FUN_0203DB38 +FUN_0203DB38: ; 0x0203DB38 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r3, r0, #0x0 ldr r0, [r5, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02034C34 + bl FUN_02034C34 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203DB88 -sub_0203DB88: ; 0x0203DB88 + thumb_func_start FUN_0203DB88 +FUN_0203DB88: ; 0x0203DB88 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 bne _0203DBC6 - bl sub_02020C2C + bl FUN_02020C2C _0203DBC6: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_021F1EC0 + bl FUN_021F1EC0 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203DBD4 -sub_0203DBD4: ; 0x0203DBD4 + thumb_func_start FUN_0203DBD4 +FUN_0203DBD4: ; 0x0203DBD4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xc - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldr r1, [r5, #0x0] cmp r1, #0x0 beq _0203DBFC @@ -122869,30 +122869,30 @@ _0203DBFC: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203DC00 -sub_0203DC00: ; 0x0203DC00 + thumb_func_start FUN_0203DC00 +FUN_0203DC00: ; 0x0203DC00 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 lsl r1, r4, #0x5 ldr r3, [r5, #0x8] add r2, r0, #0x0 @@ -122904,13 +122904,13 @@ sub_0203DC00: ; 0x0203DC00 ldr r0, [r5, #0x0] add r1, r7, r1 add r2, r2, r4 - bl sub_021DAE40 + bl FUN_021DAE40 mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203DC58 -sub_0203DC58: ; 0x0203DC58 + thumb_func_start FUN_0203DC58 +FUN_0203DC58: ; 0x0203DC58 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -122918,13 +122918,13 @@ sub_0203DC58: ; 0x0203DC58 add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021DAF78 + bl FUN_021DAF78 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DC70 -sub_0203DC70: ; 0x0203DC70 + thumb_func_start FUN_0203DC70 +FUN_0203DC70: ; 0x0203DC70 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -122932,13 +122932,13 @@ sub_0203DC70: ; 0x0203DC70 add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021DAF98 + bl FUN_021DAF98 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DC88 -sub_0203DC88: ; 0x0203DC88 + thumb_func_start FUN_0203DC88 +FUN_0203DC88: ; 0x0203DC88 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -122946,13 +122946,13 @@ sub_0203DC88: ; 0x0203DC88 add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021DAED4 + bl FUN_021DAED4 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCA0 -sub_0203DCA0: ; 0x0203DCA0 + thumb_func_start FUN_0203DCA0 +FUN_0203DCA0: ; 0x0203DCA0 push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -122960,73 +122960,73 @@ sub_0203DCA0: ; 0x0203DCA0 add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_021DAF28 + bl FUN_021DAF28 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCB8 -sub_0203DCB8: ; 0x0203DCB8 + thumb_func_start FUN_0203DCB8 +FUN_0203DCB8: ; 0x0203DCB8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02064CA8 + bl FUN_02064CA8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCC8 -sub_0203DCC8: ; 0x0203DCC8 + thumb_func_start FUN_0203DCC8 +FUN_0203DCC8: ; 0x0203DCC8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02241230 + bl FUN_02241230 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCD8 -sub_0203DCD8: ; 0x0203DCD8 + thumb_func_start FUN_0203DCD8 +FUN_0203DCD8: ; 0x0203DCD8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02064CC8 + bl FUN_02064CC8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCE8 -sub_0203DCE8: ; 0x0203DCE8 + thumb_func_start FUN_0203DCE8 +FUN_0203DCE8: ; 0x0203DCE8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02241914 + bl FUN_02241914 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DCF8 -sub_0203DCF8: ; 0x0203DCF8 + thumb_func_start FUN_0203DCF8 +FUN_0203DCF8: ; 0x0203DCF8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02064D10 + bl FUN_02064D10 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DD08 -sub_0203DD08: ; 0x0203DD08 + thumb_func_start FUN_0203DD08 +FUN_0203DD08: ; 0x0203DD08 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02064D4C + bl FUN_02064D4C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DD18 -sub_0203DD18: ; 0x0203DD18 + thumb_func_start FUN_0203DD18 +FUN_0203DD18: ; 0x0203DD18 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 @@ -123036,13 +123036,13 @@ sub_0203DD18: ; 0x0203DD18 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 - bl sub_02064D88 + bl FUN_02064D88 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DD34 -sub_0203DD34: ; 0x0203DD34 + thumb_func_start FUN_0203DD34 +FUN_0203DD34: ; 0x0203DD34 push {r3, lr} add r1, r0, #0x0 add r1, #0x80 @@ -123052,72 +123052,72 @@ sub_0203DD34: ; 0x0203DD34 str r1, [r0, #0x8] ldrb r1, [r2, #0x0] add r0, r3, #0x0 - bl sub_02242A38 + bl FUN_02242A38 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DD50 -sub_0203DD50: ; 0x0203DD50 + thumb_func_start FUN_0203DD50 +FUN_0203DD50: ; 0x0203DD50 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020388B4 + bl FUN_020388B4 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203DD60 -sub_0203DD60: ; 0x0203DD60 + thumb_func_start FUN_0203DD60 +FUN_0203DD60: ; 0x0203DD60 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 str r0, [r5, #0x64] ldr r0, [r6, #0x0] - bl sub_02058448 + bl FUN_02058448 add r1, r5, #0x0 add r1, #0x80 add r2, r0, #0x0 ldr r1, [r1, #0x0] add r0, r7, #0x0 - bl sub_0224CA54 + bl FUN_0224CA54 str r0, [r4, #0x0] - ldr r1, _0203DDBC ; =sub_0203DDC0 + ldr r1, _0203DDBC ; =FUN_0203DDC0 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r7, pc} .balign 4 -_0203DDBC: .word sub_0203DDC0 + 1 +_0203DDBC: .word FUN_0203DDC0 + 1 - thumb_func_start sub_0203DDC0 -sub_0203DDC0: ; 0x0203DDC0 + thumb_func_start FUN_0203DDC0 +FUN_0203DDC0: ; 0x0203DDC0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 ldr r1, [r5, #0x64] @@ -123125,10 +123125,10 @@ sub_0203DDC0: ; 0x0203DDC0 lsl r1, r1, #0x10 ldr r0, [r0, #0x0] lsr r1, r1, #0x10 - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0224CA2C + bl FUN_0224CA2C strh r0, [r5, #0x0] ldrh r1, [r5, #0x0] ldr r0, _0203DDFC ; =0x0000FFFE @@ -123142,41 +123142,41 @@ _0203DDF6: nop _0203DDFC: .word 0x0000FFFE - thumb_func_start sub_0203DE00 -sub_0203DE00: ; 0x0203DE00 + thumb_func_start FUN_0203DE00 +FUN_0203DE00: ; 0x0203DE00 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x3 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 - bl sub_0224CA58 + bl FUN_020394F0 + bl FUN_0224CA58 strb r0, [r4, #0x0] - ldr r1, _0203DE34 ; =sub_0203DE38 + ldr r1, _0203DE34 ; =FUN_0203DE38 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} .balign 4 -_0203DE34: .word sub_0203DE38 + 1 +_0203DE34: .word FUN_0203DE38 + 1 - thumb_func_start sub_0203DE38 -sub_0203DE38: ; 0x0203DE38 + thumb_func_start FUN_0203DE38 +FUN_0203DE38: ; 0x0203DE38 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x3 - bl sub_02039438 + bl FUN_02039438 ldrb r0, [r0, #0x0] - bl sub_020546C8 + bl FUN_020546C8 pop {r3, pc} _0203DE4C: .byte 0x08, 0xB5, 0x0E, 0xF2 @@ -123419,18 +123419,18 @@ _0203DE4C: .byte 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78 .byte 0x18, 0x1C, 0x0D, 0xF2, 0xE7, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 - thumb_func_start sub_0203ED2C -sub_0203ED2C: ; 0x0203ED2C + thumb_func_start FUN_0203ED2C +FUN_0203ED2C: ; 0x0203ED2C push {r4-r6, lr} sub sp, #0x10 ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 add r6, r0, #0x0 mov r0, #0x20 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 - bl sub_02066978 + bl FUN_02066978 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -123440,32 +123440,32 @@ sub_0203ED2C: ; 0x0203ED2C add r1, r5, #0x0 mov r2, #0x32 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202498C + bl FUN_0202498C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203ED70 -sub_0203ED70: ; 0x0203ED70 + thumb_func_start FUN_0203ED70 +FUN_0203ED70: ; 0x0203ED70 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02022510 - bl sub_0206B3E4 + bl FUN_02022510 + bl FUN_0206B3E4 lsl r0, r0, #0x10 lsr r1, r0, #0x10 mov r0, #0x87 @@ -123475,92 +123475,92 @@ sub_0203ED70: ; 0x0203ED70 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203EDA4 -sub_0203EDA4: ; 0x0203EDA4 + thumb_func_start FUN_0203EDA4 +FUN_0203EDA4: ; 0x0203EDA4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x16 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 mov r0, #0x0 add r5, #0x80 str r0, [r4, #0x0] ldr r0, [r5, #0x0] - bl sub_021E7184 + bl FUN_021E7184 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203EDC8 -sub_0203EDC8: ; 0x0203EDC8 + thumb_func_start FUN_0203EDC8 +FUN_0203EDC8: ; 0x0203EDC8 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x16 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_021E71E8 + bl FUN_021E71E8 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203EDE0 -sub_0203EDE0: ; 0x0203EDE0 + thumb_func_start FUN_0203EDE0 +FUN_0203EDE0: ; 0x0203EDE0 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r4, #0x80 lsl r1, r1, #0x18 ldr r0, [r4, #0x0] lsr r1, r1, #0x18 - bl sub_0224E554 + bl FUN_0224E554 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0203EE08 -sub_0203EE08: ; 0x0203EE08 + thumb_func_start FUN_0203EE08 +FUN_0203EE08: ; 0x0203EE08 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0206486C + bl FUN_0206486C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203EE18 -sub_0203EE18: ; 0x0203EE18 + thumb_func_start FUN_0203EE18 +FUN_0203EE18: ; 0x0203EE18 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020649D4 + bl FUN_020649D4 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203EE28 -sub_0203EE28: ; 0x0203EE28 + thumb_func_start FUN_0203EE28 +FUN_0203EE28: ; 0x0203EE28 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020649B0 + bl FUN_020649B0 cmp r0, #0x0 beq _0203EE4E mov r0, #0x1 @@ -123573,96 +123573,96 @@ _0203EE50: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203EE58 -sub_0203EE58: ; 0x0203EE58 + thumb_func_start FUN_0203EE58 +FUN_0203EE58: ; 0x0203EE58 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0224E764 + bl FUN_0224E764 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203EE68 -sub_0203EE68: ; 0x0203EE68 + thumb_func_start FUN_0203EE68 +FUN_0203EE68: ; 0x0203EE68 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_0224E7C4 + bl FUN_0224E7C4 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203EE78 -sub_0203EE78: ; 0x0203EE78 + thumb_func_start FUN_0203EE78 +FUN_0203EE78: ; 0x0203EE78 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 add r1, r4, #0x0 - bl sub_0202A170 + bl FUN_0202A170 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203EE98 -sub_0203EE98: ; 0x0203EE98 + thumb_func_start FUN_0203EE98 +FUN_0203EE98: ; 0x0203EE98 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206BAE4 + bl FUN_0206BAE4 strh r0, [r4, #0x0] mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0203EED8 -sub_0203EED8: ; 0x0203EED8 + thumb_func_start FUN_0203EED8 +FUN_0203EED8: ; 0x0203EED8 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, sp, #0x4 strh r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC add r4, #0x80 add r6, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r7, r0, #0x0 mov r5, #0x0 cmp r6, #0x0 @@ -123670,23 +123670,23 @@ sub_0203EED8: ; 0x0203EED8 _0203EF18: ldr r0, [sp, #0x0] add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0203EF54 ; =0x00000182 cmp r0, r1 bne _0203EF48 add r0, r4, #0x0 mov r1, #0x70 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_02024AF0 + bl FUN_02024AF0 _0203EF48: add r5, r5, #0x1 cmp r5, r6 @@ -123698,24 +123698,24 @@ _0203EF4E: .balign 4 _0203EF54: .word 0x00000182 - thumb_func_start sub_0203EF58 -sub_0203EF58: ; 0x0203EF58 + thumb_func_start FUN_0203EF58 +FUN_0203EF58: ; 0x0203EF58 push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0xc] - bl sub_0206B9AC + bl FUN_0206B9AC add r2, sp, #0x18 mov r4, #0x0 ldr r3, _0203F008 ; =0x020F34FC @@ -123736,16 +123736,16 @@ sub_0203EF58: ; 0x0203EF58 _0203EFA2: ldr r0, [sp, #0xc] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x10] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r3, r0, #0x0 mov r0, #0x67 ldr r1, [sp, #0x10] @@ -123790,117 +123790,117 @@ _0203EFFC: .balign 4 _0203F008: .word 0x020F34FC - thumb_func_start sub_0203F00C -sub_0203F00C: ; 0x0203F00C + thumb_func_start FUN_0203F00C +FUN_0203F00C: ; 0x0203F00C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F1C4 + bl FUN_020462AC + bl FUN_0205F1C4 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203F020 -sub_0203F020: ; 0x0203F020 + thumb_func_start FUN_0203F020 +FUN_0203F020: ; 0x0203F020 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F1D4 + bl FUN_020462AC + bl FUN_0205F1D4 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203F034 -sub_0203F034: ; 0x0203F034 + thumb_func_start FUN_0203F034 +FUN_0203F034: ; 0x0203F034 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] - bl sub_020389CC + bl FUN_020389CC mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0203F058 -sub_0203F058: ; 0x0203F058 + thumb_func_start FUN_0203F058 +FUN_0203F058: ; 0x0203F058 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204B2D8 + bl FUN_0204B2D8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203F07C -sub_0203F07C: ; 0x0203F07C + thumb_func_start FUN_0203F07C +FUN_0203F07C: ; 0x0203F07C push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 add r7, r0, #0x0 bne _0203F0FA - bl sub_02020C2C + bl FUN_02020C2C _0203F0FA: str r6, [sp, #0x0] str r4, [sp, #0x4] @@ -123908,93 +123908,93 @@ _0203F0FA: ldr r2, [sp, #0xc] ldr r3, [sp, #0x8] add r1, r7, #0x0 - bl sub_02054F50 + bl FUN_02054F50 mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0203F110 -sub_0203F110: ; 0x0203F110 + thumb_func_start FUN_0203F110 +FUN_0203F110: ; 0x0203F110 push {r3-r7, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r5, #0x0 ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 bne _0203F164 - bl sub_02020C2C + bl FUN_02020C2C _0203F164: ldr r0, [r4, #0x74] add r1, r5, #0x0 add r2, r7, #0x0 add r3, r6, #0x0 - bl sub_0205502C + bl FUN_0205502C mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_0203F174 -sub_0203F174: ; 0x0203F174 + thumb_func_start FUN_0203F174 +FUN_0203F174: ; 0x0203F174 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02054E30 + bl FUN_02054E30 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F19C -sub_0203F19C: ; 0x0203F19C + thumb_func_start FUN_0203F19C +FUN_0203F19C: ; 0x0203F19C push {r4-r7, lr} sub sp, #0x24 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_02027E24 - bl sub_0202708C + bl FUN_02027E24 + bl FUN_0202708C mov r6, #0x0 add r7, r0, #0x0 add r4, r6, #0x0 @@ -124004,7 +124004,7 @@ _0203F1CA: add r0, r7, #0x0 add r1, #0x22 mov r2, #0x1 - bl sub_020270D8 + bl FUN_020270D8 cmp r0, #0x1 bne _0203F1E0 mov r0, #0x1 @@ -124024,9 +124024,9 @@ _0203F1E0: mov r0, #0x0 pop {r4-r7, pc} _0203F1F8: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 mov r4, #0x0 add r2, sp, #0x4 _0203F206: @@ -124044,7 +124044,7 @@ _0203F212: _0203F21A: cmp r4, #0x10 blt _0203F222 - bl sub_02020C2C + bl FUN_02020C2C _0203F222: ldr r0, [sp, #0x0] add r4, #0x22 @@ -124055,15 +124055,15 @@ _0203F222: nop _0203F230: .word 0x0000FFFF - thumb_func_start sub_0203F234 -sub_0203F234: ; 0x0203F234 + thumb_func_start FUN_0203F234 +FUN_0203F234: ; 0x0203F234 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldr r1, _0203F250 ; =0x021C4918 ldrb r1, [r1, #0x6] strh r1, [r0, #0x0] @@ -124072,29 +124072,29 @@ sub_0203F234: ; 0x0203F234 .balign 4 _0203F250: .word 0x021C4918 - thumb_func_start sub_0203F254 -sub_0203F254: ; 0x0203F254 + thumb_func_start FUN_0203F254 +FUN_0203F254: ; 0x0203F254 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x0 - bl sub_0205F698 + bl FUN_0205F698 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203F26C -sub_0203F26C: ; 0x0203F26C + thumb_func_start FUN_0203F26C +FUN_0203F26C: ; 0x0203F26C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 @@ -124103,65 +124103,65 @@ sub_0203F26C: ; 0x0203F26C ldr r0, [r5, #0x0] ldrb r4, [r1, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC cmp r4, #0x0 beq _0203F2A0 add r1, r6, #0x0 - bl sub_0205F4E4 + bl FUN_0205F4E4 b _0203F2A6 _0203F2A0: add r1, r6, #0x0 - bl sub_0205F50C + bl FUN_0205F50C _0203F2A6: mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203F2AC -sub_0203F2AC: ; 0x0203F2AC + thumb_func_start FUN_0203F2AC +FUN_0203F2AC: ; 0x0203F2AC push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B6D0 + bl FUN_0200B6D0 mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0203F2E4 -sub_0203F2E4: ; 0x0203F2E4 + thumb_func_start FUN_0203F2E4 +FUN_0203F2E4: ; 0x0203F2E4 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0205F6C8 + bl FUN_0205F6C8 cmp r0, #0xa blo _0203F314 mov r0, #0x1 @@ -124173,107 +124173,107 @@ _0203F316: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203F31C -sub_0203F31C: ; 0x0203F31C + thumb_func_start FUN_0203F31C +FUN_0203F31C: ; 0x0203F31C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F648 + bl FUN_020462AC + bl FUN_0205F648 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F348 -sub_0203F348: ; 0x0203F348 + thumb_func_start FUN_0203F348 +FUN_0203F348: ; 0x0203F348 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02027E24 - bl sub_0202708C + bl FUN_02027E24 + bl FUN_0202708C add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02027210 + bl FUN_02027210 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203F38C -sub_0203F38C: ; 0x0203F38C + thumb_func_start FUN_0203F38C +FUN_0203F38C: ; 0x0203F38C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02046030 + bl FUN_02046030 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0203F39C -sub_0203F39C: ; 0x0203F39C + thumb_func_start FUN_0203F39C +FUN_0203F39C: ; 0x0203F39C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0205F668 + bl FUN_0205F668 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0203F3AC -sub_0203F3AC: ; 0x0203F3AC + thumb_func_start FUN_0203F3AC +FUN_0203F3AC: ; 0x0203F3AC push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02013B5C - bl sub_02013B74 + bl FUN_02013B5C + bl FUN_02013B74 cmp r0, #0x20 bne _0203F3FE ldr r0, _0203F414 ; =0x0000FFFF @@ -124282,32 +124282,32 @@ sub_0203F3AC: ; 0x0203F3AC pop {r3-r7, pc} _0203F3FE: strh r0, [r4, #0x0] - bl sub_02013BE4 + bl FUN_02013BE4 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r7, #0x0 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0x0 pop {r3-r7, pc} nop _0203F414: .word 0x0000FFFF - thumb_func_start sub_0203F418 -sub_0203F418: ; 0x0203F418 + thumb_func_start FUN_0203F418 +FUN_0203F418: ; 0x0203F418 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02013B5C - bl sub_02013BC8 + bl FUN_02013B5C + bl FUN_02013BC8 cmp r0, #0x1 bne _0203F444 mov r0, #0x1 @@ -124319,24 +124319,24 @@ _0203F446: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203F44C -sub_0203F44C: ; 0x0203F44C + thumb_func_start FUN_0203F44C +FUN_0203F44C: ; 0x0203F44C push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0205F710 + bl FUN_0205F710 cmp r0, #0x5 blo _0203F47C mov r0, #0x1 @@ -124348,33 +124348,33 @@ _0203F47E: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203F484 -sub_0203F484: ; 0x0203F484 + thumb_func_start FUN_0203F484 +FUN_0203F484: ; 0x0203F484 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 ldr r5, [r5, #0x0] add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02023788 + bl FUN_02023788 add r7, r0, #0x0 - bl sub_02023818 + bl FUN_02023818 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204B2B4 + bl FUN_0204B2B4 cmp r6, r0 bne _0203F4CE add r0, r7, #0x0 - bl sub_0202381C + bl FUN_0202381C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204B2C0 + bl FUN_0204B2C0 cmp r6, r0 bne _0203F4CE mov r0, #0x1 @@ -124388,47 +124388,47 @@ _0203F4D2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0203F4D8 -sub_0203F4D8: ; 0x0203F4D8 + thumb_func_start FUN_0203F4D8 +FUN_0203F4D8: ; 0x0203F4D8 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0202471C + bl FUN_0202471C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F508 -sub_0203F508: ; 0x0203F508 + thumb_func_start FUN_0203F508 +FUN_0203F508: ; 0x0203F508 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r6, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] @@ -124450,17 +124450,17 @@ _0203F54C: lsl r7, r7, #0x2 b _0203F582 _0203F556: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x19 bge _0203F568 ldr r7, _0203F5CC ; =0x0000010D b _0203F582 _0203F568: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x6 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r1, r0, #0x10 mov r0, #0x6 @@ -124501,7 +124501,7 @@ _0203F5A6: ldr r0, [r0, #0x0] add r1, r5, #0x0 add r2, r7, #0x0 - bl sub_02034C24 + bl FUN_02034C24 _0203F5B8: add r0, r5, #0x1 lsl r0, r0, #0x18 @@ -124515,86 +124515,86 @@ _0203F5C8: .word 0x0000010E _0203F5CC: .word 0x0000010D _0203F5D0: .word 0x020F3538 - thumb_func_start sub_0203F5D4 -sub_0203F5D4: ; 0x0203F5D4 + thumb_func_start FUN_0203F5D4 +FUN_0203F5D4: ; 0x0203F5D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F720 + bl FUN_0205F720 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F604 -sub_0203F604: ; 0x0203F604 + thumb_func_start FUN_0203F604 +FUN_0203F604: ; 0x0203F604 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F740 + bl FUN_0205F740 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F634 -sub_0203F634: ; 0x0203F634 + thumb_func_start FUN_0203F634 +FUN_0203F634: ; 0x0203F634 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F760 + bl FUN_0205F760 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F664 -sub_0203F664: ; 0x0203F664 + thumb_func_start FUN_0203F664 +FUN_0203F664: ; 0x0203F664 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 @@ -124617,22 +124617,22 @@ _0203F684: str r1, [r0, #0x0] ldrb r6, [r2, #0x0] mov r0, #0x4 - bl sub_02027E5C + bl FUN_02027E5C add r1, sp, #0x0 add r2, r6, #0x0 mov r3, #0x0 add r7, r0, #0x0 - bl sub_02027F04 + bl FUN_02027F04 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02028048 + bl FUN_02028048 add r1, r7, #0x0 - bl sub_02028094 + bl FUN_02028094 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0203F6E0 ; =0x0000FFFF cmp r5, r0 bne _0203F6D8 @@ -124647,22 +124647,22 @@ _0203F6DA: .balign 4 _0203F6E0: .word 0x0000FFFF - thumb_func_start sub_0203F6E4 -sub_0203F6E4: ; 0x0203F6E4 + thumb_func_start FUN_0203F6E4 +FUN_0203F6E4: ; 0x0203F6E4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02028048 - bl sub_02028074 + bl FUN_02028048 + bl FUN_02028074 ldr r1, _0203F71C ; =0x0000FFFF cmp r0, r1 bne _0203F712 @@ -124677,71 +124677,71 @@ _0203F714: nop _0203F71C: .word 0x0000FFFF - thumb_func_start sub_0203F720 -sub_0203F720: ; 0x0203F720 + thumb_func_start FUN_0203F720 +FUN_0203F720: ; 0x0203F720 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 cmp r4, #0x3 bls _0203F752 - bl sub_02020C2C + bl FUN_02020C2C _0203F752: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205F4A0 + bl FUN_0205F4A0 strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0203F760 -sub_0203F760: ; 0x0203F760 + thumb_func_start FUN_0203F760 +FUN_0203F760: ; 0x0203F760 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x20 ldr r0, [r0, #0xc] add r2, sp, #0x0 - bl sub_02022534 + bl FUN_02022534 ldr r1, [sp, #0x0] add r4, r0, #0x0 cmp r1, #0x0 bne _0203F798 mov r1, #0x0 strh r1, [r5, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0203F798: cmp r1, #0x1 bne _0203F7AE mov r1, #0x0 - bl sub_0202B21C + bl FUN_0202B21C strh r0, [r5, #0x0] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0203F7AE: @@ -124749,7 +124749,7 @@ _0203F7AE: bne _0203F7BE mov r1, #0x0 strh r1, [r5, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0203F7BE: @@ -124759,69 +124759,69 @@ _0203F7BE: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F7C8 -sub_0203F7C8: ; 0x0203F7C8 + thumb_func_start FUN_0203F7C8 +FUN_0203F7C8: ; 0x0203F7C8 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 add r4, r0, #0x0 ldr r1, [r1, #0x0] mov r0, #0x20 add r2, r6, #0x0 - bl sub_02037A48 + bl FUN_02037A48 str r0, [r4, #0x0] - ldr r1, _0203F808 ; =sub_0203BC04 + ldr r1, _0203F808 ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4-r6, pc} .balign 4 -_0203F808: .word sub_0203BC04 + 1 +_0203F808: .word FUN_0203BC04 + 1 - thumb_func_start sub_0203F80C -sub_0203F80C: ; 0x0203F80C + thumb_func_start FUN_0203F80C +FUN_0203F80C: ; 0x0203F80C push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _0203F84C - bl sub_02020C2C + bl FUN_02020C2C _0203F84C: ldr r0, [r4, #0x0] - bl sub_02037A40 + bl FUN_02037A40 strh r0, [r6, #0x0] ldrh r0, [r6, #0x0] cmp r0, #0x7 @@ -124830,7 +124830,7 @@ _0203F84C: strh r0, [r6, #0x0] _0203F85E: ldr r0, [r4, #0x0] - bl sub_02037A70 + bl FUN_02037A70 strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x1 @@ -124842,32 +124842,32 @@ _0203F870: _0203F872: strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r4-r6, pc} - thumb_func_start sub_0203F880 -sub_0203F880: ; 0x0203F880 + thumb_func_start FUN_0203F880 +FUN_0203F880: ; 0x0203F880 push {r3-r5, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r4, [r2, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 cmp r4, #0x64 bls _0203F8A2 mov r4, #0x64 _0203F8A2: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x65 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r0, r0, #0x10 cmp r0, r4 @@ -124881,24 +124881,24 @@ _0203F8BA: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203F8C0 -sub_0203F8C0: ; 0x0203F8C0 + thumb_func_start FUN_0203F8C0 +FUN_0203F8C0: ; 0x0203F8C0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] @@ -124912,161 +124912,161 @@ sub_0203F8C0: ; 0x0203F8C0 _0203F8FC: mov r2, #0x0 mov r3, #0x20 - bl sub_0224F12C + bl FUN_0224F12C b _0203F91E _0203F906: mov r2, #0x1 mov r3, #0x20 - bl sub_0224F12C + bl FUN_0224F12C b _0203F91E _0203F910: mov r2, #0x2 mov r3, #0x20 - bl sub_0224F12C + bl FUN_0224F12C b _0203F91E _0203F91A: - bl sub_02020C2C + bl FUN_02020C2C _0203F91E: mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F924 -sub_0203F924: ; 0x0203F924 + thumb_func_start FUN_0203F924 +FUN_0203F924: ; 0x0203F924 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F6A8 + bl FUN_0205F6A8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F954 -sub_0203F954: ; 0x0203F954 + thumb_func_start FUN_0203F954 +FUN_0203F954: ; 0x0203F954 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 cmp r0, #0x0 bne _0203F978 add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] - bl sub_02239944 + bl FUN_02239944 b _0203F982 _0203F978: add r4, #0x80 ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] - bl sub_02239AAC + bl FUN_02239AAC _0203F982: mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0203F988 -sub_0203F988: ; 0x0203F988 + thumb_func_start FUN_0203F988 +FUN_0203F988: ; 0x0203F988 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0203384C + bl FUN_0203384C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F9B0 -sub_0203F9B0: ; 0x0203F9B0 + thumb_func_start FUN_0203F9B0 +FUN_0203F9B0: ; 0x0203F9B0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020286EC - bl sub_02028448 + bl FUN_020286EC + bl FUN_02028448 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203F9DC -sub_0203F9DC: ; 0x0203F9DC + thumb_func_start FUN_0203F9DC +FUN_0203F9DC: ; 0x0203F9DC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02026CC4 + bl FUN_02026CC4 ldr r1, _0203FA10 ; =0x0000FF79 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 cmp r1, #0x1 bhi _0203FA0C - bl sub_02025C30 + bl FUN_02025C30 _0203FA0C: mov r0, #0x0 pop {r3-r5, pc} .balign 4 _0203FA10: .word 0x0000FF79 - thumb_func_start sub_0203FA14 -sub_0203FA14: ; 0x0203FA14 + thumb_func_start FUN_0203FA14 +FUN_0203FA14: ; 0x0203FA14 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r1, #0x0 strh r1, [r0, #0x0] ldr r1, _0203FA54 ; =0x0000012A @@ -125083,87 +125083,87 @@ _0203FA4E: nop _0203FA54: .word 0x0000012A - thumb_func_start sub_0203FA58 -sub_0203FA58: ; 0x0203FA58 + thumb_func_start FUN_0203FA58 +FUN_0203FA58: ; 0x0203FA58 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 mov r0, #0x20 - bl sub_0200AA80 + bl FUN_0200AA80 add r4, r0, #0x0 ldr r2, _0203FB48 ; =0x00000147 mov r0, #0x0 mov r1, #0x1a mov r3, #0x20 - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 ldr r2, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200B518 + bl FUN_0200B518 ldr r2, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x1 - bl sub_0200B518 + bl FUN_0200B518 ldr r2, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x2 - bl sub_0200B518 + bl FUN_0200B518 add r0, r4, #0x0 mov r1, #0x3 add r2, r7, #0x0 - bl sub_0200B518 + bl FUN_0200B518 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 mov r3, #0x20 - bl sub_0200A9C4 + bl FUN_0200A9C4 add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r7, #0x0 - bl sub_02021CE0 + bl FUN_02021CE0 cmp r0, #0x0 bne _0203FB24 mov r0, #0x1 @@ -125173,113 +125173,113 @@ _0203FB24: _0203FB26: strh r0, [r6, #0x0] add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x0] - bl sub_02021A20 + bl FUN_02021A20 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _0203FB48: .word 0x00000147 - thumb_func_start sub_0203FB4C -sub_0203FB4C: ; 0x0203FB4C + thumb_func_start FUN_0203FB4C +FUN_0203FB4C: ; 0x0203FB4C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023788 + bl FUN_02023788 mov r1, #0x1 - bl sub_02023828 + bl FUN_02023828 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203FB64 -sub_0203FB64: ; 0x0203FB64 + thumb_func_start FUN_0203FB64 +FUN_0203FB64: ; 0x0203FB64 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_0205296C + bl FUN_0205296C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203FB94 -sub_0203FB94: ; 0x0203FB94 + thumb_func_start FUN_0203FB94 +FUN_0203FB94: ; 0x0203FB94 push {r3, lr} - bl sub_02033E74 + bl FUN_02033E74 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203FBA0 -sub_0203FBA0: ; 0x0203FBA0 + thumb_func_start FUN_0203FBA0 +FUN_0203FBA0: ; 0x0203FBA0 push {r3, lr} - bl sub_02033ED0 + bl FUN_02033ED0 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203FBAC -sub_0203FBAC: ; 0x0203FBAC + thumb_func_start FUN_0203FBAC +FUN_0203FBAC: ; 0x0203FBAC push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_02034E48 + bl FUN_02034E48 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203FBBC -sub_0203FBBC: ; 0x0203FBBC + thumb_func_start FUN_0203FBBC +FUN_0203FBBC: ; 0x0203FBBC push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DCC + bl FUN_02034E30 + bl FUN_02034DCC str r4, [r0, #0x0] str r6, [r0, #0x8] mov r1, #0x0 @@ -125291,16 +125291,16 @@ sub_0203FBBC: ; 0x0203FBBC mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0203FC1C -sub_0203FC1C: ; 0x0203FC1C + thumb_func_start FUN_0203FC1C +FUN_0203FC1C: ; 0x0203FC1C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 ldr r2, [r5, #0x8] add r1, r0, #0x0 add r0, r2, #0x1 @@ -125309,85 +125309,85 @@ sub_0203FC1C: ; 0x0203FC1C ldr r0, [r5, #0x0] ldrb r4, [r2, #0x0] ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 bne _0203FC4C - bl sub_02020C2C + bl FUN_02020C2C _0203FC4C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020588B8 + bl FUN_020588B8 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203FC58 -sub_0203FC58: ; 0x0203FC58 + thumb_func_start FUN_0203FC58 +FUN_0203FC58: ; 0x0203FC58 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02065078 + bl FUN_02065078 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203FC80 -sub_0203FC80: ; 0x0203FC80 + thumb_func_start FUN_0203FC80 +FUN_0203FC80: ; 0x0203FC80 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x28 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0202280C + bl FUN_0202280C cmp r0, #0x0 bne _0203FCAA add r0, r5, #0x0 mov r1, #0x4 mov r2, #0x3 - bl sub_021E8588 + bl FUN_021E8588 str r0, [r4, #0x0] - bl sub_021E84F4 + bl FUN_021E84F4 _0203FCAA: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203FCB0 -sub_0203FCB0: ; 0x0203FCB0 + thumb_func_start FUN_0203FCB0 +FUN_0203FCB0: ; 0x0203FCB0 push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] mov r1, #0x28 add r0, r5, #0x0 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0202280C + bl FUN_0202280C cmp r0, #0x0 bne _0203FCD6 ldr r0, [r4, #0x0] - bl sub_021E856C + bl FUN_021E856C ldr r0, [r4, #0x0] - bl sub_021E85E4 + bl FUN_021E85E4 _0203FCD6: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0203FCDC -sub_0203FCDC: ; 0x0203FCDC + thumb_func_start FUN_0203FCDC +FUN_0203FCDC: ; 0x0203FCDC push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 @@ -125395,22 +125395,22 @@ sub_0203FCDC: ; 0x0203FCDC add r0, #0x80 ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_0206367C + bl FUN_0206367C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0203FCF4 -sub_0203FCF4: ; 0x0203FCF4 + thumb_func_start FUN_0203FCF4 +FUN_0203FCF4: ; 0x0203FCF4 push {r4-r7, lr} sub sp, #0x84 add r7, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 mov r4, #0x0 add r6, r4, #0x0 add r5, r4, #0x0 @@ -125419,9 +125419,9 @@ _0203FD10: add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r5, #0x0 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x1 bne _0203FD2C add r0, r6, #0x1 @@ -125488,7 +125488,7 @@ _0203FD8E: ldr r0, [r7, #0x74] add r7, #0x80 ldr r1, [r7, #0x0] - bl sub_0223D3D0 + bl FUN_0223D3D0 mov r0, #0x1 add sp, #0x84 pop {r4-r7, pc} @@ -125496,17 +125496,17 @@ _0203FD8E: _0203FDB4: .word 0x020F4218 _0203FDB8: .word 0x0000FFFF - thumb_func_start sub_0203FDBC -sub_0203FDBC: ; 0x0203FDBC + thumb_func_start FUN_0203FDBC +FUN_0203FDBC: ; 0x0203FDBC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, _0203FE00 ; =0x0000FFF8 add r0, r2, r0 @@ -125527,7 +125527,7 @@ _0203FDE6: ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x0 - bl sub_0223D3D0 + bl FUN_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} @@ -125535,17 +125535,17 @@ _0203FDE6: _0203FE00: .word 0x0000FFF8 _0203FE04: .word 0x02105E10 - thumb_func_start sub_0203FE08 -sub_0203FE08: ; 0x0203FE08 + thumb_func_start FUN_0203FE08 +FUN_0203FE08: ; 0x0203FE08 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 cmp r2, #0x1 bhi _0203FE28 @@ -125562,24 +125562,24 @@ _0203FE2A: ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x1 - bl sub_0223D3D0 + bl FUN_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0203FE44: .word 0x02105DEC - thumb_func_start sub_0203FE48 -sub_0203FE48: ; 0x0203FE48 + thumb_func_start FUN_0203FE48 +FUN_0203FE48: ; 0x0203FE48 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0x0 lsl r3, r2, #0x2 @@ -125590,144 +125590,144 @@ sub_0203FE48: ; 0x0203FE48 ldr r2, [r2, r3] ldr r1, [r4, #0x0] mov r3, #0x2 - bl sub_0223D3D0 + bl FUN_0223D3D0 mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0203FE7C: .word 0x02105DF4 - thumb_func_start sub_0203FE80 -sub_0203FE80: ; 0x0203FE80 + thumb_func_start FUN_0203FE80 +FUN_0203FE80: ; 0x0203FE80 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x10] - bl sub_02038AD0 + bl FUN_02038AD0 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0203FE90 -sub_0203FE90: ; 0x0203FE90 + thumb_func_start FUN_0203FE90 +FUN_0203FE90: ; 0x0203FE90 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 lsl r1, r1, #0x18 ldr r0, [r4, #0x0] lsr r1, r1, #0x18 - bl sub_02082140 + bl FUN_02082140 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0203FEC0 -sub_0203FEC0: ; 0x0203FEC0 + thumb_func_start FUN_0203FEC0 +FUN_0203FEC0: ; 0x0203FEC0 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [r4, #0x64] - ldr r1, _0203FEF0 ; =sub_0203FEF4 + ldr r1, _0203FEF0 ; =FUN_0203FEF4 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0203FEF0: .word sub_0203FEF4 + 1 +_0203FEF0: .word FUN_0203FEF4 + 1 - thumb_func_start sub_0203FEF4 -sub_0203FEF4: ; 0x0203FEF4 + thumb_func_start FUN_0203FEF4 +FUN_0203FEF4: ; 0x0203FEF4 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x64] ldr r0, [r0, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02082158 + bl FUN_02082158 pop {r4, pc} - thumb_func_start sub_0203FF10 -sub_0203FF10: ; 0x0203FF10 + thumb_func_start FUN_0203FF10 +FUN_0203FF10: ; 0x0203FF10 push {r3-r7, lr} sub sp, #0x38 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x0] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x4 - bl sub_020239A0 + bl FUN_020239A0 add r7, r0, #0x0 ldr r1, [sp, #0x8] add r0, sp, #0x14 @@ -125740,16 +125740,16 @@ sub_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED0C + bl FUN_020462AC + bl FUN_0205ED0C add r1, sp, #0x14 strb r0, [r1, #0x3] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 - bl sub_02024CA4 + bl FUN_02024DA0 + bl FUN_02024CA4 add r1, sp, #0x14 strb r0, [r1, #0x4] strb r6, [r1, #0x5] @@ -125761,13 +125761,13 @@ sub_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02027E24 + bl FUN_02027E24 str r0, [sp, #0x28] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x2c] add r0, r5, #0x0 add r0, #0x80 @@ -125777,40 +125777,40 @@ sub_0203FF10: ; 0x0203FF10 str r0, [sp, #0x30] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029EF8 + bl FUN_02029EF8 str r0, [sp, #0x34] add r0, sp, #0x14 - bl sub_02081214 + bl FUN_02081214 ldr r1, [sp, #0x0] str r0, [r1, #0x0] add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x38 pop {r3-r7, pc} - thumb_func_start sub_02040028 -sub_02040028: ; 0x02040028 + thumb_func_start FUN_02040028 +FUN_02040028: ; 0x02040028 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 add r5, #0x80 ldr r3, [r5, #0x0] add r2, r0, #0x0 @@ -125818,155 +125818,155 @@ sub_02040028: ; 0x02040028 add r3, #0x98 ldr r0, [r4, #0x0] ldr r3, [r3, #0x0] - bl sub_02082630 + bl FUN_02082630 ldr r0, [r4, #0x0] - bl sub_020814E8 + bl FUN_020814E8 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02040074 -sub_02040074: ; 0x02040074 + thumb_func_start FUN_02040074 +FUN_02040074: ; 0x02040074 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r6, #0x0] add r1, r7, #0x0 - bl sub_0208201C + bl FUN_0208201C mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020400C8 -sub_020400C8: ; 0x020400C8 + thumb_func_start FUN_020400C8 +FUN_020400C8: ; 0x020400C8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r6, #0x0] add r1, r7, #0x0 - bl sub_02082034 + bl FUN_02082034 mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204011C -sub_0204011C: ; 0x0204011C + thumb_func_start FUN_0204011C +FUN_0204011C: ; 0x0204011C push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r6, #0x0] add r1, r7, #0x0 - bl sub_0208206C + bl FUN_0208206C mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040170 -sub_02040170: ; 0x02040170 + thumb_func_start FUN_02040170 +FUN_02040170: ; 0x02040170 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -125974,544 +125974,544 @@ sub_02040170: ; 0x02040170 str r3, [sp, #0x4] ldr r0, [r4, #0x0] add r2, r6, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020401CC -sub_020401CC: ; 0x020401CC + thumb_func_start FUN_020401CC +FUN_020401CC: ; 0x020401CC push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02081DC4 - ldr r1, _020401EC ; =sub_020401F0 + bl FUN_02081DC4 + ldr r1, _020401EC ; =FUN_020401F0 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} .balign 4 -_020401EC: .word sub_020401F0 + 1 +_020401EC: .word FUN_020401F0 + 1 - thumb_func_start sub_020401F0 -sub_020401F0: ; 0x020401F0 + thumb_func_start FUN_020401F0 +FUN_020401F0: ; 0x020401F0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02081EB8 + bl FUN_02081EB8 pop {r3, pc} - thumb_func_start sub_02040204 -sub_02040204: ; 0x02040204 + thumb_func_start FUN_02040204 +FUN_02040204: ; 0x02040204 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r1, r0, #0x0 ldr r0, [r4, #0x74] ldr r1, [r1, #0x0] - bl sub_02080E0C + bl FUN_02080E0C mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_02040220 -sub_02040220: ; 0x02040220 + thumb_func_start FUN_02040220 +FUN_02040220: ; 0x02040220 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r6, #0x0] - bl sub_02082090 + bl FUN_02082090 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0204025C -sub_0204025C: ; 0x0204025C + thumb_func_start FUN_0204025C +FUN_0204025C: ; 0x0204025C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r6, #0x0] - bl sub_020820B8 + bl FUN_020820B8 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02040298 -sub_02040298: ; 0x02040298 + thumb_func_start FUN_02040298 +FUN_02040298: ; 0x02040298 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r6, #0x0] - bl sub_020820DC + bl FUN_020820DC mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020402D4 -sub_020402D4: ; 0x020402D4 + thumb_func_start FUN_020402D4 +FUN_020402D4: ; 0x020402D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0208213C + bl FUN_0208213C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02040304 -sub_02040304: ; 0x02040304 + thumb_func_start FUN_02040304 +FUN_02040304: ; 0x02040304 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r6, #0x0] - bl sub_0208210C + bl FUN_0208210C mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02040340 -sub_02040340: ; 0x02040340 + thumb_func_start FUN_02040340 +FUN_02040340: ; 0x02040340 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0208217C + bl FUN_0208217C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02040370 -sub_02040370: ; 0x02040370 + thumb_func_start FUN_02040370 +FUN_02040370: ; 0x02040370 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02082190 + bl FUN_02082190 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020403A0 -sub_020403A0: ; 0x020403A0 + thumb_func_start FUN_020403A0 +FUN_020403A0: ; 0x020403A0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020821B4 + bl FUN_020821B4 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020403D0 -sub_020403D0: ; 0x020403D0 + thumb_func_start FUN_020403D0 +FUN_020403D0: ; 0x020403D0 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 - bl sub_020821C4 + bl FUN_020821C4 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02040414 -sub_02040414: ; 0x02040414 + thumb_func_start FUN_02040414 +FUN_02040414: ; 0x02040414 push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0x0] add r1, r6, #0x0 - bl sub_020821DC + bl FUN_020821DC strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02040458 -sub_02040458: ; 0x02040458 + thumb_func_start FUN_02040458 +FUN_02040458: ; 0x02040458 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020821F0 + bl FUN_020821F0 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02040488 -sub_02040488: ; 0x02040488 + thumb_func_start FUN_02040488 +FUN_02040488: ; 0x02040488 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] ldr r0, [r4, #0x0] ldr r3, [sp, #0x4] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02082214 + bl FUN_02082214 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020404FC -sub_020404FC: ; 0x020404FC + thumb_func_start FUN_020404FC +FUN_020404FC: ; 0x020404FC push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02082254 + bl FUN_02082254 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204052C -sub_0204052C: ; 0x0204052C + thumb_func_start FUN_0204052C +FUN_0204052C: ; 0x0204052C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, [r6, #0x0] mov r3, #0xb - bl sub_02082284 + bl FUN_02082284 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204056C -sub_0204056C: ; 0x0204056C + thumb_func_start FUN_0204056C +FUN_0204056C: ; 0x0204056C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020822F0 + bl FUN_020822F0 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204059C -sub_0204059C: ; 0x0204059C + thumb_func_start FUN_0204059C +FUN_0204059C: ; 0x0204059C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_0208223C + bl FUN_0208223C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020405B4 -sub_020405B4: ; 0x020405B4 + thumb_func_start FUN_020405B4 +FUN_020405B4: ; 0x020405B4 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_0208224C + bl FUN_0208224C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020405CC -sub_020405CC: ; 0x020405CC + thumb_func_start FUN_020405CC +FUN_020405CC: ; 0x020405CC push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02082444 + bl FUN_02082444 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020405F8 -sub_020405F8: ; 0x020405F8 + thumb_func_start FUN_020405F8 +FUN_020405F8: ; 0x020405F8 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 - ldr r1, _02040614 ; =sub_02040618 + bl FUN_02039438 + ldr r1, _02040614 ; =FUN_02040618 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_02040614: .word sub_02040618 + 1 +_02040614: .word FUN_02040618 + 1 - thumb_func_start sub_02040618 -sub_02040618: ; 0x02040618 + thumb_func_start FUN_02040618 +FUN_02040618: ; 0x02040618 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 ldr r0, [r0, #0x0] - bl sub_02082508 + bl FUN_02082508 cmp r0, #0x1 bne _02040632 mov r0, #0x1 @@ -126521,46 +126521,46 @@ _02040632: pop {r3, pc} .balign 4 - thumb_func_start sub_02040638 -sub_02040638: ; 0x02040638 + thumb_func_start FUN_02040638 +FUN_02040638: ; 0x02040638 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0x1c] - bl sub_021F4608 + bl FUN_021F4608 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0204064C -sub_0204064C: ; 0x0204064C + thumb_func_start FUN_0204064C +FUN_0204064C: ; 0x0204064C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] ldr r0, [r0, #0x1c] - bl sub_021F45E8 + bl FUN_021F45E8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02040660 -sub_02040660: ; 0x02040660 + thumb_func_start FUN_02040660 +FUN_02040660: ; 0x02040660 push {r4-r5, lr} sub sp, #0x1c add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x14 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, sp, #0xc str r0, [sp, #0x0] @@ -126570,7 +126570,7 @@ sub_02040660: ; 0x02040660 add r1, sp, #0x18 add r2, sp, #0x14 add r3, sp, #0x10 - bl sub_020825A0 + bl FUN_020825A0 ldr r0, [sp, #0x14] cmp r0, #0x1 beq _020406B0 @@ -126595,241 +126595,241 @@ _020406BA: add sp, #0x1c pop {r4-r5, pc} - thumb_func_start sub_020406C0 -sub_020406C0: ; 0x020406C0 + thumb_func_start FUN_020406C0 +FUN_020406C0: ; 0x020406C0 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_0224D3E8 + bl FUN_0224D3E8 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_020406CC -sub_020406CC: ; 0x020406CC + thumb_func_start FUN_020406CC +FUN_020406CC: ; 0x020406CC push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] mov r1, #0xf add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r4, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] ldrb r5, [r1, #0x0] add r0, r6, #0x0 - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r2, r0, #0x0 ldr r0, [r4, #0x0] add r1, r5, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040700 -sub_02040700: ; 0x02040700 + thumb_func_start FUN_02040700 +FUN_02040700: ; 0x02040700 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xf add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] ldr r2, [r4, #0xc] - bl sub_0200ABE4 + bl FUN_0200ABE4 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02040724 -sub_02040724: ; 0x02040724 + thumb_func_start FUN_02040724 +FUN_02040724: ; 0x02040724 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] mov r1, #0xf add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] ldr r2, [r4, #0xc] - bl sub_0200AC0C + bl FUN_0200AC0C mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02040748 -sub_02040748: ; 0x02040748 + thumb_func_start FUN_02040748 +FUN_02040748: ; 0x02040748 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] mov r1, #0xf add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r2, r0, #0x0 ldr r0, [r7, #0x0] add r1, r4, #0x0 - bl sub_0200AC60 + bl FUN_0200AC60 mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040790 -sub_02040790: ; 0x02040790 + thumb_func_start FUN_02040790 +FUN_02040790: ; 0x02040790 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020407C8 -sub_020407C8: ; 0x020407C8 + thumb_func_start FUN_020407C8 +FUN_020407C8: ; 0x020407C8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AEE0 + bl FUN_0200AEE0 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040800 -sub_02040800: ; 0x02040800 + thumb_func_start FUN_02040800 +FUN_02040800: ; 0x02040800 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 - bl sub_0206EA30 + bl FUN_020394F0 + bl FUN_0206EA30 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AD5C + bl FUN_0200AD5C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204083C -sub_0204083C: ; 0x0204083C + thumb_func_start FUN_0204083C +FUN_0204083C: ; 0x0204083C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AD5C + bl FUN_0200AD5C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040874 -sub_02040874: ; 0x02040874 + thumb_func_start FUN_02040874 +FUN_02040874: ; 0x02040874 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 - bl sub_02054C14 + bl FUN_02054C14 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -126837,32 +126837,32 @@ sub_02040874: ; 0x02040874 ldr r0, [r6, #0x0] add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_020408BC -sub_020408BC: ; 0x020408BC + thumb_func_start FUN_020408BC +FUN_020408BC: ; 0x020408BC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] ldr r1, [r5, #0x8] add r2, r1, #0x1 @@ -126873,7 +126873,7 @@ sub_020408BC: ; 0x020408BC ldrb r3, [r2, #0x0] cmp r4, #0x0 bne _02040904 - bl sub_02054C14 + bl FUN_02054C14 lsl r0, r0, #0x18 lsr r3, r0, #0x18 _02040904: @@ -126883,198 +126883,198 @@ _02040904: ldr r0, [r7, #0x0] ldr r2, [sp, #0x8] add r1, r6, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0204091C -sub_0204091C: ; 0x0204091C + thumb_func_start FUN_0204091C +FUN_0204091C: ; 0x0204091C push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] mov r1, #0xf add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r2, r0, #0x0 ldr r0, [r7, #0x0] add r1, r4, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040964 -sub_02040964: ; 0x02040964 + thumb_func_start FUN_02040964 +FUN_02040964: ; 0x02040964 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r4, [r0, #0x0] ldr r0, [r4, #0xc] - bl sub_02022510 + bl FUN_02022510 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 mov r1, #0x1e - blx sub_020EBC80 + blx FUN_020EBC80 add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1e - blx sub_020EBC80 + blx FUN_020EBC80 add r2, r1, #0x0 ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_0206B5E4 + bl FUN_0206B5E4 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020409C0 -sub_020409C0: ; 0x020409C0 + thumb_func_start FUN_020409C0 +FUN_020409C0: ; 0x020409C0 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B02C + bl FUN_0200B02C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020409F8 -sub_020409F8: ; 0x020409F8 + thumb_func_start FUN_020409F8 +FUN_020409F8: ; 0x020409F8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B064 + bl FUN_0200B064 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040A30 -sub_02040A30: ; 0x02040A30 + thumb_func_start FUN_02040A30 +FUN_02040A30: ; 0x02040A30 push {r3-r7, lr} add r7, r0, #0x0 add r0, #0x80 ldr r5, [r0, #0x0] add r0, r5, #0x0 - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r7, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r7, #0x8] add r0, r4, #0x0 ldrb r5, [r1, #0x0] - bl sub_020239CC + bl FUN_020239CC add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02023A28 + bl FUN_02023A28 add r1, r0, #0x0 add r0, r7, #0x0 mov r2, #0x2 - bl sub_020536D0 + bl FUN_020536D0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r5, #0x0 - bl sub_0200B09C + bl FUN_0200B09C mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02040A7C -sub_02040A7C: ; 0x02040A7C + thumb_func_start FUN_02040A7C +FUN_02040A7C: ; 0x02040A7C push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 ldr r1, [r5, #0x8] str r0, [sp, #0x8] add r0, r1, #0x1 @@ -127082,7 +127082,7 @@ sub_02040A7C: ; 0x02040A7C ldrb r5, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x4 - bl sub_02040AE4 + bl FUN_02040AE4 add r6, r0, #0x0 str r5, [sp, #0x0] mov r0, #0x2 @@ -127091,43 +127091,43 @@ sub_02040A7C: ; 0x02040A7C ldr r3, [sp, #0x8] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02040AE4 -sub_02040AE4: ; 0x02040AE4 + thumb_func_start FUN_02040AE4 +FUN_02040AE4: ; 0x02040AE4 push {r3-r5, lr} ldr r2, _02040B08 ; =0x0000016A add r4, r0, #0x0 add r3, r1, #0x0 mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 add r1, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02040B08: .word 0x0000016A - thumb_func_start sub_02040B0C -sub_02040B0C: ; 0x02040B0C + thumb_func_start FUN_02040B0C +FUN_02040B0C: ; 0x02040B0C push {r4-r6, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 @@ -127136,10 +127136,10 @@ sub_02040B0C: ; 0x02040B0C ldr r0, [r4, #0x0] ldrb r5, [r1, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F388 + bl FUN_020462AC + bl FUN_0205F388 mov r1, #0x4 - bl sub_02040AE4 + bl FUN_02040AE4 add r4, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -127149,22 +127149,22 @@ sub_02040B0C: ; 0x02040B0C add r1, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02040B5C -sub_02040B5C: ; 0x02040B5C + thumb_func_start FUN_02040B5C +FUN_02040B5C: ; 0x02040B5C push {r4-r6, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 @@ -127173,10 +127173,10 @@ sub_02040B5C: ; 0x02040B5C ldr r0, [r4, #0x0] ldrb r5, [r1, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F398 + bl FUN_020462AC + bl FUN_0205F398 mov r1, #0x4 - bl sub_02040AE4 + bl FUN_02040AE4 add r4, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -127186,22 +127186,22 @@ sub_02040B5C: ; 0x02040B5C add r1, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02040BAC -sub_02040BAC: ; 0x02040BAC + thumb_func_start FUN_02040BAC +FUN_02040BAC: ; 0x02040BAC push {r4-r6, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 @@ -127210,10 +127210,10 @@ sub_02040BAC: ; 0x02040BAC ldr r0, [r4, #0x0] ldrb r5, [r1, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F3C0 + bl FUN_020462AC + bl FUN_0205F3C0 mov r1, #0x4 - bl sub_02040AE4 + bl FUN_02040AE4 add r4, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -127223,122 +127223,122 @@ sub_02040BAC: ; 0x02040BAC add r1, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02040BFC -sub_02040BFC: ; 0x02040BFC + thumb_func_start FUN_02040BFC +FUN_02040BFC: ; 0x02040BFC push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B350 + bl FUN_0200B350 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040C34 -sub_02040C34: ; 0x02040C34 + thumb_func_start FUN_02040C34 +FUN_02040C34: ; 0x02040C34 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B1D4 + bl FUN_0200B1D4 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040C6C -sub_02040C6C: ; 0x02040C6C + thumb_func_start FUN_02040C6C +FUN_02040C6C: ; 0x02040C6C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B164 + bl FUN_0200B164 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040CA4 -sub_02040CA4: ; 0x02040CA4 + thumb_func_start FUN_02040CA4 +FUN_02040CA4: ; 0x02040CA4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x16 mov r1, #0x4 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 mov r1, #0x4 add r2, r4, #0x0 - bl sub_02064E60 + bl FUN_02064E60 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 @@ -127347,48 +127347,48 @@ sub_02040CA4: ; 0x02040CA4 add r1, r6, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040D04 -sub_02040D04: ; 0x02040D04 + thumb_func_start FUN_02040D04 +FUN_02040D04: ; 0x02040D04 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r4, #0x8] add r0, r4, #0x0 ldrb r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 sub r5, #0x95 add r4, r0, #0x0 lsl r0, r5, #0x10 lsr r0, r0, #0x10 mov r1, #0x20 - bl sub_020852E8 + bl FUN_020852E8 add r5, r0, #0x0 cmp r4, #0x2 bhs _02040D5A @@ -127404,77 +127404,77 @@ _02040D5C: add r1, r6, #0x0 add r2, r5, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040D7C -sub_02040D7C: ; 0x02040D7C + thumb_func_start FUN_02040D7C +FUN_02040D7C: ; 0x02040D7C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AE04 + bl FUN_0200AE04 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040DB4 -sub_02040DB4: ; 0x02040DB4 + thumb_func_start FUN_02040DB4 +FUN_02040DB4: ; 0x02040DB4 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B660 + bl FUN_0200B660 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040DEC -sub_02040DEC: ; 0x02040DEC + thumb_func_start FUN_02040DEC +FUN_02040DEC: ; 0x02040DEC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 @@ -127482,16 +127482,16 @@ sub_02040DEC: ; 0x02040DEC mov r0, #0xb ldrb r6, [r1, #0x0] add r1, r0, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02024EB4 - bl sub_02024F0C + bl FUN_02024EB4 + bl FUN_02024F0C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02021E28 + bl FUN_02021E28 ldr r0, _02040E48 ; =0x020ECAC4 mov r3, #0x0 ldrb r0, [r0, #0x0] @@ -127500,299 +127500,299 @@ sub_02040DEC: ; 0x02040DEC str r0, [sp, #0x4] ldr r0, [r7, #0x0] add r2, r4, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} nop _02040E48: .word 0x020ECAC4 - thumb_func_start sub_02040E4C -sub_02040E4C: ; 0x02040E4C + thumb_func_start FUN_02040E4C +FUN_02040E4C: ; 0x02040E4C push {r3-r7, lr} add r4, r0, #0x0 add r0, #0x80 ldr r6, [r0, #0x0] mov r1, #0xf add r0, r6, #0x0 - bl sub_02039438 + bl FUN_02039438 ldr r1, [r4, #0x8] add r7, r0, #0x0 add r0, r1, #0x1 str r0, [r4, #0x8] add r0, r4, #0x0 ldrb r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C ldr r1, [sp, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, #0x36 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r7, #0x0] add r1, r5, #0x0 - bl sub_0200AD5C + bl FUN_0200AD5C mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02040EB4 -sub_02040EB4: ; 0x02040EB4 + thumb_func_start FUN_02040EB4 +FUN_02040EB4: ; 0x02040EB4 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x3 - bl sub_0207FC5C + bl FUN_0207FC5C lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AD94 + bl FUN_0200AD94 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040EF8 -sub_02040EF8: ; 0x02040EF8 + thumb_func_start FUN_02040EF8 +FUN_02040EF8: ; 0x02040EF8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 sub r2, r2, #0x1 lsl r2, r2, #0x10 ldr r0, [r6, #0x0] add r1, r4, #0x0 lsr r2, r2, #0x10 - bl sub_0200B534 + bl FUN_0200B534 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02040F34 -sub_02040F34: ; 0x02040F34 + thumb_func_start FUN_02040F34 +FUN_02040F34: ; 0x02040F34 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AE70 + bl FUN_0200AE70 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040F6C -sub_02040F6C: ; 0x02040F6C + thumb_func_start FUN_02040F6C +FUN_02040F6C: ; 0x02040F6C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200AEA8 + bl FUN_0200AEA8 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040FA4 -sub_02040FA4: ; 0x02040FA4 + thumb_func_start FUN_02040FA4 +FUN_02040FA4: ; 0x02040FA4 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B388 + bl FUN_0200B388 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02040FDC -sub_02040FDC: ; 0x02040FDC + thumb_func_start FUN_02040FDC +FUN_02040FDC: ; 0x02040FDC push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B20C + bl FUN_0200B20C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02041014 -sub_02041014: ; 0x02041014 + thumb_func_start FUN_02041014 +FUN_02041014: ; 0x02041014 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B19C + bl FUN_0200B19C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204104C -sub_0204104C: ; 0x0204104C + thumb_func_start FUN_0204104C +FUN_0204104C: ; 0x0204104C push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 ldr r0, [r5, #0x8] add r1, r4, #0x0 add r0, r0, #0x1 str r0, [r5, #0x8] ldr r0, [r6, #0x0] add r2, r7, #0x0 - bl sub_0200ACC0 + bl FUN_0200ACC0 mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02041094 -sub_02041094: ; 0x02041094 + thumb_func_start FUN_02041094 +FUN_02041094: ; 0x02041094 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 @@ -127801,182 +127801,182 @@ sub_02041094: ; 0x02041094 ldr r0, [r5, #0x0] ldrb r4, [r1, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F3C0 + bl FUN_020462AC + bl FUN_0205F3C0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200ACC0 + bl FUN_0200ACC0 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020410C8 -sub_020410C8: ; 0x020410C8 + thumb_func_start FUN_020410C8 +FUN_020410C8: ; 0x020410C8 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B698 + bl FUN_0200B698 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02041100 -sub_02041100: ; 0x02041100 + thumb_func_start FUN_02041100 +FUN_02041100: ; 0x02041100 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 ldr r0, [r6, #0x0] add r1, r4, #0x0 - bl sub_0200B09C + bl FUN_0200B09C mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02041138 -sub_02041138: ; 0x02041138 + thumb_func_start FUN_02041138 +FUN_02041138: ; 0x02041138 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r1, [r5, #0x8] add r6, r0, #0x0 add r0, r1, #0x1 str r0, [r5, #0x8] add r0, r5, #0x0 ldrb r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 sub r2, r2, #0x1 lsl r2, r2, #0x10 ldr r0, [r6, #0x0] add r1, r4, #0x0 lsr r2, r2, #0x10 - bl sub_0200B568 + bl FUN_0200B568 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02041174 -sub_02041174: ; 0x02041174 + thumb_func_start FUN_02041174 +FUN_02041174: ; 0x02041174 push {r4, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 ldr r2, [r4, #0x8] add r1, r2, #0x1 str r1, [r4, #0x8] ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl sub_0200B7A8 + bl FUN_0200B7A8 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02041194 -sub_02041194: ; 0x02041194 + thumb_func_start FUN_02041194 +FUN_02041194: ; 0x02041194 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F5D8 + bl FUN_0205F5D8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020411C4 -sub_020411C4: ; 0x020411C4 + thumb_func_start FUN_020411C4 +FUN_020411C4: ; 0x020411C4 push {r4-r7, lr} sub sp, #0x24 add r4, r0, #0x0 add r0, #0x80 ldr r7, [r0, #0x0] ldr r0, [r7, #0xc] - bl sub_02022510 + bl FUN_02022510 str r0, [sp, #0x20] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r0, _0204133C ; =0x00000000 @@ -127986,25 +127986,25 @@ sub_020411C4: ; 0x020411C4 beq _02041286 _0204123C: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204127C add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 lsl r1, r1, #0x10 ldr r0, [sp, #0x0] lsr r1, r1, #0x10 - bl sub_02041354 + bl FUN_02041354 cmp r0, #0x0 beq _0204127C ldr r1, [sp, #0x1c] @@ -128029,29 +128029,29 @@ _02041290: ldr r0, [sp, #0x20] ldr r1, [sp, #0x10] add r2, r5, #0x0 - bl sub_0206B5E4 + bl FUN_0206B5E4 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _020412E0 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _020412E0 add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 lsl r1, r1, #0x10 ldr r0, [sp, #0x0] lsr r1, r1, #0x10 - bl sub_02041354 + bl FUN_02041354 cmp r0, #0x0 beq _020412E0 cmp r6, r0 @@ -128114,19 +128114,19 @@ _02041336: .balign 4 _0204133C: .word 0x00000000 - thumb_func_start sub_02041340 -sub_02041340: ; 0x02041340 + thumb_func_start FUN_02041340 +FUN_02041340: ; 0x02041340 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F5FC + bl FUN_020462AC + bl FUN_0205F5FC mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02041354 -sub_02041354: ; 0x02041354 + thumb_func_start FUN_02041354 +FUN_02041354: ; 0x02041354 push {r4-r7, lr} sub sp, #0xc mov r6, #0x0 @@ -128136,14 +128136,14 @@ sub_02041354: ; 0x02041354 _02041360: add r0, r5, #0x0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r0, r0, #0x10 str r1, [sp, #0x0] str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x8] @@ -128152,12 +128152,12 @@ _02041360: bne _020413AC add r0, r5, #0x0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r6, #0x1 @@ -128180,93 +128180,93 @@ _020413AC: .balign 4 _020413BC: .word 0x021C5A10 - thumb_func_start sub_020413C0 -sub_020413C0: ; 0x020413C0 + thumb_func_start FUN_020413C0 +FUN_020413C0: ; 0x020413C0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02005410 + bl FUN_02005410 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020413E8 -sub_020413E8: ; 0x020413E8 + thumb_func_start FUN_020413E8 +FUN_020413E8: ; 0x020413E8 push {r3, lr} - bl sub_02038C30 - bl sub_0200521C + bl FUN_02038C30 + bl FUN_0200521C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020413F8 -sub_020413F8: ; 0x020413F8 + thumb_func_start FUN_020413F8 +FUN_020413F8: ; 0x020413F8 push {r3, lr} - bl sub_02038C30 - bl sub_02004124 + bl FUN_02038C30 + bl FUN_02004124 mov r1, #0x0 - bl sub_02005350 + bl FUN_02005350 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0204140C -sub_0204140C: ; 0x0204140C + thumb_func_start FUN_0204140C +FUN_0204140C: ; 0x0204140C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r1, [r0, #0x1c] ldr r1, [r1, #0x0] - bl sub_0204ABA8 - bl sub_0200521C + bl FUN_0204ABA8 + bl FUN_0200521C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02041424 -sub_02041424: ; 0x02041424 + thumb_func_start FUN_02041424 +FUN_02041424: ; 0x02041424 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204AB20 + bl FUN_0204AB20 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0204143C -sub_0204143C: ; 0x0204143C + thumb_func_start FUN_0204143C +FUN_0204143C: ; 0x0204143C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020053CC - ldr r1, _02041460 ; =sub_02041464 + bl FUN_020053CC + ldr r1, _02041460 ; =FUN_02041464 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r3-r5, pc} .balign 4 -_02041460: .word sub_02041464 + 1 +_02041460: .word FUN_02041464 + 1 - thumb_func_start sub_02041464 -sub_02041464: ; 0x02041464 + thumb_func_start FUN_02041464 +FUN_02041464: ; 0x02041464 push {r3, lr} - bl sub_02005404 + bl FUN_02005404 cmp r0, #0x0 bne _02041472 mov r0, #0x1 @@ -128276,25 +128276,25 @@ _02041472: pop {r3, pc} .balign 4 - thumb_func_start sub_02041478 -sub_02041478: ; 0x02041478 + thumb_func_start FUN_02041478 +FUN_02041478: ; 0x02041478 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 mov r0, #0x7f mov r2, #0x0 - bl sub_0200538C - ldr r1, _02041498 ; =sub_02041464 + bl FUN_0200538C + ldr r1, _02041498 ; =FUN_02041464 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_02041498: .word sub_02041464 + 1 +_02041498: .word FUN_02041464 + 1 - thumb_func_start sub_0204149C -sub_0204149C: ; 0x0204149C + thumb_func_start FUN_0204149C +FUN_0204149C: ; 0x0204149C push {r3, lr} ldr r1, [r0, #0x8] add r3, r1, #0x1 @@ -128304,88 +128304,88 @@ sub_0204149C: ; 0x0204149C str r1, [r0, #0x8] ldrb r1, [r3, #0x0] add r0, r2, #0x0 - bl sub_020047C8 + bl FUN_020047C8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020414B8 -sub_020414B8: ; 0x020414B8 + thumb_func_start FUN_020414B8 +FUN_020414B8: ; 0x020414B8 push {r3, lr} - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 mov r0, #0x4 - bl sub_02005308 + bl FUN_02005308 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020414CC -sub_020414CC: ; 0x020414CC + thumb_func_start FUN_020414CC +FUN_020414CC: ; 0x020414CC push {r3, lr} ldr r2, [r0, #0x8] add r1, r2, #0x1 str r1, [r0, #0x8] ldrb r0, [r2, #0x0] - bl sub_020040F4 + bl FUN_020040F4 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020414E0 -sub_020414E0: ; 0x020414E0 + thumb_func_start FUN_020414E0 +FUN_020414E0: ; 0x020414E0 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 - bl sub_020054C8 + bl FUN_020394F0 + bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020414FC -sub_020414FC: ; 0x020414FC + thumb_func_start FUN_020414FC +FUN_020414FC: ; 0x020414FC push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 mov r1, #0x0 - bl sub_020054F0 + bl FUN_020054F0 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02041518 -sub_02041518: ; 0x02041518 + thumb_func_start FUN_02041518 +FUN_02041518: ; 0x02041518 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [r4, #0x64] - ldr r1, _0204153C ; =sub_02041540 + ldr r1, _0204153C ; =FUN_02041540 add r0, r4, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0204153C: .word sub_02041540 + 1 +_0204153C: .word FUN_02041540 + 1 - thumb_func_start sub_02041540 -sub_02041540: ; 0x02041540 + thumb_func_start FUN_02041540 +FUN_02041540: ; 0x02041540 push {r3, lr} ldr r0, [r0, #0x64] lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02005508 + bl FUN_02005508 cmp r0, #0x0 bne _02041554 mov r0, #0x1 @@ -128394,42 +128394,42 @@ _02041554: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02041558 -sub_02041558: ; 0x02041558 + thumb_func_start FUN_02041558 +FUN_02041558: ; 0x02041558 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 - bl sub_02005578 + bl FUN_02005578 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02041588 -sub_02041588: ; 0x02041588 + thumb_func_start FUN_02041588 +FUN_02041588: ; 0x02041588 push {r3, lr} - ldr r1, _02041594 ; =sub_02041598 - bl sub_02038B5C + ldr r1, _02041594 ; =FUN_02041598 + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_02041594: .word sub_02041598 + 1 +_02041594: .word FUN_02041598 + 1 - thumb_func_start sub_02041598 -sub_02041598: ; 0x02041598 + thumb_func_start FUN_02041598 +FUN_02041598: ; 0x02041598 push {r3, lr} - bl sub_02005670 + bl FUN_02005670 cmp r0, #0x0 bne _020415A6 mov r0, #0x1 @@ -128439,29 +128439,29 @@ _020415A6: pop {r3, pc} .balign 4 - thumb_func_start sub_020415AC -sub_020415AC: ; 0x020415AC + thumb_func_start FUN_020415AC +FUN_020415AC: ; 0x020415AC push {r3, lr} - bl sub_02038C30 - bl sub_02005C28 + bl FUN_02038C30 + bl FUN_02005C28 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020415BC -sub_020415BC: ; 0x020415BC + thumb_func_start FUN_020415BC +FUN_020415BC: ; 0x020415BC push {r3, lr} - ldr r1, _020415C8 ; =sub_020415CC - bl sub_02038B5C + ldr r1, _020415C8 ; =FUN_020415CC + bl FUN_02038B5C mov r0, #0x1 pop {r3, pc} .balign 4 -_020415C8: .word sub_020415CC + 1 +_020415C8: .word FUN_020415CC + 1 - thumb_func_start sub_020415CC -sub_020415CC: ; 0x020415CC + thumb_func_start FUN_020415CC +FUN_020415CC: ; 0x020415CC push {r3, lr} - bl sub_02005CBC + bl FUN_02005CBC cmp r0, #0x0 bne _020415DA mov r0, #0x1 @@ -128471,22 +128471,22 @@ _020415DA: pop {r3, pc} .balign 4 - thumb_func_start sub_020415E0 -sub_020415E0: ; 0x020415E0 + thumb_func_start FUN_020415E0 +FUN_020415E0: ; 0x020415E0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02029EF8 - bl sub_02005D20 + bl FUN_02029EF8 + bl FUN_02005D20 cmp r0, #0x1 bne _02041610 mov r0, #0x1 @@ -128499,17 +128499,17 @@ _02041610: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041618 -sub_02041618: ; 0x02041618 + thumb_func_start FUN_02041618 +FUN_02041618: ; 0x02041618 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 - bl sub_02005E28 + bl FUN_02005E28 cmp r0, #0x0 bne _0204163C mov r0, #0x1 @@ -128522,126 +128522,126 @@ _0204163C: pop {r4, pc} .balign 4 - thumb_func_start sub_02041644 -sub_02041644: ; 0x02041644 + thumb_func_start FUN_02041644 +FUN_02041644: ; 0x02041644 push {r3, lr} - bl sub_02005E64 + bl FUN_02005E64 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_02041650 -sub_02041650: ; 0x02041650 + thumb_func_start FUN_02041650 +FUN_02041650: ; 0x02041650 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02029EF8 - bl sub_02005E6C + bl FUN_02029EF8 + bl FUN_02005E6C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_02041664 -sub_02041664: ; 0x02041664 + thumb_func_start FUN_02041664 +FUN_02041664: ; 0x02041664 push {r3, lr} mov r1, #0x0 mov r0, #0x3f add r2, r1, #0x0 - bl sub_0200433C + bl FUN_0200433C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_02041674 -sub_02041674: ; 0x02041674 + thumb_func_start FUN_02041674 +FUN_02041674: ; 0x02041674 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0200488C + bl FUN_0200488C mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020416A8 -sub_020416A8: ; 0x020416A8 + thumb_func_start FUN_020416A8 +FUN_020416A8: ; 0x020416A8 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 bne _02041708 add r0, r4, #0x0 mov r1, #0x18 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x19 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x1a - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x1b - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x1c - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x1d - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x1e - bl sub_02039438 + bl FUN_02039438 b _02041748 _02041708: add r0, r4, #0x0 mov r1, #0x1f - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x20 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x21 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x22 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x23 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x24 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x25 - bl sub_02039438 + bl FUN_02039438 _02041748: add r7, r0, #0x0 mov r0, #0x0 @@ -128656,31 +128656,31 @@ _02041748: ldr r1, [r4, #0x38] ldr r2, [r2, #0x0] ldr r3, [r3, #0x0] - bl sub_0205CA4C + bl FUN_0205CA4C str r0, [r7, #0x0] mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02041770 -sub_02041770: ; 0x02041770 + thumb_func_start FUN_02041770 +FUN_02041770: ; 0x02041770 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x0] @@ -128689,13 +128689,13 @@ sub_02041770: ; 0x02041770 add r5, #0x80 ldr r0, [r5, #0x0] mov r1, #0x1e - bl sub_02039438 + bl FUN_02039438 b _020417B8 _020417AE: add r5, #0x80 ldr r0, [r5, #0x0] mov r1, #0x25 - bl sub_02039438 + bl FUN_02039438 _020417B8: add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -128705,11 +128705,11 @@ _020417B8: strh r0, [r4, #0x0] pop {r4-r6, pc} _020417C6: - bl sub_0205CA64 + bl FUN_0205CA64 cmp r0, #0x1 bne _020417DC ldr r0, [r5, #0x0] - bl sub_0205CA78 + bl FUN_0205CA78 mov r0, #0x0 str r0, [r5, #0x0] mov r0, #0x1 @@ -128718,55 +128718,55 @@ _020417DC: mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_020417E0 -sub_020417E0: ; 0x020417E0 + thumb_func_start FUN_020417E0 +FUN_020417E0: ; 0x020417E0 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1c - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldrh r1, [r5, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02041808 -sub_02041808: ; 0x02041808 + thumb_func_start FUN_02041808 +FUN_02041808: ; 0x02041808 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x1b - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x22 - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 cmp r7, #0x0 bne _02041852 ldrh r1, [r4, #0x0] @@ -128779,31 +128779,31 @@ _02041854: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204185C -sub_0204185C: ; 0x0204185C + thumb_func_start FUN_0204185C +FUN_0204185C: ; 0x0204185C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x8 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_020395F4 + bl FUN_020395F4 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204188C -sub_0204188C: ; 0x0204188C + thumb_func_start FUN_0204188C +FUN_0204188C: ; 0x0204188C push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -128811,39 +128811,39 @@ sub_0204188C: ; 0x0204188C ldr r4, [r0, #0x0] mov r1, #0x8 add r0, r4, #0x0 - bl sub_02039438 + bl FUN_02039438 add r0, r4, #0x0 mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x8] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r6, #0x0 ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _020418F2 ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F368 + bl FUN_020462AC + bl FUN_0205F368 add r6, r0, #0x0 _020418F2: mov r0, #0xb @@ -128853,45 +128853,45 @@ _020418F2: ldr r1, [sp, #0xc] ldr r2, [sp, #0x8] add r3, r6, #0x0 - bl sub_020470E8 + bl FUN_020470E8 mov r0, #0x1 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204190C -sub_0204190C: ; 0x0204190C + thumb_func_start FUN_0204190C +FUN_0204190C: ; 0x0204190C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r2, r0, #0x0 mov r0, #0xb str r0, [sp, #0x0] @@ -128899,46 +128899,46 @@ sub_0204190C: ; 0x0204190C ldr r0, [r5, #0x74] add r1, r7, #0x0 add r3, r6, #0x0 - bl sub_020470E8 + bl FUN_020470E8 mov r0, #0x1 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02041970 -sub_02041970: ; 0x02041970 + thumb_func_start FUN_02041970 +FUN_02041970: ; 0x02041970 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x8 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_020395F4 - bl sub_0203962C + bl FUN_020395F4 + bl FUN_0203962C lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _020419D2 @@ -128948,7 +128948,7 @@ sub_02041970: ; 0x02041970 b _020419EC _020419D2: ldrh r0, [r4, #0x0] - bl sub_02039618 + bl FUN_02039618 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _020419E6 @@ -128968,41 +128968,41 @@ _020419EC: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020419F8 -sub_020419F8: ; 0x020419F8 + thumb_func_start FUN_020419F8 +FUN_020419F8: ; 0x020419F8 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x8 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_020395F4 - bl sub_0203962C + bl FUN_020395F4 + bl FUN_0203962C lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _02041A5A @@ -129012,7 +129012,7 @@ sub_020419F8: ; 0x020419F8 b _02041A74 _02041A5A: ldrh r0, [r4, #0x0] - bl sub_02039618 + bl FUN_02039618 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _02041A6E @@ -129032,152 +129032,152 @@ _02041A74: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02041A80 -sub_02041A80: ; 0x02041A80 + thumb_func_start FUN_02041A80 +FUN_02041A80: ; 0x02041A80 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x8 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldrh r0, [r4, #0x0] - bl sub_020395F4 - bl sub_0203962C + bl FUN_020395F4 + bl FUN_0203962C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041AB4 -sub_02041AB4: ; 0x02041AB4 + thumb_func_start FUN_02041AB4 +FUN_02041AB4: ; 0x02041AB4 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 - bl sub_0204AD0C - bl sub_02004724 + bl FUN_020394F0 + bl FUN_0204AD0C + bl FUN_02004724 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_02041AD4 -sub_02041AD4: ; 0x02041AD4 + thumb_func_start FUN_02041AD4 +FUN_02041AD4: ; 0x02041AD4 push {r3, lr} ldr r0, [r0, #0x74] - bl sub_02048498 + bl FUN_02048498 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_02041AE0 -sub_02041AE0: ; 0x02041AE0 + thumb_func_start FUN_02041AE0 +FUN_02041AE0: ; 0x02041AE0 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020480B8 + bl FUN_020480B8 strh r0, [r5, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041B10 -sub_02041B10: ; 0x02041B10 + thumb_func_start FUN_02041B10 +FUN_02041B10: ; 0x02041B10 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020480C8 + bl FUN_020480C8 strh r0, [r5, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041B40 -sub_02041B40: ; 0x02041B40 + thumb_func_start FUN_02041B40 +FUN_02041B40: ; 0x02041B40 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020480D8 + bl FUN_020480D8 strh r0, [r5, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041B70 -sub_02041B70: ; 0x02041B70 + thumb_func_start FUN_02041B70 +FUN_02041B70: ; 0x02041B70 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C - bl sub_0204A248 + bl FUN_0206BB1C + bl FUN_0204A248 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02041B9C -sub_02041B9C: ; 0x02041B9C + thumb_func_start FUN_02041B9C +FUN_02041B9C: ; 0x02041B9C push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x17 - bl sub_02039438 + bl FUN_02039438 mov r1, #0xb str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -129185,88 +129185,88 @@ sub_02041B9C: ; 0x02041B9C ldr r0, [r4, #0x74] mov r1, #0x1 add r3, r2, #0x0 - bl sub_020470E8 + bl FUN_020470E8 mov r0, #0x1 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02041BC4 -sub_02041BC4: ; 0x02041BC4 + thumb_func_start FUN_02041BC4 +FUN_02041BC4: ; 0x02041BC4 push {r3-r5, lr} add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02058738 + bl FUN_02058738 add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02058448 + bl FUN_02058448 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 - bl sub_0203965C + bl FUN_0203965C mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02041BF0 -sub_02041BF0: ; 0x02041BF0 + thumb_func_start FUN_02041BF0 +FUN_02041BF0: ; 0x02041BF0 push {r3-r7, lr} add r6, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xa - bl sub_02039438 + bl FUN_02039438 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02038C48 + bl FUN_02038C48 add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02058738 + bl FUN_02058738 add r7, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02058448 + bl FUN_02058448 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r7, #0x0 lsr r1, r1, #0x10 - bl sub_02039640 + bl FUN_02039640 cmp r0, #0x1 bne _02041C34 ldr r1, [r6, #0x8] add r0, r6, #0x0 add r1, r1, r4 - bl sub_02038C10 + bl FUN_02038C10 mov r0, #0x1 pop {r3-r7, pc} _02041C34: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02041C38 -sub_02041C38: ; 0x02041C38 + thumb_func_start FUN_02041C38 +FUN_02041C38: ; 0x02041C38 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf - bl sub_02039438 + bl FUN_02039438 add r6, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0202881C + bl FUN_0202881C add r5, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r7, [r0, #0xc] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 cmp r0, #0x6 bls _02041C6C b _02041E38 @@ -129285,23 +129285,23 @@ _02041C6C: lsl r2, r3, #0x4 lsl r4, r2, #0x5 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02028828 + bl FUN_02028828 strh r0, [r4, #0x0] add sp, #0xc mov r0, #0x0 @@ -129338,11 +129338,11 @@ _02041E38: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02041E40 -sub_02041E40: ; 0x02041E40 + thumb_func_start FUN_02041E40 +FUN_02041E40: ; 0x02041E40 push {r3-r7, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 cmp r0, #0x6 bls _02041E4E b _02041FD2 @@ -129361,16 +129361,16 @@ _02041E4E: lsl r4, r1, #0x4 lsl r0, r3, #0x5 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02248CD0 + bl FUN_02248CD0 strh r0, [r5, #0x0] b _02041FD2 _02041E88: @@ -130019,61 +130019,61 @@ _02041FD8: .byte 0x00, 0x06, 0x06, 0x0E, 0xBE, 0x42, 0xCD, 0xD3, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46 .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - thumb_func_start sub_02044658 -sub_02044658: ; 0x02044658 + thumb_func_start FUN_02044658 +FUN_02044658: ; 0x02044658 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 - bl sub_0204A32C + bl FUN_0206B9B0 + bl FUN_0204A32C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0204469C -sub_0204469C: ; 0x0204469C + thumb_func_start FUN_0204469C +FUN_0204469C: ; 0x0204469C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] @@ -130086,19 +130086,19 @@ sub_0204469C: ; 0x0204469C bls _02044726 _020446EA: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204471A add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x0] cmp r0, r1 bhi _0204471A @@ -130119,72 +130119,72 @@ _02044726: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02044730 -sub_02044730: ; 0x02044730 + thumb_func_start FUN_02044730 +FUN_02044730: ; 0x02044730 push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r2, #0x0 mov r1, #0x4c add r5, r0, #0x0 strh r2, [r4, #0x0] - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044786 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r4, #0x0] _02044786: mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204478C -sub_0204478C: ; 0x0204478C + thumb_func_start FUN_0204478C +FUN_0204478C: ; 0x0204478C push {r4-r6, lr} add r6, r0, #0x0 add r1, r6, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r6, #0x80 add r1, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r6, r0 @@ -130194,13 +130194,13 @@ sub_0204478C: ; 0x0204478C pop {r4-r6, pc} _020447D2: ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _020447F2 mov r0, #0x0 @@ -130208,37 +130208,37 @@ _020447D2: pop {r4-r6, pc} _020447F2: add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02044800 -sub_02044800: ; 0x02044800 + thumb_func_start FUN_02044800 +FUN_02044800: ; 0x02044800 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r1, _02044884 ; =0x000000FF @@ -130248,17 +130248,17 @@ sub_02044800: ; 0x02044800 beq _0204487E _02044848: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044874 add r0, r4, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x0] cmp r1, r0 bne _02044874 @@ -130279,75 +130279,75 @@ _0204487E: _02044884: .word 0x000000FF _02044888: .word 0x00000000 - thumb_func_start sub_0204488C -sub_0204488C: ; 0x0204488C + thumb_func_start FUN_0204488C +FUN_0204488C: ; 0x0204488C push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020448D4 -sub_020448D4: ; 0x020448D4 + thumb_func_start FUN_020448D4 +FUN_020448D4: ; 0x020448D4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 str r0, [sp, #0x0] ldr r0, [r5, #0x0] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 add r7, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C ldr r1, [sp, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x9 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x4 strh r0, [r1, #0x0] cmp r4, #0x0 @@ -130355,25 +130355,25 @@ sub_020448D4: ; 0x020448D4 add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 mov r2, #0xb - bl sub_0206E7B8 + bl FUN_0206E7B8 cmp r0, #0x34 bne _0204495A mov r0, #0x96 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 _0204495A: add r0, r5, #0x0 mov r1, #0x9a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0xb bne _0204496E add r0, r4, #0x1 @@ -130383,7 +130383,7 @@ _0204496E: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r7, r0 bne _02044982 add r0, r4, #0x1 @@ -130403,41 +130403,41 @@ _02044994: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_020449A4 -sub_020449A4: ; 0x020449A4 + thumb_func_start FUN_020449A4 +FUN_020449A4: ; 0x020449A4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x9 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x0 strh r0, [r1, #0x0] ldrh r0, [r1, #0x0] @@ -130452,157 +130452,157 @@ _020449FA: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_02044A0C -sub_02044A0C: ; 0x02044A0C + thumb_func_start FUN_02044A0C +FUN_02044A0C: ; 0x02044A0C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, #0x13 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02044A6C -sub_02044A6C: ; 0x02044A6C + thumb_func_start FUN_02044A6C +FUN_02044A6C: ; 0x02044A6C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02054DEC + bl FUN_02054DEC strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02044A94 -sub_02044A94: ; 0x02044A94 + thumb_func_start FUN_02044A94 +FUN_02044A94: ; 0x02044A94 push {r3-r7, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, r0, #0x0 mov r1, #0xb0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0xb1 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r7, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02044B00 -sub_02044B00: ; 0x02044B00 + thumb_func_start FUN_02044B00 +FUN_02044B00: ; 0x02044B00 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02044B2C -sub_02044B2C: ; 0x02044B2C + thumb_func_start FUN_02044B2C +FUN_02044B2C: ; 0x02044B2C push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] ldr r0, [r6, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC mov r5, #0x0 add r7, r0, #0x0 add r4, r5, #0x0 @@ -130610,12 +130610,12 @@ sub_02044B2C: ; 0x02044B2C ble _02044B7A _02044B5A: ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044B74 add r4, r4, #0x1 @@ -130630,31 +130630,31 @@ _02044B7A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02044B84 -sub_02044B84: ; 0x02044B84 + thumb_func_start FUN_02044B84 +FUN_02044B84: ; 0x02044B84 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC mov r5, #0x0 add r4, r5, #0x0 str r0, [sp, #0x8] @@ -130665,19 +130665,19 @@ _02044BC8: cmp r5, r0 beq _02044BF8 ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044BF8 add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044BF8 add r4, r4, #0x1 @@ -130694,26 +130694,26 @@ _02044C00: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02044C0C -sub_02044C0C: ; 0x02044C0C + thumb_func_start FUN_02044C0C +FUN_02044C0C: ; 0x02044C0C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_02022510 + bl FUN_02022510 str r0, [sp, #0x4] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC mov r5, #0x0 add r4, r5, #0x0 str r0, [sp, #0x8] @@ -130721,19 +130721,19 @@ sub_02044C0C: ; 0x02044C0C ble _02044C76 _02044C44: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044C6E add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044C6E add r4, r4, #0x1 @@ -130744,7 +130744,7 @@ _02044C6E: blt _02044C44 _02044C76: ldr r0, [sp, #0x4] - bl sub_0206B57C + bl FUN_0206B57C add r1, r4, r0 ldr r0, [sp, #0x0] strh r1, [r0, #0x0] @@ -130752,22 +130752,22 @@ _02044C76: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02044C88 -sub_02044C88: ; 0x02044C88 + thumb_func_start FUN_02044C88 +FUN_02044C88: ; 0x02044C88 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] ldr r0, [r6, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC mov r5, #0x0 add r7, r0, #0x0 add r4, r5, #0x0 @@ -130775,12 +130775,12 @@ sub_02044C88: ; 0x02044C88 ble _02044CD6 _02044CB6: ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044CD0 add r4, r4, #0x1 @@ -130795,22 +130795,22 @@ _02044CD6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02044CE0 -sub_02044CE0: ; 0x02044CE0 + thumb_func_start FUN_02044CE0 +FUN_02044CE0: ; 0x02044CE0 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] ldr r0, [r5, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r6, r0, #0x10 ldr r4, _02044D40 ; =0x00000000 @@ -130820,12 +130820,12 @@ sub_02044CE0: ; 0x02044CE0 mov r7, #0x99 _02044D12: ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044D32 ldr r0, [sp, #0x0] @@ -130844,67 +130844,67 @@ _02044D3C: .balign 4 _02044D40: .word 0x00000000 - thumb_func_start sub_02044D44 -sub_02044D44: ; 0x02044D44 + thumb_func_start FUN_02044D44 +FUN_02044D44: ; 0x02044D44 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x6f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02044D8C -sub_02044D8C: ; 0x02044D8C + thumb_func_start FUN_02044D8C +FUN_02044D8C: ; 0x02044D8C push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044DDA mov r0, #0x0 @@ -130915,7 +130915,7 @@ _02044DDA: add r0, r6, #0x0 mov r1, #0x36 add r2, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044DF0 add r0, r4, #0x1 @@ -130925,7 +130925,7 @@ _02044DF0: add r0, r6, #0x0 mov r1, #0x37 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044E04 add r0, r4, #0x1 @@ -130935,7 +130935,7 @@ _02044E04: add r0, r6, #0x0 mov r1, #0x38 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044E18 add r0, r4, #0x1 @@ -130945,7 +130945,7 @@ _02044E18: add r0, r6, #0x0 mov r1, #0x39 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02044E2C add r0, r4, #0x1 @@ -130957,161 +130957,161 @@ _02044E2C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02044E34 -sub_02044E34: ; 0x02044E34 + thumb_func_start FUN_02044E34 +FUN_02044E34: ; 0x02044E34 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r4, #0x0 - bl sub_020699A4 + bl FUN_020699A4 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02044E78 -sub_02044E78: ; 0x02044E78 + thumb_func_start FUN_02044E78 +FUN_02044E78: ; 0x02044E78 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, #0x36 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02044ED8 -sub_02044ED8: ; 0x02044ED8 + thumb_func_start FUN_02044ED8 +FUN_02044ED8: ; 0x02044ED8 push {r4-r6, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02044F20 -sub_02044F20: ; 0x02044F20 + thumb_func_start FUN_02044F20 +FUN_02044F20: ; 0x02044F20 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r4, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r2, #0x0 add r1, sp, #0x0 strh r2, [r1, #0x0] mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02044F58 -sub_02044F58: ; 0x02044F58 + thumb_func_start FUN_02044F58 +FUN_02044F58: ; 0x02044F58 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] ldr r0, [r7, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r5, _02044FE4 ; =0x00000000 @@ -131120,19 +131120,19 @@ sub_02044F58: ; 0x02044F58 beq _02044FDE _02044F9E: ldr r0, [r7, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02044FD4 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, [sp, #0x0] @@ -131155,31 +131155,31 @@ _02044FDE: .balign 4 _02044FE4: .word 0x00000000 - thumb_func_start sub_02044FE8 -sub_02044FE8: ; 0x02044FE8 + thumb_func_start FUN_02044FE8 +FUN_02044FE8: ; 0x02044FE8 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r4, #0x0 add r6, r0, #0x0 add r5, r4, #0x0 @@ -131188,11 +131188,11 @@ _0204502A: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r1, r7, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r1, r0, #0x0 add r0, r6, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02045048 add r0, r5, #0x1 @@ -131210,30 +131210,30 @@ _02045048: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204505C -sub_0204505C: ; 0x0204505C + thumb_func_start FUN_0204505C +FUN_0204505C: ; 0x0204505C push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 add r4, #0x80 lsr r6, r0, #0x10 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x8] @@ -131248,20 +131248,20 @@ _0204509A: _020450A6: ldr r0, [sp, #0xc] add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _020450E8 add r0, r7, #0x0 mov r1, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _020450DE ldr r0, [sp, #0x4] @@ -131292,72 +131292,72 @@ _020450E8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02045104 -sub_02045104: ; 0x02045104 + thumb_func_start FUN_02045104 +FUN_02045104: ; 0x02045104 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 lsl r0, r6, #0x18 lsr r0, r0, #0x18 mov r1, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02045170 -sub_02045170: ; 0x02045170 + thumb_func_start FUN_02045170 +FUN_02045170: ; 0x02045170 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 mov r1, #0x1 add r0, sp, #0x0 @@ -131365,47 +131365,47 @@ sub_02045170: ; 0x02045170 strb r1, [r0, #0x0] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 mov r1, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r1, r0, #0x0 add r0, r5, #0x0 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_020451D0 -sub_020451D0: ; 0x020451D0 + thumb_func_start FUN_020451D0 +FUN_020451D0: ; 0x020451D0 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x0] add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 add r4, #0x80 lsr r6, r0, #0x10 ldr r0, [r4, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] @@ -131416,17 +131416,17 @@ _0204520C: _02045212: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02045242 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02045242 ldr r0, [sp, #0x0] @@ -131455,34 +131455,34 @@ _0204524C: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02045264 -sub_02045264: ; 0x02045264 + thumb_func_start FUN_02045264 +FUN_02045264: ; 0x02045264 mov r0, #0x0 bx lr - thumb_func_start sub_02045268 -sub_02045268: ; 0x02045268 + thumb_func_start FUN_02045268 +FUN_02045268: ; 0x02045268 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r6, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r4, #0x0 ldr r7, _020452B0 ; =0x020F450C str r0, [sp, #0x0] add r5, r4, #0x0 _02045288: ldr r0, [r6, #0xc] - bl sub_0206F158 + bl FUN_0206F158 lsl r1, r4, #0x2 ldrh r1, [r7, r1] mov r2, #0x4 - bl sub_0206EEF8 + bl FUN_0206EEF8 add r0, r5, r0 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -131498,23 +131498,23 @@ _02045288: .balign 4 _020452B0: .word 0x020F450C - thumb_func_start sub_020452B4 -sub_020452B4: ; 0x020452B4 + thumb_func_start FUN_020452B4 +FUN_020452B4: ; 0x020452B4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394F0 + bl FUN_020394F0 mov r5, #0x0 ldr r2, _02045300 ; =0x020F450C strh r5, [r4, #0x0] @@ -131540,35 +131540,35 @@ _020452FA: _02045300: .word 0x020F450C _02045304: .word 0x020F450E - thumb_func_start sub_02045308 -sub_02045308: ; 0x02045308 + thumb_func_start FUN_02045308 +FUN_02045308: ; 0x02045308 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r7, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394F0 + bl FUN_020394F0 str r0, [sp, #0x0] mov r4, #0x0 ldr r0, [sp, #0x8] @@ -131579,11 +131579,11 @@ sub_02045308: ; 0x02045308 _02045358: ldr r0, [r7, #0xc] lsl r5, r4, #0x2 - bl sub_0206F158 + bl FUN_0206F158 ldr r1, _02045394 ; =0x020F450C mov r2, #0x4 ldrh r1, [r1, r5] - bl sub_0206EEF8 + bl FUN_0206EEF8 add r0, r6, r0 lsl r0, r0, #0x10 lsr r6, r0, #0x10 @@ -131610,41 +131610,41 @@ _0204538E: .balign 4 _02045394: .word 0x020F450C - thumb_func_start sub_02045398 -sub_02045398: ; 0x02045398 + thumb_func_start FUN_02045398 +FUN_02045398: ; 0x02045398 mov r0, #0x0 bx lr - thumb_func_start sub_0204539C -sub_0204539C: ; 0x0204539C + thumb_func_start FUN_0204539C +FUN_0204539C: ; 0x0204539C mov r0, #0x0 bx lr - thumb_func_start sub_020453A0 -sub_020453A0: ; 0x020453A0 + thumb_func_start FUN_020453A0 +FUN_020453A0: ; 0x020453A0 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 ldr r1, _020453EC ; =0x020F4528 lsl r2, r4, #0x2 ldrh r1, [r1, r2] @@ -131658,165 +131658,165 @@ sub_020453A0: ; 0x020453A0 _020453EC: .word 0x020F4528 _020453F0: .word 0x020F452A - thumb_func_start sub_020453F4 -sub_020453F4: ; 0x020453F4 + thumb_func_start FUN_020453F4 +FUN_020453F4: ; 0x020453F4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02024D64 + bl FUN_02024D64 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045424 -sub_02045424: ; 0x02045424 + thumb_func_start FUN_02045424 +FUN_02045424: ; 0x02045424 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 - bl sub_02024D80 + bl FUN_02024DA0 + bl FUN_02024D80 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02045438 -sub_02045438: ; 0x02045438 + thumb_func_start FUN_02045438 +FUN_02045438: ; 0x02045438 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034E20 - bl sub_02055474 + bl FUN_02034E30 + bl FUN_02034E20 + bl FUN_02055474 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045468 -sub_02045468: ; 0x02045468 + thumb_func_start FUN_02045468 +FUN_02045468: ; 0x02045468 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034E20 + bl FUN_02034E30 + bl FUN_02034E20 mov r1, #0x1 - bl sub_02055488 + bl FUN_02055488 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02045484 -sub_02045484: ; 0x02045484 + thumb_func_start FUN_02045484 +FUN_02045484: ; 0x02045484 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r6, r0, #0x0 cmp r4, #0x8 blo _020454B6 - bl sub_02020C2C + bl FUN_02020C2C _020454B6: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r4, #0x0 - bl sub_020239D0 + bl FUN_020239D0 strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020454CC -sub_020454CC: ; 0x020454CC + thumb_func_start FUN_020454CC +FUN_020454CC: ; 0x020454CC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 cmp r4, #0x8 blo _020454EA - bl sub_02020C2C + bl FUN_02020C2C _020454EA: add r5, #0x80 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r1, r4, #0x0 - bl sub_020239E4 + bl FUN_020239E4 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045500 -sub_02045500: ; 0x02045500 + thumb_func_start FUN_02045500 +FUN_02045500: ; 0x02045500 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ECE0 + bl FUN_020462AC + bl FUN_0205ECE0 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204552C -sub_0204552C: ; 0x0204552C + thumb_func_start FUN_0204552C +FUN_0204552C: ; 0x0204552C push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r4, #0x0 ldr r7, _02045578 ; =0x020F4574 str r0, [sp, #0x0] @@ -131826,9 +131826,9 @@ _02045548: add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 ldrb r1, [r7, r4] - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x1 bne _02045564 add r0, r5, #0x1 @@ -131847,143 +131847,143 @@ _02045564: nop _02045578: .word 0x020F4574 - thumb_func_start sub_0204557C -sub_0204557C: ; 0x0204557C + thumb_func_start FUN_0204557C +FUN_0204557C: ; 0x0204557C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ECD4 + bl FUN_020462AC + bl FUN_0205ECD4 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02045590 -sub_02045590: ; 0x02045590 + thumb_func_start FUN_02045590 +FUN_02045590: ; 0x02045590 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020455BC -sub_020455BC: ; 0x020455BC + thumb_func_start FUN_020455BC +FUN_020455BC: ; 0x020455BC push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED1C + bl FUN_020462AC + bl FUN_0205ED1C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020455D0 -sub_020455D0: ; 0x020455D0 + thumb_func_start FUN_020455D0 +FUN_020455D0: ; 0x020455D0 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED2C + bl FUN_020462AC + bl FUN_0205ED2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020455E4 -sub_020455E4: ; 0x020455E4 + thumb_func_start FUN_020455E4 +FUN_020455E4: ; 0x020455E4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED6C + bl FUN_020462AC + bl FUN_0205ED6C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045610 -sub_02045610: ; 0x02045610 + thumb_func_start FUN_02045610 +FUN_02045610: ; 0x02045610 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED4C + bl FUN_020462AC + bl FUN_0205ED4C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02045624 -sub_02045624: ; 0x02045624 + thumb_func_start FUN_02045624 +FUN_02045624: ; 0x02045624 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED5C + bl FUN_020462AC + bl FUN_0205ED5C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02045638 -sub_02045638: ; 0x02045638 + thumb_func_start FUN_02045638 +FUN_02045638: ; 0x02045638 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED0C + bl FUN_020462AC + bl FUN_0205ED0C strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045664 -sub_02045664: ; 0x02045664 + thumb_func_start FUN_02045664 +FUN_02045664: ; 0x02045664 push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ECFC + bl FUN_020462AC + bl FUN_0205ECFC mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02045678 -sub_02045678: ; 0x02045678 + thumb_func_start FUN_02045678 +FUN_02045678: ; 0x02045678 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r2, [r5, #0x8] add r4, r0, #0x0 add r1, r2, #0x1 @@ -131998,39 +131998,39 @@ sub_02045678: ; 0x02045678 b _020456CC _0204569E: mov r1, #0x1 - bl sub_0205F264 + bl FUN_0205F264 b _020456D0 _020456A6: mov r1, #0x0 - bl sub_0205F264 + bl FUN_0205F264 b _020456D0 _020456AE: add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0205F264 + bl FUN_0205F264 strh r0, [r5, #0x0] b _020456D0 _020456CC: - bl sub_02020C2C + bl FUN_02020C2C _020456D0: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020456D4 -sub_020456D4: ; 0x020456D4 + thumb_func_start FUN_020456D4 +FUN_020456D4: ; 0x020456D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r2, [r5, #0x8] add r4, r0, #0x0 add r1, r2, #0x1 @@ -132044,38 +132044,38 @@ sub_020456D4: ; 0x020456D4 beq _02045706 b _02045722 _020456FA: - bl sub_0205F274 + bl FUN_0205F274 b _02045726 _02045700: - bl sub_0205F284 + bl FUN_0205F284 b _02045726 _02045706: add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F294 + bl FUN_0205F294 strh r0, [r5, #0x0] b _02045726 _02045722: - bl sub_02020C2C + bl FUN_02020C2C _02045726: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204572C -sub_0204572C: ; 0x0204572C + thumb_func_start FUN_0204572C +FUN_0204572C: ; 0x0204572C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r2, [r5, #0x8] add r4, r0, #0x0 add r1, r2, #0x1 @@ -132089,741 +132089,741 @@ sub_0204572C: ; 0x0204572C beq _0204575E b _0204577A _02045752: - bl sub_0205F2A4 + bl FUN_0205F2A4 b _0204577E _02045758: - bl sub_0205F2B4 + bl FUN_0205F2B4 b _0204577E _0204575E: add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F2C4 + bl FUN_0205F2C4 strh r0, [r5, #0x0] b _0204577E _0204577A: - bl sub_02020C2C + bl FUN_02020C2C _0204577E: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045784 -sub_02045784: ; 0x02045784 + thumb_func_start FUN_02045784 +FUN_02045784: ; 0x02045784 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0x4 - bl sub_0206ED38 + bl FUN_0206ED38 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020457DC -sub_020457DC: ; 0x020457DC + thumb_func_start FUN_020457DC +FUN_020457DC: ; 0x020457DC push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0x4 - bl sub_0206EDD4 + bl FUN_0206EDD4 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02045834 -sub_02045834: ; 0x02045834 + thumb_func_start FUN_02045834 +FUN_02045834: ; 0x02045834 push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0x4 - bl sub_0206ED24 + bl FUN_0206ED24 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0204588C -sub_0204588C: ; 0x0204588C + thumb_func_start FUN_0204588C +FUN_0204588C: ; 0x0204588C push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r5, [r1, #0x0] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0xb - bl sub_0206EE50 + bl FUN_0206EE50 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020458E4 -sub_020458E4: ; 0x020458E4 + thumb_func_start FUN_020458E4 +FUN_020458E4: ; 0x020458E4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02054CB0 + bl FUN_02054CB0 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02045918 -sub_02045918: ; 0x02045918 + thumb_func_start FUN_02045918 +FUN_02045918: ; 0x02045918 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0xb - bl sub_0206E7B8 + bl FUN_0206E7B8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02045950 -sub_02045950: ; 0x02045950 + thumb_func_start FUN_02045950 +FUN_02045950: ; 0x02045950 mov r0, #0x0 bx lr - thumb_func_start sub_02045954 -sub_02045954: ; 0x02045954 + thumb_func_start FUN_02045954 +FUN_02045954: ; 0x02045954 mov r0, #0x0 bx lr - thumb_func_start sub_02045958 -sub_02045958: ; 0x02045958 + thumb_func_start FUN_02045958 +FUN_02045958: ; 0x02045958 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r6, #0x0 - bl sub_02025D6C + bl FUN_02025D6C strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020459AC -sub_020459AC: ; 0x020459AC + thumb_func_start FUN_020459AC +FUN_020459AC: ; 0x020459AC push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020459E8 -sub_020459E8: ; 0x020459E8 + thumb_func_start FUN_020459E8 +FUN_020459E8: ; 0x020459E8 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r6, #0x0 - bl sub_02025D94 + bl FUN_02025D94 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02045A3C -sub_02045A3C: ; 0x02045A3C + thumb_func_start FUN_02045A3C +FUN_02045A3C: ; 0x02045A3C push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045A78 -sub_02045A78: ; 0x02045A78 + thumb_func_start FUN_02045A78 +FUN_02045A78: ; 0x02045A78 push {r4-r6, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r6, #0x0 - bl sub_02026298 + bl FUN_02026298 strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02045ACC -sub_02045ACC: ; 0x02045ACC + thumb_func_start FUN_02045ACC +FUN_02045ACC: ; 0x02045ACC push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045B08 -sub_02045B08: ; 0x02045B08 + thumb_func_start FUN_02045B08 +FUN_02045B08: ; 0x02045B08 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045B44 -sub_02045B44: ; 0x02045B44 + thumb_func_start FUN_02045B44 +FUN_02045B44: ; 0x02045B44 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045B80 -sub_02045B80: ; 0x02045B80 + thumb_func_start FUN_02045B80 +FUN_02045B80: ; 0x02045B80 push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r4, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r0, r4, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02045BC8 -sub_02045BC8: ; 0x02045BC8 + thumb_func_start FUN_02045BC8 +FUN_02045BC8: ; 0x02045BC8 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045C04 -sub_02045C04: ; 0x02045C04 + thumb_func_start FUN_02045C04 +FUN_02045C04: ; 0x02045C04 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045C40 -sub_02045C40: ; 0x02045C40 + thumb_func_start FUN_02045C40 +FUN_02045C40: ; 0x02045C40 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045C7C -sub_02045C7C: ; 0x02045C7C + thumb_func_start FUN_02045C7C +FUN_02045C7C: ; 0x02045C7C push {r3-r7, lr} add r4, r0, #0x0 add r1, r4, #0x0 add r1, #0x80 ldr r1, [r1, #0x0] ldr r5, [r1, #0xc] - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02026CC4 + bl FUN_02026CC4 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020260C4 + bl FUN_020260C4 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02045CD4 -sub_02045CD4: ; 0x02045CD4 + thumb_func_start FUN_02045CD4 +FUN_02045CD4: ; 0x02045CD4 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045D10 -sub_02045D10: ; 0x02045D10 + thumb_func_start FUN_02045D10 +FUN_02045D10: ; 0x02045D10 push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045D4C -sub_02045D4C: ; 0x02045D4C + thumb_func_start FUN_02045D4C +FUN_02045D4C: ; 0x02045D4C push {r4, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r0, r4, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_020394B8 + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02045D88 -sub_02045D88: ; 0x02045D88 + thumb_func_start FUN_02045D88 +FUN_02045D88: ; 0x02045D88 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r1, r5, #0x0 add r1, #0x80 lsl r2, r4, #0x18 @@ -132831,39 +132831,39 @@ sub_02045D88: ; 0x02045D88 ldr r1, [r1, #0x0] mov r0, #0x20 lsr r2, r2, #0x18 - bl sub_02037CF0 + bl FUN_02037CF0 str r0, [r6, #0x0] - ldr r1, _02045DCC ; =sub_0203BC04 + ldr r1, _02045DCC ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C mov r0, #0x1 pop {r4-r6, pc} nop -_02045DCC: .word sub_0203BC04 + 1 +_02045DCC: .word FUN_0203BC04 + 1 - thumb_func_start sub_02045DD0 -sub_02045DD0: ; 0x02045DD0 + thumb_func_start FUN_02045DD0 +FUN_02045DD0: ; 0x02045DD0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02045DFC - bl sub_02020C2C + bl FUN_02020C2C _02045DFC: ldr r0, [r4, #0x0] - bl sub_02037D5C + bl FUN_02037D5C strh r0, [r5, #0x0] ldrh r0, [r5, #0x0] cmp r0, #0x4 @@ -132872,55 +132872,55 @@ _02045DFC: strh r0, [r5, #0x0] _02045E0E: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045E1C -sub_02045E1C: ; 0x02045E1C + thumb_func_start FUN_02045E1C +FUN_02045E1C: ; 0x02045E1C mov r0, #0x0 bx lr - thumb_func_start sub_02045E20 -sub_02045E20: ; 0x02045E20 + thumb_func_start FUN_02045E20 +FUN_02045E20: ; 0x02045E20 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x20 - bl sub_02088DF8 + bl FUN_02088DF8 add r5, r0, #0x0 - bl sub_02088EF8 + bl FUN_02088EF8 strh r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02045E74 -sub_02045E74: ; 0x02045E74 + thumb_func_start FUN_02045E74 +FUN_02045E74: ; 0x02045E74 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -132930,10 +132930,10 @@ sub_02045E74: ; 0x02045E74 mov r1, #0x13 str r2, [sp, #0x0] add r6, r3, #0x0 - bl sub_02039438 + bl FUN_02039438 str r0, [sp, #0x4] mov r0, #0x20 - bl sub_02088DD8 + bl FUN_02088DD8 add r4, r0, #0x0 ldr r0, [sp, #0x4] str r4, [r0, #0x0] @@ -132942,14 +132942,14 @@ sub_02045E74: ; 0x02045E74 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 str r0, [r4, #0x4] add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x8] str r6, [r4, #0xc] add r0, r5, #0x0 @@ -132957,81 +132957,81 @@ sub_02045E74: ; 0x02045E74 add r0, #0x80 ldr r0, [r0, #0x0] add r1, r4, #0x0 - bl sub_02038864 - ldr r1, _02045EDC ; =sub_0203BC04 + bl FUN_02038864 + ldr r1, _02045EDC ; =FUN_0203BC04 add r0, r5, #0x0 - bl sub_02038B5C + bl FUN_02038B5C add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x8 pop {r3-r7, pc} .balign 4 -_02045EDC: .word sub_0203BC04 + 1 +_02045EDC: .word FUN_0203BC04 + 1 - thumb_func_start sub_02045EE0 -sub_02045EE0: ; 0x02045EE0 + thumb_func_start FUN_02045EE0 +FUN_02045EE0: ; 0x02045EE0 mov r0, #0x1 bx lr - thumb_func_start sub_02045EE4 -sub_02045EE4: ; 0x02045EE4 + thumb_func_start FUN_02045EE4 +FUN_02045EE4: ; 0x02045EE4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, r0, #0x0 mov r1, #0x20 - bl sub_02088DF8 + bl FUN_02088DF8 add r3, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 - bl sub_02045E74 + bl FUN_02045E74 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_02045F24 -sub_02045F24: ; 0x02045F24 + thumb_func_start FUN_02045F24 +FUN_02045F24: ; 0x02045F24 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394F0 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 mov r0, #0x20 mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r3, r0, #0x0 ldr r0, _02045F80 ; =0x0000FFFF strh r4, [r3, #0x0] @@ -133039,36 +133039,36 @@ sub_02045F24: ; 0x02045F24 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02045E74 + bl FUN_02045E74 mov r0, #0x1 pop {r4-r6, pc} .balign 4 _02045F80: .word 0x0000FFFF - thumb_func_start sub_02045F84 -sub_02045F84: ; 0x02045F84 + thumb_func_start FUN_02045F84 +FUN_02045F84: ; 0x02045F84 mov r0, #0x0 bx lr - thumb_func_start sub_02045F88 -sub_02045F88: ; 0x02045F88 + thumb_func_start FUN_02045F88 +FUN_02045F88: ; 0x02045F88 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 ldr r4, [r0, #0x0] cmp r4, #0x0 bne _02045FB2 - bl sub_02020C2C + bl FUN_02020C2C _02045FB2: ldrb r0, [r4, #0x16] cmp r0, #0x0 @@ -133080,30 +133080,30 @@ _02045FBC: _02045FBE: strh r0, [r5, #0x0] add r0, r4, #0x0 - bl sub_02088DF0 + bl FUN_02088DF0 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02045FCC -sub_02045FCC: ; 0x02045FCC + thumb_func_start FUN_02045FCC +FUN_02045FCC: ; 0x02045FCC push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02038C30 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl sub_020394B8 + bl FUN_020394B8 add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x13 - bl sub_02039438 + bl FUN_02039438 ldr r4, [r0, #0x0] cmp r4, #0x0 bne _02045FF6 - bl sub_02020C2C + bl FUN_02020C2C _02045FF6: ldrb r0, [r4, #0x16] cmp r0, #0x0 @@ -133115,44 +133115,44 @@ _02046000: _02046002: strh r0, [r5, #0x0] add r0, r4, #0x0 - bl sub_02088DF0 + bl FUN_02088DF0 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02046010 -sub_02046010: ; 0x02046010 + thumb_func_start FUN_02046010 +FUN_02046010: ; 0x02046010 push {r3, lr} - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0204601C -sub_0204601C: ; 0x0204601C + thumb_func_start FUN_0204601C +FUN_0204601C: ; 0x0204601C push {r3, lr} - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02046028 -sub_02046028: ; 0x02046028 + thumb_func_start FUN_02046028 +FUN_02046028: ; 0x02046028 mov r0, #0x0 bx lr - thumb_func_start sub_0204602C -sub_0204602C: ; 0x0204602C + thumb_func_start FUN_0204602C +FUN_0204602C: ; 0x0204602C mov r0, #0x0 bx lr - thumb_func_start sub_02046030 -sub_02046030: ; 0x02046030 + thumb_func_start FUN_02046030 +FUN_02046030: ; 0x02046030 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 strb r0, [r2, #0x0] @@ -133168,24 +133168,24 @@ sub_02046030: ; 0x02046030 strb r0, [r2, #0xa] strb r0, [r2, #0xb] ldr r0, [r4, #0x10] - ldr r1, _02046064 ; =sub_02046068 - bl sub_0204640C + ldr r1, _02046064 ; =FUN_02046068 + bl FUN_0204640C pop {r4, pc} nop -_02046064: .word sub_02046068 + 1 +_02046064: .word FUN_02046068 + 1 - thumb_func_start sub_02046068 -sub_02046068: ; 0x02046068 + thumb_func_start FUN_02046068 +FUN_02046068: ; 0x02046068 push {r4-r6, lr} sub sp, #0x38 add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC ldrb r1, [r4, #0x8] cmp r1, #0xb bls _0204608A @@ -133210,16 +133210,16 @@ _0204608A: lsl r6, r6, #0x4 lsl r4, r1, #0x5 ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 strh r0, [r4, #0x4] ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C strh r0, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0206367C + bl FUN_0206367C add r0, r6, #0x0 - bl sub_0204AFC8 + bl FUN_0204AFC8 ldrb r0, [r4, #0x8] add r0, r0, #0x1 strb r0, [r4, #0x8] @@ -133253,26 +133253,26 @@ _02046200: .byte 0x4F, 0x03, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x79, 0x06, 0x00, 0x00 .byte 0xB8, 0x48, 0x1C, 0x02 - thumb_func_start sub_02046214 -sub_02046214: ; 0x02046214 + thumb_func_start FUN_02046214 +FUN_02046214: ; 0x02046214 push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_0205889C + bl FUN_0205889C pop {r4, pc} - thumb_func_start sub_02046224 -sub_02046224: ; 0x02046224 + thumb_func_start FUN_02046224 +FUN_02046224: ; 0x02046224 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 ldr r0, _02046278 ; =0x000008C1 ldr r1, [r4, #0x20] - bl sub_0201EEF0 + bl FUN_0201EEF0 ldr r0, _0204627C ; =0x000F81B8 ldr r1, [r4, #0x20] - bl sub_0201EFE0 + bl FUN_0201EFE0 ldr r0, _02046280 ; =0x0350523D str r0, [sp, #0x8] ldr r0, _02046284 ; =0x0015EDB7 @@ -133281,7 +133281,7 @@ sub_02046224: ; 0x02046224 str r0, [sp, #0x10] ldr r1, [r4, #0x20] add r0, sp, #0x8 - bl sub_0201F04C + bl FUN_0201F04C ldr r1, _0204628C ; =0x00000823 add r0, sp, #0x0 strh r1, [r0, #0x0] @@ -133292,12 +133292,12 @@ sub_02046224: ; 0x02046224 strh r1, [r0, #0x4] ldr r1, [r4, #0x20] add r0, sp, #0x0 - bl sub_0201EF90 + bl FUN_0201EF90 mov r0, #0x3 ldr r1, _02046290 ; =0x0061C000 ldr r2, [r4, #0x20] lsl r0, r0, #0xe - bl sub_0201EC94 + bl FUN_0201EC94 add sp, #0x14 pop {r3-r4, pc} nop @@ -133309,36 +133309,36 @@ _02046288: .word 0x023DA40E _0204628C: .word 0x00000823 _02046290: .word 0x0061C000 - thumb_func_start sub_02046294 -sub_02046294: ; 0x02046294 + thumb_func_start FUN_02046294 +FUN_02046294: ; 0x02046294 mov r0, #0xeb lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_0204629C -sub_0204629C: ; 0x0204629C - ldr r3, _020462A8 ; =sub_020DF4A4 + thumb_func_start FUN_0204629C +FUN_0204629C: ; 0x0204629C + ldr r3, _020462A8 ; =FUN_020DF4A4 mov r2, #0xeb mov r1, #0x0 lsl r2, r2, #0x2 bx r3 nop -_020462A8: .word sub_020DF4A4 +_020462A8: .word FUN_020DF4A4 - thumb_func_start sub_020462AC -sub_020462AC: ; 0x020462AC - ldr r3, _020462B4 ; =sub_02022610 + thumb_func_start FUN_020462AC +FUN_020462AC: ; 0x020462AC + ldr r3, _020462B4 ; =FUN_02022610 mov r1, #0x4 bx r3 nop -_020462B4: .word sub_02022610 + 1 +_020462B4: .word FUN_02022610 + 1 - thumb_func_start sub_020462B8 -sub_020462B8: ; 0x020462B8 + thumb_func_start FUN_020462B8 +FUN_020462B8: ; 0x020462B8 push {r3-r5, lr} add r4, r1, #0x0 - bl sub_02046338 + bl FUN_02046338 cmp r0, #0x0 beq _020462DE lsr r3, r4, #0x1f @@ -133360,11 +133360,11 @@ _020462E0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020462E4 -sub_020462E4: ; 0x020462E4 + thumb_func_start FUN_020462E4 +FUN_020462E4: ; 0x020462E4 push {r4-r6, lr} add r4, r1, #0x0 - bl sub_02046338 + bl FUN_02046338 cmp r0, #0x0 beq _02046308 lsr r5, r4, #0x1f @@ -133383,11 +133383,11 @@ _02046308: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204630C -sub_0204630C: ; 0x0204630C + thumb_func_start FUN_0204630C +FUN_0204630C: ; 0x0204630C push {r4-r6, lr} add r4, r1, #0x0 - bl sub_02046338 + bl FUN_02046338 cmp r0, #0x0 beq _02046334 lsr r5, r4, #0x1f @@ -133408,8 +133408,8 @@ _02046334: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02046338 -sub_02046338: ; 0x02046338 + thumb_func_start FUN_02046338 +FUN_02046338: ; 0x02046338 push {r3-r5, lr} add r5, r0, #0x0 cmp r1, #0x0 @@ -133426,7 +133426,7 @@ _02046344: lsl r0, r0, #0x2 cmp r4, r0 blt _0204635A - bl sub_02020C2C + bl FUN_02020C2C _0204635A: mov r0, #0x9 lsl r0, r0, #0x6 @@ -133441,7 +133441,7 @@ _02046364: asr r4, r0, #0x3 cmp r4, #0x8 blt _02046376 - bl sub_02020C2C + bl FUN_02020C2C _02046376: ldr r0, _0204637C ; =0x021C5A14 add r0, r0, r4 @@ -133449,8 +133449,8 @@ _02046376: .balign 4 _0204637C: .word 0x021C5A14 - thumb_func_start sub_02046380 -sub_02046380: ; 0x02046380 + thumb_func_start FUN_02046380 +FUN_02046380: ; 0x02046380 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1 @@ -133460,21 +133460,21 @@ sub_02046380: ; 0x02046380 lsl r0, r0, #0x4 cmp r4, r0 blt _02046396 - bl sub_02020C2C + bl FUN_02020C2C _02046396: lsl r0, r4, #0x1 add r0, r5, r0 pop {r3-r5, pc} - thumb_func_start sub_0204639C -sub_0204639C: ; 0x0204639C + thumb_func_start FUN_0204639C +FUN_0204639C: ; 0x0204639C push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x20 add r6, r1, #0x0 add r1, r0, #0x0 add r7, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] @@ -133486,13 +133486,13 @@ sub_0204639C: ; 0x0204639C mov r0, #0x20 mov r1, #0x4 str r5, [r4, #0x18] - bl sub_020169D8 + bl FUN_020169D8 str r0, [r4, #0x1c] add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020463CC -sub_020463CC: ; 0x020463CC + thumb_func_start FUN_020463CC +FUN_020463CC: ; 0x020463CC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] @@ -133500,17 +133500,17 @@ sub_020463CC: ; 0x020463CC add r6, r2, #0x0 cmp r0, #0x0 beq _020463DE - bl sub_02020C2C + bl FUN_02020C2C _020463DE: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0204639C + bl FUN_0204639C str r0, [r5, #0x10] pop {r4-r6, pc} - thumb_func_start sub_020463EC -sub_020463EC: ; 0x020463EC + thumb_func_start FUN_020463EC +FUN_020463EC: ; 0x020463EC push {r4, lr} add r4, r0, #0x0 str r1, [r4, #0x4] @@ -133522,27 +133522,27 @@ sub_020463EC: ; 0x020463EC bne _02046400 beq _0204640A _02046400: - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x10] str r0, [r4, #0x14] _0204640A: pop {r4, pc} - thumb_func_start sub_0204640C -sub_0204640C: ; 0x0204640C + thumb_func_start FUN_0204640C +FUN_0204640C: ; 0x0204640C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] - bl sub_0204639C + bl FUN_0204639C str r4, [r0, #0x0] ldr r1, [r4, #0x18] str r0, [r1, #0x10] pop {r4, pc} .balign 4 - thumb_func_start sub_02046420 -sub_02046420: ; 0x02046420 + thumb_func_start FUN_02046420 +FUN_02046420: ; 0x02046420 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] @@ -133561,13 +133561,13 @@ _02046436: ldr r0, [r0, #0x14] cmp r0, #0x0 beq _02046444 - bl sub_02016A18 + bl FUN_02016A18 _02046444: ldr r0, [r5, #0x10] ldr r0, [r0, #0x1c] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, #0x10] - bl sub_02016A18 + bl FUN_02016A18 str r4, [r5, #0x10] cmp r4, #0x0 bne _0204645C @@ -133584,8 +133584,8 @@ _02046466: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204646C -sub_0204646C: ; 0x0204646C + thumb_func_start FUN_0204646C +FUN_0204646C: ; 0x0204646C ldr r0, [r0, #0x10] cmp r0, #0x0 beq _02046476 @@ -133596,15 +133596,15 @@ _02046476: bx lr .balign 4 - thumb_func_start sub_0204647C -sub_0204647C: ; 0x0204647C + thumb_func_start FUN_0204647C +FUN_0204647C: ; 0x0204647C push {r4, lr} add r4, r0, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 bne _02046492 add r0, r4, #0x0 - bl sub_020373C4 + bl FUN_020373C4 cmp r0, #0x0 beq _02046496 _02046492: @@ -133615,17 +133615,17 @@ _02046496: pop {r4, pc} .balign 4 - thumb_func_start sub_0204649C -sub_0204649C: ; 0x0204649C - ldr r3, _020464A0 ; =sub_02037350 + thumb_func_start FUN_0204649C +FUN_0204649C: ; 0x0204649C + ldr r3, _020464A0 ; =FUN_02037350 bx r3 .balign 4 -_020464A0: .word sub_02037350 + 1 +_020464A0: .word FUN_02037350 + 1 - thumb_func_start sub_020464A4 -sub_020464A4: ; 0x020464A4 + thumb_func_start FUN_020464A4 +FUN_020464A4: ; 0x020464A4 push {r3, lr} - bl sub_020373AC + bl FUN_020373AC cmp r0, #0x0 beq _020464B2 mov r0, #0x1 @@ -133635,14 +133635,14 @@ _020464B2: pop {r3, pc} .balign 4 - thumb_func_start sub_020464B8 -sub_020464B8: ; 0x020464B8 + thumb_func_start FUN_020464B8 +FUN_020464B8: ; 0x020464B8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -133654,78 +133654,78 @@ _020464D6: ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r5, #0x0 - bl sub_020373D4 + bl FUN_020373D4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _020464FC _020464E8: add r0, r5, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _020464FC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020464FC: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02046500 -sub_02046500: ; 0x02046500 + thumb_func_start FUN_02046500 +FUN_02046500: ; 0x02046500 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0x20 mov r1, #0xc add r4, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r5, [r2, #0x4] - ldr r1, _02046524 ; =sub_020464B8 + ldr r1, _02046524 ; =FUN_020464B8 add r0, r6, #0x0 str r4, [r2, #0x8] - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} .balign 4 -_02046524: .word sub_020464B8 + 1 +_02046524: .word FUN_020464B8 + 1 - thumb_func_start sub_02046528 -sub_02046528: ; 0x02046528 + thumb_func_start FUN_02046528 +FUN_02046528: ; 0x02046528 ldr r0, [r0, #0x18] bx lr - thumb_func_start sub_0204652C -sub_0204652C: ; 0x0204652C + thumb_func_start FUN_0204652C +FUN_0204652C: ; 0x0204652C ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02046530 -sub_02046530: ; 0x02046530 + thumb_func_start FUN_02046530 +FUN_02046530: ; 0x02046530 add r0, #0x8 bx lr - thumb_func_start sub_02046534 -sub_02046534: ; 0x02046534 + thumb_func_start FUN_02046534 +FUN_02046534: ; 0x02046534 ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0204653C -sub_0204653C: ; 0x0204653C + thumb_func_start FUN_0204653C +FUN_0204653C: ; 0x0204653C push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -133736,14 +133736,14 @@ sub_0204653C: ; 0x0204653C _02046562: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0203780C + bl FUN_0203780C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046580 _02046572: add r0, r5, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _02046580 mov r0, #0x1 @@ -133752,18 +133752,18 @@ _02046580: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02046584 -sub_02046584: ; 0x02046584 - ldr r3, _0204658C ; =sub_0204640C + thumb_func_start FUN_02046584 +FUN_02046584: ; 0x02046584 + ldr r3, _0204658C ; =FUN_0204640C add r2, r1, #0x0 - ldr r1, _02046590 ; =sub_0204653C + ldr r1, _02046590 ; =FUN_0204653C bx r3 .balign 4 -_0204658C: .word sub_0204640C + 1 -_02046590: .word sub_0204653C + 1 +_0204658C: .word FUN_0204640C + 1 +_02046590: .word FUN_0204653C + 1 - thumb_func_start sub_02046594 -sub_02046594: ; 0x02046594 + thumb_func_start FUN_02046594 +FUN_02046594: ; 0x02046594 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -133771,7 +133771,7 @@ sub_02046594: ; 0x02046594 mov r1, #0x14 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 str r4, [r0, #0x0] cmp r4, #0x0 beq _020465B0 @@ -133783,19 +133783,19 @@ _020465B0: str r5, [r0, #0x10] pop {r3-r7, pc} - thumb_func_start sub_020465B8 -sub_020465B8: ; 0x020465B8 + thumb_func_start FUN_020465B8 +FUN_020465B8: ; 0x020465B8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] - bl sub_02047964 + bl FUN_02047964 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020465CC -sub_020465CC: ; 0x020465CC + thumb_func_start FUN_020465CC +FUN_020465CC: ; 0x020465CC ldr r2, [r0, #0x0] cmp r2, #0x0 beq _020465D8 @@ -133804,36 +133804,36 @@ sub_020465CC: ; 0x020465CC str r1, [r2, #0x0] _020465D8: ldr r0, [r0, #0x10] - ldr r3, _020465E0 ; =sub_020480B8 + ldr r3, _020465E0 ; =FUN_020480B8 ldr r0, [r0, #0x14] bx r3 .balign 4 -_020465E0: .word sub_020480B8 + 1 +_020465E0: .word FUN_020480B8 + 1 - thumb_func_start sub_020465E4 -sub_020465E4: ; 0x020465E4 + thumb_func_start FUN_020465E4 +FUN_020465E4: ; 0x020465E4 push {r3, lr} mov r2, #0x2 ldr r3, [r0, #0x0] lsl r2, r2, #0x1e tst r2, r3 bne _020465F4 - bl sub_02047F38 + bl FUN_02047F38 _020465F4: pop {r3, pc} .balign 4 - thumb_func_start sub_020465F8 -sub_020465F8: ; 0x020465F8 + thumb_func_start FUN_020465F8 +FUN_020465F8: ; 0x020465F8 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 @@ -133851,11 +133851,11 @@ sub_020465F8: ; 0x020465F8 lsl r4, r6, #0x2 lsl r0, r1, #0x3 ldr r0, [r6, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -133877,25 +133877,25 @@ _020466F8: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020466FC -sub_020466FC: ; 0x020466FC + thumb_func_start FUN_020466FC +FUN_020466FC: ; 0x020466FC push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 ldr r3, [sp, #0x8] - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _02046718 ; =sub_020465F8 + ldr r1, _02046718 ; =FUN_020465F8 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_02046718: .word sub_020465F8 + 1 +_02046718: .word FUN_020465F8 + 1 - thumb_func_start sub_0204671C -sub_0204671C: ; 0x0204671C + thumb_func_start FUN_0204671C +FUN_0204671C: ; 0x0204671C push {r3, lr} mov r2, #0xf and r0, r2 @@ -133916,7 +133916,7 @@ sub_0204671C: ; 0x0204671C lsl r4, r1, #0 ldr r0, [r1, #0xc] mov r1, #0x1 - bl sub_0202E25C + bl FUN_0202E25C pop {r3, pc} _0204674A: .byte 0xC8, 0x68, 0x10, 0x3A, 0x11, 0x1C @@ -133925,17 +133925,17 @@ _02046754: pop {r3, pc} .balign 4 - thumb_func_start sub_02046758 -sub_02046758: ; 0x02046758 + thumb_func_start FUN_02046758 +FUN_02046758: ; 0x02046758 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 @@ -133955,7 +133955,7 @@ sub_02046758: ; 0x02046758 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r6, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -133972,17 +133972,17 @@ _020467F6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020467FC -sub_020467FC: ; 0x020467FC + thumb_func_start FUN_020467FC +FUN_020467FC: ; 0x020467FC push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -133998,10 +133998,10 @@ _02046826: lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x1 - bl sub_0200433C + bl FUN_0200433C ldr r1, [r5, #0x10] add r0, r7, #0x0 - bl sub_02046584 + bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134010,38 +134010,38 @@ _02046844: ldr r0, [r5, #0x10] add r1, r6, #0x0 ldr r0, [r0, #0x14] - bl sub_0204671C + bl FUN_0204671C ldr r0, [r5, #0x10] add r1, r6, #0x0 - bl sub_02047FA4 + bl FUN_02047FA4 ldr r0, [r6, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x15 - bl sub_0202A170 + bl FUN_0202A170 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02046874 _0204686A: add r0, r5, #0x0 - bl sub_020465B8 + bl FUN_020465B8 mov r0, #0x1 pop {r3-r7, pc} _02046874: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02046878 -sub_02046878: ; 0x02046878 + thumb_func_start FUN_02046878 +FUN_02046878: ; 0x02046878 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 @@ -134061,7 +134061,7 @@ sub_02046878: ; 0x02046878 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r6, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134079,49 +134079,49 @@ _02046922: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02046928 -sub_02046928: ; 0x02046928 + thumb_func_start FUN_02046928 +FUN_02046928: ; 0x02046928 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 ldr r3, [sp, #0x8] - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _02046944 ; =sub_02046878 + ldr r1, _02046944 ; =FUN_02046878 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_02046944: .word sub_02046878 + 1 +_02046944: .word FUN_02046878 + 1 - thumb_func_start sub_02046948 -sub_02046948: ; 0x02046948 + thumb_func_start FUN_02046948 +FUN_02046948: ; 0x02046948 push {r3-r7, lr} add r4, r1, #0x0 add r7, r0, #0x0 add r5, r2, #0x0 - bl sub_02046528 + bl FUN_02046528 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02244558 + bl FUN_02244558 add r4, r0, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r3, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 str r5, [sp, #0x0] - bl sub_02046928 + bl FUN_02046928 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204697C -sub_0204697C: ; 0x0204697C + thumb_func_start FUN_0204697C +FUN_0204697C: ; 0x0204697C push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -134129,7 +134129,7 @@ sub_0204697C: ; 0x0204697C mov r1, #0x14 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 str r4, [r0, #0xc] cmp r4, #0x0 beq _02046998 @@ -134143,115 +134143,115 @@ _02046998: str r1, [r0, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020469A4 -sub_020469A4: ; 0x020469A4 + thumb_func_start FUN_020469A4 +FUN_020469A4: ; 0x020469A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] - bl sub_02047964 + bl FUN_02047964 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020469B8 -sub_020469B8: ; 0x020469B8 + thumb_func_start FUN_020469B8 +FUN_020469B8: ; 0x020469B8 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x0 beq _020469F2 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _02046A18 ; =sub_02046C1C + ldr r1, _02046A18 ; =FUN_02046C1C add r0, r5, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4-r6, pc} _020469F2: add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0204697C + bl FUN_0204697C add r2, r0, #0x0 - ldr r1, _02046A1C ; =sub_02046A88 + ldr r1, _02046A1C ; =FUN_02046A88 add r0, r5, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4-r6, pc} .balign 4 -_02046A18: .word sub_02046C1C + 1 -_02046A1C: .word sub_02046A88 + 1 +_02046A18: .word FUN_02046C1C + 1 +_02046A1C: .word FUN_02046A88 + 1 - thumb_func_start sub_02046A20 -sub_02046A20: ; 0x02046A20 + thumb_func_start FUN_02046A20 +FUN_02046A20: ; 0x02046A20 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x0 beq _02046A5A add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _02046A80 ; =sub_02046C1C + ldr r1, _02046A80 ; =FUN_02046C1C add r0, r5, #0x0 - bl sub_020463EC + bl FUN_020463EC pop {r4-r6, pc} _02046A5A: add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_0204697C + bl FUN_0204697C add r2, r0, #0x0 - ldr r1, _02046A84 ; =sub_02046A88 + ldr r1, _02046A84 ; =FUN_02046A88 add r0, r5, #0x0 - bl sub_020463EC + bl FUN_020463EC pop {r4-r6, pc} .balign 4 -_02046A80: .word sub_02046C1C + 1 -_02046A84: .word sub_02046A88 + 1 +_02046A80: .word FUN_02046C1C + 1 +_02046A84: .word FUN_02046A88 + 1 - thumb_func_start sub_02046A88 -sub_02046A88: ; 0x02046A88 + thumb_func_start FUN_02046A88 +FUN_02046A88: ; 0x02046A88 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 @@ -134272,15 +134272,15 @@ _02046AA2: lsl r4, r2, #0x4 lsl r4, r0, #0x5 ldr r0, [r5, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r6, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134313,22 +134313,22 @@ _02046C12: _02046C18: .byte 0x7D, 0x83, 0x04, 0x02 - thumb_func_start sub_02046C1C -sub_02046C1C: ; 0x02046C1C + thumb_func_start FUN_02046C1C +FUN_02046C1C: ; 0x02046C1C push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_02034E30 - bl sub_02034E24 + bl FUN_02034E30 + bl FUN_02034E24 str r0, [sp, #0x0] ldr r0, [r4, #0x0] cmp r0, #0x7 @@ -134350,15 +134350,15 @@ _02046C4C: lsl r6, r2, #0x3 lsl r2, r7, #0x4 ldr r0, [r6, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r6, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134391,22 +134391,22 @@ _02046DA8: .byte 0x62, 0x22, 0x00, 0x00, 0x69, 0x22, 0x00, 0x00 .byte 0x76, 0x22, 0x00, 0x00 - thumb_func_start sub_02046DB4 -sub_02046DB4: ; 0x02046DB4 + thumb_func_start FUN_02046DB4 +FUN_02046DB4: ; 0x02046DB4 push {r3-r7, lr} add r7, r0, #0x0 add r6, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 mov r0, #0xb mov r1, #0x0 - bl sub_020476CC + bl FUN_020476CC add r1, r5, #0x0 add r4, r0, #0x0 - bl sub_02047BB0 + bl FUN_02047BB0 mov r0, #0x15 mov r1, #0x0 lsl r0, r0, #0x4 @@ -134415,49 +134415,49 @@ sub_02046DB4: ; 0x02046DB4 str r1, [r4, r0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0223CCDC + bl FUN_0223CCDC ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r3, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 str r6, [sp, #0x0] - bl sub_020466FC + bl FUN_020466FC pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02046E18 -sub_02046E18: ; 0x02046E18 + thumb_func_start FUN_02046E18 +FUN_02046E18: ; 0x02046E18 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x4] add r7, r1, #0x0 str r2, [sp, #0x8] add r6, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 mov r0, #0xb mov r1, #0x0 - bl sub_020476CC + bl FUN_020476CC add r1, r5, #0x0 add r4, r0, #0x0 - bl sub_02047BB0 + bl FUN_02047BB0 ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, r7, #0x0 add r3, r4, #0x0 - bl sub_0223CD7C + bl FUN_0223CD7C ldr r0, [sp, #0x20] cmp r0, #0x0 beq _02046E60 @@ -134469,34 +134469,34 @@ sub_02046E18: ; 0x02046E18 str r0, [r4, r1] _02046E60: ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r3, r0, #0x0 ldr r0, [sp, #0x4] add r1, r4, #0x0 add r2, r5, #0x0 str r6, [sp, #0x0] - bl sub_020466FC + bl FUN_020466FC add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02046E8C -sub_02046E8C: ; 0x02046E8C + thumb_func_start FUN_02046E8C +FUN_02046E8C: ; 0x02046E8C push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 @@ -134515,15 +134515,15 @@ sub_02046E8C: ; 0x02046E8C lsl r4, r7, #0x1 lsl r0, r2, #0x2 ldr r0, [r6, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r6, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 ldr r1, [r5, #0x4] ldr r2, [r5, #0x8] add r0, r7, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134542,84 +134542,84 @@ _02046F6C: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02046F70 -sub_02046F70: ; 0x02046F70 + thumb_func_start FUN_02046F70 +FUN_02046F70: ; 0x02046F70 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _02046F9C ; =sub_02046E8C + ldr r1, _02046F9C ; =FUN_02046E8C add r0, r5, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4-r6, pc} .balign 4 -_02046F9C: .word sub_02046E8C + 1 +_02046F9C: .word FUN_02046E8C + 1 - thumb_func_start sub_02046FA0 -sub_02046FA0: ; 0x02046FA0 + thumb_func_start FUN_02046FA0 +FUN_02046FA0: ; 0x02046FA0 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x4] add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 mov r0, #0xb mov r1, #0x0 - bl sub_020476CC + bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 - bl sub_02047BB0 + bl FUN_02047BB0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 add r3, r4, #0x0 - bl sub_0223CD7C + bl FUN_0223CD7C mov r0, #0x63 mov r1, #0x1 lsl r0, r0, #0x2 str r1, [r4, r0] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x7 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_020466FC + bl FUN_020466FC add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02047004 -sub_02047004: ; 0x02047004 + thumb_func_start FUN_02047004 +FUN_02047004: ; 0x02047004 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 @@ -134638,11 +134638,11 @@ sub_02047004: ; 0x02047004 lsl r6, r2, #0x1 lsl r2, r5, #0x1 ldr r0, [r7, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r1, [r6, #0x4] ldr r2, [r6, #0x8] add r0, r5, #0x0 - bl sub_0204AEF8 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -134659,41 +134659,41 @@ _020470A6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020470AC -sub_020470AC: ; 0x020470AC + thumb_func_start FUN_020470AC +FUN_020470AC: ; 0x020470AC push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r1, r0, #0x0 mov r0, #0xb - bl sub_02047814 + bl FUN_02047814 add r4, r0, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _020470E4 ; =sub_02047004 + ldr r1, _020470E4 ; =FUN_02047004 add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop -_020470E4: .word sub_02047004 + 1 +_020470E4: .word FUN_02047004 + 1 - thumb_func_start sub_020470E8 -sub_020470E8: ; 0x020470E8 + thumb_func_start FUN_020470E8 +FUN_020470E8: ; 0x020470E8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x4] add r6, r1, #0x0 add r5, r2, #0x0 str r3, [sp, #0x8] - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 cmp r5, #0x0 beq _02047110 @@ -134718,13 +134718,13 @@ _0204711A: add r0, r7, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 mov r0, #0xb add r1, r4, #0x0 - bl sub_020476CC + bl FUN_020476CC add r4, r0, #0x0 add r1, r7, #0x0 - bl sub_02047BB0 + bl FUN_02047BB0 str r6, [r4, #0x1c] ldr r0, [sp, #0x8] str r5, [r4, #0x24] @@ -134732,114 +134732,114 @@ _0204711A: ldr r1, [r7, #0xc] ldr r2, [sp, #0x20] add r0, r4, #0x0 - bl sub_0206ABC4 + bl FUN_0206ABC4 ldr r0, [r7, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x8 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r3, r0, #0x0 ldr r0, [sp, #0x24] add r1, r4, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r2, r5, #0x0 - bl sub_020466FC + bl FUN_020466FC add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02047174 -sub_02047174: ; 0x02047174 + thumb_func_start FUN_02047174 +FUN_02047174: ; 0x02047174 push {r3-r7, lr} add r5, r2, #0x0 add r7, r0, #0x0 add r4, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 mov r0, #0xb add r1, r5, #0x0 - bl sub_020476CC + bl FUN_020476CC add r5, r0, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02047F1C + bl FUN_02047F1C add r0, r5, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _020471BC ; =sub_02046758 + ldr r1, _020471BC ; =FUN_02046758 add r0, r7, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} nop -_020471BC: .word sub_02046758 + 1 +_020471BC: .word FUN_02046758 + 1 - thumb_func_start sub_020471C0 -sub_020471C0: ; 0x020471C0 + thumb_func_start FUN_020471C0 +FUN_020471C0: ; 0x020471C0 push {r3-r7, lr} str r0, [sp, #0x0] add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 cmp r4, #0x0 beq _020471DE mov r0, #0xb mov r1, #0x5 - bl sub_020476CC + bl FUN_020476CC b _020471E6 _020471DE: mov r0, #0xb mov r1, #0x7 - bl sub_020476CC + bl FUN_020476CC _020471E6: add r4, r0, #0x0 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02047BC0 + bl FUN_02047BC0 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 ldr r0, [sp, #0x0] - ldr r1, _0204721C ; =sub_020467FC + ldr r1, _0204721C ; =FUN_020467FC str r5, [r2, #0xc] - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} nop -_0204721C: .word sub_020467FC + 1 +_0204721C: .word FUN_020467FC + 1 - thumb_func_start sub_02047220 -sub_02047220: ; 0x02047220 + thumb_func_start FUN_02047220 +FUN_02047220: ; 0x02047220 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -134848,88 +134848,88 @@ sub_02047220: ; 0x02047220 beq _02047258 b _02047262 _02047246: - ldr r1, _02047268 ; =sub_02046758 + ldr r1, _02047268 ; =FUN_02046758 add r0, r5, #0x0 add r2, r7, #0x0 - bl sub_0204640C + bl FUN_0204640C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02047262 _02047258: add r0, r6, #0x0 - bl sub_0204FF5C + bl FUN_0204FF5C mov r0, #0x1 pop {r3-r7, pc} _02047262: mov r0, #0x0 pop {r3-r7, pc} nop -_02047268: .word sub_02046758 + 1 +_02047268: .word FUN_02046758 + 1 - thumb_func_start sub_0204726C -sub_0204726C: ; 0x0204726C + thumb_func_start FUN_0204726C +FUN_0204726C: ; 0x0204726C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb add r1, r2, #0x0 - bl sub_020476CC + bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_02047F1C + bl FUN_02047F1C add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _020472AC ; =sub_02047220 + ldr r1, _020472AC ; =FUN_02047220 add r0, r5, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4-r6, pc} nop -_020472AC: .word sub_02047220 + 1 +_020472AC: .word FUN_02047220 + 1 - thumb_func_start sub_020472B0 -sub_020472B0: ; 0x020472B0 + thumb_func_start FUN_020472B0 +FUN_020472B0: ; 0x020472B0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb add r1, r2, #0x0 - bl sub_020476CC + bl FUN_020476CC add r4, r0, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 - bl sub_02047D48 + bl FUN_02047D48 add r0, r4, #0x0 - bl sub_020475A0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_020475B0 + bl FUN_020475B0 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 mov r3, #0x0 - bl sub_02046594 + bl FUN_02046594 add r2, r0, #0x0 - ldr r1, _020472F0 ; =sub_02047220 + ldr r1, _020472F0 ; =FUN_02047220 add r0, r5, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4-r6, pc} .balign 4 -_020472F0: .word sub_02047220 + 1 +_020472F0: .word FUN_02047220 + 1 - thumb_func_start sub_020472F4 -sub_020472F4: ; 0x020472F4 + thumb_func_start FUN_020472F4 +FUN_020472F4: ; 0x020472F4 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r1, #0x0] @@ -134952,33 +134952,33 @@ _02047318: cmp r2, #0x1 bne _0204732A ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x8 - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} _0204732A: cmp r2, #0x4 bne _020473C8 ldr r0, [r1, #0x8] mov r1, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x0 mov r0, #0x0 - bl sub_0206BB48 + bl FUN_0206BB48 cmp r0, #0x0 ldr r0, [r4, #0xc] beq _02047358 - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x9 - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} _02047358: - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0xa - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} _02047364: mov r3, #0x1 @@ -134991,9 +134991,9 @@ _02047370: cmp r2, #0x1 bne _020473C8 ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0xb - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} _02047382: mov r3, #0x20 @@ -135008,30 +135008,30 @@ _02047390: bne _020473C8 ldr r0, [r1, #0x8] mov r1, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x0 mov r0, #0x0 - bl sub_0206BB48 + bl FUN_0206BB48 cmp r0, #0x0 ldr r0, [r4, #0xc] beq _020473BE - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x9 - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} _020473BE: - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0xa - bl sub_0202A170 + bl FUN_0202A170 _020473C8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020473CC -sub_020473CC: ; 0x020473CC + thumb_func_start FUN_020473CC +FUN_020473CC: ; 0x020473CC push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 @@ -135077,20 +135077,20 @@ _02047400: blo _020474FC ldr r0, [r4, #0x8] mov r1, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02023918 + bl FUN_02023918 str r0, [sp, #0x4] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x6f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r3, #0xb str r3, [sp, #0x0] @@ -135103,12 +135103,12 @@ _02047400: lsr r1, r1, #0x10 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0202920C + bl FUN_0202920C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x2 - bl sub_02028AD4 + bl FUN_02028AD4 add sp, #0xc pop {r4-r7, pc} _02047470: @@ -135121,20 +135121,20 @@ _02047470: lsl r0, r0, #0x2 add r0, r4, r0 ldr r0, [r0, #0x4] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02023918 + bl FUN_02023918 str r0, [sp, #0x8] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x6f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r3, #0xb str r3, [sp, #0x0] @@ -135147,12 +135147,12 @@ _02047470: lsr r1, r1, #0x10 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0202918C + bl FUN_0202918C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x2 - bl sub_02028AD4 + bl FUN_02028AD4 add sp, #0xc pop {r4-r7, pc} _020474D2: @@ -135176,13 +135176,13 @@ _020474DE: lsr r1, r1, #0x10 lsr r2, r2, #0x10 mov r3, #0xb - bl sub_020299DC + bl FUN_020299DC _020474FC: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02047500 -sub_02047500: ; 0x02047500 + thumb_func_start FUN_02047500 +FUN_02047500: ; 0x02047500 push {r4, lr} ldr r4, [r0, #0x0] mov r1, #0x1 @@ -135190,7 +135190,7 @@ sub_02047500: ; 0x02047500 beq _02047546 add r0, #0x5d ldrb r0, [r0, #0x0] - bl sub_020475C0 + bl FUN_020475C0 mov r1, #0x80 tst r1, r4 beq _0204752A @@ -135222,7 +135222,7 @@ _0204753C: pop {r4, pc} _02047546: ldr r0, [r0, #0x8] - bl sub_02047668 + bl FUN_02047668 cmp r0, #0x1e blo _02047558 mov r1, #0x2 @@ -135233,14 +135233,14 @@ _02047558: pop {r4, pc} .balign 4 - thumb_func_start sub_0204755C -sub_0204755C: ; 0x0204755C + thumb_func_start FUN_0204755C +FUN_0204755C: ; 0x0204755C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x1f blo _0204756A - bl sub_02020C2C + bl FUN_02020C2C _0204756A: ldr r0, _02047580 ; =0x020F457C lsl r1, r5, #0x2 @@ -135249,20 +135249,20 @@ _0204756A: cmp r0, r1 bne _0204757C add r0, r4, #0x0 - bl sub_021E495C + bl FUN_021E495C _0204757C: pop {r3-r5, pc} nop _02047580: .word 0x020F457C _02047584: .word 0x0000FFFF - thumb_func_start sub_02047588 -sub_02047588: ; 0x02047588 + thumb_func_start FUN_02047588 +FUN_02047588: ; 0x02047588 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x1f blo _02047594 - bl sub_02020C2C + bl FUN_02020C2C _02047594: ldr r0, _0204759C ; =0x020F457E lsl r1, r4, #0x2 @@ -135271,26 +135271,26 @@ _02047594: .balign 4 _0204759C: .word 0x020F457E - thumb_func_start sub_020475A0 -sub_020475A0: ; 0x020475A0 + thumb_func_start FUN_020475A0 +FUN_020475A0: ; 0x020475A0 push {r4, lr} add r4, r0, #0x0 - bl sub_02047500 + bl FUN_02047500 add r1, r4, #0x0 - bl sub_0204755C + bl FUN_0204755C pop {r4, pc} - thumb_func_start sub_020475B0 -sub_020475B0: ; 0x020475B0 + thumb_func_start FUN_020475B0 +FUN_020475B0: ; 0x020475B0 push {r4, lr} add r4, r0, #0x0 - bl sub_02047500 + bl FUN_02047500 add r1, r4, #0x0 - bl sub_02047588 + bl FUN_02047588 pop {r4, pc} - thumb_func_start sub_020475C0 -sub_020475C0: ; 0x020475C0 + thumb_func_start FUN_020475C0 +FUN_020475C0: ; 0x020475C0 sub r0, #0x3e mov r1, #0x1d cmp r0, #0x23 @@ -135350,14 +135350,14 @@ _02047662: bx lr .balign 4 - thumb_func_start sub_02047668 -sub_02047668: ; 0x02047668 + thumb_func_start FUN_02047668 +FUN_02047668: ; 0x02047668 push {r4, lr} mov r4, #0x1e - bl sub_0204A1D8 + bl FUN_0204A1D8 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020476C8 ; =0x000001DF sub r0, r0, r1 cmp r0, #0xe @@ -135395,19 +135395,19 @@ _020476C4: .balign 4 _020476C8: .word 0x000001DF - thumb_func_start sub_020476CC -sub_020476CC: ; 0x020476CC + thumb_func_start FUN_020476CC +FUN_020476CC: ; 0x020476CC push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x67 lsl r1, r1, #0x2 add r5, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x67 mov r1, #0x0 lsl r2, r2, #0x2 add r7, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r1, #0x63 str r4, [r7, #0x0] mov r0, #0x0 @@ -135423,7 +135423,7 @@ _020476FA: add r1, r4, #0x0 mov r2, #0x34 str r0, [r6, #0x18] - blx sub_020CE1FC + blx FUN_020CE1FC ldr r0, [sp, #0x0] add r6, r6, #0x4 add r0, r0, #0x1 @@ -135459,7 +135459,7 @@ _020476FA: add r4, r7, #0x0 _02047748: add r0, r5, #0x0 - bl sub_0206B8AC + bl FUN_0206B8AC str r0, [r4, #0x4] add r6, r6, #0x1 add r4, r4, #0x4 @@ -135469,7 +135469,7 @@ _02047748: add r4, r7, #0x0 _0204775C: add r0, r5, #0x0 - bl sub_02023928 + bl FUN_02023928 add r1, r4, #0x0 add r1, #0xf8 add r6, r6, #0x1 @@ -135481,7 +135481,7 @@ _0204775C: add r4, r7, #0x0 _02047774: add r0, r5, #0x0 - bl sub_02029EE4 + bl FUN_02029EE4 mov r1, #0x46 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -135490,22 +135490,22 @@ _02047774: cmp r6, #0x4 blt _02047774 add r0, r5, #0x0 - bl sub_0206EB88 + bl FUN_0206EB88 mov r1, #0x42 lsl r1, r1, #0x2 str r0, [r7, r1] add r0, r5, #0x0 - bl sub_02023D6C + bl FUN_02023D6C mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r7, r1] add r0, r5, #0x0 - bl sub_02024F30 + bl FUN_02024F30 mov r1, #0x13 lsl r1, r1, #0x4 str r0, [r7, r1] add r0, r5, #0x0 - bl sub_02061008 + bl FUN_02061008 mov r2, #0x4d lsl r2, r2, #0x2 str r0, [r7, r2] @@ -135531,99 +135531,99 @@ _02047774: add r0, r2, #0x4 add r0, r7, r0 mov r2, #0xc - blx sub_020CE34C + blx FUN_020CE34C add r0, r7, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020477EC -sub_020477EC: ; 0x020477EC + thumb_func_start FUN_020477EC +FUN_020477EC: ; 0x020477EC push {r4, lr} add r4, r1, #0x0 mov r1, #0x20 - bl sub_020476CC + bl FUN_020476CC mov r1, #0x19 lsl r1, r1, #0x4 str r4, [r0, r1] pop {r4, pc} .balign 4 - thumb_func_start sub_02047800 -sub_02047800: ; 0x02047800 + thumb_func_start FUN_02047800 +FUN_02047800: ; 0x02047800 push {r4, lr} add r4, r1, #0x0 mov r1, #0x2 lsl r1, r1, #0x8 - bl sub_020476CC + bl FUN_020476CC mov r1, #0x19 lsl r1, r1, #0x4 str r4, [r0, r1] pop {r4, pc} - thumb_func_start sub_02047814 -sub_02047814: ; 0x02047814 + thumb_func_start FUN_02047814 +FUN_02047814: ; 0x02047814 push {r4-r7, lr} sub sp, #0x1c add r5, r1, #0x0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x10] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 mov r1, #0x1 str r0, [sp, #0x14] add r0, r6, #0x0 lsl r1, r1, #0xa - bl sub_020476CC + bl FUN_020476CC add r4, r0, #0x0 ldr r2, _0204795C ; =0x000001F1 mov r0, #0x1 mov r1, #0x1a add r3, r6, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0x18] mov r0, #0x8 add r1, r6, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r7, r0, #0x0 ldr r0, [sp, #0x10] - bl sub_020239CC + bl FUN_020239CC add r2, r0, #0x0 mov r1, #0x1 eor r1, r2 ldr r0, [sp, #0x18] add r2, r7, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r7, #0x0 - bl sub_02021F2C + bl FUN_02021F2C add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_0202395C + bl FUN_0202395C add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x18] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [sp, #0x10] - bl sub_020239CC + bl FUN_020239CC add r2, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 mov r1, #0x1 ldr r0, [r0, #0x0] eor r1, r2 - bl sub_020239C8 + bl FUN_020239C8 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0204806C + bl FUN_0204806C mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x14] ldr r1, [r4, r1] - bl sub_02024F44 + bl FUN_02024F44 add r0, r5, #0x0 - bl sub_0204B2A4 + bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r4, r1] @@ -135632,13 +135632,13 @@ sub_02047814: ; 0x02047814 mov r1, #0x4 mov r2, #0x14 add r3, r6, #0x0 - bl sub_0206ED38 + bl FUN_0206ED38 add r0, r6, #0x0 - bl sub_020669C0 + bl FUN_020669C0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F3C0 + bl FUN_020462AC + bl FUN_0205F3C0 mov r2, #0x0 str r2, [sp, #0x0] add r1, r0, #0x0 @@ -135649,10 +135649,10 @@ sub_02047814: ; 0x02047814 add r0, r6, #0x0 mov r2, #0x5 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC ldr r0, [r4, #0x4] add r1, r6, #0x0 - bl sub_0206B900 + bl FUN_0206B900 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -135662,14 +135662,14 @@ sub_02047814: ; 0x02047814 ldr r1, _02047960 ; =0x0000018F add r0, r6, #0x0 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC ldr r0, [r4, #0x8] add r1, r6, #0x0 - bl sub_0206B900 + bl FUN_0206B900 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, #0xc] - bl sub_02022510 + bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -135679,7 +135679,7 @@ sub_02047814: ; 0x02047814 sub r1, #0x8 str r0, [r4, r1] ldr r0, [r5, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -135693,7 +135693,7 @@ sub_02047814: ; 0x02047814 ldr r0, [r0, #0x0] str r0, [r4, r1] add r0, r4, #0x0 - bl sub_020480E4 + bl FUN_020480E4 add r0, r4, #0x0 add sp, #0x1c pop {r4-r7, pc} @@ -135701,8 +135701,8 @@ sub_02047814: ; 0x02047814 _0204795C: .word 0x000001F1 _02047960: .word 0x0000018F - thumb_func_start sub_02047964 -sub_02047964: ; 0x02047964 + thumb_func_start FUN_02047964 +FUN_02047964: ; 0x02047964 push {r3-r7, lr} add r7, r0, #0x0 mov r4, #0x0 @@ -135711,10 +135711,10 @@ _0204796C: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _02047976 - bl sub_02020C2C + bl FUN_02020C2C _02047976: ldr r0, [r5, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 @@ -135727,12 +135727,12 @@ _02047988: ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02047996 - bl sub_02020C2C + bl FUN_02020C2C _02047996: add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x4 @@ -135745,12 +135745,12 @@ _020479B0: ldr r0, [r4, r6] cmp r0, #0x0 bne _020479BA - bl sub_02020C2C + bl FUN_02020C2C _020479BA: mov r0, #0x46 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x4 @@ -135758,185 +135758,185 @@ _020479BA: mov r0, #0x42 lsl r0, r0, #0x2 ldr r0, [r7, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r7, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x13 lsl r0, r0, #0x4 ldr r0, [r7, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x4d lsl r0, r0, #0x2 ldr r0, [r7, r0] - bl sub_02061020 + bl FUN_02061020 add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} - thumb_func_start sub_020479FC -sub_020479FC: ; 0x020479FC + thumb_func_start FUN_020479FC +FUN_020479FC: ; 0x020479FC push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A0C - bl sub_02020C2C + bl FUN_02020C2C _02047A0C: lsl r0, r4, #0x2 add r0, r5, r0 ldr r0, [r0, #0x4] add r1, r6, #0x0 - bl sub_0206B900 + bl FUN_0206B900 cmp r0, #0x0 bne _02047A20 - bl sub_02020C2C + bl FUN_02020C2C _02047A20: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02047A24 -sub_02047A24: ; 0x02047A24 + thumb_func_start FUN_02047A24 +FUN_02047A24: ; 0x02047A24 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A34 - bl sub_02020C2C + bl FUN_02020C2C _02047A34: lsl r1, r4, #0x2 add r1, r5, r1 ldr r1, [r1, #0x4] add r0, r6, #0x0 - bl sub_0206BAD0 + bl FUN_0206BAD0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02047A44 -sub_02047A44: ; 0x02047A44 + thumb_func_start FUN_02047A44 +FUN_02047A44: ; 0x02047A44 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x4 blt _02047A54 - bl sub_02020C2C + bl FUN_02020C2C _02047A54: lsl r1, r4, #0x2 add r1, r5, r1 add r1, #0xf8 ldr r1, [r1, #0x0] add r0, r6, #0x0 - bl sub_0202393C + bl FUN_0202393C pop {r4-r6, pc} - thumb_func_start sub_02047A64 -sub_02047A64: ; 0x02047A64 + thumb_func_start FUN_02047A64 +FUN_02047A64: ; 0x02047A64 lsl r2, r2, #0x2 add r2, r0, r2 mov r0, #0x46 lsl r0, r0, #0x2 - ldr r3, _02047A74 ; =sub_02029F9C + ldr r3, _02047A74 ; =FUN_02029F9C ldr r0, [r2, r0] bx r3 nop -_02047A74: .word sub_02029F9C + 1 +_02047A74: .word FUN_02029F9C + 1 - thumb_func_start sub_02047A78 -sub_02047A78: ; 0x02047A78 + thumb_func_start FUN_02047A78 +FUN_02047A78: ; 0x02047A78 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r7, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x0] ldr r0, [r4, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x4] ldr r0, [r4, #0xc] - bl sub_02029EF8 + bl FUN_02029EF8 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0xc] ldr r0, [r4, #0xc] - bl sub_02034E30 + bl FUN_02034E30 str r0, [sp, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204806C + bl FUN_0204806C add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 - bl sub_02047A44 + bl FUN_02047A44 add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_02047A24 + bl FUN_02047A24 mov r1, #0x42 lsl r1, r1, #0x2 ldr r0, [sp, #0x0] ldr r1, [r5, r1] - bl sub_0206EBB4 + bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0x4] ldr r1, [r5, r1] - bl sub_02023D80 + bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0xc] ldr r1, [r5, r1] - bl sub_02024F44 + bl FUN_02024F44 ldr r1, [sp, #0x8] add r0, r5, #0x0 mov r2, #0x0 - bl sub_02047A64 + bl FUN_02047A64 ldr r0, [r4, #0xc] - bl sub_02022510 + bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 mov r1, #0x56 lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r4, #0x0 - bl sub_0204B2A4 + bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034A04 + bl FUN_02034A04 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] - bl sub_02079C70 + bl FUN_02079C70 mov r1, #0x5a lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F1B4 + bl FUN_020462AC + bl FUN_0205F1B4 mov r1, #0x5b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x10] - bl sub_02034DEC + bl FUN_02034DEC mov r1, #0x5d lsl r1, r1, #0x2 str r0, [r5, r1] @@ -135946,17 +135946,17 @@ sub_02047A78: ; 0x02047A78 sub r1, #0x68 str r0, [r5, r1] ldr r0, [r4, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 mov r1, #0x4a lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] - bl sub_02029AFC + bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -135966,7 +135966,7 @@ sub_02047A78: ; 0x02047A78 add r0, r1, #0x4 str r2, [r5, r0] ldr r0, [r4, #0xc] - bl sub_020254C0 + bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -135978,17 +135978,17 @@ sub_02047A78: ; 0x02047A78 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02047BB0 -sub_02047BB0: ; 0x02047BB0 + thumb_func_start FUN_02047BB0 +FUN_02047BB0: ; 0x02047BB0 push {r4, lr} add r4, r0, #0x0 - bl sub_02047A78 + bl FUN_02047A78 add r0, r4, #0x0 - bl sub_020480E4 + bl FUN_020480E4 pop {r4, pc} - thumb_func_start sub_02047BC0 -sub_02047BC0: ; 0x02047BC0 + thumb_func_start FUN_02047BC0 +FUN_02047BC0: ; 0x02047BC0 push {r4-r7, lr} sub sp, #0x1c add r6, r0, #0x0 @@ -135996,27 +135996,27 @@ sub_02047BC0: ; 0x02047BC0 ldr r0, [r0, #0xc] str r1, [sp, #0x0] add r7, r2, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0x14] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x10] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029EF8 + bl FUN_02029EF8 str r0, [sp, #0x8] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x4] mov r0, #0x15 mov r1, #0x6 @@ -136028,30 +136028,30 @@ sub_02047BC0: ; 0x02047BC0 add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_02047A44 + bl FUN_02047A44 mov r0, #0xb - bl sub_020669C0 + bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [sp, #0x14] - bl sub_0206B9AC + bl FUN_0206B9AC add r1, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0206B8CC + bl FUN_0206B8CC ldr r0, [sp, #0x14] mov r4, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC cmp r0, #0x0 ble _02047C98 _02047C40: ldr r0, [sp, #0x14] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r5, #0x0 - bl sub_02069B88 + bl FUN_02069B88 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r7, r0 beq _02047C82 cmp r7, #0x0 @@ -136059,56 +136059,56 @@ _02047C40: add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r7, #0x0 - bl sub_02068758 + bl FUN_02068758 str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0x8 add r2, sp, #0x18 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 _02047C82: add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x0 - bl sub_020479FC + bl FUN_020479FC ldr r0, [sp, #0x14] add r4, r4, #0x1 - bl sub_0206B9AC + bl FUN_0206B9AC cmp r4, r0 blt _02047C40 _02047C98: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r1, #0x42 lsl r1, r1, #0x2 ldr r0, [sp, #0x10] ldr r1, [r6, r1] - bl sub_0206EBB4 + bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0xc] ldr r1, [r6, r1] - bl sub_02023D80 + bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x4] ldr r1, [r6, r1] - bl sub_02024F44 + bl FUN_02024F44 ldr r1, [sp, #0x8] add r0, r6, #0x0 mov r2, #0x0 - bl sub_02047A64 + bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02022510 + bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] - bl sub_0204B2A4 + bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r6, r1] @@ -136119,19 +136119,19 @@ _02047C98: str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_0204C1A8 + bl FUN_0204C1A8 mov r1, #0x4a lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029AFC + bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r6, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r6, r1] @@ -136142,7 +136142,7 @@ _02047C98: str r2, [r6, r0] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_020254C0 + bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r6, r1] @@ -136152,13 +136152,13 @@ _02047C98: ldr r0, [r0, #0x0] str r0, [r6, r1] add r0, r6, #0x0 - bl sub_020480E4 + bl FUN_020480E4 add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02047D48 -sub_02047D48: ; 0x02047D48 + thumb_func_start FUN_02047D48 +FUN_02047D48: ; 0x02047D48 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -136167,23 +136167,23 @@ sub_02047D48: ; 0x02047D48 str r1, [sp, #0x0] str r2, [sp, #0x4] add r7, r3, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x20] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x1c] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x18] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029EF8 + bl FUN_02029EF8 str r0, [sp, #0x14] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [sp, #0x10] ldr r0, [sp, #0x0] mov r1, #0x6 @@ -136199,13 +136199,13 @@ sub_02047D48: ; 0x02047D48 str r1, [r5, r0] ldr r1, [sp, #0x20] add r0, r5, #0x0 - bl sub_02047A44 + bl FUN_02047A44 cmp r7, #0x0 bne _02047DB6 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x0 - bl sub_02047A24 + bl FUN_02047A24 b _02047E14 _02047DB6: mov r4, #0x0 @@ -136224,15 +136224,15 @@ _02047DC2: ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x0 - bl sub_02047A24 + bl FUN_02047A24 b _02047E14 _02047DD8: mov r0, #0xb - bl sub_020669C0 + bl FUN_020669C0 str r0, [sp, #0x8] ldr r0, [r5, #0x4] add r1, r4, #0x0 - bl sub_0206B8CC + bl FUN_0206B8CC mov r6, #0x0 cmp r4, #0x0 ble _02047E0E @@ -136240,25 +136240,25 @@ _02047DEE: ldrb r1, [r7, r6] ldr r0, [sp, #0x4] sub r1, r1, #0x1 - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r1, [sp, #0x8] - bl sub_02069B88 + bl FUN_02069B88 ldr r1, [sp, #0x8] add r0, r5, #0x0 mov r2, #0x0 - bl sub_020479FC + bl FUN_020479FC add r6, r6, #0x1 cmp r6, r4 blt _02047DEE _02047E0E: ldr r0, [sp, #0x8] - bl sub_02016A18 + bl FUN_02016A18 _02047E14: ldr r0, [sp, #0xc] cmp r0, #0x0 beq _02047E2C mov r1, #0xc - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 beq _02047E2C mov r0, #0x65 @@ -136270,29 +136270,29 @@ _02047E2C: lsl r1, r1, #0x2 ldr r0, [sp, #0x1c] ldr r1, [r5, r1] - bl sub_0206EBB4 + bl FUN_0206EBB4 mov r1, #0x11 lsl r1, r1, #0x4 ldr r0, [sp, #0x18] ldr r1, [r5, r1] - bl sub_02023D80 + bl FUN_02023D80 mov r1, #0x13 lsl r1, r1, #0x4 ldr r0, [sp, #0x10] ldr r1, [r5, r1] - bl sub_02024F44 + bl FUN_02024F44 ldr r1, [sp, #0x14] add r0, r5, #0x0 mov r2, #0x0 - bl sub_02047A64 + bl FUN_02047A64 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02022510 + bl FUN_02022510 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x0] - bl sub_0204B2A4 + bl FUN_0204B2A4 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -136303,13 +136303,13 @@ _02047E2C: str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029AFC + bl FUN_02029AFC mov r1, #0x4b lsl r1, r1, #0x2 str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x51 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -136325,33 +136325,33 @@ _02047E2C: str r0, [r5, r1] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_020254C0 + bl FUN_020254C0 mov r1, #0x53 lsl r1, r1, #0x2 str r0, [r5, r1] - bl sub_02033534 - bl sub_0202D8B0 + bl FUN_02033534 + bl FUN_0202D8B0 cmp r0, #0x0 beq _02047F10 ldr r0, [sp, #0x20] - bl sub_02023A28 + bl FUN_02023A28 add r4, r0, #0x0 ldr r0, [sp, #0x20] - bl sub_020239CC + bl FUN_020239CC add r1, r4, #0x0 mov r2, #0x1 - bl sub_020536D0 + bl FUN_020536D0 add r1, r5, #0x0 add r1, #0x29 strb r0, [r1, #0x0] add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_0202398C + bl FUN_0202398C add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x3c - bl sub_02002248 + bl FUN_02002248 add r3, r5, #0x0 add r3, #0x28 add r5, #0x90 @@ -136367,66 +136367,66 @@ _02047F00: pop {r4-r7, pc} _02047F10: add r0, r5, #0x0 - bl sub_020480E4 + bl FUN_020480E4 add sp, #0x24 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02047F1C -sub_02047F1C: ; 0x02047F1C + thumb_func_start FUN_02047F1C +FUN_02047F1C: ; 0x02047F1C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] add r6, r2, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r3, r6, #0x0 - bl sub_02047D48 + bl FUN_02047D48 pop {r4-r6, pc} - thumb_func_start sub_02047F38 -sub_02047F38: ; 0x02047F38 + thumb_func_start FUN_02047F38 +FUN_02047F38: ; 0x02047F38 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r7, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [sp, #0x0] ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [sp, #0x4] ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E24 + bl FUN_02034E30 + bl FUN_02034E24 add r5, r0, #0x0 add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] add r1, r6, #0x0 - bl sub_0202393C + bl FUN_0202393C ldr r0, [r4, #0x4] add r1, r7, #0x0 - bl sub_0206BAD0 + bl FUN_0206BAD0 mov r0, #0x42 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r1, [sp, #0x0] - bl sub_0206EBB4 + bl FUN_0206EBB4 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r4, r0] ldr r1, [sp, #0x4] - bl sub_02023D80 + bl FUN_02023D80 mov r0, #0x19 lsl r0, r0, #0x4 ldr r0, [r4, r0] @@ -136434,47 +136434,47 @@ sub_02047F38: ; 0x02047F38 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02047FA4 -sub_02047FA4: ; 0x02047FA4 + thumb_func_start FUN_02047FA4 +FUN_02047FA4: ; 0x02047FA4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 add r1, r0, #0x0 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02023D80 + bl FUN_02023D80 pop {r3-r5, pc} - thumb_func_start sub_02047FD0 -sub_02047FD0: ; 0x02047FD0 + thumb_func_start FUN_02047FD0 +FUN_02047FD0: ; 0x02047FD0 push {r3-r5, lr} ldr r2, [r0, #0x1c] add r4, r1, #0x0 ldr r1, [r2, #0x8] ldr r2, [r2, #0xc] - bl sub_0204A6E0 + bl FUN_0204A6E0 add r5, r0, #0x0 - bl sub_020548F0 + bl FUN_020548F0 cmp r0, #0x0 beq _02047FEC mov r0, #0x8 pop {r3-r5, pc} _02047FEC: add r0, r5, #0x0 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x0 bne _02048000 add r0, r5, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x0 beq _02048004 _02048000: @@ -136482,25 +136482,25 @@ _02048000: pop {r3-r5, pc} _02048004: add r0, r5, #0x0 - bl sub_02054830 + bl FUN_02054830 cmp r0, #0x0 beq _02048012 mov r0, #0x1 pop {r3-r5, pc} _02048012: add r0, r5, #0x0 - bl sub_020549AC + bl FUN_020549AC cmp r0, #0x0 beq _02048020 mov r0, #0x6 pop {r3-r5, pc} _02048020: add r0, r5, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x0 bne _02048034 add r0, r5, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x0 beq _02048038 _02048034: @@ -136508,14 +136508,14 @@ _02048034: pop {r3-r5, pc} _02048038: add r0, r5, #0x0 - bl sub_02054A3C + bl FUN_02054A3C cmp r0, #0x0 beq _02048046 mov r0, #0x5 pop {r3-r5, pc} _02048046: add r0, r5, #0x0 - bl sub_0205481C + bl FUN_0205481C cmp r0, #0x0 beq _02048054 mov r0, #0x7 @@ -136528,24 +136528,24 @@ _02048054: ldr r0, [r0, r1] pop {r3-r5, pc} _02048060: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0xc pop {r3-r5, pc} .balign 4 _02048068: .word 0x020F45F8 - thumb_func_start sub_0204806C -sub_0204806C: ; 0x0204806C + thumb_func_start FUN_0204806C +FUN_0204806C: ; 0x0204806C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034E20 + bl FUN_02034E30 + bl FUN_02034E20 add r6, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034860 + bl FUN_02034860 mov r1, #0x15 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -136559,15 +136559,15 @@ _02048096: lsl r1, r1, #0x4 ldr r1, [r5, r1] add r0, r4, #0x0 - bl sub_02047FD0 + bl FUN_02047FD0 mov r1, #0x55 lsl r1, r1, #0x2 str r0, [r5, r1] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020480AC -sub_020480AC: ; 0x020480AC + thumb_func_start FUN_020480AC +FUN_020480AC: ; 0x020480AC mov r1, #0x55 mov r2, #0x7 lsl r1, r1, #0x2 @@ -136575,8 +136575,8 @@ sub_020480AC: ; 0x020480AC bx lr .balign 4 - thumb_func_start sub_020480B8 -sub_020480B8: ; 0x020480B8 + thumb_func_start FUN_020480B8 +FUN_020480B8: ; 0x020480B8 cmp r0, #0x2 beq _020480C0 cmp r0, #0x3 @@ -136588,8 +136588,8 @@ _020480C4: mov r0, #0x1 bx lr - thumb_func_start sub_020480C8 -sub_020480C8: ; 0x020480C8 + thumb_func_start FUN_020480C8 +FUN_020480C8: ; 0x020480C8 cmp r0, #0x1 beq _020480D0 cmp r0, #0x4 @@ -136601,8 +136601,8 @@ _020480D4: mov r0, #0x1 bx lr - thumb_func_start sub_020480D8 -sub_020480D8: ; 0x020480D8 + thumb_func_start FUN_020480D8 +FUN_020480D8: ; 0x020480D8 cmp r0, #0x4 bne _020480E0 mov r0, #0x0 @@ -136611,24 +136611,24 @@ _020480E0: mov r0, #0x1 bx lr - thumb_func_start sub_020480E4 -sub_020480E4: ; 0x020480E4 + thumb_func_start FUN_020480E4 +FUN_020480E4: ; 0x020480E4 push {r4, lr} add r4, r0, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_020239CC + bl FUN_020239CC add r1, r4, #0x0 add r1, #0x29 strb r0, [r1, #0x0] add r0, r4, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_0202398C + bl FUN_0202398C add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x3c - bl sub_02002248 + bl FUN_02002248 add r3, r4, #0x0 add r3, #0x28 add r4, #0x90 @@ -136642,20 +136642,20 @@ _02048112: str r0, [r4, #0x0] pop {r4, pc} - thumb_func_start sub_02048120 -sub_02048120: ; 0x02048120 + thumb_func_start FUN_02048120 +FUN_02048120: ; 0x02048120 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 ldr r0, _02048158 ; =0x020F465C - bl sub_0201E66C + bl FUN_0201E66C ldr r0, _0204815C ; =0x020F4630 - bl sub_02016BBC + bl FUN_02016BBC ldr r2, _02048160 ; =0x020F4640 add r0, r4, #0x0 mov r1, #0x3 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0xb @@ -136665,7 +136665,7 @@ sub_02048120: ; 0x02048120 mov r1, #0x6 mov r2, #0x0 lsl r3, r3, #0x4 - bl sub_02006930 + bl FUN_02006930 add sp, #0x8 pop {r4, pc} .balign 4 @@ -136673,51 +136673,51 @@ _02048158: .word 0x020F465C _0204815C: .word 0x020F4630 _02048160: .word 0x020F4640 - thumb_func_start sub_02048164 -sub_02048164: ; 0x02048164 + thumb_func_start FUN_02048164 +FUN_02048164: ; 0x02048164 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0204817A - bl sub_02020C2C + bl FUN_02020C2C _0204817A: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x24 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x0 str r0, [r4, #0x0] str r5, [r4, #0x4] mov r0, #0xb - bl sub_02016B94 + bl FUN_02016B94 str r0, [r4, #0x8] - bl sub_02048120 + bl FUN_02048120 mov r2, #0x52 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x1c] mov r0, #0xb - bl sub_0200AA80 + bl FUN_0200AA80 str r0, [r4, #0x20] add r1, r4, #0x0 ldr r0, [r4, #0x8] ldr r2, _02048208 ; =0x020F4628 add r1, #0xc - bl sub_02019150 + bl FUN_02019150 add r0, r5, #0x0 - bl sub_020377AC - bl sub_020238F4 + bl FUN_020377AC + bl FUN_020238F4 add r2, r0, #0x0 ldr r0, [r4, #0x20] mov r1, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 ldr r0, [r5, #0x1c] ldr r1, [r0, #0x0] ldr r0, _0204820C ; =0x0000019E @@ -136727,33 +136727,33 @@ _0204817A: add r0, r4, #0x0 mov r1, #0x4 add r3, r2, #0x0 - bl sub_020482F4 + bl FUN_020482F4 b _020481F2 _020481E6: mov r2, #0x0 add r0, r4, #0x0 mov r1, #0x3 add r3, r2, #0x0 - bl sub_020482F4 + bl FUN_020482F4 _020481F2: add r0, r4, #0x0 add r0, #0xc - bl sub_020191D0 - ldr r1, _02048210 ; =sub_02048214 + bl FUN_020191D0 + ldr r1, _02048210 ; =FUN_02048214 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop _02048208: .word 0x020F4628 _0204820C: .word 0x0000019E -_02048210: .word sub_02048214 + 1 +_02048210: .word FUN_02048214 + 1 - thumb_func_start sub_02048214 -sub_02048214: ; 0x02048214 + thumb_func_start FUN_02048214 +FUN_02048214: ; 0x02048214 push {r3-r4, lr} sub sp, #0xc - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x4 @@ -136778,7 +136778,7 @@ sub_02048214: ; 0x02048214 mov r0, #0x3 mov r2, #0x2a mov r3, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -136801,8 +136801,8 @@ _020482EA: _020482F0: .byte 0xB8, 0x48, 0x1C, 0x02 - thumb_func_start sub_020482F4 -sub_020482F4: ; 0x020482F4 + thumb_func_start FUN_020482F4 +FUN_020482F4: ; 0x020482F4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -136811,29 +136811,29 @@ sub_020482F4: ; 0x020482F4 lsl r0, r0, #0xa mov r1, #0xb add r7, r3, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r6, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0xc mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r0, [r5, #0x1c] ldr r1, [sp, #0x10] add r2, r6, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [r5, #0x20] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r0, #0x0 add r1, r4, #0x0 add r2, r0, #0x0 - bl sub_02002F08 + bl FUN_02002F08 add r3, r0, #0x0 str r7, [sp, #0x0] mov r0, #0xff @@ -136853,25 +136853,25 @@ sub_020482F4: ; 0x020482F4 sub r3, r3, #0x4 lsl r3, r3, #0x18 lsr r3, r3, #0x18 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x14 pop {r4-r7, pc} .balign 4 _02048378: .word 0x000F0200 - thumb_func_start sub_0204837C -sub_0204837C: ; 0x0204837C + thumb_func_start FUN_0204837C +FUN_0204837C: ; 0x0204837C push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 @@ -136890,22 +136890,22 @@ sub_0204837C: ; 0x0204837C lsl r6, r3, #0x2 lsl r6, r3, #0x3 ldr r0, [r6, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r7, r0, #0x0 - bl sub_02034DFC + bl FUN_02034DFC add r1, sp, #0x4 str r0, [sp, #0x0] - bl sub_02034EC4 + bl FUN_02034EC4 add r0, r7, #0x0 - bl sub_02034DCC + bl FUN_02034DCC add r1, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02034E90 + bl FUN_02034E90 add r0, r5, #0x0 add r1, sp, #0x4 - bl sub_02049160 + bl FUN_02049160 add r0, r6, #0x0 - bl sub_020637F0 + bl FUN_020637F0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -136930,18 +136930,18 @@ _02048488: _02048490: .byte 0xE4, 0x07, 0x00, 0x00, 0xE5, 0x07, 0x00, 0x00 - thumb_func_start sub_02048498 -sub_02048498: ; 0x02048498 - ldr r3, _020484A0 ; =sub_0204640C - ldr r1, _020484A4 ; =sub_0204837C + thumb_func_start FUN_02048498 +FUN_02048498: ; 0x02048498 + ldr r3, _020484A0 ; =FUN_0204640C + ldr r1, _020484A4 ; =FUN_0204837C mov r2, #0x0 bx r3 .balign 4 -_020484A0: .word sub_0204640C + 1 -_020484A4: .word sub_0204837C + 1 +_020484A0: .word FUN_0204640C + 1 +_020484A4: .word FUN_0204837C + 1 - thumb_func_start sub_020484A8 -sub_020484A8: ; 0x020484A8 + thumb_func_start FUN_020484A8 +FUN_020484A8: ; 0x020484A8 push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -136949,7 +136949,7 @@ sub_020484A8: ; 0x020484A8 add r6, r1, #0x0 mov r1, #0xb add r2, sp, #0x0 - bl sub_02022534 + bl FUN_02022534 add r4, r0, #0x0 ldr r0, [sp, #0x0] cmp r0, #0x1 @@ -136958,38 +136958,38 @@ sub_020484A8: ; 0x020484A8 bne _020484CC _020484C6: add r0, r4, #0x0 - bl sub_0202B03C + bl FUN_0202B03C _020484CC: ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r6, r0, #0x0 add r0, sp, #0x4 - bl sub_020126B4 + bl FUN_020126B4 add r0, r4, #0x0 add r1, r6, #0x0 add r2, sp, #0x4 - bl sub_0202B050 + bl FUN_0202B050 ldr r0, [r5, #0xc] add r1, r4, #0x0 - bl sub_02022540 + bl FUN_02022540 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_020484F8 -sub_020484F8: ; 0x020484F8 + thumb_func_start FUN_020484F8 +FUN_020484F8: ; 0x020484F8 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x9 @@ -137012,7 +137012,7 @@ sub_020484F8: ; 0x020484F8 lsl r6, r7, #0x4 add r0, r6, #0x0 add r1, r5, #0x4 - bl sub_02038814 + bl FUN_02038814 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -137051,88 +137051,88 @@ _02048688: _02048690: .byte 0x1B, 0x06, 0x00, 0x00 - thumb_func_start sub_02048694 -sub_02048694: ; 0x02048694 + thumb_func_start FUN_02048694 +FUN_02048694: ; 0x02048694 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 mov r0, #0x20 mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x0] ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 str r0, [sp, #0x8] ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DCC + bl FUN_02034E30 + bl FUN_02034DCC str r0, [sp, #0x4] add r0, r6, #0x0 - bl sub_0205ED0C + bl FUN_0205ED0C str r0, [r5, #0x0] ldr r0, [r4, #0xc] - bl sub_020238F4 + bl FUN_020238F4 str r0, [r5, #0x4] ldr r0, [r4, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r5, #0x8] ldr r0, [r4, #0xc] - bl sub_02023918 + bl FUN_02023918 str r0, [r5, #0xc] ldr r0, [r4, #0xc] - bl sub_020238F4 - bl sub_020239CC + bl FUN_020238F4 + bl FUN_020239CC str r0, [r5, #0x10] add r0, r6, #0x0 - bl sub_0205ED0C + bl FUN_0205ED0C str r0, [r5, #0x14] ldr r0, [r4, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [r5, #0x18] add r0, r6, #0x0 - bl sub_0205ED0C + bl FUN_0205ED0C cmp r0, #0x0 bne _0204871E add r0, r4, #0x0 - bl sub_0204B328 + bl FUN_0204B328 _0204871E: ldr r0, [r4, #0xc] - bl sub_0206BB1C - bl sub_0204A25C + bl FUN_0206BB1C + bl FUN_0204A25C ldr r0, [sp, #0x8] - bl sub_020377B0 + bl FUN_020377B0 ldr r0, [sp, #0x4] - bl sub_020377C8 + bl FUN_020377C8 add r0, r6, #0x0 - bl sub_0205F154 + bl FUN_0205F154 add r0, r6, #0x0 - bl sub_0205ECFC + bl FUN_0205ECFC ldr r0, [sp, #0x0] - bl sub_02023A78 + bl FUN_02023A78 ldr r0, [r4, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x2e - bl sub_0202A0E8 - ldr r1, _02048760 ; =sub_020484F8 + bl FUN_0202A0E8 + ldr r1, _02048760 ; =FUN_020484F8 add r0, r7, #0x0 add r2, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0xc pop {r4-r7, pc} .balign 4 -_02048760: .word sub_020484F8 + 1 +_02048760: .word FUN_020484F8 + 1 - thumb_func_start sub_02048764 -sub_02048764: ; 0x02048764 + thumb_func_start FUN_02048764 +FUN_02048764: ; 0x02048764 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -137141,29 +137141,29 @@ sub_02048764: ; 0x02048764 str r0, [r1, #0x30] add r1, #0x1c add r0, r1, #0x0 - bl sub_0201901C + bl FUN_0201901C ldr r0, _020487D4 ; =0x020F46B0 - bl sub_0201E66C + bl FUN_0201E66C ldr r2, _020487D8 ; =0x04000304 ldrh r1, [r2, #0x0] lsr r0, r2, #0xb orr r0, r1 strh r0, [r2, #0x0] ldr r0, _020487DC ; =0x020F4684 - bl sub_02016BBC + bl FUN_02016BBC mov r0, #0x3 mov r1, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r0, [r4, #0x8] ldr r2, _020487E0 ; =0x020F4694 mov r1, #0x3 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 mov r1, #0x20 mov r0, #0x3 mov r2, #0x0 add r3, r1, #0x0 - bl sub_02017F18 + bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 @@ -137174,10 +137174,10 @@ sub_02048764: ; 0x02048764 ldr r0, [r4, #0x8] mov r1, #0x3 add r3, r2, #0x0 - bl sub_02018540 + bl FUN_02018540 ldr r0, [r4, #0x8] mov r1, #0x3 - bl sub_02017CD0 + bl FUN_02017CD0 add sp, #0x10 pop {r4, pc} nop @@ -137186,71 +137186,71 @@ _020487D8: .word 0x04000304 _020487DC: .word 0x020F4684 _020487E0: .word 0x020F4694 - thumb_func_start sub_020487E4 -sub_020487E4: ; 0x020487E4 + thumb_func_start FUN_020487E4 +FUN_020487E4: ; 0x020487E4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02023900 + bl FUN_02023900 add r6, r0, #0x0 mov r0, #0x1a mov r1, #0xc7 mov r2, #0xf mov r3, #0x20 - bl sub_0200A738 + bl FUN_0200A738 str r0, [r4, #0x2c] add r1, r4, #0x0 ldr r0, [r5, #0x8] add r1, #0x1c mov r2, #0x3 - bl sub_020545B8 + bl FUN_020545B8 add r0, r4, #0x0 add r0, #0x1c add r1, r6, #0x0 - bl sub_02054608 + bl FUN_02054608 add r0, r4, #0x0 ldr r1, [r4, #0x2c] add r0, #0x1c add r2, r6, #0x0 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 str r0, [r4, #0x34] add r0, r4, #0x0 ldr r1, _02048834 ; =0x000003E2 add r0, #0x1c - bl sub_0200D858 + bl FUN_0200D858 str r0, [r4, #0x30] pop {r4-r6, pc} .balign 4 _02048834: .word 0x000003E2 - thumb_func_start sub_02048838 -sub_02048838: ; 0x02048838 + thumb_func_start FUN_02048838 +FUN_02048838: ; 0x02048838 ldr r0, [r0, #0x34] - ldr r3, _02048844 ; =sub_020546C8 + ldr r3, _02048844 ; =FUN_020546C8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx r3 nop -_02048844: .word sub_020546C8 + 1 +_02048844: .word FUN_020546C8 + 1 - thumb_func_start sub_02048848 -sub_02048848: ; 0x02048848 + thumb_func_start FUN_02048848 +FUN_02048848: ; 0x02048848 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x2c] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x30] - bl sub_0200DBFC + bl FUN_0200DBFC add r4, #0x1c add r0, r4, #0x0 - bl sub_0205464C + bl FUN_0205464C pop {r4, pc} .balign 4 - thumb_func_start sub_02048864 -sub_02048864: ; 0x02048864 + thumb_func_start FUN_02048864 +FUN_02048864: ; 0x02048864 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -137259,74 +137259,74 @@ sub_02048864: ; 0x02048864 mov r1, #0x1a mov r2, #0xc7 mov r3, #0x4 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 cmp r6, #0x2 bne _020488AC mov r0, #0x4 - bl sub_0200AA80 + bl FUN_0200AA80 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 add r0, r6, #0x0 add r1, r7, #0x0 mov r2, #0x10 mov r3, #0x4 - bl sub_0200A9C4 + bl FUN_0200A9C4 str r0, [r4, #0x2c] add r0, r6, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 b _020488B4 _020488AC: mov r1, #0x12 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r4, #0x2c] _020488B4: add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 add r2, r0, #0x0 add r0, r4, #0x0 ldr r1, [r4, #0x2c] add r0, #0x1c mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 str r0, [r4, #0x34] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020488D4 -sub_020488D4: ; 0x020488D4 + thumb_func_start FUN_020488D4 +FUN_020488D4: ; 0x020488D4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x2c] cmp r0, #0x0 beq _020488E4 - bl sub_02021A20 + bl FUN_02021A20 _020488E4: add r0, r4, #0x0 add r0, #0x1c - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 beq _020488F8 add r4, #0x1c add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 _020488F8: ldr r0, [r5, #0x8] mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02048904 -sub_02048904: ; 0x02048904 + thumb_func_start FUN_02048904 +FUN_02048904: ; 0x02048904 ldr r1, [r0, #0x1c] ldr r2, _02048950 ; =0x0000014B ldr r1, [r1, #0x0] @@ -137374,15 +137374,15 @@ _0204894E: _02048950: .word 0x0000014B _02048954: .word 0x000001ED - thumb_func_start sub_02048958 -sub_02048958: ; 0x02048958 + thumb_func_start FUN_02048958 +FUN_02048958: ; 0x02048958 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02034E30 + bl FUN_02034E30 add r6, r0, #0x0 - bl sub_02034DC8 + bl FUN_02034DC8 add r2, r0, #0x0 cmp r4, #0x0 beq _0204898C @@ -137404,7 +137404,7 @@ _0204898C: ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] - bl sub_02034A60 + bl FUN_02034A60 ldr r0, [r5, #0x1c] ldr r1, [r0, #0x4] mov r0, #0x0 @@ -137412,7 +137412,7 @@ _0204898C: cmp r1, r0 beq _020489DA add r0, r5, #0x0 - bl sub_02034B00 + bl FUN_02034B00 ldrh r2, [r0, #0x0] ldr r1, [r5, #0x1c] str r2, [r1, #0x8] @@ -137425,10 +137425,10 @@ _0204898C: cmp r1, r0 bne _020489DA add r0, r6, #0x0 - bl sub_02034DD0 + bl FUN_02034DD0 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02034DC4 + bl FUN_02034DC4 add r2, r0, #0x0 ldmia r2!, {r0-r1} stmia r4!, {r0-r1} @@ -137439,14 +137439,14 @@ _0204898C: _020489DA: pop {r4-r6, pc} - thumb_func_start sub_020489DC -sub_020489DC: ; 0x020489DC + thumb_func_start FUN_020489DC +FUN_020489DC: ; 0x020489DC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x6c] cmp r0, #0x5 blt _020489EA - bl sub_02020C2C + bl FUN_02020C2C _020489EA: ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] @@ -137458,8 +137458,8 @@ _020489EA: .balign 4 _020489F8: .word 0x021C4918 - thumb_func_start sub_020489FC -sub_020489FC: ; 0x020489FC + thumb_func_start FUN_020489FC +FUN_020489FC: ; 0x020489FC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -137467,54 +137467,54 @@ sub_020489FC: ; 0x020489FC add r4, r1, #0x0 ldr r7, [r0, #0x0] ldr r0, [r5, #0xc] - bl sub_02034E30 + bl FUN_02034E30 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_0204AB44 + bl FUN_0204AB44 add r0, r5, #0x0 - bl sub_02039564 + bl FUN_02039564 cmp r4, #0x0 bne _02048A28 add r0, r5, #0x0 - bl sub_020636DC + bl FUN_020636DC b _02048A2E _02048A28: add r0, r5, #0x0 - bl sub_02063684 + bl FUN_02063684 _02048A2E: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F408 + bl FUN_020462AC + bl FUN_0205F408 cmp r4, #0x0 bne _02048A42 add r0, r5, #0x0 - bl sub_0204B0F8 + bl FUN_0204B0F8 _02048A42: cmp r4, #0x0 bne _02048A50 ldr r0, [r5, #0xc] - bl sub_02024ED8 - bl sub_02025484 + bl FUN_02024ED8 + bl FUN_02025484 _02048A50: ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02034FE4 + bl FUN_02034FE4 lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, #0xe bne _02048A72 ldr r0, [sp, #0x0] - bl sub_0205F2C4 + bl FUN_0205F2C4 cmp r0, #0x1 beq _02048A80 _02048A72: cmp r6, #0x10 bne _02048A82 ldr r0, [sp, #0x0] - bl sub_0205F294 + bl FUN_0205F294 cmp r0, #0x1 bne _02048A82 _02048A80: @@ -137522,38 +137522,38 @@ _02048A80: _02048A82: ldr r0, [sp, #0x4] add r1, r6, #0x0 - bl sub_02034DF4 + bl FUN_02034DF4 cmp r4, #0x0 beq _02048AA6 ldr r0, [sp, #0x4] - bl sub_02034E10 + bl FUN_02034E10 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0203484C + bl FUN_0203484C cmp r6, r0 beq _02048AB4 - bl sub_02020C2C + bl FUN_02020C2C b _02048AB4 _02048AA6: add r0, r7, #0x0 - bl sub_0203484C + bl FUN_0203484C add r1, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_02034E18 + bl FUN_02034E18 _02048AB4: cmp r4, #0x0 bne _02048ACA add r0, r7, #0x0 - bl sub_02034EF8 + bl FUN_02034EF8 lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _02048ACA ldr r0, [sp, #0x4] - bl sub_02034E04 + bl FUN_02034E04 _02048ACA: add r0, r5, #0x0 mov r1, #0x2 - bl sub_0203989C + bl FUN_0203989C add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 @@ -137564,22 +137564,22 @@ _02048ACA: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02048AE4 -sub_02048AE4: ; 0x02048AE4 + thumb_func_start FUN_02048AE4 +FUN_02048AE4: ; 0x02048AE4 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 mov r1, #0x40 mov r2, #0x5 - bl sub_02057380 + bl FUN_02057380 str r0, [r5, #0x34] ldr r0, [r5, #0xc] - bl sub_020238F4 - bl sub_020239CC + bl FUN_020238F4 + bl FUN_020239CC add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E20 + bl FUN_02034E30 + bl FUN_02034E20 ldr r3, [r5, #0x1c] ldr r1, [r0, #0x4] str r1, [sp, #0x0] @@ -137589,92 +137589,92 @@ sub_02048AE4: ; 0x02048AE4 ldr r1, [r3, #0x8] ldr r2, [r3, #0xc] ldr r3, [r3, #0x10] - bl sub_02055068 + bl FUN_02055068 str r0, [r5, #0x38] add r0, r5, #0x0 - bl sub_02034AC8 + bl FUN_02034AC8 ldr r0, [r5, #0x34] - bl sub_02058768 + bl FUN_02058768 add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02048B34 -sub_02048B34: ; 0x02048B34 + thumb_func_start FUN_02048B34 +FUN_02048B34: ; 0x02048B34 push {r4, lr} add r4, r0, #0x0 - bl sub_0204CC48 + bl FUN_0204CC48 ldr r0, [r4, #0x38] - bl sub_02055160 + bl FUN_02055160 ldr r0, [r4, #0x34] - bl sub_0205771C + bl FUN_0205771C ldr r0, [r4, #0x34] - bl sub_020573AC + bl FUN_020573AC pop {r4, pc} - thumb_func_start sub_02048B50 -sub_02048B50: ; 0x02048B50 + thumb_func_start FUN_02048B50 +FUN_02048B50: ; 0x02048B50 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x40 mov r2, #0x5 - bl sub_02057380 + bl FUN_02057380 str r0, [r5, #0x34] add r0, r5, #0x0 - bl sub_02034E60 + bl FUN_02034E60 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E20 + bl FUN_02034E30 + bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 - bl sub_020239CC + bl FUN_020238F4 + bl FUN_020239CC add r2, r0, #0x0 ldr r0, [r5, #0x34] add r1, r4, #0x0 - bl sub_020550A4 + bl FUN_020550A4 str r0, [r5, #0x38] ldr r0, [r5, #0x34] - bl sub_02058768 + bl FUN_02058768 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02048B90 -sub_02048B90: ; 0x02048B90 + thumb_func_start FUN_02048B90 +FUN_02048B90: ; 0x02048B90 push {r4, lr} add r4, r0, #0x0 - bl sub_02048904 + bl FUN_02048904 ldr r0, [r4, #0x58] cmp r0, #0x0 beq _02048BA2 - bl sub_02020C2C + bl FUN_02020C2C _02048BA2: ldr r0, [r4, #0x1c] ldr r1, [r4, #0x28] ldr r0, [r0, #0x0] - bl sub_020344AC + bl FUN_020344AC ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x3 - bl sub_0205F524 + bl FUN_0205F524 cmp r0, #0x0 beq _02048BC2 ldr r0, [r4, #0x28] - bl sub_020346CC + bl FUN_020346CC _02048BC2: ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x2 - bl sub_0205F524 + bl FUN_0205F524 cmp r0, #0x0 bne _02048BD8 ldr r0, [r4, #0x28] - bl sub_02034678 + bl FUN_02034678 _02048BD8: ldr r0, [r4, #0x6c] cmp r0, #0x5 blt _02048BE2 - bl sub_02020C2C + bl FUN_02020C2C _02048BE2: ldr r0, [r4, #0x6c] ldr r1, _02048C28 ; =0x020F46E0 @@ -137696,7 +137696,7 @@ _02048BE2: add r0, #0x58 lsl r1, r1, #0x14 lsr r1, r1, #0x1c - bl sub_0204A690 + bl FUN_0204A690 ldr r0, [r4, #0x70] ldr r1, [r0, #0x0] lsl r0, r1, #0xc @@ -137706,20 +137706,20 @@ _02048BE2: lsl r1, r1, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 - bl sub_0204A368 + bl FUN_0204A368 _02048C24: pop {r4, pc} nop _02048C28: .word 0x020F46E0 - thumb_func_start sub_02048C2C -sub_02048C2C: ; 0x02048C2C + thumb_func_start FUN_02048C2C +FUN_02048C2C: ; 0x02048C2C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x58] cmp r0, #0x0 bne _02048C3A - bl sub_02020C2C + bl FUN_02020C2C _02048C3A: mov r0, #0x0 str r0, [r4, #0x58] @@ -137731,14 +137731,14 @@ _02048C3A: lsr r0, r0, #0x1c beq _02048C52 add r0, r4, #0x0 - bl sub_0204A390 + bl FUN_0204A390 _02048C52: mov r0, #0x0 str r0, [r4, #0x70] pop {r4, pc} - thumb_func_start sub_02048C58 -sub_02048C58: ; 0x02048C58 + thumb_func_start FUN_02048C58 +FUN_02048C58: ; 0x02048C58 push {r4, lr} add r4, r0, #0x0 add r0, #0x98 @@ -137750,17 +137750,17 @@ sub_02048C58: ; 0x02048C58 ldr r0, [r0, #0x0] lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02028FA4 + bl FUN_02028FA4 add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x0 - bl sub_02028AD4 + bl FUN_02028AD4 _02048C7E: pop {r4, pc} - thumb_func_start sub_02048C80 -sub_02048C80: ; 0x02048C80 + thumb_func_start FUN_02048C80 +FUN_02048C80: ; 0x02048C80 push {r4, lr} add r4, r0, #0x0 add r0, #0x98 @@ -137768,31 +137768,31 @@ sub_02048C80: ; 0x02048C80 cmp r0, #0x0 beq _02048CAE ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 ldr r0, [r0, #0x0] mov r1, #0xb lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02028FA4 + bl FUN_02028FA4 add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x0 - bl sub_02028AD4 + bl FUN_02028AD4 _02048CAE: pop {r4, pc} - thumb_func_start sub_02048CB0 -sub_02048CB0: ; 0x02048CB0 + thumb_func_start FUN_02048CB0 +FUN_02048CB0: ; 0x02048CB0 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_0205532C + bl FUN_0205532C add r6, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_02055320 + bl FUN_02055320 ldr r1, [r4, #0x1c] ldr r1, [r1, #0x0] str r1, [r5, #0x0] @@ -137806,13 +137806,13 @@ sub_02048CB0: ; 0x02048CB0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02048CDC -sub_02048CDC: ; 0x02048CDC + thumb_func_start FUN_02048CDC +FUN_02048CDC: ; 0x02048CDC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_020349E4 + bl FUN_020349E4 cmp r0, #0x0 beq _02048CFE ldr r1, [r4, #0x1c] @@ -137829,16 +137829,16 @@ _02048CFE: pop {r4, pc} .balign 4 - thumb_func_start sub_02048D04 -sub_02048D04: ; 0x02048D04 + thumb_func_start FUN_02048D04 +FUN_02048D04: ; 0x02048D04 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] str r0, [r4, #0x0] @@ -137853,14 +137853,14 @@ sub_02048D04: ; 0x02048D04 str r0, [r4, #0x10] pop {r3-r5, pc} - thumb_func_start sub_02048D34 -sub_02048D34: ; 0x02048D34 + thumb_func_start FUN_02048D34 +FUN_02048D34: ; 0x02048D34 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -137873,21 +137873,21 @@ sub_02048D34: ; 0x02048D34 _02048D56: ldr r1, [r5, #0x1c] add r0, r5, #0x0 - bl sub_02048958 + bl FUN_02048958 add r0, r5, #0x0 - bl sub_02048B90 + bl FUN_02048B90 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020489FC + bl FUN_020489FC add r0, r5, #0x0 - bl sub_02048AE4 + bl FUN_02048AE4 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02048D8C _02048D7A: add r0, r6, #0x0 - bl sub_0204B0E8 + bl FUN_0204B0E8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -137899,32 +137899,32 @@ _02048D8C: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02048D90 -sub_02048D90: ; 0x02048D90 + thumb_func_start FUN_02048D90 +FUN_02048D90: ; 0x02048D90 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 str r1, [r4, #0x6c] - bl sub_02039874 - ldr r1, _02048DA8 ; =sub_02048D34 + bl FUN_02039874 + ldr r1, _02048DA8 ; =FUN_02048D34 add r0, r4, #0x0 mov r2, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r4, pc} .balign 4 -_02048DA8: .word sub_02048D34 + 1 +_02048DA8: .word FUN_02048D34 + 1 - thumb_func_start sub_02048DAC -sub_02048DAC: ; 0x02048DAC + thumb_func_start FUN_02048DAC +FUN_02048DAC: ; 0x02048DAC push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x4 @@ -137941,79 +137941,79 @@ sub_02048DAC: ; 0x02048DAC lsl r6, r2, #0x3 lsl r2, r3, #0x3 ldr r0, [r4, #0xc] - bl sub_02025B94 + bl FUN_02025B94 add r0, r6, #0x0 mov r1, #0x2 - bl sub_0205F2D4 + bl FUN_0205F2D4 add r7, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020289A4 + bl FUN_020289A4 add r1, r7, #0x0 - bl sub_02028A20 + bl FUN_02028A20 cmp r0, #0x0 beq _02048E10 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02037944 + bl FUN_02037944 mov r0, #0x4 str r0, [r5, #0x0] b _02048EC2 _02048E10: add r0, r6, #0x0 mov r1, #0x2 - bl sub_0205F2D4 + bl FUN_0205F2D4 add r7, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020289A4 + bl FUN_020289A4 add r1, r7, #0x0 - bl sub_020289B0 + bl FUN_020289B0 add r1, r4, #0x0 add r1, #0x98 str r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_0205F174 + bl FUN_0205F174 cmp r0, #0x0 beq _02048E78 ldr r0, [r4, #0xc] - bl sub_02034E30 + bl FUN_02034E30 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02048CDC + bl FUN_02048CDC cmp r0, #0x0 beq _02048E4E add r0, r4, #0x0 - bl sub_02048D04 + bl FUN_02048D04 _02048E4E: add r0, r6, #0x0 - bl sub_0205F164 + bl FUN_0205F164 add r0, r7, #0x0 - bl sub_02034DD0 + bl FUN_02034DD0 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02048958 + bl FUN_02048958 add r0, r4, #0x0 - bl sub_02048B90 + bl FUN_02048B90 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020489FC + bl FUN_020489FC add r0, r4, #0x0 - bl sub_02048AE4 + bl FUN_02048AE4 b _02048E92 _02048E78: add r0, r4, #0x0 mov r1, #0x0 - bl sub_02048958 + bl FUN_02048958 add r0, r4, #0x0 - bl sub_02048B90 + bl FUN_02048B90 add r0, r4, #0x0 - bl sub_0204B0F8 + bl FUN_0204B0F8 add r0, r4, #0x0 - bl sub_02048B50 + bl FUN_02048B50 _02048E92: add r0, r4, #0x0 - bl sub_02048C58 + bl FUN_02048C58 add r0, r4, #0x0 - bl sub_02063808 + bl FUN_02063808 mov r0, #0x2 str r0, [r5, #0x0] b _02048EC2 @@ -138026,31 +138026,31 @@ _02048EC2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02048EC8 -sub_02048EC8: ; 0x02048EC8 - ldr r3, _02048ED4 ; =sub_020463CC + thumb_func_start FUN_02048EC8 +FUN_02048EC8: ; 0x02048EC8 + ldr r3, _02048ED4 ; =FUN_020463CC mov r2, #0x0 str r2, [r0, #0x6c] - ldr r1, _02048ED8 ; =sub_02048DAC + ldr r1, _02048ED8 ; =FUN_02048DAC bx r3 nop -_02048ED4: .word sub_020463CC + 1 -_02048ED8: .word sub_02048DAC + 1 +_02048ED4: .word FUN_020463CC + 1 +_02048ED8: .word FUN_02048DAC + 1 - thumb_func_start sub_02048EDC -sub_02048EDC: ; 0x02048EDC + thumb_func_start FUN_02048EDC +FUN_02048EDC: ; 0x02048EDC push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC str r0, [sp, #0x0] add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x5 @@ -138069,20 +138069,20 @@ sub_02048EDC: ; 0x02048EDC lsl r0, r5, #0x2 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 ldr r0, [r4, #0xc] - bl sub_02025B94 + bl FUN_02025B94 ldr r0, [sp, #0x0] mov r1, #0x2 - bl sub_0205F2D4 + bl FUN_0205F2D4 add r6, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020289A4 + bl FUN_020289A4 add r1, r6, #0x0 - bl sub_020289B0 + bl FUN_020289B0 add r4, #0x98 str r0, [r4, #0x0] ldr r0, [r5, #0x0] @@ -138102,35 +138102,35 @@ _02048FC4: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02048FC8 -sub_02048FC8: ; 0x02048FC8 + thumb_func_start FUN_02048FC8 +FUN_02048FC8: ; 0x02048FC8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034998 + bl FUN_02034998 cmp r0, #0x0 bne _02049000 add r0, r4, #0x0 - bl sub_02048CDC + bl FUN_02048CDC cmp r0, #0x0 beq _02048FF8 ldr r0, [r4, #0xc] - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02048D04 + bl FUN_02048D04 add r0, r5, #0x0 - bl sub_0205F154 + bl FUN_0205F154 b _02049000 _02048FF8: add r0, r4, #0x0 - bl sub_02048EC8 + bl FUN_02048EC8 pop {r3-r5, pc} _02049000: mov r0, #0xb mov r1, #0x18 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r1, #0x0 ldr r0, _02049030 ; =0x000001D2 @@ -138145,22 +138145,22 @@ _02049000: str r1, [r2, #0x14] mov r0, #0x2 str r0, [r4, #0x6c] - ldr r1, _02049034 ; =sub_02048EDC + ldr r1, _02049034 ; =FUN_02048EDC add r0, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r5, pc} nop _02049030: .word 0x000001D2 -_02049034: .word sub_02048EDC + 1 +_02049034: .word FUN_02048EDC + 1 - thumb_func_start sub_02049038 -sub_02049038: ; 0x02049038 + thumb_func_start FUN_02049038 +FUN_02049038: ; 0x02049038 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 @@ -138176,12 +138176,12 @@ sub_02049038: ; 0x02049038 lsl r2, r6, #0 lsl r0, r2, #0x1 ldr r0, _020490BC ; =0x00000603 - bl sub_020054C8 + bl FUN_020054C8 ldr r1, [r4, #0x4] add r0, r6, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 add r0, r5, #0x0 - bl sub_0204B090 + bl FUN_0204B090 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138197,14 +138197,14 @@ _020490B6: nop _020490BC: .word 0x00000603 - thumb_func_start sub_020490C0 -sub_020490C0: ; 0x020490C0 + thumb_func_start FUN_020490C0 +FUN_020490C0: ; 0x020490C0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -138214,22 +138214,22 @@ sub_020490C0: ; 0x020490C0 ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r4, #0x0] - ldr r1, _020490EC ; =sub_02049038 + ldr r1, _020490EC ; =FUN_02049038 str r0, [r3, #0x0] add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} .balign 4 -_020490EC: .word sub_02049038 + 1 +_020490EC: .word FUN_02049038 + 1 - thumb_func_start sub_020490F0 -sub_020490F0: ; 0x020490F0 + thumb_func_start FUN_020490F0 +FUN_020490F0: ; 0x020490F0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -138241,9 +138241,9 @@ sub_020490F0: ; 0x020490F0 b _0204915C _02049112: add r0, r5, #0x0 - bl sub_02048B34 + bl FUN_02048B34 add r0, r5, #0x0 - bl sub_02048C2C + bl FUN_02048C2C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138251,46 +138251,46 @@ _02049112: _02049126: add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_02048958 + bl FUN_02048958 add r0, r5, #0x0 - bl sub_02048B90 + bl FUN_02048B90 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020489FC + bl FUN_020489FC add r5, #0x90 ldr r0, [r5, #0x0] - bl sub_0205DD40 + bl FUN_0205DD40 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204915C _0204914C: add r0, r5, #0x0 - bl sub_02048AE4 + bl FUN_02048AE4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0204915C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02049160 -sub_02049160: ; 0x02049160 + thumb_func_start FUN_02049160 +FUN_02049160: ; 0x02049160 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x18 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 beq _02049186 - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} _02049186: mov r0, #0x0 @@ -138301,17 +138301,17 @@ _02049186: ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _020491A4 ; =sub_020490F0 + ldr r1, _020491A4 ; =FUN_020490F0 str r0, [r2, #0x0] add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_020491A4: .word sub_020490F0 + 1 +_020491A4: .word FUN_020490F0 + 1 - thumb_func_start sub_020491A8 -sub_020491A8: ; 0x020491A8 + thumb_func_start FUN_020491A8 +FUN_020491A8: ; 0x020491A8 push {lr} sub sp, #0x14 str r1, [sp, #0x0] @@ -138322,18 +138322,18 @@ sub_020491A8: ; 0x020491A8 str r3, [sp, #0x8] str r1, [sp, #0x10] add r1, sp, #0x0 - bl sub_02049160 + bl FUN_02049160 add sp, #0x14 pop {pc} - thumb_func_start sub_020491C4 -sub_020491C4: ; 0x020491C4 + thumb_func_start FUN_020491C4 +FUN_020491C4: ; 0x020491C4 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 @@ -138350,9 +138350,9 @@ sub_020491C4: ; 0x020491C4 lsl r2, r1, #0x1 ldr r1, [r4, #0x4] add r0, r6, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138366,8 +138366,8 @@ _0204923C: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02049240 -sub_02049240: ; 0x02049240 + thumb_func_start FUN_02049240 +FUN_02049240: ; 0x02049240 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -138375,7 +138375,7 @@ sub_02049240: ; 0x02049240 mov r1, #0x18 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -138385,16 +138385,16 @@ sub_02049240: ; 0x02049240 str r6, [r2, #0xc] str r0, [r2, #0x10] ldr r0, [sp, #0x1c] - ldr r1, _02049270 ; =sub_020491C4 + ldr r1, _02049270 ; =FUN_020491C4 str r0, [r2, #0x14] add r0, r7, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_02049270: .word sub_020491C4 + 1 +_02049270: .word FUN_020491C4 + 1 - thumb_func_start sub_02049274 -sub_02049274: ; 0x02049274 + thumb_func_start FUN_02049274 +FUN_02049274: ; 0x02049274 push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -138407,7 +138407,7 @@ sub_02049274: ; 0x02049274 mov r0, #0xb str r2, [sp, #0x4] str r3, [sp, #0x8] - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -138420,17 +138420,17 @@ sub_02049274: ; 0x02049274 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _020492B8 ; =sub_02049304 + ldr r1, _020492B8 ; =FUN_02049304 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC add sp, #0x14 pop {r4-r5, pc} nop -_020492B8: .word sub_02049304 + 1 +_020492B8: .word FUN_02049304 + 1 - thumb_func_start sub_020492BC -sub_020492BC: ; 0x020492BC + thumb_func_start FUN_020492BC +FUN_020492BC: ; 0x020492BC push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -138443,7 +138443,7 @@ sub_020492BC: ; 0x020492BC mov r0, #0xb str r2, [sp, #0x4] str r3, [sp, #0x8] - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -138456,23 +138456,23 @@ sub_020492BC: ; 0x020492BC ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _02049300 ; =sub_02049304 + ldr r1, _02049300 ; =FUN_02049304 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_020463EC + bl FUN_020463EC add sp, #0x14 pop {r4-r5, pc} nop -_02049300: .word sub_02049304 + 1 +_02049300: .word FUN_02049304 + 1 - thumb_func_start sub_02049304 -sub_02049304: ; 0x02049304 + thumb_func_start FUN_02049304 +FUN_02049304: ; 0x02049304 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r5, r4, #0x0 ldr r1, [r4, #0x0] @@ -138491,9 +138491,9 @@ sub_02049304: ; 0x02049304 lsl r2, r3, #0x1 ldr r1, [r5, #0x0] add r0, r6, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 add r0, r7, #0x0 - bl sub_02049394 + bl FUN_02049394 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138508,21 +138508,21 @@ _02049390: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02049394 -sub_02049394: ; 0x02049394 - ldr r3, _0204939C ; =sub_0204640C - ldr r1, _020493A0 ; =sub_020493A4 + thumb_func_start FUN_02049394 +FUN_02049394: ; 0x02049394 + ldr r3, _0204939C ; =FUN_0204640C + ldr r1, _020493A0 ; =FUN_020493A4 mov r2, #0x0 bx r3 .balign 4 -_0204939C: .word sub_0204640C + 1 -_020493A0: .word sub_020493A4 + 1 +_0204939C: .word FUN_0204640C + 1 +_020493A0: .word FUN_020493A4 + 1 - thumb_func_start sub_020493A4 -sub_020493A4: ; 0x020493A4 + thumb_func_start FUN_020493A4 +FUN_020493A4: ; 0x020493A4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -138532,7 +138532,7 @@ sub_020493A4: ; 0x020493A4 b _020493CC _020493BA: add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138544,27 +138544,27 @@ _020493CC: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020493D0 -sub_020493D0: ; 0x020493D0 + thumb_func_start FUN_020493D0 +FUN_020493D0: ; 0x020493D0 push {r4, lr} add r4, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r2, r0, #0x0 - ldr r1, _020493E4 ; =sub_020493E8 + ldr r1, _020493E4 ; =FUN_020493E8 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_020493E4: .word sub_020493E8 + 1 +_020493E4: .word FUN_020493E8 + 1 - thumb_func_start sub_020493E8 -sub_020493E8: ; 0x020493E8 + thumb_func_start FUN_020493E8 +FUN_020493E8: ; 0x020493E8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _02049408 @@ -138575,15 +138575,15 @@ sub_020493E8: ; 0x020493E8 b _0204942C _02049408: add r0, r5, #0x0 - bl sub_0204AF84 + bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204942C _02049416: - bl sub_021E331C + bl FUN_021E331C add r0, r5, #0x0 - bl sub_02049430 + bl FUN_02049430 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138595,62 +138595,62 @@ _0204942C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02049430 -sub_02049430: ; 0x02049430 + thumb_func_start FUN_02049430 +FUN_02049430: ; 0x02049430 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 bne _02049452 - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _02049452: ldr r0, [r5, #0x38] - bl sub_020553E8 + bl FUN_020553E8 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_022483BC + bl FUN_022483BC str r0, [r4, #0x4] - ldr r1, _02049470 ; =sub_02049474 + ldr r1, _02049470 ; =FUN_02049474 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop -_02049470: .word sub_02049474 + 1 +_02049470: .word FUN_02049474 + 1 - thumb_func_start sub_02049474 -sub_02049474: ; 0x02049474 + thumb_func_start FUN_02049474 +FUN_02049474: ; 0x02049474 push {r4, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_022483E0 + bl FUN_022483E0 cmp r0, #0x1 bne _02049490 ldr r0, [r4, #0x4] - bl sub_022483EC + bl FUN_022483EC mov r0, #0x1 pop {r4, pc} _02049490: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02049494 -sub_02049494: ; 0x02049494 + thumb_func_start FUN_02049494 +FUN_02049494: ; 0x02049494 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x20 add r4, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -138663,22 +138663,22 @@ sub_02049494: ; 0x02049494 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _020494C8 ; =sub_020494CC + ldr r1, _020494C8 ; =FUN_020494CC str r0, [r3, #0x0] add r0, r6, #0x0 - bl sub_020463EC + bl FUN_020463EC pop {r4-r6, pc} .balign 4 -_020494C8: .word sub_020494CC + 1 +_020494C8: .word FUN_020494CC + 1 - thumb_func_start sub_020494CC -sub_020494CC: ; 0x020494CC + thumb_func_start FUN_020494CC +FUN_020494CC: ; 0x020494CC push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r6, r4, #0x0 ldr r1, [r4, #0x0] @@ -138697,9 +138697,9 @@ sub_020494CC: ; 0x020494CC lsl r2, r6, #0x1 ldr r1, [r6, #0x0] add r0, r5, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 add r0, r7, #0x0 - bl sub_02049574 + bl FUN_02049574 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138715,21 +138715,21 @@ _02049570: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02049574 -sub_02049574: ; 0x02049574 - ldr r3, _0204957C ; =sub_0204640C - ldr r1, _02049580 ; =sub_02049584 + thumb_func_start FUN_02049574 +FUN_02049574: ; 0x02049574 + ldr r3, _0204957C ; =FUN_0204640C + ldr r1, _02049580 ; =FUN_02049584 mov r2, #0x0 bx r3 .balign 4 -_0204957C: .word sub_0204640C + 1 -_02049580: .word sub_02049584 + 1 +_0204957C: .word FUN_0204640C + 1 +_02049580: .word FUN_02049584 + 1 - thumb_func_start sub_02049584 -sub_02049584: ; 0x02049584 + thumb_func_start FUN_02049584 +FUN_02049584: ; 0x02049584 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -138739,7 +138739,7 @@ sub_02049584: ; 0x02049584 b _020495AC _0204959A: add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138751,30 +138751,30 @@ _020495AC: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020495B0 -sub_020495B0: ; 0x020495B0 + thumb_func_start FUN_020495B0 +FUN_020495B0: ; 0x020495B0 push {r4, lr} add r4, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r2, r0, #0x0 - ldr r1, _020495C4 ; =sub_020495C8 + ldr r1, _020495C4 ; =FUN_020495C8 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} .balign 4 -_020495C4: .word sub_020495C8 + 1 +_020495C4: .word FUN_020495C8 + 1 - thumb_func_start sub_020495C8 -sub_020495C8: ; 0x020495C8 + thumb_func_start FUN_020495C8 +FUN_020495C8: ; 0x020495C8 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020495F0 @@ -138785,16 +138785,16 @@ sub_020495C8: ; 0x020495C8 b _02049616 _020495F0: add r0, r5, #0x0 - bl sub_0204AF84 + bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049616 _020495FE: add r0, r6, #0x0 - bl sub_021E331C + bl FUN_021E331C add r0, r5, #0x0 - bl sub_0204961C + bl FUN_0204961C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138807,42 +138807,42 @@ _02049616: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204961C -sub_0204961C: ; 0x0204961C + thumb_func_start FUN_0204961C +FUN_0204961C: ; 0x0204961C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 bne _0204963E - bl sub_02020C2C + bl FUN_02020C2C pop {r4-r6, pc} _0204963E: ldr r2, [r6, #0x4] add r0, r4, #0x0 mov r1, #0x4 - bl sub_0224C8C8 + bl FUN_0224C8C8 add r2, r0, #0x0 ldr r1, _02049654 ; =0x0224C8E9 add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} .balign 4 _02049654: .word 0x0224C8E9 - thumb_func_start sub_02049658 -sub_02049658: ; 0x02049658 + thumb_func_start FUN_02049658 +FUN_02049658: ; 0x02049658 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r5, r4, #0x0 ldr r1, [r4, #0x0] @@ -138865,7 +138865,7 @@ sub_02049658: ; 0x02049658 add r0, r7, #0x0 mov r1, #0x1 add r2, r4, #0x4 - bl sub_021E7750 + bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -138884,8 +138884,8 @@ _02049712: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02049718 -sub_02049718: ; 0x02049718 + thumb_func_start FUN_02049718 +FUN_02049718: ; 0x02049718 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -138893,13 +138893,13 @@ sub_02049718: ; 0x02049718 mov r0, #0xb mov r1, #0x1c add r6, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r7, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 mov r1, #0x0 add r2, r7, #0x0 str r4, [sp, #0x0] @@ -138914,27 +138914,27 @@ sub_02049718: ; 0x02049718 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r3, #0x0] - ldr r1, _02049768 ; =sub_02049658 + ldr r1, _02049768 ; =FUN_02049658 str r0, [r2, #0x0] add r0, r5, #0x0 add r2, r7, #0x0 - bl sub_020463CC + bl FUN_020463CC add sp, #0x14 pop {r4-r7, pc} nop -_02049768: .word sub_02049658 + 1 +_02049768: .word FUN_02049658 + 1 - thumb_func_start sub_0204976C -sub_0204976C: ; 0x0204976C + thumb_func_start FUN_0204976C +FUN_0204976C: ; 0x0204976C push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x40 - bl sub_020169D8 + bl FUN_020169D8 add r5, r0, #0x0 mov r1, #0x0 str r1, [r5, #0x0] @@ -138954,7 +138954,7 @@ sub_0204976C: ; 0x0204976C _020497A4: add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02048CB0 + bl FUN_02048CB0 mov r0, #0x2 str r0, [r5, #0x8] sub r0, r0, #0x3 @@ -138973,11 +138973,11 @@ _020497A4: sub r4, r0, #0x6 cmp r6, #0x0 bge _020497D4 - bl sub_02020C2C + bl FUN_02020C2C _020497D4: cmp r4, #0x0 bge _020497DC - bl sub_02020C2C + bl FUN_02020C2C _020497DC: lsr r2, r6, #0x1f lsl r1, r6, #0x1f @@ -139021,32 +139021,32 @@ _02049820: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02049824 -sub_02049824: ; 0x02049824 + thumb_func_start FUN_02049824 +FUN_02049824: ; 0x02049824 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0204976C + bl FUN_0204976C add r4, r0, #0x0 beq _02049840 add r0, r5, #0x0 - bl sub_02049BE8 + bl FUN_02049BE8 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC _02049840: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02049844 -sub_02049844: ; 0x02049844 + thumb_func_start FUN_02049844 +FUN_02049844: ; 0x02049844 push {r4-r6, lr} sub sp, #0x8 add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0xc @@ -139074,32 +139074,32 @@ sub_02049844: ; 0x02049844 mov r1, #0x1a mov r2, #0xcf mov r3, #0xb - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 mov r1, #0x7c - bl sub_0200A914 + bl FUN_0200A914 str r0, [r4, #0x34] add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r1, r4, #0x0 ldr r0, [r5, #0x8] add r1, #0x24 mov r2, #0x3 - bl sub_020545B8 + bl FUN_020545B8 ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x24 - bl sub_02054608 + bl FUN_02054608 ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 add r2, r0, #0x0 add r0, r4, #0x0 ldr r1, [r4, #0x34] add r0, #0x24 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 add r1, r4, #0x0 add r1, #0x38 strb r0, [r1, #0x0] @@ -139168,13 +139168,13 @@ _02049AB8: .byte 0x04, 0xE0, 0xCC, 0xF7, 0x21, 0xFF, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x02, 0xB0 .byte 0x70, 0xBD, 0xC0, 0x46, 0x12, 0x00, 0x00, 0x00 - thumb_func_start sub_02049BE8 -sub_02049BE8: ; 0x02049BE8 + thumb_func_start FUN_02049BE8 +FUN_02049BE8: ; 0x02049BE8 push {r3, lr} ldr r0, [r0, #0x6c] cmp r0, #0x0 bne _02049BF4 - ldr r0, _02049C04 ; =sub_02049844 + ldr r0, _02049C04 ; =FUN_02049844 pop {r3, pc} _02049BF4: cmp r0, #0x1 @@ -139182,22 +139182,22 @@ _02049BF4: ldr r0, _02049C08 ; =0x02049ACD pop {r3, pc} _02049BFC: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 -_02049C04: .word sub_02049844 + 1 +_02049C04: .word FUN_02049844 + 1 _02049C08: .word 0x02049ACD - thumb_func_start sub_02049C0C -sub_02049C0C: ; 0x02049C0C + thumb_func_start FUN_02049C0C +FUN_02049C0C: ; 0x02049C0C push {r3-r7, lr} add r4, r0, #0x0 add r6, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] mov r5, #0x0 @@ -139212,7 +139212,7 @@ _02049C2E: add r0, r7, #0x0 add r1, r6, #0x0 add r2, #0x18 - bl sub_02053C98 + bl FUN_02053C98 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -139228,14 +139228,14 @@ _02049C4E: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02049C54 -sub_02049C54: ; 0x02049C54 + thumb_func_start FUN_02049C54 +FUN_02049C54: ; 0x02049C54 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -139247,7 +139247,7 @@ sub_02049C54: ; 0x02049C54 b _02049CAC _02049C76: add r0, r5, #0x0 - bl sub_02048B34 + bl FUN_02048B34 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -139255,41 +139255,41 @@ _02049C76: _02049C84: add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_02048958 + bl FUN_02048958 add r0, r5, #0x0 mov r1, #0x2 - bl sub_0203989C + bl FUN_0203989C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _02049CAC _02049C9C: add r0, r5, #0x0 - bl sub_02048AE4 + bl FUN_02048AE4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02049CAC: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02049CB0 -sub_02049CB0: ; 0x02049CB0 + thumb_func_start FUN_02049CB0 +FUN_02049CB0: ; 0x02049CB0 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x18 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 beq _02049CD6 - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} _02049CD6: mov r0, #0x0 @@ -139300,26 +139300,26 @@ _02049CD6: ldmia r5!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _02049CF4 ; =sub_02049C54 + ldr r1, _02049CF4 ; =FUN_02049C54 str r0, [r2, #0x0] add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_02049CF4: .word sub_02049C54 + 1 +_02049CF4: .word FUN_02049C54 + 1 - thumb_func_start sub_02049CF8 -sub_02049CF8: ; 0x02049CF8 + thumb_func_start FUN_02049CF8 +FUN_02049CF8: ; 0x02049CF8 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x5 @@ -139339,11 +139339,11 @@ sub_02049CF8: ; 0x02049CF8 ldr r1, [r5, #0x8] add r0, r7, #0x0 mov r2, #0x0 - bl sub_0204ACA8 + bl FUN_0204ACA8 add r0, r7, #0x0 mov r1, #0x1 add r2, r5, #0x4 - bl sub_021E7750 + bl FUN_021E7750 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -139359,21 +139359,21 @@ _02049D98: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02049D9C -sub_02049D9C: ; 0x02049D9C + thumb_func_start FUN_02049D9C +FUN_02049D9C: ; 0x02049D9C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 mov r1, #0x0 mov r2, #0x1c - blx sub_020CE34C + blx FUN_020CE34C add r2, r6, #0x0 ldmia r4!, {r0-r1} add r2, #0x8 @@ -139383,32 +139383,32 @@ sub_02049D9C: ; 0x02049D9C ldr r0, [r4, #0x0] str r0, [r2, #0x0] add r0, r5, #0x0 - bl sub_020520F8 + bl FUN_020520F8 ldr r0, [r5, #0x7c] - bl sub_02052FA4 + bl FUN_02052FA4 mov r0, #0x0 str r0, [r5, #0x6c] - ldr r1, _02049DF0 ; =sub_02049CF8 + ldr r1, _02049DF0 ; =FUN_02049CF8 add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 str r0, [r5, #0x78] pop {r4-r6, pc} nop -_02049DF0: .word sub_02049CF8 + 1 +_02049DF0: .word FUN_02049CF8 + 1 - thumb_func_start sub_02049DF4 -sub_02049DF4: ; 0x02049DF4 + thumb_func_start FUN_02049DF4 +FUN_02049DF4: ; 0x02049DF4 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x6 @@ -139429,9 +139429,9 @@ sub_02049DF4: ; 0x02049DF4 ldr r1, [r5, #0x8] add r0, r7, #0x0 mov r2, #0x0 - bl sub_0204ACA8 + bl FUN_0204ACA8 add r0, r6, #0x0 - bl sub_0204AFC8 + bl FUN_0204AFC8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -139448,26 +139448,26 @@ _02049E9E: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02049EA4 -sub_02049EA4: ; 0x02049EA4 + thumb_func_start FUN_02049EA4 +FUN_02049EA4: ; 0x02049EA4 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_02048CB0 + bl FUN_02048CB0 ldr r0, _02049F08 ; =0x000001D2 str r0, [r4, #0x8] mov r0, #0x0 @@ -139480,29 +139480,29 @@ sub_02049EA4: ; 0x02049EA4 mov r0, #0x0 str r0, [r4, #0x18] add r0, r5, #0x0 - bl sub_020520AC + bl FUN_020520AC str r0, [r5, #0x78] - bl sub_02052EE8 + bl FUN_02052EE8 str r0, [r5, #0x7c] mov r0, #0x2 str r0, [r5, #0x6c] - ldr r1, _02049F0C ; =sub_02049DF4 + ldr r1, _02049F0C ; =FUN_02049DF4 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 _02049F08: .word 0x000001D2 -_02049F0C: .word sub_02049DF4 + 1 +_02049F0C: .word FUN_02049DF4 + 1 - thumb_func_start sub_02049F10 -sub_02049F10: ; 0x02049F10 + thumb_func_start FUN_02049F10 +FUN_02049F10: ; 0x02049F10 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 @@ -139518,12 +139518,12 @@ sub_02049F10: ; 0x02049F10 lsl r2, r6, #0 lsl r0, r2, #0x1 ldr r0, _02049F94 ; =0x00000603 - bl sub_020054C8 + bl FUN_020054C8 ldr r1, [r4, #0x4] add r0, r6, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 add r0, r5, #0x0 - bl sub_0204B090 + bl FUN_0204B090 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -139539,26 +139539,26 @@ _02049F8E: nop _02049F94: .word 0x00000603 - thumb_func_start sub_02049F98 -sub_02049F98: ; 0x02049F98 + thumb_func_start FUN_02049F98 +FUN_02049F98: ; 0x02049F98 push {r3-r7, lr} sub sp, #0x18 str r0, [sp, #0x0] add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r1, r4, #0x0 - bl sub_02048CB0 + bl FUN_02048CB0 mov r0, #0x3 str r0, [r4, #0x6c] mov r0, #0xb mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 ldr r0, [sp, #0x30] str r5, [sp, #0x4] @@ -139576,37 +139576,37 @@ sub_02049F98: ; 0x02049F98 ldmia r4!, {r0-r1} stmia r3!, {r0-r1} ldr r0, [r4, #0x0] - ldr r1, _02049FF8 ; =sub_02049F10 + ldr r1, _02049FF8 ; =FUN_02049F10 str r0, [r3, #0x0] ldr r0, [sp, #0x0] - bl sub_0204640C + bl FUN_0204640C add sp, #0x18 pop {r3-r7, pc} nop -_02049FF8: .word sub_02049F10 + 1 +_02049FF8: .word FUN_02049F10 + 1 - thumb_func_start sub_02049FFC -sub_02049FFC: ; 0x02049FFC + thumb_func_start FUN_02049FFC +FUN_02049FFC: ; 0x02049FFC push {r4, lr} - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02034E30 - bl sub_02034DD0 + bl FUN_02034E30 + bl FUN_02034DD0 add r1, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x6c] ldr r0, [r4, #0x10] - bl sub_020490C0 + bl FUN_020490C0 pop {r4, pc} - thumb_func_start sub_0204A01C -sub_0204A01C: ; 0x0204A01C + thumb_func_start FUN_0204A01C +FUN_0204A01C: ; 0x0204A01C push {r4, lr} mov r1, #0xa2 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204A030 mov r0, #0x0 @@ -139615,7 +139615,7 @@ _0204A030: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204A042 mov r0, #0x1 @@ -139625,8 +139625,8 @@ _0204A042: pop {r4, pc} .balign 4 - thumb_func_start sub_0204A048 -sub_0204A048: ; 0x0204A048 + thumb_func_start FUN_0204A048 +FUN_0204A048: ; 0x0204A048 push {r3-r7, lr} sub sp, #0x20 add r6, r1, #0x0 @@ -139634,15 +139634,15 @@ sub_0204A048: ; 0x0204A048 add r0, r6, #0x0 add r7, r2, #0x0 str r3, [sp, #0x10] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x14] add r0, r6, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0x18] add r0, r5, #0x0 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 - bl sub_02066978 + bl FUN_02066978 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -139652,7 +139652,7 @@ sub_0204A048: ; 0x0204A048 add r0, r4, #0x0 add r1, r7, #0x0 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC ldr r0, [sp, #0x40] ldr r1, [sp, #0x14] str r0, [sp, #0x0] @@ -139660,49 +139660,49 @@ sub_0204A048: ; 0x0204A048 add r0, r4, #0x0 mov r2, #0x4 str r5, [sp, #0x4] - bl sub_0206A014 + bl FUN_0206A014 add r0, sp, #0x28 ldrh r0, [r0, #0x10] mov r1, #0x6 add r2, sp, #0x1c str r0, [sp, #0x1c] add r0, r4, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x18] add r1, r4, #0x0 - bl sub_0206B900 + bl FUN_0206B900 add r5, r0, #0x0 beq _0204A0BC add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202C144 + bl FUN_0202C144 _0204A0BC: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_0204A0C8 -sub_0204A0C8: ; 0x0204A0C8 + thumb_func_start FUN_0204A0C8 +FUN_0204A0C8: ; 0x0204A0C8 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 add r0, r4, #0x0 add r5, r2, #0x0 add r7, r3, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C add r6, r0, #0x0 mov r0, #0x20 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 - bl sub_02066978 + bl FUN_02066978 ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] - bl sub_02015CF8 + bl FUN_02015CF8 mov r1, #0x4 str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -139710,37 +139710,37 @@ sub_0204A0C8: ; 0x0204A0C8 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 - bl sub_021ECF14 + bl FUN_021ECF14 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0206B900 + bl FUN_0206B900 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0204A120 -sub_0204A120: ; 0x0204A120 + thumb_func_start FUN_0204A120 +FUN_0204A120: ; 0x0204A120 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 lsl r2, r5, #0x18 add r1, r4, #0x0 lsr r2, r2, #0x18 - bl sub_020697CC + bl FUN_020697CC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204A138 -sub_0204A138: ; 0x0204A138 + thumb_func_start FUN_0204A138 +FUN_0204A138: ; 0x0204A138 push {r3-r7, lr} str r0, [sp, #0x0] add r5, r1, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC add r7, r0, #0x0 mov r6, #0x0 cmp r7, #0x0 @@ -139748,35 +139748,35 @@ sub_0204A138: ; 0x0204A138 _0204A14A: ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204A19C add r0, r4, #0x0 mov r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x37 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x38 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 beq _0204A198 add r0, r4, #0x0 mov r1, #0x39 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 bne _0204A19C _0204A198: @@ -139791,11 +139791,11 @@ _0204A1A2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204A1A8 -sub_0204A1A8: ; 0x0204A1A8 + thumb_func_start FUN_0204A1A8 +FUN_0204A1A8: ; 0x0204A1A8 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC mov r5, #0x0 add r6, r0, #0x0 add r4, r5, #0x0 @@ -139804,8 +139804,8 @@ sub_0204A1A8: ; 0x0204A1A8 _0204A1BA: add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0206B9B0 - bl sub_0204A01C + bl FUN_0206B9B0 + bl FUN_0204A01C cmp r0, #0x0 beq _0204A1CC add r5, r5, #0x1 @@ -139818,11 +139818,11 @@ _0204A1D2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204A1D8 -sub_0204A1D8: ; 0x0204A1D8 + thumb_func_start FUN_0204A1D8 +FUN_0204A1D8: ; 0x0204A1D8 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC add r5, r0, #0x0 mov r4, #0x0 cmp r5, #0x0 @@ -139830,9 +139830,9 @@ sub_0204A1D8: ; 0x0204A1D8 _0204A1E8: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r7, r0, #0x0 - bl sub_0204A01C + bl FUN_0204A01C cmp r0, #0x0 beq _0204A1FE add r0, r7, #0x0 @@ -139842,15 +139842,15 @@ _0204A1FE: cmp r4, r5 blt _0204A1E8 _0204A204: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0204A20C -sub_0204A20C: ; 0x0204A20C + thumb_func_start FUN_0204A20C +FUN_0204A20C: ; 0x0204A20C push {r3-r7, lr} add r6, r0, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r4, _0204A244 ; =0x00000000 @@ -139858,11 +139858,11 @@ sub_0204A20C: ; 0x0204A20C _0204A21C: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r7, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204A236 add r0, r7, #0x0 @@ -139879,10 +139879,10 @@ _0204A240: .balign 4 _0204A244: .word 0x00000000 - thumb_func_start sub_0204A248 -sub_0204A248: ; 0x0204A248 + thumb_func_start FUN_0204A248 +FUN_0204A248: ; 0x0204A248 push {r3, lr} - bl sub_0204A1A8 + bl FUN_0204A1A8 cmp r0, #0x2 blt _0204A256 mov r0, #0x1 @@ -139892,14 +139892,14 @@ _0204A256: pop {r3, pc} .balign 4 - thumb_func_start sub_0204A25C -sub_0204A25C: ; 0x0204A25C + thumb_func_start FUN_0204A25C +FUN_0204A25C: ; 0x0204A25C push {r3-r7, lr} mov r2, #0x1 add r1, sp, #0x0 add r7, r0, #0x0 strb r2, [r1, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC add r6, r0, #0x0 mov r5, #0x0 cmp r6, #0x0 @@ -139907,17 +139907,17 @@ sub_0204A25C: ; 0x0204A25C _0204A272: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0204A292 add r0, r4, #0x0 mov r1, #0x19 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 _0204A292: add r5, r5, #0x1 cmp r5, r6 @@ -139926,15 +139926,15 @@ _0204A298: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204A29C -sub_0204A29C: ; 0x0204A29C + thumb_func_start FUN_0204A29C +FUN_0204A29C: ; 0x0204A29C push {r3-r7, lr} sub sp, #0x10 mov r7, #0x0 str r0, [sp, #0x0] str r1, [sp, #0x4] add r6, r7, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC add r4, r7, #0x0 str r0, [sp, #0x8] cmp r0, #0x0 @@ -139942,22 +139942,22 @@ sub_0204A29C: ; 0x0204A29C _0204A2B4: ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 - bl sub_0204A01C + bl FUN_0204A01C cmp r0, #0x0 beq _0204A308 add r0, r5, #0x0 mov r1, #0x9f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x88 tst r0, r1 beq _0204A308 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] cmp r0, #0x1 bls _0204A2EA @@ -139967,7 +139967,7 @@ _0204A2EA: add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0xc - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0xc] cmp r0, #0x1 bne _0204A306 @@ -139975,7 +139975,7 @@ _0204A2EA: add r0, r5, #0x0 mov r1, #0x7 add r6, r6, #0x1 - bl sub_020688E8 + bl FUN_020688E8 _0204A306: add r7, r7, #0x1 _0204A308: @@ -140001,21 +140001,21 @@ _0204A324: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204A32C -sub_0204A32C: ; 0x0204A32C + thumb_func_start FUN_0204A32C +FUN_0204A32C: ; 0x0204A32C push {r3-r4, lr} sub sp, #0x4 mov r1, #0x9f mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x88 tst r0, r1 beq _0204A362 add r0, r4, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _0204A362 mov r0, #0x0 @@ -140023,7 +140023,7 @@ sub_0204A32C: ; 0x0204A32C add r0, r4, #0x0 mov r1, #0x9f add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add sp, #0x4 mov r0, #0x1 pop {r3-r4, pc} @@ -140032,8 +140032,8 @@ _0204A362: add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0204A368 -sub_0204A368: ; 0x0204A368 + thumb_func_start FUN_0204A368 +FUN_0204A368: ; 0x0204A368 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x54] @@ -140042,32 +140042,32 @@ sub_0204A368: ; 0x0204A368 bne _0204A388 ldr r1, _0204A38C ; =0x000080E2 mov r0, #0xb - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x54] ldr r0, [r5, #0x28] ldr r1, [r5, #0x54] add r2, r4, #0x0 - bl sub_0204A3B0 + bl FUN_0204A3B0 _0204A388: pop {r3-r5, pc} nop _0204A38C: .word 0x000080E2 - thumb_func_start sub_0204A390 -sub_0204A390: ; 0x0204A390 + thumb_func_start FUN_0204A390 +FUN_0204A390: ; 0x0204A390 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x54] cmp r0, #0x0 beq _0204A3A2 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x54] _0204A3A2: pop {r4, pc} - thumb_func_start sub_0204A3A4 -sub_0204A3A4: ; 0x0204A3A4 + thumb_func_start FUN_0204A3A4 +FUN_0204A3A4: ; 0x0204A3A4 ldrb r0, [r1, r0] add r2, r1, #0x0 add r2, #0xe2 @@ -140075,8 +140075,8 @@ sub_0204A3A4: ; 0x0204A3A4 add r0, r2, r0 bx lr - thumb_func_start sub_0204A3B0 -sub_0204A3B0: ; 0x0204A3B0 + thumb_func_start FUN_0204A3B0 +FUN_0204A3B0: ; 0x0204A3B0 push {r4-r7, lr} sub sp, #0x3c str r1, [sp, #0x8] @@ -140085,10 +140085,10 @@ sub_0204A3B0: ; 0x0204A3B0 mov r2, #0x0 add r1, sp, #0x18 strb r2, [r1, #0x0] - bl sub_020344FC + bl FUN_020344FC add r6, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_0203450C + bl FUN_0203450C str r0, [sp, #0x10] mov r0, #0x0 str r0, [sp, #0x14] @@ -140106,11 +140106,11 @@ _0204A3E0: lsr r4, r0, #0x10 ldr r1, [sp, #0x4] add r0, r4, #0x0 - bl sub_020344D8 + bl FUN_020344D8 add r1, sp, #0x18 add r1, #0x2 add r2, sp, #0x18 - bl sub_0204A45C + bl FUN_0204A45C ldr r1, [sp, #0x8] add r5, r5, #0x1 strb r0, [r1, r4] @@ -140127,7 +140127,7 @@ _0204A402: _0204A410: mov r0, #0x43 mov r1, #0xb - bl sub_02006670 + bl FUN_02006670 add r7, r0, #0x0 ldr r0, [sp, #0xc] mov r6, #0x0 @@ -140148,7 +140148,7 @@ _0204A42E: mov r2, #0x10 add r0, r7, #0x0 lsl r3, r2, #0x7 - bl sub_02006814 + bl FUN_02006814 mov r0, #0x1 lsl r0, r0, #0xa add r5, r5, r0 @@ -140159,12 +140159,12 @@ _0204A42E: blt _0204A42E _0204A452: add r0, r7, #0x0 - bl sub_020066F4 + bl FUN_020066F4 add sp, #0x3c pop {r4-r7, pc} - thumb_func_start sub_0204A45C -sub_0204A45C: ; 0x0204A45C + thumb_func_start FUN_0204A45C +FUN_0204A45C: ; 0x0204A45C push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 @@ -140189,7 +140189,7 @@ _0204A478: _0204A482: cmp r4, #0x10 blo _0204A48A - bl sub_02020C2C + bl FUN_02020C2C _0204A48A: lsl r0, r4, #0x1 strh r5, [r6, r0] @@ -140199,8 +140199,8 @@ _0204A48A: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0204A498 -sub_0204A498: ; 0x0204A498 + thumb_func_start FUN_0204A498 +FUN_0204A498: ; 0x0204A498 cmp r0, r1 blt _0204A4A0 sub r0, r0, r1 @@ -140209,8 +140209,8 @@ _0204A4A0: sub r0, r1, r0 bx lr - thumb_func_start sub_0204A4A4 -sub_0204A4A4: ; 0x0204A4A4 + thumb_func_start FUN_0204A4A4 +FUN_0204A4A4: ; 0x0204A4A4 push {r3-r7, lr} sub sp, #0x38 add r4, r2, #0x0 @@ -140225,7 +140225,7 @@ sub_0204A4A4: ; 0x0204A4A4 str r1, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r5, #0x28] - bl sub_020344FC + bl FUN_020344FC str r0, [sp, #0x24] lsl r0, r0, #0x5 str r0, [sp, #0xc] @@ -140244,7 +140244,7 @@ sub_0204A4A4: ; 0x0204A4A4 ldr r2, [r2, #0x0] add r0, r7, #0x0 add r3, sp, #0x28 - bl sub_021F4520 + bl FUN_021F4520 str r0, [sp, #0x20] lsr r0, r7, #0x5 str r0, [sp, #0x18] @@ -140268,7 +140268,7 @@ sub_0204A4A4: ; 0x0204A4A4 mul r0, r1 ldr r1, [sp, #0xc] add r0, r7, r0 - bl sub_021EF620 + bl FUN_021EF620 ldr r2, [sp, #0x14] add r1, r0, #0x0 add r3, r2, #0x0 @@ -140277,7 +140277,7 @@ sub_0204A4A4: ; 0x0204A4A4 mul r3, r0 ldr r0, [sp, #0x18] add r0, r0, r3 - bl sub_021EF654 + bl FUN_021EF654 add r1, r0, #0x0 cmp r1, #0x3 bls _0204A53C @@ -140287,14 +140287,14 @@ _0204A53C: lsl r1, r1, #0x18 ldr r0, [sp, #0x8] lsr r1, r1, #0x18 - bl sub_021EF8C8 + bl FUN_021EF8C8 add r3, r0, #0x0 add r0, sp, #0x30 str r0, [sp, #0x0] ldr r0, [sp, #0x4] ldr r1, [sp, #0x2c] ldr r2, [sp, #0x34] - bl sub_021F3DA4 + bl FUN_021F3DA4 add r4, r0, #0x0 _0204A558: ldr r0, [sp, #0x20] @@ -140304,7 +140304,7 @@ _0204A558: add r5, #0x9c ldrb r0, [r0, #0x0] ldr r1, [r5, #0x0] - bl sub_021F4568 + bl FUN_021F4568 add r5, r0, #0x0 cmp r4, #0x0 beq _0204A59E @@ -140316,11 +140316,11 @@ _0204A558: b _0204A5B2 _0204A57C: ldr r1, [sp, #0x4] - bl sub_0204A498 + bl FUN_0204A498 add r4, r0, #0x0 ldr r1, [sp, #0x4] add r0, r5, #0x0 - bl sub_0204A498 + bl FUN_0204A498 cmp r4, r0 bgt _0204A598 ldr r0, [sp, #0x30] @@ -140354,8 +140354,8 @@ _0204A5BA: add sp, #0x38 pop {r3-r7, pc} - thumb_func_start sub_0204A5C0 -sub_0204A5C0: ; 0x0204A5C0 + thumb_func_start FUN_0204A5C0 +FUN_0204A5C0: ; 0x0204A5C0 push {r3, lr} asr r1, r2, #0xf lsr r1, r1, #0x10 @@ -140367,7 +140367,7 @@ sub_0204A5C0: ; 0x0204A5C0 asr r1, r1, #0x10 asr r2, r2, #0x10 mov r3, #0x0 - bl sub_021EF844 + bl FUN_021EF844 ldr r1, [sp, #0x8] cmp r1, #0x0 beq _0204A5EE @@ -140385,8 +140385,8 @@ _0204A5EE: pop {r3, pc} .balign 4 - thumb_func_start sub_0204A5F4 -sub_0204A5F4: ; 0x0204A5F4 + thumb_func_start FUN_0204A5F4 +FUN_0204A5F4: ; 0x0204A5F4 push {r3-r7, lr} ldr r7, [r0, #0x24] add r4, r3, #0x0 @@ -140394,7 +140394,7 @@ sub_0204A5F4: ; 0x0204A5F4 add r3, sp, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_021EF844 + bl FUN_021EF844 cmp r0, #0x0 bne _0204A612 mov r0, #0xff @@ -140405,7 +140405,7 @@ _0204A612: add r1, sp, #0x0 ldrb r1, [r1, #0x0] add r0, r7, #0x0 - bl sub_021EF8DC + bl FUN_021EF8DC lsr r2, r5, #0x1f lsl r1, r5, #0x1b sub r1, r1, r2 @@ -140425,15 +140425,15 @@ _0204A612: mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_0204A640 -sub_0204A640: ; 0x0204A640 + thumb_func_start FUN_0204A640 +FUN_0204A640: ; 0x0204A640 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x28] add r4, r2, #0x0 add r5, r1, #0x0 add r7, r3, #0x0 - bl sub_020344FC + bl FUN_020344FC asr r2, r4, #0x4 asr r1, r5, #0x4 lsr r2, r2, #0x1b @@ -140445,7 +140445,7 @@ sub_0204A640: ; 0x0204A640 mul r0, r2 add r0, r1, r0 ldr r1, [r6, #0x54] - bl sub_0204A3A4 + bl FUN_0204A3A4 lsr r2, r5, #0x1f lsl r1, r5, #0x1b sub r1, r1, r2 @@ -140466,8 +140466,8 @@ sub_0204A640: ; 0x0204A640 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204A690 -sub_0204A690: ; 0x0204A690 + thumb_func_start FUN_0204A690 +FUN_0204A690: ; 0x0204A690 push {r3, lr} cmp r1, #0x0 bne _0204A69C @@ -140481,14 +140481,14 @@ _0204A69C: str r1, [r0, #0x0] pop {r3, pc} _0204A6A6: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 _0204A6AC: .word 0x020F4708 _0204A6B0: .word 0x020F4710 - thumb_func_start sub_0204A6B4 -sub_0204A6B4: ; 0x0204A6B4 + thumb_func_start FUN_0204A6B4 +FUN_0204A6B4: ; 0x0204A6B4 push {r3-r4, lr} sub sp, #0x4 ldr r4, [r0, #0x58] @@ -140514,8 +140514,8 @@ _0204A6DC: add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0204A6E0 -sub_0204A6E0: ; 0x0204A6E0 + thumb_func_start FUN_0204A6E0 +FUN_0204A6E0: ; 0x0204A6E0 push {r3-r4, lr} sub sp, #0x4 ldr r4, [r0, #0x58] @@ -140538,8 +140538,8 @@ _0204A700: pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0204A708 -sub_0204A708: ; 0x0204A708 + thumb_func_start FUN_0204A708 +FUN_0204A708: ; 0x0204A708 push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] @@ -140551,8 +140551,8 @@ sub_0204A708: ; 0x0204A708 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0204A71C -sub_0204A71C: ; 0x0204A71C + thumb_func_start FUN_0204A71C +FUN_0204A71C: ; 0x0204A71C push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [sp, #0x10] @@ -140564,7 +140564,7 @@ sub_0204A71C: ; 0x0204A71C lsl r3, r3, #0x10 add r2, r2, r5 add r3, r3, r5 - bl sub_0204A708 + bl FUN_0204A708 ldr r1, [r4, #0x4] cmp r0, r1 bge _0204A744 @@ -140590,7 +140590,7 @@ _0204A754: blt _0204A768 cmp r4, #0x0 bne _0204A76A - bl sub_02020C2C + bl FUN_02020C2C b _0204A76A _0204A768: mov r4, #0x0 @@ -140599,8 +140599,8 @@ _0204A76A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204A770 -sub_0204A770: ; 0x0204A770 + thumb_func_start FUN_0204A770 +FUN_0204A770: ; 0x0204A770 push {r3-r7, lr} sub sp, #0x8 add r6, sp, #0x4 @@ -140608,7 +140608,7 @@ sub_0204A770: ; 0x0204A770 add r4, r2, #0x0 add r7, r3, #0x0 str r6, [sp, #0x0] - bl sub_0204A71C + bl FUN_0204A71C ldr r1, [sp, #0x20] cmp r1, #0x0 beq _0204A78A @@ -140619,7 +140619,7 @@ _0204A78A: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0204A6B4 + bl FUN_0204A6B4 add r6, r0, #0x0 bne _0204A7BC add r0, sp, #0x4 @@ -140629,8 +140629,8 @@ _0204A78A: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0204A6E0 - bl sub_020548B4 + bl FUN_0204A6E0 + bl FUN_020548B4 cmp r0, #0x0 beq _0204A7BC add sp, #0x8 @@ -140645,8 +140645,8 @@ _0204A7C2: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0204A7C8 -sub_0204A7C8: ; 0x0204A7C8 + thumb_func_start FUN_0204A7C8 +FUN_0204A7C8: ; 0x0204A7C8 push {r3-r7, lr} sub sp, #0x10 add r6, sp, #0x8 @@ -140655,7 +140655,7 @@ sub_0204A7C8: ; 0x0204A7C8 add r4, r2, #0x0 add r7, r3, #0x0 str r6, [sp, #0x0] - bl sub_0204A71C + bl FUN_0204A71C ldr r1, [sp, #0x28] cmp r1, #0x0 beq _0204A7E4 @@ -140670,13 +140670,13 @@ _0204A7E4: ldr r3, [r3, #0x4] add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0205CE00 + bl FUN_0205CE00 cmp r0, #0x0 bne _0204A834 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0204A6B4 + bl FUN_0204A6B4 str r0, [sp, #0xc] cmp r0, #0x0 bne _0204A82E @@ -140687,8 +140687,8 @@ _0204A7E4: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0204A6E0 - bl sub_020548B4 + bl FUN_0204A6E0 + bl FUN_020548B4 cmp r0, #0x0 beq _0204A82E add sp, #0x10 @@ -140707,8 +140707,8 @@ _0204A83A: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0204A840 -sub_0204A840: ; 0x0204A840 + thumb_func_start FUN_0204A840 +FUN_0204A840: ; 0x0204A840 push {r3-r7, lr} add r6, r0, r2 ldr r0, [sp, #0x18] @@ -140728,7 +140728,7 @@ sub_0204A840: ; 0x0204A840 cmp r7, #0x0 bge _0204A868 _0204A864: - bl sub_02020C2C + bl FUN_02020C2C _0204A868: lsl r0, r6, #0x10 str r0, [r5, #0x0] @@ -140741,8 +140741,8 @@ _0204A868: str r0, [r5, #0xc] pop {r3-r7, pc} - thumb_func_start sub_0204A87C -sub_0204A87C: ; 0x0204A87C + thumb_func_start FUN_0204A87C +FUN_0204A87C: ; 0x0204A87C push {r4-r5, lr} sub sp, #0xc add r3, r0, #0x0 @@ -140750,7 +140750,7 @@ sub_0204A87C: ; 0x0204A87C add r4, r2, #0x0 add r0, sp, #0x0 add r1, r3, #0x0 - bl sub_021E7EA0 + bl FUN_021E7EA0 ldr r1, [sp, #0x0] ldr r0, [r4, #0x0] ldr r2, [sp, #0x8] @@ -140780,8 +140780,8 @@ _0204A8BC: pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0204A8C4 -sub_0204A8C4: ; 0x0204A8C4 + thumb_func_start FUN_0204A8C4 +FUN_0204A8C4: ; 0x0204A8C4 push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x0] @@ -140795,32 +140795,32 @@ _0204A8D4: ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc - bl sub_021EF604 + bl FUN_021EF604 ldr r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r0, [r0, #0x24] - bl sub_021EF824 + bl FUN_021EF824 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x28] - bl sub_020344FC + bl FUN_020344FC add r1, r0, #0x0 add r0, r4, #0x0 add r2, sp, #0x10 - bl sub_0204AAD4 + bl FUN_0204AAD4 mov r5, #0x0 _0204A900: ldr r0, [sp, #0xc] add r1, r5, #0x0 - bl sub_021E7ED0 + bl FUN_021E7ED0 add r1, r7, #0x0 add r2, sp, #0x10 add r4, r0, #0x0 - bl sub_0204A87C + bl FUN_0204A87C cmp r0, #0x0 beq _0204A92E add r0, r4, #0x0 - bl sub_021E7EC4 + bl FUN_021E7EC4 cmp r0, r6 bne _0204A92E ldr r0, [sp, #0x4] @@ -140848,8 +140848,8 @@ _0204A92E: add sp, #0x1c pop {r4-r7, pc} - thumb_func_start sub_0204A94C -sub_0204A94C: ; 0x0204A94C + thumb_func_start FUN_0204A94C +FUN_0204A94C: ; 0x0204A94C push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0x0] @@ -140863,32 +140863,32 @@ _0204A95C: ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc - bl sub_021EF604 + bl FUN_021EF604 ldr r0, [sp, #0x0] ldr r1, [sp, #0x8] ldr r0, [r0, #0x24] - bl sub_021EF824 + bl FUN_021EF824 add r6, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x28] - bl sub_020344FC + bl FUN_020344FC add r1, r0, #0x0 add r0, r6, #0x0 add r2, sp, #0x10 - bl sub_0204AAD4 + bl FUN_0204AAD4 mov r6, #0x0 _0204A988: ldr r0, [sp, #0xc] add r1, r6, #0x0 - bl sub_021E7ED0 + bl FUN_021E7ED0 ldr r1, [sp, #0x4] add r2, sp, #0x10 add r7, r0, #0x0 - bl sub_0204A87C + bl FUN_0204A87C cmp r0, #0x0 beq _0204A9D2 add r0, r7, #0x0 - bl sub_021E7EC4 + bl FUN_021E7EC4 mov r1, #0x0 cmp r4, #0x0 bls _0204A9D2 @@ -140933,8 +140933,8 @@ _0204A9D2: add sp, #0x1c pop {r4-r7, pc} - thumb_func_start sub_0204A9F0 -sub_0204A9F0: ; 0x0204A9F0 + thumb_func_start FUN_0204A9F0 +FUN_0204A9F0: ; 0x0204A9F0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] @@ -140947,14 +140947,14 @@ _0204A9FE: add r0, r7, #0x0 ldr r1, [r1, #0x24] add r2, sp, #0xc - bl sub_021EF604 + bl FUN_021EF604 mov r4, #0x0 _0204AA0C: ldr r0, [sp, #0xc] add r1, r4, #0x0 - bl sub_021E7ED0 + bl FUN_021E7ED0 add r6, r0, #0x0 - bl sub_021E7EC4 + bl FUN_021E7EC4 cmp r0, r5 bne _0204AA40 ldr r0, [sp, #0x4] @@ -140968,7 +140968,7 @@ _0204AA26: ldr r0, [sp, #0x0] add r1, r7, #0x0 ldr r0, [r0, #0x24] - bl sub_021EF824 + bl FUN_021EF824 ldr r1, [sp, #0x8] str r0, [r1, #0x0] _0204AA3A: @@ -140991,8 +140991,8 @@ _0204AA40: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204AA5C -sub_0204AA5C: ; 0x0204AA5C + thumb_func_start FUN_0204AA5C +FUN_0204AA5C: ; 0x0204AA5C push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] @@ -141006,14 +141006,14 @@ _0204AA6C: ldr r0, [sp, #0x8] ldr r1, [r1, #0x24] add r2, sp, #0xc - bl sub_021EF604 + bl FUN_021EF604 mov r6, #0x0 _0204AA7A: ldr r0, [sp, #0xc] add r1, r6, #0x0 - bl sub_021E7ED0 + bl FUN_021E7ED0 add r7, r0, #0x0 - bl sub_021E7EC4 + bl FUN_021E7EC4 mov r1, #0x0 cmp r4, #0x0 bls _0204AAB6 @@ -141058,8 +141058,8 @@ _0204AAB6: add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0204AAD4 -sub_0204AAD4: ; 0x0204AAD4 + thumb_func_start FUN_0204AAD4 +FUN_0204AAD4: ; 0x0204AAD4 push {r4-r6, lr} add r4, r2, #0x0 mov r2, #0x1 @@ -141068,7 +141068,7 @@ sub_0204AAD4: ; 0x0204AAD4 add r5, r0, #0x0 add r6, r1, #0x0 str r2, [r4, #0x8] - blx sub_020EBC80 + blx FUN_020EBC80 lsl r1, r1, #0x10 lsr r1, r1, #0x10 ldr r0, [r4, #0x0] @@ -141077,7 +141077,7 @@ sub_0204AAD4: ; 0x0204AAD4 str r0, [r4, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r0, r0, #0x10 ldr r1, [r4, #0x8] @@ -141087,54 +141087,54 @@ sub_0204AAD4: ; 0x0204AAD4 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204AB0C -sub_0204AB0C: ; 0x0204AB0C + thumb_func_start FUN_0204AB0C +FUN_0204AB0C: ; 0x0204AB0C push {r3, lr} - bl sub_0200541C - bl sub_02004810 + bl FUN_0200541C + bl FUN_02004810 mov r0, #0x0 - bl sub_0200415C + bl FUN_0200415C pop {r3, pc} .balign 4 - thumb_func_start sub_0204AB20 -sub_0204AB20: ; 0x0204AB20 + thumb_func_start FUN_0204AB20 +FUN_0204AB20: ; 0x0204AB20 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_02034E30 - bl sub_02034DE8 + bl FUN_02034E30 + bl FUN_02034DE8 strh r4, [r0, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_0204AB34 -sub_0204AB34: ; 0x0204AB34 + thumb_func_start FUN_0204AB34 +FUN_0204AB34: ; 0x0204AB34 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DE8 + bl FUN_02034E30 + bl FUN_02034DE8 ldrh r0, [r0, #0x0] pop {r3, pc} - thumb_func_start sub_0204AB44 -sub_0204AB44: ; 0x0204AB44 + thumb_func_start FUN_0204AB44 +FUN_0204AB44: ; 0x0204AB44 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DE8 + bl FUN_02034E30 + bl FUN_02034DE8 mov r1, #0x0 strh r1, [r0, #0x0] pop {r3, pc} .balign 4 - thumb_func_start sub_0204AB58 -sub_0204AB58: ; 0x0204AB58 + thumb_func_start FUN_0204AB58 +FUN_0204AB58: ; 0x0204AB58 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 bne _0204AB6C ldr r0, _0204ABA0 ; =0x0000047F @@ -141143,7 +141143,7 @@ _0204AB6C: add r0, r5, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] - bl sub_0205E128 + bl FUN_0205E128 cmp r0, #0x1 bne _0204AB7E ldr r0, _0204ABA4 ; =0x0000047E @@ -141151,14 +141151,14 @@ _0204AB6C: _0204AB7E: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204ABA8 + bl FUN_0204ABA8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204AB34 + bl FUN_0204AB34 cmp r0, #0x0 beq _0204AB9A add r0, r5, #0x0 - bl sub_0204AB34 + bl FUN_0204AB34 add r4, r0, #0x0 _0204AB9A: add r0, r4, #0x0 @@ -141167,26 +141167,26 @@ _0204AB9A: _0204ABA0: .word 0x0000047F _0204ABA4: .word 0x0000047E - thumb_func_start sub_0204ABA8 -sub_0204ABA8: ; 0x0204ABA8 + thumb_func_start FUN_0204ABA8 +FUN_0204ABA8: ; 0x0204ABA8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0204ABBE add r0, r4, #0x0 - bl sub_020347B0 + bl FUN_020347B0 b _0204ABC4 _0204ABBE: add r0, r4, #0x0 - bl sub_020347C4 + bl FUN_020347C4 _0204ABC4: add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC add r1, r4, #0x0 - bl sub_0205EF20 + bl FUN_0205EF20 cmp r0, #0x0 beq _0204ABD8 add r6, r0, #0x0 @@ -141194,17 +141194,17 @@ _0204ABD8: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0204ABDC -sub_0204ABDC: ; 0x0204ABDC + thumb_func_start FUN_0204ABDC +FUN_0204ABDC: ; 0x0204ABDC push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 ldr r0, [r5, #0x38] add r4, r1, #0x0 add r7, r2, #0x0 - bl sub_020553C4 + bl FUN_020553C4 add r6, r0, #0x0 - bl sub_02004104 + bl FUN_02004104 cmp r0, #0x1 bne _0204ABFC add sp, #0x14 @@ -141212,19 +141212,19 @@ sub_0204ABDC: ; 0x0204ABDC pop {r4-r7, pc} _0204ABFC: add r0, r5, #0x0 - bl sub_02004124 + bl FUN_02004124 cmp r4, r0 bne _0204AC0C add sp, #0x14 mov r0, #0x0 pop {r4-r7, pc} _0204AC0C: - bl sub_02004810 + bl FUN_02004810 add r0, r5, #0x0 add r1, r7, #0x0 add r2, sp, #0x10 add r3, sp, #0xc - bl sub_0204ACCC + bl FUN_0204ACCC cmp r6, #0x1 beq _0204AC22 bne _0204AC3A @@ -141238,7 +141238,7 @@ _0204AC22: ldr r3, [sp, #0xc] mov r0, #0x4 add r1, r4, #0x0 - bl sub_02004E08 + bl FUN_02004E08 b _0204AC4C _0204AC3A: mov r0, #0x0 @@ -141248,21 +141248,21 @@ _0204AC3A: ldr r3, [sp, #0xc] mov r0, #0x4 add r1, r4, #0x0 - bl sub_02004DCC + bl FUN_02004DCC _0204AC4C: mov r0, #0x1 add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0204AC54 -sub_0204AC54: ; 0x0204AC54 + thumb_func_start FUN_0204AC54 +FUN_0204AC54: ; 0x0204AC54 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02004104 + bl FUN_02004104 cmp r0, #0x1 bne _0204AC6C add sp, #0x10 @@ -141270,19 +141270,19 @@ sub_0204AC54: ; 0x0204AC54 pop {r4-r6, pc} _0204AC6C: add r0, r5, #0x0 - bl sub_02004124 + bl FUN_02004124 cmp r4, r0 bne _0204AC7C add sp, #0x10 mov r0, #0x0 pop {r4-r6, pc} _0204AC7C: - bl sub_02004810 + bl FUN_02004810 add r0, r5, #0x0 add r1, r6, #0x0 add r2, sp, #0xc add r3, sp, #0x8 - bl sub_0204ACCC + bl FUN_0204ACCC mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x0 @@ -141291,31 +141291,31 @@ _0204AC7C: ldr r3, [sp, #0x8] mov r0, #0x4 add r1, r4, #0x0 - bl sub_02004DCC + bl FUN_02004DCC mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204ACA8 -sub_0204ACA8: ; 0x0204ACA8 + thumb_func_start FUN_0204ACA8 +FUN_0204ACA8: ; 0x0204ACA8 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 - bl sub_0204AB58 + bl FUN_0204AB58 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_0204AD44 - bl sub_0200414C + bl FUN_0204AD44 + bl FUN_0200414C add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_0204AC54 + bl FUN_0204AC54 pop {r3-r7, pc} - thumb_func_start sub_0204ACCC -sub_0204ACCC: ; 0x0204ACCC + thumb_func_start FUN_0204ACCC +FUN_0204ACCC: ; 0x0204ACCC cmp r1, #0x3 bhi _0204AD0A add r0, r1, r1 @@ -141340,11 +141340,11 @@ _0204ACEE: _0204AD0A: bx lr - thumb_func_start sub_0204AD0C -sub_0204AD0C: ; 0x0204AD0C + thumb_func_start FUN_0204AD0C +FUN_0204AD0C: ; 0x0204AD0C push {r3-r5, lr} mov r1, #0x1 - bl sub_0206AC74 + bl FUN_0206AC74 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, _0204AD38 ; =0x0000044D @@ -141370,85 +141370,85 @@ _0204AD38: .word 0x0000044D _0204AD3C: .word 0x020F4718 _0204AD40: .word 0x020F471A - thumb_func_start sub_0204AD44 -sub_0204AD44: ; 0x0204AD44 + thumb_func_start FUN_0204AD44 +FUN_0204AD44: ; 0x0204AD44 push {r4, lr} add r4, r0, #0x0 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0204AD58 add r0, r4, #0x0 - bl sub_020347B0 + bl FUN_020347B0 pop {r4, pc} _0204AD58: add r0, r4, #0x0 - bl sub_020347C4 + bl FUN_020347C4 pop {r4, pc} - thumb_func_start sub_0204AD60 -sub_0204AD60: ; 0x0204AD60 + thumb_func_start FUN_0204AD60 +FUN_0204AD60: ; 0x0204AD60 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_02004104 + bl FUN_02004104 cmp r0, #0x1 beq _0204AD88 - bl sub_02004124 + bl FUN_02004124 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0204ABA8 + bl FUN_0204ABA8 cmp r4, r0 beq _0204AD88 mov r0, #0x0 mov r1, #0x28 - bl sub_020053CC + bl FUN_020053CC _0204AD88: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204AD8C -sub_0204AD8C: ; 0x0204AD8C + thumb_func_start FUN_0204AD8C +FUN_0204AD8C: ; 0x0204AD8C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02004104 + bl FUN_02004104 cmp r0, #0x1 beq _0204ADB8 mov r0, #0x0 - bl sub_0200415C + bl FUN_0200415C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204ABA8 + bl FUN_0204ABA8 add r4, r0, #0x0 - bl sub_0200414C + bl FUN_0200414C mov r0, #0x4 add r1, r4, #0x0 mov r2, #0x1 - bl sub_0200433C + bl FUN_0200433C _0204ADB8: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204ADBC -sub_0204ADBC: ; 0x0204ADBC + thumb_func_start FUN_0204ADBC +FUN_0204ADBC: ; 0x0204ADBC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0204AB58 + bl FUN_0204AB58 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204ABA8 - bl sub_0200414C + bl FUN_0204ABA8 + bl FUN_0200414C mov r0, #0x4 add r1, r6, #0x0 mov r2, #0x1 - bl sub_0200433C + bl FUN_0200433C pop {r4-r6, pc} - thumb_func_start sub_0204ADE0 -sub_0204ADE0: ; 0x0204ADE0 + thumb_func_start FUN_0204ADE0 +FUN_0204ADE0: ; 0x0204ADE0 mov r3, #0x0 add r2, r3, #0x0 _0204ADE4: @@ -141469,8 +141469,8 @@ _0204ADE4: bx lr .balign 4 - thumb_func_start sub_0204AE04 -sub_0204AE04: ; 0x0204AE04 + thumb_func_start FUN_0204AE04 +FUN_0204AE04: ; 0x0204AE04 push {r4, lr} add r4, r0, #0x0 asr r0, r1, #0x4 @@ -141511,14 +141511,14 @@ _0204AE28: ldr r0, [r4, #0x0] mov r1, #0x6 add r0, r0, #0x1 - blx sub_020EBC80 + blx FUN_020EBC80 str r1, [r4, #0x0] _0204AE58: pop {r4, pc} .balign 4 - thumb_func_start sub_0204AE5C -sub_0204AE5C: ; 0x0204AE5C + thumb_func_start FUN_0204AE5C +FUN_0204AE5C: ; 0x0204AE5C push {r4, lr} add r4, r0, #0x0 lsl r0, r1, #0x18 @@ -141554,19 +141554,19 @@ _0204AE74: ldr r0, [r4, #0x0] mov r1, #0x6 add r0, r0, #0x1 - blx sub_020EBC80 + blx FUN_020EBC80 str r1, [r4, #0x0] _0204AEA6: pop {r4, pc} - thumb_func_start sub_0204AEA8 -sub_0204AEA8: ; 0x0204AEA8 + thumb_func_start FUN_0204AEA8 +FUN_0204AEA8: ; 0x0204AEA8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x0 @@ -141578,13 +141578,13 @@ _0204AEC6: ldr r0, [r4, #0x8] add r1, r5, #0x0 add r2, r4, #0x4 - bl sub_021E3444 + bl FUN_021E3444 ldr r1, [r4, #0xc] mov r0, #0x5 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x1 - bl sub_0200433C + bl FUN_0200433C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -141593,40 +141593,40 @@ _0204AEE6: ldr r1, [r4, #0x4] cmp r1, #0x1 bne _0204AEF4 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0204AEF4: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0204AEF8 -sub_0204AEF8: ; 0x0204AEF8 + thumb_func_start FUN_0204AEF8 +FUN_0204AEF8: ; 0x0204AEF8 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x10 add r4, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r0, [r2, #0x4] str r5, [r2, #0x8] - ldr r1, _0204AF20 ; =sub_0204AEA8 + ldr r1, _0204AF20 ; =FUN_0204AEA8 add r0, r6, #0x0 str r4, [r2, #0xc] - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop -_0204AF20: .word sub_0204AEA8 + 1 +_0204AF20: .word FUN_0204AEA8 + 1 - thumb_func_start sub_0204AF24 -sub_0204AF24: ; 0x0204AF24 + thumb_func_start FUN_0204AF24 +FUN_0204AF24: ; 0x0204AF24 push {r3, lr} - bl sub_02046528 - bl sub_0203739C + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 bne _0204AF36 mov r0, #0x1 @@ -141636,33 +141636,33 @@ _0204AF36: pop {r3, pc} .balign 4 - thumb_func_start sub_0204AF3C -sub_0204AF3C: ; 0x0204AF3C + thumb_func_start FUN_0204AF3C +FUN_0204AF3C: ; 0x0204AF3C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 bne _0204AF54 - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} _0204AF54: add r0, r4, #0x0 - bl sub_02037394 - ldr r1, _0204AF68 ; =sub_0204AF24 + bl FUN_02037394 + ldr r1, _0204AF68 ; =FUN_0204AF24 add r0, r5, #0x0 mov r2, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_0204AF68: .word sub_0204AF24 + 1 +_0204AF68: .word FUN_0204AF24 + 1 - thumb_func_start sub_0204AF6C -sub_0204AF6C: ; 0x0204AF6C + thumb_func_start FUN_0204AF6C +FUN_0204AF6C: ; 0x0204AF6C push {r3, lr} - bl sub_02046528 - bl sub_020464A4 + bl FUN_02046528 + bl FUN_020464A4 cmp r0, #0x0 beq _0204AF7E mov r0, #0x1 @@ -141672,32 +141672,32 @@ _0204AF7E: pop {r3, pc} .balign 4 - thumb_func_start sub_0204AF84 -sub_0204AF84: ; 0x0204AF84 + thumb_func_start FUN_0204AF84 +FUN_0204AF84: ; 0x0204AF84 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 - bl sub_0203739C + bl FUN_0203739C cmp r0, #0x0 beq _0204AF9C - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} _0204AF9C: add r0, r4, #0x0 - bl sub_0204649C - ldr r1, _0204AFB0 ; =sub_0204AF6C + bl FUN_0204649C + ldr r1, _0204AFB0 ; =FUN_0204AF6C add r0, r5, #0x0 mov r2, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_0204AFB0: .word sub_0204AF6C + 1 +_0204AFB0: .word FUN_0204AF6C + 1 - thumb_func_start sub_0204AFB4 -sub_0204AFB4: ; 0x0204AFB4 + thumb_func_start FUN_0204AFB4 +FUN_0204AFB4: ; 0x0204AFB4 push {r3, lr} - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x0 beq _0204AFC2 mov r0, #0x1 @@ -141707,16 +141707,16 @@ _0204AFC2: pop {r3, pc} .balign 4 - thumb_func_start sub_0204AFC8 -sub_0204AFC8: ; 0x0204AFC8 + thumb_func_start FUN_0204AFC8 +FUN_0204AFC8: ; 0x0204AFC8 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02046528 - bl sub_0203739C + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 bne _0204AFE2 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r3-r4, pc} _0204AFE2: @@ -141730,26 +141730,26 @@ _0204AFE2: add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 - ldr r1, _0204B008 ; =sub_0204AFB4 + bl FUN_0200E1D0 + ldr r1, _0204B008 ; =FUN_0204AFB4 add r0, r4, #0x0 mov r2, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0xc pop {r3-r4, pc} .balign 4 -_0204B008: .word sub_0204AFB4 + 1 +_0204B008: .word FUN_0204AFB4 + 1 - thumb_func_start sub_0204B00C -sub_0204B00C: ; 0x0204B00C + thumb_func_start FUN_0204B00C +FUN_0204B00C: ; 0x0204B00C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02046528 - bl sub_0203739C + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 bne _0204B026 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r3-r4, pc} _0204B026: @@ -141762,21 +141762,21 @@ _0204B026: mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 - ldr r1, _0204B04C ; =sub_0204AFB4 + bl FUN_0200E1D0 + ldr r1, _0204B04C ; =FUN_0204AFB4 add r0, r4, #0x0 mov r2, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0xc pop {r3-r4, pc} nop -_0204B04C: .word sub_0204AFB4 + 1 +_0204B04C: .word FUN_0204AFB4 + 1 - thumb_func_start sub_0204B050 -sub_0204B050: ; 0x0204B050 + thumb_func_start FUN_0204B050 +FUN_0204B050: ; 0x0204B050 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -141788,14 +141788,14 @@ sub_0204B050: ; 0x0204B050 b _0204B08A _0204B06A: add r0, r5, #0x0 - bl sub_0204AFC8 + bl FUN_0204AFC8 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B08A _0204B078: add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -141808,24 +141808,24 @@ _0204B08A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B090 -sub_0204B090: ; 0x0204B090 - ldr r3, _0204B098 ; =sub_0204640C - ldr r1, _0204B09C ; =sub_0204B050 + thumb_func_start FUN_0204B090 +FUN_0204B090: ; 0x0204B090 + ldr r3, _0204B098 ; =FUN_0204640C + ldr r1, _0204B09C ; =FUN_0204B050 mov r2, #0x0 bx r3 .balign 4 -_0204B098: .word sub_0204640C + 1 -_0204B09C: .word sub_0204B050 + 1 +_0204B098: .word FUN_0204640C + 1 +_0204B09C: .word FUN_0204B050 + 1 - thumb_func_start sub_0204B0A0 -sub_0204B0A0: ; 0x0204B0A0 + thumb_func_start FUN_0204B0A0 +FUN_0204B0A0: ; 0x0204B0A0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046530 + bl FUN_02046530 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _0204B0C0 @@ -141836,15 +141836,15 @@ sub_0204B0A0: ; 0x0204B0A0 b _0204B0E4 _0204B0C0: add r0, r5, #0x0 - bl sub_0204AF84 + bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204B0E4 _0204B0CE: - bl sub_021E331C + bl FUN_021E331C add r0, r5, #0x0 - bl sub_0204B00C + bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -141856,51 +141856,51 @@ _0204B0E4: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0204B0E8 -sub_0204B0E8: ; 0x0204B0E8 - ldr r3, _0204B0F0 ; =sub_0204640C - ldr r1, _0204B0F4 ; =sub_0204B0A0 + thumb_func_start FUN_0204B0E8 +FUN_0204B0E8: ; 0x0204B0E8 + ldr r3, _0204B0F0 ; =FUN_0204640C + ldr r1, _0204B0F4 ; =FUN_0204B0A0 mov r2, #0x0 bx r3 .balign 4 -_0204B0F0: .word sub_0204640C + 1 -_0204B0F4: .word sub_0204B0A0 + 1 +_0204B0F0: .word FUN_0204640C + 1 +_0204B0F4: .word FUN_0204B0A0 + 1 - thumb_func_start sub_0204B0F8 -sub_0204B0F8: ; 0x0204B0F8 + thumb_func_start FUN_0204B0F8 +FUN_0204B0F8: ; 0x0204B0F8 push {r4-r5, lr} sub sp, #0x1c add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02023794 + bl FUN_02023794 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _0204B12A add r0, sp, #0xc add r1, sp, #0x0 - bl sub_0201265C + bl FUN_0201265C add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0xc - bl sub_0204B130 + bl FUN_0204B130 add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0xc add r3, sp, #0x0 - bl sub_0204B158 + bl FUN_0204B158 _0204B12A: add sp, #0x1c pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0204B130 -sub_0204B130: ; 0x0204B130 + thumb_func_start FUN_0204B130 +FUN_0204B130: ; 0x0204B130 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r2, #0x0 - blx sub_020D660C + blx FUN_020D660C ldr r1, [r5, #0x20] add r4, r0, #0x0 cmp r4, r1 @@ -141912,13 +141912,13 @@ _0204B148: bls _0204B156 add r0, r6, #0x0 sub r1, r4, r1 - bl sub_0204B1DC + bl FUN_0204B1DC str r4, [r5, #0x20] _0204B156: pop {r4-r6, pc} - thumb_func_start sub_0204B158 -sub_0204B158: ; 0x0204B158 + thumb_func_start FUN_0204B158 +FUN_0204B158: ; 0x0204B158 push {r4-r7, lr} sub sp, #0xc add r4, r2, #0x0 @@ -141927,13 +141927,13 @@ sub_0204B158: ; 0x0204B158 add r5, r1, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 - blx sub_020D6578 + blx FUN_020D6578 str r1, [sp, #0x8] add r1, r5, #0x0 add r7, r0, #0x0 add r0, r5, #0x4 add r1, #0x14 - blx sub_020D6578 + blx FUN_020D6578 add r2, r1, #0x0 sub r1, r7, r0 ldr r1, [sp, #0x8] @@ -141958,17 +141958,17 @@ _0204B19C: mov r2, #0x3c mov r3, #0x0 str r1, [sp, #0x8] - blx sub_020EBA38 + blx FUN_020EBA38 add r7, r0, #0x0 cmp r7, #0x0 ble _0204B1D8 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02023884 + bl FUN_02023884 ldr r0, [sp, #0x0] add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_0204B270 + bl FUN_0204B270 add r2, r5, #0x4 ldmia r4!, {r0-r1} stmia r2!, {r0-r1} @@ -141983,40 +141983,40 @@ _0204B1D8: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0204B1DC -sub_0204B1DC: ; 0x0204B1DC + thumb_func_start FUN_0204B1DC +FUN_0204B1DC: ; 0x0204B1DC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 - bl sub_020377AC + bl FUN_020377AC add r1, r4, #0x0 - bl sub_02025A60 + bl FUN_02025A60 add r0, r5, #0x0 - bl sub_0203959C + bl FUN_0203959C ldr r0, [r5, #0xc] add r1, r4, #0x0 - bl sub_02060344 + bl FUN_02060344 ldr r0, [r5, #0xc] - bl sub_0202881C + bl FUN_0202881C add r1, r4, #0x0 - bl sub_02028754 + bl FUN_02028754 ldr r0, [r5, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 add r6, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0202881C - bl sub_020287A4 + bl FUN_0202881C + bl FUN_020287A4 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_0202A988 + bl FUN_0202A988 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_02069D50 + bl FUN_02069D50 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC add r6, r0, #0x0 - bl sub_0205F594 + bl FUN_0205F594 cmp r0, r4 ble _0204B244 sub r0, r0, r4 @@ -142027,145 +142027,145 @@ _0204B244: mov r1, #0x0 _0204B246: add r0, r6, #0x0 - bl sub_0205F5A4 + bl FUN_0205F5A4 lsl r1, r4, #0x10 ldr r0, [r5, #0xc] lsr r1, r1, #0x10 - bl sub_0205F618 + bl FUN_0205F618 ldr r0, [r5, #0xc] - bl sub_0205F668 + bl FUN_0205F668 ldr r0, [r5, #0xc] - bl sub_0206007C + bl FUN_0206007C ldr r0, [r5, #0xc] - bl sub_02029AFC - bl sub_02029C08 + bl FUN_02029AFC + bl FUN_02029C08 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204B270 -sub_0204B270: ; 0x0204B270 + thumb_func_start FUN_0204B270 +FUN_0204B270: ; 0x0204B270 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0204B3D0 + bl FUN_0204B3D0 ldr r0, [r5, #0xc] add r1, r4, #0x0 - bl sub_0202A9D0 + bl FUN_0202A9D0 add r0, r5, #0x0 - bl sub_0204B33C + bl FUN_0204B33C add r2, r0, #0x0 ldr r0, [r5, #0xc] add r1, r4, #0x0 - bl sub_02025B60 + bl FUN_02025B60 ldr r0, [r5, #0xc] - bl sub_02022504 + bl FUN_02022504 ldr r2, [r6, #0x4] add r1, r4, #0x0 - bl sub_0202B3C4 + bl FUN_0202B3C4 pop {r4-r6, pc} - thumb_func_start sub_0204B2A4 -sub_0204B2A4: ; 0x0204B2A4 + thumb_func_start FUN_0204B2A4 +FUN_0204B2A4: ; 0x0204B2A4 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0x14] - bl sub_020127A8 + bl FUN_020127A8 pop {r3, pc} - thumb_func_start sub_0204B2B4 -sub_0204B2B4: ; 0x0204B2B4 + thumb_func_start FUN_0204B2B4 +FUN_0204B2B4: ; 0x0204B2B4 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0x8] pop {r3, pc} - thumb_func_start sub_0204B2C0 -sub_0204B2C0: ; 0x0204B2C0 + thumb_func_start FUN_0204B2C0 +FUN_0204B2C0: ; 0x0204B2C0 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0xc] pop {r3, pc} - thumb_func_start sub_0204B2CC -sub_0204B2CC: ; 0x0204B2CC + thumb_func_start FUN_0204B2CC +FUN_0204B2CC: ; 0x0204B2CC push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0x10] pop {r3, pc} - thumb_func_start sub_0204B2D8 -sub_0204B2D8: ; 0x0204B2D8 + thumb_func_start FUN_0204B2D8 +FUN_0204B2D8: ; 0x0204B2D8 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0x14] pop {r3, pc} - thumb_func_start sub_0204B2E4 -sub_0204B2E4: ; 0x0204B2E4 + thumb_func_start FUN_0204B2E4 +FUN_0204B2E4: ; 0x0204B2E4 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 ldr r0, [r0, #0x18] pop {r3, pc} - thumb_func_start sub_0204B2F0 -sub_0204B2F0: ; 0x0204B2F0 + thumb_func_start FUN_0204B2F0 +FUN_0204B2F0: ; 0x0204B2F0 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02023794 + bl FUN_02023794 add r3, r0, #0x0 ldr r2, [r3, #0x24] ldr r3, [r3, #0x28] add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020D6320 + blx FUN_020D6320 pop {r3-r5, pc} - thumb_func_start sub_0204B30C -sub_0204B30C: ; 0x0204B30C + thumb_func_start FUN_0204B30C +FUN_0204B30C: ; 0x0204B30C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02023794 + bl FUN_02023794 add r3, r0, #0x0 ldr r2, [r3, #0x2c] ldr r3, [r3, #0x30] add r0, r5, #0x0 add r1, r4, #0x0 - blx sub_020D6320 + blx FUN_020D6320 pop {r3-r5, pc} - thumb_func_start sub_0204B328 -sub_0204B328: ; 0x0204B328 + thumb_func_start FUN_0204B328 +FUN_0204B328: ; 0x0204B328 push {r4, lr} ldr r0, [r0, #0xc] - bl sub_02023794 + bl FUN_02023794 add r4, r0, #0x0 - bl sub_020126FC + bl FUN_020126FC str r0, [r4, #0x2c] str r1, [r4, #0x30] pop {r4, pc} - thumb_func_start sub_0204B33C -sub_0204B33C: ; 0x0204B33C + thumb_func_start FUN_0204B33C +FUN_0204B33C: ; 0x0204B33C push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02023794 - bl sub_02023874 + bl FUN_02023794 + bl FUN_02023874 pop {r3, pc} .balign 4 - thumb_func_start sub_0204B34C -sub_0204B34C: ; 0x0204B34C + thumb_func_start FUN_0204B34C +FUN_0204B34C: ; 0x0204B34C cmp r0, #0x0 bne _0204B354 mov r0, #0x0 @@ -142176,8 +142176,8 @@ _0204B354: lsr r0, r0, #0x10 bx lr - thumb_func_start sub_0204B35C -sub_0204B35C: ; 0x0204B35C + thumb_func_start FUN_0204B35C +FUN_0204B35C: ; 0x0204B35C cmp r0, #0x0 bne _0204B364 mov r0, #0x0 @@ -142188,8 +142188,8 @@ _0204B364: lsr r0, r0, #0x10 bx lr - thumb_func_start sub_0204B36C -sub_0204B36C: ; 0x0204B36C + thumb_func_start FUN_0204B36C +FUN_0204B36C: ; 0x0204B36C cmp r0, #0x0 bne _0204B374 mov r0, #0x0 @@ -142200,8 +142200,8 @@ _0204B374: lsr r0, r0, #0x10 bx lr - thumb_func_start sub_0204B37C -sub_0204B37C: ; 0x0204B37C + thumb_func_start FUN_0204B37C +FUN_0204B37C: ; 0x0204B37C cmp r0, #0x0 bne _0204B384 mov r0, #0x0 @@ -142210,43 +142210,43 @@ _0204B384: sub r0, #0x5e bx lr - thumb_func_start sub_0204B388 -sub_0204B388: ; 0x0204B388 + thumb_func_start FUN_0204B388 +FUN_0204B388: ; 0x0204B388 push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0x64 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x64 - blx sub_020CE34C + blx FUN_020CE34C str r6, [r4, #0x0] add r0, r6, #0x0 - bl sub_02025128 + bl FUN_02025128 str r0, [r4, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204B410 + bl FUN_0204B410 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204B3B8 -sub_0204B3B8: ; 0x0204B3B8 + thumb_func_start FUN_0204B3B8 +FUN_0204B3B8: ; 0x0204B3B8 push {r4, lr} add r4, r0, #0x0 - bl sub_0204B444 + bl FUN_0204B444 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0204B3D0 -sub_0204B3D0: ; 0x0204B3D0 + thumb_func_start FUN_0204B3D0 +FUN_0204B3D0: ; 0x0204B3D0 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -142254,62 +142254,62 @@ sub_0204B3D0: ; 0x0204B3D0 cmp r0, #0x0 bne _0204B3FA mov r0, #0xb - bl sub_02025128 + bl FUN_02025128 add r5, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_02024ECC + bl FUN_02024ECC add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_020253E0 + bl FUN_020253E0 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4-r6, pc} _0204B3FA: ldr r0, [r0, #0x18] ldr r5, [r0, #0x4] ldr r0, [r4, #0xc] - bl sub_02024ECC + bl FUN_02024ECC add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_020253E0 + bl FUN_020253E0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204B410 -sub_0204B410: ; 0x0204B410 + thumb_func_start FUN_0204B410 +FUN_0204B410: ; 0x0204B410 push {r3-r5, lr} ldr r4, [r0, #0x3c] add r5, r1, #0x0 add r0, r4, #0x0 mov r1, #0x11 - bl sub_021E4C54 + bl FUN_021E4C54 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x60] ldr r2, [r5, #0x60] add r0, r4, #0x0 mov r1, #0x11 - bl sub_021E4C60 + bl FUN_021E4C60 add r0, r5, #0x0 add r1, r5, #0x0 add r5, #0x60 add r0, #0x8 add r1, #0x5c add r2, r5, #0x0 - bl sub_0201B234 + bl FUN_0201B234 pop {r3-r5, pc} - thumb_func_start sub_0204B444 -sub_0204B444: ; 0x0204B444 + thumb_func_start FUN_0204B444 +FUN_0204B444: ; 0x0204B444 ldr r3, _0204B44C ; =0x021E4C01 ldr r0, [r0, #0x60] bx r3 nop _0204B44C: .word 0x021E4C01 - thumb_func_start sub_0204B450 -sub_0204B450: ; 0x0204B450 + thumb_func_start FUN_0204B450 +FUN_0204B450: ; 0x0204B450 push {r3-r5, lr} sub sp, #0x30 ldr r3, _0204B48C ; =0x020F4860 @@ -142321,14 +142321,14 @@ sub_0204B450: ; 0x0204B450 ldr r0, [r3, #0x0] str r0, [r2, #0x0] add r0, sp, #0x0 - blx sub_020C3F14 + blx FUN_020C3F14 ldr r0, [r5, #0x4] add r1, r4, #0x0 ldr r0, [r0, #0x18] add r2, sp, #0x0 ldr r0, [r0, #0x5c] add r3, sp, #0x24 - bl sub_0201B6D0 + bl FUN_0201B6D0 cmp r0, #0x0 beq _0204B484 add sp, #0x30 @@ -142341,84 +142341,84 @@ _0204B484: nop _0204B48C: .word 0x020F4860 - thumb_func_start sub_0204B490 -sub_0204B490: ; 0x0204B490 + thumb_func_start FUN_0204B490 +FUN_0204B490: ; 0x0204B490 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] ldr r0, [r5, #0xc] - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 ldr r0, [r5, #0x34] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 bne _0204B4F8 mov r6, #0x0 mov r7, #0x1 _0204B4B6: ldr r0, [sp, #0x0] - bl sub_02058458 - bl sub_0205C334 + bl FUN_02058458 + bl FUN_0205C334 cmp r0, #0x1 bne _0204B4E8 ldr r0, [sp, #0x0] - bl sub_02058B7C + bl FUN_02058B7C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0204B450 + bl FUN_0204B450 cmp r0, #0x0 beq _0204B4E8 ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 add r2, r7, #0x0 - bl sub_020252C4 + bl FUN_020252C4 _0204B4E8: ldr r0, [r5, #0x34] add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 beq _0204B4B6 _0204B4F8: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0204B4FC -sub_0204B4FC: ; 0x0204B4FC + thumb_func_start FUN_0204B4FC +FUN_0204B4FC: ; 0x0204B4FC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 ldr r0, [r5, #0xc] add r7, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_02025244 + bl FUN_02025244 str r0, [sp, #0x4] ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_020252E8 + bl FUN_020252E8 add r6, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_0204B34C + bl FUN_0204B34C str r0, [sp, #0x8] ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_02025268 + bl FUN_02025268 add r2, r0, #0x0 lsl r2, r2, #0x18 lsl r3, r6, #0x10 @@ -142426,196 +142426,196 @@ sub_0204B4FC: ; 0x0204B4FC add r0, r5, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x10 - bl sub_020616A4 + bl FUN_020616A4 ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_020252F4 + bl FUN_020252F4 add r0, r7, #0x0 - bl sub_0205C374 + bl FUN_0205C374 ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 add r4, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_0204B34C + bl FUN_0204B34C lsl r2, r6, #0x10 add r1, r0, #0x0 add r0, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x4 - bl sub_0206ED38 + bl FUN_0206ED38 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0204B57C -sub_0204B57C: ; 0x0204B57C + thumb_func_start FUN_0204B57C +FUN_0204B57C: ; 0x0204B57C push {r4-r6, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 add r5, r2, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204B37C + bl FUN_0204B37C add r2, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020252DC + bl FUN_020252DC pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204B5A8 -sub_0204B5A8: ; 0x0204B5A8 + thumb_func_start FUN_0204B5A8 +FUN_0204B5A8: ; 0x0204B5A8 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204B35C + bl FUN_0204B35C ldr r2, [r4, #0x4] add r3, r0, #0x0 ldr r2, [r2, #0x18] add r0, r7, #0x0 ldr r2, [r2, #0x4] add r1, r5, #0x0 - bl sub_02025274 + bl FUN_02025274 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204B5DC -sub_0204B5DC: ; 0x0204B5DC + thumb_func_start FUN_0204B5DC +FUN_0204B5DC: ; 0x0204B5DC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020252AC + bl FUN_020252AC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B5FC -sub_0204B5FC: ; 0x0204B5FC + thumb_func_start FUN_0204B5FC +FUN_0204B5FC: ; 0x0204B5FC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02025238 + bl FUN_02025238 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B61C -sub_0204B61C: ; 0x0204B61C + thumb_func_start FUN_0204B61C +FUN_0204B61C: ; 0x0204B61C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02025244 + bl FUN_02025244 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B63C -sub_0204B63C: ; 0x0204B63C + thumb_func_start FUN_0204B63C +FUN_0204B63C: ; 0x0204B63C push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02025244 - bl sub_0204B34C + bl FUN_02025244 + bl FUN_0204B34C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B660 -sub_0204B660: ; 0x0204B660 + thumb_func_start FUN_0204B660 +FUN_0204B660: ; 0x0204B660 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020252D0 - bl sub_0204B36C + bl FUN_020252D0 + bl FUN_0204B36C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B684 -sub_0204B684: ; 0x0204B684 + thumb_func_start FUN_0204B684 +FUN_0204B684: ; 0x0204B684 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0202524C + bl FUN_0202524C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B6A4 -sub_0204B6A4: ; 0x0204B6A4 + thumb_func_start FUN_0204B6A4 +FUN_0204B6A4: ; 0x0204B6A4 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020252E8 + bl FUN_020252E8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B6C4 -sub_0204B6C4: ; 0x0204B6C4 + thumb_func_start FUN_0204B6C4 +FUN_0204B6C4: ; 0x0204B6C4 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 ldr r4, _0204B708 ; =0x00000000 beq _0204B6D8 add r0, r5, #0x0 - bl sub_02058458 + bl FUN_02058458 cmp r0, #0x64 beq _0204B6DC _0204B6D8: @@ -142624,14 +142624,14 @@ _0204B6D8: _0204B6DC: add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0204B5FC + bl FUN_0204B5FC cmp r0, #0x0 bne _0204B6FE mov r0, #0x1 orr r4, r0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0204B660 + bl FUN_0204B660 cmp r0, #0x0 bne _0204B702 mov r0, #0x2 @@ -142646,16 +142646,16 @@ _0204B702: nop _0204B708: .word 0x00000000 - thumb_func_start sub_0204B70C -sub_0204B70C: ; 0x0204B70C + thumb_func_start FUN_0204B70C +FUN_0204B70C: ; 0x0204B70C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, [r7, #0x38] add r5, r2, #0x0 - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r7, #0x38] - bl sub_0205532C + bl FUN_0205532C add r4, r0, #0x0 cmp r5, #0x2 bne _0204B72A @@ -142677,12 +142677,12 @@ _0204B73A: add r4, r4, #0x1 b _0204B746 _0204B742: - bl sub_02020C2C + bl FUN_02020C2C _0204B746: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_0204A6B4 + bl FUN_0204A6B4 cmp r0, #0x0 beq _0204B758 mov r0, #0x1 @@ -142691,7 +142691,7 @@ _0204B758: ldr r0, [r7, #0x34] add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02058D74 + bl FUN_02058D74 cmp r0, #0x0 beq _0204B76A mov r0, #0x1 @@ -142701,16 +142701,16 @@ _0204B76A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204B770 -sub_0204B770: ; 0x0204B770 + thumb_func_start FUN_0204B770 +FUN_0204B770: ; 0x0204B770 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r6, r1, #0x0 - bl sub_02055320 + bl FUN_02055320 add r4, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r2, r0, #0x0 cmp r6, #0x2 bne _0204B78E @@ -142724,19 +142724,19 @@ _0204B794: ldr r0, [r5, #0x34] add r1, r4, #0x0 sub r2, r2, #0x1 - bl sub_02058D74 + bl FUN_02058D74 pop {r4-r6, pc} - thumb_func_start sub_0204B7A0 -sub_0204B7A0: ; 0x0204B7A0 + thumb_func_start FUN_0204B7A0 +FUN_0204B7A0: ; 0x0204B7A0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x38] add r6, r1, #0x0 - bl sub_02055320 + bl FUN_02055320 add r7, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r4, r0, #0x0 ldr r0, [r6, #0x4] cmp r0, #0x0 @@ -142749,18 +142749,18 @@ _0204B7C0: add r4, r4, #0x1 b _0204B7CC _0204B7C8: - bl sub_02020C2C + bl FUN_02020C2C _0204B7CC: ldr r0, [r5, #0x34] add r1, r7, #0x0 add r2, r4, #0x0 - bl sub_02058D74 + bl FUN_02058D74 pop {r3-r7, pc} - thumb_func_start sub_0204B7D8 -sub_0204B7D8: ; 0x0204B7D8 + thumb_func_start FUN_0204B7D8 +FUN_0204B7D8: ; 0x0204B7D8 push {r3, lr} - bl sub_02058458 + bl FUN_02058458 cmp r0, #0x64 bne _0204B7E6 mov r0, #0x1 @@ -142770,39 +142770,39 @@ _0204B7E6: pop {r3, pc} .balign 4 - thumb_func_start sub_0204B7EC -sub_0204B7EC: ; 0x0204B7EC + thumb_func_start FUN_0204B7EC +FUN_0204B7EC: ; 0x0204B7EC push {r4, lr} add r4, r0, #0x0 - bl sub_0204B7A0 + bl FUN_0204B7A0 add r1, r0, #0x0 beq _0204B7FE add r0, r4, #0x0 - bl sub_0204B5DC + bl FUN_0204B5DC _0204B7FE: pop {r4, pc} - thumb_func_start sub_0204B800 -sub_0204B800: ; 0x0204B800 + thumb_func_start FUN_0204B800 +FUN_0204B800: ; 0x0204B800 push {r3-r5, lr} ldr r0, [r0, #0x38] add r4, r2, #0x0 add r5, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_0205AEA4 + bl FUN_0205AEA4 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204B818 -sub_0204B818: ; 0x0204B818 + thumb_func_start FUN_0204B818 +FUN_0204B818: ; 0x0204B818 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x4 @@ -142822,12 +142822,12 @@ _0204B832: lsl r2, r6, #0x4 ldr r0, [r5, #0x38] mov r1, #0x10 - bl sub_021E5FD8 + bl FUN_021E5FD8 ldr r0, [r5, #0x38] - bl sub_021E5FE0 + bl FUN_021E5FE0 ldr r0, [r5, #0x38] - bl sub_020553A0 - bl sub_02058914 + bl FUN_020553A0 + bl FUN_02058914 mov r0, #0x1 str r0, [r4, #0x0] b _0204B98E @@ -142856,8 +142856,8 @@ _0204B98E: pop {r3-r5, pc} nop - thumb_func_start sub_0204B994 -sub_0204B994: ; 0x0204B994 + thumb_func_start FUN_0204B994 +FUN_0204B994: ; 0x0204B994 ldr r0, _0204BC78 ; =0x28063108 lsl r4, r3, #0x8 ldr r0, _0204BADC ; =0x0204BE11 @@ -142868,51 +142868,51 @@ sub_0204B994: ; 0x0204B994 add r5, r0, #0x0 mov r0, #0x20 mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0xc] ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 str r0, [r4, #0x4] ldr r0, [r5, #0x10] - ldr r1, _0204B9C8 ; =sub_0204B818 + ldr r1, _0204B9C8 ; =FUN_0204B818 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} .balign 4 -_0204B9C8: .word sub_0204B818 + 1 +_0204B9C8: .word FUN_0204B818 + 1 - thumb_func_start sub_0204B9CC -sub_0204B9CC: ; 0x0204B9CC + thumb_func_start FUN_0204B9CC +FUN_0204B9CC: ; 0x0204B9CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_020553C4 - bl sub_02055648 + bl FUN_020553C4 + bl FUN_02055648 add r1, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_021E5FD8 + bl FUN_021E5FD8 ldr r0, [r4, #0x38] - bl sub_021E5FE0 + bl FUN_021E5FE0 pop {r4, pc} .balign 4 - thumb_func_start sub_0204B9EC -sub_0204B9EC: ; 0x0204B9EC + thumb_func_start FUN_0204B9EC +FUN_0204B9EC: ; 0x0204B9EC push {r4, lr} ldr r1, _0204BA14 ; =0x021C5A1C add r4, r0, #0x0 mov r0, #0x0 mov r2, #0x4c - blx sub_020CE240 + blx FUN_020CE240 ldr r1, _0204BA14 ; =0x021C5A1C add r0, r4, #0x0 - bl sub_0204BB20 + bl FUN_0204BB20 ldr r0, _0204BA14 ; =0x021C5A1C - bl sub_0204BBC4 - bl sub_020126FC + bl FUN_0204BBC4 + bl FUN_020126FC ldr r2, _0204BA18 ; =0x021C5A1C str r0, [r2, #0x40] str r1, [r2, #0x44] @@ -142921,20 +142921,20 @@ sub_0204B9EC: ; 0x0204B9EC _0204BA14: .word 0x021C5A1C _0204BA18: .word 0x021C5A1C - thumb_func_start sub_0204BA1C -sub_0204BA1C: ; 0x0204BA1C + thumb_func_start FUN_0204BA1C +FUN_0204BA1C: ; 0x0204BA1C push {r3-r5, lr} ldr r0, [r0, #0xc] ldr r4, _0204BA60 ; =0x021C5A1C - bl sub_02029FC8 + bl FUN_02029FC8 add r5, r0, #0x0 - bl sub_020126FC + bl FUN_020126FC add r3, r1, #0x0 ldr r1, _0204BA64 ; =0x021C5A1C add r2, r0, #0x0 ldr r0, [r1, #0x40] ldr r1, [r1, #0x44] - bl sub_020127C0 + bl FUN_020127C0 mov r2, #0xfa mov r3, #0x0 lsl r2, r2, #0x2 @@ -142952,27 +142952,27 @@ _0204BA52: str r0, [r4, #0x48] add r0, r5, #0x0 mov r1, #0x11 - bl sub_0202A170 + bl FUN_0202A170 pop {r3-r5, pc} nop _0204BA60: .word 0x021C5A1C _0204BA64: .word 0x021C5A1C - thumb_func_start sub_0204BA68 -sub_0204BA68: ; 0x0204BA68 + thumb_func_start FUN_0204BA68 +FUN_0204BA68: ; 0x0204BA68 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204BA8C ; =0x021C5A1C add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0204BBE8 + bl FUN_0204BBE8 cmp r0, #0x1 bne _0204BA88 ldr r1, _0204BA8C ; =0x021C5A1C add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_0204BC48 + bl FUN_0204BC48 pop {r4-r6, pc} _0204BA88: mov r0, #0x0 @@ -142980,37 +142980,37 @@ _0204BA88: .balign 4 _0204BA8C: .word 0x021C5A1C - thumb_func_start sub_0204BA90 -sub_0204BA90: ; 0x0204BA90 - ldr r3, _0204BA98 ; =sub_0204BD40 + thumb_func_start FUN_0204BA90 +FUN_0204BA90: ; 0x0204BA90 + ldr r3, _0204BA98 ; =FUN_0204BD40 ldr r1, _0204BA9C ; =0x021C5A1C bx r3 nop -_0204BA98: .word sub_0204BD40 + 1 +_0204BA98: .word FUN_0204BD40 + 1 _0204BA9C: .word 0x021C5A1C - thumb_func_start sub_0204BAA0 -sub_0204BAA0: ; 0x0204BAA0 - ldr r3, _0204BAA8 ; =sub_0204BD18 + thumb_func_start FUN_0204BAA0 +FUN_0204BAA0: ; 0x0204BAA0 + ldr r3, _0204BAA8 ; =FUN_0204BD18 ldr r2, _0204BAAC ; =0x021C5A1C bx r3 nop -_0204BAA8: .word sub_0204BD18 + 1 +_0204BAA8: .word FUN_0204BD18 + 1 _0204BAAC: .word 0x021C5A1C - thumb_func_start sub_0204BAB0 -sub_0204BAB0: ; 0x0204BAB0 + thumb_func_start FUN_0204BAB0 +FUN_0204BAB0: ; 0x0204BAB0 push {r3, lr} ldr r0, _0204BAC0 ; =0x021C5A1C - bl sub_0204BBA8 + bl FUN_0204BBA8 mov r1, #0x6 sub r0, r1, r0 pop {r3, pc} nop _0204BAC0: .word 0x021C5A1C - thumb_func_start sub_0204BAC4 -sub_0204BAC4: ; 0x0204BAC4 + thumb_func_start FUN_0204BAC4 +FUN_0204BAC4: ; 0x0204BAC4 ldr r3, _0204BACC ; =0x0204BD8D ldr r0, _0204BAD0 ; =0x021C5A1C bx r3 @@ -143018,8 +143018,8 @@ sub_0204BAC4: ; 0x0204BAC4 _0204BACC: .word 0x0204BD8D _0204BAD0: .word 0x021C5A1C - thumb_func_start sub_0204BAD4 -sub_0204BAD4: ; 0x0204BAD4 + thumb_func_start FUN_0204BAD4 +FUN_0204BAD4: ; 0x0204BAD4 ldr r3, _0204BADC ; =0x0204BE11 ldr r0, _0204BAE0 ; =0x021C5A1C bx r3 @@ -143027,17 +143027,17 @@ sub_0204BAD4: ; 0x0204BAD4 _0204BADC: .word 0x0204BE11 _0204BAE0: .word 0x021C5A1C - thumb_func_start sub_0204BAE4 -sub_0204BAE4: ; 0x0204BAE4 - ldr r3, _0204BAEC ; =sub_0204BDA0 + thumb_func_start FUN_0204BAE4 +FUN_0204BAE4: ; 0x0204BAE4 + ldr r3, _0204BAEC ; =FUN_0204BDA0 ldr r0, _0204BAF0 ; =0x021C5A1C bx r3 nop -_0204BAEC: .word sub_0204BDA0 + 1 +_0204BAEC: .word FUN_0204BDA0 + 1 _0204BAF0: .word 0x021C5A1C - thumb_func_start sub_0204BAF4 -sub_0204BAF4: ; 0x0204BAF4 + thumb_func_start FUN_0204BAF4 +FUN_0204BAF4: ; 0x0204BAF4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -143047,7 +143047,7 @@ sub_0204BAF4: ; 0x0204BAF4 .balign 4 _0204BB00: .word 0xD9014285 _0204BB04: - bl sub_02020C2C + bl FUN_02020C2C _0204BB08: mov r3, #0x6 add r0, r4, #0x0 @@ -143056,21 +143056,21 @@ _0204BB08: mov r1, #0x83 mov r2, #0x0 mul r3, r4 - bl sub_02006548 + bl FUN_02006548 pop {r3-r5, pc} .balign 4 _0204BB1C: .word 0x000001ED - thumb_func_start sub_0204BB20 -sub_0204BB20: ; 0x0204BB20 + thumb_func_start FUN_0204BB20 +FUN_0204BB20: ; 0x0204BB20 push {r3-r7, lr} sub sp, #0x10 ldr r0, [r0, #0xc] str r1, [sp, #0x0] - bl sub_02022528 + bl FUN_02022528 str r0, [sp, #0x4] mov r0, #0x4 - bl sub_020669C0 + bl FUN_020669C0 ldr r5, [sp, #0x0] add r4, r0, #0x0 mov r6, #0x0 @@ -143084,16 +143084,16 @@ _0204BB3C: strb r0, [r1, #0x0] ldr r0, [sp, #0x4] add r1, r6, #0x0 - bl sub_0202BFD8 + bl FUN_0202BFD8 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 strh r0, [r5, #0x0] add r1, sp, #0x8 - bl sub_0204BAF4 + bl FUN_0204BAF4 ldrb r0, [r7, #0x0] cmp r0, #0x0 beq _0204BB6E @@ -143110,25 +143110,25 @@ _0204BB72: ldrb r0, [r7, #0x2] strh r0, [r5, #0x4] add r0, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r5, #0x6] add r0, r4, #0x0 mov r1, #0xb1 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r5, #0x7] add r6, r6, #0x1 add r5, #0x8 cmp r6, #0x6 blt _0204BB3C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204BBA8 -sub_0204BBA8: ; 0x0204BBA8 + thumb_func_start FUN_0204BBA8 +FUN_0204BBA8: ; 0x0204BBA8 mov r3, #0x0 add r2, r3, #0x0 _0204BBAC: @@ -143146,18 +143146,18 @@ _0204BBB8: bx lr .balign 4 - thumb_func_start sub_0204BBC4 -sub_0204BBC4: ; 0x0204BBC4 + thumb_func_start FUN_0204BBC4 +FUN_0204BBC4: ; 0x0204BBC4 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC ldr r1, _0204BBE4 ; =0x0000199A - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0xa blo _0204BBDE - bl sub_02020C2C + bl FUN_02020C2C _0204BBDE: add r0, r5, #0x5 str r0, [r4, #0x38] @@ -143165,14 +143165,14 @@ _0204BBDE: .balign 4 _0204BBE4: .word 0x0000199A - thumb_func_start sub_0204BBE8 -sub_0204BBE8: ; 0x0204BBE8 + thumb_func_start FUN_0204BBE8 +FUN_0204BBE8: ; 0x0204BBE8 push {r3, lr} ldr r1, [r0, #0x38] sub r1, r1, #0x1 str r1, [r0, #0x38] bne _0204BBFA - bl sub_0204BBC4 + bl FUN_0204BBC4 mov r0, #0x1 pop {r3, pc} _0204BBFA: @@ -143180,12 +143180,12 @@ _0204BBFA: pop {r3, pc} .balign 4 - thumb_func_start sub_0204BC00 -sub_0204BC00: ; 0x0204BC00 + thumb_func_start FUN_0204BC00 +FUN_0204BC00: ; 0x0204BC00 push {r4-r6, lr} add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r4, r0, #0x0 cmp r5, #0x20 blt _0204BC14 @@ -143204,7 +143204,7 @@ _0204BC20: add r5, r5, r0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x0 beq _0204BC32 add r0, r5, #0x1 @@ -143212,7 +143212,7 @@ _0204BC20: _0204BC32: lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_0205481C + bl FUN_0205481C cmp r0, #0x0 beq _0204BC42 add r0, r5, #0x5 @@ -143222,14 +143222,14 @@ _0204BC42: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204BC48 -sub_0204BC48: ; 0x0204BC48 + thumb_func_start FUN_0204BC48 +FUN_0204BC48: ; 0x0204BC48 push {r3-r7, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r2, r3, #0x0 mov r6, #0x0 - bl sub_0204BC00 + bl FUN_0204BC00 add r7, r0, #0x0 bne _0204BC5E add r0, r6, #0x0 @@ -143261,7 +143261,7 @@ _0204BC86: lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _0204BC94 - bl sub_02020C2C + bl FUN_02020C2C _0204BC94: add r0, r6, #0x0 add r0, #0x14 @@ -143272,20 +143272,20 @@ _0204BC94: mov r4, #0x0 b _0204BCD8 _0204BCA4: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r6, #0x0 add r1, #0x14 add r4, r0, #0x0 lsl r1, r1, #0x10 ldr r0, _0204BD14 ; =0x0000FFFF lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 add r6, #0x14 lsr r4, r0, #0x10 @@ -143293,7 +143293,7 @@ _0204BCA4: lsr r0, r0, #0x10 cmp r4, r0 blo _0204BCD8 - bl sub_02020C2C + bl FUN_02020C2C _0204BCD8: cmp r4, #0x14 bge _0204BCE0 @@ -143325,14 +143325,14 @@ _0204BD04: add r0, #0x8 cmp r1, #0x6 blt _0204BCE6 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0204BD14: .word 0x0000FFFF - thumb_func_start sub_0204BD18 -sub_0204BD18: ; 0x0204BD18 + thumb_func_start FUN_0204BD18 +FUN_0204BD18: ; 0x0204BD18 push {r4, lr} ldr r0, [r1, #0x14] add r4, r2, #0x0 @@ -143343,7 +143343,7 @@ sub_0204BD18: ; 0x0204BD18 b _0204BD3A _0204BD28: add r0, r4, #0x0 - bl sub_0204BBA8 + bl FUN_0204BBA8 add r1, r0, #0x1 ldr r0, [r4, #0x3c] add r0, r4, r0 @@ -143351,39 +143351,39 @@ _0204BD28: strb r1, [r0, #0x0] pop {r4, pc} _0204BD3A: - bl sub_02020C2C + bl FUN_02020C2C _0204BD3E: pop {r4, pc} - thumb_func_start sub_0204BD40 -sub_0204BD40: ; 0x0204BD40 + thumb_func_start FUN_0204BD40 +FUN_0204BD40: ; 0x0204BD40 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x20 add r6, r1, #0x0 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02022528 + bl FUN_02022528 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_0204BAB0 + bl FUN_0204BAB0 add r1, r0, #0x0 mov r0, #0xb - bl sub_02047800 + bl FUN_02047800 add r1, r5, #0x0 add r7, r0, #0x0 - bl sub_02047BB0 + bl FUN_02047BB0 ldr r0, [sp, #0x0] ldr r1, [r6, #0x3c] add r2, r4, #0x0 - bl sub_0202BFD8 + bl FUN_0202BFD8 add r0, r7, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_020479FC + bl FUN_020479FC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r7, #0x0 pop {r3-r7, pc} .balign 4 @@ -143391,8 +143391,8 @@ _0204BD8C: .byte 0x00, 0x23, 0x1A, 0x1C .byte 0x81, 0x88, 0x52, 0x1C, 0x08, 0x30, 0x5B, 0x18, 0x06, 0x2A, 0xF9, 0xDB, 0x18, 0x1C, 0x70, 0x47 - thumb_func_start sub_0204BDA0 -sub_0204BDA0: ; 0x0204BDA0 + thumb_func_start FUN_0204BDA0 +FUN_0204BDA0: ; 0x0204BDA0 push {r4-r7} mov r3, #0x0 add r5, r0, #0x0 @@ -143460,13 +143460,13 @@ _0204BE0A: _0204BE10: .byte 0x80, 0x6C, 0x70, 0x47 - thumb_func_start sub_0204BE14 -sub_0204BE14: ; 0x0204BE14 + thumb_func_start FUN_0204BE14 +FUN_0204BE14: ; 0x0204BE14 mov r0, #0xe8 bx lr - thumb_func_start sub_0204BE18 -sub_0204BE18: ; 0x0204BE18 + thumb_func_start FUN_0204BE18 +FUN_0204BE18: ; 0x0204BE18 push {r3-r5, lr} mov r2, #0x0 add r3, r2, #0x0 @@ -143543,14 +143543,14 @@ _0204BE8E: mov r2, #0x4 bic r3, r2 strb r3, [r0, #0x0] - bl sub_0204BED8 + bl FUN_0204BED8 pop {r3-r5, pc} .balign 4 _0204BEB0: .word 0xFFFFF03F _0204BEB4: .word 0x020F486C - thumb_func_start sub_0204BEB8 -sub_0204BEB8: ; 0x0204BEB8 + thumb_func_start FUN_0204BEB8 +FUN_0204BEB8: ; 0x0204BEB8 ldrb r2, [r0, #0x0] mov r1, #0x1 bic r2, r1 @@ -143560,22 +143560,22 @@ sub_0204BEB8: ; 0x0204BEB8 bx lr .balign 4 - thumb_func_start sub_0204BEC8 -sub_0204BEC8: ; 0x0204BEC8 + thumb_func_start FUN_0204BEC8 +FUN_0204BEC8: ; 0x0204BEC8 ldrb r0, [r0, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr - thumb_func_start sub_0204BED0 -sub_0204BED0: ; 0x0204BED0 + thumb_func_start FUN_0204BED0 +FUN_0204BED0: ; 0x0204BED0 add r0, r0, r1 ldrb r0, [r0, #0x3] bx lr .balign 4 - thumb_func_start sub_0204BED8 -sub_0204BED8: ; 0x0204BED8 + thumb_func_start FUN_0204BED8 +FUN_0204BED8: ; 0x0204BED8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -143583,7 +143583,7 @@ sub_0204BED8: ; 0x0204BED8 cmp r4, #0x19 blt _0204BEE8 _0204BEE4: - bl sub_02020C2C + bl FUN_02020C2C _0204BEE8: mov r0, #0x1 ldrsb r1, [r5, r0] @@ -143610,15 +143610,15 @@ _0204BF10: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0204BF14 -sub_0204BF14: ; 0x0204BF14 + thumb_func_start FUN_0204BF14 +FUN_0204BF14: ; 0x0204BF14 mov r1, #0x2 ldrsb r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_0204BF1C -sub_0204BF1C: ; 0x0204BF1C + thumb_func_start FUN_0204BF1C +FUN_0204BF1C: ; 0x0204BF1C push {r3-r4} mov r1, #0x2 ldrsb r3, [r0, r1] @@ -143643,12 +143643,12 @@ _0204BF3A: pop {r3-r4} bx lr - thumb_func_start sub_0204BF44 -sub_0204BF44: ; 0x0204BF44 + thumb_func_start FUN_0204BF44 +FUN_0204BF44: ; 0x0204BF44 push {r4, lr} add r4, r0, #0x0 bne _0204BF4E - bl sub_02020C2C + bl FUN_02020C2C _0204BF4E: ldrb r0, [r4, #0x0] lsl r0, r0, #0x1a @@ -143656,18 +143656,18 @@ _0204BF4E: pop {r4, pc} .balign 4 - thumb_func_start sub_0204BF58 -sub_0204BF58: ; 0x0204BF58 + thumb_func_start FUN_0204BF58 +FUN_0204BF58: ; 0x0204BF58 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _0204BF66 - bl sub_02020C2C + bl FUN_02020C2C _0204BF66: cmp r4, #0x8 blo _0204BF6E - bl sub_02020C2C + bl FUN_02020C2C _0204BF6E: ldrb r1, [r5, #0x0] mov r0, #0x38 @@ -143681,13 +143681,13 @@ _0204BF6E: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204BF84 -sub_0204BF84: ; 0x0204BF84 + thumb_func_start FUN_0204BF84 +FUN_0204BF84: ; 0x0204BF84 ldr r0, [r0, #0x24] bx lr - thumb_func_start sub_0204BF88 -sub_0204BF88: ; 0x0204BF88 + thumb_func_start FUN_0204BF88 +FUN_0204BF88: ; 0x0204BF88 ldrb r2, [r0, #0x0] lsl r2, r2, #0x1e lsr r2, r2, #0x1f @@ -143696,15 +143696,15 @@ sub_0204BF88: ; 0x0204BF88 _0204BF92: bx lr - thumb_func_start sub_0204BF94 -sub_0204BF94: ; 0x0204BF94 + thumb_func_start FUN_0204BF94 +FUN_0204BF94: ; 0x0204BF94 ldrh r0, [r0, #0x28] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr - thumb_func_start sub_0204BF9C -sub_0204BF9C: ; 0x0204BF9C + thumb_func_start FUN_0204BF9C +FUN_0204BF9C: ; 0x0204BF9C ldrh r3, [r0, #0x28] lsl r3, r3, #0x1a lsr r3, r3, #0x1b @@ -143716,8 +143716,8 @@ sub_0204BF9C: ; 0x0204BF9C bx lr .balign 4 - thumb_func_start sub_0204BFB0 -sub_0204BFB0: ; 0x0204BFB0 + thumb_func_start FUN_0204BFB0 +FUN_0204BFB0: ; 0x0204BFB0 push {r4-r5} ldrh r4, [r0, #0x28] mov r5, #0x1 @@ -143751,8 +143751,8 @@ sub_0204BFB0: ; 0x0204BFB0 .balign 4 _0204BFEC: .word 0xFFFFF03F - thumb_func_start sub_0204BFF0 -sub_0204BFF0: ; 0x0204BFF0 + thumb_func_start FUN_0204BFF0 +FUN_0204BFF0: ; 0x0204BFF0 push {r3-r4} add r3, r0, #0x0 add r3, #0xa8 @@ -143785,8 +143785,8 @@ _0204C016: pop {r3-r4} bx lr - thumb_func_start sub_0204C02C -sub_0204C02C: ; 0x0204C02C + thumb_func_start FUN_0204C02C +FUN_0204C02C: ; 0x0204C02C push {r3-r4} add r3, r0, #0x0 add r3, #0xa8 @@ -143817,8 +143817,8 @@ _0204C052: bx lr .balign 4 - thumb_func_start sub_0204C064 -sub_0204C064: ; 0x0204C064 + thumb_func_start FUN_0204C064 +FUN_0204C064: ; 0x0204C064 add r3, r0, #0x0 add r3, #0xa8 ldrb r3, [r3, #0x0] @@ -143835,8 +143835,8 @@ _0204C07C: mov r0, #0x0 bx lr - thumb_func_start sub_0204C080 -sub_0204C080: ; 0x0204C080 + thumb_func_start FUN_0204C080 +FUN_0204C080: ; 0x0204C080 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -143844,7 +143844,7 @@ sub_0204C080: ; 0x0204C080 add r7, r3, #0x0 cmp r4, #0x6 blt _0204C092 - bl sub_02020C2C + bl FUN_02020C2C _0204C092: lsl r1, r4, #0x1 add r0, r5, r1 @@ -143856,8 +143856,8 @@ _0204C092: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204C0A4 -sub_0204C0A4: ; 0x0204C0A4 + thumb_func_start FUN_0204C0A4 +FUN_0204C0A4: ; 0x0204C0A4 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -143865,7 +143865,7 @@ sub_0204C0A4: ; 0x0204C0A4 add r7, r3, #0x0 cmp r4, #0x6 blt _0204C0B6 - bl sub_02020C2C + bl FUN_02020C2C _0204C0B6: lsl r1, r4, #0x1 add r0, r5, r1 @@ -143879,15 +143879,15 @@ _0204C0B6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204C0CC -sub_0204C0CC: ; 0x0204C0CC + thumb_func_start FUN_0204C0CC +FUN_0204C0CC: ; 0x0204C0CC ldrb r0, [r0, #0x0] lsl r0, r0, #0x1d lsr r0, r0, #0x1f bx lr - thumb_func_start sub_0204C0D4 -sub_0204C0D4: ; 0x0204C0D4 + thumb_func_start FUN_0204C0D4 +FUN_0204C0D4: ; 0x0204C0D4 push {r3, lr} ldrb r2, [r0, #0x0] lsl r2, r2, #0x1d @@ -143895,19 +143895,19 @@ sub_0204C0D4: ; 0x0204C0D4 beq _0204C0E6 add r0, #0x2a mov r2, #0x78 - blx sub_020CE3E0 + blx FUN_020CE3E0 _0204C0E6: pop {r3, pc} - thumb_func_start sub_0204C0E8 -sub_0204C0E8: ; 0x0204C0E8 + thumb_func_start FUN_0204C0E8 +FUN_0204C0E8: ; 0x0204C0E8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 add r1, r4, #0x0 add r1, #0x2a mov r2, #0x78 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldrb r1, [r4, #0x0] mov r0, #0x4 orr r0, r1 @@ -143915,12 +143915,12 @@ sub_0204C0E8: ; 0x0204C0E8 pop {r4, pc} .balign 4 - thumb_func_start sub_0204C104 -sub_0204C104: ; 0x0204C104 + thumb_func_start FUN_0204C104 +FUN_0204C104: ; 0x0204C104 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_0204C158 + bl FUN_0204C158 cmp r0, #0xc blt _0204C138 mov r0, #0x0 @@ -143948,19 +143948,19 @@ _0204C138: add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r5, r4 add r1, #0xb6 strh r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_0206B754 + bl FUN_0206B754 add r1, r5, r4 add r1, #0xb8 strh r0, [r1, #0x0] pop {r4-r6, pc} - thumb_func_start sub_0204C158 -sub_0204C158: ; 0x0204C158 + thumb_func_start FUN_0204C158 +FUN_0204C158: ; 0x0204C158 mov r2, #0x0 _0204C15A: add r1, r0, #0x0 @@ -143978,8 +143978,8 @@ _0204C168: add r0, r2, #0x0 bx lr - thumb_func_start sub_0204C174 -sub_0204C174: ; 0x0204C174 + thumb_func_start FUN_0204C174 +FUN_0204C174: ; 0x0204C174 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -143987,7 +143987,7 @@ sub_0204C174: ; 0x0204C174 str r3, [sp, #0x0] cmp r4, #0xc blt _0204C186 - bl sub_02020C2C + bl FUN_02020C2C _0204C186: add r6, r5, #0x0 lsl r4, r4, #0x2 @@ -143995,7 +143995,7 @@ _0204C186: ldrh r0, [r6, r4] cmp r0, #0x0 bne _0204C196 - bl sub_02020C2C + bl FUN_02020C2C _0204C196: ldrh r0, [r6, r4] str r0, [r7, #0x0] @@ -144007,16 +144007,16 @@ _0204C196: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0204C1A8 -sub_0204C1A8: ; 0x0204C1A8 - ldr r3, _0204C1B0 ; =sub_02022610 + thumb_func_start FUN_0204C1A8 +FUN_0204C1A8: ; 0x0204C1A8 + ldr r3, _0204C1B0 ; =FUN_02022610 mov r1, #0x5 bx r3 nop -_0204C1B0: .word sub_02022610 + 1 +_0204C1B0: .word FUN_02022610 + 1 - thumb_func_start sub_0204C1B4 -sub_0204C1B4: ; 0x0204C1B4 + thumb_func_start FUN_0204C1B4 +FUN_0204C1B4: ; 0x0204C1B4 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -144024,14 +144024,14 @@ sub_0204C1B4: ; 0x0204C1B4 mov r1, #0x20 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r2, r0, #0x0 str r5, [r2, #0x4] str r4, [r2, #0x8] str r6, [r2, #0xc] add r0, sp, #0x8 ldrh r0, [r0, #0x10] - ldr r1, _0204C1F0 ; =sub_0204C1F4 + ldr r1, _0204C1F0 ; =FUN_0204C1F4 strh r0, [r2, #0x10] ldr r0, [sp, #0x1c] str r0, [r2, #0x14] @@ -144042,20 +144042,20 @@ sub_0204C1B4: ; 0x0204C1B4 mov r0, #0x0 str r0, [r2, #0x0] add r0, r7, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} nop -_0204C1F0: .word sub_0204C1F4 + 1 +_0204C1F0: .word FUN_0204C1F4 + 1 - thumb_func_start sub_0204C1F4 -sub_0204C1F4: ; 0x0204C1F4 + thumb_func_start FUN_0204C1F4 +FUN_0204C1F4: ; 0x0204C1F4 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 @@ -144066,7 +144066,7 @@ sub_0204C1F4: ; 0x0204C1F4 _0204C214: ldr r0, [r5, #0x4] ldr r0, [r0, #0x1c] - bl sub_021F4608 + bl FUN_021F4608 ldr r0, [r4, #0x14] str r0, [sp, #0x0] ldr r0, [r4, #0x18] @@ -144077,20 +144077,20 @@ _0204C214: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0xc] - bl sub_0200E1D0 + bl FUN_0200E1D0 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] b _0204C258 _0204C23C: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x0 beq _0204C258 ldr r0, [r5, #0x4] ldr r0, [r0, #0x1c] - bl sub_021F45E8 + bl FUN_021F45E8 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r5, pc} @@ -144100,8 +144100,8 @@ _0204C258: pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0204C260 -sub_0204C260: ; 0x0204C260 + thumb_func_start FUN_0204C260 +FUN_0204C260: ; 0x0204C260 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -144109,7 +144109,7 @@ sub_0204C260: ; 0x0204C260 mov r1, #0x24 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -144120,18 +144120,18 @@ sub_0204C260: ; 0x0204C260 str r6, [r2, #0x10] str r0, [r2, #0x14] ldr r0, [sp, #0x1c] - ldr r1, _0204C298 ; =sub_0204C380 + ldr r1, _0204C298 ; =FUN_0204C380 str r0, [r2, #0x18] ldr r0, [sp, #0x20] str r0, [r2, #0x20] add r0, r7, #0x0 - bl sub_020463CC + bl FUN_020463CC pop {r3-r7, pc} nop -_0204C298: .word sub_0204C380 + 1 +_0204C298: .word FUN_0204C380 + 1 - thumb_func_start sub_0204C29C -sub_0204C29C: ; 0x0204C29C + thumb_func_start FUN_0204C29C +FUN_0204C29C: ; 0x0204C29C push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 @@ -144140,7 +144140,7 @@ sub_0204C29C: ; 0x0204C29C mov r1, #0x24 str r2, [sp, #0x0] str r3, [sp, #0x4] - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 mov r4, #0x0 str r4, [r6, #0x0] @@ -144157,96 +144157,96 @@ sub_0204C29C: ; 0x0204C29C ldr r0, [r7, #0x1c] ldr r0, [r0, #0x0] str r0, [sp, #0x8] - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x0 beq _0204C308 add r0, r5, #0x0 - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x0 beq _0204C2E6 mov r4, #0x6 b _0204C36A _0204C2E6: add r0, r5, #0x0 - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x0 beq _0204C2F4 mov r4, #0x5 b _0204C36A _0204C2F4: add r0, r5, #0x0 - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x0 beq _0204C302 mov r4, #0x6 b _0204C36A _0204C302: - bl sub_02020C2C + bl FUN_02020C2C b _0204C36A _0204C308: ldr r0, [sp, #0x8] - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x0 beq _0204C334 add r0, r5, #0x0 - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x0 beq _0204C320 mov r4, #0x4 b _0204C36A _0204C320: add r0, r5, #0x0 - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x0 beq _0204C32E mov r4, #0x6 b _0204C36A _0204C32E: - bl sub_02020C2C + bl FUN_02020C2C b _0204C36A _0204C334: ldr r0, [sp, #0x8] - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x0 beq _0204C366 add r0, r5, #0x0 - bl sub_02034964 + bl FUN_02034964 cmp r0, #0x0 bne _0204C36A add r0, r5, #0x0 - bl sub_02034944 + bl FUN_02034944 cmp r0, #0x0 beq _0204C356 mov r4, #0x6 b _0204C36A _0204C356: add r0, r5, #0x0 - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x0 bne _0204C36A - bl sub_02020C2C + bl FUN_02020C2C b _0204C36A _0204C366: - bl sub_02020C2C + bl FUN_02020C2C _0204C36A: - ldr r1, _0204C37C ; =sub_0204C380 + ldr r1, _0204C37C ; =FUN_0204C380 add r0, r7, #0x0 add r2, r6, #0x0 str r4, [r6, #0x20] - bl sub_020463CC + bl FUN_020463CC add sp, #0xc pop {r4-r7, pc} nop -_0204C37C: .word sub_0204C380 + 1 +_0204C37C: .word FUN_0204C380 + 1 - thumb_func_start sub_0204C380 -sub_0204C380: ; 0x0204C380 + thumb_func_start FUN_0204C380 +FUN_0204C380: ; 0x0204C380 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r6, r4, #0x0 ldr r1, [r4, #0x0] @@ -144270,14 +144270,14 @@ sub_0204C380: ; 0x0204C380 str r0, [r4, #0x4] ldr r1, [r6, #0x0] add r0, r7, #0x0 - bl sub_0204AD60 + bl FUN_0204AD60 ldr r1, [r4, #0x20] add r0, r5, #0x0 lsl r2, r1, #0x2 ldr r1, _0204C45C ; =0x020F4894 ldr r1, [r1, r2] add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -144300,13 +144300,13 @@ _0204C45C: .word 0x020F4894 _0204C460: .byte 0xB0, 0x48, 0x0F, 0x02, 0x78, 0x48, 0x0F, 0x02 - thumb_func_start sub_0204C468 -sub_0204C468: ; 0x0204C468 + thumb_func_start FUN_0204C468 +FUN_0204C468: ; 0x0204C468 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 @@ -144316,9 +144316,9 @@ sub_0204C468: ; 0x0204C468 b _0204C49C _0204C484: ldr r0, _0204C4A0 ; =0x00000603 - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x0 - bl sub_0204AFC8 + bl FUN_0204AFC8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144332,14 +144332,14 @@ _0204C49C: .balign 4 _0204C4A0: .word 0x00000603 - thumb_func_start sub_0204C4A4 -sub_0204C4A4: ; 0x0204C4A4 + thumb_func_start FUN_0204C4A4 +FUN_0204C4A4: ; 0x0204C4A4 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 @@ -144354,17 +144354,17 @@ sub_0204C4A4: ; 0x0204C4A4 lsl r4, r5, #0 lsl r6, r0, #0x1 lsl r4, r2, #0x1 - bl sub_021DA5B8 + bl FUN_021DA5B8 str r0, [r4, #0x1c] ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r4, #0x1c] add r0, r6, #0x0 - bl sub_021DA5D0 + bl FUN_021DA5D0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144379,14 +144379,14 @@ _0204C522: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0204C528 -sub_0204C528: ; 0x0204C528 + thumb_func_start FUN_0204C528 +FUN_0204C528: ; 0x0204C528 push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 @@ -144397,17 +144397,17 @@ sub_0204C528: ; 0x0204C528 beq _0204C598 b _0204C59C _0204C54A: - bl sub_021DA5B8 + bl FUN_021DA5B8 str r0, [r4, #0x1c] ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r1, r0, #0x0 ldr r2, [r4, #0x1c] add r0, r6, #0x0 - bl sub_021DA5D0 + bl FUN_021DA5D0 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144415,17 +144415,17 @@ _0204C54A: _0204C570: ldr r0, [r5, #0x38] ldr r6, [r4, #0x1c] - bl sub_020552F8 + bl FUN_020552F8 add r2, r0, #0x0 lsl r2, r2, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 - bl sub_021DAC70 + bl FUN_021DAC70 cmp r0, #0x0 beq _0204C59C ldr r0, [r4, #0x1c] - bl sub_021DA5C8 + bl FUN_021DA5C8 ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144437,14 +144437,14 @@ _0204C59C: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0204C5A0 -sub_0204C5A0: ; 0x0204C5A0 + thumb_func_start FUN_0204C5A0 +FUN_0204C5A0: ; 0x0204C5A0 push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x3 @@ -144460,23 +144460,23 @@ sub_0204C5A0: ; 0x0204C5A0 lsl r6, r2, #0x1 lsl r2, r5, #0x1 ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r6, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_020553A0 + bl FUN_020553A0 cmp r6, #0x2 bne _0204C5E6 mov r1, #0xa - bl sub_0205ADDC + bl FUN_0205ADDC b _0204C5F6 _0204C5E6: cmp r6, #0x3 bne _0204C5F2 mov r1, #0xb - bl sub_0205ADDC + bl FUN_0205ADDC b _0204C5F6 _0204C5F2: - bl sub_02020C2C + bl FUN_02020C2C _0204C5F6: ldr r0, [r4, #0x4] add r0, r0, #0x1 @@ -144494,17 +144494,17 @@ _0204C63C: _0204C640: .byte 0x03, 0x06, 0x00, 0x00 - thumb_func_start sub_0204C644 -sub_0204C644: ; 0x0204C644 + thumb_func_start FUN_0204C644 +FUN_0204C644: ; 0x0204C644 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r6, #0x38] - bl sub_020553A0 + bl FUN_020553A0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C668 @@ -144512,11 +144512,11 @@ sub_0204C644: ; 0x0204C644 beq _0204C67E b _0204C682 _0204C668: - bl sub_021DB030 + bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C688 ; =0x021DB1D1 add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144530,17 +144530,17 @@ _0204C682: nop _0204C688: .word 0x021DB1D1 - thumb_func_start sub_0204C68C -sub_0204C68C: ; 0x0204C68C + thumb_func_start FUN_0204C68C +FUN_0204C68C: ; 0x0204C68C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r6, #0x38] - bl sub_020553A0 + bl FUN_020553A0 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _0204C6B0 @@ -144548,11 +144548,11 @@ sub_0204C68C: ; 0x0204C68C beq _0204C6C6 b _0204C6CA _0204C6B0: - bl sub_021DB030 + bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C6D0 ; =0x021DB145 add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -144566,14 +144566,14 @@ _0204C6CA: nop _0204C6D0: .word 0x021DB145 - thumb_func_start sub_0204C6D4 -sub_0204C6D4: ; 0x0204C6D4 + thumb_func_start FUN_0204C6D4 +FUN_0204C6D4: ; 0x0204C6D4 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x4] cmp r0, #0x3 @@ -144589,32 +144589,32 @@ sub_0204C6D4: ; 0x0204C6D4 lsl r6, r6, #0x1 lsl r2, r3, #0x2 ldr r0, [r4, #0x38] - bl sub_020553A0 + bl FUN_020553A0 add r7, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0x0] ldr r0, [r4, #0x38] - bl sub_0205532C + bl FUN_0205532C add r2, r0, #0x0 ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_0204A6E0 - bl sub_020547B0 + bl FUN_0204A6E0 + bl FUN_020547B0 cmp r0, #0x0 beq _0204C736 add r0, r7, #0x0 mov r1, #0x1 - bl sub_0205889C + bl FUN_0205889C mov r0, #0x1 str r0, [r5, #0x4] b _0204C798 _0204C736: - bl sub_021DB030 + bl FUN_021DB030 add r2, r0, #0x0 ldr r1, _0204C79C ; =0x021DB251 add r0, r6, #0x0 - bl sub_0204640C + bl FUN_0204640C mov r0, #0x3 str r0, [r5, #0x4] b _0204C798 @@ -144707,8 +144707,8 @@ _0204C7A0: .byte 0x01, 0x20, 0xF8, 0xBD, 0x68, 0x5A, 0x1C, 0x02, 0xBE, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 .byte 0x02, 0x01, 0x00, 0x00, 0xF1, 0xD4, 0x04, 0x02 - thumb_func_start sub_0204CC48 -sub_0204CC48: ; 0x0204CC48 + thumb_func_start FUN_0204CC48 +FUN_0204CC48: ; 0x0204CC48 push {r3-r7, lr} ldr r4, _0204CC94 ; =0x021C5A68 ldr r0, [r4, #0x0] @@ -144726,14 +144726,14 @@ _0204CC58: lsr r0, r0, #0x18 add r1, r7, #0x0 mov r2, #0x0 - bl sub_0204D43C + bl FUN_0204D43C b _0204CC7A _0204CC6E: lsl r0, r5, #0x18 mov r1, #0x1 lsr r0, r0, #0x18 add r2, r1, #0x0 - bl sub_0204D43C + bl FUN_0204D43C _0204CC7A: add r5, r5, #0x1 cmp r5, #0x8 @@ -144753,8 +144753,8 @@ _0204CC92: _0204CC94: .word 0x021C5A68 _0204CC98: .word 0x000002BE - thumb_func_start sub_0204CC9C -sub_0204CC9C: ; 0x0204CC9C + thumb_func_start FUN_0204CC9C +FUN_0204CC9C: ; 0x0204CC9C push {r3, lr} ldr r1, _0204CCD8 ; =0x021C5A68 ldr r3, [r1, #0x0] @@ -144767,27 +144767,27 @@ sub_0204CC9C: ; 0x0204CC9C mov r2, #0x0 add r0, r0, #0x2 strb r2, [r1, r0] - bl sub_0204CF60 + bl FUN_0204CF60 mov r0, #0x1 - bl sub_0204D168 + bl FUN_0204D168 ldr r0, _0204CCD8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 ldr r0, _0204CCD8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C _0204CCD6: pop {r3, pc} .balign 4 _0204CCD8: .word 0x021C5A68 _0204CCDC: .word 0x000002BB - thumb_func_start sub_0204CCE0 -sub_0204CCE0: ; 0x0204CCE0 + thumb_func_start FUN_0204CCE0 +FUN_0204CCE0: ; 0x0204CCE0 push {r3-r7, lr} ldr r7, _0204CD70 ; =0x021C5A68 add r6, r0, #0x0 @@ -144804,7 +144804,7 @@ _0204CCF0: ldr r0, [r1, r0] cmp r0, #0x0 beq _0204CD0E - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r7, #0x0] mov r1, #0x0 add r2, r0, r5 @@ -144823,7 +144823,7 @@ _0204CD0E: cmp r1, #0x5 blo _0204CD28 ldr r0, [r2, #0x54] - bl sub_02061B64 + bl FUN_02061B64 _0204CD28: mov r4, #0x0 add r5, r4, #0x0 @@ -144832,28 +144832,28 @@ _0204CD2C: lsr r0, r0, #0x18 add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_0204D43C + bl FUN_0204D43C add r4, r4, #0x1 cmp r4, #0x8 blt _0204CD2C ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204CD60 - bl sub_02244D3C + bl FUN_02244D3C ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_02016A18 + bl FUN_02016A18 _0204CD60: ldr r0, _0204CD70 ; =0x021C5A68 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0204CD70 ; =0x021C5A68 mov r1, #0x0 str r1, [r0, #0x0] @@ -144863,8 +144863,8 @@ _0204CD6E: _0204CD70: .word 0x021C5A68 _0204CD74: .word 0x000002B2 - thumb_func_start sub_0204CD78 -sub_0204CD78: ; 0x0204CD78 + thumb_func_start FUN_0204CD78 +FUN_0204CD78: ; 0x0204CD78 push {r4, lr} lsl r4, r0, #0x2 ldr r0, _0204CDB0 ; =0x021C5A68 @@ -144873,17 +144873,17 @@ sub_0204CD78: ; 0x0204CD78 ldr r0, [r0, #0x28] cmp r0, #0x0 beq _0204CDAC - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x0 beq _0204CD9E ldr r0, _0204CDB0 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x28] - bl sub_02064520 + bl FUN_02064520 b _0204CDA2 _0204CD9E: - bl sub_02020C2C + bl FUN_02020C2C _0204CDA2: ldr r0, _0204CDB0 ; =0x021C5A68 mov r1, #0x0 @@ -144895,8 +144895,8 @@ _0204CDAC: nop _0204CDB0: .word 0x021C5A68 - thumb_func_start sub_0204CDB4 -sub_0204CDB4: ; 0x0204CDB4 + thumb_func_start FUN_0204CDB4 +FUN_0204CDB4: ; 0x0204CDB4 push {r3-r7, lr} mov r4, #0x0 ldr r6, _0204CED4 ; =0x021C5A68 @@ -144904,13 +144904,13 @@ sub_0204CDB4: ; 0x0204CDB4 add r5, r4, #0x0 _0204CDBE: add r0, r4, #0x0 - bl sub_0204E778 + bl FUN_0204E778 add r0, r4, #0x0 - bl sub_0204CD78 + bl FUN_0204CD78 cmp r4, #0x0 beq _0204CDD4 add r0, r4, #0x0 - bl sub_0204ED9C + bl FUN_0204ED9C _0204CDD4: ldr r1, [r6, #0x0] add r0, r1, r7 @@ -144925,7 +144925,7 @@ _0204CDD4: ldrb r1, [r1, r2] cmp r1, #0x0 beq _0204CDF2 - bl sub_02055168 + bl FUN_02055168 _0204CDF2: ldr r0, [r6, #0x0] add r1, r0, r7 @@ -145024,16 +145024,16 @@ _0204CDFA: ldr r2, [r0, #0x0] mov r0, #0x0 strb r0, [r2, r1] - bl sub_0204CF60 + bl FUN_0204CF60 ldr r0, _0204CED4 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] cmp r0, #0x0 bne _0204CED0 - ldr r0, _0204CEF4 ; =sub_0204D4F0 + ldr r0, _0204CEF4 ; =FUN_0204D4F0 mov r1, #0x0 mov r2, #0xc8 - bl sub_0200CA44 + bl FUN_0200CA44 ldr r1, _0204CED4 ; =0x021C5A68 ldr r1, [r1, #0x0] str r0, [r1, #0x50] @@ -145048,10 +145048,10 @@ _0204CEE4: .word 0x0000010A _0204CEE8: .word 0x0000013A _0204CEEC: .word 0x00000142 _0204CEF0: .word 0x000002BF -_0204CEF4: .word sub_0204D4F0 + 1 +_0204CEF4: .word FUN_0204D4F0 + 1 - thumb_func_start sub_0204CEF8 -sub_0204CEF8: ; 0x0204CEF8 + thumb_func_start FUN_0204CEF8 +FUN_0204CEF8: ; 0x0204CEF8 push {r3, lr} ldr r0, _0204CF20 ; =0x021C5A68 ldr r0, [r0, #0x0] @@ -145060,11 +145060,11 @@ sub_0204CEF8: ; 0x0204CEF8 beq _0204CF16 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0204D4F0 + bl FUN_0204D4F0 ldr r0, _0204CF20 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x50] - bl sub_0200CAB4 + bl FUN_0200CAB4 _0204CF16: ldr r0, _0204CF20 ; =0x021C5A68 mov r1, #0x0 @@ -145074,8 +145074,8 @@ _0204CF16: .balign 4 _0204CF20: .word 0x021C5A68 - thumb_func_start sub_0204CF24 -sub_0204CF24: ; 0x0204CF24 + thumb_func_start FUN_0204CF24 +FUN_0204CF24: ; 0x0204CF24 push {r3-r5, lr} ldr r0, _0204CF58 ; =0x021C5A68 ldr r0, [r0, #0x0] @@ -145088,9 +145088,9 @@ _0204CF32: lsr r0, r0, #0x18 add r1, r4, #0x0 add r2, r4, #0x0 - bl sub_0204D43C + bl FUN_0204D43C add r0, r5, #0x0 - bl sub_0204F69C + bl FUN_0204F69C add r5, r5, #0x1 cmp r5, #0x8 blt _0204CF32 @@ -145105,10 +145105,10 @@ _0204CF54: _0204CF58: .word 0x021C5A68 _0204CF5C: .word 0x000002BD - thumb_func_start sub_0204CF60 -sub_0204CF60: ; 0x0204CF60 + thumb_func_start FUN_0204CF60 +FUN_0204CF60: ; 0x0204CF60 push {r4, lr} - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204D03C ; =0x021C5A68 lsl r0, r0, #0x2 ldr r2, [r1, #0x0] @@ -145116,85 +145116,85 @@ sub_0204CF60: ; 0x0204CF60 add r0, r2, r0 ldr r1, [r1, #0x38] str r1, [r0, #0x8] - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204D03C ; =0x021C5A68 mov r2, #0x1 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x48 strb r2, [r0, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa2 strh r0, [r1, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa4 strh r0, [r1, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0xa6 strb r0, [r1, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0x62 strh r0, [r1, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 add r1, r2, r1 add r1, #0x64 strh r0, [r1, #0x0] - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 ldr r0, _0204D03C ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 ldr r1, _0204D03C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 @@ -145205,8 +145205,8 @@ sub_0204CF60: ; 0x0204CF60 nop _0204D03C: .word 0x021C5A68 - thumb_func_start sub_0204D040 -sub_0204D040: ; 0x0204D040 + thumb_func_start FUN_0204D040 +FUN_0204D040: ; 0x0204D040 push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, _0204D110 ; =0x021C5A68 @@ -145214,7 +145214,7 @@ sub_0204D040: ; 0x0204D040 ldr r1, [r0, #0x0] ldr r0, _0204D114 ; =0x000002BF strb r2, [r1, r0] - bl sub_02031190 + bl FUN_02031190 ldr r2, _0204D110 ; =0x021C5A68 add r1, r0, #0x0 ldr r4, [r2, #0x0] @@ -145296,7 +145296,7 @@ sub_0204D040: ; 0x0204D040 mov r2, #0x22 mul r2, r1 add r1, r3, r2 - bl sub_0202393C + bl FUN_0202393C _0204D0F8: ldr r1, _0204D110 ; =0x021C5A68 mov r0, #0xff @@ -145313,8 +145313,8 @@ _0204D0F8: _0204D110: .word 0x021C5A68 _0204D114: .word 0x000002BF - thumb_func_start sub_0204D118 -sub_0204D118: ; 0x0204D118 + thumb_func_start FUN_0204D118 +FUN_0204D118: ; 0x0204D118 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -145324,7 +145324,7 @@ sub_0204D118: ; 0x0204D118 add r6, r2, #0x0 ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, sp, #0x0 strb r4, [r1, #0x0] asr r2, r4, #0x8 @@ -145342,7 +145342,7 @@ sub_0204D118: ; 0x0204D118 _0204D14A: mov r0, #0x16 add r1, sp, #0x0 - bl sub_020311D0 + bl FUN_020311D0 ldr r0, _0204D160 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -145354,41 +145354,41 @@ _0204D14A: _0204D160: .word 0x021C5A68 _0204D164: .word 0x000002BB - thumb_func_start sub_0204D168 -sub_0204D168: ; 0x0204D168 + thumb_func_start FUN_0204D168 +FUN_0204D168: ; 0x0204D168 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D194 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 add r4, r0, #0x0 ldr r0, _0204D194 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204D118 + bl FUN_0204D118 pop {r3-r5, pc} nop _0204D194: .word 0x021C5A68 - thumb_func_start sub_0204D198 -sub_0204D198: ; 0x0204D198 + thumb_func_start FUN_0204D198 +FUN_0204D198: ; 0x0204D198 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204D1C8 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0x62 ldrh r4, [r0, #0x0] - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204D1C8 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] @@ -145397,13 +145397,13 @@ sub_0204D198: ; 0x0204D198 ldrh r2, [r0, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204D118 + bl FUN_0204D118 pop {r3-r5, pc} nop _0204D1C8: .word 0x021C5A68 - thumb_func_start sub_0204D1CC -sub_0204D1CC: ; 0x0204D1CC + thumb_func_start FUN_0204D1CC +FUN_0204D1CC: ; 0x0204D1CC push {r3-r5, lr} sub sp, #0x8 ldrh r2, [r1, #0x0] @@ -145464,30 +145464,30 @@ _0204D214: strb r0, [r5, #0x0] mov r0, #0x17 mov r2, #0x0 - bl sub_02030BC4 + bl FUN_02030BC4 add sp, #0x8 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0204D248 -sub_0204D248: ; 0x0204D248 + thumb_func_start FUN_0204D248 +FUN_0204D248: ; 0x0204D248 push {r3-r5, lr} ldr r0, _0204D2A8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055370 + bl FUN_02055370 add r4, r0, #0x0 ldr r0, _0204D2A8 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055378 + bl FUN_02055378 add r5, r0, #0x0 cmp r4, #0x0 bne _0204D292 - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 beq _0204D292 ldr r0, _0204D2A8 ; =0x021C5A68 @@ -145497,7 +145497,7 @@ sub_0204D248: ; 0x0204D248 cmp r0, #0x0 bne _0204D292 mov r0, #0x1 - bl sub_0204D168 + bl FUN_0204D168 ldr r0, _0204D2A8 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -145519,8 +145519,8 @@ _0204D2A4: _0204D2A8: .word 0x021C5A68 _0204D2AC: .word 0x000002BA - thumb_func_start sub_0204D2B0 -sub_0204D2B0: ; 0x0204D2B0 + thumb_func_start FUN_0204D2B0 +FUN_0204D2B0: ; 0x0204D2B0 push {r3-r7, lr} mov r4, #0x0 ldr r7, _0204D2FC ; =0x021C5A68 @@ -145549,7 +145549,7 @@ _0204D2DC: add r1, r1, r5 strb r6, [r2, r0] add r0, r4, #0x0 - bl sub_0204D1CC + bl FUN_0204D1CC _0204D2E8: add r4, r4, #0x1 add r5, #0x8 @@ -145566,8 +145566,8 @@ _0204D2FC: .word 0x021C5A68 _0204D300: .word 0x00000132 _0204D304: .word 0x000002BB - thumb_func_start sub_0204D308 -sub_0204D308: ; 0x0204D308 + thumb_func_start FUN_0204D308 +FUN_0204D308: ; 0x0204D308 ldr r0, _0204D31C ; =0x021C5A68 ldr r2, [r0, #0x0] cmp r2, #0x0 @@ -145581,15 +145581,15 @@ _0204D318: nop _0204D31C: .word 0x021C5A68 - thumb_func_start sub_0204D320 -sub_0204D320: ; 0x0204D320 + thumb_func_start FUN_0204D320 +FUN_0204D320: ; 0x0204D320 mov r0, #0xb1 lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_0204D328 -sub_0204D328: ; 0x0204D328 + thumb_func_start FUN_0204D328 +FUN_0204D328: ; 0x0204D328 push {r3-r7, lr} sub sp, #0x10 ldr r1, _0204D430 ; =0x021C5A68 @@ -145604,7 +145604,7 @@ sub_0204D328: ; 0x0204D328 ldrb r1, [r2, r1] cmp r1, #0x0 bne _0204D42A - bl sub_0202DFA4 + bl FUN_0202DFA4 str r0, [sp, #0xc] cmp r0, #0x0 beq _0204D42A @@ -145614,7 +145614,7 @@ sub_0204D328: ; 0x0204D328 ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D37C - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _0204D37C ldr r0, _0204D430 ; =0x021C5A68 @@ -145624,16 +145624,16 @@ sub_0204D328: ; 0x0204D328 ldr r0, [r0, #0x54] add r1, r5, r1 ldr r0, [r0, #0x34] - bl sub_02058060 + bl FUN_02058060 cmp r0, #0x0 beq _0204D37C - bl sub_02057654 + bl FUN_02057654 _0204D37C: ldr r0, _0204D430 ; =0x021C5A68 lsl r4, r5, #0x3 ldr r7, [r0, #0x0] ldr r0, [sp, #0xc] - bl sub_020239CC + bl FUN_020239CC mov r1, #0x0 str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -145649,21 +145649,21 @@ _0204D37C: ldrh r2, [r2, #0x0] ldrsb r3, [r7, r3] ldr r0, [r0, #0x34] - bl sub_02055068 + bl FUN_02055068 add r7, r0, #0x0 bne _0204D3B2 - bl sub_02020C2C + bl FUN_02020C2C _0204D3B2: ldr r0, _0204D430 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r6 str r7, [r0, #0x8] add r0, r7, #0x0 - bl sub_020553A0 + bl FUN_020553A0 mov r1, #0x1 lsl r1, r1, #0x8 add r1, r5, r1 - bl sub_02058444 + bl FUN_02058444 ldr r0, _0204D430 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D438 ; =0x000002BE @@ -145671,7 +145671,7 @@ _0204D3B2: cmp r0, #0x0 beq _0204D3DC add r0, r5, #0x0 - bl sub_0223E4D4 + bl FUN_0223E4D4 _0204D3DC: ldr r0, _0204D430 ; =0x021C5A68 ldr r1, _0204D438 ; =0x000002BE @@ -145696,7 +145696,7 @@ _0204D3DC: ldrh r1, [r1, #0x0] ldrh r3, [r3, #0x0] mov r2, #0x0 - bl sub_021E5B30 + bl FUN_021E5B30 _0204D40E: ldr r0, _0204D430 ; =0x021C5A68 mov r1, #0x1 @@ -145721,8 +145721,8 @@ _0204D430: .word 0x021C5A68 _0204D434: .word 0x000002BD _0204D438: .word 0x000002BE - thumb_func_start sub_0204D43C -sub_0204D43C: ; 0x0204D43C + thumb_func_start FUN_0204D43C +FUN_0204D43C: ; 0x0204D43C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204D4CC ; =0x021C5A68 @@ -145734,9 +145734,9 @@ sub_0204D43C: ; 0x0204D43C add r0, #0x5a mov r1, #0x0 mov r2, #0x8 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_0204CD78 + bl FUN_0204CD78 ldr r0, _0204D4CC ; =0x021C5A68 lsl r4, r5, #0x2 ldr r1, [r0, #0x0] @@ -145755,10 +145755,10 @@ sub_0204D43C: ; 0x0204D43C cmp r7, #0x0 beq _0204D484 _0204D47E: - bl sub_02055168 + bl FUN_02055168 b _0204D488 _0204D484: - bl sub_02055160 + bl FUN_02055160 _0204D488: ldr r0, _0204D4CC ; =0x021C5A68 mov r1, #0x0 @@ -145786,7 +145786,7 @@ _0204D4A6: strb r2, [r1, r0] bne _0204D4C8 add r0, r5, #0x0 - bl sub_0204ED9C + bl FUN_0204ED9C ldr r0, _0204D4CC ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] @@ -145800,8 +145800,8 @@ _0204D4CC: .word 0x021C5A68 _0204D4D0: .word 0x000002BE _0204D4D4: .word 0x00000132 - thumb_func_start sub_0204D4D8 -sub_0204D4D8: ; 0x0204D4D8 + thumb_func_start FUN_0204D4D8 +FUN_0204D4D8: ; 0x0204D4D8 ldr r1, _0204D4E8 ; =0x021C48B8 mov r0, #0x2 ldr r1, [r1, #0x44] @@ -145809,40 +145809,40 @@ sub_0204D4D8: ; 0x0204D4D8 beq _0204D4E4 mov r0, #0x1 _0204D4E4: - ldr r3, _0204D4EC ; =sub_02030F60 + ldr r3, _0204D4EC ; =FUN_02030F60 bx r3 .balign 4 _0204D4E8: .word 0x021C48B8 -_0204D4EC: .word sub_02030F60 + 1 +_0204D4EC: .word FUN_02030F60 + 1 - thumb_func_start sub_0204D4F0 -sub_0204D4F0: ; 0x0204D4F0 + thumb_func_start FUN_0204D4F0 +FUN_0204D4F0: ; 0x0204D4F0 push {r4-r6, lr} add r4, r1, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 beq _0204D530 - bl sub_0204D4D8 - bl sub_02031190 + bl FUN_0204D4D8 + bl FUN_02031190 cmp r0, #0x0 bne _0204D524 add r0, r4, #0x0 - bl sub_0204D2B0 + bl FUN_0204D2B0 add r0, r4, #0x0 - bl sub_0204D248 + bl FUN_0204D248 ldr r0, _0204D560 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204D52A - bl sub_02244D58 + bl FUN_02244D58 b _0204D52A _0204D524: add r0, r4, #0x0 - bl sub_0204D248 + bl FUN_0204D248 _0204D52A: add r0, r4, #0x0 - bl sub_0204D568 + bl FUN_0204D568 _0204D530: ldr r4, _0204D560 ; =0x021C5A68 ldr r6, _0204D564 ; =0x000002BE @@ -145852,15 +145852,15 @@ _0204D536: ldrb r0, [r0, r6] cmp r0, #0x0 beq _0204D556 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0204D556 add r0, r5, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 cmp r0, #0x0 bne _0204D556 add r0, r5, #0x0 - bl sub_02245358 + bl FUN_02245358 _0204D556: add r5, r5, #0x1 cmp r5, #0x8 @@ -145870,8 +145870,8 @@ _0204D556: _0204D560: .word 0x021C5A68 _0204D564: .word 0x000002BE - thumb_func_start sub_0204D568 -sub_0204D568: ; 0x0204D568 + thumb_func_start FUN_0204D568 +FUN_0204D568: ; 0x0204D568 push {r3-r7, lr} ldr r4, _0204D608 ; =0x021C5A68 ldr r7, _0204D60C ; =0x000002BE @@ -145880,16 +145880,16 @@ sub_0204D568: ; 0x0204D568 _0204D572: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0204D5A0 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0204D58A cmp r5, #0x0 beq _0204D5A0 _0204D58A: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0204D5A0 ldr r0, [r4, #0x0] @@ -145897,23 +145897,23 @@ _0204D58A: cmp r0, #0x0 beq _0204D5A0 add r0, r5, #0x0 - bl sub_02247614 + bl FUN_02247614 _0204D5A0: lsl r0, r5, #0x10 lsr r0, r0, #0x10 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0204D5B8 - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0204D5C6 cmp r5, #0x0 bne _0204D5C6 _0204D5B8: add r0, r5, #0x0 - bl sub_0204DE30 + bl FUN_0204DE30 add r0, r5, #0x0 - bl sub_0204EFCC + bl FUN_0204EFCC b _0204D600 _0204D5C6: ldr r0, [r4, #0x0] @@ -145922,7 +145922,7 @@ _0204D5C6: ldrb r0, [r0, #0x0] cmp r0, #0x0 beq _0204D600 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0204D5F0 ldr r1, [r4, #0x0] @@ -145931,9 +145931,9 @@ _0204D5C6: cmp r0, #0x0 beq _0204D5F0 add r0, r5, #0x0 - bl sub_0223EB8C + bl FUN_0223EB8C add r0, r5, #0x0 - bl sub_0223CB08 + bl FUN_0223CB08 _0204D5F0: strb r5, [r6, #0x0] ldr r3, [r4, #0x0] @@ -145941,7 +145941,7 @@ _0204D5F0: ldr r3, [r3, #0x54] mov r1, #0x1 add r2, sp, #0x0 - bl sub_0204DBCC + bl FUN_0204DBCC _0204D600: add r5, r5, #0x1 cmp r5, #0x8 @@ -145951,8 +145951,8 @@ _0204D600: _0204D608: .word 0x021C5A68 _0204D60C: .word 0x000002BE - thumb_func_start sub_0204D610 -sub_0204D610: ; 0x0204D610 + thumb_func_start FUN_0204D610 +FUN_0204D610: ; 0x0204D610 ldr r0, _0204D624 ; =0x021C5A68 ldr r1, [r0, #0x0] cmp r1, #0x0 @@ -145967,8 +145967,8 @@ _0204D620: .balign 4 _0204D624: .word 0x021C5A68 - thumb_func_start sub_0204D628 -sub_0204D628: ; 0x0204D628 + thumb_func_start FUN_0204D628 +FUN_0204D628: ; 0x0204D628 push {r3, lr} ldr r1, _0204D650 ; =0x021C5A68 ldr r3, [r1, #0x0] @@ -145987,14 +145987,14 @@ _0204D63E: mov r1, #0xaf lsl r1, r1, #0x2 add r1, r2, r1 - bl sub_020311D0 + bl FUN_020311D0 _0204D64E: pop {r3, pc} .balign 4 _0204D650: .word 0x021C5A68 - thumb_func_start sub_0204D654 -sub_0204D654: ; 0x0204D654 + thumb_func_start FUN_0204D654 +FUN_0204D654: ; 0x0204D654 push {r4, lr} ldr r2, _0204D678 ; =0x021C5A68 ldr r4, [r2, #0x0] @@ -146009,14 +146009,14 @@ sub_0204D654: ; 0x0204D654 ldr r2, [r2, #0x0] mov r0, #0x3e add r1, r2, r1 - bl sub_020311D0 + bl FUN_020311D0 _0204D674: pop {r4, pc} nop _0204D678: .word 0x021C5A68 - thumb_func_start sub_0204D67C -sub_0204D67C: ; 0x0204D67C + thumb_func_start FUN_0204D67C +FUN_0204D67C: ; 0x0204D67C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D6BC ; =0x021C5A68 @@ -146026,11 +146026,11 @@ sub_0204D67C: ; 0x0204D67C beq _0204D6B8 cmp r1, #0x1 beq _0204D692 - bl sub_02020C2C + bl FUN_02020C2C _0204D692: cmp r5, #0x8 blt _0204D69A - bl sub_02020C2C + bl FUN_02020C2C _0204D69A: ldrb r0, [r4, #0x0] mov r1, #0x1 @@ -146042,18 +146042,18 @@ _0204D69A: _0204D6A8: cmp r1, #0x0 bne _0204D6B0 - bl sub_02020C2C + bl FUN_02020C2C _0204D6B0: ldrb r1, [r4, #0x0] add r0, r5, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 _0204D6B8: pop {r3-r5, pc} nop _0204D6BC: .word 0x021C5A68 - thumb_func_start sub_0204D6C0 -sub_0204D6C0: ; 0x0204D6C0 + thumb_func_start FUN_0204D6C0 +FUN_0204D6C0: ; 0x0204D6C0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204D734 ; =0x021C5A68 @@ -146066,7 +146066,7 @@ sub_0204D6C0: ; 0x0204D6C0 cmp r0, #0x0 bne _0204D6E4 add r0, r4, #0x0 - bl sub_0204D654 + bl FUN_0204D654 ldr r0, _0204D734 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204D73C ; =0x000002C1 @@ -146075,28 +146075,28 @@ _0204D6E4: ldr r4, [r5, #0x38] cmp r4, #0x0 beq _0204D6F8 - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204D734 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] add r0, r1, r0 str r4, [r0, #0x8] _0204D6F8: - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 beq _0204D712 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0204D712 ldr r1, _0204D734 ; =0x021C5A68 mov r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0204D89C + bl FUN_0204D89C _0204D712: - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 beq _0204D732 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0204D732 ldr r0, _0204D734 ; =0x021C5A68 @@ -146105,7 +146105,7 @@ _0204D712: ldrb r0, [r1, r0] cmp r0, #0x0 bne _0204D732 - bl sub_0204EC28 + bl FUN_0204EC28 _0204D732: pop {r3-r5, pc} .balign 4 @@ -146113,8 +146113,8 @@ _0204D734: .word 0x021C5A68 _0204D738: .word 0x000002BE _0204D73C: .word 0x000002C1 - thumb_func_start sub_0204D740 -sub_0204D740: ; 0x0204D740 + thumb_func_start FUN_0204D740 +FUN_0204D740: ; 0x0204D740 mov r0, #0x20 tst r0, r1 beq _0204D74A @@ -146142,20 +146142,20 @@ _0204D768: sub r0, #0x81 bx lr - thumb_func_start sub_0204D76C -sub_0204D76C: ; 0x0204D76C + thumb_func_start FUN_0204D76C +FUN_0204D76C: ; 0x0204D76C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204D7AC ; =0x021C5A68 add r6, r1, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_02034B64 + bl FUN_02034B64 add r4, r0, #0x0 ldr r0, _0204D7AC ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_02034B6C + bl FUN_02034B6C mov r2, #0x0 cmp r4, #0x0 ble _0204D7A6 @@ -146179,8 +146179,8 @@ _0204D7A6: nop _0204D7AC: .word 0x021C5A68 - thumb_func_start sub_0204D7B0 -sub_0204D7B0: ; 0x0204D7B0 + thumb_func_start FUN_0204D7B0 +FUN_0204D7B0: ; 0x0204D7B0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204D824 ; =0x0000FFFF @@ -146195,11 +146195,11 @@ _0204D7C4: cmp r4, r7 beq _0204D7E0 add r0, r4, #0x0 - bl sub_0204E544 + bl FUN_0204E544 cmp r5, r0 bne _0204D7E0 add r0, r4, #0x0 - bl sub_0204E598 + bl FUN_0204E598 cmp r6, r0 bne _0204D7E0 mov r0, #0x1 @@ -146210,7 +146210,7 @@ _0204D7E0: blt _0204D7C4 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0204D76C + bl FUN_0204D76C cmp r0, #0x0 beq _0204D7F6 mov r0, #0x1 @@ -146224,7 +146224,7 @@ _0204D7F6: beq _0204D812 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02246F1C + bl FUN_02246F1C cmp r0, #0x0 bne _0204D812 mov r0, #0x1 @@ -146235,15 +146235,15 @@ _0204D812: ldr r0, [r0, #0x0] add r2, r6, #0x0 ldr r0, [r0, #0x54] - bl sub_0204A6B4 + bl FUN_0204A6B4 pop {r3-r7, pc} nop _0204D824: .word 0x0000FFFF _0204D828: .word 0x021C5A68 _0204D82C: .word 0x000002BE - thumb_func_start sub_0204D830 -sub_0204D830: ; 0x0204D830 + thumb_func_start FUN_0204D830 +FUN_0204D830: ; 0x0204D830 push {r3, lr} add r1, r0, #0x0 ldr r0, _0204D858 ; =0x021C5A68 @@ -146251,8 +146251,8 @@ sub_0204D830: ; 0x0204D830 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _0204D852 - bl sub_02244D40 - bl sub_02244DA0 + bl FUN_02244D40 + bl FUN_02244DA0 cmp r0, #0x0 bne _0204D84E mov r0, #0x1 @@ -146266,8 +146266,8 @@ _0204D852: nop _0204D858: .word 0x021C5A68 - thumb_func_start sub_0204D85C -sub_0204D85C: ; 0x0204D85C + thumb_func_start FUN_0204D85C +FUN_0204D85C: ; 0x0204D85C cmp r0, #0x5 bge _0204D864 mov r0, #0x8 @@ -146281,8 +146281,8 @@ _0204D86C: mov r0, #0x2 bx lr - thumb_func_start sub_0204D870 -sub_0204D870: ; 0x0204D870 + thumb_func_start FUN_0204D870 +FUN_0204D870: ; 0x0204D870 push {r3-r4, lr} sub sp, #0x14 ldr r3, _0204D898 ; =0x020F5824 @@ -146296,7 +146296,7 @@ sub_0204D870: ; 0x0204D870 cmp r4, #0x5 str r0, [r2, #0x0] blt _0204D88E - bl sub_02020C2C + bl FUN_02020C2C _0204D88E: lsl r1, r4, #0x2 add r0, sp, #0x0 @@ -146306,8 +146306,8 @@ _0204D88E: .balign 4 _0204D898: .word 0x020F5824 - thumb_func_start sub_0204D89C -sub_0204D89C: ; 0x0204D89C + thumb_func_start FUN_0204D89C +FUN_0204D89C: ; 0x0204D89C push {r3-r7, lr} sub sp, #0x18 mov r5, #0x0 @@ -146340,7 +146340,7 @@ _0204D8AA: cmp r0, #0x0 beq _0204D8E0 add r1, r5, #0x0 - bl sub_02244D40 + bl FUN_02244D40 str r0, [sp, #0x4] _0204D8E0: ldr r1, [r6, #0x0] @@ -146349,7 +146349,7 @@ _0204D8E0: cmp r0, #0x0 beq _0204D8F4 add r0, r5, #0x0 - bl sub_02245F4C + bl FUN_02245F4C cmp r0, #0x0 bne _0204D976 _0204D8F4: @@ -146376,22 +146376,22 @@ _0204D90A: cmp r0, #0x0 beq _0204D93C add r0, r5, #0x0 - bl sub_0223F8D8 + bl FUN_0223F8D8 cmp r0, #0x0 bne _0204D976 add r0, r5, #0x0 - bl sub_0204D830 + bl FUN_0204D830 cmp r0, #0x0 bne _0204D93C add r0, r5, #0x0 - bl sub_02247544 + bl FUN_02247544 cmp r0, #0x0 bne _0204D976 _0204D93C: ldr r0, [sp, #0x4] cmp r0, #0x0 beq _0204D94A - bl sub_02244DB0 + bl FUN_02244DB0 cmp r0, #0x0 beq _0204D976 _0204D94A: @@ -146405,11 +146405,11 @@ _0204D94A: b _0204D962 _0204D95A: add r0, r5, #0x0 - bl sub_02030F88 + bl FUN_02030F88 add r7, r0, #0x0 _0204D962: add r0, r5, #0x0 - bl sub_02030F74 + bl FUN_02030F74 strb r0, [r4, #0x5] ldr r0, [r6, #0x0] add r1, r0, r5 @@ -146424,11 +146424,11 @@ _0204D978: ldr r2, _0204DB04 ; =0x0000012A ldrb r0, [r1, r0] ldrb r1, [r1, r2] - bl sub_0204D85C + bl FUN_0204D85C str r0, [sp, #0x10] ldr r1, [sp, #0x10] add r0, r5, #0x0 - bl sub_0204E084 + bl FUN_0204E084 cmp r0, #0x0 beq _0204D9A8 ldr r0, [r6, #0x0] @@ -146468,18 +146468,18 @@ _0204D9B8: add r1, sp, #0x14 mov r0, #0x28 add r1, #0x1 - bl sub_02030C4C + bl FUN_02030C4C b _0204DAE2 _0204D9DE: add r0, r7, #0x0 add r1, r7, #0x0 - bl sub_0204D740 + bl FUN_0204D740 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0204E62C + bl FUN_0204E62C str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_0204E664 + bl FUN_0204E664 str r0, [sp, #0x8] ldr r1, [sp, #0xc] ldr r0, _0204DB10 ; =0x0000FFFF @@ -146533,14 +146533,14 @@ _0204DA44: ldr r1, [sp, #0xc] ldr r2, [sp, #0x8] add r0, r5, #0x0 - bl sub_0224566C + bl FUN_0224566C cmp r0, #0x1 beq _0204DAE2 _0204DA66: ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] add r2, r5, #0x0 - bl sub_0204D7B0 + bl FUN_0204D7B0 cmp r0, #0x0 beq _0204DA8E mov r0, #0x1 @@ -146568,7 +146568,7 @@ _0204DA8E: strh r0, [r4, #0x2] strb r7, [r4, #0x4] ldrb r0, [r4, #0x5] - bl sub_0204D870 + bl FUN_0204D870 ldr r1, [r6, #0x0] add r2, r1, r5 ldr r1, _0204DAFC ; =0x0000013A @@ -146596,7 +146596,7 @@ _0204DA8E: add r0, r5, #0x0 add r2, sp, #0x14 mov r3, #0x0 - bl sub_0224089C + bl FUN_0224089C _0204DAE2: ldr r0, [sp, #0x0] add r5, r5, #0x1 @@ -146619,8 +146619,8 @@ _0204DB0C: .word 0x00000122 _0204DB10: .word 0x0000FFFF _0204DB14: .word 0x0000011A - thumb_func_start sub_0204DB18 -sub_0204DB18: ; 0x0204DB18 + thumb_func_start FUN_0204DB18 +FUN_0204DB18: ; 0x0204DB18 push {r3-r7, lr} ldr r5, _0204DBC0 ; =0x021C5A68 add r7, r0, #0x0 @@ -146700,10 +146700,10 @@ _0204DB5A: ldrh r1, [r2, #0x0] ldrh r2, [r2, #0x2] ldr r0, [r0, #0x54] - bl sub_0204A6B4 + bl FUN_0204A6B4 cmp r0, #0x0 beq _0204DBBC - bl sub_02020C2C + bl FUN_02020C2C _0204DBBC: pop {r3-r7, pc} nop @@ -146711,15 +146711,15 @@ _0204DBC0: .word 0x021C5A68 _0204DBC4: .word 0x000002BB _0204DBC8: .word 0x00000132 - thumb_func_start sub_0204DBCC -sub_0204DBCC: ; 0x0204DBCC + thumb_func_start FUN_0204DBCC +FUN_0204DBCC: ; 0x0204DBCC push {r3-r5, lr} ldr r0, _0204DC28 ; =0x021C5A68 ldrb r4, [r2, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204DC24 - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 beq _0204DC24 ldr r0, _0204DC28 ; =0x021C5A68 @@ -146729,7 +146729,7 @@ sub_0204DBCC: ; 0x0204DBCC cmp r0, #0x0 beq _0204DC14 add r0, r4, #0x0 - bl sub_0223E554 + bl FUN_0223E554 ldr r0, _0204DC28 ; =0x021C5A68 ldr r3, [r0, #0x0] ldr r0, _0204DC30 ; =0x000002BD @@ -146745,14 +146745,14 @@ sub_0204DBCC: ; 0x0204DBCC ldrh r1, [r1, #0x0] ldrh r3, [r3, #0x0] mov r2, #0x0 - bl sub_021E5B30 + bl FUN_021E5B30 _0204DC14: mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_0204D43C + bl FUN_0204D43C add r0, r4, #0x0 - bl sub_0202DE78 + bl FUN_0202DE78 _0204DC24: pop {r3-r5, pc} nop @@ -146760,13 +146760,13 @@ _0204DC28: .word 0x021C5A68 _0204DC2C: .word 0x000002BE _0204DC30: .word 0x000002BD - thumb_func_start sub_0204DC34 -sub_0204DC34: ; 0x0204DC34 + thumb_func_start FUN_0204DC34 +FUN_0204DC34: ; 0x0204DC34 mov r0, #0x5 bx lr - thumb_func_start sub_0204DC38 -sub_0204DC38: ; 0x0204DC38 + thumb_func_start FUN_0204DC38 +FUN_0204DC38: ; 0x0204DC38 push {r3-r5, lr} ldrb r1, [r2, #0x0] mov r0, #0xf @@ -146825,57 +146825,57 @@ _0204DC5E: strb r0, [r1, #0x5] lsl r0, r3, #0x18 lsr r0, r0, #0x18 - bl sub_0204D328 + bl FUN_0204D328 _0204DCAC: pop {r3-r5, pc} nop _0204DCB0: .word 0x021C5A68 - thumb_func_start sub_0204DCB4 -sub_0204DCB4: ; 0x0204DCB4 + thumb_func_start FUN_0204DCB4 +FUN_0204DCB4: ; 0x0204DCB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_020377AC - bl sub_02026CC4 + bl FUN_020377AC + bl FUN_02026CC4 add r4, r0, #0x0 ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_020377AC - bl sub_02026CB4 + bl FUN_020377AC + bl FUN_02026CB4 ldr r0, _0204DD10 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204DD14 ; =0x000002BE ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DD0C - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 bne _0204DD0C add r0, r4, #0x0 - bl sub_020266B0 + bl FUN_020266B0 add r0, r4, #0x0 - bl sub_020266C8 + bl FUN_020266C8 cmp r0, #0x32 bne _0204DD0C ldr r0, _0204DD10 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x25 - bl sub_0202A170 + bl FUN_0202A170 _0204DD0C: pop {r3-r5, pc} nop _0204DD10: .word 0x021C5A68 _0204DD14: .word 0x000002BE - thumb_func_start sub_0204DD18 -sub_0204DD18: ; 0x0204DD18 + thumb_func_start FUN_0204DD18 +FUN_0204DD18: ; 0x0204DD18 push {r3-r7, lr} sub sp, #0x10 ldr r4, _0204DE24 ; =0x020F5808 @@ -146915,51 +146915,51 @@ _0204DD54: mov r0, #0x1 pop {r3-r7, pc} _0204DD5E: - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 ldr r0, _0204DE28 ; =0x021C5A68 ldr r1, [r0, #0x0] add r0, r7, #0x0 add r0, r1, r0 ldr r0, [r0, #0x8] - bl sub_020552F8 + bl FUN_020552F8 str r0, [sp, #0x0] ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204DE2C ; =0x00000102 ldrsb r0, [r1, r0] - bl sub_0204F610 + bl FUN_0204F610 ldr r1, [sp, #0x0] cmp r1, r0 beq _0204DDB4 add r0, r4, #0x0 mov r1, #0x80 - bl sub_02058418 + bl FUN_02058418 ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204DE2C ; =0x00000102 ldrsb r0, [r1, r0] - bl sub_0204F610 + bl FUN_0204F610 add r1, r0, #0x0 ldr r0, _0204DE28 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r7 ldr r0, [r0, #0x8] - bl sub_02055304 + bl FUN_02055304 add r0, r4, #0x0 mov r1, #0x80 - bl sub_02058410 + bl FUN_02058410 _0204DDB4: add r0, r4, #0x0 - bl sub_0205AE28 + bl FUN_0205AE28 add r0, r4, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _0204DE1C add r0, r5, #0x0 - bl sub_0204DCB4 + bl FUN_0204DCB4 cmp r6, #0x0 beq _0204DDD8 cmp r6, #0x1 @@ -146976,7 +146976,7 @@ _0204DDD8: ldrsb r2, [r2, r1] add r1, sp, #0x4 ldrb r1, [r1, r2] - bl sub_0205ADDC + bl FUN_0205ADDC b _0204DE1C _0204DDEE: ldr r1, _0204DE28 ; =0x021C5A68 @@ -146988,7 +146988,7 @@ _0204DDEE: add r2, r1, #0x4 add r1, sp, #0x4 ldrb r1, [r1, r2] - bl sub_0205ADDC + bl FUN_0205ADDC b _0204DE1C _0204DE06: ldr r1, _0204DE28 ; =0x021C5A68 @@ -147000,7 +147000,7 @@ _0204DE06: add r1, sp, #0x4 add r2, #0x8 ldrb r1, [r1, r2] - bl sub_0205ADDC + bl FUN_0205ADDC _0204DE1C: mov r0, #0x1 add sp, #0x10 @@ -147010,8 +147010,8 @@ _0204DE24: .word 0x020F5808 _0204DE28: .word 0x021C5A68 _0204DE2C: .word 0x00000102 - thumb_func_start sub_0204DE30 -sub_0204DE30: ; 0x0204DE30 + thumb_func_start FUN_0204DE30 +FUN_0204DE30: ; 0x0204DE30 push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 @@ -147046,7 +147046,7 @@ _0204DE54: ldrb r0, [r0, r1] cmp r0, #0x0 bne _0204DE86 - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204DE86 ldr r0, _0204E06C ; =0x021C5A68 @@ -147066,16 +147066,16 @@ _0204DE86: bne _0204DE98 b _0204E068 _0204DE98: - bl sub_02055320 + bl FUN_02055320 ldrh r1, [r5, #0x0] sub r0, r0, r1 str r0, [sp, #0x10] ldr r0, [sp, #0x18] - bl sub_0205532C + bl FUN_0205532C ldrh r1, [r5, #0x2] sub r7, r0, r1 ldr r0, [sp, #0x18] - bl sub_020552F8 + bl FUN_020552F8 str r0, [sp, #0xc] ldr r0, [sp, #0x10] cmp r0, #0x0 @@ -147086,10 +147086,10 @@ _0204DE98: b _0204DEEC _0204DEC2: ldr r0, [sp, #0x10] - blx sub_020DE3F0 + blx FUN_020DE3F0 add r6, r0, #0x0 add r0, r7, #0x0 - blx sub_020DE3F0 + blx FUN_020DE3F0 cmp r6, r0 ble _0204DEE2 ldr r0, [sp, #0x10] @@ -147109,14 +147109,14 @@ _0204DEEA: mov r6, #0x80 _0204DEEC: add r0, r7, #0x0 - blx sub_020DE3F0 + blx FUN_020DE3F0 ldr r0, [sp, #0x10] - blx sub_020DE3F0 + blx FUN_020DE3F0 ldrb r3, [r5, #0x5] add r0, r4, #0x0 add r1, r6, #0x0 add r2, r6, #0x0 - bl sub_0204DD18 + bl FUN_0204DD18 cmp r0, #0x0 beq _0204DF0A _0204DF08: @@ -147152,7 +147152,7 @@ _0204DF46: ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DF6C - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204DF6C ldr r0, _0204E06C ; =0x021C5A68 @@ -147164,7 +147164,7 @@ _0204DF46: strb r1, [r2, r0] b _0204E00C _0204DF6C: - bl sub_02030FE0 + bl FUN_02030FE0 cmp r0, #0x0 bne _0204DFA0 ldr r0, _0204E06C ; =0x021C5A68 @@ -147173,7 +147173,7 @@ _0204DF6C: ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204DFA0 - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204DFA0 mov r0, #0x1 @@ -147184,7 +147184,7 @@ _0204DF6C: ldr r3, [sp, #0x8] add r1, r6, #0x0 add r2, r6, #0x0 - bl sub_02057194 + bl FUN_02057194 add r7, r0, #0x0 b _0204E00C _0204DFA0: @@ -147227,7 +147227,7 @@ _0204DFDE: cmp r0, r1 beq _0204DFF6 mov r1, #0x24 - bl sub_0205AFDC + bl FUN_0205AFDC add r7, r0, #0x0 b _0204E00C _0204DFF6: @@ -147239,15 +147239,15 @@ _0204DFF6: ldr r3, [sp, #0x8] add r1, r6, #0x0 add r2, r6, #0x0 - bl sub_02057194 + bl FUN_02057194 add r7, r0, #0x0 _0204E00C: ldr r0, [sp, #0x18] - bl sub_02057254 + bl FUN_02057254 cmp r0, #0x0 bne _0204E020 ldr r0, [sp, #0x18] - bl sub_020570C4 + bl FUN_020570C4 cmp r0, #0x0 beq _0204E068 _0204E020: @@ -147255,7 +147255,7 @@ _0204E020: beq _0204E068 ldr r0, [sp, #0x18] add r1, r7, #0x0 - bl sub_02057260 + bl FUN_02057260 mov r0, #0x2 bic r6, r0 beq _0204E068 @@ -147267,7 +147267,7 @@ _0204E020: cmp r0, #0x0 bne _0204E050 ldr r0, [sp, #0x14] - bl sub_0204D870 + bl FUN_0204D870 ldr r1, _0204E06C ; =0x021C5A68 ldr r1, [r1, #0x0] add r2, r1, r4 @@ -147285,7 +147285,7 @@ _0204E050: strb r0, [r1, r4] _0204E062: add r0, r4, #0x0 - bl sub_0204DCB4 + bl FUN_0204DCB4 _0204E068: add sp, #0x1c pop {r4-r7, pc} @@ -147297,8 +147297,8 @@ _0204E078: .word 0x000002BD _0204E07C: .word 0x000002C1 _0204E080: .word 0x000002BE - thumb_func_start sub_0204E084 -sub_0204E084: ; 0x0204E084 + thumb_func_start FUN_0204E084 +FUN_0204E084: ; 0x0204E084 push {r3-r7, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -147328,24 +147328,24 @@ _0204E0AA: mov r0, #0x1 pop {r3-r7, pc} _0204E0B8: - bl sub_0204E544 + bl FUN_0204E544 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204E598 + bl FUN_0204E598 str r0, [sp, #0x0] ldr r0, _0204E16C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E174 ; =0x00000112 ldrb r0, [r1, r0] - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r6, r0 ldr r0, _0204E16C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 ldr r0, _0204E174 ; =0x00000112 ldrb r0, [r1, r0] - bl sub_02059C00 + bl FUN_02059C00 ldr r1, [sp, #0x0] add r6, r1, r0 ldr r0, _0204E16C ; =0x021C5A68 @@ -147358,7 +147358,7 @@ _0204E0B8: add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_0204D7B0 + bl FUN_0204D7B0 cmp r0, #0x0 beq _0204E110 ldr r1, _0204E16C ; =0x021C5A68 @@ -147387,7 +147387,7 @@ _0204E124: add r0, r5, #0x0 add r2, sp, #0x4 mov r3, #0x0 - bl sub_0224089C + bl FUN_0224089C add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} @@ -147424,8 +147424,8 @@ _0204E16C: .word 0x021C5A68 _0204E170: .word 0x0000010A _0204E174: .word 0x00000112 - thumb_func_start sub_0204E178 -sub_0204E178: ; 0x0204E178 + thumb_func_start FUN_0204E178 +FUN_0204E178: ; 0x0204E178 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204E1DC ; =0x021C5A68 @@ -147436,7 +147436,7 @@ sub_0204E178: ; 0x0204E178 add r6, r1, r0 add r0, r4, #0x0 add r7, r2, #0x0 - bl sub_0204F610 + bl FUN_0204F610 ldr r1, _0204E1DC ; =0x021C5A68 strb r0, [r6, #0x4] ldr r0, [r1, #0x0] @@ -147481,8 +147481,8 @@ _0204E1DC: .word 0x021C5A68 _0204E1E0: .word 0x00000112 _0204E1E4: .word 0x00000132 - thumb_func_start sub_0204E1E8 -sub_0204E1E8: ; 0x0204E1E8 + thumb_func_start FUN_0204E1E8 +FUN_0204E1E8: ; 0x0204E1E8 ldr r1, _0204E1F8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] @@ -147494,8 +147494,8 @@ sub_0204E1E8: ; 0x0204E1E8 _0204E1F8: .word 0x021C5A68 _0204E1FC: .word 0x0000010A - thumb_func_start sub_0204E200 -sub_0204E200: ; 0x0204E200 + thumb_func_start FUN_0204E200 +FUN_0204E200: ; 0x0204E200 ldr r1, _0204E210 ; =0x021C5A68 mov r2, #0xff ldr r1, [r1, #0x0] @@ -147507,8 +147507,8 @@ sub_0204E200: ; 0x0204E200 .balign 4 _0204E210: .word 0x021C5A68 - thumb_func_start sub_0204E214 -sub_0204E214: ; 0x0204E214 + thumb_func_start FUN_0204E214 +FUN_0204E214: ; 0x0204E214 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _0204E24C ; =0x021C5A68 @@ -147519,14 +147519,14 @@ sub_0204E214: ; 0x0204E214 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204E248 - bl sub_020553A0 + bl FUN_020553A0 mov r1, #0x80 add r6, r0, #0x0 - bl sub_02058410 + bl FUN_02058410 mov r1, #0x1 add r0, r6, #0x0 lsl r1, r1, #0x8 - bl sub_02058410 + bl FUN_02058410 ldr r0, _0204E24C ; =0x021C5A68 ldr r0, [r0, #0x0] add r1, r0, r5 @@ -147538,8 +147538,8 @@ _0204E248: _0204E24C: .word 0x021C5A68 _0204E250: .word 0x00000102 - thumb_func_start sub_0204E254 -sub_0204E254: ; 0x0204E254 + thumb_func_start FUN_0204E254 +FUN_0204E254: ; 0x0204E254 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0204E2A0 ; =0x021C5A68 @@ -147556,16 +147556,16 @@ sub_0204E254: ; 0x0204E254 mvn r1, r1 cmp r2, r1 beq _0204E29E - bl sub_020553A0 + bl FUN_020553A0 add r5, r0, #0x0 - bl sub_0205AE50 + bl FUN_0205AE50 add r0, r5, #0x0 mov r1, #0x80 - bl sub_02058418 + bl FUN_02058418 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x8 - bl sub_02058418 + bl FUN_02058418 ldr r0, _0204E2A0 ; =0x021C5A68 mov r2, #0x0 ldr r0, [r0, #0x0] @@ -147579,71 +147579,71 @@ _0204E29E: _0204E2A0: .word 0x021C5A68 _0204E2A4: .word 0x00000102 - thumb_func_start sub_0204E2A8 -sub_0204E2A8: ; 0x0204E2A8 + thumb_func_start FUN_0204E2A8 +FUN_0204E2A8: ; 0x0204E2A8 mov r0, #0x4 bx lr - thumb_func_start sub_0204E2AC -sub_0204E2AC: ; 0x0204E2AC - ldr r3, _0204E2B0 ; =sub_0204F7FC + thumb_func_start FUN_0204E2AC +FUN_0204E2AC: ; 0x0204E2AC + ldr r3, _0204E2B0 ; =FUN_0204F7FC bx r3 .balign 4 -_0204E2B0: .word sub_0204F7FC + 1 +_0204E2B0: .word FUN_0204F7FC + 1 - thumb_func_start sub_0204E2B4 -sub_0204E2B4: ; 0x0204E2B4 - ldr r3, _0204E2B8 ; =sub_0204F7FC + thumb_func_start FUN_0204E2B4 +FUN_0204E2B4: ; 0x0204E2B4 + ldr r3, _0204E2B8 ; =FUN_0204F7FC bx r3 .balign 4 -_0204E2B8: .word sub_0204F7FC + 1 +_0204E2B8: .word FUN_0204F7FC + 1 - thumb_func_start sub_0204E2BC -sub_0204E2BC: ; 0x0204E2BC - ldr r3, _0204E2C4 ; =sub_0204F774 + thumb_func_start FUN_0204E2BC +FUN_0204E2BC: ; 0x0204E2BC + ldr r3, _0204E2C4 ; =FUN_0204F774 mov r0, #0x2 bx r3 nop -_0204E2C4: .word sub_0204F774 + 1 +_0204E2C4: .word FUN_0204F774 + 1 - thumb_func_start sub_0204E2C8 -sub_0204E2C8: ; 0x0204E2C8 - ldr r3, _0204E2D0 ; =sub_0204F774 + thumb_func_start FUN_0204E2C8 +FUN_0204E2C8: ; 0x0204E2C8 + ldr r3, _0204E2D0 ; =FUN_0204F774 mov r0, #0x20 bx r3 nop -_0204E2D0: .word sub_0204F774 + 1 +_0204E2D0: .word FUN_0204F774 + 1 - thumb_func_start sub_0204E2D4 -sub_0204E2D4: ; 0x0204E2D4 - ldr r3, _0204E2DC ; =sub_0204F774 + thumb_func_start FUN_0204E2D4 +FUN_0204E2D4: ; 0x0204E2D4 + ldr r3, _0204E2DC ; =FUN_0204F774 mov r0, #0x1 bx r3 nop -_0204E2DC: .word sub_0204F774 + 1 +_0204E2DC: .word FUN_0204F774 + 1 - thumb_func_start sub_0204E2E0 -sub_0204E2E0: ; 0x0204E2E0 + thumb_func_start FUN_0204E2E0 +FUN_0204E2E0: ; 0x0204E2E0 push {r3, lr} add r1, sp, #0x0 strb r0, [r1, #0x0] mov r0, #0x1a add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C pop {r3, pc} - thumb_func_start sub_0204E2F0 -sub_0204E2F0: ; 0x0204E2F0 + thumb_func_start FUN_0204E2F0 +FUN_0204E2F0: ; 0x0204E2F0 ldr r3, _0204E2F8 ; =0x0223E4BD ldrb r0, [r2, #0x0] bx r3 nop _0204E2F8: .word 0x0223E4BD - thumb_func_start sub_0204E2FC -sub_0204E2FC: ; 0x0204E2FC + thumb_func_start FUN_0204E2FC +FUN_0204E2FC: ; 0x0204E2FC push {r3, lr} - bl sub_02031280 + bl FUN_02031280 cmp r0, #0x0 beq _0204E30A mov r0, #0x1 @@ -147656,8 +147656,8 @@ _0204E30A: mov r0, #0x0 pop {r3, pc} _0204E316: - bl sub_02031190 - bl sub_02030E7C + bl FUN_02031190 + bl FUN_02030E7C cmp r0, #0x0 bne _0204E326 mov r0, #0x0 @@ -147669,7 +147669,7 @@ _0204E326: ldrb r0, [r1, r0] cmp r0, #0x0 beq _0204E33E - bl sub_0204FE5C + bl FUN_0204FE5C cmp r0, #0x0 bne _0204E33E mov r0, #0x0 @@ -147681,8 +147681,8 @@ _0204E33E: _0204E344: .word 0x021C5A68 _0204E348: .word 0x000002BE - thumb_func_start sub_0204E34C -sub_0204E34C: ; 0x0204E34C + thumb_func_start FUN_0204E34C +FUN_0204E34C: ; 0x0204E34C ldr r1, _0204E358 ; =0x021C5A68 ldr r1, [r1, #0x0] add r0, r1, r0 @@ -147692,8 +147692,8 @@ sub_0204E34C: ; 0x0204E34C .balign 4 _0204E358: .word 0x021C5A68 - thumb_func_start sub_0204E35C -sub_0204E35C: ; 0x0204E35C + thumb_func_start FUN_0204E35C +FUN_0204E35C: ; 0x0204E35C push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E39C ; =0x021C5A68 @@ -147703,7 +147703,7 @@ sub_0204E35C: ; 0x0204E35C ldr r0, _0204E3A0 ; =0x0000FFFF pop {r4, pc} _0204E36C: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E382 ldr r0, _0204E39C ; =0x021C5A68 @@ -147714,7 +147714,7 @@ _0204E36C: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E382: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E398 ldr r0, _0204E39C ; =0x021C5A68 @@ -147731,8 +147731,8 @@ _0204E398: _0204E39C: .word 0x021C5A68 _0204E3A0: .word 0x0000FFFF - thumb_func_start sub_0204E3A4 -sub_0204E3A4: ; 0x0204E3A4 + thumb_func_start FUN_0204E3A4 +FUN_0204E3A4: ; 0x0204E3A4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E3E4 ; =0x021C5A68 @@ -147742,7 +147742,7 @@ sub_0204E3A4: ; 0x0204E3A4 ldr r0, _0204E3E8 ; =0x0000FFFF pop {r4, pc} _0204E3B4: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E3CA ldr r0, _0204E3E4 ; =0x021C5A68 @@ -147753,7 +147753,7 @@ _0204E3B4: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E3CA: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E3E0 ldr r0, _0204E3E4 ; =0x021C5A68 @@ -147770,8 +147770,8 @@ _0204E3E0: _0204E3E4: .word 0x021C5A68 _0204E3E8: .word 0x0000FFFF - thumb_func_start sub_0204E3EC -sub_0204E3EC: ; 0x0204E3EC + thumb_func_start FUN_0204E3EC +FUN_0204E3EC: ; 0x0204E3EC push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E438 ; =0x021C5A68 @@ -147781,7 +147781,7 @@ sub_0204E3EC: ; 0x0204E3EC ldr r0, _0204E43C ; =0x0000FFFF pop {r4, pc} _0204E3FC: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E412 ldr r0, _0204E438 ; =0x021C5A68 @@ -147792,7 +147792,7 @@ _0204E3FC: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E412: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E428 ldr r0, _0204E438 ; =0x021C5A68 @@ -147815,8 +147815,8 @@ _0204E42C: _0204E438: .word 0x021C5A68 _0204E43C: .word 0x0000FFFF - thumb_func_start sub_0204E440 -sub_0204E440: ; 0x0204E440 + thumb_func_start FUN_0204E440 +FUN_0204E440: ; 0x0204E440 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E48C ; =0x021C5A68 @@ -147826,7 +147826,7 @@ sub_0204E440: ; 0x0204E440 ldr r0, _0204E490 ; =0x0000FFFF pop {r4, pc} _0204E450: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E466 ldr r0, _0204E48C ; =0x021C5A68 @@ -147837,7 +147837,7 @@ _0204E450: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E466: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E47C ldr r0, _0204E48C ; =0x021C5A68 @@ -147860,8 +147860,8 @@ _0204E480: _0204E48C: .word 0x021C5A68 _0204E490: .word 0x0000FFFF - thumb_func_start sub_0204E494 -sub_0204E494: ; 0x0204E494 + thumb_func_start FUN_0204E494 +FUN_0204E494: ; 0x0204E494 ldr r1, _0204E4AC ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -147878,8 +147878,8 @@ _0204E4A6: _0204E4AC: .word 0x021C5A68 _0204E4B0: .word 0x0000FFFF - thumb_func_start sub_0204E4B4 -sub_0204E4B4: ; 0x0204E4B4 + thumb_func_start FUN_0204E4B4 +FUN_0204E4B4: ; 0x0204E4B4 ldr r1, _0204E4CC ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -147896,11 +147896,11 @@ _0204E4C6: _0204E4CC: .word 0x021C5A68 _0204E4D0: .word 0x0000FFFF - thumb_func_start sub_0204E4D4 -sub_0204E4D4: ; 0x0204E4D4 + thumb_func_start FUN_0204E4D4 +FUN_0204E4D4: ; 0x0204E4D4 push {r4, lr} add r4, r0, #0x0 - bl sub_0204E3EC + bl FUN_0204E3EC ldr r1, _0204E504 ; =0x0000FFFF cmp r0, r1 bne _0204E4E6 @@ -147913,7 +147913,7 @@ _0204E4E6: add r1, r0, r4 mov r0, #0xa6 ldrsb r0, [r1, r0] - bl sub_02059BF4 + bl FUN_02059BF4 ldr r1, _0204E508 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 @@ -147925,11 +147925,11 @@ _0204E4E6: _0204E504: .word 0x0000FFFF _0204E508: .word 0x021C5A68 - thumb_func_start sub_0204E50C -sub_0204E50C: ; 0x0204E50C + thumb_func_start FUN_0204E50C +FUN_0204E50C: ; 0x0204E50C push {r4, lr} add r4, r0, #0x0 - bl sub_0204E440 + bl FUN_0204E440 ldr r1, _0204E53C ; =0x0000FFFF cmp r0, r1 bne _0204E51E @@ -147942,7 +147942,7 @@ _0204E51E: add r1, r0, r4 mov r0, #0xa6 ldrsb r0, [r1, r0] - bl sub_02059C00 + bl FUN_02059C00 ldr r1, _0204E540 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 @@ -147954,8 +147954,8 @@ _0204E51E: _0204E53C: .word 0x0000FFFF _0204E540: .word 0x021C5A68 - thumb_func_start sub_0204E544 -sub_0204E544: ; 0x0204E544 + thumb_func_start FUN_0204E544 +FUN_0204E544: ; 0x0204E544 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E590 ; =0x021C5A68 @@ -147965,7 +147965,7 @@ sub_0204E544: ; 0x0204E544 ldr r0, _0204E594 ; =0x0000FFFF pop {r4, pc} _0204E554: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E56A ldr r0, _0204E590 ; =0x021C5A68 @@ -147976,7 +147976,7 @@ _0204E554: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E56A: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E580 ldr r0, _0204E590 ; =0x021C5A68 @@ -147999,8 +147999,8 @@ _0204E584: _0204E590: .word 0x021C5A68 _0204E594: .word 0x0000FFFF - thumb_func_start sub_0204E598 -sub_0204E598: ; 0x0204E598 + thumb_func_start FUN_0204E598 +FUN_0204E598: ; 0x0204E598 push {r4, lr} add r4, r0, #0x0 ldr r0, _0204E5E4 ; =0x021C5A68 @@ -148010,7 +148010,7 @@ sub_0204E598: ; 0x0204E598 ldr r0, _0204E5E8 ; =0x0000FFFF pop {r4, pc} _0204E5A8: - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204E5BE ldr r0, _0204E5E4 ; =0x021C5A68 @@ -148021,7 +148021,7 @@ _0204E5A8: ldrh r0, [r0, #0x0] pop {r4, pc} _0204E5BE: - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E5D4 ldr r0, _0204E5E4 ; =0x021C5A68 @@ -148044,8 +148044,8 @@ _0204E5D8: _0204E5E4: .word 0x021C5A68 _0204E5E8: .word 0x0000FFFF - thumb_func_start sub_0204E5EC -sub_0204E5EC: ; 0x0204E5EC + thumb_func_start FUN_0204E5EC +FUN_0204E5EC: ; 0x0204E5EC ldr r1, _0204E604 ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -148062,8 +148062,8 @@ _0204E5FE: _0204E604: .word 0x021C5A68 _0204E608: .word 0x0000FFFF - thumb_func_start sub_0204E60C -sub_0204E60C: ; 0x0204E60C + thumb_func_start FUN_0204E60C +FUN_0204E60C: ; 0x0204E60C ldr r1, _0204E624 ; =0x021C5A68 ldr r1, [r1, #0x0] cmp r1, #0x0 @@ -148080,11 +148080,11 @@ _0204E61E: _0204E624: .word 0x021C5A68 _0204E628: .word 0x0000FFFF - thumb_func_start sub_0204E62C -sub_0204E62C: ; 0x0204E62C + thumb_func_start FUN_0204E62C +FUN_0204E62C: ; 0x0204E62C push {r4, lr} add r4, r0, #0x0 - bl sub_0204E544 + bl FUN_0204E544 ldr r1, _0204E65C ; =0x0000FFFF cmp r0, r1 bne _0204E63E @@ -148097,7 +148097,7 @@ _0204E63E: add r1, r0, r4 mov r0, #0x66 ldrsb r0, [r1, r0] - bl sub_02059BF4 + bl FUN_02059BF4 ldr r1, _0204E660 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 @@ -148109,11 +148109,11 @@ _0204E63E: _0204E65C: .word 0x0000FFFF _0204E660: .word 0x021C5A68 - thumb_func_start sub_0204E664 -sub_0204E664: ; 0x0204E664 + thumb_func_start FUN_0204E664 +FUN_0204E664: ; 0x0204E664 push {r4, lr} add r4, r0, #0x0 - bl sub_0204E598 + bl FUN_0204E598 ldr r1, _0204E694 ; =0x0000FFFF cmp r0, r1 bne _0204E676 @@ -148126,7 +148126,7 @@ _0204E676: add r1, r0, r4 mov r0, #0x66 ldrsb r0, [r1, r0] - bl sub_02059C00 + bl FUN_02059C00 ldr r1, _0204E698 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r4 @@ -148138,11 +148138,11 @@ _0204E676: _0204E694: .word 0x0000FFFF _0204E698: .word 0x021C5A68 - thumb_func_start sub_0204E69C -sub_0204E69C: ; 0x0204E69C + thumb_func_start FUN_0204E69C +FUN_0204E69C: ; 0x0204E69C push {r4, lr} add r4, r0, #0x0 - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E6B6 ldr r0, _0204E6C8 ; =0x021C5A68 @@ -148165,11 +148165,11 @@ _0204E6BC: nop _0204E6C8: .word 0x021C5A68 - thumb_func_start sub_0204E6CC -sub_0204E6CC: ; 0x0204E6CC + thumb_func_start FUN_0204E6CC +FUN_0204E6CC: ; 0x0204E6CC push {r4, lr} add r4, r0, #0x0 - bl sub_0204E2FC + bl FUN_0204E2FC cmp r0, #0x0 beq _0204E6E6 ldr r0, _0204E6F8 ; =0x021C5A68 @@ -148192,8 +148192,8 @@ _0204E6EC: nop _0204E6F8: .word 0x021C5A68 - thumb_func_start sub_0204E6FC -sub_0204E6FC: ; 0x0204E6FC + thumb_func_start FUN_0204E6FC +FUN_0204E6FC: ; 0x0204E6FC push {r4, lr} add r4, r1, #0x0 ldr r1, _0204E728 ; =0x021C5A68 @@ -148202,7 +148202,7 @@ sub_0204E6FC: ; 0x0204E6FC add r1, r1, r0 mov r0, #0x66 ldrsb r0, [r1, r0] - bl sub_0204F610 + bl FUN_0204F610 ldr r2, _0204E728 ; =0x021C5A68 lsl r1, r4, #0x3 ldr r3, [r2, #0x0] @@ -148219,8 +148219,8 @@ sub_0204E6FC: ; 0x0204E6FC _0204E728: .word 0x021C5A68 _0204E72C: .word 0x00000132 - thumb_func_start sub_0204E730 -sub_0204E730: ; 0x0204E730 + thumb_func_start FUN_0204E730 +FUN_0204E730: ; 0x0204E730 push {r4, lr} add r4, r1, #0x0 ldr r1, _0204E754 ; =0x021C5A68 @@ -148229,7 +148229,7 @@ sub_0204E730: ; 0x0204E730 add r1, r1, r0 mov r0, #0xa6 ldrsb r0, [r1, r0] - bl sub_0204F610 + bl FUN_0204F610 ldr r1, _0204E754 ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x3 @@ -148240,8 +148240,8 @@ sub_0204E730: ; 0x0204E730 nop _0204E754: .word 0x021C5A68 - thumb_func_start sub_0204E758 -sub_0204E758: ; 0x0204E758 + thumb_func_start FUN_0204E758 +FUN_0204E758: ; 0x0204E758 push {r4, lr} add r2, r0, #0x0 ldr r0, _0204E774 ; =0x021C5A68 @@ -148249,29 +148249,29 @@ sub_0204E758: ; 0x0204E758 ldr r0, [r0, #0x0] add r1, r2, #0x0 ldr r0, [r0, #0x4] - bl sub_02244D40 + bl FUN_02244D40 add r1, r4, #0x0 - bl sub_02244D98 + bl FUN_02244D98 pop {r4, pc} nop _0204E774: .word 0x021C5A68 - thumb_func_start sub_0204E778 -sub_0204E778: ; 0x0204E778 + thumb_func_start FUN_0204E778 +FUN_0204E778: ; 0x0204E778 push {r3, lr} add r1, r0, #0x0 ldr r0, _0204E790 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_02244D40 + bl FUN_02244D40 mov r1, #0x0 - bl sub_02244D98 + bl FUN_02244D98 pop {r3, pc} nop _0204E790: .word 0x021C5A68 - thumb_func_start sub_0204E794 -sub_0204E794: ; 0x0204E794 + thumb_func_start FUN_0204E794 +FUN_0204E794: ; 0x0204E794 push {r3-r7, lr} sub sp, #0x8 str r1, [sp, #0x0] @@ -148283,12 +148283,12 @@ sub_0204E794: ; 0x0204E794 add r0, r6, #0x0 str r2, [sp, #0x4] add r5, r4, r7 - bl sub_02059BF4 + bl FUN_02059BF4 ldr r1, [sp, #0x0] add r0, r1, r0 strh r0, [r4, r7] add r0, r6, #0x0 - bl sub_02059C00 + bl FUN_02059C00 ldr r1, [sp, #0x4] add r0, r1, r0 strh r0, [r5, #0x2] @@ -148298,8 +148298,8 @@ sub_0204E794: ; 0x0204E794 nop _0204E7C8: .word 0x021C5A68 - thumb_func_start sub_0204E7CC -sub_0204E7CC: ; 0x0204E7CC + thumb_func_start FUN_0204E7CC +FUN_0204E7CC: ; 0x0204E7CC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204E848 ; =0x021C5A68 @@ -148321,7 +148321,7 @@ sub_0204E7CC: ; 0x0204E7CC ldrh r3, [r4, #0x2] ldr r0, [r0, #0x54] mov r2, #0x0 - bl sub_021E5B30 + bl FUN_021E5B30 _0204E7FA: strh r6, [r4, #0x0] ldr r0, [sp, #0x0] @@ -148337,7 +148337,7 @@ _0204E7FA: ldr r3, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02055514 + bl FUN_02055514 _0204E81A: ldr r0, _0204E848 ; =0x021C5A68 ldr r1, [r0, #0x0] @@ -148349,7 +148349,7 @@ _0204E81A: ldrh r1, [r4, #0x0] ldrh r3, [r4, #0x2] mov r2, #0x0 - bl sub_021E5B30 + bl FUN_021E5B30 _0204E832: ldr r0, _0204E848 ; =0x021C5A68 ldr r1, [r0, #0x0] @@ -148358,15 +148358,15 @@ _0204E832: cmp r0, #0x0 bne _0204E844 add r0, r5, #0x0 - bl sub_0204F0A8 + bl FUN_0204F0A8 _0204E844: pop {r3-r7, pc} nop _0204E848: .word 0x021C5A68 _0204E84C: .word 0x000002BD - thumb_func_start sub_0204E850 -sub_0204E850: ; 0x0204E850 + thumb_func_start FUN_0204E850 +FUN_0204E850: ; 0x0204E850 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x2 @@ -148381,11 +148381,11 @@ sub_0204E850: ; 0x0204E850 ldrb r1, [r1, #0x0] cmp r1, #0x0 beq _0204E88A - bl sub_0204D830 + bl FUN_0204D830 cmp r0, #0x0 bne _0204E88A add r0, r4, #0x0 - bl sub_0204EE9C + bl FUN_0204EE9C cmp r0, #0x0 add r0, sp, #0x0 beq _0204E886 @@ -148399,7 +148399,7 @@ _0204E88A: mov r0, #0x1d add r1, sp, #0x0 mov r2, #0x2 - bl sub_02030BC4 + bl FUN_02030BC4 cmp r0, #0x0 beq _0204E8A8 add r0, sp, #0x0 @@ -148408,15 +148408,15 @@ _0204E88A: beq _0204E8A8 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 _0204E8A8: add sp, #0x4 pop {r3-r4, pc} .balign 4 _0204E8AC: .word 0x021C5A68 - thumb_func_start sub_0204E8B0 -sub_0204E8B0: ; 0x0204E8B0 + thumb_func_start FUN_0204E8B0 +FUN_0204E8B0: ; 0x0204E8B0 push {r3-r6} ldr r2, _0204E8F8 ; =0x021C5A68 ldr r3, [r2, #0x0] @@ -148459,17 +148459,17 @@ _0204E8E8: .balign 4 _0204E8F8: .word 0x021C5A68 - thumb_func_start sub_0204E8FC -sub_0204E8FC: ; 0x0204E8FC + thumb_func_start FUN_0204E8FC +FUN_0204E8FC: ; 0x0204E8FC push {r4, lr} add r4, r2, #0x0 - bl sub_02030FE0 + bl FUN_02030FE0 cmp r0, #0x0 beq _0204E962 ldrb r0, [r4, #0x0] cmp r0, #0x1 bne _0204E936 - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r4, #0x1] cmp r1, r0 bne _0204E936 @@ -148483,15 +148483,15 @@ sub_0204E8FC: ; 0x0204E8FC mov r2, #0x1 strb r2, [r3, r0] ldr r1, [r1, #0x0] - ldr r0, _0204E968 ; =sub_0204D308 + ldr r0, _0204E968 ; =FUN_0204D308 ldr r1, [r1, #0x54] - bl sub_022494C8 + bl FUN_022494C8 pop {r4, pc} _0204E936: ldrb r0, [r4, #0x0] cmp r0, #0x3 bne _0204E962 - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r4, #0x1] cmp r1, r0 bne _0204E962 @@ -148505,64 +148505,64 @@ _0204E936: mov r2, #0x1 strb r2, [r3, r0] ldr r1, [r1, #0x0] - ldr r0, _0204E968 ; =sub_0204D308 + ldr r0, _0204E968 ; =FUN_0204D308 ldr r1, [r1, #0x54] - bl sub_0224A7C8 + bl FUN_0224A7C8 _0204E962: pop {r4, pc} .balign 4 _0204E964: .word 0x021C5A68 -_0204E968: .word sub_0204D308 + 1 +_0204E968: .word FUN_0204D308 + 1 - thumb_func_start sub_0204E96C -sub_0204E96C: ; 0x0204E96C + thumb_func_start FUN_0204E96C +FUN_0204E96C: ; 0x0204E96C push {r4-r6, lr} ldr r0, _0204EACC ; =0x021C5A68 add r5, r2, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r6, r0, #0x0 ldrb r0, [r5, #0x1] cmp r0, #0x8 blo _0204E988 - bl sub_02020C2C + bl FUN_02020C2C _0204E988: ldrb r0, [r5, #0x0] cmp r0, #0x4 bne _0204E9AA - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204E9AA - bl sub_0204F7E4 - bl sub_0223D638 - ldr r3, _0204EAD0 ; =sub_0204E2AC + bl FUN_0204F7E4 + bl FUN_0223D638 + ldr r3, _0204EAD0 ; =FUN_0204E2AC mov r1, #0x48 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 _0204E9AA: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204E9B8 ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] - bl sub_0204E730 + bl FUN_0204E730 _0204E9B8: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204EA7C - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204EA7C ldr r2, _0204EACC ; =0x021C5A68 ldrb r0, [r5, #0x2] ldr r2, [r2, #0x0] - ldr r1, _0204EAD4 ; =sub_0204D308 + ldr r1, _0204EAD4 ; =FUN_0204D308 ldr r2, [r2, #0x54] - bl sub_02247A34 + bl FUN_02247A34 ldr r0, _0204EACC ; =0x021C5A68 ldrb r4, [r5, #0x1] ldr r2, [r0, #0x0] @@ -148612,26 +148612,26 @@ _0204E9B8: cmp r0, #0x0 bne _0204EA7C ldr r0, [r1, #0x54] - bl sub_020377AC - bl sub_02026CB4 + bl FUN_020377AC + bl FUN_02026CB4 add r1, r4, #0x0 - bl sub_02026908 + bl FUN_02026908 add r0, r6, #0x0 - bl sub_0205F688 + bl FUN_0205F688 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_0205F698 + bl FUN_0205F698 add r0, r6, #0x0 - bl sub_0205F6A8 + bl FUN_0205F6A8 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_0205F6B8 + bl FUN_0205F6B8 ldr r0, _0204EACC ; =0x021C5A68 ldrb r1, [r5, #0x2] ldr r2, [r0, #0x0] @@ -148644,7 +148644,7 @@ _0204EA7C: cmp r0, #0x1 bne _0204EA9A ldrb r4, [r5, #0x2] - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204EA9A ldr r2, _0204EACC ; =0x021C5A68 @@ -148652,37 +148652,37 @@ _0204EA7C: ldr r2, [r2, #0x0] add r0, r4, #0x0 ldr r2, [r2, #0x54] - bl sub_02248DF8 + bl FUN_02248DF8 _0204EA9A: ldrb r0, [r5, #0x0] cmp r0, #0x2 bne _0204EABC - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204EABC - bl sub_0204F7E4 - bl sub_0223D638 - ldr r3, _0204EAD0 ; =sub_0204E2AC + bl FUN_0204F7E4 + bl FUN_0223D638 + ldr r3, _0204EAD0 ; =FUN_0204E2AC mov r1, #0x2 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 _0204EABC: ldrb r0, [r5, #0x0] cmp r0, #0x1 bne _0204EACA ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] - bl sub_0223E4A8 + bl FUN_0223E4A8 _0204EACA: pop {r4-r6, pc} .balign 4 _0204EACC: .word 0x021C5A68 -_0204EAD0: .word sub_0204E2AC + 1 -_0204EAD4: .word sub_0204D308 + 1 +_0204EAD0: .word FUN_0204E2AC + 1 +_0204EAD4: .word FUN_0204D308 + 1 - thumb_func_start sub_0204EAD8 -sub_0204EAD8: ; 0x0204EAD8 + thumb_func_start FUN_0204EAD8 +FUN_0204EAD8: ; 0x0204EAD8 push {r3-r4} ldr r3, _0204EB0C ; =0x021C5A68 ldr r4, [r3, #0x0] @@ -148714,8 +148714,8 @@ _0204EB08: _0204EB0C: .word 0x021C5A68 _0204EB10: .word 0x00000132 - thumb_func_start sub_0204EB14 -sub_0204EB14: ; 0x0204EB14 + thumb_func_start FUN_0204EB14 +FUN_0204EB14: ; 0x0204EB14 ldr r1, _0204EB3C ; =0x021C5A68 ldr r2, [r1, #0x0] ldr r1, _0204EB40 ; =0x000002C2 @@ -148741,8 +148741,8 @@ _0204EB36: _0204EB3C: .word 0x021C5A68 _0204EB40: .word 0x000002C2 - thumb_func_start sub_0204EB44 -sub_0204EB44: ; 0x0204EB44 + thumb_func_start FUN_0204EB44 +FUN_0204EB44: ; 0x0204EB44 push {r3-r7, lr} sub sp, #0x30 ldr r1, _0204EBF8 ; =0x020F5800 @@ -148765,8 +148765,8 @@ _0204EB62: add r2, r2, #0x2 sub r1, r1, #0x1 bne _0204EB62 - bl sub_02033534 - bl sub_02031248 + bl FUN_02033534 + bl FUN_02031248 add r6, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x4] @@ -148787,12 +148787,12 @@ _0204EB8E: ble _0204EBCC _0204EB94: add r0, r4, #0x0 - bl sub_0204E3EC + bl FUN_0204E3EC ldrh r1, [r5, #0x0] cmp r1, r0 bne _0204EBC6 add r0, r4, #0x0 - bl sub_0204E440 + bl FUN_0204E440 ldrh r1, [r5, #0x2] cmp r1, r0 bne _0204EBC6 @@ -148802,7 +148802,7 @@ _0204EB94: str r0, [sp, #0x4] add r0, sp, #0x10 str r7, [r0, r1] - bl sub_02031190 + bl FUN_02031190 cmp r4, r0 bne _0204EBCC mov r0, #0x1 @@ -148828,7 +148828,7 @@ _0204EBD4: _0204EBE2: ldr r0, [r4, #0x0] add r1, r5, #0x0 - bl sub_020313B4 + bl FUN_020313B4 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, r6 @@ -148841,8 +148841,8 @@ _0204EBF2: _0204EBF8: .word 0x020F5800 _0204EBFC: .word 0x020F5814 - thumb_func_start sub_0204EC00 -sub_0204EC00: ; 0x0204EC00 + thumb_func_start FUN_0204EC00 +FUN_0204EC00: ; 0x0204EC00 ldrb r2, [r2, #0x0] cmp r2, #0x3 bne _0204EC14 @@ -148864,12 +148864,12 @@ _0204EC14: nop _0204EC24: .word 0x021C5A68 - thumb_func_start sub_0204EC28 -sub_0204EC28: ; 0x0204EC28 + thumb_func_start FUN_0204EC28 +FUN_0204EC28: ; 0x0204EC28 push {r3-r7, lr} sub sp, #0x8 - bl sub_02033534 - bl sub_02031248 + bl FUN_02033534 + bl FUN_02031248 add r7, r0, #0x0 cmp r7, #0x2 bne _0204EC40 @@ -148902,12 +148902,12 @@ _0204EC4E: ldr r5, [sp, #0x0] _0204EC6A: ldrb r0, [r6, #0x0] - bl sub_0204E544 + bl FUN_0204E544 ldrh r1, [r5, #0x0] cmp r1, r0 bne _0204EC98 ldrb r0, [r6, #0x0] - bl sub_0204E598 + bl FUN_0204E598 ldrh r1, [r5, #0x2] cmp r1, r0 bne _0204EC98 @@ -148920,7 +148920,7 @@ _0204EC6A: strb r0, [r1, #0x0] mov r0, #0x5f add r1, sp, #0x4 - bl sub_02030C4C + bl FUN_02030C4C _0204EC98: add r4, r4, #0x1 add r5, r5, #0x4 @@ -148942,26 +148942,26 @@ _0204ECB4: .word 0x02105E5C _0204ECB8: .word 0x02105E64 _0204ECBC: .word 0x021C5A68 - thumb_func_start sub_0204ECC0 -sub_0204ECC0: ; 0x0204ECC0 + thumb_func_start FUN_0204ECC0 +FUN_0204ECC0: ; 0x0204ECC0 push {r4, lr} - bl sub_02031190 + bl FUN_02031190 add r4, r0, #0x0 - bl sub_0204E3EC + bl FUN_0204E3EC cmp r0, #0x8 ble _0204ECE0 mov r0, #0x2 - bl sub_0204F6DC + bl FUN_0204F6DC mov r0, #0x2 mov r1, #0x24 - bl sub_0205AFDC + bl FUN_0205AFDC b _0204ECEE _0204ECE0: mov r0, #0x3 - bl sub_0204F6DC + bl FUN_0204F6DC mov r0, #0x3 mov r1, #0x24 - bl sub_0205AFDC + bl FUN_0205AFDC _0204ECEE: add r1, r0, #0x0 ldr r0, _0204ED04 ; =0x021C5A68 @@ -148969,18 +148969,18 @@ _0204ECEE: lsl r0, r4, #0x2 add r0, r2, r0 ldr r0, [r0, #0x8] - bl sub_02057260 - bl sub_0204FB14 + bl FUN_02057260 + bl FUN_0204FB14 pop {r4, pc} .balign 4 _0204ED04: .word 0x021C5A68 - thumb_func_start sub_0204ED08 -sub_0204ED08: ; 0x0204ED08 + thumb_func_start FUN_0204ED08 +FUN_0204ED08: ; 0x0204ED08 push {r3-r7, lr} sub sp, #0x8 - bl sub_02033534 - bl sub_02031248 + bl FUN_02033534 + bl FUN_02031248 mov r3, #0x0 str r0, [sp, #0x0] cmp r0, #0x0 @@ -149016,14 +149016,14 @@ _0204ED46: add r7, #0x62 add r6, r7, r4 ldrsb r0, [r6, r0] - bl sub_0204F610 + bl FUN_0204F610 str r0, [sp, #0x4] - bl sub_02059BF4 + bl FUN_02059BF4 ldrh r1, [r7, r4] add r0, r1, r0 strh r0, [r7, r4] ldr r0, [sp, #0x4] - bl sub_02059C00 + bl FUN_02059C00 ldrh r1, [r6, #0x2] add r0, r1, r0 strh r0, [r6, #0x2] @@ -149036,7 +149036,7 @@ _0204ED46: ldr r0, _0204ED98 ; =0x00000132 strb r1, [r2, r0] add r0, r5, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 ldr r0, [sp, #0x0] add r5, r5, #0x1 add r4, #0x8 @@ -149050,8 +149050,8 @@ _0204ED8E: _0204ED94: .word 0x021C5A68 _0204ED98: .word 0x00000132 - thumb_func_start sub_0204ED9C -sub_0204ED9C: ; 0x0204ED9C + thumb_func_start FUN_0204ED9C +FUN_0204ED9C: ; 0x0204ED9C push {r4, lr} add r4, r0, #0x0 ldr r0, _0204EDE8 ; =0x021C5A68 @@ -149063,7 +149063,7 @@ sub_0204ED9C: ; 0x0204ED9C ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EDE2 - bl sub_02016A18 + bl FUN_02016A18 ldr r2, _0204EDE8 ; =0x021C5A68 lsl r1, r4, #0x2 ldr r3, [r2, #0x0] @@ -149092,11 +149092,11 @@ _0204EDE2: nop _0204EDE8: .word 0x021C5A68 - thumb_func_start sub_0204EDEC -sub_0204EDEC: ; 0x0204EDEC + thumb_func_start FUN_0204EDEC +FUN_0204EDEC: ; 0x0204EDEC push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r7, r0 bne _0204EE90 ldr r0, _0204EE98 ; =0x021C5A68 @@ -149110,9 +149110,9 @@ sub_0204EDEC: ; 0x0204EDEC beq _0204EE96 ldr r0, [r2, #0x54] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x1c - bl sub_0202A170 + bl FUN_0202A170 ldr r0, _0204EE98 ; =0x021C5A68 ldr r1, [r0, #0x0] mov r0, #0xa3 @@ -149120,7 +149120,7 @@ sub_0204EDEC: ; 0x0204EDEC ldr r0, [r1, r0] cmp r0, #0x0 beq _0204EE2A - bl sub_02016A18 + bl FUN_02016A18 _0204EE2A: mov r0, #0x9e lsl r0, r0, #0x2 @@ -149148,13 +149148,13 @@ _0204EE36: str r2, [r3, r0] ldr r5, [r1, #0x0] ldr r0, [r5, #0x54] - bl sub_020377AC - bl sub_02026CC4 + bl FUN_020377AC + bl FUN_02026CC4 mov r1, #0x29 add r2, r5, r4 lsl r1, r1, #0x4 ldr r1, [r2, r1] - bl sub_02025C40 + bl FUN_02025C40 ldr r1, _0204EE98 ; =0x021C5A68 mov r3, #0x0 ldr r0, [r1, #0x0] @@ -149173,14 +149173,14 @@ _0204EE36: pop {r3-r7, pc} _0204EE90: add r0, r7, #0x0 - bl sub_0204ED9C + bl FUN_0204ED9C _0204EE96: pop {r3-r7, pc} .balign 4 _0204EE98: .word 0x021C5A68 - thumb_func_start sub_0204EE9C -sub_0204EE9C: ; 0x0204EE9C + thumb_func_start FUN_0204EE9C +FUN_0204EE9C: ; 0x0204EE9C ldr r1, _0204EEB8 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] @@ -149198,8 +149198,8 @@ _0204EEB2: nop _0204EEB8: .word 0x021C5A68 - thumb_func_start sub_0204EEBC -sub_0204EEBC: ; 0x0204EEBC + thumb_func_start FUN_0204EEBC +FUN_0204EEBC: ; 0x0204EEBC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0204EF48 ; =0x021C5A68 @@ -149213,12 +149213,12 @@ sub_0204EEBC: ; 0x0204EEBC cmp r0, #0x0 bne _0204EF44 add r0, r6, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r7, r0, #0x0 beq _0204EF44 mov r0, #0xf lsl r4, r5, #0x2 - bl sub_02023928 + bl FUN_02023928 mov r3, #0x29 ldr r1, _0204EF48 ; =0x021C5A68 add r2, r0, #0x0 @@ -149230,7 +149230,7 @@ sub_0204EEBC: ; 0x0204EEBC add r0, r7, #0x0 add r1, r1, r4 ldr r1, [r1, r3] - bl sub_0202393C + bl FUN_0202393C ldr r1, _0204EF48 ; =0x021C5A68 mov r2, #0x1 ldr r0, [r1, #0x0] @@ -149249,16 +149249,16 @@ sub_0204EEBC: ; 0x0204EEBC add r1, r1, r3 add r0, r7, #0x0 add r1, r1, r2 - bl sub_0202393C - bl sub_02031190 + bl FUN_0202393C + bl FUN_02031190 cmp r6, r0 bne _0204EF40 ldr r0, _0204EF48 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] - bl sub_02026CB4 - bl sub_02026BC8 + bl FUN_02026CB4 + bl FUN_02026BC8 _0204EF40: mov r0, #0x1 pop {r3-r7, pc} @@ -149269,8 +149269,8 @@ _0204EF44: _0204EF48: .word 0x021C5A68 _0204EF4C: .word 0x0000016A - thumb_func_start sub_0204EF50 -sub_0204EF50: ; 0x0204EF50 + thumb_func_start FUN_0204EF50 +FUN_0204EF50: ; 0x0204EF50 push {r3-r7, lr} ldr r4, _0204EFC4 ; =0x021C5A68 mov r7, #0x29 @@ -149322,7 +149322,7 @@ sub_0204EF50: ; 0x0204EF50 add r2, r2, r5 ldr r0, [r0, r7] add r1, r2, r1 - bl sub_0202393C + bl FUN_0202393C mov r0, #0x1 pop {r3-r7, pc} _0204EFBE: @@ -149332,8 +149332,8 @@ _0204EFBE: _0204EFC4: .word 0x021C5A68 _0204EFC8: .word 0x0000016A - thumb_func_start sub_0204EFCC -sub_0204EFCC: ; 0x0204EFCC + thumb_func_start FUN_0204EFCC +FUN_0204EFCC: ; 0x0204EFCC push {r4, lr} ldr r1, _0204F06C ; =0x021C5A68 add r4, r0, #0x0 @@ -149366,8 +149366,8 @@ sub_0204EFCC: ; 0x0204EFCC cmp r0, #0x0 bne _0204F01E add r0, r1, #0x0 - bl sub_020553A0 - bl sub_021E5970 + bl FUN_020553A0 + bl FUN_021E5970 ldr r1, _0204F06C ; =0x021C5A68 ldr r2, [r1, #0x0] lsl r1, r4, #0x2 @@ -149393,8 +149393,8 @@ _0204F068: _0204F06C: .word 0x021C5A68 _0204F070: .word 0x000002BD - thumb_func_start sub_0204F074 -sub_0204F074: ; 0x0204F074 + thumb_func_start FUN_0204F074 +FUN_0204F074: ; 0x0204F074 ldr r1, _0204F088 ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa @@ -149408,8 +149408,8 @@ _0204F084: nop _0204F088: .word 0x021C5A68 - thumb_func_start sub_0204F08C -sub_0204F08C: ; 0x0204F08C + thumb_func_start FUN_0204F08C +FUN_0204F08C: ; 0x0204F08C ldr r1, _0204F0A0 ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa @@ -149419,14 +149419,14 @@ sub_0204F08C: ; 0x0204F08C mov r1, #0x3 strb r1, [r2, r0] _0204F09C: - ldr r3, _0204F0A4 ; =sub_0204CD78 + ldr r3, _0204F0A4 ; =FUN_0204CD78 bx r3 .balign 4 _0204F0A0: .word 0x021C5A68 -_0204F0A4: .word sub_0204CD78 + 1 +_0204F0A4: .word FUN_0204CD78 + 1 - thumb_func_start sub_0204F0A8 -sub_0204F0A8: ; 0x0204F0A8 + thumb_func_start FUN_0204F0A8 +FUN_0204F0A8: ; 0x0204F0A8 ldr r1, _0204F0BC ; =0x021C5A68 ldr r2, [r1, #0x0] add r2, #0xfa @@ -149436,19 +149436,19 @@ sub_0204F0A8: ; 0x0204F0A8 mov r1, #0x0 strb r1, [r2, r0] _0204F0B8: - ldr r3, _0204F0C0 ; =sub_0204CD78 + ldr r3, _0204F0C0 ; =FUN_0204CD78 bx r3 .balign 4 _0204F0BC: .word 0x021C5A68 -_0204F0C0: .word sub_0204CD78 + 1 +_0204F0C0: .word FUN_0204CD78 + 1 - thumb_func_start sub_0204F0C4 -sub_0204F0C4: ; 0x0204F0C4 + thumb_func_start FUN_0204F0C4 +FUN_0204F0C4: ; 0x0204F0C4 mov r0, #0x3 bx lr - thumb_func_start sub_0204F0C8 -sub_0204F0C8: ; 0x0204F0C8 + thumb_func_start FUN_0204F0C8 +FUN_0204F0C8: ; 0x0204F0C8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -149466,7 +149466,7 @@ _0204F0E0: strb r1, [r0, #0x0] mov r0, #0x55 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C add sp, #0x4 pop {r3-r4, pc} _0204F0F0: @@ -149474,27 +149474,27 @@ _0204F0F0: strb r1, [r0, #0x0] mov r0, #0x55 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0204F108 -sub_0204F108: ; 0x0204F108 + thumb_func_start FUN_0204F108 +FUN_0204F108: ; 0x0204F108 push {r3, lr} - bl sub_02031190 - bl sub_0204F0A8 - bl sub_0223D648 - bl sub_0224DD94 + bl FUN_02031190 + bl FUN_0204F0A8 + bl FUN_0223D648 + bl FUN_0224DD94 mov r0, #0x4 - bl sub_0204F774 + bl FUN_0204F774 pop {r3, pc} .balign 4 - thumb_func_start sub_0204F124 -sub_0204F124: ; 0x0204F124 + thumb_func_start FUN_0204F124 +FUN_0204F124: ; 0x0204F124 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 @@ -149503,13 +149503,13 @@ sub_0204F124: ; 0x0204F124 lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r7, #0x0 - bl sub_02030E7C + bl FUN_02030E7C cmp r0, #0x0 bne _0204F14A add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r7, pc} _0204F14A: ldr r0, [r5, #0x0] @@ -149528,21 +149528,21 @@ _0204F156: add r0, #0xea strb r1, [r0, #0x0] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 _0204F172: pop {r3-r7, pc} .balign 4 _0204F174: .word 0x021C5A68 - thumb_func_start sub_0204F178 -sub_0204F178: ; 0x0204F178 + thumb_func_start FUN_0204F178 +FUN_0204F178: ; 0x0204F178 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r1, r0, #0x0 mov r2, #0x0 str r2, [r1, #0x0] @@ -149552,19 +149552,19 @@ sub_0204F178: ; 0x0204F178 add r0, r0, r4 add r0, #0xea strb r2, [r0, #0x0] - ldr r0, _0204F1AC ; =sub_0204F124 + ldr r0, _0204F1AC ; =FUN_0204F124 mov r2, #0x64 - bl sub_0200CA44 + bl FUN_0200CA44 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 pop {r4, pc} .balign 4 _0204F1A8: .word 0x021C5A68 -_0204F1AC: .word sub_0204F124 + 1 +_0204F1AC: .word FUN_0204F124 + 1 - thumb_func_start sub_0204F1B0 -sub_0204F1B0: ; 0x0204F1B0 + thumb_func_start FUN_0204F1B0 +FUN_0204F1B0: ; 0x0204F1B0 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x1 @@ -149576,7 +149576,7 @@ sub_0204F1B0: ; 0x0204F1B0 strb r1, [r0, #0x0] b _0204F1F6 _0204F1C4: - bl sub_0204EE9C + bl FUN_0204EE9C cmp r0, #0x0 beq _0204F1D4 mov r1, #0xb @@ -149590,7 +149590,7 @@ _0204F1D4: pop {r3-r5, pc} _0204F1DC: add r0, r4, #0x0 - bl sub_0204EE9C + bl FUN_0204EE9C cmp r0, #0x0 bne _0204F1EA mov r0, #0x0 @@ -149600,26 +149600,26 @@ _0204F1EA: add r0, sp, #0x0 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0204F178 + bl FUN_0204F178 _0204F1F6: add r0, sp, #0x0 strb r5, [r0, #0x1] strb r4, [r0, #0x2] add r0, r5, #0x0 mov r1, #0x0 - bl sub_0204EAD8 + bl FUN_0204EAD8 mov r0, #0x55 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0204F210 -sub_0204F210: ; 0x0204F210 + thumb_func_start FUN_0204F210 +FUN_0204F210: ; 0x0204F210 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_0204EE9C + bl FUN_0204EE9C cmp r0, #0x0 beq _0204F226 mov r1, #0xc @@ -149634,54 +149634,54 @@ _0204F22C: strb r4, [r0, #0x1] mov r0, #0x55 add r1, sp, #0x0 - bl sub_02030C4C + bl FUN_02030C4C mov r0, #0x1 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_0204F23C -sub_0204F23C: ; 0x0204F23C + thumb_func_start FUN_0204F23C +FUN_0204F23C: ; 0x0204F23C push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0223E6B8 + bl FUN_0223E6B8 mov r0, #0x0 - bl sub_0204D628 + bl FUN_0204D628 mov r0, #0x4 - bl sub_0204F74C - bl sub_0223D648 + bl FUN_0204F74C + bl FUN_0223D648 add r6, r0, #0x0 ldrb r0, [r5, #0x1] - bl sub_0202DFA4 + bl FUN_0202DFA4 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_0224DDB8 + bl FUN_0224DDB8 cmp r4, #0x0 beq _0204F29C - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204F2C8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] add r0, r1, r0 add r0, #0xfa strb r2, [r0, #0x0] - bl sub_02031190 - bl sub_0204F0A8 - bl sub_02031190 - bl sub_0204F074 - bl sub_0223D648 - ldr r3, _0204F2CC ; =sub_0204F108 + bl FUN_02031190 + bl FUN_0204F0A8 + bl FUN_02031190 + bl FUN_0204F074 + bl FUN_0223D648 + ldr r3, _0204F2CC ; =FUN_0204F108 mov r1, #0xa mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 b _0204F2AA _0204F29C: - bl sub_0223D648 - ldr r3, _0204F2CC ; =sub_0204F108 + bl FUN_0223D648 + ldr r3, _0204F2CC ; =FUN_0204F108 mov r1, #0xb mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 _0204F2AA: mov r0, #0xff str r0, [sp, #0x0] @@ -149690,27 +149690,27 @@ _0204F2AA: mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] - bl sub_02004DCC + bl FUN_02004DCC ldr r0, _0204F2D4 ; =0x000005F6 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 pop {r4-r6, pc} nop _0204F2C8: .word 0x021C5A68 -_0204F2CC: .word sub_0204F108 + 1 +_0204F2CC: .word FUN_0204F108 + 1 _0204F2D0: .word 0x00000424 _0204F2D4: .word 0x000005F6 - thumb_func_start sub_0204F2D8 -sub_0204F2D8: ; 0x0204F2D8 + thumb_func_start FUN_0204F2D8 +FUN_0204F2D8: ; 0x0204F2D8 push {r4-r5, lr} sub sp, #0xc ldr r0, _0204F5E0 ; =0x021C5A68 add r5, r2, #0x0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_020377AC - bl sub_02026CB4 + bl FUN_020377AC + bl FUN_02026CB4 add r4, r0, #0x0 ldrb r0, [r5, #0x0] cmp r0, #0x5 @@ -149751,22 +149751,22 @@ _0204F31E: ldr r1, [r2, r1] cmp r1, #0x0 beq _0204F346 - bl sub_0204ED9C + bl FUN_0204ED9C ldrb r0, [r5, #0x1] - bl sub_0204F0A8 - bl sub_02031190 + bl FUN_0204F0A8 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F348 _0204F346: b _0204F5DA _0204F348: - bl sub_0204F7E4 - bl sub_0223D648 - ldr r3, _0204F5E4 ; =sub_0204E2B4 + bl FUN_0204F7E4 + bl FUN_0223D648 + ldr r3, _0204F5E4 ; =FUN_0204E2B4 mov r1, #0x2 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 mov r0, #0xff str r0, [sp, #0x0] mov r3, #0x0 @@ -149774,16 +149774,16 @@ _0204F348: mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] - bl sub_02004DCC + bl FUN_02004DCC add sp, #0xc pop {r4-r5, pc} _0204F370: ldrb r0, [r5, #0x1] - bl sub_0202DFA4 + bl FUN_0202DFA4 cmp r0, #0x0 bne _0204F384 ldrb r0, [r5, #0x2] - bl sub_0204ED9C + bl FUN_0204ED9C add sp, #0xc pop {r4-r5, pc} _0204F384: @@ -149797,18 +149797,18 @@ _0204F384: ldr r0, [r1, r0] cmp r0, #0x0 bne _0204F3AC - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F3A4 b _0204F5DA _0204F3A4: - bl sub_0204F7FC + bl FUN_0204F7FC add sp, #0xc pop {r4-r5, pc} _0204F3AC: ldrb r0, [r5, #0x1] - bl sub_0202DFA4 + bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r2, [r0, #0x0] @@ -149818,102 +149818,102 @@ _0204F3AC: mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r2, r0] - bl sub_02023AA4 + bl FUN_02023AA4 cmp r0, #0x1 bne _0204F41A ldrb r0, [r5, #0x2] - bl sub_0204ED9C - bl sub_02031190 + bl FUN_0204ED9C + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F3FC add r0, r4, #0x0 - bl sub_02026C00 - bl sub_0204F7E4 - bl sub_0223D648 - ldr r3, _0204F5EC ; =sub_0204E2AC + bl FUN_02026C00 + bl FUN_0204F7E4 + bl FUN_0223D648 + ldr r3, _0204F5EC ; =FUN_0204E2AC mov r1, #0xd mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 ldr r0, _0204F5F0 ; =0x00000625 - bl sub_020054C8 + bl FUN_020054C8 b _0204F410 _0204F3FC: - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x2] cmp r1, r0 bne _0204F410 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_0204F23C + bl FUN_0204F23C _0204F410: ldrb r0, [r5, #0x1] - bl sub_022472AC + bl FUN_022472AC add sp, #0xc pop {r4-r5, pc} _0204F41A: ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] - bl sub_0204EF50 + bl FUN_0204EF50 cmp r0, #0x0 beq _0204F4B8 - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F46C add r0, r4, #0x0 - bl sub_02026970 + bl FUN_02026970 mov r0, #0x1 - bl sub_0204F74C - bl sub_0223D648 + bl FUN_0204F74C + bl FUN_0223D648 add r4, r0, #0x0 ldrb r0, [r5, #0x2] - bl sub_0202DFA4 + bl FUN_0202DFA4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0224DDB8 - bl sub_0223D648 - ldr r3, _0204F5F4 ; =sub_0204E2D4 + bl FUN_0224DDB8 + bl FUN_0223D648 + ldr r3, _0204F5F4 ; =FUN_0204E2D4 mov r1, #0xc mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 ldr r0, _0204F5F8 ; =0x00000425 - bl sub_0200521C + bl FUN_0200521C ldr r0, _0204F5F0 ; =0x00000625 - bl sub_020054C8 + bl FUN_020054C8 b _0204F480 _0204F46C: - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x2] cmp r1, r0 bne _0204F480 add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 - bl sub_0204F23C + bl FUN_0204F23C _0204F480: ldrb r0, [r5, #0x1] ldrb r1, [r5, #0x2] - bl sub_02247294 + bl FUN_02247294 add sp, #0xc pop {r4-r5, pc} _0204F48C: - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F4B8 mov r0, #0x2 - bl sub_0204F74C - bl sub_0223D648 - ldr r3, _0204F5FC ; =sub_0204E2BC + bl FUN_0204F74C + bl FUN_0223D648 + ldr r3, _0204F5FC ; =FUN_0204E2BC mov r1, #0x6 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 add sp, #0xc pop {r4-r5, pc} _0204F4AE: - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 beq _0204F4BA @@ -149921,12 +149921,12 @@ _0204F4B8: b _0204F5DA _0204F4BA: mov r0, #0x20 - bl sub_0204F74C - bl sub_0223D648 - ldr r3, _0204F600 ; =sub_0204E2C8 + bl FUN_0204F74C + bl FUN_0223D648 + ldr r3, _0204F600 ; =FUN_0204E2C8 mov r1, #0x5 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 add sp, #0xc pop {r4-r5, pc} _0204F4D2: @@ -149938,28 +149938,28 @@ _0204F4D2: add r0, #0xfa strb r2, [r0, #0x0] ldrb r0, [r5, #0x1] - bl sub_0204F0A8 - bl sub_02031190 + bl FUN_0204F0A8 + bl FUN_02031190 ldrb r1, [r5, #0x1] cmp r1, r0 bne _0204F58C ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_020377AC - bl sub_02026CB4 + bl FUN_020377AC + bl FUN_02026CB4 add r4, r0, #0x0 - bl sub_020269A0 + bl FUN_020269A0 add r1, sp, #0x8 strb r0, [r1, #0x0] add r0, r4, #0x0 - bl sub_020269D4 + bl FUN_020269D4 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205EDF8 + bl FUN_020462AC + bl FUN_0205EDF8 ldr r0, _0204F5E0 ; =0x021C5A68 ldrb r1, [r5, #0x1] ldr r0, [r0, #0x0] @@ -149971,7 +149971,7 @@ _0204F4D2: cmp r1, #0x0 beq _0204F54A ldr r0, [r0, #0x54] - bl sub_0206189C + bl FUN_0206189C ldr r0, _0204F5E0 ; =0x021C5A68 ldr r1, _0204F604 ; =0x0000FFFF ldr r3, [r0, #0x0] @@ -149982,25 +149982,25 @@ _0204F4D2: add r1, r2, #0x1 strh r1, [r3, r0] _0204F54A: - bl sub_0204F7E4 + bl FUN_0204F7E4 ldr r0, _0204F60C ; =0x0000062B - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_020269A0 + bl FUN_020269A0 add r1, sp, #0x8 ldrb r1, [r1, #0x0] cmp r1, r0 bne _0204F572 - bl sub_0223D648 - ldr r3, _0204F5EC ; =sub_0204E2AC + bl FUN_0223D648 + ldr r3, _0204F5EC ; =FUN_0204E2AC mov r1, #0x7 mov r2, #0x1 - bl sub_0224DCB8 + bl FUN_0224DCB8 b _0204F57A _0204F572: mov r0, #0x60 add r1, sp, #0x8 - bl sub_020311D0 + bl FUN_020311D0 _0204F57A: mov r0, #0xff str r0, [sp, #0x0] @@ -150009,7 +150009,7 @@ _0204F57A: mov r0, #0x4 mov r2, #0x3c str r3, [sp, #0x4] - bl sub_02004DCC + bl FUN_02004DCC _0204F58C: ldr r0, _0204F5E0 ; =0x021C5A68 ldr r1, [r0, #0x0] @@ -150021,8 +150021,8 @@ _0204F58C: ldr r0, [r1, r0] cmp r0, #0x0 beq _0204F5D4 - bl sub_02031190 - bl sub_0202DFA4 + bl FUN_02031190 + bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r2, [r0, #0x0] @@ -150032,38 +150032,38 @@ _0204F58C: mov r0, #0x29 lsl r0, r0, #0x4 ldr r0, [r2, r0] - bl sub_02023AA4 + bl FUN_02023AA4 cmp r0, #0x1 bne _0204F5D4 ldrb r0, [r5, #0x1] - bl sub_0202DFA4 + bl FUN_0202DFA4 add r1, r0, #0x0 ldr r0, _0204F5E0 ; =0x021C5A68 ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] - bl sub_020618B8 + bl FUN_020618B8 _0204F5D4: ldrb r0, [r5, #0x1] - bl sub_0204EDEC + bl FUN_0204EDEC _0204F5DA: add sp, #0xc pop {r4-r5, pc} nop _0204F5E0: .word 0x021C5A68 -_0204F5E4: .word sub_0204E2B4 + 1 +_0204F5E4: .word FUN_0204E2B4 + 1 _0204F5E8: .word 0x00000424 -_0204F5EC: .word sub_0204E2AC + 1 +_0204F5EC: .word FUN_0204E2AC + 1 _0204F5F0: .word 0x00000625 -_0204F5F4: .word sub_0204E2D4 + 1 +_0204F5F4: .word FUN_0204E2D4 + 1 _0204F5F8: .word 0x00000425 -_0204F5FC: .word sub_0204E2BC + 1 -_0204F600: .word sub_0204E2C8 + 1 +_0204F5FC: .word FUN_0204E2BC + 1 +_0204F600: .word FUN_0204E2C8 + 1 _0204F604: .word 0x0000FFFF _0204F608: .word 0x000002B2 _0204F60C: .word 0x0000062B - thumb_func_start sub_0204F610 -sub_0204F610: ; 0x0204F610 + thumb_func_start FUN_0204F610 +FUN_0204F610: ; 0x0204F610 push {r3, lr} cmp r0, #0x0 bne _0204F61A @@ -150085,13 +150085,13 @@ _0204F62A: mov r0, #0x2 pop {r3, pc} _0204F632: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x2 pop {r3, pc} .balign 4 - thumb_func_start sub_0204F63C -sub_0204F63C: ; 0x0204F63C + thumb_func_start FUN_0204F63C +FUN_0204F63C: ; 0x0204F63C push {r3-r4} ldr r3, _0204F658 ; =0x021C5A68 ldr r2, [r3, #0x0] @@ -150109,8 +150109,8 @@ sub_0204F63C: ; 0x0204F63C _0204F658: .word 0x021C5A68 _0204F65C: .word 0x0000011A - thumb_func_start sub_0204F660 -sub_0204F660: ; 0x0204F660 + thumb_func_start FUN_0204F660 +FUN_0204F660: ; 0x0204F660 ldr r1, _0204F670 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] @@ -150122,8 +150122,8 @@ sub_0204F660: ; 0x0204F660 _0204F670: .word 0x021C5A68 _0204F674: .word 0x0000011A - thumb_func_start sub_0204F678 -sub_0204F678: ; 0x0204F678 + thumb_func_start FUN_0204F678 +FUN_0204F678: ; 0x0204F678 push {r3-r4} ldr r3, _0204F694 ; =0x021C5A68 ldr r2, [r3, #0x0] @@ -150141,8 +150141,8 @@ sub_0204F678: ; 0x0204F678 _0204F694: .word 0x021C5A68 _0204F698: .word 0x00000122 - thumb_func_start sub_0204F69C -sub_0204F69C: ; 0x0204F69C + thumb_func_start FUN_0204F69C +FUN_0204F69C: ; 0x0204F69C ldr r1, _0204F6AC ; =0x021C5A68 mov r2, #0x0 ldr r1, [r1, #0x0] @@ -150154,8 +150154,8 @@ sub_0204F69C: ; 0x0204F69C _0204F6AC: .word 0x021C5A68 _0204F6B0: .word 0x00000122 - thumb_func_start sub_0204F6B4 -sub_0204F6B4: ; 0x0204F6B4 + thumb_func_start FUN_0204F6B4 +FUN_0204F6B4: ; 0x0204F6B4 ldr r1, _0204F6C0 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r0 @@ -150166,8 +150166,8 @@ sub_0204F6B4: ; 0x0204F6B4 _0204F6C0: .word 0x021C5A68 _0204F6C4: .word 0x00000142 - thumb_func_start sub_0204F6C8 -sub_0204F6C8: ; 0x0204F6C8 + thumb_func_start FUN_0204F6C8 +FUN_0204F6C8: ; 0x0204F6C8 ldr r1, _0204F6D4 ; =0x021C5A68 ldr r1, [r1, #0x0] add r1, r1, r0 @@ -150178,8 +150178,8 @@ sub_0204F6C8: ; 0x0204F6C8 _0204F6D4: .word 0x021C5A68 _0204F6D8: .word 0x0000013A - thumb_func_start sub_0204F6DC -sub_0204F6DC: ; 0x0204F6DC + thumb_func_start FUN_0204F6DC +FUN_0204F6DC: ; 0x0204F6DC push {r4, lr} add r4, r0, #0x0 ldr r0, _0204F708 ; =0x021C5A68 @@ -150187,8 +150187,8 @@ sub_0204F6DC: ; 0x0204F6DC ldr r0, [r0, #0x0] ldr r0, [r0, #0x54] ldr r0, [r0, #0x38] - bl sub_02055304 - bl sub_02031190 + bl FUN_02055304 + bl FUN_02031190 ldr r1, _0204F708 ; =0x021C5A68 lsl r0, r0, #0x3 ldr r1, [r1, #0x0] @@ -150196,13 +150196,13 @@ sub_0204F6DC: ; 0x0204F6DC add r0, #0xa6 strb r4, [r0, #0x0] mov r0, #0x0 - bl sub_0204D168 + bl FUN_0204D168 pop {r4, pc} nop _0204F708: .word 0x021C5A68 - thumb_func_start sub_0204F70C -sub_0204F70C: ; 0x0204F70C + thumb_func_start FUN_0204F70C +FUN_0204F70C: ; 0x0204F70C push {r4, lr} ldr r3, _0204F728 ; =0x021C5A68 lsl r2, r0, #0x3 @@ -150214,13 +150214,13 @@ sub_0204F70C: ; 0x0204F70C ldr r2, [r3, #0x0] add r0, r2, r0 ldr r0, [r0, #0x8] - bl sub_02055304 + bl FUN_02055304 pop {r4, pc} .balign 4 _0204F728: .word 0x021C5A68 - thumb_func_start sub_0204F72C -sub_0204F72C: ; 0x0204F72C + thumb_func_start FUN_0204F72C +FUN_0204F72C: ; 0x0204F72C push {r3, lr} ldr r1, _0204F748 ; =0x021C5A68 lsl r0, r0, #0x2 @@ -150229,7 +150229,7 @@ sub_0204F72C: ; 0x0204F72C ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204F742 - bl sub_020552F8 + bl FUN_020552F8 pop {r3, pc} _0204F742: mov r0, #0x0 @@ -150238,8 +150238,8 @@ _0204F742: .balign 4 _0204F748: .word 0x021C5A68 - thumb_func_start sub_0204F74C -sub_0204F74C: ; 0x0204F74C + thumb_func_start FUN_0204F74C +FUN_0204F74C: ; 0x0204F74C push {r3, lr} cmp r0, #0x0 beq _0204F75C @@ -150249,7 +150249,7 @@ sub_0204F74C: ; 0x0204F74C orr r0, r1 str r0, [r2, #0x0] _0204F75C: - bl sub_02037760 + bl FUN_02037760 ldr r0, _0204F770 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] @@ -150260,8 +150260,8 @@ _0204F75C: nop _0204F770: .word 0x021C5A68 - thumb_func_start sub_0204F774 -sub_0204F774: ; 0x0204F774 + thumb_func_start FUN_0204F774 +FUN_0204F774: ; 0x0204F774 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -150283,7 +150283,7 @@ _0204F788: strb r1, [r0, #0x0] mov r0, #0x3e add r1, sp, #0x0 - bl sub_020311D0 + bl FUN_020311D0 _0204F7A0: ldr r0, _0204F7D0 ; =0x021C5A68 ldr r0, [r0, #0x0] @@ -150292,13 +150292,13 @@ _0204F7A0: bne _0204F7CC cmp r4, #0x10 beq _0204F7BC - bl sub_02037778 + bl FUN_02037778 mov r0, #0x1 - bl sub_0204D628 + bl FUN_0204D628 add sp, #0x4 pop {r3-r4, pc} _0204F7BC: - bl sub_02037778 + bl FUN_02037778 ldr r0, _0204F7D0 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -150311,8 +150311,8 @@ _0204F7CC: .balign 4 _0204F7D0: .word 0x021C5A68 - thumb_func_start sub_0204F7D4 -sub_0204F7D4: ; 0x0204F7D4 + thumb_func_start FUN_0204F7D4 +FUN_0204F7D4: ; 0x0204F7D4 ldr r0, _0204F7E0 ; =0x021C5A68 mov r1, #0x0 ldr r0, [r0, #0x0] @@ -150321,10 +150321,10 @@ sub_0204F7D4: ; 0x0204F7D4 nop _0204F7E0: .word 0x021C5A68 - thumb_func_start sub_0204F7E4 -sub_0204F7E4: ; 0x0204F7E4 + thumb_func_start FUN_0204F7E4 +FUN_0204F7E4: ; 0x0204F7E4 push {r3, lr} - bl sub_02037760 + bl FUN_02037760 ldr r0, _0204F7F8 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] @@ -150335,17 +150335,17 @@ sub_0204F7E4: ; 0x0204F7E4 .balign 4 _0204F7F8: .word 0x021C5A68 - thumb_func_start sub_0204F7FC -sub_0204F7FC: ; 0x0204F7FC + thumb_func_start FUN_0204F7FC +FUN_0204F7FC: ; 0x0204F7FC push {r3, lr} - bl sub_02037778 + bl FUN_02037778 mov r0, #0x1 - bl sub_0204D628 + bl FUN_0204D628 pop {r3, pc} .balign 4 - thumb_func_start sub_0204F80C -sub_0204F80C: ; 0x0204F80C + thumb_func_start FUN_0204F80C +FUN_0204F80C: ; 0x0204F80C push {r3, lr} ldr r0, _0204F850 ; =0x021C5A68 ldr r2, [r0, #0x0] @@ -150357,7 +150357,7 @@ sub_0204F80C: ; 0x0204F80C ldrb r0, [r2, r0] cmp r0, #0x0 bne _0204F832 - bl sub_0204F7FC + bl FUN_0204F7FC ldr r0, _0204F850 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -150365,11 +150365,11 @@ sub_0204F80C: ; 0x0204F80C strb r2, [r1, r0] pop {r3, pc} _0204F832: - bl sub_02031190 - bl sub_0223E734 + bl FUN_02031190 + bl FUN_0223E734 cmp r0, #0x0 beq _0204F84C - bl sub_0204F7FC + bl FUN_0204F7FC ldr r0, _0204F850 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -150381,8 +150381,8 @@ _0204F84C: _0204F850: .word 0x021C5A68 _0204F854: .word 0x000002BF - thumb_func_start sub_0204F858 -sub_0204F858: ; 0x0204F858 + thumb_func_start FUN_0204F858 +FUN_0204F858: ; 0x0204F858 push {r3, lr} ldr r0, _0204F884 ; =0x021C5A68 ldr r2, [r0, #0x0] @@ -150394,20 +150394,20 @@ sub_0204F858: ; 0x0204F858 ldrb r0, [r2, r0] cmp r0, #0x0 beq _0204F880 - bl sub_02031190 - bl sub_0223E734 + bl FUN_02031190 + bl FUN_0223E734 cmp r0, #0x0 bne _0204F880 mov r0, #0x0 - bl sub_0204D628 + bl FUN_0204D628 _0204F880: pop {r3, pc} nop _0204F884: .word 0x021C5A68 _0204F888: .word 0x000002BF - thumb_func_start sub_0204F88C -sub_0204F88C: ; 0x0204F88C + thumb_func_start FUN_0204F88C +FUN_0204F88C: ; 0x0204F88C push {r3-r7, lr} sub sp, #0x10 ldr r0, _0204F908 ; =0x021C5A68 @@ -150424,14 +150424,14 @@ _0204F89E: ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0204F8F8 - bl sub_02031190 + bl FUN_02031190 cmp r6, r0 beq _0204F8F8 ldr r0, _0204F908 ; =0x021C5A68 ldr r0, [r0, #0x0] add r0, r0, r4 ldr r0, [r0, #0x8] - bl sub_020553A0 + bl FUN_020553A0 ldr r1, _0204F908 ; =0x021C5A68 str r0, [sp, #0xc] ldr r1, [r1, #0x0] @@ -150447,17 +150447,17 @@ _0204F89E: ldrsb r1, [r1, r2] str r1, [sp, #0x4] ldr r1, [sp, #0x8] - bl sub_02058B30 + bl FUN_02058B30 ldr r0, [sp, #0xc] add r1, r7, #0x0 - bl sub_02058B50 + bl FUN_02058B50 ldr r0, [sp, #0x4] ldr r1, [sp, #0x8] str r0, [sp, #0x0] ldr r0, [sp, #0xc] mov r2, #0x0 add r3, r7, #0x0 - bl sub_02058E28 + bl FUN_02058E28 _0204F8F8: add r6, r6, #0x1 add r4, r4, #0x4 @@ -150470,8 +150470,8 @@ _0204F902: nop _0204F908: .word 0x021C5A68 - thumb_func_start sub_0204F90C -sub_0204F90C: ; 0x0204F90C + thumb_func_start FUN_0204F90C +FUN_0204F90C: ; 0x0204F90C push {r4-r5} mov r3, #0xff mov r4, #0x0 @@ -150492,15 +150492,15 @@ _0204F91A: .balign 4 _0204F92C: .word 0x021C5A68 - thumb_func_start sub_0204F930 -sub_0204F930: ; 0x0204F930 + thumb_func_start FUN_0204F930 +FUN_0204F930: ; 0x0204F930 push {r3-r5, lr} ldr r0, _0204F9B0 ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] ldr r0, _0204F9B4 ; =0x000002B9 strb r2, [r1, r0] - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204F9B0 ; =0x021C5A68 lsl r0, r0, #0x2 ldr r1, [r1, #0x0] @@ -150510,7 +150510,7 @@ sub_0204F930: ; 0x0204F930 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204F96E - bl sub_02031190 + bl FUN_02031190 ldr r1, _0204F9B0 ; =0x021C5A68 add r3, r0, #0x0 ldr r2, [r1, #0x0] @@ -150520,46 +150520,46 @@ sub_0204F930: ; 0x0204F930 lsl r1, r1, #0x4 ldr r1, [r2, r1] mov r0, #0x5b - bl sub_020311D0 + bl FUN_020311D0 pop {r3-r5, pc} _0204F96E: mov r0, #0xf - bl sub_02023928 + bl FUN_02023928 add r4, r0, #0x0 mov r0, #0x14 mov r1, #0xf - bl sub_020219F4 + bl FUN_020219F4 add r5, r0, #0x0 cmp r4, #0x0 bne _0204F988 - bl sub_02020C2C + bl FUN_02020C2C _0204F988: cmp r5, #0x0 bne _0204F990 - bl sub_02020C2C + bl FUN_02020C2C _0204F990: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0202397C + bl FUN_0202397C mov r0, #0x5b add r1, r4, #0x0 - bl sub_020311D0 + bl FUN_020311D0 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} nop _0204F9B0: .word 0x021C5A68 _0204F9B4: .word 0x000002B9 - thumb_func_start sub_0204F9B8 -sub_0204F9B8: ; 0x0204F9B8 + thumb_func_start FUN_0204F9B8 +FUN_0204F9B8: ; 0x0204F9B8 mov r0, #0x20 bx lr - thumb_func_start sub_0204F9BC -sub_0204F9BC: ; 0x0204F9BC + thumb_func_start FUN_0204F9BC +FUN_0204F9BC: ; 0x0204F9BC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -150577,12 +150577,12 @@ sub_0204F9BC: ; 0x0204F9BC add r1, r2, r1 add r0, r6, #0x0 add r1, r1, r4 - bl sub_0202393C + bl FUN_0202393C add r0, r6, #0x0 mov r1, #0xf - bl sub_020239A0 + bl FUN_020239A0 str r0, [sp, #0x0] - bl sub_02021D3C + bl FUN_02021D3C cmp r0, #0x0 beq _0204F9FE ldr r0, _0204FA54 ; =0x021C5A68 @@ -150610,7 +150610,7 @@ _0204FA06: add r1, r2, r1 add r1, r1, r5 mov r2, #0x22 - bl sub_02030B3C + bl FUN_02030B3C _0204FA26: add r4, r4, #0x1 add r5, #0x22 @@ -150619,9 +150619,9 @@ _0204FA26: mov r0, #0x5d add r1, sp, #0x4 mov r2, #0x1 - bl sub_02030BC4 + bl FUN_02030BC4 ldr r0, [sp, #0x0] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, _0204FA54 ; =0x021C5A68 mov r2, #0x1 ldr r1, [r0, #0x0] @@ -150630,7 +150630,7 @@ _0204FA26: strb r2, [r1, r0] pop {r3-r7, pc} _0204FA4C: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x8 pop {r3-r7, pc} .balign 4 @@ -150639,8 +150639,8 @@ _0204FA58: .word 0x0000014A _0204FA5C: .word 0x0000016A _0204FA60: .word 0x000002C2 - thumb_func_start sub_0204FA64 -sub_0204FA64: ; 0x0204FA64 + thumb_func_start FUN_0204FA64 +FUN_0204FA64: ; 0x0204FA64 ldr r0, _0204FA70 ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204FA74 ; =0x0000025A @@ -150650,8 +150650,8 @@ sub_0204FA64: ; 0x0204FA64 _0204FA70: .word 0x021C5A68 _0204FA74: .word 0x0000025A - thumb_func_start sub_0204FA78 -sub_0204FA78: ; 0x0204FA78 + thumb_func_start FUN_0204FA78 +FUN_0204FA78: ; 0x0204FA78 push {r4-r6, lr} ldr r0, _0204FAC8 ; =0x021C5A68 add r6, r2, #0x0 @@ -150666,11 +150666,11 @@ sub_0204FA78: ; 0x0204FA78 ldr r0, [r1, r0] cmp r0, #0x0 beq _0204FA98 - bl sub_02016A18 + bl FUN_02016A18 _0204FA98: mov r0, #0xf lsl r4, r5, #0x2 - bl sub_02023928 + bl FUN_02023928 ldr r2, _0204FAC8 ; =0x021C5A68 ldr r1, [r2, #0x0] add r3, r1, r4 @@ -150681,7 +150681,7 @@ _0204FA98: add r0, r6, #0x0 add r2, r2, r4 ldr r1, [r2, r1] - bl sub_0202393C + bl FUN_0202393C ldr r0, _0204FAC8 ; =0x021C5A68 mov r1, #0x1 ldr r0, [r0, #0x0] @@ -150693,16 +150693,16 @@ _0204FAC4: nop _0204FAC8: .word 0x021C5A68 - thumb_func_start sub_0204FACC -sub_0204FACC: ; 0x0204FACC + thumb_func_start FUN_0204FACC +FUN_0204FACC: ; 0x0204FACC mov r0, #0x22 bx lr - thumb_func_start sub_0204FAD0 -sub_0204FAD0: ; 0x0204FAD0 + thumb_func_start FUN_0204FAD0 +FUN_0204FAD0: ; 0x0204FAD0 push {r4, lr} add r4, r2, #0x0 - bl sub_02031190 + bl FUN_02031190 ldrb r1, [r4, #0x0] cmp r1, r0 bne _0204FAE8 @@ -150723,8 +150723,8 @@ _0204FAF4: .word 0x021C5A68 _0204FAF8: .word 0x000002B9 _0204FAFC: .word 0x000002C2 - thumb_func_start sub_0204FB00 -sub_0204FB00: ; 0x0204FB00 + thumb_func_start FUN_0204FB00 +FUN_0204FB00: ; 0x0204FB00 ldr r0, _0204FB0C ; =0x021C5A68 ldr r1, [r0, #0x0] ldr r0, _0204FB10 ; =0x000002B9 @@ -150734,8 +150734,8 @@ sub_0204FB00: ; 0x0204FB00 _0204FB0C: .word 0x021C5A68 _0204FB10: .word 0x000002B9 - thumb_func_start sub_0204FB14 -sub_0204FB14: ; 0x0204FB14 + thumb_func_start FUN_0204FB14 +FUN_0204FB14: ; 0x0204FB14 ldr r0, _0204FB24 ; =0x021C5A68 mov r2, #0x8 ldr r1, [r0, #0x0] @@ -150746,11 +150746,11 @@ sub_0204FB14: ; 0x0204FB14 nop _0204FB24: .word 0x021C5A68 - thumb_func_start sub_0204FB28 -sub_0204FB28: ; 0x0204FB28 + thumb_func_start FUN_0204FB28 +FUN_0204FB28: ; 0x0204FB28 push {r3-r5, lr} mov r4, #0x0 - bl sub_02031190 + bl FUN_02031190 ldr r2, _0204FB9C ; =0x021C5A68 lsl r1, r0, #0x2 ldr r3, [r2, #0x0] @@ -150779,7 +150779,7 @@ _0204FB60: mov r5, #0x0 _0204FB62: add r0, r5, #0x0 - bl sub_0204ED9C + bl FUN_0204ED9C add r5, r5, #0x1 cmp r5, #0x8 blt _0204FB62 @@ -150798,7 +150798,7 @@ _0204FB62: ldr r1, _0204FBA0 ; =0x0000014A add r0, r4, #0x0 add r1, r2, r1 - bl sub_0202393C + bl FUN_0202393C ldr r0, _0204FB9C ; =0x021C5A68 mov r2, #0x0 ldr r1, [r0, #0x0] @@ -150811,41 +150811,41 @@ _0204FB9C: .word 0x021C5A68 _0204FBA0: .word 0x0000014A _0204FBA4: .word 0x0000016A - thumb_func_start sub_0204FBA8 -sub_0204FBA8: ; 0x0204FBA8 + thumb_func_start FUN_0204FBA8 +FUN_0204FBA8: ; 0x0204FBA8 bx lr .balign 4 - thumb_func_start sub_0204FBAC -sub_0204FBAC: ; 0x0204FBAC + thumb_func_start FUN_0204FBAC +FUN_0204FBAC: ; 0x0204FBAC bx lr .balign 4 - thumb_func_start sub_0204FBB0 -sub_0204FBB0: ; 0x0204FBB0 + thumb_func_start FUN_0204FBB0 +FUN_0204FBB0: ; 0x0204FBB0 push {r4, lr} ldr r1, _0204FC08 ; =0x021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC04 - bl sub_0208881C + bl FUN_0208881C mov r0, #0xf mov r1, #0x48 - bl sub_02016998 + bl FUN_02016998 ldr r1, _0204FC08 ; =0x021C5A6C mov r2, #0x48 str r0, [r1, #0x0] mov r1, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _0204FC08 ; =0x021C5A6C mov r1, #0x32 ldr r0, [r0, #0x0] mov r2, #0xa strh r1, [r0, #0x3c] - ldr r0, _0204FC0C ; =sub_0205006C + ldr r0, _0204FC0C ; =FUN_0205006C mov r1, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 ldr r1, _0204FC08 ; =0x021C5A6C ldr r2, [r1, #0x0] str r0, [r2, #0x38] @@ -150854,26 +150854,26 @@ sub_0204FBB0: ; 0x0204FBB0 str r4, [r0, #0x18] ldr r0, [r1, #0x0] str r2, [r0, #0x44] - bl sub_0204FBA8 + bl FUN_0204FBA8 ldr r0, _0204FC08 ; =0x021C5A6C ldr r0, [r0, #0x0] add r0, #0x1c - bl sub_020312BC + bl FUN_020312BC _0204FC04: pop {r4, pc} nop _0204FC08: .word 0x021C5A6C -_0204FC0C: .word sub_0205006C + 1 +_0204FC0C: .word FUN_0205006C + 1 - thumb_func_start sub_0204FC10 -sub_0204FC10: ; 0x0204FC10 + thumb_func_start FUN_0204FC10 +FUN_0204FC10: ; 0x0204FC10 push {r4-r6, lr} ldr r0, _0204FC58 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _0204FC56 ldr r0, [r0, #0x38] - bl sub_0200CAB4 + bl FUN_0200CAB4 mov r4, #0x0 ldr r6, _0204FC58 ; =0x021C5A6C add r5, r4, #0x0 @@ -150882,7 +150882,7 @@ _0204FC26: ldr r0, [r0, r5] cmp r0, #0x0 beq _0204FC32 - bl sub_02016A18 + bl FUN_02016A18 _0204FC32: add r4, r4, #0x1 add r5, r5, #0x4 @@ -150893,11 +150893,11 @@ _0204FC32: ldr r0, [r0, #0x44] cmp r0, #0x0 beq _0204FC48 - bl sub_02016A18 + bl FUN_02016A18 _0204FC48: ldr r0, _0204FC58 ; =0x021C5A6C ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0204FC58 ; =0x021C5A6C mov r1, #0x0 str r1, [r0, #0x0] @@ -150906,39 +150906,39 @@ _0204FC56: .balign 4 _0204FC58: .word 0x021C5A6C - thumb_func_start sub_0204FC5C -sub_0204FC5C: ; 0x0204FC5C + thumb_func_start FUN_0204FC5C +FUN_0204FC5C: ; 0x0204FC5C push {r4, lr} ldr r1, _0204FC9C ; =0x021C5A6C add r4, r0, #0x0 ldr r1, [r1, #0x0] cmp r1, #0x0 bne _0204FC9A - bl sub_020377AC - bl sub_02031824 + bl FUN_020377AC + bl FUN_02031824 add r0, r4, #0x0 - bl sub_0204FBB0 + bl FUN_0204FBB0 mov r2, #0x3a mov r0, #0x3 mov r1, #0x21 lsl r2, r2, #0xa - bl sub_0201681C + bl FUN_0201681C ldr r0, _0204FC9C ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F194 + bl FUN_020462AC + bl FUN_0205F194 cmp r0, #0x0 bne _0204FC9A - bl sub_02031924 + bl FUN_02031924 _0204FC9A: pop {r4, pc} .balign 4 _0204FC9C: .word 0x021C5A6C - thumb_func_start sub_0204FCA0 -sub_0204FCA0: ; 0x0204FCA0 + thumb_func_start FUN_0204FCA0 +FUN_0204FCA0: ; 0x0204FCA0 push {r3, lr} ldr r0, _0204FCD0 ; =0x021C5A6C mov r2, #0x1 @@ -150948,23 +150948,23 @@ sub_0204FCA0: ; 0x0204FCA0 ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x24 - bl sub_0202A170 + bl FUN_0202A170 ldr r0, _0204FCD0 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] - bl sub_0223E060 - ldr r0, _0204FCD4 ; =sub_020500A4 + bl FUN_0223E060 + ldr r0, _0204FCD4 ; =FUN_020500A4 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 pop {r3, pc} .balign 4 _0204FCD0: .word 0x021C5A6C -_0204FCD4: .word sub_020500A4 + 1 +_0204FCD4: .word FUN_020500A4 + 1 - thumb_func_start sub_0204FCD8 -sub_0204FCD8: ; 0x0204FCD8 + thumb_func_start FUN_0204FCD8 +FUN_0204FCD8: ; 0x0204FCD8 push {r3, lr} ldr r0, _0204FCEC ; =0x021C5A6C ldr r0, [r0, #0x0] @@ -150972,52 +150972,52 @@ sub_0204FCD8: ; 0x0204FCD8 beq _0204FCEA ldr r0, _0204FCF0 ; =0x02050D55 mov r1, #0x3 - bl sub_02050094 + bl FUN_02050094 _0204FCEA: pop {r3, pc} .balign 4 _0204FCEC: .word 0x021C5A6C _0204FCF0: .word 0x02050D55 - thumb_func_start sub_0204FCF4 -sub_0204FCF4: ; 0x0204FCF4 + thumb_func_start FUN_0204FCF4 +FUN_0204FCF4: ; 0x0204FCF4 push {r3, lr} - bl sub_02031914 + bl FUN_02031914 ldr r0, _0204FD04 ; =0x020504D9 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 pop {r3, pc} .balign 4 _0204FD04: .word 0x020504D9 - thumb_func_start sub_0204FD08 -sub_0204FD08: ; 0x0204FD08 + thumb_func_start FUN_0204FD08 +FUN_0204FD08: ; 0x0204FD08 push {r3, lr} - bl sub_0202EDD8 + bl FUN_0202EDD8 cmp r0, #0x0 bne _0204FD1E - bl sub_02245F1C - ldr r0, _0204FD20 ; =sub_020500A4 + bl FUN_02245F1C + ldr r0, _0204FD20 ; =FUN_020500A4 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 _0204FD1E: pop {r3, pc} .balign 4 -_0204FD20: .word sub_020500A4 + 1 +_0204FD20: .word FUN_020500A4 + 1 - thumb_func_start sub_0204FD24 -sub_0204FD24: ; 0x0204FD24 + thumb_func_start FUN_0204FD24 +FUN_0204FD24: ; 0x0204FD24 push {r3, lr} - bl sub_02031934 - ldr r0, _0204FD34 ; =sub_0204FD08 + bl FUN_02031934 + ldr r0, _0204FD34 ; =FUN_0204FD08 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 pop {r3, pc} .balign 4 -_0204FD34: .word sub_0204FD08 + 1 +_0204FD34: .word FUN_0204FD08 + 1 - thumb_func_start sub_0204FD38 -sub_0204FD38: ; 0x0204FD38 + thumb_func_start FUN_0204FD38 +FUN_0204FD38: ; 0x0204FD38 push {r3-r7, lr} sub sp, #0x10 ldr r0, _0204FDBC ; =0x021C5A6C @@ -151037,7 +151037,7 @@ sub_0204FD38: ; 0x0204FD38 bne _0204FD68 ldr r0, _0204FDD0 ; =0x0205031D mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -151046,7 +151046,7 @@ _0204FD68: bne _0204FD7A ldr r0, _0204FDD4 ; =0x02050579 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -151055,7 +151055,7 @@ _0204FD7A: bne _0204FD8C ldr r0, _0204FDD8 ; =0x020505E1 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -151065,7 +151065,7 @@ _0204FD8C: bne _0204FDA0 ldr r0, _0204FDE0 ; =0x02050611 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -151098,8 +151098,8 @@ _0204FDD8: .word 0x020505E1 _0204FDDC: .word 0x020504D1 _0204FDE0: .word 0x02050611 - thumb_func_start sub_0204FDE4 -sub_0204FDE4: ; 0x0204FDE4 + thumb_func_start FUN_0204FDE4 +FUN_0204FDE4: ; 0x0204FDE4 push {r4, lr} ldr r0, _0204FE38 ; =0x021C5A6C ldr r3, _0204FE3C ; =0x0205058D @@ -151112,7 +151112,7 @@ sub_0204FDE4: ; 0x0204FDE4 bne _0204FE04 ldr r0, _0204FE4C ; =0x02050339 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE04: @@ -151120,7 +151120,7 @@ _0204FE04: bne _0204FE14 ldr r0, _0204FE50 ; =0x02050595 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE14: @@ -151128,7 +151128,7 @@ _0204FE14: bne _0204FE24 ldr r0, _0204FE54 ; =0x020505F9 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE24: @@ -151136,7 +151136,7 @@ _0204FE24: bne _0204FE34 ldr r0, _0204FE58 ; =0x02050629 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 mov r0, #0x1 pop {r4, pc} _0204FE34: @@ -151153,8 +151153,8 @@ _0204FE50: .word 0x02050595 _0204FE54: .word 0x020505F9 _0204FE58: .word 0x02050629 - thumb_func_start sub_0204FE5C -sub_0204FE5C: ; 0x0204FE5C + thumb_func_start FUN_0204FE5C +FUN_0204FE5C: ; 0x0204FE5C push {r3-r4} sub sp, #0x38 ldr r4, _0204FEA8 ; =0x020F5848 @@ -151201,18 +151201,18 @@ _0204FE9E: _0204FEA8: .word 0x020F5848 _0204FEAC: .word 0x021C5A6C - thumb_func_start sub_0204FEB0 -sub_0204FEB0: ; 0x0204FEB0 + thumb_func_start FUN_0204FEB0 +FUN_0204FEB0: ; 0x0204FEB0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0204FEE8 add r0, r5, #0x0 - bl sub_020377AC + bl FUN_020377AC mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] @@ -151220,30 +151220,30 @@ sub_0204FEB0: ; 0x0204FEB0 ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02031948 + bl FUN_02031948 add r0, r5, #0x0 - bl sub_0204FBB0 + bl FUN_0204FBB0 ldr r0, _0204FEEC ; =0x02050641 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 _0204FEE8: add sp, #0x4 pop {r3-r6, pc} .balign 4 _0204FEEC: .word 0x02050641 - thumb_func_start sub_0204FEF0 -sub_0204FEF0: ; 0x0204FEF0 + thumb_func_start FUN_0204FEF0 +FUN_0204FEF0: ; 0x0204FEF0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0204FF28 add r0, r5, #0x0 - bl sub_020377AC + bl FUN_020377AC mov r1, #0x0 add r3, r5, #0x0 str r1, [sp, #0x0] @@ -151251,22 +151251,22 @@ sub_0204FEF0: ; 0x0204FEF0 ldr r3, [r3, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02031990 + bl FUN_02031990 add r0, r5, #0x0 - bl sub_0204FBB0 + bl FUN_0204FBB0 ldr r0, _0204FF2C ; =0x02050669 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 _0204FF28: add sp, #0x4 pop {r3-r6, pc} .balign 4 _0204FF2C: .word 0x02050669 - thumb_func_start sub_0204FF30 -sub_0204FF30: ; 0x0204FF30 + thumb_func_start FUN_0204FF30 +FUN_0204FF30: ; 0x0204FF30 ldr r1, _0204FF40 ; =0x021C5A6C - ldr r3, _0204FF44 ; =sub_02050094 + ldr r3, _0204FF44 ; =FUN_02050094 ldr r1, [r1, #0x0] add r1, #0x3e strb r0, [r1, #0x0] @@ -151275,34 +151275,34 @@ sub_0204FF30: ; 0x0204FF30 bx r3 .balign 4 _0204FF40: .word 0x021C5A6C -_0204FF44: .word sub_02050094 + 1 +_0204FF44: .word FUN_02050094 + 1 _0204FF48: .word 0x02050689 - thumb_func_start sub_0204FF4C -sub_0204FF4C: ; 0x0204FF4C - ldr r3, _0204FF54 ; =sub_02050094 + thumb_func_start FUN_0204FF4C +FUN_0204FF4C: ; 0x0204FF4C + ldr r3, _0204FF54 ; =FUN_02050094 ldr r0, _0204FF58 ; =0x02050BBD mov r1, #0x0 bx r3 .balign 4 -_0204FF54: .word sub_02050094 + 1 +_0204FF54: .word FUN_02050094 + 1 _0204FF58: .word 0x02050BBD - thumb_func_start sub_0204FF5C -sub_0204FF5C: ; 0x0204FF5C + thumb_func_start FUN_0204FF5C +FUN_0204FF5C: ; 0x0204FF5C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3BC + bl FUN_0200E3BC mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3BC + bl FUN_0200E3BC mov r0, #0x1 add r1, r0, #0x0 - bl sub_020334E8 - bl sub_02031810 + bl FUN_020334E8 + bl FUN_02031810 cmp r0, #0x0 beq _02050014 ldr r0, _02050018 ; =0x021C5A6C @@ -151310,7 +151310,7 @@ sub_0204FF5C: ; 0x0204FF5C cmp r1, #0x0 bne _0204FF9C add r0, r4, #0x0 - bl sub_0204FBB0 + bl FUN_0204FBB0 ldr r0, _02050018 ; =0x021C5A6C mov r1, #0x1 ldr r0, [r0, #0x0] @@ -151327,12 +151327,12 @@ _0204FFA2: ldr r0, [r0, #0x0] add r0, #0x43 strb r1, [r0, #0x0] - bl sub_02031190 + bl FUN_02031190 str r0, [sp, #0x8] - bl sub_02031190 - bl sub_0202DFA4 + bl FUN_02031190 + bl FUN_0202DFA4 mov r4, #0x0 - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x0 ble _0204FFEA ldr r6, _02050018 ; =0x021C5A6C @@ -151345,13 +151345,13 @@ _0204FFCA: bne _0204FFDE ldr r1, _0205001C ; =0x0000066C add r0, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 ldr r1, [r6, #0x0] str r0, [r1, r5] _0204FFDE: add r5, r5, #0x4 add r4, r4, #0x1 - bl sub_02030F20 + bl FUN_02030F20 cmp r4, r0 blt _0204FFCA _0204FFEA: @@ -151367,12 +151367,12 @@ _0204FFEA: mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 - bl sub_02064E90 + bl FUN_02064E90 mov r0, #0x5f - bl sub_02031588 + bl FUN_02031588 ldr r0, _02050020 ; =0x02050C15 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 _02050014: add sp, #0xc pop {r4-r7, pc} @@ -151381,8 +151381,8 @@ _02050018: .word 0x021C5A6C _0205001C: .word 0x0000066C _02050020: .word 0x02050C15 - thumb_func_start sub_02050024 -sub_02050024: ; 0x02050024 + thumb_func_start FUN_02050024 +FUN_02050024: ; 0x02050024 push {r3, lr} ldr r0, _02050040 ; =0x021C5A6C ldr r0, [r0, #0x0] @@ -151390,42 +151390,42 @@ sub_02050024: ; 0x02050024 beq _0205003E mov r0, #0x0 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 ldr r0, _02050044 ; =0x02050DB1 mov r1, #0x5 - bl sub_02050094 + bl FUN_02050094 _0205003E: pop {r3, pc} .balign 4 _02050040: .word 0x021C5A6C _02050044: .word 0x02050DB1 - thumb_func_start sub_02050048 -sub_02050048: ; 0x02050048 + thumb_func_start FUN_02050048 +FUN_02050048: ; 0x02050048 push {r3, lr} ldr r0, _02050064 ; =0x021C5A6C ldr r0, [r0, #0x0] cmp r0, #0x0 beq _02050060 mov r0, #0x5b - bl sub_02031588 + bl FUN_02031588 ldr r0, _02050068 ; =0x02050D89 mov r1, #0x5 - bl sub_02050094 + bl FUN_02050094 _02050060: pop {r3, pc} nop _02050064: .word 0x021C5A6C _02050068: .word 0x02050D89 - thumb_func_start sub_0205006C -sub_0205006C: ; 0x0205006C + thumb_func_start FUN_0205006C +FUN_0205006C: ; 0x0205006C push {r3, lr} ldr r1, _02050090 ; =0x021C5A6C ldr r2, [r1, #0x0] cmp r2, #0x0 bne _0205007C - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3, pc} _0205007C: ldr r1, [r2, #0x34] @@ -151441,8 +151441,8 @@ _0205008C: nop _02050090: .word 0x021C5A6C - thumb_func_start sub_02050094 -sub_02050094: ; 0x02050094 + thumb_func_start FUN_02050094 +FUN_02050094: ; 0x02050094 ldr r2, _020500A0 ; =0x021C5A6C ldr r3, [r2, #0x0] str r0, [r3, #0x34] @@ -151452,8 +151452,8 @@ sub_02050094: ; 0x02050094 .balign 4 _020500A0: .word 0x021C5A6C - thumb_func_start sub_020500A4 -sub_020500A4: ; 0x020500A4 + thumb_func_start FUN_020500A4 +FUN_020500A4: ; 0x020500A4 push {r3, lr} ldr r0, _02050108 ; =0x021C5A6C ldr r1, [r0, #0x0] @@ -151464,66 +151464,66 @@ sub_020500A4: ; 0x020500A4 strh r0, [r1, #0x3c] pop {r3, pc} _020500B6: - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 beq _02050104 ldr r0, _02050108 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] - bl sub_0223E1E0 - bl sub_0202DBE0 + bl FUN_0223E1E0 + bl FUN_0202DBE0 mov r0, #0x0 - bl sub_0204D168 - bl sub_0223EF7C - bl sub_02245FA0 + bl FUN_0204D168 + bl FUN_0223EF7C + bl FUN_02245FA0 ldr r0, _02050108 ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F194 + bl FUN_020462AC + bl FUN_0205F194 cmp r0, #0x0 bne _020500F8 - ldr r0, _0205010C ; =sub_02050114 + ldr r0, _0205010C ; =FUN_02050114 mov r1, #0x0 - bl sub_02050094 + bl FUN_02050094 pop {r3, pc} _020500F8: - bl sub_0204F80C - ldr r0, _02050110 ; =sub_02050144 + bl FUN_0204F80C + ldr r0, _02050110 ; =FUN_02050144 mov r1, #0x18 - bl sub_02050094 + bl FUN_02050094 _02050104: pop {r3, pc} nop _02050108: .word 0x021C5A6C -_0205010C: .word sub_02050114 + 1 -_02050110: .word sub_02050144 + 1 +_0205010C: .word FUN_02050114 + 1 +_02050110: .word FUN_02050144 + 1 - thumb_func_start sub_02050114 -sub_02050114: ; 0x02050114 + thumb_func_start FUN_02050114 +FUN_02050114: ; 0x02050114 push {r3, lr} ldr r0, _0205013C ; =0x021C5A6C ldr r0, [r0, #0x0] ldr r0, [r0, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F194 + bl FUN_020462AC + bl FUN_0205F194 cmp r0, #0x0 beq _0205013A - bl sub_02031880 - bl sub_0204F80C + bl FUN_02031880 + bl FUN_0204F80C ldr r0, _02050140 ; =0x02050169 mov r1, #0x18 - bl sub_02050094 + bl FUN_02050094 _0205013A: pop {r3, pc} .balign 4 _0205013C: .word 0x021C5A6C _02050140: .word 0x02050169 - thumb_func_start sub_02050144 -sub_02050144: ; 0x02050144 + thumb_func_start FUN_02050144 +FUN_02050144: ; 0x02050144 push {r3, lr} ldr r0, _02050160 ; =0x021C5A6C ldr r1, [r0, #0x0] @@ -151536,7 +151536,7 @@ sub_02050144: ; 0x02050144 _02050156: ldr r0, _02050164 ; =0x02050169 mov r1, #0x18 - bl sub_02050094 + bl FUN_02050094 pop {r3, pc} .balign 4 _02050160: .word 0x021C5A6C @@ -152044,12 +152044,12 @@ _02050168: .byte 0x05, 0x49, 0xF4, 0xF7, 0x9B, 0xF9, 0xE5, 0xF7, 0x63, 0xFB, 0xF8, 0xBD, 0x64, 0x1C, 0xDE, 0xF7 .byte 0x3F, 0xFF, 0x84, 0x42, 0xDF, 0xDB, 0xF8, 0xBD, 0xB1, 0x1E, 0x05, 0x02 - thumb_func_start sub_020520AC -sub_020520AC: ; 0x020520AC + thumb_func_start FUN_020520AC +FUN_020520AC: ; 0x020520AC push {r3-r5, lr} add r4, r0, #0x0 bne _020520B6 - bl sub_02020C2C + bl FUN_02020C2C _020520B6: ldr r0, [r4, #0x78] cmp r0, #0x0 @@ -152061,42 +152061,42 @@ _020520C0: mov r0, #0x3 mov r1, #0x1f lsl r2, r2, #0x6 - bl sub_02016828 + bl FUN_02016828 add r0, r4, #0x0 - bl sub_02052110 + bl FUN_02052110 add r5, r0, #0x0 bne _020520D8 ldr r5, [r4, #0x78] _020520D8: add r0, r4, #0x0 - bl sub_0208881C + bl FUN_0208881C mov r0, #0x2 - bl sub_02032B6C - ldr r1, _020520F4 ; =sub_02052178 + bl FUN_02032B6C + ldr r1, _020520F4 ; =FUN_02052178 add r0, r5, #0x0 mov r2, #0x28 - bl sub_02052300 + bl FUN_02052300 add r0, r5, #0x0 pop {r3-r5, pc} nop -_020520F4: .word sub_02052178 + 1 +_020520F4: .word FUN_02052178 + 1 - thumb_func_start sub_020520F8 -sub_020520F8: ; 0x020520F8 + thumb_func_start FUN_020520F8 +FUN_020520F8: ; 0x020520F8 push {r3, lr} ldr r0, [r0, #0x78] cmp r0, #0x0 beq _02052108 - ldr r1, _0205210C ; =sub_02052348 + ldr r1, _0205210C ; =FUN_02052348 mov r2, #0x5 - bl sub_02052300 + bl FUN_02052300 _02052108: pop {r3, pc} nop -_0205210C: .word sub_02052348 + 1 +_0205210C: .word FUN_02052348 + 1 - thumb_func_start sub_02052110 -sub_02052110: ; 0x02052110 + thumb_func_start FUN_02052110 +FUN_02052110: ; 0x02052110 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x78] @@ -152105,81 +152105,81 @@ sub_02052110: ; 0x02052110 mov r0, #0x0 pop {r4-r6, pc} _0205211E: - bl sub_020377AC + bl FUN_020377AC add r6, r0, #0x0 - bl sub_02031A7C + bl FUN_02031A7C mov r1, #0x19 mov r0, #0x1f lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x19 mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 str r0, [r4, #0x10] mov r0, #0x28 str r0, [r4, #0x14] - ldr r0, _02052174 ; =sub_02052308 + ldr r0, _02052174 ; =FUN_02052308 add r1, r4, #0x0 mov r2, #0xa - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0xc] str r5, [r4, #0x0] str r6, [r4, #0x4] add r0, r6, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [r4, #0x8] add r0, r4, #0x0 - bl sub_02052E1C + bl FUN_02052E1C mov r0, #0x15 lsl r0, r0, #0x4 add r0, r4, r0 - bl sub_020312BC + bl FUN_020312BC add r0, r4, #0x0 pop {r4-r6, pc} nop -_02052174: .word sub_02052308 + 1 +_02052174: .word FUN_02052308 + 1 - thumb_func_start sub_02052178 -sub_02052178: ; 0x02052178 + thumb_func_start FUN_02052178 +FUN_02052178: ; 0x02052178 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_0202EDF8 + bl FUN_0202EDF8 cmp r0, #0x0 beq _020521A4 add r0, sp, #0x0 - bl sub_02013754 + bl FUN_02013754 add r0, sp, #0x0 - bl sub_02052DE8 + bl FUN_02052DE8 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02052CD8 - ldr r1, _020521A8 ; =sub_020521AC + bl FUN_02052CD8 + ldr r1, _020521A8 ; =FUN_020521AC add r0, r4, #0x0 mov r2, #0x28 - bl sub_02052300 + bl FUN_02052300 _020521A4: add sp, #0x8 pop {r4, pc} .balign 4 -_020521A8: .word sub_020521AC + 1 +_020521A8: .word FUN_020521AC + 1 - thumb_func_start sub_020521AC -sub_020521AC: ; 0x020521AC + thumb_func_start FUN_020521AC +FUN_020521AC: ; 0x020521AC push {r4, lr} add r4, r0, #0x0 - bl sub_02031B2C + bl FUN_02031B2C cmp r0, #0x0 beq _020521C8 ldr r0, _02052208 ; =0x021C5A70 mov r2, #0x0 str r2, [r0, #0x0] - ldr r1, _0205220C ; =sub_0205225C + ldr r1, _0205220C ; =FUN_0205225C add r0, r4, #0x0 - bl sub_02052300 + bl FUN_02052300 pop {r4, pc} _020521C8: ldr r0, [r4, #0x20] @@ -152194,56 +152194,56 @@ _020521C8: cmp r0, #0x5 ldr r0, [r4, #0x18] bne _020521E6 - bl sub_020328F4 + bl FUN_020328F4 b _020521FC _020521E6: - bl sub_02031AC8 + bl FUN_02031AC8 b _020521FC _020521EC: cmp r0, #0x2 bne _020521FC mov r0, #0x0 - bl sub_02083D48 + bl FUN_02083D48 ldr r0, [r4, #0x18] - bl sub_020328C0 + bl FUN_020328C0 _020521FC: - ldr r1, _02052210 ; =sub_02052380 + ldr r1, _02052210 ; =FUN_02052380 add r0, r4, #0x0 mov r2, #0xc - bl sub_02052300 + bl FUN_02052300 _02052206: pop {r4, pc} .balign 4 _02052208: .word 0x021C5A70 -_0205220C: .word sub_0205225C + 1 -_02052210: .word sub_02052380 + 1 +_0205220C: .word FUN_0205225C + 1 +_02052210: .word FUN_02052380 + 1 - thumb_func_start sub_02052214 -sub_02052214: ; 0x02052214 + thumb_func_start FUN_02052214 +FUN_02052214: ; 0x02052214 push {r4, lr} add r4, r0, #0x0 - bl sub_02031BD0 + bl FUN_02031BD0 cmp r0, #0x1 bne _02052230 ldr r0, [r4, #0x0] - bl sub_0208881C - ldr r1, _02052234 ; =sub_020521AC + bl FUN_0208881C + ldr r1, _02052234 ; =FUN_020521AC add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 _02052230: pop {r4, pc} nop -_02052234: .word sub_020521AC + 1 +_02052234: .word FUN_020521AC + 1 - thumb_func_start sub_02052238 -sub_02052238: ; 0x02052238 + thumb_func_start FUN_02052238 +FUN_02052238: ; 0x02052238 push {r3-r5, lr} mov r5, #0x0 mov r4, #0x1 _0205223E: add r0, r4, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 cmp r0, #0x0 beq _0205224A add r5, r5, #0x1 @@ -152259,8 +152259,8 @@ _02052258: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205225C -sub_0205225C: ; 0x0205225C + thumb_func_start FUN_0205225C +FUN_0205225C: ; 0x0205225C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] @@ -152274,78 +152274,78 @@ _0205226C: ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] - bl sub_020311E8 + bl FUN_020311E8 cmp r0, #0x0 beq _020522A0 - bl sub_02052238 + bl FUN_02052238 cmp r0, #0x1 bne _020522A0 - bl sub_0202DBE0 + bl FUN_0202DBE0 mov r0, #0x1 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 mov r0, #0xb - bl sub_02052B74 - ldr r1, _020522C8 ; =sub_020522D0 + bl FUN_02052B74 + ldr r1, _020522C8 ; =FUN_020522D0 add r0, r4, #0x0 mov r2, #0x0 - bl sub_02052300 + bl FUN_02052300 _020522A0: - bl sub_02031B2C + bl FUN_02031B2C cmp r0, #0x0 bne _020522C2 - bl sub_02031B50 + bl FUN_02031B50 add r0, r4, #0x0 - bl sub_02052E1C + bl FUN_02052E1C mov r0, #0x0 - bl sub_02052B74 - ldr r1, _020522CC ; =sub_02052214 + bl FUN_02052B74 + ldr r1, _020522CC ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 _020522C2: pop {r4, pc} .balign 4 _020522C4: .word 0x021C5A70 -_020522C8: .word sub_020522D0 + 1 -_020522CC: .word sub_02052214 + 1 +_020522C8: .word FUN_020522D0 + 1 +_020522CC: .word FUN_02052214 + 1 - thumb_func_start sub_020522D0 -sub_020522D0: ; 0x020522D0 + thumb_func_start FUN_020522D0 +FUN_020522D0: ; 0x020522D0 push {r4, lr} add r4, r0, #0x0 - bl sub_020311E8 - bl sub_020311E8 + bl FUN_020311E8 + bl FUN_020311E8 cmp r0, #0x0 bne _020522FA - bl sub_02031B50 + bl FUN_02031B50 add r0, r4, #0x0 - bl sub_02052E1C + bl FUN_02052E1C mov r0, #0x0 - bl sub_02052B74 - ldr r1, _020522FC ; =sub_02052214 + bl FUN_02052B74 + ldr r1, _020522FC ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 _020522FA: pop {r4, pc} .balign 4 -_020522FC: .word sub_02052214 + 1 +_020522FC: .word FUN_02052214 + 1 - thumb_func_start sub_02052300 -sub_02052300: ; 0x02052300 + thumb_func_start FUN_02052300 +FUN_02052300: ; 0x02052300 str r1, [r0, #0x10] str r2, [r0, #0x14] bx lr .balign 4 - thumb_func_start sub_02052308 -sub_02052308: ; 0x02052308 + thumb_func_start FUN_02052308 +FUN_02052308: ; 0x02052308 push {r3-r7, lr} str r1, [sp, #0x0] cmp r1, #0x0 bne _02052316 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r7, pc} _02052316: mov r7, #0x11 @@ -152355,7 +152355,7 @@ _02052316: lsl r7, r7, #0x4 _02052320: add r0, r6, #0x0 - bl sub_0202EF18 + bl FUN_0202EF18 mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r4, r1] @@ -152375,8 +152375,8 @@ _02052342: .balign 4 _02052344: .word 0x021C5A7C - thumb_func_start sub_02052348 -sub_02052348: ; 0x02052348 + thumb_func_start FUN_02052348 +FUN_02052348: ; 0x02052348 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] @@ -152386,59 +152386,59 @@ sub_02052348: ; 0x02052348 str r0, [r4, #0x14] pop {r4, pc} _02052358: - bl sub_02031BF4 - ldr r1, _02052368 ; =sub_0205236C + bl FUN_02031BF4 + ldr r1, _02052368 ; =FUN_0205236C add r0, r4, #0x0 mov r2, #0x0 - bl sub_02052300 + bl FUN_02052300 pop {r4, pc} .balign 4 -_02052368: .word sub_0205236C + 1 +_02052368: .word FUN_0205236C + 1 - thumb_func_start sub_0205236C -sub_0205236C: ; 0x0205236C + thumb_func_start FUN_0205236C +FUN_0205236C: ; 0x0205236C push {r4, lr} add r4, r0, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _0205237E add r0, r4, #0x0 - bl sub_020524A0 + bl FUN_020524A0 _0205237E: pop {r4, pc} - thumb_func_start sub_02052380 -sub_02052380: ; 0x02052380 + thumb_func_start FUN_02052380 +FUN_02052380: ; 0x02052380 push {r4, lr} add r4, r0, #0x0 - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x1 bne _0205239C - bl sub_0202DBE0 - ldr r1, _020523D4 ; =sub_02052410 + bl FUN_0202DBE0 + ldr r1, _020523D4 ; =FUN_02052410 add r0, r4, #0x0 mov r2, #0x3 - bl sub_02052300 + bl FUN_02052300 pop {r4, pc} _0205239C: - bl sub_020311E8 + bl FUN_020311E8 cmp r0, #0x0 beq _020523B4 mov r2, #0x0 str r2, [r4, #0x20] mov r0, #0x3 str r0, [r4, #0x1c] - ldr r1, _020523D8 ; =sub_0205225C + ldr r1, _020523D8 ; =FUN_0205225C add r0, r4, #0x0 - bl sub_02052300 + bl FUN_02052300 _020523B4: - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x0 beq _020523D2 - ldr r1, _020523DC ; =sub_020523E0 + ldr r1, _020523DC ; =FUN_020523E0 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 mov r1, #0x0 str r1, [r4, #0x24] mov r0, #0x2 @@ -152448,41 +152448,41 @@ _020523B4: _020523D2: pop {r4, pc} .balign 4 -_020523D4: .word sub_02052410 + 1 -_020523D8: .word sub_0205225C + 1 -_020523DC: .word sub_020523E0 + 1 +_020523D4: .word FUN_02052410 + 1 +_020523D8: .word FUN_0205225C + 1 +_020523DC: .word FUN_020523E0 + 1 - thumb_func_start sub_020523E0 -sub_020523E0: ; 0x020523E0 + thumb_func_start FUN_020523E0 +FUN_020523E0: ; 0x020523E0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204646C + bl FUN_0204646C cmp r0, #0x0 bne _02052408 - bl sub_02031B50 + bl FUN_02031B50 add r0, r4, #0x0 - bl sub_02052E1C + bl FUN_02052E1C mov r0, #0x0 - bl sub_02052B74 - ldr r1, _0205240C ; =sub_02052214 + bl FUN_02052B74 + ldr r1, _0205240C ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 _02052408: pop {r4, pc} nop -_0205240C: .word sub_02052214 + 1 +_0205240C: .word FUN_02052214 + 1 - thumb_func_start sub_02052410 -sub_02052410: ; 0x02052410 + thumb_func_start FUN_02052410 +FUN_02052410: ; 0x02052410 push {r4, lr} add r4, r0, #0x0 - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x1 bne _02052444 - bl sub_02031190 - bl sub_0202DFA4 + bl FUN_02031190 + bl FUN_0202DFA4 cmp r0, #0x0 beq _0205246C mov r1, #0x0 @@ -152491,23 +152491,23 @@ sub_02052410: ; 0x02052410 str r0, [r4, #0x1c] str r1, [r4, #0x44] add r1, r0, #0x0 - bl sub_020334E8 - ldr r1, _02052470 ; =sub_02052478 + bl FUN_020334E8 + ldr r1, _02052470 ; =FUN_02052478 add r0, r4, #0x0 mov r2, #0x3 - bl sub_02052300 + bl FUN_02052300 pop {r4, pc} _02052444: - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x0 bne _0205246C - bl sub_02031B50 + bl FUN_02031B50 add r0, r4, #0x0 - bl sub_02052E1C - ldr r1, _02052474 ; =sub_02052214 + bl FUN_02052E1C + ldr r1, _02052474 ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 mov r1, #0x0 str r1, [r4, #0x24] mov r0, #0x2 @@ -152517,50 +152517,50 @@ _02052444: _0205246C: pop {r4, pc} nop -_02052470: .word sub_02052478 + 1 -_02052474: .word sub_02052214 + 1 +_02052470: .word FUN_02052478 + 1 +_02052474: .word FUN_02052214 + 1 - thumb_func_start sub_02052478 -sub_02052478: ; 0x02052478 + thumb_func_start FUN_02052478 +FUN_02052478: ; 0x02052478 push {r4, lr} add r4, r0, #0x0 - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x0 bne _02052498 - bl sub_02031B50 + bl FUN_02031B50 add r0, r4, #0x0 - bl sub_02052E1C - ldr r1, _0205249C ; =sub_02052214 + bl FUN_02052E1C + ldr r1, _0205249C ; =FUN_02052214 add r0, r4, #0x0 mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 _02052498: pop {r4, pc} nop -_0205249C: .word sub_02052214 + 1 +_0205249C: .word FUN_02052214 + 1 - thumb_func_start sub_020524A0 -sub_020524A0: ; 0x020524A0 + thumb_func_start FUN_020524A0 +FUN_020524A0: ; 0x020524A0 push {r4, lr} add r4, r0, #0x0 beq _020524B8 ldr r0, [r4, #0xc] - bl sub_0200CAB4 + bl FUN_0200CAB4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1f - bl sub_020168D0 + bl FUN_020168D0 _020524B8: pop {r4, pc} .balign 4 - thumb_func_start sub_020524BC -sub_020524BC: ; 0x020524BC + thumb_func_start FUN_020524BC +FUN_020524BC: ; 0x020524BC ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_020524C0 -sub_020524C0: ; 0x020524C0 + thumb_func_start FUN_020524C0 +FUN_020524C0: ; 0x020524C0 lsl r1, r1, #0x2 add r1, r0, r1 mov r0, #0x11 @@ -152568,16 +152568,16 @@ sub_020524C0: ; 0x020524C0 ldr r0, [r1, r0] bx lr - thumb_func_start sub_020524CC -sub_020524CC: ; 0x020524CC + thumb_func_start FUN_020524CC +FUN_020524CC: ; 0x020524CC push {r4-r6, lr} add r5, r1, #0x0 add r4, r0, #0x0 sub r0, r5, #0x1 - bl sub_0202EF84 + bl FUN_0202EF84 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02052E10 + bl FUN_02052E10 cmp r6, #0x0 bne _020524E8 mov r0, #0x5 @@ -152625,14 +152625,14 @@ _0205253A: nop _02052540: .word 0x021C5A70 - thumb_func_start sub_02052544 -sub_02052544: ; 0x02052544 + thumb_func_start FUN_02052544 +FUN_02052544: ; 0x02052544 push {r4-r6, lr} add r6, r1, #0x0 add r4, r0, #0x0 sub r0, r6, #0x1 add r5, r2, #0x0 - bl sub_0202EF84 + bl FUN_0202EF84 sub r0, r6, #0x1 lsl r1, r0, #0x2 add r2, r4, r1 @@ -152687,19 +152687,19 @@ _020525AC: .byte 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61, 0x02, 0x20, 0x20, 0x62, 0x00, 0x20, 0x60, 0x62, 0xE0, 0x61 .byte 0x01, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD _020525F8: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r4-r6, pc} .balign 4 _02052600: .word 0x021C5A70 - thumb_func_start sub_02052604 -sub_02052604: ; 0x02052604 + thumb_func_start FUN_02052604 +FUN_02052604: ; 0x02052604 ldr r0, [r0, #0x1c] bx lr - thumb_func_start sub_02052608 -sub_02052608: ; 0x02052608 + thumb_func_start FUN_02052608 +FUN_02052608: ; 0x02052608 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x44] @@ -152708,22 +152708,22 @@ sub_02052608: ; 0x02052608 mov r0, #0x7 pop {r4, pc} _02052616: - bl sub_02030F20 + bl FUN_02030F20 cmp r0, #0x2 bge _02052622 mov r0, #0x7 pop {r4, pc} _02052622: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02052636 - bl sub_02031B2C + bl FUN_02031B2C cmp r0, #0x1 bne _02052642 ldr r0, [r4, #0x40] pop {r4, pc} _02052636: - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x1 bne _02052642 ldr r0, [r4, #0x40] @@ -152733,11 +152733,11 @@ _02052642: pop {r4, pc} .balign 4 - thumb_func_start sub_02052648 -sub_02052648: ; 0x02052648 + thumb_func_start FUN_02052648 +FUN_02052648: ; 0x02052648 push {r4, lr} add r4, r0, #0x0 - bl sub_02031B2C + bl FUN_02031B2C cmp r0, #0x1 bne _02052658 ldr r0, [r4, #0x30] @@ -152746,8 +152746,8 @@ _02052658: mov r0, #0x7 pop {r4, pc} - thumb_func_start sub_0205265C -sub_0205265C: ; 0x0205265C + thumb_func_start FUN_0205265C +FUN_0205265C: ; 0x0205265C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 @@ -152768,7 +152768,7 @@ _02052670: str r0, [r5, #0x34] mov r0, #0x63 mov r2, #0x1 - bl sub_02030ADC + bl FUN_02030ADC pop {r3-r5, pc} _02052688: cmp r4, #0x0 @@ -152779,7 +152779,7 @@ _02052688: add r1, sp, #0x0 mov r0, #0x67 add r1, #0x1 - bl sub_02030BC4 + bl FUN_02030BC4 str r4, [r5, #0x3c] pop {r3-r5, pc} _020526A0: @@ -152788,38 +152788,38 @@ _020526A0: mov r0, #0x67 add r1, sp, #0x0 mov r2, #0x1 - bl sub_02030BC4 + bl FUN_02030BC4 str r4, [r5, #0x3c] _020526B0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020526B4 -sub_020526B4: ; 0x020526B4 + thumb_func_start FUN_020526B4 +FUN_020526B4: ; 0x020526B4 bx lr .balign 4 - thumb_func_start sub_020526B8 -sub_020526B8: ; 0x020526B8 + thumb_func_start FUN_020526B8 +FUN_020526B8: ; 0x020526B8 bx lr .balign 4 - thumb_func_start sub_020526BC -sub_020526BC: ; 0x020526BC + thumb_func_start FUN_020526BC +FUN_020526BC: ; 0x020526BC push {r4, lr} add r4, r3, #0x0 ldr r0, [r4, #0x78] - ldr r1, _020526D4 ; =sub_020521AC + ldr r1, _020526D4 ; =FUN_020521AC mov r2, #0x2 - bl sub_02052300 + bl FUN_02052300 ldr r0, [r4, #0x78] - bl sub_02052E1C + bl FUN_02052E1C pop {r4, pc} nop -_020526D4: .word sub_020521AC + 1 +_020526D4: .word FUN_020521AC + 1 - thumb_func_start sub_020526D8 -sub_020526D8: ; 0x020526D8 + thumb_func_start FUN_020526D8 +FUN_020526D8: ; 0x020526D8 ldr r1, [r3, #0x78] ldr r0, [r1, #0x44] cmp r0, #0x0 @@ -152834,8 +152834,8 @@ _020526EA: .balign 4 _020526EC: .word 0x021C5A70 - thumb_func_start sub_020526F0 -sub_020526F0: ; 0x020526F0 + thumb_func_start FUN_020526F0 +FUN_020526F0: ; 0x020526F0 push {r3, lr} ldr r0, [r3, #0x78] mov r1, #0x1 @@ -152846,25 +152846,25 @@ sub_020526F0: ; 0x020526F0 ldrb r0, [r2, #0x0] cmp r0, #0x4 bne _02052708 - bl sub_02032888 + bl FUN_02032888 _02052708: pop {r3, pc} .balign 4 - thumb_func_start sub_0205270C -sub_0205270C: ; 0x0205270C + thumb_func_start FUN_0205270C +FUN_0205270C: ; 0x0205270C ldr r0, [r3, #0x78] mov r1, #0x1 str r1, [r0, #0x44] bx lr - thumb_func_start sub_02052714 -sub_02052714: ; 0x02052714 + thumb_func_start FUN_02052714 +FUN_02052714: ; 0x02052714 ldr r0, [r0, #0x44] bx lr - thumb_func_start sub_02052718 -sub_02052718: ; 0x02052718 + thumb_func_start FUN_02052718 +FUN_02052718: ; 0x02052718 push {r4, lr} ldr r0, [r0, #0x30] add r4, r1, #0x0 @@ -152873,53 +152873,53 @@ sub_02052718: ; 0x02052718 mov r1, #0x0 mov r0, #0x68 add r2, r1, #0x0 - bl sub_02030ADC + bl FUN_02030ADC add r0, r4, #0x0 pop {r4, pc} _02052730: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02052734 -sub_02052734: ; 0x02052734 + thumb_func_start FUN_02052734 +FUN_02052734: ; 0x02052734 push {r3-r7, lr} add r5, r0, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 mov r1, #0x1 eor r0, r1 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r7, r0, #0x0 ldr r0, _02052784 ; =0x0000066A mov r1, #0x1 strh r1, [r6, r0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _02052780 add r0, r7, #0x0 - bl sub_0202398C + bl FUN_0202398C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_020239CC + bl FUN_020239CC add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 mov r2, #0x1f - bl sub_0202942C + bl FUN_0202942C add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x4 - bl sub_02028AD4 + bl FUN_02028AD4 _02052780: pop {r3-r7, pc} nop _02052784: .word 0x0000066A - thumb_func_start sub_02052788 -sub_02052788: ; 0x02052788 + thumb_func_start FUN_02052788 +FUN_02052788: ; 0x02052788 ldr r1, [r1, #0x78] lsl r0, r0, #0x2 add r1, r1, r0 @@ -152929,8 +152929,8 @@ sub_02052788: ; 0x02052788 bx lr .balign 4 - thumb_func_start sub_02052798 -sub_02052798: ; 0x02052798 + thumb_func_start FUN_02052798 +FUN_02052798: ; 0x02052798 ldr r1, [r3, #0x78] ldrb r2, [r2, #0x0] add r1, r1, r0 @@ -152940,11 +152940,11 @@ sub_02052798: ; 0x02052798 .balign 4 _020527A4: .word 0x00000176 - thumb_func_start sub_020527A8 -sub_020527A8: ; 0x020527A8 + thumb_func_start FUN_020527A8 +FUN_020527A8: ; 0x020527A8 push {r4, lr} add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 ldr r2, _020527D4 ; =0x00000176 add r1, r4, r0 ldrb r1, [r1, r2] @@ -152967,20 +152967,20 @@ _020527CE: nop _020527D4: .word 0x00000176 - thumb_func_start sub_020527D8 -sub_020527D8: ; 0x020527D8 + thumb_func_start FUN_020527D8 +FUN_020527D8: ; 0x020527D8 push {r3, lr} add r1, sp, #0x0 strb r0, [r1, #0x0] mov r0, #0x65 add r1, sp, #0x0 mov r2, #0x1 - bl sub_02030ADC + bl FUN_02030ADC pop {r3, pc} .balign 4 - thumb_func_start sub_020527EC -sub_020527EC: ; 0x020527EC + thumb_func_start FUN_020527EC +FUN_020527EC: ; 0x020527EC ldr r3, _02052810 ; =0x020F58D4 mov r2, #0x0 _020527F0: @@ -153003,27 +153003,27 @@ _02052800: nop _02052810: .word 0x020F58D4 - thumb_func_start sub_02052814 -sub_02052814: ; 0x02052814 + thumb_func_start FUN_02052814 +FUN_02052814: ; 0x02052814 push {r4-r6, lr} add r4, r1, #0x0 add r6, r0, #0x0 cmp r4, #0x9 ble _02052834 add r0, r4, #0x0 - bl sub_020527EC + bl FUN_020527EC add r5, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _02052836 - bl sub_02020C2C + bl FUN_02020C2C b _02052836 _02052834: add r5, r4, #0x0 _02052836: add r0, r5, #0x0 - bl sub_0202EF84 + bl FUN_0202EF84 lsl r1, r5, #0x2 add r2, r6, r1 mov r1, #0x11 @@ -153050,7 +153050,7 @@ _02052852: asr r4, r0, #0x7 b _02052872 _0205286C: - bl sub_020239CC + bl FUN_020239CC add r4, r0, #0x0 _02052872: ldrb r0, [r5, #0x1c] @@ -153099,28 +153099,28 @@ _02052954: .byte 0xC4, 0x58, 0x0F, 0x02, 0x84, 0x59, 0x0F, 0x02, 0xB4, 0x58, 0x0F, 0x02 .byte 0x64, 0x59, 0x0F, 0x02, 0xA4, 0x59, 0x0F, 0x02, 0xC4, 0x59, 0x0F, 0x02 - thumb_func_start sub_0205296C -sub_0205296C: ; 0x0205296C + thumb_func_start FUN_0205296C +FUN_0205296C: ; 0x0205296C push {r3-r7, lr} str r0, [sp, #0x0] - bl sub_02031190 - bl sub_0202E020 + bl FUN_02031190 + bl FUN_0202E020 lsl r0, r0, #0x18 lsr r7, r0, #0x18 - bl sub_02031190 + bl FUN_02031190 mov r1, #0x1 eor r0, r1 - bl sub_0202E020 + bl FUN_0202E020 lsl r0, r0, #0x18 lsr r4, r0, #0x18 - bl sub_02031190 - bl sub_0202E044 + bl FUN_02031190 + bl FUN_0202E044 lsl r0, r0, #0x18 lsr r6, r0, #0x18 - bl sub_02031190 + bl FUN_02031190 mov r1, #0x1 eor r0, r1 - bl sub_0202E044 + bl FUN_0202E044 lsl r0, r0, #0x18 lsr r5, r0, #0x18 cmp r4, #0x0 @@ -153132,14 +153132,14 @@ _020529B0: ldr r0, [sp, #0x0] mov r1, #0x3 add r2, r4, #0x0 - bl sub_0200B4A0 + bl FUN_0200B4A0 cmp r5, #0x0 beq _020529CC ldr r0, [sp, #0x0] mov r1, #0x4 add r2, r4, #0x0 add r3, r5, #0x0 - bl sub_0200B4D8 + bl FUN_0200B4D8 _020529CC: cmp r7, r4 beq _020529E4 @@ -153164,8 +153164,8 @@ _020529EC: mov r0, #0xf pop {r3-r7, pc} - thumb_func_start sub_020529F0 -sub_020529F0: ; 0x020529F0 + thumb_func_start FUN_020529F0 +FUN_020529F0: ; 0x020529F0 push {r3, lr} cmp r0, #0x0 beq _02052A02 @@ -153177,13 +153177,13 @@ sub_020529F0: ; 0x020529F0 pop {r3, pc} _02052A02: add r0, r2, #0x0 - bl sub_0205296C + bl FUN_0205296C pop {r3, pc} nop _02052A0C: .word 0x020F5A14 - thumb_func_start sub_02052A10 -sub_02052A10: ; 0x02052A10 + thumb_func_start FUN_02052A10 +FUN_02052A10: ; 0x02052A10 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 @@ -153191,12 +153191,12 @@ sub_02052A10: ; 0x02052A10 cmp r4, #0x0 bne _02052A24 sub r1, r1, #0x1 - bl sub_02052814 + bl FUN_02052814 pop {r4-r6, pc} _02052A24: sub r0, r1, #0x1 - bl sub_0202EF84 - bl sub_020239CC + bl FUN_0202EF84 + bl FUN_020239CC add r1, r0, #0x0 cmp r4, #0x18 bhi _02052AFA @@ -153234,7 +153234,7 @@ _02052A24: ldr r0, [r5, #0x34] add r2, r6, #0x0 sub r0, r0, #0x1 - bl sub_020529F0 + bl FUN_020529F0 pop {r4-r6, pc} _02052A7E: .byte 0x21, 0x48 @@ -153247,7 +153247,7 @@ _02052A7E: .byte 0x70, 0xBD, 0x0F, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x0E, 0x48, 0x89, 0x00, 0x40, 0x58 .byte 0x70, 0xBD, 0x0D, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD _02052AFA: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x28 pop {r4-r6, pc} nop @@ -153256,25 +153256,25 @@ _02052B04: .byte 0x44, 0x5A, 0x0F, 0x02, 0x00, 0x59, 0x0F, 0x02, 0x18, 0x59, 0x0F, 0x02, 0x30, 0x59, 0x0F, 0x02 .byte 0x8C, 0x58, 0x0F, 0x02, 0xA4, 0x58, 0x0F, 0x02, 0x9C, 0x58, 0x0F, 0x02 - thumb_func_start sub_02052B2C -sub_02052B2C: ; 0x02052B2C + thumb_func_start FUN_02052B2C +FUN_02052B2C: ; 0x02052B2C push {r3-r7, lr} add r5, r0, #0x0 mov r6, #0x1 _02052B32: add r0, r6, #0x0 sub r4, r6, #0x1 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r7, r0, #0x0 beq _02052B60 - bl sub_020239BC + bl FUN_020239BC lsl r1, r4, #0x2 str r0, [r5, r1] add r0, r7, #0x0 - bl sub_02023A28 + bl FUN_02023A28 str r0, [sp, #0x0] add r0, r7, #0x0 - bl sub_020239CC + bl FUN_020239CC lsl r1, r0, #0x7 ldr r0, [sp, #0x0] orr r1, r0 @@ -153294,15 +153294,15 @@ _02052B6A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02052B74 -sub_02052B74: ; 0x02052B74 + thumb_func_start FUN_02052B74 +FUN_02052B74: ; 0x02052B74 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C cmp r4, #0xb bhi _02052BFA add r0, r4, r4 @@ -153325,7 +153325,7 @@ sub_02052B74: ; 0x02052B74 lsl r6, r2, #0 add r0, sp, #0x0 mov r1, #0x2 - bl sub_02052B2C + bl FUN_02052B2C b _02052BFA _02052BB6: .byte 0x00, 0xA8, 0x02, 0x21, 0xFF, 0xF7, 0xB7, 0xFF, 0x1C, 0xE0 @@ -153337,13 +153337,13 @@ _02052BFA: add r0, sp, #0x0 strb r4, [r0, #0x1c] add r0, sp, #0x0 - bl sub_0202F094 - bl sub_0202F0B8 + bl FUN_0202F094 + bl FUN_0202F0B8 add sp, #0x20 pop {r4, pc} - thumb_func_start sub_02052C0C -sub_02052C0C: ; 0x02052C0C + thumb_func_start FUN_02052C0C +FUN_02052C0C: ; 0x02052C0C push {r4-r6, lr} add r5, r0, #0x0 mov r3, #0x0 @@ -153370,7 +153370,7 @@ _02052C34: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_0201385C + bl FUN_0201385C cmp r0, #0x0 bne _02052C46 mov r0, #0xa5 @@ -153379,28 +153379,28 @@ _02052C46: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02013920 + bl FUN_02013920 cmp r0, #0x4 beq _02052C78 ldr r0, [r5, #0x8] - bl sub_02023A28 + bl FUN_02023A28 add r4, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_020239CC + bl FUN_020239CC add r1, r4, #0x0 mov r2, #0x2 - bl sub_020536D0 + bl FUN_020536D0 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0200B064 + bl FUN_0200B064 mov r0, #0xa6 pop {r4-r6, pc} _02052C78: mov r0, #0x5e lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02013924 + bl FUN_02013924 add r4, r0, #0x0 cmp r4, #0x14 blt _02052C8A @@ -153410,14 +153410,14 @@ _02052C8A: lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 - bl sub_02013918 + bl FUN_02013918 add r2, r0, #0x0 ldr r0, _02052CB0 ; =0x0000FFFF cmp r2, r0 beq _02052CA6 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0200B518 + bl FUN_0200B518 _02052CA6: ldr r0, _02052CB4 ; =0x020F5A74 lsl r1, r4, #0x2 @@ -153427,8 +153427,8 @@ _02052CA6: _02052CB0: .word 0x0000FFFF _02052CB4: .word 0x020F5A74 - thumb_func_start sub_02052CB8 -sub_02052CB8: ; 0x02052CB8 + thumb_func_start FUN_02052CB8 +FUN_02052CB8: ; 0x02052CB8 push {r3-r4} mov r3, #0x0 strb r3, [r0, #0x1c] @@ -153447,22 +153447,22 @@ _02052CC2: bx lr .balign 4 - thumb_func_start sub_02052CD8 -sub_02052CD8: ; 0x02052CD8 + thumb_func_start FUN_02052CD8 +FUN_02052CD8: ; 0x02052CD8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x5e lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02013960 + bl FUN_02013960 mov r0, #0x6 mov r1, #0x1 lsl r0, r0, #0x6 str r1, [r4, r0] pop {r4, pc} - thumb_func_start sub_02052CF0 -sub_02052CF0: ; 0x02052CF0 + thumb_func_start FUN_02052CF0 +FUN_02052CF0: ; 0x02052CF0 mov r1, #0x6 lsl r1, r1, #0x6 ldr r2, [r0, r1] @@ -153477,8 +153477,8 @@ _02052CFE: add r0, r0, r1 bx lr - thumb_func_start sub_02052D08 -sub_02052D08: ; 0x02052D08 + thumb_func_start FUN_02052D08 +FUN_02052D08: ; 0x02052D08 push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 @@ -153490,18 +153490,18 @@ sub_02052D08: ; 0x02052D08 mov r1, #0x1a lsl r2, r2, #0x6 mov r3, #0x4 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 cmp r4, #0x0 bne _02052D30 sub r0, r6, #0x1 - bl sub_0202EF84 + bl FUN_0202EF84 b _02052D3C _02052D30: - bl sub_02031190 + bl FUN_02031190 mov r1, #0x1 eor r0, r1 - bl sub_0202DFA4 + bl FUN_0202DFA4 _02052D3C: add r4, r0, #0x0 cmp r4, #0x0 @@ -153509,13 +153509,13 @@ _02052D3C: add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 ldr r2, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200ABC0 + bl FUN_0200ABC0 add r0, r4, #0x0 - bl sub_02023A70 + bl FUN_02023A70 add r4, r0, #0x0 cmp r4, #0x1 blt _02052D80 @@ -153532,7 +153532,7 @@ _02052D3C: cmp r1, #0x0 blt _02052D80 ldr r0, [sp, #0x20] - bl sub_02013C18 + bl FUN_02013C18 _02052D80: cmp r4, #0x7 bhi _02052DB8 @@ -153559,7 +153559,7 @@ _02052DB8: mov r1, #0xd7 _02052DBA: add r0, r7, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -153568,38 +153568,38 @@ _02052DBA: add r2, r6, #0x0 mov r3, #0x0 str r4, [sp, #0x4] - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _02052DE0: add sp, #0xc pop {r4-r7, pc} .balign 4 _02052DE4: .word 0x020F5948 - thumb_func_start sub_02052DE8 -sub_02052DE8: ; 0x02052DE8 + thumb_func_start FUN_02052DE8 +FUN_02052DE8: ; 0x02052DE8 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_02052CB8 + bl FUN_02052CB8 mov r1, #0x0 add r0, sp, #0x0 strb r1, [r0, #0x1c] add r0, r4, #0x0 - bl sub_0202F078 + bl FUN_0202F078 add r0, sp, #0x0 - bl sub_0202F094 - bl sub_0202F0B8 + bl FUN_0202F094 + bl FUN_0202F0B8 add sp, #0x20 pop {r4, pc} .balign 4 - thumb_func_start sub_02052E10 -sub_02052E10: ; 0x02052E10 + thumb_func_start FUN_02052E10 +FUN_02052E10: ; 0x02052E10 mov r1, #0x0 str r1, [r0, #0x30] str r1, [r0, #0x40] @@ -153607,8 +153607,8 @@ sub_02052E10: ; 0x02052E10 bx lr .balign 4 - thumb_func_start sub_02052E1C -sub_02052E1C: ; 0x02052E1C + thumb_func_start FUN_02052E1C +FUN_02052E1C: ; 0x02052E1C mov r2, #0x0 str r2, [r0, #0x20] str r2, [r0, #0x24] @@ -153624,35 +153624,35 @@ sub_02052E1C: ; 0x02052E1C bx lr .balign 4 - thumb_func_start sub_02052E38 -sub_02052E38: ; 0x02052E38 + thumb_func_start FUN_02052E38 +FUN_02052E38: ; 0x02052E38 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 mov r0, #0x0 - bl sub_02065054 + bl FUN_02065054 mov r1, #0x61 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x0 - bl sub_02065054 + bl FUN_02065054 mov r1, #0x62 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x0 - bl sub_02065054 + bl FUN_02065054 mov r1, #0x63 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x8] - bl sub_020239CC + bl FUN_020239CC add r5, r0, #0x0 ldr r0, [r4, #0x8] - bl sub_02023A28 + bl FUN_02023A28 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 - bl sub_020536D0 + bl FUN_020536D0 add r3, r0, #0x0 ldr r0, [r4, #0x0] lsl r3, r3, #0x18 @@ -153665,8 +153665,8 @@ sub_02052E38: ; 0x02052E38 mov r0, #0x0 add r1, r0, #0x0 add r2, r0, #0x0 - bl sub_02064E90 - bl sub_02031190 + bl FUN_02064E90 + bl FUN_02031190 mov r1, #0x1 eor r0, r1 lsl r0, r0, #0x2 @@ -153677,68 +153677,68 @@ sub_02052E38: ; 0x02052E38 add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_02052EAC -sub_02052EAC: ; 0x02052EAC + thumb_func_start FUN_02052EAC +FUN_02052EAC: ; 0x02052EAC push {r4, lr} add r4, r0, #0x0 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x63 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x61 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02052ED0 -sub_02052ED0: ; 0x02052ED0 + thumb_func_start FUN_02052ED0 +FUN_02052ED0: ; 0x02052ED0 mov r1, #0x61 add r2, r0, #0x0 lsl r1, r1, #0x2 ldr r1, [r2, r1] - ldr r3, _02052EE0 ; =sub_02030A78 + ldr r3, _02052EE0 ; =FUN_02030A78 mov r0, #0x69 ldr r2, _02052EE4 ; =0x0000066C bx r3 .balign 4 -_02052EE0: .word sub_02030A78 + 1 +_02052EE0: .word FUN_02030A78 + 1 _02052EE4: .word 0x0000066C - thumb_func_start sub_02052EE8 -sub_02052EE8: ; 0x02052EE8 + thumb_func_start FUN_02052EE8 +FUN_02052EE8: ; 0x02052EE8 push {r3-r5, lr} ldr r1, _02052F58 ; =0x000004E8 add r5, r0, #0x0 mov r0, #0x1f - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r2, _02052F58 ; =0x000004E8 mov r0, #0x0 add r1, r4, #0x0 - blx sub_020CE240 + blx FUN_020CE240 mov r0, #0x4e str r5, [r4, #0x0] mov r1, #0x1 lsl r0, r0, #0x4 str r1, [r4, r0] - ldr r0, _02052F5C ; =sub_02052FC8 + ldr r0, _02052F5C ; =FUN_02052FC8 add r1, r4, #0x0 mov r2, #0xb - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_020524BC + bl FUN_020524BC ldr r1, _02052F60 ; =0x000004D4 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0x9 ldr r0, [r0, #0xc] - bl sub_02022610 + bl FUN_02022610 ldr r1, _02052F64 ; =0x000004D8 ldr r2, _02052F68 ; =0x00002710 str r0, [r4, r1] @@ -153748,28 +153748,28 @@ sub_02052EE8: ; 0x02052EE8 ldr r0, [r0, #0x38] str r0, [r4, #0x8] mov r0, #0xb - bl sub_02016828 + bl FUN_02016828 mov r0, #0x59 - bl sub_02053618 + bl FUN_02053618 ldr r1, _02052F6C ; =0x000004DC str r0, [r4, r1] add r0, r4, #0x0 - bl sub_02052F8C + bl FUN_02052F8C ldr r0, _02052F70 ; =0x021C5ABC str r4, [r0, #0x0] add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _02052F58: .word 0x000004E8 -_02052F5C: .word sub_02052FC8 + 1 +_02052F5C: .word FUN_02052FC8 + 1 _02052F60: .word 0x000004D4 _02052F64: .word 0x000004D8 _02052F68: .word 0x00002710 _02052F6C: .word 0x000004DC _02052F70: .word 0x021C5ABC - thumb_func_start sub_02052F74 -sub_02052F74: ; 0x02052F74 + thumb_func_start FUN_02052F74 +FUN_02052F74: ; 0x02052F74 mov r3, #0x0 mov r1, #0x3 _02052F78: @@ -153785,8 +153785,8 @@ _02052F80: bx lr .balign 4 - thumb_func_start sub_02052F8C -sub_02052F8C: ; 0x02052F8C + thumb_func_start FUN_02052F8C +FUN_02052F8C: ; 0x02052F8C mov r2, #0x0 add r1, r2, #0x0 _02052F90: @@ -153801,31 +153801,31 @@ _02052F90: bx lr .balign 4 - thumb_func_start sub_02052FA4 -sub_02052FA4: ; 0x02052FA4 + thumb_func_start FUN_02052FA4 +FUN_02052FA4: ; 0x02052FA4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, _02052FC4 ; =0x000004DC ldr r0, [r4, r0] - bl sub_0205362C + bl FUN_0205362C mov r0, #0x59 - bl sub_020168D0 + bl FUN_020168D0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 _02052FC4: .word 0x000004DC - thumb_func_start sub_02052FC8 -sub_02052FC8: ; 0x02052FC8 + thumb_func_start FUN_02052FC8 +FUN_02052FC8: ; 0x02052FC8 push {r3-r5, lr} ldr r0, _02052FFC ; =0x000004D4 add r5, r1, #0x0 ldr r0, [r5, r0] ldr r4, [r5, #0x0] - bl sub_0204646C + bl FUN_0204646C cmp r0, #0x0 bne _02052FF8 ldr r3, _02052FFC ; =0x000004D4 @@ -153835,19 +153835,19 @@ sub_02052FC8: ; 0x02052FC8 ldr r2, [r2, #0x34] ldr r3, [r5, r3] add r1, r4, #0x0 - bl sub_0205312C + bl FUN_0205312C ldr r1, _02052FFC ; =0x000004D4 add r0, r5, #0x0 ldr r1, [r5, r1] ldr r1, [r1, #0x34] - bl sub_020531E4 + bl FUN_020531E4 _02052FF8: pop {r3-r5, pc} nop _02052FFC: .word 0x000004D4 - thumb_func_start sub_02053000 -sub_02053000: ; 0x02053000 + thumb_func_start FUN_02053000 +FUN_02053000: ; 0x02053000 push {r4-r7, lr} sub sp, #0x14 mov r5, #0x0 @@ -153866,7 +153866,7 @@ _0205301C: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02053104 + bl FUN_02053104 add r5, r5, #0x1 add r4, r4, #0x1 cmp r5, #0x4 @@ -153901,7 +153901,7 @@ _02053060: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02053104 + bl FUN_02053104 add r5, r5, #0x1 add r4, r4, #0x1 cmp r5, #0x4 @@ -153949,7 +153949,7 @@ _020530A6: ldr r1, [sp, #0x8] ldr r0, [sp, #0x4] ldr r1, [r1, #0x0] - bl sub_02025614 + bl FUN_02025614 strb r0, [r4, #0xe] mov r5, #0x1 b _020530EA @@ -153962,7 +153962,7 @@ _020530CC: ldr r0, [sp, #0x10] add r1, r7, #0x0 mov r2, #0x3 - bl sub_02053104 + bl FUN_02053104 b _020530EA _020530E2: mov r5, #0x1 @@ -153984,8 +153984,8 @@ _020530EA: nop _02053100: .word 0x020F58D4 - thumb_func_start sub_02053104 -sub_02053104: ; 0x02053104 + thumb_func_start FUN_02053104 +FUN_02053104: ; 0x02053104 push {r4-r6, lr} ldr r6, _02053124 ; =0x021C5ABC mov r4, #0x18 @@ -153998,15 +153998,15 @@ sub_02053104: ; 0x02053104 ldr r0, [r0, r5] cmp r3, r0 beq _02053120 - bl sub_02020C2C + bl FUN_02020C2C _02053120: pop {r4-r6, pc} nop _02053124: .word 0x021C5ABC _02053128: .word 0x000004D4 - thumb_func_start sub_0205312C -sub_0205312C: ; 0x0205312C + thumb_func_start FUN_0205312C +FUN_0205312C: ; 0x0205312C push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] @@ -154020,7 +154020,7 @@ sub_0205312C: ; 0x0205312C _02053140: ldr r0, [sp, #0x4] add r1, r4, #0x0 - bl sub_020524C0 + bl FUN_020524C0 add r6, r0, #0x0 add r7, r6, #0x0 add r7, #0x50 @@ -154040,13 +154040,13 @@ _02053166: cmp r6, #0x0 beq _020531D8 ldr r0, [sp, #0xc] - bl sub_02023A28 + bl FUN_02023A28 strb r0, [r5, #0x14] ldr r0, [sp, #0xc] - bl sub_020239BC + bl FUN_020239BC add r1, r0, #0x0 ldr r0, [sp, #0x8] - bl sub_02025614 + bl FUN_02025614 strb r0, [r5, #0xe] ldr r0, [r7, #0x0] ldr r3, [sp, #0x8] @@ -154054,7 +154054,7 @@ _02053166: ldr r0, [sp, #0x0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02053000 + bl FUN_02053000 cmp r0, #0x0 beq _0205319C mov r0, #0x2 @@ -154075,13 +154075,13 @@ _020531AE: ldr r0, [sp, #0x10] add r1, r4, #0x0 mov r2, #0x3 - bl sub_02053104 + bl FUN_02053104 _020531B8: ldr r0, [sp, #0x0] ldr r3, [sp, #0x8] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02053000 + bl FUN_02053000 cmp r0, #0x0 beq _020531D8 ldrb r0, [r5, #0x15] @@ -154101,18 +154101,18 @@ _020531D8: add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_020531E4 -sub_020531E4: ; 0x020531E4 + thumb_func_start FUN_020531E4 +FUN_020531E4: ; 0x020531E4 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] ldr r0, [r0, #0x8] str r1, [sp, #0x4] - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0x8] - bl sub_0205532C + bl FUN_0205532C ldr r4, [sp, #0x0] str r0, [sp, #0x8] add r6, r4, #0x0 @@ -154121,10 +154121,10 @@ sub_020531E4: ; 0x020531E4 _02053206: ldr r0, [sp, #0x4] add r1, r7, #0x1 - bl sub_02058060 + bl FUN_02058060 add r5, r0, #0x0 bne _02053216 - bl sub_02020C2C + bl FUN_02020C2C _02053216: ldrb r0, [r4, #0xd] cmp r0, #0x4 @@ -154141,7 +154141,7 @@ _02053216: lsl r0, r6, #0x2 lsl r4, r3, #0x3 add r0, r5, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _0205330A ldrb r0, [r4, #0xc] @@ -154152,7 +154152,7 @@ _02053216: ldr r3, [sp, #0x8] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0205339C + bl FUN_0205339C b _0205330A _02053252: .byte 0x28, 0x1C, 0x07, 0xF0, 0xA0, 0xFD, 0x01, 0x28, 0x56, 0xD1, 0x20, 0x7B, 0x03, 0x28 @@ -154177,34 +154177,34 @@ _0205330A: _02053316: ldr r0, [sp, #0x0] ldr r0, [r0, #0x8] - bl sub_020553A0 + bl FUN_020553A0 add r1, r0, #0x0 ldr r2, _02053338 ; =0x000004BC ldr r0, [sp, #0x0] add r0, r0, r2 - bl sub_02053478 + bl FUN_02053478 ldr r1, _02053338 ; =0x000004BC ldr r0, [sp, #0x0] add r0, r0, r1 - bl sub_02053378 + bl FUN_02053378 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02053338: .word 0x000004BC - thumb_func_start sub_0205333C -sub_0205333C: ; 0x0205333C + thumb_func_start FUN_0205333C +FUN_0205333C: ; 0x0205333C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] add r4, r1, #0x0 cmp r0, #0x0 beq _0205335A - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x0 beq _02053356 ldr r0, [r5, #0x10] - bl sub_02064520 + bl FUN_02064520 _02053356: mov r0, #0x0 str r0, [r5, #0x10] @@ -154214,19 +154214,19 @@ _0205335A: ldr r0, [r5, #0x14] cmp r0, #0x0 beq _02053376 - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x0 beq _02053372 ldr r0, [r5, #0x14] - bl sub_02064520 + bl FUN_02064520 _02053372: mov r0, #0x0 str r0, [r5, #0x14] _02053376: pop {r3-r5, pc} - thumb_func_start sub_02053378 -sub_02053378: ; 0x02053378 + thumb_func_start FUN_02053378 +FUN_02053378: ; 0x02053378 push {r4, lr} add r4, r0, #0x0 ldrb r1, [r4, #0x4] @@ -154239,15 +154239,15 @@ sub_02053378: ; 0x02053378 cmp r1, #0x0 bne _02053398 mov r1, #0x0 - bl sub_0205333C + bl FUN_0205333C mov r0, #0x0 strb r0, [r4, #0x4] _02053398: pop {r4, pc} .balign 4 - thumb_func_start sub_0205339C -sub_0205339C: ; 0x0205339C + thumb_func_start FUN_0205339C +FUN_0205339C: ; 0x0205339C push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -154255,13 +154255,13 @@ sub_0205339C: ; 0x0205339C add r0, r4, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] - bl sub_02058AFC + bl FUN_02058AFC add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B04 + bl FUN_02058B04 str r0, [sp, #0xc] add r0, r4, #0x0 - bl sub_02058B0C + bl FUN_02058B0C add r6, r0, #0x0 ldr r0, [sp, #0x4] cmp r7, r0 @@ -154271,32 +154271,32 @@ sub_0205339C: ; 0x0205339C beq _0205343C _020533CC: ldr r0, _02053440 ; =0x0000064F - bl sub_020054C8 + bl FUN_020054C8 ldrb r1, [r5, #0x8] add r0, r4, #0x0 - bl sub_02057634 + bl FUN_02057634 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205333C + bl FUN_0205333C mov r0, #0x1 str r0, [sp, #0x0] ldr r2, [sp, #0xc] add r0, r4, #0x0 add r1, r7, #0x0 add r3, r6, #0x0 - bl sub_02058E28 + bl FUN_02058E28 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020584A4 + bl FUN_020584A4 add r0, r4, #0x0 mov r1, #0x44 - bl sub_0205ADDC + bl FUN_0205ADDC add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205889C + bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x1 - bl sub_020588B8 + bl FUN_020588B8 mov r1, #0x1 strb r1, [r5, #0x1] ldrb r0, [r5, #0x2] @@ -154305,7 +154305,7 @@ _020533CC: cmp r0, #0x1 bne _0205342A add r0, r4, #0x0 - bl sub_02249668 + bl FUN_02249668 str r0, [r5, #0x14] b _02053438 _0205342A: @@ -154313,7 +154313,7 @@ _0205342A: blo _02053438 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02249668 + bl FUN_02249668 str r0, [r5, #0x14] _02053438: mov r0, #0x0 @@ -154324,23 +154324,23 @@ _0205343C: .balign 4 _02053440: .word 0x0000064F - thumb_func_start sub_02053444 -sub_02053444: ; 0x02053444 + thumb_func_start FUN_02053444 +FUN_02053444: ; 0x02053444 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x43 - bl sub_0205ADDC + bl FUN_0205ADDC add r0, r5, #0x0 mov r1, #0x1 - bl sub_020588EC + bl FUN_020588EC add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058E90 + bl FUN_02058E90 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0205333C + bl FUN_0205333C mov r0, #0x0 strb r0, [r4, #0x4] strh r0, [r4, #0x6] @@ -154349,8 +154349,8 @@ sub_02053444: ; 0x02053444 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02053478 -sub_02053478: ; 0x02053478 + thumb_func_start FUN_02053478 +FUN_02053478: ; 0x02053478 push {r4, lr} add r4, r0, #0x0 ldrb r0, [r4, #0x3] @@ -154360,7 +154360,7 @@ sub_02053478: ; 0x02053478 cmp r0, #0x0 bne _0205349C add r0, r1, #0x0 - bl sub_021EDA48 + bl FUN_021EDA48 str r0, [r4, #0x10] mov r0, #0x1e strh r0, [r4, #0x6] @@ -154372,8 +154372,8 @@ _0205349C: pop {r4, pc} .balign 4 - thumb_func_start sub_020534A0 -sub_020534A0: ; 0x020534A0 + thumb_func_start FUN_020534A0 +FUN_020534A0: ; 0x020534A0 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 @@ -154383,45 +154383,45 @@ sub_020534A0: ; 0x020534A0 _020534AC: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_02058060 + bl FUN_02058060 add r4, r0, #0x0 bne _020534BC - bl sub_02020C2C + bl FUN_02020C2C _020534BC: add r0, r4, #0x0 mov r1, #0x1 - bl sub_0205889C + bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x0 - bl sub_020588B8 + bl FUN_020588B8 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020588EC + bl FUN_020588EC add r5, r5, #0x1 cmp r5, r6 blt _020534AC _020534DA: pop {r3-r7, pc} - thumb_func_start sub_020534DC -sub_020534DC: ; 0x020534DC + thumb_func_start FUN_020534DC +FUN_020534DC: ; 0x020534DC push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x0 add r7, r0, #0x0 - bl sub_02058060 + bl FUN_02058060 add r4, r0, #0x0 bne _020534F0 - bl sub_02020C2C + bl FUN_02020C2C _020534F0: add r0, r4, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _02053596 - bl sub_02031B2C + bl FUN_02031B2C cmp r0, #0x0 bne _0205350A - bl sub_02031AF4 + bl FUN_02031AF4 cmp r0, #0x0 beq _0205358C _0205350A: @@ -154433,26 +154433,26 @@ _0205350E: bne _02053578 add r0, r7, #0x0 add r1, r6, #0x1 - bl sub_02058060 + bl FUN_02058060 add r4, r0, #0x0 bne _02053524 - bl sub_02020C2C + bl FUN_02020C2C _02053524: ldrb r1, [r5, #0x8] add r0, r4, #0x0 - bl sub_02057634 + bl FUN_02057634 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020584A4 + bl FUN_020584A4 add r0, r4, #0x0 mov r1, #0x44 - bl sub_0205ADDC + bl FUN_0205ADDC add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205889C + bl FUN_0205889C add r0, r4, #0x0 mov r1, #0x1 - bl sub_020588B8 + bl FUN_020588B8 mov r0, #0x1 strb r0, [r5, #0x1] ldrb r0, [r5, #0x2] @@ -154462,7 +154462,7 @@ _02053524: bne _02053566 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02249668 + bl FUN_02249668 str r0, [r5, #0x14] b _02053574 _02053566: @@ -154470,7 +154470,7 @@ _02053566: blo _02053574 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02249668 + bl FUN_02249668 str r0, [r5, #0x14] _02053574: mov r0, #0x0 @@ -154483,44 +154483,44 @@ _02053578: add r0, r7, #0x0 mov r1, #0xb mov r2, #0x33 - bl sub_020534A0 + bl FUN_020534A0 pop {r3-r7, pc} _0205358C: add r0, r7, #0x0 mov r1, #0x1 mov r2, #0x33 - bl sub_020534A0 + bl FUN_020534A0 _02053596: pop {r3-r7, pc} - thumb_func_start sub_02053598 -sub_02053598: ; 0x02053598 + thumb_func_start FUN_02053598 +FUN_02053598: ; 0x02053598 push {r4, lr} add r4, r0, #0x0 mov r0, #0x8 mov r1, #0x59 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x0] mov r1, #0x0 add r0, r4, #0x0 str r1, [r4, #0x4] add r0, #0x14 str r1, [r4, #0x8] - bl sub_0201373C + bl FUN_0201373C mov r0, #0x0 str r0, [r4, #0x10] str r0, [r4, #0xc] pop {r4, pc} - thumb_func_start sub_020535BC -sub_020535BC: ; 0x020535BC + thumb_func_start FUN_020535BC +FUN_020535BC: ; 0x020535BC push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 add r5, r6, #0x0 _020535C4: add r0, r5, #0x0 - bl sub_02053598 + bl FUN_02053598 add r4, r4, #0x1 add r5, #0x1c cmp r4, #0x1e @@ -154533,32 +154533,32 @@ _020535C4: str r1, [r6, r0] pop {r4-r6, pc} - thumb_func_start sub_020535E0 -sub_020535E0: ; 0x020535E0 + thumb_func_start FUN_020535E0 +FUN_020535E0: ; 0x020535E0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _020535F4 - bl sub_02021A20 + bl FUN_02021A20 _020535F4: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _020535FE - bl sub_02021A20 + bl FUN_02021A20 _020535FE: pop {r4, pc} - thumb_func_start sub_02053600 -sub_02053600: ; 0x02053600 + thumb_func_start FUN_02053600 +FUN_02053600: ; 0x02053600 push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x0 _02053606: add r0, r5, #0x0 - bl sub_020535E0 + bl FUN_020535E0 add r4, r4, #0x1 add r5, #0x1c cmp r4, #0x1e @@ -154566,28 +154566,28 @@ _02053606: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02053618 -sub_02053618: ; 0x02053618 + thumb_func_start FUN_02053618 +FUN_02053618: ; 0x02053618 push {r4, lr} mov r1, #0x35 lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_020535BC + bl FUN_020535BC add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_0205362C -sub_0205362C: ; 0x0205362C + thumb_func_start FUN_0205362C +FUN_0205362C: ; 0x0205362C push {r4, lr} add r4, r0, #0x0 - bl sub_02053600 + bl FUN_02053600 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_0205363C -sub_0205363C: ; 0x0205363C + thumb_func_start FUN_0205363C +FUN_0205363C: ; 0x0205363C push {r3-r7, lr} add r7, r2, #0x0 lsl r0, r0, #0x1d @@ -154608,7 +154608,7 @@ _02053654: ldr r2, [r2, #0x4] add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0200B064 + bl FUN_0200B064 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 @@ -154618,8 +154618,8 @@ _02053654: _02053670: .word 0x020F5AC4 _02053674: .word 0x020F5B44 - thumb_func_start sub_02053678 -sub_02053678: ; 0x02053678 + thumb_func_start FUN_02053678 +FUN_02053678: ; 0x02053678 lsl r0, r0, #0x1d lsr r3, r0, #0x19 ldr r0, _02053694 ; =0x020F5AC4 @@ -154638,8 +154638,8 @@ sub_02053678: ; 0x02053678 _02053694: .word 0x020F5AC4 _02053698: .word 0x020F5B44 - thumb_func_start sub_0205369C -sub_0205369C: ; 0x0205369C + thumb_func_start FUN_0205369C +FUN_0205369C: ; 0x0205369C push {r3-r4} lsl r4, r0, #0x3 mov r0, #0xc @@ -154665,18 +154665,18 @@ _020536B6: .balign 4 _020536C4: .word 0x020F5B44 - thumb_func_start sub_020536C8 -sub_020536C8: ; 0x020536C8 - ldr r3, _020536CC ; =sub_0205369C + thumb_func_start FUN_020536C8 +FUN_020536C8: ; 0x020536C8 + ldr r3, _020536CC ; =FUN_0205369C bx r3 .balign 4 -_020536CC: .word sub_0205369C + 1 +_020536CC: .word FUN_0205369C + 1 - thumb_func_start sub_020536D0 -sub_020536D0: ; 0x020536D0 + thumb_func_start FUN_020536D0 +FUN_020536D0: ; 0x020536D0 push {r4, lr} add r4, r2, #0x0 - bl sub_0205369C + bl FUN_0205369C cmp r4, #0x0 beq _020536FE cmp r4, #0x1 @@ -154695,7 +154695,7 @@ _020536EE: ldr r0, [r0, r1] pop {r4, pc} _020536F8: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 _020536FE: pop {r4, pc} @@ -154703,8 +154703,8 @@ _020536FE: _02053700: .word 0x020F5B48 _02053704: .word 0x020F5B4C - thumb_func_start sub_02053708 -sub_02053708: ; 0x02053708 + thumb_func_start FUN_02053708 +FUN_02053708: ; 0x02053708 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -154712,12 +154712,12 @@ sub_02053708: ; 0x02053708 mov r1, #0x7 add r2, sp, #0x0 add r3, r5, #0x0 - bl sub_02006C08 + bl FUN_02006C08 mov r1, #0x9 add r4, r0, #0x0 add r0, r5, #0x0 lsl r1, r1, #0x6 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x0 @@ -154734,14 +154734,14 @@ _02053734: cmp r2, r0 blt _02053734 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02053750 -sub_02053750: ; 0x02053750 + thumb_func_start FUN_02053750 +FUN_02053750: ; 0x02053750 push {r3-r7, lr} sub sp, #0x18 add r4, r1, #0x0 @@ -154749,7 +154749,7 @@ sub_02053750: ; 0x02053750 ldr r0, [r4, #0x4] cmp r0, #0x0 beq _02053762 - bl sub_0201FDEC + bl FUN_0201FDEC _02053762: mov r1, #0x6 lsl r1, r1, #0x6 @@ -154772,12 +154772,12 @@ _0205376E: lsl r6, r4, #0x4 ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] - bl sub_020553A0 - bl sub_02058914 + bl FUN_020553A0 + bl FUN_02058914 ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] - bl sub_0205537C + bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] @@ -154809,8 +154809,8 @@ _020538B2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020538B8 -sub_020538B8: ; 0x020538B8 + thumb_func_start FUN_020538B8 +FUN_020538B8: ; 0x020538B8 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -154824,7 +154824,7 @@ sub_020538B8: ; 0x020538B8 cmp r0, #0x5 beq _020538D6 ldr r0, [r4, #0x4] - bl sub_0201FDEC + bl FUN_0201FDEC _020538D6: mov r1, #0x6 lsl r1, r1, #0x6 @@ -154848,7 +154848,7 @@ _020538E2: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] - bl sub_0205537C + bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] @@ -154878,8 +154878,8 @@ _020539EA: _020539F0: .byte 0x2F, 0x06, 0x00, 0x00, 0x31, 0x06, 0x00, 0x00 - thumb_func_start sub_020539F8 -sub_020539F8: ; 0x020539F8 + thumb_func_start FUN_020539F8 +FUN_020539F8: ; 0x020539F8 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 @@ -154890,7 +154890,7 @@ sub_020539F8: ; 0x020539F8 cmp r0, #0x6 beq _02053A10 ldr r0, [r4, #0x4] - bl sub_0201FDEC + bl FUN_0201FDEC _02053A10: mov r1, #0x6 lsl r1, r1, #0x6 @@ -154915,7 +154915,7 @@ _02053A1C: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] - bl sub_0205537C + bl FUN_0205537C mov r0, #0x6 lsl r0, r0, #0x6 ldr r1, [r4, r0] @@ -154945,8 +154945,8 @@ _02053B30: _02053B34: .byte 0xFF, 0x7F, 0x00, 0x00 - thumb_func_start sub_02053B38 -sub_02053B38: ; 0x02053B38 + thumb_func_start FUN_02053B38 +FUN_02053B38: ; 0x02053B38 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 @@ -154957,7 +154957,7 @@ sub_02053B38: ; 0x02053B38 cmp r0, #0x6 beq _02053B50 ldr r0, [r4, #0x4] - bl sub_0201FDEC + bl FUN_0201FDEC _02053B50: mov r1, #0x6 lsl r1, r1, #0x6 @@ -154982,19 +154982,19 @@ _02053B5C: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] - bl sub_0205537C + bl FUN_0205537C mov r1, #0x57 lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x4 - bl sub_02053F38 + bl FUN_02053F38 mov r1, #0x5b lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 mov r2, #0x5 - bl sub_02053F38 + bl FUN_02053F38 mov r0, #0x5f mov r1, #0x2 lsl r0, r0, #0x2 @@ -155027,8 +155027,8 @@ _02053C8C: _02053C90: .byte 0xFF, 0x7F, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00 - thumb_func_start sub_02053C98 -sub_02053C98: ; 0x02053C98 + thumb_func_start FUN_02053C98 +FUN_02053C98: ; 0x02053C98 push {r3-r5, lr} add r3, r1, #0x0 add r4, r0, #0x0 @@ -155046,10 +155046,10 @@ sub_02053C98: ; 0x02053C98 lsl r2, r4, #0 lsl r0, r6, #0 ldr r2, _02053CF8 ; =0x020F5C04 - ldr r0, _02053CFC ; =sub_02053750 + ldr r0, _02053CFC ; =FUN_02053750 ldrb r2, [r2, r3] add r1, r4, #0x0 - bl sub_02053D0C + bl FUN_02053D0C b _02053CEE _02053CC6: .byte 0x0C, 0x4A, 0x0D, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0 @@ -155063,12 +155063,12 @@ _02053CEE: pop {r3-r5, pc} .balign 4 _02053CF8: .word 0x020F5C04 -_02053CFC: .word sub_02053750 + 1 +_02053CFC: .word FUN_02053750 + 1 _02053D00: .byte 0xB9, 0x38, 0x05, 0x02, 0xF9, 0x39, 0x05, 0x02, 0x39, 0x3B, 0x05, 0x02 - thumb_func_start sub_02053D0C -sub_02053D0C: ; 0x02053D0C + thumb_func_start FUN_02053D0C +FUN_02053D0C: ; 0x02053D0C push {r4-r6, lr} add r5, r1, #0x0 mov r1, #0x63 @@ -155076,70 +155076,70 @@ sub_02053D0C: ; 0x02053D0C lsl r1, r1, #0x2 mov r2, #0x5 mov r3, #0x4 - bl sub_020061E8 - bl sub_0201B6C8 + bl FUN_020061E8 + bl FUN_0201B6C8 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020238F4 - bl sub_020239CC + bl FUN_020238F4 + bl FUN_020239CC add r1, r0, #0x0 add r0, r4, #0x4 add r2, r6, #0x0 - bl sub_02053D50 + bl FUN_02053D50 add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02053D3C -sub_02053D3C: ; 0x02053D3C + thumb_func_start FUN_02053D3C +FUN_02053D3C: ; 0x02053D3C push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x4 - bl sub_02053D68 + bl FUN_02053D68 add r0, r4, #0x0 - bl sub_0200621C + bl FUN_0200621C pop {r4, pc} .balign 4 - thumb_func_start sub_02053D50 -sub_02053D50: ; 0x02053D50 + thumb_func_start FUN_02053D50 +FUN_02053D50: ; 0x02053D50 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02053D70 + bl FUN_02053D70 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02053D94 + bl FUN_02053D94 pop {r4-r6, pc} - thumb_func_start sub_02053D68 -sub_02053D68: ; 0x02053D68 - ldr r3, _02053D6C ; =sub_02053EF0 + thumb_func_start FUN_02053D68 +FUN_02053D68: ; 0x02053D68 + ldr r3, _02053D6C ; =FUN_02053EF0 bx r3 .balign 4 -_02053D6C: .word sub_02053EF0 + 1 +_02053D6C: .word FUN_02053EF0 + 1 - thumb_func_start sub_02053D70 -sub_02053D70: ; 0x02053D70 + thumb_func_start FUN_02053D70 +FUN_02053D70: ; 0x02053D70 push {r4, lr} add r4, r0, #0x0 add r1, r4, #0x0 mov r0, #0x2 add r1, #0x30 mov r2, #0x4 - bl sub_02008C9C + bl FUN_02008C9C str r0, [r4, #0x0] mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E74C + bl FUN_0201E74C pop {r4, pc} - thumb_func_start sub_02053D94 -sub_02053D94: ; 0x02053D94 + thumb_func_start FUN_02053D94 +FUN_02053D94: ; 0x02053D94 push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 @@ -155151,7 +155151,7 @@ _02053DA2: mov r0, #0x2 add r1, r6, #0x0 mov r2, #0x4 - bl sub_02008DEC + bl FUN_02008DEC str r0, [r4, #0x8] add r6, r6, #0x1 add r4, r4, #0x4 @@ -155166,7 +155166,7 @@ _02053DA2: ldr r0, [r5, #0x8] ldr r2, [r3, r2] add r1, #0x18 - bl sub_02053E8C + bl FUN_02053E8C str r0, [r5, #0x20] ldr r1, [r5, #0x18] mov r6, #0x0 @@ -155178,7 +155178,7 @@ _02053DDA: ldr r0, [r1, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02009630 + bl FUN_02009630 ldr r1, [r5, #0x18] add r6, r6, #0x1 ldr r0, [r1, #0x8] @@ -155192,7 +155192,7 @@ _02053DF0: ldr r0, [r5, #0xc] ldr r2, [r3, r2] add r1, #0x1c - bl sub_02053E8C + bl FUN_02053E8C str r0, [r5, #0x24] ldr r1, [r5, #0x1c] mov r6, #0x0 @@ -155204,7 +155204,7 @@ _02053E0E: ldr r0, [r1, #0x0] add r1, r7, #0x0 ldr r0, [r0, r4] - bl sub_02009630 + bl FUN_02009630 ldr r1, [r5, #0x1c] add r6, r6, #0x1 ldr r0, [r1, #0x8] @@ -155215,20 +155215,20 @@ _02053E24: ldr r0, [r5, #0x10] ldr r2, _02053E80 ; =0x02105F48 mov r1, #0x0 - bl sub_02053E8C + bl FUN_02053E8C str r0, [r5, #0x28] ldr r0, [r5, #0x14] ldr r2, _02053E84 ; =0x02105F64 mov r1, #0x0 - bl sub_02053E8C + bl FUN_02053E8C str r0, [r5, #0x2c] ldr r0, [r5, #0x18] - bl sub_02009B44 + bl FUN_02009B44 ldr r0, [r5, #0x1c] - bl sub_02009DAC + bl FUN_02009DAC ldr r1, _02053E88 ; =0x02105F80 mov r0, #0x4 - bl sub_020161A4 + bl FUN_020161A4 ldr r1, [r5, #0x10] add r4, r0, #0x0 str r1, [sp, #0x0] @@ -155240,10 +155240,10 @@ _02053E24: ldr r2, [r5, #0x8] ldr r3, [r5, #0xc] mov r1, #0x4 - bl sub_02008BE0 + bl FUN_02008BE0 str r0, [r5, #0x4] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 pop {r3-r7, pc} nop @@ -155253,32 +155253,32 @@ _02053E80: .word 0x02105F48 _02053E84: .word 0x02105F64 _02053E88: .word 0x02105F80 - thumb_func_start sub_02053E8C -sub_02053E8C: ; 0x02053E8C + thumb_func_start FUN_02053E8C +FUN_02053E8C: ; 0x02053E8C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_0200965C + bl FUN_0200965C add r1, r0, #0x0 mov r0, #0x4 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x4 add r1, r6, #0x0 - bl sub_020161A4 + bl FUN_020161A4 add r6, r0, #0x0 add r1, r4, #0x0 mov r2, #0x4 - bl sub_02009668 + bl FUN_02009668 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 cmp r5, #0x0 beq _02053ED0 add r0, r4, #0x0 - bl sub_020096CC + bl FUN_020096CC mov r1, #0x4 - bl sub_02009424 + bl FUN_02009424 str r0, [r5, #0x0] add r2, r0, #0x0 b _02053ED2 @@ -155288,37 +155288,37 @@ _02053ED2: add r0, r7, #0x0 add r1, r4, #0x0 mov r3, #0x4 - bl sub_020093A8 + bl FUN_020093A8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020096B4 + bl FUN_020096B4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02053EF0 -sub_02053EF0: ; 0x02053EF0 + thumb_func_start FUN_02053EF0 +FUN_02053EF0: ; 0x02053EF0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0201FD58 + bl FUN_0201FD58 mov r0, #0x0 str r0, [r5, #0x0] ldr r0, [r5, #0x4] - bl sub_02008C80 + bl FUN_02008C80 mov r0, #0x0 str r0, [r5, #0x4] ldr r0, [r5, #0x18] - bl sub_02009C30 + bl FUN_02009C30 ldr r0, [r5, #0x1c] - bl sub_02009E28 + bl FUN_02009E28 mov r6, #0x0 add r4, r5, #0x0 _02053F18: ldr r0, [r4, #0x18] - bl sub_02009448 + bl FUN_02009448 add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x2 @@ -155326,15 +155326,15 @@ _02053F18: mov r4, #0x0 _02053F28: ldr r0, [r5, #0x8] - bl sub_02008E2C + bl FUN_02008E2C add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _02053F28 pop {r4-r6, pc} - thumb_func_start sub_02053F38 -sub_02053F38: ; 0x02053F38 + thumb_func_start FUN_02053F38 +FUN_02053F38: ; 0x02053F38 push {r3-r5, lr} add r5, r1, #0x0 mov r4, #0x10 @@ -155358,11 +155358,11 @@ _02053F40: lsl r4, r6, #0 lsl r2, r0, #0x1 lsl r0, r2, #0x1 - ldr r2, _02053FC0 ; =sub_02054088 + ldr r2, _02053FC0 ; =FUN_02054088 str r2, [r1, #0x4] - ldr r2, _02053FC4 ; =sub_020540C8 + ldr r2, _02053FC4 ; =FUN_020540C8 str r2, [r1, #0x8] - ldr r2, _02053FC8 ; =sub_020540E8 + ldr r2, _02053FC8 ; =FUN_020540E8 str r2, [r1, #0xc] b _02053FB6 _02053F72: @@ -155377,9 +155377,9 @@ _02053FB6: blx r2 pop {r3-r5, pc} nop -_02053FC0: .word sub_02054088 + 1 -_02053FC4: .word sub_020540C8 + 1 -_02053FC8: .word sub_020540E8 + 1 +_02053FC0: .word FUN_02054088 + 1 +_02053FC4: .word FUN_020540C8 + 1 +_02053FC8: .word FUN_020540E8 + 1 _02053FCC: .byte 0x69, 0x41, 0x05, 0x02 .byte 0xA5, 0x41, 0x05, 0x02, 0xC5, 0x41, 0x05, 0x02, 0xE9, 0x41, 0x05, 0x02, 0x29, 0x42, 0x05, 0x02 @@ -155387,8 +155387,8 @@ _02053FCC: .byte 0xD9, 0x43, 0x05, 0x02, 0x2D, 0x44, 0x05, 0x02, 0x4D, 0x44, 0x05, 0x02, 0x09, 0x45, 0x05, 0x02 .byte 0x4D, 0x45, 0x05, 0x02, 0x6D, 0x45, 0x05, 0x02 - thumb_func_start sub_02054008 -sub_02054008: ; 0x02054008 + thumb_func_start FUN_02054008 +FUN_02054008: ; 0x02054008 push {r3-r7, lr} sub sp, #0x30 add r5, r0, #0x0 @@ -155429,10 +155429,10 @@ sub_02054008: ; 0x02054008 mov r0, #0x4 str r0, [sp, #0x2c] add r0, r7, #0x0 - bl sub_0201FE94 + bl FUN_0201FE94 add r4, r0, #0x0 bne _02054064 - bl sub_02020C2C + bl FUN_02020C2C _02054064: add r0, r4, #0x0 add sp, #0x30 @@ -155440,8 +155440,8 @@ _02054064: nop _0205406C: .word 0x020F5C08 - thumb_func_start sub_02054070 -sub_02054070: ; 0x02054070 + thumb_func_start FUN_02054070 +FUN_02054070: ; 0x02054070 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x8] @@ -155456,14 +155456,14 @@ _0205407C: pop {r4, pc} .balign 4 - thumb_func_start sub_02054088 -sub_02054088: ; 0x02054088 + thumb_func_start FUN_02054088 +FUN_02054088: ; 0x02054088 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 @@ -155485,31 +155485,31 @@ _0205409C: add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 - bl sub_02054008 + bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020540C8 -sub_020540C8: ; 0x020540C8 + thumb_func_start FUN_020540C8 +FUN_020540C8: ; 0x020540C8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020540E4 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _020540E4: pop {r4, pc} .balign 4 - thumb_func_start sub_020540E8 -sub_020540E8: ; 0x020540E8 + thumb_func_start FUN_020540E8 +FUN_020540E8: ; 0x020540E8 push {r3-r6, lr} sub sp, #0xc ldr r4, [r0, #0x0] @@ -155547,7 +155547,7 @@ sub_020540E8: ; 0x020540E8 str r0, [sp, #0x4] ldr r0, [r4, #0xc] add r1, r3, #0x0 - bl sub_02020044 + bl FUN_02020044 mov r1, #0x2 ldr r0, [r4, #0x10] lsl r1, r1, #0xa @@ -155555,7 +155555,7 @@ sub_020540E8: ; 0x020540E8 str r0, [r4, #0x10] ldr r0, [r4, #0xc] lsl r1, r1, #0x1 - bl sub_020201E4 + bl FUN_020201E4 mov r0, #0x2 ldr r1, [r4, #0x10] lsl r0, r0, #0xe @@ -155575,14 +155575,14 @@ _0205415E: .balign 4 _02054164: .word 0x020FFA38 - thumb_func_start sub_02054168 -sub_02054168: ; 0x02054168 + thumb_func_start FUN_02054168 +FUN_02054168: ; 0x02054168 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 @@ -155603,30 +155603,30 @@ _0205417C: add r2, r5, #0x0 add r3, r1, #0x0 str r1, [sp, #0x0] - bl sub_02054008 + bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} - thumb_func_start sub_020541A4 -sub_020541A4: ; 0x020541A4 + thumb_func_start FUN_020541A4 +FUN_020541A4: ; 0x020541A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020541C0 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _020541C0: pop {r4, pc} .balign 4 - thumb_func_start sub_020541C4 -sub_020541C4: ; 0x020541C4 + thumb_func_start FUN_020541C4 +FUN_020541C4: ; 0x020541C4 push {r4, lr} ldr r4, [r0, #0x0] ldr r0, [r4, #0x10] @@ -155635,7 +155635,7 @@ sub_020541C4: ; 0x020541C4 mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] @@ -155646,14 +155646,14 @@ _020541E2: pop {r4, pc} .balign 4 - thumb_func_start sub_020541E8 -sub_020541E8: ; 0x020541E8 + thumb_func_start FUN_020541E8 +FUN_020541E8: ; 0x020541E8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 @@ -155675,31 +155675,31 @@ _020541FC: add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 - bl sub_02054008 + bl FUN_02054008 str r0, [r5, #0xc] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02054228 -sub_02054228: ; 0x02054228 + thumb_func_start FUN_02054228 +FUN_02054228: ; 0x02054228 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054244 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054244: pop {r4, pc} .balign 4 - thumb_func_start sub_02054248 -sub_02054248: ; 0x02054248 + thumb_func_start FUN_02054248 +FUN_02054248: ; 0x02054248 push {r4, lr} ldr r4, [r0, #0x0] mov r0, #0x2 @@ -155709,11 +155709,11 @@ sub_02054248: ; 0x02054248 str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 - bl sub_02020044 + bl FUN_02020044 mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, [r4, #0x10] ldr r1, [r4, #0x4] cmp r0, #0x0 @@ -155736,7 +155736,7 @@ _02054284: str r0, [r4, #0x4] ldr r0, [r4, #0xc] add r1, r4, #0x0 - bl sub_02020044 + bl FUN_02020044 mov r0, #0x0 pop {r4, pc} _0205429A: @@ -155745,14 +155745,14 @@ _0205429A: nop _020542A0: .word 0xFFFE0000 - thumb_func_start sub_020542A4 -sub_020542A4: ; 0x020542A4 + thumb_func_start FUN_020542A4 +FUN_020542A4: ; 0x020542A4 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x18 mov r1, #0x0 @@ -155774,32 +155774,32 @@ _020542B8: add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 - bl sub_02054008 + bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] - bl sub_02020130 + bl FUN_02020130 pop {r3-r5, pc} - thumb_func_start sub_020542E8 -sub_020542E8: ; 0x020542E8 + thumb_func_start FUN_020542E8 +FUN_020542E8: ; 0x020542E8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054304 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054304: pop {r4, pc} .balign 4 - thumb_func_start sub_02054308 -sub_02054308: ; 0x02054308 + thumb_func_start FUN_02054308 +FUN_02054308: ; 0x02054308 push {r3-r5, lr} ldr r4, [r0, #0x0] mov r5, #0x1 @@ -155822,7 +155822,7 @@ sub_02054308: ; 0x02054308 add r1, r1, r0 str r1, [r4, #0x14] ldr r0, [r4, #0xc] - bl sub_020201E4 + bl FUN_020201E4 ldr r1, [r4, #0x14] lsl r0, r5, #0xd cmp r1, r0 @@ -155849,14 +155849,14 @@ _020543D0: .word 0x00000333 _020543D4: .byte 0x00, 0x00, 0xFE, 0xFF - thumb_func_start sub_020543D8 -sub_020543D8: ; 0x020543D8 + thumb_func_start FUN_020543D8 +FUN_020543D8: ; 0x020543D8 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x18 mov r1, #0x0 @@ -155878,39 +155878,39 @@ _020543EC: add r0, r4, #0x0 add r2, r5, #0x0 add r3, r1, #0x0 - bl sub_02054008 + bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] - bl sub_02020130 + bl FUN_02020130 mov r0, #0x2 lsl r0, r0, #0xc str r0, [r5, #0x14] ldr r0, [r5, #0xc] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205442C -sub_0205442C: ; 0x0205442C + thumb_func_start FUN_0205442C +FUN_0205442C: ; 0x0205442C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054448 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054448: pop {r4, pc} .balign 4 - thumb_func_start sub_0205444C -sub_0205444C: ; 0x0205444C + thumb_func_start FUN_0205444C +FUN_0205444C: ; 0x0205444C push {r4-r7, lr} sub sp, #0xc ldr r4, [r0, #0x0] @@ -155930,7 +155930,7 @@ sub_0205444C: ; 0x0205444C lsl r6, r1, #0x2 ldr r0, [r4, #0xc] add r1, r5, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] @@ -155953,14 +155953,14 @@ _020544F8: _02054500: .byte 0x38, 0xFA, 0x0F, 0x02, 0x66, 0x06, 0x00, 0x00 - thumb_func_start sub_02054508 -sub_02054508: ; 0x02054508 + thumb_func_start FUN_02054508 +FUN_02054508: ; 0x02054508 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 mov r0, #0x4 mov r1, #0x14 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x0] mov r2, #0x14 mov r1, #0x0 @@ -155981,33 +155981,33 @@ _0205451C: add r2, r5, #0x0 add r3, r1, #0x0 str r1, [sp, #0x0] - bl sub_02054008 + bl FUN_02054008 mov r1, #0x1 str r0, [r5, #0xc] - bl sub_02020130 + bl FUN_02020130 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205454C -sub_0205454C: ; 0x0205454C + thumb_func_start FUN_0205454C +FUN_0205454C: ; 0x0205454C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02054568 ldr r0, [r0, #0xc] - bl sub_0201FFC8 + bl FUN_0201FFC8 ldr r1, [r4, #0x0] mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0x0 str r0, [r4, #0x0] _02054568: pop {r4, pc} .balign 4 - thumb_func_start sub_0205456C -sub_0205456C: ; 0x0205456C + thumb_func_start FUN_0205456C +FUN_0205456C: ; 0x0205456C push {r4, lr} ldr r4, [r0, #0x0] ldr r0, [r4, #0x10] @@ -156016,7 +156016,7 @@ sub_0205456C: ; 0x0205456C mov r1, #0x1 ldr r0, [r4, #0xc] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, [r4, #0x10] add r0, r0, #0x1 str r0, [r4, #0x10] @@ -156027,29 +156027,29 @@ _0205458A: pop {r4, pc} .balign 4 - thumb_func_start sub_02054590 -sub_02054590: ; 0x02054590 + thumb_func_start FUN_02054590 +FUN_02054590: ; 0x02054590 push {r4, lr} add r4, r0, #0x0 cmp r1, #0x1 bne _0205459C - bl sub_0201BD5C + bl FUN_0201BD5C _0205459C: mov r1, #0x1a add r0, r4, #0x0 lsl r1, r1, #0x4 mov r2, #0x4 - bl sub_02002ED0 + bl FUN_02002ED0 mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 mov r2, #0x4 - bl sub_02002EEC + bl FUN_02002EEC pop {r4, pc} .balign 4 - thumb_func_start sub_020545B8 -sub_020545B8: ; 0x020545B8 + thumb_func_start FUN_020545B8 +FUN_020545B8: ; 0x020545B8 push {lr} sub sp, #0x14 cmp r2, #0x3 @@ -156066,7 +156066,7 @@ sub_020545B8: ; 0x020545B8 mov r3, #0x2 str r2, [sp, #0x10] mov r2, #0x3 - bl sub_02019064 + bl FUN_02019064 add sp, #0x14 pop {pc} _020545E0: @@ -156083,22 +156083,22 @@ _020545E0: str r2, [sp, #0x10] mov r2, #0x7 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 add sp, #0x14 pop {pc} nop _02054604: .word 0x0000032D - thumb_func_start sub_02054608 -sub_02054608: ; 0x02054608 + thumb_func_start FUN_02054608 +FUN_02054608: ; 0x02054608 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 add r5, r0, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02025084 + bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -156108,42 +156108,42 @@ sub_02054608: ; 0x02054608 ldr r2, _02054648 ; =0x000003E2 add r1, r6, #0x0 mov r3, #0xa - bl sub_0200CD68 + bl FUN_0200CD68 add r0, r5, #0x0 - bl sub_0205464C + bl FUN_0205464C ldr r2, _02054648 ; =0x000003E2 add r0, r5, #0x0 mov r1, #0x0 mov r3, #0xa - bl sub_0200D0BC + bl FUN_0200D0BC add sp, #0x8 pop {r4-r6, pc} .balign 4 _02054648: .word 0x000003E2 - thumb_func_start sub_0205464C -sub_0205464C: ; 0x0205464C - ldr r3, _02054654 ; =sub_02019620 + thumb_func_start FUN_0205464C +FUN_0205464C: ; 0x0205464C + ldr r3, _02054654 ; =FUN_02019620 mov r1, #0xf bx r3 nop -_02054654: .word sub_02019620 + 1 +_02054654: .word FUN_02019620 + 1 - thumb_func_start sub_02054658 -sub_02054658: ; 0x02054658 + thumb_func_start FUN_02054658 +FUN_02054658: ; 0x02054658 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 add r0, r3, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x0 - bl sub_02002B7C + bl FUN_02002B7C mov r0, #0x0 - bl sub_02002BB8 + bl FUN_02002BB8 add r0, r6, #0x0 - bl sub_02024FF4 + bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] @@ -156151,12 +156151,12 @@ sub_02054658: ; 0x02054658 mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_02054690 -sub_02054690: ; 0x02054690 + thumb_func_start FUN_02054690 +FUN_02054690: ; 0x02054690 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -156165,11 +156165,11 @@ sub_02054690: ; 0x02054690 add r6, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_02002B60 + bl FUN_02002B60 ldr r0, [sp, #0x24] - bl sub_02002B7C + bl FUN_02002B7C mov r0, #0x0 - bl sub_02002BB8 + bl FUN_02002BB8 mov r3, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] @@ -156177,15 +156177,15 @@ sub_02054690: ; 0x02054690 add r1, r7, #0x0 add r2, r6, #0x0 str r3, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020546C8 -sub_020546C8: ; 0x020546C8 + thumb_func_start FUN_020546C8 +FUN_020546C8: ; 0x020546C8 push {r3, lr} - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _020546D6 mov r0, #0x1 @@ -156198,8 +156198,8 @@ _020546D8: pop {r3, pc} .balign 4 - thumb_func_start sub_020546E0 -sub_020546E0: ; 0x020546E0 + thumb_func_start FUN_020546E0 +FUN_020546E0: ; 0x020546E0 push {r4-r5, lr} sub sp, #0x14 cmp r2, #0x1 @@ -156227,7 +156227,7 @@ _020546F2: str r2, [sp, #0x10] mov r2, #0x3 lsr r3, r3, #0x18 - bl sub_02019064 + bl FUN_02019064 add sp, #0x14 pop {r4-r5, pc} _0205471A: @@ -156246,20 +156246,20 @@ _0205471A: str r2, [sp, #0x10] mov r2, #0x7 lsr r3, r3, #0x18 - bl sub_02019064 + bl FUN_02019064 add sp, #0x14 pop {r4-r5, pc} .balign 4 _02054740: .word 0x0000032D - thumb_func_start sub_02054744 -sub_02054744: ; 0x02054744 + thumb_func_start FUN_02054744 +FUN_02054744: ; 0x02054744 push {r3-r6, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 - bl sub_0201AB08 + bl FUN_0201AB08 add r1, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 @@ -156270,10 +156270,10 @@ sub_02054744: ; 0x02054744 ldr r0, [r5, #0x0] ldr r2, _02054788 ; =0x00000399 mov r3, #0x9 - bl sub_0200D300 + bl FUN_0200D300 add r0, r5, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 lsl r0, r4, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -156281,14 +156281,14 @@ sub_02054744: ; 0x02054744 add r0, r5, #0x0 mov r1, #0x0 mov r3, #0x9 - bl sub_0200D6F8 + bl FUN_0200D6F8 add sp, #0xc pop {r3-r6, pc} .balign 4 _02054788: .word 0x00000399 - thumb_func_start sub_0205478C -sub_0205478C: ; 0x0205478C + thumb_func_start FUN_0205478C +FUN_0205478C: ; 0x0205478C cmp r0, #0x2 bne _02054794 mov r0, #0x1 @@ -156297,8 +156297,8 @@ _02054794: mov r0, #0x0 bx lr - thumb_func_start sub_02054798 -sub_02054798: ; 0x02054798 + thumb_func_start FUN_02054798 +FUN_02054798: ; 0x02054798 cmp r0, #0x3 bne _020547A0 mov r0, #0x1 @@ -156307,8 +156307,8 @@ _020547A0: mov r0, #0x0 bx lr - thumb_func_start sub_020547A4 -sub_020547A4: ; 0x020547A4 + thumb_func_start FUN_020547A4 +FUN_020547A4: ; 0x020547A4 cmp r0, #0x80 bne _020547AC mov r0, #0x1 @@ -156317,8 +156317,8 @@ _020547AC: mov r0, #0x0 bx lr - thumb_func_start sub_020547B0 -sub_020547B0: ; 0x020547B0 + thumb_func_start FUN_020547B0 +FUN_020547B0: ; 0x020547B0 cmp r0, #0x69 bne _020547B8 mov r0, #0x1 @@ -156327,8 +156327,8 @@ _020547B8: mov r0, #0x0 bx lr - thumb_func_start sub_020547BC -sub_020547BC: ; 0x020547BC + thumb_func_start FUN_020547BC +FUN_020547BC: ; 0x020547BC cmp r0, #0x62 bne _020547C4 mov r0, #0x1 @@ -156337,8 +156337,8 @@ _020547C4: mov r0, #0x0 bx lr - thumb_func_start sub_020547C8 -sub_020547C8: ; 0x020547C8 + thumb_func_start FUN_020547C8 +FUN_020547C8: ; 0x020547C8 cmp r0, #0x63 bne _020547D0 mov r0, #0x1 @@ -156347,8 +156347,8 @@ _020547D0: mov r0, #0x0 bx lr - thumb_func_start sub_020547D4 -sub_020547D4: ; 0x020547D4 + thumb_func_start FUN_020547D4 +FUN_020547D4: ; 0x020547D4 cmp r0, #0x64 bne _020547DC mov r0, #0x1 @@ -156357,8 +156357,8 @@ _020547DC: mov r0, #0x0 bx lr - thumb_func_start sub_020547E0 -sub_020547E0: ; 0x020547E0 + thumb_func_start FUN_020547E0 +FUN_020547E0: ; 0x020547E0 cmp r0, #0x65 bne _020547E8 mov r0, #0x1 @@ -156367,8 +156367,8 @@ _020547E8: mov r0, #0x0 bx lr - thumb_func_start sub_020547EC -sub_020547EC: ; 0x020547EC + thumb_func_start FUN_020547EC +FUN_020547EC: ; 0x020547EC cmp r0, #0x6c bne _020547F4 mov r0, #0x1 @@ -156377,8 +156377,8 @@ _020547F4: mov r0, #0x0 bx lr - thumb_func_start sub_020547F8 -sub_020547F8: ; 0x020547F8 + thumb_func_start FUN_020547F8 +FUN_020547F8: ; 0x020547F8 cmp r0, #0x6d bne _02054800 mov r0, #0x1 @@ -156387,8 +156387,8 @@ _02054800: mov r0, #0x0 bx lr - thumb_func_start sub_02054804 -sub_02054804: ; 0x02054804 + thumb_func_start FUN_02054804 +FUN_02054804: ; 0x02054804 cmp r0, #0x6e bne _0205480C mov r0, #0x1 @@ -156397,8 +156397,8 @@ _0205480C: mov r0, #0x0 bx lr - thumb_func_start sub_02054810 -sub_02054810: ; 0x02054810 + thumb_func_start FUN_02054810 +FUN_02054810: ; 0x02054810 cmp r0, #0x6f bne _02054818 mov r0, #0x1 @@ -156407,8 +156407,8 @@ _02054818: mov r0, #0x0 bx lr - thumb_func_start sub_0205481C -sub_0205481C: ; 0x0205481C + thumb_func_start FUN_0205481C +FUN_0205481C: ; 0x0205481C ldr r1, _0205482C ; =0x020F5C14 ldrb r1, [r1, r0] mov r0, #0x1 @@ -156420,8 +156420,8 @@ _02054828: nop _0205482C: .word 0x020F5C14 - thumb_func_start sub_02054830 -sub_02054830: ; 0x02054830 + thumb_func_start FUN_02054830 +FUN_02054830: ; 0x02054830 cmp r0, #0x21 bne _02054838 mov r0, #0x1 @@ -156430,8 +156430,8 @@ _02054838: mov r0, #0x0 bx lr - thumb_func_start sub_0205483C -sub_0205483C: ; 0x0205483C + thumb_func_start FUN_0205483C +FUN_0205483C: ; 0x0205483C cmp r0, #0x17 bne _02054844 mov r0, #0x1 @@ -156440,8 +156440,8 @@ _02054844: mov r0, #0x0 bx lr - thumb_func_start sub_02054848 -sub_02054848: ; 0x02054848 + thumb_func_start FUN_02054848 +FUN_02054848: ; 0x02054848 cmp r0, #0x3a bne _02054850 mov r0, #0x1 @@ -156450,8 +156450,8 @@ _02054850: mov r0, #0x0 bx lr - thumb_func_start sub_02054854 -sub_02054854: ; 0x02054854 + thumb_func_start FUN_02054854 +FUN_02054854: ; 0x02054854 cmp r0, #0x3b bne _0205485C mov r0, #0x1 @@ -156460,8 +156460,8 @@ _0205485C: mov r0, #0x0 bx lr - thumb_func_start sub_02054860 -sub_02054860: ; 0x02054860 + thumb_func_start FUN_02054860 +FUN_02054860: ; 0x02054860 cmp r0, #0x39 bne _02054868 mov r0, #0x1 @@ -156470,8 +156470,8 @@ _02054868: mov r0, #0x0 bx lr - thumb_func_start sub_0205486C -sub_0205486C: ; 0x0205486C + thumb_func_start FUN_0205486C +FUN_0205486C: ; 0x0205486C cmp r0, #0x38 bne _02054874 mov r0, #0x1 @@ -156480,8 +156480,8 @@ _02054874: mov r0, #0x0 bx lr - thumb_func_start sub_02054878 -sub_02054878: ; 0x02054878 + thumb_func_start FUN_02054878 +FUN_02054878: ; 0x02054878 cmp r0, #0x83 bne _02054880 mov r0, #0x1 @@ -156490,8 +156490,8 @@ _02054880: mov r0, #0x0 bx lr - thumb_func_start sub_02054884 -sub_02054884: ; 0x02054884 + thumb_func_start FUN_02054884 +FUN_02054884: ; 0x02054884 cmp r0, #0x85 bne _0205488C mov r0, #0x1 @@ -156500,8 +156500,8 @@ _0205488C: mov r0, #0x0 bx lr - thumb_func_start sub_02054890 -sub_02054890: ; 0x02054890 + thumb_func_start FUN_02054890 +FUN_02054890: ; 0x02054890 cmp r0, #0x56 bne _02054898 mov r0, #0x1 @@ -156510,8 +156510,8 @@ _02054898: mov r0, #0x0 bx lr - thumb_func_start sub_0205489C -sub_0205489C: ; 0x0205489C + thumb_func_start FUN_0205489C +FUN_0205489C: ; 0x0205489C cmp r0, #0x57 bne _020548A4 mov r0, #0x1 @@ -156520,8 +156520,8 @@ _020548A4: mov r0, #0x0 bx lr - thumb_func_start sub_020548A8 -sub_020548A8: ; 0x020548A8 + thumb_func_start FUN_020548A8 +FUN_020548A8: ; 0x020548A8 cmp r0, #0x58 bne _020548B0 mov r0, #0x1 @@ -156530,8 +156530,8 @@ _020548B0: mov r0, #0x0 bx lr - thumb_func_start sub_020548B4 -sub_020548B4: ; 0x020548B4 + thumb_func_start FUN_020548B4 +FUN_020548B4: ; 0x020548B4 cmp r0, #0x59 bne _020548BC mov r0, #0x1 @@ -156540,8 +156540,8 @@ _020548BC: mov r0, #0x0 bx lr - thumb_func_start sub_020548C0 -sub_020548C0: ; 0x020548C0 + thumb_func_start FUN_020548C0 +FUN_020548C0: ; 0x020548C0 cmp r0, #0x6a bne _020548C8 mov r0, #0x1 @@ -156550,8 +156550,8 @@ _020548C8: mov r0, #0x0 bx lr - thumb_func_start sub_020548CC -sub_020548CC: ; 0x020548CC + thumb_func_start FUN_020548CC +FUN_020548CC: ; 0x020548CC cmp r0, #0x6b bne _020548D4 mov r0, #0x1 @@ -156560,8 +156560,8 @@ _020548D4: mov r0, #0x0 bx lr - thumb_func_start sub_020548D8 -sub_020548D8: ; 0x020548D8 + thumb_func_start FUN_020548D8 +FUN_020548D8: ; 0x020548D8 cmp r0, #0x5e bne _020548E0 mov r0, #0x1 @@ -156570,8 +156570,8 @@ _020548E0: mov r0, #0x0 bx lr - thumb_func_start sub_020548E4 -sub_020548E4: ; 0x020548E4 + thumb_func_start FUN_020548E4 +FUN_020548E4: ; 0x020548E4 cmp r0, #0x5f bne _020548EC mov r0, #0x1 @@ -156580,8 +156580,8 @@ _020548EC: mov r0, #0x0 bx lr - thumb_func_start sub_020548F0 -sub_020548F0: ; 0x020548F0 + thumb_func_start FUN_020548F0 +FUN_020548F0: ; 0x020548F0 cmp r0, #0x20 bne _020548F8 mov r0, #0x1 @@ -156590,8 +156590,8 @@ _020548F8: mov r0, #0x0 bx lr - thumb_func_start sub_020548FC -sub_020548FC: ; 0x020548FC + thumb_func_start FUN_020548FC +FUN_020548FC: ; 0x020548FC cmp r0, #0x4b bne _02054904 mov r0, #0x1 @@ -156600,8 +156600,8 @@ _02054904: mov r0, #0x0 bx lr - thumb_func_start sub_02054908 -sub_02054908: ; 0x02054908 + thumb_func_start FUN_02054908 +FUN_02054908: ; 0x02054908 cmp r0, #0x4c bne _02054910 mov r0, #0x1 @@ -156610,8 +156610,8 @@ _02054910: mov r0, #0x0 bx lr - thumb_func_start sub_02054914 -sub_02054914: ; 0x02054914 + thumb_func_start FUN_02054914 +FUN_02054914: ; 0x02054914 cmp r0, #0xe0 bne _0205491C mov r0, #0x1 @@ -156620,8 +156620,8 @@ _0205491C: mov r0, #0x0 bx lr - thumb_func_start sub_02054920 -sub_02054920: ; 0x02054920 + thumb_func_start FUN_02054920 +FUN_02054920: ; 0x02054920 cmp r0, #0xea bne _02054928 mov r0, #0x1 @@ -156630,8 +156630,8 @@ _02054928: mov r0, #0x0 bx lr - thumb_func_start sub_0205492C -sub_0205492C: ; 0x0205492C + thumb_func_start FUN_0205492C +FUN_0205492C: ; 0x0205492C cmp r0, #0xe1 bne _02054934 mov r0, #0x1 @@ -156640,8 +156640,8 @@ _02054934: mov r0, #0x0 bx lr - thumb_func_start sub_02054938 -sub_02054938: ; 0x02054938 + thumb_func_start FUN_02054938 +FUN_02054938: ; 0x02054938 cmp r0, #0xe2 bne _02054940 mov r0, #0x1 @@ -156650,8 +156650,8 @@ _02054940: mov r0, #0x0 bx lr - thumb_func_start sub_02054944 -sub_02054944: ; 0x02054944 + thumb_func_start FUN_02054944 +FUN_02054944: ; 0x02054944 cmp r0, #0xe4 bne _0205494C mov r0, #0x1 @@ -156660,8 +156660,8 @@ _0205494C: mov r0, #0x0 bx lr - thumb_func_start sub_02054950 -sub_02054950: ; 0x02054950 + thumb_func_start FUN_02054950 +FUN_02054950: ; 0x02054950 cmp r0, #0xe5 bne _02054958 mov r0, #0x1 @@ -156670,8 +156670,8 @@ _02054958: mov r0, #0x0 bx lr - thumb_func_start sub_0205495C -sub_0205495C: ; 0x0205495C + thumb_func_start FUN_0205495C +FUN_0205495C: ; 0x0205495C cmp r0, #0xeb bne _02054964 mov r0, #0x1 @@ -156680,8 +156680,8 @@ _02054964: mov r0, #0x0 bx lr - thumb_func_start sub_02054968 -sub_02054968: ; 0x02054968 + thumb_func_start FUN_02054968 +FUN_02054968: ; 0x02054968 cmp r0, #0xec bne _02054970 mov r0, #0x1 @@ -156690,8 +156690,8 @@ _02054970: mov r0, #0x0 bx lr - thumb_func_start sub_02054974 -sub_02054974: ; 0x02054974 + thumb_func_start FUN_02054974 +FUN_02054974: ; 0x02054974 cmp r0, #0xa4 beq _0205497C cmp r0, #0xa5 @@ -156703,8 +156703,8 @@ _02054980: mov r0, #0x0 bx lr - thumb_func_start sub_02054984 -sub_02054984: ; 0x02054984 + thumb_func_start FUN_02054984 +FUN_02054984: ; 0x02054984 cmp r0, #0xa5 bne _0205498C mov r0, #0x1 @@ -156713,8 +156713,8 @@ _0205498C: mov r0, #0x0 bx lr - thumb_func_start sub_02054990 -sub_02054990: ; 0x02054990 + thumb_func_start FUN_02054990 +FUN_02054990: ; 0x02054990 cmp r0, #0xa6 beq _02054998 cmp r0, #0xa7 @@ -156726,8 +156726,8 @@ _0205499C: mov r0, #0x0 bx lr - thumb_func_start sub_020549A0 -sub_020549A0: ; 0x020549A0 + thumb_func_start FUN_020549A0 +FUN_020549A0: ; 0x020549A0 cmp r0, #0xa7 bne _020549A8 mov r0, #0x1 @@ -156736,8 +156736,8 @@ _020549A8: mov r0, #0x0 bx lr - thumb_func_start sub_020549AC -sub_020549AC: ; 0x020549AC + thumb_func_start FUN_020549AC +FUN_020549AC: ; 0x020549AC add r0, #0x5f lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -156756,8 +156756,8 @@ _020549C6: bx lr .balign 4 - thumb_func_start sub_020549CC -sub_020549CC: ; 0x020549CC + thumb_func_start FUN_020549CC +FUN_020549CC: ; 0x020549CC cmp r0, #0xa8 bne _020549D4 mov r0, #0x1 @@ -156766,8 +156766,8 @@ _020549D4: mov r0, #0x0 bx lr - thumb_func_start sub_020549D8 -sub_020549D8: ; 0x020549D8 + thumb_func_start FUN_020549D8 +FUN_020549D8: ; 0x020549D8 cmp r0, #0xa1 bne _020549E0 mov r0, #0x1 @@ -156776,8 +156776,8 @@ _020549E0: mov r0, #0x0 bx lr - thumb_func_start sub_020549E4 -sub_020549E4: ; 0x020549E4 + thumb_func_start FUN_020549E4 +FUN_020549E4: ; 0x020549E4 cmp r0, #0xa2 bne _020549EC mov r0, #0x1 @@ -156786,8 +156786,8 @@ _020549EC: mov r0, #0x0 bx lr - thumb_func_start sub_020549F0 -sub_020549F0: ; 0x020549F0 + thumb_func_start FUN_020549F0 +FUN_020549F0: ; 0x020549F0 cmp r0, #0xa3 bne _020549F8 mov r0, #0x1 @@ -156796,8 +156796,8 @@ _020549F8: mov r0, #0x0 bx lr - thumb_func_start sub_020549FC -sub_020549FC: ; 0x020549FC + thumb_func_start FUN_020549FC +FUN_020549FC: ; 0x020549FC cmp r0, #0xd9 beq _02054A04 cmp r0, #0xda @@ -156809,8 +156809,8 @@ _02054A08: mov r0, #0x0 bx lr - thumb_func_start sub_02054A0C -sub_02054A0C: ; 0x02054A0C + thumb_func_start FUN_02054A0C +FUN_02054A0C: ; 0x02054A0C cmp r0, #0xd9 bne _02054A14 mov r0, #0x1 @@ -156819,8 +156819,8 @@ _02054A14: mov r0, #0x0 bx lr - thumb_func_start sub_02054A18 -sub_02054A18: ; 0x02054A18 + thumb_func_start FUN_02054A18 +FUN_02054A18: ; 0x02054A18 cmp r0, #0xda bne _02054A20 mov r0, #0x1 @@ -156829,8 +156829,8 @@ _02054A20: mov r0, #0x0 bx lr - thumb_func_start sub_02054A24 -sub_02054A24: ; 0x02054A24 + thumb_func_start FUN_02054A24 +FUN_02054A24: ; 0x02054A24 cmp r0, #0xd7 bne _02054A2C mov r0, #0x1 @@ -156839,8 +156839,8 @@ _02054A2C: mov r0, #0x0 bx lr - thumb_func_start sub_02054A30 -sub_02054A30: ; 0x02054A30 + thumb_func_start FUN_02054A30 +FUN_02054A30: ; 0x02054A30 cmp r0, #0xd8 bne _02054A38 mov r0, #0x1 @@ -156849,8 +156849,8 @@ _02054A38: mov r0, #0x0 bx lr - thumb_func_start sub_02054A3C -sub_02054A3C: ; 0x02054A3C + thumb_func_start FUN_02054A3C +FUN_02054A3C: ; 0x02054A3C cmp r0, #0x8 bne _02054A44 mov r0, #0x1 @@ -156859,8 +156859,8 @@ _02054A44: mov r0, #0x0 bx lr - thumb_func_start sub_02054A48 -sub_02054A48: ; 0x02054A48 + thumb_func_start FUN_02054A48 +FUN_02054A48: ; 0x02054A48 cmp r0, #0x13 bne _02054A50 mov r0, #0x1 @@ -156869,8 +156869,8 @@ _02054A50: mov r0, #0x0 bx lr - thumb_func_start sub_02054A54 -sub_02054A54: ; 0x02054A54 + thumb_func_start FUN_02054A54 +FUN_02054A54: ; 0x02054A54 cmp r0, #0xdb bne _02054A5C mov r0, #0x1 @@ -156879,8 +156879,8 @@ _02054A5C: mov r0, #0x0 bx lr - thumb_func_start sub_02054A60 -sub_02054A60: ; 0x02054A60 + thumb_func_start FUN_02054A60 +FUN_02054A60: ; 0x02054A60 add r0, #0xce lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -156900,8 +156900,8 @@ _02054A7A: nop _02054A80: .word 0x0080000D - thumb_func_start sub_02054A84 -sub_02054A84: ; 0x02054A84 + thumb_func_start FUN_02054A84 +FUN_02054A84: ; 0x02054A84 add r0, #0xcd lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -156921,8 +156921,8 @@ _02054A9E: nop _02054AA4: .word 0x00400019 - thumb_func_start sub_02054AA8 -sub_02054AA8: ; 0x02054AA8 + thumb_func_start FUN_02054AA8 +FUN_02054AA8: ; 0x02054AA8 add r0, #0xcf lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -156942,8 +156942,8 @@ _02054AC2: nop _02054AC8: .word 0x02000051 - thumb_func_start sub_02054ACC -sub_02054ACC: ; 0x02054ACC + thumb_func_start FUN_02054ACC +FUN_02054ACC: ; 0x02054ACC add r0, #0xd0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -156963,8 +156963,8 @@ _02054AE6: nop _02054AEC: .word 0x04000051 - thumb_func_start sub_02054AF0 -sub_02054AF0: ; 0x02054AF0 + thumb_func_start FUN_02054AF0 +FUN_02054AF0: ; 0x02054AF0 cmp r0, #0x16 bne _02054AF8 mov r0, #0x1 @@ -156973,8 +156973,8 @@ _02054AF8: mov r0, #0x0 bx lr - thumb_func_start sub_02054AFC -sub_02054AFC: ; 0x02054AFC + thumb_func_start FUN_02054AFC +FUN_02054AFC: ; 0x02054AFC ldr r1, _02054B10 ; =0x020F5C14 ldrb r1, [r1, r0] mov r0, #0x2 @@ -156988,8 +156988,8 @@ _02054B0A: nop _02054B10: .word 0x020F5C14 - thumb_func_start sub_02054B14 -sub_02054B14: ; 0x02054B14 + thumb_func_start FUN_02054B14 +FUN_02054B14: ; 0x02054B14 cmp r0, #0x86 bne _02054B1C mov r0, #0x1 @@ -156998,8 +156998,8 @@ _02054B1C: mov r0, #0x0 bx lr - thumb_func_start sub_02054B20 -sub_02054B20: ; 0x02054B20 + thumb_func_start FUN_02054B20 +FUN_02054B20: ; 0x02054B20 cmp r0, #0x16 beq _02054B28 cmp r0, #0x10 @@ -157011,8 +157011,8 @@ _02054B2C: mov r0, #0x0 bx lr - thumb_func_start sub_02054B30 -sub_02054B30: ; 0x02054B30 + thumb_func_start FUN_02054B30 +FUN_02054B30: ; 0x02054B30 cmp r0, #0x40 bne _02054B38 mov r0, #0x1 @@ -157021,8 +157021,8 @@ _02054B38: mov r0, #0x0 bx lr - thumb_func_start sub_02054B3C -sub_02054B3C: ; 0x02054B3C + thumb_func_start FUN_02054B3C +FUN_02054B3C: ; 0x02054B3C cmp r0, #0x41 bne _02054B44 mov r0, #0x1 @@ -157031,8 +157031,8 @@ _02054B44: mov r0, #0x0 bx lr - thumb_func_start sub_02054B48 -sub_02054B48: ; 0x02054B48 + thumb_func_start FUN_02054B48 +FUN_02054B48: ; 0x02054B48 cmp r0, #0x42 bne _02054B50 mov r0, #0x1 @@ -157041,8 +157041,8 @@ _02054B50: mov r0, #0x0 bx lr - thumb_func_start sub_02054B54 -sub_02054B54: ; 0x02054B54 + thumb_func_start FUN_02054B54 +FUN_02054B54: ; 0x02054B54 cmp r0, #0x43 bne _02054B5C mov r0, #0x1 @@ -157051,8 +157051,8 @@ _02054B5C: mov r0, #0x0 bx lr - thumb_func_start sub_02054B60 -sub_02054B60: ; 0x02054B60 + thumb_func_start FUN_02054B60 +FUN_02054B60: ; 0x02054B60 cmp r0, #0x67 bne _02054B68 mov r0, #0x1 @@ -157061,8 +157061,8 @@ _02054B68: mov r0, #0x0 bx lr - thumb_func_start sub_02054B6C -sub_02054B6C: ; 0x02054B6C + thumb_func_start FUN_02054B6C +FUN_02054B6C: ; 0x02054B6C cmp r0, #0x70 bne _02054B74 mov r0, #0x1 @@ -157071,8 +157071,8 @@ _02054B74: mov r0, #0x0 bx lr - thumb_func_start sub_02054B78 -sub_02054B78: ; 0x02054B78 + thumb_func_start FUN_02054B78 +FUN_02054B78: ; 0x02054B78 add r0, #0x8f lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -157085,8 +157085,8 @@ _02054B86: bx lr .balign 4 - thumb_func_start sub_02054B8C -sub_02054B8C: ; 0x02054B8C + thumb_func_start FUN_02054B8C +FUN_02054B8C: ; 0x02054B8C add r0, #0x8d lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -157106,8 +157106,8 @@ _02054BA6: nop _02054BAC: .word 0x00000221 - thumb_func_start sub_02054BB0 -sub_02054BB0: ; 0x02054BB0 + thumb_func_start FUN_02054BB0 +FUN_02054BB0: ; 0x02054BB0 add r0, #0x8c lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -157127,8 +157127,8 @@ _02054BCA: nop _02054BD0: .word 0x00000221 - thumb_func_start sub_02054BD4 -sub_02054BD4: ; 0x02054BD4 + thumb_func_start FUN_02054BD4 +FUN_02054BD4: ; 0x02054BD4 cmp r0, #0x75 bne _02054BDC mov r0, #0x1 @@ -157137,8 +157137,8 @@ _02054BDC: mov r0, #0x0 bx lr - thumb_func_start sub_02054BE0 -sub_02054BE0: ; 0x02054BE0 + thumb_func_start FUN_02054BE0 +FUN_02054BE0: ; 0x02054BE0 add r0, #0x8a lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -157151,8 +157151,8 @@ _02054BEE: bx lr .balign 4 - thumb_func_start sub_02054BF4 -sub_02054BF4: ; 0x02054BF4 + thumb_func_start FUN_02054BF4 +FUN_02054BF4: ; 0x02054BF4 add r0, #0x86 lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -157165,8 +157165,8 @@ _02054C02: bx lr .balign 4 - thumb_func_start sub_02054C08 -sub_02054C08: ; 0x02054C08 + thumb_func_start FUN_02054C08 +FUN_02054C08: ; 0x02054C08 cmp r0, #0xff bne _02054C10 mov r0, #0x1 @@ -157175,12 +157175,12 @@ _02054C10: mov r0, #0x0 bx lr - thumb_func_start sub_02054C14 -sub_02054C14: ; 0x02054C14 + thumb_func_start FUN_02054C14 +FUN_02054C14: ; 0x02054C14 push {r4, lr} mov r1, #0xa add r4, r0, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C26 mov r0, #0x1 @@ -157188,7 +157188,7 @@ sub_02054C14: ; 0x02054C14 _02054C26: add r0, r4, #0x0 mov r1, #0x64 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C36 mov r0, #0x2 @@ -157197,7 +157197,7 @@ _02054C36: mov r1, #0xfa add r0, r4, #0x0 lsl r1, r1, #0x2 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C48 mov r0, #0x3 @@ -157205,7 +157205,7 @@ _02054C36: _02054C48: ldr r1, _02054C9C ; =0x00002710 add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C58 mov r0, #0x4 @@ -157213,7 +157213,7 @@ _02054C48: _02054C58: ldr r1, _02054CA0 ; =0x000186A0 add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C68 mov r0, #0x5 @@ -157221,7 +157221,7 @@ _02054C58: _02054C68: ldr r1, _02054CA4 ; =0x000F4240 add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C78 mov r0, #0x6 @@ -157229,7 +157229,7 @@ _02054C68: _02054C78: ldr r1, _02054CA8 ; =0x00989680 add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C88 mov r0, #0x7 @@ -157237,7 +157237,7 @@ _02054C78: _02054C88: ldr r1, _02054CAC ; =0x05F5E100 add r0, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r0, #0x0 bne _02054C98 mov r0, #0x8 @@ -157252,8 +157252,8 @@ _02054CA4: .word 0x000F4240 _02054CA8: .word 0x00989680 _02054CAC: .word 0x05F5E100 - thumb_func_start sub_02054CB0 -sub_02054CB0: ; 0x02054CB0 + thumb_func_start FUN_02054CB0 +FUN_02054CB0: ; 0x02054CB0 mov r1, #0x52 lsl r1, r1, #0x2 cmp r0, r1 @@ -157268,8 +157268,8 @@ _02054CC2: bx lr .balign 4 - thumb_func_start sub_02054CC8 -sub_02054CC8: ; 0x02054CC8 + thumb_func_start FUN_02054CC8 +FUN_02054CC8: ; 0x02054CC8 cmp r0, #0xe bhi _02054CD0 mov r0, #0x6 @@ -157323,8 +157323,8 @@ _02054D18: mov r0, #0x5 bx lr - thumb_func_start sub_02054D1C -sub_02054D1C: ; 0x02054D1C + thumb_func_start FUN_02054D1C +FUN_02054D1C: ; 0x02054D1C cmp r0, #0x27 bhi _02054D24 mov r0, #0x13 @@ -157450,12 +157450,12 @@ _02054DE4: .balign 4 _02054DE8: .word 0x0000010D - thumb_func_start sub_02054DEC -sub_02054DEC: ; 0x02054DEC + thumb_func_start FUN_02054DEC +FUN_02054DEC: ; 0x02054DEC push {r3-r7, lr} add r6, r0, #0x0 - bl sub_0206BB1C - bl sub_0206B9AC + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 lsr r5, r0, #0x10 ldr r4, _02054E2C ; =0x00000000 @@ -157463,12 +157463,12 @@ sub_02054DEC: ; 0x02054DEC mov r7, #0x4c _02054E02: add r0, r6, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02054E1E add r0, r4, #0x0 @@ -157485,14 +157485,14 @@ _02054E28: .balign 4 _02054E2C: .word 0x00000000 - thumb_func_start sub_02054E30 -sub_02054E30: ; 0x02054E30 + thumb_func_start FUN_02054E30 +FUN_02054E30: ; 0x02054E30 push {r3-r7, lr} sub sp, #0x10 mov r7, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [sp, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC add r4, r0, #0x0 add r6, r7, #0x0 cmp r4, #0x0 @@ -157501,10 +157501,10 @@ sub_02054E30: ; 0x02054E30 _02054E4A: ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x0] add r6, r6, #0x1 add r5, r5, #0x2 @@ -157547,14 +157547,14 @@ _02054E96: .balign 4 _02054E9C: .word 0x020F5D14 - thumb_func_start sub_02054EA0 -sub_02054EA0: ; 0x02054EA0 + thumb_func_start FUN_02054EA0 +FUN_02054EA0: ; 0x02054EA0 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0x2 lsl r0, r0, #0xe @@ -157562,11 +157562,11 @@ sub_02054EA0: ; 0x02054EA0 str r0, [sp, #0x8] ldrh r0, [r4, #0xe] ldr r5, [r4, #0x4] - bl sub_0201B93C + bl FUN_0201B93C asr r1, r0, #0x1f asr r3, r5, #0x1f add r2, r5, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -157578,11 +157578,11 @@ sub_02054EA0: ; 0x02054EA0 str r1, [sp, #0x0] ldrh r0, [r4, #0xe] ldr r5, [r4, #0x8] - bl sub_0201B93C + bl FUN_0201B93C asr r1, r0, #0x1f asr r3, r5, #0x1f add r2, r5, #0x0 - blx sub_020EBC30 + blx FUN_020EBC30 mov r2, #0x2 mov r3, #0x0 lsl r2, r2, #0xa @@ -157595,7 +157595,7 @@ sub_02054EA0: ; 0x02054EA0 str r3, [sp, #0x4] ldr r0, [r4, #0x0] add r1, sp, #0x0 - bl sub_02058BB4 + bl FUN_02058BB4 ldrh r1, [r4, #0xe] ldrh r0, [r4, #0x10] add r0, r1, r0 @@ -157620,9 +157620,9 @@ _02054F28: str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 - bl sub_02058BB4 + bl FUN_02058BB4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc mov r0, #0x1 pop {r4-r5, pc} @@ -157631,84 +157631,84 @@ _02054F4A: add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_02054F50 -sub_02054F50: ; 0x02054F50 + thumb_func_start FUN_02054F50 +FUN_02054F50: ; 0x02054F50 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x14 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x14 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, sp, #0x8 ldrh r0, [r0, #0x10] cmp r0, #0x0 beq _02054F8A lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _02054F98 _02054F8A: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _02054F98: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [r4, #0x4] add r0, sp, #0x8 ldrh r0, [r0, #0x14] cmp r0, #0x0 beq _02054FB8 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _02054FC6 _02054FB8: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _02054FC6: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [r4, #0x8] strh r6, [r4, #0xc] strh r7, [r4, #0x10] ldr r0, [sp, #0x0] str r5, [r4, #0x0] ldr r0, [r0, #0x10] - ldr r1, _02054FE0 ; =sub_02054EA0 + ldr r1, _02054FE0 ; =FUN_02054EA0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_02054FE0: .word sub_02054EA0 + 1 +_02054FE0: .word FUN_02054EA0 + 1 - thumb_func_start sub_02054FE4 -sub_02054FE4: ; 0x02054FE4 + thumb_func_start FUN_02054FE4 +FUN_02054FE4: ; 0x02054FE4 push {r4, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrb r1, [r4, #0x9] ldr r0, [r4, #0x0] - bl sub_0205889C + bl FUN_0205889C ldrb r1, [r4, #0x8] add r0, r1, #0x1 strb r0, [r4, #0x8] @@ -157727,234 +157727,234 @@ sub_02054FE4: ; 0x02054FE4 cmp r1, #0x0 bne _02055028 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r4, pc} _02055028: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205502C -sub_0205502C: ; 0x0205502C + thumb_func_start FUN_0205502C +FUN_0205502C: ; 0x0205502C push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0xc - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0xc - blx sub_020CE34C + blx FUN_020CE34C strh r6, [r4, #0x4] strh r7, [r4, #0x6] str r5, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x9] ldr r0, [sp, #0x0] - ldr r1, _02055064 ; =sub_02054FE4 + ldr r1, _02055064 ; =FUN_02054FE4 ldr r0, [r0, #0x10] add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_02055064: .word sub_02054FE4 + 1 +_02055064: .word FUN_02054FE4 + 1 - thumb_func_start sub_02055068 -sub_02055068: ; 0x02055068 + thumb_func_start FUN_02055068 +FUN_02055068: ; 0x02055068 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 str r3, [sp, #0x8] - bl sub_0205517C + bl FUN_0205517C ldr r1, [sp, #0x20] ldr r2, [sp, #0x24] ldr r3, [sp, #0x28] add r6, r0, #0x0 - bl sub_0205519C + bl FUN_0205519C ldr r0, [sp, #0x20] ldr r1, [sp, #0x24] - bl sub_020555A0 + bl FUN_020555A0 add r2, r0, #0x0 str r5, [sp, #0x0] ldr r3, [sp, #0x8] add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0x4] - bl sub_02055208 + bl FUN_02055208 add r0, r6, #0x0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020550A4 -sub_020550A4: ; 0x020550A4 + thumb_func_start FUN_020550A4 +FUN_020550A4: ; 0x020550A4 push {r3-r7, lr} add r4, r1, #0x0 add r7, r0, #0x0 add r6, r2, #0x0 - bl sub_0205517C + bl FUN_0205517C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020554C8 + bl FUN_020554C8 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_0205519C + bl FUN_0205519C add r0, r7, #0x0 - bl sub_020552E4 + bl FUN_020552E4 add r4, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_020555A0 + bl FUN_020555A0 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058454 + bl FUN_02058454 mov r1, #0x9 add r0, r4, #0x0 lsl r1, r1, #0xa - bl sub_02058410 + bl FUN_02058410 mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02058AC8 + bl FUN_02058AC8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205539C + bl FUN_0205539C add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02055108 -sub_02055108: ; 0x02055108 + thumb_func_start FUN_02055108 +FUN_02055108: ; 0x02055108 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 bne _02055118 - bl sub_02020C2C + bl FUN_02020C2C _02055118: add r0, r4, #0x0 - bl sub_02058578 + bl FUN_02058578 add r0, r5, #0x0 - bl sub_021EDBC8 + bl FUN_021EDBC8 add r0, r5, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 bne _0205515C add r0, r5, #0x0 - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0205532C + bl FUN_0205532C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_020552F8 + bl FUN_020552F8 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0224ABAC + bl FUN_0224ABAC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02055450 + bl FUN_02055450 _0205515C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02055160 -sub_02055160: ; 0x02055160 - ldr r3, _02055164 ; =sub_02016A18 + thumb_func_start FUN_02055160 +FUN_02055160: ; 0x02055160 + ldr r3, _02055164 ; =FUN_02016A18 bx r3 .balign 4 -_02055164: .word sub_02016A18 + 1 +_02055164: .word FUN_02016A18 + 1 - thumb_func_start sub_02055168 -sub_02055168: ; 0x02055168 + thumb_func_start FUN_02055168 +FUN_02055168: ; 0x02055168 push {r4, lr} add r4, r0, #0x0 - bl sub_020553A0 - bl sub_02057654 + bl FUN_020553A0 + bl FUN_02057654 add r0, r4, #0x0 - bl sub_02055160 + bl FUN_02055160 pop {r4, pc} - thumb_func_start sub_0205517C -sub_0205517C: ; 0x0205517C + thumb_func_start FUN_0205517C +FUN_0205517C: ; 0x0205517C push {r4, lr} mov r0, #0xb mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0205518E - bl sub_02020C2C + bl FUN_02020C2C _0205518E: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x3c - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_0205519C -sub_0205519C: ; 0x0205519C + thumb_func_start FUN_0205519C +FUN_0205519C: ; 0x0205519C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r1, r3, #0x0 add r6, r2, #0x0 - bl sub_02055458 + bl FUN_02055458 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020553A8 + bl FUN_020553A8 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020553E4 + bl FUN_020553E4 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020553DC + bl FUN_020553DC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 - bl sub_0205542C + bl FUN_0205542C mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 - bl sub_02055434 + bl FUN_02055434 add r0, r5, #0x0 mov r1, #0xff - bl sub_02055460 + bl FUN_02055460 add r0, r5, #0x0 mov r1, #0x1 - bl sub_020556C8 + bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205574C + bl FUN_0205574C pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02055208 -sub_02055208: ; 0x02055208 + thumb_func_start FUN_02055208 +FUN_02055208: ; 0x02055208 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 @@ -157965,63 +157965,63 @@ sub_02055208: ; 0x02055208 add r0, r1, #0x0 ldr r1, [sp, #0x18] ldr r2, [sp, #0x1c] - bl sub_0205753C + bl FUN_0205753C add r5, r0, #0x0 bne _02055228 - bl sub_02020C2C + bl FUN_02020C2C _02055228: add r0, r5, #0x0 mov r1, #0xff - bl sub_02058444 + bl FUN_02058444 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058484 + bl FUN_02058484 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205848C + bl FUN_0205848C add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058494 + bl FUN_02058494 mov r1, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020584EC + bl FUN_020584EC add r0, r5, #0x0 mov r1, #0x0 mov r2, #0x1 - bl sub_020584EC + bl FUN_020584EC add r0, r5, #0x0 mov r1, #0x0 mov r2, #0x2 - bl sub_020584EC + bl FUN_020584EC mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 - bl sub_02058534 + bl FUN_02058534 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 - bl sub_0205853C + bl FUN_0205853C mov r1, #0x9 add r0, r5, #0x0 lsl r1, r1, #0xa - bl sub_02058410 + bl FUN_02058410 mov r1, #0x6 add r0, r5, #0x0 lsl r1, r1, #0x6 - bl sub_02058418 + bl FUN_02058418 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058AC8 + bl FUN_02058AC8 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0205539C + bl FUN_0205539C add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_020552A4 -sub_020552A4: ; 0x020552A4 + thumb_func_start FUN_020552A4 +FUN_020552A4: ; 0x020552A4 push {r3-r7, lr} sub sp, #0x8 mov r1, #0x0 @@ -158031,7 +158031,7 @@ sub_020552A4: ; 0x020552A4 add r2, sp, #0x4 mov r3, #0x1 add r5, r0, #0x0 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 beq _020552DE add r4, sp, #0x0 @@ -158039,14 +158039,14 @@ sub_020552A4: ; 0x020552A4 mov r7, #0x1 _020552C4: ldr r0, [sp, #0x0] - bl sub_02058480 + bl FUN_02058480 cmp r0, #0x1 beq _020552DE add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 bne _020552C4 _020552DE: @@ -158054,200 +158054,200 @@ _020552DE: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_020552E4 -sub_020552E4: ; 0x020552E4 + thumb_func_start FUN_020552E4 +FUN_020552E4: ; 0x020552E4 push {r4, lr} - bl sub_020552A4 + bl FUN_020552A4 add r4, r0, #0x0 bne _020552F2 - bl sub_02020C2C + bl FUN_02020C2C _020552F2: add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020552F8 -sub_020552F8: ; 0x020552F8 + thumb_func_start FUN_020552F8 +FUN_020552F8: ; 0x020552F8 push {r3, lr} - bl sub_020553A0 - bl sub_020584C4 + bl FUN_020553A0 + bl FUN_020584C4 pop {r3, pc} - thumb_func_start sub_02055304 -sub_02055304: ; 0x02055304 + thumb_func_start FUN_02055304 +FUN_02055304: ; 0x02055304 push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_020584AC + bl FUN_020584AC pop {r4, pc} - thumb_func_start sub_02055314 -sub_02055314: ; 0x02055314 + thumb_func_start FUN_02055314 +FUN_02055314: ; 0x02055314 push {r3, lr} - bl sub_020553A0 - bl sub_020584D4 + bl FUN_020553A0 + bl FUN_020584D4 pop {r3, pc} - thumb_func_start sub_02055320 -sub_02055320: ; 0x02055320 + thumb_func_start FUN_02055320 +FUN_02055320: ; 0x02055320 push {r3, lr} - bl sub_020553A0 - bl sub_02058B2C + bl FUN_020553A0 + bl FUN_02058B2C pop {r3, pc} - thumb_func_start sub_0205532C -sub_0205532C: ; 0x0205532C + thumb_func_start FUN_0205532C +FUN_0205532C: ; 0x0205532C push {r3, lr} - bl sub_020553A0 - bl sub_02058B4C + bl FUN_020553A0 + bl FUN_02058B4C pop {r3, pc} - thumb_func_start sub_02055338 -sub_02055338: ; 0x02055338 + thumb_func_start FUN_02055338 +FUN_02055338: ; 0x02055338 push {r3, lr} - bl sub_020553A0 - bl sub_02058B14 + bl FUN_020553A0 + bl FUN_02058B14 pop {r3, pc} - thumb_func_start sub_02055344 -sub_02055344: ; 0x02055344 + thumb_func_start FUN_02055344 +FUN_02055344: ; 0x02055344 push {r3, lr} - bl sub_020553A0 - bl sub_02058B24 + bl FUN_020553A0 + bl FUN_02058B24 pop {r3, pc} - thumb_func_start sub_02055350 -sub_02055350: ; 0x02055350 + thumb_func_start FUN_02055350 +FUN_02055350: ; 0x02055350 push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_02058B5C + bl FUN_02058B5C pop {r4, pc} - thumb_func_start sub_02055360 -sub_02055360: ; 0x02055360 + thumb_func_start FUN_02055360 +FUN_02055360: ; 0x02055360 push {r3, lr} - bl sub_020553A4 - bl sub_02058B7C + bl FUN_020553A4 + bl FUN_02058B7C pop {r3, pc} - thumb_func_start sub_0205536C -sub_0205536C: ; 0x0205536C + thumb_func_start FUN_0205536C +FUN_0205536C: ; 0x0205536C str r1, [r0, #0x10] bx lr - thumb_func_start sub_02055370 -sub_02055370: ; 0x02055370 + thumb_func_start FUN_02055370 +FUN_02055370: ; 0x02055370 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_02055374 -sub_02055374: ; 0x02055374 + thumb_func_start FUN_02055374 +FUN_02055374: ; 0x02055374 str r1, [r0, #0x14] bx lr - thumb_func_start sub_02055378 -sub_02055378: ; 0x02055378 + thumb_func_start FUN_02055378 +FUN_02055378: ; 0x02055378 ldr r0, [r0, #0x14] bx lr - thumb_func_start sub_0205537C -sub_0205537C: ; 0x0205537C + thumb_func_start FUN_0205537C +FUN_0205537C: ; 0x0205537C push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 cmp r4, #0x1 bne _02055392 mov r1, #0x2 lsl r1, r1, #0x8 - bl sub_02058418 + bl FUN_02058418 pop {r4, pc} _02055392: mov r1, #0x2 lsl r1, r1, #0x8 - bl sub_02058410 + bl FUN_02058410 pop {r4, pc} - thumb_func_start sub_0205539C -sub_0205539C: ; 0x0205539C + thumb_func_start FUN_0205539C +FUN_0205539C: ; 0x0205539C str r1, [r0, #0x2c] bx lr - thumb_func_start sub_020553A0 -sub_020553A0: ; 0x020553A0 + thumb_func_start FUN_020553A0 +FUN_020553A0: ; 0x020553A0 ldr r0, [r0, #0x2c] bx lr - thumb_func_start sub_020553A4 -sub_020553A4: ; 0x020553A4 + thumb_func_start FUN_020553A4 +FUN_020553A4: ; 0x020553A4 ldr r0, [r0, #0x2c] bx lr - thumb_func_start sub_020553A8 -sub_020553A8: ; 0x020553A8 + thumb_func_start FUN_020553A8 +FUN_020553A8: ; 0x020553A8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x3 blt _020553B6 - bl sub_02020C2C + bl FUN_02020C2C _020553B6: add r0, r5, #0x0 add r1, r4, #0x0 str r4, [r5, #0x18] - bl sub_020554DC + bl FUN_020554DC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020553C4 -sub_020553C4: ; 0x020553C4 + thumb_func_start FUN_020553C4 +FUN_020553C4: ; 0x020553C4 push {r4, lr} add r4, r0, #0x0 bne _020553CE - bl sub_02020C2C + bl FUN_02020C2C _020553CE: ldr r0, [r4, #0x18] pop {r4, pc} .balign 4 - thumb_func_start sub_020553D4 -sub_020553D4: ; 0x020553D4 + thumb_func_start FUN_020553D4 +FUN_020553D4: ; 0x020553D4 ldr r2, [r0, #0x4] orr r1, r2 str r1, [r0, #0x4] bx lr - thumb_func_start sub_020553DC -sub_020553DC: ; 0x020553DC + thumb_func_start FUN_020553DC +FUN_020553DC: ; 0x020553DC str r1, [r0, #0x4] bx lr - thumb_func_start sub_020553E0 -sub_020553E0: ; 0x020553E0 + thumb_func_start FUN_020553E0 +FUN_020553E0: ; 0x020553E0 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_020553E4 -sub_020553E4: ; 0x020553E4 + thumb_func_start FUN_020553E4 +FUN_020553E4: ; 0x020553E4 str r1, [r0, #0x1c] bx lr - thumb_func_start sub_020553E8 -sub_020553E8: ; 0x020553E8 + thumb_func_start FUN_020553E8 +FUN_020553E8: ; 0x020553E8 ldr r0, [r0, #0x1c] bx lr - thumb_func_start sub_020553EC -sub_020553EC: ; 0x020553EC + thumb_func_start FUN_020553EC +FUN_020553EC: ; 0x020553EC ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr - thumb_func_start sub_020553F4 -sub_020553F4: ; 0x020553F4 + thumb_func_start FUN_020553F4 +FUN_020553F4: ; 0x020553F4 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 @@ -158255,34 +158255,34 @@ sub_020553F4: ; 0x020553F4 bx lr .balign 4 - thumb_func_start sub_02055400 -sub_02055400: ; 0x02055400 + thumb_func_start FUN_02055400 +FUN_02055400: ; 0x02055400 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 - thumb_func_start sub_02055408 -sub_02055408: ; 0x02055408 + thumb_func_start FUN_02055408 +FUN_02055408: ; 0x02055408 ldr r0, [r0, #0x20] bx lr - thumb_func_start sub_0205540C -sub_0205540C: ; 0x0205540C + thumb_func_start FUN_0205540C +FUN_0205540C: ; 0x0205540C str r1, [r0, #0x20] bx lr - thumb_func_start sub_02055410 -sub_02055410: ; 0x02055410 - ldr r3, _02055418 ; =sub_020556F4 + thumb_func_start FUN_02055410 +FUN_02055410: ; 0x02055410 + ldr r3, _02055418 ; =FUN_020556F4 mov r1, #0x0 str r1, [r0, #0x20] bx r3 .balign 4 -_02055418: .word sub_020556F4 + 1 +_02055418: .word FUN_020556F4 + 1 - thumb_func_start sub_0205541C -sub_0205541C: ; 0x0205541C + thumb_func_start FUN_0205541C +FUN_0205541C: ; 0x0205541C ldr r3, [r0, #0x20] add r1, r3, r1 str r1, [r0, #0x20] @@ -158293,69 +158293,69 @@ _02055428: ldr r0, [r0, #0x20] bx lr - thumb_func_start sub_0205542C -sub_0205542C: ; 0x0205542C + thumb_func_start FUN_0205542C +FUN_0205542C: ; 0x0205542C str r1, [r0, #0x24] bx lr - thumb_func_start sub_02055430 -sub_02055430: ; 0x02055430 + thumb_func_start FUN_02055430 +FUN_02055430: ; 0x02055430 ldr r0, [r0, #0x24] bx lr - thumb_func_start sub_02055434 -sub_02055434: ; 0x02055434 + thumb_func_start FUN_02055434 +FUN_02055434: ; 0x02055434 str r1, [r0, #0x28] bx lr - thumb_func_start sub_02055438 -sub_02055438: ; 0x02055438 + thumb_func_start FUN_02055438 +FUN_02055438: ; 0x02055438 ldr r0, [r0, #0x28] bx lr - thumb_func_start sub_0205543C -sub_0205543C: ; 0x0205543C + thumb_func_start FUN_0205543C +FUN_0205543C: ; 0x0205543C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_0205542C + bl FUN_0205542C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02055434 + bl FUN_02055434 pop {r3-r5, pc} - thumb_func_start sub_02055450 -sub_02055450: ; 0x02055450 + thumb_func_start FUN_02055450 +FUN_02055450: ; 0x02055450 str r1, [r0, #0x30] bx lr - thumb_func_start sub_02055454 -sub_02055454: ; 0x02055454 + thumb_func_start FUN_02055454 +FUN_02055454: ; 0x02055454 ldr r0, [r0, #0x30] bx lr - thumb_func_start sub_02055458 -sub_02055458: ; 0x02055458 + thumb_func_start FUN_02055458 +FUN_02055458: ; 0x02055458 str r1, [r0, #0x34] bx lr - thumb_func_start sub_0205545C -sub_0205545C: ; 0x0205545C + thumb_func_start FUN_0205545C +FUN_0205545C: ; 0x0205545C ldr r0, [r0, #0x34] bx lr - thumb_func_start sub_02055460 -sub_02055460: ; 0x02055460 + thumb_func_start FUN_02055460 +FUN_02055460: ; 0x02055460 str r1, [r0, #0x8] bx lr - thumb_func_start sub_02055464 -sub_02055464: ; 0x02055464 + thumb_func_start FUN_02055464 +FUN_02055464: ; 0x02055464 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_02055468 -sub_02055468: ; 0x02055468 + thumb_func_start FUN_02055468 +FUN_02055468: ; 0x02055468 mov r1, #0x0 strh r1, [r0, #0x0] strh r1, [r0, #0x2] @@ -158363,8 +158363,8 @@ sub_02055468: ; 0x02055468 bx lr .balign 4 - thumb_func_start sub_02055474 -sub_02055474: ; 0x02055474 + thumb_func_start FUN_02055474 +FUN_02055474: ; 0x02055474 cmp r0, #0x0 beq _02055482 ldrh r0, [r0, #0x2] @@ -158377,8 +158377,8 @@ _02055482: bx lr .balign 4 - thumb_func_start sub_02055488 -sub_02055488: ; 0x02055488 + thumb_func_start FUN_02055488 +FUN_02055488: ; 0x02055488 cmp r1, #0x1 bne _02055492 mov r1, #0x1 @@ -158389,8 +158389,8 @@ _02055492: strh r1, [r0, #0x2] bx lr - thumb_func_start sub_02055498 -sub_02055498: ; 0x02055498 + thumb_func_start FUN_02055498 +FUN_02055498: ; 0x02055498 cmp r0, #0x0 bne _020554A0 mov r0, #0x0 @@ -158399,32 +158399,32 @@ _020554A0: ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_020554A4 -sub_020554A4: ; 0x020554A4 + thumb_func_start FUN_020554A4 +FUN_020554A4: ; 0x020554A4 cmp r0, #0x0 beq _020554AA strh r1, [r0, #0x0] _020554AA: bx lr - thumb_func_start sub_020554AC -sub_020554AC: ; 0x020554AC + thumb_func_start FUN_020554AC +FUN_020554AC: ; 0x020554AC push {r4, lr} add r4, r1, #0x0 - bl sub_0205545C + bl FUN_0205545C add r1, r4, #0x0 - bl sub_020554A4 + bl FUN_020554A4 pop {r4, pc} - thumb_func_start sub_020554BC -sub_020554BC: ; 0x020554BC + thumb_func_start FUN_020554BC +FUN_020554BC: ; 0x020554BC push {r3, lr} - bl sub_0205545C - bl sub_02055498 + bl FUN_0205545C + bl FUN_02055498 pop {r3, pc} - thumb_func_start sub_020554C8 -sub_020554C8: ; 0x020554C8 + thumb_func_start FUN_020554C8 +FUN_020554C8: ; 0x020554C8 cmp r0, #0x0 beq _020554D0 ldr r0, [r0, #0x4] @@ -158433,114 +158433,114 @@ _020554D0: mov r0, #0x0 bx lr - thumb_func_start sub_020554D4 -sub_020554D4: ; 0x020554D4 + thumb_func_start FUN_020554D4 +FUN_020554D4: ; 0x020554D4 cmp r0, #0x0 beq _020554DA str r1, [r0, #0x4] _020554DA: bx lr - thumb_func_start sub_020554DC -sub_020554DC: ; 0x020554DC + thumb_func_start FUN_020554DC +FUN_020554DC: ; 0x020554DC push {r4, lr} add r4, r1, #0x0 - bl sub_0205545C + bl FUN_0205545C add r1, r4, #0x0 - bl sub_020554D4 + bl FUN_020554D4 pop {r4, pc} - thumb_func_start sub_020554EC -sub_020554EC: ; 0x020554EC + thumb_func_start FUN_020554EC +FUN_020554EC: ; 0x020554EC push {r4-r6, lr} add r4, r1, #0x0 add r6, r2, #0x0 add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02058DBC + bl FUN_02058DBC add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02055514 -sub_02055514: ; 0x02055514 + thumb_func_start FUN_02055514 +FUN_02055514: ; 0x02055514 push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 add r5, r0, #0x0 add r4, r3, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r6, #0x0 mov r2, #0x0 add r3, r7, #0x0 str r4, [sp, #0x0] - bl sub_02058E28 + bl FUN_02058E28 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} - thumb_func_start sub_02055540 -sub_02055540: ; 0x02055540 + thumb_func_start FUN_02055540 +FUN_02055540: ; 0x02055540 push {r4-r5, lr} sub sp, #0xc add r5, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 add r1, sp, #0x0 - bl sub_02058B5C + bl FUN_02058B5C add r0, r4, #0x0 add r1, sp, #0x0 str r5, [sp, #0x4] - bl sub_02058B6C + bl FUN_02058B6C add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_02055560 -sub_02055560: ; 0x02055560 + thumb_func_start FUN_02055560 +FUN_02055560: ; 0x02055560 push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 cmp r4, #0x1 bne _02055574 mov r1, #0x0 - bl sub_02058960 + bl FUN_02058960 pop {r4, pc} _02055574: mov r1, #0x1 - bl sub_02058960 + bl FUN_02058960 pop {r4, pc} - thumb_func_start sub_0205557C -sub_0205557C: ; 0x0205557C + thumb_func_start FUN_0205557C +FUN_0205557C: ; 0x0205557C push {r3-r5, lr} add r5, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 cmp r5, #0x1 bne _02055598 mov r1, #0x0 - bl sub_02058960 + bl FUN_02058960 add r0, r4, #0x0 - bl sub_02059D1C + bl FUN_02059D1C pop {r3-r5, pc} _02055598: mov r1, #0x1 - bl sub_02058960 + bl FUN_02058960 pop {r3-r5, pc} - thumb_func_start sub_020555A0 -sub_020555A0: ; 0x020555A0 + thumb_func_start FUN_020555A0 +FUN_020555A0: ; 0x020555A0 push {r3, lr} cmp r1, #0x0 bne _020555F2 @@ -158595,13 +158595,13 @@ _0205561A: .byte 0x08, 0xBD, 0xB1, 0x20, 0x08, 0xBD, 0xB5, 0x20, 0x08, 0xBD, 0xBB, 0x20, 0x08, 0xBD, 0xBD, 0x20 .byte 0x08, 0xBD, 0xC5, 0x20, 0x08, 0xBD, 0xC7, 0x20, 0x08, 0xBD, 0xC9, 0x20, 0x08, 0xBD _0205563E: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02055648 -sub_02055648: ; 0x02055648 + thumb_func_start FUN_02055648 +FUN_02055648: ; 0x02055648 push {r3, lr} cmp r0, #0x9 bhi _02055690 @@ -158627,34 +158627,34 @@ _02055672: .byte 0x02, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x10, 0x20, 0x08, 0xBD, 0x20, 0x20 .byte 0x08, 0xBD, 0x40, 0x20, 0x08, 0xBD, 0x80, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x00, 0x02, 0x08, 0xBD _02055690: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_02055698 -sub_02055698: ; 0x02055698 + thumb_func_start FUN_02055698 +FUN_02055698: ; 0x02055698 ldr r0, [r0, #0x38] bx lr - thumb_func_start sub_0205569C -sub_0205569C: ; 0x0205569C + thumb_func_start FUN_0205569C +FUN_0205569C: ; 0x0205569C push {r3, lr} cmp r1, #0x1 bne _020556AA mov r1, #0x1 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _020556AA: mov r1, #0x1 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_020556B4 -sub_020556B4: ; 0x020556B4 + thumb_func_start FUN_020556B4 +FUN_020556B4: ; 0x020556B4 push {r3, lr} mov r1, #0x1 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _020556C4 mov r0, #0x1 @@ -158663,25 +158663,25 @@ _020556C4: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020556C8 -sub_020556C8: ; 0x020556C8 + thumb_func_start FUN_020556C8 +FUN_020556C8: ; 0x020556C8 push {r3, lr} cmp r1, #0x1 bne _020556D6 mov r1, #0x2 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _020556D6: mov r1, #0x2 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_020556E0 -sub_020556E0: ; 0x020556E0 + thumb_func_start FUN_020556E0 +FUN_020556E0: ; 0x020556E0 push {r3, lr} mov r1, #0x2 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _020556F0 mov r0, #0x1 @@ -158690,25 +158690,25 @@ _020556F0: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020556F4 -sub_020556F4: ; 0x020556F4 + thumb_func_start FUN_020556F4 +FUN_020556F4: ; 0x020556F4 push {r3, lr} cmp r1, #0x1 bne _02055702 mov r1, #0x4 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _02055702: mov r1, #0x4 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_0205570C -sub_0205570C: ; 0x0205570C + thumb_func_start FUN_0205570C +FUN_0205570C: ; 0x0205570C push {r3, lr} mov r1, #0x4 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _0205571C mov r0, #0x1 @@ -158717,25 +158717,25 @@ _0205571C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02055720 -sub_02055720: ; 0x02055720 + thumb_func_start FUN_02055720 +FUN_02055720: ; 0x02055720 push {r3, lr} cmp r1, #0x1 bne _0205572E mov r1, #0x8 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _0205572E: mov r1, #0x8 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_02055738 -sub_02055738: ; 0x02055738 + thumb_func_start FUN_02055738 +FUN_02055738: ; 0x02055738 push {r3, lr} mov r1, #0x8 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _02055748 mov r0, #0x1 @@ -158744,25 +158744,25 @@ _02055748: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205574C -sub_0205574C: ; 0x0205574C + thumb_func_start FUN_0205574C +FUN_0205574C: ; 0x0205574C push {r3, lr} cmp r1, #0x1 bne _0205575A mov r1, #0x10 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _0205575A: mov r1, #0x10 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_02055764 -sub_02055764: ; 0x02055764 + thumb_func_start FUN_02055764 +FUN_02055764: ; 0x02055764 push {r3, lr} mov r1, #0x10 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _02055774 mov r0, #0x1 @@ -158771,25 +158771,25 @@ _02055774: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02055778 -sub_02055778: ; 0x02055778 + thumb_func_start FUN_02055778 +FUN_02055778: ; 0x02055778 push {r3, lr} cmp r1, #0x1 bne _02055786 mov r1, #0x20 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _02055786: mov r1, #0x20 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_02055790 -sub_02055790: ; 0x02055790 + thumb_func_start FUN_02055790 +FUN_02055790: ; 0x02055790 push {r3, lr} mov r1, #0x20 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _020557A0 mov r0, #0x1 @@ -158798,27 +158798,27 @@ _020557A0: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020557A4 -sub_020557A4: ; 0x020557A4 - ldr r3, _020557AC ; =sub_020553EC + thumb_func_start FUN_020557A4 +FUN_020557A4: ; 0x020557A4 + ldr r3, _020557AC ; =FUN_020553EC mov r1, #0x40 bx r3 nop -_020557AC: .word sub_020553EC + 1 +_020557AC: .word FUN_020553EC + 1 - thumb_func_start sub_020557B0 -sub_020557B0: ; 0x020557B0 - ldr r3, _020557B8 ; =sub_020553F4 + thumb_func_start FUN_020557B0 +FUN_020557B0: ; 0x020557B0 + ldr r3, _020557B8 ; =FUN_020553F4 mov r1, #0x40 bx r3 nop -_020557B8: .word sub_020553F4 + 1 +_020557B8: .word FUN_020553F4 + 1 - thumb_func_start sub_020557BC -sub_020557BC: ; 0x020557BC + thumb_func_start FUN_020557BC +FUN_020557BC: ; 0x020557BC push {r3, lr} mov r1, #0x40 - bl sub_02055400 + bl FUN_02055400 cmp r0, #0x0 beq _020557CC mov r0, #0x1 @@ -158827,30 +158827,30 @@ _020557CC: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020557D0 -sub_020557D0: ; 0x020557D0 + thumb_func_start FUN_020557D0 +FUN_020557D0: ; 0x020557D0 push {r3, lr} cmp r1, #0x1 bne _020557DE mov r1, #0x80 - bl sub_020553EC + bl FUN_020553EC pop {r3, pc} _020557DE: mov r1, #0x80 - bl sub_020553F4 + bl FUN_020553F4 pop {r3, pc} .balign 4 - thumb_func_start sub_020557E8 -sub_020557E8: ; 0x020557E8 - ldr r3, _020557F0 ; =sub_02055400 + thumb_func_start FUN_020557E8 +FUN_020557E8: ; 0x020557E8 + ldr r3, _020557F0 ; =FUN_02055400 mov r1, #0x80 bx r3 nop -_020557F0: .word sub_02055400 + 1 +_020557F0: .word FUN_02055400 + 1 - thumb_func_start sub_020557F4 -sub_020557F4: ; 0x020557F4 + thumb_func_start FUN_020557F4 +FUN_020557F4: ; 0x020557F4 push {r3-r7, lr} add r7, r1, #0x0 mov r1, #0x0 @@ -158863,15 +158863,15 @@ sub_020557F4: ; 0x020557F4 add r2, sp, #0x8 ldrh r2, [r2, #0x10] add r1, r6, #0x0 - bl sub_02057060 + bl FUN_02057060 add r4, r0, #0x0 _02055812: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020563F0 + bl FUN_020563F0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020558A0 + bl FUN_020558A0 cmp r0, #0x0 beq _02055896 add r3, sp, #0x8 @@ -158879,36 +158879,36 @@ _02055812: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02055900 + bl FUN_02055900 add r0, r5, #0x0 - bl sub_021E5FE0 + bl FUN_021E5FE0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02055BD4 + bl FUN_02055BD4 cmp r0, #0x1 bne _0205584E add r0, r5, #0x0 - bl sub_021E7138 + bl FUN_021E7138 pop {r3-r7, pc} _0205584E: add r0, r5, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x0 bne _02055878 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020561D0 + bl FUN_020561D0 cmp r0, #0x0 beq _0205586C add r0, r5, #0x0 - bl sub_021E7138 + bl FUN_021E7138 b _02055878 _0205586C: ldr r0, [sp, #0x1c] cmp r0, #0x1 bne _02055878 add r0, r5, #0x0 - bl sub_021E70F0 + bl FUN_021E70F0 _02055878: add r0, sp, #0x8 ldrh r0, [r0, #0x10] @@ -158917,29 +158917,29 @@ _02055878: str r0, [sp, #0x0] add r0, r5, #0x0 add r3, r6, #0x0 - bl sub_02056110 + bl FUN_02056110 add r0, r5, #0x0 - bl sub_02055928 + bl FUN_02055928 add r0, r5, #0x0 - bl sub_02055968 + bl FUN_02055968 _02055896: pop {r3-r7, pc} - thumb_func_start sub_02055898 -sub_02055898: ; 0x02055898 - ldr r3, _0205589C ; =sub_020558A0 + thumb_func_start FUN_02055898 +FUN_02055898: ; 0x02055898 + ldr r3, _0205589C ; =FUN_020558A0 bx r3 .balign 4 -_0205589C: .word sub_020558A0 + 1 +_0205589C: .word FUN_020558A0 + 1 - thumb_func_start sub_020558A0 -sub_020558A0: ; 0x020558A0 + thumb_func_start FUN_020558A0 +FUN_020558A0: ; 0x020558A0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r6, r0, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _020558B8 mov r0, #0x1 @@ -158953,14 +158953,14 @@ _020558B8: pop {r4-r6, pc} _020558C4: add r0, r6, #0x0 - bl sub_020586F0 - bl sub_020570F0 + bl FUN_020586F0 + bl FUN_020570F0 cmp r0, #0x1 bne _020558FA add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02056B74 + bl FUN_02056B74 cmp r0, #0x0 bne _020558E4 mov r0, #0x1 @@ -158969,7 +158969,7 @@ _020558E4: cmp r0, #0x20 bne _020558F6 add r0, r5, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 bne _020558F6 mov r0, #0x1 @@ -158982,70 +158982,70 @@ _020558FA: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02055900 -sub_02055900: ; 0x02055900 + thumb_func_start FUN_02055900 +FUN_02055900: ; 0x02055900 push {r4-r6, lr} add r6, r3, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02057028 + bl FUN_02057028 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02057044 + bl FUN_02057044 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205543C + bl FUN_0205543C add r0, r5, #0x0 - bl sub_020557B0 + bl FUN_020557B0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02055928 -sub_02055928: ; 0x02055928 + thumb_func_start FUN_02055928 +FUN_02055928: ; 0x02055928 push {r4, lr} add r4, r0, #0x0 - bl sub_020557BC + bl FUN_020557BC cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 - bl sub_02055370 + bl FUN_02055370 cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020556C8 + bl FUN_020556C8 add r0, r4, #0x0 - bl sub_02055764 + bl FUN_02055764 cmp r0, #0x1 bne _02055964 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205574C + bl FUN_0205574C add r0, r4, #0x0 - bl sub_020553A0 + bl FUN_020553A0 mov r1, #0x0 - bl sub_02058A18 + bl FUN_02058A18 _02055964: pop {r4, pc} .balign 4 - thumb_func_start sub_02055968 -sub_02055968: ; 0x02055968 + thumb_func_start FUN_02055968 +FUN_02055968: ; 0x02055968 push {r4-r6, lr} add r4, r0, #0x0 - bl sub_02055370 + bl FUN_02055370 cmp r0, #0x1 bne _02055A20 add r0, r4, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 - bl sub_020586F0 - bl sub_0205B020 + bl FUN_020586F0 + bl FUN_0205B020 add r1, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -159055,61 +159055,61 @@ sub_02055968: ; 0x02055968 b _020559A6 _0205599C: add r0, r4, #0x0 - bl sub_02059C90 + bl FUN_02059C90 lsl r0, r0, #0x18 lsr r6, r0, #0x18 _020559A6: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02059B2C + bl FUN_02059B2C cmp r0, #0x1 bne _020559B8 ldr r0, _02055A24 ; =0x0000061F - bl sub_020054C8 + bl FUN_020054C8 _020559B8: add r0, r5, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 bne _020559C8 ldr r0, _02055A28 ; =0x00000641 - bl sub_020054C8 + bl FUN_020054C8 _020559C8: add r0, r5, #0x0 - bl sub_0205483C + bl FUN_0205483C cmp r0, #0x1 bne _020559D8 ldr r0, _02055A2C ; =0x00000642 - bl sub_020054C8 + bl FUN_020054C8 _020559D8: add r0, r5, #0x0 - bl sub_02054830 + bl FUN_02054830 add r0, r5, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 bne _020559F8 add r0, r5, #0x0 - bl sub_02054984 + bl FUN_02054984 cmp r0, #0x1 beq _020559F8 ldr r0, _02055A30 ; =0x00000655 - bl sub_020054C8 + bl FUN_020054C8 _020559F8: add r0, r4, #0x0 - bl sub_020586F0 - bl sub_020570F0 + bl FUN_020586F0 + bl FUN_020570F0 cmp r0, #0x0 bne _02055A20 add r0, r5, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 beq _02055A1A add r0, r6, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 bne _02055A20 _02055A1A: ldr r0, _02055A34 ; =0x00000653 - bl sub_020054C8 + bl FUN_020054C8 _02055A20: pop {r4-r6, pc} nop @@ -159119,36 +159119,36 @@ _02055A2C: .word 0x00000642 _02055A30: .word 0x00000655 _02055A34: .word 0x00000653 - thumb_func_start sub_02055A38 -sub_02055A38: ; 0x02055A38 + thumb_func_start FUN_02055A38 +FUN_02055A38: ; 0x02055A38 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02055370 + bl FUN_02055370 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02055378 + bl FUN_02055378 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 - bl sub_02055BEC + bl FUN_02055BEC cmp r0, #0x0 beq _02055A76 cmp r0, #0x5 beq _02055A76 add r0, r5, #0x0 mov r1, #0x2 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055A76: add r0, r7, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x0 bne _02055AC2 cmp r6, #0x0 @@ -159160,8 +159160,8 @@ _02055A76: pop {r3-r7, pc} _02055A8E: add r0, r7, #0x0 - bl sub_020586F0 - bl sub_020570F0 + bl FUN_020586F0 + bl FUN_020570F0 cmp r0, #0x1 beq _02055B10 cmp r4, #0x0 @@ -159171,21 +159171,21 @@ _02055A8E: _02055AA4: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055AAE: add r0, r5, #0x0 mov r1, #0x2 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055AB8: add r0, r5, #0x0 mov r1, #0x2 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055AC2: add r0, r7, #0x0 - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x1 bne _02055B10 cmp r6, #0x0 @@ -159202,12 +159202,12 @@ _02055ADA: bne _02055AEC add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055AEC: add r0, r5, #0x0 mov r1, #0x3 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055AF6: cmp r4, #0x0 @@ -159216,38 +159216,38 @@ _02055AF6: bne _02055B08 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 pop {r3-r7, pc} _02055B08: add r0, r5, #0x0 mov r1, #0x3 - bl sub_02055374 + bl FUN_02055374 _02055B10: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02055B14 -sub_02055B14: ; 0x02055B14 + thumb_func_start FUN_02055B14 +FUN_02055B14: ; 0x02055B14 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r4, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 add r0, r4, #0x0 - bl sub_02055410 + bl FUN_02055410 pop {r4, pc} .balign 4 - thumb_func_start sub_02055B30 -sub_02055B30: ; 0x02055B30 + thumb_func_start FUN_02055B30 +FUN_02055B30: ; 0x02055B30 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02055370 + bl FUN_02055370 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02055378 + bl FUN_02055378 cmp r4, #0x0 bne _02055B48 mov r0, #0x1 @@ -159269,17 +159269,17 @@ _02055B5C: pop {r3-r5, pc} _02055B60: add r0, r5, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _02055B74 mov r0, #0x1 pop {r3-r5, pc} _02055B74: add r0, r4, #0x0 - bl sub_020586F0 - bl sub_020570F0 + bl FUN_020586F0 + bl FUN_020570F0 cmp r0, #0x1 bne _02055B86 mov r0, #0x1 @@ -159289,69 +159289,69 @@ _02055B86: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02055B8C -sub_02055B8C: ; 0x02055B8C + thumb_func_start FUN_02055B8C +FUN_02055B8C: ; 0x02055B8C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r4, #0x0 mov r1, #0x0 - bl sub_02055374 + bl FUN_02055374 add r0, r4, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 add r1, r5, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r4, #0x0 - bl sub_0205AE80 + bl FUN_0205AE80 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0205ADDC + bl FUN_0205ADDC pop {r3-r5, pc} - thumb_func_start sub_02055BD4 -sub_02055BD4: ; 0x02055BD4 + thumb_func_start FUN_02055BD4 +FUN_02055BD4: ; 0x02055BD4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02055BEC + bl FUN_02055BEC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_02055C4C + bl FUN_02055C4C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02055BEC -sub_02055BEC: ; 0x02055BEC + thumb_func_start FUN_02055BEC +FUN_02055BEC: ; 0x02055BEC push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r4, #0x0 - bl sub_020553A0 - bl sub_02058720 + bl FUN_020553A0 + bl FUN_02058720 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_0205733C + bl FUN_0205733C cmp r0, #0x1 bne _02055C10 mov r0, #0x5 pop {r3-r7, pc} _02055C10: add r0, r5, #0x0 - bl sub_020556E0 + bl FUN_020556E0 cmp r0, #0x1 bne _02055C1E add r0, r4, #0x0 @@ -159382,8 +159382,8 @@ _02055C36: _02055C44: .word 0x020F5D34 _02055C48: .word 0x020F5D38 - thumb_func_start sub_02055C4C -sub_02055C4C: ; 0x02055C4C + thumb_func_start FUN_02055C4C +FUN_02055C4C: ; 0x02055C4C push {r3, lr} add r3, r1, #0x0 add r1, r2, #0x0 @@ -159401,57 +159401,57 @@ _02055C62: nop _02055C68: .word 0x020F5D1C - thumb_func_start sub_02055C6C -sub_02055C6C: ; 0x02055C6C + thumb_func_start FUN_02055C6C +FUN_02055C6C: ; 0x02055C6C push {r3, lr} - bl sub_02055FFC + bl FUN_02055FFC mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_02055C78 -sub_02055C78: ; 0x02055C78 + thumb_func_start FUN_02055C78 +FUN_02055C78: ; 0x02055C78 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056040 + bl FUN_02056040 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02056B74 + bl FUN_02056B74 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C ldr r0, [sp, #0x0] cmp r0, #0x0 beq _02055D28 add r0, r5, #0x0 - bl sub_02055FFC + bl FUN_02055FFC cmp r7, #0x1 beq _02055CCA add r0, r5, #0x0 mov r1, #0x1 - bl sub_020556C8 + bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x0 pop {r3-r7, pc} _02055CCA: add r0, r6, #0x0 - bl sub_02059E74 + bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02056B74 + bl FUN_02056B74 cmp r0, #0x0 beq _02055CE4 mov r0, #0x0 @@ -159460,45 +159460,45 @@ _02055CE4: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 - bl sub_02058410 + bl FUN_02058410 add r0, r6, #0x0 mov r1, #0x8 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_020556C8 + bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} _02055D28: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_020560A0 + bl FUN_020560A0 cmp r0, #0x0 bne _02055D8E add r0, r5, #0x0 - bl sub_02055FFC + bl FUN_02055FFC add r0, r6, #0x0 - bl sub_02059E74 + bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02056B74 + bl FUN_02056B74 cmp r0, #0x0 beq _02055D54 mov r0, #0x0 @@ -159507,84 +159507,84 @@ _02055D54: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 - bl sub_02058410 + bl FUN_02058410 add r0, r6, #0x0 mov r1, #0x8 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_020556C8 + bl FUN_020556C8 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C b _02055DA0 _02055D8E: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0x6 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020560D0 + bl FUN_020560D0 _02055DA0: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_02055DAC -sub_02055DAC: ; 0x02055DAC + thumb_func_start FUN_02055DAC +FUN_02055DAC: ; 0x02055DAC push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r6, r0, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r4, r0, #0x0 ldr r0, _02055EF4 ; =0x00000654 - bl sub_020054C8 + bl FUN_020054C8 cmp r4, #0x0 bne _02055E62 add r0, r5, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _02055DFE add r0, r5, #0x0 - bl sub_02055408 + bl FUN_02055408 cmp r0, #0x3 blt _02055DFE cmp r7, #0x0 bne _02055DFE add r0, r4, #0x0 mov r1, #0x15 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r3-r7, pc} _02055DFE: add r0, r4, #0x0 - bl sub_02059E74 + bl FUN_02059E74 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02056B74 + bl FUN_02056B74 cmp r0, #0x0 beq _02055E18 mov r0, #0x0 @@ -159593,90 +159593,90 @@ _02055E18: mov r1, #0x6 add r0, r6, #0x0 lsl r1, r1, #0x6 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x8 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x1 - bl sub_02055778 + bl FUN_02055778 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055E62: cmp r4, #0x1 bne _02055EF0 add r0, r5, #0x0 - bl sub_02055790 + bl FUN_02055790 cmp r0, #0x0 bne _02055EAC add r0, r4, #0x0 mov r1, #0x15 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 - bl sub_020554BC + bl FUN_020554BC cmp r0, #0x1 bne _02055E9C add r0, r5, #0x0 mov r1, #0x3 - bl sub_0205540C + bl FUN_0205540C _02055E9C: mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055EAC: mov r1, #0x6 add r0, r6, #0x0 lsl r1, r1, #0x6 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x8 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x1 - bl sub_02055778 + bl FUN_02055778 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C mov r0, #0x1 pop {r3-r7, pc} _02055EF0: @@ -159685,166 +159685,166 @@ _02055EF0: .balign 4 _02055EF4: .word 0x00000654 - thumb_func_start sub_02055EF8 -sub_02055EF8: ; 0x02055EF8 + thumb_func_start FUN_02055EF8 +FUN_02055EF8: ; 0x02055EF8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r0, r5, #0x0 - bl sub_020554BC + bl FUN_020554BC cmp r0, #0x1 bne _02055F22 ldr r0, _02055F40 ; =0x00000656 - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5f - bl sub_02056B5C + bl FUN_02056B5C b _02055F2C _02055F22: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5d - bl sub_02056B5C + bl FUN_02056B5C _02055F2C: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 - bl sub_020557D0 + bl FUN_020557D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02055F40: .word 0x00000656 - thumb_func_start sub_02055F44 -sub_02055F44: ; 0x02055F44 + thumb_func_start FUN_02055F44 +FUN_02055F44: ; 0x02055F44 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r0, r5, #0x0 - bl sub_020554BC + bl FUN_020554BC cmp r0, #0x1 bne _02055F6E ldr r0, _02055F8C ; =0x00000656 - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5e - bl sub_02056B5C + bl FUN_02056B5C b _02055F78 _02055F6E: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x5c - bl sub_02056B5C + bl FUN_02056B5C _02055F78: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C add r0, r5, #0x0 mov r1, #0x1 - bl sub_020557D0 + bl FUN_020557D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02055F8C: .word 0x00000656 - thumb_func_start sub_02055F90 -sub_02055F90: ; 0x02055F90 + thumb_func_start FUN_02055F90 +FUN_02055F90: ; 0x02055F90 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_02056B74 + bl FUN_02056B74 cmp r0, #0x0 bne _02055FCE mov r0, #0x1 mov r1, #0x14 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x3 - bl sub_0205540C + bl FUN_0205540C mov r0, #0x1 pop {r3-r5, pc} _02055FCE: mov r0, #0x1 add r1, r0, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r5, #0x0 mov r1, #0x0 - bl sub_020556F4 + bl FUN_020556F4 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02055FFC -sub_02055FFC: ; 0x02055FFC + thumb_func_start FUN_02055FFC +FUN_02055FFC: ; 0x02055FFC push {r4, lr} add r4, r0, #0x0 - bl sub_020556B4 + bl FUN_020556B4 cmp r0, #0x1 bne _0205603E add r0, r4, #0x0 - bl sub_020553A0 + bl FUN_020553A0 mov r1, #0x6 lsl r1, r1, #0x6 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_020557E8 + bl FUN_020557E8 cmp r0, #0x0 bne _02056026 add r0, r4, #0x0 - bl sub_02055410 + bl FUN_02055410 _02056026: add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205569C + bl FUN_0205569C add r0, r4, #0x0 mov r1, #0x0 - bl sub_020557D0 + bl FUN_020557D0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02055778 + bl FUN_02055778 _0205603E: pop {r4, pc} - thumb_func_start sub_02056040 -sub_02056040: ; 0x02056040 + thumb_func_start FUN_02056040 +FUN_02056040: ; 0x02056040 push {r4-r6, lr} sub sp, #0x18 add r5, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_02058738 + bl FUN_02058738 add r6, r0, #0x0 add r0, r4, #0x0 add r1, sp, #0xc - bl sub_02058B5C + bl FUN_02058B5C add r4, sp, #0xc add r3, sp, #0x0 ldmia r4!, {r0-r1} @@ -159856,10 +159856,10 @@ sub_02056040: ; 0x02056040 str r0, [r3, #0x0] add r0, r5, #0x0 lsl r2, r2, #0xe - bl sub_02059E28 + bl FUN_02059E28 add r0, r6, #0x0 add r1, sp, #0x0 - bl sub_02059E9C + bl FUN_02059E9C cmp r0, #0x0 beq _02056088 ldr r1, [sp, #0x4] @@ -159882,12 +159882,12 @@ _02056098: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020560A0 -sub_020560A0: ; 0x020560A0 + thumb_func_start FUN_020560A0 +FUN_020560A0: ; 0x020560A0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02055408 + bl FUN_02055408 add r1, r0, #0x0 cmp r4, #0x1 bne _020560B8 @@ -159904,21 +159904,21 @@ _020560B8: mov r1, #0x3 _020560C4: add r0, r5, #0x0 - bl sub_0205540C + bl FUN_0205540C mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020560D0 -sub_020560D0: ; 0x020560D0 + thumb_func_start FUN_020560D0 +FUN_020560D0: ; 0x020560D0 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r7, r0, #0x0 add r0, r5, #0x0 mov r4, #0x10 - bl sub_02055408 + bl FUN_02055408 cmp r0, #0x1 beq _020560F2 cmp r0, #0x2 @@ -159937,25 +159937,25 @@ _020560FA: _020560FC: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r7, pc} - thumb_func_start sub_02056110 -sub_02056110: ; 0x02056110 + thumb_func_start FUN_02056110 +FUN_02056110: ; 0x02056110 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0x8] add r5, r3, #0x0 - bl sub_020553C4 + bl FUN_020553C4 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r0, #0x0 cmp r4, #0x0 beq _02056136 @@ -159971,7 +159971,7 @@ _02056136: add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r6, #0x0 - bl sub_0205616C + bl FUN_0205616C add sp, #0xc pop {r4-r7, pc} _0205614C: @@ -159982,24 +159982,24 @@ _0205614C: add r2, r7, #0x0 str r0, [sp, #0x4] add r0, r6, #0x0 - bl sub_020563A8 + bl FUN_020563A8 add sp, #0xc pop {r4-r7, pc} _02056162: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205616C -sub_0205616C: ; 0x0205616C + thumb_func_start FUN_0205616C +FUN_0205616C: ; 0x0205616C push {r3-r6, lr} sub sp, #0x4 add r6, r3, #0x0 add r4, r1, #0x0 add r1, r6, #0x0 add r5, r0, #0x0 - bl sub_020561D0 + bl FUN_020561D0 cmp r0, #0x0 beq _0205618C cmp r0, #0x1 @@ -160016,7 +160016,7 @@ _0205618C: str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 - bl sub_02056288 + bl FUN_02056288 add sp, #0x4 pop {r3-r6, pc} _020561A2: @@ -160027,7 +160027,7 @@ _020561A2: str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 - bl sub_020562A8 + bl FUN_020562A8 add sp, #0x4 pop {r3-r6, pc} _020561B8: @@ -160038,27 +160038,27 @@ _020561B8: str r0, [sp, #0x0] ldrh r3, [r3, #0x10] add r0, r5, #0x0 - bl sub_02056384 + bl FUN_02056384 add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_020561D0 -sub_020561D0: ; 0x020561D0 + thumb_func_start FUN_020561D0 +FUN_020561D0: ; 0x020561D0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02056244 + bl FUN_02056244 add r4, r0, #0x0 - bl sub_020561EC + bl FUN_020561EC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020561EC -sub_020561EC: ; 0x020561EC + thumb_func_start FUN_020561EC +FUN_020561EC: ; 0x020561EC push {r3, lr} cmp r0, #0x0 beq _020561FC @@ -160077,31 +160077,31 @@ _02056204: mov r0, #0x2 pop {r3, pc} _02056208: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02056210 -sub_02056210: ; 0x02056210 + thumb_func_start FUN_02056210 +FUN_02056210: ; 0x02056210 push {r3-r5, lr} add r5, r1, #0x0 add r0, r5, #0x0 add r4, r2, #0x0 - bl sub_020549F0 + bl FUN_020549F0 cmp r0, #0x1 bne _02056224 mov r0, #0x4 pop {r3-r5, pc} _02056224: add r0, r5, #0x0 - bl sub_020549E4 + bl FUN_020549E4 cmp r0, #0x1 bne _02056232 mov r0, #0x8 pop {r3-r5, pc} _02056232: add r0, r5, #0x0 - bl sub_020549D8 + bl FUN_020549D8 cmp r0, #0x1 bne _0205623E mov r4, #0xc @@ -160110,8 +160110,8 @@ _0205623E: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02056244 -sub_02056244: ; 0x02056244 + thumb_func_start FUN_02056244 +FUN_02056244: ; 0x02056244 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 @@ -160120,56 +160120,56 @@ sub_02056244: ; 0x02056244 cmp r4, r1 bne _0205625C mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x0 pop {r3-r5, pc} _0205625C: - bl sub_020552F8 + bl FUN_020552F8 cmp r0, r4 beq _0205627A add r0, r5, #0x0 - bl sub_02055370 + bl FUN_02055370 cmp r0, #0x1 beq _0205627A add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x2 pop {r3-r5, pc} _0205627A: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02056288 -sub_02056288: ; 0x02056288 + thumb_func_start FUN_02056288 +FUN_02056288: ; 0x02056288 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020562A8 -sub_020562A8: ; 0x020562A8 + thumb_func_start FUN_020562A8 +FUN_020562A8: ; 0x020562A8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 str r2, [sp, #0x0] - bl sub_02056B74 + bl FUN_02056B74 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 beq _0205632A mov r0, #0x4 @@ -160185,40 +160185,40 @@ _020562CA: tst r0, r4 bne _020562DC ldr r0, _02056380 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _020562DC: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC b _0205636C _020562E6: add r0, r5, #0x0 mov r4, #0xc - bl sub_0205545C - bl sub_02055474 + bl FUN_0205545C + bl FUN_02055474 cmp r0, #0x1 bne _02056306 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 - bl sub_02057114 + bl FUN_02057114 cmp r0, #0x1 bne _02056306 mov r4, #0x58 _02056306: add r0, r6, #0x0 - bl sub_02058720 + bl FUN_02058720 add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 add r2, r4, #0x0 - bl sub_02056210 + bl FUN_02056210 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 b _0205636C _0205632A: cmp r4, #0x0 @@ -160227,18 +160227,18 @@ _0205632A: bne _02056356 _02056332: add r0, r6, #0x0 - bl sub_02058720 + bl FUN_02058720 add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 mov r2, #0xc - bl sub_02056210 + bl FUN_02056210 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 b _0205636C _02056356: mov r0, #0x8 @@ -160246,50 +160246,50 @@ _02056356: tst r0, r4 bne _02056364 ldr r0, _02056380 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _02056364: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC _0205636C: ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r7, pc} .balign 4 _02056380: .word 0x00000601 - thumb_func_start sub_02056384 -sub_02056384: ; 0x02056384 + thumb_func_start FUN_02056384 +FUN_02056384: ; 0x02056384 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 add r0, r6, #0x0 mov r1, #0x28 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC pop {r4-r6, pc} - thumb_func_start sub_020563A8 -sub_020563A8: ; 0x020563A8 + thumb_func_start FUN_020563A8 +FUN_020563A8: ; 0x020563A8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020554BC + bl FUN_020554BC cmp r0, #0x1 add r0, sp, #0x10 bne _020563D6 @@ -160301,7 +160301,7 @@ sub_020563A8: ; 0x020563A8 add r1, r4, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_020567E4 + bl FUN_020567E4 add sp, #0x8 pop {r3-r7, pc} _020563D6: @@ -160313,17 +160313,17 @@ _020563D6: add r1, r4, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_020564C8 + bl FUN_020564C8 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020563F0 -sub_020563F0: ; 0x020563F0 + thumb_func_start FUN_020563F0 +FUN_020563F0: ; 0x020563F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _0205642C mov r0, #0x2 @@ -160331,34 +160331,34 @@ sub_020563F0: ; 0x020563F0 beq _0205642C add r0, r5, #0x0 mov r4, #0x1 - bl sub_020554BC + bl FUN_020554BC cmp r0, #0x1 bne _02056412 mov r4, #0x0 _02056412: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020554AC + bl FUN_020554AC cmp r4, #0x0 bne _02056426 ldr r0, _02056430 ; =0x0000061C - bl sub_020054C8 + bl FUN_020054C8 pop {r3-r5, pc} _02056426: ldr r0, _02056434 ; =0x00000619 - bl sub_020054C8 + bl FUN_020054C8 _0205642C: pop {r3-r5, pc} nop _02056430: .word 0x0000061C _02056434: .word 0x00000619 - thumb_func_start sub_02056438 -sub_02056438: ; 0x02056438 + thumb_func_start FUN_02056438 +FUN_02056438: ; 0x02056438 push {r3-r5, lr} add r5, r1, #0x0 mov r4, #0x4c - bl sub_02055408 + bl FUN_02055408 cmp r0, #0x1 beq _02056450 cmp r0, #0x2 @@ -160377,26 +160377,26 @@ _02056458: _0205645A: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC pop {r3-r5, pc} - thumb_func_start sub_02056464 -sub_02056464: ; 0x02056464 + thumb_func_start FUN_02056464 +FUN_02056464: ; 0x02056464 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x1 mov r2, #0x3 - bl sub_0205541C + bl FUN_0205541C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0205570C + bl FUN_0205570C cmp r0, #0x0 bne _02056488 cmp r4, #0x2 blt _02056488 add r0, r5, #0x0 mov r1, #0x1 - bl sub_020556F4 + bl FUN_020556F4 _02056488: cmp r4, #0x3 bne _02056490 @@ -160406,12 +160406,12 @@ _02056490: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02056494 -sub_02056494: ; 0x02056494 + thumb_func_start FUN_02056494 +FUN_02056494: ; 0x02056494 push {r4-r6, lr} add r5, r0, #0x0 mov r6, #0x1 - bl sub_02055408 + bl FUN_02055408 sub r4, r0, #0x1 bpl _020564A6 mov r4, #0x0 @@ -160419,22 +160419,22 @@ sub_02056494: ; 0x02056494 _020564A6: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205540C + bl FUN_0205540C add r0, r5, #0x0 - bl sub_0205570C + bl FUN_0205570C cmp r0, #0x1 bne _020564C4 cmp r4, #0x0 bne _020564C4 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020556F4 + bl FUN_020556F4 _020564C4: add r0, r6, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020564C8 -sub_020564C8: ; 0x020564C8 + thumb_func_start FUN_020564C8 +FUN_020564C8: ; 0x020564C8 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 @@ -160443,7 +160443,7 @@ sub_020564C8: ; 0x020564C8 str r3, [sp, #0x4] ldr r5, [sp, #0x20] ldr r4, [sp, #0x24] - bl sub_0205653C + bl FUN_0205653C cmp r0, #0x3 bhi _02056538 add r0, r0, r0 @@ -160461,7 +160461,7 @@ sub_020564C8: ; 0x020564C8 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] - bl sub_020565F0 + bl FUN_020565F0 add sp, #0x8 pop {r3-r7, pc} _02056506: @@ -160473,22 +160473,22 @@ _02056538: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0205653C -sub_0205653C: ; 0x0205653C + thumb_func_start FUN_0205653C +FUN_0205653C: ; 0x0205653C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0205658C + bl FUN_0205658C add r4, r0, #0x0 - bl sub_02056558 + bl FUN_02056558 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02056558 -sub_02056558: ; 0x02056558 + thumb_func_start FUN_02056558 +FUN_02056558: ; 0x02056558 push {r3, lr} cmp r0, #0x3 bhi _02056582 @@ -160508,13 +160508,13 @@ _02056576: .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20 .byte 0x08, 0xBD _02056582: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0205658C -sub_0205658C: ; 0x0205658C + thumb_func_start FUN_0205658C +FUN_0205658C: ; 0x0205658C push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x0 @@ -160522,78 +160522,78 @@ sub_0205658C: ; 0x0205658C add r5, r0, #0x0 cmp r4, r1 bne _020565BA - bl sub_0205570C + bl FUN_0205570C cmp r0, #0x1 bne _020565AE add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _020565AE: add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x0 pop {r4-r6, pc} _020565BA: - bl sub_020552F8 + bl FUN_020552F8 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020556F4 + bl FUN_020556F4 cmp r6, r4 beq _020565E2 add r0, r5, #0x0 - bl sub_02055370 + bl FUN_02055370 cmp r0, #0x1 beq _020565E2 add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x2 pop {r4-r6, pc} _020565E2: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020565F0 -sub_020565F0: ; 0x020565F0 + thumb_func_start FUN_020565F0 +FUN_020565F0: ; 0x020565F0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 pop {r3-r5, pc} - thumb_func_start sub_02056614 -sub_02056614: ; 0x02056614 + thumb_func_start FUN_02056614 +FUN_02056614: ; 0x02056614 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 str r2, [sp, #0x0] - bl sub_02056B74 + bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056638 add r0, r5, #0x0 mov r7, #0x38 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 b _020566EA _02056638: mov r0, #0x10 @@ -160601,12 +160601,12 @@ _02056638: beq _02056656 add r0, r5, #0x0 mov r7, #0x50 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C b _020566EA _02056656: mov r0, #0x40 @@ -160614,17 +160614,17 @@ _02056656: beq _02056680 add r0, r6, #0x0 mov r7, #0x0 - bl sub_020584D4 + bl FUN_020584D4 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 sub r1, r7, #0x1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C b _020566EA _02056680: cmp r4, #0x0 @@ -160632,7 +160632,7 @@ _02056680: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020572EC + bl FUN_020572EC cmp r0, #0x0 bne _020566B0 mov r0, #0x8 @@ -160640,100 +160640,100 @@ _02056680: tst r0, r4 bne _020566A0 ldr r0, _02056700 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _020566A0: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _020566EA _020566B0: add r0, r6, #0x0 mov r7, #0x0 - bl sub_020584D4 + bl FUN_020584D4 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 sub r1, r7, #0x1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C b _020566EA _020566D4: add r0, r5, #0x0 mov r7, #0x50 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205540C + bl FUN_0205540C _020566EA: ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r7, pc} nop _02056700: .word 0x00000601 - thumb_func_start sub_02056704 -sub_02056704: ; 0x02056704 + thumb_func_start FUN_02056704 +FUN_02056704: ; 0x02056704 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02055410 + bl FUN_02055410 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020572EC + bl FUN_020572EC cmp r0, #0x1 beq _0205673E add r0, r6, #0x0 mov r1, #0x28 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 _0205673E: pop {r4-r6, pc} - thumb_func_start sub_02056740 -sub_02056740: ; 0x02056740 + thumb_func_start FUN_02056740 +FUN_02056740: ; 0x02056740 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 - bl sub_02056494 + bl FUN_02056494 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02055314 + bl FUN_02055314 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02056B74 + bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056774 add r0, r6, #0x0 mov r1, #0x38 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] b _020567C4 _02056774: @@ -160742,10 +160742,10 @@ _02056774: beq _0205678C add r0, r6, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _020567C4 _0205678C: cmp r4, #0x0 @@ -160754,24 +160754,24 @@ _0205678C: str r0, [sp, #0x0] add r0, r6, #0x0 mov r1, #0x1c - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] mov r0, #0x8 tst r0, r4 bne _020567AA ldr r0, _020567E0 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _020567AA: add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _020567C4 _020567BA: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056438 + bl FUN_02056438 str r0, [sp, #0x4] _020567C4: ldr r0, [sp, #0x0] @@ -160779,19 +160779,19 @@ _020567C4: bne _020567D2 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020556F4 + bl FUN_020556F4 _020567D2: ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add sp, #0x8 pop {r3-r7, pc} .balign 4 _020567E0: .word 0x00000601 - thumb_func_start sub_020567E4 -sub_020567E4: ; 0x020567E4 + thumb_func_start FUN_020567E4 +FUN_020567E4: ; 0x020567E4 push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 @@ -160800,7 +160800,7 @@ sub_020567E4: ; 0x020567E4 str r3, [sp, #0x4] ldr r5, [sp, #0x20] ldr r4, [sp, #0x24] - bl sub_02056858 + bl FUN_02056858 cmp r0, #0x3 bhi _02056854 add r0, r0, r0 @@ -160818,7 +160818,7 @@ sub_020567E4: ; 0x020567E4 add r1, r7, #0x0 add r3, r5, #0x0 str r4, [sp, #0x0] - bl sub_02056914 + bl FUN_02056914 add sp, #0x8 pop {r3-r7, pc} _02056822: @@ -160830,22 +160830,22 @@ _02056854: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02056858 -sub_02056858: ; 0x02056858 + thumb_func_start FUN_02056858 +FUN_02056858: ; 0x02056858 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020568A8 + bl FUN_020568A8 add r4, r0, #0x0 - bl sub_02056874 + bl FUN_02056874 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205536C + bl FUN_0205536C add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02056874 -sub_02056874: ; 0x02056874 + thumb_func_start FUN_02056874 +FUN_02056874: ; 0x02056874 push {r3, lr} cmp r0, #0x3 bhi _0205689E @@ -160864,17 +160864,17 @@ sub_02056874: ; 0x02056874 _02056892: .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x08, 0xBD _0205689E: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_020568A8 -sub_020568A8: ; 0x020568A8 + thumb_func_start FUN_020568A8 +FUN_020568A8: ; 0x020568A8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02055408 + bl FUN_02055408 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -160884,138 +160884,138 @@ sub_020568A8: ; 0x020568A8 bge _020568CC add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x0 pop {r4-r6, pc} _020568CC: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _020568D8: add r0, r5, #0x0 - bl sub_020552F8 + bl FUN_020552F8 cmp r0, r4 beq _02056908 add r0, r5, #0x0 - bl sub_02055370 + bl FUN_02055370 cmp r0, #0x1 beq _02056908 cmp r6, #0x2 bge _020568FC add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x2 pop {r4-r6, pc} _020568FC: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x3 pop {r4-r6, pc} _02056908: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205536C + bl FUN_0205536C mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_02056914 -sub_02056914: ; 0x02056914 + thumb_func_start FUN_02056914 +FUN_02056914: ; 0x02056914 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 pop {r3-r5, pc} - thumb_func_start sub_02056938 -sub_02056938: ; 0x02056938 + thumb_func_start FUN_02056938 +FUN_02056938: ; 0x02056938 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02056B74 + bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _0205696A add r0, r7, #0x0 mov r1, #0x38 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02056464 + bl FUN_02056464 add r0, r5, #0x0 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 b _02056A6C _0205696A: mov r0, #0x10 tst r0, r4 beq _020569BA add r0, r5, #0x0 - bl sub_02055408 + bl FUN_02055408 cmp r0, #0x3 blt _02056994 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02056438 + bl FUN_02056438 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205569C + bl FUN_0205569C b _02056A6C _02056994: add r0, r7, #0x0 mov r1, #0x1c - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x0] mov r0, #0x8 tst r0, r4 bne _020569AA ldr r0, _02056A78 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _020569AA: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _02056A6C _020569BA: mov r0, #0x40 tst r0, r4 beq _020569EC add r0, r6, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r4, r0, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C b _02056A6C _020569EC: cmp r4, #0x0 @@ -161023,113 +161023,113 @@ _020569EC: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020572EC + bl FUN_020572EC cmp r0, #0x0 bne _02056A24 add r0, r7, #0x0 mov r1, #0x1c - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x0] mov r0, #0x8 tst r0, r4 bne _02056A14 ldr r0, _02056A78 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _02056A14: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _02056A6C _02056A24: add r0, r6, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r4, r0, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x0] add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 mov r1, #0x0 mvn r1, r1 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0205543C + bl FUN_0205543C b _02056A6C _02056A50: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02056438 + bl FUN_02056438 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02056464 + bl FUN_02056464 add r0, r5, #0x0 - bl sub_020572D4 + bl FUN_020572D4 add r0, r5, #0x0 - bl sub_020557A4 + bl FUN_020557A4 _02056A6C: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r7, pc} .balign 4 _02056A78: .word 0x00000601 - thumb_func_start sub_02056A7C -sub_02056A7C: ; 0x02056A7C + thumb_func_start FUN_02056A7C +FUN_02056A7C: ; 0x02056A7C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02055410 + bl FUN_02055410 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020572EC + bl FUN_020572EC cmp r0, #0x1 beq _02056AB6 add r0, r6, #0x0 mov r1, #0x28 - bl sub_0205AFDC + bl FUN_0205AFDC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 _02056AB6: pop {r4-r6, pc} - thumb_func_start sub_02056AB8 -sub_02056AB8: ; 0x02056AB8 + thumb_func_start FUN_02056AB8 +FUN_02056AB8: ; 0x02056AB8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 - bl sub_02056494 + bl FUN_02056494 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02055314 + bl FUN_02055314 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02056B74 + bl FUN_02056B74 add r4, r0, #0x0 mov r0, #0x4 tst r0, r4 beq _02056AEC add r0, r6, #0x0 mov r1, #0x38 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] b _02056B3C _02056AEC: @@ -161138,10 +161138,10 @@ _02056AEC: beq _02056B04 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _02056B3C _02056B04: cmp r4, #0x0 @@ -161150,24 +161150,24 @@ _02056B04: str r0, [sp, #0x0] add r0, r6, #0x0 mov r1, #0x1c - bl sub_0205AFDC + bl FUN_0205AFDC str r0, [sp, #0x4] mov r0, #0x8 tst r0, r4 bne _02056B22 ldr r0, _02056B58 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 _02056B22: add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_02055410 + bl FUN_02055410 b _02056B3C _02056B32: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02056438 + bl FUN_02056438 str r0, [sp, #0x4] _02056B3C: ldr r0, [sp, #0x0] @@ -161175,38 +161175,38 @@ _02056B3C: bne _02056B4A add r0, r5, #0x0 mov r1, #0x0 - bl sub_020556F4 + bl FUN_020556F4 _02056B4A: ldr r2, [sp, #0x4] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02056B5C + bl FUN_02056B5C add sp, #0x8 pop {r3-r7, pc} .balign 4 _02056B58: .word 0x00000601 - thumb_func_start sub_02056B5C -sub_02056B5C: ; 0x02056B5C + thumb_func_start FUN_02056B5C +FUN_02056B5C: ; 0x02056B5C push {r3-r5, lr} add r4, r2, #0x0 add r5, r1, #0x0 add r1, r4, #0x0 - bl sub_02055460 + bl FUN_02055460 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205ADDC + bl FUN_0205ADDC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02056B74 -sub_02056B74: ; 0x02056B74 + thumb_func_start FUN_02056B74 +FUN_02056B74: ; 0x02056B74 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 mov r4, #0x0 - bl sub_02056C0C + bl FUN_02056C0C mov r1, #0xa str r0, [sp, #0x0] tst r0, r1 @@ -161216,7 +161216,7 @@ sub_02056B74: ; 0x02056B74 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056D58 + bl FUN_02056D58 cmp r0, #0x0 beq _02056BA0 mov r0, #0x8 @@ -161232,7 +161232,7 @@ _02056BAC: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056CCC + bl FUN_02056CCC cmp r0, #0x0 beq _02056BBE mov r0, #0x4 @@ -161241,7 +161241,7 @@ _02056BBE: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056E04 + bl FUN_02056E04 cmp r0, #0x1 bne _02056BD0 mov r0, #0x10 @@ -161250,7 +161250,7 @@ _02056BD0: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056E6C + bl FUN_02056E6C cmp r0, #0x1 bne _02056BE2 mov r0, #0x20 @@ -161259,7 +161259,7 @@ _02056BE2: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056EC8 + bl FUN_02056EC8 cmp r0, #0x1 bne _02056BF4 mov r0, #0x41 @@ -161268,7 +161268,7 @@ _02056BF4: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02056F78 + bl FUN_02056F78 cmp r0, #0x1 bne _02056C06 mov r0, #0x1 @@ -161278,30 +161278,30 @@ _02056C06: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02056C0C -sub_02056C0C: ; 0x02056C0C + thumb_func_start FUN_02056C0C +FUN_02056C0C: ; 0x02056C0C push {r3-r7, lr} sub sp, #0x28 add r5, r1, #0x0 str r2, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r7, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_02059BF4 + bl FUN_02059BF4 str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0xc] ldr r0, [sp, #0x4] - bl sub_02059C00 + bl FUN_02059C00 str r0, [sp, #0x10] add r0, r5, #0x0 add r1, sp, #0x1c - bl sub_02058B5C + bl FUN_02058B5C ldr r1, [sp, #0x14] ldr r6, [sp, #0xc] ldr r3, [sp, #0x10] @@ -161310,14 +161310,14 @@ sub_02056C0C: ; 0x02056C0C add r1, r7, r1 add r3, r6, r3 mov r4, #0x0 - bl sub_02059A08 + bl FUN_02059A08 cmp r0, #0x1 bne _02056C60 mov r0, #0x1 orr r4, r0 _02056C60: add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 ldr r2, [sp, #0x14] add r1, sp, #0x18 str r1, [sp, #0x0] @@ -161326,7 +161326,7 @@ _02056C60: add r1, sp, #0x1c add r2, r7, r2 add r3, r6, r3 - bl sub_0204A7C8 + bl FUN_0204A7C8 cmp r0, #0x1 bne _02056C90 mov r0, #0x2 @@ -161346,7 +161346,7 @@ _02056C90: ldr r3, [sp, #0x4] add r0, r5, #0x0 add r1, r7, r1 - bl sub_02059A60 + bl FUN_02059A60 cmp r0, #0x1 bne _02056CAA mov r0, #0x2 @@ -161359,7 +161359,7 @@ _02056CAA: ldr r2, [sp, #0x8] add r1, r7, r1 add r3, r5, r3 - bl sub_0205995C + bl FUN_0205995C cmp r0, #0x1 bne _02056CC4 mov r0, #0x4 @@ -161370,8 +161370,8 @@ _02056CC4: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02056CCC -sub_02056CCC: ; 0x02056CCC + thumb_func_start FUN_02056CCC +FUN_02056CCC: ; 0x02056CCC push {r3-r7, lr} mov r0, #0x0 add r4, r2, #0x0 @@ -161380,24 +161380,24 @@ sub_02056CCC: ; 0x02056CCC cmp r4, r0 beq _02056D54 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r2, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r5, r2 - bl sub_0204A6E0 + bl FUN_0204A6E0 cmp r4, #0x3 bhi _02056D54 add r1, r4, r4 @@ -161410,7 +161410,7 @@ sub_02056CCC: ; 0x02056CCC lsl r2, r2, #0 lsl r6, r3, #0 lsl r2, r5, #0 - bl sub_02054848 + bl FUN_02054848 cmp r0, #0x1 bne _02056D54 mov r0, #0x1 @@ -161423,8 +161423,8 @@ _02056D54: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02056D58 -sub_02056D58: ; 0x02056D58 + thumb_func_start FUN_02056D58 +FUN_02056D58: ; 0x02056D58 push {r3-r7, lr} mov r0, #0x0 add r4, r2, #0x0 @@ -161433,18 +161433,18 @@ sub_02056D58: ; 0x02056D58 cmp r4, r0 beq _02056E00 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x0] ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r5, r0, #0x0 cmp r4, #0x3 bhi _02056DD8 @@ -161458,45 +161458,45 @@ sub_02056D58: ; 0x02056D58 lsl r2, r2, #0 lsl r0, r4, #0 lsl r6, r5, #0 - bl sub_020547D4 + bl FUN_020547D4 cmp r0, #0x1 bne _02056DAE mov r0, #0x1 pop {r3-r7, pc} _02056DAE: add r0, r5, #0x0 - bl sub_020547E0 + bl FUN_020547E0 cmp r0, #0x1 bne _02056DBC mov r0, #0x1 pop {r3-r7, pc} _02056DBC: add r0, r5, #0x0 - bl sub_020547C8 + bl FUN_020547C8 cmp r0, #0x1 bne _02056DCA mov r0, #0x1 pop {r3-r7, pc} _02056DCA: add r0, r5, #0x0 - bl sub_020547BC + bl FUN_020547BC cmp r0, #0x1 bne _02056DD8 mov r0, #0x1 pop {r3-r7, pc} _02056DD8: add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, r5 add r2, r2, r3 - bl sub_0204A6E0 - bl sub_020547B0 + bl FUN_0204A6E0 + bl FUN_020547B0 cmp r0, #0x1 bne _02056E00 mov r0, #0x1 @@ -161505,8 +161505,8 @@ _02056E00: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02056E04 -sub_02056E04: ; 0x02056E04 + thumb_func_start FUN_02056E04 +FUN_02056E04: ; 0x02056E04 push {r3-r7, lr} mov r0, #0x0 add r5, r2, #0x0 @@ -161515,28 +161515,28 @@ sub_02056E04: ; 0x02056E04 cmp r5, r0 beq _02056E68 add r0, r4, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r2, r0, #0x0 ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r4, r2 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r4, r0, #0x0 cmp r5, #0x3 bne _02056E56 - bl sub_02054A24 + bl FUN_02054A24 cmp r0, #0x0 beq _02056E56 mov r0, #0x1 @@ -161545,7 +161545,7 @@ _02056E56: cmp r5, #0x2 bne _02056E68 add r0, r4, #0x0 - bl sub_02054A30 + bl FUN_02054A30 cmp r0, #0x0 beq _02056E68 mov r0, #0x1 @@ -161554,8 +161554,8 @@ _02056E68: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02056E6C -sub_02056E6C: ; 0x02056E6C + thumb_func_start FUN_02056E6C +FUN_02056E6C: ; 0x02056E6C push {r3-r7, lr} sub sp, #0x8 mov r0, #0x0 @@ -161565,28 +161565,28 @@ sub_02056E6C: ; 0x02056E6C cmp r4, r0 beq _02056EC2 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r2, r3 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02059AC4 + bl FUN_02059AC4 cmp r0, #0x0 beq _02056EC2 add sp, #0x8 @@ -161597,8 +161597,8 @@ _02056EC2: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02056EC8 -sub_02056EC8: ; 0x02056EC8 + thumb_func_start FUN_02056EC8 +FUN_02056EC8: ; 0x02056EC8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -161609,33 +161609,33 @@ sub_02056EC8: ; 0x02056EC8 cmp r4, r0 beq _02056F72 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r2, r0, #0x0 ldr r3, [sp, #0x8] ldr r0, [sp, #0x4] add r1, r6, r7 add r2, r3, r2 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _02056F54 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BB4 + bl FUN_02059BB4 cmp r0, #0x1 bne _02056F36 cmp r4, #0x1 @@ -161650,7 +161650,7 @@ _02056F30: _02056F36: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BD4 + bl FUN_02059BD4 cmp r0, #0x1 bne _02056F72 sub r0, r4, #0x2 @@ -161666,12 +161666,12 @@ _02056F4E: _02056F54: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BB4 + bl FUN_02059BB4 cmp r0, #0x1 beq _02056F6C add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BD4 + bl FUN_02059BD4 cmp r0, #0x1 bne _02056F72 _02056F6C: @@ -161683,8 +161683,8 @@ _02056F72: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02056F78 -sub_02056F78: ; 0x02056F78 + thumb_func_start FUN_02056F78 +FUN_02056F78: ; 0x02056F78 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -161693,33 +161693,33 @@ sub_02056F78: ; 0x02056F78 mvn r1, r1 cmp r4, r1 beq _0205701A - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _0205701A add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r3, r0, #0x0 ldr r2, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r6, r7 add r2, r2, r3 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059AC4 + bl FUN_02059AC4 cmp r0, #0x0 beq _02056FD8 add sp, #0x8 @@ -161728,7 +161728,7 @@ sub_02056F78: ; 0x02056F78 _02056FD8: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059B2C + bl FUN_02059B2C cmp r0, #0x0 beq _02056FEA add sp, #0x8 @@ -161736,7 +161736,7 @@ _02056FD8: pop {r3-r7, pc} _02056FEA: add r0, r4, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x0 beq _02056FFA add sp, #0x8 @@ -161744,7 +161744,7 @@ _02056FEA: pop {r3-r7, pc} _02056FFA: add r0, r4, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x0 beq _0205700A add sp, #0x8 @@ -161752,7 +161752,7 @@ _02056FFA: pop {r3-r7, pc} _0205700A: add r0, r4, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x0 beq _0205701A add sp, #0x8 @@ -161763,15 +161763,15 @@ _0205701A: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02057020 -sub_02057020: ; 0x02057020 - ldr r3, _02057024 ; =sub_02057060 + thumb_func_start FUN_02057020 +FUN_02057020: ; 0x02057020 + ldr r3, _02057024 ; =FUN_02057060 bx r3 .balign 4 -_02057024: .word sub_02057060 + 1 +_02057024: .word FUN_02057060 + 1 - thumb_func_start sub_02057028 -sub_02057028: ; 0x02057028 + thumb_func_start FUN_02057028 +FUN_02057028: ; 0x02057028 mov r1, #0x20 tst r1, r0 beq _02057032 @@ -161790,8 +161790,8 @@ _0205703E: bx lr .balign 4 - thumb_func_start sub_02057044 -sub_02057044: ; 0x02057044 + thumb_func_start FUN_02057044 +FUN_02057044: ; 0x02057044 mov r1, #0x40 tst r1, r0 beq _0205704E @@ -161810,16 +161810,16 @@ _0205705A: bx lr .balign 4 - thumb_func_start sub_02057060 -sub_02057060: ; 0x02057060 + thumb_func_start FUN_02057060 +FUN_02057060: ; 0x02057060 push {r3-r7, lr} add r5, r2, #0x0 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02057028 + bl FUN_02057028 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02057044 + bl FUN_02057044 mov r1, #0x0 mvn r1, r1 add r5, r0, #0x0 @@ -161831,13 +161831,13 @@ sub_02057060: ; 0x02057060 pop {r3-r7, pc} _02057086: add r0, r6, #0x0 - bl sub_02055314 + bl FUN_02055314 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_02055430 + bl FUN_02055430 str r0, [sp, #0x0] add r0, r6, #0x0 - bl sub_02055438 + bl FUN_02055438 mov r1, #0x0 mvn r1, r1 cmp r7, r1 @@ -161863,20 +161863,20 @@ _020570C0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020570C4 -sub_020570C4: ; 0x020570C4 + thumb_func_start FUN_020570C4 +FUN_020570C4: ; 0x020570C4 push {r4, lr} - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _020570D8 mov r0, #0x1 pop {r4, pc} _020570D8: add r0, r4, #0x0 - bl sub_020586F0 - bl sub_020570F0 + bl FUN_020586F0 + bl FUN_020570F0 cmp r0, #0x1 bne _020570EA mov r0, #0x1 @@ -161886,8 +161886,8 @@ _020570EA: pop {r4, pc} .balign 4 - thumb_func_start sub_020570F0 -sub_020570F0: ; 0x020570F0 + thumb_func_start FUN_020570F0 +FUN_020570F0: ; 0x020570F0 sub r0, #0x1c cmp r0, #0x3 bhi _0205710E @@ -161908,8 +161908,8 @@ _0205710E: bx lr .balign 4 - thumb_func_start sub_02057114 -sub_02057114: ; 0x02057114 + thumb_func_start FUN_02057114 +FUN_02057114: ; 0x02057114 mov r0, #0x2 tst r0, r1 beq _0205711E @@ -161920,10 +161920,10 @@ _0205711E: bx lr .balign 4 - thumb_func_start sub_02057124 -sub_02057124: ; 0x02057124 + thumb_func_start FUN_02057124 +FUN_02057124: ; 0x02057124 push {r3, lr} - bl sub_02055464 + bl FUN_02055464 sub r0, #0x58 cmp r0, #0x3 bhi _02057148 @@ -161943,12 +161943,12 @@ _02057148: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205714C -sub_0205714C: ; 0x0205714C + thumb_func_start FUN_0205714C +FUN_0205714C: ; 0x0205714C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x0 beq _02057162 cmp r0, #0x1 @@ -161958,59 +161958,59 @@ sub_0205714C: ; 0x0205714C _02057162: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02056244 - bl sub_020561EC + bl FUN_02056244 + bl FUN_020561EC add r4, r0, #0x0 b _0205718E _02057172: add r0, r5, #0x0 - bl sub_020554BC + bl FUN_020554BC add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020568A8 - bl sub_02056874 + bl FUN_020568A8 + bl FUN_02056874 add r4, r0, #0x0 b _0205718E _02057188: mov r4, #0x0 - bl sub_02020C2C + bl FUN_02020C2C _0205718E: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02057194 -sub_02057194: ; 0x02057194 + thumb_func_start FUN_02057194 +FUN_02057194: ; 0x02057194 push {r3-r7, lr} add r5, r0, #0x0 add r7, r2, #0x0 add r6, r3, #0x0 - bl sub_02057060 + bl FUN_02057060 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_0205714C + bl FUN_0205714C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205536C + bl FUN_0205536C cmp r4, #0x0 bne _020571C6 add r0, r5, #0x0 - bl sub_020552F8 + bl FUN_020552F8 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC pop {r3-r7, pc} _020571C6: cmp r4, #0x2 bne _020571D4 ldr r0, [sp, #0x0] mov r1, #0x28 - bl sub_0205AFDC + bl FUN_0205AFDC pop {r3-r7, pc} _020571D4: add r0, r5, #0x0 - bl sub_020553A0 + bl FUN_020553A0 ldr r0, [sp, #0x1c] mov r4, #0x4 add r1, r0, #0x0 @@ -162026,7 +162026,7 @@ _020571E8: tst r0, r1 bne _02057244 ldr r0, _02057250 ; =0x00000601 - bl sub_020054C8 + bl FUN_020054C8 b _02057244 _020571FC: cmp r6, #0x5 @@ -162055,98 +162055,98 @@ _02057230: bne _02057244 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02057114 + bl FUN_02057114 cmp r0, #0x1 bne _02057244 mov r4, #0x58 _02057244: ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC pop {r3-r7, pc} nop _02057250: .word 0x00000601 - thumb_func_start sub_02057254 -sub_02057254: ; 0x02057254 + thumb_func_start FUN_02057254 +FUN_02057254: ; 0x02057254 push {r3, lr} - bl sub_020553A0 - bl sub_0205AD98 + bl FUN_020553A0 + bl FUN_0205AD98 pop {r3, pc} - thumb_func_start sub_02057260 -sub_02057260: ; 0x02057260 + thumb_func_start FUN_02057260 +FUN_02057260: ; 0x02057260 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_02056B5C + bl FUN_02056B5C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02057278 -sub_02057278: ; 0x02057278 + thumb_func_start FUN_02057278 +FUN_02057278: ; 0x02057278 push {r4, lr} add r4, r1, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_02059C90 + bl FUN_02059C90 pop {r4, pc} - thumb_func_start sub_02057288 -sub_02057288: ; 0x02057288 + thumb_func_start FUN_02057288 +FUN_02057288: ; 0x02057288 push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] add r4, r2, #0x0 add r7, r3, #0x0 - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r0, r6, r0 str r0, [r4, #0x0] ldr r0, [sp, #0x0] - bl sub_0205532C + bl FUN_0205532C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r0, r4, r0 str r0, [r7, #0x0] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020572B8 -sub_020572B8: ; 0x020572B8 + thumb_func_start FUN_020572B8 +FUN_020572B8: ; 0x020572B8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02057288 + bl FUN_02057288 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020572D4 -sub_020572D4: ; 0x020572D4 + thumb_func_start FUN_020572D4 +FUN_020572D4: ; 0x020572D4 push {r3, lr} - bl sub_020553A0 - bl sub_02058738 + bl FUN_020553A0 + bl FUN_02058738 ldr r0, [r0, #0xc] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x5 - bl sub_0202A0E8 + bl FUN_0202A0E8 pop {r3, pc} - thumb_func_start sub_020572EC -sub_020572EC: ; 0x020572EC + thumb_func_start FUN_020572EC +FUN_020572EC: ; 0x020572EC push {r4-r6, lr} mov r0, #0x0 add r4, r2, #0x0 @@ -162155,12 +162155,12 @@ sub_020572EC: ; 0x020572EC cmp r4, r0 beq _02057336 add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BB4 + bl FUN_02059BB4 cmp r0, #0x1 bne _0205731C cmp r4, #0x1 @@ -162173,7 +162173,7 @@ _02057318: _0205731C: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059BD4 + bl FUN_02059BD4 cmp r0, #0x1 bne _02057336 sub r0, r4, #0x2 @@ -162189,8 +162189,8 @@ _02057336: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205733C -sub_0205733C: ; 0x0205733C + thumb_func_start FUN_0205733C +FUN_0205733C: ; 0x0205733C push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 @@ -162201,23 +162201,23 @@ sub_0205733C: ; 0x0205733C mov r0, #0x0 pop {r3-r5, pc} _0205734E: - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 beq _0205735A mov r0, #0x0 pop {r3-r5, pc} _0205735A: add r0, r5, #0x0 - bl sub_02055738 + bl FUN_02055738 cmp r0, #0x0 bne _02057368 mov r0, #0x0 pop {r3-r5, pc} _02057368: add r0, r5, #0x0 - bl sub_020553A0 + bl FUN_020553A0 add r1, r4, #0x0 - bl sub_02059B94 + bl FUN_02059B94 cmp r0, #0x1 bne _0205737C mov r0, #0x1 @@ -162226,66 +162226,66 @@ _0205737C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02057380 -sub_02057380: ; 0x02057380 + thumb_func_start FUN_02057380 +FUN_02057380: ; 0x02057380 push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 add r0, r5, #0x0 add r7, r2, #0x0 - bl sub_02057444 + bl FUN_02057444 add r4, r0, #0x0 add r1, r6, #0x0 - bl sub_020583E0 + bl FUN_020583E0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058364 + bl FUN_02058364 add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_02058398 + bl FUN_02058398 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020573AC -sub_020573AC: ; 0x020573AC + thumb_func_start FUN_020573AC +FUN_020573AC: ; 0x020573AC push {r4, lr} add r4, r0, #0x0 - bl sub_020583CC + bl FUN_020583CC add r1, r0, #0x0 mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0xb add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4, pc} .balign 4 - thumb_func_start sub_020573C8 -sub_020573C8: ; 0x020573C8 + thumb_func_start FUN_020573C8 +FUN_020573C8: ; 0x020573C8 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r5, r2, #0x0 str r3, [sp, #0x4] ldr r7, [sp, #0x20] - bl sub_02058368 + bl FUN_02058368 add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_020583CC + bl FUN_020583CC add r4, r0, #0x0 cmp r6, #0x0 beq _02057430 _020573E6: add r0, r4, #0x0 - bl sub_02058830 + bl FUN_02058830 cmp r0, #0x1 bne _02057426 ldr r2, [sp, #0x4] add r0, r4, #0x0 add r1, r5, #0x0 add r3, r7, #0x0 - bl sub_02057F90 + bl FUN_02057F90 cmp r0, #0x0 beq _02057408 cmp r0, #0x1 @@ -162294,17 +162294,17 @@ _020573E6: b _02057426 _02057408: add r0, r4, #0x0 - bl sub_02058450 + bl FUN_02058450 cmp r5, r0 beq _02057426 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xa - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _02057426 add r0, r4, #0x0 - bl sub_02057654 + bl FUN_02057654 _02057426: mov r0, #0x4a lsl r0, r0, #0x2 @@ -162313,126 +162313,126 @@ _02057426: bne _020573E6 _02057430: ldr r0, [sp, #0x0] - bl sub_020583A0 + bl FUN_020583A0 add r1, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_021F2AF4 + bl FUN_021F2AF4 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02057444 -sub_02057444: ; 0x02057444 + thumb_func_start FUN_02057444 +FUN_02057444: ; 0x02057444 push {r4-r6, lr} mov r1, #0x4b add r4, r0, #0x0 mov r0, #0xb lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 bne _0205745A - bl sub_02020C2C + bl FUN_02020C2C _0205745A: mov r2, #0x4b add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x4a lsl r0, r0, #0x2 add r6, r4, #0x0 mul r6, r0 mov r0, #0xb add r1, r6, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0205747E - bl sub_02020C2C + bl FUN_02020C2C _0205747E: add r0, r4, #0x0 mov r1, #0x0 add r2, r6, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020583B4 + bl FUN_020583B4 add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02057494 -sub_02057494: ; 0x02057494 + thumb_func_start FUN_02057494 +FUN_02057494: ; 0x02057494 push {r3-r7, lr} add r6, r1, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r7, r2, #0x0 - bl sub_02058BFC + bl FUN_02058BFC add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x0 bne _020574C8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_02057C98 + bl FUN_02057C98 add r4, r0, #0x0 beq _020574E8 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02058214 + bl FUN_02058214 add r0, r4, #0x0 pop {r3-r7, pc} _020574C8: add r0, r6, #0x0 - bl sub_02058CFC + bl FUN_02058CFC add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058010 + bl FUN_02058010 add r4, r0, #0x0 beq _020574E8 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02058258 + bl FUN_02058258 add r0, r4, #0x0 pop {r3-r7, pc} _020574E8: add r0, r5, #0x0 - bl sub_02057C64 + bl FUN_02057C64 add r4, r0, #0x0 beq _0205753A add r0, r5, #0x0 - bl sub_020583E8 + bl FUN_020583E8 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02057D2C + bl FUN_02057D2C add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02057E90 + bl FUN_02057E90 add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_0205844C + bl FUN_0205844C add r0, r4, #0x0 - bl sub_020581A4 + bl FUN_020581A4 add r0, r4, #0x0 - bl sub_020581B4 + bl FUN_020581B4 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02057CF0 + bl FUN_02057CF0 add r0, r5, #0x0 - bl sub_02058360 - bl sub_0205836C + bl FUN_02058360 + bl FUN_0205836C add r0, r4, #0x0 _0205753A: pop {r3-r7, pc} - thumb_func_start sub_0205753C -sub_0205753C: ; 0x0205753C + thumb_func_start FUN_0205753C +FUN_0205753C: ; 0x0205753C push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -162441,61 +162441,61 @@ sub_0205753C: ; 0x0205753C mov r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02058BF8 + bl FUN_02058BF8 ldr r1, [sp, #0x38] add r0, sp, #0x0 - bl sub_02058C00 + bl FUN_02058C00 ldr r1, [sp, #0x3c] add r0, sp, #0x0 - bl sub_02058C08 + bl FUN_02058C08 add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C10 + bl FUN_02058C10 add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C18 + bl FUN_02058C18 add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C20 + bl FUN_02058C20 add r0, sp, #0x0 add r1, r7, #0x0 - bl sub_02058C28 + bl FUN_02058C28 mov r1, #0x0 add r0, sp, #0x0 add r2, r1, #0x0 - bl sub_02058C34 + bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x1 - bl sub_02058C34 + bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 mov r2, #0x2 - bl sub_02058C34 + bl FUN_02058C34 add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C7C + bl FUN_02058C7C add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C88 + bl FUN_02058C88 add r0, sp, #0x0 add r1, r4, #0x0 - bl sub_02058C94 + bl FUN_02058C94 add r0, sp, #0x0 add r1, r6, #0x0 - bl sub_02058CA4 + bl FUN_02058CA4 add r0, sp, #0x0 mov r1, #0x0 - bl sub_02058C9C + bl FUN_02058C9C ldr r2, [sp, #0x40] add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02057494 + bl FUN_02057494 add sp, #0x20 pop {r3-r7, pc} - thumb_func_start sub_020575D4 -sub_020575D4: ; 0x020575D4 + thumb_func_start FUN_020575D4 +FUN_020575D4: ; 0x020575D4 push {r3-r7, lr} add r5, r0, #0x0 add r0, r1, #0x0 @@ -162503,165 +162503,165 @@ sub_020575D4: ; 0x020575D4 ldr r2, [sp, #0x18] add r7, r3, #0x0 mov r4, #0x0 - bl sub_02058CAC + bl FUN_02058CAC str r0, [sp, #0x0] cmp r0, #0x0 beq _02057610 - bl sub_02058C1C + bl FUN_02058C1C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020583E8 + bl FUN_020583E8 lsl r1, r6, #0x10 lsr r1, r1, #0x10 - bl sub_02039528 + bl FUN_02039528 cmp r0, #0x0 bne _02057610 ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, r7, #0x0 - bl sub_02057494 + bl FUN_02057494 add r4, r0, #0x0 _02057610: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02057614 -sub_02057614: ; 0x02057614 + thumb_func_start FUN_02057614 +FUN_02057614: ; 0x02057614 push {r4, lr} add r4, r0, #0x0 - bl sub_02058454 + bl FUN_02058454 add r0, r4, #0x0 - bl sub_02058148 + bl FUN_02058148 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_020581B4 + bl FUN_020581B4 pop {r4, pc} - thumb_func_start sub_02057634 -sub_02057634: ; 0x02057634 + thumb_func_start FUN_02057634 +FUN_02057634: ; 0x02057634 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _02057648 add r0, r5, #0x0 - bl sub_020576A8 + bl FUN_020576A8 _02057648: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02057614 + bl FUN_02057614 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02057654 -sub_02057654: ; 0x02057654 + thumb_func_start FUN_02057654 +FUN_02057654: ; 0x02057654 push {r4, lr} add r4, r0, #0x0 - bl sub_02058578 - bl sub_020587E0 + bl FUN_02058578 + bl FUN_020587E0 cmp r0, #0x1 bne _0205766A add r0, r4, #0x0 - bl sub_020586B4 + bl FUN_020586B4 _0205766A: add r0, r4, #0x0 - bl sub_02058660 + bl FUN_02058660 add r0, r4, #0x0 - bl sub_02058564 + bl FUN_02058564 add r0, r4, #0x0 - bl sub_02058580 - bl sub_02058374 + bl FUN_02058580 + bl FUN_02058374 add r0, r4, #0x0 - bl sub_02057F80 + bl FUN_02057F80 pop {r4, pc} - thumb_func_start sub_02057688 -sub_02057688: ; 0x02057688 + thumb_func_start FUN_02057688 +FUN_02057688: ; 0x02057688 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02058490 + bl FUN_02058490 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058738 + bl FUN_02058738 lsl r1, r5, #0x10 lsr r1, r1, #0x10 - bl sub_0203953C + bl FUN_0203953C add r0, r4, #0x0 - bl sub_02057654 + bl FUN_02057654 pop {r3-r5, pc} - thumb_func_start sub_020576A8 -sub_020576A8: ; 0x020576A8 + thumb_func_start FUN_020576A8 +FUN_020576A8: ; 0x020576A8 push {r4, lr} add r4, r0, #0x0 - bl sub_02058578 - bl sub_020587E0 + bl FUN_02058578 + bl FUN_020587E0 cmp r0, #0x1 bne _020576D6 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _020576CC add r0, r4, #0x0 - bl sub_020586B4 + bl FUN_020586B4 _020576CC: mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe - bl sub_02058418 + bl FUN_02058418 _020576D6: ldr r1, _02057708 ; =0x0000FFFF add r0, r4, #0x0 - bl sub_02058454 - ldr r1, _0205770C ; =sub_02058ED8 + bl FUN_02058454 + ldr r1, _0205770C ; =FUN_02058ED8 add r0, r4, #0x0 - bl sub_02058684 - ldr r1, _02057710 ; =sub_02058EDC + bl FUN_02058684 + ldr r1, _02057710 ; =FUN_02058EDC add r0, r4, #0x0 - bl sub_02058698 - ldr r1, _02057710 ; =sub_02058EDC + bl FUN_02058698 + ldr r1, _02057710 ; =FUN_02058EDC add r0, r4, #0x0 - bl sub_020586AC - ldr r1, _02057714 ; =sub_02058EE0 + bl FUN_020586AC + ldr r1, _02057714 ; =FUN_02058EE0 add r0, r4, #0x0 - bl sub_020586C0 - ldr r1, _02057718 ; =sub_02058EE4 + bl FUN_020586C0 + ldr r1, _02057718 ; =FUN_02058EE4 add r0, r4, #0x0 - bl sub_020586D4 + bl FUN_020586D4 pop {r4, pc} .balign 4 _02057708: .word 0x0000FFFF -_0205770C: .word sub_02058ED8 + 1 -_02057710: .word sub_02058EDC + 1 -_02057714: .word sub_02058EE0 + 1 -_02057718: .word sub_02058EE4 + 1 +_0205770C: .word FUN_02058ED8 + 1 +_02057710: .word FUN_02058EDC + 1 +_02057714: .word FUN_02058EE0 + 1 +_02057718: .word FUN_02058EE4 + 1 - thumb_func_start sub_0205771C -sub_0205771C: ; 0x0205771C + thumb_func_start FUN_0205771C +FUN_0205771C: ; 0x0205771C push {r3-r7, lr} add r5, r0, #0x0 mov r4, #0x0 - bl sub_02058368 + bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057734: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02057746 add r0, r5, #0x0 - bl sub_02057654 + bl FUN_02057654 _02057746: add r4, r4, #0x1 add r5, r5, r7 @@ -162669,40 +162669,40 @@ _02057746: blt _02057734 pop {r3-r7, pc} - thumb_func_start sub_02057750 -sub_02057750: ; 0x02057750 + thumb_func_start FUN_02057750 +FUN_02057750: ; 0x02057750 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020587E0 + bl FUN_020587E0 cmp r0, #0x1 beq _02057760 - bl sub_02020C2C + bl FUN_02020C2C _02057760: add r0, r5, #0x0 mov r4, #0x0 - bl sub_02058368 + bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057776: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205779C mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xe - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205779C add r0, r5, #0x0 - bl sub_020586C8 + bl FUN_020586C8 add r0, r5, #0x0 - bl sub_0205816C + bl FUN_0205816C _0205779C: add r4, r4, #0x1 add r5, r5, r7 @@ -162711,42 +162711,42 @@ _0205779C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020577A8 -sub_020577A8: ; 0x020577A8 + thumb_func_start FUN_020577A8 +FUN_020577A8: ; 0x020577A8 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020587E0 + bl FUN_020587E0 cmp r0, #0x1 beq _020577B8 - bl sub_02020C2C + bl FUN_02020C2C _020577B8: add r0, r5, #0x0 mov r4, #0x0 - bl sub_02058368 + bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _020577CE: add r0, r5, #0x0 - bl sub_02058830 + bl FUN_02058830 cmp r0, #0x1 bne _020577F6 add r0, r5, #0x0 - bl sub_02058884 + bl FUN_02058884 cmp r0, #0x1 bne _020577EA add r0, r5, #0x0 - bl sub_020586DC + bl FUN_020586DC b _020577F0 _020577EA: add r0, r5, #0x0 - bl sub_020581B4 + bl FUN_020581B4 _020577F0: add r0, r5, #0x0 - bl sub_02058148 + bl FUN_02058148 _020577F6: add r4, r4, #0x1 add r5, r5, r7 @@ -162754,8 +162754,8 @@ _020577F6: blt _020577CE pop {r3-r7, pc} - thumb_func_start sub_02057800 -sub_02057800: ; 0x02057800 + thumb_func_start FUN_02057800 +FUN_02057800: ; 0x02057800 push {r3-r7, lr} sub sp, #0x8 add r7, r0, #0x0 @@ -162768,25 +162768,25 @@ sub_02057800: ; 0x02057800 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 beq _02057846 _02057820: ldr r1, [sp, #0x0] add r0, r7, #0x0 add r2, r5, #0x0 - bl sub_02057894 + bl FUN_02057894 sub r4, r4, #0x1 add r5, #0x50 cmp r4, #0x0 bgt _02057836 - bl sub_02020C2C + bl FUN_02020C2C _02057836: add r0, r6, #0x0 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 bne _02057820 _02057846: @@ -162796,14 +162796,14 @@ _02057846: add r0, r5, #0x0 mov r1, #0x0 mul r2, r4 - blx sub_020DF4A4 + blx FUN_020DF4A4 _02057856: add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205785C -sub_0205785C: ; 0x0205785C + thumb_func_start FUN_0205785C +FUN_0205785C: ; 0x0205785C push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 @@ -162815,17 +162815,17 @@ _02057866: tst r0, r1 beq _0205788C add r0, r6, #0x0 - bl sub_02057C64 + bl FUN_02057C64 add r4, r0, #0x0 bne _0205787C - bl sub_02020C2C + bl FUN_02020C2C _0205787C: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020579C4 + bl FUN_020579C4 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02057AEC + bl FUN_02057AEC _0205788C: add r5, #0x50 sub r7, r7, #0x1 @@ -162833,111 +162833,111 @@ _0205788C: _02057892: pop {r3-r7, pc} - thumb_func_start sub_02057894 -sub_02057894: ; 0x02057894 + thumb_func_start FUN_02057894 +FUN_02057894: ; 0x02057894 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 add r0, r5, #0x0 - bl sub_0205840C + bl FUN_0205840C str r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02058440 + bl FUN_02058440 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_02058448 + bl FUN_02058448 strb r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_02058450 + bl FUN_02058450 strh r0, [r4, #0x10] add r0, r5, #0x0 - bl sub_02058458 + bl FUN_02058458 strh r0, [r4, #0x12] add r0, r5, #0x0 - bl sub_02058480 + bl FUN_02058480 strb r0, [r4, #0x9] add r0, r5, #0x0 - bl sub_02058488 + bl FUN_02058488 strh r0, [r4, #0x14] add r0, r5, #0x0 - bl sub_02058490 + bl FUN_02058490 strh r0, [r4, #0x16] add r0, r5, #0x0 - bl sub_02058498 + bl FUN_02058498 strh r0, [r4, #0x18] add r0, r5, #0x0 - bl sub_020584A0 + bl FUN_020584A0 strb r0, [r4, #0xc] add r0, r5, #0x0 - bl sub_020584C4 + bl FUN_020584C4 strb r0, [r4, #0xd] add r0, r5, #0x0 - bl sub_020584D4 + bl FUN_020584D4 strb r0, [r4, #0xe] add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 strh r0, [r4, #0x1a] add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058510 + bl FUN_02058510 strh r0, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x2 - bl sub_02058510 + bl FUN_02058510 strh r0, [r4, #0x1e] add r0, r5, #0x0 - bl sub_02058538 + bl FUN_02058538 strb r0, [r4, #0xa] add r0, r5, #0x0 - bl sub_02058540 + bl FUN_02058540 strb r0, [r4, #0xb] add r0, r5, #0x0 - bl sub_02058AFC + bl FUN_02058AFC strh r0, [r4, #0x20] add r0, r5, #0x0 - bl sub_02058B04 + bl FUN_02058B04 strh r0, [r4, #0x22] add r0, r5, #0x0 - bl sub_02058B0C + bl FUN_02058B0C strh r0, [r4, #0x24] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C strh r0, [r4, #0x26] add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C strh r0, [r4, #0x28] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C strh r0, [r4, #0x2a] mov r0, #0x26 mov r1, #0x2a ldrsh r0, [r4, r0] ldrsh r1, [r4, r1] add r2, sp, #0x0 - bl sub_02059E60 + bl FUN_02059E60 add r0, r5, #0x0 - bl sub_02058B80 + bl FUN_02058B80 str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058AE4 + bl FUN_02058AE4 add r2, r0, #0x0 add r0, r6, #0x0 add r1, sp, #0x0 - bl sub_02059EC8 + bl FUN_02059EC8 cmp r0, #0x0 bne _0205798E add r0, r5, #0x0 - bl sub_02058B80 + bl FUN_02058B80 b _02057990 _0205798E: ldr r0, [sp, #0x4] _02057990: str r0, [r4, #0x2c] add r0, r5, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r3, r4, #0x0 add r3, #0x30 mov r2, #0x10 @@ -162949,7 +162949,7 @@ _0205799E: sub r2, r2, #0x1 bne _0205799E add r0, r5, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, #0x40 mov r2, #0x10 _020579B4: @@ -162962,97 +162962,97 @@ _020579B4: add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_020579C4 -sub_020579C4: ; 0x020579C4 + thumb_func_start FUN_020579C4 +FUN_020579C4: ; 0x020579C4 push {r4-r5, lr} sub sp, #0xc add r4, r1, #0x0 ldr r1, [r4, #0x0] add r5, r0, #0x0 - bl sub_02058408 + bl FUN_02058408 ldr r1, [r4, #0x4] add r0, r5, #0x0 - bl sub_0205843C + bl FUN_0205843C ldrb r1, [r4, #0x8] add r0, r5, #0x0 - bl sub_02058444 + bl FUN_02058444 ldrh r1, [r4, #0x10] add r0, r5, #0x0 - bl sub_0205844C + bl FUN_0205844C ldrh r1, [r4, #0x12] add r0, r5, #0x0 - bl sub_02058454 + bl FUN_02058454 ldrb r1, [r4, #0x9] add r0, r5, #0x0 - bl sub_0205847C + bl FUN_0205847C ldrh r1, [r4, #0x14] add r0, r5, #0x0 - bl sub_02058484 + bl FUN_02058484 ldrh r1, [r4, #0x16] add r0, r5, #0x0 - bl sub_0205848C + bl FUN_0205848C ldrh r1, [r4, #0x18] add r0, r5, #0x0 - bl sub_02058494 + bl FUN_02058494 mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_0205849C + bl FUN_0205849C mov r1, #0xd ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_020584A4 + bl FUN_020584A4 mov r1, #0xe ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_020584CC + bl FUN_020584CC mov r1, #0x1a ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x0 - bl sub_020584EC + bl FUN_020584EC mov r1, #0x1c ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x1 - bl sub_020584EC + bl FUN_020584EC mov r1, #0x1e ldrsh r1, [r4, r1] add r0, r5, #0x0 mov r2, #0x2 - bl sub_020584EC + bl FUN_020584EC mov r1, #0xa ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058534 + bl FUN_02058534 mov r1, #0xb ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_0205853C + bl FUN_0205853C mov r1, #0x20 ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B00 + bl FUN_02058B00 mov r1, #0x22 ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B08 + bl FUN_02058B08 mov r1, #0x24 ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B10 + bl FUN_02058B10 mov r1, #0x26 ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B30 + bl FUN_02058B30 mov r1, #0x28 ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B40 + bl FUN_02058B40 mov r1, #0x2a ldrsh r1, [r4, r1] add r0, r5, #0x0 - bl sub_02058B50 + bl FUN_02058B50 add r1, sp, #0x0 mov r0, #0x0 str r0, [r1, #0x0] @@ -163061,9 +163061,9 @@ sub_020579C4: ; 0x020579C4 ldr r0, [r4, #0x2c] str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add r0, r5, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r3, r4, #0x0 add r3, #0x30 mov r2, #0x10 @@ -163075,7 +163075,7 @@ _02057AC4: sub r2, r2, #0x1 bne _02057AC4 add r0, r5, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, #0x40 mov r2, #0x10 _02057ADA: @@ -163089,59 +163089,59 @@ _02057ADA: pop {r4-r5, pc} .balign 4 - thumb_func_start sub_02057AEC -sub_02057AEC: ; 0x02057AEC + thumb_func_start FUN_02057AEC +FUN_02057AEC: ; 0x02057AEC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02057B34 + bl FUN_02057B34 add r0, r4, #0x0 - bl sub_02057B54 + bl FUN_02057B54 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058570 + bl FUN_02058570 add r0, r4, #0x0 - bl sub_02057EE0 + bl FUN_02057EE0 add r0, r4, #0x0 - bl sub_0205AE80 + bl FUN_0205AE80 add r0, r4, #0x0 - bl sub_020581B4 + bl FUN_020581B4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02057CF0 + bl FUN_02057CF0 add r0, r4, #0x0 - bl sub_0205866C + bl FUN_0205866C add r0, r5, #0x0 - bl sub_02058360 - bl sub_0205836C + bl FUN_02058360 + bl FUN_0205836C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02057B34 -sub_02057B34: ; 0x02057B34 + thumb_func_start FUN_02057B34 +FUN_02057B34: ; 0x02057B34 push {r4, lr} mov r1, #0x5 add r4, r0, #0x0 - bl sub_02058410 + bl FUN_02058410 ldr r1, _02057B50 ; =0x00EF4248 add r0, r4, #0x0 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_0205815C + bl FUN_0205815C pop {r4, pc} nop _02057B50: .word 0x00EF4248 - thumb_func_start sub_02057B54 -sub_02057B54: ; 0x02057B54 + thumb_func_start FUN_02057B54 +FUN_02057B54: ; 0x02057B54 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 add r1, sp, #0x0 - bl sub_02058B5C + bl FUN_02058B5C add r0, r4, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r1, r0, #0x0 mov r0, #0x2 lsl r2, r1, #0x10 @@ -163149,14 +163149,14 @@ sub_02057B54: ; 0x02057B54 add r0, r2, r0 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02058B18 + bl FUN_02058B18 add r0, r4, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B20 + bl FUN_02058B20 add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r1, r0, #0x0 mov r0, #0x2 lsl r2, r1, #0x10 @@ -163164,16 +163164,16 @@ sub_02057B54: ; 0x02057B54 add r0, r2, r0 str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02058B28 + bl FUN_02058B28 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02057BAC -sub_02057BAC: ; 0x02057BAC + thumb_func_start FUN_02057BAC +FUN_02057BAC: ; 0x02057BAC push {r3-r7, lr} sub sp, #0x8 add r5, r2, #0x0 @@ -163182,27 +163182,27 @@ sub_02057BAC: ; 0x02057BAC str r1, [sp, #0x0] cmp r5, #0x0 bne _02057BC0 - bl sub_02020C2C + bl FUN_02020C2C _02057BC0: lsl r0, r5, #0x5 str r0, [sp, #0x4] ldr r1, [sp, #0x4] mov r0, #0xb - bl sub_020169D8 + bl FUN_020169D8 add r6, r0, #0x0 bne _02057BD4 - bl sub_02020C2C + bl FUN_02020C2C _02057BD4: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0xb mov r1, #0x14 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 bne _02057BEE - bl sub_02020C2C + bl FUN_02020C2C _02057BEE: ldr r0, [sp, #0x0] str r0, [r4, #0x0] @@ -163212,39 +163212,39 @@ _02057BEE: str r7, [r4, #0xc] add r0, r4, #0x0 str r6, [r4, #0x10] - bl sub_02057C08 + bl FUN_02057C08 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02057C08 -sub_02057C08: ; 0x02057C08 + thumb_func_start FUN_02057C08 +FUN_02057C08: ; 0x02057C08 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_020583E8 + bl FUN_020583E8 add r6, r5, #0x0 ldr r4, [r5, #0x10] add r7, r0, #0x0 add r6, #0x8 _02057C1A: add r0, r4, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x1 beq _02057C30 ldrh r1, [r4, #0x8] add r0, r7, #0x0 - bl sub_02039528 + bl FUN_02039528 cmp r0, #0x0 bne _02057C42 _02057C30: ldr r0, [r5, #0xc] ldr r2, [r5, #0x0] add r1, r4, #0x0 - bl sub_02057494 + bl FUN_02057494 cmp r0, #0x0 bne _02057C42 - bl sub_02020C2C + bl FUN_02020C2C _02057C42: ldr r0, [r6, #0x0] add r4, #0x20 @@ -163256,28 +163256,28 @@ _02057C42: blt _02057C1A ldr r1, [r5, #0x10] mov r0, #0xb - bl sub_02016A8C + bl FUN_02016A8C mov r0, #0xb add r1, r5, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r3-r7, pc} - thumb_func_start sub_02057C64 -sub_02057C64: ; 0x02057C64 + thumb_func_start FUN_02057C64 +FUN_02057C64: ; 0x02057C64 push {r3-r7, lr} add r5, r0, #0x0 mov r4, #0x0 - bl sub_02058368 + bl FUN_02058368 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02057C7C: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _02057C8C add r0, r5, #0x0 @@ -163290,8 +163290,8 @@ _02057C8C: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02057C98 -sub_02057C98: ; 0x02057C98 + thumb_func_start FUN_02057C98 +FUN_02057C98: ; 0x02057C98 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -163302,21 +163302,21 @@ sub_02057C98: ; 0x02057C98 add r2, sp, #0x4 mov r3, #0x1 add r6, r0, #0x0 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 bne _02057CEA add r7, sp, #0x0 _02057CB6: ldr r0, [sp, #0x0] - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x1 bne _02057CDA ldr r0, [sp, #0x0] - bl sub_02058448 + bl FUN_02058448 cmp r5, r0 bne _02057CDA ldr r0, [sp, #0x0] - bl sub_02058750 + bl FUN_02058750 cmp r4, r0 bne _02057CDA ldr r0, [sp, #0x0] @@ -163327,7 +163327,7 @@ _02057CDA: add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 beq _02057CB6 _02057CEA: @@ -163335,14 +163335,14 @@ _02057CEA: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02057CF0 -sub_02057CF0: ; 0x02057CF0 + thumb_func_start FUN_02057CF0 +FUN_02057CF0: ; 0x02057CF0 push {r3-r5, lr} add r4, r1, #0x0 - bl sub_0205839C + bl FUN_0205839C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058480 + bl FUN_02058480 cmp r0, #0x30 beq _02057D08 cmp r0, #0x32 @@ -163350,110 +163350,110 @@ sub_02057CF0: ; 0x02057CF0 _02057D08: add r5, r5, #0x2 _02057D0A: - ldr r0, _02057D28 ; =sub_0205832C + ldr r0, _02057D28 ; =FUN_0205832C add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 add r5, r0, #0x0 bne _02057D1C - bl sub_02020C2C + bl FUN_02020C2C _02057D1C: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058554 + bl FUN_02058554 pop {r3-r5, pc} nop -_02057D28: .word sub_0205832C + 1 +_02057D28: .word FUN_0205832C + 1 - thumb_func_start sub_02057D2C -sub_02057D2C: ; 0x02057D2C + thumb_func_start FUN_02057D2C +FUN_02057D2C: ; 0x02057D2C push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 - bl sub_02058BFC + bl FUN_02058BFC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058444 + bl FUN_02058444 add r0, r4, #0x0 - bl sub_02058C04 + bl FUN_02058C04 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_02058170 + bl FUN_02058170 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058454 + bl FUN_02058454 add r0, r4, #0x0 - bl sub_02058C0C + bl FUN_02058C0C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205847C + bl FUN_0205847C add r0, r4, #0x0 - bl sub_02058C14 + bl FUN_02058C14 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058484 + bl FUN_02058484 add r0, r4, #0x0 - bl sub_02058C1C + bl FUN_02058C1C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205848C + bl FUN_0205848C add r0, r4, #0x0 - bl sub_02058C24 + bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058494 + bl FUN_02058494 add r0, r4, #0x0 - bl sub_02058C2C + bl FUN_02058C2C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205849C + bl FUN_0205849C add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058C58 + bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x0 - bl sub_020584EC + bl FUN_020584EC add r0, r4, #0x0 mov r1, #0x1 - bl sub_02058C58 + bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x1 - bl sub_020584EC + bl FUN_020584EC add r0, r4, #0x0 mov r1, #0x2 - bl sub_02058C58 + bl FUN_02058C58 add r1, r0, #0x0 add r0, r5, #0x0 mov r2, #0x2 - bl sub_020584EC + bl FUN_020584EC add r0, r4, #0x0 - bl sub_02058C80 + bl FUN_02058C80 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058534 + bl FUN_02058534 add r0, r4, #0x0 - bl sub_02058C8C + bl FUN_02058C8C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205853C + bl FUN_0205853C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02057DFC + bl FUN_02057DFC pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02057DFC -sub_02057DFC: ; 0x02057DFC + thumb_func_start FUN_02057DFC +FUN_02057DFC: ; 0x02057DFC push {r3-r6, lr} sub sp, #0xc add r6, r1, #0x0 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02058C98 + bl FUN_02058C98 add r5, r0, #0x0 mov r0, #0x2 lsl r1, r5, #0x10 @@ -163462,15 +163462,15 @@ sub_02057DFC: ; 0x02057DFC str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B00 + bl FUN_02058B00 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B18 + bl FUN_02058B18 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B30 + bl FUN_02058B30 add r0, r6, #0x0 - bl sub_02058CA0 + bl FUN_02058CA0 asr r1, r0, #0x3 str r0, [sp, #0x4] asr r0, r1, #0xb @@ -163479,15 +163479,15 @@ sub_02057DFC: ; 0x02057DFC asr r5, r0, #0xc add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B08 + bl FUN_02058B08 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B20 + bl FUN_02058B20 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B40 + bl FUN_02058B40 add r0, r6, #0x0 - bl sub_02058CA8 + bl FUN_02058CA8 add r5, r0, #0x0 mov r0, #0x2 lsl r1, r5, #0x10 @@ -163496,82 +163496,82 @@ sub_02057DFC: ; 0x02057DFC str r0, [sp, #0x8] add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B10 + bl FUN_02058B10 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B28 + bl FUN_02058B28 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02058B50 + bl FUN_02058B50 add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add sp, #0xc pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02057E90 -sub_02057E90: ; 0x02057E90 + thumb_func_start FUN_02057E90 +FUN_02057E90: ; 0x02057E90 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _02057EDC ; =0x00001801 add r5, r0, #0x0 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_020581F8 + bl FUN_020581F8 cmp r0, #0x1 bne _02057EAE add r0, r5, #0x0 mov r1, #0x1 - bl sub_020589B0 + bl FUN_020589B0 _02057EAE: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058570 + bl FUN_02058570 add r0, r5, #0x0 - bl sub_020584A0 + bl FUN_020584A0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_020584A4 + bl FUN_020584A4 add r0, r5, #0x0 - bl sub_020584A0 + bl FUN_020584A0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_0205AE80 + bl FUN_0205AE80 pop {r3-r5, pc} nop _02057EDC: .word 0x00001801 - thumb_func_start sub_02057EE0 -sub_02057EE0: ; 0x02057EE0 + thumb_func_start FUN_02057EE0 +FUN_02057EE0: ; 0x02057EE0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058480 - bl sub_02058D14 + bl FUN_02058480 + bl FUN_02058D14 add r4, r0, #0x0 - bl sub_02058D2C + bl FUN_02058D2C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058630 + bl FUN_02058630 add r0, r4, #0x0 - bl sub_02058D30 + bl FUN_02058D30 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058644 + bl FUN_02058644 add r0, r4, #0x0 - bl sub_02058D34 + bl FUN_02058D34 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058658 + bl FUN_02058658 pop {r3-r5, pc} - thumb_func_start sub_02057F18 -sub_02057F18: ; 0x02057F18 + thumb_func_start FUN_02057F18 +FUN_02057F18: ; 0x02057F18 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02058458 + bl FUN_02058458 mov r1, #0x2 lsl r1, r1, #0xc cmp r0, r1 @@ -163579,50 +163579,50 @@ sub_02057F18: ; 0x02057F18 ldr r5, _02057F7C ; =0x021F9080 b _02057F32 _02057F2C: - bl sub_02058D4C + bl FUN_02058D4C add r5, r0, #0x0 _02057F32: add r0, r5, #0x0 - bl sub_02058D38 + bl FUN_02058D38 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058684 + bl FUN_02058684 add r0, r5, #0x0 - bl sub_02058D3C + bl FUN_02058D3C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058698 + bl FUN_02058698 add r0, r5, #0x0 - bl sub_02058D40 + bl FUN_02058D40 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020586AC + bl FUN_020586AC add r0, r5, #0x0 - bl sub_02058D44 + bl FUN_02058D44 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020586C0 + bl FUN_020586C0 add r0, r5, #0x0 - bl sub_02058D48 + bl FUN_02058D48 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_020586D4 + bl FUN_020586D4 pop {r3-r5, pc} nop _02057F7C: .word 0x021F9080 - thumb_func_start sub_02057F80 -sub_02057F80: ; 0x02057F80 - ldr r3, _02057F8C ; =sub_020DF4A4 + thumb_func_start FUN_02057F80 +FUN_02057F80: ; 0x02057F80 + ldr r3, _02057F8C ; =FUN_020DF4A4 mov r2, #0x4a mov r1, #0x0 lsl r2, r2, #0x2 bx r3 nop -_02057F8C: .word sub_020DF4A4 +_02057F8C: .word FUN_020DF4A4 - thumb_func_start sub_02057F90 -sub_02057F90: ; 0x02057F90 + thumb_func_start FUN_02057F90 +FUN_02057F90: ; 0x02057F90 push {r3-r7, lr} add r6, r2, #0x0 add r5, r0, #0x0 @@ -163632,43 +163632,43 @@ sub_02057F90: ; 0x02057F90 beq _0205800A _02057F9E: add r0, r4, #0x0 - bl sub_02058BFC + bl FUN_02058BFC add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058448 + bl FUN_02058448 cmp r7, r0 bne _02058002 add r0, r4, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x1 bne _02057FE8 add r0, r4, #0x0 - bl sub_02058CFC + bl FUN_02058CFC add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x1 bne _02057FDA add r0, r5, #0x0 - bl sub_02058750 + bl FUN_02058750 cmp r7, r0 bne _02058002 mov r0, #0x1 pop {r3-r7, pc} _02057FDA: add r0, r5, #0x0 - bl sub_02058450 + bl FUN_02058450 cmp r7, r0 bne _02058002 mov r0, #0x2 pop {r3-r7, pc} _02057FE8: add r0, r5, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x1 bne _02058002 add r0, r5, #0x0 - bl sub_02058750 + bl FUN_02058750 ldr r1, [sp, #0x0] cmp r1, r0 bne _02058002 @@ -163684,8 +163684,8 @@ _0205800A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02058010 -sub_02058010: ; 0x02058010 + thumb_func_start FUN_02058010 +FUN_02058010: ; 0x02058010 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -163696,17 +163696,17 @@ sub_02058010: ; 0x02058010 add r2, sp, #0x4 mov r3, #0x1 add r6, r0, #0x0 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 bne _02058058 add r7, sp, #0x0 _0205802E: ldr r0, [sp, #0x0] - bl sub_02058448 + bl FUN_02058448 cmp r5, r0 bne _02058048 ldr r0, [sp, #0x0] - bl sub_02058450 + bl FUN_02058450 cmp r4, r0 bne _02058048 ldr r0, [sp, #0x0] @@ -163717,7 +163717,7 @@ _02058048: add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 beq _0205802E _02058058: @@ -163726,35 +163726,35 @@ _02058058: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02058060 -sub_02058060: ; 0x02058060 + thumb_func_start FUN_02058060 +FUN_02058060: ; 0x02058060 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 cmp r5, #0x0 bne _0205806E - bl sub_02020C2C + bl FUN_02020C2C _0205806E: add r0, r5, #0x0 - bl sub_02058368 + bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020583C4 + bl FUN_020583C4 mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _02058082: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 bne _020580A6 add r0, r5, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x0 bne _020580A6 add r0, r5, #0x0 - bl sub_02058448 + bl FUN_02058448 cmp r6, r0 bne _020580A6 add r0, r5, #0x0 @@ -163768,26 +163768,26 @@ _020580A6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020580B4 -sub_020580B4: ; 0x020580B4 + thumb_func_start FUN_020580B4 +FUN_020580B4: ; 0x020580B4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_02058368 + bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020583C4 + bl FUN_020583C4 mov r7, #0x4a add r5, r0, #0x0 lsl r7, r7, #0x2 _020580CC: add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 bne _020580E6 add r0, r5, #0x0 - bl sub_02058480 + bl FUN_02058480 cmp r6, r0 bne _020580E6 add r0, r5, #0x0 @@ -163801,14 +163801,14 @@ _020580E6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020580F4 -sub_020580F4: ; 0x020580F4 + thumb_func_start FUN_020580F4 +FUN_020580F4: ; 0x020580F4 push {r3-r7, lr} add r5, r2, #0x0 add r4, r0, #0x0 str r1, [sp, #0x0] add r6, r3, #0x0 - bl sub_02058368 + bl FUN_02058368 add r7, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, r7 @@ -163817,7 +163817,7 @@ sub_020580F4: ; 0x020580F4 pop {r3-r7, pc} _0205810E: add r0, r4, #0x0 - bl sub_020583C4 + bl FUN_020583C4 mov r1, #0x4a ldr r2, [r5, #0x0] lsl r1, r1, #0x2 @@ -163829,7 +163829,7 @@ _0205811E: add r0, r0, #0x1 str r0, [r5, #0x0] add r0, r4, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r6, r0 bne _02058138 ldr r0, [sp, #0x0] @@ -163846,33 +163846,33 @@ _02058138: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02058148 -sub_02058148: ; 0x02058148 + thumb_func_start FUN_02058148 +FUN_02058148: ; 0x02058148 push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 - bl sub_0205815C + bl FUN_0205815C pop {r4, pc} .balign 4 - thumb_func_start sub_0205815C -sub_0205815C: ; 0x0205815C - ldr r3, _02058164 ; =sub_02058418 + thumb_func_start FUN_0205815C +FUN_0205815C: ; 0x0205815C + ldr r3, _02058164 ; =FUN_02058418 ldr r1, _02058168 ; =0x05108000 bx r3 nop -_02058164: .word sub_02058418 + 1 +_02058164: .word FUN_02058418 + 1 _02058168: .word 0x05108000 - thumb_func_start sub_0205816C -sub_0205816C: ; 0x0205816C + thumb_func_start FUN_0205816C +FUN_0205816C: ; 0x0205816C bx lr .balign 4 - thumb_func_start sub_02058170 -sub_02058170: ; 0x02058170 + thumb_func_start FUN_02058170 +FUN_02058170: ; 0x02058170 push {r3, lr} cmp r1, #0x65 blt _02058186 @@ -163881,69 +163881,69 @@ sub_02058170: ; 0x02058170 sub r1, #0x65 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02039504 + bl FUN_02039504 add r1, r0, #0x0 _02058186: add r0, r1, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0205818C -sub_0205818C: ; 0x0205818C + thumb_func_start FUN_0205818C +FUN_0205818C: ; 0x0205818C push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xc add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _020581A2 add r0, r4, #0x0 - bl sub_02059D1C + bl FUN_02059D1C _020581A2: pop {r4, pc} - thumb_func_start sub_020581A4 -sub_020581A4: ; 0x020581A4 + thumb_func_start FUN_020581A4 +FUN_020581A4: ; 0x020581A4 push {r4, lr} add r4, r0, #0x0 - bl sub_02057EE0 + bl FUN_02057EE0 add r0, r4, #0x0 - bl sub_02058EE8 + bl FUN_02058EE8 pop {r4, pc} - thumb_func_start sub_020581B4 -sub_020581B4: ; 0x020581B4 + thumb_func_start FUN_020581B4 +FUN_020581B4: ; 0x020581B4 push {r4, lr} add r4, r0, #0x0 - bl sub_02058578 - bl sub_020587E0 + bl FUN_02058578 + bl FUN_020587E0 cmp r0, #0x0 beq _020581F6 add r0, r4, #0x0 - bl sub_0205818C + bl FUN_0205818C add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 mov r1, #0x0 - bl sub_021F2E0C + bl FUN_021F2E0C add r0, r4, #0x0 - bl sub_02058884 + bl FUN_02058884 cmp r0, #0x0 bne _020581F6 add r0, r4, #0x0 - bl sub_02057F18 + bl FUN_02057F18 add r0, r4, #0x0 - bl sub_0205868C + bl FUN_0205868C add r0, r4, #0x0 - bl sub_02058878 + bl FUN_02058878 _020581F6: pop {r4, pc} - thumb_func_start sub_020581F8 -sub_020581F8: ; 0x020581F8 + thumb_func_start FUN_020581F8 +FUN_020581F8: ; 0x020581F8 push {r3, lr} - bl sub_02058498 + bl FUN_02058498 lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _02058210 ; =0x0000FFFF @@ -163957,107 +163957,107 @@ _0205820C: .balign 4 _02058210: .word 0x0000FFFF - thumb_func_start sub_02058214 -sub_02058214: ; 0x02058214 + thumb_func_start FUN_02058214 +FUN_02058214: ; 0x02058214 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x1 beq _02058228 - bl sub_02020C2C + bl FUN_02020C2C _02058228: add r0, r5, #0x0 mov r1, #0x0 - bl sub_020589B0 + bl FUN_020589B0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0205844C + bl FUN_0205844C add r0, r4, #0x0 - bl sub_02058C24 + bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058494 + bl FUN_02058494 add r0, r4, #0x0 - bl sub_02058C1C + bl FUN_02058C1C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205848C + bl FUN_0205848C pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02058258 -sub_02058258: ; 0x02058258 + thumb_func_start FUN_02058258 +FUN_02058258: ; 0x02058258 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r4, r1, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x1 beq _0205826E - bl sub_02020C2C + bl FUN_02020C2C _0205826E: add r0, r5, #0x0 mov r1, #0x1 - bl sub_020589B0 + bl FUN_020589B0 add r0, r6, #0x0 - bl sub_02058C24 + bl FUN_02058C24 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058494 + bl FUN_02058494 add r0, r6, #0x0 - bl sub_02058CFC + bl FUN_02058CFC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205848C + bl FUN_0205848C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205844C + bl FUN_0205844C pop {r4-r6, pc} - thumb_func_start sub_0205829C -sub_0205829C: ; 0x0205829C + thumb_func_start FUN_0205829C +FUN_0205829C: ; 0x0205829C push {r4, lr} add r4, r1, #0x0 - bl sub_02058744 + bl FUN_02058744 add r0, r0, r4 pop {r4, pc} - thumb_func_start sub_020582A8 -sub_020582A8: ; 0x020582A8 + thumb_func_start FUN_020582A8 +FUN_020582A8: ; 0x020582A8 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _020582BE mov r0, #0x0 pop {r4-r6, pc} _020582BE: add r0, r5, #0x0 - bl sub_02058448 + bl FUN_02058448 cmp r6, r0 beq _020582CC mov r0, #0x0 pop {r4-r6, pc} _020582CC: add r0, r5, #0x0 - bl sub_02058450 + bl FUN_02058450 cmp r4, r0 beq _020582F2 add r0, r5, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x0 bne _020582E4 mov r0, #0x0 pop {r4-r6, pc} _020582E4: add r0, r5, #0x0 - bl sub_02058750 + bl FUN_02058750 cmp r4, r0 beq _020582F2 mov r0, #0x0 @@ -164067,22 +164067,22 @@ _020582F2: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020582F8 -sub_020582F8: ; 0x020582F8 + thumb_func_start FUN_020582F8 +FUN_020582F8: ; 0x020582F8 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x1 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _02058310 mov r0, #0x0 pop {r3-r7, pc} _02058310: add r0, r5, #0x0 - bl sub_0205845C + bl FUN_0205845C cmp r0, r4 beq _0205831E mov r0, #0x0 @@ -164091,76 +164091,76 @@ _0205831E: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020582A8 + bl FUN_020582A8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205832C -sub_0205832C: ; 0x0205832C + thumb_func_start FUN_0205832C +FUN_0205832C: ; 0x0205832C push {r4, lr} add r4, r1, #0x0 add r0, r4, #0x0 - bl sub_02058EF8 + bl FUN_02058EF8 add r0, r4, #0x0 - bl sub_02058830 + bl FUN_02058830 cmp r0, #0x0 beq _02058346 add r0, r4, #0x0 - bl sub_02058348 + bl FUN_02058348 _02058346: pop {r4, pc} - thumb_func_start sub_02058348 -sub_02058348: ; 0x02058348 + thumb_func_start FUN_02058348 +FUN_02058348: ; 0x02058348 push {r4, lr} add r4, r0, #0x0 - bl sub_02058578 - bl sub_020587E0 + bl FUN_02058578 + bl FUN_020587E0 cmp r0, #0x1 bne _0205835E add r0, r4, #0x0 - bl sub_021F1D8C + bl FUN_021F1D8C _0205835E: pop {r4, pc} - thumb_func_start sub_02058360 -sub_02058360: ; 0x02058360 + thumb_func_start FUN_02058360 +FUN_02058360: ; 0x02058360 bx lr .balign 4 - thumb_func_start sub_02058364 -sub_02058364: ; 0x02058364 + thumb_func_start FUN_02058364 +FUN_02058364: ; 0x02058364 str r1, [r0, #0x4] bx lr - thumb_func_start sub_02058368 -sub_02058368: ; 0x02058368 + thumb_func_start FUN_02058368 +FUN_02058368: ; 0x02058368 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_0205836C -sub_0205836C: ; 0x0205836C + thumb_func_start FUN_0205836C +FUN_0205836C: ; 0x0205836C ldr r1, [r0, #0x8] add r1, r1, #0x1 str r1, [r0, #0x8] bx lr - thumb_func_start sub_02058374 -sub_02058374: ; 0x02058374 + thumb_func_start FUN_02058374 +FUN_02058374: ; 0x02058374 ldr r1, [r0, #0x8] sub r1, r1, #0x1 str r1, [r0, #0x8] bx lr - thumb_func_start sub_0205837C -sub_0205837C: ; 0x0205837C + thumb_func_start FUN_0205837C +FUN_0205837C: ; 0x0205837C ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr - thumb_func_start sub_02058384 -sub_02058384: ; 0x02058384 + thumb_func_start FUN_02058384 +FUN_02058384: ; 0x02058384 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 @@ -164168,72 +164168,72 @@ sub_02058384: ; 0x02058384 bx lr .balign 4 - thumb_func_start sub_02058390 -sub_02058390: ; 0x02058390 + thumb_func_start FUN_02058390 +FUN_02058390: ; 0x02058390 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 - thumb_func_start sub_02058398 -sub_02058398: ; 0x02058398 + thumb_func_start FUN_02058398 +FUN_02058398: ; 0x02058398 str r1, [r0, #0xc] bx lr - thumb_func_start sub_0205839C -sub_0205839C: ; 0x0205839C + thumb_func_start FUN_0205839C +FUN_0205839C: ; 0x0205839C ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_020583A0 -sub_020583A0: ; 0x020583A0 + thumb_func_start FUN_020583A0 +FUN_020583A0: ; 0x020583A0 add r0, #0x18 bx lr - thumb_func_start sub_020583A4 -sub_020583A4: ; 0x020583A4 + thumb_func_start FUN_020583A4 +FUN_020583A4: ; 0x020583A4 mov r2, #0x12 lsl r2, r2, #0x4 str r1, [r0, r2] bx lr - thumb_func_start sub_020583AC -sub_020583AC: ; 0x020583AC + thumb_func_start FUN_020583AC +FUN_020583AC: ; 0x020583AC mov r1, #0x12 lsl r1, r1, #0x4 ldr r0, [r0, r1] bx lr - thumb_func_start sub_020583B4 -sub_020583B4: ; 0x020583B4 + thumb_func_start FUN_020583B4 +FUN_020583B4: ; 0x020583B4 mov r2, #0x49 lsl r2, r2, #0x2 str r1, [r0, r2] bx lr - thumb_func_start sub_020583BC -sub_020583BC: ; 0x020583BC + thumb_func_start FUN_020583BC +FUN_020583BC: ; 0x020583BC mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr - thumb_func_start sub_020583C4 -sub_020583C4: ; 0x020583C4 + thumb_func_start FUN_020583C4 +FUN_020583C4: ; 0x020583C4 mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr - thumb_func_start sub_020583CC -sub_020583CC: ; 0x020583CC + thumb_func_start FUN_020583CC +FUN_020583CC: ; 0x020583CC mov r1, #0x49 lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr - thumb_func_start sub_020583D4 -sub_020583D4: ; 0x020583D4 + thumb_func_start FUN_020583D4 +FUN_020583D4: ; 0x020583D4 mov r1, #0x4a ldr r2, [r0, #0x0] lsl r1, r1, #0x2 @@ -164241,57 +164241,57 @@ sub_020583D4: ; 0x020583D4 str r1, [r0, #0x0] bx lr - thumb_func_start sub_020583E0 -sub_020583E0: ; 0x020583E0 + thumb_func_start FUN_020583E0 +FUN_020583E0: ; 0x020583E0 mov r2, #0x4a lsl r2, r2, #0x2 str r1, [r0, r2] bx lr - thumb_func_start sub_020583E8 -sub_020583E8: ; 0x020583E8 + thumb_func_start FUN_020583E8 +FUN_020583E8: ; 0x020583E8 mov r1, #0x4a lsl r1, r1, #0x2 ldr r0, [r0, r1] bx lr - thumb_func_start sub_020583F0 -sub_020583F0: ; 0x020583F0 + thumb_func_start FUN_020583F0 +FUN_020583F0: ; 0x020583F0 str r1, [r0, #0x14] bx lr - thumb_func_start sub_020583F4 -sub_020583F4: ; 0x020583F4 + thumb_func_start FUN_020583F4 +FUN_020583F4: ; 0x020583F4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 bne _02058402 - bl sub_02020C2C + bl FUN_02020C2C _02058402: ldr r0, [r4, #0x14] pop {r4, pc} .balign 4 - thumb_func_start sub_02058408 -sub_02058408: ; 0x02058408 + thumb_func_start FUN_02058408 +FUN_02058408: ; 0x02058408 str r1, [r0, #0x0] bx lr - thumb_func_start sub_0205840C -sub_0205840C: ; 0x0205840C + thumb_func_start FUN_0205840C +FUN_0205840C: ; 0x0205840C ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_02058410 -sub_02058410: ; 0x02058410 + thumb_func_start FUN_02058410 +FUN_02058410: ; 0x02058410 ldr r2, [r0, #0x0] orr r1, r2 str r1, [r0, #0x0] bx lr - thumb_func_start sub_02058418 -sub_02058418: ; 0x02058418 + thumb_func_start FUN_02058418 +FUN_02058418: ; 0x02058418 ldr r2, [r0, #0x0] mvn r1, r1 and r1, r2 @@ -164299,15 +164299,15 @@ sub_02058418: ; 0x02058418 bx lr .balign 4 - thumb_func_start sub_02058424 -sub_02058424: ; 0x02058424 + thumb_func_start FUN_02058424 +FUN_02058424: ; 0x02058424 ldr r0, [r0, #0x0] and r0, r1 bx lr .balign 4 - thumb_func_start sub_0205842C -sub_0205842C: ; 0x0205842C + thumb_func_start FUN_0205842C +FUN_0205842C: ; 0x0205842C ldr r0, [r0, #0x0] tst r0, r1 beq _02058436 @@ -164318,127 +164318,127 @@ _02058436: bx lr .balign 4 - thumb_func_start sub_0205843C -sub_0205843C: ; 0x0205843C + thumb_func_start FUN_0205843C +FUN_0205843C: ; 0x0205843C str r1, [r0, #0x4] bx lr - thumb_func_start sub_02058440 -sub_02058440: ; 0x02058440 + thumb_func_start FUN_02058440 +FUN_02058440: ; 0x02058440 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02058444 -sub_02058444: ; 0x02058444 + thumb_func_start FUN_02058444 +FUN_02058444: ; 0x02058444 str r1, [r0, #0x8] bx lr - thumb_func_start sub_02058448 -sub_02058448: ; 0x02058448 + thumb_func_start FUN_02058448 +FUN_02058448: ; 0x02058448 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_0205844C -sub_0205844C: ; 0x0205844C + thumb_func_start FUN_0205844C +FUN_0205844C: ; 0x0205844C str r1, [r0, #0xc] bx lr - thumb_func_start sub_02058450 -sub_02058450: ; 0x02058450 + thumb_func_start FUN_02058450 +FUN_02058450: ; 0x02058450 ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02058454 -sub_02058454: ; 0x02058454 + thumb_func_start FUN_02058454 +FUN_02058454: ; 0x02058454 str r1, [r0, #0x10] bx lr - thumb_func_start sub_02058458 -sub_02058458: ; 0x02058458 + thumb_func_start FUN_02058458 +FUN_02058458: ; 0x02058458 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_0205845C -sub_0205845C: ; 0x0205845C + thumb_func_start FUN_0205845C +FUN_0205845C: ; 0x0205845C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058458 + bl FUN_02058458 add r4, r0, #0x0 - bl sub_0205C334 + bl FUN_0205C334 cmp r0, #0x1 bne _02058476 add r0, r5, #0x0 - bl sub_0205C340 + bl FUN_0205C340 add r4, r0, #0x0 _02058476: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205847C -sub_0205847C: ; 0x0205847C + thumb_func_start FUN_0205847C +FUN_0205847C: ; 0x0205847C str r1, [r0, #0x14] bx lr - thumb_func_start sub_02058480 -sub_02058480: ; 0x02058480 + thumb_func_start FUN_02058480 +FUN_02058480: ; 0x02058480 ldr r0, [r0, #0x14] bx lr - thumb_func_start sub_02058484 -sub_02058484: ; 0x02058484 + thumb_func_start FUN_02058484 +FUN_02058484: ; 0x02058484 str r1, [r0, #0x18] bx lr - thumb_func_start sub_02058488 -sub_02058488: ; 0x02058488 + thumb_func_start FUN_02058488 +FUN_02058488: ; 0x02058488 ldr r0, [r0, #0x18] bx lr - thumb_func_start sub_0205848C -sub_0205848C: ; 0x0205848C + thumb_func_start FUN_0205848C +FUN_0205848C: ; 0x0205848C str r1, [r0, #0x1c] bx lr - thumb_func_start sub_02058490 -sub_02058490: ; 0x02058490 + thumb_func_start FUN_02058490 +FUN_02058490: ; 0x02058490 ldr r0, [r0, #0x1c] bx lr - thumb_func_start sub_02058494 -sub_02058494: ; 0x02058494 + thumb_func_start FUN_02058494 +FUN_02058494: ; 0x02058494 str r1, [r0, #0x20] bx lr - thumb_func_start sub_02058498 -sub_02058498: ; 0x02058498 + thumb_func_start FUN_02058498 +FUN_02058498: ; 0x02058498 ldr r0, [r0, #0x20] bx lr - thumb_func_start sub_0205849C -sub_0205849C: ; 0x0205849C + thumb_func_start FUN_0205849C +FUN_0205849C: ; 0x0205849C str r1, [r0, #0x24] bx lr - thumb_func_start sub_020584A0 -sub_020584A0: ; 0x020584A0 + thumb_func_start FUN_020584A0 +FUN_020584A0: ; 0x020584A0 ldr r0, [r0, #0x24] bx lr - thumb_func_start sub_020584A4 -sub_020584A4: ; 0x020584A4 + thumb_func_start FUN_020584A4 +FUN_020584A4: ; 0x020584A4 ldr r2, [r0, #0x28] str r2, [r0, #0x30] str r1, [r0, #0x28] bx lr - thumb_func_start sub_020584AC -sub_020584AC: ; 0x020584AC + thumb_func_start FUN_020584AC +FUN_020584AC: ; 0x020584AC push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x80 add r5, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _020584C2 ldr r0, [r5, #0x28] @@ -164447,41 +164447,41 @@ sub_020584AC: ; 0x020584AC _020584C2: pop {r3-r5, pc} - thumb_func_start sub_020584C4 -sub_020584C4: ; 0x020584C4 + thumb_func_start FUN_020584C4 +FUN_020584C4: ; 0x020584C4 ldr r0, [r0, #0x28] bx lr - thumb_func_start sub_020584C8 -sub_020584C8: ; 0x020584C8 + thumb_func_start FUN_020584C8 +FUN_020584C8: ; 0x020584C8 ldr r0, [r0, #0x30] bx lr - thumb_func_start sub_020584CC -sub_020584CC: ; 0x020584CC + thumb_func_start FUN_020584CC +FUN_020584CC: ; 0x020584CC ldr r2, [r0, #0x2c] str r2, [r0, #0x34] str r1, [r0, #0x2c] bx lr - thumb_func_start sub_020584D4 -sub_020584D4: ; 0x020584D4 + thumb_func_start FUN_020584D4 +FUN_020584D4: ; 0x020584D4 ldr r0, [r0, #0x2c] bx lr - thumb_func_start sub_020584D8 -sub_020584D8: ; 0x020584D8 + thumb_func_start FUN_020584D8 +FUN_020584D8: ; 0x020584D8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020584CC + bl FUN_020584CC pop {r3-r5, pc} - thumb_func_start sub_020584EC -sub_020584EC: ; 0x020584EC + thumb_func_start FUN_020584EC +FUN_020584EC: ; 0x020584EC push {r3, lr} cmp r2, #0x0 beq _020584FC @@ -164500,12 +164500,12 @@ _02058504: str r1, [r0, #0x40] pop {r3, pc} _02058508: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 - thumb_func_start sub_02058510 -sub_02058510: ; 0x02058510 + thumb_func_start FUN_02058510 +FUN_02058510: ; 0x02058510 push {r3, lr} cmp r1, #0x0 beq _02058520 @@ -164524,195 +164524,195 @@ _02058528: ldr r0, [r0, #0x40] pop {r3, pc} _0205852C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02058534 -sub_02058534: ; 0x02058534 + thumb_func_start FUN_02058534 +FUN_02058534: ; 0x02058534 str r1, [r0, #0x44] bx lr - thumb_func_start sub_02058538 -sub_02058538: ; 0x02058538 + thumb_func_start FUN_02058538 +FUN_02058538: ; 0x02058538 ldr r0, [r0, #0x44] bx lr - thumb_func_start sub_0205853C -sub_0205853C: ; 0x0205853C + thumb_func_start FUN_0205853C +FUN_0205853C: ; 0x0205853C str r1, [r0, #0x48] bx lr - thumb_func_start sub_02058540 -sub_02058540: ; 0x02058540 + thumb_func_start FUN_02058540 +FUN_02058540: ; 0x02058540 ldr r0, [r0, #0x48] bx lr - thumb_func_start sub_02058544 -sub_02058544: ; 0x02058544 + thumb_func_start FUN_02058544 +FUN_02058544: ; 0x02058544 add r0, #0xa0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0205854C -sub_0205854C: ; 0x0205854C + thumb_func_start FUN_0205854C +FUN_0205854C: ; 0x0205854C add r0, #0xa0 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058554 -sub_02058554: ; 0x02058554 + thumb_func_start FUN_02058554 +FUN_02058554: ; 0x02058554 add r0, #0xb0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0205855C -sub_0205855C: ; 0x0205855C + thumb_func_start FUN_0205855C +FUN_0205855C: ; 0x0205855C add r0, #0xb0 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058564 -sub_02058564: ; 0x02058564 + thumb_func_start FUN_02058564 +FUN_02058564: ; 0x02058564 push {r3, lr} - bl sub_0205855C - bl sub_0200CAB4 + bl FUN_0205855C + bl FUN_0200CAB4 pop {r3, pc} - thumb_func_start sub_02058570 -sub_02058570: ; 0x02058570 + thumb_func_start FUN_02058570 +FUN_02058570: ; 0x02058570 add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058578 -sub_02058578: ; 0x02058578 + thumb_func_start FUN_02058578 +FUN_02058578: ; 0x02058578 add r0, #0xb4 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058580 -sub_02058580: ; 0x02058580 - ldr r3, _02058588 ; =sub_02058360 + thumb_func_start FUN_02058580 +FUN_02058580: ; 0x02058580 + ldr r3, _02058588 ; =FUN_02058360 add r0, #0xb4 ldr r0, [r0, #0x0] bx r3 .balign 4 -_02058588: .word sub_02058360 + 1 +_02058588: .word FUN_02058360 + 1 - thumb_func_start sub_0205858C -sub_0205858C: ; 0x0205858C + thumb_func_start FUN_0205858C +FUN_0205858C: ; 0x0205858C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _0205859A - bl sub_02020C2C + bl FUN_02020C2C _0205859A: add r0, r4, #0x0 - bl sub_020585B0 + bl FUN_020585B0 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020585B0 -sub_020585B0: ; 0x020585B0 + thumb_func_start FUN_020585B0 +FUN_020585B0: ; 0x020585B0 add r0, #0xd8 bx lr - thumb_func_start sub_020585B4 -sub_020585B4: ; 0x020585B4 + thumb_func_start FUN_020585B4 +FUN_020585B4: ; 0x020585B4 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _020585C2 - bl sub_02020C2C + bl FUN_02020C2C _020585C2: add r0, r4, #0x0 - bl sub_020585D8 + bl FUN_020585D8 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020585D8 -sub_020585D8: ; 0x020585D8 + thumb_func_start FUN_020585D8 +FUN_020585D8: ; 0x020585D8 add r0, #0xe8 bx lr - thumb_func_start sub_020585DC -sub_020585DC: ; 0x020585DC + thumb_func_start FUN_020585DC +FUN_020585DC: ; 0x020585DC push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x10 ble _020585EA - bl sub_02020C2C + bl FUN_02020C2C _020585EA: add r0, r4, #0x0 - bl sub_02058600 + bl FUN_02058600 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02058600 -sub_02058600: ; 0x02058600 + thumb_func_start FUN_02058600 +FUN_02058600: ; 0x02058600 add r0, #0xf8 bx lr - thumb_func_start sub_02058604 -sub_02058604: ; 0x02058604 + thumb_func_start FUN_02058604 +FUN_02058604: ; 0x02058604 push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 cmp r5, #0x20 ble _02058612 - bl sub_02020C2C + bl FUN_02020C2C _02058612: add r0, r4, #0x0 - bl sub_02058628 + bl FUN_02058628 mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02058628 -sub_02058628: ; 0x02058628 + thumb_func_start FUN_02058628 +FUN_02058628: ; 0x02058628 mov r1, #0x42 lsl r1, r1, #0x2 add r0, r0, r1 bx lr - thumb_func_start sub_02058630 -sub_02058630: ; 0x02058630 + thumb_func_start FUN_02058630 +FUN_02058630: ; 0x02058630 add r0, #0xb8 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058638 -sub_02058638: ; 0x02058638 + thumb_func_start FUN_02058638 +FUN_02058638: ; 0x02058638 push {r3, lr} add r1, r0, #0x0 add r1, #0xb8 @@ -164720,15 +164720,15 @@ sub_02058638: ; 0x02058638 blx r1 pop {r3, pc} - thumb_func_start sub_02058644 -sub_02058644: ; 0x02058644 + thumb_func_start FUN_02058644 +FUN_02058644: ; 0x02058644 add r0, #0xbc str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0205864C -sub_0205864C: ; 0x0205864C + thumb_func_start FUN_0205864C +FUN_0205864C: ; 0x0205864C push {r3, lr} add r1, r0, #0x0 add r1, #0xbc @@ -164736,15 +164736,15 @@ sub_0205864C: ; 0x0205864C blx r1 pop {r3, pc} - thumb_func_start sub_02058658 -sub_02058658: ; 0x02058658 + thumb_func_start FUN_02058658 +FUN_02058658: ; 0x02058658 add r0, #0xc0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058660 -sub_02058660: ; 0x02058660 + thumb_func_start FUN_02058660 +FUN_02058660: ; 0x02058660 push {r3, lr} add r1, r0, #0x0 add r1, #0xc0 @@ -164752,12 +164752,12 @@ sub_02058660: ; 0x02058660 blx r1 pop {r3, pc} - thumb_func_start sub_0205866C -sub_0205866C: ; 0x0205866C + thumb_func_start FUN_0205866C +FUN_0205866C: ; 0x0205866C push {r4, lr} add r4, r0, #0x0 - bl sub_02058480 - bl sub_02058D14 + bl FUN_02058480 + bl FUN_02058D14 add r1, r0, #0x0 ldr r1, [r1, #0x10] add r0, r4, #0x0 @@ -164765,15 +164765,15 @@ sub_0205866C: ; 0x0205866C pop {r4, pc} .balign 4 - thumb_func_start sub_02058684 -sub_02058684: ; 0x02058684 + thumb_func_start FUN_02058684 +FUN_02058684: ; 0x02058684 add r0, #0xc4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0205868C -sub_0205868C: ; 0x0205868C + thumb_func_start FUN_0205868C +FUN_0205868C: ; 0x0205868C push {r3, lr} add r1, r0, #0x0 add r1, #0xc4 @@ -164781,15 +164781,15 @@ sub_0205868C: ; 0x0205868C blx r1 pop {r3, pc} - thumb_func_start sub_02058698 -sub_02058698: ; 0x02058698 + thumb_func_start FUN_02058698 +FUN_02058698: ; 0x02058698 add r0, #0xc8 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586A0 -sub_020586A0: ; 0x020586A0 + thumb_func_start FUN_020586A0 +FUN_020586A0: ; 0x020586A0 push {r3, lr} add r1, r0, #0x0 add r1, #0xc8 @@ -164797,15 +164797,15 @@ sub_020586A0: ; 0x020586A0 blx r1 pop {r3, pc} - thumb_func_start sub_020586AC -sub_020586AC: ; 0x020586AC + thumb_func_start FUN_020586AC +FUN_020586AC: ; 0x020586AC add r0, #0xcc str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586B4 -sub_020586B4: ; 0x020586B4 + thumb_func_start FUN_020586B4 +FUN_020586B4: ; 0x020586B4 push {r3, lr} add r1, r0, #0x0 add r1, #0xcc @@ -164813,15 +164813,15 @@ sub_020586B4: ; 0x020586B4 blx r1 pop {r3, pc} - thumb_func_start sub_020586C0 -sub_020586C0: ; 0x020586C0 + thumb_func_start FUN_020586C0 +FUN_020586C0: ; 0x020586C0 add r0, #0xd0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586C8 -sub_020586C8: ; 0x020586C8 + thumb_func_start FUN_020586C8 +FUN_020586C8: ; 0x020586C8 push {r3, lr} add r1, r0, #0x0 add r1, #0xd0 @@ -164829,15 +164829,15 @@ sub_020586C8: ; 0x020586C8 blx r1 pop {r3, pc} - thumb_func_start sub_020586D4 -sub_020586D4: ; 0x020586D4 + thumb_func_start FUN_020586D4 +FUN_020586D4: ; 0x020586D4 add r0, #0xd4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586DC -sub_020586DC: ; 0x020586DC + thumb_func_start FUN_020586DC +FUN_020586DC: ; 0x020586DC push {r3, lr} add r1, r0, #0x0 add r1, #0xd4 @@ -164845,29 +164845,29 @@ sub_020586DC: ; 0x020586DC blx r1 pop {r3, pc} - thumb_func_start sub_020586E8 -sub_020586E8: ; 0x020586E8 + thumb_func_start FUN_020586E8 +FUN_020586E8: ; 0x020586E8 add r0, #0xa4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586F0 -sub_020586F0: ; 0x020586F0 + thumb_func_start FUN_020586F0 +FUN_020586F0: ; 0x020586F0 add r0, #0xa4 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020586F8 -sub_020586F8: ; 0x020586F8 + thumb_func_start FUN_020586F8 +FUN_020586F8: ; 0x020586F8 add r0, #0xa8 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058700 -sub_02058700: ; 0x02058700 + thumb_func_start FUN_02058700 +FUN_02058700: ; 0x02058700 add r1, r0, #0x0 add r1, #0xa8 ldr r1, [r1, #0x0] @@ -164877,102 +164877,102 @@ sub_02058700: ; 0x02058700 bx lr .balign 4 - thumb_func_start sub_02058710 -sub_02058710: ; 0x02058710 + thumb_func_start FUN_02058710 +FUN_02058710: ; 0x02058710 add r0, #0xa8 ldr r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058718 -sub_02058718: ; 0x02058718 + thumb_func_start FUN_02058718 +FUN_02058718: ; 0x02058718 add r0, #0xac strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058720 -sub_02058720: ; 0x02058720 + thumb_func_start FUN_02058720 +FUN_02058720: ; 0x02058720 add r0, #0xac ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058728 -sub_02058728: ; 0x02058728 + thumb_func_start FUN_02058728 +FUN_02058728: ; 0x02058728 add r0, #0xae strh r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058730 -sub_02058730: ; 0x02058730 + thumb_func_start FUN_02058730 +FUN_02058730: ; 0x02058730 add r0, #0xae ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02058738 -sub_02058738: ; 0x02058738 + thumb_func_start FUN_02058738 +FUN_02058738: ; 0x02058738 push {r3, lr} - bl sub_02058580 - bl sub_020583E8 + bl FUN_02058580 + bl FUN_020583E8 pop {r3, pc} - thumb_func_start sub_02058744 -sub_02058744: ; 0x02058744 + thumb_func_start FUN_02058744 +FUN_02058744: ; 0x02058744 push {r3, lr} - bl sub_02058578 - bl sub_0205839C + bl FUN_02058578 + bl FUN_0205839C pop {r3, pc} - thumb_func_start sub_02058750 -sub_02058750: ; 0x02058750 + thumb_func_start FUN_02058750 +FUN_02058750: ; 0x02058750 push {r4, lr} add r4, r0, #0x0 - bl sub_020589CC + bl FUN_020589CC cmp r0, #0x1 beq _02058760 - bl sub_02020C2C + bl FUN_02020C2C _02058760: add r0, r4, #0x0 - bl sub_02058490 + bl FUN_02058490 pop {r4, pc} - thumb_func_start sub_02058768 -sub_02058768: ; 0x02058768 - ldr r3, _02058770 ; =sub_0205837C + thumb_func_start FUN_02058768 +FUN_02058768: ; 0x02058768 + ldr r3, _02058770 ; =FUN_0205837C mov r1, #0x6 bx r3 nop -_02058770: .word sub_0205837C + 1 +_02058770: .word FUN_0205837C + 1 - thumb_func_start sub_02058774 -sub_02058774: ; 0x02058774 - ldr r3, _0205877C ; =sub_02058384 + thumb_func_start FUN_02058774 +FUN_02058774: ; 0x02058774 + ldr r3, _0205877C ; =FUN_02058384 mov r1, #0x6 bx r3 nop -_0205877C: .word sub_02058384 + 1 +_0205877C: .word FUN_02058384 + 1 - thumb_func_start sub_02058780 -sub_02058780: ; 0x02058780 + thumb_func_start FUN_02058780 +FUN_02058780: ; 0x02058780 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02058368 + bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r6, #0x4a add r5, r0, #0x0 lsl r6, r6, #0x2 _02058796: add r0, r5, #0x0 - bl sub_02058830 + bl FUN_02058830 cmp r0, #0x0 beq _020587A6 add r0, r5, #0x0 - bl sub_02058908 + bl FUN_02058908 _020587A6: add r5, r5, r6 sub r4, r4, #0x1 @@ -164980,24 +164980,24 @@ _020587A6: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020587B0 -sub_020587B0: ; 0x020587B0 + thumb_func_start FUN_020587B0 +FUN_020587B0: ; 0x020587B0 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02058368 + bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC mov r6, #0x4a add r5, r0, #0x0 lsl r6, r6, #0x2 _020587C6: add r0, r5, #0x0 - bl sub_02058830 + bl FUN_02058830 cmp r0, #0x0 beq _020587D6 add r0, r5, #0x0 - bl sub_02058914 + bl FUN_02058914 _020587D6: add r5, r5, r6 sub r4, r4, #0x1 @@ -165005,11 +165005,11 @@ _020587D6: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020587E0 -sub_020587E0: ; 0x020587E0 + thumb_func_start FUN_020587E0 +FUN_020587E0: ; 0x020587E0 push {r3, lr} mov r1, #0x1 - bl sub_02058390 + bl FUN_02058390 cmp r0, #0x0 beq _020587F0 mov r0, #0x1 @@ -165018,34 +165018,34 @@ _020587F0: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020587F4 -sub_020587F4: ; 0x020587F4 + thumb_func_start FUN_020587F4 +FUN_020587F4: ; 0x020587F4 push {r4, lr} add r4, r1, #0x0 - bl sub_02058578 + bl FUN_02058578 add r1, r4, #0x0 - bl sub_02058390 + bl FUN_02058390 pop {r4, pc} - thumb_func_start sub_02058804 -sub_02058804: ; 0x02058804 + thumb_func_start FUN_02058804 +FUN_02058804: ; 0x02058804 push {r3, lr} cmp r1, #0x0 bne _02058812 mov r1, #0x8 - bl sub_0205837C + bl FUN_0205837C pop {r3, pc} _02058812: mov r1, #0x8 - bl sub_02058384 + bl FUN_02058384 pop {r3, pc} .balign 4 - thumb_func_start sub_0205881C -sub_0205881C: ; 0x0205881C + thumb_func_start FUN_0205881C +FUN_0205881C: ; 0x0205881C push {r3, lr} mov r1, #0x8 - bl sub_02058390 + bl FUN_02058390 cmp r0, #0x0 bne _0205882C mov r0, #0x1 @@ -165054,119 +165054,119 @@ _0205882C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02058830 -sub_02058830: ; 0x02058830 - ldr r3, _02058838 ; =sub_0205842C + thumb_func_start FUN_02058830 +FUN_02058830: ; 0x02058830 + ldr r3, _02058838 ; =FUN_0205842C mov r1, #0x1 bx r3 nop -_02058838: .word sub_0205842C + 1 +_02058838: .word FUN_0205842C + 1 - thumb_func_start sub_0205883C -sub_0205883C: ; 0x0205883C - ldr r3, _02058844 ; =sub_02058410 + thumb_func_start FUN_0205883C +FUN_0205883C: ; 0x0205883C + ldr r3, _02058844 ; =FUN_02058410 mov r1, #0x2 bx r3 nop -_02058844: .word sub_02058410 + 1 +_02058844: .word FUN_02058410 + 1 - thumb_func_start sub_02058848 -sub_02058848: ; 0x02058848 - ldr r3, _02058850 ; =sub_02058418 + thumb_func_start FUN_02058848 +FUN_02058848: ; 0x02058848 + ldr r3, _02058850 ; =FUN_02058418 mov r1, #0x2 bx r3 nop -_02058850: .word sub_02058418 + 1 +_02058850: .word FUN_02058418 + 1 - thumb_func_start sub_02058854 -sub_02058854: ; 0x02058854 - ldr r3, _0205885C ; =sub_0205842C + thumb_func_start FUN_02058854 +FUN_02058854: ; 0x02058854 + ldr r3, _0205885C ; =FUN_0205842C mov r1, #0x2 bx r3 nop -_0205885C: .word sub_0205842C + 1 +_0205885C: .word FUN_0205842C + 1 - thumb_func_start sub_02058860 -sub_02058860: ; 0x02058860 - ldr r3, _02058868 ; =sub_02058410 + thumb_func_start FUN_02058860 +FUN_02058860: ; 0x02058860 + ldr r3, _02058868 ; =FUN_02058410 mov r1, #0x4 bx r3 nop -_02058868: .word sub_02058410 + 1 +_02058868: .word FUN_02058410 + 1 - thumb_func_start sub_0205886C -sub_0205886C: ; 0x0205886C - ldr r3, _02058874 ; =sub_02058418 + thumb_func_start FUN_0205886C +FUN_0205886C: ; 0x0205886C + ldr r3, _02058874 ; =FUN_02058418 mov r1, #0x8 bx r3 nop -_02058874: .word sub_02058418 + 1 +_02058874: .word FUN_02058418 + 1 - thumb_func_start sub_02058878 -sub_02058878: ; 0x02058878 - ldr r3, _02058880 ; =sub_02058410 + thumb_func_start FUN_02058878 +FUN_02058878: ; 0x02058878 + ldr r3, _02058880 ; =FUN_02058410 mov r1, #0x1 lsl r1, r1, #0xe bx r3 .balign 4 -_02058880: .word sub_02058410 + 1 +_02058880: .word FUN_02058410 + 1 - thumb_func_start sub_02058884 -sub_02058884: ; 0x02058884 - ldr r3, _0205888C ; =sub_0205842C + thumb_func_start FUN_02058884 +FUN_02058884: ; 0x02058884 + ldr r3, _0205888C ; =FUN_0205842C mov r1, #0x1 lsl r1, r1, #0xe bx r3 .balign 4 -_0205888C: .word sub_0205842C + 1 +_0205888C: .word FUN_0205842C + 1 - thumb_func_start sub_02058890 -sub_02058890: ; 0x02058890 - ldr r3, _02058898 ; =sub_0205842C + thumb_func_start FUN_02058890 +FUN_02058890: ; 0x02058890 + ldr r3, _02058898 ; =FUN_0205842C mov r1, #0x2 lsl r1, r1, #0x8 bx r3 .balign 4 -_02058898: .word sub_0205842C + 1 +_02058898: .word FUN_0205842C + 1 - thumb_func_start sub_0205889C -sub_0205889C: ; 0x0205889C + thumb_func_start FUN_0205889C +FUN_0205889C: ; 0x0205889C push {r3, lr} cmp r1, #0x1 bne _020588AC mov r1, #0x2 lsl r1, r1, #0x8 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _020588AC: mov r1, #0x2 lsl r1, r1, #0x8 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_020588B8 -sub_020588B8: ; 0x020588B8 + thumb_func_start FUN_020588B8 +FUN_020588B8: ; 0x020588B8 push {r3, lr} cmp r1, #0x1 bne _020588C8 mov r1, #0x1 lsl r1, r1, #0x12 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} _020588C8: mov r1, #0x1 lsl r1, r1, #0x12 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} .balign 4 - thumb_func_start sub_020588D4 -sub_020588D4: ; 0x020588D4 + thumb_func_start FUN_020588D4 +FUN_020588D4: ; 0x020588D4 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x12 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 beq _020588E6 mov r0, #0x1 @@ -165176,43 +165176,43 @@ _020588E6: pop {r3, pc} .balign 4 - thumb_func_start sub_020588EC -sub_020588EC: ; 0x020588EC + thumb_func_start FUN_020588EC +FUN_020588EC: ; 0x020588EC push {r3, lr} cmp r1, #0x1 bne _020588FC mov r1, #0x2 lsl r1, r1, #0x12 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _020588FC: mov r1, #0x2 lsl r1, r1, #0x12 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058908 -sub_02058908: ; 0x02058908 - ldr r3, _02058910 ; =sub_02058410 + thumb_func_start FUN_02058908 +FUN_02058908: ; 0x02058908 + ldr r3, _02058910 ; =FUN_02058410 mov r1, #0x40 bx r3 nop -_02058910: .word sub_02058410 + 1 +_02058910: .word FUN_02058410 + 1 - thumb_func_start sub_02058914 -sub_02058914: ; 0x02058914 - ldr r3, _0205891C ; =sub_02058418 + thumb_func_start FUN_02058914 +FUN_02058914: ; 0x02058914 + ldr r3, _0205891C ; =FUN_02058418 mov r1, #0x40 bx r3 nop -_0205891C: .word sub_02058418 + 1 +_0205891C: .word FUN_02058418 + 1 - thumb_func_start sub_02058920 -sub_02058920: ; 0x02058920 + thumb_func_start FUN_02058920 +FUN_02058920: ; 0x02058920 push {r3, lr} mov r1, #0x40 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 bne _02058930 mov r0, #0x1 @@ -165221,12 +165221,12 @@ _02058930: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02058934 -sub_02058934: ; 0x02058934 + thumb_func_start FUN_02058934 +FUN_02058934: ; 0x02058934 push {r4, lr} add r4, r0, #0x0 - bl sub_02058578 - bl sub_020587E0 + bl FUN_02058578 + bl FUN_020587E0 cmp r0, #0x0 bne _02058948 mov r0, #0x0 @@ -165235,7 +165235,7 @@ _02058948: mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205895A mov r0, #0x1 @@ -165245,28 +165245,28 @@ _0205895A: pop {r4, pc} .balign 4 - thumb_func_start sub_02058960 -sub_02058960: ; 0x02058960 + thumb_func_start FUN_02058960 +FUN_02058960: ; 0x02058960 push {r3, lr} cmp r1, #0x1 bne _02058970 mov r1, #0x2 lsl r1, r1, #0x16 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _02058970: mov r1, #0x2 lsl r1, r1, #0x16 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_0205897C -sub_0205897C: ; 0x0205897C + thumb_func_start FUN_0205897C +FUN_0205897C: ; 0x0205897C push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x16 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205898E mov r0, #0x1 @@ -165276,44 +165276,44 @@ _0205898E: pop {r3, pc} .balign 4 - thumb_func_start sub_02058994 -sub_02058994: ; 0x02058994 + thumb_func_start FUN_02058994 +FUN_02058994: ; 0x02058994 push {r3, lr} cmp r1, #0x1 bne _020589A4 mov r1, #0x1 lsl r1, r1, #0xa - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _020589A4: mov r1, #0x1 lsl r1, r1, #0xa - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_020589B0 -sub_020589B0: ; 0x020589B0 + thumb_func_start FUN_020589B0 +FUN_020589B0: ; 0x020589B0 push {r3, lr} cmp r1, #0x1 bne _020589C0 mov r1, #0x2 lsl r1, r1, #0x18 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _020589C0: mov r1, #0x2 lsl r1, r1, #0x18 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_020589CC -sub_020589CC: ; 0x020589CC + thumb_func_start FUN_020589CC +FUN_020589CC: ; 0x020589CC push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x18 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _020589DE mov r0, #0x1 @@ -165323,28 +165323,28 @@ _020589DE: pop {r3, pc} .balign 4 - thumb_func_start sub_020589E4 -sub_020589E4: ; 0x020589E4 + thumb_func_start FUN_020589E4 +FUN_020589E4: ; 0x020589E4 push {r3, lr} cmp r1, #0x1 bne _020589F4 mov r1, #0x1 lsl r1, r1, #0x1a - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _020589F4: mov r1, #0x1 lsl r1, r1, #0x1a - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058A00 -sub_02058A00: ; 0x02058A00 + thumb_func_start FUN_02058A00 +FUN_02058A00: ; 0x02058A00 push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x1a - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058A12 mov r0, #0x1 @@ -165354,28 +165354,28 @@ _02058A12: pop {r3, pc} .balign 4 - thumb_func_start sub_02058A18 -sub_02058A18: ; 0x02058A18 + thumb_func_start FUN_02058A18 +FUN_02058A18: ; 0x02058A18 push {r3, lr} cmp r1, #0x1 bne _02058A28 mov r1, #0x2 lsl r1, r1, #0x1a - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _02058A28: mov r1, #0x2 lsl r1, r1, #0x1a - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058A34 -sub_02058A34: ; 0x02058A34 + thumb_func_start FUN_02058A34 +FUN_02058A34: ; 0x02058A34 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x1a - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058A46 mov r0, #0x1 @@ -165385,28 +165385,28 @@ _02058A46: pop {r3, pc} .balign 4 - thumb_func_start sub_02058A4C -sub_02058A4C: ; 0x02058A4C + thumb_func_start FUN_02058A4C +FUN_02058A4C: ; 0x02058A4C push {r3, lr} cmp r1, #0x1 bne _02058A5C mov r1, #0x1 lsl r1, r1, #0x1c - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _02058A5C: mov r1, #0x1 lsl r1, r1, #0x1c - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058A68 -sub_02058A68: ; 0x02058A68 + thumb_func_start FUN_02058A68 +FUN_02058A68: ; 0x02058A68 push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x1c - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058A7A mov r0, #0x1 @@ -165416,28 +165416,28 @@ _02058A7A: pop {r3, pc} .balign 4 - thumb_func_start sub_02058A80 -sub_02058A80: ; 0x02058A80 + thumb_func_start FUN_02058A80 +FUN_02058A80: ; 0x02058A80 push {r3, lr} cmp r1, #0x1 bne _02058A90 mov r1, #0x1 lsl r1, r1, #0x18 - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _02058A90: mov r1, #0x1 lsl r1, r1, #0x18 - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058A9C -sub_02058A9C: ; 0x02058A9C + thumb_func_start FUN_02058A9C +FUN_02058A9C: ; 0x02058A9C push {r3, lr} mov r1, #0x1 lsl r1, r1, #0x18 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058AAE mov r0, #0x1 @@ -165447,11 +165447,11 @@ _02058AAE: pop {r3, pc} .balign 4 - thumb_func_start sub_02058AB4 -sub_02058AB4: ; 0x02058AB4 + thumb_func_start FUN_02058AB4 +FUN_02058AB4: ; 0x02058AB4 push {r3, lr} mov r1, #0x10 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058AC4 mov r0, #0x1 @@ -165460,28 +165460,28 @@ _02058AC4: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02058AC8 -sub_02058AC8: ; 0x02058AC8 + thumb_func_start FUN_02058AC8 +FUN_02058AC8: ; 0x02058AC8 push {r3, lr} cmp r1, #0x1 bne _02058AD8 mov r1, #0x2 lsl r1, r1, #0x1c - bl sub_02058410 + bl FUN_02058410 pop {r3, pc} _02058AD8: mov r1, #0x2 lsl r1, r1, #0x1c - bl sub_02058418 + bl FUN_02058418 pop {r3, pc} .balign 4 - thumb_func_start sub_02058AE4 -sub_02058AE4: ; 0x02058AE4 + thumb_func_start FUN_02058AE4 +FUN_02058AE4: ; 0x02058AE4 push {r3, lr} mov r1, #0x2 lsl r1, r1, #0x1c - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058AF6 mov r0, #0x1 @@ -165491,119 +165491,119 @@ _02058AF6: pop {r3, pc} .balign 4 - thumb_func_start sub_02058AFC -sub_02058AFC: ; 0x02058AFC + thumb_func_start FUN_02058AFC +FUN_02058AFC: ; 0x02058AFC ldr r0, [r0, #0x4c] bx lr - thumb_func_start sub_02058B00 -sub_02058B00: ; 0x02058B00 + thumb_func_start FUN_02058B00 +FUN_02058B00: ; 0x02058B00 str r1, [r0, #0x4c] bx lr - thumb_func_start sub_02058B04 -sub_02058B04: ; 0x02058B04 + thumb_func_start FUN_02058B04 +FUN_02058B04: ; 0x02058B04 ldr r0, [r0, #0x50] bx lr - thumb_func_start sub_02058B08 -sub_02058B08: ; 0x02058B08 + thumb_func_start FUN_02058B08 +FUN_02058B08: ; 0x02058B08 str r1, [r0, #0x50] bx lr - thumb_func_start sub_02058B0C -sub_02058B0C: ; 0x02058B0C + thumb_func_start FUN_02058B0C +FUN_02058B0C: ; 0x02058B0C ldr r0, [r0, #0x54] bx lr - thumb_func_start sub_02058B10 -sub_02058B10: ; 0x02058B10 + thumb_func_start FUN_02058B10 +FUN_02058B10: ; 0x02058B10 str r1, [r0, #0x54] bx lr - thumb_func_start sub_02058B14 -sub_02058B14: ; 0x02058B14 + thumb_func_start FUN_02058B14 +FUN_02058B14: ; 0x02058B14 ldr r0, [r0, #0x58] bx lr - thumb_func_start sub_02058B18 -sub_02058B18: ; 0x02058B18 + thumb_func_start FUN_02058B18 +FUN_02058B18: ; 0x02058B18 str r1, [r0, #0x58] bx lr - thumb_func_start sub_02058B1C -sub_02058B1C: ; 0x02058B1C + thumb_func_start FUN_02058B1C +FUN_02058B1C: ; 0x02058B1C ldr r0, [r0, #0x5c] bx lr - thumb_func_start sub_02058B20 -sub_02058B20: ; 0x02058B20 + thumb_func_start FUN_02058B20 +FUN_02058B20: ; 0x02058B20 str r1, [r0, #0x5c] bx lr - thumb_func_start sub_02058B24 -sub_02058B24: ; 0x02058B24 + thumb_func_start FUN_02058B24 +FUN_02058B24: ; 0x02058B24 ldr r0, [r0, #0x60] bx lr - thumb_func_start sub_02058B28 -sub_02058B28: ; 0x02058B28 + thumb_func_start FUN_02058B28 +FUN_02058B28: ; 0x02058B28 str r1, [r0, #0x60] bx lr - thumb_func_start sub_02058B2C -sub_02058B2C: ; 0x02058B2C + thumb_func_start FUN_02058B2C +FUN_02058B2C: ; 0x02058B2C ldr r0, [r0, #0x64] bx lr - thumb_func_start sub_02058B30 -sub_02058B30: ; 0x02058B30 + thumb_func_start FUN_02058B30 +FUN_02058B30: ; 0x02058B30 str r1, [r0, #0x64] bx lr - thumb_func_start sub_02058B34 -sub_02058B34: ; 0x02058B34 + thumb_func_start FUN_02058B34 +FUN_02058B34: ; 0x02058B34 ldr r2, [r0, #0x64] add r1, r2, r1 str r1, [r0, #0x64] bx lr - thumb_func_start sub_02058B3C -sub_02058B3C: ; 0x02058B3C + thumb_func_start FUN_02058B3C +FUN_02058B3C: ; 0x02058B3C ldr r0, [r0, #0x68] bx lr - thumb_func_start sub_02058B40 -sub_02058B40: ; 0x02058B40 + thumb_func_start FUN_02058B40 +FUN_02058B40: ; 0x02058B40 str r1, [r0, #0x68] bx lr - thumb_func_start sub_02058B44 -sub_02058B44: ; 0x02058B44 + thumb_func_start FUN_02058B44 +FUN_02058B44: ; 0x02058B44 ldr r2, [r0, #0x68] add r1, r2, r1 str r1, [r0, #0x68] bx lr - thumb_func_start sub_02058B4C -sub_02058B4C: ; 0x02058B4C + thumb_func_start FUN_02058B4C +FUN_02058B4C: ; 0x02058B4C ldr r0, [r0, #0x6c] bx lr - thumb_func_start sub_02058B50 -sub_02058B50: ; 0x02058B50 + thumb_func_start FUN_02058B50 +FUN_02058B50: ; 0x02058B50 str r1, [r0, #0x6c] bx lr - thumb_func_start sub_02058B54 -sub_02058B54: ; 0x02058B54 + thumb_func_start FUN_02058B54 +FUN_02058B54: ; 0x02058B54 ldr r2, [r0, #0x6c] add r1, r2, r1 str r1, [r0, #0x6c] bx lr - thumb_func_start sub_02058B5C -sub_02058B5C: ; 0x02058B5C + thumb_func_start FUN_02058B5C +FUN_02058B5C: ; 0x02058B5C add r2, r0, #0x0 add r2, #0x70 add r3, r1, #0x0 @@ -165613,8 +165613,8 @@ sub_02058B5C: ; 0x02058B5C str r0, [r3, #0x0] bx lr - thumb_func_start sub_02058B6C -sub_02058B6C: ; 0x02058B6C + thumb_func_start FUN_02058B6C +FUN_02058B6C: ; 0x02058B6C add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -165624,18 +165624,18 @@ sub_02058B6C: ; 0x02058B6C str r0, [r2, #0x0] bx lr - thumb_func_start sub_02058B7C -sub_02058B7C: ; 0x02058B7C + thumb_func_start FUN_02058B7C +FUN_02058B7C: ; 0x02058B7C add r0, #0x70 bx lr - thumb_func_start sub_02058B80 -sub_02058B80: ; 0x02058B80 + thumb_func_start FUN_02058B80 +FUN_02058B80: ; 0x02058B80 ldr r0, [r0, #0x74] bx lr - thumb_func_start sub_02058B84 -sub_02058B84: ; 0x02058B84 + thumb_func_start FUN_02058B84 +FUN_02058B84: ; 0x02058B84 add r2, r0, #0x0 add r2, #0x7c add r3, r1, #0x0 @@ -165645,8 +165645,8 @@ sub_02058B84: ; 0x02058B84 str r0, [r3, #0x0] bx lr - thumb_func_start sub_02058B94 -sub_02058B94: ; 0x02058B94 + thumb_func_start FUN_02058B94 +FUN_02058B94: ; 0x02058B94 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -165656,8 +165656,8 @@ sub_02058B94: ; 0x02058B94 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02058BA4 -sub_02058BA4: ; 0x02058BA4 + thumb_func_start FUN_02058BA4 +FUN_02058BA4: ; 0x02058BA4 add r2, r0, #0x0 add r2, #0x88 add r3, r1, #0x0 @@ -165667,8 +165667,8 @@ sub_02058BA4: ; 0x02058BA4 str r0, [r3, #0x0] bx lr - thumb_func_start sub_02058BB4 -sub_02058BB4: ; 0x02058BB4 + thumb_func_start FUN_02058BB4 +FUN_02058BB4: ; 0x02058BB4 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -165678,8 +165678,8 @@ sub_02058BB4: ; 0x02058BB4 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02058BC4 -sub_02058BC4: ; 0x02058BC4 + thumb_func_start FUN_02058BC4 +FUN_02058BC4: ; 0x02058BC4 add r2, r0, #0x0 add r2, #0x94 add r3, r1, #0x0 @@ -165689,8 +165689,8 @@ sub_02058BC4: ; 0x02058BC4 str r0, [r3, #0x0] bx lr - thumb_func_start sub_02058BD4 -sub_02058BD4: ; 0x02058BD4 + thumb_func_start FUN_02058BD4 +FUN_02058BD4: ; 0x02058BD4 add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -165700,10 +165700,10 @@ sub_02058BD4: ; 0x02058BD4 str r0, [r2, #0x0] bx lr - thumb_func_start sub_02058BE4 -sub_02058BE4: ; 0x02058BE4 + thumb_func_start FUN_02058BE4 +FUN_02058BE4: ; 0x02058BE4 push {r3, lr} - bl sub_02058B80 + bl FUN_02058B80 asr r1, r0, #0x3 asr r0, r1, #0xb lsr r0, r0, #0x14 @@ -165712,80 +165712,80 @@ sub_02058BE4: ; 0x02058BE4 pop {r3, pc} .balign 4 - thumb_func_start sub_02058BF8 -sub_02058BF8: ; 0x02058BF8 + thumb_func_start FUN_02058BF8 +FUN_02058BF8: ; 0x02058BF8 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_02058BFC -sub_02058BFC: ; 0x02058BFC + thumb_func_start FUN_02058BFC +FUN_02058BFC: ; 0x02058BFC ldrh r0, [r0, #0x0] bx lr - thumb_func_start sub_02058C00 -sub_02058C00: ; 0x02058C00 + thumb_func_start FUN_02058C00 +FUN_02058C00: ; 0x02058C00 strh r1, [r0, #0x2] bx lr - thumb_func_start sub_02058C04 -sub_02058C04: ; 0x02058C04 + thumb_func_start FUN_02058C04 +FUN_02058C04: ; 0x02058C04 ldrh r0, [r0, #0x2] bx lr - thumb_func_start sub_02058C08 -sub_02058C08: ; 0x02058C08 + thumb_func_start FUN_02058C08 +FUN_02058C08: ; 0x02058C08 strh r1, [r0, #0x4] bx lr - thumb_func_start sub_02058C0C -sub_02058C0C: ; 0x02058C0C + thumb_func_start FUN_02058C0C +FUN_02058C0C: ; 0x02058C0C ldrh r0, [r0, #0x4] bx lr - thumb_func_start sub_02058C10 -sub_02058C10: ; 0x02058C10 + thumb_func_start FUN_02058C10 +FUN_02058C10: ; 0x02058C10 strh r1, [r0, #0x6] bx lr - thumb_func_start sub_02058C14 -sub_02058C14: ; 0x02058C14 + thumb_func_start FUN_02058C14 +FUN_02058C14: ; 0x02058C14 ldrh r0, [r0, #0x6] bx lr - thumb_func_start sub_02058C18 -sub_02058C18: ; 0x02058C18 + thumb_func_start FUN_02058C18 +FUN_02058C18: ; 0x02058C18 strh r1, [r0, #0x8] bx lr - thumb_func_start sub_02058C1C -sub_02058C1C: ; 0x02058C1C + thumb_func_start FUN_02058C1C +FUN_02058C1C: ; 0x02058C1C ldrh r0, [r0, #0x8] bx lr - thumb_func_start sub_02058C20 -sub_02058C20: ; 0x02058C20 + thumb_func_start FUN_02058C20 +FUN_02058C20: ; 0x02058C20 strh r1, [r0, #0xa] bx lr - thumb_func_start sub_02058C24 -sub_02058C24: ; 0x02058C24 + thumb_func_start FUN_02058C24 +FUN_02058C24: ; 0x02058C24 ldrh r0, [r0, #0xa] bx lr - thumb_func_start sub_02058C28 -sub_02058C28: ; 0x02058C28 + thumb_func_start FUN_02058C28 +FUN_02058C28: ; 0x02058C28 strh r1, [r0, #0xc] bx lr - thumb_func_start sub_02058C2C -sub_02058C2C: ; 0x02058C2C + thumb_func_start FUN_02058C2C +FUN_02058C2C: ; 0x02058C2C mov r1, #0xc ldrsh r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_02058C34 -sub_02058C34: ; 0x02058C34 + thumb_func_start FUN_02058C34 +FUN_02058C34: ; 0x02058C34 push {r3, lr} cmp r2, #0x0 beq _02058C44 @@ -165804,12 +165804,12 @@ _02058C4C: strh r1, [r0, #0x12] pop {r3, pc} _02058C50: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} .balign 4 - thumb_func_start sub_02058C58 -sub_02058C58: ; 0x02058C58 + thumb_func_start FUN_02058C58 +FUN_02058C58: ; 0x02058C58 push {r3, lr} cmp r1, #0x0 beq _02058C68 @@ -165828,66 +165828,66 @@ _02058C70: ldrh r0, [r0, #0x12] pop {r3, pc} _02058C74: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02058C7C -sub_02058C7C: ; 0x02058C7C + thumb_func_start FUN_02058C7C +FUN_02058C7C: ; 0x02058C7C strh r1, [r0, #0x14] bx lr - thumb_func_start sub_02058C80 -sub_02058C80: ; 0x02058C80 + thumb_func_start FUN_02058C80 +FUN_02058C80: ; 0x02058C80 mov r1, #0x14 ldrsh r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_02058C88 -sub_02058C88: ; 0x02058C88 + thumb_func_start FUN_02058C88 +FUN_02058C88: ; 0x02058C88 strh r1, [r0, #0x16] bx lr - thumb_func_start sub_02058C8C -sub_02058C8C: ; 0x02058C8C + thumb_func_start FUN_02058C8C +FUN_02058C8C: ; 0x02058C8C mov r1, #0x16 ldrsh r0, [r0, r1] bx lr .balign 4 - thumb_func_start sub_02058C94 -sub_02058C94: ; 0x02058C94 + thumb_func_start FUN_02058C94 +FUN_02058C94: ; 0x02058C94 strh r1, [r0, #0x18] bx lr - thumb_func_start sub_02058C98 -sub_02058C98: ; 0x02058C98 + thumb_func_start FUN_02058C98 +FUN_02058C98: ; 0x02058C98 ldrh r0, [r0, #0x18] bx lr - thumb_func_start sub_02058C9C -sub_02058C9C: ; 0x02058C9C + thumb_func_start FUN_02058C9C +FUN_02058C9C: ; 0x02058C9C str r1, [r0, #0x1c] bx lr - thumb_func_start sub_02058CA0 -sub_02058CA0: ; 0x02058CA0 + thumb_func_start FUN_02058CA0 +FUN_02058CA0: ; 0x02058CA0 ldr r0, [r0, #0x1c] bx lr - thumb_func_start sub_02058CA4 -sub_02058CA4: ; 0x02058CA4 + thumb_func_start FUN_02058CA4 +FUN_02058CA4: ; 0x02058CA4 strh r1, [r0, #0x1a] bx lr - thumb_func_start sub_02058CA8 -sub_02058CA8: ; 0x02058CA8 + thumb_func_start FUN_02058CA8 +FUN_02058CA8: ; 0x02058CA8 ldrh r0, [r0, #0x1a] bx lr - thumb_func_start sub_02058CAC -sub_02058CAC: ; 0x02058CAC + thumb_func_start FUN_02058CAC +FUN_02058CAC: ; 0x02058CAC push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 @@ -165896,11 +165896,11 @@ sub_02058CAC: ; 0x02058CAC add r5, r2, #0x0 _02058CB8: add r0, r5, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x0 bne _02058CD4 add r0, r5, #0x0 - bl sub_02058BFC + bl FUN_02058BFC cmp r6, r0 bne _02058CD4 ldr r0, [sp, #0x0] @@ -165915,10 +165915,10 @@ _02058CD4: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02058CE0 -sub_02058CE0: ; 0x02058CE0 + thumb_func_start FUN_02058CE0 +FUN_02058CE0: ; 0x02058CE0 push {r3, lr} - bl sub_02058C24 + bl FUN_02058C24 lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _02058CF8 ; =0x0000FFFF @@ -165932,26 +165932,26 @@ _02058CF4: .balign 4 _02058CF8: .word 0x0000FFFF - thumb_func_start sub_02058CFC -sub_02058CFC: ; 0x02058CFC + thumb_func_start FUN_02058CFC +FUN_02058CFC: ; 0x02058CFC push {r4, lr} add r4, r0, #0x0 - bl sub_02058CE0 + bl FUN_02058CE0 cmp r0, #0x1 beq _02058D0C - bl sub_02020C2C + bl FUN_02020C2C _02058D0C: add r0, r4, #0x0 - bl sub_02058C1C + bl FUN_02058C1C pop {r4, pc} - thumb_func_start sub_02058D14 -sub_02058D14: ; 0x02058D14 + thumb_func_start FUN_02058D14 +FUN_02058D14: ; 0x02058D14 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x37 blo _02058D20 - bl sub_02020C2C + bl FUN_02020C2C _02058D20: ldr r0, _02058D28 ; =0x020F6364 lsl r1, r4, #0x2 @@ -165960,48 +165960,48 @@ _02058D20: .balign 4 _02058D28: .word 0x020F6364 - thumb_func_start sub_02058D2C -sub_02058D2C: ; 0x02058D2C + thumb_func_start FUN_02058D2C +FUN_02058D2C: ; 0x02058D2C ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02058D30 -sub_02058D30: ; 0x02058D30 + thumb_func_start FUN_02058D30 +FUN_02058D30: ; 0x02058D30 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_02058D34 -sub_02058D34: ; 0x02058D34 + thumb_func_start FUN_02058D34 +FUN_02058D34: ; 0x02058D34 ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02058D38 -sub_02058D38: ; 0x02058D38 + thumb_func_start FUN_02058D38 +FUN_02058D38: ; 0x02058D38 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_02058D3C -sub_02058D3C: ; 0x02058D3C + thumb_func_start FUN_02058D3C +FUN_02058D3C: ; 0x02058D3C ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02058D40 -sub_02058D40: ; 0x02058D40 + thumb_func_start FUN_02058D40 +FUN_02058D40: ; 0x02058D40 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_02058D44 -sub_02058D44: ; 0x02058D44 + thumb_func_start FUN_02058D44 +FUN_02058D44: ; 0x02058D44 ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02058D48 -sub_02058D48: ; 0x02058D48 + thumb_func_start FUN_02058D48 +FUN_02058D48: ; 0x02058D48 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_02058D4C -sub_02058D4C: ; 0x02058D4C + thumb_func_start FUN_02058D4C +FUN_02058D4C: ; 0x02058D4C push {r3, lr} ldr r3, _02058D6C ; =0x021F9494 ldr r1, _02058D70 ; =0x0000FFFF @@ -166016,36 +166016,36 @@ _02058D5C: ldr r2, [r3, #0x0] cmp r2, r1 bne _02058D52 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} .balign 4 _02058D6C: .word 0x021F9494 _02058D70: .word 0x0000FFFF - thumb_func_start sub_02058D74 -sub_02058D74: ; 0x02058D74 + thumb_func_start FUN_02058D74 +FUN_02058D74: ; 0x02058D74 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02058368 + bl FUN_02058368 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020583CC + bl FUN_020583CC add r5, r0, #0x0 _02058D8A: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058DAE add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r6, r0 bne _02058DAE add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r7, r0 bne _02058DAE add r0, r5, #0x0 @@ -166059,8 +166059,8 @@ _02058DAE: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02058DBC -sub_02058DBC: ; 0x02058DBC + thumb_func_start FUN_02058DBC +FUN_02058DBC: ; 0x02058DBC push {r4-r6, lr} add r4, r1, #0x0 ldr r1, [r4, #0x0] @@ -166071,7 +166071,7 @@ sub_02058DBC: ; 0x02058DBC add r1, r2, r1 asr r1, r1, #0xc add r5, r0, #0x0 - bl sub_02058B30 + bl FUN_02058B30 ldr r1, [r4, #0x4] add r0, r5, #0x0 asr r2, r1, #0x3 @@ -166079,7 +166079,7 @@ sub_02058DBC: ; 0x02058DBC lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc - bl sub_02058B40 + bl FUN_02058B40 ldr r1, [r4, #0x8] add r0, r5, #0x0 asr r2, r1, #0x4 @@ -166087,28 +166087,28 @@ sub_02058DBC: ; 0x02058DBC lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc - bl sub_02058B50 + bl FUN_02058B50 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584A4 + bl FUN_020584A4 add r0, r5, #0x0 - bl sub_0205AE80 + bl FUN_0205AE80 add r0, r5, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 mov r1, #0xa - bl sub_02058418 + bl FUN_02058418 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02058E28 -sub_02058E28: ; 0x02058E28 + thumb_func_start FUN_02058E28 +FUN_02058E28: ; 0x02058E28 push {r3-r6, lr} sub sp, #0xc add r4, r2, #0x0 @@ -166119,12 +166119,12 @@ sub_02058E28: ; 0x02058E28 add r2, r3, r2 add r5, r0, #0x0 str r2, [sp, #0x0] - bl sub_02058B30 + bl FUN_02058B30 lsl r0, r4, #0xf str r0, [sp, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058B40 + bl FUN_02058B40 mov r0, #0x2 lsl r1, r6, #0x10 lsl r0, r0, #0xe @@ -166132,154 +166132,154 @@ sub_02058E28: ; 0x02058E28 str r0, [sp, #0x8] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02058B50 + bl FUN_02058B50 add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 ldr r1, [sp, #0x20] add r0, r5, #0x0 - bl sub_020584A4 + bl FUN_020584A4 add r0, r5, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 mov r1, #0xa - bl sub_02058418 + bl FUN_02058418 add r0, r5, #0x0 - bl sub_0205AE80 + bl FUN_0205AE80 add sp, #0xc pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02058E90 -sub_02058E90: ; 0x02058E90 + thumb_func_start FUN_02058E90 +FUN_02058E90: ; 0x02058E90 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058660 + bl FUN_02058660 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205847C + bl FUN_0205847C add r0, r5, #0x0 - bl sub_02057EE0 + bl FUN_02057EE0 add r0, r5, #0x0 - bl sub_02058EE8 + bl FUN_02058EE8 pop {r3-r5, pc} - thumb_func_start sub_02058EB0 -sub_02058EB0: ; 0x02058EB0 + thumb_func_start FUN_02058EB0 +FUN_02058EB0: ; 0x02058EB0 push {r4, lr} add r4, r0, #0x0 - bl sub_02058444 + bl FUN_02058444 add r0, r4, #0x0 - bl sub_02058860 + bl FUN_02058860 add r0, r4, #0x0 - bl sub_0205815C + bl FUN_0205815C pop {r4, pc} .balign 4 - thumb_func_start sub_02058EC8 -sub_02058EC8: ; 0x02058EC8 + thumb_func_start FUN_02058EC8 +FUN_02058EC8: ; 0x02058EC8 bx lr .balign 4 - thumb_func_start sub_02058ECC -sub_02058ECC: ; 0x02058ECC + thumb_func_start FUN_02058ECC +FUN_02058ECC: ; 0x02058ECC bx lr .balign 4 - thumb_func_start sub_02058ED0 -sub_02058ED0: ; 0x02058ED0 + thumb_func_start FUN_02058ED0 +FUN_02058ED0: ; 0x02058ED0 bx lr .balign 4 - thumb_func_start sub_02058ED4 -sub_02058ED4: ; 0x02058ED4 + thumb_func_start FUN_02058ED4 +FUN_02058ED4: ; 0x02058ED4 bx lr .balign 4 - thumb_func_start sub_02058ED8 -sub_02058ED8: ; 0x02058ED8 + thumb_func_start FUN_02058ED8 +FUN_02058ED8: ; 0x02058ED8 bx lr .balign 4 - thumb_func_start sub_02058EDC -sub_02058EDC: ; 0x02058EDC + thumb_func_start FUN_02058EDC +FUN_02058EDC: ; 0x02058EDC bx lr .balign 4 - thumb_func_start sub_02058EE0 -sub_02058EE0: ; 0x02058EE0 + thumb_func_start FUN_02058EE0 +FUN_02058EE0: ; 0x02058EE0 bx lr .balign 4 - thumb_func_start sub_02058EE4 -sub_02058EE4: ; 0x02058EE4 + thumb_func_start FUN_02058EE4 +FUN_02058EE4: ; 0x02058EE4 bx lr .balign 4 - thumb_func_start sub_02058EE8 -sub_02058EE8: ; 0x02058EE8 + thumb_func_start FUN_02058EE8 +FUN_02058EE8: ; 0x02058EE8 push {r4, lr} add r4, r0, #0x0 - bl sub_02058638 + bl FUN_02058638 add r0, r4, #0x0 - bl sub_0205BEF8 + bl FUN_0205BEF8 pop {r4, pc} - thumb_func_start sub_02058EF8 -sub_02058EF8: ; 0x02058EF8 + thumb_func_start FUN_02058EF8 +FUN_02058EF8: ; 0x02058EF8 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 - bl sub_020587F4 + bl FUN_020587F4 cmp r0, #0x0 bne _02058F5C add r0, r4, #0x0 - bl sub_02058F94 + bl FUN_02058F94 add r0, r4, #0x0 - bl sub_02058FAC + bl FUN_02058FAC add r0, r4, #0x0 - bl sub_02058FD0 + bl FUN_02058FD0 add r0, r4, #0x0 mov r1, #0x10 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058F2C add r0, r4, #0x0 - bl sub_0205B058 + bl FUN_0205B058 b _02058F50 _02058F2C: add r0, r4, #0x0 - bl sub_02058920 + bl FUN_02058920 cmp r0, #0x0 bne _02058F50 add r0, r4, #0x0 - bl sub_02058F60 + bl FUN_02058F60 cmp r0, #0x1 bne _02058F50 add r0, r4, #0x0 - bl sub_0205BF00 + bl FUN_0205BF00 cmp r0, #0x0 bne _02058F50 add r0, r4, #0x0 - bl sub_0205864C + bl FUN_0205864C _02058F50: add r0, r4, #0x0 - bl sub_02058FF4 + bl FUN_02058FF4 add r0, r4, #0x0 - bl sub_0205902C + bl FUN_0205902C _02058F5C: pop {r4, pc} .balign 4 - thumb_func_start sub_02058F60 -sub_02058F60: ; 0x02058F60 + thumb_func_start FUN_02058F60 +FUN_02058F60: ; 0x02058F60 push {r4, lr} add r4, r0, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x1 bne _02058F70 mov r0, #0x1 @@ -166288,14 +166288,14 @@ _02058F70: mov r1, #0x6 add r0, r4, #0x0 lsl r1, r1, #0xa - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _02058F82 mov r0, #0x1 pop {r4, pc} _02058F82: add r0, r4, #0x0 - bl sub_02058480 + bl FUN_02058480 cmp r0, #0x32 bne _02058F90 mov r0, #0x1 @@ -166304,433 +166304,433 @@ _02058F90: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02058F94 -sub_02058F94: ; 0x02058F94 + thumb_func_start FUN_02058F94 +FUN_02058F94: ; 0x02058F94 push {r4, lr} mov r1, #0x1 lsl r1, r1, #0xc add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058FAA add r0, r4, #0x0 - bl sub_02059D1C + bl FUN_02059D1C _02058FAA: pop {r4, pc} - thumb_func_start sub_02058FAC -sub_02058FAC: ; 0x02058FAC + thumb_func_start FUN_02058FAC +FUN_02058FAC: ; 0x02058FAC push {r4, lr} mov r1, #0x2 lsl r1, r1, #0xa add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058FCC add r0, r4, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 cmp r0, #0x1 bne _02058FCC add r0, r4, #0x0 - bl sub_02058860 + bl FUN_02058860 _02058FCC: pop {r4, pc} .balign 4 - thumb_func_start sub_02058FD0 -sub_02058FD0: ; 0x02058FD0 + thumb_func_start FUN_02058FD0 +FUN_02058FD0: ; 0x02058FD0 push {r4, lr} mov r1, #0x4 add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02058FE4 add r0, r4, #0x0 - bl sub_02059064 + bl FUN_02059064 _02058FE4: ldr r1, _02058FF0 ; =0x00010004 add r0, r4, #0x0 - bl sub_02058418 + bl FUN_02058418 pop {r4, pc} nop _02058FF0: .word 0x00010004 - thumb_func_start sub_02058FF4 -sub_02058FF4: ; 0x02058FF4 + thumb_func_start FUN_02058FF4 +FUN_02058FF4: ; 0x02058FF4 push {r4, lr} mov r1, #0x1 lsl r1, r1, #0x10 add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205900C add r0, r4, #0x0 - bl sub_020591A8 + bl FUN_020591A8 b _0205901E _0205900C: add r0, r4, #0x0 mov r1, #0x4 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205901E add r0, r4, #0x0 - bl sub_020590F4 + bl FUN_020590F4 _0205901E: ldr r1, _02059028 ; =0x00010004 add r0, r4, #0x0 - bl sub_02058418 + bl FUN_02058418 pop {r4, pc} .balign 4 _02059028: .word 0x00010004 - thumb_func_start sub_0205902C -sub_0205902C: ; 0x0205902C + thumb_func_start FUN_0205902C +FUN_0205902C: ; 0x0205902C push {r4, lr} mov r1, #0x2 lsl r1, r1, #0x10 add r4, r0, #0x0 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02059044 add r0, r4, #0x0 - bl sub_0205928C + bl FUN_0205928C b _02059056 _02059044: add r0, r4, #0x0 mov r1, #0x8 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _02059056 add r0, r4, #0x0 - bl sub_02059214 + bl FUN_02059214 _02059056: ldr r1, _02059060 ; =0x00020008 add r0, r4, #0x0 - bl sub_02058418 + bl FUN_02058418 pop {r4, pc} .balign 4 _02059060: .word 0x00020008 - thumb_func_start sub_02059064 -sub_02059064: ; 0x02059064 + thumb_func_start FUN_02059064 +FUN_02059064: ; 0x02059064 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _020590F2 add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 - bl sub_02058730 + bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_021F1DC8 + bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059838 + bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205941C + bl FUN_0205941C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020594C0 + bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059500 + bl FUN_02059500 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205931C + bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059678 + bl FUN_02059678 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020596A8 + bl FUN_020596A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020597A8 + bl FUN_020597A8 _020590F2: pop {r3-r7, pc} - thumb_func_start sub_020590F4 -sub_020590F4: ; 0x020590F4 + thumb_func_start FUN_020590F4 +FUN_020590F4: ; 0x020590F4 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _020591A6 add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 - bl sub_02058730 + bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_021F1DC8 + bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059838 + bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059434 + bl FUN_02059434 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205944C + bl FUN_0205944C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020594C0 + bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059508 + bl FUN_02059508 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059690 + bl FUN_02059690 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020596C0 + bl FUN_020596C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020596D8 + bl FUN_020596D8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059740 + bl FUN_02059740 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020597A8 + bl FUN_020597A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059870 + bl FUN_02059870 _020591A6: pop {r3-r7, pc} - thumb_func_start sub_020591A8 -sub_020591A8: ; 0x020591A8 + thumb_func_start FUN_020591A8 +FUN_020591A8: ; 0x020591A8 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _02059212 add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 - bl sub_02058730 + bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_021F1DC8 + bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059838 + bl FUN_02059838 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059508 + bl FUN_02059508 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020597A8 + bl FUN_020597A8 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020594F4 + bl FUN_020594F4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059870 + bl FUN_02059870 _02059212: pop {r3-r7, pc} - thumb_func_start sub_02059214 -sub_02059214: ; 0x02059214 + thumb_func_start FUN_02059214 +FUN_02059214: ; 0x02059214 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _0205928A add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 - bl sub_02058730 + bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_021F1DC8 + bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205931C + bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205970C + bl FUN_0205970C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059774 + bl FUN_02059774 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020594C0 + bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059804 + bl FUN_02059804 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020595A4 + bl FUN_020595A4 _0205928A: pop {r3-r7, pc} - thumb_func_start sub_0205928C -sub_0205928C: ; 0x0205928C + thumb_func_start FUN_0205928C +FUN_0205928C: ; 0x0205928C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02059DB4 + bl FUN_02059DB4 add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _0205931A add r0, r5, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r5, #0x0 - bl sub_02058730 + bl FUN_02058730 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_021F1DC8 + bl FUN_021F1DC8 add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205931C + bl FUN_0205931C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205970C + bl FUN_0205970C add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059774 + bl FUN_02059774 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020594C0 + bl FUN_020594C0 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059804 + bl FUN_02059804 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020595A4 + bl FUN_020595A4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_02059434 + bl FUN_02059434 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_0205962C + bl FUN_0205962C _0205931A: pop {r3-r7, pc} - thumb_func_start sub_0205931C -sub_0205931C: ; 0x0205931C + thumb_func_start FUN_0205931C +FUN_0205931C: ; 0x0205931C push {r3-r5, lr} sub sp, #0x48 add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_02058A34 + bl FUN_02058A34 cmp r0, #0x0 bne _020593F4 add r0, r5, #0x0 - bl sub_02054984 + bl FUN_02054984 cmp r0, #0x1 beq _02059340 add r0, r5, #0x0 - bl sub_020549A0 + bl FUN_020549A0 cmp r0, #0x1 bne _0205935A _02059340: @@ -166743,16 +166743,16 @@ _02059340: add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _0205935A: add r0, r5, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 beq _0205936E add r0, r5, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _02059388 _0205936E: @@ -166765,12 +166765,12 @@ _0205936E: add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _02059388: add r0, r5, #0x0 - bl sub_020549F0 + bl FUN_020549F0 cmp r0, #0x1 bne _020593AC ldr r5, _02059410 ; =0x020F65E4 @@ -166782,12 +166782,12 @@ _02059388: add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593AC: add r0, r5, #0x0 - bl sub_020549E4 + bl FUN_020549E4 cmp r0, #0x1 bne _020593D0 ldr r5, _02059414 ; =0x020F65F0 @@ -166799,12 +166799,12 @@ _020593AC: add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593D0: add r0, r5, #0x0 - bl sub_020549D8 + bl FUN_020549D8 cmp r0, #0x1 bne _020593F4 ldr r5, _02059418 ; =0x020F6614 @@ -166816,7 +166816,7 @@ _020593D0: add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} _020593F4: @@ -166826,7 +166826,7 @@ _020593F4: str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r4, #0x0 - bl sub_02058BD4 + bl FUN_02058BD4 add sp, #0x48 pop {r3-r5, pc} .balign 4 @@ -166836,36 +166836,36 @@ _02059410: .word 0x020F65E4 _02059414: .word 0x020F65F0 _02059418: .word 0x020F6614 - thumb_func_start sub_0205941C -sub_0205941C: ; 0x0205941C + thumb_func_start FUN_0205941C +FUN_0205941C: ; 0x0205941C push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x1 bne _02059432 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0224B568 + bl FUN_0224B568 _02059432: pop {r4, pc} - thumb_func_start sub_02059434 -sub_02059434: ; 0x02059434 + thumb_func_start FUN_02059434 +FUN_02059434: ; 0x02059434 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x1 bne _0205944A add r0, r4, #0x0 mov r1, #0x1 - bl sub_0224B568 + bl FUN_0224B568 _0205944A: pop {r4, pc} - thumb_func_start sub_0205944C -sub_0205944C: ; 0x0205944C + thumb_func_start FUN_0205944C +FUN_0205944C: ; 0x0205944C push {r4-r6, lr} add r6, r3, #0x0 ldr r1, [r6, #0x4] @@ -166875,7 +166875,7 @@ sub_0205944C: ; 0x0205944C lsr r1, r1, #0x1c beq _020594BC add r1, r4, #0x0 - bl sub_02059AF8 + bl FUN_02059AF8 cmp r0, #0x1 bne _02059484 ldr r0, [r6, #0x4] @@ -166884,91 +166884,91 @@ sub_0205944C: ; 0x0205944C cmp r0, #0x1 bne _02059478 add r0, r5, #0x0 - bl sub_02249E6C + bl FUN_02249E6C pop {r4-r6, pc} _02059478: cmp r0, #0x2 bne _020594BC add r0, r5, #0x0 - bl sub_02249E78 + bl FUN_02249E78 pop {r4-r6, pc} _02059484: add r0, r4, #0x0 - bl sub_020549E4 + bl FUN_020549E4 cmp r0, #0x1 beq _020594A2 add r0, r4, #0x0 - bl sub_020549F0 + bl FUN_020549F0 cmp r0, #0x1 beq _020594A2 add r0, r4, #0x0 - bl sub_020549D8 + bl FUN_020549D8 cmp r0, #0x0 beq _020594AA _020594A2: add r0, r5, #0x0 - bl sub_02249E90 + bl FUN_02249E90 pop {r4-r6, pc} _020594AA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059B60 + bl FUN_02059B60 cmp r0, #0x1 bne _020594BC add r0, r5, #0x0 - bl sub_02249E84 + bl FUN_02249E84 _020594BC: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020594C0 -sub_020594C0: ; 0x020594C0 + thumb_func_start FUN_020594C0 +FUN_020594C0: ; 0x020594C0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0205483C + bl FUN_0205483C cmp r0, #0x1 bne _020594EA add r0, r4, #0x0 - bl sub_02058A00 + bl FUN_02058A00 cmp r0, #0x0 bne _020594F2 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0224B9E0 + bl FUN_0224B9E0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020589E4 + bl FUN_020589E4 pop {r4, pc} _020594EA: add r0, r4, #0x0 mov r1, #0x0 - bl sub_020589E4 + bl FUN_020589E4 _020594F2: pop {r4, pc} - thumb_func_start sub_020594F4 -sub_020594F4: ; 0x020594F4 - ldr r3, _020594FC ; =sub_020589E4 + thumb_func_start FUN_020594F4 +FUN_020594F4: ; 0x020594F4 + ldr r3, _020594FC ; =FUN_020589E4 mov r1, #0x0 bx r3 nop -_020594FC: .word sub_020589E4 + 1 +_020594FC: .word FUN_020589E4 + 1 - thumb_func_start sub_02059500 -sub_02059500: ; 0x02059500 + thumb_func_start FUN_02059500 +FUN_02059500: ; 0x02059500 push {r3, lr} - bl sub_02059508 + bl FUN_02059508 pop {r3, pc} - thumb_func_start sub_02059508 -sub_02059508: ; 0x02059508 + thumb_func_start FUN_02059508 +FUN_02059508: ; 0x02059508 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 - bl sub_02058578 - bl sub_0205881C + bl FUN_02058578 + bl FUN_0205881C cmp r0, #0x0 beq _020595A2 ldr r0, [r6, #0x4] @@ -166976,69 +166976,69 @@ sub_02059508: ; 0x02059508 lsr r0, r0, #0x1e beq _020595A2 add r0, r4, #0x0 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 beq _02059578 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059AC4 + bl FUN_02059AC4 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 - bl sub_0205483C + bl FUN_0205483C cmp r0, #0x1 beq _02059578 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059B2C + bl FUN_02059B2C cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 beq _02059578 add r0, r4, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _02059584 _02059578: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058410 + bl FUN_02058410 pop {r4-r6, pc} _02059584: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xe - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _020595A2 add r0, r5, #0x0 - bl sub_02249508 + bl FUN_02249508 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xe - bl sub_02058410 + bl FUN_02058410 _020595A2: pop {r4-r6, pc} - thumb_func_start sub_020595A4 -sub_020595A4: ; 0x020595A4 + thumb_func_start FUN_020595A4 +FUN_020595A4: ; 0x020595A4 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 - bl sub_02058578 - bl sub_0205881C + bl FUN_02058578 + bl FUN_0205881C cmp r0, #0x0 beq _0205962A ldr r0, [r6, #0x4] @@ -167046,246 +167046,246 @@ sub_020595A4: ; 0x020595A4 lsr r0, r0, #0x1e beq _0205962A add r0, r4, #0x0 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 beq _02059614 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059AC4 + bl FUN_02059AC4 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 - bl sub_0205483C + bl FUN_0205483C cmp r0, #0x1 beq _02059614 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059B2C + bl FUN_02059B2C cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 beq _02059614 add r0, r4, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _02059620 _02059614: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058410 + bl FUN_02058410 pop {r4-r6, pc} _02059620: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058418 + bl FUN_02058418 _0205962A: pop {r4-r6, pc} - thumb_func_start sub_0205962C -sub_0205962C: ; 0x0205962C + thumb_func_start FUN_0205962C +FUN_0205962C: ; 0x0205962C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02059AC4 + bl FUN_02059AC4 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 - bl sub_0205483C + bl FUN_0205483C cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 - bl sub_020548F0 + bl FUN_020548F0 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 beq _02059674 add r0, r4, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 beq _02059674 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059B2C + bl FUN_02059B2C cmp r0, #0x1 beq _02059674 add r0, r5, #0x0 - bl sub_0224BBEC + bl FUN_0224BBEC _02059674: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02059678 -sub_02059678: ; 0x02059678 + thumb_func_start FUN_02059678 +FUN_02059678: ; 0x02059678 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 bne _0205968E add r0, r4, #0x0 mov r1, #0x0 - bl sub_0224BD90 + bl FUN_0224BD90 _0205968E: pop {r4, pc} - thumb_func_start sub_02059690 -sub_02059690: ; 0x02059690 + thumb_func_start FUN_02059690 +FUN_02059690: ; 0x02059690 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 bne _020596A6 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0224BD90 + bl FUN_0224BD90 _020596A6: pop {r4, pc} - thumb_func_start sub_020596A8 -sub_020596A8: ; 0x020596A8 + thumb_func_start FUN_020596A8 +FUN_020596A8: ; 0x020596A8 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _020596BE add r0, r4, #0x0 mov r1, #0x0 - bl sub_0224C038 + bl FUN_0224C038 _020596BE: pop {r4, pc} - thumb_func_start sub_020596C0 -sub_020596C0: ; 0x020596C0 + thumb_func_start FUN_020596C0 +FUN_020596C0: ; 0x020596C0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _020596D6 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0224C038 + bl FUN_0224C038 _020596D6: pop {r4, pc} - thumb_func_start sub_020596D8 -sub_020596D8: ; 0x020596D8 + thumb_func_start FUN_020596D8 +FUN_020596D8: ; 0x020596D8 push {r4-r6, lr} add r5, r0, #0x0 add r0, r2, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 bne _02059708 add r0, r5, #0x0 - bl sub_02058B14 + bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B1C + bl FUN_02058B1C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B24 + bl FUN_02058B24 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0224B124 + bl FUN_0224B124 _02059708: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205970C -sub_0205970C: ; 0x0205970C + thumb_func_start FUN_0205970C +FUN_0205970C: ; 0x0205970C push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 bne _0205973C add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0224B124 + bl FUN_0224B124 _0205973C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02059740 -sub_02059740: ; 0x02059740 + thumb_func_start FUN_02059740 +FUN_02059740: ; 0x02059740 push {r4-r6, lr} add r5, r0, #0x0 add r0, r2, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 bne _02059770 add r0, r5, #0x0 - bl sub_02058B14 + bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B1C + bl FUN_02058B1C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B24 + bl FUN_02058B24 add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0224B2C4 + bl FUN_0224B2C4 _02059770: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02059774 -sub_02059774: ; 0x02059774 + thumb_func_start FUN_02059774 +FUN_02059774: ; 0x02059774 push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 bne _020597A4 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r3, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0224B2C4 + bl FUN_0224B2C4 _020597A4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020597A8 -sub_020597A8: ; 0x020597A8 + thumb_func_start FUN_020597A8 +FUN_020597A8: ; 0x020597A8 push {r4-r6, lr} add r6, r1, #0x0 ldr r1, [r3, #0x4] @@ -167294,101 +167294,101 @@ sub_020597A8: ; 0x020597A8 lsr r1, r1, #0x1e beq _02059802 mov r1, #0x1 - bl sub_02059C90 + bl FUN_02059C90 lsl r0, r0, #0x18 lsr r4, r0, #0x18 add r0, r5, #0x0 - bl sub_02058A9C + bl FUN_02058A9C cmp r0, #0x0 bne _02059802 add r0, r4, #0x0 - bl sub_02054B20 + bl FUN_02054B20 cmp r0, #0x1 beq _020597DE add r0, r6, #0x0 - bl sub_02054B20 + bl FUN_02054B20 cmp r0, #0x1 bne _02059802 _020597DE: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058A80 + bl FUN_02058A80 add r0, r4, #0x0 - bl sub_02054AF0 + bl FUN_02054AF0 cmp r0, #0x1 bne _020597FA add r0, r5, #0x0 mov r1, #0x0 - bl sub_022497E8 + bl FUN_022497E8 pop {r4-r6, pc} _020597FA: add r0, r5, #0x0 mov r1, #0x1 - bl sub_022497E8 + bl FUN_022497E8 _02059802: pop {r4-r6, pc} - thumb_func_start sub_02059804 -sub_02059804: ; 0x02059804 + thumb_func_start FUN_02059804 +FUN_02059804: ; 0x02059804 push {r4, lr} ldr r1, [r3, #0x4] add r4, r0, #0x0 lsl r1, r1, #0x14 lsr r1, r1, #0x1e beq _02059834 - bl sub_02058A9C + bl FUN_02058A9C cmp r0, #0x0 beq _02059834 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02059C90 + bl FUN_02059C90 lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054B20 + bl FUN_02054B20 cmp r0, #0x0 bne _02059834 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058A80 + bl FUN_02058A80 _02059834: pop {r4, pc} .balign 4 - thumb_func_start sub_02059838 -sub_02059838: ; 0x02059838 + thumb_func_start FUN_02059838 +FUN_02059838: ; 0x02059838 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02054B6C + bl FUN_02054B6C cmp r0, #0x1 bne _02059852 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058A4C + bl FUN_02058A4C pop {r3-r5, pc} _02059852: add r0, r5, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x1 bne _0205986E add r0, r4, #0x0 - bl sub_02054B78 + bl FUN_02054B78 cmp r0, #0x0 bne _0205986E add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058A4C + bl FUN_02058A4C _0205986E: pop {r3-r5, pc} - thumb_func_start sub_02059870 -sub_02059870: ; 0x02059870 + thumb_func_start FUN_02059870 +FUN_02059870: ; 0x02059870 bx lr .balign 4 - thumb_func_start sub_02059874 -sub_02059874: ; 0x02059874 + thumb_func_start FUN_02059874 +FUN_02059874: ; 0x02059874 push {r3-r7, lr} sub sp, #0x10 ldr r7, [sp, #0x28] @@ -167400,20 +167400,20 @@ sub_02059874: ; 0x02059874 add r3, r7, #0x0 add r6, r0, #0x0 mov r4, #0x0 - bl sub_02059A08 + bl FUN_02059A08 cmp r0, #0x1 bne _02059896 mov r0, #0x1 orr r4, r0 _02059896: add r0, r6, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, sp, #0xc str r1, [sp, #0x0] ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r7, #0x0 - bl sub_0204A770 + bl FUN_0204A770 cmp r0, #0x1 bne _020598C0 mov r0, #0x2 @@ -167430,7 +167430,7 @@ _020598C0: add r0, r6, #0x0 add r1, r5, #0x0 add r2, r7, #0x0 - bl sub_02059A60 + bl FUN_02059A60 cmp r0, #0x1 bne _020598D4 mov r0, #0x2 @@ -167440,7 +167440,7 @@ _020598D4: add r0, r6, #0x0 add r1, r5, #0x0 add r3, r7, #0x0 - bl sub_0205995C + bl FUN_0205995C cmp r0, #0x1 bne _020598E8 mov r0, #0x4 @@ -167451,8 +167451,8 @@ _020598E8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020598F0 -sub_020598F0: ; 0x020598F0 + thumb_func_start FUN_020598F0 +FUN_020598F0: ; 0x020598F0 push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 @@ -167460,7 +167460,7 @@ sub_020598F0: ; 0x020598F0 add r5, r0, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_02058B5C + bl FUN_02058B5C ldr r0, [sp, #0x28] str r4, [sp, #0x0] str r0, [sp, #0x4] @@ -167468,29 +167468,29 @@ sub_020598F0: ; 0x020598F0 add r1, sp, #0x8 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_02059874 + bl FUN_02059874 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_02059918 -sub_02059918: ; 0x02059918 + thumb_func_start FUN_02059918 +FUN_02059918: ; 0x02059918 push {r4-r7, lr} sub sp, #0xc add r4, r1, #0x0 add r5, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x8] add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 str r4, [sp, #0x0] add r3, r0, #0x0 ldr r4, [sp, #0x8] @@ -167498,25 +167498,25 @@ sub_02059918: ; 0x02059918 add r0, r5, #0x0 add r1, r6, r7 add r3, r4, r3 - bl sub_020598F0 + bl FUN_020598F0 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205995C -sub_0205995C: ; 0x0205995C + thumb_func_start FUN_0205995C +FUN_0205995C: ; 0x0205995C push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02058578 + bl FUN_02058578 add r7, r0, #0x0 - bl sub_020583BC + bl FUN_020583BC str r0, [sp, #0x8] add r0, r7, #0x0 - bl sub_02058368 + bl FUN_02058368 str r0, [sp, #0x4] _0205997C: ldr r0, [sp, #0x8] @@ -167524,26 +167524,26 @@ _0205997C: cmp r0, r1 beq _020599F4 mov r1, #0x1 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _020599F4 mov r1, #0x1 ldr r0, [sp, #0x8] lsl r1, r1, #0x12 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _020599F4 ldr r0, [sp, #0x8] - bl sub_02058B2C + bl FUN_02058B2C add r7, r0, #0x0 ldr r0, [sp, #0x8] - bl sub_02058B4C + bl FUN_02058B4C cmp r7, r5 bne _020599C8 cmp r0, r6 bne _020599C8 ldr r0, [sp, #0x8] - bl sub_02058B3C + bl FUN_02058B3C sub r0, r0, r4 bpl _020599BE neg r0, r0 @@ -167555,16 +167555,16 @@ _020599BE: pop {r4-r7, pc} _020599C8: ldr r0, [sp, #0x8] - bl sub_02058B14 + bl FUN_02058B14 add r7, r0, #0x0 ldr r0, [sp, #0x8] - bl sub_02058B24 + bl FUN_02058B24 cmp r7, r5 bne _020599F4 cmp r0, r6 bne _020599F4 ldr r0, [sp, #0x8] - bl sub_02058B3C + bl FUN_02058B3C sub r0, r0, r4 bpl _020599EA neg r0, r0 @@ -167576,7 +167576,7 @@ _020599EA: pop {r4-r7, pc} _020599F4: add r0, sp, #0x8 - bl sub_020583D4 + bl FUN_020583D4 ldr r0, [sp, #0x4] sub r0, r0, #0x1 str r0, [sp, #0x4] @@ -167585,16 +167585,16 @@ _020599F4: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02059A08 -sub_02059A08: ; 0x02059A08 + thumb_func_start FUN_02059A08 +FUN_02059A08: ; 0x02059A08 push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r4, r3, #0x0 - bl sub_02058AFC + bl FUN_02058AFC add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_02058538 + bl FUN_02058538 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -167610,10 +167610,10 @@ _02059A30: pop {r3-r7, pc} _02059A34: add r0, r6, #0x0 - bl sub_02058B0C + bl FUN_02058B0C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02058540 + bl FUN_02058540 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -167632,33 +167632,33 @@ _02059A5A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02059A60 -sub_02059A60: ; 0x02059A60 + thumb_func_start FUN_02059A60 +FUN_02059A60: ; 0x02059A60 push {r3-r7, lr} add r4, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 add r5, r3, #0x0 - bl sub_02058738 + bl FUN_02058738 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02058720 + bl FUN_02058720 lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #0x0] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r5, r0 bne _02059A92 - bl sub_02020C2C + bl FUN_02020C2C _02059A92: cmp r5, #0x4 blt _02059A9A - bl sub_02020C2C + bl FUN_02020C2C _02059A9A: ldr r1, _02059ABC ; =0x020F6630 lsl r5, r5, #0x2 @@ -167683,18 +167683,18 @@ _02059AB8: _02059ABC: .word 0x020F6630 _02059AC0: .word 0x020F6640 - thumb_func_start sub_02059AC4 -sub_02059AC4: ; 0x02059AC4 + thumb_func_start FUN_02059AC4 +FUN_02059AC4: ; 0x02059AC4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054B8C + bl FUN_02054B8C cmp r0, #0x0 beq _02059AE4 add r0, r5, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x0 bne _02059AF4 mov r0, #0x1 @@ -167702,7 +167702,7 @@ sub_02059AC4: ; 0x02059AC4 _02059AE4: lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_0205481C + bl FUN_0205481C cmp r0, #0x0 beq _02059AF4 mov r0, #0x1 @@ -167711,18 +167711,18 @@ _02059AF4: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02059AF8 -sub_02059AF8: ; 0x02059AF8 + thumb_func_start FUN_02059AF8 +FUN_02059AF8: ; 0x02059AF8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054BB0 + bl FUN_02054BB0 cmp r0, #0x0 beq _02059B18 add r0, r5, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x0 bne _02059B28 mov r0, #0x1 @@ -167730,7 +167730,7 @@ sub_02059AF8: ; 0x02059AF8 _02059B18: lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054830 + bl FUN_02054830 cmp r0, #0x0 beq _02059B28 mov r0, #0x1 @@ -167739,18 +167739,18 @@ _02059B28: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02059B2C -sub_02059B2C: ; 0x02059B2C + thumb_func_start FUN_02059B2C +FUN_02059B2C: ; 0x02059B2C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054BD4 + bl FUN_02054BD4 cmp r0, #0x0 beq _02059B4C add r0, r5, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x0 bne _02059B5C mov r0, #0x1 @@ -167758,7 +167758,7 @@ sub_02059B2C: ; 0x02059B2C _02059B4C: lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_020549AC + bl FUN_020549AC cmp r0, #0x0 beq _02059B5C mov r0, #0x1 @@ -167767,18 +167767,18 @@ _02059B5C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02059B60 -sub_02059B60: ; 0x02059B60 + thumb_func_start FUN_02059B60 +FUN_02059B60: ; 0x02059B60 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054BD4 + bl FUN_02054BD4 cmp r0, #0x0 beq _02059B80 add r0, r5, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x0 bne _02059B90 mov r0, #0x1 @@ -167786,7 +167786,7 @@ sub_02059B60: ; 0x02059B60 _02059B80: lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_020549CC + bl FUN_020549CC cmp r0, #0x0 beq _02059B90 mov r0, #0x1 @@ -167795,16 +167795,16 @@ _02059B90: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02059B94 -sub_02059B94: ; 0x02059B94 + thumb_func_start FUN_02059B94 +FUN_02059B94: ; 0x02059B94 push {r4, lr} add r4, r1, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x1 bne _02059BB0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054B78 + bl FUN_02054B78 cmp r0, #0x1 bne _02059BB0 mov r0, #0x1 @@ -167813,16 +167813,16 @@ _02059BB0: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02059BB4 -sub_02059BB4: ; 0x02059BB4 + thumb_func_start FUN_02059BB4 +FUN_02059BB4: ; 0x02059BB4 push {r4, lr} add r4, r1, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x1 bne _02059BD0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054BE0 + bl FUN_02054BE0 cmp r0, #0x1 bne _02059BD0 mov r0, #0x1 @@ -167831,16 +167831,16 @@ _02059BD0: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02059BD4 -sub_02059BD4: ; 0x02059BD4 + thumb_func_start FUN_02059BD4 +FUN_02059BD4: ; 0x02059BD4 push {r4, lr} add r4, r1, #0x0 - bl sub_02058A68 + bl FUN_02058A68 cmp r0, #0x1 bne _02059BF0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 - bl sub_02054BF4 + bl FUN_02054BF4 cmp r0, #0x1 bne _02059BF0 mov r0, #0x1 @@ -167849,8 +167849,8 @@ _02059BF0: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02059BF4 -sub_02059BF4: ; 0x02059BF4 + thumb_func_start FUN_02059BF4 +FUN_02059BF4: ; 0x02059BF4 lsl r1, r0, #0x2 ldr r0, _02059BFC ; =0x020F6620 ldr r0, [r0, r1] @@ -167858,8 +167858,8 @@ sub_02059BF4: ; 0x02059BF4 .balign 4 _02059BFC: .word 0x020F6620 - thumb_func_start sub_02059C00 -sub_02059C00: ; 0x02059C00 + thumb_func_start FUN_02059C00 +FUN_02059C00: ; 0x02059C00 lsl r1, r0, #0x2 ldr r0, _02059C08 ; =0x020F6650 ldr r0, [r0, r1] @@ -167867,95 +167867,95 @@ sub_02059C00: ; 0x02059C00 .balign 4 _02059C08: .word 0x020F6650 - thumb_func_start sub_02059C0C -sub_02059C0C: ; 0x02059C0C + thumb_func_start FUN_02059C0C +FUN_02059C0C: ; 0x02059C0C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B18 + bl FUN_02058B18 add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B20 + bl FUN_02058B20 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B28 + bl FUN_02058B28 add r0, r4, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B34 + bl FUN_02058B34 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058B44 + bl FUN_02058B44 add r0, r4, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B54 + bl FUN_02058B54 pop {r3-r5, pc} - thumb_func_start sub_02059C60 -sub_02059C60: ; 0x02059C60 + thumb_func_start FUN_02059C60 +FUN_02059C60: ; 0x02059C60 push {r4, lr} add r4, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B18 + bl FUN_02058B18 add r0, r4, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B20 + bl FUN_02058B20 add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B28 + bl FUN_02058B28 pop {r4, pc} .balign 4 - thumb_func_start sub_02059C90 -sub_02059C90: ; 0x02059C90 + thumb_func_start FUN_02059C90 +FUN_02059C90: ; 0x02059C90 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058738 + bl FUN_02058738 ldr r2, [sp, #0x0] add r1, r6, r7 add r2, r2, r5 - bl sub_0204A6E0 + bl FUN_0204A6E0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02059CC8 -sub_02059CC8: ; 0x02059CC8 + thumb_func_start FUN_02059CC8 +FUN_02059CC8: ; 0x02059CC8 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 add r1, sp, #0x0 add r6, r0, #0x0 add r4, r2, #0x0 - bl sub_02058B5C + bl FUN_02058B5C cmp r5, #0x3 bhi _02059D0E add r0, r5, r5 @@ -167978,18 +167978,18 @@ _02059CF8: _02059D0E: add r0, r6, #0x0 add r1, sp, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add sp, #0xc pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02059D1C -sub_02059D1C: ; 0x02059D1C + thumb_func_start FUN_02059D1C +FUN_02059D1C: ; 0x02059D1C push {r3-r5, lr} sub sp, #0x18 add r1, sp, #0xc add r5, r0, #0x0 - bl sub_02058B5C + bl FUN_02058B5C add r3, sp, #0xc ldmia r3!, {r0-r1} add r2, sp, #0x0 @@ -167997,25 +167997,25 @@ sub_02059D1C: ; 0x02059D1C ldr r0, [r3, #0x0] str r0, [r2, #0x0] add r0, r5, #0x0 - bl sub_0205897C + bl FUN_0205897C cmp r0, #0x1 bne _02059D4E mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc - bl sub_02058418 + bl FUN_02058418 add sp, #0x18 mov r0, #0x0 pop {r3-r5, pc} _02059D4E: add r0, r5, #0x0 - bl sub_02058AE4 + bl FUN_02058AE4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, sp, #0x0 add r2, r4, #0x0 - bl sub_02059EC8 + bl FUN_02059EC8 add r4, r0, #0x0 cmp r4, #0x1 bne _02059DA2 @@ -168023,12 +168023,12 @@ _02059D4E: add r1, sp, #0xc str r0, [sp, #0x10] add r0, r5, #0x0 - bl sub_02058B6C + bl FUN_02058B6C add r0, r5, #0x0 - bl sub_02058B3C + bl FUN_02058B3C add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B20 + bl FUN_02058B20 ldr r1, [sp, #0x10] add r0, r5, #0x0 asr r2, r1, #0x3 @@ -168036,75 +168036,75 @@ _02059D4E: lsr r1, r1, #0x14 add r1, r2, r1 asr r1, r1, #0xc - bl sub_02058B40 + bl FUN_02058B40 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc - bl sub_02058418 + bl FUN_02058418 b _02059DAC _02059DA2: mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0xc - bl sub_02058410 + bl FUN_02058410 _02059DAC: add r0, r4, #0x0 add sp, #0x18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02059DB4 -sub_02059DB4: ; 0x02059DB4 + thumb_func_start FUN_02059DB4 +FUN_02059DB4: ; 0x02059DB4 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02058B14 + bl FUN_02058B14 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B24 + bl FUN_02058B24 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, r4, #0x0 add r2, r6, #0x0 add r7, r0, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02058728 + bl FUN_02058728 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r2, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058718 + bl FUN_02058718 add r0, r4, #0x0 - bl sub_02054C08 + bl FUN_02054C08 cmp r0, #0x1 bne _02059E18 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xa - bl sub_02058410 + bl FUN_02058410 mov r0, #0x0 pop {r3-r7, pc} _02059E18: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0xa - bl sub_02058418 + bl FUN_02058418 mov r0, #0x1 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02059E28 -sub_02059E28: ; 0x02059E28 + thumb_func_start FUN_02059E28 +FUN_02059E28: ; 0x02059E28 cmp r0, #0x3 bhi _02059E5E add r0, r0, r0 @@ -168127,8 +168127,8 @@ _02059E48: _02059E5E: bx lr - thumb_func_start sub_02059E60 -sub_02059E60: ; 0x02059E60 + thumb_func_start FUN_02059E60 +FUN_02059E60: ; 0x02059E60 lsl r3, r0, #0x10 mov r0, #0x2 lsl r0, r0, #0xe @@ -168140,8 +168140,8 @@ sub_02059E60: ; 0x02059E60 bx lr .balign 4 - thumb_func_start sub_02059E74 -sub_02059E74: ; 0x02059E74 + thumb_func_start FUN_02059E74 +FUN_02059E74: ; 0x02059E74 lsl r1, r0, #0x2 ldr r0, _02059E7C ; =0x020F6660 ldr r0, [r0, r1] @@ -168149,8 +168149,8 @@ sub_02059E74: ; 0x02059E74 .balign 4 _02059E7C: .word 0x020F6660 - thumb_func_start sub_02059E80 -sub_02059E80: ; 0x02059E80 + thumb_func_start FUN_02059E80 +FUN_02059E80: ; 0x02059E80 cmp r0, r2 ble _02059E88 mov r0, #0x2 @@ -168169,8 +168169,8 @@ _02059E98: mov r0, #0x0 bx lr - thumb_func_start sub_02059E9C -sub_02059E9C: ; 0x02059E9C + thumb_func_start FUN_02059E9C +FUN_02059E9C: ; 0x02059E9C push {r4, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -168179,7 +168179,7 @@ sub_02059E9C: ; 0x02059E9C ldr r1, [r4, #0x4] ldr r2, [r4, #0x0] ldr r3, [r4, #0x8] - bl sub_0204A708 + bl FUN_0204A708 add r1, sp, #0x4 ldrb r1, [r1, #0x0] cmp r1, #0x0 @@ -168194,8 +168194,8 @@ _02059EBE: pop {r4, pc} .balign 4 - thumb_func_start sub_02059EC8 -sub_02059EC8: ; 0x02059EC8 + thumb_func_start FUN_02059EC8 +FUN_02059EC8: ; 0x02059EC8 push {r3-r5, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -168205,7 +168205,7 @@ sub_02059EC8: ; 0x02059EC8 ldr r1, [r5, #0x4] ldr r2, [r5, #0x0] ldr r3, [r5, #0x8] - bl sub_0204A708 + bl FUN_0204A708 add r1, sp, #0x4 ldrb r1, [r1, #0x0] cmp r1, #0x0 @@ -168228,135 +168228,135 @@ _02059EFA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02059F04 -sub_02059F04: ; 0x02059F04 + thumb_func_start FUN_02059F04 +FUN_02059F04: ; 0x02059F04 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 - bl sub_0205858C + bl FUN_0205858C add r4, r0, #0x0 mov r1, #0x0 ldr r0, _02059F30 ; =0x020F693C mvn r1, r1 - bl sub_0205AAB0 + bl FUN_0205AAB0 strh r0, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x0 str r6, [r4, #0x4] - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 pop {r4-r6, pc} .balign 4 _02059F30: .word 0x020F693C - thumb_func_start sub_02059F34 -sub_02059F34: ; 0x02059F34 - ldr r3, _02059F3C ; =sub_02059F04 + thumb_func_start FUN_02059F34 +FUN_02059F34: ; 0x02059F34 + ldr r3, _02059F3C ; =FUN_02059F04 mov r1, #0x0 bx r3 nop -_02059F3C: .word sub_02059F04 + 1 +_02059F3C: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F40 -sub_02059F40: ; 0x02059F40 - ldr r3, _02059F48 ; =sub_02059F04 + thumb_func_start FUN_02059F40 +FUN_02059F40: ; 0x02059F40 + ldr r3, _02059F48 ; =FUN_02059F04 mov r1, #0x1 bx r3 nop -_02059F48: .word sub_02059F04 + 1 +_02059F48: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F4C -sub_02059F4C: ; 0x02059F4C - ldr r3, _02059F54 ; =sub_02059F04 + thumb_func_start FUN_02059F4C +FUN_02059F4C: ; 0x02059F4C + ldr r3, _02059F54 ; =FUN_02059F04 mov r1, #0x2 bx r3 nop -_02059F54: .word sub_02059F04 + 1 +_02059F54: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F58 -sub_02059F58: ; 0x02059F58 - ldr r3, _02059F60 ; =sub_02059F04 + thumb_func_start FUN_02059F58 +FUN_02059F58: ; 0x02059F58 + ldr r3, _02059F60 ; =FUN_02059F04 mov r1, #0x3 bx r3 nop -_02059F60: .word sub_02059F04 + 1 +_02059F60: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F64 -sub_02059F64: ; 0x02059F64 - ldr r3, _02059F6C ; =sub_02059F04 + thumb_func_start FUN_02059F64 +FUN_02059F64: ; 0x02059F64 + ldr r3, _02059F6C ; =FUN_02059F04 mov r1, #0x4 bx r3 nop -_02059F6C: .word sub_02059F04 + 1 +_02059F6C: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F70 -sub_02059F70: ; 0x02059F70 - ldr r3, _02059F78 ; =sub_02059F04 + thumb_func_start FUN_02059F70 +FUN_02059F70: ; 0x02059F70 + ldr r3, _02059F78 ; =FUN_02059F04 mov r1, #0x5 bx r3 nop -_02059F78: .word sub_02059F04 + 1 +_02059F78: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F7C -sub_02059F7C: ; 0x02059F7C - ldr r3, _02059F84 ; =sub_02059F04 + thumb_func_start FUN_02059F7C +FUN_02059F7C: ; 0x02059F7C + ldr r3, _02059F84 ; =FUN_02059F04 mov r1, #0x6 bx r3 nop -_02059F84: .word sub_02059F04 + 1 +_02059F84: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F88 -sub_02059F88: ; 0x02059F88 - ldr r3, _02059F90 ; =sub_02059F04 + thumb_func_start FUN_02059F88 +FUN_02059F88: ; 0x02059F88 + ldr r3, _02059F90 ; =FUN_02059F04 mov r1, #0x7 bx r3 nop -_02059F90: .word sub_02059F04 + 1 +_02059F90: .word FUN_02059F04 + 1 - thumb_func_start sub_02059F94 -sub_02059F94: ; 0x02059F94 - ldr r3, _02059F9C ; =sub_02059F04 + thumb_func_start FUN_02059F94 +FUN_02059F94: ; 0x02059F94 + ldr r3, _02059F9C ; =FUN_02059F04 mov r1, #0x8 bx r3 nop -_02059F9C: .word sub_02059F04 + 1 +_02059F9C: .word FUN_02059F04 + 1 - thumb_func_start sub_02059FA0 -sub_02059FA0: ; 0x02059FA0 - ldr r3, _02059FA8 ; =sub_02059F04 + thumb_func_start FUN_02059FA0 +FUN_02059FA0: ; 0x02059FA0 + ldr r3, _02059FA8 ; =FUN_02059F04 mov r1, #0x9 bx r3 nop -_02059FA8: .word sub_02059F04 + 1 +_02059FA8: .word FUN_02059F04 + 1 - thumb_func_start sub_02059FAC -sub_02059FAC: ; 0x02059FAC - ldr r3, _02059FB4 ; =sub_02059F04 + thumb_func_start FUN_02059FAC +FUN_02059FAC: ; 0x02059FAC + ldr r3, _02059FB4 ; =FUN_02059F04 mov r1, #0xa bx r3 nop -_02059FB4: .word sub_02059F04 + 1 +_02059FB4: .word FUN_02059F04 + 1 - thumb_func_start sub_02059FB8 -sub_02059FB8: ; 0x02059FB8 + thumb_func_start FUN_02059FB8 +FUN_02059FB8: ; 0x02059FB8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 mov r2, #0x0 ldr r1, [r4, #0x4] add r0, r5, #0x0 mvn r2, r2 - bl sub_0205ABEC + bl FUN_0205ABEC mov r2, #0x0 add r1, r0, #0x0 mvn r2, r2 cmp r1, r2 beq _02059FE0 add r0, r5, #0x0 - bl sub_020584AC + bl FUN_020584AC b _0205A010 _02059FE0: ldrh r0, [r4, #0x0] @@ -168371,82 +168371,82 @@ _02059FE0: bgt _0205A010 ldr r0, _0205A018 ; =0x020F693C add r1, r2, #0x0 - bl sub_0205AAB0 + bl FUN_0205AAB0 strh r0, [r4, #0x2] mov r1, #0x0 ldr r0, [r4, #0x4] mvn r1, r1 - bl sub_0205AAD4 + bl FUN_0205AAD4 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_020584AC + bl FUN_020584AC _0205A010: add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 pop {r3-r5, pc} .balign 4 _0205A018: .word 0x020F693C - thumb_func_start sub_0205A01C -sub_0205A01C: ; 0x0205A01C + thumb_func_start FUN_0205A01C +FUN_0205A01C: ; 0x0205A01C bx lr .balign 4 - thumb_func_start sub_0205A020 -sub_0205A020: ; 0x0205A020 + thumb_func_start FUN_0205A020 +FUN_0205A020: ; 0x0205A020 push {r3, lr} mov r1, #0xc mov r2, #0xb mov r3, #0x0 - bl sub_0205A050 + bl FUN_0205A050 pop {r3, pc} .balign 4 - thumb_func_start sub_0205A030 -sub_0205A030: ; 0x0205A030 + thumb_func_start FUN_0205A030 +FUN_0205A030: ; 0x0205A030 push {r3, lr} mov r1, #0xc add r2, r1, #0x0 mov r3, #0x0 - bl sub_0205A050 + bl FUN_0205A050 pop {r3, pc} .balign 4 - thumb_func_start sub_0205A040 -sub_0205A040: ; 0x0205A040 + thumb_func_start FUN_0205A040 +FUN_0205A040: ; 0x0205A040 push {r3, lr} mov r1, #0xc mov r2, #0xd mov r3, #0x0 - bl sub_0205A050 + bl FUN_0205A050 pop {r3, pc} .balign 4 - thumb_func_start sub_0205A050 -sub_0205A050: ; 0x0205A050 + thumb_func_start FUN_0205A050 +FUN_0205A050: ; 0x0205A050 push {r3-r7, lr} add r4, r1, #0x0 add r7, r3, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r6, r2, #0x0 - bl sub_0205858C + bl FUN_0205858C str r7, [r0, #0x4] str r4, [r0, #0x8] str r6, [r0, #0xc] add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205A078 -sub_0205A078: ; 0x0205A078 + thumb_func_start FUN_0205A078 +FUN_0205A078: ; 0x0205A078 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 mov r0, #0x0 ldrsh r0, [r4, r0] @@ -168464,16 +168464,16 @@ sub_0205A078: ; 0x0205A078 lsl r6, r4, #0x1 lsl r2, r0, #0x3 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205886C + bl FUN_0205886C add r0, r5, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C mov r0, #0x0 ldrsh r0, [r4, r0] add r0, r0, #0x1 @@ -168496,25 +168496,25 @@ _0205A16E: _0205A170: .byte 0x3C, 0x69, 0x0F, 0x02 - thumb_func_start sub_0205A174 -sub_0205A174: ; 0x0205A174 + thumb_func_start FUN_0205A174 +FUN_0205A174: ; 0x0205A174 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] add r4, r1, #0x0 - bl sub_02058AFC + bl FUN_02058AFC add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02058B0C + bl FUN_02058B0C add r5, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02058538 + bl FUN_02058538 add r7, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02058540 + bl FUN_02058540 str r0, [sp, #0x4] ldr r0, [sp, #0x0] - bl sub_02058480 + bl FUN_02058480 cmp r0, #0xd bhi _0205A268 add r0, r0, r0 @@ -168558,29 +168558,29 @@ _0205A1DE: .byte 0xE5, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60 .byte 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60, 0xF8, 0xBD _0205A268: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0205A270 -sub_0205A270: ; 0x0205A270 + thumb_func_start FUN_0205A270 +FUN_0205A270: ; 0x0205A270 push {r4-r6, lr} sub sp, #0x10 add r6, r1, #0x0 add r5, r0, #0x0 add r1, sp, #0x0 - bl sub_0205A174 + bl FUN_0205A174 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r4, r4, r0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r1, r5, r0 ldr r0, [sp, #0x0] cmp r0, r4 @@ -168608,28 +168608,28 @@ _0205A2C2: add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_0205A2C8 -sub_0205A2C8: ; 0x0205A2C8 + thumb_func_start FUN_0205A2C8 +FUN_0205A2C8: ; 0x0205A2C8 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x8 - bl sub_0205858C + bl FUN_0205858C str r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 pop {r3-r5, pc} - thumb_func_start sub_0205A2EC -sub_0205A2EC: ; 0x0205A2EC + thumb_func_start FUN_0205A2EC +FUN_0205A2EC: ; 0x0205A2EC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 @@ -168639,82 +168639,82 @@ sub_0205A2EC: ; 0x0205A2EC _0205A300: ldr r1, [r4, #0x0] add r0, r5, #0x0 - bl sub_020584AC + bl FUN_020584AC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] pop {r3-r5, pc} - thumb_func_start sub_0205A310 -sub_0205A310: ; 0x0205A310 - ldr r3, _0205A318 ; =sub_0205A2C8 + thumb_func_start FUN_0205A310 +FUN_0205A310: ; 0x0205A310 + ldr r3, _0205A318 ; =FUN_0205A2C8 mov r1, #0x0 bx r3 nop -_0205A318: .word sub_0205A2C8 + 1 +_0205A318: .word FUN_0205A2C8 + 1 - thumb_func_start sub_0205A31C -sub_0205A31C: ; 0x0205A31C - ldr r3, _0205A324 ; =sub_0205A2C8 + thumb_func_start FUN_0205A31C +FUN_0205A31C: ; 0x0205A31C + ldr r3, _0205A324 ; =FUN_0205A2C8 mov r1, #0x1 bx r3 nop -_0205A324: .word sub_0205A2C8 + 1 +_0205A324: .word FUN_0205A2C8 + 1 - thumb_func_start sub_0205A328 -sub_0205A328: ; 0x0205A328 - ldr r3, _0205A330 ; =sub_0205A2C8 + thumb_func_start FUN_0205A328 +FUN_0205A328: ; 0x0205A328 + ldr r3, _0205A330 ; =FUN_0205A2C8 mov r1, #0x2 bx r3 nop -_0205A330: .word sub_0205A2C8 + 1 +_0205A330: .word FUN_0205A2C8 + 1 - thumb_func_start sub_0205A334 -sub_0205A334: ; 0x0205A334 - ldr r3, _0205A33C ; =sub_0205A2C8 + thumb_func_start FUN_0205A334 +FUN_0205A334: ; 0x0205A334 + ldr r3, _0205A33C ; =FUN_0205A2C8 mov r1, #0x3 bx r3 nop -_0205A33C: .word sub_0205A2C8 + 1 +_0205A33C: .word FUN_0205A2C8 + 1 - thumb_func_start sub_0205A340 -sub_0205A340: ; 0x0205A340 + thumb_func_start FUN_0205A340 +FUN_0205A340: ; 0x0205A340 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x8 - bl sub_0205858C + bl FUN_0205858C strb r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 pop {r3-r5, pc} - thumb_func_start sub_0205A364 -sub_0205A364: ; 0x0205A364 - ldr r3, _0205A36C ; =sub_0205A340 + thumb_func_start FUN_0205A364 +FUN_0205A364: ; 0x0205A364 + ldr r3, _0205A36C ; =FUN_0205A340 mov r1, #0x2 bx r3 nop -_0205A36C: .word sub_0205A340 + 1 +_0205A36C: .word FUN_0205A340 + 1 - thumb_func_start sub_0205A370 -sub_0205A370: ; 0x0205A370 - ldr r3, _0205A378 ; =sub_0205A340 + thumb_func_start FUN_0205A370 +FUN_0205A370: ; 0x0205A370 + ldr r3, _0205A378 ; =FUN_0205A340 mov r1, #0x3 bx r3 nop -_0205A378: .word sub_0205A340 + 1 +_0205A378: .word FUN_0205A340 + 1 - thumb_func_start sub_0205A37C -sub_0205A37C: ; 0x0205A37C + thumb_func_start FUN_0205A37C +FUN_0205A37C: ; 0x0205A37C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldr r6, _0205A39C ; =0x020F6754 add r4, r0, #0x0 mov r7, #0x2 @@ -168731,37 +168731,37 @@ _0205A38A: .balign 4 _0205A39C: .word 0x020F6754 - thumb_func_start sub_0205A3A0 -sub_0205A3A0: ; 0x0205A3A0 + thumb_func_start FUN_0205A3A0 +FUN_0205A3A0: ; 0x0205A3A0 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x26 add r2, r1, #0x0 sub r2, #0x27 add r5, r0, #0x0 - bl sub_0205ABEC + bl FUN_0205ABEC mov r1, #0x0 mvn r1, r1 cmp r0, r1 bne _0205A3BE add r0, r5, #0x0 - bl sub_020584C4 + bl FUN_020584C4 _0205A3BE: mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C mov r0, #0x1 strb r0, [r4, #0x2] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205A3D4 -sub_0205A3D4: ; 0x0205A3D4 + thumb_func_start FUN_0205A3D4 +FUN_0205A3D4: ; 0x0205A3D4 push {r4, lr} add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x0 bne _0205A3E4 mov r0, #0x0 @@ -168774,8 +168774,8 @@ _0205A3E4: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205A3F0 -sub_0205A3F0: ; 0x0205A3F0 + thumb_func_start FUN_0205A3F0 +FUN_0205A3F0: ; 0x0205A3F0 push {r4, lr} add r4, r1, #0x0 ldr r1, [r4, #0x4] @@ -168784,7 +168784,7 @@ sub_0205A3F0: ; 0x0205A3F0 mov r1, #0x26 add r2, r1, #0x0 sub r2, #0x27 - bl sub_0205ABEC + bl FUN_0205ABEC mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -168808,8 +168808,8 @@ _0205A422: pop {r4, pc} .balign 4 - thumb_func_start sub_0205A42C -sub_0205A42C: ; 0x0205A42C + thumb_func_start FUN_0205A42C +FUN_0205A42C: ; 0x0205A42C push {r3-r7, lr} sub sp, #0x28 ldr r3, _0205A4BC ; =0x020F68D8 @@ -168839,7 +168839,7 @@ sub_0205A42C: ; 0x0205A42C add r5, r2, #0x0 _0205A462: add r0, r7, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r4, #0x0 ldr r2, [r5, #0x0] sub r1, r4, #0x1 @@ -168863,7 +168863,7 @@ _0205A486: mvn r0, r0 cmp r1, r0 bne _0205A496 - bl sub_02020C2C + bl FUN_02020C2C _0205A496: add r4, r4, #0x1 lsl r0, r4, #0x2 @@ -168877,7 +168877,7 @@ _0205A4A6: lsl r1, r4, #0x2 ldr r1, [r5, r1] add r0, r7, #0x0 - bl sub_020584AC + bl FUN_020584AC mov r0, #0x0 strb r0, [r6, #0x2] mov r0, #0x1 @@ -168887,19 +168887,19 @@ _0205A4A6: _0205A4BC: .word 0x020F68D8 _0205A4C0: .word 0x020F68EC - thumb_func_start sub_0205A4C4 -sub_0205A4C4: ; 0x0205A4C4 - ldr r3, _0205A4CC ; =sub_0205A340 + thumb_func_start FUN_0205A4C4 +FUN_0205A4C4: ; 0x0205A4C4 + ldr r3, _0205A4CC ; =FUN_0205A340 mov r1, #0x3 bx r3 nop -_0205A4CC: .word sub_0205A340 + 1 +_0205A4CC: .word FUN_0205A340 + 1 - thumb_func_start sub_0205A4D0 -sub_0205A4D0: ; 0x0205A4D0 + thumb_func_start FUN_0205A4D0 +FUN_0205A4D0: ; 0x0205A4D0 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldr r6, _0205A4F0 ; =0x020F6724 add r4, r0, #0x0 mov r7, #0x2 @@ -168916,27 +168916,27 @@ _0205A4DE: .balign 4 _0205A4F0: .word 0x020F6724 - thumb_func_start sub_0205A4F4 -sub_0205A4F4: ; 0x0205A4F4 + thumb_func_start FUN_0205A4F4 +FUN_0205A4F4: ; 0x0205A4F4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C mov r0, #0x1 strb r0, [r4, #0x2] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205A514 -sub_0205A514: ; 0x0205A514 + thumb_func_start FUN_0205A514 +FUN_0205A514: ; 0x0205A514 push {r4, lr} add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x0 bne _0205A524 mov r0, #0x0 @@ -168949,8 +168949,8 @@ _0205A524: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205A530 -sub_0205A530: ; 0x0205A530 + thumb_func_start FUN_0205A530 +FUN_0205A530: ; 0x0205A530 ldr r0, [r1, #0x4] add r0, r0, #0x1 str r0, [r1, #0x4] @@ -168965,8 +168965,8 @@ _0205A53E: bx lr .balign 4 - thumb_func_start sub_0205A548 -sub_0205A548: ; 0x0205A548 + thumb_func_start FUN_0205A548 +FUN_0205A548: ; 0x0205A548 push {r3-r7, lr} sub sp, #0x28 ldr r3, _0205A5F4 ; =0x020F6900 @@ -168996,7 +168996,7 @@ sub_0205A548: ; 0x0205A548 add r5, r4, #0x0 _0205A57E: add r0, r7, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r4, #0x0 ldr r2, [r5, #0x0] sub r1, r4, #0x1 @@ -169020,7 +169020,7 @@ _0205A5A2: mvn r0, r0 cmp r1, r0 bne _0205A5B2 - bl sub_02020C2C + bl FUN_02020C2C _0205A5B2: add r4, r4, #0x1 lsl r0, r4, #0x2 @@ -169034,17 +169034,17 @@ _0205A5C2: lsl r1, r4, #0x2 ldr r1, [r5, r1] add r0, r7, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r7, #0x0 - bl sub_020584C4 + bl FUN_020584C4 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_020584A0 + bl FUN_020584A0 cmp r4, r0 bne _0205A5E8 mov r0, #0x0 ldrsb r0, [r6, r0] - bl sub_02059E74 + bl FUN_02059E74 strb r0, [r6, #0x0] _0205A5E8: mov r0, #0x0 @@ -169056,28 +169056,28 @@ _0205A5E8: _0205A5F4: .word 0x020F6900 _0205A5F8: .word 0x020F6928 - thumb_func_start sub_0205A5FC -sub_0205A5FC: ; 0x0205A5FC + thumb_func_start FUN_0205A5FC +FUN_0205A5FC: ; 0x0205A5FC push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x8 - bl sub_0205858C + bl FUN_0205858C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A61A add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_0205ACF4 + bl FUN_0205ACF4 _0205A61A: pop {r3-r5, pc} - thumb_func_start sub_0205A61C -sub_0205A61C: ; 0x0205A61C + thumb_func_start FUN_0205A61C +FUN_0205A61C: ; 0x0205A61C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldr r6, _0205A63C ; =0x020F66CC add r4, r0, #0x0 mov r7, #0x0 @@ -169094,38 +169094,38 @@ _0205A62A: .balign 4 _0205A63C: .word 0x020F66CC - thumb_func_start sub_0205A640 -sub_0205A640: ; 0x0205A640 + thumb_func_start FUN_0205A640 +FUN_0205A640: ; 0x0205A640 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020584A0 + bl FUN_020584A0 mov r1, #0x2 ldrsh r1, [r4, r1] add r6, r0, #0x0 cmp r1, #0x1 bne _0205A65A - bl sub_02059E74 + bl FUN_02059E74 add r6, r0, #0x0 _0205A65A: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A674 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584AC + bl FUN_020584AC _0205A674: mov r0, #0x1 strh r0, [r4, #0x0] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205A67C -sub_0205A67C: ; 0x0205A67C + thumb_func_start FUN_0205A67C +FUN_0205A67C: ; 0x0205A67C push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x2 @@ -169133,56 +169133,56 @@ sub_0205A67C: ; 0x0205A67C add r5, r0, #0x0 cmp r1, #0x0 beq _0205A6DA - bl sub_02058AFC + bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B0C + bl FUN_02058B0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C ldr r1, [sp, #0x0] cmp r6, r1 bne _0205A6DA cmp r7, r0 bne _0205A6DA add r0, r5, #0x0 - bl sub_020584D4 - bl sub_02059E74 + bl FUN_020584D4 + bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A6D6 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584AC + bl FUN_020584AC _0205A6D6: mov r0, #0x0 strh r0, [r4, #0x2] _0205A6DA: add r0, r5, #0x0 - bl sub_020584D4 + bl FUN_020584D4 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059918 + bl FUN_02059918 mov r1, #0x1 add r2, r0, #0x0 tst r2, r1 beq _0205A704 add r0, r6, #0x0 strh r1, [r4, #0x2] - bl sub_02059E74 + bl FUN_02059E74 add r6, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059918 + bl FUN_02059918 _0205A704: mov r1, #0xc cmp r0, #0x0 @@ -169190,43 +169190,43 @@ _0205A704: mov r1, #0x20 _0205A70C: add r0, r6, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A72C add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_0205AD0C + bl FUN_0205AD0C _0205A72C: add r0, r5, #0x0 - bl sub_0205883C + bl FUN_0205883C mov r0, #0x2 strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205A73C -sub_0205A73C: ; 0x0205A73C + thumb_func_start FUN_0205A73C +FUN_0205A73C: ; 0x0205A73C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x1 bne _0205A766 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A762 add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_0205AD88 + bl FUN_0205AD88 _0205A762: mov r0, #0x0 strh r0, [r4, #0x0] @@ -169235,276 +169235,276 @@ _0205A766: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205A76C -sub_0205A76C: ; 0x0205A76C + thumb_func_start FUN_0205A76C +FUN_0205A76C: ; 0x0205A76C push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_0205858C + bl FUN_0205858C add r4, r0, #0x0 strh r6, [r4, #0x4] ldr r0, [sp, #0x0] strh r7, [r4, #0x6] str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205A79A add r4, #0xc add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205ACF4 + bl FUN_0205ACF4 _0205A79A: pop {r3-r7, pc} - thumb_func_start sub_0205A79C -sub_0205A79C: ; 0x0205A79C + thumb_func_start FUN_0205A79C +FUN_0205A79C: ; 0x0205A79C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0xe - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7AC -sub_0205A7AC: ; 0x0205A7AC + thumb_func_start FUN_0205A7AC +FUN_0205A7AC: ; 0x0205A7AC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0xf - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7BC -sub_0205A7BC: ; 0x0205A7BC + thumb_func_start FUN_0205A7BC +FUN_0205A7BC: ; 0x0205A7BC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x10 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7CC -sub_0205A7CC: ; 0x0205A7CC + thumb_func_start FUN_0205A7CC +FUN_0205A7CC: ; 0x0205A7CC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x11 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7DC -sub_0205A7DC: ; 0x0205A7DC + thumb_func_start FUN_0205A7DC +FUN_0205A7DC: ; 0x0205A7DC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x12 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7EC -sub_0205A7EC: ; 0x0205A7EC + thumb_func_start FUN_0205A7EC +FUN_0205A7EC: ; 0x0205A7EC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x13 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A7FC -sub_0205A7FC: ; 0x0205A7FC + thumb_func_start FUN_0205A7FC +FUN_0205A7FC: ; 0x0205A7FC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x14 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A80C -sub_0205A80C: ; 0x0205A80C + thumb_func_start FUN_0205A80C +FUN_0205A80C: ; 0x0205A80C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x15 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A81C -sub_0205A81C: ; 0x0205A81C + thumb_func_start FUN_0205A81C +FUN_0205A81C: ; 0x0205A81C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x16 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A82C -sub_0205A82C: ; 0x0205A82C + thumb_func_start FUN_0205A82C +FUN_0205A82C: ; 0x0205A82C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x17 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A83C -sub_0205A83C: ; 0x0205A83C + thumb_func_start FUN_0205A83C +FUN_0205A83C: ; 0x0205A83C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x18 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A84C -sub_0205A84C: ; 0x0205A84C + thumb_func_start FUN_0205A84C +FUN_0205A84C: ; 0x0205A84C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x19 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A85C -sub_0205A85C: ; 0x0205A85C + thumb_func_start FUN_0205A85C +FUN_0205A85C: ; 0x0205A85C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1a - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A86C -sub_0205A86C: ; 0x0205A86C + thumb_func_start FUN_0205A86C +FUN_0205A86C: ; 0x0205A86C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1b - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A87C -sub_0205A87C: ; 0x0205A87C + thumb_func_start FUN_0205A87C +FUN_0205A87C: ; 0x0205A87C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x1c - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A88C -sub_0205A88C: ; 0x0205A88C + thumb_func_start FUN_0205A88C +FUN_0205A88C: ; 0x0205A88C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x1d - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A89C -sub_0205A89C: ; 0x0205A89C + thumb_func_start FUN_0205A89C +FUN_0205A89C: ; 0x0205A89C push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1e - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8AC -sub_0205A8AC: ; 0x0205A8AC + thumb_func_start FUN_0205A8AC +FUN_0205A8AC: ; 0x0205A8AC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x1f - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8BC -sub_0205A8BC: ; 0x0205A8BC + thumb_func_start FUN_0205A8BC +FUN_0205A8BC: ; 0x0205A8BC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x20 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8CC -sub_0205A8CC: ; 0x0205A8CC + thumb_func_start FUN_0205A8CC +FUN_0205A8CC: ; 0x0205A8CC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x21 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8DC -sub_0205A8DC: ; 0x0205A8DC + thumb_func_start FUN_0205A8DC +FUN_0205A8DC: ; 0x0205A8DC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x22 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8EC -sub_0205A8EC: ; 0x0205A8EC + thumb_func_start FUN_0205A8EC +FUN_0205A8EC: ; 0x0205A8EC push {r3, lr} mov r1, #0x2 mov r2, #0x1 mov r3, #0x23 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A8FC -sub_0205A8FC: ; 0x0205A8FC + thumb_func_start FUN_0205A8FC +FUN_0205A8FC: ; 0x0205A8FC push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x24 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A90C -sub_0205A90C: ; 0x0205A90C + thumb_func_start FUN_0205A90C +FUN_0205A90C: ; 0x0205A90C push {r3, lr} mov r1, #0x2 mov r2, #0x0 mov r3, #0x25 - bl sub_0205A76C + bl FUN_0205A76C pop {r3, pc} .balign 4 - thumb_func_start sub_0205A91C -sub_0205A91C: ; 0x0205A91C + thumb_func_start FUN_0205A91C +FUN_0205A91C: ; 0x0205A91C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldr r6, _0205A93C ; =0x020F6670 add r4, r0, #0x0 mov r7, #0x0 @@ -169521,8 +169521,8 @@ _0205A92A: .balign 4 _0205A93C: .word 0x020F6670 - thumb_func_start sub_0205A940 -sub_0205A940: ; 0x0205A940 + thumb_func_start FUN_0205A940 +FUN_0205A940: ; 0x0205A940 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x2 @@ -169536,10 +169536,10 @@ sub_0205A940: ; 0x0205A940 ldrsh r1, [r4, r1] cmp r1, #0x0 bne _0205A974 - bl sub_02058AFC + bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r6, r0 bne _0205A98C mov r0, #0x2 @@ -169548,10 +169548,10 @@ sub_0205A940: ; 0x0205A940 strh r0, [r4, #0x2] b _0205A98C _0205A974: - bl sub_02058B0C + bl FUN_02058B0C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r6, r0 bne _0205A98C mov r0, #0x2 @@ -169564,16 +169564,16 @@ _0205A98C: cmp r0, #0x3 bne _0205A9C0 add r0, r5, #0x0 - bl sub_02058AFC + bl FUN_02058AFC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B0C + bl FUN_02058B0C add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C ldr r1, [sp, #0x0] cmp r6, r1 bne _0205A9C0 @@ -169583,7 +169583,7 @@ _0205A98C: strh r0, [r4, #0x2] _0205A9C0: ldr r0, [r4, #0x8] - bl sub_0205AAFC + bl FUN_0205AAFC add r7, r0, #0x0 mov r0, #0x2 ldrsh r0, [r4, r0] @@ -169591,18 +169591,18 @@ _0205A9C0: ldr r6, [r7, r0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x0 bne _0205A9EA add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584AC + bl FUN_020584AC _0205A9EA: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059918 + bl FUN_02059918 mov r1, #0x1 tst r1, r0 beq _0205AA28 @@ -169615,18 +169615,18 @@ _0205A9EA: ldr r6, [r7, r0] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584CC + bl FUN_020584CC add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x0 bne _0205AA20 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020584AC + bl FUN_020584AC _0205AA20: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02059918 + bl FUN_02059918 _0205AA28: mov r1, #0xc cmp r0, #0x0 @@ -169634,44 +169634,44 @@ _0205AA28: mov r1, #0x20 _0205AA30: add r0, r6, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205AA52 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0xc - bl sub_0205AD0C + bl FUN_0205AD0C _0205AA52: add r0, r5, #0x0 - bl sub_0205883C + bl FUN_0205883C mov r0, #0x1 strh r0, [r4, #0x0] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205AA60 -sub_0205AA60: ; 0x0205AA60 + thumb_func_start FUN_0205AA60 +FUN_0205AA60: ; 0x0205AA60 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x1 bne _0205AA8C add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205ACE0 + bl FUN_0205ACE0 cmp r0, #0x1 bne _0205AA88 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0xc - bl sub_0205AD88 + bl FUN_0205AD88 _0205AA88: mov r0, #0x0 strh r0, [r4, #0x0] @@ -169679,8 +169679,8 @@ _0205AA8C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205AA90 -sub_0205AA90: ; 0x0205AA90 + thumb_func_start FUN_0205AA90 +FUN_0205AA90: ; 0x0205AA90 push {r4, lr} ldr r2, [r0, #0x0] mov r4, #0x0 @@ -169695,50 +169695,50 @@ _0205AA9A: _0205AAA4: cmp r4, #0x0 bne _0205AAAC - bl sub_02020C2C + bl FUN_02020C2C _0205AAAC: add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_0205AAB0 -sub_0205AAB0: ; 0x0205AAB0 + thumb_func_start FUN_0205AAB0 +FUN_0205AAB0: ; 0x0205AAB0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205AA90 + bl FUN_0205AA90 add r1, r0, #0x0 add r0, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x2 ldr r0, [r5, r0] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205AAD4 -sub_0205AAD4: ; 0x0205AAD4 + thumb_func_start FUN_0205AAD4 +FUN_0205AAD4: ; 0x0205AAD4 push {r4-r6, lr} add r5, r1, #0x0 - bl sub_0205AAFC + bl FUN_0205AAFC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC add r6, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0205AA90 + bl FUN_0205AA90 add r1, r0, #0x0 add r0, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x2 ldr r0, [r4, r0] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205AAFC -sub_0205AAFC: ; 0x0205AAFC + thumb_func_start FUN_0205AAFC +FUN_0205AAFC: ; 0x0205AAFC push {r3, lr} ldr r1, _0205AB1C ; =0x020F69BC mov r2, #0x0 @@ -169752,17 +169752,17 @@ _0205AB0A: ldr r2, [r1, #0x0] cmp r2, #0x27 bne _0205AB02 - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} nop _0205AB1C: .word 0x020F69BC - thumb_func_start sub_0205AB20 -sub_0205AB20: ; 0x0205AB20 + thumb_func_start FUN_0205AB20 +FUN_0205AB20: ; 0x0205AB20 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02058488 + bl FUN_02058488 cmp r0, #0x1 beq _0205AB36 cmp r0, #0x2 @@ -169772,10 +169772,10 @@ sub_0205AB20: ; 0x0205AB20 pop {r3-r7, pc} _0205AB36: add r0, r5, #0x0 - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 add r6, r0, #0x0 - bl sub_02057124 + bl FUN_02057124 cmp r0, #0x0 bne _0205AB50 mov r0, #0x0 @@ -169784,7 +169784,7 @@ _0205AB36: _0205AB50: add r0, r5, #0x0 mov r4, #0x0 - bl sub_02058480 + bl FUN_02058480 ldr r1, _0205ABE8 ; =0x020F6984 _0205AB5A: lsl r2, r4, #0x2 @@ -169802,11 +169802,11 @@ _0205AB68: pop {r3-r7, pc} _0205AB72: add r0, r6, #0x0 - bl sub_020553A0 - bl sub_02058BE4 + bl FUN_020553A0 + bl FUN_02058BE4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058BE4 + bl FUN_02058BE4 cmp r4, r0 beq _0205AB8E mov r0, #0x0 @@ -169814,20 +169814,20 @@ _0205AB72: pop {r3-r7, pc} _0205AB8E: add r0, r6, #0x0 - bl sub_02055320 + bl FUN_02055320 add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_0205532C + bl FUN_0205532C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r3, r0, #0x0 ldr r0, [sp, #0x0] ldr r5, [sp, #0x0] @@ -169847,7 +169847,7 @@ _0205AB8E: add r0, r6, #0x0 add r2, r7, #0x0 add r3, r4, #0x0 - bl sub_02059E80 + bl FUN_02059E80 pop {r3-r7, pc} _0205ABE2: mov r0, #0x0 @@ -169856,17 +169856,17 @@ _0205ABE2: .balign 4 _0205ABE8: .word 0x020F6984 - thumb_func_start sub_0205ABEC -sub_0205ABEC: ; 0x0205ABEC + thumb_func_start FUN_0205ABEC +FUN_0205ABEC: ; 0x0205ABEC push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] add r4, r2, #0x0 add r0, r1, #0x0 - bl sub_0205AAFC + bl FUN_0205AAFC add r1, r4, #0x0 add r5, r0, #0x0 - bl sub_0205AA90 + bl FUN_0205AA90 add r4, r0, #0x0 cmp r4, #0x1 bne _0205AC10 @@ -169876,7 +169876,7 @@ sub_0205ABEC: ; 0x0205ABEC pop {r4-r7, pc} _0205AC10: ldr r0, [sp, #0x0] - bl sub_0205AB20 + bl FUN_0205AB20 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -169895,19 +169895,19 @@ _0205AC22: mvn r7, r7 ldr r0, [sp, #0x0] add r6, r7, #0x0 - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x8] ldr r0, [sp, #0x0] - bl sub_02058B4C + bl FUN_02058B4C str r0, [sp, #0x4] ldr r0, [sp, #0x0] - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 str r0, [sp, #0xc] - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0x10] ldr r0, [sp, #0xc] - bl sub_0205532C + bl FUN_0205532C ldr r2, [sp, #0x8] ldr r1, [sp, #0x10] cmp r2, r1 @@ -169988,10 +169988,10 @@ _0205ACDA: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205ACE0 -sub_0205ACE0: ; 0x0205ACE0 + thumb_func_start FUN_0205ACE0 +FUN_0205ACE0: ; 0x0205ACE0 push {r3, lr} - bl sub_02058488 + bl FUN_02058488 sub r0, r0, #0x7 cmp r0, #0x1 bhi _0205ACF0 @@ -170001,11 +170001,11 @@ _0205ACF0: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205ACF4 -sub_0205ACF4: ; 0x0205ACF4 + thumb_func_start FUN_0205ACF4 +FUN_0205ACF4: ; 0x0205ACF4 push {r4, lr} add r4, r1, #0x0 - bl sub_02058488 + bl FUN_02058488 cmp r0, #0x7 bne _0205AD06 mov r0, #0x0 @@ -170016,12 +170016,12 @@ _0205AD06: strb r0, [r4, #0x1] pop {r4, pc} - thumb_func_start sub_0205AD0C -sub_0205AD0C: ; 0x0205AD0C + thumb_func_start FUN_0205AD0C +FUN_0205AD0C: ; 0x0205AD0C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r4, #0x0 add r6, r0, #0x0 add r1, r4, #0x0 @@ -170043,7 +170043,7 @@ _0205AD26: _0205AD36: cmp r4, #0x4 blt _0205AD3E - bl sub_02020C2C + bl FUN_02020C2C _0205AD3E: add r0, r4, #0x1 lsr r2, r0, #0x1f @@ -170062,7 +170062,7 @@ _0205AD3E: ldr r4, [r1, r0] add r0, r7, #0x0 mov r1, #0x80 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 beq _0205AD6C mov r0, #0x1 @@ -170073,31 +170073,31 @@ _0205AD6E: strb r0, [r5, #0x2] add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r7, #0x0 mov r1, #0x80 - bl sub_02058410 + bl FUN_02058410 pop {r3-r7, pc} nop _0205AD84: .word 0x020F6964 - thumb_func_start sub_0205AD88 -sub_0205AD88: ; 0x0205AD88 + thumb_func_start FUN_0205AD88 +FUN_0205AD88: ; 0x0205AD88 push {r3, lr} ldrb r1, [r1, #0x2] cmp r1, #0x0 bne _0205AD96 mov r1, #0x80 - bl sub_02058418 + bl FUN_02058418 _0205AD96: pop {r3, pc} - thumb_func_start sub_0205AD98 -sub_0205AD98: ; 0x0205AD98 + thumb_func_start FUN_0205AD98 +FUN_0205AD98: ; 0x0205AD98 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205ADAA mov r0, #0x0 @@ -170105,7 +170105,7 @@ sub_0205AD98: ; 0x0205AD98 _0205ADAA: add r0, r4, #0x0 mov r1, #0x2 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 bne _0205ADBA mov r0, #0x0 @@ -170113,12 +170113,12 @@ _0205ADAA: _0205ADBA: add r0, r4, #0x0 mov r1, #0x10 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x1 bne _0205ADD6 add r0, r4, #0x0 mov r1, #0x20 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205ADD6 mov r0, #0x0 @@ -170128,49 +170128,49 @@ _0205ADD6: pop {r4, pc} .balign 4 - thumb_func_start sub_0205ADDC -sub_0205ADDC: ; 0x0205ADDC + thumb_func_start FUN_0205ADDC +FUN_0205ADDC: ; 0x0205ADDC push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x69 blt _0205ADEA - bl sub_02020C2C + bl FUN_02020C2C _0205ADEA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020586E8 + bl FUN_020586E8 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020586F8 + bl FUN_020586F8 add r0, r5, #0x0 mov r1, #0x10 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 mov r1, #0x20 - bl sub_02058418 + bl FUN_02058418 pop {r3-r5, pc} - thumb_func_start sub_0205AE0C -sub_0205AE0C: ; 0x0205AE0C + thumb_func_start FUN_0205AE0C +FUN_0205AE0C: ; 0x0205AE0C push {r4, lr} add r4, r0, #0x0 - bl sub_020586E8 + bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020586F8 + bl FUN_020586F8 add r0, r4, #0x0 mov r1, #0x20 - bl sub_02058418 + bl FUN_02058418 pop {r4, pc} .balign 4 - thumb_func_start sub_0205AE28 -sub_0205AE28: ; 0x0205AE28 + thumb_func_start FUN_0205AE28 +FUN_0205AE28: ; 0x0205AE28 push {r4, lr} mov r1, #0x10 add r4, r0, #0x0 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205AE3A mov r0, #0x1 @@ -170178,7 +170178,7 @@ sub_0205AE28: ; 0x0205AE28 _0205AE3A: add r0, r4, #0x0 mov r1, #0x20 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 beq _0205AE4A mov r0, #0x1 @@ -170188,12 +170188,12 @@ _0205AE4A: pop {r4, pc} .balign 4 - thumb_func_start sub_0205AE50 -sub_0205AE50: ; 0x0205AE50 + thumb_func_start FUN_0205AE50 +FUN_0205AE50: ; 0x0205AE50 push {r4, lr} mov r1, #0x10 add r4, r0, #0x0 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205AE62 mov r0, #0x1 @@ -170201,7 +170201,7 @@ sub_0205AE50: ; 0x0205AE50 _0205AE62: add r0, r4, #0x0 mov r1, #0x20 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205AE72 mov r0, #0x0 @@ -170209,39 +170209,39 @@ _0205AE62: _0205AE72: add r0, r4, #0x0 mov r1, #0x30 - bl sub_02058418 + bl FUN_02058418 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205AE80 -sub_0205AE80: ; 0x0205AE80 + thumb_func_start FUN_0205AE80 +FUN_0205AE80: ; 0x0205AE80 push {r4, lr} add r4, r0, #0x0 mov r1, #0x10 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 mov r1, #0x20 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 mov r1, #0xff - bl sub_020586E8 + bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020586F8 + bl FUN_020586F8 pop {r4, pc} - thumb_func_start sub_0205AEA4 -sub_0205AEA4: ; 0x0205AEA4 + thumb_func_start FUN_0205AEA4 +FUN_0205AEA4: ; 0x0205AEA4 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0x4 mov r1, #0x14 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 bne _0205AEBA - bl sub_02020C2C + bl FUN_02020C2C _0205AEBA: add r2, r4, #0x0 mov r1, #0x14 @@ -170252,55 +170252,55 @@ _0205AEC0: sub r1, r1, #0x1 bne _0205AEC0 add r0, r5, #0x0 - bl sub_02058578 - bl sub_0205839C + bl FUN_02058578 + bl FUN_0205839C sub r2, r0, #0x1 - ldr r0, _0205AEEC ; =sub_0205AF2C + ldr r0, _0205AEEC ; =FUN_0205AF2C add r1, r4, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 add r7, r0, #0x0 bne _0205AEE4 - bl sub_02020C2C + bl FUN_02020C2C _0205AEE4: str r5, [r4, #0xc] str r6, [r4, #0x10] add r0, r7, #0x0 pop {r3-r7, pc} .balign 4 -_0205AEEC: .word sub_0205AF2C + 1 +_0205AEEC: .word FUN_0205AF2C + 1 - thumb_func_start sub_0205AEF0 -sub_0205AEF0: ; 0x0205AEF0 + thumb_func_start FUN_0205AEF0 +FUN_0205AEF0: ; 0x0205AEF0 push {r3, lr} - bl sub_0201B6C8 + bl FUN_0201B6C8 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 - thumb_func_start sub_0205AEFC -sub_0205AEFC: ; 0x0205AEFC + thumb_func_start FUN_0205AEFC +FUN_0205AEFC: ; 0x0205AEFC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0201B6C8 + bl FUN_0201B6C8 add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x1 beq _0205AF14 - bl sub_02020C2C + bl FUN_02020C2C _0205AF14: ldr r0, [r4, #0xc] - bl sub_0205AE50 + bl FUN_0205AE50 mov r0, #0x4 add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C add r0, r5, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205AF2C -sub_0205AF2C: ; 0x0205AF2C + thumb_func_start FUN_0205AF2C +FUN_0205AF2C: ; 0x0205AF2C push {r3-r5, lr} ldr r4, _0205AF44 ; =0x020F6C54 add r5, r1, #0x0 @@ -170316,8 +170316,8 @@ _0205AF32: nop _0205AF44: .word 0x020F6C54 - thumb_func_start sub_0205AF48 -sub_0205AF48: ; 0x0205AF48 + thumb_func_start FUN_0205AF48 +FUN_0205AF48: ; 0x0205AF48 mov r1, #0x0 str r1, [r0, #0x8] mov r1, #0x1 @@ -170325,12 +170325,12 @@ sub_0205AF48: ; 0x0205AF48 add r0, r1, #0x0 bx lr - thumb_func_start sub_0205AF54 -sub_0205AF54: ; 0x0205AF54 + thumb_func_start FUN_0205AF54 +FUN_0205AF54: ; 0x0205AF54 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x0 bne _0205AF66 mov r0, #0x0 @@ -170342,26 +170342,26 @@ _0205AF66: pop {r4, pc} .balign 4 - thumb_func_start sub_0205AF70 -sub_0205AF70: ; 0x0205AF70 + thumb_func_start FUN_0205AF70 +FUN_0205AF70: ; 0x0205AF70 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x10] ldr r0, [r4, #0xc] ldrh r1, [r1, #0x0] - bl sub_0205ADDC + bl FUN_0205ADDC mov r0, #0x3 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0205AF88 -sub_0205AF88: ; 0x0205AF88 + thumb_func_start FUN_0205AF88 +FUN_0205AF88: ; 0x0205AF88 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x0 bne _0205AF9A mov r0, #0x0 @@ -170373,8 +170373,8 @@ _0205AF9A: pop {r4, pc} .balign 4 - thumb_func_start sub_0205AFA4 -sub_0205AFA4: ; 0x0205AFA4 + thumb_func_start FUN_0205AFA4 +FUN_0205AFA4: ; 0x0205AFA4 ldr r1, [r0, #0x8] ldr r3, [r0, #0x10] add r2, r1, #0x1 @@ -170404,19 +170404,19 @@ _0205AFCC: mov r0, #0x0 bx lr - thumb_func_start sub_0205AFD8 -sub_0205AFD8: ; 0x0205AFD8 + thumb_func_start FUN_0205AFD8 +FUN_0205AFD8: ; 0x0205AFD8 mov r0, #0x0 bx lr - thumb_func_start sub_0205AFDC -sub_0205AFDC: ; 0x0205AFDC + thumb_func_start FUN_0205AFDC +FUN_0205AFDC: ; 0x0205AFDC push {r3-r7, lr} add r7, r0, #0x0 add r4, r1, #0x0 cmp r7, #0x4 blt _0205AFEA - bl sub_02020C2C + bl FUN_02020C2C _0205AFEA: ldr r3, _0205B01C ; =0x020F6308 ldr r6, [r3, #0x0] @@ -170443,14 +170443,14 @@ _0205B004: cmp r6, #0x0 bne _0205AFF4 _0205B014: - bl sub_02020C2C + bl FUN_02020C2C add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _0205B01C: .word 0x020F6308 - thumb_func_start sub_0205B020 -sub_0205B020: ; 0x0205B020 + thumb_func_start FUN_0205B020 +FUN_0205B020: ; 0x0205B020 push {r4-r5} ldr r4, _0205B054 ; =0x020F6308 ldr r5, [r4, #0x0] @@ -170483,36 +170483,36 @@ _0205B04A: nop _0205B054: .word 0x020F6308 - thumb_func_start sub_0205B058 -sub_0205B058: ; 0x0205B058 + thumb_func_start FUN_0205B058 +FUN_0205B058: ; 0x0205B058 push {r3-r5, lr} add r5, r0, #0x0 _0205B05C: add r0, r5, #0x0 - bl sub_020586F0 + bl FUN_020586F0 add r4, r0, #0x0 cmp r4, #0xff beq _0205B07C add r0, r5, #0x0 - bl sub_02058710 + bl FUN_02058710 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205B0B4 + bl FUN_0205B0B4 cmp r0, #0x0 bne _0205B05C _0205B07C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205B080 -sub_0205B080: ; 0x0205B080 + thumb_func_start FUN_0205B080 +FUN_0205B080: ; 0x0205B080 push {r4, lr} add r4, r0, #0x0 - bl sub_0205B058 + bl FUN_0205B058 add r0, r4, #0x0 mov r1, #0x20 - bl sub_0205842C + bl FUN_0205842C cmp r0, #0x0 bne _0205B098 mov r0, #0x0 @@ -170520,18 +170520,18 @@ sub_0205B080: ; 0x0205B080 _0205B098: add r0, r4, #0x0 mov r1, #0x20 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 mov r1, #0xff - bl sub_020586E8 + bl FUN_020586E8 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020586F8 + bl FUN_020586F8 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205B0B4 -sub_0205B0B4: ; 0x0205B0B4 + thumb_func_start FUN_0205B0B4 +FUN_0205B0B4: ; 0x0205B0B4 push {r3, lr} lsl r3, r1, #0x2 ldr r1, _0205B0C4 ; =0x020F6440 @@ -170543,70 +170543,70 @@ sub_0205B0B4: ; 0x0205B0B4 .balign 4 _0205B0C4: .word 0x020F6440 - thumb_func_start sub_0205B0C8 -sub_0205B0C8: ; 0x0205B0C8 + thumb_func_start FUN_0205B0C8 +FUN_0205B0C8: ; 0x0205B0C8 push {r3, lr} mov r1, #0x20 - bl sub_02058410 + bl FUN_02058410 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205B0D4 -sub_0205B0D4: ; 0x0205B0D4 + thumb_func_start FUN_0205B0D4 +FUN_0205B0D4: ; 0x0205B0D4 push {r4, lr} add r4, r0, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r4, pc} .balign 4 - thumb_func_start sub_0205B0F4 -sub_0205B0F4: ; 0x0205B0F4 + thumb_func_start FUN_0205B0F4 +FUN_0205B0F4: ; 0x0205B0F4 push {r3, lr} mov r1, #0x0 - bl sub_0205B0D4 + bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B100 -sub_0205B100: ; 0x0205B100 + thumb_func_start FUN_0205B100 +FUN_0205B100: ; 0x0205B100 push {r3, lr} mov r1, #0x1 - bl sub_0205B0D4 + bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B10C -sub_0205B10C: ; 0x0205B10C + thumb_func_start FUN_0205B10C +FUN_0205B10C: ; 0x0205B10C push {r3, lr} mov r1, #0x2 - bl sub_0205B0D4 + bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B118 -sub_0205B118: ; 0x0205B118 + thumb_func_start FUN_0205B118 +FUN_0205B118: ; 0x0205B118 push {r3, lr} mov r1, #0x3 - bl sub_0205B0D4 + bl FUN_0205B0D4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B124 -sub_0205B124: ; 0x0205B124 + thumb_func_start FUN_0205B124 +FUN_0205B124: ; 0x0205B124 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0xc add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020585DC + bl FUN_020585DC add r1, sp, #0x8 ldrh r1, [r1, #0x10] strh r1, [r0, #0x0] @@ -170615,34 +170615,34 @@ sub_0205B124: ; 0x0205B124 str r6, [r0, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059C0C + bl FUN_02059C0C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020584D8 + bl FUN_020584D8 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205B16C -sub_0205B16C: ; 0x0205B16C + thumb_func_start FUN_0205B16C +FUN_0205B16C: ; 0x0205B16C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x4] ldr r2, [r4, #0x8] add r0, r5, #0x0 - bl sub_02059CC8 + bl FUN_02059CC8 add r0, r5, #0x0 - bl sub_02059D1C + bl FUN_02059D1C mov r0, #0x2 ldrsh r1, [r4, r0] sub r1, r1, #0x1 @@ -170655,118 +170655,118 @@ sub_0205B16C: ; 0x0205B16C _0205B198: add r0, r5, #0x0 mov r1, #0x28 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r5, #0x0 - bl sub_020586A0 + bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205B1C0 -sub_0205B1C0: ; 0x0205B1C0 + thumb_func_start FUN_0205B1C0 +FUN_0205B1C0: ; 0x0205B1C0 push {r3, lr} mov r2, #0x1 str r2, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xb mov r3, #0x20 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B1D4 -sub_0205B1D4: ; 0x0205B1D4 + thumb_func_start FUN_0205B1D4 +FUN_0205B1D4: ; 0x0205B1D4 push {r3, lr} mov r1, #0x1 lsl r2, r1, #0xb mov r3, #0x20 str r1, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B1E8 -sub_0205B1E8: ; 0x0205B1E8 + thumb_func_start FUN_0205B1E8 +FUN_0205B1E8: ; 0x0205B1E8 push {r3, lr} mov r1, #0x1 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xa mov r3, #0x20 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B1FC -sub_0205B1FC: ; 0x0205B1FC + thumb_func_start FUN_0205B1FC +FUN_0205B1FC: ; 0x0205B1FC push {r3, lr} mov r2, #0x1 str r2, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xb mov r3, #0x20 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B210 -sub_0205B210: ; 0x0205B210 + thumb_func_start FUN_0205B210 +FUN_0205B210: ; 0x0205B210 push {r3, lr} mov r2, #0x2 str r2, [sp, #0x0] mov r1, #0x0 lsl r2, r2, #0xb mov r3, #0x10 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B224 -sub_0205B224: ; 0x0205B224 + thumb_func_start FUN_0205B224 +FUN_0205B224: ; 0x0205B224 push {r3, lr} mov r1, #0x2 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xc mov r3, #0x10 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B238 -sub_0205B238: ; 0x0205B238 + thumb_func_start FUN_0205B238 +FUN_0205B238: ; 0x0205B238 push {r3, lr} mov r1, #0x2 lsl r2, r1, #0xb mov r3, #0x10 str r1, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B24C -sub_0205B24C: ; 0x0205B24C + thumb_func_start FUN_0205B24C +FUN_0205B24C: ; 0x0205B24C push {r3, lr} mov r2, #0x2 str r2, [sp, #0x0] mov r1, #0x3 lsl r2, r2, #0xb mov r3, #0x10 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B260 -sub_0205B260: ; 0x0205B260 + thumb_func_start FUN_0205B260 +FUN_0205B260: ; 0x0205B260 push {r3, lr} mov r1, #0x3 mov r2, #0x2 @@ -170774,97 +170774,97 @@ sub_0205B260: ; 0x0205B260 mov r1, #0x0 lsl r2, r2, #0xc mov r3, #0x8 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B278 -sub_0205B278: ; 0x0205B278 + thumb_func_start FUN_0205B278 +FUN_0205B278: ; 0x0205B278 push {r3, lr} mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xd mov r3, #0x8 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B28C -sub_0205B28C: ; 0x0205B28C + thumb_func_start FUN_0205B28C +FUN_0205B28C: ; 0x0205B28C push {r3, lr} mov r1, #0x3 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xc mov r3, #0x8 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B2A0 -sub_0205B2A0: ; 0x0205B2A0 + thumb_func_start FUN_0205B2A0 +FUN_0205B2A0: ; 0x0205B2A0 push {r3, lr} mov r2, #0x2 mov r1, #0x3 lsl r2, r2, #0xc mov r3, #0x8 str r1, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B2B4 -sub_0205B2B4: ; 0x0205B2B4 + thumb_func_start FUN_0205B2B4 +FUN_0205B2B4: ; 0x0205B2B4 push {r3, lr} mov r3, #0x4 mov r1, #0x0 lsl r2, r3, #0xc str r3, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B2C8 -sub_0205B2C8: ; 0x0205B2C8 + thumb_func_start FUN_0205B2C8 +FUN_0205B2C8: ; 0x0205B2C8 push {r3, lr} mov r1, #0x1 mov r3, #0x4 lsl r2, r1, #0xe str r3, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B2DC -sub_0205B2DC: ; 0x0205B2DC + thumb_func_start FUN_0205B2DC +FUN_0205B2DC: ; 0x0205B2DC push {r3, lr} mov r1, #0x2 mov r3, #0x4 lsl r2, r1, #0xd str r3, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B2F0 -sub_0205B2F0: ; 0x0205B2F0 + thumb_func_start FUN_0205B2F0 +FUN_0205B2F0: ; 0x0205B2F0 push {r3, lr} mov r3, #0x4 mov r1, #0x3 lsl r2, r3, #0xc str r3, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B304 -sub_0205B304: ; 0x0205B304 + thumb_func_start FUN_0205B304 +FUN_0205B304: ; 0x0205B304 push {r3, lr} mov r1, #0x5 mov r2, #0x2 @@ -170872,37 +170872,37 @@ sub_0205B304: ; 0x0205B304 mov r1, #0x0 lsl r2, r2, #0xe mov r3, #0x2 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B31C -sub_0205B31C: ; 0x0205B31C + thumb_func_start FUN_0205B31C +FUN_0205B31C: ; 0x0205B31C push {r3, lr} mov r1, #0x5 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xf mov r3, #0x2 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B330 -sub_0205B330: ; 0x0205B330 + thumb_func_start FUN_0205B330 +FUN_0205B330: ; 0x0205B330 push {r3, lr} mov r1, #0x5 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xe add r3, r1, #0x0 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B344 -sub_0205B344: ; 0x0205B344 + thumb_func_start FUN_0205B344 +FUN_0205B344: ; 0x0205B344 push {r3, lr} mov r1, #0x5 mov r2, #0x2 @@ -170910,49 +170910,49 @@ sub_0205B344: ; 0x0205B344 mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0x2 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B35C -sub_0205B35C: ; 0x0205B35C + thumb_func_start FUN_0205B35C +FUN_0205B35C: ; 0x0205B35C push {r3, lr} mov r2, #0x1 mov r1, #0x0 lsl r2, r2, #0x10 mov r3, #0x1 str r1, [sp, #0x0] - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B370 -sub_0205B370: ; 0x0205B370 + thumb_func_start FUN_0205B370 +FUN_0205B370: ; 0x0205B370 push {r3, lr} mov r1, #0x0 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0x10 add r3, r1, #0x0 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B384 -sub_0205B384: ; 0x0205B384 + thumb_func_start FUN_0205B384 +FUN_0205B384: ; 0x0205B384 push {r3, lr} mov r1, #0x0 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xf mov r3, #0x1 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B398 -sub_0205B398: ; 0x0205B398 + thumb_func_start FUN_0205B398 +FUN_0205B398: ; 0x0205B398 push {r3, lr} mov r1, #0x0 mov r2, #0x1 @@ -170960,13 +170960,13 @@ sub_0205B398: ; 0x0205B398 mov r1, #0x3 lsl r2, r2, #0x10 mov r3, #0x1 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B3B0 -sub_0205B3B0: ; 0x0205B3B0 + thumb_func_start FUN_0205B3B0 +FUN_0205B3B0: ; 0x0205B3B0 push {r3, lr} mov r1, #0x9 mov r2, #0x1 @@ -170974,37 +170974,37 @@ sub_0205B3B0: ; 0x0205B3B0 mov r1, #0x0 lsl r2, r2, #0xe mov r3, #0x4 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B3C8 -sub_0205B3C8: ; 0x0205B3C8 + thumb_func_start FUN_0205B3C8 +FUN_0205B3C8: ; 0x0205B3C8 push {r3, lr} mov r1, #0x9 str r1, [sp, #0x0] mov r1, #0x1 lsl r2, r1, #0xe mov r3, #0x4 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B3DC -sub_0205B3DC: ; 0x0205B3DC + thumb_func_start FUN_0205B3DC +FUN_0205B3DC: ; 0x0205B3DC push {r3, lr} mov r1, #0x9 str r1, [sp, #0x0] mov r1, #0x2 lsl r2, r1, #0xd mov r3, #0x4 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B3F0 -sub_0205B3F0: ; 0x0205B3F0 + thumb_func_start FUN_0205B3F0 +FUN_0205B3F0: ; 0x0205B3F0 push {r3, lr} mov r1, #0x9 mov r2, #0x1 @@ -171012,40 +171012,40 @@ sub_0205B3F0: ; 0x0205B3F0 mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0x4 - bl sub_0205B124 + bl FUN_0205B124 mov r0, #0x1 pop {r3, pc} .balign 4 - thumb_func_start sub_0205B408 -sub_0205B408: ; 0x0205B408 + thumb_func_start FUN_0205B408 +FUN_0205B408: ; 0x0205B408 push {r3-r7, lr} add r7, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 mov r1, #0xc add r5, r0, #0x0 - bl sub_020585DC + bl FUN_020585DC strh r4, [r0, #0x0] add r1, r6, #0x1 strh r1, [r0, #0x2] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_020584AC + bl FUN_020584AC add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r3-r7, pc} - thumb_func_start sub_0205B43C -sub_0205B43C: ; 0x0205B43C + thumb_func_start FUN_0205B43C +FUN_0205B43C: ; 0x0205B43C push {r4, lr} add r4, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 mov r1, #0x2 ldrsh r2, [r0, r1] sub r2, r2, #0x1 @@ -171058,224 +171058,224 @@ sub_0205B43C: ; 0x0205B43C _0205B456: add r0, r4, #0x0 mov r1, #0x20 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205B470 -sub_0205B470: ; 0x0205B470 + thumb_func_start FUN_0205B470 +FUN_0205B470: ; 0x0205B470 push {r3, lr} mov r1, #0x0 mov r2, #0x20 mov r3, #0x1 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B480 -sub_0205B480: ; 0x0205B480 + thumb_func_start FUN_0205B480 +FUN_0205B480: ; 0x0205B480 push {r3, lr} mov r1, #0x1 mov r2, #0x20 add r3, r1, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B490 -sub_0205B490: ; 0x0205B490 + thumb_func_start FUN_0205B490 +FUN_0205B490: ; 0x0205B490 push {r3, lr} mov r1, #0x2 mov r2, #0x20 mov r3, #0x1 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4A0 -sub_0205B4A0: ; 0x0205B4A0 + thumb_func_start FUN_0205B4A0 +FUN_0205B4A0: ; 0x0205B4A0 push {r3, lr} mov r1, #0x3 mov r2, #0x20 mov r3, #0x1 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4B0 -sub_0205B4B0: ; 0x0205B4B0 + thumb_func_start FUN_0205B4B0 +FUN_0205B4B0: ; 0x0205B4B0 push {r3, lr} mov r1, #0x0 mov r2, #0x10 mov r3, #0x2 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4C0 -sub_0205B4C0: ; 0x0205B4C0 + thumb_func_start FUN_0205B4C0 +FUN_0205B4C0: ; 0x0205B4C0 push {r3, lr} mov r1, #0x1 mov r2, #0x10 mov r3, #0x2 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4D0 -sub_0205B4D0: ; 0x0205B4D0 + thumb_func_start FUN_0205B4D0 +FUN_0205B4D0: ; 0x0205B4D0 push {r3, lr} mov r1, #0x2 mov r2, #0x10 add r3, r1, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4E0 -sub_0205B4E0: ; 0x0205B4E0 + thumb_func_start FUN_0205B4E0 +FUN_0205B4E0: ; 0x0205B4E0 push {r3, lr} mov r1, #0x3 mov r2, #0x10 mov r3, #0x2 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B4F0 -sub_0205B4F0: ; 0x0205B4F0 + thumb_func_start FUN_0205B4F0 +FUN_0205B4F0: ; 0x0205B4F0 push {r3, lr} mov r1, #0x0 mov r2, #0x8 mov r3, #0x3 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B500 -sub_0205B500: ; 0x0205B500 + thumb_func_start FUN_0205B500 +FUN_0205B500: ; 0x0205B500 push {r3, lr} mov r1, #0x1 mov r2, #0x8 mov r3, #0x3 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B510 -sub_0205B510: ; 0x0205B510 + thumb_func_start FUN_0205B510 +FUN_0205B510: ; 0x0205B510 push {r3, lr} mov r1, #0x2 mov r2, #0x8 mov r3, #0x3 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B520 -sub_0205B520: ; 0x0205B520 + thumb_func_start FUN_0205B520 +FUN_0205B520: ; 0x0205B520 push {r3, lr} mov r1, #0x3 mov r2, #0x8 add r3, r1, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B530 -sub_0205B530: ; 0x0205B530 + thumb_func_start FUN_0205B530 +FUN_0205B530: ; 0x0205B530 push {r3, lr} mov r2, #0x4 mov r1, #0x0 add r3, r2, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B540 -sub_0205B540: ; 0x0205B540 + thumb_func_start FUN_0205B540 +FUN_0205B540: ; 0x0205B540 push {r3, lr} mov r2, #0x4 mov r1, #0x1 add r3, r2, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B550 -sub_0205B550: ; 0x0205B550 + thumb_func_start FUN_0205B550 +FUN_0205B550: ; 0x0205B550 push {r3, lr} mov r2, #0x4 mov r1, #0x2 add r3, r2, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B560 -sub_0205B560: ; 0x0205B560 + thumb_func_start FUN_0205B560 +FUN_0205B560: ; 0x0205B560 push {r3, lr} mov r2, #0x4 mov r1, #0x3 add r3, r2, #0x0 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B570 -sub_0205B570: ; 0x0205B570 + thumb_func_start FUN_0205B570 +FUN_0205B570: ; 0x0205B570 push {r3, lr} mov r1, #0x0 mov r2, #0x2 mov r3, #0x5 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B580 -sub_0205B580: ; 0x0205B580 + thumb_func_start FUN_0205B580 +FUN_0205B580: ; 0x0205B580 push {r3, lr} mov r1, #0x1 mov r2, #0x2 mov r3, #0x5 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B590 -sub_0205B590: ; 0x0205B590 + thumb_func_start FUN_0205B590 +FUN_0205B590: ; 0x0205B590 push {r3, lr} mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x5 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B5A0 -sub_0205B5A0: ; 0x0205B5A0 + thumb_func_start FUN_0205B5A0 +FUN_0205B5A0: ; 0x0205B5A0 push {r3, lr} mov r1, #0x3 mov r2, #0x2 mov r3, #0x5 - bl sub_0205B408 + bl FUN_0205B408 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B5B0 -sub_0205B5B0: ; 0x0205B5B0 + thumb_func_start FUN_0205B5B0 +FUN_0205B5B0: ; 0x0205B5B0 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x10 add r5, r0, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_020585DC + bl FUN_020585DC strb r4, [r0, #0xc] str r6, [r0, #0x0] strb r7, [r0, #0xd] @@ -171290,38 +171290,38 @@ sub_0205B5B0: ; 0x0205B5B0 strh r1, [r0, #0x8] bne _0205B5E2 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 b _0205B5EA _0205B5E2: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059C0C + bl FUN_02059C0C _0205B5EA: ldr r1, _0205B614 ; =0x00010004 add r0, r5, #0x0 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020584D8 + bl FUN_020584D8 add r1, sp, #0x8 ldrh r1, [r1, #0x10] add r0, r5, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 ldr r0, _0205B618 ; =0x0000060B - bl sub_020054C8 + bl FUN_020054C8 pop {r3-r7, pc} nop _0205B614: .word 0x00010004 _0205B618: .word 0x0000060B - thumb_func_start sub_0205B61C -sub_0205B61C: ; 0x0205B61C + thumb_func_start FUN_0205B61C +FUN_0205B61C: ; 0x0205B61C push {r3-r5, lr} sub sp, #0x18 add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r2, [r4, #0x0] cmp r2, #0x0 @@ -171329,9 +171329,9 @@ sub_0205B61C: ; 0x0205B61C mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02059CC8 + bl FUN_02059CC8 add r0, r5, #0x0 - bl sub_02059D1C + bl FUN_02059D1C mov r0, #0x1 ldr r1, [r4, #0x4] lsl r0, r0, #0x10 @@ -171342,10 +171342,10 @@ sub_0205B61C: ; 0x0205B61C mov r1, #0xc ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02059C0C + bl FUN_02059C0C add r0, r5, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 _0205B65E: ldr r1, [r4, #0x0] cmp r1, #0x0 @@ -171383,7 +171383,7 @@ _0205B680: str r1, [sp, #0x14] add r0, r5, #0x0 add r1, sp, #0xc - bl sub_02058B94 + bl FUN_02058B94 mov r0, #0xd ldrsb r1, [r4, r0] sub r1, r1, #0x1 @@ -171401,21 +171401,21 @@ _0205B6B8: str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r5, #0x0 - bl sub_02058B94 + bl FUN_02058B94 ldr r1, _0205B6FC ; =0x00020028 add r0, r5, #0x0 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r5, #0x0 - bl sub_020586A0 + bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 ldr r0, _0205B700 ; =0x00000647 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x1 add sp, #0x18 pop {r3-r5, pc} @@ -171424,8 +171424,8 @@ _0205B6F8: .word 0x02105F9C _0205B6FC: .word 0x00020028 _0205B700: .word 0x00000647 - thumb_func_start sub_0205B704 -sub_0205B704: ; 0x0205B704 + thumb_func_start FUN_0205B704 +FUN_0205B704: ; 0x0205B704 push {lr} sub sp, #0xc mov r2, #0x2 @@ -171436,14 +171436,14 @@ sub_0205B704: ; 0x0205B704 str r2, [sp, #0x8] add r2, r1, #0x0 mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B724 -sub_0205B724: ; 0x0205B724 + thumb_func_start FUN_0205B724 +FUN_0205B724: ; 0x0205B724 push {lr} sub sp, #0xc mov r1, #0x2 @@ -171454,14 +171454,14 @@ sub_0205B724: ; 0x0205B724 str r1, [sp, #0x8] mov r1, #0x1 mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B744 -sub_0205B744: ; 0x0205B744 + thumb_func_start FUN_0205B744 +FUN_0205B744: ; 0x0205B744 push {lr} sub sp, #0xc mov r1, #0x2 @@ -171472,14 +171472,14 @@ sub_0205B744: ; 0x0205B744 add r3, #0xfe str r3, [sp, #0x8] mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B764 -sub_0205B764: ; 0x0205B764 + thumb_func_start FUN_0205B764 +FUN_0205B764: ; 0x0205B764 push {lr} sub sp, #0xc mov r1, #0x2 @@ -171490,14 +171490,14 @@ sub_0205B764: ; 0x0205B764 str r1, [sp, #0x8] mov r1, #0x3 mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B784 -sub_0205B784: ; 0x0205B784 + thumb_func_start FUN_0205B784 +FUN_0205B784: ; 0x0205B784 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171509,13 +171509,13 @@ sub_0205B784: ; 0x0205B784 str r2, [sp, #0x8] add r2, r1, #0x0 mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B7A4 -sub_0205B7A4: ; 0x0205B7A4 + thumb_func_start FUN_0205B7A4 +FUN_0205B7A4: ; 0x0205B7A4 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171527,13 +171527,13 @@ sub_0205B7A4: ; 0x0205B7A4 str r1, [sp, #0x8] mov r1, #0x1 mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B7C4 -sub_0205B7C4: ; 0x0205B7C4 + thumb_func_start FUN_0205B7C4 +FUN_0205B7C4: ; 0x0205B7C4 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171545,13 +171545,13 @@ sub_0205B7C4: ; 0x0205B7C4 str r1, [sp, #0x8] mov r1, #0x2 mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B7E4 -sub_0205B7E4: ; 0x0205B7E4 + thumb_func_start FUN_0205B7E4 +FUN_0205B7E4: ; 0x0205B7E4 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171562,14 +171562,14 @@ sub_0205B7E4: ; 0x0205B7E4 lsl r3, r3, #0x8 str r3, [sp, #0x8] mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B804 -sub_0205B804: ; 0x0205B804 + thumb_func_start FUN_0205B804 +FUN_0205B804: ; 0x0205B804 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171581,13 +171581,13 @@ sub_0205B804: ; 0x0205B804 str r2, [sp, #0x8] lsl r2, r2, #0x4 mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B824 -sub_0205B824: ; 0x0205B824 + thumb_func_start FUN_0205B824 +FUN_0205B824: ; 0x0205B824 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171600,14 +171600,14 @@ sub_0205B824: ; 0x0205B824 mov r1, #0x1 lsl r2, r1, #0xd mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B848 -sub_0205B848: ; 0x0205B848 + thumb_func_start FUN_0205B848 +FUN_0205B848: ; 0x0205B848 push {lr} sub sp, #0xc mov r1, #0x3 @@ -171620,14 +171620,14 @@ sub_0205B848: ; 0x0205B848 mov r1, #0x2 lsl r2, r1, #0xc mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B86C -sub_0205B86C: ; 0x0205B86C + thumb_func_start FUN_0205B86C +FUN_0205B86C: ; 0x0205B86C push {lr} sub sp, #0xc mov r1, #0x3 @@ -171639,13 +171639,13 @@ sub_0205B86C: ; 0x0205B86C str r2, [sp, #0x8] lsl r2, r2, #0x4 mov r3, #0x8 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B88C -sub_0205B88C: ; 0x0205B88C + thumb_func_start FUN_0205B88C +FUN_0205B88C: ; 0x0205B88C push {lr} sub sp, #0xc mov r2, #0x3 @@ -171657,13 +171657,13 @@ sub_0205B88C: ; 0x0205B88C mov r2, #0x2 lsl r2, r2, #0xc mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B8AC -sub_0205B8AC: ; 0x0205B8AC + thumb_func_start FUN_0205B8AC +FUN_0205B8AC: ; 0x0205B8AC push {lr} sub sp, #0xc mov r2, #0x3 @@ -171675,13 +171675,13 @@ sub_0205B8AC: ; 0x0205B8AC str r2, [sp, #0x8] lsl r2, r1, #0xd mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B8CC -sub_0205B8CC: ; 0x0205B8CC + thumb_func_start FUN_0205B8CC +FUN_0205B8CC: ; 0x0205B8CC push {lr} sub sp, #0xc mov r2, #0x3 @@ -171693,13 +171693,13 @@ sub_0205B8CC: ; 0x0205B8CC str r2, [sp, #0x8] lsl r2, r1, #0xc mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B8EC -sub_0205B8EC: ; 0x0205B8EC + thumb_func_start FUN_0205B8EC +FUN_0205B8EC: ; 0x0205B8EC push {lr} sub sp, #0xc mov r1, #0x3 @@ -171712,14 +171712,14 @@ sub_0205B8EC: ; 0x0205B8EC mov r2, #0x2 lsl r2, r2, #0xc mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B910 -sub_0205B910: ; 0x0205B910 + thumb_func_start FUN_0205B910 +FUN_0205B910: ; 0x0205B910 push {lr} sub sp, #0xc mov r1, #0xa @@ -171731,13 +171731,13 @@ sub_0205B910: ; 0x0205B910 mov r1, #0x2 lsl r2, r1, #0xb mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B930 -sub_0205B930: ; 0x0205B930 + thumb_func_start FUN_0205B930 +FUN_0205B930: ; 0x0205B930 push {lr} sub sp, #0xc mov r1, #0xa @@ -171750,14 +171750,14 @@ sub_0205B930: ; 0x0205B930 mov r1, #0x3 lsl r2, r2, #0xc mov r3, #0x10 - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B954 -sub_0205B954: ; 0x0205B954 + thumb_func_start FUN_0205B954 +FUN_0205B954: ; 0x0205B954 push {lr} sub sp, #0xc mov r1, #0xb @@ -171770,14 +171770,14 @@ sub_0205B954: ; 0x0205B954 mov r1, #0x2 lsl r2, r1, #0xd mov r3, #0xc - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_0205B978 -sub_0205B978: ; 0x0205B978 + thumb_func_start FUN_0205B978 +FUN_0205B978: ; 0x0205B978 push {lr} sub sp, #0xc mov r1, #0xb @@ -171791,29 +171791,29 @@ sub_0205B978: ; 0x0205B978 mov r1, #0x3 lsl r2, r2, #0xe mov r3, #0xc - bl sub_0205B5B0 + bl FUN_0205B5B0 mov r0, #0x1 add sp, #0xc pop {pc} - thumb_func_start sub_0205B99C -sub_0205B99C: ; 0x0205B99C + thumb_func_start FUN_0205B99C +FUN_0205B99C: ; 0x0205B99C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x4 - bl sub_020585DC + bl FUN_020585DC str r4, [r0, #0x0] add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205B9B4 -sub_0205B9B4: ; 0x0205B9B4 + thumb_func_start FUN_0205B9B4 +FUN_0205B9B4: ; 0x0205B9B4 push {r4, lr} add r4, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 ldr r1, [r0, #0x0] cmp r1, #0x0 beq _0205B9CA @@ -171823,90 +171823,90 @@ sub_0205B9B4: ; 0x0205B9B4 pop {r4, pc} _0205B9CA: add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205B9D4 -sub_0205B9D4: ; 0x0205B9D4 + thumb_func_start FUN_0205B9D4 +FUN_0205B9D4: ; 0x0205B9D4 push {r3, lr} mov r1, #0x1 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B9E0 -sub_0205B9E0: ; 0x0205B9E0 + thumb_func_start FUN_0205B9E0 +FUN_0205B9E0: ; 0x0205B9E0 push {r3, lr} mov r1, #0x2 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B9EC -sub_0205B9EC: ; 0x0205B9EC + thumb_func_start FUN_0205B9EC +FUN_0205B9EC: ; 0x0205B9EC push {r3, lr} mov r1, #0x4 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205B9F8 -sub_0205B9F8: ; 0x0205B9F8 + thumb_func_start FUN_0205B9F8 +FUN_0205B9F8: ; 0x0205B9F8 push {r3, lr} mov r1, #0x8 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BA04 -sub_0205BA04: ; 0x0205BA04 + thumb_func_start FUN_0205BA04 +FUN_0205BA04: ; 0x0205BA04 push {r3, lr} mov r1, #0xf - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BA10 -sub_0205BA10: ; 0x0205BA10 + thumb_func_start FUN_0205BA10 +FUN_0205BA10: ; 0x0205BA10 push {r3, lr} mov r1, #0x10 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BA1C -sub_0205BA1C: ; 0x0205BA1C + thumb_func_start FUN_0205BA1C +FUN_0205BA1C: ; 0x0205BA1C push {r3, lr} mov r1, #0x20 - bl sub_0205B99C + bl FUN_0205B99C mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BA28 -sub_0205BA28: ; 0x0205BA28 + thumb_func_start FUN_0205BA28 +FUN_0205BA28: ; 0x0205BA28 push {r4, lr} mov r1, #0x8 add r4, r0, #0x0 - bl sub_020585DC + bl FUN_020585DC mov r1, #0x1 lsl r1, r1, #0x10 str r1, [r0, #0x4] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205BA4C -sub_0205BA4C: ; 0x0205BA4C + thumb_func_start FUN_0205BA4C +FUN_0205BA4C: ; 0x0205BA4C push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, [r4, #0x4] @@ -171920,7 +171920,7 @@ sub_0205BA4C: ; 0x0205BA4C ldr r0, [r4, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B94 + bl FUN_02058B94 ldr r1, [r4, #0x0] asr r0, r1, #0xe lsr r0, r0, #0x11 @@ -171933,17 +171933,17 @@ sub_0205BA4C: ; 0x0205BA4C pop {r4-r5, pc} _0205BA88: add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_0205BA94 -sub_0205BA94: ; 0x0205BA94 + thumb_func_start FUN_0205BA94 +FUN_0205BA94: ; 0x0205BA94 push {r4, lr} mov r1, #0x8 add r4, r0, #0x0 - bl sub_020585DC + bl FUN_020585DC mov r1, #0x5 lsl r1, r1, #0x12 str r1, [r0, #0x0] @@ -171951,20 +171951,20 @@ sub_0205BA94: ; 0x0205BA94 str r1, [r0, #0x4] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} nop _0205BABC: .word 0xFFFF0000 - thumb_func_start sub_0205BAC0 -sub_0205BAC0: ; 0x0205BAC0 + thumb_func_start FUN_0205BAC0 +FUN_0205BAC0: ; 0x0205BAC0 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, [r4, #0x4] @@ -171982,7 +171982,7 @@ _0205BADA: ldr r0, [r4, #0x0] str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B94 + bl FUN_02058B94 ldr r0, [r4, #0x0] cmp r0, #0x0 ble _0205BAFA @@ -171991,175 +171991,175 @@ _0205BADA: pop {r4-r5, pc} _0205BAFA: add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0205BB08 -sub_0205BB08: ; 0x0205BB08 + thumb_func_start FUN_0205BB08 +FUN_0205BB08: ; 0x0205BB08 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 lsl r1, r1, #0x8 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205BB20 -sub_0205BB20: ; 0x0205BB20 + thumb_func_start FUN_0205BB20 +FUN_0205BB20: ; 0x0205BB20 push {r4, lr} mov r1, #0x2 add r4, r0, #0x0 lsl r1, r1, #0x8 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205BB38 -sub_0205BB38: ; 0x0205BB38 + thumb_func_start FUN_0205BB38 +FUN_0205BB38: ; 0x0205BB38 push {r4, lr} add r4, r0, #0x0 mov r1, #0x80 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205BB4C -sub_0205BB4C: ; 0x0205BB4C + thumb_func_start FUN_0205BB4C +FUN_0205BB4C: ; 0x0205BB4C push {r4, lr} add r4, r0, #0x0 mov r1, #0x80 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205BB60 -sub_0205BB60: ; 0x0205BB60 + thumb_func_start FUN_0205BB60 +FUN_0205BB60: ; 0x0205BB60 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 lsl r1, r1, #0x8 - bl sub_02058410 + bl FUN_02058410 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205BB78 -sub_0205BB78: ; 0x0205BB78 + thumb_func_start FUN_0205BB78 +FUN_0205BB78: ; 0x0205BB78 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 lsl r1, r1, #0x8 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205BB90 -sub_0205BB90: ; 0x0205BB90 + thumb_func_start FUN_0205BB90 +FUN_0205BB90: ; 0x0205BB90 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 - bl sub_020585DC + bl FUN_020585DC add r4, r0, #0x0 str r6, [r4, #0x0] add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x1 - bl sub_021E7AC0 + bl FUN_021E7AC0 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r4-r6, pc} - thumb_func_start sub_0205BBB4 -sub_0205BBB4: ; 0x0205BBB4 + thumb_func_start FUN_0205BBB4 +FUN_0205BBB4: ; 0x0205BBB4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_021E799C + bl FUN_021E799C cmp r0, #0x1 bne _0205BBD8 ldr r0, [r4, #0x4] - bl sub_02064520 + bl FUN_02064520 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r3-r5, pc} _0205BBD8: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205BBDC -sub_0205BBDC: ; 0x0205BBDC + thumb_func_start FUN_0205BBDC +FUN_0205BBDC: ; 0x0205BBDC push {r3, lr} mov r1, #0x0 - bl sub_0205BB90 + bl FUN_0205BB90 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205BBE8 -sub_0205BBE8: ; 0x0205BBE8 + thumb_func_start FUN_0205BBE8 +FUN_0205BBE8: ; 0x0205BBE8 push {r3, lr} mov r1, #0x1 - bl sub_0205BB90 + bl FUN_0205BB90 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205BBF4 -sub_0205BBF4: ; 0x0205BBF4 + thumb_func_start FUN_0205BBF4 +FUN_0205BBF4: ; 0x0205BBF4 push {r3-r7, lr} add r4, r1, #0x0 mov r1, #0x8 add r5, r0, #0x0 add r7, r2, #0x0 add r6, r3, #0x0 - bl sub_020585DC + bl FUN_020585DC strh r4, [r0, #0x0] strh r6, [r0, #0x2] strh r7, [r0, #0x4] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02059C0C + bl FUN_02059C0C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020584D8 + bl FUN_020584D8 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 mov r1, #0x4 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205BC34 -sub_0205BC34: ; 0x0205BC34 + thumb_func_start FUN_0205BC34 +FUN_0205BC34: ; 0x0205BC34 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 mov r2, #0x6 ldrsh r2, [r4, r2] @@ -172168,9 +172168,9 @@ sub_0205BC34: ; 0x0205BC34 lsl r2, r2, #0x2 ldr r2, [r6, r2] add r0, r5, #0x0 - bl sub_02059CC8 + bl FUN_02059CC8 add r0, r5, #0x0 - bl sub_02059D1C + bl FUN_02059D1C mov r0, #0x6 ldrsh r1, [r4, r0] add r1, r1, #0x1 @@ -172185,64 +172185,64 @@ sub_0205BC34: ; 0x0205BC34 _0205BC6E: add r0, r5, #0x0 mov r1, #0x28 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_02059C60 + bl FUN_02059C60 add r0, r5, #0x0 - bl sub_020586A0 + bl FUN_020586A0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0205BC94 -sub_0205BC94: ; 0x0205BC94 + thumb_func_start FUN_0205BC94 +FUN_0205BC94: ; 0x0205BC94 push {r3, lr} mov r2, #0x6 mov r1, #0x0 add r3, r2, #0x0 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BCA4 -sub_0205BCA4: ; 0x0205BCA4 + thumb_func_start FUN_0205BCA4 +FUN_0205BCA4: ; 0x0205BCA4 push {r3, lr} mov r2, #0x6 mov r1, #0x1 add r3, r2, #0x0 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BCB4 -sub_0205BCB4: ; 0x0205BCB4 + thumb_func_start FUN_0205BCB4 +FUN_0205BCB4: ; 0x0205BCB4 push {r3, lr} mov r2, #0x6 mov r1, #0x2 add r3, r2, #0x0 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BCC4 -sub_0205BCC4: ; 0x0205BCC4 + thumb_func_start FUN_0205BCC4 +FUN_0205BCC4: ; 0x0205BCC4 push {r3, lr} mov r2, #0x6 mov r1, #0x3 add r3, r2, #0x0 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BCD4 -sub_0205BCD4: ; 0x0205BCD4 + thumb_func_start FUN_0205BCD4 +FUN_0205BCD4: ; 0x0205BCD4 push {r3, lr} ldr r1, _0205BCE8 ; =0x020F6C6C - bl sub_0205BC34 + bl FUN_0205BC34 cmp r0, #0x1 bne _0205BCE4 mov r0, #0x1 @@ -172253,51 +172253,51 @@ _0205BCE4: .balign 4 _0205BCE8: .word 0x020F6C6C - thumb_func_start sub_0205BCEC -sub_0205BCEC: ; 0x0205BCEC + thumb_func_start FUN_0205BCEC +FUN_0205BCEC: ; 0x0205BCEC push {r3, lr} mov r1, #0x0 mov r2, #0x3 mov r3, #0x7 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BCFC -sub_0205BCFC: ; 0x0205BCFC + thumb_func_start FUN_0205BCFC +FUN_0205BCFC: ; 0x0205BCFC push {r3, lr} mov r1, #0x1 mov r2, #0x3 mov r3, #0x7 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD0C -sub_0205BD0C: ; 0x0205BD0C + thumb_func_start FUN_0205BD0C +FUN_0205BD0C: ; 0x0205BD0C push {r3, lr} mov r1, #0x2 mov r2, #0x3 mov r3, #0x7 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD1C -sub_0205BD1C: ; 0x0205BD1C + thumb_func_start FUN_0205BD1C +FUN_0205BD1C: ; 0x0205BD1C push {r3, lr} mov r1, #0x3 add r2, r1, #0x0 mov r3, #0x7 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD2C -sub_0205BD2C: ; 0x0205BD2C + thumb_func_start FUN_0205BD2C +FUN_0205BD2C: ; 0x0205BD2C push {r3, lr} ldr r1, _0205BD40 ; =0x020F6C48 - bl sub_0205BC34 + bl FUN_0205BC34 cmp r0, #0x1 bne _0205BD3C mov r0, #0x1 @@ -172308,51 +172308,51 @@ _0205BD3C: .balign 4 _0205BD40: .word 0x020F6C48 - thumb_func_start sub_0205BD44 -sub_0205BD44: ; 0x0205BD44 + thumb_func_start FUN_0205BD44 +FUN_0205BD44: ; 0x0205BD44 push {r3, lr} mov r1, #0x0 mov r2, #0x7 mov r3, #0x8 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD54 -sub_0205BD54: ; 0x0205BD54 + thumb_func_start FUN_0205BD54 +FUN_0205BD54: ; 0x0205BD54 push {r3, lr} mov r1, #0x1 mov r2, #0x7 mov r3, #0x8 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD64 -sub_0205BD64: ; 0x0205BD64 + thumb_func_start FUN_0205BD64 +FUN_0205BD64: ; 0x0205BD64 push {r3, lr} mov r1, #0x2 mov r2, #0x7 mov r3, #0x8 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD74 -sub_0205BD74: ; 0x0205BD74 + thumb_func_start FUN_0205BD74 +FUN_0205BD74: ; 0x0205BD74 push {r3, lr} mov r1, #0x3 mov r2, #0x7 mov r3, #0x8 - bl sub_0205BBF4 + bl FUN_0205BBF4 mov r0, #0x1 pop {r3, pc} - thumb_func_start sub_0205BD84 -sub_0205BD84: ; 0x0205BD84 + thumb_func_start FUN_0205BD84 +FUN_0205BD84: ; 0x0205BD84 push {r3, lr} ldr r1, _0205BD98 ; =0x020F6C84 - bl sub_0205BC34 + bl FUN_0205BC34 cmp r0, #0x1 bne _0205BD94 mov r0, #0x1 @@ -172363,25 +172363,25 @@ _0205BD94: .balign 4 _0205BD98: .word 0x020F6C84 - thumb_func_start sub_0205BD9C -sub_0205BD9C: ; 0x0205BD9C + thumb_func_start FUN_0205BD9C +FUN_0205BD9C: ; 0x0205BD9C push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 - bl sub_020585DC + bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x9 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205BDB8 -sub_0205BDB8: ; 0x0205BDB8 + thumb_func_start FUN_0205BDB8 +FUN_0205BDB8: ; 0x0205BDB8 push {r4, lr} add r4, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] @@ -172389,28 +172389,28 @@ sub_0205BDB8: ; 0x0205BDB8 blt _0205BDE0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020584AC + bl FUN_020584AC add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 _0205BDE0: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205BDE4 -sub_0205BDE4: ; 0x0205BDE4 + thumb_func_start FUN_0205BDE4 +FUN_0205BDE4: ; 0x0205BDE4 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r1, #0x4 - bl sub_020585DC + bl FUN_020585DC add r0, r4, #0x0 - bl sub_0205EB20 + bl FUN_0205EB20 cmp r0, #0x0 beq _0205BDFE - bl sub_02064520 + bl FUN_02064520 _0205BDFE: add r1, sp, #0x0 mov r0, #0x0 @@ -172418,30 +172418,30 @@ _0205BDFE: str r0, [r1, #0x4] str r0, [r1, #0x8] add r0, r4, #0x0 - bl sub_02058B94 + bl FUN_02058B94 add r0, r4, #0x0 - bl sub_0224D2E0 + bl FUN_0224D2E0 ldr r1, _0205BE34 ; =0x00010004 add r0, r4, #0x0 - bl sub_02058410 + bl FUN_02058410 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x14 - bl sub_02058418 + bl FUN_02058418 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x0 add sp, #0xc pop {r3-r4, pc} nop _0205BE34: .word 0x00010004 - thumb_func_start sub_0205BE38 -sub_0205BE38: ; 0x0205BE38 + thumb_func_start FUN_0205BE38 +FUN_0205BE38: ; 0x0205BE38 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 add r4, r0, #0x0 ldr r0, _0205BE98 ; =0x02105F9C add r1, sp, #0x0 @@ -172455,7 +172455,7 @@ sub_0205BE38: ; 0x0205BE38 ldr r0, [r2, r0] str r0, [sp, #0x4] add r0, r5, #0x0 - bl sub_02058B94 + bl FUN_02058B94 ldr r0, [r4, #0x0] add r0, r0, #0x2 str r0, [r4, #0x0] @@ -172469,14 +172469,14 @@ _0205BE70: str r0, [sp, #0x4] add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02058B94 + bl FUN_02058B94 ldr r1, _0205BE9C ; =0x00020028 add r0, r5, #0x0 - bl sub_02058410 + bl FUN_02058410 add r0, r5, #0x0 - bl sub_0205EB2C + bl FUN_0205EB2C add r0, r5, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 add sp, #0xc pop {r4-r5, pc} @@ -172484,39 +172484,39 @@ _0205BE70: _0205BE98: .word 0x02105F9C _0205BE9C: .word 0x00020028 - thumb_func_start sub_0205BEA0 -sub_0205BEA0: ; 0x0205BEA0 + thumb_func_start FUN_0205BEA0 +FUN_0205BEA0: ; 0x0205BEA0 push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 - bl sub_020585DC + bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205BEBC -sub_0205BEBC: ; 0x0205BEBC + thumb_func_start FUN_0205BEBC +FUN_0205BEBC: ; 0x0205BEBC push {r4, lr} add r4, r0, #0x0 mov r1, #0x4 - bl sub_020585DC + bl FUN_020585DC add r0, r4, #0x0 mov r1, #0x1 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205BED8 -sub_0205BED8: ; 0x0205BED8 + thumb_func_start FUN_0205BED8 +FUN_0205BED8: ; 0x0205BED8 push {r4, lr} add r4, r0, #0x0 - bl sub_02058600 + bl FUN_02058600 ldr r1, [r0, #0x0] add r1, r1, #0x1 str r1, [r0, #0x0] @@ -172526,29 +172526,29 @@ sub_0205BED8: ; 0x0205BED8 pop {r4, pc} _0205BEEE: add r0, r4, #0x0 - bl sub_02058700 + bl FUN_02058700 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205BEF8 -sub_0205BEF8: ; 0x0205BEF8 - ldr r3, _0205BEFC ; =sub_0205BF24 + thumb_func_start FUN_0205BEF8 +FUN_0205BEF8: ; 0x0205BEF8 + ldr r3, _0205BEFC ; =FUN_0205BF24 bx r3 .balign 4 -_0205BEFC: .word sub_0205BF24 + 1 +_0205BEFC: .word FUN_0205BF24 + 1 - thumb_func_start sub_0205BF00 -sub_0205BF00: ; 0x0205BF00 + thumb_func_start FUN_0205BF00 +FUN_0205BF00: ; 0x0205BF00 push {r4, lr} add r4, r0, #0x0 - bl sub_0205BF40 + bl FUN_0205BF40 cmp r0, #0x0 bne _0205BF10 mov r0, #0x0 pop {r4, pc} _0205BF10: add r0, r4, #0x0 - bl sub_0205BF5C + bl FUN_0205BF5C cmp r0, #0x0 beq _0205BF1E mov r0, #0x1 @@ -172558,11 +172558,11 @@ _0205BF1E: pop {r4, pc} .balign 4 - thumb_func_start sub_0205BF24 -sub_0205BF24: ; 0x0205BF24 + thumb_func_start FUN_0205BF24 +FUN_0205BF24: ; 0x0205BF24 push {r4, lr} add r4, r0, #0x0 - bl sub_02058488 + bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF3C ; =0x020F7118 @@ -172573,11 +172573,11 @@ sub_0205BF24: ; 0x0205BF24 nop _0205BF3C: .word 0x020F7118 - thumb_func_start sub_0205BF40 -sub_0205BF40: ; 0x0205BF40 + thumb_func_start FUN_0205BF40 +FUN_0205BF40: ; 0x0205BF40 push {r4, lr} add r4, r0, #0x0 - bl sub_02058488 + bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF58 ; =0x020F7148 @@ -172588,11 +172588,11 @@ sub_0205BF40: ; 0x0205BF40 nop _0205BF58: .word 0x020F7148 - thumb_func_start sub_0205BF5C -sub_0205BF5C: ; 0x0205BF5C + thumb_func_start FUN_0205BF5C +FUN_0205BF5C: ; 0x0205BF5C push {r4, lr} add r4, r0, #0x0 - bl sub_02058488 + bl FUN_02058488 add r1, r0, #0x0 lsl r2, r1, #0x2 ldr r1, _0205BF74 ; =0x020F7178 @@ -172603,24 +172603,24 @@ sub_0205BF5C: ; 0x0205BF5C nop _0205BF74: .word 0x020F7178 - thumb_func_start sub_0205BF78 -sub_0205BF78: ; 0x0205BF78 + thumb_func_start FUN_0205BF78 +FUN_0205BF78: ; 0x0205BF78 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B14 + bl FUN_02058B14 cmp r5, r0 beq _0205BF90 mov r0, #0x1 pop {r3-r5, pc} _0205BF90: add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B24 + bl FUN_02058B24 cmp r5, r0 beq _0205BFA6 mov r0, #0x1 @@ -172630,24 +172630,24 @@ _0205BFA6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205BFAC -sub_0205BFAC: ; 0x0205BFAC + thumb_func_start FUN_0205BFAC +FUN_0205BFAC: ; 0x0205BFAC push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B14 + bl FUN_02058B14 cmp r5, r0 beq _0205BFC4 mov r0, #0x0 pop {r3-r5, pc} _0205BFC4: add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B24 + bl FUN_02058B24 cmp r5, r0 bne _0205BFDA mov r0, #0x1 @@ -172657,39 +172657,39 @@ _0205BFDA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205BFE0 -sub_0205BFE0: ; 0x0205BFE0 + thumb_func_start FUN_0205BFE0 +FUN_0205BFE0: ; 0x0205BFE0 bx lr .balign 4 - thumb_func_start sub_0205BFE4 -sub_0205BFE4: ; 0x0205BFE4 + thumb_func_start FUN_0205BFE4 +FUN_0205BFE4: ; 0x0205BFE4 mov r0, #0x0 bx lr - thumb_func_start sub_0205BFE8 -sub_0205BFE8: ; 0x0205BFE8 + thumb_func_start FUN_0205BFE8 +FUN_0205BFE8: ; 0x0205BFE8 mov r0, #0x0 bx lr - thumb_func_start sub_0205BFEC -sub_0205BFEC: ; 0x0205BFEC + thumb_func_start FUN_0205BFEC +FUN_0205BFEC: ; 0x0205BFEC push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9 - bl sub_020585B4 + bl FUN_020585B4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058510 + bl FUN_02058510 strb r0, [r4, #0x3] pop {r3-r5, pc} - thumb_func_start sub_0205C004 -sub_0205C004: ; 0x0205C004 + thumb_func_start FUN_0205C004 +FUN_0205C004: ; 0x0205C004 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x0] cmp r0, #0x3 @@ -172705,7 +172705,7 @@ sub_0205C004: ; 0x0205C004 lsl r0, r0, #0x1 lsl r6, r2, #0x1 add r0, r5, #0x0 - bl sub_0205BF78 + bl FUN_0205BF78 cmp r0, #0x1 bne _0205C07C ldrb r0, [r4, #0x0] @@ -172722,12 +172722,12 @@ _0205C07C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205C080 -sub_0205C080: ; 0x0205C080 + thumb_func_start FUN_0205C080 +FUN_0205C080: ; 0x0205C080 push {r4-r6, lr} sub sp, #0x20 add r5, r0, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x1] cmp r0, #0x3 @@ -172749,7 +172749,7 @@ sub_0205C080: ; 0x0205C080 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} add r0, r5, #0x0 - bl sub_020584C4 + bl FUN_020584C4 strb r0, [r4, #0x4] lsl r1, r0, #0x2 add r0, sp, #0x10 @@ -172774,15 +172774,15 @@ sub_0205C080: ; 0x0205C080 add r0, r2, r3 ldr r0, [r1, r0] mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] add r0, r5, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x0 bne _0205C10A add sp, #0x20 @@ -172825,7 +172825,7 @@ _0205C148: mov r1, #0x4 ldrsb r1, [r4, r1] add r0, r5, #0x0 - bl sub_020584AC + bl FUN_020584AC ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] @@ -172840,19 +172840,19 @@ _0205C15E: _0205C164: .word 0x020F70D8 _0205C168: .word 0x020F70E8 - thumb_func_start sub_0205C16C -sub_0205C16C: ; 0x0205C16C + thumb_func_start FUN_0205C16C +FUN_0205C16C: ; 0x0205C16C push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9 - bl sub_020585B4 + bl FUN_020585B4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02058510 + bl FUN_02058510 strb r0, [r4, #0x3] add r0, r5, #0x0 - bl sub_02058488 + bl FUN_02058488 cmp r0, #0x5 beq _0205C190 mov r0, #0x1 @@ -172864,11 +172864,11 @@ _0205C192: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205C198 -sub_0205C198: ; 0x0205C198 + thumb_func_start FUN_0205C198 +FUN_0205C198: ; 0x0205C198 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x0] cmp r0, #0x3 @@ -172884,7 +172884,7 @@ sub_0205C198: ; 0x0205C198 lsl r0, r0, #0x1 lsl r6, r2, #0x1 add r0, r5, #0x0 - bl sub_0205BF78 + bl FUN_0205BF78 cmp r0, #0x1 bne _0205C210 ldrb r0, [r4, #0x0] @@ -172901,8 +172901,8 @@ _0205C210: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205C214 -sub_0205C214: ; 0x0205C214 + thumb_func_start FUN_0205C214 +FUN_0205C214: ; 0x0205C214 push {r3-r7, lr} sub sp, #0x20 ldr r3, _0205C330 ; =0x020F70F8 @@ -172917,7 +172917,7 @@ sub_0205C214: ; 0x0205C214 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} add r0, r7, #0x0 - bl sub_020585D8 + bl FUN_020585D8 add r4, r0, #0x0 ldrb r0, [r4, #0x1] cmp r0, #0x3 @@ -172933,7 +172933,7 @@ sub_0205C214: ; 0x0205C214 lsl r2, r6, #0x1 lsl r0, r1, #0x2 add r0, r7, #0x0 - bl sub_020584C4 + bl FUN_020584C4 mov r5, #0x0 add r6, r0, #0x0 add r1, r5, #0x0 @@ -172955,7 +172955,7 @@ _0205C266: _0205C276: cmp r5, #0x4 blt _0205C27E - bl sub_02020C2C + bl FUN_02020C2C _0205C27E: add r0, r5, #0x1 lsr r2, r0, #0x1f @@ -172979,15 +172979,15 @@ _0205C27E: add r0, r2, r3 ldr r0, [r1, r0] mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r7, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] add r0, r7, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x0 bne _0205C2CC add sp, #0x20 @@ -173035,7 +173035,7 @@ _0205C314: mov r1, #0x4 ldrsb r1, [r4, r1] add r0, r7, #0x0 - bl sub_020584AC + bl FUN_020584AC ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] @@ -173049,8 +173049,8 @@ _0205C32A: .balign 4 _0205C330: .word 0x020F70F8 - thumb_func_start sub_0205C334 -sub_0205C334: ; 0x0205C334 + thumb_func_start FUN_0205C334 +FUN_0205C334: ; 0x0205C334 cmp r0, #0x64 bne _0205C33C mov r0, #0x1 @@ -173059,11 +173059,11 @@ _0205C33C: mov r0, #0x0 bx lr - thumb_func_start sub_0205C340 -sub_0205C340: ; 0x0205C340 + thumb_func_start FUN_0205C340 +FUN_0205C340: ; 0x0205C340 push {r4, lr} add r4, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldrh r0, [r0, #0x0] cmp r0, #0x0 bne _0205C352 @@ -173071,11 +173071,11 @@ sub_0205C340: ; 0x0205C340 pop {r4, pc} _0205C352: add r0, r4, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _0205C36C add r0, r4, #0x0 - bl sub_02058628 + bl FUN_02058628 ldr r1, [r0, #0x4] cmp r1, #0x0 beq _0205C36C @@ -173087,75 +173087,75 @@ _0205C36C: .balign 4 _0205C370: .word 0x0000FFFF - thumb_func_start sub_0205C374 -sub_0205C374: ; 0x0205C374 + thumb_func_start FUN_0205C374 +FUN_0205C374: ; 0x0205C374 push {r3, lr} - bl sub_020585B0 + bl FUN_020585B0 mov r1, #0x1 strh r1, [r0, #0x2] pop {r3, pc} - thumb_func_start sub_0205C380 -sub_0205C380: ; 0x0205C380 + thumb_func_start FUN_0205C380 +FUN_0205C380: ; 0x0205C380 push {r3, lr} mov r1, #0x4 - bl sub_0205858C + bl FUN_0205858C mov r1, #0x0 strh r1, [r0, #0x0] pop {r3, pc} .balign 4 - thumb_func_start sub_0205C390 -sub_0205C390: ; 0x0205C390 + thumb_func_start FUN_0205C390 +FUN_0205C390: ; 0x0205C390 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, r5, #0x0 - bl sub_0204B5FC + bl FUN_0204B5FC strh r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205C3AC -sub_0205C3AC: ; 0x0205C3AC + thumb_func_start FUN_0205C3AC +FUN_0205C3AC: ; 0x0205C3AC bx lr .balign 4 - thumb_func_start sub_0205C3B0 -sub_0205C3B0: ; 0x0205C3B0 + thumb_func_start FUN_0205C3B0 +FUN_0205C3B0: ; 0x0205C3B0 push {r4, lr} mov r1, #0x18 add r4, r0, #0x0 - bl sub_02058604 + bl FUN_02058604 ldr r1, _0205C3CC ; =0x0000FFFF str r1, [r0, #0x0] mov r1, #0x0 str r1, [r0, #0x4] add r0, r4, #0x0 - bl sub_0224A310 + bl FUN_0224A310 pop {r4, pc} nop _0205C3CC: .word 0x0000FFFF - thumb_func_start sub_0205C3D0 -sub_0205C3D0: ; 0x0205C3D0 + thumb_func_start FUN_0205C3D0 +FUN_0205C3D0: ; 0x0205C3D0 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058628 + bl FUN_02058628 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, r5, #0x0 - bl sub_0204B5FC + bl FUN_0204B5FC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_021F2E28 + bl FUN_021F2E28 cmp r0, #0x1 beq _0205C488 ldr r0, [r4, #0x4] @@ -173165,13 +173165,13 @@ sub_0205C3D0: ; 0x0205C3D0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 - bl sub_021F2094 + bl FUN_021F2094 add r0, r5, #0x0 - bl sub_02058738 + bl FUN_02058738 add r1, r5, #0x0 - bl sub_0204B61C + bl FUN_0204B61C add r1, r6, #0x0 - bl sub_0205C53C + bl FUN_0205C53C ldr r1, _0205C48C ; =0x0000FFFF str r0, [r4, #0x0] cmp r0, r1 @@ -173180,13 +173180,13 @@ sub_0205C3D0: ; 0x0205C3D0 cmp r0, #0x0 beq _0205C432 add r0, r5, #0x0 - bl sub_0224A528 + bl FUN_0224A528 _0205C432: add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 - bl sub_021F1F78 + bl FUN_021F1F78 b _0205C450 _0205C440: cmp r0, #0x0 @@ -173195,83 +173195,83 @@ _0205C440: cmp r0, #0x0 bne _0205C450 add r0, r5, #0x0 - bl sub_0224A528 + bl FUN_0224A528 _0205C450: mov r0, #0x0 strh r0, [r7, #0x2] _0205C454: add r0, r5, #0x0 str r6, [r4, #0x4] - bl sub_021F2E28 + bl FUN_021F2E28 cmp r0, #0x1 beq _0205C488 ldr r1, [r4, #0x8] cmp r1, #0x0 beq _0205C488 add r0, r5, #0x0 - bl sub_021F2F48 + bl FUN_021F2F48 add r0, r5, #0x0 - bl sub_021F1DFC + bl FUN_021F1DFC cmp r0, #0x0 bne _0205C480 mov r1, #0x1 ldr r0, [r4, #0x8] lsl r1, r1, #0xc - bl sub_0201F854 + bl FUN_0201F854 _0205C480: ldr r1, [r4, #0x8] add r0, r5, #0x0 - bl sub_021F2F6C + bl FUN_021F2F6C _0205C488: pop {r3-r7, pc} nop _0205C48C: .word 0x0000FFFF - thumb_func_start sub_0205C490 -sub_0205C490: ; 0x0205C490 + thumb_func_start FUN_0205C490 +FUN_0205C490: ; 0x0205C490 push {r4, lr} add r4, r0, #0x0 - bl sub_02058628 + bl FUN_02058628 add r2, r0, #0x0 add r1, r2, #0x0 ldr r2, [r2, #0x0] add r0, r4, #0x0 add r1, #0x8 - bl sub_021F2094 + bl FUN_021F2094 pop {r4, pc} - thumb_func_start sub_0205C4A8 -sub_0205C4A8: ; 0x0205C4A8 + thumb_func_start FUN_0205C4A8 +FUN_0205C4A8: ; 0x0205C4A8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058628 + bl FUN_02058628 add r4, r0, #0x0 ldr r0, [r4, #0x8] cmp r0, #0x0 beq _0205C4C0 add r1, r4, #0x0 add r1, #0xc - bl sub_021F20D8 + bl FUN_021F20D8 _0205C4C0: add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r5, #0x0 add r1, #0x8 - bl sub_021F2094 + bl FUN_021F2094 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058410 + bl FUN_02058410 pop {r3-r5, pc} - thumb_func_start sub_0205C4D8 -sub_0205C4D8: ; 0x0205C4D8 + thumb_func_start FUN_0205C4D8 +FUN_0205C4D8: ; 0x0205C4D8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02058628 + bl FUN_02058628 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_021F2E28 + bl FUN_021F2E28 cmp r0, #0x1 beq _0205C536 ldr r0, [r4, #0x8] @@ -173284,37 +173284,37 @@ sub_0205C4D8: ; 0x0205C4D8 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x8 - bl sub_021F1F78 + bl FUN_021F1F78 b _0205C510 _0205C506: mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058418 + bl FUN_02058418 _0205C510: add r0, r5, #0x0 - bl sub_0224A310 + bl FUN_0224A310 _0205C516: ldr r0, [r4, #0x8] cmp r0, #0x0 beq _0205C536 add r1, r4, #0x0 add r1, #0xc - bl sub_021F20F8 + bl FUN_021F20F8 ldr r1, [r4, #0x8] add r0, r5, #0x0 - bl sub_021F2F48 + bl FUN_021F2F48 mov r1, #0x2 add r0, r5, #0x0 lsl r1, r1, #0x14 - bl sub_02058418 + bl FUN_02058418 _0205C536: pop {r3-r5, pc} .balign 4 _0205C538: .word 0x0000FFFF - thumb_func_start sub_0205C53C -sub_0205C53C: ; 0x0205C53C + thumb_func_start FUN_0205C53C +FUN_0205C53C: ; 0x0205C53C push {r3, lr} cmp r1, #0x0 beq _0205C548 @@ -173354,15 +173354,15 @@ _0205C57C: .byte 0x10, 0x68, 0x08, 0xBD .byte 0x50, 0x68, 0x08, 0xBD, 0x90, 0x68, 0x08, 0xBD _0205C588: - bl sub_02020C2C + bl FUN_02020C2C ldr r0, _0205C590 ; =0x0000FFFF pop {r3, pc} .balign 4 _0205C590: .word 0x0000FFFF _0205C594: .word 0x021F9194 - thumb_func_start sub_0205C598 -sub_0205C598: ; 0x0205C598 + thumb_func_start FUN_0205C598 +FUN_0205C598: ; 0x0205C598 push {r3-r7, lr} sub sp, #0x58 add r5, r0, #0x0 @@ -173374,7 +173374,7 @@ sub_0205C598: ; 0x0205C598 add r1, r6, #0x0 add r2, r7, #0x0 mov r3, #0x0 - bl sub_0205C6BC + bl FUN_0205C6BC cmp r0, #0x0 bne _0205C5BC add sp, #0x58 @@ -173387,7 +173387,7 @@ _0205C5BC: ldr r1, _0205C6B8 ; =0x00000F0A ldr r2, [sp, #0x54] add r0, r5, #0x0 - bl sub_02038C78 + bl FUN_02038C78 cmp r4, #0x0 beq _0205C5E4 add r0, sp, #0x28 @@ -173396,7 +173396,7 @@ _0205C5BC: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0205C6BC + bl FUN_0205C6BC cmp r0, #0x0 bne _0205C604 _0205C5E4: @@ -173411,7 +173411,7 @@ _0205C5E4: ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 - bl sub_02038CA8 + bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} @@ -173428,7 +173428,7 @@ _0205C604: ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 - bl sub_02038CA8 + bl FUN_02038CA8 ldr r0, [sp, #0x30] str r0, [sp, #0x0] ldr r0, [sp, #0x34] @@ -173441,7 +173441,7 @@ _0205C604: ldr r2, [sp, #0x28] ldr r3, [sp, #0x2c] add r0, r5, #0x0 - bl sub_02038CA8 + bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} @@ -173458,16 +173458,16 @@ _0205C650: ldr r3, [sp, #0x4c] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0205C9F0 + bl FUN_0205C9F0 add r1, r0, #0x0 ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, sp, #0x10 - bl sub_0205C73C + bl FUN_0205C73C ldr r1, _0205C6B8 ; =0x00000F0A ldr r2, [sp, #0x54] add r0, r5, #0x0 - bl sub_02038C78 + bl FUN_02038C78 ldr r0, [sp, #0x48] str r0, [sp, #0x0] ldr r0, [sp, #0x4c] @@ -173480,7 +173480,7 @@ _0205C650: ldr r2, [sp, #0x40] ldr r3, [sp, #0x44] add r0, r5, #0x0 - bl sub_02038CA8 + bl FUN_02038CA8 ldr r0, [sp, #0x18] str r0, [sp, #0x0] ldr r0, [sp, #0x1c] @@ -173492,20 +173492,20 @@ _0205C650: ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] add r0, r5, #0x0 - bl sub_02038CA8 + bl FUN_02038CA8 add sp, #0x58 mov r0, #0x1 pop {r3-r7, pc} _0205C6AE: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 add sp, #0x58 pop {r3-r7, pc} .balign 4 _0205C6B8: .word 0x00000F0A - thumb_func_start sub_0205C6BC -sub_0205C6BC: ; 0x0205C6BC + thumb_func_start FUN_0205C6BC +FUN_0205C6BC: ; 0x0205C6BC push {r3-r7, lr} sub sp, #0x10 add r6, r0, #0x0 @@ -173519,7 +173519,7 @@ sub_0205C6BC: ; 0x0205C6BC add r1, sp, #0x4 add r2, sp, #0xc mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 beq _0205C734 _0205C6DE: @@ -173532,26 +173532,26 @@ _0205C6E8: ldr r0, [sp, #0x4] add r1, r7, #0x0 add r2, sp, #0x8 - bl sub_0205C794 + bl FUN_0205C794 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x0] cmp r0, r1 beq _0205C724 ldr r0, [sp, #0x4] - bl sub_0205C9D8 + bl FUN_0205C9D8 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - bl sub_02039640 + bl FUN_02039640 cmp r0, #0x0 bne _0205C724 ldr r0, [sp, #0x28] ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] ldr r3, [sp, #0x8] - bl sub_0205C73C + bl FUN_0205C73C add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -173560,7 +173560,7 @@ _0205C724: add r1, sp, #0x4 add r2, sp, #0xc mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 bne _0205C6DE _0205C734: @@ -173569,32 +173569,32 @@ _0205C734: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205C73C -sub_0205C73C: ; 0x0205C73C + thumb_func_start FUN_0205C73C +FUN_0205C73C: ; 0x0205C73C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 str r2, [r5, #0x0] str r3, [r5, #0x4] add r0, r4, #0x0 - bl sub_02058498 + bl FUN_02058498 str r0, [r5, #0x8] lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_020395F4 + bl FUN_020395F4 str r0, [r5, #0xc] lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0203962C + bl FUN_0203962C str r0, [r5, #0x10] str r4, [r5, #0x14] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205C768 -sub_0205C768: ; 0x0205C768 + thumb_func_start FUN_0205C768 +FUN_0205C768: ; 0x0205C768 push {r3, lr} - bl sub_02058488 + bl FUN_02058488 cmp r0, #0x8 bhi _0205C792 add r1, r0, r0 @@ -173616,28 +173616,28 @@ sub_0205C768: ; 0x0205C768 _0205C792: pop {r3, pc} - thumb_func_start sub_0205C794 -sub_0205C794: ; 0x0205C794 + thumb_func_start FUN_0205C794 +FUN_0205C794: ; 0x0205C794 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 str r2, [sp, #0x8] - bl sub_0205C768 + bl FUN_0205C768 cmp r0, #0x1 bne _0205C802 add r0, r4, #0x0 - bl sub_02055320 + bl FUN_02055320 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_0205532C + bl FUN_0205532C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020584C4 + bl FUN_020584C4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 add r2, r0, #0x0 str r6, [sp, #0x0] mov r0, #0x0 @@ -173645,7 +173645,7 @@ sub_0205C794: ; 0x0205C794 add r0, r5, #0x0 add r1, r4, #0x0 add r3, r7, #0x0 - bl sub_0205C86C + bl FUN_0205C86C add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -173654,7 +173654,7 @@ sub_0205C794: ; 0x0205C794 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0205C938 + bl FUN_0205C938 cmp r0, #0x0 bne _0205C7FA ldr r0, [sp, #0x8] @@ -173671,14 +173671,14 @@ _0205C802: cmp r0, #0x2 bne _0205C864 add r0, r4, #0x0 - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0x10] add r0, r4, #0x0 - bl sub_0205532C + bl FUN_0205532C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058510 + bl FUN_02058510 str r0, [sp, #0xc] mov r4, #0x0 _0205C822: @@ -173689,7 +173689,7 @@ _0205C822: ldr r3, [sp, #0x10] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205C86C + bl FUN_0205C86C add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -173698,7 +173698,7 @@ _0205C822: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0205C938 + bl FUN_0205C938 cmp r0, #0x0 bne _0205C856 ldr r0, [sp, #0x8] @@ -173720,8 +173720,8 @@ _0205C864: add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0205C86C -sub_0205C86C: ; 0x0205C86C + thumb_func_start FUN_0205C86C +FUN_0205C86C: ; 0x0205C86C push {r3-r5, lr} add r4, r1, #0x0 ldr r1, [sp, #0x14] @@ -173737,18 +173737,18 @@ sub_0205C86C: ; 0x0205C86C .balign 4 _0205C884: .word 0x020F71A8 - thumb_func_start sub_0205C888 -sub_0205C888: ; 0x0205C888 + thumb_func_start FUN_0205C888 +FUN_0205C888: ; 0x0205C888 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r0, r6 bne _0205C8AE add r0, r7, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r4, r0 bge _0205C8AE sub r1, r0, r5 @@ -173761,18 +173761,18 @@ _0205C8AE: mvn r0, r0 pop {r3-r7, pc} - thumb_func_start sub_0205C8B4 -sub_0205C8B4: ; 0x0205C8B4 + thumb_func_start FUN_0205C8B4 +FUN_0205C8B4: ; 0x0205C8B4 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r0, r6 bne _0205C8DA add r0, r7, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r4, r0 ble _0205C8DA add r1, r0, r5 @@ -173785,18 +173785,18 @@ _0205C8DA: mvn r0, r0 pop {r3-r7, pc} - thumb_func_start sub_0205C8E0 -sub_0205C8E0: ; 0x0205C8E0 + thumb_func_start FUN_0205C8E0 +FUN_0205C8E0: ; 0x0205C8E0 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r0, r6 bne _0205C906 add r0, r7, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r4, r0 bge _0205C906 sub r1, r0, r5 @@ -173809,18 +173809,18 @@ _0205C906: mvn r0, r0 pop {r3-r7, pc} - thumb_func_start sub_0205C90C -sub_0205C90C: ; 0x0205C90C + thumb_func_start FUN_0205C90C +FUN_0205C90C: ; 0x0205C90C push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02058B4C + bl FUN_02058B4C cmp r0, r6 bne _0205C932 add r0, r7, #0x0 - bl sub_02058B2C + bl FUN_02058B2C cmp r4, r0 ble _0205C932 add r1, r0, r5 @@ -173833,8 +173833,8 @@ _0205C932: mvn r0, r0 pop {r3-r7, pc} - thumb_func_start sub_0205C938 -sub_0205C938: ; 0x0205C938 + thumb_func_start FUN_0205C938 +FUN_0205C938: ; 0x0205C938 push {r3-r7, lr} sub sp, #0x18 add r5, r1, #0x0 @@ -173846,19 +173846,19 @@ sub_0205C938: ; 0x0205C938 mov r0, #0x1 pop {r3-r7, pc} _0205C94C: - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_02058B4C + bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [sp, #0x4] - bl sub_02058B3C + bl FUN_02058B3C str r0, [sp, #0xc] add r0, r5, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r6, r4, r0 add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r4, r7, r0 ldr r0, [sp, #0x8] mov r7, #0x0 @@ -173874,7 +173874,7 @@ _0205C982: add r1, r6, #0x0 add r3, r4, #0x0 str r5, [sp, #0x0] - bl sub_020598F0 + bl FUN_020598F0 ldr r1, [sp, #0x14] bic r0, r1 beq _0205C99C @@ -173883,10 +173883,10 @@ _0205C982: pop {r3-r7, pc} _0205C99C: add r0, r5, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r6, r6, r0 add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r4, r4, r0 ldr r0, [sp, #0x10] add r7, r7, #0x1 @@ -173898,7 +173898,7 @@ _0205C9B4: add r1, r6, #0x0 add r3, r4, #0x0 str r5, [sp, #0x0] - bl sub_020598F0 + bl FUN_020598F0 mov r1, #0x1 bic r0, r1 cmp r0, #0x4 @@ -173912,24 +173912,24 @@ _0205C9D0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205C9D8 -sub_0205C9D8: ; 0x0205C9D8 + thumb_func_start FUN_0205C9D8 +FUN_0205C9D8: ; 0x0205C9D8 push {r3, lr} - bl sub_02058498 + bl FUN_02058498 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_020395F4 + bl FUN_020395F4 pop {r3, pc} - thumb_func_start sub_0205C9E8 -sub_0205C9E8: ; 0x0205C9E8 - ldr r3, _0205C9EC ; =sub_0205C9D8 + thumb_func_start FUN_0205C9E8 +FUN_0205C9E8: ; 0x0205C9E8 + ldr r3, _0205C9EC ; =FUN_0205C9D8 bx r3 .balign 4 -_0205C9EC: .word sub_0205C9D8 + 1 +_0205C9EC: .word FUN_0205C9D8 + 1 - thumb_func_start sub_0205C9F0 -sub_0205C9F0: ; 0x0205C9F0 + thumb_func_start FUN_0205C9F0 +FUN_0205C9F0: ; 0x0205C9F0 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -173941,7 +173941,7 @@ sub_0205C9F0: ; 0x0205C9F0 add r1, sp, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 beq _0205CA40 add r7, sp, #0x0 @@ -173949,12 +173949,12 @@ _0205CA10: ldr r0, [sp, #0x0] cmp r0, r4 beq _0205CA30 - bl sub_0205C768 + bl FUN_0205C768 sub r0, r0, #0x1 cmp r0, #0x1 bhi _0205CA30 ldr r0, [sp, #0x0] - bl sub_0205C9D8 + bl FUN_0205C9D8 cmp r6, r0 bne _0205CA30 ldr r0, [sp, #0x0] @@ -173965,18 +173965,18 @@ _0205CA30: add r1, r7, #0x0 add r2, sp, #0x4 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x0 bne _0205CA10 _0205CA40: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205CA4C -sub_0205CA4C: ; 0x0205CA4C + thumb_func_start FUN_0205CA4C +FUN_0205CA4C: ; 0x0205CA4C push {r3-r4, lr} sub sp, #0xc ldr r4, [sp, #0x18] @@ -173985,31 +173985,31 @@ sub_0205CA4C: ; 0x0205CA4C str r4, [sp, #0x4] ldr r4, [sp, #0x20] str r4, [sp, #0x8] - bl sub_0205CA80 + bl FUN_0205CA80 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0205CA64 -sub_0205CA64: ; 0x0205CA64 + thumb_func_start FUN_0205CA64 +FUN_0205CA64: ; 0x0205CA64 push {r4, lr} add r4, r0, #0x0 bne _0205CA6E - bl sub_02020C2C + bl FUN_02020C2C _0205CA6E: add r0, r4, #0x0 - bl sub_0205CAD4 + bl FUN_0205CAD4 pop {r4, pc} .balign 4 - thumb_func_start sub_0205CA78 -sub_0205CA78: ; 0x0205CA78 - ldr r3, _0205CA7C ; =sub_0205CAE0 + thumb_func_start FUN_0205CA78 +FUN_0205CA78: ; 0x0205CA78 + ldr r3, _0205CA7C ; =FUN_0205CAE0 bx r3 .balign 4 -_0205CA7C: .word sub_0205CAE0 + 1 +_0205CA7C: .word FUN_0205CAE0 + 1 - thumb_func_start sub_0205CA80 -sub_0205CA80: ; 0x0205CA80 + thumb_func_start FUN_0205CA80 +FUN_0205CA80: ; 0x0205CA80 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -174017,15 +174017,15 @@ sub_0205CA80: ; 0x0205CA80 mov r1, #0x2c add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 bne _0205CA9A - bl sub_02020C2C + bl FUN_02020C2C _0205CA9A: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x2c - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [sp, #0x0] str r7, [r4, #0x8] str r0, [r4, #0xc] @@ -174038,40 +174038,40 @@ _0205CA9A: ldr r0, [sp, #0x20] str r0, [r4, #0x18] str r5, [r4, #0x24] - ldr r0, _0205CAD0 ; =sub_0205CAF8 + ldr r0, _0205CAD0 ; =FUN_0205CAF8 str r6, [r4, #0x28] - bl sub_0200CA44 + bl FUN_0200CA44 add r4, r0, #0x0 bne _0205CACC - bl sub_02020C2C + bl FUN_02020C2C _0205CACC: add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 -_0205CAD0: .word sub_0205CAF8 + 1 +_0205CAD0: .word FUN_0205CAF8 + 1 - thumb_func_start sub_0205CAD4 -sub_0205CAD4: ; 0x0205CAD4 + thumb_func_start FUN_0205CAD4 +FUN_0205CAD4: ; 0x0205CAD4 push {r3, lr} - bl sub_0201B6C8 + bl FUN_0201B6C8 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 - thumb_func_start sub_0205CAE0 -sub_0205CAE0: ; 0x0205CAE0 + thumb_func_start FUN_0205CAE0 +FUN_0205CAE0: ; 0x0205CAE0 push {r4, lr} add r4, r0, #0x0 - bl sub_0201B6C8 + bl FUN_0201B6C8 add r1, r0, #0x0 mov r0, #0x4 - bl sub_02016A8C + bl FUN_02016A8C add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} - thumb_func_start sub_0205CAF8 -sub_0205CAF8: ; 0x0205CAF8 + thumb_func_start FUN_0205CAF8 +FUN_0205CAF8: ; 0x0205CAF8 push {r3-r5, lr} ldr r4, _0205CB10 ; =0x020F71B8 add r5, r1, #0x0 @@ -174087,29 +174087,29 @@ _0205CAFE: nop _0205CB10: .word 0x020F71B8 - thumb_func_start sub_0205CB14 -sub_0205CB14: ; 0x0205CB14 + thumb_func_start FUN_0205CB14 +FUN_0205CB14: ; 0x0205CB14 push {r3-r5, lr} add r5, r0, #0x0 ldr r4, [r5, #0x24] add r0, r4, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x1 bne _0205CB2A add r0, r4, #0x0 - bl sub_02058914 + bl FUN_02058914 _0205CB2A: mov r0, #0x1 str r0, [r5, #0x0] pop {r3-r5, pc} - thumb_func_start sub_0205CB30 -sub_0205CB30: ; 0x0205CB30 + thumb_func_start FUN_0205CB30 +FUN_0205CB30: ; 0x0205CB30 push {r3-r5, lr} add r4, r0, #0x0 ldr r5, [r4, #0x24] add r0, r5, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x1 bne _0205CB44 mov r0, #0x0 @@ -174117,29 +174117,29 @@ sub_0205CB30: ; 0x0205CB30 _0205CB44: ldr r0, [r4, #0x24] ldr r1, [r4, #0x8] - bl sub_021F1EC0 + bl FUN_021F1EC0 add r0, r5, #0x0 mov r1, #0x40 - bl sub_02058410 + bl FUN_02058410 mov r0, #0x2 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0205CB5C -sub_0205CB5C: ; 0x0205CB5C + thumb_func_start FUN_0205CB5C +FUN_0205CB5C: ; 0x0205CB5C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x28] - bl sub_020553A0 - bl sub_0205AE28 + bl FUN_020553A0 + bl FUN_0205AE28 cmp r0, #0x0 bne _0205CB72 mov r0, #0x0 pop {r4, pc} _0205CB72: ldr r0, [r4, #0x24] - bl sub_02058480 + bl FUN_02058480 sub r0, #0x33 cmp r0, #0x3 bhi _0205CB9A @@ -174164,12 +174164,12 @@ _0205CB9A: pop {r4, pc} .balign 4 - thumb_func_start sub_0205CBA4 -sub_0205CBA4: ; 0x0205CBA4 + thumb_func_start FUN_0205CBA4 +FUN_0205CBA4: ; 0x0205CBA4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x0 bne _0205CBB6 mov r0, #0x0 @@ -174180,25 +174180,25 @@ _0205CBB6: mvn r0, r0 cmp r1, r0 bne _0205CBC4 - bl sub_02020C2C + bl FUN_02020C2C _0205CBC4: ldr r0, [r4, #0x8] mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205ADDC + bl FUN_0205ADDC mov r0, #0x4 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205CBDC -sub_0205CBDC: ; 0x0205CBDC + thumb_func_start FUN_0205CBDC +FUN_0205CBDC: ; 0x0205CBDC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x0 bne _0205CBEE mov r0, #0x0 @@ -174210,54 +174210,54 @@ _0205CBEE: pop {r4, pc} .balign 4 - thumb_func_start sub_0205CBF8 -sub_0205CBF8: ; 0x0205CBF8 + thumb_func_start FUN_0205CBF8 +FUN_0205CBF8: ; 0x0205CBF8 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0x24] add r2, r1, #0x0 - bl sub_021E7AC0 + bl FUN_021E7AC0 str r0, [r4, #0x20] mov r0, #0x6 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205CC10 -sub_0205CC10: ; 0x0205CC10 + thumb_func_start FUN_0205CC10 +FUN_0205CC10: ; 0x0205CC10 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x20] - bl sub_021E799C + bl FUN_021E799C cmp r0, #0x1 bne _0205CC28 ldr r0, [r4, #0x20] - bl sub_02064520 + bl FUN_02064520 mov r0, #0x9 str r0, [r4, #0x0] _0205CC28: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205CC2C -sub_0205CC2C: ; 0x0205CC2C + thumb_func_start FUN_0205CC2C +FUN_0205CC2C: ; 0x0205CC2C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] mov r1, #0x65 - bl sub_0205ADDC + bl FUN_0205ADDC mov r0, #0x8 str r0, [r4, #0x0] mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_0205CC40 -sub_0205CC40: ; 0x0205CC40 + thumb_func_start FUN_0205CC40 +FUN_0205CC40: ; 0x0205CC40 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x1 bne _0205CC52 mov r0, #0x9 @@ -174267,8 +174267,8 @@ _0205CC52: pop {r4, pc} .balign 4 - thumb_func_start sub_0205CC58 -sub_0205CC58: ; 0x0205CC58 + thumb_func_start FUN_0205CC58 +FUN_0205CC58: ; 0x0205CC58 ldr r1, [r0, #0x1c] add r1, r1, #0x1 str r1, [r0, #0x1c] @@ -174283,8 +174283,8 @@ _0205CC6A: bx lr .balign 4 - thumb_func_start sub_0205CC70 -sub_0205CC70: ; 0x0205CC70 + thumb_func_start FUN_0205CC70 +FUN_0205CC70: ; 0x0205CC70 ldr r1, [r0, #0xc] cmp r1, #0x1 bgt _0205CC7E @@ -174299,20 +174299,20 @@ _0205CC7E: bx lr .balign 4 - thumb_func_start sub_0205CC88 -sub_0205CC88: ; 0x0205CC88 + thumb_func_start FUN_0205CC88 +FUN_0205CC88: ; 0x0205CC88 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _0205CCAA ldr r0, [r4, #0x8] mov r1, #0xc - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205ADDC + bl FUN_0205ADDC mov r0, #0xc str r0, [r4, #0x0] _0205CCAA: @@ -174320,12 +174320,12 @@ _0205CCAA: pop {r4, pc} .balign 4 - thumb_func_start sub_0205CCB0 -sub_0205CCB0: ; 0x0205CCB0 + thumb_func_start FUN_0205CCB0 +FUN_0205CCB0: ; 0x0205CCB0 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x0 bne _0205CCC2 mov r0, #0x0 @@ -174339,8 +174339,8 @@ _0205CCC2: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0205CCD0 -sub_0205CCD0: ; 0x0205CCD0 + thumb_func_start FUN_0205CCD0 +FUN_0205CCD0: ; 0x0205CCD0 ldr r1, [r0, #0x1c] add r1, r1, #0x1 str r1, [r0, #0x1c] @@ -174357,31 +174357,31 @@ _0205CCDE: bx lr .balign 4 - thumb_func_start sub_0205CCEC -sub_0205CCEC: ; 0x0205CCEC + thumb_func_start FUN_0205CCEC +FUN_0205CCEC: ; 0x0205CCEC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x28] - bl sub_020553A0 + bl FUN_020553A0 add r4, r0, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [r5, #0x24] - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x0] ldr r0, [r5, #0x24] - bl sub_02058B4C + bl FUN_02058B4C add r3, r0, #0x0 ldr r2, [sp, #0x0] add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02059E80 + bl FUN_02059E80 add r6, r0, #0x0 ldr r0, [r5, #0x28] - bl sub_020552F8 + bl FUN_020552F8 cmp r6, r0 beq _0205CD60 ldr r0, [r5, #0x18] @@ -174392,18 +174392,18 @@ sub_0205CCEC: ; 0x0205CCEC bne _0205CD60 _0205CD38: add r0, r4, #0x0 - bl sub_0205AD98 + bl FUN_0205AD98 cmp r0, #0x1 bne _0205CD64 add r0, r4, #0x0 mov r1, #0x80 - bl sub_02058418 + bl FUN_02058418 add r0, r6, #0x0 mov r1, #0x0 - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0205ADDC + bl FUN_0205ADDC mov r0, #0xf str r0, [r5, #0x0] b _0205CD64 @@ -174414,56 +174414,56 @@ _0205CD64: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0205CD68 -sub_0205CD68: ; 0x0205CD68 + thumb_func_start FUN_0205CD68 +FUN_0205CD68: ; 0x0205CD68 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x28] - bl sub_020553A0 + bl FUN_020553A0 add r5, r0, #0x0 - bl sub_0205AE28 + bl FUN_0205AE28 cmp r0, #0x0 bne _0205CD80 mov r0, #0x0 pop {r3-r5, pc} _0205CD80: add r0, r5, #0x0 - bl sub_0205AE50 + bl FUN_0205AE50 mov r0, #0x10 str r0, [r4, #0x0] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205CD90 -sub_0205CD90: ; 0x0205CD90 + thumb_func_start FUN_0205CD90 +FUN_0205CD90: ; 0x0205CD90 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x24] - bl sub_0205AE50 + bl FUN_0205AE50 ldr r0, [r4, #0x24] mov r1, #0x0 - bl sub_02058E90 + bl FUN_02058E90 mov r0, #0x11 str r0, [r4, #0x0] mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0205CDAC -sub_0205CDAC: ; 0x0205CDAC + thumb_func_start FUN_0205CDAC +FUN_0205CDAC: ; 0x0205CDAC mov r1, #0x1 str r1, [r0, #0x4] mov r0, #0x0 bx lr - thumb_func_start sub_0205CDB4 -sub_0205CDB4: ; 0x0205CDB4 + thumb_func_start FUN_0205CDB4 +FUN_0205CDB4: ; 0x0205CDB4 push {r4, lr} add r4, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 - bl sub_020254B4 + bl FUN_020377AC + bl FUN_02024ED8 + bl FUN_020254B4 add r1, r0, #0x0 beq _0205CDD2 lsl r2, r1, #0x2 @@ -174476,13 +174476,13 @@ _0205CDD2: .balign 4 _0205CDD4: .word 0x020F7220 - thumb_func_start sub_0205CDD8 -sub_0205CDD8: ; 0x0205CDD8 + thumb_func_start FUN_0205CDD8 +FUN_0205CDD8: ; 0x0205CDD8 push {r4, lr} add r4, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 - bl sub_020254B4 + bl FUN_020377AC + bl FUN_02024ED8 + bl FUN_020254B4 cmp r0, #0x0 beq _0205CDFA lsl r1, r0, #0x2 @@ -174497,17 +174497,17 @@ _0205CDFA: .balign 4 _0205CDFC: .word 0x020F7200 - thumb_func_start sub_0205CE00 -sub_0205CE00: ; 0x0205CE00 + thumb_func_start FUN_0205CE00 +FUN_0205CE00: ; 0x0205CE00 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r4, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x4] - bl sub_020377AC - bl sub_02024ED8 - bl sub_020254B4 + bl FUN_020377AC + bl FUN_02024ED8 + bl FUN_020254B4 cmp r0, #0x0 bne _0205CE22 add sp, #0x8 @@ -174535,8 +174535,8 @@ _0205CE3E: .balign 4 _0205CE44: .word 0x020F7240 - thumb_func_start sub_0205CE48 -sub_0205CE48: ; 0x0205CE48 + thumb_func_start FUN_0205CE48 +FUN_0205CE48: ; 0x0205CE48 cmp r0, #0x0 bne _0205CE58 mov r0, #0xc @@ -174566,8 +174566,8 @@ _0205CE74: .word 0x020F7260 _0205CE78: .word 0x020F7264 _0205CE7C: .word 0x020F7268 - thumb_func_start sub_0205CE80 -sub_0205CE80: ; 0x0205CE80 + thumb_func_start FUN_0205CE80 +FUN_0205CE80: ; 0x0205CE80 push {r3-r7, lr} add r4, r0, #0x0 add r5, r1, #0x0 @@ -174576,25 +174576,25 @@ sub_0205CE80: ; 0x0205CE80 ldr r0, [r0, #0x0] str r0, [r5, #0x0] ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C str r0, [r5, #0x4] ldr r0, [r4, #0x38] - bl sub_020553C4 + bl FUN_020553C4 str r0, [r5, #0x8] ldr r0, [r4, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_0205532C + bl FUN_0205532C add r7, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 strh r0, [r5, #0xe] ldr r0, [r4, #0x38] - bl sub_020552F8 + bl FUN_020552F8 cmp r0, #0x3 bhi _0205CEEA add r0, r0, r0 @@ -174615,22 +174615,22 @@ _0205CEEA: add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 strh r0, [r5, #0xc] add r0, r4, #0x0 add r1, sp, #0x0 - bl sub_02037024 + bl FUN_02037024 ldr r1, [sp, #0x0] add r0, r4, #0x0 - bl sub_0204B6C4 + bl FUN_0204B6C4 strh r0, [r5, #0x10] ldr r0, [r4, #0x38] str r0, [r5, #0x14] pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205CF10 -sub_0205CF10: ; 0x0205CF10 + thumb_func_start FUN_0205CF10 +FUN_0205CF10: ; 0x0205CF10 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -174638,7 +174638,7 @@ sub_0205CF10: ; 0x0205CF10 mov r1, #0xc add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 str r5, [r0, #0x0] strh r4, [r0, #0x4] strh r6, [r0, #0x6] @@ -174649,29 +174649,29 @@ sub_0205CF10: ; 0x0205CF10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205CF34 -sub_0205CF34: ; 0x0205CF34 + thumb_func_start FUN_0205CF34 +FUN_0205CF34: ; 0x0205CF34 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r2, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 mov r2, #0x0 - ldr r1, _0205CF74 ; =sub_0205CFA0 + ldr r1, _0205CF74 ; =FUN_0205CFA0 lsl r0, r0, #0x2 str r1, [r4, r0] str r2, [sp, #0x0] ldrh r1, [r5, #0x4] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_0205CF10 + bl FUN_0205CF10 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -174679,10 +174679,10 @@ sub_0205CF34: ; 0x0205CF34 strh r0, [r4, #0x2a] pop {r3-r7, pc} nop -_0205CF74: .word sub_0205CFA0 + 1 +_0205CF74: .word FUN_0205CFA0 + 1 - thumb_func_start sub_0205CF78 -sub_0205CF78: ; 0x0205CF78 + thumb_func_start FUN_0205CF78 +FUN_0205CF78: ; 0x0205CF78 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x0 @@ -174691,27 +174691,27 @@ sub_0205CF78: ; 0x0205CF78 add r0, r1, #0x0 ldrh r1, [r4, #0x28] add r3, r2, #0x0 - bl sub_0205CF10 + bl FUN_0205CF10 add r2, r0, #0x0 ldr r0, [r4, #0x0] - ldr r1, _0205CF9C ; =sub_0205CFA0 - bl sub_020463CC + ldr r1, _0205CF9C ; =FUN_0205CFA0 + bl FUN_020463CC add sp, #0x4 pop {r3-r4, pc} nop -_0205CF9C: .word sub_0205CFA0 + 1 +_0205CF9C: .word FUN_0205CFA0 + 1 - thumb_func_start sub_0205CFA0 -sub_0205CFA0: ; 0x0205CFA0 + thumb_func_start FUN_0205CFA0 +FUN_0205CFA0: ; 0x0205CFA0 push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_02046530 + bl FUN_02046530 add r6, r0, #0x0 ldr r0, [r6, #0x0] cmp r0, #0x0 @@ -174722,32 +174722,32 @@ sub_0205CFA0: ; 0x0205CFA0 _0205CFC6: add r0, r5, #0x0 add r1, sp, #0x0 - bl sub_02037024 + bl FUN_02037024 ldr r1, [r4, #0x0] ldr r2, [sp, #0x0] lsl r1, r1, #0x10 add r0, r7, #0x0 lsr r1, r1, #0x10 mov r3, #0x0 - bl sub_02038CD8 + bl FUN_02038CD8 add r0, r5, #0x0 mov r1, #0x29 - bl sub_02039438 + bl FUN_02039438 ldrh r1, [r4, #0x4] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2a - bl sub_02039438 + bl FUN_02039438 ldrh r1, [r4, #0x6] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2b - bl sub_02039438 + bl FUN_02039438 ldrh r1, [r4, #0x8] strh r1, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2c - bl sub_02039438 + bl FUN_02039438 ldrh r1, [r4, #0xa] strh r1, [r0, #0x0] ldr r0, [r6, #0x0] @@ -174756,44 +174756,44 @@ _0205CFC6: b _0205D020 _0205D016: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} _0205D020: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0205D024 -sub_0205D024: ; 0x0205D024 + thumb_func_start FUN_0205D024 +FUN_0205D024: ; 0x0205D024 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_0204652C + bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] ldr r0, [r5, #0xc] - bl sub_02022504 + bl FUN_02022504 str r0, [r4, #0x10] mov r0, #0x7a lsl r0, r0, #0x2 @@ -174817,75 +174817,75 @@ sub_0205D024: ; 0x0205D024 strb r1, [r0, #0x0] ldr r1, _0205D0B4 ; =0x020F96DC add r0, r5, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] - ldr r1, _0205D0B8 ; =sub_02035E50 + ldr r1, _0205D0B8 ; =FUN_02035E50 add r0, r7, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r7, pc} nop _0205D0B4: .word 0x020F96DC -_0205D0B8: .word sub_02035E50 + 1 +_0205D0B8: .word FUN_02035E50 + 1 - thumb_func_start sub_0205D0BC -sub_0205D0BC: ; 0x0205D0BC + thumb_func_start FUN_0205D0BC +FUN_0205D0BC: ; 0x0205D0BC push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02037EB8 + bl FUN_02037EB8 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _0205D0E8 ; =sub_02036A78 + ldr r1, _0205D0E8 ; =FUN_02036A78 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r5, pc} nop -_0205D0E8: .word sub_02036A78 + 1 +_0205D0E8: .word FUN_02036A78 + 1 - thumb_func_start sub_0205D0EC -sub_0205D0EC: ; 0x0205D0EC + thumb_func_start FUN_0205D0EC +FUN_0205D0EC: ; 0x0205D0EC push {r3, lr} - ldr r1, _0205D0F8 ; =sub_0205D0FC - bl sub_0205DD04 + ldr r1, _0205D0F8 ; =FUN_0205D0FC + bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 -_0205D0F8: .word sub_0205D0FC + 1 +_0205D0F8: .word FUN_0205D0FC + 1 - thumb_func_start sub_0205D0FC -sub_0205D0FC: ; 0x0205D0FC - ldr r3, _0205D100 ; =sub_02037EB8 + thumb_func_start FUN_0205D0FC +FUN_0205D0FC: ; 0x0205D0FC + ldr r3, _0205D100 ; =FUN_02037EB8 bx r3 .balign 4 -_0205D100: .word sub_02037EB8 + 1 +_0205D100: .word FUN_02037EB8 + 1 - thumb_func_start sub_0205D104 -sub_0205D104: ; 0x0205D104 + thumb_func_start FUN_0205D104 +FUN_0205D104: ; 0x0205D104 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0205D140 ; =sub_02049844 + ldr r1, _0205D140 ; =FUN_02049844 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, r5, #0x0 - bl sub_0204976C + bl FUN_0204976C mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -174896,36 +174896,36 @@ sub_0205D104: ; 0x0205D104 str r0, [r5, #0x0] pop {r3-r5, pc} nop -_0205D140: .word sub_02049844 + 1 +_0205D140: .word FUN_02049844 + 1 - thumb_func_start sub_0205D144 -sub_0205D144: ; 0x0205D144 + thumb_func_start FUN_0205D144 +FUN_0205D144: ; 0x0205D144 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204976C + bl FUN_0204976C add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r5, #0x0] - ldr r1, _0205D16C ; =sub_02049844 + ldr r1, _0205D16C ; =FUN_02049844 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC ldr r1, [r5, #0x0] mov r0, #0x0 add r1, #0x8c str r0, [r1, #0x0] pop {r3-r5, pc} .balign 4 -_0205D16C: .word sub_02049844 + 1 +_0205D16C: .word FUN_02049844 + 1 - thumb_func_start sub_0205D170 -sub_0205D170: ; 0x0205D170 + thumb_func_start FUN_0205D170 +FUN_0205D170: ; 0x0205D170 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02034824 + bl FUN_02034824 cmp r0, #0x0 bne _0205D184 mov r0, #0x0 @@ -174933,7 +174933,7 @@ sub_0205D170: ; 0x0205D170 pop {r3-r5, pc} _0205D184: ldr r0, [r5, #0x0] - bl sub_02034908 + bl FUN_02034908 cmp r0, #0x0 bne _0205D194 mov r0, #0x0 @@ -174941,7 +174941,7 @@ _0205D184: pop {r3-r5, pc} _0205D194: ldr r0, [r5, #0x14] - bl sub_02055738 + bl FUN_02055738 cmp r0, #0x1 bne _0205D1A4 mov r0, #0x0 @@ -174950,14 +174950,14 @@ _0205D194: _0205D1A4: ldr r0, [r5, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 beq _0205D1C4 ldr r0, [r5, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _0205D1CA _0205D1C4: @@ -174966,7 +174966,7 @@ _0205D1C4: pop {r3-r5, pc} _0205D1CA: ldr r0, [r5, #0x14] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 bne _0205D1DA mov r0, #0x0 @@ -174976,7 +174976,7 @@ _0205D1DA: ldrh r0, [r5, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054B78 + bl FUN_02054B78 cmp r0, #0x1 bne _0205D1EE mov r0, #0x0 @@ -174985,17 +174985,17 @@ _0205D1DA: _0205D1EE: ldr r0, [r5, #0x18] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [r5, #0x18] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r5, #0x18] add r1, r4, #0x0 - bl sub_02034D44 + bl FUN_02034D44 cmp r0, #0x0 bne _0205D218 mov r0, #0x0 @@ -175005,20 +175005,20 @@ _0205D218: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205D21C -sub_0205D21C: ; 0x0205D21C + thumb_func_start FUN_0205D21C +FUN_0205D21C: ; 0x0205D21C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0205D24C ; =sub_0205D264 + ldr r1, _0205D24C ; =FUN_0205D264 lsl r0, r0, #0x2 str r1, [r4, r0] mov r1, #0x0 @@ -175028,28 +175028,28 @@ sub_0205D21C: ; 0x0205D21C strh r0, [r4, #0x2a] pop {r3-r5, pc} nop -_0205D24C: .word sub_0205D264 + 1 +_0205D24C: .word FUN_0205D264 + 1 - thumb_func_start sub_0205D250 -sub_0205D250: ; 0x0205D250 + thumb_func_start FUN_0205D250 +FUN_0205D250: ; 0x0205D250 push {r3, lr} ldr r0, [r0, #0x0] - ldr r1, _0205D260 ; =sub_0205D264 + ldr r1, _0205D260 ; =FUN_0205D264 mov r2, #0x0 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 pop {r3, pc} .balign 4 -_0205D260: .word sub_0205D264 + 1 +_0205D260: .word FUN_0205D264 + 1 - thumb_func_start sub_0205D264 -sub_0205D264: ; 0x0205D264 + thumb_func_start FUN_0205D264 +FUN_0205D264: ; 0x0205D264 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x3 @@ -175082,8 +175082,8 @@ _0205D324: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205D328 -sub_0205D328: ; 0x0205D328 + thumb_func_start FUN_0205D328 +FUN_0205D328: ; 0x0205D328 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -175093,22 +175093,22 @@ sub_0205D328: ; 0x0205D328 pop {r3-r5, pc} _0205D336: ldr r0, [r4, #0x14] - bl sub_02055738 + bl FUN_02055738 cmp r0, #0x1 bne _0205D344 mov r0, #0x1 pop {r3-r5, pc} _0205D344: ldr r0, [r4, #0x14] - bl sub_020553A0 + bl FUN_020553A0 ldrh r1, [r4, #0xe] add r5, r0, #0x0 - bl sub_02059BB4 + bl FUN_02059BB4 cmp r0, #0x1 beq _0205D362 ldrh r1, [r4, #0xe] add r0, r5, #0x0 - bl sub_02059BD4 + bl FUN_02059BD4 cmp r0, #0x1 bne _0205D366 _0205D362: @@ -175118,19 +175118,19 @@ _0205D366: ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054798 + bl FUN_02054798 cmp r0, #0x1 beq _0205D390 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054974 + bl FUN_02054974 cmp r0, #0x1 beq _0205D390 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054990 + bl FUN_02054990 cmp r0, #0x1 bne _0205D396 _0205D390: @@ -175139,7 +175139,7 @@ _0205D390: pop {r3-r5, pc} _0205D396: ldr r0, [r4, #0x0] - bl sub_020348B4 + bl FUN_020348B4 cmp r0, #0x0 bne _0205D3A6 mov r0, #0x0 @@ -175157,72 +175157,72 @@ _0205D3B2: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205D3B8 -sub_0205D3B8: ; 0x0205D3B8 + thumb_func_start FUN_0205D3B8 +FUN_0205D3B8: ; 0x0205D3B8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02037944 - ldr r1, _0205D3E0 ; =sub_02036B90 + bl FUN_02037944 + ldr r1, _0205D3E0 ; =FUN_02036B90 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r5, pc} nop -_0205D3E0: .word sub_02036B90 + 1 +_0205D3E0: .word FUN_02036B90 + 1 - thumb_func_start sub_0205D3E4 -sub_0205D3E4: ; 0x0205D3E4 + thumb_func_start FUN_0205D3E4 +FUN_0205D3E4: ; 0x0205D3E4 push {r3, lr} - ldr r1, _0205D3F0 ; =sub_0205D3F4 - bl sub_0205DD04 + ldr r1, _0205D3F0 ; =FUN_0205D3F4 + bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 -_0205D3F0: .word sub_0205D3F4 + 1 +_0205D3F0: .word FUN_0205D3F4 + 1 - thumb_func_start sub_0205D3F4 -sub_0205D3F4: ; 0x0205D3F4 + thumb_func_start FUN_0205D3F4 +FUN_0205D3F4: ; 0x0205D3F4 push {r3, lr} mov r1, #0x0 - bl sub_02037944 + bl FUN_02037944 mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205D400 -sub_0205D400: ; 0x0205D400 + thumb_func_start FUN_0205D400 +FUN_0205D400: ; 0x0205D400 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_0204652C + bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] mov r0, #0x7a lsl r0, r0, #0x2 @@ -175244,71 +175244,71 @@ sub_0205D400: ; 0x0205D400 add r0, #0x22 strb r1, [r0, #0x0] ldrh r0, [r6, #0x4] - bl sub_0206EA30 + bl FUN_0206EA30 strh r0, [r4, #0x26] ldr r1, _0205D490 ; =0x020F96DC add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] - ldr r1, _0205D494 ; =sub_02035E50 + ldr r1, _0205D494 ; =FUN_02035E50 add r0, r7, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r7, pc} nop _0205D490: .word 0x020F96DC -_0205D494: .word sub_02035E50 + 1 +_0205D494: .word FUN_02035E50 + 1 - thumb_func_start sub_0205D498 -sub_0205D498: ; 0x0205D498 + thumb_func_start FUN_0205D498 +FUN_0205D498: ; 0x0205D498 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrh r0, [r5, #0x4] - bl sub_0206EAB8 + bl FUN_0206EAB8 add r2, r0, #0x0 add r0, r6, #0x0 mov r1, #0x3 mov r3, #0xb - bl sub_02037F58 + bl FUN_02037F58 add r6, r0, #0x0 ldrh r0, [r5, #0x4] mov r1, #0x3 mov r2, #0x0 - bl sub_02036BC4 + bl FUN_02036BC4 mov r1, #0x7f lsl r1, r1, #0x2 str r0, [r4, r1] sub r0, r1, #0x4 str r6, [r4, r0] - ldr r1, _0205D4E0 ; =sub_02036BDC + ldr r1, _0205D4E0 ; =FUN_02036BDC add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r4-r6, pc} nop -_0205D4E0: .word sub_02036BDC + 1 +_0205D4E0: .word FUN_02036BDC + 1 - thumb_func_start sub_0205D4E4 -sub_0205D4E4: ; 0x0205D4E4 + thumb_func_start FUN_0205D4E4 +FUN_0205D4E4: ; 0x0205D4E4 mov r0, #0x0 bx lr - thumb_func_start sub_0205D4E8 -sub_0205D4E8: ; 0x0205D4E8 + thumb_func_start FUN_0205D4E8 +FUN_0205D4E8: ; 0x0205D4E8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r4, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C ldrh r1, [r4, #0x10] mov r0, #0x1 tst r0, r1 @@ -175316,18 +175316,18 @@ sub_0205D4E8: ; 0x0205D4E8 ldr r2, _0205D518 ; =0x00000AF1 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205CF34 + bl FUN_0205CF34 pop {r3-r5, pc} _0205D50E: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205D024 + bl FUN_0205D024 pop {r3-r5, pc} .balign 4 _0205D518: .word 0x00000AF1 - thumb_func_start sub_0205D51C -sub_0205D51C: ; 0x0205D51C + thumb_func_start FUN_0205D51C +FUN_0205D51C: ; 0x0205D51C ldrh r1, [r0, #0x10] mov r0, #0x1 tst r1, r0 @@ -175336,109 +175336,109 @@ sub_0205D51C: ; 0x0205D51C _0205D526: bx lr - thumb_func_start sub_0205D528 -sub_0205D528: ; 0x0205D528 + thumb_func_start FUN_0205D528 +FUN_0205D528: ; 0x0205D528 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xb - bl sub_02037FC4 + bl FUN_02037FC4 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] - ldr r1, _0205D554 ; =sub_02036D94 + ldr r1, _0205D554 ; =FUN_02036D94 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r5, pc} .balign 4 -_0205D554: .word sub_02036D94 + 1 +_0205D554: .word FUN_02036D94 + 1 - thumb_func_start sub_0205D558 -sub_0205D558: ; 0x0205D558 + thumb_func_start FUN_0205D558 +FUN_0205D558: ; 0x0205D558 push {r3, lr} - ldr r1, _0205D564 ; =sub_0205D568 - bl sub_0205DD04 + ldr r1, _0205D564 ; =FUN_0205D568 + bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 -_0205D564: .word sub_0205D568 + 1 +_0205D564: .word FUN_0205D568 + 1 - thumb_func_start sub_0205D568 -sub_0205D568: ; 0x0205D568 - ldr r3, _0205D570 ; =sub_02037FC4 + thumb_func_start FUN_0205D568 +FUN_0205D568: ; 0x0205D568 + ldr r3, _0205D570 ; =FUN_02037FC4 mov r1, #0xb bx r3 nop -_0205D570: .word sub_02037FC4 + 1 +_0205D570: .word FUN_02037FC4 + 1 - thumb_func_start sub_0205D574 -sub_0205D574: ; 0x0205D574 + thumb_func_start FUN_0205D574 +FUN_0205D574: ; 0x0205D574 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r5, #0xc] add r0, r5, #0x0 - bl sub_0203846C + bl FUN_0203846C mov r0, #0x7e mov r1, #0x0 lsl r0, r0, #0x2 str r1, [r4, r0] - ldr r1, _0205D5A4 ; =sub_02036DD4 + ldr r1, _0205D5A4 ; =FUN_02036DD4 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r5, pc} nop -_0205D5A4: .word sub_02036DD4 + 1 +_0205D5A4: .word FUN_02036DD4 + 1 - thumb_func_start sub_0205D5A8 -sub_0205D5A8: ; 0x0205D5A8 + thumb_func_start FUN_0205D5A8 +FUN_0205D5A8: ; 0x0205D5A8 push {r3, lr} - ldr r1, _0205D5B4 ; =sub_0205D5B8 - bl sub_0205DD04 + ldr r1, _0205D5B4 ; =FUN_0205D5B8 + bl FUN_0205DD04 mov r0, #0x1 pop {r3, pc} .balign 4 -_0205D5B4: .word sub_0205D5B8 + 1 +_0205D5B4: .word FUN_0205D5B8 + 1 - thumb_func_start sub_0205D5B8 -sub_0205D5B8: ; 0x0205D5B8 + thumb_func_start FUN_0205D5B8 +FUN_0205D5B8: ; 0x0205D5B8 push {r3, lr} ldr r1, [r0, #0xc] - bl sub_0203846C + bl FUN_0203846C mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0205D5C4 -sub_0205D5C4: ; 0x0205D5C4 + thumb_func_start FUN_0205D5C4 +FUN_0205D5C4: ; 0x0205D5C4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 mov r0, #0xb mov r1, #0x4 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0205D600 ; =sub_0205E30C + ldr r1, _0205D600 ; =FUN_0205E30C lsl r0, r0, #0x2 str r1, [r5, r0] add r0, #0x30 @@ -175447,28 +175447,28 @@ sub_0205D5C4: ; 0x0205D5C4 strh r0, [r5, #0x2a] pop {r4-r6, pc} nop -_0205D600: .word sub_0205E30C + 1 +_0205D600: .word FUN_0205E30C + 1 - thumb_func_start sub_0205D604 -sub_0205D604: ; 0x0205D604 + thumb_func_start FUN_0205D604 +FUN_0205D604: ; 0x0205D604 push {r4, lr} add r4, r0, #0x0 mov r0, #0xb mov r1, #0x4 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] ldr r0, [r4, #0x0] - ldr r1, _0205D624 ; =sub_0205E30C - bl sub_020463CC + ldr r1, _0205D624 ; =FUN_0205E30C + bl FUN_020463CC mov r0, #0x0 pop {r4, pc} nop -_0205D624: .word sub_0205E30C + 1 +_0205D624: .word FUN_0205E30C + 1 - thumb_func_start sub_0205D628 -sub_0205D628: ; 0x0205D628 + thumb_func_start FUN_0205D628 +FUN_0205D628: ; 0x0205D628 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -175479,7 +175479,7 @@ sub_0205D628: ; 0x0205D628 _0205D636: ldr r0, [r4, #0x18] ldr r0, [r0, #0x38] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x1 bne _0205D648 mov r0, #0x0 @@ -175489,7 +175489,7 @@ _0205D648: ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0205478C + bl FUN_0205478C cmp r0, #0x0 beq _0205D65A mov r0, #0x0 @@ -175499,27 +175499,27 @@ _0205D65A: mvn r0, r0 pop {r4, pc} - thumb_func_start sub_0205D660 -sub_0205D660: ; 0x0205D660 - ldr r3, _0205D668 ; =sub_0205CF34 + thumb_func_start FUN_0205D660 +FUN_0205D660: ; 0x0205D660 + ldr r3, _0205D668 ; =FUN_0205CF34 ldr r2, _0205D66C ; =0x00000AF2 bx r3 nop -_0205D668: .word sub_0205CF34 + 1 +_0205D668: .word FUN_0205CF34 + 1 _0205D66C: .word 0x00000AF2 - thumb_func_start sub_0205D670 -sub_0205D670: ; 0x0205D670 + thumb_func_start FUN_0205D670 +FUN_0205D670: ; 0x0205D670 push {r3, lr} ldr r1, _0205D67C ; =0x00000AF2 - bl sub_0205CF78 + bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205D67C: .word 0x00000AF2 - thumb_func_start sub_0205D680 -sub_0205D680: ; 0x0205D680 + thumb_func_start FUN_0205D680 +FUN_0205D680: ; 0x0205D680 ldr r1, [r0, #0x4] cmp r1, #0x1 bne _0205D68A @@ -175537,17 +175537,17 @@ _0205D696: bx lr .balign 4 - thumb_func_start sub_0205D69C -sub_0205D69C: ; 0x0205D69C - ldr r3, _0205D6A4 ; =sub_0205CF34 + thumb_func_start FUN_0205D69C +FUN_0205D69C: ; 0x0205D69C + ldr r3, _0205D6A4 ; =FUN_0205CF34 ldr r2, _0205D6A8 ; =0x00000AF3 bx r3 nop -_0205D6A4: .word sub_0205CF34 + 1 +_0205D6A4: .word FUN_0205CF34 + 1 _0205D6A8: .word 0x00000AF3 - thumb_func_start sub_0205D6AC -sub_0205D6AC: ; 0x0205D6AC + thumb_func_start FUN_0205D6AC +FUN_0205D6AC: ; 0x0205D6AC ldrh r1, [r0, #0x10] mov r0, #0x2 tst r1, r0 @@ -175558,27 +175558,27 @@ _0205D6B8: sub r0, r0, #0x3 bx lr - thumb_func_start sub_0205D6BC -sub_0205D6BC: ; 0x0205D6BC + thumb_func_start FUN_0205D6BC +FUN_0205D6BC: ; 0x0205D6BC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204649C - bl sub_021F57EC + bl FUN_0204649C + bl FUN_021F57EC str r0, [sp, #0x0] ldr r1, [sp, #0x0] mov r0, #0xb - bl sub_020169D8 + bl FUN_020169D8 ldr r2, [sp, #0x0] mov r1, #0x0 add r7, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x72 ldr r1, _0205D710 ; =0x021F57F1 lsl r0, r0, #0x2 @@ -175588,39 +175588,39 @@ sub_0205D6BC: ; 0x0205D6BC mov r0, #0xa strh r0, [r4, #0x2a] ldr r0, [r6, #0xc] - bl sub_0206F158 + bl FUN_0206F158 ldrh r1, [r5, #0x4] mov r2, #0x1 mov r3, #0xb - bl sub_0206EDD4 + bl FUN_0206EDD4 pop {r3-r7, pc} .balign 4 _0205D710: .word 0x021F57F1 - thumb_func_start sub_0205D714 -sub_0205D714: ; 0x0205D714 - ldr r3, _0205D71C ; =sub_0205CF34 + thumb_func_start FUN_0205D714 +FUN_0205D714: ; 0x0205D714 + ldr r3, _0205D71C ; =FUN_0205CF34 ldr r2, _0205D720 ; =0x000022F6 bx r3 nop -_0205D71C: .word sub_0205CF34 + 1 +_0205D71C: .word FUN_0205CF34 + 1 _0205D720: .word 0x000022F6 - thumb_func_start sub_0205D724 -sub_0205D724: ; 0x0205D724 + thumb_func_start FUN_0205D724 +FUN_0205D724: ; 0x0205D724 push {r3, lr} ldr r1, _0205D730 ; =0x000022F6 - bl sub_0205CF78 + bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205D730: .word 0x000022F6 - thumb_func_start sub_0205D734 -sub_0205D734: ; 0x0205D734 + thumb_func_start FUN_0205D734 +FUN_0205D734: ; 0x0205D734 push {r3, lr} ldr r0, [r0, #0x0] - bl sub_02034908 + bl FUN_02034908 cmp r0, #0x0 beq _0205D744 mov r0, #0x0 @@ -175631,18 +175631,18 @@ _0205D744: pop {r3, pc} .balign 4 - thumb_func_start sub_0205D74C -sub_0205D74C: ; 0x0205D74C + thumb_func_start FUN_0205D74C +FUN_0205D74C: ; 0x0205D74C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D784 ; =0x021F5C71 lsl r0, r0, #0x2 @@ -175650,7 +175650,7 @@ sub_0205D74C: ; 0x0205D74C add r0, r5, #0x0 mov r1, #0xb mov r2, #0x0 - bl sub_021F5C44 + bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -175660,35 +175660,35 @@ sub_0205D74C: ; 0x0205D74C .balign 4 _0205D784: .word 0x021F5C71 - thumb_func_start sub_0205D788 -sub_0205D788: ; 0x0205D788 + thumb_func_start FUN_0205D788 +FUN_0205D788: ; 0x0205D788 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x0 - bl sub_021F5C44 + bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D7A4 ; =0x021F5C71 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D7A4: .word 0x021F5C71 - thumb_func_start sub_0205D7A8 -sub_0205D7A8: ; 0x0205D7A8 + thumb_func_start FUN_0205D7A8 +FUN_0205D7A8: ; 0x0205D7A8 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D7E0 ; =0x021F5C71 lsl r0, r0, #0x2 @@ -175696,7 +175696,7 @@ sub_0205D7A8: ; 0x0205D7A8 add r0, r5, #0x0 mov r1, #0xb mov r2, #0x1 - bl sub_021F5C44 + bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -175706,35 +175706,35 @@ sub_0205D7A8: ; 0x0205D7A8 .balign 4 _0205D7E0: .word 0x021F5C71 - thumb_func_start sub_0205D7E4 -sub_0205D7E4: ; 0x0205D7E4 + thumb_func_start FUN_0205D7E4 +FUN_0205D7E4: ; 0x0205D7E4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x1 - bl sub_021F5C44 + bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D800 ; =0x021F5C71 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D800: .word 0x021F5C71 - thumb_func_start sub_0205D804 -sub_0205D804: ; 0x0205D804 + thumb_func_start FUN_0205D804 +FUN_0205D804: ; 0x0205D804 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 ldr r1, _0205D83C ; =0x021F5C71 lsl r0, r0, #0x2 @@ -175742,7 +175742,7 @@ sub_0205D804: ; 0x0205D804 add r0, r5, #0x0 mov r1, #0xb mov r2, #0x2 - bl sub_021F5C44 + bl FUN_021F5C44 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -175752,25 +175752,25 @@ sub_0205D804: ; 0x0205D804 .balign 4 _0205D83C: .word 0x021F5C71 - thumb_func_start sub_0205D840 -sub_0205D840: ; 0x0205D840 + thumb_func_start FUN_0205D840 +FUN_0205D840: ; 0x0205D840 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] mov r1, #0x4 mov r2, #0x2 - bl sub_021F5C44 + bl FUN_021F5C44 add r2, r0, #0x0 ldr r0, [r4, #0x0] ldr r1, _0205D85C ; =0x021F5C71 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 pop {r4, pc} .balign 4 _0205D85C: .word 0x021F5C71 - thumb_func_start sub_0205D860 -sub_0205D860: ; 0x0205D860 + thumb_func_start FUN_0205D860 +FUN_0205D860: ; 0x0205D860 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -175782,25 +175782,25 @@ _0205D86E: ldrh r0, [r4, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0205481C + bl FUN_0205481C cmp r0, #0x1 bne _0205D8B0 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054B78 + bl FUN_02054B78 cmp r0, #0x1 beq _0205D898 ldrh r0, [r4, #0xe] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02054B6C + bl FUN_02054B6C cmp r0, #0x1 bne _0205D8AC _0205D898: ldr r0, [r4, #0x14] - bl sub_020553A0 - bl sub_02058A68 + bl FUN_020553A0 + bl FUN_02058A68 cmp r0, #0x1 bne _0205D8AC mov r0, #0x0 @@ -175815,24 +175815,24 @@ _0205D8B0: pop {r4, pc} .balign 4 - thumb_func_start sub_0205D8B8 -sub_0205D8B8: ; 0x0205D8B8 + thumb_func_start FUN_0205D8B8 +FUN_0205D8B8: ; 0x0205D8B8 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x16] mov r0, #0x80 mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x10] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_0206F158 - bl sub_0206EBC4 + bl FUN_0206F158 + bl FUN_0206EBC4 add r2, r0, #0x0 ldr r0, [r5, #0x0] lsl r2, r2, #0x10 @@ -175840,24 +175840,24 @@ sub_0205D8B8: ; 0x0205D8B8 ldr r1, [r4, #0x10] lsr r2, r2, #0x10 mov r3, #0xb - bl sub_0206E3F8 + bl FUN_0206E3F8 ldr r0, [r5, #0x0] - ldr r1, _0205D900 ; =sub_0205D904 + ldr r1, _0205D900 ; =FUN_0205D904 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_0205D900: .word sub_0205D904 + 1 +_0205D900: .word FUN_0205D904 + 1 - thumb_func_start sub_0205D904 -sub_0205D904: ; 0x0205D904 + thumb_func_start FUN_0205D904 +FUN_0205D904: ; 0x0205D904 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrh r0, [r4, #0x16] cmp r0, #0x0 @@ -175869,22 +175869,22 @@ sub_0205D904: ; 0x0205D904 b _0205D9A0 _0205D926: ldr r0, [r5, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r5, #0x8] add r1, r4, #0x0 mov r2, #0x3 - bl sub_020545B8 + bl FUN_020545B8 ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02054608 + bl FUN_02054608 ldr r1, [r4, #0x10] add r0, r4, #0x0 add r2, r5, #0x0 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 strh r0, [r4, #0x14] ldrh r0, [r4, #0x16] add r0, r0, #0x1 @@ -175894,7 +175894,7 @@ _0205D95C: ldrh r0, [r4, #0x14] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_020546C8 + bl FUN_020546C8 cmp r0, #0x1 bne _0205D9A0 ldr r0, _0205D9A4 ; =0x021C48B8 @@ -175904,20 +175904,20 @@ _0205D95C: beq _0205D9A0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200D0E0 + bl FUN_0200D0E0 ldrh r0, [r4, #0x16] add r0, r0, #0x1 strh r0, [r4, #0x16] b _0205D9A0 _0205D984: ldr r0, [r5, #0x34] - bl sub_020587B0 + bl FUN_020587B0 add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 ldr r0, [r4, #0x10] - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205D9A0: @@ -175926,37 +175926,37 @@ _0205D9A0: .balign 4 _0205D9A4: .word 0x021C48B8 - thumb_func_start sub_0205D9A8 -sub_0205D9A8: ; 0x0205D9A8 + thumb_func_start FUN_0205D9A8 +FUN_0205D9A8: ; 0x0205D9A8 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_0204652C + bl FUN_0204652C add r7, r0, #0x0 mov r0, #0xb mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [r5, #0xc] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] ldr r0, [r5, #0xc] - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] ldr r0, [r5, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] ldr r0, [r5, #0xc] - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] ldr r0, [r5, #0xc] - bl sub_02022504 + bl FUN_02022504 str r0, [r4, #0x10] mov r0, #0x7a lsl r0, r0, #0x2 @@ -175979,32 +175979,32 @@ sub_0205D9A8: ; 0x0205D9A8 strb r1, [r0, #0x0] ldr r1, _0205DA34 ; =0x020F96DC add r0, r5, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x7e lsl r0, r0, #0x2 str r4, [r7, r0] - ldr r1, _0205DA38 ; =sub_02035E50 + ldr r1, _0205DA38 ; =FUN_02035E50 add r0, r7, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r3-r7, pc} .balign 4 _0205DA34: .word 0x020F96DC -_0205DA38: .word sub_02035E50 + 1 +_0205DA38: .word FUN_02035E50 + 1 - thumb_func_start sub_0205DA3C -sub_0205DA3C: ; 0x0205DA3C + thumb_func_start FUN_0205DA3C +FUN_0205DA3C: ; 0x0205DA3C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0205DA7C ; =sub_0205DAAC + ldr r1, _0205DA7C ; =FUN_0205DAAC lsl r0, r0, #0x2 str r1, [r4, r0] mov r1, #0x0 @@ -176013,17 +176013,17 @@ sub_0205DA3C: ; 0x0205DA3C mov r0, #0xa strh r0, [r4, #0x2a] ldr r0, [r6, #0xc] - bl sub_0206F158 + bl FUN_0206F158 ldrh r1, [r5, #0x4] mov r2, #0x1 mov r3, #0xb - bl sub_0206EDD4 + bl FUN_0206EDD4 pop {r4-r6, pc} nop -_0205DA7C: .word sub_0205DAAC + 1 +_0205DA7C: .word FUN_0205DAAC + 1 - thumb_func_start sub_0205DA80 -sub_0205DA80: ; 0x0205DA80 + thumb_func_start FUN_0205DA80 +FUN_0205DA80: ; 0x0205DA80 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -176033,11 +176033,11 @@ sub_0205DA80: ; 0x0205DA80 pop {r4, pc} _0205DA8E: ldr r0, [r4, #0x0] - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x1 bne _0205DAA6 ldr r0, [r4, #0x0] - bl sub_0203487C + bl FUN_0203487C cmp r0, #0x1 bne _0205DAA6 mov r0, #0x0 @@ -176047,50 +176047,50 @@ _0205DAA6: mvn r0, r0 pop {r4, pc} - thumb_func_start sub_0205DAAC -sub_0205DAAC: ; 0x0205DAAC + thumb_func_start FUN_0205DAAC +FUN_0205DAAC: ; 0x0205DAAC push {r4, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 mov r1, #0xb - bl sub_0224C700 + bl FUN_0224C700 add r2, r0, #0x0 ldr r1, _0205DAC8 ; =0x0224C721 add r0, r4, #0x0 - bl sub_020463EC + bl FUN_020463EC mov r0, #0x0 pop {r4, pc} .balign 4 _0205DAC8: .word 0x0224C721 - thumb_func_start sub_0205DACC -sub_0205DACC: ; 0x0205DACC - ldr r3, _0205DAD4 ; =sub_0205CF34 + thumb_func_start FUN_0205DACC +FUN_0205DACC: ; 0x0205DACC + ldr r3, _0205DAD4 ; =FUN_0205CF34 ldr r2, _0205DAD8 ; =0x000007F7 bx r3 nop -_0205DAD4: .word sub_0205CF34 + 1 +_0205DAD4: .word FUN_0205CF34 + 1 _0205DAD8: .word 0x000007F7 - thumb_func_start sub_0205DADC -sub_0205DADC: ; 0x0205DADC + thumb_func_start FUN_0205DADC +FUN_0205DADC: ; 0x0205DADC push {r3, lr} ldr r1, _0205DAE8 ; =0x000007F7 - bl sub_0205CF78 + bl FUN_0205CF78 mov r0, #0x0 pop {r3, pc} .balign 4 _0205DAE8: .word 0x000007F7 - thumb_func_start sub_0205DAEC -sub_0205DAEC: ; 0x0205DAEC + thumb_func_start FUN_0205DAEC +FUN_0205DAEC: ; 0x0205DAEC push {r3-r5, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 - bl sub_0205ED0C + bl FUN_0205ED0C cmp r0, #0x0 bne _0205DB08 mov r0, #0x0 @@ -176099,7 +176099,7 @@ sub_0205DAEC: ; 0x0205DAEC _0205DB08: add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205F4A0 + bl FUN_0205F4A0 cmp r0, #0x0 bne _0205DB1A mov r0, #0x0 @@ -176108,8 +176108,8 @@ _0205DB08: _0205DB1A: ldr r0, [r4, #0x18] ldr r0, [r0, #0xc] - bl sub_02024DA0 - bl sub_02024CA4 + bl FUN_02024DA0 + bl FUN_02024CA4 cmp r0, #0x0 bne _0205DB30 mov r0, #0x0 @@ -176117,7 +176117,7 @@ _0205DB1A: pop {r3-r5, pc} _0205DB30: ldr r0, [r4, #0x0] - bl sub_020349D8 + bl FUN_020349D8 cmp r0, #0x0 beq _0205DB3E mov r0, #0x0 @@ -176127,42 +176127,42 @@ _0205DB3E: mvn r0, r0 pop {r3-r5, pc} - thumb_func_start sub_0205DB44 -sub_0205DB44: ; 0x0205DB44 + thumb_func_start FUN_0205DB44 +FUN_0205DB44: ; 0x0205DB44 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02060144 + bl FUN_02060144 cmp r0, #0x1 bne _0205DB54 mov r0, #0x0 pop {r3-r7, pc} _0205DB54: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _0205DB66 mov r0, #0x0 pop {r3-r7, pc} _0205DB66: ldr r0, [r5, #0xc] - bl sub_0206F158 - bl sub_0206EBC4 + bl FUN_0206F158 + bl FUN_0206EBC4 lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x6 mov r2, #0xb str r0, [sp, #0x0] - bl sub_0206E7B8 + bl FUN_0206E7B8 lsl r0, r0, #0x10 lsr r4, r0, #0x10 mov r0, #0x2 add r1, r4, #0x0 - bl sub_0205CE48 + bl FUN_0205CE48 add r6, r0, #0x0 mov r0, #0x1 add r1, r4, #0x0 - bl sub_0205CE48 + bl FUN_0205CE48 add r7, r0, #0x0 bne _0205DB9C mov r0, #0x0 @@ -176170,17 +176170,17 @@ _0205DB66: _0205DB9C: mov r0, #0xb mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x2c - blx sub_020DF4A4 + blx FUN_020DF4A4 str r5, [r4, #0x0] ldr r0, [sp, #0x0] add r1, r4, #0x4 strh r0, [r4, #0x28] add r0, r5, #0x0 - bl sub_0205CE80 + bl FUN_0205CE80 mov r5, #0x0 cmp r6, #0x0 bne _0205DBCA @@ -176199,59 +176199,59 @@ _0205DBCA: b _0205DBE0 _0205DBDA: add r0, r4, #0x0 - bl sub_0205DBF0 + bl FUN_0205DBF0 _0205DBE0: cmp r5, #0x0 bne _0205DBEA add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0205DBEA: mov r0, #0x1 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205DBF0 -sub_0205DBF0: ; 0x0205DBF0 + thumb_func_start FUN_0205DBF0 +FUN_0205DBF0: ; 0x0205DBF0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 strh r0, [r4, #0x16] mov r0, #0x80 mov r1, #0xb - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x10] ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0xb str r1, [sp, #0x0] ldrh r2, [r5, #0x28] ldr r1, [r4, #0x10] add r3, r6, #0x0 - bl sub_0206E51C + bl FUN_0206E51C ldr r0, [r5, #0x0] - ldr r1, _0205DC34 ; =sub_0205D904 + ldr r1, _0205DC34 ; =FUN_0205D904 add r2, r4, #0x0 - bl sub_020463CC + bl FUN_020463CC add sp, #0x4 pop {r3-r6, pc} .balign 4 -_0205DC34: .word sub_0205D904 + 1 +_0205DC34: .word FUN_0205D904 + 1 - thumb_func_start sub_0205DC38 -sub_0205DC38: ; 0x0205DC38 + thumb_func_start FUN_0205DC38 +FUN_0205DC38: ; 0x0205DC38 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, #0x2a ldrb r0, [r0, #0x0] @@ -176269,9 +176269,9 @@ sub_0205DC38: ; 0x0205DC38 lsl r4, r4, #0x1 lsl r2, r0, #0x2 ldr r0, [r5, #0x34] - bl sub_02058780 + bl FUN_02058780 mov r0, #0x0 - bl sub_021D7CA4 + bl FUN_021D7CA4 mov r0, #0x1 add r4, #0x2a strb r0, [r4, #0x0] @@ -176293,23 +176293,23 @@ _0205DCFA: _0205DD00: .byte 0x69, 0xD5, 0x05, 0x02 - thumb_func_start sub_0205DD04 -sub_0205DD04: ; 0x0205DD04 + thumb_func_start FUN_0205DD04 +FUN_0205DD04: ; 0x0205DD04 add r2, r0, #0x0 str r1, [r2, #0x20] - ldr r3, _0205DD10 ; =sub_020463CC + ldr r3, _0205DD10 ; =FUN_020463CC ldr r0, [r2, #0x0] - ldr r1, _0205DD14 ; =sub_0205DC38 + ldr r1, _0205DD14 ; =FUN_0205DC38 bx r3 .balign 4 -_0205DD10: .word sub_020463CC + 1 -_0205DD14: .word sub_0205DC38 + 1 +_0205DD10: .word FUN_020463CC + 1 +_0205DD14: .word FUN_0205DC38 + 1 - thumb_func_start sub_0205DD18 -sub_0205DD18: ; 0x0205DD18 + thumb_func_start FUN_0205DD18 +FUN_0205DD18: ; 0x0205DD18 push {r4, lr} mov r1, #0xd4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x1 lsl r0, r0, #0x10 @@ -176317,20 +176317,20 @@ sub_0205DD18: ; 0x0205DD18 lsr r1, r0, #0x1 add r2, r0, #0x0 add r3, #0xbc - bl sub_0201B7DC + bl FUN_0201B7DC add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0205DD38 -sub_0205DD38: ; 0x0205DD38 - ldr r3, _0205DD3C ; =sub_02016A18 + thumb_func_start FUN_0205DD38 +FUN_0205DD38: ; 0x0205DD38 + ldr r3, _0205DD3C ; =FUN_02016A18 bx r3 .balign 4 -_0205DD3C: .word sub_02016A18 + 1 +_0205DD3C: .word FUN_02016A18 + 1 - thumb_func_start sub_0205DD40 -sub_0205DD40: ; 0x0205DD40 + thumb_func_start FUN_0205DD40 +FUN_0205DD40: ; 0x0205DD40 push {r4, lr} add r4, r0, #0x0 mov r1, #0x0 @@ -176347,7 +176347,7 @@ sub_0205DD40: ; 0x0205DD40 add r0, #0x1c mov r2, #0xa0 str r1, [r4, #0x18] - blx sub_020CE34C + blx FUN_020CE34C mov r3, #0x0 add r2, r3, #0x0 mov r0, #0x28 @@ -176364,8 +176364,8 @@ _0205DD6A: pop {r4, pc} .balign 4 - thumb_func_start sub_0205DD80 -sub_0205DD80: ; 0x0205DD80 + thumb_func_start FUN_0205DD80 +FUN_0205DD80: ; 0x0205DD80 push {r4-r7, lr} sub sp, #0x2c str r1, [sp, #0x10] @@ -176384,7 +176384,7 @@ sub_0205DD80: ; 0x0205DD80 strb r1, [r0, #0x3] ldr r0, [sp, #0xc] ldr r0, [r0, #0x38] - bl sub_02055360 + bl FUN_02055360 str r0, [sp, #0x1c] ldr r0, [sp, #0x18] mov r5, #0x0 @@ -176397,29 +176397,29 @@ _0205DDB6: ldrb r4, [r0, r5] cmp r4, #0x0 bne _0205DDC2 - bl sub_02020C2C + bl FUN_02020C2C _0205DDC2: cmp r4, #0x1 bhi _0205DDCA mov r6, #0x0 b _0205DDF2 _0205DDCA: - bl sub_0201B9EC + bl FUN_0201B9EC add r6, r0, #0x0 ldr r0, _0205DED0 ; =0x0000FFFF add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, r4 blo _0205DDF2 - bl sub_02020C2C + bl FUN_02020C2C _0205DDF2: lsl r1, r5, #0x1 mov r0, #0x9 @@ -176430,13 +176430,13 @@ _0205DDF2: lsr r6, r0, #0x18 add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bne _0205DE1C add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r5, r1 add r0, r5, #0x0 b _0205DE5C @@ -176445,7 +176445,7 @@ _0205DE1C: bne _0205DE30 add r0, r6, #0x0 add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r5, r4 add r1, r5, r1 sub r0, r0, #0x1 @@ -176454,7 +176454,7 @@ _0205DE30: lsl r7, r4, #0x1 cmp r6, r7 bge _0205DE3A - bl sub_02020C2C + bl FUN_02020C2C _0205DE3A: sub r0, r6, r7 lsl r0, r0, #0x18 @@ -176492,7 +176492,7 @@ _0205DE5C: ldr r0, [sp, #0xc] ldr r1, [r1, #0x4] ldr r3, [sp, #0x14] - bl sub_0205E12C + bl FUN_0205E12C cmp r0, #0x0 beq _0205DE90 ldr r0, [sp, #0x20] @@ -176510,16 +176510,16 @@ _0205DE90: cmp r0, #0x0 bne _0205DEBE ldr r0, [sp, #0x18] - bl sub_0205DD40 + bl FUN_0205DD40 ldr r0, [sp, #0xc] add r1, r0, #0x0 ldr r1, [r1, #0x1c] ldr r1, [r1, #0x0] - bl sub_0204AB58 + bl FUN_0204AB58 add r1, r0, #0x0 ldr r0, [sp, #0xc] mov r2, #0x1 - bl sub_0204ABDC + bl FUN_0204ABDC b _0205DEC4 _0205DEBE: ldr r0, [sp, #0x18] @@ -176534,8 +176534,8 @@ _0205DEC4: _0205DECC: .word 0x020F7374 _0205DED0: .word 0x0000FFFF - thumb_func_start sub_0205DED4 -sub_0205DED4: ; 0x0205DED4 + thumb_func_start FUN_0205DED4 +FUN_0205DED4: ; 0x0205DED4 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -176551,19 +176551,19 @@ _0205DEE0: beq _0205DF36 ldr r1, [sp, #0x4] add r0, r4, #0x0 - bl sub_0205E2A0 + bl FUN_0205E2A0 str r0, [r5, #0x2c] cmp r0, #0x0 bne _0205DF24 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x29 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r7, r0, #0x10 cmp r7, #0x64 blo _0205DF12 - bl sub_02020C2C + bl FUN_02020C2C _0205DF12: cmp r7, #0x32 bhs _0205DF1A @@ -176583,7 +176583,7 @@ _0205DF24: add r0, #0x90 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] - bl sub_0205E40C + bl FUN_0205E40C str r0, [r5, #0x30] _0205DF36: add r0, r4, #0x1 @@ -176594,8 +176594,8 @@ _0205DF36: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0205DF44 -sub_0205DF44: ; 0x0205DF44 + thumb_func_start FUN_0205DF44 +FUN_0205DF44: ; 0x0205DF44 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 @@ -176614,7 +176614,7 @@ _0205DF4C: beq _0205DF6E add r0, r5, #0x0 mov r3, #0x2 - bl sub_0224B818 + bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF6E: @@ -176623,13 +176623,13 @@ _0205DF6E: bne _0205DF80 add r0, r5, #0x0 mov r3, #0x0 - bl sub_0224B818 + bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF80: add r0, r5, #0x0 mov r3, #0x1 - bl sub_0224B818 + bl FUN_0224B818 str r0, [r4, #0x34] b _0205DF90 _0205DF8C: @@ -176643,8 +176643,8 @@ _0205DF90: blo _0205DF4C pop {r3-r7, pc} - thumb_func_start sub_0205DF9C -sub_0205DF9C: ; 0x0205DF9C + thumb_func_start FUN_0205DF9C +FUN_0205DF9C: ; 0x0205DF9C push {r3-r7, lr} mov r4, #0x0 add r7, r0, #0x0 @@ -176656,11 +176656,11 @@ _0205DFA4: ldr r0, [r5, #0x34] cmp r0, #0x0 beq _0205DFCA - bl sub_0224B86C + bl FUN_0224B86C cmp r0, #0x0 beq _0205DFD0 ldr r0, [r5, #0x34] - bl sub_02064520 + bl FUN_02064520 mov r0, #0x0 str r0, [r5, #0x34] add r0, r4, #0x1 @@ -176686,8 +176686,8 @@ _0205DFE2: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205DFE8 -sub_0205DFE8: ; 0x0205DFE8 + thumb_func_start FUN_0205DFE8 +FUN_0205DFE8: ; 0x0205DFE8 push {r3-r7, lr} sub sp, #0x8 ldr r7, [sp, #0x24] @@ -176705,7 +176705,7 @@ sub_0205DFE8: ; 0x0205DFE8 mov r2, r12 add r3, sp, #0x4 ldr r5, [sp, #0x20] - bl sub_0205E1B8 + bl FUN_0205E1B8 cmp r0, #0x0 bne _0205E018 add sp, #0x8 @@ -176727,13 +176727,13 @@ _0205E018: cmp r1, #0x0 beq _0205E05E add r0, r4, #0x4 - bl sub_0205E4D8 + bl FUN_0205E4D8 str r6, [r5, #0x0] mov r0, #0x1 str r0, [r7, #0x0] ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_0205E1F0 + bl FUN_0205E1F0 add r0, sp, #0x4 ldrb r1, [r0, #0x0] mov r0, #0x28 @@ -176753,7 +176753,7 @@ _0205E062: mov r0, #0x0 str r0, [r4, #0x14] ldr r0, [sp, #0x0] - bl sub_0205E258 + bl FUN_0205E258 add r1, r4, #0x0 add r1, #0xd0 strb r0, [r1, #0x0] @@ -176765,23 +176765,23 @@ _0205E074: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205E080 -sub_0205E080: ; 0x0205E080 + thumb_func_start FUN_0205E080 +FUN_0205E080: ; 0x0205E080 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x0 bne _0205E090 - bl sub_02020C2C + bl FUN_02020C2C _0205E090: str r4, [r5, #0x8] str r6, [r5, #0xc] pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205E098 -sub_0205E098: ; 0x0205E098 + thumb_func_start FUN_0205E098 +FUN_0205E098: ; 0x0205E098 ldr r3, [r0, #0x8] str r3, [r1, #0x0] ldr r0, [r0, #0xc] @@ -176789,13 +176789,13 @@ sub_0205E098: ; 0x0205E098 bx lr .balign 4 - thumb_func_start sub_0205E0A4 -sub_0205E0A4: ; 0x0205E0A4 + thumb_func_start FUN_0205E0A4 +FUN_0205E0A4: ; 0x0205E0A4 ldr r0, [r0, #0x18] bx lr - thumb_func_start sub_0205E0A8 -sub_0205E0A8: ; 0x0205E0A8 + thumb_func_start FUN_0205E0A8 +FUN_0205E0A8: ; 0x0205E0A8 push {r3-r7, lr} add r7, r0, #0x0 add r0, #0x90 @@ -176818,7 +176818,7 @@ _0205E0C0: add r0, r4, #0x0 add r0, #0x1c add r1, #0xbc - bl sub_0201B76C + bl FUN_0201B76C ldr r1, [r4, #0xc] cmp r1, #0x0 beq _0205E0E4 @@ -176850,25 +176850,25 @@ _0205E102: blt _0205E0FA cmp r2, #0x4 bne _0205E126 - bl sub_0205DD40 + bl FUN_0205DD40 ldr r1, [r7, #0x1c] add r0, r7, #0x0 ldr r1, [r1, #0x0] - bl sub_0204AB58 + bl FUN_0204AB58 add r1, r0, #0x0 add r0, r7, #0x0 mov r2, #0x1 - bl sub_0204ABDC + bl FUN_0204ABDC _0205E126: pop {r3-r7, pc} - thumb_func_start sub_0205E128 -sub_0205E128: ; 0x0205E128 + thumb_func_start FUN_0205E128 +FUN_0205E128: ; 0x0205E128 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_0205E12C -sub_0205E12C: ; 0x0205E12C + thumb_func_start FUN_0205E12C +FUN_0205E12C: ; 0x0205E12C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] @@ -176885,8 +176885,8 @@ sub_0205E12C: ; 0x0205E12C add r2, r6, #0x0 add r7, r0, #0x0 str r6, [r5, #0x4] - bl sub_0204A6E0 - bl sub_0205478C + bl FUN_0204A6E0 + bl FUN_0205478C cmp r0, #0x0 beq _0205E1AE lsl r0, r4, #0x10 @@ -176899,7 +176899,7 @@ sub_0205E12C: ; 0x0205E12C ldr r3, [r5, #0x24] add r0, r7, #0x0 mov r1, #0x0 - bl sub_0204A708 + bl FUN_0204A708 ldr r1, [sp, #0x4] str r0, [r5, #0x20] cmp r1, r0 @@ -176918,7 +176918,7 @@ _0205E180: ldr r0, [r7, #0x28] asr r1, r1, #0x5 asr r2, r2, #0x5 - bl sub_0203451C + bl FUN_0203451C ldr r1, [r7, #0x1c] ldr r1, [r1, #0x0] cmp r1, r0 @@ -176939,8 +176939,8 @@ _0205E1AE: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205E1B8 -sub_0205E1B8: ; 0x0205E1B8 + thumb_func_start FUN_0205E1B8 +FUN_0205E1B8: ; 0x0205E1B8 push {r4-r7} mov r5, #0x0 mov r6, #0x28 @@ -176972,13 +176972,13 @@ _0205E1DE: bx lr .balign 4 - thumb_func_start sub_0205E1F0 -sub_0205E1F0: ; 0x0205E1F0 + thumb_func_start FUN_0205E1F0 +FUN_0205E1F0: ; 0x0205E1F0 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_0202A9B0 - bl sub_0202A9AC + bl FUN_0202A9B0 + bl FUN_0202A9AC add r3, r5, #0x0 add r3, #0xd0 ldrb r3, [r3, #0x0] @@ -176996,7 +176996,7 @@ sub_0205E1F0: ; 0x0205E1F0 ldr r2, [r5, #0x8] lsl r1, r1, #0x2 strh r2, [r4, r1] - bl sub_02245844 + bl FUN_02245844 add r0, r5, #0x0 add r0, #0xd0 ldrb r0, [r0, #0x0] @@ -177022,16 +177022,16 @@ _0205E24C: add r1, r1, #0x1 cmp r1, #0x3 blt _0205E23A - bl sub_02020C2C + bl FUN_02020C2C _0205E256: pop {r4-r6, pc} - thumb_func_start sub_0205E258 -sub_0205E258: ; 0x0205E258 + thumb_func_start FUN_0205E258 +FUN_0205E258: ; 0x0205E258 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0202A9B0 - bl sub_0202A9AC + bl FUN_0202A9B0 + bl FUN_0202A9AC mov r2, #0x0 _0205E266: lsl r1, r2, #0x2 @@ -177068,8 +177068,8 @@ _0205E29C: add r0, r2, #0x0 pop {r3, pc} - thumb_func_start sub_0205E2A0 -sub_0205E2A0: ; 0x0205E2A0 + thumb_func_start FUN_0205E2A0 +FUN_0205E2A0: ; 0x0205E2A0 push {r3-r7, lr} sub sp, #0x8 ldr r3, _0205E308 ; =0x020F7374 @@ -177102,15 +177102,15 @@ _0205E2D6: bne _0205E2DC add r6, r7, #0x0 _0205E2DC: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x29 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x64 blo _0205E2F4 - bl sub_02020C2C + bl FUN_02020C2C _0205E2F4: ldrb r0, [r6, r5] cmp r4, r0 @@ -177125,14 +177125,14 @@ _0205E300: nop _0205E308: .word 0x020F7374 - thumb_func_start sub_0205E30C -sub_0205E30C: ; 0x0205E30C + thumb_func_start FUN_0205E30C +FUN_0205E30C: ; 0x0205E30C push {r3-r7, lr} add r7, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r7, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r1, [r5, #0x0] cmp r1, #0x4 @@ -177149,10 +177149,10 @@ sub_0205E30C: ; 0x0205E30C lsl r2, r7, #0x2 lsl r4, r5, #0x2 ldr r0, [r4, #0x34] - bl sub_02058780 + bl FUN_02058780 ldr r0, [r4, #0xc] - bl sub_0202A9B0 - bl sub_0202AB40 + bl FUN_0202A9B0 + bl FUN_0202AB40 add r6, r0, #0x0 ldrb r0, [r6, #0x0] cmp r0, #0x32 @@ -177161,10 +177161,10 @@ sub_0205E30C: ; 0x0205E30C ldr r1, _0205E400 ; =0x0000230A add r0, r7, #0x0 add r3, r2, #0x0 - bl sub_02038CD8 + bl FUN_02038CD8 add r0, r4, #0x0 mov r1, #0x29 - bl sub_02039438 + bl FUN_02039438 ldrb r2, [r6, #0x0] mov r1, #0x32 sub r1, r1, r2 @@ -177176,17 +177176,17 @@ _0205E374: mov r0, #0x0 strb r0, [r6, #0x0] ldr r0, [r4, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_0205532C + bl FUN_0205532C add r3, r4, #0x0 add r3, #0x90 add r2, r0, #0x0 ldr r3, [r3, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0205DD80 + bl FUN_0205DD80 add r0, r4, #0x0 add r0, #0x90 ldr r2, [r0, #0x0] @@ -177195,11 +177195,11 @@ _0205E374: beq _0205E3BA add r0, r4, #0x0 mov r1, #0x1 - bl sub_0205DED4 + bl FUN_0205DED4 add r0, r4, #0x0 add r4, #0x90 ldr r1, [r4, #0x0] - bl sub_0205DF44 + bl FUN_0205DF44 mov r0, #0x1 str r0, [r5, #0x0] b _0205E3FC @@ -177220,8 +177220,8 @@ _0205E400: .word 0x0000230A _0205E404: .byte 0x7E, 0x04, 0x00, 0x00, 0x0B, 0x23, 0x00, 0x00 - thumb_func_start sub_0205E40C -sub_0205E40C: ; 0x0205E40C + thumb_func_start FUN_0205E40C +FUN_0205E40C: ; 0x0205E40C push {r3-r5, lr} cmp r0, #0x0 bne _0205E416 @@ -177240,7 +177240,7 @@ _0205E426: lsl r0, r5, #0x10 lsr r0, r0, #0x10 bne _0205E430 - bl sub_02020C2C + bl FUN_02020C2C _0205E430: lsl r0, r5, #0x10 lsr r0, r0, #0x10 @@ -177249,25 +177249,25 @@ _0205E430: mov r4, #0x0 b _0205E46A _0205E43C: - bl sub_0201B9EC + bl FUN_0201B9EC add r4, r0, #0x0 lsl r1, r5, #0x10 ldr r0, _0205E47C ; =0x0000FFFF lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 lsl r0, r5, #0x10 lsr r0, r0, #0x10 cmp r4, r0 blo _0205E46A - bl sub_02020C2C + bl FUN_02020C2C _0205E46A: cmp r4, #0x0 bne _0205E472 @@ -177280,43 +177280,43 @@ _0205E472: _0205E478: .word 0x00002008 _0205E47C: .word 0x0000FFFF - thumb_func_start sub_0205E480 -sub_0205E480: ; 0x0205E480 + thumb_func_start FUN_0205E480 +FUN_0205E480: ; 0x0205E480 push {r4, lr} add r4, r0, #0x0 add r0, #0x90 ldr r0, [r0, #0x0] add r0, r0, #0x4 - bl sub_0205E4D8 + bl FUN_0205E4D8 add r0, r4, #0x0 add r4, #0x90 ldr r1, [r4, #0x0] - bl sub_0205E1F0 + bl FUN_0205E1F0 pop {r4, pc} .balign 4 - thumb_func_start sub_0205E49C -sub_0205E49C: ; 0x0205E49C + thumb_func_start FUN_0205E49C +FUN_0205E49C: ; 0x0205E49C add r0, #0x90 ldr r0, [r0, #0x0] ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_0205E4A4 -sub_0205E4A4: ; 0x0205E4A4 + thumb_func_start FUN_0205E4A4 +FUN_0205E4A4: ; 0x0205E4A4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206F158 + bl FUN_0206F158 ldr r1, _0205E4D4 ; =0x000001AF mov r2, #0x1 mov r3, #0x4 - bl sub_0206EE50 + bl FUN_0206EE50 cmp r0, #0x1 bne _0205E4D0 ldr r0, [r4, #0xc] - bl sub_0202A9B0 - bl sub_0202AB40 + bl FUN_0202A9B0 + bl FUN_0202AB40 ldrb r1, [r0, #0x0] cmp r1, #0x32 bhs _0205E4D0 @@ -177327,8 +177327,8 @@ _0205E4D0: nop _0205E4D4: .word 0x000001AF - thumb_func_start sub_0205E4D8 -sub_0205E4D8: ; 0x0205E4D8 + thumb_func_start FUN_0205E4D8 +FUN_0205E4D8: ; 0x0205E4D8 ldr r1, [r0, #0x0] add r2, r1, #0x1 ldr r1, _0205E4E8 ; =0x000003E7 @@ -177341,40 +177341,40 @@ _0205E4E6: .balign 4 _0205E4E8: .word 0x000003E7 - thumb_func_start sub_0205E4EC -sub_0205E4EC: ; 0x0205E4EC + thumb_func_start FUN_0205E4EC +FUN_0205E4EC: ; 0x0205E4EC push {r4, lr} add r4, r0, #0x0 mov r1, #0x8 - bl sub_0205858C + bl FUN_0205858C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0205E5B4 + bl FUN_0205E5B4 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020588B8 + bl FUN_020588B8 pop {r4, pc} .balign 4 - thumb_func_start sub_0205E518 -sub_0205E518: ; 0x0205E518 + thumb_func_start FUN_0205E518 +FUN_0205E518: ; 0x0205E518 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E5B4 + bl FUN_0205E5B4 cmp r0, #0x0 beq _0205E548 add r0, r5, #0x0 mov r1, #0x0 - bl sub_020588B8 + bl FUN_020588B8 ldr r6, _0205E54C ; =0x020F7388 _0205E538: ldrb r2, [r4, #0x0] @@ -177390,33 +177390,33 @@ _0205E548: nop _0205E54C: .word 0x020F7388 - thumb_func_start sub_0205E550 -sub_0205E550: ; 0x0205E550 + thumb_func_start FUN_0205E550 +FUN_0205E550: ; 0x0205E550 bx lr .balign 4 - thumb_func_start sub_0205E554 -sub_0205E554: ; 0x0205E554 + thumb_func_start FUN_0205E554 +FUN_0205E554: ; 0x0205E554 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205886C + bl FUN_0205886C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E608 + bl FUN_0205E608 cmp r0, #0x1 bne _0205E592 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E63C + bl FUN_0205E63C add r0, r5, #0x0 - bl sub_0205E698 + bl FUN_0205E698 cmp r0, #0x1 bne _0205E592 add r0, r5, #0x0 - bl sub_0205883C + bl FUN_0205883C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] @@ -177427,29 +177427,29 @@ _0205E592: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E598 -sub_0205E598: ; 0x0205E598 + thumb_func_start FUN_0205E598 +FUN_0205E598: ; 0x0205E598 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x1 bne _0205E5B0 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x0] _0205E5B0: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205E5B4 -sub_0205E5B4: ; 0x0205E5B4 + thumb_func_start FUN_0205E5B4 +FUN_0205E5B4: ; 0x0205E5B4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058578 - bl sub_020552A4 + bl FUN_02058578 + bl FUN_020552A4 cmp r0, #0x0 bne _0205E5CC mov r0, #0x0 @@ -177461,43 +177461,43 @@ _0205E5CC: bne _0205E5DA add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E5E0 + bl FUN_0205E5E0 _0205E5DA: mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E5E0 -sub_0205E5E0: ; 0x0205E5E0 + thumb_func_start FUN_0205E5E0 +FUN_0205E5E0: ; 0x0205E5E0 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 mov r1, #0x1 add r4, r0, #0x0 strb r1, [r5, #0x1] - bl sub_02055320 + bl FUN_02055320 strh r0, [r5, #0x2] add r0, r4, #0x0 - bl sub_0205532C + bl FUN_0205532C strh r0, [r5, #0x4] mov r0, #0xff strh r0, [r5, #0x6] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E608 -sub_0205E608: ; 0x0205E608 + thumb_func_start FUN_0205E608 +FUN_0205E608: ; 0x0205E608 push {r4-r6, lr} add r5, r1, #0x0 - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 add r6, r0, #0x0 beq _0205E638 - bl sub_02055320 + bl FUN_02055320 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0205532C + bl FUN_0205532C mov r1, #0x2 ldrsh r1, [r5, r1] cmp r4, r1 @@ -177513,27 +177513,27 @@ _0205E638: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0205E63C -sub_0205E63C: ; 0x0205E63C + thumb_func_start FUN_0205E63C +FUN_0205E63C: ; 0x0205E63C push {r3-r5, lr} add r5, r1, #0x0 - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 add r4, r0, #0x0 - bl sub_02055320 + bl FUN_02055320 strh r0, [r5, #0x2] add r0, r4, #0x0 - bl sub_0205532C + bl FUN_0205532C strh r0, [r5, #0x4] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E65C -sub_0205E65C: ; 0x0205E65C + thumb_func_start FUN_0205E65C +FUN_0205E65C: ; 0x0205E65C push {r3, lr} - bl sub_02058738 - bl sub_02055698 - bl sub_02055464 + bl FUN_02058738 + bl FUN_02055698 + bl FUN_02055464 add r1, r0, #0x0 sub r1, #0x58 cmp r1, #0x3 @@ -177557,25 +177557,25 @@ _0205E694: pop {r3, pc} .balign 4 - thumb_func_start sub_0205E698 -sub_0205E698: ; 0x0205E698 + thumb_func_start FUN_0205E698 +FUN_0205E698: ; 0x0205E698 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02058738 - bl sub_02055698 + bl FUN_02058738 + bl FUN_02055698 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_02055338 + bl FUN_02055338 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02055344 + bl FUN_02055344 add r4, r0, #0x0 ldr r0, [sp, #0x0] cmp r0, r6 @@ -177584,18 +177584,18 @@ sub_0205E698: ; 0x0205E698 beq _0205E6FA _0205E6D2: add r0, r5, #0x0 - bl sub_0205E65C + bl FUN_0205E65C str r0, [sp, #0x4] ldr r0, [sp, #0x0] add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_02059E80 + bl FUN_02059E80 ldr r1, [sp, #0x4] - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205AE0C + bl FUN_0205AE0C add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} @@ -177604,34 +177604,34 @@ _0205E6FA: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0205E700 -sub_0205E700: ; 0x0205E700 + thumb_func_start FUN_0205E700 +FUN_0205E700: ; 0x0205E700 push {r3-r5, lr} mov r1, #0xc add r5, r0, #0x0 - bl sub_0205858C + bl FUN_0205858C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E854 + bl FUN_0205E854 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x1] pop {r3-r5, pc} - thumb_func_start sub_0205E728 -sub_0205E728: ; 0x0205E728 + thumb_func_start FUN_0205E728 +FUN_0205E728: ; 0x0205E728 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E854 + bl FUN_0205E854 cmp r0, #0x0 beq _0205E750 ldr r6, _0205E754 ; =0x020F7390 @@ -177649,39 +177649,39 @@ _0205E750: nop _0205E754: .word 0x020F7390 - thumb_func_start sub_0205E758 -sub_0205E758: ; 0x0205E758 + thumb_func_start FUN_0205E758 +FUN_0205E758: ; 0x0205E758 bx lr .balign 4 - thumb_func_start sub_0205E75C -sub_0205E75C: ; 0x0205E75C + thumb_func_start FUN_0205E75C +FUN_0205E75C: ; 0x0205E75C push {r3, lr} - bl sub_020585B0 + bl FUN_020585B0 mov r1, #0x0 strb r1, [r0, #0x1] pop {r3, pc} - thumb_func_start sub_0205E768 -sub_0205E768: ; 0x0205E768 + thumb_func_start FUN_0205E768 +FUN_0205E768: ; 0x0205E768 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205886C + bl FUN_0205886C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E8F4 + bl FUN_0205E8F4 cmp r0, #0x1 bne _0205E7A0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0205E940 + bl FUN_0205E940 cmp r0, #0x1 bne _0205E7A0 add r0, r5, #0x0 - bl sub_0205883C + bl FUN_0205883C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] @@ -177691,41 +177691,41 @@ _0205E7A0: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205E7A4 -sub_0205E7A4: ; 0x0205E7A4 + thumb_func_start FUN_0205E7A4 +FUN_0205E7A4: ; 0x0205E7A4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0205B080 + bl FUN_0205B080 cmp r0, #0x0 bne _0205E7B6 mov r0, #0x0 pop {r3-r5, pc} _0205E7B6: add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 mov r0, #0x0 strb r0, [r4, #0x0] pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E7C4 -sub_0205E7C4: ; 0x0205E7C4 + thumb_func_start FUN_0205E7C4 +FUN_0205E7C4: ; 0x0205E7C4 push {r4-r7, lr} sub sp, #0xc mov r1, #0x0 add r4, r0, #0x0 str r1, [sp, #0x8] - bl sub_02058488 + bl FUN_02058488 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02058450 + bl FUN_02058450 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0205C9E8 + bl FUN_0205C9E8 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02058578 + bl FUN_02058578 ldr r1, [sp, #0x0] add r7, r0, #0x0 cmp r1, #0x8 @@ -177748,18 +177748,18 @@ sub_0205E7C4: ; 0x0205E7C4 add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 bne _0205E84C _0205E81E: ldr r0, [sp, #0x4] cmp r4, r0 beq _0205E83C - bl sub_02058450 + bl FUN_02058450 cmp r6, r0 bne _0205E83C ldr r0, [sp, #0x4] - bl sub_0205C9E8 + bl FUN_0205C9E8 cmp r5, r0 bne _0205E83C ldr r0, [sp, #0x4] @@ -177770,7 +177770,7 @@ _0205E83C: add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 beq _0205E81E _0205E84C: @@ -177779,38 +177779,38 @@ _0205E84C: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205E854 -sub_0205E854: ; 0x0205E854 + thumb_func_start FUN_0205E854 +FUN_0205E854: ; 0x0205E854 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 str r1, [sp, #0x0] - bl sub_02058578 + bl FUN_02058578 add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 - bl sub_02058450 + bl FUN_02058450 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_0205C9E8 + bl FUN_0205C9E8 add r6, r0, #0x0 add r0, r4, #0x0 add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 bne _0205E8C6 _0205E886: ldr r0, [sp, #0x4] cmp r5, r0 beq _0205E8B6 - bl sub_02058450 + bl FUN_02058450 cmp r7, r0 bne _0205E8B6 ldr r0, [sp, #0x4] - bl sub_0205C9E8 + bl FUN_0205C9E8 cmp r6, r0 bne _0205E8B6 ldr r0, [sp, #0x0] @@ -177820,7 +177820,7 @@ _0205E886: ldr r1, [sp, #0x0] ldr r2, [sp, #0x4] add r0, r5, #0x0 - bl sub_0205E8D0 + bl FUN_0205E8D0 _0205E8B0: add sp, #0xc mov r0, #0x1 @@ -177830,7 +177830,7 @@ _0205E8B6: add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 - bl sub_020580F4 + bl FUN_020580F4 cmp r0, #0x1 beq _0205E886 _0205E8C6: @@ -177840,18 +177840,18 @@ _0205E8C6: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0205E8D0 -sub_0205E8D0: ; 0x0205E8D0 + thumb_func_start FUN_0205E8D0 +FUN_0205E8D0: ; 0x0205E8D0 push {r3-r5, lr} add r5, r1, #0x0 mov r0, #0x1 add r4, r2, #0x0 strb r0, [r5, #0x1] add r0, r4, #0x0 - bl sub_02058B2C + bl FUN_02058B2C strh r0, [r5, #0x2] add r0, r4, #0x0 - bl sub_02058B4C + bl FUN_02058B4C strh r0, [r5, #0x4] mov r0, #0xff strh r0, [r5, #0x6] @@ -177859,34 +177859,34 @@ sub_0205E8D0: ; 0x0205E8D0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205E8F4 -sub_0205E8F4: ; 0x0205E8F4 + thumb_func_start FUN_0205E8F4 +FUN_0205E8F4: ; 0x0205E8F4 push {r3-r7, lr} add r6, r0, #0x0 ldr r5, [r1, #0x8] - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02058B4C + bl FUN_02058B4C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B14 + bl FUN_02058B14 add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_02058B24 + bl FUN_02058B24 cmp r4, r7 bne _0205E91E cmp r6, r0 beq _0205E93A _0205E91E: add r0, r5, #0x0 - bl sub_02058854 + bl FUN_02058854 cmp r0, #0x1 beq _0205E936 mov r1, #0x61 add r0, r5, #0x0 lsl r1, r1, #0x6 - bl sub_02058424 + bl FUN_02058424 cmp r0, #0x0 bne _0205E93A _0205E936: @@ -177897,28 +177897,28 @@ _0205E93A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0205E940 -sub_0205E940: ; 0x0205E940 + thumb_func_start FUN_0205E940 +FUN_0205E940: ; 0x0205E940 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 - bl sub_02058B2C + bl FUN_02058B2C add r4, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02058B4C + bl FUN_02058B4C add r6, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_02058B2C + bl FUN_02058B2C str r0, [sp, #0x8] ldr r0, [r5, #0x8] - bl sub_02058B4C + bl FUN_02058B4C add r7, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_02058B14 + bl FUN_02058B14 str r0, [sp, #0x4] ldr r0, [r5, #0x8] - bl sub_02058B24 + bl FUN_02058B24 add r3, r0, #0x0 ldr r0, [sp, #0x8] cmp r4, r0 @@ -177932,12 +177932,12 @@ _0205E986: ldr r2, [sp, #0x4] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02059E80 + bl FUN_02059E80 add r5, r0, #0x0 - bl sub_02059BF4 + bl FUN_02059BF4 add r4, r4, r0 add r0, r5, #0x0 - bl sub_02059C00 + bl FUN_02059C00 add r1, r6, r0 ldr r0, [sp, #0x8] cmp r4, r0 @@ -177947,10 +177947,10 @@ _0205E986: _0205E9AA: add r0, r5, #0x0 mov r1, #0xc - bl sub_0205AFDC + bl FUN_0205AFDC add r1, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_0205AE0C + bl FUN_0205AE0C add sp, #0xc mov r0, #0x1 pop {r4-r7, pc} @@ -177960,24 +177960,24 @@ _0205E9C0: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205E9C8 -sub_0205E9C8: ; 0x0205E9C8 + thumb_func_start FUN_0205E9C8 +FUN_0205E9C8: ; 0x0205E9C8 push {r4-r5, lr} sub sp, #0xc add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x8 - bl sub_0205858C + bl FUN_0205858C strb r5, [r0, #0x1] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02058544 + bl FUN_02058544 add r0, r4, #0x0 - bl sub_02058848 + bl FUN_02058848 mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0x14 - bl sub_02058410 + bl FUN_02058410 ldr r5, _0205EA0C ; =0x020F7398 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -177987,49 +177987,49 @@ sub_0205E9C8: ; 0x0205E9C8 add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058B94 + bl FUN_02058B94 add sp, #0xc pop {r4-r5, pc} nop _0205EA0C: .word 0x020F7398 - thumb_func_start sub_0205EA10 -sub_0205EA10: ; 0x0205EA10 - ldr r3, _0205EA18 ; =sub_0205E9C8 + thumb_func_start FUN_0205EA10 +FUN_0205EA10: ; 0x0205EA10 + ldr r3, _0205EA18 ; =FUN_0205E9C8 mov r1, #0x0 bx r3 nop -_0205EA18: .word sub_0205E9C8 + 1 +_0205EA18: .word FUN_0205E9C8 + 1 - thumb_func_start sub_0205EA1C -sub_0205EA1C: ; 0x0205EA1C - ldr r3, _0205EA24 ; =sub_0205E9C8 + thumb_func_start FUN_0205EA1C +FUN_0205EA1C: ; 0x0205EA1C + ldr r3, _0205EA24 ; =FUN_0205E9C8 mov r1, #0x1 bx r3 nop -_0205EA24: .word sub_0205E9C8 + 1 +_0205EA24: .word FUN_0205E9C8 + 1 - thumb_func_start sub_0205EA28 -sub_0205EA28: ; 0x0205EA28 - ldr r3, _0205EA30 ; =sub_0205E9C8 + thumb_func_start FUN_0205EA28 +FUN_0205EA28: ; 0x0205EA28 + ldr r3, _0205EA30 ; =FUN_0205E9C8 mov r1, #0x2 bx r3 nop -_0205EA30: .word sub_0205E9C8 + 1 +_0205EA30: .word FUN_0205E9C8 + 1 - thumb_func_start sub_0205EA34 -sub_0205EA34: ; 0x0205EA34 - ldr r3, _0205EA3C ; =sub_0205E9C8 + thumb_func_start FUN_0205EA34 +FUN_0205EA34: ; 0x0205EA34 + ldr r3, _0205EA3C ; =FUN_0205E9C8 mov r1, #0x3 bx r3 nop -_0205EA3C: .word sub_0205E9C8 + 1 +_0205EA3C: .word FUN_0205E9C8 + 1 - thumb_func_start sub_0205EA40 -sub_0205EA40: ; 0x0205EA40 + thumb_func_start FUN_0205EA40 +FUN_0205EA40: ; 0x0205EA40 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 ldr r6, _0205EA60 ; =0x020F7380 add r4, r0, #0x0 _0205EA4C: @@ -178045,27 +178045,27 @@ _0205EA4C: nop _0205EA60: .word 0x020F7380 - thumb_func_start sub_0205EA64 -sub_0205EA64: ; 0x0205EA64 + thumb_func_start FUN_0205EA64 +FUN_0205EA64: ; 0x0205EA64 push {r3, lr} - bl sub_0205EB20 + bl FUN_0205EB20 cmp r0, #0x0 beq _0205EA72 - bl sub_021E4DE4 + bl FUN_021E4DE4 _0205EA72: pop {r3, pc} - thumb_func_start sub_0205EA74 -sub_0205EA74: ; 0x0205EA74 + thumb_func_start FUN_0205EA74 +FUN_0205EA74: ; 0x0205EA74 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_020585B0 + bl FUN_020585B0 add r5, r0, #0x0 mov r1, #0x0 strb r1, [r5, #0x0] add r0, r4, #0x0 - bl sub_0205EB14 + bl FUN_0205EB14 ldrb r0, [r5, #0x2] cmp r0, #0x0 bne _0205EAA6 @@ -178078,15 +178078,15 @@ sub_0205EA74: ; 0x0205EA74 add r1, r2, #0x0 str r0, [r3, #0x0] add r0, r4, #0x0 - bl sub_02058B94 + bl FUN_02058B94 _0205EAA6: add sp, #0xc pop {r4-r5, pc} nop _0205EAAC: .word 0x020F73A4 - thumb_func_start sub_0205EAB0 -sub_0205EAB0: ; 0x0205EAB0 + thumb_func_start FUN_0205EAB0 +FUN_0205EAB0: ; 0x0205EAB0 push {r3-r5, lr} add r4, r1, #0x0 ldrb r1, [r4, #0x2] @@ -178094,73 +178094,73 @@ sub_0205EAB0: ; 0x0205EAB0 cmp r1, #0x0 bne _0205EACA ldrb r1, [r4, #0x1] - bl sub_0224CECC + bl FUN_0224CECC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205EB14 + bl FUN_0205EB14 _0205EACA: add r0, r5, #0x0 - bl sub_02058848 + bl FUN_02058848 add r0, r5, #0x0 - bl sub_0205886C + bl FUN_0205886C ldrb r0, [r4, #0x0] add r0, r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205EAE0 -sub_0205EAE0: ; 0x0205EAE0 + thumb_func_start FUN_0205EAE0 +FUN_0205EAE0: ; 0x0205EAE0 push {r3-r5, lr} add r4, r1, #0x0 ldrb r1, [r4, #0x2] add r5, r0, #0x0 cmp r1, #0x0 bne _0205EB0E - bl sub_0205EB20 + bl FUN_0205EB20 cmp r0, #0x0 bne _0205EB0E add r0, r5, #0x0 - bl sub_02058934 + bl FUN_02058934 cmp r0, #0x1 bne _0205EB0E ldrb r1, [r4, #0x1] add r0, r5, #0x0 - bl sub_0224CECC + bl FUN_0224CECC add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_0205EB14 + bl FUN_0205EB14 _0205EB0E: mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205EB14 -sub_0205EB14: ; 0x0205EB14 + thumb_func_start FUN_0205EB14 +FUN_0205EB14: ; 0x0205EB14 push {r4, lr} add r4, r1, #0x0 - bl sub_020585B0 + bl FUN_020585B0 str r4, [r0, #0x4] pop {r4, pc} - thumb_func_start sub_0205EB20 -sub_0205EB20: ; 0x0205EB20 + thumb_func_start FUN_0205EB20 +FUN_0205EB20: ; 0x0205EB20 push {r3, lr} - bl sub_020585B0 + bl FUN_020585B0 ldr r0, [r0, #0x4] pop {r3, pc} .balign 4 - thumb_func_start sub_0205EB2C -sub_0205EB2C: ; 0x0205EB2C + thumb_func_start FUN_0205EB2C +FUN_0205EB2C: ; 0x0205EB2C push {r3, lr} - bl sub_020585B0 + bl FUN_020585B0 mov r1, #0x1 strb r1, [r0, #0x2] pop {r3, pc} - thumb_func_start sub_0205EB38 -sub_0205EB38: ; 0x0205EB38 + thumb_func_start FUN_0205EB38 +FUN_0205EB38: ; 0x0205EB38 push {r4-r7, lr} sub sp, #0x24 ldr r3, _0205EBE0 ; =0x020F73B0 @@ -178175,17 +178175,17 @@ sub_0205EB38: ; 0x0205EB38 mov r1, #0x5b add r0, r4, #0x0 lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x5b add r7, r0, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C add r0, r7, #0x0 add r1, sp, #0xc mov r2, #0x2 mov r3, #0xb - bl sub_021D959C + bl FUN_021D959C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 @@ -178196,21 +178196,21 @@ sub_0205EB38: ; 0x0205EB38 add r0, r7, #0x0 mov r1, #0x55 add r3, r2, #0x0 - bl sub_021D967C + bl FUN_021D967C ldr r0, _0205EBE4 ; =0x000034D8 mov r1, #0x55 str r0, [sp, #0x0] add r0, r7, #0x0 mov r2, #0x2 mov r3, #0x0 - bl sub_021D96F4 + bl FUN_021D96F4 ldr r0, _0205EBE4 ; =0x000034D8 mov r1, #0x55 str r0, [sp, #0x0] add r0, r7, #0x0 mov r2, #0x3 mov r3, #0x0 - bl sub_021D9708 + bl FUN_021D9708 mov r2, #0x1 ldr r0, _0205EBE4 ; =0x000034D8 str r2, [sp, #0x0] @@ -178218,14 +178218,14 @@ sub_0205EB38: ; 0x0205EB38 add r0, r7, #0x0 mov r1, #0x55 mov r3, #0x0 - bl sub_021D971C + bl FUN_021D971C ldr r4, _0205EBE8 ; =0x020F73C8 mov r6, #0x0 add r5, r7, #0x0 _0205EBC0: add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_021D9820 + bl FUN_021D9820 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -178242,8 +178242,8 @@ _0205EBE0: .word 0x020F73B0 _0205EBE4: .word 0x000034D8 _0205EBE8: .word 0x020F73C8 - thumb_func_start sub_0205EBEC -sub_0205EBEC: ; 0x0205EBEC + thumb_func_start FUN_0205EBEC +FUN_0205EBEC: ; 0x0205EBEC push {r3-r7, lr} add r7, r0, #0x0 mov r6, #0x59 @@ -178254,20 +178254,20 @@ _0205EBF8: ldr r0, [r5, r6] cmp r0, #0x0 beq _0205EC02 - bl sub_0200C3DC + bl FUN_0200C3DC _0205EC02: add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x2 blt _0205EBF8 add r0, r7, #0x0 - bl sub_021D99F8 + bl FUN_021D99F8 add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} - thumb_func_start sub_0205EC18 -sub_0205EC18: ; 0x0205EC18 + thumb_func_start FUN_0205EC18 +FUN_0205EC18: ; 0x0205EC18 push {r3-r7, lr} mov r7, #0x1 mov r6, #0x59 @@ -178282,7 +178282,7 @@ _0205EC28: beq _0205EC36 ldr r0, [r0, #0x0] add r1, r7, #0x0 - bl sub_020201E4 + bl FUN_020201E4 _0205EC36: add r4, r4, #0x1 add r5, r5, #0x4 @@ -178290,11 +178290,11 @@ _0205EC36: blt _0205EC28 ldr r0, [sp, #0x0] ldr r0, [r0, #0x0] - bl sub_0201FDEC + bl FUN_0201FDEC pop {r3-r7, pc} - thumb_func_start sub_0205EC48 -sub_0205EC48: ; 0x0205EC48 + thumb_func_start FUN_0205EC48 +FUN_0205EC48: ; 0x0205EC48 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x59 @@ -178302,18 +178302,18 @@ sub_0205EC48: ; 0x0205EC48 ldr r0, [r5, r0] add r4, r1, #0x0 add r6, r3, #0x0 - bl sub_0200C714 + bl FUN_0200C714 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0200C714 + bl FUN_0200C714 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0205EC6C -sub_0205EC6C: ; 0x0205EC6C + thumb_func_start FUN_0205EC6C +FUN_0205EC6C: ; 0x0205EC6C push {r3, lr} cmp r1, #0x2 bhs _0205EC82 @@ -178323,33 +178323,33 @@ sub_0205EC6C: ; 0x0205EC6C lsl r0, r0, #0x2 ldr r0, [r1, r0] add r1, r2, #0x0 - bl sub_0200C644 + bl FUN_0200C644 _0205EC82: pop {r3, pc} - thumb_func_start sub_0205EC84 -sub_0205EC84: ; 0x0205EC84 - ldr r3, _0205EC88 ; =sub_020462E4 + thumb_func_start FUN_0205EC84 +FUN_0205EC84: ; 0x0205EC84 + ldr r3, _0205EC88 ; =FUN_020462E4 bx r3 .balign 4 -_0205EC88: .word sub_020462E4 + 1 +_0205EC88: .word FUN_020462E4 + 1 - thumb_func_start sub_0205EC8C -sub_0205EC8C: ; 0x0205EC8C - ldr r3, _0205EC90 ; =sub_0204630C + thumb_func_start FUN_0205EC8C +FUN_0205EC8C: ; 0x0205EC8C + ldr r3, _0205EC90 ; =FUN_0204630C bx r3 .balign 4 -_0205EC90: .word sub_0204630C + 1 +_0205EC90: .word FUN_0204630C + 1 - thumb_func_start sub_0205EC94 -sub_0205EC94: ; 0x0205EC94 - ldr r3, _0205EC98 ; =sub_020462B8 + thumb_func_start FUN_0205EC94 +FUN_0205EC94: ; 0x0205EC94 + ldr r3, _0205EC98 ; =FUN_020462B8 bx r3 .balign 4 -_0205EC98: .word sub_020462B8 + 1 +_0205EC98: .word FUN_020462B8 + 1 - thumb_func_start sub_0205EC9C -sub_0205EC9C: ; 0x0205EC9C + thumb_func_start FUN_0205EC9C +FUN_0205EC9C: ; 0x0205EC9C push {r3, lr} cmp r1, #0x0 beq _0205ECB6 @@ -178361,207 +178361,207 @@ sub_0205EC9C: ; 0x0205EC9C _0205ECAC: lsl r1, r2, #0x10 lsr r1, r1, #0x10 - bl sub_0205EC84 + bl FUN_0205EC84 b _0205ECCE _0205ECB6: lsl r1, r2, #0x10 lsr r1, r1, #0x10 - bl sub_0205EC8C + bl FUN_0205EC8C b _0205ECCE _0205ECC0: lsl r1, r2, #0x10 lsr r1, r1, #0x10 - bl sub_0205EC94 + bl FUN_0205EC94 pop {r3, pc} _0205ECCA: - bl sub_02020C2C + bl FUN_02020C2C _0205ECCE: mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start sub_0205ECD4 -sub_0205ECD4: ; 0x0205ECD4 - ldr r3, _0205ECDC ; =sub_0205EC84 + thumb_func_start FUN_0205ECD4 +FUN_0205ECD4: ; 0x0205ECD4 + ldr r3, _0205ECDC ; =FUN_0205EC84 mov r1, #0x96 lsl r1, r1, #0x4 bx r3 .balign 4 -_0205ECDC: .word sub_0205EC84 + 1 +_0205ECDC: .word FUN_0205EC84 + 1 - thumb_func_start sub_0205ECE0 -sub_0205ECE0: ; 0x0205ECE0 - ldr r3, _0205ECE8 ; =sub_0205EC94 + thumb_func_start FUN_0205ECE0 +FUN_0205ECE0: ; 0x0205ECE0 + ldr r3, _0205ECE8 ; =FUN_0205EC94 mov r1, #0x96 lsl r1, r1, #0x4 bx r3 .balign 4 -_0205ECE8: .word sub_0205EC94 + 1 +_0205ECE8: .word FUN_0205EC94 + 1 - thumb_func_start sub_0205ECEC -sub_0205ECEC: ; 0x0205ECEC - ldr r3, _0205ECF4 ; =sub_0205EC94 + thumb_func_start FUN_0205ECEC +FUN_0205ECEC: ; 0x0205ECEC + ldr r3, _0205ECF4 ; =FUN_0205EC94 ldr r1, _0205ECF8 ; =0x0000098D bx r3 nop -_0205ECF4: .word sub_0205EC94 + 1 +_0205ECF4: .word FUN_0205EC94 + 1 _0205ECF8: .word 0x0000098D - thumb_func_start sub_0205ECFC -sub_0205ECFC: ; 0x0205ECFC - ldr r3, _0205ED04 ; =sub_0205EC84 + thumb_func_start FUN_0205ECFC +FUN_0205ECFC: ; 0x0205ECFC + ldr r3, _0205ED04 ; =FUN_0205EC84 ldr r1, _0205ED08 ; =0x00000964 bx r3 nop -_0205ED04: .word sub_0205EC84 + 1 +_0205ED04: .word FUN_0205EC84 + 1 _0205ED08: .word 0x00000964 - thumb_func_start sub_0205ED0C -sub_0205ED0C: ; 0x0205ED0C - ldr r3, _0205ED14 ; =sub_0205EC94 + thumb_func_start FUN_0205ED0C +FUN_0205ED0C: ; 0x0205ED0C + ldr r3, _0205ED14 ; =FUN_0205EC94 ldr r1, _0205ED18 ; =0x00000964 bx r3 nop -_0205ED14: .word sub_0205EC94 + 1 +_0205ED14: .word FUN_0205EC94 + 1 _0205ED18: .word 0x00000964 - thumb_func_start sub_0205ED1C -sub_0205ED1C: ; 0x0205ED1C - ldr r3, _0205ED24 ; =sub_0205EC84 + thumb_func_start FUN_0205ED1C +FUN_0205ED1C: ; 0x0205ED1C + ldr r3, _0205ED24 ; =FUN_0205EC84 ldr r1, _0205ED28 ; =0x00000961 bx r3 nop -_0205ED24: .word sub_0205EC84 + 1 +_0205ED24: .word FUN_0205EC84 + 1 _0205ED28: .word 0x00000961 - thumb_func_start sub_0205ED2C -sub_0205ED2C: ; 0x0205ED2C - ldr r3, _0205ED34 ; =sub_0205EC8C + thumb_func_start FUN_0205ED2C +FUN_0205ED2C: ; 0x0205ED2C + ldr r3, _0205ED34 ; =FUN_0205EC8C ldr r1, _0205ED38 ; =0x00000961 bx r3 nop -_0205ED34: .word sub_0205EC8C + 1 +_0205ED34: .word FUN_0205EC8C + 1 _0205ED38: .word 0x00000961 - thumb_func_start sub_0205ED3C -sub_0205ED3C: ; 0x0205ED3C - ldr r3, _0205ED44 ; =sub_0205EC94 + thumb_func_start FUN_0205ED3C +FUN_0205ED3C: ; 0x0205ED3C + ldr r3, _0205ED44 ; =FUN_0205EC94 ldr r1, _0205ED48 ; =0x00000961 bx r3 nop -_0205ED44: .word sub_0205EC94 + 1 +_0205ED44: .word FUN_0205EC94 + 1 _0205ED48: .word 0x00000961 - thumb_func_start sub_0205ED4C -sub_0205ED4C: ; 0x0205ED4C - ldr r3, _0205ED54 ; =sub_0205EC84 + thumb_func_start FUN_0205ED4C +FUN_0205ED4C: ; 0x0205ED4C + ldr r3, _0205ED54 ; =FUN_0205EC84 ldr r1, _0205ED58 ; =0x00000965 bx r3 nop -_0205ED54: .word sub_0205EC84 + 1 +_0205ED54: .word FUN_0205EC84 + 1 _0205ED58: .word 0x00000965 - thumb_func_start sub_0205ED5C -sub_0205ED5C: ; 0x0205ED5C - ldr r3, _0205ED64 ; =sub_0205EC8C + thumb_func_start FUN_0205ED5C +FUN_0205ED5C: ; 0x0205ED5C + ldr r3, _0205ED64 ; =FUN_0205EC8C ldr r1, _0205ED68 ; =0x00000965 bx r3 nop -_0205ED64: .word sub_0205EC8C + 1 +_0205ED64: .word FUN_0205EC8C + 1 _0205ED68: .word 0x00000965 - thumb_func_start sub_0205ED6C -sub_0205ED6C: ; 0x0205ED6C - ldr r3, _0205ED74 ; =sub_0205EC94 + thumb_func_start FUN_0205ED6C +FUN_0205ED6C: ; 0x0205ED6C + ldr r3, _0205ED74 ; =FUN_0205EC94 ldr r1, _0205ED78 ; =0x00000965 bx r3 nop -_0205ED74: .word sub_0205EC94 + 1 +_0205ED74: .word FUN_0205EC94 + 1 _0205ED78: .word 0x00000965 - thumb_func_start sub_0205ED7C -sub_0205ED7C: ; 0x0205ED7C - ldr r3, _0205ED84 ; =sub_0205EC84 + thumb_func_start FUN_0205ED7C +FUN_0205ED7C: ; 0x0205ED7C + ldr r3, _0205ED84 ; =FUN_0205EC84 ldr r1, _0205ED88 ; =0x0000096D bx r3 nop -_0205ED84: .word sub_0205EC84 + 1 +_0205ED84: .word FUN_0205EC84 + 1 _0205ED88: .word 0x0000096D - thumb_func_start sub_0205ED8C -sub_0205ED8C: ; 0x0205ED8C - ldr r3, _0205ED94 ; =sub_0205EC8C + thumb_func_start FUN_0205ED8C +FUN_0205ED8C: ; 0x0205ED8C + ldr r3, _0205ED94 ; =FUN_0205EC8C ldr r1, _0205ED98 ; =0x0000096D bx r3 nop -_0205ED94: .word sub_0205EC8C + 1 +_0205ED94: .word FUN_0205EC8C + 1 _0205ED98: .word 0x0000096D - thumb_func_start sub_0205ED9C -sub_0205ED9C: ; 0x0205ED9C - ldr r3, _0205EDA4 ; =sub_0205EC94 + thumb_func_start FUN_0205ED9C +FUN_0205ED9C: ; 0x0205ED9C + ldr r3, _0205EDA4 ; =FUN_0205EC94 ldr r1, _0205EDA8 ; =0x0000096D bx r3 nop -_0205EDA4: .word sub_0205EC94 + 1 +_0205EDA4: .word FUN_0205EC94 + 1 _0205EDA8: .word 0x0000096D - thumb_func_start sub_0205EDAC -sub_0205EDAC: ; 0x0205EDAC - ldr r3, _0205EDB4 ; =sub_0205EC84 + thumb_func_start FUN_0205EDAC +FUN_0205EDAC: ; 0x0205EDAC + ldr r3, _0205EDB4 ; =FUN_0205EC84 ldr r1, _0205EDB8 ; =0x0000096E bx r3 nop -_0205EDB4: .word sub_0205EC84 + 1 +_0205EDB4: .word FUN_0205EC84 + 1 _0205EDB8: .word 0x0000096E - thumb_func_start sub_0205EDBC -sub_0205EDBC: ; 0x0205EDBC - ldr r3, _0205EDC4 ; =sub_0205EC84 + thumb_func_start FUN_0205EDBC +FUN_0205EDBC: ; 0x0205EDBC + ldr r3, _0205EDC4 ; =FUN_0205EC84 ldr r1, _0205EDC8 ; =0x0000096F bx r3 nop -_0205EDC4: .word sub_0205EC84 + 1 +_0205EDC4: .word FUN_0205EC84 + 1 _0205EDC8: .word 0x0000096F - thumb_func_start sub_0205EDCC -sub_0205EDCC: ; 0x0205EDCC - ldr r3, _0205EDD4 ; =sub_0205EC84 + thumb_func_start FUN_0205EDCC +FUN_0205EDCC: ; 0x0205EDCC + ldr r3, _0205EDD4 ; =FUN_0205EC84 mov r1, #0x97 lsl r1, r1, #0x4 bx r3 .balign 4 -_0205EDD4: .word sub_0205EC84 + 1 +_0205EDD4: .word FUN_0205EC84 + 1 - thumb_func_start sub_0205EDD8 -sub_0205EDD8: ; 0x0205EDD8 - ldr r3, _0205EDE0 ; =sub_0205EC84 + thumb_func_start FUN_0205EDD8 +FUN_0205EDD8: ; 0x0205EDD8 + ldr r3, _0205EDE0 ; =FUN_0205EC84 ldr r1, _0205EDE4 ; =0x00000971 bx r3 nop -_0205EDE0: .word sub_0205EC84 + 1 +_0205EDE0: .word FUN_0205EC84 + 1 _0205EDE4: .word 0x00000971 - thumb_func_start sub_0205EDE8 -sub_0205EDE8: ; 0x0205EDE8 - ldr r3, _0205EDF0 ; =sub_0205EC84 + thumb_func_start FUN_0205EDE8 +FUN_0205EDE8: ; 0x0205EDE8 + ldr r3, _0205EDF0 ; =FUN_0205EC84 ldr r1, _0205EDF4 ; =0x00000972 bx r3 nop -_0205EDF0: .word sub_0205EC84 + 1 +_0205EDF0: .word FUN_0205EC84 + 1 _0205EDF4: .word 0x00000972 - thumb_func_start sub_0205EDF8 -sub_0205EDF8: ; 0x0205EDF8 - ldr r3, _0205EE00 ; =sub_0205EC84 + thumb_func_start FUN_0205EDF8 +FUN_0205EDF8: ; 0x0205EDF8 + ldr r3, _0205EE00 ; =FUN_0205EC84 ldr r1, _0205EE04 ; =0x00000973 bx r3 nop -_0205EE00: .word sub_0205EC84 + 1 +_0205EE00: .word FUN_0205EC84 + 1 _0205EE04: .word 0x00000973 - thumb_func_start sub_0205EE08 -sub_0205EE08: ; 0x0205EE08 + thumb_func_start FUN_0205EE08 +FUN_0205EE08: ; 0x0205EE08 push {r3, lr} cmp r1, #0x4 bhi _0205EE4A @@ -178577,7 +178577,7 @@ sub_0205EE08: ; 0x0205EE08 lsl r0, r4, #0 lsl r0, r5, #0 ldr r1, _0205EE4C ; =0x00000968 - bl sub_0205EC84 + bl FUN_0205EC84 pop {r3, pc} _0205EE2C: .byte 0x08, 0x49, 0xFF, 0xF7 @@ -178590,8 +178590,8 @@ _0205EE4C: .word 0x00000968 _0205EE50: .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00, 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 - thumb_func_start sub_0205EE60 -sub_0205EE60: ; 0x0205EE60 + thumb_func_start FUN_0205EE60 +FUN_0205EE60: ; 0x0205EE60 push {r3, lr} cmp r1, #0x4 bhi _0205EEA2 @@ -178607,7 +178607,7 @@ sub_0205EE60: ; 0x0205EE60 lsl r0, r4, #0 lsl r0, r5, #0 ldr r1, _0205EEA4 ; =0x00000968 - bl sub_0205EC94 + bl FUN_0205EC94 pop {r3, pc} _0205EE84: .byte 0x08, 0x49, 0xFF, 0xF7, 0x05, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7 @@ -178621,8 +178621,8 @@ _0205EEA8: .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00 .byte 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 - thumb_func_start sub_0205EEB8 -sub_0205EEB8: ; 0x0205EEB8 + thumb_func_start FUN_0205EEB8 +FUN_0205EEB8: ; 0x0205EEB8 push {r3, lr} mov r2, #0x0 cmp r1, #0x5 @@ -178640,7 +178640,7 @@ sub_0205EEB8: ; 0x0205EEB8 lsl r2, r5, #0 lsl r4, r6, #0 ldr r1, _0205EF10 ; =0x0000097F - bl sub_0205EC94 + bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EEE2: @@ -178655,8 +178655,8 @@ _0205EF10: .word 0x0000097F _0205EF14: .byte 0x81, 0x09, 0x00, 0x00, 0x82, 0x09, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00 - thumb_func_start sub_0205EF20 -sub_0205EF20: ; 0x0205EF20 + thumb_func_start FUN_0205EF20 +FUN_0205EF20: ; 0x0205EF20 push {r4-r6, lr} add r4, r1, #0x0 ldr r1, _0205F0E4 ; =0x00000132 @@ -178773,7 +178773,7 @@ _0205EFE0: .byte 0x01, 0x28, 0x65, 0xD1, 0x36, 0x4D, 0x63, 0xE0 _0205F018: ldr r1, _0205F100 ; =0x00000995 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F104 ; =0x0000042D @@ -178781,7 +178781,7 @@ _0205F018: _0205F026: ldr r1, _0205F108 ; =0x00000993 add r0, r6, #0x0 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F10C ; =0x0000044A @@ -178789,10 +178789,10 @@ _0205F026: _0205F036: ldr r1, _0205F110 ; =0x00000985 add r0, r6, #0x0 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F054 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0205F050 mov r5, #0xfe @@ -178807,7 +178807,7 @@ _0205F054: bne _0205F0E0 ldr r1, _0205F11C ; =0x00000986 add r0, r6, #0x0 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F120 ; =0x0000042B @@ -178818,10 +178818,10 @@ _0205F06A: .byte 0x2A, 0x4D, 0x2D, 0xE0 _0205F084: ldr r1, _0205F130 ; =0x00000988 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0205F09A ldr r5, _0205F134 ; =0x000003FF @@ -178831,10 +178831,10 @@ _0205F09A: b _0205F0E0 _0205F09E: ldr r1, _0205F13C ; =0x00000989 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0205F0B4 ldr r5, _0205F140 ; =0x000003EE @@ -178844,10 +178844,10 @@ _0205F0B4: b _0205F0E0 _0205F0B8: ldr r1, _0205F148 ; =0x0000098A - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 - bl sub_0201277C + bl FUN_0201277C cmp r0, #0x0 bne _0205F0CE ldr r5, _0205F140 ; =0x000003EE @@ -178858,7 +178858,7 @@ _0205F0CE: _0205F0D2: ldr r1, _0205F14C ; =0x0000098B add r0, r6, #0x0 - bl sub_0205EC94 + bl FUN_0205EC94 cmp r0, #0x1 bne _0205F0E0 ldr r5, _0205F150 ; =0x000003E9 @@ -178892,264 +178892,264 @@ _0205F148: .word 0x0000098A _0205F14C: .word 0x0000098B _0205F150: .word 0x000003E9 - thumb_func_start sub_0205F154 -sub_0205F154: ; 0x0205F154 - ldr r3, _0205F15C ; =sub_0205EC84 + thumb_func_start FUN_0205F154 +FUN_0205F154: ; 0x0205F154 + ldr r3, _0205F15C ; =FUN_0205EC84 ldr r1, _0205F160 ; =0x00000966 bx r3 nop -_0205F15C: .word sub_0205EC84 + 1 +_0205F15C: .word FUN_0205EC84 + 1 _0205F160: .word 0x00000966 - thumb_func_start sub_0205F164 -sub_0205F164: ; 0x0205F164 - ldr r3, _0205F16C ; =sub_0205EC8C + thumb_func_start FUN_0205F164 +FUN_0205F164: ; 0x0205F164 + ldr r3, _0205F16C ; =FUN_0205EC8C ldr r1, _0205F170 ; =0x00000966 bx r3 nop -_0205F16C: .word sub_0205EC8C + 1 +_0205F16C: .word FUN_0205EC8C + 1 _0205F170: .word 0x00000966 - thumb_func_start sub_0205F174 -sub_0205F174: ; 0x0205F174 - ldr r3, _0205F17C ; =sub_0205EC94 + thumb_func_start FUN_0205F174 +FUN_0205F174: ; 0x0205F174 + ldr r3, _0205F17C ; =FUN_0205EC94 ldr r1, _0205F180 ; =0x00000966 bx r3 nop -_0205F17C: .word sub_0205EC94 + 1 +_0205F17C: .word FUN_0205EC94 + 1 _0205F180: .word 0x00000966 - thumb_func_start sub_0205F184 -sub_0205F184: ; 0x0205F184 - ldr r3, _0205F18C ; =sub_0205EC94 + thumb_func_start FUN_0205F184 +FUN_0205F184: ; 0x0205F184 + ldr r3, _0205F18C ; =FUN_0205EC94 ldr r1, _0205F190 ; =0x00000978 bx r3 nop -_0205F18C: .word sub_0205EC94 + 1 +_0205F18C: .word FUN_0205EC94 + 1 _0205F190: .word 0x00000978 - thumb_func_start sub_0205F194 -sub_0205F194: ; 0x0205F194 - ldr r3, _0205F19C ; =sub_0205EC94 + thumb_func_start FUN_0205F194 +FUN_0205F194: ; 0x0205F194 + ldr r3, _0205F19C ; =FUN_0205EC94 ldr r1, _0205F1A0 ; =0x00000992 bx r3 nop -_0205F19C: .word sub_0205EC94 + 1 +_0205F19C: .word FUN_0205EC94 + 1 _0205F1A0: .word 0x00000992 - thumb_func_start sub_0205F1A4 -sub_0205F1A4: ; 0x0205F1A4 - ldr r3, _0205F1AC ; =sub_0205EC94 + thumb_func_start FUN_0205F1A4 +FUN_0205F1A4: ; 0x0205F1A4 + ldr r3, _0205F1AC ; =FUN_0205EC94 ldr r1, _0205F1B0 ; =0x0000097D bx r3 nop -_0205F1AC: .word sub_0205EC94 + 1 +_0205F1AC: .word FUN_0205EC94 + 1 _0205F1B0: .word 0x0000097D - thumb_func_start sub_0205F1B4 -sub_0205F1B4: ; 0x0205F1B4 - ldr r3, _0205F1BC ; =sub_0205EC94 + thumb_func_start FUN_0205F1B4 +FUN_0205F1B4: ; 0x0205F1B4 + ldr r3, _0205F1BC ; =FUN_0205EC94 ldr r1, _0205F1C0 ; =0x0000097E bx r3 nop -_0205F1BC: .word sub_0205EC94 + 1 +_0205F1BC: .word FUN_0205EC94 + 1 _0205F1C0: .word 0x0000097E - thumb_func_start sub_0205F1C4 -sub_0205F1C4: ; 0x0205F1C4 - ldr r3, _0205F1CC ; =sub_0205EC84 + thumb_func_start FUN_0205F1C4 +FUN_0205F1C4: ; 0x0205F1C4 + ldr r3, _0205F1CC ; =FUN_0205EC84 ldr r1, _0205F1D0 ; =0x0000097C bx r3 nop -_0205F1CC: .word sub_0205EC84 + 1 +_0205F1CC: .word FUN_0205EC84 + 1 _0205F1D0: .word 0x0000097C - thumb_func_start sub_0205F1D4 -sub_0205F1D4: ; 0x0205F1D4 - ldr r3, _0205F1DC ; =sub_0205EC8C + thumb_func_start FUN_0205F1D4 +FUN_0205F1D4: ; 0x0205F1D4 + ldr r3, _0205F1DC ; =FUN_0205EC8C ldr r1, _0205F1E0 ; =0x0000097C bx r3 nop -_0205F1DC: .word sub_0205EC8C + 1 +_0205F1DC: .word FUN_0205EC8C + 1 _0205F1E0: .word 0x0000097C - thumb_func_start sub_0205F1E4 -sub_0205F1E4: ; 0x0205F1E4 - ldr r3, _0205F1EC ; =sub_0205EC94 + thumb_func_start FUN_0205F1E4 +FUN_0205F1E4: ; 0x0205F1E4 + ldr r3, _0205F1EC ; =FUN_0205EC94 ldr r1, _0205F1F0 ; =0x0000097C bx r3 nop -_0205F1EC: .word sub_0205EC94 + 1 +_0205F1EC: .word FUN_0205EC94 + 1 _0205F1F0: .word 0x0000097C - thumb_func_start sub_0205F1F4 -sub_0205F1F4: ; 0x0205F1F4 - ldr r3, _0205F1FC ; =sub_0205EC84 + thumb_func_start FUN_0205F1F4 +FUN_0205F1F4: ; 0x0205F1F4 + ldr r3, _0205F1FC ; =FUN_0205EC84 ldr r1, _0205F200 ; =0x00000967 bx r3 nop -_0205F1FC: .word sub_0205EC84 + 1 +_0205F1FC: .word FUN_0205EC84 + 1 _0205F200: .word 0x00000967 - thumb_func_start sub_0205F204 -sub_0205F204: ; 0x0205F204 - ldr r3, _0205F20C ; =sub_0205EC8C + thumb_func_start FUN_0205F204 +FUN_0205F204: ; 0x0205F204 + ldr r3, _0205F20C ; =FUN_0205EC8C ldr r1, _0205F210 ; =0x00000967 bx r3 nop -_0205F20C: .word sub_0205EC8C + 1 +_0205F20C: .word FUN_0205EC8C + 1 _0205F210: .word 0x00000967 - thumb_func_start sub_0205F214 -sub_0205F214: ; 0x0205F214 - ldr r3, _0205F21C ; =sub_0205EC94 + thumb_func_start FUN_0205F214 +FUN_0205F214: ; 0x0205F214 + ldr r3, _0205F21C ; =FUN_0205EC94 ldr r1, _0205F220 ; =0x00000967 bx r3 nop -_0205F21C: .word sub_0205EC94 + 1 +_0205F21C: .word FUN_0205EC94 + 1 _0205F220: .word 0x00000967 - thumb_func_start sub_0205F224 -sub_0205F224: ; 0x0205F224 - ldr r3, _0205F22C ; =sub_0205EC84 + thumb_func_start FUN_0205F224 +FUN_0205F224: ; 0x0205F224 + ldr r3, _0205F22C ; =FUN_0205EC84 ldr r1, _0205F230 ; =0x00000979 bx r3 nop -_0205F22C: .word sub_0205EC84 + 1 +_0205F22C: .word FUN_0205EC84 + 1 _0205F230: .word 0x00000979 - thumb_func_start sub_0205F234 -sub_0205F234: ; 0x0205F234 - ldr r3, _0205F23C ; =sub_0205EC8C + thumb_func_start FUN_0205F234 +FUN_0205F234: ; 0x0205F234 + ldr r3, _0205F23C ; =FUN_0205EC8C ldr r1, _0205F240 ; =0x00000979 bx r3 nop -_0205F23C: .word sub_0205EC8C + 1 +_0205F23C: .word FUN_0205EC8C + 1 _0205F240: .word 0x00000979 - thumb_func_start sub_0205F244 -sub_0205F244: ; 0x0205F244 - ldr r3, _0205F24C ; =sub_0205EC94 + thumb_func_start FUN_0205F244 +FUN_0205F244: ; 0x0205F244 + ldr r3, _0205F24C ; =FUN_0205EC94 ldr r1, _0205F250 ; =0x00000979 bx r3 nop -_0205F24C: .word sub_0205EC94 + 1 +_0205F24C: .word FUN_0205EC94 + 1 _0205F250: .word 0x00000979 - thumb_func_start sub_0205F254 -sub_0205F254: ; 0x0205F254 - ldr r3, _0205F25C ; =sub_0205EC8C + thumb_func_start FUN_0205F254 +FUN_0205F254: ; 0x0205F254 + ldr r3, _0205F25C ; =FUN_0205EC8C ldr r1, _0205F260 ; =0x00000994 bx r3 nop -_0205F25C: .word sub_0205EC8C + 1 +_0205F25C: .word FUN_0205EC8C + 1 _0205F260: .word 0x00000994 - thumb_func_start sub_0205F264 -sub_0205F264: ; 0x0205F264 - ldr r3, _0205F26C ; =sub_0205EC9C + thumb_func_start FUN_0205F264 +FUN_0205F264: ; 0x0205F264 + ldr r3, _0205F26C ; =FUN_0205EC9C ldr r2, _0205F270 ; =0x00000962 bx r3 nop -_0205F26C: .word sub_0205EC9C + 1 +_0205F26C: .word FUN_0205EC9C + 1 _0205F270: .word 0x00000962 - thumb_func_start sub_0205F274 -sub_0205F274: ; 0x0205F274 - ldr r3, _0205F27C ; =sub_0205EC84 + thumb_func_start FUN_0205F274 +FUN_0205F274: ; 0x0205F274 + ldr r3, _0205F27C ; =FUN_0205EC84 ldr r1, _0205F280 ; =0x0000097A bx r3 nop -_0205F27C: .word sub_0205EC84 + 1 +_0205F27C: .word FUN_0205EC84 + 1 _0205F280: .word 0x0000097A - thumb_func_start sub_0205F284 -sub_0205F284: ; 0x0205F284 - ldr r3, _0205F28C ; =sub_0205EC8C + thumb_func_start FUN_0205F284 +FUN_0205F284: ; 0x0205F284 + ldr r3, _0205F28C ; =FUN_0205EC8C ldr r1, _0205F290 ; =0x0000097A bx r3 nop -_0205F28C: .word sub_0205EC8C + 1 +_0205F28C: .word FUN_0205EC8C + 1 _0205F290: .word 0x0000097A - thumb_func_start sub_0205F294 -sub_0205F294: ; 0x0205F294 - ldr r3, _0205F29C ; =sub_0205EC94 + thumb_func_start FUN_0205F294 +FUN_0205F294: ; 0x0205F294 + ldr r3, _0205F29C ; =FUN_0205EC94 ldr r1, _0205F2A0 ; =0x0000097A bx r3 nop -_0205F29C: .word sub_0205EC94 + 1 +_0205F29C: .word FUN_0205EC94 + 1 _0205F2A0: .word 0x0000097A - thumb_func_start sub_0205F2A4 -sub_0205F2A4: ; 0x0205F2A4 - ldr r3, _0205F2AC ; =sub_0205EC84 + thumb_func_start FUN_0205F2A4 +FUN_0205F2A4: ; 0x0205F2A4 + ldr r3, _0205F2AC ; =FUN_0205EC84 ldr r1, _0205F2B0 ; =0x0000097B bx r3 nop -_0205F2AC: .word sub_0205EC84 + 1 +_0205F2AC: .word FUN_0205EC84 + 1 _0205F2B0: .word 0x0000097B - thumb_func_start sub_0205F2B4 -sub_0205F2B4: ; 0x0205F2B4 - ldr r3, _0205F2BC ; =sub_0205EC8C + thumb_func_start FUN_0205F2B4 +FUN_0205F2B4: ; 0x0205F2B4 + ldr r3, _0205F2BC ; =FUN_0205EC8C ldr r1, _0205F2C0 ; =0x0000097B bx r3 nop -_0205F2BC: .word sub_0205EC8C + 1 +_0205F2BC: .word FUN_0205EC8C + 1 _0205F2C0: .word 0x0000097B - thumb_func_start sub_0205F2C4 -sub_0205F2C4: ; 0x0205F2C4 - ldr r3, _0205F2CC ; =sub_0205EC94 + thumb_func_start FUN_0205F2C4 +FUN_0205F2C4: ; 0x0205F2C4 + ldr r3, _0205F2CC ; =FUN_0205EC94 ldr r1, _0205F2D0 ; =0x0000097B bx r3 nop -_0205F2CC: .word sub_0205EC94 + 1 +_0205F2CC: .word FUN_0205EC94 + 1 _0205F2D0: .word 0x0000097B - thumb_func_start sub_0205F2D4 -sub_0205F2D4: ; 0x0205F2D4 - ldr r3, _0205F2DC ; =sub_0205EC9C + thumb_func_start FUN_0205F2D4 +FUN_0205F2D4: ; 0x0205F2D4 + ldr r3, _0205F2DC ; =FUN_0205EC9C ldr r2, _0205F2E0 ; =0x00000963 bx r3 nop -_0205F2DC: .word sub_0205EC9C + 1 +_0205F2DC: .word FUN_0205EC9C + 1 _0205F2E0: .word 0x00000963 - thumb_func_start sub_0205F2E4 -sub_0205F2E4: ; 0x0205F2E4 + thumb_func_start FUN_0205F2E4 +FUN_0205F2E4: ; 0x0205F2E4 push {r4-r6, lr} add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x45 blo _0205F2F4 - bl sub_02020C2C + bl FUN_02020C2C _0205F2F4: mov r2, #0x9b lsl r2, r2, #0x4 add r0, r5, #0x0 add r1, r6, #0x0 add r2, r4, r2 - bl sub_0205EC9C + bl FUN_0205EC9C pop {r4-r6, pc} - thumb_func_start sub_0205F304 -sub_0205F304: ; 0x0205F304 - ldr r3, _0205F30C ; =sub_0205EC84 + thumb_func_start FUN_0205F304 +FUN_0205F304: ; 0x0205F304 + ldr r3, _0205F30C ; =FUN_0205EC84 ldr r1, _0205F310 ; =0x0000098C bx r3 nop -_0205F30C: .word sub_0205EC84 + 1 +_0205F30C: .word FUN_0205EC84 + 1 _0205F310: .word 0x0000098C - thumb_func_start sub_0205F314 -sub_0205F314: ; 0x0205F314 + thumb_func_start FUN_0205F314 +FUN_0205F314: ; 0x0205F314 push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_02046380 + bl FUN_02046380 mov r1, #0x1 lsl r1, r1, #0xe cmp r5, r1 @@ -179158,7 +179158,7 @@ sub_0205F314: ; 0x0205F314 cmp r5, r1 bls _0205F334 _0205F32C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r5, pc} _0205F334: @@ -179172,10 +179172,10 @@ _0205F33C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205F344 -sub_0205F344: ; 0x0205F344 + thumb_func_start FUN_0205F344 +FUN_0205F344: ; 0x0205F344 push {r3, lr} - bl sub_02046380 + bl FUN_02046380 cmp r0, #0x0 bne _0205F352 mov r0, #0x0 @@ -179185,49 +179185,49 @@ _0205F352: pop {r3, pc} .balign 4 - thumb_func_start sub_0205F358 -sub_0205F358: ; 0x0205F358 - ldr r3, _0205F360 ; =sub_0205F314 + thumb_func_start FUN_0205F358 +FUN_0205F358: ; 0x0205F358 + ldr r3, _0205F360 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F364 ; =0x0000403F bx r3 .balign 4 -_0205F360: .word sub_0205F314 + 1 +_0205F360: .word FUN_0205F314 + 1 _0205F364: .word 0x0000403F - thumb_func_start sub_0205F368 -sub_0205F368: ; 0x0205F368 - ldr r3, _0205F370 ; =sub_0205F344 + thumb_func_start FUN_0205F368 +FUN_0205F368: ; 0x0205F368 + ldr r3, _0205F370 ; =FUN_0205F344 ldr r1, _0205F374 ; =0x0000403F bx r3 nop -_0205F370: .word sub_0205F344 + 1 +_0205F370: .word FUN_0205F344 + 1 _0205F374: .word 0x0000403F - thumb_func_start sub_0205F378 -sub_0205F378: ; 0x0205F378 - ldr r3, _0205F380 ; =sub_0205F314 + thumb_func_start FUN_0205F378 +FUN_0205F378: ; 0x0205F378 + ldr r3, _0205F380 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F384 ; =0x00004030 bx r3 .balign 4 -_0205F380: .word sub_0205F314 + 1 +_0205F380: .word FUN_0205F314 + 1 _0205F384: .word 0x00004030 - thumb_func_start sub_0205F388 -sub_0205F388: ; 0x0205F388 - ldr r3, _0205F390 ; =sub_0205F344 + thumb_func_start FUN_0205F388 +FUN_0205F388: ; 0x0205F388 + ldr r3, _0205F390 ; =FUN_0205F344 ldr r1, _0205F394 ; =0x00004030 bx r3 nop -_0205F390: .word sub_0205F344 + 1 +_0205F390: .word FUN_0205F344 + 1 _0205F394: .word 0x00004030 - thumb_func_start sub_0205F398 -sub_0205F398: ; 0x0205F398 + thumb_func_start FUN_0205F398 +FUN_0205F398: ; 0x0205F398 push {r3, lr} ldr r1, _0205F3B8 ; =0x00004030 - bl sub_0205F344 + bl FUN_0205F344 ldr r2, _0205F3BC ; =0x00000183 cmp r0, r2 bne _0205F3AA @@ -179245,11 +179245,11 @@ _0205F3B2: _0205F3B8: .word 0x00004030 _0205F3BC: .word 0x00000183 - thumb_func_start sub_0205F3C0 -sub_0205F3C0: ; 0x0205F3C0 + thumb_func_start FUN_0205F3C0 +FUN_0205F3C0: ; 0x0205F3C0 push {r3, lr} ldr r1, _0205F3E0 ; =0x00004030 - bl sub_0205F344 + bl FUN_0205F344 ldr r2, _0205F3E4 ; =0x00000183 cmp r0, r2 bne _0205F3D2 @@ -179267,83 +179267,83 @@ _0205F3DA: _0205F3E0: .word 0x00004030 _0205F3E4: .word 0x00000183 - thumb_func_start sub_0205F3E8 -sub_0205F3E8: ; 0x0205F3E8 - ldr r3, _0205F3F0 ; =sub_0205F344 + thumb_func_start FUN_0205F3E8 +FUN_0205F3E8: ; 0x0205F3E8 + ldr r3, _0205F3F0 ; =FUN_0205F344 ldr r1, _0205F3F4 ; =0x00004035 bx r3 nop -_0205F3F0: .word sub_0205F344 + 1 +_0205F3F0: .word FUN_0205F344 + 1 _0205F3F4: .word 0x00004035 - thumb_func_start sub_0205F3F8 -sub_0205F3F8: ; 0x0205F3F8 - ldr r3, _0205F400 ; =sub_0205F314 + thumb_func_start FUN_0205F3F8 +FUN_0205F3F8: ; 0x0205F3F8 + ldr r3, _0205F400 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F404 ; =0x00004035 bx r3 .balign 4 -_0205F400: .word sub_0205F314 + 1 +_0205F400: .word FUN_0205F314 + 1 _0205F404: .word 0x00004035 - thumb_func_start sub_0205F408 -sub_0205F408: ; 0x0205F408 + thumb_func_start FUN_0205F408 +FUN_0205F408: ; 0x0205F408 push {r4, lr} add r4, r0, #0x0 - bl sub_0205ED8C + bl FUN_0205ED8C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205F44C + bl FUN_0205F44C pop {r4, pc} .balign 4 - thumb_func_start sub_0205F41C -sub_0205F41C: ; 0x0205F41C - ldr r3, _0205F424 ; =sub_0205F344 + thumb_func_start FUN_0205F41C +FUN_0205F41C: ; 0x0205F41C + ldr r3, _0205F424 ; =FUN_0205F344 ldr r1, _0205F428 ; =0x00004033 bx r3 nop -_0205F424: .word sub_0205F344 + 1 +_0205F424: .word FUN_0205F344 + 1 _0205F428: .word 0x00004033 - thumb_func_start sub_0205F42C -sub_0205F42C: ; 0x0205F42C - ldr r3, _0205F434 ; =sub_0205F314 + thumb_func_start FUN_0205F42C +FUN_0205F42C: ; 0x0205F42C + ldr r3, _0205F434 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F438 ; =0x00004033 bx r3 .balign 4 -_0205F434: .word sub_0205F314 + 1 +_0205F434: .word FUN_0205F314 + 1 _0205F438: .word 0x00004033 - thumb_func_start sub_0205F43C -sub_0205F43C: ; 0x0205F43C - ldr r3, _0205F444 ; =sub_0205F344 + thumb_func_start FUN_0205F43C +FUN_0205F43C: ; 0x0205F43C + ldr r3, _0205F444 ; =FUN_0205F344 ldr r1, _0205F448 ; =0x00004034 bx r3 nop -_0205F444: .word sub_0205F344 + 1 +_0205F444: .word FUN_0205F344 + 1 _0205F448: .word 0x00004034 - thumb_func_start sub_0205F44C -sub_0205F44C: ; 0x0205F44C - ldr r3, _0205F454 ; =sub_0205F314 + thumb_func_start FUN_0205F44C +FUN_0205F44C: ; 0x0205F44C + ldr r3, _0205F454 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F458 ; =0x00004034 bx r3 .balign 4 -_0205F454: .word sub_0205F314 + 1 +_0205F454: .word FUN_0205F314 + 1 _0205F458: .word 0x00004034 - thumb_func_start sub_0205F45C -sub_0205F45C: ; 0x0205F45C + thumb_func_start FUN_0205F45C +FUN_0205F45C: ; 0x0205F45C push {r4, lr} add r4, r0, #0x0 bmi _0205F466 cmp r4, #0x3 blo _0205F46A _0205F466: - bl sub_02020C2C + bl FUN_02020C2C _0205F46A: ldr r0, _0205F474 ; =0x020F7430 lsl r1, r4, #0x1 @@ -179352,13 +179352,13 @@ _0205F46A: nop _0205F474: .word 0x020F7430 - thumb_func_start sub_0205F478 -sub_0205F478: ; 0x0205F478 + thumb_func_start FUN_0205F478 +FUN_0205F478: ; 0x0205F478 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F45C + bl FUN_0205F45C add r2, r0, #0x0 ldr r1, _0205F49C ; =0x00004043 lsl r2, r2, #0x10 @@ -179367,23 +179367,23 @@ sub_0205F478: ; 0x0205F478 add r0, r5, #0x0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 - bl sub_0205F314 + bl FUN_0205F314 pop {r3-r5, pc} nop _0205F49C: .word 0x00004043 - thumb_func_start sub_0205F4A0 -sub_0205F4A0: ; 0x0205F4A0 + thumb_func_start FUN_0205F4A0 +FUN_0205F4A0: ; 0x0205F4A0 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0205F4C4 ; =0x00004043 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0205F344 + bl FUN_0205F344 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F45C + bl FUN_0205F45C cmp r5, r0 bne _0205F4C0 mov r0, #0x1 @@ -179394,15 +179394,15 @@ _0205F4C0: .balign 4 _0205F4C4: .word 0x00004043 - thumb_func_start sub_0205F4C8 -sub_0205F4C8: ; 0x0205F4C8 + thumb_func_start FUN_0205F4C8 +FUN_0205F4C8: ; 0x0205F4C8 push {r4, lr} add r4, r0, #0x0 bmi _0205F4D2 cmp r4, #0x4 blt _0205F4D6 _0205F4D2: - bl sub_02020C2C + bl FUN_02020C2C _0205F4D6: ldr r0, _0205F4E0 ; =0x020F7436 lsl r1, r4, #0x1 @@ -179411,13 +179411,13 @@ _0205F4D6: nop _0205F4E0: .word 0x020F7436 - thumb_func_start sub_0205F4E4 -sub_0205F4E4: ; 0x0205F4E4 + thumb_func_start FUN_0205F4E4 +FUN_0205F4E4: ; 0x0205F4E4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F4C8 + bl FUN_0205F4C8 add r2, r0, #0x0 ldr r1, _0205F508 ; =0x00004036 lsl r2, r2, #0x10 @@ -179426,15 +179426,15 @@ sub_0205F4E4: ; 0x0205F4E4 add r0, r5, #0x0 lsr r1, r1, #0x10 lsr r2, r2, #0x10 - bl sub_0205F314 + bl FUN_0205F314 pop {r3-r5, pc} nop _0205F508: .word 0x00004036 - thumb_func_start sub_0205F50C -sub_0205F50C: ; 0x0205F50C + thumb_func_start FUN_0205F50C +FUN_0205F50C: ; 0x0205F50C ldr r2, _0205F51C ; =0x00004036 - ldr r3, _0205F520 ; =sub_0205F314 + ldr r3, _0205F520 ; =FUN_0205F314 add r1, r1, r2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 @@ -179442,20 +179442,20 @@ sub_0205F50C: ; 0x0205F50C bx r3 nop _0205F51C: .word 0x00004036 -_0205F520: .word sub_0205F314 + 1 +_0205F520: .word FUN_0205F314 + 1 - thumb_func_start sub_0205F524 -sub_0205F524: ; 0x0205F524 + thumb_func_start FUN_0205F524 +FUN_0205F524: ; 0x0205F524 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0205F548 ; =0x00004036 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0205F344 + bl FUN_0205F344 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0205F4C8 + bl FUN_0205F4C8 cmp r5, r0 bne _0205F544 mov r0, #0x1 @@ -179466,31 +179466,31 @@ _0205F544: .balign 4 _0205F548: .word 0x00004036 - thumb_func_start sub_0205F54C -sub_0205F54C: ; 0x0205F54C - ldr r3, _0205F554 ; =sub_0205F314 + thumb_func_start FUN_0205F54C +FUN_0205F54C: ; 0x0205F54C + ldr r3, _0205F554 ; =FUN_0205F314 ldr r1, _0205F558 ; =0x0000403A mov r2, #0x0 bx r3 .balign 4 -_0205F554: .word sub_0205F314 + 1 +_0205F554: .word FUN_0205F314 + 1 _0205F558: .word 0x0000403A - thumb_func_start sub_0205F55C -sub_0205F55C: ; 0x0205F55C - ldr r3, _0205F564 ; =sub_0205F344 + thumb_func_start FUN_0205F55C +FUN_0205F55C: ; 0x0205F55C + ldr r3, _0205F564 ; =FUN_0205F344 ldr r1, _0205F568 ; =0x0000403A bx r3 nop -_0205F564: .word sub_0205F344 + 1 +_0205F564: .word FUN_0205F344 + 1 _0205F568: .word 0x0000403A - thumb_func_start sub_0205F56C -sub_0205F56C: ; 0x0205F56C + thumb_func_start FUN_0205F56C +FUN_0205F56C: ; 0x0205F56C push {r4, lr} ldr r1, _0205F58C ; =0x0000403A add r4, r0, #0x0 - bl sub_0205F344 + bl FUN_0205F344 ldr r2, _0205F590 ; =0x00002710 cmp r0, r2 bhs _0205F582 @@ -179500,60 +179500,60 @@ sub_0205F56C: ; 0x0205F56C _0205F582: ldr r1, _0205F58C ; =0x0000403A add r0, r4, #0x0 - bl sub_0205F314 + bl FUN_0205F314 pop {r4, pc} .balign 4 _0205F58C: .word 0x0000403A _0205F590: .word 0x00002710 - thumb_func_start sub_0205F594 -sub_0205F594: ; 0x0205F594 - ldr r3, _0205F59C ; =sub_0205F344 + thumb_func_start FUN_0205F594 +FUN_0205F594: ; 0x0205F594 + ldr r3, _0205F59C ; =FUN_0205F344 ldr r1, _0205F5A0 ; =0x0000403B bx r3 nop -_0205F59C: .word sub_0205F344 + 1 +_0205F59C: .word FUN_0205F344 + 1 _0205F5A0: .word 0x0000403B - thumb_func_start sub_0205F5A4 -sub_0205F5A4: ; 0x0205F5A4 - ldr r3, _0205F5AC ; =sub_0205F314 + thumb_func_start FUN_0205F5A4 +FUN_0205F5A4: ; 0x0205F5A4 + ldr r3, _0205F5AC ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F5B0 ; =0x0000403B bx r3 .balign 4 -_0205F5AC: .word sub_0205F314 + 1 +_0205F5AC: .word FUN_0205F314 + 1 _0205F5B0: .word 0x0000403B - thumb_func_start sub_0205F5B4 -sub_0205F5B4: ; 0x0205F5B4 + thumb_func_start FUN_0205F5B4 +FUN_0205F5B4: ; 0x0205F5B4 push {r3-r5, lr} add r4, r1, #0x0 lsl r2, r4, #0x10 ldr r1, _0205F5D4 ; =0x0000403C lsr r2, r2, #0x10 add r5, r0, #0x0 - bl sub_0205F314 + bl FUN_0205F314 lsr r2, r4, #0x10 lsl r2, r2, #0x10 ldr r1, _0205F5D4 ; =0x0000403C add r0, r5, #0x0 lsr r2, r2, #0x10 - bl sub_0205F314 + bl FUN_0205F314 pop {r3-r5, pc} .balign 4 _0205F5D4: .word 0x0000403C - thumb_func_start sub_0205F5D8 -sub_0205F5D8: ; 0x0205F5D8 + thumb_func_start FUN_0205F5D8 +FUN_0205F5D8: ; 0x0205F5D8 push {r3-r5, lr} ldr r1, _0205F5F4 ; =0x0000403C add r5, r0, #0x0 - bl sub_0205F344 + bl FUN_0205F344 add r4, r0, #0x0 ldr r1, _0205F5F8 ; =0x0000403D add r0, r5, #0x0 - bl sub_0205F344 + bl FUN_0205F344 lsl r0, r0, #0x10 orr r0, r4 pop {r3-r5, pc} @@ -179561,138 +179561,138 @@ sub_0205F5D8: ; 0x0205F5D8 _0205F5F4: .word 0x0000403C _0205F5F8: .word 0x0000403D - thumb_func_start sub_0205F5FC -sub_0205F5FC: ; 0x0205F5FC + thumb_func_start FUN_0205F5FC +FUN_0205F5FC: ; 0x0205F5FC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r5, #0x0 orr r1, r4 - bl sub_0205F5B4 + bl FUN_0205F5B4 pop {r3-r5, pc} - thumb_func_start sub_0205F618 -sub_0205F618: ; 0x0205F618 + thumb_func_start FUN_0205F618 +FUN_0205F618: ; 0x0205F618 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0202881C - bl sub_020287A4 + bl FUN_0202881C + bl FUN_020287A4 add r2, r0, #0x0 ldr r1, _0205F640 ; =0x41C64E6D add r0, r4, #0x0 mul r2, r1 ldr r1, _0205F644 ; =0x00003039 add r1, r2, r1 - bl sub_0205F5B4 + bl FUN_0205F5B4 pop {r3-r5, pc} nop _0205F640: .word 0x41C64E6D _0205F644: .word 0x00003039 - thumb_func_start sub_0205F648 -sub_0205F648: ; 0x0205F648 - ldr r3, _0205F650 ; =sub_0205F344 + thumb_func_start FUN_0205F648 +FUN_0205F648: ; 0x0205F648 + ldr r3, _0205F650 ; =FUN_0205F344 ldr r1, _0205F654 ; =0x00004041 bx r3 nop -_0205F650: .word sub_0205F344 + 1 +_0205F650: .word FUN_0205F344 + 1 _0205F654: .word 0x00004041 - thumb_func_start sub_0205F658 -sub_0205F658: ; 0x0205F658 - ldr r3, _0205F660 ; =sub_0205F314 + thumb_func_start FUN_0205F658 +FUN_0205F658: ; 0x0205F658 + ldr r3, _0205F660 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F664 ; =0x00004041 bx r3 .balign 4 -_0205F660: .word sub_0205F314 + 1 +_0205F660: .word FUN_0205F314 + 1 _0205F664: .word 0x00004041 - thumb_func_start sub_0205F668 -sub_0205F668: ; 0x0205F668 + thumb_func_start FUN_0205F668 +FUN_0205F668: ; 0x0205F668 push {r4, lr} - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x62 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r1, #0x2 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 - bl sub_0205F658 + bl FUN_0205F658 pop {r4, pc} - thumb_func_start sub_0205F688 -sub_0205F688: ; 0x0205F688 - ldr r3, _0205F690 ; =sub_0205F344 + thumb_func_start FUN_0205F688 +FUN_0205F688: ; 0x0205F688 + ldr r3, _0205F690 ; =FUN_0205F344 ldr r1, _0205F694 ; =0x0000403E bx r3 nop -_0205F690: .word sub_0205F344 + 1 +_0205F690: .word FUN_0205F344 + 1 _0205F694: .word 0x0000403E - thumb_func_start sub_0205F698 -sub_0205F698: ; 0x0205F698 - ldr r3, _0205F6A0 ; =sub_0205F314 + thumb_func_start FUN_0205F698 +FUN_0205F698: ; 0x0205F698 + ldr r3, _0205F6A0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6A4 ; =0x0000403E bx r3 .balign 4 -_0205F6A0: .word sub_0205F314 + 1 +_0205F6A0: .word FUN_0205F314 + 1 _0205F6A4: .word 0x0000403E - thumb_func_start sub_0205F6A8 -sub_0205F6A8: ; 0x0205F6A8 - ldr r3, _0205F6B0 ; =sub_0205F344 + thumb_func_start FUN_0205F6A8 +FUN_0205F6A8: ; 0x0205F6A8 + ldr r3, _0205F6B0 ; =FUN_0205F344 ldr r1, _0205F6B4 ; =0x00004049 bx r3 nop -_0205F6B0: .word sub_0205F344 + 1 +_0205F6B0: .word FUN_0205F344 + 1 _0205F6B4: .word 0x00004049 - thumb_func_start sub_0205F6B8 -sub_0205F6B8: ; 0x0205F6B8 - ldr r3, _0205F6C0 ; =sub_0205F314 + thumb_func_start FUN_0205F6B8 +FUN_0205F6B8: ; 0x0205F6B8 + ldr r3, _0205F6C0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6C4 ; =0x00004049 bx r3 .balign 4 -_0205F6C0: .word sub_0205F314 + 1 +_0205F6C0: .word FUN_0205F314 + 1 _0205F6C4: .word 0x00004049 - thumb_func_start sub_0205F6C8 -sub_0205F6C8: ; 0x0205F6C8 - ldr r3, _0205F6D0 ; =sub_0205F344 + thumb_func_start FUN_0205F6C8 +FUN_0205F6C8: ; 0x0205F6C8 + ldr r3, _0205F6D0 ; =FUN_0205F344 ldr r1, _0205F6D4 ; =0x00004040 bx r3 nop -_0205F6D0: .word sub_0205F344 + 1 +_0205F6D0: .word FUN_0205F344 + 1 _0205F6D4: .word 0x00004040 - thumb_func_start sub_0205F6D8 -sub_0205F6D8: ; 0x0205F6D8 - ldr r3, _0205F6E0 ; =sub_0205F314 + thumb_func_start FUN_0205F6D8 +FUN_0205F6D8: ; 0x0205F6D8 + ldr r3, _0205F6E0 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F6E4 ; =0x00004040 bx r3 .balign 4 -_0205F6E0: .word sub_0205F314 + 1 +_0205F6E0: .word FUN_0205F314 + 1 _0205F6E4: .word 0x00004040 - thumb_func_start sub_0205F6E8 -sub_0205F6E8: ; 0x0205F6E8 + thumb_func_start FUN_0205F6E8 +FUN_0205F6E8: ; 0x0205F6E8 push {r4, lr} ldr r1, _0205F708 ; =0x00004042 add r4, r0, #0x0 - bl sub_0205F344 + bl FUN_0205F344 ldr r2, _0205F70C ; =0x00002710 cmp r0, r2 bhs _0205F6FE @@ -179702,124 +179702,124 @@ sub_0205F6E8: ; 0x0205F6E8 _0205F6FE: ldr r1, _0205F708 ; =0x00004042 add r0, r4, #0x0 - bl sub_0205F314 + bl FUN_0205F314 pop {r4, pc} .balign 4 _0205F708: .word 0x00004042 _0205F70C: .word 0x00002710 - thumb_func_start sub_0205F710 -sub_0205F710: ; 0x0205F710 - ldr r3, _0205F718 ; =sub_0205F344 + thumb_func_start FUN_0205F710 +FUN_0205F710: ; 0x0205F710 + ldr r3, _0205F718 ; =FUN_0205F344 ldr r1, _0205F71C ; =0x00004042 bx r3 nop -_0205F718: .word sub_0205F344 + 1 +_0205F718: .word FUN_0205F344 + 1 _0205F71C: .word 0x00004042 - thumb_func_start sub_0205F720 -sub_0205F720: ; 0x0205F720 - ldr r3, _0205F728 ; =sub_0205F344 + thumb_func_start FUN_0205F720 +FUN_0205F720: ; 0x0205F720 + ldr r3, _0205F728 ; =FUN_0205F344 ldr r1, _0205F72C ; =0x00004046 bx r3 nop -_0205F728: .word sub_0205F344 + 1 +_0205F728: .word FUN_0205F344 + 1 _0205F72C: .word 0x00004046 - thumb_func_start sub_0205F730 -sub_0205F730: ; 0x0205F730 - ldr r3, _0205F738 ; =sub_0205F314 + thumb_func_start FUN_0205F730 +FUN_0205F730: ; 0x0205F730 + ldr r3, _0205F738 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F73C ; =0x00004046 bx r3 .balign 4 -_0205F738: .word sub_0205F314 + 1 +_0205F738: .word FUN_0205F314 + 1 _0205F73C: .word 0x00004046 - thumb_func_start sub_0205F740 -sub_0205F740: ; 0x0205F740 - ldr r3, _0205F748 ; =sub_0205F344 + thumb_func_start FUN_0205F740 +FUN_0205F740: ; 0x0205F740 + ldr r3, _0205F748 ; =FUN_0205F344 ldr r1, _0205F74C ; =0x00004047 bx r3 nop -_0205F748: .word sub_0205F344 + 1 +_0205F748: .word FUN_0205F344 + 1 _0205F74C: .word 0x00004047 - thumb_func_start sub_0205F750 -sub_0205F750: ; 0x0205F750 - ldr r3, _0205F758 ; =sub_0205F314 + thumb_func_start FUN_0205F750 +FUN_0205F750: ; 0x0205F750 + ldr r3, _0205F758 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F75C ; =0x00004047 bx r3 .balign 4 -_0205F758: .word sub_0205F314 + 1 +_0205F758: .word FUN_0205F314 + 1 _0205F75C: .word 0x00004047 - thumb_func_start sub_0205F760 -sub_0205F760: ; 0x0205F760 - ldr r3, _0205F768 ; =sub_0205F344 + thumb_func_start FUN_0205F760 +FUN_0205F760: ; 0x0205F760 + ldr r3, _0205F768 ; =FUN_0205F344 ldr r1, _0205F76C ; =0x00004048 bx r3 nop -_0205F768: .word sub_0205F344 + 1 +_0205F768: .word FUN_0205F344 + 1 _0205F76C: .word 0x00004048 - thumb_func_start sub_0205F770 -sub_0205F770: ; 0x0205F770 - ldr r3, _0205F778 ; =sub_0205F314 + thumb_func_start FUN_0205F770 +FUN_0205F770: ; 0x0205F770 + ldr r3, _0205F778 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F77C ; =0x00004048 bx r3 .balign 4 -_0205F778: .word sub_0205F314 + 1 +_0205F778: .word FUN_0205F314 + 1 _0205F77C: .word 0x00004048 - thumb_func_start sub_0205F780 -sub_0205F780: ; 0x0205F780 - ldr r3, _0205F788 ; =sub_0205F344 + thumb_func_start FUN_0205F780 +FUN_0205F780: ; 0x0205F780 + ldr r3, _0205F788 ; =FUN_0205F344 ldr r1, _0205F78C ; =0x0000404A bx r3 nop -_0205F788: .word sub_0205F344 + 1 +_0205F788: .word FUN_0205F344 + 1 _0205F78C: .word 0x0000404A - thumb_func_start sub_0205F790 -sub_0205F790: ; 0x0205F790 - ldr r3, _0205F798 ; =sub_0205F314 + thumb_func_start FUN_0205F790 +FUN_0205F790: ; 0x0205F790 + ldr r3, _0205F798 ; =FUN_0205F314 add r2, r1, #0x0 ldr r1, _0205F79C ; =0x0000404A bx r3 .balign 4 -_0205F798: .word sub_0205F314 + 1 +_0205F798: .word FUN_0205F314 + 1 _0205F79C: .word 0x0000404A - thumb_func_start sub_0205F7A0 -sub_0205F7A0: ; 0x0205F7A0 + thumb_func_start FUN_0205F7A0 +FUN_0205F7A0: ; 0x0205F7A0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] ldr r0, [r0, #0xc] add r5, r1, #0x0 str r2, [sp, #0x4] - bl sub_020462AC + bl FUN_020462AC add r7, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034DCC + bl FUN_02034E30 + bl FUN_02034DCC mov r2, #0x5 str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x6 - blx sub_020DF4A4 + blx FUN_020DF4A4 ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] - bl sub_02055320 + bl FUN_02055320 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] - bl sub_0205532C + bl FUN_0205532C add r6, r0, #0x0 ldr r0, [sp, #0x0] asr r1, r4, #0x4 @@ -179831,8 +179831,8 @@ sub_0205F7A0: ; 0x0205F7A0 ldr r0, [r0, #0x28] asr r1, r1, #0x5 asr r2, r2, #0x5 - bl sub_0203451C - bl sub_02034908 + bl FUN_0203451C + bl FUN_02034908 cmp r0, #0x0 beq _0205F806 str r4, [r5, #0x0] @@ -179847,19 +179847,19 @@ _0205F806: str r0, [r5, #0x4] _0205F812: ldr r0, [sp, #0x0] - bl sub_020377AC - bl sub_020238F4 - bl sub_020239CC + bl FUN_020377AC + bl FUN_020238F4 + bl FUN_020239CC str r0, [r5, #0xc] ldr r0, [sp, #0x0] ldr r0, [r0, #0xc] - bl sub_02034E30 - bl sub_02034E0C + bl FUN_02034E30 + bl FUN_02034E0C str r0, [sp, #0x8] ldr r0, [r0, #0x0] mov r1, #0x6 add r0, r0, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 mov r6, #0x0 add r4, r5, #0x0 _0205F83E: @@ -179881,7 +179881,7 @@ _0205F85A: strh r0, [r4, #0x28] add r0, r1, #0x5 mov r1, #0x6 - blx sub_020EBC80 + blx FUN_020EBC80 add r6, r6, #0x1 add r4, #0xc cmp r6, #0x5 @@ -179892,7 +179892,7 @@ _0205F85A: _0205F872: add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0205F524 + bl FUN_0205F524 cmp r0, #0x0 beq _0205F888 mov r0, #0x1 @@ -179910,7 +179910,7 @@ _0205F892: ldrb r2, [r6, #0x0] add r0, r7, #0x0 mov r1, #0x2 - bl sub_0205F2E4 + bl FUN_0205F2E4 mov r1, #0x49 add r2, r5, r4 lsl r1, r1, #0x2 @@ -179922,7 +179922,7 @@ _0205F892: ldr r0, [sp, #0x0] ldr r2, _0205F8C4 ; =0x02105FA8 add r1, r5, #0x0 - bl sub_0205F8CC + bl FUN_0205F8CC ldr r1, _0205F8C8 ; =0x00000139 ldr r0, [sp, #0x4] strb r0, [r5, r1] @@ -179933,42 +179933,42 @@ _0205F8C0: .word 0x020F7440 _0205F8C4: .word 0x02105FA8 _0205F8C8: .word 0x00000139 - thumb_func_start sub_0205F8CC -sub_0205F8CC: ; 0x0205F8CC + thumb_func_start FUN_0205F8CC +FUN_0205F8CC: ; 0x0205F8CC push {r3-r7, lr} sub sp, #0x70 add r7, r0, #0x0 ldr r0, [r7, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_020462AC + bl FUN_020462AC str r0, [sp, #0x0] add r0, sp, #0x28 - blx sub_020D1C94 + blx FUN_020D1C94 add r0, sp, #0x28 add r1, r4, #0x0 - blx sub_020D1944 + blx FUN_020D1944 cmp r0, #0x0 bne _0205F8F8 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x70 pop {r3-r7, pc} _0205F8F8: add r0, sp, #0x28 add r1, sp, #0x24 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C cmp r0, #0x0 bge _0205F90A - bl sub_02020C2C + bl FUN_02020C2C _0205F90A: mov r0, #0xb mov r1, #0x4 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x4 add r6, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r1, [sp, #0x24] ldr r0, _0205FA28 ; =0x0000013A mov r4, #0x0 @@ -179997,7 +179997,7 @@ _0205F94C: add r0, sp, #0x28 add r1, r6, #0x0 mov r2, #0x4 - blx sub_020D180C + blx FUN_020D180C ldrb r0, [r6, #0x0] cmp r0, #0x1 beq _0205F962 @@ -180008,7 +180008,7 @@ _0205F962: ldrb r2, [r6, #0x1] ldr r0, [sp, #0x0] mov r1, #0x2 - bl sub_0205F2E4 + bl FUN_0205F2E4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e @@ -180028,7 +180028,7 @@ _0205F962: _0205F98C: ldrb r1, [r6, #0x1] add r0, r7, #0x0 - bl sub_02039528 + bl FUN_02039528 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e @@ -180055,7 +180055,7 @@ _0205F9BE: ldrb r2, [r6, #0x3] ldr r0, [sp, #0x0] mov r1, #0x2 - bl sub_0205F2E4 + bl FUN_0205F2E4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e @@ -180075,7 +180075,7 @@ _0205F9BE: _0205F9E8: ldrb r1, [r6, #0x3] add r0, r7, #0x0 - bl sub_02039528 + bl FUN_02039528 lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1e @@ -180098,35 +180098,35 @@ _0205FA0E: blt _0205F94C _0205FA16: add r0, sp, #0x28 - blx sub_020D18FC + blx FUN_020D18FC add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 pop {r3-r7, pc} nop _0205FA28: .word 0x0000013A - thumb_func_start sub_0205FA2C -sub_0205FA2C: ; 0x0205FA2C + thumb_func_start FUN_0205FA2C +FUN_0205FA2C: ; 0x0205FA2C push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r0, r2, #0x0 mov r1, #0x40 - bl sub_020169D8 + bl FUN_020169D8 ldr r6, [r7, #0xc] mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r6, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0xc] add r0, r6, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] add r0, r6, #0x0 - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x4] add r0, r4, #0x0 mov r1, #0x0 @@ -180182,7 +180182,7 @@ _0205FAAE: ldr r1, _0205FAD4 ; =0x020F96DC add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 ldr r0, [r5, #0x14] str r4, [r0, #0x0] mov r0, #0x1 @@ -180190,12 +180190,12 @@ _0205FAAE: .balign 4 _0205FAD4: .word 0x020F96DC - thumb_func_start sub_0205FAD8 -sub_0205FAD8: ; 0x0205FAD8 + thumb_func_start FUN_0205FAD8 +FUN_0205FAD8: ; 0x0205FAD8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0205FAEA mov r0, #0x1 @@ -180225,13 +180225,13 @@ _0205FB0C: add r0, #0x2c add r1, #0xe mov r2, #0x6 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 add r0, #0x22 ldrb r0, [r0, #0x0] strb r0, [r5, #0xd] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, #0x14] mov r1, #0x0 str r1, [r0, #0x0] @@ -180239,57 +180239,57 @@ _0205FB0C: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205FB34 -sub_0205FB34: ; 0x0205FB34 + thumb_func_start FUN_0205FB34 +FUN_0205FB34: ; 0x0205FB34 push {r3-r7, lr} add r7, r1, #0x0 add r6, r0, #0x0 ldr r5, [r7, #0xc] add r0, r2, #0x0 mov r1, #0x30 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x30 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_0206BB28 + bl FUN_0206BB28 str r0, [r4, #0x1c] add r0, r5, #0x0 - bl sub_02079C70 + bl FUN_02079C70 str r0, [r4, #0x2c] mov r0, #0x1 strb r0, [r4, #0x11] ldrb r0, [r6, #0xd] strb r0, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r4, #0x13] mov r0, #0x0 strh r0, [r4, #0x18] ldrb r0, [r6, #0x9] strb r0, [r4, #0x12] add r0, r5, #0x0 - bl sub_0202A918 + bl FUN_0202A918 str r0, [r4, #0x20] ldr r1, _0205FBB8 ; =0x020F7454 add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_0207C2A4 + bl FUN_0207C2A4 ldr r1, _0205FBBC ; =0x020FA6E8 add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 ldr r0, [r6, #0x14] str r4, [r0, #0x0] mov r0, #0x3 @@ -180298,12 +180298,12 @@ sub_0205FB34: ; 0x0205FB34 _0205FBB8: .word 0x020F7454 _0205FBBC: .word 0x020FA6E8 - thumb_func_start sub_0205FBC0 -sub_0205FBC0: ; 0x0205FBC0 + thumb_func_start FUN_0205FBC0 +FUN_0205FBC0: ; 0x0205FBC0 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0205FBD2 mov r0, #0x3 @@ -180313,21 +180313,21 @@ _0205FBD2: ldr r0, [r0, #0x0] ldrb r1, [r0, #0x14] strb r1, [r4, #0xd] - bl sub_02016A18 + bl FUN_02016A18 ldr r1, [r4, #0x14] mov r0, #0x0 str r0, [r1, #0x0] pop {r4, pc} .balign 4 - thumb_func_start sub_0205FBE8 -sub_0205FBE8: ; 0x0205FBE8 + thumb_func_start FUN_0205FBE8 +FUN_0205FBE8: ; 0x0205FBE8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x4 @@ -180345,7 +180345,7 @@ sub_0205FBE8: ; 0x0205FBE8 lsl r4, r6, #0 add r1, r5, #0x0 mov r2, #0xb - bl sub_0205FA2C + bl FUN_0205FA2C str r0, [r4, #0x4] b _0205FC4A _0205FC22: @@ -180357,21 +180357,21 @@ _0205FC4A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0205FC50 -sub_0205FC50: ; 0x0205FC50 + thumb_func_start FUN_0205FC50 +FUN_0205FC50: ; 0x0205FC50 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x18 - blx sub_020CE34C + blx FUN_020CE34C strb r6, [r4, #0x8] strb r7, [r4, #0x9] add r0, sp, #0x8 @@ -180383,29 +180383,29 @@ sub_0205FC50: ; 0x0205FC50 ldrb r1, [r0, #0x18] strb r1, [r4, #0xc] ldrb r0, [r0, #0x1c] - ldr r1, _0205FC98 ; =sub_0205FBE8 + ldr r1, _0205FC98 ; =FUN_0205FBE8 strb r0, [r4, #0xd] ldr r0, [sp, #0x0] str r5, [r4, #0x14] ldr r0, [r0, #0x10] - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} nop -_0205FC98: .word sub_0205FBE8 + 1 +_0205FC98: .word FUN_0205FBE8 + 1 - thumb_func_start sub_0205FC9C -sub_0205FC9C: ; 0x0205FC9C + thumb_func_start FUN_0205FC9C +FUN_0205FC9C: ; 0x0205FC9C push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_0203384C + bl FUN_0203384C cmp r0, #0x0 beq _0205FCBC ldrh r1, [r4, #0x12] ldrh r2, [r4, #0x14] add r0, r5, #0x0 - bl sub_02038790 + bl FUN_02038790 str r0, [r4, #0x8] mov r0, #0x1 pop {r3-r5, pc} @@ -180415,12 +180415,12 @@ _0205FCBC: mov r0, #0x2 pop {r3-r5, pc} - thumb_func_start sub_0205FCC4 -sub_0205FCC4: ; 0x0205FCC4 + thumb_func_start FUN_0205FCC4 +FUN_0205FCC4: ; 0x0205FCC4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0205FCD6 mov r0, #0x1 @@ -180430,19 +180430,19 @@ _0205FCD6: ldr r0, [r0, #0x20] str r0, [r4, #0x0] ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x2 pop {r4, pc} .balign 4 - thumb_func_start sub_0205FCE8 -sub_0205FCE8: ; 0x0205FCE8 + thumb_func_start FUN_0205FCE8 +FUN_0205FCE8: ; 0x0205FCE8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x0 @@ -180454,68 +180454,68 @@ sub_0205FCE8: ; 0x0205FCE8 b _0205FD34 _0205FD0A: add r1, r5, #0x0 - bl sub_0205FC9C + bl FUN_0205FC9C str r0, [r4, #0x4] b _0205FD34 _0205FD14: add r1, r5, #0x0 - bl sub_0205FCC4 + bl FUN_0205FCC4 str r0, [r4, #0x4] b _0205FD34 _0205FD1E: ldrh r1, [r4, #0x10] add r0, r5, #0x0 - bl sub_020394B8 + bl FUN_020394B8 ldr r1, [r4, #0x0] strh r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _0205FD34: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0205FD38 -sub_0205FD38: ; 0x0205FD38 + thumb_func_start FUN_0205FD38 +FUN_0205FD38: ; 0x0205FD38 push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x0] mov r0, #0xb mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x18 - blx sub_020CE34C + blx FUN_020CE34C strh r5, [r4, #0x12] strh r7, [r4, #0x14] ldr r0, [sp, #0x0] strh r6, [r4, #0x10] ldr r0, [r0, #0x10] - ldr r1, _0205FD6C ; =sub_0205FCE8 + ldr r1, _0205FD6C ; =FUN_0205FCE8 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_0205FD6C: .word sub_0205FCE8 + 1 +_0205FD6C: .word FUN_0205FCE8 + 1 - thumb_func_start sub_0205FD70 -sub_0205FD70: ; 0x0205FD70 + thumb_func_start FUN_0205FD70 +FUN_0205FD70: ; 0x0205FD70 push {r3-r7, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 mov r1, #0x1 sub r0, r1, r0 - bl sub_020316E0 + bl FUN_020316E0 add r7, r0, #0x0 bne _0205FD96 mov r0, #0x0 @@ -180523,7 +180523,7 @@ sub_0205FD70: ; 0x0205FD70 _0205FD96: ldrh r1, [r5, #0x2] add r0, r6, #0x0 - bl sub_020394B8 + bl FUN_020394B8 add r4, r0, #0x0 ldrh r0, [r5, #0x0] cmp r0, #0x0 @@ -180536,58 +180536,58 @@ _0205FD96: _0205FDB0: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02244660 + bl FUN_02244660 strh r0, [r4, #0x0] b _0205FDD2 _0205FDBC: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_022446BC + bl FUN_022446BC strh r0, [r4, #0x0] b _0205FDD2 _0205FDC8: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_022446E0 + bl FUN_022446E0 strh r0, [r4, #0x0] _0205FDD2: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_0205FDDC -sub_0205FDDC: ; 0x0205FDDC + thumb_func_start FUN_0205FDDC +FUN_0205FDDC: ; 0x0205FDDC push {r3-r7, lr} add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 mov r0, #0xb mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C strh r5, [r4, #0x0] strh r6, [r4, #0x2] ldr r0, [r7, #0x10] - ldr r1, _0205FE0C ; =sub_0205FD70 + ldr r1, _0205FE0C ; =FUN_0205FD70 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} nop -_0205FE0C: .word sub_0205FD70 + 1 +_0205FE0C: .word FUN_0205FD70 + 1 - thumb_func_start sub_0205FE10 -sub_0205FE10: ; 0x0205FE10 + thumb_func_start FUN_0205FE10 +FUN_0205FE10: ; 0x0205FE10 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x35 - bl sub_0202A150 + bl FUN_0202A150 lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x10] @@ -180598,43 +180598,43 @@ sub_0205FE10: ; 0x0205FE10 pop {r4-r7, pc} _0205FE30: ldr r0, [sp, #0x0] - bl sub_0202A8D8 + bl FUN_0202A8D8 mov r1, #0xd mov r2, #0x0 add r4, r0, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 mov r1, #0x0 lsr r7, r0, #0x18 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r6, r0, #0x18 add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] @@ -180649,17 +180649,17 @@ _0205FE30: pop {r4-r7, pc} _0205FEA2: ldr r0, [sp, #0x0] - bl sub_02026CC4 + bl FUN_02026CC4 cmp r7, #0x0 bne _0205FEDC mov r1, #0x55 - bl sub_02025D94 + bl FUN_02025D94 cmp r0, #0x0 beq _0205FEC6 add r0, r4, #0x0 mov r1, #0xd mov r2, #0x1 - bl sub_0202A578 + bl FUN_0202A578 add sp, #0x14 mov r0, #0x1 pop {r4-r7, pc} @@ -180670,7 +180670,7 @@ _0205FEC6: add r0, r4, #0x0 mov r1, #0xe mov r2, #0x1 - bl sub_0202A578 + bl FUN_0202A578 _0205FED6: add sp, #0x14 mov r0, #0x4 @@ -180686,13 +180686,13 @@ _0205FEE8: cmp r6, #0x0 bne _0205FF1C mov r1, #0x56 - bl sub_02025D94 + bl FUN_02025D94 cmp r0, #0x0 beq _0205FF06 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x1 - bl sub_0202A578 + bl FUN_0202A578 add sp, #0x14 mov r0, #0x2 pop {r4-r7, pc} @@ -180703,7 +180703,7 @@ _0205FF06: add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x1 - bl sub_0202A578 + bl FUN_0202A578 _0205FF16: add sp, #0x14 mov r0, #0x4 @@ -180719,13 +180719,13 @@ _0205FF24: pop {r4-r7, pc} _0205FF2A: mov r1, #0x57 - bl sub_02025D94 + bl FUN_02025D94 cmp r0, #0x0 beq _0205FF44 mov r1, #0x1 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_0202A578 + bl FUN_0202A578 add sp, #0x14 mov r0, #0x3 pop {r4-r7, pc} @@ -180736,21 +180736,21 @@ _0205FF44: add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x1 - bl sub_0202A578 + bl FUN_0202A578 _0205FF54: mov r0, #0x4 add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0205FF5C -sub_0205FF5C: ; 0x0205FF5C + thumb_func_start FUN_0205FF5C +FUN_0205FF5C: ; 0x0205FF5C push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x35 - bl sub_0202A150 + bl FUN_0202A150 lsl r0, r0, #0x10 lsr r7, r0, #0x10 cmp r7, #0x14 @@ -180760,43 +180760,43 @@ sub_0205FF5C: ; 0x0205FF5C pop {r4-r7, pc} _0205FF7A: add r0, r4, #0x0 - bl sub_0202A8D8 + bl FUN_0202A8D8 mov r1, #0xd mov r2, #0x0 str r0, [sp, #0x8] - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r6, r0, #0x18 mov r1, #0x0 ldr r0, [sp, #0x8] add r2, r1, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r4, r0, #0x18 ldr r0, [sp, #0x8] mov r1, #0x1 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r5, r0, #0x18 ldr r0, [sp, #0x8] mov r1, #0xe mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x4] ldr r0, [sp, #0x8] mov r1, #0x2 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] ldr r0, [sp, #0x8] mov r1, #0x3 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r6, #0x0 @@ -180863,8 +180863,8 @@ _0206003E: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02060044 -sub_02060044: ; 0x02060044 + thumb_func_start FUN_02060044 +FUN_02060044: ; 0x02060044 add r0, #0xa8 ldr r0, [r0, #0x0] ldr r2, [r1, #0x0] @@ -180882,8 +180882,8 @@ sub_02060044: ; 0x02060044 bx lr .balign 4 - thumb_func_start sub_02060064 -sub_02060064: ; 0x02060064 + thumb_func_start FUN_02060064 +FUN_02060064: ; 0x02060064 ldr r1, _0206006C ; =0x02E90EDD mul r1, r0 add r0, r1, #0x1 @@ -180891,8 +180891,8 @@ sub_02060064: ; 0x02060064 .balign 4 _0206006C: .word 0x02E90EDD - thumb_func_start sub_02060070 -sub_02060070: ; 0x02060070 + thumb_func_start FUN_02060070 +FUN_02060070: ; 0x02060070 ldr r1, _02060078 ; =0x5D588B65 mul r1, r0 add r0, r1, #0x1 @@ -180900,72 +180900,72 @@ sub_02060070: ; 0x02060070 .balign 4 _02060078: .word 0x5D588B65 - thumb_func_start sub_0206007C -sub_0206007C: ; 0x0206007C + thumb_func_start FUN_0206007C +FUN_0206007C: ; 0x0206007C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0202881C - bl sub_020287A4 - bl sub_02060070 + bl FUN_0202881C + bl FUN_020287A4 + bl FUN_02060070 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0202A8D8 + bl FUN_0202A8D8 add r1, r4, #0x0 - bl sub_0202A5CC + bl FUN_0202A5CC add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020600A0 -sub_020600A0: ; 0x020600A0 + thumb_func_start FUN_020600A0 +FUN_020600A0: ; 0x020600A0 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0202A8D8 + bl FUN_0202A8D8 add r6, r0, #0x0 - bl sub_0202A5D0 - bl sub_02060070 + bl FUN_0202A5D0 + bl FUN_02060070 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202A5CC + bl FUN_0202A5CC add r0, r4, #0x0 - bl sub_02060064 + bl FUN_02060064 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_0202A8CC + bl FUN_0202A8CC mov r1, #0xa add r2, sp, #0x0 - bl sub_0202A2C4 + bl FUN_0202A2C4 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_020600DC -sub_020600DC: ; 0x020600DC + thumb_func_start FUN_020600DC +FUN_020600DC: ; 0x020600DC push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 - bl sub_0202A8D8 + bl FUN_0202A8D8 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0202A8CC + bl FUN_0202A8CC add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0202A5D0 - bl sub_02060064 + bl FUN_0202A5D0 + bl FUN_02060064 mov r1, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_0202A240 + bl FUN_0202A240 add r1, r0, #0x0 lsl r1, r1, #0x10 add r0, r4, #0x0 lsr r1, r1, #0x10 mov r2, #0x0 - bl sub_0202A538 + bl FUN_0202A538 mov r1, #0x18 add r5, r0, #0x0 mul r5, r1 @@ -180974,24 +180974,24 @@ sub_020600DC: ; 0x020600DC ble _0206012E ldr r0, [sp, #0x0] _02060122: - bl sub_02060064 + bl FUN_02060064 add r4, r4, #0x1 str r0, [sp, #0x0] cmp r4, r5 blt _02060122 _0206012E: add r0, r6, #0x0 - bl sub_0202A8CC + bl FUN_0202A8CC mov r1, #0xa add r2, sp, #0x0 - bl sub_0202A2C4 + bl FUN_0202A2C4 ldr r0, [sp, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02060144 -sub_02060144: ; 0x02060144 + thumb_func_start FUN_02060144 +FUN_02060144: ; 0x02060144 ldr r0, [r0, #0x1c] ldr r1, [r0, #0x0] ldr r0, _02060158 ; =0x000001ED @@ -181005,41 +181005,41 @@ _02060152: nop _02060158: .word 0x000001ED - thumb_func_start sub_0206015C -sub_0206015C: ; 0x0206015C + thumb_func_start FUN_0206015C +FUN_0206015C: ; 0x0206015C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0xb - bl sub_02244DB0 + bl FUN_02244DB0 str r0, [r4, #0x0] mov r0, #0xb add r1, r5, #0x0 - bl sub_02245114 + bl FUN_02245114 str r0, [r4, #0x4] mov r0, #0x0 strb r0, [r4, #0xc] strb r0, [r4, #0xd] ldr r0, [r5, #0x10] - ldr r1, _02060190 ; =sub_02060194 + ldr r1, _02060190 ; =FUN_02060194 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_02060190: .word sub_02060194 + 1 +_02060190: .word FUN_02060194 + 1 - thumb_func_start sub_02060194 -sub_02060194: ; 0x02060194 + thumb_func_start FUN_02060194 +FUN_02060194: ; 0x02060194 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrb r0, [r4, #0xc] cmp r0, #0x8 @@ -181063,15 +181063,15 @@ _020601B0: lsl r4, r2, #0x5 add r0, r6, #0x0 mov r1, #0x1 - bl sub_0206367C + bl FUN_0206367C ldrb r0, [r4, #0xd] ldr r1, [r4, #0x4] - bl sub_02245198 + bl FUN_02245198 ldr r0, [r4, #0x4] - bl sub_022451F0 + bl FUN_022451F0 str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_0204AFC8 + bl FUN_0204AFC8 mov r0, #0x1 strb r0, [r4, #0xc] b _02060332 @@ -181105,18 +181105,18 @@ _02060338: .byte 0x79, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 .byte 0xB8, 0x48, 0x1C, 0x02 - thumb_func_start sub_02060344 -sub_02060344: ; 0x02060344 + thumb_func_start FUN_02060344 +FUN_02060344: ; 0x02060344 push {r3-r7, lr} add r5, r0, #0x0 str r1, [sp, #0x0] cmp r1, #0x0 ble _020603AE - bl sub_02029ABC - bl sub_02029ACC + bl FUN_02029ABC + bl FUN_02029ACC add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0xa @@ -181126,12 +181126,12 @@ sub_02060344: ; 0x02060344 _0206036A: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 beq _020603A4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02029AD0 + bl FUN_02029AD0 add r1, r0, #0x0 cmp r1, #0x0 ble _0206038C @@ -181142,7 +181142,7 @@ _0206036A: _0206038C: cmp r1, #0xc8 blt _02060394 - bl sub_02020C2C + bl FUN_02020C2C _02060394: mov r1, #0x0 _02060396: @@ -181152,7 +181152,7 @@ _02060396: _0206039C: add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_02029AD8 + bl FUN_02029AD8 _020603A4: add r0, r5, #0x1 lsl r0, r0, #0x18 @@ -181162,33 +181162,33 @@ _020603A4: _020603AE: pop {r3-r7, pc} - thumb_func_start sub_020603B0 -sub_020603B0: ; 0x020603B0 + thumb_func_start FUN_020603B0 +FUN_020603B0: ; 0x020603B0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0202AA38 + bl FUN_0202AA38 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02060588 + bl FUN_02060588 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020603C8 -sub_020603C8: ; 0x020603C8 + thumb_func_start FUN_020603C8 +FUN_020603C8: ; 0x020603C8 push {r3-r5, lr} add r4, r0, #0x0 mov r5, #0x0 _020603CE: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0202AA74 + bl FUN_0202AA74 cmp r0, #0x0 beq _020603E2 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020603B0 + bl FUN_020603B0 _020603E2: add r0, r5, #0x1 lsl r0, r0, #0x18 @@ -181198,37 +181198,37 @@ _020603E2: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020603F0 -sub_020603F0: ; 0x020603F0 + thumb_func_start FUN_020603F0 +FUN_020603F0: ; 0x020603F0 push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 _020603F6: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202AA74 + bl FUN_0202AA74 cmp r0, #0x0 beq _02060430 - bl sub_0201B9EC + bl FUN_0201B9EC lsl r0, r0, #0x4 lsr r6, r0, #0x10 cmp r6, #0x10 blo _02060412 - bl sub_02020C2C + bl FUN_02020C2C _02060412: cmp r6, #0x0 bne _02060420 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020603B0 + bl FUN_020603B0 b _02060430 _02060420: add r0, r5, #0x0 - bl sub_0202AA38 + bl FUN_0202AA38 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020605D8 + bl FUN_020605D8 _02060430: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -181237,13 +181237,13 @@ _02060430: blo _020603F6 pop {r4-r6, pc} - thumb_func_start sub_0206043C -sub_0206043C: ; 0x0206043C + thumb_func_start FUN_0206043C +FUN_0206043C: ; 0x0206043C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x1d blo _02060448 - bl sub_02020C2C + bl FUN_02020C2C _02060448: ldr r0, _02060450 ; =0x020F7460 lsl r1, r4, #0x2 @@ -181252,15 +181252,15 @@ _02060448: .balign 4 _02060450: .word 0x020F7460 - thumb_func_start sub_02060454 -sub_02060454: ; 0x02060454 + thumb_func_start FUN_02060454 +FUN_02060454: ; 0x02060454 push {r3-r5, lr} add r4, r0, #0x0 mov r5, #0x0 _0206045A: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0202AA74 + bl FUN_0202AA74 cmp r0, #0x0 beq _0206046A mov r0, #0x1 @@ -181274,30 +181274,30 @@ _0206046A: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02060478 -sub_02060478: ; 0x02060478 + thumb_func_start FUN_02060478 +FUN_02060478: ; 0x02060478 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02060454 + bl FUN_02060454 cmp r0, #0x0 beq _0206048E add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0202AA20 + bl FUN_0202AA20 _0206048E: pop {r3-r5, pc} - thumb_func_start sub_02060490 -sub_02060490: ; 0x02060490 + thumb_func_start FUN_02060490 +FUN_02060490: ; 0x02060490 push {r3-r7, lr} sub sp, #0x20 add r5, r1, #0x0 str r0, [sp, #0x10] - bl sub_0202A9B0 + bl FUN_0202A9B0 add r1, r5, #0x0 str r0, [sp, #0x14] - bl sub_0202AAA0 + bl FUN_0202AAA0 add r4, r0, #0x0 cmp r5, #0x0 beq _020604B4 @@ -181320,27 +181320,27 @@ _020604C2: mov r6, #0x28 b _020604D0 _020604C8: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x20 pop {r3-r7, pc} _020604D0: add r0, r4, #0x0 mov r1, #0x4 add r2, r7, #0x0 - bl sub_0202AAFC + bl FUN_0202AAFC add r0, r4, #0x0 mov r1, #0x6 add r2, r6, #0x0 - bl sub_0202AAFC + bl FUN_0202AAFC ldr r0, [sp, #0x10] - bl sub_020238F4 + bl FUN_020238F4 str r0, [sp, #0x18] mov r0, #0x4 - bl sub_020669C0 + bl FUN_020669C0 str r0, [sp, #0x1c] - bl sub_02066978 + bl FUN_02066978 ldr r0, [sp, #0x18] - bl sub_020239C0 + bl FUN_020239C0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -181351,73 +181351,73 @@ _020604D0: add r1, r7, #0x0 add r2, r6, #0x0 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_0202AAFC + bl FUN_0202AAFC add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x1 - bl sub_0202AAFC + bl FUN_0202AAFC ldr r0, [sp, #0x1c] mov r1, #0xae mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0202AAFC + bl FUN_0202AAFC mov r1, #0x0 ldr r0, [sp, #0x1c] add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x3 - bl sub_0202AAFC + bl FUN_0202AAFC ldr r0, [sp, #0x1c] mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x5 - bl sub_0202AAFC + bl FUN_0202AAFC ldr r0, [sp, #0x1c] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x14] - bl sub_0202AA38 + bl FUN_0202AA38 add r2, r0, #0x0 ldr r0, [sp, #0x14] add r1, r5, #0x0 - bl sub_02060588 + bl FUN_02060588 add sp, #0x20 pop {r3-r7, pc} .balign 4 _02060580: .word 0x000001E1 _02060584: .word 0x000001EB - thumb_func_start sub_02060588 -sub_02060588: ; 0x02060588 + thumb_func_start FUN_02060588 +FUN_02060588: ; 0x02060588 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r6, r2, #0x0 - bl sub_0202AA40 + bl FUN_0202AA40 ldr r7, _020605D0 ; =0x020F7460 lsl r0, r0, #0x2 ldr r4, [r7, r0] _0206059C: - bl sub_0201B9EC + bl FUN_0201B9EC ldr r1, _020605D4 ; =0x000008D4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x1d blo _020605B2 - bl sub_02020C2C + bl FUN_02020C2C _020605B2: lsl r0, r5, #0x18 lsr r2, r0, #0x18 @@ -181429,21 +181429,21 @@ _020605B2: beq _0206059C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] - bl sub_02060688 + bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} nop _020605D0: .word 0x020F7460 _020605D4: .word 0x000008D4 - thumb_func_start sub_020605D8 -sub_020605D8: ; 0x020605D8 + thumb_func_start FUN_020605D8 +FUN_020605D8: ; 0x020605D8 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] str r1, [sp, #0x4] add r7, r2, #0x0 - bl sub_0202AA40 + bl FUN_0202AA40 mov r1, #0xc ldr r2, _0206067C ; =0x020F74D4 mul r1, r0 @@ -181462,42 +181462,42 @@ sub_020605D8: ; 0x020605D8 ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] add r2, r7, #0x0 - bl sub_02060588 + bl FUN_02060588 add sp, #0x8 pop {r3-r7, pc} _02060612: ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] - bl sub_02060688 + bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} _0206061E: ldrh r5, [r4, #0x0] cmp r5, #0x0 bne _02060628 - bl sub_02020C2C + bl FUN_02020C2C _02060628: cmp r5, #0x1 bhi _02060630 mov r6, #0x0 b _02060658 _02060630: - bl sub_0201B9EC + bl FUN_0201B9EC add r6, r0, #0x0 ldr r0, _02060684 ; =0x0000FFFF add r1, r5, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r6, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r6, r5 blo _02060658 - bl sub_02020C2C + bl FUN_02020C2C _02060658: lsl r0, r6, #0x18 lsr r0, r0, #0x17 @@ -181512,7 +181512,7 @@ _02060658: beq _0206061E ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] - bl sub_02060688 + bl FUN_02060688 add sp, #0x8 pop {r3-r7, pc} nop @@ -181520,51 +181520,51 @@ _0206067C: .word 0x020F74D4 _02060680: .word 0x020F7460 _02060684: .word 0x0000FFFF - thumb_func_start sub_02060688 -sub_02060688: ; 0x02060688 + thumb_func_start FUN_02060688 +FUN_02060688: ; 0x02060688 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0202AAA0 + bl FUN_0202AAA0 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0202AA58 + bl FUN_0202AA58 ldr r0, [sp, #0x0] mov r1, #0x1 add r2, r7, #0x0 - bl sub_0202AAFC + bl FUN_0202AAFC pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020606B0 -sub_020606B0: ; 0x020606B0 + thumb_func_start FUN_020606B0 +FUN_020606B0: ; 0x020606B0 push {r4, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r2, r0, #0x0 ldr r1, _020606CC ; =0x020F7630 add r0, r4, #0x0 add r2, #0xc - bl sub_02046500 + bl FUN_02046500 pop {r4, pc} .balign 4 _020606CC: .word 0x020F7630 - thumb_func_start sub_020606D0 -sub_020606D0: ; 0x020606D0 + thumb_func_start FUN_020606D0 +FUN_020606D0: ; 0x020606D0 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x6 @@ -181591,11 +181591,11 @@ sub_020606D0: ; 0x020606D0 ldr r1, [r4, #0x0] ldr r2, [r4, #0x8] add r0, r6, #0x0 - bl sub_0224891C + bl FUN_0224891C ldr r1, [r4, #0x0] ldr r2, [r4, #0x8] add r0, r6, #0x0 - bl sub_022488FC + bl FUN_022488FC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -181613,8 +181613,8 @@ _0206078A: add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02060790 -sub_02060790: ; 0x02060790 + thumb_func_start FUN_02060790 +FUN_02060790: ; 0x02060790 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -181622,31 +181622,31 @@ sub_02060790: ; 0x02060790 mov r1, #0x2c add r6, r2, #0x0 str r3, [sp, #0x0] - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x2c add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x0 str r0, [r4, #0x4] str r5, [r4, #0x0] ldr r0, [sp, #0x0] str r6, [r4, #0x8] - bl sub_020669C0 + bl FUN_020669C0 str r0, [r4, #0x24] ldr r0, [sp, #0x0] - bl sub_020669C0 + bl FUN_020669C0 str r0, [r4, #0x28] - ldr r1, _020607D0 ; =sub_020606D0 + ldr r1, _020607D0 ; =FUN_020606D0 add r0, r7, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_020607D0: .word sub_020606D0 + 1 +_020607D0: .word FUN_020606D0 + 1 - thumb_func_start sub_020607D4 -sub_020607D4: ; 0x020607D4 + thumb_func_start FUN_020607D4 +FUN_020607D4: ; 0x020607D4 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 @@ -181655,7 +181655,7 @@ sub_020607D4: ; 0x020607D4 mov r1, #0x80 add r7, r2, #0x0 str r3, [sp, #0xc] - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 strb r6, [r4, #0x1] strb r7, [r4, #0x4] @@ -181682,16 +181682,16 @@ _02060802: add r1, r7, #0x0 add r2, r7, #0x0 str r7, [r4, #0x8] - bl sub_0200433C + bl FUN_0200433C cmp r6, #0x3 bne _0206085C mov r0, #0x22 str r0, [sp, #0x14] ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r1, r0, #0x0 mov r0, #0x3 str r0, [sp, #0x0] @@ -181702,7 +181702,7 @@ _02060802: str r0, [sp, #0x8] add r0, r6, #0x0 sub r3, r2, #0x4 - bl sub_0204A840 + bl FUN_0204A840 mov r0, #0x19 lsl r0, r0, #0x10 str r0, [sp, #0x10] @@ -181717,10 +181717,10 @@ _0206085C: ldr r0, _02060918 ; =0x000001C1 str r0, [sp, #0x14] ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 add r6, r0, #0x0 ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r1, r0, #0x0 mov r0, #0x6 str r0, [sp, #0x0] @@ -181731,7 +181731,7 @@ _0206085C: add r0, r6, #0x0 sub r2, r2, #0x5 mov r3, #0x2 - bl sub_0204A840 + bl FUN_0204A840 mov r0, #0x3 lsl r0, r0, #0x12 mov r7, #0x1 @@ -181744,7 +181744,7 @@ _02060892: add r0, r5, #0x0 add r2, sp, #0x18 add r3, #0x30 - bl sub_0204A8C4 + bl FUN_0204A8C4 cmp r0, #0x0 beq _020608F8 ldr r0, [sp, #0x10] @@ -181758,13 +181758,13 @@ _02060892: str r0, [r4, #0x7c] ldr r0, [r5, #0x38] add r1, #0x24 - bl sub_02055350 + bl FUN_02055350 ldr r0, [r5, #0x20] - bl sub_0201EC88 + bl FUN_0201EC88 add r0, r4, #0x0 ldr r1, [r5, #0x20] add r0, #0x24 - bl sub_0201EC68 + bl FUN_0201EC68 mov r0, #0x0 ldr r1, [r4, #0x10] mvn r0, r0 @@ -181775,19 +181775,19 @@ _02060892: mov r0, #0x1 strb r0, [r4, #0x0] add r0, r5, #0x0 - bl sub_02060BDC + bl FUN_02060BDC b _020608F0 _020608EC: mov r0, #0x0 strb r0, [r4, #0x0] _020608F0: ldr r0, _0206091C ; =0x000006DD - bl sub_020054C8 + bl FUN_020054C8 b _0206090A _020608F8: - bl sub_02020C2C + bl FUN_02020C2C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x28 pop {r3-r7, pc} _02060906: @@ -181795,46 +181795,46 @@ _02060906: strb r0, [r4, #0x0] _0206090A: ldr r0, [r5, #0x10] - ldr r1, _02060920 ; =sub_020609A0 + ldr r1, _02060920 ; =FUN_020609A0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C add sp, #0x28 pop {r3-r7, pc} .balign 4 _02060918: .word 0x000001C1 _0206091C: .word 0x000006DD -_02060920: .word sub_020609A0 + 1 +_02060920: .word FUN_020609A0 + 1 - thumb_func_start sub_02060924 -sub_02060924: ; 0x02060924 + thumb_func_start FUN_02060924 +FUN_02060924: ; 0x02060924 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x8 add r6, r2, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 str r6, [r2, #0x4] strb r4, [r2, #0x0] ldr r0, [r5, #0x10] - ldr r1, _02060944 ; =sub_02060948 - bl sub_0204640C + ldr r1, _02060944 ; =FUN_02060948 + bl FUN_0204640C pop {r4-r6, pc} .balign 4 -_02060944: .word sub_02060948 + 1 +_02060944: .word FUN_02060948 + 1 - thumb_func_start sub_02060948 -sub_02060948: ; 0x02060948 + thumb_func_start FUN_02060948 +FUN_02060948: ; 0x02060948 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_02046530 + bl FUN_02046530 add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x0 @@ -181847,18 +181847,18 @@ sub_02060948: ; 0x02060948 _02060972: add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0203888C + bl FUN_0203888C b _02060994 _0206097C: add r0, r4, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _02060994 mov r0, #0x0 pop {r4-r6, pc} _0206098A: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} _02060994: @@ -181869,15 +181869,15 @@ _02060994: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020609A0 -sub_020609A0: ; 0x020609A0 + thumb_func_start FUN_020609A0 +FUN_020609A0: ; 0x020609A0 push {r3-r6, lr} sub sp, #0xc add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldrb r1, [r4, #0x0] cmp r1, #0x7 @@ -181896,9 +181896,9 @@ sub_020609A0: ; 0x020609A0 lsl r6, r7, #0x3 lsl r2, r3, #0x4 lsl r6, r5, #0x4 - bl sub_02060C80 + bl FUN_02060C80 add r0, r4, #0x0 - bl sub_02060B0C + bl FUN_02060B0C cmp r0, #0x0 bne _020609E6 _020609E4: @@ -181934,14 +181934,14 @@ _02060B00: _02060B08: .byte 0xDE, 0x06, 0x00, 0x00 - thumb_func_start sub_02060B0C -sub_02060B0C: ; 0x02060B0C + thumb_func_start FUN_02060B0C +FUN_02060B0C: ; 0x02060B0C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 ldr r1, [r4, #0x30] add r0, sp, #0x0 - bl sub_021E7EA0 + bl FUN_021E7EA0 ldrb r0, [r4, #0x1] cmp r0, #0x3 bhi _02060B7C @@ -181970,7 +181970,7 @@ _02060B46: .byte 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x18, 0x60, 0x62, 0x0D, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x1A .byte 0x00, 0x90, 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x1A, 0x60, 0x62, 0x04, 0xE0 _02060B7C: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc mov r0, #0x1 pop {r3-r4, pc} @@ -181994,7 +181994,7 @@ _02060B86: _02060BA6: ldr r0, [r4, #0x30] add r1, sp, #0x0 - bl sub_021E7EB0 + bl FUN_021E7EB0 ldr r1, [r4, #0x14] ldr r0, [r4, #0x7c] add r1, r1, r0 @@ -182010,8 +182010,8 @@ _02060BC2: add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_02060BC8 -sub_02060BC8: ; 0x02060BC8 + thumb_func_start FUN_02060BC8 +FUN_02060BC8: ; 0x02060BC8 ldr r3, [r0, #0x0] ldr r0, [r1, #0x0] cmp r3, r0 @@ -182024,8 +182024,8 @@ _02060BD6: bx lr .balign 4 - thumb_func_start sub_02060BDC -sub_02060BDC: ; 0x02060BDC + thumb_func_start FUN_02060BDC +FUN_02060BDC: ; 0x02060BDC push {r4-r7, lr} sub sp, #0x34 add r5, r0, #0x0 @@ -182047,14 +182047,14 @@ _02060BF6: add r0, r5, #0x0 add r1, r4, #0x0 add r3, r2, #0x0 - bl sub_0204A9F0 + bl FUN_0204A9F0 cmp r0, #0x0 beq _02060C6A ldr r1, [r5, #0x2c] add r0, r4, #0x0 - bl sub_021F4BD0 + bl FUN_021F4BD0 ldr r0, [r0, #0x0] - blx sub_020BC13C + blx FUN_020BC13C ldrh r1, [r0, #0xe] add r2, sp, #0x20 mov r3, #0x0 @@ -182064,16 +182064,16 @@ _02060BF6: str r0, [sp, #0x18] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0204A9F0 + bl FUN_0204A9F0 cmp r0, #0x0 bne _02060C38 - bl sub_02020C2C + bl FUN_02020C2C _02060C38: ldr r0, [sp, #0x20] - bl sub_021E7EC8 + bl FUN_021E7EC8 str r0, [sp, #0x1c] ldr r0, [r5, #0x2c] - bl sub_021F4C88 + bl FUN_021F4C88 ldr r1, [sp, #0x1c] add r2, sp, #0x24 str r1, [sp, #0x0] @@ -182089,10 +182089,10 @@ _02060C38: ldr r0, [r5, #0x4c] ldr r1, [r5, #0x50] add r3, r4, #0x0 - bl sub_021DA464 + bl FUN_021DA464 b _02060C6E _02060C6A: - bl sub_02020C2C + bl FUN_02020C2C _02060C6E: add r0, r6, #0x1 lsl r0, r0, #0x18 @@ -182104,8 +182104,8 @@ _02060C6E: .balign 4 _02060C7C: .word 0x020F7640 - thumb_func_start sub_02060C80 -sub_02060C80: ; 0x02060C80 + thumb_func_start FUN_02060C80 +FUN_02060C80: ; 0x02060C80 push {r3, lr} ldrb r1, [r0, #0x1] cmp r1, #0x2 @@ -182142,13 +182142,13 @@ _02060CA8: str r1, [r0, #0x8] pop {r3, pc} _02060CC4: - bl sub_02020C2C + bl FUN_02020C2C _02060CC8: pop {r3, pc} .balign 4 - thumb_func_start sub_02060CCC -sub_02060CCC: ; 0x02060CCC + thumb_func_start FUN_02060CCC +FUN_02060CCC: ; 0x02060CCC push {r4-r6, lr} add r5, r0, #0x0 cmp r5, #0x0 @@ -182156,7 +182156,7 @@ sub_02060CCC: ; 0x02060CCC cmp r5, #0x5 blt _02060CDC _02060CD8: - bl sub_02020C2C + bl FUN_02020C2C _02060CDC: sub r1, r5, #0x1 ldr r6, _02060CF4 ; =0x020F767C @@ -182166,19 +182166,19 @@ _02060CDC: ldr r0, [r6, r4] cmp r0, r5 beq _02060CF0 - bl sub_02020C2C + bl FUN_02020C2C _02060CF0: add r0, r6, r4 pop {r4-r6, pc} .balign 4 _02060CF4: .word 0x020F767C - thumb_func_start sub_02060CF8 -sub_02060CF8: ; 0x02060CF8 + thumb_func_start FUN_02060CF8 +FUN_02060CF8: ; 0x02060CF8 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B6C + bl FUN_02248B6C add r4, r0, #0x0 cmp r4, #0x0 ble _02060D0E @@ -182186,7 +182186,7 @@ sub_02060CF8: ; 0x02060CF8 cmp r4, r0 blt _02060D12 _02060D0E: - bl sub_02020C2C + bl FUN_02020C2C _02060D12: sub r0, r4, #0x1 ldr r1, [r5, #0x8] @@ -182194,22 +182194,22 @@ _02060D12: add r0, r1, r0 pop {r3-r5, pc} - thumb_func_start sub_02060D1C -sub_02060D1C: ; 0x02060D1C + thumb_func_start FUN_02060D1C +FUN_02060D1C: ; 0x02060D1C push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 add r5, r3, #0x0 - bl sub_02060CCC + bl FUN_02060CCC ldrh r2, [r0, #0x4] ldr r1, [sp, #0x18] strh r2, [r1, #0x0] add r1, r5, #0x0 - bl sub_02060CF8 + bl FUN_02060CF8 ldr r4, [r0, #0x0] cmp r4, #0x0 bne _02060D3E - bl sub_02020C2C + bl FUN_02020C2C _02060D3E: add r0, r6, #0x0 add r1, r7, #0x0 @@ -182217,14 +182217,14 @@ _02060D3E: blx r4 pop {r3-r7, pc} - thumb_func_start sub_02060D48 -sub_02060D48: ; 0x02060D48 + thumb_func_start FUN_02060D48 +FUN_02060D48: ; 0x02060D48 push {r3-r5, lr} add r4, r2, #0x0 add r5, r1, #0x0 - bl sub_02060CCC + bl FUN_02060CCC add r1, r4, #0x0 - bl sub_02060CF8 + bl FUN_02060CF8 ldr r1, [r0, #0x0] cmp r1, #0x0 bne _02060D62 @@ -182242,23 +182242,23 @@ _02060D6C: blx r2 pop {r3-r5, pc} - thumb_func_start sub_02060D74 -sub_02060D74: ; 0x02060D74 + thumb_func_start FUN_02060D74 +FUN_02060D74: ; 0x02060D74 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_02022504 + bl FUN_02022504 add r1, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_0202B4B0 + bl FUN_0202B4B0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02060D90 -sub_02060D90: ; 0x02060D90 + thumb_func_start FUN_02060D90 +FUN_02060D90: ; 0x02060D90 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -182267,10 +182267,10 @@ sub_02060D90: ; 0x02060D90 mov r0, #0x40 mov r1, #0x4 str r3, [sp, #0x8] - bl sub_020219F4 + bl FUN_020219F4 add r1, r7, #0x0 add r4, r0, #0x0 - bl sub_02021E28 + bl FUN_02021E28 ldr r0, [sp, #0x24] ldr r3, [sp, #0x8] str r0, [sp, #0x0] @@ -182279,28 +182279,28 @@ sub_02060D90: ; 0x02060D90 str r0, [sp, #0x4] add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02060DCC -sub_02060DCC: ; 0x02060DCC + thumb_func_start FUN_02060DCC +FUN_02060DCC: ; 0x02060DCC push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 add r5, r0, #0x0 add r0, r6, #0x0 add r4, r1, #0x0 - bl sub_02248B5C + bl FUN_02248B5C add r7, r0, #0x0 add r0, r6, #0x0 - bl sub_02248B54 + bl FUN_02248B54 str r0, [sp, #0x8] add r0, r6, #0x0 - bl sub_02248B58 + bl FUN_02248B58 str r0, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] @@ -182308,36 +182308,36 @@ sub_02060DCC: ; 0x02060DCC add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_02060D90 + bl FUN_02060D90 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02060E04 -sub_02060E04: ; 0x02060E04 + thumb_func_start FUN_02060E04 +FUN_02060E04: ; 0x02060E04 push {r4-r6, lr} add r3, r0, #0x0 add r5, r1, #0x0 mov r0, #0x40 add r1, r3, #0x0 add r6, r2, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r6, #0x0 mov r1, #0x76 add r2, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0xb - bl sub_02021EF0 + bl FUN_02021EF0 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02060E34 -sub_02060E34: ; 0x02060E34 + thumb_func_start FUN_02060E34 +FUN_02060E34: ; 0x02060E34 push {r3-r7, lr} add r4, r1, #0x0 add r6, r2, #0x0 @@ -182345,28 +182345,28 @@ sub_02060E34: ; 0x02060E34 mov r1, #0x5 mov r2, #0x0 add r7, r3, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x6f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r6, #0x0] add r0, r5, #0x0 mov r1, #0xc mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r7, #0x0] add r0, r5, #0x0 mov r1, #0x79 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x18] strb r0, [r1, #0x0] pop {r3-r7, pc} - thumb_func_start sub_02060E70 -sub_02060E70: ; 0x02060E70 + thumb_func_start FUN_02060E70 +FUN_02060E70: ; 0x02060E70 push {r4-r6, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -182375,7 +182375,7 @@ sub_02060E70: ; 0x02060E70 mov r1, #0x4 add r2, sp, #0x8 add r6, r3, #0x0 - bl sub_0200A99C + bl FUN_0200A99C add r0, sp, #0x20 ldrb r0, [r0, #0x10] add r1, r4, #0x0 @@ -182385,13 +182385,13 @@ sub_02060E70: ; 0x02060E70 str r0, [sp, #0x4] add r0, r5, #0x0 add r3, r6, #0x0 - bl sub_02060D90 + bl FUN_02060D90 add sp, #0x20 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02060EA0 -sub_02060EA0: ; 0x02060EA0 + thumb_func_start FUN_02060EA0 +FUN_02060EA0: ; 0x02060EA0 push {r3-r5, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -182399,7 +182399,7 @@ sub_02060EA0: ; 0x02060EA0 add r0, r2, #0x0 mov r1, #0x4 add r2, sp, #0x8 - bl sub_0200A99C + bl FUN_0200A99C mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x1 @@ -182408,13 +182408,13 @@ sub_02060EA0: ; 0x02060EA0 add r1, r4, #0x0 add r2, sp, #0x8 mov r3, #0x0 - bl sub_02060D90 + bl FUN_02060D90 add sp, #0x20 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02060ECC -sub_02060ECC: ; 0x02060ECC + thumb_func_start FUN_02060ECC +FUN_02060ECC: ; 0x02060ECC push {r3-r7, lr} add r5, r1, #0x0 add r6, r0, #0x0 @@ -182423,36 +182423,36 @@ sub_02060ECC: ; 0x02060ECC mov r1, #0x4d mov r2, #0x0 add r7, r3, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r4, #0x0] ldrb r0, [r4, #0x0] cmp r0, #0x0 beq _02060F0C mov r0, #0x40 add r1, r6, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x76 add r2, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC add r0, r4, #0x0 add r1, r7, #0x0 mov r2, #0xb - bl sub_02021EF0 + bl FUN_02021EF0 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _02060F0C: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02060F10 -sub_02060F10: ; 0x02060F10 + thumb_func_start FUN_02060F10 +FUN_02060F10: ; 0x02060F10 push {r3-r7, lr} add r7, r1, #0x0 add r5, r2, #0x0 add r6, r3, #0x0 - bl sub_0202B838 + bl FUN_0202B838 add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] @@ -182462,27 +182462,27 @@ sub_02060F10: ; 0x02060F10 add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 - bl sub_02060E34 + bl FUN_02060E34 strb r5, [r4, #0x8] ldr r0, [sp, #0x18] strb r6, [r4, #0x7] strb r0, [r4, #0x9] pop {r3-r7, pc} - thumb_func_start sub_02060F3C -sub_02060F3C: ; 0x02060F3C + thumb_func_start FUN_02060F3C +FUN_02060F3C: ; 0x02060F3C push {r3-r6, lr} sub sp, #0x4 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_0202B844 + bl FUN_0202B844 add r4, r0, #0x0 mov r0, #0x1 strb r0, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x1f] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 strb r0, [r4, #0x1e] add r0, r4, #0x6 str r0, [sp, #0x0] @@ -182490,26 +182490,26 @@ sub_02060F3C: ; 0x02060F3C add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 - bl sub_02060E34 + bl FUN_02060E34 add r0, r5, #0x0 mov r1, #0x4d mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r4, #0x7] add r2, r4, #0x7 add r4, #0x8 add r0, r6, #0x0 add r1, r5, #0x0 add r3, r4, #0x0 - bl sub_02060ECC + bl FUN_02060ECC add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_02060F88 -sub_02060F88: ; 0x02060F88 + thumb_func_start FUN_02060F88 +FUN_02060F88: ; 0x02060F88 push {r4, lr} add r4, r1, #0x0 - bl sub_0202B844 + bl FUN_0202B844 mov r1, #0x2 strb r1, [r0, #0x1f] add r0, #0x20 @@ -182517,53 +182517,53 @@ sub_02060F88: ; 0x02060F88 pop {r4, pc} .balign 4 - thumb_func_start sub_02060F9C -sub_02060F9C: ; 0x02060F9C + thumb_func_start FUN_02060F9C +FUN_02060F9C: ; 0x02060F9C push {r4, lr} add r4, r1, #0x0 - bl sub_0202B844 + bl FUN_0202B844 mov r1, #0x1 strb r1, [r0, #0x1f] strh r4, [r0, #0x22] pop {r4, pc} - thumb_func_start sub_02060FAC -sub_02060FAC: ; 0x02060FAC + thumb_func_start FUN_02060FAC +FUN_02060FAC: ; 0x02060FAC push {r4, lr} add r4, r1, #0x0 - bl sub_0202B850 + bl FUN_0202B850 mov r1, #0x1 strb r1, [r0, #0x0] strb r4, [r0, #0x1] pop {r4, pc} - thumb_func_start sub_02060FBC -sub_02060FBC: ; 0x02060FBC + thumb_func_start FUN_02060FBC +FUN_02060FBC: ; 0x02060FBC push {r3-r5, lr} add r5, r1, #0x0 add r4, r2, #0x0 - bl sub_0202B85C + bl FUN_0202B85C mov r1, #0x1 strb r1, [r0, #0x0] strb r5, [r0, #0x1] strh r4, [r0, #0x2] pop {r3-r5, pc} - thumb_func_start sub_02060FD0 -sub_02060FD0: ; 0x02060FD0 + thumb_func_start FUN_02060FD0 +FUN_02060FD0: ; 0x02060FD0 push {r3, lr} - bl sub_0202B868 + bl FUN_0202B868 mov r1, #0x1 strb r1, [r0, #0x0] mov r1, #0x0 strb r1, [r0, #0x7] pop {r3, pc} - thumb_func_start sub_02060FE0 -sub_02060FE0: ; 0x02060FE0 + thumb_func_start FUN_02060FE0 +FUN_02060FE0: ; 0x02060FE0 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_0202B868 + bl FUN_0202B868 add r4, r0, #0x0 ldrb r0, [r4, #0x7] cmp r0, #0x0 @@ -182574,35 +182574,35 @@ sub_02060FE0: ; 0x02060FE0 add r1, r4, #0x2 add r2, r4, #0x4 add r3, r4, #0x5 - bl sub_02060E34 + bl FUN_02060E34 _02061000: ldrb r0, [r4, #0x7] add r0, r0, #0x1 strb r0, [r4, #0x7] pop {r3-r5, pc} - thumb_func_start sub_02061008 -sub_02061008: ; 0x02061008 + thumb_func_start FUN_02061008 +FUN_02061008: ; 0x02061008 push {r4, lr} mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x24 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_02061020 -sub_02061020: ; 0x02061020 - ldr r3, _02061024 ; =sub_02016A18 + thumb_func_start FUN_02061020 +FUN_02061020: ; 0x02061020 + ldr r3, _02061024 ; =FUN_02016A18 bx r3 .balign 4 -_02061024: .word sub_02016A18 + 1 +_02061024: .word FUN_02016A18 + 1 - thumb_func_start sub_02061028 -sub_02061028: ; 0x02061028 + thumb_func_start FUN_02061028 +FUN_02061028: ; 0x02061028 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -182611,7 +182611,7 @@ sub_02061028: ; 0x02061028 add r1, r5, #0x0 mov r2, #0x24 add r7, r3, #0x0 - blx sub_020CE1FC + blx FUN_020CE1FC str r6, [r5, #0x0] add r0, r5, #0x0 add r2, r5, #0x0 @@ -182623,16 +182623,16 @@ sub_02061028: ; 0x02061028 add r1, r5, #0x6 add r2, #0x8 add r3, #0x9 - bl sub_02060E34 + bl FUN_02060E34 add r0, r4, #0x0 mov r1, #0x9a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x22] ldrh r0, [r5, #0x22] cmp r0, #0x0 bne _0206106C - bl sub_02020C2C + bl FUN_02020C2C _0206106C: add r2, r5, #0x0 add r5, #0xc @@ -182640,12 +182640,12 @@ _0206106C: add r1, r4, #0x0 add r2, #0xb add r3, r5, #0x0 - bl sub_02060ECC + bl FUN_02060ECC pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02061080 -sub_02061080: ; 0x02061080 + thumb_func_start FUN_02061080 +FUN_02061080: ; 0x02061080 push {r3-r7, lr} sub sp, #0x28 add r7, sp, #0x0 @@ -182691,7 +182691,7 @@ _020610B0: mov r1, #0x2 mov r2, #0x1 add r3, r7, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r7, pc} _020610DE: @@ -182703,14 +182703,14 @@ _020610F0: .balign 4 _020610F4: .word 0x000003E7 - thumb_func_start sub_020610F8 -sub_020610F8: ; 0x020610F8 + thumb_func_start FUN_020610F8 +FUN_020610F8: ; 0x020610F8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0xb] cmp r0, #0x0 @@ -182718,7 +182718,7 @@ sub_020610F8: ; 0x020610F8 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x9] mov r1, #0x1 str r0, [sp, #0x0] @@ -182727,11 +182727,11 @@ sub_020610F8: ; 0x020610F8 ldrh r2, [r4, #0x6] ldrb r3, [r4, #0x8] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -182740,7 +182740,7 @@ sub_020610F8: ; 0x020610F8 ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldrb r0, [r4, #0x9] add r2, r4, #0x0 mov r1, #0x4 @@ -182750,7 +182750,7 @@ sub_020610F8: ; 0x020610F8 ldrb r3, [r4, #0x8] add r0, r5, #0x0 add r2, #0xc - bl sub_02060D90 + bl FUN_02060D90 add sp, #0x8 mov r0, #0x0 pop {r4-r6, pc} @@ -182758,7 +182758,7 @@ _02061166: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x9] mov r1, #0x1 str r0, [sp, #0x0] @@ -182767,11 +182767,11 @@ _02061166: ldrh r2, [r4, #0x6] ldrb r3, [r4, #0x8] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -182780,24 +182780,24 @@ _02061166: ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x1 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_020611A8 -sub_020611A8: ; 0x020611A8 + thumb_func_start FUN_020611A8 +FUN_020611A8: ; 0x020611A8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 @@ -182805,7 +182805,7 @@ sub_020611A8: ; 0x020611A8 ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r4, #0x0] cmp r0, #0x1 bne _020611E0 @@ -182818,24 +182818,24 @@ _020611E0: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020611E8 -sub_020611E8: ; 0x020611E8 + thumb_func_start FUN_020611E8 +FUN_020611E8: ; 0x020611E8 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x6] add r0, r4, #0x0 - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061208 -sub_02061208: ; 0x02061208 + thumb_func_start FUN_02061208 +FUN_02061208: ; 0x02061208 push {r4-r7, lr} sub sp, #0x2c add r5, r1, #0x0 @@ -182850,7 +182850,7 @@ sub_02061208: ; 0x02061208 add r1, r6, #0x0 add r2, r6, #0x2 add r3, r6, #0x3 - bl sub_02060E34 + bl FUN_02060E34 _02061228: strh r4, [r6, #0x6] add r0, r7, #0x0 @@ -182858,30 +182858,30 @@ _02061228: mov r2, #0x3 add r3, r6, #0x0 str r5, [r6, #0x8] - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r4-r7, pc} - thumb_func_start sub_0206123C -sub_0206123C: ; 0x0206123C + thumb_func_start FUN_0206123C +FUN_0206123C: ; 0x0206123C push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldr r0, [r4, #0x8] cmp r0, #0x0 beq _02061280 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200AE38 + bl FUN_0200AE38 ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] @@ -182890,7 +182890,7 @@ sub_0206123C: ; 0x0206123C ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 add sp, #0x8 mov r0, #0x4 pop {r4-r6, pc} @@ -182900,12 +182900,12 @@ _02061280: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061288 -sub_02061288: ; 0x02061288 + thumb_func_start FUN_02061288 +FUN_02061288: ; 0x02061288 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r4, #0x8] cmp r0, #0x0 @@ -182914,113 +182914,113 @@ sub_02061288: ; 0x02061288 pop {r3-r5, pc} _0206129E: ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} - thumb_func_start sub_020612AC -sub_020612AC: ; 0x020612AC + thumb_func_start FUN_020612AC +FUN_020612AC: ; 0x020612AC push {r4-r6, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_0202881C + bl FUN_0202881C add r6, r0, #0x0 mov r0, #0x0 add r1, sp, #0x0 mov r2, #0x28 - blx sub_020CE240 + blx FUN_020CE240 add r0, r6, #0x0 mov r1, #0x1 mov r2, #0x0 - bl sub_020287A8 + bl FUN_020287A8 add r1, r0, #0x0 add r0, sp, #0x0 mov r2, #0xb - bl sub_02002268 + bl FUN_02002268 add r0, r5, #0x0 mov r1, #0x2 add r2, r4, #0x0 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020612EC -sub_020612EC: ; 0x020612EC - ldr r3, _020612F4 ; =sub_020612AC + thumb_func_start FUN_020612EC +FUN_020612EC: ; 0x020612EC + ldr r3, _020612F4 ; =FUN_020612AC mov r1, #0x14 bx r3 nop -_020612F4: .word sub_020612AC + 1 +_020612F4: .word FUN_020612AC + 1 - thumb_func_start sub_020612F8 -sub_020612F8: ; 0x020612F8 - ldr r3, _02061300 ; =sub_020612AC + thumb_func_start FUN_020612F8 +FUN_020612F8: ; 0x020612F8 + ldr r3, _02061300 ; =FUN_020612AC mov r1, #0x4 bx r3 nop -_02061300: .word sub_020612AC + 1 +_02061300: .word FUN_020612AC + 1 - thumb_func_start sub_02061304 -sub_02061304: ; 0x02061304 + thumb_func_start FUN_02061304 +FUN_02061304: ; 0x02061304 push {r4-r6, lr} sub sp, #0x8 add r4, r2, #0x0 add r0, r4, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02248B58 + bl FUN_02248B58 str r0, [sp, #0x0] mov r1, #0x1 add r0, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 str r1, [sp, #0x4] - bl sub_02060D90 + bl FUN_02060D90 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02060DCC + bl FUN_02060DCC mov r0, #0x6 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206133C -sub_0206133C: ; 0x0206133C + thumb_func_start FUN_0206133C +FUN_0206133C: ; 0x0206133C push {r4-r6, lr} sub sp, #0x8 add r4, r2, #0x0 add r0, r4, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02248B58 + bl FUN_02248B58 str r0, [sp, #0x0] mov r1, #0x1 add r0, r5, #0x0 add r2, r6, #0x0 mov r3, #0x0 str r1, [sp, #0x4] - bl sub_02060D90 + bl FUN_02060D90 add r0, r5, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_02060DCC + bl FUN_02060DCC mov r0, #0x20 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061374 -sub_02061374: ; 0x02061374 + thumb_func_start FUN_02061374 +FUN_02061374: ; 0x02061374 push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 @@ -183028,43 +183028,43 @@ sub_02061374: ; 0x02061374 strh r1, [r0, #0x0] ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 add r1, sp, #0x0 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x6 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4, pc} .balign 4 - thumb_func_start sub_0206139C -sub_0206139C: ; 0x0206139C + thumb_func_start FUN_0206139C +FUN_0206139C: ; 0x0206139C push {r4-r6, lr} add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200AFF4 + bl FUN_0200AFF4 add r0, r5, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0xa pop {r4-r6, pc} - thumb_func_start sub_020613CC -sub_020613CC: ; 0x020613CC + thumb_func_start FUN_020613CC +FUN_020613CC: ; 0x020613CC push {r3-r4, lr} sub sp, #0x2c add r4, r0, #0x0 @@ -183076,38 +183076,38 @@ sub_020613CC: ; 0x020613CC add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 - bl sub_02060E34 + bl FUN_02060E34 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 add r1, sp, #0x4 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x8 add r3, sp, #0x4 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02061404 -sub_02061404: ; 0x02061404 + thumb_func_start FUN_02061404 +FUN_02061404: ; 0x02061404 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200AFF4 + bl FUN_0200AFF4 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] @@ -183116,28 +183116,28 @@ sub_02061404: ; 0x02061404 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 mov r0, #0xc add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061444 -sub_02061444: ; 0x02061444 + thumb_func_start FUN_02061444 +FUN_02061444: ; 0x02061444 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061460 -sub_02061460: ; 0x02061460 + thumb_func_start FUN_02061460 +FUN_02061460: ; 0x02061460 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -183150,33 +183150,33 @@ sub_02061460: ; 0x02061460 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 - bl sub_02060E34 + bl FUN_02060E34 add r1, sp, #0x8 mov r0, #0x4 add r1, #0x2 add r2, r4, #0x0 - bl sub_02060E04 + bl FUN_02060E04 add r0, r5, #0x0 mov r1, #0x2 mov r2, #0xa add r3, sp, #0x4 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r4-r5, pc} - thumb_func_start sub_02061498 -sub_02061498: ; 0x02061498 + thumb_func_start FUN_02061498 +FUN_02061498: ; 0x02061498 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -183185,7 +183185,7 @@ sub_02061498: ; 0x02061498 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrb r0, [r4, #0x3] mov r1, #0x2 add r2, r4, #0x6 @@ -183194,15 +183194,15 @@ sub_02061498: ; 0x02061498 str r0, [sp, #0x4] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060D90 - bl sub_0201B9EC + bl FUN_02060D90 + bl FUN_0201B9EC ldr r1, _020614F8 ; =0x00003334 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _020614F0 - bl sub_02020C2C + bl FUN_02020C2C _020614F0: add r4, #0x11 add r0, r4, #0x0 @@ -183211,24 +183211,24 @@ _020614F0: .balign 4 _020614F8: .word 0x00003334 - thumb_func_start sub_020614FC -sub_020614FC: ; 0x020614FC + thumb_func_start FUN_020614FC +FUN_020614FC: ; 0x020614FC push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x0] add r0, r4, #0x0 - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0206151C -sub_0206151C: ; 0x0206151C + thumb_func_start FUN_0206151C +FUN_0206151C: ; 0x0206151C push {r3, lr} sub sp, #0x28 add r3, sp, #0x0 @@ -183237,27 +183237,27 @@ sub_0206151C: ; 0x0206151C mov r1, #0x2 mov r2, #0xd add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3, pc} - thumb_func_start sub_02061534 -sub_02061534: ; 0x02061534 + thumb_func_start FUN_02061534 +FUN_02061534: ; 0x02061534 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200B164 + bl FUN_0200B164 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183266,21 +183266,21 @@ sub_02061534: ; 0x02061534 add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x18 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061574 -sub_02061574: ; 0x02061574 + thumb_func_start FUN_02061574 +FUN_02061574: ; 0x02061574 push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, sp, #0x0 - bl sub_02022504 - bl sub_0202B868 + bl FUN_02022504 + bl FUN_0202B868 ldrb r1, [r0, #0x7] cmp r1, #0x0 beq _020615AC @@ -183298,24 +183298,24 @@ sub_02061574: ; 0x02061574 mov r1, #0x2 strb r0, [r4, #0x5] add r0, r5, #0x0 - bl sub_02060D74 + bl FUN_02060D74 _020615AC: add sp, #0x28 pop {r3-r5, pc} - thumb_func_start sub_020615B0 -sub_020615B0: ; 0x020615B0 + thumb_func_start FUN_020615B0 +FUN_020615B0: ; 0x020615B0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -183324,7 +183324,7 @@ sub_020615B0: ; 0x020615B0 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183333,29 +183333,29 @@ sub_020615B0: ; 0x020615B0 ldrb r2, [r4, #0x5] add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x1a add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_020615F8 -sub_020615F8: ; 0x020615F8 + thumb_func_start FUN_020615F8 +FUN_020615F8: ; 0x020615F8 push {r3-r5, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r1, r0, #0x0 ldrh r1, [r1, #0x0] add r0, r4, #0x0 - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061618 -sub_02061618: ; 0x02061618 + thumb_func_start FUN_02061618 +FUN_02061618: ; 0x02061618 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -183368,30 +183368,30 @@ sub_02061618: ; 0x02061618 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 - bl sub_02060E34 + bl FUN_02060E34 add r0, sp, #0x4 strh r4, [r0, #0x6] add r0, r5, #0x0 mov r1, #0x2 mov r2, #0x11 add r3, sp, #0x4 - bl sub_0202B4B0 + bl FUN_0202B4B0 add sp, #0x2c pop {r4-r5, pc} - thumb_func_start sub_02061648 -sub_02061648: ; 0x02061648 + thumb_func_start FUN_02061648 +FUN_02061648: ; 0x02061648 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -183400,32 +183400,32 @@ sub_02061648: ; 0x02061648 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrh r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x1d add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061688 -sub_02061688: ; 0x02061688 + thumb_func_start FUN_02061688 +FUN_02061688: ; 0x02061688 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020616A4 -sub_020616A4: ; 0x020616A4 + thumb_func_start FUN_020616A4 +FUN_020616A4: ; 0x020616A4 push {r3-r5, lr} sub sp, #0x28 add r4, sp, #0x0 @@ -183438,7 +183438,7 @@ sub_020616A4: ; 0x020616A4 mov r1, #0x3 mov r2, #0x6 add r3, r5, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} _020616C4: @@ -183447,7 +183447,7 @@ _020616C4: mov r1, #0x2 mov r2, #0x12 add r3, r5, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} _020616D6: @@ -183456,28 +183456,28 @@ _020616D6: mov r1, #0x2 mov r2, #0x13 add r3, r5, #0x0 - bl sub_02060D74 + bl FUN_02060D74 _020616E4: add sp, #0x28 pop {r3-r5, pc} - thumb_func_start sub_020616E8 -sub_020616E8: ; 0x020616E8 + thumb_func_start FUN_020616E8 +FUN_020616E8: ; 0x020616E8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183486,51 +183486,51 @@ sub_020616E8: ; 0x020616E8 ldrh r2, [r4, #0x4] add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x1e add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061728 -sub_02061728: ; 0x02061728 + thumb_func_start FUN_02061728 +FUN_02061728: ; 0x02061728 push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x1f pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061750 -sub_02061750: ; 0x02061750 + thumb_func_start FUN_02061750 +FUN_02061750: ; 0x02061750 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r0, [r4, #0x0] mov r1, #0x4 sub r0, #0x95 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_020852E8 + bl FUN_020852E8 add r4, r0, #0x0 mov r1, #0x1 str r1, [sp, #0x0] @@ -183539,24 +183539,24 @@ sub_02061750: ; 0x02061750 add r0, r5, #0x0 add r2, r4, #0x0 mov r3, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x5 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02061798 -sub_02061798: ; 0x02061798 + thumb_func_start FUN_02061798 +FUN_02061798: ; 0x02061798 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 add r0, sp, #0x4 add r4, r1, #0x0 strb r2, [r0, #0x6] - bl sub_0201BA60 + bl FUN_0201BA60 mov r1, #0x3 - blx sub_020EBE8C + blx FUN_020EBE8C add r0, sp, #0x4 strb r1, [r0, #0x5] add r0, sp, #0x8 @@ -183567,33 +183567,33 @@ sub_02061798: ; 0x02061798 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 - bl sub_02060E34 + bl FUN_02060E34 add r0, r5, #0x0 mov r1, #0x2 mov r2, #0x15 add r3, sp, #0x4 - bl sub_0202B4B0 + bl FUN_0202B4B0 add sp, #0x2c pop {r4-r5, pc} .balign 4 - thumb_func_start sub_020617D8 -sub_020617D8: ; 0x020617D8 + thumb_func_start FUN_020617D8 +FUN_020617D8: ; 0x020617D8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r2, [r4, #0x6] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200B534 + bl FUN_0200B534 ldrb r0, [r4, #0x3] mov r1, #0x2 str r0, [sp, #0x0] @@ -183602,15 +183602,15 @@ sub_020617D8: ; 0x020617D8 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 - bl sub_0201B9EC + bl FUN_02060E70 + bl FUN_0201B9EC ldr r1, _02061830 ; =0x00005556 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x3 blo _02061826 - bl sub_02020C2C + bl FUN_02020C2C _02061826: add r4, #0x21 add r0, r4, #0x0 @@ -183619,119 +183619,119 @@ _02061826: nop _02061830: .word 0x00005556 - thumb_func_start sub_02061834 -sub_02061834: ; 0x02061834 + thumb_func_start FUN_02061834 +FUN_02061834: ; 0x02061834 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061850 -sub_02061850: ; 0x02061850 + thumb_func_start FUN_02061850 +FUN_02061850: ; 0x02061850 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02023924 + bl FUN_02023924 str r0, [r5, #0x0] add r0, r4, #0x0 add r1, r5, #0x4 - bl sub_0202393C + bl FUN_0202393C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061868 -sub_02061868: ; 0x02061868 + thumb_func_start FUN_02061868 +FUN_02061868: ; 0x02061868 push {r4-r6, lr} add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 - bl sub_02023924 + bl FUN_02023924 ldr r1, [r4, #0x0] cmp r1, r0 beq _02061884 - bl sub_02020C2C + bl FUN_02020C2C _02061884: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x4 - bl sub_0200ABC0 + bl FUN_0200ABC0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206189C -sub_0206189C: ; 0x0206189C + thumb_func_start FUN_0206189C +FUN_0206189C: ; 0x0206189C push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_02061850 + bl FUN_02061850 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x16 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4, pc} - thumb_func_start sub_020618B8 -sub_020618B8: ; 0x020618B8 + thumb_func_start FUN_020618B8 +FUN_020618B8: ; 0x020618B8 push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 - bl sub_02061850 + bl FUN_02061850 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x17 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4, pc} - thumb_func_start sub_020618D4 -sub_020618D4: ; 0x020618D4 + thumb_func_start FUN_020618D4 +FUN_020618D4: ; 0x020618D4 push {r3, lr} - bl sub_02061868 + bl FUN_02061868 mov r0, #0x24 pop {r3, pc} .balign 4 - thumb_func_start sub_020618E0 -sub_020618E0: ; 0x020618E0 + thumb_func_start FUN_020618E0 +FUN_020618E0: ; 0x020618E0 push {r3, lr} - bl sub_02061868 + bl FUN_02061868 mov r0, #0x25 pop {r3, pc} .balign 4 - thumb_func_start sub_020618EC -sub_020618EC: ; 0x020618EC + thumb_func_start FUN_020618EC +FUN_020618EC: ; 0x020618EC push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 mov r1, #0x6b lsl r1, r1, #0x2 mov r2, #0x1 mov r3, #0x20 - bl sub_0206EE50 + bl FUN_0206EE50 pop {r3, pc} .balign 4 - thumb_func_start sub_02061904 -sub_02061904: ; 0x02061904 + thumb_func_start FUN_02061904 +FUN_02061904: ; 0x02061904 push {r3-r6, lr} sub sp, #0x2c add r6, r0, #0x0 @@ -183746,7 +183746,7 @@ sub_02061904: ; 0x02061904 add r1, #0x2 add r2, sp, #0x8 add r3, #0x1 - bl sub_02060E34 + bl FUN_02060E34 add r0, sp, #0x4 strh r5, [r0, #0x0] strb r4, [r0, #0x7] @@ -183754,24 +183754,24 @@ sub_02061904: ; 0x02061904 mov r1, #0x3 mov r2, #0x1 add r3, sp, #0x4 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r3-r6, pc} .balign 4 - thumb_func_start sub_0206193C -sub_0206193C: ; 0x0206193C + thumb_func_start FUN_0206193C +FUN_0206193C: ; 0x0206193C push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x5] mov r1, #0x1 str r0, [sp, #0x0] @@ -183780,7 +183780,7 @@ sub_0206193C: ; 0x0206193C ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183789,7 +183789,7 @@ sub_0206193C: ; 0x0206193C add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x4 - bl sub_0200AD38 + bl FUN_0200AD38 ldrb r0, [r4, #0x7] cmp r0, #0x0 bne _0206198A @@ -183801,31 +183801,31 @@ _0206198A: add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02061990 -sub_02061990: ; 0x02061990 + thumb_func_start FUN_02061990 +FUN_02061990: ; 0x02061990 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x2] - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 bne _020619B0 mov r0, #0x0 pop {r3-r5, pc} _020619B0: ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x2 mov r2, #0x11 - bl sub_0205F2E4 + bl FUN_0205F2E4 pop {r3-r5, pc} - thumb_func_start sub_020619C0 -sub_020619C0: ; 0x020619C0 + thumb_func_start FUN_020619C0 +FUN_020619C0: ; 0x020619C0 push {r4-r5, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -183838,30 +183838,30 @@ sub_020619C0: ; 0x020619C0 add r1, sp, #0x4 add r2, #0x2 add r3, #0x3 - bl sub_02060E34 + bl FUN_02060E34 mov r1, #0x3 add r0, r5, #0x0 add r2, r1, #0x0 add r3, sp, #0x4 str r4, [sp, #0xc] - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r4-r5, pc} .balign 4 - thumb_func_start sub_020619F0 -sub_020619F0: ; 0x020619F0 + thumb_func_start FUN_020619F0 +FUN_020619F0: ; 0x020619F0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -183870,19 +183870,19 @@ sub_020619F0: ; 0x020619F0 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 mov r0, #0xfa ldr r1, [r4, #0x8] lsl r0, r0, #0x2 mul r0, r1 mov r1, #0xfe - blx sub_020EBE8C + blx FUN_020EBE8C add r0, r0, #0x5 mov r1, #0xa - blx sub_020EBE8C + blx FUN_020EBE8C mov r1, #0xa add r4, r0, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -183891,10 +183891,10 @@ sub_020619F0: ; 0x020619F0 add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 add r0, r4, #0x0 mov r1, #0xa - blx sub_020EBE8C + blx FUN_020EBE8C mov r0, #0x0 add r2, r1, #0x0 str r0, [sp, #0x0] @@ -183902,27 +183902,27 @@ sub_020619F0: ; 0x020619F0 add r0, r5, #0x0 mov r1, #0x3 str r3, [sp, #0x4] - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x2 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02061A70 -sub_02061A70: ; 0x02061A70 + thumb_func_start FUN_02061A70 +FUN_02061A70: ; 0x02061A70 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061A8C -sub_02061A8C: ; 0x02061A8C + thumb_func_start FUN_02061A8C +FUN_02061A8C: ; 0x02061A8C push {r3-r5, lr} sub sp, #0x28 mov r4, #0xfa @@ -183937,24 +183937,24 @@ sub_02061A8C: ; 0x02061A8C mov r1, #0x3 mov r2, #0x4 add r3, r5, #0x0 - bl sub_02060D74 + bl FUN_02060D74 _02061AAC: add sp, #0x28 pop {r3-r5, pc} - thumb_func_start sub_02061AB0 -sub_02061AB0: ; 0x02061AB0 + thumb_func_start FUN_02061AB0 +FUN_02061AB0: ; 0x02061AB0 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 @@ -183962,7 +183962,7 @@ sub_02061AB0: ; 0x02061AB0 ldr r2, [r4, #0x8] add r0, r5, #0x0 mov r3, #0xa - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183971,7 +183971,7 @@ sub_02061AB0: ; 0x02061AB0 add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x6 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -183980,14 +183980,14 @@ sub_02061AB0: ; 0x02061AB0 add r0, r5, #0x0 mov r1, #0x3 mov r3, #0x6 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x3 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061B0C -sub_02061B0C: ; 0x02061B0C + thumb_func_start FUN_02061B0C +FUN_02061B0C: ; 0x02061B0C push {r3, lr} sub sp, #0x28 add r3, sp, #0x0 @@ -183996,27 +183996,27 @@ sub_02061B0C: ; 0x02061B0C mov r1, #0x3 mov r2, #0x8 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3, pc} - thumb_func_start sub_02061B24 -sub_02061B24: ; 0x02061B24 + thumb_func_start FUN_02061B24 +FUN_02061B24: ; 0x02061B24 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200B1D4 + bl FUN_0200B1D4 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x1 @@ -184025,14 +184025,14 @@ sub_02061B24: ; 0x02061B24 add r0, r5, #0x0 mov r1, #0x2 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x7 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061B64 -sub_02061B64: ; 0x02061B64 + thumb_func_start FUN_02061B64 +FUN_02061B64: ; 0x02061B64 push {r3, lr} sub sp, #0x28 add r2, sp, #0x0 @@ -184042,25 +184042,25 @@ sub_02061B64: ; 0x02061B64 bls _02061B7A mov r1, #0x3 mov r2, #0x9 - bl sub_02060D74 + bl FUN_02060D74 _02061B7A: add sp, #0x28 pop {r3, pc} .balign 4 - thumb_func_start sub_02061B80 -sub_02061B80: ; 0x02061B80 + thumb_func_start FUN_02061B80 +FUN_02061B80: ; 0x02061B80 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x1 @@ -184068,34 +184068,34 @@ sub_02061B80: ; 0x02061B80 ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x8 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061BB4 -sub_02061BB4: ; 0x02061BB4 + thumb_func_start FUN_02061BB4 +FUN_02061BB4: ; 0x02061BB4 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0206F158 + bl FUN_0206F158 mov r1, #0x6b lsl r1, r1, #0x2 mov r2, #0x1 mov r3, #0x20 - bl sub_0206EE50 + bl FUN_0206EE50 pop {r3, pc} .balign 4 - thumb_func_start sub_02061BCC -sub_02061BCC: ; 0x02061BCC + thumb_func_start FUN_02061BCC +FUN_02061BCC: ; 0x02061BCC push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02022504 - bl sub_0202B85C + bl FUN_02022504 + bl FUN_0202B85C ldrh r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 @@ -184108,19 +184108,19 @@ sub_02061BCC: ; 0x02061BCC add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x2 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061C00 -sub_02061C00: ; 0x02061C00 + thumb_func_start FUN_02061C00 +FUN_02061C00: ; 0x02061C00 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 mov r1, #0x0 add r4, r0, #0x0 str r1, [sp, #0x0] @@ -184129,15 +184129,15 @@ sub_02061C00: ; 0x02061C00 ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r3, #0x4 - bl sub_0200AD38 + bl FUN_0200AD38 add r0, r5, #0x0 mov r1, #0x1 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200B518 + bl FUN_0200B518 ldrb r0, [r4, #0x1] cmp r0, #0x1 bne _02061C42 @@ -184149,26 +184149,26 @@ _02061C42: add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02061C48 -sub_02061C48: ; 0x02061C48 + thumb_func_start FUN_02061C48 +FUN_02061C48: ; 0x02061C48 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x2 mov r2, #0x11 - bl sub_0205F2E4 + bl FUN_0205F2E4 pop {r3, pc} .balign 4 - thumb_func_start sub_02061C5C -sub_02061C5C: ; 0x02061C5C + thumb_func_start FUN_02061C5C +FUN_02061C5C: ; 0x02061C5C push {r3-r6, lr} sub sp, #0x2c add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_0206BB1C - bl sub_0204A20C + bl FUN_0206BB1C + bl FUN_0204A20C add r1, sp, #0x8 add r2, sp, #0x4 add r3, sp, #0x4 @@ -184177,33 +184177,33 @@ sub_02061C5C: ; 0x02061C5C add r2, #0x2 add r3, #0x3 add r6, r0, #0x0 - bl sub_02060E34 + bl FUN_02060E34 add r2, sp, #0x8 add r3, sp, #0x8 mov r0, #0x20 add r1, r6, #0x0 add r2, #0x1 add r3, #0x2 - bl sub_02060ECC + bl FUN_02060ECC add r0, sp, #0x4 strh r4, [r0, #0x1c] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x4 add r3, sp, #0x4 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x2c pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02061CA8 -sub_02061CA8: ; 0x02061CA8 + thumb_func_start FUN_02061CA8 +FUN_02061CA8: ; 0x02061CA8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0x5] cmp r0, #0x0 @@ -184211,7 +184211,7 @@ sub_02061CA8: ; 0x02061CA8 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -184220,7 +184220,7 @@ sub_02061CA8: ; 0x02061CA8 ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrb r0, [r4, #0x3] mov r1, #0x2 add r2, r4, #0x6 @@ -184229,11 +184229,11 @@ sub_02061CA8: ; 0x02061CA8 str r0, [sp, #0x4] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060D90 + bl FUN_02060D90 ldrh r2, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x3 - bl sub_0200B518 + bl FUN_0200B518 add sp, #0x8 mov r0, #0xa pop {r4-r6, pc} @@ -184241,7 +184241,7 @@ _02061D00: add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x3] mov r1, #0x1 str r0, [sp, #0x0] @@ -184250,39 +184250,39 @@ _02061D00: ldrh r2, [r4, #0x0] ldrb r3, [r4, #0x2] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrh r2, [r4, #0x1c] add r0, r5, #0x0 mov r1, #0x3 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0xb add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061D30 -sub_02061D30: ; 0x02061D30 + thumb_func_start FUN_02061D30 +FUN_02061D30: ; 0x02061D30 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061D4C -sub_02061D4C: ; 0x02061D4C + thumb_func_start FUN_02061D4C +FUN_02061D4C: ; 0x02061D4C push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0x4] add r4, r1, #0x0 ldr r0, [r0, #0x14] - bl sub_02252538 + bl FUN_02252538 str r0, [sp, #0x0] add r0, sp, #0x0 strh r4, [r0, #0x4] @@ -184290,43 +184290,43 @@ sub_02061D4C: ; 0x02061D4C mov r1, #0x1 mov r2, #0x6 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061D74 -sub_02061D74: ; 0x02061D74 + thumb_func_start FUN_02061D74 +FUN_02061D74: ; 0x02061D74 push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldr r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200B02C + bl FUN_0200B02C ldrh r2, [r4, #0x4] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0x10 pop {r4-r6, pc} - thumb_func_start sub_02061DA4 -sub_02061DA4: ; 0x02061DA4 + thumb_func_start FUN_02061DA4 +FUN_02061DA4: ; 0x02061DA4 push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02022504 - bl sub_0202B838 + bl FUN_02022504 + bl FUN_0202B838 ldrh r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 @@ -184345,19 +184345,19 @@ sub_02061DA4: ; 0x02061DA4 add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x7 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061DE4 -sub_02061DE4: ; 0x02061DE4 + thumb_func_start FUN_02061DE4 +FUN_02061DE4: ; 0x02061DE4 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r0, r6, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldrb r0, [r4, #0x5] mov r1, #0x0 @@ -184367,19 +184367,19 @@ sub_02061DE4: ; 0x02061DE4 ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrb r0, [r4, #0x8] - bl sub_02083298 + bl FUN_02083298 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0200B2AC + bl FUN_0200B2AC ldrb r0, [r4, #0x7] - bl sub_02083268 + bl FUN_02083268 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200B278 + bl FUN_0200B278 mov r0, #0x0 str r0, [sp, #0x0] mov r3, #0x1 @@ -184387,15 +184387,15 @@ sub_02061DE4: ; 0x02061DE4 ldrb r2, [r4, #0x9] add r0, r5, #0x0 mov r1, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 add r0, r5, #0x0 mov r1, #0x4 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0xa] add r0, r5, #0x0 mov r1, #0x5 - bl sub_0200B518 + bl FUN_0200B518 ldrb r0, [r4, #0x9] cmp r0, #0x1 bne _02061E5A @@ -184407,118 +184407,118 @@ _02061E5A: add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02061E60 -sub_02061E60: ; 0x02061E60 + thumb_func_start FUN_02061E60 +FUN_02061E60: ; 0x02061E60 push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x2] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061E7C -sub_02061E7C: ; 0x02061E7C + thumb_func_start FUN_02061E7C +FUN_02061E7C: ; 0x02061E7C push {r4, lr} sub sp, #0x28 add r4, r0, #0x0 add r0, sp, #0x0 strh r1, [r0, #0x2] ldr r0, [r4, #0xc] - bl sub_02027E24 + bl FUN_02027E24 mov r1, #0x0 - bl sub_02027008 - bl sub_020275D8 + bl FUN_02027008 + bl FUN_020275D8 add r1, sp, #0x0 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x9 add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4, pc} .balign 4 - thumb_func_start sub_02061EAC -sub_02061EAC: ; 0x02061EAC + thumb_func_start FUN_02061EAC +FUN_02061EAC: ; 0x02061EAC push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrh r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_02060EA0 + bl FUN_02060EA0 ldrh r2, [r4, #0x2] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0x14 pop {r4-r6, pc} - thumb_func_start sub_02061EDC -sub_02061EDC: ; 0x02061EDC + thumb_func_start FUN_02061EDC +FUN_02061EDC: ; 0x02061EDC push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02024DA0 + bl FUN_02024DA0 ldrh r1, [r4, #0x0] - bl sub_020245F0 + bl FUN_020245F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061EF8 -sub_02061EF8: ; 0x02061EF8 + thumb_func_start FUN_02061EF8 +FUN_02061EF8: ; 0x02061EF8 push {r3, lr} sub sp, #0x28 str r1, [sp, #0x0] mov r1, #0x1 mov r2, #0xa add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3, pc} - thumb_func_start sub_02061F0C -sub_02061F0C: ; 0x02061F0C + thumb_func_start FUN_02061F0C +FUN_02061F0C: ; 0x02061F0C push {r4-r6, lr} add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldr r0, [r4, #0x0] add r0, #0x14 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02061F2C -sub_02061F2C: ; 0x02061F2C + thumb_func_start FUN_02061F2C +FUN_02061F2C: ; 0x02061F2C push {r3-r5, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02022504 - bl sub_0202B850 + bl FUN_02022504 + bl FUN_0202B850 ldrb r2, [r0, #0x0] add r1, sp, #0x0 add r3, sp, #0x0 @@ -184531,32 +184531,32 @@ sub_02061F2C: ; 0x02061F2C add r0, r5, #0x0 mov r1, #0x1 mov r2, #0xb - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02061F60 -sub_02061F60: ; 0x02061F60 + thumb_func_start FUN_02061F60 +FUN_02061F60: ; 0x02061F60 push {r3-r7, lr} add r7, r2, #0x0 add r0, r7, #0x0 add r5, r1, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r6, r0, #0x0 ldrb r4, [r6, #0x1] add r0, r5, #0x0 mov r1, #0x0 add r2, r7, #0x0 - bl sub_02060DCC + bl FUN_02060DCC add r0, r5, #0x0 mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200B628 + bl FUN_0200B628 ldrh r2, [r6, #0x2] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200B518 + bl FUN_0200B518 sub r4, #0x19 cmp r4, #0x3 bhi _02061FB8 @@ -184579,15 +184579,15 @@ _02061FB8: mov r0, #0x26 pop {r3-r7, pc} - thumb_func_start sub_02061FBC -sub_02061FBC: ; 0x02061FBC + thumb_func_start FUN_02061FBC +FUN_02061FBC: ; 0x02061FBC push {r4-r6, lr} sub sp, #0x28 add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 - bl sub_02022504 - bl sub_0202B844 + bl FUN_02022504 + bl FUN_0202B844 add r6, r0, #0x0 add r3, sp, #0x0 mov r2, #0x12 @@ -184606,23 +184606,23 @@ _02061FD4: mov r1, #0x1 mov r2, #0xd add r3, sp, #0x0 - bl sub_02060D74 + bl FUN_02060D74 add sp, #0x28 pop {r4-r6, pc} - thumb_func_start sub_02061FF8 -sub_02061FF8: ; 0x02061FF8 + thumb_func_start FUN_02061FF8 +FUN_02061FF8: ; 0x02061FF8 push {r4-r6, lr} sub sp, #0x8 add r6, r2, #0x0 add r5, r1, #0x0 add r0, r6, #0x0 - bl sub_02248B60 + bl FUN_02248B60 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 add r2, r6, #0x0 - bl sub_02060DCC + bl FUN_02060DCC ldrb r0, [r4, #0x5] mov r1, #0x1 str r0, [sp, #0x0] @@ -184631,15 +184631,15 @@ sub_02061FF8: ; 0x02061FF8 ldrh r2, [r4, #0x2] ldrb r3, [r4, #0x4] add r0, r5, #0x0 - bl sub_02060E70 + bl FUN_02060E70 ldrb r2, [r4, #0x1e] add r0, r5, #0x0 mov r1, #0x2 - bl sub_0200AE04 + bl FUN_0200AE04 ldrh r2, [r4, #0x24] add r0, r5, #0x0 mov r1, #0x5 - bl sub_0200B518 + bl FUN_0200B518 ldrb r0, [r4, #0x1f] cmp r0, #0x0 beq _0206204A @@ -184657,7 +184657,7 @@ _02062050: ldrb r2, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x3 - bl sub_0200B660 + bl FUN_0200B660 add sp, #0x8 mov r0, #0x2c pop {r4-r6, pc} @@ -184665,7 +184665,7 @@ _02062062: ldrh r2, [r4, #0x22] add r0, r5, #0x0 mov r1, #0x3 - bl sub_0200AE38 + bl FUN_0200AE38 add sp, #0x8 mov r0, #0x2e pop {r4-r6, pc} @@ -184674,8 +184674,8 @@ _02062072: add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02062078 -sub_02062078: ; 0x02062078 + thumb_func_start FUN_02062078 +FUN_02062078: ; 0x02062078 push {r3-r7, lr} mov r6, #0x0 ldr r5, _0206209C ; =0x020F7650 @@ -184684,7 +184684,7 @@ sub_02062078: ; 0x02062078 _02062082: ldrb r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_02028828 + bl FUN_02028828 cmp r0, #0x0 beq _02062090 add r4, r4, #0x1 @@ -184698,26 +184698,26 @@ _02062090: .balign 4 _0206209C: .word 0x020F7650 - thumb_func_start sub_020620A0 -sub_020620A0: ; 0x020620A0 + thumb_func_start FUN_020620A0 +FUN_020620A0: ; 0x020620A0 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x4] ldr r0, [r0, #0xc] str r1, [sp, #0x8] - bl sub_0202881C + bl FUN_0202881C add r7, r0, #0x0 - bl sub_02062078 + bl FUN_02062078 add r4, r0, #0x0 cmp r4, #0x0 bgt _020620BE - bl sub_02020C2C + bl FUN_02020C2C _020620BE: cmp r4, #0x1 ble _020620D0 - bl sub_0201BA60 + bl FUN_0201BA60 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C add r5, r1, #0x0 b _020620D2 _020620D0: @@ -184728,7 +184728,7 @@ _020620D2: _020620D6: ldrb r1, [r4, #0x0] add r0, r7, #0x0 - bl sub_02028828 + bl FUN_02028828 cmp r0, #0x0 beq _020620F0 cmp r5, #0x0 @@ -184747,17 +184747,17 @@ _020620F0: _020620F8: cmp r5, #0x0 beq _02062100 - bl sub_02020C2C + bl FUN_02020C2C _02062100: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x11 blo _02062118 - bl sub_02020C2C + bl FUN_02020C2C _02062118: cmp r4, #0x9 blt _0206211E @@ -184770,7 +184770,7 @@ _0206211E: ldr r1, [r1, #0xc] ldr r2, [sp, #0xc] mov r3, #0x0 - bl sub_0200B708 + bl FUN_0200B708 mov r0, #0x0 str r0, [sp, #0x0] ldr r1, [sp, #0x4] @@ -184778,23 +184778,23 @@ _0206211E: ldr r1, [r1, #0xc] ldr r2, [sp, #0xc] mov r3, #0x1 - bl sub_0200B708 + bl FUN_0200B708 ldr r0, [sp, #0x8] mov r1, #0x2 add r2, r4, #0x0 - bl sub_0200AF18 + bl FUN_0200AF18 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} nop _02062154: .word 0x020F7650 - thumb_func_start sub_02062158 -sub_02062158: ; 0x02062158 + thumb_func_start FUN_02062158 +FUN_02062158: ; 0x02062158 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0202881C - bl sub_02062078 + bl FUN_0202881C + bl FUN_02062078 cmp r0, #0x0 beq _0206216C mov r0, #0x1 @@ -184803,33 +184803,33 @@ _0206216C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02062170 -sub_02062170: ; 0x02062170 + thumb_func_start FUN_02062170 +FUN_02062170: ; 0x02062170 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC ldr r1, _02062234 ; =0x00003334 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x5 blo _0206218C - bl sub_02020C2C + bl FUN_02020C2C _0206218C: ldr r0, _02062238 ; =0x02105FBC lsl r1, r4, #0x1 ldrh r5, [r0, r1] add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02034FE4 + bl FUN_02034FE4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02034824 + bl FUN_02034824 add r2, r0, #0x0 add r0, r7, #0x0 mov r1, #0x0 - bl sub_0200AFF4 + bl FUN_0200AFF4 cmp r4, #0xb bhi _0206222C add r0, r4, r4 @@ -184850,12 +184850,12 @@ _0206218C: lsl r6, r5, #0x1 lsl r6, r5, #0x1 lsl r2, r5, #0x1 - bl sub_0201B9EC + bl FUN_0201B9EC lsl r0, r0, #0x2 lsr r4, r0, #0x10 cmp r4, #0x4 blo _020621E4 - bl sub_02020C2C + bl FUN_02020C2C _020621E4: cmp r4, #0x3 bhi _0206220C @@ -184880,58 +184880,58 @@ _02062210: .byte 0x06, 0x20, 0xF8, 0xBD, 0x07, 0x20, 0xF8, 0xBD, 0x08, 0x20, 0xF8, 0xBD, 0x09, 0x20, 0xF8, 0xBD .byte 0x0A, 0x20, 0xF8, 0xBD, 0x0B, 0x20, 0xF8, 0xBD, 0x0C, 0x20, 0xF8, 0xBD _0206222C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x1 pop {r3-r7, pc} .balign 4 _02062234: .word 0x00003334 _02062238: .word 0x02105FBC - thumb_func_start sub_0206223C -sub_0206223C: ; 0x0206223C + thumb_func_start FUN_0206223C +FUN_0206223C: ; 0x0206223C mov r0, #0x1 bx lr - thumb_func_start sub_02062240 -sub_02062240: ; 0x02062240 + thumb_func_start FUN_02062240 +FUN_02062240: ; 0x02062240 push {r3-r4, lr} sub sp, #0x4 ldr r0, [r0, #0xc] add r4, r1, #0x0 - bl sub_0202A9B0 + bl FUN_0202A9B0 mov r1, #0x2 - bl sub_0202A990 + bl FUN_0202A990 add r1, sp, #0x0 add r1, #0x2 add r2, sp, #0x0 - bl sub_02245910 + bl FUN_02245910 add r0, sp, #0x0 ldrh r0, [r0, #0x2] - bl sub_02034824 + bl FUN_02034824 add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200AFF4 + bl FUN_0200AFF4 add r2, sp, #0x0 ldrh r2, [r2, #0x0] add r0, r4, #0x0 mov r1, #0x1 - bl sub_02060EA0 + bl FUN_02060EA0 mov r0, #0x1c add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02062280 -sub_02062280: ; 0x02062280 + thumb_func_start FUN_02062280 +FUN_02062280: ; 0x02062280 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0202A9B0 - bl sub_0202AA14 + bl FUN_0202A9B0 + bl FUN_0202AA14 pop {r3, pc} .balign 4 - thumb_func_start sub_02062290 -sub_02062290: ; 0x02062290 + thumb_func_start FUN_02062290 +FUN_02062290: ; 0x02062290 push {r3-r4} ldr r4, _020622BC ; =0x020F78A4 mov r3, #0x0 @@ -184960,33 +184960,33 @@ _020622AE: _020622BC: .word 0x020F78A4 _020622C0: .word 0x020F78A6 - thumb_func_start sub_020622C4 -sub_020622C4: ; 0x020622C4 + thumb_func_start FUN_020622C4 +FUN_020622C4: ; 0x020622C4 push {r4-r6, lr} add r6, r1, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x11 blo _020622E0 - bl sub_02020C2C + bl FUN_02020C2C _020622E0: cmp r5, #0x9 blt _020622E6 add r5, r5, #0x1 _020622E6: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0xf1 lsl r1, r1, #0x4 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r4, #0x11 blo _020622FE - bl sub_02020C2C + bl FUN_02020C2C _020622FE: cmp r4, #0x9 blt _02062304 @@ -184995,14 +184995,14 @@ _02062304: add r0, r6, #0x0 mov r1, #0x0 add r2, r5, #0x0 - bl sub_0200AF18 + bl FUN_0200AF18 add r0, r6, #0x0 mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200AF18 + bl FUN_0200AF18 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02062290 + bl FUN_02062290 cmp r0, #0x3 bhi _0206233C add r0, r0, r0 @@ -185021,27 +185021,27 @@ _0206233C: mov r0, #0x1f pop {r4-r6, pc} - thumb_func_start sub_02062340 -sub_02062340: ; 0x02062340 + thumb_func_start FUN_02062340 +FUN_02062340: ; 0x02062340 mov r0, #0x20 pop {r4-r6, pc} - thumb_func_start sub_02062344 -sub_02062344: ; 0x02062344 + thumb_func_start FUN_02062344 +FUN_02062344: ; 0x02062344 mov r0, #0x21 pop {r4-r6, pc} - thumb_func_start sub_02062348 -sub_02062348: ; 0x02062348 + thumb_func_start FUN_02062348 +FUN_02062348: ; 0x02062348 mov r0, #0x1 bx lr - thumb_func_start sub_0206234C -sub_0206234C: ; 0x0206234C + thumb_func_start FUN_0206234C +FUN_0206234C: ; 0x0206234C push {r3-r7, lr} sub sp, #0x88 ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC ldr r4, _020623E8 ; =0x020F7658 add r7, r0, #0x0 mov r6, #0x0 @@ -185050,7 +185050,7 @@ _0206235E: ldrh r2, [r4, #0x0] add r0, r7, #0x0 mov r1, #0x2 - bl sub_0205F2E4 + bl FUN_0205F2E4 strb r0, [r5, #0x0] add r6, r6, #0x1 add r4, r4, #0x2 @@ -185081,7 +185081,7 @@ _02062392: lsl r0, r4, #0x10 lsr r0, r0, #0x10 bne _020623A4 - bl sub_02020C2C + bl FUN_02020C2C _020623A4: lsl r0, r4, #0x10 lsr r0, r0, #0x10 @@ -185090,25 +185090,25 @@ _020623A4: mov r5, #0x0 b _020623DE _020623B0: - bl sub_0201B9EC + bl FUN_0201B9EC add r5, r0, #0x0 lsl r1, r4, #0x10 ldr r0, _020623F0 ; =0x0000FFFF lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 lsl r0, r4, #0x10 lsr r0, r0, #0x10 cmp r5, r0 blo _020623DE - bl sub_02020C2C + bl FUN_02020C2C _020623DE: add r0, sp, #0x10 add r0, #0x2 @@ -185120,30 +185120,30 @@ _020623E8: .word 0x020F7658 _020623EC: .word 0x020F79EE _020623F0: .word 0x0000FFFF - thumb_func_start sub_020623F4 -sub_020623F4: ; 0x020623F4 + thumb_func_start FUN_020623F4 +FUN_020623F4: ; 0x020623F4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] add r5, r1, #0x0 - bl sub_02024ECC + bl FUN_02024ECC add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0206234C + bl FUN_0206234C add r4, r0, #0x0 lsl r0, r4, #0x1 add r0, r0, #0x1 lsl r1, r0, #0x1 ldr r0, _0206245C ; =0x020F79EE ldrh r0, [r0, r1] - bl sub_02034824 + bl FUN_02034824 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200AFF4 + bl FUN_0200AFF4 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02025238 + bl FUN_02025238 cmp r0, #0x5 bhi _02062456 add r0, r0, r0 @@ -185169,19 +185169,19 @@ _02062456: nop _0206245C: .word 0x020F79EE - thumb_func_start sub_02062460 -sub_02062460: ; 0x02062460 + thumb_func_start FUN_02062460 +FUN_02062460: ; 0x02062460 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x2 mov r2, #0x9 - bl sub_0205F2E4 + bl FUN_0205F2E4 pop {r3, pc} .balign 4 - thumb_func_start sub_02062474 -sub_02062474: ; 0x02062474 + thumb_func_start FUN_02062474 +FUN_02062474: ; 0x02062474 push {r3-r6, lr} sub sp, #0xc mov r0, #0x4 @@ -185191,34 +185191,34 @@ sub_02062474: ; 0x02062474 mov r1, #0x7e mov r2, #0x2 mov r3, #0x0 - bl sub_02006548 + bl FUN_02006548 ldr r0, [sp, #0x8] lsl r0, r0, #0x10 lsr r4, r0, #0x10 bne _02062496 - bl sub_02020C2C + bl FUN_02020C2C _02062496: cmp r4, #0x1 bhi _0206249E mov r5, #0x0 b _020624C6 _0206249E: - bl sub_0201B9EC + bl FUN_0201B9EC add r5, r0, #0x0 ldr r0, _02062504 ; =0x0000FFFF add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x0 add r1, r1, #0x1 lsl r1, r1, #0x10 add r0, r5, #0x0 lsr r1, r1, #0x10 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, r4 blo _020624C6 - bl sub_02020C2C + bl FUN_02020C2C _020624C6: lsl r4, r5, #0x2 add r0, sp, #0x4 @@ -185227,36 +185227,36 @@ _020624C6: mov r1, #0x7e add r3, r4, #0x4 str r2, [sp, #0x0] - bl sub_02006548 + bl FUN_02006548 mov r2, #0x2 add r0, sp, #0x4 mov r1, #0x7e add r3, r4, #0x6 str r2, [sp, #0x0] - bl sub_02006548 + bl FUN_02006548 add r2, sp, #0x4 ldrh r2, [r2, #0x2] add r0, r6, #0x0 mov r1, #0x0 - bl sub_02060EA0 + bl FUN_02060EA0 add r2, sp, #0x4 ldrh r2, [r2, #0x0] add r0, r6, #0x0 mov r1, #0x1 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x2a add sp, #0xc pop {r3-r6, pc} .balign 4 _02062504: .word 0x0000FFFF - thumb_func_start sub_02062508 -sub_02062508: ; 0x02062508 + thumb_func_start FUN_02062508 +FUN_02062508: ; 0x02062508 mov r0, #0x1 bx lr - thumb_func_start sub_0206250C -sub_0206250C: ; 0x0206250C + thumb_func_start FUN_0206250C +FUN_0206250C: ; 0x0206250C push {r4-r6, lr} mov r4, #0x0 add r6, r0, #0x0 @@ -185264,7 +185264,7 @@ sub_0206250C: ; 0x0206250C _02062514: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02027098 + bl FUN_02027098 cmp r0, #0x1 bne _02062522 add r5, r5, #0x1 @@ -185275,21 +185275,21 @@ _02062522: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0206252C -sub_0206252C: ; 0x0206252C + thumb_func_start FUN_0206252C +FUN_0206252C: ; 0x0206252C push {r4-r7, lr} sub sp, #0xc ldr r0, [r0, #0xc] add r7, r1, #0x0 - bl sub_02027E24 + bl FUN_02027E24 add r6, r0, #0x0 - bl sub_0206250C + bl FUN_0206250C add r4, r0, #0x0 cmp r4, #0x1 ble _02062552 - bl sub_0201BA60 + bl FUN_0201BA60 add r1, r4, #0x0 - blx sub_020EBE8C + blx FUN_020EBE8C add r5, r1, #0x0 b _02062554 _02062552: @@ -185299,7 +185299,7 @@ _02062554: _02062556: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02027098 + bl FUN_02027098 cmp r0, #0x1 bne _0206256C cmp r5, #0x0 @@ -185315,24 +185315,24 @@ _0206256C: _02062572: cmp r4, #0xb blt _0206257A - bl sub_02020C2C + bl FUN_02020C2C _0206257A: ldr r1, [sp, #0x8] add r0, r6, #0x0 - bl sub_02027008 + bl FUN_02027008 add r5, r0, #0x0 mov r0, #0x8 mov r1, #0x4 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0202763C + bl FUN_0202763C add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02027608 + bl FUN_02027608 add r0, r5, #0x0 - bl sub_020276A8 + bl FUN_020276A8 mov r1, #0x1 str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -185340,26 +185340,26 @@ _0206257A: mov r1, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r5, #0x0 - bl sub_0202769C + bl FUN_0202769C add r2, r0, #0x0 add r0, r7, #0x0 mov r1, #0x1 - bl sub_0200B518 + bl FUN_0200B518 mov r0, #0x32 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020625D4 -sub_020625D4: ; 0x020625D4 + thumb_func_start FUN_020625D4 +FUN_020625D4: ; 0x020625D4 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_02027E24 - bl sub_0206250C + bl FUN_02027E24 + bl FUN_0206250C cmp r0, #0x0 beq _020625E8 mov r0, #0x1 @@ -185368,8 +185368,8 @@ _020625E8: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020625EC -sub_020625EC: ; 0x020625EC + thumb_func_start FUN_020625EC +FUN_020625EC: ; 0x020625EC push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -185378,31 +185378,31 @@ sub_020625EC: ; 0x020625EC mov r1, #0x50 lsl r2, r0, #0xd ldr r6, [r5, #0xc] - bl sub_0201681C + bl FUN_0201681C mov r1, #0x2d mov r0, #0x50 lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x2d mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x50 str r0, [r4, #0x0] ldr r0, [sp, #0x0] mov r1, #0x3 - blx sub_020EBC80 + blx FUN_020EBC80 strb r1, [r4, #0x16] ldr r0, [sp, #0x0] mov r1, #0x3 - blx sub_020EBC80 + blx FUN_020EBC80 strb r0, [r4, #0x17] ldrb r0, [r4, #0x16] - bl sub_0202B870 + bl FUN_0202B870 strb r0, [r4, #0x18] ldrb r0, [r4, #0x16] - bl sub_0202B87C + bl FUN_0202B87C strb r0, [r4, #0x19] add r0, r4, #0x0 add r0, #0xcc @@ -185412,25 +185412,25 @@ sub_020625EC: ; 0x020625EC add r0, #0xd0 str r1, [r0, #0x0] add r0, r6, #0x0 - bl sub_0202B8E4 + bl FUN_0202B8E4 mov r1, #0x2a lsl r1, r1, #0x4 str r0, [r4, r1] add r0, r6, #0x0 - bl sub_02023900 - bl sub_02024FF4 + bl FUN_02023900 + bl FUN_02024FF4 strh r0, [r4, #0x1a] add r0, r6, #0x0 - bl sub_02023900 - bl sub_02025084 + bl FUN_02023900 + bl FUN_02025084 strh r0, [r4, #0x1c] str r4, [r7, #0x8] mov r0, #0x1 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02062678 -sub_02062678: ; 0x02062678 + thumb_func_start FUN_02062678 +FUN_02062678: ; 0x02062678 push {r3-r7, lr} sub sp, #0x8 ldr r4, [r0, #0x8] @@ -185477,7 +185477,7 @@ _020626A2: lsl r2, r2, #0x18 ldr r0, [r4, r0] lsr r2, r2, #0x18 - bl sub_0202B8F0 + bl FUN_0202B8F0 add r6, r6, #0x1 _020626D6: mov r0, #0xb @@ -185504,73 +185504,73 @@ _020626EC: _020626FE: add r0, r4, #0x0 ldr r5, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 mov r2, #0x2d add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0xc add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02062720 -sub_02062720: ; 0x02062720 + thumb_func_start FUN_02062720 +FUN_02062720: ; 0x02062720 push {r4, lr} add r4, r0, #0x0 - bl sub_02062A70 + bl FUN_02062A70 add r0, r4, #0x0 - bl sub_02062C80 + bl FUN_02062C80 add r0, r4, #0x0 - bl sub_02062DB0 + bl FUN_02062DB0 add r0, r4, #0x0 - bl sub_02062F3C + bl FUN_02062F3C mov r0, #0x2 pop {r4, pc} .balign 4 - thumb_func_start sub_02062740 -sub_02062740: ; 0x02062740 + thumb_func_start FUN_02062740 +FUN_02062740: ; 0x02062740 push {r4, lr} add r4, r0, #0x0 - bl sub_02062FFC + bl FUN_02062FFC add r0, r4, #0x0 - bl sub_02062EC4 + bl FUN_02062EC4 add r0, r4, #0x0 - bl sub_02062D38 + bl FUN_02062D38 add r0, r4, #0x0 - bl sub_02062C4C + bl FUN_02062C4C mov r0, #0xb pop {r4, pc} .balign 4 - thumb_func_start sub_02062760 -sub_02062760: ; 0x02062760 + thumb_func_start FUN_02062760 +FUN_02062760: ; 0x02062760 push {r3, lr} ldrh r1, [r0, #0x22] ldrh r2, [r0, #0x24] - bl sub_02063028 + bl FUN_02063028 mov r0, #0x3 pop {r3, pc} .balign 4 - thumb_func_start sub_02062770 -sub_02062770: ; 0x02062770 + thumb_func_start FUN_02062770 +FUN_02062770: ; 0x02062770 push {r4, lr} add r4, r0, #0x0 add r0, #0xc0 ldr r0, [r0, #0x0] - bl sub_02001204 + bl FUN_02001204 ldr r1, _020627C8 ; =0x021C48B8 ldr r3, [r1, #0x48] mov r1, #0x2 tst r1, r3 beq _02062790 add r0, r4, #0x0 - bl sub_02063178 + bl FUN_02063178 mov r0, #0xa pop {r4, pc} _02062790: @@ -185592,7 +185592,7 @@ _0206279C: bne _020627B8 _020627AE: add r0, r4, #0x0 - bl sub_02063178 + bl FUN_02063178 mov r0, #0xa pop {r4, pc} _020627B8: @@ -185600,37 +185600,37 @@ _020627B8: mov r0, #0x0 strh r0, [r4, #0x28] add r0, r4, #0x0 - bl sub_02063178 + bl FUN_02063178 mov r0, #0x4 pop {r4, pc} .balign 4 _020627C8: .word 0x021C48B8 _020627CC: .word 0x0000FFFF - thumb_func_start sub_020627D0 -sub_020627D0: ; 0x020627D0 + thumb_func_start FUN_020627D0 +FUN_020627D0: ; 0x020627D0 push {r3, lr} ldrh r1, [r0, #0x28] - bl sub_02063430 + bl FUN_02063430 mov r0, #0x5 pop {r3, pc} - thumb_func_start sub_020627DC -sub_020627DC: ; 0x020627DC + thumb_func_start FUN_020627DC +FUN_020627DC: ; 0x020627DC push {r3, lr} ldr r1, _02062804 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 beq _020627F0 - bl sub_020634DC + bl FUN_020634DC mov r0, #0x2 pop {r3, pc} _020627F0: mov r1, #0x4 tst r1, r2 beq _020627FE - bl sub_02063238 + bl FUN_02063238 mov r0, #0x6 pop {r3, pc} _020627FE: @@ -185639,8 +185639,8 @@ _020627FE: nop _02062804: .word 0x021C48B8 - thumb_func_start sub_02062808 -sub_02062808: ; 0x02062808 + thumb_func_start FUN_02062808 +FUN_02062808: ; 0x02062808 push {r4, lr} ldr r1, _020628B8 ; =0x021C48B8 mov r2, #0x2 @@ -185648,7 +185648,7 @@ sub_02062808: ; 0x02062808 add r4, r0, #0x0 tst r2, r1 beq _0206281E - bl sub_02063264 + bl FUN_02063264 mov r0, #0x5 pop {r4, pc} _0206281E: @@ -185702,7 +185702,7 @@ _0206285C: ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 - bl sub_0200C714 + bl FUN_0200C714 _02062882: ldr r0, _020628B8 ; =0x021C48B8 ldr r1, [r0, #0x48] @@ -185727,15 +185727,15 @@ _02062882: ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 - bl sub_0200C714 + bl FUN_0200C714 _020628B4: mov r0, #0x6 pop {r4, pc} .balign 4 _020628B8: .word 0x021C48B8 - thumb_func_start sub_020628BC -sub_020628BC: ; 0x020628BC + thumb_func_start FUN_020628BC +FUN_020628BC: ; 0x020628BC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -185747,7 +185747,7 @@ sub_020628BC: ; 0x020628BC ldr r0, [r0, #0x0] ldr r2, _020628E4 ; =0x000003D9 mov r3, #0xb - bl sub_02002198 + bl FUN_02002198 add r4, #0xc8 str r0, [r4, #0x0] add sp, #0x4 @@ -185756,8 +185756,8 @@ sub_020628BC: ; 0x020628BC _020628E0: .word 0x020F7BC8 _020628E4: .word 0x000003D9 - thumb_func_start sub_020628E8 -sub_020628E8: ; 0x020628E8 + thumb_func_start FUN_020628E8 +FUN_020628E8: ; 0x020628E8 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -185794,12 +185794,12 @@ _02062912: .byte 0x10, 0xBD _020629B2: add r0, r4, #0x0 - bl sub_02063208 + bl FUN_02063208 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200C66C + bl FUN_0200C66C mov r0, #0x0 str r0, [r4, #0xc] add sp, #0x10 @@ -185812,8 +185812,8 @@ _020629CE: _020629D4: .byte 0x0F, 0x02, 0x01, 0x00 - thumb_func_start sub_020629D8 -sub_020629D8: ; 0x020629D8 + thumb_func_start FUN_020629D8 +FUN_020629D8: ; 0x020629D8 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -185828,7 +185828,7 @@ sub_020629D8: ; 0x020629D8 _020629EE: add r0, #0xe4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldrh r0, [r4, #0x1a] @@ -185842,20 +185842,20 @@ _020629EE: add r0, r4, #0x0 ldr r2, [r2, #0x0] add r0, #0xe4 - bl sub_0201BDE0 + bl FUN_0201BDE0 strb r0, [r4, #0x1e] mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2 - bl sub_0200C66C + bl FUN_0200C66C ldr r0, [r4, #0xc] add r0, r0, #0x1 str r0, [r4, #0xc] b _02062A60 _02062A2A: ldrb r0, [r4, #0x1e] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _02062A60 ldr r0, [r4, #0xc] @@ -185868,12 +185868,12 @@ _02062A3C: mov r1, #0x3 tst r1, r2 beq _02062A60 - bl sub_02063208 + bl FUN_02063208 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200C66C + bl FUN_0200C66C mov r0, #0x0 str r0, [r4, #0xc] add sp, #0x10 @@ -185887,8 +185887,8 @@ _02062A60: _02062A68: .word 0x0001020F _02062A6C: .word 0x021C48B8 - thumb_func_start sub_02062A70 -sub_02062A70: ; 0x02062A70 + thumb_func_start FUN_02062A70 +FUN_02062A70: ; 0x02062A70 push {r4-r7, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -185897,7 +185897,7 @@ sub_02062A70: ; 0x02062A70 mov r1, #0x3c ldr r0, [r4, #0x0] mul r1, r2 - bl sub_02016998 + bl FUN_02016998 mov r1, #0xb lsl r1, r1, #0x6 str r0, [r4, r1] @@ -185906,11 +185906,11 @@ sub_02062A70: ; 0x02062A70 mov r2, #0x3c mov r1, #0x0 mul r2, r3 - blx sub_020CE34C + blx FUN_020CE34C ldrb r1, [r4, #0x16] ldr r2, [r4, #0x0] add r0, r5, #0x0 - bl sub_0202BD6C + bl FUN_0202BD6C mov r1, #0xa9 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -185937,7 +185937,7 @@ _02062ABC: add r1, r1, r2 ldr r0, [r4, r0] ldr r2, [r4, #0x0] - bl sub_0202BDF0 + bl FUN_0202BDF0 mov r1, #0xaa mov r3, #0x0 ldr r2, [sp, #0x8] @@ -186134,8 +186134,8 @@ _02062C48: add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_02062C4C -sub_02062C4C: ; 0x02062C4C + thumb_func_start FUN_02062C4C +FUN_02062C4C: ; 0x02062C4C push {r3-r7, lr} add r6, r0, #0x0 ldrb r0, [r6, #0x18] @@ -186148,7 +186148,7 @@ sub_02062C4C: ; 0x02062C4C lsl r7, r7, #0x2 _02062C60: ldr r0, [r5, r7] - bl sub_0202BE6C + bl FUN_0202BE6C ldrb r0, [r6, #0x18] add r4, r4, #0x1 add r5, r5, #0x4 @@ -186159,44 +186159,44 @@ _02062C72: mov r0, #0xb lsl r0, r0, #0x6 ldr r0, [r6, r0] - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02062C80 -sub_02062C80: ; 0x02062C80 + thumb_func_start FUN_02062C80 +FUN_02062C80: ; 0x02062C80 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, _02062D34 ; =0x000001E1 ldr r3, [r5, #0x0] mov r0, #0x0 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C str r0, [r5, #0x2c] ldr r2, [r5, #0x0] mov r0, #0x2 mov r1, #0x4c - bl sub_0200AA90 + bl FUN_0200AA90 str r0, [r5, #0x30] ldr r1, [r5, #0x0] mov r0, #0x4c - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x34] ldr r0, [r5, #0x2c] mov r1, #0xd - bl sub_0200A914 + bl FUN_0200A914 str r0, [r5, #0x38] ldr r0, [r5, #0x2c] mov r1, #0x16 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r5, #0x3c] ldr r0, [r5, #0x2c] mov r1, #0x24 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r5, #0x40] ldr r0, [r5, #0x2c] mov r1, #0xe - bl sub_0200A914 + bl FUN_0200A914 str r0, [r5, #0x44] ldrb r0, [r5, #0x18] mov r4, #0x0 @@ -186207,13 +186207,13 @@ _02062CDA: ldrb r1, [r5, #0x19] ldr r0, [r5, #0x2c] add r1, r1, r4 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r6, #0x64] ldrb r1, [r5, #0x19] ldr r0, [r5, #0x2c] add r1, #0x17 add r1, r1, r4 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r6, #0x7c] ldrb r0, [r5, #0x18] add r4, r4, #0x1 @@ -186227,7 +186227,7 @@ _02062D02: add r1, r4, #0x0 ldr r0, [r5, #0x2c] add r1, #0xf - bl sub_0200A914 + bl FUN_0200A914 str r0, [r6, #0x48] add r4, r4, #0x1 add r6, r6, #0x4 @@ -186239,7 +186239,7 @@ _02062D1A: add r1, r4, #0x0 ldr r0, [r5, #0x2c] add r1, #0x25 - bl sub_0200A914 + bl FUN_0200A914 add r1, r6, #0x0 add r1, #0x94 add r4, r4, #0x1 @@ -186251,8 +186251,8 @@ _02062D1A: .balign 4 _02062D34: .word 0x000001E1 - thumb_func_start sub_02062D38 -sub_02062D38: ; 0x02062D38 + thumb_func_start FUN_02062D38 +FUN_02062D38: ; 0x02062D38 push {r4-r6, lr} add r6, r0, #0x0 mov r4, #0x0 @@ -186261,7 +186261,7 @@ _02062D40: add r0, r5, #0x0 add r0, #0x94 ldr r0, [r0, #0x0] - bl sub_02021A20 + bl FUN_02021A20 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x3 @@ -186270,7 +186270,7 @@ _02062D40: add r4, r6, #0x0 _02062D56: ldr r0, [r4, #0x48] - bl sub_02021A20 + bl FUN_02021A20 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x7 @@ -186282,9 +186282,9 @@ _02062D56: add r4, r6, #0x0 _02062D6E: ldr r0, [r4, #0x64] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x7c] - bl sub_02021A20 + bl FUN_02021A20 ldrb r0, [r6, #0x18] add r5, r5, #0x1 add r4, r4, #0x4 @@ -186292,23 +186292,23 @@ _02062D6E: blt _02062D6E _02062D84: ldr r0, [r6, #0x44] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r6, #0x40] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r6, #0x3c] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r6, #0x38] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r6, #0x34] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r6, #0x30] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [r6, #0x2c] - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} - thumb_func_start sub_02062DB0 -sub_02062DB0: ; 0x02062DB0 + thumb_func_start FUN_02062DB0 +FUN_02062DB0: ; 0x02062DB0 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -186317,7 +186317,7 @@ sub_02062DB0: ; 0x02062DB0 mov r0, #0x1 lsl r1, r1, #0x6 mov r2, #0x0 - bl sub_02017F18 + bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 @@ -186330,33 +186330,33 @@ sub_02062DB0: ; 0x02062DB0 ldr r0, [r0, #0x0] mov r1, #0x1 add r3, r2, #0x0 - bl sub_02018540 + bl FUN_02018540 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_0201AC68 + bl FUN_0201AC68 mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201797C + bl FUN_0201797C add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02018884 + bl FUN_02018884 strh r0, [r4, #0x10] add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02018884 + bl FUN_02018884 strh r0, [r4, #0x12] mov r0, #0x0 mov r1, #0x2 - bl sub_020178BC + bl FUN_020178BC mov r0, #0x1 add r1, r0, #0x0 - bl sub_020178BC + bl FUN_020178BC ldrh r0, [r4, #0x1c] ldr r2, _02062EB8 ; =0x000003E2 mov r1, #0x3 @@ -186369,7 +186369,7 @@ sub_02062DB0: ; 0x02062DB0 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] - bl sub_0200CD68 + bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] @@ -186380,7 +186380,7 @@ sub_02062DB0: ; 0x02062DB0 ldr r0, [r0, #0x0] mov r1, #0x3 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] @@ -186391,17 +186391,17 @@ sub_02062DB0: ; 0x02062DB0 ldr r0, [r0, #0x0] mov r1, #0x1 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r1, #0x1a ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x4 - bl sub_02002ED0 + bl FUN_02002ED0 mov r1, #0x6 ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x6 - bl sub_02002EEC + bl FUN_02002EEC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b @@ -186419,11 +186419,11 @@ sub_02062DB0: ; 0x02062DB0 add r1, #0xe4 mov r2, #0x3 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 add r4, #0xe4 add r0, r4, #0x0 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 add sp, #0x14 pop {r3-r4, pc} .balign 4 @@ -186431,26 +186431,26 @@ _02062EB8: .word 0x000003E2 _02062EBC: .word 0x000003D9 _02062EC0: .word 0x0000036D - thumb_func_start sub_02062EC4 -sub_02062EC4: ; 0x02062EC4 + thumb_func_start FUN_02062EC4 +FUN_02062EC4: ; 0x02062EC4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 add r0, #0xe4 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 add r0, #0xe4 - bl sub_02019178 + bl FUN_02019178 mov r1, #0xad ldr r3, [r4, #0x0] mov r0, #0x1 lsl r1, r1, #0x6 mov r2, #0x0 - bl sub_02017F18 + bl FUN_02017F18 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x20 @@ -186463,30 +186463,30 @@ sub_02062EC4: ; 0x02062EC4 ldr r0, [r0, #0x0] mov r1, #0x1 add r3, r2, #0x0 - bl sub_02018540 + bl FUN_02018540 add r0, r4, #0x0 add r0, #0xd0 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_0201AC68 + bl FUN_0201AC68 mov r0, #0x1 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C ldrh r1, [r4, #0x10] mov r0, #0x0 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_020178BC + bl FUN_020178BC ldrh r1, [r4, #0x12] mov r0, #0x1 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_020178BC + bl FUN_020178BC add sp, #0x10 pop {r4, pc} - thumb_func_start sub_02062F3C -sub_02062F3C: ; 0x02062F3C + thumb_func_start FUN_02062F3C +FUN_02062F3C: ; 0x02062F3C push {r4-r7, lr} sub sp, #0x24 ldr r4, _02062FF0 ; =0x020F7BDC @@ -186505,7 +186505,7 @@ sub_02062F3C: ; 0x02062F3C ldr r3, [r6, #0x0] add r0, r6, r0 mov r2, #0x2 - bl sub_021D959C + bl FUN_021D959C mov r0, #0x3 str r0, [sp, #0x0] mov r0, #0x1 @@ -186518,7 +186518,7 @@ sub_02062F3C: ; 0x02062F3C add r0, r6, r0 mov r1, #0x82 add r3, r2, #0x0 - bl sub_021D967C + bl FUN_021D967C ldr r0, _02062FF4 ; =0x000034D8 mov r1, #0x82 str r0, [sp, #0x0] @@ -186527,7 +186527,7 @@ sub_02062F3C: ; 0x02062F3C add r0, r6, r0 mov r2, #0x2 mov r3, #0x0 - bl sub_021D96F4 + bl FUN_021D96F4 ldr r0, _02062FF4 ; =0x000034D8 mov r1, #0x82 str r0, [sp, #0x0] @@ -186536,7 +186536,7 @@ sub_02062F3C: ; 0x02062F3C add r0, r6, r0 mov r2, #0x3 mov r3, #0x0 - bl sub_021D9708 + bl FUN_021D9708 mov r2, #0x1 ldr r0, _02062FF4 ; =0x000034D8 str r2, [sp, #0x0] @@ -186546,7 +186546,7 @@ sub_02062F3C: ; 0x02062F3C add r0, r6, r0 mov r1, #0x82 mov r3, #0x0 - bl sub_021D971C + bl FUN_021D971C ldr r4, _02062FF8 ; =0x020F7C7C mov r7, #0x0 add r5, r6, #0x0 @@ -186555,7 +186555,7 @@ _02062FC4: lsl r0, r0, #0x2 add r0, r6, r0 add r1, r4, #0x0 - bl sub_021D9820 + bl FUN_021D9820 mov r1, #0xa6 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -186567,7 +186567,7 @@ _02062FC4: add r0, r1, #0x4 ldr r0, [r6, r0] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 add sp, #0x24 pop {r4-r7, pc} nop @@ -186575,8 +186575,8 @@ _02062FF0: .word 0x020F7BDC _02062FF4: .word 0x000034D8 _02062FF8: .word 0x020F7C7C - thumb_func_start sub_02062FFC -sub_02062FFC: ; 0x02062FFC + thumb_func_start FUN_02062FFC +FUN_02062FFC: ; 0x02062FFC push {r3-r7, lr} add r7, r0, #0x0 mov r6, #0xa6 @@ -186587,7 +186587,7 @@ _02063008: ldr r0, [r5, r6] cmp r0, #0x0 beq _02063012 - bl sub_0200C3DC + bl FUN_0200C3DC _02063012: add r4, r4, #0x1 add r5, r5, #0x4 @@ -186596,12 +186596,12 @@ _02063012: mov r0, #0x4d lsl r0, r0, #0x2 add r0, r7, r0 - bl sub_021D99F8 + bl FUN_021D99F8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02063028 -sub_02063028: ; 0x02063028 + thumb_func_start FUN_02063028 +FUN_02063028: ; 0x02063028 push {r4-r7, lr} sub sp, #0x1c str r1, [sp, #0x14] @@ -186611,7 +186611,7 @@ sub_02063028: ; 0x02063028 ldr r1, [r5, #0x0] add r7, r0, #0x1 add r0, r7, #0x0 - bl sub_02012838 + bl FUN_02012838 add r1, r5, #0x0 add r1, #0xc4 str r0, [r1, #0x0] @@ -186631,11 +186631,11 @@ sub_02063028: ; 0x02063028 ldr r0, [r0, #0x0] add r1, #0xd4 mov r3, #0x4 - bl sub_02019064 + bl FUN_02019064 add r0, r5, #0x0 add r0, #0xd4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 ldrb r0, [r5, #0x18] mov r6, #0x0 cmp r0, #0x0 @@ -186647,7 +186647,7 @@ _0206307C: ldr r0, [r0, #0x0] ldr r1, [r4, #0x64] add r2, r6, #0x0 - bl sub_020128A0 + bl FUN_020128A0 ldrb r0, [r5, #0x18] add r6, r6, #0x1 add r4, r4, #0x4 @@ -186659,12 +186659,12 @@ _02063094: ldr r0, [r0, #0x0] ldr r1, [r5, #0x38] ldr r2, _02063160 ; =0x0000FFFF - bl sub_020128A0 + bl FUN_020128A0 add r1, r5, #0x0 ldr r0, _02063164 ; =0x020F7C2C add r1, #0xa0 mov r2, #0x20 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r1, r5, #0x0 add r0, r5, #0x0 add r1, #0xd4 @@ -186691,7 +186691,7 @@ _02063094: add r0, #0xb7 strb r1, [r0, #0x0] add r0, r5, #0x0 - ldr r1, _02063168 ; =sub_020631C8 + ldr r1, _02063168 ; =FUN_020631C8 add r0, #0xa4 str r1, [r0, #0x0] add r0, r5, #0x0 @@ -186705,7 +186705,7 @@ _02063094: ldr r2, [sp, #0x18] add r0, #0xa0 lsr r3, r3, #0x18 - bl sub_020010A8 + bl FUN_020010A8 add r1, r5, #0x0 add r1, #0xc0 str r0, [r1, #0x0] @@ -186714,17 +186714,17 @@ _02063094: add r0, #0xd4 mov r1, #0x0 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r5, #0x0 ldr r2, _02063170 ; =0x000003E2 add r0, #0xe4 mov r1, #0x1 mov r3, #0xa - bl sub_0200D0BC + bl FUN_0200D0BC add r0, r5, #0x0 add r0, #0xe4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _02063174 ; =0x0001020F @@ -186735,28 +186735,28 @@ _02063094: ldr r2, [r5, #0x3c] add r0, #0xe4 mov r1, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_0200C644 + bl FUN_0200C644 add r5, #0xd0 ldr r0, [r5, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x1c pop {r4-r7, pc} .balign 4 _02063160: .word 0x0000FFFF _02063164: .word 0x020F7C2C -_02063168: .word sub_020631C8 + 1 +_02063168: .word FUN_020631C8 + 1 _0206316C: .word 0x000003D9 _02063170: .word 0x000003E2 _02063174: .word 0x0001020F - thumb_func_start sub_02063178 -sub_02063178: ; 0x02063178 + thumb_func_start FUN_02063178 +FUN_02063178: ; 0x02063178 push {r4, lr} add r4, r0, #0x0 add r0, #0xc0 @@ -186765,47 +186765,47 @@ sub_02063178: ; 0x02063178 ldr r0, [r0, #0x0] add r1, #0x22 add r2, #0x24 - bl sub_02001300 + bl FUN_02001300 add r0, r4, #0x0 add r0, #0xc4 ldr r0, [r0, #0x0] - bl sub_02012870 + bl FUN_02012870 add r0, r4, #0x0 add r0, #0xd4 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 add r0, #0xd4 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0xd4 - bl sub_02019178 + bl FUN_02019178 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 add r4, #0xd0 ldr r0, [r4, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4, pc} - thumb_func_start sub_020631C8 -sub_020631C8: ; 0x020631C8 + thumb_func_start FUN_020631C8 +FUN_020631C8: ; 0x020631C8 push {r3-r5, lr} mov r1, #0x13 add r5, r0, #0x0 - bl sub_02001470 + bl FUN_02001470 add r1, sp, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r1, #0x2 add r2, sp, #0x0 - bl sub_02001448 + bl FUN_02001448 add r0, r5, #0x0 mov r1, #0x2 - bl sub_02001470 + bl FUN_02001470 add r2, sp, #0x0 ldrh r3, [r2, #0x0] ldrh r2, [r2, #0x2] @@ -186818,18 +186818,18 @@ sub_020631C8: ; 0x020631C8 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 - bl sub_0200C714 + bl FUN_0200C714 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02063208 -sub_02063208: ; 0x02063208 + thumb_func_start FUN_02063208 +FUN_02063208: ; 0x02063208 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _02063234 ; =0x0001020F @@ -186841,17 +186841,17 @@ sub_02063208: ; 0x02063208 ldr r2, [r4, #0x0] add r0, #0xe4 mov r1, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 add sp, #0x10 pop {r4, pc} .balign 4 _02063234: .word 0x0001020F - thumb_func_start sub_02063238 -sub_02063238: ; 0x02063238 + thumb_func_start FUN_02063238 +FUN_02063238: ; 0x02063238 push {r4, lr} add r4, r0, #0x0 - bl sub_02063208 + bl FUN_02063208 ldrh r2, [r4, #0x28] mov r0, #0xa6 lsl r0, r0, #0x2 @@ -186861,22 +186861,22 @@ sub_02063238: ; 0x02063238 ldr r0, [r4, r0] mov r1, #0x7e asr r2, r2, #0x10 - bl sub_0200C714 + bl FUN_0200C714 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200C644 + bl FUN_0200C644 pop {r4, pc} - thumb_func_start sub_02063264 -sub_02063264: ; 0x02063264 + thumb_func_start FUN_02063264 +FUN_02063264: ; 0x02063264 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0xe4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r3, #0x0 str r3, [sp, #0x0] ldr r0, _020632A0 ; =0x0001020F @@ -186890,19 +186890,19 @@ sub_02063264: ; 0x02063264 add r2, r4, r2 ldr r2, [r2, #0x7c] mov r1, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 add sp, #0x10 pop {r4, pc} .balign 4 _020632A0: .word 0x0001020F - thumb_func_start sub_020632A4 -sub_020632A4: ; 0x020632A4 + thumb_func_start FUN_020632A4 +FUN_020632A4: ; 0x020632A4 push {r4-r7, lr} sub sp, #0x34 str r1, [sp, #0x10] @@ -186925,7 +186925,7 @@ sub_020632A4: ; 0x020632A4 add r0, r4, #0x0 add r0, #0xd4 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r0, #0x1 str r0, [sp, #0x1c] mov r0, #0x0 @@ -186970,7 +186970,7 @@ _02063318: ldr r2, [sp, #0x1c] mov r1, #0x0 mov r3, #0x1 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 @@ -186980,11 +186980,11 @@ _02063318: ldr r2, [r2, #0x8] mov r1, #0x1 mov r3, #0x2 - bl sub_0200ABB4 + bl FUN_0200ABB4 ldr r0, [r4, #0x30] ldr r1, [r4, #0x34] ldr r2, [r4, #0x44] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r0, [sp, #0x30] mov r1, #0x0 str r0, [sp, #0x0] @@ -186997,7 +186997,7 @@ _02063318: str r0, [sp, #0xc] ldr r0, [sp, #0x2c] ldr r2, [r4, #0x34] - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -187006,7 +187006,7 @@ _02063318: ldrh r3, [r3, #0x4] mov r1, #0x0 add r2, r5, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r2, [sp, #0x14] ldr r0, [r4, #0x30] ldrh r2, [r2, #0x6] @@ -187014,11 +187014,11 @@ _02063318: lsl r2, r2, #0x2 add r2, r4, r2 ldr r2, [r2, #0xc] - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r0, #0x0 ldr r1, [r4, #0x34] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 mov r12, r0 ldr r0, [sp, #0x30] mov r3, #0xb8 @@ -187034,7 +187034,7 @@ _02063318: ldr r2, [r4, #0x34] mov r1, #0x0 sub r3, r3, r6 - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, [sp, #0x18] ldr r1, [sp, #0x20] add r2, r4, r0 @@ -187064,7 +187064,7 @@ _020633D6: _020633EA: add r0, r4, #0x0 add r0, #0xd4 - bl sub_020191D0 + bl FUN_020191D0 add r1, r4, #0x0 ldr r0, [sp, #0x18] add r1, #0x21 @@ -187084,20 +187084,20 @@ _0206340E: cmp r0, #0x0 beq _0206341E add r0, r4, #0x0 - bl sub_02063238 + bl FUN_02063238 add sp, #0x34 pop {r4-r7, pc} _0206341E: add r0, r4, #0x0 - bl sub_02063264 + bl FUN_02063264 add sp, #0x34 pop {r4-r7, pc} .balign 4 _02063428: .word 0x020F7BD0 _0206342C: .word 0x0001020F - thumb_func_start sub_02063430 -sub_02063430: ; 0x02063430 + thumb_func_start FUN_02063430 +FUN_02063430: ; 0x02063430 push {r3-r4, lr} sub sp, #0x14 mov r2, #0x1 @@ -187116,21 +187116,21 @@ sub_02063430: ; 0x02063430 ldr r0, [r0, #0x0] add r1, #0xd4 mov r3, #0x4 - bl sub_02019064 + bl FUN_02019064 add r0, r4, #0x0 ldr r2, _020634D0 ; =0x000003D9 add r0, #0xd4 mov r1, #0x1 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020632A4 + bl FUN_020632A4 mov r0, #0xa7 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200C644 + bl FUN_0200C644 mov r0, #0xe str r0, [sp, #0x0] mov r3, #0x8 @@ -187147,11 +187147,11 @@ sub_02063430: ; 0x02063430 add r0, #0xd0 ldr r0, [r0, #0x0] mov r2, #0x3 - bl sub_02019064 + bl FUN_02019064 add r0, r4, #0x0 add r0, #0xf4 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, _020634D8 ; =0x00010200 @@ -187162,11 +187162,11 @@ sub_02063430: ; 0x02063430 ldr r2, [r4, #0x40] add r0, #0xf4 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r4, #0xd0 ldr r0, [r4, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x14 pop {r3-r4, pc} nop @@ -187174,46 +187174,46 @@ _020634D0: .word 0x000003D9 _020634D4: .word 0x00000345 _020634D8: .word 0x00010200 - thumb_func_start sub_020634DC -sub_020634DC: ; 0x020634DC + thumb_func_start FUN_020634DC +FUN_020634DC: ; 0x020634DC push {r4, lr} add r4, r0, #0x0 add r0, #0xd4 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 add r0, #0xd4 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0xd4 - bl sub_02019178 + bl FUN_02019178 add r0, r4, #0x0 add r0, #0xf4 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 add r0, #0xf4 - bl sub_02019178 + bl FUN_02019178 mov r0, #0xa6 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 mov r0, #0xa7 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 pop {r4, pc} .balign 4 - thumb_func_start sub_02063524 -sub_02063524: ; 0x02063524 + thumb_func_start FUN_02063524 +FUN_02063524: ; 0x02063524 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r2, [r4, #0x0] ldr r1, [r4, #0x8] @@ -187242,7 +187242,7 @@ _02063540: lsl r0, r6, #0x3 ldrh r2, [r4, #0x4] add r1, r5, #0x0 - bl sub_020625EC + bl FUN_020625EC str r0, [r4, #0x0] b _02063646 _02063572: @@ -187267,73 +187267,73 @@ _02063646: _0206364C: .byte 0xB8, 0x48, 0x1C, 0x02 - thumb_func_start sub_02063650 -sub_02063650: ; 0x02063650 + thumb_func_start FUN_02063650 +FUN_02063650: ; 0x02063650 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 mov r0, #0xb mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] strh r5, [r2, #0x4] str r0, [r2, #0x8] ldr r0, [r4, #0x10] - ldr r1, _02063678 ; =sub_02063524 - bl sub_0204640C + ldr r1, _02063678 ; =FUN_02063524 + bl FUN_0204640C pop {r3-r5, pc} nop -_02063678: .word sub_02063524 + 1 +_02063678: .word FUN_02063524 + 1 - thumb_func_start sub_0206367C -sub_0206367C: ; 0x0206367C + thumb_func_start FUN_0206367C +FUN_0206367C: ; 0x0206367C add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02063684 -sub_02063684: ; 0x02063684 + thumb_func_start FUN_02063684 +FUN_02063684: ; 0x02063684 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02063818 + bl FUN_02063818 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x0 - bl sub_0205F264 + bl FUN_0205F264 ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] - bl sub_02034F88 + bl FUN_02034F88 ldr r0, [r5, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 mov r1, #0x0 - bl sub_0202AB68 + bl FUN_0202AB68 add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 strh r1, [r0, #0x0] ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x0 bne _020636DA ldr r0, [r5, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 ldr r1, [r5, #0x1c] add r4, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_02060478 + bl FUN_02060478 add r0, r4, #0x0 - bl sub_020603F0 + bl FUN_020603F0 _020636DA: pop {r3-r5, pc} - thumb_func_start sub_020636DC -sub_020636DC: ; 0x020636DC + thumb_func_start FUN_020636DC +FUN_020636DC: ; 0x020636DC push {r3-r5, lr} add r5, r0, #0x0 add r1, r5, #0x0 @@ -187341,58 +187341,58 @@ sub_020636DC: ; 0x020636DC ldr r1, [r1, #0x0] cmp r1, #0x1 beq _020637A6 - bl sub_02063818 + bl FUN_02063818 cmp r0, #0x0 bne _020636F8 add r0, r5, #0x0 - bl sub_0206384C + bl FUN_0206384C _020636F8: ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205F254 + bl FUN_020462AC + bl FUN_0205F254 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC mov r1, #0x0 - bl sub_0205F264 + bl FUN_0205F264 ldr r1, [r5, #0x1c] add r0, r5, #0x0 ldr r1, [r1, #0x0] - bl sub_02034F88 + bl FUN_02034F88 ldr r0, [r5, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 mov r1, #0x0 - bl sub_0202AB68 + bl FUN_0202AB68 add r0, r5, #0x0 mov r1, #0x0 add r0, #0x74 strh r1, [r0, #0x0] ldr r0, [r5, #0xc] - bl sub_0202A9B0 + bl FUN_0202A9B0 ldr r1, [r5, #0x1c] ldr r1, [r1, #0x0] - bl sub_02060478 + bl FUN_02060478 ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x0 bne _02063758 ldr r0, [r5, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 - bl sub_0205F284 + bl FUN_0205F284 add r0, r4, #0x0 - bl sub_0205F2B4 + bl FUN_0205F2B4 _02063758: ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E20 + bl FUN_02034E30 + bl FUN_02034E20 add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x1 bne _0206377C ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - bl sub_020348B4 + bl FUN_020348B4 cmp r0, #0x0 bne _0206377C mov r0, #0x0 @@ -187407,86 +187407,86 @@ _0206377C: _02063786: ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034908 + bl FUN_02034908 cmp r0, #0x0 beq _020637A6 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034E0C + bl FUN_02034E30 + bl FUN_02034E0C ldr r2, [r5, #0x1c] ldr r1, [r2, #0x8] ldr r2, [r2, #0xc] - bl sub_0204AE04 + bl FUN_0204AE04 _020637A6: pop {r3-r5, pc} - thumb_func_start sub_020637A8 -sub_020637A8: ; 0x020637A8 + thumb_func_start FUN_020637A8 +FUN_020637A8: ; 0x020637A8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F204 + bl FUN_020462AC + bl FUN_0205F204 ldr r0, [r4, #0xc] - bl sub_0202A9B0 - bl sub_020603C8 + bl FUN_0202A9B0 + bl FUN_020603C8 pop {r4, pc} .balign 4 - thumb_func_start sub_020637C4 -sub_020637C4: ; 0x020637C4 + thumb_func_start FUN_020637C4 +FUN_020637C4: ; 0x020637C4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_020462AC - bl sub_0205F204 + bl FUN_020462AC + bl FUN_0205F204 ldr r0, [r4, #0xc] - bl sub_0202A9B0 - bl sub_020603C8 + bl FUN_0202A9B0 + bl FUN_020603C8 pop {r4, pc} .balign 4 - thumb_func_start sub_020637E0 -sub_020637E0: ; 0x020637E0 + thumb_func_start FUN_020637E0 +FUN_020637E0: ; 0x020637E0 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F204 + bl FUN_020462AC + bl FUN_0205F204 pop {r3, pc} .balign 4 - thumb_func_start sub_020637F0 -sub_020637F0: ; 0x020637F0 + thumb_func_start FUN_020637F0 +FUN_020637F0: ; 0x020637F0 push {r4, lr} ldr r0, [r0, #0xc] - bl sub_020462AC + bl FUN_020462AC add r4, r0, #0x0 - bl sub_0205ED2C + bl FUN_0205ED2C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0205F358 + bl FUN_0205F358 pop {r4, pc} - thumb_func_start sub_02063808 -sub_02063808: ; 0x02063808 + thumb_func_start FUN_02063808 +FUN_02063808: ; 0x02063808 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_0202A9B0 - bl sub_020603C8 + bl FUN_0202A9B0 + bl FUN_020603C8 pop {r3, pc} .balign 4 - thumb_func_start sub_02063818 -sub_02063818: ; 0x02063818 + thumb_func_start FUN_02063818 +FUN_02063818: ; 0x02063818 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034F1C + bl FUN_02034F1C add r1, r0, #0x0 beq _02063846 add r0, r4, #0x0 - bl sub_02034FC0 + bl FUN_02034FC0 cmp r0, #0x0 bne _02063846 add r0, r4, #0x0 @@ -187495,7 +187495,7 @@ sub_02063818: ; 0x02063818 ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] mov r2, #0x20 - bl sub_020299C0 + bl FUN_020299C0 mov r0, #0x1 pop {r4, pc} _02063846: @@ -187503,28 +187503,28 @@ _02063846: pop {r4, pc} .balign 4 - thumb_func_start sub_0206384C -sub_0206384C: ; 0x0206384C + thumb_func_start FUN_0206384C +FUN_0206384C: ; 0x0206384C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034DC8 + bl FUN_02034E30 + bl FUN_02034DC8 ldr r1, [r5, #0x1c] ldr r6, [r0, #0x0] ldr r4, [r1, #0x0] cmp r6, r4 beq _02063882 ldr r0, [r5, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x20 add r5, #0x98 str r1, [sp, #0x0] ldr r1, [r5, #0x0] add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02029880 + bl FUN_02029880 add sp, #0x4 mov r0, #0x1 pop {r3-r6, pc} @@ -187533,14 +187533,14 @@ _02063882: add sp, #0x4 pop {r3-r6, pc} - thumb_func_start sub_02063888 -sub_02063888: ; 0x02063888 + thumb_func_start FUN_02063888 +FUN_02063888: ; 0x02063888 push {r4-r6, lr} add r5, r1, #0x0 mov r1, #0x18 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 @@ -187562,14 +187562,14 @@ _0206389C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020638BC -sub_020638BC: ; 0x020638BC + thumb_func_start FUN_020638BC +FUN_020638BC: ; 0x020638BC push {r3-r6, lr} sub sp, #0x1c add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x0 @@ -187580,12 +187580,12 @@ sub_020638BC: ; 0x020638BC _020638DA: ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] - bl sub_020553E8 + bl FUN_020553E8 add r3, r0, #0x0 ldr r0, [r4, #0x0] ldr r2, [r4, #0x10] mov r1, #0x1 - bl sub_0224666C + bl FUN_0224666C str r0, [r4, #0x14] ldr r0, [r4, #0x4] add r0, r0, #0x1 @@ -187593,25 +187593,25 @@ _020638DA: b _02063942 _020638F8: ldr r0, [r4, #0x14] - bl sub_022466A0 + bl FUN_022466A0 cmp r0, #0x0 beq _02063942 ldr r0, [r4, #0x14] - bl sub_022466AC + bl FUN_022466AC mov r1, #0xa mov r2, #0xc ldrh r0, [r4, #0x8] ldrsh r1, [r4, r1] ldrsh r2, [r4, r2] - bl sub_02034F40 + bl FUN_02034F40 lsl r0, r0, #0x10 lsr r6, r0, #0x10 bne _02063920 - bl sub_02020C2C + bl FUN_02020C2C _02063920: add r0, r6, #0x0 add r1, sp, #0x8 - bl sub_02034E90 + bl FUN_02034E90 ldr r0, [sp, #0x14] mov r2, #0x1 str r0, [sp, #0x0] @@ -187620,16 +187620,16 @@ _02063920: ldr r3, [sp, #0x10] add r0, r5, #0x0 sub r2, r2, #0x2 - bl sub_020492BC + bl FUN_020492BC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02063942: mov r0, #0x0 add sp, #0x1c pop {r3-r6, pc} - thumb_func_start sub_02063948 -sub_02063948: ; 0x02063948 + thumb_func_start FUN_02063948 +FUN_02063948: ; 0x02063948 cmp r0, #0x0 bne _02063954 ldr r0, _0206395C ; =0x020F7CE4 @@ -187645,8 +187645,8 @@ _02063954: _0206395C: .word 0x020F7CE4 _02063960: .word 0x020F7CE8 - thumb_func_start sub_02063964 -sub_02063964: ; 0x02063964 + thumb_func_start FUN_02063964 +FUN_02063964: ; 0x02063964 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -187658,13 +187658,13 @@ sub_02063964: ; 0x02063964 mov r1, #0x0 strh r1, [r4, #0xc] add r1, sp, #0x8 - bl sub_02037024 + bl FUN_02037024 ldr r0, [sp, #0x8] str r0, [r4, #0x8] ldr r0, [sp, #0x8] cmp r0, #0x0 beq _020639B6 - bl sub_02058458 + bl FUN_02058458 cmp r0, #0x54 beq _0206399A cmp r0, #0x55 @@ -187691,29 +187691,29 @@ _020639AE: strh r0, [r4, #0xc] _020639B6: ldr r0, [r5, #0x38] - bl sub_02055320 + bl FUN_02055320 str r0, [sp, #0x4] ldr r0, [r5, #0x38] - bl sub_0205532C + bl FUN_0205532C add r2, r0, #0x0 ldr r1, [sp, #0x4] str r2, [sp, #0x0] add r0, r5, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r7, r0, #0x0 ldr r0, [r5, #0x38] add r1, sp, #0x4 add r2, sp, #0x0 - bl sub_020572B8 + bl FUN_020572B8 ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] add r0, r5, #0x0 - bl sub_0204A6E0 + bl FUN_0204A6E0 add r6, r0, #0x0 ldr r0, [r5, #0x38] add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_021E643C + bl FUN_021E643C cmp r0, #0x0 beq _020639FE ldrh r1, [r4, #0xc] @@ -187722,10 +187722,10 @@ _020639B6: strh r0, [r4, #0xc] _020639FE: ldr r0, [r5, #0x38] - bl sub_020552F8 + bl FUN_020552F8 add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_021E69BC + bl FUN_021E69BC cmp r0, #0x0 beq _02063A18 ldrh r1, [r4, #0xc] @@ -187735,7 +187735,7 @@ _020639FE: _02063A18: lsl r0, r6, #0x18 lsr r0, r0, #0x18 - bl sub_02054A48 + bl FUN_02054A48 cmp r0, #0x0 beq _02063A2C ldrh r1, [r4, #0xc] @@ -187744,8 +187744,8 @@ _02063A18: strh r0, [r4, #0xc] _02063A2C: ldr r0, [r5, #0xc] - bl sub_02034E30 - bl sub_02034DEC + bl FUN_02034E30 + bl FUN_02034DEC cmp r0, #0xe beq _02063A42 cmp r0, #0x10 @@ -187768,14 +187768,14 @@ _02063A4E: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02063A5C -sub_02063A5C: ; 0x02063A5C + thumb_func_start FUN_02063A5C +FUN_02063A5C: ; 0x02063A5C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0x20 mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 ldr r1, _02063A7C ; =0x19740205 str r1, [r0, #0x0] ldr r1, [r4, #0x8] @@ -187788,24 +187788,24 @@ sub_02063A5C: ; 0x02063A5C .balign 4 _02063A7C: .word 0x19740205 - thumb_func_start sub_02063A80 -sub_02063A80: ; 0x02063A80 + thumb_func_start FUN_02063A80 +FUN_02063A80: ; 0x02063A80 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _02063A98 ; =0x19740205 cmp r1, r0 beq _02063A90 - bl sub_02020C2C + bl FUN_02020C2C _02063A90: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 _02063A98: .word 0x19740205 - thumb_func_start sub_02063A9C -sub_02063A9C: ; 0x02063A9C + thumb_func_start FUN_02063A9C +FUN_02063A9C: ; 0x02063A9C push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -187817,9 +187817,9 @@ sub_02063A9C: ; 0x02063A9C pop {r4, pc} _02063AAE: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x1 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063AC2 mov r0, #0x2 @@ -187834,22 +187834,22 @@ _02063ACC: pop {r4, pc} .balign 4 - thumb_func_start sub_02063AD0 -sub_02063AD0: ; 0x02063AD0 + thumb_func_start FUN_02063AD0 +FUN_02063AD0: ; 0x02063AD0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063B00 ; =sub_02063B04 + ldr r1, _02063B00 ; =FUN_02063B04 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -187858,38 +187858,38 @@ sub_02063AD0: ; 0x02063AD0 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063B00: .word sub_02063B04 + 1 +_02063B00: .word FUN_02063B04 + 1 - thumb_func_start sub_02063B04 -sub_02063B04: ; 0x02063B04 + thumb_func_start FUN_02063B04 +FUN_02063B04: ; 0x02063B04 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063B3C ; =0x00002718 ldr r2, [r4, #0x4] add r0, r5, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063B3C: .word 0x00002718 - thumb_func_start sub_02063B40 -sub_02063B40: ; 0x02063B40 + thumb_func_start FUN_02063B40 +FUN_02063B40: ; 0x02063B40 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -187901,16 +187901,16 @@ sub_02063B40: ; 0x02063B40 pop {r4, pc} _02063B52: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x2 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063B66 mov r0, #0x2 pop {r4, pc} _02063B66: ldr r0, [r4, #0x0] - bl sub_02034898 + bl FUN_02034898 cmp r0, #0x0 bne _02063B74 mov r0, #0x1 @@ -187918,8 +187918,8 @@ _02063B66: _02063B74: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _02063B88 mov r0, #0x3 @@ -187927,14 +187927,14 @@ _02063B74: _02063B88: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 beq _02063BA8 ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _02063BAC _02063BA8: @@ -187952,19 +187952,19 @@ _02063BB6: pop {r4, pc} .balign 4 - thumb_func_start sub_02063BBC -sub_02063BBC: ; 0x02063BBC + thumb_func_start FUN_02063BBC +FUN_02063BBC: ; 0x02063BBC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 mov r0, #0xb mov r1, #0x4 - bl sub_02016998 + bl FUN_02016998 ldrh r1, [r5, #0x4] str r1, [r0, #0x0] mov r1, #0x7f @@ -187972,28 +187972,28 @@ sub_02063BBC: ; 0x02063BBC str r0, [r4, r1] mov r0, #0xb sub r1, #0xbc - bl sub_02016998 + bl FUN_02016998 mov r1, #0x7e lsl r1, r1, #0x2 str r0, [r4, r1] ldr r1, [r4, r1] add r0, r6, #0x0 mov r2, #0x1 - bl sub_0205F7A0 + bl FUN_0205F7A0 mov r1, #0x7e lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r6, #0x0 - bl sub_02037E90 - ldr r1, _02063C10 ; =sub_02036AB8 + bl FUN_02037E90 + ldr r1, _02063C10 ; =FUN_02036AB8 add r0, r4, #0x0 - bl sub_02035D04 + bl FUN_02035D04 pop {r4-r6, pc} .balign 4 -_02063C10: .word sub_02036AB8 + 1 +_02063C10: .word FUN_02036AB8 + 1 - thumb_func_start sub_02063C14 -sub_02063C14: ; 0x02063C14 + thumb_func_start FUN_02063C14 +FUN_02063C14: ; 0x02063C14 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188005,9 +188005,9 @@ sub_02063C14: ; 0x02063C14 pop {r4, pc} _02063C26: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x4 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063C3A mov r0, #0x2 @@ -188015,7 +188015,7 @@ _02063C26: _02063C3A: ldr r0, [r4, #0x4] ldr r0, [r0, #0x38] - bl sub_020553C4 + bl FUN_020553C4 cmp r0, #0x2 bne _02063C4A mov r0, #0x4 @@ -188030,8 +188030,8 @@ _02063C4A: _02063C56: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _02063C6A mov r0, #0x3 @@ -188041,22 +188041,22 @@ _02063C6A: pop {r4, pc} .balign 4 - thumb_func_start sub_02063C70 -sub_02063C70: ; 0x02063C70 + thumb_func_start FUN_02063C70 +FUN_02063C70: ; 0x02063C70 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063CA0 ; =sub_02063CA4 + ldr r1, _02063CA0 ; =FUN_02063CA4 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188065,38 +188065,38 @@ sub_02063C70: ; 0x02063C70 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063CA0: .word sub_02063CA4 + 1 +_02063CA0: .word FUN_02063CA4 + 1 - thumb_func_start sub_02063CA4 -sub_02063CA4: ; 0x02063CA4 + thumb_func_start FUN_02063CA4 +FUN_02063CA4: ; 0x02063CA4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063CDC ; =0x0000271C add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063CDC: .word 0x0000271C - thumb_func_start sub_02063CE0 -sub_02063CE0: ; 0x02063CE0 + thumb_func_start FUN_02063CE0 +FUN_02063CE0: ; 0x02063CE0 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188108,9 +188108,9 @@ sub_02063CE0: ; 0x02063CE0 pop {r4, pc} _02063CF2: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x5 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063D06 mov r0, #0x2 @@ -188127,22 +188127,22 @@ _02063D12: pop {r4, pc} .balign 4 - thumb_func_start sub_02063D18 -sub_02063D18: ; 0x02063D18 + thumb_func_start FUN_02063D18 +FUN_02063D18: ; 0x02063D18 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063D48 ; =sub_02063D4C + ldr r1, _02063D48 ; =FUN_02063D4C lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188151,38 +188151,38 @@ sub_02063D18: ; 0x02063D18 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063D48: .word sub_02063D4C + 1 +_02063D48: .word FUN_02063D4C + 1 - thumb_func_start sub_02063D4C -sub_02063D4C: ; 0x02063D4C + thumb_func_start FUN_02063D4C +FUN_02063D4C: ; 0x02063D4C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063D84 ; =0x0000271A ldr r2, [r4, #0x4] add r0, r5, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063D84: .word 0x0000271A - thumb_func_start sub_02063D88 -sub_02063D88: ; 0x02063D88 + thumb_func_start FUN_02063D88 +FUN_02063D88: ; 0x02063D88 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188194,9 +188194,9 @@ sub_02063D88: ; 0x02063D88 pop {r4, pc} _02063D9A: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x3 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063DAE mov r0, #0x2 @@ -188213,22 +188213,22 @@ _02063DBA: pop {r4, pc} .balign 4 - thumb_func_start sub_02063DC0 -sub_02063DC0: ; 0x02063DC0 + thumb_func_start FUN_02063DC0 +FUN_02063DC0: ; 0x02063DC0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063DF0 ; =sub_02063DF4 + ldr r1, _02063DF0 ; =FUN_02063DF4 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188237,38 +188237,38 @@ sub_02063DC0: ; 0x02063DC0 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063DF0: .word sub_02063DF4 + 1 +_02063DF0: .word FUN_02063DF4 + 1 - thumb_func_start sub_02063DF4 -sub_02063DF4: ; 0x02063DF4 + thumb_func_start FUN_02063DF4 +FUN_02063DF4: ; 0x02063DF4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063E2C ; =0x0000271E add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063E2C: .word 0x0000271E - thumb_func_start sub_02063E30 -sub_02063E30: ; 0x02063E30 + thumb_func_start FUN_02063E30 +FUN_02063E30: ; 0x02063E30 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188280,9 +188280,9 @@ sub_02063E30: ; 0x02063E30 pop {r4, pc} _02063E42: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x0 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063E56 mov r0, #0x2 @@ -188299,22 +188299,22 @@ _02063E62: pop {r4, pc} .balign 4 - thumb_func_start sub_02063E68 -sub_02063E68: ; 0x02063E68 + thumb_func_start FUN_02063E68 +FUN_02063E68: ; 0x02063E68 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063E98 ; =sub_02063E9C + ldr r1, _02063E98 ; =FUN_02063E9C lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188323,38 +188323,38 @@ sub_02063E68: ; 0x02063E68 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063E98: .word sub_02063E9C + 1 +_02063E98: .word FUN_02063E9C + 1 - thumb_func_start sub_02063E9C -sub_02063E9C: ; 0x02063E9C + thumb_func_start FUN_02063E9C +FUN_02063E9C: ; 0x02063E9C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063ED4 ; =0x00002719 ldr r2, [r4, #0x4] add r0, r5, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063ED4: .word 0x00002719 - thumb_func_start sub_02063ED8 -sub_02063ED8: ; 0x02063ED8 + thumb_func_start FUN_02063ED8 +FUN_02063ED8: ; 0x02063ED8 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188366,9 +188366,9 @@ sub_02063ED8: ; 0x02063ED8 pop {r4, pc} _02063EEA: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x7 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063EFE mov r0, #0x2 @@ -188385,22 +188385,22 @@ _02063F0A: pop {r4, pc} .balign 4 - thumb_func_start sub_02063F10 -sub_02063F10: ; 0x02063F10 + thumb_func_start FUN_02063F10 +FUN_02063F10: ; 0x02063F10 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063F40 ; =sub_02063F44 + ldr r1, _02063F40 ; =FUN_02063F44 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188409,38 +188409,38 @@ sub_02063F10: ; 0x02063F10 strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063F40: .word sub_02063F44 + 1 +_02063F40: .word FUN_02063F44 + 1 - thumb_func_start sub_02063F44 -sub_02063F44: ; 0x02063F44 + thumb_func_start FUN_02063F44 +FUN_02063F44: ; 0x02063F44 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02063F7C ; =0x0000271D add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02063F7C: .word 0x0000271D - thumb_func_start sub_02063F80 -sub_02063F80: ; 0x02063F80 + thumb_func_start FUN_02063F80 +FUN_02063F80: ; 0x02063F80 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x4] @@ -188452,9 +188452,9 @@ sub_02063F80: ; 0x02063F80 pop {r4, pc} _02063F92: ldr r0, [r1, #0xc] - bl sub_020238F4 + bl FUN_020238F4 mov r1, #0x6 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 bne _02063FA6 mov r0, #0x2 @@ -188469,8 +188469,8 @@ _02063FA6: _02063FB2: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _02063FC6 mov r0, #0x3 @@ -188480,22 +188480,22 @@ _02063FC6: pop {r4, pc} .balign 4 - thumb_func_start sub_02063FCC -sub_02063FCC: ; 0x02063FCC + thumb_func_start FUN_02063FCC +FUN_02063FCC: ; 0x02063FCC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _02063FFC ; =sub_02064000 + ldr r1, _02063FFC ; =FUN_02064000 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188504,38 +188504,38 @@ sub_02063FCC: ; 0x02063FCC strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_02063FFC: .word sub_02064000 + 1 +_02063FFC: .word FUN_02064000 + 1 - thumb_func_start sub_02064000 -sub_02064000: ; 0x02064000 + thumb_func_start FUN_02064000 +FUN_02064000: ; 0x02064000 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02064038 ; =0x0000271B add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02064038: .word 0x0000271B - thumb_func_start sub_0206403C -sub_0206403C: ; 0x0206403C + thumb_func_start FUN_0206403C +FUN_0206403C: ; 0x0206403C ldr r1, [r0, #0x4] ldr r1, [r1, #0x6c] sub r1, r1, #0x2 @@ -188555,22 +188555,22 @@ _02064058: mov r0, #0x1 bx lr - thumb_func_start sub_0206405C -sub_0206405C: ; 0x0206405C + thumb_func_start FUN_0206405C +FUN_0206405C: ; 0x0206405C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 ldr r0, [r6, #0x4] - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0206408C ; =sub_02064090 + ldr r1, _0206408C ; =FUN_02064090 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188579,38 +188579,38 @@ sub_0206405C: ; 0x0206405C strh r0, [r4, #0x2a] pop {r4-r6, pc} .balign 4 -_0206408C: .word sub_02064090 + 1 +_0206408C: .word FUN_02064090 + 1 - thumb_func_start sub_02064090 -sub_02064090: ; 0x02064090 + thumb_func_start FUN_02064090 +FUN_02064090: ; 0x02064090 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _020640C8 ; =0x0000271F add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _020640C8: .word 0x0000271F - thumb_func_start sub_020640CC -sub_020640CC: ; 0x020640CC + thumb_func_start FUN_020640CC +FUN_020640CC: ; 0x020640CC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -188622,7 +188622,7 @@ sub_020640CC: ; 0x020640CC pop {r4, pc} _020640DE: ldr r0, [r4, #0x0] - bl sub_020348E4 + bl FUN_020348E4 cmp r0, #0x0 bne _020640EC mov r0, #0x1 @@ -188630,8 +188630,8 @@ _020640DE: _020640EC: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _02064100 mov r0, #0x3 @@ -188639,14 +188639,14 @@ _020640EC: _02064100: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F214 + bl FUN_020462AC + bl FUN_0205F214 cmp r0, #0x1 beq _02064120 ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _02064124 _02064120: @@ -188664,26 +188664,26 @@ _0206412E: pop {r4, pc} .balign 4 - thumb_func_start sub_02064134 -sub_02064134: ; 0x02064134 + thumb_func_start FUN_02064134 +FUN_02064134: ; 0x02064134 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C ldrh r1, [r5, #0x4] ldr r2, [r6, #0xc] mov r0, #0xb lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0206439C + bl FUN_0206439C mov r1, #0x72 - ldr r2, _02064170 ; =sub_02064174 + ldr r2, _02064170 ; =FUN_02064174 lsl r1, r1, #0x2 str r2, [r4, r1] add r1, #0x30 @@ -188692,35 +188692,35 @@ sub_02064134: ; 0x02064134 strh r0, [r4, #0x2a] pop {r4-r6, pc} nop -_02064170: .word sub_02064174 + 1 +_02064170: .word FUN_02064174 + 1 - thumb_func_start sub_02064174 -sub_02064174: ; 0x02064174 + thumb_func_start FUN_02064174 +FUN_02064174: ; 0x02064174 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] add r0, r6, #0x0 mov r2, #0x4 - bl sub_0224CB30 + bl FUN_0224CB30 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r1, _020641A8 ; =0x0224CB55 add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_020463EC + bl FUN_020463EC mov r0, #0x0 pop {r4-r6, pc} nop _020641A8: .word 0x0224CB55 - thumb_func_start sub_020641AC -sub_020641AC: ; 0x020641AC + thumb_func_start FUN_020641AC +FUN_020641AC: ; 0x020641AC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4] @@ -188732,11 +188732,11 @@ sub_020641AC: ; 0x020641AC pop {r4, pc} _020641BE: ldr r0, [r4, #0x0] - bl sub_02034930 + bl FUN_02034930 cmp r0, #0x1 bne _020641D2 ldr r0, [r4, #0x0] - bl sub_0203487C + bl FUN_0203487C cmp r0, #0x1 beq _020641D6 _020641D2: @@ -188745,8 +188745,8 @@ _020641D2: _020641D6: ldr r0, [r4, #0x4] ldr r0, [r0, #0xc] - bl sub_020462AC - bl sub_0205ED3C + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x1 bne _020641EA mov r0, #0x3 @@ -188756,26 +188756,26 @@ _020641EA: pop {r4, pc} .balign 4 - thumb_func_start sub_020641F0 -sub_020641F0: ; 0x020641F0 + thumb_func_start FUN_020641F0 +FUN_020641F0: ; 0x020641F0 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0204649C + bl FUN_0204649C ldrh r1, [r5, #0x4] ldr r2, [r6, #0xc] mov r0, #0xb lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_0206439C + bl FUN_0206439C mov r1, #0x72 - ldr r2, _0206422C ; =sub_02064230 + ldr r2, _0206422C ; =FUN_02064230 lsl r1, r1, #0x2 str r2, [r4, r1] add r1, #0x30 @@ -188784,21 +188784,21 @@ sub_020641F0: ; 0x020641F0 strh r0, [r4, #0x2a] pop {r4-r6, pc} nop -_0206422C: .word sub_02064230 + 1 +_0206422C: .word FUN_02064230 + 1 - thumb_func_start sub_02064230 -sub_02064230: ; 0x02064230 + thumb_func_start FUN_02064230 +FUN_02064230: ; 0x02064230 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r2, #0xb - bl sub_0224CA88 + bl FUN_0224CA88 ldr r1, [r4, #0x1c] add r7, r0, #0x0 ldr r1, [r1, #0x0] @@ -188806,25 +188806,25 @@ sub_02064230: ; 0x02064230 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x4 - bl sub_0202914C + bl FUN_0202914C add r4, #0x98 add r1, r0, #0x0 ldr r0, [r4, #0x0] mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r1, _02064280 ; =0x0224CAAD add r0, r5, #0x0 add r2, r7, #0x0 - bl sub_020463EC + bl FUN_020463EC mov r0, #0x0 pop {r3-r7, pc} nop _02064280: .word 0x0224CAAD - thumb_func_start sub_02064284 -sub_02064284: ; 0x02064284 + thumb_func_start FUN_02064284 +FUN_02064284: ; 0x02064284 push {r3, lr} ldr r1, [r0, #0x4] ldr r0, [r1, #0x6c] @@ -188835,8 +188835,8 @@ sub_02064284: ; 0x02064284 pop {r3, pc} _02064294: ldr r0, [r1, #0xc] - bl sub_020462AC - bl sub_0205F244 + bl FUN_020462AC + bl FUN_0205F244 cmp r0, #0x1 bne _020642A6 mov r0, #0x1 @@ -188852,25 +188852,25 @@ _020642B0: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_020642B4 -sub_020642B4: ; 0x020642B4 + thumb_func_start FUN_020642B4 +FUN_020642B4: ; 0x020642B4 push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 ldr r0, [r6, #0x0] - bl sub_0204652C + bl FUN_0204652C ldrh r1, [r6, #0x4] add r4, r0, #0x0 ldr r2, [r5, #0xc] lsl r1, r1, #0x18 mov r0, #0xb lsr r1, r1, #0x18 - bl sub_0206439C + bl FUN_0206439C add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 ldr r1, _0206430C ; =0x021F6361 lsl r0, r0, #0x2 @@ -188885,18 +188885,18 @@ sub_020642B4: ; 0x020642B4 add r2, r0, #0x0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_0202914C + bl FUN_0202914C add r5, #0x98 add r1, r0, #0x0 ldr r0, [r5, #0x0] mov r2, #0x1 - bl sub_02028AD4 + bl FUN_02028AD4 pop {r4-r6, pc} .balign 4 _0206430C: .word 0x021F6361 - thumb_func_start sub_02064310 -sub_02064310: ; 0x02064310 + thumb_func_start FUN_02064310 +FUN_02064310: ; 0x02064310 ldr r0, [r0, #0x4] ldr r0, [r0, #0x6c] sub r0, r0, #0x2 @@ -188909,25 +188909,25 @@ _0206431E: bx lr .balign 4 - thumb_func_start sub_02064324 -sub_02064324: ; 0x02064324 + thumb_func_start FUN_02064324 +FUN_02064324: ; 0x02064324 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] add r6, r1, #0x0 - bl sub_02046528 + bl FUN_02046528 add r7, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02063A5C + bl FUN_02063A5C add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x72 - ldr r1, _0206435C ; =sub_02064360 + ldr r1, _0206435C ; =FUN_02064360 lsl r0, r0, #0x2 str r1, [r4, r0] add r0, #0x30 @@ -188936,64 +188936,64 @@ sub_02064324: ; 0x02064324 strh r0, [r4, #0x2a] pop {r3-r7, pc} .balign 4 -_0206435C: .word sub_02064360 + 1 +_0206435C: .word FUN_02064360 + 1 - thumb_func_start sub_02064360 -sub_02064360: ; 0x02064360 + thumb_func_start FUN_02064360 +FUN_02064360: ; 0x02064360 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 ldr r1, _02064398 ; =0x000022C4 add r0, r5, #0x0 mov r2, #0x0 - bl sub_02038D10 + bl FUN_02038D10 mov r2, #0x0 str r2, [sp, #0x0] ldrh r1, [r4, #0xc] add r0, r6, #0x0 add r3, r2, #0x0 - bl sub_020395BC + bl FUN_020395BC add r0, r4, #0x0 - bl sub_02063A80 + bl FUN_02063A80 mov r0, #0x0 add sp, #0x4 pop {r3-r6, pc} .balign 4 _02064398: .word 0x000022C4 - thumb_func_start sub_0206439C -sub_0206439C: ; 0x0206439C + thumb_func_start FUN_0206439C +FUN_0206439C: ; 0x0206439C push {r4-r6, lr} add r5, r1, #0x0 add r6, r2, #0x0 mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020643C0 -sub_020643C0: ; 0x020643C0 + thumb_func_start FUN_020643C0 +FUN_020643C0: ; 0x020643C0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 - bl sub_020645DC + bl FUN_020645DC add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0206460C + bl FUN_0206460C str r0, [r4, #0xc] str r6, [r4, #0x0] str r5, [r4, #0x8] @@ -189001,26 +189001,26 @@ sub_020643C0: ; 0x020643C0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020643E0 -sub_020643E0: ; 0x020643E0 + thumb_func_start FUN_020643E0 +FUN_020643E0: ; 0x020643E0 push {r4, lr} add r4, r0, #0x0 - bl sub_02064630 + bl FUN_02064630 add r0, r4, #0x0 - bl sub_02064600 + bl FUN_02064600 pop {r4, pc} - thumb_func_start sub_020643F0 -sub_020643F0: ; 0x020643F0 + thumb_func_start FUN_020643F0 +FUN_020643F0: ; 0x020643F0 push {r4, lr} add r4, r0, #0x0 - bl sub_02064558 + bl FUN_02064558 add r0, r4, #0x0 - bl sub_020643E0 + bl FUN_020643E0 pop {r4, pc} - thumb_func_start sub_02064400 -sub_02064400: ; 0x02064400 + thumb_func_start FUN_02064400 +FUN_02064400: ; 0x02064400 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -189028,14 +189028,14 @@ sub_02064400: ; 0x02064400 str r2, [sp, #0x4] str r3, [sp, #0x8] mov r4, #0x0 - bl sub_02064698 + bl FUN_02064698 add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_0206469C + bl FUN_0206469C add r5, r0, #0x0 _0206441C: add r0, r5, #0x0 - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x0 beq _0206442E add r4, r4, #0x1 @@ -189050,62 +189050,62 @@ _0206442E: pop {r4-r7, pc} _02064438: add r0, r5, #0x0 - bl sub_020646AC + bl FUN_020646AC ldr r1, [sp, #0x8] add r0, r5, #0x0 - bl sub_02064750 + bl FUN_02064750 ldr r1, [sp, #0x20] add r0, r5, #0x0 - bl sub_02064758 + bl FUN_02064758 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02064768 + bl FUN_02064768 ldr r1, [sp, #0x4] add r0, r5, #0x0 - bl sub_0206476C + bl FUN_0206476C ldr r1, [r7, #0x0] add r0, r5, #0x0 - bl sub_0206473C + bl FUN_0206473C ldr r1, [r7, #0x4] add r0, r5, #0x0 - bl sub_020646B8 + bl FUN_020646B8 ldr r1, [r7, #0x8] add r0, r5, #0x0 - bl sub_0206470C + bl FUN_0206470C ldr r1, [r7, #0xc] add r0, r5, #0x0 - bl sub_020646D4 + bl FUN_020646D4 ldr r1, [r7, #0x10] add r0, r5, #0x0 - bl sub_020646F0 + bl FUN_020646F0 ldr r1, [r7, #0x14] add r0, r5, #0x0 - bl sub_02064728 + bl FUN_02064728 ldr r1, [r7, #0x18] add r0, r5, #0x0 - bl sub_02064730 + bl FUN_02064730 ldr r1, [sp, #0x24] add r0, r5, #0x0 - bl sub_020645B0 + bl FUN_020645B0 add r4, r0, #0x0 bne _020644AE add r0, r5, #0x0 - bl sub_02064640 + bl FUN_02064640 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} _020644AE: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02064760 + bl FUN_02064760 add r0, r5, #0x0 - bl sub_020646C0 + bl FUN_020646C0 cmp r0, #0x0 bne _020644D2 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 add r0, r5, #0x0 - bl sub_02064640 + bl FUN_02064640 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} @@ -189120,8 +189120,8 @@ _020644D2: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020644E4 -sub_020644E4: ; 0x020644E4 + thumb_func_start FUN_020644E4 +FUN_020644E4: ; 0x020644E4 push {r4-r7, lr} sub sp, #0x24 add r5, r1, #0x0 @@ -189135,66 +189135,66 @@ sub_020644E4: ; 0x020644E4 ldr r0, [r5, #0x0] add r1, r7, #0x0 str r0, [r4, #0x0] - ldr r0, _02064518 ; =sub_0206479C + ldr r0, _02064518 ; =FUN_0206479C str r0, [sp, #0x1c] - ldr r0, _0206451C ; =sub_020647A0 + ldr r0, _0206451C ; =FUN_020647A0 str r0, [sp, #0x20] ldr r0, [sp, #0x38] str r0, [sp, #0x0] ldr r0, [sp, #0x3c] str r0, [sp, #0x4] add r0, r6, #0x0 - bl sub_02064400 + bl FUN_02064400 add sp, #0x24 pop {r4-r7, pc} .balign 4 -_02064518: .word sub_0206479C + 1 -_0206451C: .word sub_020647A0 + 1 +_02064518: .word FUN_0206479C + 1 +_0206451C: .word FUN_020647A0 + 1 - thumb_func_start sub_02064520 -sub_02064520: ; 0x02064520 + thumb_func_start FUN_02064520 +FUN_02064520: ; 0x02064520 push {r4, lr} add r4, r0, #0x0 bne _0206452A - bl sub_02020C2C + bl FUN_02020C2C _0206452A: add r0, r4, #0x0 - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x0 beq _02064556 add r0, r4, #0x0 - bl sub_02064714 + bl FUN_02064714 ldr r1, [r4, #0x14] ldr r0, [r1, #0x4] sub r0, r0, #0x1 str r0, [r1, #0x4] add r0, r4, #0x0 - bl sub_02064764 + bl FUN_02064764 cmp r0, #0x0 beq _02064550 - bl sub_0200CAB4 + bl FUN_0200CAB4 _02064550: add r0, r4, #0x0 - bl sub_02064640 + bl FUN_02064640 _02064556: pop {r4, pc} - thumb_func_start sub_02064558 -sub_02064558: ; 0x02064558 + thumb_func_start FUN_02064558 +FUN_02064558: ; 0x02064558 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02064698 + bl FUN_02064698 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0206469C + bl FUN_0206469C add r5, r0, #0x0 _0206456A: add r0, r5, #0x0 - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x1 bne _0206457A add r0, r5, #0x0 - bl sub_02064520 + bl FUN_02064520 _0206457A: add r5, #0xc8 sub r4, r4, #0x1 @@ -189202,22 +189202,22 @@ _0206457A: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02064584 -sub_02064584: ; 0x02064584 + thumb_func_start FUN_02064584 +FUN_02064584: ; 0x02064584 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02064698 + bl FUN_02064698 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0206469C + bl FUN_0206469C add r5, r0, #0x0 _02064596: add r0, r5, #0x0 - bl sub_020646A0 + bl FUN_020646A0 cmp r0, #0x1 bne _020645A6 add r0, r5, #0x0 - bl sub_020646F8 + bl FUN_020646F8 _020645A6: add r5, #0xc8 sub r4, r4, #0x1 @@ -189225,39 +189225,39 @@ _020645A6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020645B0 -sub_020645B0: ; 0x020645B0 + thumb_func_start FUN_020645B0 +FUN_020645B0: ; 0x020645B0 push {r4, lr} add r3, r0, #0x0 add r2, r1, #0x0 - ldr r0, _020645CC ; =sub_020645D0 + ldr r0, _020645CC ; =FUN_020645D0 add r1, r3, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 add r4, r0, #0x0 bne _020645C6 - bl sub_02020C2C + bl FUN_02020C2C _020645C6: add r0, r4, #0x0 pop {r4, pc} nop -_020645CC: .word sub_020645D0 + 1 +_020645CC: .word FUN_020645D0 + 1 - thumb_func_start sub_020645D0 -sub_020645D0: ; 0x020645D0 - ldr r3, _020645D8 ; =sub_020646DC + thumb_func_start FUN_020645D0 +FUN_020645D0: ; 0x020645D0 + ldr r3, _020645D8 ; =FUN_020646DC add r0, r1, #0x0 bx r3 nop -_020645D8: .word sub_020646DC + 1 +_020645D8: .word FUN_020646DC + 1 - thumb_func_start sub_020645DC -sub_020645DC: ; 0x020645DC + thumb_func_start FUN_020645DC +FUN_020645DC: ; 0x020645DC push {r4, lr} mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _020645EC - bl sub_02020C2C + bl FUN_02020C2C _020645EC: add r2, r4, #0x0 mov r1, #0x10 @@ -189271,90 +189271,90 @@ _020645F2: pop {r4, pc} .balign 4 - thumb_func_start sub_02064600 -sub_02064600: ; 0x02064600 - ldr r3, _02064608 ; =sub_02016A8C + thumb_func_start FUN_02064600 +FUN_02064600: ; 0x02064600 + ldr r3, _02064608 ; =FUN_02016A8C add r1, r0, #0x0 ldr r0, [r1, #0x8] bx r3 .balign 4 -_02064608: .word sub_02016A8C + 1 +_02064608: .word FUN_02016A8C + 1 - thumb_func_start sub_0206460C -sub_0206460C: ; 0x0206460C + thumb_func_start FUN_0206460C +FUN_0206460C: ; 0x0206460C push {r3-r5, lr} mov r2, #0xc8 add r5, r1, #0x0 mul r5, r2 add r1, r5, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02064622 - bl sub_02020C2C + bl FUN_02020C2C _02064622: add r0, r4, #0x0 mov r1, #0x0 add r2, r5, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02064630 -sub_02064630: ; 0x02064630 - ldr r3, _0206463C ; =sub_02016A8C + thumb_func_start FUN_02064630 +FUN_02064630: ; 0x02064630 + ldr r3, _0206463C ; =FUN_02016A8C add r1, r0, #0x0 ldr r0, [r1, #0x8] ldr r1, [r1, #0xc] bx r3 nop -_0206463C: .word sub_02016A8C + 1 +_0206463C: .word FUN_02016A8C + 1 - thumb_func_start sub_02064640 -sub_02064640: ; 0x02064640 + thumb_func_start FUN_02064640 +FUN_02064640: ; 0x02064640 push {r4, lr} mov r1, #0x0 mov r2, #0xc8 add r4, r0, #0x0 - blx sub_020DF4A4 - ldr r1, _02064680 ; =sub_0206478C + blx FUN_020DF4A4 + ldr r1, _02064680 ; =FUN_0206478C add r0, r4, #0x0 - bl sub_020646B8 - ldr r1, _02064684 ; =sub_02064798 + bl FUN_020646B8 + ldr r1, _02064684 ; =FUN_02064798 add r0, r4, #0x0 - bl sub_0206470C - ldr r1, _02064688 ; =sub_02064790 + bl FUN_0206470C + ldr r1, _02064688 ; =FUN_02064790 add r0, r4, #0x0 - bl sub_020646D4 - ldr r1, _0206468C ; =sub_02064794 + bl FUN_020646D4 + ldr r1, _0206468C ; =FUN_02064794 add r0, r4, #0x0 - bl sub_020646F0 - ldr r1, _02064690 ; =sub_0206479C + bl FUN_020646F0 + ldr r1, _02064690 ; =FUN_0206479C add r0, r4, #0x0 - bl sub_02064728 - ldr r1, _02064694 ; =sub_020647A0 + bl FUN_02064728 + ldr r1, _02064694 ; =FUN_020647A0 add r0, r4, #0x0 - bl sub_02064730 + bl FUN_02064730 pop {r4, pc} nop -_02064680: .word sub_0206478C + 1 -_02064684: .word sub_02064798 + 1 -_02064688: .word sub_02064790 + 1 -_0206468C: .word sub_02064794 + 1 -_02064690: .word sub_0206479C + 1 -_02064694: .word sub_020647A0 + 1 +_02064680: .word FUN_0206478C + 1 +_02064684: .word FUN_02064798 + 1 +_02064688: .word FUN_02064790 + 1 +_0206468C: .word FUN_02064794 + 1 +_02064690: .word FUN_0206479C + 1 +_02064694: .word FUN_020647A0 + 1 - thumb_func_start sub_02064698 -sub_02064698: ; 0x02064698 + thumb_func_start FUN_02064698 +FUN_02064698: ; 0x02064698 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_0206469C -sub_0206469C: ; 0x0206469C + thumb_func_start FUN_0206469C +FUN_0206469C: ; 0x0206469C ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_020646A0 -sub_020646A0: ; 0x020646A0 + thumb_func_start FUN_020646A0 +FUN_020646A0: ; 0x020646A0 ldr r1, [r0, #0x0] mov r0, #0x1 tst r1, r0 @@ -189363,8 +189363,8 @@ sub_020646A0: ; 0x020646A0 _020646AA: bx lr - thumb_func_start sub_020646AC -sub_020646AC: ; 0x020646AC + thumb_func_start FUN_020646AC +FUN_020646AC: ; 0x020646AC ldr r2, [r0, #0x0] mov r1, #0x1 orr r1, r2 @@ -189372,18 +189372,18 @@ sub_020646AC: ; 0x020646AC bx lr .balign 4 - thumb_func_start sub_020646B8 -sub_020646B8: ; 0x020646B8 + thumb_func_start FUN_020646B8 +FUN_020646B8: ; 0x020646B8 add r0, #0xb0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020646C0 -sub_020646C0: ; 0x020646C0 + thumb_func_start FUN_020646C0 +FUN_020646C0: ; 0x020646C0 push {r4, lr} add r4, r0, #0x0 - bl sub_02064738 + bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb0 @@ -189391,18 +189391,18 @@ sub_020646C0: ; 0x020646C0 blx r2 pop {r4, pc} - thumb_func_start sub_020646D4 -sub_020646D4: ; 0x020646D4 + thumb_func_start FUN_020646D4 +FUN_020646D4: ; 0x020646D4 add r0, #0xb4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020646DC -sub_020646DC: ; 0x020646DC + thumb_func_start FUN_020646DC +FUN_020646DC: ; 0x020646DC push {r4, lr} add r4, r0, #0x0 - bl sub_02064738 + bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb4 @@ -189410,18 +189410,18 @@ sub_020646DC: ; 0x020646DC blx r2 pop {r4, pc} - thumb_func_start sub_020646F0 -sub_020646F0: ; 0x020646F0 + thumb_func_start FUN_020646F0 +FUN_020646F0: ; 0x020646F0 add r0, #0xb8 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_020646F8 -sub_020646F8: ; 0x020646F8 + thumb_func_start FUN_020646F8 +FUN_020646F8: ; 0x020646F8 push {r4, lr} add r4, r0, #0x0 - bl sub_02064738 + bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xb8 @@ -189429,18 +189429,18 @@ sub_020646F8: ; 0x020646F8 blx r2 pop {r4, pc} - thumb_func_start sub_0206470C -sub_0206470C: ; 0x0206470C + thumb_func_start FUN_0206470C +FUN_0206470C: ; 0x0206470C add r0, #0xbc str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02064714 -sub_02064714: ; 0x02064714 + thumb_func_start FUN_02064714 +FUN_02064714: ; 0x02064714 push {r4, lr} add r4, r0, #0x0 - bl sub_02064738 + bl FUN_02064738 add r1, r0, #0x0 add r0, r4, #0x0 add r4, #0xbc @@ -189448,73 +189448,73 @@ sub_02064714: ; 0x02064714 blx r2 pop {r4, pc} - thumb_func_start sub_02064728 -sub_02064728: ; 0x02064728 + thumb_func_start FUN_02064728 +FUN_02064728: ; 0x02064728 add r0, #0xc0 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02064730 -sub_02064730: ; 0x02064730 + thumb_func_start FUN_02064730 +FUN_02064730: ; 0x02064730 add r0, #0xc4 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02064738 -sub_02064738: ; 0x02064738 + thumb_func_start FUN_02064738 +FUN_02064738: ; 0x02064738 add r0, #0x30 bx lr - thumb_func_start sub_0206473C -sub_0206473C: ; 0x0206473C + thumb_func_start FUN_0206473C +FUN_0206473C: ; 0x0206473C push {r4, lr} add r4, r1, #0x0 - bl sub_02064738 + bl FUN_02064738 mov r1, #0x0 add r2, r4, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 pop {r4, pc} .balign 4 - thumb_func_start sub_02064750 -sub_02064750: ; 0x02064750 + thumb_func_start FUN_02064750 +FUN_02064750: ; 0x02064750 str r1, [r0, #0x4] bx lr - thumb_func_start sub_02064754 -sub_02064754: ; 0x02064754 + thumb_func_start FUN_02064754 +FUN_02064754: ; 0x02064754 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_02064758 -sub_02064758: ; 0x02064758 + thumb_func_start FUN_02064758 +FUN_02064758: ; 0x02064758 str r1, [r0, #0xc] bx lr - thumb_func_start sub_0206475C -sub_0206475C: ; 0x0206475C + thumb_func_start FUN_0206475C +FUN_0206475C: ; 0x0206475C ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_02064760 -sub_02064760: ; 0x02064760 + thumb_func_start FUN_02064760 +FUN_02064760: ; 0x02064760 str r1, [r0, #0x10] bx lr - thumb_func_start sub_02064764 -sub_02064764: ; 0x02064764 + thumb_func_start FUN_02064764 +FUN_02064764: ; 0x02064764 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_02064768 -sub_02064768: ; 0x02064768 + thumb_func_start FUN_02064768 +FUN_02064768: ; 0x02064768 str r1, [r0, #0x14] bx lr - thumb_func_start sub_0206476C -sub_0206476C: ; 0x0206476C + thumb_func_start FUN_0206476C +FUN_0206476C: ; 0x0206476C add r3, r1, #0x0 add r2, r0, #0x0 ldmia r3!, {r0-r1} @@ -189524,8 +189524,8 @@ sub_0206476C: ; 0x0206476C str r0, [r2, #0x0] bx lr - thumb_func_start sub_0206477C -sub_0206477C: ; 0x0206477C + thumb_func_start FUN_0206477C +FUN_0206477C: ; 0x0206477C add r2, r0, #0x0 add r2, #0x24 add r3, r1, #0x0 @@ -189535,45 +189535,45 @@ sub_0206477C: ; 0x0206477C str r0, [r3, #0x0] bx lr - thumb_func_start sub_0206478C -sub_0206478C: ; 0x0206478C + thumb_func_start FUN_0206478C +FUN_0206478C: ; 0x0206478C mov r0, #0x1 bx lr - thumb_func_start sub_02064790 -sub_02064790: ; 0x02064790 + thumb_func_start FUN_02064790 +FUN_02064790: ; 0x02064790 bx lr .balign 4 - thumb_func_start sub_02064794 -sub_02064794: ; 0x02064794 + thumb_func_start FUN_02064794 +FUN_02064794: ; 0x02064794 bx lr .balign 4 - thumb_func_start sub_02064798 -sub_02064798: ; 0x02064798 + thumb_func_start FUN_02064798 +FUN_02064798: ; 0x02064798 bx lr .balign 4 - thumb_func_start sub_0206479C -sub_0206479C: ; 0x0206479C + thumb_func_start FUN_0206479C +FUN_0206479C: ; 0x0206479C bx lr .balign 4 - thumb_func_start sub_020647A0 -sub_020647A0: ; 0x020647A0 + thumb_func_start FUN_020647A0 +FUN_020647A0: ; 0x020647A0 bx lr .balign 4 - thumb_func_start sub_020647A4 -sub_020647A4: ; 0x020647A4 + thumb_func_start FUN_020647A4 +FUN_020647A4: ; 0x020647A4 push {r3-r7, lr} sub sp, #0x30 add r4, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 mov r1, #0x7 - bl sub_020254A0 + bl FUN_020254A0 ldrh r1, [r0, #0x2] ldrh r0, [r0, #0x0] ldr r3, _0206485C ; =0x020F7D70 @@ -189605,12 +189605,12 @@ sub_020647A4: ; 0x020647A4 ldr r0, [r0, #0x0] ldr r1, [r4, #0x2c] mov r3, r12 - bl sub_021E7FBC + bl FUN_021E7FBC add r0, r4, #0x0 add r0, #0xa0 ldr r0, [r0, #0x0] ldr r1, _02064864 ; =0x00000102 - bl sub_021E7ED8 + bl FUN_021E7ED8 str r0, [sp, #0x14] b _0206482C _0206480A: @@ -189625,18 +189625,18 @@ _0206480A: add r0, r4, #0x0 mov r2, #0x2 add r3, sp, #0x14 - bl sub_0204AA5C + bl FUN_0204AA5C cmp r0, #0x0 bne _0206482C - bl sub_02020C2C + bl FUN_02020C2C _0206482C: ldr r1, [sp, #0x14] add r0, sp, #0x18 - bl sub_021E7EA0 + bl FUN_021E7EA0 ldr r0, [sp, #0x14] add r1, sp, #0x18 str r5, [sp, #0x1c] - bl sub_021E7EB0 + bl FUN_021E7EB0 mov r0, #0x2 str r0, [sp, #0x0] str r5, [sp, #0x4] @@ -189647,7 +189647,7 @@ _0206482C: ldr r1, [r6, #0x8] ldr r2, [r6, #0xc] mov r0, #0x0 - bl sub_021F44D8 + bl FUN_021F44D8 add sp, #0x30 pop {r3-r7, pc} nop @@ -189656,18 +189656,18 @@ _02064860: .word 0x020F7D64 _02064864: .word 0x00000102 _02064868: .word 0x020F7D4C - thumb_func_start sub_0206486C -sub_0206486C: ; 0x0206486C + thumb_func_start FUN_0206486C +FUN_0206486C: ; 0x0206486C push {r3-r5, lr} add r4, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r5, r0, #0x0 mov r1, #0x7 - bl sub_02025490 + bl FUN_02025490 add r0, r5, #0x0 mov r1, #0x7 - bl sub_020254A0 + bl FUN_020254A0 mov r3, #0x1 str r3, [r0, #0x4] mov r2, #0x0 @@ -189758,19 +189758,19 @@ _02064910: .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x12, 0x29, 0x01, 0xD1, 0x02, 0x80 .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x08, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD _020649A0: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} nop _020649A8: .word 0x00000123 _020649AC: .word 0x00000125 - thumb_func_start sub_020649B0 -sub_020649B0: ; 0x020649B0 + thumb_func_start FUN_020649B0 +FUN_020649B0: ; 0x020649B0 push {r3, lr} - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 mov r1, #0x7 - bl sub_020254A0 + bl FUN_020254A0 ldr r0, [r0, #0x4] cmp r0, #0x0 beq _020649CA @@ -189784,14 +189784,14 @@ _020649CC: pop {r3, pc} .balign 4 - thumb_func_start sub_020649D4 -sub_020649D4: ; 0x020649D4 + thumb_func_start FUN_020649D4 +FUN_020649D4: ; 0x020649D4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 mov r1, #0x7 - bl sub_020254A0 + bl FUN_020254A0 add r4, r0, #0x0 ldrh r1, [r4, #0x2] mov r0, #0x18 @@ -189807,7 +189807,7 @@ sub_020649D4: ; 0x020649D4 _020649FE: mov r0, #0xb mov r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] @@ -189827,11 +189827,11 @@ _020649FE: add r3, r1, #0x0 mul r3, r0 ldr r0, _02064A60 ; =0x020F7D74 - ldr r1, _02064A64 ; =sub_02064A70 + ldr r1, _02064A64 ; =FUN_02064A70 ldr r0, [r0, r3] str r0, [r2, #0x4] ldr r0, [r5, #0x10] - bl sub_0204640C + bl FUN_0204640C mov r0, #0x1 strh r0, [r4, #0x0] pop {r3-r5, pc} @@ -189843,7 +189843,7 @@ _02064A3E: ldr r0, [r0, r3] str r0, [r2, #0x4] ldr r0, [r5, #0x10] - bl sub_0204640C + bl FUN_0204640C mov r0, #0x0 strh r0, [r4, #0x0] _02064A54: @@ -189852,19 +189852,19 @@ _02064A54: _02064A58: .word 0x020F7D80 _02064A5C: .word 0x020F7D84 _02064A60: .word 0x020F7D74 -_02064A64: .word sub_02064A70 + 1 +_02064A64: .word FUN_02064A70 + 1 _02064A68: .word 0x020F7D70 _02064A6C: .word 0x02064B71 - thumb_func_start sub_02064A70 -sub_02064A70: ; 0x02064A70 + thumb_func_start FUN_02064A70 +FUN_02064A70: ; 0x02064A70 push {r4-r5, lr} sub sp, #0x1c add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x3 @@ -189881,9 +189881,9 @@ sub_02064A70: ; 0x02064A70 lsl r2, r7, #0x2 ldr r0, [r5, #0x38] mov r1, #0x0 - bl sub_02055560 + bl FUN_02055560 ldr r0, [r4, #0xc] - bl sub_02064C64 + bl FUN_02064C64 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -189924,75 +189924,75 @@ _02064B64: .byte 0x30, 0xBD, 0x00, 0x20, 0x07, 0xB0, 0x30, 0xBD, 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02 .byte 0x1A, 0x06, 0x00, 0x00 - thumb_func_start sub_02064C64 -sub_02064C64: ; 0x02064C64 + thumb_func_start FUN_02064C64 +FUN_02064C64: ; 0x02064C64 push {r3, lr} cmp r0, #0x0 bne _02064C72 ldr r0, _02064C7C ; =0x00000611 - bl sub_020054C8 + bl FUN_020054C8 pop {r3, pc} _02064C72: ldr r0, _02064C80 ; =0x00000614 - bl sub_020054C8 + bl FUN_020054C8 pop {r3, pc} nop _02064C7C: .word 0x00000611 _02064C80: .word 0x00000614 - thumb_func_start sub_02064C84 -sub_02064C84: ; 0x02064C84 + thumb_func_start FUN_02064C84 +FUN_02064C84: ; 0x02064C84 push {r3, lr} cmp r0, #0x0 bne _02064C94 ldr r0, _02064CA0 ; =0x00000611 mov r1, #0x0 - bl sub_020054F0 + bl FUN_020054F0 pop {r3, pc} _02064C94: ldr r0, _02064CA4 ; =0x00000614 mov r1, #0x0 - bl sub_020054F0 + bl FUN_020054F0 pop {r3, pc} nop _02064CA0: .word 0x00000611 _02064CA4: .word 0x00000614 - thumb_func_start sub_02064CA8 -sub_02064CA8: ; 0x02064CA8 + thumb_func_start FUN_02064CA8 +FUN_02064CA8: ; 0x02064CA8 push {r4, lr} - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x1 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020254A0 + bl FUN_020254A0 mov r1, #0x1 strb r1, [r0, #0x0] pop {r4, pc} - thumb_func_start sub_02064CC8 -sub_02064CC8: ; 0x02064CC8 + thumb_func_start FUN_02064CC8 +FUN_02064CC8: ; 0x02064CC8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x2 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x2 - bl sub_020254A0 + bl FUN_020254A0 add r4, r0, #0x0 ldr r0, [r5, #0x1c] ldr r0, [r0, #0xc] cmp r0, #0x16 bne _02064D08 ldr r0, [r5, #0xc] - bl sub_020462AC - bl sub_0205ECEC + bl FUN_020462AC + bl FUN_0205ECEC cmp r0, #0x0 beq _02064D02 mov r0, #0x0 @@ -190008,17 +190008,17 @@ _02064D08: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02064D10 -sub_02064D10: ; 0x02064D10 + thumb_func_start FUN_02064D10 +FUN_02064D10: ; 0x02064D10 push {r4-r6, lr} - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x3 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x3 - bl sub_020254A0 + bl FUN_020254A0 ldr r5, _02064D48 ; =0x020F7E54 add r6, r0, #0x0 mov r4, #0x0 @@ -190027,7 +190027,7 @@ _02064D30: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r2, r6, #0x0 - bl sub_02064DEC + bl FUN_02064DEC add r4, r4, #0x1 add r5, r5, #0x1 cmp r4, #0x18 @@ -190036,17 +190036,17 @@ _02064D30: nop _02064D48: .word 0x020F7E54 - thumb_func_start sub_02064D4C -sub_02064D4C: ; 0x02064D4C + thumb_func_start FUN_02064D4C +FUN_02064D4C: ; 0x02064D4C push {r4-r6, lr} - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x4 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x4 - bl sub_020254A0 + bl FUN_020254A0 ldr r5, _02064D84 ; =0x020F7E48 add r6, r0, #0x0 mov r4, #0x0 @@ -190055,7 +190055,7 @@ _02064D6C: lsl r0, r4, #0x18 lsr r0, r0, #0x18 add r2, r6, #0x0 - bl sub_02064DEC + bl FUN_02064DEC add r4, r4, #0x1 add r5, r5, #0x1 cmp r4, #0xc @@ -190064,24 +190064,24 @@ _02064D6C: nop _02064D84: .word 0x020F7E48 - thumb_func_start sub_02064D88 -sub_02064D88: ; 0x02064D88 + thumb_func_start FUN_02064D88 +FUN_02064D88: ; 0x02064D88 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 cmp r5, #0x3 blo _02064D96 - bl sub_02020C2C + bl FUN_02020C2C _02064D96: add r0, r7, #0x0 - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 mov r1, #0x5 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x5 - bl sub_020254A0 + bl FUN_020254A0 add r4, r0, #0x0 str r5, [r4, #0x4] cmp r5, #0x0 @@ -190107,7 +190107,7 @@ _02064DD2: mov r6, #0x19 b _02064DDE _02064DDA: - bl sub_02020C2C + bl FUN_02020C2C _02064DDE: ldr r0, [r7, #0x1c] ldr r0, [r0, #0xc] @@ -190118,15 +190118,15 @@ _02064DDE: _02064DEA: pop {r3-r7, pc} - thumb_func_start sub_02064DEC -sub_02064DEC: ; 0x02064DEC + thumb_func_start FUN_02064DEC +FUN_02064DEC: ; 0x02064DEC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x1 bls _02064DFC - bl sub_02020C2C + bl FUN_02020C2C _02064DFC: mov r0, #0x0 mvn r0, r0 @@ -190147,40 +190147,40 @@ _02064DFC: str r0, [r6, #0x0] pop {r4-r6, pc} - thumb_func_start sub_02064E20 -sub_02064E20: ; 0x02064E20 + thumb_func_start FUN_02064E20 +FUN_02064E20: ; 0x02064E20 push {r4, lr} - bl sub_020377AC - bl sub_02024ED8 + bl FUN_020377AC + bl FUN_02024ED8 add r4, r0, #0x0 - bl sub_020254B4 + bl FUN_020254B4 cmp r0, #0x6 beq _02064E48 add r0, r4, #0x0 mov r1, #0x6 - bl sub_02025490 + bl FUN_02025490 add r0, r4, #0x0 mov r1, #0x6 - bl sub_020254A0 + bl FUN_020254A0 mov r1, #0x2 strh r1, [r0, #0x0] _02064E48: pop {r4, pc} .balign 4 - thumb_func_start sub_02064E4C -sub_02064E4C: ; 0x02064E4C + thumb_func_start FUN_02064E4C +FUN_02064E4C: ; 0x02064E4C push {r4, lr} add r4, r2, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x0 add r1, r4, #0x0 add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 pop {r4, pc} - thumb_func_start sub_02064E60 -sub_02064E60: ; 0x02064E60 + thumb_func_start FUN_02064E60 +FUN_02064E60: ; 0x02064E60 push {r4-r6, lr} add r6, r2, #0x0 add r5, r0, #0x0 @@ -190188,22 +190188,22 @@ sub_02064E60: ; 0x02064E60 ldr r2, _02064E8C ; =0x0000017E mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02034824 + bl FUN_02034824 add r1, r0, #0x0 add r0, r4, #0x0 add r2, r6, #0x0 - bl sub_02064E4C + bl FUN_02064E4C add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 _02064E8C: .word 0x0000017E - thumb_func_start sub_02064E90 -sub_02064E90: ; 0x02064E90 + thumb_func_start FUN_02064E90 +FUN_02064E90: ; 0x02064E90 push {r3-r7, lr} sub sp, #0xa0 str r0, [sp, #0x10] @@ -190213,49 +190213,49 @@ sub_02064E90: ; 0x02064E90 add r0, r6, #0x0 str r3, [sp, #0x1c] ldr r5, [sp, #0xbc] - bl sub_020377AC + bl FUN_020377AC str r0, [sp, #0x20] - bl sub_020238F4 + bl FUN_020238F4 add r7, r0, #0x0 ldr r0, [sp, #0x20] - bl sub_02029FC8 + bl FUN_02029FC8 add r4, r0, #0x0 ldr r0, [sp, #0x1c] strb r0, [r5, #0x5] add r0, r6, #0x0 - bl sub_02065078 + bl FUN_02065078 str r0, [sp, #0x24] add r0, r7, #0x0 - bl sub_02023A70 + bl FUN_02023A70 str r0, [sp, #0x0] str r5, [sp, #0x4] ldr r0, [sp, #0x10] ldr r2, [sp, #0x24] ldr r3, [sp, #0x18] mov r1, #0xa - bl sub_02065154 + bl FUN_02065154 add r0, r7, #0x0 - bl sub_020239C0 + bl FUN_020239C0 str r0, [sp, #0x28] add r0, r7, #0x0 - bl sub_020239CC + bl FUN_020239CC str r0, [sp, #0x2c] add r0, r7, #0x0 - bl sub_0202398C + bl FUN_0202398C str r0, [sp, #0x30] add r0, r7, #0x0 - bl sub_02023A10 + bl FUN_02023A10 str r0, [sp, #0x34] ldr r0, [r6, #0xc] - bl sub_02024DA0 - bl sub_02024440 + bl FUN_02024DA0 + bl FUN_02024440 str r0, [sp, #0x38] ldr r0, [r6, #0xc] - bl sub_02024DA0 - bl sub_02024D64 + bl FUN_02024DA0 + bl FUN_02024D64 str r0, [sp, #0x3c] add r0, r4, #0x0 - bl sub_0202A1B8 + bl FUN_0202A1B8 ldr r1, [sp, #0x38] ldr r2, [sp, #0x30] str r1, [sp, #0x0] @@ -190268,21 +190268,21 @@ sub_02064E90: ; 0x02064E90 lsl r1, r1, #0x18 lsr r1, r1, #0x18 str r5, [sp, #0xc] - bl sub_02065178 + bl FUN_02065178 ldr r0, [sp, #0x20] - bl sub_02023918 + bl FUN_02023918 str r0, [sp, #0x40] add r0, r6, #0x0 add r1, sp, #0x90 add r2, sp, #0x74 - bl sub_0204B2F0 + bl FUN_0204B2F0 add r0, r6, #0x0 add r1, sp, #0x80 add r2, sp, #0x74 - bl sub_0204B30C + bl FUN_0204B30C ldr r0, [r6, #0xc] - bl sub_020462AC - bl sub_0205ED0C + bl FUN_020462AC + bl FUN_0205ED0C add r1, sp, #0x74 str r1, [sp, #0x0] ldr r1, [sp, #0x14] @@ -190293,33 +190293,33 @@ sub_02064E90: ; 0x02064E90 lsr r0, r0, #0x18 add r2, sp, #0x90 add r3, sp, #0x80 - bl sub_020651BC + bl FUN_020651BC ldr r0, [r6, #0xc] - bl sub_02029ABC + bl FUN_02029ABC str r0, [sp, #0x44] add r0, r4, #0x0 mov r1, #0x20 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x48] add r0, r4, #0x0 mov r1, #0x19 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x4c] add r0, r4, #0x0 mov r1, #0x14 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x50] add r0, r4, #0x0 mov r1, #0x18 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0x40 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x58] add r0, r4, #0x0 mov r1, #0x13 - bl sub_0202A150 + bl FUN_0202A150 ldr r1, [sp, #0x58] add r1, r1, r0 ldr r0, [sp, #0x54] @@ -190331,30 +190331,30 @@ sub_02064E90: ; 0x02064E90 str r0, [sp, #0x5c] add r0, r4, #0x0 mov r1, #0x15 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x60] add r0, r4, #0x0 mov r1, #0x1a - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x64] add r0, r4, #0x0 mov r1, #0x16 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x68] add r0, r4, #0x0 mov r1, #0x1b - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x6c] add r0, r4, #0x0 mov r1, #0x13 - bl sub_0202A150 + bl FUN_0202A150 str r0, [sp, #0x70] add r0, r4, #0x0 mov r1, #0x18 - bl sub_0202A150 + bl FUN_0202A150 add r4, r0, #0x0 ldr r0, [sp, #0x44] - bl sub_02029AC8 + bl FUN_02029AC8 str r0, [sp, #0x0] ldr r1, [sp, #0x48] ldr r0, [sp, #0x5c] @@ -190368,11 +190368,11 @@ sub_02064E90: ; 0x02064E90 add r2, r3, r2 ldr r3, [sp, #0x70] add r3, r3, r4 - bl sub_02065260 + bl FUN_02065260 add r0, r7, #0x0 add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_020652AC + bl FUN_020652AC mov r3, #0x0 ldr r0, _0206504C ; =0x0000066C add r2, r3, #0x0 @@ -190393,43 +190393,43 @@ _02065034: _0206504C: .word 0x0000066C _02065050: .word 0x00000668 - thumb_func_start sub_02065054 -sub_02065054: ; 0x02065054 + thumb_func_start FUN_02065054 +FUN_02065054: ; 0x02065054 push {r4, lr} ldr r1, _0206506C ; =0x0000066C - bl sub_02016998 + bl FUN_02016998 ldr r2, _0206506C ; =0x0000066C mov r1, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r4, pc} nop _0206506C: .word 0x0000066C - thumb_func_start sub_02065070 -sub_02065070: ; 0x02065070 - ldr r3, _02065074 ; =sub_02016A18 + thumb_func_start FUN_02065070 +FUN_02065070: ; 0x02065070 + ldr r3, _02065074 ; =FUN_02016A18 bx r3 .balign 4 -_02065074: .word sub_02016A18 + 1 +_02065074: .word FUN_02016A18 + 1 - thumb_func_start sub_02065078 -sub_02065078: ; 0x02065078 + thumb_func_start FUN_02065078 +FUN_02065078: ; 0x02065078 push {r3-r7, lr} - bl sub_020377AC + bl FUN_020377AC add r7, r0, #0x0 - bl sub_02029FC8 + bl FUN_02029FC8 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_020462AC + bl FUN_020462AC add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_02026CB4 + bl FUN_02026CB4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r4, #0x0 - bl sub_0205ED0C + bl FUN_0205ED0C cmp r0, #0x0 beq _020650A8 add r0, r4, #0x1 @@ -190437,8 +190437,8 @@ sub_02065078: ; 0x02065078 lsr r4, r0, #0x18 _020650A8: add r0, r7, #0x0 - bl sub_02024DA0 - bl sub_020244EC + bl FUN_02024DA0 + bl FUN_020244EC cmp r0, #0x0 beq _020650BC add r0, r4, #0x1 @@ -190447,27 +190447,27 @@ _020650A8: _020650BC: add r0, r6, #0x0 mov r1, #0x35 - bl sub_0202A150 + bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x37 - bl sub_0202A150 + bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x39 - bl sub_0202A150 + bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x3b - bl sub_0202A150 + bl FUN_0202A150 cmp r0, #0x64 bhs _020650F8 add r0, r6, #0x0 mov r1, #0x3d - bl sub_0202A150 + bl FUN_0202A150 cmp r0, #0x64 blo _020650FE _020650F8: @@ -190477,27 +190477,27 @@ _020650F8: _020650FE: add r0, r5, #0x0 mov r1, #0x0 - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x1 - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x3 - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x4 - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 bne _0206513A add r0, r5, #0x0 mov r1, #0x2 - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 beq _02065140 _0206513A: @@ -190506,7 +190506,7 @@ _0206513A: lsr r4, r0, #0x18 _02065140: ldr r0, [sp, #0x0] - bl sub_020268D4 + bl FUN_020268D4 cmp r0, #0x1 bne _02065150 add r0, r4, #0x1 @@ -190516,8 +190516,8 @@ _02065150: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02065154 -sub_02065154: ; 0x02065154 + thumb_func_start FUN_02065154 +FUN_02065154: ; 0x02065154 push {r3-r6} ldr r5, [sp, #0x14] mov r6, #0x1 @@ -190537,8 +190537,8 @@ sub_02065154: ; 0x02065154 bx lr .balign 4 - thumb_func_start sub_02065178 -sub_02065178: ; 0x02065178 + thumb_func_start FUN_02065178 +FUN_02065178: ; 0x02065178 push {r4-r6, lr} ldr r4, [sp, #0x1c] add r6, r1, #0x0 @@ -190555,7 +190555,7 @@ sub_02065178: ; 0x02065178 add r0, #0x8 mov r2, #0x8 add r5, r3, #0x0 - bl sub_02002268 + bl FUN_02002268 ldr r0, [sp, #0x10] str r5, [r4, #0x1c] str r0, [r4, #0x20] @@ -190573,8 +190573,8 @@ sub_02065178: ; 0x02065178 str r0, [r4, #0x24] pop {r4-r6, pc} - thumb_func_start sub_020651BC -sub_020651BC: ; 0x020651BC + thumb_func_start FUN_020651BC +FUN_020651BC: ; 0x020651BC push {r3-r7, lr} sub sp, #0x8 ldr r4, [sp, #0x28] @@ -190584,10 +190584,10 @@ sub_020651BC: ; 0x020651BC add r5, r2, #0x0 add r6, r3, #0x0 ldr r7, [sp, #0x20] - bl sub_02029EBC + bl FUN_02029EBC strh r0, [r4, #0x2a] ldr r0, [sp, #0x4] - bl sub_02029EC0 + bl FUN_02029EC0 add r1, r4, #0x0 add r1, #0x2e strb r0, [r1, #0x0] @@ -190659,8 +190659,8 @@ _02065258: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02065260 -sub_02065260: ; 0x02065260 + thumb_func_start FUN_02065260 +FUN_02065260: ; 0x02065260 push {r3-r5, lr} ldr r4, [sp, #0x14] ldr r5, _020652A0 ; =0x000F423F @@ -190694,22 +190694,22 @@ _02065290: ldr r0, [sp, #0x10] add r1, r4, #0x0 lsl r2, r2, #0x8 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r3-r5, pc} .balign 4 _020652A0: .word 0x000F423F _020652A4: .word 0x0000270F _020652A8: .word 0x0001869F - thumb_func_start sub_020652AC -sub_020652AC: ; 0x020652AC + thumb_func_start FUN_020652AC +FUN_020652AC: ; 0x020652AC push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] ldr r0, [r1, #0xc] add r5, r2, #0x0 - bl sub_02029ABC - bl sub_02029ACC + bl FUN_02029ABC + bl FUN_02029ACC str r0, [sp, #0x4] mov r0, #0x1 mov r4, #0x0 @@ -190719,7 +190719,7 @@ sub_020652AC: ; 0x020652AC _020652CA: ldr r0, [sp, #0x0] add r1, r4, #0x0 - bl sub_020239D0 + bl FUN_020239D0 cmp r0, #0x0 beq _020652E6 lsl r0, r4, #0x2 @@ -190740,7 +190740,7 @@ _020652E6: _020652F2: ldr r1, [sp, #0x4] add r0, r4, #0x0 - bl sub_02029AD0 + bl FUN_02029AD0 ldr r2, [r6, #0x0] mov r1, #0x1 and r1, r2 @@ -190755,13 +190755,13 @@ _020652F2: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_02065314 -sub_02065314: ; 0x02065314 + thumb_func_start FUN_02065314 +FUN_02065314: ; 0x02065314 push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 - bl sub_02029ABC - bl sub_02029ACC + bl FUN_02029ABC + bl FUN_02029ACC add r6, r0, #0x0 mov r4, #0x0 _02065326: @@ -190771,7 +190771,7 @@ _02065326: add r0, r4, #0x0 asr r1, r1, #0x1 add r2, r6, #0x0 - bl sub_02029AD8 + bl FUN_02029AD8 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -190780,35 +190780,35 @@ _02065326: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02065344 -sub_02065344: ; 0x02065344 + thumb_func_start FUN_02065344 +FUN_02065344: ; 0x02065344 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 mov r0, #0x0 str r0, [r4, #0x0] ldr r0, [r5, #0x78] - bl sub_02052E38 + bl FUN_02052E38 str r0, [r4, #0x4] ldr r0, [r5, #0x10] - ldr r1, _0206536C ; =sub_02065370 + ldr r1, _0206536C ; =FUN_02065370 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_0206536C: .word sub_02065370 + 1 +_0206536C: .word FUN_02065370 + 1 - thumb_func_start sub_02065370 -sub_02065370: ; 0x02065370 + thumb_func_start FUN_02065370 +FUN_02065370: ; 0x02065370 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r5, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0xa @@ -190828,7 +190828,7 @@ _0206539A: b _020653E2 _020653A0: ldr r0, [r4, #0x78] - bl sub_02052ED0 + bl FUN_02052ED0 mov r0, #0x1 str r0, [r5, #0x0] _020653AA: @@ -190843,19 +190843,19 @@ _020653AA: _020653BA: ldr r1, [r5, #0x4] add r0, r4, #0x0 - bl sub_02038680 + bl FUN_02038680 mov r0, #0xb str r0, [r5, #0x0] b _020653E2 _020653C8: add r0, r4, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _020653E2 ldr r0, [r4, #0x78] - bl sub_02052EAC + bl FUN_02052EAC add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020653E2: @@ -190864,8 +190864,8 @@ _020653E2: nop _020653E8: .word 0x0000066A - thumb_func_start sub_020653EC -sub_020653EC: ; 0x020653EC + thumb_func_start FUN_020653EC +FUN_020653EC: ; 0x020653EC push {r4-r6, lr} mov r2, #0x5 add r5, r0, #0x0 @@ -190873,19 +190873,19 @@ sub_020653EC: ; 0x020653EC mov r0, #0x3 mov r1, #0x2b lsl r2, r2, #0xc - bl sub_0201681C + bl FUN_0201681C mov r1, #0x6e mov r0, #0x2b lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 mov r2, #0x6e mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 str r6, [r4, #0x4] - bl sub_020377AC + bl FUN_020377AC mov r1, #0x5b lsl r1, r1, #0x2 str r5, [r4, r1] @@ -190896,113 +190896,113 @@ sub_020653EC: ; 0x020653EC mov r1, #0xff add r6, r0, #0x0 strb r1, [r4, #0x1a] - bl sub_02023900 - bl sub_02024FF4 + bl FUN_02023900 + bl FUN_02024FF4 strb r0, [r4, #0x16] add r0, r6, #0x0 - bl sub_02023900 - bl sub_02025084 + bl FUN_02023900 + bl FUN_02025084 strh r0, [r4, #0x14] add r0, r4, #0x0 ldr r2, [r4, #0x0] add r0, #0x1c mov r1, #0x14 - bl sub_02066010 + bl FUN_02066010 ldr r2, [r4, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02066070 + bl FUN_02066070 add r0, r4, #0x0 - bl sub_02066270 - ldr r0, _02065470 ; =sub_020654B0 + bl FUN_02066270 + ldr r0, _02065470 ; =FUN_020654B0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0x8] pop {r4-r6, pc} .balign 4 -_02065470: .word sub_020654B0 + 1 +_02065470: .word FUN_020654B0 + 1 - thumb_func_start sub_02065474 -sub_02065474: ; 0x02065474 + thumb_func_start FUN_02065474 +FUN_02065474: ; 0x02065474 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x8] - bl sub_0200CAB4 + bl FUN_0200CAB4 ldr r0, [r4, #0x4] mov r1, #0x1 str r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_020662E4 + bl FUN_020662E4 add r0, r4, #0x0 add r0, #0x1c mov r1, #0x14 - bl sub_02066044 + bl FUN_02066044 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x0] - bl sub_020168D0 + bl FUN_020168D0 pop {r4, pc} .balign 4 - thumb_func_start sub_020654A4 -sub_020654A4: ; 0x020654A4 - ldr r3, _020654AC ; =sub_02065474 + thumb_func_start FUN_020654A4 +FUN_020654A4: ; 0x020654A4 + ldr r3, _020654AC ; =FUN_02065474 add r0, r1, #0x0 bx r3 nop -_020654AC: .word sub_02065474 + 1 +_020654AC: .word FUN_02065474 + 1 - thumb_func_start sub_020654B0 -sub_020654B0: ; 0x020654B0 + thumb_func_start FUN_020654B0 +FUN_020654B0: ; 0x020654B0 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02066334 + bl FUN_02066334 add r0, r4, #0x0 - bl sub_02065AF4 - ldr r1, _020654CC ; =sub_020654D0 + bl FUN_02065AF4 + ldr r1, _020654CC ; =FUN_020654D0 add r0, r5, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 pop {r3-r5, pc} .balign 4 -_020654CC: .word sub_020654D0 + 1 +_020654CC: .word FUN_020654D0 + 1 - thumb_func_start sub_020654D0 -sub_020654D0: ; 0x020654D0 + thumb_func_start FUN_020654D0 +FUN_020654D0: ; 0x020654D0 push {r3-r5, lr} mov r0, #0x16 add r5, r1, #0x0 lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_02001204 + bl FUN_02001204 add r4, r0, #0x0 mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] cmp r0, #0x0 beq _020654EE - bl sub_0205EC18 + bl FUN_0205EC18 _020654EE: ldr r0, _02065544 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x2 tst r0, r1 beq _0206550A - ldr r1, _02065548 ; =sub_02065658 - ldr r2, _0206554C ; =sub_020654A4 + ldr r1, _02065548 ; =FUN_02065658 + ldr r2, _0206554C ; =FUN_020654A4 add r0, r5, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 ldr r0, _02065550 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 pop {r3-r5, pc} _0206550A: mov r0, #0x1 tst r0, r1 beq _02065542 ldr r0, _02065550 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r1, #0x1 mvn r1, r1 cmp r4, r1 @@ -191014,28 +191014,28 @@ _0206550A: cmp r4, r0 bne _02065536 _0206552A: - ldr r1, _02065548 ; =sub_02065658 - ldr r2, _0206554C ; =sub_020654A4 + ldr r1, _02065548 ; =FUN_02065658 + ldr r2, _0206554C ; =FUN_020654A4 add r0, r5, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 pop {r3-r5, pc} _02065536: - ldr r1, _02065548 ; =sub_02065658 - ldr r2, _02065554 ; =sub_02065558 + ldr r1, _02065548 ; =FUN_02065658 + ldr r2, _02065554 ; =FUN_02065558 add r0, r5, #0x0 strb r4, [r5, #0x18] - bl sub_02065FE4 + bl FUN_02065FE4 _02065542: pop {r3-r5, pc} .balign 4 _02065544: .word 0x021C48B8 -_02065548: .word sub_02065658 + 1 -_0206554C: .word sub_020654A4 + 1 +_02065548: .word FUN_02065658 + 1 +_0206554C: .word FUN_020654A4 + 1 _02065550: .word 0x000005DC -_02065554: .word sub_02065558 + 1 +_02065554: .word FUN_02065558 + 1 - thumb_func_start sub_02065558 -sub_02065558: ; 0x02065558 + thumb_func_start FUN_02065558 +FUN_02065558: ; 0x02065558 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -191047,65 +191047,65 @@ sub_02065558: ; 0x02065558 pop {r3-r5, pc} _0206556A: add r0, r4, #0x0 - bl sub_02066334 + bl FUN_02066334 mov r1, #0x0 add r0, r4, #0x0 add r2, r1, #0x0 - bl sub_02065DD8 + bl FUN_02065DD8 mov r0, #0x1 str r0, [sp, #0x0] mov r1, #0x0 ldrb r2, [r4, #0x16] add r0, r4, #0x0 add r3, r1, #0x0 - bl sub_02066404 + bl FUN_02066404 ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] pop {r3-r5, pc} _02065592: add r0, r4, #0x0 - bl sub_020664F4 + bl FUN_020664F4 cmp r0, #0x0 beq _020655A8 - ldr r1, _020655AC ; =sub_020655B0 + ldr r1, _020655AC ; =FUN_020655B0 add r0, r5, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 mov r0, #0x0 strh r0, [r4, #0x10] _020655A8: pop {r3-r5, pc} nop -_020655AC: .word sub_020655B0 + 1 +_020655AC: .word FUN_020655B0 + 1 - thumb_func_start sub_020655B0 -sub_020655B0: ; 0x020655B0 + thumb_func_start FUN_020655B0 +FUN_020655B0: ; 0x020655B0 push {r4-r6, lr} add r6, r0, #0x0 mov r0, #0x16 add r4, r1, #0x0 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02001204 + bl FUN_02001204 add r5, r0, #0x0 ldr r0, _02065638 ; =0x021C48B8 mov r1, #0x2 ldr r0, [r0, #0x48] tst r1, r0 beq _020655DE - ldr r1, _0206563C ; =sub_02065674 - ldr r2, _02065640 ; =sub_020654B0 + ldr r1, _0206563C ; =FUN_02065674 + ldr r2, _02065640 ; =FUN_020654B0 add r0, r4, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 ldr r0, _02065644 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 pop {r4-r6, pc} _020655DE: mov r1, #0x1 tst r0, r1 beq _02065634 ldr r0, _02065644 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x2 cmp r0, #0x5 bhi _0206562C @@ -191121,60 +191121,60 @@ _020655DE: lsl r6, r2, #0 lsl r2, r4, #0 lsl r2, r1, #0 - ldr r1, _0206563C ; =sub_02065674 - ldr r2, _02065640 ; =sub_020654B0 + ldr r1, _0206563C ; =FUN_02065674 + ldr r2, _02065640 ; =FUN_020654B0 add r0, r4, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 pop {r4-r6, pc} _02065614: .byte 0x0C, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xE3, 0xFC, 0x70, 0xBD .byte 0x0A, 0x49, 0x0B, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xFC, 0x70, 0xBD _0206562C: - ldr r1, _02065654 ; =sub_02065690 + ldr r1, _02065654 ; =FUN_02065690 add r0, r6, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 _02065634: pop {r4-r6, pc} nop _02065638: .word 0x021C48B8 -_0206563C: .word sub_02065674 + 1 -_02065640: .word sub_020654B0 + 1 +_0206563C: .word FUN_02065674 + 1 +_02065640: .word FUN_020654B0 + 1 _02065644: .word 0x000005DC _02065648: .byte 0x11, 0x57, 0x06, 0x02, 0x95, 0x58, 0x06, 0x02 .byte 0x39, 0x59, 0x06, 0x02 -_02065654: .word sub_02065690 + 1 +_02065654: .word FUN_02065690 + 1 - thumb_func_start sub_02065658 -sub_02065658: ; 0x02065658 + thumb_func_start FUN_02065658 +FUN_02065658: ; 0x02065658 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02065EF8 + bl FUN_02065EF8 add r0, r4, #0x0 - bl sub_020663D4 + bl FUN_020663D4 ldr r1, [r4, #0xc] add r0, r5, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 pop {r3-r5, pc} - thumb_func_start sub_02065674 -sub_02065674: ; 0x02065674 + thumb_func_start FUN_02065674 +FUN_02065674: ; 0x02065674 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_02065F8C + bl FUN_02065F8C add r0, r4, #0x0 - bl sub_020663D4 + bl FUN_020663D4 ldr r1, [r4, #0xc] add r0, r5, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 pop {r3-r5, pc} - thumb_func_start sub_02065690 -sub_02065690: ; 0x02065690 + thumb_func_start FUN_02065690 +FUN_02065690: ; 0x02065690 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -191193,12 +191193,12 @@ sub_02065690: ; 0x02065690 lsl r4, r6, #0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02066578 + bl FUN_02066578 cmp r0, #0x0 beq _0206570A add r0, r4, #0x0 mov r1, #0x1 - bl sub_02066634 + bl FUN_02066634 b _02065704 _020656C6: .byte 0x20, 0x1C, 0x01, 0xF0, 0x2E, 0xF8, 0x00, 0x28, 0x19, 0xD1 @@ -191215,8 +191215,8 @@ _0206570A: _0206570C: .byte 0xD1, 0x54, 0x06, 0x02 - thumb_func_start sub_02065710 -sub_02065710: ; 0x02065710 + thumb_func_start FUN_02065710 +FUN_02065710: ; 0x02065710 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 @@ -191240,7 +191240,7 @@ sub_02065710: ; 0x02065710 ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02066404 + bl FUN_02066404 b _020657DA _02065744: .byte 0x20, 0x1C, 0x00, 0xF0, 0xD5, 0xFE, 0x00, 0x28, 0x48, 0xD0, 0x20, 0x1C @@ -191263,8 +191263,8 @@ _020657E4: .byte 0x75, 0x56, 0x06, 0x02, 0xB1, 0x54, 0x06, 0x02, 0xB9, 0x59, 0x06, 0x02 .byte 0xF5, 0x57, 0x06, 0x02 - thumb_func_start sub_020657F4 -sub_020657F4: ; 0x020657F4 + thumb_func_start FUN_020657F4 +FUN_020657F4: ; 0x020657F4 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 @@ -191281,14 +191281,14 @@ _0206580A: cmp r0, #0x0 bne _02065820 add r0, r4, #0x0 - bl sub_02066334 + bl FUN_02066334 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x1 - bl sub_02065DD8 + bl FUN_02065DD8 _02065820: add r0, r4, #0x0 - bl sub_020661A0 + bl FUN_020661A0 cmp r0, #0x0 beq _0206583C mov r0, #0x1 @@ -191297,7 +191297,7 @@ _02065820: add r0, r4, #0x0 mov r1, #0x3 mov r3, #0x0 - bl sub_02066404 + bl FUN_02066404 b _0206587E _0206583C: mov r0, #0x1 @@ -191306,11 +191306,11 @@ _0206583C: add r0, r4, #0x0 mov r1, #0x4 mov r3, #0x0 - bl sub_02066404 + bl FUN_02066404 b _0206587E _0206584E: add r0, r4, #0x0 - bl sub_020664F4 + bl FUN_020664F4 cmp r0, #0x0 bne _0206587E add sp, #0x4 @@ -191322,11 +191322,11 @@ _0206585C: tst r0, r1 beq _02065884 add r0, r4, #0x0 - bl sub_020664D8 - ldr r1, _0206588C ; =sub_02065674 - ldr r2, _02065890 ; =sub_020654B0 + bl FUN_020664D8 + ldr r1, _0206588C ; =FUN_02065674 + ldr r2, _02065890 ; =FUN_020654B0 add r0, r4, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] @@ -191340,11 +191340,11 @@ _02065884: pop {r3-r4, pc} .balign 4 _02065888: .word 0x021C48B8 -_0206588C: .word sub_02065674 + 1 -_02065890: .word sub_020654B0 + 1 +_0206588C: .word FUN_02065674 + 1 +_02065890: .word FUN_020654B0 + 1 - thumb_func_start sub_02065894 -sub_02065894: ; 0x02065894 + thumb_func_start FUN_02065894 +FUN_02065894: ; 0x02065894 push {r3-r5, lr} add r4, r1, #0x0 ldrh r0, [r4, #0x10] @@ -191362,12 +191362,12 @@ sub_02065894: ; 0x02065894 lsl r6, r6, #0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02066578 + bl FUN_02066578 cmp r0, #0x0 beq _02065932 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02066634 + bl FUN_02066634 b _0206592C _020658C8: .byte 0x20, 0x1C, 0x0E, 0x21, 0x00, 0xF0, 0xCA, 0xFE @@ -191386,8 +191386,8 @@ _02065932: _02065934: .byte 0xB1, 0x54, 0x06, 0x02 - thumb_func_start sub_02065938 -sub_02065938: ; 0x02065938 + thumb_func_start FUN_02065938 +FUN_02065938: ; 0x02065938 push {r3-r4, lr} sub sp, #0x4 add r4, r1, #0x0 @@ -191401,22 +191401,22 @@ sub_02065938: ; 0x02065938 b _020659A0 _0206594E: add r0, r4, #0x0 - bl sub_02066334 + bl FUN_02066334 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x2 - bl sub_02065DD8 + bl FUN_02065DD8 mov r0, #0x1 str r0, [sp, #0x0] ldrb r2, [r4, #0x16] add r0, r4, #0x0 mov r1, #0x5 mov r3, #0x0 - bl sub_02066404 + bl FUN_02066404 b _020659A0 _02065970: add r0, r4, #0x0 - bl sub_020664F4 + bl FUN_020664F4 cmp r0, #0x0 bne _020659A0 add sp, #0x4 @@ -191428,11 +191428,11 @@ _0206597E: tst r0, r1 beq _020659A6 add r0, r4, #0x0 - bl sub_020664D8 - ldr r1, _020659B0 ; =sub_02065674 - ldr r2, _020659B4 ; =sub_020654B0 + bl FUN_020664D8 + ldr r1, _020659B0 ; =FUN_02065674 + ldr r2, _020659B4 ; =FUN_020654B0 add r0, r4, #0x0 - bl sub_02065FE4 + bl FUN_02065FE4 mov r0, #0x0 add sp, #0x4 strh r0, [r4, #0x10] @@ -191446,11 +191446,11 @@ _020659A6: pop {r3-r4, pc} nop _020659AC: .word 0x021C48B8 -_020659B0: .word sub_02065674 + 1 -_020659B4: .word sub_020654B0 + 1 +_020659B0: .word FUN_02065674 + 1 +_020659B4: .word FUN_020654B0 + 1 - thumb_func_start sub_020659B8 -sub_020659B8: ; 0x020659B8 + thumb_func_start FUN_020659B8 +FUN_020659B8: ; 0x020659B8 push {r4-r6, lr} add r4, r1, #0x0 ldrh r0, [r4, #0x10] @@ -191472,12 +191472,12 @@ _020659C4: lsl r2, r6, #0x3 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02066578 + bl FUN_02066578 cmp r0, #0x0 beq _02065AE6 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02066634 + bl FUN_02066634 mov r0, #0x1b lsl r0, r0, #0x4 ldrb r2, [r4, #0x18] @@ -191487,7 +191487,7 @@ _020659C4: add r1, r4, r1 ldrh r1, [r1, #0x22] ldr r2, [r4, #0x0] - bl sub_0206EEF8 + bl FUN_0206EEF8 cmp r0, #0x0 ldr r1, _02065AE8 ; =0x0000013B beq _02065A1A @@ -191529,14 +191529,14 @@ _02065AEC: .byte 0xF5, 0x57, 0x06, 0x02 .byte 0xB1, 0x54, 0x06, 0x02 - thumb_func_start sub_02065AF4 -sub_02065AF4: ; 0x02065AF4 + thumb_func_start FUN_02065AF4 +FUN_02065AF4: ; 0x02065AF4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r6, #0x0 - bl sub_0205EB38 + bl FUN_0205EB38 mov r1, #0x69 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -191544,47 +191544,47 @@ sub_02065AF4: ; 0x02065AF4 mov r1, #0xc8 mov r2, #0xa mov r3, #0x8a - bl sub_0205EC48 + bl FUN_0205EC48 mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r6, #0x0 mov r2, #0x1 - bl sub_0205EC6C + bl FUN_0205EC6C mov r0, #0x69 lsl r0, r0, #0x2 mov r1, #0x1 ldr r0, [r5, r0] add r2, r1, #0x0 - bl sub_0205EC6C + bl FUN_0205EC6C mov r1, #0x17 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r2, _02065CD8 ; =0x020F7E7C add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x17 lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, #0x24 ldr r2, _02065CDC ; =0x020F7E84 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 ldrb r0, [r5, #0x1b] ldr r1, [r5, #0x0] add r0, r0, #0x1 - bl sub_02012838 + bl FUN_02012838 mov r1, #0x59 lsl r1, r1, #0x2 add r7, r5, #0x0 @@ -191603,7 +191603,7 @@ _02065B7E: ldr r1, [r2, #0x8] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] - bl sub_020128A0 + bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 @@ -191619,7 +191619,7 @@ _02065B9E: sub r1, #0x4c ldr r1, [r5, r1] ldr r2, _02065CE0 ; =0x0000FFFF - bl sub_020128A0 + bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x18 mov r1, #0x5 @@ -191628,7 +191628,7 @@ _02065B9E: ldr r0, _02065CE4 ; =0x020F7E8C add r1, r5, r1 mov r2, #0x20 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r1, #0x5d lsl r1, r1, #0x2 add r0, r1, #0x0 @@ -191658,11 +191658,11 @@ _02065B9E: sub r0, #0x1d strb r2, [r5, r0] add r0, r1, #0x0 - ldr r2, _02065CE8 ; =sub_02065D4C + ldr r2, _02065CE8 ; =FUN_02065D4C sub r0, #0x30 str r2, [r5, r0] add r0, r1, #0x0 - ldr r2, _02065CEC ; =sub_02065CFC + ldr r2, _02065CEC ; =FUN_02065CFC sub r0, #0x2c str r2, [r5, r0] add r0, r1, #0x0 @@ -191718,7 +191718,7 @@ _02065C64: lsl r3, r3, #0x18 ldrh r2, [r5, r2] lsr r3, r3, #0x18 - bl sub_020010A8 + bl FUN_020010A8 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -191727,7 +191727,7 @@ _02065C64: ldr r2, _02065CF4 ; =0x000003D9 mov r1, #0x0 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r1, #0x0 str r1, [sp, #0x0] mov r2, #0x65 @@ -191740,19 +191740,19 @@ _02065C64: sub r2, #0x78 ldr r2, [r5, r2] mov r3, #0x2 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x65 lsl r0, r0, #0x2 ldr r2, _02065CF4 ; =0x000003D9 add r0, r5, r0 mov r1, #0x0 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 ldr r1, _02065CF0 ; =0x0000013B mov r0, #0xf ldrb r2, [r5, r1] @@ -191765,19 +191765,19 @@ _02065CD8: .word 0x020F7E7C _02065CDC: .word 0x020F7E84 _02065CE0: .word 0x0000FFFF _02065CE4: .word 0x020F7E8C -_02065CE8: .word sub_02065D4C + 1 -_02065CEC: .word sub_02065CFC + 1 +_02065CE8: .word FUN_02065D4C + 1 +_02065CEC: .word FUN_02065CFC + 1 _02065CF0: .word 0x0000013B _02065CF4: .word 0x000003D9 _02065CF8: .word 0x0001020F - thumb_func_start sub_02065CFC -sub_02065CFC: ; 0x02065CFC + thumb_func_start FUN_02065CFC +FUN_02065CFC: ; 0x02065CFC push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x13 add r5, r0, #0x0 - bl sub_02001470 + bl FUN_02001470 ldr r1, _02065D48 ; =0x0000FFFF cmp r4, r1 bne _02065D1C @@ -191785,7 +191785,7 @@ sub_02065CFC: ; 0x02065CFC mov r1, #0x1 mov r2, #0xf mov r3, #0x2 - bl sub_020013E8 + bl FUN_020013E8 pop {r3-r5, pc} _02065D1C: mov r1, #0xc @@ -191799,41 +191799,41 @@ _02065D1C: mov r1, #0x3 mov r2, #0xf mov r3, #0x4 - bl sub_020013E8 + bl FUN_020013E8 pop {r3-r5, pc} _02065D38: add r0, r5, #0x0 mov r1, #0x7 mov r2, #0xf mov r3, #0x8 - bl sub_020013E8 + bl FUN_020013E8 pop {r3-r5, pc} nop _02065D48: .word 0x0000FFFF - thumb_func_start sub_02065D4C -sub_02065D4C: ; 0x02065D4C + thumb_func_start FUN_02065D4C +FUN_02065D4C: ; 0x02065D4C push {r3-r6, lr} sub sp, #0x4 mov r1, #0x13 add r4, r0, #0x0 add r6, r2, #0x0 - bl sub_02001470 + bl FUN_02001470 add r1, sp, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r1, #0x2 add r2, sp, #0x0 - bl sub_02001448 + bl FUN_02001448 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02001470 + bl FUN_02001470 lsl r0, r0, #0x10 lsr r4, r0, #0x10 cmp r6, #0x0 bne _02065D7E ldr r0, _02065DD4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 _02065D7E: add r0, sp, #0x0 ldrh r0, [r0, #0x2] @@ -191844,7 +191844,7 @@ _02065D7E: mov r1, #0x0 ldr r0, [r5, r0] add r2, r1, #0x0 - bl sub_0205EC6C + bl FUN_0205EC6C b _02065DA4 _02065D96: mov r0, #0x69 @@ -191852,7 +191852,7 @@ _02065D96: ldr r0, [r5, r0] mov r1, #0x0 mov r2, #0x1 - bl sub_0205EC6C + bl FUN_0205EC6C _02065DA4: add r0, sp, #0x0 ldrh r1, [r0, #0x2] @@ -191864,7 +191864,7 @@ _02065DA4: mov r1, #0x1 ldr r0, [r5, r0] add r2, r1, #0x0 - bl sub_0205EC6C + bl FUN_0205EC6C add sp, #0x4 pop {r3-r6, pc} _02065DC0: @@ -191873,14 +191873,14 @@ _02065DC0: ldr r0, [r5, r0] mov r1, #0x1 mov r2, #0x0 - bl sub_0205EC6C + bl FUN_0205EC6C add sp, #0x4 pop {r3-r6, pc} nop _02065DD4: .word 0x000005DC - thumb_func_start sub_02065DD8 -sub_02065DD8: ; 0x02065DD8 + thumb_func_start FUN_02065DD8 +FUN_02065DD8: ; 0x02065DD8 push {r3-r7, lr} sub sp, #0x8 str r1, [sp, #0x0] @@ -191888,7 +191888,7 @@ sub_02065DD8: ; 0x02065DD8 str r2, [sp, #0x4] ldr r1, [r5, #0x0] mov r0, #0x4 - bl sub_02012838 + bl FUN_02012838 mov r1, #0x59 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -191898,12 +191898,12 @@ sub_02065DD8: ; 0x02065DD8 ldr r0, [r5, r0] ldr r2, _02065EC8 ; =0x020F7E74 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 mov r7, #0x43 ldr r6, _02065ECC ; =0x020F7EAC mov r4, #0x0 @@ -191917,7 +191917,7 @@ _02065E14: ldr r1, [r5, r7] ldr r2, [r6, r2] ldr r3, [r3, #0x4] - bl sub_02012880 + bl FUN_02012880 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -191928,7 +191928,7 @@ _02065E14: ldr r0, _02065ED0 ; =0x020F7E8C add r1, r5, r1 mov r2, #0x20 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x5d lsl r0, r0, #0x2 add r1, r0, #0x0 @@ -191961,7 +191961,7 @@ _02065E14: strh r2, [r5, r1] add r1, r0, #0x0 sub r0, #0x34 - ldr r2, _02065ED8 ; =sub_02065EE4 + ldr r2, _02065ED8 ; =FUN_02065EE4 sub r1, #0x30 str r2, [r5, r1] ldr r3, [r5, #0x0] @@ -191970,7 +191970,7 @@ _02065E14: ldr r2, [sp, #0x4] add r0, r5, r0 lsr r3, r3, #0x18 - bl sub_020010A8 + bl FUN_020010A8 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -191979,12 +191979,12 @@ _02065E14: ldr r2, _02065EDC ; =0x000003D9 mov r1, #0x0 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 ldr r1, _02065EE0 ; =0x0000013B mov r0, #0xf ldrb r2, [r5, r1] @@ -191999,24 +191999,24 @@ _02065EC8: .word 0x020F7E74 _02065ECC: .word 0x020F7EAC _02065ED0: .word 0x020F7E8C _02065ED4: .word 0xFFFFFE7F -_02065ED8: .word sub_02065EE4 + 1 +_02065ED8: .word FUN_02065EE4 + 1 _02065EDC: .word 0x000003D9 _02065EE0: .word 0x0000013B - thumb_func_start sub_02065EE4 -sub_02065EE4: ; 0x02065EE4 + thumb_func_start FUN_02065EE4 +FUN_02065EE4: ; 0x02065EE4 push {r3, lr} cmp r2, #0x0 bne _02065EF0 ldr r0, _02065EF4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 _02065EF0: pop {r3, pc} nop _02065EF4: .word 0x000005DC - thumb_func_start sub_02065EF8 -sub_02065EF8: ; 0x02065EF8 + thumb_func_start FUN_02065EF8 +FUN_02065EF8: ; 0x02065EF8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -192026,37 +192026,37 @@ sub_02065EF8: ; 0x02065EF8 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_02001300 + bl FUN_02001300 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019570 + bl FUN_02019570 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019570 + bl FUN_02019570 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 add r0, sp, #0x0 mov r1, #0x4f ldrh r2, [r0, #0x2] @@ -192069,7 +192069,7 @@ sub_02065EF8: ; 0x02065EF8 ldr r0, [r4, r1] cmp r0, #0x0 beq _02065F7C - bl sub_0205EBEC + bl FUN_0205EBEC mov r0, #0x69 mov r1, #0x0 lsl r0, r0, #0x2 @@ -192079,64 +192079,64 @@ _02065F7C: lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02065F8C -sub_02065F8C: ; 0x02065F8C + thumb_func_start FUN_02065F8C +FUN_02065F8C: ; 0x02065F8C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019570 + bl FUN_02019570 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x16 lsl r0, r0, #0x4 add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_02001300 + bl FUN_02001300 mov r0, #0x59 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x5d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 add r0, r4, #0x0 - bl sub_020664D8 + bl FUN_020664D8 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02065FE4 -sub_02065FE4: ; 0x02065FE4 + thumb_func_start FUN_02065FE4 +FUN_02065FE4: ; 0x02065FE4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x8] add r4, r2, #0x0 - bl sub_0201B6C4 + bl FUN_0201B6C4 mov r0, #0x0 strh r0, [r5, #0x10] str r4, [r5, #0xc] pop {r3-r5, pc} - thumb_func_start sub_02065FF8 -sub_02065FF8: ; 0x02065FF8 + thumb_func_start FUN_02065FF8 +FUN_02065FF8: ; 0x02065FF8 push {r3, lr} strb r1, [r0, #0x0] mov r1, #0x0 @@ -192146,12 +192146,12 @@ sub_02065FF8: ; 0x02065FF8 ldr r0, [r0, #0x8] cmp r0, #0x0 beq _0206600E - bl sub_02021A4C + bl FUN_02021A4C _0206600E: pop {r3, pc} - thumb_func_start sub_02066010 -sub_02066010: ; 0x02066010 + thumb_func_start FUN_02066010 +FUN_02066010: ; 0x02066010 push {r3-r7, lr} add r6, r1, #0x0 add r5, r0, #0x0 @@ -192162,14 +192162,14 @@ sub_02066010: ; 0x02066010 _0206601E: mov r0, #0x8 add r1, r7, #0x0 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0xc mul r1, r4 add r1, r5, r1 str r0, [r1, #0x8] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02065FF8 + bl FUN_02065FF8 add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -192179,8 +192179,8 @@ _02066040: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02066044 -sub_02066044: ; 0x02066044 + thumb_func_start FUN_02066044 +FUN_02066044: ; 0x02066044 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 @@ -192194,7 +192194,7 @@ _02066050: ldr r0, [r0, #0x8] cmp r0, #0x0 beq _02066060 - bl sub_02021A20 + bl FUN_02021A20 _02066060: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -192206,26 +192206,26 @@ _0206606A: .balign 4 _0206606C: .word 0x00000000 - thumb_func_start sub_02066070 -sub_02066070: ; 0x02066070 + thumb_func_start FUN_02066070 +FUN_02066070: ; 0x02066070 push {r4-r7, lr} sub sp, #0x14 add r4, r1, #0x0 add r6, r0, #0x0 add r0, r4, #0x0 add r5, r2, #0x0 - bl sub_02025838 + bl FUN_02025838 mov r1, #0x6b lsl r1, r1, #0x2 str r0, [sp, #0x4] str r0, [r6, r1] add r0, r4, #0x0 - bl sub_0206F158 + bl FUN_0206F158 mov r1, #0x1b lsl r1, r1, #0x4 str r0, [r6, r1] add r0, r5, #0x0 - bl sub_020256BC + bl FUN_020256BC add r7, r0, #0x0 add r0, r6, #0x0 str r0, [sp, #0x10] @@ -192241,7 +192241,7 @@ _020660AE: mov r1, #0x0 add r2, r4, #0x0 add r3, r7, #0x0 - bl sub_020258D4 + bl FUN_020258D4 mov r0, #0xc mul r0, r4 ldr r1, [sp, #0x8] @@ -192256,30 +192256,30 @@ _020660AE: add r0, r0, r2 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02065FF8 + bl FUN_02065FF8 ldr r1, [sp, #0x8] ldr r0, [sp, #0xc] strb r4, [r1, r0] add r0, r7, #0x0 - bl sub_020256AC + bl FUN_020256AC cmp r0, #0x0 beq _02066134 mov r0, #0x1 strb r0, [r5, #0x1] add r0, r7, #0x0 - bl sub_020257C8 + bl FUN_020257C8 strb r0, [r5, #0x4] add r0, r7, #0x0 - bl sub_020257CC + bl FUN_020257CC strb r0, [r5, #0x5] ldrb r0, [r5, #0x5] - bl sub_0206EAD8 + bl FUN_0206EAD8 strh r0, [r5, #0x6] add r0, r7, #0x0 - bl sub_020257C4 + bl FUN_020257C4 add r1, r0, #0x0 ldr r0, [r5, #0x8] - bl sub_02021E28 + bl FUN_02021E28 ldrb r0, [r6, #0x19] strb r0, [r5, #0x2] ldrb r1, [r5, #0x0] @@ -192315,12 +192315,12 @@ _02066134: add r0, r6, r0 strb r2, [r0, #0x1e] add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_02066160 -sub_02066160: ; 0x02066160 + thumb_func_start FUN_02066160 +FUN_02066160: ; 0x02066160 push {r3-r6} add r2, r1, #0x0 mov r3, #0xc @@ -192354,8 +192354,8 @@ sub_02066160: ; 0x02066160 .balign 4 _0206619C: .word 0x0000013B - thumb_func_start sub_020661A0 -sub_020661A0: ; 0x020661A0 + thumb_func_start FUN_020661A0 +FUN_020661A0: ; 0x020661A0 push {r4-r6, lr} add r5, r0, #0x0 ldrb r1, [r5, #0x18] @@ -192370,7 +192370,7 @@ sub_020661A0: ; 0x020661A0 ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 - bl sub_0206ED24 + bl FUN_0206ED24 add r6, r0, #0x0 beq _020661D4 mov r0, #0x1b @@ -192379,26 +192379,26 @@ sub_020661A0: ; 0x020661A0 ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 - bl sub_0206ED38 + bl FUN_0206ED38 _020661D4: mov r0, #0x6b lsl r0, r0, #0x2 ldrb r2, [r5, #0x18] ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02025878 + bl FUN_02025878 ldrb r1, [r5, #0x18] add r0, r5, #0x0 - bl sub_02066160 + bl FUN_02066160 ldrb r1, [r5, #0x18] add r0, r4, #0x0 - bl sub_02065FF8 + bl FUN_02065FF8 add r0, r6, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020661F8 -sub_020661F8: ; 0x020661F8 + thumb_func_start FUN_020661F8 +FUN_020661F8: ; 0x020661F8 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 @@ -192415,17 +192415,17 @@ sub_020661F8: ; 0x020661F8 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020377AC - bl sub_0206BB1C + bl FUN_020377AC + bl FUN_0206BB1C add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r2, r0, #0x0 mov r0, #0x6b lsl r0, r0, #0x2 ldrb r1, [r5, #0x18] ldr r0, [r5, r0] ldr r3, [r5, #0x0] - bl sub_020856A0 + bl FUN_020856A0 cmp r6, #0x0 beq _0206625E mov r0, #0x1b @@ -192434,7 +192434,7 @@ sub_020661F8: ; 0x020661F8 ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 - bl sub_0206ED24 + bl FUN_0206ED24 cmp r0, #0x0 beq _0206625E mov r0, #0x1b @@ -192443,19 +192443,19 @@ sub_020661F8: ; 0x020661F8 ldr r0, [r5, r0] ldr r3, [r5, #0x0] mov r2, #0x1 - bl sub_0206ED38 + bl FUN_0206ED38 _0206625E: ldrb r1, [r5, #0x18] add r0, r5, #0x0 - bl sub_02066160 + bl FUN_02066160 ldrb r1, [r5, #0x18] add r0, r4, #0x0 - bl sub_02065FF8 + bl FUN_02065FF8 _0206626E: pop {r3-r7, pc} - thumb_func_start sub_02066270 -sub_02066270: ; 0x02066270 + thumb_func_start FUN_02066270 +FUN_02066270: ; 0x02066270 push {r3-r7, lr} add r6, r0, #0x0 mov r2, #0x5a @@ -192463,34 +192463,34 @@ sub_02066270: ; 0x02066270 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C mov r1, #0x43 lsl r1, r1, #0x2 str r0, [r6, r1] ldr r2, [r6, #0x0] mov r0, #0x1 mov r1, #0x80 - bl sub_0200AA90 + bl FUN_0200AA90 mov r1, #0x11 lsl r1, r1, #0x4 str r0, [r6, r1] ldr r1, [r6, #0x0] mov r0, #0x80 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0x45 lsl r1, r1, #0x2 str r0, [r6, r1] sub r1, #0x8 ldr r0, [r6, r1] mov r1, #0x4 - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x46 lsl r1, r1, #0x2 str r0, [r6, r1] sub r1, #0xc ldr r0, [r6, r1] mov r1, #0x0 - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x47 lsl r1, r1, #0x2 str r0, [r6, r1] @@ -192502,7 +192502,7 @@ _020662CC: lsl r0, r0, #0x2 ldr r0, [r6, r0] add r1, r4, #0x6 - bl sub_0200A914 + bl FUN_0200A914 str r0, [r5, r7] add r4, r4, #0x1 add r5, r5, #0x4 @@ -192510,8 +192510,8 @@ _020662CC: blt _020662CC pop {r3-r7, pc} - thumb_func_start sub_020662E4 -sub_020662E4: ; 0x020662E4 + thumb_func_start FUN_020662E4 +FUN_020662E4: ; 0x020662E4 push {r3-r7, lr} add r6, r0, #0x0 mov r7, #0x12 @@ -192520,7 +192520,7 @@ sub_020662E4: ; 0x020662E4 lsl r7, r7, #0x4 _020662F0: ldr r0, [r5, r7] - bl sub_02021A20 + bl FUN_02021A20 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x6 @@ -192528,35 +192528,35 @@ _020662F0: mov r0, #0x47 lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x46 lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x45 lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x11 lsl r0, r0, #0x4 ldr r0, [r6, r0] - bl sub_0200AB18 + bl FUN_0200AB18 mov r0, #0x43 lsl r0, r0, #0x2 ldr r0, [r6, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02066334 -sub_02066334: ; 0x02066334 + thumb_func_start FUN_02066334 +FUN_02066334: ; 0x02066334 push {r3-r4, lr} sub sp, #0x14 add r4, r0, #0x0 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020377A8 + bl FUN_020377A8 mov r1, #0x17 lsl r1, r1, #0x4 str r0, [r4, r1] @@ -192570,7 +192570,7 @@ sub_02066334: ; 0x02066334 str r0, [sp, #0x4] ldr r0, [r4, r1] mov r1, #0x3 - bl sub_0200CD68 + bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [r4, #0x0] @@ -192581,17 +192581,17 @@ sub_02066334: ; 0x02066334 ldr r0, [r4, r0] mov r1, #0x3 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r1, #0x1a ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x4 - bl sub_02002ED0 + bl FUN_02002ED0 mov r1, #0x6 ldr r2, [r4, #0x0] mov r0, #0x0 lsl r1, r1, #0x6 - bl sub_02002EEC + bl FUN_02002EEC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b @@ -192609,12 +192609,12 @@ sub_02066334: ; 0x02066334 add r1, r4, r1 mov r2, #0x3 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add sp, #0x14 pop {r3-r4, pc} .balign 4 @@ -192622,32 +192622,32 @@ _020663C8: .word 0x000003E2 _020663CC: .word 0x000003D9 _020663D0: .word 0x0000036D - thumb_func_start sub_020663D4 -sub_020663D4: ; 0x020663D4 + thumb_func_start FUN_020663D4 +FUN_020663D4: ; 0x020663D4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019570 + bl FUN_02019570 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 mov r2, #0x10 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x17 mov r1, #0x0 lsl r0, r0, #0x4 str r1, [r4, r0] pop {r4, pc} - thumb_func_start sub_02066404 -sub_02066404: ; 0x02066404 + thumb_func_start FUN_02066404 +FUN_02066404: ; 0x02066404 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -192663,7 +192663,7 @@ sub_02066404: ; 0x02066404 add r0, r5, r0 mov r1, #0x1 mov r3, #0xa - bl sub_0200D0BC + bl FUN_0200D0BC _02066426: mov r1, #0xd8 str r1, [sp, #0x0] @@ -192674,17 +192674,17 @@ _02066426: add r0, r5, r1 mov r1, #0xff add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 mov r0, #0x1 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x0 - bl sub_02002B7C + bl FUN_02002B7C cmp r4, #0x0 bne _02066494 mov r0, #0x45 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02021A4C + bl FUN_02021A4C mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x2 @@ -192699,7 +192699,7 @@ _02066426: ldr r2, [r2, #0x24] mov r1, #0x0 mov r3, #0x2 - bl sub_0200ABB4 + bl FUN_0200ABB4 mov r2, #0x11 lsl r2, r2, #0x4 lsl r3, r4, #0x2 @@ -192709,7 +192709,7 @@ _02066426: add r2, #0x10 ldr r1, [r5, r1] ldr r2, [r3, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r0, #0x45 lsl r0, r0, #0x2 ldr r2, [r5, r0] @@ -192731,13 +192731,13 @@ _0206649E: add r0, r5, r0 mov r1, #0x1 str r3, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r1, #0x4e lsl r1, r1, #0x2 strb r0, [r5, r1] add r1, #0x4c add r0, r5, r1 - bl sub_020191D0 + bl FUN_020191D0 ldr r0, _020664D4 ; =0x00000139 strb r7, [r5, r0] add sp, #0x10 @@ -192747,29 +192747,29 @@ _020664CC: .word 0x000003E2 _020664D0: .word 0x0001020F _020664D4: .word 0x00000139 - thumb_func_start sub_020664D8 -sub_020664D8: ; 0x020664D8 + thumb_func_start FUN_020664D8 +FUN_020664D8: ; 0x020664D8 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019570 + bl FUN_02019570 pop {r4, pc} - thumb_func_start sub_020664F4 -sub_020664F4: ; 0x020664F4 + thumb_func_start FUN_020664F4 +FUN_020664F4: ; 0x020664F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x4e lsl r0, r0, #0x2 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 beq _0206650A mov r0, #0x0 @@ -192780,15 +192780,15 @@ _0206650A: cmp r0, #0x0 beq _02066518 add r0, r4, #0x0 - bl sub_020664D8 + bl FUN_020664D8 _02066518: mov r0, #0x1 pop {r4, pc} .balign 4 _0206651C: .word 0x00000139 - thumb_func_start sub_02066520 -sub_02066520: ; 0x02066520 + thumb_func_start FUN_02066520 +FUN_02066520: ; 0x02066520 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -192800,7 +192800,7 @@ sub_02066520: ; 0x02066520 ldr r0, [r4, r0] ldr r2, _02066548 ; =0x000003D9 mov r3, #0xb - bl sub_02002198 + bl FUN_02002198 mov r1, #0x5a lsl r1, r1, #0x2 str r0, [r4, r1] @@ -192810,15 +192810,15 @@ sub_02066520: ; 0x02066520 _02066544: .word 0x020F7E6C _02066548: .word 0x000003D9 - thumb_func_start sub_0206654C -sub_0206654C: ; 0x0206654C + thumb_func_start FUN_0206654C +FUN_0206654C: ; 0x0206654C push {r3, lr} add r1, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r1, r0] ldr r1, [r1, #0x0] - bl sub_020021AC + bl FUN_020021AC cmp r0, #0x0 beq _0206656A mov r1, #0x1 @@ -192837,8 +192837,8 @@ _02066572: pop {r3, pc} .balign 4 - thumb_func_start sub_02066578 -sub_02066578: ; 0x02066578 + thumb_func_start FUN_02066578 +FUN_02066578: ; 0x02066578 push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -192858,13 +192858,13 @@ _0206658A: str r0, [sp, #0x8] mov r0, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] b _020665BA _020665A8: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x0 beq _020665BA mov r0, #0x0 @@ -192877,8 +192877,8 @@ _020665BA: add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_020665C0 -sub_020665C0: ; 0x020665C0 + thumb_func_start FUN_020665C0 +FUN_020665C0: ; 0x020665C0 push {r4, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x12] @@ -192893,7 +192893,7 @@ _020665D4: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0204649C + bl FUN_0204649C ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] @@ -192902,19 +192902,19 @@ _020665E6: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020464A4 + bl FUN_020464A4 cmp r0, #0x0 beq _0206662E mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x5a - bl sub_0224C678 + bl FUN_0224C678 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x5a - bl sub_0224C6E8 + bl FUN_0224C6E8 ldrh r0, [r4, #0x12] add r0, r0, #0x1 strh r0, [r4, #0x12] @@ -192925,7 +192925,7 @@ _02066614: ldr r0, [r4, r0] mov r1, #0x5a ldr r0, [r0, #0x50] - bl sub_021DA58C + bl FUN_021DA58C cmp r0, #0x0 beq _0206662E mov r0, #0x0 @@ -192937,8 +192937,8 @@ _0206662E: pop {r4, pc} .balign 4 - thumb_func_start sub_02066634 -sub_02066634: ; 0x02066634 + thumb_func_start FUN_02066634 +FUN_02066634: ; 0x02066634 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x5b @@ -192946,24 +192946,24 @@ sub_02066634: ; 0x02066634 add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x5a - bl sub_021DAF98 + bl FUN_021DAF98 cmp r4, #0x0 bne _02066652 add r0, r5, #0x0 - bl sub_02065EF8 + bl FUN_02065EF8 b _02066658 _02066652: add r0, r5, #0x0 - bl sub_02065F8C + bl FUN_02065F8C _02066658: add r0, r5, #0x0 - bl sub_020663D4 + bl FUN_020663D4 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02066664 -sub_02066664: ; 0x02066664 + thumb_func_start FUN_02066664 +FUN_02066664: ; 0x02066664 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x12] @@ -192976,34 +192976,34 @@ sub_02066664: ; 0x02066664 _02066676: ldr r0, [r5, #0x0] mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020377AC - bl sub_0206BB1C + bl FUN_020377AC + bl FUN_0206BB1C str r0, [r4, #0x0] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020377AC - bl sub_0206F158 + bl FUN_020377AC + bl FUN_0206F158 str r0, [r4, #0x4] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020377AC - bl sub_02023900 + bl FUN_020377AC + bl FUN_02023900 str r0, [r4, #0xc] mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0xc] - bl sub_02025838 + bl FUN_02025838 str r0, [r4, #0x8] add r0, r4, #0x0 mov r1, #0x0 @@ -193030,7 +193030,7 @@ _020666EC: ldr r0, [r5, r0] ldr r1, _02066724 ; =0x020F96DC add r2, r4, #0x0 - bl sub_020373D4 + bl FUN_020373D4 mov r0, #0x6d lsl r0, r0, #0x2 str r4, [r5, r0] @@ -193042,7 +193042,7 @@ _02066708: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _0206671E mov r0, #0x0 @@ -193055,8 +193055,8 @@ _0206671E: nop _02066724: .word 0x020F96DC - thumb_func_start sub_02066728 -sub_02066728: ; 0x02066728 + thumb_func_start FUN_02066728 +FUN_02066728: ; 0x02066728 push {r3-r5, lr} add r4, r0, #0x0 ldrh r0, [r4, #0x12] @@ -193078,7 +193078,7 @@ _02066738: ldr r0, [r4, r0] ldr r3, [r4, #0x0] mov r1, #0x0 - bl sub_02037F58 + bl FUN_02037F58 b _0206676C _02066756: ldr r0, [r4, #0x0] @@ -193090,7 +193090,7 @@ _02066756: ldrb r3, [r3, #0x0] ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02037F2C + bl FUN_02037F2C _0206676C: mov r1, #0x6a lsl r1, r1, #0x2 @@ -193103,13 +193103,13 @@ _0206677A: mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 bne _020667D0 mov r0, #0x6a lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020855E4 + bl FUN_020855E4 cmp r0, #0x0 beq _020667BC ldrb r0, [r4, #0x18] @@ -193127,7 +193127,7 @@ _0206677A: ldrb r2, [r2, #0x1c] ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020855E8 + bl FUN_020855E8 mov r5, #0x2 b _020667BE _020667BC: @@ -193136,7 +193136,7 @@ _020667BE: mov r0, #0x6a lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0208562C + bl FUN_0208562C mov r0, #0x0 strh r0, [r4, #0x12] add r0, r5, #0x0 @@ -193145,14 +193145,14 @@ _020667D0: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_020667D4 -sub_020667D4: ; 0x020667D4 + thumb_func_start FUN_020667D4 +FUN_020667D4: ; 0x020667D4 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x4] cmp r1, #0x0 @@ -193163,7 +193163,7 @@ sub_020667D4: ; 0x020667D4 _020667F2: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020653EC + bl FUN_020653EC ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -193175,59 +193175,59 @@ _02066802: mov r0, #0x0 pop {r3-r5, pc} _0206680C: - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02066814: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02066818 -sub_02066818: ; 0x02066818 + thumb_func_start FUN_02066818 +FUN_02066818: ; 0x02066818 push {r4, lr} - bl sub_02046528 + bl FUN_02046528 add r4, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [r2, #0x0] str r0, [r2, #0x4] ldr r0, [r4, #0x10] - ldr r1, _0206683C ; =sub_020667D4 - bl sub_0204640C + ldr r1, _0206683C ; =FUN_020667D4 + bl FUN_0204640C pop {r4, pc} nop -_0206683C: .word sub_020667D4 + 1 +_0206683C: .word FUN_020667D4 + 1 - thumb_func_start sub_02066840 -sub_02066840: ; 0x02066840 + thumb_func_start FUN_02066840 +FUN_02066840: ; 0x02066840 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 str r1, [sp, #0x0] add r7, r2, #0x0 - bl sub_020238F4 + bl FUN_020238F4 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02029AFC + bl FUN_02029AFC add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0202A8D8 + bl FUN_0202A8D8 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x0 mov r2, #0xe4 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 - bl sub_0202398C + bl FUN_0202398C add r1, r7, #0x0 add r1, #0xa8 mov r2, #0x10 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 - bl sub_020239BC + bl FUN_020239BC add r1, r7, #0x0 add r1, #0xbc str r0, [r1, #0x0] @@ -193242,17 +193242,17 @@ sub_02066840: ; 0x02066840 add r0, #0xb9 strb r1, [r0, #0x0] add r0, r5, #0x0 - bl sub_02029B38 + bl FUN_02029B38 add r1, r7, #0x0 add r1, #0xba strb r0, [r1, #0x0] add r0, r5, #0x0 - bl sub_02029B3C + bl FUN_02029B3C add r1, r7, #0x0 add r1, #0xbb strb r0, [r1, #0x0] add r0, r4, #0x0 - bl sub_020239CC + bl FUN_020239CC add r1, r7, #0x0 add r1, #0xc8 lsl r0, r0, #0x18 @@ -193267,7 +193267,7 @@ sub_02066840: ; 0x02066840 add r0, #0xc8 strb r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_02023A28 + bl FUN_02023A28 add r1, r0, #0x0 add r0, r7, #0x0 add r0, #0xc8 @@ -193275,7 +193275,7 @@ sub_02066840: ; 0x02066840 mov r2, #0x1 lsl r0, r0, #0x1e lsr r0, r0, #0x1f - bl sub_020536D0 + bl FUN_020536D0 add r1, r7, #0x0 add r1, #0xc9 strb r0, [r1, #0x0] @@ -193288,29 +193288,29 @@ sub_02066840: ; 0x02066840 _020668FC: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0202A5F4 + bl FUN_0202A5F4 ldr r1, [sp, #0x8] mov r2, #0x8 add r1, r1, r5 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 blt _020668FC add r0, r6, #0x0 mov r1, #0x3 - bl sub_0202A5F4 + bl FUN_0202A5F4 add r1, r7, #0x0 add r1, #0xc0 mov r2, #0x8 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, [sp, #0x0] cmp r0, #0x0 bne _02066956 ldr r0, [sp, #0x4] mov r1, #0x7 mov r2, #0x0 - bl sub_0202A578 + bl FUN_0202A578 add r1, r7, #0x0 add r1, #0xe2 strh r0, [r1, #0x0] @@ -193322,19 +193322,19 @@ _020668FC: ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] add r2, r7, #0x0 - bl sub_0202A498 + bl FUN_0202A498 add sp, #0xc pop {r4-r7, pc} _02066956: ldr r0, [sp, #0x4] - bl sub_0202A520 + bl FUN_0202A520 add r1, r7, #0x0 add r1, #0xe2 strh r0, [r1, #0x0] ldr r0, [sp, #0x4] ldr r1, [sp, #0x0] add r2, r7, #0x0 - bl sub_0202A498 + bl FUN_0202A498 _0206696C: add sp, #0xc pop {r4-r7, pc} @@ -193342,59 +193342,59 @@ _0206696C: _02066970: .word 0x020ECAC0 _02066974: .word 0x020ECAC4 - thumb_func_start sub_02066978 -sub_02066978: ; 0x02066978 + thumb_func_start FUN_02066978 +FUN_02066978: ; 0x02066978 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0xec - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 ldrh r2, [r4, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r4, #0x0 ldr r2, [r4, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 pop {r4, pc} - thumb_func_start sub_020669A0 -sub_020669A0: ; 0x020669A0 + thumb_func_start FUN_020669A0 +FUN_020669A0: ; 0x020669A0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x88 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 ldrh r2, [r4, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 pop {r4, pc} - thumb_func_start sub_020669BC -sub_020669BC: ; 0x020669BC + thumb_func_start FUN_020669BC +FUN_020669BC: ; 0x020669BC mov r0, #0xec bx lr - thumb_func_start sub_020669C0 -sub_020669C0: ; 0x020669C0 + thumb_func_start FUN_020669C0 +FUN_020669C0: ; 0x020669C0 push {r4, lr} mov r1, #0xec - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_02066978 + bl FUN_02066978 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_020669D4 -sub_020669D4: ; 0x020669D4 + thumb_func_start FUN_020669D4 +FUN_020669D4: ; 0x020669D4 push {r3-r5, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -193406,7 +193406,7 @@ sub_020669D4: ; 0x020669D4 mov r4, #0x1 lsr r0, r0, #0x1f beq _020669EE - bl sub_02020C2C + bl FUN_02020C2C _020669EE: ldrh r1, [r5, #0x4] mov r0, #0x1 @@ -193422,19 +193422,19 @@ _020669EE: ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 _02066A1A: add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02066A20 -sub_02066A20: ; 0x02066A20 + thumb_func_start FUN_02066A20 +FUN_02066A20: ; 0x02066A20 push {r3-r5, lr} add r5, r0, #0x0 ldrh r2, [r5, #0x4] @@ -193457,23 +193457,23 @@ sub_02066A20: ; 0x02066A20 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _02066A68: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02066A6C -sub_02066A6C: ; 0x02066A6C + thumb_func_start FUN_02066A6C +FUN_02066A6C: ; 0x02066A6C push {r4, lr} add r2, r0, #0x0 ldrh r1, [r2, #0x4] @@ -193489,14 +193489,14 @@ sub_02066A6C: ; 0x02066A6C add r0, #0x8 mov r1, #0x80 mov r4, #0x1 - bl sub_0206A3D0 + bl FUN_0206A3D0 _02066A8E: add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02066A94 -sub_02066A94: ; 0x02066A94 + thumb_func_start FUN_02066A94 +FUN_02066A94: ; 0x02066A94 push {r3-r5, lr} add r5, r0, #0x0 ldrh r2, [r5, #0x4] @@ -193514,26 +193514,26 @@ sub_02066A94: ; 0x02066A94 add r0, #0x8 mov r1, #0x80 mov r4, #0x1 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _02066AC8: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02066ACC -sub_02066ACC: ; 0x02066ACC + thumb_func_start FUN_02066ACC +FUN_02066ACC: ; 0x02066ACC push {r0-r3} push {r3-r6, lr} sub sp, #0x2c add r5, r0, #0x0 add r4, r1, #0x0 add r6, r3, #0x0 - bl sub_02066978 + bl FUN_02066978 ldr r0, [sp, #0x50] add r1, r4, #0x0 str r0, [sp, #0x0] @@ -193546,68 +193546,68 @@ sub_02066ACC: ; 0x02066ACC str r0, [sp, #0xc] ldr r2, [sp, #0x48] add r0, r5, #0x0 - bl sub_02066B64 + bl FUN_02066B64 add r0, r5, #0x0 add r0, #0x88 mov r1, #0x64 mov r2, #0x0 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 mov r1, #0xa0 add r2, sp, #0x48 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 - bl sub_020256BC + bl FUN_020256BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [sp, #0x10] add r0, r5, #0x0 mov r1, #0xa1 add r2, sp, #0x10 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x14 mov r2, #0x18 - blx sub_020CE240 + blx FUN_020CE240 add r0, r5, #0x0 mov r1, #0xaa add r2, sp, #0x14 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 add sp, #0x2c pop {r3-r6} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_02066B64 -sub_02066B64: ; 0x02066B64 + thumb_func_start FUN_02066B64 +FUN_02066B64: ; 0x02066B64 push {r0-r3} push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_020669A0 + bl FUN_020669A0 add r0, r5, #0x0 - bl sub_02066A6C + bl FUN_02066A6C str r0, [sp, #0x0] ldr r0, [sp, #0x30] cmp r0, #0x0 bne _02066B8E - bl sub_0201B9EC + bl FUN_0201B9EC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC lsl r0, r0, #0x10 orr r0, r4 str r0, [sp, #0x34] @@ -193615,16 +193615,16 @@ _02066B8E: add r0, r5, #0x0 mov r1, #0x0 add r2, sp, #0x34 - bl sub_02067960 + bl FUN_02067960 ldr r0, [sp, #0x38] cmp r0, #0x2 bne _02066BD6 ldr r7, _02066D84 ; =0xFFFF0000 add r6, r7, #0x0 _02066BA2: - bl sub_0201B9EC + bl FUN_0201B9EC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC ldr r1, [sp, #0x34] lsl r0, r0, #0x10 add r3, r4, #0x0 @@ -193655,79 +193655,79 @@ _02066BDE: add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x3c - bl sub_02067960 + bl FUN_02067960 ldr r2, _02066D88 ; =0x020ECAC4 add r0, r5, #0x0 mov r1, #0xc - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x5 add r2, sp, #0x24 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 - bl sub_02067960 + bl FUN_02067960 ldr r0, [sp, #0x24] ldr r1, [sp, #0x28] - bl sub_02068758 + bl FUN_02068758 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x8 add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 ldr r0, [sp, #0x24] mov r1, #0x14 - bl sub_02068678 + bl FUN_02068678 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x9b add r2, sp, #0x28 - bl sub_02067960 + bl FUN_02067960 ldr r2, _02066D8C ; =0x020ECAC0 add r0, r5, #0x0 mov r1, #0x79 - bl sub_02067960 + bl FUN_02067960 mov r0, #0x4 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9a add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 ldr r0, [sp, #0x2c] cmp r0, #0x20 bge _02066C94 add r0, r5, #0x0 mov r1, #0x46 add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x47 add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x48 add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x49 add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x4a add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x4b add r2, sp, #0x2c - bl sub_02067960 + bl FUN_02067960 b _02066D18 _02066C94: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x1f str r0, [sp, #0x8] and r0, r1 @@ -193735,7 +193735,7 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x46 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 mov r0, #0x3e ldr r1, [sp, #0x8] lsl r0, r0, #0x4 @@ -193745,7 +193745,7 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x47 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 mov r0, #0x1f ldr r1, [sp, #0x8] lsl r0, r0, #0xa @@ -193755,8 +193755,8 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x48 add r2, sp, #0x4 - bl sub_02067960 - bl sub_0201B9EC + bl FUN_02067960 + bl FUN_0201B9EC mov r1, #0x1f str r0, [sp, #0x8] and r0, r1 @@ -193764,7 +193764,7 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x49 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 mov r0, #0x3e ldr r1, [sp, #0x8] lsl r0, r0, #0x4 @@ -193774,7 +193774,7 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x4a add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 mov r0, #0x1f ldr r1, [sp, #0x8] lsl r0, r0, #0xa @@ -193784,15 +193784,15 @@ _02066C94: add r0, r5, #0x0 mov r1, #0x4b add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 _02066D18: ldr r0, [sp, #0x24] mov r1, #0x18 - bl sub_02068678 + bl FUN_02068678 str r0, [sp, #0x8] ldr r0, [sp, #0x24] mov r1, #0x19 - bl sub_02068678 + bl FUN_02068678 str r0, [sp, #0x4] cmp r0, #0x0 beq _02066D50 @@ -193803,32 +193803,32 @@ _02066D18: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 b _02066D5A _02066D44: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 b _02066D5A _02066D50: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 _02066D5A: add r0, r5, #0x0 - bl sub_020689E8 + bl FUN_020689E8 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x6f add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 - bl sub_020695F4 + bl FUN_020695F4 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0xc pop {r4-r7} pop {r3} @@ -193839,8 +193839,8 @@ _02066D84: .word 0xFFFF0000 _02066D88: .word 0x020ECAC4 _02066D8C: .word 0x020ECAC0 - thumb_func_start sub_02066D90 -sub_02066D90: ; 0x02066D90 + thumb_func_start FUN_02066D90 +FUN_02066D90: ; 0x02066D90 push {r3-r7, lr} sub sp, #0x18 str r2, [sp, #0x10] @@ -193849,13 +193849,13 @@ sub_02066D90: ; 0x02066D90 add r6, r0, #0x0 add r7, r1, #0x0 _02066D9E: - bl sub_0201B9EC + bl FUN_0201B9EC add r5, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC lsl r0, r0, #0x10 orr r5, r0 add r0, r5, #0x0 - bl sub_02068884 + bl FUN_02068884 cmp r4, r0 bne _02066D9E mov r0, #0x1 @@ -193868,13 +193868,13 @@ _02066D9E: ldr r3, [sp, #0x14] add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02066ACC + bl FUN_02066ACC add sp, #0x18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02066DD4 -sub_02066DD4: ; 0x02066DD4 + thumb_func_start FUN_02066DD4 +FUN_02066DD4: ; 0x02066DD4 push {r4-r7, lr} sub sp, #0x24 str r1, [sp, #0x14] @@ -193892,9 +193892,9 @@ sub_02066DD4: ; 0x02066DD4 sub r0, r0, #0x1 str r0, [sp, #0x20] _02066DF4: - bl sub_0201B9EC + bl FUN_0201B9EC add r4, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC lsl r0, r0, #0x10 orr r4, r0 mov r3, #0x3 @@ -193915,16 +193915,16 @@ _02066DF4: orr r0, r1 orr r0, r2 mov r1, #0x1c - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r1, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 - bl sub_02068884 + bl FUN_02068884 cmp r7, r0 bne _02066DF4 ldr r0, [sp, #0x14] add r1, r4, #0x0 - bl sub_02068A20 + bl FUN_02068A20 cmp r6, r0 bne _02066DF4 ldr r0, [sp, #0x20] @@ -193935,7 +193935,7 @@ _02066E4C: ldr r0, [sp, #0x14] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_02066E74 + bl FUN_02066E74 add r4, r0, #0x0 _02066E58: mov r0, #0x1 @@ -193948,17 +193948,17 @@ _02066E58: ldr r1, [sp, #0x14] ldr r2, [sp, #0x18] ldr r3, [sp, #0x1c] - bl sub_02066ACC + bl FUN_02066ACC add sp, #0x24 pop {r4-r7, pc} - thumb_func_start sub_02066E74 -sub_02066E74: ; 0x02066E74 + thumb_func_start FUN_02066E74 +FUN_02066E74: ; 0x02066E74 push {r3-r5, lr} add r5, r1, #0x0 mov r1, #0x12 add r4, r2, #0x0 - bl sub_02068678 + bl FUN_02068678 lsl r0, r0, #0x18 lsr r0, r0, #0x18 beq _02066EA0 @@ -193969,7 +193969,7 @@ sub_02066E74: ; 0x02066E74 cmp r5, #0x0 bne _02066EA0 mov r1, #0x19 - blx sub_020EBC80 + blx FUN_020EBC80 add r1, r0, #0x1 mov r0, #0x19 mul r0, r1 @@ -193978,8 +193978,8 @@ _02066EA0: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02066EA4 -sub_02066EA4: ; 0x02066EA4 + thumb_func_start FUN_02066EA4 +FUN_02066EA4: ; 0x02066EA4 push {r0-r3} push {r4, lr} sub sp, #0x10 @@ -193991,139 +193991,139 @@ sub_02066EA4: ; 0x02066EA4 mov r3, #0x0 str r3, [sp, #0x8] str r3, [sp, #0xc] - bl sub_02066ACC + bl FUN_02066ACC add r0, r4, #0x0 mov r1, #0xae add r2, sp, #0x24 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 add sp, #0x10 pop {r4} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_02066ED8 -sub_02066ED8: ; 0x02066ED8 + thumb_func_start FUN_02066ED8 +FUN_02066ED8: ; 0x02066ED8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020669D4 + bl FUN_020669D4 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_020687C0 + bl FUN_020687C0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0xa0 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066F04 + bl FUN_02066F04 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02066A20 + bl FUN_02066A20 pop {r3-r5, pc} - thumb_func_start sub_02066F04 -sub_02066F04: ; 0x02066F04 + thumb_func_start FUN_02066F04 +FUN_02066F04: ; 0x02066F04 push {r3-r7, lr} sub sp, #0x58 add r5, r0, #0x0 - bl sub_020669D4 + bl FUN_020669D4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x2c] add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x54] add r0, r5, #0x0 mov r1, #0x46 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x30] add r0, r5, #0x0 mov r1, #0xd mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x34] add r0, r5, #0x0 mov r1, #0x47 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x28] add r0, r5, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x14] add r0, r5, #0x0 mov r1, #0x48 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x24] add r0, r5, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x10] add r0, r5, #0x0 mov r1, #0x49 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x20] add r0, r5, #0x0 mov r1, #0x10 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x4a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x1c] add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x4b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0x12 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x38] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 mov r0, #0x0 mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 ldr r1, [sp, #0x38] add r0, r7, #0x0 add r2, r6, #0x0 - bl sub_0206A380 + bl FUN_0206A380 mov r0, #0x49 lsl r0, r0, #0x2 cmp r7, r0 @@ -194144,7 +194144,7 @@ _02066FFC: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r4, r0 add r0, #0xa _0206701E: @@ -194152,7 +194152,7 @@ _0206701E: add r0, r5, #0x0 mov r1, #0xa3 add r2, sp, #0x50 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x14] asr r0, r0, #0x1 lsr r1, r0, #0x1e @@ -194166,21 +194166,21 @@ _0206701E: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x5 str r0, [sp, #0x4c] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x4c] mov r2, #0x1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02068894 + bl FUN_02068894 str r0, [sp, #0x4c] add r0, r5, #0x0 mov r1, #0xa4 add r2, sp, #0x4c - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x10] asr r0, r0, #0x1 lsr r1, r0, #0x1e @@ -194194,21 +194194,21 @@ _0206701E: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x5 str r0, [sp, #0x48] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x48] mov r2, #0x2 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02068894 + bl FUN_02068894 str r0, [sp, #0x48] add r0, r5, #0x0 mov r1, #0xa5 add r2, sp, #0x48 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0xc] asr r0, r0, #0x1 lsr r1, r0, #0x1e @@ -194222,21 +194222,21 @@ _0206701E: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x5 str r0, [sp, #0x44] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x44] mov r2, #0x3 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02068894 + bl FUN_02068894 str r0, [sp, #0x44] add r0, r5, #0x0 mov r1, #0xa6 add r2, sp, #0x44 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x8] asr r0, r0, #0x1 lsr r1, r0, #0x1e @@ -194250,21 +194250,21 @@ _0206701E: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x5 str r0, [sp, #0x40] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x40] mov r2, #0x4 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02068894 + bl FUN_02068894 str r0, [sp, #0x40] add r0, r5, #0x0 mov r1, #0xa7 add r2, sp, #0x40 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x4] asr r0, r0, #0x1 lsr r1, r0, #0x1e @@ -194278,23 +194278,23 @@ _0206701E: add r0, r0, r1 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r0, #0x5 str r0, [sp, #0x3c] add r0, r5, #0x0 - bl sub_02068854 + bl FUN_02068854 ldr r1, [sp, #0x3c] mov r2, #0x5 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02068894 + bl FUN_02068894 str r0, [sp, #0x3c] add r0, r5, #0x0 mov r1, #0xa8 add r2, sp, #0x3c - bl sub_02067830 + bl FUN_02067830 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r1, [sp, #0x54] cmp r1, #0x0 bne _0206717C @@ -194329,16 +194329,16 @@ _020671A0: add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x54 - bl sub_02067830 + bl FUN_02067830 _020671B0: ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02066A20 + bl FUN_02066A20 add sp, #0x58 pop {r3-r7, pc} - thumb_func_start sub_020671BC -sub_020671BC: ; 0x020671BC + thumb_func_start FUN_020671BC +FUN_020671BC: ; 0x020671BC push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -194351,22 +194351,22 @@ sub_020671BC: ; 0x020671BC ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02067204 cmp r0, r1 beq _020671FC - bl sub_02020C2C + bl FUN_02020C2C _020671FC: ldrh r1, [r5, #0x4] mov r0, #0x4 @@ -194376,7 +194376,7 @@ _02067204: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02067234 + bl FUN_02067234 add r4, r0, #0x0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f @@ -194386,18 +194386,18 @@ _02067204: ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _02067230: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02067234 -sub_02067234: ; 0x02067234 + thumb_func_start FUN_02067234 +FUN_02067234: ; 0x02067234 push {r3, lr} add r3, r1, #0x0 sub r3, #0x9f @@ -194432,11 +194432,11 @@ _02067268: .byte 0x11, 0x1C, 0xBE, 0xF7, 0x15, 0xFA, 0x01, 0x20, 0x08, 0xBD, 0xD4, 0x30, 0x11, 0x1C, 0xC2, 0xF7 .byte 0xE1, 0xFC, 0x01, 0x20, 0x08, 0xBD _020672B6: - bl sub_0206731C + bl FUN_0206731C pop {r3, pc} - thumb_func_start sub_020672BC -sub_020672BC: ; 0x020672BC + thumb_func_start FUN_020672BC +FUN_020672BC: ; 0x020672BC push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -194449,17 +194449,17 @@ sub_020672BC: ; 0x020672BC add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _020672F8 cmp r0, r1 beq _020672F0 - bl sub_02020C2C + bl FUN_02020C2C _020672F0: ldrh r1, [r5, #0x4] mov r0, #0x4 @@ -194469,7 +194469,7 @@ _020672F8: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0206731C + bl FUN_0206731C add r4, r0, #0x0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1e @@ -194479,13 +194479,13 @@ _020672F8: add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _02067318: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0206731C -sub_0206731C: ; 0x0206731C + thumb_func_start FUN_0206731C +FUN_0206731C: ; 0x0206731C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] @@ -194495,25 +194495,25 @@ sub_0206731C: ; 0x0206731C ldr r1, [r1, #0x0] str r0, [sp, #0x0] add r2, r4, #0x0 - bl sub_0206A418 + bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r1, r0, #0x0 ldr r0, [sp, #0x4] cmp r0, #0xb2 @@ -194769,8 +194769,8 @@ _0206781A: _02067820: .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 - thumb_func_start sub_02067830 -sub_02067830: ; 0x02067830 + thumb_func_start FUN_02067830 +FUN_02067830: ; 0x02067830 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -194783,22 +194783,22 @@ sub_02067830: ; 0x02067830 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02067886 cmp r0, r1 beq _02067870 - bl sub_02020C2C + bl FUN_02020C2C _02067870: ldrh r1, [r5, #0x4] mov r0, #0x4 @@ -194808,13 +194808,13 @@ _02067870: add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 pop {r4-r6, pc} _02067886: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020678C0 + bl FUN_020678C0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f @@ -194823,23 +194823,23 @@ _02067886: ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _020678BC: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020678C0 -sub_020678C0: ; 0x020678C0 + thumb_func_start FUN_020678C0 +FUN_020678C0: ; 0x020678C0 push {r3, lr} add r3, r0, #0x0 add r0, r1, #0x0 @@ -194878,11 +194878,11 @@ _020678F8: .byte 0x19, 0x1C, 0xC2, 0xF7, 0x8F, 0xF9, 0x08, 0xBD _02067958: add r0, r3, #0x0 - bl sub_020679D8 + bl FUN_020679D8 pop {r3, pc} - thumb_func_start sub_02067960 -sub_02067960: ; 0x02067960 + thumb_func_start FUN_02067960 +FUN_02067960: ; 0x02067960 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -194895,17 +194895,17 @@ sub_02067960: ; 0x02067960 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _020679AA cmp r0, r1 beq _02067994 - bl sub_02020C2C + bl FUN_02020C2C _02067994: ldrh r1, [r5, #0x4] mov r0, #0x4 @@ -194915,13 +194915,13 @@ _02067994: add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 pop {r4-r6, pc} _020679AA: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020679D8 + bl FUN_020679D8 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1e lsr r0, r0, #0x1f @@ -194929,19 +194929,19 @@ _020679AA: add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _020679D4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020679D8 -sub_020679D8: ; 0x020679D8 + thumb_func_start FUN_020679D8 +FUN_020679D8: ; 0x020679D8 push {r4-r7, lr} sub sp, #0x4c str r1, [sp, #0x4] @@ -194950,25 +194950,25 @@ sub_020679D8: ; 0x020679D8 ldr r1, [r1, #0x0] str r0, [sp, #0x0] mov r2, #0x0 - bl sub_0206A418 + bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r1, r0, #0x0 ldr r0, [sp, #0x4] cmp r0, #0xb2 @@ -195246,8 +195246,8 @@ _02067FFC: .byte 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 .byte 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0x7F - thumb_func_start sub_02068018 -sub_02068018: ; 0x02068018 + thumb_func_start FUN_02068018 +FUN_02068018: ; 0x02068018 push {r4-r6, lr} add r5, r0, #0x0 ldrh r0, [r5, #0x4] @@ -195260,34 +195260,34 @@ sub_02068018: ; 0x02068018 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 ldrh r1, [r5, #0x6] cmp r0, r1 beq _02068066 cmp r0, r1 beq _02068058 - bl sub_02020C2C + bl FUN_02020C2C _02068058: ldrh r2, [r5, #0x6] add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 pop {r4-r6, pc} _02068066: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020680A0 + bl FUN_020680A0 ldrh r0, [r5, #0x4] lsl r0, r0, #0x1f lsr r0, r0, #0x1f @@ -195296,23 +195296,23 @@ _02068066: ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 _0206809C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020680A0 -sub_020680A0: ; 0x020680A0 + thumb_func_start FUN_020680A0 +FUN_020680A0: ; 0x020680A0 push {r3, lr} add r3, r1, #0x0 sub r3, #0x9f @@ -195358,12 +195358,12 @@ _020680E4: _020680F2: .byte 0xB8, 0xF7, 0x9B, 0xFD, 0x08, 0xBD _020680F8: - bl sub_02068100 + bl FUN_02068100 pop {r3, pc} .balign 4 - thumb_func_start sub_02068100 -sub_02068100: ; 0x02068100 + thumb_func_start FUN_02068100 +FUN_02068100: ; 0x02068100 push {r4-r7, lr} sub sp, #0xc add r7, r1, #0x0 @@ -195372,24 +195372,24 @@ sub_02068100: ; 0x02068100 ldr r1, [r1, #0x0] str r0, [sp, #0x0] mov r2, #0x0 - bl sub_0206A418 + bl FUN_0206A418 add r4, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x1 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 add r5, r0, #0x0 ldr r0, [sp, #0x0] mov r2, #0x2 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 ldr r0, [sp, #0x0] mov r2, #0x3 add r1, r0, #0x0 ldr r1, [r1, #0x0] - bl sub_0206A418 + bl FUN_0206A418 cmp r7, #0xb2 bls _02068142 b _02068500 @@ -195581,14 +195581,14 @@ _02068142: lsl r0, r6, #0xe ldrh r0, [r4, #0x0] mov r1, #0x64 - bl sub_02068758 + bl FUN_02068758 ldr r1, [r4, #0x8] add r1, r1, r6 cmp r1, r0 bls _020682D2 ldrh r0, [r4, #0x0] mov r1, #0x64 - bl sub_02068758 + bl FUN_02068758 add sp, #0xc str r0, [r4, #0x8] pop {r4-r7, pc} @@ -195633,36 +195633,36 @@ _020682D8: .byte 0x0D, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20, 0x00, 0x06, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61 .byte 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD _02068500: - bl sub_02020C2C + bl FUN_02020C2C add sp, #0xc pop {r4-r7, pc} _02068508: .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 - thumb_func_start sub_0206851C -sub_0206851C: ; 0x0206851C + thumb_func_start FUN_0206851C +FUN_0206851C: ; 0x0206851C push {r3-r5, lr} add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0206A370 + bl FUN_0206A370 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068538 -sub_02068538: ; 0x02068538 + thumb_func_start FUN_02068538 +FUN_02068538: ; 0x02068538 push {r4-r6, lr} add r4, r0, #0x0 add r6, r1, #0x0 cmp r4, #0x0 bne _02068546 - bl sub_02020C2C + bl FUN_02020C2C _02068546: cmp r6, #0x20 bhi _0206863A @@ -195724,258 +195724,258 @@ _0206863A: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02068640 -sub_02068640: ; 0x02068640 + thumb_func_start FUN_02068640 +FUN_02068640: ; 0x02068640 push {r4, lr} add r4, r0, #0x0 bne _0206864A - bl sub_02020C2C + bl FUN_02020C2C _0206864A: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02068654 -sub_02068654: ; 0x02068654 + thumb_func_start FUN_02068654 +FUN_02068654: ; 0x02068654 push {r3-r5, lr} add r4, r2, #0x0 - bl sub_0206A8FC + bl FUN_0206A8FC mov r1, #0x0 - bl sub_0206851C + bl FUN_0206851C add r5, r0, #0x0 add r1, r4, #0x0 - bl sub_02068538 + bl FUN_02068538 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02068640 + bl FUN_02068640 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068678 -sub_02068678: ; 0x02068678 + thumb_func_start FUN_02068678 +FUN_02068678: ; 0x02068678 push {r3-r5, lr} add r4, r1, #0x0 mov r1, #0x0 - bl sub_0206851C + bl FUN_0206851C add r5, r0, #0x0 add r1, r4, #0x0 - bl sub_02068538 + bl FUN_02068538 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02068640 + bl FUN_02068640 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068698 -sub_02068698: ; 0x02068698 + thumb_func_start FUN_02068698 +FUN_02068698: ; 0x02068698 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_020669D4 + bl FUN_020669D4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02068758 + bl FUN_02068758 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x1 - bl sub_02068758 + bl FUN_02068758 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02066A20 + bl FUN_02066A20 sub r1, r7, r4 mov r0, #0x64 mul r0, r1 sub r1, r6, r4 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r7, pc} - thumb_func_start sub_020686F8 -sub_020686F8: ; 0x020686F8 - ldr r3, _020686FC ; =sub_02068700 + thumb_func_start FUN_020686F8 +FUN_020686F8: ; 0x020686F8 + ldr r3, _020686FC ; =FUN_02068700 bx r3 .balign 4 -_020686FC: .word sub_02068700 + 1 +_020686FC: .word FUN_02068700 + 1 - thumb_func_start sub_02068700 -sub_02068700: ; 0x02068700 + thumb_func_start FUN_02068700 +FUN_02068700: ; 0x02068700 push {r4-r6, lr} mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r4, #0x0 - bl sub_020687C8 + bl FUN_020687C8 add r0, r0, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02068758 + bl FUN_02068758 sub r0, r0, r4 pop {r4-r6, pc} - thumb_func_start sub_02068734 -sub_02068734: ; 0x02068734 + thumb_func_start FUN_02068734 +FUN_02068734: ; 0x02068734 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02068758 + bl FUN_02068758 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068758 -sub_02068758: ; 0x02068758 + thumb_func_start FUN_02068758 +FUN_02068758: ; 0x02068758 push {r4, lr} add r4, r1, #0x0 mov r1, #0x15 - bl sub_02068678 + bl FUN_02068678 add r1, r4, #0x0 - bl sub_02068788 + bl FUN_02068788 pop {r4, pc} .balign 4 - thumb_func_start sub_0206876C -sub_0206876C: ; 0x0206876C + thumb_func_start FUN_0206876C +FUN_0206876C: ; 0x0206876C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x8 blt _0206877A - bl sub_02020C2C + bl FUN_02020C2C _0206877A: add r0, r4, #0x0 mov r1, #0x3 add r2, r5, #0x0 - bl sub_020064F0 + bl FUN_020064F0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068788 -sub_02068788: ; 0x02068788 + thumb_func_start FUN_02068788 +FUN_02068788: ; 0x02068788 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 cmp r6, #0x8 blt _02068796 - bl sub_02020C2C + bl FUN_02020C2C _02068796: cmp r5, #0x65 ble _0206879E - bl sub_02020C2C + bl FUN_02020C2C _0206879E: mov r1, #0x65 mov r0, #0x0 lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0206876C + bl FUN_0206876C lsl r0, r5, #0x2 ldr r5, [r4, r0] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_020687C0 -sub_020687C0: ; 0x020687C0 - ldr r3, _020687C4 ; =sub_020687C8 + thumb_func_start FUN_020687C0 +FUN_020687C0: ; 0x020687C0 + ldr r3, _020687C4 ; =FUN_020687C8 bx r3 .balign 4 -_020687C4: .word sub_020687C8 + 1 +_020687C4: .word FUN_020687C8 + 1 - thumb_func_start sub_020687C8 -sub_020687C8: ; 0x020687C8 + thumb_func_start FUN_020687C8 +FUN_020687C8: ; 0x020687C8 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02066A94 + bl FUN_02066A94 lsl r0, r4, #0x10 lsr r0, r0, #0x10 add r1, r7, #0x0 - bl sub_02068800 + bl FUN_02068800 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02068800 -sub_02068800: ; 0x02068800 + thumb_func_start FUN_02068800 +FUN_02068800: ; 0x02068800 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x0 - bl sub_0206851C + bl FUN_0206851C add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02068824 + bl FUN_02068824 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02068640 + bl FUN_02068640 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02068824 -sub_02068824: ; 0x02068824 + thumb_func_start FUN_02068824 +FUN_02068824: ; 0x02068824 push {r4, lr} mov r1, #0x15 add r4, r2, #0x0 - bl sub_02068538 + bl FUN_02068538 ldr r1, _0206884C ; =0x021C5AC0 - bl sub_0206876C + bl FUN_0206876C ldr r2, _02068850 ; =0x021C5AC4 mov r1, #0x1 _02068838: @@ -195993,44 +195993,44 @@ _02068846: _0206884C: .word 0x021C5AC0 _02068850: .word 0x021C5AC4 - thumb_func_start sub_02068854 -sub_02068854: ; 0x02068854 - ldr r3, _02068858 ; =sub_0206885C + thumb_func_start FUN_02068854 +FUN_02068854: ; 0x02068854 + ldr r3, _02068858 ; =FUN_0206885C bx r3 .balign 4 -_02068858: .word sub_0206885C + 1 +_02068858: .word FUN_0206885C + 1 - thumb_func_start sub_0206885C -sub_0206885C: ; 0x0206885C + thumb_func_start FUN_0206885C +FUN_0206885C: ; 0x0206885C push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add r0, r6, #0x0 - bl sub_02068884 + bl FUN_02068884 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02068884 -sub_02068884: ; 0x02068884 + thumb_func_start FUN_02068884 +FUN_02068884: ; 0x02068884 push {r3, lr} mov r1, #0x19 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r1, #0x18 lsr r0, r0, #0x18 pop {r3, pc} .balign 4 - thumb_func_start sub_02068894 -sub_02068894: ; 0x02068894 + thumb_func_start FUN_02068894 +FUN_02068894: ; 0x02068894 push {r3, lr} cmp r2, #0x1 blo _0206889E @@ -196057,7 +196057,7 @@ _020688A2: lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r1, r0, #0x10 b _020688E0 @@ -196067,7 +196067,7 @@ _020688CE: lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x10 lsr r1, r0, #0x10 _020688E0: @@ -196076,8 +196076,8 @@ _020688E0: .balign 4 _020688E4: .word 0x020F7F93 - thumb_func_start sub_020688E8 -sub_020688E8: ; 0x020688E8 + thumb_func_start FUN_020688E8 +FUN_020688E8: ; 0x020688E8 push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 @@ -196085,7 +196085,7 @@ sub_020688E8: ; 0x020688E8 str r2, [sp, #0x0] cmp r6, #0x5 bne _02068900 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 bne _020689D4 @@ -196093,7 +196093,7 @@ _02068900: add r0, r5, #0x0 mov r1, #0xad mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 beq _020689D4 @@ -196103,19 +196103,19 @@ _02068900: add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x1 mov r2, #0x0 - bl sub_0206E7B8 + bl FUN_0206E7B8 lsl r0, r0, #0x18 mov r4, #0x0 lsr r7, r0, #0x18 add r0, r5, #0x0 mov r1, #0x9 add r2, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x4 strh r0, [r1, #0x0] add r0, r4, #0x0 @@ -196142,7 +196142,7 @@ _02068958: add r0, r5, #0x0 mov r1, #0x9a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0xb bne _0206897A add r0, r4, #0x1 @@ -196154,7 +196154,7 @@ _0206897A: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x0] cmp r1, r0 bne _02068994 @@ -196169,7 +196169,7 @@ _02068994: mov r0, #0x96 mul r0, r4 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 asr r4, r0, #0x18 _020689AA: @@ -196194,7 +196194,7 @@ _020689CA: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 _020689D4: add sp, #0x8 pop {r3-r7, pc} @@ -196202,63 +196202,63 @@ _020689D4: _020689D8: .word 0x000001EE _020689DC: .word 0x020F7ED4 - thumb_func_start sub_020689E0 -sub_020689E0: ; 0x020689E0 - ldr r3, _020689E4 ; =sub_020689E8 + thumb_func_start FUN_020689E0 +FUN_020689E0: ; 0x020689E0 + ldr r3, _020689E4 ; =FUN_020689E8 bx r3 .balign 4 -_020689E4: .word sub_020689E8 + 1 +_020689E4: .word FUN_020689E8 + 1 - thumb_func_start sub_020689E8 -sub_020689E8: ; 0x020689E8 + thumb_func_start FUN_020689E8 +FUN_020689E8: ; 0x020689E8 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 mov r1, #0x0 lsr r4, r0, #0x10 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_02068A20 + bl FUN_02068A20 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02068A20 -sub_02068A20: ; 0x02068A20 + thumb_func_start FUN_02068A20 +FUN_02068A20: ; 0x02068A20 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x0 - bl sub_0206851C + bl FUN_0206851C add r6, r0, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02068A44 + bl FUN_02068A44 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02068640 + bl FUN_02068640 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02068A44 -sub_02068A44: ; 0x02068A44 + thumb_func_start FUN_02068A44 +FUN_02068A44: ; 0x02068A44 push {r4, lr} mov r1, #0x12 add r4, r2, #0x0 - bl sub_02068538 + bl FUN_02068538 lsl r0, r0, #0x18 lsr r1, r0, #0x18 beq _02068A5E @@ -196291,33 +196291,33 @@ _02068A78: pop {r4, pc} .balign 4 - thumb_func_start sub_02068A80 -sub_02068A80: ; 0x02068A80 - ldr r3, _02068A84 ; =sub_02068A88 + thumb_func_start FUN_02068A80 +FUN_02068A80: ; 0x02068A80 + ldr r3, _02068A84 ; =FUN_02068A88 bx r3 .balign 4 -_02068A84: .word sub_02068A88 + 1 +_02068A84: .word FUN_02068A88 + 1 - thumb_func_start sub_02068A88 -sub_02068A88: ; 0x02068A88 + thumb_func_start FUN_02068A88 +FUN_02068A88: ; 0x02068A88 push {r3-r5, lr} mov r1, #0x7 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02068AAC + bl FUN_02068AAC pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02068AAC -sub_02068AAC: ; 0x02068AAC + thumb_func_start FUN_02068AAC +FUN_02068AAC: ; 0x02068AAC ldr r3, _02068AD4 ; =0xFFFF0000 lsl r2, r1, #0x10 and r1, r3 @@ -196343,8 +196343,8 @@ _02068ACE: .balign 4 _02068AD4: .word 0xFFFF0000 - thumb_func_start sub_02068AD8 -sub_02068AD8: ; 0x02068AD8 + thumb_func_start FUN_02068AD8 +FUN_02068AD8: ; 0x02068AD8 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _02068B64 ; =0xFFFF0000 @@ -196354,12 +196354,12 @@ sub_02068AD8: ; 0x02068AD8 lsr r0, r0, #0x10 eor r0, r1 lsr r7, r0, #0x3 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x7 and r0, r1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x7 and r0, r1 lsl r0, r0, #0x10 @@ -196367,38 +196367,38 @@ sub_02068AD8: ; 0x02068AD8 mov r4, #0x0 _02068B04: add r0, r4, #0x0 - bl sub_0206A92C + bl FUN_0206A92C tst r0, r7 beq _02068B34 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 beq _02068B26 add r0, r4, #0x3 - bl sub_0206A92C + bl FUN_0206A92C orr r0, r6 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _02068B56 _02068B26: add r0, r4, #0x3 - bl sub_0206A92C + bl FUN_0206A92C orr r0, r5 lsl r0, r0, #0x10 lsr r5, r0, #0x10 b _02068B56 _02068B34: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x1 tst r0, r1 beq _02068B56 add r0, r4, #0x3 - bl sub_0206A92C + bl FUN_0206A92C orr r0, r6 lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r4, #0x3 - bl sub_0206A92C + bl FUN_0206A92C orr r0, r5 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -196412,39 +196412,39 @@ _02068B56: nop _02068B64: .word 0xFFFF0000 - thumb_func_start sub_02068B68 -sub_02068B68: ; 0x02068B68 - ldr r3, _02068B6C ; =sub_02068B70 + thumb_func_start FUN_02068B68 +FUN_02068B68: ; 0x02068B68 + ldr r3, _02068B6C ; =FUN_02068B70 bx r3 .balign 4 -_02068B6C: .word sub_02068B70 + 1 +_02068B6C: .word FUN_02068B70 + 1 - thumb_func_start sub_02068B70 -sub_02068B70: ; 0x02068B70 + thumb_func_start FUN_02068B70 +FUN_02068B70: ; 0x02068B70 push {r4-r7, lr} sub sp, #0x1c add r5, r1, #0x0 str r0, [sp, #0xc] add r0, r5, #0x0 str r2, [sp, #0x10] - bl sub_02066A6C + bl FUN_02066A6C str r0, [sp, #0x18] add r0, r5, #0x0 mov r1, #0xad mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 - bl sub_020689E8 + bl FUN_020689E8 str r0, [sp, #0x14] add r0, r5, #0x0 - bl sub_02068A88 + bl FUN_02068A88 mov r1, #0x0 add r7, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 ldr r0, _02068BF8 ; =0x000001EE cmp r4, r0 @@ -196452,7 +196452,7 @@ sub_02068B70: ; 0x02068B70 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r1, _02068BFC ; =0x000001EA cmp r0, r1 bne _02068BC6 @@ -196465,7 +196465,7 @@ _02068BCA: add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 _02068BD8: @@ -196476,18 +196476,18 @@ _02068BD8: ldr r2, [sp, #0x14] ldr r3, [sp, #0x10] add r1, r4, #0x0 - bl sub_02068C00 + bl FUN_02068C00 ldr r1, [sp, #0x18] add r0, r5, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0x1c pop {r4-r7, pc} nop _02068BF8: .word 0x000001EE _02068BFC: .word 0x000001EA - thumb_func_start sub_02068C00 -sub_02068C00: ; 0x02068C00 + thumb_func_start FUN_02068C00 +FUN_02068C00: ; 0x02068C00 push {r4-r7} add r7, r2, #0x0 add r5, r3, #0x0 @@ -196790,31 +196790,31 @@ _02068E06: _02068E0C: .word 0x000001A5 _02068E10: .word 0x00000147 - thumb_func_start sub_02068E14 -sub_02068E14: ; 0x02068E14 - ldr r3, _02068E18 ; =sub_02068E1C + thumb_func_start FUN_02068E14 +FUN_02068E14: ; 0x02068E14 + ldr r3, _02068E18 ; =FUN_02068E1C bx r3 .balign 4 -_02068E18: .word sub_02068E1C + 1 +_02068E18: .word FUN_02068E1C + 1 - thumb_func_start sub_02068E1C -sub_02068E1C: ; 0x02068E1C + thumb_func_start FUN_02068E1C +FUN_02068E1C: ; 0x02068E1C push {r3-r7, lr} sub sp, #0x8 add r7, r1, #0x0 mov r1, #0xad mov r2, #0x0 add r5, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 - bl sub_020689E8 + bl FUN_020689E8 mov r1, #0x0 str r0, [sp, #0x4] add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 ldr r0, _02068E80 ; =0x000001EE cmp r4, r0 @@ -196822,7 +196822,7 @@ sub_02068E1C: ; 0x02068E1C add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r1, _02068E84 ; =0x000001EA cmp r0, r1 bne _02068E5E @@ -196835,7 +196835,7 @@ _02068E62: add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x18 lsr r3, r0, #0x18 _02068E70: @@ -196843,15 +196843,15 @@ _02068E70: ldr r1, [sp, #0x4] add r0, r4, #0x0 add r2, r7, #0x0 - bl sub_02068E88 + bl FUN_02068E88 add sp, #0x8 pop {r3-r7, pc} .balign 4 _02068E80: .word 0x000001EE _02068E84: .word 0x000001EA - thumb_func_start sub_02068E88 -sub_02068E88: ; 0x02068E88 + thumb_func_start FUN_02068E88 +FUN_02068E88: ; 0x02068E88 push {r3-r5, lr} ldr r4, _02068FDC ; =0x000001A5 cmp r0, r4 @@ -197046,15 +197046,15 @@ _02068FCA: add r0, sp, #0x0 add r1, r4, #0x0 add r2, r3, #0x0 - bl sub_020064F0 + bl FUN_020064F0 add r0, sp, #0x0 ldrb r0, [r0, #0x0] pop {r3-r5, pc} nop _02068FDC: .word 0x000001A5 - thumb_func_start sub_02068FE0 -sub_02068FE0: ; 0x02068FE0 + thumb_func_start FUN_02068FE0 +FUN_02068FE0: ; 0x02068FE0 push {r4, lr} add r4, r0, #0x0 cmp r2, #0x2 @@ -197066,7 +197066,7 @@ _02068FEE: mov r0, #0x6 strh r0, [r4, #0x0] add r0, r1, #0x0 - bl sub_0206AA30 + bl FUN_0206AA30 lsl r0, r0, #0x10 lsr r1, r0, #0x10 _02068FFC: @@ -197081,8 +197081,8 @@ _02068FFC: pop {r4, pc} .balign 4 - thumb_func_start sub_02069010 -sub_02069010: ; 0x02069010 + thumb_func_start FUN_02069010 +FUN_02069010: ; 0x02069010 push {r3-r5, lr} sub sp, #0x20 add r5, r1, #0x0 @@ -197093,17 +197093,17 @@ sub_02069010: ; 0x02069010 mov r1, #0x72 mov r2, #0x0 mul r3, r5 - bl sub_02006548 + bl FUN_02006548 add r0, sp, #0xc add r1, r4, #0x0 mov r2, #0x14 - blx sub_020CE3E0 + blx FUN_020CE3E0 add sp, #0x20 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02069038 -sub_02069038: ; 0x02069038 + thumb_func_start FUN_02069038 +FUN_02069038: ; 0x02069038 push {r3-r7, lr} sub sp, #0x28 add r4, r0, #0x0 @@ -197117,7 +197117,7 @@ sub_02069038: ; 0x02069038 mov r1, #0x72 mov r2, #0x0 mul r3, r6 - bl sub_02006548 + bl FUN_02006548 cmp r5, #0x2 bne _0206906C add r1, sp, #0x4 @@ -197133,11 +197133,11 @@ _0206906C: ldr r0, [sp, #0x40] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02014C3C + bl FUN_02014C3C add r5, r0, #0x0 cmp r5, #0x3 blt _02069080 - bl sub_02020C2C + bl FUN_02020C2C _02069080: lsl r2, r5, #0x1 add r0, sp, #0xc @@ -197157,13 +197157,13 @@ _02069096: add r1, r7, #0x0 add r2, sp, #0x4 lsr r3, r3, #0x18 - bl sub_02014C54 + bl FUN_02014C54 add sp, #0x28 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020690AC -sub_020690AC: ; 0x020690AC + thumb_func_start FUN_020690AC +FUN_020690AC: ; 0x020690AC mov r2, #0x3c strh r2, [r0, #0x0] lsl r1, r1, #0x1 @@ -197177,66 +197177,66 @@ sub_020690AC: ; 0x020690AC bx lr .balign 4 - thumb_func_start sub_020690C4 -sub_020690C4: ; 0x020690C4 + thumb_func_start FUN_020690C4 +FUN_020690C4: ; 0x020690C4 mov r0, #0xec bx lr - thumb_func_start sub_020690C8 -sub_020690C8: ; 0x020690C8 + thumb_func_start FUN_020690C8 +FUN_020690C8: ; 0x020690C8 mov r0, #0x88 bx lr - thumb_func_start sub_020690CC -sub_020690CC: ; 0x020690CC - ldr r3, _020690D0 ; =sub_020690D4 + thumb_func_start FUN_020690CC +FUN_020690CC: ; 0x020690CC + ldr r3, _020690D0 ; =FUN_020690D4 bx r3 .balign 4 -_020690D0: .word sub_020690D4 + 1 +_020690D0: .word FUN_020690D4 + 1 - thumb_func_start sub_020690D4 -sub_020690D4: ; 0x020690D4 + thumb_func_start FUN_020690D4 +FUN_020690D4: ; 0x020690D4 push {r3, lr} mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3, pc} - thumb_func_start sub_020690E4 -sub_020690E4: ; 0x020690E4 + thumb_func_start FUN_020690E4 +FUN_020690E4: ; 0x020690E4 bx lr .balign 4 - thumb_func_start sub_020690E8 -sub_020690E8: ; 0x020690E8 + thumb_func_start FUN_020690E8 +FUN_020690E8: ; 0x020690E8 push {r3-r5, lr} sub sp, #0x8 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r5, r0, #0x10 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x1 add r0, sp, #0x0 strb r1, [r0, #0x0] add r0, r4, #0x0 mov r1, #0x8 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x15 - bl sub_02068678 + bl FUN_02068678 mov r1, #0x64 add r5, r0, #0x0 - bl sub_02068788 + bl FUN_02068788 ldr r1, [sp, #0x4] cmp r1, r0 bls _02069138 @@ -197244,7 +197244,7 @@ sub_020690E8: ; 0x020690E8 add r0, r4, #0x0 mov r1, #0x8 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 _02069138: add r0, sp, #0x0 ldrb r1, [r0, #0x0] @@ -197255,14 +197255,14 @@ _02069138: pop {r3-r5, pc} _02069146: add r0, r5, #0x0 - bl sub_02068788 + bl FUN_02068788 ldr r1, [sp, #0x4] cmp r1, r0 blo _02069162 add r0, r4, #0x0 mov r1, #0xa0 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add sp, #0x8 mov r0, #0x1 pop {r3-r5, pc} @@ -197271,8 +197271,8 @@ _02069162: add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_02069168 -sub_02069168: ; 0x02069168 + thumb_func_start FUN_02069168 +FUN_02069168: ; 0x02069168 push {r4-r7, lr} sub sp, #0x44 add r7, r1, #0x0 @@ -197284,26 +197284,26 @@ sub_02069168: ; 0x02069168 add r2, r6, #0x0 str r3, [sp, #0x4] ldr r5, [sp, #0x58] - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x2c] add r0, r7, #0x0 mov r1, #0x6 add r2, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 add r1, r6, #0x0 str r0, [sp, #0x28] add r0, r7, #0x0 add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x30] add r0, r7, #0x0 mov r1, #0x14 add r2, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] @@ -197317,7 +197317,7 @@ sub_02069168: ; 0x02069168 str r0, [sp, #0x1c] ldr r0, [sp, #0x28] mov r1, #0x1 - bl sub_0206E7B8 + bl FUN_0206E7B8 lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x2c] @@ -197337,11 +197337,11 @@ _020691E4: _020691EA: mov r0, #0x0 mov r1, #0x2a - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x18] ldr r0, [sp, #0x2c] ldr r1, [sp, #0x18] - bl sub_0206A394 + bl FUN_0206A394 cmp r4, #0x3 bls _02069202 b _0206954A @@ -197359,14 +197359,14 @@ _02069202: add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r7, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x20] @@ -197375,7 +197375,7 @@ _02069202: ldr r0, [sp, #0x1c] mov r1, #0xa ldr r4, [sp, #0x18] - blx sub_020EBC80 + blx FUN_020EBC80 str r1, [sp, #0x8] _02069246: ldrh r0, [r4, #0x0] @@ -197489,14 +197489,14 @@ _020694A4: .byte 0xA4, 0x1D, 0x40, 0x1C, 0x03, 0x90, 0x07, 0x28, 0xBC, 0xDB _0206954A: ldr r0, [sp, #0x18] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 add sp, #0x44 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02069558 -sub_02069558: ; 0x02069558 + thumb_func_start FUN_02069558 +FUN_02069558: ; 0x02069558 push {r3-r4, lr} sub sp, #0x4c add r4, r0, #0x0 @@ -197506,23 +197506,23 @@ sub_02069558: ; 0x02069558 ldr r0, _020695A0 ; =0x000001EE cmp r4, r0 blo _0206956E - bl sub_02020C2C + bl FUN_02020C2C _0206956E: add r0, sp, #0x4 - blx sub_020D1C94 + blx FUN_020D1C94 ldr r1, _020695A4 ; =0x02105FC8 add r0, sp, #0x4 - blx sub_020D1944 + blx FUN_020D1944 add r0, sp, #0x4 lsl r1, r4, #0x1 mov r2, #0x0 - blx sub_020D17A0 + blx FUN_020D17A0 add r0, sp, #0x4 add r1, sp, #0x0 mov r2, #0x2 - blx sub_020D180C + blx FUN_020D180C add r0, sp, #0x4 - blx sub_020D18FC + blx FUN_020D18FC add r0, sp, #0x0 ldrh r0, [r0, #0x0] add sp, #0x4c @@ -197531,8 +197531,8 @@ _0206956E: _020695A0: .word 0x000001EE _020695A4: .word 0x02105FC8 - thumb_func_start sub_020695A8 -sub_020695A8: ; 0x020695A8 + thumb_func_start FUN_020695A8 +FUN_020695A8: ; 0x020695A8 push {r3, lr} cmp r0, #0xb9 bgt _020695CC @@ -197571,43 +197571,43 @@ _020695E2: cmp r0, r1 beq _020695EC _020695E8: - bl sub_02069558 + bl FUN_02069558 _020695EC: pop {r3, pc} nop _020695F0: .word 0x0000013B - thumb_func_start sub_020695F4 -sub_020695F4: ; 0x020695F4 + thumb_func_start FUN_020695F4 +FUN_020695F4: ; 0x020695F4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 mov r0, #0x0 mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x0] add r0, r5, #0x0 - bl sub_02066A6C + bl FUN_02066A6C str r0, [sp, #0x4] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 - bl sub_020687C8 + bl FUN_020687C8 lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r2, [sp, #0x0] add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_02069F9C + bl FUN_02069F9C ldr r0, [sp, #0x0] ldrh r1, [r0, #0x0] ldr r0, _02069690 ; =0x0000FFFF @@ -197628,13 +197628,13 @@ _02069648: lsr r6, r0, #0x10 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020696A8 + bl FUN_020696A8 ldr r1, _02069690 ; =0x0000FFFF cmp r0, r1 bne _02069672 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02069718 + bl FUN_02069718 _02069672: add r4, r4, #0x2 ldrh r1, [r4, #0x0] @@ -197643,34 +197643,34 @@ _02069672: bne _02069648 _0206967C: ldr r0, [sp, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r1, [sp, #0x4] add r0, r5, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} nop _02069690: .word 0x0000FFFF _02069694: .word 0x000001FF - thumb_func_start sub_02069698 -sub_02069698: ; 0x02069698 + thumb_func_start FUN_02069698 +FUN_02069698: ; 0x02069698 push {r4, lr} add r4, r1, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r1, r4, #0x0 - bl sub_020696A8 + bl FUN_020696A8 pop {r4, pc} - thumb_func_start sub_020696A8 -sub_020696A8: ; 0x020696A8 + thumb_func_start FUN_020696A8 +FUN_020696A8: ; 0x020696A8 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 ldr r1, _02069700 ; =0x0000FFFF add r6, r0, #0x0 str r1, [sp, #0x4] - bl sub_02066A6C + bl FUN_02066A6C mov r4, #0x0 str r0, [sp, #0x0] add r7, r4, #0x0 @@ -197679,7 +197679,7 @@ _020696BE: add r0, r6, #0x0 add r1, #0x36 add r2, r7, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 bne _020696E0 @@ -197687,7 +197687,7 @@ _020696BE: add r0, r6, #0x0 add r1, r5, #0x0 lsr r2, r2, #0x18 - bl sub_020697D4 + bl FUN_020697D4 str r5, [sp, #0x4] b _020696F0 _020696E0: @@ -197703,7 +197703,7 @@ _020696EA: _020696F0: ldr r1, [sp, #0x0] add r0, r6, #0x0 - bl sub_02066A94 + bl FUN_02066A94 ldr r0, [sp, #0x4] add sp, #0x8 pop {r3-r7, pc} @@ -197711,22 +197711,22 @@ _020696F0: _02069700: .word 0x0000FFFF _02069704: .word 0x0000FFFE - thumb_func_start sub_02069708 -sub_02069708: ; 0x02069708 + thumb_func_start FUN_02069708 +FUN_02069708: ; 0x02069708 push {r4, lr} add r4, r1, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r1, r4, #0x0 - bl sub_02069718 + bl FUN_02069718 pop {r4, pc} - thumb_func_start sub_02069718 -sub_02069718: ; 0x02069718 + thumb_func_start FUN_02069718 +FUN_02069718: ; 0x02069718 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 str r1, [sp, #0x0] - bl sub_02066A6C + bl FUN_02066A6C str r0, [sp, #0xc] add r0, sp, #0x18 mov r4, #0x0 @@ -197738,20 +197738,20 @@ _02069730: add r0, r5, #0x0 add r1, #0x37 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r1, [sp, #0x4] mov r2, #0x0 strh r0, [r1, #0x0] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3b - bl sub_020672BC + bl FUN_020672BC add r1, r4, #0x0 strb r0, [r7, #0x0] add r0, r5, #0x0 add r1, #0x3f mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC strb r0, [r6, #0x0] ldr r0, [sp, #0x4] add r4, r4, #0x1 @@ -197766,7 +197766,7 @@ _02069730: strh r0, [r1, #0xe] ldr r0, [sp, #0x0] mov r1, #0x5 - bl sub_0206AB18 + bl FUN_0206AB18 add r1, sp, #0x10 strb r0, [r1, #0x7] mov r4, #0x0 @@ -197780,17 +197780,17 @@ _0206978A: ldr r2, [sp, #0x8] add r0, r5, #0x0 add r1, #0x36 - bl sub_02067960 + bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, r7, #0x0 - bl sub_02067960 + bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e add r2, r6, #0x0 - bl sub_02067960 + bl FUN_02067960 ldr r0, [sp, #0x8] add r4, r4, #0x1 add r0, r0, #0x2 @@ -197801,20 +197801,20 @@ _0206978A: blt _0206978A ldr r1, [sp, #0xc] add r0, r5, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0x20 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020697CC -sub_020697CC: ; 0x020697CC - ldr r3, _020697D0 ; =sub_020697D4 + thumb_func_start FUN_020697CC +FUN_020697CC: ; 0x020697CC + ldr r3, _020697D0 ; =FUN_020697D4 bx r3 .balign 4 -_020697D0: .word sub_020697D4 + 1 +_020697D0: .word FUN_020697D4 + 1 - thumb_func_start sub_020697D4 -sub_020697D4: ; 0x020697D4 + thumb_func_start FUN_020697D4 +FUN_020697D4: ; 0x020697D4 push {r0-r3} push {r3-r5, lr} add r4, r2, #0x0 @@ -197822,32 +197822,32 @@ sub_020697D4: ; 0x020697D4 add r1, #0x36 add r2, sp, #0x14 add r5, r0, #0x0 - bl sub_02067960 + bl FUN_02067960 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, sp, #0x10 ldrh r0, [r0, #0x4] - bl sub_0206AB30 + bl FUN_0206AB30 add r1, sp, #0x0 strb r0, [r1, #0x0] add r4, #0x3a add r0, r5, #0x0 add r1, r4, #0x0 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 pop {r3-r5} pop {r3} add sp, #0x10 bx r3 .balign 4 - thumb_func_start sub_02069818 -sub_02069818: ; 0x02069818 + thumb_func_start FUN_02069818 +FUN_02069818: ; 0x02069818 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 @@ -197856,30 +197856,30 @@ sub_02069818: ; 0x02069818 mov r1, #0x2c str r2, [sp, #0x0] str r0, [sp, #0x8] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r6, r0, #0x18 ldr r0, [sp, #0x4] ldr r1, [sp, #0xc] add r2, r4, #0x0 - bl sub_02069F9C + bl FUN_02069F9C ldr r0, [r5, #0x0] lsl r0, r0, #0x1 ldrh r2, [r4, r0] @@ -197887,7 +197887,7 @@ sub_02069818: ; 0x02069818 cmp r2, r0 bne _0206987A add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} @@ -197909,7 +197909,7 @@ _0206988A: cmp r2, r1 bne _020698A4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 mov r0, #0x0 pop {r3-r7, pc} @@ -197932,11 +197932,11 @@ _020698AC: str r0, [r5, #0x0] ldrh r1, [r1, #0x0] add r0, r7, #0x0 - bl sub_02069698 + bl FUN_02069698 str r0, [sp, #0x8] _020698CC: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x8] add sp, #0x10 pop {r3-r7, pc} @@ -197944,15 +197944,15 @@ _020698CC: _020698D8: .word 0x0000FFFF _020698DC: .word 0x000001FF - thumb_func_start sub_020698E0 -sub_020698E0: ; 0x020698E0 - ldr r3, _020698E4 ; =sub_020698E8 + thumb_func_start FUN_020698E0 +FUN_020698E0: ; 0x020698E0 + ldr r3, _020698E4 ; =FUN_020698E8 bx r3 .balign 4 -_020698E4: .word sub_020698E8 + 1 +_020698E4: .word FUN_020698E8 + 1 - thumb_func_start sub_020698E8 -sub_020698E8: ; 0x020698E8 + thumb_func_start FUN_020698E8 +FUN_020698E8: ; 0x020698E8 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 @@ -197960,42 +197960,42 @@ sub_020698E8: ; 0x020698E8 add r1, #0x36 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strh r0, [r1, #0x4] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x2] add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x0] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strh r0, [r1, #0x6] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x3] add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x3e mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, sp, #0x0 strb r0, [r1, #0x1] add r1, r4, #0x0 @@ -198003,41 +198003,41 @@ sub_020698E8: ; 0x020698E8 add r0, r5, #0x0 add r1, #0x36 add r2, #0x2 - bl sub_02067960 + bl FUN_02067960 add r1, r4, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x3 - bl sub_02067960 + bl FUN_02067960 add r4, #0x3e add r2, sp, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 add r2, #0x1 - bl sub_02067960 + bl FUN_02067960 add r1, r6, #0x0 add r0, r5, #0x0 add r1, #0x36 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 add r1, r6, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x2 - bl sub_02067960 + bl FUN_02067960 add r6, #0x3e add r0, r5, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020699A4 -sub_020699A4: ; 0x020699A4 + thumb_func_start FUN_020699A4 +FUN_020699A4: ; 0x020699A4 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -198050,37 +198050,37 @@ _020699B2: add r0, r5, #0x0 add r1, #0x37 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r4, #0x0 strh r0, [r6, #0x2] add r0, r5, #0x0 add r1, #0x3b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r4, #0x0 strb r0, [r6, #0x1] add r0, r5, #0x0 add r1, #0x3f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r4, #0x0 add r2, sp, #0x0 strb r0, [r6, #0x0] add r0, r5, #0x0 add r1, #0x36 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add r1, r4, #0x0 add r2, sp, #0x0 add r0, r5, #0x0 add r1, #0x3a add r2, #0x1 - bl sub_02067830 + bl FUN_02067830 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x3e add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r4, r4, #0x1 cmp r4, #0x3 blo _020699B2 @@ -198094,20 +198094,20 @@ _02069A0A: add r0, r5, #0x0 mov r1, #0x39 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x0 add r0, r5, #0x0 mov r1, #0x3d add r2, #0x1 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x41 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 pop {r3-r7, pc} - thumb_func_start sub_02069A38 -sub_02069A38: ; 0x02069A38 + thumb_func_start FUN_02069A38 +FUN_02069A38: ; 0x02069A38 push {r3-r7, lr} mov r4, #0x0 add r6, r0, #0x0 @@ -198118,7 +198118,7 @@ _02069A42: add r0, r6, #0x0 add r1, #0x36 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 beq _02069A58 add r4, r4, #0x1 @@ -198133,8 +198133,8 @@ _02069A60: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02069A64 -sub_02069A64: ; 0x02069A64 + thumb_func_start FUN_02069A64 +FUN_02069A64: ; 0x02069A64 push {r4-r5, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -198161,46 +198161,46 @@ _02069A8E: add r0, r4, #0x0 mov r1, #0x9f add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 mov r1, #0xa2 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 mov r1, #0xa3 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 - bl sub_020256BC + bl FUN_020256BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xa9 add r2, r5, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 mov r1, #0xa1 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x4 mov r2, #0x18 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 mov r1, #0xaa add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 add sp, #0x1c pop {r4-r5, pc} - thumb_func_start sub_02069AEC -sub_02069AEC: ; 0x02069AEC + thumb_func_start FUN_02069AEC +FUN_02069AEC: ; 0x02069AEC push {r3-r7, lr} str r0, [sp, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC add r7, r0, #0x0 mov r6, #0x1 mov r5, #0x0 @@ -198209,23 +198209,23 @@ sub_02069AEC: ; 0x02069AEC _02069AFE: ldr r0, [sp, #0x0] add r1, r5, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069B36 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02069B36 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 cmp r0, r6 @@ -198239,8 +198239,8 @@ _02069B3C: add r0, r6, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02069B40 -sub_02069B40: ; 0x02069B40 + thumb_func_start FUN_02069B40 +FUN_02069B40: ; 0x02069B40 push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 @@ -198250,15 +198250,15 @@ sub_02069B40: ; 0x02069B40 mov r1, #0x6d mov r2, #0x0 lsl r3, r3, #0x1 - bl sub_02006548 + bl FUN_02006548 add r0, sp, #0x4 ldrh r0, [r0, #0x0] add sp, #0x8 pop {r3, pc} .balign 4 - thumb_func_start sub_02069B60 -sub_02069B60: ; 0x02069B60 + thumb_func_start FUN_02069B60 +FUN_02069B60: ; 0x02069B60 push {r3, lr} sub sp, #0x8 add r3, r0, #0x0 @@ -198272,7 +198272,7 @@ sub_02069B60: ; 0x02069B60 add r0, sp, #0x4 mov r1, #0x91 lsl r3, r3, #0x1 - bl sub_02006548 + bl FUN_02006548 _02069B7E: add r0, sp, #0x4 ldrh r0, [r0, #0x0] @@ -198280,8 +198280,8 @@ _02069B7E: pop {r3, pc} .balign 4 - thumb_func_start sub_02069B88 -sub_02069B88: ; 0x02069B88 + thumb_func_start FUN_02069B88 +FUN_02069B88: ; 0x02069B88 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -198296,8 +198296,8 @@ _02069B90: pop {r3-r4} bx lr - thumb_func_start sub_02069BA0 -sub_02069BA0: ; 0x02069BA0 + thumb_func_start FUN_02069BA0 +FUN_02069BA0: ; 0x02069BA0 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -198310,8 +198310,8 @@ _02069BA8: pop {r3-r4} bx lr - thumb_func_start sub_02069BB4 -sub_02069BB4: ; 0x02069BB4 + thumb_func_start FUN_02069BB4 +FUN_02069BB4: ; 0x02069BB4 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -198324,29 +198324,29 @@ _02069BBC: pop {r3-r4} bx lr - thumb_func_start sub_02069BC8 -sub_02069BC8: ; 0x02069BC8 - ldr r3, _02069BCC ; =sub_02069BD0 + thumb_func_start FUN_02069BC8 +FUN_02069BC8: ; 0x02069BC8 + ldr r3, _02069BCC ; =FUN_02069BD0 bx r3 .balign 4 -_02069BCC: .word sub_02069BD0 + 1 +_02069BCC: .word FUN_02069BD0 + 1 - thumb_func_start sub_02069BD0 -sub_02069BD0: ; 0x02069BD0 + thumb_func_start FUN_02069BD0 +FUN_02069BD0: ; 0x02069BD0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r4, #0x0 - bl sub_02069BE4 + bl FUN_02069BE4 pop {r4, pc} - thumb_func_start sub_02069BE4 -sub_02069BE4: ; 0x02069BE4 + thumb_func_start FUN_02069BE4 +FUN_02069BE4: ; 0x02069BE4 push {r4, lr} add r4, r1, #0x0 - bl sub_02068884 + bl FUN_02068884 lsl r1, r0, #0x2 add r1, r0, r1 ldr r0, _02069BF8 ; =0x020F7F16 @@ -198356,20 +198356,20 @@ sub_02069BE4: ; 0x02069BE4 .balign 4 _02069BF8: .word 0x020F7F16 - thumb_func_start sub_02069BFC -sub_02069BFC: ; 0x02069BFC + thumb_func_start FUN_02069BFC +FUN_02069BFC: ; 0x02069BFC push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 mov r0, #0x0 mov r1, #0x2c add r5, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02069F9C + bl FUN_02069F9C ldrh r1, [r6, #0x0] ldr r0, _02069C44 ; =0x0000FFFF mov r4, #0x0 @@ -198390,20 +198390,20 @@ _02069C28: bne _02069C28 _02069C3A: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 _02069C44: .word 0x0000FFFF _02069C48: .word 0x000001FF - thumb_func_start sub_02069C4C -sub_02069C4C: ; 0x02069C4C + thumb_func_start FUN_02069C4C +FUN_02069C4C: ; 0x02069C4C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC add r6, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x1 lsl r1, r1, #0xe cmp r0, r1 @@ -198416,37 +198416,37 @@ sub_02069C4C: ; 0x02069C4C cmp r0, r1 bne _02069CF2 _02069C70: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r5, #0x0 add r7, r1, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069C70 add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02069C70 add r0, r7, #0x0 - bl sub_0206A92C + bl FUN_0206A92C add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_02069CF4 + bl FUN_02069CF4 cmp r0, #0x0 bne _02069CF2 add r5, sp, #0x0 mov r6, #0x7 _02069CB8: - bl sub_0201B9EC + bl FUN_0201B9EC strb r0, [r5, #0x0] ldrb r2, [r5, #0x0] add r1, r2, #0x0 @@ -198473,12 +198473,12 @@ _02069CD0: strb r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0x99 - bl sub_02067830 + bl FUN_02067830 _02069CF2: pop {r3-r7, pc} - thumb_func_start sub_02069CF4 -sub_02069CF4: ; 0x02069CF4 + thumb_func_start FUN_02069CF4 +FUN_02069CF4: ; 0x02069CF4 push {r3-r7, lr} mov r6, #0x0 add r5, r1, #0x0 @@ -198493,10 +198493,10 @@ _02069D04: beq _02069D26 ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069D26 add r0, r7, #0x0 @@ -198512,10 +198512,10 @@ _02069D26: b _02069D4A _02069D32: add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x99 add r2, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069D4A add r0, r7, #0x1 @@ -198526,13 +198526,13 @@ _02069D4A: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02069D50 -sub_02069D50: ; 0x02069D50 + thumb_func_start FUN_02069D50 +FUN_02069D50: ; 0x02069D50 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] add r5, r1, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC mov r6, #0x0 str r0, [sp, #0x4] cmp r0, #0x0 @@ -198541,17 +198541,17 @@ sub_02069D50: ; 0x02069D50 _02069D66: ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069DBA add r0, r7, #0x0 mov r1, #0x99 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r4, #0x0] ldrb r1, [r4, #0x0] mov r0, #0xf @@ -198580,7 +198580,7 @@ _02069DB0: add r0, r7, #0x0 mov r1, #0x99 add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 _02069DBA: ldr r0, [sp, #0x4] add r6, r6, #0x1 @@ -198591,16 +198591,16 @@ _02069DC2: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02069DC8 -sub_02069DC8: ; 0x02069DC8 + thumb_func_start FUN_02069DC8 +FUN_02069DC8: ; 0x02069DC8 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_0206B9AC + bl FUN_0206B9AC add r7, r0, #0x0 - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x3 - blx sub_020EBC80 + blx FUN_020EBC80 cmp r1, #0x0 bne _02069E70 mov r4, #0x0 @@ -198611,17 +198611,17 @@ sub_02069DC8: ; 0x02069DC8 _02069DEC: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02069E6A add r0, r6, #0x0 mov r1, #0x99 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x4 strb r0, [r1, #0x0] add r0, r1, #0x0 @@ -198633,36 +198633,36 @@ _02069DEC: beq _02069E40 add r0, r5, #0x0 sub r1, r4, #0x1 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0xf0 tst r0, r1 bne _02069E40 add r0, r6, #0x0 mov r1, #0x99 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 _02069E40: ldr r0, [sp, #0x0] cmp r4, r0 bge _02069E6A add r0, r5, #0x0 add r1, r4, #0x1 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x99 mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0xf0 tst r0, r1 bne _02069E6A add r0, r6, #0x0 mov r1, #0x99 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 add r4, r4, #0x1 _02069E6A: add r4, r4, #0x1 @@ -198672,19 +198672,19 @@ _02069E70: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02069E74 -sub_02069E74: ; 0x02069E74 - ldr r3, _02069E78 ; =sub_02069E7C + thumb_func_start FUN_02069E74 +FUN_02069E74: ; 0x02069E74 + ldr r3, _02069E78 ; =FUN_02069E7C bx r3 .balign 4 -_02069E78: .word sub_02069E7C + 1 +_02069E78: .word FUN_02069E7C + 1 - thumb_func_start sub_02069E7C -sub_02069E7C: ; 0x02069E7C + thumb_func_start FUN_02069E7C +FUN_02069E7C: ; 0x02069E7C push {r3, lr} mov r1, #0x99 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC mov r1, #0xf tst r0, r1 beq _02069E90 @@ -198694,19 +198694,19 @@ _02069E90: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02069E94 -sub_02069E94: ; 0x02069E94 - ldr r3, _02069E98 ; =sub_02069E9C + thumb_func_start FUN_02069E94 +FUN_02069E94: ; 0x02069E94 + ldr r3, _02069E98 ; =FUN_02069E9C bx r3 .balign 4 -_02069E98: .word sub_02069E9C + 1 +_02069E98: .word FUN_02069E9C + 1 - thumb_func_start sub_02069E9C -sub_02069E9C: ; 0x02069E9C + thumb_func_start FUN_02069E9C +FUN_02069E9C: ; 0x02069E9C push {r3, lr} mov r1, #0x99 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0xf @@ -198725,31 +198725,31 @@ _02069EBE: pop {r3, pc} .balign 4 - thumb_func_start sub_02069EC4 -sub_02069EC4: ; 0x02069EC4 - ldr r3, _02069EC8 ; =sub_02069ECC + thumb_func_start FUN_02069EC4 +FUN_02069EC4: ; 0x02069EC4 + ldr r3, _02069EC8 ; =FUN_02069ECC bx r3 .balign 4 -_02069EC8: .word sub_02069ECC + 1 +_02069EC8: .word FUN_02069ECC + 1 - thumb_func_start sub_02069ECC -sub_02069ECC: ; 0x02069ECC + thumb_func_start FUN_02069ECC +FUN_02069ECC: ; 0x02069ECC push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r1, _02069F20 ; =0x000001ED cmp r4, r1 bne _02069F1C @@ -198759,23 +198759,23 @@ sub_02069ECC: ; 0x02069ECC lsr r0, r0, #0x10 mov r1, #0x1 mov r2, #0x0 - bl sub_0206E7B8 + bl FUN_0206E7B8 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_02069F24 + bl FUN_02069F24 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x70 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 _02069F1C: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02069F20: .word 0x000001ED - thumb_func_start sub_02069F24 -sub_02069F24: ; 0x02069F24 + thumb_func_start FUN_02069F24 +FUN_02069F24: ; 0x02069F24 sub r0, #0x7d cmp r0, #0xf bhi _02069F96 @@ -198814,19 +198814,19 @@ _02069F96: bx lr .balign 4 - thumb_func_start sub_02069F9C -sub_02069F9C: ; 0x02069F9C + thumb_func_start FUN_02069F9C +FUN_02069F9C: ; 0x02069F9C push {r4, lr} add r4, r2, #0x0 - bl sub_0206A8FC + bl FUN_0206A8FC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x21 - bl sub_020064F0 + bl FUN_020064F0 pop {r4, pc} - thumb_func_start sub_02069FB0 -sub_02069FB0: ; 0x02069FB0 + thumb_func_start FUN_02069FB0 +FUN_02069FB0: ; 0x02069FB0 push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0206A010 ; =0x000001B9 @@ -198836,31 +198836,31 @@ sub_02069FB0: ; 0x02069FB0 cmp r4, r0 bne _02069FFC add r0, r5, #0x0 - bl sub_02005F14 + bl FUN_02005F14 cmp r0, #0x0 bne _02069FE2 mov r0, #0x1 - bl sub_02005E80 + bl FUN_02005E80 ldr r0, [sp, #0x20] ldr r3, [sp, #0x18] str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020056AC + bl FUN_020056AC pop {r3-r7, pc} _02069FE2: ldr r0, [sp, #0x1c] cmp r0, #0x0 beq _02069FEE mov r0, #0x1 - bl sub_02005E80 + bl FUN_02005E80 _02069FEE: ldr r2, [sp, #0x18] add r0, r7, #0x0 mov r1, #0x0 add r3, r6, #0x0 - bl sub_02005E90 + bl FUN_02005E90 pop {r3-r7, pc} _02069FFC: ldr r0, [sp, #0x20] @@ -198869,13 +198869,13 @@ _02069FFC: add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_020056AC + bl FUN_020056AC pop {r3-r7, pc} nop _0206A010: .word 0x000001B9 - thumb_func_start sub_0206A014 -sub_0206A014: ; 0x0206A014 + thumb_func_start FUN_0206A014 +FUN_0206A014: ; 0x0206A014 push {r3-r6, lr} sub sp, #0xc ldr r6, [sp, #0x20] @@ -198884,30 +198884,30 @@ sub_0206A014: ; 0x0206A014 ldr r6, [sp, #0x24] add r4, r2, #0x0 str r6, [sp, #0x4] - bl sub_0206A054 + bl FUN_0206A054 cmp r4, #0xe bne _0206A050 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 _0206A050: add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_0206A054 -sub_0206A054: ; 0x0206A054 + thumb_func_start FUN_0206A054 +FUN_0206A054: ; 0x0206A054 push {r0-r3} push {r3-r4, lr} sub sp, #0x4 @@ -198915,19 +198915,19 @@ sub_0206A054: ; 0x0206A054 add r4, r0, #0x0 str r2, [sp, #0x0] mov r2, #0x0 - bl sub_020808AC + bl FUN_020808AC ldr r2, _0206A090 ; =0x020ECAC0 add r0, r4, #0x0 mov r1, #0x79 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x9a add r2, sp, #0x18 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x9d add r2, sp, #0x20 - bl sub_02067960 + bl FUN_02067960 add sp, #0x4 pop {r3-r4} pop {r3} @@ -198936,8 +198936,8 @@ sub_0206A054: ; 0x0206A054 nop _0206A090: .word 0x020ECAC0 - thumb_func_start sub_0206A094 -sub_0206A094: ; 0x0206A094 + thumb_func_start FUN_0206A094 +FUN_0206A094: ; 0x0206A094 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -198945,33 +198945,33 @@ sub_0206A094: ; 0x0206A094 add r7, r2, #0x0 tst r0, r1 bne _0206A12E - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r4, r1, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x0] ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x10 - bl sub_02068654 + bl FUN_02068654 add r1, sp, #0x4 strh r0, [r1, #0x2] ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x11 - bl sub_02068654 + bl FUN_02068654 add r1, sp, #0x4 strh r0, [r1, #0x0] ldrh r2, [r1, #0x2] @@ -198984,7 +198984,7 @@ sub_0206A094: ; 0x0206A094 add r0, r5, #0x0 mov r1, #0x6 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add sp, #0x8 pop {r3-r7, pc} _0206A104: @@ -199001,13 +199001,13 @@ _0206A104: add r0, r5, #0x0 mov r1, #0x6 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add sp, #0x8 pop {r3-r7, pc} _0206A126: add r0, r5, #0x0 mov r1, #0x6 - bl sub_02067830 + bl FUN_02067830 _0206A12E: add sp, #0x8 pop {r3-r7, pc} @@ -199015,35 +199015,35 @@ _0206A12E: _0206A134: .word 0x020F7ECC _0206A138: .word 0x020F7ECE - thumb_func_start sub_0206A13C -sub_0206A13C: ; 0x0206A13C - ldr r3, _0206A140 ; =sub_0206A144 + thumb_func_start FUN_0206A13C +FUN_0206A13C: ; 0x0206A13C + ldr r3, _0206A140 ; =FUN_0206A144 bx r3 .balign 4 -_0206A140: .word sub_0206A144 + 1 +_0206A140: .word FUN_0206A144 + 1 - thumb_func_start sub_0206A144 -sub_0206A144: ; 0x0206A144 + thumb_func_start FUN_0206A144 +FUN_0206A144: ; 0x0206A144 push {r4-r6, lr} add r6, r1, #0x0 mov r1, #0xad mov r2, #0x0 add r5, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r0, #0x0 add r0, r4, #0x0 add r2, r6, #0x0 - bl sub_0206A16C + bl FUN_0206A16C pop {r4-r6, pc} - thumb_func_start sub_0206A16C -sub_0206A16C: ; 0x0206A16C + thumb_func_start FUN_0206A16C +FUN_0206A16C: ; 0x0206A16C push {r4, lr} ldr r3, _0206A1C0 ; =0x000001EE cmp r0, r3 @@ -199083,7 +199083,7 @@ _0206A1A6: lsl r4, r2 mov r2, #0x20 _0206A1B0: - bl sub_02068654 + bl FUN_02068654 tst r0, r4 beq _0206A1BC mov r0, #0x1 @@ -199094,37 +199094,37 @@ _0206A1BC: .balign 4 _0206A1C0: .word 0x000001EE - thumb_func_start sub_0206A1C4 -sub_0206A1C4: ; 0x0206A1C4 - ldr r3, _0206A1C8 ; =sub_0206A1CC + thumb_func_start FUN_0206A1C4 +FUN_0206A1C4: ; 0x0206A1C4 + ldr r3, _0206A1C8 ; =FUN_0206A1CC bx r3 .balign 4 -_0206A1C8: .word sub_0206A1CC + 1 +_0206A1C8: .word FUN_0206A1CC + 1 - thumb_func_start sub_0206A1CC -sub_0206A1CC: ; 0x0206A1CC + thumb_func_start FUN_0206A1CC +FUN_0206A1CC: ; 0x0206A1CC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC mov r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 add r2, r1, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x18 - bl sub_02068678 + bl FUN_02068678 str r0, [sp, #0x4] add r0, r4, #0x0 mov r1, #0x19 - bl sub_02068678 + bl FUN_02068678 str r0, [sp, #0x0] cmp r0, #0x0 beq _0206A226 @@ -199134,94 +199134,94 @@ sub_0206A1CC: ; 0x0206A1CC add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 b _0206A230 _0206A21A: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 b _0206A230 _0206A226: add r0, r5, #0x0 mov r1, #0xa add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 _0206A230: add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0206A23C -sub_0206A23C: ; 0x0206A23C + thumb_func_start FUN_0206A23C +FUN_0206A23C: ; 0x0206A23C push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 mov r0, #0x0 str r1, [sp, #0x0] - bl sub_020669C0 + bl FUN_020669C0 str r0, [sp, #0x4] ldr r1, [sp, #0x4] add r0, r5, #0x0 - bl sub_02069B88 + bl FUN_02069B88 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x0 - bl sub_0206A418 + bl FUN_0206A418 add r4, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x1 - bl sub_0206A418 + bl FUN_0206A418 add r6, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x2 - bl sub_0206A418 + bl FUN_0206A418 add r7, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [r5, #0x0] mov r2, #0x3 - bl sub_0206A418 + bl FUN_0206A418 str r0, [sp, #0x8] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x0 - bl sub_0206A418 + bl FUN_0206A418 str r0, [sp, #0xc] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x1 - bl sub_0206A418 + bl FUN_0206A418 str r0, [sp, #0x10] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x2 - bl sub_0206A418 + bl FUN_0206A418 str r0, [sp, #0x14] ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x3 - bl sub_0206A418 + bl FUN_0206A418 ldr r2, [sp, #0x4] str r0, [sp, #0x18] ldr r0, [sp, #0x4] ldrh r2, [r2, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3D0 + bl FUN_0206A3D0 add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3D0 + bl FUN_0206A3D0 ldr r0, [sp, #0x0] str r0, [r5, #0x0] ldr r2, [sp, #0xc] @@ -199278,56 +199278,56 @@ _0206A32E: add r0, r5, #0x0 add r0, #0x8 mov r1, #0x80 - bl sub_0206A3F8 + bl FUN_0206A3F8 strh r0, [r5, #0x6] add r0, r5, #0x0 ldrh r2, [r5, #0x6] add r0, #0x8 mov r1, #0x80 - bl sub_0206A3A4 + bl FUN_0206A3A4 add r0, r5, #0x0 ldr r2, [r5, #0x0] add r0, #0x88 mov r1, #0x64 - bl sub_0206A3A4 + bl FUN_0206A3A4 ldr r0, [sp, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x1c pop {r4-r7, pc} - thumb_func_start sub_0206A370 -sub_0206A370: ; 0x0206A370 - ldr r3, _0206A37C ; =sub_020064F0 + thumb_func_start FUN_0206A370 +FUN_0206A370: ; 0x0206A370 + ldr r3, _0206A37C ; =FUN_020064F0 add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x2 bx r3 nop -_0206A37C: .word sub_020064F0 + 1 +_0206A37C: .word FUN_020064F0 + 1 - thumb_func_start sub_0206A380 -sub_0206A380: ; 0x0206A380 + thumb_func_start FUN_0206A380 +FUN_0206A380: ; 0x0206A380 push {r4, lr} add r4, r2, #0x0 - bl sub_0206A8FC + bl FUN_0206A8FC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_020064F0 + bl FUN_020064F0 pop {r4, pc} - thumb_func_start sub_0206A394 -sub_0206A394: ; 0x0206A394 - ldr r3, _0206A3A0 ; =sub_020064F0 + thumb_func_start FUN_0206A394 +FUN_0206A394: ; 0x0206A394 + ldr r3, _0206A3A0 ; =FUN_020064F0 add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x22 bx r3 nop -_0206A3A0: .word sub_020064F0 + 1 +_0206A3A0: .word FUN_020064F0 + 1 - thumb_func_start sub_0206A3A4 -sub_0206A3A4: ; 0x0206A3A4 + thumb_func_start FUN_0206A3A4 +FUN_0206A3A4: ; 0x0206A3A4 push {r0-r3} push {r3-r7, lr} add r5, r0, #0x0 @@ -199337,7 +199337,7 @@ sub_0206A3A4: ; 0x0206A3A4 add r7, sp, #0x20 _0206A3B2: add r0, r7, #0x0 - bl sub_0206A3D8 + bl FUN_0206A3D8 ldrh r1, [r5, #0x0] add r4, r4, #0x1 eor r0, r1 @@ -199352,15 +199352,15 @@ _0206A3C6: bx r3 .balign 4 - thumb_func_start sub_0206A3D0 -sub_0206A3D0: ; 0x0206A3D0 - ldr r3, _0206A3D4 ; =sub_0206A3A4 + thumb_func_start FUN_0206A3D0 +FUN_0206A3D0: ; 0x0206A3D0 + ldr r3, _0206A3D4 ; =FUN_0206A3A4 bx r3 .balign 4 -_0206A3D4: .word sub_0206A3A4 + 1 +_0206A3D4: .word FUN_0206A3A4 + 1 - thumb_func_start sub_0206A3D8 -sub_0206A3D8: ; 0x0206A3D8 + thumb_func_start FUN_0206A3D8 +FUN_0206A3D8: ; 0x0206A3D8 ldr r2, [r0, #0x0] ldr r1, _0206A3F0 ; =0x41C64E6D add r3, r2, #0x0 @@ -199376,8 +199376,8 @@ sub_0206A3D8: ; 0x0206A3D8 _0206A3F0: .word 0x41C64E6D _0206A3F4: .word 0x00006073 - thumb_func_start sub_0206A3F8 -sub_0206A3F8: ; 0x0206A3F8 + thumb_func_start FUN_0206A3F8 +FUN_0206A3F8: ; 0x0206A3F8 push {r3-r4} mov r3, #0x0 add r2, r3, #0x0 @@ -199397,8 +199397,8 @@ _0206A412: pop {r3-r4} bx lr - thumb_func_start sub_0206A418 -sub_0206A418: ; 0x0206A418 + thumb_func_start FUN_0206A418 +FUN_0206A418: ; 0x0206A418 push {r3, lr} mov r3, #0x3e lsl r3, r3, #0xc @@ -199538,8 +199538,8 @@ _0206A8F8: add r0, r1, #0x0 pop {r3, pc} - thumb_func_start sub_0206A8FC -sub_0206A8FC: ; 0x0206A8FC + thumb_func_start FUN_0206A8FC +FUN_0206A8FC: ; 0x0206A8FC ldr r3, _0206A928 ; =0x00000182 cmp r0, r3 beq _0206A90C @@ -199568,14 +199568,14 @@ _0206A926: .balign 4 _0206A928: .word 0x00000182 - thumb_func_start sub_0206A92C -sub_0206A92C: ; 0x0206A92C + thumb_func_start FUN_0206A92C +FUN_0206A92C: ; 0x0206A92C push {r3-r5, lr} add r5, r0, #0x0 mov r4, #0x1 cmp r5, #0x20 blt _0206A93A - bl sub_02020C2C + bl FUN_02020C2C _0206A93A: mov r0, #0x0 cmp r5, #0x0 @@ -199589,8 +199589,8 @@ _0206A948: add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0206A94C -sub_0206A94C: ; 0x0206A94C + thumb_func_start FUN_0206A94C +FUN_0206A94C: ; 0x0206A94C mov r3, #0x1 mov r2, #0x0 _0206A950: @@ -199606,8 +199606,8 @@ _0206A95E: bx lr .balign 4 - thumb_func_start sub_0206A964 -sub_0206A964: ; 0x0206A964 + thumb_func_start FUN_0206A964 +FUN_0206A964: ; 0x0206A964 ldr r3, _0206A980 ; =0x020F7EF2 mov r2, #0x0 _0206A968: @@ -199626,8 +199626,8 @@ _0206A972: nop _0206A980: .word 0x020F7EF2 - thumb_func_start sub_0206A984 -sub_0206A984: ; 0x0206A984 + thumb_func_start FUN_0206A984 +FUN_0206A984: ; 0x0206A984 cmp r0, #0x12 blo _0206A98A mov r0, #0x0 @@ -199639,53 +199639,53 @@ _0206A98A: nop _0206A994: .word 0x020F7EF2 - thumb_func_start sub_0206A998 -sub_0206A998: ; 0x0206A998 + thumb_func_start FUN_0206A998 +FUN_0206A998: ; 0x0206A998 push {r3, lr} mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0206A964 + bl FUN_0206A964 pop {r3, pc} - thumb_func_start sub_0206A9AC -sub_0206A9AC: ; 0x0206A9AC + thumb_func_start FUN_0206A9AC +FUN_0206A9AC: ; 0x0206A9AC push {r3-r7, lr} sub sp, #0x10 add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_020239CC + bl FUN_020239CC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020239A0 + bl FUN_020239A0 add r7, r0, #0x0 mov r0, #0x8 add r1, r6, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x90 add r2, r6, #0x0 mov r4, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] cmp r1, r0 @@ -199696,22 +199696,22 @@ sub_0206A9AC: ; 0x0206A9AC bne _0206AA1C add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_02021CE0 + bl FUN_02021CE0 cmp r0, #0x0 bne _0206AA1C mov r4, #0x1 _0206AA1C: add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206AA30 -sub_0206AA30: ; 0x0206AA30 + thumb_func_start FUN_0206AA30 +FUN_0206AA30: ; 0x0206AA30 push {r3, lr} cmp r0, #0x3f bgt _0206AA48 @@ -199751,7 +199751,7 @@ _0206AA70: sub r0, #0x57 pop {r3, pc} _0206AA74: - bl sub_0206AE00 + bl FUN_0206AE00 cmp r0, #0x1 bne _0206AA80 mov r0, #0x1 @@ -199761,8 +199761,8 @@ _0206AA80: _0206AA82: pop {r3, pc} - thumb_func_start sub_0206AA84 -sub_0206AA84: ; 0x0206AA84 + thumb_func_start FUN_0206AA84 +FUN_0206AA84: ; 0x0206AA84 push {r3-r4, lr} sub sp, #0x1c add r4, r0, #0x0 @@ -199772,25 +199772,25 @@ sub_0206AA84: ; 0x0206AA84 add r1, sp, #0x0 add r1, #0x1 mov r2, #0x18 - blx sub_020CE240 + blx FUN_020CE240 add r0, r4, #0x0 mov r1, #0xa1 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x0 add r0, r4, #0x0 mov r1, #0xaa add r2, #0x1 - bl sub_02067830 + bl FUN_02067830 add sp, #0x1c pop {r3-r4, pc} - thumb_func_start sub_0206AAB4 -sub_0206AAB4: ; 0x0206AAB4 + thumb_func_start FUN_0206AAB4 +FUN_0206AAB4: ; 0x0206AAB4 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C mov r4, #0x0 str r0, [sp, #0x0] add r7, r4, #0x0 @@ -199800,33 +199800,33 @@ _0206AAC6: add r0, r5, #0x0 add r1, #0x36 add r2, r7, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0206AAF0 add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x42 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r1, r4, #0x0 strb r0, [r6, #0x0] add r0, r5, #0x0 add r1, #0x3a add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 _0206AAF0: add r4, r4, #0x1 cmp r4, #0x4 blt _0206AAC6 ldr r1, [sp, #0x0] add r0, r5, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206AB04 -sub_0206AB04: ; 0x0206AB04 + thumb_func_start FUN_0206AB04 +FUN_0206AB04: ; 0x0206AB04 push {r3, lr} mov r1, #0x75 lsl r1, r1, #0x6 @@ -199834,24 +199834,24 @@ sub_0206AB04: ; 0x0206AB04 str r1, [sp, #0x0] mov r1, #0x9 add r3, r2, #0x0 - bl sub_02006548 + bl FUN_02006548 pop {r3, pc} - thumb_func_start sub_0206AB18 -sub_0206AB18: ; 0x0206AB18 + thumb_func_start FUN_0206AB18 +FUN_0206AB18: ; 0x0206AB18 push {r4, lr} sub sp, #0x10 add r4, r1, #0x0 add r1, sp, #0x0 - bl sub_0206ABB4 + bl FUN_0206ABB4 add r0, sp, #0x0 add r1, r4, #0x0 - bl sub_0206AB58 + bl FUN_0206AB58 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_0206AB30 -sub_0206AB30: ; 0x0206AB30 + thumb_func_start FUN_0206AB30 +FUN_0206AB30: ; 0x0206AB30 push {r3-r5, lr} add r5, r1, #0x0 cmp r5, #0x3 @@ -199859,21 +199859,21 @@ sub_0206AB30: ; 0x0206AB30 mov r5, #0x3 _0206AB3A: mov r1, #0x5 - bl sub_0206AB18 + bl FUN_0206AB18 lsl r0, r0, #0x18 lsr r4, r0, #0x18 mov r0, #0x14 mul r0, r4 mul r0, r5 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r4, r0 lsl r0, r0, #0x18 lsr r0, r0, #0x18 pop {r3-r5, pc} - thumb_func_start sub_0206AB58 -sub_0206AB58: ; 0x0206AB58 + thumb_func_start FUN_0206AB58 +FUN_0206AB58: ; 0x0206AB58 cmp r1, #0xb bhi _0206ABB0 add r1, r1, r1 @@ -199904,18 +199904,18 @@ _0206ABB0: bx lr .balign 4 - thumb_func_start sub_0206ABB4 -sub_0206ABB4: ; 0x0206ABB4 - ldr r3, _0206ABC0 ; =sub_020064F0 + thumb_func_start FUN_0206ABB4 +FUN_0206ABB4: ; 0x0206ABB4 + ldr r3, _0206ABC0 ; =FUN_020064F0 add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x9 bx r3 nop -_0206ABC0: .word sub_020064F0 + 1 +_0206ABC0: .word FUN_020064F0 + 1 - thumb_func_start sub_0206ABC4 -sub_0206ABC4: ; 0x0206ABC4 + thumb_func_start FUN_0206ABC4 +FUN_0206ABC4: ; 0x0206ABC4 push {r3-r7, lr} sub sp, #0x48 str r2, [sp, #0x4] @@ -199925,11 +199925,11 @@ sub_0206ABC4: ; 0x0206ABC4 ldr r3, [sp, #0x4] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0x10] add r0, r4, #0x0 - bl sub_02024EC0 - bl sub_02024EE8 + bl FUN_02024EC0 + bl FUN_02024EE8 ldr r4, [sp, #0x0] str r0, [sp, #0xc] add r0, r4, #0x0 @@ -199942,7 +199942,7 @@ _0206ABF4: cmp r0, #0x0 beq _0206AC48 add r1, sp, #0x14 - bl sub_0206ADE0 + bl FUN_0206ADE0 ldr r3, [sp, #0x8] add r6, sp, #0x14 add r3, #0x28 @@ -199960,23 +199960,23 @@ _0206AC08: bne _0206AC26 ldr r1, [sp, #0xc] add r0, r5, #0x0 - bl sub_02002248 + bl FUN_02002248 b _0206AC3E _0206AC26: ldr r0, [sp, #0x10] ldr r1, [r4, #0x18] - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 add r1, r5, #0x0 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _0206AC3E: ldr r0, [sp, #0x0] ldr r2, [sp, #0x4] add r1, r7, #0x0 - bl sub_0206AE0C + bl FUN_0206AE0C _0206AC48: ldr r0, [sp, #0x8] add r7, r7, #0x1 @@ -199993,19 +199993,19 @@ _0206AC48: ldr r0, [sp, #0x0] str r1, [r0, #0x0] ldr r0, [sp, #0x10] - bl sub_0200A8B8 + bl FUN_0200A8B8 add sp, #0x48 pop {r3-r7, pc} nop _0206AC70: .word 0x0000022F - thumb_func_start sub_0206AC74 -sub_0206AC74: ; 0x0206AC74 + thumb_func_start FUN_0206AC74 +FUN_0206AC74: ; 0x0206AC74 push {r4-r5, lr} sub sp, #0x34 add r5, r1, #0x0 add r1, sp, #0x0 - bl sub_0206ADE0 + bl FUN_0206ADE0 cmp r5, #0x9 bhi _0206ACCC add r0, r5, r5 @@ -200037,8 +200037,8 @@ _0206ACCC: pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0206ACD4 -sub_0206ACD4: ; 0x0206ACD4 + thumb_func_start FUN_0206ACD4 +FUN_0206ACD4: ; 0x0206ACD4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -200048,7 +200048,7 @@ sub_0206ACD4: ; 0x0206ACD4 ldr r1, [sp, #0x4] mov r0, #0x3b add r4, r2, #0x0 - bl sub_020065A4 + bl FUN_020065A4 add r6, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] @@ -200056,10 +200056,10 @@ sub_0206ACD4: ; 0x0206ACD4 mov r1, #0x89 mov r2, #0x0 lsl r3, r5, #0x1 - bl sub_02006548 + bl FUN_02006548 mov r0, #0x3b add r1, r4, #0x0 - bl sub_02006670 + bl FUN_02006670 add r4, sp, #0xc ldrh r2, [r4, #0x0] str r0, [sp, #0x8] @@ -200072,7 +200072,7 @@ _0206AD0E: ldr r0, [sp, #0x8] mov r1, #0x0 mov r3, #0x4 - bl sub_02006814 + bl FUN_02006814 ldrh r1, [r4, #0x2] cmp r1, r5 bne _0206AD30 @@ -200093,13 +200093,13 @@ _0206AD30: bne _0206AD0E _0206AD40: ldr r0, [sp, #0x8] - bl sub_020066F4 + bl FUN_020066F4 ldr r0, [sp, #0x4] add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0206AD4C -sub_0206AD4C: ; 0x0206AD4C + thumb_func_start FUN_0206AD4C +FUN_0206AD4C: ; 0x0206AD4C push {r3-r7, lr} sub sp, #0x18 add r6, r0, #0x0 @@ -200108,7 +200108,7 @@ sub_0206AD4C: ; 0x0206AD4C mov r1, #0x0 str r2, [sp, #0x4] str r3, [sp, #0x8] - bl sub_020065A4 + bl FUN_020065A4 add r5, r0, #0x0 mov r0, #0x2 str r0, [sp, #0x0] @@ -200116,10 +200116,10 @@ sub_0206AD4C: ; 0x0206AD4C mov r1, #0x89 mov r2, #0x0 lsl r3, r6, #0x1 - bl sub_02006548 + bl FUN_02006548 ldr r1, [sp, #0x8] mov r0, #0x3b - bl sub_02006670 + bl FUN_02006670 add r4, sp, #0x10 ldrh r2, [r4, #0x0] str r0, [sp, #0xc] @@ -200132,7 +200132,7 @@ _0206AD84: ldr r0, [sp, #0xc] mov r1, #0x0 mov r3, #0x4 - bl sub_02006814 + bl FUN_02006814 ldrh r0, [r4, #0x2] cmp r0, r6 bne _0206ADB6 @@ -200147,7 +200147,7 @@ _0206AD84: ldr r3, [sp, #0x8] mov r0, #0x1a lsr r2, r2, #0x2 - bl sub_0200A648 + bl FUN_0200A648 b _0206ADC2 _0206ADB6: ldrh r0, [r4, #0x0] @@ -200158,79 +200158,79 @@ _0206ADB6: bne _0206AD84 _0206ADC2: ldr r0, [sp, #0xc] - bl sub_020066F4 + bl FUN_020066F4 add r0, sp, #0x10 ldrh r0, [r0, #0x0] cmp r0, r5 bne _0206ADD6 ldr r0, [sp, #0x4] - bl sub_02021A4C + bl FUN_02021A4C _0206ADD6: add sp, #0x18 pop {r3-r7, pc} nop _0206ADDC: .word 0x0000022E - thumb_func_start sub_0206ADE0 -sub_0206ADE0: ; 0x0206ADE0 - ldr r3, _0206ADEC ; =sub_020064F0 + thumb_func_start FUN_0206ADE0 +FUN_0206ADE0: ; 0x0206ADE0 + ldr r3, _0206ADEC ; =FUN_020064F0 add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x39 bx r3 nop -_0206ADEC: .word sub_020064F0 + 1 +_0206ADEC: .word FUN_020064F0 + 1 - thumb_func_start sub_0206ADF0 -sub_0206ADF0: ; 0x0206ADF0 - ldr r3, _0206ADFC ; =sub_020064F0 + thumb_func_start FUN_0206ADF0 +FUN_0206ADF0: ; 0x0206ADF0 + ldr r3, _0206ADFC ; =FUN_020064F0 add r2, r0, #0x0 add r0, r1, #0x0 mov r1, #0x3a bx r3 nop -_0206ADFC: .word sub_020064F0 + 1 +_0206ADFC: .word FUN_020064F0 + 1 - thumb_func_start sub_0206AE00 -sub_0206AE00: ; 0x0206AE00 + thumb_func_start FUN_0206AE00 +FUN_0206AE00: ; 0x0206AE00 ldr r1, _0206AE08 ; =0x020F8010 ldrb r0, [r1, r0] bx lr nop _0206AE08: .word 0x020F8010 - thumb_func_start sub_0206AE0C -sub_0206AE0C: ; 0x0206AE0C + thumb_func_start FUN_0206AE0C +FUN_0206AE0C: ; 0x0206AE0C push {r3-r7, lr} sub sp, #0x50 add r7, r1, #0x0 add r4, r0, #0x0 add r5, r2, #0x0 - bl sub_0201B9D4 + bl FUN_0201B9D4 lsl r6, r7, #0x2 str r0, [sp, #0x44] add r0, r4, r6 ldr r0, [r0, #0x4] mov r1, #0x6 - bl sub_0206B8CC + bl FUN_0206B8CC add r0, r5, #0x0 mov r1, #0x60 - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x4c] add r0, r5, #0x0 - bl sub_020669C0 + bl FUN_020669C0 str r0, [sp, #0x40] add r0, r4, r6 ldr r0, [r0, #0x18] ldr r1, [sp, #0x4c] - bl sub_0206ADF0 + bl FUN_0206ADF0 mov r0, #0x34 add r5, r7, #0x0 mul r5, r0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] - bl sub_0206AE00 + bl FUN_0206AE00 cmp r0, #0x1 bne _0206AE5E mov r0, #0x78 @@ -200278,7 +200278,7 @@ _0206AE96: add r0, r0, r2 add r7, r1, r0 add r0, r7, #0x0 - bl sub_0201B9E0 + bl FUN_0201B9E0 add r0, r4, r5 add r0, #0x29 ldrb r0, [r0, #0x0] @@ -200286,7 +200286,7 @@ _0206AE96: cmp r0, #0x0 ble _0206AECE _0206AEBC: - bl sub_0201B9EC + bl FUN_0201B9EC add r7, r0, #0x0 add r0, r4, r5 add r0, #0x29 @@ -200303,7 +200303,7 @@ _0206AECE: mov r0, #0x1f mul r0, r1 mov r1, #0xff - blx sub_020EBC80 + blx FUN_020EBC80 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -200319,11 +200319,11 @@ _0206AECE: ldrh r2, [r2, #0x2] ldr r0, [sp, #0x40] lsr r3, r3, #0x18 - bl sub_02066ACC + bl FUN_02066ACC ldr r0, [sp, #0x24] ldr r1, [sp, #0x40] ldr r0, [r0, #0x4] - bl sub_0206B900 + bl FUN_0206B900 ldr r0, [sp, #0x28] add r0, r0, #0x6 str r0, [sp, #0x28] @@ -200377,30 +200377,30 @@ _0206AF28: .byte 0x08, 0x98, 0x88, 0x42, 0xA5, 0xDB _0206B156: ldr r0, [sp, #0x4c] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x40] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x44] - bl sub_0201B9E0 + bl FUN_0201B9E0 add sp, #0x50 pop {r3-r7, pc} - thumb_func_start sub_0206B16C -sub_0206B16C: ; 0x0206B16C + thumb_func_start FUN_0206B16C +FUN_0206B16C: ; 0x0206B16C push {r3, lr} - bl sub_0206B180 - bl sub_02022830 + bl FUN_0206B180 + bl FUN_02022830 pop {r3, pc} - thumb_func_start sub_0206B178 -sub_0206B178: ; 0x0206B178 + thumb_func_start FUN_0206B178 +FUN_0206B178: ; 0x0206B178 ldr r0, _0206B17C ; =0x000121C8 bx lr .balign 4 _0206B17C: .word 0x000121C8 - thumb_func_start sub_0206B180 -sub_0206B180: ; 0x0206B180 + thumb_func_start FUN_0206B180 +FUN_0206B180: ; 0x0206B180 push {r3-r7, lr} str r0, [sp, #0x0] mov r7, #0x0 @@ -200410,7 +200410,7 @@ _0206B188: add r5, r6, #0x0 _0206B18C: add r0, r5, #0x0 - bl sub_020669A0 + bl FUN_020669A0 add r4, r4, #0x1 add r5, #0x88 cmp r4, #0x1e @@ -200444,7 +200444,7 @@ _0206B1BC: mov r0, #0x1 mov r1, #0x1a mov r2, #0xe - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 beq _0206B1F8 ldr r1, _0206B208 ; =0x00011EE4 @@ -200455,13 +200455,13 @@ _0206B1E0: add r0, r6, #0x0 add r1, r5, #0x6 add r2, r4, #0x0 - bl sub_0200A968 + bl FUN_0200A968 add r5, r5, #0x1 add r4, #0x28 cmp r5, #0x12 blo _0206B1E0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 _0206B1F8: ldr r0, [sp, #0x0] mov r1, #0x0 @@ -200472,8 +200472,8 @@ _0206B200: .word 0x000121B4 _0206B204: .word 0x000121C6 _0206B208: .word 0x00011EE4 - thumb_func_start sub_0206B20C -sub_0206B20C: ; 0x0206B20C + thumb_func_start FUN_0206B20C +FUN_0206B20C: ; 0x0206B20C push {r3-r7, lr} add r5, r0, #0x0 ldr r4, [r5, #0x0] @@ -200481,14 +200481,14 @@ sub_0206B20C: ; 0x0206B20C mov r7, #0x0 _0206B216: add r0, r6, #0x0 - bl sub_0206AAB4 + bl FUN_0206AAB4 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_0206B244 + bl FUN_0206B244 cmp r0, #0x0 beq _0206B232 - bl sub_02022830 + bl FUN_02022830 mov r0, #0x1 pop {r3-r7, pc} _0206B232: @@ -200503,15 +200503,15 @@ _0206B23A: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206B244 -sub_0206B244: ; 0x0206B244 + thumb_func_start FUN_0206B244 +FUN_0206B244: ; 0x0206B244 push {r3-r7, lr} sub sp, #0x8 add r6, r0, #0x0 add r0, r2, #0x0 add r5, r1, #0x0 str r2, [sp, #0x0] - bl sub_0206AAB4 + bl FUN_0206AAB4 mov r0, #0x0 mvn r0, r0 cmp r5, r0 @@ -200531,7 +200531,7 @@ _0206B270: add r0, r5, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _0206B2A0 mov r0, #0x88 @@ -200547,7 +200547,7 @@ _0206B28A: str r2, [sp, #0x0] stmia r4!, {r0-r1} bne _0206B28A - bl sub_02022830 + bl FUN_02022830 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} @@ -200561,15 +200561,15 @@ _0206B2A0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B2B0 -sub_0206B2B0: ; 0x0206B2B0 + thumb_func_start FUN_0206B2B0 +FUN_0206B2B0: ; 0x0206B2B0 push {r3-r7, lr} add r7, r3, #0x0 add r5, r0, #0x0 add r0, r7, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0206AAB4 + bl FUN_0206AAB4 mov r0, #0x0 mvn r0, r0 cmp r4, r0 @@ -200594,16 +200594,16 @@ _0206B2E4: stmia r3!, {r0-r1} sub r2, r2, #0x1 bne _0206B2E4 - bl sub_02022830 + bl FUN_02022830 mov r0, #0x1 pop {r3-r7, pc} _0206B2F4: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206B2FC -sub_0206B2FC: ; 0x0206B2FC + thumb_func_start FUN_0206B2FC +FUN_0206B2FC: ; 0x0206B2FC push {r3, lr} mov r3, #0x0 mvn r3, r3 @@ -200623,20 +200623,20 @@ _0206B308: mov r0, #0x88 mul r0, r2 add r0, r1, r0 - bl sub_020669A0 - bl sub_02022830 + bl FUN_020669A0 + bl FUN_02022830 pop {r3, pc} _0206B32A: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} - thumb_func_start sub_0206B330 -sub_0206B330: ; 0x0206B330 + thumb_func_start FUN_0206B330 +FUN_0206B330: ; 0x0206B330 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_0206B334 -sub_0206B334: ; 0x0206B334 + thumb_func_start FUN_0206B334 +FUN_0206B334: ; 0x0206B334 push {r3-r7, lr} sub sp, #0x8 str r0, [sp, #0x0] @@ -200656,7 +200656,7 @@ _0206B350: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _0206B364 add sp, #0x8 @@ -200681,8 +200681,8 @@ _0206B374: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B384 -sub_0206B384: ; 0x0206B384 + thumb_func_start FUN_0206B384 +FUN_0206B384: ; 0x0206B384 push {r3-r7, lr} add r6, r1, #0x0 str r2, [sp, #0x0] @@ -200709,7 +200709,7 @@ _0206B3A2: add r0, r1, r0 mov r1, #0xab mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _0206B3C6 ldr r0, [sp, #0x0] @@ -200737,8 +200737,8 @@ _0206B3DE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B3E4 -sub_0206B3E4: ; 0x0206B3E4 + thumb_func_start FUN_0206B3E4 +FUN_0206B3E4: ; 0x0206B3E4 push {r3-r7, lr} sub sp, #0x8 mov r6, #0x0 @@ -200753,7 +200753,7 @@ _0206B3F6: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0206B406 add r6, r6, #0x1 @@ -200776,20 +200776,20 @@ _0206B406: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0206B428 -sub_0206B428: ; 0x0206B428 + thumb_func_start FUN_0206B428 +FUN_0206B428: ; 0x0206B428 push {r3, lr} cmp r1, #0x12 bhs _0206B436 str r1, [r0, #0x0] - bl sub_02022830 + bl FUN_02022830 pop {r3, pc} _0206B436: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} - thumb_func_start sub_0206B43C -sub_0206B43C: ; 0x0206B43C + thumb_func_start FUN_0206B43C +FUN_0206B43C: ; 0x0206B43C push {r3, lr} cmp r1, #0x12 bhs _0206B44A @@ -200798,14 +200798,14 @@ sub_0206B43C: ; 0x0206B43C ldrb r0, [r1, r0] pop {r3, pc} _0206B44A: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3, pc} nop _0206B454: .word 0x000121B4 - thumb_func_start sub_0206B458 -sub_0206B458: ; 0x0206B458 + thumb_func_start FUN_0206B458 +FUN_0206B458: ; 0x0206B458 push {r3, lr} mov r3, #0x0 mvn r3, r3 @@ -200820,16 +200820,16 @@ _0206B464: add r1, r0, r1 ldr r0, _0206B480 ; =0x000121B4 strb r2, [r1, r0] - bl sub_02022830 + bl FUN_02022830 pop {r3, pc} _0206B478: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} nop _0206B480: .word 0x000121B4 - thumb_func_start sub_0206B484 -sub_0206B484: ; 0x0206B484 + thumb_func_start FUN_0206B484 +FUN_0206B484: ; 0x0206B484 push {r3, lr} add r3, r0, #0x0 mov r0, #0x0 @@ -200846,16 +200846,16 @@ _0206B492: mov r2, #0x28 mul r2, r1 add r1, r3, r2 - bl sub_02021E28 + bl FUN_02021E28 pop {r3, pc} _0206B4A8: - bl sub_02020C2C + bl FUN_02020C2C pop {r3, pc} nop _0206B4B0: .word 0x00011EE4 - thumb_func_start sub_0206B4B4 -sub_0206B4B4: ; 0x0206B4B4 + thumb_func_start FUN_0206B4B4 +FUN_0206B4B4: ; 0x0206B4B4 push {r3, lr} add r3, r0, #0x0 mov r0, #0x0 @@ -200873,15 +200873,15 @@ _0206B4C2: mul r2, r1 add r1, r3, r2 mov r2, #0x14 - bl sub_02021EF0 - bl sub_02022830 + bl FUN_02021EF0 + bl FUN_02022830 _0206B4DC: pop {r3, pc} nop _0206B4E0: .word 0x00011EE4 - thumb_func_start sub_0206B4E4 -sub_0206B4E4: ; 0x0206B4E4 + thumb_func_start FUN_0206B4E4 +FUN_0206B4E4: ; 0x0206B4E4 push {r3-r7, lr} mov r2, #0x0 mvn r2, r2 @@ -200903,7 +200903,7 @@ _0206B504: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0206B514 add r4, r4, #0x1 @@ -200915,12 +200915,12 @@ _0206B514: add r0, r4, #0x0 pop {r3-r7, pc} _0206B520: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206B528 -sub_0206B528: ; 0x0206B528 + thumb_func_start FUN_0206B528 +FUN_0206B528: ; 0x0206B528 push {r3-r7, lr} mov r2, #0x0 mvn r2, r2 @@ -200942,13 +200942,13 @@ _0206B548: add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0206B566 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _0206B566 add r4, r4, #0x1 @@ -200960,13 +200960,13 @@ _0206B566: add r0, r4, #0x0 pop {r3-r7, pc} _0206B572: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B57C -sub_0206B57C: ; 0x0206B57C + thumb_func_start FUN_0206B57C +FUN_0206B57C: ; 0x0206B57C push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -200974,7 +200974,7 @@ sub_0206B57C: ; 0x0206B57C _0206B584: add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_0206B528 + bl FUN_0206B528 add r5, r5, #0x1 add r4, r4, r0 cmp r5, #0x12 @@ -200982,8 +200982,8 @@ _0206B584: add r0, r4, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0206B598 -sub_0206B598: ; 0x0206B598 + thumb_func_start FUN_0206B598 +FUN_0206B598: ; 0x0206B598 push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -200995,11 +200995,11 @@ sub_0206B598: ; 0x0206B598 mvn r0, r0 cmp r4, r0 beq _0206B5B2 - bl sub_02020C2C + bl FUN_02020C2C _0206B5B2: cmp r6, #0x1e blo _0206B5BA - bl sub_02020C2C + bl FUN_02020C2C _0206B5BA: mov r0, #0x0 mvn r0, r0 @@ -201017,13 +201017,13 @@ _0206B5C4: add r0, r1, r0 ldr r2, [sp, #0x18] add r1, r7, #0x0 - bl sub_02067960 - bl sub_02022830 + bl FUN_02067960 + bl FUN_02022830 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B5E4 -sub_0206B5E4: ; 0x0206B5E4 + thumb_func_start FUN_0206B5E4 +FUN_0206B5E4: ; 0x0206B5E4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -201034,11 +201034,11 @@ sub_0206B5E4: ; 0x0206B5E4 mvn r0, r0 cmp r4, r0 beq _0206B5FC - bl sub_02020C2C + bl FUN_02020C2C _0206B5FC: cmp r6, #0x1e blo _0206B604 - bl sub_02020C2C + bl FUN_02020C2C _0206B604: mov r0, #0x0 mvn r0, r0 @@ -201056,14 +201056,14 @@ _0206B60E: add r0, r1, r0 pop {r4-r6, pc} - thumb_func_start sub_0206B620 -sub_0206B620: ; 0x0206B620 + thumb_func_start FUN_0206B620 +FUN_0206B620: ; 0x0206B620 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blo _0206B62E - bl sub_02020C2C + bl FUN_02020C2C _0206B62E: ldr r0, _0206B640 ; =0x000121C6 mov r1, #0x1 @@ -201071,19 +201071,19 @@ _0206B62E: lsl r1, r4 orr r1, r2 strb r1, [r5, r0] - bl sub_02022830 + bl FUN_02022830 pop {r3-r5, pc} .balign 4 _0206B640: .word 0x000121C6 - thumb_func_start sub_0206B644 -sub_0206B644: ; 0x0206B644 + thumb_func_start FUN_0206B644 +FUN_0206B644: ; 0x0206B644 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x8 blo _0206B652 - bl sub_02020C2C + bl FUN_02020C2C _0206B652: ldr r0, _0206B664 ; =0x000121C6 ldrb r2, [r5, r0] @@ -201098,8 +201098,8 @@ _0206B662: .balign 4 _0206B664: .word 0x000121C6 - thumb_func_start sub_0206B668 -sub_0206B668: ; 0x0206B668 + thumb_func_start FUN_0206B668 +FUN_0206B668: ; 0x0206B668 push {r4-r6, lr} mov r4, #0x0 add r6, r0, #0x0 @@ -201107,7 +201107,7 @@ sub_0206B668: ; 0x0206B668 _0206B670: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0206B644 + bl FUN_0206B644 cmp r0, #0x0 beq _0206B67E add r5, r5, #0x1 @@ -201118,44 +201118,44 @@ _0206B67E: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0206B688 -sub_0206B688: ; 0x0206B688 + thumb_func_start FUN_0206B688 +FUN_0206B688: ; 0x0206B688 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0206B754 + bl FUN_0206B754 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0206B6D4 + bl FUN_0206B6D4 add r4, r0, #0x0 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02066A94 + bl FUN_02066A94 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206B6C8 -sub_0206B6C8: ; 0x0206B6C8 + thumb_func_start FUN_0206B6C8 +FUN_0206B6C8: ; 0x0206B6C8 push {r3, lr} - bl sub_020690E4 - bl sub_0206B688 + bl FUN_020690E4 + bl FUN_0206B688 pop {r3, pc} - thumb_func_start sub_0206B6D4 -sub_0206B6D4: ; 0x0206B6D4 + thumb_func_start FUN_0206B6D4 +FUN_0206B6D4: ; 0x0206B6D4 cmp r1, #0x1 bne _0206B6E8 ldr r1, _0206B748 ; =0x000001EA @@ -201228,13 +201228,13 @@ _0206B748: .word 0x000001EA _0206B74C: .word 0x00000182 _0206B750: .word 0x000001ED - thumb_func_start sub_0206B754 -sub_0206B754: ; 0x0206B754 + thumb_func_start FUN_0206B754 +FUN_0206B754: ; 0x0206B754 push {r4, lr} mov r1, #0xad mov r2, #0x0 add r4, r0, #0x0 - bl sub_020672BC + bl FUN_020672BC ldr r2, _0206B7B8 ; =0x0000019D cmp r0, r2 bhi _0206B784 @@ -201271,13 +201271,13 @@ _0206B794: b _0206B7B4 _0206B79C: add r0, r4, #0x0 - bl sub_020690D4 + bl FUN_020690D4 pop {r4, pc} _0206B7A4: add r0, r4, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r4, pc} @@ -201287,8 +201287,8 @@ _0206B7B4: .balign 4 _0206B7B8: .word 0x0000019D - thumb_func_start sub_0206B7BC -sub_0206B7BC: ; 0x0206B7BC + thumb_func_start FUN_0206B7BC +FUN_0206B7BC: ; 0x0206B7BC cmp r2, #0x1 bne _0206B7CE ldr r1, _0206B830 ; =0x000001EA @@ -201361,124 +201361,124 @@ _0206B830: .word 0x000001EA _0206B834: .word 0x000001ED _0206B838: .word 0x020F8074 - thumb_func_start sub_0206B83C -sub_0206B83C: ; 0x0206B83C + thumb_func_start FUN_0206B83C +FUN_0206B83C: ; 0x0206B83C push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02066A6C + bl FUN_02066A6C add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0206B754 + bl FUN_0206B754 add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02066A94 + bl FUN_02066A94 ldr r2, [sp, #0x0] add r0, r7, #0x0 add r1, r6, #0x0 - bl sub_0206B7BC + bl FUN_0206B7BC pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B87C -sub_0206B87C: ; 0x0206B87C + thumb_func_start FUN_0206B87C +FUN_0206B87C: ; 0x0206B87C push {r3, lr} - bl sub_020690E4 - bl sub_0206B83C + bl FUN_020690E4 + bl FUN_0206B83C pop {r3, pc} - thumb_func_start sub_0206B888 -sub_0206B888: ; 0x0206B888 + thumb_func_start FUN_0206B888 +FUN_0206B888: ; 0x0206B888 mov r0, #0x0 bx lr - thumb_func_start sub_0206B88C -sub_0206B88C: ; 0x0206B88C + thumb_func_start FUN_0206B88C +FUN_0206B88C: ; 0x0206B88C mov r0, #0x2 bx lr - thumb_func_start sub_0206B890 -sub_0206B890: ; 0x0206B890 + thumb_func_start FUN_0206B890 +FUN_0206B890: ; 0x0206B890 mov r0, #0x4 bx lr - thumb_func_start sub_0206B894 -sub_0206B894: ; 0x0206B894 + thumb_func_start FUN_0206B894 +FUN_0206B894: ; 0x0206B894 mov r0, #0x6 bx lr - thumb_func_start sub_0206B898 -sub_0206B898: ; 0x0206B898 + thumb_func_start FUN_0206B898 +FUN_0206B898: ; 0x0206B898 mov r0, #0x1 bx lr - thumb_func_start sub_0206B89C -sub_0206B89C: ; 0x0206B89C + thumb_func_start FUN_0206B89C +FUN_0206B89C: ; 0x0206B89C mov r0, #0x3 bx lr - thumb_func_start sub_0206B8A0 -sub_0206B8A0: ; 0x0206B8A0 + thumb_func_start FUN_0206B8A0 +FUN_0206B8A0: ; 0x0206B8A0 mov r0, #0x5 bx lr - thumb_func_start sub_0206B8A4 -sub_0206B8A4: ; 0x0206B8A4 + thumb_func_start FUN_0206B8A4 +FUN_0206B8A4: ; 0x0206B8A4 mov r0, #0x59 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_0206B8AC -sub_0206B8AC: ; 0x0206B8AC + thumb_func_start FUN_0206B8AC +FUN_0206B8AC: ; 0x0206B8AC push {r4, lr} mov r1, #0x59 lsl r1, r1, #0x4 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_0206B8C0 + bl FUN_0206B8C0 add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_0206B8C0 -sub_0206B8C0: ; 0x0206B8C0 - ldr r3, _0206B8C8 ; =sub_0206B8CC + thumb_func_start FUN_0206B8C0 +FUN_0206B8C0: ; 0x0206B8C0 + ldr r3, _0206B8C8 ; =FUN_0206B8CC mov r1, #0x6 bx r3 nop -_0206B8C8: .word sub_0206B8CC + 1 +_0206B8C8: .word FUN_0206B8CC + 1 - thumb_func_start sub_0206B8CC -sub_0206B8CC: ; 0x0206B8CC + thumb_func_start FUN_0206B8CC +FUN_0206B8CC: ; 0x0206B8CC push {r4-r6, lr} add r6, r1, #0x0 add r5, r0, #0x0 cmp r6, #0x6 ble _0206B8DA - bl sub_02020C2C + bl FUN_02020C2C _0206B8DA: mov r2, #0x59 add r0, r5, #0x0 mov r1, #0x0 lsl r2, r2, #0x4 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r4, #0x0 str r4, [r5, #0x4] str r6, [r5, #0x0] add r5, #0x8 _0206B8EE: add r0, r5, #0x0 - bl sub_02066978 + bl FUN_02066978 add r4, r4, #0x1 add r5, #0xec cmp r4, #0x6 @@ -201486,8 +201486,8 @@ _0206B8EE: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206B900 -sub_0206B900: ; 0x0206B900 + thumb_func_start FUN_0206B900 +FUN_0206B900: ; 0x0206B900 push {r4-r5} add r3, r0, #0x0 add r2, r1, #0x0 @@ -201519,28 +201519,28 @@ _0206B91E: bx lr .balign 4 - thumb_func_start sub_0206B938 -sub_0206B938: ; 0x0206B938 + thumb_func_start FUN_0206B938 +FUN_0206B938: ; 0x0206B938 push {r3-r7, lr} add r7, r0, #0x0 add r4, r1, #0x0 bpl _0206B944 - bl sub_02020C2C + bl FUN_02020C2C _0206B944: ldr r0, [r7, #0x4] cmp r4, r0 blt _0206B94E - bl sub_02020C2C + bl FUN_02020C2C _0206B94E: ldr r0, [r7, #0x0] cmp r4, r0 blt _0206B958 - bl sub_02020C2C + bl FUN_02020C2C _0206B958: ldr r0, [r7, #0x4] cmp r0, #0x0 bgt _0206B962 - bl sub_02020C2C + bl FUN_02020C2C _0206B962: ldr r0, [r7, #0x4] sub r0, r0, #0x1 @@ -201574,7 +201574,7 @@ _0206B992: add r1, #0x8 mul r0, r4 add r0, r1, r0 - bl sub_02066978 + bl FUN_02066978 ldr r0, [r7, #0x4] sub r0, r0, #0x1 str r0, [r7, #0x4] @@ -201582,28 +201582,28 @@ _0206B992: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206B9AC -sub_0206B9AC: ; 0x0206B9AC + thumb_func_start FUN_0206B9AC +FUN_0206B9AC: ; 0x0206B9AC ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_0206B9B0 -sub_0206B9B0: ; 0x0206B9B0 + thumb_func_start FUN_0206B9B0 +FUN_0206B9B0: ; 0x0206B9B0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bpl _0206B9BC - bl sub_02020C2C + bl FUN_02020C2C _0206B9BC: ldr r0, [r5, #0x4] cmp r4, r0 blt _0206B9C6 - bl sub_02020C2C + bl FUN_02020C2C _0206B9C6: ldr r0, [r5, #0x0] cmp r4, r0 blt _0206B9D0 - bl sub_02020C2C + bl FUN_02020C2C _0206B9D0: mov r0, #0xec add r5, #0x8 @@ -201612,25 +201612,25 @@ _0206B9D0: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0206B9DC -sub_0206B9DC: ; 0x0206B9DC + thumb_func_start FUN_0206B9DC +FUN_0206B9DC: ; 0x0206B9DC push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r6, r2, #0x0 cmp r4, #0x0 bge _0206B9EC - bl sub_02020C2C + bl FUN_02020C2C _0206B9EC: ldr r0, [r5, #0x4] cmp r4, r0 blt _0206B9F6 - bl sub_02020C2C + bl FUN_02020C2C _0206B9F6: ldr r0, [r5, #0x0] cmp r4, r0 blt _0206BA00 - bl sub_02020C2C + bl FUN_02020C2C _0206BA00: add r1, r5, #0x0 mov r0, #0xec @@ -201640,12 +201640,12 @@ _0206BA00: add r0, r4, #0x0 mov r1, #0xab mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0xab mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC sub r2, r7, r0 mov r3, #0x1d _0206BA24: @@ -201660,43 +201660,43 @@ _0206BA24: str r0, [r5, #0x4] pop {r3-r7, pc} - thumb_func_start sub_0206BA38 -sub_0206BA38: ; 0x0206BA38 + thumb_func_start FUN_0206BA38 +FUN_0206BA38: ; 0x0206BA38 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r6, r2, #0x0 cmp r5, #0x0 bge _0206BA48 - bl sub_02020C2C + bl FUN_02020C2C _0206BA48: ldr r0, [r4, #0x4] cmp r5, r0 blt _0206BA52 - bl sub_02020C2C + bl FUN_02020C2C _0206BA52: ldr r0, [r4, #0x0] cmp r5, r0 blt _0206BA5C - bl sub_02020C2C + bl FUN_02020C2C _0206BA5C: cmp r6, #0x0 bge _0206BA64 - bl sub_02020C2C + bl FUN_02020C2C _0206BA64: ldr r0, [r4, #0x4] cmp r6, r0 blt _0206BA6E - bl sub_02020C2C + bl FUN_02020C2C _0206BA6E: ldr r0, [r4, #0x0] cmp r6, r0 blt _0206BA78 - bl sub_02020C2C + bl FUN_02020C2C _0206BA78: mov r0, #0x0 mov r1, #0xec - bl sub_02016998 + bl FUN_02016998 mov r12, r0 add r1, r4, #0x0 mov r0, #0xec @@ -201736,12 +201736,12 @@ _0206BABA: ldr r0, [r4, #0x0] str r0, [r2, #0x0] mov r0, r12 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206BAD0 -sub_0206BAD0: ; 0x0206BAD0 + thumb_func_start FUN_0206BAD0 +FUN_0206BAD0: ; 0x0206BAD0 push {r3-r4} add r4, r0, #0x0 add r3, r1, #0x0 @@ -201754,8 +201754,8 @@ _0206BAD8: pop {r3-r4} bx lr - thumb_func_start sub_0206BAE4 -sub_0206BAE4: ; 0x0206BAE4 + thumb_func_start FUN_0206BAE4 +FUN_0206BAE4: ; 0x0206BAE4 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, [r6, #0x4] @@ -201769,7 +201769,7 @@ _0206BAF6: add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r7, r0 beq _0206BB0E ldr r0, [r6, #0x4] @@ -201787,25 +201787,25 @@ _0206BB18: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206BB1C -sub_0206BB1C: ; 0x0206BB1C - ldr r3, _0206BB24 ; =sub_02022610 + thumb_func_start FUN_0206BB1C +FUN_0206BB1C: ; 0x0206BB1C + ldr r3, _0206BB24 ; =FUN_02022610 mov r1, #0x2 bx r3 nop -_0206BB24: .word sub_02022610 + 1 +_0206BB24: .word FUN_02022610 + 1 - thumb_func_start sub_0206BB28 -sub_0206BB28: ; 0x0206BB28 + thumb_func_start FUN_0206BB28 +FUN_0206BB28: ; 0x0206BB28 push {r3, lr} - bl sub_02024DA0 - bl sub_0206BB34 + bl FUN_02024DA0 + bl FUN_0206BB34 pop {r3, pc} - thumb_func_start sub_0206BB34 -sub_0206BB34: ; 0x0206BB34 + thumb_func_start FUN_0206BB34 +FUN_0206BB34: ; 0x0206BB34 push {r3, lr} - bl sub_02024CA4 + bl FUN_02024CA4 cmp r0, #0x1 bne _0206BB42 mov r0, #0x1 @@ -201815,43 +201815,43 @@ _0206BB42: pop {r3, pc} .balign 4 - thumb_func_start sub_0206BB48 -sub_0206BB48: ; 0x0206BB48 + thumb_func_start FUN_0206BB48 +FUN_0206BB48: ; 0x0206BB48 push {r3, lr} cmp r0, #0x0 bne _0206BB58 lsl r0, r1, #0x10 lsr r0, r0, #0x10 - bl sub_02069B40 + bl FUN_02069B40 add r1, r0, #0x0 _0206BB58: add r0, r1, #0x0 pop {r3, pc} - thumb_func_start sub_0206BB5C -sub_0206BB5C: ; 0x0206BB5C + thumb_func_start FUN_0206BB5C +FUN_0206BB5C: ; 0x0206BB5C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02087A6C + bl FUN_02087A6C mov r1, #0x0 add r2, r5, #0x0 add r4, r0, #0x0 - bl sub_02087A98 + bl FUN_02087A98 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0206BB74 -sub_0206BB74: ; 0x0206BB74 + thumb_func_start FUN_0206BB74 +FUN_0206BB74: ; 0x0206BB74 push {r4, lr} add r4, r0, #0x0 - bl sub_02087B0C + bl FUN_02087B0C add r0, r4, #0x0 - bl sub_02087A84 + bl FUN_02087A84 pop {r4, pc} - thumb_func_start sub_0206BB84 -sub_0206BB84: ; 0x0206BB84 + thumb_func_start FUN_0206BB84 +FUN_0206BB84: ; 0x0206BB84 push {r3-r7, lr} add r7, r1, #0x0 add r4, r0, #0x0 @@ -201859,7 +201859,7 @@ sub_0206BB84: ; 0x0206BB84 add r0, r7, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r6, r0, #0x10 cmp r4, #0x0 @@ -201869,12 +201869,12 @@ sub_0206BB84: ; 0x0206BB84 _0206BBA2: add r0, r4, #0x0 mov r1, #0x2 - bl sub_02023B0C + bl FUN_02023B0C add r5, r0, #0x0 add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, r5 bls _0206BBBE mov r0, #0x0 @@ -201883,7 +201883,7 @@ _0206BBBE: add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0206BBD0 mov r0, #0x0 @@ -201891,11 +201891,11 @@ _0206BBBE: _0206BBD0: add r0, r4, #0x0 mov r1, #0x4 - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 bne _0206BBEA add r0, r6, #0x0 - bl sub_020695A8 + bl FUN_020695A8 cmp r6, r0 beq _0206BBEA mov r0, #0x0 @@ -201903,12 +201903,12 @@ _0206BBD0: _0206BBEA: add r0, r4, #0x0 mov r1, #0x5 - bl sub_02023B0C + bl FUN_02023B0C add r5, r0, #0x0 beq _0206BC14 ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_02087B58 + bl FUN_02087B58 cmp r5, #0x0 ble _0206BC0A cmp r0, r5 @@ -201924,14 +201924,14 @@ _0206BC0A: _0206BC14: add r0, r4, #0x0 mov r1, #0x7 - bl sub_02023B0C + bl FUN_02023B0C mov r1, #0xa add r5, r0, #0x0 mul r5, r1 beq _0206BC42 ldr r0, [sp, #0x0] add r1, r6, #0x0 - bl sub_02087B78 + bl FUN_02087B78 cmp r5, #0x0 ble _0206BC38 cmp r0, r5 @@ -201947,11 +201947,11 @@ _0206BC38: _0206BC42: add r0, r4, #0x0 mov r1, #0xb - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 bne _0206BC5C add r0, r7, #0x0 - bl sub_0206A998 + bl FUN_0206A998 cmp r0, #0x0 beq _0206BC5C mov r0, #0x0 @@ -201960,8 +201960,8 @@ _0206BC5C: mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_0206BC60 -sub_0206BC60: ; 0x0206BC60 + thumb_func_start FUN_0206BC60 +FUN_0206BC60: ; 0x0206BC60 push {r3-r7, lr} sub sp, #0x30 str r0, [sp, #0x0] @@ -202000,7 +202000,7 @@ _0206BC98: blt _0206BC86 ldr r0, [sp, #0x0] mov r1, #0x1 - bl sub_02023B0C + bl FUN_02023B0C ldr r1, [sp, #0x14] cmp r1, r0 beq _0206BCB6 @@ -202018,12 +202018,12 @@ _0206BCBC: beq _0206BD0A ldr r0, [sp, #0x4] sub r1, r1, #0x1 - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, r0, #0x0 ldr r0, [sp, #0x0] ldr r2, [sp, #0x8] add r1, r4, #0x0 - bl sub_0206BB84 + bl FUN_0206BB84 cmp r0, #0x0 bne _0206BCE2 add sp, #0x30 @@ -202033,17 +202033,17 @@ _0206BCE2: add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r7, #0x0] add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r6, #0x0] add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x10] add r0, r1, r0 str r0, [sp, #0x10] @@ -202055,7 +202055,7 @@ _0206BD0A: blt _0206BCBC ldr r0, [sp, #0x0] mov r1, #0x3 - bl sub_02023B0C + bl FUN_02023B0C ldr r1, [sp, #0x10] cmp r1, r0 ble _0206BD2C @@ -202067,7 +202067,7 @@ _0206BD0A: _0206BD2C: ldr r0, [sp, #0x0] mov r1, #0xa - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 bne _0206BD70 ldr r0, [sp, #0x14] @@ -202105,7 +202105,7 @@ _0206BD68: _0206BD70: ldr r0, [sp, #0x0] mov r1, #0x9 - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 bne _0206BDC0 ldr r0, [sp, #0x14] @@ -202152,8 +202152,8 @@ _0206BDC0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206BDC8 -sub_0206BDC8: ; 0x0206BDC8 + thumb_func_start FUN_0206BDC8 +FUN_0206BDC8: ; 0x0206BDC8 push {r4-r7, lr} sub sp, #0x1c str r0, [sp, #0xc] @@ -202206,7 +202206,7 @@ _0206BE1A: ldr r3, [sp, #0x14] add r2, r6, #0x0 str r5, [sp, #0x8] - bl sub_0206BDC8 + bl FUN_0206BDC8 cmp r0, #0x0 beq _0206BE36 add sp, #0x1c @@ -202224,21 +202224,21 @@ _0206BE3C: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206BE48 -sub_0206BE48: ; 0x0206BE48 + thumb_func_start FUN_0206BE48 +FUN_0206BE48: ; 0x0206BE48 push {r4-r7, lr} sub sp, #0x54 str r0, [sp, #0xc] add r0, r1, #0x0 str r1, [sp, #0x10] str r2, [sp, #0x14] - bl sub_0206B9AC + bl FUN_0206B9AC str r0, [sp, #0x20] add r6, r0, #0x0 add r0, sp, #0x30 mov r1, #0x0 mov r2, #0xc - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [sp, #0x20] mov r7, #0x0 cmp r0, #0x0 @@ -202248,21 +202248,21 @@ sub_0206BE48: ; 0x0206BE48 _0206BE72: ldr r0, [sp, #0x10] add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [sp, #0x24] mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r4, #0x0] ldr r0, [sp, #0x24] mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x0] ldr r0, [sp, #0xc] ldr r1, [sp, #0x24] ldr r2, [sp, #0x14] - bl sub_0206BB84 + bl FUN_0206BB84 cmp r0, #0x0 bne _0206BEA6 mov r0, #0x0 @@ -202278,7 +202278,7 @@ _0206BEA6: _0206BEB2: ldr r0, [sp, #0xc] mov r1, #0xa - bl sub_02023B0C + bl FUN_02023B0C cmp r0, #0x0 bne _0206BF32 ldr r0, [sp, #0x20] @@ -202348,7 +202348,7 @@ _0206BF1E: _0206BF32: ldr r0, [sp, #0xc] mov r1, #0x1 - bl sub_02023B0C + bl FUN_02023B0C add r7, r0, #0x0 cmp r6, r7 bge _0206BF46 @@ -202358,7 +202358,7 @@ _0206BF32: _0206BF46: ldr r0, [sp, #0xc] mov r1, #0x3 - bl sub_02023B0C + bl FUN_02023B0C add r5, r0, #0x0 bne _0206BF58 add sp, #0x54 @@ -202379,7 +202379,7 @@ _0206BF62: add r1, sp, #0x3c add r2, sp, #0x30 add r3, r5, #0x0 - bl sub_0206BDC8 + bl FUN_0206BDC8 cmp r0, #0x0 beq _0206BF80 add sp, #0x54 @@ -202396,22 +202396,22 @@ _0206BF88: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206BF90 -sub_0206BF90: ; 0x0206BF90 + thumb_func_start FUN_0206BF90 +FUN_0206BF90: ; 0x0206BF90 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x5 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x5 mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 ldr r0, _0206BFE4 ; =0x020F828C mov r1, #0xc add r2, r5, #0x0 - bl sub_0202D8D0 + bl FUN_0202D8D0 str r5, [r4, #0x0] mov r0, #0x0 strb r0, [r4, #0x4] @@ -202419,68 +202419,68 @@ sub_0206BF90: ; 0x0206BF90 strb r0, [r6, #0x4] add r0, r5, #0x0 add r1, r4, #0x4 - bl sub_02231344 + bl FUN_02231344 add r0, r5, #0x0 add r1, r6, #0x4 - bl sub_02231350 - ldr r0, _0206BFE8 ; =sub_0206C550 + bl FUN_02231350 + ldr r0, _0206BFE8 ; =FUN_0206C550 add r1, r4, #0x0 mov r2, #0x0 - bl sub_0200CA44 - ldr r0, _0206BFEC ; =sub_0206C5DC + bl FUN_0200CA44 + ldr r0, _0206BFEC ; =FUN_0206C5DC add r1, r6, #0x0 mov r2, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 pop {r4-r6, pc} nop _0206BFE4: .word 0x020F828C -_0206BFE8: .word sub_0206C550 + 1 -_0206BFEC: .word sub_0206C5DC + 1 +_0206BFE8: .word FUN_0206C550 + 1 +_0206BFEC: .word FUN_0206C5DC + 1 - thumb_func_start sub_0206BFF0 -sub_0206BFF0: ; 0x0206BFF0 - ldr r3, _0206BFFC ; =sub_0202D8D0 + thumb_func_start FUN_0206BFF0 +FUN_0206BFF0: ; 0x0206BFF0 + ldr r3, _0206BFFC ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _0206C000 ; =0x020F828C mov r1, #0xc bx r3 nop -_0206BFFC: .word sub_0202D8D0 + 1 +_0206BFFC: .word FUN_0202D8D0 + 1 _0206C000: .word 0x020F828C - thumb_func_start sub_0206C004 -sub_0206C004: ; 0x0206C004 + thumb_func_start FUN_0206C004 +FUN_0206C004: ; 0x0206C004 mov r0, #0x4 bx lr - thumb_func_start sub_0206C008 -sub_0206C008: ; 0x0206C008 - ldr r3, _0206C00C ; =sub_02023924 + thumb_func_start FUN_0206C008 +FUN_0206C008: ; 0x0206C008 + ldr r3, _0206C00C ; =FUN_02023924 bx r3 .balign 4 -_0206C00C: .word sub_02023924 + 1 +_0206C00C: .word FUN_02023924 + 1 - thumb_func_start sub_0206C010 -sub_0206C010: ; 0x0206C010 - ldr r3, _0206C014 ; =sub_0206B8A4 + thumb_func_start FUN_0206C010 +FUN_0206C010: ; 0x0206C010 + ldr r3, _0206C014 ; =FUN_0206B8A4 bx r3 .balign 4 -_0206C014: .word sub_0206B8A4 + 1 +_0206C014: .word FUN_0206B8A4 + 1 - thumb_func_start sub_0206C018 -sub_0206C018: ; 0x0206C018 + thumb_func_start FUN_0206C018 +FUN_0206C018: ; 0x0206C018 mov r0, #0xfa lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_0206C020 -sub_0206C020: ; 0x0206C020 + thumb_func_start FUN_0206C020 +FUN_0206C020: ; 0x0206C020 mov r0, #0x34 bx lr - thumb_func_start sub_0206C024 -sub_0206C024: ; 0x0206C024 + thumb_func_start FUN_0206C024 +FUN_0206C024: ; 0x0206C024 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] @@ -202499,8 +202499,8 @@ _0206C038: bx lr .balign 4 - thumb_func_start sub_0206C044 -sub_0206C044: ; 0x0206C044 + thumb_func_start FUN_0206C044 +FUN_0206C044: ; 0x0206C044 ldr r1, [r1, #0x0] mov r2, #0x80 ldr r3, [r1, #0x0] @@ -202519,8 +202519,8 @@ _0206C05A: add r0, r1, r2 bx lr - thumb_func_start sub_0206C064 -sub_0206C064: ; 0x0206C064 + thumb_func_start FUN_0206C064 +FUN_0206C064: ; 0x0206C064 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] @@ -202537,8 +202537,8 @@ _0206C076: bx lr .balign 4 - thumb_func_start sub_0206C080 -sub_0206C080: ; 0x0206C080 + thumb_func_start FUN_0206C080 +FUN_0206C080: ; 0x0206C080 ldr r3, [r1, #0x0] mov r1, #0x80 ldr r2, [r3, #0x0] @@ -202557,43 +202557,43 @@ _0206C094: bx lr .balign 4 - thumb_func_start sub_0206C0A0 -sub_0206C0A0: ; 0x0206C0A0 + thumb_func_start FUN_0206C0A0 +FUN_0206C0A0: ; 0x0206C0A0 ldr r0, [r1, #0x0] add r0, #0x5c bx lr .balign 4 - thumb_func_start sub_0206C0A8 -sub_0206C0A8: ; 0x0206C0A8 + thumb_func_start FUN_0206C0A8 +FUN_0206C0A8: ; 0x0206C0A8 ldr r0, [r1, #0x0] add r0, #0xc4 bx lr .balign 4 - thumb_func_start sub_0206C0B0 -sub_0206C0B0: ; 0x0206C0B0 + thumb_func_start FUN_0206C0B0 +FUN_0206C0B0: ; 0x0206C0B0 ldr r0, [r1, #0x0] ldr r0, [r0, #0x8] bx lr .balign 4 - thumb_func_start sub_0206C0B8 -sub_0206C0B8: ; 0x0206C0B8 + thumb_func_start FUN_0206C0B8 +FUN_0206C0B8: ; 0x0206C0B8 ldr r0, [r1, #0x0] ldr r0, [r0, #0x10] bx lr .balign 4 - thumb_func_start sub_0206C0C0 -sub_0206C0C0: ; 0x0206C0C0 + thumb_func_start FUN_0206C0C0 +FUN_0206C0C0: ; 0x0206C0C0 lsl r0, r0, #0x2 add r0, r1, r0 ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_0206C0C8 -sub_0206C0C8: ; 0x0206C0C8 + thumb_func_start FUN_0206C0C8 +FUN_0206C0C8: ; 0x0206C0C8 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -202602,16 +202602,16 @@ sub_0206C0C8: ; 0x0206C0C8 mov r1, #0x4 str r2, [sp, #0x8] add r7, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_022300D4 + bl FUN_022300D4 add r5, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_022300F4 + bl FUN_022300F4 add r4, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02230100 + bl FUN_02230100 mov r12, r0 add r0, sp, #0x10 ldrh r3, [r4, #0x0] @@ -202660,24 +202660,24 @@ _0206C138: blt _0206C138 _0206C14A: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0206C154 -sub_0206C154: ; 0x0206C154 + thumb_func_start FUN_0206C154 +FUN_0206C154: ; 0x0206C154 push {r3-r7, lr} str r3, [sp, #0x0] add r0, r3, #0x0 add r5, r1, #0x0 add r6, r2, #0x0 - bl sub_022300DC + bl FUN_022300DC add r7, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02230118 + bl FUN_02230118 add r4, r0, #0x0 ldr r0, [sp, #0x0] - bl sub_02230124 + bl FUN_02230124 ldrh r1, [r4, #0x0] add r2, r1, r5 add r3, r2, #0x1 @@ -202705,11 +202705,11 @@ _0206C18C: _0206C19E: pop {r3-r7, pc} - thumb_func_start sub_0206C1A0 -sub_0206C1A0: ; 0x0206C1A0 + thumb_func_start FUN_0206C1A0 +FUN_0206C1A0: ; 0x0206C1A0 push {r0-r3} push {r3, lr} - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202721,7 +202721,7 @@ sub_0206C1A0: ; 0x0206C1A0 bx r3 _0206C1BA: mov r0, #0x33 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C1CE mov r0, #0x0 @@ -202733,14 +202733,14 @@ _0206C1CE: mov r0, #0x18 add r1, sp, #0xc mov r2, #0x4 - bl sub_02030ADC + bl FUN_02030ADC pop {r3} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_0206C1E0 -sub_0206C1E0: ; 0x0206C1E0 + thumb_func_start FUN_0206C1E0 +FUN_0206C1E0: ; 0x0206C1E0 ldr r1, [r3, #0x0] lsl r0, r0, #0x2 add r1, r1, r0 @@ -202756,11 +202756,11 @@ sub_0206C1E0: ; 0x0206C1E0 .balign 4 _0206C1F8: .word 0x00001020 - thumb_func_start sub_0206C1FC -sub_0206C1FC: ; 0x0206C1FC + thumb_func_start FUN_0206C1FC +FUN_0206C1FC: ; 0x0206C1FC push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202773,16 +202773,16 @@ _0206C210: add r0, #0xf8 ldr r0, [r0, #0x0] add r1, r4, #0x0 - bl sub_0202393C + bl FUN_0202393C mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0206C224 -sub_0206C224: ; 0x0206C224 + thumb_func_start FUN_0206C224 +FUN_0206C224: ; 0x0206C224 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202791,22 +202791,22 @@ sub_0206C224: ; 0x0206C224 pop {r4, pc} _0206C238: mov r0, #0x34 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C246 mov r0, #0x0 pop {r4, pc} _0206C246: - bl sub_02023924 + bl FUN_02023924 add r4, #0x20 add r2, r0, #0x0 mov r0, #0x19 add r1, r4, #0x0 - bl sub_02030A78 + bl FUN_02030A78 pop {r4, pc} - thumb_func_start sub_0206C258 -sub_0206C258: ; 0x0206C258 + thumb_func_start FUN_0206C258 +FUN_0206C258: ; 0x0206C258 ldr r0, _0206C264 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -202815,11 +202815,11 @@ sub_0206C258: ; 0x0206C258 nop _0206C264: .word 0x00001020 - thumb_func_start sub_0206C268 -sub_0206C268: ; 0x0206C268 + thumb_func_start FUN_0206C268 +FUN_0206C268: ; 0x0206C268 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202841,11 +202841,11 @@ _0206C284: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0206C294 -sub_0206C294: ; 0x0206C294 + thumb_func_start FUN_0206C294 +FUN_0206C294: ; 0x0206C294 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202854,7 +202854,7 @@ sub_0206C294: ; 0x0206C294 pop {r4, pc} _0206C2A8: mov r0, #0x35 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C2B6 mov r0, #0x0 @@ -202864,11 +202864,11 @@ _0206C2B6: mov r0, #0x1a add r1, r4, #0x0 mov r2, #0x34 - bl sub_02030A78 + bl FUN_02030A78 pop {r4, pc} - thumb_func_start sub_0206C2C4 -sub_0206C2C4: ; 0x0206C2C4 + thumb_func_start FUN_0206C2C4 +FUN_0206C2C4: ; 0x0206C2C4 ldr r0, _0206C2D0 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -202877,11 +202877,11 @@ sub_0206C2C4: ; 0x0206C2C4 nop _0206C2D0: .word 0x00001020 - thumb_func_start sub_0206C2D4 -sub_0206C2D4: ; 0x0206C2D4 + thumb_func_start FUN_0206C2D4 +FUN_0206C2D4: ; 0x0206C2D4 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202893,15 +202893,15 @@ _0206C2E8: add r4, #0x20 ldr r0, [r0, #0x4] add r1, r4, #0x0 - bl sub_0206BAD0 + bl FUN_0206BAD0 mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0206C2F8 -sub_0206C2F8: ; 0x0206C2F8 + thumb_func_start FUN_0206C2F8 +FUN_0206C2F8: ; 0x0206C2F8 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202910,22 +202910,22 @@ sub_0206C2F8: ; 0x0206C2F8 pop {r4, pc} _0206C30C: mov r0, #0x36 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C31A mov r0, #0x0 pop {r4, pc} _0206C31A: - bl sub_0206B8A4 + bl FUN_0206B8A4 add r4, #0x20 add r2, r0, #0x0 mov r0, #0x1b add r1, r4, #0x0 - bl sub_02030A78 + bl FUN_02030A78 pop {r4, pc} - thumb_func_start sub_0206C32C -sub_0206C32C: ; 0x0206C32C + thumb_func_start FUN_0206C32C +FUN_0206C32C: ; 0x0206C32C ldr r0, _0206C338 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -202934,11 +202934,11 @@ sub_0206C32C: ; 0x0206C32C nop _0206C338: .word 0x00001020 - thumb_func_start sub_0206C33C -sub_0206C33C: ; 0x0206C33C + thumb_func_start FUN_0206C33C +FUN_0206C33C: ; 0x0206C33C push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202951,16 +202951,16 @@ _0206C350: add r0, r4, #0x0 ldr r1, [r2, r1] add r0, #0x20 - bl sub_02029F9C + bl FUN_02029F9C mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0206C364 -sub_0206C364: ; 0x0206C364 + thumb_func_start FUN_0206C364 +FUN_0206C364: ; 0x0206C364 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -202969,7 +202969,7 @@ sub_0206C364: ; 0x0206C364 pop {r4, pc} _0206C378: mov r0, #0x37 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C386 mov r0, #0x0 @@ -202980,15 +202980,15 @@ _0206C386: mov r0, #0x1c add r1, r4, #0x0 lsl r2, r2, #0x2 - bl sub_02030A78 + bl FUN_02030A78 pop {r4, pc} .balign 4 - thumb_func_start sub_0206C398 -sub_0206C398: ; 0x0206C398 + thumb_func_start FUN_0206C398 +FUN_0206C398: ; 0x0206C398 push {r3-r7, lr} add r5, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203001,11 +203001,11 @@ _0206C3AC: ldr r1, [r4, #0x0] tst r0, r1 beq _0206C3BE - bl sub_02031190 + bl FUN_02031190 lsl r0, r0, #0x3 b _0206C3C4 _0206C3BE: - bl sub_02031190 + bl FUN_02031190 lsl r0, r0, #0x2 _0206C3C4: add r0, r4, r0 @@ -203016,14 +203016,14 @@ _0206C3C4: ldr r0, [r0, #0x0] ldr r1, [r4, r1] add r2, #0x20 - bl sub_0206C66C + bl FUN_0206C66C mov r4, #0x0 mov r6, #0x5 mov r7, #0x88 _0206C3DE: add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02016998 + bl FUN_02016998 str r0, [r5, #0x10] add r4, r4, #0x1 add r5, r5, #0x4 @@ -203032,11 +203032,11 @@ _0206C3DE: mov r0, #0x1 pop {r3-r7, pc} - thumb_func_start sub_0206C3F4 -sub_0206C3F4: ; 0x0206C3F4 + thumb_func_start FUN_0206C3F4 +FUN_0206C3F4: ; 0x0206C3F4 push {r4, lr} add r4, r0, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203045,7 +203045,7 @@ sub_0206C3F4: ; 0x0206C3F4 pop {r4, pc} _0206C408: mov r0, #0x38 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C416 mov r0, #0x0 @@ -203056,12 +203056,12 @@ _0206C416: mov r0, #0x21 add r1, r4, #0x0 lsl r2, r2, #0x2 - bl sub_02030A78 + bl FUN_02030A78 pop {r4, pc} .balign 4 - thumb_func_start sub_0206C428 -sub_0206C428: ; 0x0206C428 + thumb_func_start FUN_0206C428 +FUN_0206C428: ; 0x0206C428 ldr r0, _0206C434 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -203070,12 +203070,12 @@ sub_0206C428: ; 0x0206C428 nop _0206C434: .word 0x00001020 - thumb_func_start sub_0206C438 -sub_0206C438: ; 0x0206C438 + thumb_func_start FUN_0206C438 +FUN_0206C438: ; 0x0206C438 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203100,13 +203100,13 @@ _0206C45C: mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0206C46C -sub_0206C46C: ; 0x0206C46C + thumb_func_start FUN_0206C46C +FUN_0206C46C: ; 0x0206C46C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203116,7 +203116,7 @@ sub_0206C46C: ; 0x0206C46C _0206C484: lsl r0, r6, #0x18 lsr r0, r0, #0x18 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C494 mov r0, #0x0 @@ -203128,18 +203128,18 @@ _0206C494: mov r0, #0x1d add r1, r5, #0x0 mov r2, #0x34 - bl sub_02030A78 + bl FUN_02030A78 pop {r4-r6, pc} _0206C4A6: add r5, #0x20 mov r0, #0x1e add r1, r5, #0x0 mov r2, #0x34 - bl sub_02030A78 + bl FUN_02030A78 pop {r4-r6, pc} - thumb_func_start sub_0206C4B4 -sub_0206C4B4: ; 0x0206C4B4 + thumb_func_start FUN_0206C4B4 +FUN_0206C4B4: ; 0x0206C4B4 ldr r0, _0206C4C0 ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -203148,12 +203148,12 @@ sub_0206C4B4: ; 0x0206C4B4 nop _0206C4C0: .word 0x00001020 - thumb_func_start sub_0206C4C4 -sub_0206C4C4: ; 0x0206C4C4 + thumb_func_start FUN_0206C4C4 +FUN_0206C4C4: ; 0x0206C4C4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203167,18 +203167,18 @@ _0206C4DA: add r5, #0x20 ldr r0, [r0, #0x4] add r1, r5, #0x0 - bl sub_0206BAD0 + bl FUN_0206BAD0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0206C4F0 -sub_0206C4F0: ; 0x0206C4F0 + thumb_func_start FUN_0206C4F0 +FUN_0206C4F0: ; 0x0206C4F0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203188,7 +203188,7 @@ sub_0206C4F0: ; 0x0206C4F0 _0206C508: lsl r0, r6, #0x18 lsr r0, r0, #0x18 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x0 bne _0206C518 mov r0, #0x0 @@ -203196,24 +203196,24 @@ _0206C508: _0206C518: cmp r4, #0x1 bne _0206C52E - bl sub_0206B8A4 + bl FUN_0206B8A4 add r5, #0x20 add r2, r0, #0x0 mov r0, #0x1f add r1, r5, #0x0 - bl sub_02030A78 + bl FUN_02030A78 pop {r4-r6, pc} _0206C52E: - bl sub_0206B8A4 + bl FUN_0206B8A4 add r5, #0x20 add r2, r0, #0x0 mov r0, #0x20 add r1, r5, #0x0 - bl sub_02030A78 + bl FUN_02030A78 pop {r4-r6, pc} - thumb_func_start sub_0206C540 -sub_0206C540: ; 0x0206C540 + thumb_func_start FUN_0206C540 +FUN_0206C540: ; 0x0206C540 ldr r0, _0206C54C ; =0x00001020 ldrb r1, [r3, r0] add r1, r1, #0x1 @@ -203222,23 +203222,23 @@ sub_0206C540: ; 0x0206C540 nop _0206C54C: .word 0x00001020 - thumb_func_start sub_0206C550 -sub_0206C550: ; 0x0206C550 + thumb_func_start FUN_0206C550 +FUN_0206C550: ; 0x0206C550 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0x0] - bl sub_022300D4 + bl FUN_022300D4 add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_022300E8 + bl FUN_022300E8 add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_022300F4 + bl FUN_022300F4 str r0, [sp, #0x4] ldr r0, [r5, #0x0] - bl sub_02230100 + bl FUN_02230100 add r7, r0, #0x0 ldrb r0, [r5, #0x4] cmp r0, #0x0 @@ -203246,7 +203246,7 @@ sub_0206C550: ; 0x0206C550 cmp r0, #0xff b _0206C5CC _0206C582: - bl sub_02030C58 + bl FUN_02030C58 mov r1, #0x42 lsl r1, r1, #0x2 cmp r0, r1 @@ -203274,7 +203274,7 @@ _0206C5A4: add r5, r0, #0x4 mov r0, #0x17 add r2, r5, #0x0 - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _0206C5D8 ldrh r0, [r4, #0x0] @@ -203284,29 +203284,29 @@ _0206C5A4: pop {r3-r7, pc} _0206C5CC: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 _0206C5D8: add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0206C5DC -sub_0206C5DC: ; 0x0206C5DC + thumb_func_start FUN_0206C5DC +FUN_0206C5DC: ; 0x0206C5DC push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] ldr r0, [r5, #0x0] - bl sub_022300DC + bl FUN_022300DC add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_0223010C + bl FUN_0223010C add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02230118 + bl FUN_02230118 add r7, r0, #0x0 ldr r0, [r5, #0x0] - bl sub_02230124 + bl FUN_02230124 ldrb r1, [r5, #0x4] cmp r1, #0x0 beq _0206C60A @@ -203327,7 +203327,7 @@ _0206C61E: ldrh r1, [r4, #0x0] ldr r0, [r5, #0x0] add r1, r6, r1 - bl sub_022567E0 + bl FUN_022567E0 ldrh r0, [r4, #0x0] add r1, r0, #0x2 ldrb r2, [r6, r1] @@ -203341,49 +203341,49 @@ _0206C61E: pop {r3-r7, pc} _0206C63E: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 _0206C64A: pop {r3-r7, pc} - thumb_func_start sub_0206C64C -sub_0206C64C: ; 0x0206C64C + thumb_func_start FUN_0206C64C +FUN_0206C64C: ; 0x0206C64C push {r4, lr} add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0xff - bl sub_0223135C + bl FUN_0223135C add r0, r4, #0x0 mov r1, #0xff - bl sub_02231368 + bl FUN_02231368 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02231374 + bl FUN_02231374 pop {r4, pc} .balign 4 - thumb_func_start sub_0206C66C -sub_0206C66C: ; 0x0206C66C + thumb_func_start FUN_0206C66C +FUN_0206C66C: ; 0x0206C66C push {r4-r6, lr} add r4, r2, #0x0 add r6, r0, #0x0 add r5, r1, #0x0 - bl sub_0202398C + bl FUN_0202398C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02002248 + bl FUN_02002248 add r0, r6, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [r4, #0x10] add r0, r6, #0x0 - bl sub_02023A70 + bl FUN_02023A70 strb r0, [r4, #0x14] add r0, r6, #0x0 - bl sub_02023A68 + bl FUN_02023A68 strb r0, [r4, #0x15] add r0, r6, #0x0 - bl sub_020239CC + bl FUN_020239CC strb r0, [r4, #0x16] mov r0, #0x0 add r1, r4, #0x0 @@ -203409,13 +203409,13 @@ _0206C6A4: blt _0206C6A4 pop {r4-r6, pc} - thumb_func_start sub_0206C6CC -sub_0206C6CC: ; 0x0206C6CC + thumb_func_start FUN_0206C6CC +FUN_0206C6CC: ; 0x0206C6CC push {r4-r6, lr} add r5, r0, #0x0 add r6, r2, #0x0 add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _0206C6EE mov r0, #0x53 @@ -203425,7 +203425,7 @@ sub_0206C6CC: ; 0x0206C6CC add r1, r6, #0x0 mov r2, #0x1 mov r3, #0x5 - bl sub_02025520 + bl FUN_02025520 _0206C6EE: ldr r0, _0206C6F8 ; =0x00001020 ldrb r1, [r4, r0] @@ -203435,13 +203435,13 @@ _0206C6EE: .balign 4 _0206C6F8: .word 0x00001020 - thumb_func_start sub_0206C6FC -sub_0206C6FC: ; 0x0206C6FC + thumb_func_start FUN_0206C6FC +FUN_0206C6FC: ; 0x0206C6FC mov r0, #0x88 bx lr - thumb_func_start sub_0206C700 -sub_0206C700: ; 0x0206C700 + thumb_func_start FUN_0206C700 +FUN_0206C700: ; 0x0206C700 push {r4-r7, lr} sub sp, #0x24 ldr r5, [sp, #0x54] @@ -203451,32 +203451,32 @@ sub_0206C700: ; 0x0206C700 mov r1, #0x80 add r7, r2, #0x0 str r3, [sp, #0x18] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x80 - blx sub_020CE240 - bl sub_020222F0 + blx FUN_020CE240 + bl FUN_020222F0 str r0, [sp, #0x1c] - bl sub_020222E8 + bl FUN_020222E8 add r1, r0, #0x0 ldr r2, [sp, #0x1c] mov r0, #0x0 - blx sub_020CE1C8 - bl sub_02022300 + blx FUN_020CE1C8 + bl FUN_02022300 str r0, [sp, #0x20] - bl sub_020222F8 + bl FUN_020222F8 add r1, r0, #0x0 ldr r2, [sp, #0x20] mov r0, #0x0 - blx sub_020CE1C8 + blx FUN_020CE1C8 ldr r0, [sp, #0x14] str r6, [r4, #0x24] mov r1, #0x5 mov r2, #0x0 str r0, [r4, #0x28] - bl sub_020671BC + bl FUN_020671BC add r1, r4, #0x0 add r1, #0x60 strh r0, [r1, #0x0] @@ -203485,51 +203485,51 @@ sub_0206C700: ; 0x0206C700 strh r7, [r0, #0x0] str r5, [r4, #0x5c] add r0, r5, #0x0 - bl sub_02002FD0 + bl FUN_02002FD0 str r0, [r4, #0x14] mov r1, #0x1 - bl sub_020038F0 + bl FUN_020038F0 mov r2, #0x2 ldr r0, [r4, #0x14] mov r1, #0x0 lsl r2, r2, #0x8 add r3, r5, #0x0 - bl sub_02003008 + bl FUN_02003008 mov r1, #0x1 ldr r0, [r4, #0x14] lsl r2, r1, #0x9 add r3, r5, #0x0 - bl sub_02003008 + bl FUN_02003008 mov r2, #0x7 ldr r0, [r4, #0x14] mov r1, #0x2 lsl r2, r2, #0x6 add r3, r5, #0x0 - bl sub_02003008 + bl FUN_02003008 mov r2, #0x2 ldr r0, [r4, #0x14] mov r1, #0x3 lsl r2, r2, #0x8 add r3, r5, #0x0 - bl sub_02003008 + bl FUN_02003008 add r0, r5, #0x0 - bl sub_02016B94 + bl FUN_02016B94 str r0, [r4, #0x0] add r0, r5, #0x0 mov r1, #0x1 - bl sub_02018FF4 + bl FUN_02018FF4 str r0, [r4, #0x4] ldr r0, [sp, #0x18] str r0, [r4, #0x2c] add r0, r5, #0x0 - bl sub_0206DE78 + bl FUN_0206DE78 str r0, [r4, #0x34] - bl sub_0206DE24 - bl sub_0206DE4C - bl sub_0206DF18 + bl FUN_0206DE24 + bl FUN_0206DE4C + bl FUN_0206DF18 ldr r1, [r4, #0x0] add r0, r4, #0x0 - bl sub_0206D9B4 + bl FUN_0206D9B4 mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b @@ -203544,22 +203544,22 @@ sub_0206C700: ; 0x0206C700 ldr r1, [r4, #0x4] mov r2, #0x1 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 ldr r0, [r4, #0x4] mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 ldr r0, [r4, #0x4] mov r1, #0x0 mov r2, #0x1 mov r3, #0xa - bl sub_0200D0BC + bl FUN_0200D0BC add r0, r5, #0x0 - bl sub_02006D98 + bl FUN_02006D98 str r0, [r4, #0x18] add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x0 - bl sub_02014BF4 + bl FUN_02014BF4 str r0, [r4, #0x44] add r0, r4, #0x0 mov r2, #0x51 @@ -203574,24 +203574,24 @@ sub_0206C700: ; 0x0206C700 mov r1, #0x1a lsl r2, r2, #0x2 add r3, r5, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_0200AA80 + bl FUN_0200AA80 str r0, [r4, #0xc] mov r0, #0x5 lsl r0, r0, #0x6 add r1, r5, #0x0 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x10] add r0, r5, #0x0 mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x3c] ldr r1, [r4, #0x3c] mov r0, #0x0 mov r2, #0x30 - blx sub_020CE240 + blx FUN_020CE240 ldr r1, [sp, #0x38] ldr r0, [r4, #0x3c] str r1, [r0, #0x2c] @@ -203608,7 +203608,7 @@ sub_0206C700: ; 0x0206C700 ldr r0, [sp, #0x50] str r0, [r4, #0x7c] add r0, r4, #0x0 - bl sub_0206DC80 + bl FUN_0206DC80 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x0 @@ -203618,60 +203618,60 @@ sub_0206C700: ; 0x0206C700 ldr r2, _0206C8E4 ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 - bl sub_02003210 + bl FUN_02003210 mov r2, #0x0 str r2, [sp, #0x0] ldr r0, [r4, #0x18] mov r1, #0x10 add r3, r2, #0x0 - bl sub_02007E98 + bl FUN_02007E98 ldr r0, [r4, #0x14] mov r1, #0x0 mov r2, #0xb add r3, r5, #0x0 - bl sub_020142EC + bl FUN_020142EC mov r1, #0x1 str r0, [r4, #0x58] - bl sub_020143A8 - ldr r0, _0206C8E8 ; =sub_0206C8EC + bl FUN_020143A8 + ldr r0, _0206C8E8 ; =FUN_0206C8EC add r1, r4, #0x0 mov r2, #0x0 - bl sub_0200CA44 + bl FUN_0200CA44 mov r0, #0x1 - bl sub_02002B60 - bl sub_02033E74 + bl FUN_02002B60 + bl FUN_02033E74 add r0, r4, #0x0 add sp, #0x24 pop {r4-r7, pc} nop _0206C8E4: .word 0x0000FFFF -_0206C8E8: .word sub_0206C8EC + 1 +_0206C8E8: .word FUN_0206C8EC + 1 - thumb_func_start sub_0206C8EC -sub_0206C8EC: ; 0x0206C8EC + thumb_func_start FUN_0206C8EC +FUN_0206C8EC: ; 0x0206C8EC push {r3-r5, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0206C9C0 + bl FUN_0206C9C0 ldr r0, [r5, #0x18] - bl sub_02006ED4 - bl sub_0206DF58 + bl FUN_02006ED4 + bl FUN_0206DF58 mov r0, #0x1 mov r1, #0x0 - bl sub_020222B4 + bl FUN_020222B4 add r5, #0x67 ldrb r0, [r5, #0x0] cmp r0, #0x0 beq _0206C918 add r0, r4, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 _0206C918: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0206C91C -sub_0206C91C: ; 0x0206C91C + thumb_func_start FUN_0206C91C +FUN_0206C91C: ; 0x0206C91C add r0, #0x67 ldrb r0, [r0, #0x0] cmp r0, #0x1 @@ -203682,64 +203682,64 @@ _0206C928: mov r0, #0x0 bx lr - thumb_func_start sub_0206C92C -sub_0206C92C: ; 0x0206C92C + thumb_func_start FUN_0206C92C +FUN_0206C92C: ; 0x0206C92C push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 ldr r0, [r4, #0x4] mov r1, #0x1 - bl sub_020191A4 + bl FUN_020191A4 ldr r0, [r4, #0x14] mov r1, #0x0 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x1 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x2 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x14] mov r1, #0x3 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x14] - bl sub_02002FEC + bl FUN_02002FEC ldr r0, [r4, #0x18] - bl sub_020072E8 + bl FUN_020072E8 ldr r0, [r4, #0x44] - bl sub_02014C28 + bl FUN_02014C28 ldr r0, [r4, #0x34] - bl sub_020223BC + bl FUN_020223BC ldr r0, [r4, #0x0] - bl sub_0206DC48 + bl FUN_0206DC48 ldr r0, [r4, #0x8] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [r4, #0xc] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x3c] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x58] - bl sub_020143D0 + bl FUN_020143D0 ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 - bl sub_02002B60 + bl FUN_02002B60 pop {r4, pc} - thumb_func_start sub_0206C9C0 -sub_0206C9C0: ; 0x0206C9C0 + thumb_func_start FUN_0206C9C0 +FUN_0206C9C0: ; 0x0206C9C0 push {r3-r4, lr} sub sp, #0x54 add r4, r0, #0x0 @@ -203756,29 +203756,29 @@ sub_0206C9C0: ; 0x0206C9C0 ldrb r2, [r2, #0x0] mov r1, #0xc neg r2, r2 - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x1c] mov r1, #0xd neg r2, r2 - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xc - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xd - bl sub_020079E0 + bl FUN_020079E0 ldr r0, [r4, #0x1c] mov r1, #0xc - bl sub_0200782C + bl FUN_0200782C cmp r0, #0x0 bne _0206CA9C add r0, r4, #0x0 @@ -203795,30 +203795,30 @@ _0206CA2E: add r2, #0x71 ldrb r2, [r2, #0x0] mov r1, #0xc - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x1c] mov r1, #0xd - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xc neg r2, r2 - bl sub_020079E0 + bl FUN_020079E0 add r2, r4, #0x0 add r2, #0x71 ldrb r2, [r2, #0x0] ldr r0, [r4, #0x20] mov r1, #0xd neg r2, r2 - bl sub_020079E0 + bl FUN_020079E0 ldr r0, [r4, #0x20] mov r1, #0xc - bl sub_0200782C + bl FUN_0200782C cmp r0, #0x0 bne _0206CA9C add r0, r4, #0x0 @@ -203865,7 +203865,7 @@ _0206CA9C: str r0, [sp, #0x8] ldr r0, [r4, #0x14] mov r1, #0xf - bl sub_02003210 + bl FUN_02003210 add r0, r4, #0x0 mov r1, #0x29 add r0, #0x64 @@ -203954,11 +203954,11 @@ _0206CB70: .byte 0x20, 0x70, 0x18, 0xBD, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69 .byte 0x96, 0xF7, 0xA0, 0xFE, 0x00, 0x28, 0x01, 0xD0 _0206CBA8: - bl sub_0206D806 + bl FUN_0206D806 mov r1, #0xe5 add r0, r4, #0x0 lsl r1, r1, #0x2 - bl sub_0206DD6C + bl FUN_0206DD6C add r1, r4, #0x0 add r1, #0x65 strb r0, [r1, #0x0] @@ -204173,8 +204173,8 @@ _0206CE18: .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x74, 0xF8, 0x00, 0x28, 0x02, 0xD1 .byte 0x01, 0x20, 0x67, 0x34, 0x20, 0x70 - non_word_aligned_thumb_func_start sub_0206D806 -sub_0206D806: ; 0x0206D806 + non_word_aligned_thumb_func_start FUN_0206D806 +FUN_0206D806: ; 0x0206D806 add sp, #0x54 pop {r3-r4, pc} nop @@ -204182,8 +204182,8 @@ _0206D80C: .byte 0xFF, 0xFF, 0x00, 0x00 .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xF3, 0x00, 0x00, 0x75, 0x04, 0x00, 0x00, 0x97, 0x03, 0x00, 0x00 - thumb_func_start sub_0206D820 -sub_0206D820: ; 0x0206D820 + thumb_func_start FUN_0206D820 +FUN_0206D820: ; 0x0206D820 push {r4-r6, lr} sub sp, #0x20 add r4, r0, #0x0 @@ -204215,52 +204215,52 @@ _0206D834: ldr r0, [r4, #0x4c] ldr r2, [r4, #0x5c] mov r1, #0x4 - bl sub_0206EEF8 + bl FUN_0206EEF8 cmp r0, #0x0 beq _0206D86C ldr r0, [r4, #0x24] - bl sub_0206B9AC + bl FUN_0206B9AC cmp r0, #0x6 blt _0206D86E _0206D86C: b _0206D9AE _0206D86E: ldr r0, [r4, #0x5c] - bl sub_020669C0 + bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 - bl sub_02069B88 + bl FUN_02069B88 mov r0, #0x49 lsl r0, r0, #0x2 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x5 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x4 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x9a add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 mov r1, #0xb add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r1, #0x19 str r1, [sp, #0x4] add r6, sp, #0x0 _0206D8BA: add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -204272,7 +204272,7 @@ _0206D8BA: _0206D8D2: add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -204284,7 +204284,7 @@ _0206D8D2: _0206D8EA: add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, [sp, #0x4] add r1, r0, #0x1 str r1, [sp, #0x4] @@ -204293,64 +204293,64 @@ _0206D8EA: add r0, r5, #0x0 mov r1, #0xb2 mov r2, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x4d add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, [r4, #0x5c] - bl sub_020256BC + bl FUN_020256BC add r6, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r6, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0xa1 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add r1, sp, #0x8 mov r2, #0x18 - blx sub_020CE240 + blx FUN_020CE240 add r0, r5, #0x0 mov r1, #0xaa add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_0206A1C4 + bl FUN_0206A1C4 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 ldr r0, [r4, #0x24] add r1, r5, #0x0 - bl sub_0206B900 + bl FUN_0206B900 ldr r0, [r4, #0x48] add r1, r5, #0x0 - bl sub_02024AF0 + bl FUN_02024AF0 ldr r0, [r4, #0x50] mov r1, #0xc - bl sub_0202A0E8 + bl FUN_0202A0E8 ldr r0, [r4, #0x50] mov r1, #0x16 - bl sub_0202A170 + bl FUN_0202A170 add r0, r5, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r1, r0, #0x0 ldr r0, [r4, #0x54] - bl sub_0204C104 + bl FUN_0204C104 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x4c] ldr r3, [r4, #0x5c] mov r1, #0x4 mov r2, #0x1 - bl sub_0206EDD4 + bl FUN_0206EDD4 add sp, #0x20 pop {r4-r6, pc} _0206D9A0: @@ -204359,19 +204359,19 @@ _0206D9A0: ldr r0, [r4, #0x28] mov r1, #0x6 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 _0206D9AE: add sp, #0x20 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206D9B4 -sub_0206D9B4: ; 0x0206D9B4 + thumb_func_start FUN_0206D9B4 +FUN_0206D9B4: ; 0x0206D9B4 push {r4-r6, lr} sub sp, #0xb8 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0201E6D8 + bl FUN_0201E6D8 ldr r6, _0206DC28 ; =0x020F8354 add r3, sp, #0x3c mov r2, #0x5 @@ -204381,31 +204381,31 @@ _0206D9C6: sub r2, r2, #0x1 bne _0206D9C6 add r0, sp, #0x3c - bl sub_0201E66C + bl FUN_0201E66C mov r1, #0x6 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x18 lsl r2, r2, #0x12 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x62 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x19 mov r2, #0x1 mov r0, #0x0 lsl r1, r1, #0x16 lsl r2, r2, #0x12 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x66 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 - blx sub_020CE1FC + blx FUN_020CE1FC ldr r6, _0206DC2C ; =0x020F8328 add r3, sp, #0x2c add r2, r3, #0x0 @@ -204414,7 +204414,7 @@ _0206D9C6: ldmia r6!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r6, _0206DC30 ; =0x020F837C add r3, sp, #0x64 mov r2, #0xa @@ -204429,26 +204429,26 @@ _0206DA26: add r0, r4, #0x0 add r2, sp, #0x64 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02018744 + bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 add r2, sp, #0x80 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02018744 + bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x3 add r2, sp, #0x9c mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x3 - bl sub_02018744 + bl FUN_02018744 ldr r1, _0206DC34 ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] @@ -204457,7 +204457,7 @@ _0206DA26: orr r2, r0 strh r2, [r1, #0x0] add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r6, _0206DC38 ; =0x020F8338 add r3, sp, #0x10 ldmia r6!, {r0-r1} @@ -204472,12 +204472,12 @@ _0206DA26: str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02018744 + bl FUN_02018744 ldr r0, [r5, #0x2c] - bl sub_02025084 + bl FUN_02025084 add r6, r0, #0x0 lsl r0, r6, #0x18 lsr r0, r0, #0x18 @@ -204488,7 +204488,7 @@ _0206DA26: add r0, r4, #0x0 add r2, r1, #0x0 mov r3, #0xa - bl sub_0200D274 + bl FUN_0200D274 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -204499,7 +204499,7 @@ _0206DA26: str r0, [sp, #0xc] mov r0, #0x76 mov r3, #0x3 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -204510,7 +204510,7 @@ _0206DA26: str r0, [sp, #0xc] mov r0, #0x76 mov r3, #0x3 - bl sub_020068C8 + bl FUN_020068C8 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x40 @@ -204520,9 +204520,9 @@ _0206DA26: ldr r3, [r5, #0x5c] mov r1, #0x76 mov r2, #0x8 - bl sub_020030E8 + bl FUN_020030E8 add r0, r6, #0x0 - bl sub_0200CD64 + bl FUN_0200CD64 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -204533,7 +204533,7 @@ _0206DA26: ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0x26 - bl sub_020030E8 + bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 @@ -204544,15 +204544,15 @@ _0206DA26: ldr r3, [r5, #0x5c] mov r1, #0xe mov r2, #0x7 - bl sub_020030E8 + bl FUN_020030E8 ldr r0, [r5, #0x5c] mov r1, #0x2 str r0, [sp, #0x0] ldr r0, [r5, #0x0] mov r2, #0x1 mov r3, #0x0 - bl sub_0200CABC - bl sub_0200CAFC + bl FUN_0200CABC + bl FUN_0200CAFC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -204563,7 +204563,7 @@ _0206DA26: ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] mov r1, #0x26 - bl sub_020030E8 + bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -204575,7 +204575,7 @@ _0206DA26: mov r0, #0xc add r2, r4, #0x0 mov r3, #0x4 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -204587,7 +204587,7 @@ _0206DA26: mov r0, #0xc add r2, r4, #0x0 mov r3, #0x4 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x20 @@ -204598,7 +204598,7 @@ _0206DA26: ldr r0, [r5, #0x14] ldr r3, [r5, #0x5c] add r2, r1, #0x0 - bl sub_020030E8 + bl FUN_020030E8 mov r0, #0x1 lsl r0, r0, #0x1a ldr r1, [r0, #0x0] @@ -204641,13 +204641,13 @@ _0206DA26: mov r1, #0xa0 add r0, #0x75 strb r1, [r0, #0x0] - bl sub_0201E788 + bl FUN_0201E788 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 - ldr r0, _0206DC44 ; =sub_0206DD08 + bl FUN_0201E6E4 + ldr r0, _0206DC44 ; =FUN_0206DD08 add r1, r5, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add sp, #0xb8 pop {r4-r6, pc} .balign 4 @@ -204658,42 +204658,42 @@ _0206DC34: .word 0x04000008 _0206DC38: .word 0x020F8338 _0206DC3C: .word 0xFFFF1FFF _0206DC40: .word 0x04001000 -_0206DC44: .word sub_0206DD08 + 1 +_0206DC44: .word FUN_0206DD08 + 1 - thumb_func_start sub_0206DC48 -sub_0206DC48: ; 0x0206DC48 + thumb_func_start FUN_0206DC48 +FUN_0206DC48: ; 0x0206DC48 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 pop {r4, pc} .balign 4 - thumb_func_start sub_0206DC80 -sub_0206DC80: ; 0x0206DC80 + thumb_func_start FUN_0206DC80 +FUN_0206DC80: ; 0x0206DC80 push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 ldr r1, [r4, #0x28] add r0, sp, #0x10 mov r2, #0x2 - bl sub_02068B68 + bl FUN_02068B68 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -204703,27 +204703,27 @@ sub_0206DC80: ; 0x0206DC80 add r1, sp, #0x10 mov r2, #0x80 mov r3, #0x50 - bl sub_020073A0 + bl FUN_020073A0 str r0, [r4, #0x1c] ldr r0, [r4, #0x5c] - bl sub_020669C0 + bl FUN_020669C0 add r5, r0, #0x0 ldr r0, [r4, #0x28] add r1, r5, #0x0 - bl sub_02069B88 + bl FUN_02069B88 add r2, r4, #0x0 add r0, r5, #0x0 mov r1, #0x5 add r2, #0x62 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 add r0, sp, #0x10 add r1, r5, #0x0 mov r2, #0x2 - bl sub_02068B68 + bl FUN_02068B68 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -204733,20 +204733,20 @@ sub_0206DC80: ; 0x0206DC80 add r1, sp, #0x10 mov r2, #0x80 mov r3, #0x50 - bl sub_020073A0 + bl FUN_020073A0 str r0, [r4, #0x20] mov r1, #0xc mov r2, #0x0 - bl sub_02007558 + bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xd mov r2, #0x0 - bl sub_02007558 + bl FUN_02007558 add sp, #0x20 pop {r3-r5, pc} - thumb_func_start sub_0206DD08 -sub_0206DD08: ; 0x0206DD08 + thumb_func_start FUN_0206DD08 +FUN_0206DD08: ; 0x0206DD08 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x75 @@ -204773,12 +204773,12 @@ sub_0206DD08: ; 0x0206DD08 strh r5, [r0, #0x0] strh r1, [r0, #0x4] ldr r0, [r4, #0x18] - bl sub_020081C4 - bl sub_0201C30C + bl FUN_020081C4 + bl FUN_0201C30C ldr r0, [r4, #0x14] - bl sub_0200372C + bl FUN_0200372C ldr r0, [r4, #0x0] - bl sub_0201AB60 + bl FUN_0201AB60 ldr r3, _0206DD64 ; =0x027E0000 ldr r1, _0206DD68 ; =0x00003FF8 mov r0, #0x1 @@ -204791,41 +204791,41 @@ _0206DD60: .word 0x04000040 _0206DD64: .word 0x027E0000 _0206DD68: .word 0x00003FF8 - thumb_func_start sub_0206DD6C -sub_0206DD6C: ; 0x0206DD6C + thumb_func_start FUN_0206DD6C +FUN_0206DD6C: ; 0x0206DD6C push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 ldr r0, [r4, #0x8] - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x4] mov r1, #0xff - bl sub_02019620 + bl FUN_02019620 ldr r0, [r4, #0x2c] - bl sub_02024FF4 + bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] - ldr r0, _0206DDB0 ; =sub_0206DDB4 + ldr r0, _0206DDB0 ; =FUN_0206DDB4 mov r1, #0x1 str r0, [sp, #0x8] ldr r0, [r4, #0x4] ldr r2, [r4, #0x10] - bl sub_0201BD84 + bl FUN_0201BD84 add sp, #0xc pop {r4-r5, pc} .balign 4 -_0206DDB0: .word sub_0206DDB4 + 1 +_0206DDB0: .word FUN_0206DDB4 + 1 - thumb_func_start sub_0206DDB4 -sub_0206DDB4: ; 0x0206DDB4 + thumb_func_start FUN_0206DDB4 +FUN_0206DDB4: ; 0x0206DDB4 push {r4, lr} mov r4, #0x0 cmp r1, #0x5 @@ -204842,7 +204842,7 @@ sub_0206DDB4: ; 0x0206DDB4 lsl r2, r3, #0 lsl r2, r4, #0 lsl r2, r5, #0 - bl sub_02005514 + bl FUN_02005514 add r4, r0, #0x0 b _0206DDFA _0206DDDC: @@ -204856,24 +204856,24 @@ _0206DDFA: _0206DE00: .byte 0x84, 0x04, 0x00, 0x00, 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 - thumb_func_start sub_0206DE0C -sub_0206DE0C: ; 0x0206DE0C + thumb_func_start FUN_0206DE0C +FUN_0206DE0C: ; 0x0206DE0C push {r4, lr} add r4, r0, #0x0 ldr r0, _0206DE20 ; =0x020FA6E8 ldr r1, [r4, #0x3c] ldr r2, [r4, #0x5c] - bl sub_02006234 + bl FUN_02006234 str r0, [r4, #0x38] pop {r4, pc} nop _0206DE20: .word 0x020FA6E8 - thumb_func_start sub_0206DE24 -sub_0206DE24: ; 0x0206DE24 + thumb_func_start FUN_0206DE24 +FUN_0206DE24: ; 0x0206DE24 push {r3, lr} - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -204889,8 +204889,8 @@ sub_0206DE24: ; 0x0206DE24 _0206DE44: .word 0xFFFFE0FF _0206DE48: .word 0x04001000 - thumb_func_start sub_0206DE4C -sub_0206DE4C: ; 0x0206DE4C + thumb_func_start FUN_0206DE4C +FUN_0206DE4C: ; 0x0206DE4C push {r3, lr} mov r0, #0x7 str r0, [sp, #0x0] @@ -204898,41 +204898,41 @@ sub_0206DE4C: ; 0x0206DE4C mov r1, #0x0 mov r2, #0xe mov r3, #0xb - blx sub_020C74DC + blx FUN_020C74DC mov r0, #0x8 str r0, [sp, #0x0] ldr r0, _0206DE74 ; =0x04001050 mov r1, #0x0 mov r2, #0xe mov r3, #0x7 - blx sub_020C74DC + blx FUN_020C74DC pop {r3, pc} .balign 4 _0206DE70: .word 0x04000050 _0206DE74: .word 0x04001050 - thumb_func_start sub_0206DE78 -sub_0206DE78: ; 0x0206DE78 + thumb_func_start FUN_0206DE78 +FUN_0206DE78: ; 0x0206DE78 push {r3, lr} sub sp, #0x8 mov r2, #0x2 - ldr r1, _0206DE90 ; =sub_0206DE94 + ldr r1, _0206DE90 ; =FUN_0206DE94 str r2, [sp, #0x0] str r1, [sp, #0x4] mov r1, #0x0 add r3, r1, #0x0 - bl sub_02022318 + bl FUN_02022318 add sp, #0x8 pop {r3, pc} .balign 4 -_0206DE90: .word sub_0206DE94 + 1 +_0206DE90: .word FUN_0206DE94 + 1 - thumb_func_start sub_0206DE94 -sub_0206DE94: ; 0x0206DE94 + thumb_func_start FUN_0206DE94 +FUN_0206DE94: ; 0x0206DE94 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, _0206DF00 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] @@ -204969,13 +204969,13 @@ sub_0206DE94: ; 0x0206DE94 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - blx sub_020C7C28 + blx FUN_020C7C28 mov r0, #0x0 ldr r2, _0206DF0C ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] - blx sub_020C7B3C + blx FUN_020C7B3C ldr r1, _0206DF10 ; =0xBFFF0000 ldr r0, _0206DF14 ; =0x04000580 str r1, [r0, #0x0] @@ -204988,8 +204988,8 @@ _0206DF0C: .word 0x00007FFF _0206DF10: .word 0xBFFF0000 _0206DF14: .word 0x04000580 - thumb_func_start sub_0206DF18 -sub_0206DF18: ; 0x0206DF18 + thumb_func_start FUN_0206DF18 +FUN_0206DF18: ; 0x0206DF18 push {r3-r5, lr} ldr r3, _0206DF50 ; =0x021064B8 mov r0, #0x2 @@ -205008,132 +205008,132 @@ sub_0206DF18: ; 0x0206DF18 add r5, r0, #0x0 cmp r4, #0x0 bne _0206DF40 - bl sub_02020C2C + bl FUN_02020C2C _0206DF40: cmp r5, #0x0 bne _0206DF48 - bl sub_02020C2C + bl FUN_02020C2C _0206DF48: - bl sub_02012CC8 + bl FUN_02012CC8 pop {r3-r5, pc} nop _0206DF50: .word 0x021064B8 _0206DF54: .word 0x021064C0 - thumb_func_start sub_0206DF58 -sub_0206DF58: ; 0x0206DF58 + thumb_func_start FUN_0206DF58 +FUN_0206DF58: ; 0x0206DF58 push {r3, lr} - bl sub_020222AC - bl sub_02013364 + bl FUN_020222AC + bl FUN_02013364 cmp r0, #0x0 ble _0206DF6E - bl sub_020222AC - blx sub_020B02C8 + bl FUN_020222AC + blx FUN_020B02C8 _0206DF6E: - bl sub_02013388 + bl FUN_02013388 mov r0, #0x1 mov r1, #0x0 - bl sub_020222B4 + bl FUN_020222B4 pop {r3, pc} - thumb_func_start sub_0206DF7C -sub_0206DF7C: ; 0x0206DF7C + thumb_func_start FUN_0206DF7C +FUN_0206DF7C: ; 0x0206DF7C push {r4, lr} ldr r3, _0206DF94 ; =0x021064B8 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 - bl sub_0201327C + bl FUN_0201327C lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _0206DF94: .word 0x021064B8 - thumb_func_start sub_0206DF98 -sub_0206DF98: ; 0x0206DF98 + thumb_func_start FUN_0206DF98 +FUN_0206DF98: ; 0x0206DF98 push {r4, lr} ldr r3, _0206DFB0 ; =0x021064C0 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 - bl sub_020132BC + bl FUN_020132BC lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _0206DFB0: .word 0x021064C0 - thumb_func_start sub_0206DFB4 -sub_0206DFB4: ; 0x0206DFB4 + thumb_func_start FUN_0206DFB4 +FUN_0206DFB4: ; 0x0206DFB4 push {r4, lr} sub sp, #0x8 mov r1, #0x12 lsl r1, r1, #0xa add r4, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0x12 - ldr r0, _0206DFF4 ; =sub_0206DF7C - ldr r1, _0206DFF8 ; =sub_0206DF98 + ldr r0, _0206DFF4 ; =FUN_0206DF7C + ldr r1, _0206DFF8 ; =FUN_0206DF98 lsl r3, r3, #0xa str r4, [sp, #0x4] - bl sub_02012CDC + bl FUN_02012CDC add r4, r0, #0x0 - bl sub_0201343C + bl FUN_0201343C add r2, r0, #0x0 beq _0206DFEC mov r0, #0x1 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe - bl sub_0201EC94 + bl FUN_0201EC94 _0206DFEC: add r0, r4, #0x0 add sp, #0x8 pop {r4, pc} nop -_0206DFF4: .word sub_0206DF7C + 1 -_0206DFF8: .word sub_0206DF98 + 1 +_0206DFF4: .word FUN_0206DF7C + 1 +_0206DFF8: .word FUN_0206DF98 + 1 - thumb_func_start sub_0206DFFC -sub_0206DFFC: ; 0x0206DFFC + thumb_func_start FUN_0206DFFC +FUN_0206DFFC: ; 0x0206DFFC push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_0206DFB4 + bl FUN_0206DFB4 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x0 add r2, r5, #0x0 - bl sub_0201318C + bl FUN_0201318C add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0xa mov r3, #0x1 - bl sub_02013194 + bl FUN_02013194 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0206E024 -sub_0206E024: ; 0x0206E024 + thumb_func_start FUN_0206E024 +FUN_0206E024: ; 0x0206E024 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020133E8 + bl FUN_020133E8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02012DE4 + bl FUN_02012DE4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} - thumb_func_start sub_0206E03C -sub_0206E03C: ; 0x0206E03C + thumb_func_start FUN_0206E03C +FUN_0206E03C: ; 0x0206E03C push {r3} sub sp, #0xc add r1, sp, #0x0 @@ -205167,16 +205167,16 @@ sub_0206E03C: ; 0x0206E03C pop {r3} bx lr - thumb_func_start sub_0206E07C -sub_0206E07C: ; 0x0206E07C + thumb_func_start FUN_0206E07C +FUN_0206E07C: ; 0x0206E07C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _0206E090 - bl sub_02020C2C + bl FUN_02020C2C _0206E090: ldr r0, [r5, #0x0] ldr r2, [r5, #0x4] @@ -205184,33 +205184,33 @@ _0206E090: str r0, [r4, #0x0] str r2, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_0206DFFC + bl FUN_0206DFFC mov r1, #0x1 str r0, [r4, #0xc] - bl sub_02013440 + bl FUN_02013440 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_0206E0AC -sub_0206E0AC: ; 0x0206E0AC + thumb_func_start FUN_0206E0AC +FUN_0206E0AC: ; 0x0206E0AC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - ldr r2, _0206E0C4 ; =sub_0206E03C + ldr r2, _0206E0C4 ; =FUN_0206E03C add r3, r4, #0x0 - bl sub_020133AC + bl FUN_020133AC ldr r0, [r4, #0xc] mov r1, #0x1 - bl sub_02013440 + bl FUN_02013440 pop {r4, pc} .balign 4 -_0206E0C4: .word sub_0206E03C + 1 +_0206E0C4: .word FUN_0206E03C + 1 - thumb_func_start sub_0206E0C8 -sub_0206E0C8: ; 0x0206E0C8 + thumb_func_start FUN_0206E0C8 +FUN_0206E0C8: ; 0x0206E0C8 push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020133C8 + bl FUN_020133C8 cmp r0, #0x0 beq _0206E0D8 mov r0, #0x1 @@ -205219,24 +205219,24 @@ _0206E0D8: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0206E0DC -sub_0206E0DC: ; 0x0206E0DC + thumb_func_start FUN_0206E0DC +FUN_0206E0DC: ; 0x0206E0DC push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - bl sub_0206E024 + bl FUN_0206E024 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0206E0F0 -sub_0206E0F0: ; 0x0206E0F0 + thumb_func_start FUN_0206E0F0 +FUN_0206E0F0: ; 0x0206E0F0 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x17 blo _0206E0FC - bl sub_02020C2C + bl FUN_02020C2C _0206E0FC: ldr r0, _0206E104 ; =0x020F83E0 lsl r1, r4, #0x2 @@ -205245,28 +205245,28 @@ _0206E0FC: .balign 4 _0206E104: .word 0x020F83E0 - thumb_func_start sub_0206E108 -sub_0206E108: ; 0x0206E108 + thumb_func_start FUN_0206E108 +FUN_0206E108: ; 0x0206E108 mov r0, #0x26 bx lr - thumb_func_start sub_0206E10C -sub_0206E10C: ; 0x0206E10C + thumb_func_start FUN_0206E10C +FUN_0206E10C: ; 0x0206E10C mov r0, #0xb2 bx lr - thumb_func_start sub_0206E110 -sub_0206E110: ; 0x0206E110 + thumb_func_start FUN_0206E110 +FUN_0206E110: ; 0x0206E110 mov r0, #0xb3 bx lr - thumb_func_start sub_0206E114 -sub_0206E114: ; 0x0206E114 + thumb_func_start FUN_0206E114 +FUN_0206E114: ; 0x0206E114 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x17 blo _0206E120 - bl sub_02020C2C + bl FUN_02020C2C _0206E120: ldr r0, _0206E128 ; =0x020F843C ldrb r0, [r0, r4] @@ -205274,23 +205274,23 @@ _0206E120: nop _0206E128: .word 0x020F843C - thumb_func_start sub_0206E12C -sub_0206E12C: ; 0x0206E12C + thumb_func_start FUN_0206E12C +FUN_0206E12C: ; 0x0206E12C mov r0, #0x1b bx lr - thumb_func_start sub_0206E130 -sub_0206E130: ; 0x0206E130 + thumb_func_start FUN_0206E130 +FUN_0206E130: ; 0x0206E130 push {r3-r7, lr} sub sp, #0x10 add r7, r3, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 - bl sub_0206E12C + bl FUN_0206E12C str r0, [sp, #0xc] add r0, r7, #0x0 - bl sub_0206E0F0 + bl FUN_0206E0F0 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -205300,22 +205300,22 @@ sub_0206E130: ; 0x0206E130 ldr r2, [sp, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0200C00C + bl FUN_0200C00C add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206E164 -sub_0206E164: ; 0x0206E164 + thumb_func_start FUN_0206E164 +FUN_0206E164: ; 0x0206E164 push {r4-r7, lr} sub sp, #0x14 add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_0206E12C + bl FUN_0206E12C str r0, [sp, #0x10] - bl sub_0206E108 + bl FUN_0206E108 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -205326,22 +205326,22 @@ sub_0206E164: ; 0x0206E164 add r0, r6, #0x0 add r1, r7, #0x0 str r4, [sp, #0xc] - bl sub_0200C06C + bl FUN_0200C06C add sp, #0x14 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206E198 -sub_0206E198: ; 0x0206E198 + thumb_func_start FUN_0206E198 +FUN_0206E198: ; 0x0206E198 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 str r3, [sp, #0x18] - bl sub_0206E12C + bl FUN_0206E12C add r4, r0, #0x0 - bl sub_0206E108 + bl FUN_0206E108 str r4, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x0 @@ -205356,22 +205356,22 @@ sub_0206E198: ; 0x0206E198 str r0, [sp, #0x14] add r0, r5, #0x0 add r2, r7, #0x0 - bl sub_0200C0DC + bl FUN_0200C0DC add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206E1D4 -sub_0206E1D4: ; 0x0206E1D4 + thumb_func_start FUN_0206E1D4 +FUN_0206E1D4: ; 0x0206E1D4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 add r7, r3, #0x0 - bl sub_0206E12C + bl FUN_0206E12C str r0, [sp, #0x8] - bl sub_0206E10C + bl FUN_0206E10C add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -205379,10 +205379,10 @@ sub_0206E1D4: ; 0x0206E1D4 add r0, r5, #0x0 add r1, r4, #0x0 str r6, [sp, #0x4] - bl sub_0200C124 - bl sub_0206E12C + bl FUN_0200C124 + bl FUN_0206E12C add r6, r0, #0x0 - bl sub_0206E110 + bl FUN_0206E110 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -205390,37 +205390,37 @@ sub_0206E1D4: ; 0x0206E1D4 add r1, r4, #0x0 add r2, r6, #0x0 str r7, [sp, #0x4] - bl sub_0200C13C + bl FUN_0200C13C add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0206E21C -sub_0206E21C: ; 0x0206E21C - ldr r3, _0206E220 ; =sub_0200C358 + thumb_func_start FUN_0206E21C +FUN_0206E21C: ; 0x0206E21C + ldr r3, _0206E220 ; =FUN_0200C358 bx r3 .balign 4 -_0206E220: .word sub_0200C358 + 1 +_0206E220: .word FUN_0200C358 + 1 - thumb_func_start sub_0206E224 -sub_0206E224: ; 0x0206E224 - ldr r3, _0206E228 ; =sub_0200C368 + thumb_func_start FUN_0206E224 +FUN_0206E224: ; 0x0206E224 + ldr r3, _0206E228 ; =FUN_0200C368 bx r3 .balign 4 -_0206E228: .word sub_0200C368 + 1 +_0206E228: .word FUN_0200C368 + 1 - thumb_func_start sub_0206E22C -sub_0206E22C: ; 0x0206E22C + thumb_func_start FUN_0206E22C +FUN_0206E22C: ; 0x0206E22C push {r3-r5, lr} add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_0200C378 + bl FUN_0200C378 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200C388 + bl FUN_0200C388 pop {r3-r5, pc} - thumb_func_start sub_0206E240 -sub_0206E240: ; 0x0206E240 + thumb_func_start FUN_0206E240 +FUN_0206E240: ; 0x0206E240 push {r4-r7, lr} sub sp, #0x34 add r6, r3, #0x0 @@ -205436,29 +205436,29 @@ _0206E24E: ldr r0, [r6, #0x0] str r0, [r5, #0x0] add r0, r2, #0x0 - bl sub_0206E114 + bl FUN_0206E114 str r0, [sp, #0xc] add r0, r4, #0x0 add r1, r7, #0x0 add r2, sp, #0x0 - bl sub_0200C154 + bl FUN_0200C154 add sp, #0x34 pop {r4-r7, pc} - thumb_func_start sub_0206E270 -sub_0206E270: ; 0x0206E270 - ldr r3, _0206E274 ; =sub_0200C3DC + thumb_func_start FUN_0206E270 +FUN_0206E270: ; 0x0206E270 + ldr r3, _0206E274 ; =FUN_0200C3DC bx r3 .balign 4 -_0206E274: .word sub_0200C3DC + 1 +_0206E274: .word FUN_0200C3DC + 1 - thumb_func_start sub_0206E278 -sub_0206E278: ; 0x0206E278 + thumb_func_start FUN_0206E278 +FUN_0206E278: ; 0x0206E278 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x3 blo _0206E284 - bl sub_02020C2C + bl FUN_02020C2C _0206E284: ldr r0, _0206E28C ; =0x020F83D4 lsl r1, r4, #0x2 @@ -205467,13 +205467,13 @@ _0206E284: .balign 4 _0206E28C: .word 0x020F83D4 - thumb_func_start sub_0206E290 -sub_0206E290: ; 0x0206E290 + thumb_func_start FUN_0206E290 +FUN_0206E290: ; 0x0206E290 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x3 blo _0206E29C - bl sub_02020C2C + bl FUN_02020C2C _0206E29C: ldr r0, _0206E2A4 ; =0x020F83D0 ldrb r0, [r0, r4] @@ -205481,23 +205481,23 @@ _0206E29C: nop _0206E2A4: .word 0x020F83D0 - thumb_func_start sub_0206E2A8 -sub_0206E2A8: ; 0x0206E2A8 + thumb_func_start FUN_0206E2A8 +FUN_0206E2A8: ; 0x0206E2A8 mov r0, #0x1b bx lr - thumb_func_start sub_0206E2AC -sub_0206E2AC: ; 0x0206E2AC + thumb_func_start FUN_0206E2AC +FUN_0206E2AC: ; 0x0206E2AC push {r3-r7, lr} sub sp, #0x10 add r7, r3, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 - bl sub_0206E2A8 + bl FUN_0206E2A8 str r0, [sp, #0xc] add r0, r7, #0x0 - bl sub_0206E278 + bl FUN_0206E278 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -205507,58 +205507,58 @@ sub_0206E2AC: ; 0x0206E2AC ldr r2, [sp, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0200C00C + bl FUN_0200C00C add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206E2E0 -sub_0206E2E0: ; 0x0206E2E0 - ldr r3, _0206E2E4 ; =sub_0200C358 + thumb_func_start FUN_0206E2E0 +FUN_0206E2E0: ; 0x0206E2E0 + ldr r3, _0206E2E4 ; =FUN_0200C358 bx r3 .balign 4 -_0206E2E4: .word sub_0200C358 + 1 +_0206E2E4: .word FUN_0200C358 + 1 - thumb_func_start sub_0206E2E8 -sub_0206E2E8: ; 0x0206E2E8 - ldr r3, _0206E2EC ; =sub_0200C3DC + thumb_func_start FUN_0206E2E8 +FUN_0206E2E8: ; 0x0206E2E8 + ldr r3, _0206E2EC ; =FUN_0200C3DC bx r3 .balign 4 -_0206E2EC: .word sub_0200C3DC + 1 +_0206E2EC: .word FUN_0200C3DC + 1 - thumb_func_start sub_0206E2F0 -sub_0206E2F0: ; 0x0206E2F0 + thumb_func_start FUN_0206E2F0 +FUN_0206E2F0: ; 0x0206E2F0 push {r4, lr} mov r1, #0x78 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x78 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0206E308 -sub_0206E308: ; 0x0206E308 + thumb_func_start FUN_0206E308 +FUN_0206E308: ; 0x0206E308 mov r0, #0x78 bx lr - thumb_func_start sub_0206E30C -sub_0206E30C: ; 0x0206E30C + thumb_func_start FUN_0206E30C +FUN_0206E30C: ; 0x0206E30C add r0, #0x65 strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E314 -sub_0206E314: ; 0x0206E314 + thumb_func_start FUN_0206E314 +FUN_0206E314: ; 0x0206E314 push {r4-r6, lr} add r4, r1, #0x0 add r1, r2, #0x0 add r5, r0, #0x0 add r6, r3, #0x0 - bl sub_0206E30C + bl FUN_0206E30C str r4, [r5, #0x0] str r6, [r5, #0x6c] mov r0, #0x0 @@ -205567,8 +205567,8 @@ sub_0206E314: ; 0x0206E314 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206E330 -sub_0206E330: ; 0x0206E330 + thumb_func_start FUN_0206E330 +FUN_0206E330: ; 0x0206E330 push {r3-r4} mov r4, #0xc mul r4, r3 @@ -205578,8 +205578,8 @@ sub_0206E330: ; 0x0206E330 pop {r3-r4} bx lr - thumb_func_start sub_0206E340 -sub_0206E340: ; 0x0206E340 + thumb_func_start FUN_0206E340 +FUN_0206E340: ; 0x0206E340 add r1, r0, #0x0 add r1, #0x76 ldrh r2, [r1, #0x0] @@ -205591,20 +205591,20 @@ sub_0206E340: ; 0x0206E340 strh r1, [r0, #0x0] bx lr - thumb_func_start sub_0206E354 -sub_0206E354: ; 0x0206E354 + thumb_func_start FUN_0206E354 +FUN_0206E354: ; 0x0206E354 str r1, [r0, #0x70] bx lr - thumb_func_start sub_0206E358 -sub_0206E358: ; 0x0206E358 + thumb_func_start FUN_0206E358 +FUN_0206E358: ; 0x0206E358 add r0, #0x74 strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E360 -sub_0206E360: ; 0x0206E360 + thumb_func_start FUN_0206E360 +FUN_0206E360: ; 0x0206E360 add r2, r0, #0x0 add r2, #0x76 ldrh r3, [r2, #0x0] @@ -205619,52 +205619,52 @@ sub_0206E360: ; 0x0206E360 nop _0206E378: .word 0xFFFF0001 - thumb_func_start sub_0206E37C -sub_0206E37C: ; 0x0206E37C + thumb_func_start FUN_0206E37C +FUN_0206E37C: ; 0x0206E37C add r0, #0x66 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E384 -sub_0206E384: ; 0x0206E384 + thumb_func_start FUN_0206E384 +FUN_0206E384: ; 0x0206E384 add r0, #0x68 ldrh r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E38C -sub_0206E38C: ; 0x0206E38C + thumb_func_start FUN_0206E38C +FUN_0206E38C: ; 0x0206E38C add r0, #0x74 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E394 -sub_0206E394: ; 0x0206E394 + thumb_func_start FUN_0206E394 +FUN_0206E394: ; 0x0206E394 add r0, #0x75 ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_0206E39C -sub_0206E39C: ; 0x0206E39C + thumb_func_start FUN_0206E39C +FUN_0206E39C: ; 0x0206E39C push {r3, lr} - bl sub_0202390C - bl sub_02028930 + bl FUN_0202390C + bl FUN_02028930 pop {r3, pc} - thumb_func_start sub_0206E3A8 -sub_0206E3A8: ; 0x0206E3A8 + thumb_func_start FUN_0206E3A8 +FUN_0206E3A8: ; 0x0206E3A8 push {r4-r6, lr} - bl sub_02029C80 + bl FUN_02029C80 add r6, r0, #0x0 mov r5, #0x0 mov r4, #0x1 _0206E3B4: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02029E2C + bl FUN_02029E2C add r4, r4, #0x1 add r5, r5, r0 cmp r4, #0x50 @@ -205672,33 +205672,33 @@ _0206E3B4: add r0, r5, #0x0 pop {r4-r6, pc} - thumb_func_start sub_0206E3C8 -sub_0206E3C8: ; 0x0206E3C8 + thumb_func_start FUN_0206E3C8 +FUN_0206E3C8: ; 0x0206E3C8 push {r3, lr} - bl sub_02027E24 - bl sub_0202708C - bl sub_02027168 + bl FUN_02027E24 + bl FUN_0202708C + bl FUN_02027168 pop {r3, pc} - thumb_func_start sub_0206E3D8 -sub_0206E3D8: ; 0x0206E3D8 + thumb_func_start FUN_0206E3D8 +FUN_0206E3D8: ; 0x0206E3D8 push {r3, lr} - bl sub_02027E24 - bl sub_0202708C - bl sub_02027184 + bl FUN_02027E24 + bl FUN_0202708C + bl FUN_02027184 pop {r3, pc} - thumb_func_start sub_0206E3E8 -sub_0206E3E8: ; 0x0206E3E8 + thumb_func_start FUN_0206E3E8 +FUN_0206E3E8: ; 0x0206E3E8 push {r3, lr} - bl sub_0202A8D8 + bl FUN_0202A8D8 mov r1, #0x0 add r2, r1, #0x0 - bl sub_0202A3B4 + bl FUN_0202A3B4 pop {r3, pc} - thumb_func_start sub_0206E3F8 -sub_0206E3F8: ; 0x0206E3F8 + thumb_func_start FUN_0206E3F8 +FUN_0206E3F8: ; 0x0206E3F8 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 @@ -205708,16 +205708,16 @@ sub_0206E3F8: ; 0x0206E3F8 mov r0, #0x0 mov r1, #0x1a mov r2, #0x7 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0200AA80 + bl FUN_0200AA80 add r4, r0, #0x0 cmp r5, #0x0 bne _0206E428 add r0, r6, #0x0 mov r1, #0x63 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 b _0206E4FA _0206E428: @@ -205727,10 +205727,10 @@ _0206E428: bne _0206E454 add r0, r6, #0x0 mov r1, #0x61 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0206E3E8 + bl FUN_0206E3E8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -205738,7 +205738,7 @@ _0206E428: str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x4 - bl sub_0200AD38 + bl FUN_0200AD38 b _0206E4FA _0206E454: add r2, r1, #0x2 @@ -205746,10 +205746,10 @@ _0206E454: bne _0206E47E add r0, r6, #0x0 mov r1, #0x5c - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0206E3A8 + bl FUN_0206E3A8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -205757,7 +205757,7 @@ _0206E454: str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x4 - bl sub_0200AD38 + bl FUN_0200AD38 b _0206E4FA _0206E47E: add r2, r1, #0x3 @@ -205765,10 +205765,10 @@ _0206E47E: bne _0206E4C0 add r0, r6, #0x0 mov r1, #0x5d - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0206E3C8 + bl FUN_0206E3C8 mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -205776,9 +205776,9 @@ _0206E47E: str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 add r0, r7, #0x0 - bl sub_0206E3D8 + bl FUN_0206E3D8 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -205786,7 +205786,7 @@ _0206E47E: add r0, r4, #0x0 mov r3, #0x2 str r1, [sp, #0x4] - bl sub_0200AD38 + bl FUN_0200AD38 b _0206E4FA _0206E4C0: add r1, #0xc @@ -205794,10 +205794,10 @@ _0206E4C0: bne _0206E4EA add r0, r6, #0x0 mov r1, #0x39 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 add r0, r7, #0x0 - bl sub_0206E39C + bl FUN_0206E39C mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -205805,12 +205805,12 @@ _0206E4C0: str r0, [sp, #0x4] add r0, r4, #0x0 mov r3, #0x5 - bl sub_0200AD38 + bl FUN_0200AD38 b _0206E4FA _0206E4EA: - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add sp, #0xc mov r0, #0x0 pop {r4-r7, pc} @@ -205818,19 +205818,19 @@ _0206E4FA: ldr r1, [sp, #0x8] add r0, r4, #0x0 add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0206E51C -sub_0206E51C: ; 0x0206E51C + thumb_func_start FUN_0206E51C +FUN_0206E51C: ; 0x0206E51C push {r3-r7, lr} add r5, r1, #0x0 str r0, [sp, #0x0] @@ -205845,60 +205845,60 @@ _0206E52E: mov r1, #0x1a mov r2, #0x7 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 mov r1, #0x38 add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} _0206E54C: mov r0, #0x1 mov r1, #0x1a mov r2, #0x7 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r4, r0, #0x0 mov r1, #0x6f add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} _0206E56A: mov r0, #0x1 mov r1, #0x1a mov r2, #0xc7 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_0200AA80 + bl FUN_0200AA80 add r4, r0, #0x0 add r0, r7, #0x0 mov r1, #0x24 - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 ldr r2, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200ABC0 + bl FUN_0200ABC0 add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0206E5B4 -sub_0206E5B4: ; 0x0206E5B4 + thumb_func_start FUN_0206E5B4 +FUN_0206E5B4: ; 0x0206E5B4 push {r3-r6} add r3, r0, #0x0 add r0, r2, #0x0 @@ -205975,8 +205975,8 @@ _0206E63A: bx lr .balign 4 - thumb_func_start sub_0206E640 -sub_0206E640: ; 0x0206E640 + thumb_func_start FUN_0206E640 +FUN_0206E640: ; 0x0206E640 cmp r1, #0x3 bhi _0206E6B2 add r1, r1, r1 @@ -206015,8 +206015,8 @@ _0206E6C0: .byte 0xBB, 0x02, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0xB6, 0x85, 0x0F, 0x02, 0xBE, 0x02, 0x00, 0x00 .byte 0xB8, 0x85, 0x0F, 0x02, 0xBA, 0x85, 0x0F, 0x02 - thumb_func_start sub_0206E6D8 -sub_0206E6D8: ; 0x0206E6D8 + thumb_func_start FUN_0206E6D8 +FUN_0206E6D8: ; 0x0206E6D8 push {r3-r4} mov r2, #0x1d ldr r3, _0206E704 ; =0x020F85B4 @@ -206043,18 +206043,18 @@ _0206E6F2: nop _0206E704: .word 0x020F85B4 - thumb_func_start sub_0206E708 -sub_0206E708: ; 0x0206E708 + thumb_func_start FUN_0206E708 +FUN_0206E708: ; 0x0206E708 mov r0, #0x1 bx lr - thumb_func_start sub_0206E70C -sub_0206E70C: ; 0x0206E70C + thumb_func_start FUN_0206E70C +FUN_0206E70C: ; 0x0206E70C mov r0, #0x0 bx lr - thumb_func_start sub_0206E710 -sub_0206E710: ; 0x0206E710 + thumb_func_start FUN_0206E710 +FUN_0206E710: ; 0x0206E710 push {r3, lr} add r3, r0, #0x0 mov r0, #0x1d @@ -206075,21 +206075,21 @@ _0206E72C: lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0xf - bl sub_0200650C + bl FUN_0200650C pop {r3, pc} _0206E73A: ldr r1, _0206E760 ; =0x020F85B6 lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0x10 - bl sub_0200650C + bl FUN_0200650C pop {r3, pc} _0206E748: ldr r1, _0206E764 ; =0x020F85B8 lsl r3, r3, #0x3 ldrh r1, [r1, r3] mov r0, #0x10 - bl sub_0200650C + bl FUN_0200650C pop {r3, pc} _0206E756: mov r0, #0x0 @@ -206099,8 +206099,8 @@ _0206E75C: .word 0x020F85B4 _0206E760: .word 0x020F85B6 _0206E764: .word 0x020F85B8 - thumb_func_start sub_0206E768 -sub_0206E768: ; 0x0206E768 + thumb_func_start FUN_0206E768 +FUN_0206E768: ; 0x0206E768 push {r4-r6, lr} add r3, r2, #0x0 mov r2, #0x56 @@ -206109,18 +206109,18 @@ sub_0206E768: ; 0x0206E768 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206E790 -sub_0206E790: ; 0x0206E790 + thumb_func_start FUN_0206E790 +FUN_0206E790: ; 0x0206E790 push {r4-r6, lr} add r3, r2, #0x0 add r5, r0, #0x0 @@ -206128,37 +206128,37 @@ sub_0206E790: ; 0x0206E790 ldr r2, _0206E7B4 ; =0x00000157 mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4-r6, pc} .balign 4 _0206E7B4: .word 0x00000157 - thumb_func_start sub_0206E7B8 -sub_0206E7B8: ; 0x0206E7B8 + thumb_func_start FUN_0206E7B8 +FUN_0206E7B8: ; 0x0206E7B8 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x0 add r5, r2, #0x0 - bl sub_0206E710 + bl FUN_0206E710 add r6, r0, #0x0 add r1, r4, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC add r4, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02016A8C + bl FUN_02016A8C add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0206E7DC -sub_0206E7DC: ; 0x0206E7DC + thumb_func_start FUN_0206E7DC +FUN_0206E7DC: ; 0x0206E7DC push {r3, lr} cmp r1, #0xe bhi _0206E85C @@ -206203,14 +206203,14 @@ _0206E868: pop {r3, pc} _0206E86C: add r0, #0xe - bl sub_0206E878 + bl FUN_0206E878 pop {r3, pc} _0206E874: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_0206E878 -sub_0206E878: ; 0x0206E878 + thumb_func_start FUN_0206E878 +FUN_0206E878: ; 0x0206E878 sub r1, #0xf cmp r1, #0x2b bls _0206E880 @@ -206297,8 +206297,8 @@ _0206EA2A: bx lr .balign 4 - thumb_func_start sub_0206EA30 -sub_0206EA30: ; 0x0206EA30 + thumb_func_start FUN_0206EA30 +FUN_0206EA30: ; 0x0206EA30 mov r2, #0x52 lsl r2, r2, #0x2 cmp r0, r2 @@ -206320,8 +206320,8 @@ _0206EA44: .balign 4 _0206EA50: .word 0x020F84EC - thumb_func_start sub_0206EA54 -sub_0206EA54: ; 0x0206EA54 + thumb_func_start FUN_0206EA54 +FUN_0206EA54: ; 0x0206EA54 ldr r2, _0206EA78 ; =0x020F84EC mov r3, #0x0 _0206EA58: @@ -206344,8 +206344,8 @@ _0206EA68: nop _0206EA78: .word 0x020F84EC - thumb_func_start sub_0206EA7C -sub_0206EA7C: ; 0x0206EA7C + thumb_func_start FUN_0206EA7C +FUN_0206EA7C: ; 0x0206EA7C mov r2, #0x52 lsl r2, r2, #0x2 cmp r0, r2 @@ -206363,8 +206363,8 @@ _0206EA90: lsr r0, r0, #0x18 bx lr - thumb_func_start sub_0206EA98 -sub_0206EA98: ; 0x0206EA98 + thumb_func_start FUN_0206EA98 +FUN_0206EA98: ; 0x0206EA98 ldr r3, _0206EAB4 ; =0x020F8454 mov r2, #0x0 _0206EA9C: @@ -206383,8 +206383,8 @@ _0206EAA6: nop _0206EAB4: .word 0x020F8454 - thumb_func_start sub_0206EAB8 -sub_0206EAB8: ; 0x0206EAB8 + thumb_func_start FUN_0206EAB8 +FUN_0206EAB8: ; 0x0206EAB8 ldr r3, _0206EAD4 ; =0x020F8454 mov r2, #0x0 _0206EABC: @@ -206404,8 +206404,8 @@ _0206EAC8: .balign 4 _0206EAD4: .word 0x020F8454 - thumb_func_start sub_0206EAD8 -sub_0206EAD8: ; 0x0206EAD8 + thumb_func_start FUN_0206EAD8 +FUN_0206EAD8: ; 0x0206EAD8 cmp r0, #0xc blo _0206EAE0 mov r0, #0x0 @@ -206418,8 +206418,8 @@ _0206EAE0: .balign 4 _0206EAE8: .word 0x020F8454 - thumb_func_start sub_0206EAEC -sub_0206EAEC: ; 0x0206EAEC + thumb_func_start FUN_0206EAEC +FUN_0206EAEC: ; 0x0206EAEC ldr r3, _0206EB08 ; =0x020F846C mov r2, #0x0 _0206EAF0: @@ -206438,8 +206438,8 @@ _0206EAFA: nop _0206EB08: .word 0x020F846C - thumb_func_start sub_0206EB0C -sub_0206EB0C: ; 0x0206EB0C + thumb_func_start FUN_0206EB0C +FUN_0206EB0C: ; 0x0206EB0C cmp r0, #0x95 bhs _0206EB14 mov r0, #0xff @@ -206450,8 +206450,8 @@ _0206EB14: lsr r0, r0, #0x18 bx lr - thumb_func_start sub_0206EB1C -sub_0206EB1C: ; 0x0206EB1C + thumb_func_start FUN_0206EB1C +FUN_0206EB1C: ; 0x0206EB1C cmp r0, #0x40 blo _0206EB24 ldr r0, _0206EB2C ; =0x0000FFFF @@ -206465,8 +206465,8 @@ _0206EB24: _0206EB2C: .word 0x0000FFFF _0206EB30: .word 0x020F846C - thumb_func_start sub_0206EB34 -sub_0206EB34: ; 0x0206EB34 + thumb_func_start FUN_0206EB34 +FUN_0206EB34: ; 0x0206EB34 ldr r1, _0206EB4C ; =0x0000FFDE add r0, r0, r1 lsl r0, r0, #0x10 @@ -206484,15 +206484,15 @@ _0206EB46: .balign 4 _0206EB4C: .word 0x0000FFDE - thumb_func_start sub_0206EB50 -sub_0206EB50: ; 0x0206EB50 + thumb_func_start FUN_0206EB50 +FUN_0206EB50: ; 0x0206EB50 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x1d lsl r0, r0, #0x4 mov r1, #0x0 - bl sub_0206E640 + bl FUN_0206E640 mov r1, #0x24 mul r1, r0 str r1, [sp, #0x0] @@ -206500,73 +206500,73 @@ sub_0206EB50: ; 0x0206EB50 mov r0, #0xf add r2, r4, #0x0 add r3, r1, #0x0 - bl sub_02006564 + bl FUN_02006564 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_0206EB78 -sub_0206EB78: ; 0x0206EB78 + thumb_func_start FUN_0206EB78 +FUN_0206EB78: ; 0x0206EB78 mov r2, #0x24 mul r2, r1 add r0, r0, r2 bx lr - thumb_func_start sub_0206EB80 -sub_0206EB80: ; 0x0206EB80 + thumb_func_start FUN_0206EB80 +FUN_0206EB80: ; 0x0206EB80 ldr r0, _0206EB84 ; =0x00000774 bx lr .balign 4 _0206EB84: .word 0x00000774 - thumb_func_start sub_0206EB88 -sub_0206EB88: ; 0x0206EB88 + thumb_func_start FUN_0206EB88 +FUN_0206EB88: ; 0x0206EB88 push {r4, lr} ldr r1, _0206EB9C ; =0x00000774 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 - bl sub_0206EBA0 + bl FUN_0206EBA0 add r0, r4, #0x0 pop {r4, pc} nop _0206EB9C: .word 0x00000774 - thumb_func_start sub_0206EBA0 -sub_0206EBA0: ; 0x0206EBA0 - ldr r3, _0206EBAC ; =sub_020CE1C8 + thumb_func_start FUN_0206EBA0 +FUN_0206EBA0: ; 0x0206EBA0 + ldr r3, _0206EBAC ; =FUN_020CE1C8 add r1, r0, #0x0 mov r0, #0x0 ldr r2, _0206EBB0 ; =0x00000774 bx r3 nop -_0206EBAC: .word sub_020CE1C8 +_0206EBAC: .word FUN_020CE1C8 _0206EBB0: .word 0x00000774 - thumb_func_start sub_0206EBB4 -sub_0206EBB4: ; 0x0206EBB4 - ldr r3, _0206EBBC ; =sub_020CE3E0 + thumb_func_start FUN_0206EBB4 +FUN_0206EBB4: ; 0x0206EBB4 + ldr r3, _0206EBBC ; =FUN_020CE3E0 ldr r2, _0206EBC0 ; =0x00000774 bx r3 nop -_0206EBBC: .word sub_020CE3E0 +_0206EBBC: .word FUN_020CE3E0 _0206EBC0: .word 0x00000774 - thumb_func_start sub_0206EBC4 -sub_0206EBC4: ; 0x0206EBC4 + thumb_func_start FUN_0206EBC4 +FUN_0206EBC4: ; 0x0206EBC4 mov r1, #0x77 lsl r1, r1, #0x4 ldr r0, [r0, r1] bx lr - thumb_func_start sub_0206EBCC -sub_0206EBCC: ; 0x0206EBCC + thumb_func_start FUN_0206EBCC +FUN_0206EBCC: ; 0x0206EBCC mov r2, #0x77 lsl r2, r2, #0x4 str r1, [r0, r2] bx lr - thumb_func_start sub_0206EBD4 -sub_0206EBD4: ; 0x0206EBD4 + thumb_func_start FUN_0206EBD4 +FUN_0206EBD4: ; 0x0206EBD4 push {r4-r6, lr} add r5, r2, #0x0 add r4, r0, #0x0 @@ -206574,7 +206574,7 @@ sub_0206EBD4: ; 0x0206EBD4 ldr r2, [sp, #0x10] mov r1, #0x5 add r6, r3, #0x0 - bl sub_0206E7B8 + bl FUN_0206E7B8 cmp r0, #0x7 bhi _0206EC64 add r1, r0, r0 @@ -206612,8 +206612,8 @@ _0206EC68: .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00 .byte 0xBC, 0x06, 0x00, 0x00, 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 - thumb_func_start sub_0206EC7C -sub_0206EC7C: ; 0x0206EC7C + thumb_func_start FUN_0206EC7C +FUN_0206EC7C: ; 0x0206EC7C push {r4-r7} add r5, r1, #0x0 mov r1, #0x0 @@ -206671,8 +206671,8 @@ _0206ECDC: pop {r4-r7} bx lr - thumb_func_start sub_0206ECE0 -sub_0206ECE0: ; 0x0206ECE0 + thumb_func_start FUN_0206ECE0 +FUN_0206ECE0: ; 0x0206ECE0 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 @@ -206680,7 +206680,7 @@ sub_0206ECE0: ; 0x0206ECE0 add r2, sp, #0x8 add r3, sp, #0x4 add r5, r1, #0x0 - bl sub_0206EBD4 + bl FUN_0206EBD4 cmp r0, #0x3 bne _0206ED0A mov r0, #0x63 @@ -206689,7 +206689,7 @@ sub_0206ECE0: ; 0x0206ECE0 ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r4, #0x0 - bl sub_0206EC7C + bl FUN_0206EC7C add sp, #0xc pop {r4-r5, pc} _0206ED0A: @@ -206699,16 +206699,16 @@ _0206ED0A: ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r3, r4, #0x0 - bl sub_0206EC7C + bl FUN_0206EC7C add sp, #0xc pop {r4-r5, pc} nop _0206ED20: .word 0x000003E7 - thumb_func_start sub_0206ED24 -sub_0206ED24: ; 0x0206ED24 + thumb_func_start FUN_0206ED24 +FUN_0206ED24: ; 0x0206ED24 push {r3, lr} - bl sub_0206ECE0 + bl FUN_0206ECE0 cmp r0, #0x0 beq _0206ED32 mov r0, #0x1 @@ -206718,15 +206718,15 @@ _0206ED32: pop {r3, pc} .balign 4 - thumb_func_start sub_0206ED38 -sub_0206ED38: ; 0x0206ED38 + thumb_func_start FUN_0206ED38 +FUN_0206ED38: ; 0x0206ED38 push {r4-r7, lr} sub sp, #0xc add r7, r0, #0x0 add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_0206ECE0 + bl FUN_0206ECE0 str r0, [sp, #0x8] cmp r0, #0x0 bne _0206ED54 @@ -206744,20 +206744,20 @@ _0206ED54: add r0, r7, #0x0 add r1, r5, #0x0 str r6, [sp, #0x0] - bl sub_0206EBD4 + bl FUN_0206EBD4 sub r0, r0, #0x3 cmp r0, #0x1 bhi _0206ED7A ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] - bl sub_0206EF94 + bl FUN_0206EF94 _0206ED7A: mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0206ED80 -sub_0206ED80: ; 0x0206ED80 + thumb_func_start FUN_0206ED80 +FUN_0206ED80: ; 0x0206ED80 push {r3-r6} mov r5, #0x0 cmp r1, #0x0 @@ -206787,8 +206787,8 @@ _0206EDAA: bx lr .balign 4 - thumb_func_start sub_0206EDB0 -sub_0206EDB0: ; 0x0206EDB0 + thumb_func_start FUN_0206EDB0 +FUN_0206EDB0: ; 0x0206EDB0 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 @@ -206796,25 +206796,25 @@ sub_0206EDB0: ; 0x0206EDB0 add r2, sp, #0x8 add r3, sp, #0x4 add r5, r1, #0x0 - bl sub_0206EBD4 + bl FUN_0206EBD4 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] add r2, r5, #0x0 add r3, r4, #0x0 - bl sub_0206ED80 + bl FUN_0206ED80 add sp, #0xc pop {r4-r5, pc} .balign 4 - thumb_func_start sub_0206EDD4 -sub_0206EDD4: ; 0x0206EDD4 + thumb_func_start FUN_0206EDD4 +FUN_0206EDD4: ; 0x0206EDD4 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_0206EDB0 + bl FUN_0206EDB0 str r0, [sp, #0x8] cmp r0, #0x0 bne _0206EDF0 @@ -206837,22 +206837,22 @@ _0206EE02: add r1, r7, #0x0 add r2, sp, #0x8 add r3, sp, #0x4 - bl sub_0206EBD4 + bl FUN_0206EBD4 ldr r0, [sp, #0x8] ldr r1, [sp, #0x4] - bl sub_0206EF48 + bl FUN_0206EF48 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206EE20 -sub_0206EE20: ; 0x0206EE20 + thumb_func_start FUN_0206EE20 +FUN_0206EE20: ; 0x0206EE20 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r3, #0x0 - bl sub_0206ED80 + bl FUN_0206ED80 cmp r0, #0x0 bne _0206EE34 mov r0, #0x0 @@ -206869,14 +206869,14 @@ _0206EE34: _0206EE44: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_0206EF48 + bl FUN_0206EF48 mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0206EE50 -sub_0206EE50: ; 0x0206EE50 + thumb_func_start FUN_0206EE50 +FUN_0206EE50: ; 0x0206EE50 push {r3, lr} - bl sub_0206EDB0 + bl FUN_0206EDB0 cmp r0, #0x0 beq _0206EE5E mov r0, #0x1 @@ -206886,8 +206886,8 @@ _0206EE5E: pop {r3, pc} .balign 4 - thumb_func_start sub_0206EE64 -sub_0206EE64: ; 0x0206EE64 + thumb_func_start FUN_0206EE64 +FUN_0206EE64: ; 0x0206EE64 cmp r1, #0x7 bhi _0206EEC4 add r1, r1, r1 @@ -206940,12 +206940,12 @@ _0206EEE4: .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 - thumb_func_start sub_0206EEF8 -sub_0206EEF8: ; 0x0206EEF8 + thumb_func_start FUN_0206EEF8 +FUN_0206EEF8: ; 0x0206EEF8 push {r3, lr} add r3, r2, #0x0 mov r2, #0x1 - bl sub_0206EDB0 + bl FUN_0206EDB0 cmp r0, #0x0 bne _0206EF0A mov r0, #0x0 @@ -206955,11 +206955,11 @@ _0206EF0A: pop {r3, pc} .balign 4 - thumb_func_start sub_0206EF10 -sub_0206EF10: ; 0x0206EF10 + thumb_func_start FUN_0206EF10 +FUN_0206EF10: ; 0x0206EF10 push {r3, lr} mov r3, #0x1 - bl sub_0206ED80 + bl FUN_0206ED80 cmp r0, #0x0 bne _0206EF20 mov r0, #0x0 @@ -206968,8 +206968,8 @@ _0206EF20: ldrh r0, [r0, #0x2] pop {r3, pc} - thumb_func_start sub_0206EF24 -sub_0206EF24: ; 0x0206EF24 + thumb_func_start FUN_0206EF24 +FUN_0206EF24: ; 0x0206EF24 push {r3} sub sp, #0x4 ldrh r3, [r0, #0x0] @@ -206989,8 +206989,8 @@ sub_0206EF24: ; 0x0206EF24 pop {r3} bx lr - thumb_func_start sub_0206EF48 -sub_0206EF48: ; 0x0206EF48 + thumb_func_start FUN_0206EF48 +FUN_0206EF48: ; 0x0206EF48 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -207015,7 +207015,7 @@ _0206EF6A: bne _0206EF78 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0206EF24 + bl FUN_0206EF24 _0206EF78: add r6, r6, #0x1 add r5, r5, #0x4 @@ -207034,8 +207034,8 @@ _0206EF8E: pop {r4-r7, pc} .balign 4 - thumb_func_start sub_0206EF94 -sub_0206EF94: ; 0x0206EF94 + thumb_func_start FUN_0206EF94 +FUN_0206EF94: ; 0x0206EF94 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -207068,7 +207068,7 @@ _0206EFB6: _0206EFCA: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0206EF24 + bl FUN_0206EF24 _0206EFD2: add r6, r6, #0x1 add r5, r5, #0x4 @@ -207086,14 +207086,14 @@ _0206EFE8: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_0206EFEC -sub_0206EFEC: ; 0x0206EFEC + thumb_func_start FUN_0206EFEC +FUN_0206EFEC: ; 0x0206EFEC push {r3-r7, lr} add r5, r0, #0x0 lsl r0, r2, #0x18 add r7, r1, #0x0 lsr r0, r0, #0x18 - bl sub_0206E2F0 + bl FUN_0206E2F0 add r6, r0, #0x0 ldrb r0, [r7, #0x0] mov r4, #0x0 @@ -207124,7 +207124,7 @@ _0206F004: add r1, r5, r1 mov r2, #0x7 lsr r3, r3, #0x18 - bl sub_0206E330 + bl FUN_0206E330 b _0206F0B6 _0206F03A: .byte 0x23, 0x06, 0x30, 0x1C, 0x29, 0x1C @@ -207149,8 +207149,8 @@ _0206F0C4: .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 - thumb_func_start sub_0206F0D8 -sub_0206F0D8: ; 0x0206F0D8 + thumb_func_start FUN_0206F0D8 +FUN_0206F0D8: ; 0x0206F0D8 cmp r1, #0x7 bhi _0206F136 add r1, r1, r1 @@ -207190,29 +207190,29 @@ _0206F144: .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 - thumb_func_start sub_0206F158 -sub_0206F158: ; 0x0206F158 - ldr r3, _0206F160 ; =sub_02022610 + thumb_func_start FUN_0206F158 +FUN_0206F158: ; 0x0206F158 + ldr r3, _0206F160 ; =FUN_02022610 mov r1, #0x3 bx r3 nop -_0206F160: .word sub_02022610 + 1 +_0206F160: .word FUN_02022610 + 1 - thumb_func_start sub_0206F164 -sub_0206F164: ; 0x0206F164 + thumb_func_start FUN_0206F164 +FUN_0206F164: ; 0x0206F164 push {r4, lr} mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x0 add r1, r4, #0x0 mov r2, #0x24 - blx sub_020CE1C8 + blx FUN_020CE1C8 add r0, r4, #0x0 pop {r4, pc} - thumb_func_start sub_0206F17C -sub_0206F17C: ; 0x0206F17C + thumb_func_start FUN_0206F17C +FUN_0206F17C: ; 0x0206F17C push {r3-r4} add r4, r0, r1 ldrb r4, [r4, #0x8] @@ -207222,13 +207222,13 @@ sub_0206F17C: ; 0x0206F17C pop {r3-r4} bx lr - thumb_func_start sub_0206F18C -sub_0206F18C: ; 0x0206F18C + thumb_func_start FUN_0206F18C +FUN_0206F18C: ; 0x0206F18C ldrh r0, [r0, #0x10] bx lr - thumb_func_start sub_0206F190 -sub_0206F190: ; 0x0206F190 + thumb_func_start FUN_0206F190 +FUN_0206F190: ; 0x0206F190 push {r3-r4} add r4, r0, r1 strb r2, [r4, #0x8] @@ -207236,13 +207236,13 @@ sub_0206F190: ; 0x0206F190 pop {r3-r4} bx lr - thumb_func_start sub_0206F19C -sub_0206F19C: ; 0x0206F19C + thumb_func_start FUN_0206F19C +FUN_0206F19C: ; 0x0206F19C strh r1, [r0, #0x10] bx lr - thumb_func_start sub_0206F1A0 -sub_0206F1A0: ; 0x0206F1A0 + thumb_func_start FUN_0206F1A0 +FUN_0206F1A0: ; 0x0206F1A0 add r1, r0, r1 ldrb r0, [r1, #0x19] strb r0, [r2, #0x0] @@ -207250,30 +207250,30 @@ sub_0206F1A0: ; 0x0206F1A0 strb r0, [r3, #0x0] bx lr - thumb_func_start sub_0206F1AC -sub_0206F1AC: ; 0x0206F1AC + thumb_func_start FUN_0206F1AC +FUN_0206F1AC: ; 0x0206F1AC ldrh r0, [r0, #0x1e] bx lr - thumb_func_start sub_0206F1B0 -sub_0206F1B0: ; 0x0206F1B0 + thumb_func_start FUN_0206F1B0 +FUN_0206F1B0: ; 0x0206F1B0 ldrh r0, [r0, #0x20] bx lr - thumb_func_start sub_0206F1B4 -sub_0206F1B4: ; 0x0206F1B4 + thumb_func_start FUN_0206F1B4 +FUN_0206F1B4: ; 0x0206F1B4 ldrh r0, [r0, #0x22] bx lr - thumb_func_start sub_0206F1B8 -sub_0206F1B8: ; 0x0206F1B8 + thumb_func_start FUN_0206F1B8 +FUN_0206F1B8: ; 0x0206F1B8 add r0, r0, r1 strb r2, [r0, #0x19] strb r3, [r0, #0x14] bx lr - thumb_func_start sub_0206F1C0 -sub_0206F1C0: ; 0x0206F1C0 + thumb_func_start FUN_0206F1C0 +FUN_0206F1C0: ; 0x0206F1C0 push {r4-r6, lr} mov r4, #0x0 add r5, r0, #0x0 @@ -207283,35 +207283,35 @@ _0206F1C8: add r1, r4, #0x0 add r2, r6, #0x0 add r3, r6, #0x0 - bl sub_0206F1B8 + bl FUN_0206F1B8 add r4, r4, #0x1 cmp r4, #0x5 blo _0206F1C8 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0206F1EC + bl FUN_0206F1EC pop {r4-r6, pc} - thumb_func_start sub_0206F1E4 -sub_0206F1E4: ; 0x0206F1E4 + thumb_func_start FUN_0206F1E4 +FUN_0206F1E4: ; 0x0206F1E4 strh r1, [r0, #0x1e] strh r2, [r0, #0x20] bx lr .balign 4 - thumb_func_start sub_0206F1EC -sub_0206F1EC: ; 0x0206F1EC + thumb_func_start FUN_0206F1EC +FUN_0206F1EC: ; 0x0206F1EC strh r1, [r0, #0x22] bx lr - thumb_func_start sub_0206F1F0 -sub_0206F1F0: ; 0x0206F1F0 + thumb_func_start FUN_0206F1F0 +FUN_0206F1F0: ; 0x0206F1F0 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xb @@ -207347,7 +207347,7 @@ _0206F20A: cmp r0, #0x1 bne _0206F24C ldr r0, [r5, #0xc] - bl sub_0203384C + bl FUN_0203384C cmp r0, #0x0 bne _0206F24E _0206F24C: @@ -207388,72 +207388,72 @@ _0206F380: _0206F384: .byte 0x3C, 0x94, 0x0F, 0x02, 0x00, 0x01, 0x04, 0x00 - thumb_func_start sub_0206F38C -sub_0206F38C: ; 0x0206F38C + thumb_func_start FUN_0206F38C +FUN_0206F38C: ; 0x0206F38C push {r4, lr} mov r0, #0xb mov r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x10 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0xb mov r1, #0xc - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0xc str r0, [r4, #0x0] - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_0206F3B8 -sub_0206F3B8: ; 0x0206F3B8 + thumb_func_start FUN_0206F3B8 +FUN_0206F3B8: ; 0x0206F3B8 push {r4, lr} add r4, r0, #0x0 - bl sub_0206F38C + bl FUN_0206F38C add r2, r0, #0x0 ldr r0, [r2, #0x0] mov r1, #0x2 str r1, [r0, #0x4] - ldr r1, _0206F3D4 ; =sub_0206F1F0 + ldr r1, _0206F3D4 ; =FUN_0206F1F0 add r0, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4, pc} nop -_0206F3D4: .word sub_0206F1F0 + 1 +_0206F3D4: .word FUN_0206F1F0 + 1 - thumb_func_start sub_0206F3D8 -sub_0206F3D8: ; 0x0206F3D8 + thumb_func_start FUN_0206F3D8 +FUN_0206F3D8: ; 0x0206F3D8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0206F38C + bl FUN_0206F38C add r2, r0, #0x0 ldr r0, [r2, #0x0] mov r1, #0x1 str r1, [r0, #0x4] - ldr r1, _0206F3F8 ; =sub_0206F1F0 + ldr r1, _0206F3F8 ; =FUN_0206F1F0 add r0, r5, #0x0 str r4, [r2, #0x8] - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_0206F3F8: .word sub_0206F1F0 + 1 +_0206F3F8: .word FUN_0206F1F0 + 1 - thumb_func_start sub_0206F3FC -sub_0206F3FC: ; 0x0206F3FC + thumb_func_start FUN_0206F3FC +FUN_0206F3FC: ; 0x0206F3FC push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 - bl sub_02015F1C - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F10 + bl FUN_02015F1C + bl FUN_0201E6D8 + bl FUN_0201E740 mov r0, #0x1 lsl r0, r0, #0x1a ldr r2, [r0, #0x0] @@ -207471,14 +207471,14 @@ sub_0206F3FC: ; 0x0206F3FC strh r1, [r3, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C mov r2, #0x2 mov r0, #0x3 mov r1, #0xc lsl r2, r2, #0x10 - bl sub_0201681C + bl FUN_0201681C add r0, r4, #0x0 - bl sub_0206FE74 + bl FUN_0206FE74 add r4, r0, #0x0 mov r0, #0x6 str r0, [sp, #0x0] @@ -207489,36 +207489,36 @@ sub_0206F3FC: ; 0x0206F3FC mov r1, #0x3 add r2, r1, #0x0 mov r3, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 add r0, r4, #0x0 - bl sub_0206FF74 - bl sub_0206FB80 + bl FUN_0206FF74 + bl FUN_0206FB80 ldr r0, [r4, #0x0] - bl sub_0206FBA0 + bl FUN_0206FBA0 add r0, r4, #0x0 - bl sub_0206FD24 - bl sub_0201CC08 + bl FUN_0206FD24 + bl FUN_0201CC08 mov r0, #0x4 - bl sub_0201CC24 + bl FUN_0201CC24 mov r1, #0x0 mov r0, #0x39 add r2, r1, #0x0 - bl sub_0200433C + bl FUN_0200433C add r0, r4, #0x0 - bl sub_02072590 + bl FUN_02072590 add r0, r4, #0x0 - bl sub_02073710 + bl FUN_02073710 add r0, r4, #0x0 - bl sub_0207388C + bl FUN_0207388C add r0, r4, #0x0 - bl sub_0206FFB4 + bl FUN_0206FFB4 add r0, r4, #0x0 - bl sub_0207047C + bl FUN_0207047C ldr r1, _0206F59C ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] mov r2, #0x1 - bl sub_020713EC + bl FUN_020713EC ldr r1, _0206F5A0 ; =0x000005A4 ldr r3, [r4, r1] add r0, r3, #0x0 @@ -207530,13 +207530,13 @@ sub_0206F3FC: ; 0x0206F3FC bne _0206F4E2 _0206F4CC: ldrh r0, [r3, #0x24] - bl sub_02076144 + bl FUN_02076144 cmp r0, #0x0 bne _0206F564 add r0, r4, #0x0 mov r1, #0x20 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F4E2: cmp r2, #0x6 @@ -207544,7 +207544,7 @@ _0206F4E2: add r0, r4, #0x0 mov r1, #0x21 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F4F2: cmp r2, #0x9 @@ -207555,7 +207555,7 @@ _0206F4FA: add r0, r4, #0x0 mov r1, #0x1f mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F506: cmp r2, #0x7 @@ -207572,7 +207572,7 @@ _0206F51A: ldr r0, _0206F5A4 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 b _0206F564 _0206F526: cmp r2, #0x2 @@ -207583,7 +207583,7 @@ _0206F52E: add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F53A: cmp r2, #0xf @@ -207591,7 +207591,7 @@ _0206F53A: add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F54A: cmp r2, #0xa @@ -207599,30 +207599,30 @@ _0206F54A: add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _0206F564 _0206F55A: add r1, #0x24 ldr r0, [r4, r1] mov r1, #0x1 - bl sub_0200C664 + bl FUN_0200C664 _0206F564: add r0, r4, #0x0 - bl sub_02072720 + bl FUN_02072720 add r0, r4, #0x0 - bl sub_02070AA4 + bl FUN_02070AA4 add r0, r4, #0x0 - bl sub_0207248C + bl FUN_0207248C cmp r0, #0x0 bne _0206F582 mov r0, #0x1 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C _0206F582: - ldr r0, _0206F5A8 ; =sub_0206FB58 + ldr r0, _0206F5A8 ; =FUN_0206FB58 add r1, r4, #0x0 - bl sub_02015F10 - bl sub_02033F20 + bl FUN_02015F10 + bl FUN_02033F20 mov r0, #0x1 add sp, #0xc pop {r3-r4, pc} @@ -207632,13 +207632,13 @@ _0206F598: .word 0x04001000 _0206F59C: .word 0x00000B25 _0206F5A0: .word 0x000005A4 _0206F5A4: .word 0x000005C8 -_0206F5A8: .word sub_0206FB58 + 1 +_0206F5A8: .word FUN_0206FB58 + 1 - thumb_func_start sub_0206F5AC -sub_0206F5AC: ; 0x0206F5AC + thumb_func_start FUN_0206F5AC +FUN_0206F5AC: ; 0x0206F5AC push {r3-r5, lr} add r4, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r4, #0x0] add r5, r0, #0x0 cmp r1, #0x1c @@ -207678,7 +207678,7 @@ sub_0206F5AC: ; 0x0206F5AC lsl r2, r5, #0x4 lsl r2, r6, #0x4 lsl r0, r0, #0x5 - bl sub_0206F750 + bl FUN_0206F750 str r0, [r4, #0x0] b _0206F722 _0206F60A: @@ -207707,25 +207707,25 @@ _0206F61E: .byte 0x38, 0xBD _0206F722: add r0, r5, #0x0 - bl sub_02073BEC + bl FUN_02073BEC add r0, r5, #0x0 - bl sub_02073D6C + bl FUN_02073D6C add r0, r5, #0x0 - bl sub_02070F14 + bl FUN_02070F14 ldr r0, _0206F74C ; =0x000005AC ldr r0, [r5, r0] - bl sub_0200BC1C + bl FUN_0200BC1C mov r0, #0x0 pop {r3-r5, pc} _0206F740: .byte 0x14, 0x0B, 0x00, 0x00, 0x25, 0x0B, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 _0206F74C: .word 0x000005AC - thumb_func_start sub_0206F750 -sub_0206F750: ; 0x0206F750 + thumb_func_start FUN_0206F750 +FUN_0206F750: ; 0x0206F750 push {r4, lr} add r4, r0, #0x0 - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _0206F7CA ldr r0, _0206F7D0 ; =0x000005A4 @@ -207739,7 +207739,7 @@ sub_0206F750: ; 0x0206F750 bne _0206F786 _0206F76E: ldrh r0, [r2, #0x24] - bl sub_02076144 + bl FUN_02076144 cmp r0, #0x1 bne _0206F782 ldr r0, _0206F7D4 ; =0x00000B22 @@ -207759,13 +207759,13 @@ _0206F78E: cmp r1, #0x7 bne _0206F79A add r0, r4, #0x0 - bl sub_02076C94 + bl FUN_02076C94 pop {r4, pc} _0206F79A: cmp r1, #0x8 bne _0206F7A6 add r0, r4, #0x0 - bl sub_02076890 + bl FUN_02076890 pop {r4, pc} _0206F7A6: add r0, r1, #0x0 @@ -207796,11 +207796,11 @@ _0206F7CA: _0206F7D0: .word 0x000005A4 _0206F7D4: .word 0x00000B22 - thumb_func_start sub_0206F7D8 -sub_0206F7D8: ; 0x0206F7D8 + thumb_func_start FUN_0206F7D8 +FUN_0206F7D8: ; 0x0206F7D8 push {r4, lr} add r4, r0, #0x0 - bl sub_02070F94 + bl FUN_02070F94 cmp r0, #0x0 bne _0206F81E ldr r0, _0206F870 ; =0x000005A4 @@ -207822,14 +207822,14 @@ _0206F800: cmp r0, #0xe bne _0206F80E add r0, r4, #0x0 - bl sub_02077248 + bl FUN_02077248 mov r0, #0x14 pop {r4, pc} _0206F80E: cmp r0, #0x13 bne _0206F81A add r0, r4, #0x0 - bl sub_02072420 + bl FUN_02072420 pop {r4, pc} _0206F81A: mov r0, #0x2 @@ -207838,7 +207838,7 @@ _0206F81E: cmp r0, #0x4 bne _0206F82A add r0, r4, #0x0 - bl sub_0207155C + bl FUN_0207155C pop {r4, pc} _0206F82A: cmp r0, #0x3 @@ -207869,9 +207869,9 @@ _0206F858: add r0, #0x24 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200C664 + bl FUN_0200C664 add r0, r4, #0x0 - bl sub_02075118 + bl FUN_02075118 pop {r4, pc} _0206F86A: mov r0, #0x1 @@ -207879,11 +207879,11 @@ _0206F86A: nop _0206F870: .word 0x000005A4 - thumb_func_start sub_0206F874 -sub_0206F874: ; 0x0206F874 + thumb_func_start FUN_0206F874 +FUN_0206F874: ; 0x0206F874 push {r4, lr} add r4, r0, #0x0 - bl sub_02071D48 + bl FUN_02071D48 cmp r0, #0x0 beq _0206F884 cmp r0, #0x2 @@ -207892,9 +207892,9 @@ _0206F884: ldr r0, _0206F8AC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 add r0, r4, #0x0 - bl sub_02071DF4 + bl FUN_02071DF4 pop {r4, pc} _0206F896: cmp r0, #0x3 @@ -207913,11 +207913,11 @@ _0206F8A8: _0206F8AC: .word 0x000005C8 _0206F8B0: .word 0x000005A4 - thumb_func_start sub_0206F8B4 -sub_0206F8B4: ; 0x0206F8B4 + thumb_func_start FUN_0206F8B4 +FUN_0206F8B4: ; 0x0206F8B4 push {r4, lr} add r4, r0, #0x0 - bl sub_02071D48 + bl FUN_02071D48 cmp r0, #0x0 beq _0206F8C4 cmp r0, #0x2 @@ -207926,9 +207926,9 @@ _0206F8C4: ldr r0, _0206F8EC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 add r0, r4, #0x0 - bl sub_02071F58 + bl FUN_02071F58 pop {r4, pc} _0206F8D6: cmp r0, #0x3 @@ -207947,14 +207947,14 @@ _0206F8E8: _0206F8EC: .word 0x000005C8 _0206F8F0: .word 0x000005A4 - thumb_func_start sub_0206F8F4 -sub_0206F8F4: ; 0x0206F8F4 + thumb_func_start FUN_0206F8F4 +FUN_0206F8F4: ; 0x0206F8F4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, _0206F974 ; =0x000006FC ldr r0, [r4, r0] - bl sub_02001C78 + bl FUN_02001C78 add r2, r0, #0x0 mov r0, #0x1 mvn r0, r0 @@ -207969,31 +207969,31 @@ _0206F914: lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C ldr r0, _0206F974 ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _0206F978 ; =0x000006F8 ldr r0, [r4, r0] - bl sub_02012870 + bl FUN_02012870 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _0206F97C ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 add sp, #0x4 mov r0, #0x1 pop {r3-r4, pc} @@ -208013,13 +208013,13 @@ _0206F974: .word 0x000006FC _0206F978: .word 0x000006F8 _0206F97C: .word 0x000005C8 - thumb_func_start sub_0206F980 -sub_0206F980: ; 0x0206F980 + thumb_func_start FUN_0206F980 +FUN_0206F980: ; 0x0206F980 push {r4, lr} add r4, r0, #0x0 ldr r0, _0206F99C ; =0x00000B24 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _0206F996 ldr r0, _0206F9A0 ; =0x00000B22 @@ -208032,8 +208032,8 @@ _0206F996: _0206F99C: .word 0x00000B24 _0206F9A0: .word 0x00000B22 - thumb_func_start sub_0206F9A4 -sub_0206F9A4: ; 0x0206F9A4 + thumb_func_start FUN_0206F9A4 +FUN_0206F9A4: ; 0x0206F9A4 push {r3, lr} ldr r0, _0206F9C0 ; =0x021C48B8 ldr r1, [r0, #0x48] @@ -208041,7 +208041,7 @@ sub_0206F9A4: ; 0x0206F9A4 tst r0, r1 beq _0206F9BA ldr r0, _0206F9C4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x1b pop {r3, pc} _0206F9BA: @@ -208051,22 +208051,22 @@ _0206F9BA: _0206F9C0: .word 0x021C48B8 _0206F9C4: .word 0x000005DC - thumb_func_start sub_0206F9C8 -sub_0206F9C8: ; 0x0206F9C8 + thumb_func_start FUN_0206F9C8 +FUN_0206F9C8: ; 0x0206F9C8 push {r3, lr} - bl sub_020732CC + bl FUN_020732CC mov r0, #0x17 pop {r3, pc} .balign 4 - thumb_func_start sub_0206F9D4 -sub_0206F9D4: ; 0x0206F9D4 + thumb_func_start FUN_0206F9D4 +FUN_0206F9D4: ; 0x0206F9D4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0206FA08 ; =0x000006FC mov r1, #0xc ldr r0, [r4, r0] - bl sub_020021AC + bl FUN_020021AC cmp r0, #0x0 beq _0206F9F0 mov r1, #0x1 @@ -208094,11 +208094,11 @@ _0206FA08: .word 0x000006FC _0206FA0C: .word 0x00000B18 _0206FA10: .word 0x00000B1C - thumb_func_start sub_0206FA14 -sub_0206FA14: ; 0x0206FA14 + thumb_func_start FUN_0206FA14 +FUN_0206FA14: ; 0x0206FA14 push {r4, lr} add r4, r0, #0x0 - bl sub_02071D48 + bl FUN_02071D48 cmp r0, #0x0 beq _0206FA24 cmp r0, #0x2 @@ -208107,7 +208107,7 @@ _0206FA24: ldr r0, _0206FA90 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _0206FA94 ; =0x00000B25 mov r1, #0x2c ldrb r0, [r4, r0] @@ -208120,13 +208120,13 @@ _0206FA24: cmp r0, #0x1 beq _0206FA4C add r0, r4, #0x0 - bl sub_02076AF8 + bl FUN_02076AF8 pop {r4, pc} _0206FA4C: add r0, r4, #0x0 sub r1, #0x2d mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r1, _0206FA98 ; =0x000005A4 mov r2, #0x0 ldr r0, [r4, r1] @@ -208140,7 +208140,7 @@ _0206FA4C: ldr r0, [r4, r1] ldr r2, [r4, r2] mov r1, #0x69 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x14 pop {r4, pc} _0206FA78: @@ -208163,70 +208163,70 @@ _0206FA98: .word 0x000005A4 _0206FA9C: .word 0x00000B22 _0206FAA0: .word 0x000006A4 - thumb_func_start sub_0206FAA4 -sub_0206FAA4: ; 0x0206FAA4 + thumb_func_start FUN_0206FAA4 +FUN_0206FAA4: ; 0x0206FAA4 push {r3-r7, lr} str r0, [sp, #0x0] - bl sub_02006278 + bl FUN_02006278 add r6, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r6, #0x0 - bl sub_02073A2C + bl FUN_02073A2C add r0, r6, #0x0 - bl sub_020726F0 + bl FUN_020726F0 ldr r0, [r6, #0x0] - bl sub_0206FCD4 - bl sub_0201CD04 - bl sub_0201C29C + bl FUN_0206FCD4 + bl FUN_0201CD04 + bl FUN_0201C29C mov r7, #0x7 mov r4, #0x0 add r5, r6, #0x0 lsl r7, r7, #0x8 _0206FAD8: ldr r0, [r5, r7] - bl sub_02021A20 + bl FUN_02021A20 add r4, r4, #0x1 add r5, #0x2c cmp r4, #0x6 blo _0206FAD8 ldr r0, _0206FB40 ; =0x000006A4 ldr r0, [r6, r0] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, _0206FB44 ; =0x000006A8 ldr r0, [r6, r0] - bl sub_02021A20 + bl FUN_02021A20 ldr r7, _0206FB48 ; =0x000006AC mov r5, #0x0 add r4, r6, #0x0 _0206FAFC: ldr r0, [r4, r7] - bl sub_02021A20 + bl FUN_02021A20 add r5, r5, #0x1 add r4, r4, #0x4 cmp r5, #0x13 blo _0206FAFC ldr r0, _0206FB4C ; =0x0000069C ldr r0, [r6, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, _0206FB50 ; =0x00000698 ldr r0, [r6, r0] - bl sub_0200B990 + bl FUN_0200B990 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r6, r0] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, _0206FB54 ; =0x00000B34 ldr r0, [r6, r0] cmp r0, #0x0 beq _0206FB30 - bl sub_0206BB74 + bl FUN_0206BB74 _0206FB30: ldr r0, [sp, #0x0] - bl sub_0200627C + bl FUN_0200627C mov r0, #0xc - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r3-r7, pc} .balign 4 @@ -208237,13 +208237,13 @@ _0206FB4C: .word 0x0000069C _0206FB50: .word 0x00000698 _0206FB54: .word 0x00000B34 - thumb_func_start sub_0206FB58 -sub_0206FB58: ; 0x0206FB58 + thumb_func_start FUN_0206FB58 +FUN_0206FB58: ; 0x0206FB58 push {r3, lr} ldr r0, [r0, #0x0] - bl sub_0201AB60 - bl sub_0201C30C - bl sub_0200BC30 + bl FUN_0201AB60 + bl FUN_0201C30C + bl FUN_0200BC30 ldr r3, _0206FB78 ; =0x027E0000 ldr r1, _0206FB7C ; =0x00003FF8 mov r0, #0x1 @@ -208255,8 +208255,8 @@ sub_0206FB58: ; 0x0206FB58 _0206FB78: .word 0x027E0000 _0206FB7C: .word 0x00003FF8 - thumb_func_start sub_0206FB80 -sub_0206FB80: ; 0x0206FB80 + thumb_func_start FUN_0206FB80 +FUN_0206FB80: ; 0x0206FB80 push {r4, lr} sub sp, #0x28 ldr r4, _0206FB9C ; =0x020F9564 @@ -208268,14 +208268,14 @@ _0206FB8A: sub r2, r2, #0x1 bne _0206FB8A add r0, sp, #0x0 - bl sub_0201E66C + bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _0206FB9C: .word 0x020F9564 - thumb_func_start sub_0206FBA0 -sub_0206FBA0: ; 0x0206FBA0 + thumb_func_start FUN_0206FBA0 +FUN_0206FBA0: ; 0x0206FBA0 push {r3-r5, lr} sub sp, #0xb8 ldr r5, _0206FCB8 ; =0x020F9458 @@ -208287,7 +208287,7 @@ sub_0206FBA0: ; 0x0206FBA0 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _0206FCBC ; =0x020F94D4 add r3, sp, #0x8c ldmia r5!, {r0-r1} @@ -208302,10 +208302,10 @@ sub_0206FBA0: ; 0x0206FBA0 str r0, [r3, #0x0] add r0, r4, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0206FCC0 ; =0x020F94F0 add r3, sp, #0x70 ldmia r5!, {r0-r1} @@ -208320,10 +208320,10 @@ sub_0206FBA0: ; 0x0206FBA0 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0206FCC4 ; =0x020F949C add r3, sp, #0x54 ldmia r5!, {r0-r1} @@ -208338,10 +208338,10 @@ sub_0206FBA0: ; 0x0206FBA0 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0206FCC8 ; =0x020F9480 add r3, sp, #0x38 ldmia r5!, {r0-r1} @@ -208356,7 +208356,7 @@ sub_0206FBA0: ; 0x0206FBA0 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r5, _0206FCCC ; =0x020F950C add r3, sp, #0x1c ldmia r5!, {r0-r1} @@ -208371,10 +208371,10 @@ sub_0206FBA0: ; 0x0206FBA0 add r0, r4, #0x0 mov r1, #0x4 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0206FCD0 ; =0x020F9528 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -208389,17 +208389,17 @@ sub_0206FBA0: ; 0x0206FBA0 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 mov r3, #0xc - bl sub_02017F18 + bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0xc - bl sub_02017F18 + bl FUN_02017F18 add sp, #0xb8 pop {r3-r5, pc} nop @@ -208411,42 +208411,42 @@ _0206FCC8: .word 0x020F9480 _0206FCCC: .word 0x020F950C _0206FCD0: .word 0x020F9528 - thumb_func_start sub_0206FCD4 -sub_0206FCD4: ; 0x0206FCD4 + thumb_func_start FUN_0206FCD4 +FUN_0206FCD4: ; 0x0206FCD4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x1f mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x13 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C add r0, r4, #0x0 mov r1, #0x5 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020178A0 + bl FUN_020178A0 mov r0, #0xc add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4, pc} .balign 4 - thumb_func_start sub_0206FD24 -sub_0206FD24: ; 0x0206FD24 + thumb_func_start FUN_0206FD24 +FUN_0206FD24: ; 0x0206FD24 push {r4-r5, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -208460,7 +208460,7 @@ sub_0206FD24: ; 0x0206FD24 mov r0, #0x14 mov r1, #0xf mov r3, #0x3 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -208471,14 +208471,14 @@ sub_0206FD24: ; 0x0206FD24 mov r0, #0x14 mov r1, #0x11 mov r3, #0x3 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x14 mov r1, #0x10 mov r2, #0xc - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0x10 add r4, r0, #0x0 - blx sub_020B0138 + blx FUN_020B0138 ldr r2, [sp, #0x10] mov r0, #0x3 ldr r1, [r2, #0xc] @@ -208486,7 +208486,7 @@ sub_0206FD24: ; 0x0206FD24 mov r3, #0x0 lsl r2, r2, #0x10 lsr r2, r2, #0x10 - bl sub_02017FB4 + bl FUN_02017FB4 ldr r1, [sp, #0x10] ldr r0, _0206FE6C ; =0x000004A4 ldr r1, [r1, #0xc] @@ -208494,15 +208494,15 @@ sub_0206FD24: ; 0x0206FD24 add r0, r5, r0 add r1, #0x60 lsl r2, r2, #0x8 - blx sub_020DF438 + blx FUN_020DF438 mov r0, #0xc add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C mov r1, #0x1a mov r0, #0x0 lsl r1, r1, #0x4 mov r2, #0xc - bl sub_02002EEC + bl FUN_02002EEC mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xc @@ -208510,11 +208510,11 @@ sub_0206FD24: ; 0x0206FD24 ldr r0, [r5, #0x0] mov r2, #0x1 mov r3, #0xe - bl sub_0200CB00 + bl FUN_0200CB00 ldr r0, _0206FE70 ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0xc] - bl sub_02025084 + bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -208524,7 +208524,7 @@ sub_0206FD24: ; 0x0206FD24 mov r1, #0x0 mov r2, #0xa mov r3, #0xf - bl sub_0200CD68 + bl FUN_0200CD68 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -208535,7 +208535,7 @@ sub_0206FD24: ; 0x0206FD24 mov r0, #0x14 mov r1, #0x3 mov r3, #0x4 - bl sub_0200687C + bl FUN_0200687C mov r3, #0x20 mov r1, #0x4 str r3, [sp, #0x0] @@ -208543,7 +208543,7 @@ sub_0206FD24: ; 0x0206FD24 str r0, [sp, #0x4] mov r0, #0x14 add r2, r1, #0x0 - bl sub_02006930 + bl FUN_02006930 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -208553,7 +208553,7 @@ sub_0206FD24: ; 0x0206FD24 ldr r2, [r5, #0x0] mov r0, #0x14 mov r3, #0x5 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -208564,7 +208564,7 @@ sub_0206FD24: ; 0x0206FD24 mov r0, #0x14 mov r1, #0xe mov r3, #0x5 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0xc @@ -208573,7 +208573,7 @@ sub_0206FD24: ; 0x0206FD24 mov r1, #0xd mov r2, #0x4 mov r3, #0x0 - bl sub_02006930 + bl FUN_02006930 mov r2, #0x99 lsl r2, r2, #0x2 mov r3, #0xf9 @@ -208583,36 +208583,36 @@ sub_0206FD24: ; 0x0206FD24 mov r0, #0xc add r2, r5, r2 add r3, r5, r3 - bl sub_020724D4 + bl FUN_020724D4 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x4 mov r1, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 add sp, #0x14 pop {r4-r5, pc} .balign 4 _0206FE6C: .word 0x000004A4 _0206FE70: .word 0x000005A4 - thumb_func_start sub_0206FE74 -sub_0206FE74: ; 0x0206FE74 + thumb_func_start FUN_0206FE74 +FUN_0206FE74: ; 0x0206FE74 push {r3-r7, lr} ldr r1, _0206FF50 ; =0x00000B38 mov r2, #0xc add r4, r0, #0x0 - bl sub_02006268 + bl FUN_02006268 ldr r2, _0206FF50 ; =0x00000B38 mov r1, #0x0 add r6, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r1, _0206FF54 ; =0x000005A4 str r0, [r6, r1] mov r0, #0xc - bl sub_02016B94 + bl FUN_02016B94 str r0, [r6, #0x0] ldr r0, _0206FF54 ; =0x000005A4 ldr r1, [r6, r0] @@ -208625,7 +208625,7 @@ sub_0206FE74: ; 0x0206FE74 cmp r0, #0x0 beq _0206FEBC mov r0, #0xc - bl sub_0206BB5C + bl FUN_0206BB5C ldr r1, _0206FF58 ; =0x00000B34 str r0, [r6, r1] b _0206FEC2 @@ -208638,18 +208638,18 @@ _0206FEC2: mov r0, #0x0 mov r1, #0x1a mov r3, #0xc - bl sub_0200A86C + bl FUN_0200A86C ldr r1, _0206FF60 ; =0x0000069C mov r2, #0x0 str r0, [r6, r1] mov r0, #0xf mov r1, #0xe mov r3, #0xc - bl sub_0200B870 + bl FUN_0200B870 ldr r1, _0206FF64 ; =0x00000698 str r0, [r6, r1] mov r0, #0xc - bl sub_0200AA80 + bl FUN_0200AA80 mov r1, #0x6a lsl r1, r1, #0x4 add r7, r1, #0x0 @@ -208660,7 +208660,7 @@ _0206FEC2: _0206FEF6: mov r0, #0xb mov r1, #0xc - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, r7] add r4, r4, #0x1 add r5, #0x2c @@ -208669,13 +208669,13 @@ _0206FEF6: mov r0, #0x1 lsl r0, r0, #0x8 mov r1, #0xc - bl sub_020219F4 + bl FUN_020219F4 ldr r1, _0206FF68 ; =0x000006A4 str r0, [r6, r1] mov r0, #0x1 lsl r0, r0, #0x8 mov r1, #0xc - bl sub_020219F4 + bl FUN_020219F4 ldr r1, _0206FF6C ; =0x000006A8 mov r5, #0x0 str r0, [r6, r1] @@ -208684,7 +208684,7 @@ _0206FEF6: _0206FF2A: mov r0, #0x20 mov r1, #0xc - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, r7] add r5, r5, #0x1 add r4, r4, #0x4 @@ -208711,8 +208711,8 @@ _0206FF68: .word 0x000006A4 _0206FF6C: .word 0x000006A8 _0206FF70: .word 0x00000B25 - thumb_func_start sub_0206FF74 -sub_0206FF74: ; 0x0206FF74 + thumb_func_start FUN_0206FF74 +FUN_0206FF74: ; 0x0206FF74 push {r3-r4} ldr r2, _0206FFAC ; =0x000005A4 mov r3, #0x80 @@ -208746,8 +208746,8 @@ _0206FF9E: _0206FFAC: .word 0x000005A4 _0206FFB0: .word 0x00000B23 - thumb_func_start sub_0206FFB4 -sub_0206FFB4: ; 0x0206FFB4 + thumb_func_start FUN_0206FFB4 +FUN_0206FFB4: ; 0x0206FFB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02070064 ; =0x000005A4 @@ -208790,17 +208790,17 @@ _0206FFEA: add r0, #0x2c ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02070078 ; =0x000005D4 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02070078 ; =0x000005D4 add r1, sp, #0x0 ldr r0, [r5, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_0200C75C + bl FUN_0200C75C ldr r0, _02070078 ; =0x000005D4 add r3, sp, #0x0 mov r2, #0x0 @@ -208811,7 +208811,7 @@ _0206FFEA: lsl r2, r2, #0x10 ldr r0, [r5, r0] asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0x1 eor r0, r4 lsl r0, r0, #0x18 @@ -208826,7 +208826,7 @@ _0207003C: add r0, #0x30 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x2 eor r0, r4 lsl r0, r0, #0x18 @@ -208834,7 +208834,7 @@ _0207003C: _0207005A: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073094 + bl FUN_02073094 pop {r3-r5, pc} .balign 4 _02070064: .word 0x000005A4 @@ -208844,8 +208844,8 @@ _02070070: .word 0x020F960C _02070074: .word 0x020F958C _02070078: .word 0x000005D4 - thumb_func_start sub_0207007C -sub_0207007C: ; 0x0207007C + thumb_func_start FUN_0207007C +FUN_0207007C: ; 0x0207007C mov r2, #0x2c mul r2, r1 add r1, r0, r2 @@ -208855,8 +208855,8 @@ sub_0207007C: ; 0x0207007C .balign 4 _02070088: .word 0x00000729 - thumb_func_start sub_0207008C -sub_0207008C: ; 0x0207008C + thumb_func_start FUN_0207008C +FUN_0207008C: ; 0x0207008C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x0] @@ -208873,7 +208873,7 @@ sub_0207008C: ; 0x0207008C ldr r0, _020701DC ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC ldr r1, [sp, #0x0] cmp r0, r1 bgt _020700BC @@ -208884,11 +208884,11 @@ _020700BC: ldr r0, _020701DC ; =0x000005A4 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r7, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0x4] @@ -208900,7 +208900,7 @@ _020700DE: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02072A00 + bl FUN_02072A00 ldr r0, [sp, #0x0] mov r1, #0x2c add r6, r0, #0x0 @@ -208912,42 +208912,42 @@ _020700DE: add r0, r7, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701E4 ; =0x00000706 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701E8 ; =0x00000708 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701EC ; =0x0000070A add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701F0 ; =0x0000070C add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xa1 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701F4 ; =0x00000712 add r2, r5, r6 strh r0, [r2, r1] add r0, r7, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x71 add r2, r5, r6 lsl r1, r1, #0x4 @@ -208955,14 +208955,14 @@ _020700DE: add r0, r7, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020701F8 ; =0x00000711 add r2, r5, r6 strb r0, [r2, r1] add r0, r7, #0x0 mov r1, #0xaf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 ldr r0, _020701FC ; =0x0000070E bne _02070184 @@ -208982,7 +208982,7 @@ _0207018E: ldr r0, _020701FC ; =0x0000070E add r6, r5, r0 add r0, r7, #0x0 - bl sub_020689E0 + bl FUN_020689E0 lsl r0, r0, #0x1e ldrh r2, [r6, r4] ldr r1, _02070204 ; =0xFFFF9FFF @@ -208994,7 +208994,7 @@ _0207018E: mov r1, #0x1 strb r1, [r0, r4] add r0, r7, #0x0 - bl sub_0207C2D4 + bl FUN_0207C2D4 lsl r0, r0, #0x18 ldrh r1, [r6, r4] ldr r2, _02070208 ; =0xFFFFF000 @@ -209007,7 +209007,7 @@ _0207018E: ldr r2, [sp, #0x0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_0207020C + bl FUN_0207020C mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} @@ -209026,8 +209026,8 @@ _02070200: .word 0xFFFFEFFF _02070204: .word 0xFFFF9FFF _02070208: .word 0xFFFFF000 - thumb_func_start sub_0207020C -sub_0207020C: ; 0x0207020C + thumb_func_start FUN_0207020C +FUN_0207020C: ; 0x0207020C push {r3-r7, lr} add r7, r0, #0x0 ldr r0, _0207029C ; =0x000005A4 @@ -209063,7 +209063,7 @@ _02070248: add r1, #0x2a ldrb r1, [r1, #0x0] add r0, r5, #0x0 - bl sub_020702A8 + bl FUN_020702A8 str r0, [sp, #0x0] mov r4, #0x0 _02070256: @@ -209071,7 +209071,7 @@ _02070256: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207026C add r4, r4, #0x1 @@ -209109,8 +209109,8 @@ _0207029C: .word 0x000005A4 _020702A0: .word 0x0000070E _020702A4: .word 0xFFFF7FFF - thumb_func_start sub_020702A8 -sub_020702A8: ; 0x020702A8 + thumb_func_start FUN_020702A8 +FUN_020702A8: ; 0x020702A8 push {r3-r5, lr} add r5, r0, #0x0 cmp r1, #0x4 @@ -209130,22 +209130,22 @@ _020702B2: lsl r0, r1, #0x3 mov r1, #0x7a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r4, r0 add r0, r5, #0x0 mov r1, #0x7d mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r4, r0 b _020703B6 _020702F8: @@ -209167,15 +209167,15 @@ _020703B6: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020703BC -sub_020703BC: ; 0x020703BC + thumb_func_start FUN_020703BC +FUN_020703BC: ; 0x020703BC mov r1, #0x39 lsl r1, r1, #0x4 add r0, r0, r1 bx lr - thumb_func_start sub_020703C4 -sub_020703C4: ; 0x020703C4 + thumb_func_start FUN_020703C4 +FUN_020703C4: ; 0x020703C4 push {r4-r7, lr} sub sp, #0x1c add r4, r1, #0x0 @@ -209223,7 +209223,7 @@ _020703F2: mov r1, #0x2 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_02018170 + bl FUN_02018170 add r0, sp, #0x20 ldrb r0, [r0, #0x10] cmp r0, #0x0 @@ -209244,7 +209244,7 @@ _020703F2: mov r1, #0x2 mov r2, #0x17 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 _0207044C: mov r0, #0x10 str r0, [sp, #0x0] @@ -209258,18 +209258,18 @@ _0207044C: mov r1, #0x2 add r2, r6, #0x0 add r3, r7, #0x0 - bl sub_020186B4 + bl FUN_020186B4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020709FC + bl FUN_020709FC add sp, #0x1c pop {r4-r7, pc} .balign 4 _02070474: .word 0x000005A4 _02070478: .word 0x00000714 - thumb_func_start sub_0207047C -sub_0207047C: ; 0x0207047C + thumb_func_start FUN_0207047C +FUN_0207047C: ; 0x0207047C push {r4, lr} add r4, r0, #0x0 ldr r0, _020704E4 ; =0x000005A4 @@ -209289,19 +209289,19 @@ _02070494: cmp r0, #0x10 bne _020704A4 add r0, r4, #0x0 - bl sub_02070600 + bl FUN_02070600 b _020704D2 _020704A4: cmp r0, #0x6 bne _020704B0 add r0, r4, #0x0 - bl sub_020706E0 + bl FUN_020706E0 b _020704D2 _020704B0: cmp r0, #0xd bne _020704BC add r0, r4, #0x0 - bl sub_020707C0 + bl FUN_020707C0 b _020704D2 _020704BC: cmp r0, #0x2 @@ -209310,26 +209310,26 @@ _020704BC: bne _020704CC _020704C4: add r0, r4, #0x0 - bl sub_020708A0 + bl FUN_020708A0 b _020704D2 _020704CC: add r0, r4, #0x0 - bl sub_020704F0 + bl FUN_020704F0 _020704D2: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_0201AC68 + bl FUN_0201AC68 ldr r0, [r4, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4, pc} .balign 4 _020704E4: .word 0x000005A4 _020704E8: .word 0x020F9694 _020704EC: .word 0x020F964C - thumb_func_start sub_020704F0 -sub_020704F0: ; 0x020704F0 + thumb_func_start FUN_020704F0 +FUN_020704F0: ; 0x020704F0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -209338,7 +209338,7 @@ sub_020704F0: ; 0x020704F0 _020704FA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207008C + bl FUN_0207008C cmp r0, #0x1 bne _020705D4 mov r0, #0x2c @@ -209364,7 +209364,7 @@ _020704FA: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 b _0207055A _0207053A: mov r0, #0xc @@ -209381,11 +209381,11 @@ _0207053A: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 _0207055A: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072D1C + bl FUN_02072D1C mov r0, #0xc mul r0, r4 add r7, r6, r0 @@ -209393,31 +209393,31 @@ _0207055A: ldrh r3, [r7, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020737D0 + bl FUN_020737D0 ldrh r2, [r7, #0x8] ldrh r3, [r7, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020739E4 + bl FUN_020739E4 ldr r3, [sp, #0x4] ldr r2, _020705F8 ; =0x0000070C add r0, r5, #0x0 ldrh r2, [r3, r2] add r1, r4, #0x0 - bl sub_02073A78 + bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r7, r2] ldrsh r3, [r7, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073AD8 + bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B0C + bl FUN_02073B0C mov r2, #0x2c mul r2, r4 add r3, r5, r2 @@ -209429,11 +209429,11 @@ _0207055A: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 b _020705EA _020705D4: mov r0, #0xc @@ -209445,7 +209445,7 @@ _020705D4: ldrsh r3, [r7, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02070988 + bl FUN_02070988 _020705EA: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -209458,8 +209458,8 @@ _020705EA: _020705F8: .word 0x0000070C _020705FC: .word 0x0000070E - thumb_func_start sub_02070600 -sub_02070600: ; 0x02070600 + thumb_func_start FUN_02070600 +FUN_02070600: ; 0x02070600 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -209468,7 +209468,7 @@ sub_02070600: ; 0x02070600 _0207060A: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207008C + bl FUN_0207008C cmp r0, #0x1 bne _020706B0 mov r0, #0xc @@ -209487,20 +209487,20 @@ _0207060A: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072E4C + bl FUN_02072E4C ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020737D0 + bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020739E4 + bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 @@ -209509,20 +209509,20 @@ _0207060A: ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073A78 + bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073AD8 + bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B0C + bl FUN_02073B0C ldr r2, _020706DC ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] @@ -209532,11 +209532,11 @@ _0207060A: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 b _020706CA _020706B0: mov r0, #0xc @@ -209550,7 +209550,7 @@ _020706B0: ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02070988 + bl FUN_02070988 _020706CA: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -209563,8 +209563,8 @@ _020706CA: _020706D8: .word 0x0000070C _020706DC: .word 0x0000070E - thumb_func_start sub_020706E0 -sub_020706E0: ; 0x020706E0 + thumb_func_start FUN_020706E0 +FUN_020706E0: ; 0x020706E0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -209573,7 +209573,7 @@ sub_020706E0: ; 0x020706E0 _020706EA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207008C + bl FUN_0207008C cmp r0, #0x1 bne _02070790 mov r0, #0xc @@ -209592,20 +209592,20 @@ _020706EA: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072EE4 + bl FUN_02072EE4 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020737D0 + bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020739E4 + bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 @@ -209614,20 +209614,20 @@ _020706EA: ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073A78 + bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073AD8 + bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B0C + bl FUN_02073B0C ldr r2, _020707BC ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] @@ -209637,11 +209637,11 @@ _020706EA: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 b _020707AA _02070790: mov r0, #0xc @@ -209655,7 +209655,7 @@ _02070790: ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02070988 + bl FUN_02070988 _020707AA: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -209668,8 +209668,8 @@ _020707AA: _020707B8: .word 0x0000070C _020707BC: .word 0x0000070E - thumb_func_start sub_020707C0 -sub_020707C0: ; 0x020707C0 + thumb_func_start FUN_020707C0 +FUN_020707C0: ; 0x020707C0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -209678,7 +209678,7 @@ sub_020707C0: ; 0x020707C0 _020707CA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207008C + bl FUN_0207008C cmp r0, #0x1 bne _02070870 mov r0, #0xc @@ -209697,20 +209697,20 @@ _020707CA: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072F78 + bl FUN_02072F78 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020737D0 + bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020739E4 + bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 @@ -209719,20 +209719,20 @@ _020707CA: ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073A78 + bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073AD8 + bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B0C + bl FUN_02073B0C ldr r2, _0207089C ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] @@ -209742,11 +209742,11 @@ _020707CA: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 b _0207088A _02070870: mov r0, #0xc @@ -209760,7 +209760,7 @@ _02070870: ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02070988 + bl FUN_02070988 _0207088A: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -209773,8 +209773,8 @@ _0207088A: _02070898: .word 0x0000070C _0207089C: .word 0x0000070E - thumb_func_start sub_020708A0 -sub_020708A0: ; 0x020708A0 + thumb_func_start FUN_020708A0 +FUN_020708A0: ; 0x020708A0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -209783,7 +209783,7 @@ sub_020708A0: ; 0x020708A0 _020708AA: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207008C + bl FUN_0207008C cmp r0, #0x1 bne _02070958 mov r0, #0xc @@ -209802,23 +209802,23 @@ _020708AA: add r1, r4, #0x0 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020703C4 + bl FUN_020703C4 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072FDC + bl FUN_02072FDC add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073024 + bl FUN_02073024 ldrh r2, [r6, #0x4] ldrh r3, [r6, #0x6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020737D0 + bl FUN_020737D0 ldrh r2, [r6, #0x8] ldrh r3, [r6, #0xa] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020739E4 + bl FUN_020739E4 mov r0, #0x2c add r7, r4, #0x0 mul r7, r0 @@ -209827,20 +209827,20 @@ _020708AA: ldrh r2, [r3, r2] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073A78 + bl FUN_02073A78 mov r2, #0x4 mov r3, #0x6 ldrsh r2, [r6, r2] ldrsh r3, [r6, r3] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073AD8 + bl FUN_02073AD8 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073B0C + bl FUN_02073B0C ldr r2, _02070984 ; =0x0000070E add r3, r5, r7 ldrh r2, [r3, r2] @@ -209850,11 +209850,11 @@ _020708AA: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 b _02070972 _02070958: mov r0, #0xc @@ -209868,7 +209868,7 @@ _02070958: ldrsh r3, [r3, r6] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02070988 + bl FUN_02070988 _02070972: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -209881,8 +209881,8 @@ _02070972: _02070980: .word 0x0000070C _02070984: .word 0x0000070E - thumb_func_start sub_02070988 -sub_02070988: ; 0x02070988 + thumb_func_start FUN_02070988 +FUN_02070988: ; 0x02070988 push {r4-r7, lr} sub sp, #0x1c add r7, r1, #0x0 @@ -209908,7 +209908,7 @@ sub_02070988: ; 0x02070988 mov r1, #0x2 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_02018170 + bl FUN_02018170 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x6 @@ -209921,31 +209921,31 @@ sub_02070988: ; 0x02070988 mov r1, #0x2 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_020186B4 + bl FUN_020186B4 add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x7 - bl sub_02073A4C + bl FUN_02073A4C add r0, r5, #0x0 add r1, r7, #0x0 mov r2, #0x0 - bl sub_02073A78 + bl FUN_02073A78 add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02073B3C + bl FUN_02073B3C add sp, #0x1c pop {r4-r7, pc} .balign 4 - thumb_func_start sub_020709FC -sub_020709FC: ; 0x020709FC + thumb_func_start FUN_020709FC +FUN_020709FC: ; 0x020709FC push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02070A78 ; =0x000005A4 add r6, r1, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r1, _02070A7C ; =0x00000B23 ldrb r2, [r5, r1] lsl r3, r2, #0x19 @@ -209975,7 +209975,7 @@ _02070A38: _02070A3A: mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02070A4E add r0, r4, #0x2 @@ -209985,7 +209985,7 @@ _02070A3A: _02070A4E: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02070A88 + bl FUN_02070A88 cmp r0, #0x1 bne _02070A60 add r0, r4, #0x1 @@ -210001,7 +210001,7 @@ _02070A60: mov r0, #0x2 mov r2, #0x10 lsr r3, r3, #0x10 - bl sub_02017FB4 + bl FUN_02017FB4 pop {r4-r6, pc} .balign 4 _02070A78: .word 0x000005A4 @@ -210009,8 +210009,8 @@ _02070A7C: .word 0x00000B23 _02070A80: .word 0x00000B25 _02070A84: .word 0x000004A4 - thumb_func_start sub_02070A88 -sub_02070A88: ; 0x02070A88 + thumb_func_start FUN_02070A88 +FUN_02070A88: ; 0x02070A88 ldr r2, _02070AA0 ; =0x000005A4 ldr r0, [r0, r2] add r0, #0x21 @@ -210027,8 +210027,8 @@ _02070A9C: nop _02070AA0: .word 0x000005A4 - thumb_func_start sub_02070AA4 -sub_02070AA4: ; 0x02070AA4 + thumb_func_start FUN_02070AA4 +FUN_02070AA4: ; 0x02070AA4 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -210044,24 +210044,24 @@ sub_02070AA4: ; 0x02070AA4 ldr r0, _02070AF8 ; =0x00000808 add r2, sp, #0xc ldr r0, [r4, r0] - bl sub_0201C638 + bl FUN_0201C638 ldr r0, _02070AFC ; =0x000005A4 ldr r1, _02070AF4 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] add r0, #0x21 ldrb r0, [r0, #0x0] - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070B00 ; =0x000005C8 ldr r0, [r4, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02070B00 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 add sp, #0x10 pop {r4, pc} nop @@ -210070,18 +210070,18 @@ _02070AF8: .word 0x00000808 _02070AFC: .word 0x000005A4 _02070B00: .word 0x000005C8 - thumb_func_start sub_02070B04 -sub_02070B04: ; 0x02070B04 + thumb_func_start FUN_02070B04 +FUN_02070B04: ; 0x02070B04 push {r4, lr} add r4, r0, #0x0 - bl sub_02070B28 + bl FUN_02070B28 cmp r0, #0x1 bne _02070B14 mov r0, #0x1 pop {r4, pc} _02070B14: add r0, r4, #0x0 - bl sub_02070D90 + bl FUN_02070D90 cmp r0, #0x1 bne _02070B22 mov r0, #0x2 @@ -210091,8 +210091,8 @@ _02070B22: pop {r4, pc} .balign 4 - thumb_func_start sub_02070B28 -sub_02070B28: ; 0x02070B28 + thumb_func_start FUN_02070B28 +FUN_02070B28: ; 0x02070B28 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -210147,14 +210147,14 @@ _02070B64: add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 - bl sub_02070D2C + bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070B92: add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 - bl sub_02070CDC + bl FUN_02070CDC add r6, r0, #0x0 b _02070C1A _02070BA0: @@ -210183,7 +210183,7 @@ _02070BA0: add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 - bl sub_02070D2C + bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070BDA: @@ -210201,14 +210201,14 @@ _02070BDA: add r1, #0x1 add r2, sp, #0x0 add r3, r3, r4 - bl sub_02070D2C + bl FUN_02070D2C add r6, r0, #0x0 b _02070C1A _02070BFE: add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 - bl sub_02070CDC + bl FUN_02070CDC add r6, r0, #0x0 b _02070C1A _02070C0C: @@ -210216,7 +210216,7 @@ _02070C0C: add r0, r5, #0x0 add r1, #0x1 add r2, sp, #0x0 - bl sub_02070CDC + bl FUN_02070CDC add r6, r0, #0x0 _02070C1A: ldr r0, _02070CC4 ; =0x00000B25 @@ -210234,7 +210234,7 @@ _02070C1A: ldr r0, _02070CD4 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 b _02070C6E _02070C3E: ldr r0, _02070CCC ; =0x000005A4 @@ -210242,21 +210242,21 @@ _02070C3E: ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070CD4 ; =0x000005C8 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02070CD4 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02070CD4 ; =0x000005C8 add r2, sp, #0x0 ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 _02070C6E: ldr r0, _02070CC4 ; =0x00000B25 mov r2, #0x0 @@ -210264,23 +210264,23 @@ _02070C6E: strb r6, [r5, r0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020713EC + bl FUN_020713EC ldr r1, _02070CC4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 - bl sub_020713EC + bl FUN_020713EC ldr r0, _02070CD8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 cmp r4, #0x6 bhs _02070CA6 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 ldr r0, [r5, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 _02070CA6: cmp r4, #0x6 beq _02070CB2 @@ -210305,8 +210305,8 @@ _02070CD0: .word 0x00000B26 _02070CD4: .word 0x000005C8 _02070CD8: .word 0x000005DC - thumb_func_start sub_02070CDC -sub_02070CDC: ; 0x02070CDC + thumb_func_start FUN_02070CDC +FUN_02070CDC: ; 0x02070CDC push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -210325,7 +210325,7 @@ _02070CEC: ldr r2, [sp, #0xc] add r1, r7, #0x0 mov r3, #0x0 - bl sub_0201C638 + bl FUN_0201C638 add r4, r0, #0x0 cmp r4, #0x6 beq _02070D1C @@ -210335,7 +210335,7 @@ _02070CEC: beq _02070D1C add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207007C + bl FUN_0207007C cmp r0, #0x0 beq _02070CEC _02070D1C: @@ -210346,8 +210346,8 @@ _02070D1C: _02070D24: .word 0x00000B25 _02070D28: .word 0x00000808 - thumb_func_start sub_02070D2C -sub_02070D2C: ; 0x02070D2C + thumb_func_start FUN_02070D2C +FUN_02070D2C: ; 0x02070D2C push {r3-r7, lr} sub sp, #0x10 add r6, r0, #0x0 @@ -210360,7 +210360,7 @@ _02070D3A: beq _02070D70 ldrb r1, [r5, r4] add r0, r6, #0x0 - bl sub_0207007C + bl FUN_0207007C cmp r0, #0x0 beq _02070D68 mov r3, #0x0 @@ -210373,7 +210373,7 @@ _02070D3A: str r0, [sp, #0x8] ldr r0, _02070D8C ; =0x00000808 ldr r0, [r6, r0] - bl sub_0201C638 + bl FUN_0201C638 add sp, #0x10 ldrb r0, [r5, r4] pop {r3-r7, pc} @@ -210392,19 +210392,19 @@ _02070D70: ldr r2, [sp, #0xc] ldr r0, [r6, r0] add r1, r7, #0x0 - bl sub_0201C638 + bl FUN_0201C638 mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02070D8C: .word 0x00000808 - thumb_func_start sub_02070D90 -sub_02070D90: ; 0x02070D90 + thumb_func_start FUN_02070D90 +FUN_02070D90: ; 0x02070D90 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 - bl sub_02071870 + bl FUN_02071870 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -210415,18 +210415,18 @@ sub_02070D90: ; 0x02070D90 strb r0, [r5, r1] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020713EC + bl FUN_020713EC ldr r1, _02070E48 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 - bl sub_020713EC + bl FUN_020713EC cmp r4, #0x6 bhs _02070DCC add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 _02070DCC: mov r3, #0x0 ldr r0, _02070E48 ; =0x00000B25 @@ -210440,28 +210440,28 @@ _02070DCC: ldr r0, _02070E4C ; =0x00000808 add r2, sp, #0xc ldr r0, [r5, r0] - bl sub_0201C638 + bl FUN_0201C638 ldr r0, _02070E50 ; =0x000005A4 ldr r1, _02070E48 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] add r0, #0x21 ldrb r0, [r0, #0x0] - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070E54 ; =0x000005C8 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02070E54 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02070E54 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0xb2 mov r1, #0x1 lsl r0, r0, #0x4 @@ -210471,7 +210471,7 @@ _02070DCC: add r0, r0, #0x1 strb r1, [r5, r0] ldr r0, _02070E58 ; =0x000005E4 - bl sub_020054C8 + bl FUN_020054C8 cmp r4, #0x6 beq _02070E3C cmp r4, #0x7 @@ -210494,8 +210494,8 @@ _02070E54: .word 0x000005C8 _02070E58: .word 0x000005E4 _02070E5C: .word 0x00000B26 - thumb_func_start sub_02070E60 -sub_02070E60: ; 0x02070E60 + thumb_func_start FUN_02070E60 +FUN_02070E60: ; 0x02070E60 push {r4-r6, lr} sub sp, #0x10 add r6, r1, #0x0 @@ -210509,7 +210509,7 @@ sub_02070E60: ; 0x02070E60 ldr r0, _02070F04 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 b _02070ECC _02070E80: mov r3, #0x0 @@ -210524,27 +210524,27 @@ _02070E80: ldr r0, _02070F0C ; =0x00000808 add r2, sp, #0xc ldr r0, [r5, r0] - bl sub_0201C638 + bl FUN_0201C638 ldr r0, _02070F10 ; =0x000005A4 add r1, r6, #0x0 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02070F04 ; =0x000005C8 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02070F04 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02070F04 ; =0x000005C8 add r2, sp, #0xc ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 _02070ECC: ldr r0, _02070F08 ; =0x00000B25 mov r2, #0x0 @@ -210552,21 +210552,21 @@ _02070ECC: strb r6, [r5, r0] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020713EC + bl FUN_020713EC ldr r1, _02070F08 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x1 - bl sub_020713EC + bl FUN_020713EC cmp r4, #0x6 bhs _02070EFE add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020717E8 + bl FUN_020717E8 ldr r0, [r5, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 _02070EFE: add sp, #0x10 pop {r4-r6, pc} @@ -210576,8 +210576,8 @@ _02070F08: .word 0x00000B25 _02070F0C: .word 0x00000808 _02070F10: .word 0x000005A4 - thumb_func_start sub_02070F14 -sub_02070F14: ; 0x02070F14 + thumb_func_start FUN_02070F14 +FUN_02070F14: ; 0x02070F14 push {r3-r4, lr} sub sp, #0x4 mov r1, #0xb2 @@ -210598,22 +210598,22 @@ _02070F30: add r1, sp, #0x0 add r1, #0x2 add r2, sp, #0x0 - bl sub_02071850 + bl FUN_02071850 add r3, sp, #0x0 mov r1, #0x2 mov r2, #0x0 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] add r0, r4, #0x0 - bl sub_02073D1C + bl FUN_02073D1C ldr r1, _02070F90 ; =0x00000B21 add r0, r4, #0x0 ldrb r1, [r4, r1] mov r2, #0x2 - bl sub_020717E8 + bl FUN_020717E8 ldr r0, [r4, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 mov r0, #0xb2 lsl r0, r0, #0x4 ldrb r1, [r4, r0] @@ -210625,10 +210625,10 @@ _02070F70: add r1, r1, #0x1 ldrb r1, [r4, r1] mov r2, #0x1 - bl sub_020717E8 + bl FUN_020717E8 ldr r0, [r4, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 mov r0, #0xb2 mov r1, #0x0 lsl r0, r0, #0x4 @@ -210639,8 +210639,8 @@ _02070F8A: nop _02070F90: .word 0x00000B21 - thumb_func_start sub_02070F94 -sub_02070F94: ; 0x02070F94 + thumb_func_start FUN_02070F94 +FUN_02070F94: ; 0x02070F94 push {r4, lr} add r4, r0, #0x0 ldr r0, _020710AC ; =0x021C48B8 @@ -210658,7 +210658,7 @@ _02070FAE: cmp r1, #0x7 bne _02070FC6 ldr r0, _020710B4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _020710B8 ; =0x00000B23 ldrb r0, [r4, r0] lsl r0, r0, #0x18 @@ -210677,7 +210677,7 @@ _02070FC6: bne _02070FE0 _02070FD6: ldr r0, _020710B4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02070FE0: @@ -210695,12 +210695,12 @@ _02070FE8: cmp r0, #0x0 bne _02071002 ldr r0, _020710B4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02071002: ldr r0, _020710C0 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x5 pop {r4, pc} _0207100C: @@ -210715,21 +210715,21 @@ _0207100C: cmp r1, #0x0 bne _02071030 add r0, #0x38 - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_020710C4 + bl FUN_020710C4 mov r0, #0x0 pop {r4, pc} _02071030: add r0, #0x4e - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x5 pop {r4, pc} _0207103A: add r0, #0x38 - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_020710C4 + bl FUN_020710C4 mov r0, #0x0 pop {r4, pc} _0207104A: @@ -210744,7 +210744,7 @@ _0207104A: lsr r0, r0, #0x1f bne _0207106E ldr r0, _020710B4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _020710B0 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] @@ -210752,7 +210752,7 @@ _0207104A: pop {r4, pc} _0207106E: add r0, r4, #0x0 - bl sub_02070B04 + bl FUN_02070B04 cmp r0, #0x2 bne _020710AA ldr r1, _020710BC ; =0x000005A4 @@ -210778,7 +210778,7 @@ _0207108E: cmp r1, #0x0 beq _020710AA ldr r0, _020710C0 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x5 _020710AA: pop {r4, pc} @@ -210790,18 +210790,18 @@ _020710B8: .word 0x00000B23 _020710BC: .word 0x000005A4 _020710C0: .word 0x000005F2 - thumb_func_start sub_020710C4 -sub_020710C4: ; 0x020710C4 + thumb_func_start FUN_020710C4 +FUN_020710C4: ; 0x020710C4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 mov r0, #0xc mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, _02071174 ; =0x000005A4 ldr r0, [r5, r0] @@ -210830,57 +210830,57 @@ _020710FC: _0207110C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207117C + bl FUN_0207117C add r2, r0, #0x0 b _02071146 _02071118: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020712F0 + bl FUN_020712F0 add r2, r0, #0x0 b _02071146 _02071124: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02071274 + bl FUN_02071274 add r2, r0, #0x0 b _02071146 _02071130: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02071280 + bl FUN_02071280 add r2, r0, #0x0 b _02071146 _0207113C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020712B4 + bl FUN_020712B4 add r2, r0, #0x0 _02071146: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072844 + bl FUN_02072844 mov r0, #0xc add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C add r0, r5, #0x0 - bl sub_0207295C + bl FUN_0207295C mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731D4 + bl FUN_020731D4 ldr r0, _02071178 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 pop {r3-r5, pc} .balign 4 _02071174: .word 0x000005A4 _02071178: .word 0x000005C8 - thumb_func_start sub_0207117C -sub_0207117C: ; 0x0207117C + thumb_func_start FUN_0207117C +FUN_0207117C: ; 0x0207117C push {r4-r7, lr} sub sp, #0xc str r1, [sp, #0x4] @@ -210891,7 +210891,7 @@ sub_0207117C: ; 0x0207117C ldr r1, [sp, #0x0] ldr r0, [r0, #0x0] ldrb r1, [r1, r2] - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [sp, #0x8] ldr r0, [sp, #0x4] mov r1, #0x1 @@ -210904,7 +210904,7 @@ sub_0207117C: ; 0x0207117C ldr r0, [sp, #0x0] ldr r0, [r0, r1] ldr r0, [r0, #0x1c] - bl sub_02060144 + bl FUN_02060144 cmp r0, #0x0 bne _02071258 ldr r1, _0207126C ; =0x00000B25 @@ -210926,12 +210926,12 @@ _020711D0: ldr r0, [sp, #0x8] add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 beq _02071210 add r0, r7, #0x0 - bl sub_02071948 + bl FUN_02071948 cmp r0, #0xff beq _02071206 ldr r1, [sp, #0x4] @@ -210942,7 +210942,7 @@ _020711D0: lsr r5, r0, #0x18 ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_020727FC + bl FUN_020727FC add r0, r4, #0x1 lsl r0, r0, #0x18 lsr r4, r0, #0x18 @@ -210969,7 +210969,7 @@ _02071210: add r1, r0, r2 ldr r0, _02071270 ; =0x0000070C ldrh r0, [r1, r0] - bl sub_0206EA98 + bl FUN_0206EA98 cmp r0, #0x1 bne _0207123E mov r1, #0x5 @@ -211005,8 +211005,8 @@ _02071268: .word 0x000005A4 _0207126C: .word 0x00000B25 _02071270: .word 0x0000070C - thumb_func_start sub_02071274 -sub_02071274: ; 0x02071274 + thumb_func_start FUN_02071274 +FUN_02071274: ; 0x02071274 mov r0, #0xe strb r0, [r1, #0x0] mov r0, #0x9 @@ -211014,8 +211014,8 @@ sub_02071274: ; 0x02071274 mov r0, #0x2 bx lr - thumb_func_start sub_02071280 -sub_02071280: ; 0x02071280 + thumb_func_start FUN_02071280 +FUN_02071280: ; 0x02071280 ldr r2, _020712B0 ; =0x00000B25 ldrb r3, [r0, r2] mov r2, #0x2c @@ -211044,8 +211044,8 @@ _020712A4: .balign 4 _020712B0: .word 0x00000B25 - thumb_func_start sub_020712B4 -sub_020712B4: ; 0x020712B4 + thumb_func_start FUN_020712B4 +FUN_020712B4: ; 0x020712B4 ldr r2, _020712E8 ; =0x00000B25 ldrb r3, [r0, r2] mov r2, #0x2c @@ -211076,13 +211076,13 @@ _020712DA: _020712E8: .word 0x00000B25 _020712EC: .word 0x0000070E - thumb_func_start sub_020712F0 -sub_020712F0: ; 0x020712F0 + thumb_func_start FUN_020712F0 +FUN_020712F0: ; 0x020712F0 push {r4, lr} add r4, r1, #0x0 ldr r1, _0207133C ; =0x00000B25 ldrb r1, [r0, r1] - bl sub_02071340 + bl FUN_02071340 cmp r0, #0x0 beq _0207130A cmp r0, #0x1 @@ -211121,8 +211121,8 @@ _02071336: nop _0207133C: .word 0x00000B25 - thumb_func_start sub_02071340 -sub_02071340: ; 0x02071340 + thumb_func_start FUN_02071340 +FUN_02071340: ; 0x02071340 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020713E0 ; =0x000005A4 @@ -211132,14 +211132,14 @@ sub_02071340: ; 0x02071340 cmp r0, #0x0 beq _0207136E ldr r0, [r2, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _020713E0 ; =0x000005A4 ldr r2, _020713E4 ; =0x00000B34 ldr r0, [r5, r0] ldr r2, [r5, r2] ldr r0, [r0, #0x14] - bl sub_0206BB84 + bl FUN_0206BB84 cmp r0, #0x0 bne _0207136E mov r0, #0x0 @@ -211156,7 +211156,7 @@ _0207136E: add r1, r5, r0 ldr r0, _020713E8 ; =0x00000704 ldrh r0, [r1, r0] - bl sub_0206A964 + bl FUN_0206A964 cmp r0, #0x1 bne _02071390 mov r0, #0x0 @@ -211212,8 +211212,8 @@ _020713E0: .word 0x000005A4 _020713E4: .word 0x00000B34 _020713E8: .word 0x00000704 - thumb_func_start sub_020713EC -sub_020713EC: ; 0x020713EC + thumb_func_start FUN_020713EC +FUN_020713EC: ; 0x020713EC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -211223,7 +211223,7 @@ sub_020713EC: ; 0x020713EC mov r0, #0x5d lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_020201DC + bl FUN_020201DC lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r6, #0x0 @@ -211241,14 +211241,14 @@ _02071416: mov r0, #0x5d lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 pop {r4-r6, pc} _02071426: cmp r4, #0x7 bne _02071454 ldr r0, _020714B4 ; =0x000005D4 ldr r0, [r5, r0] - bl sub_020201DC + bl FUN_020201DC lsl r0, r0, #0x18 lsr r1, r0, #0x18 cmp r6, #0x0 @@ -211265,7 +211265,7 @@ _02071446: lsr r1, r0, #0x18 ldr r0, _020714B4 ; =0x000005D4 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 pop {r4-r6, pc} _02071454: cmp r6, #0x0 @@ -211288,7 +211288,7 @@ _02071454: lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 b _020714A8 _02071482: mov r0, #0x2c @@ -211308,18 +211308,18 @@ _02071482: lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x1 - bl sub_02020130 + bl FUN_02020130 _020714A8: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_020709FC + bl FUN_020709FC pop {r4-r6, pc} nop _020714B4: .word 0x000005D4 _020714B8: .word 0x00000716 - thumb_func_start sub_020714BC -sub_020714BC: ; 0x020714BC + thumb_func_start FUN_020714BC +FUN_020714BC: ; 0x020714BC cmp r1, #0x0 beq _020714C8 cmp r0, #0x0 @@ -211333,8 +211333,8 @@ _020714CC: mov r0, #0x0 bx lr - thumb_func_start sub_020714D0 -sub_020714D0: ; 0x020714D0 + thumb_func_start FUN_020714D0 +FUN_020714D0: ; 0x020714D0 push {r4, lr} ldr r1, _02071550 ; =0x021C48B8 add r4, r0, #0x0 @@ -211343,7 +211343,7 @@ sub_020714D0: ; 0x020714D0 tst r1, r2 beq _0207150C ldr r0, _02071554 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _02071558 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x6 @@ -211356,12 +211356,12 @@ sub_020714D0: ; 0x020714D0 bne _02071502 _020714F8: add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071502: add r0, r4, #0x0 - bl sub_02074584 + bl FUN_02074584 mov r0, #0x0 pop {r4, pc} _0207150C: @@ -211369,13 +211369,13 @@ _0207150C: tst r1, r2 beq _02071522 ldr r0, _02071554 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071522: - bl sub_02070B04 + bl FUN_02070B04 cmp r0, #0x2 bne _0207154C ldr r0, _02071558 ; =0x00000B25 @@ -211387,12 +211387,12 @@ _02071522: cmp r1, r0 bne _02071544 add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 mov r0, #0x3 pop {r4, pc} _02071544: add r0, r4, #0x0 - bl sub_02074584 + bl FUN_02074584 mov r0, #0x0 _0207154C: pop {r4, pc} @@ -211401,8 +211401,8 @@ _02071550: .word 0x021C48B8 _02071554: .word 0x000005DC _02071558: .word 0x00000B25 - thumb_func_start sub_0207155C -sub_0207155C: ; 0x0207155C + thumb_func_start FUN_0207155C +FUN_0207155C: ; 0x0207155C push {r3-r5, lr} sub sp, #0x8 ldr r1, _02071738 ; =0x000005A4 @@ -211443,7 +211443,7 @@ _02071574: add r0, r4, #0x0 mov r1, #0x6b mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 b _020715EA _020715B0: .byte 0x20, 0x1C, 0x77, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x17, 0xFE, 0x16, 0xE0, 0x20, 0x1C, 0x78, 0x21 @@ -211453,13 +211453,13 @@ _020715E0: add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 _020715EA: ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} @@ -211477,7 +211477,7 @@ _02071606: ldr r1, [r3, #0x0] ldr r2, [r4, r2] add r3, #0x2c - bl sub_0206BC60 + bl FUN_0206BC60 cmp r0, #0x3 bhi _020716CA add r0, r0, r0 @@ -211493,13 +211493,13 @@ _02071606: ldr r0, _02071748 ; =0x0000069C mov r1, #0xb8 ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 ldr r0, _02071738 ; =0x000005A4 mov r1, #0x3 ldr r0, [r4, r0] ldr r0, [r0, #0x14] - bl sub_02023B0C + bl FUN_02023B0C mov r1, #0x0 add r2, r0, #0x0 str r1, [sp, #0x0] @@ -211509,26 +211509,26 @@ _02071606: lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} @@ -211545,7 +211545,7 @@ _020716CA: cmp r0, #0x11 bne _02071722 add r0, r4, #0x0 - bl sub_0207174C + bl FUN_0207174C cmp r0, #0x0 beq _02071722 cmp r0, #0x1 @@ -211557,12 +211557,12 @@ _020716EA: add r0, r4, #0x0 mov r1, #0xb6 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} @@ -211570,12 +211570,12 @@ _02071706: add r0, r4, #0x0 mov r1, #0xb7 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _0207173C ; =0x00000B22 mov r1, #0x13 strb r1, [r4, r0] ldr r0, _02071740 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x14 pop {r3-r5, pc} @@ -211586,7 +211586,7 @@ _02071722: add r0, #0x38 add r1, #0x23 strb r2, [r1, #0x0] - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x1b add sp, #0x8 pop {r3-r5, pc} @@ -211597,8 +211597,8 @@ _02071740: .word 0x000005F2 _02071744: .word 0x00000B34 _02071748: .word 0x0000069C - thumb_func_start sub_0207174C -sub_0207174C: ; 0x0207174C + thumb_func_start FUN_0207174C +FUN_0207174C: ; 0x0207174C push {r4-r7} add r5, r0, #0x0 mov r0, #0x0 @@ -211683,14 +211683,14 @@ _020717DA: _020717E0: .word 0x000005A4 _020717E4: .word 0x000006D8 - thumb_func_start sub_020717E8 -sub_020717E8: ; 0x020717E8 + thumb_func_start FUN_020717E8 +FUN_020717E8: ; 0x020717E8 push {r3-r7, lr} ldr r0, [r0, #0x0] add r5, r1, #0x0 add r4, r2, #0x0 mov r1, #0x4 - bl sub_0201886C + bl FUN_0201886C lsl r1, r5, #0x1 mov r3, #0x19 add r5, r4, #0x0 @@ -211736,8 +211736,8 @@ _02071844: .word 0x00001005 _02071848: .word 0x020F944C _0207184C: .word 0x020F944D - thumb_func_start sub_02071850 -sub_02071850: ; 0x02071850 + thumb_func_start FUN_02071850 +FUN_02071850: ; 0x02071850 lsl r3, r0, #0x1 ldr r0, _02071868 ; =0x020F944C ldrb r0, [r0, r3] @@ -211754,12 +211754,12 @@ sub_02071850: ; 0x02071850 _02071868: .word 0x020F944C _0207186C: .word 0x020F944D - thumb_func_start sub_02071870 -sub_02071870: ; 0x02071870 + thumb_func_start FUN_02071870 +FUN_02071870: ; 0x02071870 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 - bl sub_0207248C + bl FUN_0207248C cmp r0, #0x0 bne _02071886 mov r0, #0x0 @@ -211768,7 +211768,7 @@ sub_02071870: ; 0x02071870 pop {r3-r5, pc} _02071886: ldr r0, _020718C0 ; =0x020F94B8 - bl sub_02020988 + bl FUN_02020988 add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -211784,7 +211784,7 @@ _02071886: ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] mov r1, #0x4 - bl sub_0201AFBC + bl FUN_0201AFBC cmp r0, #0x0 bne _020718BA mov r0, #0x0 @@ -211800,14 +211800,14 @@ _020718C0: .word 0x020F94B8 _020718C4: .word 0x0000FFFE _020718C8: .word 0x021C48F8 - thumb_func_start sub_020718CC -sub_020718CC: ; 0x020718CC + thumb_func_start FUN_020718CC +FUN_020718CC: ; 0x020718CC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207193C ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C78 + bl FUN_02001C78 add r2, r0, #0x0 mov r0, #0x1 mvn r0, r0 @@ -211822,9 +211822,9 @@ _020718EC: lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 ldr r0, _02071940 ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x20 @@ -211837,18 +211837,18 @@ _0207190E: add r0, r5, #0x0 mov r1, #0x22 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 b _02071924 _0207191A: add r0, r5, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 _02071924: ldr r0, _02071944 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r3-r5, pc} _02071932: @@ -211863,8 +211863,8 @@ _0207193C: .word 0x000006FC _02071940: .word 0x000005A4 _02071944: .word 0x000005C8 - thumb_func_start sub_02071948 -sub_02071948: ; 0x02071948 + thumb_func_start FUN_02071948 +FUN_02071948: ; 0x02071948 ldr r2, _0207196C ; =0x020F9544 mov r3, #0x0 _0207194C: @@ -211887,8 +211887,8 @@ _0207195C: nop _0207196C: .word 0x020F9544 - thumb_func_start sub_02071970 -sub_02071970: ; 0x02071970 + thumb_func_start FUN_02071970 +FUN_02071970: ; 0x02071970 push {r4-r6, lr} sub sp, #0x8 ldr r1, _02071C18 ; =0x00000B2A @@ -211917,14 +211917,14 @@ sub_02071970: ; 0x02071970 cmp r1, #0x6 blo _020719B8 ldr r0, _02071C20 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _020719B8: - bl sub_02071C48 + bl FUN_02071C48 cmp r0, #0x0 beq _020719CA cmp r0, #0x1 @@ -211934,11 +211934,11 @@ _020719B8: b _02071A26 _020719CA: ldr r0, _02071C24 ; =0x000005EC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _02071C2C ; =0x00000B25 mov r1, #0x2c ldrb r2, [r4, r0] @@ -211965,7 +211965,7 @@ _020719FA: b _02071A26 _02071A08: ldr r0, _02071C20 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _02071C18 ; =0x00000B2A mov r1, #0x1 strh r1, [r4, r0] @@ -211974,7 +211974,7 @@ _02071A08: pop {r4-r6, pc} _02071A1A: ldr r0, _02071C34 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x1a pop {r4-r6, pc} @@ -211985,15 +211985,15 @@ _02071A26: tst r0, r1 beq _02071A42 ldr r0, _02071C20 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02071A42: add r0, r4, #0x0 - bl sub_02070B04 + bl FUN_02070B04 cmp r0, #0x2 bne _02071A7A ldr r0, _02071C2C ; =0x00000B25 @@ -212005,13 +212005,13 @@ _02071A42: cmp r1, r0 bne _02071A68 add r0, r4, #0x0 - bl sub_02074538 + bl FUN_02074538 add sp, #0x8 mov r0, #0x1 pop {r4-r6, pc} _02071A68: add r0, r4, #0x0 - bl sub_02071C48 + bl FUN_02071C48 cmp r0, #0x0 beq _02071A7C cmp r0, #0x1 @@ -212022,11 +212022,11 @@ _02071A7A: b _02071C12 _02071A7C: ldr r0, _02071C24 ; =0x000005EC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _02071C28 ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _02071C2C ; =0x00000B25 mov r1, #0x2c ldrb r2, [r4, r0] @@ -212060,7 +212060,7 @@ _02071ABA: pop {r4-r6, pc} _02071AC6: ldr r0, _02071C34 ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 mov r0, #0x1a pop {r4-r6, pc} @@ -212103,8 +212103,8 @@ _02071C38: .byte 0xA4, 0x05, 0x00, 0x00, 0x9C, 0x06, 0x00, 0x00 .byte 0x2C, 0x0B, 0x00, 0x00, 0x2E, 0x0B, 0x00, 0x00 - thumb_func_start sub_02071C48 -sub_02071C48: ; 0x02071C48 + thumb_func_start FUN_02071C48 +FUN_02071C48: ; 0x02071C48 push {r3-r5, lr} ldr r2, _02071CA8 ; =0x00000B25 add r4, r0, #0x0 @@ -212139,11 +212139,11 @@ _02071C82: ldr r0, _02071CAC ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 add r0, r4, #0x0 mov r1, #0x83 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r1, _02071CB0 ; =0x00000B2A mov r0, #0x1 strh r0, [r4, r1] @@ -212159,8 +212159,8 @@ _02071CA8: .word 0x00000B25 _02071CAC: .word 0x000005C8 _02071CB0: .word 0x00000B2A - thumb_func_start sub_02071CB4 -sub_02071CB4: ; 0x02071CB4 + thumb_func_start FUN_02071CB4 +FUN_02071CB4: ; 0x02071CB4 push {r3-r7, lr} add r6, r1, #0x0 mov r3, #0x2c @@ -212178,7 +212178,7 @@ sub_02071CB4: ; 0x02071CB4 ldrh r2, [r5, r3] add r2, r2, #0x1 strh r2, [r5, r3] - bl sub_02072BBC + bl FUN_02072BBC lsl r1, r6, #0x2 add r1, r6, r1 add r1, r1, #0x3 @@ -212186,13 +212186,13 @@ sub_02071CB4: ; 0x02071CB4 lsl r1, r1, #0x4 add r0, r0, r1 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072B7C + bl FUN_02072B7C add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072C28 + bl FUN_02072C28 ldr r1, _02071D3C ; =0x00000B28 ldrh r0, [r5, r1] add r1, r1, #0x4 @@ -212210,12 +212210,12 @@ _02071D14: add r1, r6, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 ldrh r1, [r7, r4] add r2, sp, #0x0 str r1, [sp, #0x0] mov r1, #0xa2 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x1 pop {r3-r7, pc} _02071D30: @@ -212228,8 +212228,8 @@ _02071D3C: .word 0x00000B28 _02071D40: .word 0x00000708 _02071D44: .word 0x000005A4 - thumb_func_start sub_02071D48 -sub_02071D48: ; 0x02071D48 + thumb_func_start FUN_02071D48 +FUN_02071D48: ; 0x02071D48 push {r4, lr} ldr r1, _02071DE0 ; =0x021C48B8 add r4, r0, #0x0 @@ -212247,7 +212247,7 @@ sub_02071D48: ; 0x02071D48 lsr r0, r0, #0x1f bne _02071D92 ldr r0, _02071DE8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x3 pop {r4, pc} _02071D72: @@ -212260,12 +212260,12 @@ _02071D72: cmp r0, #0x0 bne _02071D8C ldr r0, _02071DE8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x0 pop {r4, pc} _02071D8C: ldr r0, _02071DEC ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 _02071D92: mov r0, #0x5 pop {r4, pc} @@ -212279,7 +212279,7 @@ _02071D96: lsr r0, r0, #0x1f bne _02071DB6 ldr r0, _02071DE8 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _02071DE4 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] @@ -212289,7 +212289,7 @@ _02071DB6: mov r0, #0x5 pop {r4, pc} _02071DBA: - bl sub_02070B04 + bl FUN_02070B04 cmp r0, #0x2 bne _02071DDE ldr r1, _02071DE4 ; =0x00000B25 @@ -212303,7 +212303,7 @@ _02071DBA: cmp r1, #0x0 beq _02071DDE ldr r0, _02071DEC ; =0x000005F2 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x5 _02071DDE: pop {r4, pc} @@ -212314,8 +212314,8 @@ _02071DE8: .word 0x000005DC _02071DEC: .word 0x000005F2 _02071DF0: .word 0x00000B23 - thumb_func_start sub_02071DF4 -sub_02071DF4: ; 0x02071DF4 + thumb_func_start FUN_02071DF4 +FUN_02071DF4: ; 0x02071DF4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 @@ -212323,46 +212323,46 @@ sub_02071DF4: ; 0x02071DF4 ldr r0, [r5, r0] mov r2, #0xc ldrh r0, [r0, #0x24] - bl sub_0206E710 + bl FUN_0206E710 mov r1, #0x22 add r4, r0, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02071E1E add r0, r4, #0x0 mov r1, #0x23 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02071E30 _02071E1E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0207703C + bl FUN_0207703C mov r0, #0x6 pop {r3-r5, pc} _02071E30: add r0, r4, #0x0 mov r1, #0x24 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02071E5A add r0, r4, #0x0 mov r1, #0x25 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02071E5A add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 mov r1, #0x1 - bl sub_0207703C + bl FUN_0207703C mov r0, #0x6 pop {r3-r5, pc} _02071E5A: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02071F1C ; =0x000005A4 ldr r2, _02071F20 ; =0x00000B25 ldr r1, [r5, r0] @@ -212372,7 +212372,7 @@ _02071E5A: ldrh r1, [r1, #0x24] ldrb r2, [r5, r2] mov r3, #0x0 - bl sub_020847F8 + bl FUN_020847F8 cmp r0, #0x1 bne _02071F02 ldr r0, _02071F1C ; =0x000005A4 @@ -212381,10 +212381,10 @@ _02071E5A: mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] - bl sub_0206EDD4 + bl FUN_0206EDD4 add r0, r4, #0x0 mov r1, #0x1a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 beq _02071ECC @@ -212392,7 +212392,7 @@ _02071E5A: ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 mov r2, #0x3 @@ -212402,7 +212402,7 @@ _02071E5A: str r0, [sp, #0x0] ldrh r3, [r3, #0x24] mov r0, #0x0 - bl sub_02069168 + bl FUN_02069168 ldr r1, _02071F1C ; =0x000005A4 ldr r2, [r5, r1] strh r0, [r2, #0x38] @@ -212415,7 +212415,7 @@ _02071E5A: _02071ECC: ldr r0, [r5, r0] ldrh r0, [r0, #0x24] - bl sub_0206EB34 + bl FUN_0206EB34 cmp r0, #0x1 bne _02071EFA ldr r0, _02071F1C ; =0x000005A4 @@ -212426,26 +212426,26 @@ _02071ECC: ldr r0, [r1, #0x0] ldr r1, _02071F20 ; =0x00000B25 ldrb r1, [r5, r1] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02071F1C ; =0x000005A4 ldr r2, [r5, r0] ldr r0, [r2, #0x10] ldrh r2, [r2, #0x24] - bl sub_02061618 + bl FUN_02061618 _02071EFA: add r0, r5, #0x0 - bl sub_02075C54 + bl FUN_02075C54 b _02071F18 _02071F02: add r0, r5, #0x0 mov r1, #0x69 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02071F20 ; =0x00000B25 mov r1, #0x7 strb r1, [r5, r0] - ldr r1, _02071F24 ; =sub_02075CE4 + ldr r1, _02071F24 ; =FUN_02075CE4 sub r0, #0x11 str r1, [r5, r0] _02071F18: @@ -212454,10 +212454,10 @@ _02071F18: .balign 4 _02071F1C: .word 0x000005A4 _02071F20: .word 0x00000B25 -_02071F24: .word sub_02075CE4 + 1 +_02071F24: .word FUN_02075CE4 + 1 - thumb_func_start sub_02071F28 -sub_02071F28: ; 0x02071F28 + thumb_func_start FUN_02071F28 +FUN_02071F28: ; 0x02071F28 push {r3, lr} ldr r1, _02071F50 ; =0x00000B25 ldrb r2, [r0, r1] @@ -212471,7 +212471,7 @@ sub_02071F28: ; 0x02071F28 mov r0, #0x0 pop {r3, pc} _02071F40: - bl sub_0206EA98 + bl FUN_0206EA98 cmp r0, #0x1 bne _02071F4C mov r0, #0x2 @@ -212483,8 +212483,8 @@ _02071F4C: _02071F50: .word 0x00000B25 _02071F54: .word 0x0000070C - thumb_func_start sub_02071F58 -sub_02071F58: ; 0x02071F58 + thumb_func_start FUN_02071F58 +FUN_02071F58: ; 0x02071F58 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072074 ; =0x000005A4 @@ -212492,12 +212492,12 @@ sub_02071F58: ; 0x02071F58 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 mov r7, #0x89 add r0, r5, #0x0 lsl r7, r7, #0x2 - bl sub_02071F28 + bl FUN_02071F28 cmp r0, #0x0 beq _02071F84 cmp r0, #0x1 @@ -212509,7 +212509,7 @@ _02071F84: ldr r0, _02072074 ; =0x000005A4 ldr r0, [r5, r0] ldrh r0, [r0, #0x24] - bl sub_0206EA98 + bl FUN_0206EA98 cmp r0, #0x1 bne _02071FA0 ldr r0, _02072074 ; =0x000005A4 @@ -212522,21 +212522,21 @@ _02071F84: _02071FA0: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072080 + bl FUN_02072080 ldr r2, _0207207C ; =0x0000069C mov r1, #0x76 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r5, r2] @@ -212544,7 +212544,7 @@ _02071FA0: ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x24] - bl sub_0200AE38 + bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -212552,7 +212552,7 @@ _02071FA0: add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r4, #0xb b _02072054 _02071FF2: @@ -212561,15 +212561,15 @@ _02071FF2: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 ldr r2, _02072078 ; =0x00000B25 mov r3, #0x6a ldrb r4, [r5, r2] @@ -212581,7 +212581,7 @@ _02071FF2: add r3, #0x6c ldrh r2, [r2, r3] mov r1, #0x1 - bl sub_0200AE70 + bl FUN_0200AE70 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -212589,7 +212589,7 @@ _02071FF2: add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r4, #0x9 b _02072054 _02072044: @@ -212598,19 +212598,19 @@ _02072044: ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r4, #0xb _02072054: add r0, r5, r7 mov r1, #0x1 mov r2, #0xa mov r3, #0xf - bl sub_0200D0BC + bl FUN_0200D0BC add r0, r5, r7 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_0207322C + bl FUN_0207322C add r0, r4, #0x0 pop {r3-r7, pc} nop @@ -212618,8 +212618,8 @@ _02072074: .word 0x000005A4 _02072078: .word 0x00000B25 _0207207C: .word 0x0000069C - thumb_func_start sub_02072080 -sub_02072080: ; 0x02072080 + thumb_func_start FUN_02072080 +FUN_02072080: ; 0x02072080 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _020720D4 ; =0x000005A4 @@ -212632,13 +212632,13 @@ sub_02072080: ; 0x02072080 ldr r1, [r4, r0] ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] - bl sub_0206EDD4 + bl FUN_0206EDD4 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02069EC4 + bl FUN_02069EC4 ldr r1, _020720D8 ; =0x00000B25 ldr r0, _020720D4 ; =0x000005A4 ldrb r3, [r4, r1] @@ -212655,15 +212655,15 @@ sub_02072080: ; 0x02072080 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] - bl sub_02073A78 + bl FUN_02073A78 pop {r3-r5, pc} nop _020720D4: .word 0x000005A4 _020720D8: .word 0x00000B25 _020720DC: .word 0x0000070C - thumb_func_start sub_020720E0 -sub_020720E0: ; 0x020720E0 + thumb_func_start FUN_020720E0 +FUN_020720E0: ; 0x020720E0 push {r0-r3} push {r3-r5, lr} add r4, r0, #0x0 @@ -212675,13 +212675,13 @@ sub_020720E0: ; 0x020720E0 lsr r1, r1, #0x10 mov r2, #0x1 mov r3, #0xc - bl sub_0206ED38 + bl FUN_0206ED38 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x1c - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02069EC4 + bl FUN_02069EC4 ldr r1, _02072138 ; =0x00000B25 mov r2, #0x2c ldrb r3, [r4, r1] @@ -212696,7 +212696,7 @@ sub_020720E0: ; 0x020720E0 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] - bl sub_02073A78 + bl FUN_02073A78 pop {r3-r5} pop {r3} add sp, #0x10 @@ -212706,13 +212706,13 @@ _02072134: .word 0x000005A4 _02072138: .word 0x00000B25 _0207213C: .word 0x0000070C - thumb_func_start sub_02072140 -sub_02072140: ; 0x02072140 + thumb_func_start FUN_02072140 +FUN_02072140: ; 0x02072140 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072168 ; =0x00000B24 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _02072162 ldr r0, _0207216C ; =0x021C48B8 @@ -212721,7 +212721,7 @@ sub_02072140: ; 0x02072140 tst r0, r1 beq _02072162 add r0, r4, #0x0 - bl sub_020722B8 + bl FUN_020722B8 pop {r4, pc} _02072162: mov r0, #0xb @@ -212730,17 +212730,17 @@ _02072162: _02072168: .word 0x00000B24 _0207216C: .word 0x021C48B8 - thumb_func_start sub_02072170 -sub_02072170: ; 0x02072170 + thumb_func_start FUN_02072170 +FUN_02072170: ; 0x02072170 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072190 ; =0x00000B24 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _0207218A add r0, r4, #0x0 - bl sub_020732CC + bl FUN_020732CC mov r0, #0xa pop {r4, pc} _0207218A: @@ -212749,14 +212749,14 @@ _0207218A: nop _02072190: .word 0x00000B24 - thumb_func_start sub_02072194 -sub_02072194: ; 0x02072194 + thumb_func_start FUN_02072194 +FUN_02072194: ; 0x02072194 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _020722A4 ; =0x000006FC mov r1, #0xc ldr r0, [r5, r0] - bl sub_020021AC + bl FUN_020021AC cmp r0, #0x0 beq _020721B0 mov r1, #0x1 @@ -212770,7 +212770,7 @@ _020721B0: ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r7, r0, #0x0 ldr r0, _020722A8 ; =0x000005A4 ldr r0, [r5, r0] @@ -212784,33 +212784,33 @@ _020721B0: ldrh r4, [r1, r0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02072080 + bl FUN_02072080 ldr r0, _020722A8 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] mov r2, #0x1 ldr r0, [r0, #0x4] mov r3, #0xc - bl sub_0206ED38 + bl FUN_0206ED38 cmp r0, #0x0 bne _0207220C add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_020720E0 + bl FUN_020720E0 ldr r2, _020722B4 ; =0x0000069C mov r1, #0x53 ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 b _02072282 _0207220C: ldr r0, _020722A8 ; =0x000005A4 ldr r0, [r5, r0] ldrh r0, [r0, #0x24] - bl sub_0206EA98 + bl FUN_0206EA98 cmp r0, #0x1 bne _02072246 ldr r0, _020722A8 ; =0x000005A4 @@ -212820,12 +212820,12 @@ _0207220C: ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc - bl sub_0206EDD4 + bl FUN_0206EDD4 add r0, r5, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_020720E0 + bl FUN_020720E0 ldr r0, _020722A8 ; =0x000005A4 mov r1, #0x6 ldr r0, [r5, r0] @@ -212839,19 +212839,19 @@ _02072246: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x2 add r2, r6, #0x0 - bl sub_0200AE38 + bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -212859,20 +212859,20 @@ _02072246: add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 _02072282: mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_0207322C + bl FUN_0207322C mov r0, #0xb pop {r3-r7, pc} _02072298: add r0, r5, #0x0 - bl sub_020722B8 + bl FUN_020722B8 pop {r3-r7, pc} _020722A0: mov r0, #0xa @@ -212884,8 +212884,8 @@ _020722AC: .word 0x00000B25 _020722B0: .word 0x0000070C _020722B4: .word 0x0000069C - thumb_func_start sub_020722B8 -sub_020722B8: ; 0x020722B8 + thumb_func_start FUN_020722B8 +FUN_020722B8: ; 0x020722B8 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072304 ; =0x000005A4 @@ -212899,15 +212899,15 @@ sub_020722B8: ; 0x020722B8 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _02072308 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _02072304 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -212925,8 +212925,8 @@ _020722F8: _02072304: .word 0x000005A4 _02072308: .word 0x000005C8 - thumb_func_start sub_0207230C -sub_0207230C: ; 0x0207230C + thumb_func_start FUN_0207230C +FUN_0207230C: ; 0x0207230C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072410 ; =0x000005A4 @@ -212934,7 +212934,7 @@ sub_0207230C: ; 0x0207230C ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r7, r0, #0x0 ldr r0, _02072410 ; =0x000005A4 ldr r0, [r5, r0] @@ -212948,7 +212948,7 @@ sub_0207230C: ; 0x0207230C ldrh r4, [r1, r0] add r0, r5, #0x0 add r1, r7, #0x0 - bl sub_02072080 + bl FUN_02072080 cmp r4, #0x0 bne _02072388 ldr r2, _0207241C ; =0x0000069C @@ -212956,15 +212956,15 @@ sub_0207230C: ; 0x0207230C ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r7, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r5, r2] @@ -212972,7 +212972,7 @@ sub_0207230C: ; 0x0207230C ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x24] - bl sub_0200AE38 + bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -212980,7 +212980,7 @@ sub_0207230C: ; 0x0207230C add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 b _020723D6 _02072388: ldr r0, _02072410 ; =0x000005A4 @@ -212990,25 +212990,25 @@ _02072388: ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc - bl sub_0206ED38 + bl FUN_0206ED38 ldr r2, _0207241C ; =0x0000069C mov r1, #0x54 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200AE38 + bl FUN_0200AE38 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x2 add r2, r6, #0x0 - bl sub_0200AE38 + bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -213016,7 +213016,7 @@ _02072388: add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 _020723D6: mov r0, #0x89 lsl r0, r0, #0x2 @@ -213024,14 +213024,14 @@ _020723D6: mov r1, #0x1 mov r2, #0xa mov r3, #0xf - bl sub_0200D0BC + bl FUN_0200D0BC mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_0207322C + bl FUN_0207322C ldr r0, _02072410 ; =0x000005A4 ldr r1, [r5, r0] add r0, r1, #0x0 @@ -213051,8 +213051,8 @@ _02072414: .word 0x00000B25 _02072418: .word 0x0000070C _0207241C: .word 0x0000069C - thumb_func_start sub_02072420 -sub_02072420: ; 0x02072420 + thumb_func_start FUN_02072420 +FUN_02072420: ; 0x02072420 push {r4, lr} add r4, r0, #0x0 ldr r0, _02072470 ; =0x00000B25 @@ -213075,14 +213075,14 @@ _02072444: ldr r0, _0207247C ; =0x000005C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 add r0, r4, #0x0 mov r1, #0xc3 mov r2, #0x1 - bl sub_020731E8 - ldr r0, _02072480 ; =sub_02074428 + bl FUN_020731E8 + ldr r0, _02072480 ; =FUN_02074428 ldr r1, _02072484 ; =0x00000B18 - ldr r2, _02072488 ; =sub_02074454 + ldr r2, _02072488 ; =FUN_02074454 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] @@ -213096,12 +213096,12 @@ _02072470: .word 0x00000B25 _02072474: .word 0x00000712 _02072478: .word 0x000005A4 _0207247C: .word 0x000005C8 -_02072480: .word sub_02074428 + 1 +_02072480: .word FUN_02074428 + 1 _02072484: .word 0x00000B18 -_02072488: .word sub_02074454 + 1 +_02072488: .word FUN_02074454 + 1 - thumb_func_start sub_0207248C -sub_0207248C: ; 0x0207248C + thumb_func_start FUN_0207248C +FUN_0207248C: ; 0x0207248C ldr r1, _020724C0 ; =0x000005A4 ldr r0, [r0, r1] add r0, #0x20 @@ -213133,28 +213133,28 @@ _020724BC: .balign 4 _020724C0: .word 0x000005A4 - thumb_func_start sub_020724C4 -sub_020724C4: ; 0x020724C4 + thumb_func_start FUN_020724C4 +FUN_020724C4: ; 0x020724C4 mov r0, #0x14 bx lr - thumb_func_start sub_020724C8 -sub_020724C8: ; 0x020724C8 + thumb_func_start FUN_020724C8 +FUN_020724C8: ; 0x020724C8 mov r0, #0x15 bx lr - thumb_func_start sub_020724CC -sub_020724CC: ; 0x020724CC + thumb_func_start FUN_020724CC +FUN_020724CC: ; 0x020724CC mov r0, #0x13 bx lr - thumb_func_start sub_020724D0 -sub_020724D0: ; 0x020724D0 + thumb_func_start FUN_020724D0 +FUN_020724D0: ; 0x020724D0 mov r0, #0x12 bx lr - thumb_func_start sub_020724D4 -sub_020724D4: ; 0x020724D4 + thumb_func_start FUN_020724D4 +FUN_020724D4: ; 0x020724D4 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -213164,10 +213164,10 @@ sub_020724D4: ; 0x020724D4 mov r1, #0x16 add r2, r4, #0x0 add r7, r3, #0x0 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0xc str r0, [sp, #0x8] - blx sub_020B0180 + blx FUN_020B0180 ldr r0, [sp, #0xc] mov r4, #0x0 str r0, [sp, #0x4] @@ -213178,14 +213178,14 @@ _020724FE: ldr r1, [sp, #0x0] add r0, r5, #0x0 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r1, r4, #0x6 lsl r2, r1, #0x6 ldr r1, [sp, #0x4] add r0, r6, #0x0 add r1, r1, r2 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r1, r4, #0x0 add r1, #0xc lsl r2, r1, #0x6 @@ -213193,7 +213193,7 @@ _020724FE: add r0, r7, #0x0 add r1, r1, r2 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x0] add r4, r4, #0x1 add r0, #0x40 @@ -213204,47 +213204,47 @@ _020724FE: cmp r4, #0x6 blo _020724FE ldr r0, [sp, #0x8] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02072548 -sub_02072548: ; 0x02072548 + thumb_func_start FUN_02072548 +FUN_02072548: ; 0x02072548 push {r4-r6, lr} add r5, r1, #0x0 add r4, r2, #0x0 add r6, r0, #0x0 - bl sub_02019150 + bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x10 add r2, #0x8 - bl sub_02019150 + bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x20 add r2, #0x10 - bl sub_02019150 + bl FUN_02019150 add r1, r5, #0x0 add r2, r4, #0x0 add r0, r6, #0x0 add r1, #0x30 add r2, #0x18 - bl sub_02019150 + bl FUN_02019150 add r5, #0x40 add r4, #0x20 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02019150 + bl FUN_02019150 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02072590 -sub_02072590: ; 0x02072590 + thumb_func_start FUN_02072590 +FUN_02072590: ; 0x02072590 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -213252,18 +213252,18 @@ sub_02072590: ; 0x02072590 ldr r0, [r5, #0x0] add r1, r5, #0x4 add r2, r4, #0x0 - bl sub_02072548 + bl FUN_02072548 add r1, r5, #0x0 ldr r0, [r5, #0x0] ldr r2, _020726C4 ; =0x020F97AC add r1, #0xa4 - bl sub_02072548 + bl FUN_02072548 mov r1, #0x51 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726C8 ; =0x020F97FC add r1, r5, r1 - bl sub_02072548 + bl FUN_02072548 ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x21 @@ -213275,41 +213275,41 @@ sub_02072590: ; 0x02072590 add r2, r4, #0x0 add r1, #0x54 add r2, #0xf0 - bl sub_02072548 + bl FUN_02072548 mov r2, #0x46 add r1, r5, #0x0 lsl r2, r2, #0x2 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, r4, r2 - bl sub_02072548 + bl FUN_02072548 mov r2, #0x65 lsl r2, r2, #0x2 add r1, r5, r2 sub r2, #0x54 ldr r0, [r5, #0x0] add r2, r4, r2 - bl sub_02072548 + bl FUN_02072548 b _02072622 _020725F8: add r1, r5, #0x0 add r2, r4, #0x0 add r1, #0x54 add r2, #0x28 - bl sub_02072548 + bl FUN_02072548 add r1, r5, #0x0 add r2, r4, #0x0 ldr r0, [r5, #0x0] add r1, #0xf4 add r2, #0x78 - bl sub_02072548 + bl FUN_02072548 mov r1, #0x65 lsl r1, r1, #0x2 add r4, #0xc8 ldr r0, [r5, #0x0] add r1, r5, r1 add r2, r4, #0x0 - bl sub_02072548 + bl FUN_02072548 _02072622: ldr r0, _020726CC ; =0x000005A4 ldr r0, [r5, r0] @@ -213337,7 +213337,7 @@ _02072632: lsl r1, r1, #0x2 ldr r0, [r5, #0x0] add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 b _02072668 _0207265A: mov r1, #0x7d @@ -213345,44 +213345,44 @@ _0207265A: ldr r0, [r5, #0x0] ldr r2, _020726D4 ; =0x020F9724 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 _02072668: mov r1, #0x79 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726D8 ; =0x020F972C add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x81 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726DC ; =0x020F9734 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x85 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E0 ; =0x020F973C add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x89 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E4 ; =0x020F9744 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x8d lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726E8 ; =0x020F974C add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 mov r1, #0x91 lsl r1, r1, #0x2 ldr r0, [r5, #0x0] ldr r2, _020726EC ; =0x020F9754 add r1, r5, r1 - bl sub_02019150 + bl FUN_02019150 add sp, #0x8 pop {r3-r5, pc} .balign 4 @@ -213399,8 +213399,8 @@ _020726E4: .word 0x020F9744 _020726E8: .word 0x020F974C _020726EC: .word 0x020F9754 - thumb_func_start sub_020726F0 -sub_020726F0: ; 0x020726F0 + thumb_func_start FUN_020726F0 +FUN_020726F0: ; 0x020726F0 push {r4-r6, lr} add r6, r0, #0x0 mov r5, #0x0 @@ -213408,7 +213408,7 @@ sub_020726F0: ; 0x020726F0 _020726F8: lsl r0, r5, #0x4 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -213417,16 +213417,16 @@ _020726F8: mov r4, #0x95 lsl r4, r4, #0x2 add r0, r6, r4 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x1 bne _0207271E add r0, r6, r4 - bl sub_02019178 + bl FUN_02019178 _0207271E: pop {r4-r6, pc} - thumb_func_start sub_02072720 -sub_02072720: ; 0x02072720 + thumb_func_start FUN_02072720 +FUN_02072720: ; 0x02072720 push {r4, lr} ldr r2, _020727F8 ; =0x0000069C add r4, r0, #0x0 @@ -213434,97 +213434,97 @@ sub_02072720: ; 0x02072720 add r2, #0x10 ldr r2, [r4, r2] mov r1, #0x91 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x92 ldr r0, [r4, r2] add r2, #0x14 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x93 ldr r0, [r4, r2] add r2, #0x18 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa0 ldr r0, [r4, r2] add r2, #0x1c ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa1 ldr r0, [r4, r2] add r2, #0x20 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x94 ldr r0, [r4, r2] add r2, #0x24 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x95 ldr r0, [r4, r2] add r2, #0x28 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x96 ldr r0, [r4, r2] add r2, #0x2c ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x97 ldr r0, [r4, r2] add r2, #0x30 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x98 ldr r0, [r4, r2] add r2, #0x34 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x99 ldr r0, [r4, r2] add r2, #0x38 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x3c ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9b ldr r0, [r4, r2] add r2, #0x40 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0x9a ldr r0, [r4, r2] add r2, #0x44 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _020727F8 ; =0x0000069C mov r1, #0xa6 ldr r0, [r4, r2] add r2, #0x48 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 pop {r4, pc} .balign 4 _020727F8: .word 0x0000069C - thumb_func_start sub_020727FC -sub_020727FC: ; 0x020727FC + thumb_func_start FUN_020727FC +FUN_020727FC: ; 0x020727FC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02072840 ; =0x0000069C @@ -213533,14 +213533,14 @@ sub_020727FC: ; 0x020727FC add r1, r4, #0x0 ldr r0, [r5, r0] add r1, #0x9c - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 add r2, r7, #0x0 - bl sub_0200AD5C + bl FUN_0200AD5C mov r1, #0x6a add r4, #0xf lsl r1, r1, #0x4 @@ -213550,15 +213550,15 @@ sub_020727FC: ; 0x020727FC add r1, #0xc ldr r1, [r2, r1] add r2, r6, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 pop {r3-r7, pc} nop _02072840: .word 0x0000069C - thumb_func_start sub_02072844 -sub_02072844: ; 0x02072844 + thumb_func_start FUN_02072844 +FUN_02072844: ; 0x02072844 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -213584,10 +213584,10 @@ sub_02072844: ; 0x02072844 ldr r0, [r5, #0x0] add r1, r5, r1 mov r3, #0x13 - bl sub_02019064 + bl FUN_02019064 ldr r0, [sp, #0x14] mov r1, #0xc - bl sub_02012838 + bl FUN_02012838 ldr r1, _0207294C ; =0x000006F8 mov r6, #0x0 str r0, [r5, r1] @@ -213599,7 +213599,7 @@ _02072890: ldrb r0, [r7, r4] cmp r0, #0xf blo _020728B4 - bl sub_02073DA8 + bl FUN_02073DA8 lsl r1, r6, #0x2 add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 @@ -213607,13 +213607,13 @@ _02072890: ldr r1, _02072950 ; =0x000006E8 ldr r0, [r5, r0] ldr r1, [r3, r1] - bl sub_020128A0 + bl FUN_020128A0 add r0, r6, #0x1 lsl r0, r0, #0x10 lsr r6, r0, #0x10 b _020728CC _020728B4: - bl sub_02073DA8 + bl FUN_02073DA8 ldrb r1, [r7, r4] add r2, r0, #0x0 ldr r0, _0207294C ; =0x000006F8 @@ -213622,7 +213622,7 @@ _020728B4: ldr r1, _02072954 ; =0x000006AC ldr r0, [r5, r0] ldr r1, [r3, r1] - bl sub_020128A0 + bl FUN_020128A0 _020728CC: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -213674,7 +213674,7 @@ _0207291E: add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 @@ -213683,7 +213683,7 @@ _0207291E: add r0, sp, #0x18 mov r1, #0x8 add r3, r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 ldr r1, _02072958 ; =0x000006FC str r0, [r5, r1] add sp, #0x24 @@ -213694,8 +213694,8 @@ _02072950: .word 0x000006E8 _02072954: .word 0x000006AC _02072958: .word 0x000006FC - thumb_func_start sub_0207295C -sub_0207295C: ; 0x0207295C + thumb_func_start FUN_0207295C +FUN_0207295C: ; 0x0207295C push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020729C4 ; =0x000005A4 @@ -213710,36 +213710,36 @@ sub_0207295C: ; 0x0207295C ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x2a - bl sub_0200A8E0 + bl FUN_0200A8E0 pop {r4-r6, pc} _0207297E: ldr r1, _020729CC ; =0x00000B25 ldr r0, [r2, #0x0] ldrb r1, [r5, r1] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 ldr r0, _020729D0 ; =0x0000069C mov r1, #0x25 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 pop {r4-r6, pc} nop _020729C4: .word 0x000005A4 @@ -213747,8 +213747,8 @@ _020729C8: .word 0x000006A4 _020729CC: .word 0x00000B25 _020729D0: .word 0x0000069C - thumb_func_start sub_020729D4 -sub_020729D4: ; 0x020729D4 + thumb_func_start FUN_020729D4 +FUN_020729D4: ; 0x020729D4 push {r3-r4, lr} sub sp, #0x4 add r2, r0, #0x0 @@ -213765,14 +213765,14 @@ sub_020729D4: ; 0x020729D4 add r2, r3, r2 mov r1, #0x0 mov r3, #0x1c - bl sub_0200B9A8 + bl FUN_0200B9A8 add sp, #0x4 pop {r3-r4, pc} .balign 4 _020729FC: .word 0x00000698 - thumb_func_start sub_02072A00 -sub_02072A00: ; 0x02072A00 + thumb_func_start FUN_02072A00 +FUN_02072A00: ; 0x02072A00 push {r3-r7, lr} add r7, r1, #0x0 add r4, r2, #0x0 @@ -213782,16 +213782,16 @@ sub_02072A00: ; 0x02072A00 lsl r2, r4, #0x3 ldrh r1, [r1, r2] ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r2, #0x6a mov r1, #0x2c lsl r2, r2, #0x4 @@ -213801,16 +213801,16 @@ sub_02072A00: ; 0x02072A00 add r2, #0x60 ldr r1, [r1, r2] add r2, r6, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 pop {r3-r7, pc} nop _02072A4C: .word 0x0000069C _02072A50: .word 0x020F96F4 - thumb_func_start sub_02072A54 -sub_02072A54: ; 0x02072A54 + thumb_func_start FUN_02072A54 +FUN_02072A54: ; 0x02072A54 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -213834,7 +213834,7 @@ sub_02072A54: ; 0x02072A54 ldr r2, [r3, r2] add r0, r4, r6 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r2, #0x71 add r0, r5, r7 lsl r2, r2, #0x4 @@ -213842,7 +213842,7 @@ sub_02072A54: ; 0x02072A54 cmp r0, #0x1 bne _02072A9C add r0, r4, r6 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} _02072A9C: @@ -213861,7 +213861,7 @@ _02072A9C: ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1b - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff @@ -213874,7 +213874,7 @@ _02072A9C: ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 - bl sub_0201BDE0 + bl FUN_0201BDE0 b _02072B0A _02072ADC: cmp r0, #0x1 @@ -213885,7 +213885,7 @@ _02072ADC: ldr r0, [r5, r0] ldr r2, [r5, r2] mov r1, #0x1c - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0xff @@ -213897,10 +213897,10 @@ _02072ADC: ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x40 - bl sub_0201BDE0 + bl FUN_0201BDE0 _02072B0A: add r0, r4, r6 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 @@ -213908,8 +213908,8 @@ _02072B14: .word 0x000F0E00 _02072B18: .word 0x000006A8 _02072B1C: .word 0x00050600 - thumb_func_start sub_02072B20 -sub_02072B20: ; 0x02072B20 + thumb_func_start FUN_02072B20 +FUN_02072B20: ; 0x02072B20 push {r4, lr} sub sp, #0x10 lsl r2, r1, #0x2 @@ -213928,7 +213928,7 @@ sub_02072B20: ; 0x02072B20 cmp r1, #0x7 beq _02072B4C add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4, pc} _02072B4C: @@ -213946,16 +213946,16 @@ _02072B4C: ldr r0, [r0, r1] mov r1, #0x1 mov r3, #0x3 - bl sub_0200BA78 + bl FUN_0200BA78 add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4, pc} nop _02072B78: .word 0x0000070E - thumb_func_start sub_02072B7C -sub_02072B7C: ; 0x02072B7C + thumb_func_start FUN_02072B7C +FUN_02072B7C: ; 0x02072B7C push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 @@ -213979,16 +213979,16 @@ sub_02072B7C: ; 0x02072B7C ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x1 - bl sub_0200B9EC + bl FUN_0200B9EC add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0xc pop {r4-r5, pc} .balign 4 _02072BB8: .word 0x00000698 - thumb_func_start sub_02072BBC -sub_02072BBC: ; 0x02072BBC + thumb_func_start FUN_02072BBC +FUN_02072BBC: ; 0x02072BBC push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x4 @@ -214004,14 +214004,14 @@ sub_02072BBC: ; 0x02072BBC add r0, r5, r4 mov r2, #0x4 add r3, r1, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add r0, r5, r4 - bl sub_02019220 + bl FUN_02019220 add sp, #0x8 pop {r3-r5, pc} - thumb_func_start sub_02072BE8 -sub_02072BE8: ; 0x02072BE8 + thumb_func_start FUN_02072BE8 +FUN_02072BE8: ; 0x02072BE8 push {r4-r5, lr} sub sp, #0xc add r2, r0, #0x0 @@ -214035,16 +214035,16 @@ sub_02072BE8: ; 0x02072BE8 ldrh r1, [r1, r5] mov r2, #0x3 mov r3, #0x0 - bl sub_0200B9EC + bl FUN_0200B9EC add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0xc pop {r4-r5, pc} .balign 4 _02072C24: .word 0x00000698 - thumb_func_start sub_02072C28 -sub_02072C28: ; 0x02072C28 + thumb_func_start FUN_02072C28 +FUN_02072C28: ; 0x02072C28 push {r4-r7, lr} sub sp, #0xc lsl r2, r1, #0x2 @@ -214065,7 +214065,7 @@ sub_02072C28: ; 0x02072C28 str r0, [sp, #0x8] ldrh r0, [r0, r6] ldrh r1, [r7, r6] - bl sub_02079A54 + bl FUN_02079A54 cmp r0, #0x4 bhi _02072CBE add r0, r0, r0 @@ -214080,7 +214080,7 @@ sub_02072C28: ; 0x02072C28 lsl r2, r2, #0 lsl r2, r2, #0 add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0xc pop {r4-r7, pc} _02072C78: @@ -214094,7 +214094,7 @@ _02072CBE: ldrh r1, [r7, r6] ldrh r0, [r0, r6] mov r2, #0x30 - bl sub_02079A0C + bl FUN_02079A0C add r5, r0, #0x0 str r5, [sp, #0x0] mov r0, #0x1 @@ -214103,7 +214103,7 @@ _02072CBE: mov r1, #0xa mov r2, #0x0 mov r3, #0x2 - bl sub_020196F4 + bl FUN_020196F4 str r5, [sp, #0x0] mov r0, #0x2 str r0, [sp, #0x4] @@ -214111,7 +214111,7 @@ _02072CBE: mov r1, #0x9 mov r2, #0x0 mov r3, #0x3 - bl sub_020196F4 + bl FUN_020196F4 str r5, [sp, #0x0] mov r0, #0x1 str r0, [sp, #0x4] @@ -214119,9 +214119,9 @@ _02072CBE: mov r1, #0xa mov r2, #0x0 mov r3, #0x5 - bl sub_020196F4 + bl FUN_020196F4 add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0xc pop {r4-r7, pc} .balign 4 @@ -214129,8 +214129,8 @@ _02072D0C: .word 0x00000708 _02072D10: .byte 0xB6, 0x04, 0x00, 0x00, 0xD6, 0x04, 0x00, 0x00, 0xF6, 0x04, 0x00, 0x00 - thumb_func_start sub_02072D1C -sub_02072D1C: ; 0x02072D1C + thumb_func_start FUN_02072D1C +FUN_02072D1C: ; 0x02072D1C push {r3-r7, lr} sub sp, #0x18 add r6, r1, #0x0 @@ -214144,14 +214144,14 @@ sub_02072D1C: ; 0x02072D1C str r0, [sp, #0x4] add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x1 lsl r0, r0, #0x4 add r7, r5, #0x4 str r0, [sp, #0x8] add r0, r7, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r7, #0x0 str r0, [sp, #0xc] add r0, r4, #0x2 @@ -214160,7 +214160,7 @@ sub_02072D1C: ; 0x02072D1C str r0, [sp, #0x10] add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r7, #0x0 str r0, [sp, #0x14] add r0, r4, #0x3 @@ -214168,10 +214168,10 @@ sub_02072D1C: ; 0x02072D1C ldr r0, [sp, #0x14] mov r1, #0x0 add r0, r0, r4 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072A54 + bl FUN_02072A54 mov r0, #0x2c mul r0, r6 add r1, r5, r0 @@ -214183,40 +214183,40 @@ sub_02072D1C: ; 0x02072D1C ldr r1, [sp, #0x0] ldr r0, [sp, #0x4] add r0, r1, r0 - bl sub_02019220 + bl FUN_02019220 ldr r0, [sp, #0x8] add r0, r7, r0 - bl sub_02019220 + bl FUN_02019220 ldr r1, [sp, #0xc] ldr r0, [sp, #0x10] add r0, r1, r0 - bl sub_02019220 + bl FUN_02019220 ldr r0, [sp, #0x14] add r0, r0, r4 - bl sub_02019220 + bl FUN_02019220 add sp, #0x18 pop {r3-r7, pc} _02072DB0: add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_020729D4 + bl FUN_020729D4 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072B20 + bl FUN_02072B20 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072B7C + bl FUN_02072B7C add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072BE8 + bl FUN_02072BE8 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02072C28 + bl FUN_02072C28 add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_02072DDC -sub_02072DDC: ; 0x02072DDC + thumb_func_start FUN_02072DDC +FUN_02072DDC: ; 0x02072DDC push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 @@ -214224,26 +214224,26 @@ sub_02072DDC: ; 0x02072DDC add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 - bl sub_02019548 + bl FUN_02019548 add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_02019548 + bl FUN_02019548 add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_02019548 + bl FUN_02019548 add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_02019548 + bl FUN_02019548 pop {r3-r5, pc} - thumb_func_start sub_02072E14 -sub_02072E14: ; 0x02072E14 + thumb_func_start FUN_02072E14 +FUN_02072E14: ; 0x02072E14 push {r3-r5, lr} add r5, r0, #0x0 lsl r0, r1, #0x2 @@ -214251,26 +214251,26 @@ sub_02072E14: ; 0x02072E14 add r1, r5, #0x4 lsl r0, r4, #0x4 add r0, r1, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x2 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x3 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_0201958C + bl FUN_0201958C pop {r3-r5, pc} - thumb_func_start sub_02072E4C -sub_02072E4C: ; 0x02072E4C + thumb_func_start FUN_02072E4C +FUN_02072E4C: ; 0x02072E4C push {r3-r6, lr} sub sp, #0x4 add r4, r1, #0x0 @@ -214281,16 +214281,16 @@ sub_02072E4C: ; 0x02072E4C lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072A54 + bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 @@ -214302,18 +214302,18 @@ sub_02072E4C: ; 0x02072E4C add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_020732F4 + bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072E98: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072B20 + bl FUN_02072B20 ldr r0, _02072EE0 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 mov r0, #0x0 ldr r3, _02072EE0 ; =0x000005A4 @@ -214321,27 +214321,27 @@ _02072E98: ldr r3, [r5, r3] mov r2, #0x3 ldrh r3, [r3, #0x24] - bl sub_02069168 + bl FUN_02069168 cmp r0, #0x0 bne _02072ED0 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_020732F4 + bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} _02072ED0: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020732F4 + bl FUN_020732F4 add sp, #0x4 pop {r3-r6, pc} nop _02072EE0: .word 0x000005A4 - thumb_func_start sub_02072EE4 -sub_02072EE4: ; 0x02072EE4 + thumb_func_start FUN_02072EE4 +FUN_02072EE4: ; 0x02072EE4 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -214351,16 +214351,16 @@ sub_02072EE4: ; 0x02072EE4 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072A54 + bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 @@ -214372,26 +214372,26 @@ sub_02072EE4: ; 0x02072EE4 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_02073364 + bl FUN_02073364 pop {r4-r6, pc} _02072F2C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072B20 + bl FUN_02072B20 ldr r0, _02072F74 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 add r0, r5, #0x0 - bl sub_02076AA0 + bl FUN_02076AA0 cmp r0, #0xff bne _02072F58 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x1 - bl sub_02073364 + bl FUN_02073364 pop {r4-r6, pc} _02072F58: cmp r0, #0xfd @@ -214399,19 +214399,19 @@ _02072F58: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x2 - bl sub_02073364 + bl FUN_02073364 pop {r4-r6, pc} _02072F68: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_02073364 + bl FUN_02073364 pop {r4-r6, pc} .balign 4 _02072F74: .word 0x000005A4 - thumb_func_start sub_02072F78 -sub_02072F78: ; 0x02072F78 + thumb_func_start FUN_02072F78 +FUN_02072F78: ; 0x02072F78 push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -214421,16 +214421,16 @@ sub_02072F78: ; 0x02072F78 lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072A54 + bl FUN_02072A54 mov r0, #0x2c add r6, r4, #0x0 mul r6, r0 @@ -214442,7 +214442,7 @@ sub_02072F78: ; 0x02072F78 beq _02072FBE add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072B20 + bl FUN_02072B20 _02072FBE: ldr r2, _02072FD8 ; =0x0000070E add r3, r5, r6 @@ -214453,13 +214453,13 @@ _02072FBE: lsr r2, r2, #0x1f lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_020733E4 + bl FUN_020733E4 pop {r4-r6, pc} nop _02072FD8: .word 0x0000070E - thumb_func_start sub_02072FDC -sub_02072FDC: ; 0x02072FDC + thumb_func_start FUN_02072FDC +FUN_02072FDC: ; 0x02072FDC push {r4-r6, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -214469,16 +214469,16 @@ sub_02072FDC: ; 0x02072FDC lsl r0, r6, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x1 add r1, r5, #0x4 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072A54 + bl FUN_02072A54 mov r0, #0x2c mul r0, r4 add r1, r5, r0 @@ -214489,13 +214489,13 @@ sub_02072FDC: ; 0x02072FDC beq _02073020 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02072B20 + bl FUN_02072B20 _02073020: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02073024 -sub_02073024: ; 0x02073024 + thumb_func_start FUN_02073024 +FUN_02073024: ; 0x02073024 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02073080 ; =0x000005A4 @@ -214517,7 +214517,7 @@ _0207303E: bne _02073052 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073448 + bl FUN_02073448 pop {r4-r6, pc} _02073052: add r2, r2, #0x1 @@ -214528,35 +214528,35 @@ _02073052: _0207305C: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02071340 + bl FUN_02071340 cmp r0, #0x0 bne _02073074 add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x8 - bl sub_02073448 + bl FUN_02073448 pop {r4-r6, pc} _02073074: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x7 - bl sub_02073448 + bl FUN_02073448 pop {r4-r6, pc} .balign 4 _02073080: .word 0x000005A4 - thumb_func_start sub_02073084 -sub_02073084: ; 0x02073084 + thumb_func_start FUN_02073084 +FUN_02073084: ; 0x02073084 push {r4, lr} add r4, r2, #0x0 mov r2, #0x0 - bl sub_02002E14 + bl FUN_02002E14 sub r0, r4, r0 lsr r0, r0, #0x1 pop {r4, pc} - thumb_func_start sub_02073094 -sub_02073094: ; 0x02073094 + thumb_func_start FUN_02073094 +FUN_02073094: ; 0x02073094 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -214565,12 +214565,12 @@ sub_02073094: ; 0x02073094 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x1 tst r0, r4 beq _020730FE @@ -214579,14 +214579,14 @@ sub_02073094: ; 0x02073094 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _02073150 ; =0x000001EB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 - bl sub_02073084 + bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] @@ -214599,11 +214599,11 @@ sub_02073094: ; 0x02073094 ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 _020730FE: mov r0, #0x2 tst r0, r4 @@ -214613,14 +214613,14 @@ _020730FE: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _0207315C ; =0x000001FB ldr r1, _02073154 ; =0x000006A8 ldrb r2, [r5, r2] ldr r1, [r5, r1] mov r0, #0x0 lsl r2, r2, #0x3 - bl sub_02073084 + bl FUN_02073084 mov r1, #0x0 add r3, r0, #0x0 str r1, [sp, #0x0] @@ -214633,11 +214633,11 @@ _020730FE: ldr r2, _02073154 ; =0x000006A8 str r1, [sp, #0xc] ldr r2, [r5, r2] - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 _02073148: add sp, #0x10 pop {r3-r5, pc} @@ -214648,8 +214648,8 @@ _02073154: .word 0x000006A8 _02073158: .word 0x000F0E00 _0207315C: .word 0x000001FB - thumb_func_start sub_02073160 -sub_02073160: ; 0x02073160 + thumb_func_start FUN_02073160 +FUN_02073160: ; 0x02073160 push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 @@ -214661,11 +214661,11 @@ sub_02073160: ; 0x02073160 mov r1, #0x1 mov r2, #0xa mov r3, #0xf - bl sub_0200D0BC + bl FUN_0200D0BC _0207317A: add r0, r4, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 mov r0, #0x0 mvn r0, r0 cmp r6, r0 @@ -214675,7 +214675,7 @@ _0207317A: ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _02073198: mov r3, #0x0 str r3, [sp, #0x0] @@ -214686,17 +214686,17 @@ _02073198: ldr r2, [r5, r2] add r0, r4, #0x0 mov r1, #0x1 - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0xc pop {r3-r6, pc} .balign 4 _020731B8: .word 0x0000069C _020731BC: .word 0x000006A4 - thumb_func_start sub_020731C0 -sub_020731C0: ; 0x020731C0 + thumb_func_start FUN_020731C0 +FUN_020731C0: ; 0x020731C0 push {r4, lr} add r4, r1, #0x0 mov r1, #0x81 @@ -214704,11 +214704,11 @@ sub_020731C0: ; 0x020731C0 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 - bl sub_02073160 + bl FUN_02073160 pop {r4, pc} - thumb_func_start sub_020731D4 -sub_020731D4: ; 0x020731D4 + thumb_func_start FUN_020731D4 +FUN_020731D4: ; 0x020731D4 push {r4, lr} add r4, r1, #0x0 mov r1, #0x85 @@ -214716,11 +214716,11 @@ sub_020731D4: ; 0x020731D4 add r3, r2, #0x0 add r1, r0, r1 add r2, r4, #0x0 - bl sub_02073160 + bl FUN_02073160 pop {r4, pc} - thumb_func_start sub_020731E8 -sub_020731E8: ; 0x020731E8 + thumb_func_start FUN_020731E8 +FUN_020731E8: ; 0x020731E8 push {r4-r6, lr} mov r6, #0x89 add r5, r0, #0x0 @@ -214732,11 +214732,11 @@ sub_020731E8: ; 0x020731E8 mov r1, #0x1 mov r2, #0xa mov r3, #0xf - bl sub_0200D0BC + bl FUN_0200D0BC _02073202: add r0, r5, r6 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 mov r0, #0x0 mvn r0, r0 cmp r4, r0 @@ -214746,31 +214746,31 @@ _02073202: ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _02073220: add r0, r5, #0x0 - bl sub_0207322C + bl FUN_0207322C pop {r4-r6, pc} .balign 4 _02073228: .word 0x0000069C - thumb_func_start sub_0207322C -sub_0207322C: ; 0x0207322C + thumb_func_start FUN_0207322C +FUN_0207322C: ; 0x0207322C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 mov r0, #0x1 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x0 - bl sub_02002B7C + bl FUN_02002B7C ldr r0, _0207326C ; =0x000005A4 ldr r0, [r4, r0] ldr r0, [r0, #0xc] - bl sub_02024FF4 + bl FUN_02024FF4 mov r3, #0x0 str r3, [sp, #0x0] str r0, [sp, #0x4] - ldr r0, _02073270 ; =sub_0207327C + ldr r0, _02073270 ; =FUN_0207327C ldr r2, _02073274 ; =0x000006A4 str r0, [sp, #0x8] mov r0, #0x89 @@ -214778,19 +214778,19 @@ sub_0207322C: ; 0x0207322C ldr r2, [r4, r2] add r0, r4, r0 mov r1, #0x1 - bl sub_0201BD84 + bl FUN_0201BD84 ldr r1, _02073278 ; =0x00000B24 strb r0, [r4, r1] add sp, #0xc pop {r3-r4, pc} nop _0207326C: .word 0x000005A4 -_02073270: .word sub_0207327C + 1 +_02073270: .word FUN_0207327C + 1 _02073274: .word 0x000006A4 _02073278: .word 0x00000B24 - thumb_func_start sub_0207327C -sub_0207327C: ; 0x0207327C + thumb_func_start FUN_0207327C +FUN_0207327C: ; 0x0207327C push {r3, lr} cmp r1, #0x5 bhi _020732BE @@ -214806,7 +214806,7 @@ sub_0207327C: ; 0x0207327C lsl r6, r2, #0 lsl r6, r3, #0 lsl r6, r4, #0 - bl sub_02005514 + bl FUN_02005514 pop {r3, pc} _020732A0: .byte 0x92, 0xF7, 0x0C, 0xFD, 0x08, 0xBD, 0x07, 0x48, 0x92, 0xF7, 0x0E, 0xF9, 0x07, 0xE0, 0x06, 0x48 @@ -214818,8 +214818,8 @@ _020732BE: _020732C4: .byte 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 - thumb_func_start sub_020732CC -sub_020732CC: ; 0x020732CC + thumb_func_start FUN_020732CC +FUN_020732CC: ; 0x020732CC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -214829,7 +214829,7 @@ sub_020732CC: ; 0x020732CC ldr r1, _020732EC ; =0x020F96EC mov r2, #0x1 mov r3, #0xe - bl sub_02002198 + bl FUN_02002198 ldr r1, _020732F0 ; =0x000006FC str r0, [r4, r1] add sp, #0x4 @@ -214838,8 +214838,8 @@ sub_020732CC: ; 0x020732CC _020732EC: .word 0x020F96EC _020732F0: .word 0x000006FC - thumb_func_start sub_020732F4 -sub_020732F4: ; 0x020732F4 + thumb_func_start FUN_020732F4 +FUN_020732F4: ; 0x020732F4 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -214851,7 +214851,7 @@ sub_020732F4: ; 0x020732F4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 - bl sub_02019620 + bl FUN_02019620 cmp r7, #0x0 beq _02073318 cmp r7, #0x1 @@ -214861,14 +214861,14 @@ _02073318: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb2 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x10] b _02073332 _02073326: ldr r0, _0207335C ; =0x0000069C mov r1, #0xb3 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x10] _02073332: mov r1, #0x0 @@ -214881,19 +214881,19 @@ _02073332: add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, [sp, #0x10] - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, r6 - bl sub_02019220 + bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} nop _0207335C: .word 0x0000069C _02073360: .word 0x000F0E00 - thumb_func_start sub_02073364 -sub_02073364: ; 0x02073364 + thumb_func_start FUN_02073364 +FUN_02073364: ; 0x02073364 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -214905,7 +214905,7 @@ sub_02073364: ; 0x02073364 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 - bl sub_02019620 + bl FUN_02019620 cmp r6, #0x0 beq _0207338C cmp r6, #0x1 @@ -214917,21 +214917,21 @@ _0207338C: ldr r0, _020733DC ; =0x0000069C mov r1, #0xaf ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x10] b _020733B4 _0207339A: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb0 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x10] b _020733B4 _020733A8: ldr r0, _020733DC ; =0x0000069C mov r1, #0xb1 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x10] _020733B4: mov r1, #0x0 @@ -214944,19 +214944,19 @@ _020733B4: add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, [sp, #0x10] - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, r7 - bl sub_02019220 + bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} .balign 4 _020733DC: .word 0x0000069C _020733E0: .word 0x000F0E00 - thumb_func_start sub_020733E4 -sub_020733E4: ; 0x020733E4 + thumb_func_start FUN_020733E4 +FUN_020733E4: ; 0x020733E4 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -214968,18 +214968,18 @@ sub_020733E4: ; 0x020733E4 add r0, r4, r6 mov r1, #0x0 add r7, r2, #0x0 - bl sub_02019620 + bl FUN_02019620 cmp r7, #0x0 ldr r0, _02073440 ; =0x0000069C bne _0207340E ldr r0, [r5, r0] mov r1, #0xb5 - bl sub_0200A914 + bl FUN_0200A914 b _02073416 _0207340E: ldr r0, [r5, r0] mov r1, #0xb4 - bl sub_0200A914 + bl FUN_0200A914 _02073416: mov r1, #0x0 add r5, r0, #0x0 @@ -214992,19 +214992,19 @@ _02073416: add r0, r4, r6 add r3, r1, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, r6 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02073440: .word 0x0000069C _02073444: .word 0x000F0E00 - thumb_func_start sub_02073448 -sub_02073448: ; 0x02073448 + thumb_func_start FUN_02073448 +FUN_02073448: ; 0x02073448 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -215016,14 +215016,14 @@ sub_02073448: ; 0x02073448 add r0, r4, r7 mov r1, #0x0 add r6, r2, #0x0 - bl sub_02019620 + bl FUN_02019620 cmp r6, #0x6 ldr r0, _020734B8 ; =0x0000069C bhs _02073476 add r6, #0xa9 ldr r0, [r5, r0] add r1, r6, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 b _02073490 _02073476: @@ -215031,13 +215031,13 @@ _02073476: bne _02073486 ldr r0, [r5, r0] mov r1, #0xa7 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 b _02073490 _02073486: ldr r0, [r5, r0] mov r1, #0xa8 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 _02073490: mov r1, #0x0 @@ -215050,19 +215050,19 @@ _02073490: add r0, r4, r7 add r3, r1, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, r7 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r7, pc} .balign 4 _020734B8: .word 0x0000069C _020734BC: .word 0x000F0E00 - thumb_func_start sub_020734C0 -sub_020734C0: ; 0x020734C0 + thumb_func_start FUN_020734C0 +FUN_020734C0: ; 0x020734C0 push {r4-r7, lr} sub sp, #0x2c add r5, r0, #0x0 @@ -215071,41 +215071,41 @@ sub_020734C0: ; 0x020734C0 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x0] add r0, r4, #0x0 mov r1, #0xa4 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x2] add r0, r4, #0x0 mov r1, #0xa5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x4] add r0, r4, #0x0 mov r1, #0xa7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x6] add r0, r4, #0x0 mov r1, #0xa8 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0x8] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x20 strh r0, [r1, #0xa] mov r3, #0x1 @@ -215122,19 +215122,19 @@ sub_020734C0: ; 0x020734C0 add r1, #0x14 ldr r0, [r5, #0x0] add r1, r5, r1 - bl sub_02019064 + bl FUN_02019064 mov r0, #0x95 lsl r0, r0, #0x2 mov r1, #0x1 add r0, r5, r0 add r2, r1, #0x0 mov r3, #0xe - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 mov r4, #0x0 str r4, [sp, #0x14] add r7, r5, #0x0 @@ -215144,7 +215144,7 @@ _0207356C: ldr r1, [sp, #0x14] ldr r0, [r5, r0] add r1, #0xb9 - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x18] mov r1, #0x0 str r4, [sp, #0x0] @@ -215157,13 +215157,13 @@ _0207356C: ldr r2, [sp, #0x18] add r0, r5, r0 add r3, r1, #0x0 - bl sub_0201BD84 + bl FUN_0201BD84 ldr r0, [sp, #0x18] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, _02073630 ; =0x0000069C mov r1, #0xbf ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x1c] mov r0, #0x0 str r0, [sp, #0x0] @@ -215178,21 +215178,21 @@ _0207356C: mov r1, #0x0 sub r2, r3, r2 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x6a ldr r1, _02073638 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0x1c] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r0, [sp, #0x1c] - bl sub_02021A20 + bl FUN_02021A20 ldr r1, _02073638 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 mov r1, #0x68 sub r3, r1, r0 str r4, [sp, #0x0] @@ -215206,7 +215206,7 @@ _0207356C: ldr r2, [r5, r2] add r0, r5, r0 mov r1, #0x0 - bl sub_0201BD84 + bl FUN_0201BD84 ldrh r1, [r6, #0x0] ldr r0, _02073634 ; =0x00000B28 add r4, #0x10 @@ -215221,7 +215221,7 @@ _0207356C: mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 add sp, #0x2c pop {r4-r7, pc} .balign 4 @@ -215231,8 +215231,8 @@ _02073630: .word 0x0000069C _02073634: .word 0x00000B28 _02073638: .word 0x000006A4 - thumb_func_start sub_0207363C -sub_0207363C: ; 0x0207363C + thumb_func_start FUN_0207363C +FUN_0207363C: ; 0x0207363C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 @@ -215246,11 +215246,11 @@ sub_0207363C: ; 0x0207363C mov r1, #0xf mov r2, #0x50 mov r3, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r0, _020736E8 ; =0x0000069C mov r1, #0xc0 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0xc] mov r0, #0x0 str r0, [sp, #0x10] @@ -215268,19 +215268,19 @@ _0207366E: ldr r0, [r5, r0] mov r1, #0x0 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r0, #0x6a ldr r1, _020736F0 ; =0x000006A4 lsl r0, r0, #0x4 ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0xc] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r1, _020736F0 ; =0x000006A4 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 add r7, r0, #0x0 mov r3, #0x68 str r4, [sp, #0x0] @@ -215295,7 +215295,7 @@ _0207366E: add r0, r5, r0 mov r1, #0x0 sub r3, r3, r7 - bl sub_0201BD84 + bl FUN_0201BD84 ldr r0, [sp, #0x10] add r6, r6, #0x2 add r0, r0, #0x1 @@ -215304,11 +215304,11 @@ _0207366E: cmp r0, #0x6 blo _0207366E ldr r0, [sp, #0xc] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 add sp, #0x14 pop {r4-r7, pc} nop @@ -215316,41 +215316,41 @@ _020736E8: .word 0x0000069C _020736EC: .word 0x00000B28 _020736F0: .word 0x000006A4 - thumb_func_start sub_020736F4 -sub_020736F4: ; 0x020736F4 + thumb_func_start FUN_020736F4 +FUN_020736F4: ; 0x020736F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x0 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 pop {r4, pc} - thumb_func_start sub_02073710 -sub_02073710: ; 0x02073710 + thumb_func_start FUN_02073710 +FUN_02073710: ; 0x02073710 push {r3-r7, lr} sub sp, #0x50 add r4, r0, #0x0 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x20 mov r1, #0xc - bl sub_0201C24C + bl FUN_0201C24C mov r0, #0xc - bl sub_0200BB14 + bl FUN_0200BB14 ldr r1, _020737BC ; =0x000005A8 str r0, [r4, r1] ldr r0, [r4, r1] - bl sub_0200BB34 + bl FUN_0200BB34 ldr r7, _020737C0 ; =0x000005AC add r2, sp, #0x30 ldr r3, _020737C4 ; =0x020F98F4 @@ -215377,20 +215377,20 @@ sub_02073710: ; 0x02073710 sub r0, r7, #0x4 ldr r0, [r4, r0] mov r3, #0x20 - bl sub_0200BB6C + bl FUN_0200BB6C sub r1, r7, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x23 - bl sub_0200BBF0 + bl FUN_0200BBF0 sub r0, r7, #0x4 ldr r0, [r4, r0] - bl sub_0200BB68 + bl FUN_0200BB68 mov r2, #0x1 mov r1, #0x0 lsl r2, r2, #0x14 - bl sub_02008D24 + bl FUN_02008D24 ldr r5, _020737CC ; =0x020F98D8 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -215406,7 +215406,7 @@ sub_02073710: ; 0x02073710 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] - bl sub_0200BD20 + bl FUN_0200BD20 add sp, #0x50 pop {r3-r7, pc} .balign 4 @@ -215416,8 +215416,8 @@ _020737C4: .word 0x020F98F4 _020737C8: .word 0x020F98C4 _020737CC: .word 0x020F98D8 - thumb_func_start sub_020737D0 -sub_020737D0: ; 0x020737D0 + thumb_func_start FUN_020737D0 +FUN_020737D0: ; 0x020737D0 push {r4-r7, lr} sub sp, #0x3c add r5, r0, #0x0 @@ -215427,7 +215427,7 @@ sub_020737D0: ; 0x020737D0 add r4, r2, #0x0 ldr r0, [r0, #0x0] add r7, r1, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 lsl r1, r4, #0x10 asr r6, r1, #0x10 mov r1, #0x2c @@ -215443,7 +215443,7 @@ sub_020737D0: ; 0x020737D0 asr r4, r3, #0x10 strh r4, [r2, r1] add r7, r7, #0x4 - bl sub_0206B6C8 + bl FUN_0206B6C8 add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -215453,11 +215453,11 @@ sub_020737D0: ; 0x020737D0 add r1, r1, #0x4 ldr r1, [r5, r1] mov r2, #0x13 - bl sub_0200C9D8 + bl FUN_0200C9D8 ldr r0, [sp, #0x10] mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 str r7, [sp, #0x14] add r0, sp, #0x14 @@ -215473,7 +215473,7 @@ sub_020737D0: ; 0x020737D0 ldrh r0, [r3, r1] add r1, #0xd ldrb r1, [r3, r1] - bl sub_0206B7BC + bl FUN_0206B7BC add r0, r0, #0x3 str r0, [sp, #0x24] mov r0, #0x1 @@ -215488,7 +215488,7 @@ sub_020737D0: ; 0x020737D0 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, sp, #0x14 - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, [sp, #0xc] add r2, r5, r1 ldr r1, _02073888 ; =0x00000724 @@ -215502,8 +215502,8 @@ _02073880: .word 0x000005A8 _02073884: .word 0x00000704 _02073888: .word 0x00000724 - thumb_func_start sub_0207388C -sub_0207388C: ; 0x0207388C + thumb_func_start FUN_0207388C +FUN_0207388C: ; 0x0207388C push {r4-r7, lr} sub sp, #0x14 ldr r1, _020739AC ; =0x000005A8 @@ -215512,7 +215512,7 @@ sub_0207388C: ; 0x0207388C add r1, r1, #0x4 ldr r1, [r5, r1] ldr r2, _020739B0 ; =0x020F9914 - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, _020739B4 ; =0x000005C8 ldr r2, _020739B8 ; =0x020F993C str r0, [r5, r1] @@ -215521,7 +215521,7 @@ sub_0207388C: ; 0x0207388C sub r1, #0x1c ldr r0, [r5, r0] ldr r1, [r5, r1] - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, _020739BC ; =0x000005CC ldr r2, _020739C0 ; =0x020F9964 str r0, [r5, r1] @@ -215530,7 +215530,7 @@ sub_0207388C: ; 0x0207388C sub r1, #0x20 ldr r0, [r5, r0] ldr r1, [r5, r1] - bl sub_0200BE38 + bl FUN_0200BE38 mov r1, #0x5d lsl r1, r1, #0x4 str r0, [r5, r1] @@ -215540,7 +215540,7 @@ sub_0207388C: ; 0x0207388C ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, _020739C4 ; =0x020F998C - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, _020739C8 ; =0x000005D4 ldr r2, _020739CC ; =0x020F9C84 str r0, [r5, r1] @@ -215549,7 +215549,7 @@ sub_0207388C: ; 0x0207388C sub r1, #0x28 ldr r0, [r5, r0] ldr r1, [r5, r1] - bl sub_0200BE38 + bl FUN_0200BE38 mov r1, #0x62 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -215571,7 +215571,7 @@ _0207390A: ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, _020739D4 ; =0x000005D8 str r0, [r6, r1] ldr r1, [sp, #0x0] @@ -215587,7 +215587,7 @@ _0207390A: ldr r0, _020739D4 ; =0x000005D8 mov r1, #0x0 ldr r0, [r6, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r2, #0x19 ldr r0, _020739AC ; =0x000005A8 ldr r1, _020739D0 ; =0x000005AC @@ -215597,7 +215597,7 @@ _0207390A: ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 - bl sub_0200BE38 + bl FUN_0200BE38 mov r1, #0x5f lsl r1, r1, #0x4 mov r2, #0xa @@ -215611,7 +215611,7 @@ _0207390A: ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r2, r3 - bl sub_0200BE38 + bl FUN_0200BE38 ldr r1, _020739E0 ; =0x00000608 add r4, #0x28 str r0, [r6, r1] @@ -215629,12 +215629,12 @@ _0207390A: sub r0, #0x3c ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 add sp, #0x14 pop {r4-r7, pc} nop @@ -215653,8 +215653,8 @@ _020739D8: .word 0x0000071A _020739DC: .word 0x0000071C _020739E0: .word 0x00000608 - thumb_func_start sub_020739E4 -sub_020739E4: ; 0x020739E4 + thumb_func_start FUN_020739E4 +FUN_020739E4: ; 0x020739E4 push {r3-r5, lr} sub sp, #0x28 add r4, r1, #0x0 @@ -215679,7 +215679,7 @@ sub_020739E4: ; 0x020739E4 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, sp, #0x0 - bl sub_0200BE38 + bl FUN_0200BE38 lsl r1, r4, #0x2 add r2, r5, r1 mov r1, #0x5b @@ -215690,24 +215690,24 @@ sub_020739E4: ; 0x020739E4 nop _02073A28: .word 0x000005A8 - thumb_func_start sub_02073A2C -sub_02073A2C: ; 0x02073A2C + thumb_func_start FUN_02073A2C +FUN_02073A2C: ; 0x02073A2C push {r4, lr} ldr r1, _02073A48 ; =0x000005A8 add r4, r0, #0x0 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] - bl sub_0200BCE0 + bl FUN_0200BCE0 ldr r0, _02073A48 ; =0x000005A8 ldr r0, [r4, r0] - bl sub_0200BD04 + bl FUN_0200BD04 pop {r4, pc} nop _02073A48: .word 0x000005A8 - thumb_func_start sub_02073A4C -sub_02073A4C: ; 0x02073A4C + thumb_func_start FUN_02073A4C +FUN_02073A4C: ; 0x02073A4C push {r3-r5, lr} mov r3, #0x5b lsl r3, r3, #0x4 @@ -215718,19 +215718,19 @@ sub_02073A4C: ; 0x02073A4C ldr r0, [r5, r4] bne _02073A66 mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} _02073A66: add r1, r2, #0x0 - bl sub_02020130 + bl FUN_02020130 ldr r0, [r5, r4] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02073A78 -sub_02073A78: ; 0x02073A78 + thumb_func_start FUN_02073A78 +FUN_02073A78: ; 0x02073A78 push {r3-r5, lr} mov r3, #0x5b lsl r3, r3, #0x4 @@ -215741,29 +215741,29 @@ sub_02073A78: ; 0x02073A78 bne _02073A92 ldr r0, [r5, r4] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} _02073A92: add r0, r2, #0x0 - bl sub_0206EA98 + bl FUN_0206EA98 cmp r0, #0x1 ldr r0, [r5, r4] bne _02073AA6 mov r1, #0x1 - bl sub_02020130 + bl FUN_02020130 b _02073AAC _02073AA6: mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 _02073AAC: ldr r0, [r5, r4] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02073AB8 -sub_02073AB8: ; 0x02073AB8 + thumb_func_start FUN_02073AB8 +FUN_02073AB8: ; 0x02073AB8 push {r3-r5, lr} mov r2, #0x5b lsl r2, r2, #0x4 @@ -215772,15 +215772,15 @@ sub_02073AB8: ; 0x02073AB8 add r5, r0, r2 ldr r0, [r5, r4] mov r1, #0x1 - bl sub_02020130 + bl FUN_02020130 ldr r0, [r5, r4] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02073AD8 -sub_02073AD8: ; 0x02073AD8 + thumb_func_start FUN_02073AD8 +FUN_02073AD8: ; 0x02073AD8 push {r4-r6, lr} ldr r6, _02073B08 ; =0x0000071E add r5, r1, #0x0 @@ -215801,13 +215801,13 @@ sub_02073AD8: ; 0x02073AD8 ldr r0, [r1, r0] ldrsh r1, [r4, r5] ldrsh r2, [r2, r5] - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r4-r6, pc} nop _02073B08: .word 0x0000071E - thumb_func_start sub_02073B0C -sub_02073B0C: ; 0x02073B0C + thumb_func_start FUN_02073B0C +FUN_02073B0C: ; 0x02073B0C add r2, r0, #0x0 add r3, r1, #0x0 mov r0, #0x2c @@ -215825,15 +215825,15 @@ sub_02073B0C: ; 0x02073B0C ldrsh r2, [r3, r2] add r1, #0x8 lsl r1, r1, #0x10 - ldr r3, _02073B38 ; =sub_0200C6E4 + ldr r3, _02073B38 ; =FUN_0200C6E4 asr r1, r1, #0x10 bx r3 .balign 4 _02073B34: .word 0x0000071E -_02073B38: .word sub_0200C6E4 + 1 +_02073B38: .word FUN_0200C6E4 + 1 - thumb_func_start sub_02073B3C -sub_02073B3C: ; 0x02073B3C + thumb_func_start FUN_02073B3C +FUN_02073B3C: ; 0x02073B3C push {r4, lr} mov r2, #0x5b mov r4, #0x2c @@ -215850,34 +215850,34 @@ sub_02073B3C: ; 0x02073B3C ldr r0, [r3, r2] bne _02073B62 mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} _02073B62: mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} nop _02073B6C: .word 0x00000712 - thumb_func_start sub_02073B70 -sub_02073B70: ; 0x02073B70 + thumb_func_start FUN_02073B70 +FUN_02073B70: ; 0x02073B70 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020201DC + bl FUN_020201DC cmp r4, r0 beq _02073B8E add r0, r5, #0x0 mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02020130 + bl FUN_02020130 _02073B8E: pop {r3-r5, pc} - thumb_func_start sub_02073B90 -sub_02073B90: ; 0x02073B90 + thumb_func_start FUN_02073B90 +FUN_02073B90: ; 0x02073B90 push {r3, lr} add r2, r0, #0x0 ldrh r0, [r2, #0x6] @@ -215900,7 +215900,7 @@ _02073B9E: _02073BB4: ldrh r1, [r2, #0x8] mov r2, #0x30 - bl sub_02079A54 + bl FUN_02079A54 cmp r0, #0x4 bhi _02073BE6 add r0, r0, r0 @@ -215924,8 +215924,8 @@ _02073BE6: pop {r3, pc} .balign 4 - thumb_func_start sub_02073BEC -sub_02073BEC: ; 0x02073BEC + thumb_func_start FUN_02073BEC +FUN_02073BEC: ; 0x02073BEC push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x7 @@ -215962,17 +215962,17 @@ _02073C28: b _02073C34 _02073C2C: add r0, r4, #0x0 - bl sub_02073B90 + bl FUN_02073B90 add r7, r0, #0x0 _02073C34: lsl r1, r7, #0x18 ldr r0, [r4, #0x24] lsr r1, r1, #0x18 - bl sub_02073B70 + bl FUN_02073B70 mov r1, #0x1 ldr r0, [r4, #0x24] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, _02073CB0 ; =0x00000B25 ldrb r0, [r6, r0] cmp r0, r5 @@ -215982,7 +215982,7 @@ _02073C34: cmp r7, #0x5 beq _02073C8C ldr r0, [r4, #0x24] - bl sub_0202022C + bl FUN_0202022C cmp r0, #0x0 ldr r0, [r4, #0x24] bne _02073C78 @@ -215993,7 +215993,7 @@ _02073C34: sub r2, r2, #0x3 lsl r2, r2, #0x10 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 b _02073C9A _02073C78: mov r2, #0x18 @@ -216003,7 +216003,7 @@ _02073C78: add r2, r2, #0x1 lsl r2, r2, #0x10 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 b _02073C9A _02073C8C: mov r1, #0x16 @@ -216011,7 +216011,7 @@ _02073C8C: ldrsh r1, [r4, r1] ldrsh r2, [r4, r2] ldr r0, [r4, #0x24] - bl sub_0200C6E4 + bl FUN_0200C6E4 _02073C9A: add r0, r5, #0x1 lsl r0, r0, #0x10 @@ -216024,8 +216024,8 @@ _02073CA8: .word 0x00000B0C _02073CAC: .word 0x00000B0D _02073CB0: .word 0x00000B25 - thumb_func_start sub_02073CB4 -sub_02073CB4: ; 0x02073CB4 + thumb_func_start FUN_02073CB4 +FUN_02073CB4: ; 0x02073CB4 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -216038,31 +216038,31 @@ sub_02073CB4: ; 0x02073CB4 add r6, r2, #0x0 add r1, #0x1 add r2, sp, #0x0 - bl sub_0201C620 + bl FUN_0201C620 ldr r0, _02073D14 ; =0x000005A4 add r1, r4, #0x0 ldr r0, [r5, r0] add r0, #0x21 ldrb r0, [r0, #0x0] - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02073D18 ; =0x000005C8 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02073D18 ; =0x000005C8 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02073D18 ; =0x000005C8 add r2, sp, #0x0 ldrb r1, [r2, #0x1] ldrb r2, [r2, #0x0] ldr r0, [r5, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _02073D18 ; =0x000005C8 add r1, r6, #0x0 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 add sp, #0x4 pop {r3-r6, pc} nop @@ -216070,8 +216070,8 @@ _02073D10: .word 0x00000808 _02073D14: .word 0x000005A4 _02073D18: .word 0x000005C8 - thumb_func_start sub_02073D1C -sub_02073D1C: ; 0x02073D1C + thumb_func_start FUN_02073D1C +FUN_02073D1C: ; 0x02073D1C push {r3-r4, lr} sub sp, #0xc add r4, r0, #0x0 @@ -216089,34 +216089,34 @@ sub_02073D1C: ; 0x02073D1C lsl r0, r0, #0x4 ldr r0, [r4, r0] add r1, sp, #0x0 - bl sub_02020044 + bl FUN_02020044 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 add sp, #0xc pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02073D6C -sub_02073D6C: ; 0x02073D6C + thumb_func_start FUN_02073D6C +FUN_02073D6C: ; 0x02073D6C push {r4, lr} add r4, r0, #0x0 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02020128 + bl FUN_02020128 cmp r0, #0x1 bne _02073DA6 mov r0, #0x62 @@ -216124,23 +216124,23 @@ sub_02073D6C: ; 0x02073D6C mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_0202022C + bl FUN_0202022C cmp r0, #0x2 bne _02073DA6 mov r0, #0x62 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 _02073DA6: pop {r4, pc} - thumb_func_start sub_02073DA8 -sub_02073DA8: ; 0x02073DA8 + thumb_func_start FUN_02073DA8 +FUN_02073DA8: ; 0x02073DA8 lsl r1, r0, #0x2 ldr r0, _02073DB0 ; =0x020F9CAC ldr r0, [r0, r1] @@ -216148,75 +216148,75 @@ sub_02073DA8: ; 0x02073DA8 .balign 4 _02073DB0: .word 0x020F9CAC - thumb_func_start sub_02073DB4 -sub_02073DB4: ; 0x02073DB4 + thumb_func_start FUN_02073DB4 +FUN_02073DB4: ; 0x02073DB4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C ldr r0, _02073DEC ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02073DF0 ; =0x000006F8 ldr r0, [r4, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x95 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019178 + bl FUN_02019178 pop {r4, pc} .balign 4 _02073DEC: .word 0x000006FC _02073DF0: .word 0x000006F8 - thumb_func_start sub_02073DF4 -sub_02073DF4: ; 0x02073DF4 + thumb_func_start FUN_02073DF4 +FUN_02073DF4: ; 0x02073DF4 push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x26 mov r2, #0x0 - bl sub_020731D4 + bl FUN_020731D4 mov r0, #0x3 mov r1, #0xc - bl sub_02012838 + bl FUN_02012838 ldr r1, _02073EB0 ; =0x000006F8 str r0, [r5, r1] mov r0, #0x3 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x40 ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x4 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x3c ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x9 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02073EB0 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x28 ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 ldr r0, _02073EB0 ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] @@ -216245,7 +216245,7 @@ sub_02073DF4: ; 0x02073DF4 strb r6, [r2, #0xb] add r2, r1, #0x0 mov r3, #0xe - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 @@ -216254,7 +216254,7 @@ sub_02073DF4: ; 0x02073DF4 add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 ldr r1, _02073EB4 ; =0x000006FC str r0, [r5, r1] mov r0, #0xd @@ -216265,18 +216265,18 @@ sub_02073DF4: ; 0x02073DF4 _02073EB0: .word 0x000006F8 _02073EB4: .word 0x000006FC - thumb_func_start sub_02073EB8 -sub_02073EB8: ; 0x02073EB8 + thumb_func_start FUN_02073EB8 +FUN_02073EB8: ; 0x02073EB8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02073EE0 ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02073EE4 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 ldr r0, _02073EE8 ; =0x000005A4 mov r1, #0x3 ldr r0, [r5, r0] @@ -216290,8 +216290,8 @@ _02073EE0: .word 0x000006FC _02073EE4: .word 0x000006F8 _02073EE8: .word 0x000005A4 - thumb_func_start sub_02073EEC -sub_02073EEC: ; 0x02073EEC + thumb_func_start FUN_02073EEC +FUN_02073EEC: ; 0x02073EEC push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -216300,14 +216300,14 @@ sub_02073EEC: ; 0x02073EEC add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldr r0, _02074044 ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02074048 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 ldr r0, _0207404C ; =0x00000B25 ldrb r1, [r5, r0] mov r0, #0x2c @@ -216320,22 +216320,22 @@ sub_02073EEC: ; 0x02073EEC bne _02073F66 ldr r0, [r5, r0] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r2, _02074058 ; =0x0000069C add r6, r0, #0x0 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] mov r1, #0x51 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -216343,7 +216343,7 @@ sub_02073EEC: ; 0x02073EEC add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 b _02074018 _02073F66: ldr r0, [r5, r0] @@ -216351,7 +216351,7 @@ _02073F66: ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc - bl sub_0206ED38 + bl FUN_0206ED38 cmp r0, #0x1 bne _0207400A ldr r0, _02074054 ; =0x000005A4 @@ -216359,29 +216359,29 @@ _02073F66: ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x0 str r1, [sp, #0x0] add r6, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r6, #0x0 - bl sub_02069EC4 + bl FUN_02069EC4 ldr r2, _02074058 ; =0x0000069C mov r1, #0x52 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 ldr r2, _0207404C ; =0x00000B25 mov r3, #0x6a ldrb r6, [r5, r2] @@ -216393,7 +216393,7 @@ _02073F66: add r3, #0x6c ldrh r2, [r2, r3] mov r1, #0x1 - bl sub_0200AE38 + bl FUN_0200AE38 mov r2, #0x6a lsl r2, r2, #0x4 add r1, r2, #0x4 @@ -216401,7 +216401,7 @@ _02073F66: add r2, #0x8 ldr r1, [r5, r1] ldr r2, [r5, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r1, _0207404C ; =0x00000B25 mov r2, #0x2c ldrb r3, [r5, r1] @@ -216416,7 +216416,7 @@ _02073F66: mul r2, r1 add r2, r5, r2 ldrh r2, [r2, r3] - bl sub_02073A78 + bl FUN_02073A78 b _02074018 _0207400A: ldr r2, _02074058 ; =0x0000069C @@ -216424,7 +216424,7 @@ _0207400A: ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _02074018: mov r0, #0x89 lsl r0, r0, #0x2 @@ -216432,14 +216432,14 @@ _02074018: mov r1, #0x1 mov r2, #0xa mov r3, #0xf - bl sub_0200D0BC + bl FUN_0200D0BC mov r0, #0x89 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_0207322C + bl FUN_0207322C mov r0, #0xf str r0, [r4, #0x0] add sp, #0x4 @@ -216452,13 +216452,13 @@ _02074050: .word 0x0000070C _02074054: .word 0x000005A4 _02074058: .word 0x0000069C - thumb_func_start sub_0207405C -sub_0207405C: ; 0x0207405C + thumb_func_start FUN_0207405C +FUN_0207405C: ; 0x0207405C push {r4, lr} add r4, r0, #0x0 ldr r0, _020740A0 ; =0x00000B24 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _0207409A ldr r0, _020740A4 ; =0x021C48B8 @@ -216470,15 +216470,15 @@ sub_0207405C: ; 0x0207405C lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _020740A8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _0207409A: @@ -216489,46 +216489,46 @@ _020740A0: .word 0x00000B24 _020740A4: .word 0x021C48B8 _020740A8: .word 0x000005C8 - thumb_func_start sub_020740AC -sub_020740AC: ; 0x020740AC + thumb_func_start FUN_020740AC +FUN_020740AC: ; 0x020740AC push {r3-r6, lr} sub sp, #0x14 add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x27 mov r2, #0x0 - bl sub_020731D4 + bl FUN_020731D4 mov r0, #0x3 mov r1, #0xc - bl sub_02012838 + bl FUN_02012838 ldr r1, _02074168 ; =0x000006F8 str r0, [r5, r1] mov r0, #0x6 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x34 ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x7 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x30 ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x9 - bl sub_02073DA8 + bl FUN_02073DA8 ldr r1, _02074168 ; =0x000006F8 add r2, r0, #0x0 ldr r0, [r5, r1] sub r1, #0x28 ldr r1, [r5, r1] - bl sub_020128A0 + bl FUN_020128A0 ldr r0, _02074168 ; =0x000006F8 mov r1, #0x0 ldr r0, [r5, r0] @@ -216557,7 +216557,7 @@ sub_020740AC: ; 0x020740AC strb r6, [r2, #0xb] add r2, r1, #0x0 mov r3, #0xe - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 @@ -216566,7 +216566,7 @@ sub_020740AC: ; 0x020740AC add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 ldr r1, _0207416C ; =0x000006FC str r0, [r5, r1] mov r0, #0xd @@ -216577,18 +216577,18 @@ sub_020740AC: ; 0x020740AC _02074168: .word 0x000006F8 _0207416C: .word 0x000006FC - thumb_func_start sub_02074170 -sub_02074170: ; 0x02074170 + thumb_func_start FUN_02074170 +FUN_02074170: ; 0x02074170 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02074198 ; =0x000006FC add r4, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _0207419C ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 ldr r0, _020741A0 ; =0x000005A4 mov r1, #0x7 ldr r0, [r5, r0] @@ -216602,8 +216602,8 @@ _02074198: .word 0x000006FC _0207419C: .word 0x000006F8 _020741A0: .word 0x000005A4 - thumb_func_start sub_020741A4 -sub_020741A4: ; 0x020741A4 + thumb_func_start FUN_020741A4 +FUN_020741A4: ; 0x020741A4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x8d @@ -216611,21 +216611,21 @@ sub_020741A4: ; 0x020741A4 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldr r0, _020741EC ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _020741F0 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 add r0, r5, #0x0 mov r1, #0x2b mov r2, #0x1 - bl sub_020731E8 - ldr r0, _020741F4 ; =sub_02074200 + bl FUN_020731E8 + ldr r0, _020741F4 ; =FUN_02074200 ldr r1, _020741F8 ; =0x00000B18 - ldr r2, _020741FC ; =sub_02074278 + ldr r2, _020741FC ; =FUN_02074278 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -216638,12 +216638,12 @@ sub_020741A4: ; 0x020741A4 nop _020741EC: .word 0x000006FC _020741F0: .word 0x000006F8 -_020741F4: .word sub_02074200 + 1 +_020741F4: .word FUN_02074200 + 1 _020741F8: .word 0x00000B18 -_020741FC: .word sub_02074278 + 1 +_020741FC: .word FUN_02074278 + 1 - thumb_func_start sub_02074200 -sub_02074200: ; 0x02074200 + thumb_func_start FUN_02074200 +FUN_02074200: ; 0x02074200 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _02074268 ; =0x000005A4 @@ -216651,13 +216651,13 @@ sub_02074200: ; 0x02074200 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r0, #0x0 ldr r0, _02074268 ; =0x000005A4 mov r2, #0xc ldr r0, [r4, r0] ldr r0, [r0, #0x8] - bl sub_02085644 + bl FUN_02085644 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -216676,17 +216676,17 @@ sub_02074200: ; 0x02074200 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] - bl sub_02073A78 + bl FUN_02073A78 add r0, r4, #0x0 mov r1, #0x2e mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 b _0207425E _02074254: add r0, r4, #0x0 mov r1, #0x32 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 _0207425E: ldr r0, _02074274 ; =0x00000B22 mov r1, #0x10 @@ -216699,16 +216699,16 @@ _0207426C: .word 0x00000B25 _02074270: .word 0x0000070C _02074274: .word 0x00000B22 - thumb_func_start sub_02074278 -sub_02074278: ; 0x02074278 + thumb_func_start FUN_02074278 +FUN_02074278: ; 0x02074278 push {r4, lr} mov r1, #0x2f mov r2, #0x0 add r4, r0, #0x0 - bl sub_020731E8 - ldr r0, _0207429C ; =sub_020742A8 + bl FUN_020731E8 + ldr r0, _0207429C ; =FUN_020742A8 ldr r1, _020742A0 ; =0x00000B18 - ldr r2, _020742A4 ; =sub_02074340 + ldr r2, _020742A4 ; =FUN_02074340 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] @@ -216718,12 +216718,12 @@ sub_02074278: ; 0x02074278 mov r0, #0x14 pop {r4, pc} nop -_0207429C: .word sub_020742A8 + 1 +_0207429C: .word FUN_020742A8 + 1 _020742A0: .word 0x00000B18 -_020742A4: .word sub_02074340 + 1 +_020742A4: .word FUN_02074340 + 1 - thumb_func_start sub_020742A8 -sub_020742A8: ; 0x020742A8 + thumb_func_start FUN_020742A8 +FUN_020742A8: ; 0x020742A8 push {r3-r5, lr} ldr r1, _02074330 ; =0x00000B25 add r4, r0, #0x0 @@ -216738,7 +216738,7 @@ sub_020742A8: ; 0x020742A8 ldr r0, [r0, #0x4] mov r2, #0x1 mov r3, #0xc - bl sub_0206ED38 + bl FUN_0206ED38 cmp r0, #0x1 bne _0207431A ldr r0, _02074334 ; =0x000005A4 @@ -216746,15 +216746,15 @@ sub_020742A8: ; 0x020742A8 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x0 str r1, [sp, #0x0] add r5, r0, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02069EC4 + bl FUN_02069EC4 ldr r1, _02074330 ; =0x00000B25 mov r2, #0x2c ldrb r3, [r4, r1] @@ -216769,17 +216769,17 @@ sub_020742A8: ; 0x020742A8 mul r2, r1 add r2, r4, r2 ldrh r2, [r2, r3] - bl sub_02073A78 + bl FUN_02073A78 add r0, r4, #0x0 mov r1, #0x33 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 b _02074324 _0207431A: add r0, r4, #0x0 mov r1, #0x53 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 _02074324: ldr r0, _0207433C ; =0x00000B22 mov r1, #0x10 @@ -216792,30 +216792,30 @@ _02074334: .word 0x000005A4 _02074338: .word 0x0000070C _0207433C: .word 0x00000B22 - thumb_func_start sub_02074340 -sub_02074340: ; 0x02074340 + thumb_func_start FUN_02074340 +FUN_02074340: ; 0x02074340 push {r4, lr} add r4, r0, #0x0 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _02074368 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} .balign 4 _02074368: .word 0x000005C8 - thumb_func_start sub_0207436C -sub_0207436C: ; 0x0207436C + thumb_func_start FUN_0207436C +FUN_0207436C: ; 0x0207436C push {r4, lr} add r4, r0, #0x0 ldr r0, _020743A4 ; =0x021C48B8 @@ -216827,15 +216827,15 @@ sub_0207436C: ; 0x0207436C lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _020743A8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _0207439E: @@ -216845,8 +216845,8 @@ _0207439E: _020743A4: .word 0x021C48B8 _020743A8: .word 0x000005C8 - thumb_func_start sub_020743AC -sub_020743AC: ; 0x020743AC + thumb_func_start FUN_020743AC +FUN_020743AC: ; 0x020743AC push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _0207440C ; =0x00000B25 @@ -216862,10 +216862,10 @@ sub_020743AC: ; 0x020743AC sub r1, #0x16 ldr r0, [r5, r1] mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02074414 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 ldr r0, _02074418 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] @@ -216875,14 +216875,14 @@ sub_020743AC: ; 0x020743AC str r0, [r4, #0x0] pop {r3-r5, pc} _020743E6: - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0xc3 mov r2, #0x1 - bl sub_020731E8 - ldr r0, _0207441C ; =sub_02074428 + bl FUN_020731E8 + ldr r0, _0207441C ; =FUN_02074428 ldr r1, _02074420 ; =0x00000B18 - ldr r2, _02074424 ; =sub_02074454 + ldr r2, _02074424 ; =FUN_02074454 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -216897,12 +216897,12 @@ _0207440C: .word 0x00000B25 _02074410: .word 0x00000712 _02074414: .word 0x000006F8 _02074418: .word 0x000005A4 -_0207441C: .word sub_02074428 + 1 +_0207441C: .word FUN_02074428 + 1 _02074420: .word 0x00000B18 -_02074424: .word sub_02074454 + 1 +_02074424: .word FUN_02074454 + 1 - thumb_func_start sub_02074428 -sub_02074428: ; 0x02074428 + thumb_func_start FUN_02074428 +FUN_02074428: ; 0x02074428 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207444C ; =0x000005A4 @@ -216910,8 +216910,8 @@ sub_02074428: ; 0x02074428 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 - bl sub_0206AA84 + bl FUN_0206B9B0 + bl FUN_0206AA84 ldr r0, _0207444C ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -216923,30 +216923,30 @@ sub_02074428: ; 0x02074428 _0207444C: .word 0x000005A4 _02074450: .word 0x00000B25 - thumb_func_start sub_02074454 -sub_02074454: ; 0x02074454 + thumb_func_start FUN_02074454 +FUN_02074454: ; 0x02074454 push {r4, lr} add r4, r0, #0x0 mov r0, #0x89 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _0207447C ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} .balign 4 _0207447C: .word 0x000005C8 - thumb_func_start sub_02074480 -sub_02074480: ; 0x02074480 + thumb_func_start FUN_02074480 +FUN_02074480: ; 0x02074480 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02074528 ; =0x00000B23 @@ -216967,13 +216967,13 @@ sub_02074480: ; 0x02074480 ldr r0, _0207452C ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _0207452C ; =0x000005C8 add r1, sp, #0x0 ldr r0, [r5, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_0200C75C + bl FUN_0200C75C ldr r0, _02074530 ; =0x000005CC add r3, sp, #0x0 mov r1, #0x2 @@ -216981,7 +216981,7 @@ sub_02074480: ; 0x02074480 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r5, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _02074534 ; =0x000005A4 ldr r1, _02074528 ; =0x00000B23 ldr r0, [r5, r0] @@ -216990,33 +216990,33 @@ sub_02074480: ; 0x02074480 ldrb r0, [r0, #0x0] lsl r1, r1, #0x1a lsr r1, r1, #0x1a - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _02074530 ; =0x000005CC add r1, r1, #0x2 ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _02074530 ; =0x000005CC mov r1, #0x1 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r1, _02074528 ; =0x00000B23 add r0, r5, #0x0 ldrb r1, [r5, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a - bl sub_020709FC + bl FUN_020709FC mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x1e mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 mov r0, #0x18 str r0, [r4, #0x0] pop {r3-r5, pc} @@ -217026,8 +217026,8 @@ _0207452C: .word 0x000005C8 _02074530: .word 0x000005CC _02074534: .word 0x000005A4 - thumb_func_start sub_02074538 -sub_02074538: ; 0x02074538 + thumb_func_start FUN_02074538 +FUN_02074538: ; 0x02074538 push {r4, lr} ldr r1, _02074578 ; =0x00000B23 add r4, r0, #0x0 @@ -217038,32 +217038,32 @@ sub_02074538: ; 0x02074538 ldr r0, _0207457C ; =0x000005CC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _02074580 ; =0x00000B25 ldrb r1, [r4, r0] cmp r1, #0x6 bhs _0207455E add r0, r4, #0x0 - bl sub_020709FC + bl FUN_020709FC _0207455E: ldr r1, _02074578 ; =0x00000B23 add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a - bl sub_020709FC + bl FUN_020709FC add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 pop {r4, pc} .balign 4 _02074578: .word 0x00000B23 _0207457C: .word 0x000005CC _02074580: .word 0x00000B25 - thumb_func_start sub_02074584 -sub_02074584: ; 0x02074584 + thumb_func_start FUN_02074584 +FUN_02074584: ; 0x02074584 push {r3-r7, lr} sub sp, #0x28 ldr r2, _020746AC ; =0x00000B25 @@ -217115,11 +217115,11 @@ _020745DA: strb r1, [r6, r0] ldr r0, [r6, #0x0] mov r1, #0x2 - bl sub_0201886C + bl FUN_0201886C str r0, [sp, #0x14] ldr r0, [r6, #0x0] mov r1, #0x1 - bl sub_0201886C + bl FUN_0201886C ldr r1, _020746B4 ; =0x00000B0C str r0, [sp, #0x10] ldrb r3, [r6, r1] @@ -217169,13 +217169,13 @@ _02074638: ldr r1, [sp, #0x14] add r0, r0, r5 add r1, r1, r7 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x1c] ldr r1, [sp, #0x10] add r0, r0, r5 add r1, r1, r7 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x4] mov r2, #0x20 add r0, r0, r4 @@ -217187,13 +217187,13 @@ _02074638: ldr r1, [sp, #0x14] add r0, r0, r5 add r1, r1, r7 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [sp, #0x24] ldr r1, [sp, #0x10] add r0, r0, r5 add r1, r1, r7 mov r2, #0x20 - blx sub_020DF438 + blx FUN_020DF438 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -217202,11 +217202,11 @@ _02074638: ldr r0, _020746CC ; =0x000005C8 mov r1, #0x0 ldr r0, [r6, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _020746D0 ; =0x000005CC mov r1, #0x0 ldr r0, [r6, r0] - bl sub_020200A0 + bl FUN_020200A0 add sp, #0x28 pop {r3-r7, pc} .balign 4 @@ -217221,8 +217221,8 @@ _020746C8: .word 0x00000A4C _020746CC: .word 0x000005C8 _020746D0: .word 0x000005CC - thumb_func_start sub_020746D4 -sub_020746D4: ; 0x020746D4 + thumb_func_start FUN_020746D4 +FUN_020746D4: ; 0x020746D4 push {r3-r5, lr} ldr r1, _02074828 ; =0x0000080C add r5, r0, #0x0 @@ -217246,7 +217246,7 @@ _020746E6: lsl r2, r3, #0x3 mov r0, #0x6a lsl r0, r0, #0x4 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207482C ; =0x00000305 mov r1, #0x1 strb r1, [r4, r0] @@ -217281,8 +217281,8 @@ _02074830: .byte 0x02, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 .byte 0xC8, 0x05, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00 - thumb_func_start sub_02074848 -sub_02074848: ; 0x02074848 + thumb_func_start FUN_02074848 +FUN_02074848: ; 0x02074848 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 @@ -217315,7 +217315,7 @@ sub_02074848: ; 0x02074848 ldr r3, [sp, #0x20] mov r1, #0x2 mov r2, #0x0 - bl sub_02018540 + bl FUN_02018540 str r6, [sp, #0x0] mov r1, #0x10 str r1, [sp, #0x4] @@ -217326,7 +217326,7 @@ sub_02074848: ; 0x02074848 ldr r3, [sp, #0x20] mov r1, #0x1 mov r2, #0x0 - bl sub_02018540 + bl FUN_02018540 ldr r0, [sp, #0x1c] add r1, r4, r0 ldr r0, _02074994 ; =0x00000302 @@ -217357,7 +217357,7 @@ sub_02074848: ; 0x02074848 ldr r2, [sp, #0x20] mov r1, #0x2 add r3, r6, #0x0 - bl sub_02018170 + bl FUN_02018170 ldr r0, _02074998 ; =0x00000306 mov r3, #0x10 ldrb r2, [r4, r0] @@ -217380,7 +217380,7 @@ sub_02074848: ; 0x02074848 ldr r2, [sp, #0x20] mov r1, #0x1 add r3, r6, #0x0 - bl sub_02018170 + bl FUN_02018170 add sp, #0x28 pop {r3-r7, pc} _02074918: @@ -217411,7 +217411,7 @@ _02074918: mov r1, #0x2 lsr r2, r2, #0x18 add r3, r6, #0x0 - bl sub_02018170 + bl FUN_02018170 ldr r0, _02074998 ; =0x00000306 ldrb r2, [r4, r0] mov r0, #0x10 @@ -217438,7 +217438,7 @@ _02074918: mov r1, #0x1 lsr r2, r2, #0x18 add r3, r6, #0x0 - bl sub_02018170 + bl FUN_02018170 add sp, #0x28 pop {r3-r7, pc} nop @@ -217446,8 +217446,8 @@ _02074990: .word 0x0000080C _02074994: .word 0x00000302 _02074998: .word 0x00000306 - thumb_func_start sub_0207499C -sub_0207499C: ; 0x0207499C + thumb_func_start FUN_0207499C +FUN_0207499C: ; 0x0207499C push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02074AE0 ; =0x0000080C @@ -217466,7 +217466,7 @@ sub_0207499C: ; 0x0207499C ldr r0, [r1, r0] add r1, sp, #0x0 add r1, #0x2 - bl sub_0200C75C + bl FUN_0200C75C cmp r7, #0x0 ldr r0, _02074AE4 ; =0x00000716 bne _02074A04 @@ -217541,7 +217541,7 @@ _02074A3C: sub r2, #0xc ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AEC ; =0x0000071A @@ -217557,7 +217557,7 @@ _02074A3C: ldrsh r1, [r2, r3] add r3, r3, #0x2 ldrsh r2, [r2, r3] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AF0 ; =0x0000071E @@ -217573,7 +217573,7 @@ _02074A3C: ldrsh r1, [r2, r3] add r3, r3, #0x2 ldrsh r2, [r2, r3] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldrb r2, [r6, r4] mov r0, #0x2c ldr r3, _02074AF0 ; =0x0000071E @@ -217592,7 +217592,7 @@ _02074A3C: add r1, #0x8 lsl r1, r1, #0x10 asr r1, r1, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 ldrb r0, [r6, r4] add r3, sp, #0x0 mov r2, #0x0 @@ -217604,7 +217604,7 @@ _02074A3C: mov r1, #0x2 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r7, pc} .balign 4 _02074AE0: .word 0x0000080C @@ -217613,8 +217613,8 @@ _02074AE8: .word 0x00000724 _02074AEC: .word 0x0000071A _02074AF0: .word 0x0000071E - thumb_func_start sub_02074AF4 -sub_02074AF4: ; 0x02074AF4 + thumb_func_start FUN_02074AF4 +FUN_02074AF4: ; 0x02074AF4 push {r4-r7, lr} sub sp, #0x1c add r5, r0, #0x0 @@ -217622,7 +217622,7 @@ sub_02074AF4: ; 0x02074AF4 mov r1, #0x2c add r4, r5, r0 mov r0, #0xc - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 mov r0, #0x3 lsl r0, r0, #0x8 @@ -217684,7 +217684,7 @@ _02074B6A: add r1, r7, #0x0 str r0, [r3, #0x0] mov r0, #0xc - bl sub_02016A8C + bl FUN_02016A8C mov r1, #0x3 lsl r1, r1, #0x8 ldrb r3, [r4, r1] @@ -217893,26 +217893,26 @@ _02074B6A: strb r2, [r0, r3] ldrb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02072D1C + bl FUN_02072D1C ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] - bl sub_02072D1C + bl FUN_02072D1C mov r1, #0x3 lsl r1, r1, #0x8 ldrb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02072E14 + bl FUN_02072E14 ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] - bl sub_02072E14 + bl FUN_02072E14 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02074DE4 + bl FUN_02074DE4 add r0, r5, #0x0 mov r1, #0x1 - bl sub_02074DE4 + bl FUN_02074DE4 mov r0, #0x3 lsl r0, r0, #0x8 ldrb r1, [r4, r0] @@ -217926,7 +217926,7 @@ _02074B6A: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C ldr r0, _02074DD4 ; =0x00000301 mov r2, #0x2c ldrb r1, [r4, r0] @@ -217939,7 +217939,7 @@ _02074B6A: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C mov r0, #0x3 lsl r0, r0, #0x8 ldrb r1, [r4, r0] @@ -217949,7 +217949,7 @@ _02074B6A: add r3, r5, r2 ldr r2, _02074DE0 ; =0x0000070C ldrh r2, [r3, r2] - bl sub_02073A78 + bl FUN_02073A78 ldr r0, _02074DD4 ; =0x00000301 mov r2, #0x2c ldrb r1, [r4, r0] @@ -217958,16 +217958,16 @@ _02074B6A: add r3, r5, r2 ldr r2, _02074DE0 ; =0x0000070C ldrh r2, [r3, r2] - bl sub_02073A78 + bl FUN_02073A78 mov r1, #0x3 lsl r1, r1, #0x8 ldrb r1, [r4, r1] add r0, r5, #0x0 - bl sub_02073B3C + bl FUN_02073B3C ldr r1, _02074DD4 ; =0x00000301 add r0, r5, #0x0 ldrb r1, [r4, r1] - bl sub_02073B3C + bl FUN_02073B3C add sp, #0x1c pop {r4-r7, pc} .balign 4 @@ -217977,8 +217977,8 @@ _02074DD8: .word 0x00000716 _02074DDC: .word 0x0000070E _02074DE0: .word 0x0000070C - thumb_func_start sub_02074DE4 -sub_02074DE4: ; 0x02074DE4 + thumb_func_start FUN_02074DE4 +FUN_02074DE4: ; 0x02074DE4 push {r3-r7, lr} add r7, r1, #0x0 ldr r1, _02074E6C ; =0x0000080C @@ -217987,7 +217987,7 @@ sub_02074DE4: ; 0x02074DE4 mov r1, #0xc0 mul r1, r7 add r5, r4, r1 - bl sub_020703BC + bl FUN_020703BC add r3, r0, #0x0 mov r0, #0x3 add r1, r4, r7 @@ -218052,8 +218052,8 @@ _02074E44: _02074E6C: .word 0x0000080C _02074E70: .word 0x00000FFF - thumb_func_start sub_02074E74 -sub_02074E74: ; 0x02074E74 + thumb_func_start FUN_02074E74 +FUN_02074E74: ; 0x02074E74 push {r4-r6, lr} add r5, r0, #0x0 mov r0, #0x85 @@ -218061,9 +218061,9 @@ sub_02074E74: ; 0x02074E74 add r6, r1, #0x0 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 ldr r0, _02074F5C ; =0x000005A4 mov r4, #0x0 ldr r0, [r5, r0] @@ -218087,15 +218087,15 @@ _02074E9E: strb r2, [r0, #0x0] ldrb r1, [r5, r1] add r0, r5, #0x0 - bl sub_02073024 + bl FUN_02073024 add r0, r5, #0x0 mov r1, #0x22 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _02074F64 ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _02074F5C ; =0x000005A4 ldr r0, [r5, r0] add r0, #0x32 @@ -218107,7 +218107,7 @@ _02074E9E: bne _02074EEA add r0, r5, #0x0 mov r1, #0x6 - bl sub_02070E60 + bl FUN_02070E60 _02074EEA: mov r0, #0x1 str r0, [r6, #0x0] @@ -218136,7 +218136,7 @@ _02074EFA: add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 b _02074F50 _02074F22: .byte 0x28, 0x1C, 0x64, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x5E, 0xF9, 0x10, 0xE0, 0x28, 0x1C @@ -218155,8 +218155,8 @@ _02074F60: .word 0x00000B25 _02074F64: .word 0x000005C8 _02074F68: .word 0x00000B22 - thumb_func_start sub_02074F6C -sub_02074F6C: ; 0x02074F6C + thumb_func_start FUN_02074F6C +FUN_02074F6C: ; 0x02074F6C push {r4, lr} add r4, r0, #0x0 ldr r0, _02074FA4 ; =0x021C48B8 @@ -218168,15 +218168,15 @@ sub_02074F6C: ; 0x02074F6C lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x22 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _02074FA8 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 pop {r4, pc} _02074F9E: @@ -218186,8 +218186,8 @@ _02074F9E: _02074FA4: .word 0x021C48B8 _02074FA8: .word 0x000005C8 - thumb_func_start sub_02074FAC -sub_02074FAC: ; 0x02074FAC + thumb_func_start FUN_02074FAC +FUN_02074FAC: ; 0x02074FAC push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _02075080 ; =0x000005A4 @@ -218268,7 +218268,7 @@ _02075032: beq _02075046 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02073024 + bl FUN_02073024 _02075046: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -218279,17 +218279,17 @@ _02075046: lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r5, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _0207508C ; =0x000005C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, [sp, #0x0] mov r1, #0x1 str r1, [r0, #0x0] @@ -218300,8 +218300,8 @@ _02075084: .word 0x00000B25 _02075088: .word 0x00000729 _0207508C: .word 0x000005C8 - thumb_func_start sub_02075090 -sub_02075090: ; 0x02075090 + thumb_func_start FUN_02075090 +FUN_02075090: ; 0x02075090 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020750B8 ; =0x000005A4 @@ -218312,10 +218312,10 @@ sub_02075090: ; 0x02075090 strb r1, [r0, #0x0] ldr r0, _020750BC ; =0x000006FC ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _020750C0 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} @@ -218324,8 +218324,8 @@ _020750B8: .word 0x000005A4 _020750BC: .word 0x000006FC _020750C0: .word 0x000006F8 - thumb_func_start sub_020750C4 -sub_020750C4: ; 0x020750C4 + thumb_func_start FUN_020750C4 +FUN_020750C4: ; 0x020750C4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020750EC ; =0x000005A4 @@ -218337,10 +218337,10 @@ sub_020750C4: ; 0x020750C4 ldr r0, _020750F0 ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _020750F4 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x1b str r0, [r4, #0x0] pop {r3-r5, pc} @@ -218349,24 +218349,24 @@ _020750EC: .word 0x000005A4 _020750F0: .word 0x000006FC _020750F4: .word 0x000006F8 - thumb_func_start sub_020750F8 -sub_020750F8: ; 0x020750F8 + thumb_func_start FUN_020750F8 +FUN_020750F8: ; 0x020750F8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r5, #0x0 - bl sub_02075118 + bl FUN_02075118 str r0, [r4, #0x0] pop {r3-r5, pc} - thumb_func_start sub_02075118 -sub_02075118: ; 0x02075118 + thumb_func_start FUN_02075118 +FUN_02075118: ; 0x02075118 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075190 ; =0x000005A4 @@ -218374,10 +218374,10 @@ sub_02075118: ; 0x02075118 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xa1 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 ldr r2, _02075198 ; =0x0000069C bne _0207515C @@ -218385,7 +218385,7 @@ sub_02075118: ; 0x02075118 add r2, #0x8 ldr r2, [r4, r2] mov r1, #0x81 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _02075194 ; =0x00000B25 ldrb r0, [r4, r0] add r0, #0x16 @@ -218395,14 +218395,14 @@ sub_02075118: ; 0x02075118 lsl r0, r0, #0x4 ldr r0, [r1, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 b _0207516E _0207515C: ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] mov r1, #0x82 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _02075194 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] @@ -218411,7 +218411,7 @@ _0207516E: add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02075190 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -218428,8 +218428,8 @@ _02075194: .word 0x00000B25 _02075198: .word 0x0000069C _0207519C: .word 0x00000B22 - thumb_func_start sub_020751A0 -sub_020751A0: ; 0x020751A0 + thumb_func_start FUN_020751A0 +FUN_020751A0: ; 0x020751A0 push {r4-r6, lr} add r6, r1, #0x0 add r4, r0, #0x0 @@ -218441,7 +218441,7 @@ sub_020751A0: ; 0x020751A0 sub r1, #0xb lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_02063948 + bl FUN_02063948 add r1, r0, #0x0 beq _020751C8 ldr r0, _02075234 ; =0x000005A4 @@ -218468,10 +218468,10 @@ _020751CA: ldr r0, _02075238 ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _0207523C ; =0x000006F8 ldr r0, [r4, r0] - bl sub_02012870 + bl FUN_02012870 mov r0, #0x1b str r0, [r6, #0x0] pop {r4-r6, pc} @@ -218483,13 +218483,13 @@ _0207520A: lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02075240 ; =0x00000B22 mov r1, #0x3 strb r1, [r4, r0] @@ -218502,181 +218502,181 @@ _02075238: .word 0x000006FC _0207523C: .word 0x000006F8 _02075240: .word 0x00000B22 - thumb_func_start sub_02075244 -sub_02075244: ; 0x02075244 + thumb_func_start FUN_02075244 +FUN_02075244: ; 0x02075244 ldr r2, _02075254 ; =0x000005A4 mov r3, #0xb ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075258 ; =sub_020751A0 + ldr r3, _02075258 ; =FUN_020751A0 bx r3 nop _02075254: .word 0x000005A4 -_02075258: .word sub_020751A0 + 1 +_02075258: .word FUN_020751A0 + 1 - thumb_func_start sub_0207525C -sub_0207525C: ; 0x0207525C + thumb_func_start FUN_0207525C +FUN_0207525C: ; 0x0207525C ldr r2, _0207526C ; =0x000005A4 mov r3, #0x10 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075270 ; =sub_020751A0 + ldr r3, _02075270 ; =FUN_020751A0 bx r3 nop _0207526C: .word 0x000005A4 -_02075270: .word sub_020751A0 + 1 +_02075270: .word FUN_020751A0 + 1 - thumb_func_start sub_02075274 -sub_02075274: ; 0x02075274 + thumb_func_start FUN_02075274 +FUN_02075274: ; 0x02075274 ldr r2, _02075284 ; =0x000005A4 mov r3, #0xe ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075288 ; =sub_020751A0 + ldr r3, _02075288 ; =FUN_020751A0 bx r3 nop _02075284: .word 0x000005A4 -_02075288: .word sub_020751A0 + 1 +_02075288: .word FUN_020751A0 + 1 - thumb_func_start sub_0207528C -sub_0207528C: ; 0x0207528C + thumb_func_start FUN_0207528C +FUN_0207528C: ; 0x0207528C ldr r2, _0207529C ; =0x000005A4 mov r3, #0xd ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _020752A0 ; =sub_020751A0 + ldr r3, _020752A0 ; =FUN_020751A0 bx r3 nop _0207529C: .word 0x000005A4 -_020752A0: .word sub_020751A0 + 1 +_020752A0: .word FUN_020751A0 + 1 - thumb_func_start sub_020752A4 -sub_020752A4: ; 0x020752A4 + thumb_func_start FUN_020752A4 +FUN_020752A4: ; 0x020752A4 ldr r2, _020752B4 ; =0x000005A4 mov r3, #0xf ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _020752B8 ; =sub_020751A0 + ldr r3, _020752B8 ; =FUN_020751A0 bx r3 nop _020752B4: .word 0x000005A4 -_020752B8: .word sub_020751A0 + 1 +_020752B8: .word FUN_020751A0 + 1 - thumb_func_start sub_020752BC -sub_020752BC: ; 0x020752BC + thumb_func_start FUN_020752BC +FUN_020752BC: ; 0x020752BC ldr r2, _020752CC ; =0x000005A4 mov r3, #0x12 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _020752D0 ; =sub_020751A0 + ldr r3, _020752D0 ; =FUN_020751A0 bx r3 nop _020752CC: .word 0x000005A4 -_020752D0: .word sub_020751A0 + 1 +_020752D0: .word FUN_020751A0 + 1 - thumb_func_start sub_020752D4 -sub_020752D4: ; 0x020752D4 + thumb_func_start FUN_020752D4 +FUN_020752D4: ; 0x020752D4 ldr r2, _020752E4 ; =0x000005A4 mov r3, #0xc ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _020752E8 ; =sub_020751A0 + ldr r3, _020752E8 ; =FUN_020751A0 bx r3 nop _020752E4: .word 0x000005A4 -_020752E8: .word sub_020751A0 + 1 +_020752E8: .word FUN_020751A0 + 1 - thumb_func_start sub_020752EC -sub_020752EC: ; 0x020752EC + thumb_func_start FUN_020752EC +FUN_020752EC: ; 0x020752EC ldr r2, _020752FC ; =0x000005A4 mov r3, #0x11 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075300 ; =sub_020751A0 + ldr r3, _02075300 ; =FUN_020751A0 bx r3 nop _020752FC: .word 0x000005A4 -_02075300: .word sub_020751A0 + 1 +_02075300: .word FUN_020751A0 + 1 - thumb_func_start sub_02075304 -sub_02075304: ; 0x02075304 + thumb_func_start FUN_02075304 +FUN_02075304: ; 0x02075304 ldr r2, _02075314 ; =0x000005A4 mov r3, #0x13 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075318 ; =sub_020751A0 + ldr r3, _02075318 ; =FUN_020751A0 bx r3 nop _02075314: .word 0x000005A4 -_02075318: .word sub_020751A0 + 1 +_02075318: .word FUN_020751A0 + 1 - thumb_func_start sub_0207531C -sub_0207531C: ; 0x0207531C + thumb_func_start FUN_0207531C +FUN_0207531C: ; 0x0207531C ldr r2, _0207532C ; =0x000005A4 mov r3, #0x14 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075330 ; =sub_020751A0 + ldr r3, _02075330 ; =FUN_020751A0 bx r3 nop _0207532C: .word 0x000005A4 -_02075330: .word sub_020751A0 + 1 +_02075330: .word FUN_020751A0 + 1 - thumb_func_start sub_02075334 -sub_02075334: ; 0x02075334 + thumb_func_start FUN_02075334 +FUN_02075334: ; 0x02075334 ldr r2, _02075344 ; =0x000005A4 mov r3, #0x15 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075348 ; =sub_020751A0 + ldr r3, _02075348 ; =FUN_020751A0 bx r3 nop _02075344: .word 0x000005A4 -_02075348: .word sub_020751A0 + 1 +_02075348: .word FUN_020751A0 + 1 - thumb_func_start sub_0207534C -sub_0207534C: ; 0x0207534C + thumb_func_start FUN_0207534C +FUN_0207534C: ; 0x0207534C ldr r2, _0207535C ; =0x000005A4 mov r3, #0x16 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075360 ; =sub_020751A0 + ldr r3, _02075360 ; =FUN_020751A0 bx r3 nop _0207535C: .word 0x000005A4 -_02075360: .word sub_020751A0 + 1 +_02075360: .word FUN_020751A0 + 1 - thumb_func_start sub_02075364 -sub_02075364: ; 0x02075364 + thumb_func_start FUN_02075364 +FUN_02075364: ; 0x02075364 ldr r2, _02075374 ; =0x000005A4 mov r3, #0x17 ldr r2, [r0, r2] add r2, #0x23 strb r3, [r2, #0x0] - ldr r3, _02075378 ; =sub_020751A0 + ldr r3, _02075378 ; =FUN_020751A0 bx r3 nop _02075374: .word 0x000005A4 -_02075378: .word sub_020751A0 + 1 +_02075378: .word FUN_020751A0 + 1 - thumb_func_start sub_0207537C -sub_0207537C: ; 0x0207537C + thumb_func_start FUN_0207537C +FUN_0207537C: ; 0x0207537C push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_020753B4 + bl FUN_020753B4 str r0, [r5, #0x0] cmp r0, #0x1a bne _02075392 @@ -218688,12 +218688,12 @@ _02075392: .balign 4 _02075394: .word 0x00000B2E - thumb_func_start sub_02075398 -sub_02075398: ; 0x02075398 + thumb_func_start FUN_02075398 +FUN_02075398: ; 0x02075398 push {r3-r5, lr} add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_020753B4 + bl FUN_020753B4 str r0, [r5, #0x0] cmp r0, #0x1a bne _020753AE @@ -218705,8 +218705,8 @@ _020753AE: .balign 4 _020753B0: .word 0x00000B2E - thumb_func_start sub_020753B4 -sub_020753B4: ; 0x020753B4 + thumb_func_start FUN_020753B4 +FUN_020753B4: ; 0x020753B4 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -218714,9 +218714,9 @@ sub_020753B4: ; 0x020753B4 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 - bl sub_02073DB4 + bl FUN_02073DB4 ldr r0, _020754A8 ; =0x00000B25 ldrb r1, [r4, r0] mov r0, #0x2c @@ -218725,7 +218725,7 @@ sub_020753B4: ; 0x020753B4 ldr r0, _020754AC ; =0x00000708 ldrh r0, [r1, r0] mov r1, #0x5 - blx sub_020EBC80 + blx FUN_020EBC80 ldr r1, _020754B0 ; =0x00000B28 strh r0, [r4, r1] sub r0, r1, #0x3 @@ -218741,7 +218741,7 @@ sub_020753B4: ; 0x020753B4 add r0, r4, #0x0 mov r1, #0x8a mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _020754B8 ; =0x00000B22 mov r1, #0x3 strb r1, [r4, r0] @@ -218768,13 +218768,13 @@ _0207540E: ldr r0, _020754BC ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 ldr r0, _020754BC ; =0x000005C8 add r1, sp, #0x0 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_0200C75C + bl FUN_0200C75C ldr r0, _020754C0 ; =0x000005CC add r3, sp, #0x0 mov r1, #0x2 @@ -218782,7 +218782,7 @@ _0207540E: ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _020754C4 ; =0x000005A4 ldr r1, _020754C8 ; =0x00000B23 ldr r0, [r4, r0] @@ -218791,26 +218791,26 @@ _0207540E: ldrb r0, [r0, #0x0] lsl r1, r1, #0x1a lsr r1, r1, #0x1a - bl sub_020714BC + bl FUN_020714BC add r1, r0, #0x0 ldr r0, _020754C0 ; =0x000005CC add r1, r1, #0x2 ldr r0, [r4, r0] - bl sub_02020130 + bl FUN_02020130 ldr r0, _020754C0 ; =0x000005CC mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r1, _020754C8 ; =0x00000B23 add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1a lsr r1, r1, #0x1a - bl sub_020709FC + bl FUN_020709FC add r0, r4, #0x0 mov r1, #0x24 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _020754CC ; =0x00000B2A mov r1, #0x0 strh r1, [r4, r0] @@ -218829,8 +218829,8 @@ _020754C4: .word 0x000005A4 _020754C8: .word 0x00000B23 _020754CC: .word 0x00000B2A - thumb_func_start sub_020754D0 -sub_020754D0: ; 0x020754D0 + thumb_func_start FUN_020754D0 +FUN_020754D0: ; 0x020754D0 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075504 ; =0x021C48B8 @@ -218842,15 +218842,15 @@ sub_020754D0: ; 0x020754D0 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 ldr r0, _02075508 ; =0x000005C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x1 _02075500: pop {r4, pc} @@ -218858,110 +218858,110 @@ _02075500: _02075504: .word 0x021C48B8 _02075508: .word 0x000005C8 - thumb_func_start sub_0207550C -sub_0207550C: ; 0x0207550C + thumb_func_start FUN_0207550C +FUN_0207550C: ; 0x0207550C push {r3-r5, lr} mov r1, #0x0 mov r2, #0xc - bl sub_0206E710 + bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x1 beq _0207552C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1c pop {r3-r5, pc} _0207552C: add r0, r4, #0x0 mov r1, #0x1b - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1c - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1d - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1e - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x1f - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x20 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02075580 add r0, r4, #0x0 mov r1, #0x21 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0207558A _02075580: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r3-r5, pc} _0207558A: add r0, r4, #0x0 mov r1, #0x18 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020755A0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _020755A0: add r0, r4, #0x0 mov r1, #0x19 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020755B6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x2 pop {r3-r5, pc} _020755B6: add r0, r4, #0x0 mov r1, #0xf - bl sub_0206E7DC + bl FUN_0206E7DC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x10 - bl sub_0206E7DC + bl FUN_0206E7DC lsl r0, r0, #0x1 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x11 - bl sub_0206E7DC + bl FUN_0206E7DC lsl r0, r0, #0x2 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x12 - bl sub_0206E7DC + bl FUN_0206E7DC lsl r0, r0, #0x3 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x13 - bl sub_0206E7DC + bl FUN_0206E7DC lsl r0, r0, #0x4 add r5, r5, r0 add r0, r4, #0x0 mov r1, #0x14 - bl sub_0206E7DC + bl FUN_0206E7DC lsl r0, r0, #0x5 add r5, r5, r0 cmp r5, #0x10 @@ -218999,199 +218999,199 @@ _02075632: .byte 0x20, 0x1C, 0xA1, 0xF7, 0xE1, 0xF9, 0x06, 0x20, 0x38, 0xBD _0207565A: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x7 pop {r3-r5, pc} _02075664: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x8 pop {r3-r5, pc} _0207566E: add r0, r4, #0x0 mov r1, #0x26 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02075684 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xb pop {r3-r5, pc} _02075684: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x9 pop {r3-r5, pc} _0207568E: add r0, r4, #0x0 mov r1, #0x15 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020756A4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xa pop {r3-r5, pc} _020756A4: add r0, r4, #0x0 mov r1, #0x26 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020756BA add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xb pop {r3-r5, pc} _020756BA: add r0, r4, #0x0 mov r1, #0x30 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _020756D0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xc pop {r3-r5, pc} _020756D0: bge _020756DC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x12 pop {r3-r5, pc} _020756DC: add r0, r4, #0x0 mov r1, #0x31 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _020756F2 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xd pop {r3-r5, pc} _020756F2: bge _020756FE add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x13 pop {r3-r5, pc} _020756FE: add r0, r4, #0x0 mov r1, #0x32 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02075714 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xe pop {r3-r5, pc} _02075714: bge _02075720 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x14 pop {r3-r5, pc} _02075720: add r0, r4, #0x0 mov r1, #0x33 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02075736 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0xf pop {r3-r5, pc} _02075736: bge _02075742 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x15 pop {r3-r5, pc} _02075742: add r0, r4, #0x0 mov r1, #0x34 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02075758 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x10 pop {r3-r5, pc} _02075758: bge _02075764 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x16 pop {r3-r5, pc} _02075764: add r0, r4, #0x0 mov r1, #0x35 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _0207577A add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x11 pop {r3-r5, pc} _0207577A: bge _02075786 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x17 pop {r3-r5, pc} _02075786: add r0, r4, #0x0 mov r1, #0x1a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0207579C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x18 pop {r3-r5, pc} _0207579C: add r0, r4, #0x0 mov r1, #0x22 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020757B2 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x19 pop {r3-r5, pc} _020757B2: add r0, r4, #0x0 mov r1, #0x23 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020757C8 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1a pop {r3-r5, pc} _020757C8: add r0, r4, #0x0 mov r1, #0x24 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _020757E0 add r0, r4, #0x0 mov r1, #0x25 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020757EA _020757E0: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1b pop {r3-r5, pc} _020757EA: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1c pop {r3-r5, pc} - thumb_func_start sub_020757F4 -sub_020757F4: ; 0x020757F4 + thumb_func_start FUN_020757F4 +FUN_020757F4: ; 0x020757F4 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, _02075B8C ; =0x000005A4 @@ -219201,16 +219201,16 @@ sub_020757F4: ; 0x020757F4 ldrb r1, [r4, r1] ldr r0, [r0, #0x0] add r5, r2, #0x0 - bl sub_0206B9B0 - bl sub_020690E4 + bl FUN_0206B9B0 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 add r0, r6, #0x0 - bl sub_0207550C + bl FUN_0207550C cmp r0, #0x1b bls _02075828 b _02075C40 @@ -219252,7 +219252,7 @@ _02075828: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x41 ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -219260,9 +219260,9 @@ _02075828: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 pop {r4-r6, pc} _02075890: .byte 0xC0, 0x48, 0x5B, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x3D, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 @@ -219334,19 +219334,19 @@ _02075C40: ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 pop {r4-r6, pc} .balign 4 _02075C50: .word 0x0000069C - thumb_func_start sub_02075C54 -sub_02075C54: ; 0x02075C54 + thumb_func_start FUN_02075C54 +FUN_02075C54: ; 0x02075C54 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075CCC ; =0x000005A4 ldr r0, [r4, r0] ldrh r0, [r0, #0x24] - bl sub_0207550C + bl FUN_0207550C cmp r0, #0x1c bhi _02075CCA add r0, r0, r0 @@ -219384,7 +219384,7 @@ sub_02075C54: ; 0x02075C54 lsl r0, r0, #0x1 lsl r0, r0, #0x1 lsl r6, r2, #0x1 - ldr r1, _02075CD0 ; =sub_0207640C + ldr r1, _02075CD0 ; =FUN_0207640C ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] pop {r4, pc} @@ -219395,19 +219395,19 @@ _02075CCA: pop {r4, pc} .balign 4 _02075CCC: .word 0x000005A4 -_02075CD0: .word sub_0207640C + 1 +_02075CD0: .word FUN_0207640C + 1 _02075CD4: .word 0x00000B14 _02075CD8: .byte 0x21, 0x5D, 0x07, 0x02, 0xC1, 0x5D, 0x07, 0x02 .byte 0x61, 0x5F, 0x07, 0x02 - thumb_func_start sub_02075CE4 -sub_02075CE4: ; 0x02075CE4 + thumb_func_start FUN_02075CE4 +FUN_02075CE4: ; 0x02075CE4 push {r4, lr} add r4, r0, #0x0 ldr r0, _02075D14 ; =0x00000B24 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 beq _02075CF8 mov r0, #0x5 @@ -219433,14 +219433,14 @@ _02075D14: .word 0x00000B24 _02075D18: .word 0x021C48B8 _02075D1C: .word 0x000005A4 - thumb_func_start sub_02075D20 -sub_02075D20: ; 0x02075D20 + thumb_func_start FUN_02075D20 +FUN_02075D20: ; 0x02075D20 push {r3-r5, lr} sub sp, #0x8 ldr r1, _02075DA8 ; =0x000005A4 add r5, r0, #0x0 ldr r4, [r5, r1] - bl sub_020772CC + bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] @@ -219449,19 +219449,19 @@ sub_02075D20: ; 0x02075D20 ldrb r2, [r5, r2] ldr r0, [r4, #0x0] mov r3, #0x0 - bl sub_02084DD0 + bl FUN_02084DD0 ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_0207008C + bl FUN_0207008C ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072D1C + bl FUN_02072D1C ldr r1, _02075DAC ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072DDC + bl FUN_02072DDC ldr r0, _02075DAC ; =0x00000B25 mov r2, #0x2c ldrb r1, [r5, r0] @@ -219474,21 +219474,21 @@ sub_02075D20: ; 0x02075D20 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C ldr r1, _02075DA8 ; =0x000005A4 add r0, r5, #0x0 ldr r1, [r5, r1] mov r2, #0x0 ldrh r1, [r1, #0x24] - bl sub_020757F4 + bl FUN_020757F4 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02075DB4 ; =0x000005EC - bl sub_020054C8 - ldr r1, _02075DB8 ; =sub_02075CE4 + bl FUN_020054C8 + ldr r1, _02075DB8 ; =FUN_02075CE4 ldr r0, _02075DBC ; =0x00000B14 str r1, [r5, r0] mov r0, #0x5 @@ -219499,11 +219499,11 @@ _02075DA8: .word 0x000005A4 _02075DAC: .word 0x00000B25 _02075DB0: .word 0x0000070E _02075DB4: .word 0x000005EC -_02075DB8: .word sub_02075CE4 + 1 +_02075DB8: .word FUN_02075CE4 + 1 _02075DBC: .word 0x00000B14 - thumb_func_start sub_02075DC0 -sub_02075DC0: ; 0x02075DC0 + thumb_func_start FUN_02075DC0 +FUN_02075DC0: ; 0x02075DC0 push {r3-r7, lr} sub sp, #0x20 add r5, r0, #0x0 @@ -219512,59 +219512,59 @@ sub_02075DC0: ; 0x02075DC0 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xd mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x1c] add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x18] add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x14] add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0xc] add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, _02075F4C ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 - bl sub_020772CC + bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] @@ -219573,19 +219573,19 @@ sub_02075DC0: ; 0x02075DC0 ldrb r2, [r5, r2] ldr r0, [r6, #0x0] mov r3, #0x0 - bl sub_02084DD0 + bl FUN_02084DD0 ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_0207008C + bl FUN_0207008C ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072D1C + bl FUN_02072D1C ldr r1, _02075F50 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072DDC + bl FUN_02072DDC ldr r0, _02075F50 ; =0x00000B25 mov r2, #0x2c ldrb r1, [r5, r0] @@ -219598,46 +219598,46 @@ sub_02075DC0: ; 0x02075DC0 lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r0, r4, #0x0 mov r1, #0xd mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x1c] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x18] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x14] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x10] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0xc] cmp r1, r0 bne _02075EFA add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x8] cmp r1, r0 beq _02075F26 @@ -219645,7 +219645,7 @@ _02075EFA: add r0, r4, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r7, r0 ldr r1, _02075F4C ; =0x000005A4 beq _02075F18 @@ -219653,14 +219653,14 @@ _02075EFA: add r0, r5, #0x0 ldrh r1, [r1, #0x24] mov r2, #0x0 - bl sub_020757F4 + bl FUN_020757F4 b _02075F34 _02075F18: ldr r1, [r5, r1] add r0, r5, #0x0 ldrh r1, [r1, #0x24] mov r2, #0x1 - bl sub_020757F4 + bl FUN_020757F4 b _02075F34 _02075F26: ldr r1, _02075F4C ; =0x000005A4 @@ -219668,14 +219668,14 @@ _02075F26: ldr r1, [r5, r1] mov r2, #0x2 ldrh r1, [r1, #0x24] - bl sub_020757F4 + bl FUN_020757F4 _02075F34: mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r1, _02075F58 ; =sub_02075CE4 + bl FUN_020731E8 + ldr r1, _02075F58 ; =FUN_02075CE4 ldr r0, _02075F5C ; =0x00000B14 str r1, [r5, r0] mov r0, #0x5 @@ -219685,17 +219685,17 @@ _02075F34: _02075F4C: .word 0x000005A4 _02075F50: .word 0x00000B25 _02075F54: .word 0x0000070E -_02075F58: .word sub_02075CE4 + 1 +_02075F58: .word FUN_02075CE4 + 1 _02075F5C: .word 0x00000B14 - thumb_func_start sub_02075F60 -sub_02075F60: ; 0x02075F60 + thumb_func_start FUN_02075F60 +FUN_02075F60: ; 0x02075F60 push {r4-r7, lr} sub sp, #0xc ldr r1, _02076080 ; =0x000005A4 add r5, r0, #0x0 ldr r4, [r5, r1] - bl sub_020772CC + bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] @@ -219704,17 +219704,17 @@ sub_02075F60: ; 0x02075F60 ldrb r2, [r5, r2] ldr r0, [r4, #0x0] mov r3, #0x0 - bl sub_02084DD0 + bl FUN_02084DD0 ldr r0, _02076080 ; =0x000005A4 ldr r1, _02076084 ; =0x00000B25 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xa2 mov r2, #0x0 str r0, [sp, #0x8] - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 ldr r0, _02076084 ; =0x00000B25 ldrb r1, [r5, r0] @@ -219728,7 +219728,7 @@ sub_02075F60: ; 0x02075F60 sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x46 - bl sub_0200A914 + bl FUN_0200A914 add r7, r0, #0x0 b _02075FDA _02075FBC: @@ -219737,24 +219737,24 @@ _02075FBC: sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x47 - bl sub_0200A914 + bl FUN_0200A914 add r7, r0, #0x0 b _02075FDA _02075FCE: sub r0, #0x6a ldr r0, [r5, r0] mov r1, #0x40 - bl sub_0200A914 + bl FUN_0200A914 add r7, r0, #0x0 _02075FDA: ldr r0, [sp, #0x8] - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r0, #0x0 mov r3, #0x6a str r0, [sp, #0x0] @@ -219771,25 +219771,25 @@ _02075FDA: ldrh r2, [r2, r3] mov r3, #0x3 sub r2, r4, r2 - bl sub_0200AD38 + bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x8] - bl sub_0207C2D4 + bl FUN_0207C2D4 add r4, r0, #0x0 ldr r1, _02076084 ; =0x00000B25 lsl r2, r4, #0x18 ldrb r1, [r5, r1] add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C cmp r4, #0x7 bne _02076062 ldr r1, _02076084 ; =0x00000B25 @@ -219806,17 +219806,17 @@ _02075FDA: strh r3, [r2, r0] ldrb r1, [r5, r1] add r0, r5, #0x0 - bl sub_02072B20 + bl FUN_02072B20 _02076062: ldr r1, _02076084 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_020709FC - ldr r1, _02076094 ; =sub_020760A0 + bl FUN_020709FC + ldr r1, _02076094 ; =FUN_020760A0 ldr r0, _02076098 ; =0x00000B14 str r1, [r5, r0] ldr r0, _0207609C ; =0x000005EC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x5 add sp, #0xc pop {r4-r7, pc} @@ -219826,12 +219826,12 @@ _02076084: .word 0x00000B25 _02076088: .word 0x00000706 _0207608C: .word 0x0000070E _02076090: .word 0xFFFFF000 -_02076094: .word sub_020760A0 + 1 +_02076094: .word FUN_020760A0 + 1 _02076098: .word 0x00000B14 _0207609C: .word 0x000005EC - thumb_func_start sub_020760A0 -sub_020760A0: ; 0x020760A0 + thumb_func_start FUN_020760A0 +FUN_020760A0: ; 0x020760A0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076130 ; =0x000005A4 @@ -219839,10 +219839,10 @@ sub_020760A0: ; 0x020760A0 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _02076134 ; =0x00000B25 add r4, r0, #0x0 ldrb r2, [r5, r1] @@ -219860,7 +219860,7 @@ _020760D4: ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072BBC + bl FUN_02072BBC ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x4 ldrb r2, [r5, r1] @@ -219870,15 +219870,15 @@ _020760D4: lsl r1, r1, #0x4 add r0, r0, r1 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072B7C + bl FUN_02072B7C ldr r1, _02076134 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072C28 + bl FUN_02072C28 ldr r0, _02076134 ; =0x00000B25 mov r1, #0x2c ldrb r0, [r5, r0] @@ -219892,8 +219892,8 @@ _020760D4: add r0, r5, #0x0 sub r1, #0x2d mov r2, #0x1 - bl sub_020731E8 - ldr r1, _0207613C ; =sub_02075CE4 + bl FUN_020731E8 + ldr r1, _0207613C ; =FUN_02075CE4 ldr r0, _02076140 ; =0x00000B14 str r1, [r5, r0] _0207612C: @@ -219903,15 +219903,15 @@ _0207612C: _02076130: .word 0x000005A4 _02076134: .word 0x00000B25 _02076138: .word 0x00000706 -_0207613C: .word sub_02075CE4 + 1 +_0207613C: .word FUN_02075CE4 + 1 _02076140: .word 0x00000B14 - thumb_func_start sub_02076144 -sub_02076144: ; 0x02076144 + thumb_func_start FUN_02076144 +FUN_02076144: ; 0x02076144 push {r3, lr} mov r1, #0x18 mov r2, #0xc - bl sub_0206E7B8 + bl FUN_0206E7B8 cmp r0, #0x0 beq _02076156 mov r0, #0x1 @@ -219921,8 +219921,8 @@ _02076156: pop {r3, pc} .balign 4 - thumb_func_start sub_0207615C -sub_0207615C: ; 0x0207615C + thumb_func_start FUN_0207615C +FUN_0207615C: ; 0x0207615C push {r3-r6} cmp r1, #0x6 blo _02076168 @@ -219961,8 +219961,8 @@ _02076194: nop _0207619C: .word 0x00000706 - thumb_func_start sub_020761A0 -sub_020761A0: ; 0x020761A0 + thumb_func_start FUN_020761A0 +FUN_020761A0: ; 0x020761A0 push {r3-r7, lr} ldr r1, _020763DC ; =0x00000B22 add r4, r0, #0x0 @@ -219982,7 +219982,7 @@ _020761AE: lsl r0, r4, #0x4 lsl r4, r4, #0x6 mov r1, #0x0 - bl sub_0207615C + bl FUN_0207615C ldr r1, _020763E0 ; =0x00000B25 strb r0, [r4, r1] ldrb r0, [r4, r1] @@ -219993,19 +219993,19 @@ _020761AE: ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r1, _020763E8 ; =sub_02075CE4 + bl FUN_020731E8 + ldr r1, _020763E8 ; =FUN_02075CE4 ldr r0, _020763EC ; =0x00000B14 mov r2, #0x1 str r1, [r4, r0] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02073CB4 + bl FUN_02073CB4 ldr r0, _020763E0 ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] @@ -220016,17 +220016,17 @@ _02076206: beq _02076212 add r0, r4, #0x0 mov r1, #0x0 - bl sub_020709FC + bl FUN_020709FC _02076212: ldr r0, _020763F0 ; =0x000005A4 ldr r1, _020763E0 ; =0x00000B25 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_020772CC + bl FUN_020772CC add r3, r0, #0x0 mov r0, #0xc str r0, [sp, #0x0] @@ -220035,33 +220035,33 @@ _02076212: ldr r1, [r4, r1] mov r2, #0x0 ldrh r1, [r1, #0x24] - bl sub_02084810 + bl FUN_02084810 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r0, _020763E4 ; =0x0000069C mov r1, #0x46 ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r6, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r7, _020763E0 ; =0x00000B25 ldr r3, _020763F4 ; =0x0000070E ldrb r5, [r4, r7] @@ -220084,22 +220084,22 @@ _02076212: lsr r2, r2, #0x14 lsl r2, r2, #0x18 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 - bl sub_02072B20 + bl FUN_02072B20 add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 - bl sub_020709FC + bl FUN_020709FC add r1, r7, #0x0 ldrb r1, [r4, r1] add r0, r4, #0x0 mov r2, #0x1 - bl sub_02073CB4 + bl FUN_02073CB4 ldr r0, _020763FC ; =0x000005EC - bl sub_020054C8 + bl FUN_020054C8 sub r0, r7, #0x3 ldrb r1, [r4, r0] add r1, r1, #0x1 @@ -220130,7 +220130,7 @@ _020763D6: _020763DC: .word 0x00000B22 _020763E0: .word 0x00000B25 _020763E4: .word 0x0000069C -_020763E8: .word sub_02075CE4 + 1 +_020763E8: .word FUN_02075CE4 + 1 _020763EC: .word 0x00000B14 _020763F0: .word 0x000005A4 _020763F4: .word 0x0000070E @@ -220139,8 +220139,8 @@ _020763FC: .word 0x000005EC _02076400: .byte 0x06, 0x07, 0x00, 0x00, 0xB8, 0x48, 0x1C, 0x02, 0xDC, 0x05, 0x00, 0x00 - thumb_func_start sub_0207640C -sub_0207640C: ; 0x0207640C + thumb_func_start FUN_0207640C +FUN_0207640C: ; 0x0207640C push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -220149,48 +220149,48 @@ sub_0207640C: ; 0x0207640C ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xa3 mov r2, #0x0 add r4, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765B8 ; =0x00000B28 mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa4 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765BC ; =0x00000B2A mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa5 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765C0 ; =0x00000B2C mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa7 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765C4 ; =0x00000B2E mov r2, #0x0 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa8 - bl sub_020671BC + bl FUN_020671BC mov r1, #0xb3 lsl r1, r1, #0x4 strh r0, [r5, r1] add r0, r4, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765C8 ; =0x00000B32 strh r0, [r5, r1] ldr r0, _020765B0 ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 - bl sub_020772CC + bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] @@ -220199,11 +220199,11 @@ sub_0207640C: ; 0x0207640C ldrb r2, [r5, r2] ldr r0, [r6, #0x0] mov r3, #0x0 - bl sub_02084DD0 + bl FUN_02084DD0 add r0, r4, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -220214,7 +220214,7 @@ sub_0207640C: ; 0x0207640C add r0, r4, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -220225,7 +220225,7 @@ sub_0207640C: ; 0x0207640C add r0, r4, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020765B4 ; =0x00000B25 ldrb r2, [r5, r1] mov r1, #0x2c @@ -220236,16 +220236,16 @@ sub_0207640C: ; 0x0207640C sub r1, #0x6c ldr r0, [r5, r1] mov r1, #0xc1 - bl sub_0200A914 + bl FUN_0200A914 add r7, r0, #0x0 add r0, r4, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r0, #0x0 mov r3, #0x6a str r0, [sp, #0x0] @@ -220261,25 +220261,25 @@ sub_0207640C: ; 0x0207640C add r3, #0x6a ldrh r2, [r2, r3] mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_0207C2D4 + bl FUN_0207C2D4 add r4, r0, #0x0 ldr r1, _020765B4 ; =0x00000B25 lsl r2, r4, #0x18 ldrb r1, [r5, r1] add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_02073A4C + bl FUN_02073A4C cmp r4, #0x7 bne _0207656E ldr r1, _020765B4 ; =0x00000B25 @@ -220296,29 +220296,29 @@ sub_0207640C: ; 0x0207640C strh r3, [r2, r0] ldrb r1, [r5, r1] add r0, r5, #0x0 - bl sub_02072B20 + bl FUN_02072B20 _0207656E: ldr r1, _020765B4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_020709FC - ldr r0, _020765E0 ; =sub_020760A0 + bl FUN_020709FC + ldr r0, _020765E0 ; =FUN_020760A0 ldr r1, _020765E4 ; =0x00000B14 str r0, [r5, r1] add r1, #0x11 ldrb r1, [r5, r1] add r0, r5, #0x0 - bl sub_02072D1C + bl FUN_02072D1C ldr r1, _020765B4 ; =0x00000B25 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_02072DDC + bl FUN_02072DDC mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r1, _020765E8 ; =sub_020765EC + bl FUN_020731E8 + ldr r1, _020765E8 ; =FUN_020765EC ldr r0, _020765E4 ; =0x00000B14 str r1, [r5, r0] mov r1, #0x0 @@ -220340,12 +220340,12 @@ _020765D0: .word 0x00000706 _020765D4: .word 0x00000708 _020765D8: .word 0x0000070E _020765DC: .word 0xFFFFF000 -_020765E0: .word sub_020760A0 + 1 +_020765E0: .word FUN_020760A0 + 1 _020765E4: .word 0x00000B14 -_020765E8: .word sub_020765EC + 1 +_020765E8: .word FUN_020765EC + 1 - thumb_func_start sub_020765EC -sub_020765EC: ; 0x020765EC + thumb_func_start FUN_020765EC +FUN_020765EC: ; 0x020765EC push {r3-r5, lr} ldr r1, _0207686C ; =0x00000B27 add r4, r0, #0x0 @@ -220367,7 +220367,7 @@ sub_020765EC: ; 0x020765EC lsl r6, r1, #0x8 sub r0, r1, #0x3 ldrb r0, [r4, r0] - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _020766A8 ldr r0, _02076870 ; =0x021C48B8 @@ -220376,9 +220376,9 @@ sub_020765EC: ; 0x020765EC tst r0, r1 beq _020766A8 ldr r0, _02076874 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_020734C0 + bl FUN_020734C0 ldr r0, _0207686C ; =0x00000B27 mov r1, #0x1 strb r1, [r4, r0] @@ -220435,11 +220435,11 @@ _02076878: .byte 0xA4, 0x05, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00 .byte 0x9C, 0x06, 0x00, 0x00, 0x51, 0x69, 0x07, 0x02, 0x18, 0x0B, 0x00, 0x00, 0xA5, 0x69, 0x07, 0x02 - thumb_func_start sub_02076890 -sub_02076890: ; 0x02076890 + thumb_func_start FUN_02076890 +FUN_02076890: ; 0x02076890 push {r3-r5, lr} add r4, r0, #0x0 - ldr r0, _0207693C ; =sub_020765EC + ldr r0, _0207693C ; =FUN_020765EC ldr r1, _02076940 ; =0x00000B14 mov r2, #0x3 str r0, [r4, r1] @@ -220451,15 +220451,15 @@ sub_02076890: ; 0x02076890 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 ldr r0, _02076944 ; =0x000005A4 ldr r2, [r4, r0] add r1, r2, #0x0 @@ -220471,25 +220471,25 @@ sub_02076890: ; 0x02076890 ldrh r2, [r2, #0x26] ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200AD5C + bl FUN_0200AD5C add r0, r4, #0x0 - bl sub_020769A4 + bl FUN_020769A4 pop {r3-r5, pc} _020768E6: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200AD5C + bl FUN_0200AD5C ldr r0, _02076948 ; =0x0000069C mov r1, #0x3c ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -220497,14 +220497,14 @@ _020768E6: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _0207694C ; =0x00000B22 mov r1, #0x5 strb r1, [r4, r0] @@ -220513,20 +220513,20 @@ _020768E6: mov r0, #0x14 pop {r3-r5, pc} nop -_0207693C: .word sub_020765EC + 1 +_0207693C: .word FUN_020765EC + 1 _02076940: .word 0x00000B14 _02076944: .word 0x000005A4 _02076948: .word 0x0000069C _0207694C: .word 0x00000B22 - thumb_func_start sub_02076950 -sub_02076950: ; 0x02076950 + thumb_func_start FUN_02076950 +FUN_02076950: ; 0x02076950 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076998 ; =0x0000069C mov r1, #0x3b ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -220534,14 +220534,14 @@ sub_02076950: ; 0x02076950 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _0207699C ; =0x000005A4 mov r1, #0x5 ldr r0, [r5, r0] @@ -220557,14 +220557,14 @@ _02076998: .word 0x0000069C _0207699C: .word 0x000005A4 _020769A0: .word 0x00000B22 - thumb_func_start sub_020769A4 -sub_020769A4: ; 0x020769A4 + thumb_func_start FUN_020769A4 +FUN_020769A4: ; 0x020769A4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _020769EC ; =0x0000069C mov r1, #0x37 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -220572,17 +220572,17 @@ sub_020769A4: ; 0x020769A4 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r0, _020769F0 ; =sub_020769FC + bl FUN_020731E8 + ldr r0, _020769F0 ; =FUN_020769FC ldr r1, _020769F4 ; =0x00000B18 - ldr r2, _020769F8 ; =sub_02076A48 + ldr r2, _020769F8 ; =FUN_02076A48 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -220593,18 +220593,18 @@ sub_020769A4: ; 0x020769A4 pop {r3-r5, pc} .balign 4 _020769EC: .word 0x0000069C -_020769F0: .word sub_020769FC + 1 +_020769F0: .word FUN_020769FC + 1 _020769F4: .word 0x00000B18 -_020769F8: .word sub_02076A48 + 1 +_020769F8: .word FUN_02076A48 + 1 - thumb_func_start sub_020769FC -sub_020769FC: ; 0x020769FC + thumb_func_start FUN_020769FC +FUN_020769FC: ; 0x020769FC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076A40 ; =0x0000069C mov r1, #0x3a ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -220612,14 +220612,14 @@ sub_020769FC: ; 0x020769FC add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076A44 ; =0x00000B22 mov r1, #0x5 strb r1, [r5, r0] @@ -220632,14 +220632,14 @@ sub_020769FC: ; 0x020769FC _02076A40: .word 0x0000069C _02076A44: .word 0x00000B22 - thumb_func_start sub_02076A48 -sub_02076A48: ; 0x02076A48 + thumb_func_start FUN_02076A48 +FUN_02076A48: ; 0x02076A48 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076A90 ; =0x0000069C mov r1, #0x34 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -220647,17 +220647,17 @@ sub_02076A48: ; 0x02076A48 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 - ldr r0, _02076A94 ; =sub_02076950 + bl FUN_020731E8 + ldr r0, _02076A94 ; =FUN_02076950 ldr r1, _02076A98 ; =0x00000B18 - ldr r2, _02076A9C ; =sub_020769A4 + ldr r2, _02076A9C ; =FUN_020769A4 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -220668,12 +220668,12 @@ sub_02076A48: ; 0x02076A48 pop {r3-r5, pc} .balign 4 _02076A90: .word 0x0000069C -_02076A94: .word sub_02076950 + 1 +_02076A94: .word FUN_02076950 + 1 _02076A98: .word 0x00000B18 -_02076A9C: .word sub_020769A4 + 1 +_02076A9C: .word FUN_020769A4 + 1 - thumb_func_start sub_02076AA0 -sub_02076AA0: ; 0x02076AA0 + thumb_func_start FUN_02076AA0 +FUN_02076AA0: ; 0x02076AA0 push {r3-r7, lr} ldr r7, _02076AF4 ; =0x000005A4 add r5, r0, #0x0 @@ -220684,7 +220684,7 @@ _02076AAA: add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r2, r0, #0x10 ldr r0, [r5, r7] @@ -220703,10 +220703,10 @@ _02076AC6: blo _02076AAA _02076AD4: ldrh r0, [r0, #0x24] - bl sub_0206EA7C + bl FUN_0206EA7C add r1, r0, #0x0 add r0, r6, #0x0 - bl sub_0206A13C + bl FUN_0206A13C cmp r0, #0x0 bne _02076AEA mov r0, #0xff @@ -220721,8 +220721,8 @@ _02076AF0: .balign 4 _02076AF4: .word 0x000005A4 - thumb_func_start sub_02076AF8 -sub_02076AF8: ; 0x02076AF8 + thumb_func_start FUN_02076AF8 +FUN_02076AF8: ; 0x02076AF8 push {r4-r6, lr} add r4, r0, #0x0 ldr r0, _02076C78 ; =0x000005A4 @@ -220730,20 +220730,20 @@ sub_02076AF8: ; 0x02076AF8 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r6, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02076AA0 + bl FUN_02076AA0 add r5, r0, #0x0 add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 mov r2, #0x6a lsl r2, r2, #0x4 ldr r0, [r4, r2] @@ -220751,7 +220751,7 @@ sub_02076AF8: ; 0x02076AF8 ldr r2, [r4, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] - bl sub_0200AD5C + bl FUN_0200AD5C cmp r5, #0xfd bhi _02076B5A bhs _02076BB2 @@ -220788,7 +220788,7 @@ _02076BB2: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3f ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -220796,14 +220796,14 @@ _02076BB2: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076C78 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -220817,7 +220817,7 @@ _02076BF2: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x34 ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -220825,17 +220825,17 @@ _02076BF2: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r0, _02076C88 ; =sub_02076DD4 + bl FUN_020731E8 + ldr r0, _02076C88 ; =FUN_02076DD4 ldr r1, _02076C8C ; =0x00000B18 - ldr r2, _02076C90 ; =sub_02076E28 + ldr r2, _02076C90 ; =FUN_02076E28 str r0, [r4, r1] add r0, r1, #0x4 str r2, [r4, r0] @@ -220847,7 +220847,7 @@ _02076C34: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3e ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -220855,14 +220855,14 @@ _02076C34: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076C78 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -220879,12 +220879,12 @@ _02076C78: .word 0x000005A4 _02076C7C: .word 0x00000B25 _02076C80: .word 0x0000069C _02076C84: .word 0x00000B22 -_02076C88: .word sub_02076DD4 + 1 +_02076C88: .word FUN_02076DD4 + 1 _02076C8C: .word 0x00000B18 -_02076C90: .word sub_02076E28 + 1 +_02076C90: .word FUN_02076E28 + 1 - thumb_func_start sub_02076C94 -sub_02076C94: ; 0x02076C94 + thumb_func_start FUN_02076C94 +FUN_02076C94: ; 0x02076C94 push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _02076D2C ; =0x000005A4 @@ -220892,15 +220892,15 @@ sub_02076C94: ; 0x02076C94 ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r5, r0, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 ldr r0, _02076D2C ; =0x000005A4 ldr r2, [r4, r0] add r1, r2, #0x0 @@ -220912,25 +220912,25 @@ sub_02076C94: ; 0x02076C94 ldrh r2, [r2, #0x26] ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200AD5C + bl FUN_0200AD5C add r0, r4, #0x0 - bl sub_02076E28 + bl FUN_02076E28 pop {r3-r5, pc} _02076CDC: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_0200AD5C + bl FUN_0200AD5C ldr r0, _02076D34 ; =0x0000069C mov r1, #0x3c ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r5, r0, #0x0 lsl r1, r1, #0x4 @@ -220938,14 +220938,14 @@ _02076CDC: add r1, r1, #0x4 ldr r1, [r4, r1] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076D38 ; =0x00000B22 mov r1, #0x12 strb r1, [r4, r0] @@ -220957,8 +220957,8 @@ _02076D30: .word 0x00000B25 _02076D34: .word 0x0000069C _02076D38: .word 0x00000B22 - thumb_func_start sub_02076D3C -sub_02076D3C: ; 0x02076D3C + thumb_func_start FUN_02076D3C +FUN_02076D3C: ; 0x02076D3C push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076DC0 ; =0x021C48B8 @@ -220971,18 +220971,18 @@ sub_02076D3C: ; 0x02076D3C ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r2, _02076DC4 ; =0x000005A4 add r1, r0, #0x0 ldr r2, [r5, r2] add r0, r5, #0x0 add r2, #0x28 ldrb r2, [r2, #0x0] - bl sub_02076F2C + bl FUN_02076F2C ldr r0, _02076DCC ; =0x0000069C mov r1, #0x3d ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r2, #0x6a lsl r2, r2, #0x4 add r4, r0, #0x0 @@ -220991,21 +220991,21 @@ sub_02076D3C: ; 0x02076D3C ldr r2, [r5, r2] mov r1, #0x1 ldrh r2, [r2, #0x26] - bl sub_0200AD5C + bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076DC4 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] @@ -221026,14 +221026,14 @@ _02076DC8: .word 0x00000B25 _02076DCC: .word 0x0000069C _02076DD0: .word 0x00000B22 - thumb_func_start sub_02076DD4 -sub_02076DD4: ; 0x02076DD4 + thumb_func_start FUN_02076DD4 +FUN_02076DD4: ; 0x02076DD4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076E1C ; =0x0000069C mov r1, #0x3b ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -221041,14 +221041,14 @@ sub_02076DD4: ; 0x02076DD4 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076E20 ; =0x000005A4 mov r1, #0x4 ldr r0, [r5, r0] @@ -221064,14 +221064,14 @@ _02076E1C: .word 0x0000069C _02076E20: .word 0x000005A4 _02076E24: .word 0x00000B22 - thumb_func_start sub_02076E28 -sub_02076E28: ; 0x02076E28 + thumb_func_start FUN_02076E28 +FUN_02076E28: ; 0x02076E28 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076E70 ; =0x0000069C mov r1, #0x37 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -221079,17 +221079,17 @@ sub_02076E28: ; 0x02076E28 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 - ldr r0, _02076E74 ; =sub_02076E80 + bl FUN_020731E8 + ldr r0, _02076E74 ; =FUN_02076E80 ldr r1, _02076E78 ; =0x00000B18 - ldr r2, _02076E7C ; =sub_02076ED4 + ldr r2, _02076E7C ; =FUN_02076ED4 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -221100,18 +221100,18 @@ sub_02076E28: ; 0x02076E28 pop {r3-r5, pc} .balign 4 _02076E70: .word 0x0000069C -_02076E74: .word sub_02076E80 + 1 +_02076E74: .word FUN_02076E80 + 1 _02076E78: .word 0x00000B18 -_02076E7C: .word sub_02076ED4 + 1 +_02076E7C: .word FUN_02076ED4 + 1 - thumb_func_start sub_02076E80 -sub_02076E80: ; 0x02076E80 + thumb_func_start FUN_02076E80 +FUN_02076E80: ; 0x02076E80 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076EC8 ; =0x0000069C mov r1, #0x3a ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -221119,14 +221119,14 @@ sub_02076E80: ; 0x02076E80 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02076ECC ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] @@ -221142,14 +221142,14 @@ _02076EC8: .word 0x0000069C _02076ECC: .word 0x000005A4 _02076ED0: .word 0x00000B22 - thumb_func_start sub_02076ED4 -sub_02076ED4: ; 0x02076ED4 + thumb_func_start FUN_02076ED4 +FUN_02076ED4: ; 0x02076ED4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02076F1C ; =0x0000069C mov r1, #0x34 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x6a add r4, r0, #0x0 lsl r1, r1, #0x4 @@ -221157,17 +221157,17 @@ sub_02076ED4: ; 0x02076ED4 add r1, r1, #0x4 ldr r1, [r5, r1] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x0 - bl sub_020731E8 - ldr r0, _02076F20 ; =sub_02076DD4 + bl FUN_020731E8 + ldr r0, _02076F20 ; =FUN_02076DD4 ldr r1, _02076F24 ; =0x00000B18 - ldr r2, _02076F28 ; =sub_02076E28 + ldr r2, _02076F28 ; =FUN_02076E28 str r0, [r5, r1] add r0, r1, #0x4 str r2, [r5, r0] @@ -221178,12 +221178,12 @@ sub_02076ED4: ; 0x02076ED4 pop {r3-r5, pc} .balign 4 _02076F1C: .word 0x0000069C -_02076F20: .word sub_02076DD4 + 1 +_02076F20: .word FUN_02076DD4 + 1 _02076F24: .word 0x00000B18 -_02076F28: .word sub_02076E28 + 1 +_02076F28: .word FUN_02076E28 + 1 - thumb_func_start sub_02076F2C -sub_02076F2C: ; 0x02076F2C + thumb_func_start FUN_02076F2C +FUN_02076F2C: ; 0x02076F2C push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -221197,32 +221197,32 @@ sub_02076F2C: ; 0x02076F2C str r0, [sp, #0x0] add r0, r4, #0x0 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 add r1, r6, #0x0 str r0, [sp, #0x0] add r0, r4, #0x0 add r1, #0x3e add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, _02076FAC ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] ldrh r0, [r0, #0x26] - bl sub_0206AB30 + bl FUN_0206AB30 add r6, #0x3a str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r0, _02076FAC ; =0x000005A4 ldr r1, [r5, r0] ldrh r0, [r1, #0x24] cmp r0, #0x0 beq _02076FA8 ldrh r0, [r1, #0x26] - bl sub_0206EA54 + bl FUN_0206EA54 cmp r0, #0x0 bne _02076F98 ldr r0, _02076FAC ; =0x000005A4 @@ -221231,22 +221231,22 @@ sub_02076F2C: ; 0x02076F2C mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] - bl sub_0206EDD4 + bl FUN_0206EDD4 _02076F98: add r0, r5, #0x0 - bl sub_020772CC + bl FUN_020772CC add r2, r0, #0x0 add r0, r4, #0x0 mov r1, #0x4 - bl sub_020688E8 + bl FUN_020688E8 _02076FA8: add sp, #0x4 pop {r3-r6, pc} .balign 4 _02076FAC: .word 0x000005A4 - thumb_func_start sub_02076FB0 -sub_02076FB0: ; 0x02076FB0 + thumb_func_start FUN_02076FB0 +FUN_02076FB0: ; 0x02076FB0 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0207702C ; =0x000005A4 @@ -221255,34 +221255,34 @@ sub_02076FB0: ; 0x02076FB0 ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r1, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, _02077034 ; =0x0000069C add r1, r6, #0x0 ldr r0, [r5, r0] add r1, #0xa2 - bl sub_0200A914 + bl FUN_0200A914 add r7, r0, #0x0 mov r0, #0x6a lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 add r2, r4, #0x0 - bl sub_0200AD5C + bl FUN_0200AD5C mov r1, #0x6a lsl r1, r1, #0x4 ldr r0, [r5, r1] add r1, #0x8 ldr r1, [r5, r1] add r2, r7, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 cmp r4, #0x0 ldr r1, _02077038 ; =0x000006F8 bne _0207701C @@ -221291,7 +221291,7 @@ sub_02076FB0: ; 0x02076FB0 mov r2, #0x2 ldr r1, [r5, r1] mvn r2, r2 - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x0 pop {r3-r7, pc} _0207701C: @@ -221299,7 +221299,7 @@ _0207701C: sub r1, #0x50 ldr r1, [r5, r1] add r2, r6, #0x0 - bl sub_020128A0 + bl FUN_020128A0 mov r0, #0x1 pop {r3-r7, pc} .balign 4 @@ -221308,8 +221308,8 @@ _02077030: .word 0x00000B25 _02077034: .word 0x0000069C _02077038: .word 0x000006F8 - thumb_func_start sub_0207703C -sub_0207703C: ; 0x0207703C + thumb_func_start FUN_0207703C +FUN_0207703C: ; 0x0207703C push {r4-r5, lr} sub sp, #0x14 add r4, r0, #0x0 @@ -221317,37 +221317,37 @@ sub_0207703C: ; 0x0207703C bne _02077050 mov r1, #0x29 mov r2, #0x1 - bl sub_020731D4 + bl FUN_020731D4 b _02077058 _02077050: mov r1, #0x28 mov r2, #0x1 - bl sub_020731D4 + bl FUN_020731D4 _02077058: mov r0, #0x4 mov r1, #0xc - bl sub_02012838 + bl FUN_02012838 ldr r1, _02077108 ; =0x000006F8 str r0, [r4, r1] add r0, r4, #0x0 mov r1, #0x0 - bl sub_02076FB0 + bl FUN_02076FB0 add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02076FB0 + bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02076FB0 + bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r4, #0x0 mov r1, #0x3 - bl sub_02076FB0 + bl FUN_02076FB0 add r0, r5, r0 lsl r0, r0, #0x18 lsr r1, r0, #0x18 @@ -221393,7 +221393,7 @@ _020770DC: add r0, r4, r0 add r2, r1, #0x0 mov r3, #0xe - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0xc str r0, [sp, #0x0] mov r0, #0x2 @@ -221402,7 +221402,7 @@ _020770DC: add r0, sp, #0x8 mov r1, #0x8 add r3, r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 ldr r1, _0207710C ; =0x000006FC str r0, [r4, r1] add sp, #0x14 @@ -221411,14 +221411,14 @@ _020770DC: _02077108: .word 0x000006F8 _0207710C: .word 0x000006FC - thumb_func_start sub_02077110 -sub_02077110: ; 0x02077110 + thumb_func_start FUN_02077110 +FUN_02077110: ; 0x02077110 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 ldr r0, _0207722C ; =0x000006FC ldr r0, [r5, r0] - bl sub_02001C78 + bl FUN_02001C78 add r4, r0, #0x0 mov r0, #0x1 mvn r0, r0 @@ -221433,23 +221433,23 @@ _02077130: lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 mov r0, #0x91 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldr r0, _0207722C ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02077230 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 add r0, r5, #0x0 mov r1, #0x20 mov r2, #0x1 - bl sub_020731C0 + bl FUN_020731C0 add sp, #0x8 mov r0, #0x4 pop {r4-r6, pc} @@ -221458,23 +221458,23 @@ _0207716A: lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 mov r0, #0x91 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 ldr r0, _0207722C ; =0x000006FC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_02001C5C + bl FUN_02001C5C ldr r0, _02077230 ; =0x000006F8 ldr r0, [r5, r0] - bl sub_02012870 + bl FUN_02012870 ldr r0, _02077234 ; =0x000005A4 ldr r6, [r5, r0] add r0, r5, #0x0 - bl sub_020772CC + bl FUN_020772CC str r0, [sp, #0x0] mov r0, #0xc str r0, [sp, #0x4] @@ -221484,7 +221484,7 @@ _0207716A: ldrb r2, [r5, r2] ldr r0, [r6, #0x0] lsr r3, r3, #0x18 - bl sub_02084DD0 + bl FUN_02084DD0 cmp r0, #0x1 bne _020771F6 ldr r0, _02077234 ; =0x000005A4 @@ -221492,26 +221492,26 @@ _0207716A: ldr r0, [r5, r0] ldrb r1, [r5, r1] ldr r0, [r0, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 add r4, #0x36 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _02077234 ; =0x000005A4 add r2, r0, #0x0 ldr r1, [r5, r1] add r0, r5, #0x0 ldrh r1, [r1, #0x24] - bl sub_020757F4 + bl FUN_020757F4 ldr r0, _02077234 ; =0x000005A4 mov r2, #0x1 ldr r1, [r5, r0] mov r3, #0xc ldr r0, [r1, #0x4] ldrh r1, [r1, #0x24] - bl sub_0206EDD4 + bl FUN_0206EDD4 ldr r0, _0207723C ; =0x000005EC - bl sub_020054C8 + bl FUN_020054C8 b _02077204 _020771F6: ldr r2, _02077240 ; =0x0000069C @@ -221519,13 +221519,13 @@ _020771F6: ldr r0, [r5, r2] add r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _02077204: mov r1, #0x0 add r0, r5, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _02077234 ; =0x000005A4 mov r1, #0x0 ldr r0, [r5, r0] @@ -221550,15 +221550,15 @@ _0207723C: .word 0x000005EC _02077240: .word 0x0000069C _02077244: .word 0x00000B22 - thumb_func_start sub_02077248 -sub_02077248: ; 0x02077248 + thumb_func_start FUN_02077248 +FUN_02077248: ; 0x02077248 push {r4, lr} add r4, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_0200D0E0 + bl FUN_0200D0E0 ldr r0, _020772BC ; =0x00000B25 ldr r2, _020772C0 ; =0x0000070C ldrb r1, [r4, r0] @@ -221574,11 +221574,11 @@ sub_02077248: ; 0x02077248 ldr r0, [r4, r0] ldr r2, [r4, r2] mov r1, #0x7f - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r1, _020772BC ; =0x00000B25 add r0, r4, #0x0 ldrb r1, [r4, r1] - bl sub_02073AB8 + bl FUN_02073AB8 b _0207729C _02077286: add r0, r2, #0x0 @@ -221587,7 +221587,7 @@ _02077286: ldr r0, [r4, r0] ldr r2, [r4, r2] mov r1, #0x80 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _020772BC ; =0x00000B25 mov r1, #0x7 strb r1, [r4, r0] @@ -221596,7 +221596,7 @@ _0207729C: add r0, r4, #0x0 mvn r1, r1 mov r2, #0x1 - bl sub_020731E8 + bl FUN_020731E8 ldr r0, _020772C4 ; =0x000005A4 mov r1, #0x0 ldr r0, [r4, r0] @@ -221612,23 +221612,23 @@ _020772C0: .word 0x0000070C _020772C4: .word 0x000005A4 _020772C8: .word 0x00000B22 - thumb_func_start sub_020772CC -sub_020772CC: ; 0x020772CC + thumb_func_start FUN_020772CC +FUN_020772CC: ; 0x020772CC push {r3, lr} ldr r1, _020772E4 ; =0x000005A4 ldr r0, [r0, r1] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - bl sub_02034824 + bl FUN_02034824 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3, pc} nop _020772E4: .word 0x000005A4 - thumb_func_start sub_020772E8 -sub_020772E8: ; 0x020772E8 + thumb_func_start FUN_020772E8 +FUN_020772E8: ; 0x020772E8 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 @@ -221644,10 +221644,10 @@ _020772FC: _020772FE: mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 - bl sub_02015F1C - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F10 + bl FUN_02015F1C + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -221662,24 +221662,24 @@ _020772FE: mov r0, #0x3 mov r1, #0x12 lsl r2, r2, #0xe - bl sub_0201681C + bl FUN_0201681C mov r1, #0x5d add r0, r6, #0x0 lsl r1, r1, #0x4 mov r2, #0x12 - bl sub_02006268 + bl FUN_02006268 mov r2, #0x5d mov r1, #0x0 lsl r2, r2, #0x4 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x12 - bl sub_02016B94 + bl FUN_02016B94 mov r1, #0x16 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0x12 - bl sub_0200AA80 + bl FUN_0200AA80 mov r2, #0x5a lsl r2, r2, #0x2 str r0, [r4, r2] @@ -221687,7 +221687,7 @@ _020772FE: mov r1, #0x1a add r2, #0xb mov r3, #0x12 - bl sub_0200A86C + bl FUN_0200A86C mov r2, #0x5b lsl r2, r2, #0x2 str r0, [r4, r2] @@ -221695,7 +221695,7 @@ _020772FE: mov r1, #0x1a add r2, #0xc mov r3, #0x12 - bl sub_0200A86C + bl FUN_0200A86C mov r2, #0x17 lsl r2, r2, #0x4 str r0, [r4, r2] @@ -221703,45 +221703,45 @@ _020772FE: mov r1, #0x1a sub r2, #0x2c mov r3, #0x12 - bl sub_0200A86C + bl FUN_0200A86C mov r1, #0x5d lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C - bl sub_02077B24 + bl FUN_0201669C + bl FUN_02077B24 mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02077B44 + bl FUN_02077B44 add r0, r6, #0x0 - bl sub_0200628C + bl FUN_0200628C add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02077B08 + bl FUN_02077B08 add r0, r4, #0x0 - bl sub_02077FE8 + bl FUN_02077FE8 mov r0, #0x2 mov r1, #0x12 - bl sub_02002C50 - ldr r0, _020774A0 ; =sub_02077AE8 + bl FUN_02002C50 + ldr r0, _020774A0 ; =FUN_02077AE8 mov r1, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02077CD4 + bl FUN_02077CD4 mov r0, #0x0 mov r1, #0x12 - bl sub_02002C84 - bl sub_02078110 + bl FUN_02002C84 + bl FUN_02078110 add r0, r4, #0x0 - bl sub_02078140 + bl FUN_02078140 add r0, r4, #0x0 - bl sub_0207835C + bl FUN_0207835C add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0207890C + bl FUN_0207890C ldr r0, _020774A4 ; =0x000004C4 mov r3, #0x5f add r1, r4, r0 @@ -221758,11 +221758,11 @@ _020772FE: add r0, r4, r0 add r1, #0xd8 add r3, r4, r3 - bl sub_0207907C + bl FUN_0207907C mov r1, #0x0 mov r0, #0x34 add r2, r1, #0x0 - bl sub_0200433C + bl FUN_0200433C mov r0, #0x10 str r0, [sp, #0x0] mov r1, #0x1 @@ -221772,19 +221772,19 @@ _020772FE: mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 mov r0, #0x1 - bl sub_02077C84 + bl FUN_02077C84 ldr r0, _020774A8 ; =0x021C4918 mov r1, #0x1 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r0, [r5, #0x0] add r0, r0, #0x1 str r0, [r5, #0x0] b _02077490 _02077456: - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x1 @@ -221795,7 +221795,7 @@ _02077456: add r1, #0x8 ldr r1, [r4, r1] ldr r3, [r4, #0x8] - bl sub_020774B8 + bl FUN_020774B8 _02077472: ldr r0, _020774B0 ; =0x021C5C54 mov r1, #0x1 @@ -221803,7 +221803,7 @@ _02077472: mov r0, #0x0 mov r2, #0xc mov r3, #0x12 - bl sub_020142EC + bl FUN_020142EC ldr r1, _020774B4 ; =0x000005C4 add sp, #0xc str r0, [r4, r1] @@ -221818,15 +221818,15 @@ _02077490: nop _02077498: .word 0xFFFFE0FF _0207749C: .word 0x04001000 -_020774A0: .word sub_02077AE8 + 1 +_020774A0: .word FUN_02077AE8 + 1 _020774A4: .word 0x000004C4 _020774A8: .word 0x021C4918 _020774AC: .word 0x000004B8 _020774B0: .word 0x021C5C54 _020774B4: .word 0x000005C4 - thumb_func_start sub_020774B8 -sub_020774B8: ; 0x020774B8 + thumb_func_start FUN_020774B8 +FUN_020774B8: ; 0x020774B8 push {r4-r6, lr} add r4, r1, #0x0 add r5, r2, #0x0 @@ -221835,28 +221835,28 @@ sub_020774B8: ; 0x020774B8 ldr r1, _020774E8 ; =0x000057E0 add r6, r3, #0x0 lsl r2, r2, #0x8 - blx sub_020C92F4 + blx FUN_020C92F4 ldr r4, [r4, #0xc] add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 - bl sub_0206B7BC + bl FUN_0206B7BC lsl r0, r0, #0x5 add r0, r4, r0 mov r1, #0xc0 mov r2, #0x20 - blx sub_020C9480 + blx FUN_020C9480 pop {r4-r6, pc} nop _020774E8: .word 0x000057E0 - thumb_func_start sub_020774EC -sub_020774EC: ; 0x020774EC + thumb_func_start FUN_020774EC +FUN_020774EC: ; 0x020774EC push {r4-r6, lr} sub sp, #0x10 add r5, r1, #0x0 add r6, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x3 @@ -221871,7 +221871,7 @@ sub_020774EC: ; 0x020774EC lsl r2, r3, #0 lsl r6, r1, #0x1 lsl r4, r7, #0x5 - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x0 beq _02077550 mov r0, #0x1 @@ -221912,7 +221912,7 @@ _02077698: mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201FDEC + bl FUN_0201FDEC mov r0, #0x0 add sp, #0x10 pop {r4-r6, pc} @@ -221923,12 +221923,12 @@ _020776AC: .byte 0x48, 0x04, 0x00, 0x00, 0x58, 0x04, 0x00, 0x00, 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00 .byte 0x64, 0x04, 0x00, 0x00 - thumb_func_start sub_020776C4 -sub_020776C4: ; 0x020776C4 + thumb_func_start FUN_020776C4 +FUN_020776C4: ; 0x020776C4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02078C98 + bl FUN_02078C98 ldr r0, _020777BC ; =0x021C48B8 mov r1, #0x4 ldr r0, [r0, #0x48] @@ -221965,9 +221965,9 @@ _020776F8: add r0, r5, #0x0 ldr r1, [r5, r2] add r0, #0x3a - bl sub_0207916C + bl FUN_0207916C ldr r0, _020777C4 ; =0x0000069E - bl sub_020054C8 + bl FUN_020054C8 _0207771E: mov r2, #0x49 lsl r2, r2, #0x4 @@ -221983,9 +221983,9 @@ _0207771E: add r0, r5, #0x0 ldr r1, [r5, r2] add r0, #0x3a - bl sub_0207916C + bl FUN_0207916C ldr r0, _020777C4 ; =0x0000069E - bl sub_020054C8 + bl FUN_020054C8 b _020777B8 _02077746: mov r2, #0x1 @@ -222001,7 +222001,7 @@ _02077746: lsl r1, r1, #0x1 add r1, r3, r1 ldrh r1, [r1, #0x3a] - bl sub_020791C0 + bl FUN_020791C0 add r4, r0, #0x0 mov r0, #0x1 str r0, [r5, #0x30] @@ -222021,7 +222021,7 @@ _0207776C: add r1, r2, r1 ldrh r1, [r1, #0x3a] mov r2, #0x0 - bl sub_020791C0 + bl FUN_020791C0 add r4, r0, #0x0 mov r0, #0x0 str r0, [r5, #0x30] @@ -222033,7 +222033,7 @@ _02077794: beq _020777A8 ldr r1, _020777CC ; =0x0000E007 add r0, r5, #0x0 - bl sub_020791C0 + bl FUN_020791C0 add r4, r0, #0x0 b _020777B8 _020777A8: @@ -222042,7 +222042,7 @@ _020777A8: beq _020777B8 ldr r1, _020777D0 ; =0x0000E006 add r0, r5, #0x0 - bl sub_020791C0 + bl FUN_020791C0 add r4, r0, #0x0 _020777B8: add r0, r4, #0x0 @@ -222055,8 +222055,8 @@ _020777C8: .word 0x000005C8 _020777CC: .word 0x0000E007 _020777D0: .word 0x0000E006 - thumb_func_start sub_020777D4 -sub_020777D4: ; 0x020777D4 + thumb_func_start FUN_020777D4 +FUN_020777D4: ; 0x020777D4 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] @@ -222066,38 +222066,38 @@ sub_020777D4: ; 0x020777D4 ldr r0, [r5, #0x4] cmp r0, #0x0 bne _020777FE - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x12 - blx sub_020EBC80 + blx FUN_020EBC80 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 b _0207781A _020777FE: cmp r0, #0x1 bne _0207781A - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0x12 - blx sub_020EBC80 + blx FUN_020EBC80 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, #0x12 - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 _0207781A: ldr r0, [r4, #0x18] add r1, r6, #0x0 - bl sub_02021A74 + bl FUN_02021A74 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x18] add r4, #0x1c add r1, r4, #0x0 mov r2, #0xa - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4-r6, pc} _02077836: cmp r0, #0x3 @@ -222106,18 +222106,18 @@ _02077836: lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x58 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 ldr r0, [r4, #0x18] add r1, r5, #0x0 - bl sub_02021A74 + bl FUN_02021A74 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x18] add r4, #0x1c add r1, r4, #0x0 mov r2, #0xa - bl sub_02021EF0 + bl FUN_02021EF0 pop {r4-r6, pc} _02077864: mov r0, #0x1 @@ -222125,8 +222125,8 @@ _02077864: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0207786C -sub_0207786C: ; 0x0207786C + thumb_func_start FUN_0207786C +FUN_0207786C: ; 0x0207786C push {r4-r5} ldr r1, _0207788C ; =0x000001DE ldr r2, _02077890 ; =0x0000FFFF @@ -222150,15 +222150,15 @@ _02077886: _0207788C: .word 0x000001DE _02077890: .word 0x0000FFFF - thumb_func_start sub_02077894 -sub_02077894: ; 0x02077894 + thumb_func_start FUN_02077894 +FUN_02077894: ; 0x02077894 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x10] - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 ldr r0, [sp, #0x10] - bl sub_0200628C + bl FUN_0200628C add r5, r0, #0x0 mov r0, #0x56 lsl r0, r0, #0x2 @@ -222172,7 +222172,7 @@ sub_02077894: ; 0x02077894 cmp r0, #0x1 bne _020778DE mov r0, #0x12 - bl sub_020669C0 + bl FUN_020669C0 mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -222181,9 +222181,9 @@ sub_02077894: ; 0x02077894 ldr r1, [r4, #0x4] add r6, r0, #0x0 mov r2, #0x5 - bl sub_02066ACC + bl FUN_02066ACC add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _020778DE: mov r1, #0x56 lsl r1, r1, #0x2 @@ -222194,18 +222194,18 @@ _020778DE: sub r1, #0x40 add r0, #0xd8 add r1, r4, r1 - bl sub_020022A4 + bl FUN_020022A4 cmp r0, #0x0 beq _02077904 add r0, r4, #0x0 add r0, #0xd8 - bl sub_0207786C + bl FUN_0207786C cmp r0, #0x0 beq _0207790E _02077904: add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_020777D4 + bl FUN_020777D4 b _02077932 _0207790E: mov r0, #0x46 @@ -222213,28 +222213,28 @@ _0207790E: add r1, r4, #0x0 add r0, r4, r0 add r1, #0xd8 - bl sub_02002248 + bl FUN_02002248 add r0, r5, #0x0 add r1, r4, #0x0 add r0, #0x1c add r1, #0xd8 - bl sub_02002248 + bl FUN_02002248 add r1, r4, #0x0 ldr r0, [r5, #0x18] add r1, #0xd8 - bl sub_02021E28 + bl FUN_02021E28 _02077932: mov r0, #0x61 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r7, #0xe7 mov r6, #0x0 add r5, r4, #0x0 lsl r7, r7, #0x2 _02077944: ldr r0, [r5, r7] - bl sub_0200621C + bl FUN_0200621C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x7 @@ -222242,26 +222242,26 @@ _02077944: mov r0, #0xb1 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02009C0C + bl FUN_02009C0C mov r0, #0xb5 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02009C0C + bl FUN_02009C0C mov r0, #0xb2 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02009E04 + bl FUN_02009E04 mov r0, #0xb6 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02009E04 + bl FUN_02009E04 mov r7, #0xad mov r6, #0x0 add r5, r4, #0x0 lsl r7, r7, #0x2 _02077982: ldr r0, [r5, r7] - bl sub_02008E2C + bl FUN_02008E2C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x4 @@ -222269,40 +222269,40 @@ _02077982: mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201FD58 - bl sub_02009FA0 + bl FUN_0201FD58 + bl FUN_02009FA0 ldr r1, _02077A70 ; =0x000004AC mov r0, #0x12 ldr r1, [r4, r1] - bl sub_02016A8C + bl FUN_02016A8C ldr r0, [r4, #0x0] cmp r0, #0x1 bne _020779C2 ldr r1, _02077A74 ; =0x000004B4 mov r0, #0x12 ldr r1, [r4, r1] - bl sub_02016A8C + bl FUN_02016A8C ldr r1, _02077A78 ; =0x000004BC mov r0, #0x12 ldr r1, [r4, r1] - bl sub_02016A8C + bl FUN_02016A8C _020779C2: mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x7 - bl sub_020178A0 - bl sub_0201D12C - bl sub_0201E08C + bl FUN_020178A0 + bl FUN_0201D12C + bl FUN_0201E08C mov r0, #0x16 lsl r0, r0, #0x4 mov r1, #0xee lsl r1, r1, #0x2 ldr r0, [r4, r0] add r1, r4, r1 - bl sub_02077FA8 + bl FUN_02077FA8 mov r0, #0x0 - bl sub_02002CC0 + bl FUN_02002CC0 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -222310,49 +222310,49 @@ _020779C2: and r0, r1 str r0, [r2, #0x0] mov r0, #0x2 - bl sub_02002CF8 + bl FUN_02002CF8 mov r0, #0x6 lsl r0, r0, #0x6 ldr r0, [r4, r0] cmp r0, #0x0 beq _02077A0C - bl sub_02021A20 + bl FUN_02021A20 _02077A0C: mov r0, #0x5e lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x5f lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x5d lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x17 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [sp, #0x10] - bl sub_0200627C + bl FUN_0200627C mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x12 - bl sub_020168D0 + bl FUN_020168D0 ldr r0, _02077A80 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 mov r0, #0x1 add sp, #0x14 pop {r4-r7, pc} @@ -222364,15 +222364,15 @@ _02077A78: .word 0x000004BC _02077A7C: .word 0xFFFF1FFF _02077A80: .word 0x021C4918 - thumb_func_start sub_02077A84 -sub_02077A84: ; 0x02077A84 + thumb_func_start FUN_02077A84 +FUN_02077A84: ; 0x02077A84 push {r3-r7, lr} add r6, r1, #0x0 mov r1, #0x50 str r0, [sp, #0x0] add r7, r2, #0x0 add r5, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 str r6, [r4, #0x0] str r7, [r4, #0x4] @@ -222383,7 +222383,7 @@ sub_02077A84: ; 0x02077A84 ldr r1, [sp, #0x0] strh r0, [r4, #0x1c] add r0, r5, #0x1 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x18] mov r1, #0x0 str r1, [r4, #0x44] @@ -222397,30 +222397,30 @@ sub_02077A84: ; 0x02077A84 .balign 4 _02077AC0: .word 0x0000FFFF - thumb_func_start sub_02077AC4 -sub_02077AC4: ; 0x02077AC4 + thumb_func_start FUN_02077AC4 +FUN_02077AC4: ; 0x02077AC4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] cmp r0, #0x0 bne _02077AD2 - bl sub_02020C2C + bl FUN_02020C2C _02077AD2: cmp r4, #0x0 bne _02077ADA - bl sub_02020C2C + bl FUN_02020C2C _02077ADA: ldr r0, [r4, #0x18] - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02077AE8 -sub_02077AE8: ; 0x02077AE8 + thumb_func_start FUN_02077AE8 +FUN_02077AE8: ; 0x02077AE8 push {r3, lr} - bl sub_0201C30C - bl sub_02009F80 + bl FUN_0201C30C + bl FUN_02009F80 ldr r3, _02077B00 ; =0x027E0000 ldr r1, _02077B04 ; =0x00003FF8 mov r0, #0x1 @@ -222432,8 +222432,8 @@ sub_02077AE8: ; 0x02077AE8 _02077B00: .word 0x027E0000 _02077B04: .word 0x00003FF8 - thumb_func_start sub_02077B08 -sub_02077B08: ; 0x02077B08 + thumb_func_start FUN_02077B08 +FUN_02077B08: ; 0x02077B08 ldr r2, [r1, #0x0] str r2, [r0, #0x0] ldr r2, [r1, #0x4] @@ -222449,8 +222449,8 @@ sub_02077B08: ; 0x02077B08 bx lr .balign 4 - thumb_func_start sub_02077B24 -sub_02077B24: ; 0x02077B24 + thumb_func_start FUN_02077B24 +FUN_02077B24: ; 0x02077B24 push {r4, lr} sub sp, #0x28 ldr r4, _02077B40 ; =0x020FA12C @@ -222462,14 +222462,14 @@ _02077B2E: sub r2, r2, #0x1 bne _02077B2E add r0, sp, #0x0 - bl sub_0201E66C + bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _02077B40: .word 0x020FA12C - thumb_func_start sub_02077B44 -sub_02077B44: ; 0x02077B44 + thumb_func_start FUN_02077B44 +FUN_02077B44: ; 0x02077B44 push {r3-r5, lr} sub sp, #0x80 ldr r5, _02077C68 ; =0x020F9D4C @@ -222481,7 +222481,7 @@ sub_02077B44: ; 0x02077B44 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _02077C6C ; =0x020F9EC0 add r3, sp, #0x54 ldmia r5!, {r0-r1} @@ -222496,10 +222496,10 @@ sub_02077B44: ; 0x02077B44 str r0, [r3, #0x0] add r0, r4, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 ldr r5, _02077C70 ; =0x020F9FA0 add r3, sp, #0x38 ldmia r5!, {r0-r1} @@ -222514,10 +222514,10 @@ sub_02077B44: ; 0x02077B44 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02018744 + bl FUN_02018744 ldr r5, _02077C74 ; =0x020FA064 add r3, sp, #0x1c ldmia r5!, {r0-r1} @@ -222532,10 +222532,10 @@ sub_02077B44: ; 0x02077B44 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02018744 + bl FUN_02018744 ldr r5, _02077C78 ; =0x020F9DFC add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -222550,22 +222550,22 @@ sub_02077B44: ; 0x02077B44 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02018744 + bl FUN_02018744 mov r0, #0x0 - bl sub_02077C84 + bl FUN_02077C84 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 mov r3, #0x12 - bl sub_02017F18 + bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0x12 - bl sub_02017F18 + bl FUN_02017F18 mov r0, #0x1 lsl r0, r0, #0x1a add r4, r0, #0x0 @@ -222613,48 +222613,48 @@ _02077C78: .word 0x020F9DFC _02077C7C: .word 0xFFFF1FFF _02077C80: .word 0x04001050 - thumb_func_start sub_02077C84 -sub_02077C84: ; 0x02077C84 + thumb_func_start FUN_02077C84 +FUN_02077C84: ; 0x02077C84 push {r4, lr} add r4, r0, #0x0 lsl r1, r4, #0x18 mov r0, #0x1 lsr r1, r1, #0x18 - bl sub_0201E6E4 + bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x2 lsr r1, r1, #0x18 - bl sub_0201E6E4 + bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x4 lsr r1, r1, #0x18 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x8 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x10 lsr r1, r1, #0x18 - bl sub_0201E6E4 + bl FUN_0201E6E4 lsl r1, r4, #0x18 mov r0, #0x1 lsr r1, r1, #0x18 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x2 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x10 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C pop {r4, pc} - thumb_func_start sub_02077CD4 -sub_02077CD4: ; 0x02077CD4 + thumb_func_start FUN_02077CD4 +FUN_02077CD4: ; 0x02077CD4 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_0200628C + bl FUN_0200628C add r7, r0, #0x0 ldr r0, _02077E7C ; =0x0000045C mov r1, #0x4 @@ -222662,7 +222662,7 @@ sub_02077CD4: ; 0x02077CD4 add r0, #0xc add r0, r4, r0 mov r1, #0x0 - bl sub_02078BA8 + bl FUN_02078BA8 ldr r6, _02077E80 ; =0x00000464 mov r0, #0x16 ldr r3, [r4, r6] @@ -222676,7 +222676,7 @@ sub_02077CD4: ; 0x02077CD4 ldr r3, [r3, r5] lsr r1, r1, #0x18 mov r2, #0x0 - bl sub_020179E0 + bl FUN_020179E0 ldr r3, [r4, r6] mov r5, #0xc mov r0, #0x16 @@ -222689,7 +222689,7 @@ sub_02077CD4: ; 0x02077CD4 ldr r3, [r3, r6] lsr r1, r1, #0x18 mov r2, #0x3 - bl sub_020179E0 + bl FUN_020179E0 ldr r6, _02077E80 ; =0x00000464 mov r0, #0x1 ldr r1, [r4, r6] @@ -222706,7 +222706,7 @@ sub_02077CD4: ; 0x02077CD4 ldr r3, [r3, r5] lsr r1, r1, #0x18 mov r2, #0x0 - bl sub_020179E0 + bl FUN_020179E0 ldr r1, [r4, r6] mov r0, #0x1 add r3, r1, #0x0 @@ -222722,7 +222722,7 @@ sub_02077CD4: ; 0x02077CD4 ldr r3, [r3, r6] lsr r1, r1, #0x18 mov r2, #0x3 - bl sub_020179E0 + bl FUN_020179E0 mov r1, #0x46 ldr r0, _02077E84 ; =0x0000FFFF lsl r1, r1, #0x2 @@ -222732,18 +222732,18 @@ sub_02077CD4: ; 0x02077CD4 beq _02077D88 add r1, r4, r1 mov r2, #0x20 - bl sub_02021EF0 + bl FUN_02021EF0 _02077D88: add r1, r4, #0x0 mov r0, #0x1 add r1, #0xd8 mov r2, #0x40 - blx sub_020CE1C8 + blx FUN_020CE1C8 ldr r0, [r4, #0x0] cmp r0, #0x1 bne _02077DCE mov r0, #0x12 - bl sub_020669C0 + bl FUN_020669C0 mov r3, #0xa str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -222752,17 +222752,17 @@ _02077D88: ldr r1, [r4, #0x4] add r5, r0, #0x0 mov r2, #0x5 - bl sub_02066ACC + bl FUN_02066ACC add r0, r5, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200AC60 + bl FUN_0200AC60 add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02077DCE: ldr r0, [r7, #0x44] cmp r0, #0x0 @@ -222780,7 +222780,7 @@ _02077DD8: ldr r2, [r2, r3] ldr r1, [r4, r1] mov r3, #0x12 - bl sub_0200A9C4 + bl FUN_0200A9C4 mov r1, #0x5e lsl r1, r1, #0x2 str r0, [r4, r1] @@ -222791,20 +222791,20 @@ _02077DD8: ldr r1, [r4, r1] mov r2, #0x8 mov r3, #0x12 - bl sub_0200A9C4 + bl FUN_0200A9C4 mov r1, #0x5f lsl r1, r1, #0x2 str r0, [r4, r1] sub r1, #0x10 ldr r0, [r4, r1] mov r1, #0x7 - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x61 lsl r1, r1, #0x2 str r0, [r4, r1] sub r1, #0x6c add r0, r4, r1 - bl sub_02002288 + bl FUN_02002288 mov r1, #0x56 lsl r1, r1, #0x2 strh r0, [r4, r1] @@ -222856,30 +222856,30 @@ _02077E84: .word 0x0000FFFF _02077E88: .word 0x020FA0A0 _02077E8C: .word 0x00000484 - thumb_func_start sub_02077E90 -sub_02077E90: ; 0x02077E90 + thumb_func_start FUN_02077E90 +FUN_02077E90: ; 0x02077E90 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r0, r1, #0x0 - bl sub_0200628C + bl FUN_0200628C add r4, r0, #0x0 ldr r0, [r4, #0x44] cmp r0, #0x0 beq _02077FA0 mov r0, #0xc8 mov r1, #0x12 - bl sub_020219F4 + bl FUN_020219F4 add r7, r0, #0x0 mov r0, #0x6 mov r1, #0x0 lsl r0, r0, #0x6 str r1, [r5, r0] ldr r0, [r4, #0x48] - bl sub_0206B330 + bl FUN_0206B330 add r6, r0, #0x0 ldr r0, [r4, #0x48] - bl sub_0206B334 + bl FUN_0206B334 str r0, [sp, #0x10] mov r0, #0x5a lsl r0, r0, #0x2 @@ -222887,7 +222887,7 @@ sub_02077E90: ; 0x02077E90 ldr r2, [r4, #0x48] mov r1, #0x1 add r3, r6, #0x0 - bl sub_0200B410 + bl FUN_0200B410 ldr r0, [sp, #0x10] cmp r6, r0 beq _02077EF4 @@ -222897,7 +222897,7 @@ sub_02077E90: ; 0x02077E90 ldr r2, [r4, #0x48] ldr r3, [sp, #0x10] mov r1, #0x2 - bl sub_0200B410 + bl FUN_0200B410 ldr r0, [r4, #0x44] add r0, r0, #0x2 str r0, [r4, #0x44] @@ -222909,7 +222909,7 @@ _02077EF4: ldr r2, [r4, #0x48] mov r1, #0x2 add r3, r6, #0x0 - bl sub_0200B410 + bl FUN_0200B410 _02077F04: mov r0, #0x56 lsl r0, r0, #0x2 @@ -222918,12 +222918,12 @@ _02077F04: beq _02077F1A add r0, r5, #0x0 add r0, #0xd8 - bl sub_0207786C + bl FUN_0207786C cmp r0, #0x0 beq _02077F50 _02077F1A: mov r0, #0x12 - bl sub_020669C0 + bl FUN_020669C0 mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -222932,17 +222932,17 @@ _02077F1A: ldr r1, [r5, #0x4] add r6, r0, #0x0 mov r2, #0x1 - bl sub_02066ACC + bl FUN_02066ACC add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 mov r0, #0x5a lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200AC60 + bl FUN_0200AC60 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 b _02077F7E _02077F50: mov r1, #0x56 @@ -222956,7 +222956,7 @@ _02077F50: add r1, r5, #0x0 add r0, r7, #0x0 add r1, #0xd8 - bl sub_02021E28 + bl FUN_02021E28 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x5a @@ -222965,7 +222965,7 @@ _02077F50: ldr r0, [r5, r0] add r2, r7, #0x0 add r3, r1, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 _02077F7E: mov r1, #0x5a lsl r1, r1, #0x2 @@ -222974,52 +222974,52 @@ _02077F7E: ldr r1, [r5, r1] ldr r2, [r4, #0x44] mov r3, #0x12 - bl sub_0200A9C4 + bl FUN_0200A9C4 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r5, r1] mov r0, #0x1 str r0, [r5, #0x14] add r0, r7, #0x0 - bl sub_02021A20 + bl FUN_02021A20 _02077FA0: add sp, #0x14 pop {r4-r7, pc} .balign 4 _02077FA4: .word 0x0000FFFF - thumb_func_start sub_02077FA8 -sub_02077FA8: ; 0x02077FA8 + thumb_func_start FUN_02077FA8 +FUN_02077FA8: ; 0x02077FA8 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r4, #0x0 _02077FB0: add r0, r5, #0x0 - bl sub_02019178 + bl FUN_02019178 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0xa blt _02077FB0 add r0, r6, #0x0 mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 add r0, r6, #0x0 mov r1, #0x0 - bl sub_020178A0 + bl FUN_020178A0 mov r0, #0x12 add r1, r6, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4-r6, pc} - thumb_func_start sub_02077FE8 -sub_02077FE8: ; 0x02077FE8 + thumb_func_start FUN_02077FE8 +FUN_02077FE8: ; 0x02077FE8 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -223034,7 +223034,7 @@ sub_02077FE8: ; 0x02077FE8 mov r0, #0x1f add r2, r1, #0x0 add r3, r1, #0x0 - bl sub_02006930 + bl FUN_02006930 mov r0, #0x20 str r0, [sp, #0x0] mov r0, #0x12 @@ -223043,10 +223043,10 @@ sub_02077FE8: ; 0x02077FE8 add r1, r0, #0x0 mov r2, #0x4 mov r3, #0x0 - bl sub_02006930 + bl FUN_02006930 mov r0, #0x4 mov r1, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 @@ -223060,7 +223060,7 @@ sub_02077FE8: ; 0x02077FE8 mov r0, #0x1f add r2, r4, #0x0 add r3, r1, #0x0 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 @@ -223074,7 +223074,7 @@ sub_02077FE8: ; 0x02077FE8 mov r1, #0x4 add r2, r4, #0x0 mov r3, #0x2 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x2 @@ -223087,7 +223087,7 @@ sub_02077FE8: ; 0x02077FE8 mov r0, #0x1f mov r1, #0x2 add r2, r4, #0x0 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xe @@ -223100,7 +223100,7 @@ sub_02077FE8: ; 0x02077FE8 mov r0, #0x1f mov r1, #0x6 add r2, r4, #0x0 - bl sub_020068C8 + bl FUN_020068C8 mov r3, #0x0 mov r0, #0xe str r3, [sp, #0x0] @@ -223113,14 +223113,14 @@ sub_02077FE8: ; 0x02077FE8 mov r0, #0x1f mov r1, #0x7 add r2, r4, #0x0 - bl sub_020068C8 + bl FUN_020068C8 mov r1, #0x6 mov r0, #0x0 lsl r1, r1, #0x6 mov r2, #0x12 - bl sub_02002EEC + bl FUN_02002EEC ldr r0, [r5, #0x18] - bl sub_02025084 + bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -223133,12 +223133,12 @@ sub_02077FE8: ; 0x02077FE8 ldr r0, [r5, r0] add r2, #0xfc mov r3, #0xa - bl sub_0200CD68 + bl FUN_0200CD68 mov r1, #0x6 mov r0, #0x4 lsl r1, r1, #0x6 mov r2, #0x12 - bl sub_02002EEC + bl FUN_02002EEC mov r3, #0x4b mov r0, #0x12 lsl r3, r3, #0x4 @@ -223147,7 +223147,7 @@ sub_02077FE8: ; 0x02077FE8 mov r1, #0x10 mov r2, #0x1 add r3, r5, r3 - bl sub_02006BB0 + bl FUN_02006BB0 ldr r1, _0207810C ; =0x000004AC str r0, [r5, r1] add sp, #0x10 @@ -223155,8 +223155,8 @@ sub_02077FE8: ; 0x02077FE8 nop _0207810C: .word 0x000004AC - thumb_func_start sub_02078110 -sub_02078110: ; 0x02078110 + thumb_func_start FUN_02078110 +FUN_02078110: ; 0x02078110 push {r4, lr} sub sp, #0x10 ldr r4, _0207813C ; =0x020F9D5C @@ -223167,23 +223167,23 @@ sub_02078110: ; 0x02078110 ldmia r4!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_0201D040 + bl FUN_0201D040 mov r0, #0x14 mov r1, #0x12 - bl sub_0201E00C - bl sub_0201D168 - bl sub_0201E0BC + bl FUN_0201E00C + bl FUN_0201D168 + bl FUN_0201E0BC add sp, #0x10 pop {r4, pc} .balign 4 _0207813C: .word 0x020F9D5C - thumb_func_start sub_02078140 -sub_02078140: ; 0x02078140 + thumb_func_start FUN_02078140 +FUN_02078140: ; 0x02078140 push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 - blx sub_020B0FC0 + blx FUN_020B0FC0 mov r0, #0x0 str r0, [sp, #0x0] mov r1, #0x80 @@ -223194,13 +223194,13 @@ sub_02078140: ; 0x02078140 mov r2, #0x12 str r2, [sp, #0x10] add r2, r0, #0x0 - bl sub_02009EAC + bl FUN_02009EAC mov r1, #0x63 lsl r1, r1, #0x2 mov r0, #0x2c add r1, r5, r1 mov r2, #0x12 - bl sub_02008C9C + bl FUN_02008C9C mov r1, #0x62 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223209,7 +223209,7 @@ sub_02078140: ; 0x02078140 add r0, r5, r0 mov r1, #0x0 lsl r2, r2, #0x14 - bl sub_02008D24 + bl FUN_02008D24 mov r7, #0xad mov r6, #0x0 add r4, r5, #0x0 @@ -223218,7 +223218,7 @@ _0207818C: mov r0, #0x2 add r1, r6, #0x0 mov r2, #0x12 - bl sub_02008DEC + bl FUN_02008DEC str r0, [r4, r7] add r6, r6, #0x1 add r4, r4, #0x4 @@ -223235,7 +223235,7 @@ _0207818C: ldr r0, [r5, r0] mov r1, #0x1f mov r2, #0xa - bl sub_02008F34 + bl FUN_02008F34 mov r1, #0xb1 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223250,7 +223250,7 @@ _0207818C: str r0, [sp, #0xc] ldr r0, [r5, r1] mov r1, #0x1f - bl sub_02008FEC + bl FUN_02008FEC mov r1, #0xb2 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223265,7 +223265,7 @@ _0207818C: mov r1, #0x1f mov r2, #0xc mov r3, #0x1 - bl sub_020090AC + bl FUN_020090AC mov r1, #0xb3 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223280,7 +223280,7 @@ _0207818C: mov r1, #0x1f mov r2, #0xe mov r3, #0x1 - bl sub_020090AC + bl FUN_020090AC mov r1, #0x2d lsl r1, r1, #0x4 str r0, [r5, r1] @@ -223290,7 +223290,7 @@ _0207818C: ldr r0, [r5, #0x4] ldr r2, [r5, #0x8] mov r1, #0x0 - bl sub_0206B6D4 + bl FUN_0206B6D4 ldr r3, _0207831C ; =0x000004B8 add r1, r0, #0x0 mov r0, #0x12 @@ -223298,27 +223298,27 @@ _0207818C: mov r0, #0x13 mov r2, #0x0 add r3, r5, r3 - bl sub_02006BB0 + bl FUN_02006BB0 ldr r1, _02078320 ; =0x000004B4 str r0, [r5, r1] add r0, r1, #0x4 mov r1, #0x2 ldr r0, [r5, r0] lsl r1, r1, #0x8 - blx sub_020CC15C - bl sub_0206B888 + blx FUN_020CC15C + bl FUN_0206B888 add r1, r0, #0x0 mov r0, #0x13 lsl r2, r0, #0x6 add r2, r5, r2 mov r3, #0x12 - bl sub_02006C08 + bl FUN_02006C08 ldr r1, _02078324 ; =0x000004BC str r0, [r5, r1] add r0, r1, #0x4 ldr r0, [r5, r0] mov r1, #0x80 - blx sub_020CC15C + blx FUN_020CC15C _02078272: mov r3, #0x1 str r3, [sp, #0x0] @@ -223331,7 +223331,7 @@ _02078272: ldr r0, [r5, r0] mov r1, #0x1f mov r2, #0xb - bl sub_02008F34 + bl FUN_02008F34 mov r1, #0xb5 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223347,7 +223347,7 @@ _02078272: ldr r0, [r5, r1] mov r1, #0x1f mov r3, #0x0 - bl sub_02008FEC + bl FUN_02008FEC mov r1, #0xb6 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223361,7 +223361,7 @@ _02078272: ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xd - bl sub_020090AC + bl FUN_020090AC mov r1, #0xb7 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -223375,25 +223375,25 @@ _02078272: ldr r0, [r5, r1] mov r1, #0x1f mov r2, #0xf - bl sub_020090AC + bl FUN_020090AC mov r1, #0x2e lsl r1, r1, #0x4 str r0, [r5, r1] sub r1, #0x1c ldr r0, [r5, r1] - bl sub_02009A50 + bl FUN_02009A50 mov r0, #0xb5 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02009A50 + bl FUN_02009A50 mov r0, #0xb2 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02009CF0 + bl FUN_02009CF0 mov r0, #0xb6 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02009CF0 + bl FUN_02009CF0 add sp, #0x14 pop {r4-r7, pc} nop @@ -223401,13 +223401,13 @@ _0207831C: .word 0x000004B8 _02078320: .word 0x000004B4 _02078324: .word 0x000004BC - thumb_func_start sub_02078328 -sub_02078328: ; 0x02078328 + thumb_func_start FUN_02078328 +FUN_02078328: ; 0x02078328 push {r3-r4, lr} sub sp, #0xc add r4, r1, #0x0 ldr r0, [r4, #0x0] - bl sub_0202011C + bl FUN_0202011C ldr r1, [r0, #0x0] ldr r0, [r4, #0x8] add r0, r1, r0 @@ -223422,14 +223422,14 @@ sub_02078328: ; 0x02078328 mov r0, #0x0 str r0, [sp, #0x8] ldr r0, [r4, #0x4] - bl sub_02020044 + bl FUN_02020044 add sp, #0xc pop {r3-r4, pc} .balign 4 _02078358: .word 0x020FA1D8 - thumb_func_start sub_0207835C -sub_0207835C: ; 0x0207835C + thumb_func_start FUN_0207835C +FUN_0207835C: ; 0x0207835C push {r4-r7, lr} sub sp, #0x5c mov r1, #0x0 @@ -223462,7 +223462,7 @@ sub_0207835C: ; 0x0207835C add r0, r6, r2 add r2, r1, #0x0 str r1, [sp, #0x28] - bl sub_02008AA4 + bl FUN_02008AA4 mov r1, #0x1 mov r3, #0xad str r1, [sp, #0x0] @@ -223492,7 +223492,7 @@ sub_0207835C: ; 0x0207835C add r0, r6, r3 add r2, r1, #0x0 add r3, r1, #0x0 - bl sub_02008AA4 + bl FUN_02008AA4 mov r0, #0x62 lsl r0, r0, #0x2 ldr r0, [r6, r0] @@ -223530,24 +223530,24 @@ _02078418: lsl r0, r0, #0xc str r0, [sp, #0x38] add r0, sp, #0x2c - bl sub_0201FE94 + bl FUN_0201FE94 mov r1, #0xcb lsl r1, r1, #0x2 str r0, [r5, r1] add r0, r1, #0x0 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200BC + bl FUN_020200BC mov r0, #0xcb lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, [r4, #0x8] - bl sub_02020130 + bl FUN_02020130 mov r0, #0xcb lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r1, [r4, #0xc] - bl sub_02020310 + bl FUN_02020310 add r7, r7, #0x1 add r4, #0x10 add r5, r5, #0x4 @@ -223557,27 +223557,27 @@ _02078418: lsl r0, r0, #0x2 ldr r0, [r6, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r6, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r7, _02078528 ; =0x020FA1D4 mov r5, #0x0 add r4, r6, #0x0 _0207847A: - ldr r0, _0207852C ; =sub_02078328 + ldr r0, _0207852C ; =FUN_02078328 mov r1, #0x10 mov r2, #0x5 mov r3, #0x12 - bl sub_020061E8 + bl FUN_020061E8 mov r1, #0xe7 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 ldr r0, [r4, r0] - bl sub_0201B6C8 + bl FUN_0201B6C8 mov r1, #0xd2 lsl r1, r1, #0x2 ldr r1, [r6, r1] @@ -223608,19 +223608,19 @@ _020784C2: lsl r0, r0, #0xc str r0, [sp, #0x38] add r0, sp, #0x2c - bl sub_0201FE94 + bl FUN_0201FE94 mov r1, #0xd9 lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r1, #0x0 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200BC + bl FUN_020200BC mov r0, #0xd9 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x2b - bl sub_02020130 + bl FUN_02020130 ldr r2, [r6, #0xc] add r7, r7, #0x1 add r5, #0xc @@ -223634,24 +223634,24 @@ _020784FA: lsl r0, r0, #0x2 ldrh r1, [r6, r1] add r0, r6, r0 - bl sub_02079710 + bl FUN_02079710 add r0, r6, #0x0 add r1, sp, #0x2c - bl sub_02078530 + bl FUN_02078530 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E74C + bl FUN_0201E74C add sp, #0x5c pop {r4-r7, pc} nop _02078528: .word 0x020FA1D4 -_0207852C: .word sub_02078328 + 1 +_0207852C: .word FUN_02078328 + 1 - thumb_func_start sub_02078530 -sub_02078530: ; 0x02078530 + thumb_func_start FUN_02078530 +FUN_02078530: ; 0x02078530 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x6 @@ -223662,13 +223662,13 @@ sub_02078530: ; 0x02078530 lsl r0, r0, #0xe str r0, [r5, #0xc] add r0, r5, #0x0 - bl sub_0201FE94 + bl FUN_0201FE94 mov r1, #0xe5 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, r1] mov r1, #0x1 - bl sub_020200BC + bl FUN_020200BC ldr r0, [r4, #0x0] cmp r0, #0x7 bhi _02078626 @@ -223693,14 +223693,14 @@ sub_02078530: ; 0x02078530 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x30 - bl sub_02020130 + bl FUN_02020130 pop {r3-r5, pc} _0207858C: mov r0, #0xe5 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x31 - bl sub_02020130 + bl FUN_02020130 pop {r3-r5, pc} _0207859A: .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58 @@ -223716,8 +223716,8 @@ _0207859A: _02078626: pop {r3-r5, pc} - thumb_func_start sub_02078628 -sub_02078628: ; 0x02078628 + thumb_func_start FUN_02078628 +FUN_02078628: ; 0x02078628 push {r4-r5, lr} sub sp, #0xc add r4, r1, #0x0 @@ -223749,7 +223749,7 @@ sub_02078628: ; 0x02078628 str r0, [sp, #0x0] ldr r0, [r4, #0x0] add r1, sp, #0x0 - bl sub_02020044 + bl FUN_02020044 b _020786A6 _0207866C: .byte 0x03, 0x20, 0xA1, 0x68 @@ -223764,8 +223764,8 @@ _020786A6: add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_020786B0 -sub_020786B0: ; 0x020786B0 + thumb_func_start FUN_020786B0 +FUN_020786B0: ; 0x020786B0 push {r3-r7, lr} sub sp, #0x28 str r1, [sp, #0x14] @@ -223811,10 +223811,10 @@ _020786DA: mov r0, #0x1f add r1, r7, #0x6 add r3, r6, #0x0 - bl sub_020068C8 + bl FUN_020068C8 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_02078BA8 + bl FUN_02078BA8 ldr r0, _02078884 ; =0x020F9D2C lsl r2, r6, #0x4 ldrb r1, [r0, r7] @@ -223828,7 +223828,7 @@ _020786DA: lsl r1, r1, #0x10 lsr r1, r1, #0x10 add r2, r7, #0x0 - bl sub_0207974C + bl FUN_0207974C ldr r0, [r5, #0x0] add sp, #0x28 add r0, r0, #0x1 @@ -223866,8 +223866,8 @@ _0207888C: .byte 0x29, 0x86, 0x07, 0x02 .byte 0x9B, 0x06, 0x00, 0x00 - thumb_func_start sub_02078894 -sub_02078894: ; 0x02078894 + thumb_func_start FUN_02078894 +FUN_02078894: ; 0x02078894 push {r4-r5, lr} sub sp, #0xc add r4, r2, #0x0 @@ -223876,7 +223876,7 @@ sub_02078894: ; 0x02078894 lsl r2, r2, #0x8 mov r3, #0xa add r5, r0, #0x0 - bl sub_0200D0BC + bl FUN_0200D0BC mov r3, #0x0 str r3, [sp, #0x0] str r3, [sp, #0x4] @@ -223884,14 +223884,14 @@ sub_02078894: ; 0x02078894 mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_020788C4 -sub_020788C4: ; 0x020788C4 + thumb_func_start FUN_020788C4 +FUN_020788C4: ; 0x020788C4 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -223900,14 +223900,14 @@ sub_020788C4: ; 0x020788C4 add r1, r6, #0x0 add r2, r0, #0x0 mov r4, #0x10 - bl sub_02002E14 + bl FUN_02002E14 cmp r0, #0x82 ble _020788DE mov r4, #0x0 _020788DE: add r0, r5, #0x0 mov r1, #0x1 - bl sub_02019620 + bl FUN_02019620 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, _02078908 ; =0x000E0F01 @@ -223917,16 +223917,16 @@ _020788DE: add r2, r6, #0x0 add r3, r4, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 add sp, #0x10 pop {r4-r6, pc} nop _02078908: .word 0x000E0F01 - thumb_func_start sub_0207890C -sub_0207890C: ; 0x0207890C + thumb_func_start FUN_0207890C +FUN_0207890C: ; 0x0207890C push {r4-r7, lr} sub sp, #0x14 add r6, r1, #0x0 @@ -223948,7 +223948,7 @@ sub_0207890C: ; 0x0207890C add r1, r5, r1 mov r2, #0x0 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 mov r2, #0x1 mov r1, #0xf2 lsl r1, r1, #0x2 @@ -223965,7 +223965,7 @@ sub_0207890C: ; 0x0207890C ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 ldr r0, [r5, #0x0] cmp r0, #0x4 bne _020789AE @@ -223983,14 +223983,14 @@ sub_0207890C: ; 0x0207890C ldr r2, [r5, r2] mov r0, #0x1f mov r1, #0x9 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x46 mov r1, #0x4 lsl r0, r0, #0x4 str r1, [r5, r0] add r0, r5, #0x0 add r0, #0x3a - bl sub_0207916C + bl FUN_0207916C mov r0, #0x4b lsl r0, r0, #0x4 ldr r1, [r5, r0] @@ -224001,7 +224001,7 @@ sub_0207890C: ; 0x0207890C ldr r1, _02078B70 ; =0x00000A0A add r0, r5, r0 mov r2, #0x4 - bl sub_0207974C + bl FUN_0207974C b _020789D8 _020789AE: mov r0, #0x46 @@ -224010,7 +224010,7 @@ _020789AE: str r1, [r5, r0] add r0, r5, #0x0 add r0, #0x3a - bl sub_0207916C + bl FUN_0207916C mov r1, #0x4b lsl r1, r1, #0x4 ldr r0, [r5, r1] @@ -224022,7 +224022,7 @@ _020789AE: sub r0, #0xe8 add r0, r5, r0 sub r1, #0xac - bl sub_0207974C + bl FUN_0207974C _020789D8: mov r2, #0x2 str r2, [sp, #0x0] @@ -224039,7 +224039,7 @@ _020789D8: ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x7 - bl sub_02019064 + bl FUN_02019064 ldr r1, [r5, #0xc] mov r0, #0xc add r2, r1, #0x0 @@ -224067,12 +224067,12 @@ _020789D8: ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0xa - bl sub_02019064 + bl FUN_02019064 mov r0, #0xfa lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x1 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x3 str r0, [sp, #0x0] mov r0, #0x7 @@ -224092,11 +224092,11 @@ _020789D8: ldr r0, [r5, r0] add r1, r5, r1 lsr r3, r3, #0x18 - bl sub_02019064 + bl FUN_02019064 ldr r0, _02078B74 ; =0x00000438 mov r1, #0x1 add r0, r5, r0 - bl sub_02019620 + bl FUN_02019620 ldr r1, [r5, #0x0] cmp r1, #0x5 bne _02078A90 @@ -224105,10 +224105,10 @@ _020789D8: lsl r2, r2, #0x2 ldr r2, [r5, r2] add r0, r5, r0 - bl sub_020788C4 + bl FUN_020788C4 ldr r0, _02078B74 ; =0x00000438 add r0, r5, r0 - bl sub_020191D0 + bl FUN_020191D0 _02078A90: mov r0, #0x13 str r0, [sp, #0x0] @@ -224125,20 +224125,20 @@ _02078A90: ldr r0, [r5, r0] add r1, r5, r1 mov r3, #0x2 - bl sub_02019064 + bl FUN_02019064 ldr r0, _02078B78 ; =0x00000448 mov r1, #0xf add r0, r5, r0 - bl sub_02019620 + bl FUN_02019620 mov r2, #0x5e ldr r0, _02078B78 ; =0x00000448 lsl r2, r2, #0x2 ldr r1, [r5, #0x0] ldr r2, [r5, r2] add r0, r5, r0 - bl sub_02078894 + bl FUN_02078894 add r0, r6, #0x0 - bl sub_0200628C + bl FUN_0200628C mov r1, #0x46 lsl r1, r1, #0x2 ldrh r2, [r5, r1] @@ -224148,7 +224148,7 @@ _02078A90: add r0, r5, #0x0 add r0, #0xd8 add r1, r5, r1 - bl sub_02002248 + bl FUN_02002248 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 @@ -224162,7 +224162,7 @@ _02078A90: add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] - bl sub_02078E7C + bl FUN_02078E7C _02078B06: mov r0, #0xee lsl r0, r0, #0x2 @@ -224185,10 +224185,10 @@ _02078B0E: add r1, r7, r6 mov r2, #0x2 mov r3, #0x0 - bl sub_02019064 + bl FUN_02019064 add r0, r7, r6 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r4, r4, #0x1 cmp r4, #0x3 blt _02078B0E @@ -224205,11 +224205,11 @@ _02078B0E: add r0, #0xdc ldr r0, [r5, r0] add r1, r5, r1 - bl sub_02019064 + bl FUN_02019064 ldr r0, _02078B84 ; =0x00000428 mov r1, #0x0 add r0, r5, r0 - bl sub_02019620 + bl FUN_02019620 add sp, #0x14 pop {r4-r7, pc} .balign 4 @@ -224221,25 +224221,25 @@ _02078B7C: .word 0x0000FFFF _02078B80: .word 0x000E0F01 _02078B84: .word 0x00000428 - thumb_func_start sub_02078B88 -sub_02078B88: ; 0x02078B88 + thumb_func_start FUN_02078B88 +FUN_02078B88: ; 0x02078B88 push {r4, lr} add r4, r1, #0x0 lsl r0, r4, #0x18 lsr r0, r0, #0x18 mov r1, #0x1 - bl sub_020178BC + bl FUN_020178BC mov r0, #0x1 eor r0, r4 lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x2 - bl sub_020178BC + bl FUN_020178BC pop {r4, pc} .balign 4 - thumb_func_start sub_02078BA8 -sub_02078BA8: ; 0x02078BA8 + thumb_func_start FUN_02078BA8 +FUN_02078BA8: ; 0x02078BA8 push {r3-r4} mov r3, #0xc add r4, r1, #0x0 @@ -224261,8 +224261,8 @@ sub_02078BA8: ; 0x02078BA8 bx lr .balign 4 - thumb_func_start sub_02078BD0 -sub_02078BD0: ; 0x02078BD0 + thumb_func_start FUN_02078BD0 +FUN_02078BD0: ; 0x02078BD0 cmp r0, r2 blt _02078BD6 add r0, r1, #0x0 @@ -224274,8 +224274,8 @@ _02078BDC: bx lr .balign 4 - thumb_func_start sub_02078BE0 -sub_02078BE0: ; 0x02078BE0 + thumb_func_start FUN_02078BE0 +FUN_02078BE0: ; 0x02078BE0 push {r3-r7, lr} add r5, r0, #0x0 cmp r1, #0x0 @@ -224295,7 +224295,7 @@ sub_02078BE0: ; 0x02078BE0 mov r2, #0xd add r0, r0, r1 mov r1, #0x0 - bl sub_02078BD0 + bl FUN_02078BD0 add r4, r0, #0x0 ldr r0, _02078C8C ; =0x020FA158 ldr r1, [r5, #0x20] @@ -224303,7 +224303,7 @@ sub_02078BE0: ; 0x02078BE0 mov r2, #0x6 add r0, r1, r0 mov r1, #0x0 - bl sub_02078BD0 + bl FUN_02078BD0 add r7, r0, #0x0 ldr r0, _02078C88 ; =0x020FA154 add r6, r0, r6 @@ -224322,7 +224322,7 @@ _02078C24: mov r1, #0x0 add r0, r4, r0 mov r2, #0xd - bl sub_02078BD0 + bl FUN_02078BD0 add r4, r0, #0x0 b _02078C62 _02078C46: @@ -224330,13 +224330,13 @@ _02078C46: mov r1, #0x0 add r0, r4, r0 mov r2, #0xd - bl sub_02078BD0 + bl FUN_02078BD0 add r4, r0, #0x0 ldr r0, [r6, #0x4] mov r1, #0x0 add r0, r7, r0 mov r2, #0x6 - bl sub_02078BD0 + bl FUN_02078BD0 add r7, r0, #0x0 _02078C62: mov r0, #0x1a @@ -224365,8 +224365,8 @@ _02078C8C: .word 0x020FA158 _02078C90: .word 0x0000D004 _02078C94: .word 0x0000E001 - thumb_func_start sub_02078C98 -sub_02078C98: ; 0x02078C98 + thumb_func_start FUN_02078C98 +FUN_02078C98: ; 0x02078C98 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _02078D70 ; =0x021C48B8 @@ -224377,12 +224377,12 @@ sub_02078C98: ; 0x02078C98 tst r0, r1 beq _02078CC0 ldr r0, _02078D74 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r6, #0x1 add r4, r4, #0x1 _02078CC0: @@ -224392,12 +224392,12 @@ _02078CC0: tst r0, r1 beq _02078CE0 ldr r0, _02078D74 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r6, #0x2 add r4, r4, #0x1 _02078CE0: @@ -224407,12 +224407,12 @@ _02078CE0: tst r0, r1 beq _02078D00 ldr r0, _02078D74 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r6, #0x3 add r4, r4, #0x1 _02078D00: @@ -224422,12 +224422,12 @@ _02078D00: tst r0, r1 beq _02078D20 ldr r0, _02078D74 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r6, #0x4 add r4, r4, #0x1 _02078D20: @@ -224437,12 +224437,12 @@ _02078D20: tst r0, r1 beq _02078D46 ldr r0, _02078D74 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0xc str r0, [r5, #0x1c] mov r0, #0x0 @@ -224450,7 +224450,7 @@ _02078D20: add r4, r4, #0x1 _02078D46: add r0, r5, #0x0 - bl sub_02079930 + bl FUN_02079930 ldr r1, _02078D78 ; =0x000005C8 str r0, [r5, r1] ldr r0, [r5, r1] @@ -224463,10 +224463,10 @@ _02078D5A: beq _02078D6E add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02078BE0 + bl FUN_02078BE0 add r0, r5, #0x0 add r1, r6, #0x0 - bl sub_02078D7C + bl FUN_02078D7C _02078D6E: pop {r4-r6, pc} .balign 4 @@ -224474,8 +224474,8 @@ _02078D70: .word 0x021C48B8 _02078D74: .word 0x000005DC _02078D78: .word 0x000005C8 - thumb_func_start sub_02078D7C -sub_02078D7C: ; 0x02078D7C + thumb_func_start FUN_02078D7C +FUN_02078D7C: ; 0x02078D7C push {r3-r5, lr} sub sp, #0x18 add r5, r0, #0x0 @@ -224492,7 +224492,7 @@ sub_02078D7C: ; 0x02078D7C lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x27 - bl sub_02020130 + bl FUN_02020130 _02078DA0: ldr r0, [r5, #0x1c] lsl r0, r0, #0x4 @@ -224510,7 +224510,7 @@ _02078DA0: lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, sp, #0xc - bl sub_02020044 + bl FUN_02020044 b _02078E02 _02078DC6: mov r0, #0x1a @@ -224535,12 +224535,12 @@ _02078DC6: lsl r0, r0, #0x2 ldrb r1, [r2, r1] ldr r0, [r5, r0] - bl sub_02020130 + bl FUN_02020130 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, sp, #0x0 - bl sub_02020044 + bl FUN_02020044 _02078E02: mov r0, #0xb4 strh r0, [r5, #0x38] @@ -224548,7 +224548,7 @@ _02078E02: lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 ldr r0, [r5, #0x1c] lsl r1, r4, #0x3 str r0, [r5, #0x24] @@ -224568,8 +224568,8 @@ _02078E30: .word 0x020F9D6C _02078E34: .word 0x020F9D38 _02078E38: .word 0x020FA154 - thumb_func_start sub_02078E3C -sub_02078E3C: ; 0x02078E3C + thumb_func_start FUN_02078E3C +FUN_02078E3C: ; 0x02078E3C push {r3, lr} ldrh r1, [r0, #0x0] add r1, #0x14 @@ -224583,7 +224583,7 @@ sub_02078E3C: ; 0x02078E3C strh r1, [r0, #0x0] _02078E52: ldrh r0, [r0, #0x0] - bl sub_0201B970 + bl FUN_0201B970 mov r1, #0xa mul r1, r0 asr r0, r1, #0xb @@ -224599,11 +224599,11 @@ _02078E52: add r0, sp, #0x0 mov r1, #0x3a mov r2, #0x2 - blx sub_020C9480 + blx FUN_020C9480 pop {r3, pc} - thumb_func_start sub_02078E7C -sub_02078E7C: ; 0x02078E7C + thumb_func_start FUN_02078E7C +FUN_02078E7C: ; 0x02078E7C push {r4-r7, lr} sub sp, #0x3c str r0, [sp, #0x18] @@ -224613,7 +224613,7 @@ sub_02078E7C: ; 0x02078E7C str r2, [sp, #0x1c] str r3, [sp, #0x20] mov r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 str r0, [sp, #0x28] ldrh r1, [r7, #0x0] ldr r0, _02078F6C ; =0x0000FFFF @@ -224667,7 +224667,7 @@ _02078EB4: mov r2, #0x0 ldr r0, [sp, #0x18] add r3, r2, #0x0 - bl sub_02019658 + bl FUN_02019658 b _02078F56 _02078F00: ldr r0, _02078F78 ; =0x0000D004 @@ -224683,11 +224683,11 @@ _02078F0A: mov r0, #0x0 add r1, sp, #0x38 add r2, r0, #0x0 - bl sub_02002DE0 + bl FUN_02002DE0 add r5, r0, #0x0 ldr r0, [sp, #0x28] add r1, sp, #0x38 - bl sub_02021E28 + bl FUN_02021E28 ldr r0, [sp, #0x20] sub r3, r6, r5 str r0, [sp, #0x0] @@ -224710,7 +224710,7 @@ _02078F0A: ldr r2, [sp, #0x28] mov r1, #0x0 add r3, r5, r3 - bl sub_0201BDE0 + bl FUN_0201BDE0 _02078F56: add r4, r4, #0x1 _02078F58: @@ -224721,7 +224721,7 @@ _02078F58: bne _02078EB4 _02078F62: ldr r0, [sp, #0x28] - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x3c pop {r4-r7, pc} .balign 4 @@ -224730,8 +224730,8 @@ _02078F70: .word 0x00002FFF _02078F74: .word 0x0000D001 _02078F78: .word 0x0000D004 - thumb_func_start sub_02078F7C -sub_02078F7C: ; 0x02078F7C + thumb_func_start FUN_02078F7C +FUN_02078F7C: ; 0x02078F7C push {r4-r6, lr} sub sp, #0x10 mov r5, #0x0 @@ -224745,13 +224745,13 @@ sub_02078F7C: ; 0x02078F7C add r3, r5, #0x0 add r4, r0, #0x0 str r5, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, [r4, #0xc] add sp, #0x10 pop {r4-r6, pc} - thumb_func_start sub_02078FA0 -sub_02078FA0: ; 0x02078FA0 + thumb_func_start FUN_02078FA0 +FUN_02078FA0: ; 0x02078FA0 push {r3-r7, lr} sub sp, #0x38 add r6, r0, #0x0 @@ -224760,16 +224760,16 @@ sub_02078FA0: ; 0x02078FA0 mov r1, #0x0 add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x0 ldr r3, _0207906C ; =0x000D0E0F add r0, #0x30 add r1, r4, #0x0 mov r2, #0x2 - bl sub_02078F7C + bl FUN_02078F7C mov r1, #0x2 lsl r1, r1, #0xa - blx sub_020CC15C + blx FUN_020CC15C add r7, r6, #0x0 mov r4, #0x0 add r7, #0x30 @@ -224781,18 +224781,18 @@ _02078FD0: mov r2, #0x2 lsl r3, r4, #0x2 str r5, [sp, #0x4] - bl sub_02011B20 + bl FUN_02011B20 mov r1, #0x1 add r0, r5, #0x0 lsl r1, r1, #0x8 - blx sub_020CC15C + blx FUN_020CC15C ldr r1, _02079070 ; =0x020F9D28 mov r2, #0x1 ldrb r1, [r1, r4] add r0, r5, #0x0 lsl r2, r2, #0x8 lsl r1, r1, #0x5 - blx sub_020C9294 + blx FUN_020C9294 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -224800,7 +224800,7 @@ _02078FD0: blo _02078FD0 mov r0, #0x15 mov r1, #0x12 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 mov r5, #0x0 _02079012: @@ -224814,32 +224814,32 @@ _02079012: strh r1, [r0, #0x2] add r0, r6, r7 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 add r1, sp, #0xc - bl sub_02021E28 + bl FUN_02021E28 ldr r3, _0207906C ; =0x000D0E0F add r0, r6, r7 add r1, r4, #0x0 mov r2, #0x2 - bl sub_02078F7C + bl FUN_02078F7C mov r1, #0x80 add r7, r0, #0x0 - blx sub_020CC15C + blx FUN_020CC15C ldr r1, _02079078 ; =0x020F9D40 lsl r2, r5, #0x2 ldr r1, [r1, r2] add r0, r7, #0x0 lsl r1, r1, #0x5 mov r2, #0x80 - blx sub_020C9294 + blx FUN_020C9294 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x3 blo _02079012 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x38 pop {r3-r7, pc} nop @@ -224848,8 +224848,8 @@ _02079070: .word 0x020F9D28 _02079074: .word 0x0000FFFF _02079078: .word 0x020F9D40 - thumb_func_start sub_0207907C -sub_0207907C: ; 0x0207907C + thumb_func_start FUN_0207907C +FUN_0207907C: ; 0x0207907C push {r3-r5, lr} cmp r2, #0x0 bne _02079086 @@ -224970,7 +224970,7 @@ _0207914A: add r1, r3, #0x0 ldr r2, [sp, #0x10] ldr r3, [sp, #0x14] - bl sub_02078FA0 + bl FUN_02078FA0 pop {r3-r5, pc} nop _02079158: .word 0x0000D003 @@ -224979,8 +224979,8 @@ _02079160: .word 0x0000D004 _02079164: .word 0x0000E002 _02079168: .word 0x020FA40E - thumb_func_start sub_0207916C -sub_0207916C: ; 0x0207916C + thumb_func_start FUN_0207916C +FUN_0207916C: ; 0x0207916C push {r4-r7} mov r4, #0x0 ldr r3, _020791B8 ; =0x02106058 @@ -225026,8 +225026,8 @@ _0207919A: _020791B8: .word 0x02106058 _020791BC: .word 0x0210606C - thumb_func_start sub_020791C0 -sub_020791C0: ; 0x020791C0 + thumb_func_start FUN_020791C0 +FUN_020791C0: ; 0x020791C0 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -225099,7 +225099,7 @@ _0207922A: str r0, [sp, #0x4] mov r0, #0x2a mov r2, #0x1 - bl sub_020795FC + bl FUN_020795FC cmp r0, #0x0 bne _0207924A b _02079526 @@ -225108,7 +225108,7 @@ _0207924A: lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_02019620 + bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 @@ -225122,9 +225122,9 @@ _0207924A: add r1, r4, #0x0 add r3, r2, #0x0 str r2, [sp, #0xc] - bl sub_02078E7C + bl FUN_02078E7C ldr r0, _02079544 ; =0x000005EB - bl sub_020054C8 + bl FUN_020054C8 b _02079526 _0207927C: add r0, r4, #0x0 @@ -225137,14 +225137,14 @@ _0207927C: mov r2, #0x2 str r0, [sp, #0x4] mov r0, #0x48 - bl sub_020795FC + bl FUN_020795FC cmp r0, #0x0 beq _02079368 mov r0, #0xfa lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_02019620 + bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 @@ -225158,9 +225158,9 @@ _0207927C: add r1, r4, #0x0 add r3, r2, #0x0 str r2, [sp, #0xc] - bl sub_02078E7C + bl FUN_02078E7C ldr r0, _02079544 ; =0x000005EB - bl sub_020054C8 + bl FUN_020054C8 b _02079526 _020792CA: .byte 0x56, 0x23, 0x9B, 0x00, 0xE3, 0x5A @@ -225184,7 +225184,7 @@ _0207931C: add r0, r4, #0x0 ldr r1, [r4, r2] add r0, #0x3a - bl sub_0207916C + bl FUN_0207916C mov r0, #0x49 lsl r0, r0, #0x4 add r2, r4, r0 @@ -225193,12 +225193,12 @@ _0207931C: add r0, r0, #0x1 str r0, [r2, r1] ldr r0, _02079548 ; =0x0000069E - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r1, r6, #0x0 - bl sub_020200A0 + bl FUN_020200A0 b _02079526 _0207935E: .byte 0x56, 0x21 @@ -225248,7 +225248,7 @@ _02079470: lsl r0, r0, #0x2 add r0, r4, r0 mov r1, #0x1 - bl sub_02019620 + bl FUN_02019620 mov r0, #0xc str r0, [sp, #0x0] mov r2, #0x0 @@ -225262,7 +225262,7 @@ _02079470: add r1, #0xd8 add r3, r2, #0x0 str r2, [sp, #0xc] - bl sub_02078E7C + bl FUN_02078E7C mov r1, #0x56 lsl r1, r1, #0x2 ldrh r0, [r4, r1] @@ -225273,30 +225273,30 @@ _02079470: ldrh r1, [r4, r1] ldr r2, [r4, #0xc] add r0, r4, r0 - bl sub_02079710 + bl FUN_02079710 ldr r0, _02079544 ; =0x000005EB - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_02020398 + bl FUN_02020398 mov r3, #0x8 ldr r0, _0207956C ; =0x04000050 mov r1, #0x0 mov r2, #0x7 str r3, [sp, #0x0] - blx sub_020C74DC + blx FUN_020C74DC mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x3c - bl sub_02020130 + bl FUN_02020130 mov r0, #0x1 str r0, [r4, #0x34] ldr r0, _02079550 ; =0x000004C4 @@ -225315,7 +225315,7 @@ _02079470: add r0, r4, r0 add r1, #0xd8 add r3, r4, r3 - bl sub_0207907C + bl FUN_0207907C _02079526: mov r0, #0x2 add sp, #0x10 @@ -225337,8 +225337,8 @@ _02079554: .byte 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00, 0x5C, 0x04, 0x00, 0x00 _0207956C: .word 0x04000050 - thumb_func_start sub_02079570 -sub_02079570: ; 0x02079570 + thumb_func_start FUN_02079570 +FUN_02079570: ; 0x02079570 push {r4-r6, lr} add r5, r0, #0x0 mov r4, #0x0 @@ -225347,7 +225347,7 @@ _02079578: add r0, r1, #0x1 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02078BD0 + bl FUN_02078BD0 add r1, r0, #0x0 lsl r0, r1, #0x1 ldrh r0, [r5, r0] @@ -225356,8 +225356,8 @@ _02079578: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02079590 -sub_02079590: ; 0x02079590 + thumb_func_start FUN_02079590 +FUN_02079590: ; 0x02079590 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -225394,7 +225394,7 @@ _020795BE: mul r0, r4 add r0, r1, r0 add r1, r2, #0x0 - bl sub_02079570 + bl FUN_02079570 ldr r2, [sp, #0x0] ldr r1, [sp, #0x4] add sp, #0x8 @@ -225417,8 +225417,8 @@ _020795F2: .balign 4 _020795F8: .word 0x020FA40E - thumb_func_start sub_020795FC -sub_020795FC: ; 0x020795FC + thumb_func_start FUN_020795FC +FUN_020795FC: ; 0x020795FC push {r3-r7, lr} add r4, r0, #0x0 add r0, r1, #0x0 @@ -225569,8 +225569,8 @@ _02079704: .word 0x020FA1A6 _02079708: .word 0x020FA17C _0207970C: .word 0x020FA17E - thumb_func_start sub_02079710 -sub_02079710: ; 0x02079710 + thumb_func_start FUN_02079710 +FUN_02079710: ; 0x02079710 push {r3-r7, lr} sub sp, #0x8 add r6, r2, #0x0 @@ -225584,7 +225584,7 @@ sub_02079710: ; 0x02079710 _02079724: ldr r0, [r5, #0x0] add r1, r7, #0x0 - bl sub_02020130 + bl FUN_02020130 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, r6 @@ -225597,14 +225597,14 @@ _02079734: ldr r0, [sp, #0x0] ldr r0, [r0, r1] mov r1, #0x2c - bl sub_02020130 + bl FUN_02020130 _02079746: add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207974C -sub_0207974C: ; 0x0207974C + thumb_func_start FUN_0207974C +FUN_0207974C: ; 0x0207974C push {r3-r7, lr} sub sp, #0x18 str r2, [sp, #0x10] @@ -225614,7 +225614,7 @@ sub_0207974C: ; 0x0207974C add r5, r0, #0x0 str r3, [sp, #0x14] str r2, [sp, #0x30] - bl sub_02019620 + bl FUN_02019620 ldr r1, _0207982C ; =0x020F9D30 ldr r0, [sp, #0x10] mov r7, #0x0 @@ -225630,7 +225630,7 @@ _0207976C: add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x0 - bl sub_020196F4 + bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 @@ -225640,7 +225640,7 @@ _0207976C: add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x26 - bl sub_020196F4 + bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 @@ -225650,7 +225650,7 @@ _0207976C: add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x4c - bl sub_020196F4 + bl FUN_020196F4 add r7, r7, #0x1 add r6, #0x20 cmp r7, #0x6 @@ -225667,7 +225667,7 @@ _020797BA: add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x13 - bl sub_020196F4 + bl FUN_020196F4 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x13 @@ -225677,7 +225677,7 @@ _020797BA: add r1, r4, #0x0 lsr r2, r2, #0x10 mov r3, #0x39 - bl sub_020196F4 + bl FUN_020196F4 add r7, r7, #0x1 add r6, #0x20 cmp r7, #0x7 @@ -225702,22 +225702,22 @@ _020797FC: str r0, [sp, #0xc] ldr r1, [r4, #0x0] add r0, r5, #0x0 - bl sub_02078E7C + bl FUN_02078E7C add r7, r7, #0x1 add r6, #0x13 add r4, r4, #0x4 cmp r7, #0x5 blt _020797FC add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _0207982C: .word 0x020F9D30 _02079830: .word 0x0210606C - thumb_func_start sub_02079834 -sub_02079834: ; 0x02079834 + thumb_func_start FUN_02079834 +FUN_02079834: ; 0x02079834 push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 @@ -225735,7 +225735,7 @@ _02079840: _0207984E: ldr r0, [r5, #0x0] ldr r1, [r4, #0x8] - bl sub_02020130 + bl FUN_02020130 ldr r0, [sp, #0x4] add r4, #0x10 add r0, r0, #0x1 @@ -225749,7 +225749,7 @@ _0207984E: ldr r1, [r1, r2] ldr r0, [r6, r0] sub r1, r1, #0x3 - bl sub_02020130 + bl FUN_02020130 b _0207987E _02079876: add r7, r7, #0x1 @@ -225769,7 +225769,7 @@ _02079888: ldr r1, [r5, #0x8] ldr r0, [r6, #0x0] add r1, r1, #0x1 - bl sub_02020130 + bl FUN_02020130 _02079898: add r7, r7, #0x1 add r4, r4, #0x4 @@ -225793,14 +225793,14 @@ _020798B8: .word 0x020FA1D4 _020798BC: .word 0x020FA1DC _020798C0: .word 0x020FA224 - thumb_func_start sub_020798C4 -sub_020798C4: ; 0x020798C4 + thumb_func_start FUN_020798C4 +FUN_020798C4: ; 0x020798C4 push {r4, lr} add r4, r0, #0x0 mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02020388 + bl FUN_02020388 cmp r0, #0x0 bne _0207992E mov r0, #0x56 @@ -225817,14 +225817,14 @@ sub_020798C4: ; 0x020798C4 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x27 - bl sub_02020130 + bl FUN_02020130 b _02079904 _020798F8: mov r0, #0xd3 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x27 - bl sub_02020130 + bl FUN_02020130 _02079904: ldr r0, [r4, #0x30] cmp r0, #0x0 @@ -225833,24 +225833,24 @@ _02079904: lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 b _02079920 _02079918: add r0, r4, #0x0 mov r1, #0x0 - bl sub_02078D7C + bl FUN_02078D7C _02079920: mov r1, #0x0 mov r0, #0xd3 str r1, [r4, #0x34] lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02020398 + bl FUN_02020398 _0207992E: pop {r4, pc} - thumb_func_start sub_02079930 -sub_02079930: ; 0x02079930 + thumb_func_start FUN_02079930 +FUN_02079930: ; 0x02079930 push {r3-r7, lr} str r0, [sp, #0x0] mov r0, #0x0 @@ -225950,8 +225950,8 @@ _020799DA: _020799E0: .word 0x021C48F8 _020799E4: .word 0x020FA264 - thumb_func_start sub_020799E8 -sub_020799E8: ; 0x020799E8 + thumb_func_start FUN_020799E8 +FUN_020799E8: ; 0x020799E8 lsl r1, r0, #0x1 ldr r0, _020799F0 ; =0x020FA60C ldrh r0, [r0, r1] @@ -225959,8 +225959,8 @@ sub_020799E8: ; 0x020799E8 .balign 4 _020799F0: .word 0x020FA60C - thumb_func_start sub_020799F4 -sub_020799F4: ; 0x020799F4 + thumb_func_start FUN_020799F4 +FUN_020799F4: ; 0x020799F4 push {r3, lr} add r2, r0, #0x0 mul r2, r0 @@ -225968,17 +225968,17 @@ sub_020799F4: ; 0x020799F4 mul r0, r1 add r0, r2, r0 lsl r0, r0, #0x4 - bl sub_0200019E + bl FUN_0200019E lsr r0, r0, #0x2 pop {r3, pc} .balign 4 - thumb_func_start sub_02079A0C -sub_02079A0C: ; 0x02079A0C + thumb_func_start FUN_02079A0C +FUN_02079A0C: ; 0x02079A0C push {r4, lr} add r4, r0, #0x0 mul r0, r2 - blx sub_020EBE8C + blx FUN_020EBE8C lsl r0, r0, #0x18 lsr r0, r0, #0x18 bne _02079A22 @@ -225988,8 +225988,8 @@ sub_02079A0C: ; 0x02079A0C _02079A22: pop {r4, pc} - thumb_func_start sub_02079A24 -sub_02079A24: ; 0x02079A24 + thumb_func_start FUN_02079A24 +FUN_02079A24: ; 0x02079A24 push {r4, lr} add r4, r0, #0x0 lsl r0, r1, #0x8 @@ -226001,7 +226001,7 @@ sub_02079A24: ; 0x02079A24 pop {r4, pc} _02079A36: mov r1, #0x5 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r4, r0 bls _02079A44 mov r0, #0x2 @@ -226018,8 +226018,8 @@ _02079A4E: lsr r0, r0, #0x18 pop {r4, pc} - thumb_func_start sub_02079A54 -sub_02079A54: ; 0x02079A54 + thumb_func_start FUN_02079A54 +FUN_02079A54: ; 0x02079A54 push {r4, lr} add r4, r2, #0x0 cmp r0, r1 @@ -226029,13 +226029,13 @@ sub_02079A54: ; 0x02079A54 _02079A60: lsl r2, r4, #0x18 lsr r2, r2, #0x18 - bl sub_02079A0C + bl FUN_02079A0C add r1, r4, #0x0 - bl sub_02079A24 + bl FUN_02079A24 pop {r4, pc} - thumb_func_start sub_02079A70 -sub_02079A70: ; 0x02079A70 + thumb_func_start FUN_02079A70 +FUN_02079A70: ; 0x02079A70 push {lr} sub sp, #0xc cmp r0, #0x0 @@ -226048,7 +226048,7 @@ sub_02079A70: ; 0x02079A70 str r1, [sp, #0x8] add r1, r2, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 add sp, #0xc pop {pc} _02079A90: @@ -226061,13 +226061,13 @@ _02079A90: add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_02079AAC -sub_02079AAC: ; 0x02079AAC + thumb_func_start FUN_02079AAC +FUN_02079AAC: ; 0x02079AAC push {r4-r5} ldr r3, _02079B5C ; =0x021C48B8 mov r2, #0x0 @@ -226171,8 +226171,8 @@ _02079B56: .balign 4 _02079B5C: .word 0x021C48B8 - thumb_func_start sub_02079B60 -sub_02079B60: ; 0x02079B60 + thumb_func_start FUN_02079B60 +FUN_02079B60: ; 0x02079B60 push {r4-r7, lr} sub sp, #0x14 add r7, r1, #0x0 @@ -226182,15 +226182,15 @@ sub_02079B60: ; 0x02079B60 str r2, [sp, #0x4] ldr r5, [sp, #0x2c] ldr r4, [sp, #0x34] - bl sub_020065A4 + bl FUN_020065A4 add r1, r0, #0x0 add r0, r7, #0x0 - bl sub_020169D8 + bl FUN_020169D8 add r7, r0, #0x0 ldr r0, [sp, #0x4] ldr r1, [sp, #0x28] add r2, r7, #0x0 - bl sub_02006774 + bl FUN_02006774 ldr r0, [sp, #0x30] cmp r0, #0x0 beq _02079B9A @@ -226202,7 +226202,7 @@ sub_02079B60: ; 0x02079B60 _02079B9A: add r0, r7, #0x0 add r1, sp, #0x10 - blx sub_020B0088 + blx FUN_020B0088 cmp r4, #0x0 bne _02079BAE ldr r0, [sp, #0x10] @@ -226219,12 +226219,12 @@ _02079BAE: add r0, r6, #0x0 ldr r2, [r2, #0x14] add r3, r4, #0x0 - bl sub_02017E14 + bl FUN_02017E14 b _02079C36 _02079BC6: add r0, r7, #0x0 add r1, sp, #0xc - blx sub_020B0180 + blx FUN_020B0180 cmp r4, #0x0 bne _02079BDA ldr r0, [sp, #0xc] @@ -226235,7 +226235,7 @@ _02079BDA: lsl r1, r5, #0x18 add r0, r6, #0x0 lsr r1, r1, #0x18 - bl sub_0201886C + bl FUN_0201886C cmp r0, #0x0 beq _02079BF8 ldr r2, [sp, #0xc] @@ -226244,7 +226244,7 @@ _02079BDA: lsr r1, r1, #0x18 add r2, #0xc add r3, r4, #0x0 - bl sub_02017DFC + bl FUN_02017DFC _02079BF8: add r0, sp, #0x18 ldrh r0, [r0, #0x20] @@ -226255,12 +226255,12 @@ _02079BF8: add r0, r6, #0x0 add r2, #0xc add r3, r4, #0x0 - bl sub_02017CE8 + bl FUN_02017CE8 b _02079C36 _02079C10: add r0, r7, #0x0 add r1, sp, #0x8 - blx sub_020B0138 + blx FUN_020B0138 cmp r4, #0x0 bne _02079C24 ldr r0, [sp, #0x8] @@ -226275,53 +226275,53 @@ _02079C24: ldr r1, [r1, #0xc] lsr r0, r0, #0x18 add r2, r4, #0x0 - bl sub_02017FB4 + bl FUN_02017FB4 _02079C36: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_02079C40 -sub_02079C40: ; 0x02079C40 + thumb_func_start FUN_02079C40 +FUN_02079C40: ; 0x02079C40 push {r3-r7, lr} add r5, r2, #0x0 add r6, r0, #0x0 add r0, r1, #0x0 add r1, r5, #0x0 add r7, r3, #0x0 - bl sub_020065A4 + bl FUN_020065A4 add r1, r0, #0x0 ldr r0, [sp, #0x18] - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02006774 + bl FUN_02006774 add r0, r4, #0x0 add r1, r7, #0x0 - blx sub_020B0180 + blx FUN_020B0180 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02079C70 -sub_02079C70: ; 0x02079C70 + thumb_func_start FUN_02079C70 +FUN_02079C70: ; 0x02079C70 push {r3, lr} - bl sub_020462AC - bl sub_0205F184 + bl FUN_020462AC + bl FUN_0205F184 pop {r3, pc} - thumb_func_start sub_02079C7C -sub_02079C7C: ; 0x02079C7C + thumb_func_start FUN_02079C7C +FUN_02079C7C: ; 0x02079C7C push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 - bl sub_02015F1C - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F10 + bl FUN_02015F1C + bl FUN_0201E6D8 + bl FUN_0201E740 mov r1, #0x1 lsl r1, r1, #0x1a ldr r0, [r1, #0x0] @@ -226346,82 +226346,82 @@ sub_02079C7C: ; 0x02079C7C strh r2, [r0, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C mov r2, #0x1 mov r0, #0x3 mov r1, #0x13 lsl r2, r2, #0x12 - bl sub_0201681C + bl FUN_0201681C ldr r1, _02079DAC ; =0x0000069C add r0, r4, #0x0 mov r2, #0x13 - bl sub_02006268 + bl FUN_02006268 ldr r2, _02079DAC ; =0x0000069C mov r1, #0x0 add r5, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r4, #0x0 - bl sub_0200628C + bl FUN_0200628C mov r1, #0x93 lsl r1, r1, #0x2 str r0, [r5, r1] mov r0, #0x13 - bl sub_02016B94 + bl FUN_02016B94 mov r1, #0x1 str r0, [r5, #0x0] mov r0, #0x13 add r2, r1, #0x0 - bl sub_02014BF4 + bl FUN_02014BF4 mov r1, #0x2d lsl r1, r1, #0x4 str r0, [r5, r1] mov r0, #0x0 mov r1, #0x13 - bl sub_02002C84 - bl sub_0201CC08 + bl FUN_02002C84 + bl FUN_0201CC08 mov r0, #0x4 - bl sub_0201CC24 + bl FUN_0201CC24 add r0, r5, #0x0 - bl sub_0207B028 - bl sub_02079F58 + bl FUN_0207B028 + bl FUN_02079F58 ldr r0, [r5, #0x0] - bl sub_02079F78 + bl FUN_02079F78 add r0, r5, #0x0 - bl sub_0207A0CC - bl sub_0207A188 + bl FUN_0207A0CC + bl FUN_0207A188 add r0, r5, #0x0 - bl sub_0207EF6C + bl FUN_0207EF6C add r0, r5, #0x0 - bl sub_0207A1A0 + bl FUN_0207A1A0 add r0, r5, #0x0 - bl sub_0207AAB0 + bl FUN_0207AAB0 add r0, r5, #0x0 - bl sub_0207C328 + bl FUN_0207C328 add r0, r5, #0x0 - bl sub_0207C448 + bl FUN_0207C448 add r0, r5, #0x0 - bl sub_0207F840 + bl FUN_0207F840 add r0, r5, #0x0 - bl sub_0207C71C + bl FUN_0207C71C add r0, r5, #0x0 - bl sub_0207C77C + bl FUN_0207C77C add r0, r5, #0x0 - bl sub_0207D5BC + bl FUN_0207D5BC add r0, r5, #0x0 - bl sub_0207AF58 + bl FUN_0207AF58 add r0, r5, #0x0 - bl sub_0207F95C + bl FUN_0207F95C add r0, r5, #0x0 - bl sub_0207F098 - ldr r0, _02079DB0 ; =sub_02079F24 + bl FUN_0207F098 + ldr r0, _02079DB0 ; =FUN_02079F24 add r1, r5, #0x0 - bl sub_02015F10 - bl sub_0201E788 + bl FUN_02015F10 + bl FUN_0201E788 mov r1, #0x0 mov r0, #0x3d add r2, r1, #0x0 - bl sub_0200433C - bl sub_02033F20 + bl FUN_0200433C + bl FUN_02033F20 mov r0, #0x1 pop {r3-r5, pc} nop @@ -226429,13 +226429,13 @@ _02079DA0: .word 0xFFFFE0FF _02079DA4: .word 0x04001000 _02079DA8: .word 0xFFFF1FFF _02079DAC: .word 0x0000069C -_02079DB0: .word sub_02079F24 + 1 +_02079DB0: .word FUN_02079F24 + 1 - thumb_func_start sub_02079DB4 -sub_02079DB4: ; 0x02079DB4 + thumb_func_start FUN_02079DB4 +FUN_02079DB4: ; 0x02079DB4 push {r3-r5, lr} add r4, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r4, #0x0] add r5, r0, #0x0 cmp r1, #0x13 @@ -226468,7 +226468,7 @@ sub_02079DB4: ; 0x02079DB4 lsl r4, r0, #0x3 mov r0, #0x0 mov r1, #0x13 - bl sub_02079A70 + bl FUN_02079A70 mov r0, #0x1 str r0, [r4, #0x0] b _02079EA2 @@ -226486,68 +226486,68 @@ _02079E06: .byte 0x38, 0xBD _02079EA2: add r0, r5, #0x0 - bl sub_0207C3F4 + bl FUN_0207C3F4 add r0, r5, #0x0 - bl sub_0207CC88 + bl FUN_0207CC88 add r0, r5, #0x0 - bl sub_0207D3F4 + bl FUN_0207D3F4 ldr r0, _02079EC8 ; =0x00000404 ldr r0, [r5, r0] - bl sub_0200BC1C + bl FUN_0200BC1C add r0, r5, #0x0 - bl sub_0207F008 + bl FUN_0207F008 mov r0, #0x0 pop {r3-r5, pc} nop _02079EC8: .word 0x00000404 - thumb_func_start sub_02079ECC -sub_02079ECC: ; 0x02079ECC + thumb_func_start FUN_02079ECC +FUN_02079ECC: ; 0x02079ECC push {r3-r5, lr} add r4, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r5, #0x0 - bl sub_0207F068 + bl FUN_0207F068 add r0, r5, #0x0 - bl sub_0207C3D4 + bl FUN_0207C3D4 add r0, r5, #0x0 - bl sub_0207D74C + bl FUN_0207D74C ldr r0, [r5, #0x0] - bl sub_0207A08C - bl sub_0201CD04 - bl sub_0201C29C + bl FUN_0207A08C + bl FUN_0201CD04 + bl FUN_0201C29C add r0, r5, #0x0 - bl sub_0207A264 + bl FUN_0207A264 mov r0, #0x0 - bl sub_02002CC0 + bl FUN_02002CC0 ldr r0, _02079F20 ; =0x04000050 mov r1, #0x0 strh r1, [r0, #0x0] add r0, r4, #0x0 - bl sub_0200627C + bl FUN_0200627C mov r0, #0x13 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 _02079F20: .word 0x04000050 - thumb_func_start sub_02079F24 -sub_02079F24: ; 0x02079F24 + thumb_func_start FUN_02079F24 +FUN_02079F24: ; 0x02079F24 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_0201AB60 + bl FUN_0201AB60 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020081C4 - bl sub_0201C30C - bl sub_0200BC30 + bl FUN_020081C4 + bl FUN_0201C30C + bl FUN_0200BC30 ldr r3, _02079F50 ; =0x027E0000 ldr r1, _02079F54 ; =0x00003FF8 mov r0, #0x1 @@ -226559,8 +226559,8 @@ sub_02079F24: ; 0x02079F24 _02079F50: .word 0x027E0000 _02079F54: .word 0x00003FF8 - thumb_func_start sub_02079F58 -sub_02079F58: ; 0x02079F58 + thumb_func_start FUN_02079F58 +FUN_02079F58: ; 0x02079F58 push {r4, lr} sub sp, #0x28 ldr r4, _02079F74 ; =0x020FA6C0 @@ -226572,14 +226572,14 @@ _02079F62: sub r2, r2, #0x1 bne _02079F62 add r0, sp, #0x0 - bl sub_0201E66C + bl FUN_0201E66C add sp, #0x28 pop {r4, pc} .balign 4 _02079F74: .word 0x020FA6C0 - thumb_func_start sub_02079F78 -sub_02079F78: ; 0x02079F78 + thumb_func_start FUN_02079F78 +FUN_02079F78: ; 0x02079F78 push {r4-r5, lr} sub sp, #0x9c ldr r5, _0207A074 ; =0x020FA624 @@ -226591,7 +226591,7 @@ sub_02079F78: ; 0x02079F78 ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _0207A078 ; =0x020FA650 add r3, sp, #0x70 ldmia r5!, {r0-r1} @@ -226606,10 +226606,10 @@ sub_02079F78: ; 0x02079F78 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0207A07C ; =0x020FA66C add r3, sp, #0x54 ldmia r5!, {r0-r1} @@ -226624,15 +226624,15 @@ sub_02079F78: ; 0x02079F78 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02018744 + bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r5, _0207A080 ; =0x020FA688 add r3, sp, #0x38 ldmia r5!, {r0-r1} @@ -226647,7 +226647,7 @@ sub_02079F78: ; 0x02079F78 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r5, _0207A084 ; =0x020FA6A4 add r3, sp, #0x1c ldmia r5!, {r0-r1} @@ -226662,10 +226662,10 @@ sub_02079F78: ; 0x02079F78 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02018744 + bl FUN_02018744 ldr r5, _0207A088 ; =0x020FA634 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -226680,17 +226680,17 @@ sub_02079F78: ; 0x02079F78 str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 mov r0, #0x1 mov r1, #0x20 mov r2, #0x0 mov r3, #0x13 - bl sub_02017F18 + bl FUN_02017F18 mov r0, #0x4 mov r1, #0x20 mov r2, #0x0 mov r3, #0x13 - bl sub_02017F18 + bl FUN_02017F18 add sp, #0x9c pop {r4-r5, pc} nop @@ -226701,35 +226701,35 @@ _0207A080: .word 0x020FA688 _0207A084: .word 0x020FA6A4 _0207A088: .word 0x020FA634 - thumb_func_start sub_0207A08C -sub_0207A08C: ; 0x0207A08C + thumb_func_start FUN_0207A08C +FUN_0207A08C: ; 0x0207A08C push {r4, lr} add r4, r0, #0x0 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_0201E6D8 + bl FUN_0201E740 add r0, r4, #0x0 mov r1, #0x5 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 mov r0, #0x13 add r1, r4, #0x0 - bl sub_02016A8C + bl FUN_02016A8C pop {r4, pc} .balign 4 - thumb_func_start sub_0207A0CC -sub_0207A0CC: ; 0x0207A0CC + thumb_func_start FUN_0207A0CC +FUN_0207A0CC: ; 0x0207A0CC push {r4, lr} sub sp, #0x10 mov r1, #0x0 @@ -226742,7 +226742,7 @@ sub_0207A0CC: ; 0x0207A0CC ldr r2, [r4, #0x0] mov r0, #0x27 mov r3, #0x3 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -226753,7 +226753,7 @@ sub_0207A0CC: ; 0x0207A0CC ldr r2, [r4, #0x0] mov r0, #0x27 add r3, r1, #0x0 - bl sub_020068C8 + bl FUN_020068C8 mov r2, #0x0 str r2, [sp, #0x0] mov r0, #0x13 @@ -226761,7 +226761,7 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0x1 add r3, r2, #0x0 - bl sub_02006930 + bl FUN_02006930 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -226772,7 +226772,7 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0xb mov r3, #0x2 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -226783,7 +226783,7 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0x2 mov r3, #0x4 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -226794,7 +226794,7 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0x10 mov r3, #0x5 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -226805,7 +226805,7 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0xf mov r3, #0x5 - bl sub_020068C8 + bl FUN_020068C8 mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x13 @@ -226813,12 +226813,12 @@ sub_0207A0CC: ; 0x0207A0CC mov r0, #0x27 mov r1, #0xe mov r2, #0x4 - bl sub_02006930 + bl FUN_02006930 add sp, #0x10 pop {r4, pc} - thumb_func_start sub_0207A188 -sub_0207A188: ; 0x0207A188 + thumb_func_start FUN_0207A188 +FUN_0207A188: ; 0x0207A188 push {r3, lr} mov r0, #0x8 str r0, [sp, #0x0] @@ -226826,13 +226826,13 @@ sub_0207A188: ; 0x0207A188 mov r1, #0x1 mov r2, #0x1e mov r3, #0x17 - blx sub_020C74DC + blx FUN_020C74DC pop {r3, pc} .balign 4 _0207A19C: .word 0x04000050 - thumb_func_start sub_0207A1A0 -sub_0207A1A0: ; 0x0207A1A0 + thumb_func_start FUN_0207A1A0 +FUN_0207A1A0: ; 0x0207A1A0 push {r4, lr} mov r2, #0x65 add r4, r0, #0x0 @@ -226840,7 +226840,7 @@ sub_0207A1A0: ; 0x0207A1A0 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C ldr r1, _0207A250 ; =0x00000674 mov r2, #0x79 str r0, [r4, r1] @@ -226848,42 +226848,42 @@ sub_0207A1A0: ; 0x0207A1A0 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C ldr r1, _0207A254 ; =0x00000678 mov r2, #0x0 str r0, [r4, r1] mov r0, #0x1 mov r1, #0x2 mov r3, #0x13 - bl sub_0200B870 + bl FUN_0200B870 mov r1, #0x67 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0x13 - bl sub_0200AA80 + bl FUN_0200AA80 ldr r1, _0207A258 ; =0x0000067C str r0, [r4, r1] mov r0, #0xc mov r1, #0x13 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0x25 lsl r1, r1, #0x4 str r0, [r4, r1] mov r0, #0xc mov r1, #0x13 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0x95 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x8 mov r1, #0x13 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0x96 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x80 mov r1, #0x13 - bl sub_020219F4 + bl FUN_020219F4 mov r1, #0x1a lsl r1, r1, #0x6 str r0, [r4, r1] @@ -226892,12 +226892,12 @@ sub_0207A1A0: ; 0x0207A1A0 mov r1, #0x1a lsl r2, r2, #0x2 mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C ldr r1, _0207A25C ; =0x00000688 str r0, [r4, r1] mov r0, #0x8 mov r1, #0x13 - bl sub_020219F4 + bl FUN_020219F4 ldr r2, _0207A260 ; =0x00000684 str r0, [r4, r2] mov r0, #0x93 @@ -226907,7 +226907,7 @@ sub_0207A1A0: ; 0x0207A1A0 cmp r1, #0x0 beq _0207A24C ldr r0, [r4, r2] - bl sub_02021E28 + bl FUN_02021E28 _0207A24C: pop {r4, pc} nop @@ -226917,45 +226917,45 @@ _0207A258: .word 0x0000067C _0207A25C: .word 0x00000688 _0207A260: .word 0x00000684 - thumb_func_start sub_0207A264 -sub_0207A264: ; 0x0207A264 + thumb_func_start FUN_0207A264 +FUN_0207A264: ; 0x0207A264 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207A2C4 ; =0x00000688 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, _0207A2C8 ; =0x00000678 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, _0207A2CC ; =0x00000674 ldr r0, [r4, r0] - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x67 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_0200B990 + bl FUN_0200B990 ldr r0, _0207A2D0 ; =0x0000067C ldr r0, [r4, r0] - bl sub_0200AB18 + bl FUN_0200AB18 mov r0, #0x25 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x95 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x96 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 mov r0, #0x1a lsl r0, r0, #0x6 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, _0207A2D4 ; =0x00000684 ldr r0, [r4, r0] - bl sub_02021A20 + bl FUN_02021A20 pop {r4, pc} .balign 4 _0207A2C4: .word 0x00000688 @@ -226964,17 +226964,17 @@ _0207A2CC: .word 0x00000674 _0207A2D0: .word 0x0000067C _0207A2D4: .word 0x00000684 - thumb_func_start sub_0207A2D8 -sub_0207A2D8: ; 0x0207A2D8 + thumb_func_start FUN_0207A2D8 +FUN_0207A2D8: ; 0x0207A2D8 push {r4, lr} add r4, r0, #0x0 - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _0207A30C add r0, r4, #0x0 - bl sub_0207F8D0 + bl FUN_0207F8D0 add r0, r4, #0x0 - bl sub_0207AF20 + bl FUN_0207AF20 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -226995,8 +226995,8 @@ _0207A30C: mov r0, #0x1 pop {r4, pc} - thumb_func_start sub_0207A310 -sub_0207A310: ; 0x0207A310 + thumb_func_start FUN_0207A310 +FUN_0207A310: ; 0x0207A310 push {r4-r6, lr} ldr r3, _0207A438 ; =0x0000068F add r4, r0, #0x0 @@ -227020,7 +227020,7 @@ _0207A32E: tst r6, r1 beq _0207A344 sub r1, #0x21 - bl sub_0207B178 + bl FUN_0207B178 mov r0, #0x2 pop {r4-r6, pc} _0207A344: @@ -227028,7 +227028,7 @@ _0207A344: tst r1, r5 beq _0207A354 mov r1, #0x1 - bl sub_0207B178 + bl FUN_0207B178 mov r0, #0x2 pop {r4-r6, pc} _0207A354: @@ -227037,7 +227037,7 @@ _0207A354: tst r6, r1 beq _0207A366 sub r1, #0x41 - bl sub_0207B3F0 + bl FUN_0207B3F0 mov r0, #0x2 pop {r4-r6, pc} _0207A366: @@ -227045,7 +227045,7 @@ _0207A366: tst r1, r5 beq _0207A376 mov r1, #0x1 - bl sub_0207B3F0 + bl FUN_0207B3F0 mov r0, #0x2 pop {r4-r6, pc} _0207A376: @@ -227055,7 +227055,7 @@ _0207A376: beq _0207A394 sub r3, #0xb2 add r0, r3, #0x0 - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -227079,9 +227079,9 @@ _0207A394: bne _0207A3BE sub r3, #0xb2 add r0, r3, #0x0 - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207C23C + bl FUN_0207C23C pop {r4-r6, pc} _0207A3BE: ldr r0, _0207A440 ; =0x0000068C @@ -227089,7 +227089,7 @@ _0207A3BE: cmp r1, #0x3 bne _0207A3D6 add r0, #0x10 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227099,7 +227099,7 @@ _0207A3D6: cmp r1, #0x5 bne _0207A3EA add r0, #0x10 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227114,7 +227114,7 @@ _0207A3EA: cmp r1, #0x0 beq _0207A420 sub r0, #0xaf - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A444 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227124,7 +227124,7 @@ _0207A408: cmp r1, #0x7 bne _0207A420 sub r0, #0xaf - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -227134,7 +227134,7 @@ _0207A408: pop {r4-r6, pc} _0207A420: add r0, r4, #0x0 - bl sub_0207B200 + bl FUN_0207B200 cmp r0, #0x1 bne _0207A434 ldr r0, _0207A444 ; =0x0000068E @@ -227151,10 +227151,10 @@ _0207A43C: .word 0x021C48B8 _0207A440: .word 0x0000068C _0207A444: .word 0x0000068E - thumb_func_start sub_0207A448 -sub_0207A448: ; 0x0207A448 + thumb_func_start FUN_0207A448 +FUN_0207A448: ; 0x0207A448 push {r3, lr} - bl sub_0207B66C + bl FUN_0207B66C cmp r0, #0x1 bne _0207A456 mov r0, #0x7 @@ -227164,10 +227164,10 @@ _0207A456: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A45C -sub_0207A45C: ; 0x0207A45C + thumb_func_start FUN_0207A45C +FUN_0207A45C: ; 0x0207A45C push {r3, lr} - bl sub_0207B788 + bl FUN_0207B788 cmp r0, #0x1 bne _0207A46A mov r0, #0x2 @@ -227177,10 +227177,10 @@ _0207A46A: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A470 -sub_0207A470: ; 0x0207A470 + thumb_func_start FUN_0207A470 +FUN_0207A470: ; 0x0207A470 push {r3, lr} - bl sub_0207BAEC + bl FUN_0207BAEC cmp r0, #0x1 bne _0207A47E mov r0, #0x7 @@ -227190,10 +227190,10 @@ _0207A47E: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A484 -sub_0207A484: ; 0x0207A484 + thumb_func_start FUN_0207A484 +FUN_0207A484: ; 0x0207A484 push {r3, lr} - bl sub_0207BBF0 + bl FUN_0207BBF0 cmp r0, #0x1 bne _0207A492 mov r0, #0x2 @@ -227203,8 +227203,8 @@ _0207A492: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A498 -sub_0207A498: ; 0x0207A498 + thumb_func_start FUN_0207A498 +FUN_0207A498: ; 0x0207A498 push {r4, lr} ldr r1, _0207A568 ; =0x021C48B8 add r4, r0, #0x0 @@ -227214,13 +227214,13 @@ sub_0207A498: ; 0x0207A498 tst r3, r1 beq _0207A4C2 sub r1, #0x41 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A4BE ldr r0, _0207A56C ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A4BE: mov r0, #0x7 pop {r4, pc} @@ -227229,13 +227229,13 @@ _0207A4C2: tst r1, r2 beq _0207A4E2 mov r1, #0x1 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A4DE ldr r0, _0207A56C ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A4DE: mov r0, #0x7 pop {r4, pc} @@ -227250,7 +227250,7 @@ _0207A4E2: cmp r1, #0x4 bne _0207A510 add r0, #0xf - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A574 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227271,9 +227271,9 @@ _0207A510: cmp r1, #0x1 beq _0207A542 sub r0, #0xb0 - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207CBE8 + bl FUN_0207CBE8 ldr r2, _0207A570 ; =0x0000068D mov r1, #0xf0 ldrb r3, [r4, r2] @@ -227292,7 +227292,7 @@ _0207A542: tst r0, r2 beq _0207A564 ldr r0, _0207A578 ; =0x0000069C - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A574 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227315,8 +227315,8 @@ _0207A570: .word 0x0000068D _0207A574: .word 0x0000068E _0207A578: .word 0x0000069C - thumb_func_start sub_0207A57C -sub_0207A57C: ; 0x0207A57C + thumb_func_start FUN_0207A57C +FUN_0207A57C: ; 0x0207A57C push {r4, lr} ldr r1, _0207A644 ; =0x021C48B8 add r4, r0, #0x0 @@ -227326,13 +227326,13 @@ sub_0207A57C: ; 0x0207A57C tst r3, r1 beq _0207A5A6 sub r1, #0x41 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A5A2 ldr r0, _0207A648 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A5A2: mov r0, #0x8 pop {r4, pc} @@ -227341,13 +227341,13 @@ _0207A5A6: tst r1, r2 beq _0207A5C6 mov r1, #0x1 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A5C2 ldr r0, _0207A648 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A5C2: mov r0, #0x8 pop {r4, pc} @@ -227359,7 +227359,7 @@ _0207A5C6: lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207A64C ; =0x0000068D ldrb r1, [r4, r0] lsl r2, r1, #0x1c @@ -227371,9 +227371,9 @@ _0207A5C6: cmp r2, r1 beq _0207A618 sub r0, #0xb0 - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B9C0 + bl FUN_0207B9C0 ldr r1, _0207A64C ; =0x0000068D add r0, r4, #0x0 ldrb r2, [r4, r1] @@ -227381,15 +227381,15 @@ _0207A5C6: lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c - bl sub_0207CB08 + bl FUN_0207CB08 add r0, r4, #0x0 - bl sub_0207ED30 + bl FUN_0207ED30 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 b _0207A61E _0207A618: ldr r0, _0207A650 ; =0x000005DD - bl sub_020054C8 + bl FUN_020054C8 _0207A61E: mov r0, #0x7 pop {r4, pc} @@ -227398,12 +227398,12 @@ _0207A622: tst r0, r2 beq _0207A63E ldr r0, _0207A650 ; =0x000005DD - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x7 pop {r4, pc} _0207A63E: @@ -227415,8 +227415,8 @@ _0207A648: .word 0x000005DC _0207A64C: .word 0x0000068D _0207A650: .word 0x000005DD - thumb_func_start sub_0207A654 -sub_0207A654: ; 0x0207A654 + thumb_func_start FUN_0207A654 +FUN_0207A654: ; 0x0207A654 push {r4, lr} ldr r1, _0207A750 ; =0x021C48B8 add r4, r0, #0x0 @@ -227426,7 +227426,7 @@ sub_0207A654: ; 0x0207A654 tst r3, r1 beq _0207A66E sub r1, #0x21 - bl sub_0207B178 + bl FUN_0207B178 mov r0, #0x9 pop {r4, pc} _0207A66E: @@ -227434,7 +227434,7 @@ _0207A66E: tst r1, r2 beq _0207A67E mov r1, #0x1 - bl sub_0207B178 + bl FUN_0207B178 mov r0, #0x9 pop {r4, pc} _0207A67E: @@ -227443,13 +227443,13 @@ _0207A67E: tst r3, r1 beq _0207A6A0 sub r1, #0x41 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A69C ldr r0, _0207A754 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A69C: mov r0, #0x9 pop {r4, pc} @@ -227458,13 +227458,13 @@ _0207A6A0: tst r1, r2 beq _0207A6C0 mov r1, #0x1 - bl sub_0207B878 + bl FUN_0207B878 cmp r0, #0x1 bne _0207A6BC ldr r0, _0207A754 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 _0207A6BC: mov r0, #0x9 pop {r4, pc} @@ -227473,7 +227473,7 @@ _0207A6C0: tst r0, r2 beq _0207A72C ldr r0, _0207A758 ; =0x000005DD - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A75C ; =0x0000068D ldrb r0, [r4, r0] lsl r0, r0, #0x1c @@ -227485,7 +227485,7 @@ _0207A6C0: mov r0, #0xa1 lsl r0, r0, #0x2 ldrh r0, [r1, r0] - bl sub_0206EA54 + bl FUN_0206EA54 cmp r0, #0x1 bne _0207A712 mov r0, #0x93 @@ -227498,11 +227498,11 @@ _0207A6C0: lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C63C + bl FUN_0200C63C add r0, r4, #0x0 - bl sub_0207BD58 + bl FUN_0207BD58 add r0, r4, #0x0 - bl sub_0207EDB4 + bl FUN_0207EDB4 mov r0, #0xa pop {r4, pc} _0207A712: @@ -227524,7 +227524,7 @@ _0207A72C: tst r0, r2 beq _0207A74C ldr r0, _0207A758 ; =0x000005DD - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] @@ -227544,15 +227544,15 @@ _0207A754: .word 0x000005DC _0207A758: .word 0x000005DD _0207A75C: .word 0x0000068D - thumb_func_start sub_0207A760 -sub_0207A760: ; 0x0207A760 + thumb_func_start FUN_0207A760 +FUN_0207A760: ; 0x0207A760 push {r3, lr} ldr r1, _0207A778 ; =0x021C48B8 ldr r2, [r1, #0x48] mov r1, #0x3 tst r1, r2 beq _0207A774 - bl sub_0207B8D8 + bl FUN_0207B8D8 mov r0, #0x9 pop {r3, pc} _0207A774: @@ -227561,10 +227561,10 @@ _0207A774: .balign 4 _0207A778: .word 0x021C48B8 - thumb_func_start sub_0207A77C -sub_0207A77C: ; 0x0207A77C + thumb_func_start FUN_0207A77C +FUN_0207A77C: ; 0x0207A77C push {r3, lr} - bl sub_0207BE68 + bl FUN_0207BE68 cmp r0, #0x1 bne _0207A78A mov r0, #0xd @@ -227574,10 +227574,10 @@ _0207A78A: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A790 -sub_0207A790: ; 0x0207A790 + thumb_func_start FUN_0207A790 +FUN_0207A790: ; 0x0207A790 push {r3, lr} - bl sub_0207BF90 + bl FUN_0207BF90 cmp r0, #0x1 bne _0207A79E mov r0, #0x2 @@ -227587,8 +227587,8 @@ _0207A79E: pop {r3, pc} .balign 4 - thumb_func_start sub_0207A7A4 -sub_0207A7A4: ; 0x0207A7A4 + thumb_func_start FUN_0207A7A4 +FUN_0207A7A4: ; 0x0207A7A4 push {r3-r5, lr} ldr r3, _0207A80C ; =0x021C48B8 mov r1, #0x20 @@ -227598,7 +227598,7 @@ sub_0207A7A4: ; 0x0207A7A4 tst r5, r1 beq _0207A7BE sub r1, #0x21 - bl sub_0207C07C + bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7BE: @@ -227606,7 +227606,7 @@ _0207A7BE: tst r1, r2 beq _0207A7CE mov r1, #0x1 - bl sub_0207C07C + bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7CE: @@ -227615,7 +227615,7 @@ _0207A7CE: tst r5, r1 beq _0207A7E0 sub r1, #0x44 - bl sub_0207C07C + bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7E0: @@ -227623,7 +227623,7 @@ _0207A7E0: tst r1, r2 beq _0207A7F0 mov r1, #0x4 - bl sub_0207C07C + bl FUN_0207C07C mov r0, #0xd pop {r3-r5, pc} _0207A7F0: @@ -227632,7 +227632,7 @@ _0207A7F0: tst r0, r1 beq _0207A808 ldr r0, _0207A810 ; =0x000005DD - bl sub_020054C8 + bl FUN_020054C8 ldr r0, _0207A814 ; =0x0000068E mov r1, #0x0 strb r1, [r4, r0] @@ -227646,11 +227646,11 @@ _0207A80C: .word 0x021C48B8 _0207A810: .word 0x000005DD _0207A814: .word 0x0000068E - thumb_func_start sub_0207A818 -sub_0207A818: ; 0x0207A818 + thumb_func_start FUN_0207A818 +FUN_0207A818: ; 0x0207A818 push {r4, lr} add r4, r0, #0x0 - bl sub_0207FB28 + bl FUN_0207FB28 cmp r0, #0x1 bne _0207A82A ldr r0, _0207A878 ; =0x0000068E @@ -227664,7 +227664,7 @@ _0207A82A: add r1, r1, #0x1 ldrb r1, [r4, r1] add r0, r4, #0x0 - bl sub_0207FC40 + bl FUN_0207FC40 add r1, r0, #0x0 cmp r1, #0x7 bne _0207A850 @@ -227689,11 +227689,11 @@ _0207A850: bne _0207A874 _0207A866: add r0, r4, #0x0 - bl sub_0207B0CC + bl FUN_0207B0CC b _0207A874 _0207A86E: add r0, r4, #0x0 - bl sub_0207B0CC + bl FUN_0207B0CC _0207A874: mov r0, #0xe pop {r4, pc} @@ -227702,8 +227702,8 @@ _0207A878: .word 0x0000068E _0207A87C: .word 0x00000695 _0207A880: .word 0x0000068F - thumb_func_start sub_0207A884 -sub_0207A884: ; 0x0207A884 + thumb_func_start FUN_0207A884 +FUN_0207A884: ; 0x0207A884 push {r4-r6, lr} sub sp, #0x8 ldr r1, _0207AA00 ; =0x021C48B8 @@ -227720,17 +227720,17 @@ _0207A896: ldrb r1, [r1, #0x11] cmp r1, #0x2 bne _0207A8BA - bl sub_0207B628 + bl FUN_0207B628 add r6, r0, #0x0 mov r0, #0x13 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02069A64 + bl FUN_02069A64 b _0207A8C0 _0207A8BA: - bl sub_0207B628 + bl FUN_0207B628 add r4, r0, #0x0 _0207A8C0: mov r0, #0x93 @@ -227738,7 +227738,7 @@ _0207A8C0: ldr r0, [r5, r0] add r1, r4, #0x0 ldr r0, [r0, #0x24] - bl sub_0208821C + bl FUN_0208821C ldr r0, _0207AA04 ; =0x0000068E mov r2, #0x0 strb r2, [r5, r0] @@ -227746,7 +227746,7 @@ _0207A8C0: mov r1, #0x13 ldrb r6, [r5, r0] add r0, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0207AA08 ; =0x00000295 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -227763,7 +227763,7 @@ _0207A8F4: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0207AA0C ; =0x00000296 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -227780,7 +227780,7 @@ _0207A916: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0207AA10 ; =0x00000297 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -227798,7 +227798,7 @@ _0207A938: add r0, r4, #0x0 mov r1, #0x16 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0xa6 lsl r1, r1, #0x2 strb r0, [r5, r1] @@ -227816,7 +227816,7 @@ _0207A95E: ldrb r6, [r5, r0] add r0, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0207AA14 ; =0x00000299 strb r0, [r5, r1] ldrb r0, [r5, r1] @@ -227831,7 +227831,7 @@ _0207A980: add r0, r4, #0x0 mov r1, #0x18 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _0207AA18 ; =0x0000029A strb r0, [r5, r1] sub r1, #0x4e @@ -227840,18 +227840,18 @@ _0207A980: cmp r0, #0x2 bne _0207A99E add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _0207A99E: mov r1, #0x7 mov r0, #0x0 lsl r1, r1, #0x6 mov r2, #0x13 - bl sub_02002EEC + bl FUN_02002EEC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0x4] - bl sub_02025084 + bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -227861,24 +227861,24 @@ _0207A99E: ldr r2, _0207AA1C ; =0x000003E2 mov r1, #0x1 mov r3, #0xd - bl sub_0200CD68 + bl FUN_0200CD68 ldr r0, _0207AA04 ; =0x0000068E ldrb r0, [r5, r0] cmp r0, #0x0 bne _0207A9E2 add r0, r5, #0x0 mov r1, #0xfe - bl sub_0207EECC + bl FUN_0207EECC add sp, #0x8 mov r0, #0x11 pop {r4-r6, pc} _0207A9E2: add r0, r5, #0x0 - bl sub_0207F608 + bl FUN_0207F608 add r0, r5, #0x0 - bl sub_0207CC24 + bl FUN_0207CC24 add r0, r5, #0x0 - bl sub_0207CF78 + bl FUN_0207CF78 add sp, #0x8 mov r0, #0x10 pop {r4-r6, pc} @@ -227896,8 +227896,8 @@ _0207AA14: .word 0x00000299 _0207AA18: .word 0x0000029A _0207AA1C: .word 0x000003E2 - thumb_func_start sub_0207AA20 -sub_0207AA20: ; 0x0207AA20 + thumb_func_start FUN_0207AA20 +FUN_0207AA20: ; 0x0207AA20 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207AA68 ; =0x021C48B8 @@ -227916,7 +227916,7 @@ _0207AA36: tst r3, r4 beq _0207AA58 add r0, r5, #0x0 - bl sub_0207EECC + bl FUN_0207EECC ldr r0, _0207AA6C ; =0x0000068E ldrb r1, [r5, r0] eor r1, r4 @@ -227939,8 +227939,8 @@ _0207AA62: _0207AA68: .word 0x021C48B8 _0207AA6C: .word 0x0000068E - thumb_func_start sub_0207AA70 -sub_0207AA70: ; 0x0207AA70 + thumb_func_start FUN_0207AA70 +FUN_0207AA70: ; 0x0207AA70 ldr r0, _0207AA84 ; =0x021C48B8 ldr r1, [r0, #0x48] mov r0, #0x3 @@ -227954,20 +227954,20 @@ _0207AA7E: nop _0207AA84: .word 0x021C48B8 - thumb_func_start sub_0207AA88 -sub_0207AA88: ; 0x0207AA88 + thumb_func_start FUN_0207AA88 +FUN_0207AA88: ; 0x0207AA88 push {r3, lr} mov r0, #0x1 mov r1, #0x13 - bl sub_02079A70 + bl FUN_02079A70 mov r0, #0x13 pop {r3, pc} .balign 4 - thumb_func_start sub_0207AA98 -sub_0207AA98: ; 0x0207AA98 + thumb_func_start FUN_0207AA98 +FUN_0207AA98: ; 0x0207AA98 push {r3, lr} - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _0207AAA6 mov r0, #0x1 @@ -227980,11 +227980,11 @@ _0207AAA8: pop {r3, pc} .balign 4 - thumb_func_start sub_0207AAB0 -sub_0207AAB0: ; 0x0207AAB0 + thumb_func_start FUN_0207AAB0 +FUN_0207AAB0: ; 0x0207AAB0 push {r4, lr} add r4, r0, #0x0 - bl sub_0207B628 + bl FUN_0207B628 mov r2, #0x93 lsl r2, r2, #0x2 add r1, r0, #0x0 @@ -227995,66 +227995,66 @@ sub_0207AAB0: ; 0x0207AAB0 add r2, r2, #0x4 add r0, r4, #0x0 add r2, r4, r2 - bl sub_0207AAE0 + bl FUN_0207AAE0 pop {r4, pc} _0207AAD2: add r2, r2, #0x4 add r0, r4, #0x0 add r2, r4, r2 - bl sub_0207AB0C + bl FUN_0207AB0C pop {r4, pc} .balign 4 - thumb_func_start sub_0207AAE0 -sub_0207AAE0: ; 0x0207AAE0 + thumb_func_start FUN_0207AAE0 +FUN_0207AAE0: ; 0x0207AAE0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x13 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02069A64 + bl FUN_02069A64 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0207AB0C + bl FUN_0207AB0C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207AB0C -sub_0207AB0C: ; 0x0207AB0C + thumb_func_start FUN_0207AB0C +FUN_0207AB0C: ; 0x0207AB0C push {r3-r7, lr} sub sp, #0x8 add r6, r1, #0x0 add r7, r0, #0x0 add r0, r6, #0x0 add r5, r2, #0x0 - bl sub_020669D4 + bl FUN_020669D4 str r0, [sp, #0x4] add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0xc] add r0, r6, #0x0 - bl sub_020690E4 + bl FUN_020690E4 ldr r2, _0207AEAC ; =0x00000674 add r4, r0, #0x0 ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] mov r1, #0xb - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 - bl sub_0200AC60 + bl FUN_0200AC60 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x25 ldr r0, [r7, r2] @@ -228062,18 +228062,18 @@ sub_0207AB0C: ; 0x0207AB0C add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r2, _0207AEAC ; =0x00000674 mov r1, #0x0 ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x95 ldr r0, [r7, r2] @@ -228081,18 +228081,18 @@ sub_0207AB0C: ; 0x0207AB0C add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 ldr r2, _0207AEAC ; =0x00000674 mov r1, #0xe ldr r0, [r7, r2] add r2, #0xc ldr r2, [r7, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, _0207AEB0 ; =0x0000067C mov r1, #0x0 ldr r0, [r7, r0] add r2, r4, #0x0 - bl sub_0200AD18 + bl FUN_0200AD18 ldr r2, _0207AEB0 ; =0x0000067C mov r1, #0x96 ldr r0, [r7, r2] @@ -228100,16 +228100,16 @@ sub_0207AB0C: ; 0x0207AB0C add r2, r2, #0x4 ldr r1, [r7, r1] ldr r2, [r7, r2] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0xe] add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldrb r1, [r5, #0x12] mov r2, #0x7f lsl r0, r0, #0x18 @@ -228122,7 +228122,7 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x1f ldr r2, [r5, #0x50] ldr r1, _0207AEB4 ; =0xEFFFFFFF @@ -228133,7 +228133,7 @@ sub_0207AB0C: ; 0x0207AB0C add r0, r6, #0x0 mov r1, #0xaf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _0207AC16 ldr r0, [r5, #0x50] @@ -228152,7 +228152,7 @@ _0207AC16: strb r0, [r5, #0x12] _0207AC1E: add r0, r6, #0x0 - bl sub_020689E0 + bl FUN_020689E0 ldrb r1, [r5, #0x13] mov r2, #0x3 bic r1, r2 @@ -228163,7 +228163,7 @@ _0207AC1E: add r0, r6, #0x0 mov r1, #0x9a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 lsl r0, r0, #0x1a @@ -228176,27 +228176,27 @@ _0207AC1E: add r0, r6, #0x0 mov r1, #0xb0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r5, #0x10] add r0, r6, #0x0 mov r1, #0xb1 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strb r0, [r5, #0x11] add r0, r6, #0x0 mov r1, #0x7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x14] add r0, r6, #0x0 mov r1, #0x8 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [r5, #0x18] add r0, r6, #0x0 mov r1, #0x9c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x44 strb r0, [r1, #0x0] @@ -228204,7 +228204,7 @@ _0207AC1E: ldrh r0, [r5, #0xc] lsl r1, r1, #0x19 lsr r1, r1, #0x19 - bl sub_02068758 + bl FUN_02068758 str r0, [r5, #0x1c] ldrb r0, [r5, #0x12] lsl r0, r0, #0x19 @@ -228216,53 +228216,53 @@ _0207AC1E: _0207ACAA: ldrh r0, [r5, #0xc] add r1, r1, #0x1 - bl sub_02068758 + bl FUN_02068758 _0207ACB2: str r0, [r5, #0x20] add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x24] add r0, r6, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x26] add r0, r6, #0x0 mov r1, #0xa4 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x28] add r0, r6, #0x0 mov r1, #0xa5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x2a] add r0, r6, #0x0 mov r1, #0xa7 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x2c] add r0, r6, #0x0 mov r1, #0xa8 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x2e] add r0, r6, #0x0 mov r1, #0xa6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC strh r0, [r5, #0x30] add r0, r6, #0x0 mov r1, #0xa mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x32 strb r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_02068854 + bl FUN_02068854 add r1, r5, #0x0 add r1, #0x33 strb r0, [r1, #0x0] @@ -228275,14 +228275,14 @@ _0207AD26: add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, [sp, #0x0] mov r2, #0x0 strh r0, [r1, #0x34] add r1, r4, #0x0 add r0, r6, #0x0 add r1, #0x3a - bl sub_020671BC + bl FUN_020671BC add r1, r5, r4 add r1, #0x3c strb r0, [r1, #0x0] @@ -228290,12 +228290,12 @@ _0207AD26: add r0, r6, #0x0 add r1, #0x3e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 ldr r0, [sp, #0x0] ldrh r0, [r0, #0x34] - bl sub_0206AB30 + bl FUN_0206AB30 add r1, r5, r4 add r1, #0x40 strb r0, [r1, #0x0] @@ -228307,42 +228307,42 @@ _0207AD26: add r0, r6, #0x0 mov r1, #0x13 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x45 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x14 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x46 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x15 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x47 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x16 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x48 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x17 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x49 strb r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x18 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4a strb r0, [r1, #0x0] @@ -228354,7 +228354,7 @@ _0207AD26: _0207ADE0: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02069BC8 + bl FUN_02069BC8 cmp r0, #0x1 bne _0207ADF4 add r0, r5, #0x0 @@ -228371,19 +228371,19 @@ _0207ADFE: add r0, r6, #0x0 mov r1, #0xb mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4c strh r0, [r1, #0x0] add r0, r6, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r5, #0x0 add r1, #0x4e strh r0, [r1, #0x0] add r0, r6, #0x0 - bl sub_0207C2D4 + bl FUN_0207C2D4 mov r1, #0xf ldr r2, [r5, #0x50] lsl r1, r1, #0x1c @@ -228393,7 +228393,7 @@ _0207ADFE: orr r0, r2 str r0, [r5, #0x50] add r0, r6, #0x0 - bl sub_02069E94 + bl FUN_02069E94 cmp r0, #0x1 bne _0207AE4E ldr r1, [r5, #0x50] @@ -228406,7 +228406,7 @@ _0207ADFE: b _0207AE84 _0207AE4E: add r0, r6, #0x0 - bl sub_02069E74 + bl FUN_02069E74 cmp r0, #0x1 bne _0207AE7C ldr r2, [r5, #0x50] @@ -228434,7 +228434,7 @@ _0207AE7C: str r0, [r5, #0x50] _0207AE84: add r0, r6, #0x0 - bl sub_02068A80 + bl FUN_02068A80 cmp r0, #0x1 ldr r1, [r5, #0x50] bne _0207AE98 @@ -228468,11 +228468,11 @@ _0207AECC: lsl r0, r4, #0x18 lsr r0, r0, #0x18 mov r1, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r1, r0, #0x0 add r0, r6, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207AF04 lsr r0, r4, #0x5 @@ -228499,14 +228499,14 @@ _0207AF04: blo _0207AECC ldr r1, [sp, #0x4] add r0, r6, #0x0 - bl sub_02066A20 + bl FUN_02066A20 add sp, #0x8 pop {r3-r7, pc} nop _0207AF1C: .word 0x00000699 - thumb_func_start sub_0207AF20 -sub_0207AF20: ; 0x0207AF20 + thumb_func_start FUN_0207AF20 +FUN_0207AF20: ; 0x0207AF20 push {r3, lr} mov r2, #0x2a lsl r2, r2, #0x4 @@ -228527,17 +228527,17 @@ sub_0207AF20: ; 0x0207AF20 ldr r0, [r0, #0x28] mov r2, #0x64 add r3, r1, #0x0 - bl sub_02005E90 + bl FUN_02005E90 pop {r3, pc} _0207AF4E: add r0, r3, #0x0 - bl sub_02005578 + bl FUN_02005578 _0207AF54: pop {r3, pc} .balign 4 - thumb_func_start sub_0207AF58 -sub_0207AF58: ; 0x0207AF58 + thumb_func_start FUN_0207AF58 +FUN_0207AF58: ; 0x0207AF58 push {r4, lr} mov r1, #0x93 add r4, r0, #0x0 @@ -228576,27 +228576,27 @@ _0207AF96: _0207AFA4: add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r4, #0x0 - bl sub_0207C5D4 + bl FUN_0207C5D4 add r0, r4, #0x0 - bl sub_0207C838 + bl FUN_0207C838 add r0, r4, #0x0 - bl sub_0207D2C8 + bl FUN_0207D2C8 add r0, r4, #0x0 - bl sub_0207C6A4 + bl FUN_0207C6A4 add r0, r4, #0x0 - bl sub_0207CE4C + bl FUN_0207CE4C add r0, r4, #0x0 - bl sub_0207CC24 + bl FUN_0207CC24 add r0, r4, #0x0 - bl sub_0207D604 + bl FUN_0207D604 add r0, r4, #0x0 - bl sub_0207DD88 + bl FUN_0207DD88 add r0, r4, #0x0 - bl sub_0207B228 + bl FUN_0207B228 add r0, r4, #0x0 - bl sub_0207F2A0 + bl FUN_0207F2A0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -228604,14 +228604,14 @@ _0207AFA4: cmp r0, #0x2 bne _0207AFFA add r0, r4, #0x0 - bl sub_0207BA74 + bl FUN_0207BA74 _0207AFFA: pop {r4, pc} .balign 4 _0207AFFC: .word 0x0000068C - thumb_func_start sub_0207B000 -sub_0207B000: ; 0x0207B000 + thumb_func_start FUN_0207B000 +FUN_0207B000: ; 0x0207B000 push {r3-r6} mov r6, #0x0 strb r6, [r0, #0x15] @@ -228635,8 +228635,8 @@ _0207B024: pop {r3-r6} bx lr - thumb_func_start sub_0207B028 -sub_0207B028: ; 0x0207B028 + thumb_func_start FUN_0207B028 +FUN_0207B028: ; 0x0207B028 push {r3-r4} mov r1, #0x93 lsl r1, r1, #0x2 @@ -228677,8 +228677,8 @@ _0207B06C: pop {r3-r4} bx lr - thumb_func_start sub_0207B070 -sub_0207B070: ; 0x0207B070 + thumb_func_start FUN_0207B070 +FUN_0207B070: ; 0x0207B070 mov r2, #0x2a lsl r2, r2, #0x4 ldr r2, [r0, r2] @@ -228703,8 +228703,8 @@ _0207B088: lsr r0, r0, #0x18 bx lr - thumb_func_start sub_0207B09C -sub_0207B09C: ; 0x0207B09C + thumb_func_start FUN_0207B09C +FUN_0207B09C: ; 0x0207B09C push {r3-r4} mov r3, #0x93 lsl r3, r3, #0x2 @@ -228732,8 +228732,8 @@ _0207B0BA: bx lr .balign 4 - thumb_func_start sub_0207B0CC -sub_0207B0CC: ; 0x0207B0CC + thumb_func_start FUN_0207B0CC +FUN_0207B0CC: ; 0x0207B0CC push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -228748,30 +228748,30 @@ sub_0207B0CC: ; 0x0207B0CC ldrb r1, [r1, #0x12] cmp r1, #0x2 bne _0207B0EC - bl sub_0207BDD8 + bl FUN_0207BDD8 _0207B0EC: add r0, r5, #0x0 - bl sub_0207D6F8 + bl FUN_0207D6F8 ldr r0, _0207B174 ; =0x0000068C mov r1, #0x0 strb r4, [r5, r0] add r0, r5, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r5, #0x0 - bl sub_0207C5D4 + bl FUN_0207C5D4 add r0, r5, #0x0 - bl sub_0207C6A4 + bl FUN_0207C6A4 add r0, r5, #0x0 - bl sub_0207C838 + bl FUN_0207C838 add r0, r5, #0x0 - bl sub_0207D2C8 + bl FUN_0207D2C8 add r0, r5, #0x0 - bl sub_0207CC24 + bl FUN_0207CC24 add r0, r5, #0x0 - bl sub_0207D604 + bl FUN_0207D604 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0207D418 + bl FUN_0207D418 mov r0, #0x4 str r0, [sp, #0x0] mov r0, #0x13 @@ -228783,16 +228783,16 @@ _0207B0EC: ldr r0, [r5, #0x0] mov r1, #0x1 mov r3, #0xe - bl sub_02018540 + bl FUN_02018540 ldr r0, [r5, #0x0] mov r1, #0x1 - bl sub_02017CD0 + bl FUN_02017CD0 add r0, r5, #0x0 - bl sub_0207DD88 + bl FUN_0207DD88 add r0, r5, #0x0 - bl sub_0207B228 + bl FUN_0207B228 add r0, r5, #0x0 - bl sub_0207F2A0 + bl FUN_0207F2A0 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r5, r0] @@ -228800,15 +228800,15 @@ _0207B0EC: cmp r0, #0x2 bne _0207B170 add r0, r5, #0x0 - bl sub_0207BDF4 + bl FUN_0207BDF4 _0207B170: add sp, #0x10 pop {r3-r5, pc} .balign 4 _0207B174: .word 0x0000068C - thumb_func_start sub_0207B178 -sub_0207B178: ; 0x0207B178 + thumb_func_start FUN_0207B178 +FUN_0207B178: ; 0x0207B178 push {r3-r7, lr} add r5, r0, #0x0 ldr r0, _0207B1F8 ; =0x0000068C @@ -228862,27 +228862,27 @@ _0207B1D0: cmp r4, r0 beq _0207B1F4 ldr r0, _0207B1FC ; =0x000005E1 - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x0 - bl sub_0207FA38 + bl FUN_0207FA38 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0207D418 + bl FUN_0207D418 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_0207B0CC + bl FUN_0207B0CC _0207B1F4: pop {r3-r7, pc} nop _0207B1F8: .word 0x0000068C _0207B1FC: .word 0x000005E1 - thumb_func_start sub_0207B200 -sub_0207B200: ; 0x0207B200 + thumb_func_start FUN_0207B200 +FUN_0207B200: ; 0x0207B200 push {r4, lr} add r4, r0, #0x0 - bl sub_0207FA80 + bl FUN_0207FA80 cmp r0, #0xff bne _0207B210 mov r0, #0x0 @@ -228900,8 +228900,8 @@ _0207B210: nop _0207B224: .word 0x00000694 - thumb_func_start sub_0207B228 -sub_0207B228: ; 0x0207B228 + thumb_func_start FUN_0207B228 +FUN_0207B228: ; 0x0207B228 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -228930,10 +228930,10 @@ _0207B250: _0207B256: mov r0, #0x27 mov r2, #0x13 - bl sub_0200650C + bl FUN_0200650C add r1, sp, #0xc add r4, r0, #0x0 - blx sub_020B0180 + blx FUN_020B0180 mov r3, #0x0 str r3, [sp, #0x0] mov r0, #0x20 @@ -228943,33 +228943,33 @@ _0207B256: ldr r0, [r5, #0x0] mov r1, #0x3 add r2, #0xc - bl sub_02018148 + bl FUN_02018148 ldr r0, [r5, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0207B2AC ; =0x0000068C ldrsb r0, [r5, r0] cmp r0, #0x0 bne _0207B29C add r0, r5, #0x0 - bl sub_0207B364 + bl FUN_0207B364 add sp, #0x10 pop {r3-r5, pc} _0207B29C: cmp r0, #0x2 bne _0207B2A6 add r0, r5, #0x0 - bl sub_0207B2B0 + bl FUN_0207B2B0 _0207B2A6: add sp, #0x10 pop {r3-r5, pc} nop _0207B2AC: .word 0x0000068C - thumb_func_start sub_0207B2B0 -sub_0207B2B0: ; 0x0207B2B0 + thumb_func_start FUN_0207B2B0 +FUN_0207B2B0: ; 0x0207B2B0 push {r4-r7, lr} sub sp, #0x14 mov r1, #0x9d @@ -228979,7 +228979,7 @@ sub_0207B2B0: ; 0x0207B2B0 add r1, r1, #0x2 ldrh r1, [r6, r1] mov r2, #0x30 - bl sub_02079A54 + bl FUN_02079A54 cmp r0, #0x4 bhi _0207B2EC add r0, r0, r0 @@ -229004,7 +229004,7 @@ _0207B2EC: add r1, r1, #0x2 ldrh r1, [r6, r1] mov r2, #0x30 - bl sub_02079A0C + bl FUN_02079A0C add r4, r0, #0x0 add r0, r7, #0x0 add r0, #0x8 @@ -229035,7 +229035,7 @@ _0207B318: ldr r0, [r6, #0x0] mov r1, #0x3 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 cmp r4, #0x8 bhs _0207B33E mov r4, #0x0 @@ -229052,7 +229052,7 @@ _0207B344: blo _0207B30A ldr r0, [r6, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x14 pop {r4-r7, pc} nop @@ -229060,8 +229060,8 @@ _0207B35C: .word 0x0000A0C0 _0207B360: .byte 0xE0, 0xA0, 0x00, 0x00 - thumb_func_start sub_0207B364 -sub_0207B364: ; 0x0207B364 + thumb_func_start FUN_0207B364 +FUN_0207B364: ; 0x0207B364 push {r3-r7, lr} sub sp, #0x10 ldr r2, _0207B3EC ; =0x00000262 @@ -229087,7 +229087,7 @@ _0207B38C: add r0, r1, #0x0 _0207B390: mov r2, #0x38 - bl sub_02079A0C + bl FUN_02079A0C add r4, r0, #0x0 mov r5, #0x0 mov r7, #0x17 @@ -229114,7 +229114,7 @@ _0207B3AC: ldr r0, [r6, #0x0] mov r1, #0x3 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 cmp r4, #0x8 bhs _0207B3D0 mov r4, #0x0 @@ -229131,17 +229131,17 @@ _0207B3D6: blo _0207B39C ldr r0, [r6, #0x0] mov r1, #0x3 - bl sub_0201AC68 + bl FUN_0201AC68 add sp, #0x10 pop {r3-r7, pc} .balign 4 _0207B3EC: .word 0x00000262 - thumb_func_start sub_0207B3F0 -sub_0207B3F0: ; 0x0207B3F0 + thumb_func_start FUN_0207B3F0 +FUN_0207B3F0: ; 0x0207B3F0 push {r4, lr} add r4, r0, #0x0 - bl sub_0207B4A4 + bl FUN_0207B4A4 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -229151,68 +229151,68 @@ sub_0207B3F0: ; 0x0207B3F0 ldr r1, [r4, r1] strb r0, [r1, #0x14] add r0, r4, #0x0 - bl sub_0207AAB0 + bl FUN_0207AAB0 add r0, r4, #0x0 - bl sub_0207AF20 + bl FUN_0207AF20 add r0, r4, #0x0 - bl sub_0207D768 + bl FUN_0207D768 add r0, r4, #0x0 - bl sub_0207D800 + bl FUN_0207D800 add r0, r4, #0x0 - bl sub_0207D8A0 + bl FUN_0207D8A0 ldr r0, _0207B4A0 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x0 bne _0207B436 add r0, r4, #0x0 - bl sub_0207B364 + bl FUN_0207B364 b _0207B44C _0207B436: cmp r0, #0x2 bne _0207B442 add r0, r4, #0x0 - bl sub_0207B2B0 + bl FUN_0207B2B0 b _0207B44C _0207B442: cmp r0, #0x4 bne _0207B44C add r0, r4, #0x0 - bl sub_0207F608 + bl FUN_0207F608 _0207B44C: add r0, r4, #0x0 - bl sub_0207F934 + bl FUN_0207F934 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r4, #0x0 - bl sub_0207C5D4 + bl FUN_0207C5D4 add r0, r4, #0x0 - bl sub_0207C6A4 + bl FUN_0207C6A4 add r0, r4, #0x0 - bl sub_0207CA44 + bl FUN_0207CA44 add r0, r4, #0x0 - bl sub_0207C838 + bl FUN_0207C838 add r0, r4, #0x0 - bl sub_0207D2C8 + bl FUN_0207D2C8 add r0, r4, #0x0 - bl sub_0207CFEC + bl FUN_0207CFEC add r0, r4, #0x0 - bl sub_0207C71C + bl FUN_0207C71C add r0, r4, #0x0 - bl sub_0207C77C + bl FUN_0207C77C add r0, r4, #0x0 - bl sub_0207CC24 + bl FUN_0207CC24 add r0, r4, #0x0 - bl sub_0207CE4C + bl FUN_0207CE4C add r0, r4, #0x0 - bl sub_0207DD88 + bl FUN_0207DD88 _0207B49C: pop {r4, pc} nop _0207B4A0: .word 0x0000068C - thumb_func_start sub_0207B4A4 -sub_0207B4A4: ; 0x0207B4A4 + thumb_func_start FUN_0207B4A4 +FUN_0207B4A4: ; 0x0207B4A4 push {r3, lr} mov r2, #0x93 lsl r2, r2, #0x2 @@ -229226,21 +229226,21 @@ sub_0207B4A4: ; 0x0207B4A4 beq _0207B4C8 b _0207B4CE _0207B4BC: - bl sub_0207B4FC + bl FUN_0207B4FC pop {r3, pc} _0207B4C2: - bl sub_0207B564 + bl FUN_0207B564 pop {r3, pc} _0207B4C8: - bl sub_0207B5C0 + bl FUN_0207B5C0 pop {r3, pc} _0207B4CE: mov r0, #0x0 mvn r0, r0 pop {r3, pc} - thumb_func_start sub_0207B4D4 -sub_0207B4D4: ; 0x0207B4D4 + thumb_func_start FUN_0207B4D4 +FUN_0207B4D4: ; 0x0207B4D4 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r0, r1] @@ -229264,8 +229264,8 @@ _0207B4F4: .balign 4 _0207B4F8: .word 0x0000068C - thumb_func_start sub_0207B4FC -sub_0207B4FC: ; 0x0207B4FC + thumb_func_start FUN_0207B4FC +FUN_0207B4FC: ; 0x0207B4FC push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 @@ -229291,7 +229291,7 @@ _0207B522: mvn r0, r0 pop {r3-r7, pc} _0207B528: - bl sub_020690C4 + bl FUN_020690C4 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] @@ -229301,17 +229301,17 @@ _0207B528: add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207B50C add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207B55E add r0, r5, #0x0 - bl sub_0207B4D4 + bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B50C _0207B55E: @@ -229319,8 +229319,8 @@ _0207B55E: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207B564 -sub_0207B564: ; 0x0207B564 + thumb_func_start FUN_0207B564 +FUN_0207B564: ; 0x0207B564 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 @@ -229347,29 +229347,29 @@ _0207B588: _0207B58E: ldr r0, [r1, #0x0] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0x5 mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207B574 add r0, r6, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0207B5BC add r0, r5, #0x0 - bl sub_0207B4D4 + bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B574 _0207B5BC: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0207B5C0 -sub_0207B5C0: ; 0x0207B5C0 + thumb_func_start FUN_0207B5C0 +FUN_0207B5C0: ; 0x0207B5C0 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x93 @@ -229395,7 +229395,7 @@ _0207B5E6: mvn r0, r0 pop {r3-r7, pc} _0207B5EC: - bl sub_020690C8 + bl FUN_020690C8 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r5, r1] @@ -229405,17 +229405,17 @@ _0207B5EC: add r0, r6, r7 mov r1, #0x5 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0207B5D0 add r0, r6, r7 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 beq _0207B622 add r0, r5, #0x0 - bl sub_0207B4D4 + bl FUN_0207B4D4 cmp r0, #0x1 bne _0207B5D0 _0207B622: @@ -229423,8 +229423,8 @@ _0207B622: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207B628 -sub_0207B628: ; 0x0207B628 + thumb_func_start FUN_0207B628 +FUN_0207B628: ; 0x0207B628 push {r4, lr} mov r1, #0x93 lsl r1, r1, #0x2 @@ -229438,7 +229438,7 @@ sub_0207B628: ; 0x0207B628 beq _0207B658 b _0207B666 _0207B640: - bl sub_020690C4 + bl FUN_020690C4 ldrb r1, [r4, #0x14] ldr r2, [r4, #0x0] mul r0, r1 @@ -229447,10 +229447,10 @@ _0207B640: _0207B64E: ldrb r1, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9B0 + bl FUN_0206B9B0 pop {r4, pc} _0207B658: - bl sub_020690C8 + bl FUN_020690C8 ldrb r1, [r4, #0x14] ldr r2, [r4, #0x0] mul r0, r1 @@ -229461,8 +229461,8 @@ _0207B666: pop {r4, pc} .balign 4 - thumb_func_start sub_0207B66C -sub_0207B66C: ; 0x0207B66C + thumb_func_start FUN_0207B66C +FUN_0207B66C: ; 0x0207B66C push {r4, lr} ldr r1, _0207B774 ; =0x0000068E add r4, r0, #0x0 @@ -229479,33 +229479,33 @@ _0207B682: mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207C6F0 + bl FUN_0207C6F0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC ldr r1, _0207B778 ; =0x0000068D mov r0, #0xf ldrb r2, [r4, r1] @@ -229518,14 +229518,14 @@ _0207B682: _0207B6E2: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B48 + bl FUN_02017B48 cmp r0, #0x40 ldr r0, [r4, #0x0] bgt _0207B702 mov r2, #0x0 mov r1, #0x2 add r3, r2, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207B774 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -229534,10 +229534,10 @@ _0207B702: mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x40 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207B76E _0207B70E: - bl sub_0207ECDC + bl FUN_0207ECDC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -229546,21 +229546,21 @@ _0207B70E: beq _0207B732 add r0, r4, #0x0 mov r1, #0x98 - bl sub_0207D924 + bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC _0207B732: add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 ldr r0, _0207B77C ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C add r0, r4, #0x0 - bl sub_0207D06C + bl FUN_0207D06C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] @@ -229571,12 +229571,12 @@ _0207B732: ldr r0, _0207B780 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C _0207B760: ldr r0, _0207B784 ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x1 pop {r4, pc} _0207B76E: @@ -229589,8 +229589,8 @@ _0207B77C: .word 0x00000434 _0207B780: .word 0x00000438 _0207B784: .word 0x0000042C - thumb_func_start sub_0207B788 -sub_0207B788: ; 0x0207B788 + thumb_func_start FUN_0207B788 +FUN_0207B788: ; 0x0207B788 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207B864 ; =0x0000068E @@ -229606,35 +229606,35 @@ _0207B79E: ldr r0, _0207B868 ; =0x00000434 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207B86C ; =0x00000438 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207B870 ; =0x00000454 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207B874 ; =0x0000042C mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r4, #0x0 - bl sub_0207ED18 + bl FUN_0207ED18 add r0, r4, #0x0 - bl sub_0207EC94 + bl FUN_0207EC94 ldr r0, _0207B864 ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] @@ -229642,14 +229642,14 @@ _0207B79E: _0207B7F8: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B48 + bl FUN_02017B48 cmp r0, #0x80 ldr r0, [r4, #0x0] blt _0207B818 mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207B864 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -229658,31 +229658,31 @@ _0207B818: mov r1, #0x2 mov r2, #0x1 mov r3, #0x40 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207B860 _0207B824: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0x64 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 mov r1, #0x81 - bl sub_0207D924 + bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0207C6F0 + bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207B860: @@ -229695,8 +229695,8 @@ _0207B86C: .word 0x00000438 _0207B870: .word 0x00000454 _0207B874: .word 0x0000042C - thumb_func_start sub_0207B878 -sub_0207B878: ; 0x0207B878 + thumb_func_start FUN_0207B878 +FUN_0207B878: ; 0x0207B878 push {r4-r7} add r5, r0, #0x0 ldr r0, _0207B8D4 ; =0x0000068D @@ -229750,11 +229750,11 @@ _0207B8CC: nop _0207B8D4: .word 0x0000068D - thumb_func_start sub_0207B8D8 -sub_0207B8D8: ; 0x0207B8D8 + thumb_func_start FUN_0207B8D8 +FUN_0207B8D8: ; 0x0207B8D8 push {r4, lr} add r4, r0, #0x0 - bl sub_0207CBC0 + bl FUN_0207CBC0 ldr r2, _0207B95C ; =0x0000068D ldrb r0, [r4, r2] lsl r0, r0, #0x1c @@ -229772,11 +229772,11 @@ sub_0207B8D8: ; 0x0207B8D8 cmp r0, #0x3 bne _0207B908 add r0, r4, #0x0 - bl sub_0207B960 + bl FUN_0207B960 pop {r4, pc} _0207B908: add r0, r4, #0x0 - bl sub_0207B99C + bl FUN_0207B99C pop {r4, pc} _0207B910: sub r0, r2, #0x1 @@ -229786,13 +229786,13 @@ _0207B910: mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 - bl sub_0207B960 + bl FUN_0207B960 pop {r4, pc} _0207B924: mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 - bl sub_0207B99C + bl FUN_0207B99C pop {r4, pc} _0207B930: sub r0, r2, #0x1 @@ -229805,7 +229805,7 @@ _0207B930: lsl r1, r1, #0x2 ldrh r1, [r2, r1] add r0, r4, #0x0 - bl sub_0207B960 + bl FUN_0207B960 pop {r4, pc} _0207B94A: lsl r1, r1, #0x1 @@ -229814,13 +229814,13 @@ _0207B94A: lsl r1, r1, #0x2 ldrh r1, [r2, r1] add r0, r4, #0x0 - bl sub_0207B99C + bl FUN_0207B99C pop {r4, pc} .balign 4 _0207B95C: .word 0x0000068D - thumb_func_start sub_0207B960 -sub_0207B960: ; 0x0207B960 + thumb_func_start FUN_0207B960 +FUN_0207B960: ; 0x0207B960 push {r3-r5, lr} mov r2, #0x0 add r4, r1, #0x0 @@ -229828,50 +229828,50 @@ sub_0207B960: ; 0x0207B960 add r5, r0, #0x0 cmp r4, r2 bne _0207B980 - bl sub_0207EC94 + bl FUN_0207EC94 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_0200C63C + bl FUN_0200C63C pop {r3-r5, pc} _0207B980: - bl sub_0207EB64 + bl FUN_0207EB64 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207CB70 + bl FUN_0207CB70 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_0200C63C + bl FUN_0200C63C pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0207B99C -sub_0207B99C: ; 0x0207B99C + thumb_func_start FUN_0207B99C +FUN_0207B99C: ; 0x0207B99C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0207BD84 + bl FUN_0207BD84 mov r0, #0x0 mvn r0, r0 cmp r4, r0 bne _0207B9B6 add r0, r5, #0x0 - bl sub_0207EEB0 + bl FUN_0207EEB0 pop {r3-r5, pc} _0207B9B6: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207EE2C + bl FUN_0207EE2C pop {r3-r5, pc} - thumb_func_start sub_0207B9C0 -sub_0207B9C0: ; 0x0207B9C0 + thumb_func_start FUN_0207B9C0 +FUN_0207B9C0: ; 0x0207B9C0 push {r3-r7, lr} add r4, r0, #0x0 - bl sub_0207B628 + bl FUN_0207B628 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -229884,7 +229884,7 @@ sub_0207B9C0: ; 0x0207B9C0 lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c - bl sub_020698E8 + bl FUN_020698E8 b _0207B9F4 _0207B9E6: ldrb r2, [r4, r1] @@ -229892,7 +229892,7 @@ _0207B9E6: lsl r2, r2, #0x18 lsr r1, r1, #0x1c lsr r2, r2, #0x1c - bl sub_020698E0 + bl FUN_020698E0 _0207B9F4: ldr r0, _0207BA70 ; =0x0000068D mov r1, #0xa1 @@ -229959,36 +229959,36 @@ _0207B9F4: .balign 4 _0207BA70: .word 0x0000068D - thumb_func_start sub_0207BA74 -sub_0207BA74: ; 0x0207BA74 + thumb_func_start FUN_0207BA74 +FUN_0207BA74: ; 0x0207BA74 push {r4, lr} add r4, r0, #0x0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, r2, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 add r0, r4, #0x0 - bl sub_0207ECDC + bl FUN_0207ECDC add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 ldr r0, _0207BAE0 ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C add r0, r4, #0x0 - bl sub_0207D06C + bl FUN_0207D06C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] @@ -229999,20 +229999,20 @@ sub_0207BA74: ; 0x0207BA74 ldr r0, _0207BAE4 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C _0207BAD4: ldr r0, _0207BAE8 ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} .balign 4 _0207BAE0: .word 0x00000434 _0207BAE4: .word 0x00000438 _0207BAE8: .word 0x0000042C - thumb_func_start sub_0207BAEC -sub_0207BAEC: ; 0x0207BAEC + thumb_func_start FUN_0207BAEC +FUN_0207BAEC: ; 0x0207BAEC push {r4, lr} ldr r1, _0207BBE4 ; =0x0000068E add r4, r0, #0x0 @@ -230029,38 +230029,38 @@ _0207BB02: mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 - bl sub_0201AEE4 + bl FUN_0201AEE4 mov r2, #0x3 add r3, r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, #0xfd - bl sub_0201AEE4 + bl FUN_0201AEE4 mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 - bl sub_0207BD84 + bl FUN_0207BD84 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207C6F0 + bl FUN_0207C6F0 mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 add r0, #0x64 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC ldr r1, _0207BBE8 ; =0x0000068D mov r0, #0xf ldrb r2, [r4, r1] @@ -230073,14 +230073,14 @@ _0207BB02: _0207BB6E: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B48 + bl FUN_02017B48 cmp r0, #0x40 ldr r0, [r4, #0x0] bgt _0207BB8E mov r2, #0x0 mov r1, #0x2 add r3, r2, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207BBE4 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -230089,10 +230089,10 @@ _0207BB8E: mov r1, #0x2 add r2, r1, #0x0 mov r3, #0x40 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207BBDE _0207BB9A: - bl sub_0207ECDC + bl FUN_0207ECDC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -230101,23 +230101,23 @@ _0207BB9A: beq _0207BBBE add r0, r4, #0x0 mov r1, #0x98 - bl sub_0207D924 + bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC _0207BBBE: add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 add r0, r4, #0x0 - bl sub_0207D06C + bl FUN_0207D06C add r0, r4, #0x0 - bl sub_0207D10C + bl FUN_0207D10C ldr r0, _0207BBEC ; =0x0000042C mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x1 pop {r4, pc} _0207BBDE: @@ -230128,8 +230128,8 @@ _0207BBE4: .word 0x0000068E _0207BBE8: .word 0x0000068D _0207BBEC: .word 0x0000042C - thumb_func_start sub_0207BBF0 -sub_0207BBF0: ; 0x0207BBF0 + thumb_func_start FUN_0207BBF0 +FUN_0207BBF0: ; 0x0207BBF0 push {r4, lr} ldr r1, _0207BCBC ; =0x0000068E add r4, r0, #0x0 @@ -230142,30 +230142,30 @@ sub_0207BBF0: ; 0x0207BBF0 beq _0207BC7A b _0207BCB6 _0207BC06: - bl sub_0207D22C + bl FUN_0207D22C ldr r0, _0207BCC0 ; =0x00000454 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C mov r1, #0x0 add r0, r4, #0x0 mvn r1, r1 - bl sub_0207BD84 + bl FUN_0207BD84 ldr r0, _0207BCC4 ; =0x0000042C mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r4, #0x0 - bl sub_0207ED18 + bl FUN_0207ED18 add r0, r4, #0x0 - bl sub_0207EEB0 + bl FUN_0207EEB0 ldr r0, _0207BCBC ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] @@ -230173,14 +230173,14 @@ _0207BC06: _0207BC4E: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B48 + bl FUN_02017B48 cmp r0, #0x80 ldr r0, [r4, #0x0] blt _0207BC6E mov r1, #0x2 mov r2, #0x0 mov r3, #0x88 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207BCBC ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -230189,31 +230189,31 @@ _0207BC6E: mov r1, #0x2 mov r2, #0x1 mov r3, #0x40 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207BCB6 _0207BC7A: mov r0, #0x85 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0x64 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 mov r1, #0x9e - bl sub_0207D924 + bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0207C6F0 + bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207BCB6: @@ -230224,8 +230224,8 @@ _0207BCBC: .word 0x0000068E _0207BCC0: .word 0x00000454 _0207BCC4: .word 0x0000042C - thumb_func_start sub_0207BCC8 -sub_0207BCC8: ; 0x0207BCC8 + thumb_func_start FUN_0207BCC8 +FUN_0207BCC8: ; 0x0207BCC8 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -230244,7 +230244,7 @@ sub_0207BCC8: ; 0x0207BCC8 mov r1, #0x2 add r2, r4, #0x0 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 mov r0, #0x2f str r0, [sp, #0x0] mov r0, #0x1 @@ -230260,7 +230260,7 @@ sub_0207BCC8: ; 0x0207BCC8 mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 mov r0, #0x30 str r0, [sp, #0x0] mov r0, #0x1 @@ -230276,7 +230276,7 @@ sub_0207BCC8: ; 0x0207BCC8 mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 mov r0, #0x30 str r0, [sp, #0x0] mov r0, #0x1 @@ -230291,12 +230291,12 @@ sub_0207BCC8: ; 0x0207BCC8 mov r1, #0x2 lsr r2, r2, #0x10 lsr r3, r3, #0x18 - bl sub_02018540 + bl FUN_02018540 add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_0207BD58 -sub_0207BD58: ; 0x0207BD58 + thumb_func_start FUN_0207BD58 +FUN_0207BD58: ; 0x0207BD58 push {r4-r6, lr} ldr r6, _0207BD80 ; =0x0000012E add r5, r0, #0x0 @@ -230306,7 +230306,7 @@ _0207BD60: add r0, r5, #0x0 add r1, r6, #0x0 lsr r2, r2, #0x18 - bl sub_0207BCC8 + bl FUN_0207BCC8 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -230314,27 +230314,27 @@ _0207BD60: blo _0207BD60 ldr r0, [r5, #0x0] mov r1, #0x2 - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4-r6, pc} .balign 4 _0207BD80: .word 0x0000012E - thumb_func_start sub_0207BD84 -sub_0207BD84: ; 0x0207BD84 + thumb_func_start FUN_0207BD84 +FUN_0207BD84: ; 0x0207BD84 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0207BD58 + bl FUN_0207BD58 mov r0, #0x0 mvn r0, r0 cmp r4, r0 beq _0207BDCC add r0, r4, #0x0 mov r1, #0xa - bl sub_0206AB18 - bl sub_02083114 + bl FUN_0206AB18 + bl FUN_02083114 mov r1, #0xa - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r0, #0x18 asr r6, r0, #0x18 mov r4, #0x0 @@ -230347,7 +230347,7 @@ _0207BDB6: add r0, r5, #0x0 add r1, r7, #0x0 lsr r2, r2, #0x18 - bl sub_0207BCC8 + bl FUN_0207BCC8 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -230356,44 +230356,44 @@ _0207BDB6: _0207BDCC: ldr r0, [r5, #0x0] mov r1, #0x2 - bl sub_0201AC68 + bl FUN_0201AC68 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207BDD8 -sub_0207BDD8: ; 0x0207BDD8 + thumb_func_start FUN_0207BDD8 +FUN_0207BDD8: ; 0x0207BDD8 push {r3, lr} ldr r1, _0207BDF0 ; =0x0000068C ldrsb r1, [r0, r1] cmp r1, #0x3 bne _0207BDE8 - bl sub_0207EC94 + bl FUN_0207EC94 pop {r3, pc} _0207BDE8: - bl sub_0207EEB0 + bl FUN_0207EEB0 pop {r3, pc} nop _0207BDF0: .word 0x0000068C - thumb_func_start sub_0207BDF4 -sub_0207BDF4: ; 0x0207BDF4 + thumb_func_start FUN_0207BDF4 +FUN_0207BDF4: ; 0x0207BDF4 push {r4, lr} add r4, r0, #0x0 - bl sub_0207ECDC + bl FUN_0207ECDC add r0, r4, #0x0 - bl sub_0207B8D8 + bl FUN_0207B8D8 add r0, r4, #0x0 - bl sub_0207D06C + bl FUN_0207D06C ldr r0, _0207BE5C ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x3 bne _0207BE46 add r0, r4, #0x0 - bl sub_0207D22C + bl FUN_0207D22C ldr r0, _0207BE60 ; =0x00000434 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r4, r0] @@ -230404,31 +230404,31 @@ sub_0207BDF4: ; 0x0207BDF4 ldr r0, _0207BE64 ; =0x00000438 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C _0207BE38: ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 pop {r4, pc} _0207BE46: add r0, r4, #0x0 - bl sub_0207D10C + bl FUN_0207D10C mov r2, #0x3 add r3, r2, #0x0 ldr r0, [r4, #0x0] mov r1, #0x2 add r3, #0xfd - bl sub_0201AEE4 + bl FUN_0201AEE4 pop {r4, pc} .balign 4 _0207BE5C: .word 0x0000068C _0207BE60: .word 0x00000434 _0207BE64: .word 0x00000438 - thumb_func_start sub_0207BE68 -sub_0207BE68: ; 0x0207BE68 + thumb_func_start FUN_0207BE68 +FUN_0207BE68: ; 0x0207BE68 push {r4, lr} ldr r1, _0207BF78 ; =0x0000068E add r4, r0, #0x0 @@ -230446,37 +230446,37 @@ _0207BE7E: ldr r0, [r4, #0x0] mov r2, #0x0 add r3, #0xfe - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, [r4, #0x0] mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207C6F0 + bl FUN_0207C6F0 add r0, r4, #0x0 add r0, #0x64 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC ldr r1, _0207BF7C ; =0x00000697 mov r2, #0x0 strb r2, [r4, r1] @@ -230489,14 +230489,14 @@ _0207BE7E: _0207BEEA: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B54 + bl FUN_02017B54 cmp r0, #0x30 ldr r0, [r4, #0x0] blt _0207BF0A mov r1, #0x2 mov r2, #0x3 mov r3, #0x38 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207BF78 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -230505,45 +230505,45 @@ _0207BF0A: mov r1, #0x2 mov r2, #0x4 mov r3, #0x10 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207BF74 _0207BF16: mov r1, #0xb5 - bl sub_0207D924 + bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC ldr r0, _0207BF80 ; =0x00000514 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x52 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207BF84 ; =0x00000504 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207BF88 ; =0x00000508 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207BF8C ; =0x0000050C mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x51 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207C07C + bl FUN_0207C07C mov r0, #0x1 pop {r4, pc} _0207BF74: @@ -230557,8 +230557,8 @@ _0207BF84: .word 0x00000504 _0207BF88: .word 0x00000508 _0207BF8C: .word 0x0000050C - thumb_func_start sub_0207BF90 -sub_0207BF90: ; 0x0207BF90 + thumb_func_start FUN_0207BF90 +FUN_0207BF90: ; 0x0207BF90 push {r4, lr} ldr r1, _0207C078 ; =0x0000068E add r4, r0, #0x0 @@ -230581,26 +230581,26 @@ _0207BFA6: lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC add r0, r4, #0x0 - bl sub_0207D2C8 + bl FUN_0207D2C8 ldr r0, _0207C078 ; =0x0000068E mov r1, #0x1 strb r1, [r4, r0] @@ -230608,14 +230608,14 @@ _0207BFA6: _0207BFF6: ldr r0, [r4, #0x0] mov r1, #0x2 - bl sub_02017B54 + bl FUN_02017B54 cmp r0, #0x8 ldr r0, [r4, #0x0] bgt _0207C016 mov r1, #0x2 mov r2, #0x3 mov r3, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 ldr r0, _0207C078 ; =0x0000068E mov r1, #0x2 strb r1, [r4, r0] @@ -230624,39 +230624,39 @@ _0207C016: mov r1, #0x2 mov r2, #0x5 mov r3, #0x10 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207C072 _0207C022: add r0, r4, #0x0 add r0, #0x64 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x8d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 mov r1, #0xb4 - bl sub_0207D924 + bl FUN_0207D924 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0207C6F0 + bl FUN_0207C6F0 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x1 pop {r4, pc} _0207C072: @@ -230665,8 +230665,8 @@ _0207C072: nop _0207C078: .word 0x0000068E - thumb_func_start sub_0207C07C -sub_0207C07C: ; 0x0207C07C + thumb_func_start FUN_0207C07C +FUN_0207C07C: ; 0x0207C07C push {r4-r6, lr} ldr r2, _0207C1D0 ; =0x00000697 add r5, r0, #0x0 @@ -230789,27 +230789,27 @@ _0207C14A: beq _0207C160 _0207C15A: ldr r0, _0207C1D4 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 _0207C160: ldr r1, _0207C1D0 ; =0x00000697 add r0, r5, #0x0 ldrb r1, [r5, r1] - bl sub_0207C1E8 + bl FUN_0207C1E8 ldr r1, _0207C1D8 ; =0x0000069A strb r0, [r5, r1] add r0, r5, #0x0 - bl sub_0207D3C4 + bl FUN_0207D3C4 ldr r0, _0207C1DC ; =0x00000698 ldrb r0, [r5, r0] cmp r4, r0 beq _0207C182 add r0, r5, #0x0 - bl sub_0207D364 + bl FUN_0207D364 _0207C182: add r0, r5, #0x0 - bl sub_0207E9A0 + bl FUN_0207E9A0 add r0, r5, #0x0 - bl sub_0207E840 + bl FUN_0207E840 ldr r0, _0207C1DC ; =0x00000698 ldrb r0, [r5, r0] cmp r0, #0x0 @@ -230817,12 +230817,12 @@ _0207C182: beq _0207C1A2 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 b _0207C1AA _0207C1A2: ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 _0207C1AA: ldr r0, _0207C1DC ; =0x00000698 ldrb r1, [r5, r0] @@ -230835,12 +230835,12 @@ _0207C1AA: bge _0207C1C6 ldr r0, [r5, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 pop {r4-r6, pc} _0207C1C6: ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 _0207C1CE: pop {r4-r6, pc} .balign 4 @@ -230851,8 +230851,8 @@ _0207C1DC: .word 0x00000698 _0207C1E0: .word 0x00000518 _0207C1E4: .word 0x0000051C - thumb_func_start sub_0207C1E8 -sub_0207C1E8: ; 0x0207C1E8 + thumb_func_start FUN_0207C1E8 +FUN_0207C1E8: ; 0x0207C1E8 push {r4-r7} ldr r2, _0207C238 ; =0x00000698 mov r6, #0x0 @@ -230899,8 +230899,8 @@ _0207C228: .balign 4 _0207C238: .word 0x00000698 - thumb_func_start sub_0207C23C -sub_0207C23C: ; 0x0207C23C + thumb_func_start FUN_0207C23C +FUN_0207C23C: ; 0x0207C23C push {r4, lr} sub sp, #0x8 ldr r1, _0207C29C ; =0x0000029A @@ -230911,12 +230911,12 @@ sub_0207C23C: ; 0x0207C23C mov r0, #0x0 sub r1, #0xda mov r2, #0x13 - bl sub_02002EEC + bl FUN_02002EEC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] ldr r0, [r0, #0x4] - bl sub_02025084 + bl FUN_02025084 lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x0] @@ -230926,10 +230926,10 @@ sub_0207C23C: ; 0x0207C23C ldr r2, _0207C2A0 ; =0x000003E2 mov r1, #0x1 mov r3, #0xd - bl sub_0200CD68 + bl FUN_0200CD68 add r0, r4, #0x0 mov r1, #0xff - bl sub_0207EECC + bl FUN_0207EECC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -230950,54 +230950,54 @@ _0207C28E: _0207C29C: .word 0x0000029A _0207C2A0: .word 0x000003E2 - thumb_func_start sub_0207C2A4 -sub_0207C2A4: ; 0x0207C2A4 + thumb_func_start FUN_0207C2A4 +FUN_0207C2A4: ; 0x0207C2A4 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 - bl sub_0202398C + bl FUN_0202398C str r0, [r5, #0x8] add r0, r4, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [r5, #0xc] add r0, r4, #0x0 - bl sub_020239CC + bl FUN_020239CC strb r0, [r5, #0x10] pop {r3-r5, pc} - thumb_func_start sub_0207C2C4 -sub_0207C2C4: ; 0x0207C2C4 + thumb_func_start FUN_0207C2C4 +FUN_0207C2C4: ; 0x0207C2C4 mov r0, #0x40 bx lr - thumb_func_start sub_0207C2C8 -sub_0207C2C8: ; 0x0207C2C8 + thumb_func_start FUN_0207C2C8 +FUN_0207C2C8: ; 0x0207C2C8 mov r0, #0x41 bx lr - thumb_func_start sub_0207C2CC -sub_0207C2CC: ; 0x0207C2CC + thumb_func_start FUN_0207C2CC +FUN_0207C2CC: ; 0x0207C2CC mov r0, #0x3f bx lr - thumb_func_start sub_0207C2D0 -sub_0207C2D0: ; 0x0207C2D0 + thumb_func_start FUN_0207C2D0 +FUN_0207C2D0: ; 0x0207C2D0 mov r0, #0x3e bx lr - thumb_func_start sub_0207C2D4 -sub_0207C2D4: ; 0x0207C2D4 + thumb_func_start FUN_0207C2D4 +FUN_0207C2D4: ; 0x0207C2D4 push {r3-r5, lr} add r5, r0, #0x0 mov r1, #0x9f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _0207C2F4 mov r0, #0x6 @@ -231035,27 +231035,27 @@ _0207C31E: _0207C326: pop {r3-r5, pc} - thumb_func_start sub_0207C328 -sub_0207C328: ; 0x0207C328 + thumb_func_start FUN_0207C328 +FUN_0207C328: ; 0x0207C328 push {r3-r7, lr} sub sp, #0x50 add r4, r0, #0x0 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x20 mov r1, #0x13 - bl sub_0201C24C + bl FUN_0201C24C mov r0, #0x13 - bl sub_0200BB14 + bl FUN_0200BB14 mov r1, #0x1 lsl r1, r1, #0xa str r0, [r4, r1] ldr r0, [r4, r1] - bl sub_0200BB34 + bl FUN_0200BB34 ldr r7, _0207C3C4 ; =0x00000404 add r2, sp, #0x30 ldr r3, _0207C3C8 ; =0x020FA73C @@ -231082,13 +231082,13 @@ sub_0207C328: ; 0x0207C328 sub r0, r7, #0x4 ldr r0, [r4, r0] mov r3, #0x20 - bl sub_0200BB6C + bl FUN_0200BB6C sub r1, r7, #0x4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x4d - bl sub_0200BBF0 + bl FUN_0200BBF0 ldr r5, _0207C3D0 ; =0x020FA720 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -231104,7 +231104,7 @@ sub_0207C328: ; 0x0207C328 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] - bl sub_0200BD20 + bl FUN_0200BD20 add sp, #0x50 pop {r3-r7, pc} .balign 4 @@ -231113,8 +231113,8 @@ _0207C3C8: .word 0x020FA73C _0207C3CC: .word 0x020FA70C _0207C3D0: .word 0x020FA720 - thumb_func_start sub_0207C3D4 -sub_0207C3D4: ; 0x0207C3D4 + thumb_func_start FUN_0207C3D4 +FUN_0207C3D4: ; 0x0207C3D4 push {r4, lr} mov r1, #0x1 add r4, r0, #0x0 @@ -231122,44 +231122,44 @@ sub_0207C3D4: ; 0x0207C3D4 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] - bl sub_0200BCE0 + bl FUN_0200BCE0 mov r0, #0x1 lsl r0, r0, #0xa ldr r0, [r4, r0] - bl sub_0200BD04 + bl FUN_0200BD04 pop {r4, pc} .balign 4 - thumb_func_start sub_0207C3F4 -sub_0207C3F4: ; 0x0207C3F4 + thumb_func_start FUN_0207C3F4 +FUN_0207C3F4: ; 0x0207C3F4 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207C438 ; =0x0000045C mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 mov r0, #0x46 lsl r0, r0, #0x4 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, _0207C43C ; =0x000004AC mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, _0207C440 ; =0x00000518 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, _0207C444 ; =0x0000051C mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 pop {r4, pc} .balign 4 _0207C438: .word 0x0000045C @@ -231167,8 +231167,8 @@ _0207C43C: .word 0x000004AC _0207C440: .word 0x00000518 _0207C444: .word 0x0000051C - thumb_func_start sub_0207C448 -sub_0207C448: ; 0x0207C448 + thumb_func_start FUN_0207C448 +FUN_0207C448: ; 0x0207C448 push {r3-r7, lr} ldr r6, _0207C550 ; =0x020FA784 ldr r7, _0207C554 ; =0x00000408 @@ -231183,7 +231183,7 @@ _0207C452: ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r6, r2 - bl sub_0200BE38 + bl FUN_0200BE38 lsl r1, r4, #0x2 add r1, r5, r1 str r0, [r1, r7] @@ -231193,92 +231193,92 @@ _0207C452: cmp r4, #0x4d blo _0207C452 add r0, r5, #0x0 - bl sub_0207C7EC + bl FUN_0207C7EC ldr r0, _0207C55C ; =0x0000042C mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C560 ; =0x000004AC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x4b lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C564 ; =0x000004B4 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C568 ; =0x000004B8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C56C ; =0x000004BC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x13 lsl r0, r0, #0x6 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C570 ; =0x000004C4 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C574 ; =0x000004C8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C578 ; =0x000004CC mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C57C ; =0x000004D4 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C580 ; =0x000004D8 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C584 ; =0x00000524 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C588 ; =0x00000528 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C58C ; =0x0000052C mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x53 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C590 ; =0x00000534 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C594 ; =0x00000538 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r7, pc} .balign 4 _0207C550: .word 0x020FA784 @@ -231300,8 +231300,8 @@ _0207C58C: .word 0x0000052C _0207C590: .word 0x00000534 _0207C594: .word 0x00000538 - thumb_func_start sub_0207C598 -sub_0207C598: ; 0x0207C598 + thumb_func_start FUN_0207C598 +FUN_0207C598: ; 0x0207C598 push {r4-r6, lr} mov r5, #0x0 add r6, r0, #0x0 @@ -231309,7 +231309,7 @@ sub_0207C598: ; 0x0207C598 _0207C5A0: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0207B070 + bl FUN_0207B070 cmp r0, #0x0 beq _0207C5B2 add r0, r5, #0x1 @@ -231334,12 +231334,12 @@ _0207C5B2: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0207C5D4 -sub_0207C5D4: ; 0x0207C5D4 + thumb_func_start FUN_0207C5D4 +FUN_0207C5D4: ; 0x0207C5D4 push {r3-r7, lr} sub sp, #0x10 add r7, r0, #0x0 - bl sub_0207C598 + bl FUN_0207C598 str r0, [sp, #0x4] ldr r0, _0207C69C ; =0x00000408 mov r5, #0x0 @@ -231352,18 +231352,18 @@ sub_0207C5D4: ; 0x0207C5D4 _0207C5F0: add r0, r7, #0x0 add r1, r5, #0x0 - bl sub_0207B070 + bl FUN_0207B070 cmp r0, #0x0 bne _0207C608 lsl r0, r5, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 b _0207C68E _0207C608: lsl r6, r5, #0x2 ldr r0, [r4, r6] - bl sub_020201DC + bl FUN_020201DC lsl r0, r0, #0x10 lsr r1, r0, #0x10 ldr r0, _0207C6A0 ; =0x0000068C @@ -231374,20 +231374,20 @@ _0207C608: bhs _0207C636 ldr r0, [r4, r6] add r1, #0x8 - bl sub_02020130 + bl FUN_02020130 b _0207C636 _0207C62A: cmp r1, #0x8 blo _0207C636 ldr r0, [r4, r6] sub r1, #0x8 - bl sub_02020130 + bl FUN_02020130 _0207C636: add r1, sp, #0xc ldr r0, [r4, r6] add r1, #0x2 add r2, sp, #0xc - bl sub_0200C75C + bl FUN_0200C75C ldr r0, _0207C6A0 ; =0x0000068C ldrsb r0, [r7, r0] cmp r0, r5 @@ -231417,10 +231417,10 @@ _0207C65A: add r3, r2, #0x0 mov r2, #0x0 ldrsh r2, [r3, r2] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, [r4, r6] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, [sp, #0x8] add r0, r0, #0x1 lsl r0, r0, #0x18 @@ -231438,19 +231438,19 @@ _0207C68E: _0207C69C: .word 0x00000408 _0207C6A0: .word 0x0000068C - thumb_func_start sub_0207C6A4 -sub_0207C6A4: ; 0x0207C6A4 + thumb_func_start FUN_0207C6A4 +FUN_0207C6A4: ; 0x0207C6A4 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0207B09C + bl FUN_0207B09C cmp r0, #0x1 bhi _0207C6B8 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0207C6F0 + bl FUN_0207C6F0 _0207C6B8: add r0, r5, #0x0 - bl sub_0207C598 + bl FUN_0207C598 add r4, r0, #0x0 ldr r0, _0207C6EC ; =0x0000045C add r1, r4, #0x0 @@ -231459,7 +231459,7 @@ _0207C6B8: ldr r0, [r5, r0] asr r1, r1, #0x10 mov r2, #0x18 - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r1, #0x5d mov r0, #0x46 lsl r1, r1, #0x2 @@ -231469,17 +231469,17 @@ _0207C6B8: ldr r0, [r5, r0] asr r1, r1, #0x10 mov r2, #0x18 - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r5, pc} nop _0207C6EC: .word 0x0000045C - thumb_func_start sub_0207C6F0 -sub_0207C6F0: ; 0x0207C6F0 + thumb_func_start FUN_0207C6F0 +FUN_0207C6F0: ; 0x0207C6F0 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0207B09C + bl FUN_0207B09C cmp r0, #0x1 bhi _0207C700 mov r4, #0x0 @@ -231487,18 +231487,18 @@ _0207C700: ldr r0, _0207C718 ; =0x0000045C add r1, r4, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x46 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, r4, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} .balign 4 _0207C718: .word 0x0000045C - thumb_func_start sub_0207C71C -sub_0207C71C: ; 0x0207C71C + thumb_func_start FUN_0207C71C +FUN_0207C71C: ; 0x0207C71C push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -231521,7 +231521,7 @@ _0207C732: add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x27 - bl sub_0200C9D8 + bl FUN_0200C9D8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x6 @@ -231539,15 +231539,15 @@ _0207C732: mov r2, #0x27 ldrb r3, [r3, r4] add r3, #0x25 - bl sub_0200CA0C + bl FUN_0200CA0C add sp, #0x8 pop {r4, pc} nop _0207C774: .word 0x00000263 _0207C778: .word 0x020FA6F8 - thumb_func_start sub_0207C77C -sub_0207C77C: ; 0x0207C77C + thumb_func_start FUN_0207C77C +FUN_0207C77C: ; 0x0207C77C push {r4, lr} add r4, r0, #0x0 mov r0, #0x2a @@ -231560,11 +231560,11 @@ sub_0207C77C: ; 0x0207C77C ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C7E8 ; =0x00000538 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} _0207C7A4: cmp r0, #0x0 @@ -231572,11 +231572,11 @@ _0207C7A4: beq _0207C7D0 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r1, #0x2a lsl r1, r1, #0x4 ldr r0, _0207C7E4 ; =0x00000458 @@ -231584,26 +231584,26 @@ _0207C7A4: ldr r0, [r4, r0] lsl r1, r1, #0x4 lsr r1, r1, #0x4 - bl sub_02020130 + bl FUN_02020130 pop {r4, pc} _0207C7D0: ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207C7E4 ; =0x00000458 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} .balign 4 _0207C7E4: .word 0x00000458 _0207C7E8: .word 0x00000538 - thumb_func_start sub_0207C7EC -sub_0207C7EC: ; 0x0207C7EC + thumb_func_start FUN_0207C7EC +FUN_0207C7EC: ; 0x0207C7EC push {r3-r7, lr} add r5, r0, #0x0 - bl sub_0207CA44 + bl FUN_0207CA44 mov r6, #0xa1 mov r4, #0x0 mov r7, #0x3 @@ -231615,7 +231615,7 @@ _0207C7FC: cmp r0, #0x0 beq _0207C826 add r1, r7, #0x0 - bl sub_0206AB18 + bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd @@ -231627,7 +231627,7 @@ _0207C7FC: lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0207CA6C + bl FUN_0207CA6C _0207C826: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -231635,11 +231635,11 @@ _0207C826: cmp r4, #0x4 blo _0207C7FC add r0, r5, #0x0 - bl sub_0207CFEC + bl FUN_0207CFEC pop {r3-r7, pc} - thumb_func_start sub_0207C838 -sub_0207C838: ; 0x0207C838 + thumb_func_start FUN_0207C838 +FUN_0207C838: ; 0x0207C838 push {r3-r7, lr} ldr r6, _0207CA2C ; =0x00000408 add r5, r0, #0x0 @@ -231650,7 +231650,7 @@ _0207C842: add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 - bl sub_0200C63C + bl FUN_0200C63C add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -231671,7 +231671,7 @@ _0207C86C: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_0200C63C + bl FUN_0200C63C mov r0, #0x26 lsl r0, r0, #0x4 ldrb r1, [r5, r0] @@ -231683,22 +231683,22 @@ _0207C86C: ldr r0, [r5, r0] mov r1, #0xd8 mov r2, #0x50 - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r7, pc} _0207C892: ldr r0, [r5, r0] mov r1, #0xc7 mov r2, #0x50 - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x1 ldr r0, [r5, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207CA38 ; =0x00000438 mov r1, #0xe9 ldr r0, [r5, r0] mov r2, #0x50 - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r7, pc} _0207C8B4: mov r7, #0xa1 @@ -231711,7 +231711,7 @@ _0207C8BA: cmp r0, #0x0 beq _0207C904 mov r1, #0x3 - bl sub_0206AB18 + bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd @@ -231723,13 +231723,13 @@ _0207C8BA: lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0207CA6C + bl FUN_0207CA6C lsl r0, r4, #0x2 add r6, r5, r0 ldr r0, _0207CA3C ; =0x0000043C mov r1, #0x1 ldr r0, [r6, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207CA3C ; =0x0000043C lsl r2, r4, #0x5 add r2, #0x2a @@ -231737,7 +231737,7 @@ _0207C8BA: ldr r0, [r6, r0] mov r1, #0x97 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 _0207C904: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -231751,40 +231751,40 @@ _0207C904: cmp r0, #0x0 beq _0207C946 mov r1, #0x3 - bl sub_0206AB18 + bl FUN_0206AB18 add r3, r0, #0x0 lsl r3, r3, #0x18 add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x9 lsr r3, r3, #0x18 - bl sub_0207CA6C + bl FUN_0207CA6C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x1 ldr r0, [r5, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x97 ldr r0, [r5, r0] mov r2, #0xaa - bl sub_0200C6E4 + bl FUN_0200C6E4 _0207C946: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x3f ldr r0, [r5, r0] mov r2, #0x34 - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x61 ldr r0, [r5, r0] mov r2, #0x34 - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x6c mov r2, #0x48 - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r7, pc} _0207C96E: mov r7, #0xa1 @@ -231797,7 +231797,7 @@ _0207C974: cmp r0, #0x0 beq _0207C9C0 mov r1, #0xb - bl sub_0206AB18 + bl FUN_0206AB18 add r3, r0, #0x0 add r1, r4, #0x0 add r1, #0xd @@ -231810,13 +231810,13 @@ _0207C974: lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl sub_0207CA6C + bl FUN_0207CA6C lsl r0, r4, #0x2 add r6, r5, r0 ldr r0, _0207CA3C ; =0x0000043C mov r1, #0x1 ldr r0, [r6, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207CA3C ; =0x0000043C lsl r2, r4, #0x5 add r2, #0x2a @@ -231824,7 +231824,7 @@ _0207C974: ldr r0, [r6, r0] mov r1, #0x97 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 _0207C9C0: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -231838,7 +231838,7 @@ _0207C9C0: cmp r0, #0x0 beq _0207CA04 mov r1, #0xb - bl sub_0206AB18 + bl FUN_0206AB18 add r3, r0, #0x0 add r3, #0x12 lsl r3, r3, #0x18 @@ -231846,33 +231846,33 @@ _0207C9C0: mov r1, #0x11 mov r2, #0x9 lsr r3, r3, #0x18 - bl sub_0207CA6C + bl FUN_0207CA6C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x1 ldr r0, [r5, r0] - bl sub_0200C63C + bl FUN_0200C63C ldr r0, _0207CA40 ; =0x0000044C mov r1, #0x97 ldr r0, [r5, r0] mov r2, #0xaa - bl sub_0200C6E4 + bl FUN_0200C6E4 _0207CA04: ldr r0, _0207CA34 ; =0x00000434 mov r1, #0x3f ldr r0, [r5, r0] mov r2, #0x34 - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207CA38 ; =0x00000438 mov r1, #0x61 ldr r0, [r5, r0] mov r2, #0x34 - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x6c mov r2, #0x48 - bl sub_0200C6E4 + bl FUN_0200C6E4 pop {r3-r7, pc} .balign 4 _0207CA2C: .word 0x00000408 @@ -231882,8 +231882,8 @@ _0207CA38: .word 0x00000438 _0207CA3C: .word 0x0000043C _0207CA40: .word 0x0000044C - thumb_func_start sub_0207CA44 -sub_0207CA44: ; 0x0207CA44 + thumb_func_start FUN_0207CA44 +FUN_0207CA44: ; 0x0207CA44 push {r4, lr} mov r3, #0x26 add r4, r0, #0x0 @@ -231891,29 +231891,29 @@ sub_0207CA44: ; 0x0207CA44 ldrb r3, [r4, r3] mov r1, #0xb mov r2, #0x3 - bl sub_0207CA6C + bl FUN_0207CA6C ldr r3, _0207CA68 ; =0x00000261 add r0, r4, #0x0 ldrb r3, [r4, r3] mov r1, #0xc mov r2, #0x4 - bl sub_0207CA6C + bl FUN_0207CA6C pop {r4, pc} nop _0207CA68: .word 0x00000261 - thumb_func_start sub_0207CA6C -sub_0207CA6C: ; 0x0207CA6C + thumb_func_start FUN_0207CA6C +FUN_0207CA6C: ; 0x0207CA6C push {r4-r7, lr} sub sp, #0xc add r7, r3, #0x0 add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0206E12C + bl FUN_0206E12C str r0, [sp, #0x8] add r0, r7, #0x0 - bl sub_0206E0F0 + bl FUN_0206E0F0 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -231923,24 +231923,24 @@ sub_0207CA6C: ; 0x0207CA6C ldr r0, [r5, r0] ldr r1, [r5, r1] ldr r2, [sp, #0x8] - bl sub_0200C9D8 + bl FUN_0200C9D8 add r0, r7, #0x0 - bl sub_0206E114 + bl FUN_0206E114 add r2, r0, #0x0 lsl r0, r4, #0x2 add r1, r5, r0 ldr r0, _0207CAB8 ; =0x00000408 ldr r0, [r1, r0] add r1, r2, #0x3 - bl sub_0200C664 + bl FUN_0200C664 add sp, #0xc pop {r4-r7, pc} .balign 4 _0207CAB4: .word 0x00000404 _0207CAB8: .word 0x00000408 - thumb_func_start sub_0207CABC -sub_0207CABC: ; 0x0207CABC + thumb_func_start FUN_0207CABC +FUN_0207CABC: ; 0x0207CABC push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -231959,7 +231959,7 @@ _0207CAD6: ldr r1, [sp, #0x4] ldr r0, [r5, r0] add r2, r4, #0x0 - bl sub_0200C75C + bl FUN_0200C75C mov r0, #0x0 ldrsh r0, [r4, r0] cmp r7, r0 @@ -231980,8 +231980,8 @@ _0207CAF2: nop _0207CB04: .word 0x0000043C - thumb_func_start sub_0207CB08 -sub_0207CB08: ; 0x0207CB08 + thumb_func_start FUN_0207CB08 +FUN_0207CB08: ; 0x0207CB08 push {r0-r3} push {r4, lr} sub sp, #0x8 @@ -231990,13 +231990,13 @@ sub_0207CB08: ; 0x0207CB08 add r2, #0x2 add r3, sp, #0x4 add r4, r0, #0x0 - bl sub_0207CABC + bl FUN_0207CABC add r2, sp, #0x0 add r0, r4, #0x0 add r1, sp, #0x18 add r2, #0x2 add r3, sp, #0x0 - bl sub_0207CABC + bl FUN_0207CABC add r0, sp, #0x10 ldrb r0, [r0, #0x4] add r3, sp, #0x0 @@ -232009,7 +232009,7 @@ sub_0207CB08: ; 0x0207CB08 ldr r0, [r1, r0] mov r1, #0x2 ldrsh r1, [r3, r1] - bl sub_0200C6E4 + bl FUN_0200C6E4 add r0, sp, #0x10 ldrb r0, [r0, #0x8] add r3, sp, #0x0 @@ -232022,7 +232022,7 @@ sub_0207CB08: ; 0x0207CB08 ldr r0, [r1, r0] mov r1, #0x6 ldrsh r1, [r3, r1] - bl sub_0200C6E4 + bl FUN_0200C6E4 add sp, #0x8 pop {r4} pop {r3} @@ -232031,19 +232031,19 @@ sub_0207CB08: ; 0x0207CB08 .balign 4 _0207CB6C: .word 0x00000408 - thumb_func_start sub_0207CB70 -sub_0207CB70: ; 0x0207CB70 + thumb_func_start FUN_0207CB70 +FUN_0207CB70: ; 0x0207CB70 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 mov r1, #0x1 - bl sub_0206AB18 + bl FUN_0206AB18 add r4, r0, #0x0 - bl sub_0206E2A8 + bl FUN_0206E2A8 add r6, r0, #0x0 add r0, r4, #0x0 - bl sub_0206E278 + bl FUN_0206E278 mov r1, #0x1 add r3, r0, #0x0 str r1, [sp, #0x0] @@ -232054,22 +232054,22 @@ sub_0207CB70: ; 0x0207CB70 ldr r0, [r5, r0] ldr r1, [r5, r1] add r2, r6, #0x0 - bl sub_0200C9D8 + bl FUN_0200C9D8 add r0, r4, #0x0 - bl sub_0206E290 + bl FUN_0206E290 add r1, r0, #0x0 mov r0, #0x45 lsl r0, r0, #0x4 ldr r0, [r5, r0] add r1, r1, #0x3 - bl sub_0200C664 + bl FUN_0200C664 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207CBBC: .word 0x00000404 - thumb_func_start sub_0207CBC0 -sub_0207CBC0: ; 0x0207CBC0 + thumb_func_start FUN_0207CBC0 +FUN_0207CBC0: ; 0x0207CBC0 ldr r2, _0207CBDC ; =0x0000068D add r3, r0, #0x0 ldrb r2, [r3, r2] @@ -232081,16 +232081,16 @@ sub_0207CBC0: ; 0x0207CBC0 ldr r0, [r3, r0] add r2, #0x30 lsl r2, r2, #0x10 - ldr r3, _0207CBE4 ; =sub_0200C6E4 + ldr r3, _0207CBE4 ; =FUN_0200C6E4 asr r2, r2, #0x10 bx r3 .balign 4 _0207CBDC: .word 0x0000068D _0207CBE0: .word 0x0000042C -_0207CBE4: .word sub_0200C6E4 + 1 +_0207CBE4: .word FUN_0200C6E4 + 1 - thumb_func_start sub_0207CBE8 -sub_0207CBE8: ; 0x0207CBE8 + thumb_func_start FUN_0207CBE8 +FUN_0207CBE8: ; 0x0207CBE8 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 @@ -232099,7 +232099,7 @@ sub_0207CBE8: ; 0x0207CBE8 ldr r0, [r4, r0] add r1, #0x2 add r2, sp, #0x0 - bl sub_0200C75C + bl FUN_0200C75C mov r0, #0x43 lsl r0, r0, #0x4 add r3, sp, #0x0 @@ -232108,19 +232108,19 @@ sub_0207CBE8: ; 0x0207CBE8 ldrsh r1, [r3, r1] ldrsh r2, [r3, r2] ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0x43 lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207CC20: .word 0x0000042C - thumb_func_start sub_0207CC24 -sub_0207CC24: ; 0x0207CC24 + thumb_func_start FUN_0207CC24 +FUN_0207CC24: ; 0x0207CC24 push {r3-r7, lr} mov r2, #0x69 lsl r2, r2, #0x4 @@ -232159,10 +232159,10 @@ _0207CC5A: _0207CC64: ldr r0, [r5, r7] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, [r5, r6] mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x28 @@ -232172,8 +232172,8 @@ _0207CC64: _0207CC80: .word 0x0000029A _0207CC84: .word 0x00000408 - thumb_func_start sub_0207CC88 -sub_0207CC88: ; 0x0207CC88 + thumb_func_start FUN_0207CC88 +FUN_0207CC88: ; 0x0207CC88 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, _0207CE38 ; =0x0000068C @@ -232252,23 +232252,23 @@ _0207CDE8: add r5, #0x74 _0207CDFA: ldr r0, [r5, r7] - bl sub_02020128 + bl FUN_02020128 cmp r0, #0x0 beq _0207CE26 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x1 ldr r0, [r5, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 ldr r0, _0207CE3C ; =0x00000408 ldr r0, [r5, r0] - bl sub_0202022C + bl FUN_0202022C cmp r0, #0x6 bne _0207CE26 ldr r0, _0207CE3C ; =0x00000408 mov r1, #0x0 ldr r0, [r5, r0] - bl sub_020200A0 + bl FUN_020200A0 _0207CE26: ldr r0, _0207CE48 ; =0x00000691 add r6, r6, #0x1 @@ -232286,8 +232286,8 @@ _0207CE40: .byte 0x92, 0x06, 0x00, 0x00, 0x93, 0x06, 0x00, 0x00 _0207CE48: .word 0x00000691 - thumb_func_start sub_0207CE4C -sub_0207CE4C: ; 0x0207CE4C + thumb_func_start FUN_0207CE4C +FUN_0207CE4C: ; 0x0207CE4C push {r3-r7, lr} add r6, r0, #0x0 mov r4, #0x0 @@ -232304,12 +232304,12 @@ _0207CE56: beq _0207CE70 ldr r0, [r5, r0] add r1, r7, #0x0 - bl sub_02020130 + bl FUN_02020130 b _0207CE78 _0207CE70: ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 _0207CE78: add r4, r4, #0x1 add r5, r5, #0x4 @@ -232328,13 +232328,13 @@ _0207CE78: ldr r0, _0207CED8 ; =0x000004DC mov r1, #0x1 ldr r0, [r6, r0] - bl sub_0200C63C + bl FUN_0200C63C b _0207CEAA _0207CEA0: ldr r0, _0207CED8 ; =0x000004DC mov r1, #0x0 ldr r0, [r6, r0] - bl sub_0200C63C + bl FUN_0200C63C _0207CEAA: mov r0, #0x2a lsl r0, r0, #0x4 @@ -232346,41 +232346,41 @@ _0207CEAA: lsl r0, r0, #0x4 ldr r0, [r6, r0] mov r1, #0x1 - bl sub_0200C63C + bl FUN_0200C63C pop {r3-r7, pc} _0207CEC4: mov r0, #0x4e lsl r0, r0, #0x4 ldr r0, [r6, r0] mov r1, #0x0 - bl sub_0200C63C + bl FUN_0200C63C pop {r3-r7, pc} nop _0207CED4: .word 0x00000464 _0207CED8: .word 0x000004DC - thumb_func_start sub_0207CEDC -sub_0207CEDC: ; 0x0207CEDC + thumb_func_start FUN_0207CEDC +FUN_0207CEDC: ; 0x0207CEDC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_02020208 + bl FUN_02020208 ldr r0, _0207CF50 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_02020130 + bl FUN_02020130 add r1, sp, #0x0 add r0, r4, #0x0 add r1, #0x2 add r2, sp, #0x0 - bl sub_0207FC04 + bl FUN_0207FC04 ldr r0, _0207CF54 ; =0x0000068F add r3, sp, #0x0 ldrb r0, [r4, r0] @@ -232396,7 +232396,7 @@ sub_0207CEDC: ; 0x0207CEDC lsl r2, r2, #0x10 ldr r0, [r4, r0] asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 add sp, #0x4 pop {r3-r4, pc} _0207CF32: @@ -232411,33 +232411,33 @@ _0207CF32: lsl r2, r2, #0x10 asr r1, r1, #0x10 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 add sp, #0x4 pop {r3-r4, pc} .balign 4 _0207CF50: .word 0x000004AC _0207CF54: .word 0x0000068F - thumb_func_start sub_0207CF58 -sub_0207CF58: ; 0x0207CF58 + thumb_func_start FUN_0207CF58 +FUN_0207CF58: ; 0x0207CF58 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207CF74 ; =0x000004AC ldr r0, [r4, r0] - bl sub_0202022C + bl FUN_0202022C cmp r0, #0x2 bne _0207CF72 ldr r0, _0207CF74 ; =0x000004AC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 _0207CF72: pop {r4, pc} .balign 4 _0207CF74: .word 0x000004AC - thumb_func_start sub_0207CF78 -sub_0207CF78: ; 0x0207CF78 + thumb_func_start FUN_0207CF78 +FUN_0207CF78: ; 0x0207CF78 push {r3-r7, lr} ldr r7, _0207CFA8 ; =0x0000068E add r5, r0, #0x0 @@ -232455,7 +232455,7 @@ _0207CF82: lsl r0, r0, #0x4 ldr r0, [r1, r0] add r1, r6, #0x0 - bl sub_020200A0 + bl FUN_020200A0 _0207CF9C: add r0, r4, #0x1 lsl r0, r0, #0x18 @@ -232466,8 +232466,8 @@ _0207CF9C: .balign 4 _0207CFA8: .word 0x0000068E - thumb_func_start sub_0207CFAC -sub_0207CFAC: ; 0x0207CFAC + thumb_func_start FUN_0207CFAC +FUN_0207CFAC: ; 0x0207CFAC push {r4, lr} add r4, r0, #0x0 cmp r1, #0x0 @@ -232475,11 +232475,11 @@ sub_0207CFAC: ; 0x0207CFAC ldr r0, _0207CFE8 ; =0x000004C4 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} _0207CFC0: add r0, r1, #0x0 - bl sub_0201AB14 + bl FUN_0201AB14 add r1, r0, #0x0 ldr r0, _0207CFE8 ; =0x000004C4 lsl r1, r1, #0x3 @@ -232488,31 +232488,31 @@ _0207CFC0: ldr r0, [r4, r0] asr r1, r1, #0x10 mov r2, #0x8 - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207CFE8 ; =0x000004C4 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} nop _0207CFE8: .word 0x000004C4 - thumb_func_start sub_0207CFEC -sub_0207CFEC: ; 0x0207CFEC + thumb_func_start FUN_0207CFEC +FUN_0207CFEC: ; 0x0207CFEC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_0207B628 + bl FUN_0207B628 mov r1, #0x93 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldrb r1, [r1, #0x11] cmp r1, #0x2 bne _0207D008 - bl sub_0206B688 + bl FUN_0206B688 b _0207D00C _0207D008: - bl sub_0206B6C8 + bl FUN_0206B6C8 _0207D00C: add r3, r0, #0x0 mov r0, #0x0 @@ -232525,7 +232525,7 @@ _0207D00C: add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x13 - bl sub_0200C9D8 + bl FUN_0200C9D8 mov r2, #0x97 lsl r2, r2, #0x2 add r1, r2, #0x0 @@ -232536,34 +232536,34 @@ _0207D00C: ldrh r1, [r4, r1] lsl r2, r2, #0x3 lsr r2, r2, #0x1f - bl sub_0206B7BC + bl FUN_0206B7BC add r1, r0, #0x0 ldr r0, _0207D068 ; =0x00000454 add r1, r1, #0x7 ldr r0, [r4, r0] - bl sub_0200C664 + bl FUN_0200C664 mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x1c - bl sub_02068678 + bl FUN_02068678 add r2, r0, #0x0 ldr r0, _0207D068 ; =0x00000454 mov r1, #0x1 ldr r0, [r4, r0] eor r1, r2 - bl sub_02020100 + bl FUN_02020100 add sp, #0x8 pop {r4, pc} .balign 4 _0207D068: .word 0x00000454 - thumb_func_start sub_0207D06C -sub_0207D06C: ; 0x0207D06C + thumb_func_start FUN_0207D06C +FUN_0207D06C: ; 0x0207D06C push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 - bl sub_0206B888 + bl FUN_0206B888 add r3, r0, #0x0 mov r0, #0x0 mov r1, #0x1 @@ -232575,7 +232575,7 @@ sub_0207D06C: ; 0x0207D06C add r1, r1, #0x4 ldr r1, [r4, r1] mov r2, #0x13 - bl sub_0200CA0C + bl FUN_0200CA0C ldr r0, _0207D0C0 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x3 @@ -232584,26 +232584,26 @@ sub_0207D06C: ; 0x0207D06C ldr r0, [r4, r0] mov r1, #0x18 mov r2, #0x30 - bl sub_0200C6E4 + bl FUN_0200C6E4 b _0207D0B0 _0207D0A6: ldr r0, [r4, r0] mov r1, #0x20 mov r2, #0x44 - bl sub_0200C6E4 + bl FUN_0200C6E4 _0207D0B0: ldr r0, _0207D0C4 ; =0x00000454 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_0200C63C + bl FUN_0200C63C add sp, #0x8 pop {r4, pc} nop _0207D0C0: .word 0x0000068C _0207D0C4: .word 0x00000454 - thumb_func_start sub_0207D0C8 -sub_0207D0C8: ; 0x0207D0C8 + thumb_func_start FUN_0207D0C8 +FUN_0207D0C8: ; 0x0207D0C8 push {r4, lr} add r4, r2, #0x0 cmp r4, r1 @@ -232614,7 +232614,7 @@ sub_0207D0C8: ; 0x0207D0C8 lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #0x2 - blx sub_020EBE8C + blx FUN_020EBE8C lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 @@ -232629,7 +232629,7 @@ _0207D0EE: lsl r0, r1, #0x10 mov r1, #0x4b lsl r1, r1, #0x2 - blx sub_020EBE8C + blx FUN_020EBE8C lsr r0, r0, #0x10 lsl r0, r0, #0x10 asr r0, r0, #0x10 @@ -232638,114 +232638,114 @@ _0207D0EE: asr r0, r0, #0x10 pop {r4, pc} - thumb_func_start sub_0207D10C -sub_0207D10C: ; 0x0207D10C + thumb_func_start FUN_0207D10C +FUN_0207D10C: ; 0x0207D10C push {r3-r5, lr} add r4, r0, #0x0 ldr r0, _0207D20C ; =0x00000295 mov r1, #0x58 ldrb r0, [r4, r0] add r2, r1, #0x0 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D20C ; =0x00000295 mov r1, #0x31 ldrb r0, [r4, r0] mov r2, #0x49 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D210 ; =0x000004C8 add r1, r5, #0x0 ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207D214 ; =0x00000296 mov r1, #0x6e ldrb r0, [r4, r0] mov r2, #0x58 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D214 ; =0x00000296 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x49 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D218 ; =0x000004CC add r1, r5, #0x0 ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207D21C ; =0x00000297 mov r1, #0x67 ldrb r0, [r4, r0] mov r2, #0x58 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D21C ; =0x00000297 mov r1, #0x5c ldrb r0, [r4, r0] mov r2, #0x49 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r2, r0, #0x0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] add r1, r5, #0x0 - bl sub_0200C6E4 + bl FUN_0200C6E4 mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r0, [r4, r0] mov r1, #0x48 mov r2, #0x57 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r5, r0, #0x0 mov r0, #0xa6 lsl r0, r0, #0x2 ldrb r0, [r4, r0] mov r1, #0x5c mov r2, #0x49 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D220 ; =0x000004D4 add r1, r5, #0x0 ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207D224 ; =0x00000299 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x57 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r5, r0, #0x0 ldr r0, _0207D224 ; =0x00000299 mov r1, #0x41 ldrb r0, [r4, r0] mov r2, #0x49 - bl sub_0207D0C8 + bl FUN_0207D0C8 add r2, r0, #0x0 ldr r0, _0207D228 ; =0x000004D8 add r1, r5, #0x0 ldr r0, [r4, r0] - bl sub_0200C6E4 + bl FUN_0200C6E4 ldr r0, _0207D210 ; =0x000004C8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D218 ; =0x000004CC mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D220 ; =0x000004D4 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D228 ; =0x000004D8 mov r1, #0x1 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r3-r5, pc} nop _0207D20C: .word 0x00000295 @@ -232757,31 +232757,31 @@ _0207D220: .word 0x000004D4 _0207D224: .word 0x00000299 _0207D228: .word 0x000004D8 - thumb_func_start sub_0207D22C -sub_0207D22C: ; 0x0207D22C + thumb_func_start FUN_0207D22C +FUN_0207D22C: ; 0x0207D22C push {r4, lr} add r4, r0, #0x0 ldr r0, _0207D268 ; =0x000004C8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D26C ; =0x000004CC mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x4d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D270 ; =0x000004D4 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 ldr r0, _0207D274 ; =0x000004D8 mov r1, #0x0 ldr r0, [r4, r0] - bl sub_020200A0 + bl FUN_020200A0 pop {r4, pc} nop _0207D268: .word 0x000004C8 @@ -232789,8 +232789,8 @@ _0207D26C: .word 0x000004CC _0207D270: .word 0x000004D4 _0207D274: .word 0x000004D8 - thumb_func_start sub_0207D278 -sub_0207D278: ; 0x0207D278 + thumb_func_start FUN_0207D278 +FUN_0207D278: ; 0x0207D278 push {r4-r6, lr} sub sp, #0x8 add r6, r1, #0x0 @@ -232798,7 +232798,7 @@ sub_0207D278: ; 0x0207D278 add r0, r6, #0x0 mov r1, #0x1 add r4, r2, #0x0 - bl sub_0207FC5C + bl FUN_0207FC5C add r3, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -232811,10 +232811,10 @@ sub_0207D278: ; 0x0207D278 add r1, r1, #0x4 ldr r1, [r5, r1] mov r2, #0x27 - bl sub_0200C9D8 + bl FUN_0200C9D8 add r0, r6, #0x0 mov r1, #0x2 - bl sub_0207FC5C + bl FUN_0207FC5C add r4, #0x37 add r2, r0, #0x0 lsl r0, r4, #0x2 @@ -232822,14 +232822,14 @@ sub_0207D278: ; 0x0207D278 ldr r0, _0207D2C4 ; =0x00000408 ldr r0, [r1, r0] add r1, r2, #0x7 - bl sub_0200C664 + bl FUN_0200C664 add sp, #0x8 pop {r4-r6, pc} .balign 4 _0207D2C4: .word 0x00000408 - thumb_func_start sub_0207D2C8 -sub_0207D2C8: ; 0x0207D2C8 + thumb_func_start FUN_0207D2C8 +FUN_0207D2C8: ; 0x0207D2C8 push {r3-r7, lr} sub sp, #0x8 ldr r6, _0207D354 ; =0x00000408 @@ -232841,7 +232841,7 @@ _0207D2D4: add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 - bl sub_020200A0 + bl FUN_020200A0 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -232862,7 +232862,7 @@ _0207D2D4: ldr r1, [r5, r1] mov r2, #0x27 mov r3, #0x88 - bl sub_0200CA0C + bl FUN_0200CA0C ldr r7, _0207D35C ; =0x000004E4 ldr r6, _0207D360 ; =0x00000699 mov r4, #0x0 @@ -232874,16 +232874,16 @@ _0207D312: add r0, r5, r0 ldr r0, [r0, r7] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_0207C1E8 + bl FUN_0207C1E8 lsl r2, r4, #0x18 add r1, r0, #0x0 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_0207D278 + bl FUN_0207D278 _0207D33A: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -232894,7 +232894,7 @@ _0207D33A: lsl r0, r0, #0x4 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 _0207D350: add sp, #0x8 pop {r3-r7, pc} @@ -232904,8 +232904,8 @@ _0207D358: .word 0x0000068C _0207D35C: .word 0x000004E4 _0207D360: .word 0x00000699 - thumb_func_start sub_0207D364 -sub_0207D364: ; 0x0207D364 + thumb_func_start FUN_0207D364 +FUN_0207D364: ; 0x0207D364 push {r3-r7, lr} ldr r7, _0207D3BC ; =0x00000698 add r5, r0, #0x0 @@ -232923,16 +232923,16 @@ _0207D36E: ldr r0, _0207D3C0 ; =0x000004E4 ldr r0, [r1, r0] mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 lsl r1, r4, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_0207C1E8 + bl FUN_0207C1E8 lsl r2, r4, #0x18 add r1, r0, #0x0 add r0, r5, #0x0 lsr r2, r2, #0x18 - bl sub_0207D278 + bl FUN_0207D278 b _0207D3AE _0207D3A0: lsl r0, r4, #0x2 @@ -232940,7 +232940,7 @@ _0207D3A0: ldr r0, _0207D3C0 ; =0x000004E4 ldr r0, [r1, r0] mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 _0207D3AE: add r0, r4, #0x1 lsl r0, r0, #0x10 @@ -232952,8 +232952,8 @@ _0207D3AE: _0207D3BC: .word 0x00000698 _0207D3C0: .word 0x000004E4 - thumb_func_start sub_0207D3C4 -sub_0207D3C4: ; 0x0207D3C4 + thumb_func_start FUN_0207D3C4 +FUN_0207D3C4: ; 0x0207D3C4 ldr r1, _0207D3E8 ; =0x00000697 ldrb r2, [r0, r1] ldr r1, _0207D3EC ; =0x00000514 @@ -232967,23 +232967,23 @@ sub_0207D3C4: ; 0x0207D3C4 add r2, #0x38 lsl r1, r1, #0x10 lsl r2, r2, #0x10 - ldr r3, _0207D3F0 ; =sub_0200C6E4 + ldr r3, _0207D3F0 ; =FUN_0200C6E4 asr r1, r1, #0x10 asr r2, r2, #0x10 bx r3 nop _0207D3E8: .word 0x00000697 _0207D3EC: .word 0x00000514 -_0207D3F0: .word sub_0200C6E4 + 1 +_0207D3F0: .word FUN_0200C6E4 + 1 - thumb_func_start sub_0207D3F4 -sub_0207D3F4: ; 0x0207D3F4 + thumb_func_start FUN_0207D3F4 +FUN_0207D3F4: ; 0x0207D3F4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x52 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02020128 + bl FUN_02020128 cmp r0, #0x1 bne _0207D414 mov r0, #0x52 @@ -232991,13 +232991,13 @@ sub_0207D3F4: ; 0x0207D3F4 mov r1, #0x1 ldr r0, [r4, r0] lsl r1, r1, #0xc - bl sub_020201E4 + bl FUN_020201E4 _0207D414: pop {r4, pc} .balign 4 - thumb_func_start sub_0207D418 -sub_0207D418: ; 0x0207D418 + thumb_func_start FUN_0207D418 +FUN_0207D418: ; 0x0207D418 push {r3-r7, lr} add r5, r0, #0x0 cmp r1, #0x0 @@ -233010,7 +233010,7 @@ _0207D426: add r0, r5, r0 ldr r0, [r0, r6] add r1, r7, #0x0 - bl sub_020200A0 + bl FUN_020200A0 add r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 @@ -233050,21 +233050,21 @@ _0207D46E: ldr r3, _0207D4D0 ; =0x020FA75C ldr r0, [r5, r0] add r2, r4, #0x0 - bl sub_0207D4F4 + bl FUN_0207D4F4 ldr r1, _0207D4D4 ; =0x00000296 ldr r0, _0207D4D8 ; =0x00000528 ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4DC ; =0x020FA764 add r2, r4, #0x0 - bl sub_0207D4F4 + bl FUN_0207D4F4 ldr r1, _0207D4C8 ; =0x00000297 ldr r0, _0207D4E0 ; =0x0000052C ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4E4 ; =0x020FA76C add r2, r4, #0x0 - bl sub_0207D4F4 + bl FUN_0207D4F4 mov r1, #0x53 lsl r1, r1, #0x4 ldr r0, [r5, r1] @@ -233072,14 +233072,14 @@ _0207D46E: ldrb r1, [r5, r1] ldr r3, _0207D4E8 ; =0x020FA774 add r2, r4, #0x0 - bl sub_0207D4F4 + bl FUN_0207D4F4 ldr r1, _0207D4CC ; =0x00000299 ldr r0, _0207D4EC ; =0x00000534 ldrb r1, [r5, r1] ldr r0, [r5, r0] ldr r3, _0207D4F0 ; =0x020FA77C add r2, r4, #0x0 - bl sub_0207D4F4 + bl FUN_0207D4F4 pop {r3-r7, pc} nop _0207D4C0: .word 0x00000524 @@ -233096,8 +233096,8 @@ _0207D4E8: .word 0x020FA774 _0207D4EC: .word 0x00000534 _0207D4F0: .word 0x020FA77C - thumb_func_start sub_0207D4F4 -sub_0207D4F4: ; 0x0207D4F4 + thumb_func_start FUN_0207D4F4 +FUN_0207D4F4: ; 0x0207D4F4 push {r4-r6, lr} add r5, r1, #0x0 add r6, r0, #0x0 @@ -233109,11 +233109,11 @@ sub_0207D4F4: ; 0x0207D4F4 _0207D504: add r0, r6, #0x0 mov r1, #0x0 - bl sub_020200A0 + bl FUN_020200A0 pop {r4-r6, pc} _0207D50E: mov r1, #0x1 - bl sub_020200A0 + bl FUN_020200A0 mov r0, #0x0 ldrsh r1, [r4, r0] mov r0, #0x4 @@ -233173,17 +233173,17 @@ _0207D578: add r0, r6, #0x0 asr r1, r1, #0x10 asr r2, r2, #0x10 - bl sub_0200C6E4 + bl FUN_0200C6E4 add r0, r6, #0x0 mov r1, #0x0 - bl sub_02020208 + bl FUN_02020208 add r0, r6, #0x0 mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 pop {r4-r6, pc} - thumb_func_start sub_0207D598 -sub_0207D598: ; 0x0207D598 + thumb_func_start FUN_0207D598 +FUN_0207D598: ; 0x0207D598 push {r3-r7, lr} mov r7, #0x1 ldr r6, _0207D5B8 ; =0x00000524 @@ -233193,7 +233193,7 @@ sub_0207D598: ; 0x0207D598 _0207D5A4: ldr r0, [r5, r6] add r1, r7, #0x0 - bl sub_020201E4 + bl FUN_020201E4 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x5 @@ -233202,8 +233202,8 @@ _0207D5A4: nop _0207D5B8: .word 0x00000524 - thumb_func_start sub_0207D5BC -sub_0207D5BC: ; 0x0207D5BC + thumb_func_start FUN_0207D5BC +FUN_0207D5BC: ; 0x0207D5BC push {r3-r7, lr} add r7, r0, #0x0 mov r5, #0x0 @@ -233215,29 +233215,29 @@ _0207D5C4: ldr r0, [r7, #0x0] add r1, r4, r6 add r2, r2, r3 - bl sub_02019150 + bl FUN_02019150 add r0, r4, r6 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 cmp r5, #0x24 blo _0207D5C4 add r0, r7, #0x0 - bl sub_0207DB78 + bl FUN_0207DB78 add r0, r7, #0x0 - bl sub_0207D768 + bl FUN_0207D768 add r0, r7, #0x0 - bl sub_0207D800 + bl FUN_0207D800 add r0, r7, #0x0 - bl sub_0207D8A0 + bl FUN_0207D8A0 pop {r3-r7, pc} .balign 4 _0207D600: .word 0x020FB4AC - thumb_func_start sub_0207D604 -sub_0207D604: ; 0x0207D604 + thumb_func_start FUN_0207D604 +FUN_0207D604: ; 0x0207D604 push {r3-r7, lr} add r4, r0, #0x0 ldr r0, _0207D6D8 ; =0x0000068C @@ -233279,7 +233279,7 @@ _0207D692: mov r0, #0x13 lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02018FF4 + bl FUN_02018FF4 mov r1, #0x91 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -233296,7 +233296,7 @@ _0207D6B4: ldr r0, [r4, #0x0] add r1, r1, r7 add r2, r5, #0x0 - bl sub_02019150 + bl FUN_02019150 mov r0, #0x92 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -233314,8 +233314,8 @@ _0207D6E0: .byte 0x8C, 0xB3, 0x0F, 0x02, 0x2C, 0xB4, 0x0F, 0x02, 0x6C, 0xB4, 0x0F, 0x02, 0xCC, 0xB3, 0x0F, 0x02 .byte 0xAC, 0xB3, 0x0F, 0x02, 0x94, 0xB3, 0x0F, 0x02 - thumb_func_start sub_0207D6F8 -sub_0207D6F8: ; 0x0207D6F8 + thumb_func_start FUN_0207D6F8 +FUN_0207D6F8: ; 0x0207D6F8 push {r3, lr} add r1, r0, #0x0 ldr r0, _0207D748 ; =0x0000068C @@ -233353,30 +233353,30 @@ _0207D732: ldr r1, [r1, r2] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_020191A4 + bl FUN_020191A4 _0207D744: pop {r3, pc} nop _0207D748: .word 0x0000068C - thumb_func_start sub_0207D74C -sub_0207D74C: ; 0x0207D74C + thumb_func_start FUN_0207D74C +FUN_0207D74C: ; 0x0207D74C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_0207D6F8 + bl FUN_0207D6F8 mov r4, #0x0 add r5, r5, #0x4 _0207D758: add r0, r5, #0x0 - bl sub_02019178 + bl FUN_02019178 add r4, r4, #0x1 add r5, #0x10 cmp r4, #0x24 blo _0207D758 pop {r3-r5, pc} - thumb_func_start sub_0207D768 -sub_0207D768: ; 0x0207D768 + thumb_func_start FUN_0207D768 +FUN_0207D768: ; 0x0207D768 push {r3-r5, lr} sub sp, #0x10 mov r4, #0x89 @@ -233384,7 +233384,7 @@ sub_0207D768: ; 0x0207D768 lsl r4, r4, #0x2 add r0, r5, r4 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r1, #0x0 add r2, r4, #0x0 str r1, [sp, #0x0] @@ -233397,7 +233397,7 @@ sub_0207D768: ; 0x0207D768 ldr r2, [r5, r2] add r0, r5, r4 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r4, #0x0 add r0, #0x3e ldrb r1, [r5, r0] @@ -233414,13 +233414,13 @@ sub_0207D768: ; 0x0207D768 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r2, #0xc1 add r0, r5, #0x0 add r1, r5, r4 lsl r2, r2, #0xa mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 b _0207D7E8 _0207D7CA: cmp r0, #0x1 @@ -233430,15 +233430,15 @@ _0207D7CA: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _0207D7FC ; =0x00050600 add r0, r5, #0x0 add r1, r5, r4 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 _0207D7E8: add r0, r5, r4 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r5, pc} nop @@ -233446,8 +233446,8 @@ _0207D7F4: .word 0x000F0E00 _0207D7F8: .word 0x00000674 _0207D7FC: .word 0x00050600 - thumb_func_start sub_0207D800 -sub_0207D800: ; 0x0207D800 + thumb_func_start FUN_0207D800 +FUN_0207D800: ; 0x0207D800 push {r4-r6, lr} sub sp, #0x10 mov r6, #0x85 @@ -233455,7 +233455,7 @@ sub_0207D800: ; 0x0207D800 lsl r6, r6, #0x2 add r0, r5, r6 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r6, #0x0 add r0, #0x8c ldr r0, [r5, r0] @@ -233470,11 +233470,11 @@ sub_0207D800: ; 0x0207D800 mov r1, #0x1 add r2, r5, r6 mov r3, #0x0 - bl sub_0200B9A8 + bl FUN_0200B9A8 ldr r0, _0207D894 ; =0x00000674 mov r1, #0x3 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x0 add r4, r0, #0x0 add r2, r6, #0x0 @@ -233488,15 +233488,15 @@ sub_0207D800: ; 0x0207D800 lsl r2, r2, #0x19 ldr r0, [r5, r0] lsr r2, r2, #0x19 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r1, _0207D898 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x0 mov r2, #0x1a str r1, [sp, #0x0] @@ -233509,10 +233509,10 @@ sub_0207D800: ; 0x0207D800 ldr r2, [r5, r2] add r0, r5, r6 mov r3, #0x10 - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207D88A: add r0, r5, r6 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 @@ -233520,15 +233520,15 @@ _0207D894: .word 0x00000674 _0207D898: .word 0x0000067C _0207D89C: .word 0x00010200 - thumb_func_start sub_0207D8A0 -sub_0207D8A0: ; 0x0207D8A0 + thumb_func_start FUN_0207D8A0 +FUN_0207D8A0: ; 0x0207D8A0 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r0, _0207D918 ; =0x0000025E ldrh r2, [r5, r0] cmp r2, #0x0 @@ -233536,20 +233536,20 @@ sub_0207D8A0: ; 0x0207D8A0 ldr r0, _0207D91C ; =0x0000067C mov r1, #0x0 ldr r0, [r5, r0] - bl sub_0200AE38 + bl FUN_0200AE38 ldr r0, _0207D920 ; =0x00000674 mov r1, #0x5 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 ldr r1, _0207D91C ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 b _0207D8F2 _0207D8E4: ldr r2, _0207D920 ; =0x00000674 @@ -233557,7 +233557,7 @@ _0207D8E4: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _0207D8F2: mov r2, #0x81 lsl r2, r2, #0x2 @@ -233565,22 +233565,22 @@ _0207D8F2: add r0, r5, #0x0 lsl r2, r2, #0x7 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 add r0, r5, #0x0 add r0, #0x64 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x81 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 pop {r3-r5, pc} nop _0207D918: .word 0x0000025E _0207D91C: .word 0x0000067C _0207D920: .word 0x00000674 - thumb_func_start sub_0207D924 -sub_0207D924: ; 0x0207D924 + thumb_func_start FUN_0207D924 +FUN_0207D924: ; 0x0207D924 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x8d @@ -233588,24 +233588,24 @@ sub_0207D924: ; 0x0207D924 add r4, r1, #0x0 add r0, r5, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207D954 ; =0x000F0E00 add r0, r5, #0x0 mov r1, #0x23 add r2, r4, #0x0 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x8d lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 pop {r3-r5, pc} nop _0207D954: .word 0x000F0E00 - thumb_func_start sub_0207D958 -sub_0207D958: ; 0x0207D958 + thumb_func_start FUN_0207D958 +FUN_0207D958: ; 0x0207D958 push {r4, lr} mov r3, #0x93 lsl r3, r3, #0x2 @@ -233627,7 +233627,7 @@ sub_0207D958: ; 0x0207D958 add r3, #0xc ldr r0, [r1, r3] ldr r1, [r1, r2] - bl sub_02021CE0 + bl FUN_02021CE0 cmp r0, #0x0 bne _0207D98E mov r0, #0x1 @@ -233638,8 +233638,8 @@ _0207D98E: nop _0207D994: .word 0x00000684 - thumb_func_start sub_0207D998 -sub_0207D998: ; 0x0207D998 + thumb_func_start FUN_0207D998 +FUN_0207D998: ; 0x0207D998 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -233661,11 +233661,11 @@ _0207D9B4: mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r6, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C lsl r0, r0, #0x1b lsr r0, r0, #0x18 sub r0, r0, r5 @@ -233678,11 +233678,11 @@ _0207D9D8: mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r5, r0, #0x18 add r0, r6, #0x0 - bl sub_0201AB0C + bl FUN_0201AB0C lsl r0, r0, #0x1b lsr r0, r0, #0x18 sub r1, r0, r5 @@ -233701,13 +233701,13 @@ _0207D9FE: lsl r2, r2, #0x6 ldr r2, [r4, r2] add r0, r6, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 add sp, #0x10 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207DA1C -sub_0207DA1C: ; 0x0207DA1C + thumb_func_start FUN_0207DA1C +FUN_0207DA1C: ; 0x0207DA1C push {r4-r6, lr} add r6, r3, #0x0 ldr r3, _0207DA44 ; =0x00000674 @@ -233717,20 +233717,20 @@ sub_0207DA1C: ; 0x0207DA1C add r3, #0xc add r1, r2, #0x0 ldr r2, [r5, r3] - bl sub_0200A8E0 + bl FUN_0200A8E0 add r2, r5, #0x4 lsl r1, r4, #0x4 add r1, r2, r1 ldr r3, [sp, #0x10] add r0, r5, #0x0 add r2, r6, #0x0 - bl sub_0207D998 + bl FUN_0207D998 pop {r4-r6, pc} .balign 4 _0207DA44: .word 0x00000674 - thumb_func_start sub_0207DA48 -sub_0207DA48: ; 0x0207DA48 + thumb_func_start FUN_0207DA48 +FUN_0207DA48: ; 0x0207DA48 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -233738,7 +233738,7 @@ sub_0207DA48: ; 0x0207DA48 add r6, r2, #0x0 ldr r0, [r5, r0] add r7, r3, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, sp, #0x10 ldrb r0, [r0, #0x10] @@ -233750,23 +233750,23 @@ sub_0207DA48: ; 0x0207DA48 ldr r0, _0207DA90 ; =0x0000067C add r3, r7, #0x0 ldr r0, [r5, r0] - bl sub_0200AD38 + bl FUN_0200AD38 ldr r1, _0207DA90 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x8 pop {r3-r7, pc} .balign 4 _0207DA8C: .word 0x00000674 _0207DA90: .word 0x0000067C - thumb_func_start sub_0207DA94 -sub_0207DA94: ; 0x0207DA94 + thumb_func_start FUN_0207DA94 +FUN_0207DA94: ; 0x0207DA94 push {r3-r7, lr} sub sp, #0x20 add r4, r0, #0x0 @@ -233780,13 +233780,13 @@ sub_0207DA94: ; 0x0207DA94 add r3, #0xc add r1, r2, #0x0 ldr r2, [r4, r3] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 add r1, sp, #0x48 ldrb r2, [r1, #0x0] lsr r1, r0, #0x1 @@ -233813,7 +233813,7 @@ sub_0207DA94: ; 0x0207DA94 ldr r2, [r4, r2] ldr r3, [sp, #0x14] add r0, r5, r7 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] add r3, sp, #0x28 @@ -233821,13 +233821,13 @@ sub_0207DA94: ; 0x0207DA94 ldrb r3, [r3, #0x1c] ldr r1, [sp, #0x10] add r0, r4, #0x0 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 mov r12, r0 ldr r0, [sp, #0x1c] mov r2, #0x1a @@ -233844,7 +233844,7 @@ sub_0207DA94: ; 0x0207DA94 ldr r2, [r4, r2] add r0, r5, r7 sub r3, r3, r6 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] add r3, sp, #0x28 @@ -233852,7 +233852,7 @@ sub_0207DA94: ; 0x0207DA94 ldrb r3, [r3, #0x1c] ldr r1, [sp, #0x38] add r0, r4, #0x0 - bl sub_0207DA48 + bl FUN_0207DA48 ldr r0, [sp, #0x1c] mov r2, #0x1a str r0, [sp, #0x0] @@ -233866,15 +233866,15 @@ sub_0207DA94: ; 0x0207DA94 ldr r2, [r4, r2] ldr r3, [sp, #0x18] add r0, r5, r7 - bl sub_0201BDE0 + bl FUN_0201BDE0 add sp, #0x20 pop {r3-r7, pc} .balign 4 _0207DB70: .word 0x00000674 _0207DB74: .word 0x00010200 - thumb_func_start sub_0207DB78 -sub_0207DB78: ; 0x0207DB78 + thumb_func_start FUN_0207DB78 +FUN_0207DB78: ; 0x0207DB78 push {r4, lr} sub sp, #0x10 ldr r3, _0207DD7C ; =0x000F0E00 @@ -233882,160 +233882,160 @@ sub_0207DB78: ; 0x0207DB78 mov r2, #0x7 add r4, r0, #0x0 str r1, [sp, #0x0] - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1 mov r2, #0x17 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x2 mov r2, #0x6d - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x7e - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x4 mov r2, #0x80 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x5 mov r2, #0x9d - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x6 mov r2, #0x4 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x7 mov r2, #0x8 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x8 mov r2, #0xa - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x9 mov r2, #0xc - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xa mov r2, #0xd - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xb mov r2, #0xf - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xc mov r2, #0x11 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xd mov r2, #0x13 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0xf mov r2, #0x6e - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x10 mov r2, #0x6f - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x11 mov r2, #0x70 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x12 mov r2, #0x71 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x13 mov r2, #0x72 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x14 mov r2, #0x73 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x15 mov r2, #0x74 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x16 mov r2, #0x7f - bl sub_0207DA1C + bl FUN_0207DA1C ldr r2, _0207DD80 ; =0x00000674 mov r1, #0x92 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x2 str r0, [sp, #0x0] mov r2, #0xff @@ -234050,56 +234050,56 @@ sub_0207DB78: ; 0x0207DB78 lsl r2, r2, #0x6 ldr r2, [r4, r2] add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x19 mov r2, #0x95 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1a mov r2, #0x93 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1b mov r2, #0x94 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x2 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1c mov r2, #0xa2 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x2 str r0, [sp, #0x0] ldr r3, _0207DD84 ; =0x00010200 add r0, r4, #0x0 mov r1, #0x1d mov r2, #0xa0 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD84 ; =0x00010200 add r0, r4, #0x0 mov r1, #0x1e mov r2, #0xb6 - bl sub_0207DA1C + bl FUN_0207DA1C mov r0, #0x0 str r0, [sp, #0x0] ldr r3, _0207DD7C ; =0x000F0E00 add r0, r4, #0x0 mov r1, #0x1f mov r2, #0xb3 - bl sub_0207DA1C + bl FUN_0207DA1C add sp, #0x10 pop {r4, pc} .balign 4 @@ -234107,8 +234107,8 @@ _0207DD7C: .word 0x000F0E00 _0207DD80: .word 0x00000674 _0207DD84: .word 0x00010200 - thumb_func_start sub_0207DD88 -sub_0207DD88: ; 0x0207DD88 + thumb_func_start FUN_0207DD88 +FUN_0207DD88: ; 0x0207DD88 push {r4, lr} sub sp, #0x10 mov r2, #0x0 @@ -234123,7 +234123,7 @@ sub_0207DD88: ; 0x0207DD88 ldr r0, [r4, #0x0] mov r1, #0x1 add r3, r2, #0x0 - bl sub_02018540 + bl FUN_02018540 mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0x12 @@ -234136,7 +234136,7 @@ sub_0207DD88: ; 0x0207DD88 mov r1, #0x1 mov r2, #0x0 mov r3, #0xe - bl sub_02018540 + bl FUN_02018540 ldr r0, _0207DE38 ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x7 @@ -234156,7 +234156,7 @@ sub_0207DD88: ; 0x0207DD88 lsl r2, r1, #0x1 lsl r4, r2, #0x1 add r0, r4, #0x0 - bl sub_0207DE3C + bl FUN_0207DE3C add sp, #0x10 pop {r4, pc} _0207DDF2: @@ -234171,79 +234171,79 @@ _0207DE34: .balign 4 _0207DE38: .word 0x0000068C - thumb_func_start sub_0207DE3C -sub_0207DE3C: ; 0x0207DE3C + thumb_func_start FUN_0207DE3C +FUN_0207DE3C: ; 0x0207DE3C push {r3-r5, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, r4, #0x4 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0x74 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0x84 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0x94 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xa4 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xb4 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xc4 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xd4 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xe4 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x50 - bl sub_02019620 + bl FUN_02019620 mov r1, #0x93 lsl r1, r1, #0x2 ldr r0, [r4, r1] add r1, #0x10 ldrh r1, [r4, r1] ldr r0, [r0, #0x1c] - bl sub_0206BB48 + bl FUN_0206BB48 add r2, r0, #0x0 beq _0207DEFE mov r0, #0x2 @@ -234251,7 +234251,7 @@ sub_0207DE3C: ; 0x0207DE3C add r0, r4, #0x0 mov r1, #0x9 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 b _0207DF0C _0207DEFE: ldr r2, _0207E0B4 ; =0x00000674 @@ -234259,7 +234259,7 @@ _0207DEFE: ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 _0207DF0C: mov r1, #0x2a lsl r1, r1, #0x4 @@ -234272,7 +234272,7 @@ _0207DF0C: ldr r2, _0207E0B8 ; =0x00010200 add r0, r4, #0x0 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 b _0207DF36 _0207DF28: sub r1, #0x5c @@ -234280,14 +234280,14 @@ _0207DF28: ldr r2, _0207E0BC ; =0x00050600 add r0, r4, #0x0 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 _0207DF36: mov r1, #0x25 lsl r1, r1, #0x4 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 mov r2, #0x91 lsl r2, r2, #0x2 ldr r3, [r4, r2] @@ -234307,13 +234307,13 @@ _0207DF36: lsl r3, r3, #0x3 sub r3, r3, r5 lsr r3, r3, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r1, #0x96 lsl r1, r1, #0x2 mov r0, #0x0 ldr r1, [r4, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 mov r5, #0x91 lsl r5, r5, #0x2 ldr r2, [r4, r5] @@ -234340,7 +234340,7 @@ _0207DF36: add r5, #0x14 add r0, r2, #0x0 ldr r2, [r4, r5] - bl sub_0201BDE0 + bl FUN_0201BDE0 b _0207DFD0 _0207DFB6: mov r1, #0x0 @@ -234354,7 +234354,7 @@ _0207DFB6: add r5, #0x14 add r0, r2, #0x0 ldr r2, [r4, r5] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207DFD0: mov r0, #0x2 mov r2, #0x99 @@ -234366,7 +234366,7 @@ _0207DFD0: mov r1, #0x10 lsr r2, r2, #0x10 mov r3, #0x5 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234374,7 +234374,7 @@ _0207DFD0: add r0, r4, #0x0 add r1, #0x30 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x1 mov r2, #0x9a str r0, [sp, #0x0] @@ -234383,7 +234383,7 @@ _0207DFD0: add r0, r4, #0x0 mov r1, #0x12 mov r3, #0x7 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234391,7 +234391,7 @@ _0207DFD0: add r0, r4, #0x0 add r1, #0x40 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 ldr r3, _0207E0C0 ; =0x00000262 ldrb r0, [r4, r3] lsl r0, r0, #0x19 @@ -234409,7 +234409,7 @@ _0207DFD0: mov r1, #0x15 sub r2, r5, r2 mov r3, #0x7 - bl sub_0207DA48 + bl FUN_0207DA48 b _0207E058 _0207E048: mov r0, #0x1 @@ -234418,7 +234418,7 @@ _0207E048: mov r1, #0x15 mov r2, #0x0 mov r3, #0x7 - bl sub_0207DA48 + bl FUN_0207DA48 _0207E058: mov r1, #0x91 lsl r1, r1, #0x2 @@ -234427,36 +234427,36 @@ _0207E058: add r0, r4, #0x0 add r1, #0x50 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r3-r5, pc} .balign 4 @@ -234465,15 +234465,15 @@ _0207E0B8: .word 0x00010200 _0207E0BC: .word 0x00050600 _0207E0C0: .word 0x00000262 - thumb_func_start sub_0207E0C4 -sub_0207E0C4: ; 0x0207E0C4 + thumb_func_start FUN_0207E0C4 +FUN_0207E0C4: ; 0x0207E0C4 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, r1, #0x0 add r1, r2, #0x0 mov r2, #0x13 - bl sub_0207FD00 + bl FUN_0207FD00 add r4, r0, #0x0 ldr r2, [r4, #0x18] cmp r2, #0x0 @@ -234490,7 +234490,7 @@ sub_0207E0C4: ; 0x0207E0C4 str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207E0F8: ldr r2, [r4, #0x20] cmp r2, #0x0 @@ -234507,7 +234507,7 @@ _0207E0F8: str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207E11A: ldr r2, [r4, #0x28] cmp r2, #0x0 @@ -234524,7 +234524,7 @@ _0207E11A: str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207E13C: ldr r2, [r4, #0x30] cmp r2, #0x0 @@ -234541,7 +234541,7 @@ _0207E13C: str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207E15E: ldr r2, [r4, #0x38] cmp r2, #0x0 @@ -234558,31 +234558,31 @@ _0207E15E: str r0, [sp, #0x8] add r0, r5, #0x0 str r1, [sp, #0xc] - bl sub_0201BDE0 + bl FUN_0201BDE0 _0207E180: add r0, r4, #0x0 - bl sub_02080094 + bl FUN_02080094 add sp, #0x10 pop {r3-r5, pc} nop _0207E18C: .word 0x00010200 - thumb_func_start sub_0207E190 -sub_0207E190: ; 0x0207E190 + thumb_func_start FUN_0207E190 +FUN_0207E190: ; 0x0207E190 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x14 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_0207B628 + bl FUN_0207B628 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0207D958 + bl FUN_0207D958 add r7, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 @@ -234591,118 +234591,118 @@ sub_0207E190: ; 0x0207E190 cmp r1, #0x2 bne _0207E1E8 mov r0, #0x13 - bl sub_020669C0 + bl FUN_020669C0 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02069A64 + bl FUN_02069A64 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r1, r4, #0x0 add r2, r7, #0x0 - bl sub_0207E0C4 + bl FUN_0207E0C4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 b _0207E1F4 _0207E1E8: sub r0, #0x8 ldr r0, [r5, r0] add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0207E0C4 + bl FUN_0207E0C4 _0207E1F4: mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02019220 + bl FUN_02019220 pop {r3-r7, pc} - thumb_func_start sub_0207E200 -sub_0207E200: ; 0x0207E200 + thumb_func_start FUN_0207E200 +FUN_0207E200: ; 0x0207E200 push {r3-r5, lr} sub sp, #0x18 add r4, r0, #0x0 add r0, #0x24 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 add r0, #0xf4 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x41 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x45 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x49 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x4d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x51 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x55 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x50 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x60 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x70 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201AB0C + bl FUN_0201AB0C mov r1, #0x76 str r1, [sp, #0x0] mov r1, #0x9d @@ -234722,7 +234722,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 mov r3, #0x77 str r1, [sp, #0x14] - bl sub_0207DA94 + bl FUN_0207DA94 mov r0, #0x0 mov r2, #0x9e str r0, [sp, #0x0] @@ -234731,7 +234731,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 mov r1, #0x78 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234739,7 +234739,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x10 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E488 ; =0x0000027A @@ -234747,7 +234747,7 @@ sub_0207E200: ; 0x0207E200 ldrh r2, [r4, r2] mov r1, #0x79 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234755,7 +234755,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x20 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x0 mov r2, #0x9f str r0, [sp, #0x0] @@ -234764,7 +234764,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 mov r1, #0x7a mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234772,7 +234772,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x30 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E48C ; =0x0000027E @@ -234780,7 +234780,7 @@ sub_0207E200: ; 0x0207E200 ldrh r2, [r4, r2] mov r1, #0x7b mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234788,7 +234788,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x40 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x0 mov r2, #0xa str r0, [sp, #0x0] @@ -234797,7 +234797,7 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 mov r1, #0x7c mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234805,26 +234805,26 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x50 mov r3, #0x1 - bl sub_0207D998 + bl FUN_0207D998 ldr r2, _0207E490 ; =0x00000282 ldr r0, _0207E494 ; =0x0000067C ldrb r2, [r4, r2] ldr r0, [r4, r0] mov r1, #0x0 - bl sub_0200ADCC + bl FUN_0200ADCC ldr r0, _0207E498 ; =0x00000674 mov r1, #0x7d ldr r0, [r4, r0] - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 ldr r1, _0207E494 ; =0x0000067C add r2, r5, #0x0 ldr r0, [r4, r1] add r1, r1, #0x4 ldr r1, [r4, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234832,21 +234832,21 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x60 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 ldr r2, _0207E49C ; =0x0000022A mov r0, #0x1 mov r1, #0x1a mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C ldr r1, _0207E490 ; =0x00000282 mov r2, #0x1a lsl r2, r2, #0x6 ldrb r1, [r4, r1] ldr r2, [r4, r2] add r5, r0, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234854,46 +234854,46 @@ sub_0207E200: ; 0x0207E200 add r0, r4, #0x0 add r1, #0x70 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x60 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x70 - bl sub_02019220 + bl FUN_02019220 add sp, #0x18 pop {r3-r5, pc} nop @@ -234905,17 +234905,17 @@ _0207E494: .word 0x0000067C _0207E498: .word 0x00000674 _0207E49C: .word 0x0000022A - thumb_func_start sub_0207E4A0 -sub_0207E4A0: ; 0x0207E4A0 + thumb_func_start FUN_0207E4A0 +FUN_0207E4A0: ; 0x0207E4A0 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 add r0, #0x34 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x59 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -234930,13 +234930,13 @@ _0207E4C6: ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 ldr r2, _0207E584 ; =0x00000674 mov r1, #0xa5 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -234944,7 +234944,7 @@ _0207E4C6: add r0, r4, #0x0 add r1, #0x10 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 ldr r1, _0207E58C ; =0x0000029B ldr r2, _0207E584 ; =0x00000674 ldrb r1, [r4, r1] @@ -234952,7 +234952,7 @@ _0207E4C6: add r2, #0xc ldr r2, [r4, r2] add r1, #0xa6 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff @@ -234969,12 +234969,12 @@ _0207E4C6: ldr r2, [r4, r2] add r0, #0x10 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, [r4, r0] @@ -234984,29 +234984,29 @@ _0207E4C6: sub r0, #0x8 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r2, _0207E584 ; =0x00000674 mov r1, #0xa3 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E588 ; =0x000F0E00 add r0, r4, #0x0 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] add r0, r4, #0x0 - bl sub_0207CFAC + bl FUN_0207CFAC _0207E580: add sp, #0x10 pop {r4, pc} @@ -235016,12 +235016,12 @@ _0207E588: .word 0x000F0E00 _0207E58C: .word 0x0000029B _0207E590: .word 0x00010200 - thumb_func_start sub_0207E594 -sub_0207E594: ; 0x0207E594 + thumb_func_start FUN_0207E594 +FUN_0207E594: ; 0x0207E594 push {r4, lr} add r4, r0, #0x0 add r0, #0x44 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -235030,81 +235030,81 @@ sub_0207E594: ; 0x0207E594 bne _0207E5B4 add r0, r4, #0x0 mov r1, #0x9b - bl sub_0207D924 + bl FUN_0207D924 b _0207E5BC _0207E5B4: add r0, r4, #0x0 mov r1, #0x81 - bl sub_0207D924 + bl FUN_0207D924 _0207E5BC: mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x3 - bl sub_0207EA44 + bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} .balign 4 - thumb_func_start sub_0207E650 -sub_0207E650: ; 0x0207E650 + thumb_func_start FUN_0207E650 +FUN_0207E650: ; 0x0207E650 push {r4, lr} add r4, r0, #0x0 add r0, #0x54 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -235113,93 +235113,93 @@ sub_0207E650: ; 0x0207E650 bne _0207E670 add r0, r4, #0x0 mov r1, #0x9f - bl sub_0207D924 + bl FUN_0207D924 b _0207E678 _0207E670: add r0, r4, #0x0 mov r1, #0x9e - bl sub_0207D924 + bl FUN_0207D924 _0207E678: mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x1 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0207EA44 + bl FUN_0207EA44 add r0, r4, #0x0 mov r1, #0x3 - bl sub_0207EA44 + bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} .balign 4 - thumb_func_start sub_0207E70C -sub_0207E70C: ; 0x0207E70C + thumb_func_start FUN_0207E70C +FUN_0207E70C: ; 0x0207E70C push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r0, #0x7d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x79 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x0 str r0, [sp, #0x0] ldr r2, _0207E780 ; =0x00000699 @@ -235207,30 +235207,30 @@ sub_0207E70C: ; 0x0207E70C ldrb r2, [r4, r2] mov r1, #0xb7 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r2, _0207E784 ; =0x00010200 add r0, r4, #0x0 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02019220 + bl FUN_02019220 ldr r0, _0207E780 ; =0x00000699 ldrb r0, [r4, r0] cmp r0, #0x0 beq _0207E77A add r0, r4, #0x0 mov r1, #0xb4 - bl sub_0207D924 + bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC _0207E77A: add sp, #0x4 pop {r3-r4, pc} @@ -235238,23 +235238,23 @@ _0207E77A: _0207E780: .word 0x00000699 _0207E784: .word 0x00010200 - thumb_func_start sub_0207E788 -sub_0207E788: ; 0x0207E788 + thumb_func_start FUN_0207E788 +FUN_0207E788: ; 0x0207E788 push {r4, lr} sub sp, #0x10 add r4, r0, #0x0 mov r0, #0x71 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 add r0, r4, #0x0 mov r1, #0xa1 - bl sub_0207D924 + bl FUN_0207D924 mov r1, #0x8d lsl r1, r1, #0x2 add r0, r4, #0x0 add r1, r4, r1 - bl sub_0207CFAC + bl FUN_0207CFAC mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r4, r0] @@ -235269,13 +235269,13 @@ _0207E7BC: ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 ldr r2, _0207E830 ; =0x00000674 mov r1, #0xa5 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -235283,7 +235283,7 @@ _0207E7BC: add r0, r4, #0x0 add r1, #0x10 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 ldr r1, _0207E838 ; =0x0000029B ldr r2, _0207E830 ; =0x00000674 ldrb r1, [r4, r1] @@ -235291,7 +235291,7 @@ _0207E7BC: add r2, #0xc ldr r2, [r4, r2] add r1, #0xa6 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0xff @@ -235308,12 +235308,12 @@ _0207E7BC: ldr r2, [r4, r2] add r0, #0x10 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 _0207E82C: add sp, #0x10 pop {r4, pc} @@ -235323,8 +235323,8 @@ _0207E834: .word 0x000F0E00 _0207E838: .word 0x0000029B _0207E83C: .word 0x00010200 - thumb_func_start sub_0207E840 -sub_0207E840: ; 0x0207E840 + thumb_func_start FUN_0207E840 +FUN_0207E840: ; 0x0207E840 push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -235333,11 +235333,11 @@ sub_0207E840: ; 0x0207E840 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x10 - bl sub_02019620 + bl FUN_02019620 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xba ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x0 add r4, r0, #0x0 ldr r2, _0207E998 ; =0x0000067C @@ -235348,21 +235348,21 @@ sub_0207E840: ; 0x0207E840 add r2, #0x1d ldrb r2, [r5, r2] mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r1, _0207E998 ; =0x0000067C add r2, r4, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r1, r0, #0x18 mov r0, #0x38 @@ -235384,16 +235384,16 @@ sub_0207E840: ; 0x0207E840 ldr r2, [r5, r2] add r0, #0x10 add r3, r4, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xb9 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 mov r0, #0x0 add r1, r6, #0x0 add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 sub r0, r4, r0 @@ -235412,13 +235412,13 @@ sub_0207E840: ; 0x0207E840 ldr r0, [r5, r0] add r3, r4, #0x0 add r0, #0x10 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, _0207E994 ; =0x00000674 mov r1, #0xb8 ldr r0, [r5, r0] - bl sub_0200A914 + bl FUN_0200A914 mov r1, #0x0 ldr r2, _0207E998 ; =0x0000067C add r6, r0, #0x0 @@ -235435,21 +235435,21 @@ sub_0207E840: ; 0x0207E840 add r2, r3, r2 add r2, r2, #0x1 mov r3, #0x3 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r1, _0207E998 ; =0x0000067C add r2, r6, #0x0 ldr r0, [r5, r1] add r1, r1, #0x4 ldr r1, [r5, r1] - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 lsl r0, r0, #0x18 lsr r0, r0, #0x18 sub r0, r4, r0 @@ -235469,12 +235469,12 @@ sub_0207E840: ; 0x0207E840 ldr r0, [r5, r0] ldr r2, [r5, r2] add r0, #0x10 - bl sub_0201BDE0 + bl FUN_0201BDE0 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x10 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 @@ -235482,8 +235482,8 @@ _0207E994: .word 0x00000674 _0207E998: .word 0x0000067C _0207E99C: .word 0x00010200 - thumb_func_start sub_0207E9A0 -sub_0207E9A0: ; 0x0207E9A0 + thumb_func_start FUN_0207E9A0 +FUN_0207E9A0: ; 0x0207E9A0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x91 @@ -235491,23 +235491,23 @@ sub_0207E9A0: ; 0x0207E9A0 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x20 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x30 - bl sub_02019620 + bl FUN_02019620 ldr r0, _0207EA34 ; =0x0000069A mov r1, #0x3 ldrb r0, [r4, r0] - bl sub_0207FC5C + bl FUN_0207FC5C ldr r2, _0207EA38 ; =0x00000678 add r1, r0, #0x0 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -235515,20 +235515,20 @@ sub_0207E9A0: ; 0x0207E9A0 add r0, r4, #0x0 add r1, #0x20 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x93 lsl r0, r0, #0x2 ldr r1, _0207EA34 ; =0x0000069A ldr r0, [r4, r0] ldrb r1, [r4, r1] ldr r0, [r0, #0x20] - bl sub_0207FCC0 + bl FUN_0207FCC0 ldr r2, _0207EA38 ; =0x00000678 add r1, r0, #0x0 ldr r0, [r4, r2] add r2, #0x8 ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -235536,17 +235536,17 @@ sub_0207E9A0: ; 0x0207E9A0 add r0, r4, #0x0 add r1, #0x30 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x20 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x30 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} .balign 4 _0207EA34: .word 0x0000069A @@ -235554,8 +235554,8 @@ _0207EA38: .word 0x00000678 _0207EA3C: .word 0x000F0E00 _0207EA40: .word 0x00010200 - thumb_func_start sub_0207EA44 -sub_0207EA44: ; 0x0207EA44 + thumb_func_start FUN_0207EA44 +FUN_0207EA44: ; 0x0207EA44 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -235587,7 +235587,7 @@ _0207EA76: mov r1, #0x0 ldrh r0, [r0, #0x18] str r0, [sp, #0x20] - bl sub_0206AB30 + bl FUN_0206AB30 str r0, [sp, #0x1c] str r0, [sp, #0x18] _0207EA88: @@ -235596,7 +235596,7 @@ _0207EA88: ldr r0, [r5, r2] sub r2, #0x8 ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r0, #0x2 str r0, [sp, #0x0] mov r0, #0xff @@ -235610,7 +235610,7 @@ _0207EA88: ldr r2, [r5, r2] add r0, r4, r6 mov r3, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 ldr r0, [sp, #0x20] ldr r2, _0207EB5C ; =0x00000674 cmp r0, #0x0 @@ -235619,7 +235619,7 @@ _0207EA88: add r2, #0xc ldr r2, [r5, r2] mov r1, #0x87 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r3, #0x10 mov r2, #0x1a str r3, [sp, #0x0] @@ -235632,7 +235632,7 @@ _0207EA88: lsl r2, r2, #0x6 ldr r2, [r5, r2] add r0, r4, r6 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r7, #0x0 add r0, #0x8d str r0, [sp, #0x0] @@ -235651,7 +235651,7 @@ _0207EA88: add r0, r5, #0x0 mov r2, #0x75 add r3, r7, #0x0 - bl sub_0207DA94 + bl FUN_0207DA94 add sp, #0x24 pop {r4-r7, pc} _0207EB10: @@ -235659,13 +235659,13 @@ _0207EB10: add r2, #0xc ldr r2, [r5, r2] mov r1, #0x99 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x1a lsl r1, r1, #0x6 mov r0, #0x0 ldr r1, [r5, r1] add r2, r0, #0x0 - bl sub_02002E14 + bl FUN_02002E14 add r3, r0, #0x0 mov r0, #0x10 str r0, [sp, #0x0] @@ -235682,7 +235682,7 @@ _0207EB10: lsl r2, r2, #0x6 ldr r2, [r5, r2] sub r3, r3, r4 - bl sub_0201BDE0 + bl FUN_0201BDE0 add sp, #0x24 pop {r4-r7, pc} nop @@ -235691,8 +235691,8 @@ _0207EB58: .word 0x000F0E00 _0207EB5C: .word 0x00000674 _0207EB60: .word 0x00010200 - thumb_func_start sub_0207EB64 -sub_0207EB64: ; 0x0207EB64 + thumb_func_start FUN_0207EB64 +FUN_0207EB64: ; 0x0207EB64 push {r3-r6, lr} sub sp, #0x4 add r5, r0, #0x0 @@ -235700,36 +235700,36 @@ sub_0207EB64: ; 0x0207EB64 lsl r0, r0, #0x2 add r0, r5, r0 add r4, r1, #0x0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x69 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x6d lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x50 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x60 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] mov r1, #0x0 add r0, #0x70 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x2 - bl sub_0206AB18 + bl FUN_0206AB18 add r2, r0, #0x0 cmp r2, #0x1 bhi _0207EBD2 @@ -235738,7 +235738,7 @@ sub_0207EB64: ; 0x0207EB64 ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 b _0207EBE0 _0207EBD2: mov r0, #0x1 @@ -235746,7 +235746,7 @@ _0207EBD2: add r0, r5, #0x0 mov r1, #0x96 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 _0207EBE0: mov r1, #0x91 lsl r1, r1, #0x2 @@ -235755,10 +235755,10 @@ _0207EBE0: add r0, r5, #0x0 add r1, #0x50 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 add r0, r4, #0x0 mov r1, #0x4 - bl sub_0206AB18 + bl FUN_0206AB18 add r2, r0, #0x0 bne _0207EC0E ldr r2, _0207EC88 ; =0x00000674 @@ -235766,7 +235766,7 @@ _0207EBE0: ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 b _0207EC1C _0207EC0E: mov r0, #0x1 @@ -235774,7 +235774,7 @@ _0207EC0E: add r0, r5, #0x0 mov r1, #0x97 mov r3, #0x3 - bl sub_0207DA48 + bl FUN_0207DA48 _0207EC1C: mov r1, #0x91 lsl r1, r1, #0x2 @@ -235783,18 +235783,18 @@ _0207EC1C: add r0, r5, #0x0 add r1, #0x60 mov r3, #0x2 - bl sub_0207D998 + bl FUN_0207D998 ldr r2, _0207EC90 ; =0x0000024B mov r0, #0x1 mov r1, #0x1a mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C mov r2, #0x1a lsl r2, r2, #0x6 ldr r2, [r5, r2] add r1, r4, #0x0 add r6, r0, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x91 lsl r1, r1, #0x2 ldr r1, [r5, r1] @@ -235802,24 +235802,24 @@ _0207EC1C: add r0, r5, #0x0 add r1, #0x70 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x60 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x70 - bl sub_02019220 + bl FUN_02019220 add sp, #0x4 pop {r3-r6, pc} .balign 4 @@ -235827,41 +235827,41 @@ _0207EC88: .word 0x00000674 _0207EC8C: .word 0x00010200 _0207EC90: .word 0x0000024B - thumb_func_start sub_0207EC94 -sub_0207EC94: ; 0x0207EC94 + thumb_func_start FUN_0207EC94 +FUN_0207EC94: ; 0x0207EC94 push {r4, lr} add r4, r0, #0x0 mov r0, #0x65 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x69 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x6d lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x60 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x70 - bl sub_0201958C + bl FUN_0201958C pop {r4, pc} - thumb_func_start sub_0207ECDC -sub_0207ECDC: ; 0x0207ECDC + thumb_func_start FUN_0207ECDC +FUN_0207ECDC: ; 0x0207ECDC push {r4, lr} add r4, r0, #0x0 mov r0, #0x93 @@ -235874,37 +235874,37 @@ sub_0207ECDC: ; 0x0207ECDC ldr r0, [r4, r0] mov r1, #0x0 add r0, #0x40 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0x4 - bl sub_0207EA44 + bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x40 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} _0207ED0E: sub r0, #0xc8 add r0, r4, r0 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} - thumb_func_start sub_0207ED18 -sub_0207ED18: ; 0x0207ED18 + thumb_func_start FUN_0207ED18 +FUN_0207ED18: ; 0x0207ED18 push {r4, lr} add r4, r0, #0x0 mov r0, #0x61 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C ldr r0, [r4, #0x0] mov r1, #0x1 - bl sub_0201AC68 + bl FUN_0201AC68 pop {r4, pc} - thumb_func_start sub_0207ED30 -sub_0207ED30: ; 0x0207ED30 + thumb_func_start FUN_0207ED30 +FUN_0207ED30: ; 0x0207ED30 push {r4, lr} add r4, r0, #0x0 mov r0, #0x91 @@ -235917,7 +235917,7 @@ sub_0207ED30: ; 0x0207ED30 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] @@ -235928,19 +235928,19 @@ sub_0207ED30: ; 0x0207ED30 lsl r0, r0, #0x4 add r0, r1, r0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r1, _0207EDB0 ; =0x0000068D add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x1c lsr r1, r1, #0x1c - bl sub_0207EA44 + bl FUN_0207EA44 ldr r1, _0207EDB0 ; =0x0000068D add r0, r4, #0x0 ldrb r1, [r4, r1] lsl r1, r1, #0x18 lsr r1, r1, #0x1c - bl sub_0207EA44 + bl FUN_0207EA44 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] @@ -235950,7 +235950,7 @@ sub_0207ED30: ; 0x0207ED30 lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r1, [r4, r0] @@ -235960,13 +235960,13 @@ sub_0207ED30: ; 0x0207ED30 lsr r0, r0, #0x1c lsl r0, r0, #0x4 add r0, r1, r0 - bl sub_02019220 + bl FUN_02019220 pop {r4, pc} nop _0207EDB0: .word 0x0000068D - thumb_func_start sub_0207EDB4 -sub_0207EDB4: ; 0x0207EDB4 + thumb_func_start FUN_0207EDB4 +FUN_0207EDB4: ; 0x0207EDB4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0207EE20 ; =0x0000068C @@ -235977,17 +235977,17 @@ sub_0207EDB4: ; 0x0207EDB4 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x60 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x70 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r4, [r5, r0] @@ -236001,28 +236001,28 @@ _0207EDEE: _0207EDF6: add r0, r4, #0x0 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r2, _0207EE24 ; =0x00000674 mov r1, #0x9c ldr r0, [r5, r2] add r2, #0xc ldr r2, [r5, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r2, _0207EE28 ; =0x00010200 add r0, r5, #0x0 add r1, r4, #0x0 mov r3, #0x0 - bl sub_0207D998 + bl FUN_0207D998 add r0, r4, #0x0 - bl sub_02019220 + bl FUN_02019220 pop {r3-r5, pc} .balign 4 _0207EE20: .word 0x0000068C _0207EE24: .word 0x00000674 _0207EE28: .word 0x00010200 - thumb_func_start sub_0207EE2C -sub_0207EE2C: ; 0x0207EE2C + thumb_func_start FUN_0207EE2C +FUN_0207EE2C: ; 0x0207EE2C push {r4-r6, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -236032,23 +236032,23 @@ sub_0207EE2C: ; 0x0207EE2C add r4, r1, #0x0 add r0, #0x50 mov r1, #0x0 - bl sub_02019620 + bl FUN_02019620 add r0, r4, #0x0 mov r1, #0xa - bl sub_0206AB18 - bl sub_0208315C + bl FUN_0206AB18 + bl FUN_0208315C add r4, r0, #0x0 mov r0, #0x0 mov r1, #0x1a mov r2, #0xc5 mov r3, #0x13 - bl sub_0200A86C + bl FUN_0200A86C mov r2, #0x1a lsl r2, r2, #0x6 ldr r2, [r5, r2] add r1, r4, #0x0 add r6, r0, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 mov r2, #0x1a str r1, [sp, #0x0] @@ -236064,40 +236064,40 @@ sub_0207EE2C: ; 0x0207EE2C ldr r2, [r5, r2] add r0, #0x50 add r3, r1, #0x0 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r6, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 mov r0, #0x75 lsl r0, r0, #0x2 add r0, r5, r0 - bl sub_02019220 + bl FUN_02019220 mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r5, r0] add r0, #0x50 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 _0207EEAC: .word 0x00010200 - thumb_func_start sub_0207EEB0 -sub_0207EEB0: ; 0x0207EEB0 + thumb_func_start FUN_0207EEB0 +FUN_0207EEB0: ; 0x0207EEB0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x75 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0201958C + bl FUN_0201958C mov r0, #0x91 lsl r0, r0, #0x2 ldr r0, [r4, r0] add r0, #0x50 - bl sub_0201958C + bl FUN_0201958C pop {r4, pc} - thumb_func_start sub_0207EECC -sub_0207EECC: ; 0x0207EECC + thumb_func_start FUN_0207EECC +FUN_0207EECC: ; 0x0207EECC push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -236137,16 +236137,16 @@ _0207EF10: add r0, r6, #0x0 mov r1, #0x1 mov r3, #0xd - bl sub_0200D0BC + bl FUN_0200D0BC add r0, r6, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 ldr r2, _0207EF64 ; =0x00000674 add r1, r5, #0x0 ldr r0, [r4, r2] add r2, #0xc ldr r2, [r4, r2] - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r3, #0x0 mov r2, #0x1a str r3, [sp, #0x0] @@ -236159,9 +236159,9 @@ _0207EF10: ldr r2, [r4, r2] add r0, r6, #0x0 mov r1, #0x1 - bl sub_0201BDE0 + bl FUN_0201BDE0 add r0, r6, #0x0 - bl sub_02019220 + bl FUN_02019220 add sp, #0x10 pop {r4-r6, pc} .balign 4 @@ -236169,13 +236169,13 @@ _0207EF60: .word 0x000003E2 _0207EF64: .word 0x00000674 _0207EF68: .word 0x0001020F - thumb_func_start sub_0207EF6C -sub_0207EF6C: ; 0x0207EF6C + thumb_func_start FUN_0207EF6C +FUN_0207EF6C: ; 0x0207EF6C push {r3-r4, lr} sub sp, #0x4 - blx sub_020BB7F4 - blx sub_020C7E94 - blx sub_020C7D28 + blx FUN_020BB7F4 + blx FUN_020C7E94 + blx FUN_020C7D28 ldr r0, _0207EFEC ; =0x04000060 ldr r1, _0207EFF0 ; =0xFFFFCFFD ldrh r2, [r0, #0x0] @@ -236205,13 +236205,13 @@ sub_0207EF6C: ; 0x0207EF6C add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - blx sub_020C7C28 + blx FUN_020C7C28 mov r0, #0x0 ldr r2, _0207EFF8 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] - blx sub_020C7B3C + blx FUN_020C7B3C ldr r1, _0207EFFC ; =0x04000540 mov r0, #0x0 str r0, [r1, #0x0] @@ -236219,7 +236219,7 @@ sub_0207EF6C: ; 0x0207EF6C str r0, [r1, #0x40] mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r1, _0207F004 ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] @@ -236238,16 +236238,16 @@ _0207EFFC: .word 0x04000540 _0207F000: .word 0xBFFF0000 _0207F004: .word 0x04000008 - thumb_func_start sub_0207F008 -sub_0207F008: ; 0x0207F008 + thumb_func_start FUN_0207F008 +FUN_0207F008: ; 0x0207F008 push {r4, lr} add r4, r0, #0x0 ldr r0, _0207F05C ; =0x0000068C ldrsb r0, [r4, r0] cmp r0, #0x4 bne _0207F046 - bl sub_020222AC - bl sub_0201EBA4 + bl FUN_020222AC + bl FUN_0201EBA4 ldr r2, _0207F060 ; =0x04000440 mov r3, #0x0 add r1, r2, #0x0 @@ -236257,20 +236257,20 @@ sub_0207F008: ; 0x0207F008 mov r0, #0x2 str r0, [r2, #0x0] str r3, [r1, #0x0] - blx sub_020B849C + blx FUN_020B849C mov r0, #0xb7 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_0207F108 - blx sub_020B849C + bl FUN_0207F108 + blx FUN_020B849C add r0, r4, #0x0 - bl sub_0207F1A4 + bl FUN_0207F1A4 _0207F046: - blx sub_020B02C8 + blx FUN_020B02C8 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02006ED4 + bl FUN_02006ED4 ldr r0, _0207F064 ; =0x04000540 mov r1, #0x1 str r1, [r0, #0x0] @@ -236280,34 +236280,34 @@ _0207F05C: .word 0x0000068C _0207F060: .word 0x04000440 _0207F064: .word 0x04000540 - thumb_func_start sub_0207F068 -sub_0207F068: ; 0x0207F068 + thumb_func_start FUN_0207F068 +FUN_0207F068: ; 0x0207F068 push {r4, lr} add r4, r0, #0x0 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201EB70 + bl FUN_0201EB70 - non_word_aligned_thumb_func_start sub_0207F076 -sub_0207F076: ; 0x0207F076 + non_word_aligned_thumb_func_start FUN_0207F076 +FUN_0207F076: ; 0x0207F076 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02014D9C + bl FUN_02014D9C mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_02014C28 + bl FUN_02014C28 mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020072E8 + bl FUN_020072E8 pop {r4, pc} - thumb_func_start sub_0207F098 -sub_0207F098: ; 0x0207F098 + thumb_func_start FUN_0207F098 +FUN_0207F098: ; 0x0207F098 push {r3-r4, lr} sub sp, #0x1c ldr r3, _0207F100 ; =0x020FB5CC @@ -236324,7 +236324,7 @@ sub_0207F098: ; 0x0207F098 strh r0, [r1, #0x4] strh r0, [r1, #0x6] mov r0, #0x13 - bl sub_0201EB64 + bl FUN_0201EB64 mov r1, #0xad lsl r1, r1, #0x2 str r0, [r4, r1] @@ -236336,30 +236336,30 @@ sub_0207F098: ; 0x0207F098 ldr r3, _0207F104 ; =0x000005C1 add r0, sp, #0x10 add r2, sp, #0x8 - bl sub_0201ED10 + bl FUN_0201ED10 mov r2, #0xad lsl r2, r2, #0x2 mov r1, #0x19 ldr r2, [r4, r2] mov r0, #0x0 lsl r1, r1, #0xe - bl sub_0201EC94 + bl FUN_0201EC94 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201EC88 + bl FUN_0201EC88 mov r0, #0xad lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0201EB8C + bl FUN_0201EB8C add sp, #0x1c pop {r3-r4, pc} nop _0207F100: .word 0x020FB5CC _0207F104: .word 0x000005C1 - thumb_func_start sub_0207F108 -sub_0207F108: ; 0x0207F108 + thumb_func_start FUN_0207F108 +FUN_0207F108: ; 0x0207F108 push {r4-r7} add r4, r0, #0x0 ldr r0, _0207F170 ; =0x121400C0 @@ -236420,8 +236420,8 @@ _0207F178: .word 0x00003FE8 _0207F17C: .word 0x0400048C _0207F180: .word 0x04000504 - thumb_func_start sub_0207F184 -sub_0207F184: ; 0x0207F184 + thumb_func_start FUN_0207F184 +FUN_0207F184: ; 0x0207F184 mov r2, #0x0 ldrsh r3, [r0, r2] ldrsh r2, [r1, r2] @@ -236439,8 +236439,8 @@ sub_0207F184: ; 0x0207F184 strh r1, [r0, #0x4] bx lr - thumb_func_start sub_0207F1A4 -sub_0207F1A4: ; 0x0207F1A4 + thumb_func_start FUN_0207F1A4 +FUN_0207F1A4: ; 0x0207F1A4 push {r3-r7, lr} sub sp, #0x18 mov r2, #0xff @@ -236450,7 +236450,7 @@ sub_0207F1A4: ; 0x0207F1A4 str r0, [sp, #0x0] cmp r1, #0x4 bne _0207F1BE - bl sub_0207D598 + bl FUN_0207D598 add sp, #0x18 pop {r3-r7, pc} _0207F1BE: @@ -236514,16 +236514,16 @@ _0207F1EA: _0207F22A: ldr r0, [sp, #0x10] ldr r1, [sp, #0x14] - bl sub_0207F184 + bl FUN_0207F184 ldr r0, [sp, #0x8] ldr r1, [sp, #0xc] - bl sub_0207F184 + bl FUN_0207F184 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_0207F184 + bl FUN_0207F184 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0207F184 + bl FUN_0207F184 ldr r0, [sp, #0x14] add r7, #0x18 add r0, #0x18 @@ -236558,18 +236558,18 @@ _0207F274: bne _0207F294 ldr r0, [sp, #0x0] mov r1, #0x1 - bl sub_0207D418 + bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} _0207F294: ldr r0, [sp, #0x0] mov r1, #0x0 - bl sub_0207D418 + bl FUN_0207D418 add sp, #0x18 pop {r3-r7, pc} - thumb_func_start sub_0207F2A0 -sub_0207F2A0: ; 0x0207F2A0 + thumb_func_start FUN_0207F2A0 +FUN_0207F2A0: ; 0x0207F2A0 push {r3-r7, lr} sub sp, #0x18 ldr r1, _0207F420 ; =0x0000068C @@ -236758,7 +236758,7 @@ _0207F2AE: strh r4, [r0, r3] add r1, #0x5e strh r2, [r0, r1] - bl sub_0207F608 + bl FUN_0207F608 _0207F41A: add sp, #0x18 pop {r3-r7, pc} @@ -236768,8 +236768,8 @@ _0207F424: .word 0x020FB60C _0207F428: .word 0x020FB64C _0207F42C: .word 0x020FB68C - thumb_func_start sub_0207F430 -sub_0207F430: ; 0x0207F430 + thumb_func_start FUN_0207F430 +FUN_0207F430: ; 0x0207F430 push {r4-r5} cmp r2, #0xff bne _0207F446 @@ -236819,8 +236819,8 @@ _0207F45A: pop {r4-r5} bx lr - thumb_func_start sub_0207F48C -sub_0207F48C: ; 0x0207F48C + thumb_func_start FUN_0207F48C +FUN_0207F48C: ; 0x0207F48C push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -236830,43 +236830,43 @@ sub_0207F48C: ; 0x0207F48C add r6, r2, #0x0 sub r7, r1, r0 add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 mov r1, #0x0 - blx sub_020EAEF0 + blx FUN_020EAEF0 bls _0207F4E0 add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 - blx sub_020EB4C0 + blx FUN_020EA980 + blx FUN_020EB4C0 b _0207F506 _0207F4E0: add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 - blx sub_020EB4C0 + blx FUN_020EB7B0 + blx FUN_020EB4C0 _0207F506: lsl r0, r0, #0x10 asr r0, r0, #0x10 @@ -236876,43 +236876,43 @@ _0207F506: ldrsh r0, [r5, r0] sub r7, r1, r0 add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 mov r1, #0x0 - blx sub_020EAEF0 + blx FUN_020EAEF0 bls _0207F558 add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 - blx sub_020EB4C0 + blx FUN_020EA980 + blx FUN_020EB4C0 b _0207F57E _0207F558: add r0, r7, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 - blx sub_020EB4C0 + blx FUN_020EB7B0 + blx FUN_020EB4C0 _0207F57E: lsl r0, r0, #0x10 asr r0, r0, #0x10 @@ -236922,43 +236922,43 @@ _0207F57E: ldrsh r0, [r5, r0] sub r4, r1, r0 add r0, r4, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 mov r1, #0x0 - blx sub_020EAEF0 + blx FUN_020EAEF0 bls _0207F5D0 add r0, r4, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 - blx sub_020EB4C0 + blx FUN_020EA980 + blx FUN_020EB4C0 b _0207F5F6 _0207F5D0: add r0, r4, #0x0 - blx sub_020EB534 + blx FUN_020EB534 ldr r1, _0207F600 ; =0x45800000 - blx sub_020EB084 + blx FUN_020EB084 ldr r1, _0207F604 ; =0x40800000 - blx sub_020EB084 + blx FUN_020EB084 add r1, r0, #0x0 ldr r0, _0207F600 ; =0x45800000 - blx sub_020EB5C4 + blx FUN_020EB5C4 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 - blx sub_020EB4C0 + blx FUN_020EB7B0 + blx FUN_020EB4C0 _0207F5F6: lsl r0, r0, #0x10 asr r0, r0, #0x10 @@ -236968,8 +236968,8 @@ _0207F5F6: _0207F600: .word 0x45800000 _0207F604: .word 0x40800000 - thumb_func_start sub_0207F608 -sub_0207F608: ; 0x0207F608 + thumb_func_start FUN_0207F608 +FUN_0207F608: ; 0x0207F608 push {r3-r7, lr} sub sp, #0x28 ldr r2, _0207F7D0 ; =0x00000295 @@ -236979,43 +236979,43 @@ sub_0207F608: ; 0x0207F608 ldrb r2, [r5, r2] ldr r0, _0207F7D4 ; =0x020FB5D8 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F7DC ; =0x000003A2 ldrb r2, [r5, r2] ldr r0, _0207F7E0 ; =0x020FB5EA add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F7E8 ; =0x000003AE ldrb r2, [r5, r2] ldr r0, _0207F7EC ; =0x020FB5FC add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 mov r1, #0xea lsl r1, r1, #0x2 ldr r0, _0207F7F0 ; =0x020FB60E add r1, r5, r1 mov r2, #0x0 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xed lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F7F8 ; =0x020FB620 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7D0 ; =0x00000295 ldr r1, _0207F7FC ; =0x000003BA ldrb r2, [r5, r2] ldr r0, _0207F800 ; =0x020FB632 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r1, _0207F804 ; =0x000003C6 ldr r0, _0207F808 ; =0x020FB644 add r1, r5, r1 mov r2, #0x0 - bl sub_0207F430 + bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf @@ -237023,25 +237023,25 @@ sub_0207F608: ; 0x0207F608 ldrb r2, [r5, r2] ldr r0, _0207F80C ; =0x020FB656 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7F4 ; =0x00000299 mov r1, #0xf3 lsl r1, r1, #0x2 ldrb r2, [r5, r2] ldr r0, _0207F810 ; =0x020FB668 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r1, _0207F814 ; =0x000003D2 ldr r0, _0207F818 ; =0x020FB67A add r1, r5, r1 mov r2, #0x0 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F81C ; =0x000003DE ldrb r2, [r5, r2] ldr r0, _0207F820 ; =0x020FB68C add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0xf6 @@ -237049,25 +237049,25 @@ sub_0207F608: ; 0x0207F608 ldrb r2, [r5, r2] ldr r0, _0207F824 ; =0x020FB69E add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 mov r1, #0xf9 lsl r1, r1, #0x2 ldr r0, _0207F828 ; =0x020FB6B0 add r1, r5, r1 mov r2, #0x0 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7D8 ; =0x00000296 ldr r1, _0207F82C ; =0x000003EA ldrb r2, [r5, r2] ldr r0, _0207F830 ; =0x020FB6C2 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 ldr r2, _0207F7E4 ; =0x00000297 ldr r1, _0207F834 ; =0x000003F6 ldrb r2, [r5, r2] ldr r0, _0207F838 ; =0x020FB6D4 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 mov r2, #0xa6 lsl r2, r2, #0x2 mov r1, #0x3f @@ -237075,7 +237075,7 @@ sub_0207F608: ; 0x0207F608 ldrb r2, [r5, r2] ldr r0, _0207F83C ; =0x020FB6E6 add r1, r5, r1 - bl sub_0207F430 + bl FUN_0207F430 mov r0, #0x0 str r0, [sp, #0x24] mov r0, #0xcf @@ -237125,19 +237125,19 @@ _0207F756: ldr r0, [sp, #0x18] ldr r1, [sp, #0x1c] ldr r2, [sp, #0x20] - bl sub_0207F48C + bl FUN_0207F48C ldr r0, [sp, #0xc] ldr r1, [sp, #0x10] ldr r2, [sp, #0x14] - bl sub_0207F48C + bl FUN_0207F48C ldr r0, [sp, #0x0] ldr r1, [sp, #0x4] ldr r2, [sp, #0x8] - bl sub_0207F48C + bl FUN_0207F48C add r0, r4, #0x0 add r1, r6, #0x0 add r2, r7, #0x0 - bl sub_0207F48C + bl FUN_0207F48C ldr r0, [sp, #0x20] add r7, #0x18 add r0, #0x18 @@ -237209,18 +237209,18 @@ _0207F834: .word 0x000003F6 _0207F838: .word 0x020FB6D4 _0207F83C: .word 0x020FB6E6 - thumb_func_start sub_0207F840 -sub_0207F840: ; 0x0207F840 + thumb_func_start FUN_0207F840 +FUN_0207F840: ; 0x0207F840 push {r4, lr} sub sp, #0x20 add r4, r0, #0x0 mov r0, #0x13 - bl sub_02006D98 + bl FUN_02006D98 mov r1, #0xae lsl r1, r1, #0x2 str r0, [r4, r1] add r0, r4, #0x0 - bl sub_0207B628 + bl FUN_0207B628 add r1, r0, #0x0 mov r0, #0x93 lsl r0, r0, #0x2 @@ -237230,23 +237230,23 @@ sub_0207F840: ; 0x0207F840 add r0, sp, #0x10 bne _0207F870 mov r2, #0x2 - bl sub_02068B70 + bl FUN_02068B70 b _0207F876 _0207F870: mov r2, #0x2 - bl sub_02068B68 + bl FUN_02068B68 _0207F876: mov r1, #0xaf lsl r1, r1, #0x2 add r0, r4, r1 sub r1, #0x60 ldrh r1, [r4, r1] - bl sub_02069010 + bl FUN_02069010 mov r0, #0x97 lsl r0, r0, #0x2 ldrh r0, [r4, r0] mov r1, #0x1c - bl sub_02068678 + bl FUN_02068678 mov r1, #0x1 eor r0, r1 mov r1, #0xb6 @@ -237265,7 +237265,7 @@ _0207F876: add r1, sp, #0x10 mov r2, #0x34 mov r3, #0x68 - bl sub_020073A0 + bl FUN_020073A0 mov r2, #0xb5 lsl r2, r2, #0x2 str r0, [r4, r2] @@ -237273,13 +237273,13 @@ _0207F876: add r2, r2, #0x4 ldr r2, [r4, r2] mov r1, #0x23 - bl sub_02007558 + bl FUN_02007558 add sp, #0x20 pop {r4, pc} .balign 4 - thumb_func_start sub_0207F8D0 -sub_0207F8D0: ; 0x0207F8D0 + thumb_func_start FUN_0207F8D0 +FUN_0207F8D0: ; 0x0207F8D0 push {r3-r4, lr} sub sp, #0xc mov r1, #0x2a @@ -237302,14 +237302,14 @@ sub_0207F8D0: ; 0x0207F8D0 add r1, #0x34 ldr r0, [r4, r0] ldr r1, [r4, r1] - bl sub_02069038 + bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} _0207F904: add r1, #0x34 ldr r0, [r4, r1] mov r1, #0x1 - bl sub_02007314 + bl FUN_02007314 mov r1, #0x0 mov r2, #0xb6 str r1, [sp, #0x0] @@ -237325,31 +237325,31 @@ _0207F904: ldrh r2, [r4, r2] ldr r0, [r4, r0] ldr r1, [r4, r1] - bl sub_02069038 + bl FUN_02069038 add sp, #0xc pop {r3-r4, pc} - thumb_func_start sub_0207F934 -sub_0207F934: ; 0x0207F934 + thumb_func_start FUN_0207F934 +FUN_0207F934: ; 0x0207F934 push {r4, lr} add r4, r0, #0x0 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] mov r1, #0x0 - bl sub_02014D9C + bl FUN_02014D9C mov r0, #0xae lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020072E8 + bl FUN_020072E8 add r0, r4, #0x0 - bl sub_0207F840 + bl FUN_0207F840 add r0, r4, #0x0 - bl sub_0207F8D0 + bl FUN_0207F8D0 pop {r4, pc} - thumb_func_start sub_0207F95C -sub_0207F95C: ; 0x0207F95C + thumb_func_start FUN_0207F95C +FUN_0207F95C: ; 0x0207F95C push {r4, lr} add r4, r0, #0x0 mov r0, #0x93 @@ -237388,7 +237388,7 @@ _0207F992: ldr r0, [r4, #0x0] mov r2, #0x0 add r3, r1, #0x0 - bl sub_0201AEE4 + bl FUN_0201AEE4 b _0207F9BA _0207F9AC: ldr r1, _0207F9C4 ; =0x0000068F @@ -237400,19 +237400,19 @@ _0207F9AC: strb r0, [r4, r1] _0207F9BA: add r0, r4, #0x0 - bl sub_0207FA38 + bl FUN_0207FA38 pop {r4, pc} nop _0207F9C4: .word 0x0000068F - thumb_func_start sub_0207F9C8 -sub_0207F9C8: ; 0x0207F9C8 + thumb_func_start FUN_0207F9C8 +FUN_0207F9C8: ; 0x0207F9C8 push {r3-r7, lr} ldr r0, [r0, #0x0] add r4, r1, #0x0 mov r1, #0x4 add r5, r2, #0x0 - bl sub_0201886C + bl FUN_0201886C add r7, r0, #0x0 lsl r0, r5, #0x2 add r1, r5, r0 @@ -237465,8 +237465,8 @@ _0207FA08: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_0207FA38 -sub_0207FA38: ; 0x0207FA38 + thumb_func_start FUN_0207FA38 +FUN_0207FA38: ; 0x0207FA38 push {r3-r7, lr} add r6, r0, #0x0 ldr r0, _0207FA78 ; =0x0000068F @@ -237488,7 +237488,7 @@ _0207FA52: add r0, r6, #0x0 add r1, r4, r1 add r2, r7, #0x0 - bl sub_0207F9C8 + bl FUN_0207F9C8 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -237496,17 +237496,17 @@ _0207FA52: _0207FA6C: ldr r0, [r6, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 _0207FA74: pop {r3-r7, pc} nop _0207FA78: .word 0x0000068F _0207FA7C: .word 0x02106148 - thumb_func_start sub_0207FA80 -sub_0207FA80: ; 0x0207FA80 + thumb_func_start FUN_0207FA80 +FUN_0207FA80: ; 0x0207FA80 push {r3, lr} - bl sub_0207FA98 + bl FUN_0207FA98 mov r1, #0x0 mvn r1, r1 cmp r0, r1 @@ -237518,8 +237518,8 @@ _0207FA94: mov r0, #0xff pop {r3, pc} - thumb_func_start sub_0207FA98 -sub_0207FA98: ; 0x0207FA98 + thumb_func_start FUN_0207FA98 +FUN_0207FA98: ; 0x0207FA98 push {r3, lr} ldr r1, _0207FAB8 ; =0x0000068F ldrb r0, [r0, r1] @@ -237534,14 +237534,14 @@ _0207FAAC: lsl r1, r0, #0x2 ldr r0, _0207FABC ; =0x0210613C ldr r0, [r0, r1] - bl sub_02020988 + bl FUN_02020988 pop {r3, pc} .balign 4 _0207FAB8: .word 0x0000068F _0207FABC: .word 0x0210613C - thumb_func_start sub_0207FAC0 -sub_0207FAC0: ; 0x0207FAC0 + thumb_func_start FUN_0207FAC0 +FUN_0207FAC0: ; 0x0207FAC0 push {r3-r5, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -237559,7 +237559,7 @@ _0207FADA: lsl r1, r0, #0x2 ldr r0, _0207FB1C ; =0x0210613C ldr r0, [r0, r1] - bl sub_02020968 + bl FUN_02020968 add r4, r0, #0x0 mov r0, #0x0 mvn r0, r0 @@ -237575,7 +237575,7 @@ _0207FADA: ldrh r2, [r3, #0x1c] ldrh r3, [r3, #0x1e] mov r1, #0x4 - bl sub_0201AFBC + bl FUN_0201AFBC cmp r0, #0x0 bne _0207FB12 mov r0, #0x0 @@ -237592,8 +237592,8 @@ _0207FB1C: .word 0x0210613C _0207FB20: .word 0x0000FFFE _0207FB24: .word 0x021C48F8 - thumb_func_start sub_0207FB28 -sub_0207FB28: ; 0x0207FB28 + thumb_func_start FUN_0207FB28 +FUN_0207FB28: ; 0x0207FB28 push {r4-r6, lr} ldr r1, _0207FBF4 ; =0x0000068F add r5, r0, #0x0 @@ -237614,21 +237614,21 @@ sub_0207FB28: ; 0x0207FB28 _0207FB4A: sub r1, #0xab add r0, r1, #0x0 - bl sub_020054C8 + bl FUN_020054C8 add r0, r5, #0x0 - bl sub_0207FA38 + bl FUN_0207FA38 ldr r1, _0207FBFC ; =0x00000696 add r0, r5, #0x0 ldrb r1, [r5, r1] mov r2, #0x2 lsl r1, r1, #0x2 add r1, r4, r1 - bl sub_0207F9C8 + bl FUN_0207F9C8 ldr r0, [r5, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 add r0, r5, #0x0 - bl sub_0207CEDC + bl FUN_0207CEDC ldr r0, _0207FC00 ; =0x00000694 mov r1, #0x0 strb r1, [r5, r0] @@ -237653,11 +237653,11 @@ _0207FB8C: strb r2, [r5, r0] b _0207FBEE _0207FBA0: - bl sub_0207CF58 + bl FUN_0207CF58 ldr r0, _0207FBFC ; =0x00000696 ldrb r6, [r5, r0] add r0, r5, #0x0 - bl sub_0207FAC0 + bl FUN_0207FAC0 cmp r6, r0 beq _0207FBEE mov r0, #0x2a @@ -237675,18 +237675,18 @@ _0207FBA0: add r0, r5, #0x0 add r1, r4, r1 mov r2, #0x0 - bl sub_0207F9C8 + bl FUN_0207F9C8 b _0207FBE2 _0207FBD6: lsl r1, r6, #0x2 add r0, r5, #0x0 add r1, r4, r1 mov r2, #0x1 - bl sub_0207F9C8 + bl FUN_0207F9C8 _0207FBE2: ldr r0, [r5, #0x0] mov r1, #0x4 - bl sub_0201AC68 + bl FUN_0201AC68 mov r0, #0x1 pop {r4-r6, pc} _0207FBEE: @@ -237698,8 +237698,8 @@ _0207FBF8: .word 0x02106148 _0207FBFC: .word 0x00000696 _0207FC00: .word 0x00000694 - thumb_func_start sub_0207FC04 -sub_0207FC04: ; 0x0207FC04 + thumb_func_start FUN_0207FC04 +FUN_0207FC04: ; 0x0207FC04 push {r4-r5} ldr r4, _0207FC38 ; =0x0000068F ldrb r3, [r0, r4] @@ -237729,8 +237729,8 @@ sub_0207FC04: ; 0x0207FC04 _0207FC38: .word 0x0000068F _0207FC3C: .word 0x02106148 - thumb_func_start sub_0207FC40 -sub_0207FC40: ; 0x0207FC40 + thumb_func_start FUN_0207FC40 +FUN_0207FC40: ; 0x0207FC40 ldr r2, _0207FC54 ; =0x0000068F ldrb r0, [r0, r2] lsl r0, r0, #0x1c @@ -237744,8 +237744,8 @@ sub_0207FC40: ; 0x0207FC40 _0207FC54: .word 0x0000068F _0207FC58: .word 0x02106148 - thumb_func_start sub_0207FC5C -sub_0207FC5C: ; 0x0207FC5C + thumb_func_start FUN_0207FC5C +FUN_0207FC5C: ; 0x0207FC5C cmp r1, #0x4 bhi _0207FCA8 add r1, r1, r1 @@ -237776,8 +237776,8 @@ _0207FCAC: .word 0x020FB788 _0207FCB0: .byte 0x8C, 0xB7, 0x0F, 0x02, 0x8E, 0xB7, 0x0F, 0x02, 0x90, 0xB7, 0x0F, 0x02, 0x92, 0xB7, 0x0F, 0x02 - thumb_func_start sub_0207FCC0 -sub_0207FCC0: ; 0x0207FCC0 + thumb_func_start FUN_0207FCC0 +FUN_0207FCC0: ; 0x0207FCC0 mov r2, #0xc mul r2, r1 ldr r1, _0207FCDC ; =0x020FB792 @@ -237796,8 +237796,8 @@ _0207FCD8: .balign 4 _0207FCDC: .word 0x020FB792 - thumb_func_start sub_0207FCE0 -sub_0207FCE0: ; 0x0207FCE0 + thumb_func_start FUN_0207FCE0 +FUN_0207FCE0: ; 0x0207FCE0 mov r1, #0xc mul r1, r0 ldr r0, _0207FCFC ; =0x020FB792 @@ -237815,15 +237815,15 @@ _0207FCF6: nop _0207FCFC: .word 0x020FB792 - thumb_func_start sub_0207FD00 -sub_0207FD00: ; 0x0207FD00 + thumb_func_start FUN_0207FD00 +FUN_0207FD00: ; 0x0207FD00 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x3c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r2, #0x65 str r7, [r4, #0x0] @@ -237831,12 +237831,12 @@ sub_0207FD00: ; 0x0207FD00 mov r1, #0x1a lsl r2, r2, #0x2 add r3, r7, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x4] ldr r2, [r4, #0x0] mov r0, #0x9 mov r1, #0x20 - bl sub_0200AA90 + bl FUN_0200AA90 str r0, [r4, #0x8] str r5, [r4, #0xc] str r6, [r4, #0x10] @@ -237854,7 +237854,7 @@ sub_0207FD00: ; 0x0207FD00 ldr r0, [r4, #0xc] ldr r1, [r4, #0x10] ldr r2, [r4, #0x0] - bl sub_020806F4 + bl FUN_020806F4 cmp r0, #0x14 bls _0207FD5A b _02080090 @@ -237889,20 +237889,20 @@ _0207FD5A: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 - bl sub_020800E0 + bl FUN_020800E0 mov r0, #0x2 str r0, [r4, #0x1c] add r0, r4, #0x0 mov r1, #0x31 - bl sub_02080108 + bl FUN_02080108 mov r0, #0x6 str r0, [r4, #0x24] add r0, r4, #0x0 - bl sub_0208048C + bl FUN_0208048C mov r0, #0x7 str r0, [r4, #0x2c] add r0, r4, #0x0 - bl sub_02080678 + bl FUN_02080678 b _02080090 _0207FDBC: .byte 0x01, 0x20, 0x60, 0x61 @@ -237955,67 +237955,67 @@ _02080090: add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02080094 -sub_02080094: ; 0x02080094 + thumb_func_start FUN_02080094 +FUN_02080094: ; 0x02080094 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x18] cmp r0, #0x0 beq _020800A2 - bl sub_02016A18 + bl FUN_02016A18 _020800A2: ldr r0, [r4, #0x20] cmp r0, #0x0 beq _020800AC - bl sub_02016A18 + bl FUN_02016A18 _020800AC: ldr r0, [r4, #0x28] cmp r0, #0x0 beq _020800B6 - bl sub_02016A18 + bl FUN_02016A18 _020800B6: ldr r0, [r4, #0x30] cmp r0, #0x0 beq _020800C0 - bl sub_02016A18 + bl FUN_02016A18 _020800C0: ldr r0, [r4, #0x38] cmp r0, #0x0 beq _020800CA - bl sub_02016A18 + bl FUN_02016A18 _020800CA: ldr r0, [r4, #0x8] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [r4, #0x4] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020800E0 -sub_020800E0: ; 0x020800E0 + thumb_func_start FUN_020800E0 +FUN_020800E0: ; 0x020800E0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] - bl sub_02068854 + bl FUN_02068854 add r4, r0, #0x0 cmp r4, #0x18 bgt _02080106 ldr r1, [r5, #0x0] mov r0, #0x48 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x18] add r4, #0x18 ldr r0, [r5, #0x4] ldr r2, [r5, #0x18] add r1, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 _02080106: pop {r3-r5, pc} - thumb_func_start sub_02080108 -sub_02080108: ; 0x02080108 + thumb_func_start FUN_02080108 +FUN_02080108: ; 0x02080108 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -238023,21 +238023,21 @@ sub_02080108: ; 0x02080108 mov r0, #0x9 ldr r1, [r5, #0x0] lsl r0, r0, #0x6 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 mov r0, #0x9 ldr r1, [r5, #0x0] lsl r0, r0, #0x6 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x20] ldr r0, [r5, #0x4] add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [r5, #0xc] mov r1, #0x94 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -238045,19 +238045,19 @@ sub_02080108: ; 0x02080108 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x1 - bl sub_0200B764 + bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238066,11 +238066,11 @@ sub_02080108: ; 0x02080108 mov r1, #0x2 ldr r0, [r5, #0x8] add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x9b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238079,19 +238079,19 @@ sub_02080108: ; 0x02080108 mov r1, #0x3 ldr r0, [r5, #0x8] add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x4 - bl sub_0200B59C + bl FUN_0200B59C ldr r0, [r5, #0xc] mov r1, #0x91 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -238099,19 +238099,19 @@ sub_02080108: ; 0x02080108 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 - bl sub_0200B764 + bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238120,26 +238120,26 @@ sub_02080108: ; 0x02080108 ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 - bl sub_0200B59C + bl FUN_0200B59C ldr r0, [r5, #0x8] ldr r1, [r5, #0x20] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02080228 -sub_02080228: ; 0x02080228 + thumb_func_start FUN_02080228 +FUN_02080228: ; 0x02080228 push {r4-r6, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -238147,21 +238147,21 @@ sub_02080228: ; 0x02080228 mov r0, #0x12 ldr r1, [r4, #0x0] lsl r0, r0, #0x4 - bl sub_020219F4 + bl FUN_020219F4 add r5, r0, #0x0 mov r0, #0x12 ldr r1, [r4, #0x0] lsl r0, r0, #0x4 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x20] ldr r0, [r4, #0x4] add r1, r6, #0x0 add r2, r5, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [r4, #0xc] mov r1, #0x94 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -238169,19 +238169,19 @@ sub_02080228: ; 0x02080228 str r0, [sp, #0x4] ldr r0, [r4, #0x8] mov r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x95 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x1 - bl sub_0200B764 + bl FUN_0200B764 ldr r0, [r4, #0xc] mov r1, #0x96 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238190,11 +238190,11 @@ sub_02080228: ; 0x02080228 mov r1, #0x2 ldr r0, [r4, #0x8] add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x9b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238203,11 +238203,11 @@ sub_02080228: ; 0x02080228 mov r1, #0x3 ldr r0, [r4, #0x8] add r3, r1, #0x0 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r4, #0xc] mov r1, #0x79 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0xf bhi _020802F8 add r0, r0, r0 @@ -238235,11 +238235,11 @@ sub_02080228: ; 0x02080228 _020802F8: mov r0, #0x1 mov r1, #0x7 - bl sub_02015CF8 + bl FUN_02015CF8 add r2, r0, #0x0 ldr r0, [r4, #0x8] mov r1, #0x4 - bl sub_0200B59C + bl FUN_0200B59C b _0208036E _0208030C: .byte 0x01, 0x20, 0x03, 0x21 @@ -238253,15 +238253,15 @@ _0208036E: ldr r0, [r4, #0x8] ldr r1, [r4, #0x20] add r2, r5, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02080384 -sub_02080384: ; 0x02080384 + thumb_func_start FUN_02080384 +FUN_02080384: ; 0x02080384 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 @@ -238270,23 +238270,23 @@ sub_02080384: ; 0x02080384 ldr r1, [r5, #0x0] lsl r0, r0, #0x2 add r6, r2, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 mov r0, #0x5a ldr r1, [r5, #0x0] lsl r0, r0, #0x2 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x20] ldr r0, [r5, #0x4] add r1, r7, #0x0 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 cmp r6, #0x0 ldr r0, [r5, #0xc] bne _02080418 mov r1, #0x91 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -238294,19 +238294,19 @@ sub_02080384: ; 0x02080384 str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x92 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 - bl sub_0200B764 + bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x93 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238315,20 +238315,20 @@ sub_02080384: ; 0x02080384 ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 - bl sub_0200B59C + bl FUN_0200B59C b _02080478 _02080418: mov r1, #0x94 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r3, #0x2 add r2, r0, #0x0 str r3, [sp, #0x0] @@ -238336,19 +238336,19 @@ _02080418: str r0, [sp, #0x4] ldr r0, [r5, #0x8] mov r1, #0x5 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x95 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x6 - bl sub_0200B764 + bl FUN_0200B764 ldr r0, [r5, #0xc] mov r1, #0x96 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -238357,70 +238357,70 @@ _02080418: ldr r0, [r5, #0x8] mov r1, #0x7 mov r3, #0x2 - bl sub_0200AD38 + bl FUN_0200AD38 ldr r0, [r5, #0xc] mov r1, #0x98 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r0, [r5, #0x8] mov r1, #0x8 - bl sub_0200B59C + bl FUN_0200B59C _02080478: ldr r0, [r5, #0x8] ldr r1, [r5, #0x20] add r2, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_0208048C -sub_0208048C: ; 0x0208048C + thumb_func_start FUN_0208048C +FUN_0208048C: ; 0x0208048C push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 ldr r1, [r4, #0x0] mov r0, #0x48 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x28] ldr r0, [r4, #0xc] mov r1, #0x46 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] ldr r0, [r4, #0xc] mov r1, #0x47 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] ldr r0, [r4, #0xc] mov r1, #0x48 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x4] ldr r0, [r4, #0xc] mov r1, #0x49 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x0] ldr r0, [r4, #0xc] mov r1, #0x4a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 ldr r0, [r4, #0xc] mov r1, #0x4b mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r1, #0x0 ldr r0, [r4, #0xc] add r2, r1, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x6 - blx sub_020EBE8C + blx FUN_020EBE8C cmp r1, #0x5 bhi _02080510 add r0, r1, r1 @@ -238490,7 +238490,7 @@ _02080548: .byte 0x04, 0x25, 0x38, 0x1C _02080654: mov r1, #0x5 - blx sub_020EBC80 + blx FUN_020EBC80 mov r2, #0xa add r6, r5, #0x0 mul r6, r2 @@ -238500,26 +238500,26 @@ _02080654: ldrh r1, [r2, r1] ldr r0, [r4, #0x4] ldr r2, [r4, #0x28] - bl sub_0200A8E0 + bl FUN_0200A8E0 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02080674: .word 0x020FBB54 - thumb_func_start sub_02080678 -sub_02080678: ; 0x02080678 + thumb_func_start FUN_02080678 +FUN_02080678: ; 0x02080678 push {r4-r6, lr} add r5, r0, #0x0 ldr r1, [r5, #0x0] mov r0, #0x48 - bl sub_020219F4 + bl FUN_020219F4 mov r6, #0x0 str r0, [r5, #0x30] add r4, r6, #0x0 _0208068A: ldr r0, [r5, #0xc] add r1, r4, #0x0 - bl sub_02069BC8 + bl FUN_02069BC8 cmp r0, #0x1 bne _02080698 add r6, r4, #0x1 @@ -238532,24 +238532,24 @@ _02080698: ldrh r1, [r1, r2] ldr r0, [r5, #0x4] ldr r2, [r5, #0x30] - bl sub_0200A8E0 + bl FUN_0200A8E0 pop {r4-r6, pc} nop _020806B0: .word 0x020FBB48 - thumb_func_start sub_020806B4 -sub_020806B4: ; 0x020806B4 + thumb_func_start FUN_020806B4 +FUN_020806B4: ; 0x020806B4 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 mov r0, #0x12 ldr r1, [r5, #0x0] lsl r0, r0, #0x4 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x38] cmp r4, #0x5 bgt _020806D8 @@ -238570,17 +238570,17 @@ _020806E8: _020806EA: ldr r0, [r5, #0x4] ldr r2, [r5, #0x38] - bl sub_0200A8E0 + bl FUN_0200A8E0 pop {r3-r5, pc} - thumb_func_start sub_020806F4 -sub_020806F4: ; 0x020806F4 + thumb_func_start FUN_020806F4 +FUN_020806F4: ; 0x020806F4 push {r4-r6, lr} add r4, r1, #0x0 mov r1, #0x4c mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02080708 b _0208084E @@ -238588,17 +238588,17 @@ _02080708: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _02080774 add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x0 mov r1, #0x37 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r6, r0 bne _02080732 mov r0, #0xf @@ -238607,7 +238607,7 @@ _02080732: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _0208074C cmp r4, #0x1 @@ -238621,11 +238621,11 @@ _0208074C: add r0, r5, #0x0 mov r1, #0x98 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r5, r0 bne _02080768 mov r0, #0x2 @@ -238642,17 +238642,17 @@ _02080774: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _020807D6 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x2 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r6, r0 bne _020807A6 cmp r4, #0x1 @@ -238666,11 +238666,11 @@ _020807A6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x2 mov r1, #0x1 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r5, r0 bne _020807CA cmp r4, #0x1 @@ -238692,41 +238692,41 @@ _020807D6: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 add r1, r0, #0x0 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x0 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 mov r0, #0x1 mov r1, #0x9 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r6, r0 beq _02080836 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 mov r0, #0x1 mov r1, #0xa - bl sub_02015CF8 + bl FUN_02015CF8 cmp r5, r0 bne _02080842 _02080836: @@ -238751,17 +238751,17 @@ _0208084E: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _02080880 add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 mov r0, #0x2 mov r1, #0x1 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r4, r0 bne _0208087C mov r0, #0x14 @@ -238776,7 +238776,7 @@ _02080884: add r0, r5, #0x0 mov r1, #0x6e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x1 bne _02080896 mov r0, #0x13 @@ -238786,18 +238786,18 @@ _02080896: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0208089C -sub_0208089C: ; 0x0208089C + thumb_func_start FUN_0208089C +FUN_0208089C: ; 0x0208089C push {r3-r4, lr} sub sp, #0x4 ldr r4, [sp, #0x10] str r4, [sp, #0x0] - bl sub_020808AC + bl FUN_020808AC add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_020808AC -sub_020808AC: ; 0x020808AC + thumb_func_start FUN_020808AC +FUN_020808AC: ; 0x020808AC push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 @@ -238822,7 +238822,7 @@ _020808BC: lsl r6, r1, #0x6 mov r0, #0x1 mov r1, #0x0 - bl sub_02015CF8 + bl FUN_02015CF8 cmp r5, r0 ble _020808E4 mov r5, #0x0 @@ -238830,32 +238830,32 @@ _020808E4: add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC cmp r0, #0x0 bne _0208090C add r0, r4, #0x0 mov r1, #0x0 - bl sub_02080BA8 + bl FUN_02080BA8 add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x1 - bl sub_02080B30 + bl FUN_02080B30 add r0, r4, #0x0 - bl sub_02080C08 + bl FUN_02080C08 b _0208091E _0208090C: add r0, r4, #0x0 add r1, r5, #0x0 mov r2, #0x0 - bl sub_02080B30 + bl FUN_02080B30 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02080BA8 + bl FUN_02080BA8 _0208091E: add r0, r4, #0x0 add r1, r7, #0x0 add r2, r6, #0x0 - bl sub_02080AE4 + bl FUN_02080AE4 pop {r3-r7, pc} _0208092A: .byte 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7 @@ -238890,67 +238890,67 @@ _02080AE0: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02080AE4 -sub_02080AE4: ; 0x02080AE4 + thumb_func_start FUN_02080AE4 +FUN_02080AE4: ; 0x02080AE4 push {r4-r6, lr} sub sp, #0x8 add r4, r1, #0x0 add r5, r0, #0x0 add r0, r4, #0x0 add r6, r2, #0x0 - bl sub_020239BC + bl FUN_020239BC str r0, [sp, #0x4] add r0, r4, #0x0 - bl sub_020239CC + bl FUN_020239CC str r0, [sp, #0x0] add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_020239A0 + bl FUN_020239A0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x7 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x9c add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x90 add r2, r4, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add sp, #0x8 pop {r4-r6, pc} - thumb_func_start sub_02080B30 -sub_02080B30: ; 0x02080B30 + thumb_func_start FUN_02080B30 +FUN_02080B30: ; 0x02080B30 push {r0-r3} push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 add r0, sp, #0x0 add r4, r2, #0x0 - bl sub_020126B4 + bl FUN_020126B4 cmp r4, #0x0 add r2, sp, #0x24 bne _02080B76 add r0, r5, #0x0 mov r1, #0x97 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x92 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x93 add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 add sp, #0x10 pop {r3-r5} pop {r3} @@ -238959,19 +238959,19 @@ sub_02080B30: ; 0x02080B30 _02080B76: add r0, r5, #0x0 mov r1, #0x98 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x95 add r2, sp, #0x4 - bl sub_02067960 + bl FUN_02067960 add r0, r5, #0x0 mov r1, #0x96 add r2, sp, #0x8 - bl sub_02067960 + bl FUN_02067960 add sp, #0x10 pop {r3-r5} pop {r3} @@ -238979,8 +238979,8 @@ _02080B76: bx r3 .balign 4 - thumb_func_start sub_02080BA8 -sub_02080BA8: ; 0x02080BA8 + thumb_func_start FUN_02080BA8 +FUN_02080BA8: ; 0x02080BA8 push {r3-r4, lr} sub sp, #0x4 mov r2, #0x0 @@ -238990,94 +238990,94 @@ sub_02080BA8: ; 0x02080BA8 add r2, sp, #0x0 bne _02080BE0 mov r1, #0x97 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x91 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x92 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x93 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} _02080BE0: mov r1, #0x98 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x94 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x95 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add r0, r4, #0x0 mov r1, #0x96 add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02080C08 -sub_02080C08: ; 0x02080C08 + thumb_func_start FUN_02080C08 +FUN_02080C08: ; 0x02080C08 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020672BC + bl FUN_020672BC str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0x9b add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02080C28 -sub_02080C28: ; 0x02080C28 + thumb_func_start FUN_02080C28 +FUN_02080C28: ; 0x02080C28 push {r3, lr} mov r1, #0x1 str r1, [sp, #0x0] mov r1, #0x6e add r2, sp, #0x0 - bl sub_02067960 + bl FUN_02067960 pop {r3, pc} - thumb_func_start sub_02080C38 -sub_02080C38: ; 0x02080C38 + thumb_func_start FUN_02080C38 +FUN_02080C38: ; 0x02080C38 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x8 add r4, r0, #0x0 - blx sub_020CE34C - ldr r1, _02080C5C ; =sub_02080C60 + blx FUN_020CE34C + ldr r1, _02080C5C ; =FUN_02080C60 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} nop -_02080C5C: .word sub_02080C60 + 1 +_02080C5C: .word FUN_02080C60 + 1 - thumb_func_start sub_02080C60 -sub_02080C60: ; 0x02080C60 + thumb_func_start FUN_02080C60 +FUN_02080C60: ; 0x02080C60 push {r3-r7, lr} sub sp, #0x28 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xe @@ -239106,7 +239106,7 @@ _02080C7C: lsl r2, r1, #0x5 lsl r4, r3, #0x5 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -239133,9 +239133,9 @@ _02080CB4: .byte 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xCA, 0xF7, 0xD5, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 .byte 0x07, 0xE0 _02080DE2: - bl sub_02020C2C + bl FUN_02020C2C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x28 mov r0, #0x1 pop {r3-r7, pc} @@ -239147,18 +239147,18 @@ _02080DF8: .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02 .byte 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02 - thumb_func_start sub_02080E0C -sub_02080E0C: ; 0x02080E0C + thumb_func_start FUN_02080E0C +FUN_02080E0C: ; 0x02080E0C push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x8 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x8 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _02080E50 ; =0x00000121 str r6, [r4, #0x0] ldrb r0, [r6, r0] @@ -239169,29 +239169,29 @@ sub_02080E0C: ; 0x02080E0C cmp r0, #0x2 bne _02080E42 _02080E36: - ldr r1, _02080E54 ; =sub_02080E5C + ldr r1, _02080E54 ; =FUN_02080E5C add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} _02080E42: - ldr r1, _02080E58 ; =sub_02081000 + ldr r1, _02080E58 ; =FUN_02081000 add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop _02080E50: .word 0x00000121 -_02080E54: .word sub_02080E5C + 1 -_02080E58: .word sub_02081000 + 1 +_02080E54: .word FUN_02080E5C + 1 +_02080E58: .word FUN_02081000 + 1 - thumb_func_start sub_02080E5C -sub_02080E5C: ; 0x02080E5C + thumb_func_start FUN_02080E5C +FUN_02080E5C: ; 0x02080E5C push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0xd @@ -239219,7 +239219,7 @@ _02080E74: lsl r6, r7, #0x4 lsl r0, r2, #0x5 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -239245,9 +239245,9 @@ _02080EAA: .byte 0xA7, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x10, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x0D, 0xE0 .byte 0x28, 0x1C, 0xC9, 0xF7, 0xDF, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x06, 0xE0 _02080FCE: - bl sub_02020C2C + bl FUN_02020C2C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x1 pop {r3-r5, pc} _02080FDC: @@ -239257,14 +239257,14 @@ _02080FE0: .byte 0x71, 0x01, 0x00, 0x00, 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02 .byte 0x21, 0x01, 0x00, 0x00, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02, 0xB8, 0xBB, 0x0F, 0x02 - thumb_func_start sub_02081000 -sub_02081000: ; 0x02081000 + thumb_func_start FUN_02081000 +FUN_02081000: ; 0x02081000 push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, [r4, #0x4] cmp r0, #0x9 @@ -239288,7 +239288,7 @@ _0208101A: lsl r6, r5, #0x5 lsl r0, r0, #0x6 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -239318,9 +239318,9 @@ _02081048: .byte 0x40, 0x1C, 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xC9, 0xF7, 0xF4, 0xFE, 0x60, 0x68, 0x40, 0x1C .byte 0x60, 0x60, 0x07, 0xE0 _020811A4: - bl sub_02020C2C + bl FUN_02020C2C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} @@ -239334,16 +239334,16 @@ _020811BC: .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02 .byte 0xE8, 0xBB, 0x0F, 0x02, 0x2E, 0x01, 0x00, 0x00 - thumb_func_start sub_020811D8 -sub_020811D8: ; 0x020811D8 + thumb_func_start FUN_020811D8 +FUN_020811D8: ; 0x020811D8 push {r4, lr} ldr r1, _02081204 ; =0x000019C4 mov r0, #0x14 - bl sub_02016998 + bl FUN_02016998 ldr r2, _02081204 ; =0x000019C4 mov r1, #0x0 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _02081208 ; =0x00000123 mov r1, #0x0 strb r1, [r4, r0] @@ -239359,30 +239359,30 @@ sub_020811D8: ; 0x020811D8 _02081204: .word 0x000019C4 _02081208: .word 0x00000123 - thumb_func_start sub_0208120C -sub_0208120C: ; 0x0208120C - ldr r3, _02081210 ; =sub_02016A18 + thumb_func_start FUN_0208120C +FUN_0208120C: ; 0x0208120C + ldr r3, _02081210 ; =FUN_02016A18 bx r3 .balign 4 -_02081210: .word sub_02016A18 + 1 +_02081210: .word FUN_02016A18 + 1 - thumb_func_start sub_02081214 -sub_02081214: ; 0x02081214 + thumb_func_start FUN_02081214 +FUN_02081214: ; 0x02081214 push {r3-r7, lr} mov r2, #0x1 add r6, r0, #0x0 mov r0, #0xb mov r1, #0x14 lsl r2, r2, #0xe - bl sub_0201681C - bl sub_020811D8 + bl FUN_0201681C + bl FUN_020811D8 add r4, r0, #0x0 - bl sub_0201B9D4 + bl FUN_0201B9D4 mov r1, #0x67 lsl r1, r1, #0x6 str r0, [r4, r1] add r0, r4, #0x0 - bl sub_0208285C + bl FUN_0208285C ldrb r1, [r6, #0x0] ldr r0, _020813E4 ; =0x0000011F strb r1, [r4, r0] @@ -239394,7 +239394,7 @@ sub_02081214: ; 0x02081214 strb r1, [r4, r0] ldrb r0, [r6, #0x1] mov r1, #0x0 - bl sub_02083454 + bl FUN_02083454 ldr r1, _020813E8 ; =0x00000122 mov r7, #0x0 strb r0, [r4, r1] @@ -239446,7 +239446,7 @@ sub_02081214: ; 0x02081214 strb r1, [r4, r0] _020812B6: mov r0, #0x14 - bl sub_02026FE8 + bl FUN_02026FE8 add r1, r5, #0x0 add r1, #0xf8 add r7, r7, #0x1 @@ -239464,9 +239464,9 @@ _020812B6: ldrb r3, [r4, r3] add r0, r4, #0x0 mov r1, #0xb - bl sub_02082ED0 + bl FUN_02082ED0 mov r0, #0x14 - bl sub_0206B8AC + bl FUN_0206B8AC mov r1, #0x56 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -239474,7 +239474,7 @@ _020812B6: add r5, r4, #0x0 _020812F2: mov r0, #0x14 - bl sub_020669C0 + bl FUN_020669C0 add r7, r7, #0x1 stmia r5!, {r0} cmp r7, #0x4 @@ -239483,7 +239483,7 @@ _020812F2: add r5, r4, #0x0 _02081304: mov r0, #0x14 - bl sub_02029EE4 + bl FUN_02029EE4 mov r1, #0x57 lsl r1, r1, #0x2 str r0, [r5, r1] @@ -239494,13 +239494,13 @@ _02081304: add r0, r1, #0x0 ldr r0, [r4, r0] ldr r1, [r6, #0x20] - bl sub_02029F9C + bl FUN_02029F9C ldr r0, [r6, #0x8] ldr r1, [r4, #0x0] - bl sub_02069B88 + bl FUN_02069B88 mov r0, #0x8 mov r1, #0x14 - bl sub_020219F4 + bl FUN_020219F4 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] @@ -239508,9 +239508,9 @@ _02081304: add r0, #0xe8 ldr r0, [r0, #0x0] ldr r1, [r6, #0xc] - bl sub_02021A74 + bl FUN_02021A74 ldr r0, [r6, #0x10] - bl sub_020239CC + bl FUN_020239CC mov r1, #0x42 lsl r1, r1, #0x2 strb r0, [r4, r1] @@ -239520,16 +239520,16 @@ _02081304: add r1, #0x17 ldrb r1, [r4, r1] ldr r0, [r4, #0x0] - bl sub_02081540 + bl FUN_02081540 mov r1, #0x11 lsl r1, r1, #0x4 strb r0, [r4, r1] add r0, r4, #0x0 - bl sub_020832EC + bl FUN_020832EC cmp r0, #0x0 ldr r0, [r6, #0x10] bne _0208138E - bl sub_020239CC + bl FUN_020239CC cmp r0, #0x0 bne _02081384 mov r1, #0xba @@ -239544,7 +239544,7 @@ _02081384: strh r1, [r4, r0] b _020813A8 _0208138E: - bl sub_020239CC + bl FUN_020239CC cmp r0, #0x0 bne _020813A0 mov r0, #0x45 @@ -239561,9 +239561,9 @@ _020813A8: ldrb r1, [r6, #0x3] ldrb r2, [r6, #0x4] add r0, r4, #0x0 - bl sub_020813F4 + bl FUN_020813F4 add r0, r4, #0x0 - bl sub_020832EC + bl FUN_020832EC cmp r0, #0x1 bne _020813D0 ldr r1, _020813F0 ; =0x00000172 @@ -239595,8 +239595,8 @@ _020813E8: .word 0x00000122 _020813EC: .word 0x0000199C _020813F0: .word 0x00000172 - thumb_func_start sub_020813F4 -sub_020813F4: ; 0x020813F4 + thumb_func_start FUN_020813F4 +FUN_020813F4: ; 0x020813F4 push {r3-r7, lr} sub sp, #0x10 mov r3, #0x12 @@ -239613,7 +239613,7 @@ sub_020813F4: ; 0x020813F4 ldrb r3, [r5, r3] mov r1, #0xb mov r2, #0x3 - bl sub_020828E4 + bl FUN_020828E4 add r4, r5, #0x0 add r4, #0x10 mov r7, #0x1 @@ -239623,7 +239623,7 @@ _02081422: ldr r1, [r6, #0x0] add r0, r4, #0x0 mov r2, #0x14 - bl sub_02082D60 + bl FUN_02082D60 add r7, r7, #0x1 add r6, r6, #0x4 add r4, #0x30 @@ -239640,7 +239640,7 @@ _0208143C: bne _02081454 add r0, r7, #0x0 mov r1, #0x14 - bl sub_020219F4 + bl FUN_020219F4 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] @@ -239650,7 +239650,7 @@ _02081454: ldr r0, [r4, #0x0] ldr r2, [r2, #0x0] mov r1, #0x90 - bl sub_020671BC + bl FUN_020671BC add r6, r6, #0x1 add r4, r4, #0x4 cmp r6, #0x4 @@ -239718,35 +239718,35 @@ _020814CE: blt _020814CE add r0, r5, #0x0 mov r1, #0xb - bl sub_02082B90 + bl FUN_02082B90 add sp, #0x10 pop {r3-r7, pc} - thumb_func_start sub_020814E8 -sub_020814E8: ; 0x020814E8 + thumb_func_start FUN_020814E8 +FUN_020814E8: ; 0x020814E8 push {r3-r7, lr} add r7, r0, #0x0 mov r0, #0x56 lsl r0, r0, #0x2 ldr r0, [r7, r0] - bl sub_02016A18 + bl FUN_02016A18 mov r6, #0x57 mov r4, #0x0 add r5, r7, #0x0 lsl r6, r6, #0x2 _020814FE: ldr r0, [r5, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] - bl sub_02021A20 + bl FUN_02021A20 add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, r6] - bl sub_02016A18 + bl FUN_02016A18 add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 @@ -239754,16 +239754,16 @@ _020814FE: mov r0, #0x67 lsl r0, r0, #0x6 ldr r0, [r7, r0] - bl sub_0201B9E0 + bl FUN_0201B9E0 add r0, r7, #0x0 - bl sub_0208120C + bl FUN_0208120C mov r0, #0x14 - bl sub_020168D0 + bl FUN_020168D0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02081540 -sub_02081540: ; 0x02081540 + thumb_func_start FUN_02081540 +FUN_02081540: ; 0x02081540 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x1 @@ -239788,7 +239788,7 @@ _0208154C: add r0, r5, #0x0 add r1, #0x7a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 b _020815BA _02081576: @@ -239798,7 +239798,7 @@ _02081576: .byte 0x0D, 0xFE, 0x06, 0x1C, 0x09, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x8A, 0x31, 0x00, 0x22, 0xE5, 0xF7 .byte 0x05, 0xFE, 0x06, 0x1C, 0x01, 0xE0 _020815B6: - bl sub_02020C2C + bl FUN_02020C2C _020815BA: cmp r6, #0x0 beq _020815CA @@ -239813,8 +239813,8 @@ _020815CA: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020815D0 -sub_020815D0: ; 0x020815D0 + thumb_func_start FUN_020815D0 +FUN_020815D0: ; 0x020815D0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _02081658 ; =0x00000123 @@ -239823,14 +239823,14 @@ sub_020815D0: ; 0x020815D0 add r0, r5, r0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_02027740 + bl FUN_02027740 mov r0, #0x14 mov r1, #0x28 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x28 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, _02081658 ; =0x00000123 ldrb r1, [r5, r0] lsl r1, r1, #0x2 @@ -239865,7 +239865,7 @@ _02081624: str r0, [r4, #0x14] ldr r0, _02081660 ; =0x0000199C ldr r0, [r5, r0] - bl sub_0202708C + bl FUN_0202708C ldr r1, _02081664 ; =0x000019A0 str r0, [r4, #0x18] add r0, r5, r1 @@ -239887,13 +239887,13 @@ _0208165C: .word 0x00000121 _02081660: .word 0x0000199C _02081664: .word 0x000019A0 - thumb_func_start sub_02081668 -sub_02081668: ; 0x02081668 + thumb_func_start FUN_02081668 +FUN_02081668: ; 0x02081668 push {r4, lr} add r4, r0, #0x0 ldr r0, _0208167C ; =0x000019B8 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _0208167C ; =0x000019B8 mov r1, #0x0 str r1, [r4, r0] @@ -239901,8 +239901,8 @@ sub_02081668: ; 0x02081668 .balign 4 _0208167C: .word 0x000019B8 - thumb_func_start sub_02081680 -sub_02081680: ; 0x02081680 + thumb_func_start FUN_02081680 +FUN_02081680: ; 0x02081680 push {r3-r7, lr} sub sp, #0x10 ldr r2, _020819E8 ; =0x00000176 @@ -239968,7 +239968,7 @@ _02081692: lsl r2, r1, #0x19 lsl r0, r5, #0x19 mov r0, #0x5 - bl sub_02031588 + bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] @@ -240098,8 +240098,8 @@ _02081D3C: add r6, #0x1f _02081D4C: add r0, r5, #0x0 - bl sub_0202DFA4 - bl sub_020239CC + bl FUN_0202DFA4 + bl FUN_020239CC add r1, r4, r5 strb r0, [r1, r7] ldrb r0, [r4, r6] @@ -240152,17 +240152,17 @@ _02081D86: add r0, #0x5a strb r2, [r4, r0] ldr r0, [sp, #0x0] - bl sub_0200CAB4 + bl FUN_0200CAB4 add sp, #0x10 pop {r3-r7, pc} .balign 4 _02081DC0: .word 0x000019B4 - thumb_func_start sub_02081DC4 -sub_02081DC4: ; 0x02081DC4 + thumb_func_start FUN_02081DC4 +FUN_02081DC4: ; 0x02081DC4 push {r3-r7, lr} add r6, r0, #0x0 - bl sub_02030F40 + bl FUN_02030F40 cmp r0, #0x0 bne _02081DD4 mov r0, #0x0 @@ -240171,22 +240171,22 @@ _02081DD4: ldr r0, _02081EA4 ; =0x00000171 mov r1, #0x1 strb r1, [r6, r0] - bl sub_02030F20 + bl FUN_02030F20 add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 mov r5, #0x0 str r0, [sp, #0x0] cmp r4, #0x0 ble _02081E0A _02081DEC: add r0, r5, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r7, r0, #0x0 bne _02081DFA - bl sub_02020C2C + bl FUN_02020C2C _02081DFA: add r0, r7, #0x0 - bl sub_02023A88 + bl FUN_02023A88 cmp r0, #0x0 beq _02081E0A add r5, r5, #0x1 @@ -240207,13 +240207,13 @@ _02081E14: ble _02081E3C _02081E1E: add r0, r5, #0x0 - bl sub_0202DFA4 + bl FUN_0202DFA4 add r7, r0, #0x0 bne _02081E2C - bl sub_02020C2C + bl FUN_02020C2C _02081E2C: add r0, r7, #0x0 - bl sub_02023A9C + bl FUN_02023A9C cmp r0, #0x0 beq _02081E3C add r5, r5, #0x1 @@ -240234,7 +240234,7 @@ _02081E46: add r2, r2, #0x1 ldrb r2, [r6, r2] add r0, r6, #0x0 - bl sub_020813F4 + bl FUN_020813F4 ldr r0, [sp, #0x0] mov r1, #0x49 lsl r0, r0, #0x18 @@ -240256,15 +240256,15 @@ _02081E46: add r1, #0xbc ldrb r0, [r6, r1] mov r1, #0x1 - bl sub_02083454 + bl FUN_02083454 ldr r1, _02081EB0 ; =0x00000122 strb r0, [r6, r1] add r0, r6, #0x0 - bl sub_020834D0 - ldr r0, _02081EB4 ; =sub_02081680 + bl FUN_020834D0 + ldr r0, _02081EB4 ; =FUN_02081680 add r1, r6, #0x0 mov r2, #0xa - bl sub_0200CA44 + bl FUN_0200CA44 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r6, r1] @@ -240275,17 +240275,17 @@ _02081EA4: .word 0x00000171 _02081EA8: .word 0x00001999 _02081EAC: .word 0x0000199A _02081EB0: .word 0x00000122 -_02081EB4: .word sub_02081680 + 1 +_02081EB4: .word FUN_02081680 + 1 - thumb_func_start sub_02081EB8 -sub_02081EB8: ; 0x02081EB8 - ldr r3, _02081EBC ; =sub_02081EC0 + thumb_func_start FUN_02081EB8 +FUN_02081EB8: ; 0x02081EB8 + ldr r3, _02081EBC ; =FUN_02081EC0 bx r3 .balign 4 -_02081EBC: .word sub_02081EC0 + 1 +_02081EBC: .word FUN_02081EC0 + 1 - thumb_func_start sub_02081EC0 -sub_02081EC0: ; 0x02081EC0 + thumb_func_start FUN_02081EC0 +FUN_02081EC0: ; 0x02081EC0 mov r1, #0x6 lsl r1, r1, #0x6 ldr r0, [r0, r1] @@ -240298,8 +240298,8 @@ _02081ECE: bx lr .balign 4 - thumb_func_start sub_02081ED4 -sub_02081ED4: ; 0x02081ED4 + thumb_func_start FUN_02081ED4 +FUN_02081ED4: ; 0x02081ED4 push {r4, lr} add r4, r0, #0x0 mov r0, #0x6 @@ -240307,25 +240307,25 @@ sub_02081ED4: ; 0x02081ED4 ldr r0, [r4, r0] cmp r0, #0x0 beq _02081EE6 - bl sub_02020C2C + bl FUN_02020C2C _02081EE6: ldr r0, _02081F00 ; =0x00000176 mov r1, #0x0 strb r1, [r4, r0] - ldr r0, _02081F04 ; =sub_02081F08 + ldr r0, _02081F04 ; =FUN_02081F08 add r1, r4, #0x0 mov r2, #0xa - bl sub_0200CA44 + bl FUN_0200CA44 mov r1, #0x6 lsl r1, r1, #0x6 str r0, [r4, r1] pop {r4, pc} nop _02081F00: .word 0x00000176 -_02081F04: .word sub_02081F08 + 1 +_02081F04: .word FUN_02081F08 + 1 - thumb_func_start sub_02081F08 -sub_02081F08: ; 0x02081F08 + thumb_func_start FUN_02081F08 +FUN_02081F08: ; 0x02081F08 push {r4, lr} add r4, r1, #0x0 ldr r1, _02082014 ; =0x00000176 @@ -240347,7 +240347,7 @@ sub_02081F08: ; 0x02081F08 lsl r4, r3, #0x2 lsl r2, r1, #0x3 mov r0, #0x11 - bl sub_02031588 + bl FUN_02031588 ldr r0, _02082018 ; =0x00000584 mov r1, #0x0 strb r1, [r4, r0] @@ -240376,14 +240376,14 @@ _02082000: str r2, [r4, r1] sub r1, #0xa strb r2, [r4, r1] - bl sub_0200CAB4 + bl FUN_0200CAB4 pop {r4, pc} nop _02082014: .word 0x00000176 _02082018: .word 0x00000584 - thumb_func_start sub_0208201C -sub_0208201C: ; 0x0208201C + thumb_func_start FUN_0208201C +FUN_0208201C: ; 0x0208201C push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 @@ -240393,18 +240393,18 @@ sub_0208201C: ; 0x0208201C add r2, #0xd0 ldrh r2, [r2, #0x0] add r1, r3, #0x0 - bl sub_0200B244 + bl FUN_0200B244 pop {r3-r5, pc} - thumb_func_start sub_02082034 -sub_02082034: ; 0x02082034 + thumb_func_start FUN_02082034 +FUN_02082034: ; 0x02082034 push {r4-r6, lr} sub sp, #0x8 add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_020832E4 + bl FUN_020832E4 add r3, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] @@ -240420,31 +240420,31 @@ sub_02082034: ; 0x02082034 ldrb r3, [r4, r3] ldr r2, [r2, #0x0] add r1, r6, #0x0 - bl sub_0200ABB4 + bl FUN_0200ABB4 add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0208206C -sub_0208206C: ; 0x0208206C + thumb_func_start FUN_0208206C +FUN_0208206C: ; 0x0208206C push {r4-r6, lr} add r5, r0, #0x0 add r0, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_020832E4 + bl FUN_020832E4 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 add r0, r4, #0x0 add r1, r6, #0x0 - bl sub_0200ACF8 + bl FUN_0200ACF8 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02082090 -sub_02082090: ; 0x02082090 + thumb_func_start FUN_02082090 +FUN_02082090: ; 0x02082090 push {r3-r5, lr} add r4, r2, #0x0 mov r2, #0x12 @@ -240456,16 +240456,16 @@ sub_02082090: ; 0x02082090 add r2, #0x51 ldrb r1, [r3, r1] ldrb r2, [r3, r2] - bl sub_02083228 + bl FUN_02083228 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200B278 + bl FUN_0200B278 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020820B8 -sub_020820B8: ; 0x020820B8 + thumb_func_start FUN_020820B8 +FUN_020820B8: ; 0x020820B8 push {r3-r5, lr} add r5, r1, #0x0 ldr r1, _020820D8 ; =0x0000011F @@ -240474,17 +240474,17 @@ sub_020820B8: ; 0x020820B8 add r1, r1, #0x2 ldrb r1, [r3, r1] add r4, r2, #0x0 - bl sub_020832A4 + bl FUN_020832A4 add r2, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200B2AC + bl FUN_0200B2AC pop {r3-r5, pc} .balign 4 _020820D8: .word 0x0000011F - thumb_func_start sub_020820DC -sub_020820DC: ; 0x020820DC + thumb_func_start FUN_020820DC +FUN_020820DC: ; 0x020820DC push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -240502,16 +240502,16 @@ _020820EC: cmp r0, #0x4 blt _020820EC _020820FA: - bl sub_020832DC + bl FUN_020832DC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_02082034 + bl FUN_02082034 pop {r4-r6, pc} - thumb_func_start sub_0208210C -sub_0208210C: ; 0x0208210C + thumb_func_start FUN_0208210C +FUN_0208210C: ; 0x0208210C push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 @@ -240529,35 +240529,35 @@ _0208211C: cmp r0, #0x4 blt _0208211C _0208212A: - bl sub_020832DC + bl FUN_020832DC add r1, r0, #0x0 add r0, r5, #0x0 add r2, r4, #0x0 add r3, r6, #0x0 - bl sub_0208206C + bl FUN_0208206C pop {r4-r6, pc} - thumb_func_start sub_0208213C -sub_0208213C: ; 0x0208213C + thumb_func_start FUN_0208213C +FUN_0208213C: ; 0x0208213C mov r0, #0x1 bx lr - thumb_func_start sub_02082140 -sub_02082140: ; 0x02082140 + thumb_func_start FUN_02082140 +FUN_02082140: ; 0x02082140 push {r3, lr} ldr r2, _02082154 ; =0x00000171 ldrb r0, [r0, r2] cmp r0, #0x0 beq _02082150 add r0, r1, #0x0 - bl sub_02031588 + bl FUN_02031588 _02082150: pop {r3, pc} nop _02082154: .word 0x00000171 - thumb_func_start sub_02082158 -sub_02082158: ; 0x02082158 + thumb_func_start FUN_02082158 +FUN_02082158: ; 0x02082158 push {r3, lr} ldr r2, _02082178 ; =0x00000171 ldrb r0, [r0, r2] @@ -240567,7 +240567,7 @@ sub_02082158: ; 0x02082158 pop {r3, pc} _02082166: add r0, r1, #0x0 - bl sub_020315D8 + bl FUN_020315D8 cmp r0, #0x1 bne _02082174 mov r0, #0x1 @@ -240578,8 +240578,8 @@ _02082174: .balign 4 _02082178: .word 0x00000171 - thumb_func_start sub_0208217C -sub_0208217C: ; 0x0208217C + thumb_func_start FUN_0208217C +FUN_0208217C: ; 0x0208217C ldr r2, _0208218C ; =0x00000123 mov r1, #0xc ldrb r3, [r0, r2] @@ -240591,8 +240591,8 @@ sub_0208217C: ; 0x0208217C .balign 4 _0208218C: .word 0x00000123 - thumb_func_start sub_02082190 -sub_02082190: ; 0x02082190 + thumb_func_start FUN_02082190 +FUN_02082190: ; 0x02082190 push {r3, lr} mov r1, #0x13 mov r3, #0x0 @@ -240602,7 +240602,7 @@ _02082198: cmp r2, #0x0 bne _020821A6 add r0, r3, #0x0 - bl sub_020832DC + bl FUN_020832DC pop {r3, pc} _020821A6: add r3, r3, #0x1 @@ -240613,22 +240613,22 @@ _020821A6: pop {r3, pc} .balign 4 - thumb_func_start sub_020821B4 -sub_020821B4: ; 0x020821B4 + thumb_func_start FUN_020821B4 +FUN_020821B4: ; 0x020821B4 ldr r1, _020821BC ; =0x00000123 - ldr r3, _020821C0 ; =sub_020832DC + ldr r3, _020821C0 ; =FUN_020832DC ldrb r0, [r0, r1] bx r3 .balign 4 _020821BC: .word 0x00000123 -_020821C0: .word sub_020832DC + 1 +_020821C0: .word FUN_020832DC + 1 - thumb_func_start sub_020821C4 -sub_020821C4: ; 0x020821C4 + thumb_func_start FUN_020821C4 +FUN_020821C4: ; 0x020821C4 push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_020832E4 + bl FUN_020832E4 lsl r0, r0, #0x1 add r1, r4, r0 mov r0, #0x45 @@ -240637,20 +240637,20 @@ sub_020821C4: ; 0x020821C4 pop {r4, pc} .balign 4 - thumb_func_start sub_020821DC -sub_020821DC: ; 0x020821DC + thumb_func_start FUN_020821DC +FUN_020821DC: ; 0x020821DC push {r4, lr} add r4, r0, #0x0 add r0, r1, #0x0 - bl sub_020832E4 + bl FUN_020832E4 add r1, r4, r0 mov r0, #0x11 lsl r0, r0, #0x4 ldrb r0, [r1, r0] pop {r4, pc} - thumb_func_start sub_020821F0 -sub_020821F0: ; 0x020821F0 + thumb_func_start FUN_020821F0 +FUN_020821F0: ; 0x020821F0 push {r3, lr} ldr r1, _02082210 ; =0x00000171 ldrb r1, [r0, r1] @@ -240659,7 +240659,7 @@ sub_020821F0: ; 0x020821F0 mov r0, #0x1 pop {r3, pc} _020821FE: - bl sub_020832EC + bl FUN_020832EC cmp r0, #0x1 bne _0208220A mov r0, #0x2 @@ -240670,8 +240670,8 @@ _0208220A: nop _02082210: .word 0x00000171 - thumb_func_start sub_02082214 -sub_02082214: ; 0x02082214 + thumb_func_start FUN_02082214 +FUN_02082214: ; 0x02082214 push {r4-r5} mov r4, #0x12 lsl r4, r4, #0x4 @@ -240692,25 +240692,25 @@ sub_02082214: ; 0x02082214 nop _02082238: .word 0x00001998 - thumb_func_start sub_0208223C -sub_0208223C: ; 0x0208223C + thumb_func_start FUN_0208223C +FUN_0208223C: ; 0x0208223C ldr r1, _02082244 ; =0x00000171 - ldr r3, _02082248 ; =sub_020833D4 + ldr r3, _02082248 ; =FUN_020833D4 ldrb r0, [r0, r1] bx r3 .balign 4 _02082244: .word 0x00000171 -_02082248: .word sub_020833D4 + 1 +_02082248: .word FUN_020833D4 + 1 - thumb_func_start sub_0208224C -sub_0208224C: ; 0x0208224C - ldr r3, _02082250 ; =sub_02083404 + thumb_func_start FUN_0208224C +FUN_0208224C: ; 0x0208224C + ldr r3, _02082250 ; =FUN_02083404 bx r3 .balign 4 -_02082250: .word sub_02083404 + 1 +_02082250: .word FUN_02083404 + 1 - thumb_func_start sub_02082254 -sub_02082254: ; 0x02082254 + thumb_func_start FUN_02082254 +FUN_02082254: ; 0x02082254 push {r4, lr} mov r1, #0x12 add r4, r0, #0x0 @@ -240718,12 +240718,12 @@ sub_02082254: ; 0x02082254 ldrb r0, [r4, r1] sub r1, r1, #0x1 ldrb r1, [r4, r1] - bl sub_0208341C + bl FUN_0208341C add r1, r0, #0x0 ldr r0, _02082280 ; =0x00001990 mov r2, #0x0 ldr r0, [r4, r0] - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _0208227A mov r0, #0x1 @@ -240734,8 +240734,8 @@ _0208227A: nop _02082280: .word 0x00001990 - thumb_func_start sub_02082284 -sub_02082284: ; 0x02082284 + thumb_func_start FUN_02082284 +FUN_02082284: ; 0x02082284 push {r3-r5, lr} add r4, r1, #0x0 ldr r1, _020822EC ; =0x0000011F @@ -240762,23 +240762,23 @@ _020822B0: .byte 0x49, 0x1C, 0x40, 0x5C, 0x25, 0x30, 0x0E, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x29, 0x30, 0x0A, 0xE0 .byte 0x49, 0x1C, 0x40, 0x5C, 0x2D, 0x30, 0x06, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x31, 0x30, 0x02, 0xE0 _020822D0: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r5, pc} _020822D6: lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r1, #0x3 - bl sub_0207FC5C + bl FUN_0207FC5C add r2, r0, #0x0 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_0200AD94 + bl FUN_0200AD94 pop {r3-r5, pc} .balign 4 _020822EC: .word 0x0000011F - thumb_func_start sub_020822F0 -sub_020822F0: ; 0x020822F0 + thumb_func_start FUN_020822F0 +FUN_020822F0: ; 0x020822F0 push {r3-r5, lr} mov r4, #0x64 add r5, r0, #0x0 @@ -240846,15 +240846,15 @@ _02082352: _02082414: cmp r4, #0x64 bne _0208241C - bl sub_02020C2C + bl FUN_02020C2C _0208241C: ldr r0, _02082440 ; =0x0000198C ldr r0, [r5, r0] - bl sub_02027E24 - bl sub_0202708C + bl FUN_02027E24 + bl FUN_0202708C add r1, r4, #0x0 mov r2, #0x1 - bl sub_020270D8 + bl FUN_020270D8 cmp r0, #0x0 bne _02082438 ldr r0, _0208243C ; =0x0000FFFF @@ -240866,8 +240866,8 @@ _02082438: _0208243C: .word 0x0000FFFF _02082440: .word 0x0000198C - thumb_func_start sub_02082444 -sub_02082444: ; 0x02082444 + thumb_func_start FUN_02082444 +FUN_02082444: ; 0x02082444 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, _020824F0 ; =0x000019BC @@ -240875,17 +240875,17 @@ sub_02082444: ; 0x02082444 ldr r0, [r5, r0] cmp r0, #0x0 beq _02082456 - bl sub_02020C2C + bl FUN_02020C2C _02082456: mov r0, #0x4 mov r1, #0x10 - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x10 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r6, #0x0 - bl sub_020832E4 + bl FUN_020832E4 strb r0, [r4, #0xc] ldrb r0, [r4, #0xc] mov r1, #0x43 @@ -240937,10 +240937,10 @@ _020824D2: add r0, r2, r1 str r0, [r4, #0x4] _020824DC: - ldr r0, _02082504 ; =sub_0208251C + ldr r0, _02082504 ; =FUN_0208251C add r1, r5, #0x0 mov r2, #0x64 - bl sub_0200CA44 + bl FUN_0200CA44 str r0, [r4, #0x0] ldr r0, _020824F0 ; =0x000019BC str r4, [r5, r0] @@ -240952,10 +240952,10 @@ _020824F8: .word 0x020FBB90 _020824FC: .byte 0x98, 0xBB, 0x0F, 0x02 .byte 0xA0, 0xBB, 0x0F, 0x02 -_02082504: .word sub_0208251C + 1 +_02082504: .word FUN_0208251C + 1 - thumb_func_start sub_02082508 -sub_02082508: ; 0x02082508 + thumb_func_start FUN_02082508 +FUN_02082508: ; 0x02082508 ldr r1, _02082518 ; =0x000019BC ldr r0, [r0, r1] cmp r0, #0x0 @@ -240968,8 +240968,8 @@ _02082514: .balign 4 _02082518: .word 0x000019BC - thumb_func_start sub_0208251C -sub_0208251C: ; 0x0208251C + thumb_func_start FUN_0208251C +FUN_0208251C: ; 0x0208251C push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 @@ -240977,7 +240977,7 @@ sub_0208251C: ; 0x0208251C add r5, r1, #0x0 ldr r4, [r5, r0] mov r0, #0x1 - bl sub_0200A344 + bl FUN_0200A344 cmp r0, #0x0 beq _02082594 ldrb r0, [r4, #0xb] @@ -240999,9 +240999,9 @@ sub_0208251C: ; 0x0208251C mov r1, #0x0 mov r2, #0x4 mov r3, #0x3f - bl sub_0200A208 + bl FUN_0200A208 ldr r0, _0208259C ; =0x000005F8 - bl sub_020054C8 + bl FUN_020054C8 ldrb r0, [r4, #0xa] add r0, r0, #0x1 strb r0, [r4, #0xa] @@ -241020,12 +241020,12 @@ sub_0208251C: ; 0x0208251C _02082580: ldr r0, _02082598 ; =0x000019BC ldr r0, [r5, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, _02082598 ; =0x000019BC mov r1, #0x0 str r1, [r5, r0] add r0, r6, #0x0 - bl sub_0200CAB4 + bl FUN_0200CAB4 _02082594: add sp, #0x4 pop {r3-r6, pc} @@ -241033,8 +241033,8 @@ _02082594: _02082598: .word 0x000019BC _0208259C: .word 0x000005F8 - thumb_func_start sub_020825A0 -sub_020825A0: ; 0x020825A0 + thumb_func_start FUN_020825A0 +FUN_020825A0: ; 0x020825A0 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -241057,7 +241057,7 @@ _020825B8: blt _020825B8 _020825C6: add r0, r4, #0x0 - bl sub_020832DC + bl FUN_020832DC ldr r1, [sp, #0x0] str r0, [r1, #0x0] ldr r1, _02082628 ; =0x00000171 @@ -241111,8 +241111,8 @@ _02082624: _02082628: .word 0x00000171 _0208262C: .word 0x00000121 - thumb_func_start sub_02082630 -sub_02082630: ; 0x02082630 + thumb_func_start FUN_02082630 +FUN_02082630: ; 0x02082630 push {r4-r7, lr} sub sp, #0xc add r4, r0, #0x0 @@ -241149,7 +241149,7 @@ _02082666: b _02082774 _02082672: ldr r0, [r4, r0] - bl sub_020462AC + bl FUN_020462AC add r6, r0, #0x0 ldr r0, _02082840 ; =0x00000121 ldrb r1, [r4, r0] @@ -241160,22 +241160,22 @@ _02082672: cmp r0, #0x3 blo _020826AC add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _020826AC ldr r1, _0208284C ; =0x0000011F add r0, r6, #0x0 ldrb r1, [r4, r1] - bl sub_0205EE60 + bl FUN_0205EE60 cmp r0, #0x0 bne _020826AC ldr r1, _0208284C ; =0x0000011F add r0, r6, #0x0 ldrb r1, [r4, r1] - bl sub_0205EE08 + bl FUN_0205EE08 _020826AC: add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _020826EA mov r1, #0x1 @@ -241186,13 +241186,13 @@ _020826AC: ldrb r0, [r4, r1] sub r1, r1, #0x1 ldrb r1, [r4, r1] - bl sub_0208341C + bl FUN_0208341C add r6, r0, #0x0 ldr r0, _02082850 ; =0x00001990 add r1, r6, #0x0 ldr r0, [r4, r0] mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 bne _020826DE mov r5, #0x1 @@ -241201,11 +241201,11 @@ _020826DE: add r1, r6, #0x0 ldr r0, [r4, r0] add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 _020826EA: ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_02022504 + bl FUN_02022504 ldr r3, _02082854 ; =0x00000123 mov r1, #0xc ldrb r2, [r4, r3] @@ -241222,33 +241222,33 @@ _020826EA: ldrb r2, [r4, r2] ldrb r3, [r4, r3] ldr r1, [r4, r1] - bl sub_02060F10 + bl FUN_02060F10 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x3f add r6, r0, #0x0 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _02082740 add r0, r6, #0x0 mov r1, #0x41 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r6, #0x0 mov r1, #0xd - bl sub_0202A170 + bl FUN_0202A170 _02082740: cmp r5, #0x1 bne _0208274C add r0, r6, #0x0 mov r1, #0x43 - bl sub_0202A0E8 + bl FUN_0202A0E8 _0208274C: ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_02024DA0 + bl FUN_02024DA0 add r7, r0, #0x0 ldr r0, _02082858 ; =0x00000127 ldrb r6, [r4, r0] @@ -241259,7 +241259,7 @@ _0208274C: _02082762: ldr r1, [r5, #0x0] add r0, r7, #0x0 - bl sub_0202498C + bl FUN_0202498C add r6, r6, #0x1 add r5, r5, #0x4 cmp r6, #0x4 @@ -241278,23 +241278,23 @@ _02082774: ldrb r1, [r4, r1] ldrb r2, [r3, r2] ldr r0, [r4, r0] - bl sub_0202C108 + bl FUN_0202C108 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_02029FC8 + bl FUN_02029FC8 mov r1, #0x40 add r5, r0, #0x0 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _020827BA add r0, r5, #0x0 mov r1, #0x42 - bl sub_0202A0E8 + bl FUN_0202A0E8 add r0, r5, #0x0 mov r1, #0x13 - bl sub_0202A170 + bl FUN_0202A170 _020827BA: ldr r1, _02082854 ; =0x00000123 mov r0, #0xc @@ -241307,28 +241307,28 @@ _020827BA: add r0, r0, #0x1 lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_02029500 + bl FUN_02029500 add r5, r0, #0x0 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_020289A4 + bl FUN_020289A4 add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x4 - bl sub_02028AD4 + bl FUN_02028AD4 _020827E8: add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _02082820 ldr r0, _02082848 ; =0x0000198C ldr r0, [r4, r0] - bl sub_02027E24 + bl FUN_02027E24 ldr r1, _0208284C ; =0x0000011F ldrb r1, [r4, r1] - bl sub_02027044 + bl FUN_02027044 add r5, r0, #0x0 - bl sub_02027740 + bl FUN_02027740 ldr r1, _02082854 ; =0x00000123 add r0, r5, #0x0 ldrb r1, [r4, r1] @@ -241336,12 +241336,12 @@ _020827E8: add r1, r4, r1 add r1, #0xf8 ldr r1, [r1, #0x0] - bl sub_020278DC + bl FUN_020278DC add r0, r5, #0x0 - bl sub_02027710 + bl FUN_02027710 _02082820: add r0, r4, #0x0 - bl sub_0208217C + bl FUN_0208217C cmp r0, #0x0 bne _0208283A ldr r0, _02082850 ; =0x00001990 @@ -241350,7 +241350,7 @@ _02082820: lsl r2, r2, #0x10 mov r1, #0x9 lsr r2, r2, #0x10 - bl sub_020688E8 + bl FUN_020688E8 _0208283A: add sp, #0xc pop {r4-r7, pc} @@ -241363,32 +241363,32 @@ _02082850: .word 0x00001990 _02082854: .word 0x00000123 _02082858: .word 0x00000127 - thumb_func_start sub_0208285C -sub_0208285C: ; 0x0208285C + thumb_func_start FUN_0208285C +FUN_0208285C: ; 0x0208285C push {r4, lr} - bl sub_020126D8 + bl FUN_020126D8 add r4, r0, #0x0 - bl sub_0201B9D4 + bl FUN_0201B9D4 add r0, #0xa mul r0, r4 lsl r0, r0, #0x10 lsr r0, r0, #0x10 - bl sub_0201B9E0 + bl FUN_0201B9E0 pop {r4, pc} .balign 4 - thumb_func_start sub_02082878 -sub_02082878: ; 0x02082878 - ldr r3, _0208287C ; =sub_0201B9EC + thumb_func_start FUN_02082878 +FUN_02082878: ; 0x02082878 + ldr r3, _0208287C ; =FUN_0201B9EC bx r3 .balign 4 -_0208287C: .word sub_0201B9EC + 1 +_0208287C: .word FUN_0201B9EC + 1 - thumb_func_start sub_02082880 -sub_02082880: ; 0x02082880 + thumb_func_start FUN_02082880 +FUN_02082880: ; 0x02082880 push {r4, lr} add r4, r1, #0x0 - bl sub_0201BA10 + bl FUN_0201BA10 str r0, [r4, #0x0] lsr r0, r0, #0x10 lsl r0, r0, #0x10 @@ -241396,8 +241396,8 @@ sub_02082880: ; 0x02082880 pop {r4, pc} .balign 4 - thumb_func_start sub_02082894 -sub_02082894: ; 0x02082894 + thumb_func_start FUN_02082894 +FUN_02082894: ; 0x02082894 push {r4-r5} mov r5, #0x42 add r3, r0, r1 @@ -241419,8 +241419,8 @@ sub_02082894: ; 0x02082894 pop {r4-r5} bx lr - thumb_func_start sub_020828BC -sub_020828BC: ; 0x020828BC + thumb_func_start FUN_020828BC +FUN_020828BC: ; 0x020828BC ldr r2, _020828E0 ; =0x00000171 ldrb r1, [r0, r2] cmp r1, #0x0 @@ -241443,8 +241443,8 @@ _020828DA: nop _020828E0: .word 0x00000171 - thumb_func_start sub_020828E4 -sub_020828E4: ; 0x020828E4 + thumb_func_start FUN_020828E4 +FUN_020828E4: ; 0x020828E4 push {r3-r7, lr} sub sp, #0x58 str r0, [sp, #0x4] @@ -241487,18 +241487,18 @@ _0208292A: mov r0, #0x5a add r2, r1, #0x0 add r3, r5, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [sp, #0x14] mov r0, #0x5a mov r1, #0x0 - bl sub_020065A4 + bl FUN_020065A4 mov r1, #0x30 - blx sub_020EBE8C + blx FUN_020EBE8C str r0, [sp, #0x24] ldr r1, [sp, #0x24] add r0, r5, #0x0 add r1, r1, #0x1 - bl sub_020169D8 + bl FUN_020169D8 add r5, r0, #0x0 ldr r0, [sp, #0x78] cmp r0, #0x1 @@ -241621,7 +241621,7 @@ _02082A26: ldr r0, [sp, #0x8] cmp r6, r0 bge _02082A30 - bl sub_02020C2C + bl FUN_02020C2C _02082A30: mov r0, #0x0 str r0, [sp, #0x10] @@ -241651,9 +241651,9 @@ _02082A5A: cmp r0, #0x0 ble _02082AA2 ldr r0, [sp, #0x4] - bl sub_02082878 + bl FUN_02082878 ldr r1, [sp, #0x10] - blx sub_020EBC80 + blx FUN_020EBC80 mov r3, #0x0 cmp r6, #0x0 ble _02082AA2 @@ -241695,9 +241695,9 @@ _02082AA2: bge _02082B16 _02082AB0: ldr r0, [sp, #0x4] - bl sub_02082878 + bl FUN_02082878 add r1, r6, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r2, r0, #0x10 ldrb r3, [r5, r2] @@ -241756,9 +241756,9 @@ _02082B16: lsl r0, r0, #0x10 lsr r4, r0, #0x10 ldr r0, [sp, #0x4] - bl sub_02082878 + bl FUN_02082878 ldr r1, [sp, #0x8] - blx sub_020EBC80 + blx FUN_020EBC80 add r0, r4, r1 lsl r0, r0, #0x10 lsr r2, r0, #0x10 @@ -241779,7 +241779,7 @@ _02082B44: _02082B4E: cmp r6, #0x4 bhs _02082B56 - bl sub_02020C2C + bl FUN_02020C2C _02082B56: mov r6, #0x0 mov r7, #0x30 @@ -241805,15 +241805,15 @@ _02082B6A: blt _02082B5A _02082B7E: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x58 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02082B90 -sub_02082B90: ; 0x02082B90 + thumb_func_start FUN_02082B90 +FUN_02082B90: ; 0x02082B90 push {r3-r7, lr} sub sp, #0x18 str r0, [sp, #0x8] @@ -241823,7 +241823,7 @@ sub_02082B90: ; 0x02082B90 mov r0, #0x5a mov r1, #0x2 mov r2, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [sp, #0x14] ldr r1, _02082D10 ; =0x00000121 ldr r0, [sp, #0x8] @@ -241893,7 +241893,7 @@ _02082C16: .byte 0x3A, 0x30, 0x02, 0x78, 0x0E, 0xE0, 0x38, 0x1C, 0x3B, 0x30, 0x02, 0x78, 0x0A, 0xE0, 0x38, 0x1C .byte 0x3C, 0x30, 0x02, 0x78, 0x06, 0xE0, 0x38, 0x1C, 0x3D, 0x30, 0x02, 0x78, 0x02, 0xE0 _02082C6E: - bl sub_02020C2C + bl FUN_02020C2C mov r2, #0x0 _02082C74: mov r0, #0x54 @@ -241905,7 +241905,7 @@ _02082C74: add r0, r6, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_02027740 + bl FUN_02027740 add r0, r6, #0x0 add r0, #0xf8 ldr r2, [sp, #0x10] @@ -241913,7 +241913,7 @@ _02082C74: ldrsb r2, [r2, r3] ldr r0, [r0, #0x0] ldr r1, [r6, #0x0] - bl sub_02027914 + bl FUN_02027914 ldr r0, [sp, #0x10] mov r5, #0x0 add r0, #0x50 @@ -241933,7 +241933,7 @@ _02082CAA: ldrb r2, [r4, #0x0] ldrb r3, [r4, #0x1] ldr r0, [r0, #0x0] - bl sub_02027964 + bl FUN_02027964 ldr r0, [sp, #0x10] add r5, r5, #0x1 add r0, #0x50 @@ -241949,7 +241949,7 @@ _02082CD2: str r1, [sp, #0x10] ldrb r1, [r1, #0x0] ldr r0, [r0, #0x0] - bl sub_0202787C + bl FUN_0202787C mov r2, #0x12 add r0, r6, #0x0 add r0, #0xf8 @@ -241957,7 +241957,7 @@ _02082CD2: lsl r2, r2, #0x4 ldrb r1, [r1, r2] ldr r0, [r0, #0x0] - bl sub_020278AC + bl FUN_020278AC ldr r0, [sp, #0xc] add r7, #0x30 add r0, r0, #0x1 @@ -241968,15 +241968,15 @@ _02082CD2: b _02082BE0 _02082D06: ldr r0, [sp, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02082D10: .word 0x00000121 _02082D14: .word 0x00000122 - thumb_func_start sub_02082D18 -sub_02082D18: ; 0x02082D18 + thumb_func_start FUN_02082D18 +FUN_02082D18: ; 0x02082D18 push {r3-r7, lr} add r6, r0, #0x0 mov r7, #0x12 @@ -241987,32 +241987,32 @@ _02082D24: add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] - bl sub_02027740 + bl FUN_02027740 add r0, r5, #0x0 add r0, #0xf8 mov r2, #0x0 ldr r0, [r0, #0x0] ldr r1, [r5, #0x0] mvn r2, r2 - bl sub_02027914 + bl FUN_02027914 add r0, r5, #0x0 add r0, #0xf8 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_0202787C + bl FUN_0202787C add r0, r5, #0x0 add r0, #0xf8 ldrb r1, [r6, r7] ldr r0, [r0, #0x0] - bl sub_020278AC + bl FUN_020278AC add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blt _02082D24 pop {r3-r7, pc} - thumb_func_start sub_02082D60 -sub_02082D60: ; 0x02082D60 + thumb_func_start FUN_02082D60 +FUN_02082D60: ; 0x02082D60 push {r3-r7, lr} sub sp, #0x20 add r7, r0, #0x0 @@ -242025,7 +242025,7 @@ sub_02082D60: ; 0x02082D60 lsl r1, r1, #0x18 lsr r1, r1, #0x18 mov r2, #0x0 - bl sub_02066E74 + bl FUN_02066E74 mov r1, #0x1 str r1, [sp, #0x0] str r0, [sp, #0x4] @@ -242037,7 +242037,7 @@ sub_02082D60: ; 0x02082D60 ldrh r1, [r7, #0x14] add r0, r6, #0x0 mov r3, #0x20 - bl sub_02066ACC + bl FUN_02066ACC mov r4, #0x0 add r5, r7, #0x0 _02082D9A: @@ -242049,7 +242049,7 @@ _02082D9A: add r0, r6, #0x0 add r1, #0x36 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add r4, r4, #0x1 add r5, r5, #0x2 cmp r4, #0x4 @@ -242058,29 +242058,29 @@ _02082D9A: mov r0, #0x1 mov r1, #0x1a mov r2, #0xc0 - bl sub_0200A86C + bl FUN_0200A86C ldrh r1, [r7, #0x16] add r4, r0, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r5, r0, #0x0 ldrh r1, [r7, #0x18] add r0, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x14] add r0, r6, #0x0 mov r1, #0x76 add r2, r5, #0x0 - bl sub_02067830 + bl FUN_02067830 ldr r2, [sp, #0x14] add r0, r6, #0x0 mov r1, #0x90 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x14] - bl sub_02021A20 + bl FUN_02021A20 add r0, r4, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r2, sp, #0x1c ldrb r1, [r7, #0x1a] add r0, sp, #0x18 @@ -242098,37 +242098,37 @@ _02082D9A: strb r1, [r0, #0x0] add r0, r6, #0x0 mov r1, #0x13 - bl sub_02067830 + bl FUN_02067830 add r0, r6, #0x0 mov r1, #0x14 add r2, sp, #0x1c - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x15 add r2, #0x3 - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x16 add r2, #0x2 - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x18 add r0, r6, #0x0 mov r1, #0x17 add r2, #0x1 - bl sub_02067830 + bl FUN_02067830 add r0, r6, #0x0 mov r1, #0x18 add r2, sp, #0x18 - bl sub_02067830 + bl FUN_02067830 add sp, #0x20 pop {r3-r7, pc} nop _02082E60: .word 0x0F0F0F0F - thumb_func_start sub_02082E64 -sub_02082E64: ; 0x02082E64 + thumb_func_start FUN_02082E64 +FUN_02082E64: ; 0x02082E64 push {r4-r7, lr} sub sp, #0x24 add r6, r3, #0x0 @@ -242140,25 +242140,25 @@ sub_02082E64: ; 0x02082E64 add r1, r5, #0x0 lsr r2, r2, #0x18 ldr r4, [sp, #0x38] - bl sub_02068B68 + bl FUN_02068B68 lsl r1, r6, #0x18 add r0, r5, #0x0 lsr r1, r1, #0x18 - bl sub_02068E14 + bl FUN_02068E14 add r5, r0, #0x0 cmp r4, #0x0 beq _02082EB0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02082E98 - bl sub_02020C2C + bl FUN_02020C2C _02082E98: add r1, sp, #0x14 ldrh r0, [r1, #0x0] ldrh r1, [r1, #0x2] ldr r2, [sp, #0x3c] ldr r3, [r4, #0x0] - bl sub_02012420 + bl FUN_02012420 add r0, sp, #0x14 ldrh r1, [r0, #0x4] str r1, [r4, #0x8] @@ -242176,13 +242176,13 @@ _02082EB0: ldr r2, [sp, #0x40] add r1, sp, #0x14 add r3, r3, r5 - bl sub_020073A0 + bl FUN_020073A0 add sp, #0x24 pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02082ED0 -sub_02082ED0: ; 0x02082ED0 + thumb_func_start FUN_02082ED0 +FUN_02082ED0: ; 0x02082ED0 push {r4-r7, lr} sub sp, #0x24 str r0, [sp, #0x4] @@ -242198,22 +242198,22 @@ sub_02082ED0: ; 0x02082ED0 add r2, r5, #0x0 add r4, r5, #0x0 str r1, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 str r0, [sp, #0x14] mov r0, #0x5a mov r1, #0x1 - bl sub_020065A4 + bl FUN_020065A4 lsr r0, r0, #0x3 str r0, [sp, #0x18] ldr r1, [sp, #0x18] ldr r0, [sp, #0x8] add r1, r1, #0x1 - bl sub_020169D8 + bl FUN_020169D8 ldr r1, [sp, #0x18] add r6, r0, #0x0 ldr r0, [sp, #0x8] add r1, r1, #0x1 - bl sub_020169D8 + bl FUN_020169D8 str r0, [sp, #0x10] ldr r0, [sp, #0x18] add r2, r5, #0x0 @@ -242354,7 +242354,7 @@ _0208300A: strb r1, [r0, r4] cmp r5, #0x2 bhs _0208301A - bl sub_02020C2C + bl FUN_02020C2C _0208301A: ldr r2, [sp, #0x4] mov r3, #0x0 @@ -242386,12 +242386,12 @@ _0208301E: blt _0208301E cmp r4, #0x1 bhs _02083058 - bl sub_02020C2C + bl FUN_02020C2C _02083058: ldr r0, [sp, #0x4] - bl sub_02082878 + bl FUN_02082878 add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 lsl r0, r1, #0x10 lsr r1, r0, #0x10 ldr r0, [sp, #0x10] @@ -242468,23 +242468,23 @@ _02083058: str r0, [sp, #0x4] strh r1, [r0, #0x0] ldr r0, [sp, #0x10] - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x14] - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x24 pop {r4-r7, pc} .balign 4 _02083110: .word 0x0000011E - thumb_func_start sub_02083114 -sub_02083114: ; 0x02083114 + thumb_func_start FUN_02083114 +FUN_02083114: ; 0x02083114 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x18 blo _02083120 - bl sub_02020C2C + bl FUN_02020C2C _02083120: mov r0, #0x1a add r1, r4, #0x0 @@ -242495,15 +242495,15 @@ _02083120: .balign 4 _0208312C: .word 0x020FBC6C - thumb_func_start sub_02083130 -sub_02083130: ; 0x02083130 + thumb_func_start FUN_02083130 +FUN_02083130: ; 0x02083130 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 cmp r5, #0x18 blo _02083140 - bl sub_02020C2C + bl FUN_02020C2C _02083140: mov r0, #0x1a add r1, r5, #0x0 @@ -242519,21 +242519,21 @@ _02083140: _02083154: .word 0x020FBC68 _02083158: .word 0x020FBC6A - thumb_func_start sub_0208315C -sub_0208315C: ; 0x0208315C + thumb_func_start FUN_0208315C +FUN_0208315C: ; 0x0208315C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x18 blo _02083168 - bl sub_02020C2C + bl FUN_02020C2C _02083168: add r4, #0x2d add r0, r4, #0x0 pop {r4, pc} .balign 4 - thumb_func_start sub_02083170 -sub_02083170: ; 0x02083170 + thumb_func_start FUN_02083170 +FUN_02083170: ; 0x02083170 push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 @@ -242541,7 +242541,7 @@ sub_02083170: ; 0x02083170 add r6, r3, #0x0 cmp r4, #0x18 blo _02083182 - bl sub_02020C2C + bl FUN_02020C2C _02083182: cmp r7, #0x4 bhi _0208319C @@ -242568,8 +242568,8 @@ _0208319C: str r0, [r6, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020831B0 -sub_020831B0: ; 0x020831B0 + thumb_func_start FUN_020831B0 +FUN_020831B0: ; 0x020831B0 mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242581,8 +242581,8 @@ sub_020831B0: ; 0x020831B0 str r0, [r6, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020831C4 -sub_020831C4: ; 0x020831C4 + thumb_func_start FUN_020831C4 +FUN_020831C4: ; 0x020831C4 mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242594,8 +242594,8 @@ sub_020831C4: ; 0x020831C4 str r0, [r6, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020831D8 -sub_020831D8: ; 0x020831D8 + thumb_func_start FUN_020831D8 +FUN_020831D8: ; 0x020831D8 mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242607,8 +242607,8 @@ sub_020831D8: ; 0x020831D8 str r0, [r6, #0x0] pop {r3-r7, pc} - thumb_func_start sub_020831EC -sub_020831EC: ; 0x020831EC + thumb_func_start FUN_020831EC +FUN_020831EC: ; 0x020831EC mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242631,8 +242631,8 @@ _0208321C: .word 0x020FBC7C _02083220: .word 0x020FBC7E _02083224: .word 0x020FBC80 - thumb_func_start sub_02083228 -sub_02083228: ; 0x02083228 + thumb_func_start FUN_02083228 +FUN_02083228: ; 0x02083228 cmp r2, #0x1 bne _02083230 mov r0, #0x33 @@ -242669,8 +242669,8 @@ _02083264: mov r0, #0x31 bx lr - thumb_func_start sub_02083268 -sub_02083268: ; 0x02083268 + thumb_func_start FUN_02083268 +FUN_02083268: ; 0x02083268 cmp r0, #0x4 bhi _02083292 add r0, r0, r0 @@ -242694,16 +242694,16 @@ _02083292: bx lr .balign 4 - thumb_func_start sub_02083298 -sub_02083298: ; 0x02083298 - ldr r3, _020832A0 ; =sub_020832A4 + thumb_func_start FUN_02083298 +FUN_02083298: ; 0x02083298 + ldr r3, _020832A0 ; =FUN_020832A4 mov r1, #0x2 bx r3 nop -_020832A0: .word sub_020832A4 + 1 +_020832A0: .word FUN_020832A4 + 1 - thumb_func_start sub_020832A4 -sub_020832A4: ; 0x020832A4 + thumb_func_start FUN_020832A4 +FUN_020832A4: ; 0x020832A4 cmp r1, #0x5 bne _020832AC mov r0, #0x34 @@ -242732,22 +242732,22 @@ _020832D6: bx lr .balign 4 - thumb_func_start sub_020832DC -sub_020832DC: ; 0x020832DC + thumb_func_start FUN_020832DC +FUN_020832DC: ; 0x020832DC mov r1, #0x3 sub r0, r1, r0 bx lr .balign 4 - thumb_func_start sub_020832E4 -sub_020832E4: ; 0x020832E4 + thumb_func_start FUN_020832E4 +FUN_020832E4: ; 0x020832E4 mov r1, #0x3 sub r0, r1, r0 bx lr .balign 4 - thumb_func_start sub_020832EC -sub_020832EC: ; 0x020832EC + thumb_func_start FUN_020832EC +FUN_020832EC: ; 0x020832EC ldr r1, _02083304 ; =0x00000121 ldrb r0, [r0, r1] cmp r0, #0x3 @@ -242765,8 +242765,8 @@ _02083300: .balign 4 _02083304: .word 0x00000121 - thumb_func_start sub_02083308 -sub_02083308: ; 0x02083308 + thumb_func_start FUN_02083308 +FUN_02083308: ; 0x02083308 push {r4-r5} sub sp, #0x50 ldr r5, _02083368 ; =0x020FBC18 @@ -242822,8 +242822,8 @@ _02083354: nop _02083368: .word 0x020FBC18 - thumb_func_start sub_0208336C -sub_0208336C: ; 0x0208336C + thumb_func_start FUN_0208336C +FUN_0208336C: ; 0x0208336C push {r4-r5} sub sp, #0x10 ldr r5, _020833CC ; =0x020FBC08 @@ -242881,42 +242881,42 @@ _020833C4: _020833CC: .word 0x020FBC08 _020833D0: .word 0x0000012A - thumb_func_start sub_020833D4 -sub_020833D4: ; 0x020833D4 + thumb_func_start FUN_020833D4 +FUN_020833D4: ; 0x020833D4 push {r3, lr} cmp r0, #0x0 bne _020833EE mov r0, #0x1 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x3 - bl sub_02002B7C + bl FUN_02002B7C mov r0, #0x1 - bl sub_02002BB8 + bl FUN_02002BB8 pop {r3, pc} _020833EE: mov r0, #0x1 - bl sub_02002B7C + bl FUN_02002B7C mov r0, #0x0 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x0 - bl sub_02002BB8 + bl FUN_02002BB8 pop {r3, pc} .balign 4 - thumb_func_start sub_02083404 -sub_02083404: ; 0x02083404 + thumb_func_start FUN_02083404 +FUN_02083404: ; 0x02083404 push {r3, lr} mov r0, #0x0 - bl sub_02002B60 + bl FUN_02002B60 mov r0, #0x0 - bl sub_02002B7C + bl FUN_02002B7C mov r0, #0x0 - bl sub_02002BB8 + bl FUN_02002BB8 pop {r3, pc} .balign 4 - thumb_func_start sub_0208341C -sub_0208341C: ; 0x0208341C + thumb_func_start FUN_0208341C +FUN_0208341C: ; 0x0208341C push {r3, lr} cmp r1, #0x4 bhi _0208344C @@ -242937,12 +242937,12 @@ _0208343C: .byte 0x7E, 0x30, 0x08, 0xBD .byte 0x82, 0x30, 0x08, 0xBD, 0x86, 0x30, 0x08, 0xBD, 0x8A, 0x30, 0x08, 0xBD _0208344C: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x7a pop {r3, pc} - thumb_func_start sub_02083454 -sub_02083454: ; 0x02083454 + thumb_func_start FUN_02083454 +FUN_02083454: ; 0x02083454 push {r4-r5, lr} sub sp, #0xc add r5, r0, #0x0 @@ -242952,9 +242952,9 @@ sub_02083454: ; 0x02083454 cmp r1, #0x1 bne _02083474 _02083464: - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0xc - blx sub_020EBC80 + blx FUN_020EBC80 add sp, #0xc add r0, r1, #0x0 pop {r4-r5, pc} @@ -242962,7 +242962,7 @@ _02083474: add r0, sp, #0x0 add r1, r4, #0x0 mov r2, #0xc - blx sub_020CE34C + blx FUN_020CE34C mov r1, #0x2 add r0, sp, #0x0 strb r1, [r0, #0x0] @@ -242997,27 +242997,27 @@ _020834A6: add r4, r4, #0x3 strb r0, [r2, r1] _020834BE: - bl sub_0201B9EC + bl FUN_0201B9EC add r1, r4, #0x0 - blx sub_020EBC80 + blx FUN_020EBC80 add r0, sp, #0x0 ldrb r0, [r0, r1] add sp, #0xc pop {r4-r5, pc} - thumb_func_start sub_020834D0 -sub_020834D0: ; 0x020834D0 - ldr r3, _020834DC ; =sub_0202D8D0 + thumb_func_start FUN_020834D0 +FUN_020834D0: ; 0x020834D0 + ldr r3, _020834DC ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _020834E0 ; =0x020FBED8 mov r1, #0x10 bx r3 nop -_020834DC: .word sub_0202D8D0 + 1 +_020834DC: .word FUN_0202D8D0 + 1 _020834E0: .word 0x020FBED8 - thumb_func_start sub_020834E4 -sub_020834E4: ; 0x020834E4 + thumb_func_start FUN_020834E4 +FUN_020834E4: ; 0x020834E4 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x1 @@ -243025,7 +243025,7 @@ sub_020834E4: ; 0x020834E4 add r4, r1, #0x0 cmp r2, r0 blt _020834F6 - bl sub_02020C2C + bl FUN_02020C2C _020834F6: ldr r0, _02083500 ; =0x00000985 add r1, r4, r0 @@ -243035,23 +243035,23 @@ _020834F6: .balign 4 _02083500: .word 0x00000985 - thumb_func_start sub_02083504 -sub_02083504: ; 0x02083504 + thumb_func_start FUN_02083504 +FUN_02083504: ; 0x02083504 mov r0, #0xa bx lr - thumb_func_start sub_02083508 -sub_02083508: ; 0x02083508 + thumb_func_start FUN_02083508 +FUN_02083508: ; 0x02083508 mov r0, #0x8 bx lr - thumb_func_start sub_0208350C -sub_0208350C: ; 0x0208350C + thumb_func_start FUN_0208350C +FUN_0208350C: ; 0x0208350C bx lr .balign 4 - thumb_func_start sub_02083510 -sub_02083510: ; 0x02083510 + thumb_func_start FUN_02083510 +FUN_02083510: ; 0x02083510 push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x17 @@ -243092,21 +243092,21 @@ _0208354A: add r4, r1, r0 b _0208355E _02083558: - bl sub_02020C2C + bl FUN_02020C2C pop {r3-r7, pc} _0208355E: mov r0, #0x2 lsl r0, r0, #0x8 cmp r6, r0 ble _0208356A - bl sub_02020C2C + bl FUN_02020C2C _0208356A: ldr r0, _0208359C ; =0x00000A11 add r7, r4, r0 ldrb r0, [r7, r5] cmp r0, #0x0 beq _02083578 - bl sub_02020C2C + bl FUN_02020C2C _02083578: mov r1, #0x21 lsl r1, r1, #0x4 @@ -243115,7 +243115,7 @@ _02083578: add r1, r2, r1 ldr r0, [sp, #0x0] add r2, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x1 strb r0, [r7, r5] pop {r3-r7, pc} @@ -243125,8 +243125,8 @@ _02083594: .word 0x00001158 _02083598: .word 0x0000085C _0208359C: .word 0x00000A11 - thumb_func_start sub_020835A0 -sub_020835A0: ; 0x020835A0 + thumb_func_start FUN_020835A0 +FUN_020835A0: ; 0x020835A0 mov r0, #0x5b lsl r0, r0, #0x2 ldr r0, [r3, r0] @@ -243136,8 +243136,8 @@ sub_020835A0: ; 0x020835A0 .balign 4 _020835AC: .word 0x0223D1CD - thumb_func_start sub_020835B0 -sub_020835B0: ; 0x020835B0 + thumb_func_start FUN_020835B0 +FUN_020835B0: ; 0x020835B0 push {r3-r6, lr} sub sp, #0x14 add r5, r1, #0x0 @@ -243150,7 +243150,7 @@ sub_020835B0: ; 0x020835B0 lsl r1, r6, #0x8 add r1, r2, r1 add r2, r5, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r2, _02083628 ; =0x00000584 ldrb r0, [r4, r2] add r0, r0, #0x1 @@ -243180,7 +243180,7 @@ _020835F2: _020835FE: add r0, sp, #0x4 add r2, sp, #0x0 - bl sub_02083660 + bl FUN_02083660 mov r1, #0x47 lsl r1, r1, #0x2 strb r0, [r4, r1] @@ -243202,8 +243202,8 @@ _02083622: _02083628: .word 0x00000584 _0208362C: .word 0x00000127 - thumb_func_start sub_02083630 -sub_02083630: ; 0x02083630 + thumb_func_start FUN_02083630 +FUN_02083630: ; 0x02083630 push {r3, lr} ldr r1, _0208365C ; =0x00000125 add r3, sp, #0x0 @@ -243218,7 +243218,7 @@ sub_02083630: ; 0x02083630 mov r2, #0x4 strb r0, [r3, #0x2] mov r0, #0x1a - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083658 mov r0, #0x1 @@ -243229,8 +243229,8 @@ _02083658: .balign 4 _0208365C: .word 0x00000125 - thumb_func_start sub_02083660 -sub_02083660: ; 0x02083660 + thumb_func_start FUN_02083660 +FUN_02083660: ; 0x02083660 push {r4-r7} mov r5, #0x0 add r4, r5, #0x0 @@ -243261,18 +243261,18 @@ _02083684: bx lr .balign 4 - thumb_func_start sub_02083694 -sub_02083694: ; 0x02083694 + thumb_func_start FUN_02083694 +FUN_02083694: ; 0x02083694 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_020669BC + bl FUN_020669BC add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 lsl r1, r1, #0x2 ldr r1, [r4, r1] - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _020836B8 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 @@ -243281,26 +243281,26 @@ sub_02083694: ; 0x02083694 nop _020836B8: .word 0x00000584 - thumb_func_start sub_020836BC -sub_020836BC: ; 0x020836BC + thumb_func_start FUN_020836BC +FUN_020836BC: ; 0x020836BC push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_020669BC + bl FUN_020669BC add r4, r0, #0x0 mov r0, #0x14 add r1, r4, #0x1 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x1b add r1, r5, #0x0 add r2, r4, #0x1 strb r6, [r5, r4] - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _020836F0 mov r4, #0x1 @@ -243309,17 +243309,17 @@ _020836F0: mov r4, #0x0 _020836F2: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_020836FC -sub_020836FC: ; 0x020836FC + thumb_func_start FUN_020836FC +FUN_020836FC: ; 0x020836FC push {r3-r7, lr} sub sp, #0x8 str r2, [sp, #0x0] str r3, [sp, #0x4] - bl sub_020669BC + bl FUN_020669BC mov r7, #0x0 ldr r4, [sp, #0x4] add r6, r0, #0x0 @@ -243329,7 +243329,7 @@ _02083710: ldr r1, [r4, #0x0] add r0, r0, r5 add r2, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r7, r7, #0x1 add r4, r4, #0x4 add r5, r5, r6 @@ -243346,13 +243346,13 @@ _02083710: nop _02083738: .word 0x00000584 - thumb_func_start sub_0208373C -sub_0208373C: ; 0x0208373C + thumb_func_start FUN_0208373C +FUN_0208373C: ; 0x0208373C push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_020669BC + bl FUN_020669BC add r6, r0, #0x0 lsl r0, r6, #0x2 str r0, [sp, #0x0] @@ -243366,7 +243366,7 @@ _02083758: ldr r0, [r5, #0x0] add r1, r1, r4 add r2, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r7, r7, #0x1 add r4, r4, r6 add r5, r5, #0x4 @@ -243375,7 +243375,7 @@ _02083758: ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] mov r0, #0x1c - bl sub_02030A78 + bl FUN_02030A78 cmp r0, #0x1 bne _02083782 add sp, #0x8 @@ -243388,8 +243388,8 @@ _02083782: .balign 4 _02083788: .word 0x00000585 - thumb_func_start sub_0208378C -sub_0208378C: ; 0x0208378C + thumb_func_start FUN_0208378C +FUN_0208378C: ; 0x0208378C push {r3-r5, lr} add r0, r2, #0x0 add r2, #0x30 @@ -243401,7 +243401,7 @@ sub_0208378C: ; 0x0208378C add r5, #0x10 mul r3, r2 add r1, r5, r3 - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _020837B0 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 @@ -243410,26 +243410,26 @@ sub_0208378C: ; 0x0208378C .balign 4 _020837B0: .word 0x00000584 - thumb_func_start sub_020837B4 -sub_020837B4: ; 0x020837B4 + thumb_func_start FUN_020837B4 +FUN_020837B4: ; 0x020837B4 push {r4-r6, lr} add r5, r1, #0x0 mov r0, #0x14 mov r1, #0x31 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x30 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r0, r4, #0x0 add r0, #0x30 strb r5, [r0, #0x0] mov r0, #0x1d add r1, r4, #0x0 mov r2, #0x31 - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _020837E6 mov r5, #0x1 @@ -243438,13 +243438,13 @@ _020837E6: mov r5, #0x0 _020837E8: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020837F4 -sub_020837F4: ; 0x020837F4 + thumb_func_start FUN_020837F4 +FUN_020837F4: ; 0x020837F4 push {r3-r7, lr} add r5, r3, #0x0 add r6, r2, #0x0 @@ -243457,7 +243457,7 @@ _02083802: add r0, r6, r0 add r1, r5, #0x0 add r2, r7, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 @@ -243476,14 +243476,14 @@ _02083802: _0208382C: .word 0x0000011E _02083830: .word 0x00000584 - thumb_func_start sub_02083834 -sub_02083834: ; 0x02083834 + thumb_func_start FUN_02083834 +FUN_02083834: ; 0x02083834 push {r3-r7, lr} str r0, [sp, #0x0] mov r0, #0x14 mov r1, #0x19 add r5, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r6, r0, #0x0 mov r4, #0x0 mov r7, #0x8 @@ -243492,7 +243492,7 @@ _02083848: add r0, r5, #0x0 add r1, r6, r1 add r2, r7, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r4, r4, #0x1 add r5, #0x8 cmp r4, #0x3 @@ -243504,7 +243504,7 @@ _02083848: add r1, r6, #0x0 strb r0, [r6, #0x18] mov r0, #0x1e - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083876 mov r4, #0x1 @@ -243513,14 +243513,14 @@ _02083876: mov r4, #0x0 _02083878: add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} nop _02083884: .word 0x0000011E - thumb_func_start sub_02083888 -sub_02083888: ; 0x02083888 + thumb_func_start FUN_02083888 +FUN_02083888: ; 0x02083888 push {r3-r7, lr} add r5, r2, #0x0 ldrb r0, [r5, #0x0] @@ -243529,10 +243529,10 @@ sub_02083888: ; 0x02083888 add r4, #0xe8 lsl r7, r0, #0x2 ldr r0, [r4, r7] - bl sub_02021A4C + bl FUN_02021A4C ldr r0, [r4, r7] add r1, r5, #0x4 - bl sub_02021E28 + bl FUN_02021E28 ldr r0, _020838B0 ; =0x00000584 ldrb r1, [r6, r0] add r1, r1, #0x1 @@ -243541,23 +243541,23 @@ sub_02083888: ; 0x02083888 nop _020838B0: .word 0x00000584 - thumb_func_start sub_020838B4 -sub_020838B4: ; 0x020838B4 + thumb_func_start FUN_020838B4 +FUN_020838B4: ; 0x020838B4 push {r3-r5, lr} sub sp, #0x10 add r5, r1, #0x0 add r0, r2, #0x0 add r1, sp, #0x0 mov r2, #0x8 - bl sub_02021EF0 + bl FUN_02021EF0 mov r0, #0x14 add r1, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, sp, #0x0 add r1, r4, #0x4 mov r2, #0x10 - blx sub_020CE3E0 + blx FUN_020CE3E0 strb r5, [r4, #0x0] mov r0, #0x10 strb r0, [r4, #0x1] @@ -243567,7 +243567,7 @@ sub_020838B4: ; 0x020838B4 mov r0, #0x1f add r1, r4, #0x0 mov r2, #0x14 - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _020838F6 mov r5, #0x1 @@ -243576,17 +243576,17 @@ _020838F6: mov r5, #0x0 _020838F8: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02083904 -sub_02083904: ; 0x02083904 + thumb_func_start FUN_02083904 +FUN_02083904: ; 0x02083904 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02026FE4 + bl FUN_02026FE4 add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 @@ -243594,7 +243594,7 @@ sub_02083904: ; 0x02083904 add r1, r4, r1 add r1, #0xf8 ldr r1, [r1, #0x0] - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _0208392C ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 @@ -243603,26 +243603,26 @@ sub_02083904: ; 0x02083904 nop _0208392C: .word 0x00000584 - thumb_func_start sub_02083930 -sub_02083930: ; 0x02083930 + thumb_func_start FUN_02083930 +FUN_02083930: ; 0x02083930 push {r3-r7, lr} add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02026FE4 + bl FUN_02026FE4 add r4, r0, #0x0 mov r0, #0x14 add r1, r4, #0x1 - bl sub_02016998 + bl FUN_02016998 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r5, #0x0 add r2, r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x20 add r1, r5, #0x0 add r2, r4, #0x1 strb r6, [r5, r4] - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083964 mov r4, #0x1 @@ -243631,24 +243631,24 @@ _02083964: mov r4, #0x0 _02083966: add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02083970 -sub_02083970: ; 0x02083970 + thumb_func_start FUN_02083970 +FUN_02083970: ; 0x02083970 push {r3-r7, lr} sub sp, #0x8 str r2, [sp, #0x0] str r3, [sp, #0x4] - bl sub_02026FE4 + bl FUN_02026FE4 add r6, r0, #0x0 mov r0, #0x1 lsl r1, r6, #0x2 lsl r0, r0, #0xa cmp r1, r0 blt _0208398C - bl sub_02020C2C + bl FUN_02020C2C _0208398C: mov r7, #0x0 ldr r4, [sp, #0x4] @@ -243660,7 +243660,7 @@ _02083992: ldr r1, [r1, #0x0] add r0, r0, r5 add r2, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r7, r7, #0x1 add r4, r4, #0x4 add r5, r5, r6 @@ -243677,13 +243677,13 @@ _02083992: .balign 4 _020839BC: .word 0x00000584 - thumb_func_start sub_020839C0 -sub_020839C0: ; 0x020839C0 + thumb_func_start FUN_020839C0 +FUN_020839C0: ; 0x020839C0 push {r3-r7, lr} sub sp, #0x8 add r4, r0, #0x0 add r5, r1, #0x0 - bl sub_02026FE4 + bl FUN_02026FE4 add r6, r0, #0x0 mov r1, #0x1 lsl r0, r6, #0x2 @@ -243691,7 +243691,7 @@ sub_020839C0: ; 0x020839C0 str r0, [sp, #0x0] cmp r0, r1 blt _020839DE - bl sub_02020C2C + bl FUN_02020C2C _020839DE: ldr r0, _02083A18 ; =0x00000585 mov r7, #0x0 @@ -243703,7 +243703,7 @@ _020839E8: ldr r0, [r5, #0x0] add r1, r1, r4 add r2, r6, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 add r7, r7, #0x1 add r4, r4, r6 add r5, r5, #0x4 @@ -243712,7 +243712,7 @@ _020839E8: ldr r1, [sp, #0x4] ldr r2, [sp, #0x0] mov r0, #0x21 - bl sub_02030A78 + bl FUN_02030A78 cmp r0, #0x1 bne _02083A12 add sp, #0x8 @@ -243725,21 +243725,21 @@ _02083A12: .balign 4 _02083A18: .word 0x00000585 - thumb_func_start sub_02083A1C -sub_02083A1C: ; 0x02083A1C + thumb_func_start FUN_02083A1C +FUN_02083A1C: ; 0x02083A1C push {r4, lr} add r4, r1, #0x0 ldr r1, _02083A30 ; =0x000019A0 add r0, r2, #0x0 add r1, r3, r1 add r2, r4, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 pop {r4, pc} nop _02083A30: .word 0x000019A0 - thumb_func_start sub_02083A34 -sub_02083A34: ; 0x02083A34 + thumb_func_start FUN_02083A34 +FUN_02083A34: ; 0x02083A34 push {r3, lr} add r3, r0, #0x0 ldrb r0, [r3, #0x16] @@ -243761,7 +243761,7 @@ _02083A50: mov r0, #0x22 add r1, r3, #0x0 mov r2, #0x8 - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083A66 mov r0, #0x1 @@ -243771,8 +243771,8 @@ _02083A66: pop {r3, pc} .balign 4 - thumb_func_start sub_02083A6C -sub_02083A6C: ; 0x02083A6C + thumb_func_start FUN_02083A6C +FUN_02083A6C: ; 0x02083A6C ldrb r2, [r2, #0x4] add r1, r3, r0 ldr r0, _02083A78 ; =0x000019B0 @@ -243781,8 +243781,8 @@ sub_02083A6C: ; 0x02083A6C nop _02083A78: .word 0x000019B0 - thumb_func_start sub_02083A7C -sub_02083A7C: ; 0x02083A7C + thumb_func_start FUN_02083A7C +FUN_02083A7C: ; 0x02083A7C push {r3, lr} add r2, r0, #0x0 ldrb r0, [r2, #0x16] @@ -243797,7 +243797,7 @@ _02083A8C: add r1, r2, #0x0 mov r0, #0x23 mov r2, #0x8 - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083AA2 mov r0, #0x1 @@ -243807,12 +243807,12 @@ _02083AA2: pop {r3, pc} .balign 4 - thumb_func_start sub_02083AA8 -sub_02083AA8: ; 0x02083AA8 + thumb_func_start FUN_02083AA8 +FUN_02083AA8: ; 0x02083AA8 push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02029EC4 + bl FUN_02029EC4 add r2, r0, #0x0 ldrb r1, [r5, r2] add r0, r5, #0x0 @@ -243821,7 +243821,7 @@ sub_02083AA8: ; 0x02083AA8 mov r1, #0x57 lsl r1, r1, #0x2 ldr r1, [r3, r1] - blx sub_020CE3E0 + blx FUN_020CE3E0 ldr r0, _02083AD0 ; =0x00000584 ldrb r1, [r4, r0] add r1, r1, #0x1 @@ -243830,13 +243830,13 @@ sub_02083AA8: ; 0x02083AA8 .balign 4 _02083AD0: .word 0x00000584 - thumb_func_start sub_02083AD4 -sub_02083AD4: ; 0x02083AD4 + thumb_func_start FUN_02083AD4 +FUN_02083AD4: ; 0x02083AD4 push {r3-r7, lr} add r4, r0, #0x0 add r7, r1, #0x0 add r6, r2, #0x0 - bl sub_02029EC4 + bl FUN_02029EC4 add r5, r0, #0x0 ldr r0, _02083B0C ; =0x00000585 add r4, r4, r0 @@ -243845,13 +243845,13 @@ sub_02083AD4: ; 0x02083AD4 add r0, r6, #0x0 add r1, r4, #0x0 add r2, r5, #0x0 - blx sub_020CE3E0 + blx FUN_020CE3E0 _02083AF4: mov r0, #0x24 add r1, r4, #0x0 add r2, r5, #0x1 strb r7, [r4, r5] - bl sub_02030A78 + bl FUN_02030A78 cmp r0, #0x1 bne _02083B08 mov r0, #0x1 @@ -243862,8 +243862,8 @@ _02083B08: .balign 4 _02083B0C: .word 0x00000585 - thumb_func_start sub_02083B10 -sub_02083B10: ; 0x02083B10 + thumb_func_start FUN_02083B10 +FUN_02083B10: ; 0x02083B10 push {r3-r6} ldrb r1, [r2, #0x6] ldrb r4, [r2, #0x0] @@ -243892,24 +243892,24 @@ sub_02083B10: ; 0x02083B10 nop _02083B44: .word 0x00000584 - thumb_func_start sub_02083B48 -sub_02083B48: ; 0x02083B48 + thumb_func_start FUN_02083B48 +FUN_02083B48: ; 0x02083B48 push {r4-r6, lr} add r5, r1, #0x0 mov r0, #0x14 mov r1, #0x7 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r4, #0x0 mov r2, #0x6 - blx sub_020CE3E0 + blx FUN_020CE3E0 mov r0, #0x25 add r1, r4, #0x0 mov r2, #0x7 strb r5, [r4, #0x6] - bl sub_02030ADC + bl FUN_02030ADC cmp r0, #0x1 bne _02083B76 mov r5, #0x1 @@ -243918,24 +243918,24 @@ _02083B76: mov r5, #0x0 _02083B78: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02083B84 -sub_02083B84: ; 0x02083B84 - ldr r3, _02083B90 ; =sub_0202D8D0 + thumb_func_start FUN_02083B84 +FUN_02083B84: ; 0x02083B84 + ldr r3, _02083B90 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _02083B94 ; =0x020FBF98 mov r1, #0xb bx r3 nop -_02083B90: .word sub_0202D8D0 + 1 +_02083B90: .word FUN_0202D8D0 + 1 _02083B94: .word 0x020FBF98 - thumb_func_start sub_02083B98 -sub_02083B98: ; 0x02083B98 + thumb_func_start FUN_02083B98 +FUN_02083B98: ; 0x02083B98 cmp r0, #0xc bne _02083BA0 mov r0, #0xc @@ -243949,14 +243949,14 @@ _02083BA8: sub r0, r0, #0x6 bx lr - thumb_func_start sub_02083BAC -sub_02083BAC: ; 0x02083BAC + thumb_func_start FUN_02083BAC +FUN_02083BAC: ; 0x02083BAC push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _02083C1A ldr r0, _02083C1C ; =0x0000221C @@ -243964,38 +243964,38 @@ sub_02083BAC: ; 0x02083BAC ldr r0, [r4, r0] add r1, r6, #0x0 lsl r2, r2, #0x4 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [r4, #0x58] add r0, r0, #0x1 str r0, [r4, #0x58] - bl sub_0206B8A4 + bl FUN_0206B8A4 mov r1, #0x59 ldr r2, [r4, #0x58] lsl r1, r1, #0x4 mul r1, r2 cmp r1, r0 blt _02083C06 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x1 bne _02083BF6 add r0, r4, #0x0 mov r1, #0x1b mov r2, #0x0 - bl sub_0222F440 + bl FUN_0222F440 b _02083C14 _02083BF6: - bl sub_02031190 + bl FUN_02031190 ldr r1, _02083C20 ; =0x00002218 ldr r2, [r4, #0x50] ldr r1, [r4, r1] - bl sub_0222F480 + bl FUN_0222F480 b _02083C14 _02083C06: - bl sub_02031190 + bl FUN_02031190 ldr r1, _02083C20 ; =0x00002218 ldr r2, [r4, #0x50] ldr r1, [r4, r1] - bl sub_0222F480 + bl FUN_0222F480 _02083C14: ldr r0, [r4, #0x50] add r0, r0, #0x1 @@ -244006,26 +244006,26 @@ _02083C1A: _02083C1C: .word 0x0000221C _02083C20: .word 0x00002218 - thumb_func_start sub_02083C24 -sub_02083C24: ; 0x02083C24 + thumb_func_start FUN_02083C24 +FUN_02083C24: ; 0x02083C24 push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _02083C40 ldrb r0, [r6, #0x0] - bl sub_02083B98 + bl FUN_02083B98 add r4, #0x8c str r0, [r4, #0x0] _02083C40: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02083C44 -sub_02083C44: ; 0x02083C44 + thumb_func_start FUN_02083C44 +FUN_02083C44: ; 0x02083C44 add r3, #0x84 ldrb r2, [r2, #0x0] ldr r1, [r3, #0x0] @@ -244035,18 +244035,18 @@ sub_02083C44: ; 0x02083C44 bx lr .balign 4 - thumb_func_start sub_02083C54 -sub_02083C54: ; 0x02083C54 + thumb_func_start FUN_02083C54 +FUN_02083C54: ; 0x02083C54 bx lr .balign 4 - thumb_func_start sub_02083C58 -sub_02083C58: ; 0x02083C58 + thumb_func_start FUN_02083C58 +FUN_02083C58: ; 0x02083C58 bx lr .balign 4 - thumb_func_start sub_02083C5C -sub_02083C5C: ; 0x02083C5C + thumb_func_start FUN_02083C5C +FUN_02083C5C: ; 0x02083C5C add r3, #0x84 ldr r0, [r3, #0x0] mov r1, #0x2 @@ -244054,13 +244054,13 @@ sub_02083C5C: ; 0x02083C5C bx lr .balign 4 - thumb_func_start sub_02083C68 -sub_02083C68: ; 0x02083C68 + thumb_func_start FUN_02083C68 +FUN_02083C68: ; 0x02083C68 bx lr .balign 4 - thumb_func_start sub_02083C6C -sub_02083C6C: ; 0x02083C6C + thumb_func_start FUN_02083C6C +FUN_02083C6C: ; 0x02083C6C add r3, #0x84 mov r0, #0x8b ldrb r2, [r2, #0x0] @@ -244070,15 +244070,15 @@ sub_02083C6C: ; 0x02083C6C bx lr .balign 4 - thumb_func_start sub_02083C7C -sub_02083C7C: ; 0x02083C7C + thumb_func_start FUN_02083C7C +FUN_02083C7C: ; 0x02083C7C push {r4-r6, lr} add r6, r0, #0x0 ldr r0, [r3, #0xc] add r5, r2, #0x0 - bl sub_0202A918 + bl FUN_0202A918 add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r6, r0 beq _02083CA8 mov r2, #0x0 @@ -244098,14 +244098,14 @@ _02083CA8: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02083CAC -sub_02083CAC: ; 0x02083CAC + thumb_func_start FUN_02083CAC +FUN_02083CAC: ; 0x02083CAC push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _02083CD0 ldr r0, _02083CD4 ; =0x00002224 @@ -244113,7 +244113,7 @@ sub_02083CAC: ; 0x02083CAC ldr r0, [r4, r0] mov r2, #0x1 mov r3, #0x1a - bl sub_02025520 + bl FUN_02025520 mov r0, #0x3 str r0, [r4, #0x54] _02083CD0: @@ -244121,14 +244121,14 @@ _02083CD0: nop _02083CD4: .word 0x00002224 - thumb_func_start sub_02083CD8 -sub_02083CD8: ; 0x02083CD8 + thumb_func_start FUN_02083CD8 +FUN_02083CD8: ; 0x02083CD8 push {r4-r6, lr} add r3, #0x84 add r5, r0, #0x0 add r6, r2, #0x0 ldr r4, [r3, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r5, r0 beq _02083D0A ldr r1, _02083D0C ; =0x00002E14 @@ -244140,49 +244140,49 @@ sub_02083CD8: ; 0x02083CD8 add r0, r6, #0x0 add r1, r3, r1 sub r2, r2, #0x4 - blx sub_020CE28C + blx FUN_020CE28C mov r0, #0x4 str r0, [r4, #0x54] mov r0, #0x0 - bl sub_02031400 + bl FUN_02031400 _02083D0A: pop {r4-r6, pc} .balign 4 _02083D0C: .word 0x00002E14 - thumb_func_start sub_02083D10 -sub_02083D10: ; 0x02083D10 + thumb_func_start FUN_02083D10 +FUN_02083D10: ; 0x02083D10 add r0, #0x84 str r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02083D18 -sub_02083D18: ; 0x02083D18 + thumb_func_start FUN_02083D18 +FUN_02083D18: ; 0x02083D18 mov r0, #0xfb lsl r0, r0, #0x2 bx lr .balign 4 - thumb_func_start sub_02083D20 -sub_02083D20: ; 0x02083D20 + thumb_func_start FUN_02083D20 +FUN_02083D20: ; 0x02083D20 mov r0, #0xe bx lr - thumb_func_start sub_02083D24 -sub_02083D24: ; 0x02083D24 + thumb_func_start FUN_02083D24 +FUN_02083D24: ; 0x02083D24 mov r0, #0x88 bx lr - thumb_func_start sub_02083D28 -sub_02083D28: ; 0x02083D28 + thumb_func_start FUN_02083D28 +FUN_02083D28: ; 0x02083D28 mov r0, #0x59 lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02083D30 -sub_02083D30: ; 0x02083D30 + thumb_func_start FUN_02083D30 +FUN_02083D30: ; 0x02083D30 add r1, #0x84 ldr r2, [r1, #0x0] ldr r1, _02083D44 ; =0x000022F4 @@ -244195,23 +244195,23 @@ sub_02083D30: ; 0x02083D30 nop _02083D44: .word 0x000022F4 - thumb_func_start sub_02083D48 -sub_02083D48: ; 0x02083D48 - ldr r3, _02083D54 ; =sub_0202D8D0 + thumb_func_start FUN_02083D48 +FUN_02083D48: ; 0x02083D48 + ldr r3, _02083D54 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _02083D58 ; =0x020FC01C mov r1, #0x6c bx r3 nop -_02083D54: .word sub_0202D8D0 + 1 +_02083D54: .word FUN_0202D8D0 + 1 _02083D58: .word 0x020FC01C - thumb_func_start sub_02083D5C -sub_02083D5C: ; 0x02083D5C + thumb_func_start FUN_02083D5C +FUN_02083D5C: ; 0x02083D5C push {r3-r5, lr} add r5, r2, #0x0 add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02083DBA mov r3, #0xfb @@ -244230,14 +244230,14 @@ sub_02083D5C: ; 0x02083D5C mov r2, #0x19 add r0, r5, #0x0 lsl r2, r2, #0x4 - blx sub_020CE28C + blx FUN_020CE28C b _02083D9C _02083D90: add r2, r4, r2 add r1, r2, r1 add r0, r5, #0x0 sub r2, r3, #0x4 - blx sub_020CE28C + blx FUN_020CE28C _02083D9C: mov r1, #0xb5 ldr r0, _02083DE8 ; =0x000043D0 @@ -244246,11 +244246,11 @@ _02083D9C: ldr r1, [r4, r1] add r0, r4, r0 lsl r2, r2, #0x6 - blx sub_020CE28C + blx FUN_020CE28C mov r0, #0xb2 lsl r0, r0, #0x2 add r0, r4, r0 - bl sub_020191D0 + bl FUN_020191D0 pop {r3-r5, pc} _02083DBA: ldr r1, _02083DEC ; =0x000043CC @@ -244267,20 +244267,20 @@ _02083DBA: str r0, [r4, r1] ldr r1, [r4, r1] add r0, r4, #0x0 - bl sub_0208402C + bl FUN_0208402C pop {r3-r5, pc} _02083DDC: mov r1, #0x0 mov r0, #0x7c add r2, r1, #0x0 - bl sub_02030BC4 + bl FUN_02030BC4 pop {r3-r5, pc} .balign 4 _02083DE8: .word 0x000043D0 _02083DEC: .word 0x000043CC - thumb_func_start sub_02083DF0 -sub_02083DF0: ; 0x02083DF0 + thumb_func_start FUN_02083DF0 +FUN_02083DF0: ; 0x02083DF0 push {r3-r4} cmp r0, #0x0 beq _02083E0E @@ -244303,8 +244303,8 @@ _02083E0E: nop _02083E14: .word 0x000093BD - thumb_func_start sub_02083E18 -sub_02083E18: ; 0x02083E18 + thumb_func_start FUN_02083E18 +FUN_02083E18: ; 0x02083E18 push {r4-r7} cmp r3, #0x0 beq _02083E42 @@ -244334,28 +244334,28 @@ _02083E42: nop _02083E48: .word 0x00004382 - thumb_func_start sub_02083E4C -sub_02083E4C: ; 0x02083E4C + thumb_func_start FUN_02083E4C +FUN_02083E4C: ; 0x02083E4C push {r4, lr} add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x3 mov r2, #0x0 - bl sub_021D8B64 + bl FUN_021D8B64 ldr r1, _02083E8C ; =0x000043D0 mov r2, #0xe1 mov r0, #0x0 add r1, r4, r1 lsl r2, r2, #0x6 - blx sub_020CE240 - bl sub_02031190 + blx FUN_020CE240 + bl FUN_02031190 cmp r0, #0x0 bne _02083E8A - bl sub_02030F20 + bl FUN_02030F20 mov r1, #0xc6 lsl r1, r1, #0x2 str r0, [r4, r1] - bl sub_0202CB8C + bl FUN_0202CB8C mov r1, #0xc7 lsl r1, r1, #0x2 str r0, [r4, r1] @@ -244368,8 +244368,8 @@ _02083E8A: _02083E8C: .word 0x000043D0 _02083E90: .word 0x000093F4 - thumb_func_start sub_02083E94 -sub_02083E94: ; 0x02083E94 + thumb_func_start FUN_02083E94 +FUN_02083E94: ; 0x02083E94 push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 @@ -244377,7 +244377,7 @@ sub_02083E94: ; 0x02083E94 add r4, r3, #0x0 cmp r6, #0x0 beq _02083F2E - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02083F78 ldrb r0, [r5, #0x0] @@ -244400,20 +244400,20 @@ sub_02083E94: ; 0x02083E94 cmp r0, #0x1 b _02083F20 _02083ED0: - bl sub_02030F20 + bl FUN_02030F20 mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] cmp r1, r0 bne _02083EFE - bl sub_021D917C + bl FUN_021D917C mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] cmp r1, r0 bne _02083EFE - bl sub_0202CB8C - blx sub_020DDC5C + bl FUN_0202CB8C + blx FUN_020DDC5C mov r1, #0xc6 lsl r1, r1, #0x2 ldr r1, [r4, r1] @@ -244434,13 +244434,13 @@ _02083F06: str r2, [r4, r0] add r0, sp, #0x0 strb r1, [r0, #0x3] - bl sub_02030F20 - bl sub_02032B6C + bl FUN_02030F20 + bl FUN_02032B6C _02083F20: mov r0, #0x7e add r1, sp, #0x0 mov r2, #0x4 - bl sub_02030BC4 + bl FUN_02030BC4 add sp, #0x4 pop {r3-r6, pc} _02083F2E: @@ -244453,7 +244453,7 @@ _02083F2E: pop {r3-r6, pc} _02083F3C: ldrb r6, [r5, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r6, r0 bne _02083F78 ldrb r0, [r5, #0x3] @@ -244462,7 +244462,7 @@ _02083F3C: add r0, r4, #0x0 mov r1, #0x9 add r2, r6, #0x0 - bl sub_021D8B64 + bl FUN_021D8B64 add sp, #0x4 pop {r3-r6, pc} _02083F5A: @@ -244472,14 +244472,14 @@ _02083F5A: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x8 - bl sub_021D8B64 + bl FUN_021D8B64 add sp, #0x4 pop {r3-r6, pc} _02083F6E: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x15 - bl sub_021D8B64 + bl FUN_021D8B64 _02083F78: add sp, #0x4 pop {r3-r6, pc} @@ -244487,20 +244487,20 @@ _02083F78: _02083F7C: .word 0x000093B4 _02083F80: .word 0x000093B8 - thumb_func_start sub_02083F84 -sub_02083F84: ; 0x02083F84 + thumb_func_start FUN_02083F84 +FUN_02083F84: ; 0x02083F84 bx lr .balign 4 - thumb_func_start sub_02083F88 -sub_02083F88: ; 0x02083F88 + thumb_func_start FUN_02083F88 +FUN_02083F88: ; 0x02083F88 push {r4, lr} ldrb r2, [r2, #0x0] add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_021D8B64 - bl sub_02031190 + bl FUN_021D8B64 + bl FUN_02031190 cmp r0, #0x0 bne _02083FB6 mov r0, #0x3 @@ -244513,47 +244513,47 @@ sub_02083F88: ; 0x02083F88 str r0, [r4, r1] ldr r1, [r4, r1] add r0, r4, #0x0 - bl sub_0208402C + bl FUN_0208402C _02083FB6: pop {r4, pc} .balign 4 _02083FB8: .word 0x000043CC - thumb_func_start sub_02083FBC -sub_02083FBC: ; 0x02083FBC + thumb_func_start FUN_02083FBC +FUN_02083FBC: ; 0x02083FBC bx lr .balign 4 - thumb_func_start sub_02083FC0 -sub_02083FC0: ; 0x02083FC0 + thumb_func_start FUN_02083FC0 +FUN_02083FC0: ; 0x02083FC0 bx lr .balign 4 - thumb_func_start sub_02083FC4 -sub_02083FC4: ; 0x02083FC4 + thumb_func_start FUN_02083FC4 +FUN_02083FC4: ; 0x02083FC4 push {r4, lr} add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02083FDA add r0, r4, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_021D8B64 + bl FUN_021D8B64 _02083FDA: pop {r4, pc} - thumb_func_start sub_02083FDC -sub_02083FDC: ; 0x02083FDC + thumb_func_start FUN_02083FDC +FUN_02083FDC: ; 0x02083FDC push {r3-r5, lr} add r5, r0, #0x0 add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _02083FEE - bl sub_02020C2C + bl FUN_02020C2C _02083FEE: - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02084012 ldr r0, _0208401C ; =0x000093FC @@ -244565,7 +244565,7 @@ _02083FEE: mov r0, #0x7b add r1, sp, #0x0 mov r2, #0x1 - bl sub_02030BC4 + bl FUN_02030BC4 b _02084012 _0208400E: mov r1, #0x1 @@ -244573,13 +244573,13 @@ _0208400E: _02084012: mov r0, #0x0 mov r1, #0x1 - bl sub_020334E8 + bl FUN_020334E8 pop {r3-r5, pc} .balign 4 _0208401C: .word 0x000093FC - thumb_func_start sub_02084020 -sub_02084020: ; 0x02084020 + thumb_func_start FUN_02084020 +FUN_02084020: ; 0x02084020 ldr r0, _02084028 ; =0x000093F4 mov r1, #0x1 str r1, [r3, r0] @@ -244587,8 +244587,8 @@ sub_02084020: ; 0x02084020 .balign 4 _02084028: .word 0x000093F4 - thumb_func_start sub_0208402C -sub_0208402C: ; 0x0208402C + thumb_func_start FUN_0208402C +FUN_0208402C: ; 0x0208402C push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0xb5 @@ -244602,7 +244602,7 @@ sub_0208402C: ; 0x0208402C add r0, r1, r0 ldr r1, _02084078 ; =0x00007C10 add r1, r5, r1 - blx sub_020CE28C + blx FUN_020CE28C ldr r0, _02084078 ; =0x00007C10 mov r2, #0x0 add r1, r2, #0x0 @@ -244623,14 +244623,14 @@ _02084052: mov r0, #0x76 add r1, r5, r1 lsl r2, r2, #0x4 - bl sub_02030B3C + bl FUN_02030B3C pop {r3-r5, pc} nop _02084078: .word 0x00007C10 _0208407C: .word 0x00007FF8 - thumb_func_start sub_02084080 -sub_02084080: ; 0x02084080 + thumb_func_start FUN_02084080 +FUN_02084080: ; 0x02084080 mov r2, #0x2 lsl r2, r2, #0xe add r2, r1, r2 @@ -244640,29 +244640,29 @@ sub_02084080: ; 0x02084080 add r0, r2, r1 bx lr - thumb_func_start sub_02084090 -sub_02084090: ; 0x02084090 + thumb_func_start FUN_02084090 +FUN_02084090: ; 0x02084090 mov r0, #0x4 bx lr - thumb_func_start sub_02084094 -sub_02084094: ; 0x02084094 + thumb_func_start FUN_02084094 +FUN_02084094: ; 0x02084094 mov r0, #0x4 bx lr - thumb_func_start sub_02084098 -sub_02084098: ; 0x02084098 - ldr r3, _020840A4 ; =sub_0202D8D0 + thumb_func_start FUN_02084098 +FUN_02084098: ; 0x02084098 + ldr r3, _020840A4 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _020840A8 ; =0x020FC52C mov r1, #0x6c bx r3 nop -_020840A4: .word sub_0202D8D0 + 1 +_020840A4: .word FUN_0202D8D0 + 1 _020840A8: .word 0x020FC52C - thumb_func_start sub_020840AC -sub_020840AC: ; 0x020840AC + thumb_func_start FUN_020840AC +FUN_020840AC: ; 0x020840AC ldr r0, _020840B8 ; =0x00004A34 ldr r1, [r3, r0] add r1, r1, #0x1 @@ -244671,8 +244671,8 @@ sub_020840AC: ; 0x020840AC nop _020840B8: .word 0x00004A34 - thumb_func_start sub_020840BC -sub_020840BC: ; 0x020840BC + thumb_func_start FUN_020840BC +FUN_020840BC: ; 0x020840BC cmp r0, #0x0 bne _020840C6 ldrb r1, [r2, #0x0] @@ -244683,8 +244683,8 @@ _020840C6: .balign 4 _020840C8: .word 0x00004A3C - thumb_func_start sub_020840CC -sub_020840CC: ; 0x020840CC + thumb_func_start FUN_020840CC +FUN_020840CC: ; 0x020840CC push {r3-r5, lr} add r5, r0, #0x0 ldr r0, _0208410C ; =0x00004A34 @@ -244694,39 +244694,39 @@ sub_020840CC: ; 0x020840CC mov r1, #0x1 add r0, #0xc strb r1, [r4, r0] - bl sub_02031190 + bl FUN_02031190 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02084270 + bl FUN_02084270 add r0, r4, #0x0 - bl sub_021D844C + bl FUN_021D844C lsl r2, r5, #0x18 add r0, r4, #0x0 mov r1, #0x19 lsr r2, r2, #0x18 - bl sub_021D88E4 + bl FUN_021D88E4 mov r0, #0x1 add r1, r0, #0x0 - bl sub_020334E8 + bl FUN_020334E8 ldr r0, _02084110 ; =0x00000658 - bl sub_020054C8 + bl FUN_020054C8 pop {r3-r5, pc} .balign 4 _0208410C: .word 0x00004A34 _02084110: .word 0x00000658 - thumb_func_start sub_02084114 -sub_02084114: ; 0x02084114 + thumb_func_start FUN_02084114 +FUN_02084114: ; 0x02084114 add r0, r3, #0x0 - ldr r3, _02084120 ; =sub_021D88E4 + ldr r3, _02084120 ; =FUN_021D88E4 mov r1, #0x2 mov r2, #0x0 bx r3 nop -_02084120: .word sub_021D88E4 + 1 +_02084120: .word FUN_021D88E4 + 1 - thumb_func_start sub_02084124 -sub_02084124: ; 0x02084124 + thumb_func_start FUN_02084124 +FUN_02084124: ; 0x02084124 push {r3-r6, lr} sub sp, #0x4 add r6, r0, #0x0 @@ -244734,7 +244734,7 @@ sub_02084124: ; 0x02084124 add r4, r3, #0x0 cmp r6, #0x0 beq _020841BA - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _02084204 ldrb r0, [r5, #0x0] @@ -244756,18 +244756,18 @@ sub_02084124: ; 0x02084124 cmp r0, #0x1 b _020841AC _0208415E: - bl sub_02030F20 + bl FUN_02030F20 ldr r1, _02084208 ; =0x00004A48 ldr r1, [r4, r1] cmp r1, r0 bne _02084186 - bl sub_021D8C24 + bl FUN_021D8C24 ldr r1, _02084208 ; =0x00004A48 ldr r1, [r4, r1] cmp r1, r0 bne _02084186 - bl sub_0202CB8C - blx sub_020DDC5C + bl FUN_0202CB8C + blx FUN_020DDC5C ldr r1, _02084208 ; =0x00004A48 ldr r2, [r4, r1] cmp r2, r0 @@ -244789,13 +244789,13 @@ _0208418E: str r0, [r4, r1] add r0, sp, #0x0 strb r2, [r0, #0x3] - bl sub_02030F20 - bl sub_02032B6C + bl FUN_02030F20 + bl FUN_02032B6C _020841AC: mov r0, #0x70 add r1, sp, #0x0 mov r2, #0x4 - bl sub_02030ADC + bl FUN_02030ADC add sp, #0x4 pop {r3-r6, pc} _020841BA: @@ -244808,7 +244808,7 @@ _020841BA: pop {r3-r6, pc} _020841C8: ldrb r6, [r5, #0x0] - bl sub_02031190 + bl FUN_02031190 cmp r6, r0 bne _02084204 ldrb r0, [r5, #0x3] @@ -244817,7 +244817,7 @@ _020841C8: add r0, r4, #0x0 mov r1, #0x8 add r2, r6, #0x0 - bl sub_021D88E4 + bl FUN_021D88E4 add sp, #0x4 pop {r3-r6, pc} _020841E6: @@ -244827,14 +244827,14 @@ _020841E6: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x7 - bl sub_021D88E4 + bl FUN_021D88E4 add sp, #0x4 pop {r3-r6, pc} _020841FA: ldrb r2, [r5, #0x0] add r0, r4, #0x0 mov r1, #0x13 - bl sub_021D88E4 + bl FUN_021D88E4 _02084204: add sp, #0x4 pop {r3-r6, pc} @@ -244842,15 +244842,15 @@ _02084204: _02084208: .word 0x00004A48 _0208420C: .word 0x00004A5C - thumb_func_start sub_02084210 -sub_02084210: ; 0x02084210 + thumb_func_start FUN_02084210 +FUN_02084210: ; 0x02084210 push {r4, lr} ldrb r2, [r2, #0x0] add r4, r3, #0x0 add r0, r4, #0x0 mov r1, #0x1 - bl sub_021D89CC - bl sub_02031190 + bl FUN_021D89CC + bl FUN_02031190 cmp r0, #0x0 bne _0208422E mov r0, #0x3b @@ -244860,36 +244860,36 @@ sub_02084210: ; 0x02084210 _0208422E: pop {r4, pc} - thumb_func_start sub_02084230 -sub_02084230: ; 0x02084230 + thumb_func_start FUN_02084230 +FUN_02084230: ; 0x02084230 bx lr .balign 4 - thumb_func_start sub_02084234 -sub_02084234: ; 0x02084234 + thumb_func_start FUN_02084234 +FUN_02084234: ; 0x02084234 bx lr .balign 4 - thumb_func_start sub_02084238 -sub_02084238: ; 0x02084238 + thumb_func_start FUN_02084238 +FUN_02084238: ; 0x02084238 push {r4, lr} add r4, r3, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 beq _0208424E add r0, r4, #0x0 mov r1, #0xd mov r2, #0x0 - bl sub_021D88E4 + bl FUN_021D88E4 _0208424E: pop {r4, pc} - thumb_func_start sub_02084250 -sub_02084250: ; 0x02084250 + thumb_func_start FUN_02084250 +FUN_02084250: ; 0x02084250 push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 - bl sub_02031190 + bl FUN_02031190 cmp r0, #0x0 bne _0208426C add r0, sp, #0x0 @@ -244897,13 +244897,13 @@ sub_02084250: ; 0x02084250 mov r0, #0x6e add r1, sp, #0x0 mov r2, #0x1 - bl sub_02030ADC + bl FUN_02030ADC _0208426C: add sp, #0x4 pop {r3-r4, pc} - thumb_func_start sub_02084270 -sub_02084270: ; 0x02084270 + thumb_func_start FUN_02084270 +FUN_02084270: ; 0x02084270 push {r3-r5, lr} add r4, r0, #0x0 mov r0, #0xed @@ -244921,7 +244921,7 @@ _02084280: blt _02084280 ldr r0, _020842AC ; =0x00000F6C str r3, [r4, r0] - bl sub_0201B9EC + bl FUN_0201B9EC mov r1, #0xf7 lsl r1, r1, #0x4 str r0, [r4, r1] @@ -244931,28 +244931,28 @@ _02084280: mov r0, #0x74 add r1, r4, r1 lsl r2, r2, #0x6 - bl sub_02030A78 + bl FUN_02030A78 pop {r3-r5, pc} .balign 4 _020842AC: .word 0x00000F6C - thumb_func_start sub_020842B0 -sub_020842B0: ; 0x020842B0 + thumb_func_start FUN_020842B0 +FUN_020842B0: ; 0x020842B0 mov r0, #0x0 bx lr - thumb_func_start sub_020842B4 -sub_020842B4: ; 0x020842B4 + thumb_func_start FUN_020842B4 +FUN_020842B4: ; 0x020842B4 mov r0, #0x1 bx lr - thumb_func_start sub_020842B8 -sub_020842B8: ; 0x020842B8 + thumb_func_start FUN_020842B8 +FUN_020842B8: ; 0x020842B8 mov r0, #0x4 bx lr - thumb_func_start sub_020842BC -sub_020842BC: ; 0x020842BC + thumb_func_start FUN_020842BC +FUN_020842BC: ; 0x020842BC ldr r2, _020842CC ; =0x00000F74 add r2, r1, r2 mov r1, #0x2f @@ -244963,20 +244963,20 @@ sub_020842BC: ; 0x020842BC nop _020842CC: .word 0x00000F74 - thumb_func_start sub_020842D0 -sub_020842D0: ; 0x020842D0 + thumb_func_start FUN_020842D0 +FUN_020842D0: ; 0x020842D0 ldr r0, _020842D4 ; =0x020FCA3C bx lr .balign 4 _020842D4: .word 0x020FCA3C - thumb_func_start sub_020842D8 -sub_020842D8: ; 0x020842D8 + thumb_func_start FUN_020842D8 +FUN_020842D8: ; 0x020842D8 mov r0, #0x9 bx lr - thumb_func_start sub_020842DC -sub_020842DC: ; 0x020842DC + thumb_func_start FUN_020842DC +FUN_020842DC: ; 0x020842DC push {r3-r7, lr} sub sp, #0x18 str r1, [sp, #0x4] @@ -244985,14 +244985,14 @@ sub_020842DC: ; 0x020842DC ldr r0, [sp, #0x4] mov r1, #0x0 add r2, r3, #0x0 - bl sub_0206E710 + bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x1 beq _02084308 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x0 pop {r3-r7, pc} @@ -245000,74 +245000,74 @@ _02084308: add r0, r6, #0x0 mov r1, #0x9f mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0xf - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084332 mov r0, #0x7 tst r0, r5 beq _02084332 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084332: add r0, r4, #0x0 mov r1, #0x10 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084350 mov r0, #0x88 tst r0, r5 beq _02084350 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084350: add r0, r4, #0x0 mov r1, #0x11 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208436E mov r0, #0x10 tst r0, r5 beq _0208436E add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208436E: add r0, r4, #0x0 mov r1, #0x12 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208438C mov r0, #0x20 tst r0, r5 beq _0208438C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208438C: add r0, r4, #0x0 mov r1, #0x13 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020843AA mov r0, #0x40 tst r0, r5 beq _020843AA add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245075,35 +245075,35 @@ _020843AA: add r0, r6, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 add r0, r4, #0x0 mov r1, #0x17 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _020843CE add r0, r4, #0x0 mov r1, #0x18 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020843EA _020843CE: add r0, r4, #0x0 mov r1, #0x19 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _020843EA cmp r5, #0x0 bne _02084414 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020843EA: add r0, r4, #0x0 mov r1, #0x26 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084414 cmp r5, #0x0 @@ -245111,35 +245111,35 @@ _020843EA: add r0, r6, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r5, r0 bhs _02084414 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084414: add r0, r4, #0x0 mov r1, #0x19 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208443A add r0, r6, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x64 bhs _0208443A add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208443A: add r0, r4, #0x0 mov r1, #0x1a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084464 mov r0, #0x0 @@ -245147,23 +245147,23 @@ _0208443A: ldr r3, [sp, #0x4] add r1, r6, #0x0 mov r2, #0x3 - bl sub_02069168 + bl FUN_02069168 cmp r0, #0x0 beq _02084464 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084464: add r0, r4, #0x0 mov r1, #0x22 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _0208447C add r0, r4, #0x0 mov r1, #0x23 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020844B2 _0208447C: @@ -245171,56 +245171,56 @@ _0208447C: add r0, r6, #0x0 add r1, #0x3e mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x3 bhs _020844B2 add r1, r7, #0x0 add r0, r6, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x0 - bl sub_0206AB30 + bl FUN_0206AB30 cmp r0, #0x5 blo _020844B2 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020844B2: add r0, r4, #0x0 mov r1, #0x24 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020844D6 add r0, r6, #0x0 add r1, r7, #0x0 - bl sub_02084DF0 + bl FUN_02084DF0 cmp r0, #0x1 bne _020844D6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020844D6: add r0, r4, #0x0 mov r1, #0x25 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084502 mov r5, #0x0 _020844E4: add r0, r6, #0x0 add r1, r5, #0x0 - bl sub_02084DF0 + bl FUN_02084DF0 cmp r0, #0x1 bne _020844FC add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245232,49 +245232,49 @@ _02084502: add r0, r6, #0x0 mov r1, #0xd mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r5, r0, #0x0 add r0, r6, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x14] add r0, r6, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x10] add r0, r6, #0x0 mov r1, #0x10 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0xc] add r0, r6, #0x0 mov r1, #0x11 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] add r0, r6, #0x0 mov r1, #0x12 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r7, r0, #0x0 add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x49 lsl r1, r1, #0x2 cmp r0, r1 beq _020845C6 add r0, r4, #0x0 mov r1, #0x27 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020845C6 add r0, r4, #0x0 mov r1, #0x30 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _0208459C cmp r5, #0x64 @@ -245292,7 +245292,7 @@ _02084502: cmp r1, r0 bge _020845C6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245301,30 +245301,30 @@ _0208459C: cmp r5, #0x0 ble _020845AE add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020845AE: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _020845C6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020845C6: add r0, r4, #0x0 mov r1, #0x28 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084632 add r0, r4, #0x0 mov r1, #0x31 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02084606 ldr r0, [sp, #0x14] @@ -245342,7 +245342,7 @@ _020845C6: cmp r1, r0 bge _02084632 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245352,30 +245352,30 @@ _02084606: cmp r0, #0x0 ble _0208461A add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208461A: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _02084632 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084632: add r0, r4, #0x0 mov r1, #0x29 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020846A0 add r0, r4, #0x0 mov r1, #0x32 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02084674 ldr r0, [sp, #0x10] @@ -245394,7 +245394,7 @@ _02084632: cmp r1, r0 bge _020846A0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245404,30 +245404,30 @@ _02084674: cmp r0, #0x0 ble _02084688 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084688: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _020846A0 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020846A0: add r0, r4, #0x0 mov r1, #0x2a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208470E add r0, r4, #0x0 mov r1, #0x33 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _020846E2 ldr r0, [sp, #0xc] @@ -245446,7 +245446,7 @@ _020846A0: cmp r1, r0 bge _0208470E add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245456,30 +245456,30 @@ _020846E2: cmp r0, #0x0 ble _020846F6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020846F6: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _0208470E add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208470E: add r0, r4, #0x0 mov r1, #0x2b - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208477C add r0, r4, #0x0 mov r1, #0x34 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02084750 ldr r0, [sp, #0x8] @@ -245498,7 +245498,7 @@ _0208470E: cmp r1, r0 bge _0208477C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245508,30 +245508,30 @@ _02084750: cmp r0, #0x0 ble _02084764 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _02084764: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _0208477C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _0208477C: add r0, r4, #0x0 mov r1, #0x2c - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020847E6 add r0, r4, #0x0 mov r1, #0x35 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _020847BC cmp r7, #0x64 @@ -245549,7 +245549,7 @@ _0208477C: cmp r1, r0 bge _020847E6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} @@ -245558,45 +245558,45 @@ _020847BC: cmp r7, #0x0 ble _020847CE add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020847CE: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_02085000 + bl FUN_02085000 cmp r0, #0x1 bne _020847E6 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x18 mov r0, #0x1 pop {r3-r7, pc} _020847E6: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} nop _020847F4: .word 0x000001FE - thumb_func_start sub_020847F8 -sub_020847F8: ; 0x020847F8 + thumb_func_start FUN_020847F8 +FUN_020847F8: ; 0x020847F8 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r3, [sp, #0x10] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_020842DC + bl FUN_020842DC pop {r3-r5, pc} - thumb_func_start sub_02084810 -sub_02084810: ; 0x02084810 + thumb_func_start FUN_02084810 +FUN_02084810: ; 0x02084810 push {r3-r7, lr} sub sp, #0x70 add r5, r0, #0x0 @@ -245607,14 +245607,14 @@ sub_02084810: ; 0x02084810 ldr r2, [sp, #0x88] mov r1, #0x0 str r3, [sp, #0x8] - bl sub_0206E710 + bl FUN_0206E710 mov r1, #0xe add r4, r0, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x1 beq _02084840 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} @@ -245624,12 +245624,12 @@ _02084840: mov r1, #0x9f add r2, r6, #0x0 add r7, r6, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x50] str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0xf - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084868 ldr r1, [sp, #0x54] @@ -245640,7 +245640,7 @@ _02084840: _02084868: add r0, r4, #0x0 mov r1, #0x10 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208487E ldr r1, [sp, #0x54] @@ -245651,7 +245651,7 @@ _02084868: _0208487E: add r0, r4, #0x0 mov r1, #0x11 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084894 ldr r1, [sp, #0x54] @@ -245662,7 +245662,7 @@ _0208487E: _02084894: add r0, r4, #0x0 mov r1, #0x12 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020848AA ldr r1, [sp, #0x54] @@ -245673,7 +245673,7 @@ _02084894: _020848AA: add r0, r4, #0x0 mov r1, #0x13 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020848C0 ldr r1, [sp, #0x54] @@ -245689,33 +245689,33 @@ _020848C0: add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x54 - bl sub_02067830 + bl FUN_02067830 mov r6, #0x1 _020848D4: add r0, r5, #0x0 mov r1, #0xa2 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x54] add r0, r4, #0x0 mov r1, #0x17 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 bne _02084904 add r0, r4, #0x0 mov r1, #0x18 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084930 _02084904: add r0, r4, #0x0 mov r1, #0x19 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084930 ldr r0, [sp, #0x50] @@ -245723,12 +245723,12 @@ _02084904: bne _0208492C add r0, r4, #0x0 mov r1, #0x36 - bl sub_0206E7DC + bl FUN_0206E7DC add r3, r0, #0x0 ldr r1, [sp, #0x50] ldr r2, [sp, #0x54] add r0, r5, #0x0 - bl sub_02084F68 + bl FUN_02084F68 mov r6, #0x1 _0208492C: mov r7, #0x1 @@ -245736,7 +245736,7 @@ _0208492C: _02084930: add r0, r4, #0x0 mov r1, #0x26 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208495C ldr r1, [sp, #0x50] @@ -245745,12 +245745,12 @@ _02084930: bge _0208495A add r0, r4, #0x0 mov r1, #0x36 - bl sub_0206E7DC + bl FUN_0206E7DC add r3, r0, #0x0 ldr r1, [sp, #0x50] ldr r2, [sp, #0x54] add r0, r5, #0x0 - bl sub_02084F68 + bl FUN_02084F68 mov r6, #0x1 _0208495A: mov r7, #0x1 @@ -245758,38 +245758,38 @@ _0208495C: add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x58] add r0, r4, #0x0 mov r1, #0x19 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020849B4 ldr r0, [sp, #0x58] cmp r0, #0x64 bge _020849B2 add r0, r5, #0x0 - bl sub_020686F8 + bl FUN_020686F8 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x8 - bl sub_02068018 + bl FUN_02068018 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 ldr r0, [sp, #0x50] cmp r0, #0x0 bne _020849B0 add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r2, r0, #0x0 ldr r3, [sp, #0x54] ldr r1, [sp, #0x50] add r0, r5, #0x0 sub r3, r2, r3 str r2, [sp, #0x5c] - bl sub_02084F68 + bl FUN_02084F68 _020849B0: mov r6, #0x1 _020849B2: @@ -245797,20 +245797,20 @@ _020849B2: _020849B4: add r0, r4, #0x0 mov r1, #0x1a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020849C2 mov r7, #0x1 _020849C2: add r0, r4, #0x0 mov r1, #0x22 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _020849E2 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x1 - bl sub_02084EC0 + bl FUN_02084EC0 cmp r0, #0x1 bne _020849DE mov r6, #0x1 @@ -245820,13 +245820,13 @@ _020849DE: _020849E2: add r0, r4, #0x0 mov r1, #0x23 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084A00 ldr r1, [sp, #0x4] add r0, r5, #0x0 mov r2, #0x3 - bl sub_02084EC0 + bl FUN_02084EC0 cmp r0, #0x1 bne _020849FE mov r6, #0x1 @@ -245835,16 +245835,16 @@ _020849FE: _02084A00: add r0, r4, #0x0 mov r1, #0x24 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084A2C add r0, r4, #0x0 mov r1, #0x37 - bl sub_0206E7DC + bl FUN_0206E7DC add r2, r0, #0x0 ldr r1, [sp, #0x4] add r0, r5, #0x0 - bl sub_02084E40 + bl FUN_02084E40 cmp r0, #0x1 bne _02084A24 mov r6, #0x1 @@ -245856,7 +245856,7 @@ _02084A28: .word 0xFFFFF077 _02084A2C: add r0, r4, #0x0 mov r1, #0x25 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084A66 mov r0, #0x0 @@ -245867,11 +245867,11 @@ _02084A2C: _02084A42: add r0, r4, #0x0 add r1, r7, #0x0 - bl sub_0206E7DC + bl FUN_0206E7DC add r2, r0, #0x0 ldr r1, [sp, #0x50] add r0, r5, #0x0 - bl sub_02084E40 + bl FUN_02084E40 cmp r0, #0x1 bne _02084A5A mov r6, #0x1 @@ -245887,49 +245887,49 @@ _02084A66: add r0, r5, #0x0 mov r1, #0xd mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x50] add r0, r5, #0x0 mov r1, #0xe mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x54] add r0, r5, #0x0 mov r1, #0xf mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x58] add r0, r5, #0x0 mov r1, #0x10 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x5c] add r0, r5, #0x0 mov r1, #0x11 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x60] add r0, r5, #0x0 mov r1, #0x12 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x64] add r0, r5, #0x0 mov r1, #0x5 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC mov r1, #0x49 lsl r1, r1, #0x2 cmp r0, r1 beq _02084B20 add r0, r4, #0x0 mov r1, #0x27 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084B20 add r0, r4, #0x0 mov r1, #0x30 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x54] str r1, [sp, #0x10] @@ -245947,7 +245947,7 @@ _02084A66: add r1, r1, r2 ldr r2, [sp, #0xc] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -245957,9 +245957,9 @@ _02084A66: add r0, r5, #0x0 mov r1, #0xd add r2, sp, #0x50 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084B18: ldr r0, [sp, #0x6c] @@ -245969,12 +245969,12 @@ _02084B18: _02084B20: add r0, r4, #0x0 mov r1, #0x28 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084B80 add r0, r4, #0x0 mov r1, #0x31 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x1c] @@ -245992,7 +245992,7 @@ _02084B20: add r1, r1, r2 ldr r2, [sp, #0x18] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -246002,9 +246002,9 @@ _02084B20: add r0, r5, #0x0 mov r1, #0xe add r2, sp, #0x54 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084B78: ldr r0, [sp, #0x6c] @@ -246014,12 +246014,12 @@ _02084B78: _02084B80: add r0, r4, #0x0 mov r1, #0x29 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084BE0 add r0, r4, #0x0 mov r1, #0x32 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x28] @@ -246037,7 +246037,7 @@ _02084B80: add r1, r1, r2 ldr r2, [sp, #0x24] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -246047,9 +246047,9 @@ _02084B80: add r0, r5, #0x0 mov r1, #0xf add r2, sp, #0x58 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084BD8: ldr r0, [sp, #0x6c] @@ -246059,12 +246059,12 @@ _02084BD8: _02084BE0: add r0, r4, #0x0 mov r1, #0x2a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084C40 add r0, r4, #0x0 mov r1, #0x33 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x60] ldr r2, [sp, #0x50] str r1, [sp, #0x34] @@ -246082,7 +246082,7 @@ _02084BE0: add r1, r1, r2 ldr r2, [sp, #0x30] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -246092,9 +246092,9 @@ _02084BE0: add r0, r5, #0x0 mov r1, #0x10 add r2, sp, #0x5c - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084C38: ldr r0, [sp, #0x6c] @@ -246104,12 +246104,12 @@ _02084C38: _02084C40: add r0, r4, #0x0 mov r1, #0x2b - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084CA0 add r0, r4, #0x0 mov r1, #0x34 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x5c] ldr r2, [sp, #0x50] str r1, [sp, #0x40] @@ -246127,7 +246127,7 @@ _02084C40: add r1, r1, r2 ldr r2, [sp, #0x3c] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -246137,9 +246137,9 @@ _02084C40: add r0, r5, #0x0 mov r1, #0x11 add r2, sp, #0x60 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084C98: ldr r0, [sp, #0x6c] @@ -246149,12 +246149,12 @@ _02084C98: _02084CA0: add r0, r4, #0x0 mov r1, #0x2c - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084D00 add r0, r4, #0x0 mov r1, #0x35 - bl sub_0206E7DC + bl FUN_0206E7DC ldr r1, [sp, #0x5c] ldr r2, [sp, #0x50] str r1, [sp, #0x4c] @@ -246172,7 +246172,7 @@ _02084CA0: ldr r0, [sp, #0x64] ldr r2, [sp, #0x48] add r1, r3, r1 - bl sub_02084FA8 + bl FUN_02084FA8 mov r1, #0x0 mvn r1, r1 str r0, [sp, #0x68] @@ -246182,9 +246182,9 @@ _02084CA0: add r0, r5, #0x0 mov r1, #0x12 add r2, sp, #0x64 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 - bl sub_02066ED8 + bl FUN_02066ED8 mov r6, #0x1 _02084CF8: ldr r0, [sp, #0x6c] @@ -246197,7 +246197,7 @@ _02084D00: cmp r7, #0x1 bne _02084D14 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} @@ -246205,27 +246205,27 @@ _02084D14: add r0, r5, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x50] cmp r0, #0x64 bge _02084D54 add r0, r4, #0x0 mov r1, #0x2d - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x38 - bl sub_0206E7DC + bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 - bl sub_0208508C + bl FUN_0208508C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} @@ -246235,21 +246235,21 @@ _02084D54: bge _02084D8A add r0, r4, #0x0 mov r1, #0x2e - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x39 - bl sub_0206E7DC + bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 - bl sub_0208508C + bl FUN_0208508C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} @@ -246260,57 +246260,57 @@ _02084D8A: bgt _02084DC2 add r0, r4, #0x0 mov r1, #0x2f - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02084DC2 add r0, r4, #0x0 mov r1, #0x3a - bl sub_0206E7DC + bl FUN_0206E7DC add r2, r0, #0x0 ldr r0, [sp, #0x88] str r0, [sp, #0x0] ldr r1, [sp, #0x50] ldr r3, [sp, #0x8] add r0, r5, #0x0 - bl sub_0208508C + bl FUN_0208508C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add sp, #0x70 add r0, r6, #0x0 pop {r3-r7, pc} _02084DC2: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 add sp, #0x70 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02084DD0 -sub_02084DD0: ; 0x02084DD0 + thumb_func_start FUN_02084DD0 +FUN_02084DD0: ; 0x02084DD0 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 ldr r1, [sp, #0x14] add r3, sp, #0x0 str r1, [sp, #0x0] ldrh r3, [r3, #0x10] add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02084810 + bl FUN_02084810 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02084DF0 -sub_02084DF0: ; 0x02084DF0 + thumb_func_start FUN_02084DF0 +FUN_02084DF0: ; 0x02084DF0 push {r3-r7, lr} add r6, r1, #0x0 add r1, #0x36 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 bne _02084E08 @@ -246321,18 +246321,18 @@ _02084E08: add r0, r5, #0x0 add r1, #0x3a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 add r6, #0x3e lsr r4, r0, #0x18 add r0, r5, #0x0 add r1, r6, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r1, r0, #0x18 add r0, r7, #0x0 - bl sub_0206AB30 + bl FUN_0206AB30 cmp r4, r0 bhs _02084E36 mov r0, #0x1 @@ -246345,8 +246345,8 @@ _02084E38: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02084E40 -sub_02084E40: ; 0x02084E40 + thumb_func_start FUN_02084E40 +FUN_02084E40: ; 0x02084E40 push {r3-r7, lr} sub sp, #0x8 add r5, r1, #0x0 @@ -246354,7 +246354,7 @@ sub_02084E40: ; 0x02084E40 add r1, #0x36 mov r2, #0x0 add r6, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r7, r0, #0x10 bne _02084E5E @@ -246369,19 +246369,19 @@ _02084E5E: ldr r1, [sp, #0x0] add r0, r6, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x4 strb r0, [r1, #0x0] add r5, #0x3e add r0, r6, #0x0 add r1, r5, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, r0, #0x0 lsl r1, r1, #0x18 add r0, r7, #0x0 lsr r1, r1, #0x18 - bl sub_0206AB30 + bl FUN_0206AB30 add r1, sp, #0x4 ldrb r2, [r1, #0x0] cmp r2, r0 @@ -246401,7 +246401,7 @@ _02084EA8: ldr r1, [sp, #0x0] add r0, r6, #0x0 add r2, sp, #0x4 - bl sub_02067830 + bl FUN_02067830 add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} @@ -246411,8 +246411,8 @@ _02084EB8: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02084EC0 -sub_02084EC0: ; 0x02084EC0 + thumb_func_start FUN_02084EC0 +FUN_02084EC0: ; 0x02084EC0 push {r4-r7, lr} sub sp, #0xc add r6, r2, #0x0 @@ -246422,7 +246422,7 @@ sub_02084EC0: ; 0x02084EC0 mov r2, #0x0 add r5, r0, #0x0 str r1, [sp, #0x0] - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] @@ -246436,12 +246436,12 @@ _02084EE6: add r0, r5, #0x0 add r1, #0x36 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 mov r1, #0x0 str r0, [sp, #0x4] - bl sub_0206AB30 + bl FUN_0206AB30 cmp r0, #0x5 bhs _02084F08 add sp, #0xc @@ -246452,12 +246452,12 @@ _02084F08: add r0, r5, #0x0 add r1, r4, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x1] ldrb r1, [r1, #0x0] ldr r0, [sp, #0x4] - bl sub_0206AB30 + bl FUN_0206AB30 add r7, r0, #0x0 add r0, sp, #0x8 ldrb r0, [r0, #0x0] @@ -246474,7 +246474,7 @@ _02084F34: strb r0, [r1, #0x0] ldrb r1, [r1, #0x0] ldr r0, [sp, #0x4] - bl sub_0206AB30 + bl FUN_0206AB30 add r1, sp, #0x8 ldrb r2, [r1, #0x1] add r0, r2, r0 @@ -246483,19 +246483,19 @@ _02084F34: ldr r1, [sp, #0x0] add r0, r5, #0x0 add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 add r2, sp, #0x8 add r0, r5, #0x0 add r1, r4, #0x0 add r2, #0x1 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x1 add sp, #0xc pop {r4-r7, pc} .balign 4 - thumb_func_start sub_02084F68 -sub_02084F68: ; 0x02084F68 + thumb_func_start FUN_02084F68 +FUN_02084F68: ; 0x02084F68 push {r0-r3} push {r3, lr} cmp r2, #0x1 @@ -246528,14 +246528,14 @@ _02084F96: _02084F98: mov r1, #0xa2 add r2, sp, #0xc - bl sub_02067830 + bl FUN_02067830 pop {r3} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_02084FA8 -sub_02084FA8: ; 0x02084FA8 + thumb_func_start FUN_02084FA8 +FUN_02084FA8: ; 0x02084FA8 push {r3-r4} cmp r0, #0x0 bne _02084FBA @@ -246587,13 +246587,13 @@ _02084FF8: .balign 4 _02084FFC: .word 0x000001FE - thumb_func_start sub_02085000 -sub_02085000: ; 0x02085000 + thumb_func_start FUN_02085000 +FUN_02085000: ; 0x02085000 push {r4, lr} add r4, r1, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0xff blt _02085014 mov r0, #0x0 @@ -246603,12 +246603,12 @@ _02085014: bge _02085038 add r0, r4, #0x0 mov r1, #0x2d - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02085034 add r0, r4, #0x0 mov r1, #0x38 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02085034 mov r0, #0x1 @@ -246622,12 +246622,12 @@ _02085038: bge _0208505E add r0, r4, #0x0 mov r1, #0x2e - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _0208505A add r0, r4, #0x0 mov r1, #0x39 - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _0208505A mov r0, #0x1 @@ -246642,12 +246642,12 @@ _0208505E: bge _02085086 add r0, r4, #0x0 mov r1, #0x2f - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 beq _02085082 add r0, r4, #0x0 mov r1, #0x3a - bl sub_0206E7DC + bl FUN_0206E7DC cmp r0, #0x0 ble _02085082 mov r0, #0x1 @@ -246660,8 +246660,8 @@ _02085086: pop {r4, pc} .balign 4 - thumb_func_start sub_0208508C -sub_0208508C: ; 0x0208508C + thumb_func_start FUN_0208508C +FUN_0208508C: ; 0x0208508C push {r0-r3} push {r4-r6, lr} add r4, r1, #0x0 @@ -246695,25 +246695,25 @@ _020850BE: add r0, r5, #0x0 mov r1, #0x6 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 ldr r2, [sp, #0x20] lsr r0, r0, #0x10 mov r1, #0x1 - bl sub_0206E7B8 + bl FUN_0206E7B8 cmp r0, #0x34 bne _020850EC ldr r1, [sp, #0x18] mov r0, #0x96 mul r0, r1 mov r1, #0x64 - blx sub_020EBC80 + blx FUN_020EBC80 str r0, [sp, #0x18] _020850EC: add r0, r5, #0x0 mov r1, #0x9a mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0xb bne _02085100 ldr r0, [sp, #0x18] @@ -246723,7 +246723,7 @@ _02085100: add r0, r5, #0x0 mov r1, #0x97 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r6, r0 bne _02085114 ldr r0, [sp, #0x18] @@ -246747,19 +246747,19 @@ _0208512C: add r0, r5, #0x0 mov r1, #0x9 add r2, sp, #0x18 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x1 pop {r4-r6} pop {r3} add sp, #0x10 bx r3 - thumb_func_start sub_02085140 -sub_02085140: ; 0x02085140 + thumb_func_start FUN_02085140 +FUN_02085140: ; 0x02085140 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC mov r7, #0x0 str r0, [sp, #0x4] cmp r0, #0x0 @@ -246768,39 +246768,39 @@ sub_02085140: ; 0x02085140 _02085154: ldr r0, [sp, #0x0] add r1, r7, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 mov r1, #0xab mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _020851AC add r0, r5, #0x0 mov r1, #0xa3 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa2 add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x0 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0x9f add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 mov r4, #0x0 _02085190: add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02084DF0 + bl FUN_02084DF0 cmp r0, #0x1 bne _020851A6 add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02084E40 + bl FUN_02084E40 _020851A6: add r4, r4, #0x1 cmp r4, #0x4 @@ -246814,11 +246814,11 @@ _020851B4: add sp, #0xc pop {r4-r7, pc} - thumb_func_start sub_020851B8 -sub_020851B8: ; 0x020851B8 + thumb_func_start FUN_020851B8 +FUN_020851B8: ; 0x020851B8 push {r3, lr} mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -246834,8 +246834,8 @@ sub_020851B8: ; 0x020851B8 strb r1, [r0, #0xb] pop {r3, pc} - thumb_func_start sub_020851DC -sub_020851DC: ; 0x020851DC + thumb_func_start FUN_020851DC +FUN_020851DC: ; 0x020851DC push {r4-r6, lr} sub r1, #0x95 lsl r1, r1, #0x10 @@ -246843,7 +246843,7 @@ sub_020851DC: ; 0x020851DC add r1, r6, #0x0 add r5, r0, #0x0 add r4, r2, #0x0 - bl sub_02085200 + bl FUN_02085200 cmp r4, #0x1 bne _020851F4 strb r6, [r5, #0x8] @@ -246851,15 +246851,15 @@ _020851F4: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020851F8 -sub_020851F8: ; 0x020851F8 + thumb_func_start FUN_020851F8 +FUN_020851F8: ; 0x020851F8 strb r1, [r0, #0x9] strb r2, [r0, #0xa] strb r3, [r0, #0xb] bx lr - thumb_func_start sub_02085200 -sub_02085200: ; 0x02085200 + thumb_func_start FUN_02085200 +FUN_02085200: ; 0x02085200 push {r3-r6} lsr r6, r1, #0x1f lsl r5, r1, #0x1b @@ -246879,8 +246879,8 @@ sub_02085200: ; 0x02085200 bx lr .balign 4 - thumb_func_start sub_02085224 -sub_02085224: ; 0x02085224 + thumb_func_start FUN_02085224 +FUN_02085224: ; 0x02085224 push {r4-r5} lsr r5, r1, #0x1f lsl r4, r1, #0x1b @@ -246903,8 +246903,8 @@ _02085244: pop {r4-r5} bx lr - thumb_func_start sub_0208524C -sub_0208524C: ; 0x0208524C + thumb_func_start FUN_0208524C +FUN_0208524C: ; 0x0208524C ldrb r3, [r0, #0x9] strb r3, [r1, #0x0] ldrb r0, [r0, #0xa] @@ -246912,50 +246912,50 @@ sub_0208524C: ; 0x0208524C bx lr .balign 4 - thumb_func_start sub_02085258 -sub_02085258: ; 0x02085258 - ldr r3, _02085260 ; =sub_02006670 + thumb_func_start FUN_02085258 +FUN_02085258: ; 0x02085258 + ldr r3, _02085260 ; =FUN_02006670 add r1, r0, #0x0 mov r0, #0x44 bx r3 .balign 4 -_02085260: .word sub_02006670 + 1 +_02085260: .word FUN_02006670 + 1 - thumb_func_start sub_02085264 -sub_02085264: ; 0x02085264 - ldr r3, _02085268 ; =sub_02006704 + thumb_func_start FUN_02085264 +FUN_02085264: ; 0x02085264 + ldr r3, _02085268 ; =FUN_02006704 bx r3 .balign 4 -_02085268: .word sub_02006704 + 1 +_02085268: .word FUN_02006704 + 1 - thumb_func_start sub_0208526C -sub_0208526C: ; 0x0208526C - ldr r3, _02085270 ; =sub_020066F4 + thumb_func_start FUN_0208526C +FUN_0208526C: ; 0x0208526C + ldr r3, _02085270 ; =FUN_020066F4 bx r3 .balign 4 -_02085270: .word sub_020066F4 + 1 +_02085270: .word FUN_020066F4 + 1 - thumb_func_start sub_02085274 -sub_02085274: ; 0x02085274 + thumb_func_start FUN_02085274 +FUN_02085274: ; 0x02085274 add r3, r0, #0x0 add r2, r1, #0x0 add r1, r3, #0x0 - ldr r3, _02085280 ; =sub_0200650C + ldr r3, _02085280 ; =FUN_0200650C mov r0, #0x44 bx r3 .balign 4 -_02085280: .word sub_0200650C + 1 +_02085280: .word FUN_0200650C + 1 - thumb_func_start sub_02085284 -sub_02085284: ; 0x02085284 - ldr r3, _0208528C ; =sub_02085274 + thumb_func_start FUN_02085284 +FUN_02085284: ; 0x02085284 + ldr r3, _0208528C ; =FUN_02085274 sub r0, #0x95 bx r3 nop -_0208528C: .word sub_02085274 + 1 +_0208528C: .word FUN_02085274 + 1 - thumb_func_start sub_02085290 -sub_02085290: ; 0x02085290 + thumb_func_start FUN_02085290 +FUN_02085290: ; 0x02085290 cmp r1, #0xa bhi _020852E2 add r1, r1, r1 @@ -246987,28 +246987,28 @@ _020852E2: bx lr .balign 4 - thumb_func_start sub_020852E8 -sub_020852E8: ; 0x020852E8 + thumb_func_start FUN_020852E8 +FUN_020852E8: ; 0x020852E8 push {r3-r5, lr} ldr r2, _0208530C ; =0x00000175 add r4, r0, #0x0 add r3, r1, #0x0 mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 add r1, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 _0208530C: .word 0x00000175 - thumb_func_start sub_02085310 -sub_02085310: ; 0x02085310 + thumb_func_start FUN_02085310 +FUN_02085310: ; 0x02085310 push {r3-r5, lr} mov r2, #0x5d add r4, r0, #0x0 @@ -247016,38 +247016,38 @@ sub_02085310: ; 0x02085310 mov r0, #0x1 mov r1, #0x1a lsl r2, r2, #0x2 - bl sub_0200A86C + bl FUN_0200A86C add r5, r0, #0x0 add r1, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02085338 -sub_02085338: ; 0x02085338 + thumb_func_start FUN_02085338 +FUN_02085338: ; 0x02085338 push {r3-r7, lr} add r5, r0, #0x0 add r7, r1, #0x0 add r0, r3, #0x0 mov r1, #0x24 add r6, r2, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 strb r5, [r4, #0x0] strb r7, [r4, #0x1] add r0, r6, #0x0 - bl sub_02024DA0 + bl FUN_02024DA0 str r0, [r4, #0xc] add r0, r6, #0x0 - bl sub_02013B5C + bl FUN_02013B5C str r0, [r4, #0x10] add r0, r6, #0x0 - bl sub_020462AC - bl sub_0205ED0C + bl FUN_020462AC + bl FUN_0205ED0C strb r0, [r4, #0x4] mov r1, #0x0 strb r1, [r4, #0x5] @@ -247055,15 +247055,15 @@ sub_02085338: ; 0x02085338 strb r0, [r4, #0x2] add r0, r6, #0x0 strb r1, [r4, #0x3] - bl sub_02023900 - bl sub_02025084 + bl FUN_02023900 + bl FUN_02025084 str r0, [r4, #0x8] cmp r5, #0x2 bne _02085390 add r0, r4, #0x0 add r0, #0x14 mov r1, #0x3 - bl sub_0201373C + bl FUN_0201373C b _020853A0 _02085390: ldr r0, _020853A4 ; =0x0000FFFF @@ -247081,27 +247081,27 @@ _020853A0: .balign 4 _020853A4: .word 0x0000FFFF - thumb_func_start sub_020853A8 -sub_020853A8: ; 0x020853A8 - ldr r3, _020853AC ; =sub_02016A18 + thumb_func_start FUN_020853A8 +FUN_020853A8: ; 0x020853A8 + ldr r3, _020853AC ; =FUN_02016A18 bx r3 .balign 4 -_020853AC: .word sub_02016A18 + 1 +_020853AC: .word FUN_02016A18 + 1 - thumb_func_start sub_020853B0 -sub_020853B0: ; 0x020853B0 + thumb_func_start FUN_020853B0 +FUN_020853B0: ; 0x020853B0 strh r1, [r0, #0x1c] bx lr - thumb_func_start sub_020853B4 -sub_020853B4: ; 0x020853B4 + thumb_func_start FUN_020853B4 +FUN_020853B4: ; 0x020853B4 strh r1, [r0, #0x1c] strh r2, [r0, #0x1e] bx lr .balign 4 - thumb_func_start sub_020853BC -sub_020853BC: ; 0x020853BC + thumb_func_start FUN_020853BC +FUN_020853BC: ; 0x020853BC ldrh r2, [r1, #0x0] strh r2, [r0, #0x14] ldrh r2, [r1, #0x2] @@ -247113,8 +247113,8 @@ sub_020853BC: ; 0x020853BC bx lr .balign 4 - thumb_func_start sub_020853D0 -sub_020853D0: ; 0x020853D0 + thumb_func_start FUN_020853D0 +FUN_020853D0: ; 0x020853D0 mov r1, #0x1 strb r1, [r0, #0x2] mov r1, #0x0 @@ -247122,30 +247122,30 @@ sub_020853D0: ; 0x020853D0 bx lr .balign 4 - thumb_func_start sub_020853DC -sub_020853DC: ; 0x020853DC + thumb_func_start FUN_020853DC +FUN_020853DC: ; 0x020853DC mov r1, #0x1 strb r1, [r0, #0x5] bx lr .balign 4 - thumb_func_start sub_020853E4 -sub_020853E4: ; 0x020853E4 + thumb_func_start FUN_020853E4 +FUN_020853E4: ; 0x020853E4 ldrb r0, [r0, #0x2] bx lr - thumb_func_start sub_020853E8 -sub_020853E8: ; 0x020853E8 + thumb_func_start FUN_020853E8 +FUN_020853E8: ; 0x020853E8 ldrb r0, [r0, #0x3] bx lr - thumb_func_start sub_020853EC -sub_020853EC: ; 0x020853EC + thumb_func_start FUN_020853EC +FUN_020853EC: ; 0x020853EC ldrh r0, [r0, #0x1c] bx lr - thumb_func_start sub_020853F0 -sub_020853F0: ; 0x020853F0 + thumb_func_start FUN_020853F0 +FUN_020853F0: ; 0x020853F0 ldrh r2, [r0, #0x1c] strh r2, [r1, #0x0] ldrh r0, [r0, #0x1e] @@ -247153,54 +247153,54 @@ sub_020853F0: ; 0x020853F0 bx lr .balign 4 - thumb_func_start sub_020853FC -sub_020853FC: ; 0x020853FC + thumb_func_start FUN_020853FC +FUN_020853FC: ; 0x020853FC add r2, r0, #0x0 - ldr r3, _02085408 ; =sub_02013960 + ldr r3, _02085408 ; =FUN_02013960 add r2, #0x14 add r0, r1, #0x0 add r1, r2, #0x0 bx r3 .balign 4 -_02085408: .word sub_02013960 + 1 +_02085408: .word FUN_02013960 + 1 - thumb_func_start sub_0208540C -sub_0208540C: ; 0x0208540C + thumb_func_start FUN_0208540C +FUN_0208540C: ; 0x0208540C ldrb r0, [r0, #0x0] bx lr - thumb_func_start sub_02085410 -sub_02085410: ; 0x02085410 + thumb_func_start FUN_02085410 +FUN_02085410: ; 0x02085410 ldrb r0, [r0, #0x1] bx lr - thumb_func_start sub_02085414 -sub_02085414: ; 0x02085414 + thumb_func_start FUN_02085414 +FUN_02085414: ; 0x02085414 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_02085418 -sub_02085418: ; 0x02085418 + thumb_func_start FUN_02085418 +FUN_02085418: ; 0x02085418 ldr r0, [r0, #0xc] bx lr - thumb_func_start sub_0208541C -sub_0208541C: ; 0x0208541C + thumb_func_start FUN_0208541C +FUN_0208541C: ; 0x0208541C ldr r0, [r0, #0x10] bx lr - thumb_func_start sub_02085420 -sub_02085420: ; 0x02085420 + thumb_func_start FUN_02085420 +FUN_02085420: ; 0x02085420 ldrb r0, [r0, #0x4] bx lr - thumb_func_start sub_02085424 -sub_02085424: ; 0x02085424 + thumb_func_start FUN_02085424 +FUN_02085424: ; 0x02085424 ldrb r0, [r0, #0x5] bx lr - thumb_func_start sub_02085428 -sub_02085428: ; 0x02085428 + thumb_func_start FUN_02085428 +FUN_02085428: ; 0x02085428 ldrb r3, [r0, #0x0] cmp r3, #0x0 beq _02085438 @@ -247231,8 +247231,8 @@ _02085448: bx lr .balign 4 - thumb_func_start sub_0208545C -sub_0208545C: ; 0x0208545C + thumb_func_start FUN_0208545C +FUN_0208545C: ; 0x0208545C push {r3, lr} ldrb r3, [r0, #0x0] cmp r3, #0x0 @@ -247268,17 +247268,17 @@ _02085490: _02085494: add r0, #0x14 add r1, r2, #0x0 - bl sub_02013928 + bl FUN_02013928 pop {r3, pc} .balign 4 - thumb_func_start sub_020854A0 -sub_020854A0: ; 0x020854A0 + thumb_func_start FUN_020854A0 +FUN_020854A0: ; 0x020854A0 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_0208545C + bl FUN_0208545C cmp r0, #0x0 bne _020854B4 mov r0, #0x1 @@ -247309,23 +247309,23 @@ _020854BE: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_020854E0 -sub_020854E0: ; 0x020854E0 + thumb_func_start FUN_020854E0 +FUN_020854E0: ; 0x020854E0 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r7, r1, #0x0 add r6, r2, #0x0 str r3, [sp, #0x0] - bl sub_02025838 + bl FUN_02025838 str r0, [sp, #0x4] ldr r0, [sp, #0x20] mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [sp, #0x0] strb r0, [r4, #0xf] ldr r0, [sp, #0x4] @@ -247338,20 +247338,20 @@ sub_020854E0: ; 0x020854E0 strh r0, [r4, #0xc] ldr r0, [sp, #0x20] str r5, [r4, #0x10] - bl sub_020256BC + bl FUN_020256BC str r0, [r4, #0x14] - bl sub_02025658 + bl FUN_02025658 ldr r0, [r4, #0x14] mov r1, #0xff add r2, r6, #0x0 add r3, r5, #0x0 - bl sub_020256DC + bl FUN_020256DC add r0, r4, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start sub_02085538 -sub_02085538: ; 0x02085538 + thumb_func_start FUN_02085538 +FUN_02085538: ; 0x02085538 push {r3-r7, lr} add r7, r0, #0x0 add r5, r1, #0x0 @@ -247359,92 +247359,92 @@ sub_02085538: ; 0x02085538 mov r1, #0x1c add r6, r2, #0x0 str r3, [sp, #0x0] - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 strh r0, [r4, #0x0] str r5, [r4, #0x8] strh r6, [r4, #0xc] add r0, r7, #0x0 str r7, [r4, #0x10] - bl sub_02025838 + bl FUN_02025838 ldr r3, [sp, #0x0] add r1, r5, #0x0 add r2, r6, #0x0 str r0, [r4, #0x18] - bl sub_020258B0 + bl FUN_020258B0 str r0, [r4, #0x14] add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02085578 -sub_02085578: ; 0x02085578 + thumb_func_start FUN_02085578 +FUN_02085578: ; 0x02085578 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 strh r0, [r4, #0x0] str r5, [r4, #0x10] add r0, r7, #0x0 - bl sub_020256BC + bl FUN_020256BC str r0, [r4, #0x14] ldr r2, [r4, #0x14] add r0, r6, #0x0 mov r1, #0xa9 - bl sub_020671BC + bl FUN_020671BC add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020855B0 -sub_020855B0: ; 0x020855B0 + thumb_func_start FUN_020855B0 +FUN_020855B0: ; 0x020855B0 push {r3-r7, lr} add r7, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 add r0, r7, #0x0 mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 strh r0, [r4, #0x0] add r0, r7, #0x0 str r5, [r4, #0x10] - bl sub_020256BC + bl FUN_020256BC add r1, r6, #0x0 str r0, [r4, #0x14] - bl sub_020257D0 + bl FUN_020257D0 add r0, r4, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020855E4 -sub_020855E4: ; 0x020855E4 + thumb_func_start FUN_020855E4 +FUN_020855E4: ; 0x020855E4 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_020855E8 -sub_020855E8: ; 0x020855E8 + thumb_func_start FUN_020855E8 +FUN_020855E8: ; 0x020855E8 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020855E4 + bl FUN_020855E4 cmp r0, #0x0 bne _020855FC mov r0, #0x0 @@ -247454,16 +247454,16 @@ _020855FC: ldr r3, [r5, #0x14] add r1, r4, #0x0 add r2, r6, #0x0 - bl sub_02025888 + bl FUN_02025888 mov r0, #0x1 pop {r4-r6, pc} - thumb_func_start sub_0208560C -sub_0208560C: ; 0x0208560C + thumb_func_start FUN_0208560C +FUN_0208560C: ; 0x0208560C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_020855E4 + bl FUN_020855E4 cmp r0, #0x0 bne _0208561E mov r0, #0x0 @@ -247472,68 +247472,68 @@ _0208561E: ldr r2, [r5, #0x14] add r0, r4, #0x0 mov r1, #0xa9 - bl sub_02067830 + bl FUN_02067830 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_0208562C -sub_0208562C: ; 0x0208562C + thumb_func_start FUN_0208562C +FUN_0208562C: ; 0x0208562C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x14] cmp r0, #0x0 beq _0208563A - bl sub_02016A18 + bl FUN_02016A18 _0208563A: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02085644 -sub_02085644: ; 0x02085644 + thumb_func_start FUN_02085644 +FUN_02085644: ; 0x02085644 push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x0 add r7, r0, #0x0 add r4, r2, #0x0 str r1, [sp, #0x0] - bl sub_02025864 + bl FUN_02025864 add r6, r0, #0x0 mov r0, #0x0 mvn r0, r0 cmp r6, r0 beq _0208569E add r0, r4, #0x0 - bl sub_020256BC + bl FUN_020256BC add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC add r0, r7, #0x0 mov r1, #0x0 add r2, r6, #0x0 add r3, r4, #0x0 - bl sub_02025888 + bl FUN_02025888 add r0, r4, #0x0 - bl sub_02025658 + bl FUN_02025658 add r0, r5, #0x0 mov r1, #0xa9 add r2, r4, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r6, #0x0 _0208569E: pop {r3-r7, pc} - thumb_func_start sub_020856A0 -sub_020856A0: ; 0x020856A0 + thumb_func_start FUN_020856A0 +FUN_020856A0: ; 0x020856A0 push {r3-r7, lr} add r5, r1, #0x0 add r4, r2, #0x0 @@ -247541,68 +247541,68 @@ sub_020856A0: ; 0x020856A0 add r2, r5, #0x0 add r7, r0, #0x0 str r1, [sp, #0x0] - bl sub_020258B0 + bl FUN_020258B0 add r6, r0, #0x0 bne _020856BC mov r0, #0x0 mvn r0, r0 pop {r3-r7, pc} _020856BC: - bl sub_020257CC - bl sub_0206EAD8 + bl FUN_020257CC + bl FUN_0206EAD8 str r0, [sp, #0x0] add r0, r4, #0x0 mov r1, #0xa9 add r2, r6, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r4, #0x0 mov r1, #0x6 add r2, sp, #0x0 - bl sub_02067830 + bl FUN_02067830 add r0, r7, #0x0 mov r1, #0x0 add r2, r5, #0x0 - bl sub_02025878 + bl FUN_02025878 add r0, r6, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020856F0 -sub_020856F0: ; 0x020856F0 + thumb_func_start FUN_020856F0 +FUN_020856F0: ; 0x020856F0 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 add r0, r5, #0x0 mov r1, #0x34 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x34 add r6, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x0 strh r0, [r6, #0x0] add r0, r4, #0x0 - bl sub_020257C0 + bl FUN_020257C0 str r0, [r6, #0x8] mov r0, #0x8 add r1, r5, #0x0 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r6, #0x10] add r0, r4, #0x0 - bl sub_020257C4 + bl FUN_020257C4 add r1, r0, #0x0 ldr r0, [r6, #0x10] - bl sub_02021E28 + bl FUN_02021E28 add r0, r4, #0x0 - bl sub_020257CC + bl FUN_020257CC strb r0, [r6, #0xf] add r0, r4, #0x0 - bl sub_020257D8 + bl FUN_020257D8 strb r0, [r6, #0xd] add r0, r4, #0x0 - bl sub_020257DC + bl FUN_020257DC strb r0, [r6, #0xe] mov r5, #0x0 mov r7, #0x2 @@ -247611,7 +247611,7 @@ _02085748: add r0, r4, #0x0 lsr r1, r1, #0x18 add r2, r7, #0x0 - bl sub_020257E0 + bl FUN_020257E0 lsl r1, r5, #0x1 add r1, r6, r1 strh r0, [r1, #0x14] @@ -247627,11 +247627,11 @@ _0208576A: lsl r1, r5, #0x18 add r0, r4, #0x0 lsr r1, r1, #0x18 - bl sub_02025814 + bl FUN_02025814 add r1, r0, #0x0 lsl r0, r5, #0x3 add r0, r7, r0 - bl sub_02013960 + bl FUN_02013960 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -247640,22 +247640,22 @@ _0208576A: add r0, r6, #0x0 pop {r3-r7, pc} - thumb_func_start sub_0208578C -sub_0208578C: ; 0x0208578C + thumb_func_start FUN_0208578C +FUN_0208578C: ; 0x0208578C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x10] cmp r0, #0x0 beq _0208579A - bl sub_02021A20 + bl FUN_02021A20 _0208579A: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_020857A4 -sub_020857A4: ; 0x020857A4 + thumb_func_start FUN_020857A4 +FUN_020857A4: ; 0x020857A4 push {r3-r7, lr} add r7, r1, #0x0 add r4, r7, #0x0 @@ -247668,7 +247668,7 @@ _020857B0: add r0, r6, #0x0 add r1, r4, r1 lsr r2, r2, #0x18 - bl sub_02025824 + bl FUN_02025824 add r0, r5, #0x1 lsl r0, r0, #0x10 lsr r5, r0, #0x10 @@ -247676,22 +247676,22 @@ _020857B0: blo _020857B0 ldrb r1, [r7, #0xf] add r0, r6, #0x0 - bl sub_020257D0 + bl FUN_020257D0 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020857D4 -sub_020857D4: ; 0x020857D4 + thumb_func_start FUN_020857D4 +FUN_020857D4: ; 0x020857D4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020857F4 - bl sub_02006290 + bl FUN_02006290 cmp r0, #0x0 beq _020857F4 ldr r0, [r4, #0x0] - bl sub_02006260 + bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 @@ -247700,32 +247700,32 @@ _020857F4: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_020857F8 -sub_020857F8: ; 0x020857F8 + thumb_func_start FUN_020857F8 +FUN_020857F8: ; 0x020857F8 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_0200628C + bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x28 lsl r2, r2, #0xc - bl sub_0201681C + bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x1c mov r2, #0x28 - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x1c add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r1, #0x28 str r1, [r4, #0x0] ldr r0, [r5, #0x14] - bl sub_020856F0 + bl FUN_020856F0 str r0, [r4, #0x10] ldr r0, [r5, #0x10] - bl sub_02023900 + bl FUN_02023900 ldr r1, [r4, #0x10] str r0, [r1, #0x4] ldrh r0, [r5, #0x0] @@ -247749,15 +247749,15 @@ _02085850: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0208585C -sub_0208585C: ; 0x0208585C + thumb_func_start FUN_0208585C +FUN_0208585C: ; 0x0208585C push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_0200628C + bl FUN_0200628C add r6, r0, #0x0 ldr r0, [r5, #0x0] cmp r0, #0x4 @@ -247781,7 +247781,7 @@ _02085878: ldr r0, _02085994 ; =0x020FCAA8 ldr r1, [r4, #0x10] ldr r2, [r4, #0x0] - bl sub_02006234 + bl FUN_02006234 str r0, [r4, #0xc] mov r0, #0x1 str r0, [r5, #0x0] @@ -247810,50 +247810,50 @@ _02085994: .word 0x020FCAA8 _02085998: .byte 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0xCA, 0x0F, 0x02 - thumb_func_start sub_020859A0 -sub_020859A0: ; 0x020859A0 + thumb_func_start FUN_020859A0 +FUN_020859A0: ; 0x020859A0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x10] - bl sub_0208578C + bl FUN_0208578C add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C ldr r0, [r4, #0x0] - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_020859C0 -sub_020859C0: ; 0x020859C0 + thumb_func_start FUN_020859C0 +FUN_020859C0: ; 0x020859C0 push {r3-r7, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x35 lsl r2, r2, #0x12 - bl sub_0201681C + bl FUN_0201681C mov r0, #0x35 - bl sub_02230F3C - bl sub_0222F7E0 + bl FUN_02230F3C + bl FUN_0222F7E0 ldr r1, _02085BA0 ; =0x0000042C add r0, r5, #0x0 mov r2, #0x35 - bl sub_02006268 + bl FUN_02006268 ldr r2, _02085BA0 ; =0x0000042C mov r1, #0x0 add r4, r0, #0x0 - blx sub_020DF4A4 - bl sub_0222E2BC + blx FUN_020DF4A4 + bl FUN_0222E2BC mov r1, #0x23 lsl r1, r1, #0x4 str r0, [r4, r1] add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C str r0, [r4, #0x0] mov r0, #0x35 - bl sub_020669C0 + bl FUN_020669C0 ldr r1, _02085BA4 ; =0x00000428 mov r2, #0xff str r0, [r4, r1] @@ -247865,7 +247865,7 @@ sub_020859C0: ; 0x020859C0 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x20] - bl sub_02029E0C + bl FUN_02029E0C asr r1, r0, #0x2 lsr r1, r1, #0x1d add r1, r0, r1 @@ -247880,18 +247880,18 @@ sub_020859C0: ; 0x020859C0 str r1, [r4, r0] _02085A38: ldr r0, [r4, #0x0] - bl sub_02085D84 + bl FUN_02085D84 mov r1, #0xf1 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] - bl sub_02085D84 + bl FUN_02085D84 mov r1, #0xf2 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x20] - bl sub_02029CEC + bl FUN_02029CEC str r0, [r4, #0x64] mov r6, #0x0 add r5, r4, #0x0 @@ -247900,7 +247900,7 @@ _02085A60: ldr r0, [r4, #0x0] add r1, r6, #0x0 ldr r0, [r0, #0x20] - bl sub_02029C8C + bl FUN_02029C8C str r7, [r5, #0x4] str r0, [r5, #0x8] add r6, r6, #0x1 @@ -247918,7 +247918,7 @@ _02085A7C: beq _02085A9A add r1, r7, #0x0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC cmp r0, #0x0 beq _02085A9A lsl r0, r0, #0x3 @@ -247931,15 +247931,15 @@ _02085A9A: cmp r5, #0x6 blt _02085A7C mov r0, #0x35 - bl sub_02016B94 + bl FUN_02016B94 add r1, r4, #0x0 add r1, #0xe4 str r0, [r1, #0x0] mov r0, #0x40 mov r1, #0x35 - bl sub_0201C24C + bl FUN_0201C24C mov r0, #0x35 - bl sub_02002FD0 + bl FUN_02002FD0 add r1, r4, #0x0 add r1, #0xe8 str r0, [r1, #0x0] @@ -247947,7 +247947,7 @@ _02085A9A: add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_020038F0 + bl FUN_020038F0 add r0, r4, #0x0 add r0, #0xe8 mov r2, #0x2 @@ -247955,21 +247955,21 @@ _02085A9A: mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0x35 - bl sub_02003008 + bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r1, #0x1 ldr r0, [r0, #0x0] lsl r2, r1, #0x9 mov r3, #0x35 - bl sub_02003008 + bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r1, #0x2 ldr r0, [r0, #0x0] lsl r2, r1, #0x8 mov r3, #0x35 - bl sub_02003008 + bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe8 mov r2, #0x2 @@ -247977,27 +247977,27 @@ _02085A9A: mov r1, #0x3 lsl r2, r2, #0x8 mov r3, #0x35 - bl sub_02003008 + bl FUN_02003008 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] - bl sub_02230F80 - bl sub_0222E360 + bl FUN_02230F80 + bl FUN_0222E360 mov r0, #0x35 - bl sub_02006D98 + bl FUN_02006D98 mov r1, #0x69 lsl r1, r1, #0x2 str r0, [r4, r1] mov r0, #0x35 mov r1, #0x1 mov r2, #0x0 - bl sub_02014BF4 + bl FUN_02014BF4 mov r1, #0x97 lsl r1, r1, #0x2 str r0, [r4, r1] ldr r0, [r4, #0x0] ldr r0, [r0, #0x24] - bl sub_02025084 + bl FUN_02025084 add r5, r0, #0x0 add r0, r4, #0x0 add r1, r4, #0x0 @@ -248006,7 +248006,7 @@ _02085A9A: ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] add r2, r5, #0x0 - bl sub_0222ED34 + bl FUN_0222ED34 add r0, r4, #0x0 add r1, r4, #0x0 add r0, #0xe4 @@ -248014,24 +248014,24 @@ _02085A9A: ldr r0, [r0, #0x0] ldr r1, [r1, #0x0] add r2, r5, #0x0 - bl sub_0222EDBC + bl FUN_0222EDBC add r0, r4, #0x0 add r0, #0xd4 - bl sub_0222E7E8 - bl sub_0201CC08 + bl FUN_0222E7E8 + bl FUN_0201CC08 mov r0, #0x4 - bl sub_0201CC24 + bl FUN_0201CC24 add r0, r4, #0x0 - bl sub_022300E4 + bl FUN_022300E4 ldr r0, _02085BAC ; =0x022310CD add r1, r4, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r4, #0x0 - bl sub_0222DD1C + bl FUN_0222DD1C mov r1, #0x0 mov r0, #0x3b add r2, r1, #0x0 - bl sub_0200433C + bl FUN_0200433C mov r0, #0x1 pop {r3-r7, pc} nop @@ -248040,11 +248040,11 @@ _02085BA4: .word 0x00000428 _02085BA8: .word 0x0000041C _02085BAC: .word 0x022310CD - thumb_func_start sub_02085BB0 -sub_02085BB0: ; 0x02085BB0 + thumb_func_start FUN_02085BB0 +FUN_02085BB0: ; 0x02085BB0 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x0 @@ -248055,14 +248055,14 @@ sub_02085BB0: ; 0x02085BB0 beq _02085BF6 b _02085C02 _02085BCA: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _02085C02 mov r0, #0x1 str r0, [r5, #0x0] b _02085C02 _02085BD8: - bl sub_0222F990 + bl FUN_0222F990 cmp r0, #0x0 bne _02085BE6 mov r0, #0x2 @@ -248072,11 +248072,11 @@ _02085BE6: mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02006ED4 - bl sub_0222E3A0 + bl FUN_02006ED4 + bl FUN_0222E3A0 b _02085C02 _02085BF6: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _02085C02 mov r0, #0x1 @@ -248086,156 +248086,156 @@ _02085C02: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02085C08 -sub_02085C08: ; 0x02085C08 + thumb_func_start FUN_02085C08 +FUN_02085C08: ; 0x02085C08 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x4 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x8 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x1 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x2 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x4 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C mov r0, #0x8 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x5 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x6 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] mov r1, #0x7 - bl sub_020178A0 + bl FUN_020178A0 add r0, r4, #0x0 add r0, #0xe4 ldr r0, [r0, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x0 - bl sub_02003038 + bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x1 - bl sub_02003038 + bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x2 - bl sub_02003038 + bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] mov r1, #0x3 - bl sub_02003038 + bl FUN_02003038 add r0, r4, #0x0 add r0, #0xe8 ldr r0, [r0, #0x0] - bl sub_02002FEC + bl FUN_02002FEC mov r1, #0xf1 lsl r1, r1, #0x2 ldr r1, [r4, r1] ldr r0, [r4, #0x0] lsl r1, r1, #0x18 lsr r1, r1, #0x18 - bl sub_02085D8C + bl FUN_02085D8C ldr r0, _02085D64 ; =0x00000428 ldr r0, [r4, r0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_0222DAEC + bl FUN_0222DAEC mov r0, #0x73 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_0202212C + bl FUN_0202212C mov r0, #0x69 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_020072E8 + bl FUN_020072E8 mov r0, #0x97 lsl r0, r0, #0x2 ldr r0, [r4, r0] - bl sub_02014C28 + bl FUN_02014C28 add r0, r4, #0x0 - bl sub_0222DD38 + bl FUN_0222DD38 add r0, r4, #0x0 add r0, #0xd4 - bl sub_0222E874 - bl sub_0201C29C + bl FUN_0222E874 + bl FUN_0201C29C mov r0, #0x23 lsl r0, r0, #0x4 ldr r0, [r4, r0] - bl sub_020223BC + bl FUN_020223BC mov r0, #0x35 - bl sub_02230F70 + bl FUN_02230F70 add r0, r5, #0x0 - bl sub_0200627C - bl sub_0201CD04 + bl FUN_0200627C + bl FUN_0201CD04 mov r0, #0x35 - bl sub_020168D0 + bl FUN_020168D0 ldr r0, _02085D68 ; =0x00000008 - bl sub_02005F60 + bl FUN_02005F60 mov r0, #0x1 pop {r3-r5, pc} nop _02085D64: .word 0x00000428 _02085D68: .word 0x00000008 - thumb_func_start sub_02085D6C -sub_02085D6C: ; 0x02085D6C + thumb_func_start FUN_02085D6C +FUN_02085D6C: ; 0x02085D6C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, r1 bge _02085D7C - bl sub_02020C2C + bl FUN_02020C2C mov r1, #0x0 _02085D7C: lsl r0, r1, #0x2 @@ -248243,44 +248243,44 @@ _02085D7C: ldr r0, [r0, #0x4] pop {r4, pc} - thumb_func_start sub_02085D84 -sub_02085D84: ; 0x02085D84 + thumb_func_start FUN_02085D84 +FUN_02085D84: ; 0x02085D84 add r0, #0x2c ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02085D8C -sub_02085D8C: ; 0x02085D8C + thumb_func_start FUN_02085D8C +FUN_02085D8C: ; 0x02085D8C add r0, #0x2c strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02085D94 -sub_02085D94: ; 0x02085D94 + thumb_func_start FUN_02085D94 +FUN_02085D94: ; 0x02085D94 add r0, #0x2d ldrb r0, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02085D9C -sub_02085D9C: ; 0x02085D9C + thumb_func_start FUN_02085D9C +FUN_02085D9C: ; 0x02085D9C add r0, #0x2d strb r1, [r0, #0x0] bx lr .balign 4 - thumb_func_start sub_02085DA4 -sub_02085DA4: ; 0x02085DA4 + thumb_func_start FUN_02085DA4 +FUN_02085DA4: ; 0x02085DA4 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r6, r0, #0x0 add r0, r5, #0x0 ldr r7, [r6, #0x8] - bl sub_02046528 + bl FUN_02046528 str r0, [sp, #0x4] ldr r0, [r6, #0x14] cmp r0, #0x6 @@ -248301,17 +248301,17 @@ _02085DC2: lsl r4, r0, #0x5 lsl r0, r2, #0x5 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r6, #0x10] - bl sub_02029C80 + bl FUN_02029C80 str r0, [r7, #0x20] add r0, r7, #0x0 mov r1, #0x0 - bl sub_02085D8C + bl FUN_02085D8C ldr r0, [r6, #0x10] - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r7, #0x1c] - bl sub_0206B9AC + bl FUN_0206B9AC mov r4, #0x0 str r0, [sp, #0x0] str r0, [r7, #0x0] @@ -248321,7 +248321,7 @@ _02085DC2: _02085E0A: ldr r0, [r7, #0x1c] add r1, r4, #0x0 - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [r5, #0x4] ldr r0, [sp, #0x0] add r4, r4, #0x1 @@ -248370,14 +248370,14 @@ _02085F38: _02085F40: .byte 0xD8, 0xCA, 0x0F, 0x02, 0xDC, 0x96, 0x0F, 0x02 - thumb_func_start sub_02085F48 -sub_02085F48: ; 0x02085F48 + thumb_func_start FUN_02085F48 +FUN_02085F48: ; 0x02085F48 push {r4-r6, lr} add r6, r0, #0x0 add r5, r1, #0x0 mov r0, #0xb mov r1, #0x18 - bl sub_020169D8 + bl FUN_020169D8 add r4, r0, #0x0 add r2, r4, #0x0 mov r1, #0x18 @@ -248390,40 +248390,40 @@ _02085F5E: mov r0, #0xb mov r1, #0x30 str r5, [r4, #0x10] - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x30 str r0, [r4, #0x8] - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 - bl sub_02023900 + bl FUN_02023900 ldr r1, [r4, #0x8] str r0, [r1, #0x24] ldr r0, [r4, #0x8] mov r1, #0x40 str r5, [r0, #0x28] mov r0, #0xb - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 str r0, [r4, #0xc] - blx sub_020DF4A4 - ldr r1, _02085FA8 ; =sub_02085DA4 + blx FUN_020DF4A4 + ldr r1, _02085FA8 ; =FUN_02085DA4 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} nop -_02085FA8: .word sub_02085DA4 + 1 +_02085FA8: .word FUN_02085DA4 + 1 - thumb_func_start sub_02085FAC -sub_02085FAC: ; 0x02085FAC + thumb_func_start FUN_02085FAC +FUN_02085FAC: ; 0x02085FAC push {r4, lr} add r4, r0, #0x0 ldr r0, _02085FC8 ; =0x0000032A cmp r4, r0 blo _02085FBA - bl sub_02020C2C + bl FUN_02020C2C _02085FBA: mov r0, #0xa add r1, r4, #0x0 @@ -248435,14 +248435,14 @@ _02085FBA: _02085FC8: .word 0x0000032A _02085FCC: .word 0x020FCAE8 - thumb_func_start sub_02085FD0 -sub_02085FD0: ; 0x02085FD0 + thumb_func_start FUN_02085FD0 +FUN_02085FD0: ; 0x02085FD0 push {r4, lr} add r4, r0, #0x0 ldr r0, _02085FEC ; =0x0000032A cmp r4, r0 blo _02085FDE - bl sub_02020C2C + bl FUN_02020C2C _02085FDE: mov r0, #0xa add r1, r4, #0x0 @@ -248454,14 +248454,14 @@ _02085FDE: _02085FEC: .word 0x0000032A _02085FF0: .word 0x020FCAEA - thumb_func_start sub_02085FF4 -sub_02085FF4: ; 0x02085FF4 + thumb_func_start FUN_02085FF4 +FUN_02085FF4: ; 0x02085FF4 push {r4, lr} add r4, r0, #0x0 ldr r0, _02086010 ; =0x0000032A cmp r4, r0 blo _02086002 - bl sub_02020C2C + bl FUN_02020C2C _02086002: mov r0, #0xa add r1, r4, #0x0 @@ -248473,14 +248473,14 @@ _02086002: _02086010: .word 0x0000032A _02086014: .word 0x020FCAEC - thumb_func_start sub_02086018 -sub_02086018: ; 0x02086018 + thumb_func_start FUN_02086018 +FUN_02086018: ; 0x02086018 push {r4, lr} add r4, r0, #0x0 ldr r0, _02086034 ; =0x0000032A cmp r4, r0 blo _02086026 - bl sub_02020C2C + bl FUN_02020C2C _02086026: mov r0, #0xa add r1, r4, #0x0 @@ -248492,14 +248492,14 @@ _02086026: _02086034: .word 0x0000032A _02086038: .word 0x020FCAED - thumb_func_start sub_0208603C -sub_0208603C: ; 0x0208603C + thumb_func_start FUN_0208603C +FUN_0208603C: ; 0x0208603C push {r4, lr} add r4, r0, #0x0 ldr r0, _02086058 ; =0x0000032A cmp r4, r0 blo _0208604A - bl sub_02020C2C + bl FUN_02020C2C _0208604A: mov r0, #0xa add r1, r4, #0x0 @@ -248511,14 +248511,14 @@ _0208604A: _02086058: .word 0x0000032A _0208605C: .word 0x020FCAEE - thumb_func_start sub_02086060 -sub_02086060: ; 0x02086060 + thumb_func_start FUN_02086060 +FUN_02086060: ; 0x02086060 push {r4, lr} add r4, r0, #0x0 ldr r0, _0208607C ; =0x0000032A cmp r4, r0 blo _0208606E - bl sub_02020C2C + bl FUN_02020C2C _0208606E: mov r0, #0xa add r1, r4, #0x0 @@ -248530,101 +248530,101 @@ _0208606E: _0208607C: .word 0x0000032A _02086080: .word 0x020FCAF0 - thumb_func_start sub_02086084 -sub_02086084: ; 0x02086084 + thumb_func_start FUN_02086084 +FUN_02086084: ; 0x02086084 push {r3-r5, lr} add r5, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 - bl sub_02015F1C + bl FUN_02015F10 + bl FUN_02015F1C mov r2, #0x1 mov r0, #0x3 mov r1, #0x47 lsl r2, r2, #0x12 - bl sub_0201681C + bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x80 mov r2, #0x47 - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x80 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C str r0, [r4, #0x0] ldr r0, [r0, #0x10] - bl sub_02024FF4 + bl FUN_02024FF4 str r0, [r4, #0x10] ldr r0, [r4, #0x0] ldr r0, [r0, #0x10] - bl sub_02025084 + bl FUN_02025084 str r0, [r4, #0x14] - bl sub_02086468 + bl FUN_02086468 str r0, [r4, #0x38] mov r0, #0x47 - bl sub_02006D98 + bl FUN_02006D98 str r0, [r4, #0x3c] mov r0, #0x47 - bl sub_02016B94 + bl FUN_02016B94 str r0, [r4, #0x4] mov r0, #0x40 mov r1, #0x47 - bl sub_0201C24C + bl FUN_0201C24C mov r0, #0x47 mov r1, #0x1 mov r2, #0x0 - bl sub_02014BF4 + bl FUN_02014BF4 str r0, [r4, #0x54] mov r0, #0x47 - bl sub_02002FD0 + bl FUN_02002FD0 str r0, [r4, #0x8] mov r1, #0x1 - bl sub_020038F0 + bl FUN_020038F0 mov r2, #0x2 ldr r0, [r4, #0x8] mov r1, #0x0 lsl r2, r2, #0x8 mov r3, #0x47 - bl sub_02003008 + bl FUN_02003008 mov r1, #0x2 ldr r0, [r4, #0x8] lsl r2, r1, #0x8 mov r3, #0x47 - bl sub_02003008 + bl FUN_02003008 mov r1, #0x1 ldr r0, [r4, #0x8] lsl r2, r1, #0x9 mov r3, #0x47 - bl sub_02003008 + bl FUN_02003008 mov r2, #0x2 ldr r0, [r4, #0x8] mov r1, #0x3 lsl r2, r2, #0x8 mov r3, #0x47 - bl sub_02003008 - bl sub_02086414 - bl sub_0208643C - bl sub_0208650C + bl FUN_02003008 + bl FUN_02086414 + bl FUN_0208643C + bl FUN_0208650C ldr r0, [r4, #0x4] - bl sub_0208654C + bl FUN_0208654C add r0, r4, #0x4 - bl sub_02086E48 - bl sub_0200541C - ldr r0, _02086164 ; =sub_02086664 + bl FUN_02086E48 + bl FUN_0200541C + ldr r0, _02086164 ; =FUN_02086664 add r1, r4, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x1 pop {r3-r5, pc} nop -_02086164: .word sub_02086664 + 1 +_02086164: .word FUN_02086664 + 1 - thumb_func_start sub_02086168 -sub_02086168: ; 0x02086168 + thumb_func_start FUN_02086168 +FUN_02086168: ; 0x02086168 push {r3-r5, lr} add r5, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 cmp r1, #0x0 @@ -248633,7 +248633,7 @@ sub_02086168: ; 0x02086168 beq _020861AA b _020861C6 _0208617E: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _0208618C ldr r0, [r5, #0x0] @@ -248644,7 +248644,7 @@ _0208618C: mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC ldr r1, _020861D8 ; =0x000001EA cmp r0, r1 bne _020861A4 @@ -248656,7 +248656,7 @@ _020861A4: str r0, [r4, #0x58] b _020861D2 _020861AA: - bl sub_02086FA8 + bl FUN_02086FA8 cmp r0, #0x0 bne _020861BA ldr r0, [r5, #0x0] @@ -248665,11 +248665,11 @@ _020861AA: b _020861D2 _020861BA: ldr r0, [r4, #0x3c] - bl sub_02006ED4 - bl sub_02086698 + bl FUN_02006ED4 + bl FUN_02086698 b _020861D2 _020861C6: - bl sub_0200E308 + bl FUN_0200E308 cmp r0, #0x1 bne _020861D2 mov r0, #0x1 @@ -248680,75 +248680,75 @@ _020861D2: nop _020861D8: .word 0x000001EA - thumb_func_start sub_020861DC -sub_020861DC: ; 0x020861DC + thumb_func_start FUN_020861DC +FUN_020861DC: ; 0x020861DC push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 ldr r0, [r4, #0x38] - bl sub_020223BC + bl FUN_020223BC mov r0, #0x1 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x2 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x3 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 mov r0, #0x4 mov r1, #0x0 - bl sub_0201E74C + bl FUN_0201E74C ldr r0, [r4, #0x8] mov r1, #0x0 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x2 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x1 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x8] mov r1, #0x3 - bl sub_02003038 + bl FUN_02003038 ldr r0, [r4, #0x8] - bl sub_02002FEC + bl FUN_02002FEC ldr r0, [r4, #0x4] mov r1, #0x1 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x2 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x3 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x4] mov r1, #0x4 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x4] - bl sub_02016A18 - bl sub_0201C29C + bl FUN_02016A18 + bl FUN_0201C29C ldr r0, [r4, #0x3c] - bl sub_020072E8 + bl FUN_020072E8 ldr r0, [r4, #0x54] - bl sub_02014C28 + bl FUN_02014C28 add r0, r4, #0x4 - bl sub_02086ED4 + bl FUN_02086ED4 add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C mov r0, #0x47 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02086280 -sub_02086280: ; 0x02086280 + thumb_func_start FUN_02086280 +FUN_02086280: ; 0x02086280 push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] cmp r1, #0x6 @@ -248770,9 +248770,9 @@ _02086294: lsl r2, r4, #0x4 ldr r0, [r4, #0xc] mov r1, #0xb - bl sub_021ED940 + bl FUN_021ED940 add r0, r5, #0x0 - bl sub_0204AF3C + bl FUN_0204AF3C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] @@ -248802,14 +248802,14 @@ _020863CE: _020863D4: .byte 0x14, 0xCE, 0x0F, 0x02, 0xFC, 0xA5, 0x0F, 0x02 - thumb_func_start sub_020863DC -sub_020863DC: ; 0x020863DC + thumb_func_start FUN_020863DC +FUN_020863DC: ; 0x020863DC push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 mov r0, #0xb mov r1, #0x1c - bl sub_020169D8 + bl FUN_020169D8 add r2, r0, #0x0 add r3, r2, #0x0 mov r1, #0x1c @@ -248825,18 +248825,18 @@ _020863F2: stmia r3!, {r0-r1} ldmia r4!, {r0-r1} stmia r3!, {r0-r1} - ldr r1, _02086410 ; =sub_02086280 + ldr r1, _02086410 ; =FUN_02086280 add r0, r5, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r3-r5, pc} .balign 4 -_02086410: .word sub_02086280 + 1 +_02086410: .word FUN_02086280 + 1 - thumb_func_start sub_02086414 -sub_02086414: ; 0x02086414 + thumb_func_start FUN_02086414 +FUN_02086414: ; 0x02086414 push {r3, lr} - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -248852,8 +248852,8 @@ sub_02086414: ; 0x02086414 _02086434: .word 0xFFFFE0FF _02086438: .word 0x04001000 - thumb_func_start sub_0208643C -sub_0208643C: ; 0x0208643C + thumb_func_start FUN_0208643C +FUN_0208643C: ; 0x0208643C push {r3, lr} mov r0, #0x7 str r0, [sp, #0x0] @@ -248861,42 +248861,42 @@ sub_0208643C: ; 0x0208643C mov r1, #0x0 mov r2, #0xe mov r3, #0xb - blx sub_020C74DC + blx FUN_020C74DC mov r0, #0x8 str r0, [sp, #0x0] ldr r0, _02086464 ; =0x04001050 mov r1, #0x0 mov r2, #0xe mov r3, #0x7 - blx sub_020C74DC + blx FUN_020C74DC pop {r3, pc} .balign 4 _02086460: .word 0x04000050 _02086464: .word 0x04001050 - thumb_func_start sub_02086468 -sub_02086468: ; 0x02086468 + thumb_func_start FUN_02086468 +FUN_02086468: ; 0x02086468 push {r3, lr} sub sp, #0x8 mov r2, #0x2 mov r1, #0x0 - ldr r0, _02086484 ; =sub_02086488 + ldr r0, _02086484 ; =FUN_02086488 str r2, [sp, #0x0] str r0, [sp, #0x4] mov r0, #0x47 add r3, r1, #0x0 - bl sub_02022318 + bl FUN_02022318 add sp, #0x8 pop {r3, pc} nop -_02086484: .word sub_02086488 + 1 +_02086484: .word FUN_02086488 + 1 - thumb_func_start sub_02086488 -sub_02086488: ; 0x02086488 + thumb_func_start FUN_02086488 +FUN_02086488: ; 0x02086488 push {r3, lr} mov r0, #0x1 add r1, r0, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, _020864F4 ; =0x04000008 mov r1, #0x3 ldrh r2, [r0, #0x0] @@ -248933,13 +248933,13 @@ sub_02086488: ; 0x02086488 add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - blx sub_020C7C28 + blx FUN_020C7C28 mov r0, #0x0 ldr r2, _02086500 ; =0x00007FFF add r1, r0, #0x0 mov r3, #0x3f str r0, [sp, #0x0] - blx sub_020C7B3C + blx FUN_020C7B3C ldr r1, _02086504 ; =0xBFFF0000 ldr r0, _02086508 ; =0x04000580 str r1, [r0, #0x0] @@ -248952,8 +248952,8 @@ _02086500: .word 0x00007FFF _02086504: .word 0xBFFF0000 _02086508: .word 0x04000580 - thumb_func_start sub_0208650C -sub_0208650C: ; 0x0208650C + thumb_func_start FUN_0208650C +FUN_0208650C: ; 0x0208650C push {r3-r5, lr} ldr r3, _02086544 ; =0x021064B8 mov r0, #0x2 @@ -248972,24 +248972,24 @@ sub_0208650C: ; 0x0208650C add r5, r0, #0x0 cmp r4, #0x0 bne _02086534 - bl sub_02020C2C + bl FUN_02020C2C _02086534: cmp r5, #0x0 bne _0208653C - bl sub_02020C2C + bl FUN_02020C2C _0208653C: - bl sub_02012CC8 + bl FUN_02012CC8 pop {r3-r5, pc} nop _02086544: .word 0x021064B8 _02086548: .word 0x021064C0 - thumb_func_start sub_0208654C -sub_0208654C: ; 0x0208654C + thumb_func_start FUN_0208654C +FUN_0208654C: ; 0x0208654C push {r3-r5, lr} sub sp, #0xa8 add r4, r0, #0x0 - bl sub_0201E6D8 + bl FUN_0201E6D8 ldr r5, _02086650 ; =0x020FCEBC add r3, sp, #0x2c mov r2, #0x5 @@ -248999,31 +248999,31 @@ _0208655C: sub r2, r2, #0x1 bne _0208655C add r0, sp, #0x2c - bl sub_0201E66C + bl FUN_0201E66C mov r1, #0x6 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x18 lsl r2, r2, #0x12 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x62 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x19 mov r2, #0x1 mov r0, #0x0 lsl r1, r1, #0x16 lsl r2, r2, #0x12 - blx sub_020CE1FC + blx FUN_020CE1FC mov r1, #0x66 mov r2, #0x2 mov r0, #0x0 lsl r1, r1, #0x14 lsl r2, r2, #0x10 - blx sub_020CE1FC + blx FUN_020CE1FC ldr r5, _02086654 ; =0x020FCE24 add r3, sp, #0x1c add r2, r3, #0x0 @@ -249032,7 +249032,7 @@ _0208655C: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _02086658 ; =0x020FCF84 add r3, sp, #0x54 mov r2, #0xa @@ -249047,26 +249047,26 @@ _020865BC: add r0, r4, #0x0 add r2, sp, #0x54 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x2 add r2, sp, #0x70 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x3 add r2, sp, #0x8c mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x1 - bl sub_02018744 + bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02018744 + bl FUN_02018744 add r0, r4, #0x0 mov r1, #0x3 - bl sub_02018744 + bl FUN_02018744 ldr r1, _0208665C ; =0x04000008 mov r0, #0x3 ldrh r2, [r1, #0x0] @@ -249075,11 +249075,11 @@ _020865BC: orr r2, r0 strh r2, [r1, #0x0] add r1, r0, #0x0 - bl sub_0201E6E4 - bl sub_0201E788 + bl FUN_0201E6E4 + bl FUN_0201E788 mov r0, #0x10 mov r1, #0x1 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r5, _02086660 ; =0x020FCE60 add r3, sp, #0x0 ldmia r5!, {r0-r1} @@ -249094,10 +249094,10 @@ _020865BC: str r0, [r3, #0x0] add r0, r4, #0x0 mov r3, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r4, #0x0 mov r1, #0x4 - bl sub_02018744 + bl FUN_02018744 add sp, #0xa8 pop {r3-r5, pc} .balign 4 @@ -249107,18 +249107,18 @@ _02086658: .word 0x020FCF84 _0208665C: .word 0x04000008 _02086660: .word 0x020FCE60 - thumb_func_start sub_02086664 -sub_02086664: ; 0x02086664 + thumb_func_start FUN_02086664 +FUN_02086664: ; 0x02086664 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x3c] - bl sub_020081C4 - bl sub_0201C30C - bl sub_0200BC30 + bl FUN_020081C4 + bl FUN_0201C30C + bl FUN_0200BC30 ldr r0, [r4, #0x8] - bl sub_0200372C + bl FUN_0200372C ldr r0, [r4, #0x4] - bl sub_0201AB60 + bl FUN_0201AB60 ldr r3, _02086690 ; =0x027E0000 ldr r1, _02086694 ; =0x00003FF8 mov r0, #0x1 @@ -249130,24 +249130,24 @@ sub_02086664: ; 0x02086664 _02086690: .word 0x027E0000 _02086694: .word 0x00003FF8 - thumb_func_start sub_02086698 -sub_02086698: ; 0x02086698 + thumb_func_start FUN_02086698 +FUN_02086698: ; 0x02086698 push {r3, lr} - bl sub_020222AC - bl sub_02013364 + bl FUN_020222AC + bl FUN_02013364 cmp r0, #0x0 ble _020866AE - bl sub_020222AC - blx sub_020B02C8 + bl FUN_020222AC + blx FUN_020B02C8 _020866AE: - bl sub_02013388 + bl FUN_02013388 mov r0, #0x1 mov r1, #0x0 - bl sub_020222B4 + bl FUN_020222B4 pop {r3, pc} - thumb_func_start sub_020866BC -sub_020866BC: ; 0x020866BC + thumb_func_start FUN_020866BC +FUN_020866BC: ; 0x020866BC push {lr} sub sp, #0xc mov r0, #0x6 @@ -249159,13 +249159,13 @@ sub_020866BC: ; 0x020866BC mov r0, #0x0 add r2, r1, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 add sp, #0xc pop {pc} .balign 4 - thumb_func_start sub_020866DC -sub_020866DC: ; 0x020866DC + thumb_func_start FUN_020866DC +FUN_020866DC: ; 0x020866DC push {lr} sub sp, #0xc mov r0, #0x6 @@ -249178,12 +249178,12 @@ sub_020866DC: ; 0x020866DC add r1, r0, #0x0 add r2, r0, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 add sp, #0xc pop {pc} - thumb_func_start sub_020866FC -sub_020866FC: ; 0x020866FC + thumb_func_start FUN_020866FC +FUN_020866FC: ; 0x020866FC push {r3-r6, lr} sub sp, #0xc add r6, r2, #0x0 @@ -249197,9 +249197,9 @@ sub_020866FC: ; 0x020866FC mov r2, #0x14 mov r3, #0xf add r5, r0, #0x0 - bl sub_0200CD68 + bl FUN_0200CD68 add r0, r6, #0x0 - bl sub_0200CD64 + bl FUN_0200CD64 add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -249210,7 +249210,7 @@ sub_020866FC: ; 0x020866FC add r0, r4, #0x0 mov r1, #0x26 mov r3, #0x47 - bl sub_020030E8 + bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x47 @@ -249219,8 +249219,8 @@ sub_020866FC: ; 0x020866FC mov r1, #0x1 mov r2, #0x32 mov r3, #0xd - bl sub_0200CB00 - bl sub_0200CAFC + bl FUN_0200CB00 + bl FUN_0200CAFC add r2, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] @@ -249231,7 +249231,7 @@ sub_020866FC: ; 0x020866FC add r0, r4, #0x0 mov r1, #0x26 mov r3, #0x47 - bl sub_020030E8 + bl FUN_020030E8 mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0x20 @@ -249242,12 +249242,12 @@ sub_020866FC: ; 0x020866FC mov r1, #0xe mov r2, #0x7 mov r3, #0x47 - bl sub_020030E8 + bl FUN_020030E8 add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_02086784 -sub_02086784: ; 0x02086784 + thumb_func_start FUN_02086784 +FUN_02086784: ; 0x02086784 push {r4-r7, lr} sub sp, #0x14 add r5, r1, #0x0 @@ -249255,7 +249255,7 @@ sub_02086784: ; 0x02086784 add r0, r5, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 - bl sub_0201901C + bl FUN_0201901C ldr r0, [sp, #0x28] lsl r2, r4, #0x18 lsl r0, r0, #0x18 @@ -249282,22 +249282,22 @@ sub_02086784: ; 0x02086784 lsr r0, r0, #0x10 str r0, [sp, #0x10] add r0, r7, #0x0 - bl sub_02019064 + bl FUN_02019064 add r0, r5, #0x0 mov r1, #0x1 mov r2, #0x14 mov r3, #0xc - bl sub_0200D0BC + bl FUN_0200D0BC add r0, r5, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 add r0, r5, #0x0 - bl sub_020191D0 + bl FUN_020191D0 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_020867EC -sub_020867EC: ; 0x020867EC + thumb_func_start FUN_020867EC +FUN_020867EC: ; 0x020867EC push {r3-r7, lr} sub sp, #0x18 add r4, r1, #0x0 @@ -249305,34 +249305,34 @@ sub_020867EC: ; 0x020867EC str r0, [sp, #0xc] str r2, [sp, #0x10] add r6, r3, #0x0 - bl sub_02019620 + bl FUN_02019620 ldr r2, _02086874 ; =0x0000013F mov r0, #0x0 mov r1, #0x1a mov r3, #0x47 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 mov r0, #0x47 - bl sub_0200AA80 + bl FUN_0200AA80 add r5, r0, #0x0 add r0, r7, #0x0 add r1, r4, #0x0 - bl sub_0200A914 + bl FUN_0200A914 str r0, [sp, #0x14] mov r0, #0xff mov r1, #0x47 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 ldr r0, [sp, #0x10] - bl sub_020690E4 + bl FUN_020690E4 add r2, r0, #0x0 add r0, r5, #0x0 mov r1, #0x0 - bl sub_0200AC60 + bl FUN_0200AC60 ldr r2, [sp, #0x14] add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_0200B7B8 + bl FUN_0200B7B8 mov r3, #0x0 str r3, [sp, #0x0] str r6, [sp, #0x4] @@ -249340,24 +249340,24 @@ sub_020867EC: ; 0x020867EC mov r1, #0x1 add r2, r4, #0x0 str r3, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r6, r0, #0x0 add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [sp, #0x14] - bl sub_02021A20 + bl FUN_02021A20 add r0, r5, #0x0 - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r6, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02086874: .word 0x0000013F - thumb_func_start sub_02086878 -sub_02086878: ; 0x02086878 + thumb_func_start FUN_02086878 +FUN_02086878: ; 0x02086878 push {r4-r7, lr} sub sp, #0x24 add r5, r0, #0x0 @@ -249365,7 +249365,7 @@ sub_02086878: ; 0x02086878 add r6, r1, #0x0 str r2, [sp, #0x14] add r4, r3, #0x0 - bl sub_0201901C + bl FUN_0201901C ldr r0, [sp, #0x3c] ldr r3, [sp, #0x38] lsl r0, r0, #0x18 @@ -249393,34 +249393,34 @@ sub_02086878: ; 0x02086878 str r0, [sp, #0x10] add r0, r6, #0x0 lsr r3, r3, #0x18 - bl sub_02019064 + bl FUN_02019064 mov r0, #0x2 mov r1, #0x47 - bl sub_02012838 + bl FUN_02012838 str r0, [r5, #0x44] ldr r2, _0208695C ; =0x0000013F mov r0, #0x0 mov r1, #0x1a mov r3, #0x47 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 mov r4, #0x0 _020868DE: add r0, r7, #0x0 add r1, r4, #0x2 - bl sub_0200A914 + bl FUN_0200A914 add r6, r0, #0x0 ldr r0, [r5, #0x44] add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_020128A0 + bl FUN_020128A0 add r0, r6, #0x0 - bl sub_02021A20 + bl FUN_02021A20 add r4, r4, #0x1 cmp r4, #0x2 blt _020868DE add r0, r7, #0x0 - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [r5, #0x44] mov r1, #0x0 str r0, [sp, #0x18] @@ -249449,7 +249449,7 @@ _020868DE: ldr r0, [sp, #0x14] mov r2, #0x32 mov r3, #0xd - bl sub_0200CCA4 + bl FUN_0200CCA4 mov r0, #0x47 str r0, [sp, #0x0] mov r0, #0x2 @@ -249458,44 +249458,44 @@ _020868DE: add r0, sp, #0x18 mov r1, #0x8 add r3, r2, #0x0 - bl sub_02001C14 + bl FUN_02001C14 str r0, [r5, #0x48] add sp, #0x24 pop {r4-r7, pc} nop _0208695C: .word 0x0000013F - thumb_func_start sub_02086960 -sub_02086960: ; 0x02086960 + thumb_func_start FUN_02086960 +FUN_02086960: ; 0x02086960 push {r4, lr} add r4, r0, #0x0 add r0, #0x28 mov r1, #0x1 - bl sub_0200CCF8 + bl FUN_0200CCF8 add r0, r4, #0x0 add r0, #0x28 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 add r0, #0x28 - bl sub_02019178 + bl FUN_02019178 ldr r0, [r4, #0x48] mov r1, #0x0 - bl sub_02001C5C + bl FUN_02001C5C ldr r0, [r4, #0x44] - bl sub_02012870 + bl FUN_02012870 pop {r4, pc} - thumb_func_start sub_0208698C -sub_0208698C: ; 0x0208698C + thumb_func_start FUN_0208698C +FUN_0208698C: ; 0x0208698C push {r4, lr} add r4, r0, #0x0 - bl sub_02019570 + bl FUN_02019570 add r0, r4, #0x0 - bl sub_02019178 + bl FUN_02019178 pop {r4, pc} - thumb_func_start sub_0208699C -sub_0208699C: ; 0x0208699C + thumb_func_start FUN_0208699C +FUN_0208699C: ; 0x0208699C push {r3-r5, lr} sub sp, #0x10 add r4, r1, #0x0 @@ -249510,7 +249510,7 @@ sub_0208699C: ; 0x0208699C mov r0, #0x76 add r2, r5, #0x0 mov r3, #0x3 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -249521,7 +249521,7 @@ sub_0208699C: ; 0x0208699C mov r0, #0x76 add r2, r5, #0x0 mov r3, #0x3 - bl sub_020068C8 + bl FUN_020068C8 mov r1, #0x0 str r1, [sp, #0x0] mov r0, #0x40 @@ -249531,13 +249531,13 @@ sub_0208699C: ; 0x0208699C mov r1, #0x76 mov r2, #0x8 mov r3, #0x47 - bl sub_020030E8 + bl FUN_020030E8 add sp, #0x10 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020869F0 -sub_020869F0: ; 0x020869F0 + thumb_func_start FUN_020869F0 +FUN_020869F0: ; 0x020869F0 push {r3-r5, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -249553,7 +249553,7 @@ sub_020869F0: ; 0x020869F0 mov r1, #0xa add r2, r5, #0x0 mov r3, #0x4 - bl sub_0200687C + bl FUN_0200687C mov r0, #0x0 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -249565,7 +249565,7 @@ sub_020869F0: ; 0x020869F0 mov r1, #0xb add r2, r5, #0x0 mov r3, #0x4 - bl sub_020068C8 + bl FUN_020068C8 mov r0, #0x1 str r0, [sp, #0x0] mov r0, #0x20 @@ -249576,108 +249576,108 @@ sub_020869F0: ; 0x020869F0 add r0, r4, #0x0 add r2, r1, #0x0 mov r3, #0x47 - bl sub_020030E8 + bl FUN_020030E8 add sp, #0x10 pop {r3-r5, pc} - thumb_func_start sub_02086A48 -sub_02086A48: ; 0x02086A48 + thumb_func_start FUN_02086A48 +FUN_02086A48: ; 0x02086A48 push {r4, lr} ldr r3, _02086A60 ; =0x021064B8 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 - bl sub_0201327C + bl FUN_0201327C lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _02086A60: .word 0x021064B8 - thumb_func_start sub_02086A64 -sub_02086A64: ; 0x02086A64 + thumb_func_start FUN_02086A64 +FUN_02086A64: ; 0x02086A64 push {r4, lr} ldr r3, _02086A7C ; =0x021064C0 mov r2, #0x0 ldr r3, [r3, #0x0] blx r3 add r4, r0, #0x0 - bl sub_020132BC + bl FUN_020132BC lsl r0, r4, #0x10 lsr r0, r0, #0xd pop {r4, pc} nop _02086A7C: .word 0x021064C0 - thumb_func_start sub_02086A80 -sub_02086A80: ; 0x02086A80 + thumb_func_start FUN_02086A80 +FUN_02086A80: ; 0x02086A80 push {r4, lr} sub sp, #0x8 mov r1, #0x12 lsl r1, r1, #0xa add r4, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r2, r0, #0x0 mov r0, #0x1 str r0, [sp, #0x0] mov r3, #0x12 - ldr r0, _02086AC0 ; =sub_02086A48 - ldr r1, _02086AC4 ; =sub_02086A64 + ldr r0, _02086AC0 ; =FUN_02086A48 + ldr r1, _02086AC4 ; =FUN_02086A64 lsl r3, r3, #0xa str r4, [sp, #0x4] - bl sub_02012CDC + bl FUN_02012CDC add r4, r0, #0x0 - bl sub_0201343C + bl FUN_0201343C add r2, r0, #0x0 beq _02086AB8 mov r0, #0x1 mov r1, #0xe1 lsl r0, r0, #0xc lsl r1, r1, #0xe - bl sub_0201EC94 + bl FUN_0201EC94 _02086AB8: add r0, r4, #0x0 add sp, #0x8 pop {r4, pc} nop -_02086AC0: .word sub_02086A48 + 1 -_02086AC4: .word sub_02086A64 + 1 +_02086AC0: .word FUN_02086A48 + 1 +_02086AC4: .word FUN_02086A64 + 1 - thumb_func_start sub_02086AC8 -sub_02086AC8: ; 0x02086AC8 + thumb_func_start FUN_02086AC8 +FUN_02086AC8: ; 0x02086AC8 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 - bl sub_02086A80 + bl FUN_02086A80 add r4, r0, #0x0 add r0, r6, #0x0 add r1, r7, #0x0 add r2, r5, #0x0 - bl sub_0201318C + bl FUN_0201318C add r1, r0, #0x0 add r0, r4, #0x0 mov r2, #0xa mov r3, #0x1 - bl sub_02013194 + bl FUN_02013194 add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02086AF0 -sub_02086AF0: ; 0x02086AF0 + thumb_func_start FUN_02086AF0 +FUN_02086AF0: ; 0x02086AF0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_020133E8 + bl FUN_020133E8 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_02012DE4 + bl FUN_02012DE4 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} - thumb_func_start sub_02086B08 -sub_02086B08: ; 0x02086B08 + thumb_func_start FUN_02086B08 +FUN_02086B08: ; 0x02086B08 push {r3} sub sp, #0xc add r2, sp, #0x0 @@ -249707,16 +249707,16 @@ sub_02086B08: ; 0x02086B08 pop {r3} bx lr - thumb_func_start sub_02086B40 -sub_02086B40: ; 0x02086B40 + thumb_func_start FUN_02086B40 +FUN_02086B40: ; 0x02086B40 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 bne _02086B54 - bl sub_02020C2C + bl FUN_02020C2C _02086B54: ldr r0, [r5, #0x0] ldr r2, [r5, #0x4] @@ -249724,33 +249724,33 @@ _02086B54: str r0, [r4, #0x0] str r2, [r4, #0x4] ldr r0, [r4, #0x0] - bl sub_02086AC8 + bl FUN_02086AC8 mov r1, #0x1 str r0, [r4, #0xc] - bl sub_02013440 + bl FUN_02013440 add r0, r4, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02086B70 -sub_02086B70: ; 0x02086B70 + thumb_func_start FUN_02086B70 +FUN_02086B70: ; 0x02086B70 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0xc] - ldr r2, _02086B88 ; =sub_02086B08 + ldr r2, _02086B88 ; =FUN_02086B08 add r3, r4, #0x0 - bl sub_020133AC + bl FUN_020133AC ldr r0, [r4, #0xc] mov r1, #0x1 - bl sub_02013440 + bl FUN_02013440 pop {r4, pc} .balign 4 -_02086B88: .word sub_02086B08 + 1 +_02086B88: .word FUN_02086B08 + 1 - thumb_func_start sub_02086B8C -sub_02086B8C: ; 0x02086B8C + thumb_func_start FUN_02086B8C +FUN_02086B8C: ; 0x02086B8C push {r3, lr} ldr r0, [r0, #0xc] - bl sub_020133C8 + bl FUN_020133C8 cmp r0, #0x0 beq _02086B9C mov r0, #0x1 @@ -249759,15 +249759,15 @@ _02086B9C: mov r0, #0x0 pop {r3, pc} - thumb_func_start sub_02086BA0 -sub_02086BA0: ; 0x02086BA0 - ldr r3, _02086BA4 ; =sub_02016A18 + thumb_func_start FUN_02086BA0 +FUN_02086BA0: ; 0x02086BA0 + ldr r3, _02086BA4 ; =FUN_02016A18 bx r3 .balign 4 -_02086BA4: .word sub_02016A18 + 1 +_02086BA4: .word FUN_02016A18 + 1 - thumb_func_start sub_02086BA8 -sub_02086BA8: ; 0x02086BA8 + thumb_func_start FUN_02086BA8 +FUN_02086BA8: ; 0x02086BA8 push {r4-r6, lr} sub sp, #0x38 ldr r3, _02086C8C ; =0x020FCE9C @@ -249793,7 +249793,7 @@ sub_02086BA8: ; 0x02086BA8 ldr r3, [sp, #0x18] add r0, r4, #0x0 mov r2, #0x76 - bl sub_0200C00C + bl FUN_0200C00C mov r0, #0x76 str r0, [sp, #0x0] ldr r0, [sp, #0x1c] @@ -249809,7 +249809,7 @@ sub_02086BA8: ; 0x02086BA8 str r0, [sp, #0x14] add r0, r6, #0x0 add r3, r5, #0x0 - bl sub_0200C0DC + bl FUN_0200C0DC mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086C98 ; =0x00004E22 @@ -249818,7 +249818,7 @@ sub_02086BA8: ; 0x02086BA8 ldr r3, [sp, #0x20] add r0, r4, #0x0 mov r2, #0x76 - bl sub_0200C124 + bl FUN_0200C124 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086C9C ; =0x00004E23 @@ -249827,7 +249827,7 @@ sub_02086BA8: ; 0x02086BA8 ldr r3, [sp, #0x24] add r0, r4, #0x0 mov r2, #0x76 - bl sub_0200C13C + bl FUN_0200C13C mov r0, #0x1 str r0, [sp, #0x0] str r0, [sp, #0x4] @@ -249837,7 +249837,7 @@ sub_02086BA8: ; 0x02086BA8 add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x7 - bl sub_0200C00C + bl FUN_0200C00C mov r0, #0x76 str r0, [sp, #0x0] mov r0, #0xa @@ -249853,7 +249853,7 @@ sub_02086BA8: ; 0x02086BA8 add r0, r6, #0x0 add r2, r4, #0x0 add r3, r5, #0x0 - bl sub_0200C0DC + bl FUN_0200C0DC mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086CA8 ; =0x000061AA @@ -249862,7 +249862,7 @@ sub_02086BA8: ; 0x02086BA8 add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x6 - bl sub_0200C124 + bl FUN_0200C124 mov r0, #0x1 str r0, [sp, #0x0] ldr r0, _02086CAC ; =0x000061AB @@ -249871,7 +249871,7 @@ sub_02086BA8: ; 0x02086BA8 add r0, r4, #0x0 mov r2, #0x76 mov r3, #0x5 - bl sub_0200C13C + bl FUN_0200C13C add sp, #0x38 pop {r4-r6, pc} .balign 4 @@ -249885,8 +249885,8 @@ _02086CA4: .word 0x000061A9 _02086CA8: .word 0x000061AA _02086CAC: .word 0x000061AB - thumb_func_start sub_02086CB0 -sub_02086CB0: ; 0x02086CB0 + thumb_func_start FUN_02086CB0 +FUN_02086CB0: ; 0x02086CB0 push {r3-r4, lr} sub sp, #0x34 add r4, r0, #0x0 @@ -249919,12 +249919,12 @@ sub_02086CB0: ; 0x02086CB0 ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 - bl sub_0200C154 + bl FUN_0200C154 str r0, [r4, #0x6c] - bl sub_0200C5A8 + bl FUN_0200C5A8 ldr r0, [r4, #0x6c] mov r1, #0x2 - bl sub_0200C840 + bl FUN_0200C840 mov r2, #0x0 add r0, sp, #0x0 add r1, r2, #0x0 @@ -249943,26 +249943,26 @@ sub_02086CB0: ; 0x02086CB0 ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 - bl sub_0200C154 + bl FUN_0200C154 str r0, [r4, #0x70] - bl sub_0200C5A8 + bl FUN_0200C5A8 mov r1, #0x90 add r0, sp, #0x0 strh r1, [r0, #0x2] ldr r0, [r4, #0x50] ldr r1, [r4, #0x4c] add r2, sp, #0x0 - bl sub_0200C154 + bl FUN_0200C154 str r0, [r4, #0x74] - bl sub_0200C5A8 + bl FUN_0200C5A8 add sp, #0x34 pop {r3-r4, pc} nop _02086D4C: .word 0x00004E20 _02086D50: .word 0x000061A8 - thumb_func_start sub_02086D54 -sub_02086D54: ; 0x02086D54 + thumb_func_start FUN_02086D54 +FUN_02086D54: ; 0x02086D54 push {r3-r7, lr} add r6, r0, #0x0 add r7, r1, #0x0 @@ -250016,15 +250016,15 @@ _02086DAC: _02086DB4: ldr r0, [r6, #0x6c] mov r1, r12 - bl sub_0200C82C + bl FUN_0200C82C mov r0, #0x0 add r1, r7, #0x0 - blx sub_020EB010 + blx FUN_020EB010 beq _02086DD2 ldr r0, [r6, #0x6c] ldr r2, [sp, #0x0] add r1, r7, #0x0 - bl sub_0200C884 + bl FUN_0200C884 b _02086DD4 _02086DD2: add r5, r5, #0x1 @@ -250053,12 +250053,12 @@ _02086DF8: .word 0x020FCF34 _02086DFC: .word 0x020FCFD8 _02086E00: .word 0x020FD078 - thumb_func_start sub_02086E04 -sub_02086E04: ; 0x02086E04 + thumb_func_start FUN_02086E04 +FUN_02086E04: ; 0x02086E04 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02086D54 + bl FUN_02086D54 cmp r0, #0x0 bne _02086E16 mov r0, #0x2 @@ -250080,25 +250080,25 @@ _02086E2C: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start sub_02086E30 -sub_02086E30: ; 0x02086E30 + thumb_func_start FUN_02086E30 +FUN_02086E30: ; 0x02086E30 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x6c] - bl sub_0200C3DC + bl FUN_0200C3DC ldr r0, [r4, #0x70] - bl sub_0200C3DC + bl FUN_0200C3DC ldr r0, [r4, #0x74] - bl sub_0200C3DC + bl FUN_0200C3DC pop {r4, pc} - thumb_func_start sub_02086E48 -sub_02086E48: ; 0x02086E48 + thumb_func_start FUN_02086E48 +FUN_02086E48: ; 0x02086E48 push {r3-r6, lr} sub sp, #0x4c add r4, r0, #0x0 mov r0, #0x47 - bl sub_0200BB14 + bl FUN_0200BB14 add r2, sp, #0x2c ldr r5, _02086EC8 ; =0x020FCE7C str r0, [r4, #0x4c] @@ -250123,7 +250123,7 @@ sub_02086E48: ; 0x02086E48 str r0, [r5, #0x0] ldr r0, [r4, #0x4c] mov r3, #0x20 - bl sub_0200BB6C + bl FUN_0200BB6C ldr r3, _02086ED0 ; =0x020FCE48 add r2, sp, #0x0 ldmia r3!, {r0-r1} @@ -250133,23 +250133,23 @@ sub_02086E48: ; 0x02086E48 ldmia r3!, {r0-r1} stmia r2!, {r0-r1} ldr r0, [r4, #0x4c] - bl sub_0200BB34 + bl FUN_0200BB34 str r0, [r4, #0x48] ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] mov r2, #0xff - bl sub_0200BBF0 + bl FUN_0200BBF0 cmp r0, #0x0 bne _02086EB2 - bl sub_02020C2C + bl FUN_02020C2C _02086EB2: ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] add r2, sp, #0x0 - bl sub_0200BF60 + bl FUN_0200BF60 cmp r0, #0x0 bne _02086EC4 - bl sub_02020C2C + bl FUN_02020C2C _02086EC4: add sp, #0x4c pop {r3-r6, pc} @@ -250158,19 +250158,19 @@ _02086EC8: .word 0x020FCE7C _02086ECC: .word 0x020FCE34 _02086ED0: .word 0x020FCE48 - thumb_func_start sub_02086ED4 -sub_02086ED4: ; 0x02086ED4 + thumb_func_start FUN_02086ED4 +FUN_02086ED4: ; 0x02086ED4 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x4c] ldr r1, [r4, #0x48] - bl sub_0200C398 + bl FUN_0200C398 ldr r0, [r4, #0x4c] - bl sub_0200BD04 + bl FUN_0200BD04 pop {r4, pc} - thumb_func_start sub_02086EE8 -sub_02086EE8: ; 0x02086EE8 + thumb_func_start FUN_02086EE8 +FUN_02086EE8: ; 0x02086EE8 push {r3-r7, lr} sub sp, #0x38 add r5, r0, #0x0 @@ -250179,26 +250179,26 @@ sub_02086EE8: ; 0x02086EE8 ldr r4, [r0, #0xc] mov r2, #0x0 add r0, r4, #0x0 - bl sub_020671BC + bl FUN_020671BC add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2 - bl sub_02068E14 + bl FUN_02068E14 add r7, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x10] add r0, r4, #0x0 mov r1, #0x4c add r2, sp, #0x10 - bl sub_02067830 + bl FUN_02067830 add r0, sp, #0x28 add r1, r4, #0x0 mov r2, #0x2 - bl sub_02068B68 + bl FUN_02068B68 lsl r1, r6, #0x10 add r0, sp, #0x14 lsr r1, r1, #0x10 - bl sub_02069010 + bl FUN_02069010 mov r1, #0x0 str r1, [sp, #0x0] add r7, #0x60 @@ -250210,14 +250210,14 @@ sub_02086EE8: ; 0x02086EE8 add r1, sp, #0x28 mov r2, #0x80 add r3, r7, #0x0 - bl sub_020073A0 + bl FUN_020073A0 str r0, [r5, #0x68] add sp, #0x38 pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02086F4C -sub_02086F4C: ; 0x02086F4C + thumb_func_start FUN_02086F4C +FUN_02086F4C: ; 0x02086F4C push {r3-r6, lr} sub sp, #0xc add r5, r0, #0x0 @@ -250225,15 +250225,15 @@ sub_02086F4C: ; 0x02086F4C mov r1, #0x5 ldr r0, [r0, #0xc] mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02068854 + bl FUN_02068854 add r6, r0, #0x0 ldr r0, [r5, #0x68] mov r1, #0x1 - bl sub_02007314 + bl FUN_02007314 lsl r2, r4, #0x10 str r6, [sp, #0x0] mov r0, #0x0 @@ -250243,30 +250243,30 @@ sub_02086F4C: ; 0x02086F4C ldr r1, [r5, #0x68] lsr r2, r2, #0x10 mov r3, #0x2 - bl sub_02069038 + bl FUN_02069038 add sp, #0xc pop {r3-r6, pc} - thumb_func_start sub_02086F8C -sub_02086F8C: ; 0x02086F8C - ldr r3, _02086F94 ; =sub_02007534 + thumb_func_start FUN_02086F8C +FUN_02086F8C: ; 0x02086F8C + ldr r3, _02086F94 ; =FUN_02007534 ldr r0, [r0, #0x68] bx r3 nop -_02086F94: .word sub_02007534 + 1 +_02086F94: .word FUN_02007534 + 1 - thumb_func_start sub_02086F98 -sub_02086F98: ; 0x02086F98 - ldr r3, _02086FA4 ; =sub_02007558 + thumb_func_start FUN_02086F98 +FUN_02086F98: ; 0x02086F98 + ldr r3, _02086FA4 ; =FUN_02007558 add r2, r1, #0x0 ldr r0, [r0, #0x68] mov r1, #0x6 bx r3 nop -_02086FA4: .word sub_02007558 + 1 +_02086FA4: .word FUN_02007558 + 1 - thumb_func_start sub_02086FA8 -sub_02086FA8: ; 0x02086FA8 + thumb_func_start FUN_02086FA8 +FUN_02086FA8: ; 0x02086FA8 push {r3, lr} ldr r1, [r0, #0x58] lsl r2, r1, #0x2 @@ -250277,8 +250277,8 @@ sub_02086FA8: ; 0x02086FA8 nop _02086FB8: .word 0x020FD118 - thumb_func_start sub_02086FBC -sub_02086FBC: ; 0x02086FBC + thumb_func_start FUN_02086FBC +FUN_02086FBC: ; 0x02086FBC push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 @@ -250314,14 +250314,14 @@ _02086FCC: lsl r4, r6, #0x8 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] - bl sub_0208699C + bl FUN_0208699C ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] - bl sub_020869F0 + bl FUN_020869F0 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0x14] - bl sub_020866FC + bl FUN_020866FC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b @@ -250337,22 +250337,22 @@ _02086FCC: add r1, #0x18 add r2, r5, #0x0 mov r3, #0x2 - bl sub_02086784 + bl FUN_02086784 add r0, r4, #0x0 - bl sub_02086BA8 + bl FUN_02086BA8 add r0, r4, #0x0 - bl sub_02086CB0 + bl FUN_02086CB0 add r0, r4, #0x0 - bl sub_02086EE8 + bl FUN_02086EE8 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02086F98 + bl FUN_02086F98 mov r0, #0x47 str r0, [sp, #0x18] mov r0, #0x0 str r0, [sp, #0x1c] add r0, sp, #0x18 - bl sub_02086B40 + bl FUN_02086B40 str r0, [r4, #0x40] ldr r0, [r4, #0x5c] add r0, r0, #0x1 @@ -250388,21 +250388,21 @@ _0208706A: .byte 0x83, 0xF8, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x11, 0xE0 _0208720E: add r0, r4, #0x0 - bl sub_02086F8C + bl FUN_02086F8C add r0, r4, #0x0 - bl sub_02086E30 + bl FUN_02086E30 add r0, r4, #0x0 add r0, #0x18 - bl sub_0208698C + bl FUN_0208698C ldr r0, [r4, #0x40] ldr r0, [r0, #0xc] - bl sub_02086AF0 + bl FUN_02086AF0 ldr r0, [r4, #0x40] - bl sub_02086BA0 + bl FUN_02086BA0 mov r5, #0x0 _02087232: ldr r0, [r4, #0x4c] - bl sub_0200BC1C + bl FUN_0200BC1C add r0, r5, #0x0 add sp, #0x20 pop {r3-r5, pc} @@ -250410,8 +250410,8 @@ _02087232: _02087240: .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 - thumb_func_start sub_02087248 -sub_02087248: ; 0x02087248 + thumb_func_start FUN_02087248 +FUN_02087248: ; 0x02087248 push {r3-r5, lr} sub sp, #0x20 add r4, r0, #0x0 @@ -250447,14 +250447,14 @@ _02087258: lsl r4, r7, #0x7 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] - bl sub_0208699C + bl FUN_0208699C ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] - bl sub_020869F0 + bl FUN_020869F0 ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] ldr r2, [r4, #0x14] - bl sub_020866FC + bl FUN_020866FC mov r0, #0x13 str r0, [sp, #0x0] mov r0, #0x1b @@ -250470,25 +250470,25 @@ _02087258: add r1, #0x18 add r2, r5, #0x0 mov r3, #0x2 - bl sub_02086784 + bl FUN_02086784 add r0, r4, #0x0 - bl sub_02086BA8 + bl FUN_02086BA8 add r0, r4, #0x0 - bl sub_02086CB0 + bl FUN_02086CB0 ldr r0, [r4, #0x6c] mov r1, #0x0 - bl sub_0200C644 + bl FUN_0200C644 add r0, r4, #0x0 - bl sub_02086EE8 + bl FUN_02086EE8 add r0, r4, #0x0 add r1, r5, #0x0 - bl sub_02086F98 + bl FUN_02086F98 mov r0, #0x47 str r0, [sp, #0x18] add r0, r5, #0x0 str r0, [sp, #0x1c] add r0, sp, #0x18 - bl sub_02086B40 + bl FUN_02086B40 str r0, [r4, #0x40] ldr r0, [r4, #0x5c] add r0, r0, #0x1 @@ -250521,21 +250521,21 @@ _020872FE: .byte 0x11, 0xE0 _02087462: add r0, r4, #0x0 - bl sub_02086F8C + bl FUN_02086F8C add r0, r4, #0x0 - bl sub_02086E30 + bl FUN_02086E30 add r0, r4, #0x0 add r0, #0x18 - bl sub_0208698C + bl FUN_0208698C ldr r0, [r4, #0x40] ldr r0, [r0, #0xc] - bl sub_02086AF0 + bl FUN_02086AF0 ldr r0, [r4, #0x40] - bl sub_02086BA0 + bl FUN_02086BA0 mov r5, #0x0 _02087486: ldr r0, [r4, #0x4c] - bl sub_0200BC1C + bl FUN_0200BC1C add r0, r5, #0x0 add sp, #0x20 pop {r3-r5, pc} @@ -250543,8 +250543,8 @@ _02087486: _02087494: .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 - thumb_func_start sub_0208749C -sub_0208749C: ; 0x0208749C + thumb_func_start FUN_0208749C +FUN_0208749C: ; 0x0208749C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x64] @@ -250556,7 +250556,7 @@ sub_0208749C: ; 0x0208749C _020874AC: ldr r0, [r4, #0x6c] mov r1, #0x0 - bl sub_0200C61C + bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] @@ -250568,7 +250568,7 @@ _020874BC: cmp r0, #0x19 blt _020874DC ldr r0, _020874E0 ; =0x00000714 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] @@ -250584,8 +250584,8 @@ _020874DC: .balign 4 _020874E0: .word 0x00000714 - thumb_func_start sub_020874E4 -sub_020874E4: ; 0x020874E4 + thumb_func_start FUN_020874E4 +FUN_020874E4: ; 0x020874E4 push {r4, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] @@ -250596,26 +250596,26 @@ sub_020874E4: ; 0x020874E4 b _02087532 _020874F4: ldr r0, [r4, #0x40] - bl sub_02086B8C + bl FUN_02086B8C cmp r0, #0x1 beq _0208754C ldr r0, [r4, #0x6c] mov r1, #0x1 - bl sub_0200C61C + bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] b _0208754C _0208750E: mov r1, #0x0 - bl sub_02086E04 + bl FUN_02086E04 cmp r0, #0x2 bne _0208754C ldr r0, _02087550 ; =0x00000714 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x2 - bl sub_0200C61C + bl FUN_0200C61C ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] @@ -250624,12 +250624,12 @@ _0208750E: b _0208754C _02087532: mov r1, #0x0 - bl sub_02086E04 + bl FUN_02086E04 cmp r0, #0x2 bne _0208754C ldr r0, [r4, #0x6c] mov r1, #0x2 - bl sub_0200C61C + bl FUN_0200C61C mov r0, #0x0 str r0, [r4, #0x64] str r0, [r4, #0x60] @@ -250640,8 +250640,8 @@ _0208754C: .balign 4 _02087550: .word 0x00000714 - thumb_func_start sub_02087554 -sub_02087554: ; 0x02087554 + thumb_func_start FUN_02087554 +FUN_02087554: ; 0x02087554 push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] @@ -250656,18 +250656,18 @@ _02087564: b _020875A4 _0208756A: mov r1, #0x1 - bl sub_02086E04 + bl FUN_02086E04 add r5, r0, #0x0 cmp r5, #0x1 bne _0208758C ldr r0, _020875A8 ; =0x00000714 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x3 - bl sub_0200C61C + bl FUN_0200C61C ldr r0, [r4, #0x40] mov r1, #0x0 - bl sub_02086B70 + bl FUN_02086B70 _0208758C: cmp r5, #0x2 bne _020875A4 @@ -250688,8 +250688,8 @@ _020875A4: .balign 4 _020875A8: .word 0x00000714 - thumb_func_start sub_020875AC -sub_020875AC: ; 0x020875AC + thumb_func_start FUN_020875AC +FUN_020875AC: ; 0x020875AC push {r3-r5, lr} add r4, r0, #0x0 ldr r1, [r4, #0x64] @@ -250700,7 +250700,7 @@ sub_020875AC: ; 0x020875AC b _02087600 _020875BC: ldr r0, [r4, #0x40] - bl sub_02086B8C + bl FUN_02086B8C cmp r0, #0x1 beq _02087608 ldr r0, [r4, #0x64] @@ -250709,18 +250709,18 @@ _020875BC: b _02087608 _020875CE: mov r1, #0x2 - bl sub_02086E04 + bl FUN_02086E04 add r5, r0, #0x0 cmp r5, #0x1 bne _020875F0 ldr r0, _0208760C ; =0x00000714 - bl sub_020054C8 + bl FUN_020054C8 ldr r0, [r4, #0x6c] mov r1, #0x4 - bl sub_0200C61C + bl FUN_0200C61C ldr r0, [r4, #0x40] mov r1, #0x1 - bl sub_02086B70 + bl FUN_02086B70 _020875F0: cmp r5, #0x2 bne _02087608 @@ -250741,8 +250741,8 @@ _02087608: .balign 4 _0208760C: .word 0x00000714 - thumb_func_start sub_02087610 -sub_02087610: ; 0x02087610 + thumb_func_start FUN_02087610 +FUN_02087610: ; 0x02087610 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -250764,15 +250764,15 @@ _0208761E: lsl r0, r5, #0x5 lsl r4, r6, #0x6 ldr r0, [r4, #0x40] - bl sub_02086B8C + bl FUN_02086B8C cmp r0, #0x1 beq _020876A4 ldr r0, [r4, #0x6c] mov r1, #0x4 - bl sub_0200C61C + bl FUN_0200C61C mov r0, #0x2 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] @@ -250811,7 +250811,7 @@ _020876A6: .byte 0x00, 0x28, 0x0D, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x09, 0xE0 _020877FC: ldr r0, [r4, #0x40] - bl sub_02086B8C + bl FUN_02086B8C cmp r0, #0x1 beq _02087810 mov r0, #0x0 @@ -250827,8 +250827,8 @@ _02087810: _02087818: .byte 0x07, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 - thumb_func_start sub_02087820 -sub_02087820: ; 0x02087820 + thumb_func_start FUN_02087820 +FUN_02087820: ; 0x02087820 push {r4-r6, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -250850,19 +250850,19 @@ _0208782E: lsl r4, r4, #0x6 ldr r0, [r4, #0x40] mov r1, #0x0 - bl sub_02086B70 + bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x1 - bl sub_02086B70 + bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x2 - bl sub_02086B70 + bl FUN_02086B70 ldr r0, [r4, #0x40] mov r1, #0x3 - bl sub_02086B70 + bl FUN_02086B70 mov r0, #0x2 mov r1, #0x0 - bl sub_0201E6E4 + bl FUN_0201E6E4 ldr r0, [r4, #0x64] add r0, r0, #0x1 str r0, [r4, #0x64] @@ -250907,8 +250907,8 @@ _02087A0C: .byte 0x06, 0x08, 0x00, 0x00 .byte 0xAA, 0x07, 0x00, 0x00, 0x15, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 - thumb_func_start sub_02087A1C -sub_02087A1C: ; 0x02087A1C + thumb_func_start FUN_02087A1C +FUN_02087A1C: ; 0x02087A1C ldr r3, _02087A34 ; =0x020FD13C mov r2, #0x0 _02087A20: @@ -250925,13 +250925,13 @@ _02087A2E: nop _02087A34: .word 0x020FD13C - thumb_func_start sub_02087A38 -sub_02087A38: ; 0x02087A38 + thumb_func_start FUN_02087A38 +FUN_02087A38: ; 0x02087A38 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x6 blt _02087A44 - bl sub_02020C2C + bl FUN_02020C2C _02087A44: ldr r0, _02087A4C ; =0x020FD13C ldrb r0, [r0, r4] @@ -250939,8 +250939,8 @@ _02087A44: nop _02087A4C: .word 0x020FD13C - thumb_func_start sub_02087A50 -sub_02087A50: ; 0x02087A50 + thumb_func_start FUN_02087A50 +FUN_02087A50: ; 0x02087A50 ldr r3, _02087A68 ; =0x020FD120 mov r2, #0x0 _02087A54: @@ -250957,11 +250957,11 @@ _02087A62: nop _02087A68: .word 0x020FD120 - thumb_func_start sub_02087A6C -sub_02087A6C: ; 0x02087A6C + thumb_func_start FUN_02087A6C +FUN_02087A6C: ; 0x02087A6C push {r3, lr} mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 @@ -250972,43 +250972,43 @@ _02087A7A: bne _02087A7A pop {r3, pc} - thumb_func_start sub_02087A84 -sub_02087A84: ; 0x02087A84 + thumb_func_start FUN_02087A84 +FUN_02087A84: ; 0x02087A84 push {r4, lr} add r4, r0, #0x0 bne _02087A8E - bl sub_02020C2C + bl FUN_02020C2C _02087A8E: add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_02087A98 -sub_02087A98: ; 0x02087A98 + thumb_func_start FUN_02087A98 +FUN_02087A98: ; 0x02087A98 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r4, r2, #0x0 cmp r5, #0x0 bne _02087AA8 - bl sub_02020C2C + bl FUN_02020C2C _02087AA8: ldr r0, [r5, #0x0] cmp r0, #0x0 beq _02087AB2 - bl sub_02020C2C + bl FUN_02020C2C _02087AB2: ldr r0, [r5, #0x4] cmp r0, #0x0 beq _02087ABC - bl sub_02020C2C + bl FUN_02020C2C _02087ABC: add r0, r4, #0x0 - bl sub_02087C18 + bl FUN_02087C18 str r0, [r5, #0x0] add r0, r4, #0x0 - bl sub_02087C2C + bl FUN_02087C2C str r0, [r5, #0x4] cmp r6, #0x0 bne _02087AEE @@ -251017,13 +251017,13 @@ _02087ABC: add r0, #0x8 add r1, #0xc add r2, r4, #0x0 - bl sub_02087C40 + bl FUN_02087C40 add r0, r5, #0x0 add r5, #0x14 add r0, #0x10 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02087CA0 + bl FUN_02087CA0 pop {r4-r6, pc} _02087AEE: add r0, r5, #0x0 @@ -251031,41 +251031,41 @@ _02087AEE: add r0, #0x8 add r1, #0xc add r2, r4, #0x0 - bl sub_02087C70 + bl FUN_02087C70 add r0, r5, #0x0 add r5, #0x14 add r0, #0x10 add r1, r5, #0x0 add r2, r4, #0x0 - bl sub_02087CD0 + bl FUN_02087CD0 pop {r4-r6, pc} - thumb_func_start sub_02087B0C -sub_02087B0C: ; 0x02087B0C + thumb_func_start FUN_02087B0C +FUN_02087B0C: ; 0x02087B0C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 bne _02087B1A - bl sub_02020C2C + bl FUN_02020C2C _02087B1A: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _02087B24 - bl sub_02020C2C + bl FUN_02020C2C _02087B24: ldr r0, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x8] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0xc] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x14] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x0] str r0, [r4, #0x4] @@ -251075,146 +251075,146 @@ _02087B24: str r0, [r4, #0x14] pop {r4, pc} - thumb_func_start sub_02087B58 -sub_02087B58: ; 0x02087B58 + thumb_func_start FUN_02087B58 +FUN_02087B58: ; 0x02087B58 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087B66 - bl sub_02020C2C + bl FUN_02020C2C _02087B66: ldr r0, [r5, #0x0] cmp r0, #0x0 bne _02087B70 - bl sub_02020C2C + bl FUN_02020C2C _02087B70: ldr r1, [r5, #0x0] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087B78 -sub_02087B78: ; 0x02087B78 + thumb_func_start FUN_02087B78 +FUN_02087B78: ; 0x02087B78 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087B86 - bl sub_02020C2C + bl FUN_02020C2C _02087B86: ldr r0, [r5, #0x4] cmp r0, #0x0 bne _02087B90 - bl sub_02020C2C + bl FUN_02020C2C _02087B90: ldr r1, [r5, #0x4] lsl r0, r4, #0x2 ldr r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087B98 -sub_02087B98: ; 0x02087B98 + thumb_func_start FUN_02087B98 +FUN_02087B98: ; 0x02087B98 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BA6 - bl sub_02020C2C + bl FUN_02020C2C _02087BA6: ldr r0, [r5, #0x8] cmp r0, #0x0 bne _02087BB0 - bl sub_02020C2C + bl FUN_02020C2C _02087BB0: ldr r1, [r5, #0x8] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087BB8 -sub_02087BB8: ; 0x02087BB8 + thumb_func_start FUN_02087BB8 +FUN_02087BB8: ; 0x02087BB8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BC6 - bl sub_02020C2C + bl FUN_02020C2C _02087BC6: ldr r0, [r5, #0xc] cmp r0, #0x0 bne _02087BD0 - bl sub_02020C2C + bl FUN_02020C2C _02087BD0: ldr r1, [r5, #0xc] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087BD8 -sub_02087BD8: ; 0x02087BD8 + thumb_func_start FUN_02087BD8 +FUN_02087BD8: ; 0x02087BD8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087BE6 - bl sub_02020C2C + bl FUN_02020C2C _02087BE6: ldr r0, [r5, #0x10] cmp r0, #0x0 bne _02087BF0 - bl sub_02020C2C + bl FUN_02020C2C _02087BF0: ldr r1, [r5, #0x10] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087BF8 -sub_02087BF8: ; 0x02087BF8 + thumb_func_start FUN_02087BF8 +FUN_02087BF8: ; 0x02087BF8 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 cmp r5, #0x0 bne _02087C06 - bl sub_02020C2C + bl FUN_02020C2C _02087C06: ldr r0, [r5, #0x14] cmp r0, #0x0 bne _02087C10 - bl sub_02020C2C + bl FUN_02020C2C _02087C10: ldr r1, [r5, #0x14] lsl r0, r4, #0x1 ldrsh r0, [r1, r0] pop {r3-r5, pc} - thumb_func_start sub_02087C18 -sub_02087C18: ; 0x02087C18 + thumb_func_start FUN_02087C18 +FUN_02087C18: ; 0x02087C18 push {r3, lr} mov r1, #0x0 add r3, r0, #0x0 mov r0, #0x4b add r2, r1, #0x0 str r1, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 pop {r3, pc} .balign 4 - thumb_func_start sub_02087C2C -sub_02087C2C: ; 0x02087C2C + thumb_func_start FUN_02087C2C +FUN_02087C2C: ; 0x02087C2C push {r3, lr} add r3, r0, #0x0 mov r2, #0x0 mov r0, #0x4b mov r1, #0x1 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 pop {r3, pc} .balign 4 - thumb_func_start sub_02087C40 -sub_02087C40: ; 0x02087C40 + thumb_func_start FUN_02087C40 +FUN_02087C40: ; 0x02087C40 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 @@ -251225,21 +251225,21 @@ sub_02087C40: ; 0x02087C40 mov r0, #0x4b mov r1, #0x9 add r3, r6, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0xa add r3, r6, #0x0 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02087C70 -sub_02087C70: ; 0x02087C70 + thumb_func_start FUN_02087C70 +FUN_02087C70: ; 0x02087C70 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 @@ -251250,21 +251250,21 @@ sub_02087C70: ; 0x02087C70 mov r0, #0x4b mov r1, #0x7 add r3, r6, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x8 add r3, r6, #0x0 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02087CA0 -sub_02087CA0: ; 0x02087CA0 + thumb_func_start FUN_02087CA0 +FUN_02087CA0: ; 0x02087CA0 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 @@ -251275,21 +251275,21 @@ sub_02087CA0: ; 0x02087CA0 mov r0, #0x4b mov r1, #0x5 add r3, r6, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x6 add r3, r6, #0x0 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02087CD0 -sub_02087CD0: ; 0x02087CD0 + thumb_func_start FUN_02087CD0 +FUN_02087CD0: ; 0x02087CD0 push {r3-r6, lr} sub sp, #0x4 add r6, r2, #0x0 @@ -251300,21 +251300,21 @@ sub_02087CD0: ; 0x02087CD0 mov r0, #0x4b mov r1, #0x3 add r3, r6, #0x0 - bl sub_02006C98 + bl FUN_02006C98 str r0, [r5, #0x0] mov r2, #0x0 mov r0, #0x4b mov r1, #0x4 add r3, r6, #0x0 str r2, [sp, #0x0] - bl sub_02006C98 + bl FUN_02006C98 str r0, [r4, #0x0] add sp, #0x4 pop {r3-r6, pc} .balign 4 - thumb_func_start sub_02087D00 -sub_02087D00: ; 0x02087D00 + thumb_func_start FUN_02087D00 +FUN_02087D00: ; 0x02087D00 push {r3-r7, lr} sub sp, #0x10 add r4, r0, #0x0 @@ -251324,48 +251324,48 @@ sub_02087D00: ; 0x02087D00 str r0, [sp, #0x0] add r0, r5, #0x0 lsl r1, r1, #0x2 - bl sub_02016998 + bl FUN_02016998 mov r2, #0xcf mov r1, #0x0 lsl r2, r2, #0x2 add r7, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 - bl sub_02028048 + bl FUN_02028048 str r0, [r7, #0x8] add r0, r4, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [r7, #0xc] add r0, r4, #0x0 - bl sub_0206BB1C + bl FUN_0206BB1C str r0, [r7, #0x10] add r0, r4, #0x0 - bl sub_0206F158 + bl FUN_0206F158 str r0, [r7, #0x14] add r0, r4, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r7, #0x18] add r0, r5, #0x0 - bl sub_02027E5C + bl FUN_02027E5C add r4, r0, #0x0 mov r0, #0x1 mov r1, #0x20 add r2, r5, #0x0 - bl sub_0200AA90 + bl FUN_0200AA90 str r0, [sp, #0x4] mov r6, #0x0 _02087D60: ldr r0, [r7, #0x8] add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_02028174 + bl FUN_02028174 add r0, r4, #0x0 - bl sub_02027E34 + bl FUN_02027E34 cmp r0, #0x0 beq _02087DEE add r0, r4, #0x0 add r1, sp, #0x8 - bl sub_02027FBC + bl FUN_02027FBC ldr r0, [sp, #0x0] add r1, r7, #0x0 add r1, #0x1c @@ -251373,7 +251373,7 @@ _02087D60: add r5, r1, r0 strb r6, [r1, r0] add r0, r4, #0x0 - bl sub_02027FDC + bl FUN_02027FDC strb r0, [r5, #0x1] add r0, sp, #0x8 ldrb r1, [r0, #0x0] @@ -251431,9 +251431,9 @@ _02087DEE: cmp r6, #0x64 blo _02087D60 ldr r0, [sp, #0x4] - bl sub_0200AB18 + bl FUN_0200AB18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [sp, #0x0] strb r0, [r7, #0x0] mov r0, #0x5 @@ -251443,25 +251443,25 @@ _02087DEE: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02087E14 -sub_02087E14: ; 0x02087E14 - ldr r3, _02087E18 ; =sub_02016A18 + thumb_func_start FUN_02087E14 +FUN_02087E14: ; 0x02087E14 + ldr r3, _02087E18 ; =FUN_02016A18 bx r3 .balign 4 -_02087E18: .word sub_02016A18 + 1 +_02087E18: .word FUN_02016A18 + 1 - thumb_func_start sub_02087E1C -sub_02087E1C: ; 0x02087E1C + thumb_func_start FUN_02087E1C +FUN_02087E1C: ; 0x02087E1C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _02087E3C - bl sub_02006290 + bl FUN_02006290 cmp r0, #0x0 beq _02087E3C ldr r0, [r4, #0x0] - bl sub_02006260 + bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 @@ -251470,36 +251470,36 @@ _02087E3C: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02087E40 -sub_02087E40: ; 0x02087E40 + thumb_func_start FUN_02087E40 +FUN_02087E40: ; 0x02087E40 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_0200628C + bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x2c lsl r2, r2, #0xc - bl sub_0201681C + bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x18 mov r2, #0x2c - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x18 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x2c str r0, [r4, #0x0] str r5, [r4, #0xc] mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_02087E74 -sub_02087E74: ; 0x02087E74 + thumb_func_start FUN_02087E74 +FUN_02087E74: ; 0x02087E74 push {r4, lr} add r4, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r4, #0x0] cmp r1, #0x8 bhi _02087EE4 @@ -251518,7 +251518,7 @@ sub_02087E74: ; 0x02087E74 lsl r0, r0, #0x1 lsl r0, r1, #0x1 lsl r0, r2, #0x1 - bl sub_02087F50 + bl FUN_02087F50 str r0, [r4, #0x0] b _02087EE4 _02087EA8: @@ -251531,23 +251531,23 @@ _02087EE4: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_02087EE8 -sub_02087EE8: ; 0x02087EE8 + thumb_func_start FUN_02087EE8 +FUN_02087EE8: ; 0x02087EE8 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 - bl sub_02087F08 + bl FUN_02087F08 add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C ldr r0, [r4, #0x0] - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02087F08 -sub_02087F08: ; 0x02087F08 + thumb_func_start FUN_02087F08 +FUN_02087F08: ; 0x02087F08 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0xc] @@ -251568,7 +251568,7 @@ _02087F1A: beq _02087F34 ldrb r1, [r1, #0x0] ldr r0, [r2, #0x8] - bl sub_020280B8 + bl FUN_020280B8 add r0, r6, #0x0 _02087F34: add r1, r4, #0x1 @@ -251582,31 +251582,31 @@ _02087F42: cmp r0, #0x0 beq _02087F4C ldr r0, [r2, #0x8] - bl sub_020280F4 + bl FUN_020280F4 _02087F4C: pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02087F50 -sub_02087F50: ; 0x02087F50 + thumb_func_start FUN_02087F50 +FUN_02087F50: ; 0x02087F50 push {r4, lr} add r4, r0, #0x0 ldr r0, _02087F64 ; =0x020FD15C ldr r1, [r4, #0xc] ldr r2, [r4, #0x0] - bl sub_02006234 + bl FUN_02006234 str r0, [r4, #0x14] mov r0, #0x1 pop {r4, pc} .balign 4 _02087F64: .word 0x020FD15C - thumb_func_start sub_02087F68 -sub_02087F68: ; 0x02087F68 + thumb_func_start FUN_02087F68 +FUN_02087F68: ; 0x02087F68 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x14 - bl sub_02087E1C + bl FUN_02087E1C cmp r0, #0x0 bne _02087F7A mov r0, #0x1 @@ -251623,11 +251623,11 @@ _02087F86: strb r0, [r1, #0x2] ldr r0, [r5, #0x0] mov r1, #0x40 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0x40 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r0, [r5, #0xc] mov r1, #0x0 ldr r0, [r0, #0x10] @@ -251648,7 +251648,7 @@ _02087F86: str r0, [r4, #0xc] ldr r0, _02087FD0 ; =0x020F96DC ldr r2, [r5, #0x0] - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x2 @@ -251656,12 +251656,12 @@ _02087F86: .balign 4 _02087FD0: .word 0x020F96DC - thumb_func_start sub_02087FD4 -sub_02087FD4: ; 0x02087FD4 + thumb_func_start FUN_02087FD4 +FUN_02087FD4: ; 0x02087FD4 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x14 - bl sub_02087E1C + bl FUN_02087E1C cmp r0, #0x0 bne _02087FE6 mov r0, #0x2 @@ -251673,7 +251673,7 @@ _02087FE6: ldrb r6, [r0, #0x0] strb r6, [r5, #0x8] ldr r0, [r5, #0x10] - bl sub_02016A18 + bl FUN_02016A18 cmp r6, #0x7 bne _02087FFE mov r0, #0x0 @@ -251681,7 +251681,7 @@ _02087FE6: _02087FFE: ldr r0, [r5, #0x0] mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0xc] ldr r0, [r0, #0x10] @@ -251693,7 +251693,7 @@ _02087FFE: strb r0, [r4, #0x11] strb r6, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r4, #0x13] mov r1, #0x0 strh r1, [r4, #0x18] @@ -251704,15 +251704,15 @@ _02087FFE: str r1, [r4, #0x28] ldr r1, _02088054 ; =0x020FD158 add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 ldr r1, [r5, #0xc] add r0, r4, #0x0 ldr r1, [r1, #0xc] - bl sub_0207C2A4 + bl FUN_0207C2A4 ldr r0, _02088058 ; =0x020FA6E8 ldr r2, [r5, #0x0] add r1, r7, #0x0 - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x3 @@ -251721,12 +251721,12 @@ _02087FFE: _02088054: .word 0x020FD158 _02088058: .word 0x020FA6E8 - thumb_func_start sub_0208805C -sub_0208805C: ; 0x0208805C + thumb_func_start FUN_0208805C +FUN_0208805C: ; 0x0208805C push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x14 - bl sub_02087E1C + bl FUN_02087E1C cmp r0, #0x0 bne _0208806E mov r0, #0x3 @@ -251737,7 +251737,7 @@ _0208806E: ldrb r0, [r0, #0x14] strb r0, [r5, #0x8] ldr r0, [r5, #0x10] - bl sub_02016A18 + bl FUN_02016A18 cmp r4, #0x1 bne _02088084 mov r0, #0x0 @@ -251758,17 +251758,17 @@ _02088084: mov r0, #0x4 pop {r3-r5, pc} - thumb_func_start sub_020880A0 -sub_020880A0: ; 0x020880A0 + thumb_func_start FUN_020880A0 +FUN_020880A0: ; 0x020880A0 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0xc - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 mov r2, #0xc add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C ldr r1, [r5, #0xc] ldrb r0, [r1, #0x1] lsl r0, r0, #0x3 @@ -251782,25 +251782,25 @@ sub_020880A0: ; 0x020880A0 add r1, r2, r1 ldrb r1, [r1, #0x1c] ldr r2, [r5, #0x0] - bl sub_02028190 + bl FUN_02028190 str r0, [r4, #0x4] ldr r0, [r5, #0xc] ldrb r1, [r5, #0x8] ldr r0, [r0, #0x10] - bl sub_0206B9B0 + bl FUN_0206B9B0 str r0, [r4, #0x0] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] - bl sub_02024FF4 + bl FUN_02024FF4 strb r0, [r4, #0xa] ldr r0, [r5, #0xc] ldr r0, [r0, #0x18] - bl sub_02025084 + bl FUN_02025084 strb r0, [r4, #0xb] ldr r0, _02088108 ; =0x020FD16C ldr r2, [r5, #0x0] add r1, r4, #0x0 - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x5 @@ -251808,12 +251808,12 @@ sub_020880A0: ; 0x020880A0 .balign 4 _02088108: .word 0x020FD16C - thumb_func_start sub_0208810C -sub_0208810C: ; 0x0208810C + thumb_func_start FUN_0208810C +FUN_0208810C: ; 0x0208810C push {r4, lr} add r4, r0, #0x0 add r0, #0x14 - bl sub_02087E1C + bl FUN_02087E1C cmp r0, #0x0 bne _0208811E mov r0, #0x5 @@ -251821,19 +251821,19 @@ sub_0208810C: ; 0x0208810C _0208811E: ldr r4, [r4, #0x10] ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x6 pop {r4, pc} - thumb_func_start sub_02088130 -sub_02088130: ; 0x02088130 + thumb_func_start FUN_02088130 +FUN_02088130: ; 0x02088130 push {r4-r6, lr} add r5, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x30 - bl sub_02016998 + bl FUN_02016998 ldr r2, [r5, #0xc] add r4, r0, #0x0 ldrb r1, [r2, #0x1] @@ -251842,7 +251842,7 @@ sub_02088130: ; 0x02088130 add r1, r2, r1 ldrb r1, [r1, #0x1c] ldr r2, [r5, #0x0] - bl sub_02028190 + bl FUN_02028190 add r6, r0, #0x0 ldr r0, [r5, #0xc] ldr r0, [r0, #0x10] @@ -251855,7 +251855,7 @@ sub_02088130: ; 0x02088130 ldrb r0, [r5, #0x8] strb r0, [r4, #0x14] ldr r0, [r4, #0x0] - bl sub_0206B9AC + bl FUN_0206B9AC strb r0, [r4, #0x13] mov r1, #0x0 strh r1, [r4, #0x18] @@ -251867,15 +251867,15 @@ sub_02088130: ; 0x02088130 str r1, [r4, #0x28] ldr r1, _020881A4 ; =0x020FD154 add r0, r4, #0x0 - bl sub_0207B000 + bl FUN_0207B000 ldr r1, [r5, #0xc] add r0, r4, #0x0 ldr r1, [r1, #0xc] - bl sub_0207C2A4 + bl FUN_0207C2A4 ldr r0, _020881A8 ; =0x020FA6E8 ldr r2, [r5, #0x0] add r1, r4, #0x0 - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x14] str r4, [r5, #0x10] mov r0, #0x7 @@ -251884,12 +251884,12 @@ sub_02088130: ; 0x02088130 _020881A4: .word 0x020FD154 _020881A8: .word 0x020FA6E8 - thumb_func_start sub_020881AC -sub_020881AC: ; 0x020881AC + thumb_func_start FUN_020881AC +FUN_020881AC: ; 0x020881AC push {r4, lr} add r4, r0, #0x0 add r0, #0x14 - bl sub_02087E1C + bl FUN_02087E1C cmp r0, #0x0 bne _020881BE mov r0, #0x7 @@ -251897,14 +251897,14 @@ sub_020881AC: ; 0x020881AC _020881BE: ldr r0, [r4, #0x10] ldr r0, [r0, #0x24] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r4, #0x10] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_020881D0 -sub_020881D0: ; 0x020881D0 + thumb_func_start FUN_020881D0 +FUN_020881D0: ; 0x020881D0 push {r3-r5, lr} sub sp, #0x8 lsl r2, r1, #0x1 @@ -251919,7 +251919,7 @@ sub_020881D0: ; 0x020881D0 pop {r3-r5, pc} _020881E8: add r1, sp, #0x0 - bl sub_02027FBC + bl FUN_02027FBC add r0, r4, #0x1 add r2, sp, #0x0 ldrb r1, [r2, r0] @@ -251944,14 +251944,14 @@ _0208820C: _02088214: .word 0x020FD17C _02088218: .word 0x020FD17D - thumb_func_start sub_0208821C -sub_0208821C: ; 0x0208821C + thumb_func_start FUN_0208821C +FUN_0208821C: ; 0x0208821C push {r3-r7, lr} sub sp, #0x30 add r6, r1, #0x0 add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_02068854 + bl FUN_02068854 lsl r1, r0, #0x1 ldr r0, _02088310 ; =0x020FD17C ldrb r0, [r0, r1] @@ -251961,7 +251961,7 @@ sub_0208821C: ; 0x0208821C add r1, sp, #0x10 str r0, [sp, #0x0] add r0, r4, #0x0 - bl sub_02027FBC + bl FUN_02027FBC mov r4, #0x0 add r7, r4, #0x0 add r5, sp, #0x18 @@ -251970,7 +251970,7 @@ _02088246: add r0, r6, #0x0 add r1, #0x13 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r1, r4, #0x2 str r0, [r5, r1] add r0, r4, #0x1 @@ -251999,22 +251999,22 @@ _0208826A: cmp r0, #0x5 beq _020882B8 ldrb r0, [r4, r0] - blx sub_020EB57C + blx FUN_020EB57C add r1, r0, #0x0 ldr r0, _02088318 ; =0x3F8CCCCD - blx sub_020EB5C4 - blx sub_020EB4F4 + blx FUN_020EB5C4 + blx FUN_020EB4F4 ldr r1, [sp, #0x4] strb r0, [r4, r1] add r4, sp, #0x8 ldr r0, [sp, #0x0] add r4, #0x1 ldrb r0, [r4, r0] - blx sub_020EB57C + blx FUN_020EB57C add r1, r0, #0x0 ldr r0, _0208831C ; =0x3F666666 - blx sub_020EB5C4 - blx sub_020EB4F4 + blx FUN_020EB5C4 + blx FUN_020EB4F4 ldr r1, [sp, #0x0] strb r0, [r4, r1] _020882B8: @@ -252038,7 +252038,7 @@ _020882D4: add r0, r6, #0x0 add r1, #0x13 add r2, r4, r2 - bl sub_02067830 + bl FUN_02067830 add r0, r5, #0x1 lsl r0, r0, #0x18 lsr r5, r0, #0x18 @@ -252047,7 +252047,7 @@ _020882D4: add r0, r6, #0x0 mov r1, #0x9 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC add r1, sp, #0x8 strb r0, [r1, #0x0] ldrb r0, [r1, #0x0] @@ -252058,7 +252058,7 @@ _020882D4: add r0, r6, #0x0 mov r1, #0x9 add r2, sp, #0x8 - bl sub_02067830 + bl FUN_02067830 _0208830C: add sp, #0x30 pop {r3-r7, pc} @@ -252068,8 +252068,8 @@ _02088314: .word 0x020FD17D _02088318: .word 0x3F8CCCCD _0208831C: .word 0x3F666666 - thumb_func_start sub_02088320 -sub_02088320: ; 0x02088320 + thumb_func_start FUN_02088320 +FUN_02088320: ; 0x02088320 push {r3-r7, lr} add r5, r1, #0x0 mov r1, #0x59 @@ -252077,12 +252077,12 @@ sub_02088320: ; 0x02088320 add r6, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x0] - bl sub_02016998 + bl FUN_02016998 mov r2, #0x59 mov r1, #0x0 lsl r2, r2, #0x2 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C str r6, [r4, #0x0] cmp r5, #0x10 bls _0208834A @@ -252098,26 +252098,26 @@ _0208834C: ldr r0, [sp, #0x18] str r0, [r4, #0x4] add r0, r4, #0x0 - bl sub_0208837C + bl FUN_0208837C add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02088360 -sub_02088360: ; 0x02088360 + thumb_func_start FUN_02088360 +FUN_02088360: ; 0x02088360 push {r4, lr} add r4, r0, #0x0 - bl sub_0208843C + bl FUN_0208843C mov r2, #0x59 add r0, r4, #0x0 mov r1, #0x0 lsl r2, r2, #0x2 - blx sub_020CE34C + blx FUN_020CE34C add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_0208837C -sub_0208837C: ; 0x0208837C + thumb_func_start FUN_0208837C +FUN_0208837C: ; 0x0208837C push {r4-r7, lr} sub sp, #0xc ldr r1, _02088438 ; =0x020FD1C0 @@ -252137,7 +252137,7 @@ sub_0208837C: ; 0x0208837C ldrh r0, [r0, #0xc] ldr r2, [r2, #0x0] add r1, #0x14 - bl sub_02008C9C + bl FUN_02008C9C ldr r1, [sp, #0x0] mov r6, #0x15 str r0, [r1, #0x10] @@ -252156,14 +252156,14 @@ _020883C0: ldrb r0, [r7, #0x0] ldr r1, [sp, #0x4] ldr r2, [r2, #0x0] - bl sub_02008DEC + bl FUN_02008DEC mov r1, #0x5 lsl r1, r1, #0x6 str r0, [r5, r1] ldr r1, [sp, #0x0] ldrb r0, [r7, #0x0] ldr r1, [r1, #0x0] - bl sub_02009424 + bl FUN_02009424 mov r1, #0x15 lsl r1, r1, #0x4 str r0, [r5, r1] @@ -252193,11 +252193,11 @@ _02088402: cmp r0, #0x4 blo _020883C0 ldr r0, [sp, #0x0] - bl sub_020886CC + bl FUN_020886CC ldr r0, [sp, #0x0] mov r1, #0x4 ldr r0, [r0, #0x0] - bl sub_02016998 + bl FUN_02016998 mov r2, #0x16 ldr r1, [sp, #0x0] lsl r2, r2, #0x4 @@ -252206,30 +252206,30 @@ _02088402: ldr r0, [r0, r2] mov r1, #0x0 mov r2, #0x4 - blx sub_020CE34C + blx FUN_020CE34C add sp, #0xc pop {r4-r7, pc} .balign 4 _02088438: .word 0x020FD1C0 - thumb_func_start sub_0208843C -sub_0208843C: ; 0x0208843C + thumb_func_start FUN_0208843C +FUN_0208843C: ; 0x0208843C push {r3-r7, lr} add r5, r0, #0x0 mov r0, #0x16 lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_02016A18 + bl FUN_02016A18 ldr r0, [r5, #0x10] - bl sub_0201FD58 + bl FUN_0201FD58 mov r0, #0x15 lsl r0, r0, #0x4 ldr r0, [r5, r0] - bl sub_02009C30 + bl FUN_02009C30 mov r0, #0x55 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02009E28 + bl FUN_02009E28 mov r7, #0x15 lsl r7, r7, #0x4 add r6, r7, #0x0 @@ -252237,25 +252237,25 @@ sub_0208843C: ; 0x0208843C sub r6, #0x10 _0208846E: ldr r0, [r5, r7] - bl sub_02009448 + bl FUN_02009448 ldr r0, [r5, r6] - bl sub_02008E2C + bl FUN_02008E2C add r4, r4, #0x1 add r5, r5, #0x4 cmp r4, #0x4 blo _0208846E pop {r3-r7, pc} - thumb_func_start sub_02088484 -sub_02088484: ; 0x02088484 - ldr r3, _0208848C ; =sub_0201FDEC + thumb_func_start FUN_02088484 +FUN_02088484: ; 0x02088484 + ldr r3, _0208848C ; =FUN_0201FDEC ldr r0, [r0, #0x10] bx r3 nop -_0208848C: .word sub_0201FDEC + 1 +_0208848C: .word FUN_0201FDEC + 1 - thumb_func_start sub_02088490 -sub_02088490: ; 0x02088490 + thumb_func_start FUN_02088490 +FUN_02088490: ; 0x02088490 push {r3-r7, lr} sub sp, #0x70 str r1, [sp, #0x2c] @@ -252264,22 +252264,22 @@ sub_02088490: ; 0x02088490 add r5, r0, #0x0 add r7, r2, #0x0 str r3, [sp, #0x30] - bl sub_020887CC + bl FUN_020887CC str r0, [sp, #0x3c] cmp r0, #0x0 bge _020884B4 - bl sub_02020C2C + bl FUN_02020C2C add sp, #0x70 mov r0, #0x0 pop {r3-r7, pc} _020884B4: ldr r0, [r5, #0x0] mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 str r0, [sp, #0x38] mov r1, #0x0 mov r2, #0x8 - blx sub_020CE34C + blx FUN_020CE34C ldr r1, [sp, #0x3c] ldr r0, [sp, #0x38] strh r1, [r0, #0x0] @@ -252309,24 +252309,24 @@ _020884D8: str r0, [sp, #0x4] ldr r0, [r5, r1] ldr r1, [sp, #0x34] - bl sub_02009168 + bl FUN_02009168 mov r0, #0x55 lsl r0, r0, #0x2 ldr r0, [r5, r0] ldr r0, [r0, #0x0] ldr r0, [r0, r4] - bl sub_02009DE0 + bl FUN_02009DE0 ldr r0, [r5, #0x0] mov r1, #0x10 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [r5, #0x0] mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 str r0, [r4, #0x8] ldr r0, [r5, #0x0] mov r1, #0x24 - bl sub_02016998 + bl FUN_02016998 ldr r1, [r4, #0x8] mov r3, #0xe str r0, [r1, #0x0] @@ -252364,7 +252364,7 @@ _020884D8: ldr r0, [r4, #0x4] add r1, r3, #0x0 add r2, r2, r3 - bl sub_02008AA4 + bl FUN_02008AA4 ldr r0, [r5, #0x10] cmp r7, #0x0 str r0, [sp, #0x40] @@ -252372,59 +252372,59 @@ _020884D8: str r0, [sp, #0x44] beq _02088596 lsl r0, r7, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _020885A4 _02088596: lsl r0, r7, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _020885A4: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x48] ldr r0, [sp, #0x30] cmp r0, #0x0 beq _020885C2 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _020885D0 _020885C2: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _020885D0: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x4c] add r0, sp, #0x78 ldrh r0, [r0, #0x10] cmp r0, #0x0 beq _020885F0 lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 add r1, r0, #0x0 mov r0, #0x3f lsl r0, r0, #0x18 - blx sub_020EA980 + blx FUN_020EA980 b _020885FE _020885F0: lsl r0, r0, #0xc - blx sub_020EB534 + blx FUN_020EB534 mov r1, #0x3f lsl r1, r1, #0x18 - blx sub_020EB7B0 + blx FUN_020EB7B0 _020885FE: - blx sub_020EB4C0 + blx FUN_020EB4C0 str r0, [sp, #0x50] cmp r6, #0x2 bne _02088612 @@ -252449,21 +252449,21 @@ _02088612: ldr r0, [r5, #0x0] str r0, [sp, #0x6c] add r0, sp, #0x40 - bl sub_0201FE94 + bl FUN_0201FE94 str r0, [r4, #0x0] cmp r0, #0x0 beq _02088652 mov r1, #0x0 - bl sub_02020130 + bl FUN_02020130 ldr r0, [sp, #0x34] add r1, r6, #0x0 - bl sub_02009E88 + bl FUN_02009E88 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl sub_02020248 + bl FUN_02020248 b _02088656 _02088652: - bl sub_02020C2C + bl FUN_02020C2C _02088656: ldr r0, [sp, #0x38] str r4, [r0, #0x4] @@ -252471,8 +252471,8 @@ _02088656: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_02088660 -sub_02088660: ; 0x02088660 + thumb_func_start FUN_02088660 +FUN_02088660: ; 0x02088660 push {r4, lr} sub sp, #0x8 add r3, r2, #0x0 @@ -252492,19 +252492,19 @@ sub_02088660: ; 0x02088660 ldr r0, [r0, r2] add r1, r4, #0x0 mov r2, #0x58 - bl sub_02009168 + bl FUN_02009168 add r0, r4, #0x0 - bl sub_02009DE0 + bl FUN_02009DE0 add sp, #0x8 pop {r4, pc} - thumb_func_start sub_02088694 -sub_02088694: ; 0x02088694 + thumb_func_start FUN_02088694 +FUN_02088694: ; 0x02088694 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 ldr r0, [r4, #0x4] - bl sub_0200C3DC + bl FUN_0200C3DC mov r1, #0x16 ldrh r2, [r4, #0x0] lsl r1, r1, #0x4 @@ -252523,12 +252523,12 @@ sub_02088694: ; 0x02088694 add r1, r2, r1 strb r0, [r1, #0x1] add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020886CC -sub_020886CC: ; 0x020886CC + thumb_func_start FUN_020886CC +FUN_020886CC: ; 0x020886CC push {r3-r7, lr} sub sp, #0x10 add r5, r0, #0x0 @@ -252547,14 +252547,14 @@ sub_020886CC: ; 0x020886CC str r1, [sp, #0x8] ldr r0, [r5, r0] mov r1, #0x58 - bl sub_02008F34 + bl FUN_02008F34 ldr r1, [r4, #0x0] str r0, [r1, #0x0] ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02088704 - bl sub_02020C2C + bl FUN_02020C2C _02088704: ldr r0, [r5, #0x4] cmp r0, #0x0 @@ -252567,17 +252567,17 @@ _02088704: _02088714: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] - bl sub_02009B04 + bl FUN_02009B04 b _02088730 _0208871E: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] - bl sub_02009B78 + bl FUN_02009B78 b _02088730 _02088728: ldr r0, [r4, #0x0] ldr r0, [r0, #0x0] - bl sub_02009A50 + bl FUN_02009A50 _02088730: mov r4, #0x0 add r6, r5, #0x0 @@ -252598,14 +252598,14 @@ _02088734: ldr r0, [r6, r0] add r2, r4, #0x1 mov r3, #0x0 - bl sub_020090AC + bl FUN_020090AC ldr r1, [r7, #0x0] str r0, [r1, #0x0] ldr r0, [r7, #0x0] ldr r0, [r0, #0x0] cmp r0, #0x0 bne _02088768 - bl sub_02020C2C + bl FUN_02020C2C _02088768: add r4, r4, #0x1 add r6, r6, #0x4 @@ -252636,18 +252636,18 @@ _02088780: mov r0, #0x51 lsl r0, r0, #0x2 ldr r0, [r5, r0] - bl sub_02008FEC + bl FUN_02008FEC ldr r1, [r6, #0x0] str r0, [r1, r4] ldr r0, [r6, #0x0] ldr r0, [r0, r4] cmp r0, #0x0 bne _020887B4 - bl sub_02020C2C + bl FUN_02020C2C _020887B4: ldr r0, [r6, #0x0] ldr r0, [r0, r4] - bl sub_02009CF0 + bl FUN_02009CF0 ldrh r0, [r5, #0xa] add r7, r7, #0x1 add r4, r4, #0x4 @@ -252658,8 +252658,8 @@ _020887C6: pop {r3-r7, pc} .balign 4 - thumb_func_start sub_020887CC -sub_020887CC: ; 0x020887CC + thumb_func_start FUN_020887CC +FUN_020887CC: ; 0x020887CC push {r3-r6} ldrh r5, [r0, #0xa] mov r3, #0x0 @@ -252700,237 +252700,237 @@ _0208880A: bx lr .balign 4 - thumb_func_start sub_02088814 -sub_02088814: ; 0x02088814 + thumb_func_start FUN_02088814 +FUN_02088814: ; 0x02088814 mov r0, #0x3 bx lr - thumb_func_start sub_02088818 -sub_02088818: ; 0x02088818 + thumb_func_start FUN_02088818 +FUN_02088818: ; 0x02088818 bx lr .balign 4 - thumb_func_start sub_0208881C -sub_0208881C: ; 0x0208881C - ldr r3, _02088828 ; =sub_0202D8D0 + thumb_func_start FUN_0208881C +FUN_0208881C: ; 0x0208881C + ldr r3, _02088828 ; =FUN_0202D8D0 add r2, r0, #0x0 ldr r0, _0208882C ; =0x020FD1C4 mov r1, #0x6c bx r3 nop -_02088828: .word sub_0202D8D0 + 1 +_02088828: .word FUN_0202D8D0 + 1 _0208882C: .word 0x020FD1C4 - thumb_func_start sub_02088830 -sub_02088830: ; 0x02088830 + thumb_func_start FUN_02088830 +FUN_02088830: ; 0x02088830 ldr r0, _02088834 ; =0x0000066C bx lr .balign 4 _02088834: .word 0x0000066C - thumb_func_start sub_02088838 -sub_02088838: ; 0x02088838 + thumb_func_start FUN_02088838 +FUN_02088838: ; 0x02088838 mov r0, #0x2f lsl r0, r0, #0x6 bx lr .balign 4 - thumb_func_start sub_02088840 -sub_02088840: ; 0x02088840 + thumb_func_start FUN_02088840 +FUN_02088840: ; 0x02088840 mov r0, #0x3f lsl r0, r0, #0x4 bx lr .balign 4 - thumb_func_start sub_02088848 -sub_02088848: ; 0x02088848 + thumb_func_start FUN_02088848 +FUN_02088848: ; 0x02088848 mov r0, #0xa bx lr - thumb_func_start sub_0208884C -sub_0208884C: ; 0x0208884C + thumb_func_start FUN_0208884C +FUN_0208884C: ; 0x0208884C mov r0, #0x32 bx lr - thumb_func_start sub_02088850 -sub_02088850: ; 0x02088850 + thumb_func_start FUN_02088850 +FUN_02088850: ; 0x02088850 mov r0, #0x4 bx lr - thumb_func_start sub_02088854 -sub_02088854: ; 0x02088854 + thumb_func_start FUN_02088854 +FUN_02088854: ; 0x02088854 mov r0, #0x4 bx lr - thumb_func_start sub_02088858 -sub_02088858: ; 0x02088858 - ldr r3, _02088860 ; =sub_02005FDC + thumb_func_start FUN_02088858 +FUN_02088858: ; 0x02088858 + ldr r3, _02088860 ; =FUN_02005FDC ldr r0, _02088864 ; =0x00000004 mov r1, #0x2 bx r3 .balign 4 -_02088860: .word sub_02005FDC + 1 +_02088860: .word FUN_02005FDC + 1 _02088864: .word 0x00000004 - thumb_func_start sub_02088868 -sub_02088868: ; 0x02088868 - ldr r3, _02088870 ; =sub_02005F60 + thumb_func_start FUN_02088868 +FUN_02088868: ; 0x02088868 + ldr r3, _02088870 ; =FUN_02005F60 ldr r0, _02088874 ; =0x00000004 bx r3 nop -_02088870: .word sub_02005F60 + 1 +_02088870: .word FUN_02005F60 + 1 _02088874: .word 0x00000004 - thumb_func_start sub_02088878 -sub_02088878: ; 0x02088878 - ldr r3, _02088880 ; =sub_02005FDC + thumb_func_start FUN_02088878 +FUN_02088878: ; 0x02088878 + ldr r3, _02088880 ; =FUN_02005FDC ldr r0, _02088884 ; =0x0000000D mov r1, #0x2 bx r3 .balign 4 -_02088880: .word sub_02005FDC + 1 +_02088880: .word FUN_02005FDC + 1 _02088884: .word 0x0000000D - thumb_func_start sub_02088888 -sub_02088888: ; 0x02088888 - ldr r3, _02088890 ; =sub_02005F60 + thumb_func_start FUN_02088888 +FUN_02088888: ; 0x02088888 + ldr r3, _02088890 ; =FUN_02005F60 ldr r0, _02088894 ; =0x0000000D bx r3 nop -_02088890: .word sub_02005F60 + 1 +_02088890: .word FUN_02005F60 + 1 _02088894: .word 0x0000000D - thumb_func_start sub_02088898 -sub_02088898: ; 0x02088898 + thumb_func_start FUN_02088898 +FUN_02088898: ; 0x02088898 push {r4, lr} add r4, r1, #0x0 - bl sub_02088858 - bl sub_02088878 + bl FUN_02088858 + bl FUN_02088878 add r0, r4, #0x0 - bl sub_02211E60 - bl sub_02088888 - bl sub_02088868 + bl FUN_02211E60 + bl FUN_02088888 + bl FUN_02088868 mov r0, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 pop {r4, pc} .balign 4 - thumb_func_start sub_020888BC -sub_020888BC: ; 0x020888BC - ldr r3, _020888C4 ; =sub_02005FDC + thumb_func_start FUN_020888BC +FUN_020888BC: ; 0x020888BC + ldr r3, _020888C4 ; =FUN_02005FDC ldr r0, _020888C8 ; =0x0000004F mov r1, #0x2 bx r3 .balign 4 -_020888C4: .word sub_02005FDC + 1 +_020888C4: .word FUN_02005FDC + 1 _020888C8: .word 0x0000004F - thumb_func_start sub_020888CC -sub_020888CC: ; 0x020888CC - ldr r3, _020888D4 ; =sub_02005F60 + thumb_func_start FUN_020888CC +FUN_020888CC: ; 0x020888CC + ldr r3, _020888D4 ; =FUN_02005F60 ldr r0, _020888D8 ; =0x0000004F bx r3 nop -_020888D4: .word sub_02005F60 + 1 +_020888D4: .word FUN_02005F60 + 1 _020888D8: .word 0x0000004F - thumb_func_start sub_020888DC -sub_020888DC: ; 0x020888DC + thumb_func_start FUN_020888DC +FUN_020888DC: ; 0x020888DC push {r4, lr} mov r2, #0x41 add r4, r0, #0x0 mov r0, #0x3 mov r1, #0x31 lsl r2, r2, #0xc - bl sub_0201681C + bl FUN_0201681C add r0, r4, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r0, [r0, #0x8] mov r1, #0x31 - bl sub_02088898 + bl FUN_02088898 mov r0, #0x31 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start sub_0208890C -sub_0208890C: ; 0x0208890C + thumb_func_start FUN_0208890C +FUN_0208890C: ; 0x0208890C push {r3-r7, lr} add r6, r0, #0x0 add r5, r1, #0x0 add r0, r2, #0x0 mov r1, #0x20 add r7, r3, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r1, #0x0 mov r2, #0x20 - blx sub_020CE34C + blx FUN_020CE34C str r5, [r4, #0xc] add r0, r5, #0x0 - bl sub_02028048 + bl FUN_02028048 str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_020238F4 + bl FUN_020238F4 str r0, [r4, #0x10] add r0, r5, #0x0 - bl sub_0206F158 + bl FUN_0206F158 str r0, [r4, #0x14] add r0, r5, #0x0 - bl sub_02023900 + bl FUN_02023900 str r0, [r4, #0x18] str r7, [r4, #0x1c] str r6, [r4, #0x4] add r0, r4, #0x0 pop {r3-r7, pc} - thumb_func_start sub_02088950 -sub_02088950: ; 0x02088950 - ldr r3, _02088958 ; =sub_020373D4 + thumb_func_start FUN_02088950 +FUN_02088950: ; 0x02088950 + ldr r3, _02088958 ; =FUN_020373D4 add r2, r1, #0x0 ldr r1, _0208895C ; =0x020FD6E4 bx r3 .balign 4 -_02088958: .word sub_020373D4 + 1 +_02088958: .word FUN_020373D4 + 1 _0208895C: .word 0x020FD6E4 - thumb_func_start sub_02088960 -sub_02088960: ; 0x02088960 + thumb_func_start FUN_02088960 +FUN_02088960: ; 0x02088960 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 add r6, r2, #0x0 - bl sub_020377AC + bl FUN_020377AC add r3, r5, #0x0 add r3, #0x98 add r1, r0, #0x0 ldr r3, [r3, #0x0] add r0, r4, #0x0 add r2, r6, #0x0 - bl sub_0208890C + bl FUN_0208890C add r4, r0, #0x0 add r0, r5, #0x0 add r1, r4, #0x0 - bl sub_02088950 + bl FUN_02088950 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_0208898C -sub_0208898C: ; 0x0208898C + thumb_func_start FUN_0208898C +FUN_0208898C: ; 0x0208898C push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 beq _020889AC - bl sub_02006290 + bl FUN_02006290 cmp r0, #0x0 beq _020889AC ldr r0, [r4, #0x0] - bl sub_02006260 + bl FUN_02006260 mov r0, #0x0 str r0, [r4, #0x0] mov r0, #0x1 @@ -252939,30 +252939,30 @@ _020889AC: mov r0, #0x0 pop {r4, pc} - thumb_func_start sub_020889B0 -sub_020889B0: ; 0x020889B0 + thumb_func_start FUN_020889B0 +FUN_020889B0: ; 0x020889B0 push {r3-r5, lr} add r4, r0, #0x0 - bl sub_0200628C + bl FUN_0200628C mov r2, #0x1 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x37 lsl r2, r2, #0xe - bl sub_0201681C + bl FUN_0201681C add r0, r4, #0x0 mov r1, #0x24 mov r2, #0x37 - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x24 add r4, r0, #0x0 - blx sub_020CE34C + blx FUN_020CE34C mov r0, #0x37 str r0, [r4, #0x0] str r5, [r4, #0x10] ldr r0, [r4, #0x0] - bl sub_0206F164 + bl FUN_0206F164 str r0, [r4, #0xc] ldr r0, [r5, #0x4] cmp r0, #0x1 @@ -252978,15 +252978,15 @@ _020889FA: pop {r3-r5, pc} .balign 4 - thumb_func_start sub_02088A00 -sub_02088A00: ; 0x02088A00 + thumb_func_start FUN_02088A00 +FUN_02088A00: ; 0x02088A00 push {r4-r6, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r5, [r4, #0x0] cmp r5, #0x4 bhi _02088A6A @@ -253004,7 +253004,7 @@ sub_02088A00: ; 0x02088A00 add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 - bl sub_02088AAC + bl FUN_02088AAC str r0, [r4, #0x0] b _02088A6A _02088A3C: @@ -253022,31 +253022,31 @@ _02088A74: mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start sub_02088A78 -sub_02088A78: ; 0x02088A78 + thumb_func_start FUN_02088A78 +FUN_02088A78: ; 0x02088A78 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 add r4, r0, #0x0 add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r0, [r4, #0xc] ldr r6, [r4, #0x0] - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 mov r1, #0x0 mov r2, #0x24 - blx sub_020CE34C + blx FUN_020CE34C add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C add r0, r6, #0x0 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x1 pop {r4-r6, pc} .balign 4 - thumb_func_start sub_02088AAC -sub_02088AAC: ; 0x02088AAC + thumb_func_start FUN_02088AAC +FUN_02088AAC: ; 0x02088AAC push {r4, lr} add r4, r1, #0x0 ldr r1, [r4, #0x0] @@ -253064,7 +253064,7 @@ sub_02088AAC: ; 0x02088AAC lsl r2, r4, #0 lsl r2, r5, #0 lsl r6, r5, #0 - bl sub_02088B4C + bl FUN_02088B4C str r0, [r4, #0x0] b _02088AF6 _02088AD6: @@ -253076,8 +253076,8 @@ _02088AF6: pop {r4, pc} .balign 4 - thumb_func_start sub_02088AFC -sub_02088AFC: ; 0x02088AFC + thumb_func_start FUN_02088AFC +FUN_02088AFC: ; 0x02088AFC push {r3-r5, lr} sub sp, #0x10 ldr r5, _02088B24 ; =0x020FD708 @@ -253091,7 +253091,7 @@ sub_02088AFC: ; 0x02088AFC add r0, r2, #0x0 ldr r2, [r4, #0x0] add r1, r4, #0x0 - bl sub_02006234 + bl FUN_02006234 str r0, [r4, #0x1c] mov r0, #0x2 add sp, #0x10 @@ -253099,12 +253099,12 @@ sub_02088AFC: ; 0x02088AFC nop _02088B24: .word 0x020FD708 - thumb_func_start sub_02088B28 -sub_02088B28: ; 0x02088B28 + thumb_func_start FUN_02088B28 +FUN_02088B28: ; 0x02088B28 push {r4, lr} add r4, r0, #0x0 add r0, #0x1c - bl sub_0208898C + bl FUN_0208898C cmp r0, #0x0 bne _02088B3A mov r0, #0x2 @@ -253119,13 +253119,13 @@ _02088B44: mov r0, #0x3 pop {r4, pc} - thumb_func_start sub_02088B48 -sub_02088B48: ; 0x02088B48 + thumb_func_start FUN_02088B48 +FUN_02088B48: ; 0x02088B48 mov r0, #0x4 bx lr - thumb_func_start sub_02088B4C -sub_02088B4C: ; 0x02088B4C + thumb_func_start FUN_02088B4C +FUN_02088B4C: ; 0x02088B4C push {r3-r5, lr} sub sp, #0x10 ldr r3, _02088BA0 ; =0x020FD6F8 @@ -253139,7 +253139,7 @@ sub_02088B4C: ; 0x02088B4C ldr r1, _02088BA4 ; =0x020FD6F4 ldr r0, [r0, #0x14] ldr r2, [r5, #0x0] - bl sub_0206EFEC + bl FUN_0206EFEC add r4, r0, #0x0 ldrh r0, [r5, #0x6] lsl r0, r0, #0x18 @@ -253157,11 +253157,11 @@ _02088B7C: ldr r3, [r5, #0xc] add r0, r4, #0x0 lsr r2, r2, #0x18 - bl sub_0206E314 + bl FUN_0206E314 ldr r2, [r5, #0x0] add r0, sp, #0x0 add r1, r4, #0x0 - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x1c] str r4, [r5, #0x18] mov r0, #0x1 @@ -253171,12 +253171,12 @@ _02088B7C: _02088BA0: .word 0x020FD6F8 _02088BA4: .word 0x020FD6F4 - thumb_func_start sub_02088BA8 -sub_02088BA8: ; 0x02088BA8 + thumb_func_start FUN_02088BA8 +FUN_02088BA8: ; 0x02088BA8 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x1c - bl sub_0208898C + bl FUN_0208898C cmp r0, #0x0 bne _02088BBA mov r0, #0x1 @@ -253185,24 +253185,24 @@ _02088BBA: ldr r0, [r4, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0206E2F0 + bl FUN_0206E2F0 add r5, r0, #0x0 - bl sub_0206E308 + bl FUN_0206E308 add r2, r0, #0x0 ldr r1, [r4, #0x18] add r0, r5, #0x0 - blx sub_020DF438 + blx FUN_020DF438 ldr r0, [r4, #0x18] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x18] add r0, r5, #0x0 - bl sub_0206E37C + bl FUN_0206E37C str r0, [r4, #0x8] add r0, r5, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_0206E384 + bl FUN_0206E384 cmp r0, #0x5 bhi _02088C16 add r0, r0, r0 @@ -253222,7 +253222,7 @@ _02088BBA: _02088C12: .byte 0x05, 0x20, 0x38, 0xBD _02088C16: - bl sub_02020C2C + bl FUN_02020C2C mov r0, #0x95 str r0, [r4, #0x8] ldr r0, [r4, #0x10] @@ -253232,16 +253232,16 @@ _02088C16: ldr r3, [r4, #0x0] lsr r1, r1, #0x10 mov r2, #0x1 - bl sub_0206EDD4 + bl FUN_0206EDD4 cmp r0, #0x0 bne _02088C38 - bl sub_02020C2C + bl FUN_02020C2C _02088C38: mov r0, #0x4 pop {r3-r5, pc} - thumb_func_start sub_02088C3C -sub_02088C3C: ; 0x02088C3C + thumb_func_start FUN_02088C3C +FUN_02088C3C: ; 0x02088C3C push {r3-r7, lr} sub sp, #0x18 add r5, r0, #0x0 @@ -253257,31 +253257,31 @@ sub_02088C3C: ; 0x02088C3C ldr r0, [r5, #0x0] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_020851B8 + bl FUN_020851B8 str r0, [r5, #0x18] ldr r1, [r5, #0x8] mov r2, #0x1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 - bl sub_020851DC + bl FUN_020851DC mov r6, #0x0 add r4, r6, #0x0 _02088C70: add r0, r4, #0x0 - bl sub_0206EB1C + bl FUN_0206EB1C lsl r0, r0, #0x18 lsr r7, r0, #0x18 ldr r0, [sp, #0x0] ldr r3, [r5, #0x0] add r1, r7, #0x0 mov r2, #0x1 - bl sub_0206EE50 + bl FUN_0206EE50 cmp r0, #0x1 bne _02088C9A ldr r0, [r5, #0x18] add r1, r7, #0x0 mov r2, #0x0 - bl sub_020851DC + bl FUN_020851DC add r0, r6, #0x1 lsl r0, r0, #0x18 lsr r6, r0, #0x18 @@ -253296,7 +253296,7 @@ _02088C9A: mov r1, #0x4 add r2, sp, #0x4 add r3, #0x1 - bl sub_0206F17C + bl FUN_0206F17C add r2, sp, #0x4 ldrb r1, [r2, #0x1] add r3, r6, #0x2 @@ -253304,11 +253304,11 @@ _02088C9A: ldrb r2, [r2, #0x0] ldr r0, [r5, #0x18] lsr r3, r3, #0x18 - bl sub_020851F8 + bl FUN_020851F8 ldr r1, [r5, #0x18] ldr r2, [r5, #0x0] add r0, sp, #0x8 - bl sub_02006234 + bl FUN_02006234 str r0, [r5, #0x1c] mov r0, #0x3 add sp, #0x18 @@ -253316,13 +253316,13 @@ _02088C9A: nop _02088CD8: .word 0x020FD718 - thumb_func_start sub_02088CDC -sub_02088CDC: ; 0x02088CDC + thumb_func_start FUN_02088CDC +FUN_02088CDC: ; 0x02088CDC push {r3-r4, lr} sub sp, #0x4 add r4, r0, #0x0 add r0, #0x1c - bl sub_0208898C + bl FUN_0208898C cmp r0, #0x0 bne _02088CF2 add sp, #0x4 @@ -253333,28 +253333,28 @@ _02088CF2: ldr r0, [r4, #0x18] add r1, #0x1 add r2, sp, #0x0 - bl sub_0208524C + bl FUN_0208524C add r3, sp, #0x0 ldrb r2, [r3, #0x0] ldrb r3, [r3, #0x1] ldr r0, [r4, #0xc] mov r1, #0x4 - bl sub_0206F190 + bl FUN_0206F190 ldr r0, [r4, #0x18] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 str r0, [r4, #0x18] add sp, #0x4 pop {r3-r4, pc} .balign 4 - thumb_func_start sub_02088D1C -sub_02088D1C: ; 0x02088D1C + thumb_func_start FUN_02088D1C +FUN_02088D1C: ; 0x02088D1C mov r0, #0x13 bx lr - thumb_func_start sub_02088D20 -sub_02088D20: ; 0x02088D20 + thumb_func_start FUN_02088D20 +FUN_02088D20: ; 0x02088D20 ldr r3, _02088D3C ; =0x020FD8C8 mov r2, #0x0 _02088D24: @@ -253373,20 +253373,20 @@ _02088D2E: nop _02088D3C: .word 0x020FD8C8 - thumb_func_start sub_02088D40 -sub_02088D40: ; 0x02088D40 + thumb_func_start FUN_02088D40 +FUN_02088D40: ; 0x02088D40 push {r3, lr} - bl sub_02088D20 - bl sub_02088D4C + bl FUN_02088D20 + bl FUN_02088D4C pop {r3, pc} - thumb_func_start sub_02088D4C -sub_02088D4C: ; 0x02088D4C + thumb_func_start FUN_02088D4C +FUN_02088D4C: ; 0x02088D4C push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D58 - bl sub_02020C2C + bl FUN_02020C2C _02088D58: mov r0, #0xc add r1, r4, #0x0 @@ -253397,13 +253397,13 @@ _02088D58: .balign 4 _02088D64: .word 0x020FD8CA - thumb_func_start sub_02088D68 -sub_02088D68: ; 0x02088D68 + thumb_func_start FUN_02088D68 +FUN_02088D68: ; 0x02088D68 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D74 - bl sub_02020C2C + bl FUN_02020C2C _02088D74: mov r0, #0xc add r1, r4, #0x0 @@ -253414,13 +253414,13 @@ _02088D74: .balign 4 _02088D80: .word 0x020FD8C8 - thumb_func_start sub_02088D84 -sub_02088D84: ; 0x02088D84 + thumb_func_start FUN_02088D84 +FUN_02088D84: ; 0x02088D84 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088D90 - bl sub_02020C2C + bl FUN_02020C2C _02088D90: mov r0, #0xc add r1, r4, #0x0 @@ -253431,13 +253431,13 @@ _02088D90: .balign 4 _02088D9C: .word 0x020FD8C9 - thumb_func_start sub_02088DA0 -sub_02088DA0: ; 0x02088DA0 + thumb_func_start FUN_02088DA0 +FUN_02088DA0: ; 0x02088DA0 push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088DAC - bl sub_02020C2C + bl FUN_02020C2C _02088DAC: mov r0, #0xc add r1, r4, #0x0 @@ -253448,13 +253448,13 @@ _02088DAC: .balign 4 _02088DB8: .word 0x020FD8CC - thumb_func_start sub_02088DBC -sub_02088DBC: ; 0x02088DBC + thumb_func_start FUN_02088DBC +FUN_02088DBC: ; 0x02088DBC push {r4, lr} add r4, r0, #0x0 cmp r4, #0x13 blo _02088DC8 - bl sub_02020C2C + bl FUN_02020C2C _02088DC8: mov r0, #0xc add r1, r4, #0x0 @@ -253465,11 +253465,11 @@ _02088DC8: .balign 4 _02088DD4: .word 0x020FD8D0 - thumb_func_start sub_02088DD8 -sub_02088DD8: ; 0x02088DD8 + thumb_func_start FUN_02088DD8 +FUN_02088DD8: ; 0x02088DD8 push {r3, lr} mov r1, #0x18 - bl sub_02016998 + bl FUN_02016998 add r3, r0, #0x0 mov r2, #0x18 mov r1, #0x0 @@ -253480,36 +253480,36 @@ _02088DE6: bne _02088DE6 pop {r3, pc} - thumb_func_start sub_02088DF0 -sub_02088DF0: ; 0x02088DF0 - ldr r3, _02088DF4 ; =sub_02016A18 + thumb_func_start FUN_02088DF0 +FUN_02088DF0: ; 0x02088DF0 + ldr r3, _02088DF4 ; =FUN_02016A18 bx r3 .balign 4 -_02088DF4: .word sub_02016A18 + 1 +_02088DF4: .word FUN_02016A18 + 1 - thumb_func_start sub_02088DF8 -sub_02088DF8: ; 0x02088DF8 + thumb_func_start FUN_02088DF8 +FUN_02088DF8: ; 0x02088DF8 push {r3-r7, lr} sub sp, #0x18 str r1, [sp, #0x0] mov r1, #0x5 mov r2, #0x0 add r5, r0, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x10 lsr r0, r0, #0x10 str r0, [sp, #0xc] add r0, r5, #0x0 mov r1, #0x70 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 str r0, [sp, #0x8] add r0, r5, #0x0 mov r1, #0xa0 mov r2, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r0, r0, #0x18 lsr r0, r0, #0x18 mov r4, #0x0 @@ -253521,7 +253521,7 @@ _02088E34: add r0, r5, #0x0 add r1, #0x36 add r2, r7, #0x0 - bl sub_020671BC + bl FUN_020671BC lsl r1, r4, #0x1 strh r0, [r6, r1] add r0, r4, #0x1 @@ -253531,16 +253531,16 @@ _02088E34: blo _02088E34 ldr r0, [sp, #0x0] mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 add r7, r0, #0x0 ldr r0, [sp, #0x0] mov r1, #0x2c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] add r2, r7, #0x0 - bl sub_02069F9C + bl FUN_02069F9C mov r2, #0x0 mov r12, r2 _02088E70: @@ -253612,15 +253612,15 @@ _02088EDA: blo _02088E70 _02088EE8: add r0, r7, #0x0 - bl sub_02016A18 + bl FUN_02016A18 add r0, r4, #0x0 add sp, #0x18 pop {r3-r7, pc} .balign 4 _02088EF4: .word 0x0000FFFF - thumb_func_start sub_02088EF8 -sub_02088EF8: ; 0x02088EF8 + thumb_func_start FUN_02088EF8 +FUN_02088EF8: ; 0x02088EF8 ldrh r1, [r0, #0x0] ldr r0, _02088F08 ; =0x0000FFFF cmp r1, r0 @@ -253633,17 +253633,17 @@ _02088F04: .balign 4 _02088F08: .word 0x0000FFFF - thumb_func_start sub_02088F0C -sub_02088F0C: ; 0x02088F0C + thumb_func_start FUN_02088F0C +FUN_02088F0C: ; 0x02088F0C push {r4-r6, lr} add r5, r1, #0x0 ldr r1, _02088F44 ; =0x0000195C add r6, r0, #0x0 - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 add r0, r6, #0x0 str r5, [r4, #0x0] - bl sub_020139D8 + bl FUN_020139D8 str r0, [r4, #0x4] mov r3, #0x0 ldr r0, _02088F48 ; =0x0000189E @@ -253655,29 +253655,29 @@ _02088F2A: cmp r3, #0xbb blt _02088F2A add r0, r4, #0x0 - bl sub_02088F60 + bl FUN_02088F60 add r0, r4, #0x0 - bl sub_020891D0 + bl FUN_020891D0 add r0, r4, #0x0 pop {r4-r6, pc} .balign 4 _02088F44: .word 0x0000195C _02088F48: .word 0x0000189E - thumb_func_start sub_02088F4C -sub_02088F4C: ; 0x02088F4C + thumb_func_start FUN_02088F4C +FUN_02088F4C: ; 0x02088F4C push {r4, lr} add r4, r0, #0x0 beq _02088F5E ldr r0, [r4, #0x4] - bl sub_02013A10 + bl FUN_02013A10 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 _02088F5E: pop {r4, pc} - thumb_func_start sub_02088F60 -sub_02088F60: ; 0x02088F60 + thumb_func_start FUN_02088F60 +FUN_02088F60: ; 0x02088F60 push {r4-r7, lr} sub sp, #0xc mov r4, #0x0 @@ -253712,8 +253712,8 @@ _02088F74: .balign 4 _02088F9C: .word 0x020FE17C - thumb_func_start sub_02088FA0 -sub_02088FA0: ; 0x02088FA0 + thumb_func_start FUN_02088FA0 +FUN_02088FA0: ; 0x02088FA0 push {r4-r7, lr} sub sp, #0xc str r0, [sp, #0x0] @@ -253722,7 +253722,7 @@ sub_02088FA0: ; 0x02088FA0 add r5, r1, #0x0 add r4, r3, #0x0 mov r6, #0x0 - bl sub_02085418 + bl FUN_02085418 str r0, [sp, #0x8] ldr r0, [sp, #0x4] add r7, r6, #0x0 @@ -253731,7 +253731,7 @@ sub_02088FA0: ; 0x02088FA0 _02088FBE: ldrh r1, [r5, #0x0] ldr r0, [sp, #0x8] - bl sub_020245F0 + bl FUN_020245F0 cmp r0, #0x0 beq _02088FEC ldrh r3, [r5, #0x0] @@ -253764,15 +253764,15 @@ _02088FF6: .balign 4 _02088FFC: .word 0x0000189E - thumb_func_start sub_02089000 -sub_02089000: ; 0x02089000 + thumb_func_start FUN_02089000 +FUN_02089000: ; 0x02089000 push {r3-r7, lr} str r0, [sp, #0x0] ldr r0, [r0, #0x0] add r5, r1, #0x0 add r7, r2, #0x0 add r4, r3, #0x0 - bl sub_02085420 + bl FUN_02085420 cmp r0, #0x0 beq _02089046 mov r2, #0x0 @@ -253808,8 +253808,8 @@ _02089046: nop _0208904C: .word 0x0000189E - thumb_func_start sub_02089050 -sub_02089050: ; 0x02089050 + thumb_func_start FUN_02089050 +FUN_02089050: ; 0x02089050 push {r3-r7, lr} sub sp, #0x10 str r0, [sp, #0x0] @@ -253817,11 +253817,11 @@ sub_02089050: ; 0x02089050 add r5, r1, #0x0 str r2, [sp, #0x4] add r4, r3, #0x0 - bl sub_0208541C + bl FUN_0208541C str r0, [sp, #0xc] ldr r0, _020890BC ; =0x00000189 mov r1, #0x0 - bl sub_02013A9C + bl FUN_02013A9C str r0, [sp, #0x8] mov r7, #0x0 ldr r0, [sp, #0x4] @@ -253833,7 +253833,7 @@ _02089078: ldr r1, [sp, #0x8] ldr r0, [sp, #0xc] sub r1, r2, r1 - bl sub_02013B68 + bl FUN_02013B68 cmp r0, #0x0 beq _020890AA ldrh r3, [r5, #0x0] @@ -253867,8 +253867,8 @@ _020890B4: _020890BC: .word 0x00000189 _020890C0: .word 0x0000189E - thumb_func_start sub_020890C4 -sub_020890C4: ; 0x020890C4 + thumb_func_start FUN_020890C4 +FUN_020890C4: ; 0x020890C4 push {r4-r7, lr} sub sp, #0x14 str r0, [sp, #0x0] @@ -253876,11 +253876,11 @@ sub_020890C4: ; 0x020890C4 add r5, r1, #0x0 str r2, [sp, #0x4] add r4, r3, #0x0 - bl sub_0208541C + bl FUN_0208541C str r0, [sp, #0x10] ldr r0, _02089144 ; =0x00000186 mov r1, #0x0 - bl sub_02013A9C + bl FUN_02013A9C add r6, r0, #0x0 add r0, r6, #0x5 lsl r0, r0, #0x10 @@ -253900,7 +253900,7 @@ _020890F4: bhi _0208910C ldr r0, [sp, #0x10] sub r1, r1, r6 - bl sub_02013C0C + bl FUN_02013C0C cmp r0, #0x0 beq _0208912E _0208910C: @@ -253937,8 +253937,8 @@ _0208913C: _02089144: .word 0x00000186 _02089148: .word 0x0000189E - thumb_func_start sub_0208914C -sub_0208914C: ; 0x0208914C + thumb_func_start FUN_0208914C +FUN_0208914C: ; 0x0208914C push {r3-r7, lr} add r6, r0, #0x0 mov r0, #0x0 @@ -254009,8 +254009,8 @@ _020891C2: _020891C8: .word 0x0000FFFE _020891CC: .word 0x0000189E - thumb_func_start sub_020891D0 -sub_020891D0: ; 0x020891D0 + thumb_func_start FUN_020891D0 +FUN_020891D0: ; 0x020891D0 push {r3-r7, lr} add r7, r0, #0x0 mov r4, #0x0 @@ -254026,7 +254026,7 @@ _020891DC: add r0, r7, #0x0 add r2, r7, r2 add r3, r4, #0x0 - bl sub_02089218 + bl FUN_02089218 ldr r1, _02089214 ; =0x00000C18 add r6, r6, #0x4 str r0, [r5, r1] @@ -254045,8 +254045,8 @@ _0208920C: .word 0x020FDDF0 _02089210: .word 0x00000C84 _02089214: .word 0x00000C18 - thumb_func_start sub_02089218 -sub_02089218: ; 0x02089218 + thumb_func_start FUN_02089218 +FUN_02089218: ; 0x02089218 push {r3-r7, lr} add r7, r1, #0x0 add r6, r0, #0x0 @@ -254140,15 +254140,15 @@ _020892B8: .word 0x0000FFFF _020892BC: .word 0x0000FFFE _020892C0: .word 0x0000189E - thumb_func_start sub_020892C4 -sub_020892C4: ; 0x020892C4 + thumb_func_start FUN_020892C4 +FUN_020892C4: ; 0x020892C4 lsl r1, r1, #0x2 add r0, r0, r1 ldr r0, [r0, #0x8] bx lr - thumb_func_start sub_020892CC -sub_020892CC: ; 0x020892CC + thumb_func_start FUN_020892CC +FUN_020892CC: ; 0x020892CC push {r4, lr} add r4, r0, #0x0 lsl r1, r1, #0x2 @@ -254161,12 +254161,12 @@ sub_020892CC: ; 0x020892CC add r1, #0x68 ldrh r1, [r1, #0x0] add r2, r3, #0x0 - bl sub_02013A30 + bl FUN_02013A30 pop {r4, pc} .balign 4 - thumb_func_start sub_020892EC -sub_020892EC: ; 0x020892EC + thumb_func_start FUN_020892EC +FUN_020892EC: ; 0x020892EC lsl r1, r1, #0x2 add r1, r0, r1 ldr r1, [r1, #0x38] @@ -254178,8 +254178,8 @@ sub_020892EC: ; 0x020892EC bx lr .balign 4 - thumb_func_start sub_02089300 -sub_02089300: ; 0x02089300 + thumb_func_start FUN_02089300 +FUN_02089300: ; 0x02089300 lsl r1, r1, #0x2 add r1, r0, r1 ldr r0, _0208930C ; =0x00000C18 @@ -254188,8 +254188,8 @@ sub_02089300: ; 0x02089300 nop _0208930C: .word 0x00000C18 - thumb_func_start sub_02089310 -sub_02089310: ; 0x02089310 + thumb_func_start FUN_02089310 +FUN_02089310: ; 0x02089310 push {r4-r6, lr} add r4, r3, #0x0 add r5, r0, #0x0 @@ -254199,18 +254199,18 @@ sub_02089310: ; 0x02089310 ldr r3, [r6, r3] cmp r3, #0x0 beq _02089330 - bl sub_02089338 + bl FUN_02089338 add r1, r0, #0x0 ldr r0, [r5, #0x4] add r2, r4, #0x0 - bl sub_02013A30 + bl FUN_02013A30 _02089330: pop {r4-r6, pc} nop _02089334: .word 0x00000C18 - thumb_func_start sub_02089338 -sub_02089338: ; 0x02089338 + thumb_func_start FUN_02089338 +FUN_02089338: ; 0x02089338 push {r3-r4} lsl r1, r1, #0x2 ldr r3, _02089360 ; =0x00000C18 @@ -254236,8 +254236,8 @@ _0208935A: _02089360: .word 0x00000C18 _02089364: .word 0x0000FFFF - thumb_func_start sub_02089368 -sub_02089368: ; 0x02089368 + thumb_func_start FUN_02089368 +FUN_02089368: ; 0x02089368 push {r3-r6} mov r1, #0x0 ldr r2, _0208938C ; =0x020FF2FC @@ -254261,8 +254261,8 @@ _02089374: _0208938C: .word 0x020FF2FC _02089390: .word 0x020FE17C - thumb_func_start sub_02089394 -sub_02089394: ; 0x02089394 + thumb_func_start FUN_02089394 +FUN_02089394: ; 0x02089394 push {r4-r7} mov r2, #0x0 ldr r3, _020893D8 ; =0x020FF2FC @@ -254305,8 +254305,8 @@ _020893C8: _020893D8: .word 0x020FF2FC _020893DC: .word 0x020FE17C - thumb_func_start sub_020893E0 -sub_020893E0: ; 0x020893E0 + thumb_func_start FUN_020893E0 +FUN_020893E0: ; 0x020893E0 mov r1, #0x0 ldr r0, _020893EC ; =0x02106154 mvn r1, r1 @@ -254315,8 +254315,8 @@ sub_020893E0: ; 0x020893E0 nop _020893EC: .word 0x02106154 - thumb_func_start sub_020893F0 -sub_020893F0: ; 0x020893F0 + thumb_func_start FUN_020893F0 +FUN_020893F0: ; 0x020893F0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x3 @@ -254325,19 +254325,19 @@ sub_020893F0: ; 0x020893F0 bhs _0208940A add r0, r1, #0x0 ldr r1, _02089410 ; =0x021C5C58 - blx sub_020CE210 + blx FUN_020CE210 ldr r0, _02089414 ; =0x02106154 str r4, [r0, #0x0] pop {r4, pc} _0208940A: - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} .balign 4 _02089410: .word 0x021C5C58 _02089414: .word 0x02106154 - thumb_func_start sub_02089418 -sub_02089418: ; 0x02089418 + thumb_func_start FUN_02089418 +FUN_02089418: ; 0x02089418 push {r3, lr} mov r3, #0x3 lsl r3, r3, #0xc @@ -254348,11 +254348,11 @@ sub_02089418: ; 0x02089418 cmp r0, r3 bne _02089438 ldr r0, _02089440 ; =0x021C5C58 - blx sub_020CE210 + blx FUN_020CE210 mov r0, #0x1 pop {r3, pc} _02089434: - bl sub_02020C2C + bl FUN_02020C2C _02089438: mov r0, #0x0 pop {r3, pc} @@ -254360,8 +254360,8 @@ _02089438: _0208943C: .word 0x02106154 _02089440: .word 0x021C5C58 - thumb_func_start sub_02089444 -sub_02089444: ; 0x02089444 + thumb_func_start FUN_02089444 +FUN_02089444: ; 0x02089444 push {r4, lr} add r4, r0, #0x0 mov r0, #0x3 @@ -254370,19 +254370,19 @@ sub_02089444: ; 0x02089444 bhs _0208945E add r0, r1, #0x0 ldr r1, _02089464 ; =0x021C5C58 - blx sub_020CE28C + blx FUN_020CE28C ldr r0, _02089468 ; =0x02106154 str r4, [r0, #0x0] pop {r4, pc} _0208945E: - bl sub_02020C2C + bl FUN_02020C2C pop {r4, pc} .balign 4 _02089464: .word 0x021C5C58 _02089468: .word 0x02106154 - thumb_func_start sub_0208946C -sub_0208946C: ; 0x0208946C + thumb_func_start FUN_0208946C +FUN_0208946C: ; 0x0208946C push {r3, lr} mov r3, #0x3 lsl r3, r3, #0xc @@ -254393,11 +254393,11 @@ sub_0208946C: ; 0x0208946C cmp r0, r3 bne _0208948C ldr r0, _02089494 ; =0x021C5C58 - blx sub_020CE28C + blx FUN_020CE28C mov r0, #0x1 pop {r3, pc} _02089488: - bl sub_02020C2C + bl FUN_02020C2C _0208948C: mov r0, #0x0 pop {r3, pc} @@ -254405,41 +254405,41 @@ _0208948C: _02089490: .word 0x02106154 _02089494: .word 0x021C5C58 - thumb_func_start sub_02089498 -sub_02089498: ; 0x02089498 + thumb_func_start FUN_02089498 +FUN_02089498: ; 0x02089498 push {r3-r5, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x58 lsl r2, r2, #0x10 - bl sub_0201681C + bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x38 mov r2, #0x58 - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x38 add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x58 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r0, [r0, #0x8] str r0, [r4, #0x30] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_020894D4 -sub_020894D4: ; 0x020894D4 + thumb_func_start FUN_020894D4 +FUN_020894D4: ; 0x020894D4 push {r3-r6, lr} sub sp, #0xc add r5, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r5, #0x0] add r4, r0, #0x0 mov r6, #0x0 @@ -254457,25 +254457,25 @@ sub_020894D4: ; 0x020894D4 lsl r6, r0, #0x3 ldr r0, _020895E0 ; =0x00000495 add r1, r6, #0x0 - bl sub_02005350 + bl FUN_02005350 add r0, r6, #0x0 - bl sub_0200516C + bl FUN_0200516C add r0, r6, #0x0 - bl sub_0200415C + bl FUN_0200415C add r0, r6, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 add r1, r6, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 add r0, r6, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r6, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -254488,15 +254488,15 @@ sub_020894D4: ; 0x020894D4 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C add r0, r4, #0x0 - bl sub_0208961C + bl FUN_0208961C add r0, r4, #0x0 - bl sub_02089734 - ldr r0, _020895EC ; =sub_02089610 + bl FUN_02089734 + ldr r0, _020895EC ; =FUN_02089610 add r1, r4, #0x0 - bl sub_02015F10 - bl sub_0201E788 + bl FUN_02015F10 + bl FUN_0201E788 mov r0, #0x6 mov r1, #0x1 str r0, [sp, #0x0] @@ -254506,7 +254506,7 @@ sub_020894D4: ; 0x020894D4 str r0, [sp, #0x8] add r0, r6, #0x0 add r3, r0, #0x0 - bl sub_0200E1D0 + bl FUN_0200E1D0 mov r0, #0x1 str r0, [r5, #0x0] b _020895DA @@ -254525,33 +254525,33 @@ _020895DA: _020895E0: .word 0x00000495 _020895E4: .word 0xFFFFE0FF _020895E8: .word 0x04001000 -_020895EC: .word sub_02089610 + 1 +_020895EC: .word FUN_02089610 + 1 - thumb_func_start sub_020895F0 -sub_020895F0: ; 0x020895F0 + thumb_func_start FUN_020895F0 +FUN_020895F0: ; 0x020895F0 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r4, [r0, #0x0] add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C add r0, r4, #0x0 - bl sub_020168D0 + bl FUN_020168D0 mov r0, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 mov r0, #0x1 pop {r3-r5, pc} - thumb_func_start sub_02089610 -sub_02089610: ; 0x02089610 - ldr r3, _02089618 ; =sub_0201AB60 + thumb_func_start FUN_02089610 +FUN_02089610: ; 0x02089610 + ldr r3, _02089618 ; =FUN_0201AB60 ldr r0, [r0, #0x14] bx r3 nop -_02089618: .word sub_0201AB60 + 1 +_02089618: .word FUN_0201AB60 + 1 - thumb_func_start sub_0208961C -sub_0208961C: ; 0x0208961C + thumb_func_start FUN_0208961C +FUN_0208961C: ; 0x0208961C push {r4-r5, lr} sub sp, #0x5c ldr r5, _020896C8 ; =0x020FF340 @@ -254564,9 +254564,9 @@ _02089628: sub r2, r2, #0x1 bne _02089628 add r0, sp, #0x34 - bl sub_0201E66C + bl FUN_0201E66C ldr r0, [r4, #0x0] - bl sub_02016B94 + bl FUN_02016B94 add r3, sp, #0x24 ldr r5, _020896CC ; =0x020FF314 str r0, [r4, #0x14] @@ -254576,7 +254576,7 @@ _02089628: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _020896D0 ; =0x020FF324 add r3, sp, #0x8 ldmia r5!, {r0-r1} @@ -254591,10 +254591,10 @@ _02089628: str r0, [r3, #0x0] ldr r0, [r4, #0x14] add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r0, [r4, #0x14] mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] @@ -254602,7 +254602,7 @@ _02089628: str r0, [sp, #0x4] ldr r0, [r4, #0x14] mov r3, #0x2 - bl sub_0200CD68 + bl FUN_0200CD68 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] @@ -254610,22 +254610,22 @@ _02089628: str r0, [sp, #0x4] ldr r0, [r4, #0x14] mov r3, #0x3 - bl sub_0200CB00 + bl FUN_0200CB00 ldr r2, [r4, #0x0] mov r0, #0x0 mov r1, #0x20 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 ldr r3, [r4, #0x0] mov r1, #0x20 add r2, r0, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _020896DC ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _020896DC ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 add sp, #0x5c pop {r4-r5, pc} .balign 4 @@ -254636,43 +254636,43 @@ _020896D4: .word 0x000001E2 _020896D8: .word 0x000001D9 _020896DC: .word 0x00006C21 - thumb_func_start sub_020896E0 -sub_020896E0: ; 0x020896E0 + thumb_func_start FUN_020896E0 +FUN_020896E0: ; 0x020896E0 push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x1 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x2 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x3 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x4 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x5 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x6 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x7 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C ldr r0, [r4, #0x14] mov r1, #0x0 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x14] - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02089734 -sub_02089734: ; 0x02089734 + thumb_func_start FUN_02089734 +FUN_02089734: ; 0x02089734 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -254680,16 +254680,16 @@ sub_02089734: ; 0x02089734 mov r0, #0x1 mov r1, #0x1a mov r2, #0x4 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x18] - bl sub_0201BD5C + bl FUN_0201BD5C mov r0, #0x0 str r0, [r4, #0x8] add r1, r4, #0x0 ldr r0, [r4, #0x14] ldr r2, _02089778 ; =0x020FF304 add r1, #0x1c - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 @@ -254699,25 +254699,25 @@ sub_02089734: ; 0x02089734 add r0, r4, #0x0 mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add sp, #0x8 pop {r4, pc} nop _02089778: .word 0x020FF304 - thumb_func_start sub_0208977C -sub_0208977C: ; 0x0208977C + thumb_func_start FUN_0208977C +FUN_0208977C: ; 0x0208977C push {r4, lr} add r4, r0, #0x0 add r0, #0x1c - bl sub_02019178 + bl FUN_02019178 ldr r0, [r4, #0x18] - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4, pc} .balign 4 - thumb_func_start sub_02089790 -sub_02089790: ; 0x02089790 + thumb_func_start FUN_02089790 +FUN_02089790: ; 0x02089790 push {r3-r5, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -254741,7 +254741,7 @@ sub_02089790: ; 0x02089790 add r1, r5, #0x0 mov r2, #0x1 mov r3, #0x4 - bl sub_0208989C + bl FUN_0208989C cmp r0, #0x1 bne _02089888 mov r0, #0x1 @@ -254752,7 +254752,7 @@ sub_02089790: ; 0x02089790 ldr r0, [r4, #0x14] ldr r2, _02089894 ; =0x000001D9 mov r3, #0x3 - bl sub_020020EC + bl FUN_020020EC str r0, [r4, #0x2c] mov r0, #0x1 str r0, [r4, #0x4] @@ -254779,8 +254779,8 @@ _02089894: .word 0x000001D9 _02089898: .byte 0xE2, 0x01, 0x00, 0x00 - thumb_func_start sub_0208989C -sub_0208989C: ; 0x0208989C + thumb_func_start FUN_0208989C +FUN_0208989C: ; 0x0208989C push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -254805,22 +254805,22 @@ _020898B8: mov r1, #0xf add r2, r6, #0x0 add r3, r6, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add r0, r5, #0x0 ldr r2, _02089958 ; =0x000001E2 add r0, #0x1c add r1, r6, #0x0 mov r3, #0x2 - bl sub_0200D0BC + bl FUN_0200D0BC mov r0, #0x1 ldr r1, [r5, #0x0] lsl r0, r0, #0xa - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x10] ldr r0, [r5, #0x18] ldr r2, [r5, #0x10] add r1, r7, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r3, r6, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] @@ -254829,12 +254829,12 @@ _020898B8: ldr r2, [r5, #0x10] add r0, #0x1c mov r1, #0x1 - bl sub_0201BD84 + bl FUN_0201BD84 str r0, [r5, #0xc] cmp r4, #0x0 bne _02089918 ldr r0, [r5, #0x10] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r5, #0x8] add r0, r0, #0x1 str r0, [r5, #0x8] @@ -254847,11 +254847,11 @@ _02089920: ldr r0, [r5, #0xc] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _02089950 ldr r0, [r5, #0x10] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r5, #0x8] add r0, r0, #0x1 str r0, [r5, #0x8] @@ -254876,40 +254876,40 @@ _02089950: _02089958: .word 0x000001E2 _0208995C: .word 0x021C48B8 - thumb_func_start sub_02089960 -sub_02089960: ; 0x02089960 + thumb_func_start FUN_02089960 +FUN_02089960: ; 0x02089960 push {r3-r5, lr} mov r2, #0x2 add r5, r0, #0x0 mov r0, #0x3 mov r1, #0x58 lsl r2, r2, #0x10 - bl sub_0201681C + bl FUN_0201681C add r0, r5, #0x0 mov r1, #0x3c mov r2, #0x58 - bl sub_02006268 + bl FUN_02006268 mov r1, #0x0 mov r2, #0x3c add r4, r0, #0x0 - blx sub_020DF4A4 + blx FUN_020DF4A4 mov r0, #0x58 str r0, [r4, #0x0] mov r0, #0x0 str r0, [r4, #0x4] add r0, r5, #0x0 - bl sub_0200628C + bl FUN_0200628C ldr r0, [r0, #0x8] str r0, [r4, #0x34] mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0208999C -sub_0208999C: ; 0x0208999C + thumb_func_start FUN_0208999C +FUN_0208999C: ; 0x0208999C push {r4-r6, lr} add r5, r1, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r1, [r5, #0x0] add r6, r0, #0x0 mov r4, #0x0 @@ -254923,18 +254923,18 @@ sub_0208999C: ; 0x0208999C _020899B8: add r0, r4, #0x0 add r1, r4, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 add r1, r4, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 add r0, r4, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 add r0, r4, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -254947,29 +254947,29 @@ _020899B8: str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C add r0, r6, #0x0 - bl sub_02089A6C + bl FUN_02089A6C add r0, r6, #0x0 - bl sub_02089B80 - bl sub_0201E788 + bl FUN_02089B80 + bl FUN_0201E788 mov r0, #0x1 str r0, [r5, #0x0] b _02089A34 _02089A12: - bl sub_02089BE0 + bl FUN_02089BE0 cmp r0, #0x1 bne _02089A34 mov r0, #0x2 str r0, [r5, #0x0] b _02089A34 _02089A20: - bl sub_02089BCC + bl FUN_02089BCC add r0, r6, #0x0 - bl sub_02089B2C + bl FUN_02089B2C add r0, r4, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r4, #0x1 _02089A34: add r0, r4, #0x0 @@ -254978,27 +254978,27 @@ _02089A34: _02089A38: .word 0xFFFFE0FF _02089A3C: .word 0x04001000 - thumb_func_start sub_02089A40 -sub_02089A40: ; 0x02089A40 + thumb_func_start FUN_02089A40 +FUN_02089A40: ; 0x02089A40 push {r3-r5, lr} add r5, r0, #0x0 - bl sub_02006278 + bl FUN_02006278 ldr r4, [r0, #0x0] add r0, r5, #0x0 - bl sub_0200627C + bl FUN_0200627C add r0, r4, #0x0 - bl sub_020168D0 + bl FUN_020168D0 ldr r0, _02089A64 ; =0x00000053 ldr r1, _02089A68 ; =0x0223A360 - bl sub_02000E7C + bl FUN_02000E7C mov r0, #0x1 pop {r3-r5, pc} nop _02089A64: .word 0x00000053 _02089A68: .word 0x0223A360 - thumb_func_start sub_02089A6C -sub_02089A6C: ; 0x02089A6C + thumb_func_start FUN_02089A6C +FUN_02089A6C: ; 0x02089A6C push {r4-r5, lr} sub sp, #0x5c ldr r5, _02089B18 ; =0x020FF3AC @@ -255011,9 +255011,9 @@ _02089A78: sub r2, r2, #0x1 bne _02089A78 add r0, sp, #0x34 - bl sub_0201E66C + bl FUN_0201E66C ldr r0, [r4, #0x0] - bl sub_02016B94 + bl FUN_02016B94 add r3, sp, #0x24 ldr r5, _02089B1C ; =0x020FF380 str r0, [r4, #0x18] @@ -255023,7 +255023,7 @@ _02089A78: ldmia r5!, {r0-r1} stmia r3!, {r0-r1} add r0, r2, #0x0 - bl sub_02016BBC + bl FUN_02016BBC ldr r5, _02089B20 ; =0x020FF390 add r3, sp, #0x8 ldmia r5!, {r0-r1} @@ -255038,10 +255038,10 @@ _02089A78: str r0, [r3, #0x0] ldr r0, [r4, #0x18] add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r0, [r4, #0x18] mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] @@ -255049,7 +255049,7 @@ _02089A78: str r0, [sp, #0x4] ldr r0, [r4, #0x18] mov r3, #0x2 - bl sub_0200CD68 + bl FUN_0200CD68 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [r4, #0x0] @@ -255057,22 +255057,22 @@ _02089A78: str r0, [sp, #0x4] ldr r0, [r4, #0x18] mov r3, #0x3 - bl sub_0200CB00 + bl FUN_0200CB00 ldr r2, [r4, #0x0] mov r0, #0x0 mov r1, #0x20 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 ldr r3, [r4, #0x0] mov r1, #0x20 add r2, r0, #0x0 - bl sub_02017F18 + bl FUN_02017F18 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x4 mov r1, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 add sp, #0x5c pop {r4-r5, pc} .balign 4 @@ -255082,43 +255082,43 @@ _02089B20: .word 0x020FF390 _02089B24: .word 0x000001E2 _02089B28: .word 0x000001D9 - thumb_func_start sub_02089B2C -sub_02089B2C: ; 0x02089B2C + thumb_func_start FUN_02089B2C +FUN_02089B2C: ; 0x02089B2C push {r4, lr} add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x1 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x2 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x3 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x4 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x5 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x6 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C mov r0, #0x7 mov r1, #0x0 - bl sub_0201797C + bl FUN_0201797C ldr r0, [r4, #0x18] mov r1, #0x0 - bl sub_020178A0 + bl FUN_020178A0 ldr r0, [r4, #0x18] - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} - thumb_func_start sub_02089B80 -sub_02089B80: ; 0x02089B80 + thumb_func_start FUN_02089B80 +FUN_02089B80: ; 0x02089B80 push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -255126,16 +255126,16 @@ sub_02089B80: ; 0x02089B80 ldr r3, [r4, #0x0] mov r0, #0x1 mov r1, #0x1a - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x1c] - bl sub_0201BD5C + bl FUN_0201BD5C mov r0, #0x0 str r0, [r4, #0xc] add r1, r4, #0x0 ldr r0, [r4, #0x18] ldr r2, _02089BC8 ; =0x020FF378 add r1, #0x20 - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd8 str r0, [sp, #0x0] mov r0, #0x20 @@ -255145,26 +255145,26 @@ sub_02089B80: ; 0x02089B80 add r0, r4, #0x0 mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add sp, #0x8 pop {r4, pc} nop _02089BC4: .word 0x00000167 _02089BC8: .word 0x020FF378 - thumb_func_start sub_02089BCC -sub_02089BCC: ; 0x02089BCC + thumb_func_start FUN_02089BCC +FUN_02089BCC: ; 0x02089BCC push {r4, lr} add r4, r0, #0x0 add r0, #0x20 - bl sub_02019178 + bl FUN_02019178 ldr r0, [r4, #0x1c] - bl sub_0200A8B8 + bl FUN_0200A8B8 pop {r4, pc} .balign 4 - thumb_func_start sub_02089BE0 -sub_02089BE0: ; 0x02089BE0 + thumb_func_start FUN_02089BE0 +FUN_02089BE0: ; 0x02089BE0 push {r4-r5, lr} sub sp, #0xc add r4, r0, #0x0 @@ -255185,7 +255185,7 @@ sub_02089BE0: ; 0x02089BE0 lsl r6, r4, #0x2 lsl r4, r0, #0x3 ldr r0, [r4, #0x34] - bl sub_02022800 + bl FUN_02022800 cmp r0, #0x3 bhi _02089CC2 add r0, r0, r0 @@ -255220,8 +255220,8 @@ _02089CC2: _02089CC8: .byte 0x21, 0x6C, 0x00, 0x00 - thumb_func_start sub_02089CCC -sub_02089CCC: ; 0x02089CCC + thumb_func_start FUN_02089CCC +FUN_02089CCC: ; 0x02089CCC push {r4-r7, lr} sub sp, #0xc add r5, r0, #0x0 @@ -255246,22 +255246,22 @@ _02089CE8: mov r1, #0xf add r2, r6, #0x0 add r3, r6, #0x0 - bl sub_020196F4 + bl FUN_020196F4 add r0, r5, #0x0 ldr r2, _02089D88 ; =0x000001E2 add r0, #0x20 add r1, r6, #0x0 mov r3, #0x2 - bl sub_0200D0BC + bl FUN_0200D0BC mov r0, #0x1 ldr r1, [r5, #0x0] lsl r0, r0, #0xa - bl sub_020219F4 + bl FUN_020219F4 str r0, [r5, #0x14] ldr r0, [r5, #0x1c] ldr r2, [r5, #0x14] add r1, r7, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 add r3, r6, #0x0 str r3, [sp, #0x0] str r4, [sp, #0x4] @@ -255270,12 +255270,12 @@ _02089CE8: ldr r2, [r5, #0x14] add r0, #0x20 mov r1, #0x1 - bl sub_0201BD84 + bl FUN_0201BD84 str r0, [r5, #0x10] cmp r4, #0x0 bne _02089D48 ldr r0, [r5, #0x14] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -255288,11 +255288,11 @@ _02089D50: ldr r0, [r5, #0x10] lsl r0, r0, #0x18 lsr r0, r0, #0x18 - bl sub_0201BD70 + bl FUN_0201BD70 cmp r0, #0x0 bne _02089D80 ldr r0, [r5, #0x14] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r5, #0xc] add r0, r0, #0x1 str r0, [r5, #0xc] @@ -255317,25 +255317,25 @@ _02089D80: _02089D88: .word 0x000001E2 _02089D8C: .word 0x021C48B8 - thumb_func_start sub_02089D90 -sub_02089D90: ; 0x02089D90 + thumb_func_start FUN_02089D90 +FUN_02089D90: ; 0x02089D90 push {r3-r6, lr} sub sp, #0x1c add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -255348,11 +255348,11 @@ sub_02089D90: ; 0x02089D90 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _02089EFC ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _02089F00 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] @@ -255368,58 +255368,58 @@ sub_02089D90: ; 0x02089D90 and r0, r1 str r0, [r2, #0x0] ldr r0, _02089F0C ; =0x020FF418 - bl sub_0201E66C + bl FUN_0201E66C add r0, r4, #0x0 - bl sub_02016B94 + bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _02089F10 ; =0x020FF3EC - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r2, _02089F14 ; =0x020FF3FC add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _02089F18 ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _02089F1C ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _02089F1C ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x5 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 - bl sub_0201BD5C + bl FUN_0201BD5C ldr r2, _02089F20 ; =0x020FF3E4 add r0, r5, #0x0 add r1, sp, #0xc - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -255428,16 +255428,16 @@ sub_02089D90: ; 0x02089D90 add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _02089F18 ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r6, #0x0 mov r1, #0x0 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -255445,24 +255445,24 @@ sub_02089D90: ; 0x02089D90 add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 + bl FUN_0200A274 mov r4, #0x1 _02089EE4: - bl sub_02000FE8 + bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _02089EE4 nop _02089EF4: .word 0xFFFFE0FF @@ -255478,25 +255478,25 @@ _02089F18: .word 0x000001F7 _02089F1C: .word 0x00006C21 _02089F20: .word 0x020FF3E4 - thumb_func_start sub_02089F24 -sub_02089F24: ; 0x02089F24 + thumb_func_start FUN_02089F24 +FUN_02089F24: ; 0x02089F24 push {r3-r6, lr} sub sp, #0x1c add r4, r0, #0x0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -255509,11 +255509,11 @@ sub_02089F24: ; 0x02089F24 str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _0208A090 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _0208A094 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] @@ -255529,58 +255529,58 @@ sub_02089F24: ; 0x02089F24 and r0, r1 str r0, [r2, #0x0] ldr r0, _0208A0A0 ; =0x020FF418 - bl sub_0201E66C + bl FUN_0201E66C add r0, r4, #0x0 - bl sub_02016B94 + bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _0208A0A4 ; =0x020FF3EC - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r2, _0208A0A8 ; =0x020FF3FC add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _0208A0AC ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _0208A0B0 ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _0208A0B0 ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x5 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r6, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 - bl sub_0201BD5C + bl FUN_0201BD5C ldr r2, _0208A0B4 ; =0x020FF3E4 add r0, r5, #0x0 add r1, sp, #0xc - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -255589,16 +255589,16 @@ sub_02089F24: ; 0x02089F24 add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _0208A0AC ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r6, #0x0 mov r1, #0x1 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -255606,24 +255606,24 @@ sub_02089F24: ; 0x02089F24 add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 + bl FUN_0200A274 mov r4, #0x1 _0208A078: - bl sub_02000FE8 + bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _0208A078 nop _0208A088: .word 0xFFFFE0FF @@ -255639,8 +255639,8 @@ _0208A0AC: .word 0x000001F7 _0208A0B0: .word 0x00006C21 _0208A0B4: .word 0x020FF3E4 - thumb_func_start sub_0208A0B8 -sub_0208A0B8: ; 0x0208A0B8 + thumb_func_start FUN_0208A0B8 +FUN_0208A0B8: ; 0x0208A0B8 push {r4-r7, lr} sub sp, #0x1c add r4, r0, #0x0 @@ -255653,19 +255653,19 @@ _0208A0C6: _0208A0C8: mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 - bl sub_02015EF4 + bl FUN_0200E3A0 + bl FUN_02015EF4 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -255678,11 +255678,11 @@ _0208A0C8: str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _0208A230 ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _0208A234 ; =0x04000050 mov r1, #0x0 strh r1, [r3, #0x0] @@ -255698,58 +255698,58 @@ _0208A0C8: and r1, r2 str r1, [r0, #0x0] ldr r0, _0208A240 ; =0x020FF474 - bl sub_0201E66C + bl FUN_0201E66C add r0, r4, #0x0 - bl sub_02016B94 + bl FUN_02016B94 add r5, r0, #0x0 ldr r0, _0208A244 ; =0x020FF448 - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r2, _0208A248 ; =0x020FF458 add r0, r5, #0x0 add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 add r0, r5, #0x0 mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r2, _0208A24C ; =0x000001F7 add r0, r5, #0x0 mov r3, #0x2 str r4, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r4, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r4, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _0208A250 ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _0208A250 ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0x6 add r3, r4, #0x0 - bl sub_0200A86C + bl FUN_0200A86C add r7, r0, #0x0 mov r0, #0x6 lsl r0, r0, #0x6 add r1, r4, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 - bl sub_0201BD5C + bl FUN_0201BD5C ldr r2, _0208A254 ; =0x020FF440 add r0, r5, #0x0 add r1, sp, #0xc - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -255758,16 +255758,16 @@ _0208A0C8: add r0, sp, #0xc mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _0208A24C ; =0x000001F7 add r0, sp, #0xc mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 add r0, r7, #0x0 add r1, r6, #0x0 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -255775,24 +255775,24 @@ _0208A0C8: add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 + bl FUN_0200A274 mov r4, #0x1 _0208A21A: - bl sub_02000FE8 + bl FUN_02000FE8 add r0, r4, #0x0 add r1, r4, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _0208A21A .balign 4 _0208A228: .word 0xFFFFE0FF @@ -255808,14 +255808,14 @@ _0208A24C: .word 0x000001F7 _0208A250: .word 0x00006C21 _0208A254: .word 0x020FF440 - thumb_func_start sub_0208A258 -sub_0208A258: ; 0x0208A258 + thumb_func_start FUN_0208A258 +FUN_0208A258: ; 0x0208A258 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r0, _0208A290 ; =0x0000022F ldrb r0, [r4, r0] @@ -255827,62 +255827,62 @@ sub_0208A258: ; 0x0208A258 _0208A278: add r0, r6, #0x0 add r1, r4, #0x0 - bl sub_0208A294 + bl FUN_0208A294 ldr r1, _0208A290 ; =0x0000022F strb r0, [r4, r1] b _0208A28C _0208A286: add r0, r5, #0x0 - bl sub_0208A2C4 + bl FUN_0208A2C4 _0208A28C: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _0208A290: .word 0x0000022F - thumb_func_start sub_0208A294 -sub_0208A294: ; 0x0208A294 + thumb_func_start FUN_0208A294 +FUN_0208A294: ; 0x0208A294 push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 - bl sub_0204647C + bl FUN_0204647C cmp r0, #0x0 beq _0208A2A6 mov r0, #0x10 pop {r3-r5, pc} _0208A2A6: ldr r0, [r4, #0x4] - bl sub_0206E394 + bl FUN_0206E394 mov r1, #0x9 lsl r1, r1, #0x6 strb r0, [r4, r1] ldr r0, [r4, #0x4] - bl sub_02016A18 + bl FUN_02016A18 add r0, r5, #0x0 - bl sub_0204649C + bl FUN_0204649C mov r0, #0x11 pop {r3-r5, pc} .balign 4 - thumb_func_start sub_0208A2C4 -sub_0208A2C4: ; 0x0208A2C4 + thumb_func_start FUN_0208A2C4 +FUN_0208A2C4: ; 0x0208A2C4 push {r4-r6, lr} add r5, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r6, r0, #0x0 add r0, r5, #0x0 - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 add r0, r6, #0x0 - bl sub_020464A4 + bl FUN_020464A4 cmp r0, #0x0 beq _0208A2F6 mov r0, #0x1 - bl sub_021D7CA4 + bl FUN_021D7CA4 ldr r1, _0208A2F8 ; =0x0223D4AD add r0, r5, #0x0 add r2, r4, #0x0 - bl sub_020463EC + bl FUN_020463EC ldr r0, _0208A2FC ; =0x0000022F mov r1, #0x12 strb r1, [r4, r0] @@ -255892,11 +255892,11 @@ _0208A2F6: _0208A2F8: .word 0x0223D4AD _0208A2FC: .word 0x0000022F - thumb_func_start sub_0208A300 -sub_0208A300: ; 0x0208A300 + thumb_func_start FUN_0208A300 +FUN_0208A300: ; 0x0208A300 push {r3, lr} mov r1, #0x8 - bl sub_02016998 + bl FUN_02016998 mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] @@ -255910,162 +255910,162 @@ sub_0208A300: ; 0x0208A300 str r1, [r0, #0x4] pop {r3, pc} - thumb_func_start sub_0208A320 -sub_0208A320: ; 0x0208A320 - ldr r3, _0208A324 ; =sub_02016A18 + thumb_func_start FUN_0208A320 +FUN_0208A320: ; 0x0208A320 + ldr r3, _0208A324 ; =FUN_02016A18 bx r3 .balign 4 -_0208A324: .word sub_02016A18 + 1 +_0208A324: .word FUN_02016A18 + 1 - thumb_func_start sub_0208A328 -sub_0208A328: ; 0x0208A328 + thumb_func_start FUN_0208A328 +FUN_0208A328: ; 0x0208A328 ldr r0, [r0, #0x0] bx lr - thumb_func_start sub_0208A32C -sub_0208A32C: ; 0x0208A32C + thumb_func_start FUN_0208A32C +FUN_0208A32C: ; 0x0208A32C str r1, [r0, #0x0] bx lr - thumb_func_start sub_0208A330 -sub_0208A330: ; 0x0208A330 + thumb_func_start FUN_0208A330 +FUN_0208A330: ; 0x0208A330 ldr r0, [r0, #0x4] bx lr - thumb_func_start sub_0208A334 -sub_0208A334: ; 0x0208A334 + thumb_func_start FUN_0208A334 +FUN_0208A334: ; 0x0208A334 str r1, [r0, #0x4] bx lr - thumb_func_start sub_0208A338 -sub_0208A338: ; 0x0208A338 + thumb_func_start FUN_0208A338 +FUN_0208A338: ; 0x0208A338 push {r4-r6, lr} add r6, r0, #0x0 - bl sub_02046528 + bl FUN_02046528 add r5, r0, #0x0 mov r0, #0x20 mov r1, #0x6c - bl sub_02016998 + bl FUN_02016998 add r4, r0, #0x0 mov r0, #0x19 str r5, [r4, #0x0] lsl r0, r0, #0x4 mov r1, #0x20 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x4] mov r0, #0x19 lsl r0, r0, #0x4 mov r1, #0x20 - bl sub_020219F4 + bl FUN_020219F4 str r0, [r4, #0x8] mov r0, #0x20 - bl sub_0200AA80 + bl FUN_0200AA80 str r0, [r4, #0xc] ldr r2, _0208A3C0 ; =0x00000171 mov r0, #0x1 mov r1, #0x1a mov r3, #0x20 - bl sub_0200A86C + bl FUN_0200A86C str r0, [r4, #0x10] mov r0, #0x20 - bl sub_02013690 + bl FUN_02013690 str r0, [r4, #0x14] ldr r2, [r4, #0x0] mov r0, #0x2 ldr r2, [r2, #0xc] mov r1, #0x0 mov r3, #0x20 - bl sub_02085338 + bl FUN_02085338 str r0, [r4, #0x50] - bl sub_020853DC + bl FUN_020853DC add r0, r4, #0x0 add r0, #0x18 - bl sub_0201901C + bl FUN_0201901C add r0, r4, #0x0 add r0, #0x28 - bl sub_0201901C + bl FUN_0201901C add r0, r4, #0x0 add r0, #0x38 - bl sub_0201901C + bl FUN_0201901C mov r0, #0x0 str r0, [r4, #0x54] - ldr r1, _0208A3C4 ; =sub_0208A458 + ldr r1, _0208A3C4 ; =FUN_0208A458 add r0, r6, #0x0 add r2, r4, #0x0 - bl sub_0204640C + bl FUN_0204640C pop {r4-r6, pc} .balign 4 _0208A3C0: .word 0x00000171 -_0208A3C4: .word sub_0208A458 + 1 +_0208A3C4: .word FUN_0208A458 + 1 - thumb_func_start sub_0208A3C8 -sub_0208A3C8: ; 0x0208A3C8 + thumb_func_start FUN_0208A3C8 +FUN_0208A3C8: ; 0x0208A3C8 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x50] - bl sub_020853A8 + bl FUN_020853A8 ldr r0, [r4, #0x14] - bl sub_020136C0 + bl FUN_020136C0 ldr r0, [r4, #0x4] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0x8] - bl sub_02021A20 + bl FUN_02021A20 ldr r0, [r4, #0xc] - bl sub_0200AB18 + bl FUN_0200AB18 ldr r0, [r4, #0x10] - bl sub_0200A8B8 + bl FUN_0200A8B8 add r0, r4, #0x0 - bl sub_0208A400 + bl FUN_0208A400 add r0, r4, #0x0 - bl sub_02016A18 + bl FUN_02016A18 pop {r4, pc} .balign 4 - thumb_func_start sub_0208A400 -sub_0208A400: ; 0x0208A400 + thumb_func_start FUN_0208A400 +FUN_0208A400: ; 0x0208A400 push {r4, lr} add r4, r0, #0x0 add r0, #0x18 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 beq _0208A41E add r0, r4, #0x0 add r0, #0x18 - bl sub_02019178 + bl FUN_02019178 add r0, r4, #0x0 add r0, #0x18 - bl sub_0201901C + bl FUN_0201901C _0208A41E: add r0, r4, #0x0 add r0, #0x28 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 beq _0208A43A add r0, r4, #0x0 add r0, #0x28 - bl sub_02019178 + bl FUN_02019178 add r0, r4, #0x0 add r0, #0x28 - bl sub_0201901C + bl FUN_0201901C _0208A43A: add r0, r4, #0x0 add r0, #0x38 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 beq _0208A456 add r0, r4, #0x0 add r0, #0x38 - bl sub_02019178 + bl FUN_02019178 add r4, #0x38 add r0, r4, #0x0 - bl sub_0201901C + bl FUN_0201901C _0208A456: pop {r4, pc} - thumb_func_start sub_0208A458 -sub_0208A458: ; 0x0208A458 + thumb_func_start FUN_0208A458 +FUN_0208A458: ; 0x0208A458 push {r3-r5, lr} - bl sub_0204652C + bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x54] cmp r1, #0xd @@ -256092,7 +256092,7 @@ sub_0208A458: ; 0x0208A458 lsl r4, r1, #0x9 mov r1, #0x0 add r2, r1, #0x0 - bl sub_0208A6D4 + bl FUN_0208A6D4 mov r0, #0x1 str r0, [r4, #0x54] b _0208A6C8 @@ -256144,8 +256144,8 @@ _0208A6CC: .byte 0xFF, 0xFF, 0x00, 0x00 .byte 0xB8, 0x48, 0x1C, 0x02 - thumb_func_start sub_0208A6D4 -sub_0208A6D4: ; 0x0208A6D4 + thumb_func_start FUN_0208A6D4 +FUN_0208A6D4: ; 0x0208A6D4 push {r3-r5, lr} add r5, r0, #0x0 add r4, r5, #0x0 @@ -256154,89 +256154,89 @@ sub_0208A6D4: ; 0x0208A6D4 ldr r0, [r5, #0x10] beq _0208A6F4 ldr r2, [r5, #0x4] - bl sub_0200A8E0 + bl FUN_0200A8E0 ldr r0, [r5, #0xc] ldr r1, [r5, #0x8] ldr r2, [r5, #0x4] - bl sub_0200B7B8 + bl FUN_0200B7B8 b _0208A6FA _0208A6F4: ldr r2, [r5, #0x8] - bl sub_0200A8E0 + bl FUN_0200A8E0 _0208A6FA: add r0, r4, #0x0 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 bne _0208A722 ldr r0, [r5, #0x0] add r1, r4, #0x0 ldr r0, [r0, #0x8] mov r2, #0x3 - bl sub_020545B8 + bl FUN_020545B8 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02054608 + bl FUN_02054608 b _0208A734 _0208A722: add r0, r4, #0x0 - bl sub_0205464C + bl FUN_0205464C ldr r2, _0208A74C ; =0x000003E2 add r0, r4, #0x0 mov r1, #0x0 mov r3, #0xa - bl sub_0200D0BC + bl FUN_0200D0BC _0208A734: ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl sub_02023900 + bl FUN_02023900 add r2, r0, #0x0 ldr r1, [r5, #0x8] add r0, r4, #0x0 mov r3, #0x1 - bl sub_02054658 + bl FUN_02054658 str r0, [r5, #0x58] pop {r3-r5, pc} .balign 4 _0208A74C: .word 0x000003E2 - thumb_func_start sub_0208A750 -sub_0208A750: ; 0x0208A750 + thumb_func_start FUN_0208A750 +FUN_0208A750: ; 0x0208A750 ldr r0, [r0, #0x58] - ldr r3, _0208A75C ; =sub_020546C8 + ldr r3, _0208A75C ; =FUN_020546C8 lsl r0, r0, #0x18 lsr r0, r0, #0x18 bx r3 nop -_0208A75C: .word sub_020546C8 + 1 +_0208A75C: .word FUN_020546C8 + 1 - thumb_func_start sub_0208A760 -sub_0208A760: ; 0x0208A760 + thumb_func_start FUN_0208A760 +FUN_0208A760: ; 0x0208A760 push {r4, lr} add r4, r0, #0x0 add r4, #0x18 add r0, r4, #0x0 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 beq _0208A778 add r0, r4, #0x0 mov r1, #0x0 - bl sub_0200D0E0 + bl FUN_0200D0E0 _0208A778: pop {r4, pc} .balign 4 - thumb_func_start sub_0208A77C -sub_0208A77C: ; 0x0208A77C + thumb_func_start FUN_0208A77C +FUN_0208A77C: ; 0x0208A77C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r7, r5, #0x0 add r7, #0x28 add r0, r7, #0x0 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 bne _0208A808 mov r0, #0x0 @@ -256248,7 +256248,7 @@ sub_0208A77C: ; 0x0208A77C ldr r0, [r0, #0x8] mov r2, #0xa5 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r1, #0xd str r1, [sp, #0x0] mov r0, #0xe @@ -256263,10 +256263,10 @@ sub_0208A77C: ; 0x0208A77C ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x11 - bl sub_02019064 + bl FUN_02019064 add r0, r7, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 mov r6, #0x0 add r4, r6, #0x0 _0208A7D2: @@ -256274,7 +256274,7 @@ _0208A7D2: ldr r0, [r5, #0x10] ldr r2, [r5, #0x8] add r1, #0x9 - bl sub_0200A8E0 + bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] @@ -256284,7 +256284,7 @@ _0208A7D2: add r0, r7, #0x0 mov r1, #0x0 mov r3, #0xc - bl sub_0201BD84 + bl FUN_0201BD84 add r6, r6, #0x1 add r4, #0x10 cmp r6, #0x5 @@ -256293,7 +256293,7 @@ _0208A7D2: ldr r0, [r5, #0x14] add r1, r7, #0x0 add r3, r2, #0x0 - bl sub_020136F8 + bl FUN_020136F8 _0208A808: str r7, [r5, #0x68] mov r1, #0x0 @@ -256303,28 +256303,28 @@ _0208A808: add r0, r7, #0x0 mov r2, #0xa5 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0208A820 -sub_0208A820: ; 0x0208A820 - ldr r3, _0208A828 ; =sub_0200CCF8 + thumb_func_start FUN_0208A820 +FUN_0208A820: ; 0x0208A820 + ldr r3, _0208A828 ; =FUN_0200CCF8 add r0, #0x28 mov r1, #0x1 bx r3 .balign 4 -_0208A828: .word sub_0200CCF8 + 1 +_0208A828: .word FUN_0200CCF8 + 1 - thumb_func_start sub_0208A82C -sub_0208A82C: ; 0x0208A82C + thumb_func_start FUN_0208A82C +FUN_0208A82C: ; 0x0208A82C push {r4-r7, lr} sub sp, #0x14 add r5, r0, #0x0 add r7, r5, #0x0 add r7, #0x38 add r0, r7, #0x0 - bl sub_02019048 + bl FUN_02019048 cmp r0, #0x0 bne _0208A8B8 mov r0, #0x0 @@ -256336,7 +256336,7 @@ sub_0208A82C: ; 0x0208A82C ldr r0, [r0, #0x8] mov r2, #0xa5 mov r3, #0xb - bl sub_0200CB00 + bl FUN_0200CB00 mov r1, #0xd str r1, [sp, #0x0] mov r0, #0x6 @@ -256351,10 +256351,10 @@ sub_0208A82C: ; 0x0208A82C ldr r0, [r0, #0x8] mov r2, #0x3 mov r3, #0x19 - bl sub_02019064 + bl FUN_02019064 add r0, r7, #0x0 mov r1, #0xf - bl sub_02019620 + bl FUN_02019620 mov r6, #0x0 add r4, r6, #0x0 _0208A882: @@ -256362,7 +256362,7 @@ _0208A882: ldr r0, [r5, #0x10] ldr r2, [r5, #0x8] add r1, #0xe - bl sub_0200A8E0 + bl FUN_0200A8E0 str r4, [sp, #0x0] mov r0, #0xff str r0, [sp, #0x4] @@ -256372,7 +256372,7 @@ _0208A882: add r0, r7, #0x0 mov r1, #0x0 mov r3, #0xc - bl sub_0201BD84 + bl FUN_0201BD84 add r6, r6, #0x1 add r4, #0x10 cmp r6, #0x2 @@ -256381,7 +256381,7 @@ _0208A882: ldr r0, [r5, #0x14] add r1, r7, #0x0 add r3, r2, #0x0 - bl sub_020136F8 + bl FUN_020136F8 _0208A8B8: str r7, [r5, #0x68] mov r1, #0x0 @@ -256391,21 +256391,21 @@ _0208A8B8: add r0, r7, #0x0 mov r2, #0xa5 mov r3, #0xb - bl sub_0200CCA4 + bl FUN_0200CCA4 add sp, #0x14 pop {r4-r7, pc} - thumb_func_start sub_0208A8D0 -sub_0208A8D0: ; 0x0208A8D0 - ldr r3, _0208A8D8 ; =sub_0200CCF8 + thumb_func_start FUN_0208A8D0 +FUN_0208A8D0: ; 0x0208A8D0 + ldr r3, _0208A8D8 ; =FUN_0200CCF8 add r0, #0x38 mov r1, #0x1 bx r3 .balign 4 -_0208A8D8: .word sub_0200CCF8 + 1 +_0208A8D8: .word FUN_0200CCF8 + 1 - thumb_func_start sub_0208A8DC -sub_0208A8DC: ; 0x0208A8DC + thumb_func_start FUN_0208A8DC +FUN_0208A8DC: ; 0x0208A8DC push {r4, lr} sub sp, #0x8 add r4, r0, #0x0 @@ -256452,7 +256452,7 @@ _0208A928: tst r1, r0 beq _0208A93A ldr r0, _0208A994 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 add sp, #0x8 ldr r0, [r4, #0x5c] pop {r4, pc} @@ -256461,7 +256461,7 @@ _0208A93A: tst r0, r1 beq _0208A94E ldr r0, _0208A994 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 ldr r0, [r4, #0x60] add sp, #0x8 sub r0, r0, #0x1 @@ -256481,17 +256481,17 @@ _0208A954: lsr r1, r1, #0x10 str r1, [sp, #0x4] mov r1, #0xf - bl sub_020196F4 + bl FUN_020196F4 ldr r3, [r4, #0x5c] ldr r0, [r4, #0x14] ldr r1, [r4, #0x68] mov r2, #0x0 lsl r3, r3, #0x4 - bl sub_020136F8 + bl FUN_020136F8 ldr r0, [r4, #0x68] - bl sub_02019548 + bl FUN_02019548 ldr r0, _0208A994 ; =0x000005DC - bl sub_020054C8 + bl FUN_020054C8 mov r0, #0x0 mvn r0, r0 add sp, #0x8 @@ -256500,24 +256500,24 @@ _0208A954: _0208A990: .word 0x021C48B8 _0208A994: .word 0x000005DC - thumb_func_start sub_0208A998 -sub_0208A998: ; 0x0208A998 + thumb_func_start FUN_0208A998 +FUN_0208A998: ; 0x0208A998 ldr r3, _0208A9AC ; =0x027E0000 ldr r1, _0208A9B0 ; =0x00003FF8 mov r0, #0x1 ldr r2, [r3, r1] orr r0, r2 str r0, [r3, r1] - ldr r3, _0208A9B4 ; =sub_020CDA1C + ldr r3, _0208A9B4 ; =FUN_020CDA1C mov r0, #0x3 bx r3 nop _0208A9AC: .word 0x027E0000 _0208A9B0: .word 0x00003FF8 -_0208A9B4: .word sub_020CDA1C +_0208A9B4: .word FUN_020CDA1C - thumb_func_start sub_0208A9B8 -sub_0208A9B8: ; 0x0208A9B8 + thumb_func_start FUN_0208A9B8 +FUN_0208A9B8: ; 0x0208A9B8 push {r4-r7, lr} sub sp, #0x24 ldr r0, _0208ABC8 ; =0x021C8C58 @@ -256529,41 +256529,41 @@ _0208A9C6: mov r1, #0x1 str r1, [r0, #0x0] mov r0, #0x0 - blx sub_020CC408 + blx FUN_020CC408 add r1, r0, #0x0 mov r0, #0x0 - blx sub_020CC308 + blx FUN_020CC308 mov r0, #0x0 - blx sub_020CC31C + blx FUN_020CC31C add r1, r0, #0x0 mov r0, #0x0 - blx sub_020CC2F4 + blx FUN_020CC2F4 mov r1, #0x1 ldr r0, _0208ABCC ; =0x020FF4A4 add r2, r1, #0x0 mov r3, #0x0 - bl sub_020166C8 + bl FUN_020166C8 mov r0, #0x0 add r1, r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 mov r1, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 mov r0, #0x1 - blx sub_020C9E14 - ldr r1, _0208ABD0 ; =sub_0208A998 + blx FUN_020C9E14 + ldr r1, _0208ABD0 ; =FUN_0208A998 mov r0, #0x1 - blx sub_020C9FEC + blx FUN_020C9FEC mov r0, #0x1 - blx sub_020C9E5C + blx FUN_020C9E5C mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F10 + bl FUN_02015F10 mov r0, #0x0 add r1, r0, #0x0 - bl sub_02015F34 - bl sub_0201E6D8 - bl sub_0201E740 + bl FUN_02015F34 + bl FUN_0201E6D8 + bl FUN_0201E740 mov r2, #0x1 lsl r2, r2, #0x1a ldr r1, [r2, #0x0] @@ -256576,11 +256576,11 @@ _0208A9C6: str r0, [r2, #0x0] mov r0, #0x4 mov r1, #0x8 - bl sub_0201669C + bl FUN_0201669C ldr r0, _0208ABDC ; =0x021C4918 mov r1, #0x0 strb r1, [r0, #0x5] - bl sub_0201E7A0 + bl FUN_0201E7A0 ldr r3, _0208ABE0 ; =0x04000050 mov r0, #0x0 strh r0, [r3, #0x0] @@ -256596,58 +256596,58 @@ _0208A9C6: and r0, r1 str r0, [r2, #0x0] ldr r0, _0208ABEC ; =0x020FF4D8 - bl sub_0201E66C + bl FUN_0201E66C mov r0, #0x0 - bl sub_02016B94 + bl FUN_02016B94 str r0, [sp, #0x10] ldr r0, _0208ABF0 ; =0x020FF4AC - bl sub_02016BBC + bl FUN_02016BBC mov r1, #0x0 ldr r0, [sp, #0x10] ldr r2, _0208ABF4 ; =0x020FF4BC add r3, r1, #0x0 - bl sub_02016C18 + bl FUN_02016C18 ldr r0, [sp, #0x10] mov r1, #0x0 - bl sub_02018744 + bl FUN_02018744 mov r1, #0x0 str r1, [sp, #0x0] ldr r0, [sp, #0x10] ldr r2, _0208ABF8 ; =0x000001F7 mov r3, #0x2 str r1, [sp, #0x4] - bl sub_0200CB00 + bl FUN_0200CB00 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 - bl sub_02002ED0 + bl FUN_02002ED0 mov r0, #0x0 mov r1, #0x20 add r2, r0, #0x0 add r3, r0, #0x0 - bl sub_02017F18 + bl FUN_02017F18 ldr r1, _0208ABFC ; =0x00006C21 mov r0, #0x0 - bl sub_02017FE4 + bl FUN_02017FE4 ldr r1, _0208ABFC ; =0x00006C21 mov r0, #0x4 - bl sub_02017FE4 + bl FUN_02017FE4 mov r0, #0x1 mov r1, #0x1a mov r2, #0xc8 mov r3, #0x0 - bl sub_0200A86C + bl FUN_0200A86C str r0, [sp, #0xc] mov r0, #0x6 lsl r0, r0, #0x6 mov r1, #0x0 - bl sub_020219F4 + bl FUN_020219F4 add r4, r0, #0x0 - bl sub_0201BD5C + bl FUN_0201BD5C ldr r0, [sp, #0x10] ldr r2, _0208AC00 ; =0x020FF49C add r1, sp, #0x14 - bl sub_02019150 + bl FUN_02019150 mov r0, #0xd0 str r0, [sp, #0x0] mov r0, #0x90 @@ -256656,16 +256656,16 @@ _0208A9C6: add r0, sp, #0x14 mov r1, #0xf add r3, r2, #0x0 - bl sub_020196F4 + bl FUN_020196F4 ldr r2, _0208ABF8 ; =0x000001F7 add r0, sp, #0x14 mov r1, #0x0 mov r3, #0x2 - bl sub_0200CCA4 + bl FUN_0200CCA4 ldr r0, [sp, #0xc] mov r1, #0x3 add r2, r4, #0x0 - bl sub_0200A8E0 + bl FUN_0200A8E0 mov r1, #0x0 str r1, [sp, #0x0] str r1, [sp, #0x4] @@ -256673,29 +256673,29 @@ _0208A9C6: add r2, r4, #0x0 add r3, r1, #0x0 str r1, [sp, #0x8] - bl sub_0201BD84 + bl FUN_0201BD84 add r0, r4, #0x0 - bl sub_02021A20 - bl sub_0201E788 + bl FUN_02021A20 + bl FUN_0201E788 mov r0, #0x0 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x1 - bl sub_0200E394 + bl FUN_0200E394 mov r0, #0x0 mov r1, #0x3f mov r2, #0x3 - bl sub_0200A274 - bl sub_02032DAC + bl FUN_0200A274 + bl FUN_02032DAC mov r4, #0x1 _0208AB58: - bl sub_02000FE8 - bl sub_0202FB80 - bl sub_02033678 + bl FUN_02000FE8 + bl FUN_0202FB80 + bl FUN_02033678 cmp r0, #0x0 bne _0208AB72 add r0, r4, #0x0 add r1, r4, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _0208AB58 _0208AB72: ldr r5, _0208AC04 ; =0x04000130 @@ -256703,7 +256703,7 @@ _0208AB72: ldr r7, _0208AC0C ; =0x00002FFF mov r6, #0x1 _0208AB7A: - bl sub_02000FE8 + bl FUN_02000FE8 ldrh r1, [r5, #0x0] ldrh r0, [r4, #0x0] orr r1, r0 @@ -256716,30 +256716,30 @@ _0208AB7A: bne _0208AB9C mov r0, #0x1 add r1, r0, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C b _0208AB7A _0208AB9C: ldr r1, _0208AC10 ; =0x00007FFF mov r0, #0x0 - bl sub_0200E3A0 + bl FUN_0200E3A0 ldr r1, _0208AC10 ; =0x00007FFF mov r0, #0x1 - bl sub_0200E3A0 + bl FUN_0200E3A0 add r0, sp, #0x14 - bl sub_02019178 + bl FUN_02019178 ldr r0, [sp, #0xc] - bl sub_0200A8B8 + bl FUN_0200A8B8 ldr r0, [sp, #0x10] - bl sub_02016A18 + bl FUN_02016A18 mov r0, #0x0 - blx sub_020CD3B4 + blx FUN_020CD3B4 _0208ABC4: add sp, #0x24 pop {r4-r7, pc} .balign 4 _0208ABC8: .word 0x021C8C58 _0208ABCC: .word 0x020FF4A4 -_0208ABD0: .word sub_0208A998 + 1 +_0208ABD0: .word FUN_0208A998 + 1 _0208ABD4: .word 0xFFFFE0FF _0208ABD8: .word 0x04001000 _0208ABDC: .word 0x021C4918 diff --git a/asm/entry.s b/asm/entry.s index 48263edf..45030707 100644 --- a/asm/entry.s +++ b/asm/entry.s @@ -70,9 +70,9 @@ _020008C4: add r1, r1, #60 ldr r0, _02000930 ; =0x01FF8000 str r0, [r1] - bl sub_020EC5CC - bl sub_02000B64_dummy - bl sub_020EC694 + bl FUN_020EC5CC + bl FUN_02000B64_dummy + bl FUN_020EC694 ldr r1, _02000934 ; =0x02000C55 ldr lr, _02000938 ; =0xFFFF0000 tst sp, #4 @@ -246,12 +246,12 @@ init_cp15: ; 0x02000A78 .align 2, 0 .pool - arm_func_start sub_02000B60_dummy -sub_02000B60_dummy: ; 0x02000B60 + arm_func_start FUN_02000B60_dummy +FUN_02000B60_dummy: ; 0x02000B60 bx lr - arm_func_start sub_02000B64_dummy -sub_02000B64_dummy: ; 0x02000B64 + arm_func_start FUN_02000B64_dummy +FUN_02000B64_dummy: ; 0x02000B64 bx lr _02000B68: diff --git a/asm/main.s b/asm/main.s index b5cdd633..afd4969d 100644 --- a/asm/main.s +++ b/asm/main.s @@ -6,58 +6,58 @@ thumb_func_start NitroMain NitroMain: ; 0x02000C54 push {r3-r7, lr} - bl sub_02016014 - bl sub_02016148 - bl sub_020163BC + bl FUN_02016014 + bl FUN_02016148 + bl FUN_020163BC mov r0, #0x0 - bl sub_02016438 + bl FUN_02016438 ldr r0, _02000DD0 ; =0x02106FA0 mov r1, #0x0 - blx sub_020D50D8 - bl sub_02022294 - bl sub_0201259C - bl sub_02000DF4 - bl sub_02002C14 + blx FUN_020D50D8 + bl FUN_02022294 + bl FUN_0201259C + bl FUN_02000DF4 + bl FUN_02002C14 mov r0, #0x0 mov r1, #0x3 - bl sub_02002C50 + bl FUN_02002C50 mov r0, #0x1 mov r1, #0x3 - bl sub_02002C50 + bl FUN_02002C50 mov r0, #0x3 add r1, r0, #0x0 - bl sub_02002C50 + bl FUN_02002C50 mov r1, #0x0 ldr r0, _02000DD4 ; =0x02106FA0 mvn r1, r1 str r1, [r0, #0x18] - bl sub_0202254C + bl FUN_0202254C ldr r1, _02000DD4 ; =0x02106FA0 str r0, [r1, #0x20] - bl sub_02029EF8 + bl FUN_02029EF8 add r4, r0, #0x0 ldr r0, _02000DD4 ; =0x02106FA0 ldr r0, [r0, #0x20] - bl sub_02023900 + bl FUN_02023900 add r1, r0, #0x0 add r0, r4, #0x0 - bl sub_02003B98 - bl sub_02020AFC + bl FUN_02003B98 + bl FUN_02020AFC mov r0, #0x3 - bl sub_020337E8 + bl FUN_020337E8 cmp r0, #0x3 bne _02000CD4 mov r0, #0x3 mov r1, #0x0 - bl sub_02034188 + bl FUN_02034188 _02000CD4: ldr r0, _02000DD4 ; =0x02106FA0 ldr r0, [r0, #0x20] - bl sub_020227FC + bl FUN_020227FC cmp r0, #0x0 bne _02000CE8 mov r0, #0x0 - bl sub_02089D90 + bl FUN_02089D90 b _02000D1A _02000CE8: ldr r0, _02000DD8 ; =0x027FFC20 @@ -73,7 +73,7 @@ _02000CF6: str r1, [r0, #0x1c] ldr r0, _02000DDC ; =0x0000003F ldr r1, _02000DE0 ; =0x021DBE18 - bl sub_02000E7C + bl FUN_02000E7C b _02000D1A _02000D06: ldr r0, _02000DD4 ; =0x02106FA0 @@ -81,19 +81,19 @@ _02000D06: str r1, [r0, #0x1c] ldr r0, _02000DE4 ; =0x00000034 ldr r1, _02000DE8 ; =0x021D76C8 - bl sub_02000E7C + bl FUN_02000E7C b _02000D1A _02000D16: - bl sub_02020C2C + bl FUN_02020C2C _02000D1A: ldr r0, _02000DEC ; =0x021C48B8 mov r1, #0x1 str r1, [r0, #0x6c] mov r1, #0x0 str r1, [r0, #0x30] - bl sub_02000FA4 - bl sub_0200A2AC - bl sub_02015E30 + bl FUN_02000FA4 + bl FUN_0200A2AC + bl FUN_02015E30 mov r1, #0x0 ldr r0, _02000DD4 ; =0x02106FA0 mov r7, #0xc3 @@ -103,9 +103,9 @@ _02000D1A: add r5, r1, #0x0 lsl r7, r7, #0x2 _02000D40: - bl sub_02000EE8 - bl sub_02000FE8 - bl sub_02016464 + bl FUN_02000EE8 + bl FUN_02000FE8 + bl FUN_02016464 mov r0, #0xc3 ldr r1, [r4, #0x38] lsl r0, r0, #0x2 @@ -116,49 +116,49 @@ _02000D40: cmp r0, #0x0 bne _02000D64 mov r0, #0x0 - bl sub_02000F18 + bl FUN_02000F18 _02000D64: - bl sub_0202FB80 + bl FUN_0202FB80 cmp r0, #0x0 beq _02000D90 - bl sub_02000E0C + bl FUN_02000E0C ldr r0, [r4, #0x18] - bl sub_0201B5CC + bl FUN_0201B5CC ldr r0, [r4, #0x24] - bl sub_0201B5CC + bl FUN_0201B5CC ldr r0, [r4, #0x30] cmp r0, #0x0 bne _02000D90 mov r0, #0x1 add r1, r0, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C ldr r0, [r4, #0x2c] add r0, r0, #0x1 str r0, [r4, #0x2c] _02000D90: - bl sub_020125D4 - bl sub_02015E60 - bl sub_020222C4 + bl FUN_020125D4 + bl FUN_02015E60 + bl FUN_020222C4 ldr r0, [r4, #0x24] - bl sub_0201B5CC + bl FUN_0201B5CC mov r0, #0x1 add r1, r0, #0x0 - blx sub_020C9C0C + blx FUN_020C9C0C ldr r0, [r4, #0x2c] add r0, r0, #0x1 str r0, [r4, #0x2c] str r5, [r4, #0x30] - bl sub_0200A318 - bl sub_0200E2D8 + bl FUN_0200A318 + bl FUN_0200E2D8 ldr r1, [r4, #0x0] cmp r1, #0x0 beq _02000DC4 ldr r0, [r4, #0x4] blx r1 _02000DC4: - bl sub_02003C10 + bl FUN_02003C10 ldr r0, [r4, #0x20] - bl sub_0201B5CC + bl FUN_0201B5CC b _02000D40 .balign 4 _02000DD0: .word 0x02106FA0 diff --git a/asm/rom2.s b/asm/rom2.s index ded2e8ad..f6dea1e9 100644 --- a/asm/rom2.s +++ b/asm/rom2.s @@ -4,10 +4,10 @@ .incbin "baserom.nds", 0x8EC14, 0x619B8 - .global sub_020EC5CC -sub_020EC5CC: + .global FUN_020EC5CC +FUN_020EC5CC: .incbin "baserom.nds", 0xF05CC, 0xC8 - .global sub_020EC694 -sub_020EC694: + .global FUN_020EC694 +FUN_020EC694: .incbin "baserom.nds", 0xF0694, 0x1b090 diff --git a/global.inc b/global.inc index fb8e7b3e..4019a457 100644 --- a/global.inc +++ b/global.inc @@ -1,2210 +1,2210 @@ -.extern sub_0200019E +.extern FUN_0200019E .extern NitroMain -.extern sub_02000DF4 -.extern sub_02000E0C -.extern sub_02000E7C -.extern sub_02000E7C -.extern sub_02000EE8 -.extern sub_02000F18 -.extern sub_02000FA4 -.extern sub_02000FE8 -.extern sub_0208ACEC -.extern sub_0208AD80 -.extern sub_0208AF80 -.extern sub_0208AF94 -.extern sub_0208AFA8 -.extern sub_0208B05C -.extern sub_0208B128 -.extern sub_0208B4A0 -.extern sub_02090CC8 -.extern sub_02090DB8 -.extern sub_02096B14 -.extern sub_02096B78 -.extern sub_02096CCC -.extern sub_02096CCC -.extern sub_02096D2C -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096DA0 -.extern sub_02096E90 -.extern sub_02096F18 -.extern sub_02096F80 -.extern sub_02096FB0 -.extern sub_02096FF4 -.extern sub_0209700C -.extern sub_0209700C -.extern sub_0209700C -.extern sub_0209700C -.extern sub_020973B4 -.extern sub_020ADDC0 -.extern sub_020ADDC8 -.extern sub_020ADDF0 -.extern sub_020ADDF0 -.extern sub_020ADDF0 -.extern sub_020ADE2C -.extern sub_020ADFA0 -.extern sub_020ADFA0 -.extern sub_020ADFDC -.extern sub_020ADFE8 -.extern sub_020ADFE8 -.extern sub_020AE82C -.extern sub_020AE8CC -.extern sub_020AE918 -.extern sub_020AEB70 -.extern sub_020AEB70 -.extern sub_020AEC7C -.extern sub_020AEC98 -.extern sub_020AEE40 -.extern sub_020AEEB8 -.extern sub_020AEF1C -.extern sub_020AF894 -.extern sub_020AF9C4 -.extern sub_020AFA28 -.extern sub_020AFA80 -.extern sub_020AFBA8 -.extern sub_020AFBFC -.extern sub_020AFC04 -.extern sub_020AFC04 -.extern sub_020AFC04 -.extern sub_020AFC04 -.extern sub_020AFC04 -.extern sub_020AFD88 -.extern sub_020AFD94 -.extern sub_020AFD94 -.extern sub_020AFD94 -.extern sub_020AFEB8 -.extern sub_020AFEB8 -.extern sub_020AFFD8 -.extern sub_020B0030 -.extern sub_020B0030 -.extern sub_020B0030 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B0088 -.extern sub_020B00F0 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0138 -.extern sub_020B0180 -.extern sub_020B0180 -.extern sub_020B0180 -.extern sub_020B0180 -.extern sub_020B0180 -.extern sub_020B0180 -.extern sub_020B0250 -.extern sub_020B0250 -.extern sub_020B0250 -.extern sub_020B0250 -.extern sub_020B02C8 -.extern sub_020B0448 -.extern sub_020B0448 -.extern sub_020B0870 -.extern sub_020B0870 -.extern sub_020B0BB0 -.extern sub_020B0BB0 -.extern sub_020B0C7C -.extern sub_020B0C7C -.extern sub_020B0E34 -.extern sub_020B0E34 -.extern sub_020B0FC0 -.extern sub_020B0FC0 -.extern sub_020B10E8 -.extern sub_020B1240 -.extern sub_020B1240 -.extern sub_020B1240 -.extern sub_020B1240 -.extern sub_020B1240 -.extern sub_020B1340 -.extern sub_020B1528 -.extern sub_020B1528 -.extern sub_020B1528 -.extern sub_020B1768 -.extern sub_020B19C4 -.extern sub_020B19C4 -.extern sub_020B19C4 -.extern sub_020B19C4 -.extern sub_020B19C4 -.extern sub_020B19DC -.extern sub_020B19DC -.extern sub_020B19DC -.extern sub_020B19DC -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A14 -.extern sub_020B1A24 -.extern sub_020B1A24 -.extern sub_020B1A24 -.extern sub_020B1A24 -.extern sub_020B1A24 -.extern sub_020B1EA4 -.extern sub_020B1EC4 -.extern sub_020B1EE4 -.extern sub_020B1EFC -.extern sub_020B1F80 -.extern sub_020B20C8 -.extern sub_020B2194 -.extern sub_020B224C -.extern sub_020B23D8 -.extern sub_020B242C -.extern sub_020B242C -.extern sub_020B2780 -.extern sub_020B2794 -.extern sub_020B28B4 -.extern sub_020B2A08 -.extern sub_020B2A08 -.extern sub_020B2A08 -.extern sub_020B2B08 -.extern sub_020B2B58 -.extern sub_020B2D9C -.extern sub_020B317C -.extern sub_020B31F0 -.extern sub_020B326C -.extern sub_020B3334 -.extern sub_020B3390 -.extern sub_020B33A0 -.extern sub_020B4358 -.extern sub_020B43A4 -.extern sub_020B442C -.extern sub_020B4568 -.extern sub_020B4F38 -.extern sub_020B4F38 -.extern sub_020B4F38 -.extern sub_020B502C -.extern sub_020B502C -.extern sub_020B772C -.extern sub_020B7790 -.extern sub_020B7790 -.extern sub_020B7C58 -.extern sub_020B7C58 -.extern sub_020B7C78 -.extern sub_020B7C78 -.extern sub_020B7CDC -.extern sub_020B7CDC -.extern sub_020B7CDC -.extern sub_020B7CE4 -.extern sub_020B7CE4 -.extern sub_020B7CE4 -.extern sub_020B7CE4 -.extern sub_020B7CE4 -.extern sub_020B7CF0 -.extern sub_020B7CF0 -.extern sub_020B7D28 -.extern sub_020B7D28 -.extern sub_020B7DFC -.extern sub_020B7DFC -.extern sub_020B7DFC -.extern sub_020B7E10 -.extern sub_020B7E10 -.extern sub_020B7E10 -.extern sub_020B7E10 -.extern sub_020B7E10 -.extern sub_020B7E1C -.extern sub_020B7E1C -.extern sub_020B7E1C -.extern sub_020B7E1C -.extern sub_020B7E1C -.extern sub_020B80B4 -.extern sub_020B80B4 -.extern sub_020B80B4 -.extern sub_020B80B4 -.extern sub_020B844C -.extern sub_020B844C -.extern sub_020B844C -.extern sub_020B8474 -.extern sub_020B8474 -.extern sub_020B8474 -.extern sub_020B8474 -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020B849C -.extern sub_020BAC98 -.extern sub_020BAFB8 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB1C0 -.extern sub_020BB394 -.extern sub_020BB394 -.extern sub_020BB394 -.extern sub_020BB394 -.extern sub_020BB59C -.extern sub_020BB59C -.extern sub_020BB7F4 -.extern sub_020BB7F4 -.extern sub_020BC0FC -.extern sub_020BC0FC -.extern sub_020BC0FC -.extern sub_020BC0FC -.extern sub_020BC0FC -.extern sub_020BC0FC -.extern sub_020BC13C -.extern sub_020BC13C -.extern sub_020BC13C -.extern sub_020BC13C -.extern sub_020BC13C -.extern sub_020BC2A0 -.extern sub_020BC2A0 -.extern sub_020C0174 -.extern sub_020C01A0 -.extern sub_020C01D0 -.extern sub_020C03B8 -.extern sub_020C041C -.extern sub_020C044C -.extern sub_020C04DC -.extern sub_020C04DC -.extern sub_020C0510 -.extern sub_020C054C -.extern sub_020C0670 -.extern sub_020C0670 -.extern sub_020C0688 -.extern sub_020C0688 -.extern sub_020C0DD4 -.extern sub_020C0E14 -.extern sub_020C0E7C -.extern sub_020C0E7C -.extern sub_020C0E7C -.extern sub_020C0EA4 -.extern sub_020C0EF4 -.extern sub_020C0F30 -.extern sub_020C0F50 -.extern sub_020C0F68 -.extern sub_020C0F68 -.extern sub_020C0F80 -.extern sub_020C0F8C -.extern sub_020C0F9C -.extern sub_020C0FDC -.extern sub_020C1040 -.extern sub_020C10A4 -.extern sub_020C10A4 -.extern sub_020C10A4 -.extern sub_020C10A4 -.extern sub_020C10A4 -.extern sub_020C1148 -.extern sub_020C1180 -.extern sub_020C1E58 -.extern sub_020C1E68 -.extern sub_020C1EA4 -.extern sub_020C1F54 -.extern sub_020C1FA4 -.extern sub_020C1FF0 -.extern sub_020C20DC -.extern sub_020C2104 -.extern sub_020C217C -.extern sub_020C226C -.extern sub_020C226C -.extern sub_020C22D0 -.extern sub_020C23FC -.extern sub_020C23FC -.extern sub_020C23FC -.extern sub_020C26F8 -.extern sub_020C2828 -.extern sub_020C290C -.extern sub_020C2A94 -.extern sub_020C35E0 -.extern sub_020C360C -.extern sub_020C3640 -.extern sub_020C3674 -.extern sub_020C36A8 -.extern sub_020C3910 -.extern sub_020C3910 -.extern sub_020C3910 -.extern sub_020C3910 -.extern sub_020C3980 -.extern sub_020C3980 -.extern sub_020C3980 -.extern sub_020C3980 -.extern sub_020C3980 -.extern sub_020C39CC -.extern sub_020C3EA4 -.extern sub_020C3EB0 -.extern sub_020C3F14 -.extern sub_020C3F14 -.extern sub_020C3F38 -.extern sub_020C3F38 -.extern sub_020C3F54 -.extern sub_020C3F54 -.extern sub_020C3F70 -.extern sub_020C3F70 -.extern sub_020C400C -.extern sub_020C400C -.extern sub_020C400C -.extern sub_020C400C -.extern sub_020C504C -.extern sub_020C504C -.extern sub_020C50B8 -.extern sub_020C50B8 -.extern sub_020C50B8 -.extern sub_020C5288 -.extern sub_020C5288 -.extern sub_020C5288 -.extern sub_020C53C8 -.extern sub_020C5588 -.extern sub_020C5600 -.extern sub_020C5600 -.extern sub_020C5600 -.extern sub_020C5634 -.extern sub_020C5634 -.extern sub_020C5634 -.extern sub_020C5634 -.extern sub_020C5668 -.extern sub_020C5974 -.extern sub_020C5978 -.extern sub_020C5978 -.extern sub_020C59A4 -.extern sub_020C59A4 -.extern sub_020C59C0 -.extern sub_020C59C0 -.extern sub_020C5A34 -.extern sub_020C5A80 -.extern sub_020C5AC8 -.extern sub_020C5AF8 -.extern sub_020C5AF8 -.extern sub_020C5B28 -.extern sub_020C5D2C -.extern sub_020C5D4C -.extern sub_020C5D4C -.extern sub_020C5D9C -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5DBC -.extern sub_020C5E54 -.extern sub_020C600C -.extern sub_020C6034 -.extern sub_020C605C -.extern sub_020C6070 -.extern sub_020C6098 -.extern sub_020C60AC -.extern sub_020C60C0 -.extern sub_020C60E4 -.extern sub_020C6108 -.extern sub_020C611C -.extern sub_020C6168 -.extern sub_020C61F4 -.extern sub_020C6280 -.extern sub_020C62FC -.extern sub_020C63A8 -.extern sub_020C65C0 -.extern sub_020C66B4 -.extern sub_020C68B8 -.extern sub_020C6970 -.extern sub_020C6A84 -.extern sub_020C6BF0 -.extern sub_020C7124 -.extern sub_020C74B8 -.extern sub_020C74B8 -.extern sub_020C74B8 -.extern sub_020C74B8 -.extern sub_020C74B8 -.extern sub_020C74B8 -.extern sub_020C74DC -.extern sub_020C74DC -.extern sub_020C74DC -.extern sub_020C74DC -.extern sub_020C74DC -.extern sub_020C74DC -.extern sub_020C74F8 -.extern sub_020C74F8 -.extern sub_020C74F8 -.extern sub_020C74F8 -.extern sub_020C74F8 -.extern sub_020C7A14 -.extern sub_020C7B3C -.extern sub_020C7B3C -.extern sub_020C7B3C -.extern sub_020C7B3C -.extern sub_020C7B3C -.extern sub_020C7C28 -.extern sub_020C7C28 -.extern sub_020C7C28 -.extern sub_020C7C28 -.extern sub_020C7C28 -.extern sub_020C7D28 -.extern sub_020C7D28 -.extern sub_020C7E0C -.extern sub_020C7E94 -.extern sub_020C7FF0 -.extern sub_020C7FF0 -.extern sub_020C802C -.extern sub_020C8068 -.extern sub_020C80A4 -.extern sub_020C823C -.extern sub_020C8538 -.extern sub_020C8A2C -.extern sub_020C8B10 -.extern sub_020C8EEC -.extern sub_020C922C -.extern sub_020C9294 -.extern sub_020C9294 -.extern sub_020C9294 -.extern sub_020C9294 -.extern sub_020C92F4 -.extern sub_020C92F4 -.extern sub_020C92F4 -.extern sub_020C92F4 -.extern sub_020C9354 -.extern sub_020C93BC -.extern sub_020C9418 -.extern sub_020C9480 -.extern sub_020C9480 -.extern sub_020C9480 -.extern sub_020C9480 -.extern sub_020C94E8 -.extern sub_020C94E8 -.extern sub_020C94E8 -.extern sub_020C94E8 -.extern sub_020C9550 -.extern sub_020C9550 -.extern sub_020C9550 -.extern sub_020C9550 -.extern sub_020C9550 -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9C0C -.extern sub_020C9E14 -.extern sub_020C9E14 -.extern sub_020C9E14 -.extern sub_020C9E14 -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9E5C -.extern sub_020C9FEC -.extern sub_020C9FEC -.extern sub_020C9FEC -.extern sub_020C9FEC -.extern sub_020C9FEC -.extern sub_020C9FEC -.extern sub_020CA0A0 -.extern sub_020CA0A0 -.extern sub_020CA0A0 -.extern sub_020CA0F8 -.extern sub_020CA0F8 -.extern sub_020CA0F8 -.extern sub_020CA0F8 -.extern sub_020CC124 -.extern sub_020CC124 -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC15C -.extern sub_020CC180 -.extern sub_020CC1B4 -.extern sub_020CC204 -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC26C -.extern sub_020CC2F4 -.extern sub_020CC308 -.extern sub_020CC31C -.extern sub_020CC408 -.extern sub_020CCD64 -.extern sub_020CD310 -.extern sub_020CD310 -.extern sub_020CD310 -.extern sub_020CD324 -.extern sub_020CD324 -.extern sub_020CD324 -.extern sub_020CD374 -.extern sub_020CD374 -.extern sub_020CD374 -.extern sub_020CD374 -.extern sub_020CD374 -.extern sub_020CD3B4 -.extern sub_020CD3B4 -.extern sub_020CD3B4 -.extern sub_020CD3B4 -.extern sub_020CD3B4 -.extern sub_020CD3B4 -.extern sub_020CD510 -.extern sub_020CD510 -.extern sub_020CD510 -.extern sub_020CD510 -.extern sub_020CD524 -.extern sub_020CD5A0 -.extern sub_020CD5A0 -.extern sub_020CD5A0 -.extern sub_020CD5A0 -.extern sub_020CD5A0 -.extern sub_020CD5A0 -.extern sub_020CD754 -.extern sub_020CD850 -.extern sub_020CD850 -.extern sub_020CD850 -.extern sub_020CD850 -.extern sub_020CD998 -.extern sub_020CDA1C -.extern sub_020CDA1C -.extern sub_020CDD90 -.extern sub_020CDE04 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1C8 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1E0 -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE1FC -.extern sub_020CE210 -.extern sub_020CE210 -.extern sub_020CE210 -.extern sub_020CE210 -.extern sub_020CE210 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE240 -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE28C -.extern sub_020CE2E0 -.extern sub_020CE2E0 -.extern sub_020CE2E0 -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE34C -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE3E0 -.extern sub_020CE528 -.extern sub_020CE528 -.extern sub_020CE528 -.extern sub_020CE528 -.extern sub_020CF768 -.extern sub_020D1148 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D17A0 -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D180C -.extern sub_020D182C -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D18FC -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1944 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1C94 -.extern sub_020D1CC4 -.extern sub_020D1CD4 -.extern sub_020D1D10 -.extern sub_020D1D10 -.extern sub_020D1D30 -.extern sub_020D1D30 -.extern sub_020D2040 -.extern sub_020D2094 -.extern sub_020D2210 -.extern sub_020D2210 -.extern sub_020D23B4 -.extern sub_020D2454 -.extern sub_020D24EC -.extern sub_020D24EC -.extern sub_020D24EC -.extern sub_020D24EC -.extern sub_020D36C4 -.extern sub_020D36C4 -.extern sub_020D36D8 -.extern sub_020D36D8 -.extern sub_020D36F0 -.extern sub_020D36F0 -.extern sub_020D3A90 -.extern sub_020D3AA0 -.extern sub_020D3C14 -.extern sub_020D3CB8 -.extern sub_020D3DCC -.extern sub_020D3E24 -.extern sub_020D3EC4 -.extern sub_020D3EC4 -.extern sub_020D400C -.extern sub_020D40B8 -.extern sub_020D4718 -.extern sub_020D47CC -.extern sub_020D4980 -.extern sub_020D4A5C -.extern sub_020D4E68 -.extern sub_020D50D8 -.extern sub_020D5150 -.extern sub_020D5168 -.extern sub_020D5180 -.extern sub_020D526C -.extern sub_020D526C -.extern sub_020D5F40 -.extern sub_020D614C -.extern sub_020D6320 -.extern sub_020D6320 -.extern sub_020D6578 -.extern sub_020D6578 -.extern sub_020D6578 -.extern sub_020D6578 -.extern sub_020D660C -.extern sub_020D660C -.extern sub_020D660C -.extern sub_020D660C -.extern sub_020D660C -.extern sub_020D66A0 -.extern sub_020D66A0 -.extern sub_020D66A0 -.extern sub_020D66A0 -.extern sub_020D66B0 -.extern sub_020D66B0 -.extern sub_020D66B0 -.extern sub_020D6700 -.extern sub_020D6DAC -.extern sub_020D6DB8 -.extern sub_020D6DC4 -.extern sub_020D6DC4 -.extern sub_020D6F20 -.extern sub_020D6F20 -.extern sub_020D6F20 -.extern sub_020D7228 -.extern sub_020D7D18 -.extern sub_020D7E9C -.extern sub_020D8A4C -.extern sub_020D8AF0 -.extern sub_020D8B94 -.extern sub_020D8C3C -.extern sub_020D8C3C -.extern sub_020D8F34 -.extern sub_020D9014 -.extern sub_020D9060 -.extern sub_020D9060 -.extern sub_020D9168 -.extern sub_020D9244 -.extern sub_020D940C -.extern sub_020D950C -.extern sub_020D9554 -.extern sub_020D9624 -.extern sub_020D972C -.extern sub_020D9774 -.extern sub_020D97B4 -.extern sub_020D9960 -.extern sub_020D9960 -.extern sub_020D99EC -.extern sub_020D9B48 -.extern sub_020D9B48 -.extern sub_020DAD74 -.extern sub_020DADD4 -.extern sub_020DAF30 -.extern sub_020DB7A8 -.extern sub_020DDC5C -.extern sub_020DDC5C -.extern sub_020DDCE4 -.extern sub_020DDD28 -.extern sub_020DDD28 -.extern sub_020DDD60 -.extern sub_020DDD60 -.extern sub_020DDE44 -.extern sub_020DDE44 -.extern sub_020DDF60 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DE3F0 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF438 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF4A4 -.extern sub_020DF510 -.extern sub_020E2EAC -.extern sub_020E2EC8 -.extern sub_020E2EC8 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EA980 -.extern sub_020EAEF0 -.extern sub_020EAEF0 -.extern sub_020EAEF0 -.extern sub_020EB010 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB084 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4C0 -.extern sub_020EB4F4 -.extern sub_020EB4F4 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB534 -.extern sub_020EB57C -.extern sub_020EB57C -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB5C4 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EB7B0 -.extern sub_020EBA38 -.extern sub_020EBA38 -.extern sub_020EBBE8 -.extern sub_020EBBE8 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC30 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBC80 -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EBE8C -.extern sub_020EC5CC -.extern sub_020EC694 -.extern sub_021D78FC -.extern sub_021D78FC -.extern sub_021D79B4 -.extern sub_021D79B4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7CA4 -.extern sub_021D7F8C -.extern sub_021D8018 -.extern sub_021D8018 -.extern sub_021D8164 -.extern sub_021D82BC -.extern sub_021D8320 -.extern sub_021D836C -.extern sub_021D83C0 -.extern sub_021D83C0 -.extern sub_021D844C -.extern sub_021D85FC -.extern sub_021D8624 -.extern sub_021D88E4 -.extern sub_021D88E4 -.extern sub_021D88E4 -.extern sub_021D88E4 -.extern sub_021D88E4 -.extern sub_021D89CC -.extern sub_021D8B64 -.extern sub_021D8B64 -.extern sub_021D8B64 -.extern sub_021D8B64 -.extern sub_021D8B64 -.extern sub_021D8B64 -.extern sub_021D8C24 -.extern sub_021D917C -.extern sub_021D959C -.extern sub_021D959C -.extern sub_021D959C -.extern sub_021D959C -.extern sub_021D967C -.extern sub_021D967C -.extern sub_021D967C -.extern sub_021D967C -.extern sub_021D96F4 -.extern sub_021D96F4 -.extern sub_021D96F4 -.extern sub_021D96F4 -.extern sub_021D96F4 -.extern sub_021D9708 -.extern sub_021D9708 -.extern sub_021D9708 -.extern sub_021D9708 -.extern sub_021D9708 -.extern sub_021D971C -.extern sub_021D971C -.extern sub_021D971C -.extern sub_021D971C -.extern sub_021D971C -.extern sub_021D9820 -.extern sub_021D9820 -.extern sub_021D9820 -.extern sub_021D9820 -.extern sub_021D9820 -.extern sub_021D99F8 -.extern sub_021D99F8 -.extern sub_021D99F8 -.extern sub_021D99F8 -.extern sub_021DA464 -.extern sub_021DA58C -.extern sub_021DA5B8 -.extern sub_021DA5B8 -.extern sub_021DA5C8 -.extern sub_021DA5D0 -.extern sub_021DA5D0 -.extern sub_021DAC70 -.extern sub_021DAE40 -.extern sub_021DAED4 -.extern sub_021DAF28 -.extern sub_021DAF78 -.extern sub_021DAF98 -.extern sub_021DAF98 -.extern sub_021DB030 -.extern sub_021DB030 -.extern sub_021DB030 -.extern sub_021DB7E8 -.extern sub_021DB858 -.extern sub_021DC174 -.extern sub_021DC174 -.extern sub_021DD6F0 -.extern sub_021DD718 -.extern sub_021DD718 -.extern sub_021DDB08 -.extern sub_021E1374 -.extern sub_021E1858 -.extern sub_021E1994 -.extern sub_021E1BF8 -.extern sub_021E1BF8 -.extern sub_021E1C4C -.extern sub_021E1C4C -.extern sub_021E1C54 -.extern sub_021E1C54 -.extern sub_021E1ECC -.extern sub_021E1F34 -.extern sub_021E1F34 -.extern sub_021E1F58 -.extern sub_021E1F60 -.extern sub_021E2464 -.extern sub_021E2608 -.extern sub_021E26CC -.extern sub_021E2B80 -.extern sub_021E2B9C -.extern sub_021E2BB8 -.extern sub_021E2BB8 -.extern sub_021E2BB8 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2BD0 -.extern sub_021E2C24 -.extern sub_021E2C24 -.extern sub_021E2C58 -.extern sub_021E2C58 -.extern sub_021E2C58 -.extern sub_021E2CBC -.extern sub_021E32F0 -.extern sub_021E32F0 -.extern sub_021E331C -.extern sub_021E331C -.extern sub_021E331C -.extern sub_021E3424 -.extern sub_021E3444 -.extern sub_021E495C -.extern sub_021E4C54 -.extern sub_021E4C60 -.extern sub_021E4DE4 -.extern sub_021E5970 -.extern sub_021E5B30 -.extern sub_021E5B30 -.extern sub_021E5B30 -.extern sub_021E5B30 -.extern sub_021E5FD8 -.extern sub_021E5FD8 -.extern sub_021E5FD8 -.extern sub_021E5FD8 -.extern sub_021E5FD8 -.extern sub_021E5FE0 -.extern sub_021E5FE0 -.extern sub_021E5FE0 -.extern sub_021E5FE0 -.extern sub_021E5FE0 -.extern sub_021E5FE0 -.extern sub_021E6410 -.extern sub_021E643C -.extern sub_021E6990 -.extern sub_021E69BC -.extern sub_021E6BF4 -.extern sub_021E7030 -.extern sub_021E70F0 -.extern sub_021E7138 -.extern sub_021E7138 -.extern sub_021E7138 -.extern sub_021E7184 -.extern sub_021E71E8 -.extern sub_021E7750 -.extern sub_021E7750 -.extern sub_021E799C -.extern sub_021E799C -.extern sub_021E7AC0 -.extern sub_021E7AC0 -.extern sub_021E7EA0 -.extern sub_021E7EA0 -.extern sub_021E7EA0 -.extern sub_021E7EB0 -.extern sub_021E7EB0 -.extern sub_021E7EC4 -.extern sub_021E7EC4 -.extern sub_021E7EC4 -.extern sub_021E7EC4 -.extern sub_021E7EC8 -.extern sub_021E7ED0 -.extern sub_021E7ED0 -.extern sub_021E7ED0 -.extern sub_021E7ED0 -.extern sub_021E7ED8 -.extern sub_021E7FBC -.extern sub_021E8128 -.extern sub_021E8128 -.extern sub_021E8130 -.extern sub_021E8130 -.extern sub_021E8130 -.extern sub_021E8140 -.extern sub_021E8140 -.extern sub_021E8144 -.extern sub_021E8148 -.extern sub_021E8148 -.extern sub_021E8158 -.extern sub_021E81BC -.extern sub_021E84F4 -.extern sub_021E856C -.extern sub_021E8588 -.extern sub_021E85E4 -.extern sub_021E85FC -.extern sub_021ECF14 -.extern sub_021ED49C -.extern sub_021ED940 -.extern sub_021EDA48 -.extern sub_021EDBC8 -.extern sub_021EF5E0 -.extern sub_021EF5E0 -.extern sub_021EF604 -.extern sub_021EF604 -.extern sub_021EF604 -.extern sub_021EF604 -.extern sub_021EF620 -.extern sub_021EF654 -.extern sub_021EF824 -.extern sub_021EF824 -.extern sub_021EF824 -.extern sub_021EF844 -.extern sub_021EF844 -.extern sub_021EF8C8 -.extern sub_021EF8DC -.extern sub_021EFA9C -.extern sub_021EFA9C -.extern sub_021F02C4 -.extern sub_021F1D8C -.extern sub_021F1DC8 -.extern sub_021F1DC8 -.extern sub_021F1DC8 -.extern sub_021F1DC8 -.extern sub_021F1DC8 -.extern sub_021F1DFC -.extern sub_021F1EC0 -.extern sub_021F1EC0 -.extern sub_021F1EC0 -.extern sub_021F1F78 -.extern sub_021F1F78 -.extern sub_021F2094 -.extern sub_021F2094 -.extern sub_021F2094 -.extern sub_021F20D8 -.extern sub_021F20F8 -.extern sub_021F2AF4 -.extern sub_021F2E0C -.extern sub_021F2E28 -.extern sub_021F2E28 -.extern sub_021F2E28 -.extern sub_021F2F48 -.extern sub_021F2F48 -.extern sub_021F2F6C -.extern sub_021F3DA4 -.extern sub_021F44D8 -.extern sub_021F4520 -.extern sub_021F4568 -.extern sub_021F45E8 -.extern sub_021F45E8 -.extern sub_021F4608 -.extern sub_021F4608 -.extern sub_021F4BD0 -.extern sub_021F4C88 -.extern sub_021F4D80 -.extern sub_021F4DC8 -.extern sub_021F4E7C -.extern sub_021F57EC -.extern sub_021F5C44 -.extern sub_021F5C44 -.extern sub_021F5C44 -.extern sub_021F5C44 -.extern sub_021F5C44 -.extern sub_021F5C44 -.extern sub_02211E60 -.extern sub_0222DAEC -.extern sub_0222DD1C -.extern sub_0222DD38 -.extern sub_0222E2BC -.extern sub_0222E360 -.extern sub_0222E3A0 -.extern sub_0222E7E8 -.extern sub_0222E874 -.extern sub_0222ED34 -.extern sub_0222EDBC -.extern sub_0222F440 -.extern sub_0222F480 -.extern sub_0222F480 -.extern sub_0222F7E0 -.extern sub_0222F990 -.extern sub_022300D4 -.extern sub_022300D4 -.extern sub_022300DC -.extern sub_022300DC -.extern sub_022300E4 -.extern sub_022300E8 -.extern sub_022300F4 -.extern sub_022300F4 -.extern sub_02230100 -.extern sub_02230100 -.extern sub_0223010C -.extern sub_02230118 -.extern sub_02230118 -.extern sub_02230124 -.extern sub_02230124 -.extern sub_02230F3C -.extern sub_02230F70 -.extern sub_02230F80 -.extern sub_02231344 -.extern sub_02231350 -.extern sub_0223135C -.extern sub_02231368 -.extern sub_02231374 -.extern sub_02239944 -.extern sub_02239AAC -.extern sub_0223CB08 -.extern sub_0223CCDC -.extern sub_0223CD7C -.extern sub_0223CD7C -.extern sub_0223D3D0 -.extern sub_0223D3D0 -.extern sub_0223D3D0 -.extern sub_0223D3D0 -.extern sub_0223D638 -.extern sub_0223D638 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223D648 -.extern sub_0223E060 -.extern sub_0223E1E0 -.extern sub_0223E4A8 -.extern sub_0223E4D4 -.extern sub_0223E554 -.extern sub_0223E6B8 -.extern sub_0223E734 -.extern sub_0223E734 -.extern sub_0223EB8C -.extern sub_0223EF7C -.extern sub_0223F8D8 -.extern sub_02240790 -.extern sub_022407DC -.extern sub_022407F8 -.extern sub_02240844 -.extern sub_0224089C -.extern sub_0224089C -.extern sub_02241230 -.extern sub_02241914 -.extern sub_02242A38 -.extern sub_02244210 -.extern sub_02244558 -.extern sub_02244660 -.extern sub_022446BC -.extern sub_022446E0 -.extern sub_02244D3C -.extern sub_02244D40 -.extern sub_02244D40 -.extern sub_02244D40 -.extern sub_02244D40 -.extern sub_02244D58 -.extern sub_02244D98 -.extern sub_02244D98 -.extern sub_02244DA0 -.extern sub_02244DB0 -.extern sub_02244DB0 -.extern sub_02245114 -.extern sub_02245198 -.extern sub_022451F0 -.extern sub_02245358 -.extern sub_0224566C -.extern sub_02245844 -.extern sub_02245910 -.extern sub_02245910 -.extern sub_02245F1C -.extern sub_02245F4C -.extern sub_02245FA0 -.extern sub_0224666C -.extern sub_0224666C -.extern sub_022466A0 -.extern sub_022466A0 -.extern sub_022466AC -.extern sub_022466AC -.extern sub_02246F1C -.extern sub_02247294 -.extern sub_022472AC -.extern sub_02247544 -.extern sub_02247614 -.extern sub_02247A34 -.extern sub_022483BC -.extern sub_022483E0 -.extern sub_022483EC -.extern sub_022488FC -.extern sub_0224891C -.extern sub_02248B54 -.extern sub_02248B58 -.extern sub_02248B58 -.extern sub_02248B58 -.extern sub_02248B5C -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B60 -.extern sub_02248B6C -.extern sub_02248CD0 -.extern sub_02248DF8 -.extern sub_022494C8 -.extern sub_02249508 -.extern sub_02249668 -.extern sub_02249668 -.extern sub_02249668 -.extern sub_02249668 -.extern sub_022497E8 -.extern sub_022497E8 -.extern sub_02249E6C -.extern sub_02249E78 -.extern sub_02249E84 -.extern sub_02249E90 -.extern sub_0224A310 -.extern sub_0224A310 -.extern sub_0224A528 -.extern sub_0224A528 -.extern sub_0224A7C8 -.extern sub_0224ABAC -.extern sub_0224B124 -.extern sub_0224B124 -.extern sub_0224B2C4 -.extern sub_0224B2C4 -.extern sub_0224B568 -.extern sub_0224B568 -.extern sub_0224B818 -.extern sub_0224B818 -.extern sub_0224B818 -.extern sub_0224B86C -.extern sub_0224B9E0 -.extern sub_0224BBEC -.extern sub_0224BD90 -.extern sub_0224BD90 -.extern sub_0224C038 -.extern sub_0224C038 -.extern sub_0224C678 -.extern sub_0224C6E8 -.extern sub_0224C700 -.extern sub_0224C8C8 -.extern sub_0224CA2C -.extern sub_0224CA54 -.extern sub_0224CA58 -.extern sub_0224CA88 -.extern sub_0224CB30 -.extern sub_0224CECC -.extern sub_0224CECC -.extern sub_0224D2E0 -.extern sub_0224D3E8 -.extern sub_0224D70C -.extern sub_0224D76C -.extern sub_0224D79C -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DCB8 -.extern sub_0224DD94 -.extern sub_0224DDB8 -.extern sub_0224DDB8 -.extern sub_0224E554 -.extern sub_0224E764 -.extern sub_0224E7C4 -.extern sub_0224F12C -.extern sub_0224F12C -.extern sub_0224F12C -.extern sub_02252534 -.extern sub_02252538 -.extern sub_022567E0 -.extern sub_02002C14 -.extern sub_02002C50 -.extern sub_02002C50 -.extern sub_02002C50 -.extern sub_02003B98 -.extern sub_02003C10 -.extern sub_0200A2AC -.extern sub_0200A318 -.extern sub_0200E2D8 -.extern sub_0201259C -.extern sub_020125D4 -.extern sub_02015E30 -.extern sub_02015E60 -.extern sub_02016014 -.extern sub_02016148 -.extern sub_020163BC -.extern sub_02016438 -.extern sub_02016464 -.extern sub_0201B5CC -.extern sub_02020AFC -.extern sub_02020C2C -.extern sub_02022294 -.extern sub_020222C4 -.extern sub_0202254C -.extern sub_020227FC -.extern sub_02023900 -.extern sub_02029EF8 -.extern sub_0202FB80 -.extern sub_020337E8 -.extern sub_02034188 -.extern sub_02089D90 +.extern FUN_02000DF4 +.extern FUN_02000E0C +.extern FUN_02000E7C +.extern FUN_02000E7C +.extern FUN_02000EE8 +.extern FUN_02000F18 +.extern FUN_02000FA4 +.extern FUN_02000FE8 +.extern FUN_0208ACEC +.extern FUN_0208AD80 +.extern FUN_0208AF80 +.extern FUN_0208AF94 +.extern FUN_0208AFA8 +.extern FUN_0208B05C +.extern FUN_0208B128 +.extern FUN_0208B4A0 +.extern FUN_02090CC8 +.extern FUN_02090DB8 +.extern FUN_02096B14 +.extern FUN_02096B78 +.extern FUN_02096CCC +.extern FUN_02096CCC +.extern FUN_02096D2C +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096DA0 +.extern FUN_02096E90 +.extern FUN_02096F18 +.extern FUN_02096F80 +.extern FUN_02096FB0 +.extern FUN_02096FF4 +.extern FUN_0209700C +.extern FUN_0209700C +.extern FUN_0209700C +.extern FUN_0209700C +.extern FUN_020973B4 +.extern FUN_020ADDC0 +.extern FUN_020ADDC8 +.extern FUN_020ADDF0 +.extern FUN_020ADDF0 +.extern FUN_020ADDF0 +.extern FUN_020ADE2C +.extern FUN_020ADFA0 +.extern FUN_020ADFA0 +.extern FUN_020ADFDC +.extern FUN_020ADFE8 +.extern FUN_020ADFE8 +.extern FUN_020AE82C +.extern FUN_020AE8CC +.extern FUN_020AE918 +.extern FUN_020AEB70 +.extern FUN_020AEB70 +.extern FUN_020AEC7C +.extern FUN_020AEC98 +.extern FUN_020AEE40 +.extern FUN_020AEEB8 +.extern FUN_020AEF1C +.extern FUN_020AF894 +.extern FUN_020AF9C4 +.extern FUN_020AFA28 +.extern FUN_020AFA80 +.extern FUN_020AFBA8 +.extern FUN_020AFBFC +.extern FUN_020AFC04 +.extern FUN_020AFC04 +.extern FUN_020AFC04 +.extern FUN_020AFC04 +.extern FUN_020AFC04 +.extern FUN_020AFD88 +.extern FUN_020AFD94 +.extern FUN_020AFD94 +.extern FUN_020AFD94 +.extern FUN_020AFEB8 +.extern FUN_020AFEB8 +.extern FUN_020AFFD8 +.extern FUN_020B0030 +.extern FUN_020B0030 +.extern FUN_020B0030 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B0088 +.extern FUN_020B00F0 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0138 +.extern FUN_020B0180 +.extern FUN_020B0180 +.extern FUN_020B0180 +.extern FUN_020B0180 +.extern FUN_020B0180 +.extern FUN_020B0180 +.extern FUN_020B0250 +.extern FUN_020B0250 +.extern FUN_020B0250 +.extern FUN_020B0250 +.extern FUN_020B02C8 +.extern FUN_020B0448 +.extern FUN_020B0448 +.extern FUN_020B0870 +.extern FUN_020B0870 +.extern FUN_020B0BB0 +.extern FUN_020B0BB0 +.extern FUN_020B0C7C +.extern FUN_020B0C7C +.extern FUN_020B0E34 +.extern FUN_020B0E34 +.extern FUN_020B0FC0 +.extern FUN_020B0FC0 +.extern FUN_020B10E8 +.extern FUN_020B1240 +.extern FUN_020B1240 +.extern FUN_020B1240 +.extern FUN_020B1240 +.extern FUN_020B1240 +.extern FUN_020B1340 +.extern FUN_020B1528 +.extern FUN_020B1528 +.extern FUN_020B1528 +.extern FUN_020B1768 +.extern FUN_020B19C4 +.extern FUN_020B19C4 +.extern FUN_020B19C4 +.extern FUN_020B19C4 +.extern FUN_020B19C4 +.extern FUN_020B19DC +.extern FUN_020B19DC +.extern FUN_020B19DC +.extern FUN_020B19DC +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A14 +.extern FUN_020B1A24 +.extern FUN_020B1A24 +.extern FUN_020B1A24 +.extern FUN_020B1A24 +.extern FUN_020B1A24 +.extern FUN_020B1EA4 +.extern FUN_020B1EC4 +.extern FUN_020B1EE4 +.extern FUN_020B1EFC +.extern FUN_020B1F80 +.extern FUN_020B20C8 +.extern FUN_020B2194 +.extern FUN_020B224C +.extern FUN_020B23D8 +.extern FUN_020B242C +.extern FUN_020B242C +.extern FUN_020B2780 +.extern FUN_020B2794 +.extern FUN_020B28B4 +.extern FUN_020B2A08 +.extern FUN_020B2A08 +.extern FUN_020B2A08 +.extern FUN_020B2B08 +.extern FUN_020B2B58 +.extern FUN_020B2D9C +.extern FUN_020B317C +.extern FUN_020B31F0 +.extern FUN_020B326C +.extern FUN_020B3334 +.extern FUN_020B3390 +.extern FUN_020B33A0 +.extern FUN_020B4358 +.extern FUN_020B43A4 +.extern FUN_020B442C +.extern FUN_020B4568 +.extern FUN_020B4F38 +.extern FUN_020B4F38 +.extern FUN_020B4F38 +.extern FUN_020B502C +.extern FUN_020B502C +.extern FUN_020B772C +.extern FUN_020B7790 +.extern FUN_020B7790 +.extern FUN_020B7C58 +.extern FUN_020B7C58 +.extern FUN_020B7C78 +.extern FUN_020B7C78 +.extern FUN_020B7CDC +.extern FUN_020B7CDC +.extern FUN_020B7CDC +.extern FUN_020B7CE4 +.extern FUN_020B7CE4 +.extern FUN_020B7CE4 +.extern FUN_020B7CE4 +.extern FUN_020B7CE4 +.extern FUN_020B7CF0 +.extern FUN_020B7CF0 +.extern FUN_020B7D28 +.extern FUN_020B7D28 +.extern FUN_020B7DFC +.extern FUN_020B7DFC +.extern FUN_020B7DFC +.extern FUN_020B7E10 +.extern FUN_020B7E10 +.extern FUN_020B7E10 +.extern FUN_020B7E10 +.extern FUN_020B7E10 +.extern FUN_020B7E1C +.extern FUN_020B7E1C +.extern FUN_020B7E1C +.extern FUN_020B7E1C +.extern FUN_020B7E1C +.extern FUN_020B80B4 +.extern FUN_020B80B4 +.extern FUN_020B80B4 +.extern FUN_020B80B4 +.extern FUN_020B844C +.extern FUN_020B844C +.extern FUN_020B844C +.extern FUN_020B8474 +.extern FUN_020B8474 +.extern FUN_020B8474 +.extern FUN_020B8474 +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020B849C +.extern FUN_020BAC98 +.extern FUN_020BAFB8 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB1C0 +.extern FUN_020BB394 +.extern FUN_020BB394 +.extern FUN_020BB394 +.extern FUN_020BB394 +.extern FUN_020BB59C +.extern FUN_020BB59C +.extern FUN_020BB7F4 +.extern FUN_020BB7F4 +.extern FUN_020BC0FC +.extern FUN_020BC0FC +.extern FUN_020BC0FC +.extern FUN_020BC0FC +.extern FUN_020BC0FC +.extern FUN_020BC0FC +.extern FUN_020BC13C +.extern FUN_020BC13C +.extern FUN_020BC13C +.extern FUN_020BC13C +.extern FUN_020BC13C +.extern FUN_020BC2A0 +.extern FUN_020BC2A0 +.extern FUN_020C0174 +.extern FUN_020C01A0 +.extern FUN_020C01D0 +.extern FUN_020C03B8 +.extern FUN_020C041C +.extern FUN_020C044C +.extern FUN_020C04DC +.extern FUN_020C04DC +.extern FUN_020C0510 +.extern FUN_020C054C +.extern FUN_020C0670 +.extern FUN_020C0670 +.extern FUN_020C0688 +.extern FUN_020C0688 +.extern FUN_020C0DD4 +.extern FUN_020C0E14 +.extern FUN_020C0E7C +.extern FUN_020C0E7C +.extern FUN_020C0E7C +.extern FUN_020C0EA4 +.extern FUN_020C0EF4 +.extern FUN_020C0F30 +.extern FUN_020C0F50 +.extern FUN_020C0F68 +.extern FUN_020C0F68 +.extern FUN_020C0F80 +.extern FUN_020C0F8C +.extern FUN_020C0F9C +.extern FUN_020C0FDC +.extern FUN_020C1040 +.extern FUN_020C10A4 +.extern FUN_020C10A4 +.extern FUN_020C10A4 +.extern FUN_020C10A4 +.extern FUN_020C10A4 +.extern FUN_020C1148 +.extern FUN_020C1180 +.extern FUN_020C1E58 +.extern FUN_020C1E68 +.extern FUN_020C1EA4 +.extern FUN_020C1F54 +.extern FUN_020C1FA4 +.extern FUN_020C1FF0 +.extern FUN_020C20DC +.extern FUN_020C2104 +.extern FUN_020C217C +.extern FUN_020C226C +.extern FUN_020C226C +.extern FUN_020C22D0 +.extern FUN_020C23FC +.extern FUN_020C23FC +.extern FUN_020C23FC +.extern FUN_020C26F8 +.extern FUN_020C2828 +.extern FUN_020C290C +.extern FUN_020C2A94 +.extern FUN_020C35E0 +.extern FUN_020C360C +.extern FUN_020C3640 +.extern FUN_020C3674 +.extern FUN_020C36A8 +.extern FUN_020C3910 +.extern FUN_020C3910 +.extern FUN_020C3910 +.extern FUN_020C3910 +.extern FUN_020C3980 +.extern FUN_020C3980 +.extern FUN_020C3980 +.extern FUN_020C3980 +.extern FUN_020C3980 +.extern FUN_020C39CC +.extern FUN_020C3EA4 +.extern FUN_020C3EB0 +.extern FUN_020C3F14 +.extern FUN_020C3F14 +.extern FUN_020C3F38 +.extern FUN_020C3F38 +.extern FUN_020C3F54 +.extern FUN_020C3F54 +.extern FUN_020C3F70 +.extern FUN_020C3F70 +.extern FUN_020C400C +.extern FUN_020C400C +.extern FUN_020C400C +.extern FUN_020C400C +.extern FUN_020C504C +.extern FUN_020C504C +.extern FUN_020C50B8 +.extern FUN_020C50B8 +.extern FUN_020C50B8 +.extern FUN_020C5288 +.extern FUN_020C5288 +.extern FUN_020C5288 +.extern FUN_020C53C8 +.extern FUN_020C5588 +.extern FUN_020C5600 +.extern FUN_020C5600 +.extern FUN_020C5600 +.extern FUN_020C5634 +.extern FUN_020C5634 +.extern FUN_020C5634 +.extern FUN_020C5634 +.extern FUN_020C5668 +.extern FUN_020C5974 +.extern FUN_020C5978 +.extern FUN_020C5978 +.extern FUN_020C59A4 +.extern FUN_020C59A4 +.extern FUN_020C59C0 +.extern FUN_020C59C0 +.extern FUN_020C5A34 +.extern FUN_020C5A80 +.extern FUN_020C5AC8 +.extern FUN_020C5AF8 +.extern FUN_020C5AF8 +.extern FUN_020C5B28 +.extern FUN_020C5D2C +.extern FUN_020C5D4C +.extern FUN_020C5D4C +.extern FUN_020C5D9C +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5DBC +.extern FUN_020C5E54 +.extern FUN_020C600C +.extern FUN_020C6034 +.extern FUN_020C605C +.extern FUN_020C6070 +.extern FUN_020C6098 +.extern FUN_020C60AC +.extern FUN_020C60C0 +.extern FUN_020C60E4 +.extern FUN_020C6108 +.extern FUN_020C611C +.extern FUN_020C6168 +.extern FUN_020C61F4 +.extern FUN_020C6280 +.extern FUN_020C62FC +.extern FUN_020C63A8 +.extern FUN_020C65C0 +.extern FUN_020C66B4 +.extern FUN_020C68B8 +.extern FUN_020C6970 +.extern FUN_020C6A84 +.extern FUN_020C6BF0 +.extern FUN_020C7124 +.extern FUN_020C74B8 +.extern FUN_020C74B8 +.extern FUN_020C74B8 +.extern FUN_020C74B8 +.extern FUN_020C74B8 +.extern FUN_020C74B8 +.extern FUN_020C74DC +.extern FUN_020C74DC +.extern FUN_020C74DC +.extern FUN_020C74DC +.extern FUN_020C74DC +.extern FUN_020C74DC +.extern FUN_020C74F8 +.extern FUN_020C74F8 +.extern FUN_020C74F8 +.extern FUN_020C74F8 +.extern FUN_020C74F8 +.extern FUN_020C7A14 +.extern FUN_020C7B3C +.extern FUN_020C7B3C +.extern FUN_020C7B3C +.extern FUN_020C7B3C +.extern FUN_020C7B3C +.extern FUN_020C7C28 +.extern FUN_020C7C28 +.extern FUN_020C7C28 +.extern FUN_020C7C28 +.extern FUN_020C7C28 +.extern FUN_020C7D28 +.extern FUN_020C7D28 +.extern FUN_020C7E0C +.extern FUN_020C7E94 +.extern FUN_020C7FF0 +.extern FUN_020C7FF0 +.extern FUN_020C802C +.extern FUN_020C8068 +.extern FUN_020C80A4 +.extern FUN_020C823C +.extern FUN_020C8538 +.extern FUN_020C8A2C +.extern FUN_020C8B10 +.extern FUN_020C8EEC +.extern FUN_020C922C +.extern FUN_020C9294 +.extern FUN_020C9294 +.extern FUN_020C9294 +.extern FUN_020C9294 +.extern FUN_020C92F4 +.extern FUN_020C92F4 +.extern FUN_020C92F4 +.extern FUN_020C92F4 +.extern FUN_020C9354 +.extern FUN_020C93BC +.extern FUN_020C9418 +.extern FUN_020C9480 +.extern FUN_020C9480 +.extern FUN_020C9480 +.extern FUN_020C9480 +.extern FUN_020C94E8 +.extern FUN_020C94E8 +.extern FUN_020C94E8 +.extern FUN_020C94E8 +.extern FUN_020C9550 +.extern FUN_020C9550 +.extern FUN_020C9550 +.extern FUN_020C9550 +.extern FUN_020C9550 +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9C0C +.extern FUN_020C9E14 +.extern FUN_020C9E14 +.extern FUN_020C9E14 +.extern FUN_020C9E14 +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9E5C +.extern FUN_020C9FEC +.extern FUN_020C9FEC +.extern FUN_020C9FEC +.extern FUN_020C9FEC +.extern FUN_020C9FEC +.extern FUN_020C9FEC +.extern FUN_020CA0A0 +.extern FUN_020CA0A0 +.extern FUN_020CA0A0 +.extern FUN_020CA0F8 +.extern FUN_020CA0F8 +.extern FUN_020CA0F8 +.extern FUN_020CA0F8 +.extern FUN_020CC124 +.extern FUN_020CC124 +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC15C +.extern FUN_020CC180 +.extern FUN_020CC1B4 +.extern FUN_020CC204 +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC26C +.extern FUN_020CC2F4 +.extern FUN_020CC308 +.extern FUN_020CC31C +.extern FUN_020CC408 +.extern FUN_020CCD64 +.extern FUN_020CD310 +.extern FUN_020CD310 +.extern FUN_020CD310 +.extern FUN_020CD324 +.extern FUN_020CD324 +.extern FUN_020CD324 +.extern FUN_020CD374 +.extern FUN_020CD374 +.extern FUN_020CD374 +.extern FUN_020CD374 +.extern FUN_020CD374 +.extern FUN_020CD3B4 +.extern FUN_020CD3B4 +.extern FUN_020CD3B4 +.extern FUN_020CD3B4 +.extern FUN_020CD3B4 +.extern FUN_020CD3B4 +.extern FUN_020CD510 +.extern FUN_020CD510 +.extern FUN_020CD510 +.extern FUN_020CD510 +.extern FUN_020CD524 +.extern FUN_020CD5A0 +.extern FUN_020CD5A0 +.extern FUN_020CD5A0 +.extern FUN_020CD5A0 +.extern FUN_020CD5A0 +.extern FUN_020CD5A0 +.extern FUN_020CD754 +.extern FUN_020CD850 +.extern FUN_020CD850 +.extern FUN_020CD850 +.extern FUN_020CD850 +.extern FUN_020CD998 +.extern FUN_020CDA1C +.extern FUN_020CDA1C +.extern FUN_020CDD90 +.extern FUN_020CDE04 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1C8 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1E0 +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE1FC +.extern FUN_020CE210 +.extern FUN_020CE210 +.extern FUN_020CE210 +.extern FUN_020CE210 +.extern FUN_020CE210 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE240 +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE28C +.extern FUN_020CE2E0 +.extern FUN_020CE2E0 +.extern FUN_020CE2E0 +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE34C +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE3E0 +.extern FUN_020CE528 +.extern FUN_020CE528 +.extern FUN_020CE528 +.extern FUN_020CE528 +.extern FUN_020CF768 +.extern FUN_020D1148 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D17A0 +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D180C +.extern FUN_020D182C +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D18FC +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1944 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1C94 +.extern FUN_020D1CC4 +.extern FUN_020D1CD4 +.extern FUN_020D1D10 +.extern FUN_020D1D10 +.extern FUN_020D1D30 +.extern FUN_020D1D30 +.extern FUN_020D2040 +.extern FUN_020D2094 +.extern FUN_020D2210 +.extern FUN_020D2210 +.extern FUN_020D23B4 +.extern FUN_020D2454 +.extern FUN_020D24EC +.extern FUN_020D24EC +.extern FUN_020D24EC +.extern FUN_020D24EC +.extern FUN_020D36C4 +.extern FUN_020D36C4 +.extern FUN_020D36D8 +.extern FUN_020D36D8 +.extern FUN_020D36F0 +.extern FUN_020D36F0 +.extern FUN_020D3A90 +.extern FUN_020D3AA0 +.extern FUN_020D3C14 +.extern FUN_020D3CB8 +.extern FUN_020D3DCC +.extern FUN_020D3E24 +.extern FUN_020D3EC4 +.extern FUN_020D3EC4 +.extern FUN_020D400C +.extern FUN_020D40B8 +.extern FUN_020D4718 +.extern FUN_020D47CC +.extern FUN_020D4980 +.extern FUN_020D4A5C +.extern FUN_020D4E68 +.extern FUN_020D50D8 +.extern FUN_020D5150 +.extern FUN_020D5168 +.extern FUN_020D5180 +.extern FUN_020D526C +.extern FUN_020D526C +.extern FUN_020D5F40 +.extern FUN_020D614C +.extern FUN_020D6320 +.extern FUN_020D6320 +.extern FUN_020D6578 +.extern FUN_020D6578 +.extern FUN_020D6578 +.extern FUN_020D6578 +.extern FUN_020D660C +.extern FUN_020D660C +.extern FUN_020D660C +.extern FUN_020D660C +.extern FUN_020D660C +.extern FUN_020D66A0 +.extern FUN_020D66A0 +.extern FUN_020D66A0 +.extern FUN_020D66A0 +.extern FUN_020D66B0 +.extern FUN_020D66B0 +.extern FUN_020D66B0 +.extern FUN_020D6700 +.extern FUN_020D6DAC +.extern FUN_020D6DB8 +.extern FUN_020D6DC4 +.extern FUN_020D6DC4 +.extern FUN_020D6F20 +.extern FUN_020D6F20 +.extern FUN_020D6F20 +.extern FUN_020D7228 +.extern FUN_020D7D18 +.extern FUN_020D7E9C +.extern FUN_020D8A4C +.extern FUN_020D8AF0 +.extern FUN_020D8B94 +.extern FUN_020D8C3C +.extern FUN_020D8C3C +.extern FUN_020D8F34 +.extern FUN_020D9014 +.extern FUN_020D9060 +.extern FUN_020D9060 +.extern FUN_020D9168 +.extern FUN_020D9244 +.extern FUN_020D940C +.extern FUN_020D950C +.extern FUN_020D9554 +.extern FUN_020D9624 +.extern FUN_020D972C +.extern FUN_020D9774 +.extern FUN_020D97B4 +.extern FUN_020D9960 +.extern FUN_020D9960 +.extern FUN_020D99EC +.extern FUN_020D9B48 +.extern FUN_020D9B48 +.extern FUN_020DAD74 +.extern FUN_020DADD4 +.extern FUN_020DAF30 +.extern FUN_020DB7A8 +.extern FUN_020DDC5C +.extern FUN_020DDC5C +.extern FUN_020DDCE4 +.extern FUN_020DDD28 +.extern FUN_020DDD28 +.extern FUN_020DDD60 +.extern FUN_020DDD60 +.extern FUN_020DDE44 +.extern FUN_020DDE44 +.extern FUN_020DDF60 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DE3F0 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF438 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF4A4 +.extern FUN_020DF510 +.extern FUN_020E2EAC +.extern FUN_020E2EC8 +.extern FUN_020E2EC8 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EA980 +.extern FUN_020EAEF0 +.extern FUN_020EAEF0 +.extern FUN_020EAEF0 +.extern FUN_020EB010 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB084 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4C0 +.extern FUN_020EB4F4 +.extern FUN_020EB4F4 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB534 +.extern FUN_020EB57C +.extern FUN_020EB57C +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB5C4 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EB7B0 +.extern FUN_020EBA38 +.extern FUN_020EBA38 +.extern FUN_020EBBE8 +.extern FUN_020EBBE8 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC30 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBC80 +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EBE8C +.extern FUN_020EC5CC +.extern FUN_020EC694 +.extern FUN_021D78FC +.extern FUN_021D78FC +.extern FUN_021D79B4 +.extern FUN_021D79B4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7CA4 +.extern FUN_021D7F8C +.extern FUN_021D8018 +.extern FUN_021D8018 +.extern FUN_021D8164 +.extern FUN_021D82BC +.extern FUN_021D8320 +.extern FUN_021D836C +.extern FUN_021D83C0 +.extern FUN_021D83C0 +.extern FUN_021D844C +.extern FUN_021D85FC +.extern FUN_021D8624 +.extern FUN_021D88E4 +.extern FUN_021D88E4 +.extern FUN_021D88E4 +.extern FUN_021D88E4 +.extern FUN_021D88E4 +.extern FUN_021D89CC +.extern FUN_021D8B64 +.extern FUN_021D8B64 +.extern FUN_021D8B64 +.extern FUN_021D8B64 +.extern FUN_021D8B64 +.extern FUN_021D8B64 +.extern FUN_021D8C24 +.extern FUN_021D917C +.extern FUN_021D959C +.extern FUN_021D959C +.extern FUN_021D959C +.extern FUN_021D959C +.extern FUN_021D967C +.extern FUN_021D967C +.extern FUN_021D967C +.extern FUN_021D967C +.extern FUN_021D96F4 +.extern FUN_021D96F4 +.extern FUN_021D96F4 +.extern FUN_021D96F4 +.extern FUN_021D96F4 +.extern FUN_021D9708 +.extern FUN_021D9708 +.extern FUN_021D9708 +.extern FUN_021D9708 +.extern FUN_021D9708 +.extern FUN_021D971C +.extern FUN_021D971C +.extern FUN_021D971C +.extern FUN_021D971C +.extern FUN_021D971C +.extern FUN_021D9820 +.extern FUN_021D9820 +.extern FUN_021D9820 +.extern FUN_021D9820 +.extern FUN_021D9820 +.extern FUN_021D99F8 +.extern FUN_021D99F8 +.extern FUN_021D99F8 +.extern FUN_021D99F8 +.extern FUN_021DA464 +.extern FUN_021DA58C +.extern FUN_021DA5B8 +.extern FUN_021DA5B8 +.extern FUN_021DA5C8 +.extern FUN_021DA5D0 +.extern FUN_021DA5D0 +.extern FUN_021DAC70 +.extern FUN_021DAE40 +.extern FUN_021DAED4 +.extern FUN_021DAF28 +.extern FUN_021DAF78 +.extern FUN_021DAF98 +.extern FUN_021DAF98 +.extern FUN_021DB030 +.extern FUN_021DB030 +.extern FUN_021DB030 +.extern FUN_021DB7E8 +.extern FUN_021DB858 +.extern FUN_021DC174 +.extern FUN_021DC174 +.extern FUN_021DD6F0 +.extern FUN_021DD718 +.extern FUN_021DD718 +.extern FUN_021DDB08 +.extern FUN_021E1374 +.extern FUN_021E1858 +.extern FUN_021E1994 +.extern FUN_021E1BF8 +.extern FUN_021E1BF8 +.extern FUN_021E1C4C +.extern FUN_021E1C4C +.extern FUN_021E1C54 +.extern FUN_021E1C54 +.extern FUN_021E1ECC +.extern FUN_021E1F34 +.extern FUN_021E1F34 +.extern FUN_021E1F58 +.extern FUN_021E1F60 +.extern FUN_021E2464 +.extern FUN_021E2608 +.extern FUN_021E26CC +.extern FUN_021E2B80 +.extern FUN_021E2B9C +.extern FUN_021E2BB8 +.extern FUN_021E2BB8 +.extern FUN_021E2BB8 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2BD0 +.extern FUN_021E2C24 +.extern FUN_021E2C24 +.extern FUN_021E2C58 +.extern FUN_021E2C58 +.extern FUN_021E2C58 +.extern FUN_021E2CBC +.extern FUN_021E32F0 +.extern FUN_021E32F0 +.extern FUN_021E331C +.extern FUN_021E331C +.extern FUN_021E331C +.extern FUN_021E3424 +.extern FUN_021E3444 +.extern FUN_021E495C +.extern FUN_021E4C54 +.extern FUN_021E4C60 +.extern FUN_021E4DE4 +.extern FUN_021E5970 +.extern FUN_021E5B30 +.extern FUN_021E5B30 +.extern FUN_021E5B30 +.extern FUN_021E5B30 +.extern FUN_021E5FD8 +.extern FUN_021E5FD8 +.extern FUN_021E5FD8 +.extern FUN_021E5FD8 +.extern FUN_021E5FD8 +.extern FUN_021E5FE0 +.extern FUN_021E5FE0 +.extern FUN_021E5FE0 +.extern FUN_021E5FE0 +.extern FUN_021E5FE0 +.extern FUN_021E5FE0 +.extern FUN_021E6410 +.extern FUN_021E643C +.extern FUN_021E6990 +.extern FUN_021E69BC +.extern FUN_021E6BF4 +.extern FUN_021E7030 +.extern FUN_021E70F0 +.extern FUN_021E7138 +.extern FUN_021E7138 +.extern FUN_021E7138 +.extern FUN_021E7184 +.extern FUN_021E71E8 +.extern FUN_021E7750 +.extern FUN_021E7750 +.extern FUN_021E799C +.extern FUN_021E799C +.extern FUN_021E7AC0 +.extern FUN_021E7AC0 +.extern FUN_021E7EA0 +.extern FUN_021E7EA0 +.extern FUN_021E7EA0 +.extern FUN_021E7EB0 +.extern FUN_021E7EB0 +.extern FUN_021E7EC4 +.extern FUN_021E7EC4 +.extern FUN_021E7EC4 +.extern FUN_021E7EC4 +.extern FUN_021E7EC8 +.extern FUN_021E7ED0 +.extern FUN_021E7ED0 +.extern FUN_021E7ED0 +.extern FUN_021E7ED0 +.extern FUN_021E7ED8 +.extern FUN_021E7FBC +.extern FUN_021E8128 +.extern FUN_021E8128 +.extern FUN_021E8130 +.extern FUN_021E8130 +.extern FUN_021E8130 +.extern FUN_021E8140 +.extern FUN_021E8140 +.extern FUN_021E8144 +.extern FUN_021E8148 +.extern FUN_021E8148 +.extern FUN_021E8158 +.extern FUN_021E81BC +.extern FUN_021E84F4 +.extern FUN_021E856C +.extern FUN_021E8588 +.extern FUN_021E85E4 +.extern FUN_021E85FC +.extern FUN_021ECF14 +.extern FUN_021ED49C +.extern FUN_021ED940 +.extern FUN_021EDA48 +.extern FUN_021EDBC8 +.extern FUN_021EF5E0 +.extern FUN_021EF5E0 +.extern FUN_021EF604 +.extern FUN_021EF604 +.extern FUN_021EF604 +.extern FUN_021EF604 +.extern FUN_021EF620 +.extern FUN_021EF654 +.extern FUN_021EF824 +.extern FUN_021EF824 +.extern FUN_021EF824 +.extern FUN_021EF844 +.extern FUN_021EF844 +.extern FUN_021EF8C8 +.extern FUN_021EF8DC +.extern FUN_021EFA9C +.extern FUN_021EFA9C +.extern FUN_021F02C4 +.extern FUN_021F1D8C +.extern FUN_021F1DC8 +.extern FUN_021F1DC8 +.extern FUN_021F1DC8 +.extern FUN_021F1DC8 +.extern FUN_021F1DC8 +.extern FUN_021F1DFC +.extern FUN_021F1EC0 +.extern FUN_021F1EC0 +.extern FUN_021F1EC0 +.extern FUN_021F1F78 +.extern FUN_021F1F78 +.extern FUN_021F2094 +.extern FUN_021F2094 +.extern FUN_021F2094 +.extern FUN_021F20D8 +.extern FUN_021F20F8 +.extern FUN_021F2AF4 +.extern FUN_021F2E0C +.extern FUN_021F2E28 +.extern FUN_021F2E28 +.extern FUN_021F2E28 +.extern FUN_021F2F48 +.extern FUN_021F2F48 +.extern FUN_021F2F6C +.extern FUN_021F3DA4 +.extern FUN_021F44D8 +.extern FUN_021F4520 +.extern FUN_021F4568 +.extern FUN_021F45E8 +.extern FUN_021F45E8 +.extern FUN_021F4608 +.extern FUN_021F4608 +.extern FUN_021F4BD0 +.extern FUN_021F4C88 +.extern FUN_021F4D80 +.extern FUN_021F4DC8 +.extern FUN_021F4E7C +.extern FUN_021F57EC +.extern FUN_021F5C44 +.extern FUN_021F5C44 +.extern FUN_021F5C44 +.extern FUN_021F5C44 +.extern FUN_021F5C44 +.extern FUN_021F5C44 +.extern FUN_02211E60 +.extern FUN_0222DAEC +.extern FUN_0222DD1C +.extern FUN_0222DD38 +.extern FUN_0222E2BC +.extern FUN_0222E360 +.extern FUN_0222E3A0 +.extern FUN_0222E7E8 +.extern FUN_0222E874 +.extern FUN_0222ED34 +.extern FUN_0222EDBC +.extern FUN_0222F440 +.extern FUN_0222F480 +.extern FUN_0222F480 +.extern FUN_0222F7E0 +.extern FUN_0222F990 +.extern FUN_022300D4 +.extern FUN_022300D4 +.extern FUN_022300DC +.extern FUN_022300DC +.extern FUN_022300E4 +.extern FUN_022300E8 +.extern FUN_022300F4 +.extern FUN_022300F4 +.extern FUN_02230100 +.extern FUN_02230100 +.extern FUN_0223010C +.extern FUN_02230118 +.extern FUN_02230118 +.extern FUN_02230124 +.extern FUN_02230124 +.extern FUN_02230F3C +.extern FUN_02230F70 +.extern FUN_02230F80 +.extern FUN_02231344 +.extern FUN_02231350 +.extern FUN_0223135C +.extern FUN_02231368 +.extern FUN_02231374 +.extern FUN_02239944 +.extern FUN_02239AAC +.extern FUN_0223CB08 +.extern FUN_0223CCDC +.extern FUN_0223CD7C +.extern FUN_0223CD7C +.extern FUN_0223D3D0 +.extern FUN_0223D3D0 +.extern FUN_0223D3D0 +.extern FUN_0223D3D0 +.extern FUN_0223D638 +.extern FUN_0223D638 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223D648 +.extern FUN_0223E060 +.extern FUN_0223E1E0 +.extern FUN_0223E4A8 +.extern FUN_0223E4D4 +.extern FUN_0223E554 +.extern FUN_0223E6B8 +.extern FUN_0223E734 +.extern FUN_0223E734 +.extern FUN_0223EB8C +.extern FUN_0223EF7C +.extern FUN_0223F8D8 +.extern FUN_02240790 +.extern FUN_022407DC +.extern FUN_022407F8 +.extern FUN_02240844 +.extern FUN_0224089C +.extern FUN_0224089C +.extern FUN_02241230 +.extern FUN_02241914 +.extern FUN_02242A38 +.extern FUN_02244210 +.extern FUN_02244558 +.extern FUN_02244660 +.extern FUN_022446BC +.extern FUN_022446E0 +.extern FUN_02244D3C +.extern FUN_02244D40 +.extern FUN_02244D40 +.extern FUN_02244D40 +.extern FUN_02244D40 +.extern FUN_02244D58 +.extern FUN_02244D98 +.extern FUN_02244D98 +.extern FUN_02244DA0 +.extern FUN_02244DB0 +.extern FUN_02244DB0 +.extern FUN_02245114 +.extern FUN_02245198 +.extern FUN_022451F0 +.extern FUN_02245358 +.extern FUN_0224566C +.extern FUN_02245844 +.extern FUN_02245910 +.extern FUN_02245910 +.extern FUN_02245F1C +.extern FUN_02245F4C +.extern FUN_02245FA0 +.extern FUN_0224666C +.extern FUN_0224666C +.extern FUN_022466A0 +.extern FUN_022466A0 +.extern FUN_022466AC +.extern FUN_022466AC +.extern FUN_02246F1C +.extern FUN_02247294 +.extern FUN_022472AC +.extern FUN_02247544 +.extern FUN_02247614 +.extern FUN_02247A34 +.extern FUN_022483BC +.extern FUN_022483E0 +.extern FUN_022483EC +.extern FUN_022488FC +.extern FUN_0224891C +.extern FUN_02248B54 +.extern FUN_02248B58 +.extern FUN_02248B58 +.extern FUN_02248B58 +.extern FUN_02248B5C +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B60 +.extern FUN_02248B6C +.extern FUN_02248CD0 +.extern FUN_02248DF8 +.extern FUN_022494C8 +.extern FUN_02249508 +.extern FUN_02249668 +.extern FUN_02249668 +.extern FUN_02249668 +.extern FUN_02249668 +.extern FUN_022497E8 +.extern FUN_022497E8 +.extern FUN_02249E6C +.extern FUN_02249E78 +.extern FUN_02249E84 +.extern FUN_02249E90 +.extern FUN_0224A310 +.extern FUN_0224A310 +.extern FUN_0224A528 +.extern FUN_0224A528 +.extern FUN_0224A7C8 +.extern FUN_0224ABAC +.extern FUN_0224B124 +.extern FUN_0224B124 +.extern FUN_0224B2C4 +.extern FUN_0224B2C4 +.extern FUN_0224B568 +.extern FUN_0224B568 +.extern FUN_0224B818 +.extern FUN_0224B818 +.extern FUN_0224B818 +.extern FUN_0224B86C +.extern FUN_0224B9E0 +.extern FUN_0224BBEC +.extern FUN_0224BD90 +.extern FUN_0224BD90 +.extern FUN_0224C038 +.extern FUN_0224C038 +.extern FUN_0224C678 +.extern FUN_0224C6E8 +.extern FUN_0224C700 +.extern FUN_0224C8C8 +.extern FUN_0224CA2C +.extern FUN_0224CA54 +.extern FUN_0224CA58 +.extern FUN_0224CA88 +.extern FUN_0224CB30 +.extern FUN_0224CECC +.extern FUN_0224CECC +.extern FUN_0224D2E0 +.extern FUN_0224D3E8 +.extern FUN_0224D70C +.extern FUN_0224D76C +.extern FUN_0224D79C +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DCB8 +.extern FUN_0224DD94 +.extern FUN_0224DDB8 +.extern FUN_0224DDB8 +.extern FUN_0224E554 +.extern FUN_0224E764 +.extern FUN_0224E7C4 +.extern FUN_0224F12C +.extern FUN_0224F12C +.extern FUN_0224F12C +.extern FUN_02252534 +.extern FUN_02252538 +.extern FUN_022567E0 +.extern FUN_02002C14 +.extern FUN_02002C50 +.extern FUN_02002C50 +.extern FUN_02002C50 +.extern FUN_02003B98 +.extern FUN_02003C10 +.extern FUN_0200A2AC +.extern FUN_0200A318 +.extern FUN_0200E2D8 +.extern FUN_0201259C +.extern FUN_020125D4 +.extern FUN_02015E30 +.extern FUN_02015E60 +.extern FUN_02016014 +.extern FUN_02016148 +.extern FUN_020163BC +.extern FUN_02016438 +.extern FUN_02016464 +.extern FUN_0201B5CC +.extern FUN_02020AFC +.extern FUN_02020C2C +.extern FUN_02022294 +.extern FUN_020222C4 +.extern FUN_0202254C +.extern FUN_020227FC +.extern FUN_02023900 +.extern FUN_02029EF8 +.extern FUN_0202FB80 +.extern FUN_020337E8 +.extern FUN_02034188 +.extern FUN_02089D90 diff --git a/pokediamond.lcf b/pokediamond.lcf index 6e7a6370..0184ebc8 100644 --- a/pokediamond.lcf +++ b/pokediamond.lcf @@ -20,7 +20,7 @@ SECTIONS { secure.o (.text) entry.o (.text) main.o (.text) - sub_02000DF4.o (.text) + FUN_02000DF4.o (.text) arm9_thumb.o (.text) rom2.o (.text) } > arm9 diff --git a/src/FUN_02000DF4.c b/src/FUN_02000DF4.c new file mode 100644 index 00000000..c4532fdd --- /dev/null +++ b/src/FUN_02000DF4.c @@ -0,0 +1,24 @@ +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned long u32; +typedef signed char s8; +typedef signed short s16; +typedef signed long s32; + +struct Unk2106FA0 { + u8 filler0[0x8]; + s32 unk8; + s32 unkC; + s32 unk10; + s32 unk14; +}; + +extern struct Unk2106FA0 gUnknown2106FA0; + +void FUN_02000DF4(void) +{ + gUnknown2106FA0.unk8 = -1; + gUnknown2106FA0.unkC = 0; + gUnknown2106FA0.unk10 = -1; + gUnknown2106FA0.unk14 = 0; +} diff --git a/src/sub_02000DF4.c b/src/sub_02000DF4.c deleted file mode 100644 index a0c58183..00000000 --- a/src/sub_02000DF4.c +++ /dev/null @@ -1,24 +0,0 @@ -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned long u32; -typedef signed char s8; -typedef signed short s16; -typedef signed long s32; - -struct Unk2106FA0 { - u8 filler0[0x8]; - s32 unk8; - s32 unkC; - s32 unk10; - s32 unk14; -}; - -extern struct Unk2106FA0 gUnknown2106FA0; - -void sub_02000DF4(void) -{ - gUnknown2106FA0.unk8 = -1; - gUnknown2106FA0.unkC = 0; - gUnknown2106FA0.unk10 = -1; - gUnknown2106FA0.unk14 = 0; -} diff --git a/undefined_syms.txt b/undefined_syms.txt index ebc24aa8..4013a244 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1,2963 +1,2963 @@ gUnknown2106FA0 = 0x2106FA0; -sub_0200019E = 0x0200019E; -sub_0200019E = 0x0200019E; -sub_02000DF4 = 0x02000DF4; -sub_02000E0C = 0x02000E0C; -sub_02000E7C = 0x02000E7C; -sub_02000E7C = 0x02000E7C; -sub_02000EE8 = 0x02000EE8; -sub_02000F18 = 0x02000F18; -sub_02000FA4 = 0x02000FA4; -sub_02000FE8 = 0x02000FE8; -sub_02002C14 = 0x02002C14; -sub_02002C50 = 0x02002C50; -sub_02002C50 = 0x02002C50; -sub_02002C50 = 0x02002C50; -sub_02003B98 = 0x02003B98; -sub_02003C10 = 0x02003C10; -sub_0200A2AC = 0x0200A2AC; -sub_0200A318 = 0x0200A318; -sub_0200E2D8 = 0x0200E2D8; -sub_0201259C = 0x0201259C; -sub_020125D4 = 0x020125D4; -sub_02015E30 = 0x02015E30; -sub_02015E60 = 0x02015E60; -sub_02016148 = 0x02016148; -sub_020163BC = 0x020163BC; -sub_02016438 = 0x02016438; -sub_02016464 = 0x02016464; -sub_0201B5CC = 0x0201B5CC; -sub_02020AFC = 0x02020AFC; -sub_02020C2C = 0x02020C2C; -sub_02022294 = 0x02022294; -sub_020222C4 = 0x020222C4; -sub_0202254C = 0x0202254C; -sub_020227FC = 0x020227FC; -sub_02023900 = 0x02023900; -sub_02029EF8 = 0x02029EF8; -sub_0202FB80 = 0x0202FB80; -sub_020337E8 = 0x020337E8; -sub_02034188 = 0x02034188; -sub_02089D90 = 0x02089D90; -sub_0208ACEC = 0x0208ACEC; -sub_0208AD80 = 0x0208AD80; -sub_0208AF80 = 0x0208AF80; -sub_0208AF94 = 0x0208AF94; -sub_0208AFA8 = 0x0208AFA8; -sub_0208B05C = 0x0208B05C; -sub_0208B128 = 0x0208B128; -sub_0208B4A0 = 0x0208B4A0; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090CC8 = 0x02090CC8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02090DB8 = 0x02090DB8; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B14 = 0x02096B14; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096B78 = 0x02096B78; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096CCC = 0x02096CCC; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096D2C = 0x02096D2C; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096DA0 = 0x02096DA0; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096E90 = 0x02096E90; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F18 = 0x02096F18; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096F80 = 0x02096F80; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FB0 = 0x02096FB0; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_02096FF4 = 0x02096FF4; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_0209700C = 0x0209700C; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020973B4 = 0x020973B4; -sub_020ADDC0 = 0x020ADDC0; -sub_020ADDC8 = 0x020ADDC8; -sub_020ADDF0 = 0x020ADDF0; -sub_020ADDF0 = 0x020ADDF0; -sub_020ADDF0 = 0x020ADDF0; -sub_020ADE2C = 0x020ADE2C; -sub_020ADFA0 = 0x020ADFA0; -sub_020ADFA0 = 0x020ADFA0; -sub_020ADFDC = 0x020ADFDC; -sub_020ADFE8 = 0x020ADFE8; -sub_020ADFE8 = 0x020ADFE8; -sub_020AE82C = 0x020AE82C; -sub_020AE8CC = 0x020AE8CC; -sub_020AE918 = 0x020AE918; -sub_020AEB70 = 0x020AEB70; -sub_020AEB70 = 0x020AEB70; -sub_020AEB70 = 0x020AEB70; -sub_020AEC7C = 0x020AEC7C; -sub_020AEC98 = 0x020AEC98; -sub_020AEE40 = 0x020AEE40; -sub_020AEE40 = 0x020AEE40; -sub_020AEEB8 = 0x020AEEB8; -sub_020AEEB8 = 0x020AEEB8; -sub_020AEF1C = 0x020AEF1C; -sub_020AEF1C = 0x020AEF1C; -sub_020AF894 = 0x020AF894; -sub_020AF9C4 = 0x020AF9C4; -sub_020AF9C4 = 0x020AF9C4; -sub_020AFA28 = 0x020AFA28; -sub_020AFA28 = 0x020AFA28; -sub_020AFA80 = 0x020AFA80; -sub_020AFBA8 = 0x020AFBA8; -sub_020AFBA8 = 0x020AFBA8; -sub_020AFBFC = 0x020AFBFC; -sub_020AFBFC = 0x020AFBFC; -sub_020AFC04 = 0x020AFC04; -sub_020AFC04 = 0x020AFC04; -sub_020AFC04 = 0x020AFC04; -sub_020AFC04 = 0x020AFC04; -sub_020AFC04 = 0x020AFC04; -sub_020AFC04 = 0x020AFC04; -sub_020AFD88 = 0x020AFD88; -sub_020AFD94 = 0x020AFD94; -sub_020AFD94 = 0x020AFD94; -sub_020AFD94 = 0x020AFD94; -sub_020AFD94 = 0x020AFD94; -sub_020AFEB8 = 0x020AFEB8; -sub_020AFEB8 = 0x020AFEB8; -sub_020AFFD8 = 0x020AFFD8; -sub_020B0030 = 0x020B0030; -sub_020B0030 = 0x020B0030; -sub_020B0030 = 0x020B0030; -sub_020B0030 = 0x020B0030; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B0088 = 0x020B0088; -sub_020B00F0 = 0x020B00F0; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0138 = 0x020B0138; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0180 = 0x020B0180; -sub_020B0250 = 0x020B0250; -sub_020B0250 = 0x020B0250; -sub_020B0250 = 0x020B0250; -sub_020B0250 = 0x020B0250; -sub_020B02C8 = 0x020B02C8; -sub_020B02C8 = 0x020B02C8; -sub_020B0448 = 0x020B0448; -sub_020B0448 = 0x020B0448; -sub_020B0448 = 0x020B0448; -sub_020B0870 = 0x020B0870; -sub_020B0870 = 0x020B0870; -sub_020B0BB0 = 0x020B0BB0; -sub_020B0BB0 = 0x020B0BB0; -sub_020B0C7C = 0x020B0C7C; -sub_020B0C7C = 0x020B0C7C; -sub_020B0E34 = 0x020B0E34; -sub_020B0E34 = 0x020B0E34; -sub_020B0FC0 = 0x020B0FC0; -sub_020B0FC0 = 0x020B0FC0; -sub_020B0FC0 = 0x020B0FC0; -sub_020B10E8 = 0x020B10E8; -sub_020B1240 = 0x020B1240; -sub_020B1240 = 0x020B1240; -sub_020B1240 = 0x020B1240; -sub_020B1240 = 0x020B1240; -sub_020B1240 = 0x020B1240; -sub_020B1240 = 0x020B1240; -sub_020B1340 = 0x020B1340; -sub_020B1340 = 0x020B1340; -sub_020B1528 = 0x020B1528; -sub_020B1528 = 0x020B1528; -sub_020B1528 = 0x020B1528; -sub_020B1528 = 0x020B1528; -sub_020B1768 = 0x020B1768; -sub_020B1768 = 0x020B1768; -sub_020B19C4 = 0x020B19C4; -sub_020B19C4 = 0x020B19C4; -sub_020B19C4 = 0x020B19C4; -sub_020B19C4 = 0x020B19C4; -sub_020B19C4 = 0x020B19C4; -sub_020B19C4 = 0x020B19C4; -sub_020B19DC = 0x020B19DC; -sub_020B19DC = 0x020B19DC; -sub_020B19DC = 0x020B19DC; -sub_020B19DC = 0x020B19DC; -sub_020B19DC = 0x020B19DC; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A14 = 0x020B1A14; -sub_020B1A24 = 0x020B1A24; -sub_020B1A24 = 0x020B1A24; -sub_020B1A24 = 0x020B1A24; -sub_020B1A24 = 0x020B1A24; -sub_020B1A24 = 0x020B1A24; -sub_020B1A24 = 0x020B1A24; -sub_020B1EA4 = 0x020B1EA4; -sub_020B1EA4 = 0x020B1EA4; -sub_020B1EC4 = 0x020B1EC4; -sub_020B1EC4 = 0x020B1EC4; -sub_020B1EE4 = 0x020B1EE4; -sub_020B1EE4 = 0x020B1EE4; -sub_020B1EFC = 0x020B1EFC; -sub_020B1EFC = 0x020B1EFC; -sub_020B1F80 = 0x020B1F80; -sub_020B1F80 = 0x020B1F80; -sub_020B20C8 = 0x020B20C8; -sub_020B20C8 = 0x020B20C8; -sub_020B2194 = 0x020B2194; -sub_020B2194 = 0x020B2194; -sub_020B224C = 0x020B224C; -sub_020B224C = 0x020B224C; -sub_020B23D8 = 0x020B23D8; -sub_020B23D8 = 0x020B23D8; -sub_020B242C = 0x020B242C; -sub_020B242C = 0x020B242C; -sub_020B242C = 0x020B242C; -sub_020B2780 = 0x020B2780; -sub_020B2780 = 0x020B2780; -sub_020B2794 = 0x020B2794; -sub_020B2794 = 0x020B2794; -sub_020B28B4 = 0x020B28B4; -sub_020B28B4 = 0x020B28B4; -sub_020B2A08 = 0x020B2A08; -sub_020B2A08 = 0x020B2A08; -sub_020B2A08 = 0x020B2A08; -sub_020B2A08 = 0x020B2A08; -sub_020B2B08 = 0x020B2B08; -sub_020B2B08 = 0x020B2B08; -sub_020B2B58 = 0x020B2B58; -sub_020B2B58 = 0x020B2B58; -sub_020B2D9C = 0x020B2D9C; -sub_020B2D9C = 0x020B2D9C; -sub_020B317C = 0x020B317C; -sub_020B317C = 0x020B317C; -sub_020B31F0 = 0x020B31F0; -sub_020B31F0 = 0x020B31F0; -sub_020B326C = 0x020B326C; -sub_020B326C = 0x020B326C; -sub_020B3334 = 0x020B3334; -sub_020B3334 = 0x020B3334; -sub_020B3390 = 0x020B3390; -sub_020B3390 = 0x020B3390; -sub_020B33A0 = 0x020B33A0; -sub_020B33A0 = 0x020B33A0; -sub_020B4358 = 0x020B4358; -sub_020B4358 = 0x020B4358; -sub_020B43A4 = 0x020B43A4; -sub_020B43A4 = 0x020B43A4; -sub_020B442C = 0x020B442C; -sub_020B442C = 0x020B442C; -sub_020B4568 = 0x020B4568; -sub_020B4568 = 0x020B4568; -sub_020B4F38 = 0x020B4F38; -sub_020B4F38 = 0x020B4F38; -sub_020B4F38 = 0x020B4F38; -sub_020B4F38 = 0x020B4F38; -sub_020B502C = 0x020B502C; -sub_020B502C = 0x020B502C; -sub_020B502C = 0x020B502C; -sub_020B772C = 0x020B772C; -sub_020B772C = 0x020B772C; -sub_020B7790 = 0x020B7790; -sub_020B7790 = 0x020B7790; -sub_020B7790 = 0x020B7790; -sub_020B7C58 = 0x020B7C58; -sub_020B7C58 = 0x020B7C58; -sub_020B7C58 = 0x020B7C58; -sub_020B7C78 = 0x020B7C78; -sub_020B7C78 = 0x020B7C78; -sub_020B7C78 = 0x020B7C78; -sub_020B7CDC = 0x020B7CDC; -sub_020B7CDC = 0x020B7CDC; -sub_020B7CDC = 0x020B7CDC; -sub_020B7CDC = 0x020B7CDC; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CE4 = 0x020B7CE4; -sub_020B7CF0 = 0x020B7CF0; -sub_020B7CF0 = 0x020B7CF0; -sub_020B7CF0 = 0x020B7CF0; -sub_020B7D28 = 0x020B7D28; -sub_020B7D28 = 0x020B7D28; -sub_020B7D28 = 0x020B7D28; -sub_020B7DFC = 0x020B7DFC; -sub_020B7DFC = 0x020B7DFC; -sub_020B7DFC = 0x020B7DFC; -sub_020B7DFC = 0x020B7DFC; -sub_020B7E10 = 0x020B7E10; -sub_020B7E10 = 0x020B7E10; -sub_020B7E10 = 0x020B7E10; -sub_020B7E10 = 0x020B7E10; -sub_020B7E10 = 0x020B7E10; -sub_020B7E10 = 0x020B7E10; -sub_020B7E1C = 0x020B7E1C; -sub_020B7E1C = 0x020B7E1C; -sub_020B7E1C = 0x020B7E1C; -sub_020B7E1C = 0x020B7E1C; -sub_020B7E1C = 0x020B7E1C; -sub_020B7E1C = 0x020B7E1C; -sub_020B80B4 = 0x020B80B4; -sub_020B80B4 = 0x020B80B4; -sub_020B80B4 = 0x020B80B4; -sub_020B80B4 = 0x020B80B4; -sub_020B80B4 = 0x020B80B4; -sub_020B844C = 0x020B844C; -sub_020B844C = 0x020B844C; -sub_020B844C = 0x020B844C; -sub_020B844C = 0x020B844C; -sub_020B8474 = 0x020B8474; -sub_020B8474 = 0x020B8474; -sub_020B8474 = 0x020B8474; -sub_020B8474 = 0x020B8474; -sub_020B8474 = 0x020B8474; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020B849C = 0x020B849C; -sub_020BAC98 = 0x020BAC98; -sub_020BAC98 = 0x020BAC98; -sub_020BAFB8 = 0x020BAFB8; -sub_020BAFB8 = 0x020BAFB8; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB1C0 = 0x020BB1C0; -sub_020BB394 = 0x020BB394; -sub_020BB394 = 0x020BB394; -sub_020BB394 = 0x020BB394; -sub_020BB394 = 0x020BB394; -sub_020BB394 = 0x020BB394; -sub_020BB59C = 0x020BB59C; -sub_020BB59C = 0x020BB59C; -sub_020BB59C = 0x020BB59C; -sub_020BB7F4 = 0x020BB7F4; -sub_020BB7F4 = 0x020BB7F4; -sub_020BB7F4 = 0x020BB7F4; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC0FC = 0x020BC0FC; -sub_020BC13C = 0x020BC13C; -sub_020BC13C = 0x020BC13C; -sub_020BC13C = 0x020BC13C; -sub_020BC13C = 0x020BC13C; -sub_020BC13C = 0x020BC13C; -sub_020BC13C = 0x020BC13C; -sub_020BC2A0 = 0x020BC2A0; -sub_020BC2A0 = 0x020BC2A0; -sub_020BC2A0 = 0x020BC2A0; -sub_020C0174 = 0x020C0174; -sub_020C01A0 = 0x020C01A0; -sub_020C01D0 = 0x020C01D0; -sub_020C03B8 = 0x020C03B8; -sub_020C041C = 0x020C041C; -sub_020C044C = 0x020C044C; -sub_020C04DC = 0x020C04DC; -sub_020C04DC = 0x020C04DC; -sub_020C0510 = 0x020C0510; -sub_020C054C = 0x020C054C; -sub_020C0670 = 0x020C0670; -sub_020C0670 = 0x020C0670; -sub_020C0688 = 0x020C0688; -sub_020C0688 = 0x020C0688; -sub_020C0DD4 = 0x020C0DD4; -sub_020C0E14 = 0x020C0E14; -sub_020C0E14 = 0x020C0E14; -sub_020C0E7C = 0x020C0E7C; -sub_020C0E7C = 0x020C0E7C; -sub_020C0E7C = 0x020C0E7C; -sub_020C0EA4 = 0x020C0EA4; -sub_020C0EF4 = 0x020C0EF4; -sub_020C0F30 = 0x020C0F30; -sub_020C0F50 = 0x020C0F50; -sub_020C0F68 = 0x020C0F68; -sub_020C0F68 = 0x020C0F68; -sub_020C0F80 = 0x020C0F80; -sub_020C0F8C = 0x020C0F8C; -sub_020C0F9C = 0x020C0F9C; -sub_020C0FDC = 0x020C0FDC; -sub_020C0FDC = 0x020C0FDC; -sub_020C1040 = 0x020C1040; -sub_020C10A4 = 0x020C10A4; -sub_020C10A4 = 0x020C10A4; -sub_020C10A4 = 0x020C10A4; -sub_020C10A4 = 0x020C10A4; -sub_020C10A4 = 0x020C10A4; -sub_020C1148 = 0x020C1148; -sub_020C1180 = 0x020C1180; -sub_020C1180 = 0x020C1180; -sub_020C1E58 = 0x020C1E58; -sub_020C1E58 = 0x020C1E58; -sub_020C1E68 = 0x020C1E68; -sub_020C1E68 = 0x020C1E68; -sub_020C1EA4 = 0x020C1EA4; -sub_020C1F54 = 0x020C1F54; -sub_020C1F54 = 0x020C1F54; -sub_020C1FA4 = 0x020C1FA4; -sub_020C1FA4 = 0x020C1FA4; -sub_020C1FF0 = 0x020C1FF0; -sub_020C20DC = 0x020C20DC; -sub_020C2104 = 0x020C2104; -sub_020C217C = 0x020C217C; -sub_020C226C = 0x020C226C; -sub_020C226C = 0x020C226C; -sub_020C22D0 = 0x020C22D0; -sub_020C23FC = 0x020C23FC; -sub_020C23FC = 0x020C23FC; -sub_020C23FC = 0x020C23FC; -sub_020C26F8 = 0x020C26F8; -sub_020C2828 = 0x020C2828; -sub_020C290C = 0x020C290C; -sub_020C2A94 = 0x020C2A94; -sub_020C35E0 = 0x020C35E0; -sub_020C360C = 0x020C360C; -sub_020C3640 = 0x020C3640; -sub_020C3674 = 0x020C3674; -sub_020C36A8 = 0x020C36A8; -sub_020C3910 = 0x020C3910; -sub_020C3910 = 0x020C3910; -sub_020C3910 = 0x020C3910; -sub_020C3910 = 0x020C3910; -sub_020C3980 = 0x020C3980; -sub_020C3980 = 0x020C3980; -sub_020C3980 = 0x020C3980; -sub_020C3980 = 0x020C3980; -sub_020C3980 = 0x020C3980; -sub_020C39CC = 0x020C39CC; -sub_020C3EA4 = 0x020C3EA4; -sub_020C3EA4 = 0x020C3EA4; -sub_020C3EB0 = 0x020C3EB0; -sub_020C3EB0 = 0x020C3EB0; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F14 = 0x020C3F14; -sub_020C3F38 = 0x020C3F38; -sub_020C3F38 = 0x020C3F38; -sub_020C3F38 = 0x020C3F38; -sub_020C3F54 = 0x020C3F54; -sub_020C3F54 = 0x020C3F54; -sub_020C3F54 = 0x020C3F54; -sub_020C3F70 = 0x020C3F70; -sub_020C3F70 = 0x020C3F70; -sub_020C3F70 = 0x020C3F70; -sub_020C400C = 0x020C400C; -sub_020C400C = 0x020C400C; -sub_020C400C = 0x020C400C; -sub_020C400C = 0x020C400C; -sub_020C400C = 0x020C400C; -sub_020C504C = 0x020C504C; -sub_020C504C = 0x020C504C; -sub_020C504C = 0x020C504C; -sub_020C50B8 = 0x020C50B8; -sub_020C50B8 = 0x020C50B8; -sub_020C50B8 = 0x020C50B8; -sub_020C50B8 = 0x020C50B8; -sub_020C5288 = 0x020C5288; -sub_020C5288 = 0x020C5288; -sub_020C5288 = 0x020C5288; -sub_020C5288 = 0x020C5288; -sub_020C53C8 = 0x020C53C8; -sub_020C53C8 = 0x020C53C8; -sub_020C5588 = 0x020C5588; -sub_020C5588 = 0x020C5588; -sub_020C5600 = 0x020C5600; -sub_020C5600 = 0x020C5600; -sub_020C5600 = 0x020C5600; -sub_020C5600 = 0x020C5600; -sub_020C5634 = 0x020C5634; -sub_020C5634 = 0x020C5634; -sub_020C5634 = 0x020C5634; -sub_020C5634 = 0x020C5634; -sub_020C5634 = 0x020C5634; -sub_020C5668 = 0x020C5668; -sub_020C5668 = 0x020C5668; -sub_020C5974 = 0x020C5974; -sub_020C5978 = 0x020C5978; -sub_020C5978 = 0x020C5978; -sub_020C59A4 = 0x020C59A4; -sub_020C59A4 = 0x020C59A4; -sub_020C59C0 = 0x020C59C0; -sub_020C59C0 = 0x020C59C0; -sub_020C5A34 = 0x020C5A34; -sub_020C5A34 = 0x020C5A34; -sub_020C5A80 = 0x020C5A80; -sub_020C5AC8 = 0x020C5AC8; -sub_020C5AF8 = 0x020C5AF8; -sub_020C5AF8 = 0x020C5AF8; -sub_020C5B28 = 0x020C5B28; -sub_020C5D2C = 0x020C5D2C; -sub_020C5D2C = 0x020C5D2C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D4C = 0x020C5D4C; -sub_020C5D9C = 0x020C5D9C; -sub_020C5D9C = 0x020C5D9C; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5DBC = 0x020C5DBC; -sub_020C5E54 = 0x020C5E54; -sub_020C600C = 0x020C600C; -sub_020C600C = 0x020C600C; -sub_020C6034 = 0x020C6034; -sub_020C6034 = 0x020C6034; -sub_020C605C = 0x020C605C; -sub_020C605C = 0x020C605C; -sub_020C6070 = 0x020C6070; -sub_020C6070 = 0x020C6070; -sub_020C6098 = 0x020C6098; -sub_020C6098 = 0x020C6098; -sub_020C60AC = 0x020C60AC; -sub_020C60AC = 0x020C60AC; -sub_020C60C0 = 0x020C60C0; -sub_020C60C0 = 0x020C60C0; -sub_020C60E4 = 0x020C60E4; -sub_020C60E4 = 0x020C60E4; -sub_020C6108 = 0x020C6108; -sub_020C6108 = 0x020C6108; -sub_020C611C = 0x020C611C; -sub_020C611C = 0x020C611C; -sub_020C6168 = 0x020C6168; -sub_020C6168 = 0x020C6168; -sub_020C61F4 = 0x020C61F4; -sub_020C61F4 = 0x020C61F4; -sub_020C6280 = 0x020C6280; -sub_020C6280 = 0x020C6280; -sub_020C62FC = 0x020C62FC; -sub_020C62FC = 0x020C62FC; -sub_020C63A8 = 0x020C63A8; -sub_020C65C0 = 0x020C65C0; -sub_020C65C0 = 0x020C65C0; -sub_020C66B4 = 0x020C66B4; -sub_020C66B4 = 0x020C66B4; -sub_020C68B8 = 0x020C68B8; -sub_020C68B8 = 0x020C68B8; -sub_020C6970 = 0x020C6970; -sub_020C6970 = 0x020C6970; -sub_020C6A84 = 0x020C6A84; -sub_020C6A84 = 0x020C6A84; -sub_020C6BF0 = 0x020C6BF0; -sub_020C6BF0 = 0x020C6BF0; -sub_020C7124 = 0x020C7124; -sub_020C7124 = 0x020C7124; -sub_020C74B8 = 0x020C74B8; -sub_020C74B8 = 0x020C74B8; -sub_020C74B8 = 0x020C74B8; -sub_020C74B8 = 0x020C74B8; -sub_020C74B8 = 0x020C74B8; -sub_020C74B8 = 0x020C74B8; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74DC = 0x020C74DC; -sub_020C74F8 = 0x020C74F8; -sub_020C74F8 = 0x020C74F8; -sub_020C74F8 = 0x020C74F8; -sub_020C74F8 = 0x020C74F8; -sub_020C74F8 = 0x020C74F8; -sub_020C74F8 = 0x020C74F8; -sub_020C7A14 = 0x020C7A14; -sub_020C7A14 = 0x020C7A14; -sub_020C7B3C = 0x020C7B3C; -sub_020C7B3C = 0x020C7B3C; -sub_020C7B3C = 0x020C7B3C; -sub_020C7B3C = 0x020C7B3C; -sub_020C7B3C = 0x020C7B3C; -sub_020C7B3C = 0x020C7B3C; -sub_020C7C28 = 0x020C7C28; -sub_020C7C28 = 0x020C7C28; -sub_020C7C28 = 0x020C7C28; -sub_020C7C28 = 0x020C7C28; -sub_020C7C28 = 0x020C7C28; -sub_020C7C28 = 0x020C7C28; -sub_020C7D28 = 0x020C7D28; -sub_020C7D28 = 0x020C7D28; -sub_020C7D28 = 0x020C7D28; -sub_020C7E0C = 0x020C7E0C; -sub_020C7E0C = 0x020C7E0C; -sub_020C7E94 = 0x020C7E94; -sub_020C7E94 = 0x020C7E94; -sub_020C7FF0 = 0x020C7FF0; -sub_020C7FF0 = 0x020C7FF0; -sub_020C802C = 0x020C802C; -sub_020C8068 = 0x020C8068; -sub_020C80A4 = 0x020C80A4; -sub_020C80A4 = 0x020C80A4; -sub_020C823C = 0x020C823C; -sub_020C823C = 0x020C823C; -sub_020C8538 = 0x020C8538; -sub_020C8538 = 0x020C8538; -sub_020C8A2C = 0x020C8A2C; -sub_020C8B10 = 0x020C8B10; -sub_020C8EEC = 0x020C8EEC; -sub_020C8EEC = 0x020C8EEC; -sub_020C922C = 0x020C922C; -sub_020C922C = 0x020C922C; -sub_020C9294 = 0x020C9294; -sub_020C9294 = 0x020C9294; -sub_020C9294 = 0x020C9294; -sub_020C9294 = 0x020C9294; -sub_020C9294 = 0x020C9294; -sub_020C92F4 = 0x020C92F4; -sub_020C92F4 = 0x020C92F4; -sub_020C92F4 = 0x020C92F4; -sub_020C92F4 = 0x020C92F4; -sub_020C92F4 = 0x020C92F4; -sub_020C9354 = 0x020C9354; -sub_020C9354 = 0x020C9354; -sub_020C93BC = 0x020C93BC; -sub_020C93BC = 0x020C93BC; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9418 = 0x020C9418; -sub_020C9480 = 0x020C9480; -sub_020C9480 = 0x020C9480; -sub_020C9480 = 0x020C9480; -sub_020C9480 = 0x020C9480; -sub_020C9480 = 0x020C9480; -sub_020C94E8 = 0x020C94E8; -sub_020C94E8 = 0x020C94E8; -sub_020C94E8 = 0x020C94E8; -sub_020C94E8 = 0x020C94E8; -sub_020C94E8 = 0x020C94E8; -sub_020C9550 = 0x020C9550; -sub_020C9550 = 0x020C9550; -sub_020C9550 = 0x020C9550; -sub_020C9550 = 0x020C9550; -sub_020C9550 = 0x020C9550; -sub_020C9550 = 0x020C9550; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9C0C = 0x020C9C0C; -sub_020C9E14 = 0x020C9E14; -sub_020C9E14 = 0x020C9E14; -sub_020C9E14 = 0x020C9E14; -sub_020C9E14 = 0x020C9E14; -sub_020C9E14 = 0x020C9E14; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9E5C = 0x020C9E5C; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020C9FEC = 0x020C9FEC; -sub_020CA0A0 = 0x020CA0A0; -sub_020CA0A0 = 0x020CA0A0; -sub_020CA0A0 = 0x020CA0A0; -sub_020CA0A0 = 0x020CA0A0; -sub_020CA0F8 = 0x020CA0F8; -sub_020CA0F8 = 0x020CA0F8; -sub_020CA0F8 = 0x020CA0F8; -sub_020CA0F8 = 0x020CA0F8; -sub_020CA0F8 = 0x020CA0F8; -sub_020CC124 = 0x020CC124; -sub_020CC124 = 0x020CC124; -sub_020CC124 = 0x020CC124; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC15C = 0x020CC15C; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC180 = 0x020CC180; -sub_020CC1B4 = 0x020CC1B4; -sub_020CC204 = 0x020CC204; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC26C = 0x020CC26C; -sub_020CC2F4 = 0x020CC2F4; -sub_020CC2F4 = 0x020CC2F4; -sub_020CC308 = 0x020CC308; -sub_020CC308 = 0x020CC308; -sub_020CC31C = 0x020CC31C; -sub_020CC31C = 0x020CC31C; -sub_020CC408 = 0x020CC408; -sub_020CC408 = 0x020CC408; -sub_020CCD64 = 0x020CCD64; -sub_020CD310 = 0x020CD310; -sub_020CD310 = 0x020CD310; -sub_020CD310 = 0x020CD310; -sub_020CD310 = 0x020CD310; -sub_020CD324 = 0x020CD324; -sub_020CD324 = 0x020CD324; -sub_020CD324 = 0x020CD324; -sub_020CD324 = 0x020CD324; -sub_020CD374 = 0x020CD374; -sub_020CD374 = 0x020CD374; -sub_020CD374 = 0x020CD374; -sub_020CD374 = 0x020CD374; -sub_020CD374 = 0x020CD374; -sub_020CD374 = 0x020CD374; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD3B4 = 0x020CD3B4; -sub_020CD510 = 0x020CD510; -sub_020CD510 = 0x020CD510; -sub_020CD510 = 0x020CD510; -sub_020CD510 = 0x020CD510; -sub_020CD510 = 0x020CD510; -sub_020CD524 = 0x020CD524; -sub_020CD524 = 0x020CD524; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD5A0 = 0x020CD5A0; -sub_020CD754 = 0x020CD754; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD850 = 0x020CD850; -sub_020CD998 = 0x020CD998; -sub_020CDA1C = 0x020CDA1C; -sub_020CDA1C = 0x020CDA1C; -sub_020CDA1C = 0x020CDA1C; -sub_020CDD90 = 0x020CDD90; -sub_020CDE04 = 0x020CDE04; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1C8 = 0x020CE1C8; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1E0 = 0x020CE1E0; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE1FC = 0x020CE1FC; -sub_020CE210 = 0x020CE210; -sub_020CE210 = 0x020CE210; -sub_020CE210 = 0x020CE210; -sub_020CE210 = 0x020CE210; -sub_020CE210 = 0x020CE210; -sub_020CE210 = 0x020CE210; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE240 = 0x020CE240; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE28C = 0x020CE28C; -sub_020CE2E0 = 0x020CE2E0; -sub_020CE2E0 = 0x020CE2E0; -sub_020CE2E0 = 0x020CE2E0; -sub_020CE2E0 = 0x020CE2E0; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE34C = 0x020CE34C; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE3E0 = 0x020CE3E0; -sub_020CE528 = 0x020CE528; -sub_020CE528 = 0x020CE528; -sub_020CE528 = 0x020CE528; -sub_020CE528 = 0x020CE528; -sub_020CE528 = 0x020CE528; -sub_020CF768 = 0x020CF768; -sub_020D1148 = 0x020D1148; -sub_020D1148 = 0x020D1148; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D17A0 = 0x020D17A0; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D180C = 0x020D180C; -sub_020D182C = 0x020D182C; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D18FC = 0x020D18FC; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1944 = 0x020D1944; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1C94 = 0x020D1C94; -sub_020D1CC4 = 0x020D1CC4; -sub_020D1CC4 = 0x020D1CC4; -sub_020D1CD4 = 0x020D1CD4; -sub_020D1D10 = 0x020D1D10; -sub_020D1D10 = 0x020D1D10; -sub_020D1D30 = 0x020D1D30; -sub_020D1D30 = 0x020D1D30; -sub_020D2040 = 0x020D2040; -sub_020D2094 = 0x020D2094; -sub_020D2094 = 0x020D2094; -sub_020D2210 = 0x020D2210; -sub_020D2210 = 0x020D2210; -sub_020D23B4 = 0x020D23B4; -sub_020D2454 = 0x020D2454; -sub_020D24EC = 0x020D24EC; -sub_020D24EC = 0x020D24EC; -sub_020D24EC = 0x020D24EC; -sub_020D24EC = 0x020D24EC; -sub_020D36C4 = 0x020D36C4; -sub_020D36C4 = 0x020D36C4; -sub_020D36C4 = 0x020D36C4; -sub_020D36D8 = 0x020D36D8; -sub_020D36D8 = 0x020D36D8; -sub_020D36D8 = 0x020D36D8; -sub_020D36F0 = 0x020D36F0; -sub_020D36F0 = 0x020D36F0; -sub_020D36F0 = 0x020D36F0; -sub_020D3A90 = 0x020D3A90; -sub_020D3A90 = 0x020D3A90; -sub_020D3AA0 = 0x020D3AA0; -sub_020D3C14 = 0x020D3C14; -sub_020D3C14 = 0x020D3C14; -sub_020D3CB8 = 0x020D3CB8; -sub_020D3CB8 = 0x020D3CB8; -sub_020D3DCC = 0x020D3DCC; -sub_020D3E24 = 0x020D3E24; -sub_020D3EC4 = 0x020D3EC4; -sub_020D3EC4 = 0x020D3EC4; -sub_020D400C = 0x020D400C; -sub_020D40B8 = 0x020D40B8; -sub_020D4718 = 0x020D4718; -sub_020D47CC = 0x020D47CC; -sub_020D47CC = 0x020D47CC; -sub_020D4980 = 0x020D4980; -sub_020D4A5C = 0x020D4A5C; -sub_020D4E68 = 0x020D4E68; -sub_020D50D8 = 0x020D50D8; -sub_020D50D8 = 0x020D50D8; -sub_020D5150 = 0x020D5150; -sub_020D5168 = 0x020D5168; -sub_020D5180 = 0x020D5180; -sub_020D526C = 0x020D526C; -sub_020D526C = 0x020D526C; -sub_020D5F40 = 0x020D5F40; -sub_020D614C = 0x020D614C; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6320 = 0x020D6320; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D6578 = 0x020D6578; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D660C = 0x020D660C; -sub_020D66A0 = 0x020D66A0; -sub_020D66A0 = 0x020D66A0; -sub_020D66A0 = 0x020D66A0; -sub_020D66A0 = 0x020D66A0; -sub_020D66A0 = 0x020D66A0; -sub_020D66B0 = 0x020D66B0; -sub_020D66B0 = 0x020D66B0; -sub_020D66B0 = 0x020D66B0; -sub_020D66B0 = 0x020D66B0; -sub_020D6700 = 0x020D6700; -sub_020D6700 = 0x020D6700; -sub_020D6DAC = 0x020D6DAC; -sub_020D6DB8 = 0x020D6DB8; -sub_020D6DB8 = 0x020D6DB8; -sub_020D6DC4 = 0x020D6DC4; -sub_020D6DC4 = 0x020D6DC4; -sub_020D6DC4 = 0x020D6DC4; -sub_020D6F20 = 0x020D6F20; -sub_020D6F20 = 0x020D6F20; -sub_020D6F20 = 0x020D6F20; -sub_020D6F20 = 0x020D6F20; -sub_020D7228 = 0x020D7228; -sub_020D7228 = 0x020D7228; -sub_020D7D18 = 0x020D7D18; -sub_020D7E9C = 0x020D7E9C; -sub_020D7E9C = 0x020D7E9C; -sub_020D8A4C = 0x020D8A4C; -sub_020D8A4C = 0x020D8A4C; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8AF0 = 0x020D8AF0; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8B94 = 0x020D8B94; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8C3C = 0x020D8C3C; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D8F34 = 0x020D8F34; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9014 = 0x020D9014; -sub_020D9060 = 0x020D9060; -sub_020D9060 = 0x020D9060; -sub_020D9060 = 0x020D9060; -sub_020D9168 = 0x020D9168; -sub_020D9168 = 0x020D9168; -sub_020D9244 = 0x020D9244; -sub_020D9244 = 0x020D9244; -sub_020D940C = 0x020D940C; -sub_020D940C = 0x020D940C; -sub_020D950C = 0x020D950C; -sub_020D950C = 0x020D950C; -sub_020D9554 = 0x020D9554; -sub_020D9554 = 0x020D9554; -sub_020D9624 = 0x020D9624; -sub_020D9624 = 0x020D9624; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D972C = 0x020D972C; -sub_020D9774 = 0x020D9774; -sub_020D9774 = 0x020D9774; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D97B4 = 0x020D97B4; -sub_020D9960 = 0x020D9960; -sub_020D9960 = 0x020D9960; -sub_020D9960 = 0x020D9960; -sub_020D99EC = 0x020D99EC; -sub_020D99EC = 0x020D99EC; -sub_020D9B48 = 0x020D9B48; -sub_020D9B48 = 0x020D9B48; -sub_020D9B48 = 0x020D9B48; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DAD74 = 0x020DAD74; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DADD4 = 0x020DADD4; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DAF30 = 0x020DAF30; -sub_020DB7A8 = 0x020DB7A8; -sub_020DDC5C = 0x020DDC5C; -sub_020DDC5C = 0x020DDC5C; -sub_020DDC5C = 0x020DDC5C; -sub_020DDCE4 = 0x020DDCE4; -sub_020DDD28 = 0x020DDD28; -sub_020DDD28 = 0x020DDD28; -sub_020DDD28 = 0x020DDD28; -sub_020DDD60 = 0x020DDD60; -sub_020DDD60 = 0x020DDD60; -sub_020DDD60 = 0x020DDD60; -sub_020DDE44 = 0x020DDE44; -sub_020DDE44 = 0x020DDE44; -sub_020DDE44 = 0x020DDE44; -sub_020DDF60 = 0x020DDF60; -sub_020DDF60 = 0x020DDF60; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DE3F0 = 0x020DE3F0; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF438 = 0x020DF438; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF4A4 = 0x020DF4A4; -sub_020DF510 = 0x020DF510; -sub_020DF510 = 0x020DF510; -sub_020E2EAC = 0x020E2EAC; -sub_020E2EC8 = 0x020E2EC8; -sub_020E2EC8 = 0x020E2EC8; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EA980 = 0x020EA980; -sub_020EAEF0 = 0x020EAEF0; -sub_020EAEF0 = 0x020EAEF0; -sub_020EAEF0 = 0x020EAEF0; -sub_020EAEF0 = 0x020EAEF0; -sub_020EB010 = 0x020EB010; -sub_020EB010 = 0x020EB010; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB084 = 0x020EB084; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4C0 = 0x020EB4C0; -sub_020EB4F4 = 0x020EB4F4; -sub_020EB4F4 = 0x020EB4F4; -sub_020EB4F4 = 0x020EB4F4; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB534 = 0x020EB534; -sub_020EB57C = 0x020EB57C; -sub_020EB57C = 0x020EB57C; -sub_020EB57C = 0x020EB57C; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB5C4 = 0x020EB5C4; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EB7B0 = 0x020EB7B0; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBA38 = 0x020EBA38; -sub_020EBBE8 = 0x020EBBE8; -sub_020EBBE8 = 0x020EBBE8; -sub_020EBBE8 = 0x020EBBE8; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC30 = 0x020EBC30; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBC80 = 0x020EBC80; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_020EBE8C = 0x020EBE8C; -sub_021D78FC = 0x021D78FC; -sub_021D78FC = 0x021D78FC; -sub_021D78FC = 0x021D78FC; -sub_021D79B4 = 0x021D79B4; -sub_021D79B4 = 0x021D79B4; -sub_021D79B4 = 0x021D79B4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7CA4 = 0x021D7CA4; -sub_021D7F8C = 0x021D7F8C; -sub_021D7F8C = 0x021D7F8C; -sub_021D8018 = 0x021D8018; -sub_021D8018 = 0x021D8018; -sub_021D8018 = 0x021D8018; -sub_021D8164 = 0x021D8164; -sub_021D8164 = 0x021D8164; -sub_021D82BC = 0x021D82BC; -sub_021D82BC = 0x021D82BC; -sub_021D8320 = 0x021D8320; -sub_021D8320 = 0x021D8320; -sub_021D836C = 0x021D836C; -sub_021D836C = 0x021D836C; -sub_021D83C0 = 0x021D83C0; -sub_021D83C0 = 0x021D83C0; -sub_021D83C0 = 0x021D83C0; -sub_021D844C = 0x021D844C; -sub_021D844C = 0x021D844C; -sub_021D85FC = 0x021D85FC; -sub_021D85FC = 0x021D85FC; -sub_021D8624 = 0x021D8624; -sub_021D8624 = 0x021D8624; -sub_021D88E4 = 0x021D88E4; -sub_021D88E4 = 0x021D88E4; -sub_021D88E4 = 0x021D88E4; -sub_021D88E4 = 0x021D88E4; -sub_021D88E4 = 0x021D88E4; -sub_021D88E4 = 0x021D88E4; -sub_021D89CC = 0x021D89CC; -sub_021D89CC = 0x021D89CC; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8B64 = 0x021D8B64; -sub_021D8C24 = 0x021D8C24; -sub_021D8C24 = 0x021D8C24; -sub_021D917C = 0x021D917C; -sub_021D917C = 0x021D917C; -sub_021D959C = 0x021D959C; -sub_021D959C = 0x021D959C; -sub_021D959C = 0x021D959C; -sub_021D959C = 0x021D959C; -sub_021D959C = 0x021D959C; -sub_021D967C = 0x021D967C; -sub_021D967C = 0x021D967C; -sub_021D967C = 0x021D967C; -sub_021D967C = 0x021D967C; -sub_021D967C = 0x021D967C; -sub_021D96F4 = 0x021D96F4; -sub_021D96F4 = 0x021D96F4; -sub_021D96F4 = 0x021D96F4; -sub_021D96F4 = 0x021D96F4; -sub_021D96F4 = 0x021D96F4; -sub_021D96F4 = 0x021D96F4; -sub_021D9708 = 0x021D9708; -sub_021D9708 = 0x021D9708; -sub_021D9708 = 0x021D9708; -sub_021D9708 = 0x021D9708; -sub_021D9708 = 0x021D9708; -sub_021D9708 = 0x021D9708; -sub_021D971C = 0x021D971C; -sub_021D971C = 0x021D971C; -sub_021D971C = 0x021D971C; -sub_021D971C = 0x021D971C; -sub_021D971C = 0x021D971C; -sub_021D971C = 0x021D971C; -sub_021D9820 = 0x021D9820; -sub_021D9820 = 0x021D9820; -sub_021D9820 = 0x021D9820; -sub_021D9820 = 0x021D9820; -sub_021D9820 = 0x021D9820; -sub_021D9820 = 0x021D9820; -sub_021D99F8 = 0x021D99F8; -sub_021D99F8 = 0x021D99F8; -sub_021D99F8 = 0x021D99F8; -sub_021D99F8 = 0x021D99F8; -sub_021D99F8 = 0x021D99F8; -sub_021DA464 = 0x021DA464; -sub_021DA464 = 0x021DA464; -sub_021DA58C = 0x021DA58C; -sub_021DA58C = 0x021DA58C; -sub_021DA5B8 = 0x021DA5B8; -sub_021DA5B8 = 0x021DA5B8; -sub_021DA5B8 = 0x021DA5B8; -sub_021DA5C8 = 0x021DA5C8; -sub_021DA5C8 = 0x021DA5C8; -sub_021DA5D0 = 0x021DA5D0; -sub_021DA5D0 = 0x021DA5D0; -sub_021DA5D0 = 0x021DA5D0; -sub_021DAC70 = 0x021DAC70; -sub_021DAC70 = 0x021DAC70; -sub_021DAE40 = 0x021DAE40; -sub_021DAE40 = 0x021DAE40; -sub_021DAED4 = 0x021DAED4; -sub_021DAED4 = 0x021DAED4; -sub_021DAF28 = 0x021DAF28; -sub_021DAF28 = 0x021DAF28; -sub_021DAF78 = 0x021DAF78; -sub_021DAF78 = 0x021DAF78; -sub_021DAF98 = 0x021DAF98; -sub_021DAF98 = 0x021DAF98; -sub_021DAF98 = 0x021DAF98; -sub_021DB030 = 0x021DB030; -sub_021DB030 = 0x021DB030; -sub_021DB030 = 0x021DB030; -sub_021DB030 = 0x021DB030; -sub_021DB7E8 = 0x021DB7E8; -sub_021DB7E8 = 0x021DB7E8; -sub_021DB858 = 0x021DB858; -sub_021DB858 = 0x021DB858; -sub_021DC174 = 0x021DC174; -sub_021DC174 = 0x021DC174; -sub_021DC174 = 0x021DC174; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD6F0 = 0x021DD6F0; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DD718 = 0x021DD718; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021DDB08 = 0x021DDB08; -sub_021E1374 = 0x021E1374; -sub_021E1374 = 0x021E1374; -sub_021E1858 = 0x021E1858; -sub_021E1858 = 0x021E1858; -sub_021E1994 = 0x021E1994; -sub_021E1994 = 0x021E1994; -sub_021E1BF8 = 0x021E1BF8; -sub_021E1BF8 = 0x021E1BF8; -sub_021E1BF8 = 0x021E1BF8; -sub_021E1C4C = 0x021E1C4C; -sub_021E1C4C = 0x021E1C4C; -sub_021E1C4C = 0x021E1C4C; -sub_021E1C54 = 0x021E1C54; -sub_021E1C54 = 0x021E1C54; -sub_021E1C54 = 0x021E1C54; -sub_021E1ECC = 0x021E1ECC; -sub_021E1ECC = 0x021E1ECC; -sub_021E1F34 = 0x021E1F34; -sub_021E1F34 = 0x021E1F34; -sub_021E1F34 = 0x021E1F34; -sub_021E1F58 = 0x021E1F58; -sub_021E1F58 = 0x021E1F58; -sub_021E1F60 = 0x021E1F60; -sub_021E1F60 = 0x021E1F60; -sub_021E2464 = 0x021E2464; -sub_021E2464 = 0x021E2464; -sub_021E2608 = 0x021E2608; -sub_021E2608 = 0x021E2608; -sub_021E26CC = 0x021E26CC; -sub_021E26CC = 0x021E26CC; -sub_021E2B80 = 0x021E2B80; -sub_021E2B80 = 0x021E2B80; -sub_021E2B9C = 0x021E2B9C; -sub_021E2B9C = 0x021E2B9C; -sub_021E2BB8 = 0x021E2BB8; -sub_021E2BB8 = 0x021E2BB8; -sub_021E2BB8 = 0x021E2BB8; -sub_021E2BB8 = 0x021E2BB8; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2BD0 = 0x021E2BD0; -sub_021E2C24 = 0x021E2C24; -sub_021E2C24 = 0x021E2C24; -sub_021E2C24 = 0x021E2C24; -sub_021E2C58 = 0x021E2C58; -sub_021E2C58 = 0x021E2C58; -sub_021E2C58 = 0x021E2C58; -sub_021E2C58 = 0x021E2C58; -sub_021E2CBC = 0x021E2CBC; -sub_021E2CBC = 0x021E2CBC; -sub_021E32F0 = 0x021E32F0; -sub_021E32F0 = 0x021E32F0; -sub_021E32F0 = 0x021E32F0; -sub_021E331C = 0x021E331C; -sub_021E331C = 0x021E331C; -sub_021E331C = 0x021E331C; -sub_021E331C = 0x021E331C; -sub_021E3424 = 0x021E3424; -sub_021E3424 = 0x021E3424; -sub_021E3444 = 0x021E3444; -sub_021E3444 = 0x021E3444; -sub_021E495C = 0x021E495C; -sub_021E495C = 0x021E495C; -sub_021E4C54 = 0x021E4C54; -sub_021E4C54 = 0x021E4C54; -sub_021E4C60 = 0x021E4C60; -sub_021E4C60 = 0x021E4C60; -sub_021E4DE4 = 0x021E4DE4; -sub_021E4DE4 = 0x021E4DE4; -sub_021E5970 = 0x021E5970; -sub_021E5970 = 0x021E5970; -sub_021E5B30 = 0x021E5B30; -sub_021E5B30 = 0x021E5B30; -sub_021E5B30 = 0x021E5B30; -sub_021E5B30 = 0x021E5B30; -sub_021E5B30 = 0x021E5B30; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FD8 = 0x021E5FD8; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E5FE0 = 0x021E5FE0; -sub_021E6410 = 0x021E6410; -sub_021E6410 = 0x021E6410; -sub_021E643C = 0x021E643C; -sub_021E643C = 0x021E643C; -sub_021E6990 = 0x021E6990; -sub_021E6990 = 0x021E6990; -sub_021E69BC = 0x021E69BC; -sub_021E69BC = 0x021E69BC; -sub_021E6BF4 = 0x021E6BF4; -sub_021E6BF4 = 0x021E6BF4; -sub_021E7030 = 0x021E7030; -sub_021E7030 = 0x021E7030; -sub_021E70F0 = 0x021E70F0; -sub_021E70F0 = 0x021E70F0; -sub_021E7138 = 0x021E7138; -sub_021E7138 = 0x021E7138; -sub_021E7138 = 0x021E7138; -sub_021E7138 = 0x021E7138; -sub_021E7184 = 0x021E7184; -sub_021E7184 = 0x021E7184; -sub_021E71E8 = 0x021E71E8; -sub_021E71E8 = 0x021E71E8; -sub_021E7750 = 0x021E7750; -sub_021E7750 = 0x021E7750; -sub_021E7750 = 0x021E7750; -sub_021E799C = 0x021E799C; -sub_021E799C = 0x021E799C; -sub_021E799C = 0x021E799C; -sub_021E7AC0 = 0x021E7AC0; -sub_021E7AC0 = 0x021E7AC0; -sub_021E7AC0 = 0x021E7AC0; -sub_021E7EA0 = 0x021E7EA0; -sub_021E7EA0 = 0x021E7EA0; -sub_021E7EA0 = 0x021E7EA0; -sub_021E7EA0 = 0x021E7EA0; -sub_021E7EB0 = 0x021E7EB0; -sub_021E7EB0 = 0x021E7EB0; -sub_021E7EB0 = 0x021E7EB0; -sub_021E7EC4 = 0x021E7EC4; -sub_021E7EC4 = 0x021E7EC4; -sub_021E7EC4 = 0x021E7EC4; -sub_021E7EC4 = 0x021E7EC4; -sub_021E7EC4 = 0x021E7EC4; -sub_021E7EC8 = 0x021E7EC8; -sub_021E7EC8 = 0x021E7EC8; -sub_021E7ED0 = 0x021E7ED0; -sub_021E7ED0 = 0x021E7ED0; -sub_021E7ED0 = 0x021E7ED0; -sub_021E7ED0 = 0x021E7ED0; -sub_021E7ED0 = 0x021E7ED0; -sub_021E7ED8 = 0x021E7ED8; -sub_021E7ED8 = 0x021E7ED8; -sub_021E7FBC = 0x021E7FBC; -sub_021E7FBC = 0x021E7FBC; -sub_021E8128 = 0x021E8128; -sub_021E8128 = 0x021E8128; -sub_021E8128 = 0x021E8128; -sub_021E8130 = 0x021E8130; -sub_021E8130 = 0x021E8130; -sub_021E8130 = 0x021E8130; -sub_021E8130 = 0x021E8130; -sub_021E8140 = 0x021E8140; -sub_021E8140 = 0x021E8140; -sub_021E8140 = 0x021E8140; -sub_021E8144 = 0x021E8144; -sub_021E8144 = 0x021E8144; -sub_021E8148 = 0x021E8148; -sub_021E8148 = 0x021E8148; -sub_021E8148 = 0x021E8148; -sub_021E8158 = 0x021E8158; -sub_021E8158 = 0x021E8158; -sub_021E81BC = 0x021E81BC; -sub_021E81BC = 0x021E81BC; -sub_021E84F4 = 0x021E84F4; -sub_021E84F4 = 0x021E84F4; -sub_021E856C = 0x021E856C; -sub_021E856C = 0x021E856C; -sub_021E8588 = 0x021E8588; -sub_021E8588 = 0x021E8588; -sub_021E85E4 = 0x021E85E4; -sub_021E85E4 = 0x021E85E4; -sub_021E85FC = 0x021E85FC; -sub_021E85FC = 0x021E85FC; -sub_021ECF14 = 0x021ECF14; -sub_021ECF14 = 0x021ECF14; -sub_021ED49C = 0x021ED49C; -sub_021ED49C = 0x021ED49C; -sub_021ED940 = 0x021ED940; -sub_021ED940 = 0x021ED940; -sub_021EDA48 = 0x021EDA48; -sub_021EDA48 = 0x021EDA48; -sub_021EDBC8 = 0x021EDBC8; -sub_021EDBC8 = 0x021EDBC8; -sub_021EF5E0 = 0x021EF5E0; -sub_021EF5E0 = 0x021EF5E0; -sub_021EF5E0 = 0x021EF5E0; -sub_021EF604 = 0x021EF604; -sub_021EF604 = 0x021EF604; -sub_021EF604 = 0x021EF604; -sub_021EF604 = 0x021EF604; -sub_021EF604 = 0x021EF604; -sub_021EF620 = 0x021EF620; -sub_021EF620 = 0x021EF620; -sub_021EF654 = 0x021EF654; -sub_021EF654 = 0x021EF654; -sub_021EF824 = 0x021EF824; -sub_021EF824 = 0x021EF824; -sub_021EF824 = 0x021EF824; -sub_021EF824 = 0x021EF824; -sub_021EF844 = 0x021EF844; -sub_021EF844 = 0x021EF844; -sub_021EF844 = 0x021EF844; -sub_021EF8C8 = 0x021EF8C8; -sub_021EF8C8 = 0x021EF8C8; -sub_021EF8DC = 0x021EF8DC; -sub_021EF8DC = 0x021EF8DC; -sub_021EFA9C = 0x021EFA9C; -sub_021EFA9C = 0x021EFA9C; -sub_021EFA9C = 0x021EFA9C; -sub_021F02C4 = 0x021F02C4; -sub_021F02C4 = 0x021F02C4; -sub_021F1D8C = 0x021F1D8C; -sub_021F1D8C = 0x021F1D8C; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DC8 = 0x021F1DC8; -sub_021F1DFC = 0x021F1DFC; -sub_021F1DFC = 0x021F1DFC; -sub_021F1EC0 = 0x021F1EC0; -sub_021F1EC0 = 0x021F1EC0; -sub_021F1EC0 = 0x021F1EC0; -sub_021F1EC0 = 0x021F1EC0; -sub_021F1F78 = 0x021F1F78; -sub_021F1F78 = 0x021F1F78; -sub_021F1F78 = 0x021F1F78; -sub_021F2094 = 0x021F2094; -sub_021F2094 = 0x021F2094; -sub_021F2094 = 0x021F2094; -sub_021F2094 = 0x021F2094; -sub_021F20D8 = 0x021F20D8; -sub_021F20D8 = 0x021F20D8; -sub_021F20F8 = 0x021F20F8; -sub_021F20F8 = 0x021F20F8; -sub_021F2AF4 = 0x021F2AF4; -sub_021F2AF4 = 0x021F2AF4; -sub_021F2E0C = 0x021F2E0C; -sub_021F2E0C = 0x021F2E0C; -sub_021F2E28 = 0x021F2E28; -sub_021F2E28 = 0x021F2E28; -sub_021F2E28 = 0x021F2E28; -sub_021F2E28 = 0x021F2E28; -sub_021F2F48 = 0x021F2F48; -sub_021F2F48 = 0x021F2F48; -sub_021F2F48 = 0x021F2F48; -sub_021F2F6C = 0x021F2F6C; -sub_021F2F6C = 0x021F2F6C; -sub_021F3DA4 = 0x021F3DA4; -sub_021F3DA4 = 0x021F3DA4; -sub_021F44D8 = 0x021F44D8; -sub_021F44D8 = 0x021F44D8; -sub_021F4520 = 0x021F4520; -sub_021F4520 = 0x021F4520; -sub_021F4568 = 0x021F4568; -sub_021F4568 = 0x021F4568; -sub_021F45E8 = 0x021F45E8; -sub_021F45E8 = 0x021F45E8; -sub_021F45E8 = 0x021F45E8; -sub_021F4608 = 0x021F4608; -sub_021F4608 = 0x021F4608; -sub_021F4608 = 0x021F4608; -sub_021F4BD0 = 0x021F4BD0; -sub_021F4BD0 = 0x021F4BD0; -sub_021F4C88 = 0x021F4C88; -sub_021F4C88 = 0x021F4C88; -sub_021F4D80 = 0x021F4D80; -sub_021F4D80 = 0x021F4D80; -sub_021F4DC8 = 0x021F4DC8; -sub_021F4DC8 = 0x021F4DC8; -sub_021F4E7C = 0x021F4E7C; -sub_021F4E7C = 0x021F4E7C; -sub_021F57EC = 0x021F57EC; -sub_021F57EC = 0x021F57EC; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_021F5C44 = 0x021F5C44; -sub_02211E60 = 0x02211E60; -sub_02211E60 = 0x02211E60; -sub_0222DAEC = 0x0222DAEC; -sub_0222DAEC = 0x0222DAEC; -sub_0222DD1C = 0x0222DD1C; -sub_0222DD1C = 0x0222DD1C; -sub_0222DD38 = 0x0222DD38; -sub_0222DD38 = 0x0222DD38; -sub_0222E2BC = 0x0222E2BC; -sub_0222E2BC = 0x0222E2BC; -sub_0222E360 = 0x0222E360; -sub_0222E360 = 0x0222E360; -sub_0222E3A0 = 0x0222E3A0; -sub_0222E3A0 = 0x0222E3A0; -sub_0222E7E8 = 0x0222E7E8; -sub_0222E7E8 = 0x0222E7E8; -sub_0222E874 = 0x0222E874; -sub_0222E874 = 0x0222E874; -sub_0222ED34 = 0x0222ED34; -sub_0222ED34 = 0x0222ED34; -sub_0222EDBC = 0x0222EDBC; -sub_0222EDBC = 0x0222EDBC; -sub_0222F440 = 0x0222F440; -sub_0222F440 = 0x0222F440; -sub_0222F480 = 0x0222F480; -sub_0222F480 = 0x0222F480; -sub_0222F480 = 0x0222F480; -sub_0222F7E0 = 0x0222F7E0; -sub_0222F7E0 = 0x0222F7E0; -sub_0222F990 = 0x0222F990; -sub_0222F990 = 0x0222F990; -sub_022300D4 = 0x022300D4; -sub_022300D4 = 0x022300D4; -sub_022300D4 = 0x022300D4; -sub_022300DC = 0x022300DC; -sub_022300DC = 0x022300DC; -sub_022300DC = 0x022300DC; -sub_022300E4 = 0x022300E4; -sub_022300E4 = 0x022300E4; -sub_022300E8 = 0x022300E8; -sub_022300E8 = 0x022300E8; -sub_022300F4 = 0x022300F4; -sub_022300F4 = 0x022300F4; -sub_022300F4 = 0x022300F4; -sub_02230100 = 0x02230100; -sub_02230100 = 0x02230100; -sub_02230100 = 0x02230100; -sub_0223010C = 0x0223010C; -sub_0223010C = 0x0223010C; -sub_02230118 = 0x02230118; -sub_02230118 = 0x02230118; -sub_02230118 = 0x02230118; -sub_02230124 = 0x02230124; -sub_02230124 = 0x02230124; -sub_02230124 = 0x02230124; -sub_02230F3C = 0x02230F3C; -sub_02230F3C = 0x02230F3C; -sub_02230F70 = 0x02230F70; -sub_02230F70 = 0x02230F70; -sub_02230F80 = 0x02230F80; -sub_02230F80 = 0x02230F80; -sub_02231344 = 0x02231344; -sub_02231344 = 0x02231344; -sub_02231350 = 0x02231350; -sub_02231350 = 0x02231350; -sub_0223135C = 0x0223135C; -sub_0223135C = 0x0223135C; -sub_02231368 = 0x02231368; -sub_02231368 = 0x02231368; -sub_02231374 = 0x02231374; -sub_02231374 = 0x02231374; -sub_02239944 = 0x02239944; -sub_02239944 = 0x02239944; -sub_02239AAC = 0x02239AAC; -sub_02239AAC = 0x02239AAC; -sub_0223CB08 = 0x0223CB08; -sub_0223CB08 = 0x0223CB08; -sub_0223CCDC = 0x0223CCDC; -sub_0223CCDC = 0x0223CCDC; -sub_0223CD7C = 0x0223CD7C; -sub_0223CD7C = 0x0223CD7C; -sub_0223CD7C = 0x0223CD7C; -sub_0223D3D0 = 0x0223D3D0; -sub_0223D3D0 = 0x0223D3D0; -sub_0223D3D0 = 0x0223D3D0; -sub_0223D3D0 = 0x0223D3D0; -sub_0223D3D0 = 0x0223D3D0; -sub_0223D638 = 0x0223D638; -sub_0223D638 = 0x0223D638; -sub_0223D638 = 0x0223D638; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223D648 = 0x0223D648; -sub_0223E060 = 0x0223E060; -sub_0223E060 = 0x0223E060; -sub_0223E1E0 = 0x0223E1E0; -sub_0223E1E0 = 0x0223E1E0; -sub_0223E4A8 = 0x0223E4A8; -sub_0223E4A8 = 0x0223E4A8; -sub_0223E4D4 = 0x0223E4D4; -sub_0223E4D4 = 0x0223E4D4; -sub_0223E554 = 0x0223E554; -sub_0223E554 = 0x0223E554; -sub_0223E6B8 = 0x0223E6B8; -sub_0223E6B8 = 0x0223E6B8; -sub_0223E734 = 0x0223E734; -sub_0223E734 = 0x0223E734; -sub_0223E734 = 0x0223E734; -sub_0223EB8C = 0x0223EB8C; -sub_0223EB8C = 0x0223EB8C; -sub_0223EF7C = 0x0223EF7C; -sub_0223EF7C = 0x0223EF7C; -sub_0223F8D8 = 0x0223F8D8; -sub_0223F8D8 = 0x0223F8D8; -sub_02240790 = 0x02240790; -sub_02240790 = 0x02240790; -sub_022407DC = 0x022407DC; -sub_022407DC = 0x022407DC; -sub_022407F8 = 0x022407F8; -sub_022407F8 = 0x022407F8; -sub_02240844 = 0x02240844; -sub_02240844 = 0x02240844; -sub_0224089C = 0x0224089C; -sub_0224089C = 0x0224089C; -sub_0224089C = 0x0224089C; -sub_02241230 = 0x02241230; -sub_02241230 = 0x02241230; -sub_02241914 = 0x02241914; -sub_02241914 = 0x02241914; -sub_02242A38 = 0x02242A38; -sub_02242A38 = 0x02242A38; -sub_02244210 = 0x02244210; -sub_02244210 = 0x02244210; -sub_02244558 = 0x02244558; -sub_02244558 = 0x02244558; -sub_02244660 = 0x02244660; -sub_02244660 = 0x02244660; -sub_022446BC = 0x022446BC; -sub_022446BC = 0x022446BC; -sub_022446E0 = 0x022446E0; -sub_022446E0 = 0x022446E0; -sub_02244D3C = 0x02244D3C; -sub_02244D3C = 0x02244D3C; -sub_02244D40 = 0x02244D40; -sub_02244D40 = 0x02244D40; -sub_02244D40 = 0x02244D40; -sub_02244D40 = 0x02244D40; -sub_02244D40 = 0x02244D40; -sub_02244D58 = 0x02244D58; -sub_02244D58 = 0x02244D58; -sub_02244D98 = 0x02244D98; -sub_02244D98 = 0x02244D98; -sub_02244D98 = 0x02244D98; -sub_02244DA0 = 0x02244DA0; -sub_02244DA0 = 0x02244DA0; -sub_02244DB0 = 0x02244DB0; -sub_02244DB0 = 0x02244DB0; -sub_02244DB0 = 0x02244DB0; -sub_02245114 = 0x02245114; -sub_02245114 = 0x02245114; -sub_02245198 = 0x02245198; -sub_02245198 = 0x02245198; -sub_022451F0 = 0x022451F0; -sub_022451F0 = 0x022451F0; -sub_02245358 = 0x02245358; -sub_02245358 = 0x02245358; -sub_0224566C = 0x0224566C; -sub_0224566C = 0x0224566C; -sub_02245844 = 0x02245844; -sub_02245844 = 0x02245844; -sub_02245910 = 0x02245910; -sub_02245910 = 0x02245910; -sub_02245910 = 0x02245910; -sub_02245F1C = 0x02245F1C; -sub_02245F1C = 0x02245F1C; -sub_02245F4C = 0x02245F4C; -sub_02245F4C = 0x02245F4C; -sub_02245FA0 = 0x02245FA0; -sub_02245FA0 = 0x02245FA0; -sub_0224666C = 0x0224666C; -sub_0224666C = 0x0224666C; -sub_0224666C = 0x0224666C; -sub_022466A0 = 0x022466A0; -sub_022466A0 = 0x022466A0; -sub_022466A0 = 0x022466A0; -sub_022466AC = 0x022466AC; -sub_022466AC = 0x022466AC; -sub_022466AC = 0x022466AC; -sub_02246F1C = 0x02246F1C; -sub_02246F1C = 0x02246F1C; -sub_02247294 = 0x02247294; -sub_02247294 = 0x02247294; -sub_022472AC = 0x022472AC; -sub_022472AC = 0x022472AC; -sub_02247544 = 0x02247544; -sub_02247544 = 0x02247544; -sub_02247614 = 0x02247614; -sub_02247614 = 0x02247614; -sub_02247A34 = 0x02247A34; -sub_02247A34 = 0x02247A34; -sub_022483BC = 0x022483BC; -sub_022483BC = 0x022483BC; -sub_022483E0 = 0x022483E0; -sub_022483E0 = 0x022483E0; -sub_022483EC = 0x022483EC; -sub_022483EC = 0x022483EC; -sub_022488FC = 0x022488FC; -sub_022488FC = 0x022488FC; -sub_0224891C = 0x0224891C; -sub_0224891C = 0x0224891C; -sub_02248B54 = 0x02248B54; -sub_02248B54 = 0x02248B54; -sub_02248B58 = 0x02248B58; -sub_02248B58 = 0x02248B58; -sub_02248B58 = 0x02248B58; -sub_02248B58 = 0x02248B58; -sub_02248B5C = 0x02248B5C; -sub_02248B5C = 0x02248B5C; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B60 = 0x02248B60; -sub_02248B6C = 0x02248B6C; -sub_02248B6C = 0x02248B6C; -sub_02248CD0 = 0x02248CD0; -sub_02248CD0 = 0x02248CD0; -sub_02248DF8 = 0x02248DF8; -sub_02248DF8 = 0x02248DF8; -sub_022494C8 = 0x022494C8; -sub_022494C8 = 0x022494C8; -sub_02249508 = 0x02249508; -sub_02249508 = 0x02249508; -sub_02249668 = 0x02249668; -sub_02249668 = 0x02249668; -sub_02249668 = 0x02249668; -sub_02249668 = 0x02249668; -sub_02249668 = 0x02249668; -sub_022497E8 = 0x022497E8; -sub_022497E8 = 0x022497E8; -sub_022497E8 = 0x022497E8; -sub_02249E6C = 0x02249E6C; -sub_02249E6C = 0x02249E6C; -sub_02249E78 = 0x02249E78; -sub_02249E78 = 0x02249E78; -sub_02249E84 = 0x02249E84; -sub_02249E84 = 0x02249E84; -sub_02249E90 = 0x02249E90; -sub_02249E90 = 0x02249E90; -sub_0224A310 = 0x0224A310; -sub_0224A310 = 0x0224A310; -sub_0224A310 = 0x0224A310; -sub_0224A528 = 0x0224A528; -sub_0224A528 = 0x0224A528; -sub_0224A528 = 0x0224A528; -sub_0224A7C8 = 0x0224A7C8; -sub_0224A7C8 = 0x0224A7C8; -sub_0224ABAC = 0x0224ABAC; -sub_0224ABAC = 0x0224ABAC; -sub_0224B124 = 0x0224B124; -sub_0224B124 = 0x0224B124; -sub_0224B124 = 0x0224B124; -sub_0224B2C4 = 0x0224B2C4; -sub_0224B2C4 = 0x0224B2C4; -sub_0224B2C4 = 0x0224B2C4; -sub_0224B568 = 0x0224B568; -sub_0224B568 = 0x0224B568; -sub_0224B568 = 0x0224B568; -sub_0224B818 = 0x0224B818; -sub_0224B818 = 0x0224B818; -sub_0224B818 = 0x0224B818; -sub_0224B818 = 0x0224B818; -sub_0224B86C = 0x0224B86C; -sub_0224B86C = 0x0224B86C; -sub_0224B9E0 = 0x0224B9E0; -sub_0224B9E0 = 0x0224B9E0; -sub_0224BBEC = 0x0224BBEC; -sub_0224BBEC = 0x0224BBEC; -sub_0224BD90 = 0x0224BD90; -sub_0224BD90 = 0x0224BD90; -sub_0224BD90 = 0x0224BD90; -sub_0224C038 = 0x0224C038; -sub_0224C038 = 0x0224C038; -sub_0224C038 = 0x0224C038; -sub_0224C678 = 0x0224C678; -sub_0224C678 = 0x0224C678; -sub_0224C6E8 = 0x0224C6E8; -sub_0224C6E8 = 0x0224C6E8; -sub_0224C700 = 0x0224C700; -sub_0224C700 = 0x0224C700; -sub_0224C8C8 = 0x0224C8C8; -sub_0224C8C8 = 0x0224C8C8; -sub_0224CA2C = 0x0224CA2C; -sub_0224CA2C = 0x0224CA2C; -sub_0224CA54 = 0x0224CA54; -sub_0224CA54 = 0x0224CA54; -sub_0224CA58 = 0x0224CA58; -sub_0224CA58 = 0x0224CA58; -sub_0224CA88 = 0x0224CA88; -sub_0224CA88 = 0x0224CA88; -sub_0224CB30 = 0x0224CB30; -sub_0224CB30 = 0x0224CB30; -sub_0224CECC = 0x0224CECC; -sub_0224CECC = 0x0224CECC; -sub_0224CECC = 0x0224CECC; -sub_0224D2E0 = 0x0224D2E0; -sub_0224D2E0 = 0x0224D2E0; -sub_0224D3E8 = 0x0224D3E8; -sub_0224D3E8 = 0x0224D3E8; -sub_0224D70C = 0x0224D70C; -sub_0224D70C = 0x0224D70C; -sub_0224D76C = 0x0224D76C; -sub_0224D76C = 0x0224D76C; -sub_0224D79C = 0x0224D79C; -sub_0224D79C = 0x0224D79C; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DCB8 = 0x0224DCB8; -sub_0224DD94 = 0x0224DD94; -sub_0224DD94 = 0x0224DD94; -sub_0224DDB8 = 0x0224DDB8; -sub_0224DDB8 = 0x0224DDB8; -sub_0224DDB8 = 0x0224DDB8; -sub_0224E554 = 0x0224E554; -sub_0224E554 = 0x0224E554; -sub_0224E764 = 0x0224E764; -sub_0224E764 = 0x0224E764; -sub_0224E7C4 = 0x0224E7C4; -sub_0224E7C4 = 0x0224E7C4; -sub_0224F12C = 0x0224F12C; -sub_0224F12C = 0x0224F12C; -sub_0224F12C = 0x0224F12C; -sub_0224F12C = 0x0224F12C; -sub_02252534 = 0x02252534; -sub_02252534 = 0x02252534; -sub_02252538 = 0x02252538; -sub_02252538 = 0x02252538; -sub_022567E0 = 0x022567E0; -sub_022567E0 = 0x022567E0; +FUN_0200019E = 0x0200019E; +FUN_0200019E = 0x0200019E; +FUN_02000DF4 = 0x02000DF4; +FUN_02000E0C = 0x02000E0C; +FUN_02000E7C = 0x02000E7C; +FUN_02000E7C = 0x02000E7C; +FUN_02000EE8 = 0x02000EE8; +FUN_02000F18 = 0x02000F18; +FUN_02000FA4 = 0x02000FA4; +FUN_02000FE8 = 0x02000FE8; +FUN_02002C14 = 0x02002C14; +FUN_02002C50 = 0x02002C50; +FUN_02002C50 = 0x02002C50; +FUN_02002C50 = 0x02002C50; +FUN_02003B98 = 0x02003B98; +FUN_02003C10 = 0x02003C10; +FUN_0200A2AC = 0x0200A2AC; +FUN_0200A318 = 0x0200A318; +FUN_0200E2D8 = 0x0200E2D8; +FUN_0201259C = 0x0201259C; +FUN_020125D4 = 0x020125D4; +FUN_02015E30 = 0x02015E30; +FUN_02015E60 = 0x02015E60; +FUN_02016148 = 0x02016148; +FUN_020163BC = 0x020163BC; +FUN_02016438 = 0x02016438; +FUN_02016464 = 0x02016464; +FUN_0201B5CC = 0x0201B5CC; +FUN_02020AFC = 0x02020AFC; +FUN_02020C2C = 0x02020C2C; +FUN_02022294 = 0x02022294; +FUN_020222C4 = 0x020222C4; +FUN_0202254C = 0x0202254C; +FUN_020227FC = 0x020227FC; +FUN_02023900 = 0x02023900; +FUN_02029EF8 = 0x02029EF8; +FUN_0202FB80 = 0x0202FB80; +FUN_020337E8 = 0x020337E8; +FUN_02034188 = 0x02034188; +FUN_02089D90 = 0x02089D90; +FUN_0208ACEC = 0x0208ACEC; +FUN_0208AD80 = 0x0208AD80; +FUN_0208AF80 = 0x0208AF80; +FUN_0208AF94 = 0x0208AF94; +FUN_0208AFA8 = 0x0208AFA8; +FUN_0208B05C = 0x0208B05C; +FUN_0208B128 = 0x0208B128; +FUN_0208B4A0 = 0x0208B4A0; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090CC8 = 0x02090CC8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02090DB8 = 0x02090DB8; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B14 = 0x02096B14; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096B78 = 0x02096B78; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096CCC = 0x02096CCC; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096D2C = 0x02096D2C; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096DA0 = 0x02096DA0; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096E90 = 0x02096E90; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F18 = 0x02096F18; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096F80 = 0x02096F80; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FB0 = 0x02096FB0; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_02096FF4 = 0x02096FF4; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_0209700C = 0x0209700C; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020973B4 = 0x020973B4; +FUN_020ADDC0 = 0x020ADDC0; +FUN_020ADDC8 = 0x020ADDC8; +FUN_020ADDF0 = 0x020ADDF0; +FUN_020ADDF0 = 0x020ADDF0; +FUN_020ADDF0 = 0x020ADDF0; +FUN_020ADE2C = 0x020ADE2C; +FUN_020ADFA0 = 0x020ADFA0; +FUN_020ADFA0 = 0x020ADFA0; +FUN_020ADFDC = 0x020ADFDC; +FUN_020ADFE8 = 0x020ADFE8; +FUN_020ADFE8 = 0x020ADFE8; +FUN_020AE82C = 0x020AE82C; +FUN_020AE8CC = 0x020AE8CC; +FUN_020AE918 = 0x020AE918; +FUN_020AEB70 = 0x020AEB70; +FUN_020AEB70 = 0x020AEB70; +FUN_020AEB70 = 0x020AEB70; +FUN_020AEC7C = 0x020AEC7C; +FUN_020AEC98 = 0x020AEC98; +FUN_020AEE40 = 0x020AEE40; +FUN_020AEE40 = 0x020AEE40; +FUN_020AEEB8 = 0x020AEEB8; +FUN_020AEEB8 = 0x020AEEB8; +FUN_020AEF1C = 0x020AEF1C; +FUN_020AEF1C = 0x020AEF1C; +FUN_020AF894 = 0x020AF894; +FUN_020AF9C4 = 0x020AF9C4; +FUN_020AF9C4 = 0x020AF9C4; +FUN_020AFA28 = 0x020AFA28; +FUN_020AFA28 = 0x020AFA28; +FUN_020AFA80 = 0x020AFA80; +FUN_020AFBA8 = 0x020AFBA8; +FUN_020AFBA8 = 0x020AFBA8; +FUN_020AFBFC = 0x020AFBFC; +FUN_020AFBFC = 0x020AFBFC; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFC04 = 0x020AFC04; +FUN_020AFD88 = 0x020AFD88; +FUN_020AFD94 = 0x020AFD94; +FUN_020AFD94 = 0x020AFD94; +FUN_020AFD94 = 0x020AFD94; +FUN_020AFD94 = 0x020AFD94; +FUN_020AFEB8 = 0x020AFEB8; +FUN_020AFEB8 = 0x020AFEB8; +FUN_020AFFD8 = 0x020AFFD8; +FUN_020B0030 = 0x020B0030; +FUN_020B0030 = 0x020B0030; +FUN_020B0030 = 0x020B0030; +FUN_020B0030 = 0x020B0030; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B0088 = 0x020B0088; +FUN_020B00F0 = 0x020B00F0; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0138 = 0x020B0138; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0180 = 0x020B0180; +FUN_020B0250 = 0x020B0250; +FUN_020B0250 = 0x020B0250; +FUN_020B0250 = 0x020B0250; +FUN_020B0250 = 0x020B0250; +FUN_020B02C8 = 0x020B02C8; +FUN_020B02C8 = 0x020B02C8; +FUN_020B0448 = 0x020B0448; +FUN_020B0448 = 0x020B0448; +FUN_020B0448 = 0x020B0448; +FUN_020B0870 = 0x020B0870; +FUN_020B0870 = 0x020B0870; +FUN_020B0BB0 = 0x020B0BB0; +FUN_020B0BB0 = 0x020B0BB0; +FUN_020B0C7C = 0x020B0C7C; +FUN_020B0C7C = 0x020B0C7C; +FUN_020B0E34 = 0x020B0E34; +FUN_020B0E34 = 0x020B0E34; +FUN_020B0FC0 = 0x020B0FC0; +FUN_020B0FC0 = 0x020B0FC0; +FUN_020B0FC0 = 0x020B0FC0; +FUN_020B10E8 = 0x020B10E8; +FUN_020B1240 = 0x020B1240; +FUN_020B1240 = 0x020B1240; +FUN_020B1240 = 0x020B1240; +FUN_020B1240 = 0x020B1240; +FUN_020B1240 = 0x020B1240; +FUN_020B1240 = 0x020B1240; +FUN_020B1340 = 0x020B1340; +FUN_020B1340 = 0x020B1340; +FUN_020B1528 = 0x020B1528; +FUN_020B1528 = 0x020B1528; +FUN_020B1528 = 0x020B1528; +FUN_020B1528 = 0x020B1528; +FUN_020B1768 = 0x020B1768; +FUN_020B1768 = 0x020B1768; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19C4 = 0x020B19C4; +FUN_020B19DC = 0x020B19DC; +FUN_020B19DC = 0x020B19DC; +FUN_020B19DC = 0x020B19DC; +FUN_020B19DC = 0x020B19DC; +FUN_020B19DC = 0x020B19DC; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A14 = 0x020B1A14; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1A24 = 0x020B1A24; +FUN_020B1EA4 = 0x020B1EA4; +FUN_020B1EA4 = 0x020B1EA4; +FUN_020B1EC4 = 0x020B1EC4; +FUN_020B1EC4 = 0x020B1EC4; +FUN_020B1EE4 = 0x020B1EE4; +FUN_020B1EE4 = 0x020B1EE4; +FUN_020B1EFC = 0x020B1EFC; +FUN_020B1EFC = 0x020B1EFC; +FUN_020B1F80 = 0x020B1F80; +FUN_020B1F80 = 0x020B1F80; +FUN_020B20C8 = 0x020B20C8; +FUN_020B20C8 = 0x020B20C8; +FUN_020B2194 = 0x020B2194; +FUN_020B2194 = 0x020B2194; +FUN_020B224C = 0x020B224C; +FUN_020B224C = 0x020B224C; +FUN_020B23D8 = 0x020B23D8; +FUN_020B23D8 = 0x020B23D8; +FUN_020B242C = 0x020B242C; +FUN_020B242C = 0x020B242C; +FUN_020B242C = 0x020B242C; +FUN_020B2780 = 0x020B2780; +FUN_020B2780 = 0x020B2780; +FUN_020B2794 = 0x020B2794; +FUN_020B2794 = 0x020B2794; +FUN_020B28B4 = 0x020B28B4; +FUN_020B28B4 = 0x020B28B4; +FUN_020B2A08 = 0x020B2A08; +FUN_020B2A08 = 0x020B2A08; +FUN_020B2A08 = 0x020B2A08; +FUN_020B2A08 = 0x020B2A08; +FUN_020B2B08 = 0x020B2B08; +FUN_020B2B08 = 0x020B2B08; +FUN_020B2B58 = 0x020B2B58; +FUN_020B2B58 = 0x020B2B58; +FUN_020B2D9C = 0x020B2D9C; +FUN_020B2D9C = 0x020B2D9C; +FUN_020B317C = 0x020B317C; +FUN_020B317C = 0x020B317C; +FUN_020B31F0 = 0x020B31F0; +FUN_020B31F0 = 0x020B31F0; +FUN_020B326C = 0x020B326C; +FUN_020B326C = 0x020B326C; +FUN_020B3334 = 0x020B3334; +FUN_020B3334 = 0x020B3334; +FUN_020B3390 = 0x020B3390; +FUN_020B3390 = 0x020B3390; +FUN_020B33A0 = 0x020B33A0; +FUN_020B33A0 = 0x020B33A0; +FUN_020B4358 = 0x020B4358; +FUN_020B4358 = 0x020B4358; +FUN_020B43A4 = 0x020B43A4; +FUN_020B43A4 = 0x020B43A4; +FUN_020B442C = 0x020B442C; +FUN_020B442C = 0x020B442C; +FUN_020B4568 = 0x020B4568; +FUN_020B4568 = 0x020B4568; +FUN_020B4F38 = 0x020B4F38; +FUN_020B4F38 = 0x020B4F38; +FUN_020B4F38 = 0x020B4F38; +FUN_020B4F38 = 0x020B4F38; +FUN_020B502C = 0x020B502C; +FUN_020B502C = 0x020B502C; +FUN_020B502C = 0x020B502C; +FUN_020B772C = 0x020B772C; +FUN_020B772C = 0x020B772C; +FUN_020B7790 = 0x020B7790; +FUN_020B7790 = 0x020B7790; +FUN_020B7790 = 0x020B7790; +FUN_020B7C58 = 0x020B7C58; +FUN_020B7C58 = 0x020B7C58; +FUN_020B7C58 = 0x020B7C58; +FUN_020B7C78 = 0x020B7C78; +FUN_020B7C78 = 0x020B7C78; +FUN_020B7C78 = 0x020B7C78; +FUN_020B7CDC = 0x020B7CDC; +FUN_020B7CDC = 0x020B7CDC; +FUN_020B7CDC = 0x020B7CDC; +FUN_020B7CDC = 0x020B7CDC; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CE4 = 0x020B7CE4; +FUN_020B7CF0 = 0x020B7CF0; +FUN_020B7CF0 = 0x020B7CF0; +FUN_020B7CF0 = 0x020B7CF0; +FUN_020B7D28 = 0x020B7D28; +FUN_020B7D28 = 0x020B7D28; +FUN_020B7D28 = 0x020B7D28; +FUN_020B7DFC = 0x020B7DFC; +FUN_020B7DFC = 0x020B7DFC; +FUN_020B7DFC = 0x020B7DFC; +FUN_020B7DFC = 0x020B7DFC; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E10 = 0x020B7E10; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B7E1C = 0x020B7E1C; +FUN_020B80B4 = 0x020B80B4; +FUN_020B80B4 = 0x020B80B4; +FUN_020B80B4 = 0x020B80B4; +FUN_020B80B4 = 0x020B80B4; +FUN_020B80B4 = 0x020B80B4; +FUN_020B844C = 0x020B844C; +FUN_020B844C = 0x020B844C; +FUN_020B844C = 0x020B844C; +FUN_020B844C = 0x020B844C; +FUN_020B8474 = 0x020B8474; +FUN_020B8474 = 0x020B8474; +FUN_020B8474 = 0x020B8474; +FUN_020B8474 = 0x020B8474; +FUN_020B8474 = 0x020B8474; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020B849C = 0x020B849C; +FUN_020BAC98 = 0x020BAC98; +FUN_020BAC98 = 0x020BAC98; +FUN_020BAFB8 = 0x020BAFB8; +FUN_020BAFB8 = 0x020BAFB8; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB1C0 = 0x020BB1C0; +FUN_020BB394 = 0x020BB394; +FUN_020BB394 = 0x020BB394; +FUN_020BB394 = 0x020BB394; +FUN_020BB394 = 0x020BB394; +FUN_020BB394 = 0x020BB394; +FUN_020BB59C = 0x020BB59C; +FUN_020BB59C = 0x020BB59C; +FUN_020BB59C = 0x020BB59C; +FUN_020BB7F4 = 0x020BB7F4; +FUN_020BB7F4 = 0x020BB7F4; +FUN_020BB7F4 = 0x020BB7F4; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC0FC = 0x020BC0FC; +FUN_020BC13C = 0x020BC13C; +FUN_020BC13C = 0x020BC13C; +FUN_020BC13C = 0x020BC13C; +FUN_020BC13C = 0x020BC13C; +FUN_020BC13C = 0x020BC13C; +FUN_020BC13C = 0x020BC13C; +FUN_020BC2A0 = 0x020BC2A0; +FUN_020BC2A0 = 0x020BC2A0; +FUN_020BC2A0 = 0x020BC2A0; +FUN_020C0174 = 0x020C0174; +FUN_020C01A0 = 0x020C01A0; +FUN_020C01D0 = 0x020C01D0; +FUN_020C03B8 = 0x020C03B8; +FUN_020C041C = 0x020C041C; +FUN_020C044C = 0x020C044C; +FUN_020C04DC = 0x020C04DC; +FUN_020C04DC = 0x020C04DC; +FUN_020C0510 = 0x020C0510; +FUN_020C054C = 0x020C054C; +FUN_020C0670 = 0x020C0670; +FUN_020C0670 = 0x020C0670; +FUN_020C0688 = 0x020C0688; +FUN_020C0688 = 0x020C0688; +FUN_020C0DD4 = 0x020C0DD4; +FUN_020C0E14 = 0x020C0E14; +FUN_020C0E14 = 0x020C0E14; +FUN_020C0E7C = 0x020C0E7C; +FUN_020C0E7C = 0x020C0E7C; +FUN_020C0E7C = 0x020C0E7C; +FUN_020C0EA4 = 0x020C0EA4; +FUN_020C0EF4 = 0x020C0EF4; +FUN_020C0F30 = 0x020C0F30; +FUN_020C0F50 = 0x020C0F50; +FUN_020C0F68 = 0x020C0F68; +FUN_020C0F68 = 0x020C0F68; +FUN_020C0F80 = 0x020C0F80; +FUN_020C0F8C = 0x020C0F8C; +FUN_020C0F9C = 0x020C0F9C; +FUN_020C0FDC = 0x020C0FDC; +FUN_020C0FDC = 0x020C0FDC; +FUN_020C1040 = 0x020C1040; +FUN_020C10A4 = 0x020C10A4; +FUN_020C10A4 = 0x020C10A4; +FUN_020C10A4 = 0x020C10A4; +FUN_020C10A4 = 0x020C10A4; +FUN_020C10A4 = 0x020C10A4; +FUN_020C1148 = 0x020C1148; +FUN_020C1180 = 0x020C1180; +FUN_020C1180 = 0x020C1180; +FUN_020C1E58 = 0x020C1E58; +FUN_020C1E58 = 0x020C1E58; +FUN_020C1E68 = 0x020C1E68; +FUN_020C1E68 = 0x020C1E68; +FUN_020C1EA4 = 0x020C1EA4; +FUN_020C1F54 = 0x020C1F54; +FUN_020C1F54 = 0x020C1F54; +FUN_020C1FA4 = 0x020C1FA4; +FUN_020C1FA4 = 0x020C1FA4; +FUN_020C1FF0 = 0x020C1FF0; +FUN_020C20DC = 0x020C20DC; +FUN_020C2104 = 0x020C2104; +FUN_020C217C = 0x020C217C; +FUN_020C226C = 0x020C226C; +FUN_020C226C = 0x020C226C; +FUN_020C22D0 = 0x020C22D0; +FUN_020C23FC = 0x020C23FC; +FUN_020C23FC = 0x020C23FC; +FUN_020C23FC = 0x020C23FC; +FUN_020C26F8 = 0x020C26F8; +FUN_020C2828 = 0x020C2828; +FUN_020C290C = 0x020C290C; +FUN_020C2A94 = 0x020C2A94; +FUN_020C35E0 = 0x020C35E0; +FUN_020C360C = 0x020C360C; +FUN_020C3640 = 0x020C3640; +FUN_020C3674 = 0x020C3674; +FUN_020C36A8 = 0x020C36A8; +FUN_020C3910 = 0x020C3910; +FUN_020C3910 = 0x020C3910; +FUN_020C3910 = 0x020C3910; +FUN_020C3910 = 0x020C3910; +FUN_020C3980 = 0x020C3980; +FUN_020C3980 = 0x020C3980; +FUN_020C3980 = 0x020C3980; +FUN_020C3980 = 0x020C3980; +FUN_020C3980 = 0x020C3980; +FUN_020C39CC = 0x020C39CC; +FUN_020C3EA4 = 0x020C3EA4; +FUN_020C3EA4 = 0x020C3EA4; +FUN_020C3EB0 = 0x020C3EB0; +FUN_020C3EB0 = 0x020C3EB0; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F14 = 0x020C3F14; +FUN_020C3F38 = 0x020C3F38; +FUN_020C3F38 = 0x020C3F38; +FUN_020C3F38 = 0x020C3F38; +FUN_020C3F54 = 0x020C3F54; +FUN_020C3F54 = 0x020C3F54; +FUN_020C3F54 = 0x020C3F54; +FUN_020C3F70 = 0x020C3F70; +FUN_020C3F70 = 0x020C3F70; +FUN_020C3F70 = 0x020C3F70; +FUN_020C400C = 0x020C400C; +FUN_020C400C = 0x020C400C; +FUN_020C400C = 0x020C400C; +FUN_020C400C = 0x020C400C; +FUN_020C400C = 0x020C400C; +FUN_020C504C = 0x020C504C; +FUN_020C504C = 0x020C504C; +FUN_020C504C = 0x020C504C; +FUN_020C50B8 = 0x020C50B8; +FUN_020C50B8 = 0x020C50B8; +FUN_020C50B8 = 0x020C50B8; +FUN_020C50B8 = 0x020C50B8; +FUN_020C5288 = 0x020C5288; +FUN_020C5288 = 0x020C5288; +FUN_020C5288 = 0x020C5288; +FUN_020C5288 = 0x020C5288; +FUN_020C53C8 = 0x020C53C8; +FUN_020C53C8 = 0x020C53C8; +FUN_020C5588 = 0x020C5588; +FUN_020C5588 = 0x020C5588; +FUN_020C5600 = 0x020C5600; +FUN_020C5600 = 0x020C5600; +FUN_020C5600 = 0x020C5600; +FUN_020C5600 = 0x020C5600; +FUN_020C5634 = 0x020C5634; +FUN_020C5634 = 0x020C5634; +FUN_020C5634 = 0x020C5634; +FUN_020C5634 = 0x020C5634; +FUN_020C5634 = 0x020C5634; +FUN_020C5668 = 0x020C5668; +FUN_020C5668 = 0x020C5668; +FUN_020C5974 = 0x020C5974; +FUN_020C5978 = 0x020C5978; +FUN_020C5978 = 0x020C5978; +FUN_020C59A4 = 0x020C59A4; +FUN_020C59A4 = 0x020C59A4; +FUN_020C59C0 = 0x020C59C0; +FUN_020C59C0 = 0x020C59C0; +FUN_020C5A34 = 0x020C5A34; +FUN_020C5A34 = 0x020C5A34; +FUN_020C5A80 = 0x020C5A80; +FUN_020C5AC8 = 0x020C5AC8; +FUN_020C5AF8 = 0x020C5AF8; +FUN_020C5AF8 = 0x020C5AF8; +FUN_020C5B28 = 0x020C5B28; +FUN_020C5D2C = 0x020C5D2C; +FUN_020C5D2C = 0x020C5D2C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D4C = 0x020C5D4C; +FUN_020C5D9C = 0x020C5D9C; +FUN_020C5D9C = 0x020C5D9C; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5DBC = 0x020C5DBC; +FUN_020C5E54 = 0x020C5E54; +FUN_020C600C = 0x020C600C; +FUN_020C600C = 0x020C600C; +FUN_020C6034 = 0x020C6034; +FUN_020C6034 = 0x020C6034; +FUN_020C605C = 0x020C605C; +FUN_020C605C = 0x020C605C; +FUN_020C6070 = 0x020C6070; +FUN_020C6070 = 0x020C6070; +FUN_020C6098 = 0x020C6098; +FUN_020C6098 = 0x020C6098; +FUN_020C60AC = 0x020C60AC; +FUN_020C60AC = 0x020C60AC; +FUN_020C60C0 = 0x020C60C0; +FUN_020C60C0 = 0x020C60C0; +FUN_020C60E4 = 0x020C60E4; +FUN_020C60E4 = 0x020C60E4; +FUN_020C6108 = 0x020C6108; +FUN_020C6108 = 0x020C6108; +FUN_020C611C = 0x020C611C; +FUN_020C611C = 0x020C611C; +FUN_020C6168 = 0x020C6168; +FUN_020C6168 = 0x020C6168; +FUN_020C61F4 = 0x020C61F4; +FUN_020C61F4 = 0x020C61F4; +FUN_020C6280 = 0x020C6280; +FUN_020C6280 = 0x020C6280; +FUN_020C62FC = 0x020C62FC; +FUN_020C62FC = 0x020C62FC; +FUN_020C63A8 = 0x020C63A8; +FUN_020C65C0 = 0x020C65C0; +FUN_020C65C0 = 0x020C65C0; +FUN_020C66B4 = 0x020C66B4; +FUN_020C66B4 = 0x020C66B4; +FUN_020C68B8 = 0x020C68B8; +FUN_020C68B8 = 0x020C68B8; +FUN_020C6970 = 0x020C6970; +FUN_020C6970 = 0x020C6970; +FUN_020C6A84 = 0x020C6A84; +FUN_020C6A84 = 0x020C6A84; +FUN_020C6BF0 = 0x020C6BF0; +FUN_020C6BF0 = 0x020C6BF0; +FUN_020C7124 = 0x020C7124; +FUN_020C7124 = 0x020C7124; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74B8 = 0x020C74B8; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74DC = 0x020C74DC; +FUN_020C74F8 = 0x020C74F8; +FUN_020C74F8 = 0x020C74F8; +FUN_020C74F8 = 0x020C74F8; +FUN_020C74F8 = 0x020C74F8; +FUN_020C74F8 = 0x020C74F8; +FUN_020C74F8 = 0x020C74F8; +FUN_020C7A14 = 0x020C7A14; +FUN_020C7A14 = 0x020C7A14; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7B3C = 0x020C7B3C; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7C28 = 0x020C7C28; +FUN_020C7D28 = 0x020C7D28; +FUN_020C7D28 = 0x020C7D28; +FUN_020C7D28 = 0x020C7D28; +FUN_020C7E0C = 0x020C7E0C; +FUN_020C7E0C = 0x020C7E0C; +FUN_020C7E94 = 0x020C7E94; +FUN_020C7E94 = 0x020C7E94; +FUN_020C7FF0 = 0x020C7FF0; +FUN_020C7FF0 = 0x020C7FF0; +FUN_020C802C = 0x020C802C; +FUN_020C8068 = 0x020C8068; +FUN_020C80A4 = 0x020C80A4; +FUN_020C80A4 = 0x020C80A4; +FUN_020C823C = 0x020C823C; +FUN_020C823C = 0x020C823C; +FUN_020C8538 = 0x020C8538; +FUN_020C8538 = 0x020C8538; +FUN_020C8A2C = 0x020C8A2C; +FUN_020C8B10 = 0x020C8B10; +FUN_020C8EEC = 0x020C8EEC; +FUN_020C8EEC = 0x020C8EEC; +FUN_020C922C = 0x020C922C; +FUN_020C922C = 0x020C922C; +FUN_020C9294 = 0x020C9294; +FUN_020C9294 = 0x020C9294; +FUN_020C9294 = 0x020C9294; +FUN_020C9294 = 0x020C9294; +FUN_020C9294 = 0x020C9294; +FUN_020C92F4 = 0x020C92F4; +FUN_020C92F4 = 0x020C92F4; +FUN_020C92F4 = 0x020C92F4; +FUN_020C92F4 = 0x020C92F4; +FUN_020C92F4 = 0x020C92F4; +FUN_020C9354 = 0x020C9354; +FUN_020C9354 = 0x020C9354; +FUN_020C93BC = 0x020C93BC; +FUN_020C93BC = 0x020C93BC; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9418 = 0x020C9418; +FUN_020C9480 = 0x020C9480; +FUN_020C9480 = 0x020C9480; +FUN_020C9480 = 0x020C9480; +FUN_020C9480 = 0x020C9480; +FUN_020C9480 = 0x020C9480; +FUN_020C94E8 = 0x020C94E8; +FUN_020C94E8 = 0x020C94E8; +FUN_020C94E8 = 0x020C94E8; +FUN_020C94E8 = 0x020C94E8; +FUN_020C94E8 = 0x020C94E8; +FUN_020C9550 = 0x020C9550; +FUN_020C9550 = 0x020C9550; +FUN_020C9550 = 0x020C9550; +FUN_020C9550 = 0x020C9550; +FUN_020C9550 = 0x020C9550; +FUN_020C9550 = 0x020C9550; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9C0C = 0x020C9C0C; +FUN_020C9E14 = 0x020C9E14; +FUN_020C9E14 = 0x020C9E14; +FUN_020C9E14 = 0x020C9E14; +FUN_020C9E14 = 0x020C9E14; +FUN_020C9E14 = 0x020C9E14; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9E5C = 0x020C9E5C; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020C9FEC = 0x020C9FEC; +FUN_020CA0A0 = 0x020CA0A0; +FUN_020CA0A0 = 0x020CA0A0; +FUN_020CA0A0 = 0x020CA0A0; +FUN_020CA0A0 = 0x020CA0A0; +FUN_020CA0F8 = 0x020CA0F8; +FUN_020CA0F8 = 0x020CA0F8; +FUN_020CA0F8 = 0x020CA0F8; +FUN_020CA0F8 = 0x020CA0F8; +FUN_020CA0F8 = 0x020CA0F8; +FUN_020CC124 = 0x020CC124; +FUN_020CC124 = 0x020CC124; +FUN_020CC124 = 0x020CC124; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC15C = 0x020CC15C; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC180 = 0x020CC180; +FUN_020CC1B4 = 0x020CC1B4; +FUN_020CC204 = 0x020CC204; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC26C = 0x020CC26C; +FUN_020CC2F4 = 0x020CC2F4; +FUN_020CC2F4 = 0x020CC2F4; +FUN_020CC308 = 0x020CC308; +FUN_020CC308 = 0x020CC308; +FUN_020CC31C = 0x020CC31C; +FUN_020CC31C = 0x020CC31C; +FUN_020CC408 = 0x020CC408; +FUN_020CC408 = 0x020CC408; +FUN_020CCD64 = 0x020CCD64; +FUN_020CD310 = 0x020CD310; +FUN_020CD310 = 0x020CD310; +FUN_020CD310 = 0x020CD310; +FUN_020CD310 = 0x020CD310; +FUN_020CD324 = 0x020CD324; +FUN_020CD324 = 0x020CD324; +FUN_020CD324 = 0x020CD324; +FUN_020CD324 = 0x020CD324; +FUN_020CD374 = 0x020CD374; +FUN_020CD374 = 0x020CD374; +FUN_020CD374 = 0x020CD374; +FUN_020CD374 = 0x020CD374; +FUN_020CD374 = 0x020CD374; +FUN_020CD374 = 0x020CD374; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD3B4 = 0x020CD3B4; +FUN_020CD510 = 0x020CD510; +FUN_020CD510 = 0x020CD510; +FUN_020CD510 = 0x020CD510; +FUN_020CD510 = 0x020CD510; +FUN_020CD510 = 0x020CD510; +FUN_020CD524 = 0x020CD524; +FUN_020CD524 = 0x020CD524; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD5A0 = 0x020CD5A0; +FUN_020CD754 = 0x020CD754; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD850 = 0x020CD850; +FUN_020CD998 = 0x020CD998; +FUN_020CDA1C = 0x020CDA1C; +FUN_020CDA1C = 0x020CDA1C; +FUN_020CDA1C = 0x020CDA1C; +FUN_020CDD90 = 0x020CDD90; +FUN_020CDE04 = 0x020CDE04; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1C8 = 0x020CE1C8; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1E0 = 0x020CE1E0; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE1FC = 0x020CE1FC; +FUN_020CE210 = 0x020CE210; +FUN_020CE210 = 0x020CE210; +FUN_020CE210 = 0x020CE210; +FUN_020CE210 = 0x020CE210; +FUN_020CE210 = 0x020CE210; +FUN_020CE210 = 0x020CE210; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE240 = 0x020CE240; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE28C = 0x020CE28C; +FUN_020CE2E0 = 0x020CE2E0; +FUN_020CE2E0 = 0x020CE2E0; +FUN_020CE2E0 = 0x020CE2E0; +FUN_020CE2E0 = 0x020CE2E0; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE34C = 0x020CE34C; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE3E0 = 0x020CE3E0; +FUN_020CE528 = 0x020CE528; +FUN_020CE528 = 0x020CE528; +FUN_020CE528 = 0x020CE528; +FUN_020CE528 = 0x020CE528; +FUN_020CE528 = 0x020CE528; +FUN_020CF768 = 0x020CF768; +FUN_020D1148 = 0x020D1148; +FUN_020D1148 = 0x020D1148; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D17A0 = 0x020D17A0; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D180C = 0x020D180C; +FUN_020D182C = 0x020D182C; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D18FC = 0x020D18FC; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1944 = 0x020D1944; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1C94 = 0x020D1C94; +FUN_020D1CC4 = 0x020D1CC4; +FUN_020D1CC4 = 0x020D1CC4; +FUN_020D1CD4 = 0x020D1CD4; +FUN_020D1D10 = 0x020D1D10; +FUN_020D1D10 = 0x020D1D10; +FUN_020D1D30 = 0x020D1D30; +FUN_020D1D30 = 0x020D1D30; +FUN_020D2040 = 0x020D2040; +FUN_020D2094 = 0x020D2094; +FUN_020D2094 = 0x020D2094; +FUN_020D2210 = 0x020D2210; +FUN_020D2210 = 0x020D2210; +FUN_020D23B4 = 0x020D23B4; +FUN_020D2454 = 0x020D2454; +FUN_020D24EC = 0x020D24EC; +FUN_020D24EC = 0x020D24EC; +FUN_020D24EC = 0x020D24EC; +FUN_020D24EC = 0x020D24EC; +FUN_020D36C4 = 0x020D36C4; +FUN_020D36C4 = 0x020D36C4; +FUN_020D36C4 = 0x020D36C4; +FUN_020D36D8 = 0x020D36D8; +FUN_020D36D8 = 0x020D36D8; +FUN_020D36D8 = 0x020D36D8; +FUN_020D36F0 = 0x020D36F0; +FUN_020D36F0 = 0x020D36F0; +FUN_020D36F0 = 0x020D36F0; +FUN_020D3A90 = 0x020D3A90; +FUN_020D3A90 = 0x020D3A90; +FUN_020D3AA0 = 0x020D3AA0; +FUN_020D3C14 = 0x020D3C14; +FUN_020D3C14 = 0x020D3C14; +FUN_020D3CB8 = 0x020D3CB8; +FUN_020D3CB8 = 0x020D3CB8; +FUN_020D3DCC = 0x020D3DCC; +FUN_020D3E24 = 0x020D3E24; +FUN_020D3EC4 = 0x020D3EC4; +FUN_020D3EC4 = 0x020D3EC4; +FUN_020D400C = 0x020D400C; +FUN_020D40B8 = 0x020D40B8; +FUN_020D4718 = 0x020D4718; +FUN_020D47CC = 0x020D47CC; +FUN_020D47CC = 0x020D47CC; +FUN_020D4980 = 0x020D4980; +FUN_020D4A5C = 0x020D4A5C; +FUN_020D4E68 = 0x020D4E68; +FUN_020D50D8 = 0x020D50D8; +FUN_020D50D8 = 0x020D50D8; +FUN_020D5150 = 0x020D5150; +FUN_020D5168 = 0x020D5168; +FUN_020D5180 = 0x020D5180; +FUN_020D526C = 0x020D526C; +FUN_020D526C = 0x020D526C; +FUN_020D5F40 = 0x020D5F40; +FUN_020D614C = 0x020D614C; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6320 = 0x020D6320; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D6578 = 0x020D6578; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D660C = 0x020D660C; +FUN_020D66A0 = 0x020D66A0; +FUN_020D66A0 = 0x020D66A0; +FUN_020D66A0 = 0x020D66A0; +FUN_020D66A0 = 0x020D66A0; +FUN_020D66A0 = 0x020D66A0; +FUN_020D66B0 = 0x020D66B0; +FUN_020D66B0 = 0x020D66B0; +FUN_020D66B0 = 0x020D66B0; +FUN_020D66B0 = 0x020D66B0; +FUN_020D6700 = 0x020D6700; +FUN_020D6700 = 0x020D6700; +FUN_020D6DAC = 0x020D6DAC; +FUN_020D6DB8 = 0x020D6DB8; +FUN_020D6DB8 = 0x020D6DB8; +FUN_020D6DC4 = 0x020D6DC4; +FUN_020D6DC4 = 0x020D6DC4; +FUN_020D6DC4 = 0x020D6DC4; +FUN_020D6F20 = 0x020D6F20; +FUN_020D6F20 = 0x020D6F20; +FUN_020D6F20 = 0x020D6F20; +FUN_020D6F20 = 0x020D6F20; +FUN_020D7228 = 0x020D7228; +FUN_020D7228 = 0x020D7228; +FUN_020D7D18 = 0x020D7D18; +FUN_020D7E9C = 0x020D7E9C; +FUN_020D7E9C = 0x020D7E9C; +FUN_020D8A4C = 0x020D8A4C; +FUN_020D8A4C = 0x020D8A4C; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D8F34 = 0x020D8F34; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9014 = 0x020D9014; +FUN_020D9060 = 0x020D9060; +FUN_020D9060 = 0x020D9060; +FUN_020D9060 = 0x020D9060; +FUN_020D9168 = 0x020D9168; +FUN_020D9168 = 0x020D9168; +FUN_020D9244 = 0x020D9244; +FUN_020D9244 = 0x020D9244; +FUN_020D940C = 0x020D940C; +FUN_020D940C = 0x020D940C; +FUN_020D950C = 0x020D950C; +FUN_020D950C = 0x020D950C; +FUN_020D9554 = 0x020D9554; +FUN_020D9554 = 0x020D9554; +FUN_020D9624 = 0x020D9624; +FUN_020D9624 = 0x020D9624; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D972C = 0x020D972C; +FUN_020D9774 = 0x020D9774; +FUN_020D9774 = 0x020D9774; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D97B4 = 0x020D97B4; +FUN_020D9960 = 0x020D9960; +FUN_020D9960 = 0x020D9960; +FUN_020D9960 = 0x020D9960; +FUN_020D99EC = 0x020D99EC; +FUN_020D99EC = 0x020D99EC; +FUN_020D9B48 = 0x020D9B48; +FUN_020D9B48 = 0x020D9B48; +FUN_020D9B48 = 0x020D9B48; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DAD74 = 0x020DAD74; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DADD4 = 0x020DADD4; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DAF30 = 0x020DAF30; +FUN_020DB7A8 = 0x020DB7A8; +FUN_020DDC5C = 0x020DDC5C; +FUN_020DDC5C = 0x020DDC5C; +FUN_020DDC5C = 0x020DDC5C; +FUN_020DDCE4 = 0x020DDCE4; +FUN_020DDD28 = 0x020DDD28; +FUN_020DDD28 = 0x020DDD28; +FUN_020DDD28 = 0x020DDD28; +FUN_020DDD60 = 0x020DDD60; +FUN_020DDD60 = 0x020DDD60; +FUN_020DDD60 = 0x020DDD60; +FUN_020DDE44 = 0x020DDE44; +FUN_020DDE44 = 0x020DDE44; +FUN_020DDE44 = 0x020DDE44; +FUN_020DDF60 = 0x020DDF60; +FUN_020DDF60 = 0x020DDF60; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF438 = 0x020DF438; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF510 = 0x020DF510; +FUN_020DF510 = 0x020DF510; +FUN_020E2EAC = 0x020E2EAC; +FUN_020E2EC8 = 0x020E2EC8; +FUN_020E2EC8 = 0x020E2EC8; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EA980 = 0x020EA980; +FUN_020EAEF0 = 0x020EAEF0; +FUN_020EAEF0 = 0x020EAEF0; +FUN_020EAEF0 = 0x020EAEF0; +FUN_020EAEF0 = 0x020EAEF0; +FUN_020EB010 = 0x020EB010; +FUN_020EB010 = 0x020EB010; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB084 = 0x020EB084; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4F4 = 0x020EB4F4; +FUN_020EB4F4 = 0x020EB4F4; +FUN_020EB4F4 = 0x020EB4F4; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB534 = 0x020EB534; +FUN_020EB57C = 0x020EB57C; +FUN_020EB57C = 0x020EB57C; +FUN_020EB57C = 0x020EB57C; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBBE8 = 0x020EBBE8; +FUN_020EBBE8 = 0x020EBBE8; +FUN_020EBBE8 = 0x020EBBE8; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC30 = 0x020EBC30; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBC80 = 0x020EBC80; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_020EBE8C = 0x020EBE8C; +FUN_021D78FC = 0x021D78FC; +FUN_021D78FC = 0x021D78FC; +FUN_021D78FC = 0x021D78FC; +FUN_021D79B4 = 0x021D79B4; +FUN_021D79B4 = 0x021D79B4; +FUN_021D79B4 = 0x021D79B4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7CA4 = 0x021D7CA4; +FUN_021D7F8C = 0x021D7F8C; +FUN_021D7F8C = 0x021D7F8C; +FUN_021D8018 = 0x021D8018; +FUN_021D8018 = 0x021D8018; +FUN_021D8018 = 0x021D8018; +FUN_021D8164 = 0x021D8164; +FUN_021D8164 = 0x021D8164; +FUN_021D82BC = 0x021D82BC; +FUN_021D82BC = 0x021D82BC; +FUN_021D8320 = 0x021D8320; +FUN_021D8320 = 0x021D8320; +FUN_021D836C = 0x021D836C; +FUN_021D836C = 0x021D836C; +FUN_021D83C0 = 0x021D83C0; +FUN_021D83C0 = 0x021D83C0; +FUN_021D83C0 = 0x021D83C0; +FUN_021D844C = 0x021D844C; +FUN_021D844C = 0x021D844C; +FUN_021D85FC = 0x021D85FC; +FUN_021D85FC = 0x021D85FC; +FUN_021D8624 = 0x021D8624; +FUN_021D8624 = 0x021D8624; +FUN_021D88E4 = 0x021D88E4; +FUN_021D88E4 = 0x021D88E4; +FUN_021D88E4 = 0x021D88E4; +FUN_021D88E4 = 0x021D88E4; +FUN_021D88E4 = 0x021D88E4; +FUN_021D88E4 = 0x021D88E4; +FUN_021D89CC = 0x021D89CC; +FUN_021D89CC = 0x021D89CC; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8B64 = 0x021D8B64; +FUN_021D8C24 = 0x021D8C24; +FUN_021D8C24 = 0x021D8C24; +FUN_021D917C = 0x021D917C; +FUN_021D917C = 0x021D917C; +FUN_021D959C = 0x021D959C; +FUN_021D959C = 0x021D959C; +FUN_021D959C = 0x021D959C; +FUN_021D959C = 0x021D959C; +FUN_021D959C = 0x021D959C; +FUN_021D967C = 0x021D967C; +FUN_021D967C = 0x021D967C; +FUN_021D967C = 0x021D967C; +FUN_021D967C = 0x021D967C; +FUN_021D967C = 0x021D967C; +FUN_021D96F4 = 0x021D96F4; +FUN_021D96F4 = 0x021D96F4; +FUN_021D96F4 = 0x021D96F4; +FUN_021D96F4 = 0x021D96F4; +FUN_021D96F4 = 0x021D96F4; +FUN_021D96F4 = 0x021D96F4; +FUN_021D9708 = 0x021D9708; +FUN_021D9708 = 0x021D9708; +FUN_021D9708 = 0x021D9708; +FUN_021D9708 = 0x021D9708; +FUN_021D9708 = 0x021D9708; +FUN_021D9708 = 0x021D9708; +FUN_021D971C = 0x021D971C; +FUN_021D971C = 0x021D971C; +FUN_021D971C = 0x021D971C; +FUN_021D971C = 0x021D971C; +FUN_021D971C = 0x021D971C; +FUN_021D971C = 0x021D971C; +FUN_021D9820 = 0x021D9820; +FUN_021D9820 = 0x021D9820; +FUN_021D9820 = 0x021D9820; +FUN_021D9820 = 0x021D9820; +FUN_021D9820 = 0x021D9820; +FUN_021D9820 = 0x021D9820; +FUN_021D99F8 = 0x021D99F8; +FUN_021D99F8 = 0x021D99F8; +FUN_021D99F8 = 0x021D99F8; +FUN_021D99F8 = 0x021D99F8; +FUN_021D99F8 = 0x021D99F8; +FUN_021DA464 = 0x021DA464; +FUN_021DA464 = 0x021DA464; +FUN_021DA58C = 0x021DA58C; +FUN_021DA58C = 0x021DA58C; +FUN_021DA5B8 = 0x021DA5B8; +FUN_021DA5B8 = 0x021DA5B8; +FUN_021DA5B8 = 0x021DA5B8; +FUN_021DA5C8 = 0x021DA5C8; +FUN_021DA5C8 = 0x021DA5C8; +FUN_021DA5D0 = 0x021DA5D0; +FUN_021DA5D0 = 0x021DA5D0; +FUN_021DA5D0 = 0x021DA5D0; +FUN_021DAC70 = 0x021DAC70; +FUN_021DAC70 = 0x021DAC70; +FUN_021DAE40 = 0x021DAE40; +FUN_021DAE40 = 0x021DAE40; +FUN_021DAED4 = 0x021DAED4; +FUN_021DAED4 = 0x021DAED4; +FUN_021DAF28 = 0x021DAF28; +FUN_021DAF28 = 0x021DAF28; +FUN_021DAF78 = 0x021DAF78; +FUN_021DAF78 = 0x021DAF78; +FUN_021DAF98 = 0x021DAF98; +FUN_021DAF98 = 0x021DAF98; +FUN_021DAF98 = 0x021DAF98; +FUN_021DB030 = 0x021DB030; +FUN_021DB030 = 0x021DB030; +FUN_021DB030 = 0x021DB030; +FUN_021DB030 = 0x021DB030; +FUN_021DB7E8 = 0x021DB7E8; +FUN_021DB7E8 = 0x021DB7E8; +FUN_021DB858 = 0x021DB858; +FUN_021DB858 = 0x021DB858; +FUN_021DC174 = 0x021DC174; +FUN_021DC174 = 0x021DC174; +FUN_021DC174 = 0x021DC174; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD6F0 = 0x021DD6F0; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DD718 = 0x021DD718; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021DDB08 = 0x021DDB08; +FUN_021E1374 = 0x021E1374; +FUN_021E1374 = 0x021E1374; +FUN_021E1858 = 0x021E1858; +FUN_021E1858 = 0x021E1858; +FUN_021E1994 = 0x021E1994; +FUN_021E1994 = 0x021E1994; +FUN_021E1BF8 = 0x021E1BF8; +FUN_021E1BF8 = 0x021E1BF8; +FUN_021E1BF8 = 0x021E1BF8; +FUN_021E1C4C = 0x021E1C4C; +FUN_021E1C4C = 0x021E1C4C; +FUN_021E1C4C = 0x021E1C4C; +FUN_021E1C54 = 0x021E1C54; +FUN_021E1C54 = 0x021E1C54; +FUN_021E1C54 = 0x021E1C54; +FUN_021E1ECC = 0x021E1ECC; +FUN_021E1ECC = 0x021E1ECC; +FUN_021E1F34 = 0x021E1F34; +FUN_021E1F34 = 0x021E1F34; +FUN_021E1F34 = 0x021E1F34; +FUN_021E1F58 = 0x021E1F58; +FUN_021E1F58 = 0x021E1F58; +FUN_021E1F60 = 0x021E1F60; +FUN_021E1F60 = 0x021E1F60; +FUN_021E2464 = 0x021E2464; +FUN_021E2464 = 0x021E2464; +FUN_021E2608 = 0x021E2608; +FUN_021E2608 = 0x021E2608; +FUN_021E26CC = 0x021E26CC; +FUN_021E26CC = 0x021E26CC; +FUN_021E2B80 = 0x021E2B80; +FUN_021E2B80 = 0x021E2B80; +FUN_021E2B9C = 0x021E2B9C; +FUN_021E2B9C = 0x021E2B9C; +FUN_021E2BB8 = 0x021E2BB8; +FUN_021E2BB8 = 0x021E2BB8; +FUN_021E2BB8 = 0x021E2BB8; +FUN_021E2BB8 = 0x021E2BB8; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2BD0 = 0x021E2BD0; +FUN_021E2C24 = 0x021E2C24; +FUN_021E2C24 = 0x021E2C24; +FUN_021E2C24 = 0x021E2C24; +FUN_021E2C58 = 0x021E2C58; +FUN_021E2C58 = 0x021E2C58; +FUN_021E2C58 = 0x021E2C58; +FUN_021E2C58 = 0x021E2C58; +FUN_021E2CBC = 0x021E2CBC; +FUN_021E2CBC = 0x021E2CBC; +FUN_021E32F0 = 0x021E32F0; +FUN_021E32F0 = 0x021E32F0; +FUN_021E32F0 = 0x021E32F0; +FUN_021E331C = 0x021E331C; +FUN_021E331C = 0x021E331C; +FUN_021E331C = 0x021E331C; +FUN_021E331C = 0x021E331C; +FUN_021E3424 = 0x021E3424; +FUN_021E3424 = 0x021E3424; +FUN_021E3444 = 0x021E3444; +FUN_021E3444 = 0x021E3444; +FUN_021E495C = 0x021E495C; +FUN_021E495C = 0x021E495C; +FUN_021E4C54 = 0x021E4C54; +FUN_021E4C54 = 0x021E4C54; +FUN_021E4C60 = 0x021E4C60; +FUN_021E4C60 = 0x021E4C60; +FUN_021E4DE4 = 0x021E4DE4; +FUN_021E4DE4 = 0x021E4DE4; +FUN_021E5970 = 0x021E5970; +FUN_021E5970 = 0x021E5970; +FUN_021E5B30 = 0x021E5B30; +FUN_021E5B30 = 0x021E5B30; +FUN_021E5B30 = 0x021E5B30; +FUN_021E5B30 = 0x021E5B30; +FUN_021E5B30 = 0x021E5B30; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FD8 = 0x021E5FD8; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E5FE0 = 0x021E5FE0; +FUN_021E6410 = 0x021E6410; +FUN_021E6410 = 0x021E6410; +FUN_021E643C = 0x021E643C; +FUN_021E643C = 0x021E643C; +FUN_021E6990 = 0x021E6990; +FUN_021E6990 = 0x021E6990; +FUN_021E69BC = 0x021E69BC; +FUN_021E69BC = 0x021E69BC; +FUN_021E6BF4 = 0x021E6BF4; +FUN_021E6BF4 = 0x021E6BF4; +FUN_021E7030 = 0x021E7030; +FUN_021E7030 = 0x021E7030; +FUN_021E70F0 = 0x021E70F0; +FUN_021E70F0 = 0x021E70F0; +FUN_021E7138 = 0x021E7138; +FUN_021E7138 = 0x021E7138; +FUN_021E7138 = 0x021E7138; +FUN_021E7138 = 0x021E7138; +FUN_021E7184 = 0x021E7184; +FUN_021E7184 = 0x021E7184; +FUN_021E71E8 = 0x021E71E8; +FUN_021E71E8 = 0x021E71E8; +FUN_021E7750 = 0x021E7750; +FUN_021E7750 = 0x021E7750; +FUN_021E7750 = 0x021E7750; +FUN_021E799C = 0x021E799C; +FUN_021E799C = 0x021E799C; +FUN_021E799C = 0x021E799C; +FUN_021E7AC0 = 0x021E7AC0; +FUN_021E7AC0 = 0x021E7AC0; +FUN_021E7AC0 = 0x021E7AC0; +FUN_021E7EA0 = 0x021E7EA0; +FUN_021E7EA0 = 0x021E7EA0; +FUN_021E7EA0 = 0x021E7EA0; +FUN_021E7EA0 = 0x021E7EA0; +FUN_021E7EB0 = 0x021E7EB0; +FUN_021E7EB0 = 0x021E7EB0; +FUN_021E7EB0 = 0x021E7EB0; +FUN_021E7EC4 = 0x021E7EC4; +FUN_021E7EC4 = 0x021E7EC4; +FUN_021E7EC4 = 0x021E7EC4; +FUN_021E7EC4 = 0x021E7EC4; +FUN_021E7EC4 = 0x021E7EC4; +FUN_021E7EC8 = 0x021E7EC8; +FUN_021E7EC8 = 0x021E7EC8; +FUN_021E7ED0 = 0x021E7ED0; +FUN_021E7ED0 = 0x021E7ED0; +FUN_021E7ED0 = 0x021E7ED0; +FUN_021E7ED0 = 0x021E7ED0; +FUN_021E7ED0 = 0x021E7ED0; +FUN_021E7ED8 = 0x021E7ED8; +FUN_021E7ED8 = 0x021E7ED8; +FUN_021E7FBC = 0x021E7FBC; +FUN_021E7FBC = 0x021E7FBC; +FUN_021E8128 = 0x021E8128; +FUN_021E8128 = 0x021E8128; +FUN_021E8128 = 0x021E8128; +FUN_021E8130 = 0x021E8130; +FUN_021E8130 = 0x021E8130; +FUN_021E8130 = 0x021E8130; +FUN_021E8130 = 0x021E8130; +FUN_021E8140 = 0x021E8140; +FUN_021E8140 = 0x021E8140; +FUN_021E8140 = 0x021E8140; +FUN_021E8144 = 0x021E8144; +FUN_021E8144 = 0x021E8144; +FUN_021E8148 = 0x021E8148; +FUN_021E8148 = 0x021E8148; +FUN_021E8148 = 0x021E8148; +FUN_021E8158 = 0x021E8158; +FUN_021E8158 = 0x021E8158; +FUN_021E81BC = 0x021E81BC; +FUN_021E81BC = 0x021E81BC; +FUN_021E84F4 = 0x021E84F4; +FUN_021E84F4 = 0x021E84F4; +FUN_021E856C = 0x021E856C; +FUN_021E856C = 0x021E856C; +FUN_021E8588 = 0x021E8588; +FUN_021E8588 = 0x021E8588; +FUN_021E85E4 = 0x021E85E4; +FUN_021E85E4 = 0x021E85E4; +FUN_021E85FC = 0x021E85FC; +FUN_021E85FC = 0x021E85FC; +FUN_021ECF14 = 0x021ECF14; +FUN_021ECF14 = 0x021ECF14; +FUN_021ED49C = 0x021ED49C; +FUN_021ED49C = 0x021ED49C; +FUN_021ED940 = 0x021ED940; +FUN_021ED940 = 0x021ED940; +FUN_021EDA48 = 0x021EDA48; +FUN_021EDA48 = 0x021EDA48; +FUN_021EDBC8 = 0x021EDBC8; +FUN_021EDBC8 = 0x021EDBC8; +FUN_021EF5E0 = 0x021EF5E0; +FUN_021EF5E0 = 0x021EF5E0; +FUN_021EF5E0 = 0x021EF5E0; +FUN_021EF604 = 0x021EF604; +FUN_021EF604 = 0x021EF604; +FUN_021EF604 = 0x021EF604; +FUN_021EF604 = 0x021EF604; +FUN_021EF604 = 0x021EF604; +FUN_021EF620 = 0x021EF620; +FUN_021EF620 = 0x021EF620; +FUN_021EF654 = 0x021EF654; +FUN_021EF654 = 0x021EF654; +FUN_021EF824 = 0x021EF824; +FUN_021EF824 = 0x021EF824; +FUN_021EF824 = 0x021EF824; +FUN_021EF824 = 0x021EF824; +FUN_021EF844 = 0x021EF844; +FUN_021EF844 = 0x021EF844; +FUN_021EF844 = 0x021EF844; +FUN_021EF8C8 = 0x021EF8C8; +FUN_021EF8C8 = 0x021EF8C8; +FUN_021EF8DC = 0x021EF8DC; +FUN_021EF8DC = 0x021EF8DC; +FUN_021EFA9C = 0x021EFA9C; +FUN_021EFA9C = 0x021EFA9C; +FUN_021EFA9C = 0x021EFA9C; +FUN_021F02C4 = 0x021F02C4; +FUN_021F02C4 = 0x021F02C4; +FUN_021F1D8C = 0x021F1D8C; +FUN_021F1D8C = 0x021F1D8C; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DC8 = 0x021F1DC8; +FUN_021F1DFC = 0x021F1DFC; +FUN_021F1DFC = 0x021F1DFC; +FUN_021F1EC0 = 0x021F1EC0; +FUN_021F1EC0 = 0x021F1EC0; +FUN_021F1EC0 = 0x021F1EC0; +FUN_021F1EC0 = 0x021F1EC0; +FUN_021F1F78 = 0x021F1F78; +FUN_021F1F78 = 0x021F1F78; +FUN_021F1F78 = 0x021F1F78; +FUN_021F2094 = 0x021F2094; +FUN_021F2094 = 0x021F2094; +FUN_021F2094 = 0x021F2094; +FUN_021F2094 = 0x021F2094; +FUN_021F20D8 = 0x021F20D8; +FUN_021F20D8 = 0x021F20D8; +FUN_021F20F8 = 0x021F20F8; +FUN_021F20F8 = 0x021F20F8; +FUN_021F2AF4 = 0x021F2AF4; +FUN_021F2AF4 = 0x021F2AF4; +FUN_021F2E0C = 0x021F2E0C; +FUN_021F2E0C = 0x021F2E0C; +FUN_021F2E28 = 0x021F2E28; +FUN_021F2E28 = 0x021F2E28; +FUN_021F2E28 = 0x021F2E28; +FUN_021F2E28 = 0x021F2E28; +FUN_021F2F48 = 0x021F2F48; +FUN_021F2F48 = 0x021F2F48; +FUN_021F2F48 = 0x021F2F48; +FUN_021F2F6C = 0x021F2F6C; +FUN_021F2F6C = 0x021F2F6C; +FUN_021F3DA4 = 0x021F3DA4; +FUN_021F3DA4 = 0x021F3DA4; +FUN_021F44D8 = 0x021F44D8; +FUN_021F44D8 = 0x021F44D8; +FUN_021F4520 = 0x021F4520; +FUN_021F4520 = 0x021F4520; +FUN_021F4568 = 0x021F4568; +FUN_021F4568 = 0x021F4568; +FUN_021F45E8 = 0x021F45E8; +FUN_021F45E8 = 0x021F45E8; +FUN_021F45E8 = 0x021F45E8; +FUN_021F4608 = 0x021F4608; +FUN_021F4608 = 0x021F4608; +FUN_021F4608 = 0x021F4608; +FUN_021F4BD0 = 0x021F4BD0; +FUN_021F4BD0 = 0x021F4BD0; +FUN_021F4C88 = 0x021F4C88; +FUN_021F4C88 = 0x021F4C88; +FUN_021F4D80 = 0x021F4D80; +FUN_021F4D80 = 0x021F4D80; +FUN_021F4DC8 = 0x021F4DC8; +FUN_021F4DC8 = 0x021F4DC8; +FUN_021F4E7C = 0x021F4E7C; +FUN_021F4E7C = 0x021F4E7C; +FUN_021F57EC = 0x021F57EC; +FUN_021F57EC = 0x021F57EC; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_021F5C44 = 0x021F5C44; +FUN_02211E60 = 0x02211E60; +FUN_02211E60 = 0x02211E60; +FUN_0222DAEC = 0x0222DAEC; +FUN_0222DAEC = 0x0222DAEC; +FUN_0222DD1C = 0x0222DD1C; +FUN_0222DD1C = 0x0222DD1C; +FUN_0222DD38 = 0x0222DD38; +FUN_0222DD38 = 0x0222DD38; +FUN_0222E2BC = 0x0222E2BC; +FUN_0222E2BC = 0x0222E2BC; +FUN_0222E360 = 0x0222E360; +FUN_0222E360 = 0x0222E360; +FUN_0222E3A0 = 0x0222E3A0; +FUN_0222E3A0 = 0x0222E3A0; +FUN_0222E7E8 = 0x0222E7E8; +FUN_0222E7E8 = 0x0222E7E8; +FUN_0222E874 = 0x0222E874; +FUN_0222E874 = 0x0222E874; +FUN_0222ED34 = 0x0222ED34; +FUN_0222ED34 = 0x0222ED34; +FUN_0222EDBC = 0x0222EDBC; +FUN_0222EDBC = 0x0222EDBC; +FUN_0222F440 = 0x0222F440; +FUN_0222F440 = 0x0222F440; +FUN_0222F480 = 0x0222F480; +FUN_0222F480 = 0x0222F480; +FUN_0222F480 = 0x0222F480; +FUN_0222F7E0 = 0x0222F7E0; +FUN_0222F7E0 = 0x0222F7E0; +FUN_0222F990 = 0x0222F990; +FUN_0222F990 = 0x0222F990; +FUN_022300D4 = 0x022300D4; +FUN_022300D4 = 0x022300D4; +FUN_022300D4 = 0x022300D4; +FUN_022300DC = 0x022300DC; +FUN_022300DC = 0x022300DC; +FUN_022300DC = 0x022300DC; +FUN_022300E4 = 0x022300E4; +FUN_022300E4 = 0x022300E4; +FUN_022300E8 = 0x022300E8; +FUN_022300E8 = 0x022300E8; +FUN_022300F4 = 0x022300F4; +FUN_022300F4 = 0x022300F4; +FUN_022300F4 = 0x022300F4; +FUN_02230100 = 0x02230100; +FUN_02230100 = 0x02230100; +FUN_02230100 = 0x02230100; +FUN_0223010C = 0x0223010C; +FUN_0223010C = 0x0223010C; +FUN_02230118 = 0x02230118; +FUN_02230118 = 0x02230118; +FUN_02230118 = 0x02230118; +FUN_02230124 = 0x02230124; +FUN_02230124 = 0x02230124; +FUN_02230124 = 0x02230124; +FUN_02230F3C = 0x02230F3C; +FUN_02230F3C = 0x02230F3C; +FUN_02230F70 = 0x02230F70; +FUN_02230F70 = 0x02230F70; +FUN_02230F80 = 0x02230F80; +FUN_02230F80 = 0x02230F80; +FUN_02231344 = 0x02231344; +FUN_02231344 = 0x02231344; +FUN_02231350 = 0x02231350; +FUN_02231350 = 0x02231350; +FUN_0223135C = 0x0223135C; +FUN_0223135C = 0x0223135C; +FUN_02231368 = 0x02231368; +FUN_02231368 = 0x02231368; +FUN_02231374 = 0x02231374; +FUN_02231374 = 0x02231374; +FUN_02239944 = 0x02239944; +FUN_02239944 = 0x02239944; +FUN_02239AAC = 0x02239AAC; +FUN_02239AAC = 0x02239AAC; +FUN_0223CB08 = 0x0223CB08; +FUN_0223CB08 = 0x0223CB08; +FUN_0223CCDC = 0x0223CCDC; +FUN_0223CCDC = 0x0223CCDC; +FUN_0223CD7C = 0x0223CD7C; +FUN_0223CD7C = 0x0223CD7C; +FUN_0223CD7C = 0x0223CD7C; +FUN_0223D3D0 = 0x0223D3D0; +FUN_0223D3D0 = 0x0223D3D0; +FUN_0223D3D0 = 0x0223D3D0; +FUN_0223D3D0 = 0x0223D3D0; +FUN_0223D3D0 = 0x0223D3D0; +FUN_0223D638 = 0x0223D638; +FUN_0223D638 = 0x0223D638; +FUN_0223D638 = 0x0223D638; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223D648 = 0x0223D648; +FUN_0223E060 = 0x0223E060; +FUN_0223E060 = 0x0223E060; +FUN_0223E1E0 = 0x0223E1E0; +FUN_0223E1E0 = 0x0223E1E0; +FUN_0223E4A8 = 0x0223E4A8; +FUN_0223E4A8 = 0x0223E4A8; +FUN_0223E4D4 = 0x0223E4D4; +FUN_0223E4D4 = 0x0223E4D4; +FUN_0223E554 = 0x0223E554; +FUN_0223E554 = 0x0223E554; +FUN_0223E6B8 = 0x0223E6B8; +FUN_0223E6B8 = 0x0223E6B8; +FUN_0223E734 = 0x0223E734; +FUN_0223E734 = 0x0223E734; +FUN_0223E734 = 0x0223E734; +FUN_0223EB8C = 0x0223EB8C; +FUN_0223EB8C = 0x0223EB8C; +FUN_0223EF7C = 0x0223EF7C; +FUN_0223EF7C = 0x0223EF7C; +FUN_0223F8D8 = 0x0223F8D8; +FUN_0223F8D8 = 0x0223F8D8; +FUN_02240790 = 0x02240790; +FUN_02240790 = 0x02240790; +FUN_022407DC = 0x022407DC; +FUN_022407DC = 0x022407DC; +FUN_022407F8 = 0x022407F8; +FUN_022407F8 = 0x022407F8; +FUN_02240844 = 0x02240844; +FUN_02240844 = 0x02240844; +FUN_0224089C = 0x0224089C; +FUN_0224089C = 0x0224089C; +FUN_0224089C = 0x0224089C; +FUN_02241230 = 0x02241230; +FUN_02241230 = 0x02241230; +FUN_02241914 = 0x02241914; +FUN_02241914 = 0x02241914; +FUN_02242A38 = 0x02242A38; +FUN_02242A38 = 0x02242A38; +FUN_02244210 = 0x02244210; +FUN_02244210 = 0x02244210; +FUN_02244558 = 0x02244558; +FUN_02244558 = 0x02244558; +FUN_02244660 = 0x02244660; +FUN_02244660 = 0x02244660; +FUN_022446BC = 0x022446BC; +FUN_022446BC = 0x022446BC; +FUN_022446E0 = 0x022446E0; +FUN_022446E0 = 0x022446E0; +FUN_02244D3C = 0x02244D3C; +FUN_02244D3C = 0x02244D3C; +FUN_02244D40 = 0x02244D40; +FUN_02244D40 = 0x02244D40; +FUN_02244D40 = 0x02244D40; +FUN_02244D40 = 0x02244D40; +FUN_02244D40 = 0x02244D40; +FUN_02244D58 = 0x02244D58; +FUN_02244D58 = 0x02244D58; +FUN_02244D98 = 0x02244D98; +FUN_02244D98 = 0x02244D98; +FUN_02244D98 = 0x02244D98; +FUN_02244DA0 = 0x02244DA0; +FUN_02244DA0 = 0x02244DA0; +FUN_02244DB0 = 0x02244DB0; +FUN_02244DB0 = 0x02244DB0; +FUN_02244DB0 = 0x02244DB0; +FUN_02245114 = 0x02245114; +FUN_02245114 = 0x02245114; +FUN_02245198 = 0x02245198; +FUN_02245198 = 0x02245198; +FUN_022451F0 = 0x022451F0; +FUN_022451F0 = 0x022451F0; +FUN_02245358 = 0x02245358; +FUN_02245358 = 0x02245358; +FUN_0224566C = 0x0224566C; +FUN_0224566C = 0x0224566C; +FUN_02245844 = 0x02245844; +FUN_02245844 = 0x02245844; +FUN_02245910 = 0x02245910; +FUN_02245910 = 0x02245910; +FUN_02245910 = 0x02245910; +FUN_02245F1C = 0x02245F1C; +FUN_02245F1C = 0x02245F1C; +FUN_02245F4C = 0x02245F4C; +FUN_02245F4C = 0x02245F4C; +FUN_02245FA0 = 0x02245FA0; +FUN_02245FA0 = 0x02245FA0; +FUN_0224666C = 0x0224666C; +FUN_0224666C = 0x0224666C; +FUN_0224666C = 0x0224666C; +FUN_022466A0 = 0x022466A0; +FUN_022466A0 = 0x022466A0; +FUN_022466A0 = 0x022466A0; +FUN_022466AC = 0x022466AC; +FUN_022466AC = 0x022466AC; +FUN_022466AC = 0x022466AC; +FUN_02246F1C = 0x02246F1C; +FUN_02246F1C = 0x02246F1C; +FUN_02247294 = 0x02247294; +FUN_02247294 = 0x02247294; +FUN_022472AC = 0x022472AC; +FUN_022472AC = 0x022472AC; +FUN_02247544 = 0x02247544; +FUN_02247544 = 0x02247544; +FUN_02247614 = 0x02247614; +FUN_02247614 = 0x02247614; +FUN_02247A34 = 0x02247A34; +FUN_02247A34 = 0x02247A34; +FUN_022483BC = 0x022483BC; +FUN_022483BC = 0x022483BC; +FUN_022483E0 = 0x022483E0; +FUN_022483E0 = 0x022483E0; +FUN_022483EC = 0x022483EC; +FUN_022483EC = 0x022483EC; +FUN_022488FC = 0x022488FC; +FUN_022488FC = 0x022488FC; +FUN_0224891C = 0x0224891C; +FUN_0224891C = 0x0224891C; +FUN_02248B54 = 0x02248B54; +FUN_02248B54 = 0x02248B54; +FUN_02248B58 = 0x02248B58; +FUN_02248B58 = 0x02248B58; +FUN_02248B58 = 0x02248B58; +FUN_02248B58 = 0x02248B58; +FUN_02248B5C = 0x02248B5C; +FUN_02248B5C = 0x02248B5C; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B60 = 0x02248B60; +FUN_02248B6C = 0x02248B6C; +FUN_02248B6C = 0x02248B6C; +FUN_02248CD0 = 0x02248CD0; +FUN_02248CD0 = 0x02248CD0; +FUN_02248DF8 = 0x02248DF8; +FUN_02248DF8 = 0x02248DF8; +FUN_022494C8 = 0x022494C8; +FUN_022494C8 = 0x022494C8; +FUN_02249508 = 0x02249508; +FUN_02249508 = 0x02249508; +FUN_02249668 = 0x02249668; +FUN_02249668 = 0x02249668; +FUN_02249668 = 0x02249668; +FUN_02249668 = 0x02249668; +FUN_02249668 = 0x02249668; +FUN_022497E8 = 0x022497E8; +FUN_022497E8 = 0x022497E8; +FUN_022497E8 = 0x022497E8; +FUN_02249E6C = 0x02249E6C; +FUN_02249E6C = 0x02249E6C; +FUN_02249E78 = 0x02249E78; +FUN_02249E78 = 0x02249E78; +FUN_02249E84 = 0x02249E84; +FUN_02249E84 = 0x02249E84; +FUN_02249E90 = 0x02249E90; +FUN_02249E90 = 0x02249E90; +FUN_0224A310 = 0x0224A310; +FUN_0224A310 = 0x0224A310; +FUN_0224A310 = 0x0224A310; +FUN_0224A528 = 0x0224A528; +FUN_0224A528 = 0x0224A528; +FUN_0224A528 = 0x0224A528; +FUN_0224A7C8 = 0x0224A7C8; +FUN_0224A7C8 = 0x0224A7C8; +FUN_0224ABAC = 0x0224ABAC; +FUN_0224ABAC = 0x0224ABAC; +FUN_0224B124 = 0x0224B124; +FUN_0224B124 = 0x0224B124; +FUN_0224B124 = 0x0224B124; +FUN_0224B2C4 = 0x0224B2C4; +FUN_0224B2C4 = 0x0224B2C4; +FUN_0224B2C4 = 0x0224B2C4; +FUN_0224B568 = 0x0224B568; +FUN_0224B568 = 0x0224B568; +FUN_0224B568 = 0x0224B568; +FUN_0224B818 = 0x0224B818; +FUN_0224B818 = 0x0224B818; +FUN_0224B818 = 0x0224B818; +FUN_0224B818 = 0x0224B818; +FUN_0224B86C = 0x0224B86C; +FUN_0224B86C = 0x0224B86C; +FUN_0224B9E0 = 0x0224B9E0; +FUN_0224B9E0 = 0x0224B9E0; +FUN_0224BBEC = 0x0224BBEC; +FUN_0224BBEC = 0x0224BBEC; +FUN_0224BD90 = 0x0224BD90; +FUN_0224BD90 = 0x0224BD90; +FUN_0224BD90 = 0x0224BD90; +FUN_0224C038 = 0x0224C038; +FUN_0224C038 = 0x0224C038; +FUN_0224C038 = 0x0224C038; +FUN_0224C678 = 0x0224C678; +FUN_0224C678 = 0x0224C678; +FUN_0224C6E8 = 0x0224C6E8; +FUN_0224C6E8 = 0x0224C6E8; +FUN_0224C700 = 0x0224C700; +FUN_0224C700 = 0x0224C700; +FUN_0224C8C8 = 0x0224C8C8; +FUN_0224C8C8 = 0x0224C8C8; +FUN_0224CA2C = 0x0224CA2C; +FUN_0224CA2C = 0x0224CA2C; +FUN_0224CA54 = 0x0224CA54; +FUN_0224CA54 = 0x0224CA54; +FUN_0224CA58 = 0x0224CA58; +FUN_0224CA58 = 0x0224CA58; +FUN_0224CA88 = 0x0224CA88; +FUN_0224CA88 = 0x0224CA88; +FUN_0224CB30 = 0x0224CB30; +FUN_0224CB30 = 0x0224CB30; +FUN_0224CECC = 0x0224CECC; +FUN_0224CECC = 0x0224CECC; +FUN_0224CECC = 0x0224CECC; +FUN_0224D2E0 = 0x0224D2E0; +FUN_0224D2E0 = 0x0224D2E0; +FUN_0224D3E8 = 0x0224D3E8; +FUN_0224D3E8 = 0x0224D3E8; +FUN_0224D70C = 0x0224D70C; +FUN_0224D70C = 0x0224D70C; +FUN_0224D76C = 0x0224D76C; +FUN_0224D76C = 0x0224D76C; +FUN_0224D79C = 0x0224D79C; +FUN_0224D79C = 0x0224D79C; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DCB8 = 0x0224DCB8; +FUN_0224DD94 = 0x0224DD94; +FUN_0224DD94 = 0x0224DD94; +FUN_0224DDB8 = 0x0224DDB8; +FUN_0224DDB8 = 0x0224DDB8; +FUN_0224DDB8 = 0x0224DDB8; +FUN_0224E554 = 0x0224E554; +FUN_0224E554 = 0x0224E554; +FUN_0224E764 = 0x0224E764; +FUN_0224E764 = 0x0224E764; +FUN_0224E7C4 = 0x0224E7C4; +FUN_0224E7C4 = 0x0224E7C4; +FUN_0224F12C = 0x0224F12C; +FUN_0224F12C = 0x0224F12C; +FUN_0224F12C = 0x0224F12C; +FUN_0224F12C = 0x0224F12C; +FUN_02252534 = 0x02252534; +FUN_02252534 = 0x02252534; +FUN_02252538 = 0x02252538; +FUN_02252538 = 0x02252538; +FUN_022567E0 = 0x022567E0; +FUN_022567E0 = 0x022567E0; -- cgit v1.2.3 From aefe202006ba5d4d0ce373b54bf9e28ffc2919a8 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 17 Apr 2020 02:51:26 -0400 Subject: rework arm9_thumb to plug holes and patch jump tables. --- Makefile | 2 +- asm/arm9_thumb.s | 95201 ++++++++++++++++++++++++++++++++++----------------- global.inc | 1718 +- undefined_syms.txt | 2516 +- 4 files changed, 64476 insertions(+), 34961 deletions(-) diff --git a/Makefile b/Makefile index 43483231..fac3e52f 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) $(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $< $(ELF): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) - $(LD) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) -nodead + $(LD) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) -nodead -w off $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s index d3a5b715..99146fa9 100644 --- a/asm/arm9_thumb.s +++ b/asm/arm9_thumb.s @@ -865,38 +865,112 @@ FUN_02001470: ; 0x02001470 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r4, r5, #0x2 - lsl r6, r6, #0 - lsl r2, r7, #0 - lsl r6, r7, #0 - lsl r2, r0, #0x1 - lsl r2, r1, #0x1 - lsl r4, r4, #0x1 - lsl r4, r5, #0x1 - lsl r4, r6, #0x1 - lsl r4, r7, #0x1 - lsl r4, r0, #0x2 - lsl r4, r1, #0x2 - lsl r4, r2, #0x2 - lsl r4, r3, #0x2 - lsl r4, r4, #0x2 - lsl r0, r5, #0x2 +_02001484: ; jump table (using 16-bit offset) + .short _020014AC - _02001484 - 2; case 0 + .short _020014B0 - _02001484 - 2; case 1 + .short _020014B4 - _02001484 - 2; case 2 + .short _020014B8 - _02001484 - 2; case 3 + .short _02001532 - _02001484 - 2; case 4 + .short _020014BC - _02001484 - 2; case 5 + .short _020014C0 - _02001484 - 2; case 6 + .short _020014C4 - _02001484 - 2; case 7 + .short _020014C8 - _02001484 - 2; case 8 + .short _020014D0 - _02001484 - 2; case 9 + .short _020014EA - _02001484 - 2; case 10 + .short _020014F2 - _02001484 - 2; case 11 + .short _020014FA - _02001484 - 2; case 12 + .short _02001502 - _02001484 - 2; case 13 + .short _0200150A - _02001484 - 2; case 14 + .short _02001512 - _02001484 - 2; case 15 + .short _0200151A - _02001484 - 2; case 16 + .short _02001522 - _02001484 - 2; case 17 + .short _0200152A - _02001484 - 2; case 18 + .short _0200152E - _02001484 - 2; case 19 +_020014AC: ldr r0, [r4, #0x4] pop {r4, pc} _020014B0: - .byte 0xA0, 0x68, 0x10, 0xBD, 0x20, 0x8A, 0x10, 0xBD, 0x60, 0x8A, 0x10, 0xBD, 0x20, 0x7D, 0x10, 0xBD - .byte 0x60, 0x7D, 0x10, 0xBD, 0xA0, 0x7D, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD - .byte 0x60, 0x8B, 0x01, 0x21, 0x40, 0x04, 0x80, 0x0E, 0x00, 0x06, 0x00, 0x0E, 0x01, 0xF0, 0xB6, 0xFC - .byte 0x61, 0x8B, 0x49, 0x06, 0x09, 0x0F, 0x08, 0x18, 0x10, 0xBD, 0xE0, 0x7D, 0x00, 0x06, 0x00, 0x0F - .byte 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x07, 0x00, 0x0F, 0x10, 0xBD, 0x20, 0x7E, 0x00, 0x06, 0x00, 0x0F - .byte 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x07, 0x40, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x06, 0x00, 0x0F - .byte 0x10, 0xBD, 0x60, 0x8B, 0xC0, 0x05, 0x80, 0x0F, 0x10, 0xBD, 0x60, 0x8B, 0x40, 0x04, 0x80, 0x0E - .byte 0x10, 0xBD, 0x60, 0x8B, 0x00, 0x04, 0xC0, 0x0F, 0x10, 0xBD, 0xE0, 0x68, 0x10, 0xBD, 0xE0, 0x69 - .byte 0x10, 0xBD + ldr r0, [r4, #0x8] + pop {r4, pc} +_020014B4: + ldrh r0, [r4, #0x10] + pop {r4, pc} +_020014B8: + ldrh r0, [r4, #0x12] + pop {r4, pc} +_020014BC: + ldrb r0, [r4, #0x14] + pop {r4, pc} +_020014C0: + ldrb r0, [r4, #0x15] + pop {r4, pc} +_020014C4: + ldrb r0, [r4, #0x16] + pop {r4, pc} +_020014C8: + ldrb r0, [r4, #0x17] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + pop {r4, pc} +_020014D0: + ldrh r0, [r4, #0x1a] + mov r1, #0x1 + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_02002E4C + ldrh r1, [r4, #0x1a] + lsl r1, r1, #0x19 + lsr r1, r1, #0x1c + add r0, r1, r0 + pop {r4, pc} +_020014EA: + ldrb r0, [r4, #0x17] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + pop {r4, pc} +_020014F2: + ldrb r0, [r4, #0x18] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + pop {r4, pc} +_020014FA: + ldrb r0, [r4, #0x18] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + pop {r4, pc} +_02001502: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1d + pop {r4, pc} +_0200150A: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1c + pop {r4, pc} +_02001512: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x17 + lsr r0, r0, #0x1e + pop {r4, pc} +_0200151A: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x11 + lsr r0, r0, #0x1a + pop {r4, pc} +_02001522: + ldrh r0, [r4, #0x1a] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1f + pop {r4, pc} +_0200152A: + ldr r0, [r4, #0xc] + pop {r4, pc} +_0200152E: + ldr r0, [r4, #0x1c] + pop {r4, pc} _02001532: mov r0, #0x0 mvn r0, r0 @@ -914,49 +988,158 @@ _0200153E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r4, r7, #0x3 - lsl r6, r6, #0 - lsl r2, r7, #0 - lsl r6, r7, #0 - lsl r2, r0, #0x1 - lsl r4, r7, #0x3 - lsl r6, r2, #0x1 - lsl r2, r5, #0x1 - lsl r6, r7, #0x1 - lsl r2, r2, #0x2 - lsl r6, r4, #0x2 - lsl r2, r7, #0x2 - lsl r6, r1, #0x3 - lsl r2, r4, #0x3 - lsl r6, r6, #0x3 - lsl r2, r7, #0x3 +_0200154A: ; jump table (using 16-bit offset) + .short _02001572 - _0200154A - 2; case 0 + .short _02001576 - _0200154A - 2; case 1 + .short _0200157A - _0200154A - 2; case 2 + .short _0200157E - _0200154A - 2; case 3 + .short _02001648 - _0200154A - 2; case 4 + .short _02001582 - _0200154A - 2; case 5 + .short _02001586 - _0200154A - 2; case 6 + .short _0200158A - _0200154A - 2; case 7 + .short _0200158E - _0200154A - 2; case 8 + .short _02001648 - _0200154A - 2; case 9 + .short _020015A2 - _0200154A - 2; case 10 + .short _020015B6 - _0200154A - 2; case 11 + .short _020015CA - _0200154A - 2; case 12 + .short _020015DE - _0200154A - 2; case 13 + .short _020015F2 - _0200154A - 2; case 14 + .short _02001606 - _0200154A - 2; case 15 + .short _0200161A - _0200154A - 2; case 16 + .short _0200162E - _0200154A - 2; case 17 + .short _02001642 - _0200154A - 2; case 18 + .short _02001646 - _0200154A - 2; case 19 +_02001572: str r2, [r0, #0x4] bx lr _02001576: - .byte 0x82, 0x60, 0x70, 0x47, 0x02, 0x82, 0x70, 0x47, 0x42, 0x82 - .byte 0x70, 0x47, 0x02, 0x75, 0x70, 0x47, 0x42, 0x75, 0x70, 0x47, 0x82, 0x75, 0x70, 0x47, 0xC3, 0x7D - .byte 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0xC1, 0x75 - .byte 0x70, 0x47, 0xC3, 0x7D, 0xF0, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E - .byte 0x19, 0x43, 0xC1, 0x75, 0x70, 0x47, 0x03, 0x7E, 0x0F, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E - .byte 0x0F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x03, 0x7E, 0xF0, 0x21, 0x8B, 0x43 - .byte 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x09, 0x0E, 0x19, 0x43, 0x01, 0x76, 0x70, 0x47, 0x43, 0x8B - .byte 0x07, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x0A, 0x0E, 0x07, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x83 - .byte 0x70, 0x47, 0x43, 0x8B, 0x78, 0x21, 0x8B, 0x43, 0x11, 0x06, 0x09, 0x0E, 0x09, 0x07, 0x49, 0x0E - .byte 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x10, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E - .byte 0x89, 0x07, 0xC9, 0x0D, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B, 0x0C, 0x49, 0x0B, 0x40 - .byte 0x11, 0x06, 0x09, 0x0E, 0x89, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x41, 0x83, 0x70, 0x47, 0x43, 0x8B - .byte 0x08, 0x49, 0x0B, 0x40, 0x11, 0x06, 0x09, 0x0E, 0xC9, 0x07, 0x09, 0x0C, 0x19, 0x43, 0x41, 0x83 - .byte 0x70, 0x47, 0xC2, 0x60, 0x70, 0x47, 0xC2, 0x61 + str r2, [r0, #0x8] + bx lr +_0200157A: + strh r2, [r0, #0x10] + bx lr +_0200157E: + strh r2, [r0, #0x12] + bx lr +_02001582: + strb r2, [r0, #0x14] + bx lr +_02001586: + strb r2, [r0, #0x15] + bx lr +_0200158A: + strb r2, [r0, #0x16] + bx lr +_0200158E: + ldrb r3, [r0, #0x17] + mov r1, #0xf + bic r3, r1 + lsl r1, r2, #0x18 + lsr r2, r1, #0x18 + mov r1, #0xf + and r1, r2 + orr r1, r3 + strb r1, [r0, #0x17] + bx lr +_020015A2: + ldrb r3, [r0, #0x17] + mov r1, #0xf0 + bic r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1c + lsr r1, r1, #0x18 + orr r1, r3 + strb r1, [r0, #0x17] + bx lr +_020015B6: + ldrb r3, [r0, #0x18] + mov r1, #0xf + bic r3, r1 + lsl r1, r2, #0x18 + lsr r2, r1, #0x18 + mov r1, #0xf + and r1, r2 + orr r1, r3 + strb r1, [r0, #0x18] + bx lr +_020015CA: + ldrb r3, [r0, #0x18] + mov r1, #0xf0 + bic r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1c + lsr r1, r1, #0x18 + orr r1, r3 + strb r1, [r0, #0x18] + bx lr +_020015DE: + ldrh r3, [r0, #0x1a] + mov r1, #0x7 + bic r3, r1 + lsl r1, r2, #0x18 + lsr r2, r1, #0x18 + mov r1, #0x7 + and r1, r2 + orr r1, r3 + strh r1, [r0, #0x1a] + bx lr +_020015F2: + ldrh r3, [r0, #0x1a] + mov r1, #0x78 + bic r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1c + lsr r1, r1, #0x19 + orr r1, r3 + strh r1, [r0, #0x1a] + bx lr +_02001606: + ldrh r3, [r0, #0x1a] + ldr r1, _0200164C ; =0xFFFFFE7F + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1e + lsr r1, r1, #0x17 + orr r1, r3 + strh r1, [r0, #0x1a] + bx lr +_0200161A: + ldrh r3, [r0, #0x1a] + ldr r1, _02001650 ; =0xFFFF81FF + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1a + lsr r1, r1, #0x11 + orr r1, r3 + strh r1, [r0, #0x1a] + bx lr +_0200162E: + ldrh r3, [r0, #0x1a] + ldr r1, _02001654 ; =0xFFFF7FFF + and r3, r1 + lsl r1, r2, #0x18 + lsr r1, r1, #0x18 + lsl r1, r1, #0x1f + lsr r1, r1, #0x10 + orr r1, r3 + strh r1, [r0, #0x1a] + bx lr +_02001642: + str r2, [r0, #0xc] + bx lr +_02001646: + str r2, [r0, #0x1c] _02001648: bx lr nop -_0200164C: - .byte 0x7F, 0xFE, 0xFF, 0xFF - .byte 0xFF, 0x81, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF +_0200164C: .word 0xFFFFFE7F +_02001650: .word 0xFFFF81FF +_02001654: .word 0xFFFF7FFF thumb_func_start FUN_02001658 FUN_02001658: ; 0x02001658 @@ -1176,10 +1359,12 @@ FUN_020017AC: ; 0x020017AC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r1, #0 - lsl r6, r1, #0 +_020017F2: ; jump table (using 16-bit offset) + .short _020017FA - _020017F2 - 2; case 0 + .short _02001802 - _020017F2 - 2; case 1 + .short _02001802 - _020017F2 - 2; case 2 + .short _02001802 - _020017F2 - 2; case 3 +_020017FA: ldr r0, [r4, #0x28] ldr r1, [r4, #0xc] bl FUN_020136F8 @@ -1203,10 +1388,12 @@ FUN_02001804: ; 0x02001804 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r4, r0, #0x1 - lsl r4, r0, #0x1 - lsl r4, r0, #0x1 +_02001822: ; jump table (using 16-bit offset) + .short _0200182A - _02001822 - 2; case 0 + .short _02001868 - _02001822 - 2; case 1 + .short _02001868 - _02001822 - 2; case 2 + .short _02001868 - _02001822 - 2; case 3 +_0200182A: lsl r0, r0, #0x11 lsr r0, r0, #0x1a lsl r0, r0, #0x18 @@ -1596,20 +1783,42 @@ _02001AF6: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r1, #0 - lsl r2, r5, #0 - lsl r2, r5, #0 +_02001B0C: ; jump table (using 16-bit offset) + .short _02001B14 - _02001B0C - 2; case 0 + .short _02001B1A - _02001B0C - 2; case 1 + .short _02001B38 - _02001B0C - 2; case 2 + .short _02001B38 - _02001B0C - 2; case 3 _02001B14: add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} _02001B1A: - .byte 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0x71, 0xFE, 0x20, 0x1C, 0xFF, 0xF7, 0x42, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x1A, 0xF8 - .byte 0xE0, 0x68, 0x17, 0xF0, 0x4D, 0xFB, 0x12, 0xE0, 0x03, 0x99, 0x20, 0x1C, 0xFF, 0xF7, 0x62, 0xFE - .byte 0x02, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0xFF, 0xF7, 0x21, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x2E, 0xFE - .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x06, 0xF8, 0xE0, 0x68, 0x17, 0xF0, 0x39, 0xFB + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + bl FUN_02001804 + add r0, r4, #0x0 + bl FUN_020017AC + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02001B64 + ldr r0, [r4, #0xc] + bl FUN_020191D0 + b _02001B5E +_02001B38: + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + bl FUN_02001804 + ldr r2, [sp, #0x8] + add r0, r4, #0x0 + add r1, r6, #0x0 + bl FUN_0200198C + add r0, r4, #0x0 + bl FUN_020017AC + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02001B64 + ldr r0, [r4, #0xc] + bl FUN_020191D0 _02001B5E: mov r0, #0x0 add sp, #0x10 @@ -1958,12 +2167,14 @@ FUN_02001DDC: ; 0x02001DDC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r4, r3, #0 - lsl r0, r5, #0 - lsl r6, r6, #0 - lsl r4, r0, #0x1 - lsl r2, r2, #0x1 +_02001DF0: ; jump table (using 16-bit offset) + .short _02001DFC - _02001DF0 - 2; case 0 + .short _02001E0E - _02001DF0 - 2; case 1 + .short _02001E1A - _02001DF0 - 2; case 2 + .short _02001E28 - _02001DF0 - 2; case 3 + .short _02001E36 - _02001DF0 - 2; case 4 + .short _02001E44 - _02001DF0 - 2; case 5 +_02001DFC: ldr r0, _02001E58 ; =0x000005DC bl FUN_020054C8 ldrb r0, [r4, #0x15] @@ -1973,12 +2184,39 @@ FUN_02001DDC: ; 0x02001DDC ldr r0, [r0, #0x4] pop {r4, pc} _02001E0E: - .byte 0x12, 0x48 - .byte 0x03, 0xF0, 0x5A, 0xFB, 0x01, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0F, 0x4A, 0x00, 0x21, 0x00, 0xF0 - .byte 0x21, 0xF8, 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x0B, 0x4A, 0x01, 0x21, 0x00, 0xF0, 0x1A, 0xF8 - .byte 0x00, 0x20, 0xC0, 0x43, 0x10, 0xBD, 0x08, 0x4A, 0x02, 0x21, 0x00, 0xF0, 0x13, 0xF8, 0x00, 0x20 - .byte 0xC0, 0x43, 0x10, 0xBD, 0x04, 0x4A, 0x03, 0x21, 0x00, 0xF0, 0x0C, 0xF8, 0x00, 0x20, 0xC0, 0x43 - .byte 0x10, 0xBD + ldr r0, _02001E58 ; =0x000005DC + bl FUN_020054C8 + mov r0, #0x1 + mvn r0, r0 + pop {r4, pc} +_02001E1A: + ldr r2, _02001E58 ; =0x000005DC + mov r1, #0x0 + bl FUN_02001E64 + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_02001E28: + ldr r2, _02001E58 ; =0x000005DC + mov r1, #0x1 + bl FUN_02001E64 + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_02001E36: + ldr r2, _02001E58 ; =0x000005DC + mov r1, #0x2 + bl FUN_02001E64 + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_02001E44: + ldr r2, _02001E58 ; =0x000005DC + mov r1, #0x3 + bl FUN_02001E64 + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} _02001E52: mov r0, #0x0 mvn r0, r0 @@ -2769,13 +3007,15 @@ _020023D6: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0 - lsl r6, r3, #0xd - lsl r0, r7, #0xd - lsl r2, r4, #0xe - lsl r2, r2, #0xf - lsl r0, r5, #0x10 - lsl r4, r6, #0x10 +_020023E2: ; jump table (using 16-bit offset) + .short _020023F0 - _020023E2 - 2; case 0 + .short _02002742 - _020023E2 - 2; case 1 + .short _0200275C - _020023E2 - 2; case 2 + .short _02002786 - _020023E2 - 2; case 3 + .short _020027B6 - _020023E2 - 2; case 4 + .short _0200280C - _020023E2 - 2; case 5 + .short _02002818 - _020023E2 - 2; case 6 +_020023F0: ldr r0, _02002658 ; =0x021C48B8 ldr r1, [r0, #0x44] mov r0, #0x3 @@ -2962,11 +3202,12 @@ _02002532: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r5, #0x1 - lsl r4, r2, #0x2 - lsl r6, r6, #0x2 - lsl r6, r1, #0x3 - lsl r2, r3, #0x3 +_02002548: ; jump table (using 16-bit offset) + .short _020025B4 - _02002548 - 2; case 0 + .short _020025DE - _02002548 - 2; case 1 + .short _02002600 - _02002548 - 2; case 2 + .short _02002618 - _02002548 - 2; case 3 + .short _02002624 - _02002548 - 2; case 4 _02002552: mov r1, #0xff lsl r1, r1, #0x8 @@ -3021,14 +3262,63 @@ _0200259E: bl FUN_0201C05C b _020026CA _020025B4: - .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0xAC, 0xF9, 0x00, 0x04, 0x03, 0x0C - .byte 0x21, 0x7B, 0x62, 0x7B, 0x20, 0x1C, 0x19, 0xF0, 0x11, 0xFE, 0x20, 0x1C, 0x25, 0x30, 0x00, 0x78 - .byte 0x00, 0x06, 0xC0, 0x0F, 0x79, 0xD0, 0x60, 0x68, 0x16, 0xF0, 0xFA, 0xFD, 0x75, 0xE0, 0x20, 0x68 - .byte 0x00, 0x21, 0x19, 0xF0, 0x97, 0xF9, 0x21, 0x1C, 0x26, 0x31, 0x08, 0x70, 0x20, 0x68, 0x19, 0xF0 - .byte 0x63, 0xF9, 0x20, 0x60, 0x06, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD - .byte 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x86, 0xF9, 0x60, 0x85, 0x20, 0x68, 0x19, 0xF0, 0x54, 0xF9 - .byte 0x20, 0x60, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x7A, 0xF9 - .byte 0x20, 0x73, 0x52, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x19, 0xF0, 0x74, 0xF9, 0x60, 0x73, 0x4C, 0xE0 + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl FUN_0201B914 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + ldrb r1, [r4, #0xc] + ldrb r2, [r4, #0xd] + add r0, r4, #0x0 + bl FUN_0201C1EC + add r0, r4, #0x0 + add r0, #0x25 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + beq _020026CA + ldr r0, [r4, #0x4] + bl FUN_020191D0 + b _020026CA +_020025DE: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl FUN_0201B914 + add r1, r4, #0x0 + add r1, #0x26 + strb r0, [r1, #0x0] + ldr r0, [r4, #0x0] + bl FUN_0201B8B8 + str r0, [r4, #0x0] + mov r0, #0x6 + add r4, #0x24 + strb r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_02002600: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl FUN_0201B914 + strh r0, [r4, #0x2a] + ldr r0, [r4, #0x0] + bl FUN_0201B8B8 + str r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_02002618: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl FUN_0201B914 + strb r0, [r4, #0xc] + b _020026CA +_02002624: + ldr r0, [r4, #0x0] + mov r1, #0x0 + bl FUN_0201B914 + strb r0, [r4, #0xd] + b _020026CA _02002630: ldr r0, [r4, #0x0] mov r1, #0x0 @@ -3159,22 +3449,132 @@ _02002700: mov r0, #0x0 pop {r3-r6, pc} _02002742: - .byte 0x00, 0xF0, 0xFB, 0xF9, 0x00, 0x28, 0x05, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xF9 - .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xDC, 0xF9 - .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0xA1, 0x7C, 0x60, 0x68, 0x16, 0xF0 - .byte 0x57, 0xFF, 0xA0, 0x7A, 0x20, 0x73, 0xE0, 0x7A, 0x60, 0x73, 0x00, 0x20, 0x24, 0x34, 0x20, 0x70 - .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0xF0, 0xC7, 0xF9, 0x00, 0x28, 0x10, 0xD0, 0x20, 0x1C - .byte 0x00, 0xF0, 0x36, 0xF9, 0x60, 0x7A, 0x01, 0x21, 0x00, 0xF0, 0x58, 0xFB, 0xE1, 0x7B, 0x09, 0x18 - .byte 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0xA0, 0x7A, 0x20, 0x73, 0x04, 0x20, 0x24, 0x34, 0x20, 0x70 - .byte 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x27, 0x30, 0x02, 0x78, 0x00, 0x2A, 0x20, 0xD0, 0x04, 0x2A - .byte 0xA5, 0x7C, 0x09, 0xDA, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68, 0x00, 0x21, 0x1B, 0x0E - .byte 0x18, 0xF0, 0x7A, 0xF8, 0x00, 0x21, 0x0C, 0xE0, 0x2B, 0x01, 0x2B, 0x43, 0x1B, 0x06, 0x60, 0x68 - .byte 0x00, 0x21, 0x04, 0x22, 0x1B, 0x0E, 0x18, 0xF0, 0x6F, 0xF8, 0x20, 0x1C, 0x27, 0x30, 0x00, 0x78 - .byte 0x01, 0x1F, 0x20, 0x1C, 0x27, 0x30, 0x01, 0x70, 0x60, 0x68, 0x16, 0xF0, 0xE9, 0xFC, 0x02, 0xE0 - .byte 0x00, 0x20, 0x24, 0x34, 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x24, 0x34 - .byte 0x20, 0x70, 0x03, 0xB0, 0x03, 0x20, 0x78, 0xBD, 0x26, 0x30, 0x00, 0x78, 0x00, 0x28, 0x05, 0xD0 - .byte 0x20, 0x1C, 0x26, 0x30, 0x00, 0x78, 0x26, 0x34, 0x40, 0x1E, 0x01, 0xE0, 0x00, 0x20, 0x24, 0x34 - .byte 0x03, 0xB0, 0x20, 0x70, 0x03, 0x20, 0x78, 0xBD + bl FUN_02002B3C + cmp r0, #0x0 + beq _02002756 + add r0, r4, #0x0 + bl FUN_02002A00 + mov r0, #0x0 + add r4, #0x24 + strb r0, [r4, #0x0] +_02002756: + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_0200275C: + bl FUN_02002B18 + cmp r0, #0x0 + beq _02002780 + add r0, r4, #0x0 + bl FUN_02002A00 + ldrb r1, [r4, #0x12] + ldr r0, [r4, #0x4] + bl FUN_02019620 + ldrb r0, [r4, #0xa] + strb r0, [r4, #0xc] + ldrb r0, [r4, #0xb] + strb r0, [r4, #0xd] + mov r0, #0x0 + add r4, #0x24 + strb r0, [r4, #0x0] +_02002780: + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_02002786: + bl FUN_02002B18 + cmp r0, #0x0 + beq _020027B0 + add r0, r4, #0x0 + bl FUN_02002A00 + ldrb r0, [r4, #0x9] + mov r1, #0x1 + bl FUN_02002E4C + ldrb r1, [r4, #0xf] + add r1, r1, r0 + add r0, r4, #0x0 + add r0, #0x27 + strb r1, [r0, #0x0] + ldrb r0, [r4, #0xa] + strb r0, [r4, #0xc] + mov r0, #0x4 + add r4, #0x24 + strb r0, [r4, #0x0] +_020027B0: + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_020027B6: + add r0, #0x27 + ldrb r2, [r0, #0x0] + cmp r2, #0x0 + beq _02002800 + cmp r2, #0x4 + ldrb r5, [r4, #0x12] + bge _020027D8 + lsl r3, r5, #0x4 + orr r3, r5 + lsl r3, r3, #0x18 + ldr r0, [r4, #0x4] + mov r1, #0x0 + lsr r3, r3, #0x18 + bl FUN_0201A8C8 + mov r1, #0x0 + b _020027F2 +_020027D8: + lsl r3, r5, #0x4 + orr r3, r5 + lsl r3, r3, #0x18 + ldr r0, [r4, #0x4] + mov r1, #0x0 + mov r2, #0x4 + lsr r3, r3, #0x18 + bl FUN_0201A8C8 + add r0, r4, #0x0 + add r0, #0x27 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x4 +_020027F2: + add r0, r4, #0x0 + add r0, #0x27 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x4] + bl FUN_020191D0 + b _02002806 +_02002800: + mov r0, #0x0 + add r4, #0x24 + strb r0, [r4, #0x0] +_02002806: + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_0200280C: + mov r0, #0x0 + add r4, #0x24 + strb r0, [r4, #0x0] + add sp, #0xc + mov r0, #0x3 + pop {r3-r6, pc} +_02002818: + add r0, #0x26 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0200282C + add r0, r4, #0x0 + add r0, #0x26 + ldrb r0, [r0, #0x0] + add r4, #0x26 + sub r0, r0, #0x1 + b _02002830 +_0200282C: + mov r0, #0x0 + add r4, #0x24 +_02002830: + add sp, #0xc + strb r0, [r4, #0x0] + mov r0, #0x3 + pop {r3-r6, pc} _02002838: mov r0, #0x1 add sp, #0xc @@ -3999,31 +4399,66 @@ FUN_02002E4C: ; 0x02002E4C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 - lsl r6, r5, #0 - lsl r6, r6, #0 - lsl r6, r7, #0 - lsl r6, r0, #0x1 +_02002E5E: ; jump table (using 16-bit offset) + .short _02002E6E - _02002E5E - 2; case 0 + .short _02002E76 - _02002E5E - 2; case 1 + .short _02002E7E - _02002E5E - 2; case 2 + .short _02002E86 - _02002E5E - 2; case 3 + .short _02002E8E - _02002E5E - 2; case 4 + .short _02002E96 - _02002E5E - 2; case 5 + .short _02002E9E - _02002E5E - 2; case 6 + .short _02002EA6 - _02002E5E - 2; case 7 +_02002E6E: lsl r1, r0, #0x3 ldr r0, _02002EB0 ; =0x020ECB64 ldrb r2, [r0, r1] b _02002EAC _02002E76: - .byte 0xC1, 0x00, 0x0E, 0x48, 0x42, 0x5C, 0x16, 0xE0, 0xC1, 0x00 - .byte 0x0D, 0x48, 0x42, 0x5C, 0x12, 0xE0, 0xC1, 0x00, 0x0C, 0x48, 0x42, 0x5C, 0x0E, 0xE0, 0xC1, 0x00 - .byte 0x0B, 0x48, 0x42, 0x5C, 0x0A, 0xE0, 0xC1, 0x00, 0x0A, 0x48, 0x42, 0x5C, 0x06, 0xE0, 0xC1, 0x00 - .byte 0x09, 0x48, 0x42, 0x5C, 0x02, 0xE0, 0xC1, 0x00, 0x08, 0x48, 0x42, 0x5C + lsl r1, r0, #0x3 + ldr r0, _02002EB4 ; =0x020ECB65 + ldrb r2, [r0, r1] + b _02002EAC +_02002E7E: + lsl r1, r0, #0x3 + ldr r0, _02002EB8 ; =0x020ECB66 + ldrb r2, [r0, r1] + b _02002EAC +_02002E86: + lsl r1, r0, #0x3 + ldr r0, _02002EBC ; =0x020ECB67 + ldrb r2, [r0, r1] + b _02002EAC +_02002E8E: + lsl r1, r0, #0x3 + ldr r0, _02002EC0 ; =0x020ECB68 + ldrb r2, [r0, r1] + b _02002EAC +_02002E96: + lsl r1, r0, #0x3 + ldr r0, _02002EC4 ; =0x020ECB69 + ldrb r2, [r0, r1] + b _02002EAC +_02002E9E: + lsl r1, r0, #0x3 + ldr r0, _02002EC8 ; =0x020ECB6A + ldrb r2, [r0, r1] + b _02002EAC +_02002EA6: + lsl r1, r0, #0x3 + ldr r0, _02002ECC ; =0x020ECB6B + ldrb r2, [r0, r1] _02002EAC: add r0, r2, #0x0 bx lr .balign 4 _02002EB0: .word 0x020ECB64 -_02002EB4: - .byte 0x65, 0xCB, 0x0E, 0x02, 0x66, 0xCB, 0x0E, 0x02, 0x67, 0xCB, 0x0E, 0x02 - .byte 0x68, 0xCB, 0x0E, 0x02, 0x69, 0xCB, 0x0E, 0x02, 0x6A, 0xCB, 0x0E, 0x02, 0x6B, 0xCB, 0x0E, 0x02 +_02002EB4: .word 0x020ECB65 +_02002EB8: .word 0x020ECB66 +_02002EBC: .word 0x020ECB67 +_02002EC0: .word 0x020ECB68 +_02002EC4: .word 0x020ECB69 +_02002EC8: .word 0x020ECB6A +_02002ECC: .word 0x020ECB6B thumb_func_start FUN_02002ED0 FUN_02002ED0: ; 0x02002ED0 @@ -4363,16 +4798,27 @@ _02003126: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_02003136: ; jump table (using 16-bit offset) + .short _0200313E - _02003136 - 2; case 0 + .short _02003146 - _02003136 - 2; case 1 + .short _0200314E - _02003136 - 2; case 2 + .short _02003156 - _02003136 - 2; case 3 +_0200313E: bl FUN_020222E8 add r1, r0, #0x0 b _02003164 _02003146: - .byte 0x1F, 0xF0, 0xD7, 0xF8, 0x01, 0x1C, 0x0A, 0xE0, 0x1F, 0xF0 - .byte 0xDB, 0xF8, 0x01, 0x1C, 0x06, 0xE0, 0x1F, 0xF0, 0xDB, 0xF8, 0x01, 0x1C, 0x02, 0xE0 + bl FUN_020222F8 + add r1, r0, #0x0 + b _02003164 +_0200314E: + bl FUN_02022308 + add r1, r0, #0x0 + b _02003164 +_02003156: + bl FUN_02022310 + add r1, r0, #0x0 + b _02003164 _0200315E: bl FUN_02020C2C pop {r3-r7, pc} @@ -5209,42 +5655,128 @@ _0200377E: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r3, #0 - lsl r6, r4, #0 - lsl r2, r6, #0 - lsl r6, r7, #0 - lsl r2, r1, #0x1 - lsl r6, r3, #0x1 - lsl r2, r6, #0x1 - lsl r0, r1, #0x2 - lsl r6, r3, #0x2 - lsl r2, r6, #0x2 - lsl r6, r0, #0x3 - lsl r4, r3, #0x3 - lsl r2, r6, #0x3 - lsl r6, r0, #0x4 +_0200378A: ; jump table (using 16-bit offset) + .short _020037A6 - _0200378A - 2; case 0 + .short _020037B2 - _0200378A - 2; case 1 + .short _020037BE - _0200378A - 2; case 2 + .short _020037CA - _0200378A - 2; case 3 + .short _020037D6 - _0200378A - 2; case 4 + .short _020037EA - _0200378A - 2; case 5 + .short _020037FE - _0200378A - 2; case 6 + .short _02003814 - _0200378A - 2; case 7 + .short _0200382A - _0200378A - 2; case 8 + .short _0200383E - _0200378A - 2; case 9 + .short _02003852 - _0200378A - 2; case 10 + .short _02003868 - _0200378A - 2; case 11 + .short _0200387E - _0200378A - 2; case 12 + .short _02003892 - _0200378A - 2; case 13 +_020037A6: ldr r0, [r4, #0x4] ldr r2, [r4, #0x8] mov r1, #0x0 blx FUN_020C9550 b _020038A4 _020037B2: - .byte 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x96, 0xEE, 0x72, 0xE0, 0x60, 0x68 - .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5C, 0xEE, 0x6C, 0xE0, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21 - .byte 0xC5, 0xF0, 0x22, 0xEE, 0x66, 0xE0, 0xC5, 0xF0, 0x9C, 0xE9, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21 - .byte 0xC5, 0xF0, 0x56, 0xE9, 0xC5, 0xF0, 0x22, 0xE9, 0x5C, 0xE0, 0xC5, 0xF0, 0x92, 0xE9, 0x60, 0x68 - .byte 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x4C, 0xE9, 0xC5, 0xF0, 0x18, 0xE9, 0x52, 0xE0, 0xC5, 0xF0 - .byte 0x88, 0xE9, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC5, 0xF0, 0x42, 0xE9, 0xC5, 0xF0 - .byte 0x0E, 0xE9, 0x47, 0xE0, 0xC5, 0xF0, 0x7C, 0xE9, 0x06, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x09, 0x03 - .byte 0xC5, 0xF0, 0x36, 0xE9, 0xC5, 0xF0, 0x02, 0xE9, 0x3C, 0xE0, 0xC5, 0xF0, 0x50, 0xE8, 0x60, 0x68 - .byte 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x10, 0xE8, 0xC4, 0xF0, 0xE8, 0xEF, 0x32, 0xE0, 0xC5, 0xF0 - .byte 0x46, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x39, 0x1C, 0xC5, 0xF0, 0x06, 0xE8, 0xC4, 0xF0, 0xDE, 0xEF - .byte 0x28, 0xE0, 0xC5, 0xF0, 0x3C, 0xE8, 0x01, 0x21, 0x60, 0x68, 0xA2, 0x68, 0x89, 0x03, 0xC4, 0xF0 - .byte 0xFC, 0xEF, 0xC4, 0xF0, 0xD4, 0xEF, 0x1D, 0xE0, 0xC5, 0xF0, 0x30, 0xE8, 0x06, 0x21, 0x60, 0x68 - .byte 0xA2, 0x68, 0x09, 0x03, 0xC4, 0xF0, 0xF0, 0xEF, 0xC4, 0xF0, 0xC8, 0xEF, 0x12, 0xE0, 0xC5, 0xF0 - .byte 0x9E, 0xE8, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC5, 0xF0, 0x5E, 0xE8, 0xC5, 0xF0, 0x30, 0xE8 - .byte 0x08, 0xE0, 0xC4, 0xF0, 0xAA, 0xEF, 0x60, 0x68, 0xA2, 0x68, 0x00, 0x21, 0xC4, 0xF0, 0x6A, 0xEF - .byte 0xC4, 0xF0, 0x42, 0xEF + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C94E8 + b _020038A4 +_020037BE: + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C9480 + b _020038A4 +_020037CA: + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C9418 + b _020038A4 +_020037D6: + blx FUN_020C8B10 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C8A90 + blx FUN_020C8A2C + b _020038A4 +_020037EA: + blx FUN_020C8B10 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + add r1, r7, #0x0 + blx FUN_020C8A90 + blx FUN_020C8A2C + b _020038A4 +_020037FE: + blx FUN_020C8B10 + mov r1, #0x1 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + lsl r1, r1, #0xe + blx FUN_020C8A90 + blx FUN_020C8A2C + b _020038A4 +_02003814: + blx FUN_020C8B10 + mov r1, #0x6 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + lsl r1, r1, #0xc + blx FUN_020C8A90 + blx FUN_020C8A2C + b _020038A4 +_0200382A: + blx FUN_020C88CC + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C8858 + blx FUN_020C880C + b _020038A4 +_0200383E: + blx FUN_020C88CC + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + add r1, r7, #0x0 + blx FUN_020C8858 + blx FUN_020C880C + b _020038A4 +_02003852: + blx FUN_020C88CC + mov r1, #0x1 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + lsl r1, r1, #0xe + blx FUN_020C8858 + blx FUN_020C880C + b _020038A4 +_02003868: + blx FUN_020C88CC + mov r1, #0x6 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + lsl r1, r1, #0xc + blx FUN_020C8858 + blx FUN_020C880C + b _020038A4 +_0200387E: + blx FUN_020C89BC + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C8948 + blx FUN_020C88F0 + b _020038A4 +_02003892: + blx FUN_020C87E8 + ldr r0, [r4, #0x4] + ldr r2, [r4, #0x8] + mov r1, #0x0 + blx FUN_020C8774 + blx FUN_020C8728 _020038A4: add r5, r5, #0x1 add r4, #0x14 @@ -5748,30 +6280,66 @@ FUN_02003C40: ; 0x02003C40 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r7, #0x1 - lsl r4, r1, #0 - lsl r2, r7, #0x1 - lsl r4, r2, #0 - lsl r4, r4, #0 - lsl r4, r6, #0 - lsl r2, r2, #0x1 +_02003C5C: ; jump table (using 16-bit offset) + .short _02003CD8 - _02003C5C - 2; case 0 + .short _02003C6A - _02003C5C - 2; case 1 + .short _02003CD8 - _02003C5C - 2; case 2 + .short _02003C72 - _02003C5C - 2; case 3 + .short _02003C82 - _02003C5C - 2; case 4 + .short _02003C92 - _02003C5C - 2; case 5 + .short _02003CB0 - _02003C5C - 2; case 6 +_02003C6A: mov r0, #0x2 bl FUN_02003CE8 pop {r4, pc} _02003C72: - .byte 0x01, 0xF0, 0xC7, 0xFB, 0x00, 0x28, 0x2E, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x34, 0xF8 - .byte 0x10, 0xBD, 0x01, 0xF0, 0xBF, 0xFB, 0x00, 0x28, 0x26, 0xD1, 0x02, 0x20, 0x00, 0xF0, 0x2C, 0xF8 - .byte 0x10, 0xBD, 0x01, 0xF0, 0xB7, 0xFB, 0x00, 0x28, 0x1E, 0xD1, 0x01, 0xF0, 0x7B, 0xF8, 0x00, 0x28 - .byte 0x1A, 0xD1, 0x00, 0xF0, 0x1B, 0xFA, 0x0E, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xB7, 0xFA, 0x10, 0xBD - .byte 0x01, 0xF0, 0xA8, 0xFB, 0x00, 0x28, 0x0F, 0xD1, 0x01, 0xF0, 0x6C, 0xF8, 0x00, 0x28, 0x0B, 0xD1 - .byte 0x00, 0xF0, 0x0C, 0xFA, 0x06, 0x48, 0x20, 0x5A, 0x01, 0xF0, 0xA8, 0xFA, 0x05, 0x49, 0x7F, 0x20 - .byte 0x61, 0x58, 0x00, 0x22, 0x01, 0xF0, 0x5A, 0xFB + bl FUN_02005404 + cmp r0, #0x0 + bne _02003CD8 + mov r0, #0x2 + bl FUN_02003CE8 + pop {r4, pc} +_02003C82: + bl FUN_02005404 + cmp r0, #0x0 + bne _02003CD8 + mov r0, #0x2 + bl FUN_02003CE8 + pop {r4, pc} +_02003C92: + bl FUN_02005404 + cmp r0, #0x0 + bne _02003CD8 + bl FUN_02004D94 + cmp r0, #0x0 + bne _02003CD8 + bl FUN_020040DC + ldr r0, _02003CE0 ; =0x000BCD0E + ldrh r0, [r4, r0] + bl FUN_0200521C + pop {r4, pc} +_02003CB0: + bl FUN_02005404 + cmp r0, #0x0 + bne _02003CD8 + bl FUN_02004D94 + cmp r0, #0x0 + bne _02003CD8 + bl FUN_020040DC + ldr r0, _02003CE0 ; =0x000BCD0E + ldrh r0, [r4, r0] + bl FUN_0200521C + ldr r1, _02003CE4 ; =0x000BCD08 + mov r0, #0x7f + ldr r1, [r4, r1] + mov r2, #0x0 + bl FUN_0200538C _02003CD8: pop {r4, pc} nop _02003CDC: .word 0x02107070 -_02003CE0: - .byte 0x0E, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00 +_02003CE0: .word 0x000BCD0E +_02003CE4: .word 0x000BCD08 thumb_func_start FUN_02003CE8 FUN_02003CE8: ; 0x02003CE8 @@ -5834,83 +6402,252 @@ _02003D46: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r2, #0x1 - lsl r2, r3, #0x1 - lsl r0, r4, #0x1 - lsl r6, r4, #0x1 - lsl r4, r5, #0x1 - lsl r6, r1, #0x1 - lsl r2, r6, #0x1 - lsl r0, r7, #0x1 - lsl r6, r7, #0x1 - lsl r4, r0, #0x2 - lsl r2, r1, #0x2 - lsl r0, r2, #0x2 - lsl r6, r2, #0x2 - lsl r4, r3, #0x2 - lsl r2, r4, #0x2 - lsl r0, r5, #0x2 - lsl r6, r5, #0x2 - lsl r4, r6, #0x2 - lsl r2, r7, #0x2 - lsl r0, r0, #0x3 - lsl r6, r0, #0x3 - lsl r4, r1, #0x3 - lsl r2, r2, #0x3 - lsl r0, r3, #0x3 - lsl r6, r3, #0x3 - lsl r4, r4, #0x3 - lsl r2, r5, #0x3 - lsl r0, r6, #0x3 - lsl r6, r6, #0x3 - lsl r4, r7, #0x3 - lsl r2, r0, #0x4 - lsl r0, r1, #0x4 - lsl r6, r1, #0x4 - lsl r4, r2, #0x4 - lsl r2, r3, #0x4 - lsl r0, r4, #0x4 - lsl r6, r4, #0x4 - lsl r4, r5, #0x4 - lsl r2, r6, #0x4 - lsl r0, r7, #0x4 +_02003D52: ; jump table (using 16-bit offset) + .short _02003DA8 - _02003D52 - 2; case 0 + .short _02003DAE - _02003D52 - 2; case 1 + .short _02003DB4 - _02003D52 - 2; case 2 + .short _02003DBA - _02003D52 - 2; case 3 + .short _02003DC0 - _02003D52 - 2; case 4 + .short _02003DA2 - _02003D52 - 2; case 5 + .short _02003DC6 - _02003D52 - 2; case 6 + .short _02003DCC - _02003D52 - 2; case 7 + .short _02003DD2 - _02003D52 - 2; case 8 + .short _02003DD8 - _02003D52 - 2; case 9 + .short _02003DDE - _02003D52 - 2; case 10 + .short _02003DE4 - _02003D52 - 2; case 11 + .short _02003DEA - _02003D52 - 2; case 12 + .short _02003DF0 - _02003D52 - 2; case 13 + .short _02003DF6 - _02003D52 - 2; case 14 + .short _02003DFC - _02003D52 - 2; case 15 + .short _02003E02 - _02003D52 - 2; case 16 + .short _02003E08 - _02003D52 - 2; case 17 + .short _02003E0E - _02003D52 - 2; case 18 + .short _02003E14 - _02003D52 - 2; case 19 + .short _02003E1A - _02003D52 - 2; case 20 + .short _02003E20 - _02003D52 - 2; case 21 + .short _02003E26 - _02003D52 - 2; case 22 + .short _02003E2C - _02003D52 - 2; case 23 + .short _02003E32 - _02003D52 - 2; case 24 + .short _02003E38 - _02003D52 - 2; case 25 + .short _02003E3E - _02003D52 - 2; case 26 + .short _02003E44 - _02003D52 - 2; case 27 + .short _02003E4A - _02003D52 - 2; case 28 + .short _02003E50 - _02003D52 - 2; case 29 + .short _02003E56 - _02003D52 - 2; case 30 + .short _02003E5C - _02003D52 - 2; case 31 + .short _02003E62 - _02003D52 - 2; case 32 + .short _02003E68 - _02003D52 - 2; case 33 + .short _02003E6E - _02003D52 - 2; case 34 + .short _02003E74 - _02003D52 - 2; case 35 + .short _02003E7A - _02003D52 - 2; case 36 + .short _02003E80 - _02003D52 - 2; case 37 + .short _02003E86 - _02003D52 - 2; case 38 + .short _02003E8C - _02003D52 - 2; case 39 +_02003DA2: ldr r1, _02003E9C ; =0x000BCCFE add r0, r0, r1 pop {r4, pc} _02003DA8: - .byte 0x3D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3D, 0x49 - .byte 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3C, 0x49, 0x40, 0x18, 0x10, 0xBD - .byte 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18 - .byte 0x10, 0xBD, 0x3A, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x39, 0x49 - .byte 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x38, 0x49, 0x40, 0x18, 0x10, 0xBD - .byte 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x37, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18 - .byte 0x10, 0xBD, 0x36, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x35, 0x49 - .byte 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x34, 0x49, 0x40, 0x18, 0x10, 0xBD - .byte 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x33, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18 - .byte 0x10, 0xBD, 0x32, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x31, 0x49 - .byte 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x30, 0x49, 0x40, 0x18, 0x10, 0xBD - .byte 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2F, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18 - .byte 0x10, 0xBD, 0x2E, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2D, 0x49 - .byte 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2C, 0x49, 0x40, 0x18, 0x10, 0xBD - .byte 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2B, 0x49, 0x40, 0x18, 0x10, 0xBD, 0x2A, 0x49, 0x40, 0x18 - .byte 0x10, 0xBD + ldr r1, _02003EA0 ; =0x000BBCB8 + add r0, r0, r1 + pop {r4, pc} +_02003DAE: + ldr r1, _02003EA4 ; =0x000BBCBC + add r0, r0, r1 + pop {r4, pc} +_02003DB4: + ldr r1, _02003EA8 ; =0x000BBCC0 + add r0, r0, r1 + pop {r4, pc} +_02003DBA: + ldr r1, _02003EAC ; =0x000BBCE0 + add r0, r0, r1 + pop {r4, pc} +_02003DC0: + ldr r1, _02003EB0 ; =0x000BCCE0 + add r0, r0, r1 + pop {r4, pc} +_02003DC6: + ldr r1, _02003EB4 ; =0x000BCD00 + add r0, r0, r1 + pop {r4, pc} +_02003DCC: + ldr r1, _02003EB8 ; =0x000BCD04 + add r0, r0, r1 + pop {r4, pc} +_02003DD2: + ldr r1, _02003EBC ; =0x000BCD08 + add r0, r0, r1 + pop {r4, pc} +_02003DD8: + ldr r1, _02003EC0 ; =0x000BCD0C + add r0, r0, r1 + pop {r4, pc} +_02003DDE: + ldr r1, _02003EC4 ; =0x000BCD0E + add r0, r0, r1 + pop {r4, pc} +_02003DE4: + ldr r1, _02003EC8 ; =0x000BCD10 + add r0, r0, r1 + pop {r4, pc} +_02003DEA: + ldr r1, _02003ECC ; =0x000BCD11 + add r0, r0, r1 + pop {r4, pc} +_02003DF0: + ldr r1, _02003ED0 ; =0x000BCD12 + add r0, r0, r1 + pop {r4, pc} +_02003DF6: + ldr r1, _02003ED4 ; =0x000BCD14 + add r0, r0, r1 + pop {r4, pc} +_02003DFC: + ldr r1, _02003ED8 ; =0x000BCD15 + add r0, r0, r1 + pop {r4, pc} +_02003E02: + ldr r1, _02003EDC ; =0x000BCD16 + add r0, r0, r1 + pop {r4, pc} +_02003E08: + ldr r1, _02003EE0 ; =0x000BCD17 + add r0, r0, r1 + pop {r4, pc} +_02003E0E: + ldr r1, _02003EE4 ; =0x000BCD18 + add r0, r0, r1 + pop {r4, pc} +_02003E14: + ldr r1, _02003EE8 ; =0x000BCD19 + add r0, r0, r1 + pop {r4, pc} +_02003E1A: + ldr r1, _02003EEC ; =0x000BCD1A + add r0, r0, r1 + pop {r4, pc} +_02003E20: + ldr r1, _02003EF0 ; =0x000BCD1B + add r0, r0, r1 + pop {r4, pc} +_02003E26: + ldr r1, _02003EF4 ; =0x000BCD1C + add r0, r0, r1 + pop {r4, pc} +_02003E2C: + ldr r1, _02003EF8 ; =0x000BCD20 + add r0, r0, r1 + pop {r4, pc} +_02003E32: + ldr r1, _02003EFC ; =0x000BCD24 + add r0, r0, r1 + pop {r4, pc} +_02003E38: + ldr r1, _02003F00 ; =0x000BCD28 + add r0, r0, r1 + pop {r4, pc} +_02003E3E: + ldr r1, _02003F04 ; =0x000BCD2C + add r0, r0, r1 + pop {r4, pc} +_02003E44: + ldr r1, _02003F08 ; =0x000BCD30 + add r0, r0, r1 + pop {r4, pc} +_02003E4A: + ldr r1, _02003F0C ; =0x000BCD34 + add r0, r0, r1 + pop {r4, pc} +_02003E50: + ldr r1, _02003F10 ; =0x000BCD38 + add r0, r0, r1 + pop {r4, pc} +_02003E56: + ldr r1, _02003F14 ; =0x000BCD39 + add r0, r0, r1 + pop {r4, pc} +_02003E5C: + ldr r1, _02003F18 ; =0x000BCD3A + add r0, r0, r1 + pop {r4, pc} +_02003E62: + ldr r1, _02003F1C ; =0x000BCD3C + add r0, r0, r1 + pop {r4, pc} +_02003E68: + ldr r1, _02003F20 ; =0x000BCD40 + add r0, r0, r1 + pop {r4, pc} +_02003E6E: + ldr r1, _02003F24 ; =0x000BCD48 + add r0, r0, r1 + pop {r4, pc} +_02003E74: + ldr r1, _02003F28 ; =0x000BCD4C + add r0, r0, r1 + pop {r4, pc} +_02003E7A: + ldr r1, _02003F2C ; =0x000BCD50 + add r0, r0, r1 + pop {r4, pc} +_02003E80: + ldr r1, _02003F30 ; =0x000BCD54 + add r0, r0, r1 + pop {r4, pc} +_02003E86: + ldr r1, _02003F34 ; =0x000BCD58 + add r0, r0, r1 + pop {r4, pc} +_02003E8C: + ldr r1, _02003F38 ; =0x000BCD5C + add r0, r0, r1 + pop {r4, pc} _02003E92: bl FUN_02020C2C mov r0, #0x0 pop {r4, pc} nop _02003E9C: .word 0x000BCCFE -_02003EA0: - .byte 0xB8, 0xBC, 0x0B, 0x00, 0xBC, 0xBC, 0x0B, 0x00, 0xC0, 0xBC, 0x0B, 0x00, 0xE0, 0xBC, 0x0B, 0x00 - .byte 0xE0, 0xCC, 0x0B, 0x00, 0x00, 0xCD, 0x0B, 0x00, 0x04, 0xCD, 0x0B, 0x00, 0x08, 0xCD, 0x0B, 0x00 - .byte 0x0C, 0xCD, 0x0B, 0x00, 0x0E, 0xCD, 0x0B, 0x00, 0x10, 0xCD, 0x0B, 0x00, 0x11, 0xCD, 0x0B, 0x00 - .byte 0x12, 0xCD, 0x0B, 0x00, 0x14, 0xCD, 0x0B, 0x00, 0x15, 0xCD, 0x0B, 0x00, 0x16, 0xCD, 0x0B, 0x00 - .byte 0x17, 0xCD, 0x0B, 0x00, 0x18, 0xCD, 0x0B, 0x00, 0x19, 0xCD, 0x0B, 0x00, 0x1A, 0xCD, 0x0B, 0x00 - .byte 0x1B, 0xCD, 0x0B, 0x00, 0x1C, 0xCD, 0x0B, 0x00, 0x20, 0xCD, 0x0B, 0x00, 0x24, 0xCD, 0x0B, 0x00 - .byte 0x28, 0xCD, 0x0B, 0x00, 0x2C, 0xCD, 0x0B, 0x00, 0x30, 0xCD, 0x0B, 0x00, 0x34, 0xCD, 0x0B, 0x00 - .byte 0x38, 0xCD, 0x0B, 0x00, 0x39, 0xCD, 0x0B, 0x00, 0x3A, 0xCD, 0x0B, 0x00, 0x3C, 0xCD, 0x0B, 0x00 - .byte 0x40, 0xCD, 0x0B, 0x00, 0x48, 0xCD, 0x0B, 0x00, 0x4C, 0xCD, 0x0B, 0x00, 0x50, 0xCD, 0x0B, 0x00 - .byte 0x54, 0xCD, 0x0B, 0x00, 0x58, 0xCD, 0x0B, 0x00, 0x5C, 0xCD, 0x0B, 0x00 +_02003EA0: .word 0x000BBCB8 +_02003EA4: .word 0x000BBCBC +_02003EA8: .word 0x000BBCC0 +_02003EAC: .word 0x000BBCE0 +_02003EB0: .word 0x000BCCE0 +_02003EB4: .word 0x000BCD00 +_02003EB8: .word 0x000BCD04 +_02003EBC: .word 0x000BCD08 +_02003EC0: .word 0x000BCD0C +_02003EC4: .word 0x000BCD0E +_02003EC8: .word 0x000BCD10 +_02003ECC: .word 0x000BCD11 +_02003ED0: .word 0x000BCD12 +_02003ED4: .word 0x000BCD14 +_02003ED8: .word 0x000BCD15 +_02003EDC: .word 0x000BCD16 +_02003EE0: .word 0x000BCD17 +_02003EE4: .word 0x000BCD18 +_02003EE8: .word 0x000BCD19 +_02003EEC: .word 0x000BCD1A +_02003EF0: .word 0x000BCD1B +_02003EF4: .word 0x000BCD1C +_02003EF8: .word 0x000BCD20 +_02003EFC: .word 0x000BCD24 +_02003F00: .word 0x000BCD28 +_02003F04: .word 0x000BCD2C +_02003F08: .word 0x000BCD30 +_02003F0C: .word 0x000BCD34 +_02003F10: .word 0x000BCD38 +_02003F14: .word 0x000BCD39 +_02003F18: .word 0x000BCD3A +_02003F1C: .word 0x000BCD3C +_02003F20: .word 0x000BCD40 +_02003F24: .word 0x000BCD48 +_02003F28: .word 0x000BCD4C +_02003F2C: .word 0x000BCD50 +_02003F30: .word 0x000BCD54 +_02003F34: .word 0x000BCD58 +_02003F38: .word 0x000BCD5C thumb_func_start FUN_02003F3C FUN_02003F3C: ; 0x02003F3C @@ -6042,20 +6779,39 @@ FUN_02004018: ; 0x02004018 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 +_0200402A: ; jump table (using 16-bit offset) + .short _0200403E - _0200402A - 2; case 0 + .short _0200403A - _0200402A - 2; case 1 + .short _02004042 - _0200402A - 2; case 2 + .short _02004046 - _0200402A - 2; case 3 + .short _0200404A - _0200402A - 2; case 4 + .short _0200404E - _0200402A - 2; case 5 + .short _02004052 - _0200402A - 2; case 6 + .short _02004056 - _0200402A - 2; case 7 +_0200403A: mov r0, #0x0 pop {r3, pc} _0200403E: - .byte 0x01, 0x20 - .byte 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x05, 0x20 - .byte 0x08, 0xBD, 0x06, 0x20, 0x08, 0xBD, 0x07, 0x20, 0x08, 0xBD + mov r0, #0x1 + pop {r3, pc} +_02004042: + mov r0, #0x2 + pop {r3, pc} +_02004046: + mov r0, #0x3 + pop {r3, pc} +_0200404A: + mov r0, #0x4 + pop {r3, pc} +_0200404E: + mov r0, #0x5 + pop {r3, pc} +_02004052: + mov r0, #0x6 + pop {r3, pc} +_02004056: + mov r0, #0x7 + pop {r3, pc} _0200405A: bl FUN_02020C2C mov r0, #0x3 @@ -6247,21 +7003,22 @@ _02004192: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r0, #0x6 - lsl r0, r7, #0x1 - lsl r2, r0, #0x2 - lsl r4, r1, #0x2 - lsl r6, r2, #0x2 - lsl r0, r4, #0x2 - lsl r4, r6, #0x2 - lsl r0, r6, #0x3 - lsl r6, r7, #0x2 - lsl r0, r7, #0x1 - lsl r0, r7, #0x1 - lsl r2, r5, #0x2 - lsl r0, r1, #0x3 - lsl r2, r0, #0x2 - lsl r0, r7, #0x1 +_020041A8: ; jump table (using 16-bit offset) + .short _0200432C - _020041A8 - 2; case 0 + .short _02004222 - _020041A8 - 2; case 1 + .short _0200422C - _020041A8 - 2; case 2 + .short _02004236 - _020041A8 - 2; case 3 + .short _02004240 - _020041A8 - 2; case 4 + .short _0200424A - _020041A8 - 2; case 5 + .short _0200425E - _020041A8 - 2; case 6 + .short _0200429A - _020041A8 - 2; case 7 + .short _02004268 - _020041A8 - 2; case 8 + .short _02004222 - _020041A8 - 2; case 9 + .short _02004222 - _020041A8 - 2; case 10 + .short _02004254 - _020041A8 - 2; case 11 + .short _02004272 - _020041A8 - 2; case 12 + .short _0200422C - _020041A8 - 2; case 13 + .short _02004222 - _020041A8 - 2; case 14 _020041C6: cmp r0, #0x34 beq _02004290 @@ -6315,28 +7072,66 @@ _0200420E: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r6, #0x3 - lsl r2, r0, #0x4 - lsl r2, r5, #0x1 - lsl r2, r2, #0x2 +_0200421A: ; jump table (using 16-bit offset) + .short _0200430E - _0200421A - 2; case 0 + .short _0200431E - _0200421A - 2; case 1 + .short _02004286 - _0200421A - 2; case 2 + .short _020042AE - _0200421A - 2; case 3 +_02004222: mov r0, #0x1 bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _0200422C: - .byte 0x02, 0x20, 0xFF, 0xF7 - .byte 0xA3, 0xFE, 0x01, 0x1C, 0x7A, 0xE0, 0x0D, 0x20, 0xFF, 0xF7, 0x9E, 0xFE, 0x01, 0x1C, 0x75, 0xE0 - .byte 0x01, 0x20, 0xFF, 0xF7, 0x99, 0xFE, 0x01, 0x1C, 0x70, 0xE0, 0x02, 0x20, 0xFF, 0xF7, 0x94, 0xFE - .byte 0x01, 0x1C, 0x6B, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x8F, 0xFE, 0x01, 0x1C, 0x66, 0xE0, 0x0B, 0x20 - .byte 0xFF, 0xF7, 0x8A, 0xFE, 0x01, 0x1C, 0x61, 0xE0, 0x01, 0x20, 0xFF, 0xF7, 0x85, 0xFE, 0x01, 0x1C - .byte 0x5C, 0xE0, 0x0E, 0x20, 0xFF, 0xF7, 0x80, 0xFE, 0x01, 0x1C, 0x57, 0xE0 + mov r0, #0x2 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004236: + mov r0, #0xd + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004240: + mov r0, #0x1 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_0200424A: + mov r0, #0x2 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004254: + mov r0, #0x1 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_0200425E: + mov r0, #0xb + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004268: + mov r0, #0x1 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C +_02004272: + mov r0, #0xe + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C _0200427C: mov r0, #0x3 bl FUN_02003F78 add r1, r0, #0x0 b _0200432C _02004286: - .byte 0x06, 0x20, 0xFF, 0xF7, 0x76, 0xFE, 0x01, 0x1C, 0x4D, 0xE0 + mov r0, #0x6 + bl FUN_02003F78 + add r1, r0, #0x0 + b _0200432C _02004290: mov r0, #0x5 bl FUN_02003F78 @@ -6400,16 +7195,25 @@ _02004304: add r1, r0, #0x0 b _0200432C _0200430E: - .byte 0x09, 0x48 - .byte 0xFF, 0xF7, 0x64, 0xFE, 0x07, 0x48, 0xFF, 0xF7, 0x55, 0xFE, 0x01, 0x1C, 0x06, 0xE0, 0x06, 0x48 - .byte 0xFF, 0xF7, 0x5C, 0xFE, 0x04, 0x48, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x1C + ldr r0, _02004334 ; =0x000005ED + bl FUN_02003FDC + ldr r0, _02004334 ; =0x000005ED + bl FUN_02003FC4 + add r1, r0, #0x0 + b _0200432C +_0200431E: + ldr r0, _02004338 ; =0x000005EC + bl FUN_02003FDC + ldr r0, _02004338 ; =0x000005EC + bl FUN_02003FC4 + add r1, r0, #0x0 _0200432C: add r0, r1, #0x0 pop {r3, pc} .balign 4 _02004330: .word 0x000005E5 -_02004334: - .byte 0xED, 0x05, 0x00, 0x00, 0xEC, 0x05, 0x00, 0x00 +_02004334: .word 0x000005ED +_02004338: .word 0x000005EC thumb_func_start FUN_0200433C FUN_0200433C: ; 0x0200433C @@ -6464,21 +7268,22 @@ _0200437E: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r7, #0x3 - lsl r0, r7, #0x2 - lsl r4, r3, #0x3 - lsl r6, r5, #0x3 - lsl r4, r6, #0x1 - lsl r0, r1, #0x2 - lsl r4, r3, #0x2 - lsl r6, r4, #0x2 - lsl r6, r5, #0x3 - lsl r6, r5, #0x3 - lsl r6, r5, #0x3 - lsl r2, r2, #0x2 - lsl r6, r5, #0x3 - lsl r6, r5, #0x3 - lsl r2, r1, #0x3 +_020043A6: ; jump table (using 16-bit offset) + .short _020044A0 - _020043A6 - 2; case 0 + .short _02004460 - _020043A6 - 2; case 1 + .short _02004484 - _020043A6 - 2; case 2 + .short _02004496 - _020043A6 - 2; case 3 + .short _0200441C - _020043A6 - 2; case 4 + .short _02004430 - _020043A6 - 2; case 5 + .short _02004444 - _020043A6 - 2; case 6 + .short _0200444E - _020043A6 - 2; case 7 + .short _02004496 - _020043A6 - 2; case 8 + .short _02004496 - _020043A6 - 2; case 9 + .short _02004496 - _020043A6 - 2; case 10 + .short _0200443A - _020043A6 - 2; case 11 + .short _02004496 - _020043A6 - 2; case 12 + .short _02004496 - _020043A6 - 2; case 13 + .short _02004472 - _020043A6 - 2; case 14 _020043C4: cmp r4, #0x34 beq _02004458 @@ -6527,10 +7332,12 @@ _02004400: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r0, #0x1 - lsl r2, r0, #0x1 - lsl r2, r0, #0x1 - lsl r2, r0, #0x1 +_02004414: ; jump table (using 16-bit offset) + .short _02004458 - _02004414 - 2; case 0 + .short _02004458 - _02004414 - 2; case 1 + .short _02004458 - _02004414 - 2; case 2 + .short _02004458 - _02004414 - 2; case 3 +_0200441C: mov r0, #0x0 bl FUN_0200516C add r0, r5, #0x0 @@ -6540,18 +7347,58 @@ _02004400: strh r0, [r7, #0x0] b _020044A0 _02004430: - .byte 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x08, 0xF9, 0x32, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0 - .byte 0x1F, 0xF9, 0x2D, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0x2A, 0xF9, 0x28, 0xE0, 0x28, 0x1C - .byte 0x31, 0x1C, 0x00, 0xF0, 0x37, 0xF9, 0x23, 0xE0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02004648 + b _020044A0 +_0200443A: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02004680 + b _020044A0 +_02004444: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_020046A0 + b _020044A0 +_0200444E: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_020046C4 + b _020044A0 _02004458: add r0, r4, #0x0 bl FUN_020046E8 b _020044A0 _02004460: - .byte 0x01, 0x20, 0x00, 0xF0, 0x83, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x4A, 0xF9 - .byte 0x16, 0xE0, 0x02, 0x20, 0x00, 0xF0, 0x7A, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0 - .byte 0x41, 0xF9, 0x0D, 0xE0, 0x00, 0x20, 0x00, 0xF0, 0x71, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C - .byte 0x00, 0xF0, 0x38, 0xF9, 0x04, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x32, 0xF9 + mov r0, #0x1 + bl FUN_0200516C + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_02004704 + b _020044A0 +_02004472: + mov r0, #0x2 + bl FUN_0200516C + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_02004704 + b _020044A0 +_02004484: + mov r0, #0x0 + bl FUN_0200516C + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_02004704 + b _020044A0 +_02004496: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_02004704 _020044A0: mov r0, #0x1 add sp, #0x8 @@ -6874,23 +7721,48 @@ _02004762: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r6, r2, #0 - lsl r0, r4, #0 - lsl r2, r5, #0 - lsl r4, r6, #0 - lsl r6, r7, #0 - lsl r0, r1, #0x1 +_02004772: ; jump table (using 16-bit offset) + .short _02004780 - _02004772 - 2; case 0 + .short _0200478A - _02004772 - 2; case 1 + .short _02004794 - _02004772 - 2; case 2 + .short _0200479E - _02004772 - 2; case 3 + .short _020047A8 - _02004772 - 2; case 4 + .short _020047B2 - _02004772 - 2; case 5 + .short _020047BC - _02004772 - 2; case 6 +_02004780: mov r0, #0x16 bl FUN_02003D38 add r5, r0, #0x0 b _020047C4 _0200478A: - .byte 0x17, 0x20, 0xFF, 0xF7, 0xD4, 0xFA - .byte 0x05, 0x1C, 0x17, 0xE0, 0x18, 0x20, 0xFF, 0xF7, 0xCF, 0xFA, 0x05, 0x1C, 0x12, 0xE0, 0x19, 0x20 - .byte 0xFF, 0xF7, 0xCA, 0xFA, 0x05, 0x1C, 0x0D, 0xE0, 0x1A, 0x20, 0xFF, 0xF7, 0xC5, 0xFA, 0x05, 0x1C - .byte 0x08, 0xE0, 0x1B, 0x20, 0xFF, 0xF7, 0xC0, 0xFA, 0x05, 0x1C, 0x03, 0xE0, 0x1C, 0x20, 0xFF, 0xF7 - .byte 0xBB, 0xFA, 0x05, 0x1C + mov r0, #0x17 + bl FUN_02003D38 + add r5, r0, #0x0 + b _020047C4 +_02004794: + mov r0, #0x18 + bl FUN_02003D38 + add r5, r0, #0x0 + b _020047C4 +_0200479E: + mov r0, #0x19 + bl FUN_02003D38 + add r5, r0, #0x0 + b _020047C4 +_020047A8: + mov r0, #0x1a + bl FUN_02003D38 + add r5, r0, #0x0 + b _020047C4 +_020047B2: + mov r0, #0x1b + bl FUN_02003D38 + add r5, r0, #0x0 + b _020047C4 +_020047BC: + mov r0, #0x1c + bl FUN_02003D38 + add r5, r0, #0x0 _020047C4: ldr r0, [r5, #0x0] pop {r3-r5, pc} @@ -8950,19 +9822,21 @@ _0200573E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r3, #0 - lsl r0, r3, #0 - lsl r0, r3, #0 - lsl r4, r2, #0x1 - lsl r4, r2, #0x1 - lsl r0, r3, #0 - lsl r4, r2, #0x1 - lsl r4, r2, #0x1 - lsl r4, r2, #0x1 - lsl r4, r2, #0x1 - lsl r4, r2, #0x1 - lsl r0, r3, #0 - lsl r0, r3, #0 +_02005758: ; jump table (using 16-bit offset) + .short _02005772 - _02005758 - 2; case 0 + .short _02005772 - _02005758 - 2; case 1 + .short _02005772 - _02005758 - 2; case 2 + .short _020057AE - _02005758 - 2; case 3 + .short _020057AE - _02005758 - 2; case 4 + .short _02005772 - _02005758 - 2; case 5 + .short _020057AE - _02005758 - 2; case 6 + .short _020057AE - _02005758 - 2; case 7 + .short _020057AE - _02005758 - 2; case 8 + .short _020057AE - _02005758 - 2; case 9 + .short _020057AE - _02005758 - 2; case 10 + .short _02005772 - _02005758 - 2; case 11 + .short _02005772 - _02005758 - 2; case 12 +_02005772: bl FUN_02005578 ldr r0, [sp, #0xc] ldrb r0, [r0, #0x0] @@ -9005,21 +9879,23 @@ _020057BC: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r3, #0 - lsl r0, r7, #0 - lsl r4, r3, #0x1 - lsl r6, r3, #0x2 - lsl r0, r5, #0x3 - lsl r6, r6, #0x4 - lsl r6, r3, #0x5 - lsl r2, r4, #0x6 - lsl r2, r2, #0x7 - lsl r0, r0, #0x8 - lsl r4, r6, #0x8 - lsl r4, r4, #0x9 - lsl r4, r1, #0xa - lsl r4, r7, #0xa - lsl r2, r6, #0xb +_020057C8: ; jump table (using 16-bit offset) + .short _020057E6 - _020057C8 - 2; case 0 + .short _02005802 - _020057C8 - 2; case 1 + .short _02005826 - _020057C8 - 2; case 2 + .short _02005868 - _020057C8 - 2; case 3 + .short _020058B2 - _020057C8 - 2; case 4 + .short _02005900 - _020057C8 - 2; case 5 + .short _02005928 - _020057C8 - 2; case 6 + .short _0200596C - _020057C8 - 2; case 7 + .short _0200599C - _020057C8 - 2; case 8 + .short _020059CA - _020057C8 - 2; case 9 + .short _020059FE - _020057C8 - 2; case 10 + .short _02005A2E - _020057C8 - 2; case 11 + .short _02005A56 - _020057C8 - 2; case 12 + .short _02005A86 - _020057C8 - 2; case 13 + .short _02005ABC - _020057C8 - 2; case 14 +_020057E6: add r0, r4, #0x0 bl FUN_02005578 ldr r1, _02005AB8 ; =0x0000FFFF @@ -9032,55 +9908,298 @@ _020057BC: bl FUN_02005AC8 b _02005AC2 _02005802: - .byte 0x20, 0x1C, 0xFF, 0xF7, 0xB8, 0xFE, 0xAB, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7 - .byte 0x9D, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x56, 0xF9, 0x14, 0x20, 0x39, 0x1C - .byte 0x00, 0xF0, 0x5E, 0xF9, 0x4D, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0xA6, 0xFE, 0xA2, 0x49, 0x01, 0x20 - .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x44, 0xF9 - .byte 0x9D, 0x49, 0x01, 0x20, 0x40, 0x22, 0xFF, 0xF7, 0x6B, 0xFA, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0 - .byte 0xBB, 0xF9, 0x99, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x78, 0xFA, 0x06, 0x9A, 0x20, 0x1C - .byte 0x08, 0x21, 0x00, 0xF0, 0x31, 0xF9, 0x2C, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x92, 0x49 - .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x6A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0 - .byte 0x23, 0xF9, 0x1E, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x2B, 0xF9, 0x8B, 0x49, 0x01, 0x20, 0xC0, 0x22 - .byte 0xFF, 0xF7, 0x46, 0xFA, 0x20, 0x1C, 0x10, 0x21, 0x00, 0xF0, 0x96, 0xF9, 0x86, 0x49, 0x08, 0x20 - .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0x0C, 0xF9 - .byte 0x07, 0xE1, 0x0E, 0x20, 0xFF, 0xF7, 0x66, 0xF8, 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23 - .byte 0x00, 0x97, 0xFF, 0xF7, 0x35, 0xF9, 0x07, 0x99, 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7 - .byte 0xFD, 0xF8, 0x0F, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x03, 0xF9, 0x86, 0x21, 0x0E, 0x20, 0x09, 0x02 - .byte 0xFF, 0xF7, 0x00, 0xF9, 0x3F, 0x21, 0x06, 0x9A, 0x07, 0x9B, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x97 - .byte 0x00, 0xF0, 0x82, 0xF9, 0x86, 0x21, 0x0F, 0x20, 0x09, 0x02, 0xFF, 0xF7, 0xF3, 0xF8, 0xE0, 0xE0 - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x39, 0xFE, 0x6C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x1E, 0xFA - .byte 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0xD7, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x66, 0x49 - .byte 0xE1, 0x3A, 0xFF, 0xF7, 0xFD, 0xF9, 0xCC, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x25, 0xFE, 0x62, 0x49 - .byte 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x0A, 0xFA, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0 - .byte 0xC3, 0xF8, 0x5D, 0x49, 0x01, 0x20, 0x2C, 0x22, 0xFF, 0xF7, 0xEA, 0xF9, 0x3F, 0x21, 0x20, 0x1C - .byte 0xC9, 0x43, 0x00, 0xF0, 0x39, 0xF9, 0x58, 0x49, 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xF6, 0xF9 - .byte 0x06, 0x9A, 0x20, 0x1C, 0x08, 0x21, 0x00, 0xF0, 0xAF, 0xF8, 0xAA, 0xE0, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0x03, 0xFE, 0x51, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x1C, 0x01, 0x21 - .byte 0x32, 0x1C, 0x00, 0xF0, 0xA1, 0xF8, 0x0B, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0xA9, 0xF8, 0x01, 0x20 - .byte 0x02, 0x1C, 0x49, 0x49, 0x81, 0x3A, 0xFF, 0xF7, 0xC3, 0xF9, 0x92, 0xE0, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0xEB, 0xFD, 0x45, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0xD0, 0xF9, 0x20, 0x1C, 0x01, 0x21 - .byte 0x32, 0x1C, 0x00, 0xF0, 0x89, 0xF8, 0x3C, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x91, 0xF8, 0x3E, 0x49 - .byte 0x01, 0x20, 0x3C, 0x22, 0xFF, 0xF7, 0xAC, 0xF9, 0x7B, 0xE0, 0x0E, 0x20, 0xFE, 0xF7, 0xDA, 0xFF - .byte 0x07, 0x9A, 0x20, 0x1C, 0x31, 0x1C, 0x0E, 0x23, 0x00, 0x97, 0xFF, 0xF7, 0xA9, 0xF8, 0x07, 0x99 - .byte 0x0E, 0x20, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0x71, 0xF8, 0x0D, 0x20, 0x39, 0x1C, 0x00, 0xF0 - .byte 0x77, 0xF8, 0x1A, 0x21, 0x0E, 0x20, 0x89, 0x02, 0xFF, 0xF7, 0x74, 0xF8, 0x61, 0xE0, 0x20, 0x1C - .byte 0xFF, 0xF7, 0xBA, 0xFD, 0x2C, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x9F, 0xF9, 0x20, 0x1C - .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x58, 0xF8, 0x64, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x60, 0xF8 - .byte 0x01, 0x20, 0x02, 0x1C, 0x24, 0x49, 0x2D, 0x3A, 0xFF, 0xF7, 0x7A, 0xF9, 0x49, 0xE0, 0x20, 0x1C - .byte 0xFF, 0xF7, 0xA2, 0xFD, 0x20, 0x49, 0x01, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x87, 0xF9, 0x20, 0x1C - .byte 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x40, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x1A, 0x49, 0x61, 0x3A - .byte 0xFF, 0xF7, 0x66, 0xF9, 0x35, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x8E, 0xFD, 0x16, 0x49, 0x01, 0x20 - .byte 0x2A, 0x1C, 0xFF, 0xF7, 0x73, 0xF9, 0x20, 0x1C, 0x01, 0x21, 0x32, 0x1C, 0x00, 0xF0, 0x2C, 0xF8 - .byte 0x14, 0x20, 0x39, 0x1C, 0x00, 0xF0, 0x34, 0xF8, 0x01, 0x20, 0x02, 0x1C, 0x0E, 0x49, 0x61, 0x3A - .byte 0xFF, 0xF7, 0x4E, 0xF9, 0x1D, 0xE0, 0x20, 0x1C, 0xFF, 0xF7, 0x76, 0xFD, 0x20, 0x1C, 0x01, 0x21 - .byte 0x7F, 0x22, 0x00, 0xF0, 0x19, 0xF8, 0x20, 0x1C, 0x14, 0x21, 0x00, 0xF0, 0x95, 0xF8, 0x06, 0x49 - .byte 0x08, 0x20, 0x2A, 0x1C, 0xFF, 0xF7, 0x52, 0xF9, 0x08, 0x20, 0x31, 0x1C, 0x00, 0x22, 0xFE, 0xF7 - .byte 0xBB, 0xFE, 0x06, 0xE0 + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x14 + add r1, r7, #0x0 + bl FUN_02005AE0 + b _02005AC2 +_02005826: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + mov r2, #0x40 + bl FUN_02004D20 + add r0, r4, #0x0 + mov r1, #0x14 + bl FUN_02005BC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x8 + add r2, r5, #0x0 + bl FUN_02004D4C + ldr r2, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02005AC8 + b _02005AC2 +_02005868: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x1e + add r1, r7, #0x0 + bl FUN_02005AE0 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + mov r2, #0xc0 + bl FUN_02004D20 + add r0, r4, #0x0 + mov r1, #0x10 + bl FUN_02005BC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x8 + add r2, r5, #0x0 + bl FUN_02004D4C + ldr r2, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02005AC8 + b _02005AC2 +_020058B2: + mov r0, #0xe + bl FUN_02004984 + ldr r2, [sp, #0x1c] + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0xe + str r7, [sp, #0x0] + bl FUN_02004B30 + ldr r1, [sp, #0x1c] + mov r0, #0xe + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FUN_02004ACC + mov r0, #0xf + add r1, r7, #0x0 + bl FUN_02005AE0 + mov r1, #0x86 + mov r0, #0xe + lsl r1, r1, #0x8 + bl FUN_02004AE4 + mov r1, #0x3f + ldr r2, [sp, #0x18] + ldr r3, [sp, #0x1c] + add r0, r4, #0x0 + mvn r1, r1 + str r7, [sp, #0x0] + bl FUN_02005BF8 + mov r1, #0x86 + mov r0, #0xf + lsl r1, r1, #0x8 + bl FUN_02004AE4 + b _02005AC2 +_02005900: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x1 + add r2, r0, #0x0 + ldr r1, _02005AB8 ; =0x0000FFFF + sub r2, #0xe1 + bl FUN_02004D20 + b _02005AC2 +_02005928: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + mov r2, #0x2c + bl FUN_02004D20 + mov r1, #0x3f + add r0, r4, #0x0 + mvn r1, r1 + bl FUN_02005BC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x8 + add r2, r5, #0x0 + bl FUN_02004D4C + ldr r2, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02005AC8 + b _02005AC2 +_0200596C: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0xb + add r1, r7, #0x0 + bl FUN_02005AE0 + mov r0, #0x1 + add r2, r0, #0x0 + ldr r1, _02005AB8 ; =0x0000FFFF + sub r2, #0x81 + bl FUN_02004D20 + b _02005AC2 +_0200599C: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x3c + add r1, r7, #0x0 + bl FUN_02005AE0 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + mov r2, #0x3c + bl FUN_02004D20 + b _02005AC2 +_020059CA: + mov r0, #0xe + bl FUN_02004984 + ldr r2, [sp, #0x1c] + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0xe + str r7, [sp, #0x0] + bl FUN_02004B30 + ldr r1, [sp, #0x1c] + mov r0, #0xe + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FUN_02004ACC + mov r0, #0xd + add r1, r7, #0x0 + bl FUN_02005AE0 + mov r1, #0x1a + mov r0, #0xe + lsl r1, r1, #0xa + bl FUN_02004AE4 + b _02005AC2 +_020059FE: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x64 + add r1, r7, #0x0 + bl FUN_02005AE0 + mov r0, #0x1 + add r2, r0, #0x0 + ldr r1, _02005AB8 ; =0x0000FFFF + sub r2, #0x2d + bl FUN_02004D20 + b _02005AC2 +_02005A2E: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x1 + add r2, r0, #0x0 + ldr r1, _02005AB8 ; =0x0000FFFF + sub r2, #0x61 + bl FUN_02004D20 + b _02005AC2 +_02005A56: + add r0, r4, #0x0 + bl FUN_02005578 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x1 + add r2, r5, #0x0 + bl FUN_02004D4C + add r0, r4, #0x0 + mov r1, #0x1 + add r2, r6, #0x0 + bl FUN_02005AC8 + mov r0, #0x14 + add r1, r7, #0x0 + bl FUN_02005AE0 + mov r0, #0x1 + add r2, r0, #0x0 + ldr r1, _02005AB8 ; =0x0000FFFF + sub r2, #0x61 + bl FUN_02004D20 + b _02005AC2 +_02005A86: + add r0, r4, #0x0 + bl FUN_02005578 + add r0, r4, #0x0 + mov r1, #0x1 + mov r2, #0x7f + bl FUN_02005AC8 + add r0, r4, #0x0 + mov r1, #0x14 + bl FUN_02005BC8 + ldr r1, _02005AB8 ; =0x0000FFFF + mov r0, #0x8 + add r2, r5, #0x0 + bl FUN_02004D4C + mov r0, #0x8 + add r1, r6, #0x0 + mov r2, #0x0 + bl FUN_02004828 + b _02005AC2 + .balign 4 _02005AB4: .word 0x000001B9 _02005AB8: .word 0x0000FFFF _02005ABC: - .byte 0x20, 0x1C, 0xFF, 0xF7 - .byte 0x5B, 0xFD + add r0, r4, #0x0 + bl FUN_02005578 _02005AC2: mov r0, #0x1 add sp, #0x20 @@ -10142,10 +11261,12 @@ FUN_02006290: ; 0x02006290 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r3, #0 - lsl r2, r6, #0 - lsl r0, r1, #0x1 +_020062A6: ; jump table (using 16-bit offset) + .short _020062AE - _020062A6 - 2; case 0 + .short _020062C2 - _020062A6 - 2; case 1 + .short _020062DA - _020062A6 - 2; case 2 + .short _020062F0 - _020062A6 - 2; case 3 +_020062AE: mov r1, #0x0 ldr r0, [r4, #0xc] mvn r1, r1 @@ -10156,6 +11277,7 @@ FUN_02006290: ; 0x02006290 _020062BE: mov r0, #0x1 str r0, [r4, #0x10] +_020062C2: add r1, r4, #0x0 ldr r2, [r4, #0x0] add r0, r4, #0x0 @@ -10169,10 +11291,33 @@ _020062BE: str r0, [r4, #0x14] b _0200630E _020062DA: - .byte 0x21, 0x1C, 0x62, 0x68, 0x14, 0x31 - .byte 0x90, 0x47, 0x01, 0x28, 0x13, 0xD1, 0x03, 0x20, 0x20, 0x61, 0x00, 0x20, 0x60, 0x61, 0x0E, 0xE0 - .byte 0x21, 0x1C, 0xA2, 0x68, 0x14, 0x31, 0x90, 0x47, 0x01, 0x28, 0x08, 0xD1, 0x00, 0x21, 0xE0, 0x68 - .byte 0xC9, 0x43, 0x88, 0x42, 0x01, 0xD0, 0xFF, 0xF7, 0x2B, 0xFE, 0x01, 0x20, 0x10, 0xBD + add r1, r4, #0x0 + ldr r2, [r4, #0x4] + add r1, #0x14 + blx r2 + cmp r0, #0x1 + bne _0200630E + mov r0, #0x3 + str r0, [r4, #0x10] + mov r0, #0x0 + str r0, [r4, #0x14] + b _0200630E +_020062F0: + add r1, r4, #0x0 + ldr r2, [r4, #0x8] + add r1, #0x14 + blx r2 + cmp r0, #0x1 + bne _0200630E + mov r1, #0x0 + ldr r0, [r4, #0xc] + mvn r1, r1 + cmp r0, r1 + beq _0200630A + bl FUN_02005F60 +_0200630A: + mov r0, #0x1 + pop {r4, pc} _0200630E: mov r0, #0x0 pop {r4, pc} @@ -10988,14 +12133,16 @@ _02006982: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r1, #0 - lsl r2, r0, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r0, r5, #0 - lsl r4, r3, #0x1 +_0200699C: ; jump table (using 16-bit offset) + .short _02006A14 - _0200699C - 2; case 0 + .short _02006A14 - _0200699C - 2; case 1 + .short _020069AC - _0200699C - 2; case 2 + .short _020069E0 - _0200699C - 2; case 3 + .short _02006A14 - _0200699C - 2; case 4 + .short _02006A14 - _0200699C - 2; case 5 + .short _020069C6 - _0200699C - 2; case 6 + .short _020069FA - _0200699C - 2; case 7 +_020069AC: blx FUN_020C8B10 ldr r0, [sp, #0x8] ldr r3, _02006A30 ; =0x020ECBB0 @@ -11008,12 +12155,41 @@ _02006982: blx FUN_020C8A2C b _02006A24 _020069C6: - .byte 0xC1, 0xF0, 0x82, 0xEF, 0x02, 0x98, 0x18, 0x4B, 0xA4, 0x00 - .byte 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x18, 0xEF, 0x21, 0xE0 - .byte 0xC1, 0xF0, 0xEC, 0xEF, 0x02, 0x98, 0x12, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C - .byte 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0, 0x7C, 0xEF, 0x14, 0xE0, 0xC1, 0xF0, 0xF6, 0xEE, 0x02, 0x98 - .byte 0x0B, 0x4B, 0xA4, 0x00, 0xC0, 0x68, 0x1B, 0x59, 0x31, 0x1C, 0x2A, 0x1C, 0x98, 0x47, 0xC1, 0xF0 - .byte 0x8C, 0xEE, 0x07, 0xE0 + blx FUN_020C88CC + ldr r0, [sp, #0x8] + ldr r3, _02006A30 ; =0x020ECBB0 + lsl r4, r4, #0x2 + ldr r0, [r0, #0xc] + ldr r3, [r3, r4] + add r1, r6, #0x0 + add r2, r5, #0x0 + blx r3 + blx FUN_020C880C + b _02006A24 +_020069E0: + blx FUN_020C89BC + ldr r0, [sp, #0x8] + ldr r3, _02006A30 ; =0x020ECBB0 + lsl r4, r4, #0x2 + ldr r0, [r0, #0xc] + ldr r3, [r3, r4] + add r1, r6, #0x0 + add r2, r5, #0x0 + blx r3 + blx FUN_020C88F0 + b _02006A24 +_020069FA: + blx FUN_020C87E8 + ldr r0, [sp, #0x8] + ldr r3, _02006A30 ; =0x020ECBB0 + lsl r4, r4, #0x2 + ldr r0, [r0, #0xc] + ldr r3, [r3, r4] + add r1, r6, #0x0 + add r2, r5, #0x0 + blx r3 + blx FUN_020C8728 + b _02006A24 _02006A14: ldr r0, [sp, #0x8] ldr r3, _02006A30 ; =0x020ECBB0 @@ -12494,99 +13670,397 @@ _0200755E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r3, #0x1 - lsl r0, r4, #0x1 - lsl r4, r4, #0x1 - lsl r0, r5, #0x1 - lsl r4, r5, #0x1 - lsl r0, r6, #0x1 - lsl r4, r6, #0x1 - lsl r4, r0, #0x2 - lsl r0, r1, #0x2 - lsl r4, r1, #0x2 - lsl r0, r2, #0x2 - lsl r6, r2, #0x2 - lsl r4, r3, #0x2 - lsl r0, r4, #0x2 - lsl r4, r4, #0x2 - lsl r4, r6, #0x2 - lsl r2, r7, #0x2 - lsl r0, r0, #0x3 - lsl r6, r0, #0x3 - lsl r4, r1, #0x3 - lsl r2, r2, #0x3 - lsl r0, r3, #0x3 - lsl r6, r3, #0x3 - lsl r4, r4, #0x3 - lsl r4, r6, #0x3 - lsl r4, r0, #0x4 - lsl r4, r2, #0x4 - lsl r4, r4, #0x4 - lsl r4, r6, #0x4 - lsl r4, r0, #0x5 - lsl r4, r2, #0x5 - lsl r6, r5, #0x5 - lsl r4, r7, #0x5 - lsl r6, r1, #0x6 - lsl r0, r4, #0x6 - lsl r6, r4, #0x6 - lsl r6, r7, #0x6 - lsl r6, r2, #0x7 - lsl r6, r4, #0x7 - lsl r4, r2, #0xa - lsl r4, r5, #0x7 - lsl r4, r0, #0x8 - lsl r2, r1, #0x8 - lsl r6, r5, #0x8 - lsl r0, r1, #0x9 - lsl r2, r4, #0x9 - lsl r4, r7, #0x9 +_0200756A: ; jump table (using 16-bit offset) + .short _020075C8 - _0200756A - 2; case 0 + .short _020075CC - _0200756A - 2; case 1 + .short _020075D0 - _0200756A - 2; case 2 + .short _020075D4 - _0200756A - 2; case 3 + .short _020075D8 - _0200756A - 2; case 4 + .short _020075DC - _0200756A - 2; case 5 + .short _020075E0 - _0200756A - 2; case 6 + .short _020075F0 - _0200756A - 2; case 7 + .short _020075F4 - _0200756A - 2; case 8 + .short _020075F8 - _0200756A - 2; case 9 + .short _020075FC - _0200756A - 2; case 10 + .short _02007602 - _0200756A - 2; case 11 + .short _02007608 - _0200756A - 2; case 12 + .short _0200760C - _0200756A - 2; case 13 + .short _02007610 - _0200756A - 2; case 14 + .short _02007620 - _0200756A - 2; case 15 + .short _02007626 - _0200756A - 2; case 16 + .short _0200762C - _0200756A - 2; case 17 + .short _02007632 - _0200756A - 2; case 18 + .short _02007638 - _0200756A - 2; case 19 + .short _0200763E - _0200756A - 2; case 20 + .short _02007644 - _0200756A - 2; case 21 + .short _0200764A - _0200756A - 2; case 22 + .short _02007650 - _0200756A - 2; case 23 + .short _02007660 - _0200756A - 2; case 24 + .short _02007670 - _0200756A - 2; case 25 + .short _02007680 - _0200756A - 2; case 26 + .short _02007690 - _0200756A - 2; case 27 + .short _020076A0 - _0200756A - 2; case 28 + .short _020076B0 - _0200756A - 2; case 29 + .short _020076C0 - _0200756A - 2; case 30 + .short _020076DA - _0200756A - 2; case 31 + .short _020076E8 - _0200756A - 2; case 32 + .short _020076FA - _0200756A - 2; case 33 + .short _0200770C - _0200756A - 2; case 34 + .short _02007712 - _0200756A - 2; case 35 + .short _0200772A - _0200756A - 2; case 36 + .short _02007742 - _0200756A - 2; case 37 + .short _02007752 - _0200756A - 2; case 38 + .short _02007800 - _0200756A - 2; case 39 + .short _02007758 - _0200756A - 2; case 40 + .short _02007770 - _0200756A - 2; case 41 + .short _02007776 - _0200756A - 2; case 42 + .short _0200779A - _0200756A - 2; case 43 + .short _020077B4 - _0200756A - 2; case 44 + .short _020077CE - _0200756A - 2; case 45 + .short _020077E8 - _0200756A - 2; case 46 +_020075C8: strh r2, [r0, #0x24] bx lr _020075CC: - .byte 0xC2, 0x84, 0x70, 0x47 - .byte 0x82, 0x62, 0x70, 0x47, 0x82, 0x85, 0x70, 0x47, 0xC2, 0x85, 0x70, 0x47, 0x02, 0x63, 0x70, 0x47 - .byte 0x43, 0x6D, 0x01, 0x21, 0x8B, 0x43, 0x01, 0x21, 0x11, 0x40, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 - .byte 0x02, 0x87, 0x70, 0x47, 0x42, 0x87, 0x70, 0x47, 0x82, 0x87, 0x70, 0x47, 0x40, 0x30, 0x02, 0x80 - .byte 0x70, 0x47, 0x42, 0x30, 0x02, 0x80, 0x70, 0x47, 0x82, 0x86, 0x70, 0x47, 0xC2, 0x86, 0x70, 0x47 - .byte 0x43, 0x6D, 0x02, 0x21, 0x8B, 0x43, 0xD1, 0x07, 0x89, 0x0F, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 - .byte 0x44, 0x30, 0x02, 0x70, 0x70, 0x47, 0x45, 0x30, 0x02, 0x70, 0x70, 0x47, 0x46, 0x30, 0x02, 0x70 - .byte 0x70, 0x47, 0x47, 0x30, 0x02, 0x70, 0x70, 0x47, 0x70, 0x30, 0x02, 0x80, 0x70, 0x47, 0x72, 0x30 - .byte 0x02, 0x80, 0x70, 0x47, 0x74, 0x30, 0x02, 0x80, 0x70, 0x47, 0x76, 0x30, 0x02, 0x80, 0x70, 0x47 - .byte 0x43, 0x6D, 0x7C, 0x21, 0x8B, 0x43, 0xD1, 0x06, 0x49, 0x0E, 0x19, 0x43, 0x41, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x1F, 0x21, 0x8B, 0x43, 0x1F, 0x21, 0x11, 0x40, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x64, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x0D, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x61, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x49, 0x0C, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x5E, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x09, 0x0B, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x5B, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0xC9, 0x09, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x03, 0x6D, 0x58, 0x49, 0x0B, 0x40, 0xD1, 0x06, 0x89, 0x08, 0x19, 0x43, 0x01, 0x65, 0x70, 0x47 - .byte 0x43, 0x6D, 0x55, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0xC9, 0x0C, 0x19, 0x43, 0x41, 0x65, 0x01, 0x21 - .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0xC2, 0x64, 0x01, 0x21, 0x02, 0x68 - .byte 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x48, 0x31, 0x0A, 0x70, 0x01, 0x21 - .byte 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x49, 0x31, 0x0A, 0x70 - .byte 0x01, 0x21, 0x02, 0x68, 0x09, 0x02, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x4A, 0x30, 0x02, 0x70 - .byte 0x70, 0x47, 0x43, 0x6D, 0x41, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x89, 0x0D, 0x19, 0x43, 0x41, 0x65 - .byte 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x43, 0x6D, 0x3C, 0x49, 0x0B, 0x40 - .byte 0xD1, 0x07, 0x49, 0x0D, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60 - .byte 0x70, 0x47, 0x43, 0x6D, 0x37, 0x49, 0x0B, 0x40, 0xD1, 0x07, 0x09, 0x0D, 0x19, 0x43, 0x41, 0x65 - .byte 0x70, 0x47, 0x5B, 0x30, 0x02, 0x70, 0x70, 0x47, 0x43, 0x6D, 0x33, 0x49, 0x0B, 0x40, 0x11, 0x07 - .byte 0xC9, 0x0B, 0x19, 0x43, 0x41, 0x65, 0x02, 0x68, 0x80, 0x21, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47 - .byte 0x6E, 0x30, 0x02, 0x70, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x03, 0x21, 0x8B, 0x43 - .byte 0x11, 0x04, 0x09, 0x0C, 0x03, 0x22, 0x11, 0x40, 0x0B, 0x43, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x80 - .byte 0x01, 0x68, 0xFD, 0x32, 0x11, 0x43, 0x01, 0x60, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88 - .byte 0x04, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x49, 0x0F, 0x19, 0x43 - .byte 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x08, 0x21, 0x6C, 0x30, 0x8B, 0x43 - .byte 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07, 0x09, 0x0F, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C - .byte 0x6C, 0x31, 0x0B, 0x88, 0x10, 0x21, 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0xC9, 0x07 - .byte 0xC9, 0x0E, 0x19, 0x43, 0x01, 0x80, 0x70, 0x47, 0x01, 0x1C, 0x6C, 0x31, 0x0B, 0x88, 0x60, 0x21 - .byte 0x6C, 0x30, 0x8B, 0x43, 0x11, 0x04, 0x09, 0x0C, 0x89, 0x07, 0x49, 0x0E, 0x19, 0x43, 0x01, 0x80 + strh r2, [r0, #0x26] + bx lr +_020075D0: + str r2, [r0, #0x28] + bx lr +_020075D4: + strh r2, [r0, #0x2c] + bx lr +_020075D8: + strh r2, [r0, #0x2e] + bx lr +_020075DC: + str r2, [r0, #0x30] + bx lr +_020075E0: + ldr r3, [r0, #0x54] + mov r1, #0x1 + bic r3, r1 + mov r1, #0x1 + and r1, r2 + orr r1, r3 + str r1, [r0, #0x54] + bx lr +_020075F0: + strh r2, [r0, #0x38] + bx lr +_020075F4: + strh r2, [r0, #0x3a] + bx lr +_020075F8: + strh r2, [r0, #0x3c] + bx lr +_020075FC: + add r0, #0x40 + strh r2, [r0, #0x0] + bx lr +_02007602: + add r0, #0x42 + strh r2, [r0, #0x0] + bx lr +_02007608: + strh r2, [r0, #0x34] + bx lr +_0200760C: + strh r2, [r0, #0x36] + bx lr +_02007610: + ldr r3, [r0, #0x54] + mov r1, #0x2 + bic r3, r1 + lsl r1, r2, #0x1f + lsr r1, r1, #0x1e + orr r1, r3 + str r1, [r0, #0x54] + bx lr +_02007620: + add r0, #0x44 + strb r2, [r0, #0x0] + bx lr +_02007626: + add r0, #0x45 + strb r2, [r0, #0x0] + bx lr +_0200762C: + add r0, #0x46 + strb r2, [r0, #0x0] + bx lr +_02007632: + add r0, #0x47 + strb r2, [r0, #0x0] + bx lr +_02007638: + add r0, #0x70 + strh r2, [r0, #0x0] + bx lr +_0200763E: + add r0, #0x72 + strh r2, [r0, #0x0] + bx lr +_02007644: + add r0, #0x74 + strh r2, [r0, #0x0] + bx lr +_0200764A: + add r0, #0x76 + strh r2, [r0, #0x0] + bx lr +_02007650: + ldr r3, [r0, #0x54] + mov r1, #0x7c + bic r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0x19 + orr r1, r3 + str r1, [r0, #0x54] + bx lr +_02007660: + ldr r3, [r0, #0x50] + mov r1, #0x1f + bic r3, r1 + mov r1, #0x1f + and r1, r2 + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_02007670: + ldr r3, [r0, #0x50] + ldr r1, _02007804 ; =0xFFFFFC1F + and r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0x16 + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_02007680: + ldr r3, [r0, #0x50] + ldr r1, _02007808 ; =0xFFFF83FF + and r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0x11 + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_02007690: + ldr r3, [r0, #0x50] + ldr r1, _0200780C ; =0xFFF07FFF + and r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0xc + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_020076A0: + ldr r3, [r0, #0x50] + ldr r1, _02007810 ; =0xFE0FFFFF + and r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0x7 + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_020076B0: + ldr r3, [r0, #0x50] + ldr r1, _02007814 ; =0xC1FFFFFF + and r3, r1 + lsl r1, r2, #0x1b + lsr r1, r1, #0x2 + orr r1, r3 + str r1, [r0, #0x50] + bx lr +_020076C0: + ldr r3, [r0, #0x54] + ldr r1, _02007818 ; =0xFFFFEFFF + and r3, r1 + lsl r1, r2, #0x1f + lsr r1, r1, #0x13 + orr r1, r3 + str r1, [r0, #0x54] + mov r1, #0x1 + ldr r2, [r0, #0x0] + lsl r1, r1, #0x8 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_020076DA: + str r2, [r0, #0x4c] + mov r1, #0x1 + ldr r2, [r0, #0x0] + lsl r1, r1, #0x8 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_020076E8: + add r1, r0, #0x0 + add r1, #0x48 + strb r2, [r1, #0x0] + mov r1, #0x1 + ldr r2, [r0, #0x0] + lsl r1, r1, #0x8 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_020076FA: + add r1, r0, #0x0 + add r1, #0x49 + strb r2, [r1, #0x0] + mov r1, #0x1 + ldr r2, [r0, #0x0] + lsl r1, r1, #0x8 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_0200770C: + add r0, #0x4a + strb r2, [r0, #0x0] + bx lr +_02007712: + ldr r3, [r0, #0x54] + ldr r1, _0200781C ; =0xFFFFFDFF + and r3, r1 + lsl r1, r2, #0x1f + lsr r1, r1, #0x16 + orr r1, r3 + str r1, [r0, #0x54] + ldr r2, [r0, #0x0] + mov r1, #0x80 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_0200772A: + ldr r3, [r0, #0x54] + ldr r1, _02007820 ; =0xFFFFFBFF + and r3, r1 + lsl r1, r2, #0x1f + lsr r1, r1, #0x15 + orr r1, r3 + str r1, [r0, #0x54] + ldr r2, [r0, #0x0] + mov r1, #0x80 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_02007742: + ldr r3, [r0, #0x54] + ldr r1, _02007824 ; =0xFFFFF7FF + and r3, r1 + lsl r1, r2, #0x1f + lsr r1, r1, #0x14 + orr r1, r3 + str r1, [r0, #0x54] + bx lr +_02007752: + add r0, #0x5b + strb r2, [r0, #0x0] + bx lr +_02007758: + ldr r3, [r0, #0x54] + ldr r1, _02007828 ; =0xFFFE1FFF + and r3, r1 + lsl r1, r2, #0x1c + lsr r1, r1, #0xf + orr r1, r3 + str r1, [r0, #0x54] + ldr r2, [r0, #0x0] + mov r1, #0x80 + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_02007770: + add r0, #0x6e + strb r2, [r0, #0x0] + bx lr +_02007776: + add r1, r0, #0x0 + add r1, #0x6c + ldrh r3, [r1, #0x0] + mov r1, #0x3 + bic r3, r1 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x3 + and r1, r2 + orr r3, r1 + add r1, r0, #0x0 + add r1, #0x6c + strh r3, [r1, #0x0] + ldr r1, [r0, #0x0] + add r2, #0xfd + orr r1, r2 + str r1, [r0, #0x0] + bx lr +_0200779A: + add r1, r0, #0x0 + add r1, #0x6c + ldrh r3, [r1, #0x0] + mov r1, #0x4 + add r0, #0x6c + bic r3, r1 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1d + orr r1, r3 + strh r1, [r0, #0x0] + bx lr +_020077B4: + add r1, r0, #0x0 + add r1, #0x6c + ldrh r3, [r1, #0x0] + mov r1, #0x8 + add r0, #0x6c + bic r3, r1 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1c + orr r1, r3 + strh r1, [r0, #0x0] + bx lr +_020077CE: + add r1, r0, #0x0 + add r1, #0x6c + ldrh r3, [r1, #0x0] + mov r1, #0x10 + add r0, #0x6c + bic r3, r1 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1f + lsr r1, r1, #0x1b + orr r1, r3 + strh r1, [r0, #0x0] + bx lr +_020077E8: + add r1, r0, #0x0 + add r1, #0x6c + ldrh r3, [r1, #0x0] + mov r1, #0x60 + add r0, #0x6c + bic r3, r1 + lsl r1, r2, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1e + lsr r1, r1, #0x19 + orr r1, r3 + strh r1, [r0, #0x0] _02007800: bx lr nop -_02007804: - .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF - .byte 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFF, 0xFF - .byte 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF +_02007804: .word 0xFFFFFC1F +_02007808: .word 0xFFFF83FF +_0200780C: .word 0xFFF07FFF +_02007810: .word 0xFE0FFFFF +_02007814: .word 0xC1FFFFFF +_02007818: .word 0xFFFFEFFF +_0200781C: .word 0xFFFFFDFF +_02007820: .word 0xFFFFFBFF +_02007824: .word 0xFFFFF7FF +_02007828: .word 0xFFFE1FFF thumb_func_start FUN_0200782C FUN_0200782C: ; 0x0200782C @@ -12601,77 +14075,256 @@ _02007834: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r3, #0x1 - lsl r2, r4, #0x1 - lsl r0, r5, #0x1 - lsl r4, r5, #0x1 - lsl r2, r6, #0x1 - lsl r0, r7, #0x1 - lsl r4, r7, #0x1 - lsl r4, r0, #0x2 - lsl r0, r1, #0x2 - lsl r4, r1, #0x2 - lsl r0, r2, #0x2 - lsl r6, r2, #0x2 - lsl r4, r3, #0x2 - lsl r2, r4, #0x2 - lsl r0, r5, #0x2 - lsl r0, r6, #0x2 - lsl r6, r6, #0x2 - lsl r4, r7, #0x2 - lsl r2, r0, #0x3 - lsl r0, r1, #0x3 - lsl r6, r1, #0x3 - lsl r4, r2, #0x3 - lsl r2, r3, #0x3 - lsl r0, r4, #0x3 - lsl r0, r5, #0x3 - lsl r0, r6, #0x3 - lsl r0, r7, #0x3 - lsl r0, r0, #0x4 - lsl r0, r1, #0x4 - lsl r0, r2, #0x4 - lsl r0, r3, #0x4 - lsl r0, r4, #0x4 - lsl r4, r4, #0x4 - lsl r2, r5, #0x4 - lsl r0, r6, #0x4 - lsl r6, r6, #0x4 - lsl r6, r7, #0x4 - lsl r6, r0, #0x5 - lsl r6, r1, #0x5 - lsl r4, r2, #0x6 - lsl r4, r2, #0x5 - lsl r4, r3, #0x5 - lsl r2, r4, #0x5 - lsl r4, r5, #0x5 - lsl r6, r6, #0x5 - lsl r0, r0, #0x6 - lsl r2, r1, #0x6 +_02007840: ; jump table (using 16-bit offset) + .short _0200789E - _02007840 - 2; case 0 + .short _020078A4 - _02007840 - 2; case 1 + .short _020078AA - _02007840 - 2; case 2 + .short _020078AE - _02007840 - 2; case 3 + .short _020078B4 - _02007840 - 2; case 4 + .short _020078BA - _02007840 - 2; case 5 + .short _020078BE - _02007840 - 2; case 6 + .short _020078C6 - _02007840 - 2; case 7 + .short _020078CA - _02007840 - 2; case 8 + .short _020078CE - _02007840 - 2; case 9 + .short _020078D2 - _02007840 - 2; case 10 + .short _020078D8 - _02007840 - 2; case 11 + .short _020078DE - _02007840 - 2; case 12 + .short _020078E4 - _02007840 - 2; case 13 + .short _020078EA - _02007840 - 2; case 14 + .short _020078F2 - _02007840 - 2; case 15 + .short _020078F8 - _02007840 - 2; case 16 + .short _020078FE - _02007840 - 2; case 17 + .short _02007904 - _02007840 - 2; case 18 + .short _0200790A - _02007840 - 2; case 19 + .short _02007910 - _02007840 - 2; case 20 + .short _02007916 - _02007840 - 2; case 21 + .short _0200791C - _02007840 - 2; case 22 + .short _02007922 - _02007840 - 2; case 23 + .short _0200792A - _02007840 - 2; case 24 + .short _02007932 - _02007840 - 2; case 25 + .short _0200793A - _02007840 - 2; case 26 + .short _02007942 - _02007840 - 2; case 27 + .short _0200794A - _02007840 - 2; case 28 + .short _02007952 - _02007840 - 2; case 29 + .short _0200795A - _02007840 - 2; case 30 + .short _02007962 - _02007840 - 2; case 31 + .short _02007966 - _02007840 - 2; case 32 + .short _0200796C - _02007840 - 2; case 33 + .short _02007972 - _02007840 - 2; case 34 + .short _02007978 - _02007840 - 2; case 35 + .short _02007980 - _02007840 - 2; case 36 + .short _02007988 - _02007840 - 2; case 37 + .short _02007990 - _02007840 - 2; case 38 + .short _020079D6 - _02007840 - 2; case 39 + .short _02007996 - _02007840 - 2; case 40 + .short _0200799E - _02007840 - 2; case 41 + .short _020079A4 - _02007840 - 2; case 42 + .short _020079AE - _02007840 - 2; case 43 + .short _020079B8 - _02007840 - 2; case 44 + .short _020079C2 - _02007840 - 2; case 45 + .short _020079CC - _02007840 - 2; case 46 +_0200789E: mov r1, #0x24 ldrsh r0, [r0, r1] pop {r3, pc} _020078A4: - .byte 0x26, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD, 0x2C, 0x21 - .byte 0x40, 0x5E, 0x08, 0xBD, 0x2E, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x00, 0x6B, 0x08, 0xBD, 0x40, 0x6D - .byte 0xC0, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x8F, 0x08, 0xBD, 0x40, 0x8F, 0x08, 0xBD, 0x80, 0x8F - .byte 0x08, 0xBD, 0x40, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x42, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x34, 0x21 - .byte 0x40, 0x5E, 0x08, 0xBD, 0x36, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x07, 0xC0, 0x0F - .byte 0x08, 0xBD, 0x44, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x45, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x46, 0x30 - .byte 0x00, 0x78, 0x08, 0xBD, 0x47, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x70, 0x21, 0x40, 0x5E, 0x08, 0xBD - .byte 0x72, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x74, 0x21, 0x40, 0x5E, 0x08, 0xBD, 0x76, 0x21, 0x40, 0x5E - .byte 0x08, 0xBD, 0x40, 0x6D, 0x40, 0x06, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x06, 0xC0, 0x0E - .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x05, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0x40, 0x04, 0xC0, 0x0E - .byte 0x08, 0xBD, 0x00, 0x6D, 0x00, 0x03, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x6D, 0xC0, 0x01, 0xC0, 0x0E - .byte 0x08, 0xBD, 0x00, 0x6D, 0x80, 0x00, 0xC0, 0x0E, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x04, 0xC0, 0x0F - .byte 0x08, 0xBD, 0xC0, 0x6C, 0x08, 0xBD, 0x48, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x49, 0x30, 0x00, 0x78 - .byte 0x08, 0xBD, 0x4A, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0x80, 0x05, 0xC0, 0x0F, 0x08, 0xBD - .byte 0x40, 0x6D, 0x40, 0x05, 0xC0, 0x0F, 0x08, 0xBD, 0x40, 0x6D, 0x00, 0x05, 0xC0, 0x0F, 0x08, 0xBD - .byte 0x5B, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x40, 0x6D, 0xC0, 0x03, 0x00, 0x0F, 0x08, 0xBD, 0x6E, 0x21 - .byte 0x40, 0x56, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x80, 0x07, 0x80, 0x0F, 0x08, 0xBD, 0x6C, 0x30 - .byte 0x00, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0x00, 0x07, 0xC0, 0x0F - .byte 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88, 0xC0, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x6C, 0x30, 0x00, 0x88 - .byte 0x40, 0x06, 0x80, 0x0F, 0x08, 0xBD + mov r1, #0x26 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078AA: + ldr r0, [r0, #0x28] + pop {r3, pc} +_020078AE: + mov r1, #0x2c + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078B4: + mov r1, #0x2e + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078BA: + ldr r0, [r0, #0x30] + pop {r3, pc} +_020078BE: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + pop {r3, pc} +_020078C6: + ldrh r0, [r0, #0x38] + pop {r3, pc} +_020078CA: + ldrh r0, [r0, #0x3a] + pop {r3, pc} +_020078CE: + ldrh r0, [r0, #0x3c] + pop {r3, pc} +_020078D2: + mov r1, #0x40 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078D8: + mov r1, #0x42 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078DE: + mov r1, #0x34 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078E4: + mov r1, #0x36 + ldrsh r0, [r0, r1] + pop {r3, pc} +_020078EA: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + pop {r3, pc} +_020078F2: + add r0, #0x44 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_020078F8: + add r0, #0x45 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_020078FE: + add r0, #0x46 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_02007904: + add r0, #0x47 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_0200790A: + mov r1, #0x70 + ldrsh r0, [r0, r1] + pop {r3, pc} +_02007910: + mov r1, #0x72 + ldrsh r0, [r0, r1] + pop {r3, pc} +_02007916: + mov r1, #0x74 + ldrsh r0, [r0, r1] + pop {r3, pc} +_0200791C: + mov r1, #0x76 + ldrsh r0, [r0, r1] + pop {r3, pc} +_02007922: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1b + pop {r3, pc} +_0200792A: + ldr r0, [r0, #0x50] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + pop {r3, pc} +_02007932: + ldr r0, [r0, #0x50] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1b + pop {r3, pc} +_0200793A: + ldr r0, [r0, #0x50] + lsl r0, r0, #0x11 + lsr r0, r0, #0x1b + pop {r3, pc} +_02007942: + ldr r0, [r0, #0x50] + lsl r0, r0, #0xc + lsr r0, r0, #0x1b + pop {r3, pc} +_0200794A: + ldr r0, [r0, #0x50] + lsl r0, r0, #0x7 + lsr r0, r0, #0x1b + pop {r3, pc} +_02007952: + ldr r0, [r0, #0x50] + lsl r0, r0, #0x2 + lsr r0, r0, #0x1b + pop {r3, pc} +_0200795A: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x13 + lsr r0, r0, #0x1f + pop {r3, pc} +_02007962: + ldr r0, [r0, #0x4c] + pop {r3, pc} +_02007966: + add r0, #0x48 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_0200796C: + add r0, #0x49 + ldrb r0, [r0, #0x0] + pop {r3, pc} +_02007972: + add r0, #0x4a + ldrb r0, [r0, #0x0] + pop {r3, pc} +_02007978: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x16 + lsr r0, r0, #0x1f + pop {r3, pc} +_02007980: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x15 + lsr r0, r0, #0x1f + pop {r3, pc} +_02007988: + ldr r0, [r0, #0x54] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1f + pop {r3, pc} +_02007990: + add r0, #0x5b + ldrb r0, [r0, #0x0] + pop {r3, pc} +_02007996: + ldr r0, [r0, #0x54] + lsl r0, r0, #0xf + lsr r0, r0, #0x1c + pop {r3, pc} +_0200799E: + mov r1, #0x6e + ldrsb r0, [r0, r1] + pop {r3, pc} +_020079A4: + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1e + pop {r3, pc} +_020079AE: + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + pop {r3, pc} +_020079B8: + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + pop {r3, pc} +_020079C2: + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + pop {r3, pc} +_020079CC: + add r0, #0x6c + ldrh r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1e + pop {r3, pc} _020079D6: bl FUN_02020C2C mov r0, #0x0 @@ -12693,53 +14346,55 @@ _020079EC: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r3, #0x1 - lsl r0, r5, #0x1 - lsl r4, r6, #0x1 - lsl r6, r7, #0x1 - lsl r2, r1, #0x2 - lsl r6, r2, #0x2 - lsl r0, r4, #0x2 - lsl r2, r7, #0x2 - lsl r4, r0, #0x3 - lsl r6, r1, #0x3 - lsl r0, r3, #0x3 - lsl r6, r4, #0x3 - lsl r4, r6, #0x3 - lsl r0, r0, #0x4 - lsl r4, r1, #0x4 - lsl r6, r4, #0x4 - lsl r6, r6, #0x4 - lsl r6, r0, #0x5 - lsl r6, r2, #0x5 - lsl r6, r4, #0x5 - lsl r4, r6, #0x5 - lsl r2, r0, #0x6 - lsl r0, r2, #0x6 - lsl r6, r3, #0x6 - lsl r0, r7, #0x6 - lsl r2, r2, #0x7 - lsl r2, r5, #0x7 - lsl r2, r0, #0x8 - lsl r2, r3, #0x8 - lsl r2, r6, #0x8 - lsl r2, r1, #0x9 - lsl r4, r5, #0x9 - lsl r0, r0, #0xa - lsl r4, r3, #0xa - lsl r0, r7, #0xa - lsl r0, r1, #0xb - lsl r0, r5, #0xb - lsl r0, r1, #0xc - lsl r0, r4, #0xc - lsl r0, r3, #0x10 - lsl r0, r6, #0xc - lsl r0, r2, #0xd - lsl r6, r3, #0xd - lsl r4, r1, #0xe - lsl r0, r6, #0xe - lsl r4, r2, #0xf - lsl r0, r7, #0xf +_020079F8: ; jump table (using 16-bit offset) + .short _02007A56 - _020079F8 - 2; case 0 + .short _02007A62 - _020079F8 - 2; case 1 + .short _02007A6E - _020079F8 - 2; case 2 + .short _02007A78 - _020079F8 - 2; case 3 + .short _02007A84 - _020079F8 - 2; case 4 + .short _02007A90 - _020079F8 - 2; case 5 + .short _02007A9A - _020079F8 - 2; case 6 + .short _02007AB4 - _020079F8 - 2; case 7 + .short _02007ABE - _020079F8 - 2; case 8 + .short _02007AC8 - _020079F8 - 2; case 9 + .short _02007AD2 - _020079F8 - 2; case 10 + .short _02007AE0 - _020079F8 - 2; case 11 + .short _02007AEE - _020079F8 - 2; case 12 + .short _02007AFA - _020079F8 - 2; case 13 + .short _02007B06 - _020079F8 - 2; case 14 + .short _02007B20 - _020079F8 - 2; case 15 + .short _02007B30 - _020079F8 - 2; case 16 + .short _02007B40 - _020079F8 - 2; case 17 + .short _02007B50 - _020079F8 - 2; case 18 + .short _02007B60 - _020079F8 - 2; case 19 + .short _02007B6E - _020079F8 - 2; case 20 + .short _02007B7C - _020079F8 - 2; case 21 + .short _02007B8A - _020079F8 - 2; case 22 + .short _02007B98 - _020079F8 - 2; case 23 + .short _02007BB2 - _020079F8 - 2; case 24 + .short _02007BCC - _020079F8 - 2; case 25 + .short _02007BE4 - _020079F8 - 2; case 26 + .short _02007BFC - _020079F8 - 2; case 27 + .short _02007C14 - _020079F8 - 2; case 28 + .short _02007C2C - _020079F8 - 2; case 29 + .short _02007C44 - _020079F8 - 2; case 30 + .short _02007C66 - _020079F8 - 2; case 31 + .short _02007C7A - _020079F8 - 2; case 32 + .short _02007C96 - _020079F8 - 2; case 33 + .short _02007CB2 - _020079F8 - 2; case 34 + .short _02007CC2 - _020079F8 - 2; case 35 + .short _02007CE2 - _020079F8 - 2; case 36 + .short _02007D02 - _020079F8 - 2; case 37 + .short _02007D1A - _020079F8 - 2; case 38 + .short _02007E12 - _020079F8 - 2; case 39 + .short _02007D2A - _020079F8 - 2; case 40 + .short _02007D4A - _020079F8 - 2; case 41 + .short _02007D58 - _020079F8 - 2; case 42 + .short _02007D86 - _020079F8 - 2; case 43 + .short _02007DAA - _020079F8 - 2; case 44 + .short _02007DCE - _020079F8 - 2; case 45 + .short _02007DF2 - _020079F8 - 2; case 46 +_02007A56: mov r1, #0x24 ldrsh r1, [r3, r1] add r0, r1, r0 @@ -12747,74 +14402,536 @@ _020079EC: pop {r3-r4} bx lr _02007A62: - .byte 0x26, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x84, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x6A - .byte 0x08, 0x18, 0x98, 0x62, 0x18, 0xBC, 0x70, 0x47, 0x2C, 0x21, 0x59, 0x5E, 0x08, 0x18, 0x98, 0x85 - .byte 0x18, 0xBC, 0x70, 0x47, 0x2E, 0x21, 0x59, 0x5E, 0x08, 0x18, 0xD8, 0x85, 0x18, 0xBC, 0x70, 0x47 - .byte 0x19, 0x6B, 0x08, 0x18, 0x18, 0x63, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x01, 0x22, 0x21, 0x1C - .byte 0x91, 0x43, 0xE2, 0x07, 0xD2, 0x0F, 0x12, 0x18, 0x01, 0x20, 0x10, 0x40, 0x08, 0x43, 0x58, 0x65 - .byte 0x18, 0xBC, 0x70, 0x47, 0x19, 0x8F, 0x08, 0x18, 0x18, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x59, 0x8F - .byte 0x08, 0x18, 0x58, 0x87, 0x18, 0xBC, 0x70, 0x47, 0x99, 0x8F, 0x08, 0x18, 0x98, 0x87, 0x18, 0xBC - .byte 0x70, 0x47, 0x40, 0x21, 0x59, 0x5E, 0x40, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47 - .byte 0x42, 0x21, 0x59, 0x5E, 0x42, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x34, 0x21 - .byte 0x59, 0x5E, 0x08, 0x18, 0x98, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x36, 0x21, 0x59, 0x5E, 0x08, 0x18 - .byte 0xD8, 0x86, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x02, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07 - .byte 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07, 0x80, 0x0F, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47 - .byte 0x19, 0x1C, 0x44, 0x31, 0x09, 0x78, 0x44, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 - .byte 0x19, 0x1C, 0x45, 0x31, 0x09, 0x78, 0x45, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 - .byte 0x19, 0x1C, 0x46, 0x31, 0x09, 0x78, 0x46, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 - .byte 0x19, 0x1C, 0x47, 0x31, 0x09, 0x78, 0x47, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47 - .byte 0x70, 0x21, 0x59, 0x5E, 0x70, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x72, 0x21 - .byte 0x59, 0x5E, 0x72, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x74, 0x21, 0x59, 0x5E - .byte 0x74, 0x33, 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x76, 0x21, 0x59, 0x5E, 0x76, 0x33 - .byte 0x08, 0x18, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x5C, 0x6D, 0x7C, 0x22, 0x21, 0x1C, 0x91, 0x43 - .byte 0x62, 0x06, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x40, 0x0E, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC - .byte 0x70, 0x47, 0x1C, 0x6D, 0x1F, 0x22, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0E, 0x12, 0x18 - .byte 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x92, 0x49 - .byte 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x18, 0x65 - .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x8D, 0x49, 0x11, 0x40, 0x52, 0x04, 0xD2, 0x0E, 0x10, 0x18 - .byte 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x88, 0x49 - .byte 0x11, 0x40, 0x12, 0x03, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x18, 0x65 - .byte 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x83, 0x49, 0x11, 0x40, 0xD2, 0x01, 0xD2, 0x0E, 0x10, 0x18 - .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x18, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x1A, 0x6D, 0x7E, 0x49 - .byte 0x11, 0x40, 0x92, 0x00, 0xD2, 0x0E, 0x10, 0x18, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x18, 0x65 - .byte 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x79, 0x49, 0x11, 0x40, 0xD2, 0x04, 0xD2, 0x0F, 0x10, 0x18 - .byte 0xC0, 0x07, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x65, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43 - .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0xD9, 0x6C, 0x08, 0x18, 0xD8, 0x64, 0x01, 0x20, 0x19, 0x68 - .byte 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x48, 0x31, 0x09, 0x78 - .byte 0x09, 0x18, 0x18, 0x1C, 0x48, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43 - .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x49, 0x31, 0x09, 0x78, 0x09, 0x18, 0x18, 0x1C - .byte 0x49, 0x30, 0x01, 0x70, 0x01, 0x20, 0x19, 0x68, 0x00, 0x02, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC - .byte 0x70, 0x47, 0x19, 0x1C, 0x4A, 0x31, 0x09, 0x78, 0x4A, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC - .byte 0x70, 0x47, 0x5A, 0x6D, 0x5A, 0x49, 0x11, 0x40, 0x92, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 - .byte 0x80, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC - .byte 0x70, 0x47, 0x5A, 0x6D, 0x53, 0x49, 0x11, 0x40, 0x52, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 - .byte 0x40, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68, 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC - .byte 0x70, 0x47, 0x5A, 0x6D, 0x4C, 0x49, 0x11, 0x40, 0x12, 0x05, 0xD2, 0x0F, 0x10, 0x18, 0xC0, 0x07 - .byte 0x00, 0x0D, 0x08, 0x43, 0x58, 0x65, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x5B, 0x31, 0x09, 0x78 - .byte 0x5B, 0x33, 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x5A, 0x6D, 0x43, 0x49, 0x11, 0x40 - .byte 0xD2, 0x03, 0x12, 0x0F, 0x10, 0x18, 0x00, 0x07, 0xC0, 0x0B, 0x08, 0x43, 0x58, 0x65, 0x19, 0x68 - .byte 0x80, 0x20, 0x08, 0x43, 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x6E, 0x21, 0x59, 0x56, 0x6E, 0x33 - .byte 0x08, 0x18, 0x18, 0x70, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x03, 0x22 - .byte 0x21, 0x1C, 0x91, 0x43, 0xA2, 0x07, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x03, 0x22 - .byte 0x10, 0x40, 0x01, 0x43, 0x18, 0x1C, 0x6C, 0x30, 0x01, 0x80, 0x18, 0x68, 0xFD, 0x32, 0x10, 0x43 - .byte 0x18, 0x60, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x04, 0x22, 0x6C, 0x33 - .byte 0x21, 0x1C, 0x91, 0x43, 0x62, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07 - .byte 0x40, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88 - .byte 0x08, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0x22, 0x07, 0xD2, 0x0F, 0x10, 0x18, 0x00, 0x04 - .byte 0x00, 0x0C, 0xC0, 0x07, 0x00, 0x0F, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC, 0x70, 0x47, 0x19, 0x1C - .byte 0x6C, 0x31, 0x0C, 0x88, 0x10, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43, 0xE2, 0x06, 0xD2, 0x0F - .byte 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0xC0, 0x07, 0xC0, 0x0E, 0x08, 0x43, 0x18, 0x80, 0x18, 0xBC - .byte 0x70, 0x47, 0x19, 0x1C, 0x6C, 0x31, 0x0C, 0x88, 0x60, 0x22, 0x6C, 0x33, 0x21, 0x1C, 0x91, 0x43 - .byte 0x62, 0x06, 0x92, 0x0F, 0x10, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x80, 0x07, 0x40, 0x0E, 0x08, 0x43 - .byte 0x18, 0x80 + mov r1, #0x26 + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x26] + pop {r3-r4} + bx lr +_02007A6E: + ldr r1, [r3, #0x28] + add r0, r1, r0 + str r0, [r3, #0x28] + pop {r3-r4} + bx lr +_02007A78: + mov r1, #0x2c + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x2c] + pop {r3-r4} + bx lr +_02007A84: + mov r1, #0x2e + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x2e] + pop {r3-r4} + bx lr +_02007A90: + ldr r1, [r3, #0x30] + add r0, r1, r0 + str r0, [r3, #0x30] + pop {r3-r4} + bx lr +_02007A9A: + ldr r4, [r3, #0x54] + mov r2, #0x1 + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1f + lsr r2, r2, #0x1f + add r2, r2, r0 + mov r0, #0x1 + and r0, r2 + orr r0, r1 + str r0, [r3, #0x54] + pop {r3-r4} + bx lr +_02007AB4: + ldrh r1, [r3, #0x38] + add r0, r1, r0 + strh r0, [r3, #0x38] + pop {r3-r4} + bx lr +_02007ABE: + ldrh r1, [r3, #0x3a] + add r0, r1, r0 + strh r0, [r3, #0x3a] + pop {r3-r4} + bx lr +_02007AC8: + ldrh r1, [r3, #0x3c] + add r0, r1, r0 + strh r0, [r3, #0x3c] + pop {r3-r4} + bx lr +_02007AD2: + mov r1, #0x40 + ldrsh r1, [r3, r1] + add r3, #0x40 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007AE0: + mov r1, #0x42 + ldrsh r1, [r3, r1] + add r3, #0x42 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007AEE: + mov r1, #0x34 + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x34] + pop {r3-r4} + bx lr +_02007AFA: + mov r1, #0x36 + ldrsh r1, [r3, r1] + add r0, r1, r0 + strh r0, [r3, #0x36] + pop {r3-r4} + bx lr +_02007B06: + ldr r4, [r3, #0x54] + mov r2, #0x2 + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1e + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1e + orr r0, r1 + str r0, [r3, #0x54] + pop {r3-r4} + bx lr +_02007B20: + add r1, r3, #0x0 + add r1, #0x44 + ldrb r1, [r1, #0x0] + add r3, #0x44 + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B30: + add r1, r3, #0x0 + add r1, #0x45 + ldrb r1, [r1, #0x0] + add r3, #0x45 + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B40: + add r1, r3, #0x0 + add r1, #0x46 + ldrb r1, [r1, #0x0] + add r3, #0x46 + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B50: + add r1, r3, #0x0 + add r1, #0x47 + ldrb r1, [r1, #0x0] + add r3, #0x47 + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B60: + mov r1, #0x70 + ldrsh r1, [r3, r1] + add r3, #0x70 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B6E: + mov r1, #0x72 + ldrsh r1, [r3, r1] + add r3, #0x72 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B7C: + mov r1, #0x74 + ldrsh r1, [r3, r1] + add r3, #0x74 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B8A: + mov r1, #0x76 + ldrsh r1, [r3, r1] + add r3, #0x76 + add r0, r1, r0 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007B98: + ldr r4, [r3, #0x54] + mov r2, #0x7c + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x19 + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0x19 + orr r0, r1 + str r0, [r3, #0x54] + pop {r3-r4} + bx lr +_02007BB2: + ldr r4, [r3, #0x50] + mov r2, #0x1f + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1b + lsr r2, r2, #0x1b + add r2, r2, r0 + mov r0, #0x1f + and r0, r2 + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007BCC: + ldr r2, [r3, #0x50] + ldr r1, _02007E18 ; =0xFFFFFC1F + and r1, r2 + lsl r2, r2, #0x16 + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0x16 + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007BE4: + ldr r2, [r3, #0x50] + ldr r1, _02007E1C ; =0xFFFF83FF + and r1, r2 + lsl r2, r2, #0x11 + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0x11 + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007BFC: + ldr r2, [r3, #0x50] + ldr r1, _02007E20 ; =0xFFF07FFF + and r1, r2 + lsl r2, r2, #0xc + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0xc + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007C14: + ldr r2, [r3, #0x50] + ldr r1, _02007E24 ; =0xFE0FFFFF + and r1, r2 + lsl r2, r2, #0x7 + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0x7 + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007C2C: + ldr r2, [r3, #0x50] + ldr r1, _02007E28 ; =0xC1FFFFFF + and r1, r2 + lsl r2, r2, #0x2 + lsr r2, r2, #0x1b + add r0, r2, r0 + lsl r0, r0, #0x1b + lsr r0, r0, #0x2 + orr r0, r1 + str r0, [r3, #0x50] + pop {r3-r4} + bx lr +_02007C44: + ldr r2, [r3, #0x54] + ldr r1, _02007E2C ; =0xFFFFEFFF + and r1, r2 + lsl r2, r2, #0x13 + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x13 + orr r0, r1 + str r0, [r3, #0x54] + mov r0, #0x1 + ldr r1, [r3, #0x0] + lsl r0, r0, #0x8 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007C66: + ldr r1, [r3, #0x4c] + add r0, r1, r0 + str r0, [r3, #0x4c] + mov r0, #0x1 + ldr r1, [r3, #0x0] + lsl r0, r0, #0x8 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007C7A: + add r1, r3, #0x0 + add r1, #0x48 + ldrb r1, [r1, #0x0] + add r1, r1, r0 + add r0, r3, #0x0 + add r0, #0x48 + strb r1, [r0, #0x0] + mov r0, #0x1 + ldr r1, [r3, #0x0] + lsl r0, r0, #0x8 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007C96: + add r1, r3, #0x0 + add r1, #0x49 + ldrb r1, [r1, #0x0] + add r1, r1, r0 + add r0, r3, #0x0 + add r0, #0x49 + strb r1, [r0, #0x0] + mov r0, #0x1 + ldr r1, [r3, #0x0] + lsl r0, r0, #0x8 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007CB2: + add r1, r3, #0x0 + add r1, #0x4a + ldrb r1, [r1, #0x0] + add r3, #0x4a + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007CC2: + ldr r2, [r3, #0x54] + ldr r1, _02007E30 ; =0xFFFFFDFF + and r1, r2 + lsl r2, r2, #0x16 + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x16 + orr r0, r1 + str r0, [r3, #0x54] + ldr r1, [r3, #0x0] + mov r0, #0x80 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007CE2: + ldr r2, [r3, #0x54] + ldr r1, _02007E34 ; =0xFFFFFBFF + and r1, r2 + lsl r2, r2, #0x15 + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x15 + orr r0, r1 + str r0, [r3, #0x54] + ldr r1, [r3, #0x0] + mov r0, #0x80 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007D02: + ldr r2, [r3, #0x54] + ldr r1, _02007E38 ; =0xFFFFF7FF + and r1, r2 + lsl r2, r2, #0x14 + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x1f + lsr r0, r0, #0x14 + orr r0, r1 + str r0, [r3, #0x54] + pop {r3-r4} + bx lr +_02007D1A: + add r1, r3, #0x0 + add r1, #0x5b + ldrb r1, [r1, #0x0] + add r3, #0x5b + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007D2A: + ldr r2, [r3, #0x54] + ldr r1, _02007E3C ; =0xFFFE1FFF + and r1, r2 + lsl r2, r2, #0xf + lsr r2, r2, #0x1c + add r0, r2, r0 + lsl r0, r0, #0x1c + lsr r0, r0, #0xf + orr r0, r1 + str r0, [r3, #0x54] + ldr r1, [r3, #0x0] + mov r0, #0x80 + orr r0, r1 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007D4A: + mov r1, #0x6e + ldrsb r1, [r3, r1] + add r3, #0x6e + add r0, r1, r0 + strb r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007D58: + add r1, r3, #0x0 + add r1, #0x6c + ldrh r4, [r1, #0x0] + mov r2, #0x3 + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1e + lsr r2, r2, #0x1e + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r2, #0x3 + and r0, r2 + orr r1, r0 + add r0, r3, #0x0 + add r0, #0x6c + strh r1, [r0, #0x0] + ldr r0, [r3, #0x0] + add r2, #0xfd + orr r0, r2 + str r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007D86: + add r1, r3, #0x0 + add r1, #0x6c + ldrh r4, [r1, #0x0] + mov r2, #0x4 + add r3, #0x6c + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1d + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1d + orr r0, r1 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007DAA: + add r1, r3, #0x0 + add r1, #0x6c + ldrh r4, [r1, #0x0] + mov r2, #0x8 + add r3, #0x6c + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1c + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1c + orr r0, r1 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007DCE: + add r1, r3, #0x0 + add r1, #0x6c + ldrh r4, [r1, #0x0] + mov r2, #0x10 + add r3, #0x6c + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x1b + lsr r2, r2, #0x1f + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1f + lsr r0, r0, #0x1b + orr r0, r1 + strh r0, [r3, #0x0] + pop {r3-r4} + bx lr +_02007DF2: + add r1, r3, #0x0 + add r1, #0x6c + ldrh r4, [r1, #0x0] + mov r2, #0x60 + add r3, #0x6c + add r1, r4, #0x0 + bic r1, r2 + lsl r2, r4, #0x19 + lsr r2, r2, #0x1e + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + lsl r0, r0, #0x1e + lsr r0, r0, #0x19 + orr r0, r1 + strh r0, [r3, #0x0] _02007E12: pop {r3-r4} bx lr nop -_02007E18: - .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF - .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xEF, 0xFF, 0xFF - .byte 0xFF, 0xFD, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0x1F, 0xFE, 0xFF +_02007E18: .word 0xFFFFFC1F +_02007E1C: .word 0xFFFF83FF +_02007E20: .word 0xFFF07FFF +_02007E24: .word 0xFE0FFFFF +_02007E28: .word 0xC1FFFFFF +_02007E2C: .word 0xFFFFEFFF +_02007E30: .word 0xFFFFFDFF +_02007E34: .word 0xFFFFFBFF +_02007E38: .word 0xFFFFF7FF +_02007E3C: .word 0xFFFE1FFF thumb_func_start FUN_02007E40 FUN_02007E40: ; 0x02007E40 @@ -16352,22 +18469,45 @@ FUN_020097FC: ; 0x020097FC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r6, r2, #0 - lsl r4, r4, #0 - lsl r6, r5, #0 - lsl r0, r7, #0 - lsl r2, r0, #0x1 +_0200981E: ; jump table (using 16-bit offset) + .short _0200982A - _0200981E - 2; case 0 + .short _02009836 - _0200981E - 2; case 1 + .short _02009844 - _0200981E - 2; case 2 + .short _0200984E - _0200981E - 2; case 3 + .short _02009858 - _0200981E - 2; case 4 + .short _02009862 - _0200981E - 2; case 5 +_0200982A: add r1, r7, #0x0 add r2, r5, #0x0 bl FUN_0200986C str r0, [r4, #0x8] pop {r3-r7, pc} _02009836: - .byte 0x00, 0x9A, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0xF0, 0x26, 0xF8 - .byte 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x33, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C - .byte 0x00, 0xF0, 0x3C, 0xF8, 0xA0, 0x60, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x45, 0xF8, 0xA0, 0x60 - .byte 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0xF0, 0x4E, 0xF8, 0xA0, 0x60 + ldr r2, [sp, #0x0] + add r1, r7, #0x0 + add r3, r5, #0x0 + bl FUN_0200988C + str r0, [r4, #0x8] + pop {r3-r7, pc} +_02009844: + add r1, r5, #0x0 + bl FUN_020098B0 + str r0, [r4, #0x8] + pop {r3-r7, pc} +_0200984E: + add r1, r5, #0x0 + bl FUN_020098CC + str r0, [r4, #0x8] + pop {r3-r7, pc} +_02009858: + add r1, r5, #0x0 + bl FUN_020098E8 + str r0, [r4, #0x8] + pop {r3-r7, pc} +_02009862: + add r1, r5, #0x0 + bl FUN_02009904 + str r0, [r4, #0x8] _0200986A: pop {r3-r7, pc} @@ -26408,11 +28548,13 @@ FUN_0200E558: ; 0x0200E558 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r6, r2, #0 - lsl r4, r4, #0 - lsl r2, r6, #0 - lsl r0, r0, #0x1 +_0200E56A: ; jump table (using 16-bit offset) + .short _0200E574 - _0200E56A - 2; case 0 + .short _0200E582 - _0200E56A - 2; case 1 + .short _0200E590 - _0200E56A - 2; case 2 + .short _0200E59E - _0200E56A - 2; case 3 + .short _0200E5AC - _0200E56A - 2; case 4 +_0200E574: mov r2, #0x1 add r0, r1, #0x0 mov r1, #0x0 @@ -26420,10 +28562,32 @@ FUN_0200E558: ; 0x0200E558 bl FUN_0200E5BC pop {r3, pc} _0200E582: - .byte 0x08, 0x1C, 0x01, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD - .byte 0x01, 0x22, 0x08, 0x1C, 0x02, 0x21, 0x13, 0x1C, 0x00, 0xF0, 0x10, 0xF8, 0x08, 0xBD, 0x08, 0x1C - .byte 0x01, 0x21, 0x0A, 0x1C, 0x00, 0x23, 0x00, 0xF0, 0x09, 0xF8, 0x08, 0xBD, 0x08, 0x1C, 0x02, 0x21 - .byte 0x00, 0x22, 0x01, 0x23, 0x00, 0xF0, 0x02, 0xF8 + add r0, r1, #0x0 + mov r1, #0x1 + add r2, r1, #0x0 + add r3, r1, #0x0 + bl FUN_0200E5BC + pop {r3, pc} +_0200E590: + mov r2, #0x1 + add r0, r1, #0x0 + mov r1, #0x2 + add r3, r2, #0x0 + bl FUN_0200E5BC + pop {r3, pc} +_0200E59E: + add r0, r1, #0x0 + mov r1, #0x1 + add r2, r1, #0x0 + mov r3, #0x0 + bl FUN_0200E5BC + pop {r3, pc} +_0200E5AC: + add r0, r1, #0x0 + mov r1, #0x2 + mov r2, #0x0 + mov r3, #0x1 + bl FUN_0200E5BC _0200E5B8: pop {r3, pc} .balign 4 @@ -37055,12 +39219,14 @@ _02013476: lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 - lsl r2, r1, #0 - lsl r6, r2, #0 - lsl r2, r4, #0 - lsl r0, r6, #0 - lsl r6, r7, #0 - lsl r4, r1, #0x1 +_0201348A: ; jump table (using 16-bit offset) + .short _02013496 - _0201348A - 2; case 0 + .short _020134A2 - _0201348A - 2; case 1 + .short _020134AE - _0201348A - 2; case 2 + .short _020134BC - _0201348A - 2; case 3 + .short _020134CA - _0201348A - 2; case 4 + .short _020134D8 - _0201348A - 2; case 5 +_02013496: ldr r5, [r3, #0x0] cmp r5, r0 bne _020134EC @@ -37068,11 +39234,44 @@ _02013476: pop {r4-r7} bx lr _020134A2: - .byte 0x1D, 0x68, 0xBD, 0x42, 0x21, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68 - .byte 0x14, 0x4D, 0xAE, 0x42, 0x1A, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x12, 0x4D - .byte 0xAE, 0x42, 0x13, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0F, 0x4D, 0xAE, 0x42 - .byte 0x0C, 0xD1, 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47, 0x1E, 0x68, 0x0D, 0x4D, 0xAE, 0x42, 0x05, 0xD1 - .byte 0x58, 0x68, 0xF0, 0xBC, 0x70, 0x47 + ldr r5, [r3, #0x0] + cmp r5, r7 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr +_020134AE: + ldr r6, [r3, #0x0] + ldr r5, _02013504 ; =0x02090858 + cmp r6, r5 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr +_020134BC: + ldr r6, [r3, #0x0] + ldr r5, _02013508 ; =0x02090780 + cmp r6, r5 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr +_020134CA: + ldr r6, [r3, #0x0] + ldr r5, _0201350C ; =0x02090664 + cmp r6, r5 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr +_020134D8: + ldr r6, [r3, #0x0] + ldr r5, _02013510 ; =0x020905D0 + cmp r6, r5 + bne _020134EC + ldr r0, [r3, #0x4] + pop {r4-r7} + bx lr _020134E6: mov r0, #0x0 pop {r4-r7} @@ -37089,9 +39288,10 @@ _020134F4: nop _020134FC: .word 0x020908DC _02013500: .word 0x020909A4 -_02013504: - .byte 0x58, 0x08, 0x09, 0x02, 0x80, 0x07, 0x09, 0x02, 0x64, 0x06, 0x09, 0x02 - .byte 0xD0, 0x05, 0x09, 0x02 +_02013504: .word 0x02090858 +_02013508: .word 0x02090780 +_0201350C: .word 0x02090664 +_02013510: .word 0x020905D0 thumb_func_start FUN_02013514 FUN_02013514: ; 0x02013514 @@ -39254,10 +41454,12 @@ FUN_020143DC: ; 0x020143DC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r2, #0 - lsl r0, r3, #0x1 - lsl r2, r1, #0x1 +_020143F8: ; jump table (using 16-bit offset) + .short _02014400 - _020143F8 - 2; case 0 + .short _02014410 - _020143F8 - 2; case 1 + .short _02014452 - _020143F8 - 2; case 2 + .short _02014444 - _020143F8 - 2; case 3 +_02014400: add r0, r4, #0x0 mov r1, #0x0 add r0, #0x4f @@ -39267,11 +41469,39 @@ FUN_020143DC: ; 0x020143DC strb r0, [r4, #0x0] pop {r3-r5, pc} _02014410: - .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xF8, 0x01, 0x28, 0x04, 0xD1, 0x21, 0x1C, 0x62, 0x68, 0x20, 0x1C - .byte 0x2C, 0x31, 0x90, 0x47, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x4F, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x4F, 0x30, 0x00, 0x78, 0x20, 0x28, 0x0A, 0xD1, 0x00, 0x20, 0x4F, 0x34 - .byte 0x20, 0x70, 0x38, 0xBD, 0x62, 0x68, 0x20, 0x1C, 0x0C, 0x31, 0x90, 0x47, 0x28, 0x1C, 0xF1, 0xF7 - .byte 0xE5, 0xFE + add r0, r4, #0x0 + bl FUN_02014454 + cmp r0, #0x1 + bne _02014424 + add r1, r4, #0x0 + ldr r2, [r4, #0x4] + add r0, r4, #0x0 + add r1, #0x2c + blx r2 +_02014424: + add r0, r4, #0x0 + add r0, #0x4f + ldrb r0, [r0, #0x0] + add r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x4f + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x4f + ldrb r0, [r0, #0x0] + cmp r0, #0x20 + bne _02014452 + mov r0, #0x0 + add r4, #0x4f + strb r0, [r4, #0x0] + pop {r3-r5, pc} +_02014444: + ldr r2, [r4, #0x4] + add r0, r4, #0x0 + add r1, #0xc + blx r2 + add r0, r5, #0x0 + bl FUN_0200621C _02014452: pop {r3-r5, pc} @@ -42103,11 +44333,13 @@ FUN_0201590C: ; 0x0201590C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r2, r3, #0 - lsl r4, r5, #0 - lsl r6, r7, #0 - lsl r0, r2, #0x1 +_02015920: ; jump table (using 16-bit offset) + .short _0201592A - _02015920 - 2; case 0 + .short _0201593C - _02015920 - 2; case 1 + .short _0201594E - _02015920 - 2; case 2 + .short _02015960 - _02015920 - 2; case 3 + .short _02015972 - _02015920 - 2; case 4 +_0201592A: add r0, r1, #0x0 add r0, #0x3c str r0, [r1, #0x24] @@ -42118,12 +44350,45 @@ FUN_0201590C: ; 0x0201590C str r0, [r1, #0x30] pop {r3, pc} _0201593C: - .byte 0x08, 0x1C, 0x40, 0x30 - .byte 0x48, 0x62, 0x10, 0x1C, 0x6C, 0x30, 0x88, 0x62, 0xD0, 0x6E, 0x08, 0x63, 0x08, 0xBD, 0x08, 0x1C - .byte 0x44, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x70, 0x30, 0x88, 0x62, 0x10, 0x6F, 0x08, 0x63, 0x08, 0xBD - .byte 0x08, 0x1C, 0x48, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x74, 0x30, 0x88, 0x62, 0x50, 0x6F, 0x08, 0x63 - .byte 0x08, 0xBD, 0x08, 0x1C, 0x4C, 0x30, 0x48, 0x62, 0x10, 0x1C, 0x78, 0x30, 0x88, 0x62, 0x90, 0x6F - .byte 0x08, 0x63, 0x08, 0xBD + add r0, r1, #0x0 + add r0, #0x40 + str r0, [r1, #0x24] + add r0, r2, #0x0 + add r0, #0x6c + str r0, [r1, #0x28] + ldr r0, [r2, #0x6c] + str r0, [r1, #0x30] + pop {r3, pc} +_0201594E: + add r0, r1, #0x0 + add r0, #0x44 + str r0, [r1, #0x24] + add r0, r2, #0x0 + add r0, #0x70 + str r0, [r1, #0x28] + ldr r0, [r2, #0x70] + str r0, [r1, #0x30] + pop {r3, pc} +_02015960: + add r0, r1, #0x0 + add r0, #0x48 + str r0, [r1, #0x24] + add r0, r2, #0x0 + add r0, #0x74 + str r0, [r1, #0x28] + ldr r0, [r2, #0x74] + str r0, [r1, #0x30] + pop {r3, pc} +_02015972: + add r0, r1, #0x0 + add r0, #0x4c + str r0, [r1, #0x24] + add r0, r2, #0x0 + add r0, #0x78 + str r0, [r1, #0x28] + ldr r0, [r2, #0x78] + str r0, [r1, #0x30] + pop {r3, pc} _02015984: bl FUN_02020C2C pop {r3, pc} @@ -42234,10 +44499,12 @@ FUN_02015A34: ; 0x02015A34 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r3, #0 - lsl r2, r6, #0 - lsl r0, r1, #0x1 +_02015A5C: ; jump table (using 16-bit offset) + .short _02015A64 - _02015A5C - 2; case 0 + .short _02015A78 - _02015A5C - 2; case 1 + .short _02015A90 - _02015A5C - 2; case 2 + .short _02015AA6 - _02015A5C - 2; case 3 +_02015A64: asr r0, r1, #0x4 lsl r1, r0, #0x2 ldr r0, _02015AE8 ; =0x020FFA38 @@ -42249,11 +44516,44 @@ FUN_02015A34: ; 0x02015A34 str r1, [r0, #0x0] b _02015AC4 _02015A78: - .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00 - .byte 0x19, 0x49, 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0 - .byte 0x08, 0x11, 0x81, 0x00, 0x14, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42 - .byte 0x60, 0x6A, 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49 - .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 + asr r1, r1, #0x4 + lsl r1, r1, #0x1 + add r1, r1, #0x1 + lsl r2, r1, #0x1 + ldr r1, _02015AE8 ; =0x020FFA38 + ldr r0, [r4, #0xc] + ldrsh r1, [r1, r2] + mul r1, r0 + ldr r0, [r4, #0x24] + asr r1, r1, #0xc + str r1, [r0, #0x0] + b _02015AC4 +_02015A90: + asr r0, r1, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02015AE8 ; =0x020FFA38 + ldr r2, [r4, #0xc] + ldrsh r0, [r0, r1] + mul r0, r2 + asr r0, r0, #0xc + neg r1, r0 + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015AC4 +_02015AA6: + asr r1, r1, #0x4 + lsl r1, r1, #0x1 + add r1, r1, #0x1 + lsl r2, r1, #0x1 + ldr r1, _02015AE8 ; =0x020FFA38 + ldr r0, [r4, #0xc] + ldrsh r1, [r1, r2] + mul r1, r0 + asr r0, r1, #0xc + neg r1, r0 + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015AC4 _02015AC0: bl FUN_02020C2C _02015AC4: @@ -42302,10 +44602,12 @@ FUN_02015AEC: ; 0x02015AEC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r3, #0 - lsl r2, r6, #0 - lsl r0, r1, #0x1 +_02015B1A: ; jump table (using 16-bit offset) + .short _02015B22 - _02015B1A - 2; case 0 + .short _02015B36 - _02015B1A - 2; case 1 + .short _02015B4E - _02015B1A - 2; case 2 + .short _02015B64 - _02015B1A - 2; case 3 +_02015B22: asr r0, r1, #0x4 lsl r1, r0, #0x2 ldr r0, _02015BA8 ; =0x020FFA38 @@ -42317,11 +44619,44 @@ FUN_02015AEC: ; 0x02015AEC str r1, [r0, #0x0] b _02015B82 _02015B36: - .byte 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x1A, 0x49 - .byte 0xE0, 0x68, 0x89, 0x5E, 0x41, 0x43, 0x60, 0x6A, 0x09, 0x13, 0x01, 0x60, 0x19, 0xE0, 0x08, 0x11 - .byte 0x81, 0x00, 0x15, 0x48, 0xE2, 0x68, 0x40, 0x5E, 0x50, 0x43, 0x00, 0x13, 0x41, 0x42, 0x60, 0x6A - .byte 0x01, 0x60, 0x0E, 0xE0, 0x09, 0x11, 0x49, 0x00, 0x49, 0x1C, 0x4A, 0x00, 0x0E, 0x49, 0xE0, 0x68 - .byte 0x89, 0x5E, 0x41, 0x43, 0x08, 0x13, 0x41, 0x42, 0x60, 0x6A, 0x01, 0x60, 0x01, 0xE0 + asr r1, r1, #0x4 + lsl r1, r1, #0x1 + add r1, r1, #0x1 + lsl r2, r1, #0x1 + ldr r1, _02015BA8 ; =0x020FFA38 + ldr r0, [r4, #0xc] + ldrsh r1, [r1, r2] + mul r1, r0 + ldr r0, [r4, #0x24] + asr r1, r1, #0xc + str r1, [r0, #0x0] + b _02015B82 +_02015B4E: + asr r0, r1, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02015BA8 ; =0x020FFA38 + ldr r2, [r4, #0xc] + ldrsh r0, [r0, r1] + mul r0, r2 + asr r0, r0, #0xc + neg r1, r0 + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015B82 +_02015B64: + asr r1, r1, #0x4 + lsl r1, r1, #0x1 + add r1, r1, #0x1 + lsl r2, r1, #0x1 + ldr r1, _02015BA8 ; =0x020FFA38 + ldr r0, [r4, #0xc] + ldrsh r1, [r1, r2] + mul r1, r0 + asr r0, r1, #0xc + neg r1, r0 + ldr r0, [r4, #0x24] + str r1, [r0, #0x0] + b _02015B82 _02015B7E: bl FUN_02020C2C _02015B82: @@ -42556,31 +44891,26 @@ FUN_02015D14: ; 0x02015D14 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 - lsl r0, r3, #0 - lsl r2, r2, #0 - lsl r4, r3, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02015D24: ; jump table (using 16-bit offset) + .short _02015D34 - _02015D24 - 2; case 0 + .short _02015D34 - _02015D24 - 2; case 1 + .short _02015D38 - _02015D24 - 2; case 2 + .short _02015D3E - _02015D24 - 2; case 3 + .short _02015D38 - _02015D24 - 2; case 4 + .short _02015D42 - _02015D24 - 2; case 5 + .short _02015D34 - _02015D24 - 2; case 6 + .short _02015D38 - _02015D24 - 2; case 7 _02015D34: mov r0, #0xea bx lr - - thumb_func_start FUN_02015D38 -FUN_02015D38: ; 0x02015D38 +_02015D38: mov r0, #0x6d lsl r0, r0, #0x2 bx lr - - non_word_aligned_thumb_func_start FUN_02015D3E -FUN_02015D3E: ; 0x02015D3E +_02015D3E: ldr r0, _02015D48 ; =0x000001B7 bx lr - - non_word_aligned_thumb_func_start FUN_02015D42 -FUN_02015D42: ; 0x02015D42 +_02015D42: ldr r0, _02015D4C ; =0x000001B6 bx lr nop @@ -42597,31 +44927,26 @@ FUN_02015D50: ; 0x02015D50 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r2, #0 - lsl r4, r3, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02015D60: ; jump table (using 16-bit offset) + .short _02015D70 - _02015D60 - 2; case 0 + .short _02015D70 - _02015D60 - 2; case 1 + .short _02015D74 - _02015D60 - 2; case 2 + .short _02015D78 - _02015D60 - 2; case 3 + .short _02015D74 - _02015D60 - 2; case 4 + .short _02015D7E - _02015D60 - 2; case 5 + .short _02015D70 - _02015D60 - 2; case 6 + .short _02015D74 - _02015D60 - 2; case 7 _02015D70: mov r0, #0xeb bx lr - - thumb_func_start FUN_02015D74 -FUN_02015D74: ; 0x02015D74 +_02015D74: ldr r0, _02015D84 ; =0x000001B5 bx lr - - thumb_func_start FUN_02015D78 -FUN_02015D78: ; 0x02015D78 +_02015D78: mov r0, #0x6e lsl r0, r0, #0x2 bx lr - - non_word_aligned_thumb_func_start FUN_02015D7E -FUN_02015D7E: ; 0x02015D7E +_02015D7E: mov r0, #0x6d lsl r0, r0, #0x2 bx lr @@ -43660,10 +45985,12 @@ _02016572: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0x4 - lsl r6, r0, #0 - lsl r4, r7, #0 - lsl r2, r0, #0x3 +_0201657E: ; jump table (using 16-bit offset) + .short _0201668C - _0201657E - 2; case 0 + .short _02016586 - _0201657E - 2; case 1 + .short _020165BC - _0201657E - 2; case 2 + .short _02016642 - _0201657E - 2; case 3 +_02016586: ldr r2, [r0, #0x48] mov r1, #0x8 add r3, r2, #0x0 @@ -43694,26 +46021,126 @@ _020165A8: str r0, [r1, #0x4c] bx lr _020165BC: - .byte 0x83, 0x6C, 0x01, 0x20 - .byte 0x80, 0x02, 0x1A, 0x1C, 0x00, 0x21, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x00, 0x01, 0x43, 0x02, 0x20 - .byte 0x80, 0x02, 0x1A, 0x1C, 0x02, 0x42, 0x01, 0xD0, 0x40, 0x08, 0x01, 0x43, 0x2C, 0x4A, 0x2D, 0x48 - .byte 0x93, 0x6C, 0x18, 0x40, 0x08, 0x43, 0x90, 0x64, 0x53, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C - .byte 0x00, 0x20, 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C - .byte 0x0A, 0x42, 0x01, 0xD0, 0x49, 0x08, 0x08, 0x43, 0x21, 0x4A, 0x22, 0x49, 0x53, 0x6C, 0x19, 0x40 - .byte 0x08, 0x43, 0x50, 0x64, 0xD3, 0x6C, 0x01, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x00, 0x20, 0x0A, 0x42 - .byte 0x01, 0xD0, 0x49, 0x00, 0x08, 0x43, 0x02, 0x21, 0x89, 0x02, 0x1A, 0x1C, 0x0A, 0x42, 0x01, 0xD0 - .byte 0x49, 0x08, 0x08, 0x43, 0x16, 0x4A, 0x17, 0x49, 0xD3, 0x6C, 0x19, 0x40, 0x08, 0x43, 0xD0, 0x64 - .byte 0x70, 0x47, 0x02, 0x21, 0x82, 0x6C, 0x09, 0x02, 0x11, 0x42, 0x02, 0xD0, 0x01, 0x21, 0x11, 0x43 - .byte 0x81, 0x64, 0x0F, 0x49, 0x02, 0x20, 0x4A, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0, 0x01, 0x20 - .byte 0x10, 0x43, 0x48, 0x64, 0x0A, 0x49, 0x02, 0x20, 0xCA, 0x6C, 0x00, 0x02, 0x10, 0x42, 0x02, 0xD0 - .byte 0x01, 0x20, 0x10, 0x43, 0xC8, 0x64, 0x06, 0x49, 0x07, 0x48, 0x8A, 0x6C, 0x02, 0x40, 0x8A, 0x64 - .byte 0x4A, 0x6C, 0x02, 0x40, 0x4A, 0x64, 0xCA, 0x6C, 0x10, 0x40, 0xC8, 0x64 + ldr r3, [r0, #0x48] + mov r0, #0x1 + lsl r0, r0, #0xa + add r2, r3, #0x0 + mov r1, #0x0 + tst r2, r0 + beq _020165CE + lsl r0, r0, #0x1 + orr r1, r0 +_020165CE: + mov r0, #0x2 + lsl r0, r0, #0xa + add r2, r3, #0x0 + tst r2, r0 + beq _020165DC + lsr r0, r0, #0x1 + orr r1, r0 +_020165DC: + ldr r2, _02016690 ; =0x021C48B8 + ldr r0, _02016694 ; =0x0000F3FF + ldr r3, [r2, #0x48] + and r0, r3 + orr r0, r1 + str r0, [r2, #0x48] + ldr r3, [r2, #0x44] + mov r1, #0x1 + lsl r1, r1, #0xa + add r2, r3, #0x0 + mov r0, #0x0 + tst r2, r1 + beq _020165FA + lsl r1, r1, #0x1 + orr r0, r1 +_020165FA: + mov r1, #0x2 + lsl r1, r1, #0xa + add r2, r3, #0x0 + tst r2, r1 + beq _02016608 + lsr r1, r1, #0x1 + orr r0, r1 +_02016608: + ldr r2, _02016690 ; =0x021C48B8 + ldr r1, _02016694 ; =0x0000F3FF + ldr r3, [r2, #0x44] + and r1, r3 + orr r0, r1 + str r0, [r2, #0x44] + ldr r3, [r2, #0x4c] + mov r1, #0x1 + lsl r1, r1, #0xa + add r2, r3, #0x0 + mov r0, #0x0 + tst r2, r1 + beq _02016626 + lsl r1, r1, #0x1 + orr r0, r1 +_02016626: + mov r1, #0x2 + lsl r1, r1, #0xa + add r2, r3, #0x0 + tst r2, r1 + beq _02016634 + lsr r1, r1, #0x1 + orr r0, r1 +_02016634: + ldr r2, _02016690 ; =0x021C48B8 + ldr r1, _02016694 ; =0x0000F3FF + ldr r3, [r2, #0x4c] + and r1, r3 + orr r0, r1 + str r0, [r2, #0x4c] + bx lr +_02016642: + mov r1, #0x2 + ldr r2, [r0, #0x48] + lsl r1, r1, #0x8 + tst r1, r2 + beq _02016652 + mov r1, #0x1 + orr r1, r2 + str r1, [r0, #0x48] +_02016652: + ldr r1, _02016690 ; =0x021C48B8 + mov r0, #0x2 + ldr r2, [r1, #0x44] + lsl r0, r0, #0x8 + tst r0, r2 + beq _02016664 + mov r0, #0x1 + orr r0, r2 + str r0, [r1, #0x44] +_02016664: + ldr r1, _02016690 ; =0x021C48B8 + mov r0, #0x2 + ldr r2, [r1, #0x4c] + lsl r0, r0, #0x8 + tst r0, r2 + beq _02016676 + mov r0, #0x1 + orr r0, r2 + str r0, [r1, #0x4c] +_02016676: + ldr r1, _02016690 ; =0x021C48B8 + ldr r0, _02016698 ; =0x0000FCFF + ldr r2, [r1, #0x48] + and r2, r0 + str r2, [r1, #0x48] + ldr r2, [r1, #0x44] + and r2, r0 + str r2, [r1, #0x44] + ldr r2, [r1, #0x4c] + and r0, r2 + str r0, [r1, #0x4c] _0201668C: bx lr nop _02016690: .word 0x021C48B8 -_02016694: - .byte 0xFF, 0xF3, 0x00, 0x00, 0xFF, 0xFC, 0x00, 0x00 +_02016694: .word 0x0000F3FF +_02016698: .word 0x0000FCFF thumb_func_start FUN_0201669C FUN_0201669C: ; 0x0201669C @@ -44491,14 +46918,16 @@ _02016C36: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r4, #0x1 - lsl r6, r7, #0x2 - lsl r0, r4, #0x5 - lsl r2, r0, #0x8 - lsl r2, r3, #0x9 - lsl r2, r6, #0xa - lsl r4, r2, #0xd +_02016C42: ; jump table (using 16-bit offset) + .short _02016C52 - _02016C42 - 2; case 0 + .short _02016CAA - _02016C42 - 2; case 1 + .short _02016D02 - _02016C42 - 2; case 2 + .short _02016DA4 - _02016C42 - 2; case 3 + .short _02016E46 - _02016C42 - 2; case 4 + .short _02016E9E - _02016C42 - 2; case 5 + .short _02016EF6 - _02016C42 - 2; case 6 + .short _02016F98 - _02016C42 - 2; case 7 +_02016C52: mov r0, #0x1 add r1, r0, #0x0 bl FUN_0201E6E4 @@ -44544,69 +46973,494 @@ _02016CA0: strh r1, [r2, #0x0] b _0201705A _02016CAA: - .byte 0x02, 0x20, 0x01, 0x21, 0x07, 0xF0 - .byte 0x19, 0xFD, 0x23, 0x7D, 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00 - .byte 0x04, 0x90, 0xBD, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43 - .byte 0x04, 0x98, 0x08, 0x43, 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20 - .byte 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88 - .byte 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB0, 0xE1, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80 - .byte 0xAB, 0xE1, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xED, 0xFC, 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0 - .byte 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0xA8, 0x4F, 0xE2, 0x7C, 0x0B, 0x02 - .byte 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43 - .byte 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D - .byte 0x93, 0x00, 0x9E, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03 - .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x97, 0x4F - .byte 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40 - .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x8F, 0x48, 0x03, 0x21 - .byte 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0 - .byte 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x5F, 0xE1, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43 - .byte 0x02, 0x80, 0x5A, 0xE1, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x9C, 0xFC, 0x02, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x80, 0x4F, 0xE2, 0x7C - .byte 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03 - .byte 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C - .byte 0xA0, 0x7D, 0x93, 0x00, 0x76, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x08, 0x40 - .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C - .byte 0x6F, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20, 0x92, 0x00 - .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x68, 0x48 - .byte 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29 - .byte 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x0E, 0xE1, 0x02, 0x88, 0x40, 0x21 - .byte 0x8A, 0x43, 0x02, 0x80, 0x09, 0xE1, 0x01, 0x20, 0x01, 0x1C, 0x07, 0xF0, 0x7F, 0xFC, 0x23, 0x7D - .byte 0xA1, 0x7C, 0x60, 0x7C, 0xE2, 0x7C, 0x5E, 0x03, 0xC0, 0x01, 0x93, 0x00, 0x05, 0x90, 0x59, 0x4A - .byte 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x01, 0x43, 0x05, 0x98, 0x08, 0x43 - .byte 0x38, 0x43, 0x18, 0x43, 0x30, 0x43, 0x10, 0x80, 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D - .byte 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28, 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43 - .byte 0x10, 0x80, 0xE2, 0xE0, 0x11, 0x88, 0x40, 0x20, 0x81, 0x43, 0x11, 0x80, 0xDD, 0xE0, 0x02, 0x20 - .byte 0x01, 0x21, 0x07, 0xF0, 0x53, 0xFC, 0xE2, 0x7C, 0xA1, 0x7C, 0x60, 0x7C, 0x96, 0x00, 0x23, 0x7D - .byte 0xC0, 0x01, 0x84, 0x46, 0x44, 0x4A, 0x0F, 0x02, 0x11, 0x88, 0x43, 0x20, 0x5B, 0x03, 0x08, 0x40 - .byte 0xA9, 0x03, 0x08, 0x43, 0x61, 0x46, 0x08, 0x43, 0x38, 0x43, 0x30, 0x43, 0x18, 0x43, 0x10, 0x80 - .byte 0x11, 0x88, 0x03, 0x20, 0x81, 0x43, 0x60, 0x7D, 0x08, 0x43, 0x10, 0x80, 0xA0, 0x69, 0x00, 0x28 - .byte 0x04, 0xD0, 0x11, 0x88, 0x40, 0x20, 0x08, 0x43, 0x10, 0x80, 0xB6, 0xE0, 0x11, 0x88, 0x40, 0x20 - .byte 0x81, 0x43, 0x11, 0x80, 0xB1, 0xE0, 0x04, 0x20, 0x01, 0x21, 0x07, 0xF0, 0x27, 0xFC, 0x02, 0x98 - .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x12, 0xD0, 0x02, 0x28, 0x21, 0xD0, 0xA1, 0x7C, 0x2F, 0x4F - .byte 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01, 0x43, 0x20, 0x08, 0x40 - .byte 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x20, 0xE0, 0xE2, 0x7C - .byte 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x25, 0x4F, 0x0A, 0x02, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20 - .byte 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80, 0x0F, 0xE0 - .byte 0xA1, 0x7C, 0x1E, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03, 0x39, 0x88, 0x43, 0x20 - .byte 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80 - .byte 0x16, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43, 0x01, 0x80, 0xA1, 0x69 - .byte 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80, 0x65, 0xE0, 0x02, 0x88 - .byte 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80, 0x60, 0xE0, 0x08, 0x20, 0x01, 0x21, 0x07, 0xF0, 0xD6, 0xFB - .byte 0x02, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x23, 0xD0, 0x02, 0x28, 0x32, 0xD0, 0xA1, 0x7C - .byte 0x07, 0x4F, 0x0F, 0xE0 + mov r0, #0x2 + mov r1, #0x1 + bl FUN_0201E6E4 + ldrb r3, [r4, #0x14] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x11] + ldrb r2, [r4, #0x13] + lsl r6, r3, #0xd + lsl r0, r0, #0x7 + lsl r3, r2, #0x2 + str r0, [sp, #0x10] + ldr r2, _02016FB8 ; =0x0400000A + lsl r7, r1, #0x8 + ldrh r1, [r2, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r1, r0 + ldr r0, [sp, #0x10] + orr r0, r1 + orr r0, r7 + orr r0, r3 + orr r0, r6 + strh r0, [r2, #0x0] + ldrh r1, [r2, #0x0] + mov r0, #0x3 + bic r1, r0 + ldrb r0, [r4, #0x15] + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _02016CF8 + ldrh r1, [r2, #0x0] + mov r0, #0x40 + orr r0, r1 + strh r0, [r2, #0x0] + b _0201705A +_02016CF8: + ldrh r1, [r2, #0x0] + mov r0, #0x40 + bic r1, r0 + strh r1, [r2, #0x0] + b _0201705A +_02016D02: + mov r0, #0x4 + mov r1, #0x1 + bl FUN_0201E6E4 + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _02016D18 + cmp r0, #0x1 + beq _02016D3A + cmp r0, #0x2 + beq _02016D5C +_02016D18: + ldrb r1, [r4, #0x12] + ldr r7, _02016FBC ; =0x0400000C + ldrb r2, [r4, #0x13] + lsl r3, r1, #0x8 + ldrb r0, [r4, #0x11] + lsl r6, r2, #0x2 + ldrh r1, [r7, #0x0] + lsl r2, r0, #0x7 + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016D7C +_02016D3A: + ldrb r2, [r4, #0x13] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x16] + lsl r3, r2, #0x2 + ldr r7, _02016FBC ; =0x0400000C + lsl r2, r1, #0x8 + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016D7C +_02016D5C: + ldrb r1, [r4, #0x12] + ldr r7, _02016FBC ; =0x0400000C + ldrb r0, [r4, #0x16] + lsl r3, r1, #0x8 + ldrb r2, [r4, #0x13] + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + lsl r2, r2, #0x2 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] +_02016D7C: + ldr r0, _02016FBC ; =0x0400000C + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + ldrb r1, [r4, #0x15] + orr r1, r2 + strh r1, [r0, #0x0] + ldr r1, [r4, #0x18] + cmp r1, #0x0 + beq _02016D9A + ldrh r2, [r0, #0x0] + mov r1, #0x40 + orr r1, r2 + strh r1, [r0, #0x0] + b _0201705A +_02016D9A: + ldrh r2, [r0, #0x0] + mov r1, #0x40 + bic r2, r1 + strh r2, [r0, #0x0] + b _0201705A +_02016DA4: + mov r0, #0x8 + mov r1, #0x1 + bl FUN_0201E6E4 + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _02016DBA + cmp r0, #0x1 + beq _02016DDC + cmp r0, #0x2 + beq _02016DFE +_02016DBA: + ldrb r1, [r4, #0x12] + ldr r7, _02016FC0 ; =0x0400000E + ldrb r2, [r4, #0x13] + lsl r3, r1, #0x8 + ldrb r0, [r4, #0x11] + lsl r6, r2, #0x2 + ldrh r1, [r7, #0x0] + lsl r2, r0, #0x7 + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016E1E +_02016DDC: + ldrb r2, [r4, #0x13] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x16] + lsl r3, r2, #0x2 + ldr r7, _02016FC0 ; =0x0400000E + lsl r2, r1, #0x8 + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016E1E +_02016DFE: + ldrb r1, [r4, #0x12] + ldr r7, _02016FC0 ; =0x0400000E + ldrb r0, [r4, #0x16] + lsl r3, r1, #0x8 + ldrb r2, [r4, #0x13] + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + lsl r2, r2, #0x2 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] +_02016E1E: + ldr r0, _02016FC0 ; =0x0400000E + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + ldrb r1, [r4, #0x15] + orr r1, r2 + strh r1, [r0, #0x0] + ldr r1, [r4, #0x18] + cmp r1, #0x0 + beq _02016E3C + ldrh r2, [r0, #0x0] + mov r1, #0x40 + orr r1, r2 + strh r1, [r0, #0x0] + b _0201705A +_02016E3C: + ldrh r2, [r0, #0x0] + mov r1, #0x40 + bic r2, r1 + strh r2, [r0, #0x0] + b _0201705A +_02016E46: + mov r0, #0x1 + add r1, r0, #0x0 + bl FUN_0201E74C + ldrb r3, [r4, #0x14] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x11] + ldrb r2, [r4, #0x13] + lsl r6, r3, #0xd + lsl r0, r0, #0x7 + lsl r3, r2, #0x2 + str r0, [sp, #0x14] + ldr r2, _02016FC4 ; =0x04001008 + lsl r7, r1, #0x8 + ldrh r1, [r2, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r1, r0 + ldr r0, [sp, #0x14] + orr r0, r1 + orr r0, r7 + orr r0, r3 + orr r0, r6 + strh r0, [r2, #0x0] + ldrh r1, [r2, #0x0] + mov r0, #0x3 + bic r1, r0 + ldrb r0, [r4, #0x15] + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _02016E94 + ldrh r1, [r2, #0x0] + mov r0, #0x40 + orr r0, r1 + strh r0, [r2, #0x0] + b _0201705A +_02016E94: + ldrh r1, [r2, #0x0] + mov r0, #0x40 + bic r1, r0 + strh r1, [r2, #0x0] + b _0201705A +_02016E9E: + mov r0, #0x2 + mov r1, #0x1 + bl FUN_0201E74C + ldrb r2, [r4, #0x13] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x11] + lsl r6, r2, #0x2 + ldrb r3, [r4, #0x14] + lsl r0, r0, #0x7 + mov r12, r0 + ldr r2, _02016FC8 ; =0x0400100A + lsl r7, r1, #0x8 + ldrh r1, [r2, #0x0] + mov r0, #0x43 + lsl r3, r3, #0xd + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + mov r1, r12 + orr r0, r1 + orr r0, r7 + orr r0, r6 + orr r0, r3 + strh r0, [r2, #0x0] + ldrh r1, [r2, #0x0] + mov r0, #0x3 + bic r1, r0 + ldrb r0, [r4, #0x15] + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, [r4, #0x18] + cmp r0, #0x0 + beq _02016EEC + ldrh r1, [r2, #0x0] + mov r0, #0x40 + orr r0, r1 + strh r0, [r2, #0x0] + b _0201705A +_02016EEC: + ldrh r1, [r2, #0x0] + mov r0, #0x40 + bic r1, r0 + strh r1, [r2, #0x0] + b _0201705A +_02016EF6: + mov r0, #0x4 + mov r1, #0x1 + bl FUN_0201E74C + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _02016F0C + cmp r0, #0x1 + beq _02016F2E + cmp r0, #0x2 + beq _02016F50 +_02016F0C: + ldrb r1, [r4, #0x12] + ldr r7, _02016FCC ; =0x0400100C + ldrb r2, [r4, #0x13] + lsl r3, r1, #0x8 + ldrb r0, [r4, #0x11] + lsl r6, r2, #0x2 + ldrh r1, [r7, #0x0] + lsl r2, r0, #0x7 + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016F70 +_02016F2E: + ldrb r2, [r4, #0x13] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x16] + lsl r3, r2, #0x2 + ldr r7, _02016FCC ; =0x0400100C + lsl r2, r1, #0x8 + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02016F70 +_02016F50: + ldrb r1, [r4, #0x12] + ldr r7, _02016FCC ; =0x0400100C + ldrb r0, [r4, #0x16] + lsl r3, r1, #0x8 + ldrb r2, [r4, #0x13] + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + lsl r2, r2, #0x2 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] +_02016F70: + ldr r0, _02016FCC ; =0x0400100C + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + ldrb r1, [r4, #0x15] + orr r1, r2 + strh r1, [r0, #0x0] + ldr r1, [r4, #0x18] + cmp r1, #0x0 + beq _02016F8E + ldrh r2, [r0, #0x0] + mov r1, #0x40 + orr r1, r2 + strh r1, [r0, #0x0] + b _0201705A +_02016F8E: + ldrh r2, [r0, #0x0] + mov r1, #0x40 + bic r2, r1 + strh r2, [r0, #0x0] + b _0201705A +_02016F98: + mov r0, #0x8 + mov r1, #0x1 + bl FUN_0201E74C + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _02016FAE + cmp r0, #0x1 + beq _02016FF2 + cmp r0, #0x2 + beq _02017014 +_02016FAE: + ldrb r1, [r4, #0x12] + ldr r7, _02016FD0 ; =0x0400100E + b _02016FD4 + .balign 4 _02016FB4: .word 0x04000008 -_02016FB8: - .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04 - .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04 - .byte 0x0E, 0x10, 0x00, 0x04, 0xE2, 0x7C, 0x0B, 0x02, 0x60, 0x7C, 0x96, 0x00, 0x39, 0x88, 0xC2, 0x01 - .byte 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43, 0x38, 0x80 - .byte 0x20, 0xE0, 0xE2, 0x7C, 0xA1, 0x7C, 0xA0, 0x7D, 0x93, 0x00, 0x3D, 0x4F, 0x0A, 0x02, 0x46, 0x03 - .byte 0x39, 0x88, 0x43, 0x20, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x30, 0x43 - .byte 0x38, 0x80, 0x0F, 0xE0, 0xA1, 0x7C, 0x36, 0x4F, 0xA0, 0x7D, 0x0B, 0x02, 0xE2, 0x7C, 0x46, 0x03 - .byte 0x39, 0x88, 0x43, 0x20, 0x92, 0x00, 0x08, 0x40, 0xA9, 0x03, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43 - .byte 0x30, 0x43, 0x38, 0x80, 0x2E, 0x48, 0x03, 0x21, 0x02, 0x88, 0x8A, 0x43, 0x61, 0x7D, 0x11, 0x43 - .byte 0x01, 0x80, 0xA1, 0x69, 0x00, 0x29, 0x04, 0xD0, 0x02, 0x88, 0x40, 0x21, 0x11, 0x43, 0x01, 0x80 - .byte 0x03, 0xE0, 0x02, 0x88, 0x40, 0x21, 0x8A, 0x43, 0x02, 0x80 +_02016FB8: .word 0x0400000A +_02016FBC: .word 0x0400000C +_02016FC0: .word 0x0400000E +_02016FC4: .word 0x04001008 +_02016FC8: .word 0x0400100A +_02016FCC: .word 0x0400100C +_02016FD0: .word 0x0400100E +_02016FD4: + ldrb r2, [r4, #0x13] + lsl r3, r1, #0x8 + ldrb r0, [r4, #0x11] + lsl r6, r2, #0x2 + ldrh r1, [r7, #0x0] + lsl r2, r0, #0x7 + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02017034 +_02016FF2: + ldrb r2, [r4, #0x13] + ldrb r1, [r4, #0x12] + ldrb r0, [r4, #0x16] + lsl r3, r2, #0x2 + ldr r7, _020170F0 ; =0x0400100E + lsl r2, r1, #0x8 + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] + b _02017034 +_02017014: + ldrb r1, [r4, #0x12] + ldr r7, _020170F0 ; =0x0400100E + ldrb r0, [r4, #0x16] + lsl r3, r1, #0x8 + ldrb r2, [r4, #0x13] + lsl r6, r0, #0xd + ldrh r1, [r7, #0x0] + mov r0, #0x43 + lsl r2, r2, #0x2 + and r0, r1 + lsl r1, r5, #0xe + orr r0, r1 + orr r0, r2 + orr r0, r3 + orr r0, r6 + strh r0, [r7, #0x0] +_02017034: + ldr r0, _020170F0 ; =0x0400100E + mov r1, #0x3 + ldrh r2, [r0, #0x0] + bic r2, r1 + ldrb r1, [r4, #0x15] + orr r1, r2 + strh r1, [r0, #0x0] + ldr r1, [r4, #0x18] + cmp r1, #0x0 + beq _02017052 + ldrh r2, [r0, #0x0] + mov r1, #0x40 + orr r1, r2 + strh r1, [r0, #0x0] + b _0201705A +_02017052: + ldrh r2, [r0, #0x0] + mov r1, #0x40 + bic r2, r1 + strh r2, [r0, #0x0] _0201705A: ldr r0, [sp, #0x4] mov r1, #0x2c @@ -44683,8 +47537,7 @@ _020170D2: add sp, #0x18 pop {r3-r7, pc} nop -_020170F0: - .byte 0x0E, 0x10, 0x00, 0x04 +_020170F0: .word 0x0400100E thumb_func_start FUN_020170F4 FUN_020170F4: ; 0x020170F4 @@ -44711,14 +47564,16 @@ _02017112: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r1, #0 - lsl r2, r7, #0x1 - lsl r6, r4, #0x3 - lsl r2, r3, #0x8 - lsl r6, r1, #0xd - lsl r4, r2, #0xf - lsl r0, r0, #0x11 - lsl r4, r6, #0x15 +_0201711E: ; jump table (using 16-bit offset) + .short _0201712E - _0201711E - 2; case 0 + .short _0201719A - _0201711E - 2; case 1 + .short _02017206 - _0201711E - 2; case 2 + .short _0201733A - _0201711E - 2; case 3 + .short _0201746E - _0201711E - 2; case 4 + .short _020174F4 - _0201711E - 2; case 5 + .short _02017560 - _0201711E - 2; case 6 + .short _02017694 - _0201711E - 2; case 7 +_0201712E: ldr r2, _02017480 ; =0x04000008 cmp r1, #0x1 ldrh r3, [r2, #0x0] @@ -44776,115 +47631,848 @@ _0201715C: strh r1, [r0, #0x0] pop {r3-r7, pc} _0201719A: - .byte 0xBB, 0x4A, 0x01, 0x29, 0x13, 0x88 - .byte 0x00, 0xAA, 0x93, 0x83, 0x07, 0xD1, 0x93, 0x8B, 0xB6, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C - .byte 0x08, 0x43, 0x90, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x93, 0x8B, 0x3C, 0x21, 0x00, 0x07 - .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x90, 0x83, 0x00, 0xA8, 0x83, 0x8B, 0x08, 0xB0, 0x98, 0x04 - .byte 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18 - .byte 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA6, 0x48 - .byte 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43 - .byte 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B - .byte 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x9C, 0x4B, 0x01, 0x29, 0x1C, 0x88 - .byte 0x00, 0xAB, 0x5C, 0x83, 0x07, 0xD1, 0x5C, 0x8B, 0x96, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C - .byte 0x08, 0x43, 0x58, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x8B, 0x3C, 0x21, 0x00, 0x07 - .byte 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x58, 0x83, 0x00, 0xA8, 0x43, 0x8B, 0xAA, 0x18, 0x8F, 0x4E - .byte 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E - .byte 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43 - .byte 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x84, 0x4A, 0x01, 0x29, 0x13, 0x88 - .byte 0x00, 0xAA, 0x13, 0x83, 0x07, 0xD1, 0x13, 0x8B, 0x7E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C - .byte 0x08, 0x43, 0x10, 0x83, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8B, 0x3C, 0x21, 0x00, 0x07 - .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x83, 0x00, 0xA8, 0x03, 0x8B, 0x77, 0x4E, 0x08, 0xB0 - .byte 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F - .byte 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43 - .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x6C, 0x4A, 0x01, 0x29, 0x13, 0x88 - .byte 0x00, 0xAA, 0xD3, 0x82, 0x07, 0xD1, 0xD3, 0x8A, 0x66, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C - .byte 0x08, 0x43, 0xD0, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x8A, 0x38, 0x21, 0x40, 0x07 - .byte 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x82, 0x00, 0xA8, 0xC3, 0x8A, 0x5F, 0x4E, 0x08, 0xB0 - .byte 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02 - .byte 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43 - .byte 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18 - .byte 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x50, 0x4B - .byte 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x9C, 0x82, 0x07, 0xD1, 0x9C, 0x8A, 0x49, 0x49, 0xC0, 0x06 - .byte 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x98, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x8A - .byte 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43, 0x98, 0x82, 0x00, 0xA8, 0x83, 0x8A - .byte 0xAA, 0x18, 0x43, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F - .byte 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03 - .byte 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x38, 0x4A - .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x53, 0x82, 0x07, 0xD1, 0x53, 0x8A, 0x31, 0x49, 0xC0, 0x06 - .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x50, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x8A - .byte 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x50, 0x82, 0x00, 0xA8, 0x43, 0x8A - .byte 0x2B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04 - .byte 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40 - .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x20, 0x4A - .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x82, 0x07, 0xD1, 0x13, 0x8A, 0x19, 0x49, 0xC0, 0x06 - .byte 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x82, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x8A - .byte 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43, 0x10, 0x82, 0x00, 0xA8, 0x03, 0x8A - .byte 0x13, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04 - .byte 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00 - .byte 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x09, 0x4A - .byte 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x81, 0x14, 0xD1, 0xD3, 0x89, 0x01, 0x49, 0x0B, 0xE0 + ldr r2, _02017488 ; =0x0400000A + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x1c] + bne _020171B6 + ldrh r3, [r2, #0x1c] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x1c] + b _020171C8 +_020171B6: + cmp r1, #0x2 + bne _020171C8 + ldrh r3, [r2, #0x1c] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x1c] +_020171C8: + add r0, sp, #0x0 + ldrh r3, [r0, #0x1c] + add sp, #0x20 + lsl r0, r3, #0x12 + lsr r6, r0, #0x1f + lsl r0, r3, #0x1a + lsr r2, r0, #0x1c + lsl r0, r3, #0x13 + lsr r1, r0, #0x1b + mov r0, #0x2c + mul r0, r4 + add r0, r5, r0 + lsl r3, r3, #0x10 + lsr r5, r3, #0x1e + lsl r3, r2, #0x2 + ldrb r0, [r0, #0x1e] + lsl r2, r1, #0x8 + lsl r4, r6, #0xd + lsl r1, r0, #0x7 + ldr r0, _02017488 ; =0x0400000A + mov r6, #0x43 + ldrh r7, [r0, #0x0] + lsl r5, r5, #0xe + and r6, r7 + orr r5, r6 + orr r1, r5 + orr r1, r2 + orr r1, r3 + orr r1, r4 + strh r1, [r0, #0x0] + pop {r3-r7, pc} +_02017206: + mov r2, #0x2c + mul r2, r4 + add r3, r5, r2 + ldrb r3, [r3, #0x1c] + cmp r3, #0x0 + beq _0201721A + cmp r3, #0x1 + beq _0201727A + cmp r3, #0x2 + beq _020172DA +_0201721A: + ldr r3, _0201748C ; =0x0400000C + cmp r1, #0x1 + ldrh r4, [r3, #0x0] + add r3, sp, #0x0 + strh r4, [r3, #0x1a] + bne _02017236 + ldrh r4, [r3, #0x1a] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r4 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r3, #0x1a] + b _02017248 +_02017236: + cmp r1, #0x2 + bne _02017248 + ldrh r4, [r3, #0x1a] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r4, r1 + lsr r0, r0, #0x1a + orr r0, r4 + strh r0, [r3, #0x1a] +_02017248: + add r0, sp, #0x0 + ldrh r3, [r0, #0x1a] + add r2, r5, r2 + ldr r6, _0201748C ; =0x0400000C + lsl r0, r3, #0x1a + ldrb r4, [r2, #0x1e] + lsr r1, r0, #0x1c + lsl r0, r3, #0x13 + lsl r2, r3, #0x10 + lsr r3, r2, #0x1e + ldrh r5, [r6, #0x0] + lsr r0, r0, #0x1b + lsl r2, r1, #0x2 + lsl r1, r0, #0x8 + lsl r0, r4, #0x7 + mov r4, #0x43 + and r4, r5 + lsl r3, r3, #0xe + orr r3, r4 + orr r0, r3 + orr r0, r1 + orr r0, r2 + add sp, #0x20 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0201727A: + ldr r2, _0201748C ; =0x0400000C + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x18] + bne _02017296 + ldrh r3, [r2, #0x18] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x18] + b _020172A8 +_02017296: + cmp r1, #0x2 + bne _020172A8 + ldrh r3, [r2, #0x18] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x18] +_020172A8: + add r0, sp, #0x0 + ldrh r3, [r0, #0x18] + ldr r6, _0201748C ; =0x0400000C + add sp, #0x20 + lsl r1, r3, #0x13 + lsl r0, r3, #0x1a + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsr r0, r0, #0x1c + lsl r1, r0, #0x2 + lsl r0, r4, #0x8 + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_020172DA: + ldr r2, _0201748C ; =0x0400000C + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x16] + bne _020172F6 + ldrh r3, [r2, #0x16] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x16] + b _02017308 +_020172F6: + cmp r1, #0x2 + bne _02017308 + ldrh r3, [r2, #0x16] + mov r1, #0x38 + lsl r0, r0, #0x1d + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x16] +_02017308: + add r0, sp, #0x0 + ldrh r3, [r0, #0x16] + ldr r6, _0201748C ; =0x0400000C + add sp, #0x20 + lsl r1, r3, #0x13 + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r0, r3, #0x1a + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsl r1, r4, #0x8 + lsr r0, r0, #0x1d + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + lsl r0, r0, #0x2 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0201733A: + mov r2, #0x2c + mul r2, r4 + add r3, r5, r2 + ldrb r3, [r3, #0x1c] + cmp r3, #0x0 + beq _0201734E + cmp r3, #0x1 + beq _020173AE + cmp r3, #0x2 + beq _0201740E +_0201734E: + ldr r3, _02017490 ; =0x0400000E + cmp r1, #0x1 + ldrh r4, [r3, #0x0] + add r3, sp, #0x0 + strh r4, [r3, #0x14] + bne _0201736A + ldrh r4, [r3, #0x14] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r4 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r3, #0x14] + b _0201737C +_0201736A: + cmp r1, #0x2 + bne _0201737C + ldrh r4, [r3, #0x14] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r4, r1 + lsr r0, r0, #0x1a + orr r0, r4 + strh r0, [r3, #0x14] +_0201737C: + add r0, sp, #0x0 + ldrh r3, [r0, #0x14] + add r2, r5, r2 + ldr r6, _02017490 ; =0x0400000E + lsl r0, r3, #0x1a + ldrb r4, [r2, #0x1e] + lsr r1, r0, #0x1c + lsl r0, r3, #0x13 + lsl r2, r3, #0x10 + lsr r3, r2, #0x1e + ldrh r5, [r6, #0x0] + lsr r0, r0, #0x1b + lsl r2, r1, #0x2 + lsl r1, r0, #0x8 + lsl r0, r4, #0x7 + mov r4, #0x43 + and r4, r5 + lsl r3, r3, #0xe + orr r3, r4 + orr r0, r3 + orr r0, r1 + orr r0, r2 + add sp, #0x20 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_020173AE: + ldr r2, _02017490 ; =0x0400000E + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x12] + bne _020173CA + ldrh r3, [r2, #0x12] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x12] + b _020173DC +_020173CA: + cmp r1, #0x2 + bne _020173DC + ldrh r3, [r2, #0x12] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x12] +_020173DC: + add r0, sp, #0x0 + ldrh r3, [r0, #0x12] + ldr r6, _02017490 ; =0x0400000E + add sp, #0x20 + lsl r1, r3, #0x13 + lsl r0, r3, #0x1a + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsr r0, r0, #0x1c + lsl r1, r0, #0x2 + lsl r0, r4, #0x8 + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0201740E: + ldr r2, _02017490 ; =0x0400000E + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x10] + bne _0201742A + ldrh r3, [r2, #0x10] + ldr r1, _02017484 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x10] + b _0201743C +_0201742A: + cmp r1, #0x2 + bne _0201743C + ldrh r3, [r2, #0x10] + mov r1, #0x38 + lsl r0, r0, #0x1d + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x10] +_0201743C: + add r0, sp, #0x0 + ldrh r3, [r0, #0x10] + ldr r6, _02017490 ; =0x0400000E + add sp, #0x20 + lsl r1, r3, #0x13 + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r0, r3, #0x1a + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsl r1, r4, #0x8 + lsr r0, r0, #0x1d + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + lsl r0, r0, #0x2 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_0201746E: + ldr r2, _02017494 ; =0x04001008 + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0xe] + bne _020174A4 + ldrh r3, [r2, #0xe] + ldr r1, _02017484 ; =0xFFFFE0FF + b _02017498 + .balign 4 _02017480: .word 0x04000008 _02017484: .word 0xFFFFE0FF -_02017488: - .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04 - .byte 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 - .byte 0xD0, 0x81, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43 - .byte 0x80, 0x0E, 0x18, 0x43, 0xD0, 0x81, 0x00, 0xA8, 0xC3, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F - .byte 0x98, 0x06, 0x02, 0x0F, 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04 - .byte 0x9D, 0x0F, 0x93, 0x00, 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xBA, 0x48, 0x43, 0x26 - .byte 0x07, 0x88, 0xAD, 0x03, 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43 - .byte 0x01, 0x80, 0xF8, 0xBD, 0xB5, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x93, 0x81, 0x07, 0xD1 - .byte 0x93, 0x89, 0xB3, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x90, 0x81, 0x08, 0xE0 - .byte 0x02, 0x29, 0x06, 0xD1, 0x93, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 - .byte 0x90, 0x81, 0x00, 0xA8, 0x83, 0x89, 0x08, 0xB0, 0x98, 0x04, 0xC6, 0x0F, 0x98, 0x06, 0x02, 0x0F - .byte 0xD8, 0x04, 0xC1, 0x0E, 0x2C, 0x20, 0x60, 0x43, 0x28, 0x18, 0x1B, 0x04, 0x9D, 0x0F, 0x93, 0x00 - .byte 0x80, 0x7F, 0x0A, 0x02, 0x74, 0x03, 0xC1, 0x01, 0xA0, 0x48, 0x43, 0x26, 0x07, 0x88, 0xAD, 0x03 - .byte 0x3E, 0x40, 0x35, 0x43, 0x29, 0x43, 0x11, 0x43, 0x19, 0x43, 0x21, 0x43, 0x01, 0x80, 0xF8, 0xBD - .byte 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0, 0x01, 0x2B, 0x31, 0xD0 - .byte 0x02, 0x2B, 0x5F, 0xD0, 0x97, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB, 0x5C, 0x81, 0x07, 0xD1 - .byte 0x5C, 0x89, 0x93, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x58, 0x81, 0x08, 0xE0 - .byte 0x02, 0x29, 0x06, 0xD1, 0x5C, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43, 0x80, 0x0E, 0x20, 0x43 - .byte 0x58, 0x81, 0x00, 0xA8, 0x43, 0x89, 0xAA, 0x18, 0x8A, 0x4E, 0x98, 0x06, 0x94, 0x7F, 0x01, 0x0F - .byte 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00, 0x01, 0x02, 0xE0, 0x01 - .byte 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43, 0x10, 0x43, 0x08, 0xB0 - .byte 0x30, 0x80, 0xF8, 0xBD, 0x7F, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0x13, 0x81, 0x07, 0xD1 - .byte 0x13, 0x89, 0x7B, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0x10, 0x81, 0x08, 0xE0 - .byte 0x02, 0x29, 0x06, 0xD1, 0x13, 0x89, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 - .byte 0x10, 0x81, 0x00, 0xA8, 0x03, 0x89, 0x73, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0x98, 0x06, 0xCC, 0x0E - .byte 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00, 0x20, 0x02, 0x35, 0x88 - .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43 - .byte 0x30, 0x80, 0xF8, 0xBD, 0x67, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA, 0xD3, 0x80, 0x07, 0xD1 - .byte 0xD3, 0x88, 0x63, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43, 0xD0, 0x80, 0x08, 0xE0 - .byte 0x02, 0x29, 0x06, 0xD1, 0xD3, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43, 0x80, 0x0E, 0x18, 0x43 - .byte 0xD0, 0x80, 0x00, 0xA8, 0xC3, 0x88, 0x5B, 0x4E, 0x08, 0xB0, 0xD9, 0x04, 0xCC, 0x0E, 0x99, 0x04 - .byte 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88, 0x43, 0x24 - .byte 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43, 0x10, 0x43 - .byte 0x30, 0x80, 0xF8, 0xBD, 0x2C, 0x22, 0x62, 0x43, 0xAB, 0x18, 0x1B, 0x7F, 0x00, 0x2B, 0x03, 0xD0 - .byte 0x01, 0x2B, 0x31, 0xD0, 0x02, 0x2B, 0x5F, 0xD0, 0x4B, 0x4B, 0x01, 0x29, 0x1C, 0x88, 0x00, 0xAB - .byte 0x9C, 0x80, 0x07, 0xD1, 0x9C, 0x88, 0x46, 0x49, 0xC0, 0x06, 0x21, 0x40, 0xC0, 0x0C, 0x08, 0x43 - .byte 0x98, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x9C, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8C, 0x43 - .byte 0x80, 0x0E, 0x20, 0x43, 0x98, 0x80, 0x00, 0xA8, 0x83, 0x88, 0xAA, 0x18, 0x3E, 0x4E, 0x98, 0x06 - .byte 0x94, 0x7F, 0x01, 0x0F, 0xD8, 0x04, 0x1A, 0x04, 0x93, 0x0F, 0x35, 0x88, 0xC0, 0x0E, 0x8A, 0x00 - .byte 0x01, 0x02, 0xE0, 0x01, 0x43, 0x24, 0x2C, 0x40, 0x9B, 0x03, 0x23, 0x43, 0x18, 0x43, 0x08, 0x43 - .byte 0x10, 0x43, 0x08, 0xB0, 0x30, 0x80, 0xF8, 0xBD, 0x33, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA - .byte 0x53, 0x80, 0x07, 0xD1, 0x53, 0x88, 0x2E, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 - .byte 0x50, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x53, 0x88, 0x3C, 0x21, 0x00, 0x07, 0x8B, 0x43 - .byte 0x80, 0x0E, 0x18, 0x43, 0x50, 0x80, 0x00, 0xA8, 0x43, 0x88, 0x27, 0x4E, 0x08, 0xB0, 0xD9, 0x04 - .byte 0x98, 0x06, 0xCC, 0x0E, 0x99, 0x04, 0xCA, 0x0F, 0x19, 0x04, 0x8B, 0x0F, 0x00, 0x0F, 0x81, 0x00 - .byte 0x20, 0x02, 0x35, 0x88, 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03 - .byte 0x08, 0x43, 0x10, 0x43, 0x30, 0x80, 0xF8, 0xBD, 0x1B, 0x4A, 0x01, 0x29, 0x13, 0x88, 0x00, 0xAA - .byte 0x13, 0x80, 0x07, 0xD1, 0x13, 0x88, 0x16, 0x49, 0xC0, 0x06, 0x19, 0x40, 0xC0, 0x0C, 0x08, 0x43 - .byte 0x10, 0x80, 0x08, 0xE0, 0x02, 0x29, 0x06, 0xD1, 0x13, 0x88, 0x38, 0x21, 0x40, 0x07, 0x8B, 0x43 - .byte 0x80, 0x0E, 0x18, 0x43, 0x10, 0x80, 0x00, 0xA8, 0x03, 0x88, 0x0F, 0x4E, 0xD9, 0x04, 0xCC, 0x0E - .byte 0x99, 0x04, 0xCA, 0x0F, 0x98, 0x06, 0x19, 0x04, 0x8B, 0x0F, 0x21, 0x02, 0x40, 0x0F, 0x35, 0x88 - .byte 0x43, 0x24, 0x9B, 0x03, 0x2C, 0x40, 0x80, 0x00, 0x23, 0x43, 0x18, 0x43, 0x52, 0x03, 0x08, 0x43 - .byte 0x10, 0x43, 0x30, 0x80 +_02017488: .word 0x0400000A +_0201748C: .word 0x0400000C +_02017490: .word 0x0400000E +_02017494: .word 0x04001008 +_02017498: + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0xe] + b _020174B6 +_020174A4: + cmp r1, #0x2 + bne _020174B6 + ldrh r3, [r2, #0xe] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0xe] +_020174B6: + add r0, sp, #0x0 + ldrh r3, [r0, #0xe] + add sp, #0x20 + lsl r0, r3, #0x12 + lsr r6, r0, #0x1f + lsl r0, r3, #0x1a + lsr r2, r0, #0x1c + lsl r0, r3, #0x13 + lsr r1, r0, #0x1b + mov r0, #0x2c + mul r0, r4 + add r0, r5, r0 + lsl r3, r3, #0x10 + lsr r5, r3, #0x1e + lsl r3, r2, #0x2 + ldrb r0, [r0, #0x1e] + lsl r2, r1, #0x8 + lsl r4, r6, #0xd + lsl r1, r0, #0x7 + ldr r0, _020177C8 ; =0x04001008 + mov r6, #0x43 + ldrh r7, [r0, #0x0] + lsl r5, r5, #0xe + and r6, r7 + orr r5, r6 + orr r1, r5 + orr r1, r2 + orr r1, r3 + orr r1, r4 + strh r1, [r0, #0x0] + pop {r3-r7, pc} +_020174F4: + ldr r2, _020177CC ; =0x0400100A + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0xc] + bne _02017510 + ldrh r3, [r2, #0xc] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0xc] + b _02017522 +_02017510: + cmp r1, #0x2 + bne _02017522 + ldrh r3, [r2, #0xc] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0xc] +_02017522: + add r0, sp, #0x0 + ldrh r3, [r0, #0xc] + add sp, #0x20 + lsl r0, r3, #0x12 + lsr r6, r0, #0x1f + lsl r0, r3, #0x1a + lsr r2, r0, #0x1c + lsl r0, r3, #0x13 + lsr r1, r0, #0x1b + mov r0, #0x2c + mul r0, r4 + add r0, r5, r0 + lsl r3, r3, #0x10 + lsr r5, r3, #0x1e + lsl r3, r2, #0x2 + ldrb r0, [r0, #0x1e] + lsl r2, r1, #0x8 + lsl r4, r6, #0xd + lsl r1, r0, #0x7 + ldr r0, _020177CC ; =0x0400100A + mov r6, #0x43 + ldrh r7, [r0, #0x0] + lsl r5, r5, #0xe + and r6, r7 + orr r5, r6 + orr r1, r5 + orr r1, r2 + orr r1, r3 + orr r1, r4 + strh r1, [r0, #0x0] + pop {r3-r7, pc} +_02017560: + mov r2, #0x2c + mul r2, r4 + add r3, r5, r2 + ldrb r3, [r3, #0x1c] + cmp r3, #0x0 + beq _02017574 + cmp r3, #0x1 + beq _020175D4 + cmp r3, #0x2 + beq _02017634 +_02017574: + ldr r3, _020177D4 ; =0x0400100C + cmp r1, #0x1 + ldrh r4, [r3, #0x0] + add r3, sp, #0x0 + strh r4, [r3, #0xa] + bne _02017590 + ldrh r4, [r3, #0xa] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r4 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r3, #0xa] + b _020175A2 +_02017590: + cmp r1, #0x2 + bne _020175A2 + ldrh r4, [r3, #0xa] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r4, r1 + lsr r0, r0, #0x1a + orr r0, r4 + strh r0, [r3, #0xa] +_020175A2: + add r0, sp, #0x0 + ldrh r3, [r0, #0xa] + add r2, r5, r2 + ldr r6, _020177D4 ; =0x0400100C + lsl r0, r3, #0x1a + ldrb r4, [r2, #0x1e] + lsr r1, r0, #0x1c + lsl r0, r3, #0x13 + lsl r2, r3, #0x10 + lsr r3, r2, #0x1e + ldrh r5, [r6, #0x0] + lsr r0, r0, #0x1b + lsl r2, r1, #0x2 + lsl r1, r0, #0x8 + lsl r0, r4, #0x7 + mov r4, #0x43 + and r4, r5 + lsl r3, r3, #0xe + orr r3, r4 + orr r0, r3 + orr r0, r1 + orr r0, r2 + add sp, #0x20 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_020175D4: + ldr r2, _020177D4 ; =0x0400100C + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x8] + bne _020175F0 + ldrh r3, [r2, #0x8] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x8] + b _02017602 +_020175F0: + cmp r1, #0x2 + bne _02017602 + ldrh r3, [r2, #0x8] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x8] +_02017602: + add r0, sp, #0x0 + ldrh r3, [r0, #0x8] + ldr r6, _020177D4 ; =0x0400100C + add sp, #0x20 + lsl r1, r3, #0x13 + lsl r0, r3, #0x1a + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsr r0, r0, #0x1c + lsl r1, r0, #0x2 + lsl r0, r4, #0x8 + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_02017634: + ldr r2, _020177D4 ; =0x0400100C + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x6] + bne _02017650 + ldrh r3, [r2, #0x6] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x6] + b _02017662 +_02017650: + cmp r1, #0x2 + bne _02017662 + ldrh r3, [r2, #0x6] + mov r1, #0x38 + lsl r0, r0, #0x1d + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x6] +_02017662: + add r0, sp, #0x0 + ldrh r3, [r0, #0x6] + ldr r6, _020177D4 ; =0x0400100C + add sp, #0x20 + lsl r1, r3, #0x13 + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r0, r3, #0x1a + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsl r1, r4, #0x8 + lsr r0, r0, #0x1d + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + lsl r0, r0, #0x2 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_02017694: + mov r2, #0x2c + mul r2, r4 + add r3, r5, r2 + ldrb r3, [r3, #0x1c] + cmp r3, #0x0 + beq _020176A8 + cmp r3, #0x1 + beq _02017708 + cmp r3, #0x2 + beq _02017768 +_020176A8: + ldr r3, _020177D8 ; =0x0400100E + cmp r1, #0x1 + ldrh r4, [r3, #0x0] + add r3, sp, #0x0 + strh r4, [r3, #0x4] + bne _020176C4 + ldrh r4, [r3, #0x4] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r4 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r3, #0x4] + b _020176D6 +_020176C4: + cmp r1, #0x2 + bne _020176D6 + ldrh r4, [r3, #0x4] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r4, r1 + lsr r0, r0, #0x1a + orr r0, r4 + strh r0, [r3, #0x4] +_020176D6: + add r0, sp, #0x0 + ldrh r3, [r0, #0x4] + add r2, r5, r2 + ldr r6, _020177D8 ; =0x0400100E + lsl r0, r3, #0x1a + ldrb r4, [r2, #0x1e] + lsr r1, r0, #0x1c + lsl r0, r3, #0x13 + lsl r2, r3, #0x10 + lsr r3, r2, #0x1e + ldrh r5, [r6, #0x0] + lsr r0, r0, #0x1b + lsl r2, r1, #0x2 + lsl r1, r0, #0x8 + lsl r0, r4, #0x7 + mov r4, #0x43 + and r4, r5 + lsl r3, r3, #0xe + orr r3, r4 + orr r0, r3 + orr r0, r1 + orr r0, r2 + add sp, #0x20 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_02017708: + ldr r2, _020177D8 ; =0x0400100E + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x2] + bne _02017724 + ldrh r3, [r2, #0x2] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x2] + b _02017736 +_02017724: + cmp r1, #0x2 + bne _02017736 + ldrh r3, [r2, #0x2] + mov r1, #0x3c + lsl r0, r0, #0x1c + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x2] +_02017736: + add r0, sp, #0x0 + ldrh r3, [r0, #0x2] + ldr r6, _020177D8 ; =0x0400100E + add sp, #0x20 + lsl r1, r3, #0x13 + lsl r0, r3, #0x1a + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsr r0, r0, #0x1c + lsl r1, r0, #0x2 + lsl r0, r4, #0x8 + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] + pop {r3-r7, pc} +_02017768: + ldr r2, _020177D8 ; =0x0400100E + cmp r1, #0x1 + ldrh r3, [r2, #0x0] + add r2, sp, #0x0 + strh r3, [r2, #0x0] + bne _02017784 + ldrh r3, [r2, #0x0] + ldr r1, _020177D0 ; =0xFFFFE0FF + lsl r0, r0, #0x1b + and r1, r3 + lsr r0, r0, #0x13 + orr r0, r1 + strh r0, [r2, #0x0] + b _02017796 +_02017784: + cmp r1, #0x2 + bne _02017796 + ldrh r3, [r2, #0x0] + mov r1, #0x38 + lsl r0, r0, #0x1d + bic r3, r1 + lsr r0, r0, #0x1a + orr r0, r3 + strh r0, [r2, #0x0] +_02017796: + add r0, sp, #0x0 + ldrh r3, [r0, #0x0] + ldr r6, _020177D8 ; =0x0400100E + lsl r1, r3, #0x13 + lsr r4, r1, #0x1b + lsl r1, r3, #0x12 + lsr r2, r1, #0x1f + lsl r0, r3, #0x1a + lsl r1, r3, #0x10 + lsr r3, r1, #0x1e + lsl r1, r4, #0x8 + lsr r0, r0, #0x1d + ldrh r5, [r6, #0x0] + mov r4, #0x43 + lsl r3, r3, #0xe + and r4, r5 + lsl r0, r0, #0x2 + orr r3, r4 + orr r0, r3 + lsl r2, r2, #0xd + orr r0, r1 + orr r0, r2 + strh r0, [r6, #0x0] _020177C4: add sp, #0x20 pop {r3-r7, pc} -_020177C8: - .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04 - .byte 0xFF, 0xE0, 0xFF, 0xFF, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 + .balign 4 +_020177C8: .word 0x04001008 +_020177CC: .word 0x0400100A +_020177D0: .word 0xFFFFE0FF +_020177D4: .word 0x0400100C +_020177D8: .word 0x0400100E thumb_func_start FUN_020177DC FUN_020177DC: ; 0x020177DC @@ -44970,20 +48558,44 @@ FUN_02017850: ; 0x02017850 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r2, #0 - lsl r2, r3, #0 - lsl r4, r4, #0 - lsl r6, r5, #0 - lsl r6, r6, #0 +_02017860: ; jump table (using 16-bit offset) + .short _0201786C - _02017860 - 2; case 0 + .short _02017874 - _02017860 - 2; case 1 + .short _0201787C - _02017860 - 2; case 2 + .short _02017886 - _02017860 - 2; case 3 + .short _02017890 - _02017860 - 2; case 4 + .short _02017898 - _02017860 - 2; case 5 +_0201786C: mov r0, #0x10 strb r0, [r1, #0x0] strb r0, [r2, #0x0] bx lr _02017874: - .byte 0x20, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x20, 0x20, 0x08, 0x70 - .byte 0x40, 0x20, 0x10, 0x70, 0x70, 0x47, 0x40, 0x20, 0x08, 0x70, 0x20, 0x20, 0x10, 0x70, 0x70, 0x47 - .byte 0x40, 0x20, 0x08, 0x70, 0x10, 0x70, 0x70, 0x47, 0x80, 0x20, 0x08, 0x70, 0x10, 0x70 + mov r0, #0x20 + strb r0, [r1, #0x0] + strb r0, [r2, #0x0] + bx lr +_0201787C: + mov r0, #0x20 + strb r0, [r1, #0x0] + mov r0, #0x40 + strb r0, [r2, #0x0] + bx lr +_02017886: + mov r0, #0x40 + strb r0, [r1, #0x0] + mov r0, #0x20 + strb r0, [r2, #0x0] + bx lr +_02017890: + mov r0, #0x40 + strb r0, [r1, #0x0] + strb r0, [r2, #0x0] + bx lr +_02017898: + mov r0, #0x80 + strb r0, [r1, #0x0] + strb r0, [r2, #0x0] _0201789E: bx lr @@ -45014,14 +48626,16 @@ FUN_020178BC: ; 0x020178BC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r3, #0 - lsl r6, r5, #0 - lsl r6, r7, #0 - lsl r6, r1, #0x1 - lsl r6, r3, #0x1 - lsl r6, r5, #0x1 - lsl r6, r7, #0x1 +_020178CC: ; jump table (using 16-bit offset) + .short _020178DC - _020178CC - 2; case 0 + .short _020178EC - _020178CC - 2; case 1 + .short _020178FC - _020178CC - 2; case 2 + .short _0201790C - _020178CC - 2; case 3 + .short _0201791C - _020178CC - 2; case 4 + .short _0201792C - _020178CC - 2; case 5 + .short _0201793C - _020178CC - 2; case 6 + .short _0201794C - _020178CC - 2; case 7 +_020178DC: ldr r2, _0201795C ; =0x04000008 mov r0, #0x3 ldrh r3, [r2, #0x0] @@ -45031,21 +48645,78 @@ FUN_020178BC: ; 0x020178BC strh r0, [r2, #0x0] bx lr _020178EC: - .byte 0x1C, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x19, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x16, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x13, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x10, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0D, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80, 0x70, 0x47, 0x0A, 0x4A, 0x03, 0x20 - .byte 0x13, 0x88, 0x83, 0x43, 0x18, 0x1C, 0x08, 0x43, 0x10, 0x80 + ldr r2, _02017960 ; =0x0400000A + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_020178FC: + ldr r2, _02017964 ; =0x0400000C + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201790C: + ldr r2, _02017968 ; =0x0400000E + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201791C: + ldr r2, _0201796C ; =0x04001008 + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201792C: + ldr r2, _02017970 ; =0x0400100A + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201793C: + ldr r2, _02017974 ; =0x0400100C + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] + bx lr +_0201794C: + ldr r2, _02017978 ; =0x0400100E + mov r0, #0x3 + ldrh r3, [r2, #0x0] + bic r3, r0 + add r0, r3, #0x0 + orr r0, r1 + strh r0, [r2, #0x0] _0201795A: bx lr .balign 4 _0201795C: .word 0x04000008 -_02017960: - .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04, 0x08, 0x10, 0x00, 0x04 - .byte 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 +_02017960: .word 0x0400000A +_02017964: .word 0x0400000C +_02017968: .word 0x0400000E +_0201796C: .word 0x04001008 +_02017970: .word 0x0400100A +_02017974: .word 0x0400100C +_02017978: .word 0x0400100E thumb_func_start FUN_0201797C FUN_0201797C: ; 0x0201797C @@ -45058,27 +48729,51 @@ FUN_0201797C: ; 0x0201797C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 - lsl r6, r5, #0 - lsl r6, r6, #0 - lsl r6, r7, #0 - lsl r6, r0, #0x1 +_0201798E: ; jump table (using 16-bit offset) + .short _0201799E - _0201798E - 2; case 0 + .short _020179A6 - _0201798E - 2; case 1 + .short _020179AE - _0201798E - 2; case 2 + .short _020179B6 - _0201798E - 2; case 3 + .short _020179BE - _0201798E - 2; case 4 + .short _020179C6 - _0201798E - 2; case 5 + .short _020179CE - _0201798E - 2; case 6 + .short _020179D6 - _0201798E - 2; case 7 +_0201799E: mov r0, #0x1 bl FUN_0201E6E4 pop {r3, pc} _020179A6: - .byte 0x02, 0x20, 0x06, 0xF0, 0x9C, 0xFE, 0x08, 0xBD, 0x04, 0x20 - .byte 0x06, 0xF0, 0x98, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0x94, 0xFE, 0x08, 0xBD, 0x01, 0x20 - .byte 0x06, 0xF0, 0xC4, 0xFE, 0x08, 0xBD, 0x02, 0x20, 0x06, 0xF0, 0xC0, 0xFE, 0x08, 0xBD, 0x04, 0x20 - .byte 0x06, 0xF0, 0xBC, 0xFE, 0x08, 0xBD, 0x08, 0x20, 0x06, 0xF0, 0xB8, 0xFE -_020179DC: + mov r0, #0x2 + bl FUN_0201E6E4 pop {r3, pc} - .balign 4 - - thumb_func_start FUN_020179E0 +_020179AE: + mov r0, #0x4 + bl FUN_0201E6E4 + pop {r3, pc} +_020179B6: + mov r0, #0x8 + bl FUN_0201E6E4 + pop {r3, pc} +_020179BE: + mov r0, #0x1 + bl FUN_0201E74C + pop {r3, pc} +_020179C6: + mov r0, #0x2 + bl FUN_0201E74C + pop {r3, pc} +_020179CE: + mov r0, #0x4 + bl FUN_0201E74C + pop {r3, pc} +_020179D6: + mov r0, #0x8 + bl FUN_0201E74C +_020179DC: + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_020179E0 FUN_020179E0: ; 0x020179E0 push {r4-r6, lr} add r5, r1, #0x0 @@ -45105,14 +48800,16 @@ _02017A06: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r1, #0 - lsl r4, r4, #0 - lsl r2, r7, #0 - lsl r4, r4, #0x1 - lsl r6, r1, #0x2 - lsl r4, r4, #0x2 - lsl r2, r7, #0x2 - lsl r2, r4, #0x3 +_02017A12: ; jump table (using 16-bit offset) + .short _02017A22 - _02017A12 - 2; case 0 + .short _02017A38 - _02017A12 - 2; case 1 + .short _02017A4E - _02017A12 - 2; case 2 + .short _02017A78 - _02017A12 - 2; case 3 + .short _02017AA2 - _02017A12 - 2; case 4 + .short _02017AB8 - _02017A12 - 2; case 5 + .short _02017ACE - _02017A12 - 2; case 6 + .short _02017AF6 - _02017A12 - 2; case 7 +_02017A22: ldr r2, _02017B20 ; =0x000001FF add r3, r1, #0x0 lsl r1, r0, #0x10 @@ -45125,30 +48822,139 @@ _02017A06: str r1, [r0, #0x0] pop {r4-r6, pc} _02017A38: - .byte 0x39, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 - .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x37, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x22, 0x1C - .byte 0x74, 0x32, 0x12, 0x78, 0x00, 0x2A, 0x0A, 0xD1, 0x31, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 - .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x30, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C - .byte 0x02, 0x21, 0x00, 0xF0, 0xFB, 0xF8, 0x70, 0xBD, 0x22, 0x1C, 0xA0, 0x32, 0x12, 0x78, 0x00, 0x2A - .byte 0x0A, 0xD1, 0x27, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C - .byte 0x01, 0x43, 0x27, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x03, 0x21, 0x00, 0xF0, 0xE6, 0xF8 - .byte 0x70, 0xBD, 0x1F, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04, 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C - .byte 0x01, 0x43, 0x20, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x19, 0x4A, 0x0B, 0x1C, 0x01, 0x04, 0x10, 0x04 - .byte 0x13, 0x40, 0x08, 0x40, 0x19, 0x1C, 0x01, 0x43, 0x1B, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x49, 0x22 - .byte 0x92, 0x00, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1, 0xDB, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x17, 0x48 - .byte 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x16, 0x48, 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x06, 0x21 - .byte 0x00, 0xF0, 0xBC, 0xF8, 0x70, 0xBD, 0x15, 0x22, 0x12, 0x01, 0xA3, 0x5C, 0x00, 0x2B, 0x09, 0xD1 - .byte 0xAF, 0x32, 0x0A, 0x40, 0x01, 0x04, 0x0D, 0x48, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x0D, 0x48 - .byte 0x01, 0x60, 0x70, 0xBD, 0x20, 0x1C, 0x07, 0x21, 0x00, 0xF0, 0xA8, 0xF8 + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B28 ; =0x04000014 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017A4E: + add r2, r4, #0x0 + add r2, #0x74 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _02017A6E + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B2C ; =0x04000018 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017A6E: + add r0, r4, #0x0 + mov r1, #0x2 + bl FUN_02017C6C + pop {r4-r6, pc} +_02017A78: + add r2, r4, #0x0 + add r2, #0xa0 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _02017A98 + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B30 ; =0x0400001C + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017A98: + add r0, r4, #0x0 + mov r1, #0x3 + bl FUN_02017C6C + pop {r4-r6, pc} +_02017AA2: + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B34 ; =0x04001010 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017AB8: + ldr r2, _02017B20 ; =0x000001FF + add r3, r1, #0x0 + lsl r1, r0, #0x10 + lsl r0, r2, #0x10 + and r3, r2 + and r0, r1 + add r1, r3, #0x0 + orr r1, r0 + ldr r0, _02017B38 ; =0x04001014 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017ACE: + mov r2, #0x49 + lsl r2, r2, #0x2 + ldrb r3, [r4, r2] + cmp r3, #0x0 + bne _02017AEC + add r2, #0xdb + and r2, r1 + lsl r1, r0, #0x10 + ldr r0, _02017B3C ; =0x01FF0000 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _02017B40 ; =0x04001018 + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017AEC: + add r0, r4, #0x0 + mov r1, #0x6 + bl FUN_02017C6C + pop {r4-r6, pc} +_02017AF6: + mov r2, #0x15 + lsl r2, r2, #0x4 + ldrb r3, [r4, r2] + cmp r3, #0x0 + bne _02017B14 + add r2, #0xaf + and r2, r1 + lsl r1, r0, #0x10 + ldr r0, _02017B3C ; =0x01FF0000 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _02017B44 ; =0x0400101C + str r1, [r0, #0x0] + pop {r4-r6, pc} +_02017B14: + add r0, r4, #0x0 + mov r1, #0x7 + bl FUN_02017C6C _02017B1C: pop {r4-r6, pc} nop _02017B20: .word 0x000001FF _02017B24: .word 0x04000010 -_02017B28: - .byte 0x14, 0x00, 0x00, 0x04, 0x18, 0x00, 0x00, 0x04 - .byte 0x1C, 0x00, 0x00, 0x04, 0x10, 0x10, 0x00, 0x04, 0x14, 0x10, 0x00, 0x04, 0x00, 0x00, 0xFF, 0x01 - .byte 0x18, 0x10, 0x00, 0x04, 0x1C, 0x10, 0x00, 0x04 +_02017B28: .word 0x04000014 +_02017B2C: .word 0x04000018 +_02017B30: .word 0x0400001C +_02017B34: .word 0x04001010 +_02017B38: .word 0x04001014 +_02017B3C: .word 0x01FF0000 +_02017B40: .word 0x04001018 +_02017B44: .word 0x0400101C thumb_func_start FUN_02017B48 FUN_02017B48: ; 0x02017B48 @@ -45201,18 +49007,38 @@ FUN_02017B8C: ; 0x02017B8C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r2, r5, #0 +_02017B9C: ; jump table (using 16-bit offset) + .short _02017BA8 - _02017B9C - 2; case 0 + .short _02017BAC - _02017B9C - 2; case 1 + .short _02017BB4 - _02017B9C - 2; case 2 + .short _02017BBC - _02017B9C - 2; case 3 + .short _02017BC0 - _02017B9C - 2; case 4 + .short _02017BC8 - _02017B9C - 2; case 5 +_02017BA8: str r2, [r0, #0xc] bx lr _02017BAC: - .byte 0xC1, 0x68, 0x89, 0x18 - .byte 0xC1, 0x60, 0x70, 0x47, 0xC1, 0x68, 0x89, 0x1A, 0xC1, 0x60, 0x70, 0x47, 0x02, 0x61, 0x70, 0x47 - .byte 0x01, 0x69, 0x89, 0x18, 0x01, 0x61, 0x70, 0x47, 0x01, 0x69, 0x89, 0x1A, 0x01, 0x61 + ldr r1, [r0, #0xc] + add r1, r1, r2 + str r1, [r0, #0xc] + bx lr +_02017BB4: + ldr r1, [r0, #0xc] + sub r1, r1, r2 + str r1, [r0, #0xc] + bx lr +_02017BBC: + str r2, [r0, #0x10] + bx lr +_02017BC0: + ldr r1, [r0, #0x10] + add r1, r1, r2 + str r1, [r0, #0x10] + bx lr +_02017BC8: + ldr r1, [r0, #0x10] + sub r1, r1, r2 + str r1, [r0, #0x10] _02017BCE: bx lr @@ -45232,14 +49058,16 @@ FUN_02017BD0: ; 0x02017BD0 lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 - lsl r2, r5, #0x1 - lsl r2, r5, #0x1 - lsl r6, r1, #0 - lsl r6, r4, #0 - lsl r2, r5, #0x1 - lsl r2, r5, #0x1 - lsl r6, r7, #0 - lsl r6, r2, #0x1 +_02017BEC: ; jump table (using 16-bit offset) + .short _02017C58 - _02017BEC - 2; case 0 + .short _02017C58 - _02017BEC - 2; case 1 + .short _02017BFC - _02017BEC - 2; case 2 + .short _02017C14 - _02017BEC - 2; case 3 + .short _02017C58 - _02017BEC - 2; case 4 + .short _02017C58 - _02017BEC - 2; case 5 + .short _02017C2C - _02017BEC - 2; case 6 + .short _02017C44 - _02017BEC - 2; case 7 +_02017BFC: mov r5, #0x2c mul r5, r4 add r4, r0, r5 @@ -45252,18 +49080,47 @@ FUN_02017BD0: ; 0x02017BD0 add sp, #0x8 pop {r3-r5, pc} _02017C14: - .byte 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69 - .byte 0x01, 0x90, 0x0F, 0x48, 0xAF, 0xF0, 0x68, 0xEC, 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43 - .byte 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69, 0x01, 0x90, 0x0A, 0x48, 0xAF, 0xF0, 0x5C, 0xEC - .byte 0x02, 0xB0, 0x38, 0xBD, 0x2C, 0x25, 0x65, 0x43, 0x44, 0x19, 0x60, 0x69, 0x00, 0x90, 0xA0, 0x69 - .byte 0x01, 0x90, 0x05, 0x48, 0xAF, 0xF0, 0x50, 0xEC + mov r5, #0x2c + mul r5, r4 + add r4, r0, r5 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, _02017C60 ; =0x04000030 + blx FUN_020C74F8 + add sp, #0x8 + pop {r3-r5, pc} +_02017C2C: + mov r5, #0x2c + mul r5, r4 + add r4, r0, r5 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, _02017C64 ; =0x04001020 + blx FUN_020C74F8 + add sp, #0x8 + pop {r3-r5, pc} +_02017C44: + mov r5, #0x2c + mul r5, r4 + add r4, r0, r5 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, _02017C68 ; =0x04001030 + blx FUN_020C74F8 _02017C58: add sp, #0x8 pop {r3-r5, pc} .balign 4 _02017C5C: .word 0x04000020 -_02017C60: - .byte 0x30, 0x00, 0x00, 0x04, 0x20, 0x10, 0x00, 0x04, 0x30, 0x10, 0x00, 0x04 +_02017C60: .word 0x04000030 +_02017C64: .word 0x04001020 +_02017C68: .word 0x04001030 thumb_func_start FUN_02017C6C FUN_02017C6C: ; 0x02017C6C @@ -45412,26 +49269,62 @@ FUN_02017D68: ; 0x02017D68 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r2, r3, #0 - lsl r6, r4, #0 - lsl r2, r6, #0 - lsl r6, r7, #0 - lsl r2, r1, #0x1 - lsl r6, r2, #0x1 - lsl r2, r4, #0x1 +_02017D8A: ; jump table (using 16-bit offset) + .short _02017D9A - _02017D8A - 2; case 0 + .short _02017DA6 - _02017D8A - 2; case 1 + .short _02017DB2 - _02017D8A - 2; case 2 + .short _02017DBE - _02017D8A - 2; case 3 + .short _02017DCA - _02017D8A - 2; case 4 + .short _02017DD6 - _02017D8A - 2; case 5 + .short _02017DE2 - _02017D8A - 2; case 6 + .short _02017DEE - _02017D8A - 2; case 7 +_02017D9A: add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 blx FUN_020C922C pop {r3-r7, pc} _02017DA6: - .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xD6, 0xE9 - .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x68, 0xE9, 0xF8, 0xBD, 0x20, 0x1C - .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xFA, 0xE8, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C - .byte 0xB1, 0xF0, 0xF8, 0xE9, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x8A, 0xE9 - .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0x1C, 0xE9, 0xF8, 0xBD, 0x20, 0x1C - .byte 0x29, 0x1C, 0x32, 0x1C, 0xB1, 0xF0, 0xAE, 0xE8 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C915C + pop {r3-r7, pc} +_02017DB2: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C908C + pop {r3-r7, pc} +_02017DBE: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8FBC + pop {r3-r7, pc} +_02017DCA: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C91C4 + pop {r3-r7, pc} +_02017DD6: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C90F4 + pop {r3-r7, pc} +_02017DE2: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C9024 + pop {r3-r7, pc} +_02017DEE: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8F54 _02017DF8: pop {r3-r7, pc} .balign 4 @@ -45525,26 +49418,62 @@ FUN_02017E84: ; 0x02017E84 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r2, r3, #0 - lsl r6, r4, #0 - lsl r2, r6, #0 - lsl r6, r7, #0 - lsl r2, r1, #0x1 - lsl r6, r2, #0x1 - lsl r2, r4, #0x1 +_02017EA6: ; jump table (using 16-bit offset) + .short _02017EB6 - _02017EA6 - 2; case 0 + .short _02017EC2 - _02017EA6 - 2; case 1 + .short _02017ECE - _02017EA6 - 2; case 2 + .short _02017EDA - _02017EA6 - 2; case 3 + .short _02017EE6 - _02017EA6 - 2; case 4 + .short _02017EF2 - _02017EA6 - 2; case 5 + .short _02017EFE - _02017EA6 - 2; case 6 + .short _02017F0A - _02017EA6 - 2; case 7 +_02017EB6: add r0, r4, #0x0 add r1, r5, #0x0 add r2, r6, #0x0 blx FUN_020C8EEC pop {r3-r7, pc} _02017EC2: - .byte 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xA8, 0xEF, 0xF8, 0xBD, 0x20, 0x1C - .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x3A, 0xEF, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C - .byte 0xB0, 0xF0, 0xCC, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xCA, 0xEF - .byte 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0x5C, 0xEF, 0xF8, 0xBD, 0x20, 0x1C - .byte 0x29, 0x1C, 0x32, 0x1C, 0xB0, 0xF0, 0xEE, 0xEE, 0xF8, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x32, 0x1C - .byte 0xB0, 0xF0, 0x80, 0xEE + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8E1C + pop {r3-r7, pc} +_02017ECE: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8D4C + pop {r3-r7, pc} +_02017EDA: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8C7C + pop {r3-r7, pc} +_02017EE6: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8E84 + pop {r3-r7, pc} +_02017EF2: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8DB4 + pop {r3-r7, pc} +_02017EFE: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8CE4 + pop {r3-r7, pc} +_02017F0A: + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r6, #0x0 + blx FUN_020C8C14 _02017F14: pop {r3-r7, pc} .balign 4 @@ -45676,23 +49605,57 @@ FUN_02017FFC: ; 0x02017FFC lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r1, #0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r6, r3, #0 - lsl r4, r6, #0 - lsl r6, r2, #0x1 +_0201800C: ; jump table (using 16-bit offset) + .short _02018018 - _0201800C - 2; case 0 + .short _02018022 - _0201800C - 2; case 1 + .short _02018022 - _0201800C - 2; case 2 + .short _0201802C - _0201800C - 2; case 3 + .short _02018042 - _0201800C - 2; case 4 + .short _02018064 - _0201800C - 2; case 5 +_02018018: lsl r1, r1, #0x4 add r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _02018022: - .byte 0x49, 0x01, 0x40, 0x18, 0x00, 0x04, 0x00, 0x0C, 0x70, 0x47, 0x1F, 0x22, 0x03, 0x1C - .byte 0x13, 0x40, 0x1F, 0x22, 0x90, 0x43, 0x08, 0x18, 0x40, 0x01, 0x18, 0x18, 0x00, 0x04, 0x00, 0x0C - .byte 0x70, 0x47, 0x4A, 0x11, 0x43, 0x11, 0x52, 0x00, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x92, 0x06 - .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0xC8, 0x06, 0x80, 0x0D, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04 - .byte 0x00, 0x0C, 0x70, 0x47, 0x00, 0x20 + lsl r1, r1, #0x5 + add r0, r0, r1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_0201802C: + mov r2, #0x1f + add r3, r0, #0x0 + and r3, r2 + mov r2, #0x1f + bic r0, r2 + add r0, r1, r0 + lsl r0, r0, #0x5 + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02018042: + asr r2, r1, #0x5 + asr r3, r0, #0x5 + lsl r2, r2, #0x1 + add r2, r3, r2 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + lsl r2, r2, #0x1a + lsr r3, r2, #0x10 + mov r2, #0x1f + and r2, r0 + lsl r0, r1, #0x1b + lsr r0, r0, #0x16 + add r0, r2, r0 + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr +_02018064: + mov r0, #0x0 _02018066: bx lr @@ -45732,10 +49695,12 @@ _02018098: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r0, #0 - lsl r4, r4, #0 - lsl r2, r1, #0x1 - lsl r6, r6, #0x1 +_020180A8: ; jump table (using 16-bit offset) + .short _020180B0 - _020180A8 - 2; case 0 + .short _020180CE - _020180A8 - 2; case 1 + .short _020180F4 - _020180A8 - 2; case 2 + .short _02018120 - _020180A8 - 2; case 3 +_020180B0: cmp r4, #0x0 blt _020180C0 lsl r1, r1, #0x5 @@ -45753,14 +49718,68 @@ _020180C0: lsr r3, r0, #0x10 b _02018140 _020180CE: - .byte 0x00, 0x2F - .byte 0x02, 0xDB, 0x01, 0x22, 0x92, 0x02, 0x01, 0xE0, 0x00, 0x9A, 0x52, 0x01, 0x9A, 0x18, 0x12, 0x04 - .byte 0x13, 0x0C, 0x1F, 0x22, 0x02, 0x40, 0x08, 0x1C, 0x60, 0x43, 0x10, 0x18, 0x18, 0x18, 0x00, 0x04 - .byte 0x03, 0x0C, 0x25, 0xE0, 0x72, 0x01, 0x9A, 0x18, 0x12, 0x04, 0x12, 0x0C, 0x00, 0x2C, 0x06, 0xDB - .byte 0xC9, 0x06, 0x89, 0x0D, 0x40, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x18, 0xE0, 0x1F, 0x23 - .byte 0x19, 0x40, 0x0B, 0x1C, 0x73, 0x43, 0xC0, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C, 0x0F, 0xE0 - .byte 0xF2, 0x19, 0x52, 0x01, 0x9A, 0x18, 0x05, 0x1C, 0x1F, 0x23, 0x08, 0x1C, 0x18, 0x40, 0x01, 0x1C - .byte 0x12, 0x04, 0x1D, 0x40, 0x61, 0x43, 0x12, 0x0C, 0x68, 0x18, 0x10, 0x18, 0x00, 0x04, 0x03, 0x0C + cmp r7, #0x0 + blt _020180D8 + mov r2, #0x1 + lsl r2, r2, #0xa + b _020180DC +_020180D8: + ldr r2, [sp, #0x0] + lsl r2, r2, #0x5 +_020180DC: + add r2, r3, r2 + lsl r2, r2, #0x10 + lsr r3, r2, #0x10 + mov r2, #0x1f + and r2, r0 + add r0, r1, #0x0 + mul r0, r4 + add r0, r2, r0 + add r0, r3, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + b _02018140 +_020180F4: + lsl r2, r6, #0x5 + add r2, r3, r2 + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + cmp r4, #0x0 + blt _0201810E + lsl r1, r1, #0x1b + lsr r1, r1, #0x16 + add r0, r0, r1 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + b _02018140 +_0201810E: + mov r3, #0x1f + and r1, r3 + add r3, r1, #0x0 + mul r3, r6 + add r0, r0, r3 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 + b _02018140 +_02018120: + add r2, r6, r7 + lsl r2, r2, #0x5 + add r2, r3, r2 + add r5, r0, #0x0 + mov r3, #0x1f + add r0, r1, #0x0 + and r0, r3 + add r1, r0, #0x0 + lsl r2, r2, #0x10 + and r5, r3 + mul r1, r4 + lsr r2, r2, #0x10 + add r0, r5, r1 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r3, r0, #0x10 _02018140: add r0, r3, #0x0 add sp, #0x4 @@ -46649,21 +50668,39 @@ FUN_020187B0: ; 0x020187B0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r4, r2, #0 - lsl r2, r3, #0 - lsl r0, r4, #0 - lsl r6, r4, #0 - lsl r4, r5, #0 - lsl r2, r6, #0 - lsl r0, r7, #0 +_020187C2: ; jump table (using 16-bit offset) + .short _020187D2 - _020187C2 - 2; case 0 + .short _020187D8 - _020187C2 - 2; case 1 + .short _020187DE - _020187C2 - 2; case 2 + .short _020187E4 - _020187C2 - 2; case 3 + .short _020187EA - _020187C2 - 2; case 4 + .short _020187F0 - _020187C2 - 2; case 5 + .short _020187F6 - _020187C2 - 2; case 6 + .short _020187FC - _020187C2 - 2; case 7 +_020187D2: blx FUN_020C7124 pop {r3, pc} _020187D8: - .byte 0xAE, 0xF0, 0x7A, 0xEC, 0x08, 0xBD, 0xAE, 0xF0 - .byte 0x3C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xE4, 0xEB, 0x08, 0xBD, 0xAE, 0xF0, 0x8C, 0xEC, 0x08, 0xBD - .byte 0xAE, 0xF0, 0x5E, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0x0C, 0xEC, 0x08, 0xBD, 0xAE, 0xF0, 0xB0, 0xEB - .byte 0x08, 0xBD + blx FUN_020C70D0 + pop {r3, pc} +_020187DE: + blx FUN_020C7058 + pop {r3, pc} +_020187E4: + blx FUN_020C6FB0 + pop {r3, pc} +_020187EA: + blx FUN_020C7104 + pop {r3, pc} +_020187F0: + blx FUN_020C70B0 + pop {r3, pc} +_020187F6: + blx FUN_020C7010 + pop {r3, pc} +_020187FC: + blx FUN_020C6F60 + pop {r3, pc} _02018802: mov r0, #0x0 pop {r3, pc} @@ -46758,14 +50795,16 @@ _0201888C: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r1, #0 - lsl r2, r4, #0 - lsl r6, r6, #0 - lsl r6, r0, #0x2 - lsl r6, r2, #0x3 - lsl r2, r5, #0x3 - lsl r6, r7, #0x3 - lsl r6, r1, #0x5 +_02018898: ; jump table (using 16-bit offset) + .short _020188A8 - _02018898 - 2; case 0 + .short _020188BC - _02018898 - 2; case 1 + .short _020188D0 - _02018898 - 2; case 2 + .short _02018920 - _02018898 - 2; case 3 + .short _02018970 - _02018898 - 2; case 4 + .short _02018984 - _02018898 - 2; case 5 + .short _02018998 - _02018898 - 2; case 6 + .short _020189E8 - _02018898 - 2; case 7 +_020188A8: ldr r0, _02018A40 ; =0x04000008 ldrh r1, [r0, #0x0] add r0, sp, #0x0 @@ -46777,40 +50816,227 @@ _0201888C: lsr r0, r0, #0x18 bx lr _020188BC: - .byte 0x61, 0x48, 0x01, 0x88 - .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 - .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0 - .byte 0x02, 0x28, 0x13, 0xD0, 0x58, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x83, 0x88, 0x07 - .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x53, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0 - .byte 0x01, 0x83, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x4E, 0x48, 0x01, 0x88 - .byte 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 - .byte 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F, 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0 - .byte 0x02, 0x28, 0x13, 0xD0, 0x45, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x82, 0x88, 0x07 - .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x40, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0 - .byte 0x41, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x3B, 0x48, 0x01, 0x88 - .byte 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x82, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 - .byte 0x37, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 - .byte 0x00, 0x0E, 0x70, 0x47, 0x33, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x81, 0x88, 0x07 - .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F - .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x2A, 0x48, 0x01, 0x88 - .byte 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 - .byte 0x25, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x81, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 - .byte 0x00, 0x0E, 0x70, 0x47, 0x20, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0xC1, 0x80, 0x88, 0x07 - .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47, 0x2C, 0x22, 0x4A, 0x43, 0x80, 0x18, 0x00, 0x7F - .byte 0x00, 0x28, 0x03, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x02, 0x28, 0x13, 0xD0, 0x17, 0x48, 0x01, 0x88 - .byte 0x00, 0xA8, 0x08, 0xB0, 0x81, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 - .byte 0x12, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x41, 0x80, 0x88, 0x07, 0x80, 0x0F, 0x00, 0x06 - .byte 0x00, 0x0E, 0x70, 0x47, 0x0D, 0x48, 0x01, 0x88, 0x00, 0xA8, 0x08, 0xB0, 0x01, 0x80, 0x88, 0x07 - .byte 0x80, 0x0F, 0x00, 0x06, 0x00, 0x0E, 0x70, 0x47 + ldr r0, _02018A44 ; =0x0400000A + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x1c] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020188D0: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0x1c] + cmp r0, #0x0 + beq _020188E4 + cmp r0, #0x1 + beq _020188F8 + cmp r0, #0x2 + beq _0201890C +_020188E4: + ldr r0, _02018A48 ; =0x0400000C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x1a] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020188F8: + ldr r0, _02018A48 ; =0x0400000C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x18] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_0201890C: + ldr r0, _02018A48 ; =0x0400000C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x16] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018920: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0x1c] + cmp r0, #0x0 + beq _02018934 + cmp r0, #0x1 + beq _02018948 + cmp r0, #0x2 + beq _0201895C +_02018934: + ldr r0, _02018A4C ; =0x0400000E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x14] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018948: + ldr r0, _02018A4C ; =0x0400000E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x12] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_0201895C: + ldr r0, _02018A4C ; =0x0400000E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x10] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018970: + ldr r0, _02018A50 ; =0x04001008 + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0xe] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018984: + ldr r0, _02018A54 ; =0x0400100A + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0xc] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018998: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0x1c] + cmp r0, #0x0 + beq _020189AC + cmp r0, #0x1 + beq _020189C0 + cmp r0, #0x2 + beq _020189D4 +_020189AC: + ldr r0, _02018A58 ; =0x0400100C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0xa] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020189C0: + ldr r0, _02018A58 ; =0x0400100C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x8] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020189D4: + ldr r0, _02018A58 ; =0x0400100C + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x6] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_020189E8: + mov r2, #0x2c + mul r2, r1 + add r0, r0, r2 + ldrb r0, [r0, #0x1c] + cmp r0, #0x0 + beq _020189FC + cmp r0, #0x1 + beq _02018A10 + cmp r0, #0x2 + beq _02018A24 +_020189FC: + ldr r0, _02018A5C ; =0x0400100E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x4] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018A10: + ldr r0, _02018A5C ; =0x0400100E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x2] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr +_02018A24: + ldr r0, _02018A5C ; =0x0400100E + ldrh r1, [r0, #0x0] + add r0, sp, #0x0 + add sp, #0x20 + strh r1, [r0, #0x0] + lsl r0, r1, #0x1e + lsr r0, r0, #0x1e + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx lr _02018A38: mov r0, #0x0 add sp, #0x20 bx lr nop _02018A40: .word 0x04000008 -_02018A44: - .byte 0x0A, 0x00, 0x00, 0x04, 0x0C, 0x00, 0x00, 0x04, 0x0E, 0x00, 0x00, 0x04 - .byte 0x08, 0x10, 0x00, 0x04, 0x0A, 0x10, 0x00, 0x04, 0x0C, 0x10, 0x00, 0x04, 0x0E, 0x10, 0x00, 0x04 +_02018A44: .word 0x0400000A +_02018A48: .word 0x0400000C +_02018A4C: .word 0x0400000E +_02018A50: .word 0x04001008 +_02018A54: .word 0x0400100A +_02018A58: .word 0x0400100C +_02018A5C: .word 0x0400100E thumb_func_start FUN_02018A60 FUN_02018A60: ; 0x02018A60 @@ -48671,10 +52897,12 @@ _020197C0: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r1, #0x4 - lsl r0, r3, #0xc - lsl r0, r7, #0x14 +_020197CC: ; jump table (using 16-bit offset) + .short _020197D4 - _020197CC - 2; case 0 + .short _020198D6 - _020197CC - 2; case 1 + .short _02019AE6 - _020197CC - 2; case 2 + .short _02019D06 - _020197CC - 2; case 3 +_020197D4: ldr r0, [sp, #0x330] lsl r0, r0, #0x18 lsr r0, r0, #0x18 @@ -48811,143 +53039,1127 @@ _020198BE: add sp, #0x118 pop {r4-r7, pc} _020198D6: - .byte 0x00, 0x98, 0x97, 0x90, 0x12, 0x98, 0x99, 0x90, 0xCC, 0x98 - .byte 0x00, 0x06, 0x00, 0x0E, 0x15, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x21, 0x90, 0x00, 0x20, 0x9A, 0x90 - .byte 0x01, 0x98, 0x00, 0x28, 0x6D, 0xDD, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10 - .byte 0x20, 0x90, 0x97, 0x98, 0x21, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x96, 0x90, 0x9A, 0x98, 0x20, 0x9E - .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x98, 0x90, 0x10, 0x1C, 0x83, 0x00 - .byte 0x99, 0x98, 0x00, 0x21, 0x85, 0x00, 0x90, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20 - .byte 0x07, 0x40, 0x99, 0x98, 0x1F, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x8B, 0x48, 0x20, 0x9D, 0x30, 0x40 - .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x1E, 0x95, 0x1D, 0x90, 0x55, 0x10, 0x03, 0x20 - .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0x84, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x1F, 0x98, 0xA2, 0x95 - .byte 0x28, 0x18, 0x96, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E - .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xA3, 0x95, 0xC5, 0x5D, 0xA4, 0x95, 0xF0, 0x25 - .byte 0x35, 0x41, 0xA4, 0x9E, 0x2E, 0x40, 0xA3, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55 - .byte 0x98, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA2, 0x9E, 0x1E, 0x98, 0x36, 0x18, 0x1D, 0x98, 0x85, 0x55 - .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x98, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x99, 0x98, 0x80, 0x1C, 0x99, 0x90, 0x02, 0xE0, 0x99, 0x98, 0x40, 0x1C, 0x99, 0x90 - .byte 0x97, 0x98, 0x00, 0x1D, 0x97, 0x90, 0x9A, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x9A, 0x91, 0x81, 0x42 - .byte 0x97, 0xDB, 0x00, 0x98, 0x20, 0x30, 0x00, 0x90, 0x15, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x26, 0x90 - .byte 0x00, 0x20, 0x95, 0x90, 0x01, 0x98, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x67, 0xFF, 0x17, 0x98 - .byte 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x25, 0x90 - .byte 0x00, 0x98, 0x26, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x93, 0x90, 0x95, 0x98, 0x01, 0x41, 0x01, 0x20 - .byte 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x94, 0x90, 0x02, 0x98, 0x00, 0x21, 0xA5, 0x90, 0x08, 0x38 - .byte 0xA5, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x25, 0x9E - .byte 0x85, 0x00, 0x4D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98 - .byte 0x24, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x48, 0x48, 0x25, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20 - .byte 0x30, 0x40, 0x0C, 0x1C, 0x23, 0x95, 0x22, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 - .byte 0x40, 0x19, 0x41, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x24, 0x98, 0xA6, 0x95, 0x28, 0x18, 0x93, 0x9D - .byte 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07 - .byte 0x76, 0x0F, 0xB5, 0x40, 0xA7, 0x95, 0xC5, 0x5D, 0xA8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xA8, 0x9E - .byte 0x2E, 0x40, 0xA7, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x94, 0x98, 0x00, 0x28 - .byte 0x04, 0xD0, 0xA6, 0x9E, 0x23, 0x98, 0x36, 0x18, 0x22, 0x98, 0x85, 0x55, 0xA5, 0x98, 0x49, 0x1C - .byte 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x94, 0x98, 0x00, 0x28, 0x03, 0xD0 - .byte 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98 - .byte 0x00, 0x1D, 0x00, 0x90, 0x95, 0x98, 0x41, 0x1C, 0x01, 0x98, 0x95, 0x91, 0x81, 0x42, 0x8F, 0xDB - .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x07, 0x21, 0x8F, 0x90, 0x12, 0x98, 0x91, 0x90 - .byte 0x00, 0x20, 0x92, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x2A, 0x90, 0x16, 0x98, 0x01, 0x40 - .byte 0x40, 0x18, 0xC0, 0x10, 0x10, 0x90, 0x8F, 0x98, 0x2A, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8E, 0x90 - .byte 0x92, 0x98, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x90, 0x90, 0x02, 0x98 - .byte 0x00, 0x21, 0x00, 0x28, 0x4D, 0xDD, 0x4C, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x91, 0x98, 0x10, 0x9E - .byte 0x85, 0x00, 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x91, 0x98 - .byte 0x29, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20 - .byte 0x30, 0x40, 0x0C, 0x1C, 0x28, 0x95, 0x27, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 - .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46 + ldr r0, [sp, #0x0] + str r0, [sp, #0x25c] + ldr r0, [sp, #0x48] + str r0, [sp, #0x264] + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x54] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x84] + mov r0, #0x0 + str r0, [sp, #0x268] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _020199D2 + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x80] +_02019902: + ldr r0, [sp, #0x25c] + ldr r1, [sp, #0x84] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x258] + ldr r0, [sp, #0x268] + ldr r6, [sp, #0x80] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x260] + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x264] + mov r1, #0x0 + lsl r5, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x264] + str r6, [sp, #0x7c] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + ldr r5, [sp, #0x80] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0x78] + str r0, [sp, #0x74] +_0201994C: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019B68 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0x7c] + str r5, [sp, #0x288] + add r0, r5, r0 + ldr r5, [sp, #0x258] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _020199A0 + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x28c] + ldrb r5, [r0, r7] + str r5, [sp, #0x290] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x290] + and r6, r5 + ldr r5, [sp, #0x28c] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x260] + cmp r0, #0x0 + beq _020199A0 + ldr r6, [sp, #0x288] + ldr r0, [sp, #0x78] + add r6, r6, r0 + ldr r0, [sp, #0x74] + strb r5, [r0, r6] +_020199A0: + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, #0x8 + blt _0201994C + ldr r0, [sp, #0x260] + cmp r0, #0x0 + beq _020199BA + ldr r0, [sp, #0x264] + add r0, r0, #0x2 + str r0, [sp, #0x264] + b _020199C0 +_020199BA: + ldr r0, [sp, #0x264] + add r0, r0, #0x1 + str r0, [sp, #0x264] +_020199C0: + ldr r0, [sp, #0x25c] + add r0, r0, #0x4 + str r0, [sp, #0x25c] + ldr r0, [sp, #0x268] + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x268] + cmp r1, r0 + blt _02019902 +_020199D2: + ldr r0, [sp, #0x0] + add r0, #0x20 + str r0, [sp, #0x0] + ldr r0, [sp, #0x54] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x98] + mov r0, #0x0 + str r0, [sp, #0x254] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + bgt _020199EE + bl FUN_0201A8BC +_020199EE: + ldr r0, [sp, #0x5c] + mov r1, #0x7 + add r0, #0x8 + str r0, [sp, #0x5c] + ldr r0, [sp, #0x58] + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x94] +_02019A00: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x98] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x24c] + ldr r0, [sp, #0x254] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x250] + ldr r0, [sp, #0x8] + mov r1, #0x0 + str r0, [sp, #0x294] + sub r0, #0x8 + str r0, [sp, #0x294] + cmp r0, #0x0 + ble _02019ABA + ble _02019ABA + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x48] + ldr r6, [sp, #0x94] + lsl r5, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x48] + str r6, [sp, #0x90] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + ldr r5, [sp, #0x94] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0x8c] + str r0, [sp, #0x88] +_02019A58: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019B68 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0x90] + str r5, [sp, #0x298] + add r0, r5, r0 + ldr r5, [sp, #0x24c] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019AAC + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x29c] + ldrb r5, [r0, r7] + str r5, [sp, #0x2a0] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2a0] + and r6, r5 + ldr r5, [sp, #0x29c] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x250] + cmp r0, #0x0 + beq _02019AAC + ldr r6, [sp, #0x298] + ldr r0, [sp, #0x8c] + add r6, r6, r0 + ldr r0, [sp, #0x88] + strb r5, [r0, r6] +_02019AAC: + ldr r0, [sp, #0x294] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _02019A58 +_02019ABA: + ldr r0, [sp, #0x250] + cmp r0, #0x0 + beq _02019AC8 + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _02019ACE +_02019AC8: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_02019ACE: + ldr r0, [sp, #0x0] + add r0, r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x254] + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x254] + cmp r1, r0 + blt _02019A00 + add sp, #0x1fc + add sp, #0x118 + pop {r4-r7, pc} +_02019AE6: + ldr r0, [sp, #0x0] + mov r1, #0x7 + str r0, [sp, #0x23c] + ldr r0, [sp, #0x48] + str r0, [sp, #0x244] + mov r0, #0x0 + str r0, [sp, #0x248] + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xa8] + ldr r0, [sp, #0x58] + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x40] +_02019B06: + ldr r0, [sp, #0x23c] + ldr r1, [sp, #0xa8] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x238] + ldr r0, [sp, #0x248] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x240] + ldr r0, [sp, #0x8] + mov r1, #0x0 + cmp r0, #0x0 + ble _02019BC2 + ble _02019BC2 + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x244] + ldr r6, [sp, #0x40] + lsl r5, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x244] + str r6, [sp, #0xa4] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019B68 ; =0x00003FE0 + ldr r5, [sp, #0x40] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0xa0] + str r0, [sp, #0x9c] +_02019B58: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019B68 ; =0x00003FE0 + b _02019B6C + nop _02019B68: .word 0x00003FE0 _02019B6C: - .byte 0x1D, 0x40, 0x45, 0x19 - .byte 0x29, 0x98, 0xA9, 0x95, 0x28, 0x18, 0x8E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40 - .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xAA, 0x95, 0xC5, 0x5D - .byte 0xAB, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAB, 0x9E, 0x2E, 0x40, 0xAA, 0x9D, 0x35, 0x43, 0x2D, 0x06 - .byte 0x2D, 0x0E, 0xC5, 0x55, 0x90, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xA9, 0x9E, 0x28, 0x98, 0x36, 0x18 - .byte 0x27, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42 - .byte 0xCA, 0xDB, 0x90, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x91, 0x98, 0x80, 0x1C, 0x91, 0x90, 0x02, 0xE0 - .byte 0x91, 0x98, 0x40, 0x1C, 0x91, 0x90, 0x8F, 0x98, 0x00, 0x1D, 0x8F, 0x90, 0x92, 0x98, 0x40, 0x1C - .byte 0x92, 0x90, 0x08, 0x28, 0x8F, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x40, 0x30, 0x00, 0x90, 0x12, 0x98 - .byte 0x01, 0x21, 0x08, 0x30, 0x12, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98 - .byte 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x00, 0x06 - .byte 0x00, 0x0E, 0x2E, 0x90, 0x00, 0x20, 0x08, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC - .byte 0x00, 0xF0, 0x4C, 0xFE, 0x00, 0x98, 0x2E, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x8C, 0x90, 0x08, 0x98 - .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x8D, 0x90, 0x02, 0x98, 0x00, 0x21 - .byte 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x12, 0x98, 0x10, 0x9E, 0x85, 0x00 - .byte 0xCD, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x12, 0x98, 0x2D, 0x96 - .byte 0x40, 0x1C, 0x86, 0x00, 0xC8, 0x48, 0x10, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40 - .byte 0x0C, 0x1C, 0x2C, 0x95, 0x2B, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19 - .byte 0xC1, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x2D, 0x98, 0xAC, 0x95, 0x28, 0x18, 0x8C, 0x9D, 0x2E, 0x1C - .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F - .byte 0xB5, 0x40, 0xAD, 0x95, 0xC5, 0x5D, 0xAE, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xAE, 0x9E, 0x2E, 0x40 - .byte 0xAD, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x8D, 0x98, 0x00, 0x28, 0x04, 0xD0 - .byte 0xAC, 0x9E, 0x2C, 0x98, 0x36, 0x18, 0x2B, 0x98, 0x85, 0x55, 0x02, 0x98, 0x49, 0x1C, 0x24, 0x1D - .byte 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x8D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98 - .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x00, 0x98, 0x01, 0x99 - .byte 0x00, 0x1D, 0x00, 0x90, 0x08, 0x98, 0x08, 0x39, 0x40, 0x1C, 0x08, 0x90, 0x88, 0x42, 0x91, 0xDB - .byte 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD, 0x00, 0x98, 0x88, 0x90, 0x12, 0x98, 0x8A, 0x90, 0xCC, 0x98 - .byte 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x8B, 0x90, 0x08, 0x06, 0x00, 0x0E, 0x0F, 0x90, 0x16, 0x98 - .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0E, 0x90, 0x88, 0x98, 0x0F, 0x99, 0x00, 0x68 - .byte 0x17, 0x9A, 0x87, 0x90, 0x8B, 0x98, 0x0E, 0x9E, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06 - .byte 0x00, 0x0E, 0x89, 0x90, 0x10, 0x1C, 0x83, 0x00, 0x8A, 0x98, 0x00, 0x21, 0x85, 0x00, 0x8E, 0x48 - .byte 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x8A, 0x98, 0x31, 0x96, 0x40, 0x1C - .byte 0x86, 0x00, 0x89, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0D, 0x93 - .byte 0x0C, 0x1C, 0x30, 0x95, 0x2F, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19 - .byte 0x81, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x31, 0x98, 0xAF, 0x95, 0x28, 0x18, 0x87, 0x9D, 0x2E, 0x1C - .byte 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F - .byte 0xB5, 0x40, 0xB0, 0x95, 0xC5, 0x5D, 0xB1, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB1, 0x9E, 0x2E, 0x40 - .byte 0xB0, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x89, 0x98, 0x00, 0x28, 0x04, 0xD0 - .byte 0xAF, 0x9E, 0x30, 0x98, 0x36, 0x18, 0x2F, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D - .byte 0x52, 0x1C, 0x08, 0x29, 0xCF, 0xDB, 0x89, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x8A, 0x98, 0x80, 0x1C - .byte 0x8A, 0x90, 0x02, 0xE0, 0x8A, 0x98, 0x40, 0x1C, 0x8A, 0x90, 0x88, 0x98, 0x00, 0x1D, 0x88, 0x90 - .byte 0x8B, 0x98, 0x40, 0x1C, 0x8B, 0x90, 0x08, 0x28, 0x97, 0xDB, 0x00, 0x98, 0x83, 0x90, 0x20, 0x30 - .byte 0x83, 0x90, 0x12, 0x98, 0x85, 0x90, 0x00, 0x20, 0x86, 0x90, 0x17, 0x98, 0x35, 0x90, 0x08, 0x30 - .byte 0x35, 0x90, 0x83, 0x98, 0x0F, 0x99, 0x00, 0x68, 0x35, 0x9A, 0x82, 0x90, 0x86, 0x98, 0x01, 0x41 - .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x84, 0x90, 0x02, 0x98, 0x00, 0x21, 0xB2, 0x90 - .byte 0x08, 0x38, 0xB2, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00, 0x85, 0x98 - .byte 0x0E, 0x9E, 0x85, 0x00, 0x50, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40 - .byte 0x85, 0x98, 0x34, 0x96, 0x40, 0x1C, 0x86, 0x00, 0x4B, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43 - .byte 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x33, 0x95, 0x32, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40 - .byte 0x9E, 0x98, 0x40, 0x19, 0x44, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x34, 0x98, 0xB3, 0x95, 0x28, 0x18 - .byte 0x82, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0 - .byte 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB4, 0x95, 0xC5, 0x5D, 0xB5, 0x95, 0xF0, 0x25, 0x35, 0x41 - .byte 0xB5, 0x9E, 0x2E, 0x40, 0xB4, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55, 0x84, 0x98 - .byte 0x00, 0x28, 0x04, 0xD0, 0xB3, 0x9E, 0x33, 0x98, 0x36, 0x18, 0x32, 0x98, 0x85, 0x55, 0xB2, 0x98 - .byte 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x84, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x85, 0x98, 0x80, 0x1C, 0x85, 0x90, 0x02, 0xE0, 0x85, 0x98, 0x40, 0x1C, 0x85, 0x90 - .byte 0x83, 0x98, 0x00, 0x1D, 0x83, 0x90, 0x86, 0x98, 0x40, 0x1C, 0x86, 0x90, 0x08, 0x28, 0x90, 0xDB - .byte 0x00, 0x98, 0x00, 0x22, 0x7F, 0x90, 0x40, 0x30, 0x7F, 0x90, 0x12, 0x98, 0x01, 0x21, 0x08, 0x30 - .byte 0x12, 0x90, 0x81, 0x90, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x81, 0x98, 0x40, 0x1C - .byte 0x81, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x14, 0x90, 0x00, 0x06 - .byte 0x00, 0x0E, 0x39, 0x90, 0x00, 0x20, 0x07, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x6B, 0xDD - .byte 0x7F, 0x98, 0x39, 0x99, 0x00, 0x68, 0x0E, 0x9E, 0x7E, 0x90, 0x07, 0x98, 0x17, 0x9A, 0x01, 0x41 - .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x80, 0x90, 0x81, 0x98, 0x00, 0x21, 0x85, 0x00 - .byte 0x0D, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20, 0x07, 0x40, 0x81, 0x98, 0x38, 0x96 - .byte 0x40, 0x1C, 0x86, 0x00, 0x08, 0x48, 0x0E, 0x9D, 0x30, 0x40, 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40 - .byte 0x0D, 0x9B, 0x0C, 0x1C, 0x37, 0x95, 0x36, 0x90, 0x55, 0x10, 0x03, 0x20, 0x05, 0x40, 0x9E, 0x98 - .byte 0x40, 0x19, 0x01, 0x4D, 0x02, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00, 0x1D, 0x40, 0x45, 0x19 - .byte 0x38, 0x98, 0xB6, 0x95, 0x28, 0x18, 0x7E, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40 - .byte 0x2D, 0x06, 0x2D, 0x0E, 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xB7, 0x95, 0xC5, 0x5D - .byte 0xB8, 0x95, 0xF0, 0x25, 0x35, 0x41, 0xB8, 0x9E, 0x2E, 0x40, 0xB7, 0x9D, 0x35, 0x43, 0x2D, 0x06 - .byte 0x2D, 0x0E, 0xC5, 0x55, 0x80, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xB6, 0x9E, 0x37, 0x98, 0x36, 0x18 - .byte 0x36, 0x98, 0x85, 0x55, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x08, 0x29, 0xCB, 0xDB - .byte 0x80, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x81, 0x98, 0x80, 0x1C, 0x81, 0x90, 0x02, 0xE0, 0x81, 0x98 - .byte 0x40, 0x1C, 0x81, 0x90, 0x7F, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x7F, 0x90, 0x07, 0x98, 0x08, 0x39 - .byte 0x40, 0x1C, 0x07, 0x90, 0x88, 0x42, 0x93, 0xDB, 0x00, 0x98, 0x00, 0x22, 0x60, 0x30, 0x00, 0x90 - .byte 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42, 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90 - .byte 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x14, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x3D, 0x90, 0x00, 0x20 - .byte 0x06, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x01, 0xDC, 0x00, 0xF0, 0x3F, 0xFC, 0x17, 0x98 - .byte 0x08, 0x30, 0x17, 0x90, 0x00, 0x98, 0x3D, 0x99, 0x00, 0x68, 0x17, 0x9A, 0x7C, 0x90, 0x06, 0x98 - .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x7D, 0x90, 0x02, 0x98, 0x00, 0x21 - .byte 0xB9, 0x90, 0x08, 0x38, 0xB9, 0x90, 0x00, 0x28, 0x49, 0xDD, 0x48, 0xDD, 0x10, 0x1C, 0x83, 0x00 - .byte 0x12, 0x98, 0x0E, 0x9E, 0x85, 0x00, 0xCC, 0x48, 0x2F, 0x1C, 0x28, 0x40, 0x46, 0x43, 0x1C, 0x20 - .byte 0x07, 0x40, 0x12, 0x98, 0x3C, 0x96, 0x40, 0x1C, 0x86, 0x00, 0xC7, 0x48, 0x0E, 0x9D, 0x30, 0x40 - .byte 0x45, 0x43, 0x1C, 0x20, 0x30, 0x40, 0x0C, 0x1C, 0x3B, 0x95, 0x3A, 0x90, 0x55, 0x10, 0x03, 0x20 - .byte 0x05, 0x40, 0x9E, 0x98, 0x40, 0x19, 0xC0, 0x4D, 0x1D, 0x40, 0x45, 0x19, 0x3C, 0x98, 0xBA, 0x95 - .byte 0x28, 0x18, 0x7C, 0x9D, 0x2E, 0x1C, 0xE6, 0x40, 0x0F, 0x25, 0x35, 0x40, 0x2D, 0x06, 0x2D, 0x0E - .byte 0x16, 0xD0, 0xD6, 0x07, 0x76, 0x0F, 0xB5, 0x40, 0xBB, 0x95, 0xC5, 0x5D, 0xAC, 0x46, 0xF0, 0x25 - .byte 0x35, 0x41, 0x66, 0x46, 0x2E, 0x40, 0xBB, 0x9D, 0x35, 0x43, 0x2D, 0x06, 0x2D, 0x0E, 0xC5, 0x55 - .byte 0x7D, 0x98, 0x00, 0x28, 0x04, 0xD0, 0xBA, 0x9E, 0x3B, 0x98, 0x36, 0x18, 0x3A, 0x98, 0x85, 0x55 - .byte 0xB9, 0x98, 0x49, 0x1C, 0x24, 0x1D, 0x1B, 0x1D, 0x52, 0x1C, 0x81, 0x42, 0xCE, 0xDB, 0x7D, 0x98 - .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C - .byte 0x12, 0x90, 0x00, 0x98, 0x01, 0x99, 0x00, 0x1D, 0x00, 0x90, 0x06, 0x98, 0x08, 0x39, 0x40, 0x1C - .byte 0x06, 0x90, 0x88, 0x42, 0x8E, 0xDB, 0x7F, 0xB0, 0x46, 0xB0, 0xF0, 0xBD + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xa4] + str r5, [sp, #0x2a4] + add r0, r5, r0 + ldr r5, [sp, #0x238] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019BB4 + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2a8] + ldrb r5, [r0, r7] + str r5, [sp, #0x2ac] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2ac] + and r6, r5 + ldr r5, [sp, #0x2a8] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x240] + cmp r0, #0x0 + beq _02019BB4 + ldr r6, [sp, #0x2a4] + ldr r0, [sp, #0xa0] + add r6, r6, r0 + ldr r0, [sp, #0x9c] + strb r5, [r0, r6] +_02019BB4: + ldr r0, [sp, #0x8] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _02019B58 +_02019BC2: + ldr r0, [sp, #0x240] + cmp r0, #0x0 + beq _02019BD0 + ldr r0, [sp, #0x244] + add r0, r0, #0x2 + str r0, [sp, #0x244] + b _02019BD6 +_02019BD0: + ldr r0, [sp, #0x244] + add r0, r0, #0x1 + str r0, [sp, #0x244] +_02019BD6: + ldr r0, [sp, #0x23c] + add r0, r0, #0x4 + str r0, [sp, #0x23c] + ldr r0, [sp, #0x248] + add r0, r0, #0x1 + str r0, [sp, #0x248] + cmp r0, #0x8 + blt _02019B06 + ldr r0, [sp, #0x0] + mov r2, #0x0 + add r0, #0x40 + str r0, [sp, #0x0] + ldr r0, [sp, #0x48] + mov r1, #0x1 + add r0, #0x8 + str r0, [sp, #0x48] +_02019BF6: + ldr r0, [sp, #0x330] + asr r0, r2 + tst r0, r1 + beq _02019C04 + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_02019C04: + add r2, r2, #0x1 + cmp r2, #0x8 + blt _02019BF6 + ldr r0, [sp, #0x330] + asr r0, r0, #0x8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xb8] + mov r0, #0x0 + str r0, [sp, #0x20] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + bgt _02019C24 + bl FUN_0201A8BC +_02019C24: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0xb8] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x230] + ldr r0, [sp, #0x20] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x234] + ldr r0, [sp, #0x8] + mov r1, #0x0 + cmp r0, #0x0 + ble _02019CD8 + ble _02019CD8 + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x48] + ldr r6, [sp, #0x40] + lsl r5, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x48] + str r6, [sp, #0xb4] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + ldr r5, [sp, #0x40] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0xb0] + str r0, [sp, #0xac] +_02019C76: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019F88 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xb4] + str r5, [sp, #0x2b0] + add r0, r5, r0 + ldr r5, [sp, #0x230] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019CCA + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2b4] + ldrb r5, [r0, r7] + str r5, [sp, #0x2b8] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2b8] + and r6, r5 + ldr r5, [sp, #0x2b4] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x234] + cmp r0, #0x0 + beq _02019CCA + ldr r6, [sp, #0x2b0] + ldr r0, [sp, #0xb0] + add r6, r6, r0 + ldr r0, [sp, #0xac] + strb r5, [r0, r6] +_02019CCA: + ldr r0, [sp, #0x8] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _02019C76 +_02019CD8: + ldr r0, [sp, #0x234] + cmp r0, #0x0 + beq _02019CE6 + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _02019CEC +_02019CE6: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_02019CEC: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + sub r1, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x20] + cmp r0, r1 + blt _02019C24 + add sp, #0x1fc + add sp, #0x118 + pop {r4-r7, pc} +_02019D06: + ldr r0, [sp, #0x0] + str r0, [sp, #0x220] + ldr r0, [sp, #0x48] + str r0, [sp, #0x228] + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x0 + str r0, [sp, #0x22c] + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x3c] + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x38] +_02019D2A: + ldr r0, [sp, #0x220] + ldr r1, [sp, #0x3c] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x21c] + ldr r0, [sp, #0x22c] + ldr r6, [sp, #0x38] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x224] + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x228] + mov r1, #0x0 + lsl r5, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x228] + str r6, [sp, #0xc4] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + ldr r5, [sp, #0x38] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + str r3, [sp, #0x34] + add r4, r1, #0x0 + str r5, [sp, #0xc0] + str r0, [sp, #0xbc] +_02019D76: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019F88 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xc4] + str r5, [sp, #0x2bc] + add r0, r5, r0 + ldr r5, [sp, #0x21c] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019DCA + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2c0] + ldrb r5, [r0, r7] + str r5, [sp, #0x2c4] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2c4] + and r6, r5 + ldr r5, [sp, #0x2c0] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x224] + cmp r0, #0x0 + beq _02019DCA + ldr r6, [sp, #0x2bc] + ldr r0, [sp, #0xc0] + add r6, r6, r0 + ldr r0, [sp, #0xbc] + strb r5, [r0, r6] +_02019DCA: + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, #0x8 + blt _02019D76 + ldr r0, [sp, #0x224] + cmp r0, #0x0 + beq _02019DE4 + ldr r0, [sp, #0x228] + add r0, r0, #0x2 + str r0, [sp, #0x228] + b _02019DEA +_02019DE4: + ldr r0, [sp, #0x228] + add r0, r0, #0x1 + str r0, [sp, #0x228] +_02019DEA: + ldr r0, [sp, #0x220] + add r0, r0, #0x4 + str r0, [sp, #0x220] + ldr r0, [sp, #0x22c] + add r0, r0, #0x1 + str r0, [sp, #0x22c] + cmp r0, #0x8 + blt _02019D2A + ldr r0, [sp, #0x0] + str r0, [sp, #0x20c] + add r0, #0x20 + str r0, [sp, #0x20c] + ldr r0, [sp, #0x48] + str r0, [sp, #0x214] + mov r0, #0x0 + str r0, [sp, #0x218] + ldr r0, [sp, #0x5c] + str r0, [sp, #0xd4] + add r0, #0x8 + str r0, [sp, #0xd4] +_02019E12: + ldr r0, [sp, #0x20c] + ldr r1, [sp, #0x3c] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0xd4] + str r0, [sp, #0x208] + ldr r0, [sp, #0x218] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x210] + ldr r0, [sp, #0x8] + mov r1, #0x0 + str r0, [sp, #0x2c8] + sub r0, #0x8 + str r0, [sp, #0x2c8] + cmp r0, #0x0 + ble _02019ECC + ble _02019ECC + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x214] + ldr r6, [sp, #0x38] + lsl r5, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x214] + str r6, [sp, #0xd0] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + ldr r5, [sp, #0x38] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0xcc] + str r0, [sp, #0xc8] +_02019E6A: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019F88 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xd0] + str r5, [sp, #0x2cc] + add r0, r5, r0 + ldr r5, [sp, #0x208] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019EBE + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2d0] + ldrb r5, [r0, r7] + str r5, [sp, #0x2d4] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2d4] + and r6, r5 + ldr r5, [sp, #0x2d0] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x210] + cmp r0, #0x0 + beq _02019EBE + ldr r6, [sp, #0x2cc] + ldr r0, [sp, #0xcc] + add r6, r6, r0 + ldr r0, [sp, #0xc8] + strb r5, [r0, r6] +_02019EBE: + ldr r0, [sp, #0x2c8] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _02019E6A +_02019ECC: + ldr r0, [sp, #0x210] + cmp r0, #0x0 + beq _02019EDA + ldr r0, [sp, #0x214] + add r0, r0, #0x2 + str r0, [sp, #0x214] + b _02019EE0 +_02019EDA: + ldr r0, [sp, #0x214] + add r0, r0, #0x1 + str r0, [sp, #0x214] +_02019EE0: + ldr r0, [sp, #0x20c] + add r0, r0, #0x4 + str r0, [sp, #0x20c] + ldr r0, [sp, #0x218] + add r0, r0, #0x1 + str r0, [sp, #0x218] + cmp r0, #0x8 + blt _02019E12 + ldr r0, [sp, #0x0] + mov r2, #0x0 + str r0, [sp, #0x1fc] + add r0, #0x40 + str r0, [sp, #0x1fc] + ldr r0, [sp, #0x48] + mov r1, #0x1 + add r0, #0x8 + str r0, [sp, #0x48] + str r0, [sp, #0x204] +_02019F04: + ldr r0, [sp, #0x330] + asr r0, r2 + tst r0, r1 + beq _02019F12 + ldr r0, [sp, #0x204] + add r0, r0, #0x1 + str r0, [sp, #0x204] +_02019F12: + add r2, r2, #0x1 + cmp r2, #0x8 + blt _02019F04 + ldr r0, [sp, #0x330] + asr r0, r0, #0x8 + str r0, [sp, #0x50] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xe4] + mov r0, #0x0 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + ble _0201A008 +_02019F30: + ldr r0, [sp, #0x1fc] + ldr r1, [sp, #0xe4] + ldr r0, [r0, #0x0] + ldr r6, [sp, #0x38] + str r0, [sp, #0x1f8] + ldr r0, [sp, #0x1c] + ldr r2, [sp, #0x5c] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x200] + ldr r0, [sp, #0x204] + mov r1, #0x0 + lsl r5, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x204] + str r6, [sp, #0xe0] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _02019F88 ; =0x00003FE0 + ldr r5, [sp, #0x38] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + ldr r3, [sp, #0x34] + add r4, r1, #0x0 + str r5, [sp, #0xdc] + str r0, [sp, #0xd8] +_02019F78: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _02019F88 ; =0x00003FE0 + b _02019F8C + nop +_02019F88: .word 0x00003FE0 +_02019F8C: + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xe0] + str r5, [sp, #0x2d8] + add r0, r5, r0 + ldr r5, [sp, #0x1f8] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _02019FD4 + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2dc] + ldrb r5, [r0, r7] + str r5, [sp, #0x2e0] + mov r5, #0xf0 + asr r5, r6 + ldr r6, [sp, #0x2e0] + and r6, r5 + ldr r5, [sp, #0x2dc] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x200] + cmp r0, #0x0 + beq _02019FD4 + ldr r6, [sp, #0x2d8] + ldr r0, [sp, #0xdc] + add r6, r6, r0 + ldr r0, [sp, #0xd8] + strb r5, [r0, r6] +_02019FD4: + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, #0x8 + blt _02019F78 + ldr r0, [sp, #0x200] + cmp r0, #0x0 + beq _02019FEE + ldr r0, [sp, #0x204] + add r0, r0, #0x2 + str r0, [sp, #0x204] + b _02019FF4 +_02019FEE: + ldr r0, [sp, #0x204] + add r0, r0, #0x1 + str r0, [sp, #0x204] +_02019FF4: + ldr r0, [sp, #0x1fc] + ldr r1, [sp, #0x4] + add r0, r0, #0x4 + str r0, [sp, #0x1fc] + ldr r0, [sp, #0x1c] + sub r1, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x1c] + cmp r0, r1 + blt _02019F30 +_0201A008: + ldr r0, [sp, #0x0] + mov r2, #0x0 + add r0, #0x60 + str r0, [sp, #0x0] + mov r1, #0x1 +_0201A012: + ldr r0, [sp, #0x330] + asr r0, r2 + tst r0, r1 + beq _0201A020 + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A020: + add r2, r2, #0x1 + cmp r2, #0x8 + blt _0201A012 + ldr r0, [sp, #0x50] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0xf4] + mov r0, #0x0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + bgt _0201A03E + bl FUN_0201A8BC +_0201A03E: + ldr r0, [sp, #0x5c] + add r0, #0x8 + str r0, [sp, #0x5c] +_0201A044: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0xf4] + ldr r0, [r0, #0x0] + ldr r2, [sp, #0x5c] + str r0, [sp, #0x1f0] + ldr r0, [sp, #0x18] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x1f4] + ldr r0, [sp, #0x8] + mov r1, #0x0 + str r0, [sp, #0x2e4] + sub r0, #0x8 + str r0, [sp, #0x2e4] + cmp r0, #0x0 + ble _0201A0FE + ble _0201A0FE + add r0, r2, #0x0 + lsl r3, r0, #0x2 + ldr r0, [sp, #0x48] + ldr r6, [sp, #0x38] + lsl r5, r0, #0x2 + ldr r0, _0201A3A8 ; =0x00003FE0 + add r7, r5, #0x0 + and r0, r5 + mul r6, r0 + mov r0, #0x1c + and r7, r0 + ldr r0, [sp, #0x48] + str r6, [sp, #0xf0] + add r0, r0, #0x1 + lsl r6, r0, #0x2 + ldr r0, _0201A3A8 ; =0x00003FE0 + ldr r5, [sp, #0x38] + and r0, r6 + mul r5, r0 + mov r0, #0x1c + and r0, r6 + add r4, r1, #0x0 + str r5, [sp, #0xec] + str r0, [sp, #0xe8] +_0201A09C: + asr r5, r2, #0x1 + mov r0, #0x3 + and r5, r0 + ldr r0, [sp, #0x278] + add r0, r0, r5 + ldr r5, _0201A3A8 ; =0x00003FE0 + and r5, r3 + add r5, r0, r5 + ldr r0, [sp, #0xf0] + str r5, [sp, #0x2e8] + add r0, r5, r0 + ldr r5, [sp, #0x1f0] + add r6, r5, #0x0 + lsr r6, r4 + mov r5, #0xf + and r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + beq _0201A0F0 + lsl r6, r2, #0x1f + lsr r6, r6, #0x1d + lsl r5, r6 + str r5, [sp, #0x2ec] + ldrb r5, [r0, r7] + mov r12, r5 + mov r5, #0xf0 + asr r5, r6 + mov r6, r12 + and r6, r5 + ldr r5, [sp, #0x2ec] + orr r5, r6 + lsl r5, r5, #0x18 + lsr r5, r5, #0x18 + strb r5, [r0, r7] + ldr r0, [sp, #0x1f4] + cmp r0, #0x0 + beq _0201A0F0 + ldr r6, [sp, #0x2e8] + ldr r0, [sp, #0xec] + add r6, r6, r0 + ldr r0, [sp, #0xe8] + strb r5, [r0, r6] +_0201A0F0: + ldr r0, [sp, #0x2e4] + add r1, r1, #0x1 + add r4, r4, #0x4 + add r3, r3, #0x4 + add r2, r2, #0x1 + cmp r1, r0 + blt _0201A09C +_0201A0FE: + ldr r0, [sp, #0x1f4] + cmp r0, #0x0 + beq _0201A10C + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _0201A112 +_0201A10C: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A112: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r0, #0x4 + str r0, [sp, #0x0] + ldr r0, [sp, #0x18] + sub r1, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x18] + cmp r0, r1 + blt _0201A044 + add sp, #0x1fc + add sp, #0x118 + pop {r4-r7, pc} thumb_func_start FUN_0201A12C FUN_0201A12C: ; 0x0201A12C @@ -48968,10 +54180,12 @@ FUN_0201A12C: ; 0x0201A12C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0x3 - lsl r0, r7, #0x9 - lsl r4, r3, #0x10 +_0201A150: ; jump table (using 16-bit offset) + .short _0201A158 - _0201A150 - 2; case 0 + .short _0201A220 - _0201A150 - 2; case 1 + .short _0201A3CA - _0201A150 - 2; case 2 + .short _0201A56E - _0201A150 - 2; case 3 +_0201A158: ldr r0, [sp, #0x330] ldr r7, [sp, #0x1ec] lsl r0, r0, #0x18 @@ -49080,114 +54294,904 @@ _0201A210: _0201A21E: b _0201A8B6 _0201A220: - .byte 0x12, 0x98, 0x7B, 0x9F, 0x78, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x00, 0x0E, 0x13, 0x90, 0x00, 0x06 - .byte 0x00, 0x0E, 0x49, 0x90, 0x00, 0x20, 0x79, 0x90, 0x01, 0x98, 0x00, 0x28, 0x53, 0xDD, 0x16, 0x98 - .byte 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x48, 0x90, 0x49, 0x99, 0x79, 0x98, 0x17, 0x9D - .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC3, 0x90, 0x28, 0x1C, 0xC6, 0x00 - .byte 0x78, 0x98, 0x48, 0x9A, 0xC1, 0x00, 0x51, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C - .byte 0x18, 0x40, 0x46, 0x90, 0x78, 0x98, 0x47, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x4B, 0x48, 0x48, 0x9A - .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24, 0x45, 0x92, 0x44, 0x90, 0x07, 0x20 - .byte 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x44, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x47, 0x98 - .byte 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x46, 0x98, 0x11, 0x54, 0xC3, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x45, 0x98, 0x1A, 0x18, 0x44, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C - .byte 0x08, 0x2C, 0xE4, 0xDB, 0xC3, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x78, 0x98, 0x80, 0x1C, 0x78, 0x90 - .byte 0x02, 0xE0, 0x78, 0x98, 0x40, 0x1C, 0x78, 0x90, 0x79, 0x98, 0x08, 0x37, 0x41, 0x1C, 0x01, 0x98 - .byte 0x79, 0x91, 0x81, 0x42, 0xB1, 0xDB, 0x7B, 0x98, 0xC2, 0x90, 0x40, 0x30, 0xC2, 0x90, 0x13, 0x98 - .byte 0x00, 0x06, 0x00, 0x0E, 0x4F, 0x90, 0x00, 0x20, 0x77, 0x90, 0x01, 0x98, 0x00, 0x28, 0x63, 0xDD - .byte 0x17, 0x98, 0x07, 0x21, 0x08, 0x30, 0x17, 0x90, 0x16, 0x98, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10 - .byte 0x4E, 0x90, 0x4F, 0x99, 0x77, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06 - .byte 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x76, 0x90, 0x17, 0x9D, 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD - .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x4E, 0x9A, 0xC1, 0x00, 0x1C, 0x48, 0x38, 0x23, 0x08, 0x40 - .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4C, 0x90, 0x12, 0x98, 0x4D, 0x92, 0x40, 0x1C, 0xC1, 0x00 - .byte 0x16, 0x48, 0x4E, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x4B, 0x92, 0x4A, 0x90 - .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x10, 0x48, 0x30, 0x40, 0x0B, 0x18 - .byte 0x4D, 0x98, 0x1A, 0x18, 0xC2, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x4C, 0x98, 0x11, 0x54 - .byte 0x76, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x4B, 0x98, 0x1A, 0x18, 0x4A, 0x98, 0x81, 0x54, 0x64, 0x1C - .byte 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x76, 0x98, 0x00, 0x28, 0x08, 0xD0, 0x12, 0x98 - .byte 0x80, 0x1C, 0x12, 0x90, 0x07, 0xE0, 0xC0, 0x46, 0xE0, 0x3F, 0x00, 0x00 + ldr r0, [sp, #0x48] + ldr r7, [sp, #0x1ec] + str r0, [sp, #0x1e0] + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x4c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x124] + mov r0, #0x0 + str r0, [sp, #0x1e4] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _0201A2E6 + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x120] +_0201A24A: + ldr r1, [sp, #0x124] + ldr r0, [sp, #0x1e4] + ldr r5, [sp, #0x5c] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x30c] + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x1e0] + ldr r2, [sp, #0x120] + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x118] + ldr r0, [sp, #0x1e0] + str r2, [sp, #0x11c] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + ldr r2, [sp, #0x120] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + mov r4, #0x0 + str r2, [sp, #0x114] + str r0, [sp, #0x110] +_0201A28E: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A3AC ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x11c] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A2BA + ldr r0, [sp, #0x118] + strb r1, [r2, r0] + ldr r0, [sp, #0x30c] + cmp r0, #0x0 + beq _0201A2BA + ldr r0, [sp, #0x114] + add r2, r3, r0 + ldr r0, [sp, #0x110] + strb r1, [r0, r2] +_0201A2BA: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, #0x8 + blt _0201A28E + ldr r0, [sp, #0x30c] + cmp r0, #0x0 + beq _0201A2D2 + ldr r0, [sp, #0x1e0] + add r0, r0, #0x2 + str r0, [sp, #0x1e0] + b _0201A2D8 +_0201A2D2: + ldr r0, [sp, #0x1e0] + add r0, r0, #0x1 + str r0, [sp, #0x1e0] +_0201A2D8: + ldr r0, [sp, #0x1e4] + add r7, #0x8 + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x1e4] + cmp r1, r0 + blt _0201A24A +_0201A2E6: + ldr r0, [sp, #0x1ec] + str r0, [sp, #0x308] + add r0, #0x40 + str r0, [sp, #0x308] + ldr r0, [sp, #0x4c] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x13c] + mov r0, #0x0 + str r0, [sp, #0x1dc] + ldr r0, [sp, #0x4] + cmp r0, #0x0 + ble _0201A3C8 + ldr r0, [sp, #0x5c] + mov r1, #0x7 + add r0, #0x8 + str r0, [sp, #0x5c] + ldr r0, [sp, #0x58] + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x138] +_0201A312: + ldr r1, [sp, #0x13c] + ldr r0, [sp, #0x1dc] + ldr r7, [sp, #0x8] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r7, #0x8 + mov r4, #0x0 + str r0, [sp, #0x1d8] + ldr r5, [sp, #0x5c] + cmp r7, #0x0 + ble _0201A398 + ble _0201A398 + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x48] + ldr r2, [sp, #0x138] + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x130] + ldr r0, [sp, #0x48] + str r2, [sp, #0x134] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A3AC ; =0x00007FC0 + ldr r2, [sp, #0x138] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0x12c] + str r0, [sp, #0x128] +_0201A360: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A3AC ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x134] + add r2, r3, r0 + ldr r0, [sp, #0x308] + ldrb r1, [r0, r4] + cmp r1, #0x0 + beq _0201A38E + ldr r0, [sp, #0x130] + strb r1, [r2, r0] + ldr r0, [sp, #0x1d8] + cmp r0, #0x0 + beq _0201A38E + ldr r0, [sp, #0x12c] + add r2, r3, r0 + ldr r0, [sp, #0x128] + strb r1, [r0, r2] +_0201A38E: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r7 + blt _0201A360 +_0201A398: + ldr r0, [sp, #0x1d8] + cmp r0, #0x0 + beq _0201A3B0 + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _0201A3B6 + nop +_0201A3A8: .word 0x00003FE0 _0201A3AC: .word 0x00007FC0 _0201A3B0: - .byte 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0xC2, 0x98, 0x08, 0x30, 0xC2, 0x90, 0x77, 0x98, 0x41, 0x1C - .byte 0x01, 0x98, 0x77, 0x91, 0x81, 0x42, 0xA4, 0xDB, 0x75, 0xE2, 0x12, 0x98, 0x07, 0x21, 0x74, 0x90 - .byte 0x00, 0x20, 0x75, 0x90, 0xCC, 0x98, 0x7B, 0x9F, 0x00, 0x06, 0x00, 0x0E, 0x54, 0x90, 0x16, 0x98 - .byte 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0C, 0x90, 0x54, 0x99, 0x75, 0x98, 0x00, 0x24, 0x01, 0x41 - .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xC1, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28 - .byte 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x74, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0xCE, 0x48 - .byte 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x52, 0x90, 0x74, 0x98, 0x53, 0x92 - .byte 0x40, 0x1C, 0xC1, 0x00, 0xC8, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40 - .byte 0x51, 0x92, 0x50, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0xC2, 0x48 - .byte 0x30, 0x40, 0x0B, 0x18, 0x53, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x52, 0x98 - .byte 0x11, 0x54, 0xC1, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x51, 0x98, 0x1A, 0x18, 0x50, 0x98, 0x81, 0x54 - .byte 0x02, 0x98, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC1, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x74, 0x98, 0x80, 0x1C, 0x74, 0x90, 0x02, 0xE0, 0x74, 0x98, 0x40, 0x1C, 0x74, 0x90 - .byte 0x75, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x75, 0x90, 0x08, 0x28, 0xAD, 0xDB, 0x12, 0x98, 0x7B, 0x9F - .byte 0x08, 0x30, 0x12, 0x90, 0x80, 0x37, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99, 0x01, 0x41, 0x11, 0x42 - .byte 0x02, 0xD0, 0x12, 0x99, 0x49, 0x1C, 0x12, 0x91, 0x40, 0x1C, 0x08, 0x28, 0xF5, 0xDB, 0xCC, 0x98 - .byte 0x00, 0x12, 0x00, 0x06, 0x00, 0x0E, 0x59, 0x90, 0x00, 0x20, 0x05, 0x90, 0x01, 0x98, 0x08, 0x38 - .byte 0x00, 0x28, 0x53, 0xDD, 0x59, 0x99, 0x05, 0x98, 0x00, 0x24, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40 - .byte 0x00, 0x06, 0x00, 0x0E, 0xC0, 0x90, 0x02, 0x98, 0x17, 0x9D, 0x00, 0x28, 0x34, 0xDD, 0x33, 0xDD - .byte 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0C, 0x9A, 0xC1, 0x00, 0x97, 0x48, 0x38, 0x23, 0x08, 0x40 - .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x57, 0x90, 0x12, 0x98, 0x58, 0x92, 0x40, 0x1C, 0xC1, 0x00 - .byte 0x91, 0x48, 0x0C, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x56, 0x92, 0x55, 0x90 - .byte 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x8B, 0x48, 0x30, 0x40, 0x0B, 0x18 - .byte 0x58, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x57, 0x98, 0x11, 0x54, 0xC0, 0x98 - .byte 0x00, 0x28, 0x03, 0xD0, 0x56, 0x98, 0x1A, 0x18, 0x55, 0x98, 0x81, 0x54, 0x02, 0x98, 0x64, 0x1C - .byte 0x08, 0x36, 0x6D, 0x1C, 0x84, 0x42, 0xE3, 0xDB, 0xC0, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98 - .byte 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x05, 0x98, 0x01, 0x99 - .byte 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x05, 0x90, 0x88, 0x42, 0xAB, 0xDB, 0xA3, 0xE1, 0x12, 0x98 - .byte 0x7B, 0x9F, 0x72, 0x90, 0xCC, 0x98, 0x00, 0x06, 0x01, 0x0E, 0x00, 0x20, 0x73, 0x90, 0x08, 0x06 - .byte 0x00, 0x0E, 0x0B, 0x90, 0x16, 0x98, 0x07, 0x21, 0x01, 0x40, 0x40, 0x18, 0xC0, 0x10, 0x0A, 0x90 - .byte 0x0B, 0x99, 0x73, 0x98, 0x17, 0x9D, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E - .byte 0xBF, 0x90, 0x28, 0x1C, 0xC6, 0x00, 0x72, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x66, 0x48, 0x38, 0x23 - .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5C, 0x90, 0x72, 0x98, 0x5D, 0x92, 0x40, 0x1C - .byte 0xC1, 0x00, 0x61, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x00, 0x24 - .byte 0x09, 0x96, 0x5B, 0x92, 0x5A, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18 - .byte 0x59, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x5D, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0 - .byte 0x5C, 0x98, 0x11, 0x54, 0xBF, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5B, 0x98, 0x1A, 0x18, 0x5A, 0x98 - .byte 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBF, 0x98, 0x00, 0x28 - .byte 0x03, 0xD0, 0x72, 0x98, 0x80, 0x1C, 0x72, 0x90, 0x02, 0xE0, 0x72, 0x98, 0x40, 0x1C, 0x72, 0x90 - .byte 0x73, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x73, 0x90, 0x08, 0x28, 0xB1, 0xDB, 0x7B, 0x98, 0xBE, 0x90 - .byte 0x40, 0x30, 0xBE, 0x90, 0x12, 0x98, 0x70, 0x90, 0x00, 0x20, 0x71, 0x90, 0x17, 0x98, 0x62, 0x90 - .byte 0x08, 0x30, 0x62, 0x90, 0x0B, 0x99, 0x71, 0x98, 0x02, 0x9F, 0x01, 0x41, 0x01, 0x20, 0x08, 0x40 - .byte 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6F, 0x90, 0x62, 0x9D, 0x00, 0x2F, 0x34, 0xDD - .byte 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x70, 0x98, 0x0A, 0x9A, 0xC1, 0x00, 0x36, 0x48, 0x38, 0x23 - .byte 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x60, 0x90, 0x70, 0x98, 0x61, 0x92, 0x40, 0x1C - .byte 0xC1, 0x00, 0x31, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x5F, 0x92 - .byte 0x5E, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x2A, 0x48, 0x30, 0x40 - .byte 0x0B, 0x18, 0x61, 0x98, 0x1A, 0x18, 0xBE, 0x98, 0x01, 0x5D, 0x00, 0x29, 0x08, 0xD0, 0x60, 0x98 - .byte 0x11, 0x54, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x5F, 0x98, 0x1A, 0x18, 0x5E, 0x98, 0x81, 0x54 - .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6F, 0x98, 0x00, 0x28, 0x03, 0xD0 - .byte 0x70, 0x98, 0x80, 0x1C, 0x70, 0x90, 0x02, 0xE0, 0x70, 0x98, 0x40, 0x1C, 0x70, 0x90, 0xBE, 0x98 - .byte 0x08, 0x30, 0xBE, 0x90, 0x71, 0x98, 0x40, 0x1C, 0x71, 0x90, 0x08, 0x28, 0xAA, 0xDB, 0x12, 0x98 - .byte 0x7B, 0x9F, 0x08, 0x30, 0x80, 0x37, 0x12, 0x90, 0x6E, 0x90, 0x00, 0x20, 0x01, 0x22, 0xCC, 0x99 - .byte 0x01, 0x41, 0x11, 0x42, 0x02, 0xD0, 0x6E, 0x99, 0x49, 0x1C, 0x6E, 0x91, 0x40, 0x1C, 0x08, 0x28 - .byte 0xF5, 0xDB, 0xCC, 0x98, 0x00, 0x12, 0x11, 0x90, 0x00, 0x06, 0x00, 0x0E, 0x67, 0x90, 0x00, 0x20 - .byte 0x04, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28, 0x51, 0xDD, 0x67, 0x99, 0x04, 0x98, 0x0A, 0x9A - .byte 0x01, 0x41, 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0xBD, 0x90, 0x6E, 0x98, 0x38, 0x23 - .byte 0xC1, 0x00, 0x01, 0x48, 0x02, 0xE0, 0xC0, 0x46, 0xC0, 0x7F, 0x00, 0x00, 0x17, 0x9D, 0x08, 0x40 - .byte 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x65, 0x90, 0x6E, 0x98, 0x66, 0x92, 0x40, 0x1C, 0xC1, 0x00 - .byte 0x58, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x09, 0x9E, 0x00, 0x24 - .byte 0x64, 0x92, 0x63, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18, 0x51, 0x48 - .byte 0x30, 0x40, 0x0B, 0x18, 0x66, 0x98, 0x39, 0x5D, 0x1A, 0x18, 0x00, 0x29, 0x08, 0xD0, 0x65, 0x98 - .byte 0x11, 0x54, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x64, 0x98, 0x1A, 0x18, 0x63, 0x98, 0x81, 0x54 - .byte 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0x08, 0x2C, 0xE4, 0xDB, 0xBD, 0x98, 0x00, 0x28, 0x03, 0xD0 - .byte 0x6E, 0x98, 0x80, 0x1C, 0x6E, 0x90, 0x02, 0xE0, 0x6E, 0x98, 0x40, 0x1C, 0x6E, 0x90, 0x04, 0x98 - .byte 0x01, 0x99, 0x40, 0x1C, 0x08, 0x39, 0x08, 0x37, 0x04, 0x90, 0x88, 0x42, 0xAD, 0xDB, 0x7B, 0x98 - .byte 0x00, 0x22, 0xBC, 0x90, 0xC0, 0x30, 0xBC, 0x90, 0x01, 0x21, 0xCC, 0x98, 0x10, 0x41, 0x08, 0x42 - .byte 0x02, 0xD0, 0x12, 0x98, 0x40, 0x1C, 0x12, 0x90, 0x52, 0x1C, 0x08, 0x2A, 0xF5, 0xDB, 0x11, 0x98 - .byte 0x00, 0x06, 0x00, 0x0E, 0x6C, 0x90, 0x00, 0x20, 0x03, 0x90, 0x01, 0x98, 0x08, 0x38, 0x00, 0x28 - .byte 0x59, 0xDD, 0x17, 0x98, 0x08, 0x30, 0x17, 0x90, 0x6C, 0x99, 0x03, 0x98, 0x02, 0x9F, 0x01, 0x41 - .byte 0x01, 0x20, 0x08, 0x40, 0x00, 0x06, 0x00, 0x0E, 0x08, 0x3F, 0x00, 0x24, 0x6D, 0x90, 0x17, 0x9D - .byte 0x00, 0x2F, 0x34, 0xDD, 0x33, 0xDD, 0x28, 0x1C, 0xC6, 0x00, 0x12, 0x98, 0x0A, 0x9A, 0xC1, 0x00 - .byte 0x24, 0x48, 0x38, 0x23, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C, 0x18, 0x40, 0x6A, 0x90, 0x12, 0x98 - .byte 0x6B, 0x92, 0x40, 0x1C, 0xC1, 0x00, 0x1F, 0x48, 0x0A, 0x9A, 0x08, 0x40, 0x42, 0x43, 0x08, 0x1C - .byte 0x18, 0x40, 0x69, 0x92, 0x68, 0x90, 0x07, 0x20, 0x29, 0x1C, 0x01, 0x40, 0x9E, 0x98, 0x41, 0x18 - .byte 0x18, 0x48, 0x30, 0x40, 0x0B, 0x18, 0x6B, 0x98, 0x1A, 0x18, 0xBC, 0x98, 0x01, 0x5D, 0x00, 0x29 - .byte 0x08, 0xD0, 0x6A, 0x98, 0x11, 0x54, 0x6D, 0x98, 0x00, 0x28, 0x03, 0xD0, 0x69, 0x98, 0x1A, 0x18 - .byte 0x68, 0x98, 0x81, 0x54, 0x64, 0x1C, 0x08, 0x36, 0x6D, 0x1C, 0xBC, 0x42, 0xE3, 0xDB, 0x6D, 0x98 - .byte 0x00, 0x28, 0x03, 0xD0, 0x12, 0x98, 0x80, 0x1C, 0x12, 0x90, 0x02, 0xE0, 0x12, 0x98, 0x40, 0x1C - .byte 0x12, 0x90, 0xBC, 0x98, 0x01, 0x99, 0x08, 0x30, 0xBC, 0x90, 0x03, 0x98, 0x08, 0x39, 0x40, 0x1C - .byte 0x03, 0x90, 0x88, 0x42, 0xA8, 0xDB + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A3B6: + ldr r0, [sp, #0x308] + add r0, #0x8 + str r0, [sp, #0x308] + ldr r0, [sp, #0x1dc] + add r1, r0, #0x1 + ldr r0, [sp, #0x4] + str r1, [sp, #0x1dc] + cmp r1, r0 + blt _0201A312 +_0201A3C8: + b _0201A8B6 +_0201A3CA: + ldr r0, [sp, #0x48] + mov r1, #0x7 + str r0, [sp, #0x1d0] + mov r0, #0x0 + str r0, [sp, #0x1d4] + ldr r0, [sp, #0x330] + ldr r7, [sp, #0x1ec] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x150] + ldr r0, [sp, #0x58] + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x30] +_0201A3E8: + ldr r1, [sp, #0x150] + ldr r0, [sp, #0x1d4] + mov r4, #0x0 + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x304] + ldr r0, [sp, #0x8] + ldr r5, [sp, #0x5c] + cmp r0, #0x0 + ble _0201A46C + ble _0201A46C + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x1d0] + ldr r2, [sp, #0x30] + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x148] + ldr r0, [sp, #0x1d0] + str r2, [sp, #0x14c] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + ldr r2, [sp, #0x30] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0x144] + str r0, [sp, #0x140] +_0201A434: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A748 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x14c] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A460 + ldr r0, [sp, #0x148] + strb r1, [r2, r0] + ldr r0, [sp, #0x304] + cmp r0, #0x0 + beq _0201A460 + ldr r0, [sp, #0x144] + add r2, r3, r0 + ldr r0, [sp, #0x140] + strb r1, [r0, r2] +_0201A460: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r0 + blt _0201A434 +_0201A46C: + ldr r0, [sp, #0x304] + cmp r0, #0x0 + beq _0201A47A + ldr r0, [sp, #0x1d0] + add r0, r0, #0x2 + str r0, [sp, #0x1d0] + b _0201A480 +_0201A47A: + ldr r0, [sp, #0x1d0] + add r0, r0, #0x1 + str r0, [sp, #0x1d0] +_0201A480: + ldr r0, [sp, #0x1d4] + add r7, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x1d4] + cmp r0, #0x8 + blt _0201A3E8 + ldr r0, [sp, #0x48] + ldr r7, [sp, #0x1ec] + add r0, #0x8 + str r0, [sp, #0x48] + add r7, #0x80 + mov r0, #0x0 + mov r2, #0x1 +_0201A49A: + ldr r1, [sp, #0x330] + asr r1, r0 + tst r1, r2 + beq _0201A4A8 + ldr r1, [sp, #0x48] + add r1, r1, #0x1 + str r1, [sp, #0x48] +_0201A4A8: + add r0, r0, #0x1 + cmp r0, #0x8 + blt _0201A49A + ldr r0, [sp, #0x330] + asr r0, r0, #0x8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x164] + mov r0, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + ble _0201A56C +_0201A4C4: + ldr r1, [sp, #0x164] + ldr r0, [sp, #0x14] + mov r4, #0x0 + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x300] + ldr r0, [sp, #0x8] + ldr r5, [sp, #0x5c] + cmp r0, #0x0 + ble _0201A548 + ble _0201A548 + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x48] + ldr r2, [sp, #0x30] + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x15c] + ldr r0, [sp, #0x48] + str r2, [sp, #0x160] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + ldr r2, [sp, #0x30] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0x158] + str r0, [sp, #0x154] +_0201A510: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A748 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x160] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A53C + ldr r0, [sp, #0x15c] + strb r1, [r2, r0] + ldr r0, [sp, #0x300] + cmp r0, #0x0 + beq _0201A53C + ldr r0, [sp, #0x158] + add r2, r3, r0 + ldr r0, [sp, #0x154] + strb r1, [r0, r2] +_0201A53C: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r0 + blt _0201A510 +_0201A548: + ldr r0, [sp, #0x300] + cmp r0, #0x0 + beq _0201A556 + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _0201A55C +_0201A556: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A55C: + ldr r0, [sp, #0x14] + ldr r1, [sp, #0x4] + add r0, r0, #0x1 + sub r1, #0x8 + add r7, #0x8 + str r0, [sp, #0x14] + cmp r0, r1 + blt _0201A4C4 +_0201A56C: + b _0201A8B6 +_0201A56E: + ldr r0, [sp, #0x48] + ldr r7, [sp, #0x1ec] + str r0, [sp, #0x1c8] + ldr r0, [sp, #0x330] + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 + mov r0, #0x0 + str r0, [sp, #0x1cc] + lsl r0, r1, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x2c] + ldr r0, [sp, #0x58] + mov r1, #0x7 + and r1, r0 + add r0, r0, r1 + asr r0, r0, #0x3 + str r0, [sp, #0x28] +_0201A590: + ldr r1, [sp, #0x2c] + ldr r0, [sp, #0x1cc] + ldr r5, [sp, #0x5c] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x2fc] + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x1c8] + ldr r2, [sp, #0x28] + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x170] + ldr r0, [sp, #0x1c8] + str r2, [sp, #0x174] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + ldr r2, [sp, #0x28] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + mov r4, #0x0 + str r6, [sp, #0x24] + str r2, [sp, #0x16c] + str r0, [sp, #0x168] +_0201A5D6: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A748 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x174] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A602 + ldr r0, [sp, #0x170] + strb r1, [r2, r0] + ldr r0, [sp, #0x2fc] + cmp r0, #0x0 + beq _0201A602 + ldr r0, [sp, #0x16c] + add r2, r3, r0 + ldr r0, [sp, #0x168] + strb r1, [r0, r2] +_0201A602: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, #0x8 + blt _0201A5D6 + ldr r0, [sp, #0x2fc] + cmp r0, #0x0 + beq _0201A61A + ldr r0, [sp, #0x1c8] + add r0, r0, #0x2 + str r0, [sp, #0x1c8] + b _0201A620 +_0201A61A: + ldr r0, [sp, #0x1c8] + add r0, r0, #0x1 + str r0, [sp, #0x1c8] +_0201A620: + ldr r0, [sp, #0x1cc] + add r7, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x1cc] + cmp r0, #0x8 + blt _0201A590 + ldr r0, [sp, #0x1ec] + str r0, [sp, #0x2f8] + add r0, #0x40 + str r0, [sp, #0x2f8] + ldr r0, [sp, #0x48] + str r0, [sp, #0x1c0] + mov r0, #0x0 + str r0, [sp, #0x1c4] + ldr r0, [sp, #0x5c] + str r0, [sp, #0x188] + add r0, #0x8 + str r0, [sp, #0x188] +_0201A644: + ldr r1, [sp, #0x2c] + ldr r0, [sp, #0x1c4] + ldr r7, [sp, #0x8] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r7, #0x8 + mov r4, #0x0 + str r0, [sp, #0x1bc] + ldr r5, [sp, #0x188] + cmp r7, #0x0 + ble _0201A6CA + ble _0201A6CA + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x1c0] + ldr r2, [sp, #0x28] + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x180] + ldr r0, [sp, #0x1c0] + str r2, [sp, #0x184] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + ldr r2, [sp, #0x28] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0x17c] + str r0, [sp, #0x178] +_0201A692: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A748 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x184] + add r2, r3, r0 + ldr r0, [sp, #0x2f8] + ldrb r1, [r0, r4] + cmp r1, #0x0 + beq _0201A6C0 + ldr r0, [sp, #0x180] + strb r1, [r2, r0] + ldr r0, [sp, #0x1bc] + cmp r0, #0x0 + beq _0201A6C0 + ldr r0, [sp, #0x17c] + add r2, r3, r0 + ldr r0, [sp, #0x178] + strb r1, [r0, r2] +_0201A6C0: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r7 + blt _0201A692 +_0201A6CA: + ldr r0, [sp, #0x1bc] + cmp r0, #0x0 + beq _0201A6D8 + ldr r0, [sp, #0x1c0] + add r0, r0, #0x2 + str r0, [sp, #0x1c0] + b _0201A6DE +_0201A6D8: + ldr r0, [sp, #0x1c0] + add r0, r0, #0x1 + str r0, [sp, #0x1c0] +_0201A6DE: + ldr r0, [sp, #0x2f8] + add r0, #0x8 + str r0, [sp, #0x2f8] + ldr r0, [sp, #0x1c4] + add r0, r0, #0x1 + str r0, [sp, #0x1c4] + cmp r0, #0x8 + blt _0201A644 + ldr r0, [sp, #0x48] + ldr r7, [sp, #0x1ec] + add r0, #0x8 + add r7, #0x80 + str r0, [sp, #0x48] + str r0, [sp, #0x1b8] + mov r0, #0x0 + mov r2, #0x1 +_0201A6FE: + ldr r1, [sp, #0x330] + asr r1, r0 + tst r1, r2 + beq _0201A70C + ldr r1, [sp, #0x1b8] + add r1, r1, #0x1 + str r1, [sp, #0x1b8] +_0201A70C: + add r0, r0, #0x1 + cmp r0, #0x8 + blt _0201A6FE + ldr r0, [sp, #0x330] + asr r0, r0, #0x8 + str r0, [sp, #0x44] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x19c] + mov r0, #0x0 + str r0, [sp, #0x10] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + ble _0201A7CE +_0201A72A: + ldr r1, [sp, #0x19c] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0x28] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x2f4] + ldr r0, [sp, #0x1b8] + mov r3, #0x38 + lsl r1, r0, #0x3 + ldr r0, _0201A748 ; =0x00007FC0 + b _0201A74C + nop +_0201A748: .word 0x00007FC0 +_0201A74C: + ldr r5, [sp, #0x5c] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x194] + ldr r0, [sp, #0x1b8] + str r2, [sp, #0x198] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A8C4 ; =0x00007FC0 + ldr r2, [sp, #0x28] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + ldr r6, [sp, #0x24] + mov r4, #0x0 + str r2, [sp, #0x190] + str r0, [sp, #0x18c] +_0201A774: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A8C4 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x198] + ldrb r1, [r7, r4] + add r2, r3, r0 + cmp r1, #0x0 + beq _0201A7A0 + ldr r0, [sp, #0x194] + strb r1, [r2, r0] + ldr r0, [sp, #0x2f4] + cmp r0, #0x0 + beq _0201A7A0 + ldr r0, [sp, #0x190] + add r2, r3, r0 + ldr r0, [sp, #0x18c] + strb r1, [r0, r2] +_0201A7A0: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, #0x8 + blt _0201A774 + ldr r0, [sp, #0x2f4] + cmp r0, #0x0 + beq _0201A7B8 + ldr r0, [sp, #0x1b8] + add r0, r0, #0x2 + str r0, [sp, #0x1b8] + b _0201A7BE +_0201A7B8: + ldr r0, [sp, #0x1b8] + add r0, r0, #0x1 + str r0, [sp, #0x1b8] +_0201A7BE: + ldr r0, [sp, #0x10] + ldr r1, [sp, #0x4] + add r0, r0, #0x1 + sub r1, #0x8 + add r7, #0x8 + str r0, [sp, #0x10] + cmp r0, r1 + blt _0201A72A +_0201A7CE: + ldr r0, [sp, #0x1ec] + mov r2, #0x0 + str r0, [sp, #0x2f0] + add r0, #0xc0 + str r0, [sp, #0x2f0] + mov r1, #0x1 +_0201A7DA: + ldr r0, [sp, #0x330] + asr r0, r2 + tst r0, r1 + beq _0201A7E8 + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A7E8: + add r2, r2, #0x1 + cmp r2, #0x8 + blt _0201A7DA + ldr r0, [sp, #0x44] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x1b0] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x4] + sub r0, #0x8 + cmp r0, #0x0 + ble _0201A8B6 + ldr r0, [sp, #0x5c] + add r0, #0x8 + str r0, [sp, #0x5c] +_0201A808: + ldr r1, [sp, #0x1b0] + ldr r0, [sp, #0xc] + ldr r7, [sp, #0x8] + asr r1, r0 + mov r0, #0x1 + and r0, r1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + sub r7, #0x8 + mov r4, #0x0 + str r0, [sp, #0x1b4] + ldr r5, [sp, #0x5c] + cmp r7, #0x0 + ble _0201A88E + ble _0201A88E + add r0, r5, #0x0 + lsl r6, r0, #0x3 + ldr r0, [sp, #0x48] + ldr r2, [sp, #0x28] + lsl r1, r0, #0x3 + ldr r0, _0201A8C4 ; =0x00007FC0 + mov r3, #0x38 + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r0, [sp, #0x1a8] + ldr r0, [sp, #0x48] + str r2, [sp, #0x1ac] + add r0, r0, #0x1 + lsl r1, r0, #0x3 + ldr r0, _0201A8C4 ; =0x00007FC0 + ldr r2, [sp, #0x28] + and r0, r1 + mul r2, r0 + add r0, r1, #0x0 + and r0, r3 + str r2, [sp, #0x1a4] + str r0, [sp, #0x1a0] +_0201A856: + mov r0, #0x7 + add r1, r5, #0x0 + and r1, r0 + ldr r0, [sp, #0x278] + add r1, r0, r1 + ldr r0, _0201A8C4 ; =0x00007FC0 + and r0, r6 + add r3, r1, r0 + ldr r0, [sp, #0x1ac] + add r2, r3, r0 + ldr r0, [sp, #0x2f0] + ldrb r1, [r0, r4] + cmp r1, #0x0 + beq _0201A884 + ldr r0, [sp, #0x1a8] + strb r1, [r2, r0] + ldr r0, [sp, #0x1b4] + cmp r0, #0x0 + beq _0201A884 + ldr r0, [sp, #0x1a4] + add r2, r3, r0 + ldr r0, [sp, #0x1a0] + strb r1, [r0, r2] +_0201A884: + add r4, r4, #0x1 + add r6, #0x8 + add r5, r5, #0x1 + cmp r4, r7 + blt _0201A856 +_0201A88E: + ldr r0, [sp, #0x1b4] + cmp r0, #0x0 + beq _0201A89C + ldr r0, [sp, #0x48] + add r0, r0, #0x2 + str r0, [sp, #0x48] + b _0201A8A2 +_0201A89C: + ldr r0, [sp, #0x48] + add r0, r0, #0x1 + str r0, [sp, #0x48] +_0201A8A2: + ldr r0, [sp, #0x2f0] + ldr r1, [sp, #0x4] + add r0, #0x8 + str r0, [sp, #0x2f0] + ldr r0, [sp, #0xc] + sub r1, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0xc] + cmp r0, r1 + blt _0201A808 _0201A8B6: ldr r0, [sp, #0x1ec] bl FUN_02016A18 @@ -49198,8 +55202,7 @@ FUN_0201A8BC: ; 0x0201A8BC add sp, #0x118 pop {r4-r7, pc} nop -_0201A8C4: - .byte 0xC0, 0x7F, 0x00, 0x00 +_0201A8C4: .word 0x00007FC0 thumb_func_start FUN_0201A8C8 FUN_0201A8C8: ; 0x0201A8C8 @@ -49249,10 +55252,12 @@ FUN_0201A8E8: ; 0x0201A8E8 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r2, #0x1 - lsl r4, r5, #0x2 - lsl r4, r5, #0x2 +_0201A920: ; jump table (using 16-bit offset) + .short _0201A928 - _0201A920 - 2; case 0 + .short _0201A976 - _0201A920 - 2; case 1 + .short _0201A9CE - _0201A920 - 2; case 2 + .short _0201A9CE - _0201A920 - 2; case 3 +_0201A928: add r0, r1, #0x0 mov r7, #0x0 cmp r0, #0x0 @@ -49297,12 +55302,54 @@ _0201A95E: add sp, #0x10 pop {r3-r7, pc} _0201A976: - .byte 0x08, 0x1C, 0x00, 0x1F, 0x12, 0x18, 0x08, 0x1C, 0x00, 0x27 - .byte 0x00, 0x28, 0x24, 0xDD, 0x07, 0x20, 0x84, 0x46, 0x00, 0x9C, 0x00, 0x25, 0x3B, 0x1C, 0x07, 0x20 - .byte 0x26, 0x1C, 0x06, 0x40, 0x21, 0x1C, 0x60, 0x46, 0x81, 0x43, 0x02, 0x98, 0x41, 0x43, 0x30, 0x1C - .byte 0x08, 0x43, 0x80, 0x00, 0x39, 0x18, 0x03, 0x98, 0x81, 0x42, 0x04, 0xDA, 0x50, 0x1A, 0x01, 0x68 - .byte 0xD0, 0x1A, 0x01, 0x60, 0x02, 0xE0, 0x01, 0x98, 0xD1, 0x1A, 0x08, 0x60, 0x6D, 0x1C, 0x64, 0x1C - .byte 0x1B, 0x1D, 0x08, 0x2D, 0xE3, 0xDB, 0x03, 0x98, 0x20, 0x37, 0x87, 0x42, 0xDC, 0xDB + add r0, r1, #0x0 + sub r0, r0, #0x4 + add r2, r2, r0 + add r0, r1, #0x0 + mov r7, #0x0 + cmp r0, #0x0 + ble _0201A9CE + mov r0, #0x7 + mov r12, r0 +_0201A988: + ldr r4, [sp, #0x0] + mov r5, #0x0 + add r3, r7, #0x0 +_0201A98E: + mov r0, #0x7 + add r6, r4, #0x0 + and r6, r0 + add r1, r4, #0x0 + mov r0, r12 + bic r1, r0 + ldr r0, [sp, #0x8] + mul r1, r0 + add r0, r6, #0x0 + orr r0, r1 + lsl r0, r0, #0x2 + add r1, r7, r0 + ldr r0, [sp, #0xc] + cmp r1, r0 + bge _0201A9B6 + sub r0, r2, r1 + ldr r1, [r0, #0x0] + sub r0, r2, r3 + str r1, [r0, #0x0] + b _0201A9BC +_0201A9B6: + ldr r0, [sp, #0x4] + sub r1, r2, r3 + str r0, [r1, #0x0] +_0201A9BC: + add r5, r5, #0x1 + add r4, r4, #0x1 + add r3, r3, #0x4 + cmp r5, #0x8 + blt _0201A98E + ldr r0, [sp, #0xc] + add r7, #0x20 + cmp r7, r0 + blt _0201A988 _0201A9CE: add sp, #0x10 pop {r3-r7, pc} @@ -49338,10 +55385,12 @@ _0201A9FE: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r4, r6, #0x1 - lsl r0, r7, #0x3 - lsl r0, r7, #0x3 +_0201AA0A: ; jump table (using 16-bit offset) + .short _0201AA12 - _0201AA0A - 2; case 0 + .short _0201AA80 - _0201AA0A - 2; case 1 + .short _0201AB04 - _0201AA0A - 2; case 2 + .short _0201AB04 - _0201AA0A - 2; case 3 +_0201AA12: mov r1, #0x0 str r1, [sp, #0xc] add r1, r2, #0x0 @@ -49404,15 +55453,78 @@ _0201AA66: add sp, #0x20 pop {r3-r7, pc} _0201AA80: - .byte 0x11, 0x1C, 0x08, 0x39, 0x5B, 0x18, 0x00, 0x21, 0x02, 0x91, 0x11, 0x1C, 0x00, 0x29, 0x39, 0xDD - .byte 0x00, 0x21, 0x01, 0x91, 0x07, 0x99, 0x00, 0x9D, 0x09, 0x1F, 0x06, 0x91, 0x07, 0x21, 0x02, 0x9C - .byte 0x8C, 0x46, 0x07, 0x21, 0x2E, 0x1C, 0x0E, 0x40, 0x2A, 0x1C, 0x61, 0x46, 0x8A, 0x43, 0x04, 0x99 - .byte 0x4A, 0x43, 0x31, 0x1C, 0x11, 0x43, 0xCA, 0x00, 0x02, 0x99, 0x8E, 0x18, 0x07, 0x99, 0x8E, 0x42 - .byte 0x04, 0xDA, 0x99, 0x1B, 0x0A, 0x68, 0x19, 0x1B, 0x0A, 0x60, 0x01, 0xE0, 0x19, 0x1B, 0x08, 0x60 - .byte 0x06, 0x99, 0x32, 0x1F, 0x8A, 0x42, 0x05, 0xDA, 0x99, 0x1A, 0x22, 0x1F, 0x09, 0x68, 0x9A, 0x1A - .byte 0x11, 0x60, 0x02, 0xE0, 0x21, 0x1F, 0x59, 0x1A, 0x08, 0x60, 0x01, 0x99, 0x6D, 0x1C, 0x49, 0x1C - .byte 0x08, 0x34, 0x01, 0x91, 0x08, 0x29, 0xD4, 0xDB, 0x02, 0x9A, 0x07, 0x99, 0x40, 0x32, 0x02, 0x92 - .byte 0x8A, 0x42, 0xC5, 0xDB + add r1, r2, #0x0 + sub r1, #0x8 + add r3, r3, r1 + mov r1, #0x0 + str r1, [sp, #0x8] + add r1, r2, #0x0 + cmp r1, #0x0 + ble _0201AB04 +_0201AA90: + mov r1, #0x0 + str r1, [sp, #0x4] + ldr r1, [sp, #0x1c] + ldr r5, [sp, #0x0] + sub r1, r1, #0x4 + str r1, [sp, #0x18] + mov r1, #0x7 + ldr r4, [sp, #0x8] + mov r12, r1 +_0201AAA2: + mov r1, #0x7 + add r6, r5, #0x0 + and r6, r1 + add r2, r5, #0x0 + mov r1, r12 + bic r2, r1 + ldr r1, [sp, #0x10] + mul r2, r1 + add r1, r6, #0x0 + orr r1, r2 + lsl r2, r1, #0x3 + ldr r1, [sp, #0x8] + add r6, r1, r2 + ldr r1, [sp, #0x1c] + cmp r6, r1 + bge _0201AACC + sub r1, r3, r6 + ldr r2, [r1, #0x0] + sub r1, r3, r4 + str r2, [r1, #0x0] + b _0201AAD0 +_0201AACC: + sub r1, r3, r4 + str r0, [r1, #0x0] +_0201AAD0: + ldr r1, [sp, #0x18] + sub r2, r6, #0x4 + cmp r2, r1 + bge _0201AAE4 + sub r1, r3, r2 + sub r2, r4, #0x4 + ldr r1, [r1, #0x0] + sub r2, r3, r2 + str r1, [r2, #0x0] + b _0201AAEA +_0201AAE4: + sub r1, r4, #0x4 + sub r1, r3, r1 + str r0, [r1, #0x0] +_0201AAEA: + ldr r1, [sp, #0x4] + add r5, r5, #0x1 + add r1, r1, #0x1 + add r4, #0x8 + str r1, [sp, #0x4] + cmp r1, #0x8 + blt _0201AAA2 + ldr r2, [sp, #0x8] + ldr r1, [sp, #0x1c] + add r2, #0x40 + str r2, [sp, #0x8] + cmp r2, r1 + blt _0201AA90 _0201AB04: add sp, #0x20 pop {r3-r7, pc} @@ -50034,18 +56146,38 @@ FUN_0201AF74: ; 0x0201AF74 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r2, r5, #0 +_0201AF86: ; jump table (using 16-bit offset) + .short _0201AF92 - _0201AF86 - 2; case 0 + .short _0201AF96 - _0201AF86 - 2; case 1 + .short _0201AF9E - _0201AF86 - 2; case 2 + .short _0201AFA6 - _0201AF86 - 2; case 3 + .short _0201AFAA - _0201AF86 - 2; case 4 + .short _0201AFB2 - _0201AF86 - 2; case 5 +_0201AF92: str r2, [r0, #0x24] bx lr _0201AF96: - .byte 0x41, 0x6A, 0x89, 0x18, 0x41, 0x62, 0x70, 0x47, 0x41, 0x6A - .byte 0x89, 0x1A, 0x41, 0x62, 0x70, 0x47, 0x82, 0x62, 0x70, 0x47, 0x81, 0x6A, 0x89, 0x18, 0x81, 0x62 - .byte 0x70, 0x47, 0x81, 0x6A, 0x89, 0x1A, 0x81, 0x62 + ldr r1, [r0, #0x24] + add r1, r1, r2 + str r1, [r0, #0x24] + bx lr +_0201AF9E: + ldr r1, [r0, #0x24] + sub r1, r1, r2 + str r1, [r0, #0x24] + bx lr +_0201AFA6: + str r2, [r0, #0x28] + bx lr +_0201AFAA: + ldr r1, [r0, #0x28] + add r1, r1, r2 + str r1, [r0, #0x28] + bx lr +_0201AFB2: + ldr r1, [r0, #0x28] + sub r1, r1, r2 + str r1, [r0, #0x28] _0201AFB8: bx lr .balign 4 @@ -52980,16 +59112,24 @@ FUN_0201C5A4: ; 0x0201C5A4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r3, #0 - lsl r4, r2, #0 - lsl r0, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 +_0201C5C0: ; jump table (using 16-bit offset) + .short _0201C5DA - _0201C5C0 - 2; case 0 + .short _0201C5D6 - _0201C5C0 - 2; case 1 + .short _0201C5CA - _0201C5C0 - 2; case 2 + .short _0201C5CE - _0201C5C0 - 2; case 3 + .short _0201C5D2 - _0201C5C0 - 2; case 4 +_0201C5CA: mov r1, #0x4 b _0201C5DE _0201C5CE: - .byte 0x02, 0x21 - .byte 0x05, 0xE0, 0x01, 0x21, 0x03, 0xE0, 0x01, 0x21, 0x01, 0xE0 + mov r1, #0x2 + b _0201C5DE +_0201C5D2: + mov r1, #0x1 + b _0201C5DE +_0201C5D6: + mov r1, #0x1 + b _0201C5DE _0201C5DA: mov r0, #0x0 pop {r3, pc} @@ -53060,17 +59200,30 @@ FUN_0201C638: ; 0x0201C638 lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_0201C652: ; jump table (using 16-bit offset) + .short _0201C65A - _0201C652 - 2; case 0 + .short _0201C662 - _0201C652 - 2; case 1 + .short _0201C66A - _0201C652 - 2; case 2 + .short _0201C672 - _0201C652 - 2; case 3 +_0201C65A: lsl r4, r4, #0x3 add r4, r0, r4 ldrb r4, [r4, #0x4] b _0201C678 _0201C662: - .byte 0xE4, 0x00, 0x04, 0x19, 0x64, 0x79, 0x06, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xA4, 0x79 - .byte 0x02, 0xE0, 0xE4, 0x00, 0x04, 0x19, 0xE4, 0x79 + lsl r4, r4, #0x3 + add r4, r0, r4 + ldrb r4, [r4, #0x5] + b _0201C678 +_0201C66A: + lsl r4, r4, #0x3 + add r4, r0, r4 + ldrb r4, [r4, #0x6] + b _0201C678 +_0201C672: + lsl r4, r4, #0x3 + add r4, r0, r4 + ldrb r4, [r4, #0x7] _0201C678: cmp r1, #0x0 beq _0201C682 @@ -54160,16 +60313,19 @@ FUN_0201CE70: ; 0x0201CE70 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r6, r2, #0 - lsl r2, r1, #0 - lsl r6, r2, #0 - lsl r2, r1, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 +_0201CE82: ; jump table (using 16-bit offset) + .short _0201CE9A - _0201CE82 - 2; case 0 + .short _0201CE8E - _0201CE82 - 2; case 1 + .short _0201CE9A - _0201CE82 - 2; case 2 + .short _0201CE8E - _0201CE82 - 2; case 3 + .short _0201CE94 - _0201CE82 - 2; case 4 + .short _0201CE94 - _0201CE82 - 2; case 5 +_0201CE8E: bl FUN_0201CEA0 pop {r3, pc} _0201CE94: - .byte 0x00, 0xF0, 0x60, 0xF8, 0x08, 0xBD + bl FUN_0201CF58 + pop {r3, pc} _0201CE9A: mov r0, #0x1 pop {r3, pc} @@ -55857,10 +62013,11 @@ FUN_0201DAE8: ; 0x0201DAE8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r4, #0 - lsl r4, r5, #0x1 - lsl r4, r5, #0x1 - lsl r0, r7, #0x1 +_0201DB0A: ; jump table (using 16-bit offset) + .short _0201DB32 - _0201DB0A - 2; case 0 + .short _0201DB78 - _0201DB0A - 2; case 1 + .short _0201DB78 - _0201DB0A - 2; case 2 + .short _0201DB84 - _0201DB0A - 2; case 3 _0201DB12: cmp r0, #0x20 beq _0201DB3C @@ -55882,7 +62039,11 @@ _0201DB2C: beq _0201DB6C b _0201DB90 _0201DB32: - .byte 0x41, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x61, 0x2D, 0xE0 + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x14] + b _0201DB98 _0201DB3C: ldr r0, _0201DC38 ; =0x021C5994 mov r1, #0x1 @@ -55919,8 +62080,19 @@ _0201DB6C: str r1, [r0, #0x14] b _0201DB98 _0201DB78: - .byte 0x2F, 0x48, 0x02, 0x21, 0x00, 0x68, 0x09, 0x04 - .byte 0x41, 0x61, 0x09, 0xE0, 0x2C, 0x48, 0x01, 0x21, 0x00, 0x68, 0x89, 0x04, 0x41, 0x61, 0x03, 0xE0 + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x2 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x10 + str r1, [r0, #0x14] + b _0201DB98 +_0201DB84: + ldr r0, _0201DC38 ; =0x021C5994 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x12 + str r1, [r0, #0x14] + b _0201DB98 _0201DB90: ldr r0, _0201DC38 ; =0x021C5994 mov r1, #0x0 @@ -64275,22 +70447,55 @@ FUN_02021774: ; 0x02021774 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r2, #0 - lsl r6, r4, #0 - lsl r4, r7, #0 +_02021798: ; jump table (using 16-bit offset) + .short _020217A0 - _02021798 - 2; case 0 + .short _020217AA - _02021798 - 2; case 1 + .short _020217C0 - _02021798 - 2; case 2 + .short _020217D6 - _02021798 - 2; case 3 +_020217A0: add r0, r4, r5 add r1, r6, #0x0 bl FUN_0201C100 b _02021802 _020217AA: - .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7 - .byte 0xA7, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0xA1, 0xFC, 0x20, 0xE0 - .byte 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x9C, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31 - .byte 0xFA, 0xF7, 0x96, 0xFC, 0x15, 0xE0, 0x60, 0x19, 0x31, 0x1C, 0xFA, 0xF7, 0x91, 0xFC, 0x60, 0x19 - .byte 0x31, 0x1C, 0x10, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x8B, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x20, 0x30 - .byte 0x40, 0x31, 0xFA, 0xF7, 0x85, 0xFC, 0x60, 0x19, 0x31, 0x1C, 0x30, 0x30, 0x60, 0x31, 0xFA, 0xF7 - .byte 0x7F, 0xFC + add r0, r4, r5 + add r1, r6, #0x0 + bl FUN_0201C100 + add r0, r4, r5 + add r1, r6, #0x0 + add r0, #0x10 + add r1, #0x40 + bl FUN_0201C100 + b _02021802 +_020217C0: + add r0, r4, r5 + add r1, r6, #0x0 + bl FUN_0201C100 + add r0, r4, r5 + add r1, r6, #0x0 + add r0, #0x10 + add r1, #0x20 + bl FUN_0201C100 + b _02021802 +_020217D6: + add r0, r4, r5 + add r1, r6, #0x0 + bl FUN_0201C100 + add r0, r4, r5 + add r1, r6, #0x0 + add r0, #0x10 + add r1, #0x20 + bl FUN_0201C100 + add r0, r4, r5 + add r1, r6, #0x0 + add r0, #0x20 + add r1, #0x40 + bl FUN_0201C100 + add r0, r4, r5 + add r1, r6, #0x0 + add r0, #0x30 + add r1, #0x60 + bl FUN_0201C100 _02021802: ldr r1, [sp, #0x0] ldr r2, [r7, #0x70] @@ -64332,22 +70537,59 @@ FUN_0202181C: ; 0x0202181C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r2, #0 - lsl r2, r5, #0 - lsl r2, r0, #0x1 +_0202184E: ; jump table (using 16-bit offset) + .short _02021856 - _0202184E - 2; case 0 + .short _02021862 - _0202184E - 2; case 1 + .short _0202187A - _0202184E - 2; case 2 + .short _02021892 - _0202184E - 2; case 3 +_02021856: add r0, r4, #0x0 add r0, #0x14 add r1, r5, #0x0 bl FUN_0201C100 b _020218C0 _02021862: - .byte 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x4A, 0xFC, 0x20, 0x1C, 0x29, 0x1C - .byte 0x24, 0x30, 0x40, 0x31, 0xFA, 0xF7, 0x44, 0xFC, 0x22, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C - .byte 0xFA, 0xF7, 0x3E, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x38, 0xFC - .byte 0x16, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x29, 0x1C, 0xFA, 0xF7, 0x32, 0xFC, 0x20, 0x1C, 0x29, 0x1C - .byte 0x24, 0x30, 0x20, 0x31, 0xFA, 0xF7, 0x2C, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x34, 0x30, 0x40, 0x31 - .byte 0xFA, 0xF7, 0x26, 0xFC, 0x20, 0x1C, 0x29, 0x1C, 0x44, 0x30, 0x60, 0x31, 0xFA, 0xF7, 0x20, 0xFC + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + bl FUN_0201C100 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x24 + add r1, #0x40 + bl FUN_0201C100 + b _020218C0 +_0202187A: + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + bl FUN_0201C100 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x24 + add r1, #0x20 + bl FUN_0201C100 + b _020218C0 +_02021892: + add r0, r4, #0x0 + add r0, #0x14 + add r1, r5, #0x0 + bl FUN_0201C100 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x24 + add r1, #0x20 + bl FUN_0201C100 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x34 + add r1, #0x40 + bl FUN_0201C100 + add r0, r4, #0x0 + add r1, r5, #0x0 + add r0, #0x44 + add r1, #0x60 + bl FUN_0201C100 _020218C0: ldr r2, [r4, #0x70] add r0, r4, #0x0 @@ -66148,12 +72390,15 @@ FUN_0202254C: ; 0x0202254C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r3, #0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r2, r3, #0 +_020225B8: ; jump table (using 16-bit offset) + .short _020225D4 - _020225B8 - 2; case 0 + .short _020225C0 - _020225B8 - 2; case 1 + .short _020225C4 - _020225B8 - 2; case 2 + .short _020225D4 - _020225B8 - 2; case 3 +_020225C0: mov r0, #0x0 str r0, [r4, #0xc] +_020225C4: add r0, r4, #0x0 bl FUN_02022D08 mov r0, #0x1 @@ -66162,7 +72407,8 @@ FUN_0202254C: ; 0x0202254C str r0, [r4, #0x8] b _020225DA _020225D4: - .byte 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xF9 + add r0, r4, #0x0 + bl FUN_020227DC _020225DA: add r0, r4, #0x0 pop {r4, pc} @@ -66529,12 +72775,12 @@ _02022878: .word 0x0002047C thumb_func_start FUN_0202287C FUN_0202287C: ; 0x0202287C ldr r1, _02022884 ; =0x0002047C - ldr r3, _02022888 ; =0x02022FF1 + ldr r3, _02022888 ; =FUN_02022FF0 add r1, r0, r1 bx r3 .balign 4 _02022884: .word 0x0002047C -_02022888: .word 0x02022FF1 +_02022888: .word FUN_02022FF0 + 1 thumb_func_start FUN_0202288C FUN_0202288C: ; 0x0202288C @@ -67346,12 +73592,14 @@ FUN_02022E78: ; 0x02022E78 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r6, r5, #0 - lsl r2, r1, #0x1 - lsl r6, r5, #0x1 - lsl r0, r3, #0x2 - lsl r4, r7, #0x2 +_02022E90: ; jump table (using 16-bit offset) + .short _02022E9C - _02022E90 - 2; case 0 + .short _02022EC0 - _02022E90 - 2; case 1 + .short _02022EDC - _02022E90 - 2; case 2 + .short _02022F00 - _02022E90 - 2; case 3 + .short _02022F2A - _02022E90 - 2; case 4 + .short _02022F4E - _02022E90 - 2; case 5 +_02022E9C: ldr r1, [r4, #0x8] ldr r0, _02022F7C ; =0x00020220 add r2, r5, r1 @@ -67371,6 +73619,7 @@ _02022EAE: ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] +_02022EC0: ldr r0, [r4, #0x10] add r1, sp, #0x0 bl FUN_020236E4 @@ -67385,6 +73634,7 @@ _02022ED6: ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] +_02022EDC: ldr r1, [r4, #0x8] ldr r0, _02022F7C ; =0x00020220 add r2, r5, r1 @@ -67404,6 +73654,7 @@ _02022EEE: ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] +_02022F00: ldr r0, [r4, #0x10] add r1, sp, #0x0 bl FUN_020236E4 @@ -67445,6 +73696,7 @@ _02022F3C: ldr r0, [r4, #0x14] add r0, r0, #0x1 str r0, [r4, #0x14] +_02022F4E: ldr r0, [r4, #0x10] add r1, sp, #0x0 bl FUN_020236E4 @@ -67535,13 +73787,48 @@ _02022FDA: _02022FE4: .word 0x00020214 _02022FE8: .word 0x00020218 _02022FEC: .word 0x00020220 -_02022FF0: - .byte 0x38, 0xB5, 0x0C, 0x1C, 0x21, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xA2, 0x69, 0x0F, 0x49, 0x42, 0x50 - .byte 0x0F, 0x49, 0x00, 0x23, 0x25, 0x1C, 0xEA, 0x69, 0x5B, 0x1C, 0x42, 0x50, 0x2D, 0x1D, 0x00, 0x1D - .byte 0x02, 0x2B, 0xF8, 0xDB, 0xB3, 0xF0, 0xCA, 0xEE, 0x00, 0x28, 0x0B, 0xD1, 0xB3, 0xF0, 0xAE, 0xEE - .byte 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C, 0xB3, 0xF0, 0x3C, 0xEB, 0x20, 0x69, 0x00, 0x04, 0x00, 0x0C - .byte 0xA7, 0xF0, 0x62, 0xE8, 0x01, 0x20, 0xF3, 0xF7, 0x0D, 0xFA, 0x38, 0xBD, 0x14, 0x02, 0x02, 0x00 - .byte 0x18, 0x02, 0x02, 0x00 + + thumb_func_start FUN_02022FF0 +FUN_02022FF0: ; 0x02022FF0 + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02023000 + ldr r2, [r4, #0x18] + ldr r1, _0202303C ; =0x00020214 + str r2, [r0, r1] +_02023000: + ldr r1, _02023040 ; =0x00020218 + mov r3, #0x0 + add r5, r4, #0x0 +_02023006: + ldr r2, [r5, #0x1c] + add r3, r3, #0x1 + str r2, [r0, r1] + add r5, r5, #0x4 + add r0, r0, #0x4 + cmp r3, #0x2 + blt _02023006 + blx FUN_020D6DAC + cmp r0, #0x0 + bne _02023034 + blx FUN_020D6D7C + ldr r0, [r4, #0x10] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + blx FUN_020D66A0 + ldr r0, [r4, #0x10] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + blx FUN_020CA0F8 +_02023034: + mov r0, #0x1 + bl FUN_02016454 + pop {r3-r5, pc} + .balign 4 +_0202303C: .word 0x00020214 +_02023040: .word 0x00020218 thumb_func_start FUN_02023044 FUN_02023044: ; 0x02023044 @@ -68456,9 +74743,6 @@ FUN_02023740: ; 0x02023740 mov r0, #0x1 add r1, r4, #0x0 bl FUN_0208A0B8 - - non_word_aligned_thumb_func_start FUN_02023766 -FUN_02023766: ; 0x02023766 pop {r3-r5, pc} .balign 4 _02023768: .word 0x021C59C8 @@ -69101,29 +75385,85 @@ FUN_02023B0C: ; 0x02023B0C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r7, #0x1 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r4, r5, #0 - lsl r2, r6, #0 - lsl r6, r0, #0x1 - lsl r4, r1, #0x1 - lsl r0, r4, #0x1 - lsl r0, r5, #0x1 - lsl r0, r6, #0x1 - lsl r0, r7, #0x1 +_02023B1E: ; jump table (using 16-bit offset) + .short _02023B9E - _02023B1E - 2; case 0 + .short _02023B38 - _02023B1E - 2; case 1 + .short _02023B3C - _02023B1E - 2; case 2 + .short _02023B40 - _02023B1E - 2; case 3 + .short _02023B44 - _02023B1E - 2; case 4 + .short _02023B4C - _02023B1E - 2; case 5 + .short _02023B52 - _02023B1E - 2; case 6 + .short _02023B66 - _02023B1E - 2; case 7 + .short _02023B6C - _02023B1E - 2; case 8 + .short _02023B80 - _02023B1E - 2; case 9 + .short _02023B88 - _02023B1E - 2; case 10 + .short _02023B90 - _02023B1E - 2; case 11 + .short _02023B98 - _02023B1E - 2; case 12 +_02023B38: ldrb r2, [r0, #0x1a] b _02023B9E _02023B3C: - .byte 0xC2, 0x7E, 0x2E, 0xE0 - .byte 0x02, 0x8B, 0x2C, 0xE0, 0x80, 0x7F, 0xC0, 0x07, 0xC2, 0x0F, 0x28, 0xE0, 0x1C, 0x21, 0x42, 0x56 - .byte 0x25, 0xE0, 0x1C, 0x21, 0x40, 0x56, 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x1F, 0xE0, 0x1E, 0xDA - .byte 0x0A, 0x1C, 0x1D, 0x3A, 0x1B, 0xE0, 0x1D, 0x21, 0x42, 0x56, 0x18, 0xE0, 0x1D, 0x21, 0x40, 0x56 - .byte 0x00, 0x28, 0x01, 0xDD, 0x01, 0x22, 0x12, 0xE0, 0x11, 0xDA, 0x0A, 0x1C, 0x1E, 0x3A, 0x0E, 0xE0 - .byte 0x80, 0x7F, 0x00, 0x07, 0xC2, 0x0F, 0x0A, 0xE0, 0x80, 0x7F, 0x40, 0x07, 0xC2, 0x0F, 0x06, 0xE0 - .byte 0x80, 0x7F, 0x80, 0x07, 0xC2, 0x0F, 0x02, 0xE0, 0x80, 0x7F, 0xC0, 0x06, 0xC2, 0x0F + ldrb r2, [r0, #0x1b] + b _02023B9E +_02023B40: + ldrh r2, [r0, #0x18] + b _02023B9E +_02023B44: + ldrb r0, [r0, #0x1e] + lsl r0, r0, #0x1f + lsr r2, r0, #0x1f + b _02023B9E +_02023B4C: + mov r1, #0x1c + ldrsb r2, [r0, r1] + b _02023B9E +_02023B52: + mov r1, #0x1c + ldrsb r0, [r0, r1] + cmp r0, #0x0 + ble _02023B5E + mov r2, #0x1 + b _02023B9E +_02023B5E: + bge _02023B9E + add r2, r1, #0x0 + sub r2, #0x1d + b _02023B9E +_02023B66: + mov r1, #0x1d + ldrsb r2, [r0, r1] + b _02023B9E +_02023B6C: + mov r1, #0x1d + ldrsb r0, [r0, r1] + cmp r0, #0x0 + ble _02023B78 + mov r2, #0x1 + b _02023B9E +_02023B78: + bge _02023B9E + add r2, r1, #0x0 + sub r2, #0x1e + b _02023B9E +_02023B80: + ldrb r0, [r0, #0x1e] + lsl r0, r0, #0x1c + lsr r2, r0, #0x1f + b _02023B9E +_02023B88: + ldrb r0, [r0, #0x1e] + lsl r0, r0, #0x1d + lsr r2, r0, #0x1f + b _02023B9E +_02023B90: + ldrb r0, [r0, #0x1e] + lsl r0, r0, #0x1e + lsr r2, r0, #0x1f + b _02023B9E +_02023B98: + ldrb r0, [r0, #0x1e] + lsl r0, r0, #0x1b + lsr r2, r0, #0x1f _02023B9E: add r0, r2, #0x0 bx lr @@ -72484,19 +78824,49 @@ FUN_02025308: ; 0x02025308 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r2, r1, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 - lsl r6, r5, #0 +_0202531E: ; jump table (using 16-bit offset) + .short _0202532A - _0202531E - 2; case 0 + .short _02025330 - _0202531E - 2; case 1 + .short _02025330 - _0202531E - 2; case 2 + .short _02025330 - _0202531E - 2; case 3 + .short _02025336 - _0202531E - 2; case 4 + .short _0202534E - _0202531E - 2; case 5 +_0202532A: bl FUN_02020C2C pop {r4, pc} _02025330: - .byte 0x50, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0xFF, 0xF7, 0x31, 0xFF, 0x20, 0x81, 0x20, 0x89, 0x02, 0x28 - .byte 0x01, 0xD2, 0x02, 0x20, 0x20, 0x81, 0x60, 0x78, 0x40, 0x1C, 0x60, 0x70, 0x10, 0xBD, 0x00, 0x21 - .byte 0x21, 0x81, 0x02, 0x21, 0x61, 0x70, 0x05, 0x21, 0xE1, 0x72, 0xA1, 0x79, 0x49, 0x1C, 0xA1, 0x71 - .byte 0xFF, 0xF7, 0x56, 0xFF, 0xA1, 0x79, 0x81, 0x42, 0x02, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0A, 0xFF + add r0, r2, #0x1 + strb r0, [r4, #0x1] + pop {r4, pc} +_02025336: + bl FUN_0202519C + strh r0, [r4, #0x8] + ldrh r0, [r4, #0x8] + cmp r0, #0x2 + bhs _02025346 + mov r0, #0x2 + strh r0, [r4, #0x8] +_02025346: + ldrb r0, [r4, #0x1] + add r0, r0, #0x1 + strb r0, [r4, #0x1] + pop {r4, pc} +_0202534E: + mov r1, #0x0 + strh r1, [r4, #0x8] + mov r1, #0x2 + strb r1, [r4, #0x1] + mov r1, #0x5 + strb r1, [r4, #0xb] + ldrb r1, [r4, #0x6] + add r1, r1, #0x1 + strb r1, [r4, #0x6] + bl FUN_02025210 + ldrb r1, [r4, #0x6] + cmp r1, r0 + bne _02025370 + add r0, r4, #0x0 + bl FUN_02025184 _02025370: pop {r4, pc} .balign 4 @@ -78812,18 +85182,32 @@ FUN_02027E94: ; 0x02027E94 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 +_02027EA4: ; jump table (using 16-bit offset) + .short _02027EB2 - _02027EA4 - 2; case 0 + .short _02027EB6 - _02027EA4 - 2; case 1 + .short _02027EBA - _02027EA4 - 2; case 2 + .short _02027EBE - _02027EA4 - 2; case 3 + .short _02027EC2 - _02027EA4 - 2; case 4 + .short _02027EC6 - _02027EA4 - 2; case 5 + .short _02027ECA - _02027EA4 - 2; case 6 +_02027EB2: ldrb r0, [r0, #0x0] bx lr _02027EB6: - .byte 0x40, 0x78, 0x70, 0x47, 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78 - .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47 + ldrb r0, [r0, #0x1] + bx lr +_02027EBA: + ldrb r0, [r0, #0x2] + bx lr +_02027EBE: + ldrb r0, [r0, #0x3] + bx lr +_02027EC2: + ldrb r0, [r0, #0x4] + bx lr +_02027EC6: + ldrb r0, [r0, #0x5] + bx lr _02027ECA: ldrb r0, [r0, #0x6] bx lr @@ -78898,22 +85282,53 @@ _02027F34: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r1, #0 - lsl r6, r2, #0 - lsl r4, r4, #0 - lsl r2, r1, #0x1 - lsl r6, r1, #0x1 - lsl r6, r1, #0x1 +_02027F4A: ; jump table (using 16-bit offset) + .short _02027F56 - _02027F4A - 2; case 0 + .short _02027F62 - _02027F4A - 2; case 1 + .short _02027F70 - _02027F4A - 2; case 2 + .short _02027F96 - _02027F4A - 2; case 3 + .short _02027F9A - _02027F4A - 2; case 4 + .short _02027F9A - _02027F4A - 2; case 5 +_02027F56: mov r1, r12 bl FUN_02027ED0 add sp, #0x8 mov r0, #0x1b pop {r3-r7, pc} _02027F62: - .byte 0x00, 0xAA, 0x13, 0x78, 0x06, 0x22, 0x5A, 0x43, 0x12, 0x06, 0x15, 0x0E, 0x15, 0xE0 - .byte 0x00, 0xAA, 0x53, 0x78, 0x12, 0x78, 0xCC, 0x5C, 0x8D, 0x5C, 0xA5, 0x42, 0x05, 0xD3, 0x94, 0x00 - .byte 0x12, 0x19, 0x9A, 0x18, 0x12, 0x06, 0x15, 0x0E, 0x08, 0xE0, 0x9C, 0x00, 0x1B, 0x19, 0xD2, 0x18 - .byte 0x12, 0x06, 0x15, 0x0E, 0x02, 0xE0, 0x19, 0x25, 0x00, 0xE0, 0x1A, 0x25 + add r2, sp, #0x0 + ldrb r3, [r2, #0x0] + mov r2, #0x6 + mul r2, r3 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + b _02027F9C +_02027F70: + add r2, sp, #0x0 + ldrb r3, [r2, #0x1] + ldrb r2, [r2, #0x0] + ldrb r4, [r1, r3] + ldrb r5, [r1, r2] + cmp r5, r4 + blo _02027F8A + lsl r4, r2, #0x2 + add r2, r2, r4 + add r2, r3, r2 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + b _02027F9C +_02027F8A: + lsl r4, r3, #0x2 + add r3, r3, r4 + add r2, r2, r3 + lsl r2, r2, #0x18 + lsr r5, r2, #0x18 + b _02027F9C +_02027F96: + mov r5, #0x19 + b _02027F9C +_02027F9A: + mov r5, #0x1a _02027F9C: cmp r6, #0x0 beq _02027FA2 @@ -78970,17 +85385,28 @@ FUN_02027FDC: ; 0x02027FDC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 +_02027FFC: ; jump table (using 16-bit offset) + .short _02028008 - _02027FFC - 2; case 0 + .short _0202800C - _02027FFC - 2; case 1 + .short _02028010 - _02027FFC - 2; case 2 + .short _02028014 - _02027FFC - 2; case 3 + .short _02028018 - _02027FFC - 2; case 4 + .short _0202801C - _02027FFC - 2; case 5 +_02028008: ldrb r0, [r4, #0x1] b _0202803E _0202800C: - .byte 0xA0, 0x78, 0x16, 0xE0 - .byte 0xE0, 0x78, 0x14, 0xE0, 0x20, 0x79, 0x12, 0xE0, 0x60, 0x79, 0x10, 0xE0 + ldrb r0, [r4, #0x2] + b _0202803E +_02028010: + ldrb r0, [r4, #0x3] + b _0202803E +_02028014: + ldrb r0, [r4, #0x4] + b _0202803E +_02028018: + ldrb r0, [r4, #0x5] + b _0202803E _0202801C: ldrb r0, [r4, #0x1] ldrb r1, [r4, #0x2] @@ -79311,15 +85737,17 @@ _0202823C: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r2, #0 - lsl r6, r3, #0 - lsl r4, r5, #0 - lsl r0, r7, #0 - lsl r6, r0, #0x1 - lsl r2, r2, #0x1 - lsl r0, r4, #0x1 - lsl r0, r7, #0x1 - lsl r4, r5, #0x1 +_0202824C: ; jump table (using 16-bit offset) + .short _0202825E - _0202824C - 2; case 0 + .short _0202826C - _0202824C - 2; case 1 + .short _0202827A - _0202824C - 2; case 2 + .short _02028286 - _0202824C - 2; case 3 + .short _02028294 - _0202824C - 2; case 4 + .short _020282A0 - _0202824C - 2; case 5 + .short _020282AE - _0202824C - 2; case 6 + .short _020282C6 - _0202824C - 2; case 7 + .short _020282BA - _0202824C - 2; case 8 +_0202825E: mov r0, #0x30 mul r0, r4 add r1, r5, r0 @@ -79328,19 +85756,72 @@ _0202823C: ldr r6, [r1, r0] b _020282D0 _0202826C: - .byte 0x30, 0x20, 0x60, 0x43 - .byte 0x29, 0x18, 0x79, 0x20, 0x80, 0x00, 0x0E, 0x5A, 0x2A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18 - .byte 0x14, 0x48, 0x0E, 0x5A, 0x24, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7A, 0x20, 0x80, 0x00 - .byte 0x0E, 0x5A, 0x1D, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x0F, 0x48, 0x0E, 0x5A, 0x17, 0xE0 - .byte 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20, 0x80, 0x00, 0x0E, 0x5C, 0x10, 0xE0, 0x30, 0x20 - .byte 0x60, 0x43, 0x29, 0x18, 0x09, 0x48, 0x0E, 0x5C, 0x0A, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18 - .byte 0x07, 0x48, 0x0E, 0x5C, 0x04, 0xE0, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x05, 0x48, 0x0E, 0x5C + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x79 + lsl r0, r0, #0x2 + ldrh r6, [r1, r0] + b _020282D0 +_0202827A: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _020282D4 ; =0x000001E6 + ldrh r6, [r1, r0] + b _020282D0 +_02028286: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7a + lsl r0, r0, #0x2 + ldrh r6, [r1, r0] + b _020282D0 +_02028294: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _020282D8 ; =0x000001EA + ldrh r6, [r1, r0] + b _020282D0 +_020282A0: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7b + lsl r0, r0, #0x2 + ldrb r6, [r1, r0] + b _020282D0 +_020282AE: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _020282DC ; =0x000001ED + ldrb r6, [r1, r0] + b _020282D0 +_020282BA: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _020282E0 ; =0x000001EE + ldrb r6, [r1, r0] + b _020282D0 +_020282C6: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _020282E4 ; =0x000001EF + ldrb r6, [r1, r0] _020282D0: add r0, r6, #0x0 pop {r3-r7, pc} -_020282D4: - .byte 0xE6, 0x01, 0x00, 0x00, 0xEA, 0x01, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 - .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 + .balign 4 +_020282D4: .word 0x000001E6 +_020282D8: .word 0x000001EA +_020282DC: .word 0x000001ED +_020282E0: .word 0x000001EE +_020282E4: .word 0x000001EF thumb_func_start FUN_020282E8 FUN_020282E8: ; 0x020282E8 @@ -79361,15 +85842,17 @@ _020282FA: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r2, #0 - lsl r6, r3, #0 - lsl r4, r4, #0 - lsl r2, r5, #0 - lsl r0, r6, #0 - lsl r4, r7, #0 - lsl r2, r1, #0x1 - lsl r2, r4, #0x1 - lsl r6, r2, #0x1 +_0202830A: ; jump table (using 16-bit offset) + .short _0202831C - _0202830A - 2; case 0 + .short _0202832A - _0202830A - 2; case 1 + .short _02028330 - _0202830A - 2; case 2 + .short _02028336 - _0202830A - 2; case 3 + .short _0202833C - _0202830A - 2; case 4 + .short _02028348 - _0202830A - 2; case 5 + .short _02028356 - _0202830A - 2; case 6 + .short _0202836E - _0202830A - 2; case 7 + .short _02028362 - _0202830A - 2; case 8 +_0202831C: mov r0, #0x30 mul r0, r4 add r1, r5, r0 @@ -79378,18 +85861,56 @@ _020282FA: str r6, [r1, r0] pop {r3-r7, pc} _0202832A: - .byte 0xF8, 0xF7, 0x7F, 0xFC, 0xF8, 0xBD - .byte 0xF8, 0xF7, 0x7C, 0xFC, 0xF8, 0xBD, 0xF8, 0xF7, 0x79, 0xFC, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43 - .byte 0x29, 0x18, 0x0E, 0x48, 0x0E, 0x52, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x7B, 0x20 - .byte 0x80, 0x00, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x08, 0x48, 0x0E, 0x54 - .byte 0xF8, 0xBD, 0x30, 0x20, 0x60, 0x43, 0x29, 0x18, 0x06, 0x48, 0x0E, 0x54, 0xF8, 0xBD, 0x30, 0x20 - .byte 0x60, 0x43, 0x29, 0x18, 0x04, 0x48, 0x0E, 0x54 + bl FUN_02020C2C + pop {r3-r7, pc} +_02028330: + bl FUN_02020C2C + pop {r3-r7, pc} +_02028336: + bl FUN_02020C2C + pop {r3-r7, pc} +_0202833C: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _0202837C ; =0x000001EA + strh r6, [r1, r0] + pop {r3-r7, pc} +_02028348: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + mov r0, #0x7b + lsl r0, r0, #0x2 + strb r6, [r1, r0] + pop {r3-r7, pc} +_02028356: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _02028380 ; =0x000001ED + strb r6, [r1, r0] + pop {r3-r7, pc} +_02028362: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _02028384 ; =0x000001EE + strb r6, [r1, r0] + pop {r3-r7, pc} +_0202836E: + mov r0, #0x30 + mul r0, r4 + add r1, r5, r0 + ldr r0, _02028388 ; =0x000001EF + strb r6, [r1, r0] _02028378: pop {r3-r7, pc} nop -_0202837C: - .byte 0xEA, 0x01, 0x00, 0x00 - .byte 0xED, 0x01, 0x00, 0x00, 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00 +_0202837C: .word 0x000001EA +_02028380: .word 0x000001ED +_02028384: .word 0x000001EE +_02028388: .word 0x000001EF thumb_func_start FUN_0202838C FUN_0202838C: ; 0x0202838C @@ -80475,17 +86996,26 @@ FUN_02028AD4: ; 0x02028AD4 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r1, #0 - lsl r6, r1, #0 - lsl r4, r2, #0 - lsl r2, r3, #0 - lsl r0, r4, #0 +_02028AEC: ; jump table (using 16-bit offset) + .short _02028AF6 - _02028AEC - 2; case 0 + .short _02028AFC - _02028AEC - 2; case 1 + .short _02028B02 - _02028AEC - 2; case 2 + .short _02028B08 - _02028AEC - 2; case 3 + .short _02028B0E - _02028AEC - 2; case 4 +_02028AF6: bl FUN_02028B1C b _02028B12 _02028AFC: - .byte 0x00, 0xF0, 0x2E, 0xF8 - .byte 0x07, 0xE0, 0x00, 0xF0, 0x75, 0xF8, 0x04, 0xE0, 0x00, 0xF0, 0x78, 0xF8, 0x01, 0xE0, 0x00, 0xF0 - .byte 0x7B, 0xF8 + bl FUN_02028B5C + b _02028B12 +_02028B02: + bl FUN_02028BF0 + b _02028B12 +_02028B08: + bl FUN_02028BFC + b _02028B12 +_02028B0E: + bl FUN_02028C08 _02028B12: add r0, r4, #0x0 bl FUN_02016A18 @@ -80541,49 +87071,70 @@ FUN_02028B5C: ; 0x02028B5C lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r7, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r1, #0x1 - lsl r6, r1, #0x1 - lsl r6, r2, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r5, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r4, r7, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 +_02028B70: ; jump table (using 16-bit offset) + .short _02028BEE - _02028B70 - 2; case 0 + .short _02028BB8 - _02028B70 - 2; case 1 + .short _02028BB8 - _02028B70 - 2; case 2 + .short _02028BB8 - _02028B70 - 2; case 3 + .short _02028BB8 - _02028B70 - 2; case 4 + .short _02028BB8 - _02028B70 - 2; case 5 + .short _02028BB8 - _02028B70 - 2; case 6 + .short _02028BB8 - _02028B70 - 2; case 7 + .short _02028BB8 - _02028B70 - 2; case 8 + .short _02028BC0 - _02028B70 - 2; case 9 + .short _02028BC0 - _02028B70 - 2; case 10 + .short _02028BC8 - _02028B70 - 2; case 11 + .short _02028BD0 - _02028B70 - 2; case 12 + .short _02028BD8 - _02028B70 - 2; case 13 + .short _02028BD8 - _02028B70 - 2; case 14 + .short _02028BD8 - _02028B70 - 2; case 15 + .short _02028BB8 - _02028B70 - 2; case 16 + .short _02028BB8 - _02028B70 - 2; case 17 + .short _02028BE0 - _02028B70 - 2; case 18 + .short _02028BE8 - _02028B70 - 2; case 19 + .short _02028BE8 - _02028B70 - 2; case 20 + .short _02028BE8 - _02028B70 - 2; case 21 + .short _02028BE8 - _02028B70 - 2; case 22 + .short _02028BE8 - _02028B70 - 2; case 23 + .short _02028BE8 - _02028B70 - 2; case 24 + .short _02028BE8 - _02028B70 - 2; case 25 + .short _02028BE8 - _02028B70 - 2; case 26 + .short _02028BE8 - _02028B70 - 2; case 27 + .short _02028BE8 - _02028B70 - 2; case 28 + .short _02028BE8 - _02028B70 - 2; case 29 + .short _02028BE8 - _02028B70 - 2; case 30 + .short _02028BEE - _02028B70 - 2; case 31 + .short _02028BE8 - _02028B70 - 2; case 32 + .short _02028BE8 - _02028B70 - 2; case 33 + .short _02028BB8 - _02028B70 - 2; case 34 + .short _02028BB8 - _02028B70 - 2; case 35 +_02028BB8: add r0, r0, #0x4 bl FUN_02028CE8 pop {r3, pc} _02028BC0: - .byte 0x00, 0x1D, 0x00, 0xF0, 0xE9, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0xBB, 0xF8, 0x08, 0xBD - .byte 0x00, 0x1D, 0x00, 0xF0, 0xA7, 0xF8, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x0F, 0xF9, 0x08, 0xBD - .byte 0x00, 0x1D, 0x00, 0xF0, 0x2F, 0xF9, 0x08, 0xBD, 0x00, 0x1D, 0x00, 0xF0, 0x4F, 0xF9 + add r0, r0, #0x4 + bl FUN_02028D98 + pop {r3, pc} +_02028BC8: + add r0, r0, #0x4 + bl FUN_02028D44 + pop {r3, pc} +_02028BD0: + add r0, r0, #0x4 + bl FUN_02028D24 + pop {r3, pc} +_02028BD8: + add r0, r0, #0x4 + bl FUN_02028DFC + pop {r3, pc} +_02028BE0: + add r0, r0, #0x4 + bl FUN_02028E44 + pop {r3, pc} +_02028BE8: + add r0, r0, #0x4 + bl FUN_02028E8C _02028BEE: pop {r3, pc} @@ -80620,30 +87171,44 @@ FUN_02028C08: ; 0x02028C08 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0x1 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 - lsl r0, r6, #0 - lsl r0, r7, #0 - lsl r0, r6, #0 - lsl r0, r7, #0 - lsl r0, r4, #0 - lsl r0, r7, #0 - lsl r2, r0, #0x1 - lsl r0, r7, #0 - lsl r0, r6, #0 - lsl r0, r7, #0 +_02028C24: ; jump table (using 16-bit offset) + .short _02028C6E - _02028C24 - 2; case 0 + .short _02028C46 - _02028C24 - 2; case 1 + .short _02028C46 - _02028C24 - 2; case 2 + .short _02028C46 - _02028C24 - 2; case 3 + .short _02028C46 - _02028C24 - 2; case 4 + .short _02028C46 - _02028C24 - 2; case 5 + .short _02028C4E - _02028C24 - 2; case 6 + .short _02028C56 - _02028C24 - 2; case 7 + .short _02028C5E - _02028C24 - 2; case 8 + .short _02028C56 - _02028C24 - 2; case 9 + .short _02028C5E - _02028C24 - 2; case 10 + .short _02028C46 - _02028C24 - 2; case 11 + .short _02028C5E - _02028C24 - 2; case 12 + .short _02028C68 - _02028C24 - 2; case 13 + .short _02028C5E - _02028C24 - 2; case 14 + .short _02028C56 - _02028C24 - 2; case 15 + .short _02028C5E - _02028C24 - 2; case 16 +_02028C46: add r1, r4, #0x0 bl FUN_02028ED4 pop {r3-r5, pc} _02028C4E: - .byte 0x21, 0x1C - .byte 0x00, 0xF0, 0x5E, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x68, 0xF9, 0x38, 0xBD, 0x28, 0x1C - .byte 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF9, 0x38, 0xBD, 0x21, 0x1C, 0x00, 0xF0, 0x93, 0xF9 + add r1, r4, #0x0 + bl FUN_02028F10 + pop {r3-r5, pc} +_02028C56: + add r1, r4, #0x0 + bl FUN_02028F2C + pop {r3-r5, pc} +_02028C5E: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02028F60 + pop {r3-r5, pc} +_02028C68: + add r1, r4, #0x0 + bl FUN_02028F94 _02028C6E: pop {r3-r5, pc} @@ -81960,21 +88525,41 @@ FUN_02029584: ; 0x02029584 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r1, #0 - lsl r4, r2, #0 - lsl r0, r4, #0 - lsl r4, r5, #0 - lsl r0, r7, #0 +_02029596: ; jump table (using 16-bit offset) + .short _020295A0 - _02029596 - 2; case 0 + .short _020295AC - _02029596 - 2; case 1 + .short _020295B8 - _02029596 - 2; case 2 + .short _020295C4 - _02029596 - 2; case 3 + .short _020295D0 - _02029596 - 2; case 4 +_020295A0: mov r2, #0x70 mul r2, r3 add r0, r0, r2 bl FUN_020295DC pop {r3, pc} _020295AC: - .byte 0x70, 0x22, 0x5A, 0x43 - .byte 0x80, 0x18, 0x00, 0xF0, 0x17, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0 - .byte 0x67, 0xF8, 0x08, 0xBD, 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8, 0x08, 0xBD - .byte 0x70, 0x22, 0x5A, 0x43, 0x80, 0x18, 0x00, 0xF0, 0x67, 0xF8 + mov r2, #0x70 + mul r2, r3 + add r0, r0, r2 + bl FUN_020295E4 + pop {r3, pc} +_020295B8: + mov r2, #0x70 + mul r2, r3 + add r0, r0, r2 + bl FUN_02029690 + pop {r3, pc} +_020295C4: + mov r2, #0x70 + mul r2, r3 + add r0, r0, r2 + bl FUN_0202969C + pop {r3, pc} +_020295D0: + mov r2, #0x70 + mul r2, r3 + add r0, r0, r2 + bl FUN_020296A8 _020295DA: pop {r3, pc} @@ -82012,49 +88597,62 @@ _020295EE: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r5, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r1, #0x1 - lsl r6, r1, #0x1 - lsl r6, r1, #0x1 - lsl r6, r1, #0x1 - lsl r6, r2, #0x1 - lsl r6, r2, #0x1 - lsl r6, r2, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r4, r5, #0x1 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 +_02029614: ; jump table (using 16-bit offset) + .short _02029682 - _02029614 - 2; case 0 + .short _0202965C - _02029614 - 2; case 1 + .short _0202965C - _02029614 - 2; case 2 + .short _0202965C - _02029614 - 2; case 3 + .short _0202965C - _02029614 - 2; case 4 + .short _0202965C - _02029614 - 2; case 5 + .short _0202965C - _02029614 - 2; case 6 + .short _0202965C - _02029614 - 2; case 7 + .short _0202965C - _02029614 - 2; case 8 + .short _02029664 - _02029614 - 2; case 9 + .short _02029664 - _02029614 - 2; case 10 + .short _02029664 - _02029614 - 2; case 11 + .short _02029664 - _02029614 - 2; case 12 + .short _0202966C - _02029614 - 2; case 13 + .short _0202966C - _02029614 - 2; case 14 + .short _0202966C - _02029614 - 2; case 15 + .short _0202965C - _02029614 - 2; case 16 + .short _0202965C - _02029614 - 2; case 17 + .short _02029674 - _02029614 - 2; case 18 + .short _0202967C - _02029614 - 2; case 19 + .short _0202967C - _02029614 - 2; case 20 + .short _0202967C - _02029614 - 2; case 21 + .short _0202967C - _02029614 - 2; case 22 + .short _0202967C - _02029614 - 2; case 23 + .short _0202967C - _02029614 - 2; case 24 + .short _0202967C - _02029614 - 2; case 25 + .short _0202967C - _02029614 - 2; case 26 + .short _0202967C - _02029614 - 2; case 27 + .short _0202967C - _02029614 - 2; case 28 + .short _0202967C - _02029614 - 2; case 29 + .short _0202967C - _02029614 - 2; case 30 + .short _02029682 - _02029614 - 2; case 31 + .short _0202967C - _02029614 - 2; case 32 + .short _0202967C - _02029614 - 2; case 33 + .short _0202965C - _02029614 - 2; case 34 + .short _0202965C - _02029614 - 2; case 35 +_0202965C: add r1, r4, #0x0 bl FUN_02029730 b _02029682 _02029664: - .byte 0x21, 0x1C, 0x00, 0xF0, 0x67, 0xF8, 0x0A, 0xE0, 0x21, 0x1C, 0x00, 0xF0 - .byte 0x6F, 0xF8, 0x06, 0xE0, 0x21, 0x1C, 0x00, 0xF0, 0x71, 0xF8, 0x02, 0xE0, 0x21, 0x1C, 0x00, 0xF0 - .byte 0x73, 0xF8 + add r1, r4, #0x0 + bl FUN_02029738 + b _02029682 +_0202966C: + add r1, r4, #0x0 + bl FUN_02029750 + b _02029682 +_02029674: + add r1, r4, #0x0 + bl FUN_0202975C + b _02029682 +_0202967C: + add r1, r4, #0x0 + bl FUN_02029768 _02029682: add r6, r6, #0x1 add r4, #0x8 @@ -82104,32 +88702,48 @@ _020296B4: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r2, #0x1 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r2, r5, #0 - lsl r4, r6, #0 - lsl r6, r7, #0 - lsl r4, r6, #0 - lsl r6, r7, #0 - lsl r0, r4, #0 - lsl r6, r7, #0 - lsl r0, r1, #0x1 - lsl r6, r7, #0 - lsl r4, r6, #0 - lsl r6, r7, #0 +_020296D0: ; jump table (using 16-bit offset) + .short _02029722 - _020296D0 - 2; case 0 + .short _020296F2 - _020296D0 - 2; case 1 + .short _020296F2 - _020296D0 - 2; case 2 + .short _020296F2 - _020296D0 - 2; case 3 + .short _020296F2 - _020296D0 - 2; case 4 + .short _020296F2 - _020296D0 - 2; case 5 + .short _020296FC - _020296D0 - 2; case 6 + .short _02029706 - _020296D0 - 2; case 7 + .short _02029710 - _020296D0 - 2; case 8 + .short _02029706 - _020296D0 - 2; case 9 + .short _02029710 - _020296D0 - 2; case 10 + .short _020296F2 - _020296D0 - 2; case 11 + .short _02029710 - _020296D0 - 2; case 12 + .short _0202971A - _020296D0 - 2; case 13 + .short _02029710 - _020296D0 - 2; case 14 + .short _02029706 - _020296D0 - 2; case 15 + .short _02029710 - _020296D0 - 2; case 16 +_020296F2: add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_02029774 b _02029722 _020296FC: - .byte 0x28, 0x1C, 0x21, 0x1C - .byte 0x00, 0xF0, 0x70, 0xF8, 0x0D, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xE0 - .byte 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA4, 0xF8, 0x03, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0 - .byte 0xA3, 0xF8 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_020297E4 + b _02029722 +_02029706: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02029808 + b _02029722 +_02029710: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02029860 + b _02029722 +_0202971A: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02029868 _02029722: add r7, r7, #0x1 add r4, #0x3a @@ -83786,27 +90400,69 @@ FUN_0202A240: ; 0x0202A240 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r2, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 - lsl r2, r7, #0 - lsl r0, r1, #0x1 - lsl r0, r2, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 +_0202A252: ; jump table (using 16-bit offset) + .short _0202A268 - _0202A252 - 2; case 0 + .short _0202A270 - _0202A252 - 2; case 1 + .short _0202A274 - _0202A252 - 2; case 2 + .short _0202A278 - _0202A252 - 2; case 3 + .short _0202A27C - _0202A252 - 2; case 4 + .short _0202A280 - _0202A252 - 2; case 5 + .short _0202A28E - _0202A252 - 2; case 6 + .short _0202A29C - _0202A252 - 2; case 7 + .short _0202A2A4 - _0202A252 - 2; case 8 + .short _0202A2B2 - _0202A252 - 2; case 9 + .short _0202A2BA - _0202A252 - 2; case 10 +_0202A268: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1b lsr r0, r0, #0x1d pop {r3, pc} _0202A270: - .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x80, 0x88, 0x08, 0xBD, 0xC0, 0x88, 0x08, 0xBD - .byte 0x11, 0x1C, 0x08, 0x30, 0x04, 0x22, 0xA4, 0xF0, 0xAC, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x11, 0x1C - .byte 0x2C, 0x30, 0x10, 0x22, 0xA4, 0xF0, 0xA4, 0xE8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x78, 0xC0, 0x07 - .byte 0xC0, 0x0F, 0x08, 0xBD, 0x11, 0x1C, 0x0C, 0x30, 0x1C, 0x22, 0xA4, 0xF0, 0x9A, 0xE8, 0x00, 0x20 - .byte 0x08, 0xBD, 0x00, 0x78, 0x00, 0x06, 0x40, 0x0F, 0x08, 0xBD, 0x80, 0x6A, 0x08, 0xBD + ldrb r0, [r0, #0x2] + pop {r3, pc} +_0202A274: + ldrb r0, [r0, #0x3] + pop {r3, pc} +_0202A278: + ldrh r0, [r0, #0x4] + pop {r3, pc} +_0202A27C: + ldrh r0, [r0, #0x6] + pop {r3, pc} +_0202A280: + add r1, r2, #0x0 + add r0, #0x8 + mov r2, #0x4 + blx FUN_020CE3E0 + mov r0, #0x0 + pop {r3, pc} +_0202A28E: + add r1, r2, #0x0 + add r0, #0x2c + mov r2, #0x10 + blx FUN_020CE3E0 + mov r0, #0x0 + pop {r3, pc} +_0202A29C: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + pop {r3, pc} +_0202A2A4: + add r1, r2, #0x0 + add r0, #0xc + mov r2, #0x1c + blx FUN_020CE3E0 + mov r0, #0x0 + pop {r3, pc} +_0202A2B2: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1d + pop {r3, pc} +_0202A2BA: + ldr r0, [r0, #0x28] + pop {r3, pc} _0202A2BE: mov r0, #0x0 pop {r3, pc} @@ -83824,17 +90480,19 @@ FUN_0202A2C4: ; 0x0202A2C4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r2, #0 - lsl r6, r4, #0 - lsl r4, r5, #0 - lsl r2, r6, #0 - lsl r0, r7, #0 - lsl r6, r7, #0 - lsl r4, r1, #0x1 - lsl r2, r3, #0x1 - lsl r4, r5, #0x1 - lsl r0, r0, #0x2 - lsl r2, r7, #0x1 +_0202A2D8: ; jump table (using 16-bit offset) + .short _0202A2EE - _0202A2D8 - 2; case 0 + .short _0202A300 - _0202A2D8 - 2; case 1 + .short _0202A306 - _0202A2D8 - 2; case 2 + .short _0202A30C - _0202A2D8 - 2; case 3 + .short _0202A312 - _0202A2D8 - 2; case 4 + .short _0202A318 - _0202A2D8 - 2; case 5 + .short _0202A326 - _0202A2D8 - 2; case 6 + .short _0202A334 - _0202A2D8 - 2; case 7 + .short _0202A346 - _0202A2D8 - 2; case 8 + .short _0202A35A - _0202A2D8 - 2; case 9 + .short _0202A354 - _0202A2D8 - 2; case 10 +_0202A2EE: ldrb r1, [r3, #0x0] mov r0, #0x1c bic r1, r0 @@ -83845,13 +90503,65 @@ FUN_0202A2C4: ; 0x0202A2C4 strb r0, [r3, #0x0] pop {r4, pc} _0202A300: - .byte 0x10, 0x78, 0x98, 0x70, 0x10, 0xBD, 0x10, 0x78, 0xD8, 0x70, 0x10, 0xBD, 0x10, 0x88, 0x98, 0x80 - .byte 0x10, 0xBD, 0x10, 0x88, 0xD8, 0x80, 0x10, 0xBD, 0x08, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x04, 0x22 - .byte 0xA4, 0xF0, 0x5E, 0xE8, 0x10, 0xBD, 0x2C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x10, 0x22, 0xA4, 0xF0 - .byte 0x58, 0xE8, 0x10, 0xBD, 0x1C, 0x78, 0x11, 0x78, 0x01, 0x20, 0x84, 0x43, 0x01, 0x20, 0x08, 0x40 - .byte 0x20, 0x43, 0x18, 0x70, 0x10, 0xBD, 0x0C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0x1C, 0x22, 0xA4, 0xF0 - .byte 0x48, 0xE8, 0x10, 0xBD, 0x10, 0x68, 0x98, 0x62, 0x10, 0xBD, 0x19, 0x78, 0xE0, 0x20, 0x81, 0x43 - .byte 0x10, 0x78, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x18, 0x70 + ldrb r0, [r2, #0x0] + strb r0, [r3, #0x2] + pop {r4, pc} +_0202A306: + ldrb r0, [r2, #0x0] + strb r0, [r3, #0x3] + pop {r4, pc} +_0202A30C: + ldrh r0, [r2, #0x0] + strh r0, [r3, #0x4] + pop {r4, pc} +_0202A312: + ldrh r0, [r2, #0x0] + strh r0, [r3, #0x6] + pop {r4, pc} +_0202A318: + add r3, #0x8 + add r0, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0x4 + blx FUN_020CE3E0 + pop {r4, pc} +_0202A326: + add r3, #0x2c + add r0, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0x10 + blx FUN_020CE3E0 + pop {r4, pc} +_0202A334: + ldrb r4, [r3, #0x0] + ldrb r1, [r2, #0x0] + mov r0, #0x1 + bic r4, r0 + mov r0, #0x1 + and r0, r1 + orr r0, r4 + strb r0, [r3, #0x0] + pop {r4, pc} +_0202A346: + add r3, #0xc + add r0, r2, #0x0 + add r1, r3, #0x0 + mov r2, #0x1c + blx FUN_020CE3E0 + pop {r4, pc} +_0202A354: + ldr r0, [r2, #0x0] + str r0, [r3, #0x28] + pop {r4, pc} +_0202A35A: + ldrb r1, [r3, #0x0] + mov r0, #0xe0 + bic r1, r0 + ldrb r0, [r2, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r3, #0x0] _0202A36A: pop {r4, pc} @@ -83913,13 +90623,15 @@ FUN_0202A3B4: ; 0x0202A3B4 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r7, #0 - lsl r4, r1, #0 - lsl r4, r7, #0 - lsl r4, r7, #0 - lsl r4, r7, #0 - lsl r2, r3, #0 - lsl r4, r5, #0 +_0202A3C4: ; jump table (using 16-bit offset) + .short _0202A402 - _0202A3C4 - 2; case 0 + .short _0202A3D2 - _0202A3C4 - 2; case 1 + .short _0202A402 - _0202A3C4 - 2; case 2 + .short _0202A402 - _0202A3C4 - 2; case 3 + .short _0202A402 - _0202A3C4 - 2; case 4 + .short _0202A3E0 - _0202A3C4 - 2; case 5 + .short _0202A3F2 - _0202A3C4 - 2; case 6 +_0202A3D2: ldr r2, _0202A408 ; =0x0000270F cmp r1, r2 bls _0202A3DC @@ -83929,9 +90641,26 @@ _0202A3DC: strh r1, [r0, #0x0] b _0202A402 _0202A3E0: - .byte 0x02, 0x88, 0x52, 0x18, 0x08, 0x49, 0x8A, 0x42, 0x01, 0xDD, 0x01, 0x80, 0x09, 0xE0, 0x02, 0x80 - .byte 0x07, 0xE0, 0x02, 0x88, 0x8A, 0x42, 0x02, 0xD2, 0x00, 0x21, 0x01, 0x80, 0x01, 0xE0, 0x51, 0x1A - .byte 0x01, 0x80 + ldrh r2, [r0, #0x0] + add r2, r2, r1 + ldr r1, _0202A408 ; =0x0000270F + cmp r2, r1 + ble _0202A3EE + strh r1, [r0, #0x0] + b _0202A402 +_0202A3EE: + strh r2, [r0, #0x0] + b _0202A402 +_0202A3F2: + ldrh r2, [r0, #0x0] + cmp r2, r1 + bhs _0202A3FE + mov r1, #0x0 + strh r1, [r0, #0x0] + b _0202A402 +_0202A3FE: + sub r1, r2, r1 + strh r1, [r0, #0x0] _0202A402: ldrh r0, [r0, #0x0] bx lr @@ -84952,21 +91681,39 @@ FUN_0202AAB8: ; 0x0202AAB8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r5, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 +_0202AAC8: ; jump table (using 16-bit offset) + .short _0202AAF8 - _0202AAC8 - 2; case 0 + .short _0202AADA - _0202AAC8 - 2; case 1 + .short _0202AADE - _0202AAC8 - 2; case 2 + .short _0202AAE2 - _0202AAC8 - 2; case 3 + .short _0202AAE6 - _0202AAC8 - 2; case 4 + .short _0202AAEA - _0202AAC8 - 2; case 5 + .short _0202AAEE - _0202AAC8 - 2; case 6 + .short _0202AAF2 - _0202AAC8 - 2; case 7 + .short _0202AAF6 - _0202AAC8 - 2; case 8 +_0202AADA: ldr r0, [r0, #0x0] bx lr _0202AADE: - .byte 0x40, 0x68 - .byte 0x70, 0x47, 0x80, 0x68, 0x70, 0x47, 0x80, 0x89, 0x70, 0x47, 0xC0, 0x89, 0x70, 0x47, 0x00, 0x7C - .byte 0x70, 0x47, 0x40, 0x7C, 0x70, 0x47, 0x80, 0x7C + ldr r0, [r0, #0x4] + bx lr +_0202AAE2: + ldr r0, [r0, #0x8] + bx lr +_0202AAE6: + ldrh r0, [r0, #0xc] + bx lr +_0202AAEA: + ldrh r0, [r0, #0xe] + bx lr +_0202AAEE: + ldrb r0, [r0, #0x10] + bx lr +_0202AAF2: + ldrb r0, [r0, #0x11] + bx lr +_0202AAF6: + ldrb r0, [r0, #0x12] _0202AAF8: bx lr .balign 4 @@ -84981,20 +91728,39 @@ FUN_0202AAFC: ; 0x0202AAFC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r5, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 +_0202AB0C: ; jump table (using 16-bit offset) + .short _0202AB3C - _0202AB0C - 2; case 0 + .short _0202AB1E - _0202AB0C - 2; case 1 + .short _0202AB22 - _0202AB0C - 2; case 2 + .short _0202AB26 - _0202AB0C - 2; case 3 + .short _0202AB2A - _0202AB0C - 2; case 4 + .short _0202AB2E - _0202AB0C - 2; case 5 + .short _0202AB32 - _0202AB0C - 2; case 6 + .short _0202AB36 - _0202AB0C - 2; case 7 + .short _0202AB3A - _0202AB0C - 2; case 8 +_0202AB1E: str r2, [r0, #0x0] bx lr _0202AB22: - .byte 0x42, 0x60, 0x70, 0x47, 0x82, 0x60, 0x70, 0x47, 0x82, 0x81, 0x70, 0x47, 0xC2, 0x81 - .byte 0x70, 0x47, 0x02, 0x74, 0x70, 0x47, 0x42, 0x74, 0x70, 0x47, 0x82, 0x74 + str r2, [r0, #0x4] + bx lr +_0202AB26: + str r2, [r0, #0x8] + bx lr +_0202AB2A: + strh r2, [r0, #0xc] + bx lr +_0202AB2E: + strh r2, [r0, #0xe] + bx lr +_0202AB32: + strb r2, [r0, #0x10] + bx lr +_0202AB36: + strb r2, [r0, #0x11] + bx lr +_0202AB3A: + strb r2, [r0, #0x12] _0202AB3C: bx lr .balign 4 @@ -86480,18 +93246,27 @@ FUN_0202B548: ; 0x0202B548 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r4, #0 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 - lsl r4, r3, #0 +_0202B55C: ; jump table (using 16-bit offset) + .short _0202B57E - _0202B55C - 2; case 0 + .short _0202B566 - _0202B55C - 2; case 1 + .short _0202B56E - _0202B55C - 2; case 2 + .short _0202B574 - _0202B55C - 2; case 3 + .short _0202B57A - _0202B55C - 2; case 4 +_0202B566: mov r1, #0x63 lsl r1, r1, #0x2 add r4, r0, r1 b _0202B57E _0202B56E: - .byte 0x04, 0x1C - .byte 0x0C, 0x34, 0x04, 0xE0, 0x04, 0x1C, 0xCC, 0x34, 0x01, 0xE0, 0xF5, 0xF7, 0x57, 0xFB + add r4, r0, #0x0 + add r4, #0xc + b _0202B57E +_0202B574: + add r4, r0, #0x0 + add r4, #0xcc + b _0202B57E +_0202B57A: + bl FUN_02020C2C _0202B57E: add r0, r4, #0x0 pop {r4, pc} @@ -86509,24 +93284,33 @@ FUN_0202B584: ; 0x0202B584 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r4, #0 - lsl r6, r2, #0 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r4, r3, #0 +_0202B598: ; jump table (using 16-bit offset) + .short _0202B5BA - _0202B598 - 2; case 0 + .short _0202B5B0 - _0202B598 - 2; case 1 + .short _0202B5A2 - _0202B598 - 2; case 2 + .short _0202B5AA - _0202B598 - 2; case 3 + .short _0202B5B6 - _0202B598 - 2; case 4 +_0202B5A2: mov r1, #0x93 lsl r1, r1, #0x2 add r4, r0, r1 b _0202B5BA _0202B5AA: - .byte 0x05, 0x49, 0x44, 0x18, 0x04, 0xE0 - .byte 0x04, 0x49, 0x44, 0x18, 0x01, 0xE0, 0xF5, 0xF7, 0x39, 0xFB + ldr r1, _0202B5C0 ; =0x000006CC + add r4, r0, r1 + b _0202B5BA +_0202B5B0: + ldr r1, _0202B5C4 ; =0x0000090C + add r4, r0, r1 + b _0202B5BA +_0202B5B6: + bl FUN_02020C2C _0202B5BA: add r0, r4, #0x0 pop {r4, pc} nop -_0202B5C0: - .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 +_0202B5C0: .word 0x000006CC +_0202B5C4: .word 0x0000090C thumb_func_start FUN_0202B5C8 FUN_0202B5C8: ; 0x0202B5C8 @@ -86651,11 +93435,13 @@ FUN_0202B678: ; 0x0202B678 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r6, #0x1 - lsl r2, r1, #0x1 - lsl r0, r1, #0 - lsl r2, r5, #0 - lsl r6, r5, #0x1 +_0202B68E: ; jump table (using 16-bit offset) + .short _0202B702 - _0202B68E - 2; case 0 + .short _0202B6DA - _0202B68E - 2; case 1 + .short _0202B698 - _0202B68E - 2; case 2 + .short _0202B6BA - _0202B68E - 2; case 3 + .short _0202B6FE - _0202B68E - 2; case 4 +_0202B698: cmp r3, #0x0 str r4, [sp, #0x0] beq _0202B6AA @@ -86673,18 +93459,48 @@ _0202B6AA: bl FUN_0202B61C pop {r3-r5, pc} _0202B6BA: - .byte 0x00, 0x2B, 0x00, 0x94, 0x05, 0xD0 - .byte 0xCC, 0x30, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x89, 0xFF, 0x38, 0xBD, 0x0E, 0x49, 0x2B, 0x1C - .byte 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0xA2, 0xFF, 0x38, 0xBD, 0x00, 0x2B, 0x00, 0x94, 0x07, 0xD0 - .byte 0x63, 0x21, 0x89, 0x00, 0x40, 0x18, 0x04, 0x21, 0x2B, 0x1C, 0xFF, 0xF7, 0x77, 0xFF, 0x38, 0xBD - .byte 0x06, 0x49, 0x2B, 0x1C, 0x40, 0x18, 0x08, 0x21, 0xFF, 0xF7, 0x90, 0xFF, 0x38, 0xBD, 0x00, 0x20 - .byte 0x38, 0xBD + cmp r3, #0x0 + str r4, [sp, #0x0] + beq _0202B6CC + add r0, #0xcc + mov r1, #0x4 + add r3, r5, #0x0 + bl FUN_0202B5DC + pop {r3-r5, pc} +_0202B6CC: + ldr r1, _0202B708 ; =0x000006CC + add r3, r5, #0x0 + add r0, r0, r1 + mov r1, #0x8 + bl FUN_0202B61C + pop {r3-r5, pc} +_0202B6DA: + cmp r3, #0x0 + str r4, [sp, #0x0] + beq _0202B6F0 + mov r1, #0x63 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r1, #0x4 + add r3, r5, #0x0 + bl FUN_0202B5DC + pop {r3-r5, pc} +_0202B6F0: + ldr r1, _0202B70C ; =0x0000090C + add r3, r5, #0x0 + add r0, r0, r1 + mov r1, #0x8 + bl FUN_0202B61C + pop {r3-r5, pc} +_0202B6FE: + mov r0, #0x0 + pop {r3-r5, pc} _0202B702: mov r0, #0x0 pop {r3-r5, pc} nop -_0202B708: - .byte 0xCC, 0x06, 0x00, 0x00, 0x0C, 0x09, 0x00, 0x00 +_0202B708: .word 0x000006CC +_0202B70C: .word 0x0000090C thumb_func_start FUN_0202B710 FUN_0202B710: ; 0x0202B710 @@ -88479,10 +95295,12 @@ _0202C41A: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r4, #0 - lsl r4, r4, #0 - lsl r4, r4, #0 +_0202C42E: ; jump table (using 16-bit offset) + .short _0202C436 - _0202C42E - 2; case 0 + .short _0202C454 - _0202C42E - 2; case 1 + .short _0202C454 - _0202C42E - 2; case 2 + .short _0202C454 - _0202C42E - 2; case 3 +_0202C436: ldr r0, _0202C458 ; =0x021C59D8 ldr r2, [r0, #0x4] ldr r0, _0202C45C ; =0x00001314 @@ -89162,10 +95980,12 @@ _0202C97A: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 +_0202C98E: ; jump table (using 16-bit offset) + .short _0202C996 - _0202C98E - 2; case 0 + .short _0202C9B0 - _0202C98E - 2; case 1 + .short _0202C9B0 - _0202C98E - 2; case 2 + .short _0202C9B0 - _0202C98E - 2; case 3 +_0202C996: ldr r0, _0202C9B4 ; =0x021C59D8 ldr r2, [r0, #0x4] ldr r0, _0202C9B8 ; =0x00001314 @@ -90185,20 +97005,24 @@ _0202D126: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r3, #0 - lsl r2, r1, #0 - lsl r4, r4, #0 - lsl r4, r4, #0 - lsl r0, r3, #0 - lsl r2, r1, #0 +_0202D144: ; jump table (using 16-bit offset) + .short _0202D15E - _0202D144 - 2; case 0 + .short _0202D150 - _0202D144 - 2; case 1 + .short _0202D16A - _0202D144 - 2; case 2 + .short _0202D16A - _0202D144 - 2; case 3 + .short _0202D15E - _0202D144 - 2; case 4 + .short _0202D150 - _0202D144 - 2; case 5 +_0202D150: bl FUN_0202C9BC cmp r0, #0x0 bne _0202D16A bl FUN_0202D0D8 pop {r3, pc} _0202D15E: - .byte 0xFF, 0xF7 - .byte 0x7F, 0xF9, 0x00, 0x28, 0x01, 0xD1, 0xFF, 0xF7, 0xB7, 0xFF + bl FUN_0202C460 + cmp r0, #0x0 + bne _0202D16A + bl FUN_0202D0D8 _0202D16A: pop {r3, pc} .balign 4 @@ -93886,16 +100710,18 @@ _0202EC4A: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r2, r6, #0 - lsl r0, r6, #0x3 - lsl r0, r6, #0x3 - lsl r0, r6, #0x3 - lsl r0, r6, #0x3 - lsl r0, r6, #0x3 - lsl r6, r6, #0x1 - lsl r4, r3, #0x1 - lsl r4, r3, #0x1 +_0202EC5A: ; jump table (using 16-bit offset) + .short _0202EC6E - _0202EC5A - 2; case 0 + .short _0202EC8E - _0202EC5A - 2; case 1 + .short _0202ED4C - _0202EC5A - 2; case 2 + .short _0202ED4C - _0202EC5A - 2; case 3 + .short _0202ED4C - _0202EC5A - 2; case 4 + .short _0202ED4C - _0202EC5A - 2; case 5 + .short _0202ED4C - _0202EC5A - 2; case 6 + .short _0202ECD2 - _0202EC5A - 2; case 7 + .short _0202ECB8 - _0202EC5A - 2; case 8 + .short _0202ECB8 - _0202EC5A - 2; case 9 +_0202EC6E: ldr r0, _0202ED50 ; =0x021C59E8 ldr r2, [r0, #0x8] ldr r0, _0202ED60 ; =0x00000DAA @@ -93913,19 +100739,98 @@ _0202EC82: add sp, #0x8 pop {r3-r5, pc} _0202EC8E: - .byte 0x30, 0x48 - .byte 0x81, 0x68, 0x33, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x03, 0xD1, 0xFE, 0xF7, 0x6D, 0xFA, 0x00, 0x28 - .byte 0x54, 0xD1, 0x2B, 0x48, 0x81, 0x68, 0x2E, 0x48, 0x08, 0x5C, 0x02, 0x28, 0x4E, 0xD1, 0xFE, 0xF7 - .byte 0x63, 0xFA, 0x02, 0xB0, 0x00, 0x28, 0x38, 0xBD, 0x25, 0x48, 0x83, 0x68, 0x00, 0x2B, 0x45, 0xD0 - .byte 0x24, 0x49, 0x01, 0x20, 0x5A, 0x5C, 0x02, 0xB0, 0x82, 0x43, 0x01, 0x20, 0x10, 0x43, 0x58, 0x54 - .byte 0x38, 0xBD, 0xFE, 0xF7, 0x67, 0xF8, 0x1E, 0x4B, 0x22, 0x4A, 0x9C, 0x68, 0xA1, 0x5C, 0x00, 0x29 - .byte 0x05, 0xD1, 0x51, 0x1F, 0x60, 0x52, 0x98, 0x68, 0x05, 0x21, 0x81, 0x54, 0x01, 0xE0, 0x48, 0x1E - .byte 0xA0, 0x54, 0x17, 0x49, 0x1C, 0x48, 0x8A, 0x68, 0x15, 0x5A, 0x09, 0x30, 0x10, 0x5C, 0x00, 0x07 - .byte 0xC0, 0x0F, 0x02, 0xD0, 0x08, 0x88, 0x40, 0x1C, 0x08, 0x80, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0xF0 - .byte 0x11, 0xFC, 0x00, 0x04, 0x00, 0x0C, 0xFE, 0xF7, 0x9F, 0xFD, 0x04, 0x1C, 0x04, 0xF0, 0x0A, 0xFC - .byte 0x00, 0x04, 0x00, 0x0C, 0x00, 0xF0, 0xE0, 0xF8, 0x00, 0x90, 0x09, 0x49, 0x09, 0x48, 0x8A, 0x68 - .byte 0x23, 0x1C, 0x10, 0x5C, 0x2A, 0x1C, 0x80, 0x06, 0xC0, 0x0F, 0x01, 0x90, 0x09, 0x88, 0x00, 0x20 - .byte 0xFE, 0xF7, 0x20, 0xF9, 0x02, 0x48, 0x81, 0x68, 0x08, 0x48, 0x0D, 0x54 + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202ED60 ; =0x00000DAA + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _0202ECA2 + bl FUN_0202D178 + cmp r0, #0x0 + bne _0202ED4C +_0202ECA2: + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202ED60 ; =0x00000DAA + ldrb r0, [r1, r0] + cmp r0, #0x2 + bne _0202ED4C + bl FUN_0202D178 + add sp, #0x8 + cmp r0, #0x0 + pop {r3-r5, pc} +_0202ECB8: + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r3, [r0, #0x8] + cmp r3, #0x0 + beq _0202ED4C + ldr r1, _0202ED54 ; =0x00000DAD + mov r0, #0x1 + ldrb r2, [r3, r1] + add sp, #0x8 + bic r2, r0 + mov r0, #0x1 + orr r0, r2 + strb r0, [r3, r1] + pop {r3-r5, pc} +_0202ECD2: + bl FUN_0202CDA4 + ldr r3, _0202ED50 ; =0x021C59E8 + ldr r2, _0202ED64 ; =0x00000DA9 + ldr r4, [r3, #0x8] + ldrb r1, [r4, r2] + cmp r1, #0x0 + bne _0202ECEE + sub r1, r2, #0x5 + strh r0, [r4, r1] + ldr r0, [r3, #0x8] + mov r1, #0x5 + strb r1, [r0, r2] + b _0202ECF2 +_0202ECEE: + sub r0, r1, #0x1 + strb r0, [r4, r2] +_0202ECF2: + ldr r1, _0202ED50 ; =0x021C59E8 + ldr r0, _0202ED68 ; =0x00000DA4 + ldr r2, [r1, #0x8] + ldrh r5, [r2, r0] + add r0, #0x9 + ldrb r0, [r2, r0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + beq _0202ED0A + ldrh r0, [r1, #0x0] + add r0, r0, #0x1 + strh r0, [r1, #0x0] +_0202ED0A: + bl FUN_0202EA9C + bl FUN_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_0202D858 + add r4, r0, #0x0 + bl FUN_02033534 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_0202EEE8 + str r0, [sp, #0x0] + ldr r1, _0202ED50 ; =0x021C59E8 + ldr r0, _0202ED54 ; =0x00000DAD + ldr r2, [r1, #0x8] + add r3, r4, #0x0 + ldrb r0, [r2, r0] + add r2, r5, #0x0 + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + str r0, [sp, #0x4] + ldrh r1, [r1, #0x0] + mov r0, #0x0 + bl FUN_0202CF84 + ldr r0, _0202ED50 ; =0x021C59E8 + ldr r1, [r0, #0x8] + ldr r0, _0202ED6C ; =0x00000DA8 + strb r5, [r1, r0] _0202ED4C: add sp, #0x8 pop {r3-r5, pc} @@ -93935,8 +100840,9 @@ _0202ED54: .word 0x00000DAD _0202ED58: .word 0x0000FFFF _0202ED5C: .word 0x00000DA6 _0202ED60: .word 0x00000DAA -_0202ED64: - .byte 0xA9, 0x0D, 0x00, 0x00, 0xA4, 0x0D, 0x00, 0x00, 0xA8, 0x0D, 0x00, 0x00 +_0202ED64: .word 0x00000DA9 +_0202ED68: .word 0x00000DA4 +_0202ED6C: .word 0x00000DA8 thumb_func_start FUN_0202ED70 FUN_0202ED70: ; 0x0202ED70 @@ -97211,15 +104117,22 @@ _020306F2: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02030730: ; jump table (using 16-bit offset) + .short _02030738 - _02030730 - 2; case 0 + .short _0203073C - _02030730 - 2; case 1 + .short _02030740 - _02030730 - 2; case 2 + .short _02030744 - _02030730 - 2; case 3 +_02030738: mov r4, #0x20 b _02030746 _0203073C: - .byte 0x10, 0x24, 0x02, 0xE0 - .byte 0x40, 0x24, 0x00, 0xE0, 0x80, 0x24 + mov r4, #0x10 + b _02030746 +_02030740: + mov r4, #0x40 + b _02030746 +_02030744: + mov r4, #0x80 _02030746: ldr r0, _02030798 ; =0x021C59F4 ldr r5, [r0, #0x4] @@ -98334,9 +105247,21 @@ _02030FBC: nop _02030FC0: .word 0x021C59F4 _02030FC4: .word 0x00000628 -_02030FC8: - .byte 0x03, 0x48, 0x42, 0x68, 0x00, 0x2A, 0x02, 0xD0 - .byte 0x02, 0x48, 0x00, 0x21, 0x11, 0x52, 0x70, 0x47, 0xF4, 0x59, 0x1C, 0x02, 0x28, 0x06, 0x00, 0x00 + + thumb_func_start FUN_02030FC8 +FUN_02030FC8: ; 0x02030FC8 + ldr r0, _02030FD8 ; =0x021C59F4 + ldr r2, [r0, #0x4] + cmp r2, #0x0 + beq _02030FD6 + ldr r0, _02030FDC ; =0x00000628 + mov r1, #0x0 + strh r1, [r2, r0] +_02030FD6: + bx lr + .balign 4 +_02030FD8: .word 0x021C59F4 +_02030FDC: .word 0x00000628 thumb_func_start FUN_02030FE0 FUN_02030FE0: ; 0x02030FE0 @@ -102379,55 +109304,394 @@ _02032E88: .word FUN_02032290 + 1 FUN_02032E8C: ; 0x02032E8C bx lr .balign 4 -_02032E90: - .byte 0x08, 0xB5, 0xA5, 0xF1, 0x7B, 0xF8, 0x00, 0x28, 0x03, 0xDA, 0x02, 0x48, 0x00, 0x21, 0xFE, 0xF7 - .byte 0x3F, 0xFF, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x70, 0x47, 0x00, 0x00, 0x70, 0x47, 0x00, 0x00 - .byte 0x08, 0xB5, 0x01, 0x20, 0xFE, 0xF7, 0x74, 0xFA, 0xA5, 0xF1, 0x68, 0xF8, 0x0A, 0x28, 0x04, 0xDB - .byte 0x12, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0x00, 0x28, 0x04, 0xDA, 0x10, 0x48 - .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x21 - .byte 0xFE, 0xF7, 0x1E, 0xFF, 0x08, 0xBD, 0x02, 0x28, 0x0E, 0xD1, 0x0B, 0x48, 0x00, 0x68, 0x44, 0x30 - .byte 0x00, 0x78, 0x00, 0x28, 0x04, 0xD0, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x11, 0xFF, 0x08, 0xBD - .byte 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x0C, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02 - .byte 0x8D, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0xA9, 0x2E, 0x03, 0x02 - .byte 0x81, 0x1C, 0x01, 0x29, 0x00, 0xD9, 0x40, 0x42, 0x01, 0x49, 0x09, 0x68, 0x48, 0x63, 0x70, 0x47 - .byte 0x00, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x00, 0x20, 0xA4, 0xF1, 0x62, 0xFC, 0x0A, 0x28, 0x04, 0xDB - .byte 0x11, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xEC, 0xFE, 0x08, 0xBD, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7 - .byte 0xE7, 0xFF, 0x0E, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xE3, 0xFE, 0x08, 0xBD, 0x01, 0x28, 0x04, 0xD1 - .byte 0x0B, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xDC, 0xFE, 0x08, 0xBD, 0x02, 0x28, 0x04, 0xD1, 0x09, 0x48 - .byte 0x00, 0x21, 0xFE, 0xF7, 0xD5, 0xFE, 0x08, 0xBD, 0x03, 0x28, 0x03, 0xD1, 0x02, 0x48, 0x00, 0x21 - .byte 0xFE, 0xF7, 0xCE, 0xFE, 0x08, 0xBD, 0xC0, 0x46, 0xAD, 0x2E, 0x03, 0x02, 0x8D, 0x2E, 0x03, 0x02 - .byte 0xB1, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0x01, 0x20, 0xA4, 0xF1, 0x30, 0xFC - .byte 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0xBC, 0xFF, 0x09, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xB8, 0xFE - .byte 0x08, 0xBD, 0x08, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78, 0xA5, 0xF1, 0x6B, 0xFA, 0x00, 0x28 - .byte 0x05, 0xD0, 0xFC, 0xF7, 0x4D, 0xFE, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0xA9, 0xFE, 0x08, 0xBD - .byte 0x8D, 0x2E, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x10, 0xB5, 0x04, 0x1C - .byte 0x06, 0x48, 0x07, 0x49, 0xA4, 0xF1, 0xEE, 0xFB, 0x06, 0x48, 0x00, 0x21, 0x00, 0x68, 0x42, 0x30 - .byte 0x04, 0x70, 0x05, 0x48, 0xFE, 0xF7, 0x94, 0xFE, 0x01, 0x20, 0x10, 0xBD, 0xBD, 0x03, 0x03, 0x02 - .byte 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x99, 0x2F, 0x03, 0x02, 0x0E, 0x48, 0x00, 0x68 - .byte 0x41, 0x6A, 0x0E, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x70, 0x47, 0x0C, 0x48, 0x81, 0x42 - .byte 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x0B, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x03, 0x20, 0x70, 0x47 - .byte 0x09, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x04, 0x20, 0x70, 0x47, 0x08, 0x48, 0x81, 0x42, 0x01, 0xD1 - .byte 0x05, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02 - .byte 0xB1, 0x2E, 0x03, 0x02, 0x91, 0x2E, 0x03, 0x02, 0xA9, 0x2E, 0x03, 0x02, 0xAD, 0x2E, 0x03, 0x02 - .byte 0x08, 0xB5, 0x0B, 0x48, 0x0B, 0x49, 0xA4, 0xF1, 0xAD, 0xFB, 0x00, 0x20, 0xC0, 0x43, 0xA5, 0xF1 - .byte 0x11, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x08, 0x48, 0x00, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70 - .byte 0xFC, 0xF7, 0xEE, 0xFD, 0x05, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x4A, 0xFE, 0x08, 0xBD, 0xC0, 0x46 - .byte 0xBD, 0x03, 0x03, 0x02, 0x39, 0x02, 0x03, 0x02, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02 - .byte 0x08, 0xB5, 0x00, 0x20, 0xFE, 0xF7, 0x7C, 0xF9, 0x0B, 0x48, 0x00, 0x68, 0x41, 0x30, 0x00, 0x78 - .byte 0xA5, 0xF1, 0x04, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0xA5, 0xF1, 0x58, 0xF9, 0x07, 0x48, 0x00, 0x21 - .byte 0xFE, 0xF7, 0x2E, 0xFE, 0x08, 0xBD, 0xA4, 0xF1, 0x61, 0xFF, 0x00, 0x28, 0x03, 0xDA, 0x04, 0x48 - .byte 0x00, 0x21, 0xFE, 0xF7, 0x25, 0xFE, 0x08, 0xBD, 0x00, 0x5A, 0x1C, 0x02, 0x61, 0x30, 0x03, 0x02 - .byte 0x8D, 0x2E, 0x03, 0x02, 0x08, 0xB5, 0xFE, 0xF7, 0x53, 0xF8, 0x00, 0x28, 0x08, 0xD1, 0x0C, 0x48 - .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x0A, 0x48, 0xFE, 0xF7, 0x11, 0xFE, 0x08, 0xE0 - .byte 0x07, 0x48, 0x01, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0x06, 0x48, 0x00, 0x21, 0xFE, 0xF7 - .byte 0x07, 0xFE, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x4D, 0x30, 0x01, 0x70, 0x08, 0xBD, 0xC0, 0x46 - .byte 0x00, 0x5A, 0x1C, 0x02, 0xA1, 0x30, 0x03, 0x02, 0x02, 0x48, 0x00, 0x68, 0x4D, 0x30, 0x00, 0x78 - .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x04, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x04, 0x48 - .byte 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 - .byte 0x61, 0x30, 0x03, 0x02, 0x07, 0x48, 0x00, 0x68, 0x41, 0x6A, 0x07, 0x48, 0x81, 0x42, 0x01, 0xD1 - .byte 0x01, 0x20, 0x70, 0x47, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20 - .byte 0x70, 0x47, 0xC0, 0x46, 0x00, 0x5A, 0x1C, 0x02, 0x35, 0x2F, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02 - .byte 0x01, 0x48, 0x00, 0x68, 0x40, 0x6B, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 + + thumb_func_start FUN_02032E90 +FUN_02032E90: ; 0x02032E90 + push {r3, lr} + bl FUN_021D7F8C + cmp r0, #0x0 + bge _02032EA2 + ldr r0, _02032EA4 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 +_02032EA2: + pop {r3, pc} + .balign 4 +_02032EA4: .word FUN_02032E8C + 1 + + thumb_func_start FUN_02032EA8 +FUN_02032EA8: ; 0x02032EA8 + bx lr + .balign 4 + + thumb_func_start FUN_02032EAC +FUN_02032EAC: ; 0x02032EAC + bx lr + .balign 4 + + thumb_func_start FUN_02032EB0 +FUN_02032EB0: ; 0x02032EB0 + push {r3, lr} + mov r0, #0x1 + bl FUN_020313A0 + bl FUN_021D7F8C + cmp r0, #0xa + blt _02032ECA + ldr r0, _02032F0C ; =FUN_02032EAC + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032ECA: + cmp r0, #0x0 + bge _02032ED8 + ldr r0, _02032F10 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032ED8: + cmp r0, #0x1 + bne _02032EE6 + ldr r0, _02032F14 ; =FUN_02032E90 + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032EE6: + cmp r0, #0x2 + bne _02032F08 + ldr r0, _02032F18 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x44 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02032F00 + ldr r0, _02032F10 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032F00: + ldr r0, _02032F1C ; =FUN_02032EA8 + mov r1, #0x0 + bl FUN_02031D20 +_02032F08: + pop {r3, pc} + nop +_02032F0C: .word FUN_02032EAC + 1 +_02032F10: .word FUN_02032E8C + 1 +_02032F14: .word FUN_02032E90 + 1 +_02032F18: .word 0x021C5A00 +_02032F1C: .word FUN_02032EA8 + 1 + + thumb_func_start FUN_02032F20 +FUN_02032F20: ; 0x02032F20 + add r1, r0, #0x2 + cmp r1, #0x1 + bls _02032F28 + neg r0, r0 +_02032F28: + ldr r1, _02032F30 ; =0x021C5A00 + ldr r1, [r1, #0x0] + str r0, [r1, #0x34] + bx lr + .balign 4 +_02032F30: .word 0x021C5A00 + + thumb_func_start FUN_02032F34 +FUN_02032F34: ; 0x02032F34 + push {r3, lr} + mov r0, #0x0 + bl FUN_021D7800 + cmp r0, #0xa + blt _02032F4A + ldr r0, _02032F88 ; =FUN_02032EAC + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032F4A: + cmp r0, #0x0 + bge _02032F5C + bl FUN_02032F20 + ldr r0, _02032F8C ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032F5C: + cmp r0, #0x1 + bne _02032F6A + ldr r0, _02032F90 ; =FUN_02032EB0 + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032F6A: + cmp r0, #0x2 + bne _02032F78 + ldr r0, _02032F94 ; =FUN_02032EA8 + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032F78: + cmp r0, #0x3 + bne _02032F84 + ldr r0, _02032F88 ; =FUN_02032EAC + mov r1, #0x0 + bl FUN_02031D20 +_02032F84: + pop {r3, pc} + nop +_02032F88: .word FUN_02032EAC + 1 +_02032F8C: .word FUN_02032E8C + 1 +_02032F90: .word FUN_02032EB0 + 1 +_02032F94: .word FUN_02032EA8 + 1 + + thumb_func_start FUN_02032F98 +FUN_02032F98: ; 0x02032F98 + push {r3, lr} + mov r0, #0x1 + bl FUN_021D7800 + cmp r0, #0x0 + bge _02032FB2 + bl FUN_02032F20 + ldr r0, _02032FD0 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02032FB2: + ldr r0, _02032FD4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x42 + ldrb r0, [r0, #0x0] + bl FUN_021D8494 + cmp r0, #0x0 + beq _02032FCE + bl FUN_0202FC60 + ldr r0, _02032FD8 ; =FUN_02032F34 + mov r1, #0x0 + bl FUN_02031D20 +_02032FCE: + pop {r3, pc} + .balign 4 +_02032FD0: .word FUN_02032E8C + 1 +_02032FD4: .word 0x021C5A00 +_02032FD8: .word FUN_02032F34 + 1 + + thumb_func_start FUN_02032FDC +FUN_02032FDC: ; 0x02032FDC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _02032FFC ; =FUN_020303BC + ldr r1, _02033000 ; =FUN_02030238 + bl FUN_021D77C4 + ldr r0, _02033004 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x42 + strb r4, [r0, #0x0] + ldr r0, _02033008 ; =FUN_02032F98 + bl FUN_02031D20 + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_02032FFC: .word FUN_020303BC + 1 +_02033000: .word FUN_02030238 + 1 +_02033004: .word 0x021C5A00 +_02033008: .word FUN_02032F98 + 1 + + thumb_func_start FUN_0203300C +FUN_0203300C: ; 0x0203300C + ldr r0, _02033048 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x24] + ldr r0, _0203304C ; =FUN_02032F34 + cmp r1, r0 + bne _0203301C + mov r0, #0x0 + bx lr +_0203301C: + ldr r0, _02033050 ; =FUN_02032EB0 + cmp r1, r0 + bne _02033026 + mov r0, #0x1 + bx lr +_02033026: + ldr r0, _02033054 ; =FUN_02032E90 + cmp r1, r0 + bne _02033030 + mov r0, #0x3 + bx lr +_02033030: + ldr r0, _02033058 ; =FUN_02032EA8 + cmp r1, r0 + bne _0203303A + mov r0, #0x4 + bx lr +_0203303A: + ldr r0, _0203305C ; =FUN_02032EAC + cmp r1, r0 + bne _02033044 + mov r0, #0x5 + bx lr +_02033044: + mov r0, #0x2 + bx lr + .balign 4 +_02033048: .word 0x021C5A00 +_0203304C: .word FUN_02032F34 + 1 +_02033050: .word FUN_02032EB0 + 1 +_02033054: .word FUN_02032E90 + 1 +_02033058: .word FUN_02032EA8 + 1 +_0203305C: .word FUN_02032EAC + 1 + + thumb_func_start FUN_02033060 +FUN_02033060: ; 0x02033060 + push {r3, lr} + ldr r0, _02033090 ; =FUN_020303BC + ldr r1, _02033094 ; =FUN_02030238 + bl FUN_021D77C4 + mov r0, #0x0 + mvn r0, r0 + bl FUN_021D8494 + cmp r0, #0x0 + beq _0203308C + ldr r0, _02033098 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x4d + strb r1, [r0, #0x0] + bl FUN_0202FC60 + ldr r0, _0203309C ; =FUN_02032F34 + mov r1, #0x0 + bl FUN_02031D20 +_0203308C: + pop {r3, pc} + nop +_02033090: .word FUN_020303BC + 1 +_02033094: .word FUN_02030238 + 1 +_02033098: .word 0x021C5A00 +_0203309C: .word FUN_02032F34 + 1 + + thumb_func_start FUN_020330A0 +FUN_020330A0: ; 0x020330A0 + push {r3, lr} + mov r0, #0x0 + bl FUN_020313A0 + ldr r0, _020330D8 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x41 + ldrb r0, [r0, #0x0] + bl FUN_021D82BC + cmp r0, #0x0 + beq _020330C6 + bl FUN_021D836C + ldr r0, _020330DC ; =FUN_02033060 + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_020330C6: + bl FUN_021D7F8C + cmp r0, #0x0 + bge _020330D6 + ldr r0, _020330E0 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 +_020330D6: + pop {r3, pc} + .balign 4 +_020330D8: .word 0x021C5A00 +_020330DC: .word FUN_02033060 + 1 +_020330E0: .word FUN_02032E8C + 1 + + thumb_func_start FUN_020330E4 +FUN_020330E4: ; 0x020330E4 + push {r3, lr} + bl FUN_02031190 + cmp r0, #0x0 + bne _02033100 + ldr r0, _02033120 ; =0x021C5A00 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x41 + strb r1, [r0, #0x0] + ldr r0, _02033124 ; =FUN_020330A0 + bl FUN_02031D20 + b _02033112 +_02033100: + ldr r0, _02033120 ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x41 + strb r1, [r0, #0x0] + ldr r0, _02033124 ; =FUN_020330A0 + mov r1, #0x0 + bl FUN_02031D20 +_02033112: + ldr r0, _02033120 ; =0x021C5A00 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x4d + strb r1, [r0, #0x0] + pop {r3, pc} + nop +_02033120: .word 0x021C5A00 +_02033124: .word FUN_020330A0 + 1 + + thumb_func_start FUN_02033128 +FUN_02033128: ; 0x02033128 + ldr r0, _02033134 ; =0x021C5A00 + ldr r0, [r0, #0x0] + add r0, #0x4d + ldrb r0, [r0, #0x0] + bx lr + nop +_02033134: .word 0x021C5A00 + + thumb_func_start FUN_02033138 +FUN_02033138: ; 0x02033138 + ldr r0, _0203314C ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x24] + ldr r0, _02033150 ; =FUN_02033060 + cmp r1, r0 + bne _02033148 + mov r0, #0x1 + bx lr +_02033148: + mov r0, #0x0 + bx lr + .balign 4 +_0203314C: .word 0x021C5A00 +_02033150: .word FUN_02033060 + 1 + + thumb_func_start FUN_02033154 +FUN_02033154: ; 0x02033154 + ldr r0, _02033174 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x24] + ldr r0, _02033178 ; =FUN_02032F34 + cmp r1, r0 + bne _02033164 + mov r0, #0x1 + bx lr +_02033164: + ldr r0, _0203317C ; =FUN_02033060 + cmp r1, r0 + bne _0203316E + mov r0, #0x1 + bx lr +_0203316E: + mov r0, #0x0 + bx lr + nop +_02033174: .word 0x021C5A00 +_02033178: .word FUN_02032F34 + 1 +_0203317C: .word FUN_02033060 + 1 + + thumb_func_start FUN_02033180 +FUN_02033180: ; 0x02033180 + ldr r0, _02033188 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x34] + bx lr + .balign 4 +_02033188: .word 0x021C5A00 thumb_func_start FUN_0203318C FUN_0203318C: ; 0x0203318C @@ -102483,13 +109747,13 @@ FUN_020331E8: ; 0x020331E8 mov r1, #0x0 add r0, #0x41 strb r1, [r0, #0x0] - ldr r0, _02033204 ; =0x020330A1 + ldr r0, _02033204 ; =FUN_020330A0 bl FUN_02031D20 _020331FE: pop {r3, pc} .balign 4 _02033200: .word 0x021C5A00 -_02033204: .word 0x020330A1 +_02033204: .word FUN_020330A0 + 1 thumb_func_start FUN_02033208 FUN_02033208: ; 0x02033208 @@ -102511,14 +109775,14 @@ _02033224: ldr r0, [r0, #0x0] add r0, #0x41 strb r1, [r0, #0x0] - ldr r0, _02033238 ; =0x020330A1 + ldr r0, _02033238 ; =FUN_020330A0 mov r1, #0x0 bl FUN_02031D20 _02033232: pop {r3, pc} .balign 4 _02033234: .word 0x021C5A00 -_02033238: .word 0x020330A1 +_02033238: .word FUN_020330A0 + 1 thumb_func_start FUN_0203323C FUN_0203323C: ; 0x0203323C @@ -102544,7 +109808,7 @@ FUN_02033250: ; 0x02033250 mov r0, #0x1 bx lr _02033264: - ldr r0, _02033284 ; =0x02032E91 + ldr r0, _02033284 ; =FUN_02032E90 cmp r1, r0 bne _02033276 add r2, #0x44 @@ -102559,7 +109823,7 @@ _02033276: nop _0203327C: .word 0x021C5A00 _02033280: .word FUN_02032E8C + 1 -_02033284: .word 0x02032E91 +_02033284: .word FUN_02032E90 + 1 thumb_func_start FUN_02033288 FUN_02033288: ; 0x02033288 @@ -102738,23 +110002,122 @@ _020333E4: pop {r3, pc} nop _020333EC: .word 0x021C5A00 -_020333F0: - .byte 0x08, 0xB5, 0xA4, 0xF1, 0x5B, 0xF9, 0x00, 0x28, 0x06, 0xDA, 0xFF, 0xF7, 0x91, 0xFD, 0x05, 0x48 - .byte 0x00, 0x21, 0xFE, 0xF7, 0x8D, 0xFC, 0x08, 0xBD, 0x03, 0xDD, 0x03, 0x48, 0x00, 0x21, 0xFE, 0xF7 - .byte 0x87, 0xFC, 0x08, 0xBD, 0x8D, 0x2E, 0x03, 0x02, 0x61, 0x30, 0x03, 0x02, 0x08, 0xB5, 0xFB, 0xF7 - .byte 0x53, 0xF8, 0x00, 0x28, 0x1B, 0xD0, 0x31, 0x21, 0x03, 0x20, 0x0A, 0x03, 0xE3, 0xF7, 0xFC, 0xF9 - .byte 0x01, 0x20, 0x01, 0x1C, 0x42, 0x02, 0x03, 0x1C, 0xFC, 0xF7, 0x6E, 0xFA, 0x00, 0x28, 0x0E, 0xD0 - .byte 0x07, 0x48, 0x31, 0x21, 0x00, 0x68, 0x80, 0x6A, 0xA4, 0xF1, 0x4A, 0xF8, 0x05, 0x48, 0xA4, 0xF1 - .byte 0xAB, 0xFF, 0xFC, 0xF7, 0xDD, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFE, 0xF7, 0x61, 0xFC, 0x08, 0xBD - .byte 0x00, 0x5A, 0x1C, 0x02, 0xD1, 0x35, 0x03, 0x02, 0xF1, 0x33, 0x03, 0x02, 0x38, 0xB5, 0x05, 0x1C - .byte 0x0C, 0x1C, 0xF0, 0xF7, 0x3F, 0xFA, 0xFD, 0xF7, 0x63, 0xFD, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20 - .byte 0x38, 0xBD, 0x01, 0x20, 0xE3, 0xF7, 0x10, 0xF9, 0x11, 0x4A, 0x03, 0x20, 0x0F, 0x21, 0xE3, 0xF7 - .byte 0xCB, 0xF9, 0x28, 0x1C, 0x17, 0x21, 0xFE, 0xF7, 0x4D, 0xF9, 0x0F, 0x20, 0x21, 0x1C, 0xE3, 0xF7 - .byte 0x7B, 0xFA, 0x0C, 0x49, 0x0A, 0x68, 0x10, 0x60, 0x08, 0x68, 0x00, 0x21, 0x00, 0x68, 0x22, 0x1C - .byte 0x9A, 0xF0, 0x4C, 0xEF, 0x07, 0x48, 0x00, 0x21, 0x02, 0x68, 0x40, 0x32, 0x11, 0x70, 0x00, 0x68 - .byte 0x85, 0x62, 0x05, 0x48, 0xFE, 0xF7, 0x2C, 0xFC, 0x02, 0x48, 0x00, 0x68, 0x00, 0x68, 0x38, 0xBD - .byte 0x80, 0x70, 0x00, 0x00, 0x00, 0x5A, 0x1C, 0x02, 0x1D, 0x34, 0x03, 0x02, 0x01, 0x48, 0x00, 0x68 - .byte 0x00, 0x68, 0x70, 0x47, 0x00, 0x5A, 0x1C, 0x02 + + thumb_func_start FUN_020333F0 +FUN_020333F0: ; 0x020333F0 + push {r3, lr} + bl FUN_021D76AC + cmp r0, #0x0 + bge _02033408 + bl FUN_02032F20 + ldr r0, _02033414 ; =FUN_02032E8C + mov r1, #0x0 + bl FUN_02031D20 + pop {r3, pc} +_02033408: + ble _02033412 + ldr r0, _02033418 ; =FUN_02033060 + mov r1, #0x0 + bl FUN_02031D20 +_02033412: + pop {r3, pc} + .balign 4 +_02033414: .word FUN_02032E8C + 1 +_02033418: .word FUN_02033060 + 1 + + thumb_func_start FUN_0203341C +FUN_0203341C: ; 0x0203341C + push {r3, lr} + bl FUN_0202E4C8 + cmp r0, #0x0 + beq _0203345E + mov r1, #0x31 + mov r0, #0x3 + lsl r2, r1, #0xc + bl FUN_02016828 + mov r0, #0x1 + add r1, r0, #0x0 + lsl r2, r0, #0x9 + add r3, r0, #0x0 + bl FUN_0202F918 + cmp r0, #0x0 + beq _0203345E + ldr r0, _02033460 ; =0x021C5A00 + mov r1, #0x31 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x28] + bl FUN_021D74E0 + ldr r0, _02033464 ; =FUN_020335D0 + bl FUN_021D83A8 + bl FUN_0202FA10 + ldr r0, _02033468 ; =FUN_020333F0 + mov r1, #0x0 + bl FUN_02031D20 +_0203345E: + pop {r3, pc} + .balign 4 +_02033460: .word 0x021C5A00 +_02033464: .word FUN_020335D0 + 1 +_02033468: .word FUN_020333F0 + 1 + + thumb_func_start FUN_0203346C +FUN_0203346C: ; 0x0203346C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl FUN_020238F4 + bl FUN_02030F40 + cmp r0, #0x0 + beq _02033482 + mov r0, #0x0 + pop {r3-r5, pc} +_02033482: + mov r0, #0x1 + bl FUN_020166A8 + ldr r2, _020334D0 ; =0x00007080 + mov r0, #0x3 + mov r1, #0xf + bl FUN_02016828 + add r0, r5, #0x0 + mov r1, #0x17 + bl FUN_02031734 + mov r0, #0xf + add r1, r4, #0x0 + bl FUN_02016998 + ldr r1, _020334D4 ; =0x021C5A00 + ldr r2, [r1, #0x0] + str r0, [r2, #0x0] + ldr r0, [r1, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r2, r4, #0x0 + blx FUN_020CE34C + ldr r0, _020334D4 ; =0x021C5A00 + mov r1, #0x0 + ldr r2, [r0, #0x0] + add r2, #0x40 + strb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + str r5, [r0, #0x28] + ldr r0, _020334D8 ; =FUN_0203341C + bl FUN_02031D20 + ldr r0, _020334D4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + pop {r3-r5, pc} + .balign 4 +_020334D0: .word 0x00007080 +_020334D4: .word 0x021C5A00 +_020334D8: .word FUN_0203341C + 1 + + thumb_func_start FUN_020334DC +FUN_020334DC: ; 0x020334DC + ldr r0, _020334E4 ; =0x021C5A00 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + bx lr + .balign 4 +_020334E4: .word 0x021C5A00 thumb_func_start FUN_020334E8 FUN_020334E8: ; 0x020334E8 @@ -103049,28 +110412,80 @@ FUN_020336C8: ; 0x020336C8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0 - lsl r0, r3, #0 - lsl r0, r6, #0 - lsl r6, r2, #0x1 - lsl r6, r4, #0x1 - lsl r6, r0, #0x2 - lsl r4, r1, #0x2 +_020336E2: ; jump table (using 16-bit offset) + .short _020336F0 - _020336E2 - 2; case 0 + .short _020336FC - _020336E2 - 2; case 1 + .short _02033714 - _020336E2 - 2; case 2 + .short _0203373A - _020336E2 - 2; case 3 + .short _0203374A - _020336E2 - 2; case 4 + .short _0203376A - _020336E2 - 2; case 5 + .short _02033770 - _020336E2 - 2; case 6 +_020336F0: mov r0, #0x6f bl FUN_02031588 mov r0, #0x1 str r0, [r4, #0x0] b _02033774 _020336FC: - .byte 0x6F, 0x20, 0xFD, 0xF7 - .byte 0x6B, 0xFF, 0x00, 0x28, 0x36, 0xD0, 0x28, 0x1C, 0x31, 0x1C, 0xEF, 0xF7, 0x99, 0xF8, 0x02, 0x20 - .byte 0x20, 0x60, 0x2F, 0xE0, 0xEF, 0xF7, 0x9E, 0xF8, 0x05, 0x1C, 0x02, 0x2D, 0x01, 0xD1, 0xED, 0xF7 - .byte 0x85, 0xFA, 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x81, 0xFA, 0x01, 0x2D, 0x22, 0xD1, 0x03, 0x20 - .byte 0x20, 0x60, 0x70, 0x20, 0xFD, 0xF7, 0x28, 0xFF, 0x1C, 0xE0, 0x70, 0x20, 0xFD, 0xF7, 0x4C, 0xFF - .byte 0x00, 0x28, 0x17, 0xD0, 0x04, 0x20, 0x20, 0x60, 0x14, 0xE0, 0xEF, 0xF7, 0x83, 0xF8, 0x05, 0x1C - .byte 0x03, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x6A, 0xFA, 0x01, 0x2D, 0x01, 0xD1, 0xED, 0xF7, 0x66, 0xFA - .byte 0x02, 0x2D, 0x07, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x04, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x01, 0xE0 - .byte 0x01, 0x20, 0x70, 0xBD + mov r0, #0x6f + bl FUN_020315D8 + cmp r0, #0x0 + beq _02033774 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02022840 + mov r0, #0x2 + str r0, [r4, #0x0] + b _02033774 +_02033714: + bl FUN_02022854 + add r5, r0, #0x0 + cmp r5, #0x2 + bne _02033722 + bl FUN_02020C2C +_02033722: + cmp r5, #0x3 + bne _0203372A + bl FUN_02020C2C +_0203372A: + cmp r5, #0x1 + bne _02033774 + mov r0, #0x3 + str r0, [r4, #0x0] + mov r0, #0x70 + bl FUN_02031588 + b _02033774 +_0203373A: + mov r0, #0x70 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02033774 + mov r0, #0x4 + str r0, [r4, #0x0] + b _02033774 +_0203374A: + bl FUN_02022854 + add r5, r0, #0x0 + cmp r5, #0x3 + bne _02033758 + bl FUN_02020C2C +_02033758: + cmp r5, #0x1 + bne _02033760 + bl FUN_02020C2C +_02033760: + cmp r5, #0x2 + bne _02033774 + mov r0, #0x5 + str r0, [r4, #0x0] + b _02033774 +_0203376A: + mov r0, #0x6 + str r0, [r4, #0x0] + b _02033774 +_02033770: + mov r0, #0x1 + pop {r4-r6, pc} _02033774: mov r0, #0x0 pop {r4-r6, pc} @@ -104111,17 +111526,26 @@ FUN_02033F70: ; 0x02033F70 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 +_02033F88: ; jump table (using 16-bit offset) + .short _02033F92 - _02033F88 - 2; case 0 + .short _02033F96 - _02033F88 - 2; case 1 + .short _02033F9A - _02033F88 - 2; case 2 + .short _02033F9E - _02033F88 - 2; case 3 + .short _02033FA2 - _02033F88 - 2; case 4 _02033F92: mov r5, #0x1 b _02033FA4 _02033F96: - .byte 0x02, 0x25, 0x04, 0xE0, 0x03, 0x25, 0x02, 0xE0, 0x04, 0x25 - .byte 0x00, 0xE0, 0x05, 0x25 + mov r5, #0x2 + b _02033FA4 +_02033F9A: + mov r5, #0x3 + b _02033FA4 +_02033F9E: + mov r5, #0x4 + b _02033FA4 +_02033FA2: + mov r5, #0x5 _02033FA4: mov r0, #0x0 add r1, r0, #0x0 @@ -106795,22 +114219,24 @@ FUN_020352E4: ; 0x020352E4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r3, #0 - lsl r6, r1, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r6, r5, #0x1 - lsl r6, r6, #0x1 - lsl r6, r7, #0x1 - lsl r6, r0, #0x2 - lsl r6, r6, #0x2 - lsl r4, r1, #0x3 - lsl r4, r5, #0x3 - lsl r0, r1, #0x4 - lsl r6, r1, #0x2 - lsl r6, r6, #0x4 - lsl r6, r5, #0x5 - lsl r0, r5, #0x4 +_02035308: ; jump table (using 16-bit offset) + .short _02035328 - _02035308 - 2; case 0 + .short _02035358 - _02035308 - 2; case 1 + .short _02035368 - _02035308 - 2; case 2 + .short _02035370 - _02035308 - 2; case 3 + .short _02035378 - _02035308 - 2; case 4 + .short _02035380 - _02035308 - 2; case 5 + .short _02035388 - _02035308 - 2; case 6 + .short _02035390 - _02035308 - 2; case 7 + .short _020353C0 - _02035308 - 2; case 8 + .short _020353D6 - _02035308 - 2; case 9 + .short _020353F6 - _02035308 - 2; case 10 + .short _02035412 - _02035308 - 2; case 11 + .short _02035398 - _02035308 - 2; case 12 + .short _02035440 - _02035308 - 2; case 13 + .short _02035478 - _02035308 - 2; case 14 + .short _02035432 - _02035308 - 2; case 15 +_02035328: ldr r0, [r5, #0x34] bl FUN_02058780 mov r1, #0x73 @@ -106831,30 +114257,137 @@ FUN_020352E4: ; 0x020352E4 strh r0, [r4, #0x2a] b _02035484 _02035358: - .byte 0x30, 0x1C, 0x00, 0xF0, 0xC3, 0xFA, 0x00, 0x28 - .byte 0x00, 0xD0 + add r0, r6, #0x0 + bl FUN_020358E4 + cmp r0, #0x0 + beq _02035364 _02035362: b _02035484 _02035364: - .byte 0x00, 0x20, 0x70, 0xBD, 0x30, 0x1C, 0x00, 0xF0, 0x99, 0xFC, 0x89, 0xE0 - .byte 0x30, 0x1C, 0x00, 0xF0, 0xB3, 0xFC, 0x85, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x39, 0xF9, 0x81, 0xE0 - .byte 0x30, 0x1C, 0x01, 0xF0, 0x5F, 0xF9, 0x7D, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x3D, 0xFD, 0x79, 0xE0 - .byte 0x30, 0x1C, 0x01, 0xF0, 0xC3, 0xFD, 0x75, 0xE0, 0x28, 0x1C, 0x11, 0xF0, 0x83, 0xF8, 0x00, 0x28 - .byte 0x70, 0xD0, 0x68, 0x6B, 0x23, 0xF0, 0xEC, 0xF9, 0x30, 0x1C, 0x00, 0xF0, 0x77, 0xF8, 0x30, 0x1C - .byte 0x00, 0xF0, 0xC0, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x75, 0xFC, 0x0E, 0x20, 0x60, 0x85, 0x61, 0xE0 - .byte 0x28, 0x1C, 0x11, 0xF0, 0x6F, 0xF8, 0x00, 0x28, 0x5C, 0xD0, 0x01, 0x20, 0xA2, 0xF1, 0x6A, 0xFC - .byte 0x09, 0x20, 0x60, 0x85, 0x56, 0xE0, 0xD8, 0xF7, 0x97, 0xFF, 0x00, 0x28, 0x52, 0xD0, 0x20, 0x1C - .byte 0x29, 0x1C, 0x00, 0xF0, 0xD3, 0xFA, 0x20, 0x1C, 0xE1, 0xF7, 0x16, 0xFB, 0x68, 0x6B, 0x23, 0xF0 - .byte 0xDF, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0x28, 0x1C, 0x11, 0xF0, 0x54, 0xF8, 0x00, 0x28, 0x41, 0xD0 - .byte 0x68, 0x6B, 0x23, 0xF0, 0xBD, 0xF9, 0x01, 0x20, 0xA2, 0xF1, 0x4C, 0xFC, 0x0B, 0x20, 0x60, 0x85 - .byte 0x38, 0xE0, 0xD8, 0xF7, 0x79, 0xFF, 0x00, 0x28, 0x34, 0xD0, 0x72, 0x22, 0x92, 0x00, 0xA1, 0x58 - .byte 0x30, 0x32, 0xA2, 0x58, 0x30, 0x1C, 0x10, 0xF0, 0xE1, 0xFF, 0x20, 0x1C, 0xE1, 0xF7, 0xF4, 0xFA - .byte 0x28, 0xE0, 0xE1, 0xF7, 0xF1, 0xFA, 0x68, 0x6B, 0x23, 0xF0, 0xBA, 0xF9, 0x01, 0x20, 0x70, 0xBD - .byte 0x29, 0x1C, 0x00, 0xF0, 0xA3, 0xFA, 0x20, 0x1C, 0x00, 0xF0, 0x66, 0xF9, 0x20, 0x1C, 0x01, 0x21 - .byte 0xD7, 0xF7, 0x52, 0xFC, 0x20, 0x1C, 0xE3, 0xF7, 0x8F, 0xFE, 0x30, 0x1C, 0x00, 0xF0, 0x20, 0xFA - .byte 0xA8, 0x68, 0x03, 0x21, 0xE5, 0xF7, 0x00, 0xFC, 0x20, 0x1C, 0xE1, 0xF7, 0xD5, 0xFA, 0x68, 0x6B - .byte 0x23, 0xF0, 0x9E, 0xF9, 0x01, 0x20, 0x70, 0xBD, 0xD8, 0xF7, 0x46, 0xFF, 0x00, 0x28, 0x01, 0xD0 - .byte 0x01, 0x20, 0x60, 0x85 + mov r0, #0x0 + pop {r4-r6, pc} +_02035368: + add r0, r6, #0x0 + bl FUN_02035CA0 + b _02035484 +_02035370: + add r0, r6, #0x0 + bl FUN_02035CDC + b _02035484 +_02035378: + add r0, r6, #0x0 + bl FUN_020365F0 + b _02035484 +_02035380: + add r0, r6, #0x0 + bl FUN_02036644 + b _02035484 +_02035388: + add r0, r6, #0x0 + bl FUN_02036E08 + b _02035484 +_02035390: + add r0, r6, #0x0 + bl FUN_02036F1C + b _02035484 +_02035398: + add r0, r5, #0x0 + bl FUN_020464A4 + cmp r0, #0x0 + beq _02035484 + ldr r0, [r5, #0x34] + bl FUN_02058780 + add r0, r6, #0x0 + bl FUN_0203549C + add r0, r6, #0x0 + bl FUN_02035734 + mov r0, #0x1 + bl FUN_021D7CA4 + mov r0, #0xe + strh r0, [r4, #0x2a] + b _02035484 +_020353C0: + add r0, r5, #0x0 + bl FUN_020464A4 + cmp r0, #0x0 + beq _02035484 + mov r0, #0x1 + bl FUN_021D7CA4 + mov r0, #0x9 + strh r0, [r4, #0x2a] + b _02035484 +_020353D6: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02035484 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_0203598C + add r0, r4, #0x0 + bl FUN_02016A18 + ldr r0, [r5, #0x34] + bl FUN_020587B0 + mov r0, #0x1 + pop {r4-r6, pc} +_020353F6: + add r0, r5, #0x0 + bl FUN_020464A4 + cmp r0, #0x0 + beq _02035484 + ldr r0, [r5, #0x34] + bl FUN_02058780 + mov r0, #0x1 + bl FUN_021D7CA4 + mov r0, #0xb + strh r0, [r4, #0x2a] + b _02035484 +_02035412: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02035484 + mov r2, #0x72 + lsl r2, r2, #0x2 + ldr r1, [r4, r2] + add r2, #0x30 + ldr r2, [r4, r2] + add r0, r6, #0x0 + bl FUN_020463EC + add r0, r4, #0x0 + bl FUN_02016A18 + b _02035484 +_02035432: + bl FUN_02016A18 + ldr r0, [r5, #0x34] + bl FUN_020587B0 + mov r0, #0x1 + pop {r4-r6, pc} +_02035440: + add r1, r5, #0x0 + bl FUN_0203598C + add r0, r4, #0x0 + bl FUN_02035718 + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_0200CCF8 + add r0, r4, #0x0 + bl FUN_02019178 + add r0, r6, #0x0 + bl FUN_020358A0 + ldr r0, [r5, #0x8] + mov r1, #0x3 + bl FUN_0201AC68 + add r0, r4, #0x0 + bl FUN_02016A18 + ldr r0, [r5, #0x34] + bl FUN_020587B0 + mov r0, #0x1 + pop {r4-r6, pc} +_02035478: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02035484 + mov r0, #0x1 + strh r0, [r4, #0x2a] _02035484: ldr r0, [r4, #0x20] cmp r0, #0x0 @@ -108103,30 +115636,32 @@ _02035E90: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0xd - lsl r6, r5, #0 - lsl r0, r1, #0xd - lsl r4, r1, #0x9 - lsl r4, r5, #0x2 - lsl r2, r6, #0x4 - lsl r0, r7, #0x6 - lsl r6, r1, #0x8 - lsl r6, r4, #0xa - lsl r2, r2, #0xb - lsl r4, r5, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc - lsl r6, r0, #0xc +_02035E9C: ; jump table (using 16-bit offset) + .short _020361E6 - _02035E9C - 2; case 0 + .short _02035ECC - _02035E9C - 2; case 1 + .short _020361E6 - _02035E9C - 2; case 2 + .short _020360EA - _02035E9C - 2; case 3 + .short _02035F4A - _02035E9C - 2; case 4 + .short _02035FD0 - _02035E9C - 2; case 5 + .short _02036056 - _02035E9C - 2; case 6 + .short _020360AC - _02035E9C - 2; case 7 + .short _02036144 - _02035E9C - 2; case 8 + .short _02036170 - _02035E9C - 2; case 9 + .short _020361CA - _02035E9C - 2; case 10 + .short _020361A4 - _02035E9C - 2; case 11 + .short _020361A4 - _02035E9C - 2; case 12 + .short _020361A4 - _02035E9C - 2; case 13 + .short _020361A4 - _02035E9C - 2; case 14 + .short _020361A4 - _02035E9C - 2; case 15 + .short _020361A4 - _02035E9C - 2; case 16 + .short _020361A4 - _02035E9C - 2; case 17 + .short _020361A4 - _02035E9C - 2; case 18 + .short _020361A4 - _02035E9C - 2; case 19 + .short _020361A4 - _02035E9C - 2; case 20 + .short _020361A4 - _02035E9C - 2; case 21 + .short _020361A4 - _02035E9C - 2; case 22 + .short _020361A4 - _02035E9C - 2; case 23 +_02035ECC: mov r0, #0xb mov r1, #0x30 bl FUN_02016998 @@ -108179,49 +115714,305 @@ _02035E90: bl FUN_02035D04 b _0203625E _02035F4A: - .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7 - .byte 0x23, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0xE1, 0xFD, 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7 - .byte 0xCF, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74, 0x22, 0x30, 0x00, 0x78, 0x38, 0x75 - .byte 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74, 0xE8, 0x68, 0x35, 0xF0, 0xD4, 0xFD - .byte 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x74, 0xFE, 0xF8, 0x62, 0x00, 0x20, 0xB8, 0x62, 0xB9, 0x49 - .byte 0x38, 0x1C, 0x45, 0xF0, 0x35, 0xF8, 0xE8, 0x68, 0xED, 0xF7, 0xAC, 0xFC, 0x01, 0x1C, 0x38, 0x1C - .byte 0x46, 0xF0, 0x80, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0, 0xE0, 0xFC, 0x0B, 0x20, 0x04, 0x21 - .byte 0xE0, 0xF7, 0xF2, 0xFC, 0xB1, 0x8C, 0x01, 0x80, 0x00, 0x21, 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00 - .byte 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0xAA, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x9B, 0xFE, 0x46, 0xE1 - .byte 0x0B, 0x20, 0x30, 0x21, 0xE0, 0xF7, 0xE0, 0xFC, 0x07, 0x1C, 0xE8, 0x68, 0x35, 0xF0, 0x9E, 0xFD - .byte 0x38, 0x60, 0xE8, 0x68, 0xED, 0xF7, 0x8C, 0xFC, 0x78, 0x60, 0x01, 0x21, 0x30, 0x1C, 0x79, 0x74 - .byte 0x22, 0x30, 0x00, 0x78, 0x38, 0x75, 0xF9, 0x74, 0xF0, 0x8C, 0x38, 0x83, 0x02, 0x20, 0xB8, 0x74 - .byte 0xE8, 0x68, 0x35, 0xF0, 0x91, 0xFD, 0xF8, 0x61, 0xE8, 0x68, 0x43, 0xF0, 0x31, 0xFE, 0xF8, 0x62 - .byte 0x00, 0x20, 0xB8, 0x62, 0x97, 0x49, 0x38, 0x1C, 0x44, 0xF0, 0xF2, 0xFF, 0xE8, 0x68, 0xED, 0xF7 - .byte 0x69, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x46, 0xF0, 0x3D, 0xF9, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0xF0 - .byte 0x9D, 0xFC, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7, 0xAF, 0xFC, 0x00, 0x21, 0x01, 0x80, 0x71, 0x6B - .byte 0x41, 0x80, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x08, 0x1F, 0x27, 0x50, 0x88, 0x49, 0x20, 0x1C - .byte 0xFF, 0xF7, 0x58, 0xFE, 0x03, 0xE1, 0xB0, 0x8C, 0x38, 0xF0, 0x2E, 0xFD, 0x03, 0x1C, 0x0B, 0x20 - .byte 0x32, 0x1C, 0x00, 0x90, 0x22, 0x32, 0x12, 0x78, 0x28, 0x1C, 0x02, 0x21, 0x01, 0xF0, 0x5E, 0xFF - .byte 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x30, 0x1C, 0x20, 0x30, 0x00, 0x78, 0x0A, 0x28, 0xB0, 0x8C - .byte 0x06, 0xD1, 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x00, 0x21, 0x00, 0xF0, 0x9B, 0xFD, 0x05, 0xE0 - .byte 0x32, 0x1C, 0x22, 0x32, 0x12, 0x78, 0x01, 0x21, 0x00, 0xF0, 0x94, 0xFD, 0x7F, 0x21, 0x89, 0x00 - .byte 0x60, 0x50, 0x75, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x2D, 0xFE, 0xD8, 0xE0, 0xE8, 0x68, 0x35, 0xF0 - .byte 0x35, 0xFD, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x35, 0xF0, 0x7A, 0xFC, 0x01, 0x1C, 0x28, 0x1C - .byte 0x0B, 0x22, 0x01, 0xF0, 0x65, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x32, 0x1C, 0x22, 0x32 - .byte 0xB0, 0x8C, 0x12, 0x78, 0x02, 0x21, 0x00, 0xF0, 0x75, 0xFD, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50 - .byte 0x65, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE, 0xB9, 0xE0, 0x0B, 0x20, 0x04, 0x21, 0xE0, 0xF7 - .byte 0x53, 0xFC, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x60, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50 - .byte 0xE8, 0x68, 0x39, 0xF0, 0x29, 0xF8, 0x07, 0x1C, 0xE8, 0x68, 0xED, 0xF7, 0xF3, 0xFB, 0x5B, 0x49 - .byte 0x38, 0x1C, 0x0B, 0x22, 0x38, 0xF0, 0x6A, 0xFF, 0x7E, 0x21, 0x89, 0x00, 0x2B, 0x1C, 0x60, 0x50 - .byte 0x94, 0x33, 0x60, 0x58, 0xE9, 0x68, 0x1B, 0x68, 0x01, 0x22, 0x38, 0xF0, 0xF3, 0xF8, 0x7E, 0x21 - .byte 0x89, 0x00, 0x61, 0x58, 0x28, 0x1C, 0x01, 0xF0, 0x71, 0xFB, 0x51, 0x49, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0xE1, 0xFD, 0x8C, 0xE0, 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x26, 0xFC, 0xB1, 0x8C, 0x41, 0x80 - .byte 0x03, 0x21, 0x41, 0x70, 0x31, 0x1C, 0x22, 0x31, 0x09, 0x78, 0x01, 0x70, 0x31, 0x8F, 0x81, 0x80 - .byte 0xF1, 0x6B, 0x81, 0x60, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x06, 0x20, 0x60, 0x85, 0x76, 0xE0 - .byte 0x0B, 0x20, 0x0C, 0x21, 0xE0, 0xF7, 0x10, 0xFC, 0x07, 0x1C, 0xE8, 0x69, 0x00, 0x68, 0xFE, 0xF7 - .byte 0x41, 0xFC, 0x78, 0x80, 0x00, 0x20, 0x78, 0x70, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78, 0x38, 0x70 - .byte 0x30, 0x8F, 0xB8, 0x80, 0xF0, 0x6B, 0xB8, 0x60, 0x7E, 0x20, 0x80, 0x00, 0x27, 0x50, 0x06, 0x20 - .byte 0x60, 0x85, 0x5C, 0xE0, 0x0B, 0x38, 0x01, 0xA9, 0xC8, 0x80, 0x30, 0x1C, 0x22, 0x30, 0x00, 0x78 - .byte 0x88, 0x80, 0x01, 0x97, 0xC9, 0x88, 0x00, 0x20, 0x2D, 0xF0, 0xC6, 0xFB, 0x7A, 0x21, 0x89, 0x00 - .byte 0x02, 0x1C, 0x01, 0xA8, 0x61, 0x18, 0x90, 0x47, 0x49, 0xE0, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C - .byte 0x61, 0x18, 0x01, 0xF0, 0x37, 0xFB, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C - .byte 0xFF, 0xF7, 0x90, 0xFD, 0x3B, 0xE0 + mov r0, #0xb + mov r1, #0x30 + bl FUN_02016998 + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + str r0, [r7, #0x0] + ldr r0, [r5, #0xc] + bl FUN_02023900 + str r0, [r7, #0x4] + mov r1, #0x1 + add r0, r6, #0x0 + strb r1, [r7, #0x11] + add r0, #0x22 + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x14] + strb r1, [r7, #0x13] + ldrh r0, [r6, #0x26] + strh r0, [r7, #0x18] + mov r0, #0x2 + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl FUN_0206BB28 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl FUN_02079C70 + str r0, [r7, #0x2c] + mov r0, #0x0 + str r0, [r7, #0x28] + ldr r1, _02036274 ; =0x020F2A8C + add r0, r7, #0x0 + bl FUN_0207B000 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0207C2A4 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl FUN_0203796C + mov r0, #0xb + mov r1, #0x4 + bl FUN_02016998 + ldrh r1, [r6, #0x24] + strh r1, [r0, #0x0] + mov r1, #0x0 + strh r1, [r0, #0x2] + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + sub r0, r1, #0x4 + str r7, [r4, r0] + ldr r1, _02036270 ; =FUN_0203684C + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E +_02035FD0: + mov r0, #0xb + mov r1, #0x30 + bl FUN_02016998 + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + str r0, [r7, #0x0] + ldr r0, [r5, #0xc] + bl FUN_02023900 + str r0, [r7, #0x4] + mov r1, #0x1 + add r0, r6, #0x0 + strb r1, [r7, #0x11] + add r0, #0x22 + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x14] + strb r1, [r7, #0x13] + ldrh r0, [r6, #0x26] + strh r0, [r7, #0x18] + mov r0, #0x2 + strb r0, [r7, #0x12] + ldr r0, [r5, #0xc] + bl FUN_0206BB28 + str r0, [r7, #0x1c] + ldr r0, [r5, #0xc] + bl FUN_02079C70 + str r0, [r7, #0x2c] + mov r0, #0x0 + str r0, [r7, #0x28] + ldr r1, _02036274 ; =0x020F2A8C + add r0, r7, #0x0 + bl FUN_0207B000 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r1, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0207C2A4 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl FUN_0203796C + mov r0, #0xb + mov r1, #0x4 + bl FUN_02016998 + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r1, [r6, #0x34] + strh r1, [r0, #0x2] + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + sub r0, r1, #0x4 + str r7, [r4, r0] + ldr r1, _02036270 ; =FUN_0203684C + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E +_02036056: + ldrh r0, [r6, #0x24] + bl FUN_0206EAB8 + add r3, r0, #0x0 + mov r0, #0xb + add r2, r6, #0x0 + str r0, [sp, #0x0] + add r2, #0x22 + ldrb r2, [r2, #0x0] + add r0, r5, #0x0 + mov r1, #0x2 + bl FUN_02037F2C + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r6, #0x0 + add r0, #0x20 + ldrb r0, [r0, #0x0] + cmp r0, #0xa + ldrh r0, [r6, #0x24] + bne _02036090 + add r2, r6, #0x0 + add r2, #0x22 + ldrb r2, [r2, #0x0] + mov r1, #0x0 + bl FUN_02036BC4 + b _0203609C +_02036090: + add r2, r6, #0x0 + add r2, #0x22 + ldrb r2, [r2, #0x0] + mov r1, #0x1 + bl FUN_02036BC4 +_0203609C: + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036278 ; =FUN_02036BDC + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E +_020360AC: + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + add r1, #0x22 + ldrb r1, [r1, #0x0] + bl FUN_0206B9B0 + add r1, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0xb + bl FUN_02037F90 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r2, r6, #0x0 + add r2, #0x22 + ldrh r0, [r6, #0x24] + ldrb r2, [r2, #0x0] + mov r1, #0x2 + bl FUN_02036BC4 + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036278 ; =FUN_02036BDC + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E +_020360EA: + mov r0, #0xb + mov r1, #0x4 + bl FUN_02016998 + add r1, r6, #0x0 + add r1, #0x22 + ldrb r1, [r1, #0x0] + str r1, [r0, #0x0] + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + ldr r1, _0203627C ; =0x020F2A90 + add r0, r7, #0x0 + mov r2, #0xb + bl FUN_0206EFEC + mov r1, #0x7e + lsl r1, r1, #0x2 + add r3, r5, #0x0 + str r0, [r4, r1] + add r3, #0x94 + ldr r0, [r4, r1] + ldr r1, [r5, #0xc] + ldr r3, [r3, #0x0] + mov r2, #0x1 + bl FUN_0206E314 + mov r1, #0x7e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r5, #0x0 + bl FUN_0203781C + ldr r1, _02036280 ; =FUN_020362E4 + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E +_02036144: + mov r0, #0xb + mov r1, #0xc + bl FUN_02016998 + ldrh r1, [r6, #0x24] + strh r1, [r0, #0x2] + mov r1, #0x3 + strb r1, [r0, #0x1] + add r1, r6, #0x0 + add r1, #0x22 + ldrb r1, [r1, #0x0] + strb r1, [r0, #0x0] + ldrh r1, [r6, #0x38] + strh r1, [r0, #0x4] + ldr r1, [r6, #0x3c] + str r1, [r0, #0x8] + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r0, #0x6 + strh r0, [r4, #0x2a] + b _0203625E +_02036170: + mov r0, #0xb + mov r1, #0xc + bl FUN_02016998 + add r7, r0, #0x0 + ldr r0, [r5, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034A04 + strh r0, [r7, #0x2] + mov r0, #0x0 + strb r0, [r7, #0x1] + add r0, r6, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x0] + ldrh r0, [r6, #0x38] + strh r0, [r7, #0x4] + ldr r0, [r6, #0x3c] + str r0, [r7, #0x8] + mov r0, #0x7e + lsl r0, r0, #0x2 + str r7, [r4, r0] + mov r0, #0x6 + strh r0, [r4, #0x2a] + b _0203625E +_020361A4: + sub r0, #0xb + add r1, sp, #0x4 + strh r0, [r1, #0x6] + add r0, r6, #0x0 + add r0, #0x22 + ldrb r0, [r0, #0x0] + strh r0, [r1, #0x4] + str r7, [sp, #0x4] + ldrh r1, [r1, #0x6] + mov r0, #0x0 + bl FUN_02063948 + mov r1, #0x7a + lsl r1, r1, #0x2 + add r2, r0, #0x0 + add r0, sp, #0x4 + add r1, r4, r1 + blx r2 + b _0203625E +_020361CA: + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl FUN_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036280 ; =FUN_020362E4 + add r0, r4, #0x0 + bl FUN_02035D04 + b _0203625E _020361E6: add r0, r6, #0x0 add r0, #0x20 @@ -108290,8 +116081,9 @@ _0203625E: nop _0203626C: .word 0x020F2A9C _02036270: .word FUN_0203684C + 1 -_02036274: - .byte 0x8C, 0x2A, 0x0F, 0x02, 0xDD, 0x6B, 0x03, 0x02, 0x90, 0x2A, 0x0F, 0x02 +_02036274: .word 0x020F2A8C +_02036278: .word FUN_02036BDC + 1 +_0203627C: .word 0x020F2A90 _02036280: .word FUN_020362E4 + 1 thumb_func_start FUN_02036284 @@ -108377,12 +116169,14 @@ _02036328: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r4, r0, #0x1 - lsl r4, r2, #0x1 - lsl r0, r7, #0x6 - lsl r0, r0, #0x3 - lsl r0, r7, #0x6 +_02036334: ; jump table (using 16-bit offset) + .short _02036340 - _02036334 - 2; case 0 + .short _0203637A - _02036334 - 2; case 1 + .short _0203638A - _02036334 - 2; case 2 + .short _020364EE - _02036334 - 2; case 3 + .short _020363F6 - _02036334 - 2; case 4 + .short _020364EE - _02036334 - 2; case 5 +_02036340: ldr r0, [sp, #0x8] bl FUN_0206E37C add r1, sp, #0x10 @@ -108409,30 +116203,168 @@ _02036328: blx r2 b _020364F8 _0203637A: - .byte 0x02, 0x98, 0x37, 0xF0, 0xFE, 0xFF - .byte 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0xB6, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7 - .byte 0x03, 0xFB, 0x00, 0x21, 0x40, 0x22, 0x05, 0x1C, 0xA9, 0xF0, 0x84, 0xE8, 0xF0, 0x68, 0x35, 0xF0 - .byte 0xBD, 0xFB, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0xD7, 0xFE, 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7 - .byte 0x43, 0xFA, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0xA3, 0xFA, 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00 - .byte 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x09, 0x21 - .byte 0x20, 0x30, 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0xD1, 0xFF, 0xA8, 0x84, 0x49, 0x49, 0x30, 0x1C - .byte 0x2A, 0x1C, 0x00, 0xF0, 0xF7, 0xFF, 0x7E, 0x20, 0x80, 0x00, 0x25, 0x50, 0x46, 0x49, 0x20, 0x1C - .byte 0xFF, 0xF7, 0x88, 0xFC, 0x80, 0xE0, 0xF0, 0x68, 0x35, 0xF0, 0x90, 0xFB, 0x01, 0x90, 0x7F, 0x20 - .byte 0x80, 0x00, 0x20, 0x58, 0x07, 0x68, 0x02, 0x98, 0x37, 0xF0, 0xB8, 0xFF, 0x05, 0x1C, 0x01, 0x98 - .byte 0x39, 0x1C, 0x35, 0xF0, 0xCD, 0xFA, 0x03, 0x90, 0x7F, 0x20, 0x80, 0x00, 0x20, 0x58, 0xE0, 0xF7 - .byte 0xFB, 0xFA, 0x28, 0x1C, 0x38, 0xF0, 0x38, 0xFB, 0x01, 0x28, 0x23, 0xD1, 0x03, 0x98, 0x06, 0x21 - .byte 0x00, 0x22, 0x30, 0xF0, 0xC3, 0xFE, 0x00, 0x28, 0x1C, 0xD1, 0x28, 0x1C, 0x38, 0xF0, 0x3C, 0xFB - .byte 0x03, 0x1C, 0x0B, 0x20, 0x3A, 0x06, 0x00, 0x90, 0x30, 0x1C, 0x02, 0x21, 0x12, 0x0E, 0x01, 0xF0 - .byte 0x6D, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x3A, 0x06, 0x28, 0x1C, 0x00, 0x21, 0x12, 0x0E - .byte 0x00, 0xF0, 0xB0, 0xFB, 0x7F, 0x21, 0x89, 0x00, 0x60, 0x50, 0x28, 0x49, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0x49, 0xFC, 0x41, 0xE0, 0x0B, 0x20, 0x40, 0x21, 0xE0, 0xF7, 0x8E, 0xFA, 0x00, 0x21, 0x40, 0x22 - .byte 0x05, 0x1C, 0xA9, 0xF0, 0x10, 0xE8, 0x01, 0x98, 0x28, 0x60, 0xF0, 0x68, 0x38, 0xF0, 0x64, 0xFE - .byte 0x68, 0x60, 0xF0, 0x68, 0xEF, 0xF7, 0xD0, 0xF9, 0xA8, 0x60, 0xF0, 0x68, 0xED, 0xF7, 0x30, 0xFA - .byte 0xE8, 0x60, 0x7A, 0x20, 0x80, 0x00, 0x20, 0x18, 0xA8, 0x61, 0x28, 0x1C, 0x00, 0x21, 0x21, 0x30 - .byte 0x01, 0x70, 0x02, 0x98, 0x37, 0xF0, 0x62, 0xFF, 0xA8, 0x84, 0x28, 0x1C, 0x22, 0x30, 0x07, 0x70 - .byte 0xEE, 0x61, 0xA8, 0x8C, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x0A, 0x21, 0x28, 0x1C - .byte 0x20, 0x30, 0x01, 0x70, 0x0B, 0x49, 0x30, 0x1C, 0x2A, 0x1C, 0x00, 0xF0, 0x7B, 0xFF, 0x7E, 0x20 - .byte 0x80, 0x00, 0x25, 0x50, 0x08, 0x49, 0x20, 0x1C, 0xFF, 0xF7, 0x0C, 0xFC, 0x04, 0xE0 + ldr r0, [sp, #0x8] + bl FUN_0206E37C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0203695C + b _020364F8 +_0203638A: + mov r0, #0xb + mov r1, #0x40 + bl FUN_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r5, r0, #0x0 + blx FUN_020DF4A4 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + str r0, [r5, #0x0] + ldr r0, [r6, #0xc] + bl FUN_0206F158 + str r0, [r5, #0x4] + ldr r0, [r6, #0xc] + bl FUN_02025838 + str r0, [r5, #0x8] + ldr r0, [r6, #0xc] + bl FUN_02023900 + str r0, [r5, #0xc] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r4, r0 + str r0, [r5, #0x18] + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + mov r1, #0x9 + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r0, [sp, #0x8] + bl FUN_0206E37C + strh r0, [r5, #0x24] + ldr r1, _02036504 ; =0x020F96DC + add r0, r6, #0x0 + add r2, r5, #0x0 + bl FUN_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r5, [r4, r0] + ldr r1, _02036508 ; =FUN_02035E50 + add r0, r4, #0x0 + bl FUN_02035D04 + b _020364F8 +_020363F6: + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + str r0, [sp, #0x4] + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r7, [r0, #0x0] + ldr r0, [sp, #0x8] + bl FUN_0206E37C + add r5, r0, #0x0 + ldr r0, [sp, #0x4] + add r1, r7, #0x0 + bl FUN_0206B9B0 + str r0, [sp, #0xc] + mov r0, #0x7f + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl FUN_02016A18 + add r0, r5, #0x0 + bl FUN_0206EA98 + cmp r0, #0x1 + bne _02036474 + ldr r0, [sp, #0xc] + mov r1, #0x6 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02036474 + add r0, r5, #0x0 + bl FUN_0206EAB8 + add r3, r0, #0x0 + mov r0, #0xb + lsl r2, r7, #0x18 + str r0, [sp, #0x0] + add r0, r6, #0x0 + mov r1, #0x2 + lsr r2, r2, #0x18 + bl FUN_02037F2C + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + lsl r2, r7, #0x18 + add r0, r5, #0x0 + mov r1, #0x0 + lsr r2, r2, #0x18 + bl FUN_02036BC4 + mov r1, #0x7f + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _0203650C ; =FUN_02036BDC + add r0, r4, #0x0 + bl FUN_02035D04 + b _020364F8 +_02036474: + mov r0, #0xb + mov r1, #0x40 + bl FUN_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r5, r0, #0x0 + blx FUN_020DF4A4 + ldr r0, [sp, #0x4] + str r0, [r5, #0x0] + ldr r0, [r6, #0xc] + bl FUN_0206F158 + str r0, [r5, #0x4] + ldr r0, [r6, #0xc] + bl FUN_02025838 + str r0, [r5, #0x8] + ldr r0, [r6, #0xc] + bl FUN_02023900 + str r0, [r5, #0xc] + mov r0, #0x7a + lsl r0, r0, #0x2 + add r0, r4, r0 + str r0, [r5, #0x18] + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + ldr r0, [sp, #0x8] + bl FUN_0206E37C + strh r0, [r5, #0x24] + add r0, r5, #0x0 + add r0, #0x22 + strb r7, [r0, #0x0] + str r6, [r5, #0x1c] + ldrh r0, [r5, #0x24] + cmp r0, #0x0 + bne _020364CC + mov r1, #0x0 + b _020364CE +_020364CC: + mov r1, #0xa +_020364CE: + add r0, r5, #0x0 + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r1, _02036504 ; =0x020F96DC + add r0, r6, #0x0 + add r2, r5, #0x0 + bl FUN_020373D4 + mov r0, #0x7e + lsl r0, r0, #0x2 + str r5, [r4, r0] + ldr r1, _02036508 ; =FUN_02035E50 + add r0, r4, #0x0 + bl FUN_02035D04 + b _020364F8 _020364EE: add r0, r6, #0x0 bl FUN_0204649C @@ -108444,8 +116376,10 @@ _020364F8: mov r0, #0x0 add sp, #0x18 pop {r3-r7, pc} -_02036504: - .byte 0xDC, 0x96, 0x0F, 0x02, 0x51, 0x5E, 0x03, 0x02, 0xDD, 0x6B, 0x03, 0x02 + .balign 4 +_02036504: .word 0x020F96DC +_02036508: .word FUN_02035E50 + 1 +_0203650C: .word FUN_02036BDC + 1 thumb_func_start FUN_02036510 FUN_02036510: ; 0x02036510 @@ -109283,10 +117217,12 @@ FUN_02036BDC: ; 0x02036BDC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r2, #0x1 - lsl r0, r2, #0x2 - lsl r2, r5, #0 - lsl r6, r0, #0 +_02036C06: ; jump table (using 16-bit offset) + .short _02036C58 - _02036C06 - 2; case 0 + .short _02036C98 - _02036C06 - 2; case 1 + .short _02036C32 - _02036C06 - 2; case 2 + .short _02036C0E - _02036C06 - 2; case 3 +_02036C0E: sub r0, r0, #0x4 ldr r0, [r4, r0] bl FUN_0208562C @@ -109303,17 +117239,78 @@ FUN_02036BDC: ; 0x02036BDC bl FUN_02035D04 b _02036CD4 _02036C32: - .byte 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xF9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78 - .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xC0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x26, 0x49 - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x57, 0xF8, 0x3D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xC2, 0xFC - .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0C, 0x22, 0x00, 0xF0, 0x3F, 0xF8, 0x31, 0xE0 - .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xD9, 0xFC, 0x7A, 0x21, 0x89, 0x00, 0xB2, 0x78 - .byte 0x28, 0x1C, 0x61, 0x18, 0x00, 0xF0, 0xA0, 0xFE, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x16, 0x49 - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xF8, 0x1D, 0xE0, 0x00, 0x1F, 0x20, 0x58, 0x4E, 0xF0, 0xA2, 0xFC - .byte 0x01, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x21, 0x1C, 0x0B, 0x22, 0x00, 0xF0, 0x1F, 0xF8, 0x11, 0xE0 - .byte 0x7E, 0x20, 0x80, 0x00, 0x20, 0x58, 0x4E, 0xF0, 0xB9, 0xFC, 0x73, 0x21, 0x89, 0x00, 0x28, 0x1C - .byte 0x61, 0x18, 0x00, 0xF0, 0xBF, 0xFD, 0x7E, 0x21, 0x89, 0x00, 0x60, 0x50, 0x05, 0x49, 0x20, 0x1C - .byte 0xFF, 0xF7, 0x18, 0xF8 + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl FUN_0208562C + mov r1, #0x7a + lsl r1, r1, #0x2 + ldrb r2, [r6, #0x2] + add r0, r5, #0x0 + add r1, r4, r1 + bl FUN_020379C8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036CE8 ; =FUN_02035E50 + add r0, r4, #0x0 + bl FUN_02035D04 + b _02036CD4 +_02036C58: + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl FUN_020855E4 + cmp r0, #0x1 + bne _02036C70 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0xc + bl FUN_02036CEC + b _02036CD4 +_02036C70: + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl FUN_0208562C + mov r1, #0x7a + lsl r1, r1, #0x2 + ldrb r2, [r6, #0x2] + add r0, r5, #0x0 + add r1, r4, r1 + bl FUN_020379C8 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036CE8 ; =FUN_02035E50 + add r0, r4, #0x0 + bl FUN_02035D04 + b _02036CD4 +_02036C98: + sub r0, r0, #0x4 + ldr r0, [r4, r0] + bl FUN_020855E4 + cmp r0, #0x1 + bne _02036CB0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0xb + bl FUN_02036CEC + b _02036CD4 +_02036CB0: + mov r0, #0x7e + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl FUN_0208562C + mov r1, #0x73 + lsl r1, r1, #0x2 + add r0, r5, #0x0 + add r1, r4, r1 + bl FUN_02037844 + mov r1, #0x7e + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r1, _02036CE4 ; =FUN_020362E4 + add r0, r4, #0x0 + bl FUN_02035D04 _02036CD4: mov r0, #0x7f lsl r0, r0, #0x2 @@ -109323,8 +117320,7 @@ _02036CD4: pop {r4-r6, pc} nop _02036CE4: .word FUN_020362E4 + 1 -_02036CE8: - .byte 0x51, 0x5E, 0x03, 0x02 +_02036CE8: .word FUN_02035E50 + 1 thumb_func_start FUN_02036CEC FUN_02036CEC: ; 0x02036CEC @@ -109656,17 +117652,30 @@ FUN_02036FA4: ; 0x02036FA4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_02036FD4: ; jump table (using 16-bit offset) + .short _02036FDC - _02036FD4 - 2; case 0 + .short _02036FE4 - _02036FD4 - 2; case 1 + .short _02036FEC - _02036FD4 - 2; case 2 + .short _02036FF4 - _02036FD4 - 2; case 3 +_02036FDC: ldr r0, [r5, #0x0] sub r0, r0, #0x1 str r0, [r5, #0x0] b _02036FFA _02036FE4: - .byte 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0xE0, 0x20, 0x68, 0x40, 0x1E - .byte 0x20, 0x60, 0x02, 0xE0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02036FFA +_02036FEC: + ldr r0, [r4, #0x0] + sub r0, r0, #0x1 + str r0, [r4, #0x0] + b _02036FFA +_02036FF4: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] _02036FFA: add r0, r7, #0x0 pop {r3-r7, pc} @@ -109717,17 +117726,30 @@ FUN_02037024: ; 0x02037024 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_02037058: ; jump table (using 16-bit offset) + .short _02037060 - _02037058 - 2; case 0 + .short _02037068 - _02037058 - 2; case 1 + .short _02037070 - _02037058 - 2; case 2 + .short _02037078 - _02037058 - 2; case 3 +_02037060: ldr r0, [sp, #0x0] sub r0, r0, #0x1 str r0, [sp, #0x0] b _0203707E _02037068: - .byte 0x00, 0x98, 0x40, 0x1C, 0x00, 0x90, 0x06, 0xE0 - .byte 0x01, 0x98, 0x40, 0x1E, 0x01, 0x90, 0x02, 0xE0, 0x01, 0x98, 0x40, 0x1C, 0x01, 0x90 + ldr r0, [sp, #0x0] + add r0, r0, #0x1 + str r0, [sp, #0x0] + b _0203707E +_02037070: + ldr r0, [sp, #0x4] + sub r0, r0, #0x1 + str r0, [sp, #0x4] + b _0203707E +_02037078: + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] _0203707E: ldr r0, [r5, #0x34] ldr r1, [sp, #0x4] @@ -109874,10 +117896,12 @@ _02037176: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r2, #0 - lsl r2, r4, #0 - lsl r0, r6, #0 +_0203718C: ; jump table (using 16-bit offset) + .short _02037194 - _0203718C - 2; case 0 + .short _020371A2 - _0203718C - 2; case 1 + .short _020371B0 - _0203718C - 2; case 2 + .short _020371BE - _0203718C - 2; case 3 +_02037194: ldrh r0, [r4, #0x10] cmp r0, #0x0 beq _0203719E @@ -109887,9 +117911,32 @@ _0203719E: mov r0, #0x1 pop {r4, pc} _020371A2: - .byte 0x20, 0x8A, 0x03, 0x28, 0x01, 0xD0, 0x06, 0x28, 0x0F, 0xD1, 0x01, 0x20, 0x10, 0xBD - .byte 0x20, 0x8A, 0x02, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x08, 0xD1, 0x01, 0x20, 0x10, 0xBD, 0x20, 0x8A - .byte 0x01, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x10, 0xBD + ldrh r0, [r4, #0x10] + cmp r0, #0x3 + beq _020371AC + cmp r0, #0x6 + bne _020371CC +_020371AC: + mov r0, #0x1 + pop {r4, pc} +_020371B0: + ldrh r0, [r4, #0x10] + cmp r0, #0x2 + beq _020371BA + cmp r0, #0x5 + bne _020371CC +_020371BA: + mov r0, #0x1 + pop {r4, pc} +_020371BE: + ldrh r0, [r4, #0x10] + cmp r0, #0x1 + beq _020371C8 + cmp r0, #0x5 + bne _020371CC +_020371C8: + mov r0, #0x1 + pop {r4, pc} _020371CC: mov r0, #0x0 pop {r4, pc} @@ -110434,11 +118481,13 @@ _020375E2: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r5, #0x3 - lsl r0, r1, #0 - lsl r2, r2, #0x1 - lsl r0, r5, #0 - lsl r6, r7, #0x1 +_020375F2: ; jump table (using 16-bit offset) + .short _020376E2 - _020375F2 - 2; case 0 + .short _020375FC - _020375F2 - 2; case 1 + .short _02037646 - _020375F2 - 2; case 2 + .short _0203761C - _020375F2 - 2; case 3 + .short _02037672 - _020375F2 - 2; case 4 +_020375FC: cmp r5, #0x0 beq _02037610 bl FUN_0204E2FC @@ -110454,20 +118503,99 @@ _02037610: add sp, #0x10 pop {r3-r5, pc} _0203761C: - .byte 0x00, 0x2D, 0x0C, 0xD0 - .byte 0x16, 0xF0, 0x6C, 0xFE, 0x00, 0x28, 0x07, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0x16, 0xF8 - .byte 0x01, 0x28, 0x02, 0xD1, 0x00, 0x25, 0x00, 0xE0, 0x00, 0x25, 0x20, 0x1C, 0x29, 0x1C, 0x16, 0xF0 - .byte 0x3F, 0xF8, 0x04, 0xB0, 0x38, 0xBD, 0x00, 0x2D, 0x00, 0xD1, 0x83, 0xE0, 0x02, 0xA8, 0x21, 0x1C - .byte 0xA1, 0xF1, 0x82, 0xF8, 0x01, 0x28, 0x7D, 0xD0, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0x00, 0x90 - .byte 0x01, 0x92, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x52, 0x1E, 0x1E, 0xF0, 0xC3, 0xF8, 0x04, 0xB0 - .byte 0x38, 0xBD, 0x00, 0x2D, 0x6E, 0xD0, 0x02, 0xA8, 0x21, 0x1C, 0xA1, 0xF1, 0xD1, 0xF8, 0x01, 0x28 - .byte 0x11, 0xD1, 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x33, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0xB0, 0xF1 - .byte 0x95, 0xFD, 0xA0, 0x6B, 0xAF, 0xF1, 0x50, 0xFD, 0x20, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xB8, 0xF1 - .byte 0xFD, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x2C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x03, 0xD0 - .byte 0x60, 0x68, 0x80, 0x68, 0xAB, 0xF1, 0x1C, 0xFE, 0x00, 0x25, 0x00, 0xF0, 0x69, 0xF8, 0x00, 0x28 - .byte 0x02, 0xD0, 0x1A, 0xF2, 0x37, 0xFF, 0x05, 0x1C, 0x02, 0xAB, 0xD8, 0x88, 0x00, 0x22, 0xD2, 0x43 - .byte 0x00, 0x90, 0x01, 0x95, 0x9B, 0x88, 0xA0, 0x6B, 0x61, 0x6A, 0x1E, 0xF0, 0x8B, 0xF8, 0x04, 0xB0 - .byte 0x38, 0xBD + cmp r5, #0x0 + beq _0203763A + bl FUN_0204E2FC + cmp r0, #0x0 + beq _02037638 + add r0, sp, #0x8 + add r1, r4, #0x0 + bl FUN_021D865C + cmp r0, #0x1 + bne _0203763A + mov r5, #0x0 + b _0203763A +_02037638: + mov r5, #0x0 +_0203763A: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_0204D6C0 + add sp, #0x10 + pop {r3-r5, pc} +_02037646: + cmp r5, #0x0 + bne _0203764C + b _02037754 +_0203764C: + add r0, sp, #0x8 + add r1, r4, #0x0 + bl FUN_021D8758 + cmp r0, #0x1 + beq _02037754 + add r3, sp, #0x8 + ldrh r0, [r3, #0x6] + mov r2, #0x0 + str r0, [sp, #0x0] + str r2, [sp, #0x4] + ldrh r3, [r3, #0x4] + ldr r0, [r4, #0x38] + ldr r1, [r4, #0x24] + sub r2, r2, #0x1 + bl FUN_020557F4 + add sp, #0x10 + pop {r3-r5, pc} +_02037672: + cmp r5, #0x0 + beq _02037754 + add r0, sp, #0x8 + add r1, r4, #0x0 + bl FUN_021D8820 + cmp r0, #0x1 + bne _020376A6 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x8] + bl FUN_021E32F0 + add r0, r4, #0x0 + mov r1, #0x4 + bl FUN_021E81BC + ldr r0, [r4, #0x38] + bl FUN_021E7138 + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl FUN_021EFA9C + add sp, #0x10 + pop {r3-r5, pc} +_020376A6: + ldr r0, _02037758 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _020376B8 + ldr r0, [r4, #0x4] + ldr r0, [r0, #0x8] + bl FUN_021E32F0 +_020376B8: + mov r5, #0x0 + bl FUN_02037790 + cmp r0, #0x0 + beq _020376C8 + bl FUN_02252534 + add r5, r0, #0x0 +_020376C8: + add r3, sp, #0x8 + ldrh r0, [r3, #0x6] + mov r2, #0x0 + mvn r2, r2 + str r0, [sp, #0x0] + str r5, [sp, #0x4] + ldrh r3, [r3, #0x4] + ldr r0, [r4, #0x38] + ldr r1, [r4, #0x24] + bl FUN_020557F4 + add sp, #0x10 + pop {r3-r5, pc} _020376E2: cmp r5, #0x0 beq _02037754 @@ -110529,7 +118657,7 @@ _0203775C: .word 0x00000146 thumb_func_start FUN_02037760 FUN_02037760: ; 0x02037760 ldr r0, _02037770 ; =0x021C5A08 - ldr r3, _02037774 ; =0x02030FC9 + ldr r3, _02037774 ; =FUN_02030FC8 ldr r0, [r0, #0x0] mov r1, #0x1 ldr r0, [r0, #0x0] @@ -110537,7 +118665,7 @@ FUN_02037760: ; 0x02037760 bx r3 nop _02037770: .word 0x021C5A08 -_02037774: .word 0x02030FC9 +_02037774: .word FUN_02030FC8 + 1 thumb_func_start FUN_02037778 FUN_02037778: ; 0x02037778 @@ -110617,9 +118745,24 @@ FUN_020377E0: ; 0x020377E0 FUN_020377F0: ; 0x020377F0 mov r0, #0x1 bx lr -_020377F4: - .byte 0x08, 0xB5, 0xF5, 0xF1, 0xE3, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20 - .byte 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x01, 0x20, 0x70, 0x47 + + thumb_func_start FUN_020377F4 +FUN_020377F4: ; 0x020377F4 + push {r3, lr} + bl FUN_0222D5C0 + cmp r0, #0x0 + beq _02037802 + mov r0, #0x1 + pop {r3, pc} +_02037802: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02037808 +FUN_02037808: ; 0x02037808 + mov r0, #0x1 + bx lr thumb_func_start FUN_0203780C FUN_0203780C: ; 0x0203780C @@ -110965,11 +119108,13 @@ FUN_02037A7C: ; 0x02037A7C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r3, #0 - lsl r6, r1, #0x1 - lsl r0, r6, #0x1 - lsl r6, r0, #0x2 +_02037AA8: ; jump table (using 16-bit offset) + .short _02037AB2 - _02037AA8 - 2; case 0 + .short _02037AC2 - _02037AA8 - 2; case 1 + .short _02037AF8 - _02037AA8 - 2; case 2 + .short _02037B1A - _02037AA8 - 2; case 3 + .short _02037B30 - _02037AA8 - 2; case 4 +_02037AB2: ldr r1, _02037B40 ; =0x020F96DC ldr r2, [r4, #0x4] add r0, r6, #0x0 @@ -110978,14 +119123,63 @@ FUN_02037A7C: ; 0x02037A7C str r0, [r5, #0x0] b _02037B3A _02037AC2: - .byte 0x30, 0x1C, 0x0E, 0xF0, 0xDA, 0xFC, 0x00, 0x28, 0x36, 0xD1, 0x60, 0x68, 0x22, 0x30 - .byte 0x00, 0x78, 0x06, 0x28, 0x07, 0xD0, 0x07, 0x28, 0x0B, 0xD1, 0x02, 0x20, 0x1A, 0xF0, 0x7C, 0xFE - .byte 0x04, 0x20, 0x28, 0x60, 0x29, 0xE0, 0x01, 0x20, 0x1A, 0xF0, 0x76, 0xFE, 0x04, 0x20, 0x28, 0x60 - .byte 0x23, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x20, 0xE0, 0x21, 0x68, 0x30, 0x1C, 0x00, 0x22, 0x00, 0xF0 - .byte 0xBD, 0xF8, 0xA0, 0x60, 0x61, 0x68, 0x22, 0x31, 0x09, 0x78, 0x01, 0x75, 0xA1, 0x68, 0x30, 0x1C - .byte 0xFF, 0xF7, 0x2C, 0xFF, 0x03, 0x20, 0x28, 0x60, 0x0F, 0xE0, 0x30, 0x1C, 0x0E, 0xF0, 0xAE, 0xFC - .byte 0x00, 0x28, 0x0A, 0xD1, 0xA0, 0x68, 0xDE, 0xF7, 0x77, 0xFF, 0x00, 0x20, 0x28, 0x60, 0x04, 0xE0 - .byte 0x20, 0x1C, 0xDE, 0xF7, 0x71, 0xFF, 0x01, 0x20, 0x70, 0xBD + add r0, r6, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + bne _02037B3A + ldr r0, [r4, #0x4] + add r0, #0x22 + ldrb r0, [r0, #0x0] + cmp r0, #0x6 + beq _02037AE6 + cmp r0, #0x7 + bne _02037AF2 + mov r0, #0x2 + bl FUN_020527D8 + mov r0, #0x4 + str r0, [r5, #0x0] + b _02037B3A +_02037AE6: + mov r0, #0x1 + bl FUN_020527D8 + mov r0, #0x4 + str r0, [r5, #0x0] + b _02037B3A +_02037AF2: + mov r0, #0x2 + str r0, [r5, #0x0] + b _02037B3A +_02037AF8: + ldr r1, [r4, #0x0] + add r0, r6, #0x0 + mov r2, #0x0 + bl FUN_02037C7C + str r0, [r4, #0x8] + ldr r1, [r4, #0x4] + add r1, #0x22 + ldrb r1, [r1, #0x0] + strb r1, [r0, #0x14] + ldr r1, [r4, #0x8] + add r0, r6, #0x0 + bl FUN_0203796C + mov r0, #0x3 + str r0, [r5, #0x0] + b _02037B3A +_02037B1A: + add r0, r6, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + bne _02037B3A + ldr r0, [r4, #0x8] + bl FUN_02016A18 + mov r0, #0x0 + str r0, [r5, #0x0] + b _02037B3A +_02037B30: + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r4-r6, pc} _02037B3A: mov r0, #0x0 pop {r4-r6, pc} @@ -111849,14 +120043,16 @@ _02038218: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r1, #0 - lsl r4, r4, #0 - lsl r2, r6, #0 - lsl r4, r0, #0x1 - lsl r2, r4, #0x1 - lsl r0, r2, #0x3 - lsl r0, r4, #0x5 - lsl r4, r1, #0x6 +_02038224: ; jump table (using 16-bit offset) + .short _02038234 - _02038224 - 2; case 0 + .short _0203824A - _02038224 - 2; case 1 + .short _02038258 - _02038224 - 2; case 2 + .short _0203826A - _02038224 - 2; case 3 + .short _02038288 - _02038224 - 2; case 4 + .short _020382F6 - _02038224 - 2; case 5 + .short _02038386 - _02038224 - 2; case 6 + .short _020383B2 - _02038224 - 2; case 7 +_02038234: bl FUN_02033590 cmp r0, #0x0 bne _02038242 @@ -111868,38 +120064,191 @@ _02038242: str r0, [r4, #0x0] b _020383C8 _0203824A: - .byte 0x20, 0x1D, 0x29, 0x1C, 0xFF, 0xF7 - .byte 0x79, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x5D, 0x49, 0x30, 0x1C, 0x22, 0x1D, 0x0E, 0xF0 - .byte 0x4F, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xAE, 0xE0, 0xE1, 0x6A, 0x00, 0x29, 0x08, 0xD1 - .byte 0x20, 0x1D, 0xFF, 0xF7, 0xAB, 0xFF, 0x20, 0x1C, 0xDE, 0xF7, 0xCE, 0xFB, 0x0D, 0xB0, 0x01, 0x20 - .byte 0xF0, 0xBD, 0x40, 0x1C, 0x20, 0x60, 0x9F, 0xE0, 0xE0, 0x6B, 0x20, 0x65, 0x20, 0x6C, 0x30, 0xF0 - .byte 0x29, 0xFF, 0xA0, 0x64, 0x60, 0x6C, 0x30, 0xF0, 0x25, 0xFF, 0xE0, 0x64, 0xE8, 0x68, 0xEB, 0xF7 - .byte 0x2F, 0xFB, 0xE0, 0x65, 0x01, 0x20, 0xA0, 0x65, 0x28, 0x1C, 0x12, 0xF0, 0xFB, 0xFF, 0x04, 0x28 - .byte 0x0A, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00 - .byte 0x08, 0x00, 0x0E, 0x00, 0x14, 0x00, 0x14, 0x00, 0x00, 0x20, 0x60, 0x65, 0x04, 0xE0, 0x01, 0x20 - .byte 0x60, 0x65, 0x01, 0xE0, 0x02, 0x20, 0x60, 0x65, 0xFB, 0xF7, 0x5A, 0xF9, 0x00, 0x28, 0x01, 0xD0 - .byte 0x03, 0x20, 0x60, 0x65, 0x22, 0x1C, 0x3B, 0x49, 0x30, 0x1C, 0x48, 0x32, 0x0E, 0xF0, 0x08, 0xF9 - .byte 0x05, 0x20, 0x20, 0x60, 0x68, 0xE0, 0x60, 0x6C, 0x06, 0x21, 0x00, 0x22, 0x2E, 0xF0, 0x5E, 0xFF - .byte 0x03, 0x1C, 0x0C, 0xA8, 0x00, 0x90, 0x1B, 0x04, 0x61, 0x6C, 0x00, 0x20, 0x01, 0x22, 0x1B, 0x0C - .byte 0x30, 0xF0, 0x2A, 0xFF, 0x08, 0x90, 0x00, 0x28, 0x32, 0xD0, 0x03, 0x20, 0x1A, 0x21, 0x02, 0x04 - .byte 0xDE, 0xF7, 0x7C, 0xFA, 0xE8, 0x68, 0xEB, 0xF7, 0xEB, 0xFA, 0x09, 0x90, 0xE8, 0x68, 0x41, 0xF0 - .byte 0x9F, 0xFC, 0x06, 0x1C, 0xE8, 0x68, 0xEC, 0xF7, 0x33, 0xFD, 0x07, 0x1C, 0xE8, 0x68, 0x36, 0xF0 - .byte 0x0B, 0xFF, 0x0A, 0x90, 0xE8, 0x68, 0xF1, 0xF7, 0x3F, 0xFE, 0x0B, 0x90, 0xE8, 0x68, 0x13, 0xF0 - .byte 0x2B, 0xFF, 0x00, 0x96, 0x0A, 0x99, 0x01, 0x97, 0x02, 0x91, 0x0B, 0x99, 0x08, 0x9A, 0x03, 0x91 - .byte 0x04, 0x90, 0x0C, 0x98, 0x09, 0x9B, 0x05, 0x90, 0x04, 0x20, 0x06, 0x90, 0x1A, 0x20, 0x07, 0x90 - .byte 0x61, 0x6C, 0x00, 0x20, 0x34, 0xF0, 0xC4, 0xF9, 0x20, 0x66, 0x06, 0x20, 0x20, 0x60, 0x23, 0xE0 - .byte 0x07, 0x20, 0x20, 0x60, 0x20, 0xE0, 0x20, 0x6E, 0x34, 0xF0, 0xC8, 0xFA, 0x00, 0x28, 0x1B, 0xD0 - .byte 0xE0, 0x68, 0x21, 0x6B, 0x33, 0xF0, 0x0C, 0xFB, 0x01, 0x1C, 0x60, 0x6C, 0x31, 0xF0, 0xF4, 0xFB - .byte 0x20, 0x6E, 0x34, 0xF0, 0xC3, 0xFA, 0x1A, 0x20, 0xDE, 0xF7, 0x92, 0xFA, 0x07, 0x20, 0x20, 0x60 - .byte 0x0A, 0xE0, 0xA0, 0x6B, 0x40, 0x1C, 0xA0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xE8, 0x68, 0xF1, 0xF7 - .byte 0x03, 0xFE, 0x10, 0x21, 0xF1, 0xF7, 0xD4, 0xFE + add r0, r4, #0x4 + add r1, r5, #0x0 + bl FUN_02038144 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] +_02038258: + ldr r1, _020383D0 ; =0x02105DBC + add r0, r6, #0x0 + add r2, r4, #0x4 + bl FUN_02046500 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020383C8 +_0203826A: + ldr r1, [r4, #0x2c] + cmp r1, #0x0 + bne _02038282 + add r0, r4, #0x4 + bl FUN_020381CC + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x34 + mov r0, #0x1 + pop {r4-r7, pc} +_02038282: + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020383C8 +_02038288: + ldr r0, [r4, #0x3c] + str r0, [r4, #0x50] + ldr r0, [r4, #0x40] + bl FUN_020690E4 + str r0, [r4, #0x48] + ldr r0, [r4, #0x44] + bl FUN_020690E4 + str r0, [r4, #0x4c] + ldr r0, [r5, #0xc] + bl FUN_02023900 + str r0, [r4, #0x5c] + mov r0, #0x1 + str r0, [r4, #0x58] + add r0, r5, #0x0 + bl FUN_0204B2A4 + cmp r0, #0x4 + bhi _020382C8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020382BE: ; jump table (using 16-bit offset) + .short _020382C8 - _020382BE - 2; case 0 + .short _020382C8 - _020382BE - 2; case 1 + .short _020382CE - _020382BE - 2; case 2 + .short _020382D4 - _020382BE - 2; case 3 + .short _020382D4 - _020382BE - 2; case 4 +_020382C8: + mov r0, #0x0 + str r0, [r4, #0x54] + b _020382D8 +_020382CE: + mov r0, #0x1 + str r0, [r4, #0x54] + b _020382D8 +_020382D4: + mov r0, #0x2 + str r0, [r4, #0x54] +_020382D8: + bl FUN_02033590 + cmp r0, #0x0 + beq _020382E4 + mov r0, #0x3 + str r0, [r4, #0x54] +_020382E4: + add r2, r4, #0x0 + ldr r1, _020383D4 ; =0x020F2CA4 + add r0, r6, #0x0 + add r2, #0x48 + bl FUN_02046500 + mov r0, #0x5 + str r0, [r4, #0x0] + b _020383C8 +_020382F6: + ldr r0, [r4, #0x44] + mov r1, #0x6 + mov r2, #0x0 + bl FUN_020671BC + add r3, r0, #0x0 + add r0, sp, #0x30 + str r0, [sp, #0x0] + lsl r3, r3, #0x10 + ldr r1, [r4, #0x44] + mov r0, #0x0 + mov r2, #0x1 + lsr r3, r3, #0x10 + bl FUN_02069168 + str r0, [sp, #0x20] + cmp r0, #0x0 + beq _02038380 + mov r0, #0x3 + mov r1, #0x1a + lsl r2, r0, #0x10 + bl FUN_0201681C + ldr r0, [r5, #0xc] + bl FUN_02023900 + str r0, [sp, #0x24] + ldr r0, [r5, #0xc] + bl FUN_02079C70 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02024DA0 + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + str r0, [sp, #0x28] + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + str r0, [sp, #0x2c] + ldr r0, [r5, #0xc] + bl FUN_0204C1A8 + str r6, [sp, #0x0] + ldr r1, [sp, #0x28] + str r7, [sp, #0x4] + str r1, [sp, #0x8] + ldr r1, [sp, #0x2c] + ldr r2, [sp, #0x20] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldr r0, [sp, #0x30] + ldr r3, [sp, #0x24] + str r0, [sp, #0x14] + mov r0, #0x4 + str r0, [sp, #0x18] + mov r0, #0x1a + str r0, [sp, #0x1c] + ldr r1, [r4, #0x44] + mov r0, #0x0 + bl FUN_0206C700 + str r0, [r4, #0x60] + mov r0, #0x6 + str r0, [r4, #0x0] + b _020383C8 +_02038380: + mov r0, #0x7 + str r0, [r4, #0x0] + b _020383C8 +_02038386: + ldr r0, [r4, #0x60] + bl FUN_0206C91C + cmp r0, #0x0 + beq _020383C8 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x30] + bl FUN_0206B9B0 + add r1, r0, #0x0 + ldr r0, [r4, #0x44] + bl FUN_02069B88 + ldr r0, [r4, #0x60] + bl FUN_0206C92C + mov r0, #0x1a + bl FUN_020168D0 + mov r0, #0x7 + str r0, [r4, #0x0] + b _020383C8 +_020383B2: + ldr r0, [r4, #0x38] + add r0, r0, #0x1 + str r0, [r4, #0x38] + mov r0, #0x2 + str r0, [r4, #0x0] + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + mov r1, #0x10 + bl FUN_0202A170 _020383C8: mov r0, #0x0 add sp, #0x34 pop {r4-r7, pc} nop -_020383D0: - .byte 0xBC, 0x5D, 0x10, 0x02, 0xA4, 0x2C, 0x0F, 0x02 +_020383D0: .word 0x02105DBC +_020383D4: .word 0x020F2CA4 thumb_func_start FUN_020383D8 FUN_020383D8: ; 0x020383D8 @@ -112002,10 +120351,12 @@ FUN_0203847C: ; 0x0203847C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r2, #0 - lsl r6, r4, #0 - lsl r4, r6, #0 +_020384A0: ; jump table (using 16-bit offset) + .short _020384A8 - _020384A0 - 2; case 0 + .short _020384B6 - _020384A0 - 2; case 1 + .short _020384C8 - _020384A0 - 2; case 2 + .short _020384D6 - _020384A0 - 2; case 3 +_020384A8: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x0] @@ -112013,21 +120364,78 @@ FUN_0203847C: ; 0x0203847C str r0, [r4, #0x0] b _02038544 _020384B6: - .byte 0x24, 0x49, 0xE2, 0x68, 0x28, 0x1C, 0x0E, 0xF0, 0x20, 0xF8 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x28, 0x1C, 0x12, 0xF0, 0x5B, 0xFD, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x36, 0xE0, 0xE1, 0x68, 0x08, 0x68, 0x01, 0x28, 0x09, 0xD1, 0x88, 0x69 - .byte 0x21, 0x69, 0xE9, 0xF7, 0xFD, 0xFB, 0x00, 0x28, 0x14, 0xD1, 0xE0, 0x68, 0x01, 0x21, 0x41, 0x61 - .byte 0x10, 0xE0, 0x05, 0x28, 0x0E, 0xD1, 0x88, 0x69, 0xE9, 0xF7, 0x18, 0xFD, 0x07, 0x1C, 0xF0, 0x68 - .byte 0xF0, 0xF7, 0x8C, 0xF9, 0x39, 0x1C, 0xF0, 0xF7, 0xA5, 0xF9, 0x00, 0x28, 0x02, 0xD0, 0xE0, 0x68 - .byte 0x02, 0x21, 0x41, 0x61, 0xE0, 0x68, 0x40, 0x69, 0x00, 0x28, 0x02, 0xD1, 0x28, 0x1C, 0x00, 0xF0 - .byte 0x15, 0xF8, 0xA1, 0x68, 0x00, 0x29, 0x02, 0xD0, 0xE0, 0x68, 0x40, 0x69, 0x08, 0x80, 0xE0, 0x68 - .byte 0x3F, 0xF0, 0xC8, 0xFA, 0x20, 0x69, 0xE9, 0xF7, 0x73, 0xFA, 0x20, 0x1C, 0xDE, 0xF7, 0x6C, 0xFA - .byte 0x01, 0x20, 0xF8, 0xBD + ldr r1, _02038548 ; =0x020FA5FC + ldr r2, [r4, #0xc] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02038544 +_020384C8: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02038544 +_020384D6: + ldr r1, [r4, #0xc] + ldr r0, [r1, #0x0] + cmp r0, #0x1 + bne _020384F2 + ldr r0, [r1, #0x18] + ldr r1, [r4, #0x10] + bl FUN_02021CE0 + cmp r0, #0x0 + bne _02038514 + ldr r0, [r4, #0xc] + mov r1, #0x1 + str r1, [r0, #0x14] + b _02038514 +_020384F2: + cmp r0, #0x5 + bne _02038514 + ldr r0, [r1, #0x18] + bl FUN_02021F2C + add r7, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_0202881C + add r1, r7, #0x0 + bl FUN_02028854 + cmp r0, #0x0 + beq _02038514 + ldr r0, [r4, #0xc] + mov r1, #0x2 + str r1, [r0, #0x14] +_02038514: + ldr r0, [r4, #0xc] + ldr r0, [r0, #0x14] + cmp r0, #0x0 + bne _02038522 + add r0, r5, #0x0 + bl FUN_0203854C +_02038522: + ldr r1, [r4, #0x8] + cmp r1, #0x0 + beq _0203852E + ldr r0, [r4, #0xc] + ldr r0, [r0, #0x14] + strh r0, [r1, #0x0] +_0203852E: + ldr r0, [r4, #0xc] + bl FUN_02077AC4 + ldr r0, [r4, #0x10] + bl FUN_02021A20 + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} _02038544: mov r0, #0x0 pop {r3-r7, pc} -_02038548: - .byte 0xFC, 0xA5, 0x0F, 0x02 + .balign 4 +_02038548: .word 0x020FA5FC thumb_func_start FUN_0203854C FUN_0203854C: ; 0x0203854C @@ -112048,13 +120456,15 @@ FUN_0203854C: ; 0x0203854C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r4, r3, #0 - lsl r6, r2, #0x1 - lsl r6, r2, #0x1 - lsl r6, r2, #0x1 - lsl r4, r6, #0 - lsl r0, r1, #0x1 +_02038572: ; jump table (using 16-bit offset) + .short _02038580 - _02038572 - 2; case 0 + .short _02038590 - _02038572 - 2; case 1 + .short _020385CA - _02038572 - 2; case 2 + .short _020385CA - _02038572 - 2; case 3 + .short _020385CA - _02038572 - 2; case 4 + .short _020385A8 - _02038572 - 2; case 5 + .short _020385BC - _02038572 - 2; case 6 +_02038580: ldr r0, [r5, #0xc] bl FUN_020238F4 ldr r1, [r4, #0xc] @@ -112062,10 +120472,30 @@ FUN_0203854C: ; 0x0203854C bl FUN_0202395C pop {r3-r5, pc} _02038590: - .byte 0xE8, 0x68, 0x33, 0xF0, 0xC3, 0xFA, 0x61, 0x68, 0x33, 0xF0, 0x0A, 0xFA, 0xE2, 0x68, 0x75, 0x21 - .byte 0x1C, 0x32, 0x2F, 0xF0, 0x45, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xF0, 0xF7, 0x37, 0xF9, 0xE3, 0x68 - .byte 0x00, 0x21, 0x9B, 0x69, 0x0A, 0x1C, 0xF0, 0xF7, 0x03, 0xF9, 0x38, 0xBD, 0xE8, 0x68, 0xEC, 0xF7 - .byte 0x79, 0xFC, 0xE1, 0x68, 0x89, 0x69, 0xEC, 0xF7, 0xA7, 0xFC + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + ldr r1, [r4, #0x4] + bl FUN_0206B9B0 + ldr r2, [r4, #0xc] + mov r1, #0x75 + add r2, #0x1c + bl FUN_02067830 + pop {r3-r5, pc} +_020385A8: + ldr r0, [r5, #0xc] + bl FUN_0202881C + ldr r3, [r4, #0xc] + mov r1, #0x0 + ldr r3, [r3, #0x18] + add r2, r1, #0x0 + bl FUN_020287C0 + pop {r3-r5, pc} +_020385BC: + ldr r0, [r5, #0xc] + bl FUN_02024EB4 + ldr r1, [r4, #0xc] + ldr r1, [r1, #0x18] + bl FUN_02024F18 _020385CA: pop {r3-r5, pc} @@ -113744,75 +122174,191 @@ _02039308: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r5, #0x1 - lsl r0, r6, #0x1 - lsl r4, r6, #0x1 - lsl r0, r7, #0x1 - lsl r4, r7, #0x1 - lsl r0, r0, #0x2 - lsl r4, r0, #0x2 - lsl r0, r1, #0x2 - lsl r4, r1, #0x2 - lsl r0, r2, #0x2 - lsl r4, r2, #0x2 - lsl r0, r3, #0x2 - lsl r4, r3, #0x2 - lsl r0, r4, #0x2 - lsl r4, r4, #0x2 - lsl r0, r5, #0x2 - lsl r4, r5, #0x2 - lsl r0, r6, #0x2 - lsl r4, r6, #0x2 - lsl r0, r7, #0x2 - lsl r4, r7, #0x2 - lsl r0, r0, #0x3 - lsl r4, r0, #0x3 - lsl r0, r1, #0x3 - lsl r4, r1, #0x3 - lsl r0, r2, #0x3 - lsl r4, r2, #0x3 - lsl r0, r3, #0x3 - lsl r4, r3, #0x3 - lsl r0, r4, #0x3 - lsl r4, r4, #0x3 - lsl r0, r5, #0x3 - lsl r4, r5, #0x3 - lsl r0, r6, #0x3 - lsl r4, r6, #0x3 - lsl r0, r7, #0x3 - lsl r4, r7, #0x3 - lsl r0, r0, #0x4 - lsl r4, r0, #0x4 - lsl r0, r1, #0x4 - lsl r4, r1, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 - lsl r0, r2, #0x4 +_02039314: ; jump table (using 16-bit offset) + .short _02039382 - _02039314 - 2; case 0 + .short _02039386 - _02039314 - 2; case 1 + .short _0203938A - _02039314 - 2; case 2 + .short _0203938E - _02039314 - 2; case 3 + .short _02039392 - _02039314 - 2; case 4 + .short _02039396 - _02039314 - 2; case 5 + .short _0203939A - _02039314 - 2; case 6 + .short _0203939E - _02039314 - 2; case 7 + .short _020393A2 - _02039314 - 2; case 8 + .short _020393A6 - _02039314 - 2; case 9 + .short _020393AA - _02039314 - 2; case 10 + .short _020393AE - _02039314 - 2; case 11 + .short _020393B2 - _02039314 - 2; case 12 + .short _020393B6 - _02039314 - 2; case 13 + .short _020393BA - _02039314 - 2; case 14 + .short _020393BE - _02039314 - 2; case 15 + .short _020393C2 - _02039314 - 2; case 16 + .short _020393C6 - _02039314 - 2; case 17 + .short _020393CA - _02039314 - 2; case 18 + .short _020393CE - _02039314 - 2; case 19 + .short _020393D2 - _02039314 - 2; case 20 + .short _020393D6 - _02039314 - 2; case 21 + .short _020393DA - _02039314 - 2; case 22 + .short _020393DE - _02039314 - 2; case 23 + .short _020393E2 - _02039314 - 2; case 24 + .short _020393E6 - _02039314 - 2; case 25 + .short _020393EA - _02039314 - 2; case 26 + .short _020393EE - _02039314 - 2; case 27 + .short _020393F2 - _02039314 - 2; case 28 + .short _020393F6 - _02039314 - 2; case 29 + .short _020393FA - _02039314 - 2; case 30 + .short _020393FE - _02039314 - 2; case 31 + .short _02039402 - _02039314 - 2; case 32 + .short _02039406 - _02039314 - 2; case 33 + .short _0203940A - _02039314 - 2; case 34 + .short _0203940E - _02039314 - 2; case 35 + .short _02039412 - _02039314 - 2; case 36 + .short _02039416 - _02039314 - 2; case 37 + .short _0203941A - _02039314 - 2; case 38 + .short _0203941E - _02039314 - 2; case 39 + .short _02039422 - _02039314 - 2; case 40 + .short _02039426 - _02039314 - 2; case 41 + .short _02039426 - _02039314 - 2; case 42 + .short _02039426 - _02039314 - 2; case 43 + .short _02039426 - _02039314 - 2; case 44 + .short _02039426 - _02039314 - 2; case 45 + .short _02039426 - _02039314 - 2; case 46 + .short _02039426 - _02039314 - 2; case 47 + .short _02039426 - _02039314 - 2; case 48 + .short _02039426 - _02039314 - 2; case 49 + .short _02039426 - _02039314 - 2; case 50 + .short _02039426 - _02039314 - 2; case 51 + .short _02039426 - _02039314 - 2; case 52 + .short _02039426 - _02039314 - 2; case 53 + .short _02039426 - _02039314 - 2; case 54 +_02039382: add r0, #0x10 pop {r3, pc} _02039386: - .byte 0x14, 0x30, 0x08, 0xBD, 0x24, 0x30, 0x08, 0xBD, 0x40, 0x1D - .byte 0x08, 0xBD, 0x80, 0x1D, 0x08, 0xBD, 0xC0, 0x1D, 0x08, 0xBD, 0x08, 0x30, 0x08, 0xBD, 0x09, 0x30 - .byte 0x08, 0xBD, 0x0A, 0x30, 0x08, 0xBD, 0x28, 0x30, 0x08, 0xBD, 0x2C, 0x30, 0x08, 0xBD, 0x30, 0x30 - .byte 0x08, 0xBD, 0x34, 0x30, 0x08, 0xBD, 0x38, 0x30, 0x08, 0xBD, 0x3C, 0x30, 0x08, 0xBD, 0x40, 0x30 - .byte 0x08, 0xBD, 0x44, 0x30, 0x08, 0xBD, 0x48, 0x30, 0x08, 0xBD, 0x4C, 0x30, 0x08, 0xBD, 0xA8, 0x30 - .byte 0x08, 0xBD, 0xAC, 0x30, 0x08, 0xBD, 0xB0, 0x30, 0x08, 0xBD, 0xB4, 0x30, 0x08, 0xBD, 0x0C, 0x30 - .byte 0x08, 0xBD, 0x50, 0x30, 0x08, 0xBD, 0x54, 0x30, 0x08, 0xBD, 0x58, 0x30, 0x08, 0xBD, 0x5C, 0x30 - .byte 0x08, 0xBD, 0x60, 0x30, 0x08, 0xBD, 0x64, 0x30, 0x08, 0xBD, 0x68, 0x30, 0x08, 0xBD, 0x6C, 0x30 - .byte 0x08, 0xBD, 0x70, 0x30, 0x08, 0xBD, 0x74, 0x30, 0x08, 0xBD, 0x78, 0x30, 0x08, 0xBD, 0x7C, 0x30 - .byte 0x08, 0xBD, 0x80, 0x30, 0x08, 0xBD, 0x84, 0x30, 0x08, 0xBD, 0xB8, 0x30, 0x08, 0xBD, 0xC8, 0x30 - .byte 0x08, 0xBD, 0xD8, 0x30, 0x08, 0xBD, 0x29, 0x39, 0x88, 0x30, 0x49, 0x00, 0x40, 0x18, 0x08, 0xBD + add r0, #0x14 + pop {r3, pc} +_0203938A: + add r0, #0x24 + pop {r3, pc} +_0203938E: + add r0, r0, #0x5 + pop {r3, pc} +_02039392: + add r0, r0, #0x6 + pop {r3, pc} +_02039396: + add r0, r0, #0x7 + pop {r3, pc} +_0203939A: + add r0, #0x8 + pop {r3, pc} +_0203939E: + add r0, #0x9 + pop {r3, pc} +_020393A2: + add r0, #0xa + pop {r3, pc} +_020393A6: + add r0, #0x28 + pop {r3, pc} +_020393AA: + add r0, #0x2c + pop {r3, pc} +_020393AE: + add r0, #0x30 + pop {r3, pc} +_020393B2: + add r0, #0x34 + pop {r3, pc} +_020393B6: + add r0, #0x38 + pop {r3, pc} +_020393BA: + add r0, #0x3c + pop {r3, pc} +_020393BE: + add r0, #0x40 + pop {r3, pc} +_020393C2: + add r0, #0x44 + pop {r3, pc} +_020393C6: + add r0, #0x48 + pop {r3, pc} +_020393CA: + add r0, #0x4c + pop {r3, pc} +_020393CE: + add r0, #0xa8 + pop {r3, pc} +_020393D2: + add r0, #0xac + pop {r3, pc} +_020393D6: + add r0, #0xb0 + pop {r3, pc} +_020393DA: + add r0, #0xb4 + pop {r3, pc} +_020393DE: + add r0, #0xc + pop {r3, pc} +_020393E2: + add r0, #0x50 + pop {r3, pc} +_020393E6: + add r0, #0x54 + pop {r3, pc} +_020393EA: + add r0, #0x58 + pop {r3, pc} +_020393EE: + add r0, #0x5c + pop {r3, pc} +_020393F2: + add r0, #0x60 + pop {r3, pc} +_020393F6: + add r0, #0x64 + pop {r3, pc} +_020393FA: + add r0, #0x68 + pop {r3, pc} +_020393FE: + add r0, #0x6c + pop {r3, pc} +_02039402: + add r0, #0x70 + pop {r3, pc} +_02039406: + add r0, #0x74 + pop {r3, pc} +_0203940A: + add r0, #0x78 + pop {r3, pc} +_0203940E: + add r0, #0x7c + pop {r3, pc} +_02039412: + add r0, #0x80 + pop {r3, pc} +_02039416: + add r0, #0x84 + pop {r3, pc} +_0203941A: + add r0, #0xb8 + pop {r3, pc} +_0203941E: + add r0, #0xc8 + pop {r3, pc} +_02039422: + add r0, #0xd8 + pop {r3, pc} +_02039426: + sub r1, #0x29 + add r0, #0x88 + lsl r1, r1, #0x1 + add r0, r0, r1 + pop {r3, pc} _02039430: bl FUN_02020C2C mov r0, #0x0 @@ -123178,688 +131724,294 @@ FUN_0203DE38: ; 0x0203DE38 ldrb r0, [r0, #0x0] bl FUN_020546C8 pop {r3, pc} -_0203DE4C: - .byte 0x08, 0xB5, 0x0E, 0xF2 - .byte 0x21, 0xFE, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C - .byte 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xE4, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7 - .byte 0x3F, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2, 0x13, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x04, 0x1C, 0xA2, 0x68, 0x51, 0x1C, 0xA1, 0x60, 0x15, 0x78, 0xFA, 0xF7, 0xD0, 0xFE - .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x2B, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x0E, 0xF2 - .byte 0x09, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0xB0, 0x00, 0x23, 0x00, 0x93 - .byte 0x01, 0x93, 0x01, 0x21, 0x40, 0x6F, 0x0A, 0x1C, 0x04, 0xF2, 0x92, 0xFE, 0x01, 0x20, 0x02, 0xB0 - .byte 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7 - .byte 0xAF, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x0A, 0xFB, 0x01, 0x1C, 0x68, 0x6B - .byte 0x1A, 0xF0, 0xBE, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0xA0, 0xFE, 0x20, 0x1C, 0x00, 0x21 - .byte 0x1A, 0xF0, 0xD4, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 - .byte 0x0D, 0x68, 0xFA, 0xF7, 0x95, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0xF0, 0xFA - .byte 0x01, 0x1C, 0x68, 0x6B, 0x1A, 0xF0, 0xA4, 0xF8, 0x04, 0x1C, 0x01, 0xD1, 0xE2, 0xF7, 0x86, 0xFE - .byte 0x20, 0x1C, 0x01, 0x21, 0x1A, 0xF0, 0xBA, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x40, 0x6F - .byte 0x28, 0xF0, 0x72, 0xFC, 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x0C, 0x68, 0xFA, 0xF7, 0x75, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xB4, 0xFA - .byte 0x05, 0x1C, 0xE0, 0x68, 0xE7, 0xF7, 0x70, 0xFC, 0x00, 0x21, 0xE7, 0xF7, 0x9F, 0xFC, 0x28, 0x80 - .byte 0x00, 0x20, 0x38, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x62, 0xFE, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBC, 0xFA, 0x01, 0x1C, 0x60, 0x6F, 0x25, 0xF0, 0x68, 0xFB - .byte 0x01, 0x20, 0x10, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x52, 0xFE, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x90, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x0D, 0xF0 - .byte 0x81, 0xF9, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x40, 0xFE - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x7E, 0xFA, 0x04, 0x1C, 0x28, 0x1C - .byte 0xFA, 0xF7, 0x36, 0xFE, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x91, 0xFA, 0x05, 0x1C - .byte 0xDD, 0xF7, 0x0C, 0xFD, 0x29, 0x1C, 0xAD, 0xF0, 0x54, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFB, 0xF7, 0x62, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x1A, 0xFE, 0x80, 0x35, 0x01, 0x1C - .byte 0x28, 0x68, 0xFB, 0xF7, 0x75, 0xFA, 0x05, 0x1C, 0xDD, 0xF7, 0xF0, 0xFC, 0x29, 0x1C, 0xAD, 0xF0 - .byte 0x38, 0xEE, 0x21, 0x80, 0x01, 0x20, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x0C, 0x68, 0xFA, 0xF7, 0x05, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7 - .byte 0x43, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xFB, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0xFB, 0xF7, 0x56, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0xB5, 0xF1, 0xE6, 0xFC, 0x30, 0x80, 0x00, 0x20 - .byte 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xFA, 0xF7 - .byte 0xE7, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x42, 0xFA, 0x01, 0x1C, 0x28, 0x1C - .byte 0xB5, 0xF1, 0x20, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x0C, 0x68, 0xFA, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7 - .byte 0x2F, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xCB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFB, 0xF7, 0x25, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC1, 0xFD, 0x80, 0x35 - .byte 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0x1C, 0xFA, 0x31, 0x06, 0x3A, 0x06, 0x03, 0x1C, 0x20, 0x1C - .byte 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x5A, 0xFD, 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C - .byte 0x29, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xFA, 0xF7, 0xAB, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFB, 0xF7, 0x05, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA1, 0xFD, 0x01, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xFB, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7 - .byte 0x97, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFB, 0xF7, 0xF2, 0xF9, 0x31, 0x06, 0x3A, 0x06 - .byte 0x03, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x12, 0x0E, 0xB5, 0xF1, 0x18, 0xFD, 0x00, 0x20, 0xF8, 0xBD - .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x08, 0xF0, 0xC0, 0xF8, 0x82, 0x21, 0x09, 0x02 - .byte 0x21, 0xF0, 0x62, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x10, 0xB5, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68 - .byte 0x08, 0xF0, 0xB4, 0xF8, 0x01, 0x21, 0x21, 0xF0, 0xC5, 0xF8, 0xE0, 0x68, 0xEA, 0xF7, 0x2A, 0xFC - .byte 0x01, 0x21, 0xEA, 0xF7, 0x2D, 0xFC, 0x21, 0x1C, 0x98, 0x31, 0x08, 0x60, 0x20, 0x1C, 0x0A, 0xF0 - .byte 0x7B, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x60, 0xFD - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xBA, 0xF9, 0x07, 0x1C, 0x20, 0x1C - .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xB0, 0xF9 - .byte 0x00, 0x90, 0x20, 0x1C, 0xFA, 0xF7, 0x4C, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFB, 0xF7, 0xA6, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x43, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFB, 0xF7, 0x9D, 0xF9, 0x20, 0x1C, 0xFA, 0xF7, 0x3A, 0xFD, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x94, 0xF9, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21 - .byte 0xFB, 0xF7, 0x32, 0xF9, 0x05, 0x1C, 0x38, 0x1C, 0x10, 0x38, 0x0A, 0x28, 0x2D, 0xD8, 0x00, 0x18 - .byte 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x14, 0x00, 0x20, 0x00, 0x2C, 0x00 - .byte 0x3A, 0x00, 0x4E, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00, 0x3A, 0x00 - .byte 0x04, 0x20, 0x01, 0x26, 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x18, 0xE0, 0x04, 0x20, 0x01, 0x26 - .byte 0xEA, 0xF7, 0x8C, 0xFF, 0x28, 0x60, 0x12, 0xE0, 0x00, 0x98, 0x04, 0x21, 0x01, 0x26, 0xEA, 0xF7 - .byte 0x8B, 0xFF, 0x28, 0x60, 0x0B, 0xE0, 0x13, 0x3F, 0x38, 0x06, 0x00, 0x99, 0x00, 0x0E, 0x04, 0x22 - .byte 0x01, 0x26, 0xEA, 0xF7, 0x8B, 0xFF, 0x28, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x80, 0x34 - .byte 0x20, 0x68, 0x29, 0x68, 0x98, 0x30, 0x00, 0x68, 0x32, 0x1C, 0xEA, 0xF7, 0x43, 0xFC, 0x01, 0x20 - .byte 0xF8, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xE8, 0xFC - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x42, 0xF9, 0x04, 0x1C, 0x28, 0x1C - .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x38, 0xF9 - .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0xCC, 0xFD, 0xE8, 0xF7, 0xFE, 0xFE - .byte 0x21, 0x1C, 0x32, 0x1C, 0xE8, 0xF7, 0x86, 0xFF, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x05, 0x1C - .byte 0xFA, 0xF7, 0xC6, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0x20, 0xF9 - .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xBC, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFB, 0xF7, 0x16, 0xF9, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xFC, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF0, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68 - .byte 0xE9, 0xF7, 0xA0, 0xFD, 0xE8, 0xF7, 0xD2, 0xFE, 0x31, 0x1C, 0x3A, 0x1C, 0xE8, 0xF7, 0xF4, 0xFE - .byte 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x98, 0xFC - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xF2, 0xF8, 0x07, 0x1C, 0x28, 0x1C - .byte 0xFA, 0xF7, 0x8E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xE8, 0xF8 - .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFB, 0xF7, 0xC2, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x72, 0xFD - .byte 0xE8, 0xF7, 0xA4, 0xFE, 0x39, 0x1C, 0xE8, 0xF7, 0xE5, 0xFE, 0x86, 0x42, 0x01, 0xD8, 0x01, 0x20 - .byte 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C - .byte 0xFA, 0xF7, 0x66, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xC0, 0xF8 - .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x54, 0xFD, 0xE8, 0xF7, 0x86, 0xFE - .byte 0x21, 0x1C, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C - .byte 0xFA, 0xF7, 0x4E, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFB, 0xF7, 0xA8, 0xF8 - .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFB, 0xF7, 0x82, 0xF8, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE9, 0xF7, 0x32, 0xFD - .byte 0xE8, 0xF7, 0x64, 0xFE, 0x31, 0x1C, 0xE8, 0xF7, 0x9B, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD - .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xE1, 0xFC, 0x05, 0x1C - .byte 0x20, 0x1C, 0xFA, 0xF7, 0x25, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x64, 0xF8 - .byte 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xE6, 0xF7, 0x84, 0xF8, 0x01, 0x28, 0x01, 0xD1 - .byte 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xC0, 0x68, 0xE6, 0xF7, 0xC5, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x09, 0xFC, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0xFB, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C - .byte 0xE6, 0xF7, 0x5C, 0xF8, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xF5, 0xFF, 0x04, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0x4B, 0xFB, 0x20, 0x60 - .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x7A, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02 - .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x13, 0x21, 0xFA, 0xF7, 0xDD, 0xFF, 0x04, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x20, 0x21, 0x01, 0x22, 0xFA, 0xF7, 0x33, 0xFB, 0x20, 0x60 - .byte 0x02, 0x49, 0x28, 0x1C, 0xFA, 0xF7, 0x62, 0xFB, 0x01, 0x20, 0x38, 0xBD, 0x91, 0xBB, 0x03, 0x02 - .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0x82, 0xFB, 0x00, 0x20, 0x08, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0xFA, 0xFF, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x0E, 0xF2, 0xAA, 0xFB - .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xA8, 0xFB - .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0xE7, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x9C, 0xFB, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68 - .byte 0xEB, 0xF7, 0x62, 0xFD, 0x21, 0x1C, 0xEB, 0xF7, 0xEF, 0xFD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x8C, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x88, 0xFB - .byte 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x84, 0xFB, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x21, 0x1C, 0xFA, 0xF7, 0xC1, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x31, 0x1C - .byte 0xFA, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x3C, 0xFD - .byte 0x39, 0x1C, 0xEB, 0xF7, 0xFD, 0xFD, 0x03, 0x49, 0x01, 0x40, 0x09, 0x0C, 0x21, 0x80, 0x30, 0x80 - .byte 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xFF, 0xFF, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x60, 0xFB - .byte 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x5C, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x58, 0xFB - .byte 0xA9, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x22, 0x04, 0x14, 0x1C, 0x04, 0x43, 0x08, 0x78, 0x00, 0x28 - .byte 0x04, 0xD0, 0x01, 0x28, 0x0C, 0xD0, 0x02, 0x28, 0x14, 0xD0, 0x1C, 0xE0, 0x80, 0x35, 0x28, 0x68 - .byte 0xC0, 0x68, 0xEB, 0xF7, 0x11, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7, 0xB7, 0xFD, 0x12, 0xE0 - .byte 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0x07, 0xFD, 0x31, 0x1C, 0x22, 0x1C, 0xEB, 0xF7 - .byte 0x5D, 0xFD, 0x08, 0xE0, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xEB, 0xF7, 0xFD, 0xFC, 0x31, 0x1C - .byte 0x22, 0x1C, 0xEB, 0xF7, 0x69, 0xFD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0 - .byte 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xF6, 0xF7, 0x22, 0xFC, 0x07, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x59, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xC0, 0x68, 0xE3, 0xF7, 0x7E, 0xFF, 0xA9, 0x68, 0x01, 0x90, 0x48, 0x1C, 0xA8, 0x60 - .byte 0x0C, 0x78, 0x38, 0x1C, 0xF6, 0xF7, 0x06, 0xFC, 0x06, 0x1C, 0x38, 0x1C, 0xF6, 0xF7, 0x04, 0xFC - .byte 0x07, 0x1C, 0x00, 0x2C, 0x02, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x20, 0xE0, 0x00, 0x98, 0x20, 0xF0 - .byte 0xE1, 0xFD, 0x01, 0x98, 0x22, 0xF0, 0xCC, 0xFC, 0x1E, 0x20, 0x30, 0x80, 0x00, 0x20, 0x38, 0x80 - .byte 0x15, 0xE0, 0x00, 0x98, 0x20, 0xF0, 0xDE, 0xFD, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x22, 0xF0 - .byte 0x91, 0xFF, 0x04, 0x20, 0xEA, 0xF7, 0x6A, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0x01, 0x22 - .byte 0x98, 0x30, 0x00, 0x68, 0xEA, 0xF7, 0x36, 0xFA, 0x00, 0x20, 0x30, 0x80, 0x38, 0x80, 0x00, 0x20 - .byte 0x02, 0xB0, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x21, 0xF0, 0x6F, 0xFD, 0x01, 0x20 - .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78 - .byte 0xFA, 0xF7, 0xCE, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x0C, 0xFF - .byte 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x07, 0xF2, 0x1E, 0xF8, 0x30, 0x80, 0x01, 0x20 - .byte 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0xF0, 0xB1, 0xFB, 0x00, 0x20 - .byte 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xB2, 0xFA, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xFA - .byte 0x00, 0x21, 0x06, 0x1C, 0x41, 0x20, 0x0A, 0x1C, 0xC5, 0xF7, 0x28, 0xFE, 0x80, 0x35, 0x21, 0x88 - .byte 0x28, 0x68, 0x32, 0x1C, 0x06, 0xF2, 0xB2, 0xFD, 0x01, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C - .byte 0xFA, 0xF7, 0x96, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x92, 0xFA, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xD0, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C - .byte 0x06, 0xF2, 0x0E, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x82, 0x68 - .byte 0x51, 0x1C, 0x81, 0x60, 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0x80, 0x6B, 0x16, 0xF0, 0x10, 0xFF - .byte 0x01, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x07, 0xF0 - .byte 0xAD, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x6B, 0xFA, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0xFA, 0xF7, 0xAA, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0x20, 0xF0, 0x8E, 0xFF, 0x28, 0x80, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7 - .byte 0x0F, 0xFB, 0x07, 0x1C, 0x20, 0x1C, 0xFA, 0xF7, 0x53, 0xFA, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 - .byte 0xFA, 0xF7, 0x92, 0xFE, 0x00, 0x90, 0x38, 0x1C, 0xE5, 0xF7, 0x84, 0xFE, 0x04, 0x1C, 0xDD, 0xF7 - .byte 0x25, 0xF9, 0x21, 0x1C, 0xAD, 0xF0, 0x6C, 0xEA, 0x08, 0x04, 0x06, 0x0C, 0x00, 0x98, 0x19, 0x21 - .byte 0x01, 0x80, 0x01, 0x24, 0x00, 0x25, 0x38, 0x1C, 0x21, 0x1C, 0xE5, 0xF7, 0x19, 0xFF, 0x01, 0x28 - .byte 0x0C, 0xD1, 0x20, 0x1C, 0x2B, 0xF0, 0xBC, 0xF9, 0x00, 0x28, 0x07, 0xD0, 0xB5, 0x42, 0x02, 0xD1 - .byte 0x00, 0x98, 0x04, 0x80, 0x08, 0xE0, 0x68, 0x1C, 0x00, 0x04, 0x05, 0x0C, 0x60, 0x1C, 0x00, 0x04 - .byte 0x04, 0x0C, 0x02, 0x48, 0x84, 0x42, 0xE6, 0xD9, 0x00, 0x20, 0xF8, 0xBD, 0xED, 0x01, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x1C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0x76, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x4E, 0xFD - .byte 0x21, 0x1C, 0x20, 0xF0, 0xC7, 0xFE, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C - .byte 0xFA, 0xF7, 0x06, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x44, 0xFE - .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x07, 0xF0, 0x38, 0xFD, 0x20, 0xF0, 0xAA, 0xFE - .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 - .byte 0xEC, 0xF7, 0xD6, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0x68, 0x51, 0x1C, 0x81, 0x60 - .byte 0x80, 0x30, 0x00, 0x68, 0x11, 0x78, 0xC0, 0x68, 0x21, 0xF0, 0x12, 0xFE, 0x00, 0x20, 0x08, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7, 0xDD, 0xFD, 0xA9, 0x68 - .byte 0x04, 0x1C, 0x48, 0x1C, 0xA8, 0x60, 0x09, 0x78, 0x0B, 0x20, 0x09, 0xF2, 0xDF, 0xFF, 0x20, 0x60 - .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 - .byte 0xCB, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xC3, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0xFA, 0xF7, 0x02, 0xFE, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x18, 0xF8, 0x28, 0x80, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 - .byte 0xB3, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xAB, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0xFA, 0xF7, 0xEA, 0xFD, 0x05, 0x1C, 0x20, 0x68, 0x0A, 0xF2, 0x04, 0xF8, 0x28, 0x80, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21, 0xFA, 0xF7 - .byte 0x9B, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x93, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFA, 0xF7, 0xED, 0xFD, 0x02, 0x1C, 0x68, 0x6F, 0x21, 0x68, 0x0B, 0x23, 0x21, 0xF0 - .byte 0x37, 0xFF, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x14, 0x21 - .byte 0xFA, 0xF7, 0x82, 0xFD, 0x00, 0x68, 0x09, 0xF2, 0xC9, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 - .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x2A, 0xFA, 0xE6, 0xF7, 0xFE, 0xF9 - .byte 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x20, 0xFA - .byte 0xE6, 0xF7, 0xBE, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xAA, 0x68, 0x51, 0x1C - .byte 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x5C, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0x9A, 0xFD, 0x06, 0x1C, 0x00, 0x20, 0x30, 0x80, 0x01, 0x2C, 0x0F, 0xD1, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0x03, 0xFA, 0xE6, 0xF7, 0x73, 0xF9, 0x80, 0x35 - .byte 0x28, 0x68, 0xC0, 0x68, 0xE4, 0xF7, 0xA6, 0xFF, 0xE5, 0xF7, 0x72, 0xF8, 0x0C, 0xE0, 0x02, 0x2C - .byte 0x08, 0xD1, 0x80, 0x35, 0x28, 0x68, 0xC0, 0x68, 0xE6, 0xF7, 0xF2, 0xF9, 0xE6, 0xF7, 0x72, 0xF9 - .byte 0x30, 0x80, 0x01, 0xE0, 0xE2, 0xF7, 0x32, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF0, 0xB5, 0x83, 0xB0 - .byte 0x05, 0x1C, 0xFA, 0xF7, 0x2D, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7 - .byte 0x6B, 0xFD, 0x00, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x23, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFA, 0xF7, 0x7D, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0 - .byte 0x8D, 0xF8, 0x21, 0x1C, 0x2C, 0xF0, 0xD4, 0xFF, 0x05, 0x1C, 0x0D, 0x21, 0x00, 0x22, 0x28, 0xF0 - .byte 0xD5, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x0E, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xCF, 0xFB, 0x06, 0x1C - .byte 0x28, 0x1C, 0x0F, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xC9, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x10, 0x21 - .byte 0x00, 0x22, 0x28, 0xF0, 0xC3, 0xFB, 0x01, 0x90, 0x28, 0x1C, 0x11, 0x21, 0x00, 0x22, 0x28, 0xF0 - .byte 0xBD, 0xFB, 0x02, 0x90, 0x28, 0x1C, 0x12, 0x21, 0x00, 0x22, 0x28, 0xF0, 0xB7, 0xFB, 0xA1, 0x19 - .byte 0x7A, 0x18, 0x01, 0x99, 0x8A, 0x18, 0x02, 0x99, 0x89, 0x18, 0x41, 0x18, 0x00, 0x98, 0x01, 0x80 - .byte 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0xFA, 0xF7 - .byte 0xDF, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x1E, 0xFD, 0x04, 0x1C, 0x00, 0xA8 - .byte 0xD3, 0xF7, 0x18, 0xFE, 0x03, 0x98, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0x10, 0xBD, 0x00, 0x00 - .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0xCC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0x0A, 0xFD, 0x01, 0x1C, 0x60, 0x6F, 0x02, 0xF2, 0xA4, 0xFB, 0x01, 0x20, 0x10, 0xBD - .byte 0xF8, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0xBC, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0xFA, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xB2, 0xF8, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xF0, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0xA8, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x02, 0xFD, 0x80, 0x35, 0x07, 0x1C - .byte 0x28, 0x68, 0xC0, 0x68, 0x2D, 0xF0, 0x12, 0xF8, 0x39, 0x1C, 0x2C, 0xF0, 0x59, 0xFF, 0x05, 0x21 - .byte 0x00, 0x22, 0x28, 0xF0, 0x5B, 0xFB, 0x00, 0x04, 0x05, 0x0C, 0x28, 0x1C, 0xB7, 0xF1, 0x6C, 0xFB - .byte 0x20, 0x80, 0x28, 0x1C, 0xB7, 0xF1, 0x62, 0xFB, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 - .byte 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x84, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFA, 0xF7, 0xDE, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x09, 0x06, 0x20, 0x68, 0x09, 0x0E, 0x0D, 0xF2 - .byte 0x9D, 0xFB, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFA, 0xF7, 0x70, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xCA, 0xFC, 0x04, 0x1C, 0x28, 0x1C - .byte 0xFA, 0xF7, 0x66, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0xC0, 0xFC - .byte 0x02, 0x1C, 0x80, 0x35, 0x21, 0x06, 0x12, 0x06, 0x28, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x0D, 0xF2 - .byte 0xCF, 0xFC, 0x01, 0x20, 0x38, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0xA9, 0x68 - .byte 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78, 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0xFA, 0xF7, 0x48, 0xF8 - .byte 0x02, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x44, 0xF8, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x40, 0xF8 - .byte 0x00, 0x97, 0x80, 0x35, 0x01, 0x90, 0x28, 0x68, 0x02, 0x9B, 0x31, 0x1C, 0x22, 0x1C, 0x21, 0xF0 - .byte 0x09, 0xFE, 0x01, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0xFA, 0xF7, 0x30, 0xF8 - .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xFA, 0xF7, 0x6F, 0xFC, 0x0A, 0x21, 0x01, 0x80, 0x00, 0x20 - .byte 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x06, 0x68, 0x30, 0x1C - .byte 0xF8, 0xF7, 0xDC, 0xFD, 0xE4, 0xF7, 0x7E, 0xFE, 0x01, 0x90, 0x28, 0x1C, 0xFA, 0xF7, 0x18, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x56, 0xFC, 0x04, 0x1C, 0xF0, 0x68 - .byte 0xE3, 0xF7, 0x7E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x0A, 0xF8, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x64, 0xFC, 0x07, 0x1C, 0x28, 0x1C, 0xFA, 0xF7, 0x00, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x5A, 0xFC, 0x02, 0x90, 0x28, 0x1C - .byte 0xF9, 0xF7, 0xF6, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFA, 0xF7, 0x50, 0xFC - .byte 0x03, 0x90, 0x28, 0x1C, 0xF9, 0xF7, 0xEC, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xFA, 0xF7 - .byte 0x47, 0xFC, 0x00, 0x90, 0x01, 0x98, 0x02, 0x9A, 0x03, 0x9B, 0x39, 0x1C, 0x0E, 0xF2, 0x6E, 0xFA - .byte 0x05, 0x1C, 0x00, 0x20, 0xC0, 0x43, 0x85, 0x42, 0x01, 0xD0, 0x07, 0x2D, 0x04, 0xDD, 0xFF, 0x20 - .byte 0x20, 0x80, 0x04, 0xB0, 0x00, 0x20, 0xF8, 0xBD, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xDA, 0xFC - .byte 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x04, 0xE0, 0x30, 0x1C, 0x29, 0x1C, 0x2C, 0xF0, 0xC0, 0xFC - .byte 0x68, 0x1C, 0x20, 0x80, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C - .byte 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF9, 0xF7, 0xBA, 0xFF, 0x80, 0x35, 0x01, 0x1C - .byte 0x28, 0x68, 0xFA, 0xF7, 0xF9, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0xF3, 0xFF, 0xE7, 0xF7 - .byte 0x7D, 0xFE, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68 - .byte 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xC5, 0xFC, 0x00, 0x20 - .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C - .byte 0x81, 0x60, 0x11, 0x78, 0x18, 0x1C, 0x0D, 0xF2, 0xEF, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 - .byte 0x08, 0xB5, 0x01, 0x1C, 0x80, 0x31, 0x82, 0x68, 0x0B, 0x68, 0x51, 0x1C, 0x81, 0x60, 0x11, 0x78 - .byte 0x18, 0x1C, 0x0D, 0xF2, 0xE7, 0xFC, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 - thumb_func_start FUN_0203ED2C -FUN_0203ED2C: ; 0x0203ED2C - push {r4-r6, lr} - sub sp, #0x10 - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024DA0 - add r6, r0, #0x0 - mov r0, #0x20 - bl FUN_020669C0 - add r4, r0, #0x0 - bl FUN_02066978 + thumb_func_start FUN_0203DE4C +FUN_0203DE4C: ; 0x0203DE4C + push {r3, lr} + bl FUN_0224CA94 mov r0, #0x0 - str r0, [sp, #0x0] - str r0, [sp, #0x4] - str r0, [sp, #0x8] - str r0, [sp, #0xc] - add r0, r4, #0x0 - add r1, r5, #0x0 - mov r2, #0x32 - mov r3, #0x20 - bl FUN_02066ACC - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_0202498C - add r0, r4, #0x0 - bl FUN_02016A18 - add sp, #0x10 - pop {r4-r6, pc} + pop {r3, pc} .balign 4 - thumb_func_start FUN_0203ED70 -FUN_0203ED70: ; 0x0203ED70 + thumb_func_start FUN_0203DE58 +FUN_0203DE58: ; 0x0203DE58 push {r3-r5, lr} - add r5, r0, #0x0 + add r4, r0, #0x0 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r5, [r2, #0x0] bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 add r1, r0, #0x0 add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02022510 - bl FUN_0206B3E4 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - mov r0, #0x87 - lsl r0, r0, #0x2 - sub r0, r0, r1 - strh r0, [r4, #0x0] + bl FUN_0224CAA0 mov r0, #0x0 pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_0203EDA4 -FUN_0203EDA4: ; 0x0203EDA4 + thumb_func_start FUN_0203DE80 +FUN_0203DE80: ; 0x0203DE80 push {r3-r5, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x16 - bl FUN_02039438 add r4, r0, #0x0 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r5, [r2, #0x0] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0224CAB4 mov r0, #0x0 - add r5, #0x80 - str r0, [r4, #0x0] - ldr r0, [r5, #0x0] - bl FUN_021E7184 - str r0, [r4, #0x0] - mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203EDC8 -FUN_0203EDC8: ; 0x0203EDC8 + thumb_func_start FUN_0203DEA8 +FUN_0203DEA8: ; 0x0203DEA8 push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x16 - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_021E71E8 + sub sp, #0x8 + mov r3, #0x0 + str r3, [sp, #0x0] + str r3, [sp, #0x4] + mov r1, #0x1 + ldr r0, [r0, #0x74] + add r2, r1, #0x0 + bl FUN_02242BE0 mov r0, #0x1 + add sp, #0x8 pop {r3, pc} .balign 4 - thumb_func_start FUN_0203EDE0 -FUN_0203EDE0: ; 0x0203EDE0 - push {r4, lr} + thumb_func_start FUN_0203DEC4 +FUN_0203DEC4: ; 0x0203DEC4 + push {r3-r5, lr} add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r4, #0x0] bl FUN_020394F0 add r1, r0, #0x0 + ldr r0, [r5, #0x34] + bl FUN_02058060 + add r4, r0, #0x0 + bne _0203DEEC + bl FUN_02020C2C +_0203DEEC: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0205889C + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_0203DEF8 +FUN_0203DEF8: ; 0x0203DEF8 + push {r3-r5, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 add r4, #0x80 - lsl r1, r1, #0x18 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - lsr r1, r1, #0x18 - bl FUN_0224E554 - mov r0, #0x1 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0203EE08 -FUN_0203EE08: ; 0x0203EE08 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_0206486C + bl FUN_020394F0 + add r1, r0, #0x0 + ldr r0, [r5, #0x34] + bl FUN_02058060 + add r4, r0, #0x0 + bne _0203DF20 + bl FUN_02020C2C +_0203DF20: + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_0205889C mov r0, #0x0 - pop {r3, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_0203EE18 -FUN_0203EE18: ; 0x0203EE18 + thumb_func_start FUN_0203DF2C +FUN_0203DF2C: ; 0x0203DF2C push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020649D4 + ldr r0, [r0, #0x74] + bl FUN_02066818 mov r0, #0x1 pop {r3, pc} - .balign 4 - thumb_func_start FUN_0203EE28 -FUN_0203EE28: ; 0x0203EE28 + thumb_func_start FUN_0203DF38 +FUN_0203DF38: ; 0x0203DF38 push {r3-r5, lr} add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 add r5, #0x80 - add r4, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020649B0 - cmp r0, #0x0 - beq _0203EE4E - mov r0, #0x1 - b _0203EE50 -_0203EE4E: - mov r0, #0x0 -_0203EE50: - strh r0, [r4, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_02025838 + mov r1, #0x0 + bl FUN_0202589C + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_0203EE58 -FUN_0203EE58: ; 0x0203EE58 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_0224E764 - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0203EE68 -FUN_0203EE68: ; 0x0203EE68 - push {r3, lr} + thumb_func_start FUN_0203DF64 +FUN_0203DF64: ; 0x0203DF64 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_0224E7C4 + bl FUN_020394F0 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + bl FUN_02063650 mov r0, #0x1 - pop {r3, pc} - .balign 4 + pop {r4, pc} - thumb_func_start FUN_0203EE78 -FUN_0203EE78: ; 0x0203EE78 + thumb_func_start FUN_0203DF84 +FUN_0203DF84: ; 0x0203DF84 push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r5, #0x80 add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - add r1, r4, #0x0 - bl FUN_0202A170 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_0204B2A4 + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_0203EE98 -FUN_0203EE98: ; 0x0203EE98 - push {r4-r6, lr} + thumb_func_start FUN_0203DFA8 +FUN_0203DFA8: ; 0x0203DFA8 + push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 add r5, #0x80 - add r4, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206BAE4 - strh r0, [r4, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + bl FUN_0201B9EC + add r1, r5, #0x0 + blx FUN_020EBC80 + strh r1, [r4, #0x0] mov r0, #0x1 - pop {r4-r6, pc} + pop {r3-r5, pc} - thumb_func_start FUN_0203EED8 -FUN_0203EED8: ; 0x0203EED8 - push {r3-r7, lr} - sub sp, #0x8 - add r4, r0, #0x0 + thumb_func_start FUN_0203DFE0 +FUN_0203DFE0: ; 0x0203DFE0 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] bl FUN_020394F0 - add r1, sp, #0x4 - strh r0, [r1, #0x0] - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - str r0, [sp, #0x0] - bl FUN_0206B9AC - add r4, #0x80 - add r6, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 - add r7, r0, #0x0 - mov r5, #0x0 - cmp r6, #0x0 - ble _0203EF4E -_0203EF18: - ldr r0, [sp, #0x0] + add r5, r0, #0x0 + bl FUN_0201B9EC add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x5 - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - ldr r1, _0203EF54 ; =0x00000182 - cmp r0, r1 - bne _0203EF48 - add r0, r4, #0x0 - mov r1, #0x70 - add r2, sp, #0x4 - bl FUN_02067830 - add r0, r4, #0x0 - bl FUN_02066ED8 - add r0, r7, #0x0 - add r1, r4, #0x0 - bl FUN_02024AF0 -_0203EF48: - add r5, r5, #0x1 - cmp r5, r6 - blt _0203EF18 -_0203EF4E: + blx FUN_020EBC80 + strh r1, [r4, #0x0] mov r0, #0x1 - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 -_0203EF54: .word 0x00000182 + pop {r3-r5, pc} - thumb_func_start FUN_0203EF58 -FUN_0203EF58: ; 0x0203EF58 - push {r3-r7, lr} - sub sp, #0x30 - add r4, r0, #0x0 + thumb_func_start FUN_0203E018 +FUN_0203E018: ; 0x0203E018 + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, #0x80 - str r0, [sp, #0x0] - ldr r0, [r4, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - str r0, [sp, #0xc] - bl FUN_0206B9AC - add r2, sp, #0x18 - mov r4, #0x0 - ldr r3, _0203F008 ; =0x020F34FC - str r0, [sp, #0x8] - add r7, r2, #0x0 - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [sp, #0x8] - str r4, [sp, #0x4] - cmp r0, #0x0 - ble _0203EFFC - mov r5, #0x1 - str r7, [sp, #0x14] -_0203EFA2: - ldr r0, [sp, #0xc] - add r1, r4, #0x0 - bl FUN_0206B9B0 add r6, r0, #0x0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC - str r0, [sp, #0x10] - add r0, r6, #0x0 - mov r1, #0x70 - mov r2, #0x0 - bl FUN_020671BC - add r3, r0, #0x0 - mov r0, #0x67 - ldr r1, [sp, #0x10] - lsl r0, r0, #0x2 - cmp r1, r0 - bne _0203EFF2 - mov r2, #0x0 - add r1, r2, #0x0 - str r3, [r7, #0x0] - cmp r4, #0x0 - ble _0203EFE8 - ldr r6, [sp, #0x14] -_0203EFD8: - ldr r0, [r6, #0x0] - cmp r3, r0 - bne _0203EFE0 - add r2, r5, #0x0 -_0203EFE0: - add r1, r1, #0x1 - add r6, r6, #0x4 - cmp r1, r4 - blt _0203EFD8 -_0203EFE8: - cmp r2, #0x0 - bne _0203EFF2 - ldr r0, [sp, #0x4] - add r0, r0, #0x1 - str r0, [sp, #0x4] -_0203EFF2: - ldr r0, [sp, #0x8] - add r4, r4, #0x1 - add r7, r7, #0x4 - cmp r4, r0 - blt _0203EFA2 -_0203EFFC: - ldr r1, [sp, #0x4] - ldr r0, [sp, #0x0] - strh r1, [r0, #0x0] - mov r0, #0x1 - add sp, #0x30 - pop {r3-r7, pc} - .balign 4 -_0203F008: .word 0x020F34FC - - thumb_func_start FUN_0203F00C -FUN_0203F00C: ; 0x0203F00C - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F1C4 - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_0203F020 -FUN_0203F020: ; 0x0203F020 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F1D4 - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_0203F034 -FUN_0203F034: ; 0x0203F034 - push {r4, lr} - add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0x10] - bl FUN_020389CC - mov r0, #0x1 - pop {r4, pc} + add r0, r4, #0x0 + bl FUN_021F3A18 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0203F058 -FUN_0203F058: ; 0x0203F058 + thumb_func_start FUN_0203E054 +FUN_0203E054: ; 0x0203E054 push {r3-r5, lr} add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 add r4, #0x80 - add r5, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_0204B2D8 - strh r0, [r5, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_021F3AB4 mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_0203F07C -FUN_0203F07C: ; 0x0203F07C + thumb_func_start FUN_0203E078 +FUN_0203E078: ; 0x0203E078 push {r3-r7, lr} - sub sp, #0x10 add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -123867,16 +132019,30 @@ FUN_0203F07C: ; 0x0203F07C add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0xc] + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - str r0, [sp, #0x8] - add r0, r5, #0x0 + lsl r1, r6, #0x18 + lsl r2, r7, #0x18 + add r3, r0, #0x0 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + bl FUN_021F3B7C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_0203E0CC +FUN_0203E0CC: ; 0x0203E0CC + push {r3-r7, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 @@ -123891,30 +132057,60 @@ FUN_0203F07C: ; 0x0203F07C add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 + add r7, r0, #0x0 add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + lsl r1, r6, #0x18 + lsl r2, r7, #0x18 + add r3, r0, #0x0 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + bl FUN_021F3B4C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_0203E120 +FUN_0203E120: ; 0x0203E120 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - add r1, r7, #0x0 - ldr r0, [r0, #0x34] - bl FUN_02058060 - add r7, r0, #0x0 - bne _0203F0FA - bl FUN_02020C2C -_0203F0FA: - str r6, [sp, #0x0] - str r4, [sp, #0x4] - ldr r0, [r5, #0x74] - ldr r2, [sp, #0xc] - ldr r3, [sp, #0x8] - add r1, r7, #0x0 - bl FUN_02054F50 - mov r0, #0x1 - add sp, #0x10 - pop {r3-r7, pc} + ldr r0, [r0, #0xc] + bl FUN_020462AC + mov r1, #0x82 + lsl r1, r1, #0x8 + bl FUN_0205F3F8 + mov r0, #0x0 + pop {r3, pc} - thumb_func_start FUN_0203F110 -FUN_0203F110: ; 0x0203F110 + thumb_func_start FUN_0203E138 +FUN_0203E138: ; 0x0203E138 + push {r4, lr} + add r0, #0x80 + ldr r4, [r0, #0x0] + ldr r0, [r4, #0xc] + bl FUN_020462AC + mov r1, #0x1 + bl FUN_0205F2D4 + ldr r0, [r4, #0xc] + bl FUN_020289A4 + mov r1, #0x1 + bl FUN_020289B0 + add r1, r4, #0x0 + add r1, #0x98 + str r0, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_02048C58 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0203E168 +FUN_0203E168: ; 0x0203E168 push {r3-r7, lr} add r4, r0, #0x0 bl FUN_02038C30 @@ -123923,7 +132119,7 @@ FUN_0203F110: ; 0x0203F110 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 + add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -123931,7 +132127,7 @@ FUN_0203F110: ; 0x0203F110 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -123939,263 +132135,99 @@ FUN_0203F110: ; 0x0203F110 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - add r1, r5, #0x0 - ldr r0, [r0, #0x34] - bl FUN_02058060 - add r5, r0, #0x0 - bne _0203F164 - bl FUN_02020C2C -_0203F164: - ldr r0, [r4, #0x74] - add r1, r5, #0x0 - add r2, r7, #0x0 - add r3, r6, #0x0 - bl FUN_0205502C - mov r0, #0x1 - pop {r3-r7, pc} - - thumb_func_start FUN_0203F174 -FUN_0203F174: ; 0x0203F174 - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02054E30 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0203F19C -FUN_0203F19C: ; 0x0203F19C - push {r4-r7, lr} - sub sp, #0x24 - add r4, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, #0x80 - str r0, [sp, #0x0] - ldr r0, [r4, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02027E24 - bl FUN_0202708C - mov r6, #0x0 - add r7, r0, #0x0 - add r4, r6, #0x0 - add r5, sp, #0x4 -_0203F1CA: - add r1, r4, #0x0 - add r0, r7, #0x0 - add r1, #0x22 - mov r2, #0x1 - bl FUN_020270D8 - cmp r0, #0x1 - bne _0203F1E0 - mov r0, #0x1 - strh r0, [r5, #0x0] - add r6, r6, #0x1 -_0203F1E0: - add r4, r4, #0x1 - add r5, r5, #0x2 - cmp r4, #0x10 - blt _0203F1CA - cmp r6, #0x0 - bne _0203F1F8 - ldr r0, [sp, #0x0] - ldr r1, _0203F230 ; =0x0000FFFF - add sp, #0x24 - strh r1, [r0, #0x0] - mov r0, #0x0 - pop {r4-r7, pc} -_0203F1F8: - bl FUN_0201B9EC - add r1, r6, #0x0 - blx FUN_020EBC80 - mov r4, #0x0 - add r2, sp, #0x4 -_0203F206: - ldrh r0, [r2, #0x0] - cmp r0, #0x1 - bne _0203F212 - cmp r1, #0x0 - beq _0203F21A - sub r1, r1, #0x1 -_0203F212: - add r4, r4, #0x1 - add r2, r2, #0x2 - cmp r4, #0x10 - blt _0203F206 -_0203F21A: - cmp r4, #0x10 - blt _0203F222 - bl FUN_02020C2C -_0203F222: - ldr r0, [sp, #0x0] - add r4, #0x22 - strh r4, [r0, #0x0] - mov r0, #0x0 - add sp, #0x24 - pop {r4-r7, pc} - nop -_0203F230: .word 0x0000FFFF - - thumb_func_start FUN_0203F234 -FUN_0203F234: ; 0x0203F234 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 - ldr r1, _0203F250 ; =0x021C4918 - ldrb r1, [r1, #0x6] - strh r1, [r0, #0x0] - mov r0, #0x1 - pop {r4, pc} - .balign 4 -_0203F250: .word 0x021C4918 - - thumb_func_start FUN_0203F254 -FUN_0203F254: ; 0x0203F254 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - mov r1, #0x0 - bl FUN_0205F698 - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0203F26C -FUN_0203F26C: ; 0x0203F26C - push {r4-r6, lr} - add r5, r0, #0x0 + bl FUN_020394F0 + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r5, #0x80 - ldr r0, [r5, #0x0] - ldrb r4, [r1, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - cmp r4, #0x0 - beq _0203F2A0 - add r1, r6, #0x0 - bl FUN_0205F4E4 - b _0203F2A6 -_0203F2A0: - add r1, r6, #0x0 - bl FUN_0205F50C -_0203F2A6: - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0203F2AC -FUN_0203F2AC: ; 0x0203F2AC - push {r4-r6, lr} - add r5, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B6D0 - mov r0, #0x1 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0203F2E4 -FUN_0203F2E4: ; 0x0203F2E4 - push {r3-r5, lr} - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 + add r0, r7, #0x0 + sub r0, #0x10 + cmp r0, #0xa + bhi _0203E23A + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203E1EA: ; jump table (using 16-bit offset) + .short _0203E200 - _0203E1EA - 2; case 0 + .short _0203E20C - _0203E1EA - 2; case 1 + .short _0203E218 - _0203E1EA - 2; case 2 + .short _0203E226 - _0203E1EA - 2; case 3 + .short _0203E23A - _0203E1EA - 2; case 4 + .short _0203E226 - _0203E1EA - 2; case 5 + .short _0203E226 - _0203E1EA - 2; case 6 + .short _0203E226 - _0203E1EA - 2; case 7 + .short _0203E226 - _0203E1EA - 2; case 8 + .short _0203E226 - _0203E1EA - 2; case 9 + .short _0203E226 - _0203E1EA - 2; case 10 +_0203E200: + mov r0, #0x4 + mov r6, #0x1 + bl FUN_02029120 + str r0, [r5, #0x0] + b _0203E23E +_0203E20C: + mov r0, #0x4 + mov r6, #0x1 + bl FUN_0202912C + str r0, [r5, #0x0] + b _0203E23E +_0203E218: + ldr r0, [sp, #0x0] + mov r1, #0x4 + mov r6, #0x1 + bl FUN_02029138 + str r0, [r5, #0x0] + b _0203E23E +_0203E226: + sub r7, #0x13 + lsl r0, r7, #0x18 + ldr r1, [sp, #0x0] + lsr r0, r0, #0x18 + mov r2, #0x4 + mov r6, #0x1 + bl FUN_0202914C + str r0, [r5, #0x0] + b _0203E23E +_0203E23A: + mov r0, #0x1 + pop {r3-r7, pc} +_0203E23E: add r4, #0x80 - add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0205F6C8 - cmp r0, #0xa - blo _0203F314 + ldr r1, [r5, #0x0] + add r0, #0x98 + ldr r0, [r0, #0x0] + add r2, r6, #0x0 + bl FUN_02028AD4 mov r0, #0x1 - b _0203F316 -_0203F314: - mov r0, #0x0 -_0203F316: - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_0203F31C -FUN_0203F31C: ; 0x0203F31C - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F648 - strh r0, [r4, #0x0] + thumb_func_start FUN_0203E254 +FUN_0203E254: ; 0x0203E254 mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 + bx lr - thumb_func_start FUN_0203F348 -FUN_0203F348: ; 0x0203F348 + thumb_func_start FUN_0203E258 +FUN_0203E258: ; 0x0203E258 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -124220,32 +132252,52 @@ FUN_0203F348: ; 0x0203F348 bl FUN_0202708C add r1, r4, #0x0 add r2, r6, #0x0 - bl FUN_02027210 + bl FUN_020271A4 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_0203F38C -FUN_0203F38C: ; 0x0203F38C - push {r3, lr} + thumb_func_start FUN_0203E29C +FUN_0203E29C: ; 0x0203E29C + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02046030 - mov r0, #0x1 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0203F39C -FUN_0203F39C: ; 0x0203F39C - push {r3, lr} + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0205F668 + bl FUN_02027E24 + bl FUN_0202708C + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_020270D8 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3, pc} + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_0203F3AC -FUN_0203F3AC: ; 0x0203F3AC + thumb_func_start FUN_0203E2F8 +FUN_0203E2F8: ; 0x0203E2F8 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -124253,8 +132305,8 @@ FUN_0203F3AC: ; 0x0203F3AC add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -124262,38 +132314,36 @@ FUN_0203F3AC: ; 0x0203F3AC add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 + bl FUN_020394B8 add r5, #0x80 - add r6, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02013B5C - bl FUN_02013B74 - cmp r0, #0x20 - bne _0203F3FE - ldr r0, _0203F414 ; =0x0000FFFF - strh r0, [r4, #0x0] + bl FUN_02027E24 + bl FUN_0202708C + add r1, r7, #0x0 + bl FUN_02027114 + cmp r6, r0 + bhi _0203E352 + mov r0, #0x1 + b _0203E354 +_0203E352: mov r0, #0x0 - pop {r3-r7, pc} -_0203F3FE: +_0203E354: strh r0, [r4, #0x0] - bl FUN_02013BE4 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r7, #0x0 - bl FUN_0200B518 mov r0, #0x0 pop {r3-r7, pc} - nop -_0203F414: .word 0x0000FFFF + .balign 4 - thumb_func_start FUN_0203F418 -FUN_0203F418: ; 0x0203F418 + thumb_func_start FUN_0203E35C +FUN_0203E35C: ; 0x0203E35C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -124301,32 +132351,57 @@ FUN_0203F418: ; 0x0203F418 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02013B5C - bl FUN_02013BC8 - cmp r0, #0x1 - bne _0203F444 - mov r0, #0x1 - b _0203F446 -_0203F444: + bl FUN_02027E24 + bl FUN_0202708C + add r1, r4, #0x0 + bl FUN_02027264 mov r0, #0x0 -_0203F446: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203E38C +FUN_0203E38C: ; 0x0203E38C + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02027E24 + bl FUN_0202708C + add r1, r6, #0x0 + bl FUN_02027100 strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r6, pc} - thumb_func_start FUN_0203F44C -FUN_0203F44C: ; 0x0203F44C + thumb_func_start FUN_0203E3D0 +FUN_0203E3D0: ; 0x0203E3D0 push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_020462AC + bl FUN_02024DA0 add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 @@ -124335,350 +132410,332 @@ FUN_0203F44C: ; 0x0203F44C ldr r0, [r4, #0x0] bl FUN_020394B8 add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x0] add r0, r5, #0x0 - bl FUN_0205F710 - cmp r0, #0x5 - blo _0203F47C + bl FUN_02024504 + cmp r0, #0x1 + bne _0203E404 mov r0, #0x1 - b _0203F47E -_0203F47C: - mov r0, #0x0 -_0203F47E: strh r0, [r4, #0x0] +_0203E404: mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_0203F484 -FUN_0203F484: ; 0x0203F484 - push {r3-r7, lr} + thumb_func_start FUN_0203E408 +FUN_0203E408: ; 0x0203E408 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r4, #0x0] bl FUN_020394B8 - add r5, #0x80 - ldr r5, [r5, #0x0] add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02023788 - add r7, r0, #0x0 - bl FUN_02023818 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204B2B4 - cmp r6, r0 - bne _0203F4CE - add r0, r7, #0x0 - bl FUN_0202381C - add r6, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x0] add r0, r5, #0x0 - bl FUN_0204B2C0 - cmp r6, r0 - bne _0203F4CE + bl FUN_020244EC + cmp r0, #0x1 + bne _0203E43C mov r0, #0x1 strh r0, [r4, #0x0] - b _0203F4D2 -_0203F4CE: - mov r0, #0x0 - strh r0, [r4, #0x0] -_0203F4D2: +_0203E43C: mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_0203F4D8 -FUN_0203F4D8: ; 0x0203F4D8 + thumb_func_start FUN_0203E440 +FUN_0203E440: ; 0x0203E440 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 + mov r1, #0x13 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0202471C - strh r0, [r5, #0x0] - mov r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x20 + mov r2, #0x0 + bl FUN_02038AF4 + str r0, [r4, #0x0] + ldr r1, _0203E46C ; =FUN_0203BB90 + add r0, r5, #0x0 + bl FUN_02038B5C + mov r0, #0x1 pop {r3-r5, pc} .balign 4 +_0203E46C: .word FUN_0203BB90 + 1 - thumb_func_start FUN_0203F508 -FUN_0203F508: ; 0x0203F508 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r6, #0x0 + thumb_func_start FUN_0203E470 +FUN_0203E470: ; 0x0203E470 + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r6, #0x0 + mov r1, #0x13 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r1, r6, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r2, [r1, #0x1c] - ldr r1, [r2, #0x8] - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - ldr r1, [r2, #0xc] - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r7, #0x3 - blo _0203F54C - ldr r7, _0203F5C8 ; =0x0000010E - b _0203F582 -_0203F54C: - cmp r0, #0x1e - blo _0203F556 - mov r7, #0x43 - lsl r7, r7, #0x2 - b _0203F582 -_0203F556: - bl FUN_0201B9EC - mov r1, #0x64 - blx FUN_020EBC80 - cmp r1, #0x19 - bge _0203F568 - ldr r7, _0203F5CC ; =0x0000010D - b _0203F582 -_0203F568: - bl FUN_0201B9EC - mov r1, #0x6 - blx FUN_020EBC80 - lsl r0, r1, #0x10 - lsr r1, r0, #0x10 - mov r0, #0x6 - mul r0, r7 - add r0, r1, r0 - lsl r1, r0, #0x1 - ldr r0, _0203F5D0 ; =0x020F3538 - ldrh r7, [r0, r1] -_0203F582: - cmp r5, #0xb - bne _0203F59A - cmp r4, #0x1 - bne _0203F58E - mov r4, #0x0 - b _0203F5A4 -_0203F58E: - cmp r4, #0x14 - bne _0203F596 - mov r4, #0x2 - b _0203F5A4 -_0203F596: - mov r4, #0x5 - b _0203F5A4 -_0203F59A: - cmp r5, #0x14 - bne _0203F5A2 - mov r4, #0x1 - b _0203F5A4 -_0203F5A2: - mov r4, #0x3 -_0203F5A4: - mov r5, #0x0 -_0203F5A6: - cmp r5, r4 - beq _0203F5B8 - add r0, r6, #0x0 + mov r1, #0x20 + mov r2, #0x1 + bl FUN_02038AF4 + str r0, [r4, #0x0] + ldr r1, _0203E49C ; =FUN_0203BB90 + add r0, r5, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_0203E49C: .word FUN_0203BB90 + 1 + + thumb_func_start FUN_0203E4A0 +FUN_0203E4A0: ; 0x0203E4A0 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - add r1, r5, #0x0 - add r2, r7, #0x0 - bl FUN_02034C24 -_0203F5B8: - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x4 - blo _0203F5A6 + ldr r0, [r0, #0xc] + bl FUN_0224CBB0 mov r0, #0x0 - pop {r3-r7, pc} - nop -_0203F5C8: .word 0x0000010E -_0203F5CC: .word 0x0000010D -_0203F5D0: .word 0x020F3538 + pop {r3, pc} - thumb_func_start FUN_0203F5D4 -FUN_0203F5D4: ; 0x0203F5D4 + thumb_func_start FUN_0203E4B0 +FUN_0203E4B0: ; 0x0203E4B0 push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0205F720 - strh r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0224CC24 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203F604 -FUN_0203F604: ; 0x0203F604 - push {r3-r5, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC + thumb_func_start FUN_0203E4D8 +FUN_0203E4D8: ; 0x0203E4D8 + push {r4, lr} add r4, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 + add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + ldr r0, [r4, #0x0] bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0205F740 - strh r0, [r5, #0x0] mov r0, #0x0 - pop {r3-r5, pc} + pop {r4, pc} .balign 4 - thumb_func_start FUN_0203F634 -FUN_0203F634: ; 0x0203F634 + thumb_func_start FUN_0203E4F0 +FUN_0203E4F0: ; 0x0203E4F0 push {r3-r5, lr} add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - add r4, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0205F760 - strh r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r1, r4, #0x0 + bl FUN_0202A0E8 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203F664 -FUN_0203F664: ; 0x0203F664 + thumb_func_start FUN_0203E510 +FUN_0203E510: ; 0x0203E510 push {r3-r7, lr} - sub sp, #0x8 add r5, r0, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r6, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + add r1, r4, #0x0 bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 - mov r2, #0x0 - add r3, sp, #0x0 - add r0, #0x8 -_0203F684: - ldr r6, [r0, #0x0] - ldr r1, [r5, #0x8] - add r6, r6, #0x1 - str r6, [r0, #0x0] - ldrb r1, [r1, #0x0] - add r2, r2, #0x1 - strb r1, [r3, #0x0] - add r3, r3, #0x1 - cmp r2, #0x5 - blt _0203F684 - ldr r1, [r0, #0x0] - ldr r2, [r5, #0x8] - add r1, r1, #0x1 - str r1, [r0, #0x0] - ldrb r6, [r2, #0x0] - mov r0, #0x4 - bl FUN_02027E5C - add r1, sp, #0x0 - add r2, r6, #0x0 - mov r3, #0x0 - add r7, r0, #0x0 - bl FUN_02027F04 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl FUN_020394B8 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02028048 + bl FUN_02029FC8 add r1, r7, #0x0 - bl FUN_02028094 - add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02016A18 - ldr r0, _0203F6E0 ; =0x0000FFFF - cmp r5, r0 - bne _0203F6D8 - strh r0, [r4, #0x0] - b _0203F6DA -_0203F6D8: - strh r6, [r4, #0x0] -_0203F6DA: + bl FUN_0202A150 + ldr r1, _0203E564 ; =0xFFFF0000 + and r1, r0 + lsr r1, r1, #0x10 + strh r1, [r4, #0x0] + strh r0, [r6, #0x0] mov r0, #0x0 - add sp, #0x8 pop {r3-r7, pc} .balign 4 -_0203F6E0: .word 0x0000FFFF +_0203E564: .word 0xFFFF0000 - thumb_func_start FUN_0203F6E4 -FUN_0203F6E4: ; 0x0203F6E4 - push {r3-r5, lr} + thumb_func_start FUN_0203E568 +FUN_0203E568: ; 0x0203E568 + push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + ldr r1, [r5, #0x8] + add r2, r1, #0x1 + str r2, [r5, #0x8] + lsl r2, r4, #0x10 + add r4, r2, #0x0 + orr r4, r0 + ldrb r0, [r1, #0x0] + cmp r0, #0x0 + beq _0203E59C + cmp r0, #0x1 + beq _0203E5B0 + cmp r0, #0x2 + beq _0203E5C4 + b _0203E5D6 +_0203E59C: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0202A11C + b _0203E5D6 +_0203E5B0: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0202A07C + b _0203E5D6 +_0203E5C4: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0202A0A8 +_0203E5D6: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0203E5DC +FUN_0203E5DC: ; 0x0203E5DC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02034E30 + add r7, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + ldr r0, [r0, #0xc] + bl FUN_020462AC + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022504 + ldr r1, [r5, #0x8] + str r0, [sp, #0x4] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r4, [r1, #0x0] + add r0, r7, #0x0 + bl FUN_02034E24 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02034E28 + add r7, r0, #0x0 + cmp r4, #0x0 + beq _0203E62C + cmp r4, #0x1 + beq _0203E642 + b _0203E66E +_0203E62C: + ldr r0, [sp, #0x0] + bl FUN_0205F1F4 + ldr r0, [sp, #0x4] + bl FUN_02060FD0 + mov r0, #0x1e + strh r0, [r6, #0x0] + mov r0, #0x0 + strh r0, [r7, #0x0] + b _0203E66E +_0203E642: + ldr r0, [sp, #0x0] + bl FUN_0205F204 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02061574 + mov r0, #0x4 + bl FUN_0202912C add r5, #0x80 - add r4, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02028048 - bl FUN_02028074 - ldr r1, _0203F71C ; =0x0000FFFF - cmp r0, r1 - bne _0203F712 + mov r2, #0x1 + add r0, #0x98 + ldr r0, [r0, #0x0] + bl FUN_02028AD4 mov r0, #0x0 - b _0203F714 -_0203F712: - mov r0, #0x1 -_0203F714: - strh r0, [r4, #0x0] + strh r0, [r6, #0x0] + strh r0, [r7, #0x0] +_0203E66E: mov r0, #0x0 - pop {r3-r5, pc} - nop -_0203F71C: .word 0x0000FFFF + add sp, #0x8 + pop {r3-r7, pc} - thumb_func_start FUN_0203F720 -FUN_0203F720: ; 0x0203F720 + thumb_func_start FUN_0203E674 +FUN_0203E674: ; 0x0203E674 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_0206015C + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203E684 +FUN_0203E684: ; 0x0203E684 push {r4-r6, lr} add r5, r0, #0x0 ldr r2, [r5, #0x8] @@ -124694,73 +132751,25 @@ FUN_0203F720: ; 0x0203F720 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - add r5, r0, #0x0 - cmp r4, #0x3 - bls _0203F752 - bl FUN_02020C2C -_0203F752: - add r0, r5, #0x0 add r1, r4, #0x0 - bl FUN_0205F4A0 + bl FUN_022456E8 strh r0, [r6, #0x0] - mov r0, #0x0 + mov r0, #0x1 pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0203F760 -FUN_0203F760: ; 0x0203F760 - push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + thumb_func_start FUN_0203E6B4 +FUN_0203E6B4: ; 0x0203E6B4 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - mov r1, #0x20 - ldr r0, [r0, #0xc] - add r2, sp, #0x0 - bl FUN_02022534 - ldr r1, [sp, #0x0] - add r4, r0, #0x0 - cmp r1, #0x0 - bne _0203F798 - mov r1, #0x0 - strh r1, [r5, #0x0] - bl FUN_02016A18 - mov r0, #0x1 - pop {r3-r5, pc} -_0203F798: - cmp r1, #0x1 - bne _0203F7AE - mov r1, #0x0 - bl FUN_0202B21C - strh r0, [r5, #0x0] - add r0, r4, #0x0 - bl FUN_02016A18 - mov r0, #0x1 - pop {r3-r5, pc} -_0203F7AE: - cmp r1, #0x2 - bne _0203F7BE - mov r1, #0x0 - strh r1, [r5, #0x0] - bl FUN_02016A18 - mov r0, #0x1 - pop {r3-r5, pc} -_0203F7BE: + bl FUN_02064E20 mov r0, #0x0 - strh r0, [r5, #0x0] - mov r0, #0x1 - pop {r3-r5, pc} + pop {r3, pc} .balign 4 - thumb_func_start FUN_0203F7C8 -FUN_0203F7C8: ; 0x0203F7C8 + thumb_func_start FUN_0203E6C4 +FUN_0203E6C4: ; 0x0203E6C4 push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -124768,171 +132777,62 @@ FUN_0203F7C8: ; 0x0203F7C8 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x13 - bl FUN_02039438 - add r1, r5, #0x0 - add r1, #0x80 + bl FUN_020394B8 add r4, r0, #0x0 - ldr r1, [r1, #0x0] - mov r0, #0x20 - add r2, r6, #0x0 - bl FUN_02037A48 - str r0, [r4, #0x0] - ldr r1, _0203F808 ; =FUN_0203BC04 add r0, r5, #0x0 - bl FUN_02038B5C + bl FUN_02038C30 + mov r1, #0x0 + add r6, r0, #0x0 + mov r0, #0x41 + add r2, r1, #0x0 + bl FUN_0200433C + add r5, #0x80 + ldrh r1, [r4, #0x0] + ldr r0, [r5, #0x0] + add r2, r6, #0x0 + bl FUN_0224525C mov r0, #0x1 pop {r4-r6, pc} - .balign 4 -_0203F808: .word FUN_0203BC04 + 1 - thumb_func_start FUN_0203F80C -FUN_0203F80C: ; 0x0203F80C + thumb_func_start FUN_0203E6FC +FUN_0203E6FC: ; 0x0203E6FC push {r4-r6, lr} - add r4, r0, #0x0 + add r5, r0, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 add r6, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - mov r1, #0x13 - bl FUN_02039438 + add r5, #0x80 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - bne _0203F84C - bl FUN_02020C2C -_0203F84C: - ldr r0, [r4, #0x0] - bl FUN_02037A40 - strh r0, [r6, #0x0] - ldrh r0, [r6, #0x0] - cmp r0, #0x7 - bne _0203F85E - mov r0, #0xff - strh r0, [r6, #0x0] -_0203F85E: - ldr r0, [r4, #0x0] - bl FUN_02037A70 - strh r0, [r5, #0x0] - ldrh r0, [r5, #0x0] - cmp r0, #0x1 - bne _0203F870 - mov r0, #0x1 - b _0203F872 -_0203F870: - mov r0, #0x0 -_0203F872: - strh r0, [r5, #0x0] - ldr r0, [r4, #0x0] - bl FUN_02016A18 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl FUN_02245340 + strh r0, [r4, #0x0] mov r0, #0x0 - str r0, [r4, #0x0] pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0203F880 -FUN_0203F880: ; 0x0203F880 - push {r3-r5, lr} - add r5, r0, #0x0 - ldr r2, [r5, #0x8] + thumb_func_start FUN_0203E72C +FUN_0203E72C: ; 0x0203E72C + push {r3, lr} + ldr r2, [r0, #0x8] add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r4, [r2, #0x0] - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - cmp r4, #0x64 - bls _0203F8A2 - mov r4, #0x64 -_0203F8A2: - bl FUN_0201B9EC - mov r1, #0x65 - blx FUN_020EBC80 - lsl r0, r1, #0x10 - lsr r0, r0, #0x10 - cmp r0, r4 - bgt _0203F8B8 - mov r0, #0x1 - b _0203F8BA -_0203F8B8: - mov r0, #0x0 -_0203F8BA: - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_0203F8C0 -FUN_0203F8C0: ; 0x0203F8C0 - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 + str r1, [r0, #0x8] add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - cmp r4, #0x0 - beq _0203F8FC - cmp r4, #0x1 - beq _0203F906 - cmp r4, #0x2 - beq _0203F910 - b _0203F91A -_0203F8FC: - mov r2, #0x0 - mov r3, #0x20 - bl FUN_0224F12C - b _0203F91E -_0203F906: - mov r2, #0x1 - mov r3, #0x20 - bl FUN_0224F12C - b _0203F91E -_0203F910: - mov r2, #0x2 - mov r3, #0x20 - bl FUN_0224F12C - b _0203F91E -_0203F91A: - bl FUN_02020C2C -_0203F91E: + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x38] + bl FUN_02055560 mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 + pop {r3, pc} - thumb_func_start FUN_0203F924 -FUN_0203F924: ; 0x0203F924 + thumb_func_start FUN_0203E744 +FUN_0203E744: ; 0x0203E744 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 @@ -124948,41 +132848,75 @@ FUN_0203F924: ; 0x0203F924 bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_0205F6A8 + bl FUN_0205F688 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203F954 -FUN_0203F954: ; 0x0203F954 - push {r4, lr} + thumb_func_start FUN_0203E774 +FUN_0203E774: ; 0x0203E774 + push {r3-r7, lr} add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - cmp r0, #0x0 - bne _0203F978 - add r4, #0x80 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0x10] - bl FUN_02239944 - b _0203F982 -_0203F978: + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - ldr r0, [r0, #0x10] - bl FUN_02239AAC -_0203F982: - mov r0, #0x1 - pop {r4, pc} + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r7, #0x0 + bl FUN_020244A4 + add r4, r0, #0x0 + bl FUN_0201B9EC + add r1, r4, #0x0 + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r6, r0, #0x10 + ldr r0, [sp, #0x0] + mov r1, #0x19 + strh r1, [r0, #0x0] + mov r4, #0x1 + mov r5, #0x0 +_0203E7B6: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl FUN_020245F0 + cmp r0, #0x1 + bne _0203E7DC + add r0, r4, #0x0 + bl FUN_02069B40 + cmp r0, #0x0 + beq _0203E7DC + cmp r5, r6 + bne _0203E7D6 + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] + b _0203E7E8 +_0203E7D6: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_0203E7DC: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r0, _0203E7EC ; =0x000001ED + cmp r4, r0 + bls _0203E7B6 +_0203E7E8: + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 +_0203E7EC: .word 0x000001ED - thumb_func_start FUN_0203F988 -FUN_0203F988: ; 0x0203F988 + thumb_func_start FUN_0203E7F0 +FUN_0203E7F0: ; 0x0203E7F0 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -124990,19 +132924,20 @@ FUN_0203F988: ; 0x0203F988 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0203384C - strh r0, [r4, #0x0] + bl FUN_020462AC + add r1, r4, #0x0 + bl FUN_0205F5A4 mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203F9B0 -FUN_0203F9B0: ; 0x0203F9B0 + thumb_func_start FUN_0203E81C +FUN_0203E81C: ; 0x0203E81C push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -125015,51 +132950,64 @@ FUN_0203F9B0: ; 0x0203F9B0 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_020286EC - bl FUN_02028448 + bl FUN_020462AC + bl FUN_0205F594 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0203F9DC -FUN_0203F9DC: ; 0x0203F9DC + thumb_func_start FUN_0203E848 +FUN_0203E848: ; 0x0203E848 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202AA00 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203E858 +FUN_0203E858: ; 0x0203E858 + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02060490 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203E870 +FUN_0203E870: ; 0x0203E870 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r5, #0x80 + mov r1, #0x14 + bl FUN_02039438 + ldr r1, [r5, #0x8] add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02026CC4 - ldr r1, _0203FA10 ; =0x0000FF79 - add r1, r4, r1 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - cmp r1, #0x1 - bhi _0203FA0C - bl FUN_02025C30 -_0203FA0C: + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r1, [r1, #0x0] + mov r0, #0xb + bl FUN_0224884C + str r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - .balign 4 -_0203FA10: .word 0x0000FF79 - thumb_func_start FUN_0203FA14 -FUN_0203FA14: ; 0x0203FA14 + thumb_func_start FUN_0203E894 +FUN_0203E894: ; 0x0203E894 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -125067,189 +133015,251 @@ FUN_0203FA14: ; 0x0203FA14 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394B8 - mov r1, #0x0 - strh r1, [r0, #0x0] - ldr r1, _0203FA54 ; =0x0000012A - cmp r4, r1 - blo _0203FA4E - add r1, #0xf - cmp r4, r1 - bhi _0203FA4E - mov r1, #0x1 - strh r1, [r0, #0x0] -_0203FA4E: + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_022488EC + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - nop -_0203FA54: .word 0x0000012A + .balign 4 - thumb_func_start FUN_0203FA58 -FUN_0203FA58: ; 0x0203FA58 - push {r3-r7, lr} - sub sp, #0x10 + thumb_func_start FUN_0203E8C4 +FUN_0203E8C4: ; 0x0203E8C4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_022488F4 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203E8F4 +FUN_0203E8F4: ; 0x0203E8F4 + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r6, r0, #0x0 - add r0, r4, #0x0 + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0x4] - add r0, r4, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + add r2, r0, #0x0 + ldr r0, [r5, #0x74] + ldr r1, [r4, #0x0] + mov r3, #0xb + bl FUN_02060790 + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203E928 +FUN_0203E928: ; 0x0203E928 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [sp, #0x8] - add r0, r4, #0x0 + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_022488CC + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203E940 +FUN_0203E940: ; 0x0203E940 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + bl FUN_02024D4C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203E954 +FUN_0203E954: ; 0x0203E954 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + bl FUN_02024CE0 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203E968 +FUN_0203E968: ; 0x0203E968 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [sp, #0xc] - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - mov r0, #0x20 - bl FUN_0200AA80 - add r4, r0, #0x0 - ldr r2, _0203FB48 ; =0x00000147 - mov r0, #0x0 - mov r1, #0x1a - mov r3, #0x20 - bl FUN_0200A86C - add r5, r0, #0x0 - ldr r2, [sp, #0x4] - add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_0200B518 - ldr r2, [sp, #0x8] - add r0, r4, #0x0 - mov r1, #0x1 - bl FUN_0200B518 - ldr r2, [sp, #0xc] - add r0, r4, #0x0 - mov r1, #0x2 - bl FUN_0200B518 - add r0, r4, #0x0 - mov r1, #0x3 - add r2, r7, #0x0 - bl FUN_0200B518 - add r0, r4, #0x0 - add r1, r5, #0x0 - mov r2, #0x1 - mov r3, #0x20 - bl FUN_0200A9C4 - add r7, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_0200A914 - str r0, [sp, #0x0] - ldr r1, [sp, #0x0] - add r0, r7, #0x0 - bl FUN_02021CE0 - cmp r0, #0x0 - bne _0203FB24 - mov r0, #0x1 - b _0203FB26 -_0203FB24: + bl FUN_020394B8 + add r6, r0, #0x0 mov r0, #0x0 -_0203FB26: strh r0, [r6, #0x0] - add r0, r7, #0x0 - bl FUN_02021A20 - ldr r0, [sp, #0x0] - bl FUN_02021A20 + cmp r4, #0x1 + bne _0203E9AE add r0, r5, #0x0 - bl FUN_0200A8B8 - add r0, r4, #0x0 - bl FUN_0200AB18 - mov r0, #0x0 - add sp, #0x10 - pop {r3-r7, pc} - nop -_0203FB48: .word 0x00000147 - - thumb_func_start FUN_0203FB4C -FUN_0203FB4C: ; 0x0203FB4C - push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_02023788 - mov r1, #0x1 - bl FUN_02023828 + bl FUN_02024DA0 + bl FUN_02024C84 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + bl FUN_02023A90 + b _0203E9C8 +_0203E9AE: + cmp r4, #0x2 + bne _0203E9C4 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + bl FUN_02024CA4 + strh r0, [r6, #0x0] + b _0203E9C8 +_0203E9C4: + bl FUN_02020C2C +_0203E9C8: mov r0, #0x0 - pop {r3, pc} - .balign 4 + pop {r4-r6, pc} - thumb_func_start FUN_0203FB64 -FUN_0203FB64: ; 0x0203FB64 - push {r3-r5, lr} + thumb_func_start FUN_0203E9CC +FUN_0203E9CC: ; 0x0203E9CC + push {r4-r7, lr} + sub sp, #0xc add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r4, #0x0 + bl FUN_0206B9B0 add r5, r0, #0x0 - add r0, r4, #0x0 + mov r1, #0xd + mov r2, #0x0 + bl FUN_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xe + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + add r0, r5, #0x0 mov r1, #0xf - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_0205296C - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0203FB94 -FUN_0203FB94: ; 0x0203FB94 - push {r3, lr} - bl FUN_02033E74 + mov r2, #0x0 + bl FUN_020671BC + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x10 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x11 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x12 + mov r2, #0x0 + bl FUN_020671BC + add r1, r4, r6 + add r2, r7, r1 + ldr r1, [sp, #0x4] + add r2, r1, r2 + ldr r1, [sp, #0x8] + add r1, r1, r2 + add r1, r0, r1 + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] mov r0, #0x0 - pop {r3, pc} + add sp, #0xc + pop {r4-r7, pc} .balign 4 - thumb_func_start FUN_0203FBA0 -FUN_0203FBA0: ; 0x0203FBA0 - push {r3, lr} - bl FUN_02033ED0 + thumb_func_start FUN_0203EA68 +FUN_0203EA68: ; 0x0203EA68 + push {r4, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, sp, #0x0 + bl FUN_020126B4 + ldr r0, [sp, #0xc] + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3, pc} + add sp, #0x10 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0203FBAC -FUN_0203FBAC: ; 0x0203FBAC - push {r3, lr} + thumb_func_start FUN_0203EA90 +FUN_0203EA90: ; 0x0203EA90 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02034E48 - mov r0, #0x0 - pop {r3, pc} - .balign 4 + bl FUN_020394B8 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + bl FUN_022411F4 + mov r0, #0x1 + pop {r4, pc} - thumb_func_start FUN_0203FBBC -FUN_0203FBBC: ; 0x0203FBBC + thumb_func_start FUN_0203EAB0 +FUN_0203EAB0: ; 0x0203EAB0 push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -125257,7 +133267,7 @@ FUN_0203FBBC: ; 0x0203FBBC add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -125265,7 +133275,7 @@ FUN_0203FBBC: ; 0x0203FBBC add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -125278,228 +133288,27 @@ FUN_0203FBBC: ; 0x0203FBBC add r7, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_02034E30 - bl FUN_02034DCC - str r4, [r0, #0x0] - str r6, [r0, #0x8] - mov r1, #0x0 - str r7, [r0, #0xc] - mvn r1, r1 - str r1, [r0, #0x4] - mov r1, #0x1 - str r1, [r0, #0x10] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_0203FC1C -FUN_0203FC1C: ; 0x0203FC1C - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - ldr r2, [r5, #0x8] - add r1, r0, #0x0 - add r0, r2, #0x1 - str r0, [r5, #0x8] - add r5, #0x80 - ldr r0, [r5, #0x0] - ldrb r4, [r2, #0x0] - ldr r0, [r0, #0x34] - bl FUN_02058060 - add r5, r0, #0x0 - bne _0203FC4C - bl FUN_02020C2C -_0203FC4C: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_020588B8 - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_0203FC58 -FUN_0203FC58: ; 0x0203FC58 - push {r3-r5, lr} - add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02065078 - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0203FC80 -FUN_0203FC80: ; 0x0203FC80 - push {r3-r5, lr} - add r0, #0x80 - ldr r5, [r0, #0x0] - mov r1, #0x28 - add r0, r5, #0x0 - bl FUN_02039438 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0202280C - cmp r0, #0x0 - bne _0203FCAA + bl FUN_0206BB1C + add r1, r7, #0x0 + bl FUN_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 add r0, r5, #0x0 - mov r1, #0x4 - mov r2, #0x3 - bl FUN_021E8588 - str r0, [r4, #0x0] - bl FUN_021E84F4 -_0203FCAA: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0203FCB0 -FUN_0203FCB0: ; 0x0203FCB0 - push {r3-r5, lr} - add r0, #0x80 - ldr r5, [r0, #0x0] - mov r1, #0x28 + bl FUN_021F61E8 + strh r0, [r4, #0x0] add r0, r5, #0x0 - bl FUN_02039438 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0202280C - cmp r0, #0x0 - bne _0203FCD6 - ldr r0, [r4, #0x0] - bl FUN_021E856C - ldr r0, [r4, #0x0] - bl FUN_021E85E4 -_0203FCD6: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0203FCDC -FUN_0203FCDC: ; 0x0203FCDC - push {r3, lr} - ldr r2, [r0, #0x8] - add r1, r2, #0x1 - str r1, [r0, #0x8] - add r0, #0x80 - ldrb r1, [r2, #0x0] - ldr r0, [r0, #0x0] - bl FUN_0206367C + bl FUN_021F61DC + strh r0, [r6, #0x0] mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0203FCF4 -FUN_0203FCF4: ; 0x0203FCF4 - push {r4-r7, lr} - sub sp, #0x84 - add r7, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r7, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - mov r4, #0x0 - add r6, r4, #0x0 - add r5, r4, #0x0 -_0203FD10: - add r0, r7, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020238F4 - add r1, r5, #0x0 - bl FUN_020239D0 - cmp r0, #0x1 - bne _0203FD2C - add r0, r6, #0x1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 -_0203FD2C: - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x8 - blo _0203FD10 - cmp r6, #0x8 - bhi _0203FD70 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - mov r1, #0x1 - b _0203FD72 -_0203FD5C: - .byte 0x02, 0x21, 0x08, 0xE0 - .byte 0x03, 0x21, 0x06, 0xE0, 0x04, 0x21, 0x04, 0xE0, 0x05, 0x21, 0x02, 0xE0, 0x06, 0x21, 0x00, 0xE0 -_0203FD70: - mov r1, #0x1 -_0203FD72: - ldr r0, _0203FDB4 ; =0x020F4218 - mov r2, #0x0 - add r6, sp, #0x4 -_0203FD78: - lsl r3, r2, #0x2 - add r5, r0, r3 - ldrh r3, [r5, #0x2] - cmp r1, r3 - blt _0203FD8E - ldrh r5, [r5, #0x0] - lsl r3, r4, #0x1 - strh r5, [r6, r3] - add r3, r4, #0x1 - lsl r3, r3, #0x18 - lsr r4, r3, #0x18 -_0203FD8E: - add r2, r2, #0x1 - lsl r2, r2, #0x18 - lsr r2, r2, #0x18 - cmp r2, #0x13 - blo _0203FD78 - ldr r1, _0203FDB8 ; =0x0000FFFF - lsl r0, r4, #0x1 - add r2, sp, #0x4 - strh r1, [r2, r0] - mov r3, #0x0 - str r3, [sp, #0x0] - ldr r0, [r7, #0x74] - add r7, #0x80 - ldr r1, [r7, #0x0] - bl FUN_0223D3D0 - mov r0, #0x1 - add sp, #0x84 - pop {r4-r7, pc} + pop {r3-r7, pc} .balign 4 -_0203FDB4: .word 0x020F4218 -_0203FDB8: .word 0x0000FFFF - thumb_func_start FUN_0203FDBC -FUN_0203FDBC: ; 0x0203FDBC - push {r3-r4, lr} - sub sp, #0x4 + thumb_func_start FUN_0203EB20 +FUN_0203EB20: ; 0x0203EB20 + push {r4, lr} add r4, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -125507,192 +133316,114 @@ FUN_0203FDBC: ; 0x0203FDBC add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, _0203FE00 ; =0x0000FFF8 - add r0, r2, r0 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0x5 - bhi _0203FDE4 - mov r0, #0x1 - b _0203FDE6 -_0203FDE4: - mov r0, #0x0 -_0203FDE6: - lsl r3, r2, #0x2 - str r0, [sp, #0x0] - ldr r2, _0203FE04 ; =0x02105E10 - ldr r0, [r4, #0x74] + add r1, r0, #0x0 add r4, #0x80 - ldr r2, [r2, r3] - ldr r1, [r4, #0x0] - mov r3, #0x0 - bl FUN_0223D3D0 + lsl r1, r1, #0x18 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + bl FUN_0224C27C mov r0, #0x1 - add sp, #0x4 - pop {r3-r4, pc} + pop {r4, pc} .balign 4 -_0203FE00: .word 0x0000FFF8 -_0203FE04: .word 0x02105E10 - thumb_func_start FUN_0203FE08 -FUN_0203FE08: ; 0x0203FE08 - push {r3-r4, lr} - sub sp, #0x4 - add r4, r0, #0x0 + thumb_func_start FUN_0203EB48 +FUN_0203EB48: ; 0x0203EB48 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - cmp r2, #0x1 - bhi _0203FE28 - mov r0, #0x1 - b _0203FE2A -_0203FE28: - mov r0, #0x0 -_0203FE2A: - lsl r3, r2, #0x2 - str r0, [sp, #0x0] - ldr r2, _0203FE44 ; =0x02105DEC - ldr r0, [r4, #0x74] - add r4, #0x80 - ldr r2, [r2, r3] - ldr r1, [r4, #0x0] - mov r3, #0x1 - bl FUN_0223D3D0 - mov r0, #0x1 - add sp, #0x4 - pop {r3-r4, pc} - .balign 4 -_0203FE44: .word 0x02105DEC - - thumb_func_start FUN_0203FE48 -FUN_0203FE48: ; 0x0203FE48 - push {r3-r4, lr} - sub sp, #0x4 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - mov r0, #0x0 - lsl r3, r2, #0x2 - str r0, [sp, #0x0] - ldr r2, _0203FE7C ; =0x02105DF4 - ldr r0, [r4, #0x74] - add r4, #0x80 - ldr r2, [r2, r3] - ldr r1, [r4, #0x0] - mov r3, #0x2 - bl FUN_0223D3D0 + add r5, #0x80 + lsl r1, r4, #0x18 + lsl r2, r2, #0x18 + ldr r0, [r5, #0x0] + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + bl FUN_0224C520 mov r0, #0x1 - add sp, #0x4 - pop {r3-r4, pc} + pop {r3-r5, pc} .balign 4 -_0203FE7C: .word 0x02105DF4 - - thumb_func_start FUN_0203FE80 -FUN_0203FE80: ; 0x0203FE80 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x10] - bl FUN_02038AD0 - mov r0, #0x1 - pop {r3, pc} - thumb_func_start FUN_0203FE90 -FUN_0203FE90: ; 0x0203FE90 - push {r3-r5, lr} + thumb_func_start FUN_0203EB88 +FUN_0203EB88: ; 0x0203EB88 + push {r4-r7, lr} + sub sp, #0xc add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 + ldr r1, [r5, #0x8] + add r2, r1, #0x1 + str r2, [r5, #0x8] + ldrb r6, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + bl FUN_02038C30 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl FUN_02038C30 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 + str r7, [sp, #0x0] add r5, #0x80 - add r1, r0, #0x0 + str r0, [sp, #0x4] ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r1, r0, #0x0 - lsl r1, r1, #0x18 - ldr r0, [r4, #0x0] - lsr r1, r1, #0x18 - bl FUN_02082140 - mov r0, #0x0 - pop {r3-r5, pc} + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_020607D4 + mov r0, #0x1 + add sp, #0xc + pop {r4-r7, pc} - thumb_func_start FUN_0203FEC0 -FUN_0203FEC0: ; 0x0203FEC0 + thumb_func_start FUN_0203EBC8 +FUN_0203EBC8: ; 0x0203EBC8 push {r4, lr} add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r0, r4, #0x0 bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [r4, #0x64] - ldr r1, _0203FEF0 ; =FUN_0203FEF4 - add r0, r4, #0x0 - bl FUN_02038B5C - mov r0, #0x1 - pop {r4, pc} - nop -_0203FEF0: .word FUN_0203FEF4 + 1 - - thumb_func_start FUN_0203FEF4 -FUN_0203FEF4: ; 0x0203FEF4 - push {r4, lr} - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r1, [r4, #0x64] - ldr r0, [r0, #0x0] - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - bl FUN_02082158 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r1, #0xa + strh r1, [r0, #0x0] + mov r0, #0x0 pop {r4, pc} + .balign 4 - thumb_func_start FUN_0203FF10 -FUN_0203FF10: ; 0x0203FF10 + thumb_func_start FUN_0203EBE4 +FUN_0203EBE4: ; 0x0203EBE4 push {r3-r7, lr} - sub sp, #0x38 + sub sp, #0x10 add r5, r0, #0x0 add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - str r0, [sp, #0x0] - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r6, [r0, #0x0] + add r0, r6, #0x0 bl FUN_020377AC bl FUN_020238F4 - add r4, r0, #0x0 + str r0, [sp, #0x4] add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [sp, #0x4] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_02022510 + add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -125700,7 +133431,7 @@ FUN_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0x8] + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -125708,7 +133439,7 @@ FUN_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0xc] + str r0, [sp, #0x8] add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -125716,204 +133447,321 @@ FUN_0203FF10: ; 0x0203FF10 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - str r0, [sp, #0x10] - add r0, r4, #0x0 - mov r1, #0x4 - bl FUN_020239A0 - add r7, r0, #0x0 - ldr r1, [sp, #0x8] - add r0, sp, #0x14 - strb r1, [r0, #0x0] - ldr r1, [sp, #0x4] - strb r1, [r0, #0x1] - ldr r1, [sp, #0xc] - strb r1, [r0, #0x2] - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED0C - add r1, sp, #0x14 - strb r0, [r1, #0x3] - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 - bl FUN_02024CA4 - add r1, sp, #0x14 - strb r0, [r1, #0x4] - strb r6, [r1, #0x5] - ldr r0, [sp, #0x10] - str r7, [sp, #0x20] - str r0, [sp, #0x1c] - add r0, r5, #0x0 - str r4, [sp, #0x24] - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02027E24 - str r0, [sp, #0x28] - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02023900 - str r0, [sp, #0x2c] + str r0, [sp, #0xc] add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + bl FUN_02038C30 add r5, #0x80 - ldr r0, [r0, #0xc] - str r0, [sp, #0x30] + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029EF8 - str r0, [sp, #0x34] - add r0, sp, #0x14 - bl FUN_02081214 - ldr r1, [sp, #0x0] - str r0, [r1, #0x0] - add r0, r7, #0x0 - bl FUN_02021A20 + bl FUN_020394F0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + ldr r2, [sp, #0x8] + ldr r3, [sp, #0xc] + add r1, r7, #0x0 + bl FUN_0224D14C + add r5, r0, #0x0 mov r0, #0x0 - add sp, #0x38 + mvn r0, r0 + cmp r5, r0 + beq _0203EC7E + cmp r5, #0x7 + ble _0203EC88 +_0203EC7E: + mov r0, #0xff + strh r0, [r4, #0x0] + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0203EC88: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_0206B644 + cmp r0, #0x0 + beq _0203EC98 + mov r0, #0x0 + b _0203ECA2 +_0203EC98: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_0206B620 + add r0, r5, #0x1 +_0203ECA2: + strh r0, [r4, #0x0] + mov r0, #0x0 + add sp, #0x10 pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02040028 -FUN_02040028: ; 0x02040028 + thumb_func_start FUN_0203ECAC +FUN_0203ECAC: ; 0x0203ECAC push {r3-r5, lr} add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02026CB4 + bl FUN_020269CC + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_0203ECD8 +FUN_0203ECD8: ; 0x0203ECD8 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + add r0, r3, #0x0 + bl FUN_0224C678 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203ECF4 +FUN_0203ECF4: ; 0x0203ECF4 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + add r0, r3, #0x0 + bl FUN_0224C6E8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203ED10 +FUN_0203ED10: ; 0x0203ED10 + push {r3, lr} + add r1, r0, #0x0 + add r1, #0x80 + ldr r2, [r0, #0x8] + ldr r3, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r2, #0x0] + add r0, r3, #0x0 + bl FUN_0224C6F4 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203ED2C +FUN_0203ED2C: ; 0x0203ED2C + push {r4-r6, lr} + sub sp, #0x10 + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024DA0 + add r6, r0, #0x0 + mov r0, #0x20 + bl FUN_020669C0 add r4, r0, #0x0 - add r0, r5, #0x0 + bl FUN_02066978 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x32 + mov r3, #0x20 + bl FUN_02066ACC + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0202498C + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x10 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0203ED70 +FUN_0203ED70: ; 0x0203ED70 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0x0] - bl FUN_02034824 + bl FUN_020394B8 add r5, #0x80 - ldr r3, [r5, #0x0] - add r2, r0, #0x0 - ldr r1, [r3, #0xc] - add r3, #0x98 - ldr r0, [r4, #0x0] - ldr r3, [r3, #0x0] - bl FUN_02082630 - ldr r0, [r4, #0x0] - bl FUN_020814E8 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022510 + bl FUN_0206B3E4 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + mov r0, #0x87 + lsl r0, r0, #0x2 + sub r0, r0, r1 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_02040074 -FUN_02040074: ; 0x02040074 - push {r3-r7, lr} + thumb_func_start FUN_0203EDA4 +FUN_0203EDA4: ; 0x0203EDA4 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 + mov r1, #0x16 bl FUN_02039438 add r4, r0, #0x0 - add r0, r5, #0x0 + mov r0, #0x0 + add r5, #0x80 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + bl FUN_021E7184 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203EDC8 +FUN_0203EDC8: ; 0x0203EDC8 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x16 bl FUN_02039438 - add r6, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r0, #0x0] + bl FUN_021E71E8 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203EDE0 +FUN_0203EDE0: ; 0x0203EDE0 + push {r4, lr} + add r4, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r3, r0, #0x0 + add r4, #0x80 + lsl r1, r1, #0x18 ldr r0, [r4, #0x0] - ldr r2, [r6, #0x0] - add r1, r7, #0x0 - bl FUN_0208201C - mov r0, #0x0 - pop {r3-r7, pc} + lsr r1, r1, #0x18 + bl FUN_0224E554 + mov r0, #0x1 + pop {r4, pc} .balign 4 - thumb_func_start FUN_020400C8 -FUN_020400C8: ; 0x020400C8 - push {r3-r7, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203EE08 +FUN_0203EE08: ; 0x0203EE08 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 + bl FUN_0206486C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203EE18 +FUN_0203EE18: ; 0x0203EE18 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - add r6, r0, #0x0 - add r0, r5, #0x0 + bl FUN_020649D4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203EE28 +FUN_0203EE28: ; 0x0203EE28 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r3, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r2, [r6, #0x0] - add r1, r7, #0x0 - bl FUN_02082034 + bl FUN_020649B0 + cmp r0, #0x0 + beq _0203EE4E + mov r0, #0x1 + b _0203EE50 +_0203EE4E: mov r0, #0x0 - pop {r3-r7, pc} +_0203EE50: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204011C -FUN_0204011C: ; 0x0204011C - push {r3-r7, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203EE58 +FUN_0203EE58: ; 0x0203EE58 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_0224E764 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203EE68 +FUN_0203EE68: ; 0x0203EE68 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_0224E7C4 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203EE78 +FUN_0203EE78: ; 0x0203EE78 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r5, #0x80 add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r1, r4, #0x0 + bl FUN_0202A170 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203EE98 +FUN_0203EE98: ; 0x0203EE98 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -125921,383 +133769,776 @@ FUN_0204011C: ; 0x0204011C add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r3, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r2, [r6, #0x0] - add r1, r7, #0x0 - bl FUN_0208206C - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206BAE4 + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r4-r6, pc} - thumb_func_start FUN_02040170 -FUN_02040170: ; 0x02040170 - push {r4-r6, lr} + thumb_func_start FUN_0203EED8 +FUN_0203EED8: ; 0x0203EED8 + push {r3-r7, lr} sub sp, #0x8 - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 add r4, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r1, r0, #0x0 - mov r0, #0x0 + add r1, sp, #0x4 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C str r0, [sp, #0x0] - mov r3, #0x1 - str r3, [sp, #0x4] + bl FUN_0206B9AC + add r4, #0x80 + add r6, r0, #0x0 ldr r0, [r4, #0x0] - add r2, r6, #0x0 - bl FUN_0200AD38 - mov r0, #0x0 + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + add r7, r0, #0x0 + mov r5, #0x0 + cmp r6, #0x0 + ble _0203EF4E +_0203EF18: + ldr r0, [sp, #0x0] + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC + ldr r1, _0203EF54 ; =0x00000182 + cmp r0, r1 + bne _0203EF48 + add r0, r4, #0x0 + mov r1, #0x70 + add r2, sp, #0x4 + bl FUN_02067830 + add r0, r4, #0x0 + bl FUN_02066ED8 + add r0, r7, #0x0 + add r1, r4, #0x0 + bl FUN_02024AF0 +_0203EF48: + add r5, r5, #0x1 + cmp r5, r6 + blt _0203EF18 +_0203EF4E: + mov r0, #0x1 add sp, #0x8 - pop {r4-r6, pc} + pop {r3-r7, pc} .balign 4 +_0203EF54: .word 0x00000182 - thumb_func_start FUN_020401CC -FUN_020401CC: ; 0x020401CC - push {r4, lr} + thumb_func_start FUN_0203EF58 +FUN_0203EF58: ; 0x0203EF58 + push {r3-r7, lr} + sub sp, #0x30 add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_02081DC4 - ldr r1, _020401EC ; =FUN_020401F0 - add r0, r4, #0x0 - bl FUN_02038B5C + bl FUN_020394B8 + add r4, #0x80 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + str r0, [sp, #0xc] + bl FUN_0206B9AC + add r2, sp, #0x18 + mov r4, #0x0 + ldr r3, _0203F008 ; =0x020F34FC + str r0, [sp, #0x8] + add r7, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [sp, #0x8] + str r4, [sp, #0x4] + cmp r0, #0x0 + ble _0203EFFC + mov r5, #0x1 + str r7, [sp, #0x14] +_0203EFA2: + ldr r0, [sp, #0xc] + add r1, r4, #0x0 + bl FUN_0206B9B0 + add r6, r0, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x10] + add r0, r6, #0x0 + mov r1, #0x70 + mov r2, #0x0 + bl FUN_020671BC + add r3, r0, #0x0 + mov r0, #0x67 + ldr r1, [sp, #0x10] + lsl r0, r0, #0x2 + cmp r1, r0 + bne _0203EFF2 + mov r2, #0x0 + add r1, r2, #0x0 + str r3, [r7, #0x0] + cmp r4, #0x0 + ble _0203EFE8 + ldr r6, [sp, #0x14] +_0203EFD8: + ldr r0, [r6, #0x0] + cmp r3, r0 + bne _0203EFE0 + add r2, r5, #0x0 +_0203EFE0: + add r1, r1, #0x1 + add r6, r6, #0x4 + cmp r1, r4 + blt _0203EFD8 +_0203EFE8: + cmp r2, #0x0 + bne _0203EFF2 + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + str r0, [sp, #0x4] +_0203EFF2: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + add r7, r7, #0x4 + cmp r4, r0 + blt _0203EFA2 +_0203EFFC: + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] mov r0, #0x1 - pop {r4, pc} + add sp, #0x30 + pop {r3-r7, pc} .balign 4 -_020401EC: .word FUN_020401F0 + 1 +_0203F008: .word 0x020F34FC - thumb_func_start FUN_020401F0 -FUN_020401F0: ; 0x020401F0 + thumb_func_start FUN_0203F00C +FUN_0203F00C: ; 0x0203F00C push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F1C4 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203F020 +FUN_0203F020: ; 0x0203F020 + push {r3, lr} + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02081EB8 + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F1D4 + mov r0, #0x0 pop {r3, pc} - thumb_func_start FUN_02040204 -FUN_02040204: ; 0x02040204 + thumb_func_start FUN_0203F034 +FUN_0203F034: ; 0x0203F034 push {r4, lr} add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_020394F0 + add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x74] - ldr r1, [r1, #0x0] - bl FUN_02080E0C + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl FUN_020389CC mov r0, #0x1 pop {r4, pc} - thumb_func_start FUN_02040220 -FUN_02040220: ; 0x02040220 - push {r4-r6, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203F058 +FUN_0203F058: ; 0x0203F058 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_0204B2D8 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_0203F07C +FUN_0203F07C: ; 0x0203F07C + push {r3-r7, lr} + sub sp, #0x10 + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - add r6, r0, #0x0 + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r1, [r6, #0x0] - bl FUN_02082090 - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_0204025C -FUN_0204025C: ; 0x0204025C - push {r4-r6, lr} - add r5, r0, #0x0 + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 + bl FUN_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r1, [r6, #0x0] - bl FUN_020820B8 - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_02040298 -FUN_02040298: ; 0x02040298 - push {r4-r6, lr} - add r5, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - add r6, r0, #0x0 - add r0, r5, #0x0 + add r1, r7, #0x0 + ldr r0, [r0, #0x34] + bl FUN_02058060 + add r7, r0, #0x0 + bne _0203F0FA + bl FUN_02020C2C +_0203F0FA: + str r6, [sp, #0x0] + str r4, [sp, #0x4] + ldr r0, [r5, #0x74] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x8] + add r1, r7, #0x0 + bl FUN_02054F50 + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + + thumb_func_start FUN_0203F110 +FUN_0203F110: ; 0x0203F110 + push {r3-r7, lr} + add r4, r0, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r1, [r6, #0x0] - bl FUN_020820DC - mov r0, #0x0 - pop {r4-r6, pc} + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r5, #0x0 + ldr r0, [r0, #0x34] + bl FUN_02058060 + add r5, r0, #0x0 + bne _0203F164 + bl FUN_02020C2C +_0203F164: + ldr r0, [r4, #0x74] + add r1, r5, #0x0 + add r2, r7, #0x0 + add r3, r6, #0x0 + bl FUN_0205502C + mov r0, #0x1 + pop {r3-r7, pc} - thumb_func_start FUN_020402D4 -FUN_020402D4: ; 0x020402D4 + thumb_func_start FUN_0203F174 +FUN_0203F174: ; 0x0203F174 push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02054E30 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203F19C +FUN_0203F19C: ; 0x0203F19C + push {r4-r7, lr} + sub sp, #0x24 add r4, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 - add r5, r0, #0x0 + add r4, #0x80 + str r0, [sp, #0x0] ldr r0, [r4, #0x0] - bl FUN_0208213C + ldr r0, [r0, #0xc] + bl FUN_02027E24 + bl FUN_0202708C + mov r6, #0x0 + add r7, r0, #0x0 + add r4, r6, #0x0 + add r5, sp, #0x4 +_0203F1CA: + add r1, r4, #0x0 + add r0, r7, #0x0 + add r1, #0x22 + mov r2, #0x1 + bl FUN_020270D8 + cmp r0, #0x1 + bne _0203F1E0 + mov r0, #0x1 strh r0, [r5, #0x0] + add r6, r6, #0x1 +_0203F1E0: + add r4, r4, #0x1 + add r5, r5, #0x2 + cmp r4, #0x10 + blt _0203F1CA + cmp r6, #0x0 + bne _0203F1F8 + ldr r0, [sp, #0x0] + ldr r1, _0203F230 ; =0x0000FFFF + add sp, #0x24 + strh r1, [r0, #0x0] mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r7, pc} +_0203F1F8: + bl FUN_0201B9EC + add r1, r6, #0x0 + blx FUN_020EBC80 + mov r4, #0x0 + add r2, sp, #0x4 +_0203F206: + ldrh r0, [r2, #0x0] + cmp r0, #0x1 + bne _0203F212 + cmp r1, #0x0 + beq _0203F21A + sub r1, r1, #0x1 +_0203F212: + add r4, r4, #0x1 + add r2, r2, #0x2 + cmp r4, #0x10 + blt _0203F206 +_0203F21A: + cmp r4, #0x10 + blt _0203F222 + bl FUN_02020C2C +_0203F222: + ldr r0, [sp, #0x0] + add r4, #0x22 + strh r4, [r0, #0x0] + mov r0, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0203F230: .word 0x0000FFFF + + thumb_func_start FUN_0203F234 +FUN_0203F234: ; 0x0203F234 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + ldr r1, _0203F250 ; =0x021C4918 + ldrb r1, [r1, #0x6] + strh r1, [r0, #0x0] + mov r0, #0x1 + pop {r4, pc} .balign 4 +_0203F250: .word 0x021C4918 - thumb_func_start FUN_02040304 -FUN_02040304: ; 0x02040304 + thumb_func_start FUN_0203F254 +FUN_0203F254: ; 0x0203F254 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + mov r1, #0x0 + bl FUN_0205F698 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203F26C +FUN_0203F26C: ; 0x0203F26C push {r4-r6, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 + bl FUN_020394F0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 + ldr r0, [r5, #0x0] + ldrb r4, [r1, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + cmp r4, #0x0 + beq _0203F2A0 + add r1, r6, #0x0 + bl FUN_0205F4E4 + b _0203F2A6 +_0203F2A0: + add r1, r6, #0x0 + bl FUN_0205F50C +_0203F2A6: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0203F2AC +FUN_0203F2AC: ; 0x0203F2AC + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r1, [r6, #0x0] - bl FUN_0208210C - mov r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B6D0 + mov r0, #0x1 pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_02040340 -FUN_02040340: ; 0x02040340 + thumb_func_start FUN_0203F2E4 +FUN_0203F2E4: ; 0x0203F2E4 push {r3-r5, lr} - add r5, r0, #0x0 + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 + add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_0208217C - strh r0, [r5, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0205F6C8 + cmp r0, #0xa + blo _0203F314 + mov r0, #0x1 + b _0203F316 +_0203F314: + mov r0, #0x0 +_0203F316: + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_02040370 -FUN_02040370: ; 0x02040370 + thumb_func_start FUN_0203F31C +FUN_0203F31C: ; 0x0203F31C push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_02082190 - strh r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F648 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020403A0 -FUN_020403A0: ; 0x020403A0 - push {r3-r5, lr} + thumb_func_start FUN_0203F348 +FUN_0203F348: ; 0x0203F348 + push {r4-r6, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020821B4 - strh r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02027E24 + bl FUN_0202708C + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_02027210 mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r6, pc} + + thumb_func_start FUN_0203F38C +FUN_0203F38C: ; 0x0203F38C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02046030 + mov r0, #0x1 + pop {r3, pc} .balign 4 - thumb_func_start FUN_020403D0 -FUN_020403D0: ; 0x020403D0 - push {r4-r6, lr} - add r4, r0, #0x0 + thumb_func_start FUN_0203F39C +FUN_0203F39C: ; 0x0203F39C + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_0205F668 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0203F3AC +FUN_0203F3AC: ; 0x0203F3AC + push {r3-r7, lr} add r5, r0, #0x0 - add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + add r5, #0x80 add r6, r0, #0x0 - add r0, r4, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02013B5C + bl FUN_02013B74 + cmp r0, #0x20 + bne _0203F3FE + ldr r0, _0203F414 ; =0x0000FFFF + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} +_0203F3FE: + strh r0, [r4, #0x0] + bl FUN_02013BE4 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + bl FUN_0200B518 + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0203F414: .word 0x0000FFFF + + thumb_func_start FUN_0203F418 +FUN_0203F418: ; 0x0203F418 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 + add r5, #0x80 add r4, r0, #0x0 ldr r0, [r5, #0x0] - add r1, r6, #0x0 - bl FUN_020821C4 + ldr r0, [r0, #0xc] + bl FUN_02013B5C + bl FUN_02013BC8 + cmp r0, #0x1 + bne _0203F444 + mov r0, #0x1 + b _0203F446 +_0203F444: + mov r0, #0x0 +_0203F446: strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} - thumb_func_start FUN_02040414 -FUN_02040414: ; 0x02040414 - push {r4-r6, lr} + thumb_func_start FUN_0203F44C +FUN_0203F44C: ; 0x0203F44C + push {r3-r5, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_020462AC add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r5, #0x0] - add r1, r6, #0x0 - bl FUN_020821DC + add r0, r5, #0x0 + bl FUN_0205F710 + cmp r0, #0x5 + blo _0203F47C + mov r0, #0x1 + b _0203F47E +_0203F47C: + mov r0, #0x0 +_0203F47E: strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} - thumb_func_start FUN_02040458 -FUN_02040458: ; 0x02040458 + thumb_func_start FUN_0203F484 +FUN_0203F484: ; 0x0203F484 + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + ldr r5, [r5, #0x0] + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02023788 + add r7, r0, #0x0 + bl FUN_02023818 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204B2B4 + cmp r6, r0 + bne _0203F4CE + add r0, r7, #0x0 + bl FUN_0202381C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204B2C0 + cmp r6, r0 + bne _0203F4CE + mov r0, #0x1 + strh r0, [r4, #0x0] + b _0203F4D2 +_0203F4CE: + mov r0, #0x0 + strh r0, [r4, #0x0] +_0203F4D2: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0203F4D8 +FUN_0203F4D8: ; 0x0203F4D8 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_02024DA0 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -126306,72 +134547,125 @@ FUN_02040458: ; 0x02040458 ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020821F0 + add r0, r4, #0x0 + bl FUN_0202471C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040488 -FUN_02040488: ; 0x02040488 + thumb_func_start FUN_0203F508 +FUN_0203F508: ; 0x0203F508 push {r3-r7, lr} - sub sp, #0x8 - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 add r6, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 add r7, r0, #0x0 - add r0, r5, #0x0 + add r0, r6, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r6, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x4] - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] - ldr r0, [r4, #0x0] - ldr r3, [sp, #0x4] + bl FUN_020394F0 add r1, r6, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r2, [r1, #0x1c] + ldr r1, [r2, #0x8] + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + ldr r1, [r2, #0xc] + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r7, #0x3 + blo _0203F54C + ldr r7, _0203F5C8 ; =0x0000010E + b _0203F582 +_0203F54C: + cmp r0, #0x1e + blo _0203F556 + mov r7, #0x43 + lsl r7, r7, #0x2 + b _0203F582 +_0203F556: + bl FUN_0201B9EC + mov r1, #0x64 + blx FUN_020EBC80 + cmp r1, #0x19 + bge _0203F568 + ldr r7, _0203F5CC ; =0x0000010D + b _0203F582 +_0203F568: + bl FUN_0201B9EC + mov r1, #0x6 + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r1, r0, #0x10 + mov r0, #0x6 + mul r0, r7 + add r0, r1, r0 + lsl r1, r0, #0x1 + ldr r0, _0203F5D0 ; =0x020F3538 + ldrh r7, [r0, r1] +_0203F582: + cmp r5, #0xb + bne _0203F59A + cmp r4, #0x1 + bne _0203F58E + mov r4, #0x0 + b _0203F5A4 +_0203F58E: + cmp r4, #0x14 + bne _0203F596 + mov r4, #0x2 + b _0203F5A4 +_0203F596: + mov r4, #0x5 + b _0203F5A4 +_0203F59A: + cmp r5, #0x14 + bne _0203F5A2 + mov r4, #0x1 + b _0203F5A4 +_0203F5A2: + mov r4, #0x3 +_0203F5A4: + mov r5, #0x0 +_0203F5A6: + cmp r5, r4 + beq _0203F5B8 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r5, #0x0 add r2, r7, #0x0 - bl FUN_02082214 + bl FUN_02034C24 +_0203F5B8: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x4 + blo _0203F5A6 mov r0, #0x0 - add sp, #0x8 pop {r3-r7, pc} - .balign 4 + nop +_0203F5C8: .word 0x0000010E +_0203F5CC: .word 0x0000010D +_0203F5D0: .word 0x020F3538 - thumb_func_start FUN_020404FC -FUN_020404FC: ; 0x020404FC + thumb_func_start FUN_0203F5D4 +FUN_0203F5D4: ; 0x0203F5D4 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -126380,51 +134674,44 @@ FUN_020404FC: ; 0x020404FC ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_02082254 + add r0, r4, #0x0 + bl FUN_0205F720 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204052C -FUN_0204052C: ; 0x0204052C - push {r4-r6, lr} + thumb_func_start FUN_0203F604 +FUN_0203F604: ; 0x0203F604 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - add r6, r0, #0x0 - add r0, r5, #0x0 bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r4, #0x0] - ldr r1, [r6, #0x0] - mov r3, #0xb - bl FUN_02082284 + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0205F740 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204056C -FUN_0204056C: ; 0x0204056C + thumb_func_start FUN_0203F634 +FUN_0203F634: ; 0x0203F634 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + ldr r0, [r0, #0xc] + bl FUN_020462AC add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -126433,1491 +134720,1741 @@ FUN_0204056C: ; 0x0204056C ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020822F0 + add r0, r4, #0x0 + bl FUN_0205F760 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204059C -FUN_0204059C: ; 0x0204059C - push {r3, lr} + thumb_func_start FUN_0203F664 +FUN_0203F664: ; 0x0203F664 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_0208223C - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_020405B4 -FUN_020405B4: ; 0x020405B4 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_0208224C + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r2, #0x0 + add r3, sp, #0x0 + add r0, #0x8 +_0203F684: + ldr r6, [r0, #0x0] + ldr r1, [r5, #0x8] + add r6, r6, #0x1 + str r6, [r0, #0x0] + ldrb r1, [r1, #0x0] + add r2, r2, #0x1 + strb r1, [r3, #0x0] + add r3, r3, #0x1 + cmp r2, #0x5 + blt _0203F684 + ldr r1, [r0, #0x0] + ldr r2, [r5, #0x8] + add r1, r1, #0x1 + str r1, [r0, #0x0] + ldrb r6, [r2, #0x0] + mov r0, #0x4 + bl FUN_02027E5C + add r1, sp, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + add r7, r0, #0x0 + bl FUN_02027F04 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02028048 + add r1, r7, #0x0 + bl FUN_02028094 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02016A18 + ldr r0, _0203F6E0 ; =0x0000FFFF + cmp r5, r0 + bne _0203F6D8 + strh r0, [r4, #0x0] + b _0203F6DA +_0203F6D8: + strh r6, [r4, #0x0] +_0203F6DA: mov r0, #0x0 - pop {r3, pc} + add sp, #0x8 + pop {r3-r7, pc} .balign 4 +_0203F6E0: .word 0x0000FFFF - thumb_func_start FUN_020405CC -FUN_020405CC: ; 0x020405CC + thumb_func_start FUN_0203F6E4 +FUN_0203F6E4: ; 0x0203F6E4 push {r3-r5, lr} - add r4, r0, #0x0 + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02028048 + bl FUN_02028074 + ldr r1, _0203F71C ; =0x0000FFFF + cmp r0, r1 + bne _0203F712 + mov r0, #0x0 + b _0203F714 +_0203F712: + mov r0, #0x1 +_0203F714: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0203F71C: .word 0x0000FFFF + + thumb_func_start FUN_0203F720 +FUN_0203F720: ; 0x0203F720 + push {r4-r6, lr} add r5, r0, #0x0 - add r0, r4, #0x0 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r6, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_02082444 + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r5, r0, #0x0 + cmp r4, #0x3 + bls _0203F752 + bl FUN_02020C2C +_0203F752: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0205F4A0 + strh r0, [r6, #0x0] mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r6, pc} - thumb_func_start FUN_020405F8 -FUN_020405F8: ; 0x020405F8 - push {r4, lr} + thumb_func_start FUN_0203F760 +FUN_0203F760: ; 0x0203F760 + push {r3-r5, lr} add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r1, _02040614 ; =FUN_02040618 + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x20 + ldr r0, [r0, #0xc] + add r2, sp, #0x0 + bl FUN_02022534 + ldr r1, [sp, #0x0] + add r4, r0, #0x0 + cmp r1, #0x0 + bne _0203F798 + mov r1, #0x0 + strh r1, [r5, #0x0] + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0203F798: + cmp r1, #0x1 + bne _0203F7AE + mov r1, #0x0 + bl FUN_0202B21C + strh r0, [r5, #0x0] add r0, r4, #0x0 - bl FUN_02038B5C + bl FUN_02016A18 mov r0, #0x1 - pop {r4, pc} - nop -_02040614: .word FUN_02040618 + 1 - - thumb_func_start FUN_02040618 -FUN_02040618: ; 0x02040618 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - ldr r0, [r0, #0x0] - bl FUN_02082508 - cmp r0, #0x1 - bne _02040632 + pop {r3-r5, pc} +_0203F7AE: + cmp r1, #0x2 + bne _0203F7BE + mov r1, #0x0 + strh r1, [r5, #0x0] + bl FUN_02016A18 mov r0, #0x1 - pop {r3, pc} -_02040632: + pop {r3-r5, pc} +_0203F7BE: mov r0, #0x0 - pop {r3, pc} + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040638 -FUN_02040638: ; 0x02040638 - push {r3, lr} + thumb_func_start FUN_0203F7C8 +FUN_0203F7C8: ; 0x0203F7C8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - ldr r0, [r0, #0x1c] - bl FUN_021F4608 - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204064C -FUN_0204064C: ; 0x0204064C - push {r3, lr} + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - ldr r0, [r0, #0x1c] - bl FUN_021F45E8 - mov r0, #0x0 - pop {r3, pc} + mov r1, #0x13 + bl FUN_02039438 + add r1, r5, #0x0 + add r1, #0x80 + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + mov r0, #0x20 + add r2, r6, #0x0 + bl FUN_02037A48 + str r0, [r4, #0x0] + ldr r1, _0203F808 ; =FUN_0203BC04 + add r0, r5, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} .balign 4 +_0203F808: .word FUN_0203BC04 + 1 - thumb_func_start FUN_02040660 -FUN_02040660: ; 0x02040660 - push {r4-r5, lr} - sub sp, #0x1c - add r5, r0, #0x0 + thumb_func_start FUN_0203F80C +FUN_0203F80C: ; 0x0203F80C + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x14 - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 + add r4, #0x80 add r5, r0, #0x0 - add r0, sp, #0xc - str r0, [sp, #0x0] - add r0, sp, #0x8 - str r0, [sp, #0x4] ldr r0, [r4, #0x0] - add r1, sp, #0x18 - add r2, sp, #0x14 - add r3, sp, #0x10 - bl FUN_020825A0 - ldr r0, [sp, #0x14] - cmp r0, #0x1 - beq _020406B0 - ldr r0, [sp, #0x10] - cmp r0, #0x1 - beq _020406B0 - ldr r0, [sp, #0xc] - cmp r0, #0x1 - beq _020406B0 - ldr r0, [sp, #0x8] + mov r1, #0x13 + bl FUN_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + bne _0203F84C + bl FUN_02020C2C +_0203F84C: + ldr r0, [r4, #0x0] + bl FUN_02037A40 + strh r0, [r6, #0x0] + ldrh r0, [r6, #0x0] + cmp r0, #0x7 + bne _0203F85E + mov r0, #0xff + strh r0, [r6, #0x0] +_0203F85E: + ldr r0, [r4, #0x0] + bl FUN_02037A70 + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] cmp r0, #0x1 - bne _020406B6 -_020406B0: + bne _0203F870 mov r0, #0x1 - strh r0, [r5, #0x0] - b _020406BA -_020406B6: + b _0203F872 +_0203F870: mov r0, #0x0 +_0203F872: strh r0, [r5, #0x0] -_020406BA: - mov r0, #0x0 - add sp, #0x1c - pop {r4-r5, pc} - - thumb_func_start FUN_020406C0 -FUN_020406C0: ; 0x020406C0 - push {r3, lr} - ldr r0, [r0, #0x74] - bl FUN_0224D3E8 - mov r0, #0x1 - pop {r3, pc} - - thumb_func_start FUN_020406CC -FUN_020406CC: ; 0x020406CC - push {r4-r6, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r6, [r0, #0x0] - mov r1, #0xf - add r0, r6, #0x0 - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r4, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - ldrb r5, [r1, #0x0] - add r0, r6, #0x0 - bl FUN_020377AC - bl FUN_020238F4 - add r2, r0, #0x0 ldr r0, [r4, #0x0] - add r1, r5, #0x0 - bl FUN_0200ABC0 + bl FUN_02016A18 mov r0, #0x0 + str r0, [r4, #0x0] pop {r4-r6, pc} - .balign 4 - thumb_func_start FUN_02040700 -FUN_02040700: ; 0x02040700 + thumb_func_start FUN_0203F880 +FUN_0203F880: ; 0x0203F880 push {r3-r5, lr} add r5, r0, #0x0 - add r0, #0x80 - ldr r4, [r0, #0x0] - mov r1, #0xf - add r0, r4, #0x0 - bl FUN_02039438 ldr r2, [r5, #0x8] add r1, r2, #0x1 str r1, [r5, #0x8] - ldrb r1, [r2, #0x0] - ldr r0, [r0, #0x0] - ldr r2, [r4, #0xc] - bl FUN_0200ABE4 + ldrb r4, [r2, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + cmp r4, #0x64 + bls _0203F8A2 + mov r4, #0x64 +_0203F8A2: + bl FUN_0201B9EC + mov r1, #0x65 + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + cmp r0, r4 + bgt _0203F8B8 + mov r0, #0x1 + b _0203F8BA +_0203F8B8: + mov r0, #0x0 +_0203F8BA: + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_02040724 -FUN_02040724: ; 0x02040724 + thumb_func_start FUN_0203F8C0 +FUN_0203F8C0: ; 0x0203F8C0 push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 - ldr r4, [r0, #0x0] - mov r1, #0xf - add r0, r4, #0x0 - bl FUN_02039438 - ldr r2, [r5, #0x8] - add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - ldr r2, [r4, #0xc] - bl FUN_0200AC0C - mov r0, #0x0 + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r4, #0x0 + beq _0203F8FC + cmp r4, #0x1 + beq _0203F906 + cmp r4, #0x2 + beq _0203F910 + b _0203F91A +_0203F8FC: + mov r2, #0x0 + mov r3, #0x20 + bl FUN_0224F12C + b _0203F91E +_0203F906: + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0224F12C + b _0203F91E +_0203F910: + mov r2, #0x2 + mov r3, #0x20 + bl FUN_0224F12C + b _0203F91E +_0203F91A: + bl FUN_02020C2C +_0203F91E: + mov r0, #0x1 pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02040748 -FUN_02040748: ; 0x02040748 - push {r3-r7, lr} + thumb_func_start FUN_0203F924 +FUN_0203F924: ; 0x0203F924 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 - ldr r6, [r0, #0x0] - mov r1, #0xf - add r0, r6, #0x0 - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - add r2, r0, #0x0 - ldr r0, [r7, #0x0] - add r1, r4, #0x0 - bl FUN_0200AC60 + add r0, r4, #0x0 + bl FUN_0205F6A8 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040790 -FUN_02040790: ; 0x02040790 - push {r4-r6, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203F954 +FUN_0203F954: ; 0x0203F954 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + bl FUN_020394F0 + cmp r0, #0x0 + bne _0203F978 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl FUN_02239944 + b _0203F982 +_0203F978: + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x10] + bl FUN_02239AAC +_0203F982: + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0203F988 +FUN_0203F988: ; 0x0203F988 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AE38 + ldr r0, [r0, #0xc] + bl FUN_0203384C + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020407C8 -FUN_020407C8: ; 0x020407C8 - push {r4-r6, lr} + thumb_func_start FUN_0203F9B0 +FUN_0203F9B0: ; 0x0203F9B0 + push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 + bl FUN_020394B8 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AEE0 + ldr r0, [r0, #0xc] + bl FUN_020286EC + bl FUN_02028448 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040800 -FUN_02040800: ; 0x02040800 - push {r4-r6, lr} + thumb_func_start FUN_0203F9DC +FUN_0203F9DC: ; 0x0203F9DC + push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 + bl FUN_020394F0 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - bl FUN_0206EA30 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AD5C + ldr r0, [r0, #0xc] + bl FUN_02026CC4 + ldr r1, _0203FA10 ; =0x0000FF79 + add r1, r4, r1 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + cmp r1, #0x1 + bhi _0203FA0C + bl FUN_02025C30 +_0203FA0C: mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 +_0203FA10: .word 0x0000FF79 - thumb_func_start FUN_0204083C -FUN_0204083C: ; 0x0204083C - push {r4-r6, lr} + thumb_func_start FUN_0203FA14 +FUN_0203FA14: ; 0x0203FA14 + push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AD5C + bl FUN_020394B8 + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r1, _0203FA54 ; =0x0000012A + cmp r4, r1 + blo _0203FA4E + add r1, #0xf + cmp r4, r1 + bhi _0203FA4E + mov r1, #0x1 + strh r1, [r0, #0x0] +_0203FA4E: mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + pop {r3-r5, pc} + nop +_0203FA54: .word 0x0000012A - thumb_func_start FUN_02040874 -FUN_02040874: ; 0x02040874 - push {r4-r6, lr} - sub sp, #0x8 - add r5, r0, #0x0 + thumb_func_start FUN_0203FA58 +FUN_0203FA58: ; 0x0203FA58 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] + bl FUN_020394B8 add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - bl FUN_02054C14 - add r3, r0, #0x0 - mov r0, #0x1 - str r0, [sp, #0x0] str r0, [sp, #0x4] - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - add r2, r5, #0x0 - bl FUN_0200AD38 - mov r0, #0x0 - add sp, #0x8 - pop {r4-r6, pc} - - thumb_func_start FUN_020408BC -FUN_020408BC: ; 0x020408BC - push {r4-r7, lr} - sub sp, #0xc - add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r6, [r1, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x8] + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0x8] - ldr r1, [r5, #0x8] - add r2, r1, #0x1 - str r2, [r5, #0x8] - ldrb r4, [r1, #0x0] - add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r3, [r2, #0x0] - cmp r4, #0x0 - bne _02040904 - bl FUN_02054C14 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 -_02040904: - str r4, [sp, #0x0] - mov r0, #0x1 - str r0, [sp, #0x4] - ldr r0, [r7, #0x0] + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + mov r0, #0x20 + bl FUN_0200AA80 + add r4, r0, #0x0 + ldr r2, _0203FB48 ; =0x00000147 + mov r0, #0x0 + mov r1, #0x1a + mov r3, #0x20 + bl FUN_0200A86C + add r5, r0, #0x0 + ldr r2, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0200B518 ldr r2, [sp, #0x8] - add r1, r6, #0x0 - bl FUN_0200AD38 + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_0200B518 + ldr r2, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x2 + bl FUN_0200B518 + add r0, r4, #0x0 + mov r1, #0x3 + add r2, r7, #0x0 + bl FUN_0200B518 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0200A9C4 + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0200A914 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r7, #0x0 + bl FUN_02021CE0 + cmp r0, #0x0 + bne _0203FB24 + mov r0, #0x1 + b _0203FB26 +_0203FB24: mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} +_0203FB26: + strh r0, [r6, #0x0] + add r0, r7, #0x0 + bl FUN_02021A20 + ldr r0, [sp, #0x0] + bl FUN_02021A20 + add r0, r5, #0x0 + bl FUN_0200A8B8 + add r0, r4, #0x0 + bl FUN_0200AB18 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + nop +_0203FB48: .word 0x00000147 + + thumb_func_start FUN_0203FB4C +FUN_0203FB4C: ; 0x0203FB4C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02023788 + mov r1, #0x1 + bl FUN_02023828 + mov r0, #0x0 + pop {r3, pc} .balign 4 - thumb_func_start FUN_0204091C -FUN_0204091C: ; 0x0204091C - push {r3-r7, lr} + thumb_func_start FUN_0203FB64 +FUN_0203FB64: ; 0x0203FB64 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, #0x80 - ldr r6, [r0, #0x0] - mov r1, #0xf - add r0, r6, #0x0 - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - add r2, r0, #0x0 - ldr r0, [r7, #0x0] - add r1, r4, #0x0 - bl FUN_0200ACF8 + add r0, r4, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_0205296C + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040964 -FUN_02040964: ; 0x02040964 + thumb_func_start FUN_0203FB94 +FUN_0203FB94: ; 0x0203FB94 + push {r3, lr} + bl FUN_02033E74 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203FBA0 +FUN_0203FBA0: ; 0x0203FBA0 + push {r3, lr} + bl FUN_02033ED0 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203FBAC +FUN_0203FBAC: ; 0x0203FBAC + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02034E48 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203FBBC +FUN_0203FBBC: ; 0x0203FBBC push {r3-r7, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 - ldr r4, [r0, #0x0] - ldr r0, [r4, #0xc] - bl FUN_02022510 - str r0, [sp, #0x0] - add r0, r4, #0x0 - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - mov r1, #0x1e - blx FUN_020EBC80 + add r5, #0x80 add r7, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x1e - blx FUN_020EBC80 - add r2, r1, #0x0 - ldr r0, [sp, #0x0] - add r1, r7, #0x0 - bl FUN_0206B5E4 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200ACF8 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02034E30 + bl FUN_02034DCC + str r4, [r0, #0x0] + str r6, [r0, #0x8] + mov r1, #0x0 + str r7, [r0, #0xc] + mvn r1, r1 + str r1, [r0, #0x4] + mov r1, #0x1 + str r1, [r0, #0x10] mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start FUN_020409C0 -FUN_020409C0: ; 0x020409C0 - push {r4-r6, lr} + thumb_func_start FUN_0203FC1C +FUN_0203FC1C: ; 0x0203FC1C + push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 + bl FUN_020394F0 + ldr r2, [r5, #0x8] + add r1, r0, #0x0 + add r0, r2, #0x1 str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 add r5, #0x80 - add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] + ldrb r4, [r2, #0x0] + ldr r0, [r0, #0x34] + bl FUN_02058060 + add r5, r0, #0x0 + bne _0203FC4C + bl FUN_02020C2C +_0203FC4C: + add r0, r5, #0x0 add r1, r4, #0x0 - bl FUN_0200B02C + bl FUN_020588B8 mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_020409F8 -FUN_020409F8: ; 0x020409F8 - push {r4-r6, lr} + thumb_func_start FUN_0203FC58 +FUN_0203FC58: ; 0x0203FC58 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B064 + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02065078 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040A30 -FUN_02040A30: ; 0x02040A30 - push {r3-r7, lr} - add r7, r0, #0x0 + thumb_func_start FUN_0203FC80 +FUN_0203FC80: ; 0x0203FC80 + push {r3-r5, lr} add r0, #0x80 ldr r5, [r0, #0x0] + mov r1, #0x28 add r0, r5, #0x0 - bl FUN_020377AC - bl FUN_020238F4 + bl FUN_02039438 add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0202280C + cmp r0, #0x0 + bne _0203FCAA add r0, r5, #0x0 - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r7, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r7, #0x8] - add r0, r4, #0x0 - ldrb r5, [r1, #0x0] - bl FUN_020239CC - add r7, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02023A28 - add r1, r0, #0x0 - add r0, r7, #0x0 - mov r2, #0x2 - bl FUN_020536D0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r5, #0x0 - bl FUN_0200B09C + mov r1, #0x4 + mov r2, #0x3 + bl FUN_021E8588 + str r0, [r4, #0x0] + bl FUN_021E84F4 +_0203FCAA: mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02040A7C -FUN_02040A7C: ; 0x02040A7C - push {r4-r7, lr} - sub sp, #0xc - add r5, r0, #0x0 + thumb_func_start FUN_0203FCB0 +FUN_0203FCB0: ; 0x0203FCB0 + push {r3-r5, lr} add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xf + ldr r5, [r0, #0x0] + mov r1, #0x28 + add r0, r5, #0x0 bl FUN_02039438 - ldr r1, [r5, #0x8] + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0202280C + cmp r0, #0x0 + bne _0203FCD6 + ldr r0, [r4, #0x0] + bl FUN_021E856C + ldr r0, [r4, #0x0] + bl FUN_021E85E4 +_0203FCD6: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0203FCDC +FUN_0203FCDC: ; 0x0203FCDC + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + add r0, #0x80 + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl FUN_0206367C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0203FCF4 +FUN_0203FCF4: ; 0x0203FCF4 + push {r4-r7, lr} + sub sp, #0x84 add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - ldr r1, [r5, #0x8] - str r0, [sp, #0x8] - add r0, r1, #0x1 - str r0, [r5, #0x8] - ldrb r5, [r1, #0x0] - add r0, r6, #0x0 + mov r4, #0x0 + add r6, r4, #0x0 + add r5, r4, #0x0 +_0203FD10: + add r0, r7, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r1, r5, #0x0 + bl FUN_020239D0 + cmp r0, #0x1 + bne _0203FD2C + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 +_0203FD2C: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x8 + blo _0203FD10 + cmp r6, #0x8 + bhi _0203FD70 + add r0, r6, r6 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0203FD46: ; jump table (using 16-bit offset) + .short _0203FD58 - _0203FD46 - 2; case 0 + .short _0203FD5C - _0203FD46 - 2; case 1 + .short _0203FD5C - _0203FD46 - 2; case 2 + .short _0203FD60 - _0203FD46 - 2; case 3 + .short _0203FD60 - _0203FD46 - 2; case 4 + .short _0203FD64 - _0203FD46 - 2; case 5 + .short _0203FD64 - _0203FD46 - 2; case 6 + .short _0203FD68 - _0203FD46 - 2; case 7 + .short _0203FD6C - _0203FD46 - 2; case 8 +_0203FD58: + mov r1, #0x1 + b _0203FD72 +_0203FD5C: + mov r1, #0x2 + b _0203FD72 +_0203FD60: + mov r1, #0x3 + b _0203FD72 +_0203FD64: mov r1, #0x4 - bl FUN_02040AE4 - add r6, r0, #0x0 - str r5, [sp, #0x0] - mov r0, #0x2 - str r0, [sp, #0x4] - ldr r0, [r7, #0x0] - ldr r3, [sp, #0x8] - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_0200ABB4 - add r0, r6, #0x0 - bl FUN_02021A20 - mov r0, #0x0 - add sp, #0xc + b _0203FD72 +_0203FD68: + mov r1, #0x5 + b _0203FD72 +_0203FD6C: + mov r1, #0x6 + b _0203FD72 +_0203FD70: + mov r1, #0x1 +_0203FD72: + ldr r0, _0203FDB4 ; =0x020F4218 + mov r2, #0x0 + add r6, sp, #0x4 +_0203FD78: + lsl r3, r2, #0x2 + add r5, r0, r3 + ldrh r3, [r5, #0x2] + cmp r1, r3 + blt _0203FD8E + ldrh r5, [r5, #0x0] + lsl r3, r4, #0x1 + strh r5, [r6, r3] + add r3, r4, #0x1 + lsl r3, r3, #0x18 + lsr r4, r3, #0x18 +_0203FD8E: + add r2, r2, #0x1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + cmp r2, #0x13 + blo _0203FD78 + ldr r1, _0203FDB8 ; =0x0000FFFF + lsl r0, r4, #0x1 + add r2, sp, #0x4 + strh r1, [r2, r0] + mov r3, #0x0 + str r3, [sp, #0x0] + ldr r0, [r7, #0x74] + add r7, #0x80 + ldr r1, [r7, #0x0] + bl FUN_0223D3D0 + mov r0, #0x1 + add sp, #0x84 pop {r4-r7, pc} .balign 4 +_0203FDB4: .word 0x020F4218 +_0203FDB8: .word 0x0000FFFF - thumb_func_start FUN_02040AE4 -FUN_02040AE4: ; 0x02040AE4 - push {r3-r5, lr} - ldr r2, _02040B08 ; =0x0000016A - add r4, r0, #0x0 - add r3, r1, #0x0 - mov r0, #0x1 - mov r1, #0x1a - bl FUN_0200A86C - add r5, r0, #0x0 - add r1, r4, #0x0 - bl FUN_0200A914 + thumb_func_start FUN_0203FDBC +FUN_0203FDBC: ; 0x0203FDBC + push {r3-r4, lr} + sub sp, #0x4 add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0200A8B8 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - pop {r3-r5, pc} - .balign 4 -_02040B08: .word 0x0000016A - - thumb_func_start FUN_02040B0C -FUN_02040B0C: ; 0x02040B0C - push {r4-r6, lr} - sub sp, #0x8 - add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r4, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r4, #0x8] - add r4, #0x80 - ldr r0, [r4, #0x0] - ldrb r5, [r1, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F388 - mov r1, #0x4 - bl FUN_02040AE4 - add r4, r0, #0x0 + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, _0203FE00 ; =0x0000FFF8 + add r0, r2, r0 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x5 + bhi _0203FDE4 mov r0, #0x1 + b _0203FDE6 +_0203FDE4: + mov r0, #0x0 +_0203FDE6: + lsl r3, r2, #0x2 str r0, [sp, #0x0] - mov r0, #0x2 - str r0, [sp, #0x4] - ldr r0, [r6, #0x0] - add r1, r5, #0x0 - add r2, r4, #0x0 + ldr r2, _0203FE04 ; =0x02105E10 + ldr r0, [r4, #0x74] + add r4, #0x80 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] mov r3, #0x0 - bl FUN_0200ABB4 - add r0, r4, #0x0 - bl FUN_02021A20 - mov r0, #0x0 - add sp, #0x8 - pop {r4-r6, pc} + bl FUN_0223D3D0 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE00: .word 0x0000FFF8 +_0203FE04: .word 0x02105E10 - thumb_func_start FUN_02040B5C -FUN_02040B5C: ; 0x02040B5C - push {r4-r6, lr} - sub sp, #0x8 + thumb_func_start FUN_0203FE08 +FUN_0203FE08: ; 0x0203FE08 + push {r3-r4, lr} + sub sp, #0x4 add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r4, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r4, #0x8] - add r4, #0x80 - ldr r0, [r4, #0x0] - ldrb r5, [r1, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F398 - mov r1, #0x4 - bl FUN_02040AE4 - add r4, r0, #0x0 + bl FUN_020394F0 + add r2, r0, #0x0 + cmp r2, #0x1 + bhi _0203FE28 mov r0, #0x1 - str r0, [sp, #0x0] - mov r0, #0x2 - str r0, [sp, #0x4] - ldr r0, [r6, #0x0] - add r1, r5, #0x0 - add r2, r4, #0x0 - mov r3, #0x0 - bl FUN_0200ABB4 - add r0, r4, #0x0 - bl FUN_02021A20 + b _0203FE2A +_0203FE28: mov r0, #0x0 - add sp, #0x8 - pop {r4-r6, pc} +_0203FE2A: + lsl r3, r2, #0x2 + str r0, [sp, #0x0] + ldr r2, _0203FE44 ; =0x02105DEC + ldr r0, [r4, #0x74] + add r4, #0x80 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] + mov r3, #0x1 + bl FUN_0223D3D0 + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE44: .word 0x02105DEC - thumb_func_start FUN_02040BAC -FUN_02040BAC: ; 0x02040BAC - push {r4-r6, lr} - sub sp, #0x8 + thumb_func_start FUN_0203FE48 +FUN_0203FE48: ; 0x0203FE48 + push {r3-r4, lr} + sub sp, #0x4 add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r4, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r4, #0x8] + bl FUN_020394F0 + add r2, r0, #0x0 + mov r0, #0x0 + lsl r3, r2, #0x2 + str r0, [sp, #0x0] + ldr r2, _0203FE7C ; =0x02105DF4 + ldr r0, [r4, #0x74] add r4, #0x80 - ldr r0, [r4, #0x0] - ldrb r5, [r1, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F3C0 - mov r1, #0x4 - bl FUN_02040AE4 - add r4, r0, #0x0 + ldr r2, [r2, r3] + ldr r1, [r4, #0x0] + mov r3, #0x2 + bl FUN_0223D3D0 mov r0, #0x1 - str r0, [sp, #0x0] - mov r0, #0x2 - str r0, [sp, #0x4] - ldr r0, [r6, #0x0] - add r1, r5, #0x0 - add r2, r4, #0x0 - mov r3, #0x0 - bl FUN_0200ABB4 - add r0, r4, #0x0 - bl FUN_02021A20 - mov r0, #0x0 - add sp, #0x8 - pop {r4-r6, pc} + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0203FE7C: .word 0x02105DF4 - thumb_func_start FUN_02040BFC -FUN_02040BFC: ; 0x02040BFC - push {r4-r6, lr} + thumb_func_start FUN_0203FE80 +FUN_0203FE80: ; 0x0203FE80 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x10] + bl FUN_02038AD0 + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start FUN_0203FE90 +FUN_0203FE90: ; 0x0203FE90 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B350 + add r1, r0, #0x0 + lsl r1, r1, #0x18 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + bl FUN_02082140 mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_02040C34 -FUN_02040C34: ; 0x02040C34 - push {r4-r6, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203FEC0 +FUN_0203FEC0: ; 0x0203FEC0 + push {r4, lr} + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B1D4 - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + str r0, [r4, #0x64] + ldr r1, _0203FEF0 ; =FUN_0203FEF4 + add r0, r4, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0203FEF0: .word FUN_0203FEF4 + 1 - thumb_func_start FUN_02040C6C -FUN_02040C6C: ; 0x02040C6C - push {r4-r6, lr} - add r5, r0, #0x0 + thumb_func_start FUN_0203FEF4 +FUN_0203FEF4: ; 0x0203FEF4 + push {r4, lr} + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B164 - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + ldr r1, [r4, #0x64] + ldr r0, [r0, #0x0] + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FUN_02082158 + pop {r4, pc} - thumb_func_start FUN_02040CA4 -FUN_02040CA4: ; 0x02040CA4 + thumb_func_start FUN_0203FF10 +FUN_0203FF10: ; 0x0203FF10 push {r3-r7, lr} - sub sp, #0x8 + sub sp, #0x38 add r5, r0, #0x0 - mov r0, #0x16 - mov r1, #0x4 - bl FUN_020219F4 - add r4, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + str r0, [sp, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r6, [r1, #0x0] bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - mov r1, #0x4 - add r2, r4, #0x0 - bl FUN_02064E60 - mov r0, #0x1 - str r0, [sp, #0x0] - mov r0, #0x2 str r0, [sp, #0x4] - ldr r0, [r7, #0x0] - add r1, r6, #0x0 - add r2, r4, #0x0 - mov r3, #0x0 - bl FUN_0200ABB4 - add r0, r4, #0x0 - bl FUN_02021A20 - mov r0, #0x0 - add sp, #0x8 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_02040D04 -FUN_02040D04: ; 0x02040D04 - push {r3-r7, lr} - sub sp, #0x8 - add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r4, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r4, #0x8] - add r0, r4, #0x0 - ldrb r6, [r1, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x8] + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - add r0, r4, #0x0 + str r0, [sp, #0xc] + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - sub r5, #0x95 - add r4, r0, #0x0 - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x20 - bl FUN_020852E8 - add r5, r0, #0x0 - cmp r4, #0x2 - bhs _02040D5A - mov r0, #0x1 - b _02040D5C -_02040D5A: - mov r0, #0x0 -_02040D5C: - str r0, [sp, #0x0] - mov r0, #0x2 - str r0, [sp, #0x4] - ldr r0, [r7, #0x0] + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C add r1, r6, #0x0 - add r2, r5, #0x0 - mov r3, #0x0 - bl FUN_0200ABB4 + bl FUN_0206B9B0 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x4 + bl FUN_020239A0 + add r7, r0, #0x0 + ldr r1, [sp, #0x8] + add r0, sp, #0x14 + strb r1, [r0, #0x0] + ldr r1, [sp, #0x4] + strb r1, [r0, #0x1] + ldr r1, [sp, #0xc] + strb r1, [r0, #0x2] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED0C + add r1, sp, #0x14 + strb r0, [r1, #0x3] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + bl FUN_02024CA4 + add r1, sp, #0x14 + strb r0, [r1, #0x4] + strb r6, [r1, #0x5] + ldr r0, [sp, #0x10] + str r7, [sp, #0x20] + str r0, [sp, #0x1c] + add r0, r5, #0x0 + str r4, [sp, #0x24] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02027E24 + str r0, [sp, #0x28] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02023900 + str r0, [sp, #0x2c] add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r5, #0x80 + ldr r0, [r0, #0xc] + str r0, [sp, #0x30] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029EF8 + str r0, [sp, #0x34] + add r0, sp, #0x14 + bl FUN_02081214 + ldr r1, [sp, #0x0] + str r0, [r1, #0x0] + add r0, r7, #0x0 bl FUN_02021A20 mov r0, #0x0 - add sp, #0x8 + add sp, #0x38 pop {r3-r7, pc} - .balign 4 - thumb_func_start FUN_02040D7C -FUN_02040D7C: ; 0x02040D7C - push {r4-r6, lr} + thumb_func_start FUN_02040028 +FUN_02040028: ; 0x02040028 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034824 + add r5, #0x80 + ldr r3, [r5, #0x0] add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AE04 + ldr r1, [r3, #0xc] + add r3, #0x98 + ldr r0, [r4, #0x0] + ldr r3, [r3, #0x0] + bl FUN_02082630 + ldr r0, [r4, #0x0] + bl FUN_020814E8 mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_02040DB4 -FUN_02040DB4: ; 0x02040DB4 - push {r4-r6, lr} + thumb_func_start FUN_02040074 +FUN_02040074: ; 0x02040074 + push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B660 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl FUN_0208201C mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02040DEC -FUN_02040DEC: ; 0x02040DEC + thumb_func_start FUN_020400C8 +FUN_020400C8: ; 0x020400C8 push {r3-r7, lr} - sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - mov r0, #0xb - ldrb r6, [r1, #0x0] + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 add r1, r0, #0x0 - bl FUN_020219F4 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024EB4 - bl FUN_02024F0C add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02021E28 - ldr r0, _02040E48 ; =0x020ECAC4 - mov r3, #0x0 - ldrb r0, [r0, #0x0] - str r3, [sp, #0x0] - add r1, r6, #0x0 - str r0, [sp, #0x4] - ldr r0, [r7, #0x0] - add r2, r4, #0x0 - bl FUN_0200ABB4 - add r0, r4, #0x0 - bl FUN_02021A20 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl FUN_02082034 mov r0, #0x0 - add sp, #0x8 pop {r3-r7, pc} - nop -_02040E48: .word 0x020ECAC4 + .balign 4 - thumb_func_start FUN_02040E4C -FUN_02040E4C: ; 0x02040E4C + thumb_func_start FUN_0204011C +FUN_0204011C: ; 0x0204011C push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 - ldr r6, [r0, #0x0] + ldr r0, [r0, #0x0] mov r1, #0xf - add r0, r6, #0x0 bl FUN_02039438 - ldr r1, [r4, #0x8] - add r7, r0, #0x0 - add r0, r1, #0x1 - str r0, [r4, #0x8] - add r0, r4, #0x0 - ldrb r5, [r1, #0x0] + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - str r0, [sp, #0x0] - add r0, r4, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - ldr r1, [sp, #0x0] - bl FUN_0206B9B0 - add r4, #0x36 - add r1, r4, #0x0 - mov r2, #0x0 - bl FUN_020671BC - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - ldr r0, [r7, #0x0] - add r1, r5, #0x0 - bl FUN_0200AD5C + add r3, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl FUN_0208206C mov r0, #0x0 pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02040EB4 -FUN_02040EB4: ; 0x02040EB4 + thumb_func_start FUN_02040170 +FUN_02040170: ; 0x02040170 push {r4-r6, lr} + sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x3 - bl FUN_0207FC5C - lsl r0, r0, #0x10 - lsr r2, r0, #0x10 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AD94 + add r1, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r3, #0x1 + str r3, [sp, #0x4] + ldr r0, [r4, #0x0] + add r2, r6, #0x0 + bl FUN_0200AD38 mov r0, #0x0 + add sp, #0x8 pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02040EF8 -FUN_02040EF8: ; 0x02040EF8 + thumb_func_start FUN_020401CC +FUN_020401CC: ; 0x020401CC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_02081DC4 + ldr r1, _020401EC ; =FUN_020401F0 + add r0, r4, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4, pc} + .balign 4 +_020401EC: .word FUN_020401F0 + 1 + + thumb_func_start FUN_020401F0 +FUN_020401F0: ; 0x020401F0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_02081EB8 + pop {r3, pc} + + thumb_func_start FUN_02040204 +FUN_02040204: ; 0x02040204 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r1, r0, #0x0 + ldr r0, [r4, #0x74] + ldr r1, [r1, #0x0] + bl FUN_02080E0C + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start FUN_02040220 +FUN_02040220: ; 0x02040220 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - sub r2, r2, #0x1 - lsl r2, r2, #0x10 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - lsr r2, r2, #0x10 - bl FUN_0200B534 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl FUN_02082090 mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_02040F34 -FUN_02040F34: ; 0x02040F34 + thumb_func_start FUN_0204025C +FUN_0204025C: ; 0x0204025C push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AE70 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl FUN_020820B8 mov r0, #0x0 pop {r4-r6, pc} - .balign 4 - thumb_func_start FUN_02040F6C -FUN_02040F6C: ; 0x02040F6C + thumb_func_start FUN_02040298 +FUN_02040298: ; 0x02040298 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200AEA8 + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl FUN_020820DC mov r0, #0x0 pop {r4-r6, pc} - .balign 4 - thumb_func_start FUN_02040FA4 -FUN_02040FA4: ; 0x02040FA4 - push {r4-r6, lr} + thumb_func_start FUN_020402D4 +FUN_020402D4: ; 0x020402D4 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B388 + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_0208213C + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02040FDC -FUN_02040FDC: ; 0x02040FDC + thumb_func_start FUN_02040304 +FUN_02040304: ; 0x02040304 push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B20C + ldr r0, [r4, #0x0] + ldr r1, [r6, #0x0] + bl FUN_0208210C mov r0, #0x0 pop {r4-r6, pc} - .balign 4 - thumb_func_start FUN_02041014 -FUN_02041014: ; 0x02041014 - push {r4-r6, lr} + thumb_func_start FUN_02040340 +FUN_02040340: ; 0x02040340 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B19C + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_0208217C + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204104C -FUN_0204104C: ; 0x0204104C - push {r3-r7, lr} + thumb_func_start FUN_02040370 +FUN_02040370: ; 0x02040370 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 + add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - ldr r0, [r5, #0x8] - add r1, r4, #0x0 - add r0, r0, #0x1 - str r0, [r5, #0x8] - ldr r0, [r6, #0x0] - add r2, r7, #0x0 - bl FUN_0200ACC0 - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_02041094 -FUN_02041094: ; 0x02041094 - push {r4-r6, lr} - add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] add r5, #0x80 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldrb r4, [r1, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F3C0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200ACC0 + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_02082190 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020410C8 -FUN_020410C8: ; 0x020410C8 - push {r4-r6, lr} + thumb_func_start FUN_020403A0 +FUN_020403A0: ; 0x020403A0 + push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] + add r4, r0, #0x0 add r0, r5, #0x0 - ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B698 + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020821B4 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02041100 -FUN_02041100: ; 0x02041100 + thumb_func_start FUN_020403D0 +FUN_020403D0: ; 0x020403D0 push {r4-r6, lr} - add r5, r0, #0x0 + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r1, [r5, #0x8] - add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - bl FUN_0200B09C - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_02041138 -FUN_02041138: ; 0x02041138 - push {r4-r6, lr} - add r5, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf - bl FUN_02039438 - ldr r1, [r5, #0x8] + bl FUN_020394F0 add r6, r0, #0x0 - add r0, r1, #0x1 - str r0, [r5, #0x8] - add r0, r5, #0x0 - ldrb r4, [r1, #0x0] + add r0, r4, #0x0 bl FUN_02038C30 - add r5, #0x80 + add r4, #0x80 add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r2, r0, #0x0 - sub r2, r2, #0x1 - lsl r2, r2, #0x10 - ldr r0, [r6, #0x0] - add r1, r4, #0x0 - lsr r2, r2, #0x10 - bl FUN_0200B568 + add r1, r6, #0x0 + bl FUN_020821C4 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_02041174 -FUN_02041174: ; 0x02041174 - push {r4, lr} + thumb_func_start FUN_02040414 +FUN_02040414: ; 0x02040414 + push {r4-r6, lr} add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xf + mov r1, #0x14 bl FUN_02039438 - ldr r2, [r4, #0x8] - add r1, r2, #0x1 - str r1, [r4, #0x8] - ldrb r1, [r2, #0x0] + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_0200B7A8 + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl FUN_020821DC + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4, pc} + pop {r4-r6, pc} - thumb_func_start FUN_02041194 -FUN_02041194: ; 0x02041194 + thumb_func_start FUN_02040458 +FUN_02040458: ; 0x02040458 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -127926,905 +136463,557 @@ FUN_02041194: ; 0x02041194 ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0205F5D8 + ldr r0, [r4, #0x0] + bl FUN_020821F0 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020411C4 -FUN_020411C4: ; 0x020411C4 - push {r4-r7, lr} - sub sp, #0x24 - add r4, r0, #0x0 + thumb_func_start FUN_02040488 +FUN_02040488: ; 0x02040488 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 add r0, #0x80 - ldr r7, [r0, #0x0] - ldr r0, [r7, #0xc] - bl FUN_02022510 - str r0, [sp, #0x20] - add r0, r4, #0x0 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - str r0, [sp, #0xc] - add r0, r4, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - str r0, [sp, #0x8] - add r0, r4, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 str r0, [sp, #0x4] - add r0, r4, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 str r0, [sp, #0x0] - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - ldr r0, _0204133C ; =0x00000000 - str r0, [sp, #0x1c] - str r0, [sp, #0x18] - ldr r5, [sp, #0x1c] - beq _02041286 -_0204123C: - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204127C - add r0, r4, #0x0 - mov r1, #0x7 - mov r2, #0x0 - bl FUN_020671BC - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - lsl r1, r1, #0x10 - ldr r0, [sp, #0x0] - lsr r1, r1, #0x10 - bl FUN_02041354 - cmp r0, #0x0 - beq _0204127C - ldr r1, [sp, #0x1c] - cmp r1, r0 - bge _0204127C - str r0, [sp, #0x1c] - str r5, [sp, #0x18] -_0204127C: - add r0, r5, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, r6 - blo _0204123C -_02041286: - mov r6, #0x0 - str r6, [sp, #0x14] - str r6, [sp, #0x10] - add r7, r6, #0x0 -_0204128E: - mov r5, #0x0 -_02041290: - ldr r0, [sp, #0x20] - ldr r1, [sp, #0x10] - add r2, r5, #0x0 - bl FUN_0206B5E4 - mov r1, #0x5 - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020672BC - cmp r0, #0x0 - beq _020412E0 - add r0, r4, #0x0 - mov r1, #0x4c - mov r2, #0x0 - bl FUN_020672BC - cmp r0, #0x0 - bne _020412E0 - add r0, r4, #0x0 - mov r1, #0x7 - mov r2, #0x0 - bl FUN_020672BC - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - lsl r1, r1, #0x10 - ldr r0, [sp, #0x0] - lsr r1, r1, #0x10 - bl FUN_02041354 - cmp r0, #0x0 - beq _020412E0 - cmp r6, r0 - bge _020412E0 - add r6, r0, #0x0 - add r0, r5, r7 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x14] -_020412E0: - add r5, r5, #0x1 - cmp r5, #0x1e - blo _02041290 - ldr r0, [sp, #0x10] - add r7, #0x1e - add r0, r0, #0x1 - str r0, [sp, #0x10] - cmp r0, #0x12 - blo _0204128E - ldr r0, [sp, #0x1c] - cmp r0, #0x0 - bne _0204130C - cmp r6, #0x0 - bne _0204130C - ldr r0, [sp, #0xc] - mov r1, #0x0 - strh r1, [r0, #0x0] - ldr r0, [sp, #0x8] - strh r1, [r0, #0x0] - ldr r0, [sp, #0x4] - strh r1, [r0, #0x0] - b _02041336 -_0204130C: - ldr r0, [sp, #0x1c] - cmp r0, r6 - blo _02041326 - ldr r1, [sp, #0x18] - ldr r0, [sp, #0xc] - strh r1, [r0, #0x0] - ldr r1, [sp, #0x1c] - ldr r0, [sp, #0x8] - strh r1, [r0, #0x0] - ldr r0, [sp, #0x4] - mov r1, #0x0 - strh r1, [r0, #0x0] - b _02041336 -_02041326: - ldr r1, [sp, #0x14] - ldr r0, [sp, #0xc] - strh r1, [r0, #0x0] - ldr r0, [sp, #0x8] - mov r1, #0x1 - strh r6, [r0, #0x0] - ldr r0, [sp, #0x4] - strh r1, [r0, #0x0] -_02041336: + ldr r0, [r4, #0x0] + ldr r3, [sp, #0x4] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_02082214 mov r0, #0x0 - add sp, #0x24 - pop {r4-r7, pc} + add sp, #0x8 + pop {r3-r7, pc} .balign 4 -_0204133C: .word 0x00000000 - thumb_func_start FUN_02041340 -FUN_02041340: ; 0x02041340 - push {r3, lr} + thumb_func_start FUN_020404FC +FUN_020404FC: ; 0x020404FC + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F5FC - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02041354 -FUN_02041354: ; 0x02041354 - push {r4-r7, lr} - sub sp, #0xc - mov r6, #0x0 - add r5, r0, #0x0 - add r4, r1, #0x0 - add r7, r6, #0x0 -_02041360: - add r0, r5, #0x0 - mov r1, #0xa - blx FUN_020EBC80 - lsl r0, r1, #0x10 - lsr r0, r0, #0x10 - str r1, [sp, #0x0] - str r0, [sp, #0x4] - add r0, r4, #0x0 - mov r1, #0xa - blx FUN_020EBC80 - lsl r0, r1, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x8] - ldr r0, [sp, #0x0] - cmp r0, r1 - bne _020413AC - add r0, r5, #0x0 - mov r1, #0xa - blx FUN_020EBC80 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #0x0 - mov r1, #0xa - blx FUN_020EBC80 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - add r0, r6, #0x1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - add r0, r7, #0x1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - cmp r7, #0x5 - blo _02041360 -_020413AC: - ldr r1, _020413BC ; =0x021C5A10 - ldr r0, [sp, #0x8] - strh r0, [r1, #0x2] - ldr r0, [sp, #0x4] - strh r0, [r1, #0x0] - add r0, r6, #0x0 - add sp, #0xc - pop {r4-r7, pc} - .balign 4 -_020413BC: .word 0x021C5A10 - - thumb_func_start FUN_020413C0 -FUN_020413C0: ; 0x020413C0 - push {r3-r5, lr} + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02005410 - strh r0, [r4, #0x0] + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_02082254 + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - - thumb_func_start FUN_020413E8 -FUN_020413E8: ; 0x020413E8 - push {r3, lr} - bl FUN_02038C30 - bl FUN_0200521C - mov r0, #0x0 - pop {r3, pc} .balign 4 - thumb_func_start FUN_020413F8 -FUN_020413F8: ; 0x020413F8 - push {r3, lr} - bl FUN_02038C30 - bl FUN_02004124 - mov r1, #0x0 - bl FUN_02005350 - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_0204140C -FUN_0204140C: ; 0x0204140C - push {r3, lr} + thumb_func_start FUN_0204052C +FUN_0204052C: ; 0x0204052C + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r1, [r0, #0x1c] - ldr r1, [r1, #0x0] - bl FUN_0204ABA8 - bl FUN_0200521C - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_02041424 -FUN_02041424: ; 0x02041424 - push {r4, lr} + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_0204AB20 + ldr r1, [r6, #0x0] + mov r3, #0xb + bl FUN_02082284 mov r0, #0x0 - pop {r4, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204143C -FUN_0204143C: ; 0x0204143C + thumb_func_start FUN_0204056C +FUN_0204056C: ; 0x0204056C push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_020053CC - ldr r1, _02041460 ; =FUN_02041464 - add r0, r5, #0x0 - bl FUN_02038B5C - mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 -_02041460: .word FUN_02041464 + 1 - - thumb_func_start FUN_02041464 -FUN_02041464: ; 0x02041464 - push {r3, lr} - bl FUN_02005404 - cmp r0, #0x0 - bne _02041472 - mov r0, #0x1 - pop {r3, pc} -_02041472: - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_02041478 -FUN_02041478: ; 0x02041478 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - mov r0, #0x7f - mov r2, #0x0 - bl FUN_0200538C - ldr r1, _02041498 ; =FUN_02041464 - add r0, r4, #0x0 - bl FUN_02038B5C - mov r0, #0x1 - pop {r4, pc} - nop -_02041498: .word FUN_02041464 + 1 - - thumb_func_start FUN_0204149C -FUN_0204149C: ; 0x0204149C - push {r3, lr} - ldr r1, [r0, #0x8] - add r3, r1, #0x1 - str r3, [r0, #0x8] - ldrb r2, [r1, #0x0] - add r1, r3, #0x1 - str r1, [r0, #0x8] - ldrb r1, [r3, #0x0] - add r0, r2, #0x0 - bl FUN_020047C8 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020822F0 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r3, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020414B8 -FUN_020414B8: ; 0x020414B8 + thumb_func_start FUN_0204059C +FUN_0204059C: ; 0x0204059C push {r3, lr} - bl FUN_02038C30 - add r1, r0, #0x0 - mov r0, #0x4 - bl FUN_02005308 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_0208223C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start FUN_020414CC -FUN_020414CC: ; 0x020414CC + thumb_func_start FUN_020405B4 +FUN_020405B4: ; 0x020405B4 push {r3, lr} - ldr r2, [r0, #0x8] - add r1, r2, #0x1 - str r1, [r0, #0x8] - ldrb r0, [r2, #0x0] - bl FUN_020040F4 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_0208224C mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start FUN_020414E0 -FUN_020414E0: ; 0x020414E0 - push {r4, lr} + thumb_func_start FUN_020405CC +FUN_020405CC: ; 0x020405CC + push {r3-r5, lr} add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x14 + bl FUN_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394F0 - bl FUN_020054C8 - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_020414FC -FUN_020414FC: ; 0x020414FC - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 - mov r1, #0x0 - bl FUN_020054F0 + ldr r0, [r5, #0x0] + bl FUN_02082444 mov r0, #0x0 - pop {r4, pc} + pop {r3-r5, pc} - thumb_func_start FUN_02041518 -FUN_02041518: ; 0x02041518 + thumb_func_start FUN_020405F8 +FUN_020405F8: ; 0x020405F8 push {r4, lr} add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [r4, #0x64] - ldr r1, _0204153C ; =FUN_02041540 + mov r1, #0x14 + bl FUN_02039438 + ldr r1, _02040614 ; =FUN_02040618 add r0, r4, #0x0 bl FUN_02038B5C mov r0, #0x1 pop {r4, pc} nop -_0204153C: .word FUN_02041540 + 1 +_02040614: .word FUN_02040618 + 1 - thumb_func_start FUN_02041540 -FUN_02041540: ; 0x02041540 + thumb_func_start FUN_02040618 +FUN_02040618: ; 0x02040618 push {r3, lr} - ldr r0, [r0, #0x64] - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02005508 - cmp r0, #0x0 - bne _02041554 - mov r0, #0x1 - pop {r3, pc} -_02041554: - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02041558 -FUN_02041558: ; 0x02041558 - push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 - add r0, r5, #0x0 - bl FUN_02005578 - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02041588 -FUN_02041588: ; 0x02041588 - push {r3, lr} - ldr r1, _02041594 ; =FUN_02041598 - bl FUN_02038B5C - mov r0, #0x1 - pop {r3, pc} - .balign 4 -_02041594: .word FUN_02041598 + 1 - - thumb_func_start FUN_02041598 -FUN_02041598: ; 0x02041598 - push {r3, lr} - bl FUN_02005670 - cmp r0, #0x0 - bne _020415A6 + mov r1, #0x14 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_02082508 + cmp r0, #0x1 + bne _02040632 mov r0, #0x1 pop {r3, pc} -_020415A6: +_02040632: mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start FUN_020415AC -FUN_020415AC: ; 0x020415AC + thumb_func_start FUN_02040638 +FUN_02040638: ; 0x02040638 push {r3, lr} - bl FUN_02038C30 - bl FUN_02005C28 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0x1c] + bl FUN_021F4608 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start FUN_020415BC -FUN_020415BC: ; 0x020415BC - push {r3, lr} - ldr r1, _020415C8 ; =FUN_020415CC - bl FUN_02038B5C - mov r0, #0x1 - pop {r3, pc} - .balign 4 -_020415C8: .word FUN_020415CC + 1 - - thumb_func_start FUN_020415CC -FUN_020415CC: ; 0x020415CC + thumb_func_start FUN_0204064C +FUN_0204064C: ; 0x0204064C push {r3, lr} - bl FUN_02005CBC - cmp r0, #0x0 - bne _020415DA - mov r0, #0x1 - pop {r3, pc} -_020415DA: + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + ldr r0, [r0, #0x1c] + bl FUN_021F45E8 mov r0, #0x0 pop {r3, pc} .balign 4 - thumb_func_start FUN_020415E0 -FUN_020415E0: ; 0x020415E0 - push {r3-r5, lr} + thumb_func_start FUN_02040660 +FUN_02040660: ; 0x02040660 + push {r4-r5, lr} + sub sp, #0x1c add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029EF8 - bl FUN_02005D20 - cmp r0, #0x1 - bne _02041610 - mov r0, #0x1 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} -_02041610: - mov r0, #0x0 - strh r0, [r4, #0x0] - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02041618 -FUN_02041618: ; 0x02041618 - push {r4, lr} + mov r1, #0x14 + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394B8 - add r4, r0, #0x0 - bl FUN_02005E28 - cmp r0, #0x0 - bne _0204163C + add r5, r0, #0x0 + add r0, sp, #0xc + str r0, [sp, #0x0] + add r0, sp, #0x8 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + add r1, sp, #0x18 + add r2, sp, #0x14 + add r3, sp, #0x10 + bl FUN_020825A0 + ldr r0, [sp, #0x14] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0x10] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0xc] + cmp r0, #0x1 + beq _020406B0 + ldr r0, [sp, #0x8] + cmp r0, #0x1 + bne _020406B6 +_020406B0: mov r0, #0x1 - strh r0, [r4, #0x0] + strh r0, [r5, #0x0] + b _020406BA +_020406B6: mov r0, #0x0 - pop {r4, pc} -_0204163C: + strh r0, [r5, #0x0] +_020406BA: mov r0, #0x0 - strh r0, [r4, #0x0] - pop {r4, pc} - .balign 4 + add sp, #0x1c + pop {r4-r5, pc} - thumb_func_start FUN_02041644 -FUN_02041644: ; 0x02041644 + thumb_func_start FUN_020406C0 +FUN_020406C0: ; 0x020406C0 push {r3, lr} - bl FUN_02005E64 + ldr r0, [r0, #0x74] + bl FUN_0224D3E8 mov r0, #0x1 pop {r3, pc} + + thumb_func_start FUN_020406CC +FUN_020406CC: ; 0x020406CC + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r4, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r5, [r1, #0x0] + add r0, r6, #0x0 + bl FUN_020377AC + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl FUN_0200ABC0 + mov r0, #0x0 + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02041650 -FUN_02041650: ; 0x02041650 - push {r3, lr} + thumb_func_start FUN_02040700 +FUN_02040700: ; 0x02040700 + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xf + add r0, r4, #0x0 + bl FUN_02039438 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029EF8 - bl FUN_02005E6C - mov r0, #0x1 - pop {r3, pc} - - thumb_func_start FUN_02041664 -FUN_02041664: ; 0x02041664 - push {r3, lr} - mov r1, #0x0 - mov r0, #0x3f - add r2, r1, #0x0 - bl FUN_0200433C - mov r0, #0x1 - pop {r3, pc} + ldr r2, [r4, #0xc] + bl FUN_0200ABE4 + mov r0, #0x0 + pop {r3-r5, pc} - thumb_func_start FUN_02041674 -FUN_02041674: ; 0x02041674 + thumb_func_start FUN_02040724 +FUN_02040724: ; 0x02040724 push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + add r5, r0, #0x0 add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0xf + add r0, r4, #0x0 + bl FUN_02039438 + ldr r2, [r5, #0x8] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] ldr r0, [r0, #0x0] - bl FUN_020394F0 + ldr r2, [r4, #0xc] + bl FUN_0200AC0C + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02040748 +FUN_02040748: ; 0x02040748 + push {r3-r7, lr} add r5, r0, #0x0 - add r0, r4, #0x0 + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - add r1, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0200488C + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + add r2, r0, #0x0 + ldr r0, [r7, #0x0] + add r1, r4, #0x0 + bl FUN_0200AC60 mov r0, #0x0 - pop {r3-r5, pc} + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_020416A8 -FUN_020416A8: ; 0x020416A8 - push {r3-r7, lr} - sub sp, #0x18 + thumb_func_start FUN_02040790 +FUN_02040790: ; 0x02040790 + push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AE38 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_020407C8 +FUN_020407C8: ; 0x020407C8 + push {r4-r6, lr} add r5, r0, #0x0 - bne _02041708 - add r0, r4, #0x0 - mov r1, #0x18 - bl FUN_02039438 - str r0, [sp, #0x14] - add r0, r4, #0x0 - mov r1, #0x19 - bl FUN_02039438 - str r0, [sp, #0xc] - add r0, r4, #0x0 - mov r1, #0x1a - bl FUN_02039438 - add r0, r4, #0x0 - mov r1, #0x1b - bl FUN_02039438 - add r0, r4, #0x0 - mov r1, #0x1c - bl FUN_02039438 - str r0, [sp, #0x10] - add r0, r4, #0x0 - mov r1, #0x1d - bl FUN_02039438 - add r6, r0, #0x0 - add r0, r4, #0x0 - mov r1, #0x1e - bl FUN_02039438 - b _02041748 -_02041708: - add r0, r4, #0x0 - mov r1, #0x1f - bl FUN_02039438 - str r0, [sp, #0x14] - add r0, r4, #0x0 - mov r1, #0x20 - bl FUN_02039438 - str r0, [sp, #0xc] - add r0, r4, #0x0 - mov r1, #0x21 - bl FUN_02039438 - add r0, r4, #0x0 - mov r1, #0x22 - bl FUN_02039438 - add r0, r4, #0x0 - mov r1, #0x23 - bl FUN_02039438 - str r0, [sp, #0x10] - add r0, r4, #0x0 - mov r1, #0x24 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 - add r0, r4, #0x0 - mov r1, #0x25 - bl FUN_02039438 -_02041748: - add r7, r0, #0x0 - mov r0, #0x0 - str r0, [sp, #0x0] - ldr r0, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r0, [r0, #0x0] - ldr r3, [sp, #0x14] - str r0, [sp, #0x4] - str r5, [sp, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 ldr r0, [r6, #0x0] - ldr r1, [r4, #0x38] - ldr r2, [r2, #0x0] - ldr r3, [r3, #0x0] - bl FUN_0205CA4C - str r0, [r7, #0x0] + add r1, r4, #0x0 + bl FUN_0200AEE0 mov r0, #0x0 - add sp, #0x18 - pop {r3-r7, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02041770 -FUN_02041770: ; 0x02041770 + thumb_func_start FUN_02040800 +FUN_02040800: ; 0x02040800 push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - mov r0, #0x0 - strh r0, [r4, #0x0] - cmp r6, #0x0 - bne _020417AE add r5, #0x80 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - mov r1, #0x1e - bl FUN_02039438 - b _020417B8 -_020417AE: - add r5, #0x80 - ldr r0, [r5, #0x0] - mov r1, #0x25 - bl FUN_02039438 -_020417B8: - add r5, r0, #0x0 - ldr r0, [r5, #0x0] - cmp r0, #0x0 - bne _020417C6 - mov r0, #0x1 - strh r0, [r4, #0x0] - pop {r4-r6, pc} -_020417C6: - bl FUN_0205CA64 - cmp r0, #0x1 - bne _020417DC - ldr r0, [r5, #0x0] - bl FUN_0205CA78 + bl FUN_020394F0 + bl FUN_0206EA30 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AD5C mov r0, #0x0 - str r0, [r5, #0x0] - mov r0, #0x1 - strh r0, [r4, #0x0] -_020417DC: - mov r0, #0x1 pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_020417E0 -FUN_020417E0: ; 0x020417E0 - push {r3-r5, lr} - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x1c - bl FUN_02039438 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 - ldrh r1, [r5, #0x0] - strh r1, [r0, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02041808 -FUN_02041808: ; 0x02041808 - push {r3-r7, lr} + thumb_func_start FUN_0204083C +FUN_0204083C: ; 0x0204083C + push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x1b - bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x22 + mov r1, #0xf bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - cmp r7, #0x0 - bne _02041852 - ldrh r1, [r4, #0x0] - b _02041854 -_02041852: - ldrh r1, [r6, #0x0] -_02041854: - strh r1, [r0, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AD5C mov r0, #0x0 - pop {r3-r7, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204185C -FUN_0204185C: ; 0x0204185C - push {r3-r5, lr} + thumb_func_start FUN_02040874 +FUN_02040874: ; 0x02040874 + push {r4-r6, lr} + sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x8 + mov r1, #0xf bl FUN_02039438 - add r4, r0, #0x0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 add r5, r0, #0x0 - ldrh r0, [r4, #0x0] - bl FUN_020395F4 - strh r0, [r5, #0x0] + bl FUN_02054C14 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + add r2, r5, #0x0 + bl FUN_0200AD38 mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 + add sp, #0x8 + pop {r4-r6, pc} - thumb_func_start FUN_0204188C -FUN_0204188C: ; 0x0204188C - push {r3-r7, lr} - sub sp, #0x10 + thumb_func_start FUN_020408BC +FUN_020408BC: ; 0x020408BC + push {r4-r7, lr} + sub sp, #0xc add r5, r0, #0x0 add r0, #0x80 - ldr r4, [r0, #0x0] - mov r1, #0x8 - add r0, r4, #0x0 - bl FUN_02039438 - add r0, r4, #0x0 - mov r1, #0x17 + ldr r0, [r0, #0x0] + mov r1, #0xf bl FUN_02039438 + ldr r1, [r5, #0x8] add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - str r0, [sp, #0xc] - add r0, r5, #0x0 + ldrb r6, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 @@ -128832,1812 +137021,1102 @@ FUN_0204188C: ; 0x0204188C ldr r0, [r0, #0x0] bl FUN_020394F0 str r0, [sp, #0x8] - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r6, #0x0 - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED3C - cmp r0, #0x1 - bne _020418F2 - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205F368 - add r6, r0, #0x0 -_020418F2: - mov r0, #0xb - str r0, [sp, #0x0] - str r7, [sp, #0x4] - ldr r0, [r5, #0x74] - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x8] - add r3, r6, #0x0 - bl FUN_020470E8 + ldr r1, [r5, #0x8] + add r2, r1, #0x1 + str r2, [r5, #0x8] + ldrb r4, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r3, [r2, #0x0] + cmp r4, #0x0 + bne _02040904 + bl FUN_02054C14 + lsl r0, r0, #0x18 + lsr r3, r0, #0x18 +_02040904: + str r4, [sp, #0x0] mov r0, #0x1 - add sp, #0x10 - pop {r3-r7, pc} + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + ldr r2, [sp, #0x8] + add r1, r6, #0x0 + bl FUN_0200AD38 + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} .balign 4 - thumb_func_start FUN_0204190C -FUN_0204190C: ; 0x0204190C + thumb_func_start FUN_0204091C +FUN_0204091C: ; 0x0204091C push {r3-r7, lr} - sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x17 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 + ldr r1, [r5, #0x8] add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 add r2, r0, #0x0 - mov r0, #0xb - str r0, [sp, #0x0] - str r4, [sp, #0x4] - ldr r0, [r5, #0x74] - add r1, r7, #0x0 - add r3, r6, #0x0 - bl FUN_020470E8 - mov r0, #0x1 - add sp, #0x8 + ldr r0, [r7, #0x0] + add r1, r4, #0x0 + bl FUN_0200ACF8 + mov r0, #0x0 pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02041970 -FUN_02041970: ; 0x02041970 + thumb_func_start FUN_02040964 +FUN_02040964: ; 0x02040964 push {r3-r7, lr} add r5, r0, #0x0 add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x8 + ldr r4, [r0, #0x0] + ldr r0, [r4, #0xc] + bl FUN_02022510 + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0xf bl FUN_02039438 - add r4, r0, #0x0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + mov r1, #0x1e + blx FUN_020EBC80 + add r7, r0, #0x0 add r0, r5, #0x0 + mov r1, #0x1e + blx FUN_020EBC80 + add r2, r1, #0x0 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + bl FUN_0206B5E4 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200ACF8 + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_020409C0 +FUN_020409C0: ; 0x020409C0 + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r7, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B02C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_020409F8 +FUN_020409F8: ; 0x020409F8 + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldrh r0, [r4, #0x0] - bl FUN_020395F4 - bl FUN_0203962C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bne _020419D2 - mov r0, #0x0 - mov r1, #0x2 + bl FUN_020394F0 add r2, r0, #0x0 - b _020419EC -_020419D2: - ldrh r0, [r4, #0x0] - bl FUN_02039618 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bne _020419E6 - mov r0, #0x3 - mov r1, #0x5 - mov r2, #0x6 - b _020419EC -_020419E6: - mov r0, #0x7 - mov r1, #0x9 - mov r2, #0xa -_020419EC: - strh r0, [r7, #0x0] - strh r1, [r6, #0x0] - strh r2, [r5, #0x0] + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B064 mov r0, #0x0 - pop {r3-r7, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_020419F8 -FUN_020419F8: ; 0x020419F8 + thumb_func_start FUN_02040A30 +FUN_02040A30: ; 0x02040A30 push {r3-r7, lr} - add r5, r0, #0x0 + add r7, r0, #0x0 add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x8 - bl FUN_02039438 + ldr r5, [r0, #0x0] + add r0, r5, #0x0 + bl FUN_020377AC + bl FUN_020238F4 add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02038C30 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r7, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r7, #0x8] + add r0, r4, #0x0 + ldrb r5, [r1, #0x0] + bl FUN_020239CC + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02023A28 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r7, #0x0 + mov r2, #0x2 + bl FUN_020536D0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + bl FUN_0200B09C + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02040A7C +FUN_02040A7C: ; 0x02040A7C + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldrh r0, [r4, #0x0] - bl FUN_020395F4 - bl FUN_0203962C - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bne _02041A5A - mov r1, #0x0 - mov r0, #0x11 - add r2, r1, #0x0 - b _02041A74 -_02041A5A: - ldrh r0, [r4, #0x0] - bl FUN_02039618 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bne _02041A6E - mov r0, #0x12 - mov r1, #0x0 - mov r2, #0x6 - b _02041A74 -_02041A6E: - mov r0, #0x13 - mov r1, #0x0 - mov r2, #0xa -_02041A74: - strh r0, [r7, #0x0] - strh r1, [r6, #0x0] - strh r2, [r5, #0x0] + ldr r1, [r5, #0x8] + str r0, [sp, #0x8] + add r0, r1, #0x1 + str r0, [r5, #0x8] + ldrb r5, [r1, #0x0] + add r0, r6, #0x0 + mov r1, #0x4 + bl FUN_02040AE4 + add r6, r0, #0x0 + str r5, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + ldr r3, [sp, #0x8] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_0200ABB4 + add r0, r6, #0x0 + bl FUN_02021A20 mov r0, #0x0 - pop {r3-r7, pc} + add sp, #0xc + pop {r4-r7, pc} .balign 4 - thumb_func_start FUN_02041A80 -FUN_02041A80: ; 0x02041A80 + thumb_func_start FUN_02040AE4 +FUN_02040AE4: ; 0x02040AE4 push {r3-r5, lr} + ldr r2, _02040B08 ; =0x0000016A + add r4, r0, #0x0 + add r3, r1, #0x0 + mov r0, #0x1 + mov r1, #0x1a + bl FUN_0200A86C add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x8 - bl FUN_02039438 + add r1, r4, #0x0 + bl FUN_0200A914 add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldrh r0, [r4, #0x0] - bl FUN_020395F4 - bl FUN_0203962C - strh r0, [r5, #0x0] - mov r0, #0x0 + bl FUN_0200A8B8 + add r0, r4, #0x0 pop {r3-r5, pc} .balign 4 +_02040B08: .word 0x0000016A - thumb_func_start FUN_02041AB4 -FUN_02041AB4: ; 0x02041AB4 - push {r4, lr} + thumb_func_start FUN_02040B0C +FUN_02040B0C: ; 0x02040B0C + push {r4-r6, lr} + sub sp, #0x8 add r4, r0, #0x0 - bl FUN_02038C30 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] add r4, #0x80 - add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394F0 - bl FUN_0204AD0C - bl FUN_02004724 + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F388 + mov r1, #0x4 + bl FUN_02040AE4 + add r4, r0, #0x0 mov r0, #0x1 - pop {r4, pc} - .balign 4 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 + add r0, r4, #0x0 + bl FUN_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} - thumb_func_start FUN_02041AD4 -FUN_02041AD4: ; 0x02041AD4 - push {r3, lr} - ldr r0, [r0, #0x74] - bl FUN_02048498 + thumb_func_start FUN_02040B5C +FUN_02040B5C: ; 0x02040B5C + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r4, #0x80 + ldr r0, [r4, #0x0] + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F398 + mov r1, #0x4 + bl FUN_02040AE4 + add r4, r0, #0x0 mov r0, #0x1 - pop {r3, pc} + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 + add r0, r4, #0x0 + bl FUN_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} - thumb_func_start FUN_02041AE0 -FUN_02041AE0: ; 0x02041AE0 - push {r3-r5, lr} - add r5, r0, #0x0 + thumb_func_start FUN_02040BAC +FUN_02040BAC: ; 0x02040BAC + push {r4-r6, lr} + sub sp, #0x8 + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x17 + mov r1, #0xf bl FUN_02039438 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 + ldr r1, [r4, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r4, #0x80 ldr r0, [r4, #0x0] - bl FUN_020480B8 - strh r0, [r5, #0x0] + ldrb r5, [r1, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F3C0 + mov r1, #0x4 + bl FUN_02040AE4 + add r4, r0, #0x0 mov r0, #0x1 - pop {r3-r5, pc} - .balign 4 + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r6, #0x0] + add r1, r5, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 + add r0, r4, #0x0 + bl FUN_02021A20 + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} - thumb_func_start FUN_02041B10 -FUN_02041B10: ; 0x02041B10 - push {r3-r5, lr} + thumb_func_start FUN_02040BFC +FUN_02040BFC: ; 0x02040BFC + push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x17 + mov r1, #0xf bl FUN_02039438 - add r4, r0, #0x0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020480C8 - strh r0, [r5, #0x0] - mov r0, #0x1 - pop {r3-r5, pc} + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B350 + mov r0, #0x0 + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02041B40 -FUN_02041B40: ; 0x02041B40 - push {r3-r5, lr} + thumb_func_start FUN_02040C34 +FUN_02040C34: ; 0x02040C34 + push {r4-r6, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x17 + mov r1, #0xf bl FUN_02039438 - add r4, r0, #0x0 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020480D8 - strh r0, [r5, #0x0] - mov r0, #0x1 - pop {r3-r5, pc} + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B1D4 + mov r0, #0x0 + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02041B70 -FUN_02041B70: ; 0x02041B70 - push {r3-r5, lr} + thumb_func_start FUN_02040C6C +FUN_02040C6C: ; 0x02040C6C + push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl FUN_02038C30 add r5, #0x80 - add r4, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - bl FUN_0204A248 - strh r0, [r4, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B164 mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02041B9C -FUN_02041B9C: ; 0x02041B9C - push {r4, lr} + thumb_func_start FUN_02040CA4 +FUN_02040CA4: ; 0x02040CA4 + push {r3-r7, lr} sub sp, #0x8 - add r4, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0x17 - bl FUN_02039438 - mov r1, #0xb - str r1, [sp, #0x0] - str r0, [sp, #0x4] - mov r2, #0x0 - ldr r0, [r4, #0x74] - mov r1, #0x1 - add r3, r2, #0x0 - bl FUN_020470E8 - mov r0, #0x1 - add sp, #0x8 - pop {r4, pc} - - thumb_func_start FUN_02041BC4 -FUN_02041BC4: ; 0x02041BC4 - push {r3-r5, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - mov r1, #0xa - bl FUN_02039438 add r5, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_02058738 + mov r0, #0x16 + mov r1, #0x4 + bl FUN_020219F4 add r4, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_02058448 - add r1, r0, #0x0 - lsl r1, r1, #0x10 - add r0, r4, #0x0 - lsr r1, r1, #0x10 - bl FUN_0203965C - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02041BF0 -FUN_02041BF0: ; 0x02041BF0 - push {r3-r7, lr} - add r6, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0xa + mov r1, #0xf bl FUN_02039438 - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02038C48 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_02058738 + ldr r1, [r5, #0x8] add r7, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_02058448 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r6, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - lsl r1, r1, #0x10 - add r0, r7, #0x0 - lsr r1, r1, #0x10 - bl FUN_02039640 - cmp r0, #0x1 - bne _02041C34 - ldr r1, [r6, #0x8] - add r0, r6, #0x0 - add r1, r1, r4 - bl FUN_02038C10 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + mov r1, #0x4 + add r2, r4, #0x0 + bl FUN_02064E60 mov r0, #0x1 - pop {r3-r7, pc} -_02041C34: + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r1, r6, #0x0 + add r2, r4, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 + add r0, r4, #0x0 + bl FUN_02021A20 mov r0, #0x0 + add sp, #0x8 pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02041C38 -FUN_02041C38: ; 0x02041C38 - push {r4-r7, lr} - sub sp, #0xc + thumb_func_start FUN_02040D04 +FUN_02040D04: ; 0x02040D04 + push {r3-r7, lr} + sub sp, #0x8 add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] mov r1, #0xf bl FUN_02039438 - add r6, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0202881C - add r5, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r7, [r0, #0xc] - add r0, r4, #0x0 - bl FUN_02038C30 - cmp r0, #0x6 - bls _02041C6C - b _02041E38 -_02041C6C: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r4, r1, #0 - lsl r2, r0, #0x1 - lsl r0, r7, #0x1 - lsl r6, r5, #0x2 - lsl r4, r4, #0x3 - lsl r2, r3, #0x4 - lsl r4, r2, #0x5 + ldr r1, [r4, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] add r0, r4, #0x0 + ldrb r6, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 + bl FUN_020394F0 + sub r5, #0x95 add r4, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02028828 - strh r0, [r4, #0x0] - add sp, #0xc + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x20 + bl FUN_020852E8 + add r5, r0, #0x0 + cmp r4, #0x2 + bhs _02040D5A + mov r0, #0x1 + b _02040D5C +_02040D5A: mov r0, #0x0 - pop {r4-r7, pc} -_02041CBC: - .byte 0x20, 0x1C, 0xF6, 0xF7 - .byte 0xB7, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x11, 0xFC, 0x06, 0x1C - .byte 0x20, 0x1C, 0xF6, 0xF7, 0xAD, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xEC, 0xFB - .byte 0x04, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xE6, 0xF7, 0xAB, 0xFD, 0x20, 0x80, 0x03, 0xB0, 0x00, 0x20 - .byte 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x9C, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF7, 0xF7, 0xF6, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x92, 0xFF, 0x80, 0x34, 0x01, 0x1C - .byte 0x20, 0x68, 0xF7, 0xF7, 0xED, 0xFB, 0x03, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C - .byte 0x2A, 0x1C, 0xC9, 0xF7, 0xF1, 0xFC, 0x87, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x81, 0xFF, 0x01, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDB, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 - .byte 0x77, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF7, 0xF7, 0xD2, 0xFB, 0x03, 0x1C, 0x01, 0x20 - .byte 0x00, 0x90, 0x30, 0x68, 0x39, 0x1C, 0x2A, 0x1C, 0xC9, 0xF7, 0xD6, 0xFC, 0x6C, 0xE0, 0x00, 0x21 - .byte 0x28, 0x1C, 0x0A, 0x1C, 0xE6, 0xF7, 0x20, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x60, 0xFF - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x9E, 0xFB, 0x00, 0x22, 0x00, 0x92 - .byte 0x01, 0x95, 0x02, 0x90, 0x60, 0x6F, 0x05, 0x21, 0x07, 0x23, 0xF6, 0xF7, 0x1F, 0xFC, 0x03, 0xB0 - .byte 0x01, 0x20, 0xF0, 0xBD, 0x20, 0x1C, 0xF6, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF7, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x01, 0x21, 0xE6, 0xF7, 0x3C, 0xFD - .byte 0x06, 0x1C, 0x28, 0x1C, 0x39, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0xA2, 0xFC, 0x00, 0x2E, 0x03, 0xD0 - .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x98, 0xFA, 0x03, 0xB0, 0x00, 0x20, 0xF0, 0xBD, 0x40, 0x20 - .byte 0x20, 0x21, 0xDF, 0xF7, 0x0F, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 - .byte 0xE1, 0xF7, 0x88, 0xFD, 0x31, 0x1C, 0x07, 0x1C, 0xE1, 0xF7, 0xD2, 0xFD, 0x28, 0x1C, 0x00, 0x21 - .byte 0x01, 0x22, 0x33, 0x1C, 0xE6, 0xF7, 0xE4, 0xFC, 0x38, 0x1C, 0xE1, 0xF7, 0xE7, 0xFD, 0x02, 0x1C - .byte 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xF2, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x02, 0x22, 0xE6, 0xF7 - .byte 0xFF, 0xFC, 0xD9, 0xF7, 0x25, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0x00, 0x21, 0xE6, 0xF7, 0xB4, 0xFC - .byte 0x30, 0x1C, 0xDF, 0xF7, 0xFD, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x01, 0x22, 0xE6, 0xF7, 0x68, 0xFC - .byte 0x80, 0x34, 0x20, 0x68, 0x1F, 0xF0, 0x5A, 0xFA -_02041E38: +_02040D5C: + str r0, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r1, r6, #0x0 + add r2, r5, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 + add r0, r5, #0x0 + bl FUN_02021A20 mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} + add sp, #0x8 + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02041E40 -FUN_02041E40: ; 0x02041E40 - push {r3-r7, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - cmp r0, #0x6 - bls _02041E4E - b _02041FD2 -_02041E4E: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r4, r1, #0 - lsl r4, r5, #0 - lsl r0, r1, #0x3 - lsl r6, r5, #0x1 - lsl r2, r2, #0x3 - lsl r4, r1, #0x4 - lsl r0, r3, #0x5 - add r0, r4, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + thumb_func_start FUN_02040D7C +FUN_02040D7C: ; 0x02040D7C + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_02248CD0 - strh r0, [r5, #0x0] - b _02041FD2 -_02041E88: - .byte 0x20, 0x1C, 0xF6, 0xF7, 0xD1, 0xFE, 0x07, 0x1C - .byte 0x20, 0x1C, 0xF6, 0xF7, 0xCD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 - .byte 0x0B, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xC3, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF7, 0xF7, 0x01, 0xFB, 0x06, 0x1C, 0x47, 0x48, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68 - .byte 0x39, 0x1C, 0x07, 0xF2, 0xB9, 0xF8, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x0F, 0x21, 0xF7, 0xF7, 0xB1, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xA9, 0xFE, 0x01, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x03, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 - .byte 0x9F, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xDD, 0xFA, 0x07, 0x1C - .byte 0x20, 0x1C, 0xF6, 0xF7, 0x95, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 - .byte 0xD3, 0xFA, 0x00, 0x90, 0x80, 0x34, 0x20, 0x68, 0x29, 0x68, 0x32, 0x1C, 0x3B, 0x1C, 0x07, 0xF2 - .byte 0xBF, 0xF8, 0x56, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x06, 0xF2, 0xCA, 0xFE, 0x51, 0xE0, 0x20, 0x1C - .byte 0xF6, 0xF7, 0x7E, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBC, 0xFA - .byte 0x05, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0x74, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF7, 0xF7, 0xB2, 0xFA, 0x06, 0x1C, 0x8D, 0x20, 0x80, 0x00, 0x80, 0x34, 0x28, 0x80, 0x20, 0x68 - .byte 0x07, 0xF2, 0x4C, 0xF9, 0x30, 0x80, 0x34, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x61, 0xFE, 0x01, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xBB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7 - .byte 0x57, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xB1, 0xFA, 0x07, 0x1C - .byte 0x20, 0x1C, 0xF6, 0xF7, 0x4D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 - .byte 0x8B, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x06, 0xF2, 0xE0, 0xFF - .byte 0x28, 0x80, 0x0E, 0xE0, 0x20, 0x1C, 0xF6, 0xF7, 0x3B, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF7, 0xF7, 0x79, 0xFA, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x07, 0xF2, 0x08, 0xF8 - .byte 0x28, 0x80 -_02041FD2: + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AE04 mov r0, #0x0 - pop {r3-r7, pc} - nop -_02041FD8: - .byte 0x33, 0x02, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C - .byte 0xF6, 0xF7, 0x26, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x80, 0xFA - .byte 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0x1F, 0xF0, 0xBD, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0x87, 0xFD, 0x04, 0x1C - .byte 0x28, 0x1C, 0xF6, 0xF7, 0x0D, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 - .byte 0x67, 0xFA, 0x01, 0x1C, 0x20, 0x1C, 0x29, 0xF0, 0xC3, 0xFC, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0x1F, 0xF0, 0x16, 0xFA, 0x00, 0x20, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x0F, 0x21, 0xF7, 0xF7, 0xF9, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xF1, 0xFD, 0x00, 0x28 - .byte 0x02, 0xD0, 0x01, 0x28, 0x28, 0xD0, 0x56, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0xE9, 0xFD, 0x01, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x43, 0xFA, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7 - .byte 0xDF, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x1D, 0xFA, 0x06, 0x1C - .byte 0x28, 0x1C, 0xF6, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7 - .byte 0x13, 0xFA, 0x07, 0x1C, 0x1D, 0x48, 0x80, 0x35, 0x30, 0x80, 0x00, 0x98, 0x29, 0x68, 0x22, 0x68 - .byte 0x00, 0xF0, 0xA6, 0xF8, 0x38, 0x80, 0x2E, 0xE0, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 - .byte 0xE7, 0xF7, 0x8A, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xBA, 0xFD, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x14, 0xFA, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB0, 0xFD - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x0A, 0xFA, 0x07, 0x1C, 0x28, 0x1C - .byte 0xF6, 0xF7, 0xA6, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x00, 0xFA - .byte 0x80, 0x35, 0x03, 0x1C, 0x28, 0x68, 0x31, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x6D, 0xF8, 0x20, 0x1C - .byte 0x03, 0x21, 0xE8, 0xF7, 0x35, 0xF8, 0x00, 0x20, 0xF8, 0xBD, 0xC0, 0x46, 0x32, 0x02, 0x00, 0x00 - .byte 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF7, 0xF7, 0xE6, 0xF9, 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x82, 0xFD, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0xC0, 0xF9, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0x31, 0x1C - .byte 0x00, 0xF0, 0x68, 0xF8, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xD5, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 - .byte 0x67, 0xFD, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x1B, 0xD0, 0x02, 0x28, 0x26, 0xD0, 0x31, 0xE0 - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x29, 0xF0, 0xD0, 0xFC, 0x06, 0x1C, 0x28, 0x1C - .byte 0xF6, 0xF7, 0x56, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0xB1, 0xF9, 0x01, 0x1C - .byte 0x30, 0x1C, 0x29, 0xF0, 0x0D, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x04, 0x22, 0x1E, 0xF0, 0xCE, 0xFE - .byte 0x18, 0xE0, 0x28, 0x1C, 0xF6, 0xF7, 0x44, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7 - .byte 0x9F, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x1E, 0xF0, 0xF1, 0xFE, 0x0B, 0xE0, 0x28, 0x1C, 0xF6, 0xF7 - .byte 0x37, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF7, 0xF7, 0x92, 0xF9, 0x01, 0x1C, 0x20, 0x1C - .byte 0x1E, 0xF0, 0xDA, 0xFE, 0x00, 0x20, 0x70, 0xBD, 0x08, 0xB5, 0x49, 0x1E, 0x0B, 0x01, 0x03, 0x49 - .byte 0xCB, 0x58, 0x00, 0x2B, 0x01, 0xD0, 0x11, 0x1C, 0x98, 0x47, 0x08, 0xBD, 0x64, 0x42, 0x0F, 0x02 - .byte 0x10, 0xB5, 0x40, 0x1E, 0x04, 0x01, 0x05, 0x48, 0x03, 0x59, 0x00, 0x2B, 0x02, 0xD0, 0x08, 0x1C - .byte 0x11, 0x1C, 0x98, 0x47, 0x02, 0x48, 0x00, 0x59, 0x10, 0xBD, 0xC0, 0x46, 0x68, 0x42, 0x0F, 0x02 - .byte 0x70, 0x42, 0x0F, 0x02, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x0D, 0x1C, 0xE0, 0xF7, 0x72, 0xF9 - .byte 0x01, 0x21, 0x2A, 0x1C, 0xE9, 0xF7, 0x74, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD - .byte 0x68, 0x1E, 0x01, 0x01, 0x04, 0x48, 0x41, 0x58, 0x00, 0x29, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD - .byte 0x20, 0x1C, 0x88, 0x47, 0x38, 0xBD, 0xC0, 0x46, 0x6C, 0x42, 0x0F, 0x02, 0xF0, 0xB5, 0x83, 0xB0 - .byte 0x05, 0x1C, 0x0E, 0x1C, 0x17, 0x1C, 0x40, 0x20, 0x04, 0x21, 0x02, 0x93, 0xDF, 0xF7, 0xCA, 0xFB - .byte 0x39, 0x1C, 0x04, 0x1C, 0xDF, 0xF7, 0xE0, 0xFD, 0x09, 0x98, 0x02, 0x9B, 0x00, 0x90, 0x08, 0x98 - .byte 0x31, 0x1C, 0x01, 0x90, 0x28, 0x1C, 0x22, 0x1C, 0xC8, 0xF7, 0x9C, 0xFC, 0x20, 0x1C, 0xDF, 0xF7 - .byte 0xCF, 0xFB, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0xC0, 0x68, 0x0C, 0x1C, 0x29, 0xF0 - .byte 0x45, 0xFC, 0x07, 0xF0, 0xBB, 0xFF, 0x26, 0xF0, 0x25, 0xFF, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21 - .byte 0xC8, 0xF7, 0xDE, 0xFC, 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x40, 0x68, 0x0C, 0x1C, 0x40, 0x69 - .byte 0x10, 0xF2, 0x42, 0xF9, 0x02, 0x1C, 0x20, 0x1C, 0x00, 0x21, 0xC8, 0xF7, 0xB7, 0xFE, 0x10, 0xBD - .byte 0x10, 0xB5, 0x88, 0xB0, 0xC0, 0x68, 0x0C, 0x1C, 0xE0, 0xF7, 0x1C, 0xF9, 0xE9, 0xF7, 0xBA, 0xFA - .byte 0x40, 0x88, 0x04, 0x21, 0x02, 0xAA, 0xC8, 0xF7, 0x61, 0xFB, 0x02, 0x20, 0x00, 0x90, 0x01, 0x20 - .byte 0x00, 0x21, 0x01, 0x90, 0x20, 0x1C, 0x02, 0xAA, 0x0B, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0x08, 0xB0 - .byte 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0x04, 0xF9, 0xE9, 0xF7, 0xAE, 0xFA - .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0x09, 0xF0, 0x4E, 0xFF, 0x09, 0xF0, 0xDC, 0xFD - .byte 0x08, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xF4, 0xF8, 0xE9, 0xF7, 0x8C, 0xFA - .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE5, 0xF7, 0x7C, 0xFD, 0x00, 0x21, 0xE4, 0xF7 - .byte 0xB3, 0xFE, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xE4, 0xF8, 0xE9, 0xF7, 0x88, 0xFA - .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0xC0, 0x68, 0xE0, 0xF7, 0xDC, 0xF8, 0xE9, 0xF7, 0x7A, 0xFA - .byte 0x00, 0x78, 0x08, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x01, 0xF2, 0xAE, 0xF8 - .byte 0x00, 0x20, 0x08, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x62, 0xFC, 0x04, 0x1C, 0x28, 0x1C - .byte 0xF6, 0xF7, 0x5E, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x16, 0xFA - .byte 0x21, 0x1C, 0x32, 0x1C, 0x01, 0xF2, 0xA4, 0xF8, 0x80, 0x35, 0x29, 0x68, 0xA8, 0x31, 0x08, 0x60 - .byte 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xA8, 0x30, 0x00, 0x68 - .byte 0x01, 0xF2, 0x78, 0xF9, 0x80, 0x34, 0x21, 0x68, 0x00, 0x20, 0xA8, 0x31, 0x08, 0x60, 0x10, 0xBD - .byte 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0xF6, 0xF7, 0x3B, 0xFC, 0x00, 0x90, 0x38, 0x1C, 0xF6, 0xF7 - .byte 0x37, 0xFC, 0x01, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF7, 0xF7, 0x91, 0xF8, 0x06, 0x1C - .byte 0x38, 0x1C, 0xF6, 0xF7, 0x2D, 0xFC, 0x01, 0x90, 0x38, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x01, 0x99 - .byte 0xF7, 0xF7, 0x6A, 0xF8, 0x04, 0x1C, 0x38, 0x1C, 0x80, 0x30, 0x01, 0x68, 0x08, 0x1C, 0xA8, 0x30 - .byte 0x05, 0x68, 0x00, 0x98, 0x64, 0x28, 0x00, 0xD9, 0x7D, 0xE1, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88 - .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0xC8, 0x00, 0xD2, 0x00, 0xEE, 0x00, 0xF4, 0x00, 0x00, 0x01 - .byte 0x0E, 0x01, 0x16, 0x01, 0xEE, 0x02, 0x1E, 0x01, 0x2A, 0x01, 0x38, 0x01, 0x46, 0x01, 0x52, 0x01 - .byte 0xEE, 0x02, 0x5C, 0x01, 0x66, 0x01, 0x70, 0x01, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0x82, 0x01, 0x9A, 0x01, 0xB4, 0x01, 0xC0, 0x01, 0xCA, 0x01, 0xD4, 0x01, 0xDE, 0x01 - .byte 0xE8, 0x01, 0xF0, 0x01, 0xF8, 0x01, 0x00, 0x02, 0x12, 0x02, 0x1E, 0x02, 0x3A, 0x02, 0x44, 0x02 - .byte 0x4E, 0x02, 0x58, 0x02, 0x62, 0x02, 0x6C, 0x02, 0x78, 0x02, 0x84, 0x02, 0x98, 0x02, 0xA2, 0x02 - .byte 0xAC, 0x02, 0xB6, 0x02, 0xC4, 0x02, 0x0A, 0x02, 0xD2, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02 - .byte 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xEE, 0x02, 0xDE, 0x02 - .byte 0x30, 0x1C, 0x00, 0xF2, 0x2B, 0xFE, 0x20, 0x80, 0x0F, 0xE1, 0x00, 0x2E, 0x05, 0xD1, 0xA8, 0x7B - .byte 0xC9, 0x68, 0x00, 0xF2, 0xFF, 0xFE, 0x20, 0x80, 0x07, 0xE1, 0xC9, 0x68, 0x30, 0x1C, 0x00, 0xF2 - .byte 0xF9, 0xFE, 0x20, 0x80, 0x01, 0xE1, 0x00, 0xF2, 0x51, 0xFF, 0xFE, 0xE0, 0xC8, 0x68, 0xE8, 0xF7 - .byte 0xE5, 0xF9, 0x00, 0xF2, 0x51, 0xFF, 0xF8, 0xE0, 0xC8, 0x68, 0xE8, 0xF7, 0xDF, 0xF9, 0x00, 0xF2 - .byte 0x4F, 0xFF, 0x20, 0x80, 0xF1, 0xE0, 0x08, 0x1C, 0x00, 0xF2, 0x4E, 0xFF, 0xED, 0xE0, 0x08, 0x1C - .byte 0x00, 0xF2, 0x6A, 0xFF, 0xE9, 0xE0, 0xC8, 0x68, 0x31, 0x1C, 0x00, 0xF2, 0x6D, 0xFF, 0x20, 0x80 - .byte 0xE3, 0xE0, 0xC9, 0x68, 0x00, 0x20, 0x02, 0x22, 0x01, 0xF2, 0x9C, 0xFC, 0x20, 0x80, 0xDC, 0xE0 - .byte 0x00, 0x20, 0xC9, 0x68, 0x02, 0x1C, 0x01, 0xF2, 0x95, 0xFC, 0x20, 0x80, 0xD5, 0xE0, 0xC8, 0x68 - .byte 0x31, 0x06, 0x09, 0x0E, 0x00, 0xF2, 0x68, 0xFF, 0xCF, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x74, 0xFF - .byte 0x20, 0x80, 0xCA, 0xE0, 0xC8, 0x68, 0x00, 0xF2, 0x79, 0xFF, 0x20, 0x80, 0xC5, 0xE0, 0xC8, 0x68 - .byte 0x00, 0xF2, 0x9C, 0xFF, 0x20, 0x80, 0xC0, 0xE0, 0x23, 0x88, 0x78, 0x6F, 0x01, 0x9A, 0x31, 0x1C - .byte 0x1D, 0xF0, 0xDA, 0xFB, 0x02, 0xB0, 0x01, 0x20, 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7 - .byte 0x53, 0xFF, 0x02, 0x1C, 0x79, 0x6F, 0x28, 0x1C, 0x01, 0xF2, 0x96, 0xF8, 0x02, 0xB0, 0x01, 0x20 - .byte 0xF8, 0xBD, 0x08, 0x1C, 0x13, 0x21, 0xF6, 0xF7, 0x47, 0xFF, 0x80, 0x37, 0x3A, 0x68, 0x01, 0x1C - .byte 0xD2, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x98, 0xF8, 0x20, 0x80, 0x9E, 0xE0, 0xC9, 0x68, 0x28, 0x1C - .byte 0x01, 0xF2, 0xDE, 0xF8, 0x20, 0x80, 0x98, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x87, 0xF9, 0x20, 0x80 - .byte 0x93, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x84, 0xF9, 0x20, 0x80, 0x8E, 0xE0, 0x28, 0x1C, 0x01, 0xF2 - .byte 0x8D, 0xF9, 0x20, 0x80, 0x89, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x9A, 0xF9, 0x20, 0x80, 0x84, 0xE0 - .byte 0x28, 0x1C, 0x01, 0xF2, 0x01, 0xFA, 0x80, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x6D, 0xFA, 0x7C, 0xE0 - .byte 0x28, 0x1C, 0x01, 0xF2, 0xD1, 0xFA, 0x78, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x26, 0xFB - .byte 0x73, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0x92, 0xFB, 0x6F, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0x01, 0xF2 - .byte 0xBF, 0xFB, 0x20, 0x80, 0x69, 0xE0, 0x08, 0x1C, 0x17, 0x21, 0xF6, 0xF7, 0x05, 0xFF, 0x80, 0x37 - .byte 0x02, 0x1C, 0x38, 0x68, 0x29, 0x1C, 0x00, 0x69, 0x01, 0xF2, 0xBE, 0xFB, 0x02, 0xB0, 0x01, 0x20 - .byte 0xF8, 0xBD, 0x28, 0x1C, 0x01, 0xF2, 0xBC, 0xFB, 0x20, 0x80, 0x56, 0xE0, 0x28, 0x1C, 0x31, 0x1C - .byte 0x01, 0xF2, 0xB8, 0xFB, 0x51, 0xE0, 0x28, 0x1C, 0x01, 0xF2, 0xBE, 0xFB, 0x20, 0x80, 0x4C, 0xE0 - .byte 0x28, 0x1C, 0x01, 0xF2, 0xBD, 0xFB, 0x20, 0x80, 0x47, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 - .byte 0xE1, 0xFB, 0x42, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x4E, 0xFC, 0x20, 0x80, 0x3C, 0xE0 - .byte 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2, 0x64, 0xFC, 0x20, 0x80, 0x36, 0xE0, 0x29, 0x7C, 0xE0, 0x20 - .byte 0x81, 0x43, 0x30, 0x06, 0x00, 0x0E, 0x40, 0x07, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x74, 0x2C, 0xE0 - .byte 0x28, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x20, 0x80, 0x27, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 - .byte 0xC3, 0xF8, 0x22, 0xE0, 0xA8, 0x19, 0x2A, 0x30, 0x00, 0x78, 0x20, 0x80, 0x1D, 0xE0, 0xC9, 0x68 - .byte 0x28, 0x1C, 0x01, 0x22, 0x01, 0xF2, 0xD6, 0xFB, 0x20, 0x80, 0x16, 0xE0, 0x31, 0x06, 0x28, 0x1C - .byte 0x09, 0x0E, 0x00, 0xF0, 0x1B, 0xF9, 0x20, 0x80, 0x0F, 0xE0, 0xC9, 0x68, 0x28, 0x1C, 0x01, 0xF2 - .byte 0x5D, 0xFC, 0x20, 0x80, 0x09, 0xE0, 0x00, 0x2D, 0x02, 0xD1, 0x01, 0x20, 0x20, 0x80, 0x04, 0xE0 - .byte 0x00, 0x20, 0x20, 0x80, 0x01, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD - .byte 0xF8, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xA8, 0x31, 0x0C, 0x68, 0xF6, 0xF7 - .byte 0x8F, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xE9, 0xFE, 0x06, 0x1C - .byte 0x28, 0x1C, 0xF6, 0xF7, 0x85, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 - .byte 0xDF, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x7B, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF6, 0xF7, 0xB9, 0xFE, 0x00, 0x90, 0x28, 0x1C, 0xF6, 0xF7, 0x71, 0xFA, 0x80, 0x35 - .byte 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7, 0xB0, 0xFE, 0x32, 0x01, 0xB2, 0x18, 0x38, 0x21, 0x12, 0x01 - .byte 0x79, 0x43, 0xA2, 0x18, 0x53, 0x18, 0xB2, 0x22, 0x92, 0x00, 0x99, 0x5A, 0x49, 0x05, 0x4C, 0x0D - .byte 0x00, 0x99, 0x0C, 0x80, 0x11, 0x1D, 0x59, 0x5A, 0x01, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x54, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0x92, 0xFE, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0x38, 0xFB - .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x40, 0xFA - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7E, 0xFE, 0x80, 0x35, 0x04, 0x1C - .byte 0x28, 0x68, 0xC0, 0x68, 0x1D, 0xF0, 0xCA, 0xFB, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0x2C, 0xFA, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0x86, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x22, 0xFA, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x7C, 0xFE, 0x07, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x00, 0x21, 0xA8, 0x30, 0x06, 0x68, 0x15, 0x48, 0x46, 0x22, 0x30, 0x18, 0x8B, 0xF0, 0x9E, 0xED - .byte 0x00, 0x2C, 0x04, 0xD0, 0x01, 0x2C, 0x0B, 0xD0, 0x02, 0x2C, 0x10, 0xD0, 0x16, 0xE0, 0x80, 0x35 - .byte 0x29, 0x68, 0x08, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0xC9, 0x68, 0x01, 0xF2, 0x67, 0xFF, 0x0D, 0xE0 - .byte 0x80, 0x35, 0x28, 0x68, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x8E, 0xFF, 0x06, 0xE0, 0x80, 0x35 - .byte 0x28, 0x68, 0x39, 0x1C, 0xA8, 0x30, 0x00, 0x68, 0x01, 0xF2, 0x92, 0xFF, 0xEE, 0xF7, 0xA0, 0xFC - .byte 0x03, 0x49, 0x71, 0x18, 0xEE, 0xF7, 0x2A, 0xFF, 0x00, 0x20, 0xF8, 0xBD, 0x84, 0x08, 0x00, 0x00 - .byte 0x3E, 0x08, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xE2, 0xF9, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x3C, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xD8, 0xF9 - .byte 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x1C, 0x00, 0x69, 0x1D, 0xF0, 0xA7, 0xFA, 0x01, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x78, 0xB5, 0x81, 0xB0, 0x05, 0x1C, 0xF6, 0xF7, 0xC9, 0xF9, 0x01, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x07, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 - .byte 0xBF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xFD, 0xFD, 0x80, 0x35 - .byte 0x06, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF8, 0x00, 0xA9, 0xE7, 0xF7, 0xCA, 0xFF - .byte 0x00, 0xA8, 0x01, 0x78, 0x21, 0x80, 0x40, 0x78, 0x30, 0x80, 0x00, 0x20, 0x01, 0xB0, 0x78, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xA4, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0xE2, 0xFD, 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xF2, 0xFF - .byte 0xE7, 0xF7, 0x24, 0xFF, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x02, 0x29, 0x03, 0xD1 - .byte 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x70, 0x47, 0x01, 0x29, 0x10, 0xD1, 0xC1, 0x7B, 0x02, 0x29 - .byte 0x06, 0xD1, 0x00, 0x7C, 0x00, 0x06, 0x40, 0x0F, 0x41, 0x00, 0x08, 0x48, 0x40, 0x5A, 0x70, 0x47 - .byte 0x80, 0x7C, 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x40, 0x7C - .byte 0x00, 0x28, 0x01, 0xD0, 0x61, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0x34, 0x43, 0x0F, 0x02 - .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0xA9, 0x68, 0x00, 0x68, 0x4A, 0x1C, 0xAA, 0x60, 0x0E, 0x78 - .byte 0x51, 0x1C, 0xA9, 0x60, 0x14, 0x78, 0x26, 0x21, 0xF6, 0xF7, 0x66, 0xFD, 0x80, 0x35, 0x07, 0x1C - .byte 0x28, 0x68, 0x31, 0x1C, 0x22, 0x1C, 0xA0, 0xF1, 0x7B, 0xF8, 0x38, 0x60, 0x00, 0x20, 0xF8, 0xBD - .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF6, 0xF7, 0x56, 0xFD, 0x00, 0x68, 0xA0, 0xF1 - .byte 0x11, 0xF8, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x26, 0x21, 0xF6, 0xF7, 0x49, 0xFD, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0xA0, 0xF1 - .byte 0x91, 0xF8, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x34, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 - .byte 0x73, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x7F, 0xFF, 0x00, 0x21, 0x0A, 0x1C, 0xE7, 0xF7 - .byte 0xE9, 0xFC, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x1C, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 - .byte 0x77, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x67, 0xFF, 0x29, 0x1C, 0x05, 0x22, 0xE7, 0xF7 - .byte 0xD1, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31 - .byte 0x09, 0x68, 0xCC, 0x68, 0xF6, 0xF7, 0x04, 0xF9, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF6, 0xF7 - .byte 0x5F, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xE7, 0xF7, 0x4F, 0xFF, 0x29, 0x1C, 0x06, 0x22, 0xE7, 0xF7 - .byte 0xB9, 0xFC, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 - .byte 0x09, 0x68, 0xCD, 0x68, 0xF6, 0xF7, 0xEC, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0x46, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF6, 0xF7, 0xE2, 0xF8, 0x80, 0x34, 0x01, 0x1C - .byte 0x20, 0x68, 0xF6, 0xF7, 0x21, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xE7, 0xF7, 0x2D, 0xFF, 0x00, 0x21 - .byte 0x0A, 0x1C, 0xE7, 0xF7, 0x97, 0xFC, 0xB0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 - .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0xF6, 0xF7, 0xC8, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x22, 0xFD, 0x07, 0x1C, 0x28, 0x1C - .byte 0xF6, 0xF7, 0xBE, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x18, 0xFD - .byte 0x06, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xB4, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0xF2, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0xAA, 0xF8, 0x80, 0x35, 0x01, 0x1C - .byte 0x28, 0x68, 0xF6, 0xF7, 0xE9, 0xFC, 0x01, 0x2F, 0x01, 0xD1, 0x1A, 0x21, 0x00, 0xE0, 0x00, 0x21 - .byte 0x89, 0x19, 0x8A, 0x00, 0x03, 0x49, 0x89, 0x5A, 0x21, 0x80, 0x03, 0x49, 0x89, 0x5A, 0x01, 0x80 - .byte 0x00, 0x20, 0xF8, 0xBD, 0x3E, 0x43, 0x0F, 0x02, 0x40, 0x43, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C - .byte 0xF6, 0xF7, 0x8E, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xCC, 0xFC - .byte 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x85, 0xFC, 0x01, 0x1C - .byte 0x80, 0x35, 0x28, 0x68, 0x09, 0x68, 0x08, 0xF0, 0x61, 0xFD, 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD - .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x75, 0xFC, 0x04, 0x1C - .byte 0x28, 0x1C, 0xF6, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 - .byte 0xAB, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x67, 0xFD, 0x30, 0x80 - .byte 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7 - .byte 0x5B, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x53, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF6, 0xF7, 0x91, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0 - .byte 0x5F, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x0A, 0x21, 0xF6, 0xF7, 0x41, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7, 0x39, 0xF8, 0x01, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x77, 0xFC, 0x80, 0x35, 0x06, 0x1C, 0x28, 0x68 - .byte 0x21, 0x68, 0x08, 0xF0, 0x57, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x05, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x27, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF6, 0xF7 - .byte 0x1F, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x5D, 0xFC, 0x80, 0x35 - .byte 0x06, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x4D, 0xFD, 0x30, 0x80, 0x00, 0x20, 0x70, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0x0D, 0xFC, 0x04, 0x1C - .byte 0x28, 0x1C, 0xF6, 0xF7, 0x05, 0xF8, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 - .byte 0x5F, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x9F, 0xFC, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7 - .byte 0xF3, 0xFB, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0xB4, 0xF9 - .byte 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0xE4, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0x3E, 0xFC, 0x80, 0x35, 0x02, 0x1C, 0x28, 0x68, 0x21, 0x68, 0x08, 0xF0, 0x94, 0xFC - .byte 0x30, 0x1C, 0x03, 0x21, 0xE7, 0xF7, 0x30, 0xFA, 0x00, 0x20, 0x70, 0xBD, 0x10, 0xB5, 0x04, 0x1C - .byte 0xF5, 0xF7, 0xCE, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x09, 0xE0, 0x80, 0x34 - .byte 0x20, 0x68, 0x08, 0xF0, 0x7D, 0xFE, 0x06, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x8E, 0xFE - .byte 0x01, 0xE0, 0xDD, 0xF7, 0xBB, 0xFF, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE7, 0xF7, 0x7F, 0xF9, 0x04, 0x1C, 0x28, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0x0A, 0x21, 0xF6, 0xF7, 0xB0, 0xFB, 0x01, 0x1C, 0x80, 0x35, 0x28, 0x68, 0x09, 0x68 - .byte 0x08, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0x21, 0xE7, 0xF7, 0x42, 0xFA, 0x00, 0x20, 0x38, 0xBD - .byte 0x01, 0x60, 0x42, 0x60, 0x83, 0x60, 0x70, 0x47, 0x08, 0xB5, 0xE8, 0xF7, 0x4F, 0xF9, 0xE8, 0xF7 - .byte 0x5F, 0xF9, 0x08, 0xBD, 0x08, 0xB5, 0xE8, 0xF7, 0x49, 0xF9, 0xE8, 0xF7, 0x77, 0xF9, 0x08, 0xBD - .byte 0x08, 0xB5, 0xE8, 0xF7, 0x43, 0xF9, 0xE8, 0xF7, 0x83, 0xF9, 0x08, 0xBD, 0xF8, 0xB5, 0x88, 0xB0 - .byte 0x04, 0x1C, 0xF5, 0xF7, 0x85, 0xFF, 0x08, 0x28, 0x00, 0xD9, 0xEB, 0xE0, 0x00, 0x18, 0x78, 0x44 - .byte 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x10, 0x00, 0x3A, 0x00, 0x66, 0x00, 0x86, 0x00 - .byte 0xC2, 0x00, 0xF4, 0x00, 0x60, 0x01, 0x1E, 0x00, 0x2C, 0x00, 0x80, 0x34, 0x20, 0x68, 0x20, 0x21 - .byte 0xC0, 0x68, 0xE8, 0xF7, 0x0D, 0xF9, 0xD5, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68 - .byte 0xE8, 0xF7, 0x12, 0xF9, 0xCE, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xE8, 0xF7 - .byte 0x0B, 0xF9, 0xC7, 0xE0, 0x20, 0x1C, 0xF5, 0xF7, 0x5B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF6, 0xF7, 0x99, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0xB4, 0xFF - .byte 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20, 0x28, 0x80, 0xB4, 0xE0, 0x00, 0x20, 0x28, 0x80, 0xB1, 0xE0 - .byte 0x20, 0x1C, 0xF5, 0xF7, 0x45, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 - .byte 0x83, 0xFB, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xFF, 0xF7, 0x9E, 0xFF, 0x28, 0x80, 0xA1, 0xE0 - .byte 0x20, 0x1C, 0xF5, 0xF7, 0x35, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7 - .byte 0x73, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x8D, 0xFF, 0x40, 0x1E - .byte 0x05, 0x01, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x48, 0x4F, 0xFF, 0xF7, 0x8B, 0xFF, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0x7A, 0x59, 0x90, 0x47, 0x30, 0x80, 0x83, 0xE0, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xFF, 0xF7, 0x79, 0xFF, 0x40, 0x1E, 0x40, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x76, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x6A, 0x68, 0x90, 0x47, 0x80, 0x34, 0x20, 0x68, 0xFF, 0xF7, 0x72, 0xFF, 0x6A, 0xE0, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x60, 0xFF, 0x40, 0x1E, 0x34, 0x49, 0x00, 0x01, 0x0D, 0x18 - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xF6, 0xFA, 0x06, 0x1C, 0x20, 0x1C - .byte 0xF5, 0xF7, 0xEE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0x2C, 0xFB - .byte 0x07, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xE4, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF6, 0xF7, 0x22, 0xFB, 0x00, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x42, 0xFF - .byte 0x80, 0x34, 0x03, 0x1C, 0x21, 0x68, 0x32, 0x68, 0x05, 0xA8, 0xFF, 0xF7, 0x31, 0xFF, 0x00, 0x9A - .byte 0xAB, 0x68, 0x05, 0xA8, 0x39, 0x1C, 0x98, 0x47, 0x34, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xFF, 0xF7, 0x2A, 0xFF, 0x40, 0x1E, 0x19, 0x49, 0x00, 0x01, 0x0D, 0x18, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0x0F, 0x21, 0xF6, 0xF7, 0xC0, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xB8, 0xFE - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xF6, 0xFA, 0x07, 0x1C, 0x20, 0x1C - .byte 0xF5, 0xF7, 0xAE, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF6, 0xF7, 0xEC, 0xFA - .byte 0x01, 0x90, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xFF, 0xF7, 0x0C, 0xFF, 0x80, 0x34, 0x03, 0x1C - .byte 0x21, 0x68, 0x32, 0x68, 0x02, 0xA8, 0xFF, 0xF7, 0xFB, 0xFE, 0x01, 0x9A, 0xEB, 0x68, 0x02, 0xA8 - .byte 0x39, 0x1C, 0x98, 0x47, 0x00, 0x20, 0x08, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0xE4, 0x43, 0x0F, 0x02 - .byte 0x08, 0xB5, 0xC0, 0x68, 0x28, 0xF0, 0x02, 0xFE, 0x28, 0xF0, 0x48, 0xFD, 0x06, 0x28, 0x01, 0xDA - .byte 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x08, 0xB5, 0x82, 0xB0, 0x01, 0x1C, 0x02, 0x20 - .byte 0x00, 0x90, 0x01, 0x23, 0x01, 0x93, 0xC9, 0x68, 0x02, 0x4A, 0x20, 0x20, 0x07, 0xF0, 0xC4, 0xF8 - .byte 0x02, 0xB0, 0x08, 0xBD, 0xEA, 0x01, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x53, 0x20, 0x80, 0x00 - .byte 0x08, 0x80, 0x0D, 0x20, 0x10, 0x80, 0x20, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xCB, 0xFC, 0x02, 0x1C - .byte 0x60, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x2C, 0xFE, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x8E, 0xB0 - .byte 0x01, 0x90, 0xFF, 0xF7, 0xC7, 0xFE, 0x04, 0x90, 0x01, 0x98, 0xC0, 0x68, 0xE0, 0xF7, 0xBA, 0xFC - .byte 0x03, 0x90, 0x04, 0x98, 0x00, 0x27, 0x05, 0x1C, 0x04, 0x1D, 0x20, 0x1C, 0x97, 0x21, 0x3A, 0x1C - .byte 0xF0, 0x35, 0x24, 0xF0, 0x13, 0xF9, 0x39, 0x1C, 0x02, 0x90, 0x20, 0x1C, 0x0A, 0x1C, 0x24, 0xF0 - .byte 0x0D, 0xF9, 0x05, 0x90, 0x20, 0x1C, 0x07, 0x21, 0x3A, 0x1C, 0x24, 0xF0, 0x07, 0xF9, 0x06, 0x1C - .byte 0x89, 0xF0, 0x34, 0xEE, 0xD8, 0xF7, 0x2C, 0xFD, 0x01, 0x1C, 0x05, 0x98, 0x0D, 0x91, 0x00, 0x28 - .byte 0x12, 0xD0, 0x01, 0x28, 0x0F, 0xD1, 0x30, 0x1C, 0x25, 0xF0, 0x70, 0xFD, 0x00, 0x28, 0x0B, 0xD0 - .byte 0x0D, 0x98, 0xD8, 0xF7, 0x1D, 0xFD, 0x01, 0x1C, 0x30, 0x1C, 0x0D, 0x91, 0x25, 0xF0, 0x66, 0xFD - .byte 0x00, 0x28, 0xF5, 0xD1, 0x00, 0xE0, 0x0D, 0x90, 0x0D, 0x99, 0x20, 0x1C, 0x27, 0xF0, 0x26, 0xF9 - .byte 0x20, 0x1C, 0x25, 0xF0, 0xF5, 0xFC, 0x0C, 0x90, 0x20, 0x1C, 0x6F, 0x21, 0x0C, 0xAA, 0x24, 0xF0 - .byte 0x17, 0xFC, 0x20, 0x1C, 0x4B, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD8, 0xF8, 0x06, 0x90, 0x20, 0x1C - .byte 0x4A, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xD2, 0xF8, 0x07, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x00, 0x22 - .byte 0x24, 0xF0, 0xCC, 0xF8, 0x08, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC6, 0xF8 - .byte 0x09, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xC0, 0xF8, 0x06, 0x1C, 0x20, 0x1C - .byte 0x47, 0x21, 0x00, 0x22, 0x24, 0xF0, 0xBA, 0xF8, 0x31, 0x18, 0x09, 0x98, 0x41, 0x18, 0x08, 0x98 - .byte 0x41, 0x18, 0x07, 0x98, 0x41, 0x18, 0x06, 0x98, 0x40, 0x18, 0x0C, 0x90, 0x3D, 0xD1, 0xD8, 0xF7 - .byte 0xC5, 0xFC, 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x46, 0x21, 0x0D, 0xAA - .byte 0x24, 0xF0, 0xDE, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C - .byte 0x47, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xD4, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A - .byte 0x0D, 0x90, 0x20, 0x1C, 0x48, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xCA, 0xFB, 0xD8, 0xF7, 0xA6, 0xFC - .byte 0x06, 0x1C, 0x1F, 0x20, 0x30, 0x40, 0x0D, 0x90, 0x20, 0x1C, 0x49, 0x21, 0x0D, 0xAA, 0x24, 0xF0 - .byte 0xBF, 0xFB, 0x3E, 0x20, 0x00, 0x01, 0x30, 0x40, 0x40, 0x09, 0x0D, 0x90, 0x20, 0x1C, 0x4A, 0x21 - .byte 0x0D, 0xAA, 0x24, 0xF0, 0xB5, 0xFB, 0x1F, 0x20, 0x80, 0x02, 0x30, 0x40, 0x80, 0x0A, 0x0D, 0x90 - .byte 0x20, 0x1C, 0x4B, 0x21, 0x0D, 0xAA, 0x24, 0xF0, 0xAB, 0xFB, 0x01, 0x98, 0xC0, 0x68, 0xE7, 0xF7 - .byte 0x1B, 0xFC, 0x06, 0x1C, 0x20, 0x1C, 0x2E, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x67, 0xF8, 0x00, 0x28 - .byte 0x04, 0xD0, 0x49, 0x20, 0x3C, 0xF0, 0xF4, 0xFD, 0x29, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x2F, 0x21 - .byte 0x00, 0x22, 0x24, 0xF0, 0x5B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4A, 0x20, 0x3C, 0xF0, 0xE8, 0xFD - .byte 0x69, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x30, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x4F, 0xF8, 0x00, 0x28 - .byte 0x04, 0xD0, 0x4B, 0x20, 0x3C, 0xF0, 0xDC, 0xFD, 0xA9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x31, 0x21 - .byte 0x00, 0x22, 0x24, 0xF0, 0x43, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4C, 0x20, 0x3C, 0xF0, 0xD0, 0xFD - .byte 0xE9, 0x78, 0x31, 0x54, 0x20, 0x1C, 0x32, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x37, 0xF8, 0x00, 0x28 - .byte 0x04, 0xD0, 0x4D, 0x20, 0x3C, 0xF0, 0xC4, 0xFD, 0x29, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x33, 0x21 - .byte 0x00, 0x22, 0x24, 0xF0, 0x2B, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x4E, 0x20, 0x3C, 0xF0, 0xB8, 0xFD - .byte 0x69, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x34, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x1F, 0xF8, 0x00, 0x28 - .byte 0x04, 0xD0, 0x4F, 0x20, 0x3C, 0xF0, 0xAC, 0xFD, 0xA9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x67, 0x21 - .byte 0x00, 0x22, 0x24, 0xF0, 0x13, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0x19, 0x20, 0x3C, 0xF0, 0xA0, 0xFD - .byte 0xE9, 0x79, 0x31, 0x54, 0x20, 0x1C, 0x68, 0x21, 0x00, 0x22, 0x24, 0xF0, 0x07, 0xF8, 0x00, 0x28 - .byte 0x04, 0xD0, 0x1A, 0x20, 0x3C, 0xF0, 0x94, 0xFD, 0x29, 0x7A, 0x31, 0x54, 0x20, 0x1C, 0x69, 0x21 - .byte 0x00, 0x22, 0x23, 0xF0, 0xFB, 0xFF, 0x00, 0x28, 0x04, 0xD0, 0x1B, 0x20, 0x3C, 0xF0, 0x88, 0xFD - .byte 0x69, 0x7A, 0x31, 0x54, 0x04, 0x98, 0x00, 0x68, 0x00, 0x28, 0x27, 0xD1, 0x03, 0x98, 0x20, 0x21 - .byte 0xE0, 0xF7, 0xDE, 0xFB, 0x05, 0x1C, 0x03, 0x98, 0xE0, 0xF7, 0xE8, 0xFB, 0x0B, 0x90, 0x03, 0x98 - .byte 0xE0, 0xF7, 0xEC, 0xFB, 0x0A, 0x90, 0x20, 0x20, 0x23, 0xF0, 0xE2, 0xFB, 0x07, 0x1C, 0x20, 0x1C - .byte 0x39, 0x1C, 0x26, 0xF0, 0xC1, 0xFC, 0x38, 0x1C, 0x90, 0x21, 0x2A, 0x1C, 0x24, 0xF0, 0x10, 0xFB - .byte 0x38, 0x1C, 0x07, 0x21, 0x0B, 0xAA, 0x24, 0xF0, 0x0B, 0xFB, 0x38, 0x1C, 0x9C, 0x21, 0x0A, 0xAA - .byte 0x24, 0xF0, 0x06, 0xFB, 0x28, 0x1C, 0x3C, 0x1C, 0xDE, 0xF7, 0xFA, 0xFB, 0x02, 0x99, 0x02, 0x20 - .byte 0xD2, 0xF7, 0x62, 0xFD, 0x03, 0x1C, 0x20, 0x20, 0x00, 0x90, 0x03, 0x99, 0x20, 0x1C, 0x04, 0x22 - .byte 0x3D, 0xF0, 0x2C, 0xFB, 0x20, 0x1C, 0x23, 0xF0, 0x47, 0xFE, 0x01, 0x98, 0xC0, 0x68, 0x28, 0xF0 - .byte 0x65, 0xFC, 0x21, 0x1C, 0x28, 0xF0, 0x54, 0xFB, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x98, 0x21, 0x1C - .byte 0xC0, 0x68, 0xE8, 0xF7, 0x6F, 0xFF, 0x00, 0x2F, 0x02, 0xD0, 0x38, 0x1C, 0xD3, 0xF7, 0xD4, 0xFB - .byte 0x0E, 0xB0, 0xF8, 0xBD, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7 - .byte 0x41, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x07, 0x20, 0x30, 0x80, 0x28, 0x68 - .byte 0xC0, 0x68, 0xE0, 0xF7, 0x2F, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x90, 0xFC - .byte 0x38, 0x1D, 0x25, 0xF0, 0x1F, 0xFF, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xFA, 0xFC - .byte 0xF8, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x04, 0x20, 0x10, 0x80, 0x70, 0x47 - .byte 0x00, 0x4B, 0x18, 0x47, 0x6D, 0x2F, 0x04, 0x02, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0x17, 0xFD, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x08, 0x20 - .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x05, 0xFB, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21 - .byte 0xC7, 0xF7, 0x66, 0xFC, 0x38, 0x1D, 0x25, 0xF0, 0xF5, 0xFE, 0x02, 0x1C, 0x68, 0x68, 0x01, 0x21 - .byte 0xC7, 0xF7, 0xAE, 0xFC, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0 - .byte 0x23, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xF5, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C - .byte 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xFC, 0xFC, 0x38, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x0F, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 - .byte 0xE1, 0xFC, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C, 0x09, 0x04, 0x09, 0x0C, 0x01, 0x22, 0x20, 0x23 - .byte 0x2B, 0xF0, 0xF2, 0xFC, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0xCF, 0xFC, 0x00, 0x68, 0x00, 0x04, 0x07, 0x0C, 0x53, 0x20, 0x80, 0x00 - .byte 0x20, 0x80, 0x09, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0xBB, 0xFA, 0x02, 0x1C - .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x1C, 0xFC, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7 - .byte 0x53, 0xFD, 0xF8, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C - .byte 0x2B, 0xF0, 0xDA, 0xFE, 0x28, 0x68, 0xFF, 0xF7, 0xAD, 0xFC, 0x00, 0x68, 0x00, 0x21, 0x00, 0x04 - .byte 0x02, 0x0C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0xC7, 0xF7 - .byte 0x3B, 0xFD, 0x70, 0xBD, 0x01, 0x20, 0x70, 0x47, 0x10, 0xB5, 0x04, 0x1C, 0xFF, 0xF7, 0x9A, 0xFC - .byte 0x01, 0x1C, 0xE0, 0x68, 0xE0, 0xF7, 0xFE, 0xFB, 0x10, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0 - .byte 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x8C, 0xFC, 0x07, 0x1C, 0x53, 0x20 - .byte 0x80, 0x00, 0x20, 0x80, 0x0A, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x7A, 0xFA - .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xDB, 0xFB, 0x38, 0x1C, 0x20, 0x21, 0xE0, 0xF7 - .byte 0x71, 0xFB, 0x04, 0x1C, 0x01, 0x21, 0x00, 0x91, 0x02, 0x20, 0x01, 0x90, 0x68, 0x68, 0x22, 0x1C - .byte 0x00, 0x23, 0xC7, 0xF7, 0xC7, 0xFB, 0x20, 0x1C, 0xDE, 0xF7, 0xFA, 0xFA, 0x02, 0xB0, 0xF8, 0xBD - .byte 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47, 0x08, 0xB5, 0xC0, 0x68 - .byte 0xE3, 0xF7, 0x40, 0xFC, 0xE2, 0xF7, 0xB4, 0xFC, 0xC8, 0x28, 0x01, 0xDA, 0x01, 0x20, 0x08, 0xBD - .byte 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x54, 0xFC, 0x04, 0x1C, 0xE8, 0x68 - .byte 0xE3, 0xF7, 0x30, 0xFC, 0x21, 0x68, 0xE2, 0xF7, 0x81, 0xFC, 0x38, 0xBD, 0xF8, 0xB5, 0x05, 0x1C - .byte 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x45, 0xFC, 0x07, 0x68, 0x53, 0x20, 0x80, 0x00 - .byte 0x20, 0x80, 0x0B, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x33, 0xFA, 0x02, 0x1C - .byte 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x94, 0xFB, 0x68, 0x68, 0x01, 0x21, 0x3A, 0x1C, 0xC7, 0xF7 - .byte 0x57, 0xFF, 0xF8, 0xBD, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x26, 0xFC, 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0 - .byte 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0B, 0xE0, 0xE8, 0x68, 0xE6, 0xF7, 0xD8, 0xFB - .byte 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x7E, 0xFC, 0x38, 0xBD, 0x01, 0x20, 0x38, 0xBD, 0x01, 0x20 - .byte 0x38, 0xBD, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xFF, 0xF7, 0x0A, 0xFC - .byte 0x44, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28, 0x0A, 0xD0, 0x03, 0x28, 0x12, 0xD0 - .byte 0x38, 0xBD, 0xE8, 0x68, 0xE6, 0xF7, 0xBC, 0xFB, 0x21, 0x1C, 0x01, 0x22, 0xE6, 0xF7, 0x1A, 0xFC - .byte 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x86, 0xFC, 0xE3, 0xF7, 0xB8, 0xFD, 0x21, 0x1C, 0x01, 0x22 - .byte 0xE3, 0xF7, 0x40, 0xFE, 0x38, 0xBD, 0xE8, 0x68, 0xE4, 0xF7, 0x7C, 0xFC, 0xE3, 0xF7, 0xAE, 0xFD - .byte 0x21, 0x1C, 0xE3, 0xF7, 0x97, 0xFE, 0x38, 0xBD, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0xDF, 0xFB, 0x42, 0x68, 0x00, 0x68, 0x01, 0x28, 0x04, 0xD0, 0x02, 0x28 - .byte 0x07, 0xD0, 0x03, 0x28, 0x0A, 0xD0, 0x0D, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEA, 0xFF - .byte 0x08, 0xE0, 0x68, 0x68, 0x01, 0x21, 0xC8, 0xF7, 0x7B, 0xF8, 0x03, 0xE0, 0x68, 0x68, 0x01, 0x21 - .byte 0xC8, 0xF7, 0xAE, 0xF8, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0C, 0x20, 0x30, 0x80, 0x28, 0x68 - .byte 0xC0, 0x68, 0xE0, 0xF7, 0xB7, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x18, 0xFB - .byte 0x70, 0xBD, 0x00, 0x00, 0x53, 0x20, 0x80, 0x00, 0x08, 0x80, 0x06, 0x20, 0x10, 0x80, 0x70, 0x47 - .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0xD7, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 - .byte 0xA9, 0xFB, 0x03, 0x49, 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xB3, 0xFB, 0x38, 0xBD - .byte 0xC6, 0x01, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0xC5, 0xFD, 0x05, 0x1C - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x97, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x68, 0xFE, 0x04, 0x1C, 0x05, 0x49 - .byte 0x28, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xA7, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x1B, 0xF0 - .byte 0x43, 0xFF, 0x38, 0xBD, 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0x7F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0E, 0x20, 0x30, 0x80 - .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x6E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7 - .byte 0xCF, 0xFA, 0x68, 0x68, 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x06, 0xFC, 0x70, 0xBD, 0xC0, 0x46 - .byte 0xC6, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C - .byte 0x2B, 0xF0, 0x8A, 0xFD, 0x28, 0x68, 0xFF, 0xF7, 0x5D, 0xFB, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80 - .byte 0x05, 0x20, 0x30, 0x80, 0x68, 0x68, 0x00, 0x21, 0x7A, 0x32, 0xC7, 0xF7, 0xED, 0xFB, 0x70, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x2B, 0xF0, 0x77, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7 - .byte 0x49, 0xFB, 0x71, 0x21, 0x20, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x52, 0xFB - .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x65, 0xFD, 0x05, 0x1C - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x37, 0xFB, 0xE0, 0x68, 0x02, 0xF0, 0x08, 0xFE, 0x71, 0x21, 0x04, 0x1C - .byte 0x28, 0x1C, 0x89, 0x00, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0x46, 0xFB, 0x20, 0x1C, 0x01, 0x21 - .byte 0x1B, 0xF0, 0xE2, 0xFE, 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0x1F, 0xFB, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x0F, 0x20, 0x30, 0x80 - .byte 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x0E, 0xF9, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7 - .byte 0x6F, 0xFA, 0x71, 0x22, 0x68, 0x68, 0x01, 0x21, 0x92, 0x00, 0xC7, 0xF7, 0xA5, 0xFB, 0x70, 0xBD - .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0x2C, 0xFD - .byte 0x28, 0x68, 0xFF, 0xF7, 0xFF, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80 - .byte 0x68, 0x68, 0x00, 0x21, 0x78, 0x32, 0xC7, 0xF7, 0x8F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C - .byte 0xE8, 0x68, 0x2B, 0xF0, 0x19, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0xEB, 0xFA, 0x03, 0x49 - .byte 0x20, 0x1C, 0x01, 0x22, 0x20, 0x23, 0x2B, 0xF0, 0xF5, 0xFA, 0x38, 0xBD, 0xC7, 0x01, 0x00, 0x00 - .byte 0x38, 0xB5, 0x04, 0x1C, 0xE0, 0x68, 0x2B, 0xF0, 0x07, 0xFD, 0x05, 0x1C, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0xD9, 0xFA, 0xE0, 0x68, 0x02, 0xF0, 0xAA, 0xFD, 0x04, 0x1C, 0x05, 0x49, 0x28, 0x1C, 0x01, 0x22 - .byte 0x20, 0x23, 0x2B, 0xF0, 0xE9, 0xFA, 0x20, 0x1C, 0x02, 0x21, 0x1B, 0xF0, 0x85, 0xFE, 0x38, 0xBD - .byte 0xC7, 0x01, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7 - .byte 0xC1, 0xFA, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x10, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68 - .byte 0xE0, 0xF7, 0xB0, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0x11, 0xFA, 0x68, 0x68 - .byte 0x02, 0x4A, 0x01, 0x21, 0xC7, 0xF7, 0x48, 0xFB, 0x70, 0xBD, 0xC0, 0x46, 0xC7, 0x01, 0x00, 0x00 - .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0xC0, 0x68, 0x16, 0x1C, 0x2B, 0xF0, 0xCC, 0xFC - .byte 0x28, 0x68, 0xFF, 0xF7, 0x9F, 0xFA, 0x53, 0x22, 0x92, 0x00, 0x22, 0x80, 0x05, 0x20, 0x30, 0x80 - .byte 0x68, 0x68, 0x00, 0x21, 0x7B, 0x32, 0xC7, 0xF7, 0x2F, 0xFB, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C - .byte 0xE8, 0x68, 0x08, 0xF0, 0xE1, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x8B, 0xFA, 0x20, 0x1C - .byte 0x08, 0xF0, 0x6A, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xE8, 0x68, 0x08, 0xF0 - .byte 0xD3, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xFF, 0xF7, 0x7D, 0xFA, 0x01, 0x1C, 0x09, 0x68, 0x20, 0x1C - .byte 0x08, 0xF0, 0x62, 0xFB, 0x38, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C - .byte 0x16, 0x1C, 0xFF, 0xF7, 0x6F, 0xFA, 0x07, 0x1C, 0x53, 0x20, 0x80, 0x00, 0x20, 0x80, 0x12, 0x20 - .byte 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x5D, 0xF8, 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21 - .byte 0xC7, 0xF7, 0xBE, 0xF9, 0x68, 0x68, 0x3A, 0x68, 0x01, 0x21, 0xC7, 0xF7, 0xEF, 0xFB, 0xF8, 0xBD - .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x68, 0x0C, 0x1C, 0x16, 0x1C, 0xFF, 0xF7, 0x53, 0xFA, 0x53, 0x20 - .byte 0x80, 0x00, 0x20, 0x80, 0x13, 0x20, 0x30, 0x80, 0x28, 0x68, 0xC0, 0x68, 0xE0, 0xF7, 0x42, 0xF8 - .byte 0x02, 0x1C, 0x68, 0x68, 0x00, 0x21, 0xC7, 0xF7, 0xA3, 0xF9, 0x70, 0xBD, 0x38, 0xB5, 0x05, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x11, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7 - .byte 0xCF, 0xF9, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x29, 0xFE, 0x00, 0x28 - .byte 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBE, 0xFC, 0x80, 0x35, 0x28, 0x68, 0x08, 0xF0, 0x9E, 0xF8 - .byte 0x0B, 0xE0, 0x01, 0x28, 0x07, 0xD1, 0x20, 0x1C, 0x1B, 0xF0, 0xBC, 0xFC, 0x80, 0x35, 0x28, 0x68 - .byte 0x08, 0xF0, 0xAC, 0xF8, 0x01, 0xE0, 0xDD, 0xF7, 0xB1, 0xF9, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x25, 0xFE, 0x06, 0x1C - .byte 0x20, 0x20, 0x23, 0xF0, 0x6D, 0xF8, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0xA1, 0xF9, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xE0, 0xFD, 0x04, 0x1C, 0x30, 0x1C, 0xE8, 0xF7, 0x80, 0xFB - .byte 0x06, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x00, 0xE0, 0x00, 0x20, 0x20, 0x80, 0x28, 0x1C, 0xD3, 0xF7 - .byte 0x83, 0xF8, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF0, 0xB5, 0x83, 0xB0, 0x06, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xC0, 0x68, 0xDE, 0xF7, 0x00, 0xFE, 0x07, 0x1C, 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xC0, 0x68, 0xDE, 0xF7, 0xED, 0xFD, 0x02, 0x90, 0x20, 0x20, 0x23, 0xF0, 0x41, 0xF8, 0x04, 0x1C - .byte 0x30, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0xD4, 0xFF, 0x01, 0x90, 0x30, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xE1, 0xF7, 0x23, 0xFA, 0x00, 0x25, 0x38, 0x1C, 0x29, 0x1C - .byte 0x22, 0x1C, 0xE8, 0xF7, 0x39, 0xFB, 0x20, 0x20, 0x00, 0x90, 0x01, 0x99, 0x20, 0x1C, 0x02, 0x22 - .byte 0x00, 0x23, 0x3C, 0xF0, 0x93, 0xFF, 0x20, 0x1C, 0x25, 0xF0, 0xB4, 0xFB, 0x01, 0x1C, 0x02, 0x98 - .byte 0x27, 0xF0, 0x44, 0xFC, 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x50, 0xF9, 0x30, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0x21, 0x1C, 0xC0, 0x68, 0xE8, 0xF7, 0xD5, 0xFB, 0x6D, 0x1C, 0x06, 0x2D, 0xDD, 0xDB - .byte 0x20, 0x1C, 0xD3, 0xF7, 0x39, 0xF8, 0x38, 0x1C, 0xE8, 0xF7, 0x98, 0xFA, 0x00, 0x20, 0x03, 0xB0 - .byte 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0xF5, 0xF7, 0x3A, 0xF9, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x94, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x30, 0xF9 - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x6E, 0xFD, 0x05, 0x1C, 0x03, 0x2E - .byte 0x2E, 0xD8, 0xB0, 0x19, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00 - .byte 0x12, 0x00, 0x1E, 0x00, 0x2A, 0x00, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x63, 0xF8, 0x28, 0x80 - .byte 0x1E, 0xE0, 0x80, 0x34, 0x20, 0x68, 0x08, 0xF0, 0x65, 0xF8, 0x28, 0x80, 0x18, 0xE0, 0x80, 0x34 - .byte 0x20, 0x68, 0x08, 0xF0, 0x67, 0xF8, 0x28, 0x80, 0x12, 0xE0, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0x08, 0xF0, 0x58, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x08, 0xF0, 0x4A, 0xF8 - .byte 0x80, 0x34, 0x07, 0x1C, 0x20, 0x68, 0x08, 0xF0, 0x55, 0xF8, 0x38, 0x18, 0x30, 0x18, 0x28, 0x80 - .byte 0x00, 0x20, 0xF8, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF5, 0xF7 - .byte 0xEF, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x49, 0xFD, 0x06, 0x1C - .byte 0x20, 0x1C, 0xF5, 0xF7, 0xE5, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 - .byte 0x3F, 0xFD, 0x07, 0x1C, 0x28, 0x1C, 0x26, 0x21, 0xF5, 0xF7, 0xDE, 0xFC, 0x31, 0x06, 0x3A, 0x06 - .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1, 0x61, 0xFF, 0x28, 0x60 - .byte 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xCC, 0xFC - .byte 0x00, 0x68, 0x9E, 0xF1, 0x87, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0x26, 0x21, 0xF5, 0xF7, 0xBF, 0xFC, 0x01, 0x1C, 0x80, 0x34, 0x20, 0x68 - .byte 0x09, 0x68, 0x9E, 0xF1, 0x81, 0xFF, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x19, 0xFF, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7 - .byte 0xA7, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xE6, 0xFC, 0x05, 0x1C, 0x20, 0x1C - .byte 0xE4, 0xF7, 0x1E, 0xFF, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7, 0x01, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7 - .byte 0x8F, 0xF8, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xEA, 0xFC, 0x01, 0x1C, 0x28, 0x1C - .byte 0xE4, 0xF7, 0x08, 0xFF, 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xC0, 0x68, 0xDF, 0xF7, 0xEB, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x79, 0xF8, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xD4, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xE4, 0xF7, 0x0E, 0xFF - .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68, 0xDF, 0xF7 - .byte 0xD5, 0xFE, 0x04, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x63, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68 - .byte 0xF5, 0xF7, 0xA2, 0xFC, 0x01, 0x1C, 0x09, 0x88, 0x20, 0x1C, 0xE4, 0xF7, 0xF7, 0xFE, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x28, 0x1C, 0xF3, 0xF7 - .byte 0x0D, 0xFE, 0xDF, 0xF7, 0xAF, 0xFE, 0xE8, 0x68, 0xDF, 0xF7, 0xB8, 0xFE, 0x06, 0x1C, 0x20, 0x1C - .byte 0xF5, 0xF7, 0x46, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x84, 0xFC - .byte 0x05, 0x1C, 0x20, 0x1C, 0xF5, 0xF7, 0x48, 0xF8, 0x04, 0x1C, 0x30, 0x1C, 0xE4, 0xF7, 0xB8, 0xFE - .byte 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD - .byte 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0x20, 0x1C, 0xF3, 0xF7, 0xE7, 0xFD, 0xDF, 0xF7 - .byte 0x89, 0xFE, 0xE0, 0x68, 0xDF, 0xF7, 0x92, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF5, 0xF7, 0x20, 0xF8 - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5E, 0xFC, 0x04, 0x1C, 0x28, 0x1C - .byte 0xF5, 0xF7, 0x16, 0xF8, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x55, 0xFC, 0x05, 0x88 - .byte 0x30, 0x1C, 0xE4, 0xF7, 0x8D, 0xFE, 0xA8, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 - .byte 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xC0, 0x68, 0xDF, 0xF7, 0x6B, 0xFE, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xF9, 0xFF, 0x01, 0x1C - .byte 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x37, 0xFC, 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7 - .byte 0xEF, 0xFF, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x4A, 0xFC, 0x01, 0x1C, 0x30, 0x1C - .byte 0xE4, 0xF7, 0x78, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x04, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x9A, 0xFD, 0xDF, 0xF7, 0x3C, 0xFE, 0x05, 0x1C, 0x20, 0x1C - .byte 0xF4, 0xF7, 0xE2, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE, 0x00, 0x20, 0x38, 0xBD - .byte 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x88, 0xFD, 0xDF, 0xF7, 0x2A, 0xFE - .byte 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xD0, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xD2, 0xFE - .byte 0x00, 0x20, 0x38, 0xBD, 0x38, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x76, 0xFD - .byte 0xDF, 0xF7, 0x18, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xB2, 0xFF, 0x80, 0x34, 0x01, 0x1C - .byte 0x20, 0x68, 0xF5, 0xF7, 0x0D, 0xFC, 0x01, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0xBB, 0xFE, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF3, 0xF7, 0x5E, 0xFD - .byte 0xDF, 0xF7, 0x00, 0xFE, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9A, 0xFF, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xD8, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x9C, 0xFF - .byte 0x04, 0x1C, 0x30, 0x1C, 0xDF, 0xF7, 0x7C, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0 - .byte 0x01, 0x20, 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF3, 0xF7, 0x3C, 0xFD, 0xDF, 0xF7, 0xDE, 0xFD, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x78, 0xFF - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xB6, 0xFB, 0x05, 0x1C, 0x20, 0x1C - .byte 0xF4, 0xF7, 0x6E, 0xFF, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xC9, 0xFB, 0x04, 0x1C - .byte 0x30, 0x1C, 0xDF, 0xF7, 0x55, 0xFE, 0xA0, 0x42, 0x01, 0xD2, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20 - .byte 0x28, 0x80, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31 - .byte 0x0D, 0x68, 0xF4, 0xF7, 0x55, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 - .byte 0xAF, 0xFB, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x4B, 0xFF, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF5, 0xF7, 0xA5, 0xFB, 0x07, 0x1C, 0x28, 0x1C, 0x27, 0x21, 0xF5, 0xF7, 0x44, 0xFB - .byte 0x31, 0x06, 0x3A, 0x06, 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0x09, 0x0E, 0x12, 0x0E, 0x9E, 0xF1 - .byte 0x13, 0xFD, 0x28, 0x60, 0x00, 0x20, 0xF8, 0xBD, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21 - .byte 0xF5, 0xF7, 0x32, 0xFB, 0x00, 0x68, 0x9E, 0xF1, 0x59, 0xFD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00 - .byte 0x10, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x27, 0x21, 0xF5, 0xF7, 0x25, 0xFB, 0x01, 0x1C - .byte 0x80, 0x34, 0x20, 0x68, 0x09, 0x68, 0x9E, 0xF1, 0x53, 0xFD, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC5, 0x68, 0xF5, 0xF7, 0x15, 0xFB, 0x04, 0x1C - .byte 0x28, 0x1C, 0xDF, 0xF7, 0xA1, 0xFF, 0x21, 0x68, 0xA9, 0xF1, 0x62, 0xFB, 0x00, 0x20, 0x38, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x00, 0xFF - .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x3F, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 - .byte 0xDE, 0xF7, 0xE6, 0xFB, 0xA9, 0xF1, 0xD2, 0xFB, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0x08, 0x21, 0xC0, 0x68, 0xDE, 0xF7, 0xD9, 0xFB, 0xA8, 0xF1 - .byte 0x81, 0xFF, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68 - .byte 0x08, 0x21, 0xE8, 0x68, 0xDE, 0xF7, 0xCC, 0xFB, 0x06, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x4E, 0xFE - .byte 0x80, 0x34, 0x05, 0x1C, 0x20, 0x68, 0xF3, 0xF7, 0x91, 0xFC, 0xDF, 0xF7, 0x33, 0xFD, 0x02, 0x1C - .byte 0x30, 0x1C, 0x29, 0x1C, 0xA9, 0xF1, 0x1A, 0xF9, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C - .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0xC6, 0xFA, 0x07, 0x1C, 0x20, 0x1C - .byte 0xEE, 0x68, 0xF4, 0xF7, 0xBD, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 - .byte 0xFB, 0xFA, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xB3, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 - .byte 0xF5, 0xF7, 0x0E, 0xFB, 0x04, 0x1C, 0x30, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x99, 0xFB, 0x06, 0x1C - .byte 0xE8, 0x68, 0x27, 0xF0, 0x1B, 0xFE, 0x23, 0x06, 0x39, 0x68, 0x32, 0x1C, 0x1B, 0x0E, 0xA8, 0xF1 - .byte 0x15, 0xFC, 0x00, 0x99, 0x08, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C - .byte 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x96, 0xFA, 0x07, 0x1C, 0x20, 0x1C - .byte 0xED, 0x68, 0xF4, 0xF7, 0x8D, 0xFE, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 - .byte 0xCB, 0xFA, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 - .byte 0xF5, 0xF7, 0xDE, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x69, 0xFB, 0x21, 0x06 - .byte 0x3A, 0x68, 0x09, 0x0E, 0xA8, 0xF1, 0x86, 0xFC, 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 - .byte 0xF8, 0xB5, 0x05, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21, 0xC4, 0x68, 0xF5, 0xF7, 0x6C, 0xFA - .byte 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x64, 0xFE, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF5, 0xF7, 0xA2, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x5A, 0xFE, 0x80, 0x35, 0x01, 0x1C - .byte 0x28, 0x68, 0xF5, 0xF7, 0xB5, 0xFA, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0x40, 0xFB - .byte 0x32, 0x68, 0x29, 0x1C, 0xA8, 0xF1, 0x66, 0xFC, 0x38, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00 - .byte 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x0F, 0x21, 0x28, 0x1C, 0xF5, 0xF7, 0x44, 0xFA - .byte 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x3C, 0xFE, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFE, 0x01, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x93, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 - .byte 0x2F, 0xFE, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6E, 0xFA, 0x04, 0x1C, 0xE8, 0x68 - .byte 0x27, 0xF0, 0x9C, 0xFD, 0x32, 0x68, 0x39, 0x1C, 0xA9, 0xF1, 0xEC, 0xFA, 0x20, 0x80, 0x00, 0x20 - .byte 0xF8, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C, 0x31, 0x1C, 0x80, 0x31, 0x0C, 0x68, 0xE5, 0x68 - .byte 0xF4, 0xF7, 0x16, 0xFE, 0x80, 0x36, 0x01, 0x1C, 0x30, 0x68, 0xF5, 0xF7, 0x71, 0xFA, 0x06, 0x1C - .byte 0xE0, 0x68, 0x27, 0xF0, 0x83, 0xFD, 0x04, 0x1C, 0x28, 0x1C, 0x08, 0x21, 0xDE, 0xF7, 0xF8, 0xFA - .byte 0x31, 0x06, 0x02, 0x1C, 0x20, 0x1C, 0x09, 0x0E, 0x2B, 0x1C, 0xA8, 0xF1, 0xA7, 0xFA, 0x00, 0x20 - .byte 0x70, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x84, 0xB0, 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0x0F, 0x21 - .byte 0xC5, 0x68, 0xF5, 0xF7, 0xF9, 0xF9, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0xF1, 0xFD, 0x01, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x4B, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 - .byte 0xE7, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x41, 0xFA, 0x02, 0x90 - .byte 0x20, 0x1C, 0xF4, 0xF7, 0xDD, 0xFD, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7 - .byte 0x37, 0xFA, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xD3, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 - .byte 0xF5, 0xF7, 0x2E, 0xFA, 0x04, 0x1C, 0x28, 0x1C, 0xDF, 0xF7, 0x5E, 0xFE, 0x21, 0x06, 0x09, 0x0E - .byte 0x00, 0x91, 0x31, 0x68, 0x02, 0x9A, 0x03, 0x9B, 0x01, 0x91, 0x39, 0x06, 0x12, 0x06, 0x1B, 0x06 - .byte 0x09, 0x0E, 0x12, 0x0E, 0x1B, 0x0E, 0xA9, 0xF1, 0x39, 0xFA, 0x00, 0x20, 0x04, 0xB0, 0xF8, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0xB0, 0xFD - .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xEF, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 - .byte 0xDE, 0xF7, 0x96, 0xFA, 0xA9, 0xF1, 0xAE, 0xFA, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0x29, 0x1C, 0x80, 0x31, 0x09, 0x68, 0xCC, 0x68, 0xF4, 0xF7, 0x98, 0xFD - .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0xD7, 0xF9, 0x05, 0x1C, 0x20, 0x1C, 0x08, 0x21 - .byte 0xDE, 0xF7, 0x7E, 0xFA, 0xDF, 0xF7, 0xBC, 0xFD, 0x28, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00 - .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x84, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 - .byte 0xC3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x00, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 - .byte 0x10, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x74, 0xFD, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 - .byte 0xB3, 0xF9, 0x00, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x68 - .byte 0x02, 0xF0, 0xA4, 0xF8, 0x1B, 0xF0, 0xF2, 0xF9, 0x00, 0x20, 0x08, 0xBD, 0x38, 0xB5, 0x05, 0x1C - .byte 0xF4, 0xF7, 0x5E, 0xFD, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x9C, 0xF9 - .byte 0x80, 0x35, 0x04, 0x1C, 0x28, 0x68, 0xC0, 0x68, 0x02, 0xF0, 0x90, 0xF8, 0x1B, 0xF0, 0xE6, 0xF9 - .byte 0x20, 0x80, 0x00, 0x20, 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0xF4, 0xF7, 0x48, 0xFD - .byte 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x86, 0xF9, 0x04, 0x1C, 0x28, 0x1C - .byte 0xF4, 0xF7, 0x3E, 0xFD, 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x99, 0xF9, 0x05, 0x1C - .byte 0xD7, 0xF7, 0x14, 0xFC, 0x64, 0x21, 0xA7, 0xF0, 0x5C, 0xED, 0x08, 0x04, 0x00, 0x0C, 0x0F, 0x28 - .byte 0x01, 0xD2, 0x00, 0x20, 0x20, 0xE0, 0x1E, 0x28, 0x01, 0xD2, 0x01, 0x20, 0x1C, 0xE0, 0x2D, 0x28 - .byte 0x01, 0xD2, 0x02, 0x20, 0x18, 0xE0, 0x3C, 0x28, 0x01, 0xD2, 0x03, 0x20, 0x14, 0xE0, 0x46, 0x28 - .byte 0x01, 0xD2, 0x04, 0x20, 0x10, 0xE0, 0x50, 0x28, 0x01, 0xD2, 0x05, 0x20, 0x0C, 0xE0, 0x58, 0x28 - .byte 0x01, 0xD2, 0x06, 0x20, 0x08, 0xE0, 0x5D, 0x28, 0x01, 0xD2, 0x07, 0x20, 0x04, 0xE0, 0x62, 0x28 - .byte 0x01, 0xD2, 0x08, 0x20, 0x00, 0xE0, 0x09, 0x20, 0x26, 0x4A, 0x95, 0x42, 0x12, 0xDC, 0x37, 0xDA - .byte 0x27, 0x2D, 0x08, 0xDC, 0x23, 0x2D, 0x03, 0xDB, 0x2C, 0xD0, 0x27, 0x2D, 0x30, 0xD0, 0x35, 0xE0 - .byte 0x19, 0x2D, 0x2F, 0xD0, 0x32, 0xE0, 0x36, 0x2D, 0x01, 0xDC, 0x27, 0xD0, 0x2E, 0xE0, 0xFF, 0x2D - .byte 0x22, 0xD0, 0x2B, 0xE0, 0x11, 0x1C, 0x8C, 0x31, 0x8D, 0x42, 0x0F, 0xDC, 0x11, 0x1C, 0x8C, 0x31 - .byte 0x8D, 0x42, 0x19, 0xDA, 0x11, 0x1C, 0x0F, 0x31, 0x8D, 0x42, 0x03, 0xDC, 0x0F, 0x32, 0x95, 0x42 - .byte 0x10, 0xD0, 0x1B, 0xE0, 0x84, 0x32, 0x95, 0x42, 0x10, 0xD0, 0x17, 0xE0, 0x11, 0x1C, 0x8E, 0x31 - .byte 0x8D, 0x42, 0x03, 0xDC, 0x8E, 0x32, 0x95, 0x42, 0x0E, 0xD0, 0x0F, 0xE0, 0x9B, 0x32, 0x95, 0x42 - .byte 0x0A, 0xD0, 0x0B, 0xE0, 0x00, 0x22, 0x0A, 0xE0, 0x01, 0x22, 0x08, 0xE0, 0x02, 0x22, 0x06, 0xE0 - .byte 0x03, 0x22, 0x04, 0xE0, 0x04, 0x22, 0x02, 0xE0, 0x05, 0x22, 0x00, 0xE0, 0x00, 0x22, 0x13, 0x1C - .byte 0x14, 0x21, 0x4B, 0x43, 0x04, 0x4A, 0x41, 0x00, 0xD0, 0x18, 0x08, 0x5A, 0x20, 0x80, 0x00, 0x20 - .byte 0x38, 0xBD, 0xC0, 0x46, 0x1D, 0x01, 0x00, 0x00, 0x94, 0x44, 0x0F, 0x02, 0xF0, 0xB5, 0x85, 0xB0 - .byte 0x04, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xC0, 0x69, 0x00, 0x68, 0xF0, 0xF7, 0xAB, 0xFA, 0x06, 0x1C - .byte 0x20, 0x1C, 0x80, 0x30, 0x05, 0x68, 0x20, 0x1C, 0xF4, 0xF7, 0xAA, 0xFC, 0x01, 0x1C, 0x20, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x04, 0xF9, 0x03, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0xA0, 0xFC - .byte 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x07, 0x1C, 0x20, 0x1C - .byte 0xF4, 0xF7, 0x96, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0xF0, 0xF8 - .byte 0x04, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x8C, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7 - .byte 0xCB, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xF9, 0xFB, 0x04, 0x98, 0x3B, 0x06, 0x00, 0x90 - .byte 0x01, 0x96, 0x0C, 0x20, 0x02, 0x90, 0xE9, 0x68, 0x03, 0x9A, 0x0B, 0x20, 0x1B, 0x0E, 0x05, 0xF0 - .byte 0x83, 0xFE, 0x20, 0x80, 0x00, 0x20, 0x05, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x04, 0x1C - .byte 0x21, 0x1C, 0x80, 0x31, 0x0D, 0x68, 0xF4, 0xF7, 0x6B, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF5, 0xF7, 0xA9, 0xF8, 0x06, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x61, 0xFC, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0xA0, 0xF8, 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0xCE, 0xFB - .byte 0x31, 0x88, 0x27, 0xF0, 0x15, 0xFB, 0x4C, 0x21, 0x00, 0x22, 0x05, 0x1C, 0x22, 0xF0, 0x16, 0xFF - .byte 0x00, 0x28, 0x05, 0xD1, 0x28, 0x1C, 0x05, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x0F, 0xFF, 0x00, 0xE0 - .byte 0x00, 0x20, 0x20, 0x80, 0x00, 0x20, 0x70, 0xBD, 0xF8, 0xB5, 0x04, 0x1C, 0x80, 0x30, 0x05, 0x68 - .byte 0x28, 0x1C, 0xF3, 0xF7, 0xFB, 0xF9, 0xDF, 0xF7, 0x9D, 0xFA, 0x07, 0x1C, 0x20, 0x1C, 0xF4, 0xF7 - .byte 0x37, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x75, 0xF8, 0x06, 0x1C - .byte 0x20, 0x1C, 0xF4, 0xF7, 0x2D, 0xFC, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68, 0xF5, 0xF7, 0x6C, 0xF8 - .byte 0x04, 0x1C, 0xE8, 0x68, 0x27, 0xF0, 0x9A, 0xFB, 0x31, 0x88, 0x27, 0xF0, 0xE1, 0xFA, 0x07, 0x21 - .byte 0x00, 0x22, 0x22, 0xF0, 0xE3, 0xFE, 0x00, 0x04, 0x05, 0x0C, 0x38, 0x1C, 0xDF, 0xF7, 0xDE, 0xFA - .byte 0x00, 0x04, 0x00, 0x0C, 0x85, 0x42, 0x01, 0xD1, 0x00, 0x20, 0x00, 0xE0, 0x01, 0x20, 0x20, 0x80 - .byte 0x00, 0x20, 0xF8, 0xBD, 0xF0, 0xB5, 0x83, 0xB0, 0x05, 0x1C, 0x80, 0x30, 0x04, 0x68, 0xE0, 0x68 - .byte 0xDF, 0xF7, 0x68, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0x02, 0xFC, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x5C, 0xF8, 0x02, 0x90, 0x28, 0x1C, 0xF4, 0xF7, 0xF8, 0xFB - .byte 0x80, 0x35, 0x01, 0x1C, 0x28, 0x68, 0xF5, 0xF7, 0x53, 0xF8, 0x05, 0x1C, 0xE0, 0x68, 0x27, 0xF0 - .byte 0x65, 0xFB, 0x06, 0x1C, 0x27, 0xF0, 0xAA, 0xFA, 0x00, 0x06, 0x00, 0x0E, 0x06, 0x28, 0x19, 0xD2 - .byte 0x0B, 0x20, 0x22, 0xF0, 0xAD, 0xFA, 0x04, 0x1C, 0x22, 0xF0, 0x86, 0xFA, 0x01, 0x20, 0x29, 0x1C - .byte 0xD1, 0xF7, 0x42, 0xFC, 0x03, 0x21, 0x00, 0x91, 0x01, 0x90, 0x02, 0x99, 0x20, 0x1C, 0x01, 0x22 - .byte 0x3B, 0x1C, 0xA8, 0xF1, 0x47, 0xFD, 0x30, 0x1C, 0x21, 0x1C, 0x27, 0xF0, 0x39, 0xFA, 0x20, 0x1C - .byte 0xD2, 0xF7, 0xC2, 0xFA, 0x00, 0x20, 0x03, 0xB0, 0xF0, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x05, 0x1C - .byte 0xF4, 0xF7, 0xC6, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x20, 0xF8 - .byte 0x04, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xBC, 0xFB, 0x01, 0x1C, 0x28, 0x1C, 0x80, 0x30, 0x00, 0x68 - .byte 0xF5, 0xF7, 0x16, 0xF8, 0x06, 0x1C, 0x28, 0x1C, 0xF4, 0xF7, 0xB2, 0xFB, 0x01, 0x1C, 0x28, 0x1C - .byte 0x80, 0x30, 0x00, 0x68, 0xF5, 0xF7, 0x0C, 0xF8, 0x80, 0x35, 0x07, 0x1C, 0x28, 0x68, 0xC0, 0x68 - .byte 0x27, 0xF0, 0x1C, 0xFB, 0x21, 0x1C, 0x32, 0x1C, 0x3B, 0x1C, 0x05, 0xF0, 0x19, 0xFE, 0x00, 0x20 - .byte 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x04, 0x1C, 0x21, 0x1C, 0x80, 0x31, 0x0F, 0x68, 0xF4, 0xF7 - .byte 0x97, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7, 0xD5, 0xFF, 0x06, 0x1C - .byte 0x20, 0x1C, 0xF4, 0xF7, 0x8D, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x68, 0xF4, 0xF7 - .byte 0xE7, 0xFF, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x83, 0xFB, 0x80, 0x34, 0x01, 0x1C, 0x20, 0x68 - .byte 0xF4, 0xF7, 0xDE, 0xFF, 0x04, 0x1C, 0xF8, 0x68, 0x27, 0xF0, 0xF0, 0xFA, 0x21, 0x1C, 0x27, 0xF0 - .byte 0x37, 0xFA, 0x00, 0x22, 0x4C, 0x21, 0x04, 0x1C, 0x32, 0x80, 0x22, 0xF0, 0x37, 0xFE, 0x00, 0x28 - .byte 0x01, 0xD0, 0x00, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x2E, 0xFE - .byte 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C, 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x27, 0xFE, 0x85, 0x42 - .byte 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x20, 0xFE, 0x85, 0x42, 0x06, 0xD0 - .byte 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22, 0x22, 0xF0, 0x19, 0xFE, 0x85, 0x42, 0x01, 0xD1, 0x01, 0x20 - .byte 0x30, 0x80, 0x00, 0x20, 0xF8, 0xBD, 0x00, 0x00, 0xF8, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x21, 0x1C - .byte 0x80, 0x31, 0x09, 0x68, 0x01, 0x91, 0xF4, 0xF7, 0x43, 0xFB, 0x01, 0x1C, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x68, 0xF4, 0xF7, 0x81, 0xFF, 0x00, 0x90, 0x20, 0x1C, 0xF4, 0xF7, 0x39, 0xFB, 0x80, 0x34 - .byte 0x01, 0x1C, 0x20, 0x68, 0xF4, 0xF7, 0x94, 0xFF, 0x05, 0x1C, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0 - .byte 0xA5, 0xFA, 0x27, 0xF0, 0xEB, 0xF9, 0x00, 0x06, 0x07, 0x0E, 0x1D, 0x49, 0x00, 0x98, 0x1D, 0x4E - .byte 0x01, 0x80, 0x31, 0xD0, 0x01, 0x98, 0xC0, 0x68, 0x27, 0xF0, 0x98, 0xFA, 0x31, 0x1C, 0x27, 0xF0 - .byte 0xDF, 0xF9, 0x4C, 0x21, 0x00, 0x22, 0x04, 0x1C, 0x22, 0xF0, 0xE0, 0xFD, 0x00, 0x28, 0x1E, 0xD1 - .byte 0x20, 0x1C, 0x36, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD9, 0xFD, 0x85, 0x42, 0x14, 0xD0, 0x20, 0x1C - .byte 0x37, 0x21, 0x00, 0x22, 0x22, 0xF0, 0xD2, 0xFD, 0x85, 0x42, 0x0D, 0xD0, 0x20, 0x1C, 0x38, 0x21 - .byte 0x00, 0x22, 0x22, 0xF0, 0xCB, 0xFD, 0x85, 0x42, 0x06, 0xD0, 0x20, 0x1C, 0x39, 0x21, 0x00, 0x22 - .byte 0x22, 0xF0, 0xC4, 0xFD, 0x85, 0x42, 0x02, 0xD1, 0x00, 0x98, 0x06, 0x80, 0x04, 0xE0, 0x70, 0x1C - .byte 0x00, 0x06, 0x06, 0x0E, 0xBE, 0x42, 0xCD, 0xD3, 0x00, 0x20, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46 - .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_02044658 -FUN_02044658: ; 0x02044658 + thumb_func_start FUN_02040DB4 +FUN_02040DB4: ; 0x02040DB4 push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B660 + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02040DEC +FUN_02040DEC: ; 0x02040DEC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + mov r0, #0xb + ldrb r6, [r1, #0x0] + add r1, r0, #0x0 + bl FUN_020219F4 add r5, #0x80 - add r6, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C + bl FUN_02024EB4 + bl FUN_02024F0C + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02021E28 + ldr r0, _02040E48 ; =0x020ECAC4 + mov r3, #0x0 + ldrb r0, [r0, #0x0] + str r3, [sp, #0x0] add r1, r6, #0x0 - bl FUN_0206B9B0 - bl FUN_0204A32C - strh r0, [r4, #0x0] + str r0, [sp, #0x4] + ldr r0, [r7, #0x0] + add r2, r4, #0x0 + bl FUN_0200ABB4 + add r0, r4, #0x0 + bl FUN_02021A20 mov r0, #0x0 - pop {r4-r6, pc} + add sp, #0x8 + pop {r3-r7, pc} + nop +_02040E48: .word 0x020ECAC4 - thumb_func_start FUN_0204469C -FUN_0204469C: ; 0x0204469C - push {r4-r7, lr} - sub sp, #0xc + thumb_func_start FUN_02040E4C +FUN_02040E4C: ; 0x02040E4C + push {r3-r7, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] + add r0, #0x80 + ldr r6, [r0, #0x0] + mov r1, #0xf + add r0, r6, #0x0 + bl FUN_02039438 + ldr r1, [r4, #0x8] + add r7, r0, #0x0 + add r0, r1, #0x1 + str r0, [r4, #0x8] + add r0, r4, #0x0 + ldrb r5, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x4] + bl FUN_020394F0 + str r0, [sp, #0x0] add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394F0 - str r0, [sp, #0x0] - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x8] - mov r4, #0x0 - ldr r0, [sp, #0x4] - add r5, r4, #0x0 - strh r4, [r0, #0x0] - ldr r0, [sp, #0x8] - cmp r0, #0x0 - bls _02044726 -_020446EA: - ldr r0, [r7, #0xc] + add r4, r0, #0x0 + ldr r0, [r6, #0xc] bl FUN_0206BB1C - add r1, r4, #0x0 + ldr r1, [sp, #0x0] bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r6, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204471A - add r0, r6, #0x0 - mov r1, #0xa0 + add r4, #0x36 + add r1, r4, #0x0 mov r2, #0x0 bl FUN_020671BC - ldr r1, [sp, #0x0] - cmp r0, r1 - bhi _0204471A - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 -_0204471A: - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, [sp, #0x8] - cmp r4, r0 - blo _020446EA -_02044726: - ldr r0, [sp, #0x4] - strh r5, [r0, #0x0] + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r7, #0x0] + add r1, r5, #0x0 + bl FUN_0200AD5C mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02044730 -FUN_02044730: ; 0x02044730 + thumb_func_start FUN_02040EB4 +FUN_02040EB4: ; 0x02040EB4 push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r2, #0x0 - mov r1, #0x4c - add r5, r0, #0x0 - strh r2, [r4, #0x0] - bl FUN_020671BC - cmp r0, #0x0 - bne _02044786 - add r0, r5, #0x0 - mov r1, #0xa0 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r4, #0x0] -_02044786: + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + mov r1, #0x3 + bl FUN_0207FC5C + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AD94 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204478C -FUN_0204478C: ; 0x0204478C + thumb_func_start FUN_02040EF8 +FUN_02040EF8: ; 0x02040EF8 push {r4-r6, lr} - add r6, r0, #0x0 - add r1, r6, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r6, #0x0 + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r6, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r6, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r6, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r6, r0 - blt _020447D2 + add r2, r0, #0x0 + sub r2, r2, #0x1 + lsl r2, r2, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + bl FUN_0200B534 mov r0, #0x0 - strh r0, [r4, #0x0] pop {r4-r6, pc} -_020447D2: - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 + + thumb_func_start FUN_02040F34 +FUN_02040F34: ; 0x02040F34 + push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _020447F2 - mov r0, #0x0 - strh r0, [r4, #0x0] - pop {r4-r6, pc} -_020447F2: + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 - bl FUN_02068854 - strh r0, [r4, #0x0] + ldrb r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AE70 mov r0, #0x0 pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02044800 -FUN_02044800: ; 0x02044800 - push {r3-r7, lr} - sub sp, #0x8 - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + thumb_func_start FUN_02040F6C +FUN_02040F6C: ; 0x02040F6C + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x4] - add r0, r4, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 - str r0, [sp, #0x0] - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r1, _02044884 ; =0x000000FF - ldr r0, [sp, #0x4] - ldr r5, _02044888 ; =0x00000000 - strh r1, [r0, #0x0] - beq _0204487E -_02044848: - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _02044874 - add r0, r4, #0x0 - bl FUN_02068854 - ldr r1, [sp, #0x0] - cmp r1, r0 - bne _02044874 - ldr r0, [sp, #0x4] - strh r5, [r0, #0x0] - b _0204487E -_02044874: - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - blo _02044848 -_0204487E: + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200AEA8 mov r0, #0x0 - add sp, #0x8 - pop {r3-r7, pc} + pop {r4-r6, pc} .balign 4 -_02044884: .word 0x000000FF -_02044888: .word 0x00000000 - thumb_func_start FUN_0204488C -FUN_0204488C: ; 0x0204488C + thumb_func_start FUN_02040FA4 +FUN_02040FA4: ; 0x02040FA4 push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x9 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r6, #0x0] + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B388 mov r0, #0x0 pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_020448D4 -FUN_020448D4: ; 0x020448D4 - push {r3-r7, lr} - sub sp, #0x8 + thumb_func_start FUN_02040FDC +FUN_02040FDC: ; 0x02040FDC + push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 add r5, #0x80 - str r0, [sp, #0x0] + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0x0] - bl FUN_02034824 - add r7, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - ldr r1, [sp, #0x0] - bl FUN_0206B9B0 - mov r1, #0x9 - mov r2, #0x0 - add r5, r0, #0x0 - bl FUN_020671BC - add r1, sp, #0x4 - strh r0, [r1, #0x0] - cmp r4, #0x0 - beq _02044982 - add r0, r5, #0x0 - mov r1, #0x6 - mov r2, #0x0 - bl FUN_020671BC - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #0x1 - mov r2, #0xb - bl FUN_0206E7B8 - cmp r0, #0x34 - bne _0204495A - mov r0, #0x96 - mul r0, r4 - mov r1, #0x64 - blx FUN_020EBC80 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_0204495A: - add r0, r5, #0x0 - mov r1, #0x9a - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0xb - bne _0204496E - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_0204496E: - add r0, r5, #0x0 - mov r1, #0x97 - mov r2, #0x0 - bl FUN_020671BC - cmp r7, r0 - bne _02044982 - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_02044982: - add r0, sp, #0x4 - ldrh r1, [r0, #0x0] - add r1, r1, r4 - strh r1, [r0, #0x0] - ldrh r1, [r0, #0x0] - cmp r1, #0xff - bls _02044994 - mov r1, #0xff - strh r1, [r0, #0x0] -_02044994: - add r0, r5, #0x0 - mov r1, #0x9 - add r2, sp, #0x4 - bl FUN_02067830 + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B20C mov r0, #0x0 - add sp, #0x8 - pop {r3-r7, pc} + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_020449A4 -FUN_020449A4: ; 0x020449A4 - push {r3-r6, lr} - sub sp, #0x4 + thumb_func_start FUN_02041014 +FUN_02041014: ; 0x02041014 + push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x9 - mov r2, #0x0 - add r5, r0, #0x0 - bl FUN_020671BC - add r1, sp, #0x0 - strh r0, [r1, #0x0] - ldrh r0, [r1, #0x0] - cmp r4, r0 - bls _020449F8 - mov r0, #0x0 - b _020449FA -_020449F8: - sub r0, r0, r4 -_020449FA: - strh r0, [r1, #0x0] - add r0, r5, #0x0 - mov r1, #0x9 - add r2, sp, #0x0 - bl FUN_02067830 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B19C mov r0, #0x0 - add sp, #0x4 - pop {r3-r6, pc} + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_02044A0C -FUN_02044A0C: ; 0x02044A0C + thumb_func_start FUN_0204104C +FUN_0204104C: ; 0x0204104C push {r3-r7, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x8] + add r1, r4, #0x0 + add r0, r0, #0x1 + str r0, [r5, #0x8] + ldr r0, [r6, #0x0] + add r2, r7, #0x0 + bl FUN_0200ACC0 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02041094 +FUN_02041094: ; 0x02041094 + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r5, #0x80 ldr r0, [r5, #0x0] + ldrb r4, [r1, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r7, #0x0 - bl FUN_0206B9B0 - add r4, #0x13 + bl FUN_020462AC + bl FUN_0205F3C0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] add r1, r4, #0x0 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r6, #0x0] + bl FUN_0200ACC0 mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + pop {r4-r6, pc} - thumb_func_start FUN_02044A6C -FUN_02044A6C: ; 0x02044A6C - push {r3-r5, lr} + thumb_func_start FUN_020410C8 +FUN_020410C8: ; 0x020410C8 + push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] + add r0, r5, #0x0 + ldrb r4, [r1, #0x0] + bl FUN_02038C30 add r5, #0x80 - add r4, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02054DEC - strh r0, [r4, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B698 mov r0, #0x0 - pop {r3-r5, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02044A94 -FUN_02044A94: ; 0x02044A94 - push {r3-r7, lr} + thumb_func_start FUN_02041100 +FUN_02041100: ; 0x02041100 + push {r4-r6, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r2, r0, #0x0 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + bl FUN_0200B09C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02041138 +FUN_02041138: ; 0x02041138 + push {r4-r6, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r7, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + ldr r1, [r5, #0x8] + add r6, r0, #0x0 + add r0, r1, #0x1 + str r0, [r5, #0x8] add r0, r5, #0x0 + ldrb r4, [r1, #0x0] bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 + add r2, r0, #0x0 + sub r2, r2, #0x1 + lsl r2, r2, #0x10 + ldr r0, [r6, #0x0] + add r1, r4, #0x0 + lsr r2, r2, #0x10 + bl FUN_0200B568 + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_02041174 +FUN_02041174: ; 0x02041174 + push {r4, lr} add r4, r0, #0x0 - mov r1, #0xb0 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r6, #0x0] - add r0, r4, #0x0 - mov r1, #0xb1 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r7, #0x0] + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + ldr r2, [r4, #0x8] + add r1, r2, #0x1 + str r1, [r4, #0x8] + ldrb r1, [r2, #0x0] + ldr r0, [r0, #0x0] + bl FUN_0200B7A8 mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + pop {r4, pc} - thumb_func_start FUN_02044B00 -FUN_02044B00: ; 0x02044B00 + thumb_func_start FUN_02041194 +FUN_02041194: ; 0x02041194 push {r3-r5, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC + add r0, r4, #0x0 + bl FUN_0205F5D8 strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02044B2C -FUN_02044B2C: ; 0x02044B2C - push {r3-r7, lr} + thumb_func_start FUN_020411C4 +FUN_020411C4: ; 0x020411C4 + push {r4-r7, lr} + sub sp, #0x24 add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] + add r0, #0x80 + ldr r7, [r0, #0x0] + ldr r0, [r7, #0xc] + bl FUN_02022510 + str r0, [sp, #0x20] + add r0, r4, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 - str r0, [sp, #0x0] - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - mov r5, #0x0 - add r7, r0, #0x0 - add r4, r5, #0x0 - cmp r7, #0x0 - ble _02044B7A -_02044B5A: - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _02044B74 - add r4, r4, #0x1 -_02044B74: - add r5, r5, #0x1 - cmp r5, r7 - blt _02044B5A -_02044B7A: - ldr r0, [sp, #0x0] - strh r4, [r0, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_02044B84 -FUN_02044B84: ; 0x02044B84 - push {r4-r7, lr} - sub sp, #0xc - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x8] + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 @@ -130655,655 +138134,783 @@ FUN_02044B84: ; 0x02044B84 ldr r0, [r7, #0xc] bl FUN_0206BB1C bl FUN_0206B9AC - mov r5, #0x0 - add r4, r5, #0x0 - str r0, [sp, #0x8] - cmp r0, #0x0 - ble _02044C00 -_02044BC8: - ldr r0, [sp, #0x0] - cmp r5, r0 - beq _02044BF8 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, _0204133C ; =0x00000000 + str r0, [sp, #0x1c] + str r0, [sp, #0x18] + ldr r5, [sp, #0x1c] + beq _02041286 +_0204123C: ldr r0, [r7, #0xc] bl FUN_0206BB1C add r1, r5, #0x0 bl FUN_0206B9B0 mov r1, #0x4c mov r2, #0x0 - add r6, r0, #0x0 + add r4, r0, #0x0 bl FUN_020671BC cmp r0, #0x0 - bne _02044BF8 - add r0, r6, #0x0 - mov r1, #0xa2 + bne _0204127C + add r0, r4, #0x0 + mov r1, #0x7 mov r2, #0x0 bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl FUN_02041354 cmp r0, #0x0 - beq _02044BF8 - add r4, r4, #0x1 -_02044BF8: - ldr r0, [sp, #0x8] - add r5, r5, #0x1 - cmp r5, r0 - blt _02044BC8 -_02044C00: - ldr r0, [sp, #0x4] - strh r4, [r0, #0x0] - mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} - .balign 4 - - thumb_func_start FUN_02044C0C -FUN_02044C0C: ; 0x02044C0C - push {r4-r7, lr} - sub sp, #0xc - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] - ldr r0, [r7, #0xc] - bl FUN_02022510 - str r0, [sp, #0x4] - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC + beq _0204127C + ldr r1, [sp, #0x1c] + cmp r1, r0 + bge _0204127C + str r0, [sp, #0x1c] + str r5, [sp, #0x18] +_0204127C: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _0204123C +_02041286: + mov r6, #0x0 + str r6, [sp, #0x14] + str r6, [sp, #0x10] + add r7, r6, #0x0 +_0204128E: mov r5, #0x0 - add r4, r5, #0x0 - str r0, [sp, #0x8] +_02041290: + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x10] + add r2, r5, #0x0 + bl FUN_0206B5E4 + mov r1, #0x5 + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020672BC cmp r0, #0x0 - ble _02044C76 -_02044C44: - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 + beq _020412E0 + add r0, r4, #0x0 mov r1, #0x4c mov r2, #0x0 - add r6, r0, #0x0 - bl FUN_020671BC + bl FUN_020672BC cmp r0, #0x0 - bne _02044C6E - add r0, r6, #0x0 - mov r1, #0xa2 + bne _020412E0 + add r0, r4, #0x0 + mov r1, #0x7 mov r2, #0x0 - bl FUN_020671BC + bl FUN_020672BC + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + lsl r1, r1, #0x10 + ldr r0, [sp, #0x0] + lsr r1, r1, #0x10 + bl FUN_02041354 cmp r0, #0x0 - beq _02044C6E - add r4, r4, #0x1 -_02044C6E: - ldr r0, [sp, #0x8] + beq _020412E0 + cmp r6, r0 + bge _020412E0 + add r6, r0, #0x0 + add r0, r5, r7 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x14] +_020412E0: add r5, r5, #0x1 - cmp r5, r0 - blt _02044C44 -_02044C76: + cmp r5, #0x1e + blo _02041290 + ldr r0, [sp, #0x10] + add r7, #0x1e + add r0, r0, #0x1 + str r0, [sp, #0x10] + cmp r0, #0x12 + blo _0204128E + ldr r0, [sp, #0x1c] + cmp r0, #0x0 + bne _0204130C + cmp r6, #0x0 + bne _0204130C + ldr r0, [sp, #0xc] + mov r1, #0x0 + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r1, [r0, #0x0] + b _02041336 +_0204130C: + ldr r0, [sp, #0x1c] + cmp r0, r6 + blo _02041326 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r1, [sp, #0x1c] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + mov r1, #0x0 + strh r1, [r0, #0x0] + b _02041336 +_02041326: + ldr r1, [sp, #0x14] + ldr r0, [sp, #0xc] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x8] + mov r1, #0x1 + strh r6, [r0, #0x0] ldr r0, [sp, #0x4] - bl FUN_0206B57C - add r1, r4, r0 - ldr r0, [sp, #0x0] strh r1, [r0, #0x0] +_02041336: mov r0, #0x0 - add sp, #0xc + add sp, #0x24 pop {r4-r7, pc} + .balign 4 +_0204133C: .word 0x00000000 - thumb_func_start FUN_02044C88 -FUN_02044C88: ; 0x02044C88 - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] + thumb_func_start FUN_02041340 +FUN_02041340: ; 0x02041340 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F5FC + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02041354 +FUN_02041354: ; 0x02041354 + push {r4-r7, lr} + sub sp, #0xc + mov r6, #0x0 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r7, r6, #0x0 +_02041360: + add r0, r5, #0x0 + mov r1, #0xa + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + add r0, r4, #0x0 + mov r1, #0xa + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _020413AC + add r0, r5, #0x0 + mov r1, #0xa + blx FUN_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x0 + mov r1, #0xa + blx FUN_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x5 + blo _02041360 +_020413AC: + ldr r1, _020413BC ; =0x021C5A10 + ldr r0, [sp, #0x8] + strh r0, [r1, #0x2] + ldr r0, [sp, #0x4] + strh r0, [r1, #0x0] + add r0, r6, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_020413BC: .word 0x021C5A10 + + thumb_func_start FUN_020413C0 +FUN_020413C0: ; 0x020413C0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394B8 - str r0, [sp, #0x0] - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - mov r5, #0x0 - add r7, r0, #0x0 - add r4, r5, #0x0 - cmp r7, #0x0 - ble _02044CD6 -_02044CB6: - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044CD0 - add r4, r4, #0x1 -_02044CD0: - add r5, r5, #0x1 - cmp r5, r7 - blt _02044CB6 -_02044CD6: - ldr r0, [sp, #0x0] - strh r4, [r0, #0x0] + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02005410 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} + + thumb_func_start FUN_020413E8 +FUN_020413E8: ; 0x020413E8 + push {r3, lr} + bl FUN_02038C30 + bl FUN_0200521C + mov r0, #0x0 + pop {r3, pc} .balign 4 - thumb_func_start FUN_02044CE0 -FUN_02044CE0: ; 0x02044CE0 - push {r3-r7, lr} + thumb_func_start FUN_020413F8 +FUN_020413F8: ; 0x020413F8 + push {r3, lr} + bl FUN_02038C30 + bl FUN_02004124 + mov r1, #0x0 + bl FUN_02005350 + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_0204140C +FUN_0204140C: ; 0x0204140C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x1c] + ldr r1, [r1, #0x0] + bl FUN_0204ABA8 + bl FUN_0200521C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02041424 +FUN_02041424: ; 0x02041424 + push {r4, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - ldr r4, _02044D40 ; =0x00000000 - ldr r0, [sp, #0x0] - strh r4, [r0, #0x0] - beq _02044D3C - mov r7, #0x99 -_02044D12: - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r1, r4, #0x0 - bl FUN_0206B9B0 - add r1, r7, #0x0 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044D32 - ldr r0, [sp, #0x0] - mov r1, #0x1 - strh r1, [r0, #0x0] - b _02044D3C -_02044D32: - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, r6 - blo _02044D12 -_02044D3C: + bl FUN_0204AB20 mov r0, #0x0 - pop {r3-r7, pc} + pop {r4, pc} .balign 4 -_02044D40: .word 0x00000000 - thumb_func_start FUN_02044D44 -FUN_02044D44: ; 0x02044D44 - push {r4-r6, lr} + thumb_func_start FUN_0204143C +FUN_0204143C: ; 0x0204143C + push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020053CC + ldr r1, _02041460 ; =FUN_02041464 add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - mov r1, #0x6f - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r4, #0x0] + bl FUN_02038B5C + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 +_02041460: .word FUN_02041464 + 1 + + thumb_func_start FUN_02041464 +FUN_02041464: ; 0x02041464 + push {r3, lr} + bl FUN_02005404 + cmp r0, #0x0 + bne _02041472 + mov r0, #0x1 + pop {r3, pc} +_02041472: mov r0, #0x0 - pop {r4-r6, pc} + pop {r3, pc} + .balign 4 - thumb_func_start FUN_02044D8C -FUN_02044D8C: ; 0x02044D8C - push {r4-r6, lr} + thumb_func_start FUN_02041478 +FUN_02041478: ; 0x02041478 + push {r4, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 + mov r0, #0x7f + mov r2, #0x0 + bl FUN_0200538C + ldr r1, _02041498 ; =FUN_02041464 add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_02041498: .word FUN_02041464 + 1 + + thumb_func_start FUN_0204149C +FUN_0204149C: ; 0x0204149C + push {r3, lr} + ldr r1, [r0, #0x8] + add r3, r1, #0x1 + str r3, [r0, #0x8] + ldrb r2, [r1, #0x0] + add r1, r3, #0x1 + str r1, [r0, #0x8] + ldrb r1, [r3, #0x0] + add r0, r2, #0x0 + bl FUN_020047C8 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_020414B8 +FUN_020414B8: ; 0x020414B8 + push {r3, lr} bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_0206BB1C - add r1, r4, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r6, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044DDA + mov r0, #0x4 + bl FUN_02005308 mov r0, #0x0 - strh r0, [r5, #0x0] - pop {r4-r6, pc} -_02044DDA: - mov r4, #0x0 - add r0, r6, #0x0 - mov r1, #0x36 - add r2, r4, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044DF0 - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_02044DF0: - add r0, r6, #0x0 - mov r1, #0x37 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044E04 - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_02044E04: - add r0, r6, #0x0 - mov r1, #0x38 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044E18 - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_02044E18: - add r0, r6, #0x0 - mov r1, #0x39 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02044E2C - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_02044E2C: - strh r4, [r5, #0x0] + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_020414CC +FUN_020414CC: ; 0x020414CC + push {r3, lr} + ldr r2, [r0, #0x8] + add r1, r2, #0x1 + str r1, [r0, #0x8] + ldrb r0, [r2, #0x0] + bl FUN_020040F4 mov r0, #0x0 - pop {r4-r6, pc} + pop {r3, pc} .balign 4 - thumb_func_start FUN_02044E34 -FUN_02044E34: ; 0x02044E34 - push {r4-r6, lr} + thumb_func_start FUN_020414E0 +FUN_020414E0: ; 0x020414E0 + push {r4, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r4, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 - add r0, r4, #0x0 + bl FUN_020054C8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_020414FC +FUN_020414FC: ; 0x020414FC + push {r4, lr} + add r4, r0, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - add r1, r4, #0x0 - bl FUN_020699A4 + mov r1, #0x0 + bl FUN_020054F0 mov r0, #0x0 - pop {r4-r6, pc} + pop {r4, pc} - thumb_func_start FUN_02044E78 -FUN_02044E78: ; 0x02044E78 - push {r3-r7, lr} + thumb_func_start FUN_02041518 +FUN_02041518: ; 0x02041518 + push {r4, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r6, r0, #0x0 + bl FUN_020394F0 + str r0, [r4, #0x64] + ldr r1, _0204153C ; =FUN_02041540 add r0, r4, #0x0 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4, pc} + nop +_0204153C: .word FUN_02041540 + 1 + + thumb_func_start FUN_02041540 +FUN_02041540: ; 0x02041540 + push {r3, lr} + ldr r0, [r0, #0x64] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02005508 + cmp r0, #0x0 + bne _02041554 + mov r0, #0x1 + pop {r3, pc} +_02041554: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02041558 +FUN_02041558: ; 0x02041558 + push {r3-r5, lr} + add r4, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r1, r7, #0x0 - bl FUN_0206B9B0 - add r4, #0x36 - add r1, r4, #0x0 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r6, #0x0] + add r0, r5, #0x0 + bl FUN_02005578 mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} + + thumb_func_start FUN_02041588 +FUN_02041588: ; 0x02041588 + push {r3, lr} + ldr r1, _02041594 ; =FUN_02041598 + bl FUN_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_02041594: .word FUN_02041598 + 1 + + thumb_func_start FUN_02041598 +FUN_02041598: ; 0x02041598 + push {r3, lr} + bl FUN_02005670 + cmp r0, #0x0 + bne _020415A6 + mov r0, #0x1 + pop {r3, pc} +_020415A6: + mov r0, #0x0 + pop {r3, pc} .balign 4 - thumb_func_start FUN_02044ED8 -FUN_02044ED8: ; 0x02044ED8 - push {r4-r6, lr} + thumb_func_start FUN_020415AC +FUN_020415AC: ; 0x020415AC + push {r3, lr} + bl FUN_02038C30 + bl FUN_02005C28 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_020415BC +FUN_020415BC: ; 0x020415BC + push {r3, lr} + ldr r1, _020415C8 ; =FUN_020415CC + bl FUN_02038B5C + mov r0, #0x1 + pop {r3, pc} + .balign 4 +_020415C8: .word FUN_020415CC + 1 + + thumb_func_start FUN_020415CC +FUN_020415CC: ; 0x020415CC + push {r3, lr} + bl FUN_02005CBC + cmp r0, #0x0 + bne _020415DA + mov r0, #0x1 + pop {r3, pc} +_020415DA: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_020415E0 +FUN_020415E0: ; 0x020415E0 + push {r3-r5, lr} add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 add r5, #0x80 - add r1, r0, #0x0 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x6 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r6, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029EF8 + bl FUN_02005D20 + cmp r0, #0x1 + bne _02041610 + mov r0, #0x1 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} +_02041610: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02044F20 -FUN_02044F20: ; 0x02044F20 - push {r3-r5, lr} - add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r4, [r1, #0x0] + thumb_func_start FUN_02041618 +FUN_02041618: ; 0x02041618 + push {r4, lr} + add r4, r0, #0x0 bl FUN_02038C30 - add r5, #0x80 + add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394F0 - add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r2, #0x0 - add r1, sp, #0x0 - strh r2, [r1, #0x0] - mov r1, #0x6 - add r2, sp, #0x0 - bl FUN_02067830 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + bl FUN_02005E28 + cmp r0, #0x0 + bne _0204163C + mov r0, #0x1 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3-r5, pc} + pop {r4, pc} +_0204163C: + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4, pc} + .balign 4 - thumb_func_start FUN_02044F58 -FUN_02044F58: ; 0x02044F58 - push {r3-r7, lr} - sub sp, #0x8 + thumb_func_start FUN_02041644 +FUN_02041644: ; 0x02041644 + push {r3, lr} + bl FUN_02005E64 + mov r0, #0x1 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02041650 +FUN_02041650: ; 0x02041650 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029EF8 + bl FUN_02005E6C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start FUN_02041664 +FUN_02041664: ; 0x02041664 + push {r3, lr} + mov r1, #0x0 + mov r0, #0x3f + add r2, r1, #0x0 + bl FUN_0200433C + mov r0, #0x1 + pop {r3, pc} + + thumb_func_start FUN_02041674 +FUN_02041674: ; 0x02041674 + push {r3-r5, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x4] + bl FUN_020394F0 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] bl FUN_020394F0 - str r0, [sp, #0x0] - ldr r0, [r7, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r5, _02044FE4 ; =0x00000000 - ldr r0, [sp, #0x4] - strh r5, [r0, #0x0] - beq _02044FDE -_02044F9E: - ldr r0, [r7, #0xc] - bl FUN_0206BB1C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0200488C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020416A8 +FUN_020416A8: ; 0x020416A8 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _02044FD4 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + bne _02041708 add r0, r4, #0x0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, [sp, #0x0] - cmp r0, r1 - bne _02044FD4 - ldr r0, [sp, #0x4] - mov r1, #0x1 - strh r1, [r0, #0x0] - b _02044FDE -_02044FD4: - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - blo _02044F9E -_02044FDE: + mov r1, #0x18 + bl FUN_02039438 + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x19 + bl FUN_02039438 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x1a + bl FUN_02039438 + add r0, r4, #0x0 + mov r1, #0x1b + bl FUN_02039438 + add r0, r4, #0x0 + mov r1, #0x1c + bl FUN_02039438 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x1d + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x1e + bl FUN_02039438 + b _02041748 +_02041708: + add r0, r4, #0x0 + mov r1, #0x1f + bl FUN_02039438 + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x20 + bl FUN_02039438 + str r0, [sp, #0xc] + add r0, r4, #0x0 + mov r1, #0x21 + bl FUN_02039438 + add r0, r4, #0x0 + mov r1, #0x22 + bl FUN_02039438 + add r0, r4, #0x0 + mov r1, #0x23 + bl FUN_02039438 + str r0, [sp, #0x10] + add r0, r4, #0x0 + mov r1, #0x24 + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x25 + bl FUN_02039438 +_02041748: + add r7, r0, #0x0 mov r0, #0x0 - add sp, #0x8 + str r0, [sp, #0x0] + ldr r0, [sp, #0x10] + ldr r2, [sp, #0xc] + ldr r0, [r0, #0x0] + ldr r3, [sp, #0x14] + str r0, [sp, #0x4] + str r5, [sp, #0x8] + ldr r0, [r6, #0x0] + ldr r1, [r4, #0x38] + ldr r2, [r2, #0x0] + ldr r3, [r3, #0x0] + bl FUN_0205CA4C + str r0, [r7, #0x0] + mov r0, #0x0 + add sp, #0x18 pop {r3-r7, pc} .balign 4 -_02044FE4: .word 0x00000000 - thumb_func_start FUN_02044FE8 -FUN_02044FE8: ; 0x02044FE8 - push {r3-r7, lr} + thumb_func_start FUN_02041770 +FUN_02041770: ; 0x02041770 + push {r4-r6, lr} add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r5, #0x80 + bl FUN_020394B8 add r4, r0, #0x0 + mov r0, #0x0 + strh r0, [r4, #0x0] + cmp r6, #0x0 + bne _020417AE + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x1e + bl FUN_02039438 + b _020417B8 +_020417AE: + add r5, #0x80 + ldr r0, [r5, #0x0] + mov r1, #0x25 + bl FUN_02039438 +_020417B8: + add r5, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r4, #0x0 - bl FUN_0206B9B0 - mov r4, #0x0 - add r6, r0, #0x0 - add r5, r4, #0x0 - add r7, r4, #0x0 -_0204502A: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - add r1, r7, #0x0 - bl FUN_0207FC5C - add r1, r0, #0x0 - add r0, r6, #0x0 - mov r2, #0x0 - bl FUN_020671BC cmp r0, #0x0 - beq _02045048 - add r0, r5, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02045048: - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x50 - blo _0204502A - ldr r0, [sp, #0x0] - strh r5, [r0, #0x0] + bne _020417C6 + mov r0, #0x1 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020417C6: + bl FUN_0205CA64 + cmp r0, #0x1 + bne _020417DC + ldr r0, [r5, #0x0] + bl FUN_0205CA78 mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + str r0, [r5, #0x0] + mov r0, #0x1 + strh r0, [r4, #0x0] +_020417DC: + mov r0, #0x1 + pop {r4-r6, pc} - thumb_func_start FUN_0204505C -FUN_0204505C: ; 0x0204505C - push {r3-r7, lr} - sub sp, #0x10 + thumb_func_start FUN_020417E0 +FUN_020417E0: ; 0x020417E0 + push {r3-r5, lr} add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] + mov r1, #0x1c + bl FUN_02039438 + add r5, r0, #0x0 add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x10 + bl FUN_02038C30 add r4, #0x80 - lsr r6, r0, #0x10 - ldr r0, [r4, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - str r0, [sp, #0xc] - mov r0, #0x0 - str r0, [sp, #0x8] - str r0, [sp, #0x4] -_0204509A: - mov r5, #0x0 - cmp r6, #0x0 - bls _020450E8 - ldr r0, [sp, #0x8] - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -_020450A6: - ldr r0, [sp, #0xc] - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _020450E8 - add r0, r7, #0x0 - mov r1, #0x0 - bl FUN_0207FC5C add r1, r0, #0x0 - add r0, r4, #0x0 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _020450DE - ldr r0, [sp, #0x4] - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x4] - b _020450E8 -_020450DE: - add r0, r5, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, r6 - blo _020450A6 -_020450E8: - ldr r0, [sp, #0x8] - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x8] - cmp r0, #0x50 - blo _0204509A - ldr r1, [sp, #0x4] - ldr r0, [sp, #0x0] + ldr r0, [r4, #0x0] + bl FUN_020394B8 + ldrh r1, [r5, #0x0] strh r1, [r0, #0x0] mov r0, #0x0 - add sp, #0x10 - pop {r3-r7, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_02045104 -FUN_02045104: ; 0x02045104 + thumb_func_start FUN_02041808 +FUN_02041808: ; 0x02041808 push {r3-r7, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 + mov r1, #0x1b + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x22 + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 @@ -131313,44 +138920,67 @@ FUN_02045104: ; 0x02045104 add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + cmp r7, #0x0 + bne _02041852 + ldrh r1, [r4, #0x0] + b _02041854 +_02041852: + ldrh r1, [r6, #0x0] +_02041854: + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204185C +FUN_0204185C: ; 0x0204185C + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0x8 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 add r5, #0x80 - add r6, r0, #0x0 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r7, #0x0 - bl FUN_0206B9B0 + bl FUN_020394B8 add r5, r0, #0x0 - lsl r0, r6, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x0 - bl FUN_0207FC5C - add r1, r0, #0x0 - add r0, r5, #0x0 - mov r2, #0x0 - bl FUN_020671BC - strh r0, [r4, #0x0] + ldrh r0, [r4, #0x0] + bl FUN_020395F4 + strh r0, [r5, #0x0] mov r0, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045170 -FUN_02045170: ; 0x02045170 - push {r3-r6, lr} - sub sp, #0x4 + thumb_func_start FUN_0204188C +FUN_0204188C: ; 0x0204188C + push {r3-r7, lr} + sub sp, #0x10 add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] + mov r1, #0x8 + add r0, r4, #0x0 + bl FUN_02039438 + add r0, r4, #0x0 + mov r1, #0x17 + bl FUN_02039438 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 + str r0, [sp, #0xc] add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -131358,279 +138988,160 @@ FUN_02045170: ; 0x02045170 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 - mov r1, #0x1 - add r0, sp, #0x0 - add r5, #0x80 - strb r1, [r0, #0x0] - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - add r5, r0, #0x0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - mov r1, #0x0 - bl FUN_0207FC5C - add r1, r0, #0x0 + str r0, [sp, #0x8] add r0, r5, #0x0 - add r2, sp, #0x0 - bl FUN_02067830 - mov r0, #0x0 - add sp, #0x4 - pop {r3-r6, pc} - .balign 4 - - thumb_func_start FUN_020451D0 -FUN_020451D0: ; 0x020451D0 - push {r3-r7, lr} - sub sp, #0x8 - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - str r0, [sp, #0x0] - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - bl FUN_0206B9AC - lsl r0, r0, #0x10 - add r4, #0x80 - lsr r6, r0, #0x10 - ldr r0, [r4, #0x0] + mov r6, #0x0 ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r7, r0, #0x0 - mov r0, #0x0 - str r0, [sp, #0x4] -_0204520C: - mov r5, #0x0 - cmp r6, #0x0 - bls _0204524C -_02045212: - add r0, r7, #0x0 - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02045242 - add r0, r4, #0x0 - mov r1, #0x3 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - beq _02045242 - ldr r0, [sp, #0x0] - mov r1, #0x1 - strh r1, [r0, #0x0] - add sp, #0x8 - mov r0, #0x0 - pop {r3-r7, pc} -_02045242: - add r0, r5, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, r6 - blo _02045212 -_0204524C: - ldr r0, [sp, #0x4] - add r0, r0, #0x1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #0x4] - cmp r0, #0x50 - blo _0204520C - ldr r1, [sp, #0x0] - mov r0, #0x0 - strh r0, [r1, #0x0] - add sp, #0x8 + bl FUN_020462AC + bl FUN_0205ED3C + cmp r0, #0x1 + bne _020418F2 + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205F368 + add r6, r0, #0x0 +_020418F2: + mov r0, #0xb + str r0, [sp, #0x0] + str r7, [sp, #0x4] + ldr r0, [r5, #0x74] + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x8] + add r3, r6, #0x0 + bl FUN_020470E8 + mov r0, #0x1 + add sp, #0x10 pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02045264 -FUN_02045264: ; 0x02045264 - mov r0, #0x0 - bx lr - - thumb_func_start FUN_02045268 -FUN_02045268: ; 0x02045268 + thumb_func_start FUN_0204190C +FUN_0204190C: ; 0x0204190C push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x17 + bl FUN_02039438 add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r6, [r1, #0x0] + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 - mov r4, #0x0 - ldr r7, _020452B0 ; =0x020F450C - str r0, [sp, #0x0] - add r5, r4, #0x0 -_02045288: - ldr r0, [r6, #0xc] - bl FUN_0206F158 - lsl r1, r4, #0x2 - ldrh r1, [r7, r1] - mov r2, #0x4 - bl FUN_0206EEF8 - add r0, r5, r0 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x7 - blo _02045288 - ldr r0, [sp, #0x0] - strh r5, [r0, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 -_020452B0: .word 0x020F450C - - thumb_func_start FUN_020452B4 -FUN_020452B4: ; 0x020452B4 - push {r3-r5, lr} - add r5, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r5, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394F0 - mov r5, #0x0 - ldr r2, _02045300 ; =0x020F450C - strh r5, [r4, #0x0] -_020452E0: - lsl r3, r5, #0x2 - ldrh r1, [r2, r3] - cmp r0, r1 - bne _020452F0 - ldr r0, _02045304 ; =0x020F450E - ldrh r0, [r0, r3] - strh r0, [r4, #0x0] - b _020452FA -_020452F0: - add r1, r5, #0x1 - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - cmp r5, #0x7 - blo _020452E0 -_020452FA: - mov r0, #0x0 - pop {r3-r5, pc} - nop -_02045300: .word 0x020F450C -_02045304: .word 0x020F450E + add r2, r0, #0x0 + mov r0, #0xb + str r0, [sp, #0x0] + str r4, [sp, #0x4] + ldr r0, [r5, #0x74] + add r1, r7, #0x0 + add r3, r6, #0x0 + bl FUN_020470E8 + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} - thumb_func_start FUN_02045308 -FUN_02045308: ; 0x02045308 - push {r4-r7, lr} - sub sp, #0xc + thumb_func_start FUN_02041970 +FUN_02041970: ; 0x02041970 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl FUN_02039438 add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r7, [r1, #0x0] + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - str r0, [sp, #0x8] - add r0, r4, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - str r0, [sp, #0x4] - add r0, r4, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394F0 - str r0, [sp, #0x0] - mov r4, #0x0 - ldr r0, [sp, #0x8] - add r6, r4, #0x0 - strh r4, [r0, #0x0] - ldr r0, [sp, #0x4] - strh r4, [r0, #0x0] -_02045358: - ldr r0, [r7, #0xc] - lsl r5, r4, #0x2 - bl FUN_0206F158 - ldr r1, _02045394 ; =0x020F450C - mov r2, #0x4 - ldrh r1, [r1, r5] - bl FUN_0206EEF8 - add r0, r6, r0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl FUN_020395F4 + bl FUN_0203962C lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - ldr r0, [sp, #0x0] - cmp r6, r0 - blo _02045384 - ldr r0, _02045394 ; =0x020F450C - ldrh r1, [r0, r5] - ldr r0, [sp, #0x8] - strh r1, [r0, #0x0] - ldr r0, [sp, #0x4] - strh r4, [r0, #0x0] - b _0204538E -_02045384: - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x7 - blo _02045358 -_0204538E: - mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} - .balign 4 -_02045394: .word 0x020F450C - - thumb_func_start FUN_02045398 -FUN_02045398: ; 0x02045398 + lsr r0, r0, #0x10 + bne _020419D2 mov r0, #0x0 - bx lr - - thumb_func_start FUN_0204539C -FUN_0204539C: ; 0x0204539C + mov r1, #0x2 + add r2, r0, #0x0 + b _020419EC +_020419D2: + ldrh r0, [r4, #0x0] + bl FUN_02039618 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _020419E6 + mov r0, #0x3 + mov r1, #0x5 + mov r2, #0x6 + b _020419EC +_020419E6: + mov r0, #0x7 + mov r1, #0x9 + mov r2, #0xa +_020419EC: + strh r0, [r7, #0x0] + strh r1, [r6, #0x0] + strh r2, [r5, #0x0] mov r0, #0x0 - bx lr + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_020453A0 -FUN_020453A0: ; 0x020453A0 - push {r4-r6, lr} + thumb_func_start FUN_020419F8 +FUN_020419F8: ; 0x020419F8 + push {r3-r7, lr} add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 + bl FUN_020394B8 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -131645,27 +139156,47 @@ FUN_020453A0: ; 0x020453A0 add r1, r0, #0x0 ldr r0, [r5, #0x0] bl FUN_020394B8 - ldr r1, _020453EC ; =0x020F4528 - lsl r2, r4, #0x2 - ldrh r1, [r1, r2] + add r5, r0, #0x0 + ldrh r0, [r4, #0x0] + bl FUN_020395F4 + bl FUN_0203962C + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _02041A5A + mov r1, #0x0 + mov r0, #0x11 + add r2, r1, #0x0 + b _02041A74 +_02041A5A: + ldrh r0, [r4, #0x0] + bl FUN_02039618 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _02041A6E + mov r0, #0x12 + mov r1, #0x0 + mov r2, #0x6 + b _02041A74 +_02041A6E: + mov r0, #0x13 + mov r1, #0x0 + mov r2, #0xa +_02041A74: + strh r0, [r7, #0x0] strh r1, [r6, #0x0] - ldr r1, _020453F0 ; =0x020F452A - ldrh r1, [r1, r2] - strh r1, [r0, #0x0] + strh r2, [r5, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r7, pc} .balign 4 -_020453EC: .word 0x020F4528 -_020453F0: .word 0x020F452A - thumb_func_start FUN_020453F4 -FUN_020453F4: ; 0x020453F4 + thumb_func_start FUN_02041A80 +FUN_02041A80: ; 0x02041A80 push {r3-r5, lr} add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 + mov r1, #0x8 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 @@ -131674,235 +139205,108 @@ FUN_020453F4: ; 0x020453F4 ldr r0, [r5, #0x0] bl FUN_020394B8 add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02024D64 + ldrh r0, [r4, #0x0] + bl FUN_020395F4 + bl FUN_0203962C strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045424 -FUN_02045424: ; 0x02045424 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 - bl FUN_02024D80 - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02045438 -FUN_02045438: ; 0x02045438 - push {r3-r5, lr} - add r5, r0, #0x0 + thumb_func_start FUN_02041AB4 +FUN_02041AB4: ; 0x02041AB4 + push {r4, lr} + add r4, r0, #0x0 bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02034E30 - bl FUN_02034E20 - bl FUN_02055474 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} + ldr r0, [r4, #0x0] + bl FUN_020394F0 + bl FUN_0204AD0C + bl FUN_02004724 + mov r0, #0x1 + pop {r4, pc} .balign 4 - thumb_func_start FUN_02045468 -FUN_02045468: ; 0x02045468 + thumb_func_start FUN_02041AD4 +FUN_02041AD4: ; 0x02041AD4 push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02034E30 - bl FUN_02034E20 - mov r1, #0x1 - bl FUN_02055488 - mov r0, #0x0 + ldr r0, [r0, #0x74] + bl FUN_02048498 + mov r0, #0x1 pop {r3, pc} - .balign 4 - thumb_func_start FUN_02045484 -FUN_02045484: ; 0x02045484 - push {r4-r6, lr} + thumb_func_start FUN_02041AE0 +FUN_02041AE0: ; 0x02041AE0 + push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0x17 + bl FUN_02039438 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r6, r0, #0x0 - cmp r4, #0x8 - blo _020454B6 - bl FUN_02020C2C -_020454B6: add r5, #0x80 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020238F4 - add r1, r4, #0x0 - bl FUN_020239D0 - strh r0, [r6, #0x0] - mov r0, #0x0 - pop {r4-r6, pc} + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020480B8 + strh r0, [r5, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020454CC -FUN_020454CC: ; 0x020454CC + thumb_func_start FUN_02041B10 +FUN_02041B10: ; 0x02041B10 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + mov r1, #0x17 + bl FUN_02039438 add r4, r0, #0x0 - cmp r4, #0x8 - blo _020454EA - bl FUN_02020C2C -_020454EA: + add r0, r5, #0x0 + bl FUN_02038C30 add r5, #0x80 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020238F4 - add r1, r4, #0x0 - bl FUN_020239E4 - mov r0, #0x0 + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020480C8 + strh r0, [r5, #0x0] + mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045500 -FUN_02045500: ; 0x02045500 + thumb_func_start FUN_02041B40 +FUN_02041B40: ; 0x02041B40 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 + mov r1, #0x17 + bl FUN_02039438 add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ECE0 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204552C -FUN_0204552C: ; 0x0204552C - push {r3-r7, lr} - add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r6, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394B8 - mov r4, #0x0 - ldr r7, _02045578 ; =0x020F4574 - str r0, [sp, #0x0] - add r5, r4, #0x0 -_02045548: - add r0, r6, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020238F4 - ldrb r1, [r7, r4] - bl FUN_020239D0 - cmp r0, #0x1 - bne _02045564 - add r0, r5, #0x1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_02045564: - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x8 - blo _02045548 - ldr r0, [sp, #0x0] - strh r5, [r0, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - nop -_02045578: .word 0x020F4574 - - thumb_func_start FUN_0204557C -FUN_0204557C: ; 0x0204557C - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ECD4 - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02045590 -FUN_02045590: ; 0x02045590 - push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 - add r4, r0, #0x0 - ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED3C - strh r0, [r4, #0x0] - mov r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020480D8 + strh r0, [r5, #0x0] + mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020455BC -FUN_020455BC: ; 0x020455BC - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED1C - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_020455D0 -FUN_020455D0: ; 0x020455D0 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED2C - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_020455E4 -FUN_020455E4: ; 0x020455E4 + thumb_func_start FUN_02041B70 +FUN_02041B70: ; 0x02041B70 push {r3-r5, lr} add r5, r0, #0x0 bl FUN_02038C30 @@ -131915,218 +139319,130 @@ FUN_020455E4: ; 0x020455E4 add r4, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED6C + bl FUN_0206BB1C + bl FUN_0204A248 strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045610 -FUN_02045610: ; 0x02045610 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED4C - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02045624 -FUN_02045624: ; 0x02045624 - push {r3, lr} + thumb_func_start FUN_02041B9C +FUN_02041B9C: ; 0x02041B9C + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED5C - mov r0, #0x0 - pop {r3, pc} + mov r1, #0x17 + bl FUN_02039438 + mov r1, #0xb + str r1, [sp, #0x0] + str r0, [sp, #0x4] + mov r2, #0x0 + ldr r0, [r4, #0x74] + mov r1, #0x1 + add r3, r2, #0x0 + bl FUN_020470E8 + mov r0, #0x1 + add sp, #0x8 + pop {r4, pc} - thumb_func_start FUN_02045638 -FUN_02045638: ; 0x02045638 + thumb_func_start FUN_02041BC4 +FUN_02041BC4: ; 0x02041BC4 push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r5, #0x80 + mov r1, #0xa + bl FUN_02039438 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_02058738 add r4, r0, #0x0 ldr r0, [r5, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ED0C - strh r0, [r4, #0x0] + bl FUN_02058448 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + bl FUN_0203965C mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_02045664 -FUN_02045664: ; 0x02045664 - push {r3, lr} + thumb_func_start FUN_02041BF0 +FUN_02041BF0: ; 0x02041BF0 + push {r3-r7, lr} + add r6, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205ECFC - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02045678 -FUN_02045678: ; 0x02045678 - push {r3-r5, lr} + mov r1, #0xa + bl FUN_02039438 add r5, r0, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - ldr r2, [r5, #0x8] + add r0, r6, #0x0 + bl FUN_02038C48 add r4, r0, #0x0 - add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r1, [r2, #0x0] - cmp r1, #0x0 - beq _020456A6 - cmp r1, #0x1 - beq _0204569E - cmp r1, #0x2 - beq _020456AE - b _020456CC -_0204569E: - mov r1, #0x1 - bl FUN_0205F264 - b _020456D0 -_020456A6: - mov r1, #0x0 - bl FUN_0205F264 - b _020456D0 -_020456AE: - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - mov r1, #0x2 - bl FUN_0205F264 - strh r0, [r5, #0x0] - b _020456D0 -_020456CC: - bl FUN_02020C2C -_020456D0: + bl FUN_02058738 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_02058448 + add r1, r0, #0x0 + lsl r1, r1, #0x10 + add r0, r7, #0x0 + lsr r1, r1, #0x10 + bl FUN_02039640 + cmp r0, #0x1 + bne _02041C34 + ldr r1, [r6, #0x8] + add r0, r6, #0x0 + add r1, r1, r4 + bl FUN_02038C10 + mov r0, #0x1 + pop {r3-r7, pc} +_02041C34: mov r0, #0x0 - pop {r3-r5, pc} + pop {r3-r7, pc} - thumb_func_start FUN_020456D4 -FUN_020456D4: ; 0x020456D4 - push {r3-r5, lr} - add r5, r0, #0x0 + thumb_func_start FUN_02041C38 +FUN_02041C38: ; 0x02041C38 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020462AC - ldr r2, [r5, #0x8] - add r4, r0, #0x0 - add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r1, [r2, #0x0] - cmp r1, #0x0 - beq _02045700 - cmp r1, #0x1 - beq _020456FA - cmp r1, #0x2 - beq _02045706 - b _02045722 -_020456FA: - bl FUN_0205F274 - b _02045726 -_02045700: - bl FUN_0205F284 - b _02045726 -_02045706: - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 + mov r1, #0xf + bl FUN_02039438 + add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_0205F294 - strh r0, [r5, #0x0] - b _02045726 -_02045722: - bl FUN_02020C2C -_02045726: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204572C -FUN_0204572C: ; 0x0204572C - push {r3-r5, lr} - add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] ldr r0, [r0, #0xc] - bl FUN_020462AC - ldr r2, [r5, #0x8] - add r4, r0, #0x0 - add r1, r2, #0x1 - str r1, [r5, #0x8] - ldrb r1, [r2, #0x0] - cmp r1, #0x0 - beq _02045758 - cmp r1, #0x1 - beq _02045752 - cmp r1, #0x2 - beq _0204575E - b _0204577A -_02045752: - bl FUN_0205F2A4 - b _0204577E -_02045758: - bl FUN_0205F2B4 - b _0204577E -_0204575E: - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 + bl FUN_0202881C add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_0205F2C4 - strh r0, [r5, #0x0] - b _0204577E -_0204577A: - bl FUN_02020C2C -_0204577E: - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02045784 -FUN_02045784: ; 0x02045784 - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + ldr r7, [r0, #0xc] + add r0, r4, #0x0 + bl FUN_02038C30 + cmp r0, #0x6 + bls _02041C6C + b _02041E38 +_02041C6C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02041C78: ; jump table (using 16-bit offset) + .short _02041C86 - _02041C78 - 2; case 0 + .short _02041CBC - _02041C78 - 2; case 1 + .short _02041CF2 - _02041C78 - 2; case 2 + .short _02041D28 - _02041C78 - 2; case 3 + .short _02041D5E - _02041C78 - 2; case 4 + .short _02041D94 - _02041C78 - 2; case 5 + .short _02041DCE - _02041C78 - 2; case 6 +_02041C86: add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132134,7 +139450,7 @@ FUN_02045784: ; 0x02045784 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 @@ -132142,30 +139458,14 @@ FUN_02045784: ; 0x02045784 ldr r0, [r4, #0x0] bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206F158 + add r0, r5, #0x0 add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl FUN_0206ED38 + bl FUN_02028828 strh r0, [r4, #0x0] + add sp, #0xc mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020457DC -FUN_020457DC: ; 0x020457DC - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + pop {r4-r7, pc} +_02041CBC: add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132173,7 +139473,7 @@ FUN_020457DC: ; 0x020457DC add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r6, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 @@ -132181,30 +139481,14 @@ FUN_020457DC: ; 0x020457DC ldr r0, [r4, #0x0] bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206F158 + add r0, r5, #0x0 add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl FUN_0206EDD4 + bl FUN_02028840 strh r0, [r4, #0x0] + add sp, #0xc mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_02045834 -FUN_02045834: ; 0x02045834 - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + pop {r4-r7, pc} +_02041CF2: add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132212,38 +139496,22 @@ FUN_02045834: ; 0x02045834 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206F158 - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0x4 - bl FUN_0206ED24 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_0204588C -FUN_0204588C: ; 0x0204588C - push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r5, [r1, #0x0] - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 + add r3, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + add r2, r5, #0x0 + bl FUN_0200B708 + b _02041E38 +_02041D28: add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132251,156 +139519,192 @@ FUN_0204588C: ; 0x0204588C add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r7, r0, #0x0 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206F158 - add r1, r6, #0x0 - add r2, r7, #0x0 - mov r3, #0xb - bl FUN_0206EE50 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020458E4 -FUN_020458E4: ; 0x020458E4 - push {r3-r5, lr} + bl FUN_020394F0 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [r6, #0x0] + add r1, r7, #0x0 + add r2, r5, #0x0 + bl FUN_0200B708 + b _02041E38 +_02041D5E: + mov r1, #0x0 + add r0, r5, #0x0 + add r2, r1, #0x0 + bl FUN_020287A8 add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] bl FUN_020394B8 - add r5, r0, #0x0 + mov r2, #0x0 + str r2, [sp, #0x0] + str r5, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x74] + mov r1, #0x5 + mov r3, #0x7 + bl FUN_020385CC + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02041D94: add r0, r4, #0x0 - bl FUN_02054CB0 - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02045918 -FUN_02045918: ; 0x02045918 - push {r3-r5, lr} - add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 + add r7, r0, #0x0 add r0, r5, #0x0 - bl FUN_02038C30 - add r5, #0x80 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - bl FUN_020394B8 - add r5, r0, #0x0 - add r0, r4, #0x0 - mov r1, #0x5 - mov r2, #0xb - bl FUN_0206E7B8 - strh r0, [r5, #0x0] - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02045950 -FUN_02045950: ; 0x02045950 + mov r1, #0x1 + bl FUN_02028828 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x1 + bl FUN_02028700 + cmp r6, #0x0 + beq _02041DC8 + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_020612F8 +_02041DC8: + add sp, #0xc mov r0, #0x0 - bx lr - - thumb_func_start FUN_02045954 -FUN_02045954: ; 0x02045954 + pop {r4-r7, pc} +_02041DCE: + mov r0, #0x40 + mov r1, #0x20 + bl FUN_020219F4 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r1, r6, #0x0 + add r7, r0, #0x0 + bl FUN_02023990 + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x1 + add r3, r6, #0x0 + bl FUN_020287C0 + add r0, r7, #0x0 + bl FUN_020239CC + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_020287EC + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x2 + bl FUN_02028810 + bl FUN_0201BA60 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02028788 + add r0, r6, #0x0 + bl FUN_02021A20 + add r0, r5, #0x0 + mov r1, #0x0 + mov r2, #0x1 + bl FUN_02028700 + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_020612EC +_02041E38: mov r0, #0x0 - bx lr + add sp, #0xc + pop {r4-r7, pc} + .balign 4 - thumb_func_start FUN_02045958 -FUN_02045958: ; 0x02045958 - push {r4-r6, lr} + thumb_func_start FUN_02041E40 +FUN_02041E40: ; 0x02041E40 + push {r3-r7, lr} add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r5, [r1, #0xc] bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r6, r0, #0x0 + cmp r0, #0x6 + bls _02041E4E + b _02041FD2 +_02041E4E: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02041E5A: ; jump table (using 16-bit offset) + .short _02041E68 - _02041E5A - 2; case 0 + .short _02041E88 - _02041E5A - 2; case 1 + .short _02041F24 - _02041E5A - 2; case 2 + .short _02041ECA - _02041E5A - 2; case 3 + .short _02041F2E - _02041E5A - 2; case 4 + .short _02041F68 - _02041E5A - 2; case 5 + .short _02041FB4 - _02041E5A - 2; case 6 +_02041E68: add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 add r4, #0x80 - add r1, r0, #0x0 + add r5, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02026CC4 - add r1, r6, #0x0 - bl FUN_02025D6C - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_020459AC -FUN_020459AC: ; 0x020459AC - push {r4, lr} - add r4, r0, #0x0 + bl FUN_02248CD0 + strh r0, [r5, #0x0] + b _02041FD2 +_02041E88: + add r0, r4, #0x0 + bl FUN_02038C30 + add r7, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 + add r6, r0, #0x0 + ldr r0, _02041FD8 ; =0x00000233 add r4, #0x80 - add r1, r0, #0x0 + strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl FUN_020394B8 - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_020459E8 -FUN_020459E8: ; 0x020459E8 - push {r4-r6, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r5, [r1, #0xc] + add r1, r7, #0x0 + bl FUN_02249038 + strh r0, [r6, #0x0] + b _02041FD2 +_02041ECA: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + add r5, r0, #0x0 + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 @@ -132414,57 +139718,55 @@ FUN_020459E8: ; 0x020459E8 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 + add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02026CC4 - add r1, r6, #0x0 - bl FUN_02025D94 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_02045A3C -FUN_02045A3C: ; 0x02045A3C - push {r4, lr} - add r4, r0, #0x0 + str r0, [sp, #0x0] + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r1, [r5, #0x0] + add r2, r6, #0x0 + add r3, r7, #0x0 + bl FUN_022490A0 + b _02041FD2 +_02041F24: + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_02248CC0 + b _02041FD2 +_02041F2E: + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 + bl FUN_020394B8 + add r6, r0, #0x0 + mov r0, #0x8d + lsl r0, r0, #0x2 add r4, #0x80 - add r1, r0, #0x0 + strh r0, [r5, #0x0] ldr r0, [r4, #0x0] - bl FUN_020394B8 - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_02045A78 -FUN_02045A78: ; 0x02045A78 - push {r4-r6, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r5, [r1, #0xc] + bl FUN_022491FC + strh r0, [r6, #0x0] + b _02041FD2 +_02041F68: + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 @@ -132479,116 +139781,150 @@ FUN_02045A78: ; 0x02045A78 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 + add r7, r0, #0x0 add r0, r4, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02026CC4 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] add r1, r6, #0x0 - bl FUN_02026298 - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_02045ACC -FUN_02045ACC: ; 0x02045ACC - push {r4, lr} - add r4, r0, #0x0 + add r2, r7, #0x0 + bl FUN_02248F70 + strh r0, [r5, #0x0] + b _02041FD2 +_02041FB4: + add r0, r4, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_02248FE0 + strh r0, [r5, #0x0] +_02041FD2: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_02041FD8: .word 0x00000233 + + thumb_func_start FUN_02041FDC +FUN_02041FDC: ; 0x02041FDC + push {r4, lr} + add r4, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 add r4, #0x80 add r1, r0, #0x0 ldr r0, [r4, #0x0] - bl FUN_020394B8 + bl FUN_02061374 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start FUN_02045B08 -FUN_02045B08: ; 0x02045B08 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + thumb_func_start FUN_02042000 +FUN_02042000: ; 0x02042000 + push {r3-r5, lr} + add r5, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 + bl FUN_0206B9B0 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 + ldr r0, [r5, #0x0] + bl FUN_02061460 mov r0, #0x0 - pop {r4, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_02045B44 -FUN_02045B44: ; 0x02045B44 - push {r4, lr} + thumb_func_start FUN_02042038 +FUN_02042038: ; 0x02042038 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + cmp r0, #0x0 + beq _02042058 + cmp r0, #0x1 + beq _020420A8 + b _02042106 +_02042058: + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r0, r4, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] bl FUN_020394B8 - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_02045B80 -FUN_02045B80: ; 0x02045B80 - push {r3-r5, lr} - add r5, r0, #0x0 - add r1, r5, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r4, [r1, #0xc] + add r7, r0, #0x0 + ldr r0, _0204210C ; =0x00000232 + add r5, #0x80 + strh r0, [r6, #0x0] + ldr r0, [sp, #0x0] + ldr r1, [r5, #0x0] + ldr r2, [r4, #0x0] + bl FUN_020421F0 + strh r0, [r7, #0x0] + b _02042106 +_020420A8: + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 + add r6, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132596,221 +139932,900 @@ FUN_02045B80: ; 0x02045B80 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 - add r5, #0x80 add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r3, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_020394B8 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_020421D8 add r0, r4, #0x0 - bl FUN_02026CC4 + mov r1, #0x3 + bl FUN_0202A170 +_02042106: mov r0, #0x0 - pop {r3-r5, pc} + pop {r3-r7, pc} + nop +_0204210C: .word 0x00000232 - thumb_func_start FUN_02045BC8 -FUN_02045BC8: ; 0x02045BC8 - push {r4, lr} - add r4, r0, #0x0 + thumb_func_start FUN_02042110 +FUN_02042110: ; 0x02042110 + push {r4-r6, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r0, r4, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + bl FUN_02042214 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02045C04 -FUN_02045C04: ; 0x02045C04 - push {r4, lr} + thumb_func_start FUN_0204214C +FUN_0204214C: ; 0x0204214C + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022504 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + cmp r0, #0x0 + beq _02042170 + cmp r0, #0x1 + beq _020421A2 + cmp r0, #0x2 + beq _020421BC + b _020421D4 +_02042170: + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] bl FUN_020394F0 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0206B9B0 + add r1, r0, #0x0 add r0, r4, #0x0 + mov r2, #0x4 + bl FUN_02060F3C + b _020421D4 +_020421A2: + add r0, r5, #0x0 bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 + add r1, r0, #0x0 add r0, r4, #0x0 + bl FUN_02060F9C + b _020421D4 +_020421BC: + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02060F88 +_020421D4: mov r0, #0x0 - pop {r4, pc} + pop {r4-r6, pc} + + thumb_func_start FUN_020421D8 +FUN_020421D8: ; 0x020421D8 + push {r3, lr} + sub r1, r1, #0x1 + lsl r3, r1, #0x4 + ldr r1, _020421EC ; =0x020F4264 + ldr r3, [r1, r3] + cmp r3, #0x0 + beq _020421EA + add r1, r2, #0x0 + blx r3 +_020421EA: + pop {r3, pc} .balign 4 +_020421EC: .word 0x020F4264 - thumb_func_start FUN_02045C40 -FUN_02045C40: ; 0x02045C40 + thumb_func_start FUN_020421F0 +FUN_020421F0: ; 0x020421F0 push {r4, lr} + sub r0, r0, #0x1 + lsl r4, r0, #0x4 + ldr r0, _0204220C ; =0x020F4268 + ldr r3, [r0, r4] + cmp r3, #0x0 + beq _02042204 + add r0, r1, #0x0 + add r1, r2, #0x0 + blx r3 +_02042204: + ldr r0, _02042210 ; =0x020F4270 + ldr r0, [r0, r4] + pop {r4, pc} + nop +_0204220C: .word 0x020F4268 +_02042210: .word 0x020F4270 + + thumb_func_start FUN_02042214 +FUN_02042214: ; 0x02042214 + push {r3-r5, lr} add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 + ldr r0, [r4, #0xc] + add r5, r1, #0x0 + bl FUN_02022504 + mov r1, #0x1 + add r2, r5, #0x0 + bl FUN_0202B710 + cmp r0, #0x0 + bne _02042230 + mov r0, #0x0 + pop {r3-r5, pc} +_02042230: + sub r0, r5, #0x1 + lsl r1, r0, #0x4 + ldr r0, _02042248 ; =0x020F426C + ldr r1, [r0, r1] + cmp r1, #0x0 + bne _02042240 + mov r0, #0x1 + pop {r3-r5, pc} +_02042240: add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 + blx r1 + pop {r3-r5, pc} + nop +_02042248: .word 0x020F426C + + thumb_func_start FUN_0204224C +FUN_0204224C: ; 0x0204224C + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + add r6, r1, #0x0 + add r7, r2, #0x0 + mov r0, #0x40 + mov r1, #0x4 + str r3, [sp, #0x8] + bl FUN_020219F4 + add r1, r7, #0x0 + add r4, r0, #0x0 + bl FUN_02021E28 + ldr r0, [sp, #0x24] + ldr r3, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + add r1, r6, #0x0 + str r0, [sp, #0x4] + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 + bl FUN_02021A20 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_02042288 +FUN_02042288: ; 0x02042288 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl FUN_0206BB1C + bl FUN_0204A20C + bl FUN_020690E4 + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0200AC60 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_020422A8 +FUN_020422A8: ; 0x020422A8 + push {r4, lr} + ldr r0, [r0, #0x4] + add r4, r1, #0x0 + ldr r0, [r0, #0x14] + bl FUN_02252538 + add r2, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0200B02C + pop {r4, pc} + + thumb_func_start FUN_020422C0 +FUN_020422C0: ; 0x020422C0 + push {r4, lr} + sub sp, #0x20 + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl FUN_02022504 + bl FUN_0202B844 + ldrh r0, [r0, #0x2] + mov r1, #0x4 + add r2, sp, #0x8 + bl FUN_0200A99C + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1 + mov r1, #0x0 + str r0, [sp, #0x4] add r0, r4, #0x0 + add r2, sp, #0x8 + add r3, r1, #0x0 + bl FUN_0204224C + add sp, #0x20 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_020422F4 +FUN_020422F4: ; 0x020422F4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02022504 + bl FUN_0202B85C + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start FUN_02042304 +FUN_02042304: ; 0x02042304 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_0204C1A8 + bl FUN_0204BEC8 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02042314 +FUN_02042314: ; 0x02042314 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02022504 + bl FUN_0202B838 + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start FUN_02042324 +FUN_02042324: ; 0x02042324 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02027E24 + mov r1, #0x0 + bl FUN_02027098 + pop {r3, pc} + + thumb_func_start FUN_02042334 +FUN_02042334: ; 0x02042334 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02022504 + bl FUN_0202B850 + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start FUN_02042344 +FUN_02042344: ; 0x02042344 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02022504 + bl FUN_0202B844 + ldrb r0, [r0, #0x0] + pop {r3, pc} + + thumb_func_start FUN_02042354 +FUN_02042354: ; 0x02042354 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + add r0, #0xa8 + bl FUN_022434BC + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02042364 +FUN_02042364: ; 0x02042364 + push {r4-r6, lr} + add r5, r0, #0x0 bl FUN_02038C30 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_022434D0 + add r5, #0x80 + ldr r1, [r5, #0x0] + add r1, #0xa8 + str r0, [r1, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_02042394 +FUN_02042394: ; 0x02042394 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + add r0, #0xa8 + ldr r0, [r0, #0x0] + bl FUN_02243694 add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 + ldr r1, [r4, #0x0] mov r0, #0x0 + add r1, #0xa8 + str r0, [r1, #0x0] pop {r4, pc} - .balign 4 - thumb_func_start FUN_02045C7C -FUN_02045C7C: ; 0x02045C7C + thumb_func_start FUN_020423B0 +FUN_020423B0: ; 0x020423B0 push {r3-r7, lr} - add r4, r0, #0x0 - add r1, r4, #0x0 - add r1, #0x80 - ldr r1, [r1, #0x0] - ldr r5, [r1, #0xc] + sub sp, #0x8 + add r7, r0, #0x0 + bl FUN_02038C30 + str r0, [sp, #0x0] + add r0, r7, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 add r6, r0, #0x0 - add r0, r4, #0x0 + add r0, r7, #0x0 bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 + str r0, [sp, #0x4] + add r0, r7, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r7, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r1, [sp, #0x4] bl FUN_020394B8 add r4, r0, #0x0 + add r0, r7, #0x0 + add r0, #0x80 + ldr r1, [r0, #0x0] + add r0, r1, #0x0 + add r0, #0xa8 + ldr r5, [r0, #0x0] + ldr r0, [sp, #0x0] + cmp r0, #0x64 + bls _020423FA + b _020426F6 +_020423FA: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02042406: ; jump table (using 16-bit offset) + .short _020424D0 - _02042406 - 2; case 0 + .short _020424DA - _02042406 - 2; case 1 + .short _020424F6 - _02042406 - 2; case 2 + .short _020424FC - _02042406 - 2; case 3 + .short _02042508 - _02042406 - 2; case 4 + .short _02042516 - _02042406 - 2; case 5 + .short _0204251E - _02042406 - 2; case 6 + .short _020426F6 - _02042406 - 2; case 7 + .short _02042526 - _02042406 - 2; case 8 + .short _02042532 - _02042406 - 2; case 9 + .short _02042540 - _02042406 - 2; case 10 + .short _0204254E - _02042406 - 2; case 11 + .short _0204255A - _02042406 - 2; case 12 + .short _020426F6 - _02042406 - 2; case 13 + .short _02042564 - _02042406 - 2; case 14 + .short _0204256E - _02042406 - 2; case 15 + .short _02042578 - _02042406 - 2; case 16 + .short _020426F6 - _02042406 - 2; case 17 + .short _020426F6 - _02042406 - 2; case 18 + .short _020426F6 - _02042406 - 2; case 19 + .short _020426F6 - _02042406 - 2; case 20 + .short _020426F6 - _02042406 - 2; case 21 + .short _020426F6 - _02042406 - 2; case 22 + .short _020426F6 - _02042406 - 2; case 23 + .short _020426F6 - _02042406 - 2; case 24 + .short _020426F6 - _02042406 - 2; case 25 + .short _020426F6 - _02042406 - 2; case 26 + .short _020426F6 - _02042406 - 2; case 27 + .short _020426F6 - _02042406 - 2; case 28 + .short _020426F6 - _02042406 - 2; case 29 + .short _0204258A - _02042406 - 2; case 30 + .short _020425A2 - _02042406 - 2; case 31 + .short _020425BC - _02042406 - 2; case 32 + .short _020425C8 - _02042406 - 2; case 33 + .short _020425D2 - _02042406 - 2; case 34 + .short _020425DC - _02042406 - 2; case 35 + .short _020425E6 - _02042406 - 2; case 36 + .short _020425F0 - _02042406 - 2; case 37 + .short _020425F8 - _02042406 - 2; case 38 + .short _02042600 - _02042406 - 2; case 39 + .short _02042608 - _02042406 - 2; case 40 + .short _0204261A - _02042406 - 2; case 41 + .short _02042626 - _02042406 - 2; case 42 + .short _02042642 - _02042406 - 2; case 43 + .short _0204264C - _02042406 - 2; case 44 + .short _02042656 - _02042406 - 2; case 45 + .short _02042660 - _02042406 - 2; case 46 + .short _0204266A - _02042406 - 2; case 47 + .short _02042674 - _02042406 - 2; case 48 + .short _02042680 - _02042406 - 2; case 49 + .short _0204268C - _02042406 - 2; case 50 + .short _020426A0 - _02042406 - 2; case 51 + .short _020426AA - _02042406 - 2; case 52 + .short _020426B4 - _02042406 - 2; case 53 + .short _020426BE - _02042406 - 2; case 54 + .short _020426CC - _02042406 - 2; case 55 + .short _02042612 - _02042406 - 2; case 56 + .short _020426DA - _02042406 - 2; case 57 + .short _020426F6 - _02042406 - 2; case 58 + .short _020426F6 - _02042406 - 2; case 59 + .short _020426F6 - _02042406 - 2; case 60 + .short _020426F6 - _02042406 - 2; case 61 + .short _020426F6 - _02042406 - 2; case 62 + .short _020426F6 - _02042406 - 2; case 63 + .short _020426F6 - _02042406 - 2; case 64 + .short _020426F6 - _02042406 - 2; case 65 + .short _020426F6 - _02042406 - 2; case 66 + .short _020426F6 - _02042406 - 2; case 67 + .short _020426F6 - _02042406 - 2; case 68 + .short _020426F6 - _02042406 - 2; case 69 + .short _020426F6 - _02042406 - 2; case 70 + .short _020426F6 - _02042406 - 2; case 71 + .short _020426F6 - _02042406 - 2; case 72 + .short _020426F6 - _02042406 - 2; case 73 + .short _020426F6 - _02042406 - 2; case 74 + .short _020426F6 - _02042406 - 2; case 75 + .short _020426F6 - _02042406 - 2; case 76 + .short _020426F6 - _02042406 - 2; case 77 + .short _020426F6 - _02042406 - 2; case 78 + .short _020426F6 - _02042406 - 2; case 79 + .short _020426F6 - _02042406 - 2; case 80 + .short _020426F6 - _02042406 - 2; case 81 + .short _020426F6 - _02042406 - 2; case 82 + .short _020426F6 - _02042406 - 2; case 83 + .short _020426F6 - _02042406 - 2; case 84 + .short _020426F6 - _02042406 - 2; case 85 + .short _020426F6 - _02042406 - 2; case 86 + .short _020426F6 - _02042406 - 2; case 87 + .short _020426F6 - _02042406 - 2; case 88 + .short _020426F6 - _02042406 - 2; case 89 + .short _020426F6 - _02042406 - 2; case 90 + .short _020426F6 - _02042406 - 2; case 91 + .short _020426F6 - _02042406 - 2; case 92 + .short _020426F6 - _02042406 - 2; case 93 + .short _020426F6 - _02042406 - 2; case 94 + .short _020426F6 - _02042406 - 2; case 95 + .short _020426F6 - _02042406 - 2; case 96 + .short _020426F6 - _02042406 - 2; case 97 + .short _020426F6 - _02042406 - 2; case 98 + .short _020426F6 - _02042406 - 2; case 99 + .short _020426E6 - _02042406 - 2; case 100 +_020424D0: + add r0, r6, #0x0 + bl FUN_0224312C + strh r0, [r4, #0x0] + b _020426FA +_020424DA: + cmp r6, #0x0 + bne _020424EA + ldrb r0, [r5, #0xe] + ldr r1, [r1, #0xc] + bl FUN_022432E4 + strh r0, [r4, #0x0] + b _020426FA +_020424EA: + ldr r1, [r1, #0xc] + add r0, r6, #0x0 + bl FUN_022432E4 + strh r0, [r4, #0x0] + b _020426FA +_020424F6: + bl FUN_0224339C + b _020426FA +_020424FC: + ldr r0, [r1, #0xc] + bl FUN_0202A8CC + bl FUN_022433A8 + b _020426FA +_02042508: + ldr r0, [r1, #0xc] + bl FUN_0202A8CC + bl FUN_022433B0 + strh r0, [r4, #0x0] + b _020426FA +_02042516: + add r0, r1, #0x0 + bl FUN_022433B8 + b _020426FA +_0204251E: + add r0, r1, #0x0 + bl FUN_022433F8 + b _020426FA +_02042526: + ldr r0, [r1, #0xc] + add r1, r6, #0x0 + bl FUN_02243408 + strh r0, [r4, #0x0] + b _020426FA +_02042532: + ldr r1, [r1, #0xc] + mov r0, #0x0 + mov r2, #0x2 + bl FUN_02243E74 + strh r0, [r4, #0x0] + b _020426FA +_02042540: + mov r0, #0x0 + ldr r1, [r1, #0xc] + add r2, r0, #0x0 + bl FUN_02243E74 + strh r0, [r4, #0x0] + b _020426FA +_0204254E: + ldr r0, [r1, #0xc] + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + bl FUN_02243428 + b _020426FA +_0204255A: + ldr r0, [r1, #0xc] + bl FUN_02243448 + strh r0, [r4, #0x0] + b _020426FA +_02042564: + ldr r0, [r1, #0xc] + bl FUN_0224345C + strh r0, [r4, #0x0] + b _020426FA +_0204256E: + ldr r0, [r1, #0xc] + bl FUN_022434AC + strh r0, [r4, #0x0] + b _020426FA +_02042578: + ldrh r3, [r4, #0x0] + ldr r0, [r7, #0x74] + ldr r2, [sp, #0x4] + add r1, r6, #0x0 + bl FUN_0205FD38 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204258A: + add r0, r1, #0x0 + mov r1, #0x13 + bl FUN_02039438 + add r2, r0, #0x0 + ldr r1, [r7, #0x74] + add r0, r5, #0x0 + bl FUN_022436C8 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_020425A2: + add r0, r1, #0x0 + mov r1, #0x13 + bl FUN_02039438 + add r7, #0x80 + ldr r2, [r7, #0x0] + add r1, r0, #0x0 + ldr r2, [r2, #0xc] + add r0, r5, #0x0 + bl FUN_022436E8 + strh r0, [r4, #0x0] + b _020426FA +_020425BC: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243780 + strh r0, [r4, #0x0] + b _020426FA +_020425C8: + add r0, r5, #0x0 + bl FUN_022438DC + strh r0, [r4, #0x0] + b _020426FA +_020425D2: + add r0, r5, #0x0 + bl FUN_022438E0 + strh r0, [r4, #0x0] + b _020426FA +_020425DC: + add r0, r5, #0x0 + bl FUN_022438FC + strh r0, [r4, #0x0] + b _020426FA +_020425E6: + add r0, r5, #0x0 + bl FUN_02243920 + strh r0, [r4, #0x0] + b _020426FA +_020425F0: + add r0, r5, #0x0 + bl FUN_022439F8 + b _020426FA +_020425F8: + add r0, r5, #0x0 + bl FUN_02243AD8 + b _020426FA +_02042600: + add r0, r5, #0x0 + bl FUN_02243BA8 + b _020426FA +_02042608: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243C5C + b _020426FA +_02042612: + add r0, r5, #0x0 + bl FUN_02243D3C + b _020426FA +_0204261A: add r0, r5, #0x0 - bl FUN_02026CC4 add r1, r6, #0x0 - add r2, r7, #0x0 - bl FUN_020260C4 + bl FUN_02243DA0 + strh r0, [r4, #0x0] + b _020426FA +_02042626: + add r0, r1, #0x0 + mov r1, #0x17 + bl FUN_02039438 + add r7, #0x80 + add r2, r0, #0x0 + ldr r0, [r7, #0x0] + add r1, r5, #0x0 + ldr r0, [r0, #0x10] + bl FUN_02243DB8 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_02042642: + add r0, r5, #0x0 + bl FUN_02243DC0 + strh r0, [r4, #0x0] + b _020426FA +_0204264C: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02243DC4 + b _020426FA +_02042656: + add r0, r5, #0x0 + bl FUN_02243DD8 + strh r0, [r4, #0x0] + b _020426FA +_02042660: + add r0, r5, #0x0 + bl FUN_02243DE0 + strh r0, [r4, #0x0] + b _020426FA +_0204266A: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243E34 + b _020426FA +_02042674: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243F18 + strh r0, [r4, #0x0] + b _020426FA +_02042680: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243F50 + strh r0, [r4, #0x0] + b _020426FA +_0204268C: + ldrb r1, [r5, #0x10] + mov r0, #0xe0 + bic r1, r0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1d + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r5, #0x10] + b _020426FA +_020426A0: + ldrb r0, [r5, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1d + strh r0, [r4, #0x0] + b _020426FA +_020426AA: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243838 + b _020426FA +_020426B4: + add r0, r5, r6 + add r0, #0x2a + ldrb r0, [r0, #0x0] + strh r0, [r4, #0x0] + b _020426FA +_020426BE: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + mov r2, #0x1 + bl FUN_02243E74 + strh r0, [r4, #0x0] + b _020426FA +_020426CC: + lsl r1, r6, #0x18 + add r0, r5, #0x0 + lsr r1, r1, #0x18 + bl FUN_0204290C + strh r0, [r4, #0x0] + b _020426FA +_020426DA: + ldr r1, [r1, #0xc] + add r0, r5, #0x0 + bl FUN_02243F9C + strh r0, [r4, #0x0] + b _020426FA +_020426E6: + cmp r5, #0x0 + bne _020426F0 + mov r0, #0x1 + strh r0, [r4, #0x0] + b _020426FA +_020426F0: + mov r0, #0x0 strh r0, [r4, #0x0] + b _020426FA +_020426F6: mov r0, #0x0 + strh r0, [r4, #0x0] +_020426FA: + mov r0, #0x0 + add sp, #0x8 pop {r3-r7, pc} - thumb_func_start FUN_02045CD4 -FUN_02045CD4: ; 0x02045CD4 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02038C30 - add r1, r0, #0x0 - add r0, r4, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + thumb_func_start FUN_02042700 +FUN_02042700: ; 0x02042700 + push {r3-r7, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + add r1, #0xa8 + ldr r4, [r1, #0x0] bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] - bl FUN_020394B8 - mov r0, #0x0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_02045D10 -FUN_02045D10: ; 0x02045D10 - push {r4, lr} - add r4, r0, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r0, r4, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r5, #0x0 bl FUN_02038C30 - add r4, #0x80 + add r5, #0x80 add r1, r0, #0x0 - ldr r0, [r4, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394B8 + lsl r2, r6, #0x4 + add r2, r6, r2 + mov r1, #0x38 + lsl r2, r2, #0x4 + mul r1, r7 + add r2, r4, r2 + add r3, r2, r1 + mov r2, #0xb2 + lsl r2, r2, #0x2 + ldrh r1, [r3, r2] + lsl r1, r1, #0x15 + lsr r4, r1, #0x15 + ldr r1, [sp, #0x0] + strh r4, [r1, #0x0] + add r1, r2, #0x4 + ldrh r1, [r3, r1] + strh r1, [r0, #0x0] mov r0, #0x0 - pop {r4, pc} + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02045D4C -FUN_02045D4C: ; 0x02045D4C - push {r4, lr} - add r4, r0, #0x0 + thumb_func_start FUN_02042780 +FUN_02042780: ; 0x02042780 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0205FE10 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020427A8 +FUN_020427A8: ; 0x020427A8 + push {r3-r5, lr} + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 - add r0, r4, #0x0 - bl FUN_02038C30 - add r4, #0x80 - add r1, r0, #0x0 - ldr r0, [r4, #0x0] bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0205FF5C + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045D88 -FUN_02045D88: ; 0x02045D88 - push {r4-r6, lr} + thumb_func_start FUN_020427D0 +FUN_020427D0: ; 0x020427D0 + push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132820,72 +140835,91 @@ FUN_02045D88: ; 0x02045D88 bl FUN_020394F0 add r4, r0, #0x0 add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - mov r1, #0x13 - bl FUN_02039438 - add r1, r5, #0x0 - add r1, #0x80 - lsl r2, r4, #0x18 - add r6, r0, #0x0 - ldr r1, [r1, #0x0] - mov r0, #0x20 - lsr r2, r2, #0x18 - bl FUN_02037CF0 - str r0, [r6, #0x0] - ldr r1, _02045DCC ; =FUN_0203BC04 + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 - bl FUN_02038B5C - mov r0, #0x1 - pop {r4-r6, pc} - nop -_02045DCC: .word FUN_0203BC04 + 1 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x0 + add r0, #0xa8 + ldr r6, [r0, #0x0] + ldr r0, _0204285C ; =0x00000884 + mov r2, #0x46 + add r0, r6, r0 + blx FUN_020CE34C + cmp r4, #0x0 + beq _0204281E + cmp r4, #0x1 + beq _02042830 + cmp r4, #0x2 + beq _0204283E + b _0204284C +_0204281E: + add r5, #0x80 + ldr r1, [r5, #0x0] + add r0, r1, #0x0 + add r0, #0xa8 + ldr r0, [r0, #0x0] + ldr r1, [r1, #0xc] + bl FUN_022446FC + b _0204284C +_02042830: + add r5, #0x80 + ldr r0, [r5, #0x0] + add r0, #0xa8 + ldr r0, [r0, #0x0] + bl FUN_02244758 + b _0204284C +_0204283E: + add r5, #0x80 + ldr r0, [r5, #0x0] + add r1, r7, #0x0 + add r0, #0xa8 + ldr r0, [r0, #0x0] + bl FUN_02244770 +_0204284C: + bl FUN_02031190 + ldr r1, _02042860 ; =0x0000083E + add r1, r6, r1 + bl FUN_020316AC + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204285C: .word 0x00000884 +_02042860: .word 0x0000083E - thumb_func_start FUN_02045DD0 -FUN_02045DD0: ; 0x02045DD0 + thumb_func_start FUN_02042864 +FUN_02042864: ; 0x02042864 push {r3-r5, lr} - add r4, r0, #0x0 + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - mov r1, #0x13 - bl FUN_02039438 + bl FUN_020394F0 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - bne _02045DFC - bl FUN_02020C2C -_02045DFC: - ldr r0, [r4, #0x0] - bl FUN_02037D5C - strh r0, [r5, #0x0] - ldrh r0, [r5, #0x0] - cmp r0, #0x4 - bne _02045E0E - mov r0, #0xff - strh r0, [r5, #0x0] -_02045E0E: - ldr r0, [r4, #0x0] - bl FUN_02016A18 - mov r0, #0x0 - str r0, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r4, #0x0 + ldr r0, [r0, #0x10] + bl FUN_0205FDDC + mov r0, #0x1 pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045E1C -FUN_02045E1C: ; 0x02045E1C - mov r0, #0x0 - bx lr - - thumb_func_start FUN_02045E20 -FUN_02045E20: ; 0x02045E20 - push {r4-r6, lr} + thumb_func_start FUN_02042894 +FUN_02042894: ; 0x02042894 + push {r3-r6, lr} + sub sp, #0x4 add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -132900,111 +140934,252 @@ FUN_02045E20: ; 0x02045E20 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020394F0 + bl FUN_020394B8 add r5, #0x80 add r6, r0, #0x0 ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - mov r1, #0x20 - bl FUN_02088DF8 + bl FUN_0202A8E4 + add r1, sp, #0x0 + bl FUN_0202A864 + add r0, sp, #0x0 + ldrb r1, [r0, #0x0] + strh r1, [r4, #0x0] + ldrb r0, [r0, #0x1] + strh r0, [r6, #0x0] + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start FUN_020428E0 +FUN_020428E0: ; 0x020428E0 + push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02088EF8 - strh r0, [r4, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02016A18 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202A8E4 + bl FUN_0202A74C + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02045E74 -FUN_02045E74: ; 0x02045E74 + thumb_func_start FUN_0204290C +FUN_0204290C: ; 0x0204290C + cmp r1, #0x2 + bne _02042918 + ldrb r0, [r0, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1d + bx lr +_02042918: + cmp r1, #0x1 + bne _0204293E + ldrb r1, [r0, #0xf] + cmp r1, #0x2 + bne _02042930 + ldrb r0, [r0, #0x10] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1d + lsl r1, r0, #0x1 + ldr r0, _0204294C ; =0x020F4334 + ldrh r0, [r0, r1] + bx lr +_02042930: + ldrb r0, [r0, #0x12] + cmp r0, #0x0 + beq _0204293A + mov r0, #0x61 + bx lr +_0204293A: + mov r0, #0x0 + bx lr +_0204293E: + ldrb r0, [r0, #0x11] + cmp r0, #0x0 + beq _02042948 + mov r0, #0x61 + bx lr +_02042948: + mov r0, #0x0 + bx lr + .balign 4 +_0204294C: .word 0x020F4334 + + thumb_func_start FUN_02042950 +FUN_02042950: ; 0x02042950 push {r3-r7, lr} - sub sp, #0x8 add r5, r0, #0x0 add r0, #0x80 - add r7, r1, #0x0 + ldr r1, [r5, #0x8] ldr r0, [r0, #0x0] - mov r1, #0x13 - str r2, [sp, #0x0] - add r6, r3, #0x0 + add r2, r1, #0x1 + str r2, [r5, #0x8] + ldrb r6, [r1, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r4, [r2, #0x0] + mov r1, #0x26 bl FUN_02039438 - str r0, [sp, #0x4] - mov r0, #0x20 - bl FUN_02088DD8 - add r4, r0, #0x0 - ldr r0, [sp, #0x4] - str r4, [r0, #0x0] - ldr r0, [sp, #0x0] - str r0, [r4, #0x0] - add r0, r5, #0x0 + add r5, #0x80 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_021E2A70 + str r0, [r7, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02042980 +FUN_02042980: ; 0x02042980 + push {r3, lr} add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_020377AC - bl FUN_020238F4 - str r0, [r4, #0x4] - add r0, r5, #0x0 - add r0, #0x80 + mov r1, #0x26 + bl FUN_02039438 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02023900 - str r0, [r4, #0x8] - str r6, [r4, #0xc] - add r0, r5, #0x0 - strb r7, [r4, #0x15] + bl FUN_021E29B4 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02042998 +FUN_02042998: ; 0x02042998 + push {r4, lr} + add r4, r0, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - add r1, r4, #0x0 - bl FUN_02038864 - ldr r1, _02045EDC ; =FUN_0203BC04 - add r0, r5, #0x0 - bl FUN_02038B5C - add r0, r6, #0x0 - bl FUN_02016A18 - add sp, #0x8 - pop {r3-r7, pc} + mov r1, #0x26 + bl FUN_02039438 + add r1, r0, #0x0 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + bl FUN_021E2AD4 + mov r0, #0x0 + pop {r4, pc} .balign 4 -_02045EDC: .word FUN_0203BC04 + 1 - thumb_func_start FUN_02045EE0 -FUN_02045EE0: ; 0x02045EE0 - mov r0, #0x1 - bx lr + thumb_func_start FUN_020429B8 +FUN_020429B8: ; 0x020429B8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0202A8D8 + mov r1, #0x0 + add r2, r1, #0x0 + bl FUN_0202A3B4 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} - thumb_func_start FUN_02045EE4 -FUN_02045EE4: ; 0x02045EE4 + thumb_func_start FUN_020429E8 +FUN_020429E8: ; 0x020429E8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0202A8D8 + add r1, r5, #0x0 + mov r2, #0x5 + bl FUN_0202A3B4 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02042A18 +FUN_02042A18: ; 0x02042A18 push {r3-r5, lr} add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x80 - ldr r0, [r0, #0x0] + ldr r0, [r5, #0x0] bl FUN_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0202A8D8 + add r1, r5, #0x0 + mov r2, #0x6 + bl FUN_0202A3B4 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02042A48 +FUN_02042A48: ; 0x02042A48 + push {r4-r6, lr} add r4, r0, #0x0 - add r0, r5, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r4, #0x0 - bl FUN_0206B9B0 + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - mov r1, #0x20 - bl FUN_02088DF8 - add r3, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x1 - add r2, r4, #0x0 - bl FUN_02045E74 + bl FUN_0202A8D8 + mov r1, #0x0 + add r2, r1, #0x0 + bl FUN_0202A3B4 + cmp r0, r6 + bhs _02042A8E + mov r0, #0x0 + b _02042A90 +_02042A8E: mov r0, #0x1 - pop {r3-r5, pc} +_02042A90: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_02045F24 -FUN_02045F24: ; 0x02045F24 - push {r4-r6, lr} + thumb_func_start FUN_02042A98 +FUN_02042A98: ; 0x02042A98 + push {r3-r7, lr} add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -133012,7 +141187,7 @@ FUN_02045F24: ; 0x02045F24 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r6, r0, #0x0 + add r7, r0, #0x0 add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 @@ -133020,18993 +141195,30896 @@ FUN_02045F24: ; 0x02045F24 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394F0 - add r4, r0, #0x0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206BB1C - add r1, r6, #0x0 - bl FUN_0206B9B0 - add r6, r0, #0x0 - mov r0, #0x20 - mov r1, #0x4 - bl FUN_02016998 - add r3, r0, #0x0 - ldr r0, _02045F80 ; =0x0000FFFF - strh r4, [r3, #0x0] - strh r0, [r3, #0x2] + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + cmp r7, #0x1 + bne _02042AEE + mov r1, #0x1a + b _02042AF0 +_02042AEE: mov r1, #0x0 - add r2, r6, #0x0 - bl FUN_02045E74 - mov r0, #0x1 - pop {r4-r6, pc} - .balign 4 -_02045F80: .word 0x0000FFFF - - thumb_func_start FUN_02045F84 -FUN_02045F84: ; 0x02045F84 +_02042AF0: + add r1, r1, r6 + lsl r2, r1, #0x2 + ldr r1, _02042B04 ; =0x020F433E + ldrh r1, [r1, r2] + strh r1, [r4, #0x0] + ldr r1, _02042B08 ; =0x020F4340 + ldrh r1, [r1, r2] + strh r1, [r0, #0x0] mov r0, #0x0 - bx lr + pop {r3-r7, pc} + .balign 4 +_02042B04: .word 0x020F433E +_02042B08: .word 0x020F4340 - thumb_func_start FUN_02045F88 -FUN_02045F88: ; 0x02045F88 + thumb_func_start FUN_02042B0C +FUN_02042B0C: ; 0x02042B0C push {r3-r5, lr} - add r4, r0, #0x0 + add r5, r0, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - mov r1, #0x13 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa bl FUN_02039438 - ldr r4, [r0, #0x0] - cmp r4, #0x0 - bne _02045FB2 - bl FUN_02020C2C -_02045FB2: - ldrb r0, [r4, #0x16] - cmp r0, #0x0 - bne _02045FBC - mov r0, #0x0 - b _02045FBE -_02045FBC: - mov r0, #0xff -_02045FBE: - strh r0, [r5, #0x0] - add r0, r4, #0x0 - bl FUN_02088DF0 + add r1, r0, #0x0 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r1, [r1, #0x0] + bl FUN_0204B5FC + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_02045FCC -FUN_02045FCC: ; 0x02045FCC - push {r3-r5, lr} + thumb_func_start FUN_02042B40 +FUN_02042B40: ; 0x02042B40 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 bl FUN_02038C30 add r1, r0, #0x0 - add r0, r4, #0x0 + add r0, r5, #0x0 add r0, #0x80 ldr r0, [r0, #0x0] bl FUN_020394B8 - add r4, #0x80 - add r5, r0, #0x0 - ldr r0, [r4, #0x0] - mov r1, #0x13 - bl FUN_02039438 - ldr r4, [r0, #0x0] - cmp r4, #0x0 - bne _02045FF6 - bl FUN_02020C2C -_02045FF6: - ldrb r0, [r4, #0x16] - cmp r0, #0x0 - bne _02046000 - mov r0, #0x0 - b _02046002 -_02046000: - mov r0, #0xff -_02046002: - strh r0, [r5, #0x0] - add r0, r4, #0x0 - bl FUN_02088DF0 - mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02046010 -FUN_02046010: ; 0x02046010 - push {r3, lr} - bl FUN_02020C2C - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204601C -FUN_0204601C: ; 0x0204601C - push {r3, lr} - bl FUN_02020C2C - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_02046028 -FUN_02046028: ; 0x02046028 - mov r0, #0x0 - bx lr - - thumb_func_start FUN_0204602C -FUN_0204602C: ; 0x0204602C - mov r0, #0x0 - bx lr - - thumb_func_start FUN_02046030 -FUN_02046030: ; 0x02046030 - push {r4, lr} - add r4, r0, #0x0 - mov r0, #0xb - mov r1, #0xc - bl FUN_020169D8 - add r2, r0, #0x0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B63C + strh r0, [r6, #0x0] mov r0, #0x0 - strb r0, [r2, #0x0] - strb r0, [r2, #0x1] - strb r0, [r2, #0x2] - strb r0, [r2, #0x3] - strb r0, [r2, #0x4] - strb r0, [r2, #0x5] - strb r0, [r2, #0x6] - strb r0, [r2, #0x7] - strb r0, [r2, #0x8] - strb r0, [r2, #0x9] - strb r0, [r2, #0xa] - strb r0, [r2, #0xb] - ldr r0, [r4, #0x10] - ldr r1, _02046064 ; =FUN_02046068 - bl FUN_0204640C - pop {r4, pc} - nop -_02046064: .word FUN_02046068 + 1 + pop {r4-r6, pc} - thumb_func_start FUN_02046068 -FUN_02046068: ; 0x02046068 + thumb_func_start FUN_02042B74 +FUN_02042B74: ; 0x02042B74 push {r4-r6, lr} - sub sp, #0x38 - add r6, r0, #0x0 - bl FUN_02046528 add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020462AC - ldrb r1, [r4, #0x8] - cmp r1, #0xb - bls _0204608A - b _020461F8 -_0204608A: - add r2, r1, r1 - add r2, pc - ldrh r2, [r2, #0x6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 - lsl r6, r2, #0 - lsl r4, r7, #0 - lsl r2, r1, #0x1 - lsl r2, r6, #0x1 - lsl r0, r0, #0x2 - lsl r0, r7, #0x2 - lsl r0, r1, #0x3 - lsl r2, r6, #0x3 - lsl r0, r0, #0x4 - lsl r0, r5, #0x4 - lsl r6, r6, #0x4 - lsl r4, r1, #0x5 - ldr r0, [r5, #0x38] - bl FUN_02055320 - strh r0, [r4, #0x4] - ldr r0, [r5, #0x38] - bl FUN_0205532C - strh r0, [r4, #0x6] add r0, r5, #0x0 - mov r1, #0x1 - bl FUN_0206367C - add r0, r6, #0x0 - bl FUN_0204AFC8 - ldrb r0, [r4, #0x8] - add r0, r0, #0x1 - strb r0, [r4, #0x8] - b _020461F8 -_020460D4: - .byte 0x30, 0x1C, 0x04, 0xF0, 0x31, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72 - .byte 0x8A, 0xE0, 0x19, 0xF0, 0x6F, 0xF8, 0xAC, 0x20, 0x09, 0x90, 0xAD, 0x38, 0x0A, 0x90, 0x44, 0x48 - .byte 0x09, 0xA9, 0x0B, 0x90, 0x43, 0x48, 0x0C, 0x90, 0x01, 0x20, 0x0D, 0x90, 0x30, 0x1C, 0x03, 0xF0 - .byte 0x2F, 0xF8, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x76, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFF - .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x6F, 0xE0, 0xA8, 0x6B, 0x01, 0x21, 0x00, 0xF0, 0x7A, 0xF8 - .byte 0x28, 0x1C, 0x00, 0xF0, 0x7F, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20 - .byte 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x34, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x11, 0x22, 0x06, 0xF0 - .byte 0x39, 0xF8, 0x32, 0x48, 0xBF, 0xF7, 0xC0, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x53, 0xE0 - .byte 0x2F, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x4E, 0xD0, 0x48, 0x1C, 0x20, 0x72, 0x4B, 0xE0 - .byte 0x00, 0x20, 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90 - .byte 0x25, 0x4B, 0x30, 0x1C, 0x03, 0x21, 0x10, 0x22, 0x06, 0xF0, 0x1C, 0xF8, 0x23, 0x48, 0xBF, 0xF7 - .byte 0xA3, 0xF9, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x36, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0xD6, 0xFE - .byte 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x2F, 0xE0, 0x19, 0xF0, 0x1C, 0xF8, 0xE2, 0x88, 0xA1, 0x88 - .byte 0xA4, 0x20, 0x04, 0x90, 0xA5, 0x38, 0x05, 0x90, 0x00, 0x20, 0x06, 0x91, 0x08, 0x90, 0x07, 0x92 - .byte 0x30, 0x1C, 0x04, 0xA9, 0x02, 0xF0, 0xD4, 0xFF, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x1B, 0xE0 - .byte 0x30, 0x1C, 0x04, 0xF0, 0xDF, 0xFE, 0x20, 0x7A, 0x40, 0x1C, 0x20, 0x72, 0x14, 0xE0, 0xA8, 0x6B - .byte 0x00, 0x21, 0x00, 0xF0, 0x1F, 0xF8, 0x30, 0x1C, 0x04, 0xF0, 0x18, 0xFF, 0x20, 0x7A, 0x40, 0x1C - .byte 0x20, 0x72, 0x09, 0xE0, 0x20, 0x1C, 0xD0, 0xF7, 0x17, 0xFC, 0x28, 0x1C, 0x00, 0x21, 0x1D, 0xF0 - .byte 0x45, 0xFA, 0x0E, 0xB0, 0x01, 0x20, 0x70, 0xBD -_020461F8: + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B660 + strh r0, [r6, #0x0] mov r0, #0x0 - add sp, #0x38 pop {r4-r6, pc} - nop -_02046200: - .byte 0x4F, 0x03, 0x00, 0x00, 0x31, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x79, 0x06, 0x00, 0x00 - .byte 0xB8, 0x48, 0x1C, 0x02 - - thumb_func_start FUN_02046214 -FUN_02046214: ; 0x02046214 - push {r4, lr} - add r4, r1, #0x0 - bl FUN_020553A0 - add r1, r4, #0x0 - bl FUN_0205889C - pop {r4, pc} - thumb_func_start FUN_02046224 -FUN_02046224: ; 0x02046224 - push {r3-r4, lr} - sub sp, #0x14 + thumb_func_start FUN_02042BA8 +FUN_02042BA8: ; 0x02042BA8 + push {r4-r6, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 add r4, r0, #0x0 - ldr r0, _02046278 ; =0x000008C1 - ldr r1, [r4, #0x20] - bl FUN_0201EEF0 - ldr r0, _0204627C ; =0x000F81B8 - ldr r1, [r4, #0x20] - bl FUN_0201EFE0 - ldr r0, _02046280 ; =0x0350523D - str r0, [sp, #0x8] - ldr r0, _02046284 ; =0x0015EDB7 - str r0, [sp, #0xc] - ldr r0, _02046288 ; =0x023DA40E - str r0, [sp, #0x10] - ldr r1, [r4, #0x20] - add r0, sp, #0x8 - bl FUN_0201F04C - ldr r1, _0204628C ; =0x00000823 - add r0, sp, #0x0 - strh r1, [r0, #0x0] - mov r1, #0x52 - lsl r1, r1, #0x4 - strh r1, [r0, #0x2] - mov r1, #0x0 - strh r1, [r0, #0x4] - ldr r1, [r4, #0x20] - add r0, sp, #0x0 - bl FUN_0201EF90 - mov r0, #0x3 - ldr r1, _02046290 ; =0x0061C000 - ldr r2, [r4, #0x20] - lsl r0, r0, #0xe - bl FUN_0201EC94 - add sp, #0x14 - pop {r3-r4, pc} - nop -_02046278: .word 0x000008C1 -_0204627C: .word 0x000F81B8 -_02046280: .word 0x0350523D -_02046284: .word 0x0015EDB7 -_02046288: .word 0x023DA40E -_0204628C: .word 0x00000823 -_02046290: .word 0x0061C000 - - thumb_func_start FUN_02046294 -FUN_02046294: ; 0x02046294 - mov r0, #0xeb - lsl r0, r0, #0x2 - bx lr - .balign 4 - - thumb_func_start FUN_0204629C -FUN_0204629C: ; 0x0204629C - ldr r3, _020462A8 ; =FUN_020DF4A4 - mov r2, #0xeb - mov r1, #0x0 - lsl r2, r2, #0x2 - bx r3 - nop -_020462A8: .word FUN_020DF4A4 - - thumb_func_start FUN_020462AC -FUN_020462AC: ; 0x020462AC - ldr r3, _020462B4 ; =FUN_02022610 - mov r1, #0x4 - bx r3 - nop -_020462B4: .word FUN_02022610 + 1 - - thumb_func_start FUN_020462B8 -FUN_020462B8: ; 0x020462B8 - push {r3-r5, lr} - add r4, r1, #0x0 - bl FUN_02046338 - cmp r0, #0x0 - beq _020462DE - lsr r3, r4, #0x1f - lsl r2, r4, #0x1d - ldrb r5, [r0, #0x0] - sub r2, r2, r3 - mov r1, #0x1d - ror r2, r1 - mov r0, #0x1 - add r1, r3, r2 - add r2, r0, #0x0 - lsl r2, r1 - add r1, r5, #0x0 - tst r1, r2 - bne _020462E0 -_020462DE: + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B684 + strh r0, [r6, #0x0] mov r0, #0x0 -_020462E0: - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_020462E4 -FUN_020462E4: ; 0x020462E4 - push {r4-r6, lr} - add r4, r1, #0x0 - bl FUN_02046338 - cmp r0, #0x0 - beq _02046308 - lsr r5, r4, #0x1f - lsl r3, r4, #0x1d - sub r3, r3, r5 - mov r2, #0x1d - ror r3, r2 - mov r6, #0x1 - add r2, r5, r3 - add r3, r6, #0x0 - ldrb r1, [r0, #0x0] - lsl r3, r2 - orr r1, r3 - strb r1, [r0, #0x0] -_02046308: pop {r4-r6, pc} - .balign 4 - thumb_func_start FUN_0204630C -FUN_0204630C: ; 0x0204630C + thumb_func_start FUN_02042BDC +FUN_02042BDC: ; 0x02042BDC push {r4-r6, lr} - add r4, r1, #0x0 - bl FUN_02046338 - cmp r0, #0x0 - beq _02046334 - lsr r5, r4, #0x1f - lsl r3, r4, #0x1d - sub r3, r3, r5 - mov r2, #0x1d - ror r3, r2 - mov r6, #0x1 - add r2, r5, r3 - add r3, r6, #0x0 - lsl r3, r2 - mov r2, #0xff - ldrb r1, [r0, #0x0] - eor r2, r3 - and r1, r2 - strb r1, [r0, #0x0] -_02046334: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_02046338 -FUN_02046338: ; 0x02046338 - push {r3-r5, lr} add r5, r0, #0x0 - cmp r1, #0x0 - bne _02046344 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B6A4 + strh r0, [r6, #0x0] mov r0, #0x0 - pop {r3-r5, pc} -_02046344: - mov r0, #0x1 - lsl r0, r0, #0xe - cmp r1, r0 - bhs _02046364 - mov r0, #0x5b - lsr r4, r1, #0x3 - lsl r0, r0, #0x2 - cmp r4, r0 - blt _0204635A - bl FUN_02020C2C -_0204635A: - mov r0, #0x9 - lsl r0, r0, #0x6 - add r0, r5, r0 - add r0, r0, r4 - pop {r3-r5, pc} -_02046364: - sub r1, r1, r0 - asr r0, r1, #0x2 - lsr r0, r0, #0x1d - add r0, r1, r0 - asr r4, r0, #0x3 - cmp r4, #0x8 - blt _02046376 - bl FUN_02020C2C -_02046376: - ldr r0, _0204637C ; =0x021C5A14 - add r0, r0, r4 - pop {r3-r5, pc} - .balign 4 -_0204637C: .word 0x021C5A14 + pop {r4-r6, pc} - thumb_func_start FUN_02046380 -FUN_02046380: ; 0x02046380 + thumb_func_start FUN_02042C10 +FUN_02042C10: ; 0x02042C10 push {r3-r5, lr} add r5, r0, #0x0 - mov r0, #0x1 - lsl r0, r0, #0xe - sub r4, r1, r0 - mov r0, #0x12 - lsl r0, r0, #0x4 - cmp r4, r0 - blt _02046396 - bl FUN_02020C2C -_02046396: - lsl r0, r4, #0x1 - add r0, r5, r0 - pop {r3-r5, pc} - - thumb_func_start FUN_0204639C -FUN_0204639C: ; 0x0204639C - push {r3-r7, lr} - add r5, r0, #0x0 - mov r0, #0x20 - add r6, r1, #0x0 - add r1, r0, #0x0 - add r7, r2, #0x0 - bl FUN_020169D8 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B57C mov r0, #0x0 - str r0, [r4, #0x0] - str r6, [r4, #0x4] - str r0, [r4, #0x8] - str r7, [r4, #0xc] - str r0, [r4, #0x10] - str r0, [r4, #0x14] - mov r0, #0x20 - mov r1, #0x4 - str r5, [r4, #0x18] - bl FUN_020169D8 - str r0, [r4, #0x1c] - add r0, r4, #0x0 - pop {r3-r7, pc} + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020463CC -FUN_020463CC: ; 0x020463CC + thumb_func_start FUN_02042C44 +FUN_02042C44: ; 0x02042C44 push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, [r5, #0x10] - add r4, r1, #0x0 - add r6, r2, #0x0 - cmp r0, #0x0 - beq _020463DE - bl FUN_02020C2C -_020463DE: + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 + add r4, r0, #0x0 add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_0204639C - str r0, [r5, #0x10] + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r2, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r1, [r4, #0x0] + bl FUN_0204B5A8 + add r0, r6, #0x0 + mov r1, #0x3 + bl FUN_0202A0E8 + mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_020463EC -FUN_020463EC: ; 0x020463EC + thumb_func_start FUN_02042C8C +FUN_02042C8C: ; 0x02042C8C push {r4, lr} add r4, r0, #0x0 - str r1, [r4, #0x4] - mov r0, #0x0 - str r0, [r4, #0x8] - str r2, [r4, #0xc] - ldr r0, [r4, #0x14] + bl FUN_02038C30 cmp r0, #0x0 - bne _02046400 - beq _0204640A -_02046400: - bl FUN_02016A18 - mov r0, #0x0 - str r0, [r4, #0x10] - str r0, [r4, #0x14] -_0204640A: - pop {r4, pc} - - thumb_func_start FUN_0204640C -FUN_0204640C: ; 0x0204640C - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x18] - bl FUN_0204639C - str r4, [r0, #0x0] - ldr r1, [r4, #0x18] - str r0, [r1, #0x10] + beq _02042C9E + cmp r0, #0x1 + beq _02042CA8 + b _02042CB2 +_02042C9E: + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_0204B9A0 + b _02042CB6 +_02042CA8: + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_0204B9CC + b _02042CB6 +_02042CB2: + bl FUN_02020C2C +_02042CB6: + mov r0, #0x1 pop {r4, pc} .balign 4 - thumb_func_start FUN_02046420 -FUN_02046420: ; 0x02046420 + thumb_func_start FUN_02042CBC +FUN_02042CBC: ; 0x02042CBC push {r3-r5, lr} add r5, r0, #0x0 - ldr r0, [r5, #0x10] - cmp r0, #0x0 - bne _0204642E - mov r0, #0x0 - pop {r3-r5, pc} -_0204642E: - ldr r1, [r0, #0x4] - blx r1 - cmp r0, #0x1 - bne _02046466 -_02046436: - ldr r0, [r5, #0x10] - ldr r4, [r0, #0x0] - ldr r0, [r0, #0x14] - cmp r0, #0x0 - beq _02046444 - bl FUN_02016A18 -_02046444: - ldr r0, [r5, #0x10] - ldr r0, [r0, #0x1c] - bl FUN_02016A18 - ldr r0, [r5, #0x10] - bl FUN_02016A18 - str r4, [r5, #0x10] - cmp r4, #0x0 - bne _0204645C - mov r0, #0x1 - pop {r3-r5, pc} -_0204645C: - ldr r0, [r5, #0x10] - ldr r1, [r0, #0x4] - blx r1 - cmp r0, #0x1 - beq _02046436 -_02046466: + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xa + bl FUN_02039438 + add r1, r0, #0x0 + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r1, [r1, #0x0] + bl FUN_0204B4FC + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0202A170 mov r0, #0x0 pop {r3-r5, pc} - .balign 4 - thumb_func_start FUN_0204646C -FUN_0204646C: ; 0x0204646C - ldr r0, [r0, #0x10] - cmp r0, #0x0 - beq _02046476 - mov r0, #0x1 - bx lr -_02046476: - mov r0, #0x0 + thumb_func_start FUN_02042CF0 +FUN_02042CF0: ; 0x02042CF0 + str r1, [r0, #0x0] + str r2, [r0, #0x4] + str r3, [r0, #0x8] bx lr - .balign 4 - - thumb_func_start FUN_0204647C -FUN_0204647C: ; 0x0204647C - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - bne _02046492 - add r0, r4, #0x0 - bl FUN_020373C4 - cmp r0, #0x0 - beq _02046496 -_02046492: - mov r0, #0x1 - pop {r4, pc} -_02046496: - mov r0, #0x0 - pop {r4, pc} - .balign 4 - thumb_func_start FUN_0204649C -FUN_0204649C: ; 0x0204649C - ldr r3, _020464A0 ; =FUN_02037350 - bx r3 - .balign 4 -_020464A0: .word FUN_02037350 + 1 + thumb_func_start FUN_02042CF8 +FUN_02042CF8: ; 0x02042CF8 + push {r3, lr} + bl FUN_0202AF9C + bl FUN_0202AFC0 + pop {r3, pc} - thumb_func_start FUN_020464A4 -FUN_020464A4: ; 0x020464A4 + thumb_func_start FUN_02042D04 +FUN_02042D04: ; 0x02042D04 push {r3, lr} - bl FUN_020373AC - cmp r0, #0x0 - beq _020464B2 - mov r0, #0x1 + bl FUN_0202AF9C + bl FUN_0202AFFC pop {r3, pc} -_020464B2: - mov r0, #0x0 + + thumb_func_start FUN_02042D10 +FUN_02042D10: ; 0x02042D10 + push {r3, lr} + bl FUN_0202AF9C + bl FUN_0202B020 pop {r3, pc} - .balign 4 - thumb_func_start FUN_020464B8 -FUN_020464B8: ; 0x020464B8 - push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C + thumb_func_start FUN_02042D1C +FUN_02042D1C: ; 0x02042D1C + push {r3-r7, lr} + sub sp, #0x20 add r4, r0, #0x0 + bl FUN_02038C30 + cmp r0, #0x8 + bls _02042D2C + b _02042F04 +_02042D2C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02042D38: ; jump table (using 16-bit offset) + .short _02042D4A - _02042D38 - 2; case 0 + .short _02042D74 - _02042D38 - 2; case 1 + .short _02042DA0 - _02042D38 - 2; case 2 + .short _02042DC0 - _02042D38 - 2; case 3 + .short _02042DFC - _02042D38 - 2; case 4 + .short _02042E2E - _02042D38 - 2; case 5 + .short _02042E9A - _02042D38 - 2; case 6 + .short _02042D58 - _02042D38 - 2; case 7 + .short _02042D66 - _02042D38 - 2; case 8 +_02042D4A: + add r4, #0x80 ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _020464D6 - cmp r0, #0x1 - beq _020464E8 - b _020464FC -_020464D6: - ldr r1, [r4, #0x4] - ldr r2, [r4, #0x8] - add r0, r5, #0x0 - bl FUN_020373D4 + mov r1, #0x20 + ldr r0, [r0, #0xc] + bl FUN_0202AF70 + b _02042F04 +_02042D58: + add r4, #0x80 ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020464FC -_020464E8: - add r0, r5, #0x0 - bl FUN_0204647C - cmp r0, #0x0 - bne _020464FC + mov r1, #0x0 + ldr r0, [r0, #0xc] + bl FUN_0202AF88 + b _02042F04 +_02042D66: + add r4, #0x80 + ldr r0, [r4, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0xc] + bl FUN_0202AF88 + b _02042F04 +_02042D74: add r0, r4, #0x0 - bl FUN_02016A18 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_02042CF8 + cmp r0, #0x0 + beq _02042D9A mov r0, #0x1 - pop {r3-r5, pc} -_020464FC: + strh r0, [r5, #0x0] + b _02042F04 +_02042D9A: mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_02046500 -FUN_02046500: ; 0x02046500 - push {r4-r6, lr} + strh r0, [r5, #0x0] + b _02042F04 +_02042DA0: + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_02042CF8 + strh r0, [r5, #0x0] + b _02042F04 +_02042DC0: + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r6, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0x20 - mov r1, #0xc - add r4, r2, #0x0 - bl FUN_020169D8 - add r2, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042CF8 + sub r0, r0, #0x1 + lsl r5, r0, #0x4 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r7, _02042F0C ; =0x020F43E4 + bl FUN_02042D04 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + ldr r2, [r7, r5] + blx r2 + strh r0, [r6, #0x0] + b _02042F04 +_02042DFC: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042CF8 + sub r0, r0, #0x1 + ldr r1, _02042F0C ; =0x020F43E4 + lsl r0, r0, #0x4 + add r5, r1, r0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042D04 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r2, [r5, #0x4] + blx r2 + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_02042D10 + b _02042F04 +_02042E2E: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042CF8 + sub r0, r0, #0x1 + ldr r1, _02042F0C ; =0x020F43E4 + lsl r0, r0, #0x4 + add r5, r1, r0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042D04 + add r4, #0x80 + add r3, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r2, [r6, #0x0] + add r0, sp, #0x14 + bl FUN_02042CF0 + ldr r2, [sp, #0x0] + ldr r3, [r5, #0x8] + add r0, sp, #0x14 + add r1, r7, #0x0 + blx r3 + b _02042F04 +_02042E9A: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042CF8 + sub r0, r0, #0x1 + ldr r1, _02042F0C ; =0x020F43E4 + lsl r0, r0, #0x4 + add r5, r1, r0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_02042D04 + add r4, #0x80 + add r3, r0, #0x0 + ldr r1, [r4, #0x0] + ldr r2, [r6, #0x0] + add r0, sp, #0x8 + bl FUN_02042CF0 + ldr r2, [sp, #0x4] + ldr r3, [r5, #0xc] + add r0, sp, #0x8 + add r1, r7, #0x0 + blx r3 +_02042F04: mov r0, #0x0 - str r0, [r2, #0x0] - str r5, [r2, #0x4] - ldr r1, _02046524 ; =FUN_020464B8 - add r0, r6, #0x0 - str r4, [r2, #0x8] - bl FUN_0204640C - pop {r4-r6, pc} - .balign 4 -_02046524: .word FUN_020464B8 + 1 - - thumb_func_start FUN_02046528 -FUN_02046528: ; 0x02046528 - ldr r0, [r0, #0x18] - bx lr + add sp, #0x20 + pop {r3-r7, pc} + nop +_02042F0C: .word 0x020F43E4 - thumb_func_start FUN_0204652C -FUN_0204652C: ; 0x0204652C + thumb_func_start FUN_02042F10 +FUN_02042F10: ; 0x02042F10 + push {r3, lr} ldr r0, [r0, #0xc] - bx lr - - thumb_func_start FUN_02046530 -FUN_02046530: ; 0x02046530 - add r0, #0x8 - bx lr + bl FUN_0206BB1C + bl FUN_0206B9AC + cmp r0, #0x6 + bge _02042F24 + mov r0, #0x1 + pop {r3, pc} +_02042F24: + mov r0, #0x0 + pop {r3, pc} - thumb_func_start FUN_02046534 -FUN_02046534: ; 0x02046534 - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0x0] - bx lr + thumb_func_start FUN_02042F28 +FUN_02042F28: ; 0x02042F28 + push {r3, lr} + sub sp, #0x8 + add r1, r0, #0x0 + mov r0, #0x2 + str r0, [sp, #0x0] + mov r3, #0x1 + str r3, [sp, #0x4] + ldr r1, [r1, #0xc] + ldr r2, _02042F44 ; =0x000001EA + mov r0, #0x20 + bl FUN_0204A0C8 + add sp, #0x8 + pop {r3, pc} .balign 4 +_02042F44: .word 0x000001EA - thumb_func_start FUN_0204653C -FUN_0204653C: ; 0x0204653C - push {r4-r6, lr} + thumb_func_start FUN_02042F48 +FUN_02042F48: ; 0x02042F48 + push {r4, lr} add r4, r0, #0x0 - bl FUN_02046528 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r1, #0x0] + mov r0, #0xd + strh r0, [r2, #0x0] + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r4, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02042F6C +FUN_02042F6C: ; 0x02042F6C + push {r3-r7, lr} + sub sp, #0x38 + str r0, [sp, #0x4] + bl FUN_02042D04 + str r0, [sp, #0x10] + ldr r0, [sp, #0x4] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + mov r7, #0x0 add r5, r0, #0x0 + add r4, r0, #0x4 add r0, r4, #0x0 - bl FUN_0204652C - add r6, r0, #0x0 + mov r1, #0x97 + add r2, r7, #0x0 + add r5, #0xf0 + bl FUN_020671BC + add r1, r7, #0x0 + str r0, [sp, #0x8] add r0, r4, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] + add r2, r1, #0x0 + bl FUN_020671BC + str r0, [sp, #0x14] + add r0, r4, #0x0 + mov r1, #0x7 + add r2, r7, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + blx FUN_020CCC1C + bl FUN_0201BA10 + add r1, r0, #0x0 + ldr r0, [sp, #0x14] + str r1, [sp, #0x34] cmp r0, #0x0 - beq _02046562 + beq _02042FE8 cmp r0, #0x1 - beq _02046572 - b _02046580 -_02046562: - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_0203780C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046580 -_02046572: + bne _02042FE6 + add r0, r6, #0x0 + bl FUN_02068AAC + cmp r0, #0x0 + beq _02042FE8 +_02042FD0: + ldr r0, [sp, #0x34] + bl FUN_0201BA10 + add r1, r0, #0x0 + add r0, r6, #0x0 + str r1, [sp, #0x34] + bl FUN_02068AAC + cmp r0, #0x0 + bne _02042FD0 + b _02042FE8 +_02042FE6: + str r0, [sp, #0x34] +_02042FE8: + ldr r1, [sp, #0x34] + add r0, r4, #0x0 + bl FUN_0206A23C + add r0, r4, #0x0 + bl FUN_020689E0 + str r0, [sp, #0x30] + add r0, r4, #0x0 + mov r1, #0x6f + add r2, sp, #0x30 + bl FUN_02067830 + add r0, r4, #0x0 + mov r1, #0x4b + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x18] + add r0, r4, #0x0 + mov r1, #0x4a + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x1c] + add r0, r4, #0x0 + mov r1, #0x49 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x20] + add r0, r4, #0x0 + mov r1, #0x48 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x24] + add r0, r4, #0x0 + mov r1, #0x46 + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x47 + mov r2, #0x0 + bl FUN_020671BC + add r1, r6, r0 + ldr r0, [sp, #0x24] + add r1, r0, r1 + ldr r0, [sp, #0x20] + add r1, r0, r1 + ldr r0, [sp, #0x1c] + add r1, r0, r1 + ldr r0, [sp, #0x18] + add r0, r0, r1 + str r0, [sp, #0x30] + bne _020430DA + bl FUN_0201B9EC + add r6, r0, #0x0 + mov r0, #0x1f + and r0, r6 + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x46 + add r2, sp, #0x34 + bl FUN_02067830 + mov r0, #0x3e + lsl r0, r0, #0x4 + and r0, r6 + lsr r0, r0, #0x5 + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x47 + add r2, sp, #0x34 + bl FUN_02067830 + mov r0, #0x1f + lsl r0, r0, #0xa + and r0, r6 + lsr r0, r0, #0xa + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x48 + add r2, sp, #0x34 + bl FUN_02067830 + bl FUN_0201B9EC + add r6, r0, #0x0 + mov r0, #0x1f + and r0, r6 + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x49 + add r2, sp, #0x34 + bl FUN_02067830 + mov r0, #0x3e + lsl r0, r0, #0x4 + and r0, r6 + lsr r0, r0, #0x5 + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x4a + add r2, sp, #0x34 + bl FUN_02067830 + mov r0, #0x1f + lsl r0, r0, #0xa + and r0, r6 + lsr r0, r0, #0xa + str r0, [sp, #0x34] + add r0, r4, #0x0 + mov r1, #0x4b + add r2, sp, #0x34 + bl FUN_02067830 +_020430DA: + ldr r0, [sp, #0x4] + ldr r0, [r0, #0xc] + bl FUN_0202A918 + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2e + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _020430FC + mov r0, #0x49 + bl FUN_0207FCE0 + ldrb r1, [r5, #0x0] + strb r1, [r6, r0] +_020430FC: + add r0, r4, #0x0 + mov r1, #0x2f + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02043114 + mov r0, #0x4a + bl FUN_0207FCE0 + ldrb r1, [r5, #0x1] + strb r1, [r6, r0] +_02043114: + add r0, r4, #0x0 + mov r1, #0x30 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _0204312C + mov r0, #0x4b + bl FUN_0207FCE0 + ldrb r1, [r5, #0x2] + strb r1, [r6, r0] +_0204312C: + add r0, r4, #0x0 + mov r1, #0x31 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02043144 + mov r0, #0x4c + bl FUN_0207FCE0 + ldrb r1, [r5, #0x3] + strb r1, [r6, r0] +_02043144: + add r0, r4, #0x0 + mov r1, #0x32 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _0204315C + mov r0, #0x4d + bl FUN_0207FCE0 + ldrb r1, [r5, #0x4] + strb r1, [r6, r0] +_0204315C: + add r0, r4, #0x0 + mov r1, #0x33 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02043174 + mov r0, #0x4e + bl FUN_0207FCE0 + ldrb r1, [r5, #0x5] + strb r1, [r6, r0] +_02043174: + add r0, r4, #0x0 + mov r1, #0x34 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _0204318C + mov r0, #0x4f + bl FUN_0207FCE0 + ldrb r1, [r5, #0x6] + strb r1, [r6, r0] +_0204318C: + add r0, r4, #0x0 + mov r1, #0x67 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _020431A4 + mov r0, #0x19 + bl FUN_0207FCE0 + ldrb r1, [r5, #0x7] + strb r1, [r6, r0] +_020431A4: + add r0, r4, #0x0 + mov r1, #0x68 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _020431BC + mov r0, #0x1a + bl FUN_0207FCE0 + ldrb r1, [r5, #0x8] + strb r1, [r6, r0] +_020431BC: + add r0, r4, #0x0 + mov r1, #0x69 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _020431D4 + mov r0, #0x1b + bl FUN_0207FCE0 + ldrb r1, [r5, #0x9] + strb r1, [r6, r0] +_020431D4: + ldr r0, [sp, #0x10] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204322C + ldr r0, [sp, #0xc] + mov r1, #0x20 + bl FUN_020239A0 + add r5, r0, #0x0 + ldr r0, [sp, #0xc] + bl FUN_020239BC + str r0, [sp, #0x2c] + ldr r0, [sp, #0xc] + bl FUN_020239CC + str r0, [sp, #0x28] + mov r0, #0x20 + bl FUN_020669C0 + add r7, r0, #0x0 + add r0, r4, #0x0 + add r1, r7, #0x0 + bl FUN_02069B88 + add r0, r7, #0x0 + mov r1, #0x90 + add r2, r5, #0x0 + bl FUN_02067830 + add r0, r7, #0x0 + mov r1, #0x7 + add r2, sp, #0x2c + bl FUN_02067830 + add r0, r7, #0x0 + mov r1, #0x9c + add r2, sp, #0x28 + bl FUN_02067830 add r0, r5, #0x0 - bl FUN_0204647C + add r4, r7, #0x0 + bl FUN_02021A20 +_0204322C: + ldr r1, [sp, #0x8] + mov r0, #0x2 + bl FUN_02015CF8 + add r3, r0, #0x0 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r1, [sp, #0xc] + add r0, r4, #0x0 + mov r2, #0x4 + bl FUN_0208089C + add r0, r4, #0x0 + bl FUN_02066ED8 + ldr r0, [sp, #0x4] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r4, #0x0 + bl FUN_0206B900 cmp r0, #0x0 - bne _02046580 - mov r0, #0x1 - pop {r4-r6, pc} -_02046580: - mov r0, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_02046584 -FUN_02046584: ; 0x02046584 - ldr r3, _0204658C ; =FUN_0204640C - add r2, r1, #0x0 - ldr r1, _02046590 ; =FUN_0204653C - bx r3 - .balign 4 -_0204658C: .word FUN_0204640C + 1 -_02046590: .word FUN_0204653C + 1 + beq _02043266 + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + ldr r0, [r0, #0xc] + bl FUN_0202C144 +_02043266: + cmp r7, #0x0 + beq _02043270 + add r0, r7, #0x0 + bl FUN_02016A18 +_02043270: + add sp, #0x38 + pop {r3-r7, pc} - thumb_func_start FUN_02046594 -FUN_02046594: ; 0x02046594 + thumb_func_start FUN_02043274 +FUN_02043274: ; 0x02043274 push {r3-r7, lr} add r5, r0, #0x0 - add r6, r1, #0x0 - mov r0, #0xb - mov r1, #0x14 - add r7, r2, #0x0 - add r4, r3, #0x0 - bl FUN_020169D8 - str r4, [r0, #0x0] - cmp r4, #0x0 - beq _020465B0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + add r7, r0, #0x0 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x7 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] mov r1, #0x0 - str r1, [r4, #0x0] -_020465B0: - str r6, [r0, #0x4] - str r7, [r0, #0x8] - str r5, [r0, #0x10] + bl FUN_0200ABC0 + add r0, r7, #0x4 + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] + mov r1, #0x1 + bl FUN_0200ACA4 pop {r3-r7, pc} - - thumb_func_start FUN_020465B8 -FUN_020465B8: ; 0x020465B8 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x10] - bl FUN_02047964 - add r0, r4, #0x0 - bl FUN_02016A18 - pop {r4, pc} .balign 4 - thumb_func_start FUN_020465CC -FUN_020465CC: ; 0x020465CC - ldr r2, [r0, #0x0] - cmp r2, #0x0 - beq _020465D8 - ldr r1, [r0, #0x10] - ldr r1, [r1, #0x14] - str r1, [r2, #0x0] -_020465D8: - ldr r0, [r0, #0x10] - ldr r3, _020465E0 ; =FUN_020480B8 - ldr r0, [r0, #0x14] - bx r3 - .balign 4 -_020465E0: .word FUN_020480B8 + 1 + thumb_func_start FUN_020432B4 +FUN_020432B4: ; 0x020432B4 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r1, #0x0] + mov r0, #0x4 + strh r0, [r2, #0x0] + bx lr - thumb_func_start FUN_020465E4 -FUN_020465E4: ; 0x020465E4 - push {r3, lr} - mov r2, #0x2 - ldr r3, [r0, #0x0] - lsl r2, r2, #0x1e - tst r2, r3 - bne _020465F4 - bl FUN_02047F38 -_020465F4: - pop {r3, pc} + thumb_func_start FUN_020432C0 +FUN_020432C0: ; 0x020432C0 + ldr r3, _020432C4 ; =FUN_02042F6C + bx r3 .balign 4 +_020432C4: .word FUN_02042F6C + 1 - thumb_func_start FUN_020465F8 -FUN_020465F8: ; 0x020465F8 + thumb_func_start FUN_020432C8 +FUN_020432C8: ; 0x020432C8 push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x5 - bhi _020466F8 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r2, r1, #0 - lsl r2, r4, #0 - lsl r0, r6, #0 - lsl r0, r0, #0x1 - lsl r4, r6, #0x2 - lsl r0, r1, #0x3 - ldr r0, [r6, #0x34] - bl FUN_02058780 - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r0, r7, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020466F8 -_02046648: - .byte 0x38, 0x1C, 0x04, 0xF0, 0x77, 0xFC, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x50, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x93, 0xFF, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0xBB, 0xFF, 0x2A, 0x69 - .byte 0x11, 0x68, 0x00, 0x29, 0x05, 0xD0, 0x01, 0x20, 0x00, 0x02, 0x81, 0x42, 0x01, 0xD0, 0x4A, 0x29 - .byte 0x06, 0xD1, 0x4D, 0x21, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69, 0x30, 0x1C, 0x1A, 0xF0, 0xF8, 0xFC - .byte 0x28, 0x1C, 0xFF, 0xF7, 0x9B, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFF - .byte 0x01, 0x20, 0xF8, 0xBD, 0xF0, 0x68, 0xFF, 0xF7, 0x01, 0xFE, 0x18, 0xF0, 0x47, 0xFB, 0x00, 0x28 - .byte 0x04, 0xD0, 0xF0, 0x68, 0x25, 0xF0, 0x32, 0xFA, 0x3E, 0xF0, 0x42, 0xFD, 0x29, 0x69, 0x30, 0x1C - .byte 0x00, 0xF0, 0x18, 0xFE, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x80, 0xFE, 0x38, 0x1C, 0x04, 0xF0 - .byte 0x59, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x70, 0x6B, 0x12, 0xF0, 0x68, 0xF8 - .byte 0x38, 0x1C, 0x04, 0xF0, 0x93, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C - .byte 0xFF, 0xF7, 0x62, 0xFF, 0x01, 0x20, 0xF8, 0xBD -_020466F8: - mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020466FC -FUN_020466FC: ; 0x020466FC - push {r4, lr} - add r4, r0, #0x0 - add r0, r1, #0x0 - add r1, r2, #0x0 - add r2, r3, #0x0 - ldr r3, [sp, #0x8] - bl FUN_02046594 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + add r7, r0, #0x0 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x8 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 add r2, r0, #0x0 - ldr r1, _02046718 ; =FUN_020465F8 - add r0, r4, #0x0 - bl FUN_0204640C - pop {r4, pc} - .balign 4 -_02046718: .word FUN_020465F8 + 1 - - thumb_func_start FUN_0204671C -FUN_0204671C: ; 0x0204671C - push {r3, lr} - mov r2, #0xf - and r0, r2 - cmp r0, #0x6 - bhi _02046754 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r4, #0 - lsl r4, r1, #0 - lsl r6, r2, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r6, r2, #0 - lsl r4, r1, #0 - ldr r0, [r1, #0xc] + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + add r0, r7, #0x4 + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] mov r1, #0x1 - bl FUN_0202E25C - pop {r3, pc} -_0204674A: - .byte 0xC8, 0x68, 0x10, 0x3A, 0x11, 0x1C - .byte 0xE7, 0xF7, 0x84, 0xFD -_02046754: - pop {r3, pc} + bl FUN_0200AC60 + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02046758 -FUN_02046758: ; 0x02046758 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C + thumb_func_start FUN_02043308 +FUN_02043308: ; 0x02043308 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02046530 + ldr r0, [r5, #0xc] + bl FUN_0206F158 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x5 - bhi _020467F6 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r2, r1, #0 - lsl r4, r3, #0 - lsl r2, r5, #0 - lsl r2, r7, #0 - lsl r6, r4, #0x1 - lsl r6, r4, #0x1 - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r0, r6, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020467F6 -_020467A2: - .byte 0x30, 0x1C, 0x04, 0xF0, 0xCA, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0 - .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0xE6, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0 - .byte 0x28, 0x69, 0x39, 0x1C, 0x40, 0x69, 0xFF, 0xF7, 0xA9, 0xFF, 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0 - .byte 0xE9, 0xFB, 0xF8, 0x68, 0xE3, 0xF7, 0xF8, 0xFB, 0x15, 0x21, 0xE3, 0xF7, 0xC9, 0xFC, 0x30, 0x1C - .byte 0x04, 0xF0, 0xD0, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7 - .byte 0xE3, 0xFE, 0x01, 0x20, 0xF8, 0xBD -_020467F6: - mov r0, #0x0 - pop {r3-r7, pc} + add r0, r5, #0x0 + bl FUN_02042D04 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED24 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020467FC -FUN_020467FC: ; 0x020467FC - push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C + thumb_func_start FUN_02043330 +FUN_02043330: ; 0x02043330 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02046530 + ldr r0, [r5, #0xc] + bl FUN_0206F158 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02046826 - cmp r0, #0x1 - beq _02046844 - cmp r0, #0x2 - beq _0204686A - b _02046874 -_02046826: - ldr r1, [r5, #0x8] - mov r0, #0x5 + add r0, r5, #0x0 + bl FUN_02042D04 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 lsl r1, r1, #0x10 lsr r1, r1, #0x10 mov r2, #0x1 - bl FUN_0200433C - ldr r1, [r5, #0x10] - add r0, r7, #0x0 - bl FUN_02046584 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046874 -_02046844: - ldr r0, [r5, #0x10] - add r1, r6, #0x0 - ldr r0, [r0, #0x14] - bl FUN_0204671C - ldr r0, [r5, #0x10] - add r1, r6, #0x0 - bl FUN_02047FA4 - ldr r0, [r6, #0xc] - bl FUN_02029FC8 - mov r1, #0x15 - bl FUN_0202A170 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046874 -_0204686A: - add r0, r5, #0x0 - bl FUN_020465B8 - mov r0, #0x1 - pop {r3-r7, pc} -_02046874: - mov r0, #0x0 - pop {r3-r7, pc} + mov r3, #0x20 + bl FUN_0206ED38 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02046878 -FUN_02046878: ; 0x02046878 + thumb_func_start FUN_02043358 +FUN_02043358: ; 0x02043358 push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x5 - bhi _02046922 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + ldr r0, [r0, #0x0] lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r2, r1, #0 - lsl r4, r3, #0 - lsl r2, r5, #0 - lsl r2, r7, #0 - lsl r4, r4, #0x1 - lsl r2, r6, #0x1 - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r0, r6, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046922 -_020468C2: - .byte 0x30, 0x1C, 0x04, 0xF0, 0x3A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0 - .byte 0x29, 0x69, 0x30, 0x1C, 0xFF, 0xF7, 0x56, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x20, 0xE0 - .byte 0x28, 0x69, 0x39, 0x1C, 0x01, 0xF0, 0x5E, 0xFB, 0x4E, 0x21, 0x2A, 0x69, 0x89, 0x00, 0x38, 0x1C - .byte 0x51, 0x18, 0x19, 0xF0, 0xA7, 0xFB, 0x28, 0x1C, 0xFF, 0xF7, 0x68, 0xFE, 0x30, 0x1C, 0x04, 0xF0 - .byte 0x41, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x30, 0x1C, 0x04, 0xF0, 0x7E, 0xFB - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x4D, 0xFE, 0x01, 0x20 - .byte 0xF8, 0xBD -_02046922: - mov r0, #0x0 + lsr r7, r0, #0x10 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x9 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r5, #0x4] + mov r1, #0x1 + add r2, r7, #0x0 + bl FUN_0200AE38 pop {r3-r7, pc} - .balign 4 - thumb_func_start FUN_02046928 -FUN_02046928: ; 0x02046928 + thumb_func_start FUN_02043394 +FUN_02043394: ; 0x02043394 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + ldr r0, [r0, #0xc] + add r6, r2, #0x0 + bl FUN_0206F158 + ldr r0, [r5, #0x0] + bl FUN_02042D04 + ldr r0, [r0, #0x0] + mov r1, #0x0 + lsl r0, r0, #0x10 + lsr r2, r0, #0x10 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x5 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x4] + bl FUN_0200AE38 + pop {r4-r6, pc} + + thumb_func_start FUN_020433C4 +FUN_020433C4: ; 0x020433C4 + mov r0, #0x1 + bx lr + + thumb_func_start FUN_020433C8 +FUN_020433C8: ; 0x020433C8 push {r4, lr} add r4, r0, #0x0 - add r0, r1, #0x0 - add r1, r2, #0x0 - add r2, r3, #0x0 - ldr r3, [sp, #0x8] - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _02046944 ; =FUN_02046878 - add r0, r4, #0x0 - bl FUN_0204640C + bl FUN_02042D04 + add r1, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_02023BD4 pop {r4, pc} .balign 4 -_02046944: .word FUN_02046878 + 1 - thumb_func_start FUN_02046948 -FUN_02046948: ; 0x02046948 + thumb_func_start FUN_020433DC +FUN_020433DC: ; 0x020433DC push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 add r7, r0, #0x0 - add r5, r2, #0x0 - bl FUN_02046528 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02244558 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0xa + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + add r0, r7, #0x0 + mov r1, #0x20 + bl FUN_02023AF4 add r4, r0, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 + mov r1, #0x1 + str r1, [sp, #0x0] + mov r0, #0x2 + str r0, [sp, #0x4] + ldr r0, [r5, #0x4] + add r2, r4, #0x0 + mov r3, #0x0 + bl FUN_0200ABB4 add r0, r4, #0x0 - bl FUN_020475B0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - str r5, [sp, #0x0] - bl FUN_02046928 + bl FUN_02021A20 + add sp, #0x8 pop {r3-r7, pc} - .balign 4 - thumb_func_start FUN_0204697C -FUN_0204697C: ; 0x0204697C + thumb_func_start FUN_02043430 +FUN_02043430: ; 0x02043430 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r1, #0x0] + mov r0, #0x6 + strh r0, [r2, #0x0] + bx lr + + thumb_func_start FUN_0204343C +FUN_0204343C: ; 0x0204343C + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02026CC4 + bl FUN_02025DB0 + cmp r0, #0xc8 + bge _02043450 + mov r0, #0x1 + pop {r3, pc} +_02043450: + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02043454 +FUN_02043454: ; 0x02043454 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02042D04 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02026CC4 + ldr r1, [r4, #0x0] + bl FUN_02025D6C + pop {r3-r5, pc} + + thumb_func_start FUN_0204346C +FUN_0204346C: ; 0x0204346C push {r3-r7, lr} add r5, r0, #0x0 - add r6, r1, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + ldr r7, [r0, #0x0] + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] mov r0, #0xb - mov r1, #0x14 - add r7, r2, #0x0 - add r4, r3, #0x0 - bl FUN_020169D8 - str r4, [r0, #0xc] - cmp r4, #0x0 - beq _02046998 - mov r1, #0x0 - str r1, [r4, #0x0] -_02046998: - str r6, [r0, #0x4] - str r7, [r0, #0x8] - str r5, [r0, #0x10] + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] mov r1, #0x0 - str r1, [r0, #0x0] + bl FUN_0200ABC0 + ldr r0, [r5, #0x4] + mov r1, #0x1 + add r2, r7, #0x0 + bl FUN_0200B350 pop {r3-r7, pc} - thumb_func_start FUN_020469A4 -FUN_020469A4: ; 0x020469A4 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x10] - bl FUN_02047964 - add r0, r4, #0x0 - bl FUN_02016A18 - pop {r4, pc} + thumb_func_start FUN_020434A4 +FUN_020434A4: ; 0x020434A4 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r1, #0x0] + mov r0, #0x6 + strh r0, [r2, #0x0] + bx lr + + thumb_func_start FUN_020434B0 +FUN_020434B0: ; 0x020434B0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02042D04 + ldr r4, [r0, #0x4] + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _020434CA + cmp r0, #0x2 + beq _020434DA + cmp r0, #0x3 + beq _020434DE + b _020434E2 +_020434CA: + ldr r0, [r5, #0xc] + bl FUN_02029C80 + add r1, r4, #0x0 + mov r2, #0x1 + bl FUN_02029DD4 + pop {r3-r5, pc} +_020434DA: + mov r0, #0x1 + pop {r3-r5, pc} +_020434DE: + mov r0, #0x1 + pop {r3-r5, pc} +_020434E2: + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020469B8 -FUN_020469B8: ; 0x020469B8 - push {r4-r6, lr} + thumb_func_start FUN_020434E8 +FUN_020434E8: ; 0x020434E8 + push {r3-r5, lr} add r5, r0, #0x0 + bl FUN_02042D04 + ldr r4, [r0, #0x4] + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _02043502 + cmp r0, #0x2 + beq _02043512 + cmp r0, #0x3 + beq _02043526 + pop {r3-r5, pc} +_02043502: ldr r0, [r5, #0xc] - add r4, r1, #0x0 - bl FUN_020462AC - bl FUN_0205F214 - cmp r0, #0x0 - beq _020469F2 - add r0, r4, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 + bl FUN_02029C80 + add r1, r4, #0x0 + mov r2, #0x1 + bl FUN_02029D44 + pop {r3-r5, pc} +_02043512: + ldr r0, [r5, #0xc] + bl FUN_02027E24 + bl FUN_0202708C + add r1, r4, #0x0 + mov r2, #0x1 + bl FUN_020271A4 + pop {r3-r5, pc} +_02043526: + ldr r0, [r5, #0xc] + bl FUN_02027E24 + bl FUN_0202708C + add r1, r4, #0x0 + bl FUN_02027264 + pop {r3-r5, pc} + + thumb_func_start FUN_02043538 +FUN_02043538: ; 0x02043538 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + ldr r2, [r0, #0x4] + ldr r0, [r0, #0x0] + cmp r0, #0x1 + beq _02043558 + cmp r0, #0x2 + beq _02043562 + cmp r0, #0x3 + beq _0204356C + b _02043574 +_02043558: + ldr r0, [r5, #0x4] + mov r1, #0x1 + bl FUN_0200B534 + b _02043574 +_02043562: + ldr r0, [r5, #0x4] + mov r1, #0x1 + bl FUN_0200B660 + b _02043574 +_0204356C: + ldr r0, [r5, #0x4] + mov r1, #0x1 + bl FUN_0200B6D0 +_02043574: + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0xc + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 add r2, r0, #0x0 - ldr r1, _02046A18 ; =FUN_02046C1C - add r0, r5, #0x0 - bl FUN_020463CC + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 pop {r4-r6, pc} -_020469F2: + .balign 4 + + thumb_func_start FUN_02043594 +FUN_02043594: ; 0x02043594 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r1, #0x0] + mov r0, #0x6 + strh r0, [r2, #0x0] + bx lr + + thumb_func_start FUN_020435A0 +FUN_020435A0: ; 0x020435A0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02042D04 + ldr r1, _020435C0 ; =0x000001C6 add r0, r4, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED24 + pop {r3-r5, pc} + .balign 4 +_020435C0: .word 0x000001C6 + + thumb_func_start FUN_020435C4 +FUN_020435C4: ; 0x020435C4 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206F158 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02042D04 + ldr r0, [r4, #0xc] + bl FUN_020462AC + add r4, r0, #0x0 + ldr r1, _020435F4 ; =0x000001C6 + add r0, r5, #0x0 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED38 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_0204697C + mov r1, #0x0 + bl FUN_0205F478 + pop {r3-r5, pc} + .balign 4 +_020435F4: .word 0x000001C6 + + thumb_func_start FUN_020435F8 +FUN_020435F8: ; 0x020435F8 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0xe + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 add r2, r0, #0x0 - ldr r1, _02046A1C ; =FUN_02046A88 - add r0, r5, #0x0 - bl FUN_020463CC + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r5, #0x4] + ldr r2, _02043630 ; =0x000001C6 + mov r1, #0x1 + bl FUN_0200AE38 pop {r4-r6, pc} - .balign 4 -_02046A18: .word FUN_02046C1C + 1 -_02046A1C: .word FUN_02046A88 + 1 + nop +_02043630: .word 0x000001C6 - thumb_func_start FUN_02046A20 -FUN_02046A20: ; 0x02046A20 + thumb_func_start FUN_02043634 +FUN_02043634: ; 0x02043634 push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 ldr r0, [r0, #0xc] - add r5, r1, #0x0 - add r4, r2, #0x0 - bl FUN_020462AC - bl FUN_0205F214 - cmp r0, #0x0 - beq _02046A5A + add r6, r2, #0x0 + bl FUN_0206F158 + ldr r0, [r5, #0x0] + bl FUN_02042D04 + mov r2, #0x53 + lsl r2, r2, #0x2 + strh r2, [r4, #0x0] + mov r0, #0x5 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x4] + mov r1, #0x0 + add r2, #0x7a + bl FUN_0200AE38 + pop {r4-r6, pc} + + thumb_func_start FUN_02043660 +FUN_02043660: ; 0x02043660 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02042D04 + mov r1, #0x71 add r0, r4, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 + lsl r1, r1, #0x2 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED24 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02043684 +FUN_02043684: ; 0x02043684 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206F158 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02042D04 + ldr r0, [r4, #0xc] + bl FUN_020462AC + mov r1, #0x71 + add r4, r0, #0x0 + add r0, r5, #0x0 + lsl r1, r1, #0x2 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED38 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 + mov r1, #0x1 + bl FUN_0205F478 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020436B8 +FUN_020436B8: ; 0x020436B8 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0xf + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 add r2, r0, #0x0 - ldr r1, _02046A80 ; =FUN_02046C1C - add r0, r5, #0x0 - bl FUN_020463EC + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + mov r2, #0x71 + ldr r0, [r5, #0x4] + mov r1, #0x1 + lsl r2, r2, #0x2 + bl FUN_0200AE38 pop {r4-r6, pc} -_02046A5A: - add r0, r4, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 + + thumb_func_start FUN_020436F0 +FUN_020436F0: ; 0x020436F0 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + ldr r0, [r0, #0xc] + add r6, r2, #0x0 + bl FUN_0206F158 + ldr r0, [r5, #0x0] + bl FUN_02042D04 + mov r2, #0x53 + lsl r2, r2, #0x2 + strh r2, [r4, #0x0] + mov r0, #0x5 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x4] + mov r1, #0x0 + add r2, #0x78 + bl FUN_0200AE38 + pop {r4-r6, pc} + + thumb_func_start FUN_0204371C +FUN_0204371C: ; 0x0204371C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02042D04 + ldr r1, _0204373C ; =0x000001C7 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED24 + pop {r3-r5, pc} + .balign 4 +_0204373C: .word 0x000001C7 + + thumb_func_start FUN_02043740 +FUN_02043740: ; 0x02043740 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206F158 + add r5, r0, #0x0 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_0204697C - add r2, r0, #0x0 - ldr r1, _02046A84 ; =FUN_02046A88 + bl FUN_02042D04 + ldr r0, [r4, #0xc] + bl FUN_020462AC + add r4, r0, #0x0 + ldr r1, _02043770 ; =0x000001C7 add r0, r5, #0x0 - bl FUN_020463EC - pop {r4-r6, pc} + mov r2, #0x1 + mov r3, #0x20 + bl FUN_0206ED38 + add r0, r4, #0x0 + mov r1, #0x2 + bl FUN_0205F478 + pop {r3-r5, pc} .balign 4 -_02046A80: .word FUN_02046C1C + 1 -_02046A84: .word FUN_02046A88 + 1 +_02043770: .word 0x000001C7 - thumb_func_start FUN_02046A88 -FUN_02046A88: ; 0x02046A88 + thumb_func_start FUN_02043774 +FUN_02043774: ; 0x02043774 push {r4-r6, lr} - add r6, r0, #0x0 - bl FUN_02046528 add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x6 - bls _02046AA2 - b _02046C12 -_02046AA2: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r4, r1, #0 - lsl r0, r6, #0 - lsl r6, r7, #0 - lsl r6, r1, #0x1 - lsl r6, r7, #0x3 - lsl r4, r2, #0x4 - lsl r4, r0, #0x5 - ldr r0, [r5, #0x34] - bl FUN_02058780 - ldr r0, [r5, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 - ldr r1, [r4, #0x4] - ldr r2, [r4, #0x8] - add r0, r6, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046C12 -_02046AE0: - .byte 0x30, 0x1C, 0x04, 0xF0, 0x2B, 0xFA, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x91, 0xE0, 0x21, 0x69 - .byte 0x30, 0x1C, 0xFF, 0xF7, 0x47, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x89, 0xE0, 0x20, 0x69 - .byte 0x29, 0x1C, 0xFF, 0xF7, 0x6F, 0xFD, 0x4D, 0x21, 0x22, 0x69, 0x89, 0x00, 0x51, 0x58, 0x52, 0x69 - .byte 0x28, 0x1C, 0x1A, 0xF0, 0xB5, 0xFA, 0x20, 0x69, 0x40, 0x69, 0x01, 0xF0, 0xCD, 0xFA, 0x00, 0x28 - .byte 0x0D, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x3E, 0xFF, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0x08, 0xF9 - .byte 0x39, 0x49, 0x30, 0x1C, 0x00, 0x22, 0xFF, 0xF7, 0x59, 0xFC, 0x00, 0x20, 0x70, 0xBD, 0xE8, 0x68 - .byte 0xFF, 0xF7, 0xB4, 0xFB, 0x18, 0xF0, 0xFA, 0xF8, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0x24, 0xF0 - .byte 0xE5, 0xFF, 0x3E, 0xF0, 0xF5, 0xFA, 0x21, 0x69, 0x28, 0x1C, 0x00, 0xF0, 0xCB, 0xFB, 0x21, 0x69 - .byte 0x28, 0x1C, 0x00, 0xF0, 0x33, 0xFC, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xDC, 0xFA - .byte 0x00, 0x28, 0x15, 0xD0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0x93, 0xFA, 0x00, 0x28 - .byte 0x0A, 0xD0, 0x20, 0x69, 0x40, 0x69, 0x01, 0x28, 0x0A, 0xD0, 0x04, 0x28, 0x08, 0xD0, 0x90, 0x35 - .byte 0x28, 0x68, 0x17, 0xF0, 0xD5, 0xF8, 0x03, 0xE0, 0x90, 0x35, 0x28, 0x68, 0x17, 0xF0, 0xD0, 0xF8 - .byte 0x30, 0x1C, 0x04, 0xF0, 0xEF, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x21, 0x69 - .byte 0x28, 0x1C, 0x01, 0xF2, 0xB7, 0xFD, 0x30, 0x1C, 0x04, 0xF0, 0x28, 0xFA, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x26, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xAD, 0xFA, 0x00, 0x28 - .byte 0x0C, 0xD0, 0x21, 0x69, 0x2A, 0x1C, 0x90, 0x32, 0x49, 0x69, 0x12, 0x68, 0x28, 0x1C, 0x17, 0xF0 - .byte 0x79, 0xF9, 0x28, 0x1C, 0x90, 0x35, 0x29, 0x68, 0x17, 0xF0, 0xAC, 0xF9, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0x90, 0x30, 0x00, 0x68, 0x17, 0xF0, 0xCF, 0xF9, 0x00, 0x28 - .byte 0x07, 0xD0, 0x68, 0x6B, 0x11, 0xF0, 0xD4, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xCB, 0xFE, 0x01, 0x20 - .byte 0x70, 0xBD -_02046C12: - mov r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x10 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r5, #0x4] + ldr r2, _020437AC ; =0x000001C7 + mov r1, #0x1 + bl FUN_0200AE38 pop {r4-r6, pc} nop -_02046C18: - .byte 0x7D, 0x83, 0x04, 0x02 +_020437AC: .word 0x000001C7 - thumb_func_start FUN_02046C1C -FUN_02046C1C: ; 0x02046C1C - push {r4-r7, lr} - sub sp, #0xc - add r7, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C + thumb_func_start FUN_020437B0 +FUN_020437B0: ; 0x020437B0 + push {r4-r6, lr} add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02046530 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + ldr r0, [r0, #0xc] + add r6, r2, #0x0 + bl FUN_0206F158 + ldr r0, [r5, #0x0] + bl FUN_02042D04 + mov r2, #0x53 + lsl r2, r2, #0x2 + strh r2, [r4, #0x0] + mov r0, #0x5 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x4] + mov r1, #0x0 + add r2, #0x7b + bl FUN_0200AE38 + pop {r4-r6, pc} + + thumb_func_start FUN_020437DC +FUN_020437DC: ; 0x020437DC + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0204C1A8 add r4, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_02034E30 - bl FUN_02034E24 - str r0, [sp, #0x0] - ldr r0, [r4, #0x0] - cmp r0, #0x7 - bls _02046C4C - b _02046DA0 -_02046C4C: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r1, #0 - lsl r2, r6, #0 - lsl r0, r0, #0x1 - lsl r0, r2, #0x1 - lsl r4, r6, #0x2 - lsl r2, r0, #0x3 - lsl r6, r2, #0x3 - lsl r2, r7, #0x4 - ldr r0, [r6, #0x34] - bl FUN_02058780 - ldr r0, [r6, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r0, r7, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046DA0 -_02046C8C: - .byte 0x38, 0x1C, 0x04, 0xF0 - .byte 0x55, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x82, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7 - .byte 0x71, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x7A, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7 - .byte 0x99, 0xFC, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x0C, 0xD1, 0xF0, 0x68, 0xDB, 0xF7, 0x22, 0xFC - .byte 0x01, 0x90, 0x28, 0x69, 0x00, 0x21, 0x80, 0x68, 0x24, 0xF0, 0x72, 0xFE, 0x01, 0x1C, 0x01, 0x98 - .byte 0x1A, 0xF0, 0x86, 0xF9, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0x0C, 0xFB, 0x00, 0x98, 0x00, 0x88 - .byte 0x00, 0x28, 0x0C, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x08, 0xD0, 0xF0, 0x68, 0xEE, 0xF7 - .byte 0x9F, 0xF8, 0xEE, 0xF7, 0x6D, 0xF8, 0x01, 0x1C, 0x38, 0x1C, 0x02, 0xF0, 0x31, 0xFA, 0x29, 0x69 - .byte 0x30, 0x1C, 0x00, 0xF0, 0x63, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x38, 0x1C - .byte 0x04, 0xF0, 0x38, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x41, 0xE0, 0x70, 0x6B, 0x11, 0xF0 - .byte 0x47, 0xFD, 0x38, 0x1C, 0x04, 0xF0, 0x72, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0 - .byte 0x00, 0x98, 0x00, 0x88, 0x00, 0x28, 0x11, 0xD1, 0x28, 0x69, 0x40, 0x69, 0x04, 0x28, 0x06, 0xD1 - .byte 0x00, 0x22, 0x19, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xC6, 0xFF, 0x1E, 0xE0, 0x00, 0x22 - .byte 0x16, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xBF, 0xFF, 0x17, 0xE0, 0xF0, 0x68, 0xDB, 0xF7 - .byte 0xD7, 0xFB, 0x02, 0x90, 0xF0, 0x68, 0x24, 0xF0, 0xD9, 0xFE, 0x05, 0x1C, 0x02, 0x98, 0x24, 0xF0 - .byte 0xE1, 0xFA, 0x12, 0x28, 0x0A, 0xD1, 0x28, 0x1C, 0x24, 0xF0, 0x18, 0xFE, 0x06, 0x28, 0x05, 0xD1 - .byte 0x00, 0x22, 0x0B, 0x49, 0x38, 0x1C, 0x13, 0x1C, 0xF1, 0xF7, 0xA6, 0xFF, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x05, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x0F, 0xFC, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD -_02046DA0: - mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} - nop -_02046DA8: - .byte 0x62, 0x22, 0x00, 0x00, 0x69, 0x22, 0x00, 0x00 - .byte 0x76, 0x22, 0x00, 0x00 + add r0, r5, #0x0 + bl FUN_02042D04 + add r0, r4, #0x0 + bl FUN_0204BEC8 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02046DB4 -FUN_02046DB4: ; 0x02046DB4 + thumb_func_start FUN_020437F8 +FUN_020437F8: ; 0x020437F8 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0204C1A8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02042D04 + add r1, r0, #0x0 + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_0204BED8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02043818 +FUN_02043818: ; 0x02043818 push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 add r7, r0, #0x0 - add r6, r1, #0x0 - bl FUN_02046528 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x12 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r5, #0x4] + ldr r2, [r7, #0x0] + mov r1, #0x1 + bl FUN_0200B02C + pop {r3-r7, pc} + + thumb_func_start FUN_02043850 +FUN_02043850: ; 0x02043850 + push {r4-r6, lr} add r5, r0, #0x0 - add r0, #0x90 - ldr r0, [r0, #0x0] - bl FUN_0205DD40 - mov r0, #0xb + ldr r0, [r5, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02042D04 + mov r0, #0x53 + lsl r0, r0, #0x2 + strh r0, [r4, #0x0] + mov r0, #0x13 + strh r0, [r6, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r5, #0x4] mov r1, #0x0 - bl FUN_020476CC - add r1, r5, #0x0 + bl FUN_0200ABC0 + pop {r4-r6, pc} + + thumb_func_start FUN_0204387C +FUN_0204387C: ; 0x0204387C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC add r4, r0, #0x0 - bl FUN_02047BB0 - mov r0, #0x15 - mov r1, #0x0 - lsl r0, r0, #0x4 - str r1, [r4, r0] - add r0, r0, #0x4 - str r1, [r4, r0] add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0223CCDC - ldr r0, [r5, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + cmp r0, #0x0 + bne _020438B2 add r0, r4, #0x0 - bl FUN_020475A0 + bl FUN_0205F224 + add r5, #0x80 + ldr r0, [r5, #0x0] + bl FUN_0204B9EC + b _020438CA +_020438B2: + cmp r0, #0x1 + bne _020438C6 + add r0, r4, #0x0 + bl FUN_0205F234 + add r5, #0x80 + ldr r0, [r5, #0x0] + bl FUN_0204BA1C + b _020438CA +_020438C6: + bl FUN_02020C2C +_020438CA: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020438D0 +FUN_020438D0: ; 0x020438D0 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022528 + add r6, r0, #0x0 + mov r0, #0x20 + bl FUN_020669C0 add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r3, r0, #0x0 - add r0, r7, #0x0 - add r1, r4, #0x0 - add r2, r5, #0x0 - str r6, [sp, #0x0] - bl FUN_020466FC - pop {r3-r7, pc} + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0202C000 + cmp r0, #0x6 + bne _02043908 + mov r0, #0x1 + b _0204390A +_02043908: + mov r0, #0x0 +_0204390A: + strh r0, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02016A18 + mov r0, #0x0 + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_02046E18 -FUN_02046E18: ; 0x02046E18 + thumb_func_start FUN_02043918 +FUN_02043918: ; 0x02043918 push {r4-r7, lr} sub sp, #0xc + add r6, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022528 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022510 + str r0, [sp, #0x8] + mov r0, #0x20 + bl FUN_020669C0 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 str r0, [sp, #0x4] - add r7, r1, #0x0 - str r2, [sp, #0x8] - add r6, r3, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, #0x90 + add r0, r6, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_0205DD40 - mov r0, #0xb - mov r1, #0x0 - bl FUN_020476CC + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + mov r5, #0x0 +_0204395C: + add r0, r7, #0x0 add r1, r5, #0x0 - add r4, r0, #0x0 - bl FUN_02047BB0 - ldr r2, [sp, #0x8] - add r0, r5, #0x0 - add r1, r7, #0x0 - add r3, r4, #0x0 - bl FUN_0223CD7C - ldr r0, [sp, #0x20] - cmp r0, #0x0 - beq _02046E60 - mov r1, #0x63 - lsl r1, r1, #0x2 - ldr r2, [r4, r1] - mov r0, #0x8 - orr r0, r2 - str r0, [r4, r1] -_02046E60: - ldr r0, [r5, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 + add r2, r4, #0x0 + bl FUN_0202BFD8 + mov r0, #0x20 + str r0, [sp, #0x0] + ldr r1, [sp, #0x4] add r0, r4, #0x0 - bl FUN_020475A0 - add r5, r0, #0x0 + mov r2, #0x2 + mov r3, #0x0 + bl FUN_0208089C add r0, r4, #0x0 - bl FUN_020475B0 - add r3, r0, #0x0 - ldr r0, [sp, #0x4] + bl FUN_020690E4 + add r1, r0, #0x0 + ldr r0, [sp, #0x8] + bl FUN_0206B20C + cmp r0, #0x0 + bne _0204398C + bl FUN_02020C2C +_0204398C: + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] add r1, r4, #0x0 - add r2, r5, #0x0 - str r6, [sp, #0x0] - bl FUN_020466FC + ldr r0, [r0, #0xc] + bl FUN_0202C144 + add r5, r5, #0x1 + cmp r5, #0x6 + blt _0204395C + add r0, r4, #0x0 + bl FUN_02016A18 + add r0, r7, #0x0 + bl FUN_0202BEDC + mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} + .balign 4 - thumb_func_start FUN_02046E8C -FUN_02046E8C: ; 0x02046E8C + thumb_func_start FUN_020439B4 +FUN_020439B4: ; 0x020439B4 push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x6 - bhi _02046F6C - add r0, r0, r0 + cmp r6, #0x3 + bhi _02043A40 + add r0, r6, r6 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r0, r6, #0 - lsl r6, r7, #0 - lsl r6, r1, #0x1 - lsl r6, r5, #0x1 - lsl r4, r7, #0x1 - lsl r0, r2, #0x2 - ldr r0, [r6, #0x34] - bl FUN_02058780 - ldr r0, [r6, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 - ldr r1, [r5, #0x4] - ldr r2, [r5, #0x8] - add r0, r7, #0x0 - bl FUN_0204AEF8 +_020439EE: ; jump table (using 16-bit offset) + .short _020439F6 - _020439EE - 2; case 0 + .short _02043A02 - _020439EE - 2; case 1 + .short _02043A0E - _020439EE - 2; case 2 + .short _02043A1A - _020439EE - 2; case 3 +_020439F6: + add r4, #0x80 ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02046F6C -_02046EEA: - .byte 0x38, 0x1C, 0x04, 0xF0, 0x26, 0xF8 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x29, 0x69, 0x38, 0x1C, 0xFF, 0xF7, 0x42, 0xFB - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x31, 0xE0, 0x28, 0x69, 0x31, 0x1C, 0xFF, 0xF7, 0x6A, 0xFB - .byte 0x29, 0x69, 0x30, 0x1C, 0x04, 0xF0, 0xC4, 0xFD, 0x29, 0x69, 0x30, 0x1C, 0x00, 0xF0, 0xEA, 0xF9 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0x38, 0x1C, 0x04, 0xF0, 0x2B, 0xF8, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x1A, 0xE0, 0x70, 0x6B, 0x11, 0xF0, 0x3A, 0xFC, 0x38, 0x1C, 0x04, 0xF0 - .byte 0x65, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0x34, 0xFB - .byte 0x30, 0x1C, 0x04, 0xF0, 0xAD, 0xFD, 0x00, 0x28, 0x06, 0xD1, 0x38, 0x1C, 0x03, 0x21, 0x00, 0x22 - .byte 0xF1, 0xF7, 0xD6, 0xFE, 0x00, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD -_02046F6C: + bl FUN_0204BAC4 + strh r0, [r5, #0x0] + b _02043A40 +_02043A02: + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_0204BAD4 + strh r0, [r5, #0x0] + b _02043A40 +_02043A0E: + add r4, #0x80 + ldr r0, [r4, #0x0] + bl FUN_0204BAE4 + strh r0, [r5, #0x0] + b _02043A40 +_02043A1A: + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_0204BAD4 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_0204BAC4 + add r4, #0x80 + add r7, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_0204BAE4 + add r0, r7, r0 + add r0, r6, r0 + strh r0, [r5, #0x0] +_02043A40: mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start FUN_02046F70 -FUN_02046F70: ; 0x02046F70 - push {r4-r6, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 + thumb_func_start FUN_02043A44 +FUN_02043A44: ; 0x02043A44 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475A0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _02046F9C ; =FUN_02046E8C + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 - bl FUN_020463CC - pop {r4-r6, pc} + mov r1, #0x26 + bl FUN_02039438 + lsl r1, r6, #0x18 + lsl r2, r7, #0x18 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + bl FUN_021E2950 + str r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02043A94 +FUN_02043A94: ; 0x02043A94 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x26 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_021E29B4 + mov r0, #0x0 + pop {r3, pc} .balign 4 -_02046F9C: .word FUN_02046E8C + 1 - thumb_func_start FUN_02046FA0 -FUN_02046FA0: ; 0x02046FA0 - push {r3-r7, lr} - sub sp, #0x8 - str r0, [sp, #0x4] - add r6, r1, #0x0 - add r7, r2, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02043AAC +FUN_02043AAC: ; 0x02043AAC + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x26 + bl FUN_02039438 + add r1, r0, #0x0 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + bl FUN_021E29C8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02043ACC +FUN_02043ACC: ; 0x02043ACC + push {r3-r5, lr} add r5, r0, #0x0 - mov r0, #0xb - mov r1, #0x0 - bl FUN_020476CC + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202390C add r4, r0, #0x0 - add r1, r5, #0x0 - bl FUN_02047BB0 add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r7, #0x0 - add r3, r4, #0x0 - bl FUN_0223CD7C - mov r0, #0x63 - mov r1, #0x1 - lsl r0, r0, #0x2 - str r1, [r4, r0] - ldr r0, [r5, #0xc] - bl FUN_02029FC8 - mov r1, #0x7 - bl FUN_0202A0E8 - add r0, r4, #0x0 - bl FUN_020475A0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r3, r0, #0x0 + bl FUN_02028930 + strh r0, [r5, #0x0] mov r0, #0x0 - str r0, [sp, #0x0] - ldr r0, [sp, #0x4] - add r1, r4, #0x0 - add r2, r5, #0x0 - bl FUN_020466FC - add sp, #0x8 - pop {r3-r7, pc} + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02047004 -FUN_02047004: ; 0x02047004 - push {r3-r7, lr} + thumb_func_start FUN_02043AFC +FUN_02043AFC: ; 0x02043AFC + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202390C add r5, r0, #0x0 - bl FUN_0204652C - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02046530 + bl FUN_02028934 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02043B28 +FUN_02043B28: ; 0x02043B28 + push {r3-r5, lr} add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202390C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - cmp r0, #0x6 - bhi _020470A6 - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r4, r1, #0 - lsl r4, r4, #0 - lsl r2, r6, #0 - lsl r2, r0, #0x1 - lsl r0, r1, #0x1 - lsl r6, r2, #0x1 - lsl r2, r5, #0x1 - ldr r0, [r7, #0x34] - bl FUN_02058780 - ldr r1, [r6, #0x4] - ldr r2, [r6, #0x8] + bl FUN_020394F0 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204AEF8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020470A6 -_02047056: - .byte 0x28, 0x1C, 0x03, 0xF0, 0x70, 0xFF, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x20, 0xE0, 0x31, 0x69, 0x28, 0x1C, 0xFF, 0xF7, 0x8C, 0xFA, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x18, 0xE0, 0x40, 0x1C, 0x20, 0x60, 0x15, 0xE0, 0x28, 0x1C, 0x03, 0xF0, 0x82, 0xFF - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x78, 0x6B, 0x11, 0xF0, 0x91, 0xFB, 0x28, 0x1C - .byte 0x03, 0xF0, 0xBC, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xFF, 0xF7 - .byte 0x8B, 0xFA, 0x01, 0x20, 0xF8, 0xBD -_020470A6: + bl FUN_0202896C mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_020470AC -FUN_020470AC: ; 0x020470AC - push {r4-r6, lr} + thumb_func_start FUN_02043B54 +FUN_02043B54: ; 0x02043B54 + push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02046528 - add r1, r0, #0x0 - mov r0, #0xb - bl FUN_02047814 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202390C add r4, r0, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _020470E4 ; =FUN_02047004 add r0, r5, #0x0 - bl FUN_0204640C - pop {r4-r6, pc} - nop -_020470E4: .word FUN_02047004 + 1 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r1, r0, #0x0 + ldrh r1, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_0202896C + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020470E8 -FUN_020470E8: ; 0x020470E8 - push {r4-r7, lr} - sub sp, #0xc - str r0, [sp, #0x4] - add r6, r1, #0x0 - add r5, r2, #0x0 - str r3, [sp, #0x8] - bl FUN_02046528 - add r7, r0, #0x0 - cmp r5, #0x0 - beq _02047110 - cmp r6, r5 - beq _02047110 - ldr r0, [sp, #0x8] - cmp r0, #0x0 - bne _0204710C - mov r4, #0x13 - b _0204711A -_0204710C: - mov r4, #0x4b - b _0204711A -_02047110: - cmp r6, r5 - bne _02047118 - mov r4, #0x3 - b _0204711A -_02047118: - mov r4, #0x1 -_0204711A: - add r0, r7, #0x0 - add r0, #0x90 - ldr r0, [r0, #0x0] - bl FUN_0205DD40 - mov r0, #0xb - add r1, r4, #0x0 - bl FUN_020476CC + thumb_func_start FUN_02043B84 +FUN_02043B84: ; 0x02043B84 + push {r4-r6, lr} add r4, r0, #0x0 - add r1, r7, #0x0 - bl FUN_02047BB0 - str r6, [r4, #0x1c] - ldr r0, [sp, #0x8] - str r5, [r4, #0x24] - str r0, [r4, #0x20] - ldr r1, [r7, #0xc] - ldr r2, [sp, #0x20] + add r0, #0x80 + ldr r5, [r0, #0x0] + add r0, r5, #0x0 + bl FUN_020377AC + bl FUN_020238F4 + ldr r0, [r5, #0xc] + bl FUN_0202390C + add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_0206ABC4 - ldr r0, [r7, #0xc] - bl FUN_02029FC8 - mov r1, #0x8 - bl FUN_0202A0E8 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475A0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r3, r0, #0x0 - ldr r0, [sp, #0x24] - add r1, r4, #0x0 - str r0, [sp, #0x0] - ldr r0, [sp, #0x4] - add r2, r5, #0x0 - bl FUN_020466FC - add sp, #0xc - pop {r4-r7, pc} + bl FUN_02038C48 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl FUN_02028930 + cmp r0, r4 + bhs _02043BC8 + mov r0, #0x0 + b _02043BCA +_02043BC8: + mov r0, #0x1 +_02043BCA: + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} - thumb_func_start FUN_02047174 -FUN_02047174: ; 0x02047174 - push {r3-r7, lr} - add r5, r2, #0x0 - add r7, r0, #0x0 - add r4, r1, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - mov r0, #0xb - add r1, r5, #0x0 - bl FUN_020476CC + thumb_func_start FUN_02043BD0 +FUN_02043BD0: ; 0x02043BD0 + push {r4-r6, lr} add r5, r0, #0x0 - add r1, r6, #0x0 - add r2, r4, #0x0 - bl FUN_02047F1C + add r0, #0x80 + ldr r4, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_020377AC + bl FUN_020238F4 + ldr r0, [r4, #0xc] + bl FUN_0202390C + add r6, r0, #0x0 add r0, r5, #0x0 - bl FUN_020475A0 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - add r1, r4, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _020471BC ; =FUN_02046758 - add r0, r7, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} - nop -_020471BC: .word FUN_02046758 + 1 - - thumb_func_start FUN_020471C0 -FUN_020471C0: ; 0x020471C0 - push {r3-r7, lr} - str r0, [sp, #0x0] - add r5, r1, #0x0 - add r6, r2, #0x0 - add r4, r3, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - cmp r4, #0x0 - beq _020471DE - mov r0, #0xb - mov r1, #0x5 - bl FUN_020476CC - b _020471E6 -_020471DE: - mov r0, #0xb - mov r1, #0x7 - bl FUN_020476CC -_020471E6: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - add r0, r4, #0x0 - add r1, r7, #0x0 - add r2, r6, #0x0 - bl FUN_02047BC0 - add r0, r4, #0x0 - bl FUN_020475A0 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 - add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r0, [sp, #0x0] - ldr r1, _0204721C ; =FUN_020467FC - str r5, [r2, #0xc] - bl FUN_0204640C - pop {r3-r7, pc} - nop -_0204721C: .word FUN_020467FC + 1 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + ldrh r5, [r0, #0x0] + add r0, r6, #0x0 + bl FUN_02028930 + cmp r0, r5 + bhs _02043C1E + mov r0, #0x0 + b _02043C20 +_02043C1E: + mov r0, #0x1 +_02043C20: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_02047220 -FUN_02047220: ; 0x02047220 - push {r3-r7, lr} + thumb_func_start FUN_02043C28 +FUN_02043C28: ; 0x02043C28 + push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02046528 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0202390C add r6, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204652C - add r7, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02046530 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02047246 - cmp r0, #0x1 - beq _02047258 - b _02047262 -_02047246: - ldr r1, _02047268 ; =FUN_02046758 add r0, r5, #0x0 - add r2, r7, #0x0 - bl FUN_0204640C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02047262 -_02047258: + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 add r0, r6, #0x0 - bl FUN_0204FF5C - mov r0, #0x1 - pop {r3-r7, pc} -_02047262: + bl FUN_02028954 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3-r7, pc} - nop -_02047268: .word FUN_02046758 + 1 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0204726C -FUN_0204726C: ; 0x0204726C - push {r4-r6, lr} + thumb_func_start FUN_02043C6C +FUN_02043C6C: ; 0x02043C6C + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 add r5, r0, #0x0 - add r6, r1, #0x0 - mov r0, #0xb - add r1, r2, #0x0 - bl FUN_020476CC + add r0, r4, #0x0 + bl FUN_02038C48 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02023A30 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02043C90 +FUN_02043C90: ; 0x02043C90 + push {r3-r5, lr} add r4, r0, #0x0 - add r1, r5, #0x0 - add r2, r6, #0x0 - bl FUN_02047F1C + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475A0 + bl FUN_02038C48 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02023A54 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02043CB4 +FUN_02043CB4: ; 0x02043CB4 + push {r3-r5, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02023A54 + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02043CE4 +FUN_02043CE4: ; 0x02043CE4 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _020472AC ; =FUN_02047220 - add r0, r5, #0x0 - bl FUN_020463CC + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C48 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl FUN_02023A10 + cmp r0, r4 + bhs _02043D20 + mov r0, #0x0 + b _02043D22 +_02043D20: + mov r0, #0x1 +_02043D22: + strh r0, [r5, #0x0] + mov r0, #0x0 pop {r4-r6, pc} - nop -_020472AC: .word FUN_02047220 + 1 - thumb_func_start FUN_020472B0 -FUN_020472B0: ; 0x020472B0 + thumb_func_start FUN_02043D28 +FUN_02043D28: ; 0x02043D28 push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r5, r0, #0x0 - add r6, r1, #0x0 - mov r0, #0xb - add r1, r2, #0x0 - bl FUN_020476CC + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 - add r1, r5, #0x0 - add r2, r6, #0x0 - mov r3, #0x0 - bl FUN_02047D48 + add r0, r6, #0x0 + bl FUN_02023A10 + cmp r0, r4 + bhs _02043D6E + mov r0, #0x0 + b _02043D70 +_02043D6E: + mov r0, #0x1 +_02043D70: + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02043D78 +FUN_02043D78: ; 0x02043D78 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475A0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_020475B0 - add r2, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r1, r6, #0x0 - mov r3, #0x0 - bl FUN_02046594 - add r2, r0, #0x0 - ldr r1, _020472F0 ; =FUN_02047220 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 - bl FUN_020463CC - pop {r4-r6, pc} + mov r1, #0x27 + bl FUN_02039438 + lsl r1, r6, #0x18 + lsl r2, r7, #0x18 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + lsr r1, r1, #0x18 + lsr r2, r2, #0x18 + bl FUN_021E27E8 + str r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02043DC8 +FUN_02043DC8: ; 0x02043DC8 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x27 + bl FUN_02039438 + ldr r0, [r0, #0x0] + bl FUN_021E288C + mov r0, #0x0 + pop {r3, pc} .balign 4 -_020472F0: .word FUN_02047220 + 1 - thumb_func_start FUN_020472F4 -FUN_020472F4: ; 0x020472F4 - push {r3-r5, lr} + thumb_func_start FUN_02043DE0 +FUN_02043DE0: ; 0x02043DE0 + push {r4, lr} add r4, r0, #0x0 - ldr r0, [r1, #0x0] - mov r3, #0x4 - ldr r2, [r1, #0x14] - tst r3, r0 - bne _020473C8 - mov r3, #0x80 - add r5, r0, #0x0 - tst r5, r3 - bne _020473C8 - cmp r0, #0x0 - beq _02047318 - add r3, #0x80 - cmp r0, r3 - beq _02047318 - cmp r0, #0x4a - bne _02047364 -_02047318: - cmp r2, #0x1 - bne _0204732A - ldr r0, [r4, #0xc] - bl FUN_02029FC8 - mov r1, #0x8 - bl FUN_0202A170 - pop {r3-r5, pc} -_0204732A: - cmp r2, #0x4 - bne _020473C8 - ldr r0, [r1, #0x8] - mov r1, #0x0 - bl FUN_0206B9B0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x27 + bl FUN_02039438 add r1, r0, #0x0 + add r4, #0x80 + ldr r0, [r4, #0x0] + ldr r1, [r1, #0x0] + bl FUN_021E28A0 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02043E00 +FUN_02043E00: ; 0x02043E00 + push {r3-r5, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + ldr r5, [r0, #0xc] + bl FUN_02039438 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02023D58 + ldr r1, [r4, #0x0] + bl FUN_021ED4E0 mov r0, #0x0 - bl FUN_0206BB48 - cmp r0, #0x0 - ldr r0, [r4, #0xc] - beq _02047358 - bl FUN_02029FC8 - mov r1, #0x9 - bl FUN_0202A170 - pop {r3-r5, pc} -_02047358: - bl FUN_02029FC8 - mov r1, #0xa - bl FUN_0202A170 - pop {r3-r5, pc} -_02047364: - mov r3, #0x1 - tst r3, r0 - bne _02047370 - mov r3, #0x10 - tst r3, r0 - beq _02047382 -_02047370: - cmp r2, #0x1 - bne _020473C8 - ldr r0, [r4, #0xc] - bl FUN_02029FC8 - mov r1, #0xb - bl FUN_0202A170 pop {r3-r5, pc} -_02047382: - mov r3, #0x20 + + thumb_func_start FUN_02043E20 +FUN_02043E20: ; 0x02043E20 + push {r3-r5, lr} add r5, r0, #0x0 - tst r5, r3 - bne _02047390 - lsl r3, r3, #0x4 - tst r0, r3 - beq _020473C8 -_02047390: - cmp r2, #0x4 - bne _020473C8 - ldr r0, [r1, #0x8] - mov r1, #0x0 - bl FUN_0206B9B0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02022610 + bl FUN_021ED5EC + strh r0, [r5, #0x0] mov r0, #0x0 - bl FUN_0206BB48 - cmp r0, #0x0 - ldr r0, [r4, #0xc] - beq _020473BE - bl FUN_02029FC8 - mov r1, #0x9 - bl FUN_0202A170 - pop {r3-r5, pc} -_020473BE: - bl FUN_02029FC8 - mov r1, #0xa - bl FUN_0202A170 -_020473C8: pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_020473CC -FUN_020473CC: ; 0x020473CC - push {r4-r7, lr} - sub sp, #0xc - add r4, r1, #0x0 + thumb_func_start FUN_02043E50 +FUN_02043E50: ; 0x02043E50 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x8 + ldr r0, [r0, #0xc] + bl FUN_02022610 + bl FUN_021ECD64 + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02043E68 +FUN_02043E68: ; 0x02043E68 + push {r4-r6, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0x8 + ldr r0, [r5, #0xc] + bl FUN_02022610 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r4, #0x80 add r5, r0, #0x0 ldr r0, [r4, #0x0] - mov r2, #0x4 - ldr r1, [r4, #0x14] - tst r2, r0 - bne _020473EC - mov r3, #0x80 + bl FUN_020377AC + bl FUN_020238F4 add r2, r0, #0x0 - tst r2, r3 - bne _020473EC - lsl r2, r3, #0x2 - tst r2, r0 - beq _020473EE -_020473EC: - b _020474FC -_020473EE: - cmp r0, #0x0 - beq _02047400 - add r3, #0x80 - cmp r0, r3 - beq _02047400 - cmp r0, #0x4a - beq _02047400 - cmp r0, #0x20 - bne _020474D2 -_02047400: - cmp r1, #0x1 - bne _02047470 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_021ED0CC + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_02043E9C +FUN_02043E9C: ; 0x02043E9C + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0xf add r0, r5, #0x0 - add r0, #0x76 - ldrh r0, [r0, #0x0] - add r1, r0, #0x1 + bl FUN_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + ldr r6, [r5, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x8 + bl FUN_02022610 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + lsl r3, r4, #0x18 + ldr r1, [r7, #0x0] + add r2, r6, #0x0 + lsr r3, r3, #0x18 + bl FUN_021EC71C + ldr r1, [sp, #0x0] + strh r0, [r1, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02043EFC +FUN_02043EFC: ; 0x02043EFC + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0xf add r0, r5, #0x0 - add r0, #0x76 - strh r1, [r0, #0x0] + bl FUN_02039438 + add r7, r0, #0x0 + add r0, r4, #0x0 + ldr r5, [r5, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - add r0, #0x76 - ldrh r0, [r0, #0x0] - cmp r0, #0x5 - blo _020474FC - ldr r0, [r4, #0x8] - mov r1, #0x0 - bl FUN_0206B9B0 + mov r1, #0x8 + bl FUN_02022610 + lsl r1, r4, #0x18 + ldr r2, [r7, #0x0] + lsr r1, r1, #0x18 + bl FUN_021EC854 + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02043F50 +FUN_02043F50: ; 0x02043F50 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + ldr r4, [r0, #0xc] + bl FUN_02039438 add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02023918 - str r0, [sp, #0x4] - add r0, r6, #0x0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r7, r0, #0x0 - add r0, r6, #0x0 - mov r1, #0x6f - mov r2, #0x0 - bl FUN_020671BC - add r2, r0, #0x0 - mov r3, #0xb - str r3, [sp, #0x0] - lsl r3, r3, #0x5 - ldr r3, [r4, r3] - lsl r1, r7, #0x10 - lsl r2, r2, #0x18 - lsl r3, r3, #0x18 - ldr r0, [sp, #0x4] - lsr r1, r1, #0x10 - lsr r2, r2, #0x18 - lsr r3, r3, #0x18 - bl FUN_0202920C - add r5, #0x98 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 ldr r0, [r5, #0x0] - mov r2, #0x2 - bl FUN_02028AD4 - add sp, #0xc - pop {r4-r7, pc} -_02047470: - cmp r1, #0x4 - bne _020474FC - mov r0, #0x17 - lsl r0, r0, #0x4 - ldr r0, [r4, r0] - mov r1, #0x0 - lsl r0, r0, #0x2 - add r0, r4, r0 - ldr r0, [r0, #0x4] - bl FUN_0206B9B0 + bl FUN_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02022610 + ldr r2, [r6, #0x0] + add r1, r5, #0x0 + bl FUN_021EC864 + strh r0, [r7, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02043FA0 +FUN_02043FA0: ; 0x02043FA0 + push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + mov r1, #0xf + add r0, r5, #0x0 + bl FUN_02039438 add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02023918 - str r0, [sp, #0x8] - add r0, r6, #0x0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC + add r0, r4, #0x0 + bl FUN_02038C30 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r7, r0, #0x0 - add r0, r6, #0x0 - mov r1, #0x6f - mov r2, #0x0 - bl FUN_020671BC + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + ldr r2, [r6, #0x0] + add r1, r7, #0x0 + bl FUN_021ED5C4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02043FF4 +FUN_02043FF4: ; 0x02043FF4 + push {r4-r6, lr} + add r6, r0, #0x0 + add r1, r6, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + ldr r5, [r4, #0xc] + bl FUN_02038C30 + add r6, #0x80 + add r1, r0, #0x0 + ldr r0, [r6, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8 + bl FUN_02022610 + lsl r1, r6, #0x18 add r2, r0, #0x0 - mov r3, #0xb - str r3, [sp, #0x0] - lsl r3, r3, #0x5 - ldr r3, [r4, r3] - lsl r1, r7, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + add r3, r5, #0x0 + bl FUN_021EC57C + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02044034 +FUN_02044034: ; 0x02044034 + push {r3-r7, lr} + sub sp, #0x10 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0xf + ldr r5, [r0, #0xc] + bl FUN_02039438 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + str r0, [sp, #0xc] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02023D58 + lsl r1, r4, #0x18 + lsr r1, r1, #0x18 + str r1, [sp, #0x0] + ldr r1, [r6, #0x0] + ldr r2, [sp, #0x8] + ldr r3, [sp, #0xc] + str r1, [sp, #0x4] + lsl r1, r7, #0x18 lsl r2, r2, #0x18 lsl r3, r3, #0x18 - ldr r0, [sp, #0x8] - lsr r1, r1, #0x10 + lsr r1, r1, #0x18 lsr r2, r2, #0x18 lsr r3, r3, #0x18 - bl FUN_0202918C - add r5, #0x98 - add r1, r0, #0x0 - ldr r0, [r5, #0x0] - mov r2, #0x2 - bl FUN_02028AD4 - add sp, #0xc - pop {r4-r7, pc} -_020474D2: - mov r2, #0x1 - tst r2, r0 - bne _020474DE - mov r2, #0x10 - tst r0, r2 - beq _020474FC -_020474DE: - cmp r1, #0x1 - bne _020474FC - ldr r1, [r5, #0x1c] - add r0, r5, #0x0 - ldr r1, [r1, #0x0] - ldr r2, [r4, #0x1c] - add r0, #0x98 - lsl r1, r1, #0x10 - lsl r2, r2, #0x10 - ldr r0, [r0, #0x0] - lsr r1, r1, #0x10 - lsr r2, r2, #0x10 - mov r3, #0xb - bl FUN_020299DC -_020474FC: - add sp, #0xc - pop {r4-r7, pc} + bl FUN_021ED52C + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} - thumb_func_start FUN_02047500 -FUN_02047500: ; 0x02047500 - push {r4, lr} - ldr r4, [r0, #0x0] - mov r1, #0x1 - tst r1, r4 - beq _02047546 - add r0, #0x5d - ldrb r0, [r0, #0x0] - bl FUN_020475C0 - mov r1, #0x80 - tst r1, r4 - beq _0204752A - cmp r0, #0x1c - beq _02047558 - mov r0, #0x2 - tst r0, r4 - beq _02047526 - mov r0, #0x1a - pop {r4, pc} -_02047526: - mov r0, #0x18 - pop {r4, pc} -_0204752A: + thumb_func_start FUN_020440C0 +FUN_020440C0: ; 0x020440C0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - sub r1, #0x15 - cmp r1, #0x2 - bls _02047558 - mov r1, #0x2 - tst r1, r4 - beq _0204753C - mov r0, #0x1a - pop {r4, pc} -_0204753C: - mov r1, #0x4 - tst r1, r4 - beq _02047558 - mov r0, #0x19 - pop {r4, pc} -_02047546: - ldr r0, [r0, #0x8] - bl FUN_02047668 - cmp r0, #0x1e - blo _02047558 - mov r1, #0x2 - tst r1, r4 - beq _02047558 - mov r0, #0x1b -_02047558: - pop {r4, pc} + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x8 + bl FUN_02022610 + bl FUN_021ED644 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_0204755C -FUN_0204755C: ; 0x0204755C + thumb_func_start FUN_020440F0 +FUN_020440F0: ; 0x020440F0 push {r3-r5, lr} add r5, r0, #0x0 - add r4, r1, #0x0 - cmp r5, #0x1f - blo _0204756A - bl FUN_02020C2C -_0204756A: - ldr r0, _02047580 ; =0x020F457C - lsl r1, r5, #0x2 - ldrh r0, [r0, r1] - ldr r1, _02047584 ; =0x0000FFFF - cmp r0, r1 - bne _0204757C + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_021E495C -_0204757C: + mov r1, #0x8 + bl FUN_02022610 + bl FUN_02023C90 + strh r0, [r5, #0x0] + mov r0, #0x0 pop {r3-r5, pc} - nop -_02047580: .word 0x020F457C -_02047584: .word 0x0000FFFF - - thumb_func_start FUN_02047588 -FUN_02047588: ; 0x02047588 - push {r4, lr} - add r4, r0, #0x0 - cmp r4, #0x1f - blo _02047594 - bl FUN_02020C2C -_02047594: - ldr r0, _0204759C ; =0x020F457E - lsl r1, r4, #0x2 - ldrh r0, [r0, r1] - pop {r4, pc} .balign 4 -_0204759C: .word 0x020F457E - thumb_func_start FUN_020475A0 -FUN_020475A0: ; 0x020475A0 + thumb_func_start FUN_02044120 +FUN_02044120: ; 0x02044120 push {r4, lr} add r4, r0, #0x0 - bl FUN_02047500 - add r1, r4, #0x0 - bl FUN_0204755C + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 pop {r4, pc} + .balign 4 - thumb_func_start FUN_020475B0 -FUN_020475B0: ; 0x020475B0 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_02047500 - add r1, r4, #0x0 - bl FUN_02047588 - pop {r4, pc} + thumb_func_start FUN_02044138 +FUN_02044138: ; 0x02044138 + mov r0, #0x0 + bx lr - thumb_func_start FUN_020475C0 -FUN_020475C0: ; 0x020475C0 - sub r0, #0x3e - mov r1, #0x1d - cmp r0, #0x23 - bhi _02047662 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0x1 - lsl r2, r7, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r2, r5, #0x1 - lsl r6, r5, #0x1 - lsl r2, r6, #0x1 - lsl r6, r6, #0x1 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r2, r0, #0x2 - lsl r6, r0, #0x2 - lsl r2, r1, #0x1 - lsl r6, r1, #0x1 - lsl r2, r2, #0x1 - lsl r6, r2, #0x1 - lsl r2, r3, #0x1 - lsl r2, r4, #0x1 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r6, r7, #0x1 - lsl r2, r0, #0x2 - lsl r2, r0, #0x2 - lsl r6, r0, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r4, r1, #0x2 - lsl r2, r1, #0x2 - mov r1, #0x0 - b _02047662 -_02047620: - .byte 0x01, 0x21, 0x1E, 0xE0, 0x02, 0x21, 0x1C, 0xE0, 0x03, 0x21, 0x1A, 0xE0, 0x04, 0x21, 0x18, 0xE0 - .byte 0x05, 0x21, 0x16, 0xE0, 0x06, 0x21, 0x14, 0xE0, 0x07, 0x21, 0x12, 0xE0, 0x08, 0x21, 0x10, 0xE0 - .byte 0x09, 0x21, 0x0E, 0xE0, 0x0A, 0x21, 0x0C, 0xE0, 0x0B, 0x21, 0x0A, 0xE0, 0x0C, 0x21, 0x08, 0xE0 - .byte 0x0D, 0x21, 0x06, 0xE0, 0x17, 0x21, 0x04, 0xE0, 0x16, 0x21, 0x02, 0xE0, 0x15, 0x21, 0x00, 0xE0 - .byte 0x1C, 0x21 -_02047662: - add r0, r1, #0x0 + thumb_func_start FUN_0204413C +FUN_0204413C: ; 0x0204413C + mov r0, #0x0 bx lr - .balign 4 - thumb_func_start FUN_02047668 -FUN_02047668: ; 0x02047668 + thumb_func_start FUN_02044140 +FUN_02044140: ; 0x02044140 push {r4, lr} - mov r4, #0x1e - bl FUN_0204A1D8 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020671BC - ldr r1, _020476C8 ; =0x000001DF - sub r0, r0, r1 - cmp r0, #0xe - bhi _020476C4 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r4, r4, #0 - lsl r4, r5, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 - lsl r0, r6, #0 - lsl r0, r6, #0 - lsl r4, r4, #0 - lsl r4, r4, #0 - lsl r4, r4, #0 - lsl r0, r4, #0 - lsl r6, r6, #0 - lsl r6, r6, #0 - lsl r4, r4, #0 - lsl r4, r3, #0 - lsl r4, r6, #0 - mov r4, #0xe - b _020476C4 -_020476AE: - .byte 0x14, 0x24 - .byte 0x08, 0xE0, 0x13, 0x24, 0x06, 0xE0, 0x11, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x0F, 0x24 - .byte 0x00, 0xE0, 0x12, 0x24 -_020476C4: - add r0, r4, #0x0 + add r4, r0, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 pop {r4, pc} .balign 4 -_020476C8: .word 0x000001DF - thumb_func_start FUN_020476CC -FUN_020476CC: ; 0x020476CC - push {r3-r7, lr} - add r4, r1, #0x0 - mov r1, #0x67 - lsl r1, r1, #0x2 - add r5, r0, #0x0 - bl FUN_02016998 - mov r2, #0x67 - mov r1, #0x0 - lsl r2, r2, #0x2 - add r7, r0, #0x0 - blx FUN_020CE34C - mov r1, #0x63 - str r4, [r7, #0x0] - mov r0, #0x0 - lsl r1, r1, #0x2 - str r0, [r7, r1] - add r4, r7, #0x0 - str r0, [sp, #0x0] - str r0, [r7, #0x14] - add r6, r7, #0x0 - add r4, #0x28 -_020476FA: + thumb_func_start FUN_02044158 +FUN_02044158: ; 0x02044158 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F54C mov r0, #0x0 - add r1, r4, #0x0 - mov r2, #0x34 - str r0, [r6, #0x18] - blx FUN_020CE1FC - ldr r0, [sp, #0x0] - add r6, r6, #0x4 - add r0, r0, #0x1 - add r4, #0x34 - str r0, [sp, #0x0] - cmp r0, #0x4 - blt _020476FA - mov r0, #0x15 - lsl r0, r0, #0x4 - mov r6, #0x0 - str r6, [r7, r0] - mov r2, #0xc - add r1, r0, #0x4 - str r2, [r7, r1] - add r1, r0, #0x0 - add r1, #0x8 - str r6, [r7, r1] - add r1, r0, #0x0 - add r1, #0x10 - str r6, [r7, r1] - add r1, r0, #0x0 - add r1, #0x14 - str r6, [r7, r1] - add r1, r0, #0x0 - mov r2, #0x1 - add r1, #0x18 - str r2, [r7, r1] + pop {r3, pc} + + thumb_func_start FUN_0204416C +FUN_0204416C: ; 0x0204416C + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 add r1, r0, #0x0 - add r1, #0x1c - str r2, [r7, r1] - add r0, #0x24 - str r6, [r7, r0] - add r4, r7, #0x0 -_02047748: - add r0, r5, #0x0 - bl FUN_0206B8AC - str r0, [r4, #0x4] - add r6, r6, #0x1 - add r4, r4, #0x4 - cmp r6, #0x4 - blt _02047748 - mov r6, #0x0 - add r4, r7, #0x0 -_0204775C: - add r0, r5, #0x0 - bl FUN_02023928 - add r1, r4, #0x0 - add r1, #0xf8 - add r6, r6, #0x1 - add r4, r4, #0x4 - str r0, [r1, #0x0] - cmp r6, #0x4 - blt _0204775C - mov r6, #0x0 - add r4, r7, #0x0 -_02047774: - add r0, r5, #0x0 - bl FUN_02029EE4 - mov r1, #0x46 - lsl r1, r1, #0x2 - str r0, [r4, r1] - add r6, r6, #0x1 - add r4, r4, #0x4 - cmp r6, #0x4 - blt _02047774 - add r0, r5, #0x0 - bl FUN_0206EB88 - mov r1, #0x42 - lsl r1, r1, #0x2 - str r0, [r7, r1] - add r0, r5, #0x0 - bl FUN_02023D6C - mov r1, #0x11 - lsl r1, r1, #0x4 - str r0, [r7, r1] - add r0, r5, #0x0 - bl FUN_02024F30 - mov r1, #0x13 - lsl r1, r1, #0x4 - str r0, [r7, r1] add r0, r5, #0x0 - bl FUN_02061008 - mov r2, #0x4d - lsl r2, r2, #0x2 - str r0, [r7, r2] - add r0, r2, #0x0 - mov r1, #0x0 - sub r0, #0x28 - str r1, [r7, r0] - add r0, r2, #0x0 - add r0, #0x5c - str r1, [r7, r0] - add r0, r2, #0x0 - sub r0, #0x8 - str r1, [r7, r0] - add r0, r2, #0x0 - add r0, #0x10 - str r1, [r7, r0] - add r0, r2, #0x0 - add r0, #0x14 - str r1, [r7, r0] - add r0, r2, #0x0 - add r0, #0x60 - str r1, [r7, r0] - add r0, r2, #0x4 - add r0, r7, r0 - mov r2, #0xc - blx FUN_020CE34C - add r0, r7, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_020477EC -FUN_020477EC: ; 0x020477EC - push {r4, lr} - add r4, r1, #0x0 - mov r1, #0x20 - bl FUN_020476CC - mov r1, #0x19 - lsl r1, r1, #0x4 - str r4, [r0, r1] - pop {r4, pc} + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F55C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 - thumb_func_start FUN_02047800 -FUN_02047800: ; 0x02047800 - push {r4, lr} - add r4, r1, #0x0 - mov r1, #0x2 - lsl r1, r1, #0x8 - bl FUN_020476CC - mov r1, #0x19 - lsl r1, r1, #0x4 - str r4, [r0, r1] - pop {r4, pc} - - thumb_func_start FUN_02047814 -FUN_02047814: ; 0x02047814 - push {r4-r7, lr} - sub sp, #0x1c - add r5, r1, #0x0 - add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - str r0, [sp, #0x10] - ldr r0, [r5, #0xc] - bl FUN_02023900 - mov r1, #0x1 - str r0, [sp, #0x14] - add r0, r6, #0x0 - lsl r1, r1, #0xa - bl FUN_020476CC + thumb_func_start FUN_02044198 +FUN_02044198: ; 0x02044198 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - ldr r2, _0204795C ; =0x000001F1 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + bl FUN_0201B9EC + mov r1, #0x64 + blx FUN_020EBC80 + lsl r0, r1, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0xf + bhs _020441D6 + mov r0, #0x0 + b _02044218 +_020441D6: + cmp r0, #0x1e + bhs _020441DE mov r0, #0x1 - mov r1, #0x1a - add r3, r6, #0x0 - bl FUN_0200A86C - str r0, [sp, #0x18] + b _02044218 +_020441DE: + cmp r0, #0x2d + bhs _020441E6 + mov r0, #0x2 + b _02044218 +_020441E6: + cmp r0, #0x3c + bhs _020441EE + mov r0, #0x3 + b _02044218 +_020441EE: + cmp r0, #0x46 + bhs _020441F6 + mov r0, #0x4 + b _02044218 +_020441F6: + cmp r0, #0x50 + bhs _020441FE + mov r0, #0x5 + b _02044218 +_020441FE: + cmp r0, #0x58 + bhs _02044206 + mov r0, #0x6 + b _02044218 +_02044206: + cmp r0, #0x5d + bhs _0204420E + mov r0, #0x7 + b _02044218 +_0204420E: + cmp r0, #0x62 + bhs _02044216 mov r0, #0x8 - add r1, r6, #0x0 - bl FUN_020219F4 - add r7, r0, #0x0 - ldr r0, [sp, #0x10] - bl FUN_020239CC - add r2, r0, #0x0 - mov r1, #0x1 - eor r1, r2 - ldr r0, [sp, #0x18] - add r2, r7, #0x0 - bl FUN_0200A8E0 - add r0, r7, #0x0 - bl FUN_02021F2C + b _02044218 +_02044216: + mov r0, #0x9 +_02044218: + ldr r2, _020442B4 ; =0x0000011D + cmp r5, r2 + bgt _02044244 + bge _02044290 + cmp r5, #0x27 + bgt _02044236 + cmp r5, #0x23 + blt _02044230 + beq _02044284 + cmp r5, #0x27 + beq _02044290 + b _0204429C +_02044230: + cmp r5, #0x19 + beq _02044294 + b _0204429C +_02044236: + cmp r5, #0x36 + bgt _0204423E + beq _0204428C + b _0204429C +_0204423E: + cmp r5, #0xff + beq _02044288 + b _0204429C +_02044244: + add r1, r2, #0x0 + add r1, #0x8c + cmp r5, r1 + bgt _0204426C + add r1, r2, #0x0 + add r1, #0x8c + cmp r5, r1 + bge _02044288 + add r1, r2, #0x0 + add r1, #0xf + cmp r5, r1 + bgt _02044264 + add r2, #0xf + cmp r5, r2 + beq _02044284 + b _0204429C +_02044264: + add r2, #0x84 + cmp r5, r2 + beq _0204428C + b _0204429C +_0204426C: + add r1, r2, #0x0 + add r1, #0x8e + cmp r5, r1 + bgt _0204427C + add r2, #0x8e + cmp r5, r2 + beq _02044298 + b _0204429C +_0204427C: + add r2, #0x9b + cmp r5, r2 + beq _02044298 + b _0204429C +_02044284: + mov r2, #0x0 + b _0204429E +_02044288: + mov r2, #0x1 + b _0204429E +_0204428C: + mov r2, #0x2 + b _0204429E +_02044290: + mov r2, #0x3 + b _0204429E +_02044294: + mov r2, #0x4 + b _0204429E +_02044298: + mov r2, #0x5 + b _0204429E +_0204429C: + mov r2, #0x0 +_0204429E: + add r3, r2, #0x0 + mov r1, #0x14 + mul r3, r1 + ldr r2, _020442B8 ; =0x020F4494 + lsl r1, r0, #0x1 + add r0, r2, r3 + ldrh r0, [r1, r0] + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + nop +_020442B4: .word 0x0000011D +_020442B8: .word 0x020F4494 + + thumb_func_start FUN_020442BC +FUN_020442BC: ; 0x020442BC + push {r4-r7, lr} + sub sp, #0x14 + add r4, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034824 + add r6, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0xf8 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_0202395C - add r0, r7, #0x0 - bl FUN_02021A20 - ldr r0, [sp, #0x18] - bl FUN_0200A8B8 - ldr r0, [sp, #0x10] - bl FUN_020239CC - add r2, r0, #0x0 + bl FUN_020394F0 + str r0, [sp, #0xc] add r0, r4, #0x0 - add r0, #0xf8 - mov r1, #0x1 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - eor r1, r2 - bl FUN_020239C8 + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r4, #0x0 - add r1, r5, #0x0 - bl FUN_0204806C - mov r1, #0x13 - lsl r1, r1, #0x4 - ldr r0, [sp, #0x14] - ldr r1, [r4, r1] - bl FUN_02024F44 - add r0, r5, #0x0 - bl FUN_0204B2A4 - mov r1, #0x16 - lsl r1, r1, #0x4 - str r0, [r4, r1] - sub r1, #0x58 - ldr r0, [r4, r1] - mov r1, #0x4 - mov r2, #0x14 - add r3, r6, #0x0 - bl FUN_0206ED38 - add r0, r6, #0x0 - bl FUN_020669C0 - add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020462AC - bl FUN_0205F3C0 - mov r2, #0x0 - str r2, [sp, #0x0] + bl FUN_02038C30 add r1, r0, #0x0 - str r2, [sp, #0x4] - mov r0, #0x2 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x10] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + ldr r0, [sp, #0x10] + lsl r3, r7, #0x18 + str r0, [sp, #0x0] + str r6, [sp, #0x4] + mov r0, #0xc str r0, [sp, #0x8] - str r2, [sp, #0xc] - add r0, r6, #0x0 - mov r2, #0x5 - mov r3, #0x20 - bl FUN_02066ACC - ldr r0, [r4, #0x4] - add r1, r6, #0x0 - bl FUN_0206B900 + ldr r1, [r5, #0xc] + ldr r2, [sp, #0xc] + mov r0, #0xb + lsr r3, r3, #0x18 + bl FUN_0204A048 + strh r0, [r4, #0x0] mov r0, #0x0 - str r0, [sp, #0x0] - str r0, [sp, #0x4] - mov r2, #0x2 - str r2, [sp, #0x8] - str r0, [sp, #0xc] - ldr r1, _02047960 ; =0x0000018F - add r0, r6, #0x0 - mov r3, #0x20 - bl FUN_02066ACC - ldr r0, [r4, #0x8] - add r1, r6, #0x0 - bl FUN_0206B900 - add r0, r6, #0x0 - bl FUN_02016A18 - ldr r0, [r5, #0xc] - bl FUN_02022510 - mov r1, #0x45 - lsl r1, r1, #0x2 - str r0, [r4, r1] - add r0, r5, #0x0 - add r0, #0x94 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_0204434C +FUN_0204434C: ; 0x0204434C + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - sub r1, #0x8 - str r0, [r4, r1] + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 ldr r0, [r5, #0xc] - bl FUN_02029FC8 - mov r1, #0x51 - lsl r1, r1, #0x2 - str r0, [r4, r1] + bl FUN_0206BB1C + ldrh r1, [r6, #0x0] + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r5, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _020443A0 add r0, r5, #0x0 - add r0, #0x98 - ldr r2, [r0, #0x0] - add r0, r1, #0x4 - str r2, [r4, r0] - ldr r0, [r5, #0x1c] - add r1, #0x18 - ldr r0, [r0, #0x0] - str r0, [r4, r1] - add r0, r4, #0x0 - bl FUN_020480E4 - add r0, r4, #0x0 - add sp, #0x1c - pop {r4-r7, pc} - .balign 4 -_0204795C: .word 0x000001F1 -_02047960: .word 0x0000018F + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + b _020443A2 +_020443A0: + mov r0, #0x0 +_020443A2: + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} - thumb_func_start FUN_02047964 -FUN_02047964: ; 0x02047964 + thumb_func_start FUN_020443A8 +FUN_020443A8: ; 0x020443A8 push {r3-r7, lr} + add r4, r0, #0x0 + add r0, #0x80 + ldr r5, [r0, #0x0] + add r0, r5, #0x0 + bl FUN_020377AC + bl FUN_020238F4 add r7, r0, #0x0 - mov r4, #0x0 - add r5, r7, #0x0 -_0204796C: - ldr r0, [r5, #0x4] - cmp r0, #0x0 - bne _02047976 - bl FUN_02020C2C -_02047976: - ldr r0, [r5, #0x4] - bl FUN_02016A18 - add r4, r4, #0x1 - add r5, r5, #0x4 - cmp r4, #0x4 - blt _0204796C - mov r5, #0x0 - add r4, r7, #0x0 -_02047988: add r0, r4, #0x0 - add r0, #0xf8 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _02047996 - bl FUN_02020C2C -_02047996: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0xf8 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02016A18 - add r5, r5, #0x1 - add r4, r4, #0x4 - cmp r5, #0x4 - blt _02047988 - mov r6, #0x46 - mov r5, #0x0 - add r4, r7, #0x0 - lsl r6, r6, #0x2 -_020479B0: - ldr r0, [r4, r6] - cmp r0, #0x0 - bne _020479BA - bl FUN_02020C2C -_020479BA: - mov r0, #0x46 - lsl r0, r0, #0x2 - ldr r0, [r4, r0] - bl FUN_02016A18 - add r5, r5, #0x1 - add r4, r4, #0x4 - cmp r5, #0x4 - blt _020479B0 - mov r0, #0x42 - lsl r0, r0, #0x2 - ldr r0, [r7, r0] - bl FUN_02016A18 - mov r0, #0x11 - lsl r0, r0, #0x4 - ldr r0, [r7, r0] - bl FUN_02016A18 - mov r0, #0x13 - lsl r0, r0, #0x4 - ldr r0, [r7, r0] - bl FUN_02016A18 - mov r0, #0x4d - lsl r0, r0, #0x2 - ldr r0, [r7, r0] - bl FUN_02061020 + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + ldrh r1, [r6, #0x0] + bl FUN_0206B9B0 + mov r1, #0x7 + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 add r0, r7, #0x0 - bl FUN_02016A18 + bl FUN_020239BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r5, r0 + bne _0204440C + mov r0, #0x0 + b _0204440E +_0204440C: + mov r0, #0x1 +_0204440E: + strh r0, [r4, #0x0] + mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start FUN_020479FC -FUN_020479FC: ; 0x020479FC - push {r4-r6, lr} - add r4, r2, #0x0 - add r5, r0, #0x0 - add r6, r1, #0x0 - cmp r4, #0x4 - blt _02047A0C - bl FUN_02020C2C -_02047A0C: - lsl r0, r4, #0x2 - add r0, r5, r0 - ldr r0, [r0, #0x4] - add r1, r6, #0x0 - bl FUN_0206B900 - cmp r0, #0x0 - bne _02047A20 - bl FUN_02020C2C -_02047A20: - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_02047A24 -FUN_02047A24: ; 0x02047A24 - push {r4-r6, lr} - add r4, r2, #0x0 - add r5, r0, #0x0 - add r6, r1, #0x0 - cmp r4, #0x4 - blt _02047A34 - bl FUN_02020C2C -_02047A34: - lsl r1, r4, #0x2 - add r1, r5, r1 - ldr r1, [r1, #0x4] - add r0, r6, #0x0 - bl FUN_0206BAD0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_02047A44 -FUN_02047A44: ; 0x02047A44 - push {r4-r6, lr} - add r4, r2, #0x0 - add r5, r0, #0x0 - add r6, r1, #0x0 - cmp r4, #0x4 - blt _02047A54 - bl FUN_02020C2C -_02047A54: - lsl r1, r4, #0x2 - add r1, r5, r1 - add r1, #0xf8 - ldr r1, [r1, #0x0] - add r0, r6, #0x0 - bl FUN_0202393C - pop {r4-r6, pc} - - thumb_func_start FUN_02047A64 -FUN_02047A64: ; 0x02047A64 - lsl r2, r2, #0x2 - add r2, r0, r2 - mov r0, #0x46 - lsl r0, r0, #0x2 - ldr r3, _02047A74 ; =FUN_02029F9C - ldr r0, [r2, r0] - bx r3 - nop -_02047A74: .word FUN_02029F9C + 1 - - thumb_func_start FUN_02047A78 -FUN_02047A78: ; 0x02047A78 + thumb_func_start FUN_02044414 +FUN_02044414: ; 0x02044414 push {r4-r7, lr} - sub sp, #0x14 - add r4, r1, #0x0 + sub sp, #0xc add r5, r0, #0x0 + add r0, #0x80 + ldr r4, [r0, #0x0] ldr r0, [r4, #0xc] bl FUN_020238F4 - add r6, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206BB1C add r7, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_0206F158 - str r0, [sp, #0x0] - ldr r0, [r4, #0xc] - bl FUN_02024DA0 - str r0, [sp, #0x4] - ldr r0, [r4, #0xc] - bl FUN_02029EF8 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 str r0, [sp, #0x8] - ldr r0, [r4, #0xc] - bl FUN_02023900 - str r0, [sp, #0xc] - ldr r0, [r4, #0xc] - bl FUN_02034E30 - str r0, [sp, #0x10] add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r6, r0, #0x0 + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x6 + bhs _02044494 + mov r0, #0xb + bl FUN_020669C0 + add r4, r0, #0x0 + bl FUN_02066978 + mov r0, #0x1 + add r1, r5, #0x0 + bl FUN_02015CF8 + mov r1, #0x3 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + ldr r1, [sp, #0x8] + add r0, r4, #0x0 + mov r2, #0x1 + add r3, r7, #0x0 + bl FUN_021ECF14 + add r0, r6, #0x0 add r1, r4, #0x0 - bl FUN_0204806C + bl FUN_0206B900 + add r0, r4, #0x0 + bl FUN_02016A18 +_02044494: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_0204449C +FUN_0204449C: ; 0x0204449C + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - add r1, r6, #0x0 - mov r2, #0x0 - bl FUN_02047A44 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - add r1, r7, #0x0 - mov r2, #0x0 - bl FUN_02047A24 - mov r1, #0x42 - lsl r1, r1, #0x2 - ldr r0, [sp, #0x0] - ldr r1, [r5, r1] - bl FUN_0206EBB4 - mov r1, #0x11 - lsl r1, r1, #0x4 - ldr r0, [sp, #0x4] - ldr r1, [r5, r1] - bl FUN_02023D80 - mov r1, #0x13 - lsl r1, r1, #0x4 - ldr r0, [sp, #0xc] - ldr r1, [r5, r1] - bl FUN_02024F44 - ldr r1, [sp, #0x8] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - mov r2, #0x0 - bl FUN_02047A64 - ldr r0, [r4, #0xc] - bl FUN_02022510 - mov r1, #0x45 - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0x1c] + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02034824 - mov r1, #0x56 - lsl r1, r1, #0x2 - str r0, [r5, r1] - add r0, r4, #0x0 - bl FUN_0204B2A4 - mov r1, #0x16 - lsl r1, r1, #0x4 - str r0, [r5, r1] - ldr r0, [r4, #0x1c] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02034A04 - mov r1, #0x59 - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0xc] - bl FUN_02079C70 - mov r1, #0x5a - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0xc] - bl FUN_020462AC - bl FUN_0205F1B4 - mov r1, #0x5b - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [sp, #0x10] - bl FUN_02034DEC - mov r1, #0x5d - lsl r1, r1, #0x2 - str r0, [r5, r1] + bl FUN_020394F0 + add r5, #0x80 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r4, #0x0 + add r2, r6, #0x0 + add r3, r7, #0x0 + bl FUN_0204A120 + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_020444F4 +FUN_020444F4: ; 0x020444F4 + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0x94 + add r0, #0x80 ldr r0, [r0, #0x0] - sub r1, #0x68 - str r0, [r5, r1] - ldr r0, [r4, #0xc] - bl FUN_0204C1A8 - mov r1, #0x4a - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0xc] - bl FUN_02029AFC - mov r1, #0x4b - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0xc] - bl FUN_02029FC8 - mov r1, #0x51 - lsl r1, r1, #0x2 - str r0, [r5, r1] + bl FUN_020394B8 + add r6, r0, #0x0 add r0, r4, #0x0 - add r0, #0x98 - ldr r2, [r0, #0x0] - add r0, r1, #0x4 - str r2, [r5, r0] - ldr r0, [r4, #0xc] - bl FUN_020254C0 - mov r1, #0x53 - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [r4, #0x1c] - add r1, #0x10 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - str r0, [r5, r1] - add sp, #0x14 - pop {r4-r7, pc} - .balign 4 - - thumb_func_start FUN_02047BB0 -FUN_02047BB0: ; 0x02047BB0 - push {r4, lr} + bl FUN_020394F0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 - bl FUN_02047A78 + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r4, #0x0 + bl FUN_0206B9B0 + mov r2, #0x0 + mov r1, #0x4c + add r4, r0, #0x0 + strh r2, [r6, #0x0] + bl FUN_020671BC + cmp r0, #0x0 + beq _02044556 + mov r0, #0x0 + pop {r3-r7, pc} +_02044556: add r0, r4, #0x0 - bl FUN_020480E4 - pop {r4, pc} + mov r1, #0x36 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204458E + add r0, r4, #0x0 + mov r1, #0x37 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204458E + add r0, r4, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204458E + add r0, r4, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + bne _02044592 +_0204458E: + mov r0, #0x1 + strh r0, [r6, #0x0] +_02044592: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02047BC0 -FUN_02047BC0: ; 0x02047BC0 - push {r4-r7, lr} - sub sp, #0x1c - add r6, r0, #0x0 - add r0, r1, #0x0 - ldr r0, [r0, #0xc] - str r1, [sp, #0x0] - add r7, r2, #0x0 - bl FUN_020238F4 + thumb_func_start FUN_02044598 +FUN_02044598: ; 0x02044598 + push {r3-r7, lr} + sub sp, #0x8 add r4, r0, #0x0 - ldr r0, [sp, #0x0] + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + str r1, [sp, #0x4] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] bl FUN_0206BB1C - str r0, [sp, #0x14] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206F158 - str r0, [sp, #0x10] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 - str r0, [sp, #0xc] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029EF8 - str r0, [sp, #0x8] + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + ldr r1, _02044650 ; =0x00000006 ldr r0, [sp, #0x0] + ldr r6, _02044654 ; =0x00000000 + strh r1, [r0, #0x0] + beq _02044648 +_020445E4: + ldr r0, [sp, #0x4] ldr r0, [r0, #0xc] - bl FUN_02023900 - str r0, [sp, #0x4] - mov r0, #0x15 - mov r1, #0x6 - lsl r0, r0, #0x4 - str r1, [r6, r0] - mov r1, #0x9 - add r0, r0, #0x4 - str r1, [r6, r0] - add r0, r6, #0x0 - add r1, r4, #0x0 + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c mov r2, #0x0 - bl FUN_02047A44 - mov r0, #0xb - bl FUN_020669C0 - add r5, r0, #0x0 - ldr r0, [sp, #0x14] - bl FUN_0206B9AC - add r1, r0, #0x0 - ldr r0, [r6, #0x4] - bl FUN_0206B8CC - ldr r0, [sp, #0x14] - mov r4, #0x0 - bl FUN_0206B9AC + add r4, r0, #0x0 + bl FUN_020671BC cmp r0, #0x0 - ble _02047C98 -_02047C40: - ldr r0, [sp, #0x14] - add r1, r4, #0x0 - bl FUN_0206B9B0 - add r1, r5, #0x0 - bl FUN_02069B88 - add r0, r5, #0x0 - mov r1, #0xa0 + bne _0204463E + add r0, r4, #0x0 + mov r1, #0x36 mov r2, #0x0 bl FUN_020671BC - cmp r7, r0 - beq _02047C82 - cmp r7, #0x0 - beq _02047C82 - add r0, r5, #0x0 - mov r1, #0x5 + cmp r5, r0 + beq _02044638 + add r0, r4, #0x0 + mov r1, #0x37 mov r2, #0x0 bl FUN_020671BC - add r1, r7, #0x0 - bl FUN_02068758 - str r0, [sp, #0x18] + cmp r5, r0 + beq _02044638 + add r0, r4, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _02044638 + add r0, r4, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + bne _0204463E +_02044638: + ldr r0, [sp, #0x0] + strh r6, [r0, #0x0] + b _02044648 +_0204463E: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, r7 + blo _020445E4 +_02044648: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} + nop +_02044650: .word 0x00000006 +_02044654: .word 0x00000000 + + thumb_func_start FUN_02044658 +FUN_02044658: ; 0x02044658 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x8 - add r2, sp, #0x18 - bl FUN_02067830 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02066ED8 -_02047C82: - add r0, r6, #0x0 - add r1, r5, #0x0 - mov r2, #0x0 - bl FUN_020479FC - ldr r0, [sp, #0x14] - add r4, r4, #0x1 - bl FUN_0206B9AC - cmp r4, r0 - blt _02047C40 -_02047C98: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02016A18 - mov r1, #0x42 - lsl r1, r1, #0x2 - ldr r0, [sp, #0x10] - ldr r1, [r6, r1] - bl FUN_0206EBB4 - mov r1, #0x11 - lsl r1, r1, #0x4 - ldr r0, [sp, #0xc] - ldr r1, [r6, r1] - bl FUN_02023D80 - mov r1, #0x13 - lsl r1, r1, #0x4 - ldr r0, [sp, #0x4] - ldr r1, [r6, r1] - bl FUN_02024F44 - ldr r1, [sp, #0x8] - add r0, r6, #0x0 - mov r2, #0x0 - bl FUN_02047A64 - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02022510 - mov r1, #0x45 - lsl r1, r1, #0x2 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - bl FUN_0204B2A4 - mov r1, #0x16 - lsl r1, r1, #0x4 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - sub r1, #0x54 - add r0, #0x94 + add r0, #0x80 ldr r0, [r0, #0x0] - str r0, [r6, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0204C1A8 - mov r1, #0x4a - lsl r1, r1, #0x2 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029AFC - mov r1, #0x4b - lsl r1, r1, #0x2 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - mov r1, #0x51 - lsl r1, r1, #0x2 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - add r0, #0x98 - ldr r2, [r0, #0x0] - add r0, r1, #0x4 - str r2, [r6, r0] - ldr r0, [sp, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] ldr r0, [r0, #0xc] - bl FUN_020254C0 - mov r1, #0x53 - lsl r1, r1, #0x2 - str r0, [r6, r1] - ldr r0, [sp, #0x0] - add r1, #0x10 - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0x0] - str r0, [r6, r1] - add r0, r6, #0x0 - bl FUN_020480E4 - add sp, #0x1c - pop {r4-r7, pc} - .balign 4 + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + bl FUN_0204A32C + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} - thumb_func_start FUN_02047D48 -FUN_02047D48: ; 0x02047D48 + thumb_func_start FUN_0204469C +FUN_0204469C: ; 0x0204469C push {r4-r7, lr} - sub sp, #0x24 - add r5, r0, #0x0 - add r0, r1, #0x0 - ldr r0, [r0, #0xc] - str r1, [sp, #0x0] - str r2, [sp, #0x4] - add r7, r3, #0x0 - bl FUN_020238F4 - str r0, [sp, #0x20] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_0206F158 - str r0, [sp, #0x1c] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02024DA0 - str r0, [sp, #0x18] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029EF8 - str r0, [sp, #0x14] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02023900 - str r0, [sp, #0x10] - ldr r0, [sp, #0x0] - mov r1, #0x6 - add r0, #0xac + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - mov r2, #0x0 - str r0, [sp, #0xc] - mov r0, #0x15 - lsl r0, r0, #0x4 - str r1, [r5, r0] - mov r1, #0x9 - add r0, r0, #0x4 - str r1, [r5, r0] - ldr r1, [sp, #0x20] - add r0, r5, #0x0 - bl FUN_02047A44 - cmp r7, #0x0 - bne _02047DB6 - ldr r1, [sp, #0x4] - add r0, r5, #0x0 - mov r2, #0x0 - bl FUN_02047A24 - b _02047E14 -_02047DB6: + bl FUN_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] mov r4, #0x0 + ldr r0, [sp, #0x4] + add r5, r4, #0x0 + strh r4, [r0, #0x0] + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bls _02044726 +_020446EA: + ldr r0, [r7, #0xc] + bl FUN_0206BB1C add r1, r4, #0x0 -_02047DBA: - ldrb r0, [r7, r1] + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl FUN_020671BC cmp r0, #0x0 - beq _02047DC2 - add r4, r4, #0x1 -_02047DC2: - add r1, r1, #0x1 - cmp r1, #0x6 - blt _02047DBA - cmp r4, #0x0 - bne _02047DD8 - ldr r1, [sp, #0x4] - add r0, r5, #0x0 + bne _0204471A + add r0, r6, #0x0 + mov r1, #0xa0 mov r2, #0x0 - bl FUN_02047A24 - b _02047E14 -_02047DD8: - mov r0, #0xb - bl FUN_020669C0 - str r0, [sp, #0x8] - ldr r0, [r5, #0x4] - add r1, r4, #0x0 - bl FUN_0206B8CC - mov r6, #0x0 - cmp r4, #0x0 - ble _02047E0E -_02047DEE: - ldrb r1, [r7, r6] + bl FUN_020671BC + ldr r1, [sp, #0x0] + cmp r0, r1 + bhi _0204471A + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 +_0204471A: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + ldr r0, [sp, #0x8] + cmp r4, r0 + blo _020446EA +_02044726: ldr r0, [sp, #0x4] - sub r1, r1, #0x1 - bl FUN_0206B9B0 - ldr r1, [sp, #0x8] - bl FUN_02069B88 - ldr r1, [sp, #0x8] + strh r5, [r0, #0x0] + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start FUN_02044730 +FUN_02044730: ; 0x02044730 + push {r4-r6, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 mov r2, #0x0 - bl FUN_020479FC - add r6, r6, #0x1 - cmp r6, r4 - blt _02047DEE -_02047E0E: - ldr r0, [sp, #0x8] - bl FUN_02016A18 -_02047E14: - ldr r0, [sp, #0xc] - cmp r0, #0x0 - beq _02047E2C - mov r1, #0xc - bl FUN_02023B0C + mov r1, #0x4c + add r5, r0, #0x0 + strh r2, [r4, #0x0] + bl FUN_020671BC cmp r0, #0x0 - beq _02047E2C - mov r0, #0x65 - mov r1, #0x1 - lsl r0, r0, #0x2 - str r1, [r5, r0] -_02047E2C: - mov r1, #0x42 - lsl r1, r1, #0x2 - ldr r0, [sp, #0x1c] - ldr r1, [r5, r1] - bl FUN_0206EBB4 - mov r1, #0x11 - lsl r1, r1, #0x4 - ldr r0, [sp, #0x18] - ldr r1, [r5, r1] - bl FUN_02023D80 - mov r1, #0x13 - lsl r1, r1, #0x4 - ldr r0, [sp, #0x10] - ldr r1, [r5, r1] - bl FUN_02024F44 - ldr r1, [sp, #0x14] + bne _02044786 add r0, r5, #0x0 + mov r1, #0xa0 mov r2, #0x0 - bl FUN_02047A64 - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02022510 - mov r1, #0x45 - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [sp, #0x0] - bl FUN_0204B2A4 - mov r1, #0x16 - lsl r1, r1, #0x4 - str r0, [r5, r1] - ldr r0, [sp, #0x0] - sub r1, #0x54 - add r0, #0x94 - ldr r0, [r0, #0x0] - str r0, [r5, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029AFC - mov r1, #0x4b - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - mov r1, #0x51 - lsl r1, r1, #0x2 - str r0, [r5, r1] - ldr r0, [sp, #0x0] - add r0, #0x98 - ldr r2, [r0, #0x0] - add r0, r1, #0x4 - str r2, [r5, r0] - ldr r0, [sp, #0x0] - add r1, #0x18 - ldr r0, [r0, #0x1c] + bl FUN_020671BC + strh r0, [r4, #0x0] +_02044786: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204478C +FUN_0204478C: ; 0x0204478C + push {r4-r6, lr} + add r6, r0, #0x0 + add r1, r6, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - str r0, [r5, r1] - ldr r0, [sp, #0x0] - ldr r0, [r0, #0xc] - bl FUN_020254C0 - mov r1, #0x53 - lsl r1, r1, #0x2 - str r0, [r5, r1] - bl FUN_02033534 - bl FUN_0202D8B0 + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl FUN_02038C30 + add r6, #0x80 + add r1, r0, #0x0 + ldr r0, [r6, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r6, r0 + blt _020447D2 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020447D2: + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r5, r0, #0x0 + bl FUN_020671BC cmp r0, #0x0 - beq _02047F10 - ldr r0, [sp, #0x20] - bl FUN_02023A28 + beq _020447F2 + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_020447F2: + add r0, r5, #0x0 + bl FUN_02068854 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02044800 +FUN_02044800: ; 0x02044800 + push {r3-r7, lr} + sub sp, #0x8 add r4, r0, #0x0 - ldr r0, [sp, #0x20] - bl FUN_020239CC add r1, r4, #0x0 - mov r2, #0x1 - bl FUN_020536D0 - add r1, r5, #0x0 - add r1, #0x29 - strb r0, [r1, #0x0] - add r0, r5, #0x0 - add r0, #0xf8 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_0202398C + bl FUN_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - add r0, r5, #0x0 - add r0, #0x3c - bl FUN_02002248 - add r3, r5, #0x0 - add r3, #0x28 - add r5, #0x90 - mov r2, #0x6 -_02047F00: - ldmia r3!, {r0-r1} - stmia r5!, {r0-r1} - sub r2, r2, #0x1 - bne _02047F00 - ldr r0, [r3, #0x0] - add sp, #0x24 - str r0, [r5, #0x0] - pop {r4-r7, pc} -_02047F10: - add r0, r5, #0x0 - bl FUN_020480E4 - add sp, #0x24 - pop {r4-r7, pc} + ldr r0, [r4, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r1, _02044884 ; =0x000000FF + ldr r0, [sp, #0x4] + ldr r5, _02044888 ; =0x00000000 + strh r1, [r0, #0x0] + beq _0204487E +_02044848: + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02044874 + add r0, r4, #0x0 + bl FUN_02068854 + ldr r1, [sp, #0x0] + cmp r1, r0 + bne _02044874 + ldr r0, [sp, #0x4] + strh r5, [r0, #0x0] + b _0204487E +_02044874: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _02044848 +_0204487E: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r7, pc} .balign 4 +_02044884: .word 0x000000FF +_02044888: .word 0x00000000 - thumb_func_start FUN_02047F1C -FUN_02047F1C: ; 0x02047F1C + thumb_func_start FUN_0204488C +FUN_0204488C: ; 0x0204488C push {r4-r6, lr} - add r4, r1, #0x0 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 add r5, r0, #0x0 ldr r0, [r4, #0xc] - add r6, r2, #0x0 bl FUN_0206BB1C - add r2, r0, #0x0 - add r0, r5, #0x0 - add r1, r4, #0x0 - add r3, r6, #0x0 - bl FUN_02047D48 + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_02047F38 -FUN_02047F38: ; 0x02047F38 + thumb_func_start FUN_020448D4 +FUN_020448D4: ; 0x020448D4 push {r3-r7, lr} sub sp, #0x8 - add r5, r1, #0x0 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r7, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0206F158 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 str r0, [sp, #0x0] - ldr r0, [r5, #0xc] - bl FUN_02024DA0 - str r0, [sp, #0x4] - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034E24 - add r5, r0, #0x0 - add r0, r4, #0x0 - add r0, #0xf8 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - add r1, r6, #0x0 - bl FUN_0202393C - ldr r0, [r4, #0x4] - add r1, r7, #0x0 - bl FUN_0206BAD0 - mov r0, #0x42 - lsl r0, r0, #0x2 - ldr r0, [r4, r0] + bl FUN_02034824 + add r7, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C ldr r1, [sp, #0x0] - bl FUN_0206EBB4 - mov r0, #0x11 - lsl r0, r0, #0x4 - ldr r0, [r4, r0] - ldr r1, [sp, #0x4] - bl FUN_02023D80 - mov r0, #0x19 - lsl r0, r0, #0x4 - ldr r0, [r4, r0] - strh r0, [r5, #0x0] + bl FUN_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + add r5, r0, #0x0 + bl FUN_020671BC + add r1, sp, #0x4 + strh r0, [r1, #0x0] + cmp r4, #0x0 + beq _02044982 + add r0, r5, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + mov r1, #0x1 + mov r2, #0xb + bl FUN_0206E7B8 + cmp r0, #0x34 + bne _0204495A + mov r0, #0x96 + mul r0, r4 + mov r1, #0x64 + blx FUN_020EBC80 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_0204495A: + add r0, r5, #0x0 + mov r1, #0x9a + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0xb + bne _0204496E + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_0204496E: + add r0, r5, #0x0 + mov r1, #0x97 + mov r2, #0x0 + bl FUN_020671BC + cmp r7, r0 + bne _02044982 + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 +_02044982: + add r0, sp, #0x4 + ldrh r1, [r0, #0x0] + add r1, r1, r4 + strh r1, [r0, #0x0] + ldrh r1, [r0, #0x0] + cmp r1, #0xff + bls _02044994 + mov r1, #0xff + strh r1, [r0, #0x0] +_02044994: + add r0, r5, #0x0 + mov r1, #0x9 + add r2, sp, #0x4 + bl FUN_02067830 + mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} - thumb_func_start FUN_02047FA4 -FUN_02047FA4: ; 0x02047FA4 - push {r3-r5, lr} - add r5, r1, #0x0 + thumb_func_start FUN_020449A4 +FUN_020449A4: ; 0x020449A4 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - ldr r0, [r5, #0xc] - bl FUN_0206F158 - ldr r0, [r5, #0xc] - bl FUN_02024DA0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 add r1, r0, #0x0 - mov r0, #0x11 - lsl r0, r0, #0x4 - ldr r0, [r4, r0] - bl FUN_02023D80 - pop {r3-r5, pc} - - thumb_func_start FUN_02047FD0 -FUN_02047FD0: ; 0x02047FD0 - push {r3-r5, lr} - ldr r2, [r0, #0x1c] - add r4, r1, #0x0 - ldr r1, [r2, #0x8] - ldr r2, [r2, #0xc] - bl FUN_0204A6E0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 add r5, r0, #0x0 - bl FUN_020548F0 - cmp r0, #0x0 - beq _02047FEC - mov r0, #0x8 - pop {r3-r5, pc} -_02047FEC: - add r0, r5, #0x0 - bl FUN_0205478C - cmp r0, #0x0 - bne _02048000 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x9 + mov r2, #0x0 + add r5, r0, #0x0 + bl FUN_020671BC + add r1, sp, #0x0 + strh r0, [r1, #0x0] + ldrh r0, [r1, #0x0] + cmp r4, r0 + bls _020449F8 + mov r0, #0x0 + b _020449FA +_020449F8: + sub r0, r0, r4 +_020449FA: + strh r0, [r1, #0x0] add r0, r5, #0x0 - bl FUN_02054798 - cmp r0, #0x0 - beq _02048004 -_02048000: - mov r0, #0x2 - pop {r3-r5, pc} -_02048004: + mov r1, #0x9 + add r2, sp, #0x0 + bl FUN_02067830 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} + + thumb_func_start FUN_02044A0C +FUN_02044A0C: ; 0x02044A0C + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02054830 - cmp r0, #0x0 - beq _02048012 - mov r0, #0x1 - pop {r3-r5, pc} -_02048012: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r5, #0x0 - bl FUN_020549AC - cmp r0, #0x0 - beq _02048020 - mov r0, #0x6 - pop {r3-r5, pc} -_02048020: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02054974 - cmp r0, #0x0 - bne _02048034 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02054990 - cmp r0, #0x0 - beq _02048038 -_02048034: - mov r0, #0xa - pop {r3-r5, pc} -_02048038: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02054A3C - cmp r0, #0x0 - beq _02048046 - mov r0, #0x5 - pop {r3-r5, pc} -_02048046: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r7, #0x0 + bl FUN_0206B9B0 + add r4, #0x13 + add r1, r4, #0x0 + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_02044A6C +FUN_02044A6C: ; 0x02044A6C + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_0205481C - cmp r0, #0x0 - beq _02048054 - mov r0, #0x7 - pop {r3-r5, pc} -_02048054: - cmp r4, #0xc - bhs _02048060 - ldr r0, _02048068 ; =0x020F45F8 - lsl r1, r4, #0x2 - ldr r0, [r0, r1] - pop {r3-r5, pc} -_02048060: - bl FUN_02020C2C - mov r0, #0xc + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02054DEC + strh r0, [r4, #0x0] + mov r0, #0x0 pop {r3-r5, pc} .balign 4 -_02048068: .word 0x020F45F8 - thumb_func_start FUN_0204806C -FUN_0204806C: ; 0x0204806C - push {r4-r6, lr} - add r4, r1, #0x0 + thumb_func_start FUN_02044A94 +FUN_02044A94: ; 0x02044A94 + push {r3-r7, lr} add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034E20 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r6, r0, #0x0 - ldr r0, [r4, #0x1c] + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - bl FUN_02034860 - mov r1, #0x15 - lsl r1, r1, #0x4 - str r0, [r5, r1] - ldr r0, [r6, #0x4] - cmp r0, #0x2 - bne _02048096 - mov r0, #0x1 - str r0, [r5, r1] -_02048096: - mov r1, #0x15 - lsl r1, r1, #0x4 - ldr r1, [r5, r1] + bl FUN_020394B8 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + add r4, r0, #0x0 + mov r1, #0xb0 + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r6, #0x0] add r0, r4, #0x0 - bl FUN_02047FD0 - mov r1, #0x55 - lsl r1, r1, #0x2 - str r0, [r5, r1] - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_020480AC -FUN_020480AC: ; 0x020480AC - mov r1, #0x55 - mov r2, #0x7 - lsl r1, r1, #0x2 - str r2, [r0, r1] - bx lr - .balign 4 - - thumb_func_start FUN_020480B8 -FUN_020480B8: ; 0x020480B8 - cmp r0, #0x2 - beq _020480C0 - cmp r0, #0x3 - bne _020480C4 -_020480C0: + mov r1, #0xb1 + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r7, #0x0] mov r0, #0x0 - bx lr -_020480C4: - mov r0, #0x1 - bx lr + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_020480C8 -FUN_020480C8: ; 0x020480C8 - cmp r0, #0x1 - beq _020480D0 - cmp r0, #0x4 - bne _020480D4 -_020480D0: + thumb_func_start FUN_02044B00 +FUN_02044B00: ; 0x02044B00 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + strh r0, [r5, #0x0] mov r0, #0x0 - bx lr -_020480D4: - mov r0, #0x1 - bx lr + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020480D8 -FUN_020480D8: ; 0x020480D8 - cmp r0, #0x4 - bne _020480E0 + thumb_func_start FUN_02044B2C +FUN_02044B2C: ; 0x02044B2C + push {r3-r7, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + mov r5, #0x0 + add r7, r0, #0x0 + add r4, r5, #0x0 + cmp r7, #0x0 + ble _02044B7A +_02044B5A: + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02044B74 + add r4, r4, #0x1 +_02044B74: + add r5, r5, #0x1 + cmp r5, r7 + blt _02044B5A +_02044B7A: + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] mov r0, #0x0 - bx lr -_020480E0: - mov r0, #0x1 - bx lr + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_020480E4 -FUN_020480E4: ; 0x020480E4 - push {r4, lr} + thumb_func_start FUN_02044B84 +FUN_02044B84: ; 0x02044B84 + push {r4-r7, lr} + sub sp, #0xc add r4, r0, #0x0 - add r0, #0xf8 - ldr r0, [r0, #0x0] - bl FUN_020239CC add r1, r4, #0x0 - add r1, #0x29 - strb r0, [r1, #0x0] - add r0, r4, #0x0 - add r0, #0xf8 - ldr r0, [r0, #0x0] - bl FUN_0202398C + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0x3c - bl FUN_02002248 - add r3, r4, #0x0 - add r3, #0x28 - add r4, #0x90 - mov r2, #0x6 -_02048112: - ldmia r3!, {r0-r1} - stmia r4!, {r0-r1} - sub r2, r2, #0x1 - bne _02048112 - ldr r0, [r3, #0x0] - str r0, [r4, #0x0] - pop {r4, pc} - - thumb_func_start FUN_02048120 -FUN_02048120: ; 0x02048120 - push {r4, lr} - sub sp, #0x8 - add r4, r0, #0x0 - ldr r0, _02048158 ; =0x020F465C - bl FUN_0201E66C - ldr r0, _0204815C ; =0x020F4630 - bl FUN_02016BBC - ldr r2, _02048160 ; =0x020F4640 - add r0, r4, #0x0 - mov r1, #0x3 - mov r3, #0x0 - bl FUN_02016C18 - mov r0, #0x20 - str r0, [sp, #0x0] - mov r0, #0xb - mov r3, #0x1a + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 str r0, [sp, #0x4] - mov r0, #0xe - mov r1, #0x6 - mov r2, #0x0 - lsl r3, r3, #0x4 - bl FUN_02006930 - add sp, #0x8 - pop {r4, pc} - .balign 4 -_02048158: .word 0x020F465C -_0204815C: .word 0x020F4630 -_02048160: .word 0x020F4640 - - thumb_func_start FUN_02048164 -FUN_02048164: ; 0x02048164 - push {r4-r6, lr} - add r5, r0, #0x0 - add r6, r1, #0x0 - mov r0, #0xb - mov r1, #0x24 - bl FUN_02016998 - add r4, r0, #0x0 - bne _0204817A - bl FUN_02020C2C -_0204817A: - add r0, r4, #0x0 - mov r1, #0x0 - mov r2, #0x24 - blx FUN_020DF4A4 - mov r0, #0x0 - str r0, [r4, #0x0] - str r5, [r4, #0x4] - mov r0, #0xb - bl FUN_02016B94 - str r0, [r4, #0x8] - bl FUN_02048120 - mov r2, #0x52 - mov r0, #0x1 - mov r1, #0x1a - lsl r2, r2, #0x2 - mov r3, #0xb - bl FUN_0200A86C - str r0, [r4, #0x1c] - mov r0, #0xb - bl FUN_0200AA80 - str r0, [r4, #0x20] - add r1, r4, #0x0 - ldr r0, [r4, #0x8] - ldr r2, _02048208 ; =0x020F4628 - add r1, #0xc - bl FUN_02019150 - add r0, r5, #0x0 - bl FUN_020377AC - bl FUN_020238F4 - add r2, r0, #0x0 - ldr r0, [r4, #0x20] - mov r1, #0x0 - bl FUN_0200ABC0 - ldr r0, [r5, #0x1c] - ldr r1, [r0, #0x0] - ldr r0, _0204820C ; =0x0000019E - cmp r1, r0 - bne _020481E6 - mov r2, #0x0 - add r0, r4, #0x0 - mov r1, #0x4 - add r3, r2, #0x0 - bl FUN_020482F4 - b _020481F2 -_020481E6: - mov r2, #0x0 - add r0, r4, #0x0 - mov r1, #0x3 - add r3, r2, #0x0 - bl FUN_020482F4 -_020481F2: add r0, r4, #0x0 - add r0, #0xc - bl FUN_020191D0 - ldr r1, _02048210 ; =FUN_02048214 - add r0, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204640C - pop {r4-r6, pc} - nop -_02048208: .word 0x020F4628 -_0204820C: .word 0x0000019E -_02048210: .word FUN_02048214 + 1 - - thumb_func_start FUN_02048214 -FUN_02048214: ; 0x02048214 - push {r3-r4, lr} - sub sp, #0xc - bl FUN_0204652C - add r4, r0, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - cmp r0, #0x4 - bhi _020482EA - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r1, #0 - lsl r6, r4, #0 - lsl r6, r6, #0 - lsl r6, r4, #0x1 - lsl r0, r0, #0x2 - mov r0, #0x8 + bl FUN_020394F0 str r0, [sp, #0x0] - mov r1, #0x1 - str r1, [sp, #0x4] - mov r0, #0x20 + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + mov r5, #0x0 + add r4, r5, #0x0 str r0, [sp, #0x8] - mov r0, #0x3 - mov r2, #0x2a - mov r3, #0x0 - bl FUN_0200E1D0 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020482EA -_02048258: - .byte 0xC6, 0xF7, 0x56, 0xF8, 0x00, 0x28, 0x44, 0xD0 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x40, 0xE0, 0x21, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42 - .byte 0x02, 0xD1, 0x02, 0x20, 0x08, 0x42, 0x38, 0xD0, 0x08, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90 - .byte 0x20, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xC5, 0xF7, 0xA0, 0xFF - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0xC6, 0xF7, 0x36, 0xF8, 0x00, 0x28, 0x24, 0xD0 - .byte 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xD1, 0xF7, 0xBB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x1B, 0xE0, 0x20, 0x1C, 0x0C, 0x30, 0x00, 0x21, 0xC4, 0xF7, 0x12, 0xFF, 0x20, 0x1C, 0x0C, 0x30 - .byte 0xD0, 0xF7, 0x5A, 0xFF, 0x20, 0x6A, 0xC2, 0xF7, 0x27, 0xFC, 0xE0, 0x69, 0xC2, 0xF7, 0xF4, 0xFA - .byte 0xA0, 0x68, 0x03, 0x21, 0xCF, 0xF7, 0xE4, 0xFA, 0xA0, 0x68, 0xCE, 0xF7, 0x9D, 0xFB, 0x20, 0x1C - .byte 0xCE, 0xF7, 0x9A, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0x18, 0xBD -_020482EA: + cmp r0, #0x0 + ble _02044C00 +_02044BC8: + ldr r0, [sp, #0x0] + cmp r5, r0 + beq _02044BF8 + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02044BF8 + add r0, r6, #0x0 + mov r1, #0xa2 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044BF8 + add r4, r4, #0x1 +_02044BF8: + ldr r0, [sp, #0x8] + add r5, r5, #0x1 + cmp r5, r0 + blt _02044BC8 +_02044C00: + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] mov r0, #0x0 add sp, #0xc - pop {r3-r4, pc} -_020482F0: - .byte 0xB8, 0x48, 0x1C, 0x02 + pop {r4-r7, pc} + .balign 4 - thumb_func_start FUN_020482F4 -FUN_020482F4: ; 0x020482F4 + thumb_func_start FUN_02044C0C +FUN_02044C0C: ; 0x02044C0C push {r4-r7, lr} - sub sp, #0x14 - add r5, r0, #0x0 - mov r0, #0x1 - str r1, [sp, #0x10] - lsl r0, r0, #0xa - mov r1, #0xb - add r7, r3, #0x0 - bl FUN_020219F4 - add r6, r0, #0x0 - mov r0, #0x1 - lsl r0, r0, #0xa - mov r1, #0xb - bl FUN_020219F4 + sub sp, #0xc add r4, r0, #0x0 - add r0, r5, #0x0 - add r0, #0xc - mov r1, #0x0 - bl FUN_02019620 - ldr r0, [r5, #0x1c] - ldr r1, [sp, #0x10] - add r2, r6, #0x0 - bl FUN_0200A8E0 - ldr r0, [r5, #0x20] - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_0200B7B8 - mov r0, #0x0 add r1, r4, #0x0 - add r2, r0, #0x0 - bl FUN_02002F08 - add r3, r0, #0x0 - str r7, [sp, #0x0] - mov r0, #0xff + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl FUN_02022510 str r0, [sp, #0x4] - ldr r0, _02048378 ; =0x000F0200 - mov r1, #0x0 + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + mov r5, #0x0 + add r4, r5, #0x0 str r0, [sp, #0x8] - add r0, r5, #0x0 - str r1, [sp, #0xc] - ldrb r5, [r5, #0x13] - add r0, #0xc - add r2, r4, #0x0 - lsl r5, r5, #0x3 - sub r3, r5, r3 - lsl r3, r3, #0x18 - lsr r3, r3, #0x19 - sub r3, r3, #0x4 - lsl r3, r3, #0x18 - lsr r3, r3, #0x18 - bl FUN_0201BDE0 + cmp r0, #0x0 + ble _02044C76 +_02044C44: + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02044C6E add r0, r6, #0x0 - bl FUN_02021A20 - add r0, r4, #0x0 - bl FUN_02021A20 - add sp, #0x14 + mov r1, #0xa2 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044C6E + add r4, r4, #0x1 +_02044C6E: + ldr r0, [sp, #0x8] + add r5, r5, #0x1 + cmp r5, r0 + blt _02044C44 +_02044C76: + ldr r0, [sp, #0x4] + bl FUN_0206B57C + add r1, r4, r0 + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] + mov r0, #0x0 + add sp, #0xc pop {r4-r7, pc} - .balign 4 -_02048378: .word 0x000F0200 - thumb_func_start FUN_0204837C -FUN_0204837C: ; 0x0204837C + thumb_func_start FUN_02044C88 +FUN_02044C88: ; 0x02044C88 push {r3-r7, lr} - sub sp, #0x18 - add r5, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02046530 add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - cmp r0, #0x6 - bhi _02048488 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r4, r1, #0 - lsl r4, r0, #0x1 - lsl r4, r2, #0x1 - lsl r0, r5, #0x1 - lsl r0, r2, #0x2 - lsl r6, r3, #0x2 - lsl r6, r3, #0x3 + bl FUN_020394B8 + str r0, [sp, #0x0] ldr r0, [r6, #0xc] - bl FUN_02034E30 + bl FUN_0206BB1C + bl FUN_0206B9AC + mov r5, #0x0 add r7, r0, #0x0 - bl FUN_02034DFC - add r1, sp, #0x4 - str r0, [sp, #0x0] - bl FUN_02034EC4 - add r0, r7, #0x0 - bl FUN_02034DCC - add r1, r0, #0x0 + add r4, r5, #0x0 + cmp r7, #0x0 + ble _02044CD6 +_02044CB6: + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044CD0 + add r4, r4, #0x1 +_02044CD0: + add r5, r5, #0x1 + cmp r5, r7 + blt _02044CB6 +_02044CD6: ldr r0, [sp, #0x0] - bl FUN_02034E90 - add r0, r5, #0x0 - add r1, sp, #0x4 - bl FUN_02049160 - add r0, r6, #0x0 - bl FUN_020637F0 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02048488 -_020483E8: - .byte 0x00, 0x20, 0x14, 0x21, 0xBC, 0xF7, 0xEE, 0xFF - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x47, 0xE0, 0xBD, 0xF7, 0x04, 0xF8, 0x00, 0x28, 0x43, 0xD1 - .byte 0x02, 0xF0, 0x84, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x3D, 0xE0, 0x0F, 0x20, 0xC0, 0x43 - .byte 0x37, 0x21, 0x01, 0x22, 0xC1, 0xF7, 0x2E, 0xFF, 0x0F, 0x20, 0xC0, 0x43, 0x3F, 0x21, 0x02, 0x22 - .byte 0xC1, 0xF7, 0x28, 0xFF, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x9C, 0xFE, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x29, 0xE0, 0x28, 0x1C, 0x02, 0xF0, 0xA5, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x22, 0xE0, 0x00, 0x20, 0x3F, 0x21, 0x03, 0x22, 0xC1, 0xF7, 0x14, 0xFF, 0xEC, 0xF7, 0x1E, 0xFD - .byte 0x07, 0x1C, 0xF0, 0x68, 0xEC, 0xF7, 0xEC, 0xFC, 0xEC, 0xF7, 0xD0, 0xFC, 0x87, 0x42, 0x06, 0xD1 - .byte 0x00, 0x22, 0x0B, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x36, 0xFC, 0x05, 0xE0, 0x00, 0x22 - .byte 0x08, 0x49, 0x28, 0x1C, 0x13, 0x1C, 0xF0, 0xF7, 0x2F, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x02, 0xE0, 0x06, 0xB0, 0x01, 0x20, 0xF8, 0xBD -_02048488: + strh r4, [r0, #0x0] mov r0, #0x0 - add sp, #0x18 pop {r3-r7, pc} - nop -_02048490: - .byte 0xE4, 0x07, 0x00, 0x00, 0xE5, 0x07, 0x00, 0x00 - - thumb_func_start FUN_02048498 -FUN_02048498: ; 0x02048498 - ldr r3, _020484A0 ; =FUN_0204640C - ldr r1, _020484A4 ; =FUN_0204837C - mov r2, #0x0 - bx r3 .balign 4 -_020484A0: .word FUN_0204640C + 1 -_020484A4: .word FUN_0204837C + 1 - thumb_func_start FUN_020484A8 -FUN_020484A8: ; 0x020484A8 - push {r3-r6, lr} - sub sp, #0x14 - add r5, r0, #0x0 - ldr r0, [r5, #0xc] - add r6, r1, #0x0 - mov r1, #0xb - add r2, sp, #0x0 - bl FUN_02022534 + thumb_func_start FUN_02044CE0 +FUN_02044CE0: ; 0x02044CE0 + push {r3-r7, lr} add r4, r0, #0x0 - ldr r0, [sp, #0x0] - cmp r0, #0x1 - bne _020484C6 - cmp r6, #0x0 - bne _020484CC -_020484C6: - add r0, r4, #0x0 - bl FUN_0202B03C -_020484CC: + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] ldr r0, [r5, #0xc] bl FUN_0206BB1C - add r6, r0, #0x0 - add r0, sp, #0x4 - bl FUN_020126B4 - add r0, r4, #0x0 - add r1, r6, #0x0 - add r2, sp, #0x4 - bl FUN_0202B050 + bl FUN_0206B9AC + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r4, _02044D40 ; =0x00000000 + ldr r0, [sp, #0x0] + strh r4, [r0, #0x0] + beq _02044D3C + mov r7, #0x99 +_02044D12: ldr r0, [r5, #0xc] + bl FUN_0206BB1C add r1, r4, #0x0 - bl FUN_02022540 - add r0, r4, #0x0 - bl FUN_02016A18 - add sp, #0x14 - pop {r3-r6, pc} + bl FUN_0206B9B0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044D32 + ldr r0, [sp, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x0] + b _02044D3C +_02044D32: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r6 + blo _02044D12 +_02044D3C: + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 +_02044D40: .word 0x00000000 - thumb_func_start FUN_020484F8 -FUN_020484F8: ; 0x020484F8 - push {r4-r7, lr} - sub sp, #0xc - add r4, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C + thumb_func_start FUN_02044D44 +FUN_02044D44: ; 0x02044D44 + push {r4-r6, lr} add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02046530 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x9 - bhi _02048554 - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r2, r2, #0 - lsl r2, r4, #0 - lsl r6, r3, #0x1 - lsl r6, r0, #0x2 - lsl r0, r3, #0x2 - lsl r6, r1, #0x3 - lsl r2, r5, #0x3 - lsl r4, r7, #0x3 - lsl r4, r3, #0x4 - lsl r6, r7, #0x4 - add r0, r6, #0x0 - add r1, r5, #0x4 - bl FUN_02038814 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02048688 -_0204854A: - .byte 0x30, 0x1C, 0xFD, 0xF7, 0x96, 0xFF - .byte 0x00, 0x28, 0x00, 0xD0 -_02048554: - b _02048688 -_02048556: - .byte 0x04, 0x21, 0x03, 0x20, 0xCA, 0x03, 0xCE, 0xF7, 0x5E, 0xF9 - .byte 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0xFE, 0xF8, 0x08, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91 - .byte 0x20, 0x20, 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x00, 0x23, 0xC5, 0xF7, 0x29, 0xFE, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x80, 0xE0, 0xC5, 0xF7, 0xBF, 0xFE, 0x00, 0x28, 0x7C, 0xD0, 0xF0, 0x68 - .byte 0xDA, 0xF7, 0x3C, 0xF9, 0x00, 0x28, 0x07, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0, 0x22, 0xF9 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x6F, 0xE0, 0x07, 0x20, 0x20, 0x60, 0x6C, 0xE0, 0x28, 0x1C - .byte 0x00, 0xF0, 0x42, 0xF9, 0x00, 0x28, 0x67, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x63, 0xE0 - .byte 0xF0, 0x68, 0x23, 0xF0, 0xAB, 0xFA, 0x3C, 0xF0, 0xBB, 0xFD, 0xDA, 0xF7, 0x31, 0xF9, 0xF0, 0x68 - .byte 0xDA, 0xF7, 0xA6, 0xF8, 0x07, 0x1C, 0x29, 0x68, 0x30, 0x1C, 0xFF, 0xF7, 0x65, 0xFF, 0x28, 0x1C - .byte 0x00, 0xF0, 0x32, 0xF9, 0x30, 0x1C, 0x29, 0x1C, 0x3A, 0x1C, 0x00, 0xF0, 0x3B, 0xF9, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x48, 0xE0, 0x28, 0x1C, 0x00, 0xF0, 0x1E, 0xF9, 0x00, 0x28, 0x43, 0xD0 - .byte 0x23, 0x48, 0xBC, 0xF7, 0x61, 0xFF, 0x12, 0x20, 0xA8, 0x63, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x3A, 0xE0, 0xA9, 0x6B, 0x00, 0x29, 0x02, 0xD0, 0x48, 0x1E, 0xA8, 0x63, 0x34, 0xE0, 0x40, 0x1C - .byte 0x20, 0x60, 0x31, 0xE0, 0x08, 0x20, 0x00, 0x90, 0x00, 0x21, 0x01, 0x20, 0x01, 0x90, 0x20, 0x20 - .byte 0x02, 0x90, 0x03, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0xC5, 0xF7, 0xCA, 0xFD, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x21, 0xE0, 0xC5, 0xF7, 0x60, 0xFE, 0x00, 0x28, 0x1D, 0xD0, 0x30, 0x1C, 0x29, 0x1C - .byte 0x00, 0xF0, 0x40, 0xF9, 0x10, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xF0, 0xF7, 0xFB, 0xF8, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x10, 0xE0, 0x30, 0x1C, 0xFD, 0xF7, 0x08, 0xFF, 0x00, 0x28, 0x0B, 0xD1 - .byte 0x28, 0x1C, 0xCE, 0xF7, 0xD1, 0xF9, 0x04, 0x20, 0xCE, 0xF7, 0x2A, 0xF9, 0x00, 0x20, 0x84, 0xF0 - .byte 0x9A, 0xEE, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD -_02048688: + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r4, #0x0] mov r0, #0x0 - add sp, #0xc - pop {r4-r7, pc} - nop -_02048690: - .byte 0x1B, 0x06, 0x00, 0x00 + pop {r4-r6, pc} - thumb_func_start FUN_02048694 -FUN_02048694: ; 0x02048694 - push {r4-r7, lr} - sub sp, #0xc - add r7, r0, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02044D8C +FUN_02044D8C: ; 0x02044D8C + push {r4-r6, lr} add r4, r0, #0x0 - mov r0, #0x20 - mov r1, #0x3c - bl FUN_02016998 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - add r6, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020238F4 - str r0, [sp, #0x0] - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - str r0, [sp, #0x8] - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DCC - str r0, [sp, #0x4] - add r0, r6, #0x0 - bl FUN_0205ED0C - str r0, [r5, #0x0] - ldr r0, [r4, #0xc] - bl FUN_020238F4 - str r0, [r5, #0x4] - ldr r0, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + ldr r0, [r6, #0xc] bl FUN_0206BB1C - str r0, [r5, #0x8] - ldr r0, [r4, #0xc] - bl FUN_02023918 - str r0, [r5, #0xc] - ldr r0, [r4, #0xc] - bl FUN_020238F4 - bl FUN_020239CC - str r0, [r5, #0x10] - add r0, r6, #0x0 - bl FUN_0205ED0C - str r0, [r5, #0x14] - ldr r0, [r4, #0xc] - bl FUN_02024DA0 - str r0, [r5, #0x18] + add r1, r4, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r6, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044DDA + mov r0, #0x0 + strh r0, [r5, #0x0] + pop {r4-r6, pc} +_02044DDA: + mov r4, #0x0 add r0, r6, #0x0 - bl FUN_0205ED0C + mov r1, #0x36 + add r2, r4, #0x0 + bl FUN_020671BC cmp r0, #0x0 - bne _0204871E - add r0, r4, #0x0 - bl FUN_0204B328 -_0204871E: - ldr r0, [r4, #0xc] - bl FUN_0206BB1C - bl FUN_0204A25C - ldr r0, [sp, #0x8] - bl FUN_020377B0 - ldr r0, [sp, #0x4] - bl FUN_020377C8 + beq _02044DF0 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044DF0: add r0, r6, #0x0 - bl FUN_0205F154 + mov r1, #0x37 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044E04 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E04: add r0, r6, #0x0 - bl FUN_0205ECFC - ldr r0, [sp, #0x0] - bl FUN_02023A78 - ldr r0, [r4, #0xc] - bl FUN_02029FC8 - mov r1, #0x2e - bl FUN_0202A0E8 - ldr r1, _02048760 ; =FUN_020484F8 - add r0, r7, #0x0 - add r2, r5, #0x0 - bl FUN_0204640C - add sp, #0xc - pop {r4-r7, pc} - .balign 4 -_02048760: .word FUN_020484F8 + 1 - - thumb_func_start FUN_02048764 -FUN_02048764: ; 0x02048764 - push {r4, lr} - sub sp, #0x10 - add r4, r0, #0x0 - mov r0, #0x0 - str r0, [r1, #0x2c] - str r0, [r1, #0x30] - add r1, #0x1c - add r0, r1, #0x0 - bl FUN_0201901C - ldr r0, _020487D4 ; =0x020F46B0 - bl FUN_0201E66C - ldr r2, _020487D8 ; =0x04000304 - ldrh r1, [r2, #0x0] - lsr r0, r2, #0xb - orr r0, r1 - strh r0, [r2, #0x0] - ldr r0, _020487DC ; =0x020F4684 - bl FUN_02016BBC - mov r0, #0x3 - mov r1, #0x0 - bl FUN_02017FE4 - ldr r0, [r4, #0x8] - ldr r2, _020487E0 ; =0x020F4694 - mov r1, #0x3 - mov r3, #0x0 - bl FUN_02016C18 - mov r1, #0x20 - mov r0, #0x3 + mov r1, #0x38 mov r2, #0x0 - add r3, r1, #0x0 - bl FUN_02017F18 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044E18 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E18: + add r0, r6, #0x0 + mov r1, #0x39 mov r2, #0x0 - str r2, [sp, #0x0] - mov r0, #0x20 - str r0, [sp, #0x4] - str r0, [sp, #0x8] - mov r0, #0x11 - str r0, [sp, #0xc] - ldr r0, [r4, #0x8] - mov r1, #0x3 - add r3, r2, #0x0 - bl FUN_02018540 - ldr r0, [r4, #0x8] - mov r1, #0x3 - bl FUN_02017CD0 - add sp, #0x10 - pop {r4, pc} - nop -_020487D4: .word 0x020F46B0 -_020487D8: .word 0x04000304 -_020487DC: .word 0x020F4684 -_020487E0: .word 0x020F4694 + bl FUN_020671BC + cmp r0, #0x0 + beq _02044E2C + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 +_02044E2C: + strh r4, [r5, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_020487E4 -FUN_020487E4: ; 0x020487E4 + thumb_func_start FUN_02044E34 +FUN_02044E34: ; 0x02044E34 push {r4-r6, lr} - add r5, r0, #0x0 - ldr r0, [r5, #0xc] - add r4, r1, #0x0 - bl FUN_02023900 - add r6, r0, #0x0 - mov r0, #0x1a - mov r1, #0xc7 - mov r2, #0xf - mov r3, #0x20 - bl FUN_0200A738 - str r0, [r4, #0x2c] + add r4, r0, #0x0 add r1, r4, #0x0 - ldr r0, [r5, #0x8] - add r1, #0x1c - mov r2, #0x3 - bl FUN_020545B8 - add r0, r4, #0x0 - add r0, #0x1c - add r1, r6, #0x0 - bl FUN_02054608 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - ldr r1, [r4, #0x2c] - add r0, #0x1c - add r2, r6, #0x0 - mov r3, #0x1 - bl FUN_02054658 - str r0, [r4, #0x34] + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 add r0, r4, #0x0 - ldr r1, _02048834 ; =0x000003E2 - add r0, #0x1c - bl FUN_0200D858 - str r0, [r4, #0x30] + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + add r1, r4, #0x0 + bl FUN_020699A4 + mov r0, #0x0 pop {r4-r6, pc} - .balign 4 -_02048834: .word 0x000003E2 - - thumb_func_start FUN_02048838 -FUN_02048838: ; 0x02048838 - ldr r0, [r0, #0x34] - ldr r3, _02048844 ; =FUN_020546C8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bx r3 - nop -_02048844: .word FUN_020546C8 + 1 - thumb_func_start FUN_02048848 -FUN_02048848: ; 0x02048848 - push {r4, lr} + thumb_func_start FUN_02044E78 +FUN_02044E78: ; 0x02044E78 + push {r3-r7, lr} add r4, r0, #0x0 - ldr r0, [r4, #0x2c] - bl FUN_02021A20 - ldr r0, [r4, #0x30] - bl FUN_0200DBFC - add r4, #0x1c + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_0205464C - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_02048864 -FUN_02048864: ; 0x02048864 - push {r3-r7, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - mov r0, #0x1 - mov r1, #0x1a - mov r2, #0xc7 - mov r3, #0x4 - bl FUN_0200A86C - add r7, r0, #0x0 - cmp r6, #0x2 - bne _020488AC - mov r0, #0x4 - bl FUN_0200AA80 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - add r2, r0, #0x0 - add r0, r6, #0x0 - mov r1, #0x0 - bl FUN_0200ABC0 - add r0, r6, #0x0 - add r1, r7, #0x0 - mov r2, #0x10 - mov r3, #0x4 - bl FUN_0200A9C4 - str r0, [r4, #0x2c] - add r0, r6, #0x0 - bl FUN_0200AB18 - b _020488B4 -_020488AC: - mov r1, #0x12 - bl FUN_0200A914 - str r0, [r4, #0x2c] -_020488B4: - add r0, r7, #0x0 - bl FUN_0200A8B8 - ldr r0, [r5, #0xc] - bl FUN_02023900 - add r2, r0, #0x0 add r0, r4, #0x0 - ldr r1, [r4, #0x2c] - add r0, #0x1c - mov r3, #0x1 - bl FUN_02054658 - str r0, [r4, #0x34] - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_020488D4 -FUN_020488D4: ; 0x020488D4 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - ldr r0, [r4, #0x2c] - cmp r0, #0x0 - beq _020488E4 - bl FUN_02021A20 -_020488E4: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0x1c - bl FUN_02019048 - cmp r0, #0x0 - beq _020488F8 - add r4, #0x1c + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r4, #0x0 - bl FUN_02019178 -_020488F8: - ldr r0, [r5, #0x8] - mov r1, #0x3 - bl FUN_020178A0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02048904 -FUN_02048904: ; 0x02048904 - ldr r1, [r0, #0x1c] - ldr r2, _02048950 ; =0x0000014B - ldr r1, [r1, #0x0] - cmp r1, r2 - bgt _0204892C - sub r2, r2, #0x5 - sub r2, r1, r2 - bmi _02048936 - add r2, r2, r2 - add r2, pc - ldrh r2, [r2, #0x6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 -_0204892C: - ldr r2, _02048954 ; =0x000001ED - cmp r1, r2 - bne _02048936 - mov r2, #0x1 - b _02048938 -_02048936: + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r1, r7, #0x0 + bl FUN_0206B9B0 + add r4, #0x36 + add r1, r4, #0x0 mov r2, #0x0 -_02048938: - cmp r2, #0x0 - bne _02048946 - ldr r1, [r0, #0x6c] - cmp r1, #0x4 - bne _02048946 - mov r1, #0x0 - str r1, [r0, #0x6c] -_02048946: - cmp r2, #0x0 - beq _0204894E - mov r1, #0x4 - str r1, [r0, #0x6c] -_0204894E: - bx lr + bl FUN_020671BC + strh r0, [r6, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 -_02048950: .word 0x0000014B -_02048954: .word 0x000001ED - thumb_func_start FUN_02048958 -FUN_02048958: ; 0x02048958 + thumb_func_start FUN_02044ED8 +FUN_02044ED8: ; 0x02044ED8 push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, [r5, #0xc] - add r4, r1, #0x0 - bl FUN_02034E30 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r6, r0, #0x0 - bl FUN_02034DC8 - add r2, r0, #0x0 - cmp r4, #0x0 - beq _0204898C - ldr r3, [r5, #0x1c] - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - ldr r2, [r5, #0x1c] - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r4, #0x0] - str r0, [r2, #0x0] -_0204898C: - ldr r1, [r5, #0x1c] add r0, r5, #0x0 - ldr r1, [r1, #0x0] - bl FUN_02034A60 - ldr r0, [r5, #0x1c] - ldr r1, [r0, #0x4] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x6 + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r6, #0x0] mov r0, #0x0 - mvn r0, r0 - cmp r1, r0 - beq _020489DA - add r0, r5, #0x0 - bl FUN_02034B00 - ldrh r2, [r0, #0x0] - ldr r1, [r5, #0x1c] - str r2, [r1, #0x8] - ldrh r2, [r0, #0x2] - ldr r1, [r5, #0x1c] - str r2, [r1, #0xc] - ldrh r1, [r0, #0x6] - mov r0, #0x1 - lsl r0, r0, #0x8 - cmp r1, r0 - bne _020489DA - add r0, r6, #0x0 - bl FUN_02034DD0 - add r4, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02034DC4 - add r2, r0, #0x0 - ldmia r2!, {r0-r1} - stmia r4!, {r0-r1} - ldmia r2!, {r0-r1} - stmia r4!, {r0-r1} - ldr r0, [r2, #0x0] - str r0, [r4, #0x0] -_020489DA: pop {r4-r6, pc} - thumb_func_start FUN_020489DC -FUN_020489DC: ; 0x020489DC - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x6c] - cmp r0, #0x5 - blt _020489EA - bl FUN_02020C2C -_020489EA: - ldr r0, [r4, #0x70] - ldr r0, [r0, #0x0] - lsl r0, r0, #0x10 - lsr r1, r0, #0x1c - ldr r0, _020489F8 ; =0x021C4918 - strb r1, [r0, #0x5] - pop {r4, pc} - .balign 4 -_020489F8: .word 0x021C4918 + thumb_func_start FUN_02044F20 +FUN_02044F20: ; 0x02044F20 + push {r3-r5, lr} + add r5, r0, #0x0 + add r1, r5, #0x0 + add r1, #0x80 + ldr r4, [r1, #0x0] + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r2, #0x0 + add r1, sp, #0x0 + strh r2, [r1, #0x0] + mov r1, #0x6 + add r2, sp, #0x0 + bl FUN_02067830 + mov r0, #0x0 + pop {r3-r5, pc} - thumb_func_start FUN_020489FC -FUN_020489FC: ; 0x020489FC + thumb_func_start FUN_02044F58 +FUN_02044F58: ; 0x02044F58 push {r3-r7, lr} sub sp, #0x8 - add r5, r0, #0x0 - ldr r0, [r5, #0x1c] - add r4, r1, #0x0 - ldr r7, [r0, #0x0] - ldr r0, [r5, #0xc] - bl FUN_02034E30 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 str r0, [sp, #0x4] - add r0, r5, #0x0 - bl FUN_0204AB44 - add r0, r5, #0x0 - bl FUN_02039564 - cmp r4, #0x0 - bne _02048A28 - add r0, r5, #0x0 - bl FUN_020636DC - b _02048A2E -_02048A28: - add r0, r5, #0x0 - bl FUN_02063684 -_02048A2E: - ldr r0, [r5, #0xc] - bl FUN_020462AC - bl FUN_0205F408 - cmp r4, #0x0 - bne _02048A42 - add r0, r5, #0x0 - bl FUN_0204B0F8 -_02048A42: - cmp r4, #0x0 - bne _02048A50 - ldr r0, [r5, #0xc] - bl FUN_02024ED8 - bl FUN_02025484 -_02048A50: - ldr r0, [r5, #0xc] - bl FUN_020462AC - str r0, [sp, #0x0] - add r0, r5, #0x0 - add r1, r7, #0x0 - bl FUN_02034FE4 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - cmp r6, #0xe - bne _02048A72 - ldr r0, [sp, #0x0] - bl FUN_0205F2C4 - cmp r0, #0x1 - beq _02048A80 -_02048A72: - cmp r6, #0x10 - bne _02048A82 - ldr r0, [sp, #0x0] - bl FUN_0205F294 - cmp r0, #0x1 - bne _02048A82 -_02048A80: - mov r6, #0x0 -_02048A82: - ldr r0, [sp, #0x4] - add r1, r6, #0x0 - bl FUN_02034DF4 - cmp r4, #0x0 - beq _02048AA6 - ldr r0, [sp, #0x4] - bl FUN_02034E10 - add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0203484C - cmp r6, r0 - beq _02048AB4 - bl FUN_02020C2C - b _02048AB4 -_02048AA6: - add r0, r7, #0x0 - bl FUN_0203484C + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394F0 + str r0, [sp, #0x0] + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + ldr r5, _02044FE4 ; =0x00000000 ldr r0, [sp, #0x4] - bl FUN_02034E18 -_02048AB4: - cmp r4, #0x0 - bne _02048ACA - add r0, r7, #0x0 - bl FUN_02034EF8 + strh r5, [r0, #0x0] + beq _02044FDE +_02044F9E: + ldr r0, [r7, #0xc] + bl FUN_0206BB1C + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02044FD4 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC lsl r0, r0, #0x10 lsr r1, r0, #0x10 - beq _02048ACA + ldr r0, [sp, #0x0] + cmp r0, r1 + bne _02044FD4 ldr r0, [sp, #0x4] - bl FUN_02034E04 -_02048ACA: - add r0, r5, #0x0 - mov r1, #0x2 - bl FUN_0203989C - add r0, r5, #0x0 - mov r1, #0x0 - add r0, #0x74 + mov r1, #0x1 strh r1, [r0, #0x0] - add r5, #0x76 - strh r1, [r5, #0x0] + b _02044FDE +_02044FD4: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, r6 + blo _02044F9E +_02044FDE: + mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} .balign 4 +_02044FE4: .word 0x00000000 - thumb_func_start FUN_02048AE4 -FUN_02048AE4: ; 0x02048AE4 - push {r4-r5, lr} - sub sp, #0xc + thumb_func_start FUN_02044FE8 +FUN_02044FE8: ; 0x02044FE8 + push {r3-r7, lr} add r5, r0, #0x0 - mov r1, #0x40 - mov r2, #0x5 - bl FUN_02057380 - str r0, [r5, #0x34] - ldr r0, [r5, #0xc] - bl FUN_020238F4 - bl FUN_020239CC - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034E20 - ldr r3, [r5, #0x1c] - ldr r1, [r0, #0x4] - str r1, [sp, #0x0] - str r4, [sp, #0x4] - str r0, [sp, #0x8] - ldr r0, [r5, #0x34] - ldr r1, [r3, #0x8] - ldr r2, [r3, #0xc] - ldr r3, [r3, #0x10] - bl FUN_02055068 - str r0, [r5, #0x38] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02034AC8 - ldr r0, [r5, #0x34] - bl FUN_02058768 - add sp, #0xc - pop {r4-r5, pc} - .balign 4 - - thumb_func_start FUN_02048B34 -FUN_02048B34: ; 0x02048B34 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204CC48 - ldr r0, [r4, #0x38] - bl FUN_02055160 - ldr r0, [r4, #0x34] - bl FUN_0205771C - ldr r0, [r4, #0x34] - bl FUN_020573AC - pop {r4, pc} - - thumb_func_start FUN_02048B50 -FUN_02048B50: ; 0x02048B50 - push {r3-r5, lr} - add r5, r0, #0x0 - mov r1, #0x40 - mov r2, #0x5 - bl FUN_02057380 - str r0, [r5, #0x34] + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] add r0, r5, #0x0 - bl FUN_02034E60 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034E20 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020238F4 - bl FUN_020239CC - add r2, r0, #0x0 - ldr r0, [r5, #0x34] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C add r1, r4, #0x0 - bl FUN_020550A4 - str r0, [r5, #0x38] - ldr r0, [r5, #0x34] - bl FUN_02058768 - pop {r3-r5, pc} + bl FUN_0206B9B0 + mov r4, #0x0 + add r6, r0, #0x0 + add r5, r4, #0x0 + add r7, r4, #0x0 +_0204502A: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r7, #0x0 + bl FUN_0207FC5C + add r1, r0, #0x0 + add r0, r6, #0x0 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + beq _02045048 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02045048: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x50 + blo _0204502A + ldr r0, [sp, #0x0] + strh r5, [r0, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02048B90 -FUN_02048B90: ; 0x02048B90 - push {r4, lr} + thumb_func_start FUN_0204505C +FUN_0204505C: ; 0x0204505C + push {r3-r7, lr} + sub sp, #0x10 add r4, r0, #0x0 - bl FUN_02048904 - ldr r0, [r4, #0x58] - cmp r0, #0x0 - beq _02048BA2 - bl FUN_02020C2C -_02048BA2: - ldr r0, [r4, #0x1c] - ldr r1, [r4, #0x28] - ldr r0, [r0, #0x0] - bl FUN_020344AC - ldr r0, [r4, #0xc] - bl FUN_020462AC - mov r1, #0x3 - bl FUN_0205F524 - cmp r0, #0x0 - beq _02048BC2 - ldr r0, [r4, #0x28] - bl FUN_020346CC -_02048BC2: - ldr r0, [r4, #0xc] - bl FUN_020462AC - mov r1, #0x2 - bl FUN_0205F524 - cmp r0, #0x0 - bne _02048BD8 - ldr r0, [r4, #0x28] - bl FUN_02034678 -_02048BD8: - ldr r0, [r4, #0x6c] - cmp r0, #0x5 - blt _02048BE2 - bl FUN_02020C2C -_02048BE2: - ldr r0, [r4, #0x6c] - ldr r1, _02048C28 ; =0x020F46E0 - lsl r0, r0, #0x3 - add r0, r1, r0 - str r0, [r4, #0x70] - ldr r0, [r0, #0x0] - lsl r0, r0, #0x18 - lsr r0, r0, #0x1c - str r0, [r4, #0x5c] - ldr r0, [r4, #0x70] - ldr r0, [r0, #0x0] - lsl r0, r0, #0x1c - lsr r0, r0, #0x1c - str r0, [r4, #0x18] - ldr r1, [r4, #0x70] - add r0, r4, #0x0 - ldr r1, [r1, #0x0] - add r0, #0x58 - lsl r1, r1, #0x14 - lsr r1, r1, #0x1c - bl FUN_0204A690 - ldr r0, [r4, #0x70] - ldr r1, [r0, #0x0] - lsl r0, r1, #0xc - lsr r0, r0, #0x1c - beq _02048C24 - lsr r1, r1, #0x18 - lsl r1, r1, #0x18 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - lsr r1, r1, #0x18 - bl FUN_0204A368 -_02048C24: - pop {r4, pc} - nop -_02048C28: .word 0x020F46E0 - - thumb_func_start FUN_02048C2C -FUN_02048C2C: ; 0x02048C2C - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x58] - cmp r0, #0x0 - bne _02048C3A - bl FUN_02020C2C -_02048C3A: - mov r0, #0x0 - str r0, [r4, #0x58] - mov r0, #0x5 - str r0, [r4, #0x18] - ldr r0, [r4, #0x70] + add r0, #0x80 ldr r0, [r0, #0x0] - lsl r0, r0, #0xc - lsr r0, r0, #0x1c - beq _02048C52 + bl FUN_020394B8 + str r0, [sp, #0x0] add r0, r4, #0x0 - bl FUN_0204A390 -_02048C52: - mov r0, #0x0 - str r0, [r4, #0x70] - pop {r4, pc} - - thumb_func_start FUN_02048C58 -FUN_02048C58: ; 0x02048C58 - push {r4, lr} - add r4, r0, #0x0 - add r0, #0x98 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _02048C7E - ldr r0, [r4, #0x1c] - mov r1, #0xb + add r0, #0x80 ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02028FA4 - add r4, #0x98 - add r1, r0, #0x0 + add r4, #0x80 + lsr r6, r0, #0x10 ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + str r0, [sp, #0xc] + mov r0, #0x0 + str r0, [sp, #0x8] + str r0, [sp, #0x4] +_0204509A: + mov r5, #0x0 + cmp r6, #0x0 + bls _020450E8 + ldr r0, [sp, #0x8] + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 +_020450A6: + ldr r0, [sp, #0xc] + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c mov r2, #0x0 - bl FUN_02028AD4 -_02048C7E: - pop {r4, pc} - - thumb_func_start FUN_02048C80 -FUN_02048C80: ; 0x02048C80 - push {r4, lr} add r4, r0, #0x0 - add r0, #0x98 - ldr r0, [r0, #0x0] + bl FUN_020671BC cmp r0, #0x0 - beq _02048CAE - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - ldr r0, [r0, #0x0] - mov r1, #0xb - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bl FUN_02028FA4 - add r4, #0x98 + bne _020450E8 + add r0, r7, #0x0 + mov r1, #0x0 + bl FUN_0207FC5C add r1, r0, #0x0 - ldr r0, [r4, #0x0] + add r0, r4, #0x0 mov r2, #0x0 - bl FUN_02028AD4 -_02048CAE: - pop {r4, pc} - - thumb_func_start FUN_02048CB0 -FUN_02048CB0: ; 0x02048CB0 - push {r4-r6, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - ldr r0, [r4, #0x38] - bl FUN_0205532C - add r6, r0, #0x0 - ldr r0, [r4, #0x38] - bl FUN_02055320 - ldr r1, [r4, #0x1c] - ldr r1, [r1, #0x0] - str r1, [r5, #0x0] - mov r1, #0x0 - mvn r1, r1 - str r1, [r5, #0x4] - str r0, [r5, #0x8] - str r6, [r5, #0xc] - mov r0, #0x1 - str r0, [r5, #0x10] - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_02048CDC -FUN_02048CDC: ; 0x02048CDC - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x1c] - ldr r0, [r0, #0x0] - bl FUN_020349E4 + bl FUN_020671BC cmp r0, #0x0 - beq _02048CFE - ldr r1, [r4, #0x1c] - ldr r0, [r1, #0x8] - cmp r0, #0x7 - bne _02048CFE - ldr r0, [r1, #0xc] - cmp r0, #0x6 - bne _02048CFE - mov r0, #0x1 - pop {r4, pc} -_02048CFE: + beq _020450DE + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + b _020450E8 +_020450DE: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _020450A6 +_020450E8: + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x8] + cmp r0, #0x50 + blo _0204509A + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x0] + strh r1, [r0, #0x0] mov r0, #0x0 - pop {r4, pc} + add sp, #0x10 + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_02048D04 -FUN_02048D04: ; 0x02048D04 - push {r3-r5, lr} + thumb_func_start FUN_02045104 +FUN_02045104: ; 0x02045104 + push {r3-r7, lr} add r5, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020462AC - ldr r0, [r5, #0x1c] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 ldr r0, [r0, #0x0] - str r0, [r4, #0x0] - mov r0, #0x0 - mvn r0, r0 - str r0, [r4, #0x4] - mov r0, #0x8 - str r0, [r4, #0x8] - mov r0, #0x2 - str r0, [r4, #0xc] - mov r0, #0x1 - str r0, [r4, #0x10] - pop {r3-r5, pc} - - thumb_func_start FUN_02048D34 -FUN_02048D34: ; 0x02048D34 - push {r4-r6, lr} - add r6, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02046530 + bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02048D56 - cmp r0, #0x1 - beq _02048D7A - cmp r0, #0x2 - beq _02048D88 - b _02048D8C -_02048D56: - ldr r1, [r5, #0x1c] add r0, r5, #0x0 - bl FUN_02048958 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048B90 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r7, #0x0 + bl FUN_0206B9B0 + add r5, r0, #0x0 + lsl r0, r6, #0x18 + lsr r0, r0, #0x18 mov r1, #0x0 - bl FUN_020489FC + bl FUN_0207FC5C + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048AE4 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02048D8C -_02048D7A: - add r0, r6, #0x0 - bl FUN_0204B0E8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02048D8C -_02048D88: - mov r0, #0x1 - pop {r4-r6, pc} -_02048D8C: + mov r2, #0x0 + bl FUN_020671BC + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_02048D90 -FUN_02048D90: ; 0x02048D90 - push {r4, lr} + thumb_func_start FUN_02045170 +FUN_02045170: ; 0x02045170 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 + mov r1, #0x1 + add r0, sp, #0x0 + add r5, #0x80 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + add r5, r0, #0x0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 mov r1, #0x0 - str r1, [r4, #0x6c] - bl FUN_02039874 - ldr r1, _02048DA8 ; =FUN_02048D34 - add r0, r4, #0x0 - mov r2, #0x0 - bl FUN_020463CC - pop {r4, pc} + bl FUN_0207FC5C + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, sp, #0x0 + bl FUN_02067830 + mov r0, #0x0 + add sp, #0x4 + pop {r3-r6, pc} .balign 4 -_02048DA8: .word FUN_02048D34 + 1 - thumb_func_start FUN_02048DAC -FUN_02048DAC: ; 0x02048DAC + thumb_func_start FUN_020451D0 +FUN_020451D0: ; 0x020451D0 push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 + sub sp, #0x8 add r4, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_02046530 - add r5, r0, #0x0 - ldr r0, [r5, #0x0] - cmp r0, #0x4 - bhi _02048EC2 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r1, #0 - lsl r6, r6, #0 - lsl r2, r1, #0x3 - lsl r6, r2, #0x3 - lsl r2, r3, #0x3 - ldr r0, [r4, #0xc] - bl FUN_02025B94 - add r0, r6, #0x0 - mov r1, #0x2 - bl FUN_0205F2D4 - add r7, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020289A4 - add r1, r7, #0x0 - bl FUN_02028A20 - cmp r0, #0x0 - beq _02048E10 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_02037944 - mov r0, #0x4 - str r0, [r5, #0x0] - b _02048EC2 -_02048E10: - add r0, r6, #0x0 - mov r1, #0x2 - bl FUN_0205F2D4 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x0] + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + bl FUN_0206B9AC + lsl r0, r0, #0x10 + add r4, #0x80 + lsr r6, r0, #0x10 + ldr r0, [r4, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C add r7, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020289A4 - add r1, r7, #0x0 - bl FUN_020289B0 - add r1, r4, #0x0 - add r1, #0x98 - str r0, [r1, #0x0] - add r0, r6, #0x0 - bl FUN_0205F174 + mov r0, #0x0 + str r0, [sp, #0x4] +_0204520C: + mov r5, #0x0 + cmp r6, #0x0 + bls _0204524C +_02045212: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC cmp r0, #0x0 - beq _02048E78 - ldr r0, [r4, #0xc] - bl FUN_02034E30 - add r7, r0, #0x0 + beq _02045242 add r0, r4, #0x0 - bl FUN_02048CDC + mov r1, #0x3 + mov r2, #0x0 + bl FUN_020671BC cmp r0, #0x0 - beq _02048E4E - add r0, r4, #0x0 - bl FUN_02048D04 -_02048E4E: - add r0, r6, #0x0 - bl FUN_0205F164 - add r0, r7, #0x0 - bl FUN_02034DD0 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02048958 - add r0, r4, #0x0 - bl FUN_02048B90 - add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_020489FC - add r0, r4, #0x0 - bl FUN_02048AE4 - b _02048E92 -_02048E78: - add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_02048958 - add r0, r4, #0x0 - bl FUN_02048B90 - add r0, r4, #0x0 - bl FUN_0204B0F8 - add r0, r4, #0x0 - bl FUN_02048B50 -_02048E92: - add r0, r4, #0x0 - bl FUN_02048C58 - add r0, r4, #0x0 - bl FUN_02063808 - mov r0, #0x2 - str r0, [r5, #0x0] - b _02048EC2 -_02048EA4: - .byte 0x38, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x03, 0x20, 0x28, 0x60, 0x08, 0xE0 - .byte 0x01, 0x20, 0xF8, 0xBD, 0x20, 0x1C, 0xFD, 0xF7, 0xE1, 0xFA, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x20 - .byte 0x28, 0x60 -_02048EC2: + beq _02045242 + ldr r0, [sp, #0x0] + mov r1, #0x1 + strh r1, [r0, #0x0] + add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} - .balign 4 +_02045242: + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, r6 + blo _02045212 +_0204524C: + ldr r0, [sp, #0x4] + add r0, r0, #0x1 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + cmp r0, #0x50 + blo _0204520C + ldr r1, [sp, #0x0] + mov r0, #0x0 + strh r0, [r1, #0x0] + add sp, #0x8 + pop {r3-r7, pc} - thumb_func_start FUN_02048EC8 -FUN_02048EC8: ; 0x02048EC8 - ldr r3, _02048ED4 ; =FUN_020463CC - mov r2, #0x0 - str r2, [r0, #0x6c] - ldr r1, _02048ED8 ; =FUN_02048DAC - bx r3 - nop -_02048ED4: .word FUN_020463CC + 1 -_02048ED8: .word FUN_02048DAC + 1 + thumb_func_start FUN_02045264 +FUN_02045264: ; 0x02045264 + mov r0, #0x0 + bx lr - thumb_func_start FUN_02048EDC -FUN_02048EDC: ; 0x02048EDC + thumb_func_start FUN_02045268 +FUN_02045268: ; 0x02045268 push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 add r4, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C - add r6, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020462AC - str r0, [sp, #0x0] - add r0, r7, #0x0 - bl FUN_02046530 - add r5, r0, #0x0 - ldr r0, [r5, #0x0] - cmp r0, #0x5 - bhi _02048FC4 - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r2, r1, #0 - lsl r2, r0, #0x1 - lsl r4, r5, #0x1 - lsl r0, r1, #0x2 - lsl r4, r3, #0x2 - lsl r0, r5, #0x2 - mov r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r6, [r1, #0x0] + bl FUN_02038C30 + add r4, #0x80 add r1, r0, #0x0 - bl FUN_0200E3A0 - mov r0, #0x1 - mov r1, #0x0 - bl FUN_0200E3A0 - ldr r0, [r4, #0xc] - bl FUN_02025B94 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r4, #0x0 + ldr r7, _020452B0 ; =0x020F450C + str r0, [sp, #0x0] + add r5, r4, #0x0 +_02045288: + ldr r0, [r6, #0xc] + bl FUN_0206F158 + lsl r1, r4, #0x2 + ldrh r1, [r7, r1] + mov r2, #0x4 + bl FUN_0206EEF8 + add r0, r5, r0 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x7 + blo _02045288 ldr r0, [sp, #0x0] - mov r1, #0x2 - bl FUN_0205F2D4 - add r6, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_020289A4 - add r1, r6, #0x0 - bl FUN_020289B0 - add r4, #0x98 - str r0, [r4, #0x0] - ldr r0, [r5, #0x0] - add r0, r0, #0x1 - str r0, [r5, #0x0] - b _02048FC4 -_02048F54: - .byte 0x20, 0x1C, 0x31, 0x1D, 0xFF, 0xF7, 0xFE, 0xFC, 0x20, 0x1C, 0xFF, 0xF7 - .byte 0x17, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x49, 0xFD, 0x20, 0x1C, 0xFF, 0xF7, 0xBA, 0xFD - .byte 0x20, 0x1C, 0xFF, 0xF7, 0x85, 0xFE, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x22, 0xE0, 0x20, 0x1C - .byte 0x09, 0xF0, 0x94, 0xF8, 0xA0, 0x67, 0x09, 0xF0, 0xAF, 0xFF, 0xE0, 0x67, 0x38, 0x1C, 0x01, 0xF0 - .byte 0xF9, 0xFF, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x31, 0x60, 0x20, 0x1C - .byte 0x32, 0x1C, 0x9E, 0xF1, 0xD5, 0xFB, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x0A, 0xE0, 0x31, 0x68 - .byte 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x30, 0x1C, 0xCD, 0xF7, 0x2C, 0xFD - .byte 0x01, 0x20, 0xF8, 0xBD -_02048FC4: + strh r5, [r0, #0x0] mov r0, #0x0 pop {r3-r7, pc} + .balign 4 +_020452B0: .word 0x020F450C - thumb_func_start FUN_02048FC8 -FUN_02048FC8: ; 0x02048FC8 + thumb_func_start FUN_020452B4 +FUN_020452B4: ; 0x020452B4 push {r3-r5, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x1c] - ldr r0, [r0, #0x0] - bl FUN_02034998 - cmp r0, #0x0 - bne _02049000 - add r0, r4, #0x0 - bl FUN_02048CDC - cmp r0, #0x0 - beq _02048FF8 - ldr r0, [r4, #0xc] - bl FUN_020462AC - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02048D04 - add r0, r5, #0x0 - bl FUN_0205F154 - b _02049000 -_02048FF8: - add r0, r4, #0x0 - bl FUN_02048EC8 - pop {r3-r5, pc} -_02049000: - mov r0, #0xb - mov r1, #0x18 - bl FUN_020169D8 - add r2, r0, #0x0 - mov r1, #0x0 - ldr r0, _02049030 ; =0x000001D2 - str r1, [r2, #0x0] - str r0, [r2, #0x4] - sub r0, r1, #0x1 - str r0, [r2, #0x8] - mov r0, #0x8 - str r0, [r2, #0xc] - mov r0, #0xe - str r0, [r2, #0x10] - str r1, [r2, #0x14] - mov r0, #0x2 - str r0, [r4, #0x6c] - ldr r1, _02049034 ; =FUN_02048EDC - add r0, r4, #0x0 - bl FUN_020463CC - pop {r3-r5, pc} - nop -_02049030: .word 0x000001D2 -_02049034: .word FUN_02048EDC + 1 - - thumb_func_start FUN_02049038 -FUN_02049038: ; 0x02049038 - push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204652C + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - ldr r1, [r4, #0x0] - cmp r1, #0x3 - bhi _020490B6 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r6, r0, #0 - lsl r2, r4, #0 - lsl r2, r6, #0 - lsl r0, r2, #0x1 - ldr r0, _020490BC ; =0x00000603 - bl FUN_020054C8 - ldr r1, [r4, #0x4] - add r0, r6, #0x0 - bl FUN_0204AD60 add r0, r5, #0x0 - bl FUN_0204B090 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020490B6 -_02049080: - .byte 0x28, 0x1C, 0x21, 0x1D, 0x00, 0xF0, 0x6C, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0 - .byte 0xBC, 0xF7, 0xB8, 0xF9, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68, 0x30, 0x1C, 0x01, 0xF0, 0x76, 0xFE - .byte 0x28, 0x1C, 0x02, 0xF0, 0x21, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7 - .byte 0xB3, 0xFC, 0x01, 0x20, 0x70, 0xBD -_020490B6: + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394F0 + mov r5, #0x0 + ldr r2, _02045300 ; =0x020F450C + strh r5, [r4, #0x0] +_020452E0: + lsl r3, r5, #0x2 + ldrh r1, [r2, r3] + cmp r0, r1 + bne _020452F0 + ldr r0, _02045304 ; =0x020F450E + ldrh r0, [r0, r3] + strh r0, [r4, #0x0] + b _020452FA +_020452F0: + add r1, r5, #0x1 + lsl r1, r1, #0x10 + lsr r5, r1, #0x10 + cmp r5, #0x7 + blo _020452E0 +_020452FA: mov r0, #0x0 - pop {r4-r6, pc} + pop {r3-r5, pc} nop -_020490BC: .word 0x00000603 +_02045300: .word 0x020F450C +_02045304: .word 0x020F450E - thumb_func_start FUN_020490C0 -FUN_020490C0: ; 0x020490C0 - push {r3-r5, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - mov r0, #0xb - mov r1, #0x1c - bl FUN_020169D8 - add r2, r0, #0x0 - mov r0, #0x0 - str r0, [r2, #0x0] - ldmia r4!, {r0-r1} - add r3, r2, #0x4 - stmia r3!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r3!, {r0-r1} + thumb_func_start FUN_02045308 +FUN_02045308: ; 0x02045308 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r7, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + str r0, [sp, #0x4] + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - ldr r1, _020490EC ; =FUN_02049038 - str r0, [r3, #0x0] - add r0, r5, #0x0 - bl FUN_0204640C - pop {r3-r5, pc} + bl FUN_020394F0 + str r0, [sp, #0x0] + mov r4, #0x0 + ldr r0, [sp, #0x8] + add r6, r4, #0x0 + strh r4, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] +_02045358: + ldr r0, [r7, #0xc] + lsl r5, r4, #0x2 + bl FUN_0206F158 + ldr r1, _02045394 ; =0x020F450C + mov r2, #0x4 + ldrh r1, [r1, r5] + bl FUN_0206EEF8 + add r0, r6, r0 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + ldr r0, [sp, #0x0] + cmp r6, r0 + blo _02045384 + ldr r0, _02045394 ; =0x020F450C + ldrh r1, [r0, r5] + ldr r0, [sp, #0x8] + strh r1, [r0, #0x0] + ldr r0, [sp, #0x4] + strh r4, [r0, #0x0] + b _0204538E +_02045384: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x7 + blo _02045358 +_0204538E: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} .balign 4 -_020490EC: .word FUN_02049038 + 1 +_02045394: .word 0x020F450C - thumb_func_start FUN_020490F0 -FUN_020490F0: ; 0x020490F0 - push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02045398 +FUN_02045398: ; 0x02045398 + mov r0, #0x0 + bx lr + + thumb_func_start FUN_0204539C +FUN_0204539C: ; 0x0204539C + mov r0, #0x0 + bx lr + + thumb_func_start FUN_020453A0 +FUN_020453A0: ; 0x020453A0 + push {r4-r6, lr} add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02049112 - cmp r0, #0x1 - beq _02049126 - cmp r0, #0x2 - beq _0204914C - b _0204915C -_02049112: - add r0, r5, #0x0 - bl FUN_02048B34 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048C2C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204915C -_02049126: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - add r1, r4, #0x4 - bl FUN_02048958 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048B90 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r6, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_020489FC - add r5, #0x90 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 ldr r0, [r5, #0x0] - bl FUN_0205DD40 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204915C -_0204914C: + bl FUN_020394B8 + ldr r1, _020453EC ; =0x020F4528 + lsl r2, r4, #0x2 + ldrh r1, [r1, r2] + strh r1, [r6, #0x0] + ldr r1, _020453F0 ; =0x020F452A + ldrh r1, [r1, r2] + strh r1, [r0, #0x0] + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_020453EC: .word 0x020F4528 +_020453F0: .word 0x020F452A + + thumb_func_start FUN_020453F4 +FUN_020453F4: ; 0x020453F4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048AE4 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_02016A18 - mov r0, #0x1 - pop {r3-r5, pc} -_0204915C: + bl FUN_02024D64 + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02049160 -FUN_02049160: ; 0x02049160 - push {r3-r7, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - mov r0, #0xb - mov r1, #0x18 - bl FUN_020169D8 - add r4, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - beq _02049186 - bl FUN_02020C2C - pop {r3-r7, pc} -_02049186: + thumb_func_start FUN_02045424 +FUN_02045424: ; 0x02045424 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + bl FUN_02024D80 mov r0, #0x0 - str r0, [r4, #0x0] - ldmia r5!, {r0-r1} - add r2, r4, #0x4 - stmia r2!, {r0-r1} - ldmia r5!, {r0-r1} - stmia r2!, {r0-r1} + pop {r3, pc} + + thumb_func_start FUN_02045438 +FUN_02045438: ; 0x02045438 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 ldr r0, [r5, #0x0] - ldr r1, _020491A4 ; =FUN_020490F0 - str r0, [r2, #0x0] - add r0, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} + ldr r0, [r0, #0xc] + bl FUN_02034E30 + bl FUN_02034E20 + bl FUN_02055474 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 -_020491A4: .word FUN_020490F0 + 1 - thumb_func_start FUN_020491A8 -FUN_020491A8: ; 0x020491A8 - push {lr} - sub sp, #0x14 - str r1, [sp, #0x0] - ldr r1, [sp, #0x18] - str r2, [sp, #0x4] - str r1, [sp, #0xc] - ldr r1, [sp, #0x1c] - str r3, [sp, #0x8] - str r1, [sp, #0x10] - add r1, sp, #0x0 - bl FUN_02049160 - add sp, #0x14 - pop {pc} + thumb_func_start FUN_02045468 +FUN_02045468: ; 0x02045468 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02034E30 + bl FUN_02034E20 + mov r1, #0x1 + bl FUN_02055488 + mov r0, #0x0 + pop {r3, pc} + .balign 4 - thumb_func_start FUN_020491C4 -FUN_020491C4: ; 0x020491C4 + thumb_func_start FUN_02045484 +FUN_02045484: ; 0x02045484 push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204652C + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r4, r0, #0x0 - ldr r1, [r4, #0x0] - cmp r1, #0x3 - bhi _0204923C - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r4, r5, #0 - lsl r2, r1, #0x1 - ldr r1, [r4, #0x4] - add r0, r6, #0x0 - bl FUN_0204AD60 add r0, r5, #0x0 - bl FUN_0204AF3C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204923C -_02049206: - .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0xA9, 0xFF, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBC, 0xF7, 0xF5, 0xF8, 0x00, 0x28, 0x0E, 0xD1, 0x61, 0x68 - .byte 0x30, 0x1C, 0x01, 0xF0, 0xB3, 0xFD, 0x28, 0x1C, 0x01, 0xF0, 0xAC, 0xFE, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0xF0, 0xFB, 0x01, 0x20, 0x70, 0xBD -_0204923C: + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r6, r0, #0x0 + cmp r4, #0x8 + blo _020454B6 + bl FUN_02020C2C +_020454B6: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r1, r4, #0x0 + bl FUN_020239D0 + strh r0, [r6, #0x0] mov r0, #0x0 pop {r4-r6, pc} - thumb_func_start FUN_02049240 -FUN_02049240: ; 0x02049240 - push {r3-r7, lr} - add r7, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0xb - mov r1, #0x18 - add r4, r2, #0x0 - add r6, r3, #0x0 - bl FUN_020169D8 - add r2, r0, #0x0 + thumb_func_start FUN_020454CC +FUN_020454CC: ; 0x020454CC + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + cmp r4, #0x8 + blo _020454EA + bl FUN_02020C2C +_020454EA: + add r5, #0x80 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + add r1, r4, #0x0 + bl FUN_020239E4 mov r0, #0x0 - str r0, [r2, #0x0] - str r5, [r2, #0x4] - str r4, [r2, #0x8] - ldr r0, [sp, #0x18] - str r6, [r2, #0xc] - str r0, [r2, #0x10] - ldr r0, [sp, #0x1c] - ldr r1, _02049270 ; =FUN_020491C4 - str r0, [r2, #0x14] - add r0, r7, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} + pop {r3-r5, pc} .balign 4 -_02049270: .word FUN_020491C4 + 1 - thumb_func_start FUN_02049274 -FUN_02049274: ; 0x02049274 - push {r4-r5, lr} - sub sp, #0x14 + thumb_func_start FUN_02045500 +FUN_02045500: ; 0x02045500 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 add r4, r0, #0x0 - ldr r0, [sp, #0x20] - str r1, [sp, #0x0] - str r0, [sp, #0xc] - ldr r0, [sp, #0x24] - mov r1, #0x20 - str r0, [sp, #0x10] - mov r0, #0xb - str r2, [sp, #0x4] - str r3, [sp, #0x8] - bl FUN_020169D8 - add r2, r0, #0x0 - mov r0, #0x0 - str r0, [r2, #0x0] - add r3, r2, #0x0 - add r5, sp, #0x0 - str r0, [r2, #0x4] - ldmia r5!, {r0-r1} - add r3, #0x8 - stmia r3!, {r0-r1} - ldmia r5!, {r0-r1} - stmia r3!, {r0-r1} ldr r0, [r5, #0x0] - ldr r1, _020492B8 ; =FUN_02049304 - str r0, [r3, #0x0] - add r0, r4, #0x0 - bl FUN_020463CC - add sp, #0x14 - pop {r4-r5, pc} - nop -_020492B8: .word FUN_02049304 + 1 - - thumb_func_start FUN_020492BC -FUN_020492BC: ; 0x020492BC - push {r4-r5, lr} - sub sp, #0x14 - add r4, r0, #0x0 - ldr r0, [sp, #0x20] - str r1, [sp, #0x0] - str r0, [sp, #0xc] - ldr r0, [sp, #0x24] - mov r1, #0x20 - str r0, [sp, #0x10] - mov r0, #0xb - str r2, [sp, #0x4] - str r3, [sp, #0x8] - bl FUN_020169D8 - add r2, r0, #0x0 + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ECE0 + strh r0, [r4, #0x0] mov r0, #0x0 - str r0, [r2, #0x0] - add r3, r2, #0x0 - add r5, sp, #0x0 - str r0, [r2, #0x4] - ldmia r5!, {r0-r1} - add r3, #0x8 - stmia r3!, {r0-r1} - ldmia r5!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r5, #0x0] - ldr r1, _02049300 ; =FUN_02049304 - str r0, [r3, #0x0] - add r0, r4, #0x0 - bl FUN_020463EC - add sp, #0x14 - pop {r4-r5, pc} - nop -_02049300: .word FUN_02049304 + 1 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02049304 -FUN_02049304: ; 0x02049304 + thumb_func_start FUN_0204552C +FUN_0204552C: ; 0x0204552C push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 add r6, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + mov r4, #0x0 + ldr r7, _02045578 ; =0x020F4574 + str r0, [sp, #0x0] add r5, r4, #0x0 - ldr r1, [r4, #0x0] - add r5, #0x8 - cmp r1, #0x3 - bhi _02049390 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r6, r6, #0 - lsl r2, r3, #0x1 - ldr r1, [r5, #0x0] +_02045548: add r0, r6, #0x0 - bl FUN_0204AD60 - add r0, r7, #0x0 - bl FUN_02049394 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049390 -_0204934A: - .byte 0xB0, 0x6B, 0x00, 0x21, 0x0C, 0xF0 - .byte 0x2B, 0xF8, 0x21, 0x1C, 0x38, 0x1C, 0x08, 0x31, 0xFF, 0xF7, 0x02, 0xFF, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x15, 0xE0, 0xBC, 0xF7, 0x4E, 0xF8, 0x00, 0x28, 0x11, 0xD1, 0x29, 0x68, 0x30, 0x1C - .byte 0x01, 0xF0, 0x0C, 0xFD, 0x30, 0x1C, 0x1A, 0xF0, 0x17, 0xFA, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x46, 0xFB, 0x01, 0x20, 0xF8, 0xBD -_02049390: + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020238F4 + ldrb r1, [r7, r4] + bl FUN_020239D0 + cmp r0, #0x1 + bne _02045564 + add r0, r5, #0x1 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 +_02045564: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, #0x8 + blo _02045548 + ldr r0, [sp, #0x0] + strh r5, [r0, #0x0] mov r0, #0x0 pop {r3-r7, pc} + nop +_02045578: .word 0x020F4574 - thumb_func_start FUN_02049394 -FUN_02049394: ; 0x02049394 - ldr r3, _0204939C ; =FUN_0204640C - ldr r1, _020493A0 ; =FUN_020493A4 - mov r2, #0x0 - bx r3 - .balign 4 -_0204939C: .word FUN_0204640C + 1 -_020493A0: .word FUN_020493A4 + 1 + thumb_func_start FUN_0204557C +FUN_0204557C: ; 0x0204557C + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ECD4 + mov r0, #0x0 + pop {r3, pc} - thumb_func_start FUN_020493A4 -FUN_020493A4: ; 0x020493A4 + thumb_func_start FUN_02045590 +FUN_02045590: ; 0x02045590 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _020493BA - cmp r0, #0x1 - beq _020493C8 - b _020493CC -_020493BA: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204AF3C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020493CC -_020493C8: - mov r0, #0x1 - pop {r3-r5, pc} -_020493CC: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED3C + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} - - thumb_func_start FUN_020493D0 -FUN_020493D0: ; 0x020493D0 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204652C - add r2, r0, #0x0 - ldr r1, _020493E4 ; =FUN_020493E8 - add r0, r4, #0x0 - bl FUN_0204640C - pop {r4, pc} .balign 4 -_020493E4: .word FUN_020493E8 + 1 - thumb_func_start FUN_020493E8 -FUN_020493E8: ; 0x020493E8 + thumb_func_start FUN_020455BC +FUN_020455BC: ; 0x020455BC + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED1C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_020455D0 +FUN_020455D0: ; 0x020455D0 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED2C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_020455E4 +FUN_020455E4: ; 0x020455E4 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02046528 - ldr r1, [r4, #0x0] - cmp r1, #0x0 - beq _02049408 - cmp r1, #0x1 - beq _02049416 - cmp r1, #0x2 - beq _02049428 - b _0204942C -_02049408: - add r0, r5, #0x0 - bl FUN_0204AF84 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204942C -_02049416: - bl FUN_021E331C + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02049430 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204942C -_02049428: - mov r0, #0x1 - pop {r3-r5, pc} -_0204942C: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 + add r4, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED6C + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02049430 -FUN_02049430: ; 0x02049430 - push {r4-r6, lr} - add r6, r0, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02045610 +FUN_02045610: ; 0x02045610 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED4C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02045624 +FUN_02045624: ; 0x02045624 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED5C + mov r0, #0x0 + pop {r3, pc} + + thumb_func_start FUN_02045638 +FUN_02045638: ; 0x02045638 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - bne _02049452 - bl FUN_02020C2C - pop {r4-r6, pc} -_02049452: - ldr r0, [r5, #0x38] - bl FUN_020553E8 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_022483BC - str r0, [r4, #0x4] - ldr r1, _02049470 ; =FUN_02049474 - add r0, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204640C - pop {r4-r6, pc} - nop -_02049470: .word FUN_02049474 + 1 - - thumb_func_start FUN_02049474 -FUN_02049474: ; 0x02049474 - push {r4, lr} - bl FUN_0204652C + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r5, #0x80 add r4, r0, #0x0 - ldr r0, [r4, #0x4] - bl FUN_022483E0 - cmp r0, #0x1 - bne _02049490 - ldr r0, [r4, #0x4] - bl FUN_022483EC - mov r0, #0x1 - pop {r4, pc} -_02049490: + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ED0C + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r4, pc} + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_02049494 -FUN_02049494: ; 0x02049494 - push {r4-r6, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0xb - mov r1, #0x20 - add r4, r2, #0x0 - bl FUN_020169D8 - add r2, r0, #0x0 + thumb_func_start FUN_02045664 +FUN_02045664: ; 0x02045664 + push {r3, lr} + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205ECFC mov r0, #0x0 - str r0, [r2, #0x0] - str r4, [r2, #0x4] - str r0, [r2, #0x8] - add r3, r2, #0x0 - ldmia r5!, {r0-r1} - add r3, #0xc - stmia r3!, {r0-r1} - ldmia r5!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r5, #0x0] - ldr r1, _020494C8 ; =FUN_020494CC - str r0, [r3, #0x0] - add r0, r6, #0x0 - bl FUN_020463EC - pop {r4-r6, pc} - .balign 4 -_020494C8: .word FUN_020494CC + 1 + pop {r3, pc} - thumb_func_start FUN_020494CC -FUN_020494CC: ; 0x020494CC - push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02045678 +FUN_02045678: ; 0x02045678 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0204652C + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + ldr r2, [r5, #0x8] add r4, r0, #0x0 - add r6, r4, #0x0 - ldr r1, [r4, #0x0] - add r6, #0xc - cmp r1, #0x3 - bhi _02049570 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r6, r6, #0 - lsl r2, r6, #0x1 - ldr r1, [r6, #0x0] + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _020456A6 + cmp r1, #0x1 + beq _0204569E + cmp r1, #0x2 + beq _020456AE + b _020456CC +_0204569E: + mov r1, #0x1 + bl FUN_0205F264 + b _020456D0 +_020456A6: + mov r1, #0x0 + bl FUN_0205F264 + b _020456D0 +_020456AE: add r0, r5, #0x0 - bl FUN_0204AD60 - add r0, r7, #0x0 - bl FUN_02049574 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049570 -_02049512: - .byte 0xA8, 0x6B, 0x00, 0x21, 0x0B, 0xF0, 0x47, 0xFF, 0x21, 0x1C, 0x38, 0x1C, 0x0C, 0x31 - .byte 0xFF, 0xF7, 0x1E, 0xFE, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x21, 0xE0, 0xBB, 0xF7, 0x6A, 0xFF - .byte 0x00, 0x28, 0x1D, 0xD1, 0x31, 0x68, 0x28, 0x1C, 0x01, 0xF0, 0x28, 0xFC, 0x60, 0x68, 0x02, 0x28 - .byte 0x03, 0xD1, 0x28, 0x1C, 0x1A, 0xF0, 0x3E, 0xF9, 0x07, 0xE0, 0x01, 0x28, 0x03, 0xD8, 0x28, 0x1C - .byte 0x1A, 0xF0, 0x46, 0xF9, 0x01, 0xE0, 0xD7, 0xF7, 0x69, 0xFB, 0x38, 0x1C, 0x00, 0xF0, 0x28, 0xF8 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x56, 0xFA, 0x01, 0x20, 0xF8, 0xBD -_02049570: + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x2 + bl FUN_0205F264 + strh r0, [r5, #0x0] + b _020456D0 +_020456CC: + bl FUN_02020C2C +_020456D0: mov r0, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_02049574 -FUN_02049574: ; 0x02049574 - ldr r3, _0204957C ; =FUN_0204640C - ldr r1, _02049580 ; =FUN_02049584 - mov r2, #0x0 - bx r3 - .balign 4 -_0204957C: .word FUN_0204640C + 1 -_02049580: .word FUN_02049584 + 1 + pop {r3-r5, pc} - thumb_func_start FUN_02049584 -FUN_02049584: ; 0x02049584 + thumb_func_start FUN_020456D4 +FUN_020456D4: ; 0x020456D4 push {r3-r5, lr} add r5, r0, #0x0 - bl FUN_02046530 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + ldr r2, [r5, #0x8] add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _0204959A - cmp r0, #0x1 - beq _020495A8 - b _020495AC -_0204959A: + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _02045700 + cmp r1, #0x1 + beq _020456FA + cmp r1, #0x2 + beq _02045706 + b _02045722 +_020456FA: + bl FUN_0205F274 + b _02045726 +_02045700: + bl FUN_0205F284 + b _02045726 +_02045706: add r0, r5, #0x0 - bl FUN_0204AF3C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _020495AC -_020495A8: - mov r0, #0x1 - pop {r3-r5, pc} -_020495AC: + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0205F294 + strh r0, [r5, #0x0] + b _02045726 +_02045722: + bl FUN_02020C2C +_02045726: mov r0, #0x0 pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_020495B0 -FUN_020495B0: ; 0x020495B0 - push {r4, lr} + thumb_func_start FUN_0204572C +FUN_0204572C: ; 0x0204572C + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020462AC + ldr r2, [r5, #0x8] add r4, r0, #0x0 - bl FUN_0204652C - add r2, r0, #0x0 - ldr r1, _020495C4 ; =FUN_020495C8 + add r1, r2, #0x1 + str r1, [r5, #0x8] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _02045758 + cmp r1, #0x1 + beq _02045752 + cmp r1, #0x2 + beq _0204575E + b _0204577A +_02045752: + bl FUN_0205F2A4 + b _0204577E +_02045758: + bl FUN_0205F2B4 + b _0204577E +_0204575E: + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_0204640C - pop {r4, pc} + bl FUN_0205F2C4 + strh r0, [r5, #0x0] + b _0204577E +_0204577A: + bl FUN_02020C2C +_0204577E: + mov r0, #0x0 + pop {r3-r5, pc} .balign 4 -_020495C4: .word FUN_020495C8 + 1 - thumb_func_start FUN_020495C8 -FUN_020495C8: ; 0x020495C8 - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_02046530 + thumb_func_start FUN_02045784 +FUN_02045784: ; 0x02045784 + push {r3-r7, lr} add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204652C - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _020495F0 - cmp r0, #0x1 - beq _020495FE - cmp r0, #0x2 - beq _02049612 - b _02049616 -_020495F0: - add r0, r5, #0x0 - bl FUN_0204AF84 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049616 -_020495FE: - add r0, r6, #0x0 - bl FUN_021E331C - add r0, r5, #0x0 - bl FUN_0204961C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049616 -_02049612: - mov r0, #0x1 - pop {r4-r6, pc} -_02049616: - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0204961C -FUN_0204961C: ; 0x0204961C - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_02046528 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204652C + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - bne _0204963E - bl FUN_02020C2C - pop {r4-r6, pc} -_0204963E: - ldr r2, [r6, #0x4] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x4 - bl FUN_0224C8C8 - add r2, r0, #0x0 - ldr r1, _02049654 ; =0x0224C8E9 - add r0, r5, #0x0 - bl FUN_0204640C - pop {r4-r6, pc} - .balign 4 -_02049654: .word 0x0224C8E9 - - thumb_func_start FUN_02049658 -FUN_02049658: ; 0x02049658 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02046528 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - add r5, r4, #0x0 - ldr r1, [r4, #0x0] - add r5, #0x8 - cmp r1, #0x6 - bhi _02049712 - add r2, r1, r1 - add r2, pc - ldrh r2, [r2, #0x6] - lsl r2, r2, #0x10 - asr r2, r2, #0x10 - add pc, r2 - lsl r4, r1, #0 - lsl r6, r3, #0 - lsl r2, r7, #0 - lsl r2, r1, #0x1 - lsl r0, r5, #0x1 - lsl r4, r7, #0x1 - lsl r0, r1, #0x2 - add r0, r7, #0x0 - mov r1, #0x1 - add r2, r4, #0x4 - bl FUN_021E7750 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049712 -_020496A0: - .byte 0x60, 0x68, 0x00, 0x28, 0x35, 0xD0, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x59, 0xFB, 0x30, 0x1C - .byte 0x01, 0xF0, 0x44, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2A, 0xE0, 0x30, 0x1C, 0x29, 0x1C - .byte 0xFF, 0xF7, 0x4E, 0xFD, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x22, 0xE0, 0xBB, 0xF7, 0x9A, 0xFE - .byte 0x00, 0x28, 0x1E, 0xD1, 0x29, 0x68, 0x38, 0x1C, 0x01, 0xF0, 0x58, 0xFB, 0x30, 0x1C, 0x01, 0xF0 - .byte 0x51, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x13, 0xE0, 0x00, 0x21, 0x61, 0x60, 0x38, 0x1C - .byte 0x22, 0x1D, 0x9E, 0xF1, 0x2D, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x09, 0xE0, 0x60, 0x68 - .byte 0x00, 0x28, 0x06, 0xD0, 0x48, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCD, 0xF7, 0x85, 0xF9, 0x01, 0x20 - .byte 0xF8, 0xBD -_02049712: + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x4 + bl FUN_0206ED38 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_02049718 -FUN_02049718: ; 0x02049718 - push {r4-r7, lr} - sub sp, #0x14 - add r5, r0, #0x0 - add r4, r1, #0x0 - mov r0, #0xb - mov r1, #0x1c - add r6, r2, #0x0 - bl FUN_020169D8 - mov r1, #0x0 - mov r2, #0x1c - add r7, r0, #0x0 - blx FUN_020CE34C - ldr r0, [r5, #0x38] - bl FUN_020552F8 - mov r1, #0x0 - add r2, r7, #0x0 - str r4, [sp, #0x0] - str r6, [sp, #0x4] - add r3, sp, #0x0 - str r1, [sp, #0x8] - str r1, [sp, #0xc] - str r0, [sp, #0x10] - ldmia r3!, {r0-r1} - add r2, #0x8 - stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - ldr r1, _02049768 ; =FUN_02049658 - str r0, [r2, #0x0] - add r0, r5, #0x0 - add r2, r7, #0x0 - bl FUN_020463CC - add sp, #0x14 - pop {r4-r7, pc} - nop -_02049768: .word FUN_02049658 + 1 - thumb_func_start FUN_0204976C -FUN_0204976C: ; 0x0204976C - push {r4-r6, lr} - add r6, r0, #0x0 - ldr r0, [r6, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 + thumb_func_start FUN_020457DC +FUN_020457DC: ; 0x020457DC + push {r3-r7, lr} add r4, r0, #0x0 - mov r0, #0xb - mov r1, #0x40 - bl FUN_020169D8 - add r5, r0, #0x0 - mov r1, #0x0 - str r1, [r5, #0x0] - str r1, [r5, #0x4] - ldr r0, [r6, #0x6c] - cmp r0, #0x1 - bne _020497A4 - ldr r0, [r4, #0x0] - str r0, [r5, #0x8] - sub r0, r1, #0x1 - str r0, [r5, #0xc] - ldr r0, [r4, #0x8] - str r0, [r5, #0x10] - ldr r0, [r4, #0xc] - str r0, [r5, #0x14] - b _02049820 -_020497A4: + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 add r1, r6, #0x0 - bl FUN_02048CB0 - mov r0, #0x2 - str r0, [r5, #0x8] - sub r0, r0, #0x3 - str r0, [r5, #0xc] - ldr r1, [r4, #0x8] - asr r0, r1, #0x4 - lsr r0, r0, #0x1b - add r0, r1, r0 - asr r0, r0, #0x5 - ldr r1, [r4, #0xc] - sub r6, r0, #0x1 - asr r0, r1, #0x4 - lsr r0, r0, #0x1b - add r0, r1, r0 - asr r0, r0, #0x5 - sub r4, r0, #0x6 - cmp r6, #0x0 - bge _020497D4 - bl FUN_02020C2C -_020497D4: - cmp r4, #0x0 - bge _020497DC - bl FUN_02020C2C -_020497DC: - lsr r2, r6, #0x1f - lsl r1, r6, #0x1f - sub r1, r1, r2 - mov r0, #0x1f - ror r1, r0 - add r0, r2, r1 - bne _020497EE - mov r0, #0x8 - b _020497F0 -_020497EE: - mov r0, #0x17 -_020497F0: - lsr r3, r4, #0x1f - lsl r2, r4, #0x1f - sub r2, r2, r3 - mov r1, #0x1f - ror r2, r1 - add r1, r3, r2 - bne _02049802 - mov r1, #0x8 - b _02049804 -_02049802: - mov r1, #0x17 -_02049804: - lsr r2, r6, #0x1f - add r2, r6, r2 - asr r2, r2, #0x1 - add r6, r2, #0x1 - lsr r2, r4, #0x1f - add r2, r4, r2 - asr r2, r2, #0x1 - add r3, r2, #0x3 - lsl r2, r6, #0x5 - add r0, r0, r2 - str r0, [r5, #0x10] - lsl r0, r3, #0x5 - add r0, r1, r0 - str r0, [r5, #0x14] -_02049820: - add r0, r5, #0x0 - pop {r4-r6, pc} + add r2, r7, #0x0 + mov r3, #0x4 + bl FUN_0206EDD4 + strh r0, [r4, #0x0] + mov r0, #0x0 + pop {r3-r7, pc} - thumb_func_start FUN_02049824 -FUN_02049824: ; 0x02049824 - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_0204976C + thumb_func_start FUN_02045834 +FUN_02045834: ; 0x02045834 + push {r3-r7, lr} add r4, r0, #0x0 - beq _02049840 - add r0, r5, #0x0 - bl FUN_02049BE8 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 add r1, r0, #0x0 - add r0, r5, #0x0 - add r2, r4, #0x0 - bl FUN_020463CC -_02049840: - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_02049844 -FUN_02049844: ; 0x02049844 - push {r4-r6, lr} - sub sp, #0x8 - add r6, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0xc - bhi _0204992C - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r3, #0 - lsl r0, r6, #0x1 - lsl r4, r5, #0x2 - lsl r2, r6, #0x3 - lsl r6, r6, #0x4 - lsl r4, r4, #0x5 - lsl r6, r6, #0x5 - lsl r6, r0, #0x6 - lsl r2, r3, #0x6 - lsl r0, r5, #0x6 - lsl r6, r2, #0x7 - lsl r0, r7, #0x7 - lsl r2, r5, #0x8 - mov r0, #0x1 - mov r1, #0x1a - mov r2, #0xcf - mov r3, #0xb - bl FUN_0200A86C + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - mov r1, #0x7c - bl FUN_0200A914 - str r0, [r4, #0x34] - add r0, r6, #0x0 - bl FUN_0200A8B8 - add r1, r4, #0x0 - ldr r0, [r5, #0x8] - add r1, #0x24 - mov r2, #0x3 - bl FUN_020545B8 - ldr r0, [r5, #0xc] - bl FUN_02023900 + add r0, r4, #0x0 + bl FUN_02038C30 add r1, r0, #0x0 add r0, r4, #0x0 - add r0, #0x24 - bl FUN_02054608 - ldr r0, [r5, #0xc] - bl FUN_02023900 - add r2, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 add r0, r4, #0x0 - ldr r1, [r4, #0x34] - add r0, #0x24 - mov r3, #0x1 - bl FUN_02054658 - add r1, r4, #0x0 - add r1, #0x38 - strb r0, [r1, #0x0] - mov r0, #0x1 - str r0, [r4, #0x0] - b _02049AB2 -_020498DC: - .byte 0x20, 0x1C, 0x38, 0x30 - .byte 0x00, 0x78, 0x0A, 0xF0, 0xF1, 0xFE, 0x01, 0x28, 0x20, 0xD1, 0x60, 0x6B, 0xD8, 0xF7, 0x98, 0xF8 - .byte 0x00, 0x20, 0x00, 0x90, 0x0B, 0x23, 0x01, 0x93, 0xA8, 0x68, 0x6F, 0x4A, 0x03, 0x21, 0xC3, 0xF7 - .byte 0xFF, 0xF8, 0x0B, 0x23, 0x00, 0x93, 0xA8, 0x68, 0x6C, 0x49, 0x6B, 0x4A, 0xB8, 0xF7, 0x44, 0xFC - .byte 0xE0, 0x63, 0x02, 0x20, 0x20, 0x60, 0xCC, 0xE0, 0xE0, 0x6B, 0x0B, 0x21, 0xB8, 0xF7, 0x46, 0xFC - .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x0C, 0xD0 -_0204992C: - b _02049AB2 -_0204992E: - .byte 0x20, 0x1C - .byte 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xD4, 0xFB, 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x1C, 0xFC - .byte 0x03, 0x20, 0x20, 0x60, 0xB5, 0xE0, 0x20, 0x1C, 0x24, 0x30, 0x00, 0x21, 0xC3, 0xF7, 0xC8, 0xFB - .byte 0x20, 0x1C, 0x24, 0x30, 0xCF, 0xF7, 0x10, 0xFC, 0x05, 0x20, 0x20, 0x60, 0xA9, 0xE0, 0xE8, 0x68 - .byte 0xD8, 0xF7, 0x54, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0x00, 0x22, 0x55, 0x49, 0x30, 0x1C, 0x13, 0x1C - .byte 0xEF, 0xF7, 0xB2, 0xF9, 0x12, 0xE0, 0xE8, 0x68, 0xDC, 0xF7, 0x36, 0xF9, 0x28, 0x1C, 0x0B, 0x21 - .byte 0x03, 0x22, 0x9E, 0xF1, 0x01, 0xFE, 0x20, 0x62, 0x9E, 0xF1, 0xB4, 0xFD, 0x23, 0x1C, 0x00, 0x22 - .byte 0x4C, 0x49, 0x30, 0x1C, 0x1C, 0x33, 0xA2, 0x83, 0xEF, 0xF7, 0x9E, 0xF9, 0x04, 0x20, 0x20, 0x60 - .byte 0x87, 0xE0, 0xE8, 0x68, 0xD8, 0xF7, 0x32, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x20, 0x60 - .byte 0x7F, 0xE0, 0x20, 0x6A, 0x9E, 0xF1, 0xDA, 0xFD, 0x20, 0x6A, 0x9E, 0xF1, 0x13, 0xFE, 0xA0, 0x8B - .byte 0x00, 0x28, 0x02, 0xD1, 0x05, 0x20, 0x20, 0x60, 0x73, 0xE0, 0x06, 0x20, 0x20, 0x60, 0x70, 0xE0 - .byte 0x68, 0x6B, 0x0E, 0xF0, 0xED, 0xFE, 0x20, 0x1C, 0xCD, 0xF7, 0x1E, 0xF8, 0x02, 0xB0, 0x01, 0x20 - .byte 0x70, 0xBD, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0xF1, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x5F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x09, 0xF9, 0x00, 0x28, 0x59, 0xD0, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x55, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x98, 0xFA, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x4E, 0xE0, 0x01, 0x20, 0xE8, 0x66, 0x2B, 0x48, 0x02, 0x21, 0xBC, 0xF7, 0xDE, 0xFA - .byte 0x28, 0x1C, 0x06, 0xF0, 0x1B, 0xF9, 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68 - .byte 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E, 0xFF, 0xF7, 0xB7, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x37, 0xE0, 0xBB, 0xF7, 0xDF, 0xFC, 0x00, 0x28, 0x33, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0x86, 0xFB - .byte 0x28, 0x1C, 0x01, 0xF0, 0x77, 0xF8, 0x30, 0x1C, 0x01, 0xF0, 0x94, 0xFA, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x26, 0xE0, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x20, 0xD0 - .byte 0x06, 0xF0, 0x16, 0xF9, 0x28, 0x1C, 0xFA, 0xF1, 0xD5, 0xFE, 0x00, 0x21, 0xA8, 0x66, 0x02, 0x20 - .byte 0x0A, 0x1C, 0x00, 0x90, 0x1E, 0x20, 0x10, 0x3A, 0x19, 0x23, 0xC0, 0xF7, 0xBD, 0xFB, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x0D, 0xE0, 0x02, 0x20, 0xC0, 0xF7, 0x54, 0xFC, 0x00, 0x28, 0x08, 0xD0 - .byte 0x01, 0x20, 0xFD, 0xF1, 0x65, 0xFF, 0x20, 0x1C, 0xCC, 0xF7, 0xB6, 0xFF, 0x02, 0xB0, 0x01, 0x20 - .byte 0x70, 0xBD -_02049AB2: - mov r0, #0x0 - add sp, #0x8 - pop {r4-r6, pc} -_02049AB8: - .byte 0xD9, 0x03, 0x00, 0x00, 0xD8, 0x46, 0x0F, 0x02 - .byte 0xF2, 0x07, 0x00, 0x00, 0xD5, 0x07, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x70, 0xB5, 0x82, 0xB0 - .byte 0x06, 0x1C, 0xFC, 0xF7, 0x29, 0xFD, 0x05, 0x1C, 0x30, 0x1C, 0xFC, 0xF7, 0x27, 0xFD, 0x04, 0x1C - .byte 0x21, 0x68, 0x07, 0x29, 0x7A, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14 - .byte 0x8F, 0x44, 0x0E, 0x00, 0x38, 0x00, 0x60, 0x00, 0x74, 0x00, 0x82, 0x00, 0xA8, 0x00, 0xCA, 0x00 - .byte 0xDE, 0x00, 0x00, 0x20, 0xFD, 0xF1, 0x34, 0xFF, 0x06, 0xF0, 0xE6, 0xF8, 0xA8, 0x6E, 0xFA, 0xF1 - .byte 0x9D, 0xFE, 0x02, 0x20, 0x00, 0x90, 0x1E, 0x20, 0x01, 0x1C, 0x2E, 0x39, 0x00, 0x22, 0x01, 0x23 - .byte 0xC0, 0xF7, 0x72, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x57, 0xE0, 0x02, 0x20, 0xC0, 0xF7 - .byte 0x09, 0xFC, 0x00, 0x28, 0x52, 0xD0, 0xA8, 0x6E, 0x00, 0x28, 0x4F, 0xD1, 0xE7, 0xF7, 0x00, 0xFA - .byte 0x00, 0x28, 0x4B, 0xD1, 0x00, 0x20, 0x1E, 0x21, 0xBB, 0xF7, 0x40, 0xFC, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x43, 0xE0, 0x30, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x58, 0xF8, 0x00, 0x28, 0x3D, 0xD0 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x39, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x32, 0xE0, 0x00, 0x20, 0xE8, 0x66, 0x1A, 0x48, 0xBC, 0xF7, 0xF0, 0xF9 - .byte 0x60, 0x69, 0x01, 0x22, 0x00, 0x90, 0x01, 0x92, 0xA1, 0x68, 0x23, 0x69, 0x30, 0x1C, 0x92, 0x1E - .byte 0xFF, 0xF7, 0x0A, 0xFB, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1F, 0xE0, 0xBB, 0xF7, 0x32, 0xFC - .byte 0x00, 0x28, 0x1B, 0xD1, 0x00, 0x20, 0xBA, 0xF7, 0xD9, 0xFA, 0x28, 0x1C, 0x00, 0xF0, 0xCA, 0xFF - .byte 0x30, 0x1C, 0x01, 0xF0, 0xE7, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0E, 0xE0, 0x30, 0x1C - .byte 0x03, 0x21, 0x00, 0xF0, 0x23, 0xF8, 0x00, 0x28, 0x08, 0xD0, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x04, 0xE0, 0xCC, 0xF7, 0x21, 0xFF, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x02, 0xB0 - .byte 0x70, 0xBD, 0xC0, 0x46, 0x12, 0x00, 0x00, 0x00 - - thumb_func_start FUN_02049BE8 -FUN_02049BE8: ; 0x02049BE8 - push {r3, lr} - ldr r0, [r0, #0x6c] - cmp r0, #0x0 - bne _02049BF4 - ldr r0, _02049C04 ; =FUN_02049844 - pop {r3, pc} -_02049BF4: - cmp r0, #0x1 - bne _02049BFC - ldr r0, _02049C08 ; =0x02049ACD - pop {r3, pc} -_02049BFC: - bl FUN_02020C2C + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r1, r6, #0x0 + add r2, r7, #0x0 + mov r3, #0x4 + bl FUN_0206ED24 + strh r0, [r4, #0x0] mov r0, #0x0 - pop {r3, pc} - .balign 4 -_02049C04: .word FUN_02049844 + 1 -_02049C08: .word 0x02049ACD + pop {r3-r7, pc} - thumb_func_start FUN_02049C0C -FUN_02049C0C: ; 0x02049C0C + thumb_func_start FUN_0204588C +FUN_0204588C: ; 0x0204588C push {r3-r7, lr} add r4, r0, #0x0 - add r6, r1, #0x0 - bl FUN_02046528 + add r1, r4, #0x0 + add r1, #0x80 + ldr r5, [r1, #0x0] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r7, r0, #0x0 add r0, r4, #0x0 - bl FUN_0204652C + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - ldr r0, [r4, #0x4] - mov r5, #0x0 - cmp r0, #0x0 - beq _02049C2E - cmp r0, #0x1 - beq _02049C44 - b _02049C4E -_02049C2E: - add r2, r4, #0x0 - str r5, [r4, #0x18] - add r0, r7, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 add r1, r6, #0x0 - add r2, #0x18 - bl FUN_02053C98 - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _02049C4E -_02049C44: - ldr r0, [r4, #0x18] - cmp r0, #0x0 - beq _02049C4E - str r5, [r4, #0x4] - mov r5, #0x1 -_02049C4E: - add r0, r5, #0x0 + add r2, r7, #0x0 + mov r3, #0xb + bl FUN_0206EE50 + strh r0, [r4, #0x0] + mov r0, #0x0 pop {r3-r7, pc} - .balign 4 - thumb_func_start FUN_02049C54 -FUN_02049C54: ; 0x02049C54 + thumb_func_start FUN_020458E4 +FUN_020458E4: ; 0x020458E4 push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02046528 add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _02049C76 - cmp r0, #0x1 - beq _02049C84 - cmp r0, #0x2 - beq _02049C9C - b _02049CAC -_02049C76: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048B34 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049CAC -_02049C84: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - add r1, r4, #0x4 - bl FUN_02048958 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02054CB0 + strh r0, [r5, #0x0] + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02045918 +FUN_02045918: ; 0x02045918 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x2 - bl FUN_0203989C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049CAC -_02049C9C: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02048AE4 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r5, r0, #0x0 add r0, r4, #0x0 - bl FUN_02016A18 - mov r0, #0x1 - pop {r3-r5, pc} -_02049CAC: + mov r1, #0x5 + mov r2, #0xb + bl FUN_0206E7B8 + strh r0, [r5, #0x0] mov r0, #0x0 pop {r3-r5, pc} - thumb_func_start FUN_02049CB0 -FUN_02049CB0: ; 0x02049CB0 - push {r3-r7, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - mov r0, #0xb - mov r1, #0x18 - bl FUN_020169D8 - add r4, r0, #0x0 - add r0, r7, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - beq _02049CD6 - bl FUN_02020C2C - pop {r3-r7, pc} -_02049CD6: + thumb_func_start FUN_02045950 +FUN_02045950: ; 0x02045950 mov r0, #0x0 - str r0, [r4, #0x0] - ldmia r5!, {r0-r1} - add r2, r4, #0x4 - stmia r2!, {r0-r1} - ldmia r5!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r5, #0x0] - ldr r1, _02049CF4 ; =FUN_02049C54 - str r0, [r2, #0x0] - add r0, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} - .balign 4 -_02049CF4: .word FUN_02049C54 + 1 + bx lr - thumb_func_start FUN_02049CF8 -FUN_02049CF8: ; 0x02049CF8 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02046530 - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x5 - bhi _02049D98 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r2, r1, #0 - lsl r6, r4, #0 - lsl r2, r7, #0 - lsl r4, r1, #0x1 - lsl r2, r3, #0x1 - lsl r0, r5, #0x1 - ldr r1, [r5, #0x8] - add r0, r7, #0x0 - mov r2, #0x0 - bl FUN_0204ACA8 - add r0, r7, #0x0 - mov r1, #0x1 - add r2, r5, #0x4 - bl FUN_021E7750 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049D98 -_02049D4C: - .byte 0x68, 0x68, 0x00, 0x28 - .byte 0x22, 0xD0, 0x30, 0x1C, 0x01, 0xF0, 0xF2, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0 - .byte 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0xFB, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x12, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x06, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0 - .byte 0x30, 0x1C, 0x01, 0xF0, 0x43, 0xF9, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C - .byte 0xCC, 0xF7, 0x42, 0xFE, 0x01, 0x20, 0xF8, 0xBD -_02049D98: + thumb_func_start FUN_02045954 +FUN_02045954: ; 0x02045954 mov r0, #0x0 - pop {r3-r7, pc} + bx lr - thumb_func_start FUN_02049D9C -FUN_02049D9C: ; 0x02049D9C + thumb_func_start FUN_02045958 +FUN_02045958: ; 0x02045958 push {r4-r6, lr} - add r5, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 add r4, r0, #0x0 - mov r0, #0xb - mov r1, #0x1c - bl FUN_020169D8 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - mov r1, #0x0 - mov r2, #0x1c - blx FUN_020CE34C - add r2, r6, #0x0 - ldmia r4!, {r0-r1} - add r2, #0x8 - stmia r2!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - str r0, [r2, #0x0] - add r0, r5, #0x0 - bl FUN_020520F8 - ldr r0, [r5, #0x7c] - bl FUN_02052FA4 - mov r0, #0x0 - str r0, [r5, #0x6c] - ldr r1, _02049DF0 ; =FUN_02049CF8 + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 - add r2, r6, #0x0 - bl FUN_020463CC + bl FUN_02026CC4 + add r1, r6, #0x0 + bl FUN_02025D6C + strh r0, [r4, #0x0] mov r0, #0x0 - str r0, [r5, #0x78] pop {r4-r6, pc} - nop -_02049DF0: .word FUN_02049CF8 + 1 - thumb_func_start FUN_02049DF4 -FUN_02049DF4: ; 0x02049DF4 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_02046530 + thumb_func_start FUN_020459AC +FUN_020459AC: ; 0x020459AC + push {r4, lr} add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 ldr r0, [r4, #0x0] - cmp r0, #0x6 - bhi _02049E9E - add r1, r0, r0 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r4, r1, #0 - lsl r4, r4, #0 - lsl r2, r6, #0 - lsl r4, r0, #0x1 - lsl r2, r2, #0x1 - lsl r6, r4, #0x1 - lsl r2, r6, #0x1 - ldr r1, [r5, #0x8] - add r0, r7, #0x0 - mov r2, #0x0 - bl FUN_0204ACA8 - add r0, r6, #0x0 - bl FUN_0204AFC8 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049E9E -_02049E46: - .byte 0x30, 0x1C, 0x01, 0xF0, 0x78, 0xF8, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x24, 0xE0, 0x08, 0x35, 0x30, 0x1C, 0x29, 0x1C, 0xFF, 0xF7, 0x81, 0xF9, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0x30, 0x1C, 0x01, 0xF0, 0x8C, 0xF8, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x14, 0xE0, 0x00, 0x21, 0x69, 0x60, 0x38, 0x1C, 0x2A, 0x1D, 0x9D, 0xF1, 0x68, 0xFC - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x0A, 0xE0, 0x69, 0x68, 0x00, 0x29, 0x07, 0xD0, 0x40, 0x1C - .byte 0x20, 0x60, 0x04, 0xE0, 0x28, 0x1C, 0xCC, 0xF7, 0xBF, 0xFD, 0x01, 0x20, 0xF8, 0xBD -_02049E9E: + bl FUN_020394B8 mov r0, #0x0 - pop {r3-r7, pc} + pop {r4, pc} .balign 4 - thumb_func_start FUN_02049EA4 -FUN_02049EA4: ; 0x02049EA4 - push {r3-r7, lr} + thumb_func_start FUN_020459E8 +FUN_020459E8: ; 0x020459E8 + push {r4-r6, lr} + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - add r7, r0, #0x0 - mov r0, #0xb - mov r1, #0x1c - bl FUN_020169D8 - mov r1, #0x0 - mov r2, #0x1c + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - blx FUN_020CE34C - add r0, r7, #0x0 - add r1, r5, #0x0 - bl FUN_02048CB0 - ldr r0, _02049F08 ; =0x000001D2 - str r0, [r4, #0x8] + add r0, r5, #0x0 + bl FUN_02026CC4 + add r1, r6, #0x0 + bl FUN_02025D94 + strh r0, [r4, #0x0] mov r0, #0x0 - mvn r0, r0 - str r0, [r4, #0xc] - mov r0, #0x8 - str r0, [r4, #0x10] - mov r0, #0xe - str r0, [r4, #0x14] + pop {r4-r6, pc} + + thumb_func_start FUN_02045A3C +FUN_02045A3C: ; 0x02045A3C + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 mov r0, #0x0 - str r0, [r4, #0x18] - add r0, r5, #0x0 - bl FUN_020520AC - str r0, [r5, #0x78] - bl FUN_02052EE8 - str r0, [r5, #0x7c] - mov r0, #0x2 - str r0, [r5, #0x6c] - ldr r1, _02049F0C ; =FUN_02049DF4 - add r0, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} + pop {r4, pc} .balign 4 -_02049F08: .word 0x000001D2 -_02049F0C: .word FUN_02049DF4 + 1 - thumb_func_start FUN_02049F10 -FUN_02049F10: ; 0x02049F10 + thumb_func_start FUN_02045A78 +FUN_02045A78: ; 0x02045A78 push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_02046528 + add r4, r0, #0x0 + add r1, r4, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204652C + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 add r4, r0, #0x0 - ldr r1, [r4, #0x0] - cmp r1, #0x3 - bhi _02049F8E - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r6, r0, #0 - lsl r2, r4, #0 - lsl r2, r6, #0 - lsl r0, r2, #0x1 - ldr r0, _02049F94 ; =0x00000603 - bl FUN_020054C8 - ldr r1, [r4, #0x4] - add r0, r6, #0x0 - bl FUN_0204AD60 add r0, r5, #0x0 - bl FUN_0204B090 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _02049F8E -_02049F58: - .byte 0x28, 0x1C, 0x21, 0x1D, 0xFF, 0xF7, 0x00, 0xF9 - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x12, 0xE0, 0xBB, 0xF7, 0x4C, 0xFA, 0x00, 0x28, 0x0E, 0xD1 - .byte 0x61, 0x68, 0x30, 0x1C, 0x00, 0xF0, 0x0A, 0xFF, 0x28, 0x1C, 0x01, 0xF0, 0x03, 0xF8, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0, 0xCC, 0xF7, 0x47, 0xFD, 0x01, 0x20, 0x70, 0xBD -_02049F8E: + bl FUN_02026CC4 + add r1, r6, #0x0 + bl FUN_02026298 + strh r0, [r4, #0x0] mov r0, #0x0 pop {r4-r6, pc} - nop -_02049F94: .word 0x00000603 - - thumb_func_start FUN_02049F98 -FUN_02049F98: ; 0x02049F98 - push {r3-r7, lr} - sub sp, #0x18 - str r0, [sp, #0x0] - add r5, r1, #0x0 - add r6, r2, #0x0 - add r7, r3, #0x0 - bl FUN_02046528 - add r4, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 - add r1, r4, #0x0 - bl FUN_02048CB0 - mov r0, #0x3 - str r0, [r4, #0x6c] - mov r0, #0xb - mov r1, #0x1c - bl FUN_020169D8 - add r2, r0, #0x0 - ldr r0, [sp, #0x30] - str r5, [sp, #0x4] - str r0, [sp, #0x10] - ldr r0, [sp, #0x34] - str r6, [sp, #0x8] - str r0, [sp, #0x14] - mov r0, #0x0 - str r7, [sp, #0xc] - add r4, sp, #0x4 - str r0, [r2, #0x0] - ldmia r4!, {r0-r1} - add r3, r2, #0x4 - stmia r3!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r3!, {r0-r1} - ldr r0, [r4, #0x0] - ldr r1, _02049FF8 ; =FUN_02049F10 - str r0, [r3, #0x0] - ldr r0, [sp, #0x0] - bl FUN_0204640C - add sp, #0x18 - pop {r3-r7, pc} - nop -_02049FF8: .word FUN_02049F10 + 1 - thumb_func_start FUN_02049FFC -FUN_02049FFC: ; 0x02049FFC + thumb_func_start FUN_02045ACC +FUN_02045ACC: ; 0x02045ACC push {r4, lr} - bl FUN_02046528 add r4, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_02034E30 - bl FUN_02034DD0 + bl FUN_02038C30 add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 mov r0, #0x0 - str r0, [r4, #0x6c] - ldr r0, [r4, #0x10] - bl FUN_020490C0 pop {r4, pc} + .balign 4 - thumb_func_start FUN_0204A01C -FUN_0204A01C: ; 0x0204A01C + thumb_func_start FUN_02045B08 +FUN_02045B08: ; 0x02045B08 push {r4, lr} - mov r1, #0xa2 - mov r2, #0x0 add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204A030 - mov r0, #0x0 - pop {r4, pc} -_0204A030: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x4c - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204A042 - mov r0, #0x1 - pop {r4, pc} -_0204A042: + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 mov r0, #0x0 pop {r4, pc} .balign 4 - thumb_func_start FUN_0204A048 -FUN_0204A048: ; 0x0204A048 - push {r3-r7, lr} - sub sp, #0x20 - add r6, r1, #0x0 + thumb_func_start FUN_02045B44 +FUN_02045B44: ; 0x02045B44 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02045B80 +FUN_02045B80: ; 0x02045B80 + push {r3-r5, lr} add r5, r0, #0x0 - add r0, r6, #0x0 - add r7, r2, #0x0 - str r3, [sp, #0x10] - bl FUN_020238F4 - str r0, [sp, #0x14] - add r0, r6, #0x0 - bl FUN_0206BB1C - str r0, [sp, #0x18] + add r1, r5, #0x0 + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r4, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - bl FUN_020669C0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r5, #0x80 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_020394B8 + add r0, r4, #0x0 + bl FUN_02026CC4 + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02045BC8 +FUN_02045BC8: ; 0x02045BC8 + push {r4, lr} add r4, r0, #0x0 - bl FUN_02066978 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 mov r0, #0x0 - str r0, [sp, #0x0] - str r0, [sp, #0x4] - str r0, [sp, #0x8] - str r0, [sp, #0xc] - ldr r2, [sp, #0x10] + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02045C04 +FUN_02045C04: ; 0x02045C04 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r1, r7, #0x0 - mov r3, #0x20 - bl FUN_02066ACC - ldr r0, [sp, #0x40] - ldr r1, [sp, #0x14] - str r0, [sp, #0x0] - ldr r3, [sp, #0x3c] + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r0, r4, #0x0 - mov r2, #0x4 - str r5, [sp, #0x4] - bl FUN_0206A014 - add r0, sp, #0x28 - ldrh r0, [r0, #0x10] - mov r1, #0x6 - add r2, sp, #0x1c - str r0, [sp, #0x1c] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_02067830 - ldr r0, [sp, #0x18] - add r1, r4, #0x0 - bl FUN_0206B900 - add r5, r0, #0x0 - beq _0204A0BC - add r0, r6, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02045C40 +FUN_02045C40: ; 0x02045C40 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02045C7C +FUN_02045C7C: ; 0x02045C7C + push {r3-r7, lr} + add r4, r0, #0x0 add r1, r4, #0x0 - bl FUN_0202C144 -_0204A0BC: + add r1, #0x80 + ldr r1, [r1, #0x0] + ldr r5, [r1, #0xc] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_02016A18 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 add r0, r5, #0x0 - add sp, #0x20 + bl FUN_02026CC4 + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_020260C4 + strh r0, [r4, #0x0] + mov r0, #0x0 pop {r3-r7, pc} - thumb_func_start FUN_0204A0C8 -FUN_0204A0C8: ; 0x0204A0C8 - push {r4-r7, lr} - sub sp, #0xc - add r4, r1, #0x0 + thumb_func_start FUN_02045CD4 +FUN_02045CD4: ; 0x02045CD4 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r5, r2, #0x0 - add r7, r3, #0x0 - bl FUN_020238F4 - str r0, [sp, #0x8] + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r0, r4, #0x0 - bl FUN_0206BB1C - add r6, r0, #0x0 - mov r0, #0x20 - bl FUN_020669C0 - add r4, r0, #0x0 - bl FUN_02066978 - ldr r0, [sp, #0x20] - ldr r1, [sp, #0x24] - bl FUN_02015CF8 - mov r1, #0x4 - str r1, [sp, #0x0] - str r0, [sp, #0x4] - ldr r3, [sp, #0x8] + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - add r1, r5, #0x0 - add r2, r7, #0x0 - bl FUN_021ECF14 - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_0206B900 - add r5, r0, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r0, r4, #0x0 - bl FUN_02016A18 - add r0, r5, #0x0 - add sp, #0xc - pop {r4-r7, pc} + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204A120 -FUN_0204A120: ; 0x0204A120 - push {r3-r5, lr} - add r5, r2, #0x0 - add r4, r3, #0x0 - bl FUN_0206B9B0 - lsl r2, r5, #0x18 - add r1, r4, #0x0 - lsr r2, r2, #0x18 - bl FUN_020697CC - pop {r3-r5, pc} + thumb_func_start FUN_02045D10 +FUN_02045D10: ; 0x02045D10 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r0, r4, #0x0 + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204A138 -FUN_0204A138: ; 0x0204A138 - push {r3-r7, lr} - str r0, [sp, #0x0] - add r5, r1, #0x0 - bl FUN_0206B9AC - add r7, r0, #0x0 - mov r6, #0x0 - cmp r7, #0x0 - ble _0204A1A2 -_0204A14A: - ldr r0, [sp, #0x0] - add r1, r6, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 + thumb_func_start FUN_02045D4C +FUN_02045D4C: ; 0x02045D4C + push {r4, lr} add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204A19C + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x36 - mov r2, #0x0 - bl FUN_020671BC - cmp r5, r0 - beq _0204A198 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r0, r4, #0x0 - mov r1, #0x37 - mov r2, #0x0 - bl FUN_020671BC - cmp r5, r0 - beq _0204A198 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x38 - mov r2, #0x0 - bl FUN_020671BC - cmp r5, r0 - beq _0204A198 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 add r0, r4, #0x0 - mov r1, #0x39 - mov r2, #0x0 - bl FUN_020671BC - cmp r5, r0 - bne _0204A19C -_0204A198: - add r0, r6, #0x0 - pop {r3-r7, pc} -_0204A19C: - add r6, r6, #0x1 - cmp r6, r7 - blt _0204A14A -_0204A1A2: - mov r0, #0xff - pop {r3-r7, pc} + bl FUN_02038C30 + add r4, #0x80 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] + bl FUN_020394B8 + mov r0, #0x0 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204A1A8 -FUN_0204A1A8: ; 0x0204A1A8 - push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_0206B9AC - mov r5, #0x0 + thumb_func_start FUN_02045D88 +FUN_02045D88: ; 0x02045D88 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + mov r1, #0x13 + bl FUN_02039438 + add r1, r5, #0x0 + add r1, #0x80 + lsl r2, r4, #0x18 add r6, r0, #0x0 - add r4, r5, #0x0 - cmp r6, #0x0 - ble _0204A1D2 -_0204A1BA: - add r0, r7, #0x0 - add r1, r4, #0x0 - bl FUN_0206B9B0 - bl FUN_0204A01C - cmp r0, #0x0 - beq _0204A1CC - add r5, r5, #0x1 -_0204A1CC: - add r4, r4, #0x1 - cmp r4, r6 - blt _0204A1BA -_0204A1D2: + ldr r1, [r1, #0x0] + mov r0, #0x20 + lsr r2, r2, #0x18 + bl FUN_02037CF0 + str r0, [r6, #0x0] + ldr r1, _02045DCC ; =FUN_0203BC04 add r0, r5, #0x0 - pop {r3-r7, pc} - .balign 4 + bl FUN_02038B5C + mov r0, #0x1 + pop {r4-r6, pc} + nop +_02045DCC: .word FUN_0203BC04 + 1 - thumb_func_start FUN_0204A1D8 -FUN_0204A1D8: ; 0x0204A1D8 - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_0206B9AC + thumb_func_start FUN_02045DD0 +FUN_02045DD0: ; 0x02045DD0 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 add r5, r0, #0x0 - mov r4, #0x0 - cmp r5, #0x0 - ble _0204A204 -_0204A1E8: - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_0206B9B0 - add r7, r0, #0x0 - bl FUN_0204A01C + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl FUN_02039438 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204A1FE - add r0, r7, #0x0 - pop {r3-r7, pc} -_0204A1FE: - add r4, r4, #0x1 - cmp r4, r5 - blt _0204A1E8 -_0204A204: + bne _02045DFC bl FUN_02020C2C +_02045DFC: + ldr r0, [r4, #0x0] + bl FUN_02037D5C + strh r0, [r5, #0x0] + ldrh r0, [r5, #0x0] + cmp r0, #0x4 + bne _02045E0E + mov r0, #0xff + strh r0, [r5, #0x0] +_02045E0E: + ldr r0, [r4, #0x0] + bl FUN_02016A18 mov r0, #0x0 - pop {r3-r7, pc} + str r0, [r4, #0x0] + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_0204A20C -FUN_0204A20C: ; 0x0204A20C - push {r3-r7, lr} - add r6, r0, #0x0 - bl FUN_0206B9AC - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - ldr r4, _0204A244 ; =0x00000000 - beq _0204A240 -_0204A21C: - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 - add r7, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204A236 - add r0, r7, #0x0 - pop {r3-r7, pc} -_0204A236: - add r0, r4, #0x1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, r5 - blo _0204A21C -_0204A240: + thumb_func_start FUN_02045E1C +FUN_02045E1C: ; 0x02045E1C mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 -_0204A244: .word 0x00000000 + bx lr - thumb_func_start FUN_0204A248 -FUN_0204A248: ; 0x0204A248 - push {r3, lr} - bl FUN_0204A1A8 - cmp r0, #0x2 - blt _0204A256 - mov r0, #0x1 - pop {r3, pc} -_0204A256: + thumb_func_start FUN_02045E20 +FUN_02045E20: ; 0x02045E20 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r5, #0x80 + add r6, r0, #0x0 + ldr r0, [r5, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + mov r1, #0x20 + bl FUN_02088DF8 + add r5, r0, #0x0 + bl FUN_02088EF8 + strh r0, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02016A18 mov r0, #0x0 - pop {r3, pc} + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204A25C -FUN_0204A25C: ; 0x0204A25C + thumb_func_start FUN_02045E74 +FUN_02045E74: ; 0x02045E74 push {r3-r7, lr} - mov r2, #0x1 - add r1, sp, #0x0 - add r7, r0, #0x0 - strb r2, [r1, #0x0] - bl FUN_0206B9AC - add r6, r0, #0x0 - mov r5, #0x0 - cmp r6, #0x0 - ble _0204A298 -_0204A272: - add r0, r7, #0x0 - add r1, r5, #0x0 - bl FUN_0206B9B0 - mov r1, #0x4c - mov r2, #0x0 + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x80 + add r7, r1, #0x0 + ldr r0, [r0, #0x0] + mov r1, #0x13 + str r2, [sp, #0x0] + add r6, r3, #0x0 + bl FUN_02039438 + str r0, [sp, #0x4] + mov r0, #0x20 + bl FUN_02088DD8 add r4, r0, #0x0 - bl FUN_020671BC - cmp r0, #0x0 - bne _0204A292 - add r0, r4, #0x0 - mov r1, #0x19 - add r2, sp, #0x0 - bl FUN_02067830 -_0204A292: - add r5, r5, #0x1 - cmp r5, r6 - blt _0204A272 -_0204A298: + ldr r0, [sp, #0x4] + str r4, [r0, #0x0] + ldr r0, [sp, #0x0] + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020377AC + bl FUN_020238F4 + str r0, [r4, #0x4] + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02023900 + str r0, [r4, #0x8] + str r6, [r4, #0xc] + add r0, r5, #0x0 + strb r7, [r4, #0x15] + add r0, #0x80 + ldr r0, [r0, #0x0] + add r1, r4, #0x0 + bl FUN_02038864 + ldr r1, _02045EDC ; =FUN_0203BC04 + add r0, r5, #0x0 + bl FUN_02038B5C + add r0, r6, #0x0 + bl FUN_02016A18 + add sp, #0x8 pop {r3-r7, pc} .balign 4 +_02045EDC: .word FUN_0203BC04 + 1 - thumb_func_start FUN_0204A29C -FUN_0204A29C: ; 0x0204A29C - push {r3-r7, lr} - sub sp, #0x10 - mov r7, #0x0 - str r0, [sp, #0x0] - str r1, [sp, #0x4] - add r6, r7, #0x0 - bl FUN_0206B9AC - add r4, r7, #0x0 - str r0, [sp, #0x8] - cmp r0, #0x0 - ble _0204A310 -_0204A2B4: - ldr r0, [sp, #0x0] + thumb_func_start FUN_02045EE0 +FUN_02045EE0: ; 0x02045EE0 + mov r0, #0x1 + bx lr + + thumb_func_start FUN_02045EE4 +FUN_02045EE4: ; 0x02045EE4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C add r1, r4, #0x0 bl FUN_0206B9B0 + add r4, r0, #0x0 + mov r1, #0x20 + bl FUN_02088DF8 + add r3, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl FUN_02045E74 + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start FUN_02045F24 +FUN_02045F24: ; 0x02045F24 + push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_0204A01C - cmp r0, #0x0 - beq _0204A308 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x9f - mov r2, #0x0 - bl FUN_020671BC - mov r1, #0x88 - tst r0, r1 - beq _0204A308 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r6, r0, #0x0 add r0, r5, #0x0 - mov r1, #0xa2 - mov r2, #0x0 - bl FUN_020671BC - str r0, [sp, #0xc] - cmp r0, #0x1 - bls _0204A2EA - sub r0, r0, #0x1 - str r0, [sp, #0xc] -_0204A2EA: + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r5, #0x0 - mov r1, #0xa2 - add r2, sp, #0xc - bl FUN_02067830 - ldr r0, [sp, #0xc] - cmp r0, #0x1 - bne _0204A306 - ldr r2, [sp, #0x4] + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394F0 + add r4, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x7 - add r6, r6, #0x1 - bl FUN_020688E8 -_0204A306: - add r7, r7, #0x1 -_0204A308: - ldr r0, [sp, #0x8] - add r4, r4, #0x1 - cmp r4, r0 - blt _0204A2B4 -_0204A310: - cmp r6, #0x0 - beq _0204A31A - add sp, #0x10 - mov r0, #0x2 - pop {r3-r7, pc} -_0204A31A: - cmp r7, #0x0 - beq _0204A324 - add sp, #0x10 + add r0, #0x80 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r1, r6, #0x0 + bl FUN_0206B9B0 + add r6, r0, #0x0 + mov r0, #0x20 + mov r1, #0x4 + bl FUN_02016998 + add r3, r0, #0x0 + ldr r0, _02045F80 ; =0x0000FFFF + strh r4, [r3, #0x0] + strh r0, [r3, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r6, #0x0 + bl FUN_02045E74 mov r0, #0x1 - pop {r3-r7, pc} -_0204A324: - mov r0, #0x0 - add sp, #0x10 - pop {r3-r7, pc} + pop {r4-r6, pc} .balign 4 +_02045F80: .word 0x0000FFFF - thumb_func_start FUN_0204A32C -FUN_0204A32C: ; 0x0204A32C - push {r3-r4, lr} - sub sp, #0x4 - mov r1, #0x9f - mov r2, #0x0 + thumb_func_start FUN_02045F84 +FUN_02045F84: ; 0x02045F84 + mov r0, #0x0 + bx lr + + thumb_func_start FUN_02045F88 +FUN_02045F88: ; 0x02045F88 + push {r3-r5, lr} add r4, r0, #0x0 - bl FUN_020671BC - mov r1, #0x88 - tst r0, r1 - beq _0204A362 + bl FUN_02038C30 + add r1, r0, #0x0 add r0, r4, #0x0 - mov r1, #0xa2 - mov r2, #0x0 - bl FUN_020671BC - cmp r0, #0x1 - bne _0204A362 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl FUN_02039438 + ldr r4, [r0, #0x0] + cmp r4, #0x0 + bne _02045FB2 + bl FUN_02020C2C +_02045FB2: + ldrb r0, [r4, #0x16] + cmp r0, #0x0 + bne _02045FBC mov r0, #0x0 - str r0, [sp, #0x0] + b _02045FBE +_02045FBC: + mov r0, #0xff +_02045FBE: + strh r0, [r5, #0x0] add r0, r4, #0x0 - mov r1, #0x9f - add r2, sp, #0x0 - bl FUN_02067830 - add sp, #0x4 - mov r0, #0x1 - pop {r3-r4, pc} -_0204A362: + bl FUN_02088DF0 mov r0, #0x0 - add sp, #0x4 - pop {r3-r4, pc} + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_0204A368 -FUN_0204A368: ; 0x0204A368 + thumb_func_start FUN_02045FCC +FUN_02045FCC: ; 0x02045FCC push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02038C30 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x80 + ldr r0, [r0, #0x0] + bl FUN_020394B8 + add r4, #0x80 add r5, r0, #0x0 - ldr r0, [r5, #0x54] - add r4, r1, #0x0 + ldr r0, [r4, #0x0] + mov r1, #0x13 + bl FUN_02039438 + ldr r4, [r0, #0x0] + cmp r4, #0x0 + bne _02045FF6 + bl FUN_02020C2C +_02045FF6: + ldrb r0, [r4, #0x16] cmp r0, #0x0 - bne _0204A388 - ldr r1, _0204A38C ; =0x000080E2 - mov r0, #0xb - bl FUN_02016998 - str r0, [r5, #0x54] - ldr r0, [r5, #0x28] - ldr r1, [r5, #0x54] - add r2, r4, #0x0 - bl FUN_0204A3B0 -_0204A388: + bne _02046000 + mov r0, #0x0 + b _02046002 +_02046000: + mov r0, #0xff +_02046002: + strh r0, [r5, #0x0] + add r0, r4, #0x0 + bl FUN_02088DF0 + mov r0, #0x0 pop {r3-r5, pc} - nop -_0204A38C: .word 0x000080E2 + .balign 4 - thumb_func_start FUN_0204A390 -FUN_0204A390: ; 0x0204A390 + thumb_func_start FUN_02046010 +FUN_02046010: ; 0x02046010 + push {r3, lr} + bl FUN_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204601C +FUN_0204601C: ; 0x0204601C + push {r3, lr} + bl FUN_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_02046028 +FUN_02046028: ; 0x02046028 + mov r0, #0x0 + bx lr + + thumb_func_start FUN_0204602C +FUN_0204602C: ; 0x0204602C + mov r0, #0x0 + bx lr + + thumb_func_start FUN_02046030 +FUN_02046030: ; 0x02046030 push {r4, lr} add r4, r0, #0x0 - ldr r0, [r4, #0x54] - cmp r0, #0x0 - beq _0204A3A2 - bl FUN_02016A18 + mov r0, #0xb + mov r1, #0xc + bl FUN_020169D8 + add r2, r0, #0x0 mov r0, #0x0 - str r0, [r4, #0x54] -_0204A3A2: + strb r0, [r2, #0x0] + strb r0, [r2, #0x1] + strb r0, [r2, #0x2] + strb r0, [r2, #0x3] + strb r0, [r2, #0x4] + strb r0, [r2, #0x5] + strb r0, [r2, #0x6] + strb r0, [r2, #0x7] + strb r0, [r2, #0x8] + strb r0, [r2, #0x9] + strb r0, [r2, #0xa] + strb r0, [r2, #0xb] + ldr r0, [r4, #0x10] + ldr r1, _02046064 ; =FUN_02046068 + bl FUN_0204640C pop {r4, pc} + nop +_02046064: .word FUN_02046068 + 1 - thumb_func_start FUN_0204A3A4 -FUN_0204A3A4: ; 0x0204A3A4 - ldrb r0, [r1, r0] - add r2, r1, #0x0 - add r2, #0xe2 - lsl r0, r0, #0xb - add r0, r2, r0 - bx lr - - thumb_func_start FUN_0204A3B0 -FUN_0204A3B0: ; 0x0204A3B0 - push {r4-r7, lr} - sub sp, #0x3c - str r1, [sp, #0x8] - str r2, [sp, #0xc] - str r0, [sp, #0x4] - mov r2, #0x0 - add r1, sp, #0x18 - strb r2, [r1, #0x0] - bl FUN_020344FC + thumb_func_start FUN_02046068 +FUN_02046068: ; 0x02046068 + push {r4-r6, lr} + sub sp, #0x38 add r6, r0, #0x0 - ldr r0, [sp, #0x4] - bl FUN_0203450C - str r0, [sp, #0x10] + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020462AC + ldrb r1, [r4, #0x8] + cmp r1, #0xb + bls _0204608A + b _020461F8 +_0204608A: + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_02046096: ; jump table (using 16-bit offset) + .short _020460AE - _02046096 - 2; case 0 + .short _020460D4 - _02046096 - 2; case 1 + .short _020460E2 - _02046096 - 2; case 2 + .short _0204610A - _02046096 - 2; case 3 + .short _02046118 - _02046096 - 2; case 4 + .short _02046150 - _02046096 - 2; case 5 + .short _02046160 - _02046096 - 2; case 6 + .short _0204618A - _02046096 - 2; case 7 + .short _02046198 - _02046096 - 2; case 8 + .short _020461C0 - _02046096 - 2; case 9 + .short _020461CE - _02046096 - 2; case 10 + .short _020461E4 - _02046096 - 2; case 11 +_020460AE: + ldr r0, [r5, #0x38] + bl FUN_02055320 + strh r0, [r4, #0x4] + ldr r0, [r5, #0x38] + bl FUN_0205532C + strh r0, [r4, #0x6] + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_0206367C + add r0, r6, #0x0 + bl FUN_0204AFC8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020460D4: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020460E2: + bl FUN_0205F1C4 + mov r0, #0xac + str r0, [sp, #0x24] + sub r0, #0xad + str r0, [sp, #0x28] + ldr r0, _02046200 ; =0x0000034F + add r1, sp, #0x24 + str r0, [sp, #0x2c] + ldr r0, _02046204 ; =0x00000231 + str r0, [sp, #0x30] + mov r0, #0x1 + str r0, [sp, #0x34] + add r0, r6, #0x0 + bl FUN_02049160 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_0204610A: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046118: + ldr r0, [r5, #0x38] + mov r1, #0x1 + bl FUN_02046214 + add r0, r5, #0x0 + bl FUN_02046224 mov r0, #0x0 - str r0, [sp, #0x14] - ldr r0, [sp, #0x10] - cmp r0, #0x0 - ble _0204A410 - ldr r7, [sp, #0x14] -_0204A3DA: - mov r5, #0x0 - cmp r6, #0x0 - ble _0204A402 -_0204A3E0: - add r0, r5, r7 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - ldr r1, [sp, #0x4] - add r0, r4, #0x0 - bl FUN_020344D8 - add r1, sp, #0x18 - add r1, #0x2 - add r2, sp, #0x18 - bl FUN_0204A45C - ldr r1, [sp, #0x8] - add r5, r5, #0x1 - strb r0, [r1, r4] - cmp r5, r6 - blt _0204A3E0 -_0204A402: - ldr r0, [sp, #0x14] - add r7, r7, r6 - add r1, r0, #0x1 - ldr r0, [sp, #0x10] - str r1, [sp, #0x14] - cmp r1, r0 - blt _0204A3DA -_0204A410: - mov r0, #0x43 - mov r1, #0xb - bl FUN_02006670 - add r7, r0, #0x0 - ldr r0, [sp, #0xc] - mov r6, #0x0 - cmp r0, #0x0 - ble _0204A452 - ldr r0, [sp, #0x8] - add r4, sp, #0x18 - add r0, #0xe2 - add r4, #0x2 - add r5, r6, #0x0 - str r0, [sp, #0x8] -_0204A42E: - ldr r0, [sp, #0x8] - lsl r1, r5, #0x1 - add r0, r0, r1 str r0, [sp, #0x0] - ldrh r1, [r4, #0x0] - mov r2, #0x10 - add r0, r7, #0x0 - lsl r3, r2, #0x7 - bl FUN_02006814 + mov r0, #0x6 + str r0, [sp, #0x4] mov r0, #0x1 - lsl r0, r0, #0xa - add r5, r5, r0 - ldr r0, [sp, #0xc] - add r6, r6, #0x1 - add r4, r4, #0x2 - cmp r6, r0 - blt _0204A42E -_0204A452: - add r0, r7, #0x0 - bl FUN_020066F4 - add sp, #0x3c - pop {r4-r7, pc} - - thumb_func_start FUN_0204A45C -FUN_0204A45C: ; 0x0204A45C - push {r3-r7, lr} - add r7, r2, #0x0 - add r5, r0, #0x0 - ldrb r0, [r7, #0x0] - add r6, r1, #0x0 - mov r4, #0x0 - cmp r0, #0x0 - bls _0204A482 -_0204A46C: - lsl r1, r4, #0x1 - ldrh r1, [r6, r1] - cmp r5, r1 - bne _0204A478 - add r0, r4, #0x0 - pop {r3-r7, pc} -_0204A478: - add r1, r4, #0x1 - lsl r1, r1, #0x18 - lsr r4, r1, #0x18 - cmp r4, r0 - blo _0204A46C -_0204A482: - cmp r4, #0x10 - blo _0204A48A - bl FUN_02020C2C -_0204A48A: - lsl r0, r4, #0x1 - strh r5, [r6, r0] - ldrb r0, [r7, #0x0] + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r3, _02046208 ; =0x0000FFFF + add r0, r6, #0x0 + mov r1, #0x3 + mov r2, #0x11 + bl FUN_0204C1B4 + ldr r0, _0204620C ; =0x00000679 + bl FUN_020054C8 + ldrb r0, [r4, #0x8] add r0, r0, #0x1 - strb r0, [r7, #0x0] - add r0, r4, #0x0 - pop {r3-r7, pc} - - thumb_func_start FUN_0204A498 -FUN_0204A498: ; 0x0204A498 - cmp r0, r1 - blt _0204A4A0 - sub r0, r0, r1 - bx lr -_0204A4A0: - sub r0, r1, r0 - bx lr - - thumb_func_start FUN_0204A4A4 -FUN_0204A4A4: ; 0x0204A4A4 - push {r3-r7, lr} - sub sp, #0x38 - add r4, r2, #0x0 - add r6, r3, #0x0 - add r5, r0, #0x0 + strb r0, [r4, #0x8] + b _020461F8 +_02046150: + ldr r0, _02046210 ; =0x021C48B8 + ldr r2, [r0, #0x48] + mov r0, #0x3 + tst r0, r2 + beq _020461F8 + add r0, r1, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046160: mov r0, #0x0 - str r4, [sp, #0x2c] - str r6, [sp, #0x34] - str r0, [sp, #0x10] - str r0, [sp, #0x30] - ldr r0, [r5, #0x24] - str r1, [sp, #0x4] + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 str r0, [sp, #0x8] - ldr r0, [r5, #0x28] - bl FUN_020344FC - str r0, [sp, #0x24] - lsl r0, r0, #0x5 + mov r0, #0xb str r0, [sp, #0xc] - asr r0, r4, #0xf - lsr r0, r0, #0x10 - add r0, r4, r0 - asr r7, r0, #0x10 - asr r0, r6, #0xf - lsr r0, r0, #0x10 - add r0, r6, r0 - asr r0, r0, #0x10 - str r0, [sp, #0x1c] - add r2, r5, #0x0 - add r2, #0x9c - ldr r1, [sp, #0x1c] - ldr r2, [r2, #0x0] - add r0, r7, #0x0 - add r3, sp, #0x28 - bl FUN_021F4520 - str r0, [sp, #0x20] - lsr r0, r7, #0x5 - str r0, [sp, #0x18] - ldr r0, [sp, #0x1c] - ldr r1, [sp, #0x1c] - lsr r0, r0, #0x5 - str r0, [sp, #0x14] - ldr r0, [sp, #0x18] - lsl r0, r0, #0x5 - add r0, #0x10 - lsl r0, r0, #0x10 - sub r0, r4, r0 - str r0, [sp, #0x2c] - ldr r0, [sp, #0x14] - lsl r0, r0, #0x5 - add r0, #0x10 - lsl r0, r0, #0x10 - sub r0, r6, r0 - str r0, [sp, #0x34] - ldr r0, [sp, #0xc] - mul r0, r1 - ldr r1, [sp, #0xc] - add r0, r7, r0 - bl FUN_021EF620 - ldr r2, [sp, #0x14] - add r1, r0, #0x0 - add r3, r2, #0x0 - ldr r0, [sp, #0x24] - ldr r2, [sp, #0x8] - mul r3, r0 - ldr r0, [sp, #0x18] - add r0, r0, r3 - bl FUN_021EF654 - add r1, r0, #0x0 - cmp r1, #0x3 - bls _0204A53C - mov r4, #0x0 - b _0204A558 -_0204A53C: - lsl r1, r1, #0x18 - ldr r0, [sp, #0x8] - lsr r1, r1, #0x18 - bl FUN_021EF8C8 - add r3, r0, #0x0 - add r0, sp, #0x30 - str r0, [sp, #0x0] - ldr r0, [sp, #0x4] - ldr r1, [sp, #0x2c] - ldr r2, [sp, #0x34] - bl FUN_021F3DA4 - add r4, r0, #0x0 -_0204A558: - ldr r0, [sp, #0x20] - cmp r0, #0x0 - beq _0204A5A4 - add r0, sp, #0x28 - add r5, #0x9c - ldrb r0, [r0, #0x0] - ldr r1, [r5, #0x0] - bl FUN_021F4568 - add r5, r0, #0x0 - cmp r4, #0x0 - beq _0204A59E - ldr r0, [sp, #0x30] + ldr r3, _02046208 ; =0x0000FFFF + add r0, r6, #0x0 + mov r1, #0x3 + mov r2, #0x10 + bl FUN_0204C1B4 + ldr r0, _0204620C ; =0x00000679 + bl FUN_020054C8 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_0204618A: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_02046198: + bl FUN_0205F1D4 + ldrh r2, [r4, #0x6] + ldrh r1, [r4, #0x4] + mov r0, #0xa4 str r0, [sp, #0x10] - cmp r5, r0 - bgt _0204A57C - mov r1, #0x1 - b _0204A5B2 -_0204A57C: - ldr r1, [sp, #0x4] - bl FUN_0204A498 - add r4, r0, #0x0 - ldr r1, [sp, #0x4] + sub r0, #0xa5 + str r0, [sp, #0x14] + mov r0, #0x0 + str r1, [sp, #0x18] + str r0, [sp, #0x20] + str r2, [sp, #0x1c] + add r0, r6, #0x0 + add r1, sp, #0x10 + bl FUN_02049160 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461C0: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461CE: + ldr r0, [r5, #0x38] + mov r1, #0x0 + bl FUN_02046214 + add r0, r6, #0x0 + bl FUN_0204B00C + ldrb r0, [r4, #0x8] + add r0, r0, #0x1 + strb r0, [r4, #0x8] + b _020461F8 +_020461E4: + add r0, r4, #0x0 + bl FUN_02016A18 add r0, r5, #0x0 - bl FUN_0204A498 - cmp r4, r0 - bgt _0204A598 - ldr r0, [sp, #0x30] - mov r1, #0x1 - str r0, [sp, #0x10] - b _0204A5B2 -_0204A598: - str r5, [sp, #0x10] - mov r1, #0x2 - b _0204A5B2 -_0204A59E: - mov r1, #0x2 - str r5, [sp, #0x10] - b _0204A5B2 -_0204A5A4: - cmp r4, #0x0 - beq _0204A5B0 - ldr r0, [sp, #0x30] - mov r1, #0x1 - str r0, [sp, #0x10] - b _0204A5B2 -_0204A5B0: mov r1, #0x0 -_0204A5B2: - ldr r0, [sp, #0x50] - cmp r0, #0x0 - beq _0204A5BA - strb r1, [r0, #0x0] -_0204A5BA: - ldr r0, [sp, #0x10] + bl FUN_0206367C add sp, #0x38 - pop {r3-r7, pc} - - thumb_func_start FUN_0204A5C0 -FUN_0204A5C0: ; 0x0204A5C0 - push {r3, lr} - asr r1, r2, #0xf - lsr r1, r1, #0x10 - add r1, r2, r1 - asr r2, r3, #0xf - lsr r2, r2, #0x10 - add r2, r3, r2 - ldr r0, [r0, #0x24] - asr r1, r1, #0x10 - asr r2, r2, #0x10 - mov r3, #0x0 - bl FUN_021EF844 - ldr r1, [sp, #0x8] - cmp r1, #0x0 - beq _0204A5EE - cmp r0, #0x0 - beq _0204A5E8 - mov r1, #0x1 - b _0204A5EA -_0204A5E8: - mov r1, #0x0 -_0204A5EA: - ldr r0, [sp, #0x8] - strb r1, [r0, #0x0] -_0204A5EE: + mov r0, #0x1 + pop {r4-r6, pc} +_020461F8: mov r0, #0x0 - pop {r3, pc} - .balign 4 + add sp, #0x38 + pop {r4-r6, pc} + nop +_02046200: .word 0x0000034F +_02046204: .word 0x00000231 +_02046208: .word 0x0000FFFF +_0204620C: .word 0x00000679 +_02046210: .word 0x021C48B8 - thumb_func_start FUN_0204A5F4 -FUN_0204A5F4: ; 0x0204A5F4 - push {r3-r7, lr} - ldr r7, [r0, #0x24] - add r4, r3, #0x0 - add r0, r7, #0x0 - add r3, sp, #0x0 - add r5, r1, #0x0 - add r6, r2, #0x0 - bl FUN_021EF844 - cmp r0, #0x0 - bne _0204A612 - mov r0, #0xff - strh r0, [r4, #0x0] - mov r0, #0x0 - pop {r3-r7, pc} -_0204A612: - add r1, sp, #0x0 - ldrb r1, [r1, #0x0] - add r0, r7, #0x0 - bl FUN_021EF8DC - lsr r2, r5, #0x1f - lsl r1, r5, #0x1b - sub r1, r1, r2 - mov r3, #0x1b - ror r1, r3 - add r1, r2, r1 - lsr r5, r6, #0x1f - lsl r2, r6, #0x1b - sub r2, r2, r5 - ror r2, r3 - add r2, r5, r2 - lsl r2, r2, #0x5 - add r1, r1, r2 - lsl r1, r1, #0x1 - ldrh r0, [r0, r1] - strh r0, [r4, #0x0] - mov r0, #0x1 - pop {r3-r7, pc} + thumb_func_start FUN_02046214 +FUN_02046214: ; 0x02046214 + push {r4, lr} + add r4, r1, #0x0 + bl FUN_020553A0 + add r1, r4, #0x0 + bl FUN_0205889C + pop {r4, pc} - thumb_func_start FUN_0204A640 -FUN_0204A640: ; 0x0204A640 - push {r3-r7, lr} - add r6, r0, #0x0 - ldr r0, [r6, #0x28] - add r4, r2, #0x0 - add r5, r1, #0x0 - add r7, r3, #0x0 - bl FUN_020344FC - asr r2, r4, #0x4 - asr r1, r5, #0x4 - lsr r2, r2, #0x1b - lsr r1, r1, #0x1b - add r2, r4, r2 - add r1, r5, r1 - asr r2, r2, #0x5 - asr r1, r1, #0x5 - mul r0, r2 - add r0, r1, r0 - ldr r1, [r6, #0x54] - bl FUN_0204A3A4 - lsr r2, r5, #0x1f - lsl r1, r5, #0x1b - sub r1, r1, r2 - mov r3, #0x1b - ror r1, r3 - add r1, r2, r1 - lsr r5, r4, #0x1f - lsl r2, r4, #0x1b - sub r2, r2, r5 - ror r2, r3 - add r2, r5, r2 - lsl r2, r2, #0x5 - add r1, r1, r2 - lsl r1, r1, #0x1 - ldrh r0, [r0, r1] - strh r0, [r7, #0x0] - mov r0, #0x1 - pop {r3-r7, pc} - .balign 4 + thumb_func_start FUN_02046224 +FUN_02046224: ; 0x02046224 + push {r3-r4, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, _02046278 ; =0x000008C1 + ldr r1, [r4, #0x20] + bl FUN_0201EEF0 + ldr r0, _0204627C ; =0x000F81B8 + ldr r1, [r4, #0x20] + bl FUN_0201EFE0 + ldr r0, _02046280 ; =0x0350523D + str r0, [sp, #0x8] + ldr r0, _02046284 ; =0x0015EDB7 + str r0, [sp, #0xc] + ldr r0, _02046288 ; =0x023DA40E + str r0, [sp, #0x10] + ldr r1, [r4, #0x20] + add r0, sp, #0x8 + bl FUN_0201F04C + ldr r1, _0204628C ; =0x00000823 + add r0, sp, #0x0 + strh r1, [r0, #0x0] + mov r1, #0x52 + lsl r1, r1, #0x4 + strh r1, [r0, #0x2] + mov r1, #0x0 + strh r1, [r0, #0x4] + ldr r1, [r4, #0x20] + add r0, sp, #0x0 + bl FUN_0201EF90 + mov r0, #0x3 + ldr r1, _02046290 ; =0x0061C000 + ldr r2, [r4, #0x20] + lsl r0, r0, #0xe + bl FUN_0201EC94 + add sp, #0x14 + pop {r3-r4, pc} + nop +_02046278: .word 0x000008C1 +_0204627C: .word 0x000F81B8 +_02046280: .word 0x0350523D +_02046284: .word 0x0015EDB7 +_02046288: .word 0x023DA40E +_0204628C: .word 0x00000823 +_02046290: .word 0x0061C000 - thumb_func_start FUN_0204A690 -FUN_0204A690: ; 0x0204A690 - push {r3, lr} - cmp r1, #0x0 - bne _0204A69C - ldr r1, _0204A6AC ; =0x020F4708 - str r1, [r0, #0x0] - pop {r3, pc} -_0204A69C: - cmp r1, #0x1 - bne _0204A6A6 - ldr r1, _0204A6B0 ; =0x020F4710 - str r1, [r0, #0x0] - pop {r3, pc} -_0204A6A6: - bl FUN_02020C2C - pop {r3, pc} + thumb_func_start FUN_02046294 +FUN_02046294: ; 0x02046294 + mov r0, #0xeb + lsl r0, r0, #0x2 + bx lr .balign 4 -_0204A6AC: .word 0x020F4708 -_0204A6B0: .word 0x020F4710 - thumb_func_start FUN_0204A6B4 -FUN_0204A6B4: ; 0x0204A6B4 - push {r3-r4, lr} - sub sp, #0x4 - ldr r4, [r0, #0x58] - add r3, sp, #0x0 - ldr r4, [r4, #0x4] - blx r4 + thumb_func_start FUN_0204629C +FUN_0204629C: ; 0x0204629C + ldr r3, _020462A8 ; =FUN_020DF4A4 + mov r2, #0xeb + mov r1, #0x0 + lsl r2, r2, #0x2 + bx r3 + nop +_020462A8: .word FUN_020DF4A4 + + thumb_func_start FUN_020462AC +FUN_020462AC: ; 0x020462AC + ldr r3, _020462B4 ; =FUN_02022610 + mov r1, #0x4 + bx r3 + nop +_020462B4: .word FUN_02022610 + 1 + + thumb_func_start FUN_020462B8 +FUN_020462B8: ; 0x020462B8 + push {r3-r5, lr} + add r4, r1, #0x0 + bl FUN_02046338 cmp r0, #0x0 - beq _0204A6DA - add r0, sp, #0x0 - ldrh r0, [r0, #0x0] - asr r0, r0, #0xf - lsl r0, r0, #0x18 - lsr r1, r0, #0x18 + beq _020462DE + lsr r3, r4, #0x1f + lsl r2, r4, #0x1d + ldrb r5, [r0, #0x0] + sub r2, r2, r3 + mov r1, #0x1d + ror r2, r1 mov r0, #0x1 - and r1, r0 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, #0x1 - beq _0204A6DC -_0204A6DA: + add r1, r3, r2 + add r2, r0, #0x0 + lsl r2, r1 + add r1, r5, #0x0 + tst r1, r2 + bne _020462E0 +_020462DE: mov r0, #0x0 -_0204A6DC: - add sp, #0x4 - pop {r3-r4, pc} +_020462E0: + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_0204A6E0 -FUN_0204A6E0: ; 0x0204A6E0 - push {r3-r4, lr} - sub sp, #0x4 - ldr r4, [r0, #0x58] - add r3, sp, #0x0 - ldr r4, [r4, #0x4] - blx r4 + thumb_func_start FUN_020462E4 +FUN_020462E4: ; 0x020462E4 + push {r4-r6, lr} + add r4, r1, #0x0 + bl FUN_02046338 cmp r0, #0x0 - beq _0204A700 - add r0, sp, #0x0 - ldrh r0, [r0, #0x0] - add sp, #0x4 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3-r4, pc} -_0204A700: - mov r0, #0xff - add sp, #0x4 - pop {r3-r4, pc} + beq _02046308 + lsr r5, r4, #0x1f + lsl r3, r4, #0x1d + sub r3, r3, r5 + mov r2, #0x1d + ror r3, r2 + mov r6, #0x1 + add r2, r5, r3 + add r3, r6, #0x0 + ldrb r1, [r0, #0x0] + lsl r3, r2 + orr r1, r3 + strb r1, [r0, #0x0] +_02046308: + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204A708 -FUN_0204A708: ; 0x0204A708 - push {r3-r4, lr} - sub sp, #0x4 - ldr r4, [sp, #0x10] - str r4, [sp, #0x0] - ldr r4, [r0, #0x58] - ldr r4, [r4, #0x0] - blx r4 - add sp, #0x4 - pop {r3-r4, pc} + thumb_func_start FUN_0204630C +FUN_0204630C: ; 0x0204630C + push {r4-r6, lr} + add r4, r1, #0x0 + bl FUN_02046338 + cmp r0, #0x0 + beq _02046334 + lsr r5, r4, #0x1f + lsl r3, r4, #0x1d + sub r3, r3, r5 + mov r2, #0x1d + ror r3, r2 + mov r6, #0x1 + add r2, r5, r3 + add r3, r6, #0x0 + lsl r3, r2 + mov r2, #0xff + ldrb r1, [r0, #0x0] + eor r2, r3 + and r1, r2 + strb r1, [r0, #0x0] +_02046334: + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204A71C -FUN_0204A71C: ; 0x0204A71C + thumb_func_start FUN_02046338 +FUN_02046338: ; 0x02046338 push {r3-r5, lr} - add r4, r1, #0x0 - ldr r1, [sp, #0x10] - mov r5, #0x2 - str r1, [sp, #0x0] - ldr r1, [r4, #0x4] - lsl r2, r2, #0x10 - lsl r5, r5, #0xe - lsl r3, r3, #0x10 - add r2, r2, r5 - add r3, r3, r5 - bl FUN_0204A708 - ldr r1, [r4, #0x4] - cmp r0, r1 - bge _0204A744 - mov r4, #0x0 - add r2, r1, #0x0 - mvn r4, r4 - b _0204A754 -_0204A744: - cmp r0, r1 - ble _0204A750 - add r2, r0, #0x0 - add r0, r1, #0x0 - mov r4, #0x1 - b _0204A754 -_0204A750: + add r5, r0, #0x0 + cmp r1, #0x0 + bne _02046344 mov r0, #0x0 pop {r3-r5, pc} -_0204A754: - sub r1, r2, r0 - mov r0, #0x5 +_02046344: + mov r0, #0x1 lsl r0, r0, #0xe cmp r1, r0 - blt _0204A768 - cmp r4, #0x0 - bne _0204A76A + bhs _02046364 + mov r0, #0x5b + lsr r4, r1, #0x3 + lsl r0, r0, #0x2 + cmp r4, r0 + blt _0204635A bl FUN_02020C2C - b _0204A76A -_0204A768: - mov r4, #0x0 -_0204A76A: - add r0, r4, #0x0 +_0204635A: + mov r0, #0x9 + lsl r0, r0, #0x6 + add r0, r5, r0 + add r0, r0, r4 + pop {r3-r5, pc} +_02046364: + sub r1, r1, r0 + asr r0, r1, #0x2 + lsr r0, r0, #0x1d + add r0, r1, r0 + asr r4, r0, #0x3 + cmp r4, #0x8 + blt _02046376 + bl FUN_02020C2C +_02046376: + ldr r0, _0204637C ; =0x021C5A14 + add r0, r0, r4 pop {r3-r5, pc} .balign 4 +_0204637C: .word 0x021C5A14 - thumb_func_start FUN_0204A770 -FUN_0204A770: ; 0x0204A770 - push {r3-r7, lr} - sub sp, #0x8 - add r6, sp, #0x4 + thumb_func_start FUN_02046380 +FUN_02046380: ; 0x02046380 + push {r3-r5, lr} add r5, r0, #0x0 - add r4, r2, #0x0 - add r7, r3, #0x0 - str r6, [sp, #0x0] - bl FUN_0204A71C - ldr r1, [sp, #0x20] - cmp r1, #0x0 - beq _0204A78A - strb r0, [r1, #0x0] -_0204A78A: - cmp r0, #0x0 - bne _0204A7C2 - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r7, #0x0 - bl FUN_0204A6B4 - add r6, r0, #0x0 - bne _0204A7BC - add r0, sp, #0x4 - ldrb r0, [r0, #0x0] - cmp r0, #0x2 - bne _0204A7BC - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r7, #0x0 - bl FUN_0204A6E0 - bl FUN_020548B4 - cmp r0, #0x0 - beq _0204A7BC - add sp, #0x8 - mov r0, #0x1 - pop {r3-r7, pc} -_0204A7BC: - add sp, #0x8 - add r0, r6, #0x0 - pop {r3-r7, pc} -_0204A7C2: mov r0, #0x1 - add sp, #0x8 - pop {r3-r7, pc} + lsl r0, r0, #0xe + sub r4, r1, r0 + mov r0, #0x12 + lsl r0, r0, #0x4 + cmp r4, r0 + blt _02046396 + bl FUN_02020C2C +_02046396: + lsl r0, r4, #0x1 + add r0, r5, r0 + pop {r3-r5, pc} - thumb_func_start FUN_0204A7C8 -FUN_0204A7C8: ; 0x0204A7C8 + thumb_func_start FUN_0204639C +FUN_0204639C: ; 0x0204639C push {r3-r7, lr} - sub sp, #0x10 - add r6, sp, #0x8 add r5, r0, #0x0 - str r1, [sp, #0x4] - add r4, r2, #0x0 - add r7, r3, #0x0 - str r6, [sp, #0x0] - bl FUN_0204A71C - ldr r1, [sp, #0x28] - cmp r1, #0x0 - beq _0204A7E4 - strb r0, [r1, #0x0] -_0204A7E4: + mov r0, #0x20 + add r6, r1, #0x0 + add r1, r0, #0x0 + add r7, r2, #0x0 + bl FUN_020169D8 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + str r6, [r4, #0x4] + str r0, [r4, #0x8] + str r7, [r4, #0xc] + str r0, [r4, #0x10] + str r0, [r4, #0x14] + mov r0, #0x20 + mov r1, #0x4 + str r5, [r4, #0x18] + bl FUN_020169D8 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_020463CC +FUN_020463CC: ; 0x020463CC + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + add r4, r1, #0x0 + add r6, r2, #0x0 cmp r0, #0x0 - bne _0204A83A - add r0, sp, #0xc - str r0, [sp, #0x0] - ldr r3, [sp, #0x4] + beq _020463DE + bl FUN_02020C2C +_020463DE: add r0, r5, #0x0 - ldr r3, [r3, #0x4] add r1, r4, #0x0 - add r2, r7, #0x0 - bl FUN_0205CE00 + add r2, r6, #0x0 + bl FUN_0204639C + str r0, [r5, #0x10] + pop {r4-r6, pc} + + thumb_func_start FUN_020463EC +FUN_020463EC: ; 0x020463EC + push {r4, lr} + add r4, r0, #0x0 + str r1, [r4, #0x4] + mov r0, #0x0 + str r0, [r4, #0x8] + str r2, [r4, #0xc] + ldr r0, [r4, #0x14] cmp r0, #0x0 - bne _0204A834 - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r7, #0x0 - bl FUN_0204A6B4 - str r0, [sp, #0xc] + bne _02046400 + beq _0204640A +_02046400: + bl FUN_02016A18 + mov r0, #0x0 + str r0, [r4, #0x10] + str r0, [r4, #0x14] +_0204640A: + pop {r4, pc} + + thumb_func_start FUN_0204640C +FUN_0204640C: ; 0x0204640C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x18] + bl FUN_0204639C + str r4, [r0, #0x0] + ldr r1, [r4, #0x18] + str r0, [r1, #0x10] + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02046420 +FUN_02046420: ; 0x02046420 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] cmp r0, #0x0 - bne _0204A82E - add r0, sp, #0x8 - ldrb r0, [r0, #0x0] - cmp r0, #0x2 - bne _0204A82E - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r7, #0x0 - bl FUN_0204A6E0 - bl FUN_020548B4 + bne _0204642E + mov r0, #0x0 + pop {r3-r5, pc} +_0204642E: + ldr r1, [r0, #0x4] + blx r1 + cmp r0, #0x1 + bne _02046466 +_02046436: + ldr r0, [r5, #0x10] + ldr r4, [r0, #0x0] + ldr r0, [r0, #0x14] cmp r0, #0x0 - beq _0204A82E - add sp, #0x10 - mov r0, #0x1 - pop {r3-r7, pc} -_0204A82E: - ldr r0, [sp, #0xc] - add sp, #0x10 - pop {r3-r7, pc} -_0204A834: - ldr r0, [sp, #0xc] - add sp, #0x10 - pop {r3-r7, pc} -_0204A83A: + beq _02046444 + bl FUN_02016A18 +_02046444: + ldr r0, [r5, #0x10] + ldr r0, [r0, #0x1c] + bl FUN_02016A18 + ldr r0, [r5, #0x10] + bl FUN_02016A18 + str r4, [r5, #0x10] + cmp r4, #0x0 + bne _0204645C mov r0, #0x1 - add sp, #0x10 - pop {r3-r7, pc} + pop {r3-r5, pc} +_0204645C: + ldr r0, [r5, #0x10] + ldr r1, [r0, #0x4] + blx r1 + cmp r0, #0x1 + beq _02046436 +_02046466: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 - thumb_func_start FUN_0204A840 -FUN_0204A840: ; 0x0204A840 - push {r3-r7, lr} - add r6, r0, r2 - ldr r0, [sp, #0x18] - add r4, r1, r3 - add r0, r6, r0 - str r0, [sp, #0x0] - ldr r0, [sp, #0x1c] - ldr r5, [sp, #0x20] - add r7, r4, r0 - cmp r6, #0x0 - blt _0204A864 - cmp r4, #0x0 - blt _0204A864 - ldr r0, [sp, #0x0] + thumb_func_start FUN_0204646C +FUN_0204646C: ; 0x0204646C + ldr r0, [r0, #0x10] cmp r0, #0x0 - blt _0204A864 - cmp r7, #0x0 - bge _0204A868 -_0204A864: - bl FUN_02020C2C -_0204A868: - lsl r0, r6, #0x10 - str r0, [r5, #0x0] - lsl r0, r4, #0x10 - str r0, [r5, #0x4] - ldr r0, [sp, #0x0] - lsl r0, r0, #0x10 - str r0, [r5, #0x8] - lsl r0, r7, #0x10 - str r0, [r5, #0xc] - pop {r3-r7, pc} - - thumb_func_start FUN_0204A87C -FUN_0204A87C: ; 0x0204A87C - push {r4-r5, lr} - sub sp, #0xc - add r3, r0, #0x0 - add r5, r1, #0x0 - add r4, r2, #0x0 - add r0, sp, #0x0 - add r1, r3, #0x0 - bl FUN_021E7EA0 - ldr r1, [sp, #0x0] - ldr r0, [r4, #0x0] - ldr r2, [sp, #0x8] - add r0, r1, r0 - str r0, [sp, #0x0] - ldr r1, [r4, #0x8] - add r2, r2, r1 - str r2, [sp, #0x8] - ldr r1, [r5, #0x0] - cmp r1, r0 - bgt _0204A8BC - ldr r1, [r5, #0x8] - cmp r0, r1 - bgt _0204A8BC - ldr r0, [r5, #0x4] - cmp r0, r2 - bgt _0204A8BC - ldr r0, [r5, #0xc] - cmp r2, r0 - bgt _0204A8BC - add sp, #0xc + beq _02046476 mov r0, #0x1 - pop {r4-r5, pc} -_0204A8BC: + bx lr +_02046476: mov r0, #0x0 - add sp, #0xc - pop {r4-r5, pc} + bx lr .balign 4 - thumb_func_start FUN_0204A8C4 -FUN_0204A8C4: ; 0x0204A8C4 - push {r4-r7, lr} - sub sp, #0x1c - str r0, [sp, #0x0] + thumb_func_start FUN_0204647C +FUN_0204647C: ; 0x0204647C + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0203739C + cmp r0, #0x0 + bne _02046492 + add r0, r4, #0x0 + bl FUN_020373C4 + cmp r0, #0x0 + beq _02046496 +_02046492: + mov r0, #0x1 + pop {r4, pc} +_02046496: mov r0, #0x0 - add r6, r1, #0x0 - add r7, r2, #0x0 - str r3, [sp, #0x4] - str r0, [sp, #0x8] -_0204A8D4: - ldr r1, [sp, #0x0] - ldr r0, [sp, #0x8] - ldr r1, [r1, #0x24] - add r2, sp, #0xc - bl FUN_021EF604 - ldr r0, [sp, #0x0] - ldr r1, [sp, #0x8] - ldr r0, [r0, #0x24] - bl FUN_021EF824 - add r4, r0, #0x0 - ldr r0, [sp, #0x0] - ldr r0, [r0, #0x28] - bl FUN_020344FC - add r1, r0, #0x0 - add r0, r4, #0x0 - add r2, sp, #0x10 - bl FUN_0204AAD4 - mov r5, #0x0 -_0204A900: - ldr r0, [sp, #0xc] - add r1, r5, #0x0 - bl FUN_021E7ED0 - add r1, r7, #0x0 - add r2, sp, #0x10 - add r4, r0, #0x0 - bl FUN_0204A87C - cmp r0, #0x0 - beq _0204A92E - add r0, r4, #0x0 - bl FUN_021E7EC4 - cmp r0, r6 - bne _0204A92E - ldr r0, [sp, #0x4] - cmp r0, #0x0 - beq _0204A928 - str r4, [r0, #0x0] -_0204A928: - add sp, #0x1c - mov r0, #0x1 - pop {r4-r7, pc} -_0204A92E: - add r0, r5, #0x1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, #0x20 - blo _0204A900 - ldr r0, [sp, #0x8] - add r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x8] - cmp r0, #0x4 - blo _0204A8D4 - mov r0, #0x0 - add sp, #0x1c - pop {r4-r7, pc} + pop {r4, pc} + .balign 4 - thumb_func_start FUN_0204A94C -FUN_0204A94C: ; 0x0204A94C - push {r4-r7, lr} - sub sp, #0x1c - str r0, [sp, #0x0] - mov r0, #0x0 - add r5, r1, #0x0 - add r4, r2, #0x0 - str r3, [sp, #0x4] - str r0, [sp, #0x8] -_0204A95C: - ldr r1, [sp, #0x0] - ldr r0, [sp, #0x8] - ldr r1, [r1, #0x24] - add r2, sp, #0xc - bl FUN_021EF604 - ldr r0, [sp, #0x0] - ldr r1, [sp, #0x8] - ldr r0, [r0, #0x24] - bl FUN_021EF824 - add r6, r0, #0x0 - ldr r0, [sp, #0x0] - ldr r0, [r0, #0x28] - bl FUN_020344FC - add r1, r0, #0x0 - add r0, r6, #0x0 - add r2, sp, #0x10 - bl FUN_0204AAD4 - mov r6, #0x0 -_0204A988: - ldr r0, [sp, #0xc] - add r1, r6, #0x0 - bl FUN_021E7ED0 - ldr r1, [sp, #0x4] - add r2, sp, #0x10 - add r7, r0, #0x0 - bl FUN_0204A87C + thumb_func_start FUN_0204649C +FUN_0204649C: ; 0x0204649C + ldr r3, _020464A0 ; =FUN_02037350 + bx r3 + .balign 4 +_020464A0: .word FUN_02037350 + 1 + + thumb_func_start FUN_020464A4 +FUN_020464A4: ; 0x020464A4 + push {r3, lr} + bl FUN_020373AC cmp r0, #0x0 - beq _0204A9D2 - add r0, r7, #0x0 - bl FUN_021E7EC4 - mov r1, #0x0 - cmp r4, #0x0 - bls _0204A9D2 -_0204A9AA: - lsl r2, r1, #0x2 - ldr r2, [r5, r2] - cmp r0, r2 - bne _0204A9C8 - ldr r1, [sp, #0x30] - cmp r1, #0x0 - beq _0204A9BA - str r7, [r1, #0x0] -_0204A9BA: - ldr r1, [sp, #0x34] - cmp r1, #0x0 - beq _0204A9C2 - str r0, [r1, #0x0] -_0204A9C2: - add sp, #0x1c + beq _020464B2 mov r0, #0x1 - pop {r4-r7, pc} -_0204A9C8: - add r1, r1, #0x1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r4 - blo _0204A9AA -_0204A9D2: - add r0, r6, #0x1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x20 - blo _0204A988 - ldr r0, [sp, #0x8] - add r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x8] - cmp r0, #0x4 - blo _0204A95C + pop {r3, pc} +_020464B2: mov r0, #0x0 - add sp, #0x1c - pop {r4-r7, pc} + pop {r3, pc} + .balign 4 - thumb_func_start FUN_0204A9F0 -FUN_0204A9F0: ; 0x0204A9F0 - push {r3-r7, lr} - sub sp, #0x10 - str r0, [sp, #0x0] - add r5, r1, #0x0 - str r2, [sp, #0x4] - str r3, [sp, #0x8] - mov r7, #0x0 -_0204A9FE: - ldr r1, [sp, #0x0] - add r0, r7, #0x0 - ldr r1, [r1, #0x24] - add r2, sp, #0xc - bl FUN_021EF604 - mov r4, #0x0 -_0204AA0C: - ldr r0, [sp, #0xc] - add r1, r4, #0x0 - bl FUN_021E7ED0 - add r6, r0, #0x0 - bl FUN_021E7EC4 - cmp r0, r5 - bne _0204AA40 - ldr r0, [sp, #0x4] + thumb_func_start FUN_020464B8 +FUN_020464B8: ; 0x020464B8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204AA26 - str r6, [r0, #0x0] -_0204AA26: - ldr r0, [sp, #0x8] + beq _020464D6 + cmp r0, #0x1 + beq _020464E8 + b _020464FC +_020464D6: + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] + add r0, r5, #0x0 + bl FUN_020373D4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020464FC +_020464E8: + add r0, r5, #0x0 + bl FUN_0204647C cmp r0, #0x0 - beq _0204AA3A - ldr r0, [sp, #0x0] - add r1, r7, #0x0 - ldr r0, [r0, #0x24] - bl FUN_021EF824 - ldr r1, [sp, #0x8] - str r0, [r1, #0x0] -_0204AA3A: - add sp, #0x10 + bne _020464FC + add r0, r4, #0x0 + bl FUN_02016A18 mov r0, #0x1 - pop {r3-r7, pc} -_0204AA40: - add r0, r4, #0x1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #0x20 - blo _0204AA0C - add r0, r7, #0x1 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - cmp r7, #0x4 - blo _0204A9FE + pop {r3-r5, pc} +_020464FC: mov r0, #0x0 - add sp, #0x10 - pop {r3-r7, pc} - .balign 4 + pop {r3-r5, pc} - thumb_func_start FUN_0204AA5C -FUN_0204AA5C: ; 0x0204AA5C - push {r3-r7, lr} - sub sp, #0x10 - str r0, [sp, #0x0] - mov r0, #0x0 + thumb_func_start FUN_02046500 +FUN_02046500: ; 0x02046500 + push {r4-r6, lr} + add r6, r0, #0x0 add r5, r1, #0x0 + mov r0, #0x20 + mov r1, #0xc add r4, r2, #0x0 - str r3, [sp, #0x4] - str r0, [sp, #0x8] -_0204AA6C: - ldr r1, [sp, #0x0] - ldr r0, [sp, #0x8] - ldr r1, [r1, #0x24] - add r2, sp, #0xc - bl FUN_021EF604 - mov r6, #0x0 -_0204AA7A: - ldr r0, [sp, #0xc] - add r1, r6, #0x0 - bl FUN_021E7ED0 - add r7, r0, #0x0 - bl FUN_021E7EC4 - mov r1, #0x0 - cmp r4, #0x0 - bls _0204AAB6 -_0204AA8E: - lsl r2, r1, #0x2 - ldr r2, [r5, r2] - cmp r0, r2 - bne _0204AAAC - ldr r1, [sp, #0x4] - cmp r1, #0x0 - beq _0204AA9E - str r7, [r1, #0x0] -_0204AA9E: - ldr r1, [sp, #0x28] - cmp r1, #0x0 - beq _0204AAA6 - str r0, [r1, #0x0] -_0204AAA6: - add sp, #0x10 - mov r0, #0x1 - pop {r3-r7, pc} -_0204AAAC: - add r1, r1, #0x1 - lsl r1, r1, #0x18 - lsr r1, r1, #0x18 - cmp r1, r4 - blo _0204AA8E -_0204AAB6: - add r0, r6, #0x1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, #0x20 - blo _0204AA7A - ldr r0, [sp, #0x8] - add r0, r0, #0x1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0x8] - cmp r0, #0x4 - blo _0204AA6C + bl FUN_020169D8 + add r2, r0, #0x0 mov r0, #0x0 - add sp, #0x10 - pop {r3-r7, pc} - - thumb_func_start FUN_0204AAD4 -FUN_0204AAD4: ; 0x0204AAD4 - push {r4-r6, lr} - add r4, r2, #0x0 - mov r2, #0x1 - lsl r2, r2, #0x14 - str r2, [r4, #0x0] - add r5, r0, #0x0 - add r6, r1, #0x0 - str r2, [r4, #0x8] - blx FUN_020EBC80 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - ldr r0, [r4, #0x0] - lsl r1, r1, #0x15 - add r0, r0, r1 - str r0, [r4, #0x0] - add r0, r5, #0x0 - add r1, r6, #0x0 - blx FUN_020EBC80 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - ldr r1, [r4, #0x8] - lsl r0, r0, #0x15 - add r0, r1, r0 - str r0, [r4, #0x8] + str r0, [r2, #0x0] + str r5, [r2, #0x4] + ldr r1, _02046524 ; =FUN_020464B8 + add r0, r6, #0x0 + str r4, [r2, #0x8] + bl FUN_0204640C pop {r4-r6, pc} .balign 4 +_02046524: .word FUN_020464B8 + 1 - thumb_func_start FUN_0204AB0C -FUN_0204AB0C: ; 0x0204AB0C - push {r3, lr} - bl FUN_0200541C - bl FUN_02004810 - mov r0, #0x0 - bl FUN_0200415C - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204AB20 -FUN_0204AB20: ; 0x0204AB20 - push {r4, lr} - ldr r0, [r0, #0xc] - add r4, r1, #0x0 - bl FUN_02034E30 - bl FUN_02034DE8 - strh r4, [r0, #0x0] - pop {r4, pc} - .balign 4 + thumb_func_start FUN_02046528 +FUN_02046528: ; 0x02046528 + ldr r0, [r0, #0x18] + bx lr - thumb_func_start FUN_0204AB34 -FUN_0204AB34: ; 0x0204AB34 - push {r3, lr} + thumb_func_start FUN_0204652C +FUN_0204652C: ; 0x0204652C ldr r0, [r0, #0xc] - bl FUN_02034E30 - bl FUN_02034DE8 - ldrh r0, [r0, #0x0] - pop {r3, pc} + bx lr - thumb_func_start FUN_0204AB44 -FUN_0204AB44: ; 0x0204AB44 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02034E30 - bl FUN_02034DE8 - mov r1, #0x0 - strh r1, [r0, #0x0] - pop {r3, pc} - .balign 4 + thumb_func_start FUN_02046530 +FUN_02046530: ; 0x02046530 + add r0, #0x8 + bx lr - thumb_func_start FUN_0204AB58 -FUN_0204AB58: ; 0x0204AB58 - push {r3-r5, lr} - add r5, r0, #0x0 - ldr r0, [r5, #0x38] - add r4, r1, #0x0 - bl FUN_020553C4 - cmp r0, #0x2 - bne _0204AB6C - ldr r0, _0204ABA0 ; =0x0000047F - pop {r3-r5, pc} -_0204AB6C: - add r0, r5, #0x0 - add r0, #0x90 + thumb_func_start FUN_02046534 +FUN_02046534: ; 0x02046534 + ldr r0, [r0, #0x1c] ldr r0, [r0, #0x0] - bl FUN_0205E128 - cmp r0, #0x1 - bne _0204AB7E - ldr r0, _0204ABA4 ; =0x0000047E - pop {r3-r5, pc} -_0204AB7E: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0204ABA8 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204AB34 - cmp r0, #0x0 - beq _0204AB9A - add r0, r5, #0x0 - bl FUN_0204AB34 - add r4, r0, #0x0 -_0204AB9A: - add r0, r4, #0x0 - pop {r3-r5, pc} - nop -_0204ABA0: .word 0x0000047F -_0204ABA4: .word 0x0000047E + bx lr + .balign 4 - thumb_func_start FUN_0204ABA8 -FUN_0204ABA8: ; 0x0204ABA8 + thumb_func_start FUN_0204653C +FUN_0204653C: ; 0x0204653C push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_0201277C - cmp r0, #0x0 - bne _0204ABBE add r0, r4, #0x0 - bl FUN_020347B0 - b _0204ABC4 -_0204ABBE: - add r0, r4, #0x0 - bl FUN_020347C4 -_0204ABC4: + bl FUN_0204652C add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_020462AC - add r1, r4, #0x0 - bl FUN_0205EF20 + add r0, r4, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204ABD8 - add r6, r0, #0x0 -_0204ABD8: - add r0, r6, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_0204ABDC -FUN_0204ABDC: ; 0x0204ABDC - push {r4-r7, lr} - sub sp, #0x14 - add r5, r0, #0x0 - ldr r0, [r5, #0x38] - add r4, r1, #0x0 - add r7, r2, #0x0 - bl FUN_020553C4 - add r6, r0, #0x0 - bl FUN_02004104 + beq _02046562 cmp r0, #0x1 - bne _0204ABFC - add sp, #0x14 - mov r0, #0x0 - pop {r4-r7, pc} -_0204ABFC: + beq _02046572 + b _02046580 +_02046562: add r0, r5, #0x0 - bl FUN_02004124 - cmp r4, r0 - bne _0204AC0C - add sp, #0x14 - mov r0, #0x0 - pop {r4-r7, pc} -_0204AC0C: - bl FUN_02004810 + add r1, r6, #0x0 + bl FUN_0203780C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046580 +_02046572: add r0, r5, #0x0 - add r1, r7, #0x0 - add r2, sp, #0x10 - add r3, sp, #0xc - bl FUN_0204ACCC - cmp r6, #0x1 - beq _0204AC22 - bne _0204AC3A -_0204AC22: - mov r0, #0x1e - str r0, [sp, #0x0] - mov r0, #0x0 - str r0, [sp, #0x4] - str r0, [sp, #0x8] - ldr r2, [sp, #0x10] - ldr r3, [sp, #0xc] - mov r0, #0x4 - add r1, r4, #0x0 - bl FUN_02004E08 - b _0204AC4C -_0204AC3A: - mov r0, #0x0 - str r0, [sp, #0x0] - str r0, [sp, #0x4] - ldr r2, [sp, #0x10] - ldr r3, [sp, #0xc] - mov r0, #0x4 - add r1, r4, #0x0 - bl FUN_02004DCC -_0204AC4C: + bl FUN_0204647C + cmp r0, #0x0 + bne _02046580 mov r0, #0x1 - add sp, #0x14 - pop {r4-r7, pc} - .balign 4 - - thumb_func_start FUN_0204AC54 -FUN_0204AC54: ; 0x0204AC54 - push {r4-r6, lr} - sub sp, #0x10 - add r5, r0, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - bl FUN_02004104 - cmp r0, #0x1 - bne _0204AC6C - add sp, #0x10 - mov r0, #0x0 - pop {r4-r6, pc} -_0204AC6C: - add r0, r5, #0x0 - bl FUN_02004124 - cmp r4, r0 - bne _0204AC7C - add sp, #0x10 - mov r0, #0x0 pop {r4-r6, pc} -_0204AC7C: - bl FUN_02004810 - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, sp, #0xc - add r3, sp, #0x8 - bl FUN_0204ACCC - mov r0, #0x1 - str r0, [sp, #0x0] +_02046580: mov r0, #0x0 - str r0, [sp, #0x4] - ldr r2, [sp, #0xc] - ldr r3, [sp, #0x8] - mov r0, #0x4 - add r1, r4, #0x0 - bl FUN_02004DCC - mov r0, #0x1 - add sp, #0x10 pop {r4-r6, pc} + + thumb_func_start FUN_02046584 +FUN_02046584: ; 0x02046584 + ldr r3, _0204658C ; =FUN_0204640C + add r2, r1, #0x0 + ldr r1, _02046590 ; =FUN_0204653C + bx r3 .balign 4 +_0204658C: .word FUN_0204640C + 1 +_02046590: .word FUN_0204653C + 1 - thumb_func_start FUN_0204ACA8 -FUN_0204ACA8: ; 0x0204ACA8 + thumb_func_start FUN_02046594 +FUN_02046594: ; 0x02046594 push {r3-r7, lr} - add r4, r1, #0x0 add r5, r0, #0x0 - add r6, r2, #0x0 - bl FUN_0204AB58 - add r7, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204AD44 - bl FUN_0200414C - add r0, r5, #0x0 - add r1, r7, #0x0 - add r2, r6, #0x0 - bl FUN_0204AC54 + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x14 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl FUN_020169D8 + str r4, [r0, #0x0] + cmp r4, #0x0 + beq _020465B0 + mov r1, #0x0 + str r1, [r4, #0x0] +_020465B0: + str r6, [r0, #0x4] + str r7, [r0, #0x8] + str r5, [r0, #0x10] pop {r3-r7, pc} - thumb_func_start FUN_0204ACCC -FUN_0204ACCC: ; 0x0204ACCC - cmp r1, #0x3 - bhi _0204AD0A - add r0, r1, r1 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0 - lsl r0, r2, #0 - lsl r2, r3, #0 - lsl r4, r4, #0 - mov r0, #0x1e - str r0, [r2, #0x0] - mov r0, #0x0 - str r0, [r3, #0x0] - bx lr -_0204ACEE: - .byte 0x3C, 0x20 - .byte 0x10, 0x60, 0x00, 0x20, 0x18, 0x60, 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x0F, 0x20, 0x18, 0x60 - .byte 0x70, 0x47, 0x3C, 0x20, 0x10, 0x60, 0x00, 0x20, 0x18, 0x60 -_0204AD0A: - bx lr - - thumb_func_start FUN_0204AD0C -FUN_0204AD0C: ; 0x0204AD0C - push {r3-r5, lr} - mov r1, #0x1 - bl FUN_0206AC74 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - ldr r0, _0204AD38 ; =0x0000044D - ldr r2, _0204AD3C ; =0x020F4718 - mov r4, #0x0 -_0204AD1E: - lsl r3, r4, #0x2 - ldrh r1, [r2, r3] - cmp r5, r1 - bne _0204AD2C - ldr r0, _0204AD40 ; =0x020F471A - ldrh r0, [r0, r3] - pop {r3-r5, pc} -_0204AD2C: - add r1, r4, #0x1 - lsl r1, r1, #0x10 - lsr r4, r1, #0x10 - cmp r4, #0x4e - blo _0204AD1E - pop {r3-r5, pc} - .balign 4 -_0204AD38: .word 0x0000044D -_0204AD3C: .word 0x020F4718 -_0204AD40: .word 0x020F471A - - thumb_func_start FUN_0204AD44 -FUN_0204AD44: ; 0x0204AD44 + thumb_func_start FUN_020465B8 +FUN_020465B8: ; 0x020465B8 push {r4, lr} add r4, r0, #0x0 - bl FUN_0201277C - cmp r0, #0x0 - bne _0204AD58 - add r0, r4, #0x0 - bl FUN_020347B0 - pop {r4, pc} -_0204AD58: + ldr r0, [r4, #0x10] + bl FUN_02047964 add r0, r4, #0x0 - bl FUN_020347C4 + bl FUN_02016A18 pop {r4, pc} - - thumb_func_start FUN_0204AD60 -FUN_0204AD60: ; 0x0204AD60 - push {r4-r6, lr} - add r5, r0, #0x0 - add r6, r1, #0x0 - bl FUN_02004104 - cmp r0, #0x1 - beq _0204AD88 - bl FUN_02004124 - add r4, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_0204ABA8 - cmp r4, r0 - beq _0204AD88 - mov r0, #0x0 - mov r1, #0x28 - bl FUN_020053CC -_0204AD88: - pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204AD8C -FUN_0204AD8C: ; 0x0204AD8C - push {r3-r5, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_02004104 - cmp r0, #0x1 - beq _0204ADB8 - mov r0, #0x0 - bl FUN_0200415C - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0204ABA8 - add r4, r0, #0x0 - bl FUN_0200414C - mov r0, #0x4 - add r1, r4, #0x0 - mov r2, #0x1 - bl FUN_0200433C -_0204ADB8: - pop {r3-r5, pc} + thumb_func_start FUN_020465CC +FUN_020465CC: ; 0x020465CC + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _020465D8 + ldr r1, [r0, #0x10] + ldr r1, [r1, #0x14] + str r1, [r2, #0x0] +_020465D8: + ldr r0, [r0, #0x10] + ldr r3, _020465E0 ; =FUN_020480B8 + ldr r0, [r0, #0x14] + bx r3 .balign 4 +_020465E0: .word FUN_020480B8 + 1 - thumb_func_start FUN_0204ADBC -FUN_0204ADBC: ; 0x0204ADBC - push {r4-r6, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bl FUN_0204AB58 - add r6, r0, #0x0 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0204ABA8 - bl FUN_0200414C - mov r0, #0x4 - add r1, r6, #0x0 - mov r2, #0x1 - bl FUN_0200433C - pop {r4-r6, pc} - - thumb_func_start FUN_0204ADE0 -FUN_0204ADE0: ; 0x0204ADE0 - mov r3, #0x0 - add r2, r3, #0x0 -_0204ADE4: - lsl r1, r3, #0x2 - add r1, r0, r1 - strb r2, [r1, #0x6] - strb r2, [r1, #0x7] - strb r2, [r1, #0x8] - strb r2, [r1, #0x9] - add r1, r3, #0x1 - lsl r1, r1, #0x18 - lsr r3, r1, #0x18 - cmp r3, #0x6 - blo _0204ADE4 - str r2, [r0, #0x0] - strb r2, [r0, #0x4] - strb r2, [r0, #0x5] - bx lr + thumb_func_start FUN_020465E4 +FUN_020465E4: ; 0x020465E4 + push {r3, lr} + mov r2, #0x2 + ldr r3, [r0, #0x0] + lsl r2, r2, #0x1e + tst r2, r3 + bne _020465F4 + bl FUN_02047F38 +_020465F4: + pop {r3, pc} .balign 4 - thumb_func_start FUN_0204AE04 -FUN_0204AE04: ; 0x0204AE04 - push {r4, lr} + thumb_func_start FUN_020465F8 +FUN_020465F8: ; 0x020465F8 + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - asr r0, r1, #0x4 - lsr r0, r0, #0x1b - add r0, r1, r0 - asr r1, r2, #0x4 - lsr r1, r1, #0x1b - add r1, r2, r1 - lsl r0, r0, #0x13 - lsl r1, r1, #0x13 - ldrb r2, [r4, #0x4] - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - cmp r0, r2 - bne _0204AE28 - ldrb r2, [r4, #0x5] - cmp r1, r2 - beq _0204AE58 -_0204AE28: - ldr r2, [r4, #0x0] - lsl r2, r2, #0x2 - add r2, r4, r2 - strb r0, [r2, #0x6] - ldr r0, [r4, #0x0] - lsl r0, r0, #0x2 - add r0, r4, r0 - strb r1, [r0, #0x7] ldr r0, [r4, #0x0] - mov r1, #0xff - lsl r0, r0, #0x2 - add r0, r4, r0 - strb r1, [r0, #0x8] + cmp r0, #0x5 + bhi _020466F8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046624: ; jump table (using 16-bit offset) + .short _02046630 - _02046624 - 2; case 0 + .short _02046648 - _02046624 - 2; case 1 + .short _02046656 - _02046624 - 2; case 2 + .short _02046666 - _02046624 - 2; case 3 + .short _020466DA - _02046624 - 2; case 4 + .short _020466EE - _02046624 - 2; case 5 +_02046630: + ldr r0, [r6, #0x34] + bl FUN_02058780 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl FUN_0204AEF8 ldr r0, [r4, #0x0] - mov r1, #0x1 - lsl r0, r0, #0x2 - add r0, r4, r0 - strb r1, [r0, #0x9] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020466F8 +_02046648: + add r0, r7, #0x0 + bl FUN_0204AF3C ldr r0, [r4, #0x0] - mov r1, #0x6 add r0, r0, #0x1 - blx FUN_020EBC80 - str r1, [r4, #0x0] -_0204AE58: - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0204AE5C -FUN_0204AE5C: ; 0x0204AE5C - push {r4, lr} - add r4, r0, #0x0 - lsl r0, r1, #0x18 - lsl r1, r2, #0x18 - ldrb r2, [r4, #0x4] - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - cmp r0, r2 - bne _0204AE74 - ldrb r2, [r4, #0x5] - cmp r1, r2 - beq _0204AEA6 -_0204AE74: - ldr r2, [r4, #0x0] - lsl r2, r2, #0x2 - add r2, r4, r2 - strb r0, [r2, #0x6] - ldr r2, [r4, #0x0] - lsl r2, r2, #0x2 - add r2, r4, r2 - strb r1, [r2, #0x7] - ldr r2, [r4, #0x0] - lsl r2, r2, #0x2 - add r2, r4, r2 - strb r3, [r2, #0x8] - ldr r2, [r4, #0x0] - mov r3, #0x1 - lsl r2, r2, #0x2 - add r2, r4, r2 - strb r3, [r2, #0x9] - strb r0, [r4, #0x4] - strb r1, [r4, #0x5] + str r0, [r4, #0x0] + b _020466F8 +_02046656: + ldr r1, [r5, #0x10] + add r0, r7, #0x0 + bl FUN_02046584 ldr r0, [r4, #0x0] - mov r1, #0x6 add r0, r0, #0x1 - blx FUN_020EBC80 - str r1, [r4, #0x0] -_0204AEA6: - pop {r4, pc} - - thumb_func_start FUN_0204AEA8 -FUN_0204AEA8: ; 0x0204AEA8 - push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r1, [r4, #0x0] + str r0, [r4, #0x0] + b _020466F8 +_02046666: + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + bl FUN_020465E4 + ldr r2, [r5, #0x10] + ldr r1, [r2, #0x0] cmp r1, #0x0 - beq _0204AEC6 - cmp r1, #0x1 - beq _0204AEE6 - b _0204AEF4 -_0204AEC6: - ldr r0, [r4, #0x8] - add r1, r5, #0x0 - add r2, r4, #0x4 - bl FUN_021E3444 - ldr r1, [r4, #0xc] - mov r0, #0x5 - lsl r1, r1, #0x10 - lsr r1, r1, #0x10 - mov r2, #0x1 - bl FUN_0200433C + beq _02046682 + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r1, r0 + beq _02046682 + cmp r1, #0x4a + bne _02046690 +_02046682: + mov r1, #0x4d + lsl r1, r1, #0x2 + ldr r1, [r2, r1] + ldr r2, [r2, #0x14] + add r0, r6, #0x0 + bl FUN_02061080 +_02046690: + add r0, r5, #0x0 + bl FUN_020465CC + cmp r0, #0x0 + bne _020466A4 + add r0, r5, #0x0 + bl FUN_020465B8 + mov r0, #0x1 + pop {r3-r7, pc} +_020466A4: + ldr r0, [r6, #0xc] + bl FUN_020462AC + bl FUN_0205ED3C + cmp r0, #0x0 + beq _020466BC + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + bl FUN_02085140 +_020466BC: + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_020472F4 + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_020473CC + add r0, r7, #0x0 + bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] - b _0204AEF4 -_0204AEE6: - ldr r1, [r4, #0x4] - cmp r1, #0x1 - bne _0204AEF4 - bl FUN_02016A18 + b _020466F8 +_020466DA: + ldr r0, [r6, #0x34] + bl FUN_020587B0 + add r0, r7, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020466F8 +_020466EE: + add r0, r5, #0x0 + bl FUN_020465B8 mov r0, #0x1 - pop {r3-r5, pc} -_0204AEF4: + pop {r3-r7, pc} +_020466F8: mov r0, #0x0 - pop {r3-r5, pc} + pop {r3-r7, pc} - thumb_func_start FUN_0204AEF8 -FUN_0204AEF8: ; 0x0204AEF8 - push {r4-r6, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0xb - mov r1, #0x10 - add r4, r2, #0x0 - bl FUN_020169D8 + thumb_func_start FUN_020466FC +FUN_020466FC: ; 0x020466FC + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x8] + bl FUN_02046594 add r2, r0, #0x0 - mov r0, #0x0 - str r0, [r2, #0x0] - str r0, [r2, #0x4] - str r5, [r2, #0x8] - ldr r1, _0204AF20 ; =FUN_0204AEA8 - add r0, r6, #0x0 - str r4, [r2, #0xc] + ldr r1, _02046718 ; =FUN_020465F8 + add r0, r4, #0x0 bl FUN_0204640C - pop {r4-r6, pc} - nop -_0204AF20: .word FUN_0204AEA8 + 1 + pop {r4, pc} + .balign 4 +_02046718: .word FUN_020465F8 + 1 - thumb_func_start FUN_0204AF24 -FUN_0204AF24: ; 0x0204AF24 + thumb_func_start FUN_0204671C +FUN_0204671C: ; 0x0204671C push {r3, lr} - bl FUN_02046528 - bl FUN_0203739C - cmp r0, #0x0 - bne _0204AF36 - mov r0, #0x1 + mov r2, #0xf + and r0, r2 + cmp r0, #0x6 + bhi _02046754 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046732: ; jump table (using 16-bit offset) + .short _02046754 - _02046732 - 2; case 0 + .short _02046740 - _02046732 - 2; case 1 + .short _0204674A - _02046732 - 2; case 2 + .short _02046754 - _02046732 - 2; case 3 + .short _02046754 - _02046732 - 2; case 4 + .short _0204674A - _02046732 - 2; case 5 + .short _02046740 - _02046732 - 2; case 6 +_02046740: + ldr r0, [r1, #0xc] + mov r1, #0x1 + bl FUN_0202E25C pop {r3, pc} -_0204AF36: - mov r0, #0x0 +_0204674A: + ldr r0, [r1, #0xc] + sub r2, #0x10 + add r1, r2, #0x0 + bl FUN_0202E25C +_02046754: pop {r3, pc} .balign 4 - thumb_func_start FUN_0204AF3C -FUN_0204AF3C: ; 0x0204AF3C - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02046528 - add r4, r0, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - bne _0204AF54 - bl FUN_02020C2C - pop {r3-r5, pc} -_0204AF54: - add r0, r4, #0x0 - bl FUN_02037394 - ldr r1, _0204AF68 ; =FUN_0204AF24 - add r0, r5, #0x0 - mov r2, #0x0 - bl FUN_0204640C - pop {r3-r5, pc} - nop -_0204AF68: .word FUN_0204AF24 + 1 - - thumb_func_start FUN_0204AF6C -FUN_0204AF6C: ; 0x0204AF6C - push {r3, lr} + thumb_func_start FUN_02046758 +FUN_02046758: ; 0x02046758 + push {r3-r7, lr} + add r6, r0, #0x0 bl FUN_02046528 - bl FUN_020464A4 - cmp r0, #0x0 - beq _0204AF7E - mov r0, #0x1 - pop {r3, pc} -_0204AF7E: - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204AF84 -FUN_0204AF84: ; 0x0204AF84 - push {r3-r5, lr} + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C add r5, r0, #0x0 - bl FUN_02046528 + add r0, r6, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - bl FUN_0203739C - cmp r0, #0x0 - beq _0204AF9C - bl FUN_02020C2C - pop {r3-r5, pc} -_0204AF9C: - add r0, r4, #0x0 - bl FUN_0204649C - ldr r1, _0204AFB0 ; =FUN_0204AF6C + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _020467F6 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046784: ; jump table (using 16-bit offset) + .short _02046790 - _02046784 - 2; case 0 + .short _020467A2 - _02046784 - 2; case 1 + .short _020467B0 - _02046784 - 2; case 2 + .short _020467C0 - _02046784 - 2; case 3 + .short _020467EC - _02046784 - 2; case 4 + .short _020467EC - _02046784 - 2; case 5 +_02046790: + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r6, #0x0 + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020467F6 +_020467A2: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020467F6 +_020467B0: + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020467F6 +_020467C0: + ldr r0, [r5, #0x10] + add r1, r7, #0x0 + ldr r0, [r0, #0x14] + bl FUN_0204671C + ldr r0, [r5, #0x10] + add r1, r7, #0x0 + bl FUN_02047FA4 + ldr r0, [r7, #0xc] + bl FUN_02029FC8 + mov r1, #0x15 + bl FUN_0202A170 + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020467F6 +_020467EC: add r0, r5, #0x0 - mov r2, #0x0 - bl FUN_0204640C - pop {r3-r5, pc} - nop -_0204AFB0: .word FUN_0204AF6C + 1 - - thumb_func_start FUN_0204AFB4 -FUN_0204AFB4: ; 0x0204AFB4 - push {r3, lr} - bl FUN_0200E308 - cmp r0, #0x0 - beq _0204AFC2 - mov r0, #0x1 - pop {r3, pc} -_0204AFC2: - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204AFC8 -FUN_0204AFC8: ; 0x0204AFC8 - push {r3-r4, lr} - sub sp, #0xc - add r4, r0, #0x0 - bl FUN_02046528 - bl FUN_0203739C - cmp r0, #0x0 - bne _0204AFE2 - bl FUN_02020C2C - add sp, #0xc - pop {r3-r4, pc} -_0204AFE2: - mov r0, #0x6 - str r0, [sp, #0x0] + bl FUN_020465B8 mov r0, #0x1 - str r0, [sp, #0x4] - mov r0, #0x4 - str r0, [sp, #0x8] + pop {r3-r7, pc} +_020467F6: mov r0, #0x0 - add r1, r0, #0x0 - add r2, r0, #0x0 - add r3, r0, #0x0 - bl FUN_0200E1D0 - ldr r1, _0204B008 ; =FUN_0204AFB4 - add r0, r4, #0x0 - mov r2, #0x0 - bl FUN_0204640C - add sp, #0xc - pop {r3-r4, pc} + pop {r3-r7, pc} .balign 4 -_0204B008: .word FUN_0204AFB4 + 1 - thumb_func_start FUN_0204B00C -FUN_0204B00C: ; 0x0204B00C - push {r3-r4, lr} - sub sp, #0xc - add r4, r0, #0x0 + thumb_func_start FUN_020467FC +FUN_020467FC: ; 0x020467FC + push {r3-r7, lr} + add r7, r0, #0x0 bl FUN_02046528 - bl FUN_0203739C - cmp r0, #0x0 - bne _0204B026 - bl FUN_02020C2C - add sp, #0xc - pop {r3-r4, pc} -_0204B026: - mov r0, #0x6 - str r0, [sp, #0x0] - mov r1, #0x1 - str r1, [sp, #0x4] - mov r0, #0x4 - str r0, [sp, #0x8] - mov r0, #0x0 - add r2, r1, #0x0 - add r3, r0, #0x0 - bl FUN_0200E1D0 - ldr r1, _0204B04C ; =FUN_0204AFB4 - add r0, r4, #0x0 - mov r2, #0x0 - bl FUN_0204640C - add sp, #0xc - pop {r3-r4, pc} - nop -_0204B04C: .word FUN_0204AFB4 + 1 - - thumb_func_start FUN_0204B050 -FUN_0204B050: ; 0x0204B050 - push {r3-r5, lr} + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C add r5, r0, #0x0 + add r0, r7, #0x0 bl FUN_02046530 add r4, r0, #0x0 ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204B06A + beq _02046826 cmp r0, #0x1 - beq _0204B078 + beq _02046844 cmp r0, #0x2 - beq _0204B086 - b _0204B08A -_0204B06A: - add r0, r5, #0x0 - bl FUN_0204AFC8 + beq _0204686A + b _02046874 +_02046826: + ldr r1, [r5, #0x8] + mov r0, #0x5 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + mov r2, #0x1 + bl FUN_0200433C + ldr r1, [r5, #0x10] + add r0, r7, #0x0 + bl FUN_02046584 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] - b _0204B08A -_0204B078: - add r0, r5, #0x0 - bl FUN_0204AF3C + b _02046874 +_02046844: + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + ldr r0, [r0, #0x14] + bl FUN_0204671C + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + bl FUN_02047FA4 + ldr r0, [r6, #0xc] + bl FUN_02029FC8 + mov r1, #0x15 + bl FUN_0202A170 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] - b _0204B08A -_0204B086: + b _02046874 +_0204686A: + add r0, r5, #0x0 + bl FUN_020465B8 mov r0, #0x1 - pop {r3-r5, pc} -_0204B08A: + pop {r3-r7, pc} +_02046874: mov r0, #0x0 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204B090 -FUN_0204B090: ; 0x0204B090 - ldr r3, _0204B098 ; =FUN_0204640C - ldr r1, _0204B09C ; =FUN_0204B050 - mov r2, #0x0 - bx r3 - .balign 4 -_0204B098: .word FUN_0204640C + 1 -_0204B09C: .word FUN_0204B050 + 1 + pop {r3-r7, pc} - thumb_func_start FUN_0204B0A0 -FUN_0204B0A0: ; 0x0204B0A0 - push {r3-r5, lr} + thumb_func_start FUN_02046878 +FUN_02046878: ; 0x02046878 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C add r5, r0, #0x0 + add r0, r6, #0x0 bl FUN_02046530 add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _02046922 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020468A4: ; jump table (using 16-bit offset) + .short _020468B0 - _020468A4 - 2; case 0 + .short _020468C2 - _020468A4 - 2; case 1 + .short _020468D0 - _020468A4 - 2; case 2 + .short _020468E0 - _020468A4 - 2; case 3 + .short _0204690A - _020468A4 - 2; case 4 + .short _02046918 - _020468A4 - 2; case 5 +_020468B0: + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r6, #0x0 + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046922 +_020468C2: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046922 +_020468D0: + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046922 +_020468E0: + ldr r0, [r5, #0x10] + add r1, r7, #0x0 + bl FUN_02047FA4 + mov r1, #0x4e + ldr r2, [r5, #0x10] + lsl r1, r1, #0x2 + add r0, r7, #0x0 + add r1, r2, r1 + bl FUN_02060044 add r0, r5, #0x0 - bl FUN_02046528 - ldr r1, [r4, #0x0] - cmp r1, #0x0 - beq _0204B0C0 - cmp r1, #0x1 - beq _0204B0CE - cmp r1, #0x2 - beq _0204B0E0 - b _0204B0E4 -_0204B0C0: - add r0, r5, #0x0 + bl FUN_020465CC + add r0, r6, #0x0 bl FUN_0204AF84 ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] - b _0204B0E4 -_0204B0CE: - bl FUN_021E331C - add r0, r5, #0x0 + b _02046922 +_0204690A: + add r0, r6, #0x0 bl FUN_0204B00C ldr r0, [r4, #0x0] add r0, r0, #0x1 str r0, [r4, #0x0] - b _0204B0E4 -_0204B0E0: + b _02046922 +_02046918: + add r0, r5, #0x0 + bl FUN_020465B8 mov r0, #0x1 - pop {r3-r5, pc} -_0204B0E4: + pop {r3-r7, pc} +_02046922: mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_0204B0E8 -FUN_0204B0E8: ; 0x0204B0E8 - ldr r3, _0204B0F0 ; =FUN_0204640C - ldr r1, _0204B0F4 ; =FUN_0204B0A0 - mov r2, #0x0 - bx r3 + pop {r3-r7, pc} .balign 4 -_0204B0F0: .word FUN_0204640C + 1 -_0204B0F4: .word FUN_0204B0A0 + 1 - thumb_func_start FUN_0204B0F8 -FUN_0204B0F8: ; 0x0204B0F8 - push {r4-r5, lr} - sub sp, #0x1c - add r5, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02023794 + thumb_func_start FUN_02046928 +FUN_02046928: ; 0x02046928 + push {r4, lr} add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _0204B12A - add r0, sp, #0xc - add r1, sp, #0x0 - bl FUN_0201265C - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, sp, #0xc - bl FUN_0204B130 - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, sp, #0xc - add r3, sp, #0x0 - bl FUN_0204B158 -_0204B12A: - add sp, #0x1c - pop {r4-r5, pc} + add r0, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + ldr r3, [sp, #0x8] + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _02046944 ; =FUN_02046878 + add r0, r4, #0x0 + bl FUN_0204640C + pop {r4, pc} .balign 4 +_02046944: .word FUN_02046878 + 1 - thumb_func_start FUN_0204B130 -FUN_0204B130: ; 0x0204B130 - push {r4-r6, lr} - add r6, r0, #0x0 - add r5, r1, #0x0 - add r0, r2, #0x0 - blx FUN_020D660C - ldr r1, [r5, #0x20] + thumb_func_start FUN_02046948 +FUN_02046948: ; 0x02046948 + push {r3-r7, lr} + add r4, r1, #0x0 + add r7, r0, #0x0 + add r5, r2, #0x0 + bl FUN_02046528 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02244558 add r4, r0, #0x0 - cmp r4, r1 - bhs _0204B148 - str r4, [r5, #0x20] - pop {r4-r6, pc} -_0204B148: - cmp r4, r1 - bls _0204B156 - add r0, r6, #0x0 - sub r1, r4, r1 - bl FUN_0204B1DC - str r4, [r5, #0x20] -_0204B156: - pop {r4-r6, pc} - - thumb_func_start FUN_0204B158 -FUN_0204B158: ; 0x0204B158 - push {r4-r7, lr} - sub sp, #0xc - add r4, r2, #0x0 - str r0, [sp, #0x0] - add r6, r3, #0x0 - add r5, r1, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 add r0, r4, #0x0 - add r1, r6, #0x0 - blx FUN_020D6578 - str r1, [sp, #0x8] - add r1, r5, #0x0 - add r7, r0, #0x0 - add r0, r5, #0x4 - add r1, #0x14 - blx FUN_020D6578 - add r2, r1, #0x0 - sub r1, r7, r0 - ldr r1, [sp, #0x8] - sbc r1, r2 - bge _0204B19C - add r2, r5, #0x4 - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r6!, {r0-r1} - add r5, #0x14 - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - add sp, #0xc - str r0, [r5, #0x0] - pop {r4-r7, pc} -_0204B19C: - ldr r1, [sp, #0x8] - sub r0, r7, r0 - sbc r1, r2 - mov r2, #0x3c - mov r3, #0x0 - str r1, [sp, #0x8] - blx FUN_020EBA38 - add r7, r0, #0x0 - cmp r7, #0x0 - ble _0204B1D8 - add r0, r5, #0x0 - add r1, r7, #0x0 - bl FUN_02023884 - ldr r0, [sp, #0x0] - add r1, r7, #0x0 + bl FUN_020475B0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 add r2, r6, #0x0 - bl FUN_0204B270 - add r2, r5, #0x4 - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r4!, {r0-r1} - stmia r2!, {r0-r1} - ldmia r6!, {r0-r1} - add r5, #0x14 - stmia r5!, {r0-r1} - ldr r0, [r6, #0x0] - str r0, [r5, #0x0] -_0204B1D8: - add sp, #0xc - pop {r4-r7, pc} + str r5, [sp, #0x0] + bl FUN_02046928 + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_0204B1DC -FUN_0204B1DC: ; 0x0204B1DC - push {r4-r6, lr} - add r4, r1, #0x0 + thumb_func_start FUN_0204697C +FUN_0204697C: ; 0x0204697C + push {r3-r7, lr} add r5, r0, #0x0 - bl FUN_020377AC - add r1, r4, #0x0 - bl FUN_02025A60 - add r0, r5, #0x0 - bl FUN_0203959C - ldr r0, [r5, #0xc] - add r1, r4, #0x0 - bl FUN_02060344 - ldr r0, [r5, #0xc] - bl FUN_0202881C - add r1, r4, #0x0 - bl FUN_02028754 - ldr r0, [r5, #0xc] - bl FUN_0202A9B0 - add r6, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_0202881C - bl FUN_020287A4 - add r1, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0202A988 - ldr r0, [r5, #0xc] - bl FUN_0206BB1C - add r1, r4, #0x0 - bl FUN_02069D50 - ldr r0, [r5, #0xc] - bl FUN_020462AC - add r6, r0, #0x0 - bl FUN_0205F594 - cmp r0, r4 - ble _0204B244 - sub r0, r0, r4 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - b _0204B246 -_0204B244: + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x14 + add r7, r2, #0x0 + add r4, r3, #0x0 + bl FUN_020169D8 + str r4, [r0, #0xc] + cmp r4, #0x0 + beq _02046998 mov r1, #0x0 -_0204B246: - add r0, r6, #0x0 - bl FUN_0205F5A4 - lsl r1, r4, #0x10 - ldr r0, [r5, #0xc] - lsr r1, r1, #0x10 - bl FUN_0205F618 - ldr r0, [r5, #0xc] - bl FUN_0205F668 - ldr r0, [r5, #0xc] - bl FUN_0206007C - ldr r0, [r5, #0xc] - bl FUN_02029AFC - bl FUN_02029C08 - pop {r4-r6, pc} + str r1, [r4, #0x0] +_02046998: + str r6, [r0, #0x4] + str r7, [r0, #0x8] + str r5, [r0, #0x10] + mov r1, #0x0 + str r1, [r0, #0x0] + pop {r3-r7, pc} + + thumb_func_start FUN_020469A4 +FUN_020469A4: ; 0x020469A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x10] + bl FUN_02047964 + add r0, r4, #0x0 + bl FUN_02016A18 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204B270 -FUN_0204B270: ; 0x0204B270 + thumb_func_start FUN_020469B8 +FUN_020469B8: ; 0x020469B8 push {r4-r6, lr} add r5, r0, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - bl FUN_0204B3D0 ldr r0, [r5, #0xc] - add r1, r4, #0x0 - bl FUN_0202A9D0 + add r4, r1, #0x0 + bl FUN_020462AC + bl FUN_0205F214 + cmp r0, #0x0 + beq _020469F2 + add r0, r4, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _02046A18 ; =FUN_02046C1C add r0, r5, #0x0 - bl FUN_0204B33C + bl FUN_020463CC + pop {r4-r6, pc} +_020469F2: + add r0, r4, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 add r2, r0, #0x0 - ldr r0, [r5, #0xc] - add r1, r4, #0x0 - bl FUN_02025B60 - ldr r0, [r5, #0xc] - bl FUN_02022504 - ldr r2, [r6, #0x4] - add r1, r4, #0x0 - bl FUN_0202B3C4 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_0204697C + add r2, r0, #0x0 + ldr r1, _02046A1C ; =FUN_02046A88 + add r0, r5, #0x0 + bl FUN_020463CC pop {r4-r6, pc} + .balign 4 +_02046A18: .word FUN_02046C1C + 1 +_02046A1C: .word FUN_02046A88 + 1 - thumb_func_start FUN_0204B2A4 -FUN_0204B2A4: ; 0x0204B2A4 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0x14] - bl FUN_020127A8 - pop {r3, pc} - - thumb_func_start FUN_0204B2B4 -FUN_0204B2B4: ; 0x0204B2B4 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0x8] - pop {r3, pc} - - thumb_func_start FUN_0204B2C0 -FUN_0204B2C0: ; 0x0204B2C0 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0xc] - pop {r3, pc} - - thumb_func_start FUN_0204B2CC -FUN_0204B2CC: ; 0x0204B2CC - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0x10] - pop {r3, pc} - - thumb_func_start FUN_0204B2D8 -FUN_0204B2D8: ; 0x0204B2D8 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0x14] - pop {r3, pc} - - thumb_func_start FUN_0204B2E4 -FUN_0204B2E4: ; 0x0204B2E4 - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - ldr r0, [r0, #0x18] - pop {r3, pc} - - thumb_func_start FUN_0204B2F0 -FUN_0204B2F0: ; 0x0204B2F0 - push {r3-r5, lr} + thumb_func_start FUN_02046A20 +FUN_02046A20: ; 0x02046A20 + push {r4-r6, lr} ldr r0, [r0, #0xc] add r5, r1, #0x0 add r4, r2, #0x0 - bl FUN_02023794 - add r3, r0, #0x0 - ldr r2, [r3, #0x24] - ldr r3, [r3, #0x28] + bl FUN_020462AC + bl FUN_0205F214 + cmp r0, #0x0 + beq _02046A5A + add r0, r4, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _02046A80 ; =FUN_02046C1C add r0, r5, #0x0 - add r1, r4, #0x0 - blx FUN_020D6320 - pop {r3-r5, pc} - - thumb_func_start FUN_0204B30C -FUN_0204B30C: ; 0x0204B30C - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - add r4, r2, #0x0 - bl FUN_02023794 - add r3, r0, #0x0 - ldr r2, [r3, #0x2c] - ldr r3, [r3, #0x30] + bl FUN_020463EC + pop {r4-r6, pc} +_02046A5A: + add r0, r4, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_0204697C + add r2, r0, #0x0 + ldr r1, _02046A84 ; =FUN_02046A88 add r0, r5, #0x0 - add r1, r4, #0x0 - blx FUN_020D6320 - pop {r3-r5, pc} - - thumb_func_start FUN_0204B328 -FUN_0204B328: ; 0x0204B328 - push {r4, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - add r4, r0, #0x0 - bl FUN_020126FC - str r0, [r4, #0x2c] - str r1, [r4, #0x30] - pop {r4, pc} - - thumb_func_start FUN_0204B33C -FUN_0204B33C: ; 0x0204B33C - push {r3, lr} - ldr r0, [r0, #0xc] - bl FUN_02023794 - bl FUN_02023874 - pop {r3, pc} + bl FUN_020463EC + pop {r4-r6, pc} .balign 4 +_02046A80: .word FUN_02046C1C + 1 +_02046A84: .word FUN_02046A88 + 1 - thumb_func_start FUN_0204B34C -FUN_0204B34C: ; 0x0204B34C - cmp r0, #0x0 - bne _0204B354 - mov r0, #0x0 - bx lr -_0204B354: - add r0, #0x94 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - - thumb_func_start FUN_0204B35C -FUN_0204B35C: ; 0x0204B35C - cmp r0, #0x0 - bne _0204B364 - mov r0, #0x0 - bx lr -_0204B364: - sub r0, #0x94 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - - thumb_func_start FUN_0204B36C -FUN_0204B36C: ; 0x0204B36C - cmp r0, #0x0 - bne _0204B374 - mov r0, #0x0 - bx lr -_0204B374: - add r0, #0x5e - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bx lr - - thumb_func_start FUN_0204B37C -FUN_0204B37C: ; 0x0204B37C - cmp r0, #0x0 - bne _0204B384 - mov r0, #0x0 - bx lr -_0204B384: - sub r0, #0x5e - bx lr - - thumb_func_start FUN_0204B388 -FUN_0204B388: ; 0x0204B388 + thumb_func_start FUN_02046A88 +FUN_02046A88: ; 0x02046A88 push {r4-r6, lr} - add r6, r1, #0x0 + add r6, r0, #0x0 + bl FUN_02046528 add r5, r0, #0x0 add r0, r6, #0x0 - mov r1, #0x64 - bl FUN_02016998 + bl FUN_0204652C add r4, r0, #0x0 - mov r1, #0x0 - mov r2, #0x64 - blx FUN_020CE34C - str r6, [r4, #0x0] + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bls _02046AA2 + b _02046C12 +_02046AA2: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046AAE: ; jump table (using 16-bit offset) + .short _02046ABC - _02046AAE - 2; case 0 + .short _02046AE0 - _02046AAE - 2; case 1 + .short _02046AEE - _02046AAE - 2; case 2 + .short _02046AFE - _02046AAE - 2; case 3 + .short _02046BAE - _02046AAE - 2; case 4 + .short _02046BC4 - _02046AAE - 2; case 5 + .short _02046BF4 - _02046AAE - 2; case 6 +_02046ABC: + ldr r0, [r5, #0x34] + bl FUN_02058780 + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x8] add r0, r6, #0x0 - bl FUN_02025128 - str r0, [r4, #0x4] + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046AE0: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046AEE: + ldr r1, [r4, #0x10] + add r0, r6, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046AFE: + ldr r0, [r4, #0x10] + add r1, r5, #0x0 + bl FUN_020465E4 + mov r1, #0x4d + ldr r2, [r4, #0x10] + lsl r1, r1, #0x2 + ldr r1, [r2, r1] + ldr r2, [r2, #0x14] add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0204B410 + bl FUN_02061080 + ldr r0, [r4, #0x10] + ldr r0, [r0, #0x14] + bl FUN_020480B8 + cmp r0, #0x0 + bne _02046B3E add r0, r4, #0x0 + bl FUN_020469A4 + add r5, #0x90 + ldr r0, [r5, #0x0] + bl FUN_0205DD40 + ldr r1, _02046C18 ; =FUN_0204837C + add r0, r6, #0x0 + mov r2, #0x0 + bl FUN_020463EC + mov r0, #0x0 pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0204B3B8 -FUN_0204B3B8: ; 0x0204B3B8 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204B444 - ldr r0, [r4, #0x4] - bl FUN_02016A18 - add r0, r4, #0x0 - bl FUN_02016A18 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0204B3D0 -FUN_0204B3D0: ; 0x0204B3D0 - push {r4-r6, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x4] - add r6, r1, #0x0 +_02046B3E: + ldr r0, [r5, #0xc] + bl FUN_020462AC + bl FUN_0205ED3C cmp r0, #0x0 - bne _0204B3FA - mov r0, #0xb - bl FUN_02025128 - add r5, r0, #0x0 - ldr r0, [r4, #0xc] - bl FUN_02024ECC - add r1, r5, #0x0 - add r2, r6, #0x0 - bl FUN_020253E0 + beq _02046B56 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + bl FUN_02085140 +_02046B56: + ldr r1, [r4, #0x10] add r0, r5, #0x0 - bl FUN_02016A18 - pop {r4-r6, pc} -_0204B3FA: - ldr r0, [r0, #0x18] - ldr r5, [r0, #0x4] - ldr r0, [r4, #0xc] - bl FUN_02024ECC - add r1, r5, #0x0 - add r2, r6, #0x0 - bl FUN_020253E0 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0204B410 -FUN_0204B410: ; 0x0204B410 - push {r3-r5, lr} - ldr r4, [r0, #0x3c] - add r5, r1, #0x0 - add r0, r4, #0x0 - mov r1, #0x11 - bl FUN_021E4C54 - add r1, r0, #0x0 + bl FUN_020472F4 + ldr r1, [r4, #0x10] + add r0, r5, #0x0 + bl FUN_020473CC + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205E128 + cmp r0, #0x0 + beq _02046BA0 + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205E0A4 + cmp r0, #0x0 + beq _02046B98 + ldr r0, [r4, #0x10] + ldr r0, [r0, #0x14] + cmp r0, #0x1 + beq _02046BA0 + cmp r0, #0x4 + beq _02046BA0 + add r5, #0x90 ldr r0, [r5, #0x0] - bl FUN_02016998 - str r0, [r5, #0x60] - ldr r2, [r5, #0x60] - add r0, r4, #0x0 - mov r1, #0x11 - bl FUN_021E4C60 + bl FUN_0205DD40 + b _02046BA0 +_02046B98: + add r5, #0x90 + ldr r0, [r5, #0x0] + bl FUN_0205DD40 +_02046BA0: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046BAE: + ldr r1, [r4, #0x10] add r0, r5, #0x0 - add r1, r5, #0x0 - add r5, #0x60 - add r0, #0x8 - add r1, #0x5c + bl FUN_02248724 + add r0, r6, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046BC4: + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205E128 + cmp r0, #0x0 + beq _02046BEC + ldr r1, [r4, #0x10] add r2, r5, #0x0 - bl FUN_0201B234 - pop {r3-r5, pc} - - thumb_func_start FUN_0204B444 -FUN_0204B444: ; 0x0204B444 - ldr r3, _0204B44C ; =0x021E4C01 - ldr r0, [r0, #0x60] - bx r3 - nop -_0204B44C: .word 0x021E4C01 - - thumb_func_start FUN_0204B450 -FUN_0204B450: ; 0x0204B450 - push {r3-r5, lr} - sub sp, #0x30 - ldr r3, _0204B48C ; =0x020F4860 - add r5, r0, #0x0 - add r4, r1, #0x0 - ldmia r3!, {r0-r1} - add r2, sp, #0x24 - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - str r0, [r2, #0x0] - add r0, sp, #0x0 - blx FUN_020C3F14 - ldr r0, [r5, #0x4] - add r1, r4, #0x0 - ldr r0, [r0, #0x18] - add r2, sp, #0x0 - ldr r0, [r0, #0x5c] - add r3, sp, #0x24 - bl FUN_0201B6D0 + add r2, #0x90 + ldr r1, [r1, #0x14] + ldr r2, [r2, #0x0] + add r0, r5, #0x0 + bl FUN_0205DED4 + add r0, r5, #0x0 + add r5, #0x90 + ldr r1, [r5, #0x0] + bl FUN_0205DF44 +_02046BEC: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046C12 +_02046BF4: + add r0, r5, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205DF9C cmp r0, #0x0 - beq _0204B484 - add sp, #0x30 + beq _02046C12 + ldr r0, [r5, #0x34] + bl FUN_020587B0 + add r0, r4, #0x0 + bl FUN_020469A4 mov r0, #0x1 - pop {r3-r5, pc} -_0204B484: + pop {r4-r6, pc} +_02046C12: mov r0, #0x0 - add sp, #0x30 - pop {r3-r5, pc} + pop {r4-r6, pc} nop -_0204B48C: .word 0x020F4860 +_02046C18: .word FUN_0204837C + 1 - thumb_func_start FUN_0204B490 -FUN_0204B490: ; 0x0204B490 - push {r3-r7, lr} - sub sp, #0x8 + thumb_func_start FUN_02046C1C +FUN_02046C1C: ; 0x02046C1C + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C add r5, r0, #0x0 - mov r0, #0x0 - str r0, [sp, #0x4] - ldr r0, [r5, #0xc] - bl FUN_02024ECC + add r0, r7, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - ldr r0, [r5, #0x34] - add r1, sp, #0x0 - add r2, sp, #0x4 - mov r3, #0x1 - bl FUN_020580F4 - cmp r0, #0x1 - bne _0204B4F8 - mov r6, #0x0 - mov r7, #0x1 -_0204B4B6: - ldr r0, [sp, #0x0] - bl FUN_02058458 - bl FUN_0205C334 - cmp r0, #0x1 - bne _0204B4E8 - ldr r0, [sp, #0x0] - bl FUN_02058B7C + ldr r0, [r6, #0xc] + bl FUN_02034E30 + bl FUN_02034E24 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + cmp r0, #0x7 + bls _02046C4C + b _02046DA0 +_02046C4C: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046C58: ; jump table (using 16-bit offset) + .short _02046C68 - _02046C58 - 2; case 0 + .short _02046C8C - _02046C58 - 2; case 1 + .short _02046C9A - _02046C58 - 2; case 2 + .short _02046CAA - _02046C58 - 2; case 3 + .short _02046D0E - _02046C58 - 2; case 4 + .short _02046D1C - _02046C58 - 2; case 5 + .short _02046D30 - _02046C58 - 2; case 6 + .short _02046D94 - _02046C58 - 2; case 7 +_02046C68: + ldr r0, [r6, #0x34] + bl FUN_02058780 + ldr r0, [r6, #0xc] + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046C8C: + add r0, r7, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046C9A: + ldr r1, [r5, #0x10] + add r0, r7, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046CAA: + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + bl FUN_020465E4 + ldr r0, [r5, #0x10] + ldr r0, [r0, #0x14] + cmp r0, #0x4 + bne _02046CD4 + ldr r0, [r6, #0xc] + bl FUN_02022504 + str r0, [sp, #0x4] + ldr r0, [r5, #0x10] + mov r1, #0x0 + ldr r0, [r0, #0x8] + bl FUN_0206B9B0 add r1, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204B450 - cmp r0, #0x0 - beq _0204B4E8 + ldr r0, [sp, #0x4] + bl FUN_02060FE0 +_02046CD4: + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_020472F4 ldr r0, [sp, #0x0] - add r1, r6, #0x0 - bl FUN_02058510 + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + bne _02046CFE + ldr r0, [r5, #0x10] + ldr r0, [r0, #0x14] + cmp r0, #0x4 + beq _02046CFE + ldr r0, [r6, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 add r1, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02049160 +_02046CFE: + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_020473CC + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046D0E: + add r0, r7, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046D1C: + ldr r0, [r6, #0x34] + bl FUN_020587B0 + add r0, r7, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046D30: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + bne _02046D5C + ldr r0, [r5, #0x10] + ldr r0, [r0, #0x14] + cmp r0, #0x4 + bne _02046D4E + mov r2, #0x0 + ldr r1, _02046DA8 ; =0x00002262 + add r0, r7, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 + b _02046D8C +_02046D4E: + mov r2, #0x0 + ldr r1, _02046DAC ; =0x00002269 + add r0, r7, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 + b _02046D8C +_02046D5C: + ldr r0, [r6, #0xc] + bl FUN_02022510 + str r0, [sp, #0x8] + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + add r5, r0, #0x0 + ldr r0, [sp, #0x8] + bl FUN_0206B334 + cmp r0, #0x12 + bne _02046D8C + add r0, r5, #0x0 + bl FUN_0206B9AC + cmp r0, #0x6 + bne _02046D8C + mov r2, #0x0 + ldr r1, _02046DB0 ; =0x00002276 + add r0, r7, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 +_02046D8C: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046DA0 +_02046D94: + add r0, r5, #0x0 + bl FUN_020465B8 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02046DA0: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02046DA8: .word 0x00002262 +_02046DAC: .word 0x00002269 +_02046DB0: .word 0x00002276 + + thumb_func_start FUN_02046DB4 +FUN_02046DB4: ; 0x02046DB4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r6, r1, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205DD40 + mov r0, #0xb + mov r1, #0x0 + bl FUN_020476CC + add r1, r5, #0x0 + add r4, r0, #0x0 + bl FUN_02047BB0 + mov r0, #0x15 + mov r1, #0x0 + lsl r0, r0, #0x4 + str r1, [r4, r0] + add r0, r0, #0x4 + str r1, [r4, r0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0223CCDC + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 add r0, r4, #0x0 - add r2, r7, #0x0 - bl FUN_020252C4 -_0204B4E8: - ldr r0, [r5, #0x34] - add r1, sp, #0x0 - add r2, sp, #0x4 - mov r3, #0x1 - bl FUN_020580F4 - cmp r0, #0x1 - beq _0204B4B6 -_0204B4F8: - add sp, #0x8 + bl FUN_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r3, r0, #0x0 + add r0, r7, #0x0 + add r1, r4, #0x0 + add r2, r5, #0x0 + str r6, [sp, #0x0] + bl FUN_020466FC pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_0204B4FC -FUN_0204B4FC: ; 0x0204B4FC + thumb_func_start FUN_02046E18 +FUN_02046E18: ; 0x02046E18 push {r4-r7, lr} sub sp, #0xc - add r5, r0, #0x0 - ldr r0, [r5, #0xc] + str r0, [sp, #0x4] add r7, r1, #0x0 - bl FUN_02024ECC - add r4, r0, #0x0 - add r0, r7, #0x0 + str r2, [sp, #0x8] + add r6, r3, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205DD40 + mov r0, #0xb mov r1, #0x0 - bl FUN_02058510 - str r0, [sp, #0x0] - ldr r1, [sp, #0x0] - add r0, r4, #0x0 - bl FUN_02025244 - str r0, [sp, #0x4] - ldr r1, [sp, #0x0] - add r0, r4, #0x0 - bl FUN_020252E8 - add r6, r0, #0x0 - ldr r0, [sp, #0x4] - bl FUN_0204B34C - str r0, [sp, #0x8] - ldr r1, [sp, #0x0] - add r0, r4, #0x0 - bl FUN_02025268 - add r2, r0, #0x0 - lsl r2, r2, #0x18 - lsl r3, r6, #0x10 - ldr r1, [sp, #0x8] + bl FUN_020476CC + add r1, r5, #0x0 + add r4, r0, #0x0 + bl FUN_02047BB0 + ldr r2, [sp, #0x8] add r0, r5, #0x0 - lsr r2, r2, #0x18 - lsr r3, r3, #0x10 - bl FUN_020616A4 - ldr r1, [sp, #0x0] - add r0, r4, #0x0 - bl FUN_020252F4 - add r0, r7, #0x0 - bl FUN_0205C374 + add r1, r7, #0x0 + add r3, r4, #0x0 + bl FUN_0223CD7C + ldr r0, [sp, #0x20] + cmp r0, #0x0 + beq _02046E60 + mov r1, #0x63 + lsl r1, r1, #0x2 + ldr r2, [r4, r1] + mov r0, #0x8 + orr r0, r2 + str r0, [r4, r1] +_02046E60: ldr r0, [r5, #0xc] - bl FUN_0206F158 - add r4, r0, #0x0 - ldr r0, [sp, #0x4] - bl FUN_0204B34C - lsl r2, r6, #0x10 - add r1, r0, #0x0 + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 add r0, r4, #0x0 - lsr r2, r2, #0x10 - mov r3, #0x4 - bl FUN_0206ED38 + bl FUN_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r3, r0, #0x0 + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + add r2, r5, #0x0 + str r6, [sp, #0x0] + bl FUN_020466FC add sp, #0xc pop {r4-r7, pc} - .balign 4 - thumb_func_start FUN_0204B57C -FUN_0204B57C: ; 0x0204B57C + thumb_func_start FUN_02046E8C +FUN_02046E8C: ; 0x02046E8C + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C + add r5, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02046F6C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02046EB8: ; jump table (using 16-bit offset) + .short _02046EC6 - _02046EB8 - 2; case 0 + .short _02046EEA - _02046EB8 - 2; case 1 + .short _02046EF8 - _02046EB8 - 2; case 2 + .short _02046F08 - _02046EB8 - 2; case 3 + .short _02046F28 - _02046EB8 - 2; case 4 + .short _02046F36 - _02046EB8 - 2; case 5 + .short _02046F4A - _02046EB8 - 2; case 6 +_02046EC6: + ldr r0, [r6, #0x34] + bl FUN_02058780 + ldr r0, [r6, #0xc] + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 + ldr r1, [r5, #0x4] + ldr r2, [r5, #0x8] + add r0, r7, #0x0 + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046EEA: + add r0, r7, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046EF8: + ldr r1, [r5, #0x10] + add r0, r7, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046F08: + ldr r0, [r5, #0x10] + add r1, r6, #0x0 + bl FUN_020465E4 + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_0204BAA0 + ldr r1, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_020472F4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046F28: + add r0, r7, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046F36: + ldr r0, [r6, #0x34] + bl FUN_020587B0 + add r0, r7, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02046F6C +_02046F4A: + add r0, r5, #0x0 + bl FUN_020465B8 + add r0, r6, #0x0 + bl FUN_0204BAB0 + cmp r0, #0x0 + bne _02046F68 + add r0, r7, #0x0 + mov r1, #0x3 + mov r2, #0x0 + bl FUN_02038D10 + mov r0, #0x0 + pop {r3-r7, pc} +_02046F68: + mov r0, #0x1 + pop {r3-r7, pc} +_02046F6C: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02046F70 +FUN_02046F70: ; 0x02046F70 push {r4-r6, lr} - ldr r0, [r0, #0xc] add r4, r1, #0x0 - add r5, r2, #0x0 - bl FUN_02024ECC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475A0 add r6, r0, #0x0 add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204B37C + bl FUN_020475B0 add r2, r0, #0x0 - add r0, r6, #0x0 - add r1, r4, #0x0 - bl FUN_020252DC + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _02046F9C ; =FUN_02046E8C + add r0, r5, #0x0 + bl FUN_020463CC pop {r4-r6, pc} .balign 4 +_02046F9C: .word FUN_02046E8C + 1 - thumb_func_start FUN_0204B5A8 -FUN_0204B5A8: ; 0x0204B5A8 + thumb_func_start FUN_02046FA0 +FUN_02046FA0: ; 0x02046FA0 push {r3-r7, lr} + sub sp, #0x8 + str r0, [sp, #0x4] + add r6, r1, #0x0 + add r7, r2, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + mov r0, #0xb + mov r1, #0x0 + bl FUN_020476CC add r4, r0, #0x0 - ldr r0, [r4, #0xc] - add r5, r1, #0x0 - add r6, r2, #0x0 - bl FUN_02024ECC - add r7, r0, #0x0 + add r1, r5, #0x0 + bl FUN_02047BB0 add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 + add r1, r6, #0x0 + add r2, r7, #0x0 + add r3, r4, #0x0 + bl FUN_0223CD7C + mov r0, #0x63 + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r4, r0] + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + mov r1, #0x7 + bl FUN_0202A0E8 + add r0, r4, #0x0 + bl FUN_020475A0 add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204B35C - ldr r2, [r4, #0x4] + add r0, r4, #0x0 + bl FUN_020475B0 add r3, r0, #0x0 - ldr r2, [r2, #0x18] - add r0, r7, #0x0 - ldr r2, [r2, #0x4] - add r1, r5, #0x0 - bl FUN_02025274 + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r1, r4, #0x0 + add r2, r5, #0x0 + bl FUN_020466FC + add sp, #0x8 pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_0204B5DC -FUN_0204B5DC: ; 0x0204B5DC - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC - add r4, r0, #0x0 + thumb_func_start FUN_02047004 +FUN_02047004: ; 0x02047004 + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_0204652C + add r6, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_020252AC - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204B5FC -FUN_0204B5FC: ; 0x0204B5FC - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC - add r4, r0, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02025238 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204B61C -FUN_0204B61C: ; 0x0204B61C - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC + bl FUN_02046530 add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _020470A6 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02047030: ; jump table (using 16-bit offset) + .short _0204703E - _02047030 - 2; case 0 + .short _02047056 - _02047030 - 2; case 1 + .short _02047064 - _02047030 - 2; case 2 + .short _02047074 - _02047030 - 2; case 3 + .short _0204707A - _02047030 - 2; case 4 + .short _02047088 - _02047030 - 2; case 5 + .short _0204709C - _02047030 - 2; case 6 +_0204703E: + ldr r0, [r7, #0x34] + bl FUN_02058780 + ldr r1, [r6, #0x4] + ldr r2, [r6, #0x8] add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_02025244 - pop {r3-r5, pc} + bl FUN_0204AEF8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_02047056: + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_02047064: + ldr r1, [r6, #0x10] + add r0, r5, #0x0 + bl FUN_02046584 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_02047074: + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_0204707A: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_02047088: + ldr r0, [r7, #0x34] + bl FUN_020587B0 + add r0, r5, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020470A6 +_0204709C: + add r0, r6, #0x0 + bl FUN_020465B8 + mov r0, #0x1 + pop {r3-r7, pc} +_020470A6: + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 - thumb_func_start FUN_0204B63C -FUN_0204B63C: ; 0x0204B63C - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC - add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 + thumb_func_start FUN_020470AC +FUN_020470AC: ; 0x020470AC + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 add r1, r0, #0x0 + mov r0, #0xb + bl FUN_02047814 + add r4, r0, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 add r0, r4, #0x0 - bl FUN_02025244 - bl FUN_0204B34C - pop {r3-r5, pc} - .balign 4 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _020470E4 ; =FUN_02047004 + add r0, r5, #0x0 + bl FUN_0204640C + pop {r4-r6, pc} + nop +_020470E4: .word FUN_02047004 + 1 - thumb_func_start FUN_0204B660 -FUN_0204B660: ; 0x0204B660 - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC + thumb_func_start FUN_020470E8 +FUN_020470E8: ; 0x020470E8 + push {r4-r7, lr} + sub sp, #0xc + str r0, [sp, #0x4] + add r6, r1, #0x0 + add r5, r2, #0x0 + str r3, [sp, #0x8] + bl FUN_02046528 + add r7, r0, #0x0 + cmp r5, #0x0 + beq _02047110 + cmp r6, r5 + beq _02047110 + ldr r0, [sp, #0x8] + cmp r0, #0x0 + bne _0204710C + mov r4, #0x13 + b _0204711A +_0204710C: + mov r4, #0x4b + b _0204711A +_02047110: + cmp r6, r5 + bne _02047118 + mov r4, #0x3 + b _0204711A +_02047118: + mov r4, #0x1 +_0204711A: + add r0, r7, #0x0 + add r0, #0x90 + ldr r0, [r0, #0x0] + bl FUN_0205DD40 + mov r0, #0xb + add r1, r4, #0x0 + bl FUN_020476CC add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 + add r1, r7, #0x0 + bl FUN_02047BB0 + str r6, [r4, #0x1c] + ldr r0, [sp, #0x8] + str r5, [r4, #0x24] + str r0, [r4, #0x20] + ldr r1, [r7, #0xc] + ldr r2, [sp, #0x20] add r0, r4, #0x0 - bl FUN_020252D0 - bl FUN_0204B36C - pop {r3-r5, pc} - .balign 4 + bl FUN_0206ABC4 + ldr r0, [r7, #0xc] + bl FUN_02029FC8 + mov r1, #0x8 + bl FUN_0202A0E8 + add r0, r4, #0x0 + bl FUN_020475A0 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r3, r0, #0x0 + ldr r0, [sp, #0x24] + add r1, r4, #0x0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x4] + add r2, r5, #0x0 + bl FUN_020466FC + add sp, #0xc + pop {r4-r7, pc} - thumb_func_start FUN_0204B684 -FUN_0204B684: ; 0x0204B684 - push {r3-r5, lr} - ldr r0, [r0, #0xc] - add r5, r1, #0x0 - bl FUN_02024ECC + thumb_func_start FUN_02047174 +FUN_02047174: ; 0x02047174 + push {r3-r7, lr} + add r5, r2, #0x0 + add r7, r0, #0x0 + add r4, r1, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + mov r0, #0xb + add r1, r5, #0x0 + bl FUN_020476CC + add r5, r0, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_02047F1C + add r0, r5, #0x0 + bl FUN_020475A0 add r4, r0, #0x0 add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0202524C - pop {r3-r5, pc} - .balign 4 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _020471BC ; =FUN_02046758 + add r0, r7, #0x0 + bl FUN_0204640C + pop {r3-r7, pc} + nop +_020471BC: .word FUN_02046758 + 1 - thumb_func_start FUN_0204B6A4 -FUN_0204B6A4: ; 0x0204B6A4 - push {r3-r5, lr} - ldr r0, [r0, #0xc] + thumb_func_start FUN_020471C0 +FUN_020471C0: ; 0x020471C0 + push {r3-r7, lr} + str r0, [sp, #0x0] add r5, r1, #0x0 - bl FUN_02024ECC + add r6, r2, #0x0 + add r4, r3, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + cmp r4, #0x0 + beq _020471DE + mov r0, #0xb + mov r1, #0x5 + bl FUN_020476CC + b _020471E6 +_020471DE: + mov r0, #0xb + mov r1, #0x7 + bl FUN_020476CC +_020471E6: add r4, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_02058510 - add r1, r0, #0x0 add r0, r4, #0x0 - bl FUN_020252E8 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204B6C4 -FUN_0204B6C4: ; 0x0204B6C4 - push {r4-r6, lr} + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_02047BC0 + add r0, r4, #0x0 + bl FUN_020475A0 add r6, r0, #0x0 - add r5, r1, #0x0 - ldr r4, _0204B708 ; =0x00000000 - beq _0204B6D8 - add r0, r5, #0x0 - bl FUN_02058458 - cmp r0, #0x64 - beq _0204B6DC -_0204B6D8: - mov r0, #0x0 - pop {r4-r6, pc} -_0204B6DC: - add r0, r6, #0x0 - add r1, r5, #0x0 - bl FUN_0204B5FC - cmp r0, #0x0 - bne _0204B6FE - mov r0, #0x1 - orr r4, r0 - add r0, r6, #0x0 - add r1, r5, #0x0 - bl FUN_0204B660 - cmp r0, #0x0 - bne _0204B702 - mov r0, #0x2 - orr r4, r0 - b _0204B702 -_0204B6FE: - mov r0, #0x4 - orr r4, r0 -_0204B702: add r0, r4, #0x0 - pop {r4-r6, pc} + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r1, _0204721C ; =FUN_020467FC + str r5, [r2, #0xc] + bl FUN_0204640C + pop {r3-r7, pc} nop -_0204B708: .word 0x00000000 +_0204721C: .word FUN_020467FC + 1 - thumb_func_start FUN_0204B70C -FUN_0204B70C: ; 0x0204B70C + thumb_func_start FUN_02047220 +FUN_02047220: ; 0x02047220 push {r3-r7, lr} - add r7, r0, #0x0 - ldr r0, [r7, #0x38] - add r5, r2, #0x0 - bl FUN_02055320 + add r5, r0, #0x0 + bl FUN_02046528 add r6, r0, #0x0 - ldr r0, [r7, #0x38] - bl FUN_0205532C + add r0, r5, #0x0 + bl FUN_0204652C + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - cmp r5, #0x2 - bne _0204B72A - sub r6, r6, #0x1 - b _0204B746 -_0204B72A: - cmp r5, #0x3 - bne _0204B732 - add r6, r6, #0x1 - b _0204B746 -_0204B732: - cmp r5, #0x0 - bne _0204B73A - sub r4, r4, #0x1 - b _0204B746 -_0204B73A: - cmp r5, #0x1 - bne _0204B742 - add r4, r4, #0x1 - b _0204B746 -_0204B742: - bl FUN_02020C2C -_0204B746: - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r4, #0x0 - bl FUN_0204A6B4 - cmp r0, #0x0 - beq _0204B758 - mov r0, #0x1 - pop {r3-r7, pc} -_0204B758: - ldr r0, [r7, #0x34] - add r1, r6, #0x0 - add r2, r4, #0x0 - bl FUN_02058D74 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204B76A + beq _02047246 + cmp r0, #0x1 + beq _02047258 + b _02047262 +_02047246: + ldr r1, _02047268 ; =FUN_02046758 + add r0, r5, #0x0 + add r2, r7, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02047262 +_02047258: + add r0, r6, #0x0 + bl FUN_0204FF5C mov r0, #0x1 pop {r3-r7, pc} -_0204B76A: +_02047262: mov r0, #0x0 pop {r3-r7, pc} - .balign 4 + nop +_02047268: .word FUN_02046758 + 1 - thumb_func_start FUN_0204B770 -FUN_0204B770: ; 0x0204B770 + thumb_func_start FUN_0204726C +FUN_0204726C: ; 0x0204726C push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, [r5, #0x38] add r6, r1, #0x0 - bl FUN_02055320 + mov r0, #0xb + add r1, r2, #0x0 + bl FUN_020476CC add r4, r0, #0x0 - ldr r0, [r5, #0x38] - bl FUN_0205532C + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_02047F1C + add r0, r4, #0x0 + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 add r2, r0, #0x0 - cmp r6, #0x2 - bne _0204B78E - sub r4, r4, #0x1 - b _0204B794 -_0204B78E: - cmp r6, #0x3 - bne _0204B794 - add r4, r4, #0x1 -_0204B794: - ldr r0, [r5, #0x34] - add r1, r4, #0x0 - sub r2, r2, #0x1 - bl FUN_02058D74 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _020472AC ; =FUN_02047220 + add r0, r5, #0x0 + bl FUN_020463CC pop {r4-r6, pc} + nop +_020472AC: .word FUN_02047220 + 1 - thumb_func_start FUN_0204B7A0 -FUN_0204B7A0: ; 0x0204B7A0 - push {r3-r7, lr} + thumb_func_start FUN_020472B0 +FUN_020472B0: ; 0x020472B0 + push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, [r5, #0x38] add r6, r1, #0x0 - bl FUN_02055320 - add r7, r0, #0x0 - ldr r0, [r5, #0x38] - bl FUN_0205532C + mov r0, #0xb + add r1, r2, #0x0 + bl FUN_020476CC add r4, r0, #0x0 - ldr r0, [r6, #0x4] - cmp r0, #0x0 - bne _0204B7C0 - sub r4, r4, #0x1 - b _0204B7CC -_0204B7C0: - cmp r0, #0x1 - bne _0204B7C8 - add r4, r4, #0x1 - b _0204B7CC -_0204B7C8: - bl FUN_02020C2C -_0204B7CC: - ldr r0, [r5, #0x34] - add r1, r7, #0x0 - add r2, r4, #0x0 - bl FUN_02058D74 - pop {r3-r7, pc} - - thumb_func_start FUN_0204B7D8 -FUN_0204B7D8: ; 0x0204B7D8 - push {r3, lr} - bl FUN_02058458 - cmp r0, #0x64 - bne _0204B7E6 - mov r0, #0x1 - pop {r3, pc} -_0204B7E6: - mov r0, #0x0 - pop {r3, pc} - .balign 4 - - thumb_func_start FUN_0204B7EC -FUN_0204B7EC: ; 0x0204B7EC - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204B7A0 - add r1, r0, #0x0 - beq _0204B7FE + add r1, r5, #0x0 + add r2, r6, #0x0 + mov r3, #0x0 + bl FUN_02047D48 add r0, r4, #0x0 - bl FUN_0204B5DC -_0204B7FE: - pop {r4, pc} - - thumb_func_start FUN_0204B800 -FUN_0204B800: ; 0x0204B800 - push {r3-r5, lr} - ldr r0, [r0, #0x38] - add r4, r2, #0x0 - add r5, r1, #0x0 - bl FUN_020553A0 - add r1, r4, #0x0 - bl FUN_0205AEA4 - str r0, [r5, #0xc] - pop {r3-r5, pc} + bl FUN_020475A0 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020475B0 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x0 + bl FUN_02046594 + add r2, r0, #0x0 + ldr r1, _020472F0 ; =FUN_02047220 + add r0, r5, #0x0 + bl FUN_020463CC + pop {r4-r6, pc} .balign 4 +_020472F0: .word FUN_02047220 + 1 - thumb_func_start FUN_0204B818 -FUN_0204B818: ; 0x0204B818 + thumb_func_start FUN_020472F4 +FUN_020472F4: ; 0x020472F4 push {r3-r5, lr} add r4, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x4 - bls _0204B832 - b _0204B98E -_0204B832: - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r0, r1, #0 - lsl r6, r4, #0 - lsl r6, r6, #0 - lsl r2, r7, #0x3 - lsl r2, r6, #0x4 - ldr r0, [r5, #0x38] - mov r1, #0x10 - bl FUN_021E5FD8 - ldr r0, [r5, #0x38] - bl FUN_021E5FE0 - ldr r0, [r5, #0x38] - bl FUN_020553A0 - bl FUN_02058914 - mov r0, #0x1 - str r0, [r4, #0x0] - b _0204B98E -_0204B866: - .byte 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0xBF, 0xFF, 0x00, 0x20 - .byte 0xA0, 0x60, 0x02, 0x20, 0x20, 0x60, 0x47, 0x48, 0x20, 0x21, 0x40, 0x6C, 0x01, 0x42, 0x1B, 0xD0 - .byte 0x28, 0x1C, 0x02, 0x21, 0xFF, 0xF7, 0x74, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0xA4, 0xFF - .byte 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x79, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x02, 0x22 - .byte 0xFF, 0xF7, 0x34, 0xFF, 0x00, 0x28, 0x3C, 0xD1, 0x3B, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7 - .byte 0xA7, 0xFF, 0x03, 0x20, 0x20, 0x60, 0x6A, 0xE0, 0x10, 0x21, 0x01, 0x42, 0x1B, 0xD0, 0x28, 0x1C - .byte 0x03, 0x21, 0xFF, 0xF7, 0x55, 0xFF, 0x00, 0x28, 0x03, 0xD0, 0xFF, 0xF7, 0x85, 0xFF, 0x00, 0x28 - .byte 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60, 0x5A, 0xE0, 0x28, 0x1C, 0x21, 0x1C, 0x03, 0x22, 0xFF, 0xF7 - .byte 0x15, 0xFF, 0x00, 0x28, 0x1D, 0xD1, 0x2D, 0x4A, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7, 0x88, 0xFF - .byte 0x03, 0x20, 0x20, 0x60, 0x4B, 0xE0, 0x40, 0x21, 0x01, 0x42, 0x09, 0xD0, 0x61, 0x68, 0x01, 0x29 - .byte 0x06, 0xD1, 0xA8, 0x6B, 0x00, 0x21, 0x09, 0xF0, 0xFD, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x3E, 0xE0 - .byte 0x80, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD1, 0x04, 0x20, 0x20, 0x60 - .byte 0x35, 0xE0, 0xA0, 0x68, 0x40, 0x1C, 0xA0, 0x60, 0x5A, 0x28, 0x30, 0xDD, 0xA8, 0x6B, 0x61, 0x68 - .byte 0x09, 0xF0, 0xE8, 0xFC, 0x04, 0x20, 0x20, 0x60, 0x29, 0xE0, 0xE0, 0x68, 0x0F, 0xF0, 0xD8, 0xFA - .byte 0x00, 0x28, 0x24, 0xD0, 0xE0, 0x68, 0x0F, 0xF0, 0xD9, 0xFA, 0x28, 0x1C, 0x21, 0x1C, 0xFF, 0xF7 - .byte 0x27, 0xFF, 0x00, 0x28, 0x06, 0xD0, 0xFF, 0xF7, 0x3F, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x20 - .byte 0x20, 0x60, 0x14, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xCC, 0xFC, 0x04, 0x20, 0x20, 0x60 - .byte 0x0D, 0xE0, 0xA8, 0x6B, 0x61, 0x68, 0x09, 0xF0, 0xC5, 0xFC, 0xA8, 0x6B, 0x09, 0xF0, 0x10, 0xFD - .byte 0x0C, 0xF0, 0xC2, 0xFF, 0x20, 0x1C, 0xCB, 0xF7, 0x47, 0xF8, 0x01, 0x20, 0x38, 0xBD -_0204B98E: - mov r0, #0x0 - pop {r3-r5, pc} - nop - - thumb_func_start FUN_0204B994 -FUN_0204B994: ; 0x0204B994 - ldr r0, _0204BC78 ; =0x28063108 - lsl r4, r3, #0x8 - ldr r0, _0204BADC ; =0x0204BE11 - lsl r7, r1, #0x8 - ldr r0, _0204BB00 ; =0xD9014285 - lsl r7, r1, #0x8 - push {r3-r5, lr} + ldr r0, [r1, #0x0] + mov r3, #0x4 + ldr r2, [r1, #0x14] + tst r3, r0 + bne _020473C8 + mov r3, #0x80 add r5, r0, #0x0 - mov r0, #0x20 - mov r1, #0x10 - bl FUN_02016998 - add r4, r0, #0x0 - mov r0, #0x0 - str r0, [r4, #0x0] - str r0, [r4, #0xc] - ldr r0, [r5, #0x38] - bl FUN_020552F8 - str r0, [r4, #0x4] - ldr r0, [r5, #0x10] - ldr r1, _0204B9C8 ; =FUN_0204B818 - add r2, r4, #0x0 - bl FUN_0204640C + tst r5, r3 + bne _020473C8 + cmp r0, #0x0 + beq _02047318 + add r3, #0x80 + cmp r0, r3 + beq _02047318 + cmp r0, #0x4a + bne _02047364 +_02047318: + cmp r2, #0x1 + bne _0204732A + ldr r0, [r4, #0xc] + bl FUN_02029FC8 + mov r1, #0x8 + bl FUN_0202A170 pop {r3-r5, pc} - .balign 4 -_0204B9C8: .word FUN_0204B818 + 1 - - thumb_func_start FUN_0204B9CC -FUN_0204B9CC: ; 0x0204B9CC - push {r4, lr} - add r4, r0, #0x0 - ldr r0, [r4, #0x38] - bl FUN_020553C4 - bl FUN_02055648 +_0204732A: + cmp r2, #0x4 + bne _020473C8 + ldr r0, [r1, #0x8] + mov r1, #0x0 + bl FUN_0206B9B0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC add r1, r0, #0x0 - ldr r0, [r4, #0x38] - bl FUN_021E5FD8 - ldr r0, [r4, #0x38] - bl FUN_021E5FE0 - pop {r4, pc} - .balign 4 - - thumb_func_start FUN_0204B9EC -FUN_0204B9EC: ; 0x0204B9EC - push {r4, lr} - ldr r1, _0204BA14 ; =0x021C5A1C - add r4, r0, #0x0 mov r0, #0x0 - mov r2, #0x4c - blx FUN_020CE240 - ldr r1, _0204BA14 ; =0x021C5A1C - add r0, r4, #0x0 - bl FUN_0204BB20 - ldr r0, _0204BA14 ; =0x021C5A1C - bl FUN_0204BBC4 - bl FUN_020126FC - ldr r2, _0204BA18 ; =0x021C5A1C - str r0, [r2, #0x40] - str r1, [r2, #0x44] - pop {r4, pc} - .balign 4 -_0204BA14: .word 0x021C5A1C -_0204BA18: .word 0x021C5A1C - - thumb_func_start FUN_0204BA1C -FUN_0204BA1C: ; 0x0204BA1C - push {r3-r5, lr} - ldr r0, [r0, #0xc] - ldr r4, _0204BA60 ; =0x021C5A1C + bl FUN_0206BB48 + cmp r0, #0x0 + ldr r0, [r4, #0xc] + beq _02047358 bl FUN_02029FC8 - add r5, r0, #0x0 - bl FUN_020126FC - add r3, r1, #0x0 - ldr r1, _0204BA64 ; =0x021C5A1C - add r2, r0, #0x0 - ldr r0, [r1, #0x40] - ldr r1, [r1, #0x44] - bl FUN_020127C0 - mov r2, #0xfa - mov r3, #0x0 - lsl r2, r2, #0x2 - sub r2, r0, r2 - sbc r1, r3 - bge _0204BA50 - mov r1, #0xfa - lsl r1, r1, #0x2 - sub r0, r1, r0 - lsl r0, r0, #0x1 - b _0204BA52 -_0204BA50: - mov r0, #0x0 -_0204BA52: - str r0, [r4, #0x48] - add r0, r5, #0x0 - mov r1, #0x11 + mov r1, #0x9 bl FUN_0202A170 pop {r3-r5, pc} - nop -_0204BA60: .word 0x021C5A1C -_0204BA64: .word 0x021C5A1C - - thumb_func_start FUN_0204BA68 -FUN_0204BA68: ; 0x0204BA68 - push {r4-r6, lr} - add r5, r0, #0x0 - ldr r0, _0204BA8C ; =0x021C5A1C - add r4, r1, #0x0 - add r6, r2, #0x0 - bl FUN_0204BBE8 - cmp r0, #0x1 - bne _0204BA88 - ldr r1, _0204BA8C ; =0x021C5A1C - add r0, r5, #0x0 - add r2, r4, #0x0 - add r3, r6, #0x0 - bl FUN_0204BC48 - pop {r4-r6, pc} -_0204BA88: - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 -_0204BA8C: .word 0x021C5A1C - - thumb_func_start FUN_0204BA90 -FUN_0204BA90: ; 0x0204BA90 - ldr r3, _0204BA98 ; =FUN_0204BD40 - ldr r1, _0204BA9C ; =0x021C5A1C - bx r3 - nop -_0204BA98: .word FUN_0204BD40 + 1 -_0204BA9C: .word 0x021C5A1C - - thumb_func_start FUN_0204BAA0 -FUN_0204BAA0: ; 0x0204BAA0 - ldr r3, _0204BAA8 ; =FUN_0204BD18 - ldr r2, _0204BAAC ; =0x021C5A1C - bx r3 - nop -_0204BAA8: .word FUN_0204BD18 + 1 -_0204BAAC: .word 0x021C5A1C - - thumb_func_start FUN_0204BAB0 -FUN_0204BAB0: ; 0x0204BAB0 - push {r3, lr} - ldr r0, _0204BAC0 ; =0x021C5A1C - bl FUN_0204BBA8 - mov r1, #0x6 - sub r0, r1, r0 - pop {r3, pc} - nop -_0204BAC0: .word 0x021C5A1C - - thumb_func_start FUN_0204BAC4 -FUN_0204BAC4: ; 0x0204BAC4 - ldr r3, _0204BACC ; =0x0204BD8D - ldr r0, _0204BAD0 ; =0x021C5A1C - bx r3 - nop -_0204BACC: .word 0x0204BD8D -_0204BAD0: .word 0x021C5A1C - - thumb_func_start FUN_0204BAD4 -FUN_0204BAD4: ; 0x0204BAD4 - ldr r3, _0204BADC ; =0x0204BE11 - ldr r0, _0204BAE0 ; =0x021C5A1C - bx r3 - nop -_0204BADC: .word 0x0204BE11 -_0204BAE0: .word 0x021C5A1C - - thumb_func_start FUN_0204BAE4 -FUN_0204BAE4: ; 0x0204BAE4 - ldr r3, _0204BAEC ; =FUN_0204BDA0 - ldr r0, _0204BAF0 ; =0x021C5A1C - bx r3 - nop -_0204BAEC: .word FUN_0204BDA0 + 1 -_0204BAF0: .word 0x021C5A1C - - thumb_func_start FUN_0204BAF4 -FUN_0204BAF4: ; 0x0204BAF4 - push {r3-r5, lr} +_02047358: + bl FUN_02029FC8 + mov r1, #0xa + bl FUN_0202A170 + pop {r3-r5, pc} +_02047364: + mov r3, #0x1 + tst r3, r0 + bne _02047370 + mov r3, #0x10 + tst r3, r0 + beq _02047382 +_02047370: + cmp r2, #0x1 + bne _020473C8 + ldr r0, [r4, #0xc] + bl FUN_02029FC8 + mov r1, #0xb + bl FUN_0202A170 + pop {r3-r5, pc} +_02047382: + mov r3, #0x20 add r5, r0, #0x0 - add r4, r1, #0x0 - cmp r5, #0x0 - beq _0204BB04 - ldr r0, _0204BB1C ; =0x000001ED - .balign 4 -_0204BB00: .word 0xD9014285 -_0204BB04: - bl FUN_02020C2C -_0204BB08: - mov r3, #0x6 - add r0, r4, #0x0 - sub r4, r5, #0x1 - str r3, [sp, #0x0] - mov r1, #0x83 + tst r5, r3 + bne _02047390 + lsl r3, r3, #0x4 + tst r0, r3 + beq _020473C8 +_02047390: + cmp r2, #0x4 + bne _020473C8 + ldr r0, [r1, #0x8] + mov r1, #0x0 + bl FUN_0206B9B0 + mov r1, #0x5 mov r2, #0x0 - mul r3, r4 - bl FUN_02006548 + bl FUN_020671BC + add r1, r0, #0x0 + mov r0, #0x0 + bl FUN_0206BB48 + cmp r0, #0x0 + ldr r0, [r4, #0xc] + beq _020473BE + bl FUN_02029FC8 + mov r1, #0x9 + bl FUN_0202A170 + pop {r3-r5, pc} +_020473BE: + bl FUN_02029FC8 + mov r1, #0xa + bl FUN_0202A170 +_020473C8: pop {r3-r5, pc} .balign 4 -_0204BB1C: .word 0x000001ED - thumb_func_start FUN_0204BB20 -FUN_0204BB20: ; 0x0204BB20 - push {r3-r7, lr} - sub sp, #0x10 - ldr r0, [r0, #0xc] - str r1, [sp, #0x0] - bl FUN_02022528 + thumb_func_start FUN_020473CC +FUN_020473CC: ; 0x020473CC + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x0] + mov r2, #0x4 + ldr r1, [r4, #0x14] + tst r2, r0 + bne _020473EC + mov r3, #0x80 + add r2, r0, #0x0 + tst r2, r3 + bne _020473EC + lsl r2, r3, #0x2 + tst r2, r0 + beq _020473EE +_020473EC: + b _020474FC +_020473EE: + cmp r0, #0x0 + beq _02047400 + add r3, #0x80 + cmp r0, r3 + beq _02047400 + cmp r0, #0x4a + beq _02047400 + cmp r0, #0x20 + bne _020474D2 +_02047400: + cmp r1, #0x1 + bne _02047470 + add r0, r5, #0x0 + add r0, #0x76 + ldrh r0, [r0, #0x0] + add r1, r0, #0x1 + add r0, r5, #0x0 + add r0, #0x76 + strh r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x76 + ldrh r0, [r0, #0x0] + cmp r0, #0x5 + blo _020474FC + ldr r0, [r4, #0x8] + mov r1, #0x0 + bl FUN_0206B9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02023918 str r0, [sp, #0x4] - mov r0, #0x4 - bl FUN_020669C0 - ldr r5, [sp, #0x0] - add r4, r0, #0x0 - mov r6, #0x0 - add r7, sp, #0x8 -_0204BB3C: - ldr r0, [sp, #0x0] - add r2, r4, #0x0 - add r1, r0, r6 - add r1, #0x30 - mov r0, #0x0 - strb r0, [r1, #0x0] - ldr r0, [sp, #0x4] - add r1, r6, #0x0 - bl FUN_0202BFD8 - add r0, r4, #0x0 + add r0, r6, #0x0 mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - strh r0, [r5, #0x0] - add r1, sp, #0x8 - bl FUN_0204BAF4 - ldrb r0, [r7, #0x0] - cmp r0, #0x0 - beq _0204BB6E - b _0204BB72 -_0204BB6E: - ldrb r0, [r7, #0x1] - add r0, r0, #0x4 -_0204BB72: - strb r0, [r5, #0x2] - ldrb r0, [r7, #0x3] - mov r1, #0xb0 + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x6f mov r2, #0x0 - strb r0, [r5, #0x3] - ldrb r0, [r7, #0x2] - strh r0, [r5, #0x4] - add r0, r4, #0x0 bl FUN_020671BC - strb r0, [r5, #0x6] - add r0, r4, #0x0 - mov r1, #0xb1 + add r2, r0, #0x0 + mov r3, #0xb + str r3, [sp, #0x0] + lsl r3, r3, #0x5 + ldr r3, [r4, r3] + lsl r1, r7, #0x10 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x4] + lsr r1, r1, #0x10 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl FUN_0202920C + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x2 + bl FUN_02028AD4 + add sp, #0xc + pop {r4-r7, pc} +_02047470: + cmp r1, #0x4 + bne _020474FC + mov r0, #0x17 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + lsl r0, r0, #0x2 + add r0, r4, r0 + ldr r0, [r0, #0x4] + bl FUN_0206B9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02023918 + str r0, [sp, #0x8] + add r0, r6, #0x0 + mov r1, #0x5 mov r2, #0x0 bl FUN_020671BC - strb r0, [r5, #0x7] - add r6, r6, #0x1 - add r5, #0x8 - cmp r6, #0x6 - blt _0204BB3C - add r0, r4, #0x0 - bl FUN_02016A18 - add sp, #0x10 - pop {r3-r7, pc} - .balign 4 + add r7, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + add r2, r0, #0x0 + mov r3, #0xb + str r3, [sp, #0x0] + lsl r3, r3, #0x5 + ldr r3, [r4, r3] + lsl r1, r7, #0x10 + lsl r2, r2, #0x18 + lsl r3, r3, #0x18 + ldr r0, [sp, #0x8] + lsr r1, r1, #0x10 + lsr r2, r2, #0x18 + lsr r3, r3, #0x18 + bl FUN_0202918C + add r5, #0x98 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + mov r2, #0x2 + bl FUN_02028AD4 + add sp, #0xc + pop {r4-r7, pc} +_020474D2: + mov r2, #0x1 + tst r2, r0 + bne _020474DE + mov r2, #0x10 + tst r0, r2 + beq _020474FC +_020474DE: + cmp r1, #0x1 + bne _020474FC + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + ldr r1, [r1, #0x0] + ldr r2, [r4, #0x1c] + add r0, #0x98 + lsl r1, r1, #0x10 + lsl r2, r2, #0x10 + ldr r0, [r0, #0x0] + lsr r1, r1, #0x10 + lsr r2, r2, #0x10 + mov r3, #0xb + bl FUN_020299DC +_020474FC: + add sp, #0xc + pop {r4-r7, pc} - thumb_func_start FUN_0204BBA8 -FUN_0204BBA8: ; 0x0204BBA8 - mov r3, #0x0 - add r2, r3, #0x0 -_0204BBAC: - add r1, r0, r2 - add r1, #0x30 - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204BBB8 - add r3, r3, #0x1 -_0204BBB8: - add r2, r2, #0x1 - cmp r2, #0x6 - blt _0204BBAC - add r0, r3, #0x0 - bx lr + thumb_func_start FUN_02047500 +FUN_02047500: ; 0x02047500 + push {r4, lr} + ldr r4, [r0, #0x0] + mov r1, #0x1 + tst r1, r4 + beq _02047546 + add r0, #0x5d + ldrb r0, [r0, #0x0] + bl FUN_020475C0 + mov r1, #0x80 + tst r1, r4 + beq _0204752A + cmp r0, #0x1c + beq _02047558 + mov r0, #0x2 + tst r0, r4 + beq _02047526 + mov r0, #0x1a + pop {r4, pc} +_02047526: + mov r0, #0x18 + pop {r4, pc} +_0204752A: + add r1, r0, #0x0 + sub r1, #0x15 + cmp r1, #0x2 + bls _02047558 + mov r1, #0x2 + tst r1, r4 + beq _0204753C + mov r0, #0x1a + pop {r4, pc} +_0204753C: + mov r1, #0x4 + tst r1, r4 + beq _02047558 + mov r0, #0x19 + pop {r4, pc} +_02047546: + ldr r0, [r0, #0x8] + bl FUN_02047668 + cmp r0, #0x1e + blo _02047558 + mov r1, #0x2 + tst r1, r4 + beq _02047558 + mov r0, #0x1b +_02047558: + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204BBC4 -FUN_0204BBC4: ; 0x0204BBC4 + thumb_func_start FUN_0204755C +FUN_0204755C: ; 0x0204755C push {r3-r5, lr} - add r4, r0, #0x0 - bl FUN_0201B9EC - ldr r1, _0204BBE4 ; =0x0000199A - blx FUN_020EBC80 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, #0xa - blo _0204BBDE + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x1f + blo _0204756A bl FUN_02020C2C -_0204BBDE: - add r0, r5, #0x5 - str r0, [r4, #0x38] +_0204756A: + ldr r0, _02047580 ; =0x020F457C + lsl r1, r5, #0x2 + ldrh r0, [r0, r1] + ldr r1, _02047584 ; =0x0000FFFF + cmp r0, r1 + bne _0204757C + add r0, r4, #0x0 + bl FUN_021E495C +_0204757C: pop {r3-r5, pc} - .balign 4 -_0204BBE4: .word 0x0000199A + nop +_02047580: .word 0x020F457C +_02047584: .word 0x0000FFFF - thumb_func_start FUN_0204BBE8 -FUN_0204BBE8: ; 0x0204BBE8 - push {r3, lr} - ldr r1, [r0, #0x38] - sub r1, r1, #0x1 - str r1, [r0, #0x38] - bne _0204BBFA - bl FUN_0204BBC4 - mov r0, #0x1 - pop {r3, pc} -_0204BBFA: - mov r0, #0x0 - pop {r3, pc} + thumb_func_start FUN_02047588 +FUN_02047588: ; 0x02047588 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x1f + blo _02047594 + bl FUN_02020C2C +_02047594: + ldr r0, _0204759C ; =0x020F457E + lsl r1, r4, #0x2 + ldrh r0, [r0, r1] + pop {r4, pc} .balign 4 +_0204759C: .word 0x020F457E - thumb_func_start FUN_0204BC00 -FUN_0204BC00: ; 0x0204BC00 - push {r4-r6, lr} - add r5, r1, #0x0 - add r6, r2, #0x0 - bl FUN_0204A6E0 + thumb_func_start FUN_020475A0 +FUN_020475A0: ; 0x020475A0 + push {r4, lr} add r4, r0, #0x0 - cmp r5, #0x20 - blt _0204BC14 - mov r5, #0x1 - b _0204BC16 -_0204BC14: - mov r5, #0x0 -_0204BC16: - cmp r6, #0x20 - bge _0204BC1E - mov r0, #0x0 - b _0204BC20 -_0204BC1E: - mov r0, #0x2 -_0204BC20: - add r5, r5, r0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - bl FUN_0205478C - cmp r0, #0x0 - beq _0204BC32 - add r0, r5, #0x1 - pop {r4-r6, pc} -_0204BC32: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - bl FUN_0205481C - cmp r0, #0x0 - beq _0204BC42 - add r0, r5, #0x5 - pop {r4-r6, pc} -_0204BC42: - mov r0, #0x0 - pop {r4-r6, pc} - .balign 4 + bl FUN_02047500 + add r1, r4, #0x0 + bl FUN_0204755C + pop {r4, pc} - thumb_func_start FUN_0204BC48 -FUN_0204BC48: ; 0x0204BC48 - push {r3-r7, lr} - add r5, r1, #0x0 - add r1, r2, #0x0 - add r2, r3, #0x0 - mov r6, #0x0 - bl FUN_0204BC00 - add r7, r0, #0x0 - bne _0204BC5E - add r0, r6, #0x0 - pop {r3-r7, pc} -_0204BC5E: - add r0, r6, #0x0 - add r1, r5, #0x0 -_0204BC62: - add r2, r5, r0 - add r2, #0x30 - ldrb r2, [r2, #0x0] - cmp r2, #0x0 - bne _0204BC76 - ldrb r2, [r1, #0x2] - cmp r7, r2 - bne _0204BC76 - ldrb r2, [r1, #0x3] - add r6, r6, r2 -_0204BC76: - add r0, r0, #0x1 - .balign 4 -_0204BC78: .word 0x28063108 -_0204BC7C: - .byte 0xF1, 0xDB, 0x00, 0x2E - .byte 0x01, 0xD1, 0x00, 0x20, 0xF8, 0xBD -_0204BC86: - add r0, r6, #0x0 - add r0, #0x14 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - bne _0204BC94 - bl FUN_02020C2C -_0204BC94: - add r0, r6, #0x0 - add r0, #0x14 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0x1 - bhi _0204BCA4 - mov r4, #0x0 - b _0204BCD8 -_0204BCA4: - bl FUN_0201B9EC - add r1, r6, #0x0 - add r1, #0x14 + thumb_func_start FUN_020475B0 +FUN_020475B0: ; 0x020475B0 + push {r4, lr} add r4, r0, #0x0 - lsl r1, r1, #0x10 - ldr r0, _0204BD14 ; =0x0000FFFF - lsr r1, r1, #0x10 - blx FUN_020EBC80 - add r1, r0, #0x0 - add r1, r1, #0x1 - lsl r1, r1, #0x10 - add r0, r4, #0x0 - lsr r1, r1, #0x10 - blx FUN_020EBC80 + bl FUN_02047500 + add r1, r4, #0x0 + bl FUN_02047588 + pop {r4, pc} + + thumb_func_start FUN_020475C0 +FUN_020475C0: ; 0x020475C0 + sub r0, #0x3e + mov r1, #0x1d + cmp r0, #0x23 + bhi _02047662 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 - add r6, #0x14 - lsr r4, r0, #0x10 - lsl r0, r6, #0x10 - lsr r0, r0, #0x10 - cmp r4, r0 - blo _0204BCD8 - bl FUN_02020C2C -_0204BCD8: - cmp r4, #0x14 - bge _0204BCE0 - mov r0, #0x0 - pop {r3-r7, pc} -_0204BCE0: - sub r4, #0x14 + asr r0, r0, #0x10 + add pc, r0 +_020475D4: ; jump table (using 16-bit offset) + .short _0204761C - _020475D4 - 2; case 0 + .short _02047650 - _020475D4 - 2; case 1 + .short _02047634 - _020475D4 - 2; case 2 + .short _0204763C - _020475D4 - 2; case 3 + .short _02047640 - _020475D4 - 2; case 4 + .short _02047644 - _020475D4 - 2; case 5 + .short _02047648 - _020475D4 - 2; case 6 + .short _0204764C - _020475D4 - 2; case 7 + .short _02047662 - _020475D4 - 2; case 8 + .short _02047662 - _020475D4 - 2; case 9 + .short _02047658 - _020475D4 - 2; case 10 + .short _0204765C - _020475D4 - 2; case 11 + .short _02047620 - _020475D4 - 2; case 12 + .short _02047624 - _020475D4 - 2; case 13 + .short _02047628 - _020475D4 - 2; case 14 + .short _0204762C - _020475D4 - 2; case 15 + .short _02047630 - _020475D4 - 2; case 16 + .short _02047638 - _020475D4 - 2; case 17 + .short _02047662 - _020475D4 - 2; case 18 + .short _02047662 - _020475D4 - 2; case 19 + .short _02047662 - _020475D4 - 2; case 20 + .short _02047662 - _020475D4 - 2; case 21 + .short _02047662 - _020475D4 - 2; case 22 + .short _02047662 - _020475D4 - 2; case 23 + .short _02047654 - _020475D4 - 2; case 24 + .short _02047658 - _020475D4 - 2; case 25 + .short _02047658 - _020475D4 - 2; case 26 + .short _0204765C - _020475D4 - 2; case 27 + .short _02047662 - _020475D4 - 2; case 28 + .short _02047662 - _020475D4 - 2; case 29 + .short _02047662 - _020475D4 - 2; case 30 + .short _02047662 - _020475D4 - 2; case 31 + .short _02047662 - _020475D4 - 2; case 32 + .short _02047662 - _020475D4 - 2; case 33 + .short _02047662 - _020475D4 - 2; case 34 + .short _02047660 - _020475D4 - 2; case 35 +_0204761C: mov r1, #0x0 - add r0, r5, #0x0 -_0204BCE6: - add r2, r5, r1 - add r2, #0x30 - ldrb r2, [r2, #0x0] - cmp r2, #0x0 - bne _0204BD04 - ldrb r2, [r0, #0x2] - cmp r7, r2 - bne _0204BD04 - ldrb r2, [r0, #0x3] - cmp r4, r2 - bge _0204BD02 - str r1, [r5, #0x3c] - mov r0, #0x1 - pop {r3-r7, pc} -_0204BD02: - sub r4, r4, r2 -_0204BD04: - add r1, r1, #0x1 - add r0, #0x8 - cmp r1, #0x6 - blt _0204BCE6 - bl FUN_02020C2C - mov r0, #0x0 - pop {r3-r7, pc} + b _02047662 +_02047620: + mov r1, #0x1 + b _02047662 +_02047624: + mov r1, #0x2 + b _02047662 +_02047628: + mov r1, #0x3 + b _02047662 +_0204762C: + mov r1, #0x4 + b _02047662 +_02047630: + mov r1, #0x5 + b _02047662 +_02047634: + mov r1, #0x6 + b _02047662 +_02047638: + mov r1, #0x7 + b _02047662 +_0204763C: + mov r1, #0x8 + b _02047662 +_02047640: + mov r1, #0x9 + b _02047662 +_02047644: + mov r1, #0xa + b _02047662 +_02047648: + mov r1, #0xb + b _02047662 +_0204764C: + mov r1, #0xc + b _02047662 +_02047650: + mov r1, #0xd + b _02047662 +_02047654: + mov r1, #0x17 + b _02047662 +_02047658: + mov r1, #0x16 + b _02047662 +_0204765C: + mov r1, #0x15 + b _02047662 +_02047660: + mov r1, #0x1c +_02047662: + add r0, r1, #0x0 + bx lr .balign 4 -_0204BD14: .word 0x0000FFFF - thumb_func_start FUN_0204BD18 -FUN_0204BD18: ; 0x0204BD18 + thumb_func_start FUN_02047668 +FUN_02047668: ; 0x02047668 push {r4, lr} - ldr r0, [r1, #0x14] - add r4, r2, #0x0 - cmp r0, #0x4 - beq _0204BD28 - cmp r0, #0x5 - beq _0204BD3E - b _0204BD3A -_0204BD28: + mov r4, #0x1e + bl FUN_0204A1D8 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + ldr r1, _020476C8 ; =0x000001DF + sub r0, r0, r1 + cmp r0, #0xe + bhi _020476C4 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204768C: ; jump table (using 16-bit offset) + .short _020476B2 - _0204768C - 2; case 0 + .short _020476BA - _0204768C - 2; case 1 + .short _020476B6 - _0204768C - 2; case 2 + .short _020476BA - _0204768C - 2; case 3 + .short _020476BE - _0204768C - 2; case 4 + .short _020476BE - _0204768C - 2; case 5 + .short _020476B2 - _0204768C - 2; case 6 + .short _020476B2 - _0204768C - 2; case 7 + .short _020476B2 - _0204768C - 2; case 8 + .short _020476AE - _0204768C - 2; case 9 + .short _020476C4 - _0204768C - 2; case 10 + .short _020476C4 - _0204768C - 2; case 11 + .short _020476B2 - _0204768C - 2; case 12 + .short _020476AA - _0204768C - 2; case 13 + .short _020476C2 - _0204768C - 2; case 14 +_020476AA: + mov r4, #0xe + b _020476C4 +_020476AE: + mov r4, #0x14 + b _020476C4 +_020476B2: + mov r4, #0x13 + b _020476C4 +_020476B6: + mov r4, #0x11 + b _020476C4 +_020476BA: + mov r4, #0x10 + b _020476C4 +_020476BE: + mov r4, #0xf + b _020476C4 +_020476C2: + mov r4, #0x12 +_020476C4: add r0, r4, #0x0 - bl FUN_0204BBA8 - add r1, r0, #0x1 - ldr r0, [r4, #0x3c] - add r0, r4, r0 - add r0, #0x30 - strb r1, [r0, #0x0] - pop {r4, pc} -_0204BD3A: - bl FUN_02020C2C -_0204BD3E: pop {r4, pc} + .balign 4 +_020476C8: .word 0x000001DF - thumb_func_start FUN_0204BD40 -FUN_0204BD40: ; 0x0204BD40 + thumb_func_start FUN_020476CC +FUN_020476CC: ; 0x020476CC push {r3-r7, lr} + add r4, r1, #0x0 + mov r1, #0x67 + lsl r1, r1, #0x2 add r5, r0, #0x0 - mov r0, #0x20 - add r6, r1, #0x0 - bl FUN_020669C0 - add r4, r0, #0x0 - ldr r0, [r5, #0xc] - bl FUN_02022528 - str r0, [sp, #0x0] - add r0, r5, #0x0 - bl FUN_0204BAB0 - add r1, r0, #0x0 - mov r0, #0xb - bl FUN_02047800 - add r1, r5, #0x0 + bl FUN_02016998 + mov r2, #0x67 + mov r1, #0x0 + lsl r2, r2, #0x2 add r7, r0, #0x0 - bl FUN_02047BB0 - ldr r0, [sp, #0x0] - ldr r1, [r6, #0x3c] - add r2, r4, #0x0 - bl FUN_0202BFD8 - add r0, r7, #0x0 + blx FUN_020CE34C + mov r1, #0x63 + str r4, [r7, #0x0] + mov r0, #0x0 + lsl r1, r1, #0x2 + str r0, [r7, r1] + add r4, r7, #0x0 + str r0, [sp, #0x0] + str r0, [r7, #0x14] + add r6, r7, #0x0 + add r4, #0x28 +_020476FA: + mov r0, #0x0 add r1, r4, #0x0 - mov r2, #0x1 - bl FUN_020479FC - add r0, r4, #0x0 - bl FUN_02016A18 - add r0, r7, #0x0 - pop {r3-r7, pc} - .balign 4 -_0204BD8C: - .byte 0x00, 0x23, 0x1A, 0x1C - .byte 0x81, 0x88, 0x52, 0x1C, 0x08, 0x30, 0x5B, 0x18, 0x06, 0x2A, 0xF9, 0xDB, 0x18, 0x1C, 0x70, 0x47 - - thumb_func_start FUN_0204BDA0 -FUN_0204BDA0: ; 0x0204BDA0 - push {r4-r7} - mov r3, #0x0 - add r5, r0, #0x0 - add r4, r3, #0x0 - mov r0, #0x1 -_0204BDAA: - mov r1, #0x0 -_0204BDAC: - add r2, r5, r1 - add r2, #0x30 - ldrb r2, [r2, #0x0] - cmp r0, r2 - bne _0204BDEC - lsl r1, r1, #0x3 - add r2, r5, r1 - ldrb r1, [r2, #0x6] - ldrb r2, [r2, #0x7] - cmp r0, #0x1 - beq _0204BDD8 - mov r6, r12 - cmp r6, r1 - beq _0204BDD8 - mov r6, r12 - cmp r6, r2 - beq _0204BDD8 - cmp r7, r1 - beq _0204BDD8 - cmp r7, r2 - beq _0204BDD8 - add r4, #0xc8 -_0204BDD8: - mov r6, #0x1 - mov r12, r1 - lsl r6, r1 - add r1, r3, #0x0 - mov r3, #0x1 - lsl r3, r2 - orr r1, r6 - add r7, r2, #0x0 - orr r3, r1 - b _0204BDF2 -_0204BDEC: - add r1, r1, #0x1 - cmp r1, #0x6 - blt _0204BDAC -_0204BDF2: + mov r2, #0x34 + str r0, [r6, #0x18] + blx FUN_020CE1FC + ldr r0, [sp, #0x0] + add r6, r6, #0x4 add r0, r0, #0x1 - cmp r0, #0x7 - blt _0204BDAA - cmp r3, #0x0 - beq _0204BE0A - mov r0, #0x1 -_0204BDFE: - add r1, r3, #0x0 - tst r1, r0 - beq _0204BE06 - add r4, #0x32 -_0204BE06: - lsr r3, r3, #0x1 - bne _0204BDFE -_0204BE0A: - add r0, r4, #0x0 - pop {r4-r7} - bx lr -_0204BE10: - .byte 0x80, 0x6C, 0x70, 0x47 - - thumb_func_start FUN_0204BE14 -FUN_0204BE14: ; 0x0204BE14 - mov r0, #0xe8 - bx lr - - thumb_func_start FUN_0204BE18 -FUN_0204BE18: ; 0x0204BE18 - push {r3-r5, lr} - mov r2, #0x0 - add r3, r2, #0x0 -_0204BE1E: - add r1, r0, r2 - add r2, r2, #0x1 - strb r3, [r1, #0x3] - cmp r2, #0x20 - blt _0204BE1E - strb r3, [r0, #0x1] - strb r3, [r0, #0x2] - ldrb r1, [r0, #0x0] - mov r2, #0x1 - bic r1, r2 - strb r1, [r0, #0x0] - ldrb r4, [r0, #0x0] - mov r1, #0x38 - bic r4, r1 - strb r4, [r0, #0x0] - ldrb r4, [r0, #0x0] - mov r1, #0x2 - bic r4, r1 - strb r4, [r0, #0x0] - str r3, [r0, #0x24] - ldrh r1, [r0, #0x28] - bic r1, r2 - strh r1, [r0, #0x28] - ldrh r2, [r0, #0x28] - mov r1, #0x3e - bic r2, r1 - strh r2, [r0, #0x28] - ldrh r2, [r0, #0x28] - ldr r1, _0204BEB0 ; =0xFFFFF03F - and r1, r2 - strh r1, [r0, #0x28] + add r4, #0x34 + str r0, [sp, #0x0] + cmp r0, #0x4 + blt _020476FA + mov r0, #0x15 + lsl r0, r0, #0x4 + mov r6, #0x0 + str r6, [r7, r0] + mov r2, #0xc + add r1, r0, #0x4 + str r2, [r7, r1] + add r1, r0, #0x0 + add r1, #0x8 + str r6, [r7, r1] + add r1, r0, #0x0 + add r1, #0x10 + str r6, [r7, r1] + add r1, r0, #0x0 + add r1, #0x14 + str r6, [r7, r1] add r1, r0, #0x0 mov r2, #0x1 - add r1, #0xa8 - strb r2, [r1, #0x0] + add r1, #0x18 + str r2, [r7, r1] add r1, r0, #0x0 - add r1, #0xa4 - str r3, [r1, #0x0] - ldr r1, _0204BEB4 ; =0x020F486C - add r2, r0, #0x0 -_0204BE6E: - ldrb r5, [r1, #0x0] - add r4, r2, #0x0 - add r4, #0xa9 - strb r5, [r4, #0x0] - add r4, r2, #0x0 - ldrb r5, [r1, #0x1] - add r4, #0xaa - add r3, r3, #0x1 - strb r5, [r4, #0x0] - add r1, r1, #0x2 - add r2, r2, #0x2 - cmp r3, #0x6 - blt _0204BE6E - mov r4, #0x0 - add r3, r0, #0x0 + add r1, #0x1c + str r2, [r7, r1] + add r0, #0x24 + str r6, [r7, r0] + add r4, r7, #0x0 +_02047748: + add r0, r5, #0x0 + bl FUN_0206B8AC + str r0, [r4, #0x4] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _02047748 + mov r6, #0x0 + add r4, r7, #0x0 +_0204775C: + add r0, r5, #0x0 + bl FUN_02023928 add r1, r4, #0x0 -_0204BE8E: - add r2, r3, #0x0 - add r2, #0xb6 - strh r1, [r2, #0x0] - add r2, r3, #0x0 - add r2, #0xb8 - add r4, r4, #0x1 - add r3, r3, #0x4 - strh r1, [r2, #0x0] - cmp r4, #0xc - blt _0204BE8E - ldrb r3, [r0, #0x0] - mov r2, #0x4 - bic r3, r2 - strb r3, [r0, #0x0] - bl FUN_0204BED8 - pop {r3-r5, pc} - .balign 4 -_0204BEB0: .word 0xFFFFF03F -_0204BEB4: .word 0x020F486C - - thumb_func_start FUN_0204BEB8 -FUN_0204BEB8: ; 0x0204BEB8 - ldrb r2, [r0, #0x0] - mov r1, #0x1 - bic r2, r1 - mov r1, #0x1 - orr r1, r2 - strb r1, [r0, #0x0] - bx lr - .balign 4 - - thumb_func_start FUN_0204BEC8 -FUN_0204BEC8: ; 0x0204BEC8 - ldrb r0, [r0, #0x0] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bx lr - - thumb_func_start FUN_0204BED0 -FUN_0204BED0: ; 0x0204BED0 - add r0, r0, r1 - ldrb r0, [r0, #0x3] - bx lr - .balign 4 - - thumb_func_start FUN_0204BED8 -FUN_0204BED8: ; 0x0204BED8 - push {r3-r5, lr} - add r5, r0, #0x0 - add r4, r1, #0x0 - bmi _0204BEE4 - cmp r4, #0x19 - blt _0204BEE8 -_0204BEE4: - bl FUN_02020C2C -_0204BEE8: - mov r0, #0x1 - ldrsb r1, [r5, r0] - cmp r1, #0x19 - bge _0204BF10 - add r2, r5, #0x3 - ldrb r1, [r2, r4] - cmp r1, #0x0 - bne _0204BF10 - strb r0, [r2, r4] - ldrsb r0, [r5, r0] - add r0, r0, #0x1 - strb r0, [r5, #0x1] - cmp r4, #0x3 - bne _0204BF0C - ldrb r1, [r5, #0x0] - mov r0, #0x2 - orr r0, r1 - strb r0, [r5, #0x0] -_0204BF0C: - mov r0, #0x1 - pop {r3-r5, pc} -_0204BF10: - mov r0, #0x0 - pop {r3-r5, pc} - - thumb_func_start FUN_0204BF14 -FUN_0204BF14: ; 0x0204BF14 - mov r1, #0x2 - ldrsb r0, [r0, r1] - bx lr - .balign 4 - - thumb_func_start FUN_0204BF1C -FUN_0204BF1C: ; 0x0204BF1C - push {r3-r4} - mov r1, #0x2 - ldrsb r3, [r0, r1] - mov r2, #0x0 - add r4, r3, #0x0 -_0204BF26: - add r3, r3, #0x1 - cmp r3, #0x19 - blt _0204BF2E - add r3, r2, #0x0 -_0204BF2E: - cmp r3, r4 - beq _0204BF3A - add r1, r0, r3 - ldrb r1, [r1, #0x3] - cmp r1, #0x0 - beq _0204BF26 -_0204BF3A: - mov r1, #0x2 - strb r3, [r0, #0x2] - ldrsb r0, [r0, r1] - pop {r3-r4} - bx lr + add r1, #0xf8 + add r6, r6, #0x1 + add r4, r4, #0x4 + str r0, [r1, #0x0] + cmp r6, #0x4 + blt _0204775C + mov r6, #0x0 + add r4, r7, #0x0 +_02047774: + add r0, r5, #0x0 + bl FUN_02029EE4 + mov r1, #0x46 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r6, r6, #0x1 + add r4, r4, #0x4 + cmp r6, #0x4 + blt _02047774 + add r0, r5, #0x0 + bl FUN_0206EB88 + mov r1, #0x42 + lsl r1, r1, #0x2 + str r0, [r7, r1] + add r0, r5, #0x0 + bl FUN_02023D6C + mov r1, #0x11 + lsl r1, r1, #0x4 + str r0, [r7, r1] + add r0, r5, #0x0 + bl FUN_02024F30 + mov r1, #0x13 + lsl r1, r1, #0x4 + str r0, [r7, r1] + add r0, r5, #0x0 + bl FUN_02061008 + mov r2, #0x4d + lsl r2, r2, #0x2 + str r0, [r7, r2] + add r0, r2, #0x0 + mov r1, #0x0 + sub r0, #0x28 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x5c + str r1, [r7, r0] + add r0, r2, #0x0 + sub r0, #0x8 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x10 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x14 + str r1, [r7, r0] + add r0, r2, #0x0 + add r0, #0x60 + str r1, [r7, r0] + add r0, r2, #0x4 + add r0, r7, r0 + mov r2, #0xc + blx FUN_020CE34C + add r0, r7, #0x0 + pop {r3-r7, pc} - thumb_func_start FUN_0204BF44 -FUN_0204BF44: ; 0x0204BF44 + thumb_func_start FUN_020477EC +FUN_020477EC: ; 0x020477EC push {r4, lr} - add r4, r0, #0x0 - bne _0204BF4E - bl FUN_02020C2C -_0204BF4E: - ldrb r0, [r4, #0x0] - lsl r0, r0, #0x1a - lsr r0, r0, #0x1d + add r4, r1, #0x0 + mov r1, #0x20 + bl FUN_020476CC + mov r1, #0x19 + lsl r1, r1, #0x4 + str r4, [r0, r1] pop {r4, pc} .balign 4 - thumb_func_start FUN_0204BF58 -FUN_0204BF58: ; 0x0204BF58 - push {r3-r5, lr} - add r5, r0, #0x0 + thumb_func_start FUN_02047800 +FUN_02047800: ; 0x02047800 + push {r4, lr} add r4, r1, #0x0 - cmp r5, #0x0 - bne _0204BF66 - bl FUN_02020C2C -_0204BF66: - cmp r4, #0x8 - blo _0204BF6E - bl FUN_02020C2C -_0204BF6E: - ldrb r1, [r5, #0x0] - mov r0, #0x38 - bic r1, r0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - lsl r0, r0, #0x1d - lsr r0, r0, #0x1a - orr r0, r1 - strb r0, [r5, #0x0] - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204BF84 -FUN_0204BF84: ; 0x0204BF84 - ldr r0, [r0, #0x24] - bx lr - - thumb_func_start FUN_0204BF88 -FUN_0204BF88: ; 0x0204BF88 - ldrb r2, [r0, #0x0] - lsl r2, r2, #0x1e - lsr r2, r2, #0x1f - beq _0204BF92 - str r1, [r0, #0x24] -_0204BF92: - bx lr - - thumb_func_start FUN_0204BF94 -FUN_0204BF94: ; 0x0204BF94 - ldrh r0, [r0, #0x28] - lsl r0, r0, #0x1f - lsr r0, r0, #0x1f - bx lr - - thumb_func_start FUN_0204BF9C -FUN_0204BF9C: ; 0x0204BF9C - ldrh r3, [r0, #0x28] - lsl r3, r3, #0x1a - lsr r3, r3, #0x1b - str r3, [r1, #0x0] - ldrh r0, [r0, #0x28] - lsl r0, r0, #0x14 - lsr r0, r0, #0x1a - str r0, [r2, #0x0] - bx lr - .balign 4 + mov r1, #0x2 + lsl r1, r1, #0x8 + bl FUN_020476CC + mov r1, #0x19 + lsl r1, r1, #0x4 + str r4, [r0, r1] + pop {r4, pc} - thumb_func_start FUN_0204BFB0 -FUN_0204BFB0: ; 0x0204BFB0 - push {r4-r5} - ldrh r4, [r0, #0x28] - mov r5, #0x1 - lsl r1, r1, #0x10 - bic r4, r5 - lsr r5, r1, #0x10 + thumb_func_start FUN_02047814 +FUN_02047814: ; 0x02047814 + push {r4-r7, lr} + sub sp, #0x1c + add r5, r1, #0x0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + str r0, [sp, #0x10] + ldr r0, [r5, #0xc] + bl FUN_02023900 mov r1, #0x1 - and r1, r5 - orr r1, r4 - strh r1, [r0, #0x28] - lsl r2, r2, #0x10 - lsr r2, r2, #0x10 - lsl r2, r2, #0x1b - ldrh r1, [r0, #0x28] - mov r4, #0x3e - lsr r2, r2, #0x1a - bic r1, r4 - orr r1, r2 - strh r1, [r0, #0x28] - ldrh r2, [r0, #0x28] - ldr r1, _0204BFEC ; =0xFFFFF03F - and r2, r1 - lsl r1, r3, #0x10 - lsr r1, r1, #0x10 - lsl r1, r1, #0x1a - lsr r1, r1, #0x14 - orr r1, r2 - strh r1, [r0, #0x28] - pop {r4-r5} - bx lr - .balign 4 -_0204BFEC: .word 0xFFFFF03F - - thumb_func_start FUN_0204BFF0 -FUN_0204BFF0: ; 0x0204BFF0 - push {r3-r4} - add r3, r0, #0x0 - add r3, #0xa8 - ldrb r3, [r3, #0x0] - cmp r3, r1 - bne _0204C016 - add r1, r0, #0x0 - add r1, #0xa4 - ldr r4, [r1, #0x0] - mov r3, #0x1 - sub r1, r2, #0x1 - add r2, r3, #0x0 - lsl r2, r1 - add r1, r4, #0x0 - orr r1, r2 - add r0, #0xa4 - str r1, [r0, #0x0] - pop {r3-r4} - bx lr -_0204C016: - add r3, r0, #0x0 - add r3, #0xa8 - strb r1, [r3, #0x0] - mov r3, #0x1 - sub r1, r2, #0x1 - add r2, r3, #0x0 - lsl r2, r1 - add r0, #0xa4 - str r2, [r0, #0x0] - pop {r3-r4} - bx lr - - thumb_func_start FUN_0204C02C -FUN_0204C02C: ; 0x0204C02C - push {r3-r4} - add r3, r0, #0x0 - add r3, #0xa8 - ldrb r3, [r3, #0x0] - cmp r3, r1 - bne _0204C052 + str r0, [sp, #0x14] + add r0, r6, #0x0 + lsl r1, r1, #0xa + bl FUN_020476CC + add r4, r0, #0x0 + ldr r2, _0204795C ; =0x000001F1 + mov r0, #0x1 + mov r1, #0x1a + add r3, r6, #0x0 + bl FUN_0200A86C + str r0, [sp, #0x18] + mov r0, #0x8 + add r1, r6, #0x0 + bl FUN_020219F4 + add r7, r0, #0x0 + ldr r0, [sp, #0x10] + bl FUN_020239CC + add r2, r0, #0x0 + mov r1, #0x1 + eor r1, r2 + ldr r0, [sp, #0x18] + add r2, r7, #0x0 + bl FUN_0200A8E0 + add r0, r7, #0x0 + bl FUN_02021F2C add r1, r0, #0x0 - add r1, #0xa4 - ldr r4, [r1, #0x0] - mov r3, #0x1 - sub r1, r2, #0x1 - add r2, r3, #0x0 - lsl r2, r1 - mvn r1, r2 - and r1, r4 - add r0, #0xa4 - str r1, [r0, #0x0] - pop {r3-r4} - bx lr -_0204C052: + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl FUN_0202395C + add r0, r7, #0x0 + bl FUN_02021A20 + ldr r0, [sp, #0x18] + bl FUN_0200A8B8 + ldr r0, [sp, #0x10] + bl FUN_020239CC add r2, r0, #0x0 - add r2, #0xa8 - strb r1, [r2, #0x0] - mov r1, #0x0 - add r0, #0xa4 - str r1, [r0, #0x0] - pop {r3-r4} - bx lr - .balign 4 - - thumb_func_start FUN_0204C064 -FUN_0204C064: ; 0x0204C064 - add r3, r0, #0x0 - add r3, #0xa8 - ldrb r3, [r3, #0x0] - cmp r3, r1 - bne _0204C07C - add r0, #0xa4 - ldr r1, [r0, #0x0] - sub r0, r2, #0x1 - lsr r1, r0 - mov r0, #0x1 - and r0, r1 - bx lr -_0204C07C: + add r0, r4, #0x0 + add r0, #0xf8 + mov r1, #0x1 + ldr r0, [r0, #0x0] + eor r1, r2 + bl FUN_020239C8 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_0204806C + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x14] + ldr r1, [r4, r1] + bl FUN_02024F44 + add r0, r5, #0x0 + bl FUN_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r4, r1] + sub r1, #0x58 + ldr r0, [r4, r1] + mov r1, #0x4 + mov r2, #0x14 + add r3, r6, #0x0 + bl FUN_0206ED38 + add r0, r6, #0x0 + bl FUN_020669C0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020462AC + bl FUN_0205F3C0 + mov r2, #0x0 + str r2, [sp, #0x0] + add r1, r0, #0x0 + str r2, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + str r2, [sp, #0xc] + add r0, r6, #0x0 + mov r2, #0x5 + mov r3, #0x20 + bl FUN_02066ACC + ldr r0, [r4, #0x4] + add r1, r6, #0x0 + bl FUN_0206B900 mov r0, #0x0 - bx lr + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r2, #0x2 + str r2, [sp, #0x8] + str r0, [sp, #0xc] + ldr r1, _02047960 ; =0x0000018F + add r0, r6, #0x0 + mov r3, #0x20 + bl FUN_02066ACC + ldr r0, [r4, #0x8] + add r1, r6, #0x0 + bl FUN_0206B900 + add r0, r6, #0x0 + bl FUN_02016A18 + ldr r0, [r5, #0xc] + bl FUN_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r5, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + sub r1, #0x8 + str r0, [r4, r1] + ldr r0, [r5, #0xc] + bl FUN_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r4, r1] + add r0, r5, #0x0 + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r4, r0] + ldr r0, [r5, #0x1c] + add r1, #0x18 + ldr r0, [r0, #0x0] + str r0, [r4, r1] + add r0, r4, #0x0 + bl FUN_020480E4 + add r0, r4, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_0204795C: .word 0x000001F1 +_02047960: .word 0x0000018F - thumb_func_start FUN_0204C080 -FUN_0204C080: ; 0x0204C080 + thumb_func_start FUN_02047964 +FUN_02047964: ; 0x02047964 push {r3-r7, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r6, r2, #0x0 - add r7, r3, #0x0 - cmp r4, #0x6 - blt _0204C092 + add r7, r0, #0x0 + mov r4, #0x0 + add r5, r7, #0x0 +_0204796C: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + bne _02047976 bl FUN_02020C2C -_0204C092: - lsl r1, r4, #0x1 - add r0, r5, r1 - add r0, #0xa9 - strb r6, [r0, #0x0] - add r0, r5, r1 - add r0, #0xaa - strb r7, [r0, #0x0] +_02047976: + ldr r0, [r5, #0x4] + bl FUN_02016A18 + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _0204796C + mov r5, #0x0 + add r4, r7, #0x0 +_02047988: + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _02047996 + bl FUN_02020C2C +_02047996: + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl FUN_02016A18 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x4 + blt _02047988 + mov r6, #0x46 + mov r5, #0x0 + add r4, r7, #0x0 + lsl r6, r6, #0x2 +_020479B0: + ldr r0, [r4, r6] + cmp r0, #0x0 + bne _020479BA + bl FUN_02020C2C +_020479BA: + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl FUN_02016A18 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, #0x4 + blt _020479B0 + mov r0, #0x42 + lsl r0, r0, #0x2 + ldr r0, [r7, r0] + bl FUN_02016A18 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r7, r0] + bl FUN_02016A18 + mov r0, #0x13 + lsl r0, r0, #0x4 + ldr r0, [r7, r0] + bl FUN_02016A18 + mov r0, #0x4d + lsl r0, r0, #0x2 + ldr r0, [r7, r0] + bl FUN_02061020 + add r0, r7, #0x0 + bl FUN_02016A18 pop {r3-r7, pc} - .balign 4 - thumb_func_start FUN_0204C0A4 -FUN_0204C0A4: ; 0x0204C0A4 - push {r3-r7, lr} - add r4, r1, #0x0 + thumb_func_start FUN_020479FC +FUN_020479FC: ; 0x020479FC + push {r4-r6, lr} + add r4, r2, #0x0 add r5, r0, #0x0 - add r6, r2, #0x0 - add r7, r3, #0x0 - cmp r4, #0x6 - blt _0204C0B6 + add r6, r1, #0x0 + cmp r4, #0x4 + blt _02047A0C bl FUN_02020C2C -_0204C0B6: - lsl r1, r4, #0x1 - add r0, r5, r1 - add r0, #0xa9 - ldrb r0, [r0, #0x0] - strb r0, [r6, #0x0] - add r0, r5, r1 - add r0, #0xaa - ldrb r0, [r0, #0x0] - strb r0, [r7, #0x0] - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_0204C0CC -FUN_0204C0CC: ; 0x0204C0CC - ldrb r0, [r0, #0x0] - lsl r0, r0, #0x1d - lsr r0, r0, #0x1f - bx lr - - thumb_func_start FUN_0204C0D4 -FUN_0204C0D4: ; 0x0204C0D4 - push {r3, lr} - ldrb r2, [r0, #0x0] - lsl r2, r2, #0x1d - lsr r2, r2, #0x1f - beq _0204C0E6 - add r0, #0x2a - mov r2, #0x78 - blx FUN_020CE3E0 -_0204C0E6: - pop {r3, pc} - - thumb_func_start FUN_0204C0E8 -FUN_0204C0E8: ; 0x0204C0E8 - push {r4, lr} - add r4, r0, #0x0 - add r0, r1, #0x0 - add r1, r4, #0x0 - add r1, #0x2a - mov r2, #0x78 - blx FUN_020CE3E0 - ldrb r1, [r4, #0x0] - mov r0, #0x4 - orr r0, r1 - strb r0, [r4, #0x0] - pop {r4, pc} +_02047A0C: + lsl r0, r4, #0x2 + add r0, r5, r0 + ldr r0, [r0, #0x4] + add r1, r6, #0x0 + bl FUN_0206B900 + cmp r0, #0x0 + bne _02047A20 + bl FUN_02020C2C +_02047A20: + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204C104 -FUN_0204C104: ; 0x0204C104 + thumb_func_start FUN_02047A24 +FUN_02047A24: ; 0x02047A24 push {r4-r6, lr} + add r4, r2, #0x0 add r5, r0, #0x0 add r6, r1, #0x0 - bl FUN_0204C158 - cmp r0, #0xc - blt _0204C138 - mov r0, #0x0 - add r1, r5, #0x0 -_0204C116: - add r2, r1, #0x0 - add r2, #0xba - ldrh r3, [r2, #0x0] - add r2, r1, #0x0 - add r2, #0xb6 - strh r3, [r2, #0x0] - add r2, r1, #0x0 - add r2, #0xbc - ldrh r3, [r2, #0x0] - add r2, r1, #0x0 - add r2, #0xb8 - add r0, r0, #0x1 - add r1, r1, #0x4 - strh r3, [r2, #0x0] - cmp r0, #0xb - blt _0204C116 - mov r0, #0xb -_0204C138: - lsl r4, r0, #0x2 - add r0, r6, #0x0 - mov r1, #0x5 - mov r2, #0x0 - bl FUN_020672BC - add r1, r5, r4 - add r1, #0xb6 - strh r0, [r1, #0x0] + cmp r4, #0x4 + blt _02047A34 + bl FUN_02020C2C +_02047A34: + lsl r1, r4, #0x2 + add r1, r5, r1 + ldr r1, [r1, #0x4] add r0, r6, #0x0 - bl FUN_0206B754 - add r1, r5, r4 - add r1, #0xb8 - strh r0, [r1, #0x0] + bl FUN_0206BAD0 pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0204C158 -FUN_0204C158: ; 0x0204C158 - mov r2, #0x0 -_0204C15A: - add r1, r0, #0x0 - add r1, #0xb6 - ldrh r1, [r1, #0x0] - cmp r1, #0x0 - bne _0204C168 - add r0, r2, #0x0 - bx lr -_0204C168: - add r2, r2, #0x1 - add r0, r0, #0x4 - cmp r2, #0xc - blt _0204C15A - add r0, r2, #0x0 - bx lr - - thumb_func_start FUN_0204C174 -FUN_0204C174: ; 0x0204C174 - push {r3-r7, lr} - add r4, r1, #0x0 + thumb_func_start FUN_02047A44 +FUN_02047A44: ; 0x02047A44 + push {r4-r6, lr} + add r4, r2, #0x0 add r5, r0, #0x0 - add r7, r2, #0x0 - str r3, [sp, #0x0] - cmp r4, #0xc - blt _0204C186 - bl FUN_02020C2C -_0204C186: - add r6, r5, #0x0 - lsl r4, r4, #0x2 - add r6, #0xb6 - ldrh r0, [r6, r4] - cmp r0, #0x0 - bne _0204C196 + add r6, r1, #0x0 + cmp r4, #0x4 + blt _02047A54 bl FUN_02020C2C -_0204C196: - ldrh r0, [r6, r4] - str r0, [r7, #0x0] - add r0, r5, r4 - add r0, #0xb8 - ldrh r1, [r0, #0x0] - ldr r0, [sp, #0x0] - str r1, [r0, #0x0] - pop {r3-r7, pc} - .balign 4 +_02047A54: + lsl r1, r4, #0x2 + add r1, r5, r1 + add r1, #0xf8 + ldr r1, [r1, #0x0] + add r0, r6, #0x0 + bl FUN_0202393C + pop {r4-r6, pc} - thumb_func_start FUN_0204C1A8 -FUN_0204C1A8: ; 0x0204C1A8 - ldr r3, _0204C1B0 ; =FUN_02022610 - mov r1, #0x5 + thumb_func_start FUN_02047A64 +FUN_02047A64: ; 0x02047A64 + lsl r2, r2, #0x2 + add r2, r0, r2 + mov r0, #0x46 + lsl r0, r0, #0x2 + ldr r3, _02047A74 ; =FUN_02029F9C + ldr r0, [r2, r0] bx r3 nop -_0204C1B0: .word FUN_02022610 + 1 - - thumb_func_start FUN_0204C1B4 -FUN_0204C1B4: ; 0x0204C1B4 - push {r3-r7, lr} - add r7, r0, #0x0 - add r5, r1, #0x0 - ldr r0, [sp, #0x24] - mov r1, #0x20 - add r4, r2, #0x0 - add r6, r3, #0x0 - bl FUN_02016998 - add r2, r0, #0x0 - str r5, [r2, #0x4] - str r4, [r2, #0x8] - str r6, [r2, #0xc] - add r0, sp, #0x8 - ldrh r0, [r0, #0x10] - ldr r1, _0204C1F0 ; =FUN_0204C1F4 - strh r0, [r2, #0x10] - ldr r0, [sp, #0x1c] - str r0, [r2, #0x14] - ldr r0, [sp, #0x20] - str r0, [r2, #0x18] - ldr r0, [sp, #0x24] - str r0, [r2, #0x1c] - mov r0, #0x0 - str r0, [r2, #0x0] - add r0, r7, #0x0 - bl FUN_0204640C - pop {r3-r7, pc} - nop -_0204C1F0: .word FUN_0204C1F4 + 1 +_02047A74: .word FUN_02029F9C + 1 - thumb_func_start FUN_0204C1F4 -FUN_0204C1F4: ; 0x0204C1F4 - push {r4-r5, lr} - sub sp, #0xc - add r4, r0, #0x0 - bl FUN_02046528 + thumb_func_start FUN_02047A78 +FUN_02047A78: ; 0x02047A78 + push {r4-r7, lr} + sub sp, #0x14 + add r4, r1, #0x0 add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x0] - cmp r0, #0x0 - beq _0204C214 - cmp r0, #0x1 - beq _0204C23C - b _0204C258 -_0204C214: - ldr r0, [r5, #0x4] - ldr r0, [r0, #0x1c] - bl FUN_021F4608 - ldr r0, [r4, #0x14] + ldr r0, [r4, #0xc] + bl FUN_020238F4 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_0206F158 str r0, [sp, #0x0] - ldr r0, [r4, #0x18] - str r0, [sp, #0x4] - ldr r0, [r4, #0x1c] + ldr r0, [r4, #0xc] + bl FUN_02024DA0 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + bl FUN_02029EF8 str r0, [sp, #0x8] - ldrh r3, [r4, #0x10] - ldr r0, [r4, #0x4] - ldr r1, [r4, #0x8] - ldr r2, [r4, #0xc] - bl FUN_0200E1D0 - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204C258 -_0204C23C: - bl FUN_0200E308 - cmp r0, #0x0 - beq _0204C258 - ldr r0, [r5, #0x4] - ldr r0, [r0, #0x1c] - bl FUN_021F45E8 + ldr r0, [r4, #0xc] + bl FUN_02023900 + str r0, [sp, #0xc] + ldr r0, [r4, #0xc] + bl FUN_02034E30 + str r0, [sp, #0x10] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204806C + add r0, r5, #0x0 + add r1, r6, #0x0 + mov r2, #0x0 + bl FUN_02047A44 + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_02047A24 + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x0] + ldr r1, [r5, r1] + bl FUN_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x4] + ldr r1, [r5, r1] + bl FUN_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0xc] + ldr r1, [r5, r1] + bl FUN_02024F44 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + mov r2, #0x0 + bl FUN_02047A64 + ldr r0, [r4, #0xc] + bl FUN_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034824 + mov r1, #0x56 + lsl r1, r1, #0x2 + str r0, [r5, r1] add r0, r4, #0x0 - bl FUN_02016A18 - add sp, #0xc - mov r0, #0x1 - pop {r4-r5, pc} -_0204C258: - mov r0, #0x0 - add sp, #0xc - pop {r4-r5, pc} + bl FUN_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034A04 + mov r1, #0x59 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl FUN_02079C70 + mov r1, #0x5a + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl FUN_020462AC + bl FUN_0205F1B4 + mov r1, #0x5b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x10] + bl FUN_02034DEC + mov r1, #0x5d + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r4, #0x0 + add r0, #0x94 + ldr r0, [r0, #0x0] + sub r1, #0x68 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl FUN_0204C1A8 + mov r1, #0x4a + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl FUN_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0xc] + bl FUN_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r5, r1] + add r0, r4, #0x0 + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r5, r0] + ldr r0, [r4, #0xc] + bl FUN_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [r4, #0x1c] + add r1, #0x10 + ldr r0, [r0, #0x0] + str r0, [r5, r1] + add sp, #0x14 + pop {r4-r7, pc} .balign 4 - thumb_func_start FUN_0204C260 -FUN_0204C260: ; 0x0204C260 - push {r3-r7, lr} - add r7, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0xb - mov r1, #0x24 - add r4, r2, #0x0 - add r6, r3, #0x0 - bl FUN_020169D8 - add r2, r0, #0x0 - mov r0, #0x0 - str r0, [r2, #0x0] - str r0, [r2, #0x4] - str r5, [r2, #0x8] - str r4, [r2, #0xc] - ldr r0, [sp, #0x18] - str r6, [r2, #0x10] - str r0, [r2, #0x14] - ldr r0, [sp, #0x1c] - ldr r1, _0204C298 ; =FUN_0204C380 - str r0, [r2, #0x18] - ldr r0, [sp, #0x20] - str r0, [r2, #0x20] - add r0, r7, #0x0 - bl FUN_020463CC - pop {r3-r7, pc} - nop -_0204C298: .word FUN_0204C380 + 1 + thumb_func_start FUN_02047BB0 +FUN_02047BB0: ; 0x02047BB0 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02047A78 + add r0, r4, #0x0 + bl FUN_020480E4 + pop {r4, pc} - thumb_func_start FUN_0204C29C -FUN_0204C29C: ; 0x0204C29C + thumb_func_start FUN_02047BC0 +FUN_02047BC0: ; 0x02047BC0 push {r4-r7, lr} - sub sp, #0xc - add r7, r0, #0x0 - add r5, r1, #0x0 - mov r0, #0xb - mov r1, #0x24 - str r2, [sp, #0x0] - str r3, [sp, #0x4] - bl FUN_020169D8 + sub sp, #0x1c add r6, r0, #0x0 - mov r4, #0x0 - str r4, [r6, #0x0] - str r4, [r6, #0x4] + add r0, r1, #0x0 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + add r7, r2, #0x0 + bl FUN_020238F4 + add r4, r0, #0x0 ldr r0, [sp, #0x0] - str r5, [r6, #0x8] - str r0, [r6, #0xc] - ldr r0, [sp, #0x4] - str r0, [r6, #0x10] - ldr r0, [sp, #0x20] - str r0, [r6, #0x14] - ldr r0, [sp, #0x24] - str r0, [r6, #0x18] - ldr r0, [r7, #0x1c] - ldr r0, [r0, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + str r0, [sp, #0x14] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206F158 + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + str r0, [sp, #0xc] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029EF8 str r0, [sp, #0x8] - bl FUN_02034930 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02023900 + str r0, [sp, #0x4] + mov r0, #0x15 + mov r1, #0x6 + lsl r0, r0, #0x4 + str r1, [r6, r0] + mov r1, #0x9 + add r0, r0, #0x4 + str r1, [r6, r0] + add r0, r6, #0x0 + add r1, r4, #0x0 + mov r2, #0x0 + bl FUN_02047A44 + mov r0, #0xb + bl FUN_020669C0 + add r5, r0, #0x0 + ldr r0, [sp, #0x14] + bl FUN_0206B9AC + add r1, r0, #0x0 + ldr r0, [r6, #0x4] + bl FUN_0206B8CC + ldr r0, [sp, #0x14] + mov r4, #0x0 + bl FUN_0206B9AC cmp r0, #0x0 - beq _0204C308 + ble _02047C98 +_02047C40: + ldr r0, [sp, #0x14] + add r1, r4, #0x0 + bl FUN_0206B9B0 + add r1, r5, #0x0 + bl FUN_02069B88 add r0, r5, #0x0 - bl FUN_02034930 - cmp r0, #0x0 - beq _0204C2E6 - mov r4, #0x6 - b _0204C36A -_0204C2E6: + mov r1, #0xa0 + mov r2, #0x0 + bl FUN_020671BC + cmp r7, r0 + beq _02047C82 + cmp r7, #0x0 + beq _02047C82 add r0, r5, #0x0 - bl FUN_02034964 - cmp r0, #0x0 - beq _0204C2F4 - mov r4, #0x5 - b _0204C36A -_0204C2F4: + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + add r1, r7, #0x0 + bl FUN_02068758 + str r0, [sp, #0x18] add r0, r5, #0x0 - bl FUN_02034944 - cmp r0, #0x0 - beq _0204C302 - mov r4, #0x6 - b _0204C36A -_0204C302: - bl FUN_02020C2C - b _0204C36A -_0204C308: - ldr r0, [sp, #0x8] - bl FUN_02034964 - cmp r0, #0x0 - beq _0204C334 + mov r1, #0x8 + add r2, sp, #0x18 + bl FUN_02067830 add r0, r5, #0x0 - bl FUN_02034930 - cmp r0, #0x0 - beq _0204C320 - mov r4, #0x4 - b _0204C36A -_0204C320: + bl FUN_02066ED8 +_02047C82: + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl FUN_020479FC + ldr r0, [sp, #0x14] + add r4, r4, #0x1 + bl FUN_0206B9AC + cmp r4, r0 + blt _02047C40 +_02047C98: add r0, r5, #0x0 - bl FUN_02034944 + bl FUN_02016A18 + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x10] + ldr r1, [r6, r1] + bl FUN_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0xc] + ldr r1, [r6, r1] + bl FUN_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x4] + ldr r1, [r6, r1] + bl FUN_02024F44 + ldr r1, [sp, #0x8] + add r0, r6, #0x0 + mov r2, #0x0 + bl FUN_02047A64 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + bl FUN_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + sub r1, #0x54 + add r0, #0x94 + ldr r0, [r0, #0x0] + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0204C1A8 + mov r1, #0x4a + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r6, r0] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r6, r1] + ldr r0, [sp, #0x0] + add r1, #0x10 + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r6, r1] + add r0, r6, #0x0 + bl FUN_020480E4 + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_02047D48 +FUN_02047D48: ; 0x02047D48 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + add r0, r1, #0x0 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + str r2, [sp, #0x4] + add r7, r3, #0x0 + bl FUN_020238F4 + str r0, [sp, #0x20] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_0206F158 + str r0, [sp, #0x1c] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02024DA0 + str r0, [sp, #0x18] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029EF8 + str r0, [sp, #0x14] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02023900 + str r0, [sp, #0x10] + ldr r0, [sp, #0x0] + mov r1, #0x6 + add r0, #0xac + ldr r0, [r0, #0x0] + mov r2, #0x0 + str r0, [sp, #0xc] + mov r0, #0x15 + lsl r0, r0, #0x4 + str r1, [r5, r0] + mov r1, #0x9 + add r0, r0, #0x4 + str r1, [r5, r0] + ldr r1, [sp, #0x20] + add r0, r5, #0x0 + bl FUN_02047A44 + cmp r7, #0x0 + bne _02047DB6 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x0 + bl FUN_02047A24 + b _02047E14 +_02047DB6: + mov r4, #0x0 + add r1, r4, #0x0 +_02047DBA: + ldrb r0, [r7, r1] cmp r0, #0x0 - beq _0204C32E - mov r4, #0x6 - b _0204C36A -_0204C32E: - bl FUN_02020C2C - b _0204C36A -_0204C334: + beq _02047DC2 + add r4, r4, #0x1 +_02047DC2: + add r1, r1, #0x1 + cmp r1, #0x6 + blt _02047DBA + cmp r4, #0x0 + bne _02047DD8 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + mov r2, #0x0 + bl FUN_02047A24 + b _02047E14 +_02047DD8: + mov r0, #0xb + bl FUN_020669C0 + str r0, [sp, #0x8] + ldr r0, [r5, #0x4] + add r1, r4, #0x0 + bl FUN_0206B8CC + mov r6, #0x0 + cmp r4, #0x0 + ble _02047E0E +_02047DEE: + ldrb r1, [r7, r6] + ldr r0, [sp, #0x4] + sub r1, r1, #0x1 + bl FUN_0206B9B0 + ldr r1, [sp, #0x8] + bl FUN_02069B88 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + mov r2, #0x0 + bl FUN_020479FC + add r6, r6, #0x1 + cmp r6, r4 + blt _02047DEE +_02047E0E: ldr r0, [sp, #0x8] - bl FUN_02034944 + bl FUN_02016A18 +_02047E14: + ldr r0, [sp, #0xc] cmp r0, #0x0 - beq _0204C366 - add r0, r5, #0x0 - bl FUN_02034964 + beq _02047E2C + mov r1, #0xc + bl FUN_02023B0C cmp r0, #0x0 - bne _0204C36A + beq _02047E2C + mov r0, #0x65 + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r5, r0] +_02047E2C: + mov r1, #0x42 + lsl r1, r1, #0x2 + ldr r0, [sp, #0x1c] + ldr r1, [r5, r1] + bl FUN_0206EBB4 + mov r1, #0x11 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x18] + ldr r1, [r5, r1] + bl FUN_02023D80 + mov r1, #0x13 + lsl r1, r1, #0x4 + ldr r0, [sp, #0x10] + ldr r1, [r5, r1] + bl FUN_02024F44 + ldr r1, [sp, #0x14] add r0, r5, #0x0 - bl FUN_02034944 + mov r2, #0x0 + bl FUN_02047A64 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02022510 + mov r1, #0x45 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + bl FUN_0204B2A4 + mov r1, #0x16 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + sub r1, #0x54 + add r0, #0x94 + ldr r0, [r0, #0x0] + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029AFC + mov r1, #0x4b + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + mov r1, #0x51 + lsl r1, r1, #0x2 + str r0, [r5, r1] + ldr r0, [sp, #0x0] + add r0, #0x98 + ldr r2, [r0, #0x0] + add r0, r1, #0x4 + str r2, [r5, r0] + ldr r0, [sp, #0x0] + add r1, #0x18 + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + str r0, [r5, r1] + ldr r0, [sp, #0x0] + ldr r0, [r0, #0xc] + bl FUN_020254C0 + mov r1, #0x53 + lsl r1, r1, #0x2 + str r0, [r5, r1] + bl FUN_02033534 + bl FUN_0202D8B0 cmp r0, #0x0 - beq _0204C356 - mov r4, #0x6 - b _0204C36A -_0204C356: + beq _02047F10 + ldr r0, [sp, #0x20] + bl FUN_02023A28 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + bl FUN_020239CC + add r1, r4, #0x0 + mov r2, #0x1 + bl FUN_020536D0 + add r1, r5, #0x0 + add r1, #0x29 + strb r0, [r1, #0x0] add r0, r5, #0x0 - bl FUN_02034930 - cmp r0, #0x0 - bne _0204C36A - bl FUN_02020C2C - b _0204C36A -_0204C366: - bl FUN_02020C2C -_0204C36A: - ldr r1, _0204C37C ; =FUN_0204C380 - add r0, r7, #0x0 - add r2, r6, #0x0 - str r4, [r6, #0x20] - bl FUN_020463CC - add sp, #0xc + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl FUN_0202398C + add r1, r0, #0x0 + add r0, r5, #0x0 + add r0, #0x3c + bl FUN_02002248 + add r3, r5, #0x0 + add r3, #0x28 + add r5, #0x90 + mov r2, #0x6 +_02047F00: + ldmia r3!, {r0-r1} + stmia r5!, {r0-r1} + sub r2, r2, #0x1 + bne _02047F00 + ldr r0, [r3, #0x0] + add sp, #0x24 + str r0, [r5, #0x0] pop {r4-r7, pc} - nop -_0204C37C: .word FUN_0204C380 + 1 +_02047F10: + add r0, r5, #0x0 + bl FUN_020480E4 + add sp, #0x24 + pop {r4-r7, pc} + .balign 4 - thumb_func_start FUN_0204C380 -FUN_0204C380: ; 0x0204C380 - push {r3-r7, lr} + thumb_func_start FUN_02047F1C +FUN_02047F1C: ; 0x02047F1C + push {r4-r6, lr} + add r4, r1, #0x0 add r5, r0, #0x0 - bl FUN_02046528 - add r7, r0, #0x0 + ldr r0, [r4, #0xc] + add r6, r2, #0x0 + bl FUN_0206BB1C + add r2, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204652C + add r1, r4, #0x0 + add r3, r6, #0x0 + bl FUN_02047D48 + pop {r4-r6, pc} + + thumb_func_start FUN_02047F38 +FUN_02047F38: ; 0x02047F38 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r1, #0x0 add r4, r0, #0x0 - add r6, r4, #0x0 - ldr r1, [r4, #0x0] - add r6, #0x8 - cmp r1, #0x6 - bhi _0204C458 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #0x6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 - lsl r4, r1, #0 - lsl r0, r6, #0 - lsl r6, r7, #0 - lsl r6, r1, #0x1 - lsl r4, r3, #0x1 - lsl r4, r6, #0x1 - lsl r6, r4, #0x2 - mov r0, #0x0 - str r0, [r4, #0x4] - ldr r1, [r6, #0x0] - add r0, r7, #0x0 - bl FUN_0204AD60 - ldr r1, [r4, #0x20] - add r0, r5, #0x0 - lsl r2, r1, #0x2 - ldr r1, _0204C45C ; =0x020F4894 - ldr r1, [r1, r2] - add r2, r4, #0x0 - bl FUN_0204640C - ldr r0, [r4, #0x0] - add r0, r0, #0x1 - str r0, [r4, #0x0] - b _0204C458 -_0204C3DA: - .byte 0x28, 0x1C, 0xFE, 0xF7, 0xAE, 0xFD - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x37, 0xE0, 0x28, 0x1C, 0x31, 0x1C, 0xFC, 0xF7, 0xB8, 0xFE - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x2F, 0xE0, 0x28, 0x1C, 0xFE, 0xF7, 0xC3, 0xFD, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x28, 0xE0, 0x20, 0x6A, 0x81, 0x00, 0x15, 0x48, 0x41, 0x58, 0x00, 0x29 - .byte 0x01, 0xD0, 0x38, 0x1C, 0x88, 0x47, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x1C, 0xE0, 0xB8, 0xF7 - .byte 0xF1, 0xFF, 0x00, 0x28, 0x18, 0xD1, 0x31, 0x68, 0x38, 0x1C, 0xFE, 0xF7, 0xAF, 0xFC, 0x38, 0x1C - .byte 0x96, 0xF1, 0x74, 0xFF, 0x00, 0x20, 0x60, 0x60, 0x21, 0x6A, 0x28, 0x1C, 0x8A, 0x00, 0x09, 0x49 - .byte 0x89, 0x58, 0x22, 0x1C, 0xF9, 0xF7, 0xE2, 0xFF, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x03, 0xE0 - .byte 0xCA, 0xF7, 0xE2, 0xFA, 0x01, 0x20, 0xF8, 0xBD -_0204C458: - mov r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r7, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + str r0, [sp, #0x0] + ldr r0, [r5, #0xc] + bl FUN_02024DA0 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034E24 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + add r1, r6, #0x0 + bl FUN_0202393C + ldr r0, [r4, #0x4] + add r1, r7, #0x0 + bl FUN_0206BAD0 + mov r0, #0x42 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldr r1, [sp, #0x0] + bl FUN_0206EBB4 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + ldr r1, [sp, #0x4] + bl FUN_02023D80 + mov r0, #0x19 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + strh r0, [r5, #0x0] + add sp, #0x8 pop {r3-r7, pc} - .balign 4 -_0204C45C: .word 0x020F4894 -_0204C460: - .byte 0xB0, 0x48, 0x0F, 0x02, 0x78, 0x48, 0x0F, 0x02 - thumb_func_start FUN_0204C468 -FUN_0204C468: ; 0x0204C468 + thumb_func_start FUN_02047FA4 +FUN_02047FA4: ; 0x02047FA4 + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + ldr r0, [r5, #0xc] + bl FUN_0206F158 + ldr r0, [r5, #0xc] + bl FUN_02024DA0 + add r1, r0, #0x0 + mov r0, #0x11 + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + bl FUN_02023D80 + pop {r3-r5, pc} + + thumb_func_start FUN_02047FD0 +FUN_02047FD0: ; 0x02047FD0 push {r3-r5, lr} + ldr r2, [r0, #0x1c] + add r4, r1, #0x0 + ldr r1, [r2, #0x8] + ldr r2, [r2, #0xc] + bl FUN_0204A6E0 add r5, r0, #0x0 - bl FUN_02046528 + bl FUN_020548F0 + cmp r0, #0x0 + beq _02047FEC + mov r0, #0x8 + pop {r3-r5, pc} +_02047FEC: add r0, r5, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x4] + bl FUN_0205478C cmp r0, #0x0 - beq _0204C484 - cmp r0, #0x1 - beq _0204C498 - b _0204C49C -_0204C484: - ldr r0, _0204C4A0 ; =0x00000603 - bl FUN_020054C8 + bne _02048000 add r0, r5, #0x0 - bl FUN_0204AFC8 - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C49C -_0204C498: + bl FUN_02054798 + cmp r0, #0x0 + beq _02048004 +_02048000: + mov r0, #0x2 + pop {r3-r5, pc} +_02048004: + add r0, r5, #0x0 + bl FUN_02054830 + cmp r0, #0x0 + beq _02048012 mov r0, #0x1 pop {r3-r5, pc} -_0204C49C: - mov r0, #0x0 +_02048012: + add r0, r5, #0x0 + bl FUN_020549AC + cmp r0, #0x0 + beq _02048020 + mov r0, #0x6 + pop {r3-r5, pc} +_02048020: + add r0, r5, #0x0 + bl FUN_02054974 + cmp r0, #0x0 + bne _02048034 + add r0, r5, #0x0 + bl FUN_02054990 + cmp r0, #0x0 + beq _02048038 +_02048034: + mov r0, #0xa + pop {r3-r5, pc} +_02048038: + add r0, r5, #0x0 + bl FUN_02054A3C + cmp r0, #0x0 + beq _02048046 + mov r0, #0x5 + pop {r3-r5, pc} +_02048046: + add r0, r5, #0x0 + bl FUN_0205481C + cmp r0, #0x0 + beq _02048054 + mov r0, #0x7 + pop {r3-r5, pc} +_02048054: + cmp r4, #0xc + bhs _02048060 + ldr r0, _02048068 ; =0x020F45F8 + lsl r1, r4, #0x2 + ldr r0, [r0, r1] + pop {r3-r5, pc} +_02048060: + bl FUN_02020C2C + mov r0, #0xc pop {r3-r5, pc} .balign 4 -_0204C4A0: .word 0x00000603 +_02048068: .word 0x020F45F8 - thumb_func_start FUN_0204C4A4 -FUN_0204C4A4: ; 0x0204C4A4 + thumb_func_start FUN_0204806C +FUN_0204806C: ; 0x0204806C push {r4-r6, lr} - add r6, r0, #0x0 - bl FUN_02046528 + add r4, r1, #0x0 add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x4] - cmp r0, #0x3 - bhi _0204C522 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0 - lsl r4, r5, #0 - lsl r6, r0, #0x1 - lsl r4, r2, #0x1 - bl FUN_021DA5B8 - str r0, [r4, #0x1c] - ldr r0, [r5, #0x38] - bl FUN_02055320 + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034E20 add r6, r0, #0x0 - ldr r0, [r5, #0x38] - bl FUN_0205532C - add r1, r0, #0x0 - ldr r2, [r4, #0x1c] - add r0, r6, #0x0 - bl FUN_021DA5D0 - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C522 -_0204C4F6: - .byte 0xE1, 0x69, 0x28, 0x1C, 0x8E, 0xF1, 0x6D, 0xF8, 0x00, 0x28 - .byte 0x0F, 0xD0, 0xE0, 0x69, 0x8E, 0xF1, 0x60, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x08, 0xE0 - .byte 0x30, 0x1C, 0xFE, 0xF7, 0x59, 0xFD, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20 - .byte 0x70, 0xBD -_0204C522: - mov r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034860 + mov r1, #0x15 + lsl r1, r1, #0x4 + str r0, [r5, r1] + ldr r0, [r6, #0x4] + cmp r0, #0x2 + bne _02048096 + mov r0, #0x1 + str r0, [r5, r1] +_02048096: + mov r1, #0x15 + lsl r1, r1, #0x4 + ldr r1, [r5, r1] + add r0, r4, #0x0 + bl FUN_02047FD0 + mov r1, #0x55 + lsl r1, r1, #0x2 + str r0, [r5, r1] pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204C528 -FUN_0204C528: ; 0x0204C528 - push {r4-r6, lr} - add r4, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x4] - cmp r0, #0x0 - beq _0204C54A - cmp r0, #0x1 - beq _0204C570 + thumb_func_start FUN_020480AC +FUN_020480AC: ; 0x020480AC + mov r1, #0x55 + mov r2, #0x7 + lsl r1, r1, #0x2 + str r2, [r0, r1] + bx lr + .balign 4 + + thumb_func_start FUN_020480B8 +FUN_020480B8: ; 0x020480B8 cmp r0, #0x2 - beq _0204C598 - b _0204C59C -_0204C54A: - bl FUN_021DA5B8 - str r0, [r4, #0x1c] - ldr r0, [r5, #0x38] - bl FUN_02055320 - add r6, r0, #0x0 - ldr r0, [r5, #0x38] - bl FUN_0205532C - add r1, r0, #0x0 - ldr r2, [r4, #0x1c] - add r0, r6, #0x0 - bl FUN_021DA5D0 - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C59C -_0204C570: - ldr r0, [r5, #0x38] - ldr r6, [r4, #0x1c] - bl FUN_020552F8 - add r2, r0, #0x0 - lsl r2, r2, #0x18 - add r0, r5, #0x0 - add r1, r6, #0x0 - lsr r2, r2, #0x18 - bl FUN_021DAC70 - cmp r0, #0x0 - beq _0204C59C - ldr r0, [r4, #0x1c] - bl FUN_021DA5C8 - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C59C -_0204C598: + beq _020480C0 + cmp r0, #0x3 + bne _020480C4 +_020480C0: + mov r0, #0x0 + bx lr +_020480C4: mov r0, #0x1 - pop {r4-r6, pc} -_0204C59C: + bx lr + + thumb_func_start FUN_020480C8 +FUN_020480C8: ; 0x020480C8 + cmp r0, #0x1 + beq _020480D0 + cmp r0, #0x4 + bne _020480D4 +_020480D0: mov r0, #0x0 - pop {r4-r6, pc} + bx lr +_020480D4: + mov r0, #0x1 + bx lr - thumb_func_start FUN_0204C5A0 -FUN_0204C5A0: ; 0x0204C5A0 - push {r4-r6, lr} + thumb_func_start FUN_020480D8 +FUN_020480D8: ; 0x020480D8 + cmp r0, #0x4 + bne _020480E0 + mov r0, #0x0 + bx lr +_020480E0: + mov r0, #0x1 + bx lr + + thumb_func_start FUN_020480E4 +FUN_020480E4: ; 0x020480E4 + push {r4, lr} add r4, r0, #0x0 - bl FUN_02046528 - add r5, r0, #0x0 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl FUN_020239CC + add r1, r4, #0x0 + add r1, #0x29 + strb r0, [r1, #0x0] add r0, r4, #0x0 - bl FUN_0204652C - add r4, r0, #0x0 - ldr r0, [r4, #0x4] - cmp r0, #0x3 - bhi _0204C63C - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0 - lsl r0, r7, #0 - lsl r6, r2, #0x1 - lsl r2, r5, #0x1 - ldr r0, [r5, #0x38] - bl FUN_020552F8 - add r6, r0, #0x0 - ldr r0, [r5, #0x38] - bl FUN_020553A0 - cmp r6, #0x2 - bne _0204C5E6 - mov r1, #0xa - bl FUN_0205ADDC - b _0204C5F6 -_0204C5E6: - cmp r6, #0x3 - bne _0204C5F2 - mov r1, #0xb - bl FUN_0205ADDC - b _0204C5F6 -_0204C5F2: - bl FUN_02020C2C -_0204C5F6: - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C63C -_0204C5FE: - .byte 0xA8, 0x6B - .byte 0x08, 0xF0, 0xCE, 0xFE, 0x05, 0x1C, 0x0E, 0xF0, 0x0F, 0xFC, 0x01, 0x28, 0x16, 0xD1, 0x28, 0x1C - .byte 0x0E, 0xF0, 0x1E, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x0F, 0xE0, 0x08, 0x48, 0xB8, 0xF7 - .byte 0x53, 0xFF, 0x00, 0x20, 0x8B, 0xF1, 0x3E, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x05, 0xE0 - .byte 0xC1, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x20, 0x70, 0xBD -_0204C63C: - mov r0, #0x0 - pop {r4-r6, pc} -_0204C640: - .byte 0x03, 0x06, 0x00, 0x00 + add r0, #0xf8 + ldr r0, [r0, #0x0] + bl FUN_0202398C + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x3c + bl FUN_02002248 + add r3, r4, #0x0 + add r3, #0x28 + add r4, #0x90 + mov r2, #0x6 +_02048112: + ldmia r3!, {r0-r1} + stmia r4!, {r0-r1} + sub r2, r2, #0x1 + bne _02048112 + ldr r0, [r3, #0x0] + str r0, [r4, #0x0] + pop {r4, pc} - thumb_func_start FUN_0204C644 -FUN_0204C644: ; 0x0204C644 + thumb_func_start FUN_02048120 +FUN_02048120: ; 0x02048120 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _02048158 ; =0x020F465C + bl FUN_0201E66C + ldr r0, _0204815C ; =0x020F4630 + bl FUN_02016BBC + ldr r2, _02048160 ; =0x020F4640 + add r0, r4, #0x0 + mov r1, #0x3 + mov r3, #0x0 + bl FUN_02016C18 + mov r0, #0x20 + str r0, [sp, #0x0] + mov r0, #0xb + mov r3, #0x1a + str r0, [sp, #0x4] + mov r0, #0xe + mov r1, #0x6 + mov r2, #0x0 + lsl r3, r3, #0x4 + bl FUN_02006930 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_02048158: .word 0x020F465C +_0204815C: .word 0x020F4630 +_02048160: .word 0x020F4640 + + thumb_func_start FUN_02048164 +FUN_02048164: ; 0x02048164 push {r4-r6, lr} add r5, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204652C + add r6, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + bl FUN_02016998 add r4, r0, #0x0 - ldr r0, [r6, #0x38] - bl FUN_020553A0 - ldr r0, [r4, #0x4] - cmp r0, #0x0 - beq _0204C668 - cmp r0, #0x1 - beq _0204C67E - b _0204C682 -_0204C668: - bl FUN_021DB030 - add r2, r0, #0x0 - ldr r1, _0204C688 ; =0x021DB1D1 + bne _0204817A + bl FUN_02020C2C +_0204817A: + add r0, r4, #0x0 + mov r1, #0x0 + mov r2, #0x24 + blx FUN_020DF4A4 + mov r0, #0x0 + str r0, [r4, #0x0] + str r5, [r4, #0x4] + mov r0, #0xb + bl FUN_02016B94 + str r0, [r4, #0x8] + bl FUN_02048120 + mov r2, #0x52 + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + mov r3, #0xb + bl FUN_0200A86C + str r0, [r4, #0x1c] + mov r0, #0xb + bl FUN_0200AA80 + str r0, [r4, #0x20] + add r1, r4, #0x0 + ldr r0, [r4, #0x8] + ldr r2, _02048208 ; =0x020F4628 + add r1, #0xc + bl FUN_02019150 add r0, r5, #0x0 + bl FUN_020377AC + bl FUN_020238F4 + add r2, r0, #0x0 + ldr r0, [r4, #0x20] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r5, #0x1c] + ldr r1, [r0, #0x0] + ldr r0, _0204820C ; =0x0000019E + cmp r1, r0 + bne _020481E6 + mov r2, #0x0 + add r0, r4, #0x0 + mov r1, #0x4 + add r3, r2, #0x0 + bl FUN_020482F4 + b _020481F2 +_020481E6: + mov r2, #0x0 + add r0, r4, #0x0 + mov r1, #0x3 + add r3, r2, #0x0 + bl FUN_020482F4 +_020481F2: + add r0, r4, #0x0 + add r0, #0xc + bl FUN_020191D0 + ldr r1, _02048210 ; =FUN_02048214 + add r0, r6, #0x0 + add r2, r4, #0x0 bl FUN_0204640C - ldr r0, [r4, #0x4] - add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C682 -_0204C67E: - mov r0, #0x1 - pop {r4-r6, pc} -_0204C682: - mov r0, #0x0 pop {r4-r6, pc} nop -_0204C688: .word 0x021DB1D1 +_02048208: .word 0x020F4628 +_0204820C: .word 0x0000019E +_02048210: .word FUN_02048214 + 1 - thumb_func_start FUN_0204C68C -FUN_0204C68C: ; 0x0204C68C - push {r4-r6, lr} - add r5, r0, #0x0 - bl FUN_02046528 - add r6, r0, #0x0 - add r0, r5, #0x0 + thumb_func_start FUN_02048214 +FUN_02048214: ; 0x02048214 + push {r3-r4, lr} + sub sp, #0xc bl FUN_0204652C add r4, r0, #0x0 - ldr r0, [r6, #0x38] - bl FUN_020553A0 - ldr r0, [r4, #0x4] + ldr r0, [r4, #0x0] + cmp r0, #0x4 + bhi _020482EA + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02048230: ; jump table (using 16-bit offset) + .short _0204823A - _02048230 - 2; case 0 + .short _02048258 - _02048230 - 2; case 1 + .short _02048268 - _02048230 - 2; case 2 + .short _02048298 - _02048230 - 2; case 3 + .short _020482B2 - _02048230 - 2; case 4 +_0204823A: + mov r0, #0x8 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x20 + str r0, [sp, #0x8] + mov r0, #0x3 + mov r2, #0x2a + mov r3, #0x0 + bl FUN_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020482EA +_02048258: + bl FUN_0200E308 cmp r0, #0x0 - beq _0204C6B0 - cmp r0, #0x1 - beq _0204C6C6 - b _0204C6CA -_0204C6B0: - bl FUN_021DB030 + beq _020482EA + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020482EA +_02048268: + ldr r0, _020482F0 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + bne _02048278 + mov r0, #0x2 + tst r0, r1 + beq _020482EA +_02048278: + mov r0, #0x8 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x20 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 add r2, r0, #0x0 - ldr r1, _0204C6D0 ; =0x021DB145 - add r0, r5, #0x0 - bl FUN_0204640C - ldr r0, [r4, #0x4] + add r3, r0, #0x0 + bl FUN_0200E1D0 + ldr r0, [r4, #0x0] add r0, r0, #0x1 - str r0, [r4, #0x4] - b _0204C6CA -_0204C6C6: + str r0, [r4, #0x0] + b _020482EA +_02048298: + bl FUN_0200E308 + cmp r0, #0x0 + beq _020482EA + add r0, r4, #0x0 + add r0, #0xc + mov r1, #0x0 + bl FUN_02019620 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020482EA +_020482B2: + add r0, r4, #0x0 + add r0, #0xc + mov r1, #0x0 + bl FUN_0200D0E0 + add r0, r4, #0x0 + add r0, #0xc + bl FUN_02019178 + ldr r0, [r4, #0x20] + bl FUN_0200AB18 + ldr r0, [r4, #0x1c] + bl FUN_0200A8B8 + ldr r0, [r4, #0x8] + mov r1, #0x3 + bl FUN_020178A0 + ldr r0, [r4, #0x8] + bl FUN_02016A18 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0xc mov r0, #0x1 - pop {r4-r6, pc} -_0204C6CA: + pop {r3-r4, pc} +_020482EA: mov r0, #0x0 - pop {r4-r6, pc} - nop -_0204C6D0: .word 0x021DB145 + add sp, #0xc + pop {r3-r4, pc} + .balign 4 +_020482F0: .word 0x021C48B8 - thumb_func_start FUN_0204C6D4 -FUN_0204C6D4: ; 0x0204C6D4 - push {r3-r7, lr} + thumb_func_start FUN_020482F4 +FUN_020482F4: ; 0x020482F4 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + mov r0, #0x1 + str r1, [sp, #0x10] + lsl r0, r0, #0xa + mov r1, #0xb + add r7, r3, #0x0 + bl FUN_020219F4 add r6, r0, #0x0 - bl FUN_02046528 + mov r0, #0x1 + lsl r0, r0, #0xa + mov r1, #0xb + bl FUN_020219F4 add r4, r0, #0x0 + add r0, r5, #0x0 + add r0, #0xc + mov r1, #0x0 + bl FUN_02019620 + ldr r0, [r5, #0x1c] + ldr r1, [sp, #0x10] + add r2, r6, #0x0 + bl FUN_0200A8E0 + ldr r0, [r5, #0x20] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_0200B7B8 + mov r0, #0x0 + add r1, r4, #0x0 + add r2, r0, #0x0 + bl FUN_02002F08 + add r3, r0, #0x0 + str r7, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + ldr r0, _02048378 ; =0x000F0200 + mov r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + str r1, [sp, #0xc] + ldrb r5, [r5, #0x13] + add r0, #0xc + add r2, r4, #0x0 + lsl r5, r5, #0x3 + sub r3, r5, r3 + lsl r3, r3, #0x18 + lsr r3, r3, #0x19 + sub r3, r3, #0x4 + lsl r3, r3, #0x18 + lsr r3, r3, #0x18 + bl FUN_0201BDE0 add r0, r6, #0x0 - bl FUN_0204652C + bl FUN_02021A20 + add r0, r4, #0x0 + bl FUN_02021A20 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 +_02048378: .word 0x000F0200 + + thumb_func_start FUN_0204837C +FUN_0204837C: ; 0x0204837C + push {r3-r7, lr} + sub sp, #0x18 add r5, r0, #0x0 - ldr r0, [r5, #0x4] - cmp r0, #0x3 - bhi _0204C798 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02048488 add r0, r0, r0 add r0, pc ldrh r0, [r0, #0x6] lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r2, #0x1 - lsl r6, r6, #0x1 - lsl r2, r3, #0x2 - ldr r0, [r4, #0x38] - bl FUN_020553A0 +_020483A2: ; jump table (using 16-bit offset) + .short _020483B0 - _020483A2 - 2; case 0 + .short _020483E8 - _020483A2 - 2; case 1 + .short _020483F8 - _020483A2 - 2; case 2 + .short _0204840C - _020483A2 - 2; case 3 + .short _02048434 - _020483A2 - 2; case 4 + .short _02048442 - _020483A2 - 2; case 5 + .short _02048482 - _020483A2 - 2; case 6 +_020483B0: + ldr r0, [r6, #0xc] + bl FUN_02034E30 add r7, r0, #0x0 - ldr r0, [r4, #0x38] - bl FUN_02055320 + bl FUN_02034DFC + add r1, sp, #0x4 str r0, [sp, #0x0] - ldr r0, [r4, #0x38] - bl FUN_0205532C - add r2, r0, #0x0 - ldr r1, [sp, #0x0] - add r0, r4, #0x0 - bl FUN_0204A6E0 - bl FUN_020547B0 - cmp r0, #0x0 - beq _0204C736 + bl FUN_02034EC4 add r0, r7, #0x0 - mov r1, #0x1 - bl FUN_0205889C - mov r0, #0x1 - str r0, [r5, #0x4] - b _0204C798 -_0204C736: - bl FUN_021DB030 - add r2, r0, #0x0 - ldr r1, _0204C79C ; =0x021DB251 + bl FUN_02034DCC + add r1, r0, #0x0 + ldr r0, [sp, #0x0] + bl FUN_02034E90 + add r0, r5, #0x0 + add r1, sp, #0x4 + bl FUN_02049160 add r0, r6, #0x0 - bl FUN_0204640C - mov r0, #0x3 - str r0, [r5, #0x4] - b _0204C798 -_0204C74A: - .byte 0x8D, 0xF1, 0x35, 0xFF, 0xE8, 0x61 - .byte 0xA0, 0x6B, 0x08, 0xF0, 0xE5, 0xFD, 0x06, 0x1C, 0xA0, 0x6B, 0x08, 0xF0, 0xE7, 0xFD, 0x01, 0x1C - .byte 0xEA, 0x69, 0x30, 0x1C, 0x8D, 0xF1, 0x34, 0xFF, 0x68, 0x68, 0x40, 0x1C, 0x68, 0x60, 0x13, 0xE0 - .byte 0xED, 0x69, 0x20, 0x1C, 0x29, 0x1C, 0x8E, 0xF1, 0x1D, 0xF8, 0x00, 0x28, 0x0C, 0xD0, 0x28, 0x1C - .byte 0x8D, 0xF1, 0x22, 0xFF, 0xA0, 0x6B, 0x08, 0xF0, 0x0B, 0xFE, 0x00, 0x21, 0x0C, 0xF0, 0x86, 0xF8 - .byte 0x01, 0x20, 0xF8, 0xBD, 0x01, 0x20, 0xF8, 0xBD -_0204C798: + bl FUN_020637F0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_020483E8: mov r0, #0x0 - pop {r3-r7, pc} - .balign 4 -_0204C79C: .word 0x021DB251 -_0204C7A0: - .byte 0xF8, 0xB5, 0x06, 0x1C, 0xF9, 0xF7, 0xC0, 0xFE, 0x05, 0x1C, 0x30, 0x1C, 0xF9, 0xF7, 0xBE, 0xFE - .byte 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x2B, 0xD0, 0x2C, 0xE0, 0xA8, 0x6B - .byte 0x08, 0xF0, 0xEE, 0xFD, 0x07, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xAA, 0xFD, 0x00, 0x90, 0xA8, 0x6B - .byte 0x08, 0xF0, 0xAC, 0xFD, 0x02, 0x1C, 0x00, 0x99, 0x28, 0x1C, 0xFD, 0xF7, 0x81, 0xFF, 0x07, 0xF0 - .byte 0xE7, 0xFF, 0x00, 0x28, 0x0B, 0xD0, 0x38, 0x1C, 0x01, 0x21, 0x0C, 0xF0, 0x57, 0xF8, 0x01, 0x20 - .byte 0x60, 0x60, 0x0A, 0x49, 0x30, 0x1C, 0x22, 0x1C, 0xF9, 0xF7, 0xF8, 0xFD, 0x0C, 0xE0, 0x8E, 0xF1 - .byte 0x17, 0xFC, 0x02, 0x1C, 0x06, 0x49, 0x30, 0x1C, 0xF9, 0xF7, 0x00, 0xFE, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x20, 0xF8, 0xBD, 0xD5, 0xC6, 0x04, 0x02 - .byte 0x81, 0xB3, 0x1D, 0x02, 0x70, 0xB5, 0x04, 0x1C, 0xF9, 0xF7, 0x7E, 0xFE, 0x05, 0x1C, 0x20, 0x1C - .byte 0xF9, 0xF7, 0x7C, 0xFE, 0x04, 0x1C, 0x60, 0x68, 0x00, 0x28, 0x04, 0xD0, 0x01, 0x28, 0x15, 0xD0 - .byte 0x02, 0x28, 0x27, 0xD0, 0x28, 0xE0, 0x8D, 0xF1, 0xB7, 0xFE, 0xE0, 0x61, 0xA8, 0x6B, 0x08, 0xF0 - .byte 0x67, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x69, 0xFD, 0x01, 0x1C, 0xE2, 0x69, 0x30, 0x1C - .byte 0x8D, 0xF1, 0xB6, 0xFE, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x15, 0xE0, 0xA8, 0x6B, 0xE6, 0x69 - .byte 0x08, 0xF0, 0x42, 0xFD, 0x02, 0x1C, 0x12, 0x06, 0x28, 0x1C, 0x31, 0x1C, 0x12, 0x0E, 0x8E, 0xF1 - .byte 0x11, 0xF9, 0x00, 0x28, 0x08, 0xD0, 0xE0, 0x69, 0x8D, 0xF1, 0x9E, 0xFE, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x70, 0xB5, 0x04, 0x1C - .byte 0xF9, 0xF7, 0x42, 0xFE, 0x05, 0x1C, 0x20, 0x1C, 0xF9, 0xF7, 0x40, 0xFE, 0x04, 0x1C, 0x60, 0x68 - .byte 0x03, 0x28, 0x40, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44 - .byte 0x06, 0x00, 0x42, 0x00, 0x60, 0x00, 0x70, 0x00, 0x01, 0x20, 0x8B, 0xF1, 0xEB, 0xF9, 0xA8, 0x6B - .byte 0x08, 0xF0, 0x66, 0xFD, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x0E, 0xFD, 0x02, 0x28, 0x04, 0xD1 - .byte 0x30, 0x1C, 0x0A, 0x21, 0x0E, 0xF0, 0x7A, 0xFA, 0x08, 0xE0, 0x03, 0x28, 0x04, 0xD1, 0x30, 0x1C - .byte 0x0B, 0x21, 0x0E, 0xF0, 0x73, 0xFA, 0x01, 0xE0, 0xD4, 0xF7, 0x98, 0xF9, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x18, 0xE0, 0xA8, 0x6B, 0x08, 0xF0, 0x4B, 0xFD, 0x05, 0x1C, 0x0E, 0xF0, 0x8C, 0xFA - .byte 0x01, 0x28, 0x10, 0xD1, 0x28, 0x1C, 0x0E, 0xF0, 0x9B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 - .byte 0x09, 0xE0, 0xC1, 0xF7, 0xF1, 0xFC, 0x00, 0x28, 0x05, 0xD0, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 - .byte 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x05, 0x1C - .byte 0xF9, 0xF7, 0xF2, 0xFD, 0x06, 0x1C, 0x28, 0x1C, 0xF9, 0xF7, 0xF0, 0xFD, 0x04, 0x1C, 0xB0, 0x6B - .byte 0x08, 0xF0, 0x26, 0xFD, 0x60, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x01, 0x28, 0x0B, 0xD0, 0x0C, 0xE0 - .byte 0x8E, 0xF1, 0x66, 0xFB, 0x02, 0x1C, 0x06, 0x49, 0x28, 0x1C, 0xF9, 0xF7, 0x4F, 0xFD, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0xC0, 0x46 - .byte 0x41, 0xB0, 0x1D, 0x02, 0x38, 0xB5, 0x84, 0xB0, 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0xB4, 0xFC - .byte 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0, 0xDB, 0xFC, 0x03, 0x2C, 0x05, 0xD1, 0x01, 0x20 - .byte 0x01, 0x99, 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x04, 0xE0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04 - .byte 0x08, 0x18, 0x01, 0x90, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A, 0x03, 0x9B, 0x28, 0x1C - .byte 0xFD, 0xF7, 0xA2, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C, 0x08, 0xF0, 0x8E, 0xFD - .byte 0xA8, 0x6B, 0x08, 0xF0, 0xC5, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x08, 0xFB, 0xA8, 0x6B, 0x08, 0xF0 - .byte 0xBF, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0x40, 0xF9, 0x04, 0xB0, 0x38, 0xBD, 0x70, 0xB5, 0x84, 0xB0 - .byte 0x05, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x80, 0xFC, 0x04, 0x1C, 0xA8, 0x6B, 0x01, 0xA9, 0x08, 0xF0 - .byte 0xA7, 0xFC, 0xA8, 0x6B, 0x08, 0xF0, 0x8C, 0xFC, 0x06, 0x1C, 0xA8, 0x6B, 0x08, 0xF0, 0x8E, 0xFC - .byte 0x02, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFD, 0xF7, 0x63, 0xFE, 0x06, 0x1C, 0x07, 0xF0, 0x5C, 0xFF - .byte 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x01, 0x99, 0x00, 0x04, 0x08, 0x18, 0x01, 0x90, 0x02, 0x24 - .byte 0x0A, 0xE0, 0x30, 0x1C, 0x07, 0xF0, 0x56, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x20, 0x01, 0x99 - .byte 0x00, 0x04, 0x08, 0x1A, 0x01, 0x90, 0x03, 0x24, 0x00, 0x20, 0x00, 0x90, 0x02, 0x99, 0x01, 0x9A - .byte 0x03, 0x9B, 0x28, 0x1C, 0xFD, 0xF7, 0x58, 0xFE, 0x02, 0x90, 0xA8, 0x6B, 0x01, 0xA9, 0x22, 0x1C - .byte 0x08, 0xF0, 0x44, 0xFD, 0xA8, 0x6B, 0x08, 0xF0, 0x7B, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xBE, 0xFA - .byte 0xA8, 0x6B, 0x08, 0xF0, 0x75, 0xFC, 0x29, 0x6A, 0xD2, 0xF7, 0xF6, 0xF8, 0x04, 0xB0, 0x70, 0xBD - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCC, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xCD, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x02, 0x4A, 0x41, 0x43, 0x50, 0x18, 0x80, 0x1C, 0x70, 0x47, 0xCC, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD7, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD8, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xD9, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xDC, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x58, 0x70, 0x47, 0xC0, 0x46, 0xE0, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE4, 0x48, 0x0F, 0x02 - .byte 0x1C, 0x21, 0x41, 0x43, 0x01, 0x48, 0x40, 0x5C, 0x70, 0x47, 0xC0, 0x46, 0xE5, 0x48, 0x0F, 0x02 - .byte 0xF8, 0xB5, 0x0C, 0x1C, 0x43, 0x49, 0x15, 0x1C, 0x0A, 0x68, 0x00, 0x2A, 0x01, 0xD0, 0x00, 0x20 - .byte 0xF8, 0xBD, 0x05, 0xD1, 0xB1, 0x22, 0x08, 0x60, 0x00, 0x21, 0x92, 0x00, 0x81, 0xF0, 0x06, 0xEC - .byte 0x3C, 0x49, 0x3D, 0x48, 0x0A, 0x68, 0x15, 0x54, 0x00, 0x22, 0x08, 0x68, 0x00, 0x2D, 0x42, 0x60 - .byte 0x0C, 0xD0, 0xF8, 0xF1, 0xE3, 0xF8, 0x01, 0x1C, 0x0F, 0x20, 0xC9, 0xF7, 0x1D, 0xFF, 0x35, 0x49 - .byte 0x0A, 0x68, 0x50, 0x60, 0x08, 0x68, 0x40, 0x68, 0xF8, 0xF1, 0xDA, 0xF8, 0x31, 0x48, 0x33, 0x4F - .byte 0x01, 0x68, 0x4C, 0x65, 0x00, 0x21, 0x0A, 0x1C, 0x0B, 0x1C, 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24 - .byte 0xA6, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18, 0xA2, 0x34, 0x27, 0x80, 0x04, 0x68 - .byte 0xA4, 0x18, 0xA4, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18, 0xA7, 0x35, 0x02, 0x24, 0x2C, 0x70 - .byte 0x04, 0x68, 0xA5, 0x18, 0x00, 0x24, 0x66, 0x35, 0xE4, 0x43, 0x2C, 0x70, 0x04, 0x68, 0xA4, 0x18 - .byte 0x62, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA4, 0x18, 0x64, 0x34, 0x27, 0x80, 0x04, 0x68, 0xA5, 0x18 - .byte 0x67, 0x35, 0x02, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x1D, 0x4D, 0x66, 0x18, 0x00, 0x24, 0xE4, 0x43 - .byte 0x74, 0x55, 0x04, 0x68, 0x08, 0x32, 0x65, 0x18, 0xE2, 0x35, 0x00, 0x24, 0x2C, 0x70, 0x04, 0x68 - .byte 0x65, 0x18, 0xEA, 0x35, 0x01, 0x24, 0x2C, 0x70, 0x04, 0x68, 0x65, 0x18, 0xF2, 0x35, 0x00, 0x24 - .byte 0x2C, 0x70, 0x04, 0x68, 0xFF, 0x25, 0xE6, 0x18, 0x2C, 0x1C, 0x6B, 0x34, 0x49, 0x1C, 0x22, 0x33 - .byte 0x35, 0x53, 0x08, 0x29, 0xB9, 0xDB, 0x0B, 0x4A, 0xAF, 0x21, 0x13, 0x68, 0x89, 0x00, 0x00, 0x20 - .byte 0x58, 0x54, 0x12, 0x68, 0xC9, 0x1C, 0x50, 0x54, 0x0A, 0x48, 0x00, 0x21, 0xC8, 0x22, 0xBF, 0xF7 - .byte 0x11, 0xFF, 0x04, 0x49, 0x09, 0x68, 0x08, 0x65, 0xE4, 0xF7, 0xBE, 0xF9, 0x00, 0xF0, 0x98, 0xF9 - .byte 0x01, 0x20, 0xF8, 0xBD, 0x68, 0x5A, 0x1C, 0x02, 0xBE, 0x02, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 - .byte 0x02, 0x01, 0x00, 0x00, 0xF1, 0xD4, 0x04, 0x02 - - thumb_func_start FUN_0204CC48 -FUN_0204CC48: ; 0x0204CC48 - push {r3-r7, lr} - ldr r4, _0204CC94 ; =0x021C5A68 + mov r1, #0x14 + bl FUN_020053CC ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_020483F8: + bl FUN_02005404 cmp r0, #0x0 - beq _0204CC92 - ldr r6, _0204CC98 ; =0x000002BE - mov r5, #0x0 - mov r7, #0x1 -_0204CC58: + bne _02048488 + bl FUN_0204AB0C ldr r0, [r4, #0x0] - ldrb r0, [r0, r6] - cmp r0, #0x0 - beq _0204CC6E - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - add r1, r7, #0x0 + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_0204840C: + mov r0, #0xf + mvn r0, r0 + mov r1, #0x37 + mov r2, #0x1 + bl FUN_0200A274 + mov r0, #0xf + mvn r0, r0 + mov r1, #0x3f + mov r2, #0x2 + bl FUN_0200A274 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02048164 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_02048434: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_02048442: + mov r0, #0x0 + mov r1, #0x3f + mov r2, #0x3 + bl FUN_0200A274 + bl FUN_02034E8C + add r7, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_02034E30 + bl FUN_02034DFC + cmp r7, r0 + bne _0204846E mov r2, #0x0 - bl FUN_0204D43C - b _0204CC7A -_0204CC6E: - lsl r0, r5, #0x18 - mov r1, #0x1 - lsr r0, r0, #0x18 - add r2, r1, #0x0 - bl FUN_0204D43C -_0204CC7A: - add r5, r5, #0x1 - cmp r5, #0x8 - blt _0204CC58 - ldr r0, _0204CC94 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldr r0, _0204CC98 ; =0x000002BE - ldrb r1, [r2, r0] - cmp r1, #0x0 - beq _0204CC92 - mov r1, #0x1 - sub r0, r0, #0x1 - strb r1, [r2, r0] -_0204CC92: + ldr r1, _02048490 ; =0x000007E4 + add r0, r5, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 + b _0204847A +_0204846E: + mov r2, #0x0 + ldr r1, _02048494 ; =0x000007E5 + add r0, r5, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 +_0204847A: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048488 +_02048482: + add sp, #0x18 + mov r0, #0x1 pop {r3-r7, pc} - .balign 4 -_0204CC94: .word 0x021C5A68 -_0204CC98: .word 0x000002BE +_02048488: + mov r0, #0x0 + add sp, #0x18 + pop {r3-r7, pc} + nop +_02048490: .word 0x000007E4 +_02048494: .word 0x000007E5 - thumb_func_start FUN_0204CC9C -FUN_0204CC9C: ; 0x0204CC9C - push {r3, lr} - ldr r1, _0204CCD8 ; =0x021C5A68 - ldr r3, [r1, #0x0] - cmp r3, #0x0 - beq _0204CCD6 - ldr r0, _0204CCDC ; =0x000002BB - mov r2, #0x1 - strb r2, [r3, r0] - ldr r1, [r1, #0x0] + thumb_func_start FUN_02048498 +FUN_02048498: ; 0x02048498 + ldr r3, _020484A0 ; =FUN_0204640C + ldr r1, _020484A4 ; =FUN_0204837C mov r2, #0x0 - add r0, r0, #0x2 - strb r2, [r1, r0] - bl FUN_0204CF60 - mov r0, #0x1 - bl FUN_0204D168 - ldr r0, _0204CCD8 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055320 - ldr r0, _0204CCD8 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_0205532C -_0204CCD6: - pop {r3, pc} + bx r3 .balign 4 -_0204CCD8: .word 0x021C5A68 -_0204CCDC: .word 0x000002BB +_020484A0: .word FUN_0204640C + 1 +_020484A4: .word FUN_0204837C + 1 - thumb_func_start FUN_0204CCE0 -FUN_0204CCE0: ; 0x0204CCE0 - push {r3-r7, lr} - ldr r7, _0204CD70 ; =0x021C5A68 + thumb_func_start FUN_020484A8 +FUN_020484A8: ; 0x020484A8 + push {r3-r6, lr} + sub sp, #0x14 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r6, r1, #0x0 + mov r1, #0xb + add r2, sp, #0x0 + bl FUN_02022534 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + cmp r0, #0x1 + bne _020484C6 + cmp r6, #0x0 + bne _020484CC +_020484C6: + add r0, r4, #0x0 + bl FUN_0202B03C +_020484CC: + ldr r0, [r5, #0xc] + bl FUN_0206BB1C add r6, r0, #0x0 - ldr r0, [r7, #0x0] + add r0, sp, #0x4 + bl FUN_020126B4 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, sp, #0x4 + bl FUN_0202B050 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl FUN_02022540 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x14 + pop {r3-r6, pc} + .balign 4 + + thumb_func_start FUN_020484F8 +FUN_020484F8: ; 0x020484F8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x9 + bhi _02048554 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02048526: ; jump table (using 16-bit offset) + .short _0204853A - _02048526 - 2; case 0 + .short _0204854A - _02048526 - 2; case 1 + .short _02048586 - _02048526 - 2; case 2 + .short _020485AE - _02048526 - 2; case 3 + .short _020485C0 - _02048526 - 2; case 4 + .short _020485F6 - _02048526 - 2; case 5 + .short _02048612 - _02048526 - 2; case 6 + .short _02048624 - _02048526 - 2; case 7 + .short _02048644 - _02048526 - 2; case 8 + .short _02048666 - _02048526 - 2; case 9 +_0204853A: + add r0, r6, #0x0 + add r1, r5, #0x4 + bl FUN_02038814 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_0204854A: + add r0, r6, #0x0 + bl FUN_0204647C cmp r0, #0x0 - beq _0204CD6E - mov r4, #0x0 - add r5, r4, #0x0 -_0204CCF0: - ldr r0, [r7, #0x0] - add r1, r0, r5 - mov r0, #0x9f - lsl r0, r0, #0x2 - ldr r0, [r1, r0] + beq _02048556 +_02048554: + b _02048688 +_02048556: + mov r1, #0x4 + mov r0, #0x3 + lsl r2, r1, #0xf + bl FUN_0201681C + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02048764 + mov r0, #0x8 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x20 + str r0, [sp, #0x8] + mov r0, #0x3 + add r2, r1, #0x0 + mov r3, #0x0 + bl FUN_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_02048586: + bl FUN_0200E308 cmp r0, #0x0 - beq _0204CD0E - bl FUN_02016A18 - ldr r0, [r7, #0x0] + beq _02048688 + ldr r0, [r6, #0xc] + bl FUN_0202280C + cmp r0, #0x0 + bne _020485A8 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_020487E4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_020485A8: + mov r0, #0x7 + str r0, [r4, #0x0] + b _02048688 +_020485AE: + add r0, r5, #0x0 + bl FUN_02048838 + cmp r0, #0x0 + beq _02048688 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_020485C0: + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + bl FUN_02085140 + bl FUN_02022830 + ldr r0, [r6, #0xc] + bl FUN_02022720 + add r7, r0, #0x0 + ldr r1, [r5, #0x0] + add r0, r6, #0x0 + bl FUN_020484A8 + add r0, r5, #0x0 + bl FUN_02048848 + add r0, r6, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl FUN_02048864 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_020485F6: + add r0, r5, #0x0 + bl FUN_02048838 + cmp r0, #0x0 + beq _02048688 + ldr r0, _02048690 ; =0x0000061B + bl FUN_020054C8 + mov r0, #0x12 + str r0, [r5, #0x38] + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_02048612: + ldr r1, [r5, #0x38] + cmp r1, #0x0 + beq _0204861E + sub r0, r1, #0x1 + str r0, [r5, #0x38] + b _02048688 +_0204861E: + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_02048624: + mov r0, #0x8 + str r0, [sp, #0x0] mov r1, #0x0 - add r2, r0, r5 - mov r0, #0x9f - lsl r0, r0, #0x2 - str r1, [r2, r0] -_0204CD0E: - add r4, r4, #0x1 - add r5, r5, #0x4 - cmp r4, #0x5 - blt _0204CCF0 - ldr r0, _0204CD70 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldr r0, _0204CD74 ; =0x000002B2 - ldrh r1, [r2, r0] - cmp r1, #0x5 - blo _0204CD28 - ldr r0, [r2, #0x54] - bl FUN_02061B64 -_0204CD28: - mov r4, #0x0 - add r5, r4, #0x0 -_0204CD2C: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x20 + str r0, [sp, #0x8] + mov r0, #0x3 + add r2, r1, #0x0 + add r3, r1, #0x0 + bl FUN_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_02048644: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02048688 + add r0, r6, #0x0 add r1, r5, #0x0 - add r2, r6, #0x0 - bl FUN_0204D43C - add r4, r4, #0x1 - cmp r4, #0x8 - blt _0204CD2C - ldr r0, _0204CD70 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x50] - bl FUN_0200CAB4 - ldr r0, _0204CD70 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] + bl FUN_020488D4 + add r5, #0x10 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02038854 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048688 +_02048666: + add r0, r6, #0x0 + bl FUN_0204647C cmp r0, #0x0 - beq _0204CD60 - bl FUN_02244D3C - ldr r0, _0204CD70 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - bl FUN_02016A18 -_0204CD60: - ldr r0, _0204CD70 ; =0x021C5A68 - ldr r0, [r0, #0x0] + bne _02048688 + add r0, r5, #0x0 bl FUN_02016A18 - ldr r0, _0204CD70 ; =0x021C5A68 - mov r1, #0x0 - str r1, [r0, #0x0] -_0204CD6E: - pop {r3-r7, pc} + mov r0, #0x4 + bl FUN_020168D0 + mov r0, #0x0 + blx FUN_020CD3B4 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} +_02048688: + mov r0, #0x0 + add sp, #0xc + pop {r4-r7, pc} + nop +_02048690: .word 0x0000061B + + thumb_func_start FUN_02048694 +FUN_02048694: ; 0x02048694 + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + mov r0, #0x20 + mov r1, #0x3c + bl FUN_02016998 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020238F4 + str r0, [sp, #0x0] + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + str r0, [sp, #0x8] + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DCC + str r0, [sp, #0x4] + add r0, r6, #0x0 + bl FUN_0205ED0C + str r0, [r5, #0x0] + ldr r0, [r4, #0xc] + bl FUN_020238F4 + str r0, [r5, #0x4] + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + str r0, [r5, #0x8] + ldr r0, [r4, #0xc] + bl FUN_02023918 + str r0, [r5, #0xc] + ldr r0, [r4, #0xc] + bl FUN_020238F4 + bl FUN_020239CC + str r0, [r5, #0x10] + add r0, r6, #0x0 + bl FUN_0205ED0C + str r0, [r5, #0x14] + ldr r0, [r4, #0xc] + bl FUN_02024DA0 + str r0, [r5, #0x18] + add r0, r6, #0x0 + bl FUN_0205ED0C + cmp r0, #0x0 + bne _0204871E + add r0, r4, #0x0 + bl FUN_0204B328 +_0204871E: + ldr r0, [r4, #0xc] + bl FUN_0206BB1C + bl FUN_0204A25C + ldr r0, [sp, #0x8] + bl FUN_020377B0 + ldr r0, [sp, #0x4] + bl FUN_020377C8 + add r0, r6, #0x0 + bl FUN_0205F154 + add r0, r6, #0x0 + bl FUN_0205ECFC + ldr r0, [sp, #0x0] + bl FUN_02023A78 + ldr r0, [r4, #0xc] + bl FUN_02029FC8 + mov r1, #0x2e + bl FUN_0202A0E8 + ldr r1, _02048760 ; =FUN_020484F8 + add r0, r7, #0x0 + add r2, r5, #0x0 + bl FUN_0204640C + add sp, #0xc + pop {r4-r7, pc} .balign 4 -_0204CD70: .word 0x021C5A68 -_0204CD74: .word 0x000002B2 +_02048760: .word FUN_020484F8 + 1 - thumb_func_start FUN_0204CD78 -FUN_0204CD78: ; 0x0204CD78 + thumb_func_start FUN_02048764 +FUN_02048764: ; 0x02048764 push {r4, lr} - lsl r4, r0, #0x2 - ldr r0, _0204CDB0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r4 - ldr r0, [r0, #0x28] - cmp r0, #0x0 - beq _0204CDAC - bl FUN_020646A0 - cmp r0, #0x0 - beq _0204CD9E - ldr r0, _0204CDB0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r4 - ldr r0, [r0, #0x28] - bl FUN_02064520 - b _0204CDA2 -_0204CD9E: - bl FUN_02020C2C -_0204CDA2: - ldr r0, _0204CDB0 ; =0x021C5A68 + sub sp, #0x10 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r1, #0x2c] + str r0, [r1, #0x30] + add r1, #0x1c + add r0, r1, #0x0 + bl FUN_0201901C + ldr r0, _020487D4 ; =0x020F46B0 + bl FUN_0201E66C + ldr r2, _020487D8 ; =0x04000304 + ldrh r1, [r2, #0x0] + lsr r0, r2, #0xb + orr r0, r1 + strh r0, [r2, #0x0] + ldr r0, _020487DC ; =0x020F4684 + bl FUN_02016BBC + mov r0, #0x3 mov r1, #0x0 - ldr r0, [r0, #0x0] - add r0, r0, r4 - str r1, [r0, #0x28] -_0204CDAC: + bl FUN_02017FE4 + ldr r0, [r4, #0x8] + ldr r2, _020487E0 ; =0x020F4694 + mov r1, #0x3 + mov r3, #0x0 + bl FUN_02016C18 + mov r1, #0x20 + mov r0, #0x3 + mov r2, #0x0 + add r3, r1, #0x0 + bl FUN_02017F18 + mov r2, #0x0 + str r2, [sp, #0x0] + mov r0, #0x20 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x11 + str r0, [sp, #0xc] + ldr r0, [r4, #0x8] + mov r1, #0x3 + add r3, r2, #0x0 + bl FUN_02018540 + ldr r0, [r4, #0x8] + mov r1, #0x3 + bl FUN_02017CD0 + add sp, #0x10 pop {r4, pc} nop -_0204CDB0: .word 0x021C5A68 +_020487D4: .word 0x020F46B0 +_020487D8: .word 0x04000304 +_020487DC: .word 0x020F4684 +_020487E0: .word 0x020F4694 - thumb_func_start FUN_0204CDB4 -FUN_0204CDB4: ; 0x0204CDB4 - push {r3-r7, lr} - mov r4, #0x0 - ldr r6, _0204CED4 ; =0x021C5A68 - add r7, r4, #0x0 - add r5, r4, #0x0 -_0204CDBE: + thumb_func_start FUN_020487E4 +FUN_020487E4: ; 0x020487E4 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl FUN_02023900 + add r6, r0, #0x0 + mov r0, #0x1a + mov r1, #0xc7 + mov r2, #0xf + mov r3, #0x20 + bl FUN_0200A738 + str r0, [r4, #0x2c] + add r1, r4, #0x0 + ldr r0, [r5, #0x8] + add r1, #0x1c + mov r2, #0x3 + bl FUN_020545B8 add r0, r4, #0x0 - bl FUN_0204E778 + add r0, #0x1c + add r1, r6, #0x0 + bl FUN_02054608 add r0, r4, #0x0 - bl FUN_0204CD78 - cmp r4, #0x0 - beq _0204CDD4 + ldr r1, [r4, #0x2c] + add r0, #0x1c + add r2, r6, #0x0 + mov r3, #0x1 + bl FUN_02054658 + str r0, [r4, #0x34] add r0, r4, #0x0 - bl FUN_0204ED9C -_0204CDD4: - ldr r1, [r6, #0x0] - add r0, r1, r7 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - beq _0204CDFA - ldr r2, [r1, #0x54] - ldr r2, [r2, #0x38] - cmp r2, r0 - beq _0204CDF2 - ldr r2, _0204CED8 ; =0x000002BE - ldrb r1, [r1, r2] - cmp r1, #0x0 - beq _0204CDF2 - bl FUN_02055168 -_0204CDF2: - ldr r0, [r6, #0x0] - add r1, r0, r7 - mov r0, #0x0 - str r0, [r1, #0x8] -_0204CDFA: - ldr r0, [r6, #0x0] - add r7, r7, #0x4 - add r1, r0, r4 - add r1, #0x48 - mov r0, #0x0 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - mov r0, #0x0 - add r1, #0xa6 - mvn r0, r0 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204CEDC ; =0x0000FFFF - add r1, #0xa2 - strh r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204CEDC ; =0x0000FFFF - add r1, #0xa4 - strh r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - add r1, #0xa7 - mov r0, #0x2 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - mov r0, #0x0 - add r1, #0x66 - mvn r0, r0 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204CEDC ; =0x0000FFFF - add r1, #0x62 - strh r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204CEDC ; =0x0000FFFF - add r1, #0x64 - strh r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r5 - add r1, #0x67 - mov r0, #0x2 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - mov r1, #0x0 - add r2, r0, r4 - ldr r0, _0204CEE0 ; =0x00000102 - mvn r1, r1 - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - mov r1, #0x0 - add r2, r0, r4 - ldr r0, _0204CEE4 ; =0x0000010A - add r5, #0x8 - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - add r1, r0, r4 - add r1, #0xe2 - mov r0, #0x0 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r4 - add r1, #0xea - mov r0, #0x1 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - add r1, r0, r4 - add r1, #0xf2 - mov r0, #0x0 - strb r0, [r1, #0x0] - ldr r0, [r6, #0x0] - mov r1, #0x0 - add r2, r0, r4 - ldr r0, _0204CEE8 ; =0x0000013A - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - add r2, r0, r4 - ldr r0, _0204CEEC ; =0x00000142 - add r4, r4, #0x1 - strb r1, [r2, r0] - cmp r4, #0x8 - blt _0204CDBE - ldr r0, _0204CED4 ; =0x021C5A68 - ldr r1, _0204CEF0 ; =0x000002BF - ldr r2, [r0, #0x0] - mov r0, #0x0 - strb r0, [r2, r1] - bl FUN_0204CF60 - ldr r0, _0204CED4 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x50] - cmp r0, #0x0 - bne _0204CED0 - ldr r0, _0204CEF4 ; =FUN_0204D4F0 - mov r1, #0x0 - mov r2, #0xc8 - bl FUN_0200CA44 - ldr r1, _0204CED4 ; =0x021C5A68 - ldr r1, [r1, #0x0] - str r0, [r1, #0x50] -_0204CED0: - pop {r3-r7, pc} + ldr r1, _02048834 ; =0x000003E2 + add r0, #0x1c + bl FUN_0200D858 + str r0, [r4, #0x30] + pop {r4-r6, pc} + .balign 4 +_02048834: .word 0x000003E2 + + thumb_func_start FUN_02048838 +FUN_02048838: ; 0x02048838 + ldr r0, [r0, #0x34] + ldr r3, _02048844 ; =FUN_020546C8 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bx r3 nop -_0204CED4: .word 0x021C5A68 -_0204CED8: .word 0x000002BE -_0204CEDC: .word 0x0000FFFF -_0204CEE0: .word 0x00000102 -_0204CEE4: .word 0x0000010A -_0204CEE8: .word 0x0000013A -_0204CEEC: .word 0x00000142 -_0204CEF0: .word 0x000002BF -_0204CEF4: .word FUN_0204D4F0 + 1 +_02048844: .word FUN_020546C8 + 1 - thumb_func_start FUN_0204CEF8 -FUN_0204CEF8: ; 0x0204CEF8 - push {r3, lr} - ldr r0, _0204CF20 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x50] - cmp r0, #0x0 - beq _0204CF16 - mov r0, #0x0 - add r1, r0, #0x0 - bl FUN_0204D4F0 - ldr r0, _0204CF20 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x50] - bl FUN_0200CAB4 -_0204CF16: - ldr r0, _0204CF20 ; =0x021C5A68 + thumb_func_start FUN_02048848 +FUN_02048848: ; 0x02048848 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x2c] + bl FUN_02021A20 + ldr r0, [r4, #0x30] + bl FUN_0200DBFC + add r4, #0x1c + add r0, r4, #0x0 + bl FUN_0205464C + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02048864 +FUN_02048864: ; 0x02048864 + push {r3-r7, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xc7 + mov r3, #0x4 + bl FUN_0200A86C + add r7, r0, #0x0 + cmp r6, #0x2 + bne _020488AC + mov r0, #0x4 + bl FUN_0200AA80 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r2, r0, #0x0 + add r0, r6, #0x0 mov r1, #0x0 - ldr r0, [r0, #0x0] - str r1, [r0, #0x50] - pop {r3, pc} + bl FUN_0200ABC0 + add r0, r6, #0x0 + add r1, r7, #0x0 + mov r2, #0x10 + mov r3, #0x4 + bl FUN_0200A9C4 + str r0, [r4, #0x2c] + add r0, r6, #0x0 + bl FUN_0200AB18 + b _020488B4 +_020488AC: + mov r1, #0x12 + bl FUN_0200A914 + str r0, [r4, #0x2c] +_020488B4: + add r0, r7, #0x0 + bl FUN_0200A8B8 + ldr r0, [r5, #0xc] + bl FUN_02023900 + add r2, r0, #0x0 + add r0, r4, #0x0 + ldr r1, [r4, #0x2c] + add r0, #0x1c + mov r3, #0x1 + bl FUN_02054658 + str r0, [r4, #0x34] + pop {r3-r7, pc} .balign 4 -_0204CF20: .word 0x021C5A68 - thumb_func_start FUN_0204CF24 -FUN_0204CF24: ; 0x0204CF24 + thumb_func_start FUN_020488D4 +FUN_020488D4: ; 0x020488D4 push {r3-r5, lr} - ldr r0, _0204CF58 ; =0x021C5A68 - ldr r0, [r0, #0x0] + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x2c] cmp r0, #0x0 - beq _0204CF54 - mov r5, #0x0 - add r4, r5, #0x0 -_0204CF32: - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - add r1, r4, #0x0 - add r2, r4, #0x0 - bl FUN_0204D43C - add r0, r5, #0x0 - bl FUN_0204F69C - add r5, r5, #0x1 - cmp r5, #0x8 - blt _0204CF32 - ldr r0, _0204CF58 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204CF5C ; =0x000002BD - strb r2, [r1, r0] -_0204CF54: + beq _020488E4 + bl FUN_02021A20 +_020488E4: + add r0, r4, #0x0 + add r0, #0x1c + bl FUN_02019048 + cmp r0, #0x0 + beq _020488F8 + add r4, #0x1c + add r0, r4, #0x0 + bl FUN_02019178 +_020488F8: + ldr r0, [r5, #0x8] + mov r1, #0x3 + bl FUN_020178A0 pop {r3-r5, pc} - nop -_0204CF58: .word 0x021C5A68 -_0204CF5C: .word 0x000002BD + .balign 4 - thumb_func_start FUN_0204CF60 -FUN_0204CF60: ; 0x0204CF60 - push {r4, lr} - bl FUN_02031190 - ldr r1, _0204D03C ; =0x021C5A68 - lsl r0, r0, #0x2 - ldr r2, [r1, #0x0] - ldr r1, [r2, #0x54] - add r0, r2, r0 - ldr r1, [r1, #0x38] - str r1, [r0, #0x8] - bl FUN_02031190 - ldr r1, _0204D03C ; =0x021C5A68 + thumb_func_start FUN_02048904 +FUN_02048904: ; 0x02048904 + ldr r1, [r0, #0x1c] + ldr r2, _02048950 ; =0x0000014B + ldr r1, [r1, #0x0] + cmp r1, r2 + bgt _0204892C + sub r2, r2, #0x5 + sub r2, r1, r2 + bmi _02048936 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_02048920: ; jump table (using 16-bit offset) + .short _02048932 - _02048920 - 2; case 0 + .short _02048932 - _02048920 - 2; case 1 + .short _02048932 - _02048920 - 2; case 2 + .short _02048932 - _02048920 - 2; case 3 + .short _02048932 - _02048920 - 2; case 4 + .short _02048932 - _02048920 - 2; case 5 +_0204892C: + ldr r2, _02048954 ; =0x000001ED + cmp r1, r2 + bne _02048936 +_02048932: mov r2, #0x1 + b _02048938 +_02048936: + mov r2, #0x0 +_02048938: + cmp r2, #0x0 + bne _02048946 + ldr r1, [r0, #0x6c] + cmp r1, #0x4 + bne _02048946 + mov r1, #0x0 + str r1, [r0, #0x6c] +_02048946: + cmp r2, #0x0 + beq _0204894E + mov r1, #0x4 + str r1, [r0, #0x6c] +_0204894E: + bx lr + .balign 4 +_02048950: .word 0x0000014B +_02048954: .word 0x000001ED + + thumb_func_start FUN_02048958 +FUN_02048958: ; 0x02048958 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r4, r1, #0x0 + bl FUN_02034E30 + add r6, r0, #0x0 + bl FUN_02034DC8 + add r2, r0, #0x0 + cmp r4, #0x0 + beq _0204898C + ldr r3, [r5, #0x1c] + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + ldr r2, [r5, #0x1c] + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] +_0204898C: + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0x48 - strb r2, [r0, #0x0] - bl FUN_02031190 - add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055320 - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0xa2 - strh r0, [r1, #0x0] - bl FUN_02031190 - add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_0205532C - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0xa4 - strh r0, [r1, #0x0] - bl FUN_02031190 - add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_020552F8 - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0xa6 - strb r0, [r1, #0x0] - bl FUN_02031190 - add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055320 - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0x62 - strh r0, [r1, #0x0] - bl FUN_02031190 + bl FUN_02034A60 + ldr r0, [r5, #0x1c] + ldr r1, [r0, #0x4] + mov r0, #0x0 + mvn r0, r0 + cmp r1, r0 + beq _020489DA + add r0, r5, #0x0 + bl FUN_02034B00 + ldrh r2, [r0, #0x0] + ldr r1, [r5, #0x1c] + str r2, [r1, #0x8] + ldrh r2, [r0, #0x2] + ldr r1, [r5, #0x1c] + str r2, [r1, #0xc] + ldrh r1, [r0, #0x6] + mov r0, #0x1 + lsl r0, r0, #0x8 + cmp r1, r0 + bne _020489DA + add r0, r6, #0x0 + bl FUN_02034DD0 add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_0205532C - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0x64 - strh r0, [r1, #0x0] - bl FUN_02031190 + add r0, r6, #0x0 + bl FUN_02034DC4 + add r2, r0, #0x0 + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldmia r2!, {r0-r1} + stmia r4!, {r0-r1} + ldr r0, [r2, #0x0] + str r0, [r4, #0x0] +_020489DA: + pop {r4-r6, pc} + + thumb_func_start FUN_020489DC +FUN_020489DC: ; 0x020489DC + push {r4, lr} add r4, r0, #0x0 - ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r4, #0x6c] + cmp r0, #0x5 + blt _020489EA + bl FUN_02020C2C +_020489EA: + ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_020552F8 - ldr r1, _0204D03C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0x66 - strb r0, [r1, #0x0] + lsl r0, r0, #0x10 + lsr r1, r0, #0x1c + ldr r0, _020489F8 ; =0x021C4918 + strb r1, [r0, #0x5] pop {r4, pc} - nop -_0204D03C: .word 0x021C5A68 + .balign 4 +_020489F8: .word 0x021C4918 - thumb_func_start FUN_0204D040 -FUN_0204D040: ; 0x0204D040 + thumb_func_start FUN_020489FC +FUN_020489FC: ; 0x020489FC push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, [r5, #0x1c] + add r4, r1, #0x0 + ldr r7, [r0, #0x0] + ldr r0, [r5, #0xc] + bl FUN_02034E30 + str r0, [sp, #0x4] + add r0, r5, #0x0 + bl FUN_0204AB44 + add r0, r5, #0x0 + bl FUN_02039564 + cmp r4, #0x0 + bne _02048A28 + add r0, r5, #0x0 + bl FUN_020636DC + b _02048A2E +_02048A28: + add r0, r5, #0x0 + bl FUN_02063684 +_02048A2E: + ldr r0, [r5, #0xc] + bl FUN_020462AC + bl FUN_0205F408 + cmp r4, #0x0 + bne _02048A42 + add r0, r5, #0x0 + bl FUN_0204B0F8 +_02048A42: + cmp r4, #0x0 + bne _02048A50 + ldr r0, [r5, #0xc] + bl FUN_02024ED8 + bl FUN_02025484 +_02048A50: + ldr r0, [r5, #0xc] + bl FUN_020462AC str r0, [sp, #0x0] - ldr r0, _0204D110 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204D114 ; =0x000002BF - strb r2, [r1, r0] - bl FUN_02031190 - ldr r2, _0204D110 ; =0x021C5A68 - add r1, r0, #0x0 - ldr r4, [r2, #0x0] - lsl r6, r1, #0x2 - ldr r0, [r4, #0x54] - ldr r3, [r0, #0x38] - add r0, r4, r6 - str r3, [r0, #0x8] - ldr r0, [r2, #0x0] - mov r3, #0x1 - add r0, r0, r1 - add r0, #0x48 - strb r3, [r0, #0x0] + add r0, r5, #0x0 + add r1, r7, #0x0 + bl FUN_02034FE4 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + cmp r6, #0xe + bne _02048A72 ldr r0, [sp, #0x0] - ldr r3, [r2, #0x0] - lsl r5, r0, #0x3 - add r0, r3, r5 - add r0, #0xa2 - lsl r4, r1, #0x3 - add r3, r3, r4 - ldrh r0, [r0, #0x0] - add r3, #0xa2 - strh r0, [r3, #0x0] - ldr r3, [r2, #0x0] - add r0, r3, r5 - add r0, #0xa4 - add r3, r3, r4 - ldrh r0, [r0, #0x0] - add r3, #0xa4 - strh r0, [r3, #0x0] - ldr r7, [r2, #0x0] - mov r0, #0xa6 - add r3, r7, r5 - ldrsb r0, [r3, r0] - add r3, r7, r4 - add r3, #0xa6 - strb r0, [r3, #0x0] - ldr r3, [r2, #0x0] - mov r7, #0x29 - add r0, r3, r5 - add r0, #0x62 - add r3, r3, r4 - ldrh r0, [r0, #0x0] - add r3, #0x62 - lsl r7, r7, #0x4 - strh r0, [r3, #0x0] - ldr r3, [r2, #0x0] - add r0, r3, r5 - add r0, #0x64 - add r3, r3, r4 - ldrh r0, [r0, #0x0] - add r3, #0x64 - strh r0, [r3, #0x0] - ldr r0, [r2, #0x0] - mov r3, #0x66 - add r5, r0, r5 - add r0, r0, r4 - ldrsb r5, [r5, r3] - add r0, #0x66 - strb r5, [r0, #0x0] + bl FUN_0205F2C4 + cmp r0, #0x1 + beq _02048A80 +_02048A72: + cmp r6, #0x10 + bne _02048A82 ldr r0, [sp, #0x0] - ldr r4, [r2, #0x0] - lsl r5, r0, #0x2 - add r0, r4, r5 - ldr r0, [r0, r7] - add r4, r4, r6 - str r0, [r4, r7] - ldr r0, [r2, #0x0] - mov r4, #0x0 - add r0, r0, r5 - str r4, [r0, r7] - ldr r2, [r2, #0x0] - add r0, r2, r6 - ldr r0, [r0, r7] - cmp r0, #0x0 - beq _0204D0F8 - add r3, #0xe4 - add r3, r2, r3 - mov r2, #0x22 - mul r2, r1 - add r1, r3, r2 - bl FUN_0202393C -_0204D0F8: - ldr r1, _0204D110 ; =0x021C5A68 - mov r0, #0xff - ldr r3, [r1, #0x0] - ldr r1, [sp, #0x0] - mov r2, #0x22 - mul r2, r1 + bl FUN_0205F294 + cmp r0, #0x1 + bne _02048A82 +_02048A80: + mov r6, #0x0 +_02048A82: + ldr r0, [sp, #0x4] + add r1, r6, #0x0 + bl FUN_02034DF4 + cmp r4, #0x0 + beq _02048AA6 + ldr r0, [sp, #0x4] + bl FUN_02034E10 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0203484C + cmp r6, r0 + beq _02048AB4 + bl FUN_02020C2C + b _02048AB4 +_02048AA6: + add r0, r7, #0x0 + bl FUN_0203484C add r1, r0, #0x0 - add r2, r3, r2 - add r1, #0x6b - strh r0, [r2, r1] + ldr r0, [sp, #0x4] + bl FUN_02034E18 +_02048AB4: + cmp r4, #0x0 + bne _02048ACA + add r0, r7, #0x0 + bl FUN_02034EF8 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + beq _02048ACA + ldr r0, [sp, #0x4] + bl FUN_02034E04 +_02048ACA: + add r0, r5, #0x0 + mov r1, #0x2 + bl FUN_0203989C + add r0, r5, #0x0 + mov r1, #0x0 + add r0, #0x74 + strh r1, [r0, #0x0] + add r5, #0x76 + strh r1, [r5, #0x0] + add sp, #0x8 pop {r3-r7, pc} - nop -_0204D110: .word 0x021C5A68 -_0204D114: .word 0x000002BF + .balign 4 - thumb_func_start FUN_0204D118 -FUN_0204D118: ; 0x0204D118 - push {r4-r6, lr} - sub sp, #0x8 + thumb_func_start FUN_02048AE4 +FUN_02048AE4: ; 0x02048AE4 + push {r4-r5, lr} + sub sp, #0xc add r5, r0, #0x0 - ldr r0, _0204D160 ; =0x021C5A68 - add r4, r1, #0x0 - ldr r0, [r0, #0x0] - add r6, r2, #0x0 - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_020552F8 - add r1, sp, #0x0 - strb r4, [r1, #0x0] - asr r2, r4, #0x8 - strb r2, [r1, #0x1] - asr r2, r6, #0x8 - strb r6, [r1, #0x2] - strb r2, [r1, #0x3] - strb r0, [r1, #0x4] - cmp r5, #0x0 - beq _0204D14A - ldrb r2, [r1, #0x4] - mov r0, #0x80 - orr r0, r2 - strb r0, [r1, #0x4] -_0204D14A: - mov r0, #0x16 - add r1, sp, #0x0 - bl FUN_020311D0 - ldr r0, _0204D160 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204D164 ; =0x000002BB - strb r2, [r1, r0] - add sp, #0x8 - pop {r4-r6, pc} + mov r1, #0x40 + mov r2, #0x5 + bl FUN_02057380 + str r0, [r5, #0x34] + ldr r0, [r5, #0xc] + bl FUN_020238F4 + bl FUN_020239CC + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034E20 + ldr r3, [r5, #0x1c] + ldr r1, [r0, #0x4] + str r1, [sp, #0x0] + str r4, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x34] + ldr r1, [r3, #0x8] + ldr r2, [r3, #0xc] + ldr r3, [r3, #0x10] + bl FUN_02055068 + str r0, [r5, #0x38] + add r0, r5, #0x0 + bl FUN_02034AC8 + ldr r0, [r5, #0x34] + bl FUN_02058768 + add sp, #0xc + pop {r4-r5, pc} .balign 4 -_0204D160: .word 0x021C5A68 -_0204D164: .word 0x000002BB - thumb_func_start FUN_0204D168 -FUN_0204D168: ; 0x0204D168 + thumb_func_start FUN_02048B34 +FUN_02048B34: ; 0x02048B34 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204CC48 + ldr r0, [r4, #0x38] + bl FUN_02055160 + ldr r0, [r4, #0x34] + bl FUN_0205771C + ldr r0, [r4, #0x34] + bl FUN_020573AC + pop {r4, pc} + + thumb_func_start FUN_02048B50 +FUN_02048B50: ; 0x02048B50 push {r3-r5, lr} add r5, r0, #0x0 - ldr r0, _0204D194 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055320 + mov r1, #0x40 + mov r2, #0x5 + bl FUN_02057380 + str r0, [r5, #0x34] + add r0, r5, #0x0 + bl FUN_02034E60 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034E20 add r4, r0, #0x0 - ldr r0, _0204D194 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_0205532C + ldr r0, [r5, #0xc] + bl FUN_020238F4 + bl FUN_020239CC add r2, r0, #0x0 - add r0, r5, #0x0 + ldr r0, [r5, #0x34] add r1, r4, #0x0 - bl FUN_0204D118 + bl FUN_020550A4 + str r0, [r5, #0x38] + ldr r0, [r5, #0x34] + bl FUN_02058768 pop {r3-r5, pc} - nop -_0204D194: .word 0x021C5A68 + .balign 4 - thumb_func_start FUN_0204D198 -FUN_0204D198: ; 0x0204D198 - push {r3-r5, lr} - add r5, r0, #0x0 - bl FUN_02031190 - ldr r1, _0204D1C8 ; =0x021C5A68 + thumb_func_start FUN_02048B90 +FUN_02048B90: ; 0x02048B90 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_02048904 + ldr r0, [r4, #0x58] + cmp r0, #0x0 + beq _02048BA2 + bl FUN_02020C2C +_02048BA2: + ldr r0, [r4, #0x1c] + ldr r1, [r4, #0x28] + ldr r0, [r0, #0x0] + bl FUN_020344AC + ldr r0, [r4, #0xc] + bl FUN_020462AC + mov r1, #0x3 + bl FUN_0205F524 + cmp r0, #0x0 + beq _02048BC2 + ldr r0, [r4, #0x28] + bl FUN_020346CC +_02048BC2: + ldr r0, [r4, #0xc] + bl FUN_020462AC + mov r1, #0x2 + bl FUN_0205F524 + cmp r0, #0x0 + bne _02048BD8 + ldr r0, [r4, #0x28] + bl FUN_02034678 +_02048BD8: + ldr r0, [r4, #0x6c] + cmp r0, #0x5 + blt _02048BE2 + bl FUN_02020C2C +_02048BE2: + ldr r0, [r4, #0x6c] + ldr r1, _02048C28 ; =0x020F46E0 lsl r0, r0, #0x3 - ldr r1, [r1, #0x0] add r0, r1, r0 - add r0, #0x62 - ldrh r4, [r0, #0x0] - bl FUN_02031190 - ldr r1, _0204D1C8 ; =0x021C5A68 - lsl r0, r0, #0x3 + str r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + str r0, [r4, #0x5c] + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + str r0, [r4, #0x18] + ldr r1, [r4, #0x70] + add r0, r4, #0x0 ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0x64 - ldrh r2, [r0, #0x0] - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_0204D118 - pop {r3-r5, pc} + add r0, #0x58 + lsl r1, r1, #0x14 + lsr r1, r1, #0x1c + bl FUN_0204A690 + ldr r0, [r4, #0x70] + ldr r1, [r0, #0x0] + lsl r0, r1, #0xc + lsr r0, r0, #0x1c + beq _02048C24 + lsr r1, r1, #0x18 + lsl r1, r1, #0x18 + add r0, r4, #0x0 + lsr r1, r1, #0x18 + bl FUN_0204A368 +_02048C24: + pop {r4, pc} nop -_0204D1C8: .word 0x021C5A68 +_02048C28: .word 0x020F46E0 - thumb_func_start FUN_0204D1CC -FUN_0204D1CC: ; 0x0204D1CC - push {r3-r5, lr} - sub sp, #0x8 - ldrh r2, [r1, #0x0] - mov r4, #0xf - lsl r4, r4, #0xc - ldrh r3, [r1, #0x2] - cmp r2, r4 - blo _0204D1DE - sub r2, r4, #0x1 -_0204D1DE: - mov r4, #0xf - lsl r4, r4, #0xc - cmp r3, r4 - blo _0204D1E8 - sub r3, r4, #0x1 -_0204D1E8: - mov r4, #0xf - and r0, r4 - add r4, sp, #0x0 - strb r0, [r4, #0x0] - strb r2, [r4, #0x1] - asr r2, r2, #0x8 - add r5, r2, #0x0 - mov r0, #0x1 - and r5, r0 - asr r2, r3, #0x7 - mov r0, #0x2 - and r0, r2 - add r0, r5, r0 - strb r0, [r4, #0x2] - strb r3, [r4, #0x3] - ldrb r0, [r1, #0x7] + thumb_func_start FUN_02048C2C +FUN_02048C2C: ; 0x02048C2C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x58] cmp r0, #0x0 - beq _0204D214 - ldrb r2, [r4, #0x2] - mov r0, #0x80 - orr r0, r2 - strb r0, [r4, #0x2] -_0204D214: - mov r2, #0x4 - ldrsb r2, [r1, r2] - add r5, sp, #0x0 - ldrb r0, [r5, #0x0] - lsr r4, r2, #0x1f - lsl r3, r2, #0x1e - sub r3, r3, r4 - mov r2, #0x1e - ror r3, r2 - add r2, r4, r3 - lsl r2, r2, #0x4 - add r0, r0, r2 - strb r0, [r5, #0x0] - ldrb r0, [r1, #0x5] - ldrb r2, [r5, #0x0] - add r1, sp, #0x0 - lsl r0, r0, #0x6 - add r0, r2, r0 - strb r0, [r5, #0x0] - mov r0, #0x17 - mov r2, #0x0 - bl FUN_02030BC4 - add sp, #0x8 - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0204D248 -FUN_0204D248: ; 0x0204D248 - push {r3-r5, lr} - ldr r0, _0204D2A8 ; =0x021C5A68 + bne _02048C3A + bl FUN_02020C2C +_02048C3A: + mov r0, #0x0 + str r0, [r4, #0x58] + mov r0, #0x5 + str r0, [r4, #0x18] + ldr r0, [r4, #0x70] ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055370 + lsl r0, r0, #0xc + lsr r0, r0, #0x1c + beq _02048C52 + add r0, r4, #0x0 + bl FUN_0204A390 +_02048C52: + mov r0, #0x0 + str r0, [r4, #0x70] + pop {r4, pc} + + thumb_func_start FUN_02048C58 +FUN_02048C58: ; 0x02048C58 + push {r4, lr} add r4, r0, #0x0 - ldr r0, _0204D2A8 ; =0x021C5A68 + add r0, #0x98 ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055378 - add r5, r0, #0x0 - cmp r4, #0x0 - bne _0204D292 - bl FUN_02031190 - bl FUN_02030E7C cmp r0, #0x0 - beq _0204D292 - ldr r0, _0204D2A8 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D2AC ; =0x000002BA - ldrb r0, [r1, r0] - cmp r0, #0x0 - bne _0204D292 - mov r0, #0x1 - bl FUN_0204D168 - ldr r0, _0204D2A8 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204D2AC ; =0x000002BA - strb r2, [r1, r0] -_0204D292: - cmp r4, #0x1 - bne _0204D2A4 - cmp r5, #0x1 - bne _0204D2A4 - ldr r0, _0204D2A8 ; =0x021C5A68 + beq _02048C7E + ldr r0, [r4, #0x1c] + mov r1, #0xb + ldr r0, [r0, #0x0] + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02028FA4 + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204D2AC ; =0x000002BA - strb r2, [r1, r0] -_0204D2A4: - pop {r3-r5, pc} - nop -_0204D2A8: .word 0x021C5A68 -_0204D2AC: .word 0x000002BA + bl FUN_02028AD4 +_02048C7E: + pop {r4, pc} - thumb_func_start FUN_0204D2B0 -FUN_0204D2B0: ; 0x0204D2B0 - push {r3-r7, lr} - mov r4, #0x0 - ldr r7, _0204D2FC ; =0x021C5A68 - add r5, r4, #0x0 - add r6, r4, #0x0 -_0204D2BA: - ldr r0, [r7, #0x0] - add r2, r0, r4 - add r1, r2, #0x0 - add r1, #0x48 - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204D2E8 - ldr r3, _0204D300 ; =0x00000132 - add r1, r0, #0x0 - ldrb r3, [r2, r3] - add r1, #0x62 - cmp r3, #0x0 - bne _0204D2DC - ldr r3, _0204D304 ; =0x000002BB - ldrb r0, [r0, r3] + thumb_func_start FUN_02048C80 +FUN_02048C80: ; 0x02048C80 + push {r4, lr} + add r4, r0, #0x0 + add r0, #0x98 + ldr r0, [r0, #0x0] cmp r0, #0x0 - beq _0204D2E8 -_0204D2DC: - ldr r0, _0204D300 ; =0x00000132 - add r1, r1, r5 - strb r6, [r2, r0] - add r0, r4, #0x0 - bl FUN_0204D1CC -_0204D2E8: - add r4, r4, #0x1 - add r5, #0x8 - cmp r4, #0x8 - blt _0204D2BA - ldr r0, _0204D2FC ; =0x021C5A68 + beq _02048CAE + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + ldr r0, [r0, #0x0] + mov r1, #0xb + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02028FA4 + add r4, #0x98 + add r1, r0, #0x0 + ldr r0, [r4, #0x0] mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204D304 ; =0x000002BB - strb r2, [r1, r0] - pop {r3-r7, pc} - .balign 4 -_0204D2FC: .word 0x021C5A68 -_0204D300: .word 0x00000132 -_0204D304: .word 0x000002BB + bl FUN_02028AD4 +_02048CAE: + pop {r4, pc} - thumb_func_start FUN_0204D308 -FUN_0204D308: ; 0x0204D308 - ldr r0, _0204D31C ; =0x021C5A68 - ldr r2, [r0, #0x0] - cmp r2, #0x0 - beq _0204D318 - mov r0, #0xae + thumb_func_start FUN_02048CB0 +FUN_02048CB0: ; 0x02048CB0 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_0205532C + add r6, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_02055320 + ldr r1, [r4, #0x1c] + ldr r1, [r1, #0x0] + str r1, [r5, #0x0] mov r1, #0x0 - lsl r0, r0, #0x2 - strb r1, [r2, r0] -_0204D318: - bx lr - nop -_0204D31C: .word 0x021C5A68 + mvn r1, r1 + str r1, [r5, #0x4] + str r0, [r5, #0x8] + str r6, [r5, #0xc] + mov r0, #0x1 + str r0, [r5, #0x10] + pop {r4-r6, pc} + .balign 4 - thumb_func_start FUN_0204D320 -FUN_0204D320: ; 0x0204D320 - mov r0, #0xb1 - lsl r0, r0, #0x2 - bx lr + thumb_func_start FUN_02048CDC +FUN_02048CDC: ; 0x02048CDC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_020349E4 + cmp r0, #0x0 + beq _02048CFE + ldr r1, [r4, #0x1c] + ldr r0, [r1, #0x8] + cmp r0, #0x7 + bne _02048CFE + ldr r0, [r1, #0xc] + cmp r0, #0x6 + bne _02048CFE + mov r0, #0x1 + pop {r4, pc} +_02048CFE: + mov r0, #0x0 + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204D328 -FUN_0204D328: ; 0x0204D328 - push {r3-r7, lr} - sub sp, #0x10 - ldr r1, _0204D430 ; =0x021C5A68 + thumb_func_start FUN_02048D04 +FUN_02048D04: ; 0x02048D04 + push {r3-r5, lr} add r5, r0, #0x0 - ldr r2, [r1, #0x0] - lsl r6, r5, #0x2 - add r1, r2, r6 - ldr r1, [r1, #0x8] - cmp r1, #0x0 - bne _0204D42A - ldr r1, _0204D434 ; =0x000002BD - ldrb r1, [r2, r1] - cmp r1, #0x0 - bne _0204D42A - bl FUN_0202DFA4 - str r0, [sp, #0xc] - cmp r0, #0x0 - beq _0204D42A - ldr r0, _0204D430 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D438 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - bne _0204D37C - bl FUN_02031190 - cmp r5, r0 - beq _0204D37C - ldr r0, _0204D430 ; =0x021C5A68 - mov r1, #0x1 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020462AC + ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] - lsl r1, r1, #0x8 - ldr r0, [r0, #0x54] - add r1, r5, r1 - ldr r0, [r0, #0x34] - bl FUN_02058060 + str r0, [r4, #0x0] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0x4] + mov r0, #0x8 + str r0, [r4, #0x8] + mov r0, #0x2 + str r0, [r4, #0xc] + mov r0, #0x1 + str r0, [r4, #0x10] + pop {r3-r5, pc} + + thumb_func_start FUN_02048D34 +FUN_02048D34: ; 0x02048D34 + push {r4-r6, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204D37C - bl FUN_02057654 -_0204D37C: - ldr r0, _0204D430 ; =0x021C5A68 - lsl r4, r5, #0x3 - ldr r7, [r0, #0x0] - ldr r0, [sp, #0xc] - bl FUN_020239CC + beq _02048D56 + cmp r0, #0x1 + beq _02048D7A + cmp r0, #0x2 + beq _02048D88 + b _02048D8C +_02048D56: + ldr r1, [r5, #0x1c] + add r0, r5, #0x0 + bl FUN_02048958 + add r0, r5, #0x0 + bl FUN_02048B90 + add r0, r5, #0x0 mov r1, #0x0 - str r1, [sp, #0x0] - str r0, [sp, #0x4] - str r1, [sp, #0x8] - ldr r0, [r7, #0x54] - add r7, r7, r4 - add r1, r7, #0x0 - add r2, r7, #0x0 - add r1, #0xa2 - add r2, #0xa4 - mov r3, #0xa6 - ldrh r1, [r1, #0x0] - ldrh r2, [r2, #0x0] - ldrsb r3, [r7, r3] - ldr r0, [r0, #0x34] - bl FUN_02055068 - add r7, r0, #0x0 - bne _0204D3B2 - bl FUN_02020C2C -_0204D3B2: - ldr r0, _0204D430 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r6 - str r7, [r0, #0x8] - add r0, r7, #0x0 - bl FUN_020553A0 - mov r1, #0x1 - lsl r1, r1, #0x8 - add r1, r5, r1 - bl FUN_02058444 - ldr r0, _0204D430 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D438 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204D3DC + bl FUN_020489FC add r0, r5, #0x0 - bl FUN_0223E4D4 -_0204D3DC: - ldr r0, _0204D430 ; =0x021C5A68 - ldr r1, _0204D438 ; =0x000002BE - ldr r3, [r0, #0x0] - ldrb r2, [r3, r1] - cmp r2, #0x0 - beq _0204D41E - add r0, r3, r5 - add r0, #0x48 - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204D41E - sub r0, r1, #0x1 - ldrb r0, [r3, r0] - cmp r0, #0x0 - bne _0204D40E - add r1, r3, r4 - ldr r0, [r3, #0x54] - add r3, r3, r4 - add r1, #0xa2 - add r3, #0xa4 - ldrh r1, [r1, #0x0] - ldrh r3, [r3, #0x0] + bl FUN_02048AE4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048D8C +_02048D7A: + add r0, r6, #0x0 + bl FUN_0204B0E8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02048D8C +_02048D88: + mov r0, #0x1 + pop {r4-r6, pc} +_02048D8C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_02048D90 +FUN_02048D90: ; 0x02048D90 + push {r4, lr} + add r4, r0, #0x0 + mov r1, #0x0 + str r1, [r4, #0x6c] + bl FUN_02039874 + ldr r1, _02048DA8 ; =FUN_02048D34 + add r0, r4, #0x0 mov r2, #0x0 - bl FUN_021E5B30 -_0204D40E: - ldr r0, _0204D430 ; =0x021C5A68 - mov r1, #0x1 - ldr r0, [r0, #0x0] - add sp, #0x10 - add r0, r0, r5 - add r0, #0x48 - strb r1, [r0, #0x0] - pop {r3-r7, pc} -_0204D41E: - cmp r2, #0x0 - bne _0204D42A - add r0, r3, r5 - mov r1, #0x1 - add r0, #0x48 - strb r1, [r0, #0x0] -_0204D42A: - add sp, #0x10 - pop {r3-r7, pc} - nop -_0204D430: .word 0x021C5A68 -_0204D434: .word 0x000002BD -_0204D438: .word 0x000002BE + bl FUN_020463CC + pop {r4, pc} + .balign 4 +_02048DA8: .word FUN_02048D34 + 1 - thumb_func_start FUN_0204D43C -FUN_0204D43C: ; 0x0204D43C + thumb_func_start FUN_02048DAC +FUN_02048DAC: ; 0x02048DAC push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_02046530 add r5, r0, #0x0 - ldr r0, _0204D4CC ; =0x021C5A68 - add r6, r1, #0x0 - ldr r0, [r0, #0x0] - add r7, r2, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x4 + bhi _02048EC2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02048DD8: ; jump table (using 16-bit offset) + .short _02048DE2 - _02048DD8 - 2; case 0 + .short _02048E10 - _02048DD8 - 2; case 1 + .short _02048EA4 - _02048DD8 - 2; case 2 + .short _02048EB0 - _02048DD8 - 2; case 3 + .short _02048EB4 - _02048DD8 - 2; case 4 +_02048DE2: + ldr r0, [r4, #0xc] + bl FUN_02025B94 + add r0, r6, #0x0 + mov r1, #0x2 + bl FUN_0205F2D4 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020289A4 + add r1, r7, #0x0 + bl FUN_02028A20 cmp r0, #0x0 - beq _0204D4C8 - add r0, #0x5a + beq _02048E10 + add r0, r4, #0x0 mov r1, #0x0 - mov r2, #0x8 - blx FUN_020CE34C - add r0, r5, #0x0 - bl FUN_0204CD78 - ldr r0, _0204D4CC ; =0x021C5A68 - lsl r4, r5, #0x2 - ldr r1, [r0, #0x0] - add r0, r1, r4 - ldr r0, [r0, #0x8] + bl FUN_02037944 + mov r0, #0x4 + str r0, [r5, #0x0] + b _02048EC2 +_02048E10: + add r0, r6, #0x0 + mov r1, #0x2 + bl FUN_0205F2D4 + add r7, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020289A4 + add r1, r7, #0x0 + bl FUN_020289B0 + add r1, r4, #0x0 + add r1, #0x98 + str r0, [r1, #0x0] + add r0, r6, #0x0 + bl FUN_0205F174 cmp r0, #0x0 - beq _0204D492 - ldr r2, [r1, #0x54] - ldr r2, [r2, #0x38] - cmp r2, r0 - beq _0204D488 - ldr r2, _0204D4D0 ; =0x000002BE - ldrb r1, [r1, r2] - cmp r1, #0x0 - bne _0204D47E - cmp r7, #0x0 - beq _0204D484 -_0204D47E: - bl FUN_02055168 - b _0204D488 -_0204D484: - bl FUN_02055160 -_0204D488: - ldr r0, _0204D4CC ; =0x021C5A68 + beq _02048E78 + ldr r0, [r4, #0xc] + bl FUN_02034E30 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02048CDC + cmp r0, #0x0 + beq _02048E4E + add r0, r4, #0x0 + bl FUN_02048D04 +_02048E4E: + add r0, r6, #0x0 + bl FUN_0205F164 + add r0, r7, #0x0 + bl FUN_02034DD0 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02048958 + add r0, r4, #0x0 + bl FUN_02048B90 + add r0, r4, #0x0 mov r1, #0x0 - ldr r0, [r0, #0x0] - add r0, r0, r4 - str r1, [r0, #0x8] -_0204D492: - ldr r0, _0204D4CC ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r1, #0x48 - ldrb r0, [r1, r5] + bl FUN_020489FC + add r0, r4, #0x0 + bl FUN_02048AE4 + b _02048E92 +_02048E78: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02048958 + add r0, r4, #0x0 + bl FUN_02048B90 + add r0, r4, #0x0 + bl FUN_0204B0F8 + add r0, r4, #0x0 + bl FUN_02048B50 +_02048E92: + add r0, r4, #0x0 + bl FUN_02048C58 + add r0, r4, #0x0 + bl FUN_02063808 + mov r0, #0x2 + str r0, [r5, #0x0] + b _02048EC2 +_02048EA4: + add r0, r7, #0x0 + bl FUN_0204B0E8 + mov r0, #0x3 + str r0, [r5, #0x0] + b _02048EC2 +_02048EB0: + mov r0, #0x1 + pop {r3-r7, pc} +_02048EB4: + add r0, r4, #0x0 + bl FUN_0204647C cmp r0, #0x0 - beq _0204D4A6 - cmp r6, #0x0 - bne _0204D4A6 + bne _02048EC2 + mov r0, #0x1 + str r0, [r5, #0x0] +_02048EC2: mov r0, #0x0 - strb r0, [r1, r5] -_0204D4A6: - ldr r0, _0204D4CC ; =0x021C5A68 - mov r2, #0x1 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204D4D4 ; =0x00000132 - cmp r6, #0x0 - strb r2, [r1, r0] - bne _0204D4C8 - add r0, r5, #0x0 - bl FUN_0204ED9C - ldr r0, _0204D4CC ; =0x021C5A68 - mov r1, #0x0 - ldr r0, [r0, #0x0] - add r0, r0, r5 - add r0, #0xfa - strb r1, [r0, #0x0] -_0204D4C8: pop {r3-r7, pc} - nop -_0204D4CC: .word 0x021C5A68 -_0204D4D0: .word 0x000002BE -_0204D4D4: .word 0x00000132 + .balign 4 - thumb_func_start FUN_0204D4D8 -FUN_0204D4D8: ; 0x0204D4D8 - ldr r1, _0204D4E8 ; =0x021C48B8 - mov r0, #0x2 - ldr r1, [r1, #0x44] - tst r1, r0 - beq _0204D4E4 - mov r0, #0x1 -_0204D4E4: - ldr r3, _0204D4EC ; =FUN_02030F60 + thumb_func_start FUN_02048EC8 +FUN_02048EC8: ; 0x02048EC8 + ldr r3, _02048ED4 ; =FUN_020463CC + mov r2, #0x0 + str r2, [r0, #0x6c] + ldr r1, _02048ED8 ; =FUN_02048DAC bx r3 - .balign 4 -_0204D4E8: .word 0x021C48B8 -_0204D4EC: .word FUN_02030F60 + 1 + nop +_02048ED4: .word FUN_020463CC + 1 +_02048ED8: .word FUN_02048DAC + 1 - thumb_func_start FUN_0204D4F0 -FUN_0204D4F0: ; 0x0204D4F0 - push {r4-r6, lr} - add r4, r1, #0x0 - bl FUN_02030F40 - cmp r0, #0x0 - beq _0204D530 - bl FUN_0204D4D8 - bl FUN_02031190 - cmp r0, #0x0 - bne _0204D524 + thumb_func_start FUN_02048EDC +FUN_02048EDC: ; 0x02048EDC + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020462AC + str r0, [sp, #0x0] + add r0, r7, #0x0 + bl FUN_02046530 + add r5, r0, #0x0 + ldr r0, [r5, #0x0] + cmp r0, #0x5 + bhi _02048FC4 + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02048F10: ; jump table (using 16-bit offset) + .short _02048F1C - _02048F10 - 2; case 0 + .short _02048F54 - _02048F10 - 2; case 1 + .short _02048F7E - _02048F10 - 2; case 2 + .short _02048F9A - _02048F10 - 2; case 3 + .short _02048FAE - _02048F10 - 2; case 4 + .short _02048FBA - _02048F10 - 2; case 5 +_02048F1C: + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0200E3A0 + ldr r0, [r4, #0xc] + bl FUN_02025B94 + ldr r0, [sp, #0x0] + mov r1, #0x2 + bl FUN_0205F2D4 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_020289A4 + add r1, r6, #0x0 + bl FUN_020289B0 + add r4, #0x98 + str r0, [r4, #0x0] + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048F54: add r0, r4, #0x0 - bl FUN_0204D2B0 + add r1, r6, #0x4 + bl FUN_02048958 add r0, r4, #0x0 - bl FUN_0204D248 - ldr r0, _0204D560 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - cmp r0, #0x0 - beq _0204D52A - bl FUN_02244D58 - b _0204D52A -_0204D524: + bl FUN_02048B90 add r0, r4, #0x0 - bl FUN_0204D248 -_0204D52A: + mov r1, #0x0 + bl FUN_020489FC add r0, r4, #0x0 - bl FUN_0204D568 -_0204D530: - ldr r4, _0204D560 ; =0x021C5A68 - ldr r6, _0204D564 ; =0x000002BE - mov r5, #0x0 -_0204D536: - ldr r0, [r4, #0x0] - ldrb r0, [r0, r6] - cmp r0, #0x0 - beq _0204D556 - bl FUN_02031190 + bl FUN_02048AE4 + add r0, r4, #0x0 + bl FUN_02048C80 + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048F7E: + add r0, r4, #0x0 + bl FUN_020520AC + str r0, [r4, #0x78] + bl FUN_02052EE8 + str r0, [r4, #0x7c] + add r0, r7, #0x0 + bl FUN_0204AF84 + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048F9A: + mov r1, #0x0 + str r1, [r6, #0x0] + add r0, r4, #0x0 + add r2, r6, #0x0 + bl FUN_021E7750 + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048FAE: + ldr r1, [r6, #0x0] + cmp r1, #0x0 + beq _02048FC4 + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _02048FC4 +_02048FBA: + add r0, r6, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_02048FC4: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02048FC8 +FUN_02048FC8: ; 0x02048FC8 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034998 cmp r0, #0x0 - bne _0204D556 - add r0, r5, #0x0 - bl FUN_0202DFA4 + bne _02049000 + add r0, r4, #0x0 + bl FUN_02048CDC cmp r0, #0x0 - bne _0204D556 + beq _02048FF8 + ldr r0, [r4, #0xc] + bl FUN_020462AC + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02048D04 add r0, r5, #0x0 - bl FUN_02245358 -_0204D556: - add r5, r5, #0x1 - cmp r5, #0x8 - blt _0204D536 - pop {r4-r6, pc} + bl FUN_0205F154 + b _02049000 +_02048FF8: + add r0, r4, #0x0 + bl FUN_02048EC8 + pop {r3-r5, pc} +_02049000: + mov r0, #0xb + mov r1, #0x18 + bl FUN_020169D8 + add r2, r0, #0x0 + mov r1, #0x0 + ldr r0, _02049030 ; =0x000001D2 + str r1, [r2, #0x0] + str r0, [r2, #0x4] + sub r0, r1, #0x1 + str r0, [r2, #0x8] + mov r0, #0x8 + str r0, [r2, #0xc] + mov r0, #0xe + str r0, [r2, #0x10] + str r1, [r2, #0x14] + mov r0, #0x2 + str r0, [r4, #0x6c] + ldr r1, _02049034 ; =FUN_02048EDC + add r0, r4, #0x0 + bl FUN_020463CC + pop {r3-r5, pc} nop -_0204D560: .word 0x021C5A68 -_0204D564: .word 0x000002BE +_02049030: .word 0x000001D2 +_02049034: .word FUN_02048EDC + 1 - thumb_func_start FUN_0204D568 -FUN_0204D568: ; 0x0204D568 - push {r3-r7, lr} - ldr r4, _0204D608 ; =0x021C5A68 - ldr r7, _0204D60C ; =0x000002BE - mov r5, #0x0 - add r6, sp, #0x0 -_0204D572: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0x0 - bne _0204D5A0 - bl FUN_02031280 - cmp r0, #0x0 - beq _0204D58A - cmp r5, #0x0 - beq _0204D5A0 -_0204D58A: - bl FUN_02031190 - cmp r0, #0x0 - bne _0204D5A0 - ldr r0, [r4, #0x0] - ldrb r0, [r0, r7] - cmp r0, #0x0 - beq _0204D5A0 + thumb_func_start FUN_02049038 +FUN_02049038: ; 0x02049038 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 add r0, r5, #0x0 - bl FUN_02247614 -_0204D5A0: - lsl r0, r5, #0x10 - lsr r0, r0, #0x10 - bl FUN_02030E7C - cmp r0, #0x0 - bne _0204D5B8 - bl FUN_02031280 - cmp r0, #0x0 - beq _0204D5C6 - cmp r5, #0x0 - bne _0204D5C6 -_0204D5B8: + bl FUN_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _020490B6 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0204905C: ; jump table (using 16-bit offset) + .short _02049064 - _0204905C - 2; case 0 + .short _02049080 - _0204905C - 2; case 1 + .short _02049090 - _0204905C - 2; case 2 + .short _020490AE - _0204905C - 2; case 3 +_02049064: + ldr r0, _020490BC ; =0x00000603 + bl FUN_020054C8 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD60 add r0, r5, #0x0 - bl FUN_0204DE30 + bl FUN_0204B090 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020490B6 +_02049080: add r0, r5, #0x0 - bl FUN_0204EFCC - b _0204D600 -_0204D5C6: + add r1, r4, #0x4 + bl FUN_02049160 ldr r0, [r4, #0x0] - add r0, r0, r5 - add r0, #0x48 - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - beq _0204D600 - bl FUN_02031190 - cmp r0, #0x0 - bne _0204D5F0 - ldr r1, [r4, #0x0] - ldr r0, _0204D60C ; =0x000002BE - ldrb r0, [r1, r0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020490B6 +_02049090: + bl FUN_02005404 cmp r0, #0x0 - beq _0204D5F0 - add r0, r5, #0x0 - bl FUN_0223EB8C + bne _020490B6 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD8C add r0, r5, #0x0 - bl FUN_0223CB08 -_0204D5F0: - strb r5, [r6, #0x0] - ldr r3, [r4, #0x0] + bl FUN_0204B0E8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020490B6 +_020490AE: + bl FUN_02016A18 + mov r0, #0x1 + pop {r4-r6, pc} +_020490B6: mov r0, #0x0 - ldr r3, [r3, #0x54] - mov r1, #0x1 - add r2, sp, #0x0 - bl FUN_0204DBCC -_0204D600: - add r5, r5, #0x1 - cmp r5, #0x8 - blt _0204D572 - pop {r3-r7, pc} - .balign 4 -_0204D608: .word 0x021C5A68 -_0204D60C: .word 0x000002BE + pop {r4-r6, pc} + nop +_020490BC: .word 0x00000603 - thumb_func_start FUN_0204D610 -FUN_0204D610: ; 0x0204D610 - ldr r0, _0204D624 ; =0x021C5A68 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0204D620 - mov r0, #0xaf - lsl r0, r0, #0x2 - ldrb r0, [r1, r0] - bx lr -_0204D620: + thumb_func_start FUN_020490C0 +FUN_020490C0: ; 0x020490C0 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl FUN_020169D8 + add r2, r0, #0x0 mov r0, #0x0 - bx lr - .balign 4 -_0204D624: .word 0x021C5A68 - - thumb_func_start FUN_0204D628 -FUN_0204D628: ; 0x0204D628 - push {r3, lr} - ldr r1, _0204D650 ; =0x021C5A68 - ldr r3, [r1, #0x0] - cmp r3, #0x0 - beq _0204D64E - mov r1, #0xaf - lsl r1, r1, #0x2 - ldrb r2, [r3, r1] - cmp r2, r0 - beq _0204D63E - strb r0, [r3, r1] -_0204D63E: - ldr r1, _0204D650 ; =0x021C5A68 - mov r0, #0x3e - ldr r2, [r1, #0x0] - mov r1, #0xaf - lsl r1, r1, #0x2 - add r1, r2, r1 - bl FUN_020311D0 -_0204D64E: - pop {r3, pc} + str r0, [r2, #0x0] + ldmia r4!, {r0-r1} + add r3, r2, #0x4 + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + ldr r1, _020490EC ; =FUN_02049038 + str r0, [r3, #0x0] + add r0, r5, #0x0 + bl FUN_0204640C + pop {r3-r5, pc} .balign 4 -_0204D650: .word 0x021C5A68 - - thumb_func_start FUN_0204D654 -FUN_0204D654: ; 0x0204D654 - push {r4, lr} - ldr r2, _0204D678 ; =0x021C5A68 - ldr r4, [r2, #0x0] - cmp r4, #0x0 - beq _0204D674 - mov r1, #0xaf - lsl r1, r1, #0x2 - ldrb r3, [r4, r1] - cmp r3, r0 - beq _0204D674 - strb r0, [r4, r1] - ldr r2, [r2, #0x0] - mov r0, #0x3e - add r1, r2, r1 - bl FUN_020311D0 -_0204D674: - pop {r4, pc} - nop -_0204D678: .word 0x021C5A68 +_020490EC: .word FUN_02049038 + 1 - thumb_func_start FUN_0204D67C -FUN_0204D67C: ; 0x0204D67C + thumb_func_start FUN_020490F0 +FUN_020490F0: ; 0x020490F0 push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02046528 add r5, r0, #0x0 - ldr r0, _0204D6BC ; =0x021C5A68 - add r4, r2, #0x0 - ldr r0, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204D6B8 - cmp r1, #0x1 - beq _0204D692 - bl FUN_02020C2C -_0204D692: - cmp r5, #0x8 - blt _0204D69A - bl FUN_02020C2C -_0204D69A: - ldrb r0, [r4, #0x0] - mov r1, #0x1 + beq _02049112 cmp r0, #0x1 - beq _0204D6A8 - cmp r0, #0x0 - beq _0204D6A8 + beq _02049126 + cmp r0, #0x2 + beq _0204914C + b _0204915C +_02049112: + add r0, r5, #0x0 + bl FUN_02048B34 + add r0, r5, #0x0 + bl FUN_02048C2C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204915C +_02049126: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl FUN_02048958 + add r0, r5, #0x0 + bl FUN_02048B90 + add r0, r5, #0x0 mov r1, #0x0 -_0204D6A8: - cmp r1, #0x0 - bne _0204D6B0 - bl FUN_02020C2C -_0204D6B0: - ldrb r1, [r4, #0x0] + bl FUN_020489FC + add r5, #0x90 + ldr r0, [r5, #0x0] + bl FUN_0205DD40 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204915C +_0204914C: add r0, r5, #0x0 - bl FUN_0204EAD8 -_0204D6B8: + bl FUN_02048AE4 + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0204915C: + mov r0, #0x0 pop {r3-r5, pc} - nop -_0204D6BC: .word 0x021C5A68 - thumb_func_start FUN_0204D6C0 -FUN_0204D6C0: ; 0x0204D6C0 - push {r3-r5, lr} - add r5, r0, #0x0 - ldr r0, _0204D734 ; =0x021C5A68 - add r4, r1, #0x0 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0204D732 - ldr r0, _0204D738 ; =0x000002BE - ldrb r0, [r1, r0] + thumb_func_start FUN_02049160 +FUN_02049160: ; 0x02049160 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl FUN_020169D8 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0203739C cmp r0, #0x0 - bne _0204D6E4 - add r0, r4, #0x0 - bl FUN_0204D654 - ldr r0, _0204D734 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D73C ; =0x000002C1 - strb r4, [r1, r0] -_0204D6E4: - ldr r4, [r5, #0x38] - cmp r4, #0x0 - beq _0204D6F8 - bl FUN_02031190 - ldr r1, _0204D734 ; =0x021C5A68 - lsl r0, r0, #0x2 - ldr r1, [r1, #0x0] - add r0, r1, r0 - str r4, [r0, #0x8] -_0204D6F8: - bl FUN_02030F40 - cmp r0, #0x0 - beq _0204D712 - bl FUN_02031190 - cmp r0, #0x0 - bne _0204D712 - ldr r1, _0204D734 ; =0x021C5A68 + beq _02049186 + bl FUN_02020C2C + pop {r3-r7, pc} +_02049186: mov r0, #0x0 - ldr r1, [r1, #0x0] - bl FUN_0204D89C -_0204D712: - bl FUN_02030F40 - cmp r0, #0x0 - beq _0204D732 - bl FUN_02031190 - cmp r0, #0x0 - bne _0204D732 - ldr r0, _0204D734 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D738 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - bne _0204D732 - bl FUN_0204EC28 -_0204D732: - pop {r3-r5, pc} + str r0, [r4, #0x0] + ldmia r5!, {r0-r1} + add r2, r4, #0x4 + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020491A4 ; =FUN_020490F0 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0204640C + pop {r3-r7, pc} .balign 4 -_0204D734: .word 0x021C5A68 -_0204D738: .word 0x000002BE -_0204D73C: .word 0x000002C1 +_020491A4: .word FUN_020490F0 + 1 - thumb_func_start FUN_0204D740 -FUN_0204D740: ; 0x0204D740 - mov r0, #0x20 - tst r0, r1 - beq _0204D74A - mov r0, #0x2 - bx lr -_0204D74A: - mov r0, #0x10 - tst r0, r1 - beq _0204D754 - mov r0, #0x3 - bx lr -_0204D754: - mov r0, #0x40 - tst r0, r1 - beq _0204D75E - mov r0, #0x0 - bx lr -_0204D75E: - mov r0, #0x80 - tst r1, r0 - beq _0204D768 - mov r0, #0x1 - bx lr -_0204D768: - sub r0, #0x81 - bx lr + thumb_func_start FUN_020491A8 +FUN_020491A8: ; 0x020491A8 + push {lr} + sub sp, #0x14 + str r1, [sp, #0x0] + ldr r1, [sp, #0x18] + str r2, [sp, #0x4] + str r1, [sp, #0xc] + ldr r1, [sp, #0x1c] + str r3, [sp, #0x8] + str r1, [sp, #0x10] + add r1, sp, #0x0 + bl FUN_02049160 + add sp, #0x14 + pop {pc} - thumb_func_start FUN_0204D76C -FUN_0204D76C: ; 0x0204D76C + thumb_func_start FUN_020491C4 +FUN_020491C4: ; 0x020491C4 push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, _0204D7AC ; =0x021C5A68 - add r6, r1, #0x0 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_02034B64 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C add r4, r0, #0x0 - ldr r0, _0204D7AC ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_02034B6C - mov r2, #0x0 - cmp r4, #0x0 - ble _0204D7A6 -_0204D78E: - ldrh r1, [r0, #0x18] - cmp r5, r1 - bne _0204D79E - ldrh r1, [r0, #0x1a] - cmp r6, r1 - bne _0204D79E + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _0204923C + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020491E8: ; jump table (using 16-bit offset) + .short _020491F0 - _020491E8 - 2; case 0 + .short _02049206 - _020491E8 - 2; case 1 + .short _02049216 - _020491E8 - 2; case 2 + .short _02049234 - _020491E8 - 2; case 3 +_020491F0: + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD60 + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204923C +_02049206: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204923C +_02049216: + bl FUN_02005404 + cmp r0, #0x0 + bne _0204923C + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD8C + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204923C +_02049234: + bl FUN_02016A18 mov r0, #0x1 pop {r4-r6, pc} -_0204D79E: - add r2, r2, #0x1 - add r0, #0x20 - cmp r2, r4 - blt _0204D78E -_0204D7A6: +_0204923C: mov r0, #0x0 pop {r4-r6, pc} - nop -_0204D7AC: .word 0x021C5A68 - thumb_func_start FUN_0204D7B0 -FUN_0204D7B0: ; 0x0204D7B0 + thumb_func_start FUN_02049240 +FUN_02049240: ; 0x02049240 push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, _0204D824 ; =0x0000FFFF - add r6, r1, #0x0 - add r7, r2, #0x0 - cmp r5, r0 - beq _0204D812 - cmp r6, r0 - beq _0204D812 - mov r4, #0x0 -_0204D7C4: - cmp r4, r7 - beq _0204D7E0 + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x18 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r5, [r2, #0x4] + str r4, [r2, #0x8] + ldr r0, [sp, #0x18] + str r6, [r2, #0xc] + str r0, [r2, #0x10] + ldr r0, [sp, #0x1c] + ldr r1, _02049270 ; =FUN_020491C4 + str r0, [r2, #0x14] + add r0, r7, #0x0 + bl FUN_0204640C + pop {r3-r7, pc} + .balign 4 +_02049270: .word FUN_020491C4 + 1 + + thumb_func_start FUN_02049274 +FUN_02049274: ; 0x02049274 + push {r4-r5, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + str r1, [sp, #0x0] + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + mov r1, #0x20 + str r0, [sp, #0x10] + mov r0, #0xb + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + add r3, r2, #0x0 + add r5, sp, #0x0 + str r0, [r2, #0x4] + ldmia r5!, {r0-r1} + add r3, #0x8 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020492B8 ; =FUN_02049304 + str r0, [r3, #0x0] add r0, r4, #0x0 - bl FUN_0204E544 - cmp r5, r0 - bne _0204D7E0 + bl FUN_020463CC + add sp, #0x14 + pop {r4-r5, pc} + nop +_020492B8: .word FUN_02049304 + 1 + + thumb_func_start FUN_020492BC +FUN_020492BC: ; 0x020492BC + push {r4-r5, lr} + sub sp, #0x14 + add r4, r0, #0x0 + ldr r0, [sp, #0x20] + str r1, [sp, #0x0] + str r0, [sp, #0xc] + ldr r0, [sp, #0x24] + mov r1, #0x20 + str r0, [sp, #0x10] + mov r0, #0xb + str r2, [sp, #0x4] + str r3, [sp, #0x8] + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + add r3, r2, #0x0 + add r5, sp, #0x0 + str r0, [r2, #0x4] + ldmia r5!, {r0-r1} + add r3, #0x8 + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _02049300 ; =FUN_02049304 + str r0, [r3, #0x0] add r0, r4, #0x0 - bl FUN_0204E598 - cmp r6, r0 - bne _0204D7E0 - mov r0, #0x1 - pop {r3-r7, pc} -_0204D7E0: - add r4, r4, #0x1 - cmp r4, #0x8 - blt _0204D7C4 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_0204D76C - cmp r0, #0x0 - beq _0204D7F6 - mov r0, #0x1 - pop {r3-r7, pc} -_0204D7F6: - ldr r0, _0204D828 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204D82C ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204D812 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02246F1C + bl FUN_020463EC + add sp, #0x14 + pop {r4-r5, pc} + nop +_02049300: .word FUN_02049304 + 1 + + thumb_func_start FUN_02049304 +FUN_02049304: ; 0x02049304 + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r5, r4, #0x0 + ldr r1, [r4, #0x0] + add r5, #0x8 + cmp r1, #0x3 + bhi _02049390 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0204932C: ; jump table (using 16-bit offset) + .short _02049334 - _0204932C - 2; case 0 + .short _0204934A - _0204932C - 2; case 1 + .short _02049364 - _0204932C - 2; case 2 + .short _02049388 - _0204932C - 2; case 3 +_02049334: + ldr r1, [r5, #0x0] + add r0, r6, #0x0 + bl FUN_0204AD60 + add r0, r7, #0x0 + bl FUN_02049394 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049390 +_0204934A: + ldr r0, [r6, #0x38] + mov r1, #0x0 + bl FUN_020553A8 + add r1, r4, #0x0 + add r0, r7, #0x0 + add r1, #0x8 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049390 +_02049364: + bl FUN_02005404 cmp r0, #0x0 - bne _0204D812 + bne _02049390 + ldr r1, [r5, #0x0] + add r0, r6, #0x0 + bl FUN_0204AD8C + add r0, r6, #0x0 + bl FUN_020637A8 + add r0, r7, #0x0 + bl FUN_020493D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049390 +_02049388: + bl FUN_02016A18 mov r0, #0x1 pop {r3-r7, pc} -_0204D812: - ldr r0, _0204D828 ; =0x021C5A68 - add r1, r5, #0x0 - ldr r0, [r0, #0x0] - add r2, r6, #0x0 - ldr r0, [r0, #0x54] - bl FUN_0204A6B4 +_02049390: + mov r0, #0x0 pop {r3-r7, pc} - nop -_0204D824: .word 0x0000FFFF -_0204D828: .word 0x021C5A68 -_0204D82C: .word 0x000002BE - thumb_func_start FUN_0204D830 -FUN_0204D830: ; 0x0204D830 - push {r3, lr} - add r1, r0, #0x0 - ldr r0, _0204D858 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - cmp r0, #0x0 - beq _0204D852 - bl FUN_02244D40 - bl FUN_02244DA0 + thumb_func_start FUN_02049394 +FUN_02049394: ; 0x02049394 + ldr r3, _0204939C ; =FUN_0204640C + ldr r1, _020493A0 ; =FUN_020493A4 + mov r2, #0x0 + bx r3 + .balign 4 +_0204939C: .word FUN_0204640C + 1 +_020493A0: .word FUN_020493A4 + 1 + + thumb_func_start FUN_020493A4 +FUN_020493A4: ; 0x020493A4 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - bne _0204D84E + beq _020493BA + cmp r0, #0x1 + beq _020493C8 + b _020493CC +_020493BA: + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020493CC +_020493C8: mov r0, #0x1 - pop {r3, pc} -_0204D84E: + pop {r3-r5, pc} +_020493CC: mov r0, #0x0 - pop {r3, pc} -_0204D852: + pop {r3-r5, pc} + + thumb_func_start FUN_020493D0 +FUN_020493D0: ; 0x020493D0 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204652C + add r2, r0, #0x0 + ldr r1, _020493E4 ; =FUN_020493E8 + add r0, r4, #0x0 + bl FUN_0204640C + pop {r4, pc} + .balign 4 +_020493E4: .word FUN_020493E8 + 1 + + thumb_func_start FUN_020493E8 +FUN_020493E8: ; 0x020493E8 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02046528 + ldr r1, [r4, #0x0] + cmp r1, #0x0 + beq _02049408 + cmp r1, #0x1 + beq _02049416 + cmp r1, #0x2 + beq _02049428 + b _0204942C +_02049408: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204942C +_02049416: + bl FUN_021E331C + add r0, r5, #0x0 + bl FUN_02049430 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204942C +_02049428: + mov r0, #0x1 + pop {r3-r5, pc} +_0204942C: mov r0, #0x0 - pop {r3, pc} - nop -_0204D858: .word 0x021C5A68 + pop {r3-r5, pc} - thumb_func_start FUN_0204D85C -FUN_0204D85C: ; 0x0204D85C - cmp r0, #0x5 - bge _0204D864 - mov r0, #0x8 - bx lr -_0204D864: - cmp r0, #0xa - bge _0204D86C - mov r0, #0x4 - bx lr -_0204D86C: - mov r0, #0x2 - bx lr + thumb_func_start FUN_02049430 +FUN_02049430: ; 0x02049430 + push {r4-r6, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0203739C + cmp r0, #0x0 + bne _02049452 + bl FUN_02020C2C + pop {r4-r6, pc} +_02049452: + ldr r0, [r5, #0x38] + bl FUN_020553E8 + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_022483BC + str r0, [r4, #0x4] + ldr r1, _02049470 ; =FUN_02049474 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0204640C + pop {r4-r6, pc} + nop +_02049470: .word FUN_02049474 + 1 - thumb_func_start FUN_0204D870 -FUN_0204D870: ; 0x0204D870 - push {r3-r4, lr} - sub sp, #0x14 - ldr r3, _0204D898 ; =0x020F5824 + thumb_func_start FUN_02049474 +FUN_02049474: ; 0x02049474 + push {r4, lr} + bl FUN_0204652C add r4, r0, #0x0 - ldmia r3!, {r0-r1} - add r2, sp, #0x0 - stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} - stmia r2!, {r0-r1} - ldr r0, [r3, #0x0] - cmp r4, #0x5 + ldr r0, [r4, #0x4] + bl FUN_022483E0 + cmp r0, #0x1 + bne _02049490 + ldr r0, [r4, #0x4] + bl FUN_022483EC + mov r0, #0x1 + pop {r4, pc} +_02049490: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start FUN_02049494 +FUN_02049494: ; 0x02049494 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x20 + add r4, r2, #0x0 + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 str r0, [r2, #0x0] - blt _0204D88E - bl FUN_02020C2C -_0204D88E: - lsl r1, r4, #0x2 - add r0, sp, #0x0 - ldr r0, [r0, r1] - add sp, #0x14 - pop {r3-r4, pc} + str r4, [r2, #0x4] + str r0, [r2, #0x8] + add r3, r2, #0x0 + ldmia r5!, {r0-r1} + add r3, #0xc + stmia r3!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _020494C8 ; =FUN_020494CC + str r0, [r3, #0x0] + add r0, r6, #0x0 + bl FUN_020463EC + pop {r4-r6, pc} .balign 4 -_0204D898: .word 0x020F5824 +_020494C8: .word FUN_020494CC + 1 - thumb_func_start FUN_0204D89C -FUN_0204D89C: ; 0x0204D89C + thumb_func_start FUN_020494CC +FUN_020494CC: ; 0x020494CC push {r3-r7, lr} - sub sp, #0x18 - mov r5, #0x0 - add r0, r5, #0x0 - ldr r6, _0204DAF4 ; =0x021C5A68 - str r5, [sp, #0x4] - str r0, [sp, #0x0] -_0204D8AA: - ldr r0, [r6, #0x0] - add r1, r0, r5 - add r1, #0x48 - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204D976 - add r1, r0, r5 - add r1, #0xe2 - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204D976 - add r1, r0, r5 - add r1, #0xea - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204D976 - add r2, r0, #0x0 - ldr r1, [sp, #0x0] - add r2, #0x62 - ldr r0, [r0, #0x4] - add r4, r2, r1 - cmp r0, #0x0 - beq _0204D8E0 - add r1, r5, #0x0 - bl FUN_02244D40 - str r0, [sp, #0x4] -_0204D8E0: + add r7, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r6, r4, #0x0 + ldr r1, [r4, #0x0] + add r6, #0xc + cmp r1, #0x3 + bhi _02049570 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020494F4: ; jump table (using 16-bit offset) + .short _020494FC - _020494F4 - 2; case 0 + .short _02049512 - _020494F4 - 2; case 1 + .short _0204952C - _020494F4 - 2; case 2 + .short _02049568 - _020494F4 - 2; case 3 +_020494FC: ldr r1, [r6, #0x0] - ldr r0, _0204DAF8 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204D8F4 add r0, r5, #0x0 - bl FUN_02245F4C - cmp r0, #0x0 - bne _0204D976 -_0204D8F4: - ldr r0, [r6, #0x0] - ldr r1, _0204DAFC ; =0x0000013A - add r0, r0, r5 - ldrb r1, [r0, r1] - cmp r1, #0x0 - beq _0204D90A - ldr r1, _0204DAFC ; =0x0000013A - ldrb r1, [r0, r1] - sub r2, r1, #0x1 - ldr r1, _0204DAFC ; =0x0000013A - strb r2, [r0, r1] -_0204D90A: - ldr r0, [r6, #0x0] - ldr r1, _0204DAFC ; =0x0000013A - add r2, r0, r5 - ldrb r1, [r2, r1] - cmp r1, #0x0 - bne _0204D93C - ldr r1, _0204DAF8 ; =0x000002BE - ldrb r0, [r0, r1] + bl FUN_0204AD60 + add r0, r7, #0x0 + bl FUN_02049574 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049570 +_02049512: + ldr r0, [r5, #0x38] + mov r1, #0x0 + bl FUN_020553A8 + add r1, r4, #0x0 + add r0, r7, #0x0 + add r1, #0xc + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049570 +_0204952C: + bl FUN_02005404 cmp r0, #0x0 - beq _0204D93C + bne _02049570 + ldr r1, [r6, #0x0] add r0, r5, #0x0 - bl FUN_0223F8D8 - cmp r0, #0x0 - bne _0204D976 + bl FUN_0204AD8C + ldr r0, [r4, #0x4] + cmp r0, #0x2 + bne _0204954A add r0, r5, #0x0 - bl FUN_0204D830 - cmp r0, #0x0 - bne _0204D93C + bl FUN_020637C4 + b _0204955A +_0204954A: + cmp r0, #0x1 + bhi _02049556 add r0, r5, #0x0 - bl FUN_02247544 - cmp r0, #0x0 - bne _0204D976 -_0204D93C: - ldr r0, [sp, #0x4] - cmp r0, #0x0 - beq _0204D94A - bl FUN_02244DB0 - cmp r0, #0x0 - beq _0204D976 -_0204D94A: - ldr r0, [r6, #0x0] - add r0, r0, r5 - add r0, #0xf2 - ldrb r0, [r0, #0x0] + bl FUN_020637E0 + b _0204955A +_02049556: + bl FUN_02020C2C +_0204955A: + add r0, r7, #0x0 + bl FUN_020495B0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049570 +_02049568: + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_02049570: + mov r0, #0x0 + pop {r3-r7, pc} + + thumb_func_start FUN_02049574 +FUN_02049574: ; 0x02049574 + ldr r3, _0204957C ; =FUN_0204640C + ldr r1, _02049580 ; =FUN_02049584 + mov r2, #0x0 + bx r3 + .balign 4 +_0204957C: .word FUN_0204640C + 1 +_02049580: .word FUN_02049584 + 1 + + thumb_func_start FUN_02049584 +FUN_02049584: ; 0x02049584 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204D95A - mov r7, #0x0 - b _0204D962 -_0204D95A: + beq _0204959A + cmp r0, #0x1 + beq _020495A8 + b _020495AC +_0204959A: add r0, r5, #0x0 - bl FUN_02030F88 - add r7, r0, #0x0 -_0204D962: + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020495AC +_020495A8: + mov r0, #0x1 + pop {r3-r5, pc} +_020495AC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_020495B0 +FUN_020495B0: ; 0x020495B0 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204652C + add r2, r0, #0x0 + ldr r1, _020495C4 ; =FUN_020495C8 + add r0, r4, #0x0 + bl FUN_0204640C + pop {r4, pc} + .balign 4 +_020495C4: .word FUN_020495C8 + 1 + + thumb_func_start FUN_020495C8 +FUN_020495C8: ; 0x020495C8 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_02030F74 - strb r0, [r4, #0x5] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204DAFC ; =0x0000013A - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204D978 -_0204D976: - b _0204DAE2 -_0204D978: - ldr r0, _0204DB00 ; =0x0000010A - ldr r2, _0204DB04 ; =0x0000012A - ldrb r0, [r1, r0] - ldrb r1, [r1, r2] - bl FUN_0204D85C - str r0, [sp, #0x10] - ldr r1, [sp, #0x10] + bl FUN_02046528 + add r6, r0, #0x0 add r0, r5, #0x0 - bl FUN_0204E084 + bl FUN_0204652C + ldr r0, [r4, #0x0] cmp r0, #0x0 - beq _0204D9A8 - ldr r0, [r6, #0x0] - ldr r1, [sp, #0x10] - add r2, r0, r5 - ldr r0, _0204DAFC ; =0x0000013A - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - mov r1, #0x1 - add r2, r0, r5 - ldr r0, _0204DB08 ; =0x00000132 - strb r1, [r2, r0] - b _0204DAE2 -_0204D9A8: - ldrb r0, [r4, #0x7] + beq _020495F0 cmp r0, #0x1 - bne _0204D9B8 - ldr r0, [r6, #0x0] - mov r1, #0x1 - add r2, r0, r5 - ldr r0, _0204DB08 ; =0x00000132 - strb r1, [r2, r0] -_0204D9B8: - mov r0, #0x0 - strb r0, [r4, #0x7] - ldr r0, [r6, #0x0] - ldr r1, _0204DB0C ; =0x00000122 - add r0, r0, r5 - ldrb r1, [r0, r1] - cmp r1, #0x2 - bne _0204D9DE - add r1, sp, #0x14 - strb r5, [r1, #0x1] - ldr r1, _0204DB0C ; =0x00000122 - mov r2, #0x1 - strb r2, [r0, r1] - add r1, sp, #0x14 - mov r0, #0x28 - add r1, #0x1 - bl FUN_02030C4C - b _0204DAE2 -_0204D9DE: - add r0, r7, #0x0 - add r1, r7, #0x0 - bl FUN_0204D740 - add r7, r0, #0x0 + beq _020495FE + cmp r0, #0x2 + beq _02049612 + b _02049616 +_020495F0: add r0, r5, #0x0 - bl FUN_0204E62C - str r0, [sp, #0xc] + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049616 +_020495FE: + add r0, r6, #0x0 + bl FUN_021E331C add r0, r5, #0x0 - bl FUN_0204E664 - str r0, [sp, #0x8] - ldr r1, [sp, #0xc] - ldr r0, _0204DB10 ; =0x0000FFFF - cmp r1, r0 - beq _0204DAE2 - ldr r1, [sp, #0x8] - cmp r1, r0 - beq _0204DAE2 + bl FUN_0204961C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049616 +_02049612: + mov r0, #0x1 + pop {r4-r6, pc} +_02049616: mov r0, #0x0 - mvn r0, r0 - cmp r7, r0 - beq _0204DAE2 - mov r0, #0x4 - ldrsb r0, [r4, r0] - cmp r0, r7 - beq _0204DA44 - strb r7, [r4, #0x4] - ldr r0, [r6, #0x0] - mov r1, #0x4 - add r2, r0, r5 - ldr r0, _0204DAFC ; =0x0000013A - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - mov r1, #0x1 - add r2, r0, r5 - ldr r0, _0204DB08 ; =0x00000132 - strb r1, [r2, r0] - ldr r0, [r6, #0x0] - ldr r1, _0204DB0C ; =0x00000122 - add r0, r0, r5 - ldrb r1, [r0, r1] - cmp r1, #0x2 - bls _0204DAE2 - ldr r1, _0204DB0C ; =0x00000122 - ldrb r1, [r0, r1] - sub r2, r1, #0x1 - ldr r1, _0204DB0C ; =0x00000122 - strb r2, [r0, r1] - b _0204DAE2 -_0204DA44: - ldr r0, [r6, #0x0] - ldr r1, _0204DB0C ; =0x00000122 - add r2, r0, r5 - ldrb r1, [r2, r1] - cmp r1, #0x0 - bne _0204DAE2 - ldr r1, _0204DAF8 ; =0x000002BE - ldrb r0, [r0, r1] - cmp r0, #0x0 - beq _0204DA66 - ldr r1, [sp, #0xc] - ldr r2, [sp, #0x8] + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204961C +FUN_0204961C: ; 0x0204961C + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 add r0, r5, #0x0 - bl FUN_0224566C - cmp r0, #0x1 - beq _0204DAE2 -_0204DA66: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x8] - add r2, r5, #0x0 - bl FUN_0204D7B0 + bl FUN_0204652C + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0203739C cmp r0, #0x0 - beq _0204DA8E - mov r0, #0x1 - strb r0, [r4, #0x7] - ldr r0, [r6, #0x0] - mov r1, #0x1 - add r2, r0, r5 - ldr r0, _0204DB08 ; =0x00000132 - strb r1, [r2, r0] - ldr r0, [r6, #0x0] + bne _0204963E + bl FUN_02020C2C + pop {r4-r6, pc} +_0204963E: + ldr r2, [r6, #0x4] + add r0, r4, #0x0 mov r1, #0x4 - add r2, r0, r5 - ldr r0, _0204DAFC ; =0x0000013A - strb r1, [r2, r0] - b _0204DAE2 -_0204DA8E: - ldr r0, [r6, #0x0] - mov r1, #0x1 - add r2, r0, r5 - ldr r0, _0204DB08 ; =0x00000132 - strb r1, [r2, r0] - ldr r0, [sp, #0xc] - strh r0, [r4, #0x0] - ldr r0, [sp, #0x8] - strh r0, [r4, #0x2] - strb r7, [r4, #0x4] - ldrb r0, [r4, #0x5] - bl FUN_0204D870 - ldr r1, [r6, #0x0] - add r2, r1, r5 - ldr r1, _0204DAFC ; =0x0000013A - strb r0, [r2, r1] - ldr r0, [r6, #0x0] - sub r1, #0x20 - add r0, r0, r5 - ldrb r1, [r0, r1] - cmp r1, #0x0 - beq _0204DAE2 - ldr r1, _0204DB14 ; =0x0000011A - ldrb r1, [r0, r1] - sub r2, r1, #0x1 - ldr r1, _0204DB14 ; =0x0000011A - strb r2, [r0, r1] - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldr r0, _0204DB14 ; =0x0000011A - ldrb r0, [r1, r0] - cmp r0, #0x0 - bne _0204DAE2 - mov r1, #0x1 - add r0, sp, #0x14 - strb r1, [r0, #0x0] + bl FUN_0224C8C8 + add r2, r0, #0x0 + ldr r1, _02049654 ; =0x0224C8E9 add r0, r5, #0x0 - add r2, sp, #0x14 - mov r3, #0x0 - bl FUN_0224089C -_0204DAE2: - ldr r0, [sp, #0x0] - add r5, r5, #0x1 - add r0, #0x8 - str r0, [sp, #0x0] - cmp r5, #0x8 - bge _0204DAF0 - b _0204D8AA -_0204DAF0: - add sp, #0x18 - pop {r3-r7, pc} + bl FUN_0204640C + pop {r4-r6, pc} .balign 4 -_0204DAF4: .word 0x021C5A68 -_0204DAF8: .word 0x000002BE -_0204DAFC: .word 0x0000013A -_0204DB00: .word 0x0000010A -_0204DB04: .word 0x0000012A -_0204DB08: .word 0x00000132 -_0204DB0C: .word 0x00000122 -_0204DB10: .word 0x0000FFFF -_0204DB14: .word 0x0000011A +_02049654: .word 0x0224C8E9 - thumb_func_start FUN_0204DB18 -FUN_0204DB18: ; 0x0204DB18 + thumb_func_start FUN_02049658 +FUN_02049658: ; 0x02049658 push {r3-r7, lr} - ldr r5, _0204DBC0 ; =0x021C5A68 + add r6, r0, #0x0 + bl FUN_02046528 add r7, r0, #0x0 - ldr r0, [r5, #0x0] - add r3, r2, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r5, r4, #0x0 + ldr r1, [r4, #0x0] + add r5, #0x8 + cmp r1, #0x6 + bhi _02049712 + add r2, r1, r1 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_02049680: ; jump table (using 16-bit offset) + .short _0204968E - _02049680 - 2; case 0 + .short _020496A0 - _02049680 - 2; case 1 + .short _020496BC - _02049680 - 2; case 2 + .short _020496CC - _02049680 - 2; case 3 + .short _020496EA - _02049680 - 2; case 4 + .short _020496FE - _02049680 - 2; case 5 + .short _0204970A - _02049680 - 2; case 6 +_0204968E: + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r4, #0x4 + bl FUN_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496A0: + ldr r0, [r4, #0x4] cmp r0, #0x0 - beq _0204DBBC - add r2, r0, #0x0 - ldrb r4, [r3, #0x4] - add r2, #0x62 - lsl r1, r7, #0x3 - add r2, r2, r1 - mov r1, #0x80 - tst r1, r4 - beq _0204DB3E - ldr r1, _0204DBC4 ; =0x000002BB - mov r2, #0x1 - strb r2, [r0, r1] - pop {r3-r7, pc} -_0204DB3E: - mov r0, #0x4 - ldrsb r1, [r2, r0] - sub r0, r0, #0x5 - cmp r1, r0 - bne _0204DB5A - ldr r4, _0204DBC8 ; =0x00000132 + beq _02049712 + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl FUN_0204AD60 + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496BC: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496CC: + bl FUN_02005404 + cmp r0, #0x0 + bne _02049712 + ldr r1, [r5, #0x0] + add r0, r7, #0x0 + bl FUN_0204AD8C + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496EA: mov r1, #0x0 + str r1, [r4, #0x4] + add r0, r7, #0x0 + add r2, r4, #0x4 + bl FUN_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049712 +_020496FE: + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _02049712 + add r0, r1, #0x1 + str r0, [r4, #0x0] + b _02049712 +_0204970A: + bl FUN_02016A18 mov r0, #0x1 -_0204DB4E: - ldr r6, [r5, #0x0] - add r6, r6, r1 - add r1, r1, #0x1 - strb r0, [r6, r4] - cmp r1, #0x8 - blt _0204DB4E -_0204DB5A: + pop {r3-r7, pc} +_02049712: mov r0, #0x0 - strh r0, [r2, #0x0] - strh r0, [r2, #0x2] - ldrh r1, [r2, #0x0] - ldrb r0, [r3, #0x0] - add r0, r1, r0 - strh r0, [r2, #0x0] - ldrb r1, [r3, #0x1] - ldrh r0, [r2, #0x0] - lsl r4, r1, #0x8 - mov r1, #0xff - lsl r1, r1, #0x8 - and r4, r1 - add r0, r0, r4 - strh r0, [r2, #0x0] - ldrh r4, [r2, #0x2] - ldrb r0, [r3, #0x2] - add r0, r4, r0 - strh r0, [r2, #0x2] - ldrb r4, [r3, #0x3] - ldrh r0, [r2, #0x2] - lsl r4, r4, #0x8 - and r1, r4 - add r0, r0, r1 - strh r0, [r2, #0x2] - ldrb r1, [r3, #0x4] - mov r0, #0xf - ldr r3, _0204DBC0 ; =0x021C5A68 - and r0, r1 - strb r0, [r2, #0x4] - ldr r1, [r3, #0x0] - mov r0, #0x1 - add r1, r1, r7 - add r1, #0x48 - strb r0, [r1, #0x0] - ldr r1, [r3, #0x0] - add r4, r1, r7 - ldr r1, _0204DBC8 ; =0x00000132 - strb r0, [r4, r1] - ldr r0, [r3, #0x0] - ldrh r1, [r2, #0x0] - ldrh r2, [r2, #0x2] - ldr r0, [r0, #0x54] - bl FUN_0204A6B4 - cmp r0, #0x0 - beq _0204DBBC - bl FUN_02020C2C -_0204DBBC: pop {r3-r7, pc} - nop -_0204DBC0: .word 0x021C5A68 -_0204DBC4: .word 0x000002BB -_0204DBC8: .word 0x00000132 + .balign 4 - thumb_func_start FUN_0204DBCC -FUN_0204DBCC: ; 0x0204DBCC - push {r3-r5, lr} - ldr r0, _0204DC28 ; =0x021C5A68 - ldrb r4, [r2, #0x0] - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _0204DC24 - bl FUN_02031190 - cmp r4, r0 - beq _0204DC24 - ldr r0, _0204DC28 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204DC2C ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204DC14 - add r0, r4, #0x0 - bl FUN_0223E554 - ldr r0, _0204DC28 ; =0x021C5A68 - ldr r3, [r0, #0x0] - ldr r0, _0204DC30 ; =0x000002BD - ldrb r0, [r3, r0] - cmp r0, #0x0 - bne _0204DC14 - lsl r5, r4, #0x3 - add r1, r3, r5 - ldr r0, [r3, #0x54] - add r3, r3, r5 - add r1, #0xa2 - add r3, #0xa4 - ldrh r1, [r1, #0x0] - ldrh r3, [r3, #0x0] - mov r2, #0x0 - bl FUN_021E5B30 -_0204DC14: + thumb_func_start FUN_02049718 +FUN_02049718: ; 0x02049718 + push {r4-r7, lr} + sub sp, #0x14 + add r5, r0, #0x0 + add r4, r1, #0x0 + mov r0, #0xb + mov r1, #0x1c + add r6, r2, #0x0 + bl FUN_020169D8 mov r1, #0x0 - add r0, r4, #0x0 - add r2, r1, #0x0 - bl FUN_0204D43C - add r0, r4, #0x0 - bl FUN_0202DE78 -_0204DC24: - pop {r3-r5, pc} + mov r2, #0x1c + add r7, r0, #0x0 + blx FUN_020CE34C + ldr r0, [r5, #0x38] + bl FUN_020552F8 + mov r1, #0x0 + add r2, r7, #0x0 + str r4, [sp, #0x0] + str r6, [sp, #0x4] + add r3, sp, #0x0 + str r1, [sp, #0x8] + str r1, [sp, #0xc] + str r0, [sp, #0x10] + ldmia r3!, {r0-r1} + add r2, #0x8 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + ldr r1, _02049768 ; =FUN_02049658 + str r0, [r2, #0x0] + add r0, r5, #0x0 + add r2, r7, #0x0 + bl FUN_020463CC + add sp, #0x14 + pop {r4-r7, pc} nop -_0204DC28: .word 0x021C5A68 -_0204DC2C: .word 0x000002BE -_0204DC30: .word 0x000002BD - - thumb_func_start FUN_0204DC34 -FUN_0204DC34: ; 0x0204DC34 - mov r0, #0x5 - bx lr +_02049768: .word FUN_02049658 + 1 - thumb_func_start FUN_0204DC38 -FUN_0204DC38: ; 0x0204DC38 - push {r3-r5, lr} - ldrb r1, [r2, #0x0] - mov r0, #0xf - add r3, r1, #0x0 - and r3, r0 - ldr r0, _0204DCB0 ; =0x021C5A68 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0204DCAC - ldrb r4, [r2, #0x2] - add r1, #0xa2 - lsl r0, r3, #0x3 - add r1, r1, r0 - mov r0, #0x80 - tst r0, r4 - beq _0204DC5C - mov r0, #0x1 - b _0204DC5E -_0204DC5C: - mov r0, #0x0 -_0204DC5E: - strb r0, [r1, #0x7] - mov r0, #0x0 - strh r0, [r1, #0x0] - strh r0, [r1, #0x2] - ldrh r4, [r1, #0x0] - ldrb r0, [r2, #0x1] - add r0, r4, r0 - strh r0, [r1, #0x0] - ldrb r4, [r2, #0x2] - ldrh r0, [r1, #0x0] - lsl r5, r4, #0x8 - mov r4, #0x1 - lsl r4, r4, #0x8 - and r5, r4 - add r0, r0, r5 - strh r0, [r1, #0x0] - ldrh r5, [r1, #0x2] - ldrb r0, [r2, #0x3] - add r0, r5, r0 - strh r0, [r1, #0x2] - ldrb r5, [r2, #0x2] - ldrh r0, [r1, #0x2] - lsl r5, r5, #0x7 - and r4, r5 - add r0, r0, r4 - strh r0, [r1, #0x2] - ldrb r0, [r2, #0x0] - asr r4, r0, #0x4 - mov r0, #0x3 - and r4, r0 - strb r4, [r1, #0x4] - ldrb r2, [r2, #0x0] - asr r2, r2, #0x6 - and r0, r2 - strb r0, [r1, #0x5] - lsl r0, r3, #0x18 - lsr r0, r0, #0x18 - bl FUN_0204D328 -_0204DCAC: - pop {r3-r5, pc} - nop -_0204DCB0: .word 0x021C5A68 + thumb_func_start FUN_0204976C +FUN_0204976C: ; 0x0204976C + push {r4-r6, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x40 + bl FUN_020169D8 + add r5, r0, #0x0 + mov r1, #0x0 + str r1, [r5, #0x0] + str r1, [r5, #0x4] + ldr r0, [r6, #0x6c] + cmp r0, #0x1 + bne _020497A4 + ldr r0, [r4, #0x0] + str r0, [r5, #0x8] + sub r0, r1, #0x1 + str r0, [r5, #0xc] + ldr r0, [r4, #0x8] + str r0, [r5, #0x10] + ldr r0, [r4, #0xc] + str r0, [r5, #0x14] + b _02049820 +_020497A4: + add r0, r4, #0x0 + add r1, r6, #0x0 + bl FUN_02048CB0 + mov r0, #0x2 + str r0, [r5, #0x8] + sub r0, r0, #0x3 + str r0, [r5, #0xc] + ldr r1, [r4, #0x8] + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r0, r0, #0x5 + ldr r1, [r4, #0xc] + sub r6, r0, #0x1 + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r0, r0, #0x5 + sub r4, r0, #0x6 + cmp r6, #0x0 + bge _020497D4 + bl FUN_02020C2C +_020497D4: + cmp r4, #0x0 + bge _020497DC + bl FUN_02020C2C +_020497DC: + lsr r2, r6, #0x1f + lsl r1, r6, #0x1f + sub r1, r1, r2 + mov r0, #0x1f + ror r1, r0 + add r0, r2, r1 + bne _020497EE + mov r0, #0x8 + b _020497F0 +_020497EE: + mov r0, #0x17 +_020497F0: + lsr r3, r4, #0x1f + lsl r2, r4, #0x1f + sub r2, r2, r3 + mov r1, #0x1f + ror r2, r1 + add r1, r3, r2 + bne _02049802 + mov r1, #0x8 + b _02049804 +_02049802: + mov r1, #0x17 +_02049804: + lsr r2, r6, #0x1f + add r2, r6, r2 + asr r2, r2, #0x1 + add r6, r2, #0x1 + lsr r2, r4, #0x1f + add r2, r4, r2 + asr r2, r2, #0x1 + add r3, r2, #0x3 + lsl r2, r6, #0x5 + add r0, r0, r2 + str r0, [r5, #0x10] + lsl r0, r3, #0x5 + add r0, r1, r0 + str r0, [r5, #0x14] +_02049820: + add r0, r5, #0x0 + pop {r4-r6, pc} - thumb_func_start FUN_0204DCB4 -FUN_0204DCB4: ; 0x0204DCB4 + thumb_func_start FUN_02049824 +FUN_02049824: ; 0x02049824 push {r3-r5, lr} add r5, r0, #0x0 - ldr r0, _0204DD10 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_020377AC - bl FUN_02026CC4 + bl FUN_0204976C add r4, r0, #0x0 - ldr r0, _0204DD10 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_020377AC - bl FUN_02026CB4 - ldr r0, _0204DD10 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204DD14 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204DD0C - bl FUN_02031190 - cmp r5, r0 - bne _0204DD0C - add r0, r4, #0x0 - bl FUN_020266B0 - add r0, r4, #0x0 - bl FUN_020266C8 - cmp r0, #0x32 - bne _0204DD0C - ldr r0, _0204DD10 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - mov r1, #0x25 - bl FUN_0202A170 -_0204DD0C: + beq _02049840 + add r0, r5, #0x0 + bl FUN_02049BE8 + add r1, r0, #0x0 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_020463CC +_02049840: pop {r3-r5, pc} - nop -_0204DD10: .word 0x021C5A68 -_0204DD14: .word 0x000002BE + .balign 4 - thumb_func_start FUN_0204DD18 -FUN_0204DD18: ; 0x0204DD18 - push {r3-r7, lr} - sub sp, #0x10 - ldr r4, _0204DE24 ; =0x020F5808 - add r6, r3, #0x0 + thumb_func_start FUN_02049844 +FUN_02049844: ; 0x02049844 + push {r4-r6, lr} + sub sp, #0x8 + add r6, r0, #0x0 + bl FUN_02046528 add r5, r0, #0x0 - add r3, sp, #0x4 - mov r2, #0xc -_0204DD26: - ldrb r0, [r4, #0x0] - add r4, r4, #0x1 - strb r0, [r3, #0x0] - add r3, r3, #0x1 - sub r2, r2, #0x1 - bne _0204DD26 - ldr r0, _0204DE28 ; =0x021C5A68 - ldr r2, _0204DE2C ; =0x00000102 - ldr r0, [r0, #0x0] - add r3, r0, r5 - ldrsb r3, [r3, r2] - mov r2, #0x0 - mvn r2, r2 - cmp r3, r2 - beq _0204DD4E - lsl r7, r5, #0x2 - add r0, r0, r7 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - bne _0204DD54 -_0204DD4E: - add sp, #0x10 - mov r0, #0x0 - pop {r3-r7, pc} -_0204DD54: - cmp r1, #0x0 - bne _0204DD5E - add sp, #0x10 - mov r0, #0x1 - pop {r3-r7, pc} -_0204DD5E: - bl FUN_020553A0 + add r0, r6, #0x0 + bl FUN_0204652C add r4, r0, #0x0 - ldr r0, _0204DE28 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r7, #0x0 - add r0, r1, r0 - ldr r0, [r0, #0x8] - bl FUN_020552F8 - str r0, [sp, #0x0] - ldr r0, _0204DE28 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204DE2C ; =0x00000102 - ldrsb r0, [r1, r0] - bl FUN_0204F610 - ldr r1, [sp, #0x0] - cmp r1, r0 - beq _0204DDB4 - add r0, r4, #0x0 - mov r1, #0x80 - bl FUN_02058418 - ldr r0, _0204DE28 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204DE2C ; =0x00000102 - ldrsb r0, [r1, r0] - bl FUN_0204F610 + ldr r0, [r4, #0x0] + cmp r0, #0xc + bhi _0204992C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204986A: ; jump table (using 16-bit offset) + .short _02049884 - _0204986A - 2; case 0 + .short _020498DC - _0204986A - 2; case 1 + .short _02049918 - _0204986A - 2; case 2 + .short _0204995E - _0204986A - 2; case 3 + .short _020499A2 - _0204986A - 2; case 4 + .short _020499D0 - _0204986A - 2; case 5 + .short _020499E2 - _0204986A - 2; case 6 + .short _020499F2 - _0204986A - 2; case 7 + .short _02049A06 - _0204986A - 2; case 8 + .short _02049A14 - _0204986A - 2; case 9 + .short _02049A42 - _0204986A - 2; case 10 + .short _02049A64 - _0204986A - 2; case 11 + .short _02049A96 - _0204986A - 2; case 12 +_02049884: + mov r0, #0x1 + mov r1, #0x1a + mov r2, #0xcf + mov r3, #0xb + bl FUN_0200A86C + add r6, r0, #0x0 + mov r1, #0x7c + bl FUN_0200A914 + str r0, [r4, #0x34] + add r0, r6, #0x0 + bl FUN_0200A8B8 + add r1, r4, #0x0 + ldr r0, [r5, #0x8] + add r1, #0x24 + mov r2, #0x3 + bl FUN_020545B8 + ldr r0, [r5, #0xc] + bl FUN_02023900 add r1, r0, #0x0 - ldr r0, _0204DE28 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r7 - ldr r0, [r0, #0x8] - bl FUN_02055304 add r0, r4, #0x0 - mov r1, #0x80 - bl FUN_02058410 -_0204DDB4: + add r0, #0x24 + bl FUN_02054608 + ldr r0, [r5, #0xc] + bl FUN_02023900 + add r2, r0, #0x0 add r0, r4, #0x0 - bl FUN_0205AE28 + ldr r1, [r4, #0x34] + add r0, #0x24 + mov r3, #0x1 + bl FUN_02054658 + add r1, r4, #0x0 + add r1, #0x38 + strb r0, [r1, #0x0] + mov r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_020498DC: add r0, r4, #0x0 - bl FUN_0205AD98 + add r0, #0x38 + ldrb r0, [r0, #0x0] + bl FUN_020546C8 cmp r0, #0x1 - bne _0204DE1C - add r0, r5, #0x0 - bl FUN_0204DCB4 - cmp r6, #0x0 - beq _0204DDD8 - cmp r6, #0x1 - beq _0204DDEE - cmp r6, #0x2 - beq _0204DE06 - b _0204DE1C -_0204DDD8: - ldr r1, _0204DE28 ; =0x021C5A68 + bne _0204992C + ldr r0, [r4, #0x34] + bl FUN_02021A20 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r3, #0xb + str r3, [sp, #0x4] + ldr r0, [r5, #0x8] + ldr r2, _02049AB8 ; =0x000003D9 + mov r1, #0x3 + bl FUN_0200CB00 + mov r3, #0xb + str r3, [sp, #0x0] + ldr r0, [r5, #0x8] + ldr r1, _02049ABC ; =0x020F46D8 + ldr r2, _02049AB8 ; =0x000003D9 + bl FUN_02002198 + str r0, [r4, #0x3c] + mov r0, #0x2 + str r0, [r4, #0x0] + b _02049AB2 +_02049918: + ldr r0, [r4, #0x3c] + mov r1, #0xb + bl FUN_020021AC + cmp r0, #0x0 + beq _0204992E + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _02049946 +_0204992C: + b _02049AB2 +_0204992E: add r0, r4, #0x0 - ldr r1, [r1, #0x0] - add r2, r1, r5 - ldr r1, _0204DE2C ; =0x00000102 - ldrsb r2, [r2, r1] - add r1, sp, #0x4 - ldrb r1, [r1, r2] - bl FUN_0205ADDC - b _0204DE1C -_0204DDEE: - ldr r1, _0204DE28 ; =0x021C5A68 + add r0, #0x24 + mov r1, #0x0 + bl FUN_0200D0E0 add r0, r4, #0x0 - ldr r1, [r1, #0x0] - add r2, r1, r5 - ldr r1, _0204DE2C ; =0x00000102 - ldrsb r1, [r2, r1] - add r2, r1, #0x4 - add r1, sp, #0x4 - ldrb r1, [r1, r2] - bl FUN_0205ADDC - b _0204DE1C -_0204DE06: - ldr r1, _0204DE28 ; =0x021C5A68 + add r0, #0x24 + bl FUN_02019178 + mov r0, #0x3 + str r0, [r4, #0x0] + b _02049AB2 +_02049946: add r0, r4, #0x0 - ldr r1, [r1, #0x0] - add r2, r1, r5 - ldr r1, _0204DE2C ; =0x00000102 - ldrsb r2, [r2, r1] - add r1, sp, #0x4 - add r2, #0x8 - ldrb r1, [r1, r2] - bl FUN_0205ADDC -_0204DE1C: - mov r0, #0x1 - add sp, #0x10 - pop {r3-r7, pc} - nop -_0204DE24: .word 0x020F5808 -_0204DE28: .word 0x021C5A68 -_0204DE2C: .word 0x00000102 - - thumb_func_start FUN_0204DE30 -FUN_0204DE30: ; 0x0204DE30 - push {r4-r7, lr} - sub sp, #0x1c - add r4, r0, #0x0 - ldr r0, _0204E06C ; =0x021C5A68 - lsl r1, r4, #0x3 - ldr r0, [r0, #0x0] - add r2, r0, #0x0 - add r2, #0xa2 - add r5, r2, r1 - ldr r1, _0204E070 ; =0x00000142 - add r2, r0, r1 - ldrb r1, [r2, r4] - cmp r1, #0x0 - beq _0204DE54 - sub r0, r1, #0x1 - add sp, #0x1c - strb r0, [r2, r4] - pop {r4-r7, pc} -_0204DE54: - ldrh r2, [r5, #0x0] - ldr r1, _0204E074 ; =0x0000FFFF - cmp r2, r1 - beq _0204DF08 - ldrh r2, [r5, #0x2] - cmp r2, r1 - beq _0204DF08 - ldr r1, _0204E078 ; =0x000002BD - ldrb r2, [r0, r1] - cmp r2, #0x0 - bne _0204DF08 - add r1, r1, #0x1 - ldrb r0, [r0, r1] - cmp r0, #0x0 - bne _0204DE86 - bl FUN_02031190 - cmp r4, r0 - bne _0204DE86 - ldr r0, _0204E06C ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E07C ; =0x000002C1 - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204DF08 -_0204DE86: - ldr r0, _0204E06C ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x2 - add r0, r1, r0 - ldr r0, [r0, #0x8] - str r0, [sp, #0x18] - cmp r0, #0x0 - bne _0204DE98 - b _0204E068 -_0204DE98: - bl FUN_02055320 - ldrh r1, [r5, #0x0] - sub r0, r0, r1 - str r0, [sp, #0x10] - ldr r0, [sp, #0x18] - bl FUN_0205532C - ldrh r1, [r5, #0x2] - sub r7, r0, r1 - ldr r0, [sp, #0x18] - bl FUN_020552F8 - str r0, [sp, #0xc] - ldr r0, [sp, #0x10] - cmp r0, #0x0 - bne _0204DEC2 - cmp r7, #0x0 - bne _0204DEC2 - mov r6, #0x0 - b _0204DEEC -_0204DEC2: - ldr r0, [sp, #0x10] - blx FUN_020DE3F0 - add r6, r0, #0x0 - add r0, r7, #0x0 - blx FUN_020DE3F0 - cmp r6, r0 - ble _0204DEE2 - ldr r0, [sp, #0x10] - cmp r0, #0x0 - ble _0204DEDE - mov r6, #0x20 - b _0204DEEC -_0204DEDE: - mov r6, #0x10 - b _0204DEEC -_0204DEE2: - cmp r7, #0x0 - ble _0204DEEA - mov r6, #0x40 - b _0204DEEC -_0204DEEA: - mov r6, #0x80 -_0204DEEC: - add r0, r7, #0x0 - blx FUN_020DE3F0 - ldr r0, [sp, #0x10] - blx FUN_020DE3F0 - ldrb r3, [r5, #0x5] + add r0, #0x24 + mov r1, #0x0 + bl FUN_0200D0E0 add r0, r4, #0x0 - add r1, r6, #0x0 - add r2, r6, #0x0 - bl FUN_0204DD18 - cmp r0, #0x0 - beq _0204DF0A -_0204DF08: - b _0204E068 -_0204DF0A: - ldrb r0, [r5, #0x5] - mov r7, #0xff - str r0, [sp, #0x14] - cmp r0, #0x3 - bhi _0204DF46 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0 - lsl r4, r1, #0 - lsl r2, r3, #0 - lsl r0, r4, #0 + add r0, #0x24 + bl FUN_02019178 mov r0, #0x5 - str r0, [sp, #0x8] - b _0204DF46 -_0204DF2E: - .byte 0x04, 0x20 - .byte 0x02, 0x90, 0x02, 0x20, 0x30, 0x43, 0x00, 0x04, 0x06, 0x0C, 0x04, 0xE0, 0x02, 0x20, 0x02, 0x90 - .byte 0x01, 0xE0, 0x01, 0x20, 0x02, 0x90 -_0204DF46: - ldr r0, _0204E06C ; =0x021C5A68 - ldr r1, [r0, #0x0] - mov r0, #0xb - lsl r0, r0, #0x6 - ldrb r0, [r1, r0] + str r0, [r4, #0x0] + b _02049AB2 +_0204995E: + ldr r0, [r5, #0xc] + bl FUN_0202280C cmp r0, #0x0 - beq _0204DF6C - bl FUN_02031190 - cmp r4, r0 - bne _0204DF6C - ldr r0, _0204E06C ; =0x021C5A68 - ldr r2, [r0, #0x0] - mov r0, #0xb - lsl r0, r0, #0x6 - ldrb r1, [r2, r0] - sub r1, r1, #0x1 - strb r1, [r2, r0] - b _0204E00C -_0204DF6C: - bl FUN_02030FE0 + beq _02049976 + mov r2, #0x0 + ldr r1, _02049AC0 ; =0x000007F2 + add r0, r6, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 + b _0204999C +_02049976: + ldr r0, [r5, #0xc] + bl FUN_02025BE8 + add r0, r5, #0x0 + mov r1, #0xb + mov r2, #0x3 + bl FUN_021E8588 + str r0, [r4, #0x20] + bl FUN_021E84F4 + add r3, r4, #0x0 + mov r2, #0x0 + ldr r1, _02049AC4 ; =0x000007D5 + add r0, r6, #0x0 + add r3, #0x1c + strh r2, [r4, #0x1c] + bl FUN_02038CD8 +_0204999C: + mov r0, #0x4 + str r0, [r4, #0x0] + b _02049AB2 +_020499A2: + ldr r0, [r5, #0xc] + bl FUN_0202280C cmp r0, #0x0 - bne _0204DFA0 - ldr r0, _0204E06C ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E080 ; =0x000002BE - ldrb r0, [r1, r0] + beq _020499B2 + mov r0, #0x5 + str r0, [r4, #0x0] + b _02049AB2 +_020499B2: + ldr r0, [r4, #0x20] + bl FUN_021E856C + ldr r0, [r4, #0x20] + bl FUN_021E85E4 + ldrh r0, [r4, #0x1c] cmp r0, #0x0 - beq _0204DFA0 - bl FUN_02031190 - cmp r4, r0 - bne _0204DFA0 + bne _020499CA + mov r0, #0x5 + str r0, [r4, #0x0] + b _02049AB2 +_020499CA: + mov r0, #0x6 + str r0, [r4, #0x0] + b _02049AB2 +_020499D0: + ldr r0, [r5, #0x34] + bl FUN_020587B0 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x8 mov r0, #0x1 - str r0, [sp, #0x0] + pop {r4-r6, pc} +_020499E2: mov r0, #0x0 - str r0, [sp, #0x4] - ldr r0, [sp, #0x18] - ldr r3, [sp, #0x8] - add r1, r6, #0x0 - add r2, r6, #0x0 - bl FUN_02057194 - add r7, r0, #0x0 - b _0204E00C -_0204DFA0: - mov r0, #0x2 - add r1, r6, #0x0 - bic r1, r0 - bne _0204DFDE - ldrb r0, [r5, #0x7] + mov r1, #0x1e + bl FUN_020053CC + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_020499F2: + add r0, r6, #0x0 + mov r1, #0x0 + bl FUN_02049C0C cmp r0, #0x0 - beq _0204DFDE - mov r0, #0x3 - str r0, [sp, #0x14] - mov r0, #0x4 - ldrsb r0, [r5, r0] - cmp r0, #0x3 - bhi _0204DFD2 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 - mov r7, #0x1c - b _0204E00C -_0204DFD2: - mov r7, #0x1d - b _0204E00C -_0204DFD6: - .byte 0x1E, 0x27, 0x18, 0xE0, 0x1F, 0x27, 0x16, 0xE0 -_0204DFDE: - cmp r1, #0x0 - bne _0204DFF6 - mov r0, #0x4 - ldrsb r0, [r5, r0] - ldr r1, [sp, #0xc] - cmp r0, r1 - beq _0204DFF6 - mov r1, #0x24 - bl FUN_0205AFDC - add r7, r0, #0x0 - b _0204E00C -_0204DFF6: + beq _02049AB2 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_02049A06: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_02049A14: mov r0, #0x1 + str r0, [r5, #0x6c] + ldr r0, _02049AC8 ; =0x00000012 + mov r1, #0x2 + bl FUN_02005FDC + add r0, r5, #0x0 + bl FUN_0204FC5C + ldr r0, [r4, #0x14] + mov r2, #0x1 str r0, [sp, #0x0] - mov r0, #0x0 - str r0, [sp, #0x4] - ldr r0, [sp, #0x18] - ldr r3, [sp, #0x8] - add r1, r6, #0x0 - add r2, r6, #0x0 - bl FUN_02057194 - add r7, r0, #0x0 -_0204E00C: - ldr r0, [sp, #0x18] - bl FUN_02057254 + str r2, [sp, #0x4] + ldr r1, [r4, #0x8] + ldr r3, [r4, #0x10] + add r0, r6, #0x0 + sub r2, r2, #0x2 + bl FUN_020491A8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_02049A42: + bl FUN_02005404 cmp r0, #0x0 - bne _0204E020 - ldr r0, [sp, #0x18] - bl FUN_020570C4 + bne _02049AB2 + mov r0, #0x0 + bl FUN_0200415C + add r0, r5, #0x0 + bl FUN_0204AB44 + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_02049A64: + add r0, r6, #0x0 + mov r1, #0x1 + bl FUN_02049C0C cmp r0, #0x0 - beq _0204E068 -_0204E020: - cmp r7, #0xff - beq _0204E068 - ldr r0, [sp, #0x18] - add r1, r7, #0x0 - bl FUN_02057260 + beq _02049AB2 + bl FUN_0204FCA0 + add r0, r5, #0x0 + bl FUN_02244824 + mov r1, #0x0 + str r0, [r5, #0x68] mov r0, #0x2 - bic r6, r0 - beq _0204E068 - ldr r0, _0204E06C ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r4 - ldr r0, _0204E070 ; =0x00000142 - ldrb r0, [r1, r0] + add r2, r1, #0x0 + str r0, [sp, #0x0] + mov r0, #0x1e + sub r2, #0x10 + mov r3, #0x19 + bl FUN_0200A208 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049AB2 +_02049A96: + mov r0, #0x2 + bl FUN_0200A344 cmp r0, #0x0 - bne _0204E050 - ldr r0, [sp, #0x14] - bl FUN_0204D870 - ldr r1, _0204E06C ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r2, r1, r4 - ldr r1, _0204E070 ; =0x00000142 - strb r0, [r2, r1] -_0204E050: - ldr r0, _0204E06C ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E070 ; =0x00000142 - add r1, r1, r0 - ldrb r0, [r1, r4] - cmp r0, #0x0 - beq _0204E062 - sub r0, r0, #0x1 - strb r0, [r1, r4] -_0204E062: + beq _02049AB2 + mov r0, #0x1 + bl FUN_02247970 add r0, r4, #0x0 - bl FUN_0204DCB4 -_0204E068: - add sp, #0x1c - pop {r4-r7, pc} + bl FUN_02016A18 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} +_02049AB2: + mov r0, #0x0 + add sp, #0x8 + pop {r4-r6, pc} .balign 4 -_0204E06C: .word 0x021C5A68 -_0204E070: .word 0x00000142 -_0204E074: .word 0x0000FFFF -_0204E078: .word 0x000002BD -_0204E07C: .word 0x000002C1 -_0204E080: .word 0x000002BE +_02049AB8: .word 0x000003D9 +_02049ABC: .word 0x020F46D8 +_02049AC0: .word 0x000007F2 +_02049AC4: .word 0x000007D5 +_02049AC8: .word 0x00000012 - thumb_func_start FUN_0204E084 -FUN_0204E084: ; 0x0204E084 - push {r3-r7, lr} + thumb_func_start FUN_02049ACC +FUN_02049ACC: ; 0x02049ACC + push {r4-r6, lr} sub sp, #0x8 - add r4, r1, #0x0 - ldr r1, _0204E16C ; =0x021C5A68 + add r6, r0, #0x0 + bl FUN_02046528 add r5, r0, #0x0 - ldr r2, [r1, #0x0] - ldr r1, _0204E170 ; =0x0000010A - add r2, r2, r1 - ldrb r1, [r2, r5] - cmp r1, #0x0 - bne _0204E0A0 - add sp, #0x8 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x7 + bhi _02049BDC + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02049AF2: ; jump table (using 16-bit offset) + .short _02049B02 - _02049AF2 - 2; case 0 + .short _02049B2C - _02049AF2 - 2; case 1 + .short _02049B54 - _02049AF2 - 2; case 2 + .short _02049B68 - _02049AF2 - 2; case 3 + .short _02049B76 - _02049AF2 - 2; case 4 + .short _02049B9C - _02049AF2 - 2; case 5 + .short _02049BBE - _02049AF2 - 2; case 6 + .short _02049BD2 - _02049AF2 - 2; case 7 +_02049B02: + mov r0, #0x0 + bl FUN_02247970 + bl FUN_0204FCD8 + ldr r0, [r5, #0x68] + bl FUN_0224484C + mov r0, #0x2 + str r0, [sp, #0x0] + mov r0, #0x1e + add r1, r0, #0x0 + sub r1, #0x2e + mov r2, #0x0 + mov r3, #0x1 + bl FUN_0200A208 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049B2C: + mov r0, #0x2 + bl FUN_0200A344 + cmp r0, #0x0 + beq _02049BDC + ldr r0, [r5, #0x68] + cmp r0, #0x0 + bne _02049BDC + bl FUN_02030F40 + cmp r0, #0x0 + bne _02049BDC mov r0, #0x0 - pop {r3-r7, pc} -_0204E0A0: - cmp r1, #0xff - bne _0204E0AA + mov r1, #0x1e + bl FUN_020053CC + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049B54: + add r0, r6, #0x0 + mov r1, #0x2 + bl FUN_02049C0C + cmp r0, #0x0 + beq _02049BDC + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049B68: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049B76: + mov r0, #0x0 + str r0, [r5, #0x6c] + ldr r0, _02049BE4 ; =0x00000012 + bl FUN_02005F60 + ldr r0, [r4, #0x14] + mov r2, #0x1 + str r0, [sp, #0x0] + str r2, [sp, #0x4] + ldr r1, [r4, #0x8] + ldr r3, [r4, #0x10] + add r0, r6, #0x0 + sub r2, r2, #0x2 + bl FUN_020491A8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049B9C: + bl FUN_02005404 + cmp r0, #0x0 + bne _02049BDC + mov r0, #0x0 + bl FUN_0200415C + add r0, r5, #0x0 + bl FUN_0204AB44 + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049BBE: + add r0, r6, #0x0 + mov r1, #0x3 + bl FUN_02049C0C + cmp r0, #0x0 + beq _02049BDC + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049BDC +_02049BD2: + bl FUN_02016A18 add sp, #0x8 mov r0, #0x1 - pop {r3-r7, pc} -_0204E0AA: - sub r1, r1, #0x1 - strb r1, [r2, r5] - cmp r4, #0x1 - bne _0204E0B8 + pop {r4-r6, pc} +_02049BDC: + mov r0, #0x0 add sp, #0x8 - mov r0, #0x1 - pop {r3-r7, pc} -_0204E0B8: - bl FUN_0204E544 - add r6, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0204E598 - str r0, [sp, #0x0] - ldr r0, _0204E16C ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204E174 ; =0x00000112 - ldrb r0, [r1, r0] - bl FUN_02059BF4 - add r7, r6, r0 - ldr r0, _0204E16C ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204E174 ; =0x00000112 - ldrb r0, [r1, r0] - bl FUN_02059C00 - ldr r1, [sp, #0x0] - add r6, r1, r0 - ldr r0, _0204E16C ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204E170 ; =0x0000010A - ldrb r0, [r1, r0] + pop {r4-r6, pc} + nop +_02049BE4: .word 0x00000012 + + thumb_func_start FUN_02049BE8 +FUN_02049BE8: ; 0x02049BE8 + push {r3, lr} + ldr r0, [r0, #0x6c] cmp r0, #0x0 - beq _0204E110 + bne _02049BF4 + ldr r0, _02049C04 ; =FUN_02049844 + pop {r3, pc} +_02049BF4: + cmp r0, #0x1 + bne _02049BFC + ldr r0, _02049C08 ; =FUN_02049ACC + pop {r3, pc} +_02049BFC: + bl FUN_02020C2C + mov r0, #0x0 + pop {r3, pc} + .balign 4 +_02049C04: .word FUN_02049844 + 1 +_02049C08: .word FUN_02049ACC + 1 + + thumb_func_start FUN_02049C0C +FUN_02049C0C: ; 0x02049C0C + push {r3-r7, lr} + add r4, r0, #0x0 + add r6, r1, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + mov r5, #0x0 + cmp r0, #0x0 + beq _02049C2E + cmp r0, #0x1 + beq _02049C44 + b _02049C4E +_02049C2E: + add r2, r4, #0x0 + str r5, [r4, #0x18] add r0, r7, #0x0 add r1, r6, #0x0 - add r2, r5, #0x0 - bl FUN_0204D7B0 + add r2, #0x18 + bl FUN_02053C98 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02049C4E +_02049C44: + ldr r0, [r4, #0x18] cmp r0, #0x0 - beq _0204E110 - ldr r1, _0204E16C ; =0x021C5A68 - mov r0, #0x1 - ldr r1, [r1, #0x0] - add r2, r1, r5 - ldr r1, _0204E170 ; =0x0000010A - strb r0, [r2, r1] -_0204E110: - ldr r0, _0204E16C ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E170 ; =0x0000010A - add r2, r1, r5 - ldrb r0, [r2, r0] - cmp r0, #0x1 - bne _0204E124 - add sp, #0x8 - mov r0, #0x1 + beq _02049C4E + str r5, [r4, #0x4] + mov r5, #0x1 +_02049C4E: + add r0, r5, #0x0 pop {r3-r7, pc} -_0204E124: + .balign 4 + + thumb_func_start FUN_02049C54 +FUN_02049C54: ; 0x02049C54 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - bne _0204E13E - mov r1, #0x1 - add r0, sp, #0x4 - strb r1, [r0, #0x0] + beq _02049C76 + cmp r0, #0x1 + beq _02049C84 + cmp r0, #0x2 + beq _02049C9C + b _02049CAC +_02049C76: + add r0, r5, #0x0 + bl FUN_02048B34 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049CAC +_02049C84: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl FUN_02048958 add r0, r5, #0x0 - add r2, sp, #0x4 - mov r3, #0x0 - bl FUN_0224089C - add sp, #0x8 - mov r0, #0x1 - pop {r3-r7, pc} -_0204E13E: - add r1, #0x62 - lsl r2, r5, #0x3 - add r0, r1, r2 - strh r7, [r1, r2] - strh r6, [r0, #0x2] - cmp r4, #0x2 - beq _0204E156 - cmp r4, #0x4 - beq _0204E15C - cmp r4, #0x8 - beq _0204E162 - b _0204E166 -_0204E156: - mov r1, #0x0 - strb r1, [r0, #0x5] - b _0204E166 -_0204E15C: - mov r1, #0x1 - strb r1, [r0, #0x5] - b _0204E166 -_0204E162: mov r1, #0x2 - strb r1, [r0, #0x5] -_0204E166: + bl FUN_0203989C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049CAC +_02049C9C: + add r0, r5, #0x0 + bl FUN_02048AE4 + add r0, r4, #0x0 + bl FUN_02016A18 mov r0, #0x1 - add sp, #0x8 + pop {r3-r5, pc} +_02049CAC: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_02049CB0 +FUN_02049CB0: ; 0x02049CB0 + push {r3-r7, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x18 + bl FUN_020169D8 + add r4, r0, #0x0 + add r0, r7, #0x0 + bl FUN_0203739C + cmp r0, #0x0 + beq _02049CD6 + bl FUN_02020C2C + pop {r3-r7, pc} +_02049CD6: + mov r0, #0x0 + str r0, [r4, #0x0] + ldmia r5!, {r0-r1} + add r2, r4, #0x4 + stmia r2!, {r0-r1} + ldmia r5!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r5, #0x0] + ldr r1, _02049CF4 ; =FUN_02049C54 + str r0, [r2, #0x0] + add r0, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0204640C pop {r3-r7, pc} .balign 4 -_0204E16C: .word 0x021C5A68 -_0204E170: .word 0x0000010A -_0204E174: .word 0x00000112 +_02049CF4: .word FUN_02049C54 + 1 - thumb_func_start FUN_0204E178 -FUN_0204E178: ; 0x0204E178 + thumb_func_start FUN_02049CF8 +FUN_02049CF8: ; 0x02049CF8 push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C add r5, r0, #0x0 - ldr r0, _0204E1DC ; =0x021C5A68 - add r4, r1, #0x0 - ldr r1, [r0, #0x0] - lsl r0, r5, #0x3 - add r1, #0x62 - add r6, r1, r0 - add r0, r4, #0x0 - add r7, r2, #0x0 - bl FUN_0204F610 - ldr r1, _0204E1DC ; =0x021C5A68 - strb r0, [r6, #0x4] - ldr r0, [r1, #0x0] - add r2, r0, r5 - ldr r0, _0204E1E0 ; =0x00000112 - cmp r7, #0x0 - strb r4, [r2, r0] - beq _0204E1B6 - ldr r2, [r1, #0x0] - mov r3, #0x1 - add r2, r2, r5 - add r0, #0x18 - strb r3, [r2, r0] - ldr r0, [r1, #0x0] - mov r2, #0x2d - add r1, r0, r5 - add r0, r2, #0x0 - add r0, #0xdd - b _0204E1CA -_0204E1B6: - ldr r2, [r1, #0x0] - mov r3, #0x0 - add r2, r2, r5 - add r0, #0x18 - strb r3, [r2, r0] - ldr r0, [r1, #0x0] - mov r2, #0x1b - add r1, r0, r5 - add r0, r2, #0x0 - add r0, #0xef -_0204E1CA: - strb r2, [r1, r0] - ldr r0, _0204E1DC ; =0x021C5A68 - mov r2, #0x1 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204E1E4 ; =0x00000132 - strb r2, [r1, r0] - pop {r3-r7, pc} - nop -_0204E1DC: .word 0x021C5A68 -_0204E1E0: .word 0x00000112 -_0204E1E4: .word 0x00000132 - - thumb_func_start FUN_0204E1E8 -FUN_0204E1E8: ; 0x0204E1E8 - ldr r1, _0204E1F8 ; =0x021C5A68 + add r0, r6, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x5 + bhi _02049D98 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02049D24: ; jump table (using 16-bit offset) + .short _02049D30 - _02049D24 - 2; case 0 + .short _02049D4C - _02049D24 - 2; case 1 + .short _02049D60 - _02049D24 - 2; case 2 + .short _02049D72 - _02049D24 - 2; case 3 + .short _02049D80 - _02049D24 - 2; case 4 + .short _02049D8E - _02049D24 - 2; case 5 +_02049D30: + ldr r1, [r5, #0x8] + add r0, r7, #0x0 mov r2, #0x0 - ldr r1, [r1, #0x0] - add r1, r1, r0 - ldr r0, _0204E1FC ; =0x0000010A - strb r2, [r1, r0] - bx lr - nop -_0204E1F8: .word 0x021C5A68 -_0204E1FC: .word 0x0000010A - - thumb_func_start FUN_0204E200 -FUN_0204E200: ; 0x0204E200 - ldr r1, _0204E210 ; =0x021C5A68 - mov r2, #0xff - ldr r1, [r1, #0x0] - add r1, r1, r0 - add r0, r2, #0x0 - add r0, #0xb - strb r2, [r1, r0] - bx lr - .balign 4 -_0204E210: .word 0x021C5A68 + bl FUN_0204ACA8 + add r0, r7, #0x0 + mov r1, #0x1 + add r2, r5, #0x4 + bl FUN_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D4C: + ldr r0, [r5, #0x4] + cmp r0, #0x0 + beq _02049D98 + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D60: + add r5, #0x8 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D72: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D80: + add r0, r6, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049D98 +_02049D8E: + add r0, r5, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_02049D98: + mov r0, #0x0 + pop {r3-r7, pc} - thumb_func_start FUN_0204E214 -FUN_0204E214: ; 0x0204E214 + thumb_func_start FUN_02049D9C +FUN_02049D9C: ; 0x02049D9C push {r4-r6, lr} add r5, r0, #0x0 - ldr r0, _0204E24C ; =0x021C5A68 - add r4, r1, #0x0 - ldr r1, [r0, #0x0] - lsl r0, r5, #0x2 - add r0, r1, r0 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - beq _0204E248 - bl FUN_020553A0 - mov r1, #0x80 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl FUN_020169D8 add r6, r0, #0x0 - bl FUN_02058410 - mov r1, #0x1 - add r0, r6, #0x0 - lsl r1, r1, #0x8 - bl FUN_02058410 - ldr r0, _0204E24C ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r5 - ldr r0, _0204E250 ; =0x00000102 - strb r4, [r1, r0] -_0204E248: + mov r1, #0x0 + mov r2, #0x1c + blx FUN_020CE34C + add r2, r6, #0x0 + ldmia r4!, {r0-r1} + add r2, #0x8 + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r4, #0x0] + str r0, [r2, #0x0] + add r0, r5, #0x0 + bl FUN_020520F8 + ldr r0, [r5, #0x7c] + bl FUN_02052FA4 + mov r0, #0x0 + str r0, [r5, #0x6c] + ldr r1, _02049DF0 ; =FUN_02049CF8 + add r0, r5, #0x0 + add r2, r6, #0x0 + bl FUN_020463CC + mov r0, #0x0 + str r0, [r5, #0x78] pop {r4-r6, pc} nop -_0204E24C: .word 0x021C5A68 -_0204E250: .word 0x00000102 +_02049DF0: .word FUN_02049CF8 + 1 - thumb_func_start FUN_0204E254 -FUN_0204E254: ; 0x0204E254 - push {r3-r5, lr} + thumb_func_start FUN_02049DF4 +FUN_02049DF4: ; 0x02049DF4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - ldr r0, _0204E2A0 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x2 - add r0, r1, r0 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - beq _0204E29E - add r2, r1, r4 - ldr r1, _0204E2A4 ; =0x00000102 - ldrsb r2, [r2, r1] + ldr r0, [r4, #0x0] + cmp r0, #0x6 + bhi _02049E9E + add r1, r0, r0 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02049E20: ; jump table (using 16-bit offset) + .short _02049E2E - _02049E20 - 2; case 0 + .short _02049E46 - _02049E20 - 2; case 1 + .short _02049E54 - _02049E20 - 2; case 2 + .short _02049E66 - _02049E20 - 2; case 3 + .short _02049E74 - _02049E20 - 2; case 4 + .short _02049E88 - _02049E20 - 2; case 5 + .short _02049E94 - _02049E20 - 2; case 6 +_02049E2E: + ldr r1, [r5, #0x8] + add r0, r7, #0x0 + mov r2, #0x0 + bl FUN_0204ACA8 + add r0, r6, #0x0 + bl FUN_0204AFC8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E46: + add r0, r6, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E54: + add r5, #0x8 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E66: + add r0, r6, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E74: mov r1, #0x0 - mvn r1, r1 - cmp r2, r1 - beq _0204E29E - bl FUN_020553A0 - add r5, r0, #0x0 - bl FUN_0205AE50 - add r0, r5, #0x0 - mov r1, #0x80 - bl FUN_02058418 - mov r1, #0x1 + str r1, [r5, #0x4] + add r0, r7, #0x0 + add r2, r5, #0x4 + bl FUN_021E7750 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E88: + ldr r1, [r5, #0x4] + cmp r1, #0x0 + beq _02049E9E + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049E9E +_02049E94: add r0, r5, #0x0 - lsl r1, r1, #0x8 - bl FUN_02058418 - ldr r0, _0204E2A0 ; =0x021C5A68 - mov r2, #0x0 - ldr r0, [r0, #0x0] - mvn r2, r2 - add r1, r0, r4 - ldr r0, _0204E2A4 ; =0x00000102 - strb r2, [r1, r0] -_0204E29E: - pop {r3-r5, pc} - .balign 4 -_0204E2A0: .word 0x021C5A68 -_0204E2A4: .word 0x00000102 - - thumb_func_start FUN_0204E2A8 -FUN_0204E2A8: ; 0x0204E2A8 - mov r0, #0x4 - bx lr - - thumb_func_start FUN_0204E2AC -FUN_0204E2AC: ; 0x0204E2AC - ldr r3, _0204E2B0 ; =FUN_0204F7FC - bx r3 - .balign 4 -_0204E2B0: .word FUN_0204F7FC + 1 - - thumb_func_start FUN_0204E2B4 -FUN_0204E2B4: ; 0x0204E2B4 - ldr r3, _0204E2B8 ; =FUN_0204F7FC - bx r3 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_02049E9E: + mov r0, #0x0 + pop {r3-r7, pc} .balign 4 -_0204E2B8: .word FUN_0204F7FC + 1 - thumb_func_start FUN_0204E2BC -FUN_0204E2BC: ; 0x0204E2BC - ldr r3, _0204E2C4 ; =FUN_0204F774 + thumb_func_start FUN_02049EA4 +FUN_02049EA4: ; 0x02049EA4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r7, r0, #0x0 + mov r0, #0xb + mov r1, #0x1c + bl FUN_020169D8 + mov r1, #0x0 + mov r2, #0x1c + add r4, r0, #0x0 + blx FUN_020CE34C + add r0, r7, #0x0 + add r1, r5, #0x0 + bl FUN_02048CB0 + ldr r0, _02049F08 ; =0x000001D2 + str r0, [r4, #0x8] + mov r0, #0x0 + mvn r0, r0 + str r0, [r4, #0xc] + mov r0, #0x8 + str r0, [r4, #0x10] + mov r0, #0xe + str r0, [r4, #0x14] + mov r0, #0x0 + str r0, [r4, #0x18] + add r0, r5, #0x0 + bl FUN_020520AC + str r0, [r5, #0x78] + bl FUN_02052EE8 + str r0, [r5, #0x7c] mov r0, #0x2 - bx r3 - nop -_0204E2C4: .word FUN_0204F774 + 1 - - thumb_func_start FUN_0204E2C8 -FUN_0204E2C8: ; 0x0204E2C8 - ldr r3, _0204E2D0 ; =FUN_0204F774 - mov r0, #0x20 - bx r3 - nop -_0204E2D0: .word FUN_0204F774 + 1 - - thumb_func_start FUN_0204E2D4 -FUN_0204E2D4: ; 0x0204E2D4 - ldr r3, _0204E2DC ; =FUN_0204F774 - mov r0, #0x1 - bx r3 - nop -_0204E2DC: .word FUN_0204F774 + 1 - - thumb_func_start FUN_0204E2E0 -FUN_0204E2E0: ; 0x0204E2E0 - push {r3, lr} - add r1, sp, #0x0 - strb r0, [r1, #0x0] - mov r0, #0x1a - add r1, sp, #0x0 - bl FUN_02030C4C - pop {r3, pc} - - thumb_func_start FUN_0204E2F0 -FUN_0204E2F0: ; 0x0204E2F0 - ldr r3, _0204E2F8 ; =0x0223E4BD - ldrb r0, [r2, #0x0] - bx r3 - nop -_0204E2F8: .word 0x0223E4BD + str r0, [r5, #0x6c] + ldr r1, _02049F0C ; =FUN_02049DF4 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0204640C + pop {r3-r7, pc} + .balign 4 +_02049F08: .word 0x000001D2 +_02049F0C: .word FUN_02049DF4 + 1 - thumb_func_start FUN_0204E2FC -FUN_0204E2FC: ; 0x0204E2FC - push {r3, lr} - bl FUN_02031280 + thumb_func_start FUN_02049F10 +FUN_02049F10: ; 0x02049F10 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _02049F8E + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02049F34: ; jump table (using 16-bit offset) + .short _02049F3C - _02049F34 - 2; case 0 + .short _02049F58 - _02049F34 - 2; case 1 + .short _02049F68 - _02049F34 - 2; case 2 + .short _02049F86 - _02049F34 - 2; case 3 +_02049F3C: + ldr r0, _02049F94 ; =0x00000603 + bl FUN_020054C8 + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD60 + add r0, r5, #0x0 + bl FUN_0204B090 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049F8E +_02049F58: + add r0, r5, #0x0 + add r1, r4, #0x4 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049F8E +_02049F68: + bl FUN_02005404 cmp r0, #0x0 - beq _0204E30A + bne _02049F8E + ldr r1, [r4, #0x4] + add r0, r6, #0x0 + bl FUN_0204AD8C + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02049F8E +_02049F86: + bl FUN_02016A18 mov r0, #0x1 - pop {r3, pc} -_0204E30A: - ldr r0, _0204E344 ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E316 - mov r0, #0x0 - pop {r3, pc} -_0204E316: - bl FUN_02031190 - bl FUN_02030E7C - cmp r0, #0x0 - bne _0204E326 - mov r0, #0x0 - pop {r3, pc} -_0204E326: - ldr r0, _0204E344 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E348 ; =0x000002BE - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0204E33E - bl FUN_0204FE5C - cmp r0, #0x0 - bne _0204E33E + pop {r4-r6, pc} +_02049F8E: mov r0, #0x0 - pop {r3, pc} -_0204E33E: - mov r0, #0x1 - pop {r3, pc} + pop {r4-r6, pc} nop -_0204E344: .word 0x021C5A68 -_0204E348: .word 0x000002BE +_02049F94: .word 0x00000603 - thumb_func_start FUN_0204E34C -FUN_0204E34C: ; 0x0204E34C - ldr r1, _0204E358 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0x48 - ldrb r0, [r0, #0x0] - bx lr - .balign 4 -_0204E358: .word 0x021C5A68 + thumb_func_start FUN_02049F98 +FUN_02049F98: ; 0x02049F98 + push {r3-r7, lr} + sub sp, #0x18 + str r0, [sp, #0x0] + add r5, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r1, r4, #0x0 + bl FUN_02048CB0 + mov r0, #0x3 + str r0, [r4, #0x6c] + mov r0, #0xb + mov r1, #0x1c + bl FUN_020169D8 + add r2, r0, #0x0 + ldr r0, [sp, #0x30] + str r5, [sp, #0x4] + str r0, [sp, #0x10] + ldr r0, [sp, #0x34] + str r6, [sp, #0x8] + str r0, [sp, #0x14] + mov r0, #0x0 + str r7, [sp, #0xc] + add r4, sp, #0x4 + str r0, [r2, #0x0] + ldmia r4!, {r0-r1} + add r3, r2, #0x4 + stmia r3!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + ldr r0, [r4, #0x0] + ldr r1, _02049FF8 ; =FUN_02049F10 + str r0, [r3, #0x0] + ldr r0, [sp, #0x0] + bl FUN_0204640C + add sp, #0x18 + pop {r3-r7, pc} + nop +_02049FF8: .word FUN_02049F10 + 1 - thumb_func_start FUN_0204E35C -FUN_0204E35C: ; 0x0204E35C + thumb_func_start FUN_02049FFC +FUN_02049FFC: ; 0x02049FFC push {r4, lr} + bl FUN_02046528 add r4, r0, #0x0 - ldr r0, _0204E39C ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E36C - ldr r0, _0204E3A0 ; =0x0000FFFF - pop {r4, pc} -_0204E36C: - bl FUN_02031190 - cmp r4, r0 - bne _0204E382 - ldr r0, _0204E39C ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa2 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E382: - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E398 - ldr r0, _0204E39C ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa2 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E398: - ldr r0, _0204E3A0 ; =0x0000FFFF + ldr r0, [r4, #0xc] + bl FUN_02034E30 + bl FUN_02034DD0 + add r1, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x6c] + ldr r0, [r4, #0x10] + bl FUN_020490C0 pop {r4, pc} - .balign 4 -_0204E39C: .word 0x021C5A68 -_0204E3A0: .word 0x0000FFFF - thumb_func_start FUN_0204E3A4 -FUN_0204E3A4: ; 0x0204E3A4 + thumb_func_start FUN_0204A01C +FUN_0204A01C: ; 0x0204A01C push {r4, lr} + mov r1, #0xa2 + mov r2, #0x0 add r4, r0, #0x0 - ldr r0, _0204E3E4 ; =0x021C5A68 - ldr r0, [r0, #0x0] + bl FUN_020671BC cmp r0, #0x0 - bne _0204E3B4 - ldr r0, _0204E3E8 ; =0x0000FFFF - pop {r4, pc} -_0204E3B4: - bl FUN_02031190 - cmp r4, r0 - bne _0204E3CA - ldr r0, _0204E3E4 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa4 - ldrh r0, [r0, #0x0] + bne _0204A030 + mov r0, #0x0 pop {r4, pc} -_0204E3CA: - bl FUN_0204E2FC +_0204A030: + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020671BC cmp r0, #0x0 - beq _0204E3E0 - ldr r0, _0204E3E4 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa4 - ldrh r0, [r0, #0x0] + bne _0204A042 + mov r0, #0x1 pop {r4, pc} -_0204E3E0: - ldr r0, _0204E3E8 ; =0x0000FFFF +_0204A042: + mov r0, #0x0 pop {r4, pc} .balign 4 -_0204E3E4: .word 0x021C5A68 -_0204E3E8: .word 0x0000FFFF - thumb_func_start FUN_0204E3EC -FUN_0204E3EC: ; 0x0204E3EC - push {r4, lr} - add r4, r0, #0x0 - ldr r0, _0204E438 ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E3FC - ldr r0, _0204E43C ; =0x0000FFFF - pop {r4, pc} -_0204E3FC: - bl FUN_02031190 - cmp r4, r0 - bne _0204E412 - ldr r0, _0204E438 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa2 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E412: - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E428 - ldr r0, _0204E438 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E42C -_0204E428: - ldr r0, _0204E43C ; =0x0000FFFF - pop {r4, pc} -_0204E42C: - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa2 - ldrh r0, [r0, #0x0] - pop {r4, pc} - nop -_0204E438: .word 0x021C5A68 -_0204E43C: .word 0x0000FFFF - - thumb_func_start FUN_0204E440 -FUN_0204E440: ; 0x0204E440 - push {r4, lr} + thumb_func_start FUN_0204A048 +FUN_0204A048: ; 0x0204A048 + push {r3-r7, lr} + sub sp, #0x20 + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x10] + bl FUN_020238F4 + str r0, [sp, #0x14] + add r0, r6, #0x0 + bl FUN_0206BB1C + str r0, [sp, #0x18] + add r0, r5, #0x0 + bl FUN_020669C0 add r4, r0, #0x0 - ldr r0, _0204E48C ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E450 - ldr r0, _0204E490 ; =0x0000FFFF - pop {r4, pc} -_0204E450: - bl FUN_02031190 - cmp r4, r0 - bne _0204E466 - ldr r0, _0204E48C ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa4 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E466: - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E47C - ldr r0, _0204E48C ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E480 -_0204E47C: - ldr r0, _0204E490 ; =0x0000FFFF - pop {r4, pc} -_0204E480: - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0xa4 - ldrh r0, [r0, #0x0] - pop {r4, pc} - nop -_0204E48C: .word 0x021C5A68 -_0204E490: .word 0x0000FFFF - - thumb_func_start FUN_0204E494 -FUN_0204E494: ; 0x0204E494 - ldr r1, _0204E4AC ; =0x021C5A68 - ldr r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204E4A6 - lsl r0, r0, #0x3 - add r0, r1, r0 - add r0, #0xa2 - ldrh r0, [r0, #0x0] - bx lr -_0204E4A6: - ldr r0, _0204E4B0 ; =0x0000FFFF - bx lr - nop -_0204E4AC: .word 0x021C5A68 -_0204E4B0: .word 0x0000FFFF - - thumb_func_start FUN_0204E4B4 -FUN_0204E4B4: ; 0x0204E4B4 - ldr r1, _0204E4CC ; =0x021C5A68 - ldr r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204E4C6 - lsl r0, r0, #0x3 - add r0, r1, r0 - add r0, #0xa4 - ldrh r0, [r0, #0x0] - bx lr -_0204E4C6: - ldr r0, _0204E4D0 ; =0x0000FFFF - bx lr - nop -_0204E4CC: .word 0x021C5A68 -_0204E4D0: .word 0x0000FFFF + bl FUN_02066978 + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + str r0, [sp, #0xc] + ldr r2, [sp, #0x10] + add r0, r4, #0x0 + add r1, r7, #0x0 + mov r3, #0x20 + bl FUN_02066ACC + ldr r0, [sp, #0x40] + ldr r1, [sp, #0x14] + str r0, [sp, #0x0] + ldr r3, [sp, #0x3c] + add r0, r4, #0x0 + mov r2, #0x4 + str r5, [sp, #0x4] + bl FUN_0206A014 + add r0, sp, #0x28 + ldrh r0, [r0, #0x10] + mov r1, #0x6 + add r2, sp, #0x1c + str r0, [sp, #0x1c] + add r0, r4, #0x0 + bl FUN_02067830 + ldr r0, [sp, #0x18] + add r1, r4, #0x0 + bl FUN_0206B900 + add r5, r0, #0x0 + beq _0204A0BC + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0202C144 +_0204A0BC: + add r0, r4, #0x0 + bl FUN_02016A18 + add r0, r5, #0x0 + add sp, #0x20 + pop {r3-r7, pc} - thumb_func_start FUN_0204E4D4 -FUN_0204E4D4: ; 0x0204E4D4 - push {r4, lr} + thumb_func_start FUN_0204A0C8 +FUN_0204A0C8: ; 0x0204A0C8 + push {r4-r7, lr} + sub sp, #0xc + add r4, r1, #0x0 + add r0, r4, #0x0 + add r5, r2, #0x0 + add r7, r3, #0x0 + bl FUN_020238F4 + str r0, [sp, #0x8] + add r0, r4, #0x0 + bl FUN_0206BB1C + add r6, r0, #0x0 + mov r0, #0x20 + bl FUN_020669C0 add r4, r0, #0x0 - bl FUN_0204E3EC - ldr r1, _0204E504 ; =0x0000FFFF - cmp r0, r1 - bne _0204E4E6 - add r0, r1, #0x0 - pop {r4, pc} -_0204E4E6: - ldr r0, _0204E508 ; =0x021C5A68 - lsl r4, r4, #0x3 - ldr r0, [r0, #0x0] - add r1, r0, r4 - mov r0, #0xa6 - ldrsb r0, [r1, r0] - bl FUN_02059BF4 - ldr r1, _0204E508 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r4 - add r1, #0xa2 - ldrh r1, [r1, #0x0] - add r0, r1, r0 - pop {r4, pc} + bl FUN_02066978 + ldr r0, [sp, #0x20] + ldr r1, [sp, #0x24] + bl FUN_02015CF8 + mov r1, #0x4 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + ldr r3, [sp, #0x8] + add r0, r4, #0x0 + add r1, r5, #0x0 + add r2, r7, #0x0 + bl FUN_021ECF14 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0206B900 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02016A18 + add r0, r5, #0x0 + add sp, #0xc + pop {r4-r7, pc} .balign 4 -_0204E504: .word 0x0000FFFF -_0204E508: .word 0x021C5A68 - thumb_func_start FUN_0204E50C -FUN_0204E50C: ; 0x0204E50C - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204E440 - ldr r1, _0204E53C ; =0x0000FFFF - cmp r0, r1 - bne _0204E51E - add r0, r1, #0x0 - pop {r4, pc} -_0204E51E: - ldr r0, _0204E540 ; =0x021C5A68 - lsl r4, r4, #0x3 - ldr r0, [r0, #0x0] - add r1, r0, r4 - mov r0, #0xa6 - ldrsb r0, [r1, r0] - bl FUN_02059C00 - ldr r1, _0204E540 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r4 - add r1, #0xa4 - ldrh r1, [r1, #0x0] - add r0, r1, r0 - pop {r4, pc} + thumb_func_start FUN_0204A120 +FUN_0204A120: ; 0x0204A120 + push {r3-r5, lr} + add r5, r2, #0x0 + add r4, r3, #0x0 + bl FUN_0206B9B0 + lsl r2, r5, #0x18 + add r1, r4, #0x0 + lsr r2, r2, #0x18 + bl FUN_020697CC + pop {r3-r5, pc} .balign 4 -_0204E53C: .word 0x0000FFFF -_0204E540: .word 0x021C5A68 - - thumb_func_start FUN_0204E544 -FUN_0204E544: ; 0x0204E544 - push {r4, lr} - add r4, r0, #0x0 - ldr r0, _0204E590 ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E554 - ldr r0, _0204E594 ; =0x0000FFFF - pop {r4, pc} -_0204E554: - bl FUN_02031190 - cmp r4, r0 - bne _0204E56A - ldr r0, _0204E590 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0x62 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E56A: - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E580 - ldr r0, _0204E590 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E584 -_0204E580: - ldr r0, _0204E594 ; =0x0000FFFF - pop {r4, pc} -_0204E584: - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0x62 - ldrh r0, [r0, #0x0] - pop {r4, pc} - nop -_0204E590: .word 0x021C5A68 -_0204E594: .word 0x0000FFFF - thumb_func_start FUN_0204E598 -FUN_0204E598: ; 0x0204E598 - push {r4, lr} + thumb_func_start FUN_0204A138 +FUN_0204A138: ; 0x0204A138 + push {r3-r7, lr} + str r0, [sp, #0x0] + add r5, r1, #0x0 + bl FUN_0206B9AC + add r7, r0, #0x0 + mov r6, #0x0 + cmp r7, #0x0 + ble _0204A1A2 +_0204A14A: + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 add r4, r0, #0x0 - ldr r0, _0204E5E4 ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204E5A8 - ldr r0, _0204E5E8 ; =0x0000FFFF - pop {r4, pc} -_0204E5A8: - bl FUN_02031190 - cmp r4, r0 - bne _0204E5BE - ldr r0, _0204E5E4 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0x64 - ldrh r0, [r0, #0x0] - pop {r4, pc} -_0204E5BE: - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E5D4 - ldr r0, _0204E5E4 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] + bl FUN_020671BC cmp r0, #0x0 - bne _0204E5D8 -_0204E5D4: - ldr r0, _0204E5E8 ; =0x0000FFFF - pop {r4, pc} -_0204E5D8: - lsl r0, r4, #0x3 - add r0, r1, r0 - add r0, #0x64 - ldrh r0, [r0, #0x0] - pop {r4, pc} - nop -_0204E5E4: .word 0x021C5A68 -_0204E5E8: .word 0x0000FFFF - - thumb_func_start FUN_0204E5EC -FUN_0204E5EC: ; 0x0204E5EC - ldr r1, _0204E604 ; =0x021C5A68 - ldr r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204E5FE - lsl r0, r0, #0x3 - add r0, r1, r0 - add r0, #0x62 - ldrh r0, [r0, #0x0] - bx lr -_0204E5FE: - ldr r0, _0204E608 ; =0x0000FFFF - bx lr - nop -_0204E604: .word 0x021C5A68 -_0204E608: .word 0x0000FFFF - - thumb_func_start FUN_0204E60C -FUN_0204E60C: ; 0x0204E60C - ldr r1, _0204E624 ; =0x021C5A68 - ldr r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204E61E - lsl r0, r0, #0x3 - add r0, r1, r0 - add r0, #0x64 - ldrh r0, [r0, #0x0] - bx lr -_0204E61E: - ldr r0, _0204E628 ; =0x0000FFFF - bx lr - nop -_0204E624: .word 0x021C5A68 -_0204E628: .word 0x0000FFFF - - thumb_func_start FUN_0204E62C -FUN_0204E62C: ; 0x0204E62C - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204E544 - ldr r1, _0204E65C ; =0x0000FFFF - cmp r0, r1 - bne _0204E63E - add r0, r1, #0x0 - pop {r4, pc} -_0204E63E: - ldr r0, _0204E660 ; =0x021C5A68 - lsl r4, r4, #0x3 - ldr r0, [r0, #0x0] - add r1, r0, r4 - mov r0, #0x66 - ldrsb r0, [r1, r0] - bl FUN_02059BF4 - ldr r1, _0204E660 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r4 - add r1, #0x62 - ldrh r1, [r1, #0x0] - add r0, r1, r0 - pop {r4, pc} + bne _0204A19C + add r0, r4, #0x0 + mov r1, #0x36 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x37 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x38 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + beq _0204A198 + add r0, r4, #0x0 + mov r1, #0x39 + mov r2, #0x0 + bl FUN_020671BC + cmp r5, r0 + bne _0204A19C +_0204A198: + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204A19C: + add r6, r6, #0x1 + cmp r6, r7 + blt _0204A14A +_0204A1A2: + mov r0, #0xff + pop {r3-r7, pc} .balign 4 -_0204E65C: .word 0x0000FFFF -_0204E660: .word 0x021C5A68 - thumb_func_start FUN_0204E664 -FUN_0204E664: ; 0x0204E664 - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204E598 - ldr r1, _0204E694 ; =0x0000FFFF - cmp r0, r1 - bne _0204E676 - add r0, r1, #0x0 - pop {r4, pc} -_0204E676: - ldr r0, _0204E698 ; =0x021C5A68 - lsl r4, r4, #0x3 - ldr r0, [r0, #0x0] - add r1, r0, r4 - mov r0, #0x66 - ldrsb r0, [r1, r0] - bl FUN_02059C00 - ldr r1, _0204E698 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r4 - add r1, #0x64 - ldrh r1, [r1, #0x0] - add r0, r1, r0 - pop {r4, pc} + thumb_func_start FUN_0204A1A8 +FUN_0204A1A8: ; 0x0204A1A8 + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_0206B9AC + mov r5, #0x0 + add r6, r0, #0x0 + add r4, r5, #0x0 + cmp r6, #0x0 + ble _0204A1D2 +_0204A1BA: + add r0, r7, #0x0 + add r1, r4, #0x0 + bl FUN_0206B9B0 + bl FUN_0204A01C + cmp r0, #0x0 + beq _0204A1CC + add r5, r5, #0x1 +_0204A1CC: + add r4, r4, #0x1 + cmp r4, r6 + blt _0204A1BA +_0204A1D2: + add r0, r5, #0x0 + pop {r3-r7, pc} .balign 4 -_0204E694: .word 0x0000FFFF -_0204E698: .word 0x021C5A68 - thumb_func_start FUN_0204E69C -FUN_0204E69C: ; 0x0204E69C - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E6B6 - ldr r0, _0204E6C8 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] + thumb_func_start FUN_0204A1D8 +FUN_0204A1D8: ; 0x0204A1D8 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_0206B9AC + add r5, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x0 + ble _0204A204 +_0204A1E8: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0206B9B0 + add r7, r0, #0x0 + bl FUN_0204A01C cmp r0, #0x0 - bne _0204E6BC -_0204E6B6: + beq _0204A1FE + add r0, r7, #0x0 + pop {r3-r7, pc} +_0204A1FE: + add r4, r4, #0x1 + cmp r4, r5 + blt _0204A1E8 +_0204A204: + bl FUN_02020C2C mov r0, #0x0 - mvn r0, r0 - pop {r4, pc} -_0204E6BC: - lsl r0, r4, #0x3 - add r1, r1, r0 - mov r0, #0xa6 - ldrsb r0, [r1, r0] - pop {r4, pc} - nop -_0204E6C8: .word 0x021C5A68 + pop {r3-r7, pc} - thumb_func_start FUN_0204E6CC -FUN_0204E6CC: ; 0x0204E6CC - push {r4, lr} - add r4, r0, #0x0 - bl FUN_0204E2FC - cmp r0, #0x0 - beq _0204E6E6 - ldr r0, _0204E6F8 ; =0x021C5A68 - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x48 - ldrb r0, [r0, #0x0] + thumb_func_start FUN_0204A20C +FUN_0204A20C: ; 0x0204A20C + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_0206B9AC + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + ldr r4, _0204A244 ; =0x00000000 + beq _0204A240 +_0204A21C: + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r7, r0, #0x0 + bl FUN_020671BC cmp r0, #0x0 - bne _0204E6EC -_0204E6E6: + bne _0204A236 + add r0, r7, #0x0 + pop {r3-r7, pc} +_0204A236: + add r0, r4, #0x1 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + cmp r4, r5 + blo _0204A21C +_0204A240: mov r0, #0x0 - mvn r0, r0 - pop {r4, pc} -_0204E6EC: - lsl r0, r4, #0x3 - add r1, r1, r0 - mov r0, #0x66 - ldrsb r0, [r1, r0] - pop {r4, pc} - nop -_0204E6F8: .word 0x021C5A68 - - thumb_func_start FUN_0204E6FC -FUN_0204E6FC: ; 0x0204E6FC - push {r4, lr} - add r4, r1, #0x0 - ldr r1, _0204E728 ; =0x021C5A68 - lsl r0, r0, #0x3 - ldr r1, [r1, #0x0] - add r1, r1, r0 - mov r0, #0x66 - ldrsb r0, [r1, r0] - bl FUN_0204F610 - ldr r2, _0204E728 ; =0x021C5A68 - lsl r1, r4, #0x3 - ldr r3, [r2, #0x0] - add r1, r3, r1 - add r1, #0x66 - strb r0, [r1, #0x0] - ldr r0, [r2, #0x0] - mov r3, #0x1 - add r1, r0, r4 - ldr r0, _0204E72C ; =0x00000132 - strb r3, [r1, r0] - pop {r4, pc} + pop {r3-r7, pc} .balign 4 -_0204E728: .word 0x021C5A68 -_0204E72C: .word 0x00000132 - - thumb_func_start FUN_0204E730 -FUN_0204E730: ; 0x0204E730 - push {r4, lr} - add r4, r1, #0x0 - ldr r1, _0204E754 ; =0x021C5A68 - lsl r0, r0, #0x3 - ldr r1, [r1, #0x0] - add r1, r1, r0 - mov r0, #0xa6 - ldrsb r0, [r1, r0] - bl FUN_0204F610 - ldr r1, _0204E754 ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x3 - add r1, r2, r1 - add r1, #0xa6 - strb r0, [r1, #0x0] - pop {r4, pc} - nop -_0204E754: .word 0x021C5A68 - - thumb_func_start FUN_0204E758 -FUN_0204E758: ; 0x0204E758 - push {r4, lr} - add r2, r0, #0x0 - ldr r0, _0204E774 ; =0x021C5A68 - add r4, r1, #0x0 - ldr r0, [r0, #0x0] - add r1, r2, #0x0 - ldr r0, [r0, #0x4] - bl FUN_02244D40 - add r1, r4, #0x0 - bl FUN_02244D98 - pop {r4, pc} - nop -_0204E774: .word 0x021C5A68 +_0204A244: .word 0x00000000 - thumb_func_start FUN_0204E778 -FUN_0204E778: ; 0x0204E778 + thumb_func_start FUN_0204A248 +FUN_0204A248: ; 0x0204A248 push {r3, lr} - add r1, r0, #0x0 - ldr r0, _0204E790 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x4] - bl FUN_02244D40 - mov r1, #0x0 - bl FUN_02244D98 + bl FUN_0204A1A8 + cmp r0, #0x2 + blt _0204A256 + mov r0, #0x1 pop {r3, pc} - nop -_0204E790: .word 0x021C5A68 +_0204A256: + mov r0, #0x0 + pop {r3, pc} + .balign 4 - thumb_func_start FUN_0204E794 -FUN_0204E794: ; 0x0204E794 + thumb_func_start FUN_0204A25C +FUN_0204A25C: ; 0x0204A25C push {r3-r7, lr} - sub sp, #0x8 - str r1, [sp, #0x0] - ldr r1, _0204E7C8 ; =0x021C5A68 - add r6, r3, #0x0 - ldr r4, [r1, #0x0] - lsl r7, r0, #0x3 - add r4, #0x62 - add r0, r6, #0x0 - str r2, [sp, #0x4] - add r5, r4, r7 - bl FUN_02059BF4 - ldr r1, [sp, #0x0] - add r0, r1, r0 - strh r0, [r4, r7] - add r0, r6, #0x0 - bl FUN_02059C00 - ldr r1, [sp, #0x4] - add r0, r1, r0 - strh r0, [r5, #0x2] - strb r6, [r5, #0x4] - add sp, #0x8 + mov r2, #0x1 + add r1, sp, #0x0 + add r7, r0, #0x0 + strb r2, [r1, #0x0] + bl FUN_0206B9AC + add r6, r0, #0x0 + mov r5, #0x0 + cmp r6, #0x0 + ble _0204A298 +_0204A272: + add r0, r7, #0x0 + add r1, r5, #0x0 + bl FUN_0206B9B0 + mov r1, #0x4c + mov r2, #0x0 + add r4, r0, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _0204A292 + add r0, r4, #0x0 + mov r1, #0x19 + add r2, sp, #0x0 + bl FUN_02067830 +_0204A292: + add r5, r5, #0x1 + cmp r5, r6 + blt _0204A272 +_0204A298: pop {r3-r7, pc} - nop -_0204E7C8: .word 0x021C5A68 + .balign 4 - thumb_func_start FUN_0204E7CC -FUN_0204E7CC: ; 0x0204E7CC + thumb_func_start FUN_0204A29C +FUN_0204A29C: ; 0x0204A29C push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, _0204E848 ; =0x021C5A68 - add r6, r1, #0x0 - ldr r0, [r0, #0x0] - add r7, r2, #0x0 - str r3, [sp, #0x0] + sub sp, #0x10 + mov r7, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + add r6, r7, #0x0 + bl FUN_0206B9AC + add r4, r7, #0x0 + str r0, [sp, #0x8] cmp r0, #0x0 - beq _0204E844 - add r2, r0, #0x0 - add r2, #0xa2 - lsl r1, r5, #0x3 - add r4, r2, r1 - ldr r1, _0204E84C ; =0x000002BD - ldrb r1, [r0, r1] - cmp r1, #0x0 - bne _0204E7FA - ldrh r1, [r4, #0x0] - ldrh r3, [r4, #0x2] - ldr r0, [r0, #0x54] - mov r2, #0x0 - bl FUN_021E5B30 -_0204E7FA: - strh r6, [r4, #0x0] + ble _0204A310 +_0204A2B4: ldr r0, [sp, #0x0] - strh r7, [r4, #0x2] - strb r0, [r4, #0x4] - ldr r0, _0204E848 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r5, #0x2 - add r0, r1, r0 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - beq _0204E81A - ldr r3, [sp, #0x0] - add r1, r6, #0x0 - add r2, r7, #0x0 - bl FUN_02055514 -_0204E81A: - ldr r0, _0204E848 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E84C ; =0x000002BD - ldrb r0, [r1, r0] + add r1, r4, #0x0 + bl FUN_0206B9B0 + add r5, r0, #0x0 + bl FUN_0204A01C cmp r0, #0x0 - bne _0204E832 - ldr r0, [r1, #0x54] - ldrh r1, [r4, #0x0] - ldrh r3, [r4, #0x2] + beq _0204A308 + add r0, r5, #0x0 + mov r1, #0x9f mov r2, #0x0 - bl FUN_021E5B30 -_0204E832: - ldr r0, _0204E848 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204E84C ; =0x000002BD - ldrb r0, [r1, r0] - cmp r0, #0x0 - bne _0204E844 + bl FUN_020671BC + mov r1, #0x88 + tst r0, r1 + beq _0204A308 add r0, r5, #0x0 - bl FUN_0204F0A8 -_0204E844: + mov r1, #0xa2 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0xc] + cmp r0, #0x1 + bls _0204A2EA + sub r0, r0, #0x1 + str r0, [sp, #0xc] +_0204A2EA: + add r0, r5, #0x0 + mov r1, #0xa2 + add r2, sp, #0xc + bl FUN_02067830 + ldr r0, [sp, #0xc] + cmp r0, #0x1 + bne _0204A306 + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + mov r1, #0x7 + add r6, r6, #0x1 + bl FUN_020688E8 +_0204A306: + add r7, r7, #0x1 +_0204A308: + ldr r0, [sp, #0x8] + add r4, r4, #0x1 + cmp r4, r0 + blt _0204A2B4 +_0204A310: + cmp r6, #0x0 + beq _0204A31A + add sp, #0x10 + mov r0, #0x2 pop {r3-r7, pc} - nop -_0204E848: .word 0x021C5A68 -_0204E84C: .word 0x000002BD +_0204A31A: + cmp r7, #0x0 + beq _0204A324 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204A324: + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 - thumb_func_start FUN_0204E850 -FUN_0204E850: ; 0x0204E850 + thumb_func_start FUN_0204A32C +FUN_0204A32C: ; 0x0204A32C push {r3-r4, lr} sub sp, #0x4 - mov r2, #0x2 - add r1, sp, #0x0 + mov r1, #0x9f + mov r2, #0x0 add r4, r0, #0x0 - strb r2, [r1, #0x0] - strb r4, [r1, #0x1] - ldr r1, _0204E8AC ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r4 - add r1, #0xe2 - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204E88A - bl FUN_0204D830 - cmp r0, #0x0 - bne _0204E88A + bl FUN_020671BC + mov r1, #0x88 + tst r0, r1 + beq _0204A362 add r0, r4, #0x0 - bl FUN_0204EE9C - cmp r0, #0x0 - add r0, sp, #0x0 - beq _0204E886 - mov r1, #0x3 - strb r1, [r0, #0x0] - b _0204E88A -_0204E886: - mov r1, #0x1 - strb r1, [r0, #0x0] -_0204E88A: - mov r0, #0x1d - add r1, sp, #0x0 - mov r2, #0x2 - bl FUN_02030BC4 - cmp r0, #0x0 - beq _0204E8A8 - add r0, sp, #0x0 - ldrb r0, [r0, #0x0] - cmp r0, #0x2 - beq _0204E8A8 + mov r1, #0xa2 + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x1 + bne _0204A362 + mov r0, #0x0 + str r0, [sp, #0x0] add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_0204EAD8 -_0204E8A8: + mov r1, #0x9f + add r2, sp, #0x0 + bl FUN_02067830 + add sp, #0x4 + mov r0, #0x1 + pop {r3-r4, pc} +_0204A362: + mov r0, #0x0 add sp, #0x4 pop {r3-r4, pc} - .balign 4 -_0204E8AC: .word 0x021C5A68 - thumb_func_start FUN_0204E8B0 -FUN_0204E8B0: ; 0x0204E8B0 - push {r3-r6} - ldr r2, _0204E8F8 ; =0x021C5A68 - ldr r3, [r2, #0x0] - cmp r3, #0x0 - bne _0204E8C0 - mov r0, #0xff - pop {r3-r6} - bx lr -_0204E8C0: - mov r2, #0x0 - add r4, r3, #0x0 -_0204E8C4: - add r5, r3, #0x0 - add r5, #0x48 - ldrb r5, [r5, #0x0] - cmp r5, #0x0 - beq _0204E8E8 - add r5, r4, #0x0 - add r5, #0x64 - ldrh r6, [r5, #0x0] - add r5, r4, #0x0 - add r5, #0x62 - ldrh r5, [r5, #0x0] - cmp r0, r5 - bne _0204E8E8 - cmp r1, r6 - bne _0204E8E8 - add r0, r2, #0x0 - pop {r3-r6} - bx lr -_0204E8E8: - add r2, r2, #0x1 - add r3, r3, #0x1 - add r4, #0x8 - cmp r2, #0x8 - blt _0204E8C4 - mov r0, #0xff - pop {r3-r6} - bx lr - .balign 4 -_0204E8F8: .word 0x021C5A68 + thumb_func_start FUN_0204A368 +FUN_0204A368: ; 0x0204A368 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x54] + add r4, r1, #0x0 + cmp r0, #0x0 + bne _0204A388 + ldr r1, _0204A38C ; =0x000080E2 + mov r0, #0xb + bl FUN_02016998 + str r0, [r5, #0x54] + ldr r0, [r5, #0x28] + ldr r1, [r5, #0x54] + add r2, r4, #0x0 + bl FUN_0204A3B0 +_0204A388: + pop {r3-r5, pc} + nop +_0204A38C: .word 0x000080E2 - thumb_func_start FUN_0204E8FC -FUN_0204E8FC: ; 0x0204E8FC + thumb_func_start FUN_0204A390 +FUN_0204A390: ; 0x0204A390 push {r4, lr} - add r4, r2, #0x0 - bl FUN_02030FE0 + add r4, r0, #0x0 + ldr r0, [r4, #0x54] cmp r0, #0x0 - beq _0204E962 - ldrb r0, [r4, #0x0] - cmp r0, #0x1 - bne _0204E936 - bl FUN_02031190 - ldrb r1, [r4, #0x1] - cmp r1, r0 - bne _0204E936 - ldr r1, _0204E964 ; =0x021C5A68 - mov r0, #0xae - ldr r3, [r1, #0x0] - lsl r0, r0, #0x2 - ldrb r2, [r3, r0] - cmp r2, #0x0 - bne _0204E962 - mov r2, #0x1 - strb r2, [r3, r0] - ldr r1, [r1, #0x0] - ldr r0, _0204E968 ; =FUN_0204D308 - ldr r1, [r1, #0x54] - bl FUN_022494C8 - pop {r4, pc} -_0204E936: - ldrb r0, [r4, #0x0] - cmp r0, #0x3 - bne _0204E962 - bl FUN_02031190 - ldrb r1, [r4, #0x1] - cmp r1, r0 - bne _0204E962 - ldr r1, _0204E964 ; =0x021C5A68 - mov r0, #0xae - ldr r3, [r1, #0x0] - lsl r0, r0, #0x2 - ldrb r2, [r3, r0] - cmp r2, #0x0 - bne _0204E962 - mov r2, #0x1 - strb r2, [r3, r0] - ldr r1, [r1, #0x0] - ldr r0, _0204E968 ; =FUN_0204D308 - ldr r1, [r1, #0x54] - bl FUN_0224A7C8 -_0204E962: + beq _0204A3A2 + bl FUN_02016A18 + mov r0, #0x0 + str r0, [r4, #0x54] +_0204A3A2: pop {r4, pc} - .balign 4 -_0204E964: .word 0x021C5A68 -_0204E968: .word FUN_0204D308 + 1 - - thumb_func_start FUN_0204E96C -FUN_0204E96C: ; 0x0204E96C - push {r4-r6, lr} - ldr r0, _0204EACC ; =0x021C5A68 - add r5, r2, #0x0 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0xc] - bl FUN_020462AC - add r6, r0, #0x0 - ldrb r0, [r5, #0x1] - cmp r0, #0x8 - blo _0204E988 - bl FUN_02020C2C -_0204E988: - ldrb r0, [r5, #0x0] - cmp r0, #0x4 - bne _0204E9AA - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204E9AA - bl FUN_0204F7E4 - bl FUN_0223D638 - ldr r3, _0204EAD0 ; =FUN_0204E2AC - mov r1, #0x48 - mov r2, #0x1 - bl FUN_0224DCB8 -_0204E9AA: - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _0204E9B8 - ldrb r0, [r5, #0x1] - ldrb r1, [r5, #0x2] - bl FUN_0204E730 -_0204E9B8: - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _0204EA7C - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204EA7C - ldr r2, _0204EACC ; =0x021C5A68 - ldrb r0, [r5, #0x2] - ldr r2, [r2, #0x0] - ldr r1, _0204EAD4 ; =FUN_0204D308 - ldr r2, [r2, #0x54] - bl FUN_02247A34 - ldr r0, _0204EACC ; =0x021C5A68 - ldrb r4, [r5, #0x1] - ldr r2, [r0, #0x0] - mov r3, #0xf - add r1, r2, #0x0 - add r1, #0x58 - ldrb r1, [r1, #0x0] - add r2, #0x58 - bic r1, r3 - mov r3, #0xf - and r3, r4 - orr r1, r3 - strb r1, [r2, #0x0] - ldr r2, [r0, #0x0] - mov r3, #0xf0 - add r1, r2, #0x0 - add r1, #0x58 - ldrb r1, [r1, #0x0] - add r2, #0x58 - bic r1, r3 - ldrb r3, [r5, #0x2] - lsl r3, r3, #0x1c - lsr r3, r3, #0x18 - orr r1, r3 - strb r1, [r2, #0x0] - ldr r3, [r0, #0x0] - add r1, r3, #0x0 - add r1, #0x59 - ldrb r2, [r1, #0x0] - mov r1, #0x1 - add r3, #0x59 - bic r2, r1 - strb r2, [r3, #0x0] - ldr r3, [r0, #0x0] - add r1, r3, #0x0 - add r1, #0x59 - ldrb r2, [r1, #0x0] - mov r1, #0x2 - add r3, #0x59 - bic r2, r1 - strb r2, [r3, #0x0] - ldrb r4, [r5, #0x2] - ldr r1, [r0, #0x0] - add r0, r1, r4 - add r0, #0x5a - ldrb r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204EA7C - ldr r0, [r1, #0x54] - bl FUN_020377AC - bl FUN_02026CB4 - add r1, r4, #0x0 - bl FUN_02026908 - add r0, r6, #0x0 - bl FUN_0205F688 - add r1, r0, #0x0 - add r1, r1, #0x1 - lsl r1, r1, #0x10 - add r0, r6, #0x0 - lsr r1, r1, #0x10 - bl FUN_0205F698 - add r0, r6, #0x0 - bl FUN_0205F6A8 - add r1, r0, #0x0 - add r1, r1, #0x1 - lsl r1, r1, #0x10 - add r0, r6, #0x0 - lsr r1, r1, #0x10 - bl FUN_0205F6B8 - ldr r0, _0204EACC ; =0x021C5A68 - ldrb r1, [r5, #0x2] - ldr r2, [r0, #0x0] - add r2, #0x5a - ldrb r0, [r2, r1] - add r0, r0, #0x1 - strb r0, [r2, r1] -_0204EA7C: - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _0204EA9A - ldrb r4, [r5, #0x2] - bl FUN_02031190 - cmp r4, r0 - bne _0204EA9A - ldr r2, _0204EACC ; =0x021C5A68 - ldrb r1, [r5, #0x1] - ldr r2, [r2, #0x0] - add r0, r4, #0x0 - ldr r2, [r2, #0x54] - bl FUN_02248DF8 -_0204EA9A: - ldrb r0, [r5, #0x0] - cmp r0, #0x2 - bne _0204EABC - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204EABC - bl FUN_0204F7E4 - bl FUN_0223D638 - ldr r3, _0204EAD0 ; =FUN_0204E2AC - mov r1, #0x2 - mov r2, #0x1 - bl FUN_0224DCB8 -_0204EABC: - ldrb r0, [r5, #0x0] - cmp r0, #0x1 - bne _0204EACA - ldrb r0, [r5, #0x1] - ldrb r1, [r5, #0x2] - bl FUN_0223E4A8 -_0204EACA: - pop {r4-r6, pc} - .balign 4 -_0204EACC: .word 0x021C5A68 -_0204EAD0: .word FUN_0204E2AC + 1 -_0204EAD4: .word FUN_0204D308 + 1 - - thumb_func_start FUN_0204EAD8 -FUN_0204EAD8: ; 0x0204EAD8 - push {r3-r4} - ldr r3, _0204EB0C ; =0x021C5A68 - ldr r4, [r3, #0x0] - add r4, #0xe2 - ldrb r2, [r4, r0] - cmp r1, r2 - beq _0204EB08 - strb r1, [r4, r0] - ldr r2, [r3, #0x0] - lsl r1, r0, #0x3 - add r2, r2, r1 - mov r4, #0x0 - add r2, #0x69 - strb r4, [r2, #0x0] - ldr r2, [r3, #0x0] - mov r4, #0x1 - add r2, r2, r0 - ldr r0, _0204EB10 ; =0x00000132 - strb r4, [r2, r0] - ldr r0, [r3, #0x0] - mov r2, #0x2 - add r0, r0, r1 - add r0, #0x67 - strb r2, [r0, #0x0] -_0204EB08: - pop {r3-r4} - bx lr - .balign 4 -_0204EB0C: .word 0x021C5A68 -_0204EB10: .word 0x00000132 - thumb_func_start FUN_0204EB14 -FUN_0204EB14: ; 0x0204EB14 - ldr r1, _0204EB3C ; =0x021C5A68 - ldr r2, [r1, #0x0] - ldr r1, _0204EB40 ; =0x000002C2 - ldrb r1, [r2, r1] - cmp r1, #0x0 - beq _0204EB24 - mov r0, #0x0 - bx lr -_0204EB24: - add r1, r2, r0 - add r1, #0xea - ldrb r1, [r1, #0x0] - cmp r1, #0x0 - beq _0204EB36 + thumb_func_start FUN_0204A3A4 +FUN_0204A3A4: ; 0x0204A3A4 + ldrb r0, [r1, r0] + add r2, r1, #0x0 + add r2, #0xe2 + lsl r0, r0, #0xb add r0, r2, r0 - add r0, #0xe2 - ldrb r0, [r0, #0x0] - bx lr -_0204EB36: - mov r0, #0x0 bx lr - nop -_0204EB3C: .word 0x021C5A68 -_0204EB40: .word 0x000002C2 - thumb_func_start FUN_0204EB44 -FUN_0204EB44: ; 0x0204EB44 - push {r3-r7, lr} - sub sp, #0x30 - ldr r1, _0204EBF8 ; =0x020F5800 - add r0, sp, #0x8 - ldrh r2, [r1, #0x0] - ldr r3, _0204EBFC ; =0x020F5814 - strh r2, [r0, #0x0] - ldrh r2, [r1, #0x2] - strh r2, [r0, #0x2] - ldrh r2, [r1, #0x4] - ldrh r1, [r1, #0x6] - strh r2, [r0, #0x4] - strh r1, [r0, #0x6] - add r2, sp, #0x20 - mov r1, #0x8 -_0204EB62: - ldrh r0, [r3, #0x0] - add r3, r3, #0x2 - strh r0, [r2, #0x0] - add r2, r2, #0x2 - sub r1, r1, #0x1 - bne _0204EB62 - bl FUN_02033534 - bl FUN_02031248 + thumb_func_start FUN_0204A3B0 +FUN_0204A3B0: ; 0x0204A3B0 + push {r4-r7, lr} + sub sp, #0x3c + str r1, [sp, #0x8] + str r2, [sp, #0xc] + str r0, [sp, #0x4] + mov r2, #0x0 + add r1, sp, #0x18 + strb r2, [r1, #0x0] + bl FUN_020344FC add r6, r0, #0x0 + ldr r0, [sp, #0x4] + bl FUN_0203450C + str r0, [sp, #0x10] mov r0, #0x0 - str r0, [sp, #0x4] - str r0, [sp, #0x0] - cmp r6, #0x2 - bne _0204EB86 - add r5, sp, #0x8 - b _0204EB88 -_0204EB86: - add r5, sp, #0x20 -_0204EB88: - mov r7, #0x0 - cmp r6, #0x0 - ble _0204EBD4 -_0204EB8E: - mov r4, #0x0 + str r0, [sp, #0x14] + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _0204A410 + ldr r7, [sp, #0x14] +_0204A3DA: + mov r5, #0x0 cmp r6, #0x0 - ble _0204EBCC -_0204EB94: + ble _0204A402 +_0204A3E0: + add r0, r5, r7 + lsl r0, r0, #0x10 + lsr r4, r0, #0x10 + ldr r1, [sp, #0x4] add r0, r4, #0x0 - bl FUN_0204E3EC - ldrh r1, [r5, #0x0] + bl FUN_020344D8 + add r1, sp, #0x18 + add r1, #0x2 + add r2, sp, #0x18 + bl FUN_0204A45C + ldr r1, [sp, #0x8] + add r5, r5, #0x1 + strb r0, [r1, r4] + cmp r5, r6 + blt _0204A3E0 +_0204A402: + ldr r0, [sp, #0x14] + add r7, r7, r6 + add r1, r0, #0x1 + ldr r0, [sp, #0x10] + str r1, [sp, #0x14] cmp r1, r0 - bne _0204EBC6 + blt _0204A3DA +_0204A410: + mov r0, #0x43 + mov r1, #0xb + bl FUN_02006670 + add r7, r0, #0x0 + ldr r0, [sp, #0xc] + mov r6, #0x0 + cmp r0, #0x0 + ble _0204A452 + ldr r0, [sp, #0x8] + add r4, sp, #0x18 + add r0, #0xe2 + add r4, #0x2 + add r5, r6, #0x0 + str r0, [sp, #0x8] +_0204A42E: + ldr r0, [sp, #0x8] + lsl r1, r5, #0x1 + add r0, r0, r1 + str r0, [sp, #0x0] + ldrh r1, [r4, #0x0] + mov r2, #0x10 + add r0, r7, #0x0 + lsl r3, r2, #0x7 + bl FUN_02006814 + mov r0, #0x1 + lsl r0, r0, #0xa + add r5, r5, r0 + ldr r0, [sp, #0xc] + add r6, r6, #0x1 + add r4, r4, #0x2 + cmp r6, r0 + blt _0204A42E +_0204A452: + add r0, r7, #0x0 + bl FUN_020066F4 + add sp, #0x3c + pop {r4-r7, pc} + + thumb_func_start FUN_0204A45C +FUN_0204A45C: ; 0x0204A45C + push {r3-r7, lr} + add r7, r2, #0x0 + add r5, r0, #0x0 + ldrb r0, [r7, #0x0] + add r6, r1, #0x0 + mov r4, #0x0 + cmp r0, #0x0 + bls _0204A482 +_0204A46C: + lsl r1, r4, #0x1 + ldrh r1, [r6, r1] + cmp r5, r1 + bne _0204A478 add r0, r4, #0x0 - bl FUN_0204E440 - ldrh r1, [r5, #0x2] - cmp r1, r0 - bne _0204EBC6 - ldr r0, [sp, #0x4] - lsl r1, r4, #0x2 - add r0, r0, #0x1 - str r0, [sp, #0x4] - add r0, sp, #0x10 - str r7, [r0, r1] - bl FUN_02031190 + pop {r3-r7, pc} +_0204A478: + add r1, r4, #0x1 + lsl r1, r1, #0x18 + lsr r4, r1, #0x18 cmp r4, r0 - bne _0204EBCC - mov r0, #0x1 - str r0, [sp, #0x0] - b _0204EBCC -_0204EBC6: - add r4, r4, #0x1 - cmp r4, r6 - blt _0204EB94 -_0204EBCC: - add r7, r7, #0x1 - add r5, r5, #0x4 - cmp r7, r6 - blt _0204EB8E -_0204EBD4: - ldr r0, [sp, #0x4] - cmp r0, r6 - bne _0204EBF2 - mov r5, #0x0 - cmp r6, #0x0 - ble _0204EBF2 - add r4, sp, #0x10 -_0204EBE2: - ldr r0, [r4, #0x0] - add r1, r5, #0x0 - bl FUN_020313B4 - add r5, r5, #0x1 - add r4, r4, #0x4 - cmp r5, r6 - blt _0204EBE2 -_0204EBF2: - ldr r0, [sp, #0x0] - add sp, #0x30 + blo _0204A46C +_0204A482: + cmp r4, #0x10 + blo _0204A48A + bl FUN_02020C2C +_0204A48A: + lsl r0, r4, #0x1 + strh r5, [r6, r0] + ldrb r0, [r7, #0x0] + add r0, r0, #0x1 + strb r0, [r7, #0x0] + add r0, r4, #0x0 pop {r3-r7, pc} - .balign 4 -_0204EBF8: .word 0x020F5800 -_0204EBFC: .word 0x020F5814 - thumb_func_start FUN_0204EC00 -FUN_0204EC00: ; 0x0204EC00 - ldrb r2, [r2, #0x0] - cmp r2, #0x3 - bne _0204EC14 - ldr r1, _0204EC24 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0xf2 - strb r2, [r0, #0x0] + thumb_func_start FUN_0204A498 +FUN_0204A498: ; 0x0204A498 + cmp r0, r1 + blt _0204A4A0 + sub r0, r0, r1 bx lr -_0204EC14: - ldr r1, _0204EC24 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r0 - mov r0, #0xad - lsl r0, r0, #0x2 - strb r2, [r1, r0] +_0204A4A0: + sub r0, r1, r0 bx lr - nop -_0204EC24: .word 0x021C5A68 - thumb_func_start FUN_0204EC28 -FUN_0204EC28: ; 0x0204EC28 + thumb_func_start FUN_0204A4A4 +FUN_0204A4A4: ; 0x0204A4A4 push {r3-r7, lr} - sub sp, #0x8 - bl FUN_02033534 - bl FUN_02031248 - add r7, r0, #0x0 - cmp r7, #0x2 - bne _0204EC40 - ldr r0, _0204ECB4 ; =0x02105E5C - str r0, [sp, #0x0] - b _0204EC44 -_0204EC40: - ldr r0, _0204ECB8 ; =0x02105E64 + sub sp, #0x38 + add r4, r2, #0x0 + add r6, r3, #0x0 + add r5, r0, #0x0 + mov r0, #0x0 + str r4, [sp, #0x2c] + str r6, [sp, #0x34] + str r0, [sp, #0x10] + str r0, [sp, #0x30] + ldr r0, [r5, #0x24] + str r1, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r5, #0x28] + bl FUN_020344FC + str r0, [sp, #0x24] + lsl r0, r0, #0x5 + str r0, [sp, #0xc] + asr r0, r4, #0xf + lsr r0, r0, #0x10 + add r0, r4, r0 + asr r7, r0, #0x10 + asr r0, r6, #0xf + lsr r0, r0, #0x10 + add r0, r6, r0 + asr r0, r0, #0x10 + str r0, [sp, #0x1c] + add r2, r5, #0x0 + add r2, #0x9c + ldr r1, [sp, #0x1c] + ldr r2, [r2, #0x0] + add r0, r7, #0x0 + add r3, sp, #0x28 + bl FUN_021F4520 + str r0, [sp, #0x20] + lsr r0, r7, #0x5 + str r0, [sp, #0x18] + ldr r0, [sp, #0x1c] + ldr r1, [sp, #0x1c] + lsr r0, r0, #0x5 + str r0, [sp, #0x14] + ldr r0, [sp, #0x18] + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + sub r0, r4, r0 + str r0, [sp, #0x2c] + ldr r0, [sp, #0x14] + lsl r0, r0, #0x5 + add r0, #0x10 + lsl r0, r0, #0x10 + sub r0, r6, r0 + str r0, [sp, #0x34] + ldr r0, [sp, #0xc] + mul r0, r1 + ldr r1, [sp, #0xc] + add r0, r7, r0 + bl FUN_021EF620 + ldr r2, [sp, #0x14] + add r1, r0, #0x0 + add r3, r2, #0x0 + ldr r0, [sp, #0x24] + ldr r2, [sp, #0x8] + mul r3, r0 + ldr r0, [sp, #0x18] + add r0, r0, r3 + bl FUN_021EF654 + add r1, r0, #0x0 + cmp r1, #0x3 + bls _0204A53C + mov r4, #0x0 + b _0204A558 +_0204A53C: + lsl r1, r1, #0x18 + ldr r0, [sp, #0x8] + lsr r1, r1, #0x18 + bl FUN_021EF8C8 + add r3, r0, #0x0 + add r0, sp, #0x30 str r0, [sp, #0x0] -_0204EC44: + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x2c] + ldr r2, [sp, #0x34] + bl FUN_021F3DA4 + add r4, r0, #0x0 +_0204A558: + ldr r0, [sp, #0x20] + cmp r0, #0x0 + beq _0204A5A4 + add r0, sp, #0x28 + add r5, #0x9c + ldrb r0, [r0, #0x0] + ldr r1, [r5, #0x0] + bl FUN_021F4568 + add r5, r0, #0x0 + cmp r4, #0x0 + beq _0204A59E + ldr r0, [sp, #0x30] + str r0, [sp, #0x10] + cmp r5, r0 + bgt _0204A57C + mov r1, #0x1 + b _0204A5B2 +_0204A57C: + ldr r1, [sp, #0x4] + bl FUN_0204A498 + add r4, r0, #0x0 + ldr r1, [sp, #0x4] + add r0, r5, #0x0 + bl FUN_0204A498 + cmp r4, r0 + bgt _0204A598 + ldr r0, [sp, #0x30] + mov r1, #0x1 + str r0, [sp, #0x10] + b _0204A5B2 +_0204A598: + str r5, [sp, #0x10] + mov r1, #0x2 + b _0204A5B2 +_0204A59E: + mov r1, #0x2 + str r5, [sp, #0x10] + b _0204A5B2 +_0204A5A4: + cmp r4, #0x0 + beq _0204A5B0 + ldr r0, [sp, #0x30] + mov r1, #0x1 + str r0, [sp, #0x10] + b _0204A5B2 +_0204A5B0: mov r1, #0x0 - add r0, sp, #0x4 - strb r1, [r0, #0x0] - cmp r7, #0x0 - ble _0204ECAE -_0204EC4E: - ldr r0, _0204ECBC ; =0x021C5A68 - add r6, sp, #0x4 - ldr r1, [r0, #0x0] - ldrb r0, [r6, #0x0] - add r1, r1, r0 - mov r0, #0xad - lsl r0, r0, #0x2 - ldrb r0, [r1, r0] +_0204A5B2: + ldr r0, [sp, #0x50] cmp r0, #0x0 - beq _0204ECA0 - mov r4, #0x0 - cmp r7, #0x0 - ble _0204ECA0 - ldr r5, [sp, #0x0] -_0204EC6A: - ldrb r0, [r6, #0x0] - bl FUN_0204E544 - ldrh r1, [r5, #0x0] - cmp r1, r0 - bne _0204EC98 - ldrb r0, [r6, #0x0] - bl FUN_0204E598 - ldrh r1, [r5, #0x2] - cmp r1, r0 - bne _0204EC98 - ldr r0, _0204ECBC ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldrb r0, [r6, #0x0] - add r1, r1, r0 - add r1, #0xf2 - mov r0, #0x1 - strb r0, [r1, #0x0] - mov r0, #0x5f - add r1, sp, #0x4 - bl FUN_02030C4C -_0204EC98: - add r4, r4, #0x1 - add r5, r5, #0x4 - cmp r4, r7 - blt _0204EC6A -_0204ECA0: - add r0, sp, #0x4 - ldrb r1, [r0, #0x0] - add r1, r1, #0x1 + beq _0204A5BA strb r1, [r0, #0x0] - ldrb r0, [r0, #0x0] - cmp r0, r7 - blt _0204EC4E -_0204ECAE: - add sp, #0x8 +_0204A5BA: + ldr r0, [sp, #0x10] + add sp, #0x38 pop {r3-r7, pc} - nop -_0204ECB4: .word 0x02105E5C -_0204ECB8: .word 0x02105E64 -_0204ECBC: .word 0x021C5A68 - thumb_func_start FUN_0204ECC0 -FUN_0204ECC0: ; 0x0204ECC0 - push {r4, lr} - bl FUN_02031190 - add r4, r0, #0x0 - bl FUN_0204E3EC - cmp r0, #0x8 - ble _0204ECE0 - mov r0, #0x2 - bl FUN_0204F6DC - mov r0, #0x2 - mov r1, #0x24 - bl FUN_0205AFDC - b _0204ECEE -_0204ECE0: - mov r0, #0x3 - bl FUN_0204F6DC - mov r0, #0x3 - mov r1, #0x24 - bl FUN_0205AFDC -_0204ECEE: - add r1, r0, #0x0 - ldr r0, _0204ED04 ; =0x021C5A68 - ldr r2, [r0, #0x0] - lsl r0, r4, #0x2 - add r0, r2, r0 - ldr r0, [r0, #0x8] - bl FUN_02057260 - bl FUN_0204FB14 - pop {r4, pc} + thumb_func_start FUN_0204A5C0 +FUN_0204A5C0: ; 0x0204A5C0 + push {r3, lr} + asr r1, r2, #0xf + lsr r1, r1, #0x10 + add r1, r2, r1 + asr r2, r3, #0xf + lsr r2, r2, #0x10 + add r2, r3, r2 + ldr r0, [r0, #0x24] + asr r1, r1, #0x10 + asr r2, r2, #0x10 + mov r3, #0x0 + bl FUN_021EF844 + ldr r1, [sp, #0x8] + cmp r1, #0x0 + beq _0204A5EE + cmp r0, #0x0 + beq _0204A5E8 + mov r1, #0x1 + b _0204A5EA +_0204A5E8: + mov r1, #0x0 +_0204A5EA: + ldr r0, [sp, #0x8] + strb r1, [r0, #0x0] +_0204A5EE: + mov r0, #0x0 + pop {r3, pc} .balign 4 -_0204ED04: .word 0x021C5A68 - thumb_func_start FUN_0204ED08 -FUN_0204ED08: ; 0x0204ED08 + thumb_func_start FUN_0204A5F4 +FUN_0204A5F4: ; 0x0204A5F4 push {r3-r7, lr} - sub sp, #0x8 - bl FUN_02033534 - bl FUN_02031248 - mov r3, #0x0 - str r0, [sp, #0x0] + ldr r7, [r0, #0x24] + add r4, r3, #0x0 + add r0, r7, #0x0 + add r3, sp, #0x0 + add r5, r1, #0x0 + add r6, r2, #0x0 + bl FUN_021EF844 cmp r0, #0x0 - ble _0204ED3C - ldr r0, _0204ED94 ; =0x021C5A68 - mov r1, #0x66 - add r2, r1, #0x0 - ldr r4, [r0, #0x0] - sub r2, #0x67 -_0204ED26: - ldrsb r0, [r4, r1] - cmp r0, r2 - bne _0204ED32 - add sp, #0x8 + bne _0204A612 + mov r0, #0xff + strh r0, [r4, #0x0] mov r0, #0x0 pop {r3-r7, pc} -_0204ED32: - ldr r0, [sp, #0x0] - add r3, r3, #0x1 - add r4, #0x8 - cmp r3, r0 - blt _0204ED26 -_0204ED3C: - ldr r0, [sp, #0x0] - mov r5, #0x0 - cmp r0, #0x0 - ble _0204ED8E - add r4, r5, #0x0 -_0204ED46: - ldr r0, _0204ED94 ; =0x021C5A68 - ldr r7, [r0, #0x0] - mov r0, #0x4 - add r7, #0x62 - add r6, r7, r4 - ldrsb r0, [r6, r0] - bl FUN_0204F610 - str r0, [sp, #0x4] - bl FUN_02059BF4 - ldrh r1, [r7, r4] - add r0, r1, r0 - strh r0, [r7, r4] - ldr r0, [sp, #0x4] - bl FUN_02059C00 - ldrh r1, [r6, #0x2] +_0204A612: + add r1, sp, #0x0 + ldrb r1, [r1, #0x0] + add r0, r7, #0x0 + bl FUN_021EF8DC + lsr r2, r5, #0x1f + lsl r1, r5, #0x1b + sub r1, r1, r2 + mov r3, #0x1b + ror r1, r3 + add r1, r2, r1 + lsr r5, r6, #0x1f + lsl r2, r6, #0x1b + sub r2, r2, r5 + ror r2, r3 + add r2, r5, r2 + lsl r2, r2, #0x5 + add r1, r1, r2 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + strh r0, [r4, #0x0] + mov r0, #0x1 + pop {r3-r7, pc} + + thumb_func_start FUN_0204A640 +FUN_0204A640: ; 0x0204A640 + push {r3-r7, lr} + add r6, r0, #0x0 + ldr r0, [r6, #0x28] + add r4, r2, #0x0 + add r5, r1, #0x0 + add r7, r3, #0x0 + bl FUN_020344FC + asr r2, r4, #0x4 + asr r1, r5, #0x4 + lsr r2, r2, #0x1b + lsr r1, r1, #0x1b + add r2, r4, r2 + add r1, r5, r1 + asr r2, r2, #0x5 + asr r1, r1, #0x5 + mul r0, r2 add r0, r1, r0 - strh r0, [r6, #0x2] - mov r0, #0x2 - strb r0, [r6, #0x5] - ldr r0, _0204ED94 ; =0x021C5A68 - mov r1, #0x1 - ldr r0, [r0, #0x0] - add r2, r0, r5 - ldr r0, _0204ED98 ; =0x00000132 - strb r1, [r2, r0] - add r0, r5, #0x0 - bl FUN_0204EAD8 - ldr r0, [sp, #0x0] - add r5, r5, #0x1 - add r4, #0x8 - cmp r5, r0 - blt _0204ED46 -_0204ED8E: + ldr r1, [r6, #0x54] + bl FUN_0204A3A4 + lsr r2, r5, #0x1f + lsl r1, r5, #0x1b + sub r1, r1, r2 + mov r3, #0x1b + ror r1, r3 + add r1, r2, r1 + lsr r5, r4, #0x1f + lsl r2, r4, #0x1b + sub r2, r2, r5 + ror r2, r3 + add r2, r5, r2 + lsl r2, r2, #0x5 + add r1, r1, r2 + lsl r1, r1, #0x1 + ldrh r0, [r0, r1] + strh r0, [r7, #0x0] mov r0, #0x1 - add sp, #0x8 pop {r3-r7, pc} .balign 4 -_0204ED94: .word 0x021C5A68 -_0204ED98: .word 0x00000132 - thumb_func_start FUN_0204ED9C -FUN_0204ED9C: ; 0x0204ED9C - push {r4, lr} - add r4, r0, #0x0 - ldr r0, _0204EDE8 ; =0x021C5A68 - ldr r1, [r0, #0x0] - lsl r0, r4, #0x2 - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] + thumb_func_start FUN_0204A690 +FUN_0204A690: ; 0x0204A690 + push {r3, lr} + cmp r1, #0x0 + bne _0204A69C + ldr r1, _0204A6AC ; =0x020F4708 + str r1, [r0, #0x0] + pop {r3, pc} +_0204A69C: + cmp r1, #0x1 + bne _0204A6A6 + ldr r1, _0204A6B0 ; =0x020F4710 + str r1, [r0, #0x0] + pop {r3, pc} +_0204A6A6: + bl FUN_02020C2C + pop {r3, pc} + .balign 4 +_0204A6AC: .word 0x020F4708 +_0204A6B0: .word 0x020F4710 + + thumb_func_start FUN_0204A6B4 +FUN_0204A6B4: ; 0x0204A6B4 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [r0, #0x58] + add r3, sp, #0x0 + ldr r4, [r4, #0x4] + blx r4 cmp r0, #0x0 - beq _0204EDE2 - bl FUN_02016A18 - ldr r2, _0204EDE8 ; =0x021C5A68 - lsl r1, r4, #0x2 - ldr r3, [r2, #0x0] - mov r0, #0x0 - add r3, r3, r1 - mov r1, #0x29 - lsl r1, r1, #0x4 - str r0, [r3, r1] - ldr r1, [r2, #0x0] - mov r3, #0xff - add r1, r1, r4 - add r1, #0xfa - strb r0, [r1, #0x0] - mov r0, #0x22 - ldr r1, [r2, #0x0] - mul r0, r4 - add r1, r1, r0 - add r0, r3, #0x0 - add r0, #0x6b - strh r3, [r1, r0] + beq _0204A6DA + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + asr r0, r0, #0xf + lsl r0, r0, #0x18 + lsr r1, r0, #0x18 mov r0, #0x1 - pop {r4, pc} -_0204EDE2: + and r1, r0 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, #0x1 + beq _0204A6DC +_0204A6DA: mov r0, #0x0 - pop {r4, pc} - nop -_0204EDE8: .word 0x021C5A68 +_0204A6DC: + add sp, #0x4 + pop {r3-r4, pc} - thumb_func_start FUN_0204EDEC -FUN_0204EDEC: ; 0x0204EDEC - push {r3-r7, lr} - add r7, r0, #0x0 - bl FUN_02031190 - cmp r7, r0 - bne _0204EE90 - ldr r0, _0204EE98 ; =0x021C5A68 - ldr r2, [r0, #0x0] - lsl r0, r7, #0x2 - add r1, r2, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] + thumb_func_start FUN_0204A6E0 +FUN_0204A6E0: ; 0x0204A6E0 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [r0, #0x58] + add r3, sp, #0x0 + ldr r4, [r4, #0x4] + blx r4 cmp r0, #0x0 - beq _0204EE96 - ldr r0, [r2, #0x54] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - mov r1, #0x1c - bl FUN_0202A170 - ldr r0, _0204EE98 ; =0x021C5A68 - ldr r1, [r0, #0x0] - mov r0, #0xa3 - lsl r0, r0, #0x2 - ldr r0, [r1, r0] + beq _0204A700 + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + add sp, #0x4 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + pop {r3-r4, pc} +_0204A700: + mov r0, #0xff + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start FUN_0204A708 +FUN_0204A708: ; 0x0204A708 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + ldr r4, [r0, #0x58] + ldr r4, [r4, #0x0] + blx r4 + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 + + thumb_func_start FUN_0204A71C +FUN_0204A71C: ; 0x0204A71C + push {r3-r5, lr} + add r4, r1, #0x0 + ldr r1, [sp, #0x10] + mov r5, #0x2 + str r1, [sp, #0x0] + ldr r1, [r4, #0x4] + lsl r2, r2, #0x10 + lsl r5, r5, #0xe + lsl r3, r3, #0x10 + add r2, r2, r5 + add r3, r3, r5 + bl FUN_0204A708 + ldr r1, [r4, #0x4] + cmp r0, r1 + bge _0204A744 + mov r4, #0x0 + add r2, r1, #0x0 + mvn r4, r4 + b _0204A754 +_0204A744: + cmp r0, r1 + ble _0204A750 + add r2, r0, #0x0 + add r0, r1, #0x0 + mov r4, #0x1 + b _0204A754 +_0204A750: + mov r0, #0x0 + pop {r3-r5, pc} +_0204A754: + sub r1, r2, r0 + mov r0, #0x5 + lsl r0, r0, #0xe + cmp r1, r0 + blt _0204A768 + cmp r4, #0x0 + bne _0204A76A + bl FUN_02020C2C + b _0204A76A +_0204A768: + mov r4, #0x0 +_0204A76A: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204A770 +FUN_0204A770: ; 0x0204A770 + push {r3-r7, lr} + sub sp, #0x8 + add r6, sp, #0x4 + add r5, r0, #0x0 + add r4, r2, #0x0 + add r7, r3, #0x0 + str r6, [sp, #0x0] + bl FUN_0204A71C + ldr r1, [sp, #0x20] + cmp r1, #0x0 + beq _0204A78A + strb r0, [r1, #0x0] +_0204A78A: cmp r0, #0x0 - beq _0204EE2A - bl FUN_02016A18 -_0204EE2A: - mov r0, #0x9e - lsl r0, r0, #0x2 - ldr r2, _0204EE98 ; =0x021C5A68 - mov r5, #0x4 - mov r6, #0x10 - add r1, r0, #0x4 -_0204EE36: - ldr r3, [r2, #0x0] - sub r5, r5, #0x1 - add r4, r3, r6 - ldr r3, [r4, r0] - sub r6, r6, #0x4 - str r3, [r4, r1] - cmp r5, #0x1 - bge _0204EE36 - ldr r1, _0204EE98 ; =0x021C5A68 - mov r0, #0x29 - ldr r3, [r1, #0x0] - lsl r4, r7, #0x2 - add r2, r3, r4 - lsl r0, r0, #0x4 - ldr r2, [r2, r0] - sub r0, #0x14 - str r2, [r3, r0] - ldr r5, [r1, #0x0] - ldr r0, [r5, #0x54] - bl FUN_020377AC - bl FUN_02026CC4 - mov r1, #0x29 - add r2, r5, r4 - lsl r1, r1, #0x4 - ldr r1, [r2, r1] - bl FUN_02025C40 - ldr r1, _0204EE98 ; =0x021C5A68 - mov r3, #0x0 - ldr r0, [r1, #0x0] - add r2, r0, r4 - mov r0, #0x29 - lsl r0, r0, #0x4 - str r3, [r2, r0] - mov r0, #0x22 - ldr r1, [r1, #0x0] - mul r0, r7 - mov r2, #0xff - add r1, r1, r0 - add r0, r2, #0x0 - add r0, #0x6b - strh r2, [r1, r0] + bne _0204A7C2 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl FUN_0204A6B4 + add r6, r0, #0x0 + bne _0204A7BC + add r0, sp, #0x4 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0204A7BC + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl FUN_0204A6E0 + bl FUN_020548B4 + cmp r0, #0x0 + beq _0204A7BC + add sp, #0x8 + mov r0, #0x1 pop {r3-r7, pc} -_0204EE90: - add r0, r7, #0x0 - bl FUN_0204ED9C -_0204EE96: +_0204A7BC: + add sp, #0x8 + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204A7C2: + mov r0, #0x1 + add sp, #0x8 pop {r3-r7, pc} - .balign 4 -_0204EE98: .word 0x021C5A68 - thumb_func_start FUN_0204EE9C -FUN_0204EE9C: ; 0x0204EE9C - ldr r1, _0204EEB8 ; =0x021C5A68 - lsl r0, r0, #0x2 - ldr r1, [r1, #0x0] - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] + thumb_func_start FUN_0204A7C8 +FUN_0204A7C8: ; 0x0204A7C8 + push {r3-r7, lr} + sub sp, #0x10 + add r6, sp, #0x8 + add r5, r0, #0x0 + str r1, [sp, #0x4] + add r4, r2, #0x0 + add r7, r3, #0x0 + str r6, [sp, #0x0] + bl FUN_0204A71C + ldr r1, [sp, #0x28] + cmp r1, #0x0 + beq _0204A7E4 + strb r0, [r1, #0x0] +_0204A7E4: cmp r0, #0x0 - beq _0204EEB2 + bne _0204A83A + add r0, sp, #0xc + str r0, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + ldr r3, [r3, #0x4] + add r1, r4, #0x0 + add r2, r7, #0x0 + bl FUN_0205CE00 + cmp r0, #0x0 + bne _0204A834 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl FUN_0204A6B4 + str r0, [sp, #0xc] + cmp r0, #0x0 + bne _0204A82E + add r0, sp, #0x8 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + bne _0204A82E + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r7, #0x0 + bl FUN_0204A6E0 + bl FUN_020548B4 + cmp r0, #0x0 + beq _0204A82E + add sp, #0x10 mov r0, #0x1 - bx lr -_0204EEB2: - mov r0, #0x0 - bx lr - nop -_0204EEB8: .word 0x021C5A68 + pop {r3-r7, pc} +_0204A82E: + ldr r0, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} +_0204A834: + ldr r0, [sp, #0xc] + add sp, #0x10 + pop {r3-r7, pc} +_0204A83A: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} - thumb_func_start FUN_0204EEBC -FUN_0204EEBC: ; 0x0204EEBC + thumb_func_start FUN_0204A840 +FUN_0204A840: ; 0x0204A840 push {r3-r7, lr} - add r5, r0, #0x0 - ldr r0, _0204EF48 ; =0x021C5A68 + add r6, r0, r2 + ldr r0, [sp, #0x18] + add r4, r1, r3 + add r0, r6, r0 + str r0, [sp, #0x0] + ldr r0, [sp, #0x1c] + ldr r5, [sp, #0x20] + add r7, r4, r0 + cmp r6, #0x0 + blt _0204A864 + cmp r4, #0x0 + blt _0204A864 + ldr r0, [sp, #0x0] + cmp r0, #0x0 + blt _0204A864 + cmp r7, #0x0 + bge _0204A868 +_0204A864: + bl FUN_02020C2C +_0204A868: + lsl r0, r6, #0x10 + str r0, [r5, #0x0] + lsl r0, r4, #0x10 + str r0, [r5, #0x4] + ldr r0, [sp, #0x0] + lsl r0, r0, #0x10 + str r0, [r5, #0x8] + lsl r0, r7, #0x10 + str r0, [r5, #0xc] + pop {r3-r7, pc} + + thumb_func_start FUN_0204A87C +FUN_0204A87C: ; 0x0204A87C + push {r4-r5, lr} + sub sp, #0xc + add r3, r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + add r0, sp, #0x0 + add r1, r3, #0x0 + bl FUN_021E7EA0 + ldr r1, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r2, [sp, #0x8] + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r1, [r4, #0x8] + add r2, r2, r1 + str r2, [sp, #0x8] + ldr r1, [r5, #0x0] + cmp r1, r0 + bgt _0204A8BC + ldr r1, [r5, #0x8] + cmp r0, r1 + bgt _0204A8BC + ldr r0, [r5, #0x4] + cmp r0, r2 + bgt _0204A8BC + ldr r0, [r5, #0xc] + cmp r2, r0 + bgt _0204A8BC + add sp, #0xc + mov r0, #0x1 + pop {r4-r5, pc} +_0204A8BC: + mov r0, #0x0 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start FUN_0204A8C4 +FUN_0204A8C4: ; 0x0204A8C4 + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x0] + mov r0, #0x0 add r6, r1, #0x0 - ldr r1, [r0, #0x0] - lsl r0, r5, #0x2 - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] + add r7, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204A8D4: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl FUN_021EF604 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [r0, #0x24] + bl FUN_021EF824 + add r4, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x28] + bl FUN_020344FC + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, sp, #0x10 + bl FUN_0204AAD4 + mov r5, #0x0 +_0204A900: + ldr r0, [sp, #0xc] + add r1, r5, #0x0 + bl FUN_021E7ED0 + add r1, r7, #0x0 + add r2, sp, #0x10 + add r4, r0, #0x0 + bl FUN_0204A87C cmp r0, #0x0 - bne _0204EF44 + beq _0204A92E + add r0, r4, #0x0 + bl FUN_021E7EC4 + cmp r0, r6 + bne _0204A92E + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204A928 + str r4, [r0, #0x0] +_0204A928: + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0204A92E: + add r0, r5, #0x1 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + cmp r5, #0x20 + blo _0204A900 + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204A8D4 + mov r0, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start FUN_0204A94C +FUN_0204A94C: ; 0x0204A94C + push {r4-r7, lr} + sub sp, #0x1c + str r0, [sp, #0x0] + mov r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204A95C: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl FUN_021EF604 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r0, [r0, #0x24] + bl FUN_021EF824 + add r6, r0, #0x0 + ldr r0, [sp, #0x0] + ldr r0, [r0, #0x28] + bl FUN_020344FC + add r1, r0, #0x0 add r0, r6, #0x0 - bl FUN_0202DFA4 + add r2, sp, #0x10 + bl FUN_0204AAD4 + mov r6, #0x0 +_0204A988: + ldr r0, [sp, #0xc] + add r1, r6, #0x0 + bl FUN_021E7ED0 + ldr r1, [sp, #0x4] + add r2, sp, #0x10 add r7, r0, #0x0 - beq _0204EF44 - mov r0, #0xf - lsl r4, r5, #0x2 - bl FUN_02023928 - mov r3, #0x29 - ldr r1, _0204EF48 ; =0x021C5A68 - add r2, r0, #0x0 - ldr r0, [r1, #0x0] - lsl r3, r3, #0x4 - add r0, r0, r4 - str r2, [r0, r3] - ldr r1, [r1, #0x0] + bl FUN_0204A87C + cmp r0, #0x0 + beq _0204A9D2 add r0, r7, #0x0 - add r1, r1, r4 - ldr r1, [r1, r3] - bl FUN_0202393C - ldr r1, _0204EF48 ; =0x021C5A68 - mov r2, #0x1 - ldr r0, [r1, #0x0] - ldr r3, _0204EF4C ; =0x0000016A - add r0, r0, r5 - add r0, #0xfa - strb r2, [r0, #0x0] - mov r0, #0x22 - add r2, r5, #0x0 - mul r2, r0 - ldr r0, [r1, #0x0] - add r0, r0, r2 - strh r5, [r0, r3] - ldr r1, [r1, #0x0] - sub r3, #0x20 - add r1, r1, r3 + bl FUN_021E7EC4 + mov r1, #0x0 + cmp r4, #0x0 + bls _0204A9D2 +_0204A9AA: + lsl r2, r1, #0x2 + ldr r2, [r5, r2] + cmp r0, r2 + bne _0204A9C8 + ldr r1, [sp, #0x30] + cmp r1, #0x0 + beq _0204A9BA + str r7, [r1, #0x0] +_0204A9BA: + ldr r1, [sp, #0x34] + cmp r1, #0x0 + beq _0204A9C2 + str r0, [r1, #0x0] +_0204A9C2: + add sp, #0x1c + mov r0, #0x1 + pop {r4-r7, pc} +_0204A9C8: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r4 + blo _0204A9AA +_0204A9D2: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x20 + blo _0204A988 + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204A95C + mov r0, #0x0 + add sp, #0x1c + pop {r4-r7, pc} + + thumb_func_start FUN_0204A9F0 +FUN_0204A9F0: ; 0x0204A9F0 + push {r3-r7, lr} + sub sp, #0x10 + str r0, [sp, #0x0] + add r5, r1, #0x0 + str r2, [sp, #0x4] + str r3, [sp, #0x8] + mov r7, #0x0 +_0204A9FE: + ldr r1, [sp, #0x0] add r0, r7, #0x0 - add r1, r1, r2 - bl FUN_0202393C - bl FUN_02031190 - cmp r6, r0 - bne _0204EF40 - ldr r0, _0204EF48 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0xc] - bl FUN_02026CB4 - bl FUN_02026BC8 -_0204EF40: + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl FUN_021EF604 + mov r4, #0x0 +_0204AA0C: + ldr r0, [sp, #0xc] + add r1, r4, #0x0 + bl FUN_021E7ED0 + add r6, r0, #0x0 + bl FUN_021E7EC4 + cmp r0, r5 + bne _0204AA40 + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204AA26 + str r6, [r0, #0x0] +_0204AA26: + ldr r0, [sp, #0x8] + cmp r0, #0x0 + beq _0204AA3A + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + ldr r0, [r0, #0x24] + bl FUN_021EF824 + ldr r1, [sp, #0x8] + str r0, [r1, #0x0] +_0204AA3A: + add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} -_0204EF44: +_0204AA40: + add r0, r4, #0x1 + lsl r0, r0, #0x18 + lsr r4, r0, #0x18 + cmp r4, #0x20 + blo _0204AA0C + add r0, r7, #0x1 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + cmp r7, #0x4 + blo _0204A9FE mov r0, #0x0 + add sp, #0x10 pop {r3-r7, pc} .balign 4 -_0204EF48: .word 0x021C5A68 -_0204EF4C: .word 0x0000016A - thumb_func_start FUN_0204EF50 -FUN_0204EF50: ; 0x0204EF50 + thumb_func_start FUN_0204AA5C +FUN_0204AA5C: ; 0x0204AA5C push {r3-r7, lr} - ldr r4, _0204EFC4 ; =0x021C5A68 - mov r7, #0x29 - ldr r6, [r4, #0x0] - add r3, r0, #0x0 - lsl r7, r7, #0x4 - add r5, r6, r7 - lsl r0, r3, #0x2 - add r2, r1, #0x0 - ldr r1, [r5, r0] - cmp r1, #0x0 - bne _0204EFBE - lsl r1, r2, #0x2 - add r6, r6, r1 - ldr r6, [r6, r7] - cmp r6, #0x0 - beq _0204EFBE - str r6, [r5, r0] - ldr r5, [r4, #0x0] + sub sp, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + add r5, r1, #0x0 + add r4, r2, #0x0 + str r3, [sp, #0x4] + str r0, [sp, #0x8] +_0204AA6C: + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x8] + ldr r1, [r1, #0x24] + add r2, sp, #0xc + bl FUN_021EF604 mov r6, #0x0 - add r1, r5, r1 - str r6, [r1, r7] - ldr r1, [r4, #0x0] - mov r5, #0x1 - add r1, r1, r3 - add r1, #0xfa - strb r5, [r1, #0x0] - ldr r1, [r4, #0x0] - add r1, r1, r2 - add r1, #0xfa - strb r6, [r1, #0x0] - mov r1, #0x22 - ldr r5, [r4, #0x0] - mul r1, r3 - add r6, r5, r1 - ldr r5, _0204EFC8 ; =0x0000016A - strh r3, [r6, r5] - mov r6, #0x22 - mov r5, #0xff - mul r6, r2 - ldr r3, [r4, #0x0] - add r2, r5, #0x0 - add r3, r3, r6 - add r2, #0x6b - strh r5, [r3, r2] - ldr r2, [r4, #0x0] - add r5, #0x4b - add r0, r2, r0 - add r2, r2, r5 - ldr r0, [r0, r7] - add r1, r2, r1 - bl FUN_0202393C +_0204AA7A: + ldr r0, [sp, #0xc] + add r1, r6, #0x0 + bl FUN_021E7ED0 + add r7, r0, #0x0 + bl FUN_021E7EC4 + mov r1, #0x0 + cmp r4, #0x0 + bls _0204AAB6 +_0204AA8E: + lsl r2, r1, #0x2 + ldr r2, [r5, r2] + cmp r0, r2 + bne _0204AAAC + ldr r1, [sp, #0x4] + cmp r1, #0x0 + beq _0204AA9E + str r7, [r1, #0x0] +_0204AA9E: + ldr r1, [sp, #0x28] + cmp r1, #0x0 + beq _0204AAA6 + str r0, [r1, #0x0] +_0204AAA6: + add sp, #0x10 mov r0, #0x1 pop {r3-r7, pc} -_0204EFBE: +_0204AAAC: + add r1, r1, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + cmp r1, r4 + blo _0204AA8E +_0204AAB6: + add r0, r6, #0x1 + lsl r0, r0, #0x18 + lsr r6, r0, #0x18 + cmp r6, #0x20 + blo _0204AA7A + ldr r0, [sp, #0x8] + add r0, r0, #0x1 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + str r0, [sp, #0x8] + cmp r0, #0x4 + blo _0204AA6C mov r0, #0x0 + add sp, #0x10 pop {r3-r7, pc} - nop -_0204EFC4: .word 0x021C5A68 -_0204EFC8: .word 0x0000016A - - thumb_func_start FUN_0204EFCC -FUN_0204EFCC: ; 0x0204EFCC - push {r4, lr} - ldr r1, _0204F06C ; =0x021C5A68 - add r4, r0, #0x0 - ldr r3, [r1, #0x0] - ldr r1, _0204F070 ; =0x000002BD - ldrb r1, [r3, r1] - cmp r1, #0x0 - bne _0204F068 - lsl r1, r4, #0x2 - add r2, r3, r1 - ldr r1, [r2, #0x8] - cmp r1, #0x0 - beq _0204F068 - add r3, r3, r4 - add r3, #0xfa - ldrb r3, [r3, #0x0] - cmp r3, #0x3 - bhi _0204F068 - add r3, r3, r3 - add r3, pc - ldrh r3, [r3, #0x6] - lsl r3, r3, #0x10 - asr r3, r3, #0x10 - add pc, r3 - lsl r6, r4, #0x1 - lsl r2, r1, #0x1 - lsl r6, r5, #0 - lsl r6, r0, #0 - ldr r0, [r2, #0x28] - cmp r0, #0x0 - bne _0204F01E - add r0, r1, #0x0 - bl FUN_020553A0 - bl FUN_021E5970 - ldr r1, _0204F06C ; =0x021C5A68 - ldr r2, [r1, #0x0] - lsl r1, r4, #0x2 - add r1, r2, r1 - str r0, [r1, #0x28] -_0204F01E: - ldr r0, _0204F06C ; =0x021C5A68 - mov r1, #0x0 - ldr r0, [r0, #0x0] - add r0, r0, r4 - add r0, #0xfa - strb r1, [r0, #0x0] - pop {r4, pc} -_0204F02C: - .byte 0x90, 0x6A, 0x00, 0x28 - .byte 0x1A, 0xD1, 0x08, 0x1C, 0x06, 0xF0, 0xB4, 0xF9, 0x96, 0xF1, 0xCC, 0xFB, 0x0B, 0x49, 0x0A, 0x68 - .byte 0xA1, 0x00, 0x51, 0x18, 0x88, 0x62, 0x10, 0xBD, 0x90, 0x6A, 0x00, 0x28, 0x0C, 0xD1, 0x08, 0x1C - .byte 0x06, 0xF0, 0xA6, 0xF9, 0x96, 0xF1, 0xDE, 0xFA, 0x04, 0x49, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x18 - .byte 0x88, 0x62, 0x10, 0xBD, 0xFD, 0xF7, 0x88, 0xFE -_0204F068: - pop {r4, pc} - nop -_0204F06C: .word 0x021C5A68 -_0204F070: .word 0x000002BD - - thumb_func_start FUN_0204F074 -FUN_0204F074: ; 0x0204F074 - ldr r1, _0204F088 ; =0x021C5A68 - ldr r2, [r1, #0x0] - add r2, #0xfa - ldrb r1, [r2, r0] - cmp r1, #0x1 - beq _0204F084 - mov r1, #0x2 - strb r1, [r2, r0] -_0204F084: - bx lr - nop -_0204F088: .word 0x021C5A68 - thumb_func_start FUN_0204F08C -FUN_0204F08C: ; 0x0204F08C - ldr r1, _0204F0A0 ; =0x021C5A68 - ldr r2, [r1, #0x0] - add r2, #0xfa - ldrb r1, [r2, r0] - cmp r1, #0x1 - beq _0204F09C - mov r1, #0x3 - strb r1, [r2, r0] -_0204F09C: - ldr r3, _0204F0A4 ; =FUN_0204CD78 - bx r3 + thumb_func_start FUN_0204AAD4 +FUN_0204AAD4: ; 0x0204AAD4 + push {r4-r6, lr} + add r4, r2, #0x0 + mov r2, #0x1 + lsl r2, r2, #0x14 + str r2, [r4, #0x0] + add r5, r0, #0x0 + add r6, r1, #0x0 + str r2, [r4, #0x8] + blx FUN_020EBC80 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + ldr r0, [r4, #0x0] + lsl r1, r1, #0x15 + add r0, r0, r1 + str r0, [r4, #0x0] + add r0, r5, #0x0 + add r1, r6, #0x0 + blx FUN_020EBC80 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + ldr r1, [r4, #0x8] + lsl r0, r0, #0x15 + add r0, r1, r0 + str r0, [r4, #0x8] + pop {r4-r6, pc} .balign 4 -_0204F0A0: .word 0x021C5A68 -_0204F0A4: .word FUN_0204CD78 + 1 - thumb_func_start FUN_0204F0A8 -FUN_0204F0A8: ; 0x0204F0A8 - ldr r1, _0204F0BC ; =0x021C5A68 - ldr r2, [r1, #0x0] - add r2, #0xfa - ldrb r1, [r2, r0] - cmp r1, #0x1 - beq _0204F0B8 - mov r1, #0x0 - strb r1, [r2, r0] -_0204F0B8: - ldr r3, _0204F0C0 ; =FUN_0204CD78 - bx r3 + thumb_func_start FUN_0204AB0C +FUN_0204AB0C: ; 0x0204AB0C + push {r3, lr} + bl FUN_0200541C + bl FUN_02004810 + mov r0, #0x0 + bl FUN_0200415C + pop {r3, pc} .balign 4 -_0204F0BC: .word 0x021C5A68 -_0204F0C0: .word FUN_0204CD78 + 1 - thumb_func_start FUN_0204F0C4 -FUN_0204F0C4: ; 0x0204F0C4 - mov r0, #0x3 - bx lr + thumb_func_start FUN_0204AB20 +FUN_0204AB20: ; 0x0204AB20 + push {r4, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + bl FUN_02034E30 + bl FUN_02034DE8 + strh r4, [r0, #0x0] + pop {r4, pc} + .balign 4 - thumb_func_start FUN_0204F0C8 -FUN_0204F0C8: ; 0x0204F0C8 - push {r3-r4, lr} - sub sp, #0x4 - add r4, r0, #0x0 - add r0, sp, #0x0 - strb r4, [r0, #0x1] - ldrb r1, [r2, #0x0] - cmp r1, #0x0 - beq _0204F0E0 - cmp r1, #0x3 - beq _0204F0F0 - add sp, #0x4 - pop {r3-r4, pc} -_0204F0E0: - mov r1, #0x0 - strb r1, [r0, #0x0] - mov r0, #0x55 - add r1, sp, #0x0 - bl FUN_02030C4C - add sp, #0x4 - pop {r3-r4, pc} -_0204F0F0: - mov r1, #0x3 - strb r1, [r0, #0x0] - mov r0, #0x55 - add r1, sp, #0x0 - bl FUN_02030C4C - add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_0204EAD8 - add sp, #0x4 - pop {r3-r4, pc} + thumb_func_start FUN_0204AB34 +FUN_0204AB34: ; 0x0204AB34 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02034E30 + bl FUN_02034DE8 + ldrh r0, [r0, #0x0] + pop {r3, pc} - thumb_func_start FUN_0204F108 -FUN_0204F108: ; 0x0204F108 + thumb_func_start FUN_0204AB44 +FUN_0204AB44: ; 0x0204AB44 push {r3, lr} - bl FUN_02031190 - bl FUN_0204F0A8 - bl FUN_0223D648 - bl FUN_0224DD94 - mov r0, #0x4 - bl FUN_0204F774 + ldr r0, [r0, #0xc] + bl FUN_02034E30 + bl FUN_02034DE8 + mov r1, #0x0 + strh r1, [r0, #0x0] pop {r3, pc} .balign 4 - thumb_func_start FUN_0204F124 -FUN_0204F124: ; 0x0204F124 - push {r3-r7, lr} - add r5, r1, #0x0 - add r6, r0, #0x0 - ldr r0, [r5, #0x4] - mov r4, #0x0 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - add r0, r7, #0x0 - bl FUN_02030E7C - cmp r0, #0x0 - bne _0204F14A + thumb_func_start FUN_0204AB58 +FUN_0204AB58: ; 0x0204AB58 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r4, r1, #0x0 + bl FUN_020553C4 + cmp r0, #0x2 + bne _0204AB6C + ldr r0, _0204ABA0 ; =0x0000047F + pop {r3-r5, pc} +_0204AB6C: add r0, r5, #0x0 - bl FUN_02016A18 - add r0, r6, #0x0 - bl FUN_0200CAB4 - pop {r3-r7, pc} -_0204F14A: - ldr r0, [r5, #0x0] - add r0, r0, #0x1 - str r0, [r5, #0x0] - cmp r0, #0x3c - ble _0204F156 - mov r4, #0x1 -_0204F156: - cmp r4, #0x0 - beq _0204F172 - ldr r0, _0204F174 ; =0x021C5A68 - mov r1, #0x1 + add r0, #0x90 ldr r0, [r0, #0x0] - add r0, r0, r7 - add r0, #0xea - strb r1, [r0, #0x0] + bl FUN_0205E128 + cmp r0, #0x1 + bne _0204AB7E + ldr r0, _0204ABA4 ; =0x0000047E + pop {r3-r5, pc} +_0204AB7E: add r0, r5, #0x0 - bl FUN_02016A18 - add r0, r6, #0x0 - bl FUN_0200CAB4 -_0204F172: - pop {r3-r7, pc} - .balign 4 -_0204F174: .word 0x021C5A68 - - thumb_func_start FUN_0204F178 -FUN_0204F178: ; 0x0204F178 - push {r4, lr} + add r1, r4, #0x0 + bl FUN_0204ABA8 add r4, r0, #0x0 - mov r0, #0xb - mov r1, #0x8 - bl FUN_02016998 - add r1, r0, #0x0 - mov r2, #0x0 - str r2, [r1, #0x0] - ldr r0, _0204F1A8 ; =0x021C5A68 - str r4, [r1, #0x4] - ldr r0, [r0, #0x0] - add r0, r0, r4 - add r0, #0xea - strb r2, [r0, #0x0] - ldr r0, _0204F1AC ; =FUN_0204F124 - mov r2, #0x64 - bl FUN_0200CA44 + add r0, r5, #0x0 + bl FUN_0204AB34 + cmp r0, #0x0 + beq _0204AB9A + add r0, r5, #0x0 + bl FUN_0204AB34 + add r4, r0, #0x0 +_0204AB9A: add r0, r4, #0x0 - mov r1, #0x0 - bl FUN_0204EAD8 - pop {r4, pc} - .balign 4 -_0204F1A8: .word 0x021C5A68 -_0204F1AC: .word FUN_0204F124 + 1 + pop {r3-r5, pc} + nop +_0204ABA0: .word 0x0000047F +_0204ABA4: .word 0x0000047E - thumb_func_start FUN_0204F1B0 -FUN_0204F1B0: ; 0x0204F1B0 - push {r3-r5, lr} - add r4, r1, #0x0 - mov r1, #0x1 + thumb_func_start FUN_0204ABA8 +FUN_0204ABA8: ; 0x0204ABA8 + push {r4-r6, lr} add r5, r0, #0x0 - tst r1, r2 - beq _0204F1C4 - mov r1, #0xb - add r0, sp, #0x0 - strb r1, [r0, #0x0] - b _0204F1F6 -_0204F1C4: - bl FUN_0204EE9C + add r4, r1, #0x0 + bl FUN_0201277C cmp r0, #0x0 - beq _0204F1D4 - mov r1, #0xb - add r0, sp, #0x0 - strb r1, [r0, #0x0] - b _0204F1F6 -_0204F1D4: - cmp r4, #0xff - bne _0204F1DC - mov r0, #0x0 - pop {r3-r5, pc} -_0204F1DC: + bne _0204ABBE add r0, r4, #0x0 - bl FUN_0204EE9C - cmp r0, #0x0 - bne _0204F1EA - mov r0, #0x0 - pop {r3-r5, pc} -_0204F1EA: - mov r1, #0x5 - add r0, sp, #0x0 - strb r1, [r0, #0x0] + bl FUN_020347B0 + b _0204ABC4 +_0204ABBE: add r0, r4, #0x0 - bl FUN_0204F178 -_0204F1F6: - add r0, sp, #0x0 - strb r5, [r0, #0x1] - strb r4, [r0, #0x2] - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_0204EAD8 - mov r0, #0x55 - add r1, sp, #0x0 - bl FUN_02030C4C - mov r0, #0x1 - pop {r3-r5, pc} - - thumb_func_start FUN_0204F210 -FUN_0204F210: ; 0x0204F210 - push {r3-r4, lr} - sub sp, #0x4 - add r4, r0, #0x0 - bl FUN_0204EE9C + bl FUN_020347C4 +_0204ABC4: + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_020462AC + add r1, r4, #0x0 + bl FUN_0205EF20 cmp r0, #0x0 - beq _0204F226 - mov r1, #0xc - add r0, sp, #0x0 - strb r1, [r0, #0x0] - b _0204F22C -_0204F226: - add sp, #0x4 - mov r0, #0x0 - pop {r3-r4, pc} -_0204F22C: - strb r4, [r0, #0x1] - mov r0, #0x55 - add r1, sp, #0x0 - bl FUN_02030C4C - mov r0, #0x1 - add sp, #0x4 - pop {r3-r4, pc} + beq _0204ABD8 + add r6, r0, #0x0 +_0204ABD8: + add r0, r6, #0x0 + pop {r4-r6, pc} - thumb_func_start FUN_0204F23C -FUN_0204F23C: ; 0x0204F23C - push {r4-r6, lr} - sub sp, #0x8 + thumb_func_start FUN_0204ABDC +FUN_0204ABDC: ; 0x0204ABDC + push {r4-r7, lr} + sub sp, #0x14 add r5, r0, #0x0 + ldr r0, [r5, #0x38] add r4, r1, #0x0 - bl FUN_0223E6B8 - mov r0, #0x0 - bl FUN_0204D628 - mov r0, #0x4 - bl FUN_0204F74C - bl FUN_0223D648 + add r7, r2, #0x0 + bl FUN_020553C4 add r6, r0, #0x0 - ldrb r0, [r5, #0x1] - bl FUN_0202DFA4 - add r1, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0224DDB8 - cmp r4, #0x0 - beq _0204F29C - bl FUN_02031190 - ldr r1, _0204F2C8 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0xfa - strb r2, [r0, #0x0] - bl FUN_02031190 - bl FUN_0204F0A8 - bl FUN_02031190 - bl FUN_0204F074 - bl FUN_0223D648 - ldr r3, _0204F2CC ; =FUN_0204F108 - mov r1, #0xa - mov r2, #0x1 - bl FUN_0224DCB8 - b _0204F2AA -_0204F29C: - bl FUN_0223D648 - ldr r3, _0204F2CC ; =FUN_0204F108 - mov r1, #0xb - mov r2, #0x1 - bl FUN_0224DCB8 -_0204F2AA: - mov r0, #0xff + bl FUN_02004104 + cmp r0, #0x1 + bne _0204ABFC + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0204ABFC: + add r0, r5, #0x0 + bl FUN_02004124 + cmp r4, r0 + bne _0204AC0C + add sp, #0x14 + mov r0, #0x0 + pop {r4-r7, pc} +_0204AC0C: + bl FUN_02004810 + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, sp, #0x10 + add r3, sp, #0xc + bl FUN_0204ACCC + cmp r6, #0x1 + beq _0204AC22 + bne _0204AC3A +_0204AC22: + mov r0, #0x1e str r0, [sp, #0x0] - mov r3, #0x0 - ldr r1, _0204F2D0 ; =0x00000424 + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] mov r0, #0x4 - mov r2, #0x3c - str r3, [sp, #0x4] - bl FUN_02004DCC - ldr r0, _0204F2D4 ; =0x000005F6 - bl FUN_020054C8 - add sp, #0x8 - pop {r4-r6, pc} - nop -_0204F2C8: .word 0x021C5A68 -_0204F2CC: .word FUN_0204F108 + 1 -_0204F2D0: .word 0x00000424 -_0204F2D4: .word 0x000005F6 - - thumb_func_start FUN_0204F2D8 -FUN_0204F2D8: ; 0x0204F2D8 - push {r4-r5, lr} - sub sp, #0xc - ldr r0, _0204F5E0 ; =0x021C5A68 - add r5, r2, #0x0 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_020377AC - bl FUN_02026CB4 - add r4, r0, #0x0 - ldrb r0, [r5, #0x0] - cmp r0, #0x5 - bgt _0204F308 - cmp r0, #0x0 - blt _0204F346 - beq _0204F31E - cmp r0, #0x3 - bne _0204F300 - b _0204F4D2 -_0204F300: - cmp r0, #0x5 - beq _0204F370 - add sp, #0xc - pop {r4-r5, pc} -_0204F308: - cmp r0, #0xc - bgt _0204F346 - cmp r0, #0xb - blt _0204F346 - bne _0204F314 - b _0204F48C -_0204F314: - cmp r0, #0xc - bne _0204F31A - b _0204F4AE -_0204F31A: - add sp, #0xc - pop {r4-r5, pc} -_0204F31E: - ldr r1, _0204F5E0 ; =0x021C5A68 - ldrb r0, [r5, #0x1] - ldr r2, [r1, #0x0] - lsl r1, r0, #0x2 - add r2, r2, r1 - mov r1, #0x29 - lsl r1, r1, #0x4 - ldr r1, [r2, r1] - cmp r1, #0x0 - beq _0204F346 - bl FUN_0204ED9C - ldrb r0, [r5, #0x1] - bl FUN_0204F0A8 - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - beq _0204F348 -_0204F346: - b _0204F5DA -_0204F348: - bl FUN_0204F7E4 - bl FUN_0223D648 - ldr r3, _0204F5E4 ; =FUN_0204E2B4 - mov r1, #0x2 - mov r2, #0x1 - bl FUN_0224DCB8 - mov r0, #0xff + add r1, r4, #0x0 + bl FUN_02004E08 + b _0204AC4C +_0204AC3A: + mov r0, #0x0 str r0, [sp, #0x0] - mov r3, #0x0 - ldr r1, _0204F5E8 ; =0x00000424 + str r0, [sp, #0x4] + ldr r2, [sp, #0x10] + ldr r3, [sp, #0xc] mov r0, #0x4 - mov r2, #0x3c - str r3, [sp, #0x4] + add r1, r4, #0x0 bl FUN_02004DCC - add sp, #0xc - pop {r4-r5, pc} -_0204F370: - ldrb r0, [r5, #0x1] - bl FUN_0202DFA4 - cmp r0, #0x0 - bne _0204F384 - ldrb r0, [r5, #0x2] - bl FUN_0204ED9C - add sp, #0xc - pop {r4-r5, pc} -_0204F384: - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldrb r0, [r5, #0x2] - lsl r0, r0, #0x2 - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] - cmp r0, #0x0 - bne _0204F3AC - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - beq _0204F3A4 - b _0204F5DA -_0204F3A4: - bl FUN_0204F7FC - add sp, #0xc - pop {r4-r5, pc} -_0204F3AC: - ldrb r0, [r5, #0x1] - bl FUN_0202DFA4 - add r1, r0, #0x0 - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldrb r0, [r5, #0x2] - lsl r0, r0, #0x2 - add r2, r2, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r2, r0] - bl FUN_02023AA4 +_0204AC4C: + mov r0, #0x1 + add sp, #0x14 + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_0204AC54 +FUN_0204AC54: ; 0x0204AC54 + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02004104 cmp r0, #0x1 - bne _0204F41A - ldrb r0, [r5, #0x2] - bl FUN_0204ED9C - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204F3FC - add r0, r4, #0x0 - bl FUN_02026C00 - bl FUN_0204F7E4 - bl FUN_0223D648 - ldr r3, _0204F5EC ; =FUN_0204E2AC - mov r1, #0xd - mov r2, #0x1 - bl FUN_0224DCB8 - ldr r0, _0204F5F0 ; =0x00000625 - bl FUN_020054C8 - b _0204F410 -_0204F3FC: - bl FUN_02031190 - ldrb r1, [r5, #0x2] - cmp r1, r0 - bne _0204F410 + bne _0204AC6C + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0204AC6C: add r0, r5, #0x0 - mov r1, #0x0 - add r2, r4, #0x0 - bl FUN_0204F23C -_0204F410: - ldrb r0, [r5, #0x1] - bl FUN_022472AC - add sp, #0xc - pop {r4-r5, pc} -_0204F41A: - ldrb r0, [r5, #0x1] - ldrb r1, [r5, #0x2] - bl FUN_0204EF50 - cmp r0, #0x0 - beq _0204F4B8 - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204F46C - add r0, r4, #0x0 - bl FUN_02026970 - mov r0, #0x1 - bl FUN_0204F74C - bl FUN_0223D648 - add r4, r0, #0x0 - ldrb r0, [r5, #0x2] - bl FUN_0202DFA4 - add r1, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0224DDB8 - bl FUN_0223D648 - ldr r3, _0204F5F4 ; =FUN_0204E2D4 - mov r1, #0xc - mov r2, #0x1 - bl FUN_0224DCB8 - ldr r0, _0204F5F8 ; =0x00000425 - bl FUN_0200521C - ldr r0, _0204F5F0 ; =0x00000625 - bl FUN_020054C8 - b _0204F480 -_0204F46C: - bl FUN_02031190 - ldrb r1, [r5, #0x2] - cmp r1, r0 - bne _0204F480 + bl FUN_02004124 + cmp r4, r0 + bne _0204AC7C + add sp, #0x10 + mov r0, #0x0 + pop {r4-r6, pc} +_0204AC7C: + bl FUN_02004810 add r0, r5, #0x0 - mov r1, #0x1 - add r2, r4, #0x0 - bl FUN_0204F23C -_0204F480: - ldrb r0, [r5, #0x1] - ldrb r1, [r5, #0x2] - bl FUN_02247294 - add sp, #0xc - pop {r4-r5, pc} -_0204F48C: - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204F4B8 - mov r0, #0x2 - bl FUN_0204F74C - bl FUN_0223D648 - ldr r3, _0204F5FC ; =FUN_0204E2BC - mov r1, #0x6 - mov r2, #0x1 - bl FUN_0224DCB8 - add sp, #0xc - pop {r4-r5, pc} -_0204F4AE: - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - beq _0204F4BA -_0204F4B8: - b _0204F5DA -_0204F4BA: - mov r0, #0x20 - bl FUN_0204F74C - bl FUN_0223D648 - ldr r3, _0204F600 ; =FUN_0204E2C8 - mov r1, #0x5 - mov r2, #0x1 - bl FUN_0224DCB8 - add sp, #0xc - pop {r4-r5, pc} -_0204F4D2: - ldr r0, _0204F5E0 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - ldrb r0, [r5, #0x1] - add r0, r1, r0 - add r0, #0xfa - strb r2, [r0, #0x0] - ldrb r0, [r5, #0x1] - bl FUN_0204F0A8 - bl FUN_02031190 - ldrb r1, [r5, #0x1] - cmp r1, r0 - bne _0204F58C - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_020377AC - bl FUN_02026CB4 - add r4, r0, #0x0 - bl FUN_020269A0 - add r1, sp, #0x8 - strb r0, [r1, #0x0] - add r0, r4, #0x0 - bl FUN_020269D4 - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205EDF8 - ldr r0, _0204F5E0 ; =0x021C5A68 - ldrb r1, [r5, #0x1] - ldr r0, [r0, #0x0] - lsl r1, r1, #0x2 - add r2, r0, r1 - mov r1, #0x29 - lsl r1, r1, #0x4 - ldr r1, [r2, r1] - cmp r1, #0x0 - beq _0204F54A - ldr r0, [r0, #0x54] - bl FUN_0206189C - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r1, _0204F604 ; =0x0000FFFF - ldr r3, [r0, #0x0] - ldr r0, _0204F608 ; =0x000002B2 - ldrh r2, [r3, r0] - cmp r2, r1 - beq _0204F54A - add r1, r2, #0x1 - strh r1, [r3, r0] -_0204F54A: - bl FUN_0204F7E4 - ldr r0, _0204F60C ; =0x0000062B - bl FUN_020054C8 - add r0, r4, #0x0 - bl FUN_020269A0 - add r1, sp, #0x8 - ldrb r1, [r1, #0x0] - cmp r1, r0 - bne _0204F572 - bl FUN_0223D648 - ldr r3, _0204F5EC ; =FUN_0204E2AC - mov r1, #0x7 - mov r2, #0x1 - bl FUN_0224DCB8 - b _0204F57A -_0204F572: - mov r0, #0x60 - add r1, sp, #0x8 - bl FUN_020311D0 -_0204F57A: - mov r0, #0xff + add r1, r6, #0x0 + add r2, sp, #0xc + add r3, sp, #0x8 + bl FUN_0204ACCC + mov r0, #0x1 str r0, [sp, #0x0] - mov r3, #0x0 - ldr r1, _0204F5E8 ; =0x00000424 + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r2, [sp, #0xc] + ldr r3, [sp, #0x8] mov r0, #0x4 - mov r2, #0x3c - str r3, [sp, #0x4] + add r1, r4, #0x0 bl FUN_02004DCC -_0204F58C: - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldrb r0, [r5, #0x1] - lsl r0, r0, #0x2 - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] - cmp r0, #0x0 - beq _0204F5D4 - bl FUN_02031190 - bl FUN_0202DFA4 - add r1, r0, #0x0 - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldrb r0, [r5, #0x1] - lsl r0, r0, #0x2 - add r2, r2, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r2, r0] - bl FUN_02023AA4 - cmp r0, #0x1 - bne _0204F5D4 - ldrb r0, [r5, #0x1] - bl FUN_0202DFA4 - add r1, r0, #0x0 - ldr r0, _0204F5E0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - bl FUN_020618B8 -_0204F5D4: - ldrb r0, [r5, #0x1] - bl FUN_0204EDEC -_0204F5DA: - add sp, #0xc - pop {r4-r5, pc} - nop -_0204F5E0: .word 0x021C5A68 -_0204F5E4: .word FUN_0204E2B4 + 1 -_0204F5E8: .word 0x00000424 -_0204F5EC: .word FUN_0204E2AC + 1 -_0204F5F0: .word 0x00000625 -_0204F5F4: .word FUN_0204E2D4 + 1 -_0204F5F8: .word 0x00000425 -_0204F5FC: .word FUN_0204E2BC + 1 -_0204F600: .word FUN_0204E2C8 + 1 -_0204F604: .word 0x0000FFFF -_0204F608: .word 0x000002B2 -_0204F60C: .word 0x0000062B - - thumb_func_start FUN_0204F610 -FUN_0204F610: ; 0x0204F610 - push {r3, lr} - cmp r0, #0x0 - bne _0204F61A mov r0, #0x1 - pop {r3, pc} -_0204F61A: - cmp r0, #0x1 - bne _0204F622 - mov r0, #0x0 - pop {r3, pc} -_0204F622: - cmp r0, #0x2 - bne _0204F62A - mov r0, #0x3 - pop {r3, pc} -_0204F62A: - cmp r0, #0x3 - bne _0204F632 - mov r0, #0x2 - pop {r3, pc} -_0204F632: - bl FUN_02020C2C - mov r0, #0x2 - pop {r3, pc} + add sp, #0x10 + pop {r4-r6, pc} .balign 4 - thumb_func_start FUN_0204F63C -FUN_0204F63C: ; 0x0204F63C - push {r3-r4} - ldr r3, _0204F658 ; =0x021C5A68 - ldr r2, [r3, #0x0] - add r4, r2, r0 - ldr r2, _0204F65C ; =0x0000011A - strb r1, [r4, r2] - ldr r1, [r3, #0x0] - mov r4, #0xf - add r0, r1, r0 - add r2, #0x20 - strb r4, [r0, r2] - pop {r3-r4} - bx lr - nop -_0204F658: .word 0x021C5A68 -_0204F65C: .word 0x0000011A + thumb_func_start FUN_0204ACA8 +FUN_0204ACA8: ; 0x0204ACA8 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + bl FUN_0204AB58 + add r7, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204AD44 + bl FUN_0200414C + add r0, r5, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_0204AC54 + pop {r3-r7, pc} - thumb_func_start FUN_0204F660 -FUN_0204F660: ; 0x0204F660 - ldr r1, _0204F670 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r1, #0x0] - add r1, r1, r0 - ldr r0, _0204F674 ; =0x0000011A - strb r2, [r1, r0] + thumb_func_start FUN_0204ACCC +FUN_0204ACCC: ; 0x0204ACCC + cmp r1, #0x3 + bhi _0204AD0A + add r0, r1, r1 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204ACDC: ; jump table (using 16-bit offset) + .short _0204ACE4 - _0204ACDC - 2; case 0 + .short _0204ACEE - _0204ACDC - 2; case 1 + .short _0204ACF8 - _0204ACDC - 2; case 2 + .short _0204AD02 - _0204ACDC - 2; case 3 +_0204ACE4: + mov r0, #0x1e + str r0, [r2, #0x0] + mov r0, #0x0 + str r0, [r3, #0x0] bx lr - nop -_0204F670: .word 0x021C5A68 -_0204F674: .word 0x0000011A - - thumb_func_start FUN_0204F678 -FUN_0204F678: ; 0x0204F678 - push {r3-r4} - ldr r3, _0204F694 ; =0x021C5A68 - ldr r2, [r3, #0x0] - add r4, r2, r0 - ldr r2, _0204F698 ; =0x00000122 - strb r1, [r4, r2] - ldr r1, [r3, #0x0] - mov r4, #0xf - add r0, r1, r0 - add r2, #0x18 - strb r4, [r0, r2] - pop {r3-r4} +_0204ACEE: + mov r0, #0x3c + str r0, [r2, #0x0] + mov r0, #0x0 + str r0, [r3, #0x0] bx lr - nop -_0204F694: .word 0x021C5A68 -_0204F698: .word 0x00000122 - - thumb_func_start FUN_0204F69C -FUN_0204F69C: ; 0x0204F69C - ldr r1, _0204F6AC ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r1, #0x0] - add r1, r1, r0 - ldr r0, _0204F6B0 ; =0x00000122 - strb r2, [r1, r0] +_0204ACF8: + mov r0, #0x3c + str r0, [r2, #0x0] + mov r0, #0xf + str r0, [r3, #0x0] bx lr - nop -_0204F6AC: .word 0x021C5A68 -_0204F6B0: .word 0x00000122 - - thumb_func_start FUN_0204F6B4 -FUN_0204F6B4: ; 0x0204F6B4 - ldr r1, _0204F6C0 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r0 - ldr r0, _0204F6C4 ; =0x00000142 - ldrb r0, [r1, r0] +_0204AD02: + mov r0, #0x3c + str r0, [r2, #0x0] + mov r0, #0x0 + str r0, [r3, #0x0] +_0204AD0A: bx lr - .balign 4 -_0204F6C0: .word 0x021C5A68 -_0204F6C4: .word 0x00000142 - thumb_func_start FUN_0204F6C8 -FUN_0204F6C8: ; 0x0204F6C8 - ldr r1, _0204F6D4 ; =0x021C5A68 - ldr r1, [r1, #0x0] - add r1, r1, r0 - ldr r0, _0204F6D8 ; =0x0000013A - ldrb r0, [r1, r0] - bx lr + thumb_func_start FUN_0204AD0C +FUN_0204AD0C: ; 0x0204AD0C + push {r3-r5, lr} + mov r1, #0x1 + bl FUN_0206AC74 + lsl r0, r0, #0x18 + lsr r5, r0, #0x18 + ldr r0, _0204AD38 ; =0x0000044D + ldr r2, _0204AD3C ; =0x020F4718 + mov r4, #0x0 +_0204AD1E: + lsl r3, r4, #0x2 + ldrh r1, [r2, r3] + cmp r5, r1 + bne _0204AD2C + ldr r0, _0204AD40 ; =0x020F471A + ldrh r0, [r0, r3] + pop {r3-r5, pc} +_0204AD2C: + add r1, r4, #0x1 + lsl r1, r1, #0x10 + lsr r4, r1, #0x10 + cmp r4, #0x4e + blo _0204AD1E + pop {r3-r5, pc} .balign 4 -_0204F6D4: .word 0x021C5A68 -_0204F6D8: .word 0x0000013A +_0204AD38: .word 0x0000044D +_0204AD3C: .word 0x020F4718 +_0204AD40: .word 0x020F471A - thumb_func_start FUN_0204F6DC -FUN_0204F6DC: ; 0x0204F6DC + thumb_func_start FUN_0204AD44 +FUN_0204AD44: ; 0x0204AD44 push {r4, lr} add r4, r0, #0x0 - ldr r0, _0204F708 ; =0x021C5A68 - add r1, r4, #0x0 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x54] - ldr r0, [r0, #0x38] - bl FUN_02055304 - bl FUN_02031190 - ldr r1, _0204F708 ; =0x021C5A68 - lsl r0, r0, #0x3 - ldr r1, [r1, #0x0] - add r0, r1, r0 - add r0, #0xa6 - strb r4, [r0, #0x0] - mov r0, #0x0 - bl FUN_0204D168 + bl FUN_0201277C + cmp r0, #0x0 + bne _0204AD58 + add r0, r4, #0x0 + bl FUN_020347B0 pop {r4, pc} - nop -_0204F708: .word 0x021C5A68 - - thumb_func_start FUN_0204F70C -FUN_0204F70C: ; 0x0204F70C - push {r4, lr} - ldr r3, _0204F728 ; =0x021C5A68 - lsl r2, r0, #0x3 - ldr r4, [r3, #0x0] - lsl r0, r0, #0x2 - add r2, r4, r2 - add r2, #0xa6 - strb r1, [r2, #0x0] - ldr r2, [r3, #0x0] - add r0, r2, r0 - ldr r0, [r0, #0x8] - bl FUN_02055304 +_0204AD58: + add r0, r4, #0x0 + bl FUN_020347C4 pop {r4, pc} - .balign 4 -_0204F728: .word 0x021C5A68 - thumb_func_start FUN_0204F72C -FUN_0204F72C: ; 0x0204F72C - push {r3, lr} - ldr r1, _0204F748 ; =0x021C5A68 - lsl r0, r0, #0x2 - ldr r1, [r1, #0x0] - add r0, r1, r0 - ldr r0, [r0, #0x8] - cmp r0, #0x0 - beq _0204F742 - bl FUN_020552F8 - pop {r3, pc} -_0204F742: + thumb_func_start FUN_0204AD60 +FUN_0204AD60: ; 0x0204AD60 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl FUN_02004104 + cmp r0, #0x1 + beq _0204AD88 + bl FUN_02004124 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_0204ABA8 + cmp r4, r0 + beq _0204AD88 mov r0, #0x0 - mvn r0, r0 - pop {r3, pc} + mov r1, #0x28 + bl FUN_020053CC +_0204AD88: + pop {r4-r6, pc} .balign 4 -_0204F748: .word 0x021C5A68 - - thumb_func_start FUN_0204F74C -FUN_0204F74C: ; 0x0204F74C - push {r3, lr} - cmp r0, #0x0 - beq _0204F75C - ldr r1, _0204F770 ; =0x021C5A68 - ldr r2, [r1, #0x0] - ldr r1, [r2, #0x0] - orr r0, r1 - str r0, [r2, #0x0] -_0204F75C: - bl FUN_02037760 - ldr r0, _0204F770 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - mov r0, #0xaf - lsl r0, r0, #0x2 - strb r2, [r1, r0] - pop {r3, pc} - nop -_0204F770: .word 0x021C5A68 - thumb_func_start FUN_0204F774 -FUN_0204F774: ; 0x0204F774 - push {r3-r4, lr} - sub sp, #0x4 + thumb_func_start FUN_0204AD8C +FUN_0204AD8C: ; 0x0204AD8C + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl FUN_02004104 + cmp r0, #0x1 + beq _0204ADB8 + mov r0, #0x0 + bl FUN_0200415C + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204ABA8 add r4, r0, #0x0 - beq _0204F788 - ldr r0, _0204F7D0 ; =0x021C5A68 - ldr r2, [r0, #0x0] - mvn r0, r4 - ldr r1, [r2, #0x0] - and r0, r1 - str r0, [r2, #0x0] -_0204F788: - ldr r0, _0204F7D0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x0] - cmp r0, #0x10 - bne _0204F7A0 - mov r1, #0x1 - add r0, sp, #0x0 - strb r1, [r0, #0x0] - mov r0, #0x3e - add r1, sp, #0x0 - bl FUN_020311D0 -_0204F7A0: - ldr r0, _0204F7D0 ; =0x021C5A68 - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x0] - cmp r0, #0x0 - bne _0204F7CC - cmp r4, #0x10 - beq _0204F7BC - bl FUN_02037778 - mov r0, #0x1 - bl FUN_0204D628 - add sp, #0x4 - pop {r3-r4, pc} -_0204F7BC: - bl FUN_02037778 - ldr r0, _0204F7D0 ; =0x021C5A68 + bl FUN_0200414C + mov r0, #0x4 + add r1, r4, #0x0 mov r2, #0x1 - ldr r1, [r0, #0x0] - mov r0, #0xaf - lsl r0, r0, #0x2 - strb r2, [r1, r0] -_0204F7CC: - add sp, #0x4 - pop {r3-r4, pc} + bl FUN_0200433C +_0204ADB8: + pop {r3-r5, pc} .balign 4 -_0204F7D0: .word 0x021C5A68 - thumb_func_start FUN_0204F7D4 -FUN_0204F7D4: ; 0x0204F7D4 - ldr r0, _0204F7E0 ; =0x021C5A68 - mov r1, #0x0 - ldr r0, [r0, #0x0] - str r1, [r0, #0x0] - bx lr - nop -_0204F7E0: .word 0x021C5A68 + thumb_func_start FUN_0204ADBC +FUN_0204ADBC: ; 0x0204ADBC + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bl FUN_0204AB58 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204ABA8 + bl FUN_0200414C + mov r0, #0x4 + add r1, r6, #0x0 + mov r2, #0x1 + bl FUN_0200433C + pop {r4-r6, pc} - thumb_func_start FUN_0204F7E4 -FUN_0204F7E4: ; 0x0204F7E4 - push {r3, lr} - bl FUN_02037760 - ldr r0, _0204F7F8 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - mov r0, #0xaf - lsl r0, r0, #0x2 - strb r2, [r1, r0] - pop {r3, pc} + thumb_func_start FUN_0204ADE0 +FUN_0204ADE0: ; 0x0204ADE0 + mov r3, #0x0 + add r2, r3, #0x0 +_0204ADE4: + lsl r1, r3, #0x2 + add r1, r0, r1 + strb r2, [r1, #0x6] + strb r2, [r1, #0x7] + strb r2, [r1, #0x8] + strb r2, [r1, #0x9] + add r1, r3, #0x1 + lsl r1, r1, #0x18 + lsr r3, r1, #0x18 + cmp r3, #0x6 + blo _0204ADE4 + str r2, [r0, #0x0] + strb r2, [r0, #0x4] + strb r2, [r0, #0x5] + bx lr .balign 4 -_0204F7F8: .word 0x021C5A68 - thumb_func_start FUN_0204F7FC -FUN_0204F7FC: ; 0x0204F7FC - push {r3, lr} - bl FUN_02037778 - mov r0, #0x1 - bl FUN_0204D628 - pop {r3, pc} + thumb_func_start FUN_0204AE04 +FUN_0204AE04: ; 0x0204AE04 + push {r4, lr} + add r4, r0, #0x0 + asr r0, r1, #0x4 + lsr r0, r0, #0x1b + add r0, r1, r0 + asr r1, r2, #0x4 + lsr r1, r1, #0x1b + add r1, r2, r1 + lsl r0, r0, #0x13 + lsl r1, r1, #0x13 + ldrb r2, [r4, #0x4] + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + cmp r0, r2 + bne _0204AE28 + ldrb r2, [r4, #0x5] + cmp r1, r2 + beq _0204AE58 +_0204AE28: + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r0, [r2, #0x6] + ldr r0, [r4, #0x0] + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x7] + ldr r0, [r4, #0x0] + mov r1, #0xff + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x8] + ldr r0, [r4, #0x0] + mov r1, #0x1 + lsl r0, r0, #0x2 + add r0, r4, r0 + strb r1, [r0, #0x9] + ldr r0, [r4, #0x0] + mov r1, #0x6 + add r0, r0, #0x1 + blx FUN_020EBC80 + str r1, [r4, #0x0] +_0204AE58: + pop {r4, pc} .balign 4 - thumb_func_start FUN_0204F80C -FUN_0204F80C: ; 0x0204F80C - push {r3, lr} - ldr r0, _0204F850 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldr r0, _0204F854 ; =0x000002BF - ldrb r1, [r2, r0] + thumb_func_start FUN_0204AE5C +FUN_0204AE5C: ; 0x0204AE5C + push {r4, lr} + add r4, r0, #0x0 + lsl r0, r1, #0x18 + lsl r1, r2, #0x18 + ldrb r2, [r4, #0x4] + lsr r0, r0, #0x18 + lsr r1, r1, #0x18 + cmp r0, r2 + bne _0204AE74 + ldrb r2, [r4, #0x5] + cmp r1, r2 + beq _0204AEA6 +_0204AE74: + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r0, [r2, #0x6] + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r1, [r2, #0x7] + ldr r2, [r4, #0x0] + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r3, [r2, #0x8] + ldr r2, [r4, #0x0] + mov r3, #0x1 + lsl r2, r2, #0x2 + add r2, r4, r2 + strb r3, [r2, #0x9] + strb r0, [r4, #0x4] + strb r1, [r4, #0x5] + ldr r0, [r4, #0x0] + mov r1, #0x6 + add r0, r0, #0x1 + blx FUN_020EBC80 + str r1, [r4, #0x0] +_0204AEA6: + pop {r4, pc} + + thumb_func_start FUN_0204AEA8 +FUN_0204AEA8: ; 0x0204AEA8 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] cmp r1, #0x0 - bne _0204F84C - sub r0, r0, #0x1 - ldrb r0, [r2, r0] - cmp r0, #0x0 - bne _0204F832 - bl FUN_0204F7FC - ldr r0, _0204F850 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204F854 ; =0x000002BF - strb r2, [r1, r0] - pop {r3, pc} -_0204F832: - bl FUN_02031190 - bl FUN_0223E734 - cmp r0, #0x0 - beq _0204F84C - bl FUN_0204F7FC - ldr r0, _0204F850 ; =0x021C5A68 + beq _0204AEC6 + cmp r1, #0x1 + beq _0204AEE6 + b _0204AEF4 +_0204AEC6: + ldr r0, [r4, #0x8] + add r1, r5, #0x0 + add r2, r4, #0x4 + bl FUN_021E3444 + ldr r1, [r4, #0xc] + mov r0, #0x5 + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204F854 ; =0x000002BF - strb r2, [r1, r0] -_0204F84C: - pop {r3, pc} + bl FUN_0200433C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204AEF4 +_0204AEE6: + ldr r1, [r4, #0x4] + cmp r1, #0x1 + bne _0204AEF4 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} +_0204AEF4: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_0204AEF8 +FUN_0204AEF8: ; 0x0204AEF8 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x10 + add r4, r2, #0x0 + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r5, [r2, #0x8] + ldr r1, _0204AF20 ; =FUN_0204AEA8 + add r0, r6, #0x0 + str r4, [r2, #0xc] + bl FUN_0204640C + pop {r4-r6, pc} nop -_0204F850: .word 0x021C5A68 -_0204F854: .word 0x000002BF +_0204AF20: .word FUN_0204AEA8 + 1 - thumb_func_start FUN_0204F858 -FUN_0204F858: ; 0x0204F858 + thumb_func_start FUN_0204AF24 +FUN_0204AF24: ; 0x0204AF24 push {r3, lr} - ldr r0, _0204F884 ; =0x021C5A68 - ldr r2, [r0, #0x0] - ldr r0, _0204F888 ; =0x000002BF - ldrb r1, [r2, r0] - cmp r1, #0x0 - bne _0204F880 - sub r0, r0, #0x1 - ldrb r0, [r2, r0] - cmp r0, #0x0 - beq _0204F880 - bl FUN_02031190 - bl FUN_0223E734 + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 - bne _0204F880 + bne _0204AF36 + mov r0, #0x1 + pop {r3, pc} +_0204AF36: mov r0, #0x0 - bl FUN_0204D628 -_0204F880: pop {r3, pc} - nop -_0204F884: .word 0x021C5A68 -_0204F888: .word 0x000002BF + .balign 4 - thumb_func_start FUN_0204F88C -FUN_0204F88C: ; 0x0204F88C - push {r3-r7, lr} - sub sp, #0x10 - ldr r0, _0204F908 ; =0x021C5A68 - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _0204F902 - mov r6, #0x0 - add r4, r6, #0x0 - add r5, r6, #0x0 -_0204F89E: - ldr r0, _0204F908 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r4 - ldr r0, [r0, #0x8] + thumb_func_start FUN_0204AF3C +FUN_0204AF3C: ; 0x0204AF3C + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + bl FUN_0203739C cmp r0, #0x0 - beq _0204F8F8 - bl FUN_02031190 - cmp r6, r0 - beq _0204F8F8 - ldr r0, _0204F908 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r0, r0, r4 - ldr r0, [r0, #0x8] - bl FUN_020553A0 - ldr r1, _0204F908 ; =0x021C5A68 - str r0, [sp, #0xc] - ldr r1, [r1, #0x0] - add r1, r1, r5 - add r2, r1, #0x0 - add r2, #0xa2 - ldrh r2, [r2, #0x0] - str r2, [sp, #0x8] - add r2, r1, #0x0 - add r2, #0xa4 - ldrh r7, [r2, #0x0] - mov r2, #0xa6 - ldrsb r1, [r1, r2] - str r1, [sp, #0x4] - ldr r1, [sp, #0x8] - bl FUN_02058B30 - ldr r0, [sp, #0xc] - add r1, r7, #0x0 - bl FUN_02058B50 - ldr r0, [sp, #0x4] - ldr r1, [sp, #0x8] - str r0, [sp, #0x0] - ldr r0, [sp, #0xc] + bne _0204AF54 + bl FUN_02020C2C + pop {r3-r5, pc} +_0204AF54: + add r0, r4, #0x0 + bl FUN_02037394 + ldr r1, _0204AF68 ; =FUN_0204AF24 + add r0, r5, #0x0 mov r2, #0x0 - add r3, r7, #0x0 - bl FUN_02058E28 -_0204F8F8: - add r6, r6, #0x1 - add r4, r4, #0x4 - add r5, #0x8 - cmp r6, #0x8 - blt _0204F89E -_0204F902: - add sp, #0x10 - pop {r3-r7, pc} + bl FUN_0204640C + pop {r3-r5, pc} nop -_0204F908: .word 0x021C5A68 +_0204AF68: .word FUN_0204AF24 + 1 - thumb_func_start FUN_0204F90C -FUN_0204F90C: ; 0x0204F90C - push {r4-r5} - mov r3, #0xff - mov r4, #0x0 - add r0, r3, #0x0 - ldr r1, _0204F92C ; =0x021C5A68 - add r5, r4, #0x0 - add r0, #0x6b -_0204F91A: - ldr r2, [r1, #0x0] - add r4, r4, #0x1 - add r2, r2, r5 - add r5, #0x22 - strh r3, [r2, r0] - cmp r4, #0x8 - blt _0204F91A - pop {r4-r5} - bx lr + thumb_func_start FUN_0204AF6C +FUN_0204AF6C: ; 0x0204AF6C + push {r3, lr} + bl FUN_02046528 + bl FUN_020464A4 + cmp r0, #0x0 + beq _0204AF7E + mov r0, #0x1 + pop {r3, pc} +_0204AF7E: + mov r0, #0x0 + pop {r3, pc} .balign 4 -_0204F92C: .word 0x021C5A68 - thumb_func_start FUN_0204F930 -FUN_0204F930: ; 0x0204F930 + thumb_func_start FUN_0204AF84 +FUN_0204AF84: ; 0x0204AF84 push {r3-r5, lr} - ldr r0, _0204F9B0 ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204F9B4 ; =0x000002B9 - strb r2, [r1, r0] - bl FUN_02031190 - ldr r1, _0204F9B0 ; =0x021C5A68 - lsl r0, r0, #0x2 - ldr r1, [r1, #0x0] - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] - cmp r0, #0x0 - beq _0204F96E - bl FUN_02031190 - ldr r1, _0204F9B0 ; =0x021C5A68 - add r3, r0, #0x0 - ldr r2, [r1, #0x0] - lsl r1, r3, #0x2 - add r2, r2, r1 - mov r1, #0x29 - lsl r1, r1, #0x4 - ldr r1, [r2, r1] - mov r0, #0x5b - bl FUN_020311D0 - pop {r3-r5, pc} -_0204F96E: - mov r0, #0xf - bl FUN_02023928 - add r4, r0, #0x0 - mov r0, #0x14 - mov r1, #0xf - bl FUN_020219F4 add r5, r0, #0x0 - cmp r4, #0x0 - bne _0204F988 - bl FUN_02020C2C -_0204F988: - cmp r5, #0x0 - bne _0204F990 + bl FUN_02046528 + add r4, r0, #0x0 + bl FUN_0203739C + cmp r0, #0x0 + beq _0204AF9C bl FUN_02020C2C -_0204F990: + pop {r3-r5, pc} +_0204AF9C: add r0, r4, #0x0 - add r1, r5, #0x0 - bl FUN_0202397C - mov r0, #0x5b - add r1, r4, #0x0 - bl FUN_020311D0 + bl FUN_0204649C + ldr r1, _0204AFB0 ; =FUN_0204AF6C add r0, r5, #0x0 - bl FUN_02021A20 - add r0, r4, #0x0 - bl FUN_02016A18 + mov r2, #0x0 + bl FUN_0204640C pop {r3-r5, pc} nop -_0204F9B0: .word 0x021C5A68 -_0204F9B4: .word 0x000002B9 +_0204AFB0: .word FUN_0204AF6C + 1 - thumb_func_start FUN_0204F9B8 -FUN_0204F9B8: ; 0x0204F9B8 - mov r0, #0x20 - bx lr + thumb_func_start FUN_0204AFB4 +FUN_0204AFB4: ; 0x0204AFB4 + push {r3, lr} + bl FUN_0200E308 + cmp r0, #0x0 + beq _0204AFC2 + mov r0, #0x1 + pop {r3, pc} +_0204AFC2: + mov r0, #0x0 + pop {r3, pc} + .balign 4 - thumb_func_start FUN_0204F9BC -FUN_0204F9BC: ; 0x0204F9BC - push {r3-r7, lr} - sub sp, #0x8 - add r5, r0, #0x0 - add r0, sp, #0x4 - strb r5, [r0, #0x0] - ldr r0, _0204FA54 ; =0x021C5A68 - add r6, r2, #0x0 - ldr r2, [r0, #0x0] - cmp r2, #0x0 - beq _0204FA4C - ldr r1, _0204FA58 ; =0x0000014A - mov r0, #0x22 - add r4, r5, #0x0 - mul r4, r0 - add r1, r2, r1 - add r0, r6, #0x0 - add r1, r1, r4 - bl FUN_0202393C - add r0, r6, #0x0 - mov r1, #0xf - bl FUN_020239A0 - str r0, [sp, #0x0] - bl FUN_02021D3C + thumb_func_start FUN_0204AFC8 +FUN_0204AFC8: ; 0x0204AFC8 + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 - beq _0204F9FE - ldr r0, _0204FA54 ; =0x021C5A68 - ldr r0, [r0, #0x0] - add r1, r0, r4 - ldr r0, _0204FA5C ; =0x0000016A - strh r5, [r1, r0] -_0204F9FE: - mov r4, #0x0 - ldr r6, _0204FA54 ; =0x021C5A68 - ldr r7, _0204FA5C ; =0x0000016A - add r5, r4, #0x0 -_0204FA06: - ldr r0, [r6, #0x0] - add r1, r0, r5 - ldrh r0, [r1, r7] - cmp r0, #0xff - beq _0204FA26 - ldr r0, _0204FA5C ; =0x0000016A - strh r4, [r1, r0] - mov r0, #0x5c - add r1, r0, #0x0 - ldr r2, [r6, #0x0] - add r1, #0xee - add r1, r2, r1 - add r1, r1, r5 - mov r2, #0x22 - bl FUN_02030B3C -_0204FA26: - add r4, r4, #0x1 - add r5, #0x22 - cmp r4, #0x8 - blt _0204FA06 - mov r0, #0x5d - add r1, sp, #0x4 - mov r2, #0x1 - bl FUN_02030BC4 - ldr r0, [sp, #0x0] - bl FUN_02021A20 - ldr r0, _0204FA54 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204FA60 ; =0x000002C2 - add sp, #0x8 - strb r2, [r1, r0] - pop {r3-r7, pc} -_0204FA4C: + bne _0204AFE2 bl FUN_02020C2C - add sp, #0x8 - pop {r3-r7, pc} + add sp, #0xc + pop {r3-r4, pc} +_0204AFE2: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + ldr r1, _0204B008 ; =FUN_0204AFB4 + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_0204640C + add sp, #0xc + pop {r3-r4, pc} .balign 4 -_0204FA54: .word 0x021C5A68 -_0204FA58: .word 0x0000014A -_0204FA5C: .word 0x0000016A -_0204FA60: .word 0x000002C2 - - thumb_func_start FUN_0204FA64 -FUN_0204FA64: ; 0x0204FA64 - ldr r0, _0204FA70 ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204FA74 ; =0x0000025A - add r0, r1, r0 - bx lr - nop -_0204FA70: .word 0x021C5A68 -_0204FA74: .word 0x0000025A +_0204B008: .word FUN_0204AFB4 + 1 - thumb_func_start FUN_0204FA78 -FUN_0204FA78: ; 0x0204FA78 - push {r4-r6, lr} - ldr r0, _0204FAC8 ; =0x021C5A68 - add r6, r2, #0x0 - ldr r1, [r0, #0x0] - cmp r1, #0x0 - beq _0204FAC4 - ldrh r5, [r6, #0x20] - lsl r0, r5, #0x2 - add r1, r1, r0 - mov r0, #0x29 - lsl r0, r0, #0x4 - ldr r0, [r1, r0] + thumb_func_start FUN_0204B00C +FUN_0204B00C: ; 0x0204B00C + push {r3-r4, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl FUN_02046528 + bl FUN_0203739C cmp r0, #0x0 - beq _0204FA98 - bl FUN_02016A18 -_0204FA98: - mov r0, #0xf - lsl r4, r5, #0x2 - bl FUN_02023928 - ldr r2, _0204FAC8 ; =0x021C5A68 - ldr r1, [r2, #0x0] - add r3, r1, r4 - mov r1, #0x29 - lsl r1, r1, #0x4 - str r0, [r3, r1] - ldr r2, [r2, #0x0] - add r0, r6, #0x0 - add r2, r2, r4 - ldr r1, [r2, r1] - bl FUN_0202393C - ldr r0, _0204FAC8 ; =0x021C5A68 + bne _0204B026 + bl FUN_02020C2C + add sp, #0xc + pop {r3-r4, pc} +_0204B026: + mov r0, #0x6 + str r0, [sp, #0x0] mov r1, #0x1 - ldr r0, [r0, #0x0] - add r0, r0, r5 - add r0, #0xfa - strb r1, [r0, #0x0] -_0204FAC4: - pop {r4-r6, pc} - nop -_0204FAC8: .word 0x021C5A68 - - thumb_func_start FUN_0204FACC -FUN_0204FACC: ; 0x0204FACC - mov r0, #0x22 - bx lr - - thumb_func_start FUN_0204FAD0 -FUN_0204FAD0: ; 0x0204FAD0 - push {r4, lr} - add r4, r2, #0x0 - bl FUN_02031190 - ldrb r1, [r4, #0x0] - cmp r1, r0 - bne _0204FAE8 - ldr r0, _0204FAF4 ; =0x021C5A68 - mov r2, #0x1 - ldr r1, [r0, #0x0] - ldr r0, _0204FAF8 ; =0x000002B9 - strb r2, [r1, r0] -_0204FAE8: - ldr r0, _0204FAF4 ; =0x021C5A68 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + ldr r1, _0204B04C ; =FUN_0204AFB4 + add r0, r4, #0x0 mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204FAFC ; =0x000002C2 - strb r2, [r1, r0] - pop {r4, pc} - .balign 4 -_0204FAF4: .word 0x021C5A68 -_0204FAF8: .word 0x000002B9 -_0204FAFC: .word 0x000002C2 - - thumb_func_start FUN_0204FB00 -FUN_0204FB00: ; 0x0204FB00 - ldr r0, _0204FB0C ; =0x021C5A68 - ldr r1, [r0, #0x0] - ldr r0, _0204FB10 ; =0x000002B9 - ldrb r0, [r1, r0] - bx lr - nop -_0204FB0C: .word 0x021C5A68 -_0204FB10: .word 0x000002B9 - - thumb_func_start FUN_0204FB14 -FUN_0204FB14: ; 0x0204FB14 - ldr r0, _0204FB24 ; =0x021C5A68 - mov r2, #0x8 - ldr r1, [r0, #0x0] - mov r0, #0xb - lsl r0, r0, #0x6 - strb r2, [r1, r0] - bx lr + bl FUN_0204640C + add sp, #0xc + pop {r3-r4, pc} nop -_0204FB24: .word 0x021C5A68 +_0204B04C: .word FUN_0204AFB4 + 1 - thumb_func_start FUN_0204FB28 -FUN_0204FB28: ; 0x0204FB28 + thumb_func_start FUN_0204B050 +FUN_0204B050: ; 0x0204B050 push {r3-r5, lr} - mov r4, #0x0 - bl FUN_02031190 - ldr r2, _0204FB9C ; =0x021C5A68 - lsl r1, r0, #0x2 - ldr r3, [r2, #0x0] - add r5, r3, r1 - mov r1, #0x29 - lsl r1, r1, #0x4 - ldr r3, [r5, r1] - cmp r3, #0x0 - beq _0204FB60 - add r4, r3, #0x0 - mov r3, #0x0 - str r3, [r5, r1] - ldr r1, [r2, #0x0] - add r1, r1, r0 - add r1, #0xfa - strb r3, [r1, #0x0] - ldr r3, [r2, #0x0] - mov r2, #0x22 - mul r2, r0 - mov r1, #0xff - add r0, r1, #0x0 - add r2, r3, r2 - add r0, #0x6b - strh r1, [r2, r0] -_0204FB60: - mov r5, #0x0 -_0204FB62: + add r5, r0, #0x0 + bl FUN_02046530 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204B06A + cmp r0, #0x1 + beq _0204B078 + cmp r0, #0x2 + beq _0204B086 + b _0204B08A +_0204B06A: add r0, r5, #0x0 - bl FUN_0204ED9C - add r5, r5, #0x1 - cmp r5, #0x8 - blt _0204FB62 - cmp r4, #0x0 - beq _0204FB9A - ldr r1, _0204FB9C ; =0x021C5A68 - mov r0, #0x29 - ldr r2, [r1, #0x0] - lsl r0, r0, #0x4 - str r4, [r2, r0] - ldr r0, [r1, #0x0] - mov r2, #0x1 - add r0, #0xfa - strb r2, [r0, #0x0] - ldr r2, [r1, #0x0] - ldr r1, _0204FBA0 ; =0x0000014A - add r0, r4, #0x0 - add r1, r2, r1 - bl FUN_0202393C - ldr r0, _0204FB9C ; =0x021C5A68 - mov r2, #0x0 - ldr r1, [r0, #0x0] - ldr r0, _0204FBA4 ; =0x0000016A - strh r2, [r1, r0] -_0204FB9A: + bl FUN_0204AFC8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B08A +_0204B078: + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B08A +_0204B086: + mov r0, #0x1 + pop {r3-r5, pc} +_0204B08A: + mov r0, #0x0 pop {r3-r5, pc} - .balign 4 -_0204FB9C: .word 0x021C5A68 -_0204FBA0: .word 0x0000014A -_0204FBA4: .word 0x0000016A - - thumb_func_start FUN_0204FBA8 -FUN_0204FBA8: ; 0x0204FBA8 - bx lr - .balign 4 - - thumb_func_start FUN_0204FBAC -FUN_0204FBAC: ; 0x0204FBAC - bx lr .balign 4 - thumb_func_start FUN_0204FBB0 -FUN_0204FBB0: ; 0x0204FBB0 - push {r4, lr} - ldr r1, _0204FC08 ; =0x021C5A6C - add r4, r0, #0x0 - ldr r1, [r1, #0x0] - cmp r1, #0x0 - bne _0204FC04 - bl FUN_0208881C - mov r0, #0xf - mov r1, #0x48 - bl FUN_02016998 - ldr r1, _0204FC08 ; =0x021C5A6C - mov r2, #0x48 - str r0, [r1, #0x0] - mov r1, #0x0 - blx FUN_020CE34C - ldr r0, _0204FC08 ; =0x021C5A6C - mov r1, #0x32 - ldr r0, [r0, #0x0] - mov r2, #0xa - strh r1, [r0, #0x3c] - ldr r0, _0204FC0C ; =FUN_0205006C - mov r1, #0x0 - bl FUN_0200CA44 - ldr r1, _0204FC08 ; =0x021C5A6C - ldr r2, [r1, #0x0] - str r0, [r2, #0x38] - ldr r0, [r1, #0x0] + thumb_func_start FUN_0204B090 +FUN_0204B090: ; 0x0204B090 + ldr r3, _0204B098 ; =FUN_0204640C + ldr r1, _0204B09C ; =FUN_0204B050 mov r2, #0x0 - str r4, [r0, #0x18] - ldr r0, [r1, #0x0] - str r2, [r0, #0x44] - bl FUN_0204FBA8 - ldr r0, _0204FC08 ; =0x021C5A6C - ldr r0, [r0, #0x0] - add r0, #0x1c - bl FUN_020312BC -_0204FC04: - pop {r4, pc} - nop -_0204FC08: .word 0x021C5A6C -_0204FC0C: .word FUN_0205006C + 1 - - thumb_func_start FUN_0204FC10 -FUN_0204FC10: ; 0x0204FC10 - push {r4-r6, lr} - ldr r0, _0204FC58 ; =0x021C5A6C - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _0204FC56 - ldr r0, [r0, #0x38] - bl FUN_0200CAB4 - mov r4, #0x0 - ldr r6, _0204FC58 ; =0x021C5A6C - add r5, r4, #0x0 -_0204FC26: - ldr r0, [r6, #0x0] - ldr r0, [r0, r5] - cmp r0, #0x0 - beq _0204FC32 - bl FUN_02016A18 -_0204FC32: - add r4, r4, #0x1 - add r5, r5, #0x4 - cmp r4, #0x4 - blt _0204FC26 - ldr r0, _0204FC58 ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x44] - cmp r0, #0x0 - beq _0204FC48 - bl FUN_02016A18 -_0204FC48: - ldr r0, _0204FC58 ; =0x021C5A6C - ldr r0, [r0, #0x0] - bl FUN_02016A18 - ldr r0, _0204FC58 ; =0x021C5A6C - mov r1, #0x0 - str r1, [r0, #0x0] -_0204FC56: - pop {r4-r6, pc} + bx r3 .balign 4 -_0204FC58: .word 0x021C5A6C +_0204B098: .word FUN_0204640C + 1 +_0204B09C: .word FUN_0204B050 + 1 - thumb_func_start FUN_0204FC5C -FUN_0204FC5C: ; 0x0204FC5C - push {r4, lr} - ldr r1, _0204FC9C ; =0x021C5A6C + thumb_func_start FUN_0204B0A0 +FUN_0204B0A0: ; 0x0204B0A0 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046530 add r4, r0, #0x0 - ldr r1, [r1, #0x0] + add r0, r5, #0x0 + bl FUN_02046528 + ldr r1, [r4, #0x0] cmp r1, #0x0 - bne _0204FC9A - bl FUN_020377AC - bl FUN_02031824 - add r0, r4, #0x0 - bl FUN_0204FBB0 - mov r2, #0x3a - mov r0, #0x3 - mov r1, #0x21 - lsl r2, r2, #0xa - bl FUN_0201681C - ldr r0, _0204FC9C ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F194 - cmp r0, #0x0 - bne _0204FC9A - bl FUN_02031924 -_0204FC9A: - pop {r4, pc} - .balign 4 -_0204FC9C: .word 0x021C5A6C - - thumb_func_start FUN_0204FCA0 -FUN_0204FCA0: ; 0x0204FCA0 - push {r3, lr} - ldr r0, _0204FCD0 ; =0x021C5A6C - mov r2, #0x1 - ldr r1, [r0, #0x0] - add r1, #0x41 - strb r2, [r1, #0x0] - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - ldr r0, [r0, #0xc] - bl FUN_02029FC8 - mov r1, #0x24 - bl FUN_0202A170 - ldr r0, _0204FCD0 ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - bl FUN_0223E060 - ldr r0, _0204FCD4 ; =FUN_020500A4 - mov r1, #0x0 - bl FUN_02050094 - pop {r3, pc} - .balign 4 -_0204FCD0: .word 0x021C5A6C -_0204FCD4: .word FUN_020500A4 + 1 - - thumb_func_start FUN_0204FCD8 -FUN_0204FCD8: ; 0x0204FCD8 - push {r3, lr} - ldr r0, _0204FCEC ; =0x021C5A6C - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _0204FCEA - ldr r0, _0204FCF0 ; =0x02050D55 - mov r1, #0x3 - bl FUN_02050094 -_0204FCEA: - pop {r3, pc} - .balign 4 -_0204FCEC: .word 0x021C5A6C -_0204FCF0: .word 0x02050D55 + beq _0204B0C0 + cmp r1, #0x1 + beq _0204B0CE + cmp r1, #0x2 + beq _0204B0E0 + b _0204B0E4 +_0204B0C0: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B0E4 +_0204B0CE: + bl FUN_021E331C + add r0, r5, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204B0E4 +_0204B0E0: + mov r0, #0x1 + pop {r3-r5, pc} +_0204B0E4: + mov r0, #0x0 + pop {r3-r5, pc} - thumb_func_start FUN_0204FCF4 -FUN_0204FCF4: ; 0x0204FCF4 - push {r3, lr} - bl FUN_02031914 - ldr r0, _0204FD04 ; =0x020504D9 - mov r1, #0x0 - bl FUN_02050094 - pop {r3, pc} + thumb_func_start FUN_0204B0E8 +FUN_0204B0E8: ; 0x0204B0E8 + ldr r3, _0204B0F0 ; =FUN_0204640C + ldr r1, _0204B0F4 ; =FUN_0204B0A0 + mov r2, #0x0 + bx r3 .balign 4 -_0204FD04: .word 0x020504D9 +_0204B0F0: .word FUN_0204640C + 1 +_0204B0F4: .word FUN_0204B0A0 + 1 - thumb_func_start FUN_0204FD08 -FUN_0204FD08: ; 0x0204FD08 - push {r3, lr} - bl FUN_0202EDD8 + thumb_func_start FUN_0204B0F8 +FUN_0204B0F8: ; 0x0204B0F8 + push {r4-r5, lr} + sub sp, #0x1c + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02023794 + add r4, r0, #0x0 + ldr r0, [r4, #0x0] cmp r0, #0x0 - bne _0204FD1E - bl FUN_02245F1C - ldr r0, _0204FD20 ; =FUN_020500A4 - mov r1, #0x0 - bl FUN_02050094 -_0204FD1E: - pop {r3, pc} + beq _0204B12A + add r0, sp, #0xc + add r1, sp, #0x0 + bl FUN_0201265C + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0xc + bl FUN_0204B130 + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, sp, #0xc + add r3, sp, #0x0 + bl FUN_0204B158 +_0204B12A: + add sp, #0x1c + pop {r4-r5, pc} .balign 4 -_0204FD20: .word FUN_020500A4 + 1 - thumb_func_start FUN_0204FD24 -FUN_0204FD24: ; 0x0204FD24 - push {r3, lr} - bl FUN_02031934 - ldr r0, _0204FD34 ; =FUN_0204FD08 - mov r1, #0x0 - bl FUN_02050094 - pop {r3, pc} - .balign 4 -_0204FD34: .word FUN_0204FD08 + 1 + thumb_func_start FUN_0204B130 +FUN_0204B130: ; 0x0204B130 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + add r0, r2, #0x0 + blx FUN_020D660C + ldr r1, [r5, #0x20] + add r4, r0, #0x0 + cmp r4, r1 + bhs _0204B148 + str r4, [r5, #0x20] + pop {r4-r6, pc} +_0204B148: + cmp r4, r1 + bls _0204B156 + add r0, r6, #0x0 + sub r1, r4, r1 + bl FUN_0204B1DC + str r4, [r5, #0x20] +_0204B156: + pop {r4-r6, pc} - thumb_func_start FUN_0204FD38 -FUN_0204FD38: ; 0x0204FD38 - push {r3-r7, lr} - sub sp, #0x10 - ldr r0, _0204FDBC ; =0x021C5A6C - add r2, sp, #0x0 - ldr r0, [r0, #0x0] - ldr r3, _0204FDC0 ; =0x020F5838 - ldr r5, [r0, #0x34] - add r6, r2, #0x0 - ldmia r3!, {r0-r1} + thumb_func_start FUN_0204B158 +FUN_0204B158: ; 0x0204B158 + push {r4-r7, lr} + sub sp, #0xc + add r4, r2, #0x0 + str r0, [sp, #0x0] + add r6, r3, #0x0 + add r5, r1, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + blx FUN_020D6578 + str r1, [sp, #0x8] + add r1, r5, #0x0 + add r7, r0, #0x0 + add r0, r5, #0x4 + add r1, #0x14 + blx FUN_020D6578 + add r2, r1, #0x0 + sub r1, r7, r0 + ldr r1, [sp, #0x8] + sbc r1, r2 + bge _0204B19C + add r2, r5, #0x4 + ldmia r4!, {r0-r1} stmia r2!, {r0-r1} - ldmia r3!, {r0-r1} + ldmia r4!, {r0-r1} stmia r2!, {r0-r1} - ldr r0, _0204FDC4 ; =0x020502AD - ldr r4, _0204FDC8 ; =0x02050549 - ldr r7, _0204FDCC ; =0x02050169 - cmp r5, r0 - bne _0204FD68 - ldr r0, _0204FDD0 ; =0x0205031D - mov r1, #0x0 - bl FUN_02050094 - add sp, #0x10 - mov r0, #0x1 - pop {r3-r7, pc} -_0204FD68: - cmp r4, r5 - bne _0204FD7A - ldr r0, _0204FDD4 ; =0x02050579 - mov r1, #0x0 - bl FUN_02050094 - add sp, #0x10 - mov r0, #0x1 - pop {r3-r7, pc} -_0204FD7A: - cmp r7, r5 - bne _0204FD8C - ldr r0, _0204FDD8 ; =0x020505E1 - mov r1, #0x0 - bl FUN_02050094 - add sp, #0x10 + ldmia r6!, {r0-r1} + add r5, #0x14 + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + add sp, #0xc + str r0, [r5, #0x0] + pop {r4-r7, pc} +_0204B19C: + ldr r1, [sp, #0x8] + sub r0, r7, r0 + sbc r1, r2 + mov r2, #0x3c + mov r3, #0x0 + str r1, [sp, #0x8] + blx FUN_020EBA38 + add r7, r0, #0x0 + cmp r7, #0x0 + ble _0204B1D8 + add r0, r5, #0x0 + add r1, r7, #0x0 + bl FUN_02023884 + ldr r0, [sp, #0x0] + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_0204B270 + add r2, r5, #0x4 + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r4!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r6!, {r0-r1} + add r5, #0x14 + stmia r5!, {r0-r1} + ldr r0, [r6, #0x0] + str r0, [r5, #0x0] +_0204B1D8: + add sp, #0xc + pop {r4-r7, pc} + + thumb_func_start FUN_0204B1DC +FUN_0204B1DC: ; 0x0204B1DC + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + bl FUN_020377AC + add r1, r4, #0x0 + bl FUN_02025A60 + add r0, r5, #0x0 + bl FUN_0203959C + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl FUN_02060344 + ldr r0, [r5, #0xc] + bl FUN_0202881C + add r1, r4, #0x0 + bl FUN_02028754 + ldr r0, [r5, #0xc] + bl FUN_0202A9B0 + add r6, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_0202881C + bl FUN_020287A4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0202A988 + ldr r0, [r5, #0xc] + bl FUN_0206BB1C + add r1, r4, #0x0 + bl FUN_02069D50 + ldr r0, [r5, #0xc] + bl FUN_020462AC + add r6, r0, #0x0 + bl FUN_0205F594 + cmp r0, r4 + ble _0204B244 + sub r0, r0, r4 + lsl r0, r0, #0x10 + lsr r1, r0, #0x10 + b _0204B246 +_0204B244: + mov r1, #0x0 +_0204B246: + add r0, r6, #0x0 + bl FUN_0205F5A4 + lsl r1, r4, #0x10 + ldr r0, [r5, #0xc] + lsr r1, r1, #0x10 + bl FUN_0205F618 + ldr r0, [r5, #0xc] + bl FUN_0205F668 + ldr r0, [r5, #0xc] + bl FUN_0206007C + ldr r0, [r5, #0xc] + bl FUN_02029AFC + bl FUN_02029C08 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204B270 +FUN_0204B270: ; 0x0204B270 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_0204B3D0 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl FUN_0202A9D0 + add r0, r5, #0x0 + bl FUN_0204B33C + add r2, r0, #0x0 + ldr r0, [r5, #0xc] + add r1, r4, #0x0 + bl FUN_02025B60 + ldr r0, [r5, #0xc] + bl FUN_02022504 + ldr r2, [r6, #0x4] + add r1, r4, #0x0 + bl FUN_0202B3C4 + pop {r4-r6, pc} + + thumb_func_start FUN_0204B2A4 +FUN_0204B2A4: ; 0x0204B2A4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0x14] + bl FUN_020127A8 + pop {r3, pc} + + thumb_func_start FUN_0204B2B4 +FUN_0204B2B4: ; 0x0204B2B4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0x8] + pop {r3, pc} + + thumb_func_start FUN_0204B2C0 +FUN_0204B2C0: ; 0x0204B2C0 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0xc] + pop {r3, pc} + + thumb_func_start FUN_0204B2CC +FUN_0204B2CC: ; 0x0204B2CC + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0x10] + pop {r3, pc} + + thumb_func_start FUN_0204B2D8 +FUN_0204B2D8: ; 0x0204B2D8 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0x14] + pop {r3, pc} + + thumb_func_start FUN_0204B2E4 +FUN_0204B2E4: ; 0x0204B2E4 + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + ldr r0, [r0, #0x18] + pop {r3, pc} + + thumb_func_start FUN_0204B2F0 +FUN_0204B2F0: ; 0x0204B2F0 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl FUN_02023794 + add r3, r0, #0x0 + ldr r2, [r3, #0x24] + ldr r3, [r3, #0x28] + add r0, r5, #0x0 + add r1, r4, #0x0 + blx FUN_020D6320 + pop {r3-r5, pc} + + thumb_func_start FUN_0204B30C +FUN_0204B30C: ; 0x0204B30C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + add r4, r2, #0x0 + bl FUN_02023794 + add r3, r0, #0x0 + ldr r2, [r3, #0x2c] + ldr r3, [r3, #0x30] + add r0, r5, #0x0 + add r1, r4, #0x0 + blx FUN_020D6320 + pop {r3-r5, pc} + + thumb_func_start FUN_0204B328 +FUN_0204B328: ; 0x0204B328 + push {r4, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + add r4, r0, #0x0 + bl FUN_020126FC + str r0, [r4, #0x2c] + str r1, [r4, #0x30] + pop {r4, pc} + + thumb_func_start FUN_0204B33C +FUN_0204B33C: ; 0x0204B33C + push {r3, lr} + ldr r0, [r0, #0xc] + bl FUN_02023794 + bl FUN_02023874 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204B34C +FUN_0204B34C: ; 0x0204B34C + cmp r0, #0x0 + bne _0204B354 + mov r0, #0x0 + bx lr +_0204B354: + add r0, #0x94 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start FUN_0204B35C +FUN_0204B35C: ; 0x0204B35C + cmp r0, #0x0 + bne _0204B364 + mov r0, #0x0 + bx lr +_0204B364: + sub r0, #0x94 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start FUN_0204B36C +FUN_0204B36C: ; 0x0204B36C + cmp r0, #0x0 + bne _0204B374 + mov r0, #0x0 + bx lr +_0204B374: + add r0, #0x5e + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bx lr + + thumb_func_start FUN_0204B37C +FUN_0204B37C: ; 0x0204B37C + cmp r0, #0x0 + bne _0204B384 + mov r0, #0x0 + bx lr +_0204B384: + sub r0, #0x5e + bx lr + + thumb_func_start FUN_0204B388 +FUN_0204B388: ; 0x0204B388 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + mov r1, #0x64 + bl FUN_02016998 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x64 + blx FUN_020CE34C + str r6, [r4, #0x0] + add r0, r6, #0x0 + bl FUN_02025128 + str r0, [r4, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204B410 + add r0, r4, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204B3B8 +FUN_0204B3B8: ; 0x0204B3B8 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204B444 + ldr r0, [r4, #0x4] + bl FUN_02016A18 + add r0, r4, #0x0 + bl FUN_02016A18 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0204B3D0 +FUN_0204B3D0: ; 0x0204B3D0 + push {r4-r6, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + add r6, r1, #0x0 + cmp r0, #0x0 + bne _0204B3FA + mov r0, #0xb + bl FUN_02025128 + add r5, r0, #0x0 + ldr r0, [r4, #0xc] + bl FUN_02024ECC + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_020253E0 + add r0, r5, #0x0 + bl FUN_02016A18 + pop {r4-r6, pc} +_0204B3FA: + ldr r0, [r0, #0x18] + ldr r5, [r0, #0x4] + ldr r0, [r4, #0xc] + bl FUN_02024ECC + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_020253E0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204B410 +FUN_0204B410: ; 0x0204B410 + push {r3-r5, lr} + ldr r4, [r0, #0x3c] + add r5, r1, #0x0 + add r0, r4, #0x0 + mov r1, #0x11 + bl FUN_021E4C54 + add r1, r0, #0x0 + ldr r0, [r5, #0x0] + bl FUN_02016998 + str r0, [r5, #0x60] + ldr r2, [r5, #0x60] + add r0, r4, #0x0 + mov r1, #0x11 + bl FUN_021E4C60 + add r0, r5, #0x0 + add r1, r5, #0x0 + add r5, #0x60 + add r0, #0x8 + add r1, #0x5c + add r2, r5, #0x0 + bl FUN_0201B234 + pop {r3-r5, pc} + + thumb_func_start FUN_0204B444 +FUN_0204B444: ; 0x0204B444 + ldr r3, _0204B44C ; =0x021E4C01 + ldr r0, [r0, #0x60] + bx r3 + nop +_0204B44C: .word 0x021E4C01 + + thumb_func_start FUN_0204B450 +FUN_0204B450: ; 0x0204B450 + push {r3-r5, lr} + sub sp, #0x30 + ldr r3, _0204B48C ; =0x020F4860 + add r5, r0, #0x0 + add r4, r1, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x24 + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + str r0, [r2, #0x0] + add r0, sp, #0x0 + blx FUN_020C3F14 + ldr r0, [r5, #0x4] + add r1, r4, #0x0 + ldr r0, [r0, #0x18] + add r2, sp, #0x0 + ldr r0, [r0, #0x5c] + add r3, sp, #0x24 + bl FUN_0201B6D0 + cmp r0, #0x0 + beq _0204B484 + add sp, #0x30 mov r0, #0x1 + pop {r3-r5, pc} +_0204B484: + mov r0, #0x0 + add sp, #0x30 + pop {r3-r5, pc} + nop +_0204B48C: .word 0x020F4860 + + thumb_func_start FUN_0204B490 +FUN_0204B490: ; 0x0204B490 + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [r5, #0xc] + bl FUN_02024ECC + add r4, r0, #0x0 + ldr r0, [r5, #0x34] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl FUN_020580F4 + cmp r0, #0x1 + bne _0204B4F8 + mov r6, #0x0 + mov r7, #0x1 +_0204B4B6: + ldr r0, [sp, #0x0] + bl FUN_02058458 + bl FUN_0205C334 + cmp r0, #0x1 + bne _0204B4E8 + ldr r0, [sp, #0x0] + bl FUN_02058B7C + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204B450 + cmp r0, #0x0 + beq _0204B4E8 + ldr r0, [sp, #0x0] + add r1, r6, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r2, r7, #0x0 + bl FUN_020252C4 +_0204B4E8: + ldr r0, [r5, #0x34] + add r1, sp, #0x0 + add r2, sp, #0x4 + mov r3, #0x1 + bl FUN_020580F4 + cmp r0, #0x1 + beq _0204B4B6 +_0204B4F8: + add sp, #0x8 pop {r3-r7, pc} -_0204FD8C: - ldr r0, _0204FDDC ; =0x020504D1 - cmp r0, r5 - bne _0204FDA0 - ldr r0, _0204FDE0 ; =0x02050611 + + thumb_func_start FUN_0204B4FC +FUN_0204B4FC: ; 0x0204B4FC + push {r4-r7, lr} + sub sp, #0xc + add r5, r0, #0x0 + ldr r0, [r5, #0xc] + add r7, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r7, #0x0 mov r1, #0x0 - bl FUN_02050094 - add sp, #0x10 - mov r0, #0x1 + bl FUN_02058510 + str r0, [sp, #0x0] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_02025244 + str r0, [sp, #0x4] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_020252E8 + add r6, r0, #0x0 + ldr r0, [sp, #0x4] + bl FUN_0204B34C + str r0, [sp, #0x8] + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_02025268 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + lsl r3, r6, #0x10 + ldr r1, [sp, #0x8] + add r0, r5, #0x0 + lsr r2, r2, #0x18 + lsr r3, r3, #0x10 + bl FUN_020616A4 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_020252F4 + add r0, r7, #0x0 + bl FUN_0205C374 + ldr r0, [r5, #0xc] + bl FUN_0206F158 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + bl FUN_0204B34C + lsl r2, r6, #0x10 + add r1, r0, #0x0 + add r0, r4, #0x0 + lsr r2, r2, #0x10 + mov r3, #0x4 + bl FUN_0206ED38 + add sp, #0xc + pop {r4-r7, pc} + .balign 4 + + thumb_func_start FUN_0204B57C +FUN_0204B57C: ; 0x0204B57C + push {r4-r6, lr} + ldr r0, [r0, #0xc] + add r4, r1, #0x0 + add r5, r2, #0x0 + bl FUN_02024ECC + add r6, r0, #0x0 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204B37C + add r2, r0, #0x0 + add r0, r6, #0x0 + add r1, r4, #0x0 + bl FUN_020252DC + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204B5A8 +FUN_0204B5A8: ; 0x0204B5A8 + push {r3-r7, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0xc] + add r5, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02024ECC + add r7, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204B35C + ldr r2, [r4, #0x4] + add r3, r0, #0x0 + ldr r2, [r2, #0x18] + add r0, r7, #0x0 + ldr r2, [r2, #0x4] + add r1, r5, #0x0 + bl FUN_02025274 pop {r3-r7, pc} -_0204FDA0: + .balign 4 + + thumb_func_start FUN_0204B5DC +FUN_0204B5DC: ; 0x0204B5DC + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 mov r1, #0x0 -_0204FDA2: - ldr r0, [r6, #0x0] - cmp r5, r0 - bne _0204FDAE - add sp, #0x10 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020252AC + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B5FC +FUN_0204B5FC: ; 0x0204B5FC + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02025238 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B61C +FUN_0204B61C: ; 0x0204B61C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02025244 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B63C +FUN_0204B63C: ; 0x0204B63C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02025244 + bl FUN_0204B34C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B660 +FUN_0204B660: ; 0x0204B660 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020252D0 + bl FUN_0204B36C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B684 +FUN_0204B684: ; 0x0204B684 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0202524C + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B6A4 +FUN_0204B6A4: ; 0x0204B6A4 + push {r3-r5, lr} + ldr r0, [r0, #0xc] + add r5, r1, #0x0 + bl FUN_02024ECC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_02058510 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_020252E8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B6C4 +FUN_0204B6C4: ; 0x0204B6C4 + push {r4-r6, lr} + add r6, r0, #0x0 + add r5, r1, #0x0 + ldr r4, _0204B708 ; =0x00000000 + beq _0204B6D8 + add r0, r5, #0x0 + bl FUN_02058458 + cmp r0, #0x64 + beq _0204B6DC +_0204B6D8: + mov r0, #0x0 + pop {r4-r6, pc} +_0204B6DC: + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_0204B5FC + cmp r0, #0x0 + bne _0204B6FE + mov r0, #0x1 + orr r4, r0 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_0204B660 + cmp r0, #0x0 + bne _0204B702 + mov r0, #0x2 + orr r4, r0 + b _0204B702 +_0204B6FE: + mov r0, #0x4 + orr r4, r0 +_0204B702: + add r0, r4, #0x0 + pop {r4-r6, pc} + nop +_0204B708: .word 0x00000000 + + thumb_func_start FUN_0204B70C +FUN_0204B70C: ; 0x0204B70C + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [r7, #0x38] + add r5, r2, #0x0 + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r7, #0x38] + bl FUN_0205532C + add r4, r0, #0x0 + cmp r5, #0x2 + bne _0204B72A + sub r6, r6, #0x1 + b _0204B746 +_0204B72A: + cmp r5, #0x3 + bne _0204B732 + add r6, r6, #0x1 + b _0204B746 +_0204B732: + cmp r5, #0x0 + bne _0204B73A + sub r4, r4, #0x1 + b _0204B746 +_0204B73A: + cmp r5, #0x1 + bne _0204B742 + add r4, r4, #0x1 + b _0204B746 +_0204B742: + bl FUN_02020C2C +_0204B746: + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_0204A6B4 + cmp r0, #0x0 + beq _0204B758 mov r0, #0x1 pop {r3-r7, pc} -_0204FDAE: - add r1, r1, #0x1 - add r6, r6, #0x4 - cmp r1, #0x4 - blo _0204FDA2 +_0204B758: + ldr r0, [r7, #0x34] + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_02058D74 + cmp r0, #0x0 + beq _0204B76A + mov r0, #0x1 + pop {r3-r7, pc} +_0204B76A: mov r0, #0x0 - add sp, #0x10 pop {r3-r7, pc} .balign 4 -_0204FDBC: .word 0x021C5A6C -_0204FDC0: .word 0x020F5838 -_0204FDC4: .word 0x020502AD -_0204FDC8: .word 0x02050549 -_0204FDCC: .word 0x02050169 -_0204FDD0: .word 0x0205031D -_0204FDD4: .word 0x02050579 -_0204FDD8: .word 0x020505E1 -_0204FDDC: .word 0x020504D1 -_0204FDE0: .word 0x02050611 - thumb_func_start FUN_0204FDE4 -FUN_0204FDE4: ; 0x0204FDE4 - push {r4, lr} - ldr r0, _0204FE38 ; =0x021C5A6C - ldr r3, _0204FE3C ; =0x0205058D - ldr r0, [r0, #0x0] - ldr r2, _0204FE40 ; =0x020505F5 - ldr r4, [r0, #0x34] - ldr r0, _0204FE44 ; =0x02050331 - ldr r1, _0204FE48 ; =0x02050625 - cmp r4, r0 - bne _0204FE04 - ldr r0, _0204FE4C ; =0x02050339 - mov r1, #0x0 - bl FUN_02050094 + thumb_func_start FUN_0204B770 +FUN_0204B770: ; 0x0204B770 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r6, r1, #0x0 + bl FUN_02055320 + add r4, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r2, r0, #0x0 + cmp r6, #0x2 + bne _0204B78E + sub r4, r4, #0x1 + b _0204B794 +_0204B78E: + cmp r6, #0x3 + bne _0204B794 + add r4, r4, #0x1 +_0204B794: + ldr r0, [r5, #0x34] + add r1, r4, #0x0 + sub r2, r2, #0x1 + bl FUN_02058D74 + pop {r4-r6, pc} + + thumb_func_start FUN_0204B7A0 +FUN_0204B7A0: ; 0x0204B7A0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + add r6, r1, #0x0 + bl FUN_02055320 + add r7, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r4, r0, #0x0 + ldr r0, [r6, #0x4] + cmp r0, #0x0 + bne _0204B7C0 + sub r4, r4, #0x1 + b _0204B7CC +_0204B7C0: + cmp r0, #0x1 + bne _0204B7C8 + add r4, r4, #0x1 + b _0204B7CC +_0204B7C8: + bl FUN_02020C2C +_0204B7CC: + ldr r0, [r5, #0x34] + add r1, r7, #0x0 + add r2, r4, #0x0 + bl FUN_02058D74 + pop {r3-r7, pc} + + thumb_func_start FUN_0204B7D8 +FUN_0204B7D8: ; 0x0204B7D8 + push {r3, lr} + bl FUN_02058458 + cmp r0, #0x64 + bne _0204B7E6 mov r0, #0x1 + pop {r3, pc} +_0204B7E6: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204B7EC +FUN_0204B7EC: ; 0x0204B7EC + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204B7A0 + add r1, r0, #0x0 + beq _0204B7FE + add r0, r4, #0x0 + bl FUN_0204B5DC +_0204B7FE: pop {r4, pc} -_0204FE04: - cmp r3, r4 - bne _0204FE14 - ldr r0, _0204FE50 ; =0x02050595 - mov r1, #0x0 - bl FUN_02050094 + + thumb_func_start FUN_0204B800 +FUN_0204B800: ; 0x0204B800 + push {r3-r5, lr} + ldr r0, [r0, #0x38] + add r4, r2, #0x0 + add r5, r1, #0x0 + bl FUN_020553A0 + add r1, r4, #0x0 + bl FUN_0205AEA4 + str r0, [r5, #0xc] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204B818 +FUN_0204B818: ; 0x0204B818 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x4 + bls _0204B832 + b _0204B98E +_0204B832: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204B83E: ; jump table (using 16-bit offset) + .short _0204B848 - _0204B83E - 2; case 0 + .short _0204B866 - _0204B83E - 2; case 1 + .short _0204B876 - _0204B83E - 2; case 2 + .short _0204B93A - _0204B83E - 2; case 3 + .short _0204B972 - _0204B83E - 2; case 4 +_0204B848: + ldr r0, [r5, #0x38] + mov r1, #0x10 + bl FUN_021E5FD8 + ldr r0, [r5, #0x38] + bl FUN_021E5FE0 + ldr r0, [r5, #0x38] + bl FUN_020553A0 + bl FUN_02058914 mov r0, #0x1 - pop {r4, pc} -_0204FE14: - cmp r2, r4 - bne _0204FE24 - ldr r0, _0204FE54 ; =0x020505F9 + str r0, [r4, #0x0] + b _0204B98E +_0204B866: + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204B7EC + mov r0, #0x0 + str r0, [r4, #0x8] + mov r0, #0x2 + str r0, [r4, #0x0] +_0204B876: + ldr r0, _0204B994 ; =0x021C48B8 + mov r1, #0x20 + ldr r0, [r0, #0x44] + tst r1, r0 + beq _0204B8B8 + add r0, r5, #0x0 + mov r1, #0x2 + bl FUN_0204B770 + cmp r0, #0x0 + beq _0204B894 + bl FUN_0204B7D8 + cmp r0, #0x0 + bne _0204B89A +_0204B894: + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B89A: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x2 + bl FUN_0204B70C + cmp r0, #0x0 + bne _0204B922 + ldr r2, _0204B998 ; =0x020F4850 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204B800 + mov r0, #0x3 + str r0, [r4, #0x0] + b _0204B98E +_0204B8B8: + mov r1, #0x10 + tst r1, r0 + beq _0204B8F6 + add r0, r5, #0x0 + mov r1, #0x3 + bl FUN_0204B770 + cmp r0, #0x0 + beq _0204B8D2 + bl FUN_0204B7D8 + cmp r0, #0x0 + bne _0204B8D8 +_0204B8D2: + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B8D8: + add r0, r5, #0x0 + add r1, r4, #0x0 + mov r2, #0x3 + bl FUN_0204B70C + cmp r0, #0x0 + bne _0204B922 + ldr r2, _0204B99C ; =0x020F4858 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204B800 + mov r0, #0x3 + str r0, [r4, #0x0] + b _0204B98E +_0204B8F6: + mov r1, #0x40 + tst r1, r0 + beq _0204B910 + ldr r1, [r4, #0x4] + cmp r1, #0x1 + bne _0204B910 + ldr r0, [r5, #0x38] mov r1, #0x0 - bl FUN_02050094 + bl FUN_02055304 + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B910: + mov r1, #0x80 + tst r0, r1 + beq _0204B922 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + bne _0204B922 + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B922: + ldr r0, [r4, #0x8] + add r0, r0, #0x1 + str r0, [r4, #0x8] + cmp r0, #0x5a + ble _0204B98E + ldr r0, [r5, #0x38] + ldr r1, [r4, #0x4] + bl FUN_02055304 + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B93A: + ldr r0, [r4, #0xc] + bl FUN_0205AEF0 + cmp r0, #0x0 + beq _0204B98E + ldr r0, [r4, #0xc] + bl FUN_0205AEFC + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204B7A0 + cmp r0, #0x0 + beq _0204B964 + bl FUN_0204B7D8 + cmp r0, #0x0 + beq _0204B964 mov r0, #0x1 - pop {r4, pc} -_0204FE24: - cmp r1, r4 - bne _0204FE34 - ldr r0, _0204FE58 ; =0x02050629 - mov r1, #0x0 - bl FUN_02050094 + str r0, [r4, #0x0] + b _0204B98E +_0204B964: + ldr r0, [r5, #0x38] + ldr r1, [r4, #0x4] + bl FUN_02055304 + mov r0, #0x4 + str r0, [r4, #0x0] + b _0204B98E +_0204B972: + ldr r0, [r5, #0x38] + ldr r1, [r4, #0x4] + bl FUN_02055304 + ldr r0, [r5, #0x38] + bl FUN_020553A0 + bl FUN_02058908 + add r0, r4, #0x0 + bl FUN_02016A18 mov r0, #0x1 - pop {r4, pc} -_0204FE34: + pop {r3-r5, pc} +_0204B98E: + mov r0, #0x0 + pop {r3-r5, pc} + nop +_0204B994: .word 0x021C48B8 +_0204B998: .word 0x020F4850 +_0204B99C: .word 0x020F4858 + + thumb_func_start FUN_0204B9A0 +FUN_0204B9A0: ; 0x0204B9A0 + push {r3-r5, lr} + add r5, r0, #0x0 + mov r0, #0x20 + mov r1, #0x10 + bl FUN_02016998 + add r4, r0, #0x0 + mov r0, #0x0 + str r0, [r4, #0x0] + str r0, [r4, #0xc] + ldr r0, [r5, #0x38] + bl FUN_020552F8 + str r0, [r4, #0x4] + ldr r0, [r5, #0x10] + ldr r1, _0204B9C8 ; =FUN_0204B818 + add r2, r4, #0x0 + bl FUN_0204640C + pop {r3-r5, pc} + .balign 4 +_0204B9C8: .word FUN_0204B818 + 1 + + thumb_func_start FUN_0204B9CC +FUN_0204B9CC: ; 0x0204B9CC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_020553C4 + bl FUN_02055648 + add r1, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_021E5FD8 + ldr r0, [r4, #0x38] + bl FUN_021E5FE0 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0204B9EC +FUN_0204B9EC: ; 0x0204B9EC + push {r4, lr} + ldr r1, _0204BA14 ; =0x021C5A1C + add r4, r0, #0x0 + mov r0, #0x0 + mov r2, #0x4c + blx FUN_020CE240 + ldr r1, _0204BA14 ; =0x021C5A1C + add r0, r4, #0x0 + bl FUN_0204BB20 + ldr r0, _0204BA14 ; =0x021C5A1C + bl FUN_0204BBC4 + bl FUN_020126FC + ldr r2, _0204BA18 ; =0x021C5A1C + str r0, [r2, #0x40] + str r1, [r2, #0x44] + pop {r4, pc} + .balign 4 +_0204BA14: .word 0x021C5A1C +_0204BA18: .word 0x021C5A1C + + thumb_func_start FUN_0204BA1C +FUN_0204BA1C: ; 0x0204BA1C + push {r3-r5, lr} + ldr r0, [r0, #0xc] + ldr r4, _0204BA60 ; =0x021C5A1C + bl FUN_02029FC8 + add r5, r0, #0x0 + bl FUN_020126FC + add r3, r1, #0x0 + ldr r1, _0204BA64 ; =0x021C5A1C + add r2, r0, #0x0 + ldr r0, [r1, #0x40] + ldr r1, [r1, #0x44] + bl FUN_020127C0 + mov r2, #0xfa + mov r3, #0x0 + lsl r2, r2, #0x2 + sub r2, r0, r2 + sbc r1, r3 + bge _0204BA50 + mov r1, #0xfa + lsl r1, r1, #0x2 + sub r0, r1, r0 + lsl r0, r0, #0x1 + b _0204BA52 +_0204BA50: + mov r0, #0x0 +_0204BA52: + str r0, [r4, #0x48] + add r0, r5, #0x0 + mov r1, #0x11 + bl FUN_0202A170 + pop {r3-r5, pc} + nop +_0204BA60: .word 0x021C5A1C +_0204BA64: .word 0x021C5A1C + + thumb_func_start FUN_0204BA68 +FUN_0204BA68: ; 0x0204BA68 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204BA8C ; =0x021C5A1C + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_0204BBE8 + cmp r0, #0x1 + bne _0204BA88 + ldr r1, _0204BA8C ; =0x021C5A1C + add r0, r5, #0x0 + add r2, r4, #0x0 + add r3, r6, #0x0 + bl FUN_0204BC48 + pop {r4-r6, pc} +_0204BA88: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0204BA8C: .word 0x021C5A1C + + thumb_func_start FUN_0204BA90 +FUN_0204BA90: ; 0x0204BA90 + ldr r3, _0204BA98 ; =FUN_0204BD40 + ldr r1, _0204BA9C ; =0x021C5A1C + bx r3 + nop +_0204BA98: .word FUN_0204BD40 + 1 +_0204BA9C: .word 0x021C5A1C + + thumb_func_start FUN_0204BAA0 +FUN_0204BAA0: ; 0x0204BAA0 + ldr r3, _0204BAA8 ; =FUN_0204BD18 + ldr r2, _0204BAAC ; =0x021C5A1C + bx r3 + nop +_0204BAA8: .word FUN_0204BD18 + 1 +_0204BAAC: .word 0x021C5A1C + + thumb_func_start FUN_0204BAB0 +FUN_0204BAB0: ; 0x0204BAB0 + push {r3, lr} + ldr r0, _0204BAC0 ; =0x021C5A1C + bl FUN_0204BBA8 + mov r1, #0x6 + sub r0, r1, r0 + pop {r3, pc} + nop +_0204BAC0: .word 0x021C5A1C + + thumb_func_start FUN_0204BAC4 +FUN_0204BAC4: ; 0x0204BAC4 + ldr r3, _0204BACC ; =FUN_0204BD8C + ldr r0, _0204BAD0 ; =0x021C5A1C + bx r3 + nop +_0204BACC: .word FUN_0204BD8C + 1 +_0204BAD0: .word 0x021C5A1C + + thumb_func_start FUN_0204BAD4 +FUN_0204BAD4: ; 0x0204BAD4 + ldr r3, _0204BADC ; =0x0204BE11 + ldr r0, _0204BAE0 ; =0x021C5A1C + bx r3 + nop +_0204BADC: .word 0x0204BE11 +_0204BAE0: .word 0x021C5A1C + + thumb_func_start FUN_0204BAE4 +FUN_0204BAE4: ; 0x0204BAE4 + ldr r3, _0204BAEC ; =FUN_0204BDA0 + ldr r0, _0204BAF0 ; =0x021C5A1C + bx r3 + nop +_0204BAEC: .word FUN_0204BDA0 + 1 +_0204BAF0: .word 0x021C5A1C + + thumb_func_start FUN_0204BAF4 +FUN_0204BAF4: ; 0x0204BAF4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + beq _0204BB04 + ldr r0, _0204BB1C ; =0x000001ED + cmp r5, r0 + bls _0204BB08 +_0204BB04: + bl FUN_02020C2C +_0204BB08: + mov r3, #0x6 + add r0, r4, #0x0 + sub r4, r5, #0x1 + str r3, [sp, #0x0] + mov r1, #0x83 + mov r2, #0x0 + mul r3, r4 + bl FUN_02006548 + pop {r3-r5, pc} + .balign 4 +_0204BB1C: .word 0x000001ED + + thumb_func_start FUN_0204BB20 +FUN_0204BB20: ; 0x0204BB20 + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, [r0, #0xc] + str r1, [sp, #0x0] + bl FUN_02022528 + str r0, [sp, #0x4] + mov r0, #0x4 + bl FUN_020669C0 + ldr r5, [sp, #0x0] + add r4, r0, #0x0 + mov r6, #0x0 + add r7, sp, #0x8 +_0204BB3C: + ldr r0, [sp, #0x0] + add r2, r4, #0x0 + add r1, r0, r6 + add r1, #0x30 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [sp, #0x4] + add r1, r6, #0x0 + bl FUN_0202BFD8 + add r0, r4, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + strh r0, [r5, #0x0] + add r1, sp, #0x8 + bl FUN_0204BAF4 + ldrb r0, [r7, #0x0] + cmp r0, #0x0 + beq _0204BB6E + b _0204BB72 +_0204BB6E: + ldrb r0, [r7, #0x1] + add r0, r0, #0x4 +_0204BB72: + strb r0, [r5, #0x2] + ldrb r0, [r7, #0x3] + mov r1, #0xb0 + mov r2, #0x0 + strb r0, [r5, #0x3] + ldrb r0, [r7, #0x2] + strh r0, [r5, #0x4] + add r0, r4, #0x0 + bl FUN_020671BC + strb r0, [r5, #0x6] + add r0, r4, #0x0 + mov r1, #0xb1 + mov r2, #0x0 + bl FUN_020671BC + strb r0, [r5, #0x7] + add r6, r6, #0x1 + add r5, #0x8 + cmp r6, #0x6 + blt _0204BB3C + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204BBA8 +FUN_0204BBA8: ; 0x0204BBA8 + mov r3, #0x0 + add r2, r3, #0x0 +_0204BBAC: + add r1, r0, r2 + add r1, #0x30 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204BBB8 + add r3, r3, #0x1 +_0204BBB8: + add r2, r2, #0x1 + cmp r2, #0x6 + blt _0204BBAC + add r0, r3, #0x0 + bx lr + .balign 4 + + thumb_func_start FUN_0204BBC4 +FUN_0204BBC4: ; 0x0204BBC4 + push {r3-r5, lr} + add r4, r0, #0x0 + bl FUN_0201B9EC + ldr r1, _0204BBE4 ; =0x0000199A + blx FUN_020EBC80 + lsl r0, r0, #0x10 + lsr r5, r0, #0x10 + cmp r5, #0xa + blo _0204BBDE + bl FUN_02020C2C +_0204BBDE: + add r0, r5, #0x5 + str r0, [r4, #0x38] + pop {r3-r5, pc} + .balign 4 +_0204BBE4: .word 0x0000199A + + thumb_func_start FUN_0204BBE8 +FUN_0204BBE8: ; 0x0204BBE8 + push {r3, lr} + ldr r1, [r0, #0x38] + sub r1, r1, #0x1 + str r1, [r0, #0x38] + bne _0204BBFA + bl FUN_0204BBC4 + mov r0, #0x1 + pop {r3, pc} +_0204BBFA: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204BC00 +FUN_0204BC00: ; 0x0204BC00 + push {r4-r6, lr} + add r5, r1, #0x0 + add r6, r2, #0x0 + bl FUN_0204A6E0 + add r4, r0, #0x0 + cmp r5, #0x20 + blt _0204BC14 + mov r5, #0x1 + b _0204BC16 +_0204BC14: + mov r5, #0x0 +_0204BC16: + cmp r6, #0x20 + bge _0204BC1E + mov r0, #0x0 + b _0204BC20 +_0204BC1E: + mov r0, #0x2 +_0204BC20: + add r5, r5, r0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl FUN_0205478C + cmp r0, #0x0 + beq _0204BC32 + add r0, r5, #0x1 + pop {r4-r6, pc} +_0204BC32: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + bl FUN_0205481C + cmp r0, #0x0 + beq _0204BC42 + add r0, r5, #0x5 + pop {r4-r6, pc} +_0204BC42: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204BC48 +FUN_0204BC48: ; 0x0204BC48 + push {r3-r7, lr} + add r5, r1, #0x0 + add r1, r2, #0x0 + add r2, r3, #0x0 + mov r6, #0x0 + bl FUN_0204BC00 + add r7, r0, #0x0 + bne _0204BC5E + add r0, r6, #0x0 + pop {r3-r7, pc} +_0204BC5E: + add r0, r6, #0x0 + add r1, r5, #0x0 +_0204BC62: + add r2, r5, r0 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0204BC76 + ldrb r2, [r1, #0x2] + cmp r7, r2 + bne _0204BC76 + ldrb r2, [r1, #0x3] + add r6, r6, r2 +_0204BC76: + add r0, r0, #0x1 + add r1, #0x8 + cmp r0, #0x6 + blt _0204BC62 + cmp r6, #0x0 + bne _0204BC86 + mov r0, #0x0 + pop {r3-r7, pc} +_0204BC86: + add r0, r6, #0x0 + add r0, #0x14 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bne _0204BC94 + bl FUN_02020C2C +_0204BC94: + add r0, r6, #0x0 + add r0, #0x14 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + cmp r0, #0x1 + bhi _0204BCA4 + mov r4, #0x0 + b _0204BCD8 +_0204BCA4: + bl FUN_0201B9EC + add r1, r6, #0x0 + add r1, #0x14 + add r4, r0, #0x0 + lsl r1, r1, #0x10 + ldr r0, _0204BD14 ; =0x0000FFFF + lsr r1, r1, #0x10 + blx FUN_020EBC80 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r4, #0x0 + lsr r1, r1, #0x10 + blx FUN_020EBC80 + lsl r0, r0, #0x10 + add r6, #0x14 + lsr r4, r0, #0x10 + lsl r0, r6, #0x10 + lsr r0, r0, #0x10 + cmp r4, r0 + blo _0204BCD8 + bl FUN_02020C2C +_0204BCD8: + cmp r4, #0x14 + bge _0204BCE0 + mov r0, #0x0 + pop {r3-r7, pc} +_0204BCE0: + sub r4, #0x14 + mov r1, #0x0 + add r0, r5, #0x0 +_0204BCE6: + add r2, r5, r1 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r2, #0x0 + bne _0204BD04 + ldrb r2, [r0, #0x2] + cmp r7, r2 + bne _0204BD04 + ldrb r2, [r0, #0x3] + cmp r4, r2 + bge _0204BD02 + str r1, [r5, #0x3c] + mov r0, #0x1 + pop {r3-r7, pc} +_0204BD02: + sub r4, r4, r2 +_0204BD04: + add r1, r1, #0x1 + add r0, #0x8 + cmp r1, #0x6 + blt _0204BCE6 + bl FUN_02020C2C + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204BD14: .word 0x0000FFFF + + thumb_func_start FUN_0204BD18 +FUN_0204BD18: ; 0x0204BD18 + push {r4, lr} + ldr r0, [r1, #0x14] + add r4, r2, #0x0 + cmp r0, #0x4 + beq _0204BD28 + cmp r0, #0x5 + beq _0204BD3E + b _0204BD3A +_0204BD28: + add r0, r4, #0x0 + bl FUN_0204BBA8 + add r1, r0, #0x1 + ldr r0, [r4, #0x3c] + add r0, r4, r0 + add r0, #0x30 + strb r1, [r0, #0x0] + pop {r4, pc} +_0204BD3A: + bl FUN_02020C2C +_0204BD3E: + pop {r4, pc} + + thumb_func_start FUN_0204BD40 +FUN_0204BD40: ; 0x0204BD40 + push {r3-r7, lr} + add r5, r0, #0x0 + mov r0, #0x20 + add r6, r1, #0x0 + bl FUN_020669C0 + add r4, r0, #0x0 + ldr r0, [r5, #0xc] + bl FUN_02022528 + str r0, [sp, #0x0] + add r0, r5, #0x0 + bl FUN_0204BAB0 + add r1, r0, #0x0 + mov r0, #0xb + bl FUN_02047800 + add r1, r5, #0x0 + add r7, r0, #0x0 + bl FUN_02047BB0 + ldr r0, [sp, #0x0] + ldr r1, [r6, #0x3c] + add r2, r4, #0x0 + bl FUN_0202BFD8 + add r0, r7, #0x0 + add r1, r4, #0x0 + mov r2, #0x1 + bl FUN_020479FC + add r0, r4, #0x0 + bl FUN_02016A18 + add r0, r7, #0x0 + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204BD8C +FUN_0204BD8C: ; 0x0204BD8C + mov r3, #0x0 + add r2, r3, #0x0 +_0204BD90: + ldrh r1, [r0, #0x4] + add r2, r2, #0x1 + add r0, #0x8 + add r3, r3, r1 + cmp r2, #0x6 + blt _0204BD90 + add r0, r3, #0x0 + bx lr + + thumb_func_start FUN_0204BDA0 +FUN_0204BDA0: ; 0x0204BDA0 + push {r4-r7} + mov r3, #0x0 + add r5, r0, #0x0 + add r4, r3, #0x0 + mov r0, #0x1 +_0204BDAA: + mov r1, #0x0 +_0204BDAC: + add r2, r5, r1 + add r2, #0x30 + ldrb r2, [r2, #0x0] + cmp r0, r2 + bne _0204BDEC + lsl r1, r1, #0x3 + add r2, r5, r1 + ldrb r1, [r2, #0x6] + ldrb r2, [r2, #0x7] + cmp r0, #0x1 + beq _0204BDD8 + mov r6, r12 + cmp r6, r1 + beq _0204BDD8 + mov r6, r12 + cmp r6, r2 + beq _0204BDD8 + cmp r7, r1 + beq _0204BDD8 + cmp r7, r2 + beq _0204BDD8 + add r4, #0xc8 +_0204BDD8: + mov r6, #0x1 + mov r12, r1 + lsl r6, r1 + add r1, r3, #0x0 + mov r3, #0x1 + lsl r3, r2 + orr r1, r6 + add r7, r2, #0x0 + orr r3, r1 + b _0204BDF2 +_0204BDEC: + add r1, r1, #0x1 + cmp r1, #0x6 + blt _0204BDAC +_0204BDF2: + add r0, r0, #0x1 + cmp r0, #0x7 + blt _0204BDAA + cmp r3, #0x0 + beq _0204BE0A + mov r0, #0x1 +_0204BDFE: + add r1, r3, #0x0 + tst r1, r0 + beq _0204BE06 + add r4, #0x32 +_0204BE06: + lsr r3, r3, #0x1 + bne _0204BDFE +_0204BE0A: + add r0, r4, #0x0 + pop {r4-r7} + bx lr +_0204BE10: + .byte 0x80, 0x6C, 0x70, 0x47 + + thumb_func_start FUN_0204BE14 +FUN_0204BE14: ; 0x0204BE14 + mov r0, #0xe8 + bx lr + + thumb_func_start FUN_0204BE18 +FUN_0204BE18: ; 0x0204BE18 + push {r3-r5, lr} + mov r2, #0x0 + add r3, r2, #0x0 +_0204BE1E: + add r1, r0, r2 + add r2, r2, #0x1 + strb r3, [r1, #0x3] + cmp r2, #0x20 + blt _0204BE1E + strb r3, [r0, #0x1] + strb r3, [r0, #0x2] + ldrb r1, [r0, #0x0] + mov r2, #0x1 + bic r1, r2 + strb r1, [r0, #0x0] + ldrb r4, [r0, #0x0] + mov r1, #0x38 + bic r4, r1 + strb r4, [r0, #0x0] + ldrb r4, [r0, #0x0] + mov r1, #0x2 + bic r4, r1 + strb r4, [r0, #0x0] + str r3, [r0, #0x24] + ldrh r1, [r0, #0x28] + bic r1, r2 + strh r1, [r0, #0x28] + ldrh r2, [r0, #0x28] + mov r1, #0x3e + bic r2, r1 + strh r2, [r0, #0x28] + ldrh r2, [r0, #0x28] + ldr r1, _0204BEB0 ; =0xFFFFF03F + and r1, r2 + strh r1, [r0, #0x28] + add r1, r0, #0x0 + mov r2, #0x1 + add r1, #0xa8 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0xa4 + str r3, [r1, #0x0] + ldr r1, _0204BEB4 ; =0x020F486C + add r2, r0, #0x0 +_0204BE6E: + ldrb r5, [r1, #0x0] + add r4, r2, #0x0 + add r4, #0xa9 + strb r5, [r4, #0x0] + add r4, r2, #0x0 + ldrb r5, [r1, #0x1] + add r4, #0xaa + add r3, r3, #0x1 + strb r5, [r4, #0x0] + add r1, r1, #0x2 + add r2, r2, #0x2 + cmp r3, #0x6 + blt _0204BE6E + mov r4, #0x0 + add r3, r0, #0x0 + add r1, r4, #0x0 +_0204BE8E: + add r2, r3, #0x0 + add r2, #0xb6 + strh r1, [r2, #0x0] + add r2, r3, #0x0 + add r2, #0xb8 + add r4, r4, #0x1 + add r3, r3, #0x4 + strh r1, [r2, #0x0] + cmp r4, #0xc + blt _0204BE8E + ldrb r3, [r0, #0x0] + mov r2, #0x4 + bic r3, r2 + strb r3, [r0, #0x0] + bl FUN_0204BED8 + pop {r3-r5, pc} + .balign 4 +_0204BEB0: .word 0xFFFFF03F +_0204BEB4: .word 0x020F486C + + thumb_func_start FUN_0204BEB8 +FUN_0204BEB8: ; 0x0204BEB8 + ldrb r2, [r0, #0x0] + mov r1, #0x1 + bic r2, r1 + mov r1, #0x1 + orr r1, r2 + strb r1, [r0, #0x0] + bx lr + .balign 4 + + thumb_func_start FUN_0204BEC8 +FUN_0204BEC8: ; 0x0204BEC8 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + + thumb_func_start FUN_0204BED0 +FUN_0204BED0: ; 0x0204BED0 + add r0, r0, r1 + ldrb r0, [r0, #0x3] + bx lr + .balign 4 + + thumb_func_start FUN_0204BED8 +FUN_0204BED8: ; 0x0204BED8 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + bmi _0204BEE4 + cmp r4, #0x19 + blt _0204BEE8 +_0204BEE4: + bl FUN_02020C2C +_0204BEE8: + mov r0, #0x1 + ldrsb r1, [r5, r0] + cmp r1, #0x19 + bge _0204BF10 + add r2, r5, #0x3 + ldrb r1, [r2, r4] + cmp r1, #0x0 + bne _0204BF10 + strb r0, [r2, r4] + ldrsb r0, [r5, r0] + add r0, r0, #0x1 + strb r0, [r5, #0x1] + cmp r4, #0x3 + bne _0204BF0C + ldrb r1, [r5, #0x0] + mov r0, #0x2 + orr r0, r1 + strb r0, [r5, #0x0] +_0204BF0C: + mov r0, #0x1 + pop {r3-r5, pc} +_0204BF10: + mov r0, #0x0 + pop {r3-r5, pc} + + thumb_func_start FUN_0204BF14 +FUN_0204BF14: ; 0x0204BF14 + mov r1, #0x2 + ldrsb r0, [r0, r1] + bx lr + .balign 4 + + thumb_func_start FUN_0204BF1C +FUN_0204BF1C: ; 0x0204BF1C + push {r3-r4} + mov r1, #0x2 + ldrsb r3, [r0, r1] + mov r2, #0x0 + add r4, r3, #0x0 +_0204BF26: + add r3, r3, #0x1 + cmp r3, #0x19 + blt _0204BF2E + add r3, r2, #0x0 +_0204BF2E: + cmp r3, r4 + beq _0204BF3A + add r1, r0, r3 + ldrb r1, [r1, #0x3] + cmp r1, #0x0 + beq _0204BF26 +_0204BF3A: + mov r1, #0x2 + strb r3, [r0, #0x2] + ldrsb r0, [r0, r1] + pop {r3-r4} + bx lr + + thumb_func_start FUN_0204BF44 +FUN_0204BF44: ; 0x0204BF44 + push {r4, lr} + add r4, r0, #0x0 + bne _0204BF4E + bl FUN_02020C2C +_0204BF4E: + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1d + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0204BF58 +FUN_0204BF58: ; 0x0204BF58 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + cmp r5, #0x0 + bne _0204BF66 + bl FUN_02020C2C +_0204BF66: + cmp r4, #0x8 + blo _0204BF6E + bl FUN_02020C2C +_0204BF6E: + ldrb r1, [r5, #0x0] + mov r0, #0x38 + bic r1, r0 + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + lsl r0, r0, #0x1d + lsr r0, r0, #0x1a + orr r0, r1 + strb r0, [r5, #0x0] + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204BF84 +FUN_0204BF84: ; 0x0204BF84 + ldr r0, [r0, #0x24] + bx lr + + thumb_func_start FUN_0204BF88 +FUN_0204BF88: ; 0x0204BF88 + ldrb r2, [r0, #0x0] + lsl r2, r2, #0x1e + lsr r2, r2, #0x1f + beq _0204BF92 + str r1, [r0, #0x24] +_0204BF92: + bx lr + + thumb_func_start FUN_0204BF94 +FUN_0204BF94: ; 0x0204BF94 + ldrh r0, [r0, #0x28] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr + + thumb_func_start FUN_0204BF9C +FUN_0204BF9C: ; 0x0204BF9C + ldrh r3, [r0, #0x28] + lsl r3, r3, #0x1a + lsr r3, r3, #0x1b + str r3, [r1, #0x0] + ldrh r0, [r0, #0x28] + lsl r0, r0, #0x14 + lsr r0, r0, #0x1a + str r0, [r2, #0x0] + bx lr + .balign 4 + + thumb_func_start FUN_0204BFB0 +FUN_0204BFB0: ; 0x0204BFB0 + push {r4-r5} + ldrh r4, [r0, #0x28] + mov r5, #0x1 + lsl r1, r1, #0x10 + bic r4, r5 + lsr r5, r1, #0x10 + mov r1, #0x1 + and r1, r5 + orr r1, r4 + strh r1, [r0, #0x28] + lsl r2, r2, #0x10 + lsr r2, r2, #0x10 + lsl r2, r2, #0x1b + ldrh r1, [r0, #0x28] + mov r4, #0x3e + lsr r2, r2, #0x1a + bic r1, r4 + orr r1, r2 + strh r1, [r0, #0x28] + ldrh r2, [r0, #0x28] + ldr r1, _0204BFEC ; =0xFFFFF03F + and r2, r1 + lsl r1, r3, #0x10 + lsr r1, r1, #0x10 + lsl r1, r1, #0x1a + lsr r1, r1, #0x14 + orr r1, r2 + strh r1, [r0, #0x28] + pop {r4-r5} + bx lr + .balign 4 +_0204BFEC: .word 0xFFFFF03F + + thumb_func_start FUN_0204BFF0 +FUN_0204BFF0: ; 0x0204BFF0 + push {r3-r4} + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C016 + add r1, r0, #0x0 + add r1, #0xa4 + ldr r4, [r1, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + add r1, r4, #0x0 + orr r1, r2 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr +_0204C016: + add r3, r0, #0x0 + add r3, #0xa8 + strb r1, [r3, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + add r0, #0xa4 + str r2, [r0, #0x0] + pop {r3-r4} + bx lr + + thumb_func_start FUN_0204C02C +FUN_0204C02C: ; 0x0204C02C + push {r3-r4} + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C052 + add r1, r0, #0x0 + add r1, #0xa4 + ldr r4, [r1, #0x0] + mov r3, #0x1 + sub r1, r2, #0x1 + add r2, r3, #0x0 + lsl r2, r1 + mvn r1, r2 + and r1, r4 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr +_0204C052: + add r2, r0, #0x0 + add r2, #0xa8 + strb r1, [r2, #0x0] + mov r1, #0x0 + add r0, #0xa4 + str r1, [r0, #0x0] + pop {r3-r4} + bx lr + .balign 4 + + thumb_func_start FUN_0204C064 +FUN_0204C064: ; 0x0204C064 + add r3, r0, #0x0 + add r3, #0xa8 + ldrb r3, [r3, #0x0] + cmp r3, r1 + bne _0204C07C + add r0, #0xa4 + ldr r1, [r0, #0x0] + sub r0, r2, #0x1 + lsr r1, r0 + mov r0, #0x1 + and r0, r1 + bx lr +_0204C07C: + mov r0, #0x0 + bx lr + + thumb_func_start FUN_0204C080 +FUN_0204C080: ; 0x0204C080 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x6 + blt _0204C092 + bl FUN_02020C2C +_0204C092: + lsl r1, r4, #0x1 + add r0, r5, r1 + add r0, #0xa9 + strb r6, [r0, #0x0] + add r0, r5, r1 + add r0, #0xaa + strb r7, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204C0A4 +FUN_0204C0A4: ; 0x0204C0A4 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r4, #0x6 + blt _0204C0B6 + bl FUN_02020C2C +_0204C0B6: + lsl r1, r4, #0x1 + add r0, r5, r1 + add r0, #0xa9 + ldrb r0, [r0, #0x0] + strb r0, [r6, #0x0] + add r0, r5, r1 + add r0, #0xaa + ldrb r0, [r0, #0x0] + strb r0, [r7, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204C0CC +FUN_0204C0CC: ; 0x0204C0CC + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr + + thumb_func_start FUN_0204C0D4 +FUN_0204C0D4: ; 0x0204C0D4 + push {r3, lr} + ldrb r2, [r0, #0x0] + lsl r2, r2, #0x1d + lsr r2, r2, #0x1f + beq _0204C0E6 + add r0, #0x2a + mov r2, #0x78 + blx FUN_020CE3E0 +_0204C0E6: + pop {r3, pc} + + thumb_func_start FUN_0204C0E8 +FUN_0204C0E8: ; 0x0204C0E8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r4, #0x0 + add r1, #0x2a + mov r2, #0x78 + blx FUN_020CE3E0 + ldrb r1, [r4, #0x0] + mov r0, #0x4 + orr r0, r1 + strb r0, [r4, #0x0] + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0204C104 +FUN_0204C104: ; 0x0204C104 + push {r4-r6, lr} + add r5, r0, #0x0 + add r6, r1, #0x0 + bl FUN_0204C158 + cmp r0, #0xc + blt _0204C138 + mov r0, #0x0 + add r1, r5, #0x0 +_0204C116: + add r2, r1, #0x0 + add r2, #0xba + ldrh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb6 + strh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xbc + ldrh r3, [r2, #0x0] + add r2, r1, #0x0 + add r2, #0xb8 + add r0, r0, #0x1 + add r1, r1, #0x4 + strh r3, [r2, #0x0] + cmp r0, #0xb + blt _0204C116 + mov r0, #0xb +_0204C138: + lsl r4, r0, #0x2 + add r0, r6, #0x0 + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020672BC + add r1, r5, r4 + add r1, #0xb6 + strh r0, [r1, #0x0] + add r0, r6, #0x0 + bl FUN_0206B754 + add r1, r5, r4 + add r1, #0xb8 + strh r0, [r1, #0x0] + pop {r4-r6, pc} + + thumb_func_start FUN_0204C158 +FUN_0204C158: ; 0x0204C158 + mov r2, #0x0 +_0204C15A: + add r1, r0, #0x0 + add r1, #0xb6 + ldrh r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204C168 + add r0, r2, #0x0 + bx lr +_0204C168: + add r2, r2, #0x1 + add r0, r0, #0x4 + cmp r2, #0xc + blt _0204C15A + add r0, r2, #0x0 + bx lr + + thumb_func_start FUN_0204C174 +FUN_0204C174: ; 0x0204C174 + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r7, r2, #0x0 + str r3, [sp, #0x0] + cmp r4, #0xc + blt _0204C186 + bl FUN_02020C2C +_0204C186: + add r6, r5, #0x0 + lsl r4, r4, #0x2 + add r6, #0xb6 + ldrh r0, [r6, r4] + cmp r0, #0x0 + bne _0204C196 + bl FUN_02020C2C +_0204C196: + ldrh r0, [r6, r4] + str r0, [r7, #0x0] + add r0, r5, r4 + add r0, #0xb8 + ldrh r1, [r0, #0x0] + ldr r0, [sp, #0x0] + str r1, [r0, #0x0] + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0204C1A8 +FUN_0204C1A8: ; 0x0204C1A8 + ldr r3, _0204C1B0 ; =FUN_02022610 + mov r1, #0x5 + bx r3 + nop +_0204C1B0: .word FUN_02022610 + 1 + + thumb_func_start FUN_0204C1B4 +FUN_0204C1B4: ; 0x0204C1B4 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + ldr r0, [sp, #0x24] + mov r1, #0x20 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl FUN_02016998 + add r2, r0, #0x0 + str r5, [r2, #0x4] + str r4, [r2, #0x8] + str r6, [r2, #0xc] + add r0, sp, #0x8 + ldrh r0, [r0, #0x10] + ldr r1, _0204C1F0 ; =FUN_0204C1F4 + strh r0, [r2, #0x10] + ldr r0, [sp, #0x1c] + str r0, [r2, #0x14] + ldr r0, [sp, #0x20] + str r0, [r2, #0x18] + ldr r0, [sp, #0x24] + str r0, [r2, #0x1c] + mov r0, #0x0 + str r0, [r2, #0x0] + add r0, r7, #0x0 + bl FUN_0204640C + pop {r3-r7, pc} + nop +_0204C1F0: .word FUN_0204C1F4 + 1 + + thumb_func_start FUN_0204C1F4 +FUN_0204C1F4: ; 0x0204C1F4 + push {r4-r5, lr} + sub sp, #0xc + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204C214 + cmp r0, #0x1 + beq _0204C23C + b _0204C258 +_0204C214: + ldr r0, [r5, #0x4] + ldr r0, [r0, #0x1c] + bl FUN_021F4608 + ldr r0, [r4, #0x14] + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + str r0, [sp, #0x4] + ldr r0, [r4, #0x1c] + str r0, [sp, #0x8] + ldrh r3, [r4, #0x10] + ldr r0, [r4, #0x4] + ldr r1, [r4, #0x8] + ldr r2, [r4, #0xc] + bl FUN_0200E1D0 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C258 +_0204C23C: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0204C258 + ldr r0, [r5, #0x4] + ldr r0, [r0, #0x1c] + bl FUN_021F45E8 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r5, pc} +_0204C258: + mov r0, #0x0 + add sp, #0xc + pop {r4-r5, pc} + .balign 4 + + thumb_func_start FUN_0204C260 +FUN_0204C260: ; 0x0204C260 + push {r3-r7, lr} + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + add r4, r2, #0x0 + add r6, r3, #0x0 + bl FUN_020169D8 + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [r2, #0x0] + str r0, [r2, #0x4] + str r5, [r2, #0x8] + str r4, [r2, #0xc] + ldr r0, [sp, #0x18] + str r6, [r2, #0x10] + str r0, [r2, #0x14] + ldr r0, [sp, #0x1c] + ldr r1, _0204C298 ; =FUN_0204C380 + str r0, [r2, #0x18] + ldr r0, [sp, #0x20] + str r0, [r2, #0x20] + add r0, r7, #0x0 + bl FUN_020463CC + pop {r3-r7, pc} + nop +_0204C298: .word FUN_0204C380 + 1 + + thumb_func_start FUN_0204C29C +FUN_0204C29C: ; 0x0204C29C + push {r4-r7, lr} + sub sp, #0xc + add r7, r0, #0x0 + add r5, r1, #0x0 + mov r0, #0xb + mov r1, #0x24 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + bl FUN_020169D8 + add r6, r0, #0x0 + mov r4, #0x0 + str r4, [r6, #0x0] + str r4, [r6, #0x4] + ldr r0, [sp, #0x0] + str r5, [r6, #0x8] + str r0, [r6, #0xc] + ldr r0, [sp, #0x4] + str r0, [r6, #0x10] + ldr r0, [sp, #0x20] + str r0, [r6, #0x14] + ldr r0, [sp, #0x24] + str r0, [r6, #0x18] + ldr r0, [r7, #0x1c] + ldr r0, [r0, #0x0] + str r0, [sp, #0x8] + bl FUN_02034930 + cmp r0, #0x0 + beq _0204C308 + add r0, r5, #0x0 + bl FUN_02034930 + cmp r0, #0x0 + beq _0204C2E6 + mov r4, #0x6 + b _0204C36A +_0204C2E6: + add r0, r5, #0x0 + bl FUN_02034964 + cmp r0, #0x0 + beq _0204C2F4 + mov r4, #0x5 + b _0204C36A +_0204C2F4: + add r0, r5, #0x0 + bl FUN_02034944 + cmp r0, #0x0 + beq _0204C302 + mov r4, #0x6 + b _0204C36A +_0204C302: + bl FUN_02020C2C + b _0204C36A +_0204C308: + ldr r0, [sp, #0x8] + bl FUN_02034964 + cmp r0, #0x0 + beq _0204C334 + add r0, r5, #0x0 + bl FUN_02034930 + cmp r0, #0x0 + beq _0204C320 + mov r4, #0x4 + b _0204C36A +_0204C320: + add r0, r5, #0x0 + bl FUN_02034944 + cmp r0, #0x0 + beq _0204C32E + mov r4, #0x6 + b _0204C36A +_0204C32E: + bl FUN_02020C2C + b _0204C36A +_0204C334: + ldr r0, [sp, #0x8] + bl FUN_02034944 + cmp r0, #0x0 + beq _0204C366 + add r0, r5, #0x0 + bl FUN_02034964 + cmp r0, #0x0 + bne _0204C36A + add r0, r5, #0x0 + bl FUN_02034944 + cmp r0, #0x0 + beq _0204C356 + mov r4, #0x6 + b _0204C36A +_0204C356: + add r0, r5, #0x0 + bl FUN_02034930 + cmp r0, #0x0 + bne _0204C36A + bl FUN_02020C2C + b _0204C36A +_0204C366: + bl FUN_02020C2C +_0204C36A: + ldr r1, _0204C37C ; =FUN_0204C380 + add r0, r7, #0x0 + add r2, r6, #0x0 + str r4, [r6, #0x20] + bl FUN_020463CC + add sp, #0xc + pop {r4-r7, pc} + nop +_0204C37C: .word FUN_0204C380 + 1 + + thumb_func_start FUN_0204C380 +FUN_0204C380: ; 0x0204C380 + push {r3-r7, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r6, r4, #0x0 + ldr r1, [r4, #0x0] + add r6, #0x8 + cmp r1, #0x6 + bhi _0204C458 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_0204C3A8: ; jump table (using 16-bit offset) + .short _0204C3B6 - _0204C3A8 - 2; case 0 + .short _0204C3DA - _0204C3A8 - 2; case 1 + .short _0204C3E8 - _0204C3A8 - 2; case 2 + .short _0204C3F8 - _0204C3A8 - 2; case 3 + .short _0204C406 - _0204C3A8 - 2; case 4 + .short _0204C41E - _0204C3A8 - 2; case 5 + .short _0204C450 - _0204C3A8 - 2; case 6 +_0204C3B6: + mov r0, #0x0 + str r0, [r4, #0x4] + ldr r1, [r6, #0x0] + add r0, r7, #0x0 + bl FUN_0204AD60 + ldr r1, [r4, #0x20] + add r0, r5, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0204C45C ; =0x020F4894 + ldr r1, [r1, r2] + add r2, r4, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C3DA: + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C3E8: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02049160 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C3F8: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C406: + ldr r0, [r4, #0x20] + lsl r1, r0, #0x2 + ldr r0, _0204C460 ; =0x020F48B0 + ldr r1, [r0, r1] + cmp r1, #0x0 + beq _0204C416 + add r0, r7, #0x0 + blx r1 +_0204C416: + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C41E: + bl FUN_02005404 + cmp r0, #0x0 + bne _0204C458 + ldr r1, [r6, #0x0] + add r0, r7, #0x0 + bl FUN_0204AD8C + add r0, r7, #0x0 + bl FUN_021E331C + mov r0, #0x0 + str r0, [r4, #0x4] + ldr r1, [r4, #0x20] + add r0, r5, #0x0 + lsl r2, r1, #0x2 + ldr r1, _0204C464 ; =0x020F4878 + ldr r1, [r1, r2] + add r2, r4, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _0204C458 +_0204C450: + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r7, pc} +_0204C458: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204C45C: .word 0x020F4894 +_0204C460: .word 0x020F48B0 +_0204C464: .word 0x020F4878 + + thumb_func_start FUN_0204C468 +FUN_0204C468: ; 0x0204C468 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C484 + cmp r0, #0x1 + beq _0204C498 + b _0204C49C +_0204C484: + ldr r0, _0204C4A0 ; =0x00000603 + bl FUN_020054C8 + add r0, r5, #0x0 + bl FUN_0204AFC8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C49C +_0204C498: + mov r0, #0x1 + pop {r3-r5, pc} +_0204C49C: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 +_0204C4A0: .word 0x00000603 + + thumb_func_start FUN_0204C4A4 +FUN_0204C4A4: ; 0x0204C4A4 + push {r4-r6, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + bhi _0204C522 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204C4C8: ; jump table (using 16-bit offset) + .short _0204C4D0 - _0204C4C8 - 2; case 0 + .short _0204C4F6 - _0204C4C8 - 2; case 1 + .short _0204C510 - _0204C4C8 - 2; case 2 + .short _0204C51E - _0204C4C8 - 2; case 3 +_0204C4D0: + bl FUN_021DA5B8 + str r0, [r4, #0x1c] + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r1, r0, #0x0 + ldr r2, [r4, #0x1c] + add r0, r6, #0x0 + bl FUN_021DA5D0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C522 +_0204C4F6: + ldr r1, [r4, #0x1c] + add r0, r5, #0x0 + bl FUN_021DA5D8 + cmp r0, #0x0 + beq _0204C522 + ldr r0, [r4, #0x1c] + bl FUN_021DA5C8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C522 +_0204C510: + add r0, r6, #0x0 + bl FUN_0204AFC8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C522 +_0204C51E: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C522: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204C528 +FUN_0204C528: ; 0x0204C528 + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C54A + cmp r0, #0x1 + beq _0204C570 + cmp r0, #0x2 + beq _0204C598 + b _0204C59C +_0204C54A: + bl FUN_021DA5B8 + str r0, [r4, #0x1c] + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r1, r0, #0x0 + ldr r2, [r4, #0x1c] + add r0, r6, #0x0 + bl FUN_021DA5D0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C59C +_0204C570: + ldr r0, [r5, #0x38] + ldr r6, [r4, #0x1c] + bl FUN_020552F8 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl FUN_021DAC70 + cmp r0, #0x0 + beq _0204C59C + ldr r0, [r4, #0x1c] + bl FUN_021DA5C8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C59C +_0204C598: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C59C: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_0204C5A0 +FUN_0204C5A0: ; 0x0204C5A0 + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + bhi _0204C63C + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204C5C4: ; jump table (using 16-bit offset) + .short _0204C5CC - _0204C5C4 - 2; case 0 + .short _0204C5FE - _0204C5C4 - 2; case 1 + .short _0204C61C - _0204C5C4 - 2; case 2 + .short _0204C630 - _0204C5C4 - 2; case 3 +_0204C5CC: + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_020553A0 + cmp r6, #0x2 + bne _0204C5E6 + mov r1, #0xa + bl FUN_0205ADDC + b _0204C5F6 +_0204C5E6: + cmp r6, #0x3 + bne _0204C5F2 + mov r1, #0xb + bl FUN_0205ADDC + b _0204C5F6 +_0204C5F2: + bl FUN_02020C2C +_0204C5F6: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C63C +_0204C5FE: + ldr r0, [r5, #0x38] + bl FUN_020553A0 + add r5, r0, #0x0 + bl FUN_0205AE28 + cmp r0, #0x1 + bne _0204C63C + add r0, r5, #0x0 + bl FUN_0205AE50 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C63C +_0204C61C: + ldr r0, _0204C640 ; =0x00000603 + bl FUN_020054C8 + mov r0, #0x0 + bl FUN_021D7CA4 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C63C +_0204C630: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0204C63C + mov r0, #0x1 + pop {r4-r6, pc} +_0204C63C: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 +_0204C640: .word 0x00000603 + + thumb_func_start FUN_0204C644 +FUN_0204C644: ; 0x0204C644 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r6, #0x38] + bl FUN_020553A0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C668 + cmp r0, #0x1 + beq _0204C67E + b _0204C682 +_0204C668: + bl FUN_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C688 ; =0x021DB1D1 + add r0, r5, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C682 +_0204C67E: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C682: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204C688: .word 0x021DB1D1 + + thumb_func_start FUN_0204C68C +FUN_0204C68C: ; 0x0204C68C + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r6, #0x38] + bl FUN_020553A0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C6B0 + cmp r0, #0x1 + beq _0204C6C6 + b _0204C6CA +_0204C6B0: + bl FUN_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C6D0 ; =0x021DB145 + add r0, r5, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C6CA +_0204C6C6: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C6CA: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204C6D0: .word 0x021DB145 + + thumb_func_start FUN_0204C6D4 +FUN_0204C6D4: ; 0x0204C6D4 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r4, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r5, r0, #0x0 + ldr r0, [r5, #0x4] + cmp r0, #0x3 + bhi _0204C798 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204C6F8: ; jump table (using 16-bit offset) + .short _0204C700 - _0204C6F8 - 2; case 0 + .short _0204C74A - _0204C6F8 - 2; case 1 + .short _0204C770 - _0204C6F8 - 2; case 2 + .short _0204C794 - _0204C6F8 - 2; case 3 +_0204C700: + ldr r0, [r4, #0x38] + bl FUN_020553A0 + add r7, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_02055320 + str r0, [sp, #0x0] + ldr r0, [r4, #0x38] + bl FUN_0205532C + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r4, #0x0 + bl FUN_0204A6E0 + bl FUN_020547B0 + cmp r0, #0x0 + beq _0204C736 + add r0, r7, #0x0 + mov r1, #0x1 + bl FUN_0205889C + mov r0, #0x1 + str r0, [r5, #0x4] + b _0204C798 +_0204C736: + bl FUN_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C79C ; =0x021DB251 + add r0, r6, #0x0 + bl FUN_0204640C + mov r0, #0x3 + str r0, [r5, #0x4] + b _0204C798 +_0204C74A: + bl FUN_021DA5B8 + str r0, [r5, #0x1c] + ldr r0, [r4, #0x38] + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r4, #0x38] + bl FUN_0205532C + add r1, r0, #0x0 + ldr r2, [r5, #0x1c] + add r0, r6, #0x0 + bl FUN_021DA5D0 + ldr r0, [r5, #0x4] + add r0, r0, #0x1 + str r0, [r5, #0x4] + b _0204C798 +_0204C770: + ldr r5, [r5, #0x1c] + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_021DA7B4 + cmp r0, #0x0 + beq _0204C798 + add r0, r5, #0x0 + bl FUN_021DA5C8 + ldr r0, [r4, #0x38] + bl FUN_020553A0 + mov r1, #0x0 + bl FUN_0205889C + mov r0, #0x1 + pop {r3-r7, pc} +_0204C794: + mov r0, #0x1 + pop {r3-r7, pc} +_0204C798: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204C79C: .word 0x021DB251 + + thumb_func_start FUN_0204C7A0 +FUN_0204C7A0: ; 0x0204C7A0 + push {r3-r7, lr} + add r6, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C7BE + cmp r0, #0x1 + beq _0204C814 + b _0204C818 +_0204C7BE: + ldr r0, [r5, #0x38] + bl FUN_020553A0 + add r7, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_02055320 + str r0, [sp, #0x0] + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r0, r5, #0x0 + bl FUN_0204A6E0 + bl FUN_020547B0 + cmp r0, #0x0 + beq _0204C7FE + add r0, r7, #0x0 + mov r1, #0x1 + bl FUN_0205889C + mov r0, #0x1 + str r0, [r4, #0x4] + ldr r1, _0204C81C ; =FUN_0204C6D4 + add r0, r6, #0x0 + add r2, r4, #0x0 + bl FUN_020463EC + b _0204C818 +_0204C7FE: + bl FUN_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C820 ; =0x021DB381 + add r0, r6, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C818 +_0204C814: + mov r0, #0x1 + pop {r3-r7, pc} +_0204C818: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204C81C: .word FUN_0204C6D4 + 1 +_0204C820: .word 0x021DB381 + + thumb_func_start FUN_0204C824 +FUN_0204C824: ; 0x0204C824 + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C846 + cmp r0, #0x1 + beq _0204C86C + cmp r0, #0x2 + beq _0204C894 + b _0204C898 +_0204C846: + bl FUN_021DA5B8 + str r0, [r4, #0x1c] + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r1, r0, #0x0 + ldr r2, [r4, #0x1c] + add r0, r6, #0x0 + bl FUN_021DA5D0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C898 +_0204C86C: + ldr r0, [r5, #0x38] + ldr r6, [r4, #0x1c] + bl FUN_020552F8 + add r2, r0, #0x0 + lsl r2, r2, #0x18 + add r0, r5, #0x0 + add r1, r6, #0x0 + lsr r2, r2, #0x18 + bl FUN_021DAAA4 + cmp r0, #0x0 + beq _0204C898 + ldr r0, [r4, #0x1c] + bl FUN_021DA5C8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C898 +_0204C894: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C898: + mov r0, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_0204C89C +FUN_0204C89C: ; 0x0204C89C + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r4, #0x4] + cmp r0, #0x3 + bhi _0204C936 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204C8C0: ; jump table (using 16-bit offset) + .short _0204C8C8 - _0204C8C0 - 2; case 0 + .short _0204C904 - _0204C8C0 - 2; case 1 + .short _0204C922 - _0204C8C0 - 2; case 2 + .short _0204C932 - _0204C8C0 - 2; case 3 +_0204C8C8: + mov r0, #0x1 + bl FUN_021D7CA4 + ldr r0, [r5, #0x38] + bl FUN_020553A0 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_020552F8 + cmp r0, #0x2 + bne _0204C8EA + add r0, r6, #0x0 + mov r1, #0xa + bl FUN_0205ADDC + b _0204C8FC +_0204C8EA: + cmp r0, #0x3 + bne _0204C8F8 + add r0, r6, #0x0 + mov r1, #0xb + bl FUN_0205ADDC + b _0204C8FC +_0204C8F8: + bl FUN_02020C2C +_0204C8FC: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C936 +_0204C904: + ldr r0, [r5, #0x38] + bl FUN_020553A0 + add r5, r0, #0x0 + bl FUN_0205AE28 + cmp r0, #0x1 + bne _0204C936 + add r0, r5, #0x0 + bl FUN_0205AE50 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C936 +_0204C922: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0204C936 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C936 +_0204C932: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C936: + mov r0, #0x0 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0204C93C +FUN_0204C93C: ; 0x0204C93C + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r0, [r6, #0x38] + bl FUN_020553A0 + ldr r0, [r4, #0x4] + cmp r0, #0x0 + beq _0204C960 + cmp r0, #0x1 + beq _0204C976 + b _0204C97A +_0204C960: + bl FUN_021DB030 + add r2, r0, #0x0 + ldr r1, _0204C980 ; =0x021DB041 + add r0, r5, #0x0 + bl FUN_0204640C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0204C97A +_0204C976: + mov r0, #0x1 + pop {r4-r6, pc} +_0204C97A: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204C980: .word 0x021DB041 + + thumb_func_start FUN_0204C984 +FUN_0204C984: ; 0x0204C984 + push {r3-r5, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r4, r0, #0x0 + ldr r0, [r5, #0x38] + add r1, sp, #0x4 + bl FUN_02055350 + cmp r4, #0x3 + bne _0204C9AA + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x10 + sub r0, r1, r0 + str r0, [sp, #0x4] + b _0204C9B4 +_0204C9AA: + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x10 + add r0, r1, r0 + str r0, [sp, #0x4] +_0204C9B4: + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [sp, #0x4] + ldr r3, [sp, #0xc] + add r0, r5, #0x0 + bl FUN_0204A708 + str r0, [sp, #0x8] + ldr r0, [r5, #0x38] + add r1, sp, #0x4 + add r2, r4, #0x0 + bl FUN_020554EC + ldr r0, [r5, #0x38] + bl FUN_02055360 + ldr r1, [r5, #0x20] + bl FUN_0201EFEC + ldr r0, [r5, #0x38] + bl FUN_02055360 + ldr r1, [r5, #0x20] + bl FUN_0201EC68 + add sp, #0x10 + pop {r3-r5, pc} + + thumb_func_start FUN_0204C9EC +FUN_0204C9EC: ; 0x0204C9EC + push {r4-r6, lr} + sub sp, #0x10 + add r5, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_020552F8 + add r4, r0, #0x0 + ldr r0, [r5, #0x38] + add r1, sp, #0x4 + bl FUN_02055350 + ldr r0, [r5, #0x38] + bl FUN_02055320 + add r6, r0, #0x0 + ldr r0, [r5, #0x38] + bl FUN_0205532C + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_0204A6E0 + add r6, r0, #0x0 + bl FUN_020548D8 + cmp r0, #0x0 + beq _0204CA32 + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x10 + add r0, r1, r0 + str r0, [sp, #0x4] + mov r4, #0x2 + b _0204CA48 +_0204CA32: + add r0, r6, #0x0 + bl FUN_020548E4 + cmp r0, #0x0 + beq _0204CA48 + mov r0, #0x1 + ldr r1, [sp, #0x4] + lsl r0, r0, #0x10 + sub r0, r1, r0 + str r0, [sp, #0x4] + mov r4, #0x3 +_0204CA48: + mov r0, #0x0 + str r0, [sp, #0x0] + ldr r1, [sp, #0x8] + ldr r2, [sp, #0x4] + ldr r3, [sp, #0xc] + add r0, r5, #0x0 + bl FUN_0204A708 + str r0, [sp, #0x8] + ldr r0, [r5, #0x38] + add r1, sp, #0x4 + add r2, r4, #0x0 + bl FUN_020554EC + ldr r0, [r5, #0x38] + bl FUN_02055360 + ldr r1, [r5, #0x20] + bl FUN_0201EFEC + ldr r0, [r5, #0x38] + bl FUN_02055360 + ldr r1, [r5, #0x20] + bl FUN_0201EC68 + add sp, #0x10 + pop {r4-r6, pc} + + thumb_func_start FUN_0204CA80 +FUN_0204CA80: ; 0x0204CA80 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CA8C ; =0x020F48CC + ldrb r0, [r0, r1] + bx lr + nop +_0204CA8C: .word 0x020F48CC + + thumb_func_start FUN_0204CA90 +FUN_0204CA90: ; 0x0204CA90 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CA9C ; =0x020F48CD + ldrb r0, [r0, r1] + bx lr + nop +_0204CA9C: .word 0x020F48CD + + thumb_func_start FUN_0204CAA0 +FUN_0204CAA0: ; 0x0204CAA0 + mov r1, #0x1c + ldr r2, _0204CAAC ; =0x020F48CC + mul r1, r0 + add r0, r2, r1 + add r0, r0, #0x2 + bx lr + .balign 4 +_0204CAAC: .word 0x020F48CC + + thumb_func_start FUN_0204CAB0 +FUN_0204CAB0: ; 0x0204CAB0 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CABC ; =0x020F48D7 + ldrb r0, [r0, r1] + bx lr + nop +_0204CABC: .word 0x020F48D7 + + thumb_func_start FUN_0204CAC0 +FUN_0204CAC0: ; 0x0204CAC0 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CACC ; =0x020F48D8 + ldrb r0, [r0, r1] + bx lr + nop +_0204CACC: .word 0x020F48D8 + + thumb_func_start FUN_0204CAD0 +FUN_0204CAD0: ; 0x0204CAD0 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CADC ; =0x020F48D9 + ldrb r0, [r0, r1] + bx lr + nop +_0204CADC: .word 0x020F48D9 + + thumb_func_start FUN_0204CAE0 +FUN_0204CAE0: ; 0x0204CAE0 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CAEC ; =0x020F48DC + ldr r0, [r0, r1] + bx lr + nop +_0204CAEC: .word 0x020F48DC + + thumb_func_start FUN_0204CAF0 +FUN_0204CAF0: ; 0x0204CAF0 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CAFC ; =0x020F48E0 + ldr r0, [r0, r1] + bx lr + nop +_0204CAFC: .word 0x020F48E0 + + thumb_func_start FUN_0204CB00 +FUN_0204CB00: ; 0x0204CB00 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CB0C ; =0x020F48E4 + ldrb r0, [r0, r1] + bx lr + nop +_0204CB0C: .word 0x020F48E4 + + thumb_func_start FUN_0204CB10 +FUN_0204CB10: ; 0x0204CB10 + mov r1, #0x1c + mul r1, r0 + ldr r0, _0204CB1C ; =0x020F48E5 + ldrb r0, [r0, r1] + bx lr + nop +_0204CB1C: .word 0x020F48E5 + + thumb_func_start FUN_0204CB20 +FUN_0204CB20: ; 0x0204CB20 + push {r3-r7, lr} + add r4, r1, #0x0 + ldr r1, _0204CC34 ; =0x021C5A68 + add r5, r2, #0x0 + ldr r2, [r1, #0x0] + cmp r2, #0x0 + beq _0204CB32 + mov r0, #0x0 + pop {r3-r7, pc} +_0204CB32: + bne _0204CB40 + mov r2, #0xb1 + str r0, [r1, #0x0] + mov r1, #0x0 + lsl r2, r2, #0x2 + blx FUN_020CE34C +_0204CB40: + ldr r1, _0204CC34 ; =0x021C5A68 + ldr r0, _0204CC38 ; =0x000002BE + ldr r2, [r1, #0x0] + strb r5, [r2, r0] + mov r2, #0x0 + ldr r0, [r1, #0x0] + cmp r5, #0x0 + str r2, [r0, #0x4] + beq _0204CB6C + bl FUN_02244D1C + add r1, r0, #0x0 + mov r0, #0xf + bl FUN_02016998 + ldr r1, _0204CC34 ; =0x021C5A68 + ldr r2, [r1, #0x0] + str r0, [r2, #0x4] + ldr r0, [r1, #0x0] + ldr r0, [r0, #0x4] + bl FUN_02244D20 +_0204CB6C: + ldr r0, _0204CC34 ; =0x021C5A68 + ldr r7, _0204CC3C ; =0x0000FFFF + ldr r1, [r0, #0x0] + str r4, [r1, #0x54] + mov r1, #0x0 + add r2, r1, #0x0 + add r3, r1, #0x0 +_0204CB7A: + ldr r4, [r0, #0x0] + add r5, r4, r2 + mov r4, #0x0 + add r5, #0xa6 + mvn r4, r4 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + add r4, r4, r2 + add r4, #0xa2 + strh r7, [r4, #0x0] + ldr r4, [r0, #0x0] + add r4, r4, r2 + add r4, #0xa4 + strh r7, [r4, #0x0] + ldr r4, [r0, #0x0] + add r5, r4, r2 + add r5, #0xa7 + mov r4, #0x2 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + add r5, r4, r2 + mov r4, #0x0 + add r5, #0x66 + mvn r4, r4 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + add r4, r4, r2 + add r4, #0x62 + strh r7, [r4, #0x0] + ldr r4, [r0, #0x0] + add r4, r4, r2 + add r4, #0x64 + strh r7, [r4, #0x0] + ldr r4, [r0, #0x0] + add r5, r4, r2 + add r5, #0x67 + mov r4, #0x2 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + ldr r5, _0204CC40 ; =0x00000102 + add r6, r4, r1 + mov r4, #0x0 + mvn r4, r4 + strb r4, [r6, r5] + ldr r4, [r0, #0x0] + add r2, #0x8 + add r5, r4, r1 + add r5, #0xe2 + mov r4, #0x0 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + add r5, r4, r1 + add r5, #0xea + mov r4, #0x1 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + add r5, r4, r1 + add r5, #0xf2 + mov r4, #0x0 + strb r4, [r5, #0x0] + ldr r4, [r0, #0x0] + mov r5, #0xff + add r6, r4, r3 + add r4, r5, #0x0 + add r4, #0x6b + add r1, r1, #0x1 + add r3, #0x22 + strh r5, [r6, r4] + cmp r1, #0x8 + blt _0204CB7A + ldr r2, _0204CC34 ; =0x021C5A68 + mov r1, #0xaf + ldr r3, [r2, #0x0] + lsl r1, r1, #0x2 + mov r0, #0x0 + strb r0, [r3, r1] + ldr r2, [r2, #0x0] + add r1, r1, #0x3 + strb r0, [r2, r1] + ldr r0, _0204CC44 ; =FUN_0204D4F0 + mov r1, #0x0 + mov r2, #0xc8 + bl FUN_0200CA44 + ldr r1, _0204CC34 ; =0x021C5A68 + ldr r1, [r1, #0x0] + str r0, [r1, #0x50] + bl FUN_02030FA8 + bl FUN_0204CF60 + mov r0, #0x1 + pop {r3-r7, pc} + .balign 4 +_0204CC34: .word 0x021C5A68 +_0204CC38: .word 0x000002BE +_0204CC3C: .word 0x0000FFFF +_0204CC40: .word 0x00000102 +_0204CC44: .word FUN_0204D4F0 + 1 + + thumb_func_start FUN_0204CC48 +FUN_0204CC48: ; 0x0204CC48 + push {r3-r7, lr} + ldr r4, _0204CC94 ; =0x021C5A68 + ldr r0, [r4, #0x0] + cmp r0, #0x0 + beq _0204CC92 + ldr r6, _0204CC98 ; =0x000002BE + mov r5, #0x0 + mov r7, #0x1 +_0204CC58: + ldr r0, [r4, #0x0] + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _0204CC6E + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + add r1, r7, #0x0 + mov r2, #0x0 + bl FUN_0204D43C + b _0204CC7A +_0204CC6E: + lsl r0, r5, #0x18 + mov r1, #0x1 + lsr r0, r0, #0x18 + add r2, r1, #0x0 + bl FUN_0204D43C +_0204CC7A: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204CC58 + ldr r0, _0204CC94 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204CC98 ; =0x000002BE + ldrb r1, [r2, r0] + cmp r1, #0x0 + beq _0204CC92 + mov r1, #0x1 + sub r0, r0, #0x1 + strb r1, [r2, r0] +_0204CC92: + pop {r3-r7, pc} + .balign 4 +_0204CC94: .word 0x021C5A68 +_0204CC98: .word 0x000002BE + + thumb_func_start FUN_0204CC9C +FUN_0204CC9C: ; 0x0204CC9C + push {r3, lr} + ldr r1, _0204CCD8 ; =0x021C5A68 + ldr r3, [r1, #0x0] + cmp r3, #0x0 + beq _0204CCD6 + ldr r0, _0204CCDC ; =0x000002BB + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + mov r2, #0x0 + add r0, r0, #0x2 + strb r2, [r1, r0] + bl FUN_0204CF60 + mov r0, #0x1 + bl FUN_0204D168 + ldr r0, _0204CCD8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055320 + ldr r0, _0204CCD8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_0205532C +_0204CCD6: + pop {r3, pc} + .balign 4 +_0204CCD8: .word 0x021C5A68 +_0204CCDC: .word 0x000002BB + + thumb_func_start FUN_0204CCE0 +FUN_0204CCE0: ; 0x0204CCE0 + push {r3-r7, lr} + ldr r7, _0204CD70 ; =0x021C5A68 + add r6, r0, #0x0 + ldr r0, [r7, #0x0] + cmp r0, #0x0 + beq _0204CD6E + mov r4, #0x0 + add r5, r4, #0x0 +_0204CCF0: + ldr r0, [r7, #0x0] + add r1, r0, r5 + mov r0, #0x9f + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204CD0E + bl FUN_02016A18 + ldr r0, [r7, #0x0] + mov r1, #0x0 + add r2, r0, r5 + mov r0, #0x9f + lsl r0, r0, #0x2 + str r1, [r2, r0] +_0204CD0E: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x5 + blt _0204CCF0 + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204CD74 ; =0x000002B2 + ldrh r1, [r2, r0] + cmp r1, #0x5 + blo _0204CD28 + ldr r0, [r2, #0x54] + bl FUN_02061B64 +_0204CD28: + mov r4, #0x0 + add r5, r4, #0x0 +_0204CD2C: + lsl r0, r4, #0x18 + lsr r0, r0, #0x18 + add r1, r5, #0x0 + add r2, r6, #0x0 + bl FUN_0204D43C + add r4, r4, #0x1 + cmp r4, #0x8 + blt _0204CD2C + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + bl FUN_0200CAB4 + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204CD60 + bl FUN_02244D3C + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl FUN_02016A18 +_0204CD60: + ldr r0, _0204CD70 ; =0x021C5A68 + ldr r0, [r0, #0x0] + bl FUN_02016A18 + ldr r0, _0204CD70 ; =0x021C5A68 + mov r1, #0x0 + str r1, [r0, #0x0] +_0204CD6E: + pop {r3-r7, pc} + .balign 4 +_0204CD70: .word 0x021C5A68 +_0204CD74: .word 0x000002B2 + + thumb_func_start FUN_0204CD78 +FUN_0204CD78: ; 0x0204CD78 + push {r4, lr} + lsl r4, r0, #0x2 + ldr r0, _0204CDB0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x28] + cmp r0, #0x0 + beq _0204CDAC + bl FUN_020646A0 + cmp r0, #0x0 + beq _0204CD9E + ldr r0, _0204CDB0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x28] + bl FUN_02064520 + b _0204CDA2 +_0204CD9E: + bl FUN_02020C2C +_0204CDA2: + ldr r0, _0204CDB0 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + str r1, [r0, #0x28] +_0204CDAC: + pop {r4, pc} + nop +_0204CDB0: .word 0x021C5A68 + + thumb_func_start FUN_0204CDB4 +FUN_0204CDB4: ; 0x0204CDB4 + push {r3-r7, lr} + mov r4, #0x0 + ldr r6, _0204CED4 ; =0x021C5A68 + add r7, r4, #0x0 + add r5, r4, #0x0 +_0204CDBE: + add r0, r4, #0x0 + bl FUN_0204E778 + add r0, r4, #0x0 + bl FUN_0204CD78 + cmp r4, #0x0 + beq _0204CDD4 + add r0, r4, #0x0 + bl FUN_0204ED9C +_0204CDD4: + ldr r1, [r6, #0x0] + add r0, r1, r7 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204CDFA + ldr r2, [r1, #0x54] + ldr r2, [r2, #0x38] + cmp r2, r0 + beq _0204CDF2 + ldr r2, _0204CED8 ; =0x000002BE + ldrb r1, [r1, r2] + cmp r1, #0x0 + beq _0204CDF2 + bl FUN_02055168 +_0204CDF2: + ldr r0, [r6, #0x0] + add r1, r0, r7 + mov r0, #0x0 + str r0, [r1, #0x8] +_0204CDFA: + ldr r0, [r6, #0x0] + add r7, r7, #0x4 + add r1, r0, r4 + add r1, #0x48 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + mov r0, #0x0 + add r1, #0xa6 + mvn r0, r0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0xa2 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0xa4 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0xa7 + mov r0, #0x2 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + mov r0, #0x0 + add r1, #0x66 + mvn r0, r0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0x62 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204CEDC ; =0x0000FFFF + add r1, #0x64 + strh r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0x67 + mov r0, #0x2 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE0 ; =0x00000102 + mvn r1, r1 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE4 ; =0x0000010A + add r5, #0x8 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xe2 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xea + mov r0, #0x1 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + add r1, r0, r4 + add r1, #0xf2 + mov r0, #0x0 + strb r0, [r1, #0x0] + ldr r0, [r6, #0x0] + mov r1, #0x0 + add r2, r0, r4 + ldr r0, _0204CEE8 ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + add r2, r0, r4 + ldr r0, _0204CEEC ; =0x00000142 + add r4, r4, #0x1 + strb r1, [r2, r0] + cmp r4, #0x8 + blt _0204CDBE + ldr r0, _0204CED4 ; =0x021C5A68 + ldr r1, _0204CEF0 ; =0x000002BF + ldr r2, [r0, #0x0] + mov r0, #0x0 + strb r0, [r2, r1] + bl FUN_0204CF60 + ldr r0, _0204CED4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + cmp r0, #0x0 + bne _0204CED0 + ldr r0, _0204CEF4 ; =FUN_0204D4F0 + mov r1, #0x0 + mov r2, #0xc8 + bl FUN_0200CA44 + ldr r1, _0204CED4 ; =0x021C5A68 + ldr r1, [r1, #0x0] + str r0, [r1, #0x50] +_0204CED0: + pop {r3-r7, pc} + nop +_0204CED4: .word 0x021C5A68 +_0204CED8: .word 0x000002BE +_0204CEDC: .word 0x0000FFFF +_0204CEE0: .word 0x00000102 +_0204CEE4: .word 0x0000010A +_0204CEE8: .word 0x0000013A +_0204CEEC: .word 0x00000142 +_0204CEF0: .word 0x000002BF +_0204CEF4: .word FUN_0204D4F0 + 1 + + thumb_func_start FUN_0204CEF8 +FUN_0204CEF8: ; 0x0204CEF8 + push {r3, lr} + ldr r0, _0204CF20 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + cmp r0, #0x0 + beq _0204CF16 + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0204D4F0 + ldr r0, _0204CF20 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x50] + bl FUN_0200CAB4 +_0204CF16: + ldr r0, _0204CF20 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x50] + pop {r3, pc} + .balign 4 +_0204CF20: .word 0x021C5A68 + + thumb_func_start FUN_0204CF24 +FUN_0204CF24: ; 0x0204CF24 + push {r3-r5, lr} + ldr r0, _0204CF58 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204CF54 + mov r5, #0x0 + add r4, r5, #0x0 +_0204CF32: + lsl r0, r5, #0x18 + lsr r0, r0, #0x18 + add r1, r4, #0x0 + add r2, r4, #0x0 + bl FUN_0204D43C + add r0, r5, #0x0 + bl FUN_0204F69C + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204CF32 + ldr r0, _0204CF58 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204CF5C ; =0x000002BD + strb r2, [r1, r0] +_0204CF54: + pop {r3-r5, pc} + nop +_0204CF58: .word 0x021C5A68 +_0204CF5C: .word 0x000002BD + + thumb_func_start FUN_0204CF60 +FUN_0204CF60: ; 0x0204CF60 + push {r4, lr} + bl FUN_02031190 + ldr r1, _0204D03C ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x54] + add r0, r2, r0 + ldr r1, [r1, #0x38] + str r1, [r0, #0x8] + bl FUN_02031190 + ldr r1, _0204D03C ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x48 + strb r2, [r0, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055320 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa2 + strh r0, [r1, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_0205532C + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa4 + strh r0, [r1, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_020552F8 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa6 + strb r0, [r1, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055320 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x62 + strh r0, [r1, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_0205532C + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x64 + strh r0, [r1, #0x0] + bl FUN_02031190 + add r4, r0, #0x0 + ldr r0, _0204D03C ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_020552F8 + ldr r1, _0204D03C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0x66 + strb r0, [r1, #0x0] + pop {r4, pc} + nop +_0204D03C: .word 0x021C5A68 + + thumb_func_start FUN_0204D040 +FUN_0204D040: ; 0x0204D040 + push {r3-r7, lr} + str r0, [sp, #0x0] + ldr r0, _0204D110 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D114 ; =0x000002BF + strb r2, [r1, r0] + bl FUN_02031190 + ldr r2, _0204D110 ; =0x021C5A68 + add r1, r0, #0x0 + ldr r4, [r2, #0x0] + lsl r6, r1, #0x2 + ldr r0, [r4, #0x54] + ldr r3, [r0, #0x38] + add r0, r4, r6 + str r3, [r0, #0x8] + ldr r0, [r2, #0x0] + mov r3, #0x1 + add r0, r0, r1 + add r0, #0x48 + strb r3, [r0, #0x0] + ldr r0, [sp, #0x0] + ldr r3, [r2, #0x0] + lsl r5, r0, #0x3 + add r0, r3, r5 + add r0, #0xa2 + lsl r4, r1, #0x3 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0xa2 + strh r0, [r3, #0x0] + ldr r3, [r2, #0x0] + add r0, r3, r5 + add r0, #0xa4 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0xa4 + strh r0, [r3, #0x0] + ldr r7, [r2, #0x0] + mov r0, #0xa6 + add r3, r7, r5 + ldrsb r0, [r3, r0] + add r3, r7, r4 + add r3, #0xa6 + strb r0, [r3, #0x0] + ldr r3, [r2, #0x0] + mov r7, #0x29 + add r0, r3, r5 + add r0, #0x62 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0x62 + lsl r7, r7, #0x4 + strh r0, [r3, #0x0] + ldr r3, [r2, #0x0] + add r0, r3, r5 + add r0, #0x64 + add r3, r3, r4 + ldrh r0, [r0, #0x0] + add r3, #0x64 + strh r0, [r3, #0x0] + ldr r0, [r2, #0x0] + mov r3, #0x66 + add r5, r0, r5 + add r0, r0, r4 + ldrsb r5, [r5, r3] + add r0, #0x66 + strb r5, [r0, #0x0] + ldr r0, [sp, #0x0] + ldr r4, [r2, #0x0] + lsl r5, r0, #0x2 + add r0, r4, r5 + ldr r0, [r0, r7] + add r4, r4, r6 + str r0, [r4, r7] + ldr r0, [r2, #0x0] + mov r4, #0x0 + add r0, r0, r5 + str r4, [r0, r7] + ldr r2, [r2, #0x0] + add r0, r2, r6 + ldr r0, [r0, r7] + cmp r0, #0x0 + beq _0204D0F8 + add r3, #0xe4 + add r3, r2, r3 + mov r2, #0x22 + mul r2, r1 + add r1, r3, r2 + bl FUN_0202393C +_0204D0F8: + ldr r1, _0204D110 ; =0x021C5A68 + mov r0, #0xff + ldr r3, [r1, #0x0] + ldr r1, [sp, #0x0] + mov r2, #0x22 + mul r2, r1 + add r1, r0, #0x0 + add r2, r3, r2 + add r1, #0x6b + strh r0, [r2, r1] + pop {r3-r7, pc} + nop +_0204D110: .word 0x021C5A68 +_0204D114: .word 0x000002BF + + thumb_func_start FUN_0204D118 +FUN_0204D118: ; 0x0204D118 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + ldr r0, _0204D160 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r6, r2, #0x0 + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_020552F8 + add r1, sp, #0x0 + strb r4, [r1, #0x0] + asr r2, r4, #0x8 + strb r2, [r1, #0x1] + asr r2, r6, #0x8 + strb r6, [r1, #0x2] + strb r2, [r1, #0x3] + strb r0, [r1, #0x4] + cmp r5, #0x0 + beq _0204D14A + ldrb r2, [r1, #0x4] + mov r0, #0x80 + orr r0, r2 + strb r0, [r1, #0x4] +_0204D14A: + mov r0, #0x16 + add r1, sp, #0x0 + bl FUN_020311D0 + ldr r0, _0204D160 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204D164 ; =0x000002BB + strb r2, [r1, r0] + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 +_0204D160: .word 0x021C5A68 +_0204D164: .word 0x000002BB + + thumb_func_start FUN_0204D168 +FUN_0204D168: ; 0x0204D168 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D194 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055320 + add r4, r0, #0x0 + ldr r0, _0204D194 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_0205532C + add r2, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204D118 + pop {r3-r5, pc} + nop +_0204D194: .word 0x021C5A68 + + thumb_func_start FUN_0204D198 +FUN_0204D198: ; 0x0204D198 + push {r3-r5, lr} + add r5, r0, #0x0 + bl FUN_02031190 + ldr r1, _0204D1C8 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x62 + ldrh r4, [r0, #0x0] + bl FUN_02031190 + ldr r1, _0204D1C8 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x64 + ldrh r2, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_0204D118 + pop {r3-r5, pc} + nop +_0204D1C8: .word 0x021C5A68 + + thumb_func_start FUN_0204D1CC +FUN_0204D1CC: ; 0x0204D1CC + push {r3-r5, lr} + sub sp, #0x8 + ldrh r2, [r1, #0x0] + mov r4, #0xf + lsl r4, r4, #0xc + ldrh r3, [r1, #0x2] + cmp r2, r4 + blo _0204D1DE + sub r2, r4, #0x1 +_0204D1DE: + mov r4, #0xf + lsl r4, r4, #0xc + cmp r3, r4 + blo _0204D1E8 + sub r3, r4, #0x1 +_0204D1E8: + mov r4, #0xf + and r0, r4 + add r4, sp, #0x0 + strb r0, [r4, #0x0] + strb r2, [r4, #0x1] + asr r2, r2, #0x8 + add r5, r2, #0x0 + mov r0, #0x1 + and r5, r0 + asr r2, r3, #0x7 + mov r0, #0x2 + and r0, r2 + add r0, r5, r0 + strb r0, [r4, #0x2] + strb r3, [r4, #0x3] + ldrb r0, [r1, #0x7] + cmp r0, #0x0 + beq _0204D214 + ldrb r2, [r4, #0x2] + mov r0, #0x80 + orr r0, r2 + strb r0, [r4, #0x2] +_0204D214: + mov r2, #0x4 + ldrsb r2, [r1, r2] + add r5, sp, #0x0 + ldrb r0, [r5, #0x0] + lsr r4, r2, #0x1f + lsl r3, r2, #0x1e + sub r3, r3, r4 + mov r2, #0x1e + ror r3, r2 + add r2, r4, r3 + lsl r2, r2, #0x4 + add r0, r0, r2 + strb r0, [r5, #0x0] + ldrb r0, [r1, #0x5] + ldrb r2, [r5, #0x0] + add r1, sp, #0x0 + lsl r0, r0, #0x6 + add r0, r2, r0 + strb r0, [r5, #0x0] + mov r0, #0x17 + mov r2, #0x0 + bl FUN_02030BC4 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0204D248 +FUN_0204D248: ; 0x0204D248 + push {r3-r5, lr} + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055370 + add r4, r0, #0x0 + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055378 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0204D292 + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0x0 + beq _0204D292 + ldr r0, _0204D2A8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D292 + mov r0, #0x1 + bl FUN_0204D168 + ldr r0, _0204D2A8 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + strb r2, [r1, r0] +_0204D292: + cmp r4, #0x1 + bne _0204D2A4 + cmp r5, #0x1 + bne _0204D2A4 + ldr r0, _0204D2A8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D2AC ; =0x000002BA + strb r2, [r1, r0] +_0204D2A4: + pop {r3-r5, pc} + nop +_0204D2A8: .word 0x021C5A68 +_0204D2AC: .word 0x000002BA + + thumb_func_start FUN_0204D2B0 +FUN_0204D2B0: ; 0x0204D2B0 + push {r3-r7, lr} + mov r4, #0x0 + ldr r7, _0204D2FC ; =0x021C5A68 + add r5, r4, #0x0 + add r6, r4, #0x0 +_0204D2BA: + ldr r0, [r7, #0x0] + add r2, r0, r4 + add r1, r2, #0x0 + add r1, #0x48 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D2E8 + ldr r3, _0204D300 ; =0x00000132 + add r1, r0, #0x0 + ldrb r3, [r2, r3] + add r1, #0x62 + cmp r3, #0x0 + bne _0204D2DC + ldr r3, _0204D304 ; =0x000002BB + ldrb r0, [r0, r3] + cmp r0, #0x0 + beq _0204D2E8 +_0204D2DC: + ldr r0, _0204D300 ; =0x00000132 + add r1, r1, r5 + strb r6, [r2, r0] + add r0, r4, #0x0 + bl FUN_0204D1CC +_0204D2E8: + add r4, r4, #0x1 + add r5, #0x8 + cmp r4, #0x8 + blt _0204D2BA + ldr r0, _0204D2FC ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204D304 ; =0x000002BB + strb r2, [r1, r0] + pop {r3-r7, pc} + .balign 4 +_0204D2FC: .word 0x021C5A68 +_0204D300: .word 0x00000132 +_0204D304: .word 0x000002BB + + thumb_func_start FUN_0204D308 +FUN_0204D308: ; 0x0204D308 + ldr r0, _0204D31C ; =0x021C5A68 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _0204D318 + mov r0, #0xae + mov r1, #0x0 + lsl r0, r0, #0x2 + strb r1, [r2, r0] +_0204D318: + bx lr + nop +_0204D31C: .word 0x021C5A68 + + thumb_func_start FUN_0204D320 +FUN_0204D320: ; 0x0204D320 + mov r0, #0xb1 + lsl r0, r0, #0x2 + bx lr + .balign 4 + + thumb_func_start FUN_0204D328 +FUN_0204D328: ; 0x0204D328 + push {r3-r7, lr} + sub sp, #0x10 + ldr r1, _0204D430 ; =0x021C5A68 + add r5, r0, #0x0 + ldr r2, [r1, #0x0] + lsl r6, r5, #0x2 + add r1, r2, r6 + ldr r1, [r1, #0x8] + cmp r1, #0x0 + bne _0204D42A + ldr r1, _0204D434 ; =0x000002BD + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204D42A + bl FUN_0202DFA4 + str r0, [sp, #0xc] + cmp r0, #0x0 + beq _0204D42A + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D438 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D37C + bl FUN_02031190 + cmp r5, r0 + beq _0204D37C + ldr r0, _0204D430 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + lsl r1, r1, #0x8 + ldr r0, [r0, #0x54] + add r1, r5, r1 + ldr r0, [r0, #0x34] + bl FUN_02058060 + cmp r0, #0x0 + beq _0204D37C + bl FUN_02057654 +_0204D37C: + ldr r0, _0204D430 ; =0x021C5A68 + lsl r4, r5, #0x3 + ldr r7, [r0, #0x0] + ldr r0, [sp, #0xc] + bl FUN_020239CC + mov r1, #0x0 + str r1, [sp, #0x0] + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r7, #0x54] + add r7, r7, r4 + add r1, r7, #0x0 + add r2, r7, #0x0 + add r1, #0xa2 + add r2, #0xa4 + mov r3, #0xa6 + ldrh r1, [r1, #0x0] + ldrh r2, [r2, #0x0] + ldrsb r3, [r7, r3] + ldr r0, [r0, #0x34] + bl FUN_02055068 + add r7, r0, #0x0 + bne _0204D3B2 + bl FUN_02020C2C +_0204D3B2: + ldr r0, _0204D430 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r6 + str r7, [r0, #0x8] + add r0, r7, #0x0 + bl FUN_020553A0 + mov r1, #0x1 + lsl r1, r1, #0x8 + add r1, r5, r1 + bl FUN_02058444 + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D438 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D3DC + add r0, r5, #0x0 + bl FUN_0223E4D4 +_0204D3DC: + ldr r0, _0204D430 ; =0x021C5A68 + ldr r1, _0204D438 ; =0x000002BE + ldr r3, [r0, #0x0] + ldrb r2, [r3, r1] + cmp r2, #0x0 + beq _0204D41E + add r0, r3, r5 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204D41E + sub r0, r1, #0x1 + ldrb r0, [r3, r0] + cmp r0, #0x0 + bne _0204D40E + add r1, r3, r4 + ldr r0, [r3, #0x54] + add r3, r3, r4 + add r1, #0xa2 + add r3, #0xa4 + ldrh r1, [r1, #0x0] + ldrh r3, [r3, #0x0] + mov r2, #0x0 + bl FUN_021E5B30 +_0204D40E: + ldr r0, _0204D430 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add sp, #0x10 + add r0, r0, r5 + add r0, #0x48 + strb r1, [r0, #0x0] + pop {r3-r7, pc} +_0204D41E: + cmp r2, #0x0 + bne _0204D42A + add r0, r3, r5 + mov r1, #0x1 + add r0, #0x48 + strb r1, [r0, #0x0] +_0204D42A: + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204D430: .word 0x021C5A68 +_0204D434: .word 0x000002BD +_0204D438: .word 0x000002BE + + thumb_func_start FUN_0204D43C +FUN_0204D43C: ; 0x0204D43C + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204D4CC ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + add r7, r2, #0x0 + cmp r0, #0x0 + beq _0204D4C8 + add r0, #0x5a + mov r1, #0x0 + mov r2, #0x8 + blx FUN_020CE34C + add r0, r5, #0x0 + bl FUN_0204CD78 + ldr r0, _0204D4CC ; =0x021C5A68 + lsl r4, r5, #0x2 + ldr r1, [r0, #0x0] + add r0, r1, r4 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204D492 + ldr r2, [r1, #0x54] + ldr r2, [r2, #0x38] + cmp r2, r0 + beq _0204D488 + ldr r2, _0204D4D0 ; =0x000002BE + ldrb r1, [r1, r2] + cmp r1, #0x0 + bne _0204D47E + cmp r7, #0x0 + beq _0204D484 +_0204D47E: + bl FUN_02055168 + b _0204D488 +_0204D484: + bl FUN_02055160 +_0204D488: + ldr r0, _0204D4CC ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + str r1, [r0, #0x8] +_0204D492: + ldr r0, _0204D4CC ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r1, #0x48 + ldrb r0, [r1, r5] + cmp r0, #0x0 + beq _0204D4A6 + cmp r6, #0x0 + bne _0204D4A6 + mov r0, #0x0 + strb r0, [r1, r5] +_0204D4A6: + ldr r0, _0204D4CC ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204D4D4 ; =0x00000132 + cmp r6, #0x0 + strb r2, [r1, r0] + bne _0204D4C8 + add r0, r5, #0x0 + bl FUN_0204ED9C + ldr r0, _0204D4CC ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0xfa + strb r1, [r0, #0x0] +_0204D4C8: + pop {r3-r7, pc} + nop +_0204D4CC: .word 0x021C5A68 +_0204D4D0: .word 0x000002BE +_0204D4D4: .word 0x00000132 + + thumb_func_start FUN_0204D4D8 +FUN_0204D4D8: ; 0x0204D4D8 + ldr r1, _0204D4E8 ; =0x021C48B8 + mov r0, #0x2 + ldr r1, [r1, #0x44] + tst r1, r0 + beq _0204D4E4 + mov r0, #0x1 +_0204D4E4: + ldr r3, _0204D4EC ; =FUN_02030F60 + bx r3 + .balign 4 +_0204D4E8: .word 0x021C48B8 +_0204D4EC: .word FUN_02030F60 + 1 + + thumb_func_start FUN_0204D4F0 +FUN_0204D4F0: ; 0x0204D4F0 + push {r4-r6, lr} + add r4, r1, #0x0 + bl FUN_02030F40 + cmp r0, #0x0 + beq _0204D530 + bl FUN_0204D4D8 + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D524 + add r0, r4, #0x0 + bl FUN_0204D2B0 + add r0, r4, #0x0 + bl FUN_0204D248 + ldr r0, _0204D560 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204D52A + bl FUN_02244D58 + b _0204D52A +_0204D524: + add r0, r4, #0x0 + bl FUN_0204D248 +_0204D52A: + add r0, r4, #0x0 + bl FUN_0204D568 +_0204D530: + ldr r4, _0204D560 ; =0x021C5A68 + ldr r6, _0204D564 ; =0x000002BE + mov r5, #0x0 +_0204D536: + ldr r0, [r4, #0x0] + ldrb r0, [r0, r6] + cmp r0, #0x0 + beq _0204D556 + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D556 + add r0, r5, #0x0 + bl FUN_0202DFA4 + cmp r0, #0x0 + bne _0204D556 + add r0, r5, #0x0 + bl FUN_02245358 +_0204D556: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204D536 + pop {r4-r6, pc} + nop +_0204D560: .word 0x021C5A68 +_0204D564: .word 0x000002BE + + thumb_func_start FUN_0204D568 +FUN_0204D568: ; 0x0204D568 + push {r3-r7, lr} + ldr r4, _0204D608 ; =0x021C5A68 + ldr r7, _0204D60C ; =0x000002BE + mov r5, #0x0 + add r6, sp, #0x0 +_0204D572: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0x0 + bne _0204D5A0 + bl FUN_02031280 + cmp r0, #0x0 + beq _0204D58A + cmp r5, #0x0 + beq _0204D5A0 +_0204D58A: + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D5A0 + ldr r0, [r4, #0x0] + ldrb r0, [r0, r7] + cmp r0, #0x0 + beq _0204D5A0 + add r0, r5, #0x0 + bl FUN_02247614 +_0204D5A0: + lsl r0, r5, #0x10 + lsr r0, r0, #0x10 + bl FUN_02030E7C + cmp r0, #0x0 + bne _0204D5B8 + bl FUN_02031280 + cmp r0, #0x0 + beq _0204D5C6 + cmp r5, #0x0 + bne _0204D5C6 +_0204D5B8: + add r0, r5, #0x0 + bl FUN_0204DE30 + add r0, r5, #0x0 + bl FUN_0204EFCC + b _0204D600 +_0204D5C6: + ldr r0, [r4, #0x0] + add r0, r0, r5 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D600 + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D5F0 + ldr r1, [r4, #0x0] + ldr r0, _0204D60C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D5F0 + add r0, r5, #0x0 + bl FUN_0223EB8C + add r0, r5, #0x0 + bl FUN_0223CB08 +_0204D5F0: + strb r5, [r6, #0x0] + ldr r3, [r4, #0x0] + mov r0, #0x0 + ldr r3, [r3, #0x54] + mov r1, #0x1 + add r2, sp, #0x0 + bl FUN_0204DBCC +_0204D600: + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204D572 + pop {r3-r7, pc} + .balign 4 +_0204D608: .word 0x021C5A68 +_0204D60C: .word 0x000002BE + + thumb_func_start FUN_0204D610 +FUN_0204D610: ; 0x0204D610 + ldr r0, _0204D624 ; =0x021C5A68 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204D620 + mov r0, #0xaf + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + bx lr +_0204D620: + mov r0, #0x0 + bx lr + .balign 4 +_0204D624: .word 0x021C5A68 + + thumb_func_start FUN_0204D628 +FUN_0204D628: ; 0x0204D628 + push {r3, lr} + ldr r1, _0204D650 ; =0x021C5A68 + ldr r3, [r1, #0x0] + cmp r3, #0x0 + beq _0204D64E + mov r1, #0xaf + lsl r1, r1, #0x2 + ldrb r2, [r3, r1] + cmp r2, r0 + beq _0204D63E + strb r0, [r3, r1] +_0204D63E: + ldr r1, _0204D650 ; =0x021C5A68 + mov r0, #0x3e + ldr r2, [r1, #0x0] + mov r1, #0xaf + lsl r1, r1, #0x2 + add r1, r2, r1 + bl FUN_020311D0 +_0204D64E: + pop {r3, pc} + .balign 4 +_0204D650: .word 0x021C5A68 + + thumb_func_start FUN_0204D654 +FUN_0204D654: ; 0x0204D654 + push {r4, lr} + ldr r2, _0204D678 ; =0x021C5A68 + ldr r4, [r2, #0x0] + cmp r4, #0x0 + beq _0204D674 + mov r1, #0xaf + lsl r1, r1, #0x2 + ldrb r3, [r4, r1] + cmp r3, r0 + beq _0204D674 + strb r0, [r4, r1] + ldr r2, [r2, #0x0] + mov r0, #0x3e + add r1, r2, r1 + bl FUN_020311D0 +_0204D674: + pop {r4, pc} + nop +_0204D678: .word 0x021C5A68 + + thumb_func_start FUN_0204D67C +FUN_0204D67C: ; 0x0204D67C + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D6BC ; =0x021C5A68 + add r4, r2, #0x0 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D6B8 + cmp r1, #0x1 + beq _0204D692 + bl FUN_02020C2C +_0204D692: + cmp r5, #0x8 + blt _0204D69A + bl FUN_02020C2C +_0204D69A: + ldrb r0, [r4, #0x0] + mov r1, #0x1 + cmp r0, #0x1 + beq _0204D6A8 + cmp r0, #0x0 + beq _0204D6A8 + mov r1, #0x0 +_0204D6A8: + cmp r1, #0x0 + bne _0204D6B0 + bl FUN_02020C2C +_0204D6B0: + ldrb r1, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_0204EAD8 +_0204D6B8: + pop {r3-r5, pc} + nop +_0204D6BC: .word 0x021C5A68 + + thumb_func_start FUN_0204D6C0 +FUN_0204D6C0: ; 0x0204D6C0 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204D734 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204D732 + ldr r0, _0204D738 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D6E4 + add r0, r4, #0x0 + bl FUN_0204D654 + ldr r0, _0204D734 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D73C ; =0x000002C1 + strb r4, [r1, r0] +_0204D6E4: + ldr r4, [r5, #0x38] + cmp r4, #0x0 + beq _0204D6F8 + bl FUN_02031190 + ldr r1, _0204D734 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r0, r1, r0 + str r4, [r0, #0x8] +_0204D6F8: + bl FUN_02030F40 + cmp r0, #0x0 + beq _0204D712 + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D712 + ldr r1, _0204D734 ; =0x021C5A68 + mov r0, #0x0 + ldr r1, [r1, #0x0] + bl FUN_0204D89C +_0204D712: + bl FUN_02030F40 + cmp r0, #0x0 + beq _0204D732 + bl FUN_02031190 + cmp r0, #0x0 + bne _0204D732 + ldr r0, _0204D734 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D738 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204D732 + bl FUN_0204EC28 +_0204D732: + pop {r3-r5, pc} + .balign 4 +_0204D734: .word 0x021C5A68 +_0204D738: .word 0x000002BE +_0204D73C: .word 0x000002C1 + + thumb_func_start FUN_0204D740 +FUN_0204D740: ; 0x0204D740 + mov r0, #0x20 + tst r0, r1 + beq _0204D74A + mov r0, #0x2 + bx lr +_0204D74A: + mov r0, #0x10 + tst r0, r1 + beq _0204D754 + mov r0, #0x3 + bx lr +_0204D754: + mov r0, #0x40 + tst r0, r1 + beq _0204D75E + mov r0, #0x0 + bx lr +_0204D75E: + mov r0, #0x80 + tst r1, r0 + beq _0204D768 + mov r0, #0x1 + bx lr +_0204D768: + sub r0, #0x81 + bx lr + + thumb_func_start FUN_0204D76C +FUN_0204D76C: ; 0x0204D76C + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204D7AC ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_02034B64 + add r4, r0, #0x0 + ldr r0, _0204D7AC ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_02034B6C + mov r2, #0x0 + cmp r4, #0x0 + ble _0204D7A6 +_0204D78E: + ldrh r1, [r0, #0x18] + cmp r5, r1 + bne _0204D79E + ldrh r1, [r0, #0x1a] + cmp r6, r1 + bne _0204D79E + mov r0, #0x1 + pop {r4-r6, pc} +_0204D79E: + add r2, r2, #0x1 + add r0, #0x20 + cmp r2, r4 + blt _0204D78E +_0204D7A6: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_0204D7AC: .word 0x021C5A68 + + thumb_func_start FUN_0204D7B0 +FUN_0204D7B0: ; 0x0204D7B0 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204D824 ; =0x0000FFFF + add r6, r1, #0x0 + add r7, r2, #0x0 + cmp r5, r0 + beq _0204D812 + cmp r6, r0 + beq _0204D812 + mov r4, #0x0 +_0204D7C4: + cmp r4, r7 + beq _0204D7E0 + add r0, r4, #0x0 + bl FUN_0204E544 + cmp r5, r0 + bne _0204D7E0 + add r0, r4, #0x0 + bl FUN_0204E598 + cmp r6, r0 + bne _0204D7E0 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D7E0: + add r4, r4, #0x1 + cmp r4, #0x8 + blt _0204D7C4 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_0204D76C + cmp r0, #0x0 + beq _0204D7F6 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D7F6: + ldr r0, _0204D828 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204D82C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D812 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02246F1C + cmp r0, #0x0 + bne _0204D812 + mov r0, #0x1 + pop {r3-r7, pc} +_0204D812: + ldr r0, _0204D828 ; =0x021C5A68 + add r1, r5, #0x0 + ldr r0, [r0, #0x0] + add r2, r6, #0x0 + ldr r0, [r0, #0x54] + bl FUN_0204A6B4 + pop {r3-r7, pc} + nop +_0204D824: .word 0x0000FFFF +_0204D828: .word 0x021C5A68 +_0204D82C: .word 0x000002BE + + thumb_func_start FUN_0204D830 +FUN_0204D830: ; 0x0204D830 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _0204D858 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0x0 + beq _0204D852 + bl FUN_02244D40 + bl FUN_02244DA0 + cmp r0, #0x0 + bne _0204D84E + mov r0, #0x1 + pop {r3, pc} +_0204D84E: + mov r0, #0x0 + pop {r3, pc} +_0204D852: + mov r0, #0x0 + pop {r3, pc} + nop +_0204D858: .word 0x021C5A68 + + thumb_func_start FUN_0204D85C +FUN_0204D85C: ; 0x0204D85C + cmp r0, #0x5 + bge _0204D864 + mov r0, #0x8 + bx lr +_0204D864: + cmp r0, #0xa + bge _0204D86C + mov r0, #0x4 + bx lr +_0204D86C: + mov r0, #0x2 + bx lr + + thumb_func_start FUN_0204D870 +FUN_0204D870: ; 0x0204D870 + push {r3-r4, lr} + sub sp, #0x14 + ldr r3, _0204D898 ; =0x020F5824 + add r4, r0, #0x0 + ldmia r3!, {r0-r1} + add r2, sp, #0x0 + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, [r3, #0x0] + cmp r4, #0x5 + str r0, [r2, #0x0] + blt _0204D88E + bl FUN_02020C2C +_0204D88E: + lsl r1, r4, #0x2 + add r0, sp, #0x0 + ldr r0, [r0, r1] + add sp, #0x14 + pop {r3-r4, pc} + .balign 4 +_0204D898: .word 0x020F5824 + + thumb_func_start FUN_0204D89C +FUN_0204D89C: ; 0x0204D89C + push {r3-r7, lr} + sub sp, #0x18 + mov r5, #0x0 + add r0, r5, #0x0 + ldr r6, _0204DAF4 ; =0x021C5A68 + str r5, [sp, #0x4] + str r0, [sp, #0x0] +_0204D8AA: + ldr r0, [r6, #0x0] + add r1, r0, r5 + add r1, #0x48 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r1, r0, r5 + add r1, #0xe2 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r1, r0, r5 + add r1, #0xea + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204D976 + add r2, r0, #0x0 + ldr r1, [sp, #0x0] + add r2, #0x62 + ldr r0, [r0, #0x4] + add r4, r2, r1 + cmp r0, #0x0 + beq _0204D8E0 + add r1, r5, #0x0 + bl FUN_02244D40 + str r0, [sp, #0x4] +_0204D8E0: + ldr r1, [r6, #0x0] + ldr r0, _0204DAF8 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D8F4 + add r0, r5, #0x0 + bl FUN_02245F4C + cmp r0, #0x0 + bne _0204D976 +_0204D8F4: + ldr r0, [r6, #0x0] + ldr r1, _0204DAFC ; =0x0000013A + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _0204D90A + ldr r1, _0204DAFC ; =0x0000013A + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DAFC ; =0x0000013A + strb r2, [r0, r1] +_0204D90A: + ldr r0, [r6, #0x0] + ldr r1, _0204DAFC ; =0x0000013A + add r2, r0, r5 + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204D93C + ldr r1, _0204DAF8 ; =0x000002BE + ldrb r0, [r0, r1] + cmp r0, #0x0 + beq _0204D93C + add r0, r5, #0x0 + bl FUN_0223F8D8 + cmp r0, #0x0 + bne _0204D976 + add r0, r5, #0x0 + bl FUN_0204D830 + cmp r0, #0x0 + bne _0204D93C + add r0, r5, #0x0 + bl FUN_02247544 + cmp r0, #0x0 + bne _0204D976 +_0204D93C: + ldr r0, [sp, #0x4] + cmp r0, #0x0 + beq _0204D94A + bl FUN_02244DB0 + cmp r0, #0x0 + beq _0204D976 +_0204D94A: + ldr r0, [r6, #0x0] + add r0, r0, r5 + add r0, #0xf2 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204D95A + mov r7, #0x0 + b _0204D962 +_0204D95A: + add r0, r5, #0x0 + bl FUN_02030F88 + add r7, r0, #0x0 +_0204D962: + add r0, r5, #0x0 + bl FUN_02030F74 + strb r0, [r4, #0x5] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204D978 +_0204D976: + b _0204DAE2 +_0204D978: + ldr r0, _0204DB00 ; =0x0000010A + ldr r2, _0204DB04 ; =0x0000012A + ldrb r0, [r1, r0] + ldrb r1, [r1, r2] + bl FUN_0204D85C + str r0, [sp, #0x10] + ldr r1, [sp, #0x10] + add r0, r5, #0x0 + bl FUN_0204E084 + cmp r0, #0x0 + beq _0204D9A8 + ldr r0, [r6, #0x0] + ldr r1, [sp, #0x10] + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + b _0204DAE2 +_0204D9A8: + ldrb r0, [r4, #0x7] + cmp r0, #0x1 + bne _0204D9B8 + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] +_0204D9B8: + mov r0, #0x0 + strb r0, [r4, #0x7] + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x2 + bne _0204D9DE + add r1, sp, #0x14 + strb r5, [r1, #0x1] + ldr r1, _0204DB0C ; =0x00000122 + mov r2, #0x1 + strb r2, [r0, r1] + add r1, sp, #0x14 + mov r0, #0x28 + add r1, #0x1 + bl FUN_02030C4C + b _0204DAE2 +_0204D9DE: + add r0, r7, #0x0 + add r1, r7, #0x0 + bl FUN_0204D740 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204E62C + str r0, [sp, #0xc] + add r0, r5, #0x0 + bl FUN_0204E664 + str r0, [sp, #0x8] + ldr r1, [sp, #0xc] + ldr r0, _0204DB10 ; =0x0000FFFF + cmp r1, r0 + beq _0204DAE2 + ldr r1, [sp, #0x8] + cmp r1, r0 + beq _0204DAE2 + mov r0, #0x0 + mvn r0, r0 + cmp r7, r0 + beq _0204DAE2 + mov r0, #0x4 + ldrsb r0, [r4, r0] + cmp r0, r7 + beq _0204DA44 + strb r7, [r4, #0x4] + ldr r0, [r6, #0x0] + mov r1, #0x4 + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x2 + bls _0204DAE2 + ldr r1, _0204DB0C ; =0x00000122 + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DB0C ; =0x00000122 + strb r2, [r0, r1] + b _0204DAE2 +_0204DA44: + ldr r0, [r6, #0x0] + ldr r1, _0204DB0C ; =0x00000122 + add r2, r0, r5 + ldrb r1, [r2, r1] + cmp r1, #0x0 + bne _0204DAE2 + ldr r1, _0204DAF8 ; =0x000002BE + ldrb r0, [r0, r1] + cmp r0, #0x0 + beq _0204DA66 + ldr r1, [sp, #0xc] + ldr r2, [sp, #0x8] + add r0, r5, #0x0 + bl FUN_0224566C + cmp r0, #0x1 + beq _0204DAE2 +_0204DA66: + ldr r0, [sp, #0xc] + ldr r1, [sp, #0x8] + add r2, r5, #0x0 + bl FUN_0204D7B0 + cmp r0, #0x0 + beq _0204DA8E + mov r0, #0x1 + strb r0, [r4, #0x7] + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [r6, #0x0] + mov r1, #0x4 + add r2, r0, r5 + ldr r0, _0204DAFC ; =0x0000013A + strb r1, [r2, r0] + b _0204DAE2 +_0204DA8E: + ldr r0, [r6, #0x0] + mov r1, #0x1 + add r2, r0, r5 + ldr r0, _0204DB08 ; =0x00000132 + strb r1, [r2, r0] + ldr r0, [sp, #0xc] + strh r0, [r4, #0x0] + ldr r0, [sp, #0x8] + strh r0, [r4, #0x2] + strb r7, [r4, #0x4] + ldrb r0, [r4, #0x5] + bl FUN_0204D870 + ldr r1, [r6, #0x0] + add r2, r1, r5 + ldr r1, _0204DAFC ; =0x0000013A + strb r0, [r2, r1] + ldr r0, [r6, #0x0] + sub r1, #0x20 + add r0, r0, r5 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _0204DAE2 + ldr r1, _0204DB14 ; =0x0000011A + ldrb r1, [r0, r1] + sub r2, r1, #0x1 + ldr r1, _0204DB14 ; =0x0000011A + strb r2, [r0, r1] + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldr r0, _0204DB14 ; =0x0000011A + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204DAE2 + mov r1, #0x1 + add r0, sp, #0x14 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r2, sp, #0x14 + mov r3, #0x0 + bl FUN_0224089C +_0204DAE2: + ldr r0, [sp, #0x0] + add r5, r5, #0x1 + add r0, #0x8 + str r0, [sp, #0x0] + cmp r5, #0x8 + bge _0204DAF0 + b _0204D8AA +_0204DAF0: + add sp, #0x18 + pop {r3-r7, pc} + .balign 4 +_0204DAF4: .word 0x021C5A68 +_0204DAF8: .word 0x000002BE +_0204DAFC: .word 0x0000013A +_0204DB00: .word 0x0000010A +_0204DB04: .word 0x0000012A +_0204DB08: .word 0x00000132 +_0204DB0C: .word 0x00000122 +_0204DB10: .word 0x0000FFFF +_0204DB14: .word 0x0000011A + + thumb_func_start FUN_0204DB18 +FUN_0204DB18: ; 0x0204DB18 + push {r3-r7, lr} + ldr r5, _0204DBC0 ; =0x021C5A68 + add r7, r0, #0x0 + ldr r0, [r5, #0x0] + add r3, r2, #0x0 + cmp r0, #0x0 + beq _0204DBBC + add r2, r0, #0x0 + ldrb r4, [r3, #0x4] + add r2, #0x62 + lsl r1, r7, #0x3 + add r2, r2, r1 + mov r1, #0x80 + tst r1, r4 + beq _0204DB3E + ldr r1, _0204DBC4 ; =0x000002BB + mov r2, #0x1 + strb r2, [r0, r1] + pop {r3-r7, pc} +_0204DB3E: + mov r0, #0x4 + ldrsb r1, [r2, r0] + sub r0, r0, #0x5 + cmp r1, r0 + bne _0204DB5A + ldr r4, _0204DBC8 ; =0x00000132 + mov r1, #0x0 + mov r0, #0x1 +_0204DB4E: + ldr r6, [r5, #0x0] + add r6, r6, r1 + add r1, r1, #0x1 + strb r0, [r6, r4] + cmp r1, #0x8 + blt _0204DB4E +_0204DB5A: + mov r0, #0x0 + strh r0, [r2, #0x0] + strh r0, [r2, #0x2] + ldrh r1, [r2, #0x0] + ldrb r0, [r3, #0x0] + add r0, r1, r0 + strh r0, [r2, #0x0] + ldrb r1, [r3, #0x1] + ldrh r0, [r2, #0x0] + lsl r4, r1, #0x8 + mov r1, #0xff + lsl r1, r1, #0x8 + and r4, r1 + add r0, r0, r4 + strh r0, [r2, #0x0] + ldrh r4, [r2, #0x2] + ldrb r0, [r3, #0x2] + add r0, r4, r0 + strh r0, [r2, #0x2] + ldrb r4, [r3, #0x3] + ldrh r0, [r2, #0x2] + lsl r4, r4, #0x8 + and r1, r4 + add r0, r0, r1 + strh r0, [r2, #0x2] + ldrb r1, [r3, #0x4] + mov r0, #0xf + ldr r3, _0204DBC0 ; =0x021C5A68 + and r0, r1 + strb r0, [r2, #0x4] + ldr r1, [r3, #0x0] + mov r0, #0x1 + add r1, r1, r7 + add r1, #0x48 + strb r0, [r1, #0x0] + ldr r1, [r3, #0x0] + add r4, r1, r7 + ldr r1, _0204DBC8 ; =0x00000132 + strb r0, [r4, r1] + ldr r0, [r3, #0x0] + ldrh r1, [r2, #0x0] + ldrh r2, [r2, #0x2] + ldr r0, [r0, #0x54] + bl FUN_0204A6B4 + cmp r0, #0x0 + beq _0204DBBC + bl FUN_02020C2C +_0204DBBC: + pop {r3-r7, pc} + nop +_0204DBC0: .word 0x021C5A68 +_0204DBC4: .word 0x000002BB +_0204DBC8: .word 0x00000132 + + thumb_func_start FUN_0204DBCC +FUN_0204DBCC: ; 0x0204DBCC + push {r3-r5, lr} + ldr r0, _0204DC28 ; =0x021C5A68 + ldrb r4, [r2, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204DC24 + bl FUN_02031190 + cmp r4, r0 + beq _0204DC24 + ldr r0, _0204DC28 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204DC2C ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DC14 + add r0, r4, #0x0 + bl FUN_0223E554 + ldr r0, _0204DC28 ; =0x021C5A68 + ldr r3, [r0, #0x0] + ldr r0, _0204DC30 ; =0x000002BD + ldrb r0, [r3, r0] + cmp r0, #0x0 + bne _0204DC14 + lsl r5, r4, #0x3 + add r1, r3, r5 + ldr r0, [r3, #0x54] + add r3, r3, r5 + add r1, #0xa2 + add r3, #0xa4 + ldrh r1, [r1, #0x0] + ldrh r3, [r3, #0x0] + mov r2, #0x0 + bl FUN_021E5B30 +_0204DC14: + mov r1, #0x0 + add r0, r4, #0x0 + add r2, r1, #0x0 + bl FUN_0204D43C + add r0, r4, #0x0 + bl FUN_0202DE78 +_0204DC24: + pop {r3-r5, pc} + nop +_0204DC28: .word 0x021C5A68 +_0204DC2C: .word 0x000002BE +_0204DC30: .word 0x000002BD + + thumb_func_start FUN_0204DC34 +FUN_0204DC34: ; 0x0204DC34 + mov r0, #0x5 + bx lr + + thumb_func_start FUN_0204DC38 +FUN_0204DC38: ; 0x0204DC38 + push {r3-r5, lr} + ldrb r1, [r2, #0x0] + mov r0, #0xf + add r3, r1, #0x0 + and r3, r0 + ldr r0, _0204DCB0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204DCAC + ldrb r4, [r2, #0x2] + add r1, #0xa2 + lsl r0, r3, #0x3 + add r1, r1, r0 + mov r0, #0x80 + tst r0, r4 + beq _0204DC5C + mov r0, #0x1 + b _0204DC5E +_0204DC5C: + mov r0, #0x0 +_0204DC5E: + strb r0, [r1, #0x7] + mov r0, #0x0 + strh r0, [r1, #0x0] + strh r0, [r1, #0x2] + ldrh r4, [r1, #0x0] + ldrb r0, [r2, #0x1] + add r0, r4, r0 + strh r0, [r1, #0x0] + ldrb r4, [r2, #0x2] + ldrh r0, [r1, #0x0] + lsl r5, r4, #0x8 + mov r4, #0x1 + lsl r4, r4, #0x8 + and r5, r4 + add r0, r0, r5 + strh r0, [r1, #0x0] + ldrh r5, [r1, #0x2] + ldrb r0, [r2, #0x3] + add r0, r5, r0 + strh r0, [r1, #0x2] + ldrb r5, [r2, #0x2] + ldrh r0, [r1, #0x2] + lsl r5, r5, #0x7 + and r4, r5 + add r0, r0, r4 + strh r0, [r1, #0x2] + ldrb r0, [r2, #0x0] + asr r4, r0, #0x4 + mov r0, #0x3 + and r4, r0 + strb r4, [r1, #0x4] + ldrb r2, [r2, #0x0] + asr r2, r2, #0x6 + and r0, r2 + strb r0, [r1, #0x5] + lsl r0, r3, #0x18 + lsr r0, r0, #0x18 + bl FUN_0204D328 +_0204DCAC: + pop {r3-r5, pc} + nop +_0204DCB0: .word 0x021C5A68 + + thumb_func_start FUN_0204DCB4 +FUN_0204DCB4: ; 0x0204DCB4 + push {r3-r5, lr} + add r5, r0, #0x0 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_020377AC + bl FUN_02026CC4 + add r4, r0, #0x0 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_020377AC + bl FUN_02026CB4 + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204DD14 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DD0C + bl FUN_02031190 + cmp r5, r0 + bne _0204DD0C + add r0, r4, #0x0 + bl FUN_020266B0 + add r0, r4, #0x0 + bl FUN_020266C8 + cmp r0, #0x32 + bne _0204DD0C + ldr r0, _0204DD10 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + mov r1, #0x25 + bl FUN_0202A170 +_0204DD0C: + pop {r3-r5, pc} + nop +_0204DD10: .word 0x021C5A68 +_0204DD14: .word 0x000002BE + + thumb_func_start FUN_0204DD18 +FUN_0204DD18: ; 0x0204DD18 + push {r3-r7, lr} + sub sp, #0x10 + ldr r4, _0204DE24 ; =0x020F5808 + add r6, r3, #0x0 + add r5, r0, #0x0 + add r3, sp, #0x4 + mov r2, #0xc +_0204DD26: + ldrb r0, [r4, #0x0] + add r4, r4, #0x1 + strb r0, [r3, #0x0] + add r3, r3, #0x1 + sub r2, r2, #0x1 + bne _0204DD26 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r2, _0204DE2C ; =0x00000102 + ldr r0, [r0, #0x0] + add r3, r0, r5 + ldrsb r3, [r3, r2] + mov r2, #0x0 + mvn r2, r2 + cmp r3, r2 + beq _0204DD4E + lsl r7, r5, #0x2 + add r0, r0, r7 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + bne _0204DD54 +_0204DD4E: + add sp, #0x10 + mov r0, #0x0 + pop {r3-r7, pc} +_0204DD54: + cmp r1, #0x0 + bne _0204DD5E + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204DD5E: + bl FUN_020553A0 + add r4, r0, #0x0 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r7, #0x0 + add r0, r1, r0 + ldr r0, [r0, #0x8] + bl FUN_020552F8 + str r0, [sp, #0x0] + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204DE2C ; =0x00000102 + ldrsb r0, [r1, r0] + bl FUN_0204F610 + ldr r1, [sp, #0x0] + cmp r1, r0 + beq _0204DDB4 + add r0, r4, #0x0 + mov r1, #0x80 + bl FUN_02058418 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204DE2C ; =0x00000102 + ldrsb r0, [r1, r0] + bl FUN_0204F610 + add r1, r0, #0x0 + ldr r0, _0204DE28 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r7 + ldr r0, [r0, #0x8] + bl FUN_02055304 + add r0, r4, #0x0 + mov r1, #0x80 + bl FUN_02058410 +_0204DDB4: + add r0, r4, #0x0 + bl FUN_0205AE28 + add r0, r4, #0x0 + bl FUN_0205AD98 + cmp r0, #0x1 + bne _0204DE1C + add r0, r5, #0x0 + bl FUN_0204DCB4 + cmp r6, #0x0 + beq _0204DDD8 + cmp r6, #0x1 + beq _0204DDEE + cmp r6, #0x2 + beq _0204DE06 + b _0204DE1C +_0204DDD8: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r2, [r2, r1] + add r1, sp, #0x4 + ldrb r1, [r1, r2] + bl FUN_0205ADDC + b _0204DE1C +_0204DDEE: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r1, [r2, r1] + add r2, r1, #0x4 + add r1, sp, #0x4 + ldrb r1, [r1, r2] + bl FUN_0205ADDC + b _0204DE1C +_0204DE06: + ldr r1, _0204DE28 ; =0x021C5A68 + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204DE2C ; =0x00000102 + ldrsb r2, [r2, r1] + add r1, sp, #0x4 + add r2, #0x8 + ldrb r1, [r1, r2] + bl FUN_0205ADDC +_0204DE1C: + mov r0, #0x1 + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204DE24: .word 0x020F5808 +_0204DE28: .word 0x021C5A68 +_0204DE2C: .word 0x00000102 + + thumb_func_start FUN_0204DE30 +FUN_0204DE30: ; 0x0204DE30 + push {r4-r7, lr} + sub sp, #0x1c + add r4, r0, #0x0 + ldr r0, _0204E06C ; =0x021C5A68 + lsl r1, r4, #0x3 + ldr r0, [r0, #0x0] + add r2, r0, #0x0 + add r2, #0xa2 + add r5, r2, r1 + ldr r1, _0204E070 ; =0x00000142 + add r2, r0, r1 + ldrb r1, [r2, r4] + cmp r1, #0x0 + beq _0204DE54 + sub r0, r1, #0x1 + add sp, #0x1c + strb r0, [r2, r4] + pop {r4-r7, pc} +_0204DE54: + ldrh r2, [r5, #0x0] + ldr r1, _0204E074 ; =0x0000FFFF + cmp r2, r1 + beq _0204DF08 + ldrh r2, [r5, #0x2] + cmp r2, r1 + beq _0204DF08 + ldr r1, _0204E078 ; =0x000002BD + ldrb r2, [r0, r1] + cmp r2, #0x0 + bne _0204DF08 + add r1, r1, #0x1 + ldrb r0, [r0, r1] + cmp r0, #0x0 + bne _0204DE86 + bl FUN_02031190 + cmp r4, r0 + bne _0204DE86 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E07C ; =0x000002C1 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DF08 +_0204DE86: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + str r0, [sp, #0x18] + cmp r0, #0x0 + bne _0204DE98 + b _0204E068 +_0204DE98: + bl FUN_02055320 + ldrh r1, [r5, #0x0] + sub r0, r0, r1 + str r0, [sp, #0x10] + ldr r0, [sp, #0x18] + bl FUN_0205532C + ldrh r1, [r5, #0x2] + sub r7, r0, r1 + ldr r0, [sp, #0x18] + bl FUN_020552F8 + str r0, [sp, #0xc] + ldr r0, [sp, #0x10] + cmp r0, #0x0 + bne _0204DEC2 + cmp r7, #0x0 + bne _0204DEC2 + mov r6, #0x0 + b _0204DEEC +_0204DEC2: + ldr r0, [sp, #0x10] + blx FUN_020DE3F0 + add r6, r0, #0x0 + add r0, r7, #0x0 + blx FUN_020DE3F0 + cmp r6, r0 + ble _0204DEE2 + ldr r0, [sp, #0x10] + cmp r0, #0x0 + ble _0204DEDE + mov r6, #0x20 + b _0204DEEC +_0204DEDE: + mov r6, #0x10 + b _0204DEEC +_0204DEE2: + cmp r7, #0x0 + ble _0204DEEA + mov r6, #0x40 + b _0204DEEC +_0204DEEA: + mov r6, #0x80 +_0204DEEC: + add r0, r7, #0x0 + blx FUN_020DE3F0 + ldr r0, [sp, #0x10] + blx FUN_020DE3F0 + ldrb r3, [r5, #0x5] + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r6, #0x0 + bl FUN_0204DD18 + cmp r0, #0x0 + beq _0204DF0A +_0204DF08: + b _0204E068 +_0204DF0A: + ldrb r0, [r5, #0x5] + mov r7, #0xff + str r0, [sp, #0x14] + cmp r0, #0x3 + bhi _0204DF46 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204DF20: ; jump table (using 16-bit offset) + .short _0204DF28 - _0204DF20 - 2; case 0 + .short _0204DF2E - _0204DF20 - 2; case 1 + .short _0204DF3C - _0204DF20 - 2; case 2 + .short _0204DF42 - _0204DF20 - 2; case 3 +_0204DF28: + mov r0, #0x5 + str r0, [sp, #0x8] + b _0204DF46 +_0204DF2E: + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x2 + orr r0, r6 + lsl r0, r0, #0x10 + lsr r6, r0, #0x10 + b _0204DF46 +_0204DF3C: + mov r0, #0x2 + str r0, [sp, #0x8] + b _0204DF46 +_0204DF42: + mov r0, #0x1 + str r0, [sp, #0x8] +_0204DF46: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DF6C + bl FUN_02031190 + cmp r4, r0 + bne _0204DF6C + ldr r0, _0204E06C ; =0x021C5A68 + ldr r2, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + ldrb r1, [r2, r0] + sub r1, r1, #0x1 + strb r1, [r2, r0] + b _0204E00C +_0204DF6C: + bl FUN_02030FE0 + cmp r0, #0x0 + bne _0204DFA0 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E080 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204DFA0 + bl FUN_02031190 + cmp r4, r0 + bne _0204DFA0 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + add r2, r6, #0x0 + bl FUN_02057194 + add r7, r0, #0x0 + b _0204E00C +_0204DFA0: + mov r0, #0x2 + add r1, r6, #0x0 + bic r1, r0 + bne _0204DFDE + ldrb r0, [r5, #0x7] + cmp r0, #0x0 + beq _0204DFDE + mov r0, #0x3 + str r0, [sp, #0x14] + mov r0, #0x4 + ldrsb r0, [r5, r0] + cmp r0, #0x3 + bhi _0204DFD2 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0204DFC6: ; jump table (using 16-bit offset) + .short _0204DFCE - _0204DFC6 - 2; case 0 + .short _0204DFD2 - _0204DFC6 - 2; case 1 + .short _0204DFD6 - _0204DFC6 - 2; case 2 + .short _0204DFDA - _0204DFC6 - 2; case 3 +_0204DFCE: + mov r7, #0x1c + b _0204E00C +_0204DFD2: + mov r7, #0x1d + b _0204E00C +_0204DFD6: + mov r7, #0x1e + b _0204E00C +_0204DFDA: + mov r7, #0x1f + b _0204E00C +_0204DFDE: + cmp r1, #0x0 + bne _0204DFF6 + mov r0, #0x4 + ldrsb r0, [r5, r0] + ldr r1, [sp, #0xc] + cmp r0, r1 + beq _0204DFF6 + mov r1, #0x24 + bl FUN_0205AFDC + add r7, r0, #0x0 + b _0204E00C +_0204DFF6: + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, [sp, #0x18] + ldr r3, [sp, #0x8] + add r1, r6, #0x0 + add r2, r6, #0x0 + bl FUN_02057194 + add r7, r0, #0x0 +_0204E00C: + ldr r0, [sp, #0x18] + bl FUN_02057254 + cmp r0, #0x0 + bne _0204E020 + ldr r0, [sp, #0x18] + bl FUN_020570C4 + cmp r0, #0x0 + beq _0204E068 +_0204E020: + cmp r7, #0xff + beq _0204E068 + ldr r0, [sp, #0x18] + add r1, r7, #0x0 + bl FUN_02057260 + mov r0, #0x2 + bic r6, r0 + beq _0204E068 + ldr r0, _0204E06C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r4 + ldr r0, _0204E070 ; =0x00000142 + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E050 + ldr r0, [sp, #0x14] + bl FUN_0204D870 + ldr r1, _0204E06C ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r2, r1, r4 + ldr r1, _0204E070 ; =0x00000142 + strb r0, [r2, r1] +_0204E050: + ldr r0, _0204E06C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E070 ; =0x00000142 + add r1, r1, r0 + ldrb r0, [r1, r4] + cmp r0, #0x0 + beq _0204E062 + sub r0, r0, #0x1 + strb r0, [r1, r4] +_0204E062: + add r0, r4, #0x0 + bl FUN_0204DCB4 +_0204E068: + add sp, #0x1c + pop {r4-r7, pc} + .balign 4 +_0204E06C: .word 0x021C5A68 +_0204E070: .word 0x00000142 +_0204E074: .word 0x0000FFFF +_0204E078: .word 0x000002BD +_0204E07C: .word 0x000002C1 +_0204E080: .word 0x000002BE + + thumb_func_start FUN_0204E084 +FUN_0204E084: ; 0x0204E084 + push {r3-r7, lr} + sub sp, #0x8 + add r4, r1, #0x0 + ldr r1, _0204E16C ; =0x021C5A68 + add r5, r0, #0x0 + ldr r2, [r1, #0x0] + ldr r1, _0204E170 ; =0x0000010A + add r2, r2, r1 + ldrb r1, [r2, r5] + cmp r1, #0x0 + bne _0204E0A0 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0204E0A0: + cmp r1, #0xff + bne _0204E0AA + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E0AA: + sub r1, r1, #0x1 + strb r1, [r2, r5] + cmp r4, #0x1 + bne _0204E0B8 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E0B8: + bl FUN_0204E544 + add r6, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204E598 + str r0, [sp, #0x0] + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E174 ; =0x00000112 + ldrb r0, [r1, r0] + bl FUN_02059BF4 + add r7, r6, r0 + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E174 ; =0x00000112 + ldrb r0, [r1, r0] + bl FUN_02059C00 + ldr r1, [sp, #0x0] + add r6, r1, r0 + ldr r0, _0204E16C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E170 ; =0x0000010A + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204E110 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl FUN_0204D7B0 + cmp r0, #0x0 + beq _0204E110 + ldr r1, _0204E16C ; =0x021C5A68 + mov r0, #0x1 + ldr r1, [r1, #0x0] + add r2, r1, r5 + ldr r1, _0204E170 ; =0x0000010A + strb r0, [r2, r1] +_0204E110: + ldr r0, _0204E16C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E170 ; =0x0000010A + add r2, r1, r5 + ldrb r0, [r2, r0] + cmp r0, #0x1 + bne _0204E124 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E124: + cmp r0, #0x0 + bne _0204E13E + mov r1, #0x1 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r2, sp, #0x4 + mov r3, #0x0 + bl FUN_0224089C + add sp, #0x8 + mov r0, #0x1 + pop {r3-r7, pc} +_0204E13E: + add r1, #0x62 + lsl r2, r5, #0x3 + add r0, r1, r2 + strh r7, [r1, r2] + strh r6, [r0, #0x2] + cmp r4, #0x2 + beq _0204E156 + cmp r4, #0x4 + beq _0204E15C + cmp r4, #0x8 + beq _0204E162 + b _0204E166 +_0204E156: + mov r1, #0x0 + strb r1, [r0, #0x5] + b _0204E166 +_0204E15C: + mov r1, #0x1 + strb r1, [r0, #0x5] + b _0204E166 +_0204E162: + mov r1, #0x2 + strb r1, [r0, #0x5] +_0204E166: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204E16C: .word 0x021C5A68 +_0204E170: .word 0x0000010A +_0204E174: .word 0x00000112 + + thumb_func_start FUN_0204E178 +FUN_0204E178: ; 0x0204E178 + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204E1DC ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x3 + add r1, #0x62 + add r6, r1, r0 + add r0, r4, #0x0 + add r7, r2, #0x0 + bl FUN_0204F610 + ldr r1, _0204E1DC ; =0x021C5A68 + strb r0, [r6, #0x4] + ldr r0, [r1, #0x0] + add r2, r0, r5 + ldr r0, _0204E1E0 ; =0x00000112 + cmp r7, #0x0 + strb r4, [r2, r0] + beq _0204E1B6 + ldr r2, [r1, #0x0] + mov r3, #0x1 + add r2, r2, r5 + add r0, #0x18 + strb r3, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x2d + add r1, r0, r5 + add r0, r2, #0x0 + add r0, #0xdd + b _0204E1CA +_0204E1B6: + ldr r2, [r1, #0x0] + mov r3, #0x0 + add r2, r2, r5 + add r0, #0x18 + strb r3, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x1b + add r1, r0, r5 + add r0, r2, #0x0 + add r0, #0xef +_0204E1CA: + strb r2, [r1, r0] + ldr r0, _0204E1DC ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E1E4 ; =0x00000132 + strb r2, [r1, r0] + pop {r3-r7, pc} + nop +_0204E1DC: .word 0x021C5A68 +_0204E1E0: .word 0x00000112 +_0204E1E4: .word 0x00000132 + + thumb_func_start FUN_0204E1E8 +FUN_0204E1E8: ; 0x0204E1E8 + ldr r1, _0204E1F8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204E1FC ; =0x0000010A + strb r2, [r1, r0] + bx lr + nop +_0204E1F8: .word 0x021C5A68 +_0204E1FC: .word 0x0000010A + + thumb_func_start FUN_0204E200 +FUN_0204E200: ; 0x0204E200 + ldr r1, _0204E210 ; =0x021C5A68 + mov r2, #0xff + ldr r1, [r1, #0x0] + add r1, r1, r0 + add r0, r2, #0x0 + add r0, #0xb + strb r2, [r1, r0] + bx lr + .balign 4 +_0204E210: .word 0x021C5A68 + + thumb_func_start FUN_0204E214 +FUN_0204E214: ; 0x0204E214 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, _0204E24C ; =0x021C5A68 + add r4, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E248 + bl FUN_020553A0 + mov r1, #0x80 + add r6, r0, #0x0 + bl FUN_02058410 + mov r1, #0x1 + add r0, r6, #0x0 + lsl r1, r1, #0x8 + bl FUN_02058410 + ldr r0, _0204E24C ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r5 + ldr r0, _0204E250 ; =0x00000102 + strb r4, [r1, r0] +_0204E248: + pop {r4-r6, pc} + nop +_0204E24C: .word 0x021C5A68 +_0204E250: .word 0x00000102 + + thumb_func_start FUN_0204E254 +FUN_0204E254: ; 0x0204E254 + push {r3-r5, lr} + add r4, r0, #0x0 + ldr r0, _0204E2A0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E29E + add r2, r1, r4 + ldr r1, _0204E2A4 ; =0x00000102 + ldrsb r2, [r2, r1] + mov r1, #0x0 + mvn r1, r1 + cmp r2, r1 + beq _0204E29E + bl FUN_020553A0 + add r5, r0, #0x0 + bl FUN_0205AE50 + add r0, r5, #0x0 + mov r1, #0x80 + bl FUN_02058418 + mov r1, #0x1 + add r0, r5, #0x0 + lsl r1, r1, #0x8 + bl FUN_02058418 + ldr r0, _0204E2A0 ; =0x021C5A68 + mov r2, #0x0 + ldr r0, [r0, #0x0] + mvn r2, r2 + add r1, r0, r4 + ldr r0, _0204E2A4 ; =0x00000102 + strb r2, [r1, r0] +_0204E29E: + pop {r3-r5, pc} + .balign 4 +_0204E2A0: .word 0x021C5A68 +_0204E2A4: .word 0x00000102 + + thumb_func_start FUN_0204E2A8 +FUN_0204E2A8: ; 0x0204E2A8 + mov r0, #0x4 + bx lr + + thumb_func_start FUN_0204E2AC +FUN_0204E2AC: ; 0x0204E2AC + ldr r3, _0204E2B0 ; =FUN_0204F7FC + bx r3 + .balign 4 +_0204E2B0: .word FUN_0204F7FC + 1 + + thumb_func_start FUN_0204E2B4 +FUN_0204E2B4: ; 0x0204E2B4 + ldr r3, _0204E2B8 ; =FUN_0204F7FC + bx r3 + .balign 4 +_0204E2B8: .word FUN_0204F7FC + 1 + + thumb_func_start FUN_0204E2BC +FUN_0204E2BC: ; 0x0204E2BC + ldr r3, _0204E2C4 ; =FUN_0204F774 + mov r0, #0x2 + bx r3 + nop +_0204E2C4: .word FUN_0204F774 + 1 + + thumb_func_start FUN_0204E2C8 +FUN_0204E2C8: ; 0x0204E2C8 + ldr r3, _0204E2D0 ; =FUN_0204F774 + mov r0, #0x20 + bx r3 + nop +_0204E2D0: .word FUN_0204F774 + 1 + + thumb_func_start FUN_0204E2D4 +FUN_0204E2D4: ; 0x0204E2D4 + ldr r3, _0204E2DC ; =FUN_0204F774 + mov r0, #0x1 + bx r3 + nop +_0204E2DC: .word FUN_0204F774 + 1 + + thumb_func_start FUN_0204E2E0 +FUN_0204E2E0: ; 0x0204E2E0 + push {r3, lr} + add r1, sp, #0x0 + strb r0, [r1, #0x0] + mov r0, #0x1a + add r1, sp, #0x0 + bl FUN_02030C4C + pop {r3, pc} + + thumb_func_start FUN_0204E2F0 +FUN_0204E2F0: ; 0x0204E2F0 + ldr r3, _0204E2F8 ; =0x0223E4BD + ldrb r0, [r2, #0x0] + bx r3 + nop +_0204E2F8: .word 0x0223E4BD + + thumb_func_start FUN_0204E2FC +FUN_0204E2FC: ; 0x0204E2FC + push {r3, lr} + bl FUN_02031280 + cmp r0, #0x0 + beq _0204E30A + mov r0, #0x1 + pop {r3, pc} +_0204E30A: + ldr r0, _0204E344 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E316 + mov r0, #0x0 + pop {r3, pc} +_0204E316: + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0x0 + bne _0204E326 + mov r0, #0x0 + pop {r3, pc} +_0204E326: + ldr r0, _0204E344 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E348 ; =0x000002BE + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204E33E + bl FUN_0204FE5C + cmp r0, #0x0 + bne _0204E33E + mov r0, #0x0 + pop {r3, pc} +_0204E33E: + mov r0, #0x1 + pop {r3, pc} + nop +_0204E344: .word 0x021C5A68 +_0204E348: .word 0x000002BE + + thumb_func_start FUN_0204E34C +FUN_0204E34C: ; 0x0204E34C + ldr r1, _0204E358 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0x48 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 +_0204E358: .word 0x021C5A68 + + thumb_func_start FUN_0204E35C +FUN_0204E35C: ; 0x0204E35C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E36C + ldr r0, _0204E3A0 ; =0x0000FFFF + pop {r4, pc} +_0204E36C: + bl FUN_02031190 + cmp r4, r0 + bne _0204E382 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E382: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E398 + ldr r0, _0204E39C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E398: + ldr r0, _0204E3A0 ; =0x0000FFFF + pop {r4, pc} + .balign 4 +_0204E39C: .word 0x021C5A68 +_0204E3A0: .word 0x0000FFFF + + thumb_func_start FUN_0204E3A4 +FUN_0204E3A4: ; 0x0204E3A4 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E3B4 + ldr r0, _0204E3E8 ; =0x0000FFFF + pop {r4, pc} +_0204E3B4: + bl FUN_02031190 + cmp r4, r0 + bne _0204E3CA + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E3CA: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E3E0 + ldr r0, _0204E3E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E3E0: + ldr r0, _0204E3E8 ; =0x0000FFFF + pop {r4, pc} + .balign 4 +_0204E3E4: .word 0x021C5A68 +_0204E3E8: .word 0x0000FFFF + + thumb_func_start FUN_0204E3EC +FUN_0204E3EC: ; 0x0204E3EC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E3FC + ldr r0, _0204E43C ; =0x0000FFFF + pop {r4, pc} +_0204E3FC: + bl FUN_02031190 + cmp r4, r0 + bne _0204E412 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E412: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E428 + ldr r0, _0204E438 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E42C +_0204E428: + ldr r0, _0204E43C ; =0x0000FFFF + pop {r4, pc} +_0204E42C: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E438: .word 0x021C5A68 +_0204E43C: .word 0x0000FFFF + + thumb_func_start FUN_0204E440 +FUN_0204E440: ; 0x0204E440 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E48C ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E450 + ldr r0, _0204E490 ; =0x0000FFFF + pop {r4, pc} +_0204E450: + bl FUN_02031190 + cmp r4, r0 + bne _0204E466 + ldr r0, _0204E48C ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E466: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E47C + ldr r0, _0204E48C ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E480 +_0204E47C: + ldr r0, _0204E490 ; =0x0000FFFF + pop {r4, pc} +_0204E480: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E48C: .word 0x021C5A68 +_0204E490: .word 0x0000FFFF + + thumb_func_start FUN_0204E494 +FUN_0204E494: ; 0x0204E494 + ldr r1, _0204E4AC ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E4A6 + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0xa2 + ldrh r0, [r0, #0x0] + bx lr +_0204E4A6: + ldr r0, _0204E4B0 ; =0x0000FFFF + bx lr + nop +_0204E4AC: .word 0x021C5A68 +_0204E4B0: .word 0x0000FFFF + + thumb_func_start FUN_0204E4B4 +FUN_0204E4B4: ; 0x0204E4B4 + ldr r1, _0204E4CC ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E4C6 + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0xa4 + ldrh r0, [r0, #0x0] + bx lr +_0204E4C6: + ldr r0, _0204E4D0 ; =0x0000FFFF + bx lr + nop +_0204E4CC: .word 0x021C5A68 +_0204E4D0: .word 0x0000FFFF + + thumb_func_start FUN_0204E4D4 +FUN_0204E4D4: ; 0x0204E4D4 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E3EC + ldr r1, _0204E504 ; =0x0000FFFF + cmp r0, r1 + bne _0204E4E6 + add r0, r1, #0x0 + pop {r4, pc} +_0204E4E6: + ldr r0, _0204E508 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl FUN_02059BF4 + ldr r1, _0204E508 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xa2 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E504: .word 0x0000FFFF +_0204E508: .word 0x021C5A68 + + thumb_func_start FUN_0204E50C +FUN_0204E50C: ; 0x0204E50C + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E440 + ldr r1, _0204E53C ; =0x0000FFFF + cmp r0, r1 + bne _0204E51E + add r0, r1, #0x0 + pop {r4, pc} +_0204E51E: + ldr r0, _0204E540 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl FUN_02059C00 + ldr r1, _0204E540 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xa4 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E53C: .word 0x0000FFFF +_0204E540: .word 0x021C5A68 + + thumb_func_start FUN_0204E544 +FUN_0204E544: ; 0x0204E544 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E590 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E554 + ldr r0, _0204E594 ; =0x0000FFFF + pop {r4, pc} +_0204E554: + bl FUN_02031190 + cmp r4, r0 + bne _0204E56A + ldr r0, _0204E590 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E56A: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E580 + ldr r0, _0204E590 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E584 +_0204E580: + ldr r0, _0204E594 ; =0x0000FFFF + pop {r4, pc} +_0204E584: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E590: .word 0x021C5A68 +_0204E594: .word 0x0000FFFF + + thumb_func_start FUN_0204E598 +FUN_0204E598: ; 0x0204E598 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E5A8 + ldr r0, _0204E5E8 ; =0x0000FFFF + pop {r4, pc} +_0204E5A8: + bl FUN_02031190 + cmp r4, r0 + bne _0204E5BE + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + pop {r4, pc} +_0204E5BE: + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E5D4 + ldr r0, _0204E5E4 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E5D8 +_0204E5D4: + ldr r0, _0204E5E8 ; =0x0000FFFF + pop {r4, pc} +_0204E5D8: + lsl r0, r4, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + pop {r4, pc} + nop +_0204E5E4: .word 0x021C5A68 +_0204E5E8: .word 0x0000FFFF + + thumb_func_start FUN_0204E5EC +FUN_0204E5EC: ; 0x0204E5EC + ldr r1, _0204E604 ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E5FE + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + bx lr +_0204E5FE: + ldr r0, _0204E608 ; =0x0000FFFF + bx lr + nop +_0204E604: .word 0x021C5A68 +_0204E608: .word 0x0000FFFF + + thumb_func_start FUN_0204E60C +FUN_0204E60C: ; 0x0204E60C + ldr r1, _0204E624 ; =0x021C5A68 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E61E + lsl r0, r0, #0x3 + add r0, r1, r0 + add r0, #0x64 + ldrh r0, [r0, #0x0] + bx lr +_0204E61E: + ldr r0, _0204E628 ; =0x0000FFFF + bx lr + nop +_0204E624: .word 0x021C5A68 +_0204E628: .word 0x0000FFFF + + thumb_func_start FUN_0204E62C +FUN_0204E62C: ; 0x0204E62C + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E544 + ldr r1, _0204E65C ; =0x0000FFFF + cmp r0, r1 + bne _0204E63E + add r0, r1, #0x0 + pop {r4, pc} +_0204E63E: + ldr r0, _0204E660 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl FUN_02059BF4 + ldr r1, _0204E660 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0x62 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E65C: .word 0x0000FFFF +_0204E660: .word 0x021C5A68 + + thumb_func_start FUN_0204E664 +FUN_0204E664: ; 0x0204E664 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E598 + ldr r1, _0204E694 ; =0x0000FFFF + cmp r0, r1 + bne _0204E676 + add r0, r1, #0x0 + pop {r4, pc} +_0204E676: + ldr r0, _0204E698 ; =0x021C5A68 + lsl r4, r4, #0x3 + ldr r0, [r0, #0x0] + add r1, r0, r4 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl FUN_02059C00 + ldr r1, _0204E698 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0x64 + ldrh r1, [r1, #0x0] + add r0, r1, r0 + pop {r4, pc} + .balign 4 +_0204E694: .word 0x0000FFFF +_0204E698: .word 0x021C5A68 + + thumb_func_start FUN_0204E69C +FUN_0204E69C: ; 0x0204E69C + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E6B6 + ldr r0, _0204E6C8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E6BC +_0204E6B6: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0204E6BC: + lsl r0, r4, #0x3 + add r1, r1, r0 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + pop {r4, pc} + nop +_0204E6C8: .word 0x021C5A68 + + thumb_func_start FUN_0204E6CC +FUN_0204E6CC: ; 0x0204E6CC + push {r4, lr} + add r4, r0, #0x0 + bl FUN_0204E2FC + cmp r0, #0x0 + beq _0204E6E6 + ldr r0, _0204E6F8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x48 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204E6EC +_0204E6E6: + mov r0, #0x0 + mvn r0, r0 + pop {r4, pc} +_0204E6EC: + lsl r0, r4, #0x3 + add r1, r1, r0 + mov r0, #0x66 + ldrsb r0, [r1, r0] + pop {r4, pc} + nop +_0204E6F8: .word 0x021C5A68 + + thumb_func_start FUN_0204E6FC +FUN_0204E6FC: ; 0x0204E6FC + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _0204E728 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x66 + ldrsb r0, [r1, r0] + bl FUN_0204F610 + ldr r2, _0204E728 ; =0x021C5A68 + lsl r1, r4, #0x3 + ldr r3, [r2, #0x0] + add r1, r3, r1 + add r1, #0x66 + strb r0, [r1, #0x0] + ldr r0, [r2, #0x0] + mov r3, #0x1 + add r1, r0, r4 + ldr r0, _0204E72C ; =0x00000132 + strb r3, [r1, r0] + pop {r4, pc} + .balign 4 +_0204E728: .word 0x021C5A68 +_0204E72C: .word 0x00000132 + + thumb_func_start FUN_0204E730 +FUN_0204E730: ; 0x0204E730 + push {r4, lr} + add r4, r1, #0x0 + ldr r1, _0204E754 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xa6 + ldrsb r0, [r1, r0] + bl FUN_0204F610 + ldr r1, _0204E754 ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x3 + add r1, r2, r1 + add r1, #0xa6 + strb r0, [r1, #0x0] + pop {r4, pc} + nop +_0204E754: .word 0x021C5A68 + + thumb_func_start FUN_0204E758 +FUN_0204E758: ; 0x0204E758 + push {r4, lr} + add r2, r0, #0x0 + ldr r0, _0204E774 ; =0x021C5A68 + add r4, r1, #0x0 + ldr r0, [r0, #0x0] + add r1, r2, #0x0 + ldr r0, [r0, #0x4] + bl FUN_02244D40 + add r1, r4, #0x0 + bl FUN_02244D98 + pop {r4, pc} + nop +_0204E774: .word 0x021C5A68 + + thumb_func_start FUN_0204E778 +FUN_0204E778: ; 0x0204E778 + push {r3, lr} + add r1, r0, #0x0 + ldr r0, _0204E790 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x4] + bl FUN_02244D40 + mov r1, #0x0 + bl FUN_02244D98 + pop {r3, pc} + nop +_0204E790: .word 0x021C5A68 + + thumb_func_start FUN_0204E794 +FUN_0204E794: ; 0x0204E794 + push {r3-r7, lr} + sub sp, #0x8 + str r1, [sp, #0x0] + ldr r1, _0204E7C8 ; =0x021C5A68 + add r6, r3, #0x0 + ldr r4, [r1, #0x0] + lsl r7, r0, #0x3 + add r4, #0x62 + add r0, r6, #0x0 + str r2, [sp, #0x4] + add r5, r4, r7 + bl FUN_02059BF4 + ldr r1, [sp, #0x0] + add r0, r1, r0 + strh r0, [r4, r7] + add r0, r6, #0x0 + bl FUN_02059C00 + ldr r1, [sp, #0x4] + add r0, r1, r0 + strh r0, [r5, #0x2] + strb r6, [r5, #0x4] + add sp, #0x8 + pop {r3-r7, pc} + nop +_0204E7C8: .word 0x021C5A68 + + thumb_func_start FUN_0204E7CC +FUN_0204E7CC: ; 0x0204E7CC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204E848 ; =0x021C5A68 + add r6, r1, #0x0 + ldr r0, [r0, #0x0] + add r7, r2, #0x0 + str r3, [sp, #0x0] + cmp r0, #0x0 + beq _0204E844 + add r2, r0, #0x0 + add r2, #0xa2 + lsl r1, r5, #0x3 + add r4, r2, r1 + ldr r1, _0204E84C ; =0x000002BD + ldrb r1, [r0, r1] + cmp r1, #0x0 + bne _0204E7FA + ldrh r1, [r4, #0x0] + ldrh r3, [r4, #0x2] + ldr r0, [r0, #0x54] + mov r2, #0x0 + bl FUN_021E5B30 +_0204E7FA: + strh r6, [r4, #0x0] + ldr r0, [sp, #0x0] + strh r7, [r4, #0x2] + strb r0, [r4, #0x4] + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204E81A + ldr r3, [sp, #0x0] + add r1, r6, #0x0 + add r2, r7, #0x0 + bl FUN_02055514 +_0204E81A: + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E84C ; =0x000002BD + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E832 + ldr r0, [r1, #0x54] + ldrh r1, [r4, #0x0] + ldrh r3, [r4, #0x2] + mov r2, #0x0 + bl FUN_021E5B30 +_0204E832: + ldr r0, _0204E848 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204E84C ; =0x000002BD + ldrb r0, [r1, r0] + cmp r0, #0x0 + bne _0204E844 + add r0, r5, #0x0 + bl FUN_0204F0A8 +_0204E844: + pop {r3-r7, pc} + nop +_0204E848: .word 0x021C5A68 +_0204E84C: .word 0x000002BD + + thumb_func_start FUN_0204E850 +FUN_0204E850: ; 0x0204E850 + push {r3-r4, lr} + sub sp, #0x4 + mov r2, #0x2 + add r1, sp, #0x0 + add r4, r0, #0x0 + strb r2, [r1, #0x0] + strb r4, [r1, #0x1] + ldr r1, _0204E8AC ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r4 + add r1, #0xe2 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204E88A + bl FUN_0204D830 + cmp r0, #0x0 + bne _0204E88A + add r0, r4, #0x0 + bl FUN_0204EE9C + cmp r0, #0x0 + add r0, sp, #0x0 + beq _0204E886 + mov r1, #0x3 + strb r1, [r0, #0x0] + b _0204E88A +_0204E886: + mov r1, #0x1 + strb r1, [r0, #0x0] +_0204E88A: + mov r0, #0x1d + add r1, sp, #0x0 + mov r2, #0x2 + bl FUN_02030BC4 + cmp r0, #0x0 + beq _0204E8A8 + add r0, sp, #0x0 + ldrb r0, [r0, #0x0] + cmp r0, #0x2 + beq _0204E8A8 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0204EAD8 +_0204E8A8: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0204E8AC: .word 0x021C5A68 + + thumb_func_start FUN_0204E8B0 +FUN_0204E8B0: ; 0x0204E8B0 + push {r3-r6} + ldr r2, _0204E8F8 ; =0x021C5A68 + ldr r3, [r2, #0x0] + cmp r3, #0x0 + bne _0204E8C0 + mov r0, #0xff + pop {r3-r6} + bx lr +_0204E8C0: + mov r2, #0x0 + add r4, r3, #0x0 +_0204E8C4: + add r5, r3, #0x0 + add r5, #0x48 + ldrb r5, [r5, #0x0] + cmp r5, #0x0 + beq _0204E8E8 + add r5, r4, #0x0 + add r5, #0x64 + ldrh r6, [r5, #0x0] + add r5, r4, #0x0 + add r5, #0x62 + ldrh r5, [r5, #0x0] + cmp r0, r5 + bne _0204E8E8 + cmp r1, r6 + bne _0204E8E8 + add r0, r2, #0x0 + pop {r3-r6} + bx lr +_0204E8E8: + add r2, r2, #0x1 + add r3, r3, #0x1 + add r4, #0x8 + cmp r2, #0x8 + blt _0204E8C4 + mov r0, #0xff + pop {r3-r6} + bx lr + .balign 4 +_0204E8F8: .word 0x021C5A68 + + thumb_func_start FUN_0204E8FC +FUN_0204E8FC: ; 0x0204E8FC + push {r4, lr} + add r4, r2, #0x0 + bl FUN_02030FE0 + cmp r0, #0x0 + beq _0204E962 + ldrb r0, [r4, #0x0] + cmp r0, #0x1 + bne _0204E936 + bl FUN_02031190 + ldrb r1, [r4, #0x1] + cmp r1, r0 + bne _0204E936 + ldr r1, _0204E964 ; =0x021C5A68 + mov r0, #0xae + ldr r3, [r1, #0x0] + lsl r0, r0, #0x2 + ldrb r2, [r3, r0] + cmp r2, #0x0 + bne _0204E962 + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + ldr r0, _0204E968 ; =FUN_0204D308 + ldr r1, [r1, #0x54] + bl FUN_022494C8 + pop {r4, pc} +_0204E936: + ldrb r0, [r4, #0x0] + cmp r0, #0x3 + bne _0204E962 + bl FUN_02031190 + ldrb r1, [r4, #0x1] + cmp r1, r0 + bne _0204E962 + ldr r1, _0204E964 ; =0x021C5A68 + mov r0, #0xae + ldr r3, [r1, #0x0] + lsl r0, r0, #0x2 + ldrb r2, [r3, r0] + cmp r2, #0x0 + bne _0204E962 + mov r2, #0x1 + strb r2, [r3, r0] + ldr r1, [r1, #0x0] + ldr r0, _0204E968 ; =FUN_0204D308 + ldr r1, [r1, #0x54] + bl FUN_0224A7C8 +_0204E962: + pop {r4, pc} + .balign 4 +_0204E964: .word 0x021C5A68 +_0204E968: .word FUN_0204D308 + 1 + + thumb_func_start FUN_0204E96C +FUN_0204E96C: ; 0x0204E96C + push {r4-r6, lr} + ldr r0, _0204EACC ; =0x021C5A68 + add r5, r2, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl FUN_020462AC + add r6, r0, #0x0 + ldrb r0, [r5, #0x1] + cmp r0, #0x8 + blo _0204E988 + bl FUN_02020C2C +_0204E988: + ldrb r0, [r5, #0x0] + cmp r0, #0x4 + bne _0204E9AA + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204E9AA + bl FUN_0204F7E4 + bl FUN_0223D638 + ldr r3, _0204EAD0 ; =FUN_0204E2AC + mov r1, #0x48 + mov r2, #0x1 + bl FUN_0224DCB8 +_0204E9AA: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204E9B8 + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl FUN_0204E730 +_0204E9B8: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EA7C + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204EA7C + ldr r2, _0204EACC ; =0x021C5A68 + ldrb r0, [r5, #0x2] + ldr r2, [r2, #0x0] + ldr r1, _0204EAD4 ; =FUN_0204D308 + ldr r2, [r2, #0x54] + bl FUN_02247A34 + ldr r0, _0204EACC ; =0x021C5A68 + ldrb r4, [r5, #0x1] + ldr r2, [r0, #0x0] + mov r3, #0xf + add r1, r2, #0x0 + add r1, #0x58 + ldrb r1, [r1, #0x0] + add r2, #0x58 + bic r1, r3 + mov r3, #0xf + and r3, r4 + orr r1, r3 + strb r1, [r2, #0x0] + ldr r2, [r0, #0x0] + mov r3, #0xf0 + add r1, r2, #0x0 + add r1, #0x58 + ldrb r1, [r1, #0x0] + add r2, #0x58 + bic r1, r3 + ldrb r3, [r5, #0x2] + lsl r3, r3, #0x1c + lsr r3, r3, #0x18 + orr r1, r3 + strb r1, [r2, #0x0] + ldr r3, [r0, #0x0] + add r1, r3, #0x0 + add r1, #0x59 + ldrb r2, [r1, #0x0] + mov r1, #0x1 + add r3, #0x59 + bic r2, r1 + strb r2, [r3, #0x0] + ldr r3, [r0, #0x0] + add r1, r3, #0x0 + add r1, #0x59 + ldrb r2, [r1, #0x0] + mov r1, #0x2 + add r3, #0x59 + bic r2, r1 + strb r2, [r3, #0x0] + ldrb r4, [r5, #0x2] + ldr r1, [r0, #0x0] + add r0, r1, r4 + add r0, #0x5a + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204EA7C + ldr r0, [r1, #0x54] + bl FUN_020377AC + bl FUN_02026CB4 + add r1, r4, #0x0 + bl FUN_02026908 + add r0, r6, #0x0 + bl FUN_0205F688 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl FUN_0205F698 + add r0, r6, #0x0 + bl FUN_0205F6A8 + add r1, r0, #0x0 + add r1, r1, #0x1 + lsl r1, r1, #0x10 + add r0, r6, #0x0 + lsr r1, r1, #0x10 + bl FUN_0205F6B8 + ldr r0, _0204EACC ; =0x021C5A68 + ldrb r1, [r5, #0x2] + ldr r2, [r0, #0x0] + add r2, #0x5a + ldrb r0, [r2, r1] + add r0, r0, #0x1 + strb r0, [r2, r1] +_0204EA7C: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EA9A + ldrb r4, [r5, #0x2] + bl FUN_02031190 + cmp r4, r0 + bne _0204EA9A + ldr r2, _0204EACC ; =0x021C5A68 + ldrb r1, [r5, #0x1] + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0x54] + bl FUN_02248DF8 +_0204EA9A: + ldrb r0, [r5, #0x0] + cmp r0, #0x2 + bne _0204EABC + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204EABC + bl FUN_0204F7E4 + bl FUN_0223D638 + ldr r3, _0204EAD0 ; =FUN_0204E2AC + mov r1, #0x2 + mov r2, #0x1 + bl FUN_0224DCB8 +_0204EABC: + ldrb r0, [r5, #0x0] + cmp r0, #0x1 + bne _0204EACA + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl FUN_0223E4A8 +_0204EACA: + pop {r4-r6, pc} + .balign 4 +_0204EACC: .word 0x021C5A68 +_0204EAD0: .word FUN_0204E2AC + 1 +_0204EAD4: .word FUN_0204D308 + 1 + + thumb_func_start FUN_0204EAD8 +FUN_0204EAD8: ; 0x0204EAD8 + push {r3-r4} + ldr r3, _0204EB0C ; =0x021C5A68 + ldr r4, [r3, #0x0] + add r4, #0xe2 + ldrb r2, [r4, r0] + cmp r1, r2 + beq _0204EB08 + strb r1, [r4, r0] + ldr r2, [r3, #0x0] + lsl r1, r0, #0x3 + add r2, r2, r1 + mov r4, #0x0 + add r2, #0x69 + strb r4, [r2, #0x0] + ldr r2, [r3, #0x0] + mov r4, #0x1 + add r2, r2, r0 + ldr r0, _0204EB10 ; =0x00000132 + strb r4, [r2, r0] + ldr r0, [r3, #0x0] + mov r2, #0x2 + add r0, r0, r1 + add r0, #0x67 + strb r2, [r0, #0x0] +_0204EB08: + pop {r3-r4} + bx lr + .balign 4 +_0204EB0C: .word 0x021C5A68 +_0204EB10: .word 0x00000132 + + thumb_func_start FUN_0204EB14 +FUN_0204EB14: ; 0x0204EB14 + ldr r1, _0204EB3C ; =0x021C5A68 + ldr r2, [r1, #0x0] + ldr r1, _0204EB40 ; =0x000002C2 + ldrb r1, [r2, r1] + cmp r1, #0x0 + beq _0204EB24 + mov r0, #0x0 + bx lr +_0204EB24: + add r1, r2, r0 + add r1, #0xea + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _0204EB36 + add r0, r2, r0 + add r0, #0xe2 + ldrb r0, [r0, #0x0] + bx lr +_0204EB36: + mov r0, #0x0 + bx lr + nop +_0204EB3C: .word 0x021C5A68 +_0204EB40: .word 0x000002C2 + + thumb_func_start FUN_0204EB44 +FUN_0204EB44: ; 0x0204EB44 + push {r3-r7, lr} + sub sp, #0x30 + ldr r1, _0204EBF8 ; =0x020F5800 + add r0, sp, #0x8 + ldrh r2, [r1, #0x0] + ldr r3, _0204EBFC ; =0x020F5814 + strh r2, [r0, #0x0] + ldrh r2, [r1, #0x2] + strh r2, [r0, #0x2] + ldrh r2, [r1, #0x4] + ldrh r1, [r1, #0x6] + strh r2, [r0, #0x4] + strh r1, [r0, #0x6] + add r2, sp, #0x20 + mov r1, #0x8 +_0204EB62: + ldrh r0, [r3, #0x0] + add r3, r3, #0x2 + strh r0, [r2, #0x0] + add r2, r2, #0x2 + sub r1, r1, #0x1 + bne _0204EB62 + bl FUN_02033534 + bl FUN_02031248 + add r6, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x0] + cmp r6, #0x2 + bne _0204EB86 + add r5, sp, #0x8 + b _0204EB88 +_0204EB86: + add r5, sp, #0x20 +_0204EB88: + mov r7, #0x0 + cmp r6, #0x0 + ble _0204EBD4 +_0204EB8E: + mov r4, #0x0 + cmp r6, #0x0 + ble _0204EBCC +_0204EB94: + add r0, r4, #0x0 + bl FUN_0204E3EC + ldrh r1, [r5, #0x0] + cmp r1, r0 + bne _0204EBC6 + add r0, r4, #0x0 + bl FUN_0204E440 + ldrh r1, [r5, #0x2] + cmp r1, r0 + bne _0204EBC6 + ldr r0, [sp, #0x4] + lsl r1, r4, #0x2 + add r0, r0, #0x1 + str r0, [sp, #0x4] + add r0, sp, #0x10 + str r7, [r0, r1] + bl FUN_02031190 + cmp r4, r0 + bne _0204EBCC + mov r0, #0x1 + str r0, [sp, #0x0] + b _0204EBCC +_0204EBC6: + add r4, r4, #0x1 + cmp r4, r6 + blt _0204EB94 +_0204EBCC: + add r7, r7, #0x1 + add r5, r5, #0x4 + cmp r7, r6 + blt _0204EB8E +_0204EBD4: + ldr r0, [sp, #0x4] + cmp r0, r6 + bne _0204EBF2 + mov r5, #0x0 + cmp r6, #0x0 + ble _0204EBF2 + add r4, sp, #0x10 +_0204EBE2: + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl FUN_020313B4 + add r5, r5, #0x1 + add r4, r4, #0x4 + cmp r5, r6 + blt _0204EBE2 +_0204EBF2: + ldr r0, [sp, #0x0] + add sp, #0x30 + pop {r3-r7, pc} + .balign 4 +_0204EBF8: .word 0x020F5800 +_0204EBFC: .word 0x020F5814 + + thumb_func_start FUN_0204EC00 +FUN_0204EC00: ; 0x0204EC00 + ldrb r2, [r2, #0x0] + cmp r2, #0x3 + bne _0204EC14 + ldr r1, _0204EC24 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xf2 + strb r2, [r0, #0x0] + bx lr +_0204EC14: + ldr r1, _0204EC24 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0xad + lsl r0, r0, #0x2 + strb r2, [r1, r0] + bx lr + nop +_0204EC24: .word 0x021C5A68 + + thumb_func_start FUN_0204EC28 +FUN_0204EC28: ; 0x0204EC28 + push {r3-r7, lr} + sub sp, #0x8 + bl FUN_02033534 + bl FUN_02031248 + add r7, r0, #0x0 + cmp r7, #0x2 + bne _0204EC40 + ldr r0, _0204ECB4 ; =0x02105E5C + str r0, [sp, #0x0] + b _0204EC44 +_0204EC40: + ldr r0, _0204ECB8 ; =0x02105E64 + str r0, [sp, #0x0] +_0204EC44: + mov r1, #0x0 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + cmp r7, #0x0 + ble _0204ECAE +_0204EC4E: + ldr r0, _0204ECBC ; =0x021C5A68 + add r6, sp, #0x4 + ldr r1, [r0, #0x0] + ldrb r0, [r6, #0x0] + add r1, r1, r0 + mov r0, #0xad + lsl r0, r0, #0x2 + ldrb r0, [r1, r0] + cmp r0, #0x0 + beq _0204ECA0 + mov r4, #0x0 + cmp r7, #0x0 + ble _0204ECA0 + ldr r5, [sp, #0x0] +_0204EC6A: + ldrb r0, [r6, #0x0] + bl FUN_0204E544 + ldrh r1, [r5, #0x0] + cmp r1, r0 + bne _0204EC98 + ldrb r0, [r6, #0x0] + bl FUN_0204E598 + ldrh r1, [r5, #0x2] + cmp r1, r0 + bne _0204EC98 + ldr r0, _0204ECBC ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r6, #0x0] + add r1, r1, r0 + add r1, #0xf2 + mov r0, #0x1 + strb r0, [r1, #0x0] + mov r0, #0x5f + add r1, sp, #0x4 + bl FUN_02030C4C +_0204EC98: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, r7 + blt _0204EC6A +_0204ECA0: + add r0, sp, #0x4 + ldrb r1, [r0, #0x0] + add r1, r1, #0x1 + strb r1, [r0, #0x0] + ldrb r0, [r0, #0x0] + cmp r0, r7 + blt _0204EC4E +_0204ECAE: + add sp, #0x8 + pop {r3-r7, pc} + nop +_0204ECB4: .word 0x02105E5C +_0204ECB8: .word 0x02105E64 +_0204ECBC: .word 0x021C5A68 + + thumb_func_start FUN_0204ECC0 +FUN_0204ECC0: ; 0x0204ECC0 + push {r4, lr} + bl FUN_02031190 + add r4, r0, #0x0 + bl FUN_0204E3EC + cmp r0, #0x8 + ble _0204ECE0 + mov r0, #0x2 + bl FUN_0204F6DC + mov r0, #0x2 + mov r1, #0x24 + bl FUN_0205AFDC + b _0204ECEE +_0204ECE0: + mov r0, #0x3 + bl FUN_0204F6DC + mov r0, #0x3 + mov r1, #0x24 + bl FUN_0205AFDC +_0204ECEE: + add r1, r0, #0x0 + ldr r0, _0204ED04 ; =0x021C5A68 + ldr r2, [r0, #0x0] + lsl r0, r4, #0x2 + add r0, r2, r0 + ldr r0, [r0, #0x8] + bl FUN_02057260 + bl FUN_0204FB14 + pop {r4, pc} + .balign 4 +_0204ED04: .word 0x021C5A68 + + thumb_func_start FUN_0204ED08 +FUN_0204ED08: ; 0x0204ED08 + push {r3-r7, lr} + sub sp, #0x8 + bl FUN_02033534 + bl FUN_02031248 + mov r3, #0x0 + str r0, [sp, #0x0] + cmp r0, #0x0 + ble _0204ED3C + ldr r0, _0204ED94 ; =0x021C5A68 + mov r1, #0x66 + add r2, r1, #0x0 + ldr r4, [r0, #0x0] + sub r2, #0x67 +_0204ED26: + ldrsb r0, [r4, r1] + cmp r0, r2 + bne _0204ED32 + add sp, #0x8 + mov r0, #0x0 + pop {r3-r7, pc} +_0204ED32: + ldr r0, [sp, #0x0] + add r3, r3, #0x1 + add r4, #0x8 + cmp r3, r0 + blt _0204ED26 +_0204ED3C: + ldr r0, [sp, #0x0] + mov r5, #0x0 + cmp r0, #0x0 + ble _0204ED8E + add r4, r5, #0x0 +_0204ED46: + ldr r0, _0204ED94 ; =0x021C5A68 + ldr r7, [r0, #0x0] + mov r0, #0x4 + add r7, #0x62 + add r6, r7, r4 + ldrsb r0, [r6, r0] + bl FUN_0204F610 + str r0, [sp, #0x4] + bl FUN_02059BF4 + ldrh r1, [r7, r4] + add r0, r1, r0 + strh r0, [r7, r4] + ldr r0, [sp, #0x4] + bl FUN_02059C00 + ldrh r1, [r6, #0x2] + add r0, r1, r0 + strh r0, [r6, #0x2] + mov r0, #0x2 + strb r0, [r6, #0x5] + ldr r0, _0204ED94 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r2, r0, r5 + ldr r0, _0204ED98 ; =0x00000132 + strb r1, [r2, r0] + add r0, r5, #0x0 + bl FUN_0204EAD8 + ldr r0, [sp, #0x0] + add r5, r5, #0x1 + add r4, #0x8 + cmp r5, r0 + blt _0204ED46 +_0204ED8E: + mov r0, #0x1 + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204ED94: .word 0x021C5A68 +_0204ED98: .word 0x00000132 + + thumb_func_start FUN_0204ED9C +FUN_0204ED9C: ; 0x0204ED9C + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204EDE8 ; =0x021C5A68 + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EDE2 + bl FUN_02016A18 + ldr r2, _0204EDE8 ; =0x021C5A68 + lsl r1, r4, #0x2 + ldr r3, [r2, #0x0] + mov r0, #0x0 + add r3, r3, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + str r0, [r3, r1] + ldr r1, [r2, #0x0] + mov r3, #0xff + add r1, r1, r4 + add r1, #0xfa + strb r0, [r1, #0x0] + mov r0, #0x22 + ldr r1, [r2, #0x0] + mul r0, r4 + add r1, r1, r0 + add r0, r3, #0x0 + add r0, #0x6b + strh r3, [r1, r0] + mov r0, #0x1 + pop {r4, pc} +_0204EDE2: + mov r0, #0x0 + pop {r4, pc} + nop +_0204EDE8: .word 0x021C5A68 + + thumb_func_start FUN_0204EDEC +FUN_0204EDEC: ; 0x0204EDEC + push {r3-r7, lr} + add r7, r0, #0x0 + bl FUN_02031190 + cmp r7, r0 + bne _0204EE90 + ldr r0, _0204EE98 ; =0x021C5A68 + ldr r2, [r0, #0x0] + lsl r0, r7, #0x2 + add r1, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EE96 + ldr r0, [r2, #0x54] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + mov r1, #0x1c + bl FUN_0202A170 + ldr r0, _0204EE98 ; =0x021C5A68 + ldr r1, [r0, #0x0] + mov r0, #0xa3 + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EE2A + bl FUN_02016A18 +_0204EE2A: + mov r0, #0x9e + lsl r0, r0, #0x2 + ldr r2, _0204EE98 ; =0x021C5A68 + mov r5, #0x4 + mov r6, #0x10 + add r1, r0, #0x4 +_0204EE36: + ldr r3, [r2, #0x0] + sub r5, r5, #0x1 + add r4, r3, r6 + ldr r3, [r4, r0] + sub r6, r6, #0x4 + str r3, [r4, r1] + cmp r5, #0x1 + bge _0204EE36 + ldr r1, _0204EE98 ; =0x021C5A68 + mov r0, #0x29 + ldr r3, [r1, #0x0] + lsl r4, r7, #0x2 + add r2, r3, r4 + lsl r0, r0, #0x4 + ldr r2, [r2, r0] + sub r0, #0x14 + str r2, [r3, r0] + ldr r5, [r1, #0x0] + ldr r0, [r5, #0x54] + bl FUN_020377AC + bl FUN_02026CC4 + mov r1, #0x29 + add r2, r5, r4 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + bl FUN_02025C40 + ldr r1, _0204EE98 ; =0x021C5A68 + mov r3, #0x0 + ldr r0, [r1, #0x0] + add r2, r0, r4 + mov r0, #0x29 + lsl r0, r0, #0x4 + str r3, [r2, r0] + mov r0, #0x22 + ldr r1, [r1, #0x0] + mul r0, r7 + mov r2, #0xff + add r1, r1, r0 + add r0, r2, #0x0 + add r0, #0x6b + strh r2, [r1, r0] + pop {r3-r7, pc} +_0204EE90: + add r0, r7, #0x0 + bl FUN_0204ED9C +_0204EE96: + pop {r3-r7, pc} + .balign 4 +_0204EE98: .word 0x021C5A68 + + thumb_func_start FUN_0204EE9C +FUN_0204EE9C: ; 0x0204EE9C + ldr r1, _0204EEB8 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204EEB2 + mov r0, #0x1 + bx lr +_0204EEB2: + mov r0, #0x0 + bx lr + nop +_0204EEB8: .word 0x021C5A68 + + thumb_func_start FUN_0204EEBC +FUN_0204EEBC: ; 0x0204EEBC + push {r3-r7, lr} + add r5, r0, #0x0 + ldr r0, _0204EF48 ; =0x021C5A68 + add r6, r1, #0x0 + ldr r1, [r0, #0x0] + lsl r0, r5, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0204EF44 + add r0, r6, #0x0 + bl FUN_0202DFA4 + add r7, r0, #0x0 + beq _0204EF44 + mov r0, #0xf + lsl r4, r5, #0x2 + bl FUN_02023928 + mov r3, #0x29 + ldr r1, _0204EF48 ; =0x021C5A68 + add r2, r0, #0x0 + ldr r0, [r1, #0x0] + lsl r3, r3, #0x4 + add r0, r0, r4 + str r2, [r0, r3] + ldr r1, [r1, #0x0] + add r0, r7, #0x0 + add r1, r1, r4 + ldr r1, [r1, r3] + bl FUN_0202393C + ldr r1, _0204EF48 ; =0x021C5A68 + mov r2, #0x1 + ldr r0, [r1, #0x0] + ldr r3, _0204EF4C ; =0x0000016A + add r0, r0, r5 + add r0, #0xfa + strb r2, [r0, #0x0] + mov r0, #0x22 + add r2, r5, #0x0 + mul r2, r0 + ldr r0, [r1, #0x0] + add r0, r0, r2 + strh r5, [r0, r3] + ldr r1, [r1, #0x0] + sub r3, #0x20 + add r1, r1, r3 + add r0, r7, #0x0 + add r1, r1, r2 + bl FUN_0202393C + bl FUN_02031190 + cmp r6, r0 + bne _0204EF40 + ldr r0, _0204EF48 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl FUN_02026CB4 + bl FUN_02026BC8 +_0204EF40: + mov r0, #0x1 + pop {r3-r7, pc} +_0204EF44: + mov r0, #0x0 + pop {r3-r7, pc} + .balign 4 +_0204EF48: .word 0x021C5A68 +_0204EF4C: .word 0x0000016A + + thumb_func_start FUN_0204EF50 +FUN_0204EF50: ; 0x0204EF50 + push {r3-r7, lr} + ldr r4, _0204EFC4 ; =0x021C5A68 + mov r7, #0x29 + ldr r6, [r4, #0x0] + add r3, r0, #0x0 + lsl r7, r7, #0x4 + add r5, r6, r7 + lsl r0, r3, #0x2 + add r2, r1, #0x0 + ldr r1, [r5, r0] + cmp r1, #0x0 + bne _0204EFBE + lsl r1, r2, #0x2 + add r6, r6, r1 + ldr r6, [r6, r7] + cmp r6, #0x0 + beq _0204EFBE + str r6, [r5, r0] + ldr r5, [r4, #0x0] + mov r6, #0x0 + add r1, r5, r1 + str r6, [r1, r7] + ldr r1, [r4, #0x0] + mov r5, #0x1 + add r1, r1, r3 + add r1, #0xfa + strb r5, [r1, #0x0] + ldr r1, [r4, #0x0] + add r1, r1, r2 + add r1, #0xfa + strb r6, [r1, #0x0] + mov r1, #0x22 + ldr r5, [r4, #0x0] + mul r1, r3 + add r6, r5, r1 + ldr r5, _0204EFC8 ; =0x0000016A + strh r3, [r6, r5] + mov r6, #0x22 + mov r5, #0xff + mul r6, r2 + ldr r3, [r4, #0x0] + add r2, r5, #0x0 + add r3, r3, r6 + add r2, #0x6b + strh r5, [r3, r2] + ldr r2, [r4, #0x0] + add r5, #0x4b + add r0, r2, r0 + add r2, r2, r5 + ldr r0, [r0, r7] + add r1, r2, r1 + bl FUN_0202393C + mov r0, #0x1 + pop {r3-r7, pc} +_0204EFBE: + mov r0, #0x0 + pop {r3-r7, pc} + nop +_0204EFC4: .word 0x021C5A68 +_0204EFC8: .word 0x0000016A + + thumb_func_start FUN_0204EFCC +FUN_0204EFCC: ; 0x0204EFCC + push {r4, lr} + ldr r1, _0204F06C ; =0x021C5A68 + add r4, r0, #0x0 + ldr r3, [r1, #0x0] + ldr r1, _0204F070 ; =0x000002BD + ldrb r1, [r3, r1] + cmp r1, #0x0 + bne _0204F068 + lsl r1, r4, #0x2 + add r2, r3, r1 + ldr r1, [r2, #0x8] + cmp r1, #0x0 + beq _0204F068 + add r3, r3, r4 + add r3, #0xfa + ldrb r3, [r3, #0x0] + cmp r3, #0x3 + bhi _0204F068 + add r3, r3, r3 + add r3, pc + ldrh r3, [r3, #0x6] + lsl r3, r3, #0x10 + asr r3, r3, #0x10 + add pc, r3 +_0204EFFC: ; jump table (using 16-bit offset) + .short _0204F064 - _0204EFFC - 2; case 0 + .short _0204F048 - _0204EFFC - 2; case 1 + .short _0204F02C - _0204EFFC - 2; case 2 + .short _0204F004 - _0204EFFC - 2; case 3 +_0204F004: + ldr r0, [r2, #0x28] + cmp r0, #0x0 + bne _0204F01E + add r0, r1, #0x0 + bl FUN_020553A0 + bl FUN_021E5970 + ldr r1, _0204F06C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + add r1, r2, r1 + str r0, [r1, #0x28] +_0204F01E: + ldr r0, _0204F06C ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0xfa + strb r1, [r0, #0x0] + pop {r4, pc} +_0204F02C: + ldr r0, [r2, #0x28] + cmp r0, #0x0 + bne _0204F068 + add r0, r1, #0x0 + bl FUN_020553A0 + bl FUN_021E57D4 + ldr r1, _0204F06C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + add r1, r2, r1 + str r0, [r1, #0x28] + pop {r4, pc} +_0204F048: + ldr r0, [r2, #0x28] + cmp r0, #0x0 + bne _0204F068 + add r0, r1, #0x0 + bl FUN_020553A0 + bl FUN_021E5614 + ldr r1, _0204F06C ; =0x021C5A68 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + add r1, r2, r1 + str r0, [r1, #0x28] + pop {r4, pc} +_0204F064: + bl FUN_0204CD78 +_0204F068: + pop {r4, pc} + nop +_0204F06C: .word 0x021C5A68 +_0204F070: .word 0x000002BD + + thumb_func_start FUN_0204F074 +FUN_0204F074: ; 0x0204F074 + ldr r1, _0204F088 ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F084 + mov r1, #0x2 + strb r1, [r2, r0] +_0204F084: + bx lr + nop +_0204F088: .word 0x021C5A68 + + thumb_func_start FUN_0204F08C +FUN_0204F08C: ; 0x0204F08C + ldr r1, _0204F0A0 ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F09C + mov r1, #0x3 + strb r1, [r2, r0] +_0204F09C: + ldr r3, _0204F0A4 ; =FUN_0204CD78 + bx r3 + .balign 4 +_0204F0A0: .word 0x021C5A68 +_0204F0A4: .word FUN_0204CD78 + 1 + + thumb_func_start FUN_0204F0A8 +FUN_0204F0A8: ; 0x0204F0A8 + ldr r1, _0204F0BC ; =0x021C5A68 + ldr r2, [r1, #0x0] + add r2, #0xfa + ldrb r1, [r2, r0] + cmp r1, #0x1 + beq _0204F0B8 + mov r1, #0x0 + strb r1, [r2, r0] +_0204F0B8: + ldr r3, _0204F0C0 ; =FUN_0204CD78 + bx r3 + .balign 4 +_0204F0BC: .word 0x021C5A68 +_0204F0C0: .word FUN_0204CD78 + 1 + + thumb_func_start FUN_0204F0C4 +FUN_0204F0C4: ; 0x0204F0C4 + mov r0, #0x3 + bx lr + + thumb_func_start FUN_0204F0C8 +FUN_0204F0C8: ; 0x0204F0C8 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + add r0, sp, #0x0 + strb r4, [r0, #0x1] + ldrb r1, [r2, #0x0] + cmp r1, #0x0 + beq _0204F0E0 + cmp r1, #0x3 + beq _0204F0F0 + add sp, #0x4 + pop {r3-r4, pc} +_0204F0E0: + mov r1, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x55 + add r1, sp, #0x0 + bl FUN_02030C4C + add sp, #0x4 + pop {r3-r4, pc} +_0204F0F0: + mov r1, #0x3 + strb r1, [r0, #0x0] + mov r0, #0x55 + add r1, sp, #0x0 + bl FUN_02030C4C + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0204EAD8 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start FUN_0204F108 +FUN_0204F108: ; 0x0204F108 + push {r3, lr} + bl FUN_02031190 + bl FUN_0204F0A8 + bl FUN_0223D648 + bl FUN_0224DD94 + mov r0, #0x4 + bl FUN_0204F774 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204F124 +FUN_0204F124: ; 0x0204F124 + push {r3-r7, lr} + add r5, r1, #0x0 + add r6, r0, #0x0 + ldr r0, [r5, #0x4] + mov r4, #0x0 + lsl r0, r0, #0x18 + lsr r7, r0, #0x18 + add r0, r7, #0x0 + bl FUN_02030E7C + cmp r0, #0x0 + bne _0204F14A + add r0, r5, #0x0 + bl FUN_02016A18 + add r0, r6, #0x0 + bl FUN_0200CAB4 + pop {r3-r7, pc} +_0204F14A: + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + cmp r0, #0x3c + ble _0204F156 + mov r4, #0x1 +_0204F156: + cmp r4, #0x0 + beq _0204F172 + ldr r0, _0204F174 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, r0, r7 + add r0, #0xea + strb r1, [r0, #0x0] + add r0, r5, #0x0 + bl FUN_02016A18 + add r0, r6, #0x0 + bl FUN_0200CAB4 +_0204F172: + pop {r3-r7, pc} + .balign 4 +_0204F174: .word 0x021C5A68 + + thumb_func_start FUN_0204F178 +FUN_0204F178: ; 0x0204F178 + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0xb + mov r1, #0x8 + bl FUN_02016998 + add r1, r0, #0x0 + mov r2, #0x0 + str r2, [r1, #0x0] + ldr r0, _0204F1A8 ; =0x021C5A68 + str r4, [r1, #0x4] + ldr r0, [r0, #0x0] + add r0, r0, r4 + add r0, #0xea + strb r2, [r0, #0x0] + ldr r0, _0204F1AC ; =FUN_0204F124 + mov r2, #0x64 + bl FUN_0200CA44 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0204EAD8 + pop {r4, pc} + .balign 4 +_0204F1A8: .word 0x021C5A68 +_0204F1AC: .word FUN_0204F124 + 1 + + thumb_func_start FUN_0204F1B0 +FUN_0204F1B0: ; 0x0204F1B0 + push {r3-r5, lr} + add r4, r1, #0x0 + mov r1, #0x1 + add r5, r0, #0x0 + tst r1, r2 + beq _0204F1C4 + mov r1, #0xb + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F1F6 +_0204F1C4: + bl FUN_0204EE9C + cmp r0, #0x0 + beq _0204F1D4 + mov r1, #0xb + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F1F6 +_0204F1D4: + cmp r4, #0xff + bne _0204F1DC + mov r0, #0x0 + pop {r3-r5, pc} +_0204F1DC: + add r0, r4, #0x0 + bl FUN_0204EE9C + cmp r0, #0x0 + bne _0204F1EA + mov r0, #0x0 + pop {r3-r5, pc} +_0204F1EA: + mov r1, #0x5 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + bl FUN_0204F178 +_0204F1F6: + add r0, sp, #0x0 + strb r5, [r0, #0x1] + strb r4, [r0, #0x2] + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0204EAD8 + mov r0, #0x55 + add r1, sp, #0x0 + bl FUN_02030C4C + mov r0, #0x1 + pop {r3-r5, pc} + + thumb_func_start FUN_0204F210 +FUN_0204F210: ; 0x0204F210 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + bl FUN_0204EE9C + cmp r0, #0x0 + beq _0204F226 + mov r1, #0xc + add r0, sp, #0x0 + strb r1, [r0, #0x0] + b _0204F22C +_0204F226: + add sp, #0x4 + mov r0, #0x0 + pop {r3-r4, pc} +_0204F22C: + strb r4, [r0, #0x1] + mov r0, #0x55 + add r1, sp, #0x0 + bl FUN_02030C4C + mov r0, #0x1 + add sp, #0x4 + pop {r3-r4, pc} + + thumb_func_start FUN_0204F23C +FUN_0204F23C: ; 0x0204F23C + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r4, r1, #0x0 + bl FUN_0223E6B8 + mov r0, #0x0 + bl FUN_0204D628 + mov r0, #0x4 + bl FUN_0204F74C + bl FUN_0223D648 + add r6, r0, #0x0 + ldrb r0, [r5, #0x1] + bl FUN_0202DFA4 + add r1, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0224DDB8 + cmp r4, #0x0 + beq _0204F29C + bl FUN_02031190 + ldr r1, _0204F2C8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xfa + strb r2, [r0, #0x0] + bl FUN_02031190 + bl FUN_0204F0A8 + bl FUN_02031190 + bl FUN_0204F074 + bl FUN_0223D648 + ldr r3, _0204F2CC ; =FUN_0204F108 + mov r1, #0xa + mov r2, #0x1 + bl FUN_0224DCB8 + b _0204F2AA +_0204F29C: + bl FUN_0223D648 + ldr r3, _0204F2CC ; =FUN_0204F108 + mov r1, #0xb + mov r2, #0x1 + bl FUN_0224DCB8 +_0204F2AA: + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F2D0 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl FUN_02004DCC + ldr r0, _0204F2D4 ; =0x000005F6 + bl FUN_020054C8 + add sp, #0x8 + pop {r4-r6, pc} + nop +_0204F2C8: .word 0x021C5A68 +_0204F2CC: .word FUN_0204F108 + 1 +_0204F2D0: .word 0x00000424 +_0204F2D4: .word 0x000005F6 + + thumb_func_start FUN_0204F2D8 +FUN_0204F2D8: ; 0x0204F2D8 + push {r4-r5, lr} + sub sp, #0xc + ldr r0, _0204F5E0 ; =0x021C5A68 + add r5, r2, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_020377AC + bl FUN_02026CB4 + add r4, r0, #0x0 + ldrb r0, [r5, #0x0] + cmp r0, #0x5 + bgt _0204F308 + cmp r0, #0x0 + blt _0204F346 + beq _0204F31E + cmp r0, #0x3 + bne _0204F300 + b _0204F4D2 +_0204F300: + cmp r0, #0x5 + beq _0204F370 + add sp, #0xc + pop {r4-r5, pc} +_0204F308: + cmp r0, #0xc + bgt _0204F346 + cmp r0, #0xb + blt _0204F346 + bne _0204F314 + b _0204F48C +_0204F314: + cmp r0, #0xc + bne _0204F31A + b _0204F4AE +_0204F31A: + add sp, #0xc + pop {r4-r5, pc} +_0204F31E: + ldr r1, _0204F5E0 ; =0x021C5A68 + ldrb r0, [r5, #0x1] + ldr r2, [r1, #0x0] + lsl r1, r0, #0x2 + add r2, r2, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + cmp r1, #0x0 + beq _0204F346 + bl FUN_0204ED9C + ldrb r0, [r5, #0x1] + bl FUN_0204F0A8 + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F348 +_0204F346: + b _0204F5DA +_0204F348: + bl FUN_0204F7E4 + bl FUN_0223D648 + ldr r3, _0204F5E4 ; =FUN_0204E2B4 + mov r1, #0x2 + mov r2, #0x1 + bl FUN_0224DCB8 + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F5E8 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl FUN_02004DCC + add sp, #0xc + pop {r4-r5, pc} +_0204F370: + ldrb r0, [r5, #0x1] + bl FUN_0202DFA4 + cmp r0, #0x0 + bne _0204F384 + ldrb r0, [r5, #0x2] + bl FUN_0204ED9C + add sp, #0xc + pop {r4-r5, pc} +_0204F384: + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x2] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + bne _0204F3AC + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F3A4 + b _0204F5DA +_0204F3A4: + bl FUN_0204F7FC + add sp, #0xc + pop {r4-r5, pc} +_0204F3AC: + ldrb r0, [r5, #0x1] + bl FUN_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldrb r0, [r5, #0x2] + lsl r0, r0, #0x2 + add r2, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + bl FUN_02023AA4 + cmp r0, #0x1 + bne _0204F41A + ldrb r0, [r5, #0x2] + bl FUN_0204ED9C + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F3FC + add r0, r4, #0x0 + bl FUN_02026C00 + bl FUN_0204F7E4 + bl FUN_0223D648 + ldr r3, _0204F5EC ; =FUN_0204E2AC + mov r1, #0xd + mov r2, #0x1 + bl FUN_0224DCB8 + ldr r0, _0204F5F0 ; =0x00000625 + bl FUN_020054C8 + b _0204F410 +_0204F3FC: + bl FUN_02031190 + ldrb r1, [r5, #0x2] + cmp r1, r0 + bne _0204F410 + add r0, r5, #0x0 + mov r1, #0x0 + add r2, r4, #0x0 + bl FUN_0204F23C +_0204F410: + ldrb r0, [r5, #0x1] + bl FUN_022472AC + add sp, #0xc + pop {r4-r5, pc} +_0204F41A: + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl FUN_0204EF50 + cmp r0, #0x0 + beq _0204F4B8 + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F46C + add r0, r4, #0x0 + bl FUN_02026970 + mov r0, #0x1 + bl FUN_0204F74C + bl FUN_0223D648 + add r4, r0, #0x0 + ldrb r0, [r5, #0x2] + bl FUN_0202DFA4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0224DDB8 + bl FUN_0223D648 + ldr r3, _0204F5F4 ; =FUN_0204E2D4 + mov r1, #0xc + mov r2, #0x1 + bl FUN_0224DCB8 + ldr r0, _0204F5F8 ; =0x00000425 + bl FUN_0200521C + ldr r0, _0204F5F0 ; =0x00000625 + bl FUN_020054C8 + b _0204F480 +_0204F46C: + bl FUN_02031190 + ldrb r1, [r5, #0x2] + cmp r1, r0 + bne _0204F480 + add r0, r5, #0x0 + mov r1, #0x1 + add r2, r4, #0x0 + bl FUN_0204F23C +_0204F480: + ldrb r0, [r5, #0x1] + ldrb r1, [r5, #0x2] + bl FUN_02247294 + add sp, #0xc + pop {r4-r5, pc} +_0204F48C: + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F4B8 + mov r0, #0x2 + bl FUN_0204F74C + bl FUN_0223D648 + ldr r3, _0204F5FC ; =FUN_0204E2BC + mov r1, #0x6 + mov r2, #0x1 + bl FUN_0224DCB8 + add sp, #0xc + pop {r4-r5, pc} +_0204F4AE: + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + beq _0204F4BA +_0204F4B8: + b _0204F5DA +_0204F4BA: + mov r0, #0x20 + bl FUN_0204F74C + bl FUN_0223D648 + ldr r3, _0204F600 ; =FUN_0204E2C8 + mov r1, #0x5 + mov r2, #0x1 + bl FUN_0224DCB8 + add sp, #0xc + pop {r4-r5, pc} +_0204F4D2: + ldr r0, _0204F5E0 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x1] + add r0, r1, r0 + add r0, #0xfa + strb r2, [r0, #0x0] + ldrb r0, [r5, #0x1] + bl FUN_0204F0A8 + bl FUN_02031190 + ldrb r1, [r5, #0x1] + cmp r1, r0 + bne _0204F58C + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_020377AC + bl FUN_02026CB4 + add r4, r0, #0x0 + bl FUN_020269A0 + add r1, sp, #0x8 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_020269D4 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205EDF8 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldrb r1, [r5, #0x1] + ldr r0, [r0, #0x0] + lsl r1, r1, #0x2 + add r2, r0, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + cmp r1, #0x0 + beq _0204F54A + ldr r0, [r0, #0x54] + bl FUN_0206189C + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, _0204F604 ; =0x0000FFFF + ldr r3, [r0, #0x0] + ldr r0, _0204F608 ; =0x000002B2 + ldrh r2, [r3, r0] + cmp r2, r1 + beq _0204F54A + add r1, r2, #0x1 + strh r1, [r3, r0] +_0204F54A: + bl FUN_0204F7E4 + ldr r0, _0204F60C ; =0x0000062B + bl FUN_020054C8 + add r0, r4, #0x0 + bl FUN_020269A0 + add r1, sp, #0x8 + ldrb r1, [r1, #0x0] + cmp r1, r0 + bne _0204F572 + bl FUN_0223D648 + ldr r3, _0204F5EC ; =FUN_0204E2AC + mov r1, #0x7 + mov r2, #0x1 + bl FUN_0224DCB8 + b _0204F57A +_0204F572: + mov r0, #0x60 + add r1, sp, #0x8 + bl FUN_020311D0 +_0204F57A: + mov r0, #0xff + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r1, _0204F5E8 ; =0x00000424 + mov r0, #0x4 + mov r2, #0x3c + str r3, [sp, #0x4] + bl FUN_02004DCC +_0204F58C: + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldrb r0, [r5, #0x1] + lsl r0, r0, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204F5D4 + bl FUN_02031190 + bl FUN_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldrb r0, [r5, #0x1] + lsl r0, r0, #0x2 + add r2, r2, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r2, r0] + bl FUN_02023AA4 + cmp r0, #0x1 + bne _0204F5D4 + ldrb r0, [r5, #0x1] + bl FUN_0202DFA4 + add r1, r0, #0x0 + ldr r0, _0204F5E0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + bl FUN_020618B8 +_0204F5D4: + ldrb r0, [r5, #0x1] + bl FUN_0204EDEC +_0204F5DA: + add sp, #0xc + pop {r4-r5, pc} + nop +_0204F5E0: .word 0x021C5A68 +_0204F5E4: .word FUN_0204E2B4 + 1 +_0204F5E8: .word 0x00000424 +_0204F5EC: .word FUN_0204E2AC + 1 +_0204F5F0: .word 0x00000625 +_0204F5F4: .word FUN_0204E2D4 + 1 +_0204F5F8: .word 0x00000425 +_0204F5FC: .word FUN_0204E2BC + 1 +_0204F600: .word FUN_0204E2C8 + 1 +_0204F604: .word 0x0000FFFF +_0204F608: .word 0x000002B2 +_0204F60C: .word 0x0000062B + + thumb_func_start FUN_0204F610 +FUN_0204F610: ; 0x0204F610 + push {r3, lr} + cmp r0, #0x0 + bne _0204F61A + mov r0, #0x1 + pop {r3, pc} +_0204F61A: + cmp r0, #0x1 + bne _0204F622 + mov r0, #0x0 + pop {r3, pc} +_0204F622: + cmp r0, #0x2 + bne _0204F62A + mov r0, #0x3 + pop {r3, pc} +_0204F62A: + cmp r0, #0x3 + bne _0204F632 + mov r0, #0x2 + pop {r3, pc} +_0204F632: + bl FUN_02020C2C + mov r0, #0x2 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204F63C +FUN_0204F63C: ; 0x0204F63C + push {r3-r4} + ldr r3, _0204F658 ; =0x021C5A68 + ldr r2, [r3, #0x0] + add r4, r2, r0 + ldr r2, _0204F65C ; =0x0000011A + strb r1, [r4, r2] + ldr r1, [r3, #0x0] + mov r4, #0xf + add r0, r1, r0 + add r2, #0x20 + strb r4, [r0, r2] + pop {r3-r4} + bx lr + nop +_0204F658: .word 0x021C5A68 +_0204F65C: .word 0x0000011A + + thumb_func_start FUN_0204F660 +FUN_0204F660: ; 0x0204F660 + ldr r1, _0204F670 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F674 ; =0x0000011A + strb r2, [r1, r0] + bx lr + nop +_0204F670: .word 0x021C5A68 +_0204F674: .word 0x0000011A + + thumb_func_start FUN_0204F678 +FUN_0204F678: ; 0x0204F678 + push {r3-r4} + ldr r3, _0204F694 ; =0x021C5A68 + ldr r2, [r3, #0x0] + add r4, r2, r0 + ldr r2, _0204F698 ; =0x00000122 + strb r1, [r4, r2] + ldr r1, [r3, #0x0] + mov r4, #0xf + add r0, r1, r0 + add r2, #0x18 + strb r4, [r0, r2] + pop {r3-r4} + bx lr + nop +_0204F694: .word 0x021C5A68 +_0204F698: .word 0x00000122 + + thumb_func_start FUN_0204F69C +FUN_0204F69C: ; 0x0204F69C + ldr r1, _0204F6AC ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6B0 ; =0x00000122 + strb r2, [r1, r0] + bx lr + nop +_0204F6AC: .word 0x021C5A68 +_0204F6B0: .word 0x00000122 + + thumb_func_start FUN_0204F6B4 +FUN_0204F6B4: ; 0x0204F6B4 + ldr r1, _0204F6C0 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6C4 ; =0x00000142 + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0204F6C0: .word 0x021C5A68 +_0204F6C4: .word 0x00000142 + + thumb_func_start FUN_0204F6C8 +FUN_0204F6C8: ; 0x0204F6C8 + ldr r1, _0204F6D4 ; =0x021C5A68 + ldr r1, [r1, #0x0] + add r1, r1, r0 + ldr r0, _0204F6D8 ; =0x0000013A + ldrb r0, [r1, r0] + bx lr + .balign 4 +_0204F6D4: .word 0x021C5A68 +_0204F6D8: .word 0x0000013A + + thumb_func_start FUN_0204F6DC +FUN_0204F6DC: ; 0x0204F6DC + push {r4, lr} + add r4, r0, #0x0 + ldr r0, _0204F708 ; =0x021C5A68 + add r1, r4, #0x0 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x54] + ldr r0, [r0, #0x38] + bl FUN_02055304 + bl FUN_02031190 + ldr r1, _0204F708 ; =0x021C5A68 + lsl r0, r0, #0x3 + ldr r1, [r1, #0x0] + add r0, r1, r0 + add r0, #0xa6 + strb r4, [r0, #0x0] + mov r0, #0x0 + bl FUN_0204D168 + pop {r4, pc} + nop +_0204F708: .word 0x021C5A68 + + thumb_func_start FUN_0204F70C +FUN_0204F70C: ; 0x0204F70C + push {r4, lr} + ldr r3, _0204F728 ; =0x021C5A68 + lsl r2, r0, #0x3 + ldr r4, [r3, #0x0] + lsl r0, r0, #0x2 + add r2, r4, r2 + add r2, #0xa6 + strb r1, [r2, #0x0] + ldr r2, [r3, #0x0] + add r0, r2, r0 + ldr r0, [r0, #0x8] + bl FUN_02055304 + pop {r4, pc} + .balign 4 +_0204F728: .word 0x021C5A68 + + thumb_func_start FUN_0204F72C +FUN_0204F72C: ; 0x0204F72C + push {r3, lr} + ldr r1, _0204F748 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r0, r1, r0 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204F742 + bl FUN_020552F8 + pop {r3, pc} +_0204F742: + mov r0, #0x0 + mvn r0, r0 + pop {r3, pc} + .balign 4 +_0204F748: .word 0x021C5A68 + + thumb_func_start FUN_0204F74C +FUN_0204F74C: ; 0x0204F74C + push {r3, lr} + cmp r0, #0x0 + beq _0204F75C + ldr r1, _0204F770 ; =0x021C5A68 + ldr r2, [r1, #0x0] + ldr r1, [r2, #0x0] + orr r0, r1 + str r0, [r2, #0x0] +_0204F75C: + bl FUN_02037760 + ldr r0, _0204F770 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r3, pc} + nop +_0204F770: .word 0x021C5A68 + + thumb_func_start FUN_0204F774 +FUN_0204F774: ; 0x0204F774 + push {r3-r4, lr} + sub sp, #0x4 + add r4, r0, #0x0 + beq _0204F788 + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r2, [r0, #0x0] + mvn r0, r4 + ldr r1, [r2, #0x0] + and r0, r1 + str r0, [r2, #0x0] +_0204F788: + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x10 + bne _0204F7A0 + mov r1, #0x1 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x3e + add r1, sp, #0x0 + bl FUN_020311D0 +_0204F7A0: + ldr r0, _0204F7D0 ; =0x021C5A68 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _0204F7CC + cmp r4, #0x10 + beq _0204F7BC + bl FUN_02037778 + mov r0, #0x1 + bl FUN_0204D628 + add sp, #0x4 + pop {r3-r4, pc} +_0204F7BC: + bl FUN_02037778 + ldr r0, _0204F7D0 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] +_0204F7CC: + add sp, #0x4 + pop {r3-r4, pc} + .balign 4 +_0204F7D0: .word 0x021C5A68 + + thumb_func_start FUN_0204F7D4 +FUN_0204F7D4: ; 0x0204F7D4 + ldr r0, _0204F7E0 ; =0x021C5A68 + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x0] + bx lr + nop +_0204F7E0: .word 0x021C5A68 + + thumb_func_start FUN_0204F7E4 +FUN_0204F7E4: ; 0x0204F7E4 + push {r3, lr} + bl FUN_02037760 + ldr r0, _0204F7F8 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + mov r0, #0xaf + lsl r0, r0, #0x2 + strb r2, [r1, r0] + pop {r3, pc} + .balign 4 +_0204F7F8: .word 0x021C5A68 + + thumb_func_start FUN_0204F7FC +FUN_0204F7FC: ; 0x0204F7FC + push {r3, lr} + bl FUN_02037778 + mov r0, #0x1 + bl FUN_0204D628 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0204F80C +FUN_0204F80C: ; 0x0204F80C + push {r3, lr} + ldr r0, _0204F850 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + ldrb r1, [r2, r0] + cmp r1, #0x0 + bne _0204F84C + sub r0, r0, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + bne _0204F832 + bl FUN_0204F7FC + ldr r0, _0204F850 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + strb r2, [r1, r0] + pop {r3, pc} +_0204F832: + bl FUN_02031190 + bl FUN_0223E734 + cmp r0, #0x0 + beq _0204F84C + bl FUN_0204F7FC + ldr r0, _0204F850 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204F854 ; =0x000002BF + strb r2, [r1, r0] +_0204F84C: + pop {r3, pc} + nop +_0204F850: .word 0x021C5A68 +_0204F854: .word 0x000002BF + + thumb_func_start FUN_0204F858 +FUN_0204F858: ; 0x0204F858 + push {r3, lr} + ldr r0, _0204F884 ; =0x021C5A68 + ldr r2, [r0, #0x0] + ldr r0, _0204F888 ; =0x000002BF + ldrb r1, [r2, r0] + cmp r1, #0x0 + bne _0204F880 + sub r0, r0, #0x1 + ldrb r0, [r2, r0] + cmp r0, #0x0 + beq _0204F880 + bl FUN_02031190 + bl FUN_0223E734 + cmp r0, #0x0 + bne _0204F880 + mov r0, #0x0 + bl FUN_0204D628 +_0204F880: + pop {r3, pc} + nop +_0204F884: .word 0x021C5A68 +_0204F888: .word 0x000002BF + + thumb_func_start FUN_0204F88C +FUN_0204F88C: ; 0x0204F88C + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204F902 + mov r6, #0x0 + add r4, r6, #0x0 + add r5, r6, #0x0 +_0204F89E: + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x8] + cmp r0, #0x0 + beq _0204F8F8 + bl FUN_02031190 + cmp r6, r0 + beq _0204F8F8 + ldr r0, _0204F908 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r0, r0, r4 + ldr r0, [r0, #0x8] + bl FUN_020553A0 + ldr r1, _0204F908 ; =0x021C5A68 + str r0, [sp, #0xc] + ldr r1, [r1, #0x0] + add r1, r1, r5 + add r2, r1, #0x0 + add r2, #0xa2 + ldrh r2, [r2, #0x0] + str r2, [sp, #0x8] + add r2, r1, #0x0 + add r2, #0xa4 + ldrh r7, [r2, #0x0] + mov r2, #0xa6 + ldrsb r1, [r1, r2] + str r1, [sp, #0x4] + ldr r1, [sp, #0x8] + bl FUN_02058B30 + ldr r0, [sp, #0xc] + add r1, r7, #0x0 + bl FUN_02058B50 + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x8] + str r0, [sp, #0x0] + ldr r0, [sp, #0xc] + mov r2, #0x0 + add r3, r7, #0x0 + bl FUN_02058E28 +_0204F8F8: + add r6, r6, #0x1 + add r4, r4, #0x4 + add r5, #0x8 + cmp r6, #0x8 + blt _0204F89E +_0204F902: + add sp, #0x10 + pop {r3-r7, pc} + nop +_0204F908: .word 0x021C5A68 + + thumb_func_start FUN_0204F90C +FUN_0204F90C: ; 0x0204F90C + push {r4-r5} + mov r3, #0xff + mov r4, #0x0 + add r0, r3, #0x0 + ldr r1, _0204F92C ; =0x021C5A68 + add r5, r4, #0x0 + add r0, #0x6b +_0204F91A: + ldr r2, [r1, #0x0] + add r4, r4, #0x1 + add r2, r2, r5 + add r5, #0x22 + strh r3, [r2, r0] + cmp r4, #0x8 + blt _0204F91A + pop {r4-r5} + bx lr + .balign 4 +_0204F92C: .word 0x021C5A68 + + thumb_func_start FUN_0204F930 +FUN_0204F930: ; 0x0204F930 + push {r3-r5, lr} + ldr r0, _0204F9B0 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204F9B4 ; =0x000002B9 + strb r2, [r1, r0] + bl FUN_02031190 + ldr r1, _0204F9B0 ; =0x021C5A68 + lsl r0, r0, #0x2 + ldr r1, [r1, #0x0] + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204F96E + bl FUN_02031190 + ldr r1, _0204F9B0 ; =0x021C5A68 + add r3, r0, #0x0 + ldr r2, [r1, #0x0] + lsl r1, r3, #0x2 + add r2, r2, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r1, [r2, r1] + mov r0, #0x5b + bl FUN_020311D0 + pop {r3-r5, pc} +_0204F96E: + mov r0, #0xf + bl FUN_02023928 + add r4, r0, #0x0 + mov r0, #0x14 + mov r1, #0xf + bl FUN_020219F4 + add r5, r0, #0x0 + cmp r4, #0x0 + bne _0204F988 + bl FUN_02020C2C +_0204F988: + cmp r5, #0x0 + bne _0204F990 + bl FUN_02020C2C +_0204F990: + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_0202397C + mov r0, #0x5b + add r1, r4, #0x0 + bl FUN_020311D0 + add r0, r5, #0x0 + bl FUN_02021A20 + add r0, r4, #0x0 + bl FUN_02016A18 + pop {r3-r5, pc} + nop +_0204F9B0: .word 0x021C5A68 +_0204F9B4: .word 0x000002B9 + + thumb_func_start FUN_0204F9B8 +FUN_0204F9B8: ; 0x0204F9B8 + mov r0, #0x20 + bx lr + + thumb_func_start FUN_0204F9BC +FUN_0204F9BC: ; 0x0204F9BC + push {r3-r7, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, sp, #0x4 + strb r5, [r0, #0x0] + ldr r0, _0204FA54 ; =0x021C5A68 + add r6, r2, #0x0 + ldr r2, [r0, #0x0] + cmp r2, #0x0 + beq _0204FA4C + ldr r1, _0204FA58 ; =0x0000014A + mov r0, #0x22 + add r4, r5, #0x0 + mul r4, r0 + add r1, r2, r1 + add r0, r6, #0x0 + add r1, r1, r4 + bl FUN_0202393C + add r0, r6, #0x0 + mov r1, #0xf + bl FUN_020239A0 + str r0, [sp, #0x0] + bl FUN_02021D3C + cmp r0, #0x0 + beq _0204F9FE + ldr r0, _0204FA54 ; =0x021C5A68 + ldr r0, [r0, #0x0] + add r1, r0, r4 + ldr r0, _0204FA5C ; =0x0000016A + strh r5, [r1, r0] +_0204F9FE: + mov r4, #0x0 + ldr r6, _0204FA54 ; =0x021C5A68 + ldr r7, _0204FA5C ; =0x0000016A + add r5, r4, #0x0 +_0204FA06: + ldr r0, [r6, #0x0] + add r1, r0, r5 + ldrh r0, [r1, r7] + cmp r0, #0xff + beq _0204FA26 + ldr r0, _0204FA5C ; =0x0000016A + strh r4, [r1, r0] + mov r0, #0x5c + add r1, r0, #0x0 + ldr r2, [r6, #0x0] + add r1, #0xee + add r1, r2, r1 + add r1, r1, r5 + mov r2, #0x22 + bl FUN_02030B3C +_0204FA26: + add r4, r4, #0x1 + add r5, #0x22 + cmp r4, #0x8 + blt _0204FA06 + mov r0, #0x5d + add r1, sp, #0x4 + mov r2, #0x1 + bl FUN_02030BC4 + ldr r0, [sp, #0x0] + bl FUN_02021A20 + ldr r0, _0204FA54 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204FA60 ; =0x000002C2 + add sp, #0x8 + strb r2, [r1, r0] + pop {r3-r7, pc} +_0204FA4C: + bl FUN_02020C2C + add sp, #0x8 + pop {r3-r7, pc} + .balign 4 +_0204FA54: .word 0x021C5A68 +_0204FA58: .word 0x0000014A +_0204FA5C: .word 0x0000016A +_0204FA60: .word 0x000002C2 + + thumb_func_start FUN_0204FA64 +FUN_0204FA64: ; 0x0204FA64 + ldr r0, _0204FA70 ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204FA74 ; =0x0000025A + add r0, r1, r0 + bx lr + nop +_0204FA70: .word 0x021C5A68 +_0204FA74: .word 0x0000025A + + thumb_func_start FUN_0204FA78 +FUN_0204FA78: ; 0x0204FA78 + push {r4-r6, lr} + ldr r0, _0204FAC8 ; =0x021C5A68 + add r6, r2, #0x0 + ldr r1, [r0, #0x0] + cmp r1, #0x0 + beq _0204FAC4 + ldrh r5, [r6, #0x20] + lsl r0, r5, #0x2 + add r1, r1, r0 + mov r0, #0x29 + lsl r0, r0, #0x4 + ldr r0, [r1, r0] + cmp r0, #0x0 + beq _0204FA98 + bl FUN_02016A18 +_0204FA98: + mov r0, #0xf + lsl r4, r5, #0x2 + bl FUN_02023928 + ldr r2, _0204FAC8 ; =0x021C5A68 + ldr r1, [r2, #0x0] + add r3, r1, r4 + mov r1, #0x29 + lsl r1, r1, #0x4 + str r0, [r3, r1] + ldr r2, [r2, #0x0] + add r0, r6, #0x0 + add r2, r2, r4 + ldr r1, [r2, r1] + bl FUN_0202393C + ldr r0, _0204FAC8 ; =0x021C5A68 + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, r0, r5 + add r0, #0xfa + strb r1, [r0, #0x0] +_0204FAC4: + pop {r4-r6, pc} + nop +_0204FAC8: .word 0x021C5A68 + + thumb_func_start FUN_0204FACC +FUN_0204FACC: ; 0x0204FACC + mov r0, #0x22 + bx lr + + thumb_func_start FUN_0204FAD0 +FUN_0204FAD0: ; 0x0204FAD0 + push {r4, lr} + add r4, r2, #0x0 + bl FUN_02031190 + ldrb r1, [r4, #0x0] + cmp r1, r0 + bne _0204FAE8 + ldr r0, _0204FAF4 ; =0x021C5A68 + mov r2, #0x1 + ldr r1, [r0, #0x0] + ldr r0, _0204FAF8 ; =0x000002B9 + strb r2, [r1, r0] +_0204FAE8: + ldr r0, _0204FAF4 ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204FAFC ; =0x000002C2 + strb r2, [r1, r0] + pop {r4, pc} + .balign 4 +_0204FAF4: .word 0x021C5A68 +_0204FAF8: .word 0x000002B9 +_0204FAFC: .word 0x000002C2 + + thumb_func_start FUN_0204FB00 +FUN_0204FB00: ; 0x0204FB00 + ldr r0, _0204FB0C ; =0x021C5A68 + ldr r1, [r0, #0x0] + ldr r0, _0204FB10 ; =0x000002B9 + ldrb r0, [r1, r0] + bx lr + nop +_0204FB0C: .word 0x021C5A68 +_0204FB10: .word 0x000002B9 + + thumb_func_start FUN_0204FB14 +FUN_0204FB14: ; 0x0204FB14 + ldr r0, _0204FB24 ; =0x021C5A68 + mov r2, #0x8 + ldr r1, [r0, #0x0] + mov r0, #0xb + lsl r0, r0, #0x6 + strb r2, [r1, r0] + bx lr + nop +_0204FB24: .word 0x021C5A68 + + thumb_func_start FUN_0204FB28 +FUN_0204FB28: ; 0x0204FB28 + push {r3-r5, lr} + mov r4, #0x0 + bl FUN_02031190 + ldr r2, _0204FB9C ; =0x021C5A68 + lsl r1, r0, #0x2 + ldr r3, [r2, #0x0] + add r5, r3, r1 + mov r1, #0x29 + lsl r1, r1, #0x4 + ldr r3, [r5, r1] + cmp r3, #0x0 + beq _0204FB60 + add r4, r3, #0x0 + mov r3, #0x0 + str r3, [r5, r1] + ldr r1, [r2, #0x0] + add r1, r1, r0 + add r1, #0xfa + strb r3, [r1, #0x0] + ldr r3, [r2, #0x0] + mov r2, #0x22 + mul r2, r0 + mov r1, #0xff + add r0, r1, #0x0 + add r2, r3, r2 + add r0, #0x6b + strh r1, [r2, r0] +_0204FB60: + mov r5, #0x0 +_0204FB62: + add r0, r5, #0x0 + bl FUN_0204ED9C + add r5, r5, #0x1 + cmp r5, #0x8 + blt _0204FB62 + cmp r4, #0x0 + beq _0204FB9A + ldr r1, _0204FB9C ; =0x021C5A68 + mov r0, #0x29 + ldr r2, [r1, #0x0] + lsl r0, r0, #0x4 + str r4, [r2, r0] + ldr r0, [r1, #0x0] + mov r2, #0x1 + add r0, #0xfa + strb r2, [r0, #0x0] + ldr r2, [r1, #0x0] + ldr r1, _0204FBA0 ; =0x0000014A + add r0, r4, #0x0 + add r1, r2, r1 + bl FUN_0202393C + ldr r0, _0204FB9C ; =0x021C5A68 + mov r2, #0x0 + ldr r1, [r0, #0x0] + ldr r0, _0204FBA4 ; =0x0000016A + strh r2, [r1, r0] +_0204FB9A: + pop {r3-r5, pc} + .balign 4 +_0204FB9C: .word 0x021C5A68 +_0204FBA0: .word 0x0000014A +_0204FBA4: .word 0x0000016A + + thumb_func_start FUN_0204FBA8 +FUN_0204FBA8: ; 0x0204FBA8 + bx lr + .balign 4 + + thumb_func_start FUN_0204FBAC +FUN_0204FBAC: ; 0x0204FBAC + bx lr + .balign 4 + + thumb_func_start FUN_0204FBB0 +FUN_0204FBB0: ; 0x0204FBB0 + push {r4, lr} + ldr r1, _0204FC08 ; =0x021C5A6C + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204FC04 + bl FUN_0208881C + mov r0, #0xf + mov r1, #0x48 + bl FUN_02016998 + ldr r1, _0204FC08 ; =0x021C5A6C + mov r2, #0x48 + str r0, [r1, #0x0] + mov r1, #0x0 + blx FUN_020CE34C + ldr r0, _0204FC08 ; =0x021C5A6C + mov r1, #0x32 + ldr r0, [r0, #0x0] + mov r2, #0xa + strh r1, [r0, #0x3c] + ldr r0, _0204FC0C ; =FUN_0205006C + mov r1, #0x0 + bl FUN_0200CA44 + ldr r1, _0204FC08 ; =0x021C5A6C + ldr r2, [r1, #0x0] + str r0, [r2, #0x38] + ldr r0, [r1, #0x0] + mov r2, #0x0 + str r4, [r0, #0x18] + ldr r0, [r1, #0x0] + str r2, [r0, #0x44] + bl FUN_0204FBA8 + ldr r0, _0204FC08 ; =0x021C5A6C + ldr r0, [r0, #0x0] + add r0, #0x1c + bl FUN_020312BC +_0204FC04: + pop {r4, pc} + nop +_0204FC08: .word 0x021C5A6C +_0204FC0C: .word FUN_0205006C + 1 + + thumb_func_start FUN_0204FC10 +FUN_0204FC10: ; 0x0204FC10 + push {r4-r6, lr} + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204FC56 + ldr r0, [r0, #0x38] + bl FUN_0200CAB4 + mov r4, #0x0 + ldr r6, _0204FC58 ; =0x021C5A6C + add r5, r4, #0x0 +_0204FC26: + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + beq _0204FC32 + bl FUN_02016A18 +_0204FC32: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _0204FC26 + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x44] + cmp r0, #0x0 + beq _0204FC48 + bl FUN_02016A18 +_0204FC48: + ldr r0, _0204FC58 ; =0x021C5A6C + ldr r0, [r0, #0x0] + bl FUN_02016A18 + ldr r0, _0204FC58 ; =0x021C5A6C + mov r1, #0x0 + str r1, [r0, #0x0] +_0204FC56: + pop {r4-r6, pc} + .balign 4 +_0204FC58: .word 0x021C5A6C + + thumb_func_start FUN_0204FC5C +FUN_0204FC5C: ; 0x0204FC5C + push {r4, lr} + ldr r1, _0204FC9C ; =0x021C5A6C + add r4, r0, #0x0 + ldr r1, [r1, #0x0] + cmp r1, #0x0 + bne _0204FC9A + bl FUN_020377AC + bl FUN_02031824 + add r0, r4, #0x0 + bl FUN_0204FBB0 + mov r2, #0x3a + mov r0, #0x3 + mov r1, #0x21 + lsl r2, r2, #0xa + bl FUN_0201681C + ldr r0, _0204FC9C ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F194 + cmp r0, #0x0 + bne _0204FC9A + bl FUN_02031924 +_0204FC9A: + pop {r4, pc} + .balign 4 +_0204FC9C: .word 0x021C5A6C + + thumb_func_start FUN_0204FCA0 +FUN_0204FCA0: ; 0x0204FCA0 + push {r3, lr} + ldr r0, _0204FCD0 ; =0x021C5A6C + mov r2, #0x1 + ldr r1, [r0, #0x0] + add r1, #0x41 + strb r2, [r1, #0x0] + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl FUN_02029FC8 + mov r1, #0x24 + bl FUN_0202A170 + ldr r0, _0204FCD0 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl FUN_0223E060 + ldr r0, _0204FCD4 ; =FUN_020500A4 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0204FCD0: .word 0x021C5A6C +_0204FCD4: .word FUN_020500A4 + 1 + + thumb_func_start FUN_0204FCD8 +FUN_0204FCD8: ; 0x0204FCD8 + push {r3, lr} + ldr r0, _0204FCEC ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0204FCEA + ldr r0, _0204FCF0 ; =FUN_02050D54 + mov r1, #0x3 + bl FUN_02050094 +_0204FCEA: + pop {r3, pc} + .balign 4 +_0204FCEC: .word 0x021C5A6C +_0204FCF0: .word FUN_02050D54 + 1 + + thumb_func_start FUN_0204FCF4 +FUN_0204FCF4: ; 0x0204FCF4 + push {r3, lr} + bl FUN_02031914 + ldr r0, _0204FD04 ; =FUN_020504D8 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0204FD04: .word FUN_020504D8 + 1 + + thumb_func_start FUN_0204FD08 +FUN_0204FD08: ; 0x0204FD08 + push {r3, lr} + bl FUN_0202EDD8 + cmp r0, #0x0 + bne _0204FD1E + bl FUN_02245F1C + ldr r0, _0204FD20 ; =FUN_020500A4 + mov r1, #0x0 + bl FUN_02050094 +_0204FD1E: + pop {r3, pc} + .balign 4 +_0204FD20: .word FUN_020500A4 + 1 + + thumb_func_start FUN_0204FD24 +FUN_0204FD24: ; 0x0204FD24 + push {r3, lr} + bl FUN_02031934 + ldr r0, _0204FD34 ; =FUN_0204FD08 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0204FD34: .word FUN_0204FD08 + 1 + + thumb_func_start FUN_0204FD38 +FUN_0204FD38: ; 0x0204FD38 + push {r3-r7, lr} + sub sp, #0x10 + ldr r0, _0204FDBC ; =0x021C5A6C + add r2, sp, #0x0 + ldr r0, [r0, #0x0] + ldr r3, _0204FDC0 ; =0x020F5838 + ldr r5, [r0, #0x34] + add r6, r2, #0x0 + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldmia r3!, {r0-r1} + stmia r2!, {r0-r1} + ldr r0, _0204FDC4 ; =FUN_020502AC + ldr r4, _0204FDC8 ; =FUN_02050548 + ldr r7, _0204FDCC ; =FUN_02050168 + cmp r5, r0 + bne _0204FD68 + ldr r0, _0204FDD0 ; =FUN_0205031C + mov r1, #0x0 + bl FUN_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD68: + cmp r4, r5 + bne _0204FD7A + ldr r0, _0204FDD4 ; =FUN_02050578 + mov r1, #0x0 + bl FUN_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD7A: + cmp r7, r5 + bne _0204FD8C + ldr r0, _0204FDD8 ; =FUN_020505E0 + mov r1, #0x0 + bl FUN_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FD8C: + ldr r0, _0204FDDC ; =FUN_020504D0 + cmp r0, r5 + bne _0204FDA0 + ldr r0, _0204FDE0 ; =FUN_02050610 + mov r1, #0x0 + bl FUN_02050094 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FDA0: + mov r1, #0x0 +_0204FDA2: + ldr r0, [r6, #0x0] + cmp r5, r0 + bne _0204FDAE + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} +_0204FDAE: + add r1, r1, #0x1 + add r6, r6, #0x4 + cmp r1, #0x4 + blo _0204FDA2 + mov r0, #0x0 + add sp, #0x10 + pop {r3-r7, pc} + .balign 4 +_0204FDBC: .word 0x021C5A6C +_0204FDC0: .word 0x020F5838 +_0204FDC4: .word FUN_020502AC + 1 +_0204FDC8: .word FUN_02050548 + 1 +_0204FDCC: .word FUN_02050168 + 1 +_0204FDD0: .word FUN_0205031C + 1 +_0204FDD4: .word FUN_02050578 + 1 +_0204FDD8: .word FUN_020505E0 + 1 +_0204FDDC: .word FUN_020504D0 + 1 +_0204FDE0: .word FUN_02050610 + 1 + + thumb_func_start FUN_0204FDE4 +FUN_0204FDE4: ; 0x0204FDE4 + push {r4, lr} + ldr r0, _0204FE38 ; =0x021C5A6C + ldr r3, _0204FE3C ; =FUN_0205058C + ldr r0, [r0, #0x0] + ldr r2, _0204FE40 ; =FUN_020505F4 + ldr r4, [r0, #0x34] + ldr r0, _0204FE44 ; =FUN_02050330 + ldr r1, _0204FE48 ; =FUN_02050624 + cmp r4, r0 + bne _0204FE04 + ldr r0, _0204FE4C ; =FUN_02050338 + mov r1, #0x0 + bl FUN_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE04: + cmp r3, r4 + bne _0204FE14 + ldr r0, _0204FE50 ; =FUN_02050594 + mov r1, #0x0 + bl FUN_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE14: + cmp r2, r4 + bne _0204FE24 + ldr r0, _0204FE54 ; =FUN_020505F8 + mov r1, #0x0 + bl FUN_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE24: + cmp r1, r4 + bne _0204FE34 + ldr r0, _0204FE58 ; =FUN_02050628 + mov r1, #0x0 + bl FUN_02050094 + mov r0, #0x1 + pop {r4, pc} +_0204FE34: + mov r0, #0x0 + pop {r4, pc} + .balign 4 +_0204FE38: .word 0x021C5A6C +_0204FE3C: .word FUN_0205058C + 1 +_0204FE40: .word FUN_020505F4 + 1 +_0204FE44: .word FUN_02050330 + 1 +_0204FE48: .word FUN_02050624 + 1 +_0204FE4C: .word FUN_02050338 + 1 +_0204FE50: .word FUN_02050594 + 1 +_0204FE54: .word FUN_020505F8 + 1 +_0204FE58: .word FUN_02050628 + 1 + + thumb_func_start FUN_0204FE5C +FUN_0204FE5C: ; 0x0204FE5C + push {r3-r4} + sub sp, #0x38 + ldr r4, _0204FEA8 ; =0x020F5848 + add r3, sp, #0x0 + mov r2, #0x7 +_0204FE66: + ldmia r4!, {r0-r1} + stmia r3!, {r0-r1} + sub r2, r2, #0x1 + bne _0204FE66 + ldr r0, _0204FEAC ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x34] + cmp r0, #0x0 + bne _0204FE80 + add sp, #0x38 + mov r0, #0x0 + pop {r3-r4} + bx lr +_0204FE80: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _0204FE9E + add r2, sp, #0x0 +_0204FE88: + ldr r0, [r2, #0x0] + cmp r1, r0 + bne _0204FE96 + add sp, #0x38 + mov r0, #0x1 + pop {r3-r4} + bx lr +_0204FE96: + add r2, r2, #0x4 + ldr r0, [r2, #0x0] + cmp r0, #0x0 + bne _0204FE88 +_0204FE9E: + mov r0, #0x0 + add sp, #0x38 + pop {r3-r4} + bx lr + nop +_0204FEA8: .word 0x020F5848 +_0204FEAC: .word 0x021C5A6C + + thumb_func_start FUN_0204FEB0 +FUN_0204FEB0: ; 0x0204FEB0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02030F40 + cmp r0, #0x0 + bne _0204FEE8 + add r0, r5, #0x0 + bl FUN_020377AC + mov r1, #0x0 + add r3, r5, #0x0 + str r1, [sp, #0x0] + add r3, #0xac + ldr r3, [r3, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_02031948 + add r0, r5, #0x0 + bl FUN_0204FBB0 + ldr r0, _0204FEEC ; =FUN_02050640 + mov r1, #0x0 + bl FUN_02050094 +_0204FEE8: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0204FEEC: .word FUN_02050640 + 1 + + thumb_func_start FUN_0204FEF0 +FUN_0204FEF0: ; 0x0204FEF0 + push {r3-r6, lr} + sub sp, #0x4 + add r5, r0, #0x0 + add r4, r1, #0x0 + add r6, r2, #0x0 + bl FUN_02030F40 + cmp r0, #0x0 + bne _0204FF28 + add r0, r5, #0x0 + bl FUN_020377AC + mov r1, #0x0 + add r3, r5, #0x0 + str r1, [sp, #0x0] + add r3, #0xac + ldr r3, [r3, #0x0] + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_02031990 + add r0, r5, #0x0 + bl FUN_0204FBB0 + ldr r0, _0204FF2C ; =FUN_02050668 + mov r1, #0x0 + bl FUN_02050094 +_0204FF28: + add sp, #0x4 + pop {r3-r6, pc} + .balign 4 +_0204FF2C: .word FUN_02050668 + 1 + + thumb_func_start FUN_0204FF30 +FUN_0204FF30: ; 0x0204FF30 + ldr r1, _0204FF40 ; =0x021C5A6C + ldr r3, _0204FF44 ; =FUN_02050094 + ldr r1, [r1, #0x0] + add r1, #0x3e + strb r0, [r1, #0x0] + ldr r0, _0204FF48 ; =FUN_02050688 + mov r1, #0x0 + bx r3 + .balign 4 +_0204FF40: .word 0x021C5A6C +_0204FF44: .word FUN_02050094 + 1 +_0204FF48: .word FUN_02050688 + 1 + + thumb_func_start FUN_0204FF4C +FUN_0204FF4C: ; 0x0204FF4C + ldr r3, _0204FF54 ; =FUN_02050094 + ldr r0, _0204FF58 ; =FUN_02050BBC + mov r1, #0x0 + bx r3 + .balign 4 +_0204FF54: .word FUN_02050094 + 1 +_0204FF58: .word FUN_02050BBC + 1 + + thumb_func_start FUN_0204FF5C +FUN_0204FF5C: ; 0x0204FF5C + push {r4-r7, lr} + sub sp, #0xc + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0200E3BC + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0200E3BC + mov r0, #0x1 + add r1, r0, #0x0 + bl FUN_020334E8 + bl FUN_02031810 + cmp r0, #0x0 + beq _02050014 + ldr r0, _02050018 ; =0x021C5A6C + ldr r1, [r0, #0x0] + cmp r1, #0x0 + bne _0204FF9C + add r0, r4, #0x0 + bl FUN_0204FBB0 + ldr r0, _02050018 ; =0x021C5A6C + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x42 + strb r1, [r0, #0x0] + b _0204FFA2 +_0204FF9C: + mov r0, #0x0 + add r1, #0x42 + strb r0, [r1, #0x0] +_0204FFA2: + ldr r0, _02050018 ; =0x021C5A6C + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + bl FUN_02031190 + str r0, [sp, #0x8] + bl FUN_02031190 + bl FUN_0202DFA4 + mov r4, #0x0 + bl FUN_02030F20 + cmp r0, #0x0 + ble _0204FFEA + ldr r6, _02050018 ; =0x021C5A6C + add r5, r4, #0x0 + add r7, r4, #0x0 +_0204FFCA: + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + bne _0204FFDE + ldr r1, _0205001C ; =0x0000066C + add r0, r7, #0x0 + bl FUN_02016998 + ldr r1, [r6, #0x0] + str r0, [r1, r5] +_0204FFDE: + add r5, r5, #0x4 + add r4, r4, #0x1 + bl FUN_02030F20 + cmp r4, r0 + blt _0204FFCA +_0204FFEA: + ldr r0, _02050018 ; =0x021C5A6C + mov r3, #0xff + ldr r1, [r0, #0x0] + ldr r0, [r1, #0x18] + str r0, [sp, #0x0] + ldr r0, [sp, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + str r0, [sp, #0x4] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl FUN_02064E90 + mov r0, #0x5f + bl FUN_02031588 + ldr r0, _02050020 ; =FUN_02050C14 + mov r1, #0x0 + bl FUN_02050094 +_02050014: + add sp, #0xc + pop {r4-r7, pc} + .balign 4 +_02050018: .word 0x021C5A6C +_0205001C: .word 0x0000066C +_02050020: .word FUN_02050C14 + 1 + + thumb_func_start FUN_02050024 +FUN_02050024: ; 0x02050024 + push {r3, lr} + ldr r0, _02050040 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _0205003E + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_020334E8 + ldr r0, _02050044 ; =FUN_02050DB0 + mov r1, #0x5 + bl FUN_02050094 +_0205003E: + pop {r3, pc} + .balign 4 +_02050040: .word 0x021C5A6C +_02050044: .word FUN_02050DB0 + 1 + + thumb_func_start FUN_02050048 +FUN_02050048: ; 0x02050048 + push {r3, lr} + ldr r0, _02050064 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050060 + mov r0, #0x5b + bl FUN_02031588 + ldr r0, _02050068 ; =FUN_02050D88 + mov r1, #0x5 + bl FUN_02050094 +_02050060: + pop {r3, pc} + nop +_02050064: .word 0x021C5A6C +_02050068: .word FUN_02050D88 + 1 + + thumb_func_start FUN_0205006C +FUN_0205006C: ; 0x0205006C + push {r3, lr} + ldr r1, _02050090 ; =0x021C5A6C + ldr r2, [r1, #0x0] + cmp r2, #0x0 + bne _0205007C + bl FUN_0200CAB4 + pop {r3, pc} +_0205007C: + ldr r1, [r2, #0x34] + cmp r1, #0x0 + beq _0205008C + add r2, #0x40 + ldrb r0, [r2, #0x0] + cmp r0, #0x0 + bne _0205008C + blx r1 +_0205008C: + pop {r3, pc} + nop +_02050090: .word 0x021C5A6C + + thumb_func_start FUN_02050094 +FUN_02050094: ; 0x02050094 + ldr r2, _020500A0 ; =0x021C5A6C + ldr r3, [r2, #0x0] + str r0, [r3, #0x34] + ldr r0, [r2, #0x0] + strh r1, [r0, #0x3c] + bx lr + .balign 4 +_020500A0: .word 0x021C5A6C + + thumb_func_start FUN_020500A4 +FUN_020500A4: ; 0x020500A4 + push {r3, lr} + ldr r0, _02050108 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020500B6 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020500B6: + bl FUN_02030F40 + cmp r0, #0x0 + beq _02050104 + ldr r0, _02050108 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl FUN_0223E1E0 + bl FUN_0202DBE0 + mov r0, #0x0 + bl FUN_0204D168 + bl FUN_0223EF7C + bl FUN_02245FA0 + ldr r0, _02050108 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F194 + cmp r0, #0x0 + bne _020500F8 + ldr r0, _0205010C ; =FUN_02050114 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_020500F8: + bl FUN_0204F80C + ldr r0, _02050110 ; =FUN_02050144 + mov r1, #0x18 + bl FUN_02050094 +_02050104: + pop {r3, pc} + nop +_02050108: .word 0x021C5A6C +_0205010C: .word FUN_02050114 + 1 +_02050110: .word FUN_02050144 + 1 + + thumb_func_start FUN_02050114 +FUN_02050114: ; 0x02050114 + push {r3, lr} + ldr r0, _0205013C ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0xc] + bl FUN_020462AC + bl FUN_0205F194 + cmp r0, #0x0 + beq _0205013A + bl FUN_02031880 + bl FUN_0204F80C + ldr r0, _02050140 ; =FUN_02050168 + mov r1, #0x18 + bl FUN_02050094 +_0205013A: + pop {r3, pc} + .balign 4 +_0205013C: .word 0x021C5A6C +_02050140: .word FUN_02050168 + 1 + + thumb_func_start FUN_02050144 +FUN_02050144: ; 0x02050144 + push {r3, lr} + ldr r0, _02050160 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050156 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050156: + ldr r0, _02050164 ; =FUN_02050168 + mov r1, #0x18 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050160: .word 0x021C5A6C +_02050164: .word FUN_02050168 + 1 + + thumb_func_start FUN_02050168 +FUN_02050168: ; 0x02050168 + push {r3, lr} + bl FUN_0223DFB4 + bl FUN_0204F80C + bl FUN_020318C4 + cmp r0, #0x0 + beq _02050198 + bl FUN_02031190 + cmp r0, #0x0 + bne _02050190 + bl FUN_02245324 + ldr r0, _0205019C ; =FUN_0205024C + mov r1, #0x3c + bl FUN_02050094 + pop {r3, pc} +_02050190: + ldr r0, _020501A0 ; =FUN_020501A4 + mov r1, #0x78 + bl FUN_02050094 +_02050198: + pop {r3, pc} + nop +_0205019C: .word FUN_0205024C + 1 +_020501A0: .word FUN_020501A4 + 1 + + thumb_func_start FUN_020501A4 +FUN_020501A4: ; 0x020501A4 + push {r3, lr} + ldr r0, _02050240 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020501B4 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] +_020501B4: + bl FUN_0202EE44 + cmp r0, #0x0 + bne _020501CE + bl FUN_020311F0 + cmp r0, #0x0 + bne _020501CE + ldr r0, _02050240 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x0 + bne _020501DC +_020501CE: + bl FUN_02031880 + ldr r0, _02050244 ; =FUN_020504A4 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_020501DC: + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0x0 + beq _0205023C + ldr r0, _02050240 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050202 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + bl FUN_02030C58 + mov r1, #0x42 + lsl r1, r1, #0x2 + cmp r0, r1 + bne _0205023C +_02050202: + bl FUN_0223E6B8 + mov r0, #0x0 + bl FUN_0204D040 + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_022408FC + mov r0, #0x0 + mov r1, #0x1 + bl FUN_0223FCE8 + mov r0, #0x0 + bl FUN_0202DE78 + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + bl FUN_0204D43C + bl FUN_0204F858 + ldr r0, _02050248 ; =FUN_02050350 + mov r1, #0xa + bl FUN_02050094 +_0205023C: + pop {r3, pc} + nop +_02050240: .word 0x021C5A6C +_02050244: .word FUN_020504A4 + 1 +_02050248: .word FUN_02050350 + 1 + + thumb_func_start FUN_0205024C +FUN_0205024C: ; 0x0205024C + push {r3, lr} + bl FUN_0223DFB4 + ldr r0, _020502A0 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050260 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] +_02050260: + bl FUN_020311E8 + cmp r0, #0x0 + bne _02050272 + ldr r0, _020502A0 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x0 + bne _0205029E +_02050272: + bl FUN_0223E6B8 + cmp r0, #0x0 + beq _0205027E + bl FUN_0204F7FC +_0205027E: + ldr r0, _020502A4 ; =0x02105E74 + bl FUN_0204FBAC + mov r0, #0x0 + bl FUN_0204D168 + bl FUN_0204F930 + bl FUN_02245FA0 + bl FUN_0223E7FC + ldr r0, _020502A8 ; =FUN_020502AC + mov r1, #0x0 + bl FUN_02050094 +_0205029E: + pop {r3, pc} + .balign 4 +_020502A0: .word 0x021C5A6C +_020502A4: .word 0x02105E74 +_020502A8: .word FUN_020502AC + 1 + + thumb_func_start FUN_020502AC +FUN_020502AC: ; 0x020502AC + push {r3, lr} + bl FUN_0223DFB4 + ldr r0, _02050314 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0x10] + cmp r0, #0x0 + bne _02050310 + bl FUN_020311F0 + cmp r0, #0x0 + bne _020502E2 + bl FUN_0202EE24 + cmp r0, #0x0 + beq _020502E2 + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0x0 + bne _02050310 + bl FUN_02031280 + cmp r0, #0x0 + bne _02050310 +_020502E2: + mov r0, #0x0 + bl FUN_02245358 + bl FUN_0204F90C + bl FUN_02247808 + mov r0, #0x2b + bl FUN_020311DC + bl FUN_02031190 + mov r1, #0x1 + bl FUN_0223FCE8 + bl FUN_0223E6B8 + bl FUN_020318B4 + ldr r0, _02050318 ; =FUN_02050458 + mov r1, #0x0 + bl FUN_02050094 +_02050310: + pop {r3, pc} + nop +_02050314: .word 0x021C5A6C +_02050318: .word FUN_02050458 + 1 + + thumb_func_start FUN_0205031C +FUN_0205031C: ; 0x0205031C + push {r3, lr} + bl FUN_0204CC48 + ldr r0, _0205032C ; =FUN_02050330 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0205032C: .word FUN_02050330 + 1 + + thumb_func_start FUN_02050330 +FUN_02050330: ; 0x02050330 + ldr r3, _02050334 ; =FUN_0223DFB4 + bx r3 + .balign 4 +_02050334: .word FUN_0223DFB4 + 1 + + thumb_func_start FUN_02050338 +FUN_02050338: ; 0x02050338 + push {r3, lr} + bl FUN_02245F1C + bl FUN_0204CC9C + ldr r0, _0205034C ; =FUN_020502AC + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0205034C: .word FUN_020502AC + 1 + + thumb_func_start FUN_02050350 +FUN_02050350: ; 0x02050350 + push {r3, lr} + ldr r0, _020503A8 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x9 + bne _02050364 + bl FUN_0202DBE0 + bl FUN_0223E7FC +_02050364: + ldr r0, _020503A8 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x1 + bne _02050374 + mov r0, #0x0 + bl FUN_0204D198 +_02050374: + ldr r0, _020503A8 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050384 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050384: + bl FUN_0202DCF8 + cmp r0, #0x0 + beq _020503A0 + ldr r0, _020503AC ; =0x02105E80 + bl FUN_0204FBAC + bl FUN_0204F930 + ldr r0, _020503B0 ; =FUN_020503B4 + mov r1, #0xc8 + bl FUN_02050094 + pop {r3, pc} +_020503A0: + bl FUN_02050548 + pop {r3, pc} + nop +_020503A8: .word 0x021C5A6C +_020503AC: .word 0x02105E80 +_020503B0: .word FUN_020503B4 + 1 + + thumb_func_start FUN_020503B4 +FUN_020503B4: ; 0x020503B4 + push {r3, lr} + bl FUN_0204FB00 + cmp r0, #0x0 + beq _020503CC + bl FUN_0223EF7C + ldr r0, _020503E8 ; =FUN_020503F0 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_020503CC: + bl FUN_02050548 + ldr r0, _020503EC ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020503E0 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020503E0: + bl FUN_02050510 + pop {r3, pc} + nop +_020503E8: .word FUN_020503F0 + 1 +_020503EC: .word 0x021C5A6C + + thumb_func_start FUN_020503F0 +FUN_020503F0: ; 0x020503F0 + push {r3, lr} + bl FUN_0223F4D8 + cmp r0, #0x0 + beq _02050412 + ldr r0, _02050418 ; =0x02105E94 + bl FUN_0204FBAC + bl FUN_0223F4F4 + bl FUN_02245FA0 + ldr r0, _0205041C ; =FUN_02050420 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_02050412: + bl FUN_02050548 + pop {r3, pc} + .balign 4 +_02050418: .word 0x02105E94 +_0205041C: .word FUN_02050420 + 1 + + thumb_func_start FUN_02050420 +FUN_02050420: ; 0x02050420 + push {r3, lr} + bl FUN_022461A4 + cmp r0, #0x0 + beq _0205044A + ldr r0, _02050450 ; =0x02105EB0 + bl FUN_0204FBAC + bl FUN_022461B8 + mov r0, #0x1 + bl FUN_0204D168 + mov r0, #0x1f + bl FUN_020311DC + ldr r0, _02050454 ; =FUN_02050548 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_0205044A: + bl FUN_02050548 + pop {r3, pc} + .balign 4 +_02050450: .word 0x02105EB0 +_02050454: .word FUN_02050548 + 1 + + thumb_func_start FUN_02050458 +FUN_02050458: ; 0x02050458 + push {r3, lr} + bl FUN_02031280 + cmp r0, #0x0 + beq _02050472 + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0204EAD8 + ldr r0, _02050474 ; =FUN_02050478 + mov r1, #0x1e + bl FUN_02050094 +_02050472: + pop {r3, pc} + .balign 4 +_02050474: .word FUN_02050478 + 1 + + thumb_func_start FUN_02050478 +FUN_02050478: ; 0x02050478 + push {r3, lr} + ldr r0, _0205049C ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _0205048A + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_0205048A: + bl FUN_02031190 + cmp r0, #0x0 + bne _0205049A + ldr r0, _020504A0 ; =FUN_020500A4 + mov r1, #0x0 + bl FUN_02050094 +_0205049A: + pop {r3, pc} + .balign 4 +_0205049C: .word 0x021C5A6C +_020504A0: .word FUN_020500A4 + 1 + + thumb_func_start FUN_020504A4 +FUN_020504A4: ; 0x020504A4 + push {r3, lr} + ldr r0, _020504C8 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020504B6 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020504B6: + bl FUN_02031190 + cmp r0, #0x0 + bne _020504C6 + ldr r0, _020504CC ; =FUN_020500A4 + mov r1, #0x0 + bl FUN_02050094 +_020504C6: + pop {r3, pc} + .balign 4 +_020504C8: .word 0x021C5A6C +_020504CC: .word FUN_020500A4 + 1 + + thumb_func_start FUN_020504D0 +FUN_020504D0: ; 0x020504D0 + ldr r3, _020504D4 ; =FUN_0223DFB4 + bx r3 + .balign 4 +_020504D4: .word FUN_0223DFB4 + 1 + + thumb_func_start FUN_020504D8 +FUN_020504D8: ; 0x020504D8 + push {r3, lr} + bl FUN_02031190 + cmp r0, #0x0 + bne _02050506 + ldr r0, _02050508 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl FUN_0223E1E0 + bl FUN_0202DBE0 + mov r0, #0x0 + bl FUN_0204D168 + bl FUN_0223EF7C + bl FUN_02245FA0 + ldr r0, _0205050C ; =FUN_020504D0 + mov r1, #0x0 + bl FUN_02050094 +_02050506: + pop {r3, pc} + .balign 4 +_02050508: .word 0x021C5A6C +_0205050C: .word FUN_020504D0 + 1 + + thumb_func_start FUN_02050510 +FUN_02050510: ; 0x02050510 + push {r3, lr} + bl FUN_02031190 + mov r1, #0x1 + bl FUN_0223FCE8 + bl FUN_02031190 + mov r1, #0x1 + bl FUN_02247728 + bl FUN_0223CACC + bl FUN_0204CEF8 + bl FUN_0223E6B8 + bl FUN_02031880 + bl FUN_0204FB28 + ldr r0, _02050544 ; =FUN_020504A4 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050544: .word FUN_020504A4 + 1 + + thumb_func_start FUN_02050548 +FUN_02050548: ; 0x02050548 + push {r3, lr} + bl FUN_0223DFB4 + bl FUN_0204F80C + ldr r0, _02050574 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0x10] + cmp r0, #0x0 + bne _02050572 + bl FUN_0202EE44 + cmp r0, #0x0 + bne _0205056E + bl FUN_020311F0 + cmp r0, #0x0 + beq _02050572 +_0205056E: + bl FUN_02050510 +_02050572: + pop {r3, pc} + .balign 4 +_02050574: .word 0x021C5A6C + + thumb_func_start FUN_02050578 +FUN_02050578: ; 0x02050578 + push {r3, lr} + bl FUN_0204CC48 + ldr r0, _02050588 ; =FUN_0205058C + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050588: .word FUN_0205058C + 1 + + thumb_func_start FUN_0205058C +FUN_0205058C: ; 0x0205058C + ldr r3, _02050590 ; =0x02247831 + bx r3 + .balign 4 +_02050590: .word 0x02247831 + + thumb_func_start FUN_02050594 +FUN_02050594: ; 0x02050594 + push {r3, lr} + bl FUN_02245F1C + bl FUN_0204CC9C + bl FUN_0202EE44 + cmp r0, #0x0 + bne _020505AE + bl FUN_020311F0 + cmp r0, #0x0 + beq _020505CC +_020505AE: + bl FUN_022452A4 + bl FUN_0204CEF8 + bl FUN_0223E6B8 + bl FUN_02031880 + bl FUN_0204FB28 + ldr r0, _020505D8 ; =FUN_020504A4 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_020505CC: + ldr r0, _020505DC ; =FUN_02050548 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + nop +_020505D8: .word FUN_020504A4 + 1 +_020505DC: .word FUN_02050548 + 1 + + thumb_func_start FUN_020505E0 +FUN_020505E0: ; 0x020505E0 + push {r3, lr} + bl FUN_0204CC48 + ldr r0, _020505F0 ; =FUN_020505F4 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_020505F0: .word FUN_020505F4 + 1 + + thumb_func_start FUN_020505F4 +FUN_020505F4: ; 0x020505F4 + bx lr + .balign 4 + + thumb_func_start FUN_020505F8 +FUN_020505F8: ; 0x020505F8 + push {r3, lr} + bl FUN_02245F1C + bl FUN_0204CC9C + ldr r0, _0205060C ; =FUN_02050168 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0205060C: .word FUN_02050168 + 1 + + thumb_func_start FUN_02050610 +FUN_02050610: ; 0x02050610 + push {r3, lr} + bl FUN_0204CF24 + ldr r0, _02050620 ; =FUN_02050624 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050620: .word FUN_02050624 + 1 + + thumb_func_start FUN_02050624 +FUN_02050624: ; 0x02050624 + bx lr + .balign 4 + + thumb_func_start FUN_02050628 +FUN_02050628: ; 0x02050628 + push {r3, lr} + bl FUN_02245F1C + bl FUN_0204CC9C + ldr r0, _0205063C ; =FUN_020504D0 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_0205063C: .word FUN_020504D0 + 1 + + thumb_func_start FUN_02050640 +FUN_02050640: ; 0x02050640 + push {r3, lr} + bl FUN_02031190 + bl FUN_02030E7C + cmp r0, #0x0 + beq _0205065E + bl FUN_02240834 + bl FUN_0202DBE0 + ldr r0, _02050660 ; =FUN_02050664 + mov r1, #0x0 + bl FUN_02050094 +_0205065E: + pop {r3, pc} + .balign 4 +_02050660: .word FUN_02050664 + 1 + + thumb_func_start FUN_02050664 +FUN_02050664: ; 0x02050664 + bx lr + .balign 4 + + thumb_func_start FUN_02050668 +FUN_02050668: ; 0x02050668 + push {r3, lr} + bl FUN_0202E4C8 + cmp r0, #0x0 + beq _0205067E + bl FUN_022407CC + ldr r0, _02050680 ; =FUN_02050684 + mov r1, #0x0 + bl FUN_02050094 +_0205067E: + pop {r3, pc} + .balign 4 +_02050680: .word FUN_02050684 + 1 + + thumb_func_start FUN_02050684 +FUN_02050684: ; 0x02050684 + bx lr + .balign 4 + + thumb_func_start FUN_02050688 +FUN_02050688: ; 0x02050688 + push {r3, lr} + ldr r0, _020506A0 ; =0x021C5A6C + ldr r0, [r0, #0x0] + add r0, #0x3e + ldrb r0, [r0, #0x0] + bl FUN_020319D8 + ldr r0, _020506A4 ; =FUN_020506A8 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_020506A0: .word 0x021C5A6C +_020506A4: .word FUN_020506A8 + 1 + + thumb_func_start FUN_020506A8 +FUN_020506A8: ; 0x020506A8 + push {r3, lr} + bl FUN_02031A2C + cmp r0, #0x0 + beq _020506BE + bl FUN_0202DBE0 + ldr r0, _020506C0 ; =FUN_020506C4 + mov r1, #0x0 + bl FUN_02050094 +_020506BE: + pop {r3, pc} + .balign 4 +_020506C0: .word FUN_020506C4 + 1 + + thumb_func_start FUN_020506C4 +FUN_020506C4: ; 0x020506C4 + bx lr + .balign 4 + + thumb_func_start FUN_020506C8 +FUN_020506C8: ; 0x020506C8 + push {r3, lr} + mov r0, #0x62 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050704 + bl FUN_0204D320 + add r1, r0, #0x0 + mov r0, #0xf + bl FUN_02016998 + ldr r1, _02050720 ; =0x021C5A6C + mov r2, #0x0 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x18] + bl FUN_0204CB20 + bl FUN_0204F80C + bl FUN_02030FC8 + mov r0, #0x5c + bl FUN_02031588 + ldr r0, _02050724 ; =FUN_02050728 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_02050704: + ldr r0, _02050720 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050714 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050714: + mov r0, #0x1e + strh r0, [r1, #0x3c] + mov r0, #0x62 + bl FUN_02031588 + pop {r3, pc} + .balign 4 +_02050720: .word 0x021C5A6C +_02050724: .word FUN_02050728 + 1 + + thumb_func_start FUN_02050728 +FUN_02050728: ; 0x02050728 + push {lr} + sub sp, #0xc + bl FUN_02031190 + cmp r0, #0x0 + bne _02050738 + bl FUN_0202DDE8 +_02050738: + mov r0, #0x5c + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050776 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x0 + bl FUN_0200E388 + mov r0, #0x1 + bl FUN_0200E388 + bl FUN_0204CC9C + mov r0, #0x0 + bl FUN_0204D168 + ldr r0, _0205077C ; =FUN_020507B4 + mov r1, #0x1 + bl FUN_02050094 +_02050776: + add sp, #0xc + pop {pc} + nop +_0205077C: .word FUN_020507B4 + 1 + + thumb_func_start FUN_02050780 +FUN_02050780: ; 0x02050780 + push {r3, lr} + ldr r0, _020507AC ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050792 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050792: + mov r0, #0x1e + bl FUN_020315D8 + cmp r0, #0x0 + beq _020507A8 + bl FUN_02030FA8 + ldr r0, _020507B0 ; =FUN_02050930 + mov r1, #0x0 + bl FUN_02050094 +_020507A8: + pop {r3, pc} + nop +_020507AC: .word 0x021C5A6C +_020507B0: .word FUN_02050930 + 1 + + thumb_func_start FUN_020507B4 +FUN_020507B4: ; 0x020507B4 + push {r3, lr} + ldr r0, _020507F0 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020507C6 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020507C6: + bl FUN_02031190 + cmp r0, #0x0 + bne _020507DE + bl FUN_0204ED08 + cmp r0, #0x0 + beq _020507EC + mov r0, #0x1e + bl FUN_02031588 + b _020507E4 +_020507DE: + mov r0, #0x1e + bl FUN_02031588 +_020507E4: + ldr r0, _020507F4 ; =FUN_02050780 + mov r1, #0x14 + bl FUN_02050094 +_020507EC: + pop {r3, pc} + nop +_020507F0: .word 0x021C5A6C +_020507F4: .word FUN_02050780 + 1 + + thumb_func_start FUN_020507F8 +FUN_020507F8: ; 0x020507F8 + push {r3, lr} + mov r0, #0x62 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050830 + bl FUN_0204D320 + add r1, r0, #0x0 + mov r0, #0xf + bl FUN_02016998 + ldr r1, _0205084C ; =0x021C5A6C + mov r2, #0x0 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x18] + bl FUN_0204CB20 + bl FUN_0204F80C + mov r0, #0x5c + bl FUN_02031588 + ldr r0, _02050850 ; =FUN_02050854 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} +_02050830: + ldr r0, _0205084C ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050840 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050840: + mov r0, #0x1e + strh r0, [r1, #0x3c] + mov r0, #0x62 + bl FUN_02031588 + pop {r3, pc} + .balign 4 +_0205084C: .word 0x021C5A6C +_02050850: .word FUN_02050854 + 1 + + thumb_func_start FUN_02050854 +FUN_02050854: ; 0x02050854 + push {r3, lr} + sub sp, #0x10 + bl FUN_02031190 + cmp r0, #0x0 + bne _02050864 + bl FUN_0202DDE8 +_02050864: + mov r0, #0x5c + bl FUN_020315D8 + cmp r0, #0x0 + beq _020508B0 + bl FUN_0204CC9C + mov r0, #0x0 + bl FUN_0204D168 + mov r1, #0x1 + add r0, sp, #0xc + strb r1, [r0, #0x0] + mov r0, #0x5e + add r1, sp, #0xc + bl FUN_020311D0 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x0 + bl FUN_0200E388 + mov r0, #0x1 + bl FUN_0200E388 + ldr r0, _020508B4 ; =FUN_02050A14 + mov r1, #0x0 + bl FUN_02050094 +_020508B0: + add sp, #0x10 + pop {r3, pc} + .balign 4 +_020508B4: .word FUN_02050A14 + 1 + + thumb_func_start FUN_020508B8 +FUN_020508B8: ; 0x020508B8 + push {r3-r7, lr} + mov r7, #0x0 + bl FUN_02030F20 + cmp r0, #0x0 + ble _02050916 + ldr r6, _02050928 ; =0x021C5A6C +_020508C6: + bl FUN_02031190 + cmp r7, r0 + beq _0205090C + add r0, r7, #0x0 + bl FUN_020315FC + cmp r0, #0x5e + bne _0205090C + ldr r0, [r6, #0x0] + ldr r0, [r0, #0x18] + ldr r0, [r0, #0x10] + cmp r0, #0x0 + bne _0205090C + mov r4, #0x0 + add r5, r4, #0x0 +_020508E6: + ldr r0, [r6, #0x0] + ldr r0, [r0, r5] + cmp r0, #0x0 + beq _020508F8 + bl FUN_02016A18 + ldr r1, [r6, #0x0] + mov r0, #0x0 + str r0, [r1, r5] +_020508F8: + add r4, r4, #0x1 + add r5, r5, #0x4 + cmp r4, #0x4 + blt _020508E6 + ldr r0, [r6, #0x0] + ldr r1, _0205092C ; =0x0000238E + ldr r0, [r0, #0x18] + mov r2, #0x0 + bl FUN_02038C78 +_0205090C: + add r7, r7, #0x1 + bl FUN_02030F20 + cmp r7, r0 + blt _020508C6 +_02050916: + ldr r1, _02050928 ; =0x021C5A6C + mov r0, #0x4 + ldr r1, [r1, #0x0] + ldr r1, [r1, #0x18] + ldr r1, [r1, #0x8] + bl FUN_020335F0 + pop {r3-r7, pc} + nop +_02050928: .word 0x021C5A6C +_0205092C: .word 0x0000238E + + thumb_func_start FUN_02050930 +FUN_02050930: ; 0x02050930 + push {r3, lr} + bl FUN_0204EB44 + cmp r0, #0x0 + bne _0205095A + ldr r0, _02050960 ; =0x021C5A6C + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] + mov r1, #0x1 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x5e + add r1, sp, #0x0 + bl FUN_020311D0 + ldr r0, _02050964 ; =FUN_02050A14 + mov r1, #0x0 + bl FUN_02050094 +_0205095A: + bl FUN_020508B8 + pop {r3, pc} + .balign 4 +_02050960: .word 0x021C5A6C +_02050964: .word FUN_02050A14 + 1 + + thumb_func_start FUN_02050968 +FUN_02050968: ; 0x02050968 + push {r3-r5, lr} + add r5, r0, #0x0 + add r4, r1, #0x0 + beq _02050986 + mov r0, #0xb + bl FUN_0206B8AC + ldr r1, _020509AC ; =0x021C5A6C + ldr r2, [r1, #0x0] + str r0, [r2, #0x44] + ldr r1, [r1, #0x0] + add r0, r4, #0x0 + ldr r1, [r1, #0x44] + bl FUN_0206BAD0 +_02050986: + cmp r5, #0x0 + beq _02050994 + ldr r0, _020509B0 ; =FUN_02050B8C + mov r1, #0x3 + bl FUN_02050094 + pop {r3-r5, pc} +_02050994: + mov r1, #0x3 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x5e + add r1, sp, #0x0 + bl FUN_020311D0 + ldr r0, _020509B4 ; =FUN_02050930 + mov r1, #0x0 + bl FUN_02050094 + pop {r3-r5, pc} + .balign 4 +_020509AC: .word 0x021C5A6C +_020509B0: .word FUN_02050B8C + 1 +_020509B4: .word FUN_02050930 + 1 + + thumb_func_start FUN_020509B8 +FUN_020509B8: ; 0x020509B8 + ldr r3, _020509C0 ; =FUN_02050094 + ldr r0, _020509C4 ; =FUN_02050930 + mov r1, #0x0 + bx r3 + .balign 4 +_020509C0: .word FUN_02050094 + 1 +_020509C4: .word FUN_02050930 + 1 + + thumb_func_start FUN_020509C8 +FUN_020509C8: ; 0x020509C8 + push {r3, lr} + bl FUN_02031438 + cmp r0, #0x0 + bne _02050A06 + bl FUN_02031190 + bl FUN_0204F6B4 + cmp r0, #0x0 + bne _02050A06 + ldr r0, _02050A08 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _020509EE + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_020509EE: + bl FUN_0204F7E4 + ldr r0, _02050A08 ; =0x021C5A6C + ldr r1, _02050A0C ; =FUN_02050968 + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x18] + bl FUN_02051880 + ldr r0, _02050A10 ; =FUN_020509B8 + mov r1, #0x0 + bl FUN_02050094 +_02050A06: + pop {r3, pc} + .balign 4 +_02050A08: .word 0x021C5A6C +_02050A0C: .word FUN_02050968 + 1 +_02050A10: .word FUN_020509B8 + 1 + + thumb_func_start FUN_02050A14 +FUN_02050A14: ; 0x02050A14 + push {r3, lr} + ldr r0, _02050A40 ; =0x021C5A6C + ldr r0, [r0, #0x0] + add r0, #0x43 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050A38 + ldr r0, _02050A44 ; =FUN_020509C8 + mov r1, #0x5 + bl FUN_02050094 + mov r1, #0x0 + add r0, sp, #0x0 + strb r1, [r0, #0x0] + mov r0, #0x5e + add r1, sp, #0x0 + bl FUN_020311D0 +_02050A38: + bl FUN_020508B8 + pop {r3, pc} + nop +_02050A40: .word 0x021C5A6C +_02050A44: .word FUN_020509C8 + 1 + + thumb_func_start FUN_02050A48 +FUN_02050A48: ; 0x02050A48 + push {r4, lr} + add r4, r2, #0x0 + bl FUN_02031190 + ldrb r1, [r4, #0x0] + cmp r1, r0 + bne _02050A60 + ldr r0, _02050A64 ; =0x021C5A6C + mov r1, #0x1 + ldr r0, [r0, #0x0] + add r0, #0x43 + strb r1, [r0, #0x0] +_02050A60: + pop {r4, pc} + nop +_02050A64: .word 0x021C5A6C + + thumb_func_start FUN_02050A68 +FUN_02050A68: ; 0x02050A68 + ldr r0, _02050A88 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050A82 + ldr r1, [r0, #0x34] + ldr r0, _02050A8C ; =FUN_02050A14 + cmp r1, r0 + beq _02050A7E + ldr r0, _02050A90 ; =FUN_02050930 + cmp r1, r0 + bne _02050A82 +_02050A7E: + mov r0, #0x1 + bx lr +_02050A82: + mov r0, #0x0 + bx lr + nop +_02050A88: .word 0x021C5A6C +_02050A8C: .word FUN_02050A14 + 1 +_02050A90: .word FUN_02050930 + 1 + + thumb_func_start FUN_02050A94 +FUN_02050A94: ; 0x02050A94 + push {r4, lr} + sub sp, #0x8 + ldr r0, _02050B00 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050AAA + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + add sp, #0x8 + pop {r4, pc} +_02050AAA: + mov r4, #0x5 + bl FUN_02033534 + cmp r0, #0x2 + beq _02050AC0 + cmp r0, #0x4 + beq _02050ABC + cmp r0, #0x5 + bne _02050AC2 +_02050ABC: + mov r4, #0xf + b _02050AC2 +_02050AC0: + mov r4, #0x7 +_02050AC2: + add r0, sp, #0x0 + bl FUN_02033578 + ldr r0, _02050B00 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r1, [r0, #0x44] + ldr r0, [r0, #0x18] + cmp r1, #0x0 + bne _02050ADE + add r1, sp, #0x0 + add r2, r4, #0x0 + bl FUN_0204726C + b _02050AF6 +_02050ADE: + add r2, r4, #0x0 + bl FUN_020472B0 + ldr r0, _02050B00 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldr r0, [r0, #0x44] + bl FUN_02016A18 + ldr r0, _02050B00 ; =0x021C5A6C + mov r1, #0x0 + ldr r0, [r0, #0x0] + str r1, [r0, #0x44] +_02050AF6: + bl FUN_0204FC10 + add sp, #0x8 + pop {r4, pc} + nop +_02050B00: .word 0x021C5A6C + + thumb_func_start FUN_02050B04 +FUN_02050B04: ; 0x02050B04 + push {r3, lr} + bl FUN_0202FA48 + cmp r0, #0x0 + beq _02050B3E + ldr r0, _02050B40 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050B1C + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] +_02050B1C: + ldr r0, _02050B40 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x5a + bne _02050B2C + mov r0, #0x4 + bl FUN_02031588 +_02050B2C: + mov r0, #0x4 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050B3E + ldr r0, _02050B44 ; =FUN_02050A94 + mov r1, #0x0 + bl FUN_02050094 +_02050B3E: + pop {r3, pc} + .balign 4 +_02050B40: .word 0x021C5A6C +_02050B44: .word FUN_02050A94 + 1 + + thumb_func_start FUN_02050B48 +FUN_02050B48: ; 0x02050B48 + push {r3, lr} + ldr r0, _02050B68 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050B5A + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050B5A: + bl FUN_0202FA10 + ldr r0, _02050B6C ; =FUN_02050B04 + mov r1, #0x78 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050B68: .word 0x021C5A6C +_02050B6C: .word FUN_02050B04 + 1 + + thumb_func_start FUN_02050B70 +FUN_02050B70: ; 0x02050B70 + push {r3, lr} + mov r0, #0x3 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050B84 + ldr r0, _02050B88 ; =FUN_02050B48 + mov r1, #0x2 + bl FUN_02050094 +_02050B84: + pop {r3, pc} + nop +_02050B88: .word FUN_02050B48 + 1 + + thumb_func_start FUN_02050B8C +FUN_02050B8C: ; 0x02050B8C + push {r3, lr} + ldr r0, _02050BB4 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050B9E + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050B9E: + mov r0, #0x0 + bl FUN_0204CCE0 + mov r0, #0x3 + bl FUN_02031588 + ldr r0, _02050BB8 ; =FUN_02050B70 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050BB4: .word 0x021C5A6C +_02050BB8: .word FUN_02050B70 + 1 + + thumb_func_start FUN_02050BBC +FUN_02050BBC: ; 0x02050BBC + push {r3, lr} + bl FUN_020319F4 + ldr r0, _02050BCC ; =FUN_02050BD0 + mov r1, #0x2 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050BCC: .word FUN_02050BD0 + 1 + + thumb_func_start FUN_02050BD0 +FUN_02050BD0: ; 0x02050BD0 + push {r3, lr} + bl FUN_0202EE0C + cmp r0, #0x0 + beq _02050BE2 + ldr r0, _02050BE4 ; =FUN_020506A8 + mov r1, #0xa + bl FUN_02050094 +_02050BE2: + pop {r3, pc} + .balign 4 +_02050BE4: .word FUN_020506A8 + 1 + + thumb_func_start FUN_02050BE8 +FUN_02050BE8: ; 0x02050BE8 + ldr r1, _02050BF4 ; =0x021C5A6C + mov r2, #0x1 + ldr r1, [r1, #0x0] + add r0, r1, r0 + strb r2, [r0, #0x10] + bx lr + .balign 4 +_02050BF4: .word 0x021C5A6C + + thumb_func_start FUN_02050BF8 +FUN_02050BF8: ; 0x02050BF8 + push {r4, lr} + add r4, r0, #0x0 + cmp r4, #0x4 + blt _02050C04 + bl FUN_02020C2C +_02050C04: + ldr r0, _02050C10 ; =0x021C5A6C + ldr r1, [r0, #0x0] + lsl r0, r4, #0x2 + ldr r0, [r1, r0] + pop {r4, pc} + nop +_02050C10: .word 0x021C5A6C + + thumb_func_start FUN_02050C14 +FUN_02050C14: ; 0x02050C14 + push {r4, lr} + bl FUN_02031190 + add r4, r0, #0x0 + mov r0, #0x5f + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050C3E + ldr r1, _02050C40 ; =0x021C5A6C + mov r0, #0x58 + ldr r2, [r1, #0x0] + lsl r1, r4, #0x2 + ldr r1, [r2, r1] + ldr r2, _02050C44 ; =0x0000066C + bl FUN_02030A78 + ldr r0, _02050C48 ; =FUN_02050C4C + mov r1, #0x0 + bl FUN_02050094 +_02050C3E: + pop {r4, pc} + .balign 4 +_02050C40: .word 0x021C5A6C +_02050C44: .word 0x0000066C +_02050C48: .word FUN_02050C4C + 1 + + thumb_func_start FUN_02050C4C +FUN_02050C4C: ; 0x02050C4C + push {r3-r5, lr} + mov r4, #0x0 + bl FUN_02030F20 + cmp r0, #0x0 + ble _02050C6E + ldr r5, _02050C80 ; =0x021C5A6C +_02050C5A: + ldr r0, [r5, #0x0] + add r0, r0, r4 + ldrb r0, [r0, #0x10] + cmp r0, #0x0 + beq _02050C7C + add r4, r4, #0x1 + bl FUN_02030F20 + cmp r4, r0 + blt _02050C5A +_02050C6E: + mov r0, #0x61 + bl FUN_02031588 + ldr r0, _02050C84 ; =FUN_02050CF4 + mov r1, #0x0 + bl FUN_02050094 +_02050C7C: + pop {r3-r5, pc} + nop +_02050C80: .word 0x021C5A6C +_02050C84: .word FUN_02050CF4 + 1 + + thumb_func_start FUN_02050C88 +FUN_02050C88: ; 0x02050C88 + push {r3, lr} + bl FUN_0202FA48 + cmp r0, #0x0 + bne _02050CC2 + ldr r0, _02050CC4 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050CA0 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] +_02050CA0: + ldr r0, _02050CC4 ; =0x021C5A6C + ldr r0, [r0, #0x0] + ldrh r0, [r0, #0x3c] + cmp r0, #0x5a + bne _02050CB0 + mov r0, #0x5 + bl FUN_02031588 +_02050CB0: + mov r0, #0x5 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050CC2 + ldr r0, _02050CC8 ; =FUN_02050D10 + mov r1, #0x0 + bl FUN_02050094 +_02050CC2: + pop {r3, pc} + .balign 4 +_02050CC4: .word 0x021C5A6C +_02050CC8: .word FUN_02050D10 + 1 + + thumb_func_start FUN_02050CCC +FUN_02050CCC: ; 0x02050CCC + push {r3, lr} + ldr r0, _02050CEC ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050CDE + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050CDE: + bl FUN_0202FA1C + ldr r0, _02050CF0 ; =FUN_02050C88 + mov r1, #0x78 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050CEC: .word 0x021C5A6C +_02050CF0: .word FUN_02050C88 + 1 + + thumb_func_start FUN_02050CF4 +FUN_02050CF4: ; 0x02050CF4 + push {r3, lr} + mov r0, #0x61 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050D08 + ldr r0, _02050D0C ; =FUN_02050CCC + mov r1, #0x2 + bl FUN_02050094 +_02050D08: + pop {r3, pc} + nop +_02050D0C: .word FUN_02050CCC + 1 + + thumb_func_start FUN_02050D10 +FUN_02050D10: ; 0x02050D10 + push {r3, lr} + ldr r0, _02050D48 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050D22 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050D22: + mov r0, #0x62 + bl FUN_02031588 + ldr r0, _02050D48 ; =0x021C5A6C + ldr r0, [r0, #0x0] + add r0, #0x42 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050D3E + ldr r0, _02050D4C ; =FUN_020506C8 + mov r1, #0x1e + bl FUN_02050094 + pop {r3, pc} +_02050D3E: + ldr r0, _02050D50 ; =FUN_020507F8 + mov r1, #0x1e + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050D48: .word 0x021C5A6C +_02050D4C: .word FUN_020506C8 + 1 +_02050D50: .word FUN_020507F8 + 1 + + thumb_func_start FUN_02050D54 +FUN_02050D54: ; 0x02050D54 + push {r3, lr} + ldr r0, _02050D84 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050D66 + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050D66: + bl FUN_0223E1A4 + bl FUN_02031860 + mov r0, #0x21 + bl FUN_020168D0 + ldr r0, _02050D84 ; =0x021C5A6C + mov r1, #0x0 + ldr r0, [r0, #0x0] + add r0, #0x41 + strb r1, [r0, #0x0] + bl FUN_0204FC10 + pop {r3, pc} + .balign 4 +_02050D84: .word 0x021C5A6C + + thumb_func_start FUN_02050D88 +FUN_02050D88: ; 0x02050D88 + push {r3, lr} + mov r0, #0x5b + bl FUN_020315D8 + cmp r0, #0x0 + beq _02050DAA + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_020334E8 + mov r0, #0x1 + bl FUN_0204CCE0 + ldr r0, _02050DAC ; =FUN_02050DC8 + mov r1, #0x5 + bl FUN_02050094 +_02050DAA: + pop {r3, pc} + .balign 4 +_02050DAC: .word FUN_02050DC8 + 1 + + thumb_func_start FUN_02050DB0 +FUN_02050DB0: ; 0x02050DB0 + push {r3, lr} + mov r0, #0x1 + bl FUN_0204CCE0 + ldr r0, _02050DC4 ; =FUN_02050DC8 + mov r1, #0x5 + bl FUN_02050094 + pop {r3, pc} + nop +_02050DC4: .word FUN_02050DC8 + 1 + + thumb_func_start FUN_02050DC8 +FUN_02050DC8: ; 0x02050DC8 + push {r3, lr} + ldr r0, _02050DE8 ; =0x021C5A6C + ldr r1, [r0, #0x0] + ldrh r0, [r1, #0x3c] + cmp r0, #0x0 + beq _02050DDA + sub r0, r0, #0x1 + strh r0, [r1, #0x3c] + pop {r3, pc} +_02050DDA: + bl FUN_02031A08 + ldr r0, _02050DEC ; =FUN_0204FC10 + mov r1, #0x0 + bl FUN_02050094 + pop {r3, pc} + .balign 4 +_02050DE8: .word 0x021C5A6C +_02050DEC: .word FUN_0204FC10 + 1 + + thumb_func_start FUN_02050DF0 +FUN_02050DF0: ; 0x02050DF0 + push {r3, lr} + ldr r1, _02050E0C ; =0x021C5A6C + ldr r1, [r1, #0x0] + cmp r1, #0x0 + beq _02050E02 + add r1, #0x41 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + bne _02050E06 +_02050E02: + mov r0, #0x0 + pop {r3, pc} +_02050E06: + bl FUN_0223E2AC + pop {r3, pc} + .balign 4 +_02050E0C: .word 0x021C5A6C + + thumb_func_start FUN_02050E10 +FUN_02050E10: ; 0x02050E10 + push {r3, lr} + ldr r0, _02050E28 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050E26 + add r0, #0x41 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050E26 + bl FUN_0223E118 +_02050E26: + pop {r3, pc} + .balign 4 +_02050E28: .word 0x021C5A6C + + thumb_func_start FUN_02050E2C +FUN_02050E2C: ; 0x02050E2C + push {r3, lr} + ldr r0, _02050E44 ; =0x021C5A6C + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050E42 + add r0, #0x41 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050E42 + bl FUN_0223E154 +_02050E42: + pop {r3, pc} + .balign 4 +_02050E44: .word 0x021C5A6C + + thumb_func_start FUN_02050E48 +FUN_02050E48: ; 0x02050E48 + push {r3-r7, lr} + sub sp, #0x8 + add r7, r0, #0x0 + add r5, r1, #0x0 + ldr r0, [sp, #0x24] + mov r1, #0x30 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + ldr r6, [r5, #0xc] + bl FUN_020169D8 + mov r1, #0x0 + mov r2, #0x30 + add r4, r0, #0x0 + blx FUN_020CE34C + ldr r0, [r5, #0xc] + bl FUN_020238F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0207C2A4 + add r0, r6, #0x0 + bl FUN_0206BB28 + str r0, [r4, #0x1c] + add r0, r6, #0x0 + bl FUN_02079C70 + str r0, [r4, #0x2c] + add r0, r6, #0x0 + bl FUN_02023900 + str r0, [r4, #0x4] + ldr r0, [sp, #0x0] + str r0, [r4, #0x0] + mov r0, #0x1 + strb r0, [r4, #0x11] + ldr r0, [sp, #0x4] + strb r0, [r4, #0x14] + ldr r0, [r4, #0x0] + bl FUN_0206B9AC + strb r0, [r4, #0x13] + mov r0, #0x0 + strh r0, [r4, #0x18] + ldr r0, [sp, #0x20] + strb r0, [r4, #0x12] + add r0, r6, #0x0 + bl FUN_0202A918 + str r0, [r4, #0x20] + ldr r1, _02050ECC ; =0x020F5880 + add r0, r4, #0x0 + bl FUN_0207B000 + ldr r1, _02050ED0 ; =0x020FA6E8 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_020373D4 + str r4, [r7, #0x0] + add sp, #0x8 + pop {r3-r7, pc} + nop +_02050ECC: .word 0x020F5880 +_02050ED0: .word 0x020FA6E8 + + thumb_func_start FUN_02050ED4 +FUN_02050ED4: ; 0x02050ED4 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x40 + bl FUN_02016998 + mov r1, #0x0 + mov r2, #0x40 + add r4, r0, #0x0 + blx FUN_020CE34C + ldr r0, [r5, #0x24] + ldr r0, [r0, #0xc] + bl FUN_02023900 + str r0, [r4, #0xc] + ldr r0, [r5, #0x24] + add r0, #0xac + ldr r0, [r0, #0x0] + str r0, [r4, #0x14] + ldr r0, [r5, #0x24] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + str r0, [r4, #0x0] + ldr r0, [r5, #0x24] + ldr r0, [r0, #0xc] + bl FUN_0206F158 + str r0, [r4, #0x4] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r0, [r5, #0x24] + add r0, #0xac + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02050F64 + mov r1, #0x1 + bl FUN_02023B0C + add r1, r4, #0x0 + add r1, #0x32 + ldrb r1, [r1, #0x0] + mov r2, #0xf + lsl r0, r0, #0x18 + bic r1, r2 + lsr r2, r0, #0x18 + mov r0, #0xf + and r0, r2 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x32 + ldrb r0, [r0, #0x0] + mov r1, #0xf0 + bic r0, r1 + add r1, r4, #0x0 + add r1, #0x32 + ldrb r1, [r1, #0x0] + lsl r1, r1, #0x1c + lsr r1, r1, #0x1c + lsl r1, r1, #0x1c + lsr r1, r1, #0x18 + b _02050F84 +_02050F64: + add r0, r4, #0x0 + add r0, #0x32 + ldrb r1, [r0, #0x0] + mov r0, #0xf + bic r1, r0 + mov r0, #0x3 + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x32 + ldrb r1, [r0, #0x0] + mov r0, #0xf0 + bic r1, r0 + mov r0, #0x30 +_02050F84: + orr r1, r0 + add r0, r4, #0x0 + add r0, #0x32 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x64 + add r0, #0x33 + strb r1, [r0, #0x0] + add r0, r5, #0x0 + add r0, #0x3c + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x22 + strb r1, [r0, #0x0] + mov r2, #0x0 +_02050FA2: + add r0, r5, r2 + add r0, #0x3d + ldrb r1, [r0, #0x0] + add r0, r4, r2 + add r0, #0x2c + add r2, r2, #0x1 + strb r1, [r0, #0x0] + cmp r2, #0x6 + blt _02050FA2 + ldr r0, [r5, #0x24] + ldr r1, _02050FC4 ; =0x020F96DC + add r2, r4, #0x0 + bl FUN_020373D4 + str r4, [r5, #0x4] + pop {r3-r5, pc} + nop +_02050FC4: .word 0x020F96DC + + thumb_func_start FUN_02050FC8 +FUN_02050FC8: ; 0x02050FC8 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + beq _02050FDA + mov r0, #0x0 + pop {r4, pc} +_02050FDA: + ldr r0, [r4, #0x4] + add r1, r4, #0x0 + add r0, #0x2c + add r1, #0x3d + mov r2, #0x6 + blx FUN_020CE3E0 + ldr r0, [r4, #0x4] + add r0, #0x22 + ldrb r0, [r0, #0x0] + cmp r0, #0x6 + beq _02050FFC + cmp r0, #0x7 + bne _02051002 + mov r0, #0x0 + str r0, [r4, #0x38] + b _02051006 +_02050FFC: + mov r0, #0x1 + str r0, [r4, #0x38] + b _02051006 +_02051002: + mov r0, #0x2 + str r0, [r4, #0x38] +_02051006: + ldr r0, [r4, #0x4] + add r0, #0x22 + ldrb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x3c + strb r1, [r0, #0x0] + ldr r0, [r4, #0x4] + bl FUN_02016A18 + mov r0, #0x0 + str r0, [r4, #0x4] + mov r0, #0x1 + pop {r4, pc} + + thumb_func_start FUN_02051020 +FUN_02051020: ; 0x02051020 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + beq _02051032 + mov r0, #0x0 + pop {r4, pc} +_02051032: + ldr r0, [r4, #0x0] + ldrb r1, [r0, #0x14] + add r0, r4, #0x0 + add r0, #0x3c + strb r1, [r0, #0x0] + ldr r0, [r4, #0x0] + bl FUN_02016A18 + mov r0, #0x0 + str r0, [r4, #0x0] + mov r0, #0x1 + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_0205104C +FUN_0205104C: ; 0x0205104C + push {r3, lr} + ldr r0, [r0, #0x24] + bl FUN_020464A4 + cmp r0, #0x0 + beq _02051066 + mov r0, #0x1 + bl FUN_021D7CA4 + bl FUN_0204CC9C + mov r0, #0x1 + pop {r3, pc} +_02051066: + mov r0, #0x0 + pop {r3, pc} + .balign 4 + + thumb_func_start FUN_0205106C +FUN_0205106C: ; 0x0205106C + push {r3-r5, lr} + bl FUN_02030F20 + add r5, r0, #0x0 + mov r4, #0x0 + cmp r5, #0x0 + ble _0205108E +_0205107A: + add r0, r4, #0x0 + bl FUN_020315FC + cmp r0, #0x5e + bne _02051088 + mov r0, #0x1 + pop {r3-r5, pc} +_02051088: + add r4, r4, #0x1 + cmp r4, r5 + blt _0205107A +_0205108E: + mov r0, #0x0 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02051094 +FUN_02051094: ; 0x02051094 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_02046528 + ldr r1, [r4, #0x34] + cmp r1, #0x2c + bls _020510AE + b _020517B8 +_020510AE: + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_020510BA: ; jump table (using 16-bit offset) + .short _02051114 - _020510BA - 2; case 0 + .short _02051136 - _020510BA - 2; case 1 + .short _02051150 - _020510BA - 2; case 2 + .short _0205116A - _020510BA - 2; case 3 + .short _020511A6 - _020510BA - 2; case 4 + .short _020511F6 - _020510BA - 2; case 5 + .short _020517B8 - _020510BA - 2; case 6 + .short _020511E4 - _020510BA - 2; case 7 + .short _0205120C - _020510BA - 2; case 8 + .short _02051232 - _020510BA - 2; case 9 + .short _0205123E - _020510BA - 2; case 10 + .short _0205126A - _020510BA - 2; case 11 + .short _02051288 - _020510BA - 2; case 12 + .short _0205129C - _020510BA - 2; case 13 + .short _020512A8 - _020510BA - 2; case 14 + .short _020512CA - _020510BA - 2; case 15 + .short _020512E0 - _020510BA - 2; case 16 + .short _0205130E - _020510BA - 2; case 17 + .short _02051334 - _020510BA - 2; case 18 + .short _02051346 - _020510BA - 2; case 19 + .short _0205138A - _020510BA - 2; case 20 + .short _0205136A - _020510BA - 2; case 21 + .short _020513A6 - _020510BA - 2; case 22 + .short _020513B6 - _020510BA - 2; case 23 + .short _020513D4 - _020510BA - 2; case 24 + .short _020513F2 - _020510BA - 2; case 25 + .short _02051406 - _020510BA - 2; case 26 + .short _02051472 - _020510BA - 2; case 27 + .short _020514A8 - _020510BA - 2; case 28 + .short _020514BE - _020510BA - 2; case 29 + .short _02051508 - _020510BA - 2; case 30 + .short _02051540 - _020510BA - 2; case 31 + .short _02051566 - _020510BA - 2; case 32 + .short _02051686 - _020510BA - 2; case 33 + .short _020516B6 - _020510BA - 2; case 34 + .short _020516CE - _020510BA - 2; case 35 + .short _020515BA - _020510BA - 2; case 36 + .short _020515F8 - _020510BA - 2; case 37 + .short _02051614 - _020510BA - 2; case 38 + .short _020516DE - _020510BA - 2; case 39 + .short _020517B8 - _020510BA - 2; case 40 + .short _02051702 - _020510BA - 2; case 41 + .short _02051744 - _020510BA - 2; case 42 + .short _02051766 - _020510BA - 2; case 43 + .short _02051798 - _020510BA - 2; case 44 +_02051114: + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x43 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _020511DC + mov r0, #0x1 + str r0, [r4, #0x34] + bl FUN_0204ECC0 + b _020517B8 +_02051136: + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x1 + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x2 + str r0, [r4, #0x34] + b _020517B8 +_02051150: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _020511DC + mov r0, #0x5d + bl FUN_02031588 + mov r0, #0x3 + str r0, [r4, #0x34] + b _020517B8 +_0205116A: + mov r0, #0x5d + bl FUN_020315D8 + cmp r0, #0x0 + beq _0205118A + mov r0, #0x7 + str r0, [r4, #0x34] + ldr r0, [r4, #0x24] + ldr r0, [r0, #0x34] + bl FUN_02058768 + ldr r1, [r4, #0x50] + ldr r2, [r4, #0x8] + mov r0, #0x1 + blx r2 + b _020517B8 +_0205118A: + ldr r0, _020514A4 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _020511DC + mov r0, #0x4 + str r0, [r4, #0x34] + mov r0, #0x5c + bl FUN_02031588 + mov r0, #0x5 + add r4, #0x43 + strb r0, [r4, #0x0] + b _020517B8 +_020511A6: + mov r0, #0x5d + bl FUN_020315D8 + cmp r0, #0x0 + beq _020511C4 + mov r0, #0x7 + str r0, [r4, #0x34] + ldr r0, [r4, #0x24] + ldr r0, [r0, #0x34] + bl FUN_02058768 + ldr r1, [r4, #0x50] + ldr r2, [r4, #0x8] + mov r0, #0x1 + blx r2 +_020511C4: + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x43 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _020511DE +_020511DC: + b _020517B8 +_020511DE: + mov r0, #0x8 + str r0, [r4, #0x34] + b _020517B8 +_020511E4: + add r0, r4, #0x0 + bl FUN_02051998 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x8 + mov r0, #0x1 + pop {r3-r5, pc} +_020511F6: + add r0, r4, #0x0 + bl FUN_02051998 + add r0, r4, #0x0 + bl FUN_02016A18 + bl FUN_0204F7FC + add sp, #0x8 + mov r0, #0x1 + pop {r3-r5, pc} +_0205120C: + mov r0, #0x5d + bl FUN_020315D8 + cmp r0, #0x0 + beq _02051224 + mov r0, #0x5 + str r0, [r4, #0x34] + ldr r1, [r4, #0x50] + ldr r2, [r4, #0x8] + mov r0, #0x1 + blx r2 + b _020517B8 +_02051224: + ldr r1, [r4, #0x50] + ldr r2, [r4, #0x8] + mov r0, #0x0 + blx r2 + mov r0, #0x5 + str r0, [r4, #0x34] + b _020517B8 +_02051232: + mov r0, #0xa + str r0, [r4, #0x34] + mov r0, #0x5 + add r4, #0x44 + strb r0, [r4, #0x0] + b _020517B8 +_0205123E: + add r1, r4, #0x0 + add r1, #0x44 + ldrb r1, [r1, #0x0] + cmp r1, #0x0 + beq _02051256 + add r0, r4, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + add r4, #0x44 + sub r0, r0, #0x1 + strb r0, [r4, #0x0] + b _020517B8 +_02051256: + ldr r0, [r0, #0x38] + bl FUN_020553A0 + bl FUN_0205AE28 + cmp r0, #0x0 + beq _020512FA + mov r0, #0xb + str r0, [r4, #0x34] + b _020517B8 +_0205126A: + bl FUN_0204ECC0 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0xd + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0xc + str r0, [r4, #0x34] + b _020517B8 +_02051288: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _020512FA + mov r0, #0xd + str r0, [r4, #0x34] + b _020517B8 +_0205129C: + mov r0, #0x0 + bl FUN_021D7CA4 + mov r0, #0xe + str r0, [r4, #0x34] + b _020517B8 +_020512A8: + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x43 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _020512FA + bl FUN_0204ECC0 + mov r0, #0xf + str r0, [r4, #0x34] + b _020517B8 +_020512CA: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02051810 + add r0, r4, #0x0 + mov r1, #0xb + bl FUN_02050ED4 + mov r0, #0x10 + str r0, [r4, #0x34] + b _020517B8 +_020512E0: + ldr r1, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_02050FC8 + cmp r0, #0x0 + beq _020512FA + ldr r0, [r4, #0x38] + cmp r0, #0x0 + beq _020512FC + cmp r0, #0x1 + beq _02051302 + cmp r0, #0x2 + beq _02051308 +_020512FA: + b _020517B8 +_020512FC: + mov r0, #0x14 + str r0, [r4, #0x34] + b _020517B8 +_02051302: + mov r0, #0x13 + str r0, [r4, #0x34] + b _020517B8 +_02051308: + mov r0, #0x11 + str r0, [r4, #0x34] + b _020517B8 +_0205130E: + ldr r0, [r4, #0x24] + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + add r2, r0, #0x0 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0xb + str r0, [sp, #0x4] + add r3, r4, #0x0 + add r3, #0x3c + ldrb r3, [r3, #0x0] + ldr r1, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_02050E48 + mov r0, #0x12 + str r0, [r4, #0x34] + b _020517B8 +_02051334: + ldr r1, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_02051020 + cmp r0, #0x0 + beq _02051410 + mov r0, #0xf + str r0, [r4, #0x34] + b _020517B8 +_02051346: + ldr r0, [r4, #0x24] + bl FUN_0204649C + add r0, r4, #0x0 + add r0, #0x88 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _02051364 + add r0, r4, #0x0 + mov r1, #0x5 + add r0, #0x43 + strb r1, [r0, #0x0] + mov r0, #0x15 + str r0, [r4, #0x34] + b _020517B8 +_02051364: + mov r0, #0x1a + str r0, [r4, #0x34] + b _020517B8 +_0205136A: + add r0, r4, #0x0 + add r0, #0x3d + bl FUN_02033564 + add r0, r4, #0x0 + bl FUN_0205104C + cmp r0, #0x0 + beq _02051410 + add r0, r4, #0x0 + mov r1, #0x5 + add r0, #0x43 + strb r1, [r0, #0x0] + mov r0, #0x0 + str r0, [r4, #0x34] + b _020517B8 +_0205138A: + ldr r0, [r4, #0x24] + bl FUN_0204649C + add r0, r4, #0x0 + add r0, #0x88 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _020513A0 + mov r0, #0x16 + str r0, [r4, #0x34] + b _020517B8 +_020513A0: + mov r0, #0x1a + str r0, [r4, #0x34] + b _020517B8 +_020513A6: + add r0, r4, #0x0 + bl FUN_0205104C + cmp r0, #0x0 + beq _02051410 + mov r0, #0x8 + str r0, [r4, #0x34] + b _020517B8 +_020513B6: + add r0, r4, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x44 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x44 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _02051410 + mov r0, #0x18 + str r0, [r4, #0x34] + b _020517B8 +_020513D4: + bl FUN_0204ECC0 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x13 + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x19 + str r0, [r4, #0x34] + b _020517B8 +_020513F2: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _02051410 + mov r0, #0xd + str r0, [r4, #0x34] + b _020517B8 +_02051406: + add r0, r4, #0x0 + bl FUN_0205104C + cmp r0, #0x0 + bne _02051412 +_02051410: + b _020517B8 +_02051412: + bl FUN_0205106C + cmp r0, #0x0 + beq _02051420 + mov r0, #0x5 + str r0, [r4, #0x34] + b _020517B8 +_02051420: + ldr r0, [r4, #0x38] + cmp r0, #0x0 + beq _0205142A + mov r1, #0x1 + b _0205142C +_0205142A: + mov r1, #0x0 +_0205142C: + add r0, r4, #0x0 + add r0, #0x82 + strb r1, [r0, #0x0] + add r1, r4, #0x0 + add r1, #0x82 + ldrb r1, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_020519F0 + mov r0, #0x0 + bl FUN_02031588 + ldr r0, [r4, #0x28] + ldr r2, [r4, #0x74] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0xe + bl FUN_0200A8E0 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0xc] + bl FUN_0200B7B8 + ldr r1, [r4, #0x10] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x1b + str r0, [r4, #0x34] + b _020517B8 +_02051472: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _02051574 + bl FUN_0205106C + cmp r0, #0x0 + beq _0205148E + mov r0, #0x5 + str r0, [r4, #0x34] + b _020517B8 +_0205148E: + mov r0, #0x0 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02051574 + add r0, r4, #0x0 + bl FUN_02051A38 + mov r0, #0x1c + str r0, [r4, #0x34] + b _020517B8 + .balign 4 +_020514A4: .word 0x021C48B8 +_020514A8: + add r0, r4, #0x0 + bl FUN_02051A80 + cmp r0, #0x0 + beq _02051574 + mov r0, #0x1 + bl FUN_02031588 + mov r0, #0x1d + str r0, [r4, #0x34] + b _020517B8 +_020514BE: + mov r0, #0x1 + bl FUN_020315D8 + cmp r0, #0x0 + beq _02051574 + add r0, r4, #0x0 + bl FUN_02051A90 + add r1, r4, #0x0 + add r1, #0x83 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x82 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02051502 + add r0, r4, #0x0 + add r0, #0x83 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _02051502 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x14 + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x1e + str r0, [r4, #0x34] + b _020517B8 +_02051502: + mov r0, #0x2a + str r0, [r4, #0x34] + b _020517B8 +_02051508: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _02051574 + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x89 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x11 + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x84 + strb r1, [r0, #0x0] + mov r0, #0x1f + str r0, [r4, #0x34] + b _020517B8 +_02051540: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _02051574 + add r0, r4, #0x0 + bl FUN_02051AF0 + add r1, r4, #0x0 + add r1, #0x84 + ldrb r1, [r1, #0x0] + add r0, r4, #0x0 + bl FUN_02051B68 + mov r0, #0x20 + str r0, [r4, #0x34] + b _020517B8 +_02051566: + add r0, r4, #0x0 + bl FUN_02051D54 + cmp r0, #0x1 + beq _02051576 + cmp r0, #0x2 + beq _0205158C +_02051574: + b _020517B8 +_02051576: + add r0, r4, #0x0 + bl FUN_02051E24 + mov r0, #0x81 + ldrsb r1, [r4, r0] + add r0, r4, #0x0 + add r0, #0x84 + strb r1, [r0, #0x0] + mov r0, #0x24 + str r0, [r4, #0x34] + b _020517B8 +_0205158C: + add r0, r4, #0x0 + bl FUN_02051E24 + add r0, r4, #0x0 + mov r1, #0xff + add r0, #0x84 + strb r1, [r0, #0x0] + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0xf + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x2 + bl FUN_02031588 + mov r0, #0x27 + str r0, [r4, #0x34] + b _020517B8 +_020515BA: + add r1, r4, #0x0 + add r1, #0x84 + ldrb r1, [r1, #0x0] + ldr r0, [r4, #0x50] + bl FUN_0206B9B0 + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0x28] + mov r1, #0x1 + bl FUN_0200AC60 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x12 + bl FUN_0200A8E0 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0xc] + bl FUN_0200B7B8 + ldr r1, [r4, #0x10] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x25 + str r0, [r4, #0x34] + b _020517B8 +_020515F8: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _0205168E + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02051C88 + mov r0, #0x26 + str r0, [r4, #0x34] + b _020517B8 +_02051614: + add r0, r4, #0x0 + bl FUN_02051D54 + cmp r0, #0x1 + beq _02051642 + cmp r0, #0x2 + bne _0205168E + add r0, r4, #0x0 + bl FUN_02051E24 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0x11 + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x1f + str r0, [r4, #0x34] + b _020517B8 +_02051642: + mov r0, #0x81 + ldrsb r0, [r4, r0] + cmp r0, #0x1 + bne _0205167A + add r0, r4, #0x0 + bl FUN_02051E24 + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0xe + bl FUN_0200A8E0 + ldr r0, [r4, #0x28] + ldr r1, [r4, #0x10] + ldr r2, [r4, #0xc] + bl FUN_0200B7B8 + ldr r1, [r4, #0x10] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + mov r0, #0x2 + bl FUN_02031588 + mov r0, #0x27 + str r0, [r4, #0x34] + b _020517B8 +_0205167A: + mov r0, #0x0 + bl FUN_021D7CA4 + mov r0, #0x21 + str r0, [r4, #0x34] + b _020517B8 +_02051686: + bl FUN_0200E308 + cmp r0, #0x0 + bne _02051690 +_0205168E: + b _020517B8 +_02051690: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02051810 + mov r0, #0x1 + str r0, [sp, #0x0] + mov r0, #0xb + str r0, [sp, #0x4] + add r3, r4, #0x0 + add r3, #0x84 + ldrb r3, [r3, #0x0] + ldr r1, [r4, #0x24] + ldr r2, [r4, #0x50] + add r0, r4, #0x0 + bl FUN_02050E48 + mov r0, #0x22 + str r0, [r4, #0x34] + b _020517B8 +_020516B6: + ldr r1, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_02051020 + cmp r0, #0x0 + beq _020517B8 + ldr r0, [r4, #0x24] + bl FUN_0204649C + mov r0, #0x23 + str r0, [r4, #0x34] + b _020517B8 +_020516CE: + add r0, r4, #0x0 + bl FUN_0205104C + cmp r0, #0x0 + beq _020517B8 + mov r0, #0x24 + str r0, [r4, #0x34] + b _020517B8 +_020516DE: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _020517B8 + mov r0, #0x2 + bl FUN_020315D8 + cmp r0, #0x0 + beq _020517B8 + add r0, r4, #0x0 + bl FUN_02051AA4 + mov r0, #0x29 + str r0, [r4, #0x34] + b _020517B8 +_02051702: + add r0, r4, #0x0 + bl FUN_02051AE0 + cmp r0, #0x0 + beq _020517B8 + add r0, r4, #0x0 + add r0, #0x84 + ldrb r0, [r0, #0x0] + cmp r0, #0xff + bne _02051722 + mov r0, #0x4 + bl FUN_02031588 + mov r0, #0x2c + str r0, [r4, #0x34] + b _020517B8 +_02051722: + add r0, r4, #0x0 + add r0, #0x85 + ldrb r0, [r0, #0x0] + cmp r0, #0xff + bne _02051732 + mov r0, #0x2a + str r0, [r4, #0x34] + b _020517B8 +_02051732: + add r0, r4, #0x0 + bl FUN_02051B1C + mov r0, #0x5d + bl FUN_02031588 + mov r0, #0x2 + str r0, [r4, #0x34] + b _020517B8 +_02051744: + ldr r0, [r4, #0x2c] + ldr r2, [r4, #0xc] + mov r1, #0xf + bl FUN_0200A8E0 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + bl FUN_020517C0 + str r0, [r4, #0x30] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x43 + strb r1, [r0, #0x0] + mov r0, #0x2b + str r0, [r4, #0x34] + b _020517B8 +_02051766: + ldr r0, [r4, #0x30] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _020517B8 + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + add r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x43 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x43 + ldrb r0, [r0, #0x0] + cmp r0, #0x3c + bls _020517B8 + mov r0, #0x4 + bl FUN_02031588 + mov r0, #0x2c + str r0, [r4, #0x34] + b _020517B8 +_02051798: + mov r0, #0x4 + bl FUN_020315D8 + cmp r0, #0x0 + beq _020517B8 + add r0, r4, #0x0 + add r0, #0x14 + mov r1, #0x0 + bl FUN_0200D0E0 + mov r0, #0x0 + ldr r2, [r4, #0x8] + add r1, r0, #0x0 + blx r2 + mov r0, #0x5 + str r0, [r4, #0x34] +_020517B8: + mov r0, #0x0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_020517C0 +FUN_020517C0: ; 0x020517C0 + push {r4-r6, lr} + add r5, r0, #0x0 + add r4, r5, #0x0 + add r4, #0x14 + add r0, r4, #0x0 + add r6, r1, #0x0 + bl FUN_02019048 + cmp r0, #0x0 + bne _020517F2 + ldr r0, [r5, #0x24] + add r1, r4, #0x0 + ldr r0, [r0, #0x8] + mov r2, #0x3 + bl FUN_020545B8 + ldr r0, [r5, #0x24] + ldr r0, [r0, #0xc] + bl FUN_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + bl FUN_02054608 + b _020517F8 +_020517F2: + add r0, r4, #0x0 + bl FUN_0205464C +_020517F8: + ldr r0, [r5, #0x24] + ldr r0, [r0, #0xc] + bl FUN_02023900 + add r2, r0, #0x0 + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r3, #0x1 + bl FUN_02054658 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02051810 +FUN_02051810: ; 0x02051810 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, #0x14 + add r4, r1, #0x0 + bl FUN_02019048 + cmp r0, #0x0 + beq _02051846 + cmp r4, #0x0 + beq _02051836 + add r0, r5, #0x0 + add r0, #0x14 + mov r1, #0x0 + bl FUN_0200D0E0 + add r0, r5, #0x0 + add r0, #0x14 + bl FUN_02019570 +_02051836: + add r0, r5, #0x0 + add r0, #0x14 + bl FUN_02019178 + add r0, r5, #0x0 + add r0, #0x14 + bl FUN_0201901C +_02051846: + add r0, r5, #0x0 + add r0, #0x54 + bl FUN_02019048 + cmp r0, #0x0 + beq _02051862 + add r0, r5, #0x0 + add r0, #0x54 + bl FUN_02019178 + add r0, r5, #0x0 + add r0, #0x54 + bl FUN_0201901C +_02051862: + add r0, r5, #0x0 + add r0, #0x64 + bl FUN_02019048 + cmp r0, #0x0 + beq _0205187E + add r0, r5, #0x0 + add r0, #0x64 + bl FUN_02019178 + add r5, #0x64 + add r0, r5, #0x0 + bl FUN_0201901C +_0205187E: + pop {r3-r5, pc} + + thumb_func_start FUN_02051880 +FUN_02051880: ; 0x02051880 + push {r4-r6, lr} + add r5, r0, #0x0 + ldr r0, [r5, #0x10] + add r6, r1, #0x0 + cmp r0, #0x0 + beq _0205188E + b _02051992 +_0205188E: + mov r0, #0xb + mov r1, #0x8c + bl FUN_020169D8 + add r4, r0, #0x0 + mov r1, #0x0 + mov r2, #0x8c + blx FUN_020CE34C + add r0, r4, #0x0 + mov r1, #0x5 + add r0, #0x43 + strb r1, [r0, #0x0] + str r5, [r4, #0x24] + str r6, [r4, #0x8] + mov r0, #0xb + bl FUN_0200AA80 + str r0, [r4, #0x28] + mov r0, #0x0 + mov r1, #0x1a + mov r2, #0x9 + mov r3, #0xb + bl FUN_0200A86C + str r0, [r4, #0x2c] + mov r0, #0xc8 + mov r1, #0xb + bl FUN_020219F4 + str r0, [r4, #0xc] + mov r0, #0xc8 + mov r1, #0xb + bl FUN_020219F4 + str r0, [r4, #0x10] + add r0, r4, #0x0 + add r0, #0x14 + bl FUN_0201901C + add r0, r4, #0x0 + add r0, #0x54 + bl FUN_0201901C + add r0, r4, #0x0 + add r0, #0x64 + bl FUN_0201901C + mov r0, #0xb + bl FUN_02013690 + str r0, [r4, #0x78] + bl FUN_02033534 + add r1, r4, #0x0 + add r1, #0x88 + strb r0, [r1, #0x0] + mov r1, #0x0 + str r1, [r4, #0x4c] + str r1, [r4, #0x48] + add r0, r4, #0x0 + str r1, [r4, #0x50] + add r0, #0x89 + strb r1, [r0, #0x0] + bl FUN_02031190 + add r1, r4, #0x0 + add r1, #0x86 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x86 + ldrh r1, [r0, #0x0] + mov r0, #0x1 + eor r0, r1 + bl FUN_0202DFA4 + str r0, [r4, #0x74] + add r0, r4, #0x0 + add r0, #0x88 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + beq _02051938 + cmp r0, #0x4 + beq _0205196E + b _02051974 +_02051938: + bl FUN_02051E54 + add r6, r0, #0x0 + mov r0, #0xb + add r1, r6, #0x0 + bl FUN_020169D8 + str r0, [r4, #0x4c] + mov r0, #0xb + add r1, r6, #0x0 + bl FUN_020169D8 + str r0, [r4, #0x48] + mov r0, #0xb + bl FUN_0206B8AC + mov r1, #0x3 + str r0, [r4, #0x50] + bl FUN_0206B8CC + add r0, r4, #0x0 + mov r1, #0x5 + add r0, #0x44 + strb r1, [r0, #0x0] + mov r0, #0x17 + str r0, [r4, #0x34] + b _02051988 +_0205196E: + mov r0, #0x9 + str r0, [r4, #0x34] + b _02051988 +_02051974: + ldr r0, [r4, #0x24] + add r0, #0xac + ldr r0, [r0, #0x0] + cmp r0, #0x0 + beq _02051984 + mov r0, #0x9 + str r0, [r4, #0x34] + b _02051988 +_02051984: mov r0, #0x0 - pop {r4, pc} + str r0, [r4, #0x34] +_02051988: + ldr r1, _02051994 ; =FUN_02051094 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_020463CC +_02051992: + pop {r4-r6, pc} .balign 4 -_0204FE38: .word 0x021C5A6C -_0204FE3C: .word 0x0205058D -_0204FE40: .word 0x020505F5 -_0204FE44: .word 0x02050331 -_0204FE48: .word 0x02050625 -_0204FE4C: .word 0x02050339 -_0204FE50: .word 0x02050595 -_0204FE54: .word 0x020505F9 -_0204FE58: .word 0x02050629 +_02051994: .word FUN_02051094 + 1 - thumb_func_start FUN_0204FE5C -FUN_0204FE5C: ; 0x0204FE5C - push {r3-r4} - sub sp, #0x38 - ldr r4, _0204FEA8 ; =0x020F5848 - add r3, sp, #0x0 - mov r2, #0x7 -_0204FE66: - ldmia r4!, {r0-r1} - stmia r3!, {r0-r1} - sub r2, r2, #0x1 - bne _0204FE66 - ldr r0, _0204FEAC ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r1, [r0, #0x34] + thumb_func_start FUN_02051998 +FUN_02051998: ; 0x02051998 + push {r4, lr} + add r4, r0, #0x0 + ldr r0, [r4, #0x50] cmp r0, #0x0 - bne _0204FE80 - add sp, #0x38 - mov r0, #0x0 - pop {r3-r4} - bx lr -_0204FE80: - ldr r0, [sp, #0x0] + beq _020519A6 + bl FUN_02016A18 +_020519A6: + ldr r0, [r4, #0x4c] cmp r0, #0x0 - beq _0204FE9E - add r2, sp, #0x0 -_0204FE88: - ldr r0, [r2, #0x0] - cmp r1, r0 - bne _0204FE96 - add sp, #0x38 - mov r0, #0x1 - pop {r3-r4} - bx lr -_0204FE96: - add r2, r2, #0x4 - ldr r0, [r2, #0x0] + beq _020519B0 + bl FUN_02016A18 +_020519B0: + ldr r0, [r4, #0x48] cmp r0, #0x0 - bne _0204FE88 -_0204FE9E: - mov r0, #0x0 - add sp, #0x38 - pop {r3-r4} - bx lr - nop -_0204FEA8: .word 0x020F5848 -_0204FEAC: .word 0x021C5A6C + beq _020519BA + bl FUN_02016A18 +_020519BA: + ldr r0, [r4, #0x2c] + bl FUN_0200A8B8 + ldr r0, [r4, #0x28] + bl FUN_0200AB18 + ldr r0, [r4, #0xc] + bl FUN_02021A20 + ldr r0, [r4, #0x10] + bl FUN_02021A20 + ldr r0, [r4, #0x78] + bl FUN_020136C0 + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02051810 + pop {r4, pc} + .balign 4 +_020519E4: + .byte 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02 - thumb_func_start FUN_0204FEB0 -FUN_0204FEB0: ; 0x0204FEB0 - push {r3-r6, lr} - sub sp, #0x4 - add r5, r0, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - bl FUN_02030F40 + thumb_func_start FUN_020519F0 +FUN_020519F0: ; 0x020519F0 + push {r3-r7, lr} + add r7, r0, #0x0 + ldr r0, [r7, #0x24] + add r5, r1, #0x0 + ldr r0, [r0, #0xc] + bl FUN_0206BB1C + str r0, [sp, #0x0] + ldr r4, [r7, #0x4c] + bl FUN_020690C4 + add r6, r0, #0x0 + lsl r0, r6, #0x1 + add r0, r6, r0 + str r5, [r4, r0] + ldr r0, [r4, r0] cmp r0, #0x0 - bne _0204FEE8 - add r0, r5, #0x0 - bl FUN_020377AC - mov r1, #0x0 - add r3, r5, #0x0 - str r1, [sp, #0x0] - add r3, #0xac - ldr r3, [r3, #0x0] + beq _02051A34 + mov r5, #0x0 +_02051A16: + add r1, r7, r5 + add r1, #0x3d + ldrb r1, [r1, #0x0] + ldr r0, [sp, #0x0] + sub r1, r1, #0x1 + bl FUN_0206B9B0 add r1, r4, #0x0 add r2, r6, #0x0 - bl FUN_02031948 - add r0, r5, #0x0 - bl FUN_0204FBB0 - ldr r0, _0204FEEC ; =0x02050641 - mov r1, #0x0 - bl FUN_02050094 -_0204FEE8: - add sp, #0x4 - pop {r3-r6, pc} + blx FUN_020CE3E0 + add r5, r5, #0x1 + add r4, r4, r6 + cmp r5, #0x3 + blt _02051A16 +_02051A34: + pop {r3-r7, pc} .balign 4 -_0204FEEC: .word 0x02050641 - thumb_func_start FUN_0204FEF0 -FUN_0204FEF0: ; 0x0204FEF0 - push {r3-r6, lr} - sub sp, #0x4 + thumb_func_start FUN_02051A38 +FUN_02051A38: ; 0x02051A38 + push {r3-r5, lr} add r5, r0, #0x0 - add r4, r1, #0x0 - add r6, r2, #0x0 - bl FUN_02030F40 - cmp r0, #0x0 - bne _0204FF28 + add r0, #0x89 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + tst r1, r0 + bne _02051A7C + ldr r4, [r5, #0x4c] + bl FUN_02051E54 + add r2, r0, #0x0 add r0, r5, #0x0 - bl FUN_020377AC - mov r1, #0x0 - add r3, r5, #0x0 - str r1, [sp, #0x0] - add r3, #0xac - ldr r3, [r3, #0x0] + add r0, #0x86 + ldrh r0, [r0, #0x0] + cmp r0, #0x0 + bne _02051A62 + mov r0, #0x6a add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_02031990 - add r0, r5, #0x0 - bl FUN_0204FBB0 - ldr r0, _0204FF2C ; =0x02050669 - mov r1, #0x0 - bl FUN_02050094 -_0204FF28: - add sp, #0x4 - pop {r3-r6, pc} + bl FUN_02030B3C + b _02051A6A +_02051A62: + mov r0, #0x6a + add r1, r4, #0x0 + bl FUN_02030A78 +_02051A6A: + cmp r0, #0x0 + beq _02051A7C + add r1, r5, #0x0 + add r1, #0x89 + ldrb r2, [r1, #0x0] + mov r1, #0x1 + add r5, #0x89 + orr r1, r2 + strb r1, [r5, #0x0] +_02051A7C: + pop {r3-r5, pc} .balign 4 -_0204FF2C: .word 0x02050669 - thumb_func_start FUN_0204FF30 -FUN_0204FF30: ; 0x0204FF30 - ldr r1, _0204FF40 ; =0x021C5A6C - ldr r3, _0204FF44 ; =FUN_02050094 - ldr r1, [r1, #0x0] - add r1, #0x3e - strb r0, [r1, #0x0] - ldr r0, _0204FF48 ; =0x02050689 - mov r1, #0x0 - bx r3 - .balign 4 -_0204FF40: .word 0x021C5A6C -_0204FF44: .word FUN_02050094 + 1 -_0204FF48: .word 0x02050689 + thumb_func_start FUN_02051A80 +FUN_02051A80: ; 0x02051A80 + add r0, #0x89 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bne _02051A8C + mov r0, #0x1 + bx lr +_02051A8C: + mov r0, #0x0 + bx lr - thumb_func_start FUN_0204FF4C -FUN_0204FF4C: ; 0x0204FF4C - ldr r3, _0204FF54 ; =FUN_02050094 - ldr r0, _0204FF58 ; =0x02050BBD - mov r1, #0x0 - bx r3 + thumb_func_start FUN_02051A90 +FUN_02051A90: ; 0x02051A90 + push {r4, lr} + add r4, r0, #0x0 + bl FUN_020690C4 + lsl r1, r0, #0x1 + ldr r2, [r4, #0x48] + add r0, r0, r1 + ldr r0, [r2, r0] + pop {r4, pc} .balign 4 -_0204FF54: .word FUN_02050094 + 1 -_0204FF58: .word 0x02050BBD - thumb_func_start FUN_0204FF5C -FUN_0204FF5C: ; 0x0204FF5C - push {r4-r7, lr} - sub sp, #0xc + thumb_func_start FUN_02051AA4 +FUN_02051AA4: ; 0x02051AA4 + push {r4, lr} add r4, r0, #0x0 - mov r0, #0x0 - add r1, r0, #0x0 - bl FUN_0200E3BC - mov r0, #0x1 - mov r1, #0x0 - bl FUN_0200E3BC - mov r0, #0x1 - add r1, r0, #0x0 - bl FUN_020334E8 - bl FUN_02031810 + add r0, #0x86 + ldrh r0, [r0, #0x0] cmp r0, #0x0 - beq _02050014 - ldr r0, _02050018 ; =0x021C5A6C - ldr r1, [r0, #0x0] - cmp r1, #0x0 - bne _0204FF9C - add r0, r4, #0x0 - bl FUN_0204FBB0 - ldr r0, _02050018 ; =0x021C5A6C + bne _02051ABE + add r1, r4, #0x0 + mov r0, #0x6b + add r1, #0x84 + mov r2, #0x1 + bl FUN_02030BC4 + b _02051ACA +_02051ABE: + add r1, r4, #0x0 + mov r0, #0x6b + add r1, #0x84 + mov r2, #0x1 + bl FUN_02030ADC +_02051ACA: + cmp r0, #0x0 + beq _02051ADC + add r1, r4, #0x0 + add r1, #0x89 + ldrb r2, [r1, #0x0] mov r1, #0x1 - ldr r0, [r0, #0x0] - add r0, #0x42 - strb r1, [r0, #0x0] - b _0204FFA2 -_0204FF9C: + add r4, #0x89 + orr r1, r2 + strb r1, [r4, #0x0] +_02051ADC: + pop {r4, pc} + .balign 4 + + thumb_func_start FUN_02051AE0 +FUN_02051AE0: ; 0x02051AE0 + add r0, #0x89 + ldrb r0, [r0, #0x0] + cmp r0, #0x3 + bne _02051AEC + mov r0, #0x1 + bx lr +_02051AEC: mov r0, #0x0 - add r1, #0x42 - strb r0, [r1, #0x0] -_0204FFA2: - ldr r0, _02050018 ; =0x021C5A6C - mov r1, #0x0 - ldr r0, [r0, #0x0] - add r0, #0x43 - strb r1, [r0, #0x0] - bl FUN_02031190 - str r0, [sp, #0x8] - bl FUN_02031190 - bl FUN_0202DFA4 + bx lr + + thumb_func_start FUN_02051AF0 +FUN_02051AF0: ; 0x02051AF0 + push {r4-r6, lr} + add r5, r0, #0x0 + bl FUN_020690C4 + add r6, r0, #0x0 + ldr r0, [r5, #0x50] + mov r1, #0x3 + bl FUN_0206B8CC mov r4, #0x0 - bl FUN_02030F20 - cmp r0, #0x0 - ble _0204FFEA - ldr r6, _02050018 ; =0x021C5A6C - add r5, r4, #0x0 - add r7, r4, #0x0 -_0204FFCA: - ldr r0, [r6, #0x0] - ldr r0, [r0, r5] - cmp r0, #0x0 - bne _0204FFDE - ldr r1, _0205001C ; =0x0000066C - add r0, r7, #0x0 - bl FUN_02016998 - ldr r1, [r6, #0x0] - str r0, [r1, r5] -_0204FFDE: - add r5, r5, #0x4 +_02051B04: + add r1, r4, #0x0 + ldr r2, [r5, #0x48] + mul r1, r6 + ldr r0, [r5, #0x50] + add r1, r2, r1 + bl FUN_0206B900 add r4, r4, #0x1 - bl FUN_02030F20 - cmp r4, r0 - blt _0204FFCA -_0204FFEA: - ldr r0, _02050018 ; =0x021C5A6C - mov r3, #0xff - ldr r1, [r0, #0x0] - ldr r0, [r1, #0x18] + cmp r4, #0x3 + blt _02051B04 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02051B1C +FUN_02051B1C: ; 0x02051B1C + push {r4-r6, lr} + add r6, r0, #0x0 + bl FUN_020690C4 + add r4, r0, #0x0 + add r0, r6, #0x0 + add r0, #0x84 + ldrb r0, [r0, #0x0] + ldr r2, [r6, #0x48] + ldr r3, [r6, #0x4c] + add r1, r0, #0x0 + mul r1, r4 + add r0, r2, r1 + add r1, r6, #0x0 + add r1, #0x85 + ldrb r1, [r1, #0x0] + add r2, r1, #0x0 + mul r2, r4 + add r1, r3, r2 + add r2, r4, #0x0 + blx FUN_020CE3E0 + ldr r0, [r6, #0x50] + mov r1, #0x3 + bl FUN_0206B8CC + mov r5, #0x0 +_02051B52: + add r1, r5, #0x0 + ldr r2, [r6, #0x4c] + mul r1, r4 + ldr r0, [r6, #0x50] + add r1, r2, r1 + bl FUN_0206B900 + add r5, r5, #0x1 + cmp r5, #0x3 + blt _02051B52 + pop {r4-r6, pc} + + thumb_func_start FUN_02051B68 +FUN_02051B68: ; 0x02051B68 + push {r4-r7, lr} + sub sp, #0x24 + add r5, r0, #0x0 + str r0, [sp, #0x20] + add r0, #0x54 + str r1, [sp, #0x14] + str r0, [sp, #0x20] + bl FUN_02019048 + cmp r0, #0x0 + bne _02051C34 + ldr r2, _02051C84 ; =0x0000016A + mov r0, #0x1 + mov r1, #0x1a + mov r3, #0x4 + bl FUN_0200A86C + str r0, [sp, #0x18] + bl FUN_020690C4 + str r0, [sp, #0x1c] + mov r0, #0x9 str r0, [sp, #0x0] - ldr r0, [sp, #0x8] - lsl r0, r0, #0x2 - ldr r0, [r1, r0] - str r0, [sp, #0x4] + mov r1, #0xa + str r1, [sp, #0x4] + mov r0, #0x8 + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + str r1, [sp, #0x10] + ldr r0, [r5, #0x24] + ldr r1, [sp, #0x20] + ldr r0, [r0, #0x8] + mov r2, #0x3 + mov r3, #0x15 + bl FUN_02019064 mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + ldr r0, [r5, #0x24] + mov r1, #0x3 + ldr r0, [r0, #0x8] + mov r2, #0x1 + mov r3, #0xb + bl FUN_0200CB00 + ldr r0, [sp, #0x20] + mov r1, #0xf + bl FUN_02019620 + mov r7, #0x0 + add r6, r7, #0x0 + add r4, r7, #0x0 +_02051BD6: + ldr r0, [r5, #0x48] + mov r1, #0x5 + add r0, r0, r6 + mov r2, #0x0 + bl FUN_020671BC add r1, r0, #0x0 - add r2, r0, #0x0 - bl FUN_02064E90 - mov r0, #0x5f - bl FUN_02031588 - ldr r0, _02050020 ; =0x02050C15 + ldr r0, [sp, #0x18] + ldr r2, [r5, #0xc] + bl FUN_0200A8E0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r0, [sp, #0x20] + ldr r2, [r5, #0xc] mov r1, #0x0 - bl FUN_02050094 -_02050014: - add sp, #0xc + mov r3, #0x10 + bl FUN_0201BD84 + ldr r0, [sp, #0x1c] + add r7, r7, #0x1 + add r6, r6, r0 + add r4, #0x10 + cmp r7, #0x3 + blt _02051BD6 + ldr r0, [r5, #0x2c] + ldr r2, [r5, #0xc] + mov r1, #0x15 + bl FUN_0200A8E0 + lsl r0, r7, #0x4 + str r0, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r1, #0x0 + str r1, [sp, #0x8] + ldr r0, [sp, #0x20] + ldr r2, [r5, #0xc] + mov r3, #0x10 + bl FUN_0201BD84 + ldr r0, [sp, #0x18] + bl FUN_0200A8B8 +_02051C34: + mov r0, #0x10 + str r0, [sp, #0x0] + ldr r0, [sp, #0x20] + mov r2, #0x0 + ldrb r0, [r0, #0x8] + mov r1, #0xf + add r3, r2, #0x0 + lsl r0, r0, #0x13 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + ldr r0, [sp, #0x20] + bl FUN_020196F4 + ldr r3, [sp, #0x14] + add r1, r5, #0x0 + ldr r0, [r5, #0x78] + add r1, #0x54 + mov r2, #0x0 + lsl r3, r3, #0x4 + bl FUN_020136F8 + add r0, r5, #0x0 + add r0, #0x54 + mov r1, #0x0 + mov r2, #0x1 + mov r3, #0xb + bl FUN_0200CCA4 + add r1, r5, #0x0 + ldr r0, [sp, #0x14] + add r1, #0x81 + strb r0, [r1, #0x0] + add r0, r5, #0x0 + mov r1, #0x4 + add r0, #0x80 + strb r1, [r0, #0x0] + ldr r0, [sp, #0x20] + str r0, [r5, #0x7c] + add sp, #0x24 pop {r4-r7, pc} .balign 4 -_02050018: .word 0x021C5A6C -_0205001C: .word 0x0000066C -_02050020: .word 0x02050C15 +_02051C84: .word 0x0000016A - thumb_func_start FUN_02050024 -FUN_02050024: ; 0x02050024 - push {r3, lr} - ldr r0, _02050040 ; =0x021C5A6C - ldr r0, [r0, #0x0] + thumb_func_start FUN_02051C88 +FUN_02051C88: ; 0x02051C88 + push {r3-r7, lr} + sub sp, #0x18 + add r5, r0, #0x0 + add r7, r5, #0x0 + add r7, #0x64 + add r0, r7, #0x0 + str r1, [sp, #0x14] + bl FUN_02019048 cmp r0, #0x0 - beq _0205003E + bne _02051D0A + mov r0, #0xb + str r0, [sp, #0x0] + str r0, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + mov r0, #0xd + str r0, [sp, #0xc] + mov r0, #0x5a + str r0, [sp, #0x10] + ldr r0, [r5, #0x24] + add r1, r7, #0x0 + ldr r0, [r0, #0x8] + mov r2, #0x3 + mov r3, #0x14 + bl FUN_02019064 mov r0, #0x0 - add r1, r0, #0x0 - bl FUN_020334E8 - ldr r0, _02050044 ; =0x02050DB1 - mov r1, #0x5 - bl FUN_02050094 -_0205003E: - pop {r3, pc} - .balign 4 -_02050040: .word 0x021C5A6C -_02050044: .word 0x02050DB1 - - thumb_func_start FUN_02050048 -FUN_02050048: ; 0x02050048 - push {r3, lr} - ldr r0, _02050064 ; =0x021C5A6C - ldr r0, [r0, #0x0] - cmp r0, #0x0 - beq _02050060 - mov r0, #0x5b - bl FUN_02031588 - ldr r0, _02050068 ; =0x02050D89 - mov r1, #0x5 - bl FUN_02050094 -_02050060: - pop {r3, pc} - nop -_02050064: .word 0x021C5A6C -_02050068: .word 0x02050D89 - - thumb_func_start FUN_0205006C -FUN_0205006C: ; 0x0205006C - push {r3, lr} - ldr r1, _02050090 ; =0x021C5A6C - ldr r2, [r1, #0x0] - cmp r2, #0x0 - bne _0205007C - bl FUN_0200CAB4 - pop {r3, pc} -_0205007C: - ldr r1, [r2, #0x34] - cmp r1, #0x0 - beq _0205008C - add r2, #0x40 - ldrb r0, [r2, #0x0] - cmp r0, #0x0 - bne _0205008C - blx r1 -_0205008C: - pop {r3, pc} - nop -_02050090: .word 0x021C5A6C - - thumb_func_start FUN_02050094 -FUN_02050094: ; 0x02050094 - ldr r2, _020500A0 ; =0x021C5A6C - ldr r3, [r2, #0x0] - str r0, [r3, #0x34] - ldr r0, [r2, #0x0] - strh r1, [r0, #0x3c] - bx lr + str r0, [sp, #0x0] + mov r0, #0x4 + str r0, [sp, #0x4] + ldr r0, [r5, #0x24] + mov r1, #0x3 + ldr r0, [r0, #0x8] + mov r2, #0x1 + mov r3, #0xb + bl FUN_0200CB00 + add r0, r7, #0x0 + mov r1, #0xf + bl FUN_02019620 + mov r6, #0x0 + add r4, r6, #0x0 +_02051CE0: + add r1, r6, #0x0 + ldr r0, [r5, #0x2c] + ldr r2, [r5, #0xc] + add r1, #0x16 + bl FUN_0200A8E0 + str r4, [sp, #0x0] + mov r0, #0xff + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + ldr r2, [r5, #0xc] + add r0, r7, #0x0 + mov r1, #0x0 + mov r3, #0x10 + bl FUN_0201BD84 + add r6, r6, #0x1 + add r4, #0x10 + cmp r6, #0x3 + blt _02051CE0 +_02051D0A: + add r0, r5, #0x0 + mov r1, #0x3 + add r0, #0x80 + strb r1, [r0, #0x0] + add r1, r5, #0x0 + ldr r0, [sp, #0x14] + str r7, [r5, #0x7c] + add r1, #0x81 + strb r0, [r1, #0x0] + mov r0, #0x10 + str r0, [sp, #0x0] + ldrb r0, [r7, #0x8] + mov r2, #0x0 + mov r1, #0xf + lsl r0, r0, #0x13 + lsr r0, r0, #0x10 + str r0, [sp, #0x4] + add r0, r7, #0x0 + add r3, r2, #0x0 + bl FUN_020196F4 + ldr r3, [sp, #0x14] + ldr r0, [r5, #0x78] + ldr r1, [r5, #0x7c] + mov r2, #0x0 + lsl r3, r3, #0x4 + bl FUN_020136F8 + ldr r0, [r5, #0x7c] + mov r1, #0x0 + mov r2, #0x1 + mov r3, #0xb + bl FUN_0200CCA4 + add sp, #0x18 + pop {r3-r7, pc} .balign 4 -_020500A0: .word 0x021C5A6C - thumb_func_start FUN_020500A4 -FUN_020500A4: ; 0x020500A4 - push {r3, lr} - ldr r0, _02050108 ; =0x021C5A6C - ldr r1, [r0, #0x0] - ldrh r0, [r1, #0x3c] + thumb_func_start FUN_02051D54 +FUN_02051D54: ; 0x02051D54 + push {r4, lr} + sub sp, #0x8 + add r4, r0, #0x0 + ldr r0, _02051E1C ; =0x021C48B8 + mov r1, #0x40 + ldr r0, [r0, #0x48] + tst r1, r0 + beq _02051D7E + mov r0, #0x81 + ldrsb r0, [r4, r0] cmp r0, #0x0 - beq _020500B6 + bne _02051D74 + add r0, r4, #0x0 + add r0, #0x80 + ldrb r0, [r0, #0x0] + b _02051D74 +_02051D74: + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x81 + strb r1, [r0, #0x0] + b _02051DE0 +_02051D7E: + mov r1, #0x80 + tst r1, r0 + beq _02051DA2 + mov r0, #0x81 + ldrsb r1, [r4, r0] + add r0, r4, #0x0 + add r0, #0x80 + ldrb r0, [r0, #0x0] sub r0, r0, #0x1 - strh r0, [r1, #0x3c] - pop {r3, pc} -_020500B6: - bl FUN_02030F40 - cmp r0, #0x0 - beq _02050104 - ldr r0, _02050108 ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - bl FUN_0223E1E0 - bl FUN_0202DBE0 - mov r0, #0x0 - bl FUN_0204D168 - bl FUN_0223EF7C - bl FUN_02245FA0 - ldr r0, _02050108 ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F194 - cmp r0, #0x0 - bne _020500F8 - ldr r0, _0205010C ; =FUN_02050114 + cmp r1, r0 + bne _02051D98 mov r1, #0x0 - bl FUN_02050094 - pop {r3, pc} -_020500F8: - bl FUN_0204F80C - ldr r0, _02050110 ; =FUN_02050144 - mov r1, #0x18 - bl FUN_02050094 -_02050104: - pop {r3, pc} + b _02051D9A +_02051D98: + add r1, r1, #0x1 +_02051D9A: + add r0, r4, #0x0 + add r0, #0x81 + strb r1, [r0, #0x0] + b _02051DE0 +_02051DA2: + mov r1, #0x1 + tst r1, r0 + beq _02051DC8 + ldr r0, _02051E20 ; =0x000005DC + bl FUN_020054C8 + mov r0, #0x81 + ldrsb r1, [r4, r0] + add r4, #0x80 + ldrb r0, [r4, #0x0] + sub r0, r0, #0x1 + cmp r1, r0 + bge _02051DC2 + add sp, #0x8 + mov r0, #0x1 + pop {r4, pc} +_02051DC2: + add sp, #0x8 + mov r0, #0x2 + pop {r4, pc} +_02051DC8: + mov r1, #0x2 + tst r0, r1 + beq _02051DDA + ldr r0, _02051E20 ; =0x000005DC + bl FUN_020054C8 + add sp, #0x8 + mov r0, #0x2 + pop {r4, pc} +_02051DDA: + add sp, #0x8 + mov r0, #0x0 + pop {r4, pc} +_02051DE0: + ldr r0, _02051E20 ; =0x000005DC + bl FUN_020054C8 + ldr r0, [r4, #0x7c] + mov r1, #0x10 + str r1, [sp, #0x0] + ldrb r1, [r0, #0x8] + mov r2, #0x0 + add r3, r2, #0x0 + lsl r1, r1, #0x13 + lsr r1, r1, #0x10 + str r1, [sp, #0x4] + mov r1, #0xf + bl FUN_020196F4 + mov r3, #0x81 + ldrsb r3, [r4, r3] + ldr r0, [r4, #0x78] + ldr r1, [r4, #0x7c] + mov r2, #0x0 + lsl r3, r3, #0x4 + bl FUN_020136F8 + ldr r0, [r4, #0x7c] + bl FUN_02019548 + mov r0, #0x0 + add sp, #0x8 + pop {r4, pc} nop -_02050108: .word 0x021C5A6C -_0205010C: .word FUN_02050114 + 1 -_02050110: .word FUN_02050144 + 1 +_02051E1C: .word 0x021C48B8 +_02051E20: .word 0x000005DC - thumb_func_start FUN_02050114 -FUN_02050114: ; 0x02050114 - push {r3, lr} - ldr r0, _0205013C ; =0x021C5A6C - ldr r0, [r0, #0x0] - ldr r0, [r0, #0x18] - ldr r0, [r0, #0xc] - bl FUN_020462AC - bl FUN_0205F194 - cmp r0, #0x0 - beq _0205013A - bl FUN_02031880 - bl FUN_0204F80C - ldr r0, _02050140 ; =0x02050169 - mov r1, #0x18 - bl FUN_02050094 -_0205013A: - pop {r3, pc} + thumb_func_start FUN_02051E24 +FUN_02051E24: ; 0x02051E24 + ldr r3, _02051E2C ; =FUN_0200CCF8 + ldr r0, [r0, #0x7c] + mov r1, #0x1 + bx r3 .balign 4 -_0205013C: .word 0x021C5A6C -_02050140: .word 0x02050169 +_02051E2C: .word FUN_0200CCF8 + 1 +_02051E30: + .byte 0x10, 0xB5, 0x04, 0x1C, 0x18, 0x1C, 0xFF, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x86, 0x31, 0x09, 0x88 + .byte 0xA1, 0x42, 0x06, 0xD0, 0x01, 0x1C, 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43 + .byte 0x01, 0x70, 0x10, 0xBD - thumb_func_start FUN_02050144 -FUN_02050144: ; 0x02050144 + thumb_func_start FUN_02051E54 +FUN_02051E54: ; 0x02051E54 push {r3, lr} - ldr r0, _02050160 ; =0x021C5A6C - ldr r1, [r0, #0x0] - ldrh r0, [r1, #0x3c] - cmp r0, #0x0 - beq _02050156 - sub r0, r0, #0x1 - strh r0, [r1, #0x3c] - pop {r3, pc} -_02050156: - ldr r0, _02050164 ; =0x02050169 - mov r1, #0x18 - bl FUN_02050094 + bl FUN_020690C4 + lsl r1, r0, #0x1 + add r0, r0, r1 + add r0, r0, #0x4 pop {r3, pc} .balign 4 -_02050160: .word 0x021C5A6C -_02050164: .word 0x02050169 -_02050168: - .byte 0x08, 0xB5, 0xED, 0xF1, 0x23, 0xFF, 0xFF, 0xF7 - .byte 0x4D, 0xFB, 0xE1, 0xF7, 0xA7, 0xFB, 0x00, 0x28, 0x0E, 0xD0, 0xE1, 0xF7, 0x09, 0xF8, 0x00, 0x28 - .byte 0x06, 0xD1, 0xF5, 0xF1, 0xCF, 0xF8, 0x05, 0x48, 0x3C, 0x21, 0xFF, 0xF7, 0x83, 0xFF, 0x08, 0xBD - .byte 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0x7E, 0xFF, 0x08, 0xBD, 0xC0, 0x46, 0x4D, 0x02, 0x05, 0x02 - .byte 0xA5, 0x01, 0x05, 0x02, 0x08, 0xB5, 0x26, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0 - .byte 0x40, 0x1E, 0x88, 0x87, 0xDE, 0xF7, 0x46, 0xFE, 0x00, 0x28, 0x08, 0xD1, 0xE1, 0xF7, 0x18, 0xF8 - .byte 0x00, 0x28, 0x04, 0xD1, 0x1E, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28, 0x06, 0xD1, 0xE1, 0xF7 - .byte 0x57, 0xFB, 0x1C, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x5D, 0xFF, 0x08, 0xBD, 0xE0, 0xF7, 0xD8, 0xFF - .byte 0xE0, 0xF7, 0x4C, 0xFE, 0x00, 0x28, 0x29, 0xD0, 0x15, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28 - .byte 0x07, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0xE0, 0xF7, 0x2F, 0xFD, 0x42, 0x21, 0x89, 0x00, 0x88, 0x42 - .byte 0x1C, 0xD1, 0xEE, 0xF1, 0x59, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x1A, 0xFF, 0x00, 0x20, 0x01, 0x1C - .byte 0x02, 0x1C, 0x03, 0x1C, 0xF0, 0xF1, 0x72, 0xFB, 0x00, 0x20, 0x01, 0x21, 0xEF, 0xF1, 0x64, 0xFD - .byte 0x00, 0x20, 0xDD, 0xF7, 0x29, 0xFE, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0xFD, 0xF7, 0x06, 0xF9 - .byte 0xFF, 0xF7, 0x12, 0xFB, 0x04, 0x48, 0x0A, 0x21, 0xFF, 0xF7, 0x2C, 0xFF, 0x08, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x04, 0x05, 0x02, 0x51, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1 - .byte 0xB1, 0xFE, 0x13, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87 - .byte 0xE0, 0xF7, 0xC2, 0xFF, 0x00, 0x28, 0x04, 0xD1, 0x0D, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x00, 0x28 - .byte 0x15, 0xD1, 0xEE, 0xF1, 0x21, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7, 0xBF, 0xFA, 0x09, 0x48 - .byte 0xFF, 0xF7, 0x94, 0xFC, 0x00, 0x20, 0xFC, 0xF7, 0x6F, 0xFF, 0xFF, 0xF7, 0x51, 0xFB, 0xF5, 0xF1 - .byte 0x87, 0xFE, 0xEE, 0xF1, 0xB3, 0xFA, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFE, 0x08, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x74, 0x5E, 0x10, 0x02, 0xAD, 0x02, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1 - .byte 0x81, 0xFE, 0x18, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x28, 0xD1, 0xE0, 0xF7 - .byte 0x97, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xDE, 0xF7, 0xAD, 0xFD, 0x00, 0x28, 0x09, 0xD0, 0xE0, 0xF7 - .byte 0x5F, 0xFF, 0xE0, 0xF7, 0xD3, 0xFD, 0x00, 0x28, 0x1A, 0xD1, 0xE0, 0xF7, 0xD1, 0xFF, 0x00, 0x28 - .byte 0x16, 0xD1, 0x00, 0x20, 0xF5, 0xF1, 0x38, 0xF8, 0xFF, 0xF7, 0x10, 0xFB, 0xF7, 0xF1, 0x8C, 0xFA - .byte 0x2B, 0x20, 0xE0, 0xF7, 0x73, 0xFF, 0xE0, 0xF7, 0x4B, 0xFF, 0x01, 0x21, 0xEF, 0xF1, 0xF4, 0xFC - .byte 0xEE, 0xF1, 0xDA, 0xF9, 0xE1, 0xF7, 0xD6, 0xFA, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xC2, 0xFE - .byte 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x59, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xFC, 0xF7 - .byte 0x93, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xB5, 0xFE, 0x08, 0xBD, 0x31, 0x03, 0x05, 0x02 - .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xEF, 0xFD, 0xFC, 0xF7 - .byte 0xAD, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xA5, 0xFE, 0x08, 0xBD, 0xAD, 0x02, 0x05, 0x02 - .byte 0x08, 0xB5, 0x15, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x09, 0x28, 0x03, 0xD1, 0xDD, 0xF7, 0x40, 0xFC - .byte 0xEE, 0xF1, 0x4C, 0xFA, 0x10, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x01, 0x28, 0x02, 0xD1, 0x00, 0x20 - .byte 0xFC, 0xF7, 0x12, 0xFF, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E - .byte 0x88, 0x87, 0x08, 0xBD, 0xDD, 0xF7, 0xB8, 0xFC, 0x00, 0x28, 0x09, 0xD0, 0x07, 0x48, 0xFF, 0xF7 - .byte 0x0D, 0xFC, 0xFF, 0xF7, 0xCD, 0xFA, 0x06, 0x48, 0xC8, 0x21, 0xFF, 0xF7, 0x7B, 0xFE, 0x08, 0xBD - .byte 0x00, 0xF0, 0xD2, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x80, 0x5E, 0x10, 0x02 - .byte 0xB5, 0x03, 0x05, 0x02, 0x08, 0xB5, 0xFF, 0xF7, 0xA3, 0xFB, 0x00, 0x28, 0x06, 0xD0, 0xEE, 0xF1 - .byte 0xDD, 0xFD, 0x09, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0xBC, 0xF8 - .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD - .byte 0x00, 0xF0, 0x96, 0xF8, 0x08, 0xBD, 0xC0, 0x46, 0xF1, 0x03, 0x05, 0x02, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x08, 0xB5, 0xEF, 0xF1, 0x71, 0xF8, 0x00, 0x28, 0x0B, 0xD0, 0x07, 0x48, 0xFF, 0xF7, 0xD6, 0xFB - .byte 0xEF, 0xF1, 0x78, 0xF8, 0xF5, 0xF1, 0xCC, 0xFD, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x42, 0xFE - .byte 0x08, 0xBD, 0x00, 0xF0, 0x99, 0xF8, 0x08, 0xBD, 0x94, 0x5E, 0x10, 0x02, 0x21, 0x04, 0x05, 0x02 - .byte 0x08, 0xB5, 0xF5, 0xF1, 0xBF, 0xFE, 0x00, 0x28, 0x0F, 0xD0, 0x09, 0x48, 0xFF, 0xF7, 0xBE, 0xFB - .byte 0xF5, 0xF1, 0xC2, 0xFE, 0x01, 0x20, 0xFC, 0xF7, 0x97, 0xFE, 0x1F, 0x20, 0xE0, 0xF7, 0xCE, 0xFE - .byte 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x26, 0xFE, 0x08, 0xBD, 0x00, 0xF0, 0x7D, 0xF8, 0x08, 0xBD - .byte 0xB0, 0x5E, 0x10, 0x02, 0x49, 0x05, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x11, 0xFF, 0x00, 0x28 - .byte 0x07, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xFE, 0xF7, 0x37, 0xFB, 0x02, 0x48, 0x1E, 0x21, 0xFF, 0xF7 - .byte 0x11, 0xFE, 0x08, 0xBD, 0x79, 0x04, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F - .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x81, 0xFE, 0x00, 0x28 - .byte 0x03, 0xD1, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0xA5, 0x00, 0x05, 0x02, 0x08, 0xB5, 0x08, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 - .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x6B, 0xFE, 0x00, 0x28, 0x03, 0xD1, 0x03, 0x48 - .byte 0x00, 0x21, 0xFF, 0xF7, 0xE7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xA5, 0x00, 0x05, 0x02 - .byte 0x00, 0x4B, 0x18, 0x47, 0xB5, 0xDF, 0x23, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x59, 0xFE, 0x00, 0x28 - .byte 0x11, 0xD1, 0x09, 0x48, 0x00, 0x68, 0x80, 0x69, 0xED, 0xF1, 0x7A, 0xFE, 0xDD, 0xF7, 0x78, 0xFB - .byte 0x00, 0x20, 0xFC, 0xF7, 0x39, 0xFE, 0xEE, 0xF1, 0x41, 0xFD, 0xF5, 0xF1, 0x51, 0xFD, 0x03, 0x48 - .byte 0x00, 0x21, 0xFF, 0xF7, 0xC7, 0xFD, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xD1, 0x04, 0x05, 0x02 - .byte 0x08, 0xB5, 0xE0, 0xF7, 0x3D, 0xFE, 0x01, 0x21, 0xEF, 0xF1, 0xE6, 0xFB, 0xE0, 0xF7, 0x38, 0xFE - .byte 0x01, 0x21, 0xF7, 0xF1, 0x01, 0xF9, 0xEC, 0xF1, 0xD1, 0xFA, 0xFC, 0xF7, 0xE5, 0xFC, 0xEE, 0xF1 - .byte 0xC3, 0xF8, 0xE1, 0xF7, 0xA5, 0xF9, 0xFF, 0xF7, 0xF7, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7 - .byte 0xA9, 0xFD, 0x08, 0xBD, 0xA5, 0x04, 0x05, 0x02, 0x08, 0xB5, 0xED, 0xF1, 0x33, 0xFD, 0xFF, 0xF7 - .byte 0x5D, 0xF9, 0x08, 0x48, 0x00, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28, 0x09, 0xD1, 0xDE, 0xF7 - .byte 0x71, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x43, 0xFE, 0x00, 0x28, 0x01, 0xD0, 0xFF, 0xF7 - .byte 0xCF, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xFC, 0xF7, 0x65, 0xFB, 0x02, 0x48 - .byte 0x00, 0x21, 0xFF, 0xF7, 0x87, 0xFD, 0x08, 0xBD, 0x8D, 0x05, 0x05, 0x02, 0x00, 0x4B, 0x18, 0x47 - .byte 0x31, 0x78, 0x24, 0x02, 0x08, 0xB5, 0xF5, 0xF1, 0xC1, 0xFC, 0xFC, 0xF7, 0x7F, 0xFB, 0xDE, 0xF7 - .byte 0x51, 0xFC, 0x00, 0x28, 0x03, 0xD1, 0xE0, 0xF7, 0x23, 0xFE, 0x00, 0x28, 0x0E, 0xD0, 0xF4, 0xF1 - .byte 0x79, 0xFE, 0xFC, 0xF7, 0xA1, 0xFC, 0xEE, 0xF1, 0x7F, 0xF8, 0xE1, 0xF7, 0x61, 0xF9, 0xFF, 0xF7 - .byte 0xB3, 0xFA, 0x05, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x65, 0xFD, 0x08, 0xBD, 0x03, 0x48, 0x00, 0x21 - .byte 0xFF, 0xF7, 0x60, 0xFD, 0x08, 0xBD, 0xC0, 0x46, 0xA5, 0x04, 0x05, 0x02, 0x49, 0x05, 0x05, 0x02 - .byte 0x08, 0xB5, 0xFC, 0xF7, 0x31, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x53, 0xFD, 0x08, 0xBD - .byte 0xF5, 0x05, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x8F, 0xFC, 0xFC, 0xF7 - .byte 0x4D, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x45, 0xFD, 0x08, 0xBD, 0x69, 0x01, 0x05, 0x02 - .byte 0x08, 0xB5, 0xFC, 0xF7, 0x87, 0xFC, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x3B, 0xFD, 0x08, 0xBD - .byte 0x25, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xF5, 0xF1, 0x77, 0xFC, 0xFC, 0xF7 - .byte 0x35, 0xFB, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2D, 0xFD, 0x08, 0xBD, 0xD1, 0x04, 0x05, 0x02 - .byte 0x08, 0xB5, 0xE0, 0xF7, 0xA5, 0xFD, 0xE0, 0xF7, 0x19, 0xFC, 0x00, 0x28, 0x07, 0xD0, 0xF0, 0xF1 - .byte 0xF1, 0xF8, 0xDD, 0xF7, 0xC5, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x1B, 0xFD, 0x08, 0xBD - .byte 0x65, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0xDD, 0xF7, 0x2D, 0xFF, 0x00, 0x28 - .byte 0x05, 0xD0, 0xF0, 0xF1, 0xAB, 0xF8, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0B, 0xFD, 0x08, 0xBD - .byte 0x85, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x3E, 0x30 - .byte 0x00, 0x78, 0xE1, 0xF7, 0xA1, 0xF9, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xFB, 0xFC, 0x08, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0xA9, 0x06, 0x05, 0x02, 0x08, 0xB5, 0xE1, 0xF7, 0xBF, 0xF9, 0x00, 0x28 - .byte 0x05, 0xD0, 0xDD, 0xF7, 0x95, 0xFA, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xEB, 0xFC, 0x08, 0xBD - .byte 0xC5, 0x06, 0x05, 0x02, 0x70, 0x47, 0x00, 0x00, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0x84, 0xFF - .byte 0x00, 0x28, 0x17, 0xD0, 0xFC, 0xF7, 0x24, 0xFE, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0x5C, 0xF9 - .byte 0x0F, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x1A, 0xFA, 0xFF, 0xF7, 0x8E, 0xF8 - .byte 0xE0, 0xF7, 0x6A, 0xFC, 0x5C, 0x20, 0xE0, 0xF7, 0x47, 0xFF, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7 - .byte 0xC9, 0xFC, 0x08, 0xBD, 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E - .byte 0x88, 0x87, 0x08, 0xBD, 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x35, 0xFF, 0x08, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x29, 0x07, 0x05, 0x02, 0x00, 0xB5, 0x83, 0xB0, 0xE0, 0xF7, 0x30, 0xFD - .byte 0x00, 0x28, 0x01, 0xD1, 0xDD, 0xF7, 0x58, 0xFB, 0x5C, 0x20, 0xE0, 0xF7, 0x4D, 0xFF, 0x00, 0x28 - .byte 0x19, 0xD0, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20 - .byte 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x3C, 0xFD, 0x00, 0x20, 0xBD, 0xF7, 0x15, 0xFE, 0x01, 0x20 - .byte 0xBD, 0xF7, 0x12, 0xFE, 0xFC, 0xF7, 0x9A, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0xFD, 0xFC, 0x03, 0x48 - .byte 0x01, 0x21, 0xFF, 0xF7, 0x8F, 0xFC, 0x03, 0xB0, 0x00, 0xBD, 0xC0, 0x46, 0xB5, 0x07, 0x05, 0x02 - .byte 0x08, 0xB5, 0x0A, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87 - .byte 0x08, 0xBD, 0x1E, 0x20, 0xE0, 0xF7, 0x20, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0xE0, 0xF7, 0x04, 0xFC - .byte 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x76, 0xFC, 0x08, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0E, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 - .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0xE3, 0xFC, 0x00, 0x28, 0x07, 0xD1, 0xFE, 0xF7 - .byte 0x9B, 0xFA, 0x00, 0x28, 0x0A, 0xD0, 0x1E, 0x20, 0xE0, 0xF7, 0xD6, 0xFE, 0x02, 0xE0, 0x1E, 0x20 - .byte 0xE0, 0xF7, 0xD2, 0xFE, 0x03, 0x48, 0x14, 0x21, 0xFF, 0xF7, 0x54, 0xFC, 0x08, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x81, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x62, 0x20, 0xE0, 0xF7, 0xEC, 0xFE - .byte 0x00, 0x28, 0x15, 0xD0, 0xFC, 0xF7, 0x8C, 0xFD, 0x01, 0x1C, 0x0F, 0x20, 0xC6, 0xF7, 0xC4, 0xF8 - .byte 0x0E, 0x49, 0x00, 0x22, 0x09, 0x68, 0x89, 0x69, 0xFC, 0xF7, 0x82, 0xF9, 0xFE, 0xF7, 0xF6, 0xFF - .byte 0x5C, 0x20, 0xE0, 0xF7, 0xB1, 0xFE, 0x0A, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x33, 0xFC, 0x08, 0xBD - .byte 0x06, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD - .byte 0x1E, 0x20, 0x88, 0x87, 0x62, 0x20, 0xE0, 0xF7, 0x9F, 0xFE, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x55, 0x08, 0x05, 0x02, 0x08, 0xB5, 0x84, 0xB0, 0xE0, 0xF7, 0x9A, 0xFC, 0x00, 0x28, 0x01, 0xD1 - .byte 0xDD, 0xF7, 0xC2, 0xFA, 0x5C, 0x20, 0xE0, 0xF7, 0xB7, 0xFE, 0x00, 0x28, 0x20, 0xD0, 0xFC, 0xF7 - .byte 0x15, 0xFA, 0x00, 0x20, 0xFC, 0xF7, 0x78, 0xFC, 0x01, 0x21, 0x03, 0xA8, 0x01, 0x70, 0x5E, 0x20 - .byte 0x03, 0xA9, 0xE0, 0xF7, 0xA5, 0xFC, 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20 - .byte 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBD, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xBD, 0xF7 - .byte 0x73, 0xFD, 0x01, 0x20, 0xBD, 0xF7, 0x70, 0xFD, 0x02, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xF2, 0xFB - .byte 0x04, 0xB0, 0x08, 0xBD, 0x15, 0x0A, 0x05, 0x02, 0xF8, 0xB5, 0x00, 0x27, 0xE0, 0xF7, 0x30, 0xFB - .byte 0x00, 0x28, 0x28, 0xDD, 0x18, 0x4E, 0xE0, 0xF7, 0x63, 0xFC, 0x87, 0x42, 0x1E, 0xD0, 0x38, 0x1C - .byte 0xE0, 0xF7, 0x94, 0xFE, 0x5E, 0x28, 0x19, 0xD1, 0x30, 0x68, 0x80, 0x69, 0x00, 0x69, 0x00, 0x28 - .byte 0x14, 0xD1, 0x00, 0x24, 0x25, 0x1C, 0x30, 0x68, 0x40, 0x59, 0x00, 0x28, 0x04, 0xD0, 0xC6, 0xF7 - .byte 0x93, 0xF8, 0x31, 0x68, 0x00, 0x20, 0x48, 0x51, 0x64, 0x1C, 0x2D, 0x1D, 0x04, 0x2C, 0xF2, 0xDB - .byte 0x30, 0x68, 0x0A, 0x49, 0x80, 0x69, 0x00, 0x22, 0xE8, 0xF7, 0xB6, 0xF9, 0x7F, 0x1C, 0xE0, 0xF7 - .byte 0x07, 0xFB, 0x87, 0x42, 0xD7, 0xDB, 0x04, 0x49, 0x04, 0x20, 0x09, 0x68, 0x89, 0x69, 0x89, 0x68 - .byte 0xE2, 0xF7, 0x66, 0xFE, 0xF8, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x8E, 0x23, 0x00, 0x00 - .byte 0x08, 0xB5, 0xFE, 0xF7, 0x07, 0xF9, 0x00, 0x28, 0x0F, 0xD1, 0x09, 0x48, 0x00, 0x21, 0x00, 0x68 - .byte 0x43, 0x30, 0x01, 0x70, 0x01, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7 - .byte 0x3F, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x9D, 0xFB, 0xFF, 0xF7, 0xAD, 0xFF, 0x08, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x0C, 0x1C, 0x0A, 0xD0 - .byte 0x0B, 0x20, 0x1A, 0xF0, 0x9B, 0xFF, 0x0D, 0x49, 0x0A, 0x68, 0x50, 0x64, 0x09, 0x68, 0x20, 0x1C - .byte 0x49, 0x6C, 0x1B, 0xF0, 0xA5, 0xF8, 0x00, 0x2D, 0x04, 0xD0, 0x09, 0x48, 0x03, 0x21, 0xFF, 0xF7 - .byte 0x81, 0xFB, 0x38, 0xBD, 0x03, 0x21, 0x00, 0xA8, 0x01, 0x70, 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7 - .byte 0x17, 0xFC, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x75, 0xFB, 0x38, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x8D, 0x0B, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x01, 0x4B, 0x02, 0x48, 0x00, 0x21, 0x18, 0x47 - .byte 0x95, 0x00, 0x05, 0x02, 0x31, 0x09, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7, 0x35, 0xFD, 0x00, 0x28 - .byte 0x19, 0xD1, 0xE0, 0xF7, 0xDD, 0xFB, 0xFE, 0xF7, 0x6D, 0xFE, 0x00, 0x28, 0x13, 0xD1, 0x0A, 0x48 - .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xFE, 0xF7 - .byte 0xF9, 0xFE, 0x05, 0x48, 0x05, 0x49, 0x00, 0x68, 0x80, 0x69, 0x00, 0xF0, 0x41, 0xFF, 0x04, 0x48 - .byte 0x00, 0x21, 0xFF, 0xF7, 0x47, 0xFB, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x69, 0x09, 0x05, 0x02 - .byte 0xB9, 0x09, 0x05, 0x02, 0x08, 0xB5, 0x0A, 0x48, 0x00, 0x68, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28 - .byte 0x0A, 0xD0, 0x08, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x35, 0xFB, 0x00, 0x21, 0x00, 0xA8, 0x01, 0x70 - .byte 0x5E, 0x20, 0x00, 0xA9, 0xE0, 0xF7, 0xCC, 0xFB, 0xFF, 0xF7, 0x3E, 0xFF, 0x08, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x14, 0x1C, 0xE0, 0xF7, 0xA0, 0xFB - .byte 0x21, 0x78, 0x81, 0x42, 0x04, 0xD1, 0x03, 0x48, 0x01, 0x21, 0x00, 0x68, 0x43, 0x30, 0x01, 0x70 - .byte 0x10, 0xBD, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x07, 0x48, 0x00, 0x68, 0x00, 0x28, 0x08, 0xD0 - .byte 0x41, 0x6B, 0x06, 0x48, 0x81, 0x42, 0x02, 0xD0, 0x05, 0x48, 0x81, 0x42, 0x01, 0xD1, 0x01, 0x20 - .byte 0x70, 0x47, 0x00, 0x20, 0x70, 0x47, 0xC0, 0x46, 0x6C, 0x5A, 0x1C, 0x02, 0x15, 0x0A, 0x05, 0x02 - .byte 0x31, 0x09, 0x05, 0x02, 0x10, 0xB5, 0x82, 0xB0, 0x19, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28 - .byte 0x03, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x02, 0xB0, 0x10, 0xBD, 0x05, 0x24, 0xE2, 0xF7, 0x42, 0xFD - .byte 0x02, 0x28, 0x05, 0xD0, 0x04, 0x28, 0x01, 0xD0, 0x05, 0x28, 0x02, 0xD1, 0x0F, 0x24, 0x00, 0xE0 - .byte 0x07, 0x24, 0x00, 0xA8, 0xE2, 0xF7, 0x58, 0xFD, 0x0D, 0x48, 0x00, 0x68, 0x41, 0x6C, 0x80, 0x69 - .byte 0x00, 0x29, 0x04, 0xD1, 0x00, 0xA9, 0x22, 0x1C, 0xF6, 0xF7, 0xC8, 0xFB, 0x0B, 0xE0, 0x22, 0x1C - .byte 0xF6, 0xF7, 0xE6, 0xFB, 0x06, 0x48, 0x00, 0x68, 0x40, 0x6C, 0xC5, 0xF7, 0x95, 0xFF, 0x04, 0x48 - .byte 0x00, 0x21, 0x00, 0x68, 0x41, 0x64, 0xFF, 0xF7, 0x8B, 0xF8, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0x9F, 0xFF, 0x00, 0x28, 0x17, 0xD0, 0x0C, 0x48 - .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0x48, 0x00, 0x68 - .byte 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x04, 0x20, 0xE0, 0xF7, 0x2E, 0xFD, 0x04, 0x20, 0xE0, 0xF7 - .byte 0x53, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0xAB, 0xFA, 0x08, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x95, 0x0A, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F - .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7, 0x59, 0xFF, 0x03, 0x48 - .byte 0x78, 0x21, 0xFF, 0xF7, 0x97, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x05, 0x0B, 0x05, 0x02 - .byte 0x08, 0xB5, 0x03, 0x20, 0xE0, 0xF7, 0x30, 0xFD, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x02, 0x21 - .byte 0xFF, 0xF7, 0x88, 0xFA, 0x08, 0xBD, 0xC0, 0x46, 0x49, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0x09, 0x48 - .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0x00, 0x20 - .byte 0xFC, 0xF7, 0x9E, 0xF8, 0x03, 0x20, 0xE0, 0xF7, 0xEF, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7 - .byte 0x71, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x71, 0x0B, 0x05, 0x02, 0x08, 0xB5, 0xE0, 0xF7 - .byte 0x19, 0xFF, 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0x65, 0xFA, 0x08, 0xBD, 0xD1, 0x0B, 0x05, 0x02 - .byte 0x08, 0xB5, 0xDE, 0xF7, 0x1B, 0xF9, 0x00, 0x28, 0x03, 0xD0, 0x02, 0x48, 0x0A, 0x21, 0xFF, 0xF7 - .byte 0x59, 0xFA, 0x08, 0xBD, 0xA9, 0x06, 0x05, 0x02, 0x02, 0x49, 0x01, 0x22, 0x09, 0x68, 0x08, 0x18 - .byte 0x02, 0x74, 0x70, 0x47, 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x04, 0x2C, 0x01, 0xDB - .byte 0xD0, 0xF7, 0x14, 0xF8, 0x02, 0x48, 0x01, 0x68, 0xA0, 0x00, 0x08, 0x58, 0x10, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x10, 0xB5, 0xE0, 0xF7, 0xBB, 0xFA, 0x04, 0x1C, 0x5F, 0x20, 0xE0, 0xF7 - .byte 0xDB, 0xFC, 0x00, 0x28, 0x0B, 0xD0, 0x06, 0x49, 0x58, 0x20, 0x0A, 0x68, 0xA1, 0x00, 0x51, 0x58 - .byte 0x04, 0x4A, 0xDF, 0xF7, 0x21, 0xFF, 0x04, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x2B, 0xFA, 0x10, 0xBD - .byte 0x6C, 0x5A, 0x1C, 0x02, 0x6C, 0x06, 0x00, 0x00, 0x4D, 0x0C, 0x05, 0x02, 0x38, 0xB5, 0x00, 0x24 - .byte 0xE0, 0xF7, 0x66, 0xF9, 0x00, 0x28, 0x0A, 0xDD, 0x09, 0x4D, 0x28, 0x68, 0x00, 0x19, 0x00, 0x7C - .byte 0x00, 0x28, 0x0B, 0xD0, 0x64, 0x1C, 0xE0, 0xF7, 0x5B, 0xF9, 0x84, 0x42, 0xF5, 0xDB, 0x61, 0x20 - .byte 0xE0, 0xF7, 0x8A, 0xFC, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7, 0x0C, 0xFA, 0x38, 0xBD, 0xC0, 0x46 - .byte 0x6C, 0x5A, 0x1C, 0x02, 0xF5, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0xDE, 0xF7, 0xDD, 0xFE, 0x00, 0x28 - .byte 0x17, 0xD1, 0x0C, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x40, 0x1E, 0x88, 0x87 - .byte 0x08, 0x48, 0x00, 0x68, 0x80, 0x8F, 0x5A, 0x28, 0x02, 0xD1, 0x05, 0x20, 0xE0, 0xF7, 0x6C, 0xFC - .byte 0x05, 0x20, 0xE0, 0xF7, 0x91, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0x03, 0x48, 0x00, 0x21, 0xFF, 0xF7 - .byte 0xE9, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48 - .byte 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xDE, 0xF7 - .byte 0x9D, 0xFE, 0x03, 0x48, 0x78, 0x21, 0xFF, 0xF7, 0xD5, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x89, 0x0C, 0x05, 0x02, 0x08, 0xB5, 0x61, 0x20, 0xE0, 0xF7, 0x6E, 0xFC, 0x00, 0x28, 0x03, 0xD0 - .byte 0x02, 0x48, 0x02, 0x21, 0xFF, 0xF7, 0xC6, 0xF9, 0x08, 0xBD, 0xC0, 0x46, 0xCD, 0x0C, 0x05, 0x02 - .byte 0x08, 0xB5, 0x0D, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87 - .byte 0x08, 0xBD, 0x62, 0x20, 0xE0, 0xF7, 0x30, 0xFC, 0x07, 0x48, 0x00, 0x68, 0x42, 0x30, 0x00, 0x78 - .byte 0x00, 0x28, 0x04, 0xD0, 0x05, 0x48, 0x1E, 0x21, 0xFF, 0xF7, 0xAC, 0xF9, 0x08, 0xBD, 0x04, 0x48 - .byte 0x1E, 0x21, 0xFF, 0xF7, 0xA7, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xC9, 0x06, 0x05, 0x02 - .byte 0xF9, 0x07, 0x05, 0x02, 0x08, 0xB5, 0x0B, 0x48, 0x01, 0x68, 0x88, 0x8F, 0x00, 0x28, 0x02, 0xD0 - .byte 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xED, 0xF1, 0x1D, 0xFA, 0xE0, 0xF7, 0x79, 0xFD, 0x21, 0x20 - .byte 0xC5, 0xF7, 0xAE, 0xFD, 0x03, 0x48, 0x00, 0x21, 0x00, 0x68, 0x41, 0x30, 0x01, 0x70, 0xFE, 0xF7 - .byte 0x47, 0xFF, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x5B, 0x20, 0xE0, 0xF7, 0x24, 0xFC - .byte 0x00, 0x28, 0x0A, 0xD0, 0x00, 0x20, 0x01, 0x1C, 0xE2, 0xF7, 0xA6, 0xFB, 0x01, 0x20, 0xFB, 0xF7 - .byte 0x9F, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x75, 0xF9, 0x08, 0xBD, 0xC9, 0x0D, 0x05, 0x02 - .byte 0x08, 0xB5, 0x01, 0x20, 0xFB, 0xF7, 0x94, 0xFF, 0x02, 0x48, 0x05, 0x21, 0xFF, 0xF7, 0x6A, 0xF9 - .byte 0x08, 0xBD, 0xC0, 0x46, 0xC9, 0x0D, 0x05, 0x02, 0x08, 0xB5, 0x07, 0x48, 0x01, 0x68, 0x88, 0x8F - .byte 0x00, 0x28, 0x02, 0xD0, 0x40, 0x1E, 0x88, 0x87, 0x08, 0xBD, 0xE0, 0xF7, 0x15, 0xFE, 0x03, 0x48 - .byte 0x00, 0x21, 0xFF, 0xF7, 0x57, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x11, 0xFC, 0x04, 0x02 - .byte 0x08, 0xB5, 0x06, 0x49, 0x09, 0x68, 0x00, 0x29, 0x03, 0xD0, 0x41, 0x31, 0x09, 0x78, 0x00, 0x29 - .byte 0x01, 0xD1, 0x00, 0x20, 0x08, 0xBD, 0xED, 0xF1, 0x51, 0xFA, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02 - .byte 0x08, 0xB5, 0x05, 0x48, 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28 - .byte 0x01, 0xD0, 0xED, 0xF1, 0x79, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0x08, 0xB5, 0x05, 0x48 - .byte 0x00, 0x68, 0x00, 0x28, 0x05, 0xD0, 0x41, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0xED, 0xF1 - .byte 0x89, 0xF9, 0x08, 0xBD, 0x6C, 0x5A, 0x1C, 0x02, 0xF8, 0xB5, 0x82, 0xB0, 0x07, 0x1C, 0x0D, 0x1C - .byte 0x09, 0x98, 0x30, 0x21, 0x00, 0x92, 0x01, 0x93, 0xEE, 0x68, 0xC5, 0xF7, 0xBD, 0xFD, 0x00, 0x21 - .byte 0x30, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x72, 0xEA, 0xE8, 0x68, 0xD2, 0xF7, 0x43, 0xFD, 0x01, 0x1C - .byte 0x20, 0x1C, 0x2B, 0xF0, 0x17, 0xFA, 0x30, 0x1C, 0x1A, 0xF0, 0x56, 0xFE, 0xE0, 0x61, 0x30, 0x1C - .byte 0x28, 0xF0, 0xF6, 0xFE, 0xE0, 0x62, 0x30, 0x1C, 0xD2, 0xF7, 0x3A, 0xFD, 0x60, 0x60, 0x00, 0x98 - .byte 0x20, 0x60, 0x01, 0x20, 0x60, 0x74, 0x01, 0x98, 0x20, 0x75, 0x20, 0x68, 0x1A, 0xF0, 0x86, 0xFD - .byte 0xE0, 0x74, 0x00, 0x20, 0x20, 0x83, 0x08, 0x98, 0xA0, 0x74, 0x30, 0x1C, 0xD9, 0xF7, 0x34, 0xFD - .byte 0x20, 0x62, 0x06, 0x49, 0x20, 0x1C, 0x2A, 0xF0, 0xA3, 0xF8, 0x05, 0x49, 0x28, 0x1C, 0x22, 0x1C - .byte 0xE6, 0xF7, 0x88, 0xFA, 0x3C, 0x60, 0x02, 0xB0, 0xF8, 0xBD, 0xC0, 0x46, 0x80, 0x58, 0x0F, 0x02 - .byte 0xE8, 0xA6, 0x0F, 0x02, 0x38, 0xB5, 0x05, 0x1C, 0x08, 0x1C, 0x40, 0x21, 0xC5, 0xF7, 0x5C, 0xFD - .byte 0x00, 0x21, 0x40, 0x22, 0x04, 0x1C, 0x7D, 0xF0, 0x32, 0xEA, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7 - .byte 0x07, 0xFD, 0xE0, 0x60, 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x60, 0x61, 0x68, 0x6A, 0xC0, 0x68 - .byte 0x1A, 0xF0, 0x0C, 0xFE, 0x20, 0x60, 0x68, 0x6A, 0xC0, 0x68, 0x1E, 0xF0, 0x25, 0xF9, 0x60, 0x60 - .byte 0x20, 0x1C, 0x00, 0x21, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x02, 0x21, 0x20, 0x30, 0x01, 0x70 - .byte 0x68, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x1C, 0xD0, 0x01, 0x21, 0xD2, 0xF7, 0xEE, 0xFD - .byte 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x0F, 0x22, 0x00, 0x06, 0x91, 0x43, 0x02, 0x0E, 0x0F, 0x20 - .byte 0x10, 0x40, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x00, 0x78 - .byte 0xF0, 0x21, 0x88, 0x43, 0x21, 0x1C, 0x32, 0x31, 0x09, 0x78, 0x09, 0x07, 0x09, 0x0F, 0x09, 0x07 - .byte 0x09, 0x0E, 0x0F, 0xE0, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0x0F, 0x20, 0x81, 0x43, 0x03, 0x20 - .byte 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x78, 0xF0, 0x20 - .byte 0x81, 0x43, 0x30, 0x20, 0x01, 0x43, 0x20, 0x1C, 0x32, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x21 - .byte 0x33, 0x30, 0x01, 0x70, 0x28, 0x1C, 0x3C, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x22, 0x30, 0x01, 0x70 - .byte 0x00, 0x22, 0xA8, 0x18, 0x3D, 0x30, 0x01, 0x78, 0xA0, 0x18, 0x2C, 0x30, 0x52, 0x1C, 0x01, 0x70 - .byte 0x06, 0x2A, 0xF6, 0xDB, 0x68, 0x6A, 0x03, 0x49, 0x22, 0x1C, 0xE6, 0xF7, 0x0B, 0xFA, 0x6C, 0x60 - .byte 0x38, 0xBD, 0xC0, 0x46, 0xDC, 0x96, 0x0F, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7 - .byte 0x55, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20, 0x10, 0xBD, 0x60, 0x68, 0x21, 0x1C, 0x2C, 0x30 - .byte 0x3D, 0x31, 0x06, 0x22, 0x7D, 0xF0, 0xFC, 0xE9, 0x60, 0x68, 0x22, 0x30, 0x00, 0x78, 0x06, 0x28 - .byte 0x04, 0xD0, 0x07, 0x28, 0x05, 0xD1, 0x00, 0x20, 0xA0, 0x63, 0x04, 0xE0, 0x01, 0x20, 0xA0, 0x63 - .byte 0x01, 0xE0, 0x02, 0x20, 0xA0, 0x63, 0x60, 0x68, 0x22, 0x30, 0x01, 0x78, 0x20, 0x1C, 0x3C, 0x30 - .byte 0x01, 0x70, 0x60, 0x68, 0xC5, 0xF7, 0x00, 0xFD, 0x00, 0x20, 0x60, 0x60, 0x01, 0x20, 0x10, 0xBD - .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xF5, 0xF7, 0x29, 0xFA, 0x00, 0x28, 0x01, 0xD0, 0x00, 0x20 - .byte 0x10, 0xBD, 0x20, 0x68, 0x01, 0x7D, 0x20, 0x1C, 0x3C, 0x30, 0x01, 0x70, 0x20, 0x68, 0xC5, 0xF7 - .byte 0xEB, 0xFC, 0x00, 0x20, 0x20, 0x60, 0x01, 0x20, 0x10, 0xBD, 0x00, 0x00, 0x08, 0xB5, 0x40, 0x6A - .byte 0xF5, 0xF7, 0x28, 0xFA, 0x00, 0x28, 0x06, 0xD0, 0x01, 0x20, 0x86, 0xF1, 0x23, 0xFE, 0xFB, 0xF7 - .byte 0x1D, 0xFE, 0x01, 0x20, 0x08, 0xBD, 0x00, 0x20, 0x08, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0xDF, 0xF7 - .byte 0x57, 0xFF, 0x05, 0x1C, 0x00, 0x24, 0x00, 0x2D, 0x09, 0xDD, 0x20, 0x1C, 0xE0, 0xF7, 0xBE, 0xFA - .byte 0x5E, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x38, 0xBD, 0x64, 0x1C, 0xAC, 0x42, 0xF5, 0xDB, 0x00, 0x20 - .byte 0x38, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x82, 0xB0, 0x05, 0x1C, 0xF5, 0xF7, 0x47, 0xFA, 0x04, 0x1C - .byte 0x28, 0x1C, 0xF5, 0xF7, 0x41, 0xFA, 0x61, 0x6B, 0x2C, 0x29, 0x00, 0xD9, 0x84, 0xE3, 0x49, 0x18 - .byte 0x79, 0x44, 0xC9, 0x88, 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x58, 0x00, 0x7A, 0x00, 0x94, 0x00 - .byte 0xAE, 0x00, 0xEA, 0x00, 0x3A, 0x01, 0xFC, 0x06, 0x28, 0x01, 0x50, 0x01, 0x76, 0x01, 0x82, 0x01 - .byte 0xAE, 0x01, 0xCC, 0x01, 0xE0, 0x01, 0xEC, 0x01, 0x0E, 0x02, 0x24, 0x02, 0x52, 0x02, 0x78, 0x02 - .byte 0x8A, 0x02, 0xCE, 0x02, 0xAE, 0x02, 0xEA, 0x02, 0xFA, 0x02, 0x18, 0x03, 0x36, 0x03, 0x4A, 0x03 - .byte 0xB6, 0x03, 0xEC, 0x03, 0x02, 0x04, 0x4C, 0x04, 0x84, 0x04, 0xAA, 0x04, 0xCA, 0x05, 0xFA, 0x05 - .byte 0x12, 0x06, 0xFE, 0x04, 0x3C, 0x05, 0x58, 0x05, 0x22, 0x06, 0xFC, 0x06, 0x46, 0x06, 0x88, 0x06 - .byte 0xAA, 0x06, 0xDC, 0x06, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x57, 0xD1, 0x01, 0x20, 0x60, 0x63 - .byte 0xFD, 0xF7, 0xC6, 0xFD, 0x40, 0xE3, 0xE0, 0x6A, 0xE2, 0x68, 0x01, 0x21, 0xB9, 0xF7, 0xD0, 0xFB - .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x3C, 0xFB, 0x20, 0x63, 0x02, 0x20, 0x60, 0x63, 0x33, 0xE3 - .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xB7, 0xFA, 0x00, 0x28, 0x3E, 0xD0, 0x5D, 0x20 - .byte 0xE0, 0xF7, 0x12, 0xFA, 0x03, 0x20, 0x60, 0x63, 0x26, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x34, 0xFA - .byte 0x00, 0x28, 0x0A, 0xD0, 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xF4, 0xFA - .byte 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20, 0x90, 0x47, 0x16, 0xE3, 0xC6, 0x48, 0x81, 0x6C, 0x02, 0x20 - .byte 0x08, 0x42, 0x23, 0xD0, 0x04, 0x20, 0x60, 0x63, 0x5C, 0x20, 0xE0, 0xF7, 0xF5, 0xF9, 0x05, 0x20 - .byte 0x43, 0x34, 0x20, 0x70, 0x08, 0xE3, 0x5D, 0x20, 0xE0, 0xF7, 0x16, 0xFA, 0x00, 0x28, 0x09, 0xD0 - .byte 0x07, 0x20, 0x60, 0x63, 0x60, 0x6A, 0x40, 0x6B, 0x07, 0xF0, 0xD6, 0xFA, 0x21, 0x6D, 0xA2, 0x68 - .byte 0x01, 0x20, 0x90, 0x47, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x43, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0xEC, 0xE2, 0x08, 0x20 - .byte 0x60, 0x63, 0xE9, 0xE2, 0x20, 0x1C, 0x00, 0xF0, 0xD7, 0xFB, 0x20, 0x1C, 0xC5, 0xF7, 0x14, 0xFC - .byte 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFB, 0x20, 0x1C, 0xC5, 0xF7 - .byte 0x0B, 0xFC, 0xFE, 0xF7, 0xFB, 0xFA, 0x02, 0xB0, 0x01, 0x20, 0x38, 0xBD, 0x5D, 0x20, 0xE0, 0xF7 - .byte 0xE3, 0xF9, 0x00, 0x28, 0x06, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x21, 0x6D, 0xA2, 0x68, 0x01, 0x20 - .byte 0x90, 0x47, 0xC9, 0xE2, 0x21, 0x6D, 0xA2, 0x68, 0x00, 0x20, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63 - .byte 0xC2, 0xE2, 0x0A, 0x20, 0x60, 0x63, 0x05, 0x20, 0x44, 0x34, 0x20, 0x70, 0xBC, 0xE2, 0x21, 0x1C - .byte 0x44, 0x31, 0x09, 0x78, 0x00, 0x29, 0x06, 0xD0, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x44, 0x34 - .byte 0x40, 0x1E, 0x20, 0x70, 0xB0, 0xE2, 0x80, 0x6B, 0x04, 0xF0, 0xA2, 0xF8, 0x09, 0xF0, 0xE4, 0xFD - .byte 0x00, 0x28, 0x4A, 0xD0, 0x0B, 0x20, 0x60, 0x63, 0xA6, 0xE2, 0xFD, 0xF7, 0x29, 0xFD, 0xE0, 0x6A - .byte 0xE2, 0x68, 0x0D, 0x21, 0xB9, 0xF7, 0x34, 0xFB, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFA - .byte 0x20, 0x63, 0x0C, 0x20, 0x60, 0x63, 0x97, 0xE2, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 - .byte 0x1B, 0xFA, 0x00, 0x28, 0x31, 0xD0, 0x0D, 0x20, 0x60, 0x63, 0x8D, 0xE2, 0x00, 0x20, 0x86, 0xF1 - .byte 0x01, 0xFD, 0x0E, 0x20, 0x60, 0x63, 0x87, 0xE2, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1E - .byte 0x20, 0x1C, 0x43, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x00, 0x28, 0x1C, 0xD1 - .byte 0xFD, 0xF7, 0xFE, 0xFC, 0x0F, 0x20, 0x60, 0x63, 0x76, 0xE2, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0 - .byte 0x9F, 0xFA, 0x20, 0x1C, 0x0B, 0x21, 0xFF, 0xF7, 0xFD, 0xFD, 0x10, 0x20, 0x60, 0x63, 0x6B, 0xE2 - .byte 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x70, 0xFE, 0x00, 0x28, 0x06, 0xD0, 0xA0, 0x6B, 0x00, 0x28 - .byte 0x04, 0xD0, 0x01, 0x28, 0x05, 0xD0, 0x02, 0x28, 0x06, 0xD0, 0x5D, 0xE2, 0x14, 0x20, 0x60, 0x63 - .byte 0x5A, 0xE2, 0x13, 0x20, 0x60, 0x63, 0x57, 0xE2, 0x11, 0x20, 0x60, 0x63, 0x54, 0xE2, 0x60, 0x6A - .byte 0xC0, 0x68, 0x1A, 0xF0, 0x03, 0xFC, 0x02, 0x1C, 0x00, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90 - .byte 0x23, 0x1C, 0x3C, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x8D, 0xFD, 0x12, 0x20 - .byte 0x60, 0x63, 0x41, 0xE2, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0x72, 0xFE, 0x00, 0x28, 0x67, 0xD0 - .byte 0x0F, 0x20, 0x60, 0x63, 0x38, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0xA8, 0xF8, 0x20, 0x1C, 0x88, 0x30 - .byte 0x00, 0x78, 0x03, 0x28, 0x06, 0xD0, 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x15, 0x20 - .byte 0x60, 0x63, 0x29, 0xE2, 0x1A, 0x20, 0x60, 0x63, 0x26, 0xE2, 0x20, 0x1C, 0x3D, 0x30, 0xE2, 0xF7 - .byte 0xF9, 0xF8, 0x20, 0x1C, 0xFF, 0xF7, 0x6A, 0xFE, 0x00, 0x28, 0x49, 0xD0, 0x20, 0x1C, 0x05, 0x21 - .byte 0x43, 0x30, 0x01, 0x70, 0x00, 0x20, 0x60, 0x63, 0x16, 0xE2, 0x60, 0x6A, 0xF5, 0xF7, 0x86, 0xF8 - .byte 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28, 0x02, 0xD0, 0x16, 0x20, 0x60, 0x63, 0x0B, 0xE2 - .byte 0x1A, 0x20, 0x60, 0x63, 0x08, 0xE2, 0x20, 0x1C, 0xFF, 0xF7, 0x50, 0xFE, 0x00, 0x28, 0x2F, 0xD0 - .byte 0x08, 0x20, 0x60, 0x63, 0x00, 0xE2, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C - .byte 0x44, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x44, 0x30, 0x00, 0x78, 0x00, 0x28, 0x20, 0xD1, 0x18, 0x20 - .byte 0x60, 0x63, 0xF1, 0xE1, 0xFD, 0xF7, 0x74, 0xFC, 0xE0, 0x6A, 0xE2, 0x68, 0x13, 0x21, 0xB9, 0xF7 - .byte 0x7F, 0xFA, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xEB, 0xF9, 0x20, 0x63, 0x19, 0x20, 0x60, 0x63 - .byte 0xE2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x66, 0xF9, 0x00, 0x28, 0x07, 0xD0 - .byte 0x0D, 0x20, 0x60, 0x63, 0xD8, 0xE1, 0x20, 0x1C, 0xFF, 0xF7, 0x20, 0xFE, 0x00, 0x28, 0x00, 0xD1 - .byte 0xD2, 0xE1, 0xFF, 0xF7, 0x2B, 0xFE, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0xCB, 0xE1 - .byte 0xA0, 0x6B, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x21, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x1C, 0x82, 0x30 - .byte 0x01, 0x70, 0x21, 0x1C, 0x82, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xFA, 0x00, 0x20 - .byte 0xE0, 0xF7, 0xA2, 0xF8, 0xA0, 0x6A, 0x62, 0x6F, 0x00, 0x21, 0xB9, 0xF7, 0xB9, 0xFB, 0xE0, 0x6A - .byte 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x44, 0xFA, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7 - .byte 0xAB, 0xF9, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xF9, 0x20, 0x63, 0x1B, 0x20, 0x60, 0x63 - .byte 0xA2, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0x26, 0xF9, 0x00, 0x28, 0x79, 0xD0 - .byte 0xFF, 0xF7, 0xF4, 0xFD, 0x00, 0x28, 0x02, 0xD0, 0x05, 0x20, 0x60, 0x63, 0x94, 0xE1, 0x00, 0x20 - .byte 0xE0, 0xF7, 0xA2, 0xF8, 0x00, 0x28, 0x6D, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xCD, 0xFA, 0x1C, 0x20 - .byte 0x60, 0x63, 0x89, 0xE1, 0xB8, 0x48, 0x1C, 0x02, 0x20, 0x1C, 0x00, 0xF0, 0xE9, 0xFA, 0x00, 0x28 - .byte 0x60, 0xD0, 0x01, 0x20, 0xE0, 0xF7, 0x68, 0xF8, 0x1D, 0x20, 0x60, 0x63, 0x7C, 0xE1, 0x01, 0x20 - .byte 0xE0, 0xF7, 0x8A, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xE1, 0xFA, 0x21, 0x1C - .byte 0x83, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x82, 0x30, 0x00, 0x78, 0x00, 0x28, 0x11, 0xD0, 0x20, 0x1C - .byte 0x83, 0x30, 0x00, 0x78, 0x00, 0x28, 0x0C, 0xD0, 0xE0, 0x6A, 0xE2, 0x68, 0x14, 0x21, 0xB9, 0xF7 - .byte 0xF7, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x63, 0xF9, 0x20, 0x63, 0x1E, 0x20, 0x60, 0x63 - .byte 0x5A, 0xE1, 0x2A, 0x20, 0x60, 0x63, 0x57, 0xE1, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 - .byte 0xDB, 0xF8, 0x00, 0x28, 0x2E, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x89, 0x30, 0x01, 0x70, 0xE0, 0x6A - .byte 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7, 0xDC, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x48, 0xF9 - .byte 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x84, 0x30, 0x01, 0x70, 0x1F, 0x20, 0x60, 0x63, 0x3B, 0xE1 - .byte 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0, 0xBF, 0xF8, 0x00, 0x28, 0x12, 0xD0, 0x20, 0x1C - .byte 0x00, 0xF0, 0xCE, 0xFA, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78, 0x20, 0x1C, 0x00, 0xF0, 0x04, 0xFB - .byte 0x20, 0x20, 0x60, 0x63, 0x28, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0xF4, 0xFB, 0x01, 0x28, 0x02, 0xD0 - .byte 0x02, 0x28, 0x0B, 0xD0, 0x20, 0xE1, 0x20, 0x1C, 0x00, 0xF0, 0x54, 0xFC, 0x81, 0x20, 0x21, 0x56 - .byte 0x20, 0x1C, 0x84, 0x30, 0x01, 0x70, 0x24, 0x20, 0x60, 0x63, 0x15, 0xE1, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x49, 0xFC, 0x20, 0x1C, 0xFF, 0x21, 0x84, 0x30, 0x01, 0x70, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21 - .byte 0xB9, 0xF7, 0x9E, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x0A, 0xF9, 0x20, 0x63, 0x02, 0x20 - .byte 0xDF, 0xF7, 0xEA, 0xFF, 0x27, 0x20, 0x60, 0x63, 0xFE, 0xE0, 0x21, 0x1C, 0x84, 0x31, 0x09, 0x78 - .byte 0x20, 0x6D, 0x1A, 0xF0, 0xF5, 0xF9, 0x17, 0xF0, 0x8D, 0xFD, 0x02, 0x1C, 0xA0, 0x6A, 0x01, 0x21 - .byte 0xB9, 0xF7, 0x46, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x12, 0x21, 0xB9, 0xF7, 0x81, 0xF9, 0xA0, 0x6A - .byte 0x21, 0x69, 0xE2, 0x68, 0xBA, 0xF7, 0xE8, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xE8, 0xF8 - .byte 0x20, 0x63, 0x25, 0x20, 0x60, 0x63, 0xDF, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x03, 0xF0 - .byte 0x63, 0xF8, 0x00, 0x28, 0x43, 0xD0, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x3D, 0xFB, 0x26, 0x20 - .byte 0x60, 0x63, 0xD1, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x9D, 0xFB, 0x01, 0x28, 0x11, 0xD0, 0x02, 0x28 - .byte 0x35, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xFE, 0xFB, 0xE0, 0x6A, 0xE2, 0x68, 0x11, 0x21, 0xB9, 0xF7 - .byte 0x57, 0xF9, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0xC3, 0xF8, 0x20, 0x63, 0x1F, 0x20, 0x60, 0x63 - .byte 0xBA, 0xE0, 0x81, 0x20, 0x20, 0x56, 0x01, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFB - .byte 0xE0, 0x6A, 0xE2, 0x68, 0x0E, 0x21, 0xB9, 0xF7, 0x43, 0xF9, 0xA0, 0x6A, 0x21, 0x69, 0xE2, 0x68 - .byte 0xBA, 0xF7, 0xAA, 0xF8, 0x21, 0x69, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x20, 0x63, 0x02, 0x20 - .byte 0xDF, 0xF7, 0x8A, 0xFF, 0x27, 0x20, 0x60, 0x63, 0x9E, 0xE0, 0x00, 0x20, 0x86, 0xF1, 0x12, 0xFB - .byte 0x21, 0x20, 0x60, 0x63, 0x98, 0xE0, 0xBC, 0xF7, 0x3F, 0xFE, 0x00, 0x28, 0x00, 0xD1, 0x93, 0xE0 - .byte 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xBC, 0xF8, 0x01, 0x20, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x90 - .byte 0x23, 0x1C, 0x84, 0x33, 0x1B, 0x78, 0x61, 0x6A, 0x22, 0x6D, 0x20, 0x1C, 0xFF, 0xF7, 0xCC, 0xFB - .byte 0x22, 0x20, 0x60, 0x63, 0x80, 0xE0, 0x61, 0x6A, 0x20, 0x1C, 0xFF, 0xF7, 0xB1, 0xFC, 0x00, 0x28 - .byte 0x7A, 0xD0, 0x60, 0x6A, 0xF4, 0xF7, 0xEA, 0xFE, 0x23, 0x20, 0x60, 0x63, 0x74, 0xE0, 0x20, 0x1C - .byte 0xFF, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x6F, 0xD0, 0x24, 0x20, 0x60, 0x63, 0x6C, 0xE0, 0x20, 0x6B - .byte 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xF0, 0xFF, 0x00, 0x28, 0x65, 0xD0, 0x02, 0x20, 0xDF, 0xF7 - .byte 0x73, 0xFF, 0x00, 0x28, 0x60, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xD4, 0xF9, 0x29, 0x20, 0x60, 0x63 - .byte 0x5A, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xEC, 0xF9, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x84, 0x30 - .byte 0x00, 0x78, 0xFF, 0x28, 0x05, 0xD1, 0x04, 0x20, 0xDF, 0xF7, 0x36, 0xFF, 0x2C, 0x20, 0x60, 0x63 - .byte 0x4A, 0xE0, 0x20, 0x1C, 0x85, 0x30, 0x00, 0x78, 0xFF, 0x28, 0x02, 0xD1, 0x2A, 0x20, 0x60, 0x63 - .byte 0x42, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF2, 0xF9, 0x5D, 0x20, 0xDF, 0xF7, 0x25, 0xFF, 0x02, 0x20 - .byte 0x60, 0x63, 0x39, 0xE0, 0xE0, 0x6A, 0xE2, 0x68, 0x0F, 0x21, 0xB9, 0xF7, 0xC9, 0xF8, 0xE1, 0x68 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF8, 0x20, 0x63, 0x20, 0x1C, 0x00, 0x21, 0x43, 0x30, 0x01, 0x70 - .byte 0x2B, 0x20, 0x60, 0x63, 0x28, 0xE0, 0x20, 0x6B, 0x00, 0x06, 0x00, 0x0E, 0x02, 0xF0, 0xAC, 0xFF - .byte 0x00, 0x28, 0x21, 0xD0, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x41, 0x1C, 0x20, 0x1C, 0x43, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x43, 0x30, 0x00, 0x78, 0x3C, 0x28, 0x15, 0xD9, 0x04, 0x20, 0xDF, 0xF7 - .byte 0xFB, 0xFE, 0x2C, 0x20, 0x60, 0x63, 0x0F, 0xE0, 0x04, 0x20, 0xDF, 0xF7, 0x1D, 0xFF, 0x00, 0x28 - .byte 0x0A, 0xD0, 0x20, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x9A, 0xFC, 0x00, 0x20, 0xA2, 0x68 - .byte 0x01, 0x1C, 0x90, 0x47, 0x05, 0x20, 0x60, 0x63, 0x00, 0x20, 0x02, 0xB0, 0x38, 0xBD, 0x00, 0x00 - .byte 0x70, 0xB5, 0x05, 0x1C, 0x2C, 0x1C, 0x14, 0x34, 0x20, 0x1C, 0x0E, 0x1C, 0xC7, 0xF7, 0x3C, 0xFC - .byte 0x00, 0x28, 0x0E, 0xD1, 0x68, 0x6A, 0x21, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x02, 0xF0, 0xEC, 0xFE - .byte 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x8C, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x02, 0xF0, 0x0C, 0xFF - .byte 0x02, 0xE0, 0x20, 0x1C, 0x02, 0xF0, 0x2A, 0xFF, 0x68, 0x6A, 0xC0, 0x68, 0xD2, 0xF7, 0x80, 0xF8 - .byte 0x02, 0x1C, 0x20, 0x1C, 0x31, 0x1C, 0x01, 0x23, 0x02, 0xF0, 0x26, 0xFF, 0x70, 0xBD, 0x00, 0x00 - .byte 0x38, 0xB5, 0x05, 0x1C, 0x14, 0x30, 0x0C, 0x1C, 0xC7, 0xF7, 0x16, 0xFC, 0x00, 0x28, 0x12, 0xD0 - .byte 0x00, 0x2C, 0x08, 0xD0, 0x28, 0x1C, 0x14, 0x30, 0x00, 0x21, 0xBB, 0xF7, 0x59, 0xFC, 0x28, 0x1C - .byte 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFE, 0x28, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9D, 0xFC, 0x28, 0x1C - .byte 0x14, 0x30, 0xC7, 0xF7, 0xEB, 0xFB, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0xFD, 0xFB, 0x00, 0x28 - .byte 0x07, 0xD0, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7, 0x8F, 0xFC, 0x28, 0x1C, 0x54, 0x30, 0xC7, 0xF7 - .byte 0xDD, 0xFB, 0x28, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0xEF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C - .byte 0x64, 0x30, 0xC7, 0xF7, 0x81, 0xFC, 0x64, 0x35, 0x28, 0x1C, 0xC7, 0xF7, 0xCF, 0xFB, 0x38, 0xBD - .byte 0x70, 0xB5, 0x05, 0x1C, 0x28, 0x69, 0x0E, 0x1C, 0x00, 0x28, 0x00, 0xD0, 0x81, 0xE0, 0x0B, 0x20 - .byte 0x8C, 0x21, 0xC5, 0xF7, 0xA1, 0xF8, 0x04, 0x1C, 0x00, 0x21, 0x8C, 0x22, 0x7C, 0xF0, 0x56, 0xED - .byte 0x20, 0x1C, 0x05, 0x21, 0x43, 0x30, 0x01, 0x70, 0x65, 0x62, 0xA6, 0x60, 0x0B, 0x20, 0xB9, 0xF7 - .byte 0xE7, 0xF8, 0xA0, 0x62, 0x00, 0x20, 0x1A, 0x21, 0x09, 0x22, 0x0B, 0x23, 0xB8, 0xF7, 0xD6, 0xFF - .byte 0xE0, 0x62, 0xC8, 0x20, 0x0B, 0x21, 0xD0, 0xF7, 0x95, 0xF8, 0xE0, 0x60, 0xC8, 0x20, 0x0B, 0x21 - .byte 0xD0, 0xF7, 0x90, 0xF8, 0x20, 0x61, 0x20, 0x1C, 0x14, 0x30, 0xC7, 0xF7, 0x9F, 0xFB, 0x20, 0x1C - .byte 0x54, 0x30, 0xC7, 0xF7, 0x9B, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0xC7, 0xF7, 0x97, 0xFB, 0x0B, 0x20 - .byte 0xC1, 0xF7, 0xCE, 0xFE, 0xA0, 0x67, 0xE1, 0xF7, 0x1D, 0xFE, 0x21, 0x1C, 0x88, 0x31, 0x08, 0x70 - .byte 0x00, 0x21, 0xE1, 0x64, 0xA1, 0x64, 0x20, 0x1C, 0x21, 0x65, 0x89, 0x30, 0x01, 0x70, 0xDF, 0xF7 - .byte 0x3F, 0xFC, 0x21, 0x1C, 0x86, 0x31, 0x08, 0x80, 0x20, 0x1C, 0x86, 0x30, 0x01, 0x88, 0x01, 0x20 - .byte 0x48, 0x40, 0xDC, 0xF7, 0x3F, 0xFB, 0x60, 0x67, 0x20, 0x1C, 0x88, 0x30, 0x00, 0x78, 0x03, 0x28 - .byte 0x02, 0xD0, 0x04, 0x28, 0x1B, 0xD0, 0x1D, 0xE0, 0x00, 0xF0, 0x8C, 0xFA, 0x06, 0x1C, 0x0B, 0x20 - .byte 0x31, 0x1C, 0xC5, 0xF7, 0x49, 0xF8, 0xE0, 0x64, 0x0B, 0x20, 0x31, 0x1C, 0xC5, 0xF7, 0x44, 0xF8 - .byte 0xA0, 0x64, 0x0B, 0x20, 0x19, 0xF0, 0xAA, 0xFF, 0x03, 0x21, 0x20, 0x65, 0x19, 0xF0, 0xB6, 0xFF - .byte 0x20, 0x1C, 0x05, 0x21, 0x44, 0x30, 0x01, 0x70, 0x17, 0x20, 0x60, 0x63, 0x0C, 0xE0, 0x09, 0x20 - .byte 0x60, 0x63, 0x09, 0xE0, 0x60, 0x6A, 0xAC, 0x30, 0x00, 0x68, 0x00, 0x28, 0x02, 0xD0, 0x09, 0x20 - .byte 0x60, 0x63, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x63, 0x02, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xF4, 0xF7 - .byte 0x1D, 0xFD, 0x70, 0xBD, 0x95, 0x10, 0x05, 0x02, 0x10, 0xB5, 0x04, 0x1C, 0x20, 0x6D, 0x00, 0x28 - .byte 0x01, 0xD0, 0xC5, 0xF7, 0x39, 0xF8, 0xE0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x34, 0xF8 - .byte 0xA0, 0x6C, 0x00, 0x28, 0x01, 0xD0, 0xC5, 0xF7, 0x2F, 0xF8, 0xE0, 0x6A, 0xB8, 0xF7, 0x7C, 0xFF - .byte 0xA0, 0x6A, 0xB9, 0xF7, 0xA9, 0xF8, 0xE0, 0x68, 0xD0, 0xF7, 0x2A, 0xF8, 0x20, 0x69, 0xD0, 0xF7 - .byte 0x27, 0xF8, 0xA0, 0x6F, 0xC1, 0xF7, 0x74, 0xFE, 0x20, 0x1C, 0x01, 0x21, 0xFF, 0xF7, 0x18, 0xFF - .byte 0x10, 0xBD, 0x00, 0x00, 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02 - .byte 0xF8, 0xB5, 0x07, 0x1C, 0x78, 0x6A, 0x0D, 0x1C, 0xC0, 0x68, 0x1A, 0xF0, 0x8F, 0xF8, 0x00, 0x90 - .byte 0xFC, 0x6C, 0x17, 0xF0, 0x5F, 0xFB, 0x06, 0x1C, 0x70, 0x00, 0x30, 0x18, 0x25, 0x50, 0x20, 0x58 - .byte 0x00, 0x28, 0x0F, 0xD0, 0x00, 0x25, 0x79, 0x19, 0x3D, 0x31, 0x09, 0x78, 0x00, 0x98, 0x49, 0x1E - .byte 0x19, 0xF0, 0xC6, 0xFF, 0x21, 0x1C, 0x32, 0x1C, 0x7C, 0xF0, 0xDA, 0xEC, 0x6D, 0x1C, 0xA4, 0x19 - .byte 0x03, 0x2D, 0xF0, 0xDB, 0xF8, 0xBD, 0x00, 0x00, 0x38, 0xB5, 0x05, 0x1C, 0x89, 0x30, 0x01, 0x78 - .byte 0x01, 0x20, 0x01, 0x42, 0x1A, 0xD1, 0xEC, 0x6C, 0x00, 0xF0, 0x04, 0xFA, 0x02, 0x1C, 0x28, 0x1C - .byte 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x04, 0xD1, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x6E, 0xF8 - .byte 0x03, 0xE0, 0x6A, 0x20, 0x21, 0x1C, 0xDF, 0xF7, 0x07, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x29, 0x1C - .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x35, 0x11, 0x43, 0x29, 0x70, 0x38, 0xBD, 0x00, 0x00 - .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 - .byte 0x10, 0xB5, 0x04, 0x1C, 0x17, 0xF0, 0x16, 0xFB, 0x41, 0x00, 0xA2, 0x6C, 0x40, 0x18, 0x10, 0x58 - .byte 0x10, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x86, 0x30, 0x00, 0x88, 0x00, 0x28, 0x06, 0xD1 - .byte 0x21, 0x1C, 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x84, 0xF8, 0x05, 0xE0, 0x21, 0x1C - .byte 0x6B, 0x20, 0x84, 0x31, 0x01, 0x22, 0xDF, 0xF7, 0x09, 0xF8, 0x00, 0x28, 0x06, 0xD0, 0x21, 0x1C - .byte 0x89, 0x31, 0x0A, 0x78, 0x01, 0x21, 0x89, 0x34, 0x11, 0x43, 0x21, 0x70, 0x10, 0xBD, 0x00, 0x00 - .byte 0x89, 0x30, 0x00, 0x78, 0x03, 0x28, 0x01, 0xD1, 0x01, 0x20, 0x70, 0x47, 0x00, 0x20, 0x70, 0x47 - .byte 0x70, 0xB5, 0x05, 0x1C, 0x17, 0xF0, 0xE6, 0xFA, 0x06, 0x1C, 0x28, 0x6D, 0x03, 0x21, 0x19, 0xF0 - .byte 0xE5, 0xFE, 0x00, 0x24, 0x21, 0x1C, 0xAA, 0x6C, 0x71, 0x43, 0x28, 0x6D, 0x51, 0x18, 0x19, 0xF0 - .byte 0xF7, 0xFE, 0x64, 0x1C, 0x03, 0x2C, 0xF5, 0xDB, 0x70, 0xBD, 0x00, 0x00, 0x70, 0xB5, 0x06, 0x1C - .byte 0x17, 0xF0, 0xD0, 0xFA, 0x04, 0x1C, 0x30, 0x1C, 0x84, 0x30, 0x00, 0x78, 0xB2, 0x6C, 0xF3, 0x6C - .byte 0x01, 0x1C, 0x61, 0x43, 0x50, 0x18, 0x31, 0x1C, 0x85, 0x31, 0x09, 0x78, 0x0A, 0x1C, 0x62, 0x43 - .byte 0x99, 0x18, 0x22, 0x1C, 0x7C, 0xF0, 0x4C, 0xEC, 0x30, 0x6D, 0x03, 0x21, 0x19, 0xF0, 0xBE, 0xFE - .byte 0x00, 0x25, 0x29, 0x1C, 0xF2, 0x6C, 0x61, 0x43, 0x30, 0x6D, 0x51, 0x18, 0x19, 0xF0, 0xD0, 0xFE - .byte 0x6D, 0x1C, 0x03, 0x2D, 0xF5, 0xDB, 0x70, 0xBD, 0xF0, 0xB5, 0x89, 0xB0, 0x05, 0x1C, 0x08, 0x90 - .byte 0x54, 0x30, 0x05, 0x91, 0x08, 0x90, 0xC7, 0xF7, 0x67, 0xFA, 0x00, 0x28, 0x5A, 0xD1, 0x41, 0x4A - .byte 0x01, 0x20, 0x1A, 0x21, 0x04, 0x23, 0xB8, 0xF7, 0x71, 0xFE, 0x06, 0x90, 0x17, 0xF0, 0x9A, 0xFA - .byte 0x07, 0x90, 0x09, 0x20, 0x00, 0x90, 0x0A, 0x21, 0x01, 0x91, 0x08, 0x20, 0x02, 0x90, 0x0D, 0x20 - .byte 0x03, 0x90, 0x04, 0x91, 0x68, 0x6A, 0x08, 0x99, 0x80, 0x68, 0x03, 0x22, 0x15, 0x23, 0xC7, 0xF7 - .byte 0x59, 0xFA, 0x00, 0x20, 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68 - .byte 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0x9C, 0xFF, 0x08, 0x98, 0x0F, 0x21, 0xC7, 0xF7, 0x28, 0xFD - .byte 0x00, 0x27, 0x3E, 0x1C, 0x3C, 0x1C, 0xA8, 0x6C, 0x05, 0x21, 0x80, 0x19, 0x00, 0x22, 0x15, 0xF0 - .byte 0xED, 0xFA, 0x01, 0x1C, 0x06, 0x98, 0xEA, 0x68, 0xB8, 0xF7, 0x7A, 0xFE, 0x00, 0x94, 0xFF, 0x20 - .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x08, 0x98, 0xEA, 0x68, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7 - .byte 0xC1, 0xF8, 0x07, 0x98, 0x7F, 0x1C, 0x36, 0x18, 0x10, 0x34, 0x03, 0x2F, 0xE3, 0xDB, 0xE8, 0x6A - .byte 0xEA, 0x68, 0x15, 0x21, 0xB8, 0xF7, 0x64, 0xFE, 0x38, 0x01, 0x00, 0x90, 0xFF, 0x20, 0x01, 0x90 - .byte 0x00, 0x21, 0x02, 0x91, 0x08, 0x98, 0xEA, 0x68, 0x10, 0x23, 0xCA, 0xF7, 0xAB, 0xF8, 0x06, 0x98 - .byte 0xB8, 0xF7, 0x42, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x08, 0x98, 0x00, 0x22, 0x00, 0x7A, 0x0F, 0x21 - .byte 0x13, 0x1C, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x08, 0x98, 0xC7, 0xF7, 0x53, 0xFD, 0x05, 0x9B - .byte 0x29, 0x1C, 0xA8, 0x6F, 0x54, 0x31, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x4D, 0xFD, 0x28, 0x1C - .byte 0x54, 0x30, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBB, 0xF7, 0x1C, 0xF8, 0x29, 0x1C, 0x05, 0x98 - .byte 0x81, 0x31, 0x08, 0x70, 0x28, 0x1C, 0x04, 0x21, 0x80, 0x30, 0x01, 0x70, 0x08, 0x98, 0xE8, 0x67 - .byte 0x09, 0xB0, 0xF0, 0xBD, 0x6A, 0x01, 0x00, 0x00, 0xF8, 0xB5, 0x86, 0xB0, 0x05, 0x1C, 0x2F, 0x1C - .byte 0x64, 0x37, 0x38, 0x1C, 0x05, 0x91, 0xC7, 0xF7, 0xD7, 0xF9, 0x00, 0x28, 0x35, 0xD1, 0x0B, 0x20 - .byte 0x00, 0x90, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x0D, 0x20, 0x03, 0x90, 0x5A, 0x20, 0x04, 0x90 - .byte 0x68, 0x6A, 0x39, 0x1C, 0x80, 0x68, 0x03, 0x22, 0x14, 0x23, 0xC7, 0xF7, 0xD3, 0xF9, 0x00, 0x20 - .byte 0x00, 0x90, 0x04, 0x20, 0x01, 0x90, 0x68, 0x6A, 0x03, 0x21, 0x80, 0x68, 0x01, 0x22, 0x0B, 0x23 - .byte 0xBA, 0xF7, 0x16, 0xFF, 0x38, 0x1C, 0x0F, 0x21, 0xC7, 0xF7, 0xA2, 0xFC, 0x00, 0x26, 0x34, 0x1C - .byte 0x31, 0x1C, 0xE8, 0x6A, 0xEA, 0x68, 0x16, 0x31, 0xB8, 0xF7, 0xFA, 0xFD, 0x00, 0x94, 0xFF, 0x20 - .byte 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0xEA, 0x68, 0x38, 0x1C, 0x00, 0x21, 0x10, 0x23, 0xCA, 0xF7 - .byte 0x41, 0xF8, 0x76, 0x1C, 0x10, 0x34, 0x03, 0x2E, 0xEA, 0xDB, 0x28, 0x1C, 0x03, 0x21, 0x80, 0x30 - .byte 0x01, 0x70, 0x29, 0x1C, 0x05, 0x98, 0xEF, 0x67, 0x81, 0x31, 0x08, 0x70, 0x10, 0x20, 0x00, 0x90 - .byte 0x38, 0x7A, 0x00, 0x22, 0x0F, 0x21, 0xC0, 0x04, 0x00, 0x0C, 0x01, 0x90, 0x38, 0x1C, 0x13, 0x1C - .byte 0xC7, 0xF7, 0xE0, 0xFC, 0x05, 0x9B, 0xA8, 0x6F, 0xE9, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7 - .byte 0xDB, 0xFC, 0xE8, 0x6F, 0x00, 0x21, 0x01, 0x22, 0x0B, 0x23, 0xBA, 0xF7, 0xAB, 0xFF, 0x06, 0xB0 - .byte 0xF8, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x82, 0xB0, 0x04, 0x1C, 0x30, 0x48, 0x40, 0x21, 0x80, 0x6C - .byte 0x01, 0x42, 0x0C, 0xD0, 0x81, 0x20, 0x20, 0x56, 0x00, 0x28, 0x03, 0xD1, 0x20, 0x1C, 0x80, 0x30 - .byte 0x00, 0x78, 0xFF, 0xE7, 0x41, 0x1E, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70, 0x30, 0xE0, 0x80, 0x21 - .byte 0x01, 0x42, 0x0E, 0xD0, 0x81, 0x20, 0x21, 0x56, 0x20, 0x1C, 0x80, 0x30, 0x00, 0x78, 0x40, 0x1E - .byte 0x81, 0x42, 0x01, 0xD1, 0x00, 0x21, 0x00, 0xE0, 0x49, 0x1C, 0x20, 0x1C, 0x81, 0x30, 0x01, 0x70 - .byte 0x1E, 0xE0, 0x01, 0x21, 0x01, 0x42, 0x0F, 0xD0, 0x1D, 0x48, 0xB3, 0xF7, 0x8D, 0xFB, 0x81, 0x20 - .byte 0x21, 0x56, 0x80, 0x34, 0x20, 0x78, 0x40, 0x1E, 0x81, 0x42, 0x02, 0xDA, 0x02, 0xB0, 0x01, 0x20 - .byte 0x10, 0xBD, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0x21, 0x08, 0x42, 0x05, 0xD0, 0x14, 0x48 - .byte 0xB3, 0xF7, 0x7A, 0xFB, 0x02, 0xB0, 0x02, 0x20, 0x10, 0xBD, 0x02, 0xB0, 0x00, 0x20, 0x10, 0xBD - .byte 0x0F, 0x48, 0xB3, 0xF7, 0x71, 0xFB, 0xE0, 0x6F, 0x10, 0x21, 0x00, 0x91, 0x01, 0x7A, 0x00, 0x22 - .byte 0x13, 0x1C, 0xC9, 0x04, 0x09, 0x0C, 0x01, 0x91, 0x0F, 0x21, 0xC7, 0xF7, 0x7B, 0xFC, 0x81, 0x23 - .byte 0xE3, 0x56, 0xA0, 0x6F, 0xE1, 0x6F, 0x00, 0x22, 0x1B, 0x01, 0xC1, 0xF7, 0x75, 0xFC, 0xE0, 0x6F - .byte 0xC7, 0xF7, 0x9A, 0xFB, 0x00, 0x20, 0x02, 0xB0, 0x10, 0xBD, 0xC0, 0x46, 0xB8, 0x48, 0x1C, 0x02 - .byte 0xDC, 0x05, 0x00, 0x00, 0x01, 0x4B, 0xC0, 0x6F, 0x01, 0x21, 0x18, 0x47, 0xF9, 0xCC, 0x00, 0x02 - .byte 0x10, 0xB5, 0x04, 0x1C, 0x18, 0x1C, 0xFF, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x86, 0x31, 0x09, 0x88 - .byte 0xA1, 0x42, 0x06, 0xD0, 0x01, 0x1C, 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43 - .byte 0x01, 0x70, 0x10, 0xBD, 0x08, 0xB5, 0x17, 0xF0, 0x35, 0xF9, 0x41, 0x00, 0x40, 0x18, 0x00, 0x1D - .byte 0x08, 0xBD, 0x00, 0x00, 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C +_02051E64: + .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C .byte 0x86, 0x31, 0x09, 0x88, 0xA1, 0x42, 0x01, 0xD0, 0x80, 0x6C, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD .byte 0x38, 0xB5, 0x05, 0x1C, 0x18, 0x1C, 0x14, 0x1C, 0xFF, 0xF7, 0xAC, 0xFD, 0x01, 0x1C, 0x86, 0x31 .byte 0x09, 0x88, 0xA9, 0x42, 0x0A, 0xD0, 0x22, 0x78, 0x01, 0x1C, 0x85, 0x31, 0x0A, 0x70, 0x01, 0x1C @@ -152602,23 +172680,34 @@ _020524E8: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r6, r4, #0 - lsl r6, r4, #0 - lsl r6, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r2, r5, #0 - lsl r6, r4, #0 +_0205250E: ; jump table (using 16-bit offset) + .short _02052526 - _0205250E - 2; case 0 + .short _0205252A - _0205250E - 2; case 1 + .short _0205252E - _0205250E - 2; case 2 + .short _02052532 - _0205250E - 2; case 3 + .short _02052536 - _0205250E - 2; case 4 + .short _02052536 - _0205250E - 2; case 5 + .short _02052536 - _0205250E - 2; case 6 + .short _02052536 - _0205250E - 2; case 7 + .short _02052536 - _0205250E - 2; case 8 + .short _0205253A - _0205250E - 2; case 9 + .short _0205253A - _0205250E - 2; case 10 + .short _02052536 - _0205250E - 2; case 11 +_02052526: mov r0, #0x1 pop {r4-r6, pc} _0205252A: - .byte 0x02, 0x20, 0x70, 0xBD, 0x03, 0x20 - .byte 0x70, 0xBD, 0x04, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD + mov r0, #0x2 + pop {r4-r6, pc} +_0205252E: + mov r0, #0x3 + pop {r4-r6, pc} +_02052532: + mov r0, #0x4 + pop {r4-r6, pc} +_02052536: + mov r0, #0x5 + pop {r4-r6, pc} _0205253A: mov r0, #0x5 pop {r4-r6, pc} @@ -152652,18 +172741,20 @@ FUN_02052544: ; 0x02052544 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0x1 - lsl r2, r4, #0x1 - lsl r2, r6, #0 - lsl r6, r2, #0 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r6, r7, #0x1 - lsl r6, r7, #0x1 - lsl r2, r7, #0x1 +_02052578: ; jump table (using 16-bit offset) + .short _020525C6 - _02052578 - 2; case 0 + .short _020525DC - _02052578 - 2; case 1 + .short _020525AC - _02052578 - 2; case 2 + .short _02052590 - _02052578 - 2; case 3 + .short _020525F4 - _02052578 - 2; case 4 + .short _020525F4 - _02052578 - 2; case 5 + .short _020525F4 - _02052578 - 2; case 6 + .short _020525F4 - _02052578 - 2; case 7 + .short _020525F4 - _02052578 - 2; case 8 + .short _020525F8 - _02052578 - 2; case 9 + .short _020525F8 - _02052578 - 2; case 10 + .short _020525F4 - _02052578 - 2; case 11 +_02052590: cmp r5, #0x4 beq _02052598 mov r0, #0x5 @@ -152680,12 +172771,50 @@ _02052598: mov r0, #0x1 pop {r4-r6, pc} _020525AC: - .byte 0x03, 0x2D, 0x01, 0xD0 - .byte 0x05, 0x20, 0x70, 0xBD, 0x05, 0x21, 0x21, 0x63, 0xA0, 0x61, 0x01, 0x20, 0x20, 0x62, 0x00, 0x21 - .byte 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x01, 0x2D, 0x01, 0xD0, 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61 - .byte 0x01, 0x20, 0x20, 0x62, 0x00, 0x21, 0x61, 0x62, 0xE1, 0x61, 0x70, 0xBD, 0x02, 0x2D, 0x01, 0xD0 - .byte 0x05, 0x20, 0x70, 0xBD, 0xA0, 0x61, 0x02, 0x20, 0x20, 0x62, 0x00, 0x20, 0x60, 0x62, 0xE0, 0x61 - .byte 0x01, 0x20, 0x70, 0xBD, 0x05, 0x20, 0x70, 0xBD + cmp r5, #0x3 + beq _020525B4 + mov r0, #0x5 + pop {r4-r6, pc} +_020525B4: + mov r1, #0x5 + str r1, [r4, #0x30] + str r0, [r4, #0x18] + mov r0, #0x1 + str r0, [r4, #0x20] + mov r1, #0x0 + str r1, [r4, #0x24] + str r1, [r4, #0x1c] + pop {r4-r6, pc} +_020525C6: + cmp r5, #0x1 + beq _020525CE + mov r0, #0x5 + pop {r4-r6, pc} +_020525CE: + str r0, [r4, #0x18] + mov r0, #0x1 + str r0, [r4, #0x20] + mov r1, #0x0 + str r1, [r4, #0x24] + str r1, [r4, #0x1c] + pop {r4-r6, pc} +_020525DC: + cmp r5, #0x2 + beq _020525E4 + mov r0, #0x5 + pop {r4-r6, pc} +_020525E4: + str r0, [r4, #0x18] + mov r0, #0x2 + str r0, [r4, #0x20] + mov r0, #0x0 + str r0, [r4, #0x24] + str r0, [r4, #0x1c] + mov r0, #0x1 + pop {r4-r6, pc} +_020525F4: + mov r0, #0x5 + pop {r4-r6, pc} _020525F8: bl FUN_02020C2C mov r0, #0x0 @@ -153062,42 +173191,119 @@ _02052872: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0x3 - lsl r2, r6, #0x1 - lsl r6, r1, #0x2 - lsl r2, r5, #0x2 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r2, r7, #0 - lsl r6, r2, #0x1 - lsl r2, r6, #0x1 - lsl r6, r1, #0x2 - lsl r2, r5, #0x2 - lsl r6, r2, #0 +_02052884: ; jump table (using 16-bit offset) + .short _0205294C - _02052884 - 2; case 0 + .short _020528F8 - _02052884 - 2; case 1 + .short _02052914 - _02052884 - 2; case 2 + .short _02052930 - _02052884 - 2; case 3 + .short _0205289C - _02052884 - 2; case 4 + .short _020528A4 - _02052884 - 2; case 5 + .short _020528C0 - _02052884 - 2; case 6 + .short _020528DC - _02052884 - 2; case 7 + .short _020528F8 - _02052884 - 2; case 8 + .short _02052914 - _02052884 - 2; case 9 + .short _02052930 - _02052884 - 2; case 10 + .short _0205289C - _02052884 - 2; case 11 +_0205289C: ldr r0, _02052950 ; =0x020F5894 lsl r1, r4, #0x2 ldr r0, [r0, r1] pop {r4-r6, pc} _020528A4: - .byte 0xC9, 0xF7, 0xA2, 0xF8, 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20 - .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x27, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD - .byte 0xC9, 0xF7, 0x94, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18 - .byte 0xC2, 0x00, 0x21, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x86, 0xF8 - .byte 0xC2, 0x0F, 0xC1, 0x07, 0x89, 0x1A, 0x1F, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x1B, 0x48 - .byte 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x78, 0xF8, 0xC2, 0x0F, 0x81, 0x07 - .byte 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x15, 0x48, 0xA1, 0x00, 0x80, 0x18 - .byte 0x08, 0x58, 0x70, 0xBD, 0xC9, 0xF7, 0x6A, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20 - .byte 0xC1, 0x41, 0x50, 0x18, 0xC2, 0x00, 0x0F, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD - .byte 0xC9, 0xF7, 0x5C, 0xF8, 0xC2, 0x0F, 0x81, 0x07, 0x89, 0x1A, 0x1E, 0x20, 0xC1, 0x41, 0x50, 0x18 - .byte 0xC2, 0x00, 0x09, 0x48, 0xA1, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1f + sub r1, r1, r2 + mov r0, #0x1f + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _02052954 ; =0x020F58C4 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_020528C0: + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _02052958 ; =0x020F5984 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_020528DC: + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1f + sub r1, r1, r2 + mov r0, #0x1f + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _0205295C ; =0x020F58B4 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_020528F8: + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _02052960 ; =0x020F5964 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052914: + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _02052964 ; =0x020F59A4 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052930: + bl FUN_0201B9EC + lsr r2, r0, #0x1f + lsl r1, r0, #0x1e + sub r1, r1, r2 + mov r0, #0x1e + ror r1, r0 + add r0, r2, r1 + lsl r2, r0, #0x3 + ldr r0, _02052968 ; =0x020F59C4 + lsl r1, r4, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} _0205294C: mov r0, #0x28 pop {r4-r6, pc} .balign 4 _02052950: .word 0x020F5894 -_02052954: - .byte 0xC4, 0x58, 0x0F, 0x02, 0x84, 0x59, 0x0F, 0x02, 0xB4, 0x58, 0x0F, 0x02 - .byte 0x64, 0x59, 0x0F, 0x02, 0xA4, 0x59, 0x0F, 0x02, 0xC4, 0x59, 0x0F, 0x02 +_02052954: .word 0x020F58C4 +_02052958: .word 0x020F5984 +_0205295C: .word 0x020F58B4 +_02052960: .word 0x020F5964 +_02052964: .word 0x020F59A4 +_02052968: .word 0x020F59C4 thumb_func_start FUN_0205296C FUN_0205296C: ; 0x0205296C @@ -153206,55 +173412,126 @@ _02052A24: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r7, #0x2 - lsl r0, r6, #0 - lsl r4, r7, #0 - lsl r0, r5, #0x1 - lsl r0, r5, #0x1 - lsl r0, r5, #0x1 - lsl r0, r5, #0x1 - lsl r0, r5, #0x1 - lsl r0, r5, #0x1 - lsl r4, r0, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r6, r6, #0x1 - lsl r4, r0, #0x2 - lsl r4, r0, #0x2 - lsl r4, r0, #0x2 - lsl r2, r2, #0x2 - lsl r2, r2, #0x2 - lsl r2, r2, #0x2 - lsl r2, r3, #0x1 - lsl r2, r3, #0x1 - lsl r2, r3, #0x1 - lsl r0, r4, #0x2 - lsl r0, r5, #0x2 - lsl r0, r6, #0x2 +_02052A40: ; jump table (using 16-bit offset) + .short _02052AFA - _02052A40 - 2; case 0 + .short _02052A72 - _02052A40 - 2; case 1 + .short _02052A7E - _02052A40 - 2; case 2 + .short _02052AAA - _02052A40 - 2; case 3 + .short _02052AAA - _02052A40 - 2; case 4 + .short _02052AAA - _02052A40 - 2; case 5 + .short _02052AAA - _02052A40 - 2; case 6 + .short _02052AAA - _02052A40 - 2; case 7 + .short _02052AAA - _02052A40 - 2; case 8 + .short _02052A86 - _02052A40 - 2; case 9 + .short _02052AB8 - _02052A40 - 2; case 10 + .short _02052AB8 - _02052A40 - 2; case 11 + .short _02052AB8 - _02052A40 - 2; case 12 + .short _02052AC6 - _02052A40 - 2; case 13 + .short _02052AC6 - _02052A40 - 2; case 14 + .short _02052AC6 - _02052A40 - 2; case 15 + .short _02052AD4 - _02052A40 - 2; case 16 + .short _02052AD4 - _02052A40 - 2; case 17 + .short _02052AD4 - _02052A40 - 2; case 18 + .short _02052A9C - _02052A40 - 2; case 19 + .short _02052A9C - _02052A40 - 2; case 20 + .short _02052A9C - _02052A40 - 2; case 21 + .short _02052AE2 - _02052A40 - 2; case 22 + .short _02052AEA - _02052A40 - 2; case 23 + .short _02052AF2 - _02052A40 - 2; case 24 +_02052A72: ldr r0, [r5, #0x34] add r2, r6, #0x0 sub r0, r0, #0x1 bl FUN_020529F0 pop {r4-r6, pc} _02052A7E: - .byte 0x21, 0x48 - .byte 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x68, 0x6B, 0x00, 0x28, 0x01, 0xD1, 0x00, 0x20, 0x70, 0xBD - .byte 0xC2, 0x00, 0x1D, 0x48, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x13, 0x3C, 0x1B, 0x48 - .byte 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0xE0, 0x1E, 0xC2, 0x00, 0x18, 0x48 - .byte 0x89, 0x00, 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0A, 0x3C, 0x16, 0x48, 0xE2, 0x00, 0x89, 0x00 - .byte 0x80, 0x18, 0x08, 0x58, 0x70, 0xBD, 0x0D, 0x3C, 0x13, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18 - .byte 0x08, 0x58, 0x70, 0xBD, 0x10, 0x3C, 0x11, 0x48, 0xE2, 0x00, 0x89, 0x00, 0x80, 0x18, 0x08, 0x58 - .byte 0x70, 0xBD, 0x0F, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD, 0x0E, 0x48, 0x89, 0x00, 0x40, 0x58 - .byte 0x70, 0xBD, 0x0D, 0x48, 0x89, 0x00, 0x40, 0x58, 0x70, 0xBD + ldr r0, _02052B04 ; =0x020F58AC + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} +_02052A86: + ldr r0, [r5, #0x34] + cmp r0, #0x0 + bne _02052A90 + mov r0, #0x0 + pop {r4-r6, pc} +_02052A90: + lsl r2, r0, #0x3 + ldr r0, _02052B08 ; =0x020F59DC + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052A9C: + sub r4, #0x13 + ldr r0, _02052B0C ; =0x020F58E8 + lsl r2, r4, #0x3 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052AAA: + sub r0, r4, #0x3 + lsl r2, r0, #0x3 + ldr r0, _02052B10 ; =0x020F5A44 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052AB8: + sub r4, #0xa + ldr r0, _02052B14 ; =0x020F5900 + lsl r2, r4, #0x3 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052AC6: + sub r4, #0xd + ldr r0, _02052B18 ; =0x020F5918 + lsl r2, r4, #0x3 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052AD4: + sub r4, #0x10 + ldr r0, _02052B1C ; =0x020F5930 + lsl r2, r4, #0x3 + lsl r1, r1, #0x2 + add r0, r0, r2 + ldr r0, [r1, r0] + pop {r4-r6, pc} +_02052AE2: + ldr r0, _02052B20 ; =0x020F588C + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} +_02052AEA: + ldr r0, _02052B24 ; =0x020F58A4 + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} +_02052AF2: + ldr r0, _02052B28 ; =0x020F589C + lsl r1, r1, #0x2 + ldr r0, [r0, r1] + pop {r4-r6, pc} _02052AFA: bl FUN_02020C2C mov r0, #0x28 pop {r4-r6, pc} nop -_02052B04: - .byte 0xAC, 0x58, 0x0F, 0x02, 0xDC, 0x59, 0x0F, 0x02, 0xE8, 0x58, 0x0F, 0x02 - .byte 0x44, 0x5A, 0x0F, 0x02, 0x00, 0x59, 0x0F, 0x02, 0x18, 0x59, 0x0F, 0x02, 0x30, 0x59, 0x0F, 0x02 - .byte 0x8C, 0x58, 0x0F, 0x02, 0xA4, 0x58, 0x0F, 0x02, 0x9C, 0x58, 0x0F, 0x02 +_02052B04: .word 0x020F58AC +_02052B08: .word 0x020F59DC +_02052B0C: .word 0x020F58E8 +_02052B10: .word 0x020F5A44 +_02052B14: .word 0x020F5900 +_02052B18: .word 0x020F5918 +_02052B1C: .word 0x020F5930 +_02052B20: .word 0x020F588C +_02052B24: .word 0x020F58A4 +_02052B28: .word 0x020F589C thumb_func_start FUN_02052B2C FUN_02052B2C: ; 0x02052B2C @@ -153311,28 +173588,58 @@ FUN_02052B74: ; 0x02052B74 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r4, #0x1 - lsl r4, r6, #0 - lsl r0, r1, #0x1 - lsl r4, r3, #0x1 - lsl r4, r4, #0x1 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r2, r5, #0 - lsl r6, r7, #0 - lsl r2, r2, #0x1 - lsl r6, r2, #0 +_02052B94: ; jump table (using 16-bit offset) + .short _02052BFA - _02052B94 - 2; case 0 + .short _02052BCA - _02052B94 - 2; case 1 + .short _02052BDE - _02052B94 - 2; case 2 + .short _02052BF2 - _02052B94 - 2; case 3 + .short _02052BFA - _02052B94 - 2; case 4 + .short _02052BB6 - _02052B94 - 2; case 5 + .short _02052BB6 - _02052B94 - 2; case 6 + .short _02052BB6 - _02052B94 - 2; case 7 + .short _02052BC0 - _02052B94 - 2; case 8 + .short _02052BD4 - _02052B94 - 2; case 9 + .short _02052BE8 - _02052B94 - 2; case 10 + .short _02052BAC - _02052B94 - 2; case 11 +_02052BAC: add r0, sp, #0x0 mov r1, #0x2 bl FUN_02052B2C b _02052BFA _02052BB6: - .byte 0x00, 0xA8, 0x02, 0x21, 0xFF, 0xF7, 0xB7, 0xFF, 0x1C, 0xE0 - .byte 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xB2, 0xFF, 0x17, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7 - .byte 0xAD, 0xFF, 0x12, 0xE0, 0x00, 0xA8, 0x05, 0x21, 0xFF, 0xF7, 0xA8, 0xFF, 0x0D, 0xE0, 0x00, 0xA8 - .byte 0x04, 0x21, 0xFF, 0xF7, 0xA3, 0xFF, 0x08, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x9E, 0xFF - .byte 0x03, 0xE0, 0x00, 0xA8, 0x04, 0x21, 0xFF, 0xF7, 0x99, 0xFF + add r0, sp, #0x0 + mov r1, #0x2 + bl FUN_02052B2C + b _02052BFA +_02052BC0: + add r0, sp, #0x0 + mov r1, #0x5 + bl FUN_02052B2C + b _02052BFA +_02052BCA: + add r0, sp, #0x0 + mov r1, #0x4 + bl FUN_02052B2C + b _02052BFA +_02052BD4: + add r0, sp, #0x0 + mov r1, #0x5 + bl FUN_02052B2C + b _02052BFA +_02052BDE: + add r0, sp, #0x0 + mov r1, #0x4 + bl FUN_02052B2C + b _02052BFA +_02052BE8: + add r0, sp, #0x0 + mov r1, #0x4 + bl FUN_02052B2C + b _02052BFA +_02052BF2: + add r0, sp, #0x0 + mov r1, #0x4 + bl FUN_02052B2C _02052BFA: add r0, sp, #0x0 strb r4, [r0, #0x1c] @@ -153542,19 +173849,33 @@ _02052D80: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r4, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 - lsl r2, r4, #0 +_02052D90: ; jump table (using 16-bit offset) + .short _02052DB8 - _02052D90 - 2; case 0 + .short _02052DA0 - _02052D90 - 2; case 1 + .short _02052DA4 - _02052D90 - 2; case 2 + .short _02052DA8 - _02052D90 - 2; case 3 + .short _02052DAC - _02052D90 - 2; case 4 + .short _02052DB0 - _02052D90 - 2; case 5 + .short _02052DB8 - _02052D90 - 2; case 6 + .short _02052DB4 - _02052D90 - 2; case 7 +_02052DA0: mov r1, #0xd1 b _02052DBA _02052DA4: - .byte 0xD2, 0x21, 0x08, 0xE0, 0xD3, 0x21, 0x06, 0xE0, 0xD4, 0x21, 0x04, 0xE0 - .byte 0xD5, 0x21, 0x02, 0xE0, 0xD6, 0x21, 0x00, 0xE0 + mov r1, #0xd2 + b _02052DBA +_02052DA8: + mov r1, #0xd3 + b _02052DBA +_02052DAC: + mov r1, #0xd4 + b _02052DBA +_02052DB0: + mov r1, #0xd5 + b _02052DBA +_02052DB4: + mov r1, #0xd6 + b _02052DBA _02052DB8: mov r1, #0xd7 _02052DBA: @@ -154135,11 +174456,13 @@ _02053216: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r5, #0 - lsl r0, r1, #0x2 - lsl r0, r6, #0x2 - lsl r4, r3, #0x3 +_02053228: ; jump table (using 16-bit offset) + .short _02053232 - _02053228 - 2; case 0 + .short _02053252 - _02053228 - 2; case 1 + .short _020532B2 - _02053228 - 2; case 2 + .short _020532DA - _02053228 - 2; case 3 + .short _02053306 - _02053228 - 2; case 4 +_02053232: add r0, r5, #0x0 bl FUN_0205AD98 cmp r0, #0x1 @@ -154155,18 +174478,89 @@ _02053216: bl FUN_0205339C b _0205330A _02053252: - .byte 0x28, 0x1C, 0x07, 0xF0, 0xA0, 0xFD, 0x01, 0x28, 0x56, 0xD1, 0x20, 0x7B, 0x03, 0x28 - .byte 0x07, 0xD1, 0x00, 0x20, 0x60, 0x73, 0x20, 0x73, 0x30, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x66, 0xF8 - .byte 0x4B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0xEC, 0xFD, 0x28, 0x1C, 0x00, 0x21, 0x05, 0xF0, 0x36, 0xFB - .byte 0x20, 0x7B, 0x01, 0x28, 0x10, 0xD1, 0x60, 0x7D, 0x00, 0x28, 0x0D, 0xD1, 0x28, 0x1C, 0x03, 0x21 - .byte 0x05, 0xF0, 0xFE, 0xFD, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0x4C, 0xF9, 0x28, 0x1C, 0x01, 0x21 - .byte 0x05, 0xF0, 0x4C, 0xF9, 0x01, 0x20, 0x60, 0x75, 0x02, 0x20, 0x60, 0x73, 0x00, 0x20, 0x20, 0x73 - .byte 0x2B, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x70, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x30, 0x1C, 0x29, 0x1C - .byte 0x00, 0xF0, 0xDA, 0xF8, 0x20, 0x7B, 0x03, 0x28, 0x03, 0xD1, 0x30, 0x1C, 0x29, 0x1C, 0x00, 0xF0 - .byte 0xB9, 0xF8, 0x30, 0x1C, 0x00, 0xF0, 0x50, 0xF8, 0x17, 0xE0, 0x28, 0x1C, 0x07, 0xF0, 0x5C, 0xFD - .byte 0x01, 0x28, 0x12, 0xD1, 0x28, 0x1C, 0x07, 0xF0, 0xB3, 0xFD, 0x04, 0x20, 0x60, 0x73, 0x00, 0x20 - .byte 0x20, 0x73, 0x60, 0x75, 0x28, 0x1C, 0x01, 0x21, 0x05, 0xF0, 0xD0, 0xFA, 0x28, 0x1C, 0x00, 0x21 - .byte 0x05, 0xF0, 0xDA, 0xFA, 0x01, 0xE0, 0x00, 0x20, 0x60, 0x73 + add r0, r5, #0x0 + bl FUN_0205AD98 + cmp r0, #0x1 + bne _0205330A + ldrb r0, [r4, #0xc] + cmp r0, #0x3 + bne _02053272 + mov r0, #0x0 + strb r0, [r4, #0xd] + strb r0, [r4, #0xc] + add r0, r6, #0x0 + mov r1, #0x1 + bl FUN_0205333C + b _0205330A +_02053272: + add r0, r5, #0x0 + bl FUN_0205AE50 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_020588EC + ldrb r0, [r4, #0xc] + cmp r0, #0x1 + bne _020532A8 + ldrb r0, [r4, #0x15] + cmp r0, #0x0 + bne _020532A8 + add r0, r5, #0x0 + mov r1, #0x3 + bl FUN_02058E90 + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_02058534 + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_0205853C + mov r0, #0x1 + strb r0, [r4, #0x15] +_020532A8: + mov r0, #0x2 + strb r0, [r4, #0xd] + mov r0, #0x0 + strb r0, [r4, #0xc] + b _0205330A +_020532B2: + add r0, r5, #0x0 + bl FUN_0205AD98 + cmp r0, #0x1 + bne _0205330A + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02053478 + ldrb r0, [r4, #0xc] + cmp r0, #0x3 + bne _020532D2 + add r0, r6, #0x0 + add r1, r5, #0x0 + bl FUN_02053444 +_020532D2: + add r0, r6, #0x0 + bl FUN_02053378 + b _0205330A +_020532DA: + add r0, r5, #0x0 + bl FUN_0205AD98 + cmp r0, #0x1 + bne _0205330A + add r0, r5, #0x0 + bl FUN_0205AE50 + mov r0, #0x4 + strb r0, [r4, #0xd] + mov r0, #0x0 + strb r0, [r4, #0xc] + strb r0, [r4, #0x15] + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_0205889C + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_020588B8 + b _0205330A +_02053306: + mov r0, #0x0 + strb r0, [r4, #0xd] _0205330A: add r7, r7, #0x1 add r4, #0x18 @@ -154764,12 +175158,14 @@ _0205376E: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r6, r5, #0 - lsl r6, r3, #0x1 - lsl r0, r4, #0x3 - lsl r6, r6, #0x3 - lsl r6, r4, #0x4 +_0205377A: ; jump table (using 16-bit offset) + .short _02053786 - _0205377A - 2; case 0 + .short _020537AA - _0205377A - 2; case 1 + .short _020537DA - _0205377A - 2; case 2 + .short _0205385C - _0205377A - 2; case 3 + .short _02053872 - _0205377A - 2; case 4 + .short _020538A2 - _0205377A - 2; case 5 +_02053786: ldr r0, [r4, #0x0] ldr r0, [r0, #0x38] bl FUN_020553A0 @@ -154786,24 +175182,143 @@ _0205376E: str r1, [r4, r0] pop {r3-r7, pc} _020537AA: - .byte 0x24, 0x39, 0x20, 0x1C, 0x61, 0x18 - .byte 0x00, 0x22, 0x00, 0xF0, 0xC1, 0xFB, 0x5B, 0x21, 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x01, 0x22 - .byte 0x00, 0xF0, 0xBA, 0xFB, 0x5F, 0x20, 0x02, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58 - .byte 0x00, 0x1D, 0x49, 0x1C, 0x06, 0xB0, 0x21, 0x50, 0xF8, 0xBD, 0x00, 0x20, 0x03, 0x90, 0x08, 0x1F - .byte 0x20, 0x58, 0x00, 0x28, 0x14, 0xDD, 0x24, 0x39, 0x67, 0x18, 0x26, 0x1C, 0x04, 0xAD, 0x5A, 0x21 - .byte 0x89, 0x00, 0x71, 0x58, 0x38, 0x1C, 0x88, 0x47, 0x01, 0xC5, 0x03, 0x98, 0x10, 0x37, 0x40, 0x1C - .byte 0x03, 0x90, 0x5F, 0x20, 0x80, 0x00, 0x21, 0x58, 0x03, 0x98, 0x10, 0x36, 0x88, 0x42, 0xEE, 0xDB - .byte 0x04, 0x98, 0x02, 0x28, 0x0B, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x04, 0x20 - .byte 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0xBA, 0xF7, 0xD1, 0xFC, 0x5F, 0x20 - .byte 0x80, 0x00, 0x22, 0x58, 0x00, 0x23, 0x00, 0x2A, 0x07, 0xDD, 0x04, 0xA9, 0x08, 0x68, 0x00, 0x28 - .byte 0x03, 0xD1, 0x5B, 0x1C, 0x09, 0x1D, 0x93, 0x42, 0xF8, 0xDB, 0x93, 0x42, 0x31, 0xD1, 0x06, 0x20 - .byte 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xF8, 0xBD, 0xBA, 0xF7, 0x54, 0xFD - .byte 0x00, 0x28, 0x26, 0xD0, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50 - .byte 0xF8, 0xBD, 0x08, 0x1F, 0x20, 0x58, 0x00, 0x26, 0x00, 0x28, 0x0B, 0xDD, 0x24, 0x39, 0x5F, 0x27 - .byte 0x65, 0x18, 0xBF, 0x00, 0x28, 0x1C, 0x00, 0xF0, 0xF3, 0xFB, 0xE0, 0x59, 0x76, 0x1C, 0x10, 0x35 - .byte 0x86, 0x42, 0xF7, 0xDB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x06, 0xB0, 0x49, 0x1C, 0x21, 0x50 - .byte 0xF8, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0 - .byte 0x45, 0xFA + sub r1, #0x24 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x0 + bl FUN_02053F38 + mov r1, #0x5b + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x1 + bl FUN_02053F38 + mov r0, #0x5f + mov r1, #0x2 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r1, r0, #0x4 + ldr r1, [r4, r1] + add r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0x18 + str r1, [r4, r0] + pop {r3-r7, pc} +_020537DA: + mov r0, #0x0 + str r0, [sp, #0xc] + sub r0, r1, #0x4 + ldr r0, [r4, r0] + cmp r0, #0x0 + ble _02053810 + sub r1, #0x24 + add r7, r4, r1 + add r6, r4, #0x0 + add r5, sp, #0x10 +_020537EE: + mov r1, #0x5a + lsl r1, r1, #0x2 + ldr r1, [r6, r1] + add r0, r7, #0x0 + blx r1 + stmia r5!, {r0} + ldr r0, [sp, #0xc] + add r7, #0x10 + add r0, r0, #0x1 + str r0, [sp, #0xc] + mov r0, #0x5f + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + ldr r0, [sp, #0xc] + add r6, #0x10 + cmp r0, r1 + blt _020537EE +_02053810: + ldr r0, [sp, #0x10] + cmp r0, #0x2 + bne _0205382E + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 +_0205382E: + mov r0, #0x5f + lsl r0, r0, #0x2 + ldr r2, [r4, r0] + mov r3, #0x0 + cmp r2, #0x0 + ble _0205384A + add r1, sp, #0x10 +_0205383C: + ldr r0, [r1, #0x0] + cmp r0, #0x0 + bne _0205384A + add r3, r3, #0x1 + add r1, r1, #0x4 + cmp r3, r2 + blt _0205383C +_0205384A: + cmp r3, r2 + bne _020538B2 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x18 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r7, pc} +_0205385C: + bl FUN_0200E308 + cmp r0, #0x0 + beq _020538B2 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x18 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r7, pc} +_02053872: + sub r0, r1, #0x4 + ldr r0, [r4, r0] + mov r6, #0x0 + cmp r0, #0x0 + ble _02053894 + sub r1, #0x24 + mov r7, #0x5f + add r5, r4, r1 + lsl r7, r7, #0x2 +_02053884: + add r0, r5, #0x0 + bl FUN_02054070 + ldr r0, [r4, r7] + add r6, r6, #0x1 + add r5, #0x10 + cmp r6, r0 + blt _02053884 +_02053894: + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x18 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r7, pc} +_020538A2: + add r1, #0x8 + ldr r0, [r4, r1] + mov r2, #0x1 + str r2, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02053D3C _020538B2: add sp, #0x18 pop {r3-r7, pc} @@ -154839,12 +175354,14 @@ _020538E2: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r4, #0 - lsl r6, r7, #0x1 - lsl r2, r6, #0x2 - lsl r4, r2, #0x3 - lsl r2, r5, #0x3 +_020538EE: ; jump table (using 16-bit offset) + .short _020538FA - _020538EE - 2; case 0 + .short _02053912 - _020538EE - 2; case 1 + .short _0205396E - _020538EE - 2; case 2 + .short _020539A2 - _020538EE - 2; case 3 + .short _020539C4 - _020538EE - 2; case 4 + .short _020539DA - _020538EE - 2; case 5 +_020538FA: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] @@ -154857,26 +175374,113 @@ _020538E2: str r1, [r4, r0] pop {r3-r5, pc} _02053912: - .byte 0x04, 0x20, 0x03, 0xA9, 0x02, 0x22, 0x00, 0x23, 0xC4, 0xF7, 0x4B, 0xFB, 0x01, 0x20 - .byte 0x00, 0x21, 0xCA, 0xF7, 0x13, 0xFF, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x0F, 0xFF, 0x57, 0x21 - .byte 0x89, 0x00, 0x20, 0x1C, 0x61, 0x18, 0x02, 0x22, 0x00, 0xF0, 0xFE, 0xFA, 0x06, 0x20, 0x00, 0x90 - .byte 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x00, 0x20, 0x0A, 0x1C, 0x03, 0x1C, 0xBA, 0xF7 - .byte 0x3F, 0xFC, 0x27, 0x48, 0xB1, 0xF7, 0xB8, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50 - .byte 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D, 0x49, 0x1C, 0x04, 0xB0, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x1C - .byte 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28, 0x35, 0xD1, 0xBA, 0xF7 - .byte 0xC3, 0xFC, 0x00, 0x28, 0x31, 0xD0, 0x1B, 0x48, 0xB1, 0xF7, 0x9E, 0xFD, 0x06, 0x20, 0x80, 0x01 - .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0xFE, 0x21, 0xC9, 0x43, 0x00, 0x1D, 0x21, 0x50 - .byte 0x38, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x10, 0x32, 0x22, 0x50, 0x20, 0x58, 0x00, 0x28, 0x1C, 0xDD - .byte 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xDE, 0xFC - .byte 0x04, 0xB0, 0x38, 0xBD, 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x52, 0xFB, 0x06, 0x20, 0x80, 0x01 - .byte 0x21, 0x58, 0x04, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x38, 0xBD, 0x08, 0x31, 0x60, 0x58, 0x01, 0x22 - .byte 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0xA9, 0xF9 + mov r0, #0x4 + add r1, sp, #0xc + mov r2, #0x2 + mov r3, #0x0 + bl FUN_02017FB4 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0201E74C + mov r0, #0x2 + mov r1, #0x0 + bl FUN_0201E74C + mov r1, #0x57 + lsl r1, r1, #0x2 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x2 + bl FUN_02053F38 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0x0 + add r2, r1, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + ldr r0, _020539F0 ; =0x0000062F + bl FUN_020054C8 + mov r0, #0x5f + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r1, r0, #0x4 + ldr r1, [r4, r1] + add r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0x10 + str r1, [r4, r0] + pop {r3-r5, pc} +_0205396E: + add r0, r1, #0x0 + sub r1, #0x18 + sub r0, #0x24 + ldr r1, [r4, r1] + add r0, r4, r0 + blx r1 + cmp r0, #0x0 + bne _020539EA + bl FUN_0200E308 + cmp r0, #0x0 + beq _020539EA + ldr r0, _020539F4 ; =0x00000631 + bl FUN_020054C8 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x10 + add r1, r1, #0x1 + str r1, [r4, r0] + mov r1, #0xfe + mvn r1, r1 + add r0, r0, #0x4 + str r1, [r4, r0] + pop {r3-r5, pc} +_020539A2: + add r0, r1, #0x4 + ldr r2, [r4, r0] + add r2, #0x10 + str r2, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0x0 + ble _020539EA + ldr r0, [r4, r1] + add r0, r0, #0x1 + str r0, [r4, r1] + ldr r0, [r4, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0x38] + bl FUN_0205537C + add sp, #0x10 + pop {r3-r5, pc} +_020539C4: + sub r1, #0x24 + add r0, r4, r1 + bl FUN_02054070 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0x10 + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r3-r5, pc} +_020539DA: + add r1, #0x8 + ldr r0, [r4, r1] + mov r2, #0x1 + str r2, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02053D3C _020539EA: add sp, #0x10 pop {r3-r5, pc} nop -_020539F0: - .byte 0x2F, 0x06, 0x00, 0x00, 0x31, 0x06, 0x00, 0x00 +_020539F0: .word 0x0000062F +_020539F4: .word 0x00000631 thumb_func_start FUN_020539F8 FUN_020539F8: ; 0x020539F8 @@ -154905,13 +175509,15 @@ _02053A1C: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r4, r4, #0 - lsl r6, r1, #0x1 - lsl r6, r6, #0x1 - lsl r0, r7, #0x2 - lsl r6, r2, #0x3 - lsl r4, r5, #0x3 +_02053A28: ; jump table (using 16-bit offset) + .short _02053A36 - _02053A28 - 2; case 0 + .short _02053A4E - _02053A28 - 2; case 1 + .short _02053A78 - _02053A28 - 2; case 2 + .short _02053AA0 - _02053A28 - 2; case 3 + .short _02053AE2 - _02053A28 - 2; case 4 + .short _02053B00 - _02053A28 - 2; case 5 + .short _02053B16 - _02053A28 - 2; case 6 +_02053A36: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] @@ -154924,26 +175530,122 @@ _02053A1C: str r1, [r4, r0] pop {r4-r5, pc} _02053A4E: - .byte 0x24, 0x39 - .byte 0x20, 0x1C, 0x61, 0x18, 0x03, 0x22, 0x00, 0xF0, 0x6F, 0xFA, 0x63, 0x20, 0x00, 0x01, 0xB1, 0xF7 - .byte 0x33, 0xFD, 0x5F, 0x20, 0x01, 0x21, 0x80, 0x00, 0x21, 0x50, 0x01, 0x1D, 0x61, 0x58, 0x00, 0x1D - .byte 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x1D, 0x22, 0x58, 0x20, 0x3A, 0x22, 0x50 - .byte 0x21, 0x58, 0xFE, 0x20, 0xC0, 0x43, 0x81, 0x42, 0x52, 0xDA, 0x01, 0x20, 0x00, 0x21, 0xCA, 0xF7 - .byte 0x5D, 0xFE, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD - .byte 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C, 0x02, 0x2D - .byte 0x0E, 0xD1, 0x61, 0x21, 0x00, 0x20, 0x89, 0x00, 0x60, 0x50, 0x06, 0x21, 0x00, 0x91, 0x01, 0x21 - .byte 0x01, 0x91, 0x04, 0x21, 0x02, 0x91, 0x1B, 0x4B, 0x01, 0x1C, 0x02, 0x1C, 0xBA, 0xF7, 0x80, 0xFB - .byte 0x00, 0x2D, 0x2D, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50 - .byte 0x30, 0xBD, 0xBA, 0xF7, 0x11, 0xFC, 0x00, 0x28, 0x22, 0xD0, 0x61, 0x20, 0x00, 0x21, 0x80, 0x00 - .byte 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50, 0x30, 0xBD - .byte 0x24, 0x39, 0x60, 0x18, 0x00, 0xF0, 0xB4, 0xFA, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 - .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x02, 0x20, 0x00, 0x21, 0xCA, 0xF7, 0x17, 0xFE, 0x62, 0x20 - .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x21, 0x01, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x06, 0xF9 + sub r1, #0x24 + add r0, r4, #0x0 + add r1, r4, r1 + mov r2, #0x3 + bl FUN_02053F38 + mov r0, #0x63 + lsl r0, r0, #0x4 + bl FUN_020054C8 + mov r0, #0x5f + mov r1, #0x1 + lsl r0, r0, #0x2 + str r1, [r4, r0] + add r1, r0, #0x4 + ldr r1, [r4, r1] + add r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0xc + str r1, [r4, r0] + pop {r4-r5, pc} +_02053A78: + add r0, r1, #0x4 + ldr r2, [r4, r0] + sub r2, #0x20 + str r2, [r4, r0] + ldr r1, [r4, r0] + mov r0, #0xfe + mvn r0, r0 + cmp r1, r0 + bge _02053B30 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0201E74C + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053AA0: + add r0, r1, #0x0 + sub r1, #0x18 + sub r0, #0x24 + ldr r1, [r4, r1] + add r0, r4, r0 + blx r1 + add r5, r0, #0x0 + cmp r5, #0x2 + bne _02053AD0 + mov r1, #0x61 + mov r0, #0x0 + lsl r1, r1, #0x2 + str r0, [r4, r1] + mov r1, #0x6 + str r1, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r1, #0x4 + str r1, [sp, #0x8] + ldr r3, _02053B34 ; =0x00007FFF + add r1, r0, #0x0 + add r2, r0, #0x0 + bl FUN_0200E1D0 +_02053AD0: + cmp r5, #0x0 + bne _02053B30 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053AE2: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02053B30 + mov r0, #0x61 + mov r1, #0x0 + lsl r0, r0, #0x2 + str r1, [r4, r0] + sub r1, r0, #0x4 + ldr r1, [r4, r1] + sub r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0xc + str r1, [r4, r0] + pop {r4-r5, pc} +_02053B00: + sub r1, #0x24 + add r0, r4, r1 + bl FUN_02054070 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053B16: + mov r0, #0x2 + mov r1, #0x0 + bl FUN_0201E74C + mov r0, #0x62 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + str r1, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02053D3C _02053B30: add sp, #0xc pop {r4-r5, pc} -_02053B34: - .byte 0xFF, 0x7F, 0x00, 0x00 + .balign 4 +_02053B34: .word 0x00007FFF thumb_func_start FUN_02053B38 FUN_02053B38: ; 0x02053B38 @@ -154972,13 +175674,15 @@ _02053B5C: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r0, r1, #0x1 - lsl r4, r5, #0x1 - lsl r0, r1, #0x2 - lsl r0, r7, #0x2 - lsl r4, r7, #0x3 - lsl r2, r2, #0x4 +_02053B68: ; jump table (using 16-bit offset) + .short _02053B76 - _02053B68 - 2; case 0 + .short _02053BB2 - _02053B68 - 2; case 1 + .short _02053BD6 - _02053B68 - 2; case 2 + .short _02053BF2 - _02053B68 - 2; case 3 + .short _02053C22 - _02053B68 - 2; case 4 + .short _02053C66 - _02053B68 - 2; case 5 + .short _02053C7C - _02053B68 - 2; case 6 +_02053B76: ldr r0, [r4, #0x0] mov r1, #0x0 ldr r0, [r0, #0x38] @@ -155007,25 +175711,121 @@ _02053B5C: str r1, [r4, r0] pop {r4-r5, pc} _02053BB2: - .byte 0x06, 0x20, 0x00, 0x90, 0x01, 0x21, 0x01, 0x91, 0x04, 0x20, 0x02, 0x90, 0x34, 0x4B - .byte 0x00, 0x20, 0x0A, 0x1C, 0xBA, 0xF7, 0x04, 0xFB, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 - .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0xBA, 0xF7, 0x97, 0xFB, 0x00, 0x28, 0x56, 0xD0, 0x2D, 0x48 - .byte 0xB1, 0xF7, 0x72, 0xFC, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50 - .byte 0x30, 0xBD, 0x08, 0x1C, 0x18, 0x39, 0x24, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x00, 0x28 - .byte 0x44, 0xD1, 0x20, 0x68, 0x01, 0x21, 0x80, 0x6B, 0x01, 0xF0, 0xB8, 0xFB, 0x61, 0x20, 0x06, 0x21 - .byte 0x80, 0x00, 0x21, 0x50, 0x01, 0x1F, 0x61, 0x58, 0x00, 0x1F, 0x49, 0x1C, 0x03, 0xB0, 0x21, 0x50 - .byte 0x30, 0xBD, 0x08, 0x1C, 0x08, 0x39, 0x14, 0x38, 0x61, 0x58, 0x20, 0x18, 0x88, 0x47, 0x05, 0x1C - .byte 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x00, 0x29, 0x0A, 0xDC, 0x0B, 0xD1, 0x28, 0x38, 0x20, 0x18 - .byte 0x00, 0xF0, 0x16, 0xFA, 0x61, 0x20, 0x80, 0x00, 0x21, 0x58, 0x49, 0x1E, 0x21, 0x50, 0x01, 0xE0 - .byte 0x49, 0x1E, 0x21, 0x50, 0x00, 0x2D, 0x19, 0xD1, 0x06, 0x20, 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0 - .byte 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x14, 0x39, 0x60, 0x18, 0x00, 0xF0, 0x01, 0xFA, 0x06, 0x20 - .byte 0x80, 0x01, 0x21, 0x58, 0x03, 0xB0, 0x49, 0x1C, 0x21, 0x50, 0x30, 0xBD, 0x08, 0x31, 0x60, 0x58 - .byte 0x01, 0x22, 0x02, 0x60, 0x28, 0x1C, 0x21, 0x1C, 0x00, 0xF0, 0x58, 0xF8 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + ldr r3, _02053C90 ; =0x00007FFF + mov r0, #0x0 + add r2, r1, #0x0 + bl FUN_0200E1D0 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053BD6: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02053C8C + ldr r0, _02053C94 ; =0x00000632 + bl FUN_020054C8 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053BF2: + add r0, r1, #0x0 + sub r1, #0x18 + sub r0, #0x24 + ldr r1, [r4, r1] + add r0, r4, r0 + blx r1 + cmp r0, #0x0 + bne _02053C8C + ldr r0, [r4, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0x38] + bl FUN_0205537C + mov r0, #0x61 + mov r1, #0x6 + lsl r0, r0, #0x2 + str r1, [r4, r0] + sub r1, r0, #0x4 + ldr r1, [r4, r1] + sub r0, r0, #0x4 + add r1, r1, #0x1 + add sp, #0xc + str r1, [r4, r0] + pop {r4-r5, pc} +_02053C22: + add r0, r1, #0x0 + sub r1, #0x8 + sub r0, #0x14 + ldr r1, [r4, r1] + add r0, r4, r0 + blx r1 + add r5, r0, #0x0 + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + cmp r1, #0x0 + bgt _02053C50 + bne _02053C54 + sub r0, #0x28 + add r0, r4, r0 + bl FUN_02054070 + mov r0, #0x61 + lsl r0, r0, #0x2 + ldr r1, [r4, r0] + sub r1, r1, #0x1 + str r1, [r4, r0] + b _02053C54 +_02053C50: + sub r1, r1, #0x1 + str r1, [r4, r0] +_02053C54: + cmp r5, #0x0 + bne _02053C8C + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053C66: + sub r1, #0x14 + add r0, r4, r1 + bl FUN_02054070 + mov r0, #0x6 + lsl r0, r0, #0x6 + ldr r1, [r4, r0] + add sp, #0xc + add r1, r1, #0x1 + str r1, [r4, r0] + pop {r4-r5, pc} +_02053C7C: + add r1, #0x8 + ldr r0, [r4, r1] + mov r2, #0x1 + str r2, [r0, #0x0] + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02053D3C _02053C8C: add sp, #0xc pop {r4-r5, pc} -_02053C90: - .byte 0xFF, 0x7F, 0x00, 0x00, 0x32, 0x06, 0x00, 0x00 + .balign 4 +_02053C90: .word 0x00007FFF +_02053C94: .word 0x00000632 thumb_func_start FUN_02053C98 FUN_02053C98: ; 0x02053C98 @@ -155041,10 +175841,12 @@ FUN_02053C98: ; 0x02053C98 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r4, r2, #0 - lsl r2, r4, #0 - lsl r0, r6, #0 +_02053CB0: ; jump table (using 16-bit offset) + .short _02053CB8 - _02053CB0 - 2; case 0 + .short _02053CC6 - _02053CB0 - 2; case 1 + .short _02053CD4 - _02053CB0 - 2; case 2 + .short _02053CE2 - _02053CB0 - 2; case 3 +_02053CB8: ldr r2, _02053CF8 ; =0x020F5C04 ldr r0, _02053CFC ; =FUN_02053750 ldrb r2, [r2, r3] @@ -155052,9 +175854,25 @@ FUN_02053C98: ; 0x02053C98 bl FUN_02053D0C b _02053CEE _02053CC6: - .byte 0x0C, 0x4A, 0x0D, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0 - .byte 0x1D, 0xF8, 0x0C, 0xE0, 0x08, 0x4A, 0x0B, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x16, 0xF8 - .byte 0x05, 0xE0, 0x05, 0x4A, 0x08, 0x48, 0xD2, 0x5C, 0x21, 0x1C, 0x00, 0xF0, 0x0F, 0xF8 + ldr r2, _02053CF8 ; =0x020F5C04 + ldr r0, _02053D00 ; =FUN_020538B8 + ldrb r2, [r2, r3] + add r1, r4, #0x0 + bl FUN_02053D0C + b _02053CEE +_02053CD4: + ldr r2, _02053CF8 ; =0x020F5C04 + ldr r0, _02053D04 ; =FUN_020539F8 + ldrb r2, [r2, r3] + add r1, r4, #0x0 + bl FUN_02053D0C + b _02053CEE +_02053CE2: + ldr r2, _02053CF8 ; =0x020F5C04 + ldr r0, _02053D08 ; =FUN_02053B38 + ldrb r2, [r2, r3] + add r1, r4, #0x0 + bl FUN_02053D0C _02053CEE: mov r1, #0x62 lsl r1, r1, #0x2 @@ -155064,8 +175882,9 @@ _02053CEE: .balign 4 _02053CF8: .word 0x020F5C04 _02053CFC: .word FUN_02053750 + 1 -_02053D00: - .byte 0xB9, 0x38, 0x05, 0x02, 0xF9, 0x39, 0x05, 0x02, 0x39, 0x3B, 0x05, 0x02 +_02053D00: .word FUN_020538B8 + 1 +_02053D04: .word FUN_020539F8 + 1 +_02053D08: .word FUN_02053B38 + 1 thumb_func_start FUN_02053D0C FUN_02053D0C: ; 0x02053D0C @@ -155352,12 +176171,14 @@ _02053F40: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r1, #0 - lsl r0, r3, #0 - lsl r6, r4, #0 - lsl r4, r6, #0 - lsl r2, r0, #0x1 - lsl r0, r2, #0x1 +_02053F58: ; jump table (using 16-bit offset) + .short _02053F64 - _02053F58 - 2; case 0 + .short _02053F72 - _02053F58 - 2; case 1 + .short _02053F80 - _02053F58 - 2; case 2 + .short _02053F8E - _02053F58 - 2; case 3 + .short _02053F9C - _02053F58 - 2; case 4 + .short _02053FAA - _02053F58 - 2; case 5 +_02053F64: ldr r2, _02053FC0 ; =FUN_02054088 str r2, [r1, #0x4] ldr r2, _02053FC4 ; =FUN_020540C8 @@ -155366,11 +176187,44 @@ _02053F40: str r2, [r1, #0xc] b _02053FB6 _02053F72: - .byte 0x16, 0x4A, 0x4A, 0x60, 0x16, 0x4A, 0x8A, 0x60, 0x16, 0x4A, 0xCA, 0x60, 0x1A, 0xE0 - .byte 0x15, 0x4A, 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x13, 0xE0, 0x15, 0x4A - .byte 0x4A, 0x60, 0x15, 0x4A, 0x8A, 0x60, 0x15, 0x4A, 0xCA, 0x60, 0x0C, 0xE0, 0x14, 0x4A, 0x4A, 0x60 - .byte 0x14, 0x4A, 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60, 0x05, 0xE0, 0x14, 0x4A, 0x4A, 0x60, 0x14, 0x4A - .byte 0x8A, 0x60, 0x14, 0x4A, 0xCA, 0x60 + ldr r2, _02053FCC ; =FUN_02054168 + str r2, [r1, #0x4] + ldr r2, _02053FD0 ; =FUN_020541A4 + str r2, [r1, #0x8] + ldr r2, _02053FD4 ; =FUN_020541C4 + str r2, [r1, #0xc] + b _02053FB6 +_02053F80: + ldr r2, _02053FD8 ; =FUN_020541E8 + str r2, [r1, #0x4] + ldr r2, _02053FDC ; =FUN_02054228 + str r2, [r1, #0x8] + ldr r2, _02053FE0 ; =FUN_02054248 + str r2, [r1, #0xc] + b _02053FB6 +_02053F8E: + ldr r2, _02053FE4 ; =FUN_020542A4 + str r2, [r1, #0x4] + ldr r2, _02053FE8 ; =FUN_020542E8 + str r2, [r1, #0x8] + ldr r2, _02053FEC ; =FUN_02054308 + str r2, [r1, #0xc] + b _02053FB6 +_02053F9C: + ldr r2, _02053FF0 ; =FUN_020543D8 + str r2, [r1, #0x4] + ldr r2, _02053FF4 ; =FUN_0205442C + str r2, [r1, #0x8] + ldr r2, _02053FF8 ; =FUN_0205444C + str r2, [r1, #0xc] + b _02053FB6 +_02053FAA: + ldr r2, _02053FFC ; =FUN_02054508 + str r2, [r1, #0x4] + ldr r2, _02054000 ; =FUN_0205454C + str r2, [r1, #0x8] + ldr r2, _02054004 ; =FUN_0205456C + str r2, [r1, #0xc] _02053FB6: ldr r2, [r1, #0x4] add r0, r0, #0x4 @@ -155380,12 +176234,21 @@ _02053FB6: _02053FC0: .word FUN_02054088 + 1 _02053FC4: .word FUN_020540C8 + 1 _02053FC8: .word FUN_020540E8 + 1 -_02053FCC: - .byte 0x69, 0x41, 0x05, 0x02 - .byte 0xA5, 0x41, 0x05, 0x02, 0xC5, 0x41, 0x05, 0x02, 0xE9, 0x41, 0x05, 0x02, 0x29, 0x42, 0x05, 0x02 - .byte 0x49, 0x42, 0x05, 0x02, 0xA5, 0x42, 0x05, 0x02, 0xE9, 0x42, 0x05, 0x02, 0x09, 0x43, 0x05, 0x02 - .byte 0xD9, 0x43, 0x05, 0x02, 0x2D, 0x44, 0x05, 0x02, 0x4D, 0x44, 0x05, 0x02, 0x09, 0x45, 0x05, 0x02 - .byte 0x4D, 0x45, 0x05, 0x02, 0x6D, 0x45, 0x05, 0x02 +_02053FCC: .word FUN_02054168 + 1 +_02053FD0: .word FUN_020541A4 + 1 +_02053FD4: .word FUN_020541C4 + 1 +_02053FD8: .word FUN_020541E8 + 1 +_02053FDC: .word FUN_02054228 + 1 +_02053FE0: .word FUN_02054248 + 1 +_02053FE4: .word FUN_020542A4 + 1 +_02053FE8: .word FUN_020542E8 + 1 +_02053FEC: .word FUN_02054308 + 1 +_02053FF0: .word FUN_020543D8 + 1 +_02053FF4: .word FUN_0205442C + 1 +_02053FF8: .word FUN_0205444C + 1 +_02053FFC: .word FUN_02054508 + 1 +_02054000: .word FUN_0205454C + 1 +_02054004: .word FUN_0205456C + 1 thumb_func_start FUN_02054008 FUN_02054008: ; 0x02054008 @@ -155812,11 +176675,13 @@ FUN_02054308: ; 0x02054308 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r6, r4, #0 - lsl r4, r2, #0x1 - lsl r0, r0, #0x2 - lsl r0, r5, #0x2 +_02054320: ; jump table (using 16-bit offset) + .short _0205432A - _02054320 - 2; case 0 + .short _02054348 - _02054320 - 2; case 1 + .short _02054376 - _02054320 - 2; case 2 + .short _020543A2 - _02054320 - 2; case 3 + .short _020543CA - _02054320 - 2; case 4 +_0205432A: ldr r1, [r4, #0x14] ldr r0, _020543D0 ; =0x00000333 add r1, r1, r0 @@ -155832,22 +176697,77 @@ FUN_02054308: ; 0x02054308 str r0, [r4, #0x10] b _020543CC _02054348: - .byte 0x61, 0x68, 0x22, 0x48, 0x81, 0x42, 0x0B, 0xDD - .byte 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x73, 0xFE, 0xE0, 0x68 - .byte 0x61, 0x69, 0xCB, 0xF7, 0x3F, 0xFF, 0x31, 0xE0, 0x06, 0x20, 0x80, 0x04, 0x60, 0x60, 0x20, 0x69 - .byte 0x40, 0x1C, 0x20, 0x61, 0x2A, 0xE0, 0x61, 0x68, 0xE8, 0x03, 0x08, 0x1A, 0x60, 0x60, 0xE0, 0x68 - .byte 0x21, 0x1C, 0xCB, 0xF7, 0x5F, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7, 0x2B, 0xFF, 0x4B, 0x20 - .byte 0x61, 0x68, 0x80, 0x03, 0x81, 0x42, 0x19, 0xDA, 0x20, 0x69, 0x02, 0x25, 0x40, 0x1C, 0x20, 0x61 - .byte 0x14, 0xE0, 0x03, 0x21, 0x62, 0x68, 0x89, 0x04, 0x8A, 0x42, 0x0B, 0xDD, 0xE8, 0x03, 0x10, 0x1A - .byte 0x60, 0x60, 0xE0, 0x68, 0x21, 0x1C, 0xCB, 0xF7, 0x45, 0xFE, 0xE0, 0x68, 0x61, 0x69, 0xCB, 0xF7 - .byte 0x11, 0xFF, 0x03, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25 + ldr r1, [r4, #0x4] + ldr r0, _020543D4 ; =0xFFFE0000 + cmp r1, r0 + ble _02054368 + lsl r0, r5, #0xf + sub r0, r1, r0 + str r0, [r4, #0x4] + ldr r0, [r4, #0xc] + add r1, r4, #0x0 + bl FUN_02020044 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x14] + bl FUN_020201E4 + b _020543CC +_02054368: + mov r0, #0x6 + lsl r0, r0, #0x12 + str r0, [r4, #0x4] + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020543CC +_02054376: + ldr r1, [r4, #0x4] + lsl r0, r5, #0xf + sub r0, r1, r0 + str r0, [r4, #0x4] + ldr r0, [r4, #0xc] + add r1, r4, #0x0 + bl FUN_02020044 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x14] + bl FUN_020201E4 + mov r0, #0x4b + ldr r1, [r4, #0x4] + lsl r0, r0, #0xe + cmp r1, r0 + bge _020543CC + ldr r0, [r4, #0x10] + mov r5, #0x2 + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020543CC +_020543A2: + mov r1, #0x3 + ldr r2, [r4, #0x4] + lsl r1, r1, #0x12 + cmp r2, r1 + ble _020543C4 + lsl r0, r5, #0xf + sub r0, r2, r0 + str r0, [r4, #0x4] + ldr r0, [r4, #0xc] + add r1, r4, #0x0 + bl FUN_02020044 + ldr r0, [r4, #0xc] + ldr r1, [r4, #0x14] + bl FUN_020201E4 + b _020543CC +_020543C4: + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020543CC +_020543CA: + mov r5, #0x0 _020543CC: add r0, r5, #0x0 pop {r3-r5, pc} .balign 4 _020543D0: .word 0x00000333 -_020543D4: - .byte 0x00, 0x00, 0xFE, 0xFF +_020543D4: .word 0xFFFE0000 thumb_func_start FUN_020543D8 FUN_020543D8: ; 0x020543D8 @@ -155924,10 +176844,12 @@ FUN_0205444C: ; 0x0205444C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r6, r2, #0 - lsl r2, r6, #0x1 - lsl r6, r1, #0x2 +_02054466: ; jump table (using 16-bit offset) + .short _0205446E - _02054466 - 2; case 0 + .short _0205447E - _02054466 - 2; case 1 + .short _020544DA - _02054466 - 2; case 2 + .short _020544F6 - _02054466 - 2; case 3 +_0205446E: ldr r0, [r4, #0xc] add r1, r5, #0x0 bl FUN_020200A0 @@ -155936,22 +176858,74 @@ FUN_0205444C: ; 0x0205444C str r0, [r4, #0x10] b _020544F8 _0205447E: - .byte 0x62, 0x69 - .byte 0xE9, 0x03, 0x8A, 0x42, 0x26, 0xDC, 0x26, 0x1C, 0x03, 0xCE, 0x00, 0xAB, 0x1A, 0x1C, 0x03, 0xC3 - .byte 0x30, 0x68, 0x00, 0x27, 0x18, 0x60, 0x60, 0x69, 0x01, 0x9E, 0x00, 0x11, 0x81, 0x00, 0x18, 0x48 - .byte 0x40, 0x5E, 0xC3, 0x17, 0xC1, 0x0B, 0x5B, 0x04, 0x0B, 0x43, 0x41, 0x04, 0xE8, 0x02, 0x08, 0x18 - .byte 0x7B, 0x41, 0x19, 0x05, 0x00, 0x0B, 0x08, 0x43, 0x30, 0x1A, 0x01, 0x90, 0xE0, 0x68, 0x11, 0x1C - .byte 0xCB, 0xF7, 0xC0, 0xFD, 0x60, 0x69, 0x29, 0x03, 0x40, 0x18, 0x60, 0x61, 0xE0, 0x68, 0xCB, 0xF7 - .byte 0x89, 0xFE, 0x11, 0xE0, 0x40, 0x1C, 0x20, 0x61, 0x0E, 0xE0, 0x61, 0x69, 0x09, 0x48, 0x09, 0x1A - .byte 0x61, 0x61, 0xE0, 0x68, 0xCB, 0xF7, 0x7E, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x04, 0xDC, 0x20, 0x69 - .byte 0x40, 0x1C, 0x20, 0x61, 0x00, 0xE0, 0x00, 0x25 + ldr r2, [r4, #0x14] + lsl r1, r5, #0xf + cmp r2, r1 + bgt _020544D4 + add r6, r4, #0x0 + ldmia r6!, {r0-r1} + add r3, sp, #0x0 + add r2, r3, #0x0 + stmia r3!, {r0-r1} + ldr r0, [r6, #0x0] + mov r7, #0x0 + str r0, [r3, #0x0] + ldr r0, [r4, #0x14] + ldr r6, [sp, #0x4] + asr r0, r0, #0x4 + lsl r1, r0, #0x2 + ldr r0, _02054500 ; =0x020FFA38 + ldrsh r0, [r0, r1] + asr r3, r0, #0x1f + lsr r1, r0, #0xf + lsl r3, r3, #0x11 + orr r3, r1 + lsl r1, r0, #0x11 + lsl r0, r5, #0xb + add r0, r1, r0 + adc r3, r7 + lsl r1, r3, #0x14 + lsr r0, r0, #0xc + orr r0, r1 + sub r0, r6, r0 + str r0, [sp, #0x4] + ldr r0, [r4, #0xc] + add r1, r2, #0x0 + bl FUN_02020044 + ldr r0, [r4, #0x14] + lsl r1, r5, #0xc + add r0, r0, r1 + str r0, [r4, #0x14] + ldr r0, [r4, #0xc] + bl FUN_020201E4 + b _020544F8 +_020544D4: + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020544F8 +_020544DA: + ldr r1, [r4, #0x14] + ldr r0, _02054504 ; =0x00000666 + sub r1, r1, r0 + str r1, [r4, #0x14] + ldr r0, [r4, #0xc] + bl FUN_020201E4 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bgt _020544F8 + ldr r0, [r4, #0x10] + add r0, r0, #0x1 + str r0, [r4, #0x10] + b _020544F8 +_020544F6: + mov r5, #0x0 _020544F8: add r0, r5, #0x0 add sp, #0xc pop {r4-r7, pc} nop -_02054500: - .byte 0x38, 0xFA, 0x0F, 0x02, 0x66, 0x06, 0x00, 0x00 +_02054500: .word 0x020FFA38 +_02054504: .word 0x00000666 thumb_func_start FUN_02054508 FUN_02054508: ; 0x02054508 @@ -158552,23 +179526,47 @@ FUN_020555A0: ; 0x020555A0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r6, r6, #0 +_020555B6: ; jump table (using 16-bit offset) + .short _020555CA - _020555B6 - 2; case 0 + .short _020555CE - _020555B6 - 2; case 1 + .short _020555D2 - _020555B6 - 2; case 2 + .short _020555D6 - _020555B6 - 2; case 3 + .short _020555DA - _020555B6 - 2; case 4 + .short _020555DE - _020555B6 - 2; case 5 + .short _020555E2 - _020555B6 - 2; case 6 + .short _020555E6 - _020555B6 - 2; case 7 + .short _020555EA - _020555B6 - 2; case 8 + .short _020555EE - _020555B6 - 2; case 9 +_020555CA: mov r0, #0x0 pop {r3, pc} _020555CE: - .byte 0x15, 0x20 - .byte 0x08, 0xBD, 0xB2, 0x20, 0x08, 0xBD, 0xB0, 0x20, 0x08, 0xBD, 0xB4, 0x20, 0x08, 0xBD, 0xBA, 0x20 - .byte 0x08, 0xBD, 0xBC, 0x20, 0x08, 0xBD, 0xC4, 0x20, 0x08, 0xBD, 0xC6, 0x20, 0x08, 0xBD, 0xC8, 0x20 - .byte 0x08, 0xBD + mov r0, #0x15 + pop {r3, pc} +_020555D2: + mov r0, #0xb2 + pop {r3, pc} +_020555D6: + mov r0, #0xb0 + pop {r3, pc} +_020555DA: + mov r0, #0xb4 + pop {r3, pc} +_020555DE: + mov r0, #0xba + pop {r3, pc} +_020555E2: + mov r0, #0xbc + pop {r3, pc} +_020555E6: + mov r0, #0xc4 + pop {r3, pc} +_020555EA: + mov r0, #0xc6 + pop {r3, pc} +_020555EE: + mov r0, #0xc8 + pop {r3, pc} _020555F2: cmp r0, #0x9 bhi _0205563E @@ -158578,22 +179576,47 @@ _020555F2: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r6, r6, #0 +_02055602: ; jump table (using 16-bit offset) + .short _02055616 - _02055602 - 2; case 0 + .short _0205561A - _02055602 - 2; case 1 + .short _0205561E - _02055602 - 2; case 2 + .short _02055622 - _02055602 - 2; case 3 + .short _02055626 - _02055602 - 2; case 4 + .short _0205562A - _02055602 - 2; case 5 + .short _0205562E - _02055602 - 2; case 6 + .short _02055632 - _02055602 - 2; case 7 + .short _02055636 - _02055602 - 2; case 8 + .short _0205563A - _02055602 - 2; case 9 +_02055616: mov r0, #0x61 pop {r3, pc} _0205561A: - .byte 0x62, 0x20, 0x08, 0xBD, 0xB3, 0x20 - .byte 0x08, 0xBD, 0xB1, 0x20, 0x08, 0xBD, 0xB5, 0x20, 0x08, 0xBD, 0xBB, 0x20, 0x08, 0xBD, 0xBD, 0x20 - .byte 0x08, 0xBD, 0xC5, 0x20, 0x08, 0xBD, 0xC7, 0x20, 0x08, 0xBD, 0xC9, 0x20, 0x08, 0xBD + mov r0, #0x62 + pop {r3, pc} +_0205561E: + mov r0, #0xb3 + pop {r3, pc} +_02055622: + mov r0, #0xb1 + pop {r3, pc} +_02055626: + mov r0, #0xb5 + pop {r3, pc} +_0205562A: + mov r0, #0xbb + pop {r3, pc} +_0205562E: + mov r0, #0xbd + pop {r3, pc} +_02055632: + mov r0, #0xc5 + pop {r3, pc} +_02055636: + mov r0, #0xc7 + pop {r3, pc} +_0205563A: + mov r0, #0xc9 + pop {r3, pc} _0205563E: bl FUN_02020C2C mov r0, #0x0 @@ -158611,21 +179634,42 @@ FUN_02055648: ; 0x02055648 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r4, r6, #0 - lsl r6, r3, #0 - lsl r4, r6, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 +_0205565A: ; jump table (using 16-bit offset) + .short _0205566E - _0205565A - 2; case 0 + .short _02055672 - _0205565A - 2; case 1 + .short _02055676 - _0205565A - 2; case 2 + .short _02055690 - _0205565A - 2; case 3 + .short _0205567A - _0205565A - 2; case 4 + .short _02055690 - _0205565A - 2; case 5 + .short _0205567E - _0205565A - 2; case 6 + .short _02055682 - _0205565A - 2; case 7 + .short _02055686 - _0205565A - 2; case 8 + .short _0205568A - _0205565A - 2; case 9 +_0205566E: mov r0, #0x1 pop {r3, pc} _02055672: - .byte 0x02, 0x20, 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD, 0x10, 0x20, 0x08, 0xBD, 0x20, 0x20 - .byte 0x08, 0xBD, 0x40, 0x20, 0x08, 0xBD, 0x80, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x00, 0x02, 0x08, 0xBD + mov r0, #0x2 + pop {r3, pc} +_02055676: + mov r0, #0x4 + pop {r3, pc} +_0205567A: + mov r0, #0x10 + pop {r3, pc} +_0205567E: + mov r0, #0x20 + pop {r3, pc} +_02055682: + mov r0, #0x40 + pop {r3, pc} +_02055686: + mov r0, #0x80 + pop {r3, pc} +_0205568A: + mov r0, #0x1 + lsl r0, r0, #0x8 + pop {r3, pc} _02055690: bl FUN_02020C2C mov r0, #0x1 @@ -160452,10 +181496,12 @@ FUN_020564C8: ; 0x020564C8 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r3, #0 - lsl r2, r5, #0 - lsl r4, r7, #0 +_020564EC: ; jump table (using 16-bit offset) + .short _020564F4 - _020564EC - 2; case 0 + .short _02056506 - _020564EC - 2; case 1 + .short _02056518 - _020564EC - 2; case 2 + .short _0205652A - _020564EC - 2; case 3 +_020564F4: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 @@ -160465,10 +181511,30 @@ FUN_020564C8: ; 0x020564C8 add sp, #0x8 pop {r3-r7, pc} _02056506: - .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94 - .byte 0x00, 0xF0, 0x80, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C - .byte 0x00, 0x94, 0x00, 0xF0, 0xEF, 0xF8, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C - .byte 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x04, 0xF9 + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056614 + add sp, #0x8 + pop {r3-r7, pc} +_02056518: + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056704 + add sp, #0x8 + pop {r3-r7, pc} +_0205652A: + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056740 _02056538: add sp, #0x8 pop {r3-r7, pc} @@ -160498,15 +181564,23 @@ FUN_02056558: ; 0x02056558 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_0205656A: ; jump table (using 16-bit offset) + .short _02056572 - _0205656A - 2; case 0 + .short _02056576 - _0205656A - 2; case 1 + .short _0205657A - _0205656A - 2; case 2 + .short _0205657E - _0205656A - 2; case 3 +_02056572: mov r0, #0x0 pop {r3, pc} _02056576: - .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20 - .byte 0x08, 0xBD + mov r0, #0x1 + pop {r3, pc} +_0205657A: + mov r0, #0x2 + pop {r3, pc} +_0205657E: + mov r0, #0x1 + pop {r3, pc} _02056582: bl FUN_02020C2C mov r0, #0x0 @@ -160809,10 +181883,12 @@ FUN_020567E4: ; 0x020567E4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r3, #0 - lsl r2, r5, #0 - lsl r4, r7, #0 +_02056808: ; jump table (using 16-bit offset) + .short _02056810 - _02056808 - 2; case 0 + .short _02056822 - _02056808 - 2; case 1 + .short _02056834 - _02056808 - 2; case 2 + .short _02056846 - _02056808 - 2; case 3 +_02056810: ldr r2, [sp, #0x4] add r0, r6, #0x0 add r1, r7, #0x0 @@ -160822,10 +181898,30 @@ FUN_020567E4: ; 0x020567E4 add sp, #0x8 pop {r3-r7, pc} _02056822: - .byte 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0, 0x84, 0xF8 - .byte 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94, 0x00, 0xF0 - .byte 0x1D, 0xF9, 0x02, 0xB0, 0xF8, 0xBD, 0x01, 0x9A, 0x30, 0x1C, 0x39, 0x1C, 0x2B, 0x1C, 0x00, 0x94 - .byte 0x00, 0xF0, 0x32, 0xF9 + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056938 + add sp, #0x8 + pop {r3-r7, pc} +_02056834: + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056A7C + add sp, #0x8 + pop {r3-r7, pc} +_02056846: + ldr r2, [sp, #0x4] + add r0, r6, #0x0 + add r1, r7, #0x0 + add r3, r5, #0x0 + str r4, [sp, #0x0] + bl FUN_02056AB8 _02056854: add sp, #0x8 pop {r3-r7, pc} @@ -160855,14 +181951,23 @@ FUN_02056874: ; 0x02056874 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02056886: ; jump table (using 16-bit offset) + .short _0205688E - _02056886 - 2; case 0 + .short _02056892 - _02056886 - 2; case 1 + .short _02056896 - _02056886 - 2; case 2 + .short _0205689A - _02056886 - 2; case 3 +_0205688E: mov r0, #0x0 pop {r3, pc} _02056892: - .byte 0x01, 0x20, 0x08, 0xBD, 0x02, 0x20, 0x08, 0xBD, 0x01, 0x20, 0x08, 0xBD + mov r0, #0x1 + pop {r3, pc} +_02056896: + mov r0, #0x2 + pop {r3, pc} +_0205689A: + mov r0, #0x1 + pop {r3, pc} _0205689E: bl FUN_02020C2C mov r0, #0x0 @@ -161406,19 +182511,35 @@ FUN_02056CCC: ; 0x02056CCC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r2, #0 - lsl r6, r3, #0 - lsl r2, r5, #0 +_02056D1C: ; jump table (using 16-bit offset) + .short _02056D24 - _02056D1C - 2; case 0 + .short _02056D30 - _02056D1C - 2; case 1 + .short _02056D3C - _02056D1C - 2; case 2 + .short _02056D48 - _02056D1C - 2; case 3 +_02056D24: bl FUN_02054848 cmp r0, #0x1 bne _02056D54 mov r0, #0x1 pop {r3-r7, pc} _02056D30: - .byte 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x0D, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD - .byte 0x01, 0x28, 0x07, 0xD1, 0x01, 0x20, 0xF8, 0xBD, 0xFD, 0xF7, 0x90, 0xFD, 0x01, 0x28, 0x01, 0xD1 - .byte 0x01, 0x20, 0xF8, 0xBD + bl FUN_02054854 + cmp r0, #0x1 + bne _02056D54 + mov r0, #0x1 + pop {r3-r7, pc} +_02056D3C: + bl FUN_02054860 + cmp r0, #0x1 + bne _02056D54 + mov r0, #0x1 + pop {r3-r7, pc} +_02056D48: + bl FUN_0205486C + cmp r0, #0x1 + bne _02056D54 + mov r0, #0x1 + pop {r3-r7, pc} _02056D54: mov r0, #0x0 pop {r3-r7, pc} @@ -161454,10 +182575,12 @@ FUN_02056D58: ; 0x02056D58 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r2, #0 - lsl r0, r4, #0 - lsl r6, r5, #0 +_02056D9A: ; jump table (using 16-bit offset) + .short _02056DA2 - _02056D9A - 2; case 0 + .short _02056DAE - _02056D9A - 2; case 1 + .short _02056DBC - _02056D9A - 2; case 2 + .short _02056DCA - _02056D9A - 2; case 3 +_02056DA2: bl FUN_020547D4 cmp r0, #0x1 bne _02056DAE @@ -161897,10 +183020,12 @@ FUN_020570F0: ; 0x020570F0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 +_02057102: ; jump table (using 16-bit offset) + .short _0205710A - _02057102 - 2; case 0 + .short _0205710A - _02057102 - 2; case 1 + .short _0205710A - _02057102 - 2; case 2 + .short _0205710A - _02057102 - 2; case 3 +_0205710A: mov r0, #0x1 bx lr _0205710E: @@ -161933,10 +183058,12 @@ FUN_02057124: ; 0x02057124 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 +_0205713C: ; jump table (using 16-bit offset) + .short _02057144 - _0205713C - 2; case 0 + .short _02057144 - _0205713C - 2; case 1 + .short _02057144 - _0205713C - 2; case 2 + .short _02057144 - _0205713C - 2; case 3 +_02057144: mov r0, #0x1 pop {r3, pc} _02057148: @@ -162037,16 +183164,30 @@ _020571FC: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 +_0205720C: ; jump table (using 16-bit offset) + .short _02057218 - _0205720C - 2; case 0 + .short _0205721A - _0205720C - 2; case 1 + .short _0205721E - _0205720C - 2; case 2 + .short _02057222 - _0205720C - 2; case 3 + .short _02057226 - _0205720C - 2; case 4 + .short _0205722A - _0205720C - 2; case 5 +_02057218: b _02057230 _0205721A: - .byte 0x08, 0x24, 0x08, 0xE0, 0x0C, 0x24 - .byte 0x06, 0xE0, 0x4C, 0x24, 0x04, 0xE0, 0x10, 0x24, 0x02, 0xE0, 0x14, 0x24, 0x00, 0xE0 + mov r4, #0x8 + b _02057230 +_0205721E: + mov r4, #0xc + b _02057230 +_02057222: + mov r4, #0x4c + b _02057230 +_02057226: + mov r4, #0x10 + b _02057230 +_0205722A: + mov r4, #0x14 + b _02057230 _0205722E: mov r4, #0x4 _02057230: @@ -167964,17 +189105,30 @@ FUN_02059CC8: ; 0x02059CC8 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_02059CE8: ; jump table (using 16-bit offset) + .short _02059CF0 - _02059CE8 - 2; case 0 + .short _02059CF8 - _02059CE8 - 2; case 1 + .short _02059D00 - _02059CE8 - 2; case 2 + .short _02059D08 - _02059CE8 - 2; case 3 +_02059CF0: ldr r0, [sp, #0x8] sub r0, r0, r4 str r0, [sp, #0x8] b _02059D0E _02059CF8: - .byte 0x02, 0x98, 0x00, 0x19, 0x02, 0x90, 0x06, 0xE0 - .byte 0x00, 0x98, 0x00, 0x1B, 0x00, 0x90, 0x02, 0xE0, 0x00, 0x98, 0x00, 0x19, 0x00, 0x90 + ldr r0, [sp, #0x8] + add r0, r0, r4 + str r0, [sp, #0x8] + b _02059D0E +_02059D00: + ldr r0, [sp, #0x0] + sub r0, r0, r4 + str r0, [sp, #0x0] + b _02059D0E +_02059D08: + ldr r0, [sp, #0x0] + add r0, r0, r4 + str r0, [sp, #0x0] _02059D0E: add r0, r6, #0x0 add r1, sp, #0x0 @@ -168113,17 +189267,30 @@ FUN_02059E28: ; 0x02059E28 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r1, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 +_02059E38: ; jump table (using 16-bit offset) + .short _02059E40 - _02059E38 - 2; case 0 + .short _02059E48 - _02059E38 - 2; case 1 + .short _02059E50 - _02059E38 - 2; case 2 + .short _02059E58 - _02059E38 - 2; case 3 +_02059E40: ldr r0, [r1, #0x8] sub r0, r0, r2 str r0, [r1, #0x8] bx lr _02059E48: - .byte 0x88, 0x68, 0x80, 0x18, 0x88, 0x60, 0x70, 0x47 - .byte 0x08, 0x68, 0x80, 0x1A, 0x08, 0x60, 0x70, 0x47, 0x08, 0x68, 0x80, 0x18, 0x08, 0x60 + ldr r0, [r1, #0x8] + add r0, r0, r2 + str r0, [r1, #0x8] + bx lr +_02059E50: + ldr r0, [r1, #0x0] + sub r0, r0, r2 + str r0, [r1, #0x0] + bx lr +_02059E58: + ldr r0, [r1, #0x0] + add r0, r0, r2 + str r0, [r1, #0x0] _02059E5E: bx lr @@ -168458,11 +189625,13 @@ FUN_0205A078: ; 0x0205A078 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r2, r6, #0 - lsl r0, r2, #0x1 - lsl r6, r4, #0x1 - lsl r2, r0, #0x3 +_0205A096: ; jump table (using 16-bit offset) + .short _0205A0A0 - _0205A096 - 2; case 0 + .short _0205A0CA - _0205A096 - 2; case 1 + .short _0205A0E8 - _0205A096 - 2; case 2 + .short _0205A0FE - _0205A096 - 2; case 3 + .short _0205A15A - _0205A096 - 2; case 4 +_0205A0A0: add r0, r5, #0x0 bl FUN_02058848 add r0, r5, #0x0 @@ -168480,21 +189649,86 @@ FUN_0205A078: ; 0x0205A078 strh r0, [r4, #0x0] pop {r4-r6, pc} _0205A0CA: - .byte 0x28, 0x1C, 0x00, 0xF0, 0xD8, 0xFF - .byte 0x00, 0x28, 0x4C, 0xD0, 0x00, 0x21, 0x26, 0x48, 0xC9, 0x43, 0x00, 0xF0, 0xE9, 0xFC, 0x60, 0x80 - .byte 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x02, 0x20, 0x21, 0x5E, 0x49, 0x1E, 0x61, 0x80 - .byte 0x20, 0x5E, 0x00, 0x28, 0x3B, 0xD1, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x00, 0x21 - .byte 0xE0, 0x68, 0xC9, 0x43, 0x00, 0xF0, 0xE6, 0xFC, 0x06, 0x1C, 0x28, 0x1C, 0x31, 0x1C, 0xFE, 0xF7 - .byte 0xE3, 0xF9, 0x60, 0x68, 0x01, 0x28, 0x08, 0xD1, 0x28, 0x1C, 0x31, 0x1C, 0x00, 0xF0, 0xA8, 0xF8 - .byte 0x00, 0x28, 0x02, 0xD1, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0x28, 0x1C, 0x31, 0x1C, 0xFF, 0xF7 - .byte 0xF3, 0xFB, 0x00, 0x28, 0x02, 0xD0, 0x00, 0x20, 0x20, 0x80, 0x70, 0xBD, 0xA1, 0x68, 0x30, 0x1C - .byte 0x00, 0xF0, 0x4C, 0xFF, 0x01, 0x1C, 0x28, 0x1C, 0x00, 0xF0, 0x60, 0xFE, 0x28, 0x1C, 0xFE, 0xF7 - .byte 0x75, 0xFB, 0x00, 0x20, 0x20, 0x5E, 0x40, 0x1C, 0x20, 0x80, 0x28, 0x1C, 0x00, 0xF0, 0x90, 0xFF - .byte 0x00, 0x28, 0x04, 0xD0, 0x28, 0x1C, 0xFE, 0xF7, 0x6F, 0xFB, 0x00, 0x20, 0x20, 0x80 + add r0, r5, #0x0 + bl FUN_0205B080 + cmp r0, #0x0 + beq _0205A16E + mov r1, #0x0 + ldr r0, _0205A170 ; =0x020F693C + mvn r1, r1 + bl FUN_0205AAB0 + strh r0, [r4, #0x2] + mov r0, #0x0 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x0] +_0205A0E8: + mov r0, #0x2 + ldrsh r1, [r4, r0] + sub r1, r1, #0x1 + strh r1, [r4, #0x2] + ldrsh r0, [r4, r0] + cmp r0, #0x0 + bne _0205A16E + mov r0, #0x0 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x0] +_0205A0FE: + mov r1, #0x0 + ldr r0, [r4, #0xc] + mvn r1, r1 + bl FUN_0205AAD4 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_020584D8 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _0205A12A + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_0205A270 + cmp r0, #0x0 + bne _0205A12A + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_0205A12A: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02059918 + cmp r0, #0x0 + beq _0205A13C + mov r0, #0x0 + strh r0, [r4, #0x0] + pop {r4-r6, pc} +_0205A13C: + ldr r1, [r4, #0x8] + add r0, r6, #0x0 + bl FUN_0205AFDC + add r1, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0205AE0C + add r0, r5, #0x0 + bl FUN_0205883C + mov r0, #0x0 + ldrsh r0, [r4, r0] + add r0, r0, #0x1 + strh r0, [r4, #0x0] +_0205A15A: + add r0, r5, #0x0 + bl FUN_0205B080 + cmp r0, #0x0 + beq _0205A16E + add r0, r5, #0x0 + bl FUN_02058848 + mov r0, #0x0 + strh r0, [r4, #0x0] _0205A16E: pop {r4-r6, pc} -_0205A170: - .byte 0x3C, 0x69, 0x0F, 0x02 + .balign 4 +_0205A170: .word 0x020F693C thumb_func_start FUN_0205A174 FUN_0205A174: ; 0x0205A174 @@ -168523,20 +189757,22 @@ FUN_0205A174: ; 0x0205A174 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r6, #0x2 - lsl r6, r6, #0x2 - lsl r6, r6, #0x2 - lsl r6, r6, #0x2 - lsl r6, r6, #0x2 - lsl r6, r6, #0x2 - lsl r2, r3, #0 - lsl r4, r5, #0 - lsl r6, r7, #0 - lsl r0, r2, #0x1 - lsl r2, r4, #0x1 - lsl r0, r7, #0x1 - lsl r6, r1, #0x2 - lsl r2, r4, #0x2 +_0205A1B0: ; jump table (using 16-bit offset) + .short _0205A268 - _0205A1B0 - 2; case 0 + .short _0205A268 - _0205A1B0 - 2; case 1 + .short _0205A268 - _0205A1B0 - 2; case 2 + .short _0205A268 - _0205A1B0 - 2; case 3 + .short _0205A268 - _0205A1B0 - 2; case 4 + .short _0205A268 - _0205A1B0 - 2; case 5 + .short _0205A1CC - _0205A1B0 - 2; case 6 + .short _0205A1DE - _0205A1B0 - 2; case 7 + .short _0205A1F0 - _0205A1B0 - 2; case 8 + .short _0205A202 - _0205A1B0 - 2; case 9 + .short _0205A214 - _0205A1B0 - 2; case 10 + .short _0205A22A - _0205A1B0 - 2; case 11 + .short _0205A240 - _0205A1B0 - 2; case 12 + .short _0205A254 - _0205A1B0 - 2; case 13 +_0205A1CC: sub r0, r6, r7 str r0, [r4, #0x0] ldr r0, [sp, #0x4] @@ -168547,16 +189783,81 @@ FUN_0205A174: ; 0x0205A174 str r5, [r4, #0xc] pop {r3-r7, pc} _0205A1DE: - .byte 0x26, 0x60 - .byte 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60, 0xE5, 0x60, 0xF8, 0xBD - .byte 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60 - .byte 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60, 0x28, 0x18, 0x02, 0xB0 - .byte 0xE0, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0x01, 0x98, 0xA6, 0x60, 0x28, 0x1A, 0x60, 0x60 - .byte 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD, 0x26, 0x60, 0xF0, 0x19, 0xA0, 0x60 - .byte 0x01, 0x98, 0x28, 0x1A, 0x60, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x18, 0xE0, 0x60, 0xF8, 0xBD - .byte 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x02, 0xB0, 0x28, 0x1A, 0x60, 0x60 - .byte 0xE5, 0x60, 0xF8, 0xBD, 0xF0, 0x1B, 0x20, 0x60, 0xF0, 0x19, 0xA0, 0x60, 0x01, 0x98, 0x65, 0x60 - .byte 0x28, 0x18, 0x02, 0xB0, 0xE0, 0x60, 0xF8, 0xBD + str r6, [r4, #0x0] + add r0, r6, r7 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + add sp, #0x8 + sub r0, r5, r0 + str r0, [r4, #0x4] + str r5, [r4, #0xc] + pop {r3-r7, pc} +_0205A1F0: + sub r0, r6, r7 + str r0, [r4, #0x0] + ldr r0, [sp, #0x4] + str r6, [r4, #0x8] + str r5, [r4, #0x4] + add r0, r5, r0 + add sp, #0x8 + str r0, [r4, #0xc] + pop {r3-r7, pc} +_0205A202: + str r6, [r4, #0x0] + add r0, r6, r7 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + str r5, [r4, #0x4] + add r0, r5, r0 + add sp, #0x8 + str r0, [r4, #0xc] + pop {r3-r7, pc} +_0205A214: + sub r0, r6, r7 + str r0, [r4, #0x0] + ldr r0, [sp, #0x4] + str r6, [r4, #0x8] + sub r0, r5, r0 + str r0, [r4, #0x4] + ldr r0, [sp, #0x4] + add sp, #0x8 + add r0, r5, r0 + str r0, [r4, #0xc] + pop {r3-r7, pc} +_0205A22A: + str r6, [r4, #0x0] + add r0, r6, r7 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + sub r0, r5, r0 + str r0, [r4, #0x4] + ldr r0, [sp, #0x4] + add sp, #0x8 + add r0, r5, r0 + str r0, [r4, #0xc] + pop {r3-r7, pc} +_0205A240: + sub r0, r6, r7 + str r0, [r4, #0x0] + add r0, r6, r7 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + add sp, #0x8 + sub r0, r5, r0 + str r0, [r4, #0x4] + str r5, [r4, #0xc] + pop {r3-r7, pc} +_0205A254: + sub r0, r6, r7 + str r0, [r4, #0x0] + add r0, r6, r7 + str r0, [r4, #0x8] + ldr r0, [sp, #0x4] + str r5, [r4, #0x4] + add r0, r5, r0 + add sp, #0x8 + str r0, [r4, #0xc] + pop {r3-r7, pc} _0205A268: bl FUN_02020C2C add sp, #0x8 @@ -172700,10 +194001,12 @@ FUN_0205C004: ; 0x0205C004 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r3, #0 - lsl r0, r0, #0x1 - lsl r6, r2, #0x1 +_0205C020: ; jump table (using 16-bit offset) + .short _0205C028 - _0205C020 - 2; case 0 + .short _0205C03A - _0205C020 - 2; case 1 + .short _0205C062 - _0205C020 - 2; case 2 + .short _0205C078 - _0205C020 - 2; case 3 +_0205C028: add r0, r5, #0x0 bl FUN_0205BF78 cmp r0, #0x1 @@ -172713,11 +194016,40 @@ FUN_0205C004: ; 0x0205C004 strb r0, [r4, #0x0] b _0205C07C _0205C03A: - .byte 0x28, 0x1C, 0xFF, 0xF7, 0xB6, 0xFF - .byte 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70, 0x21, 0x56, 0x03, 0x20 - .byte 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0, 0x20, 0x78, 0x40, 0x1C - .byte 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0xF6, 0xFB, 0x01, 0x28, 0x07, 0xD0, 0x20, 0x78, 0x40, 0x1C - .byte 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD + add r0, r5, #0x0 + bl FUN_0205BFAC + cmp r0, #0x0 + beq _0205C07C + mov r0, #0x2 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x2] + ldrsb r1, [r4, r0] + mov r0, #0x3 + ldrsb r0, [r4, r0] + cmp r1, r0 + bge _0205C05C + mov r0, #0x0 + strb r0, [r4, #0x0] + b _0205C07C +_0205C05C: + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] +_0205C062: + add r0, r5, #0x0 + bl FUN_02058854 + cmp r0, #0x1 + beq _0205C07C + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x2] + strb r0, [r4, #0x1] +_0205C078: + mov r0, #0x1 + pop {r3-r5, pc} _0205C07C: mov r0, #0x0 pop {r3-r5, pc} @@ -172738,10 +194070,12 @@ FUN_0205C080: ; 0x0205C080 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r5, #0 - lsl r2, r3, #0x1 - lsl r0, r6, #0x1 +_0205C09E: ; jump table (using 16-bit offset) + .short _0205C0A6 - _0205C09E - 2; case 0 + .short _0205C0C8 - _0205C09E - 2; case 1 + .short _0205C0FA - _0205C09E - 2; case 2 + .short _0205C110 - _0205C09E - 2; case 3 +_0205C0A6: ldr r3, _0205C164 ; =0x020F70D8 add r2, sp, #0x10 ldmia r3!, {r0-r1} @@ -172758,6 +194092,7 @@ FUN_0205C080: ; 0x0205C080 ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C0C8: ldr r6, _0205C168 ; =0x020F70E8 add r3, sp, #0x0 add r2, r3, #0x0 @@ -172781,6 +194116,7 @@ FUN_0205C080: ; 0x0205C080 ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C0FA: add r0, r5, #0x0 bl FUN_0205B080 cmp r0, #0x0 @@ -172792,6 +194128,7 @@ _0205C10A: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C110: mov r0, #0x8 ldrsb r1, [r4, r0] add r1, r1, #0x1 @@ -172879,10 +194216,12 @@ FUN_0205C198: ; 0x0205C198 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r0, r3, #0 - lsl r0, r0, #0x1 - lsl r6, r2, #0x1 +_0205C1B4: ; jump table (using 16-bit offset) + .short _0205C1BC - _0205C1B4 - 2; case 0 + .short _0205C1CE - _0205C1B4 - 2; case 1 + .short _0205C1F6 - _0205C1B4 - 2; case 2 + .short _0205C20C - _0205C1B4 - 2; case 3 +_0205C1BC: add r0, r5, #0x0 bl FUN_0205BF78 cmp r0, #0x1 @@ -172892,11 +194231,40 @@ FUN_0205C198: ; 0x0205C198 strb r0, [r4, #0x0] b _0205C210 _0205C1CE: - .byte 0x28, 0x1C - .byte 0xFF, 0xF7, 0xEC, 0xFE, 0x00, 0x28, 0x1B, 0xD0, 0x02, 0x20, 0x21, 0x56, 0x49, 0x1C, 0xA1, 0x70 - .byte 0x21, 0x56, 0x03, 0x20, 0x20, 0x56, 0x81, 0x42, 0x02, 0xDA, 0x00, 0x20, 0x20, 0x70, 0x0F, 0xE0 - .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x28, 0x1C, 0xFC, 0xF7, 0x2C, 0xFB, 0x01, 0x28, 0x07, 0xD0 - .byte 0x20, 0x78, 0x40, 0x1C, 0x20, 0x70, 0x00, 0x20, 0xA0, 0x70, 0x60, 0x70, 0x01, 0x20, 0x38, 0xBD + add r0, r5, #0x0 + bl FUN_0205BFAC + cmp r0, #0x0 + beq _0205C210 + mov r0, #0x2 + ldrsb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, #0x2] + ldrsb r1, [r4, r0] + mov r0, #0x3 + ldrsb r0, [r4, r0] + cmp r1, r0 + bge _0205C1F0 + mov r0, #0x0 + strb r0, [r4, #0x0] + b _0205C210 +_0205C1F0: + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] +_0205C1F6: + add r0, r5, #0x0 + bl FUN_02058854 + cmp r0, #0x1 + beq _0205C210 + ldrb r0, [r4, #0x0] + add r0, r0, #0x1 + strb r0, [r4, #0x0] + mov r0, #0x0 + strb r0, [r4, #0x2] + strb r0, [r4, #0x1] +_0205C20C: + mov r0, #0x1 + pop {r3-r5, pc} _0205C210: mov r0, #0x0 pop {r3-r5, pc} @@ -172928,10 +194296,12 @@ FUN_0205C214: ; 0x0205C214 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r1, #0x1 - lsl r2, r6, #0x1 - lsl r0, r1, #0x2 +_0205C248: ; jump table (using 16-bit offset) + .short _0205C250 - _0205C248 - 2; case 0 + .short _0205C296 - _0205C248 - 2; case 1 + .short _0205C2BC - _0205C248 - 2; case 2 + .short _0205C2D2 - _0205C248 - 2; case 3 +_0205C250: add r0, r7, #0x0 bl FUN_020584C4 mov r5, #0x0 @@ -172969,6 +194339,7 @@ _0205C27E: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C296: mov r0, #0x5 ldrsb r0, [r4, r0] add r2, sp, #0x0 @@ -172986,6 +194357,7 @@ _0205C27E: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C2BC: add r0, r7, #0x0 bl FUN_0205B080 cmp r0, #0x0 @@ -172997,6 +194369,7 @@ _0205C2CC: ldrb r0, [r4, #0x1] add r0, r0, #0x1 strb r0, [r4, #0x1] +_0205C2D2: mov r0, #0x8 ldrsb r1, [r4, r0] add r1, r1, #0x1 @@ -173341,18 +194714,26 @@ _0205C550: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r3, #0 - lsl r4, r3, #0 - lsl r2, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 +_0205C56A: ; jump table (using 16-bit offset) + .short _0205C588 - _0205C56A - 2; case 0 + .short _0205C588 - _0205C56A - 2; case 1 + .short _0205C576 - _0205C56A - 2; case 2 + .short _0205C57C - _0205C56A - 2; case 3 + .short _0205C580 - _0205C56A - 2; case 4 + .short _0205C584 - _0205C56A - 2; case 5 +_0205C576: mov r0, #0x1 lsl r0, r0, #0xc pop {r3, pc} _0205C57C: - .byte 0x10, 0x68, 0x08, 0xBD - .byte 0x50, 0x68, 0x08, 0xBD, 0x90, 0x68, 0x08, 0xBD + ldr r0, [r2, #0x0] + pop {r3, pc} +_0205C580: + ldr r0, [r2, #0x4] + pop {r3, pc} +_0205C584: + ldr r0, [r2, #0x8] + pop {r3, pc} _0205C588: bl FUN_02020C2C ldr r0, _0205C590 ; =0x0000FFFF @@ -173603,15 +194984,17 @@ FUN_0205C768: ; 0x0205C768 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r2, #0 - lsl r2, r2, #0 - lsl r2, r2, #0 - lsl r2, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 +_0205C77E: ; jump table (using 16-bit offset) + .short _0205C792 - _0205C77E - 2; case 0 + .short _0205C792 - _0205C77E - 2; case 1 + .short _0205C792 - _0205C77E - 2; case 2 + .short _0205C792 - _0205C77E - 2; case 3 + .short _0205C790 - _0205C77E - 2; case 4 + .short _0205C790 - _0205C77E - 2; case 5 + .short _0205C790 - _0205C77E - 2; case 6 + .short _0205C790 - _0205C77E - 2; case 7 + .short _0205C790 - _0205C77E - 2; case 8 +_0205C790: mov r0, #0x1 _0205C792: pop {r3, pc} @@ -174149,10 +195532,12 @@ _0205CB72: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 +_0205CB8A: ; jump table (using 16-bit offset) + .short _0205CB92 - _0205CB8A - 2; case 0 + .short _0205CB92 - _0205CB8A - 2; case 1 + .short _0205CB92 - _0205CB8A - 2; case 2 + .short _0205CB92 - _0205CB8A - 2; case 3 +_0205CB92: mov r0, #0x7 str r0, [r4, #0x0] mov r0, #0x1 @@ -174603,14 +195988,22 @@ FUN_0205CE80: ; 0x0205CE80 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r2, r2, #0 - lsl r6, r1, #0 +_0205CED4: ; jump table (using 16-bit offset) + .short _0205CEDC - _0205CED4 - 2; case 0 + .short _0205CEE0 - _0205CED4 - 2; case 1 + .short _0205CEE8 - _0205CED4 - 2; case 2 + .short _0205CEE4 - _0205CED4 - 2; case 3 +_0205CEDC: sub r7, r7, #0x1 b _0205CEEA _0205CEE0: - .byte 0x7F, 0x1C, 0x02, 0xE0, 0x76, 0x1C, 0x00, 0xE0, 0x76, 0x1E + add r7, r7, #0x1 + b _0205CEEA +_0205CEE4: + add r6, r6, #0x1 + b _0205CEEA +_0205CEE8: + sub r6, r6, #0x1 _0205CEEA: add r0, r4, #0x0 add r1, r6, #0x0 @@ -175060,24 +196453,75 @@ FUN_0205D264: ; 0x0205D264 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r4, r1, #0 - lsl r2, r1, #0x2 - lsl r0, r2, #0x2 +_0205D288: ; jump table (using 16-bit offset) + .short _0205D290 - _0205D288 - 2; case 0 + .short _0205D296 - _0205D288 - 2; case 1 + .short _0205D314 - _0205D288 - 2; case 2 + .short _0205D31A - _0205D288 - 2; case 3 +_0205D290: add r0, r0, #0x1 str r0, [r5, #0x0] b _0205D324 _0205D296: - .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x94, 0xF8, 0x01, 0x28, 0x1A, 0xD1 - .byte 0xA0, 0x6B, 0xF8, 0xF7, 0x7D, 0xF8, 0xFB, 0xF7, 0x35, 0xFB, 0xA0, 0x6B, 0x01, 0x21, 0x88, 0xF1 - .byte 0x93, 0xFE, 0xA0, 0x6B, 0x88, 0xF1, 0x94, 0xFE, 0x20, 0x1C, 0x00, 0x21, 0xED, 0xF7, 0x30, 0xFC - .byte 0xE1, 0x69, 0x20, 0x1C, 0x09, 0x68, 0xED, 0xF7, 0x47, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22 - .byte 0xED, 0xF7, 0x84, 0xFC, 0x1A, 0xE0, 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0xED, 0xF7, 0x20, 0xFC - .byte 0x12, 0x21, 0x20, 0x1C, 0x89, 0x01, 0x01, 0x22, 0xED, 0xF7, 0x78, 0xFC, 0xA0, 0x6B, 0xF8, 0xF7 - .byte 0x57, 0xF8, 0xFB, 0xF7, 0x0F, 0xFB, 0xA0, 0x6B, 0x02, 0x21, 0x88, 0xF1, 0x6D, 0xFE, 0xA0, 0x6B - .byte 0x88, 0xF1, 0x6E, 0xFE, 0x90, 0x34, 0x20, 0x68, 0x00, 0xF0, 0x1A, 0xFD, 0x28, 0x68, 0x40, 0x1C - .byte 0x28, 0x60, 0x07, 0xE0, 0x40, 0x1C, 0x28, 0x60, 0x04, 0xE0, 0x60, 0x6B, 0xFB, 0xF7, 0x48, 0xFA - .byte 0x01, 0x20, 0x38, 0xBD + ldr r0, [r4, #0x38] + bl FUN_020553C4 + cmp r0, #0x1 + bne _0205D2D6 + ldr r0, [r4, #0x38] + bl FUN_020553A0 + bl FUN_02058914 + ldr r0, [r4, #0x38] + mov r1, #0x1 + bl FUN_021E5FD8 + ldr r0, [r4, #0x38] + bl FUN_021E5FE0 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_0204AB20 + ldr r1, [r4, #0x1c] + add r0, r4, #0x0 + ldr r1, [r1, #0x0] + bl FUN_0204AB58 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl FUN_0204ABDC + b _0205D30C +_0205D2D6: + mov r1, #0x12 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + bl FUN_0204AB20 + mov r1, #0x12 + add r0, r4, #0x0 + lsl r1, r1, #0x6 + mov r2, #0x1 + bl FUN_0204ABDC + ldr r0, [r4, #0x38] + bl FUN_020553A0 + bl FUN_02058914 + ldr r0, [r4, #0x38] + mov r1, #0x2 + bl FUN_021E5FD8 + ldr r0, [r4, #0x38] + bl FUN_021E5FE0 + add r4, #0x90 + ldr r0, [r4, #0x0] + bl FUN_0205DD40 +_0205D30C: + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _0205D324 +_0205D314: + add r0, r0, #0x1 + str r0, [r5, #0x0] + b _0205D324 +_0205D31A: + ldr r0, [r4, #0x34] + bl FUN_020587B0 + mov r0, #0x1 + pop {r3-r5, pc} _0205D324: mov r0, #0x0 pop {r3-r5, pc} @@ -176263,11 +197707,13 @@ FUN_0205DC38: ; 0x0205DC38 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r4, r3, #0 - lsl r4, r6, #0 - lsl r4, r4, #0x1 - lsl r2, r0, #0x2 +_0205DC5E: ; jump table (using 16-bit offset) + .short _0205DC68 - _0205DC5E - 2; case 0 + .short _0205DC7C - _0205DC5E - 2; case 1 + .short _0205DC94 - _0205DC5E - 2; case 2 + .short _0205DCC4 - _0205DC5E - 2; case 3 + .short _0205DCE2 - _0205DC5E - 2; case 4 +_0205DC68: ldr r0, [r5, #0x34] bl FUN_02058780 mov r0, #0x0 @@ -176277,21 +197723,68 @@ FUN_0205DC38: ; 0x0205DC38 strb r0, [r4, #0x0] b _0205DCFA _0205DC7C: - .byte 0xB0, 0xF7, 0x44, 0xFB - .byte 0x00, 0x28, 0x3A, 0xD0, 0x21, 0x6A, 0x28, 0x1C, 0x88, 0x47, 0x60, 0x62, 0x02, 0x20, 0x2A, 0x34 - .byte 0x20, 0x70, 0x32, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xF1, 0xFB, 0x00, 0x28, 0x2D, 0xD1, 0x60, 0x6A - .byte 0x00, 0x28, 0x08, 0xD0, 0x22, 0x6A, 0x16, 0x49, 0x8A, 0x42, 0x02, 0xD1, 0x2A, 0xF0, 0xB2, 0xF8 - .byte 0x01, 0xE0, 0xB8, 0xF7, 0xB1, 0xFE, 0x28, 0x1C, 0xE8, 0xF7, 0xF0, 0xFB, 0x03, 0x20, 0x2A, 0x34 - .byte 0x20, 0x70, 0x1A, 0xE0, 0x28, 0x1C, 0xE8, 0xF7, 0xED, 0xFB, 0x00, 0x28, 0x15, 0xD0, 0x68, 0x6B - .byte 0xFA, 0xF7, 0x56, 0xFD, 0x01, 0x20, 0x79, 0xF1, 0xE5, 0xFF, 0x04, 0x20, 0x2A, 0x34, 0x20, 0x70 - .byte 0x0B, 0xE0, 0xB0, 0xF7, 0x11, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x68, 0x6B, 0xFA, 0xF7, 0x60, 0xFD - .byte 0x20, 0x1C, 0xB8, 0xF7, 0x91, 0xFE, 0x01, 0x20, 0x38, 0xBD + bl FUN_0200E308 + cmp r0, #0x0 + beq _0205DCFA + ldr r1, [r4, #0x20] + add r0, r5, #0x0 + blx r1 + str r0, [r4, #0x24] + mov r0, #0x2 + add r4, #0x2a + strb r0, [r4, #0x0] + b _0205DCFA +_0205DC94: + add r0, r5, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + bne _0205DCFA + ldr r0, [r4, #0x24] + cmp r0, #0x0 + beq _0205DCB6 + ldr r2, [r4, #0x20] + ldr r1, _0205DD00 ; =FUN_0205D568 + cmp r2, r1 + bne _0205DCB2 + bl FUN_02087E14 + b _0205DCB6 +_0205DCB2: + bl FUN_02016A18 +_0205DCB6: + add r0, r5, #0x0 + bl FUN_0204649C + mov r0, #0x3 + add r4, #0x2a + strb r0, [r4, #0x0] + b _0205DCFA +_0205DCC4: + add r0, r5, #0x0 + bl FUN_020464A4 + cmp r0, #0x0 + beq _0205DCFA + ldr r0, [r5, #0x34] + bl FUN_02058780 + mov r0, #0x1 + bl FUN_021D7CA4 + mov r0, #0x4 + add r4, #0x2a + strb r0, [r4, #0x0] + b _0205DCFA +_0205DCE2: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0205DCFA + ldr r0, [r5, #0x34] + bl FUN_020587B0 + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} _0205DCFA: mov r0, #0x0 pop {r3-r5, pc} nop -_0205DD00: - .byte 0x69, 0xD5, 0x05, 0x02 +_0205DD00: .word FUN_0205D568 + 1 thumb_func_start FUN_0205DD04 FUN_0205DD04: ; 0x0205DD04 @@ -177143,11 +198636,13 @@ FUN_0205E30C: ; 0x0205E30C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r6, r1, #0x2 - lsl r2, r3, #0x2 - lsl r2, r7, #0x2 - lsl r4, r5, #0x2 +_0205E330: ; jump table (using 16-bit offset) + .short _0205E33A - _0205E330 - 2; case 0 + .short _0205E3C0 - _0205E330 - 2; case 1 + .short _0205E3CC - _0205E330 - 2; case 2 + .short _0205E3EC - _0205E330 - 2; case 3 + .short _0205E3DE - _0205E330 - 2; case 4 +_0205E33A: ldr r0, [r4, #0x34] bl FUN_02058780 ldr r0, [r4, #0xc] @@ -177208,17 +198703,41 @@ _0205E3BA: str r0, [r5, #0x0] b _0205E3FC _0205E3C0: - .byte 0x10, 0x48, 0xA6, 0xF7, 0x2B, 0xFF, 0x02, 0x20, 0x28, 0x60, 0x17, 0xE0, 0x90, 0x34, 0x20, 0x68 - .byte 0xFF, 0xF7, 0xE4, 0xFD, 0x00, 0x28, 0x11, 0xD0, 0x04, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0xB8, 0xF7 - .byte 0x1B, 0xFB, 0x60, 0x6B, 0xFA, 0xF7, 0xE4, 0xF9, 0x01, 0x20, 0xF8, 0xBD, 0x00, 0x22, 0x06, 0x49 - .byte 0x38, 0x1C, 0x13, 0x1C, 0xDA, 0xF7, 0x70, 0xFC, 0x04, 0x20, 0x28, 0x60 + ldr r0, _0205E404 ; =0x0000047E + bl FUN_0200521C + mov r0, #0x2 + str r0, [r5, #0x0] + b _0205E3FC +_0205E3CC: + add r4, #0x90 + ldr r0, [r4, #0x0] + bl FUN_0205DF9C + cmp r0, #0x0 + beq _0205E3FC + mov r0, #0x4 + str r0, [r5, #0x0] + b _0205E3FC +_0205E3DE: + bl FUN_02016A18 + ldr r0, [r4, #0x34] + bl FUN_020587B0 + mov r0, #0x1 + pop {r3-r7, pc} +_0205E3EC: + mov r2, #0x0 + ldr r1, _0205E408 ; =0x0000230B + add r0, r7, #0x0 + add r3, r2, #0x0 + bl FUN_02038CD8 + mov r0, #0x4 + str r0, [r5, #0x0] _0205E3FC: mov r0, #0x0 pop {r3-r7, pc} .balign 4 _0205E400: .word 0x0000230A -_0205E404: - .byte 0x7E, 0x04, 0x00, 0x00, 0x0B, 0x23, 0x00, 0x00 +_0205E404: .word 0x0000047E +_0205E408: .word 0x0000230B thumb_func_start FUN_0205E40C FUN_0205E40C: ; 0x0205E40C @@ -177544,15 +199063,22 @@ FUN_0205E65C: ; 0x0205E65C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_0205E67E: ; jump table (using 16-bit offset) + .short _0205E686 - _0205E67E - 2; case 0 + .short _0205E68A - _0205E67E - 2; case 1 + .short _0205E68E - _0205E67E - 2; case 2 + .short _0205E692 - _0205E67E - 2; case 3 +_0205E686: mov r0, #0x10 pop {r3, pc} _0205E68A: - .byte 0x11, 0x20, 0x08, 0xBD, 0x12, 0x20 - .byte 0x08, 0xBD, 0x13, 0x20 + mov r0, #0x11 + pop {r3, pc} +_0205E68E: + mov r0, #0x12 + pop {r3, pc} +_0205E692: + mov r0, #0x13 _0205E694: pop {r3, pc} .balign 4 @@ -177736,15 +199262,17 @@ FUN_0205E7C4: ; 0x0205E7C4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0x1 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 +_0205E7FE: ; jump table (using 16-bit offset) + .short _0205E84C - _0205E7FE - 2; case 0 + .short _0205E810 - _0205E7FE - 2; case 1 + .short _0205E810 - _0205E7FE - 2; case 2 + .short _0205E810 - _0205E7FE - 2; case 3 + .short _0205E810 - _0205E7FE - 2; case 4 + .short _0205E810 - _0205E7FE - 2; case 5 + .short _0205E810 - _0205E7FE - 2; case 6 + .short _0205E810 - _0205E7FE - 2; case 7 + .short _0205E810 - _0205E7FE - 2; case 8 +_0205E810: add r1, sp, #0x4 add r2, sp, #0x8 mov r3, #0x1 @@ -178571,24 +200099,39 @@ FUN_0205EE08: ; 0x0205EE08 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 +_0205EE1A: ; jump table (using 16-bit offset) + .short _0205EE24 - _0205EE1A - 2; case 0 + .short _0205EE2C - _0205EE1A - 2; case 1 + .short _0205EE34 - _0205EE1A - 2; case 2 + .short _0205EE3C - _0205EE1A - 2; case 3 + .short _0205EE44 - _0205EE1A - 2; case 4 +_0205EE24: ldr r1, _0205EE4C ; =0x00000968 bl FUN_0205EC84 pop {r3, pc} _0205EE2C: - .byte 0x08, 0x49, 0xFF, 0xF7 - .byte 0x29, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7, 0x25, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7 - .byte 0x21, 0xFF, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7, 0x1D, 0xFF + ldr r1, _0205EE50 ; =0x00000969 + bl FUN_0205EC84 + pop {r3, pc} +_0205EE34: + ldr r1, _0205EE54 ; =0x0000096A + bl FUN_0205EC84 + pop {r3, pc} +_0205EE3C: + ldr r1, _0205EE58 ; =0x0000096B + bl FUN_0205EC84 + pop {r3, pc} +_0205EE44: + ldr r1, _0205EE5C ; =0x0000096C + bl FUN_0205EC84 _0205EE4A: pop {r3, pc} .balign 4 _0205EE4C: .word 0x00000968 -_0205EE50: - .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00, 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 +_0205EE50: .word 0x00000969 +_0205EE54: .word 0x0000096A +_0205EE58: .word 0x0000096B +_0205EE5C: .word 0x0000096C thumb_func_start FUN_0205EE60 FUN_0205EE60: ; 0x0205EE60 @@ -178601,25 +200144,39 @@ FUN_0205EE60: ; 0x0205EE60 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 +_0205EE72: ; jump table (using 16-bit offset) + .short _0205EE7C - _0205EE72 - 2; case 0 + .short _0205EE84 - _0205EE72 - 2; case 1 + .short _0205EE8C - _0205EE72 - 2; case 2 + .short _0205EE94 - _0205EE72 - 2; case 3 + .short _0205EE9C - _0205EE72 - 2; case 4 +_0205EE7C: ldr r1, _0205EEA4 ; =0x00000968 bl FUN_0205EC94 pop {r3, pc} _0205EE84: - .byte 0x08, 0x49, 0xFF, 0xF7, 0x05, 0xFF, 0x08, 0xBD, 0x07, 0x49, 0xFF, 0xF7 - .byte 0x01, 0xFF, 0x08, 0xBD, 0x06, 0x49, 0xFF, 0xF7, 0xFD, 0xFE, 0x08, 0xBD, 0x05, 0x49, 0xFF, 0xF7 - .byte 0xF9, 0xFE + ldr r1, _0205EEA8 ; =0x00000969 + bl FUN_0205EC94 + pop {r3, pc} +_0205EE8C: + ldr r1, _0205EEAC ; =0x0000096A + bl FUN_0205EC94 + pop {r3, pc} +_0205EE94: + ldr r1, _0205EEB0 ; =0x0000096B + bl FUN_0205EC94 + pop {r3, pc} +_0205EE9C: + ldr r1, _0205EEB4 ; =0x0000096C + bl FUN_0205EC94 _0205EEA2: pop {r3, pc} .balign 4 _0205EEA4: .word 0x00000968 -_0205EEA8: - .byte 0x69, 0x09, 0x00, 0x00, 0x6A, 0x09, 0x00, 0x00 - .byte 0x6B, 0x09, 0x00, 0x00, 0x6C, 0x09, 0x00, 0x00 +_0205EEA8: .word 0x00000969 +_0205EEAC: .word 0x0000096A +_0205EEB0: .word 0x0000096B +_0205EEB4: .word 0x0000096C thumb_func_start FUN_0205EEB8 FUN_0205EEB8: ; 0x0205EEB8 @@ -178633,27 +200190,46 @@ FUN_0205EEB8: ; 0x0205EEB8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r7, #0 - lsl r2, r1, #0 - lsl r4, r2, #0 - lsl r0, r4, #0 - lsl r2, r5, #0 - lsl r4, r6, #0 +_0205EECC: ; jump table (using 16-bit offset) + .short _0205EF0A - _0205EECC - 2; case 0 + .short _0205EED8 - _0205EECC - 2; case 1 + .short _0205EEE2 - _0205EECC - 2; case 2 + .short _0205EEEE - _0205EECC - 2; case 3 + .short _0205EEF8 - _0205EECC - 2; case 4 + .short _0205EF02 - _0205EECC - 2; case 5 +_0205EED8: ldr r1, _0205EF10 ; =0x0000097F bl FUN_0205EC94 add r2, r0, #0x0 b _0205EF0A _0205EEE2: - .byte 0x26, 0x21, 0x89, 0x01, 0xFF, 0xF7, 0xD5, 0xFE, 0x02, 0x1C, 0x0D, 0xE0, 0x09, 0x49 - .byte 0xFF, 0xF7, 0xD0, 0xFE, 0x02, 0x1C, 0x08, 0xE0, 0x07, 0x49, 0xFF, 0xF7, 0xCB, 0xFE, 0x02, 0x1C - .byte 0x03, 0xE0, 0x06, 0x49, 0xFF, 0xF7, 0xC6, 0xFE, 0x02, 0x1C + mov r1, #0x26 + lsl r1, r1, #0x6 + bl FUN_0205EC94 + add r2, r0, #0x0 + b _0205EF0A +_0205EEEE: + ldr r1, _0205EF14 ; =0x00000981 + bl FUN_0205EC94 + add r2, r0, #0x0 + b _0205EF0A +_0205EEF8: + ldr r1, _0205EF18 ; =0x00000982 + bl FUN_0205EC94 + add r2, r0, #0x0 + b _0205EF0A +_0205EF02: + ldr r1, _0205EF1C ; =0x00000983 + bl FUN_0205EC94 + add r2, r0, #0x0 _0205EF0A: add r0, r2, #0x0 pop {r3, pc} nop _0205EF10: .word 0x0000097F -_0205EF14: - .byte 0x81, 0x09, 0x00, 0x00, 0x82, 0x09, 0x00, 0x00, 0x83, 0x09, 0x00, 0x00 +_0205EF14: .word 0x00000981 +_0205EF18: .word 0x00000982 +_0205EF1C: .word 0x00000983 thumb_func_start FUN_0205EF20 FUN_0205EF20: ; 0x0205EF20 @@ -178683,10 +200259,11 @@ _0205EF3A: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r3, #0x4 - lsl r0, r3, #0x4 - lsl r0, r3, #0x4 - lsl r0, r3, #0x4 +_0205EF50: ; jump table (using 16-bit offset) + .short _0205F06A - _0205EF50 - 2; case 0 + .short _0205F06A - _0205EF50 - 2; case 1 + .short _0205F06A - _0205EF50 - 2; case 2 + .short _0205F06A - _0205EF50 - 2; case 3 _0205EF58: cmp r4, #0xb9 bne _0205EF5E @@ -178740,17 +200317,18 @@ _0205EF9E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r0, #0x2 - lsl r2, r0, #0x2 - lsl r2, r0, #0x2 - lsl r4, r5, #0x4 - lsl r0, r1, #0x1 - lsl r4, r5, #0x4 - lsl r4, r5, #0 - lsl r4, r5, #0x4 - lsl r2, r7, #0 - lsl r4, r5, #0x4 - lsl r6, r2, #0x1 +_0205EFB2: ; jump table (using 16-bit offset) + .short _0205F036 - _0205EFB2 - 2; case 0 + .short _0205F036 - _0205EFB2 - 2; case 1 + .short _0205F036 - _0205EFB2 - 2; case 2 + .short _0205F0E0 - _0205EFB2 - 2; case 3 + .short _0205EFFC - _0205EFB2 - 2; case 4 + .short _0205F0E0 - _0205EFB2 - 2; case 5 + .short _0205EFE0 - _0205EFB2 - 2; case 6 + .short _0205F0E0 - _0205EFB2 - 2; case 7 + .short _0205EFEE - _0205EFB2 - 2; case 8 + .short _0205F0E0 - _0205EFB2 - 2; case 9 + .short _0205F00A - _0205EFB2 - 2; case 10 _0205EFC8: ldr r0, _0205F0E8 ; =0x000001EE cmp r4, r0 @@ -178767,10 +200345,33 @@ _0205EFD8: beq _0205F036 b _0205F0E0 _0205EFE0: - .byte 0x42, 0x49, 0xFF, 0xF7, 0x57, 0xFE, 0x01, 0x28, 0x7A, 0xD1, 0x41, 0x4D, 0x78, 0xE0, 0x3F, 0x49 - .byte 0xFF, 0xF7, 0x50, 0xFE, 0x01, 0x28, 0x73, 0xD1, 0x3E, 0x4D, 0x71, 0xE0, 0x3E, 0x49, 0xFF, 0xF7 - .byte 0x49, 0xFE, 0x01, 0x28, 0x6C, 0xD1, 0x3A, 0x4D, 0x6A, 0xE0, 0x3C, 0x49, 0xFF, 0xF7, 0x42, 0xFE - .byte 0x01, 0x28, 0x65, 0xD1, 0x36, 0x4D, 0x63, 0xE0 + ldr r1, _0205F0EC ; =0x00000984 + bl FUN_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F0F0 ; =0x0000042E + b _0205F0E0 +_0205EFEE: + ldr r1, _0205F0EC ; =0x00000984 + bl FUN_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F0F4 ; =0x00000429 + b _0205F0E0 +_0205EFFC: + ldr r1, _0205F0F8 ; =0x0000098E + bl FUN_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F0F0 ; =0x0000042E + b _0205F0E0 +_0205F00A: + ldr r1, _0205F0FC ; =0x0000098F + bl FUN_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + ldr r5, _0205F0F0 ; =0x0000042E + b _0205F0E0 _0205F018: ldr r1, _0205F100 ; =0x00000995 bl FUN_0205EC94 @@ -178813,9 +200414,18 @@ _0205F054: ldr r5, _0205F120 ; =0x0000042B b _0205F0E0 _0205F06A: - .byte 0x2E, 0x49, 0xFF, 0xF7, 0x12, 0xFE - .byte 0x01, 0x28, 0x35, 0xD1, 0xB3, 0xF7, 0x82, 0xFB, 0x00, 0x28, 0x01, 0xD1, 0x2A, 0x4D, 0x2F, 0xE0 - .byte 0x2A, 0x4D, 0x2D, 0xE0 + ldr r1, _0205F124 ; =0x00000987 + bl FUN_0205EC94 + cmp r0, #0x1 + bne _0205F0E0 + bl FUN_0201277C + cmp r0, #0x0 + bne _0205F080 + ldr r5, _0205F128 ; =0x000003F5 + b _0205F0E0 +_0205F080: + ldr r5, _0205F12C ; =0x00000412 + b _0205F0E0 _0205F084: ldr r1, _0205F130 ; =0x00000988 bl FUN_0205EC94 @@ -178868,9 +200478,11 @@ _0205F0E0: .balign 4 _0205F0E4: .word 0x00000132 _0205F0E8: .word 0x000001EE -_0205F0EC: - .byte 0x84, 0x09, 0x00, 0x00 - .byte 0x2E, 0x04, 0x00, 0x00, 0x29, 0x04, 0x00, 0x00, 0x8E, 0x09, 0x00, 0x00, 0x8F, 0x09, 0x00, 0x00 +_0205F0EC: .word 0x00000984 +_0205F0F0: .word 0x0000042E +_0205F0F4: .word 0x00000429 +_0205F0F8: .word 0x0000098E +_0205F0FC: .word 0x0000098F _0205F100: .word 0x00000995 _0205F104: .word 0x0000042D _0205F108: .word 0x00000993 @@ -178880,8 +200492,9 @@ _0205F114: .word 0x00000415 _0205F118: .word 0x00000131 _0205F11C: .word 0x00000986 _0205F120: .word 0x0000042B -_0205F124: - .byte 0x87, 0x09, 0x00, 0x00, 0xF5, 0x03, 0x00, 0x00, 0x12, 0x04, 0x00, 0x00 +_0205F124: .word 0x00000987 +_0205F128: .word 0x000003F5 +_0205F12C: .word 0x00000412 _0205F130: .word 0x00000988 _0205F134: .word 0x000003FF _0205F138: .word 0x0000041C @@ -180338,20 +201951,38 @@ FUN_0205FBE8: ; 0x0205FBE8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r4, r2, #0 - lsl r6, r3, #0 - lsl r2, r5, #0 - lsl r4, r6, #0 +_0205FC0C: ; jump table (using 16-bit offset) + .short _0205FC16 - _0205FC0C - 2; case 0 + .short _0205FC22 - _0205FC0C - 2; case 1 + .short _0205FC2C - _0205FC0C - 2; case 2 + .short _0205FC38 - _0205FC0C - 2; case 3 + .short _0205FC42 - _0205FC0C - 2; case 4 +_0205FC16: add r1, r5, #0x0 mov r2, #0xb bl FUN_0205FA2C str r0, [r4, #0x4] b _0205FC4A _0205FC22: - .byte 0x29, 0x1C, 0xFF, 0xF7, 0x58, 0xFF, 0x60, 0x60, 0x0E, 0xE0, 0x29, 0x1C, 0x0B, 0x22 - .byte 0xFF, 0xF7, 0x80, 0xFF, 0x60, 0x60, 0x08, 0xE0, 0x29, 0x1C, 0xFF, 0xF7, 0xC1, 0xFF, 0x60, 0x60 - .byte 0x03, 0xE0, 0xB6, 0xF7, 0xE9, 0xFE, 0x01, 0x20, 0x38, 0xBD + add r1, r5, #0x0 + bl FUN_0205FAD8 + str r0, [r4, #0x4] + b _0205FC4A +_0205FC2C: + add r1, r5, #0x0 + mov r2, #0xb + bl FUN_0205FB34 + str r0, [r4, #0x4] + b _0205FC4A +_0205FC38: + add r1, r5, #0x0 + bl FUN_0205FBC0 + str r0, [r4, #0x4] + b _0205FC4A +_0205FC42: + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} _0205FC4A: mov r0, #0x0 pop {r3-r5, pc} @@ -181052,15 +202683,17 @@ _020601B0: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r2, #0 - lsl r4, r6, #0 - lsl r0, r0, #0x1 - lsl r0, r5, #0x1 - lsl r4, r6, #0x1 - lsl r4, r4, #0x3 - lsl r2, r6, #0x4 - lsl r6, r7, #0x4 - lsl r4, r2, #0x5 +_020601BC: ; jump table (using 16-bit offset) + .short _020601CE - _020601BC - 2; case 0 + .short _020601F2 - _020601BC - 2; case 1 + .short _020601FE - _020601BC - 2; case 2 + .short _02060226 - _020601BC - 2; case 3 + .short _02060232 - _020601BC - 2; case 4 + .short _020602A2 - _020601BC - 2; case 5 + .short _020602F0 - _020601BC - 2; case 6 + .short _020602FC - _020601BC - 2; case 7 + .short _02060312 - _020601BC - 2; case 8 +_020601CE: add r0, r6, #0x0 mov r1, #0x1 bl FUN_0206367C @@ -181076,34 +202709,159 @@ _020601B0: strb r0, [r4, #0xc] b _02060332 _020601F2: - .byte 0x28, 0x1C, 0xEA, 0xF7, 0xA2, 0xFE, 0x02, 0x20, 0x20, 0x73, 0x99, 0xE0, 0xF0, 0x68 - .byte 0xE6, 0xF7, 0x54, 0xF8, 0x61, 0x7B, 0x00, 0x29, 0x02, 0xD1, 0xFE, 0xF7, 0xDB, 0xFF, 0x03, 0xE0 - .byte 0x05, 0x29, 0x01, 0xD1, 0xFE, 0xF7, 0xDE, 0xFF, 0xA1, 0x68, 0x28, 0x1C, 0xE8, 0xF7, 0xA0, 0xFF - .byte 0x03, 0x20, 0x20, 0x73, 0x85, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xAC, 0xFE, 0x04, 0x20, 0x20, 0x73 - .byte 0x7F, 0xE0, 0xB0, 0x6B, 0xF5, 0xF7, 0xB4, 0xF8, 0x61, 0x7B, 0x07, 0x1C, 0x49, 0x1C, 0x61, 0x73 - .byte 0x61, 0x7B, 0x05, 0x29, 0x24, 0xD8, 0x30, 0x1C, 0xE4, 0xF1, 0x1E, 0xFF, 0x06, 0x1C, 0x38, 0x1C - .byte 0x01, 0x21, 0xF8, 0xF7, 0x23, 0xFB, 0x20, 0x68, 0x31, 0x1C, 0xE4, 0xF1, 0xB3, 0xFD, 0x20, 0x68 - .byte 0xE4, 0xF1, 0x4A, 0xFE, 0x00, 0x20, 0xA0, 0x73, 0x33, 0x48, 0xA5, 0xF7, 0x2D, 0xF9, 0x00, 0x20 - .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x2F, 0x4B - .byte 0x28, 0x1C, 0x03, 0x21, 0x11, 0x22, 0xEB, 0xF7, 0x95, 0xFF, 0x05, 0x20, 0x20, 0x73, 0x50, 0xE0 - .byte 0x00, 0x21, 0xF8, 0xF7, 0x03, 0xFB, 0x28, 0x1C, 0xEA, 0xF7, 0xB8, 0xFE, 0x08, 0x20, 0x20, 0x73 - .byte 0x47, 0xE0, 0xA0, 0x7B, 0x40, 0x1C, 0xA0, 0x73, 0xA0, 0x7B, 0x3C, 0x28, 0x04, 0xD2, 0x24, 0x48 - .byte 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42, 0x3C, 0xD0, 0x60, 0x7B, 0x61, 0x68, 0xE4, 0xF1, 0x6C, 0xFF - .byte 0x60, 0x68, 0xE4, 0xF1, 0x95, 0xFF, 0xA0, 0x60, 0x1B, 0x48, 0xA5, 0xF7, 0xFD, 0xF8, 0x00, 0x20 - .byte 0x00, 0x90, 0x06, 0x20, 0x01, 0x90, 0x01, 0x20, 0x02, 0x90, 0x0B, 0x20, 0x03, 0x90, 0x17, 0x4B - .byte 0x28, 0x1C, 0x03, 0x21, 0x10, 0x22, 0xEB, 0xF7, 0x65, 0xFF, 0x06, 0x20, 0x20, 0x73, 0x20, 0xE0 - .byte 0x20, 0x68, 0xE4, 0xF1, 0x11, 0xFE, 0x07, 0x20, 0x20, 0x73, 0x1A, 0xE0, 0x20, 0x68, 0xE4, 0xF1 - .byte 0x11, 0xFE, 0x00, 0x28, 0x15, 0xD0, 0x20, 0x68, 0xE4, 0xF1, 0x10, 0xFE, 0x01, 0x20, 0x20, 0x73 - .byte 0x0F, 0xE0, 0x30, 0x1C, 0x00, 0x21, 0x03, 0xF0, 0xB1, 0xF9, 0x60, 0x68, 0xE4, 0xF1, 0x38, 0xFF - .byte 0x20, 0x68, 0xE4, 0xF1, 0x4B, 0xFD, 0x20, 0x1C, 0xB6, 0xF7, 0x76, 0xFB, 0x04, 0xB0, 0x01, 0x20 - .byte 0xF8, 0xBD + add r0, r5, #0x0 + bl FUN_0204AF3C + mov r0, #0x2 + strb r0, [r4, #0xc] + b _02060332 +_020601FE: + ldr r0, [r6, #0xc] + bl FUN_020462AC + ldrb r1, [r4, #0xd] + cmp r1, #0x0 + bne _02060210 + bl FUN_0205F1C4 + b _02060218 +_02060210: + cmp r1, #0x5 + bne _02060218 + bl FUN_0205F1D4 +_02060218: + ldr r1, [r4, #0x8] + add r0, r5, #0x0 + bl FUN_02049160 + mov r0, #0x3 + strb r0, [r4, #0xc] + b _02060332 +_02060226: + add r0, r5, #0x0 + bl FUN_0204AF84 + mov r0, #0x4 + strb r0, [r4, #0xc] + b _02060332 +_02060232: + ldr r0, [r6, #0x38] + bl FUN_020553A0 + ldrb r1, [r4, #0xd] + add r7, r0, #0x0 + add r1, r1, #0x1 + strb r1, [r4, #0xd] + ldrb r1, [r4, #0xd] + cmp r1, #0x5 + bhi _02060290 + add r0, r6, #0x0 + bl FUN_02245088 + add r6, r0, #0x0 + add r0, r7, #0x0 + mov r1, #0x1 + bl FUN_0205889C + ldr r0, [r4, #0x0] + add r1, r6, #0x0 + bl FUN_02244DC4 + ldr r0, [r4, #0x0] + bl FUN_02244EF8 + mov r0, #0x0 + strb r0, [r4, #0xe] + ldr r0, _02060338 ; =0x00000679 + bl FUN_020054C8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r3, _0206033C ; =0x0000FFFF + add r0, r5, #0x0 + mov r1, #0x3 + mov r2, #0x11 + bl FUN_0204C1B4 + mov r0, #0x5 + strb r0, [r4, #0xc] + b _02060332 +_02060290: + mov r1, #0x0 + bl FUN_0205889C + add r0, r5, #0x0 + bl FUN_0204B00C + mov r0, #0x8 + strb r0, [r4, #0xc] + b _02060332 +_020602A2: + ldrb r0, [r4, #0xe] + add r0, r0, #0x1 + strb r0, [r4, #0xe] + ldrb r0, [r4, #0xe] + cmp r0, #0x3c + bhs _020602B8 + ldr r0, _02060340 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _02060332 +_020602B8: + ldrb r0, [r4, #0xd] + ldr r1, [r4, #0x4] + bl FUN_02245198 + ldr r0, [r4, #0x4] + bl FUN_022451F0 + str r0, [r4, #0x8] + ldr r0, _02060338 ; =0x00000679 + bl FUN_020054C8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x6 + str r0, [sp, #0x4] + mov r0, #0x1 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + ldr r3, _0206033C ; =0x0000FFFF + add r0, r5, #0x0 + mov r1, #0x3 + mov r2, #0x10 + bl FUN_0204C1B4 + mov r0, #0x6 + strb r0, [r4, #0xc] + b _02060332 +_020602F0: + ldr r0, [r4, #0x0] + bl FUN_02244F18 + mov r0, #0x7 + strb r0, [r4, #0xc] + b _02060332 +_020602FC: + ldr r0, [r4, #0x0] + bl FUN_02244F24 + cmp r0, #0x0 + beq _02060332 + ldr r0, [r4, #0x0] + bl FUN_02244F2C + mov r0, #0x1 + strb r0, [r4, #0xc] + b _02060332 +_02060312: + add r0, r6, #0x0 + mov r1, #0x0 + bl FUN_0206367C + ldr r0, [r4, #0x4] + bl FUN_02245190 + ldr r0, [r4, #0x0] + bl FUN_02244DBC + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x10 + mov r0, #0x1 + pop {r3-r7, pc} _02060332: mov r0, #0x0 add sp, #0x10 pop {r3-r7, pc} -_02060338: - .byte 0x79, 0x06, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 - .byte 0xB8, 0x48, 0x1C, 0x02 + .balign 4 +_02060338: .word 0x00000679 +_0206033C: .word 0x0000FFFF +_02060340: .word 0x021C48B8 thumb_func_start FUN_02060344 FUN_02060344: ; 0x02060344 @@ -181575,13 +203333,15 @@ FUN_020606D0: ; 0x020606D0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r4, r6, #0 - lsl r2, r0, #0x1 - lsl r0, r2, #0x1 - lsl r6, r3, #0x1 - lsl r4, r5, #0x1 - lsl r2, r7, #0x1 +_020606F6: ; jump table (using 16-bit offset) + .short _02060704 - _020606F6 - 2; case 0 + .short _0206072C - _020606F6 - 2; case 1 + .short _0206073A - _020606F6 - 2; case 2 + .short _02060748 - _020606F6 - 2; case 3 + .short _02060756 - _020606F6 - 2; case 4 + .short _02060764 - _020606F6 - 2; case 5 + .short _02060772 - _020606F6 - 2; case 6 +_02060704: ldr r0, [r4, #0x24] add r3, r4, #0x0 str r0, [sp, #0x0] @@ -181601,13 +203361,50 @@ FUN_020606D0: ; 0x020606D0 str r0, [r4, #0x4] b _0206078A _0206072C: - .byte 0x28, 0x1C, 0xEA, 0xF7 - .byte 0x4B, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0xFE, 0xFB - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x20, 0xE0, 0x28, 0x1C, 0xFF, 0xF7, 0xB1, 0xFF, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x14, 0xFC, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x12, 0xE0, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xFC, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 - .byte 0x0B, 0xE0, 0x60, 0x6A, 0xB6, 0xF7, 0x50, 0xF9, 0xA0, 0x6A, 0xB6, 0xF7, 0x4D, 0xF9, 0x20, 0x1C - .byte 0xB6, 0xF7, 0x4A, 0xF9, 0x02, 0xB0, 0x01, 0x20, 0x70, 0xBD + add r0, r5, #0x0 + bl FUN_0204AFC8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_0206073A: + add r0, r5, #0x0 + bl FUN_0204AF3C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_02060748: + add r0, r5, #0x0 + bl FUN_020606B0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_02060756: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_02060764: + add r0, r5, #0x0 + bl FUN_0204B00C + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206078A +_02060772: + ldr r0, [r4, #0x24] + bl FUN_02016A18 + ldr r0, [r4, #0x28] + bl FUN_02016A18 + add r0, r4, #0x0 + bl FUN_02016A18 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} _0206078A: mov r0, #0x0 add sp, #0x8 @@ -181888,14 +203685,16 @@ FUN_020609A0: ; 0x020609A0 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r1, #0 - lsl r4, r4, #0 - lsl r6, r0, #0x2 - lsl r4, r5, #0x2 - lsl r4, r5, #0x3 - lsl r6, r7, #0x3 - lsl r2, r3, #0x4 - lsl r6, r5, #0x4 +_020609C6: ; jump table (using 16-bit offset) + .short _020609D6 - _020609C6 - 2; case 0 + .short _020609EC - _020609C6 - 2; case 1 + .short _02060A4E - _020609C6 - 2; case 2 + .short _02060A74 - _020609C6 - 2; case 3 + .short _02060AB4 - _020609C6 - 2; case 4 + .short _02060AC6 - _020609C6 - 2; case 5 + .short _02060AE2 - _020609C6 - 2; case 6 + .short _02060AF6 - _020609C6 - 2; case 7 +_020609D6: bl FUN_02060C80 add r0, r4, #0x0 bl FUN_02060B0C @@ -181908,31 +203707,140 @@ _020609E6: strb r0, [r4, #0x0] b _02060B00 _020609EC: - .byte 0x00, 0xF0, 0x48, 0xF9 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x06, 0x1C, 0xA0, 0x78, 0x00, 0x28, 0x16, 0xD1, 0x20, 0x1C - .byte 0x21, 0x1C, 0x10, 0x30, 0x14, 0x31, 0xA2, 0x1C, 0x00, 0xF0, 0xDE, 0xF8, 0x00, 0x28, 0x77, 0xD0 - .byte 0x28, 0x6D, 0x01, 0x21, 0x00, 0x22, 0x79, 0xF1, 0x69, 0xFD, 0x28, 0x6D, 0x02, 0x21, 0x00, 0x22 - .byte 0x79, 0xF1, 0x64, 0xFD, 0x38, 0x48, 0xA4, 0xF7, 0x4F, 0xFD, 0x69, 0xE0, 0x28, 0x6D, 0x01, 0x21 - .byte 0x79, 0xF1, 0xAC, 0xFD, 0x00, 0x28, 0x63, 0xD0, 0x28, 0x6D, 0x02, 0x21, 0x79, 0xF1, 0xA6, 0xFD - .byte 0x00, 0x28, 0x5D, 0xD0, 0x00, 0x2E, 0x5B, 0xD0, 0x02, 0x20, 0x20, 0x70, 0x58, 0xE0, 0x06, 0x20 - .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x0B, 0x20, 0x02, 0x90, 0x00, 0x20, 0x01, 0x1C, 0x02, 0x1C - .byte 0x03, 0x1C, 0xAD, 0xF7, 0xB5, 0xFB, 0x00, 0x20, 0x06, 0x21, 0xA4, 0xF7, 0xAF, 0xFC, 0x03, 0x20 - .byte 0x20, 0x70, 0x45, 0xE0, 0xAD, 0xF7, 0x48, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA4, 0xF7, 0xC2, 0xFC - .byte 0x00, 0x28, 0x02, 0xD0, 0x03, 0xB0, 0x00, 0x20, 0x78, 0xBD, 0x00, 0x20, 0x21, 0x69, 0xC0, 0x43 - .byte 0x81, 0x42, 0x09, 0xD0, 0xE8, 0x6C, 0x29, 0x6D, 0x01, 0x22, 0x79, 0xF1, 0x57, 0xFD, 0xE8, 0x6C - .byte 0x29, 0x6D, 0x02, 0x22, 0x79, 0xF1, 0x52, 0xFD, 0x30, 0x1C, 0xEA, 0xF7, 0x47, 0xFA, 0x04, 0x20 - .byte 0x20, 0x70, 0x25, 0xE0, 0x61, 0x78, 0x22, 0x1C, 0x28, 0x1C, 0x34, 0x32, 0xFF, 0xF7, 0x32, 0xFF - .byte 0x05, 0x20, 0x20, 0x70, 0x1C, 0xE0, 0x20, 0x6A, 0x00, 0x22, 0x00, 0x90, 0x20, 0x79, 0xD2, 0x43 - .byte 0x01, 0x90, 0xA1, 0x69, 0xE3, 0x69, 0x30, 0x1C, 0xE8, 0xF7, 0x66, 0xFB, 0x06, 0x20, 0x20, 0x70 - .byte 0x0E, 0xE0, 0xA1, 0x69, 0x28, 0x1C, 0xEA, 0xF7, 0x51, 0xF9, 0x30, 0x1C, 0xEA, 0xF7, 0xFC, 0xFA - .byte 0x07, 0x20, 0x20, 0x70, 0x04, 0xE0, 0xB5, 0xF7, 0x8F, 0xFF, 0x03, 0xB0, 0x01, 0x20, 0x78, 0xBD + bl FUN_02060C80 + add r0, r4, #0x0 + bl FUN_02060B0C + add r6, r0, #0x0 + ldrb r0, [r4, #0x2] + cmp r0, #0x0 + bne _02060A2C + add r0, r4, #0x0 + add r1, r4, #0x0 + add r0, #0x10 + add r1, #0x14 + add r2, r4, #0x2 + bl FUN_02060BC8 + cmp r0, #0x0 + beq _02060B00 + ldr r0, [r5, #0x50] + mov r1, #0x1 + mov r2, #0x0 + bl FUN_021DA4EC + ldr r0, [r5, #0x50] + mov r1, #0x2 + mov r2, #0x0 + bl FUN_021DA4EC + ldr r0, _02060B08 ; =0x000006DE + bl FUN_020054C8 + b _02060B00 +_02060A2C: + ldr r0, [r5, #0x50] + mov r1, #0x1 + bl FUN_021DA58C + cmp r0, #0x0 + beq _02060B00 + ldr r0, [r5, #0x50] + mov r1, #0x2 + bl FUN_021DA58C + cmp r0, #0x0 + beq _02060B00 + cmp r6, #0x0 + beq _02060B00 + mov r0, #0x2 + strb r0, [r4, #0x0] + b _02060B00 +_02060A4E: + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0xb + str r0, [sp, #0x8] + mov r0, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x0 + mov r1, #0x6 + bl FUN_020053CC + mov r0, #0x3 + strb r0, [r4, #0x0] + b _02060B00 +_02060A74: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02060A84 + bl FUN_02005404 + cmp r0, #0x0 + beq _02060A8A +_02060A84: + add sp, #0xc + mov r0, #0x0 + pop {r3-r6, pc} +_02060A8A: + mov r0, #0x0 + ldr r1, [r4, #0x10] + mvn r0, r0 + cmp r1, r0 + beq _02060AA8 + ldr r0, [r5, #0x4c] + ldr r1, [r5, #0x50] + mov r2, #0x1 + bl FUN_021DA54C + ldr r0, [r5, #0x4c] + ldr r1, [r5, #0x50] + mov r2, #0x2 + bl FUN_021DA54C +_02060AA8: + add r0, r6, #0x0 + bl FUN_0204AF3C + mov r0, #0x4 + strb r0, [r4, #0x0] + b _02060B00 +_02060AB4: + ldrb r1, [r4, #0x1] + add r2, r4, #0x0 + add r0, r5, #0x0 + add r2, #0x34 + bl FUN_02060924 + mov r0, #0x5 + strb r0, [r4, #0x0] + b _02060B00 +_02060AC6: + ldr r0, [r4, #0x20] + mov r2, #0x0 + str r0, [sp, #0x0] + ldrb r0, [r4, #0x4] + mvn r2, r2 + str r0, [sp, #0x4] + ldr r1, [r4, #0x18] + ldr r3, [r4, #0x1c] + add r0, r6, #0x0 + bl FUN_020491A8 + mov r0, #0x6 + strb r0, [r4, #0x0] + b _02060B00 +_02060AE2: + ldr r1, [r4, #0x18] + add r0, r5, #0x0 + bl FUN_0204AD8C + add r0, r6, #0x0 + bl FUN_0204B0E8 + mov r0, #0x7 + strb r0, [r4, #0x0] + b _02060B00 +_02060AF6: + bl FUN_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r3-r6, pc} _02060B00: mov r0, #0x0 add sp, #0xc pop {r3-r6, pc} nop -_02060B08: - .byte 0xDE, 0x06, 0x00, 0x00 +_02060B08: .word 0x000006DE thumb_func_start FUN_02060B0C FUN_02060B0C: ; 0x02060B0C @@ -181951,10 +203859,12 @@ FUN_02060B0C: ; 0x02060B0C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r7, #0 - lsl r2, r5, #0 - lsl r0, r3, #0 +_02060B2C: ; jump table (using 16-bit offset) + .short _02060B34 - _02060B2C - 2; case 0 + .short _02060B6A - _02060B2C - 2; case 1 + .short _02060B58 - _02060B2C - 2; case 2 + .short _02060B46 - _02060B2C - 2; case 3 +_02060B34: ldr r1, [sp, #0x8] ldr r0, [r4, #0x7c] add r0, r1, r0 @@ -181965,10 +203875,35 @@ FUN_02060B0C: ; 0x02060B0C str r0, [r4, #0x2c] b _02060B86 _02060B46: - .byte 0x02, 0x99, 0xE0, 0x6F, 0x08, 0x1A, 0x02, 0x90, 0xE1, 0x6A - .byte 0xE0, 0x6F, 0x08, 0x1A, 0xE0, 0x62, 0x16, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x18, 0x00, 0x90 - .byte 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x18, 0x60, 0x62, 0x0D, 0xE0, 0x00, 0x99, 0xE0, 0x6F, 0x08, 0x1A - .byte 0x00, 0x90, 0x61, 0x6A, 0xE0, 0x6F, 0x08, 0x1A, 0x60, 0x62, 0x04, 0xE0 + ldr r1, [sp, #0x8] + ldr r0, [r4, #0x7c] + sub r0, r1, r0 + str r0, [sp, #0x8] + ldr r1, [r4, #0x2c] + ldr r0, [r4, #0x7c] + sub r0, r1, r0 + str r0, [r4, #0x2c] + b _02060B86 +_02060B58: + ldr r1, [sp, #0x0] + ldr r0, [r4, #0x7c] + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r1, [r4, #0x24] + ldr r0, [r4, #0x7c] + add r0, r1, r0 + str r0, [r4, #0x24] + b _02060B86 +_02060B6A: + ldr r1, [sp, #0x0] + ldr r0, [r4, #0x7c] + sub r0, r1, r0 + str r0, [sp, #0x0] + ldr r1, [r4, #0x24] + ldr r0, [r4, #0x7c] + sub r0, r1, r0 + str r0, [r4, #0x24] + b _02060B86 _02060B7C: bl FUN_02020C2C add sp, #0xc @@ -182680,13 +204615,15 @@ _020610B0: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r5, #0 - lsl r4, r3, #0 - lsl r6, r5, #0 - lsl r6, r5, #0 - lsl r4, r1, #0 - lsl r4, r3, #0 - lsl r4, r3, #0 +_020610C0: ; jump table (using 16-bit offset) + .short _020610F0 - _020610C0 - 2; case 0 + .short _020610DE - _020610C0 - 2; case 1 + .short _020610F0 - _020610C0 - 2; case 2 + .short _020610F0 - _020610C0 - 2; case 3 + .short _020610CE - _020610C0 - 2; case 4 + .short _020610DE - _020610C0 - 2; case 5 + .short _020610DE - _020610C0 - 2; case 6 +_020610CE: add r0, r6, #0x0 mov r1, #0x2 mov r2, #0x1 @@ -182695,8 +204632,14 @@ _020610B0: add sp, #0x28 pop {r3-r7, pc} _020610DE: - .byte 0xB8, 0x88 - .byte 0x02, 0x28, 0x05, 0xD9, 0x02, 0x21, 0x30, 0x1C, 0x0A, 0x1C, 0x3B, 0x1C, 0xFF, 0xF7, 0x42, 0xFE + ldrh r0, [r7, #0x4] + cmp r0, #0x2 + bls _020610F0 + mov r1, #0x2 + add r0, r6, #0x0 + add r2, r1, #0x0 + add r3, r7, #0x0 + bl FUN_02060D74 _020610F0: add sp, #0x28 pop {r3-r7, pc} @@ -184566,15 +206509,23 @@ FUN_02061F60: ; 0x02061F60 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02061FA0: ; jump table (using 16-bit offset) + .short _02061FA8 - _02061FA0 - 2; case 0 + .short _02061FAC - _02061FA0 - 2; case 1 + .short _02061FB0 - _02061FA0 - 2; case 2 + .short _02061FB4 - _02061FA0 - 2; case 3 +_02061FA8: mov r0, #0x27 pop {r3-r7, pc} _02061FAC: - .byte 0x28, 0x20, 0xF8, 0xBD - .byte 0x29, 0x20, 0xF8, 0xBD, 0x2A, 0x20, 0xF8, 0xBD + mov r0, #0x28 + pop {r3-r7, pc} +_02061FB0: + mov r0, #0x29 + pop {r3-r7, pc} +_02061FB4: + mov r0, #0x2a + pop {r3-r7, pc} _02061FB8: mov r0, #0x26 pop {r3-r7, pc} @@ -184838,18 +206789,20 @@ _0206218C: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0 - lsl r6, r1, #0x1 - lsl r2, r2, #0x1 - lsl r6, r2, #0x1 - lsl r6, r4, #0x1 - lsl r2, r3, #0x1 - lsl r6, r3, #0x1 - lsl r2, r4, #0x1 - lsl r6, r5, #0x1 - lsl r6, r5, #0x1 - lsl r6, r5, #0x1 - lsl r2, r5, #0x1 +_020621BC: ; jump table (using 16-bit offset) + .short _020621D4 - _020621BC - 2; case 0 + .short _0206220C - _020621BC - 2; case 1 + .short _02062210 - _020621BC - 2; case 2 + .short _02062214 - _020621BC - 2; case 3 + .short _02062224 - _020621BC - 2; case 4 + .short _02062218 - _020621BC - 2; case 5 + .short _0206221C - _020621BC - 2; case 6 + .short _02062220 - _020621BC - 2; case 7 + .short _0206222C - _020621BC - 2; case 8 + .short _0206222C - _020621BC - 2; case 9 + .short _0206222C - _020621BC - 2; case 10 + .short _02062228 - _020621BC - 2; case 11 +_020621D4: bl FUN_0201B9EC lsl r0, r0, #0x2 lsr r4, r0, #0x10 @@ -184865,20 +206818,47 @@ _020621E4: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_020621F4: ; jump table (using 16-bit offset) + .short _020621FC - _020621F4 - 2; case 0 + .short _02062200 - _020621F4 - 2; case 1 + .short _02062204 - _020621F4 - 2; case 2 + .short _02062208 - _020621F4 - 2; case 3 +_020621FC: mov r0, #0x1 pop {r3-r7, pc} _02062200: - .byte 0x02, 0x20, 0xF8, 0xBD, 0x03, 0x20, 0xF8, 0xBD, 0x04, 0x20, 0xF8, 0xBD + mov r0, #0x2 + pop {r3-r7, pc} +_02062204: + mov r0, #0x3 + pop {r3-r7, pc} +_02062208: + mov r0, #0x4 + pop {r3-r7, pc} _0206220C: mov r0, #0x5 pop {r3-r7, pc} _02062210: - .byte 0x06, 0x20, 0xF8, 0xBD, 0x07, 0x20, 0xF8, 0xBD, 0x08, 0x20, 0xF8, 0xBD, 0x09, 0x20, 0xF8, 0xBD - .byte 0x0A, 0x20, 0xF8, 0xBD, 0x0B, 0x20, 0xF8, 0xBD, 0x0C, 0x20, 0xF8, 0xBD + mov r0, #0x6 + pop {r3-r7, pc} +_02062214: + mov r0, #0x7 + pop {r3-r7, pc} +_02062218: + mov r0, #0x8 + pop {r3-r7, pc} +_0206221C: + mov r0, #0x9 + pop {r3-r7, pc} +_02062220: + mov r0, #0xa + pop {r3-r7, pc} +_02062224: + mov r0, #0xb + pop {r3-r7, pc} +_02062228: + mov r0, #0xc + pop {r3-r7, pc} _0206222C: bl FUN_02020C2C mov r0, #0x1 @@ -185011,23 +206991,21 @@ _02062304: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r6, r1, #0 - lsl r6, r0, #0 - lsl r2, r1, #0 +_02062330: ; jump table (using 16-bit offset) + .short _02062344 - _02062330 - 2; case 0 + .short _02062340 - _02062330 - 2; case 1 + .short _02062338 - _02062330 - 2; case 2 + .short _0206233C - _02062330 - 2; case 3 +_02062338: mov r0, #0x1e pop {r4-r6, pc} _0206233C: mov r0, #0x1f pop {r4-r6, pc} - - thumb_func_start FUN_02062340 -FUN_02062340: ; 0x02062340 +_02062340: mov r0, #0x20 pop {r4-r6, pc} - - thumb_func_start FUN_02062344 -FUN_02062344: ; 0x02062344 +_02062344: mov r0, #0x21 pop {r4-r6, pc} @@ -185152,17 +207130,25 @@ FUN_020623F4: ; 0x020623F4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r3, #0 - lsl r2, r3, #0 - lsl r6, r2, #0 - lsl r2, r2, #0 - lsl r6, r1, #0 - lsl r2, r1, #0 +_0206243A: ; jump table (using 16-bit offset) + .short _02062456 - _0206243A - 2; case 0 + .short _02062456 - _0206243A - 2; case 1 + .short _02062452 - _0206243A - 2; case 2 + .short _0206244E - _0206243A - 2; case 3 + .short _0206244A - _0206243A - 2; case 4 + .short _02062446 - _0206243A - 2; case 5 +_02062446: mov r0, #0x23 pop {r4-r6, pc} _0206244A: - .byte 0x24, 0x20, 0x70, 0xBD, 0x25, 0x20 - .byte 0x70, 0xBD, 0x26, 0x20, 0x70, 0xBD + mov r0, #0x24 + pop {r4-r6, pc} +_0206244E: + mov r0, #0x25 + pop {r4-r6, pc} +_02062452: + mov r0, #0x26 + pop {r4-r6, pc} _02062456: mov r0, #0x27 pop {r4-r6, pc} @@ -185772,26 +207758,93 @@ FUN_020628E8: ; 0x020628E8 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r1, #0 - lsl r0, r1, #0x1 - lsl r0, r4, #0x1 - lsl r6, r0, #0x2 +_02062904: ; jump table (using 16-bit offset) + .short _02062912 - _02062904 - 2; case 0 + .short _0206294E - _02062904 - 2; case 1 + .short _02062966 - _02062904 - 2; case 2 + .short _0206298C - _02062904 - 2; case 3 _0206290C: cmp r1, #0xff beq _020629B2 b _020629CE _02062912: - .byte 0xE4, 0x30, 0xFF, 0x21, 0xB6, 0xF7, 0x83, 0xFE, 0x00, 0x23, 0x00, 0x93, 0x60, 0x8B - .byte 0x22, 0x1C, 0x98, 0x32, 0x01, 0x90, 0x2B, 0x48, 0x01, 0x21, 0x02, 0x90, 0x03, 0x93, 0x20, 0x1C - .byte 0x12, 0x68, 0xE4, 0x30, 0xB9, 0xF7, 0x54, 0xFA, 0xA0, 0x77, 0xA6, 0x20, 0x80, 0x00, 0x20, 0x58 - .byte 0x02, 0x21, 0xA9, 0xF7, 0x93, 0xFE, 0xE0, 0x68, 0x40, 0x1C, 0xE0, 0x60, 0x3F, 0xE0, 0xA0, 0x7F - .byte 0xB9, 0xF7, 0x0E, 0xFA, 0x00, 0x28, 0x3A, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0xAF, 0xFF, 0xE0, 0x68 - .byte 0x40, 0x1C, 0xE0, 0x60, 0x33, 0xE0, 0xC8, 0x30, 0x00, 0x68, 0x21, 0x68, 0x9F, 0xF7, 0x1E, 0xFC - .byte 0x00, 0x28, 0x04, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42, 0x04, 0xD0, 0x27, 0xE0, 0xE0, 0x68 - .byte 0x40, 0x1C, 0xE0, 0x60, 0x23, 0xE0, 0xFF, 0x20, 0xE0, 0x60, 0x20, 0xE0, 0xB1, 0x21, 0x89, 0x00 - .byte 0x61, 0x58, 0x00, 0x22, 0x8A, 0x80, 0x01, 0x21, 0x00, 0xF0, 0x84, 0xFC, 0xA6, 0x20, 0x80, 0x00 - .byte 0x20, 0x58, 0x01, 0x21, 0xA9, 0xF7, 0x62, 0xFE, 0x00, 0x20, 0xE0, 0x60, 0x04, 0xB0, 0x06, 0x20 - .byte 0x10, 0xBD + add r0, #0xe4 + mov r1, #0xff + bl FUN_02019620 + mov r3, #0x0 + str r3, [sp, #0x0] + ldrh r0, [r4, #0x1a] + add r2, r4, #0x0 + add r2, #0x98 + str r0, [sp, #0x4] + ldr r0, _020629D4 ; =0x0001020F + mov r1, #0x1 + str r0, [sp, #0x8] + str r3, [sp, #0xc] + add r0, r4, #0x0 + ldr r2, [r2, #0x0] + add r0, #0xe4 + bl FUN_0201BDE0 + strb r0, [r4, #0x1e] + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x2 + bl FUN_0200C66C + ldr r0, [r4, #0xc] + add r0, r0, #0x1 + str r0, [r4, #0xc] + b _020629CE +_0206294E: + ldrb r0, [r4, #0x1e] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _020629CE + add r0, r4, #0x0 + bl FUN_020628BC + ldr r0, [r4, #0xc] + add r0, r0, #0x1 + str r0, [r4, #0xc] + b _020629CE +_02062966: + add r0, #0xc8 + ldr r0, [r0, #0x0] + ldr r1, [r4, #0x0] + bl FUN_020021AC + cmp r0, #0x0 + beq _0206297E + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _02062986 + b _020629CE +_0206297E: + ldr r0, [r4, #0xc] + add r0, r0, #0x1 + str r0, [r4, #0xc] + b _020629CE +_02062986: + mov r0, #0xff + str r0, [r4, #0xc] + b _020629CE +_0206298C: + mov r1, #0xb1 + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + mov r2, #0x0 + strh r2, [r1, #0x4] + mov r1, #0x1 + bl FUN_020632A4 + mov r0, #0xa6 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x1 + bl FUN_0200C66C + mov r0, #0x0 + str r0, [r4, #0xc] + add sp, #0x10 + mov r0, #0x6 + pop {r4, pc} _020629B2: add r0, r4, #0x0 bl FUN_02063208 @@ -185809,8 +207862,8 @@ _020629CE: mov r0, #0x7 add sp, #0x10 pop {r4, pc} -_020629D4: - .byte 0x0F, 0x02, 0x01, 0x00 + .balign 4 +_020629D4: .word 0x0001020F thumb_func_start FUN_020629D8 FUN_020629D8: ; 0x020629D8 @@ -187227,45 +209280,132 @@ _02063540: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r3, #0 - lsl r4, r4, #0 - lsl r0, r6, #0 - lsl r6, r0, #0x1 - lsl r4, r3, #0x1 - lsl r2, r6, #0x1 - lsl r0, r1, #0x2 - lsl r6, r3, #0x2 - lsl r4, r6, #0x2 - lsl r2, r1, #0x3 - lsl r6, r3, #0x3 - lsl r0, r5, #0x3 - lsl r0, r6, #0x3 +_0206354C: ; jump table (using 16-bit offset) + .short _02063566 - _0206354C - 2; case 0 + .short _02063572 - _0206354C - 2; case 1 + .short _0206357E - _0206354C - 2; case 2 + .short _02063594 - _0206354C - 2; case 3 + .short _020635AA - _0206354C - 2; case 4 + .short _020635C0 - _0206354C - 2; case 5 + .short _020635D6 - _0206354C - 2; case 6 + .short _020635EC - _0206354C - 2; case 7 + .short _02063602 - _0206354C - 2; case 8 + .short _02063618 - _0206354C - 2; case 9 + .short _0206362C - _0206354C - 2; case 10 + .short _02063636 - _0206354C - 2; case 11 + .short _0206363E - _0206354C - 2; case 12 +_02063566: ldrh r2, [r4, #0x4] add r1, r5, #0x0 bl FUN_020625EC str r0, [r4, #0x0] b _02063646 _02063572: - .byte 0x08, 0x1C, 0xE9, 0x68, 0xFF, 0xF7, 0xD3, 0xF8, 0x20, 0x60, 0x63, 0xE0, 0x08, 0x1C - .byte 0xFF, 0xF7, 0xEE, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7 - .byte 0x2D, 0xFC, 0x58, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xEB, 0xF8, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68 - .byte 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x22, 0xFC, 0x4D, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x10, 0xF9 - .byte 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x17, 0xFC, 0x42, 0xE0 - .byte 0x08, 0x1C, 0xFF, 0xF7, 0x0B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58 - .byte 0xBC, 0xF7, 0x0C, 0xFC, 0x37, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0x16, 0xF9, 0x20, 0x60, 0x4D, 0x20 - .byte 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0x01, 0xFC, 0x2C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7 - .byte 0x7B, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00, 0x08, 0x58, 0xBC, 0xF7, 0xF6, 0xFB - .byte 0x21, 0xE0, 0x08, 0x1C, 0xFF, 0xF7, 0xE8, 0xF9, 0x20, 0x60, 0x4D, 0x20, 0xA1, 0x68, 0x80, 0x00 - .byte 0x08, 0x58, 0xBC, 0xF7, 0xEB, 0xFB, 0x16, 0xE0, 0x0C, 0x48, 0x81, 0x6C, 0x01, 0x20, 0x08, 0x42 - .byte 0x01, 0xD1, 0x00, 0x20, 0x38, 0xBD, 0x0A, 0x20, 0x20, 0x60, 0x0C, 0xE0, 0x08, 0x1C, 0xFF, 0xF7 - .byte 0x87, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0xFF, 0xF7, 0x1F, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0xB3, 0xF7 - .byte 0xEB, 0xF9, 0x01, 0x20, 0x38, 0xBD + add r0, r1, #0x0 + ldr r1, [r5, #0xc] + bl FUN_02062720 + str r0, [r4, #0x0] + b _02063646 +_0206357E: + add r0, r1, #0x0 + bl FUN_02062760 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_02063594: + add r0, r1, #0x0 + bl FUN_02062770 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_020635AA: + add r0, r1, #0x0 + bl FUN_020627D0 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_020635C0: + add r0, r1, #0x0 + bl FUN_020627DC + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_020635D6: + add r0, r1, #0x0 + bl FUN_02062808 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_020635EC: + add r0, r1, #0x0 + bl FUN_020628E8 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_02063602: + add r0, r1, #0x0 + bl FUN_020629D8 + str r0, [r4, #0x0] + mov r0, #0x4d + ldr r1, [r4, #0x8] + lsl r0, r0, #0x2 + ldr r0, [r1, r0] + bl FUN_0201FDEC + b _02063646 +_02063618: + ldr r0, _0206364C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + bne _02063626 + mov r0, #0x0 + pop {r3-r5, pc} +_02063626: + mov r0, #0xa + str r0, [r4, #0x0] + b _02063646 +_0206362C: + add r0, r1, #0x0 + bl FUN_02062740 + str r0, [r4, #0x0] + b _02063646 +_02063636: + bl FUN_02062678 + str r0, [r4, #0x0] + b _02063646 +_0206363E: + bl FUN_02016A18 + mov r0, #0x1 + pop {r3-r5, pc} _02063646: mov r0, #0x0 pop {r3-r5, pc} nop -_0206364C: - .byte 0xB8, 0x48, 0x1C, 0x02 +_0206364C: .word 0x021C48B8 thumb_func_start FUN_02063650 FUN_02063650: ; 0x02063650 @@ -189688,16 +211828,17 @@ FUN_0206486C: ; 0x0206486C lsl r5, r5, #0x10 asr r5, r5, #0x10 add pc, r5 - lsl r6, r3, #0x1 - lsl r6, r5, #0x3 - lsl r6, r6, #0x1 - lsl r6, r5, #0x3 - lsl r6, r1, #0x2 - lsl r6, r5, #0x3 - lsl r6, r4, #0x2 - lsl r6, r5, #0x3 - lsl r6, r7, #0x2 - lsl r6, r2, #0x3 +_020648B0: ; jump table (using 16-bit offset) + .short _02064910 - _020648B0 - 2; case 0 + .short _020649A0 - _020648B0 - 2; case 1 + .short _02064928 - _020648B0 - 2; case 2 + .short _020649A0 - _020648B0 - 2; case 3 + .short _02064940 - _020648B0 - 2; case 4 + .short _020649A0 - _020648B0 - 2; case 5 + .short _02064958 - _020648B0 - 2; case 6 + .short _020649A0 - _020648B0 - 2; case 7 + .short _02064970 - _020648B0 - 2; case 8 + .short _02064988 - _020648B0 - 2; case 9 _020648C4: ldr r2, _020649AC ; =0x00000125 cmp r1, r2 @@ -189748,15 +211889,95 @@ _02064908: strh r1, [r0, #0x2] pop {r3-r5, pc} _02064910: - .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x03, 0x21 - .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80 - .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x04, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD - .byte 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x05, 0x21 - .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x0F, 0x29, 0x01, 0xD1, 0x02, 0x80 - .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x06, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD - .byte 0xE1, 0x68, 0x17, 0x29, 0x01, 0xD1, 0x02, 0x80, 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x07, 0x21 - .byte 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD, 0xE1, 0x68, 0x12, 0x29, 0x01, 0xD1, 0x02, 0x80 - .byte 0x01, 0xE0, 0x03, 0x80, 0x42, 0x60, 0x08, 0x21, 0x41, 0x80, 0x01, 0x21, 0x81, 0x60, 0x38, 0xBD + ldr r1, [r4, #0xc] + cmp r1, #0xf + bne _0206491A + strh r2, [r0, #0x0] + b _0206491E +_0206491A: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_0206491E: + mov r1, #0x3 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} +_02064928: + ldr r1, [r4, #0xc] + cmp r1, #0xf + bne _02064932 + strh r2, [r0, #0x0] + b _02064936 +_02064932: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_02064936: + mov r1, #0x4 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} +_02064940: + ldr r1, [r4, #0xc] + cmp r1, #0xf + bne _0206494A + strh r2, [r0, #0x0] + b _0206494E +_0206494A: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_0206494E: + mov r1, #0x5 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} +_02064958: + ldr r1, [r4, #0xc] + cmp r1, #0xf + bne _02064962 + strh r2, [r0, #0x0] + b _02064966 +_02064962: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_02064966: + mov r1, #0x6 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} +_02064970: + ldr r1, [r4, #0xc] + cmp r1, #0x17 + bne _0206497A + strh r2, [r0, #0x0] + b _0206497E +_0206497A: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_0206497E: + mov r1, #0x7 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} +_02064988: + ldr r1, [r4, #0xc] + cmp r1, #0x12 + bne _02064992 + strh r2, [r0, #0x0] + b _02064996 +_02064992: + strh r3, [r0, #0x0] + str r2, [r0, #0x4] +_02064996: + mov r1, #0x8 + strh r1, [r0, #0x2] + mov r1, #0x1 + str r1, [r0, #0x8] + pop {r3-r5, pc} _020649A0: bl FUN_02020C2C pop {r3-r5, pc} @@ -189839,7 +212060,7 @@ _02064A3E: add r3, r1, #0x0 mul r3, r0 ldr r0, _02064A68 ; =0x020F7D70 - ldr r1, _02064A6C ; =0x02064B71 + ldr r1, _02064A6C ; =FUN_02064B70 ldr r0, [r0, r3] str r0, [r2, #0x4] ldr r0, [r5, #0x10] @@ -189854,7 +212075,7 @@ _02064A5C: .word 0x020F7D84 _02064A60: .word 0x020F7D74 _02064A64: .word FUN_02064A70 + 1 _02064A68: .word 0x020F7D70 -_02064A6C: .word 0x02064B71 +_02064A6C: .word FUN_02064B70 + 1 thumb_func_start FUN_02064A70 FUN_02064A70: ; 0x02064A70 @@ -189875,10 +212096,12 @@ FUN_02064A70: ; 0x02064A70 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r6, r2, #0x2 - lsl r2, r7, #0x2 +_02064A96: ; jump table (using 16-bit offset) + .short _02064A9E - _02064A96 - 2; case 0 + .short _02064AB4 - _02064A96 - 2; case 1 + .short _02064B2E - _02064A96 - 2; case 2 + .short _02064B52 - _02064A96 - 2; case 3 +_02064A9E: ldr r0, [r5, #0x38] mov r1, #0x0 bl FUN_02055560 @@ -189889,40 +212112,211 @@ FUN_02064A70: ; 0x02064A70 str r0, [r4, #0x0] b _02064B5C _02064AB4: - .byte 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68 - .byte 0x28, 0x49, 0x83, 0xF1, 0x09, 0xFA, 0x03, 0x90, 0x10, 0xE0, 0x27, 0x48, 0x01, 0xA9, 0x02, 0x68 - .byte 0x40, 0x68, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB - .byte 0xE5, 0xF7, 0xBC, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0xA0, 0xF8, 0x03, 0x99, 0x04, 0xA8 - .byte 0x83, 0xF1, 0xD6, 0xF9, 0xE0, 0x68, 0x00, 0x28, 0x01, 0xD1, 0x01, 0x21, 0x00, 0xE0, 0x02, 0x21 - .byte 0x05, 0x98, 0x09, 0x03, 0x41, 0x18, 0x05, 0x91, 0x60, 0x68, 0x81, 0x42, 0x06, 0xDB, 0x05, 0x90 - .byte 0xE0, 0x68, 0x00, 0xF0, 0xB7, 0xF8, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99 - .byte 0xF0, 0xF7, 0x0E, 0xFD, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1, 0xC2, 0xF9, 0x16, 0xE0, 0x2A, 0x1C - .byte 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1, 0x2C, 0xFD, 0xA8, 0x6B, 0x01, 0x21 - .byte 0xF0, 0xF7, 0x1C, 0xFD, 0x09, 0x48, 0xA0, 0xF7, 0xBF, 0xFC, 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60 - .byte 0x04, 0xE0, 0xB1, 0xF7, 0x61, 0xFF, 0x07, 0xB0, 0x01, 0x20, 0x30, 0xBD + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _02064ACA + add r0, r5, #0x0 + add r0, #0xa0 + ldr r0, [r0, #0x0] + ldr r1, _02064B64 ; =0x00000102 + bl FUN_021E7ED8 + str r0, [sp, #0xc] + b _02064AEC +_02064ACA: + ldr r0, _02064B68 ; =0x020F7D4C + add r1, sp, #0x4 + ldr r2, [r0, #0x0] + ldr r0, [r0, #0x4] + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x2 + add r3, sp, #0xc + bl FUN_0204AA5C + cmp r0, #0x0 + bne _02064AEC + bl FUN_02020C2C +_02064AEC: + ldr r1, [sp, #0xc] + add r0, sp, #0x10 + bl FUN_021E7EA0 + ldr r0, [r4, #0xc] + cmp r0, #0x0 + bne _02064AFE + mov r1, #0x1 + b _02064B00 +_02064AFE: + mov r1, #0x2 +_02064B00: + ldr r0, [sp, #0x14] + lsl r1, r1, #0xc + add r1, r0, r1 + str r1, [sp, #0x14] + ldr r0, [r4, #0x4] + cmp r1, r0 + blt _02064B1C + str r0, [sp, #0x14] + ldr r0, [r4, #0xc] + bl FUN_02064C84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] +_02064B1C: + ldr r0, [r5, #0x38] + ldr r1, [sp, #0x14] + bl FUN_02055540 + ldr r0, [sp, #0xc] + add r1, sp, #0x10 + bl FUN_021E7EB0 + b _02064B5C +_02064B2E: + add r2, r5, #0x0 + add r2, #0x9c + ldr r1, [r4, #0x4] + ldr r2, [r2, #0x0] + mov r0, #0x0 + bl FUN_021F4594 + ldr r0, [r5, #0x38] + mov r1, #0x1 + bl FUN_0205557C + ldr r0, _02064B6C ; =0x0000061A + bl FUN_020054C8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02064B5C +_02064B52: + bl FUN_02016A18 + add sp, #0x1c + mov r0, #0x1 + pop {r4-r5, pc} _02064B5C: mov r0, #0x0 add sp, #0x1c pop {r4-r5, pc} nop -_02064B64: - .byte 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02, 0x1A, 0x06, 0x00, 0x00 - .byte 0x30, 0xB5, 0x87, 0xB0, 0x04, 0x1C, 0xE1, 0xF7, 0xD7, 0xFC, 0x05, 0x1C, 0x20, 0x1C, 0xE1, 0xF7 - .byte 0xD5, 0xFC, 0x04, 0x1C, 0x21, 0x68, 0x03, 0x29, 0x63, 0xD8, 0x49, 0x18, 0x79, 0x44, 0xC9, 0x88 - .byte 0x09, 0x04, 0x09, 0x14, 0x8F, 0x44, 0x06, 0x00, 0x1C, 0x00, 0x8C, 0x00, 0xB0, 0x00, 0xA8, 0x6B - .byte 0x00, 0x21, 0xF0, 0xF7, 0xDD, 0xFC, 0xE0, 0x68, 0x00, 0xF0, 0x5C, 0xF8, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x4E, 0xE0, 0xA0, 0x68, 0x00, 0x28, 0x07, 0xD0, 0x28, 0x1C, 0xA0, 0x30, 0x00, 0x68 - .byte 0x25, 0x49, 0x83, 0xF1, 0x89, 0xF9, 0x03, 0x90, 0x10, 0xE0, 0x24, 0x48, 0x01, 0xA9, 0x02, 0x69 - .byte 0x40, 0x69, 0x01, 0x92, 0x02, 0x90, 0x00, 0x20, 0x00, 0x90, 0x28, 0x1C, 0x02, 0x22, 0x03, 0xAB - .byte 0xE5, 0xF7, 0x3C, 0xFF, 0x00, 0x28, 0x01, 0xD1, 0xBC, 0xF7, 0x20, 0xF8, 0x03, 0x99, 0x04, 0xA8 - .byte 0x83, 0xF1, 0x56, 0xF9, 0x01, 0x20, 0x05, 0x99, 0x00, 0x03, 0x09, 0x1A, 0x05, 0x91, 0x60, 0x68 - .byte 0x81, 0x42, 0x06, 0xDC, 0x05, 0x90, 0xE0, 0x68, 0x00, 0xF0, 0x3C, 0xF8, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0xA8, 0x6B, 0x05, 0x99, 0xF0, 0xF7, 0x93, 0xFC, 0x03, 0x98, 0x04, 0xA9, 0x83, 0xF1 - .byte 0x47, 0xF9, 0x16, 0xE0, 0x2A, 0x1C, 0x9C, 0x32, 0x61, 0x68, 0x12, 0x68, 0x00, 0x20, 0x8F, 0xF1 - .byte 0xB1, 0xFC, 0xA8, 0x6B, 0x01, 0x21, 0xF0, 0xF7, 0xA1, 0xFC, 0x09, 0x48, 0xA0, 0xF7, 0x44, 0xFC - .byte 0x20, 0x68, 0x40, 0x1C, 0x20, 0x60, 0x04, 0xE0, 0xB1, 0xF7, 0xE6, 0xFE, 0x07, 0xB0, 0x01, 0x20 - .byte 0x30, 0xBD, 0x00, 0x20, 0x07, 0xB0, 0x30, 0xBD, 0x02, 0x01, 0x00, 0x00, 0x4C, 0x7D, 0x0F, 0x02 - .byte 0x1A, 0x06, 0x00, 0x00 +_02064B64: .word 0x00000102 +_02064B68: .word 0x020F7D4C +_02064B6C: .word 0x0000061A + + thumb_func_start FUN_02064B70 +FUN_02064B70: ; 0x02064B70 + push {r4-r5, lr} + sub sp, #0x1c + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + ldr r1, [r4, #0x0] + cmp r1, #0x3 + bhi _02064C52 + add r1, r1, r1 + add r1, pc + ldrh r1, [r1, #0x6] + lsl r1, r1, #0x10 + asr r1, r1, #0x10 + add pc, r1 +_02064B96: ; jump table (using 16-bit offset) + .short _02064B9E - _02064B96 - 2; case 0 + .short _02064BB4 - _02064B96 - 2; case 1 + .short _02064C24 - _02064B96 - 2; case 2 + .short _02064C48 - _02064B96 - 2; case 3 +_02064B9E: + ldr r0, [r5, #0x38] + mov r1, #0x0 + bl FUN_02055560 + ldr r0, [r4, #0xc] + bl FUN_02064C64 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02064C52 +_02064BB4: + ldr r0, [r4, #0x8] + cmp r0, #0x0 + beq _02064BCA + add r0, r5, #0x0 + add r0, #0xa0 + ldr r0, [r0, #0x0] + ldr r1, _02064C58 ; =0x00000102 + bl FUN_021E7ED8 + str r0, [sp, #0xc] + b _02064BEC +_02064BCA: + ldr r0, _02064C5C ; =0x020F7D4C + add r1, sp, #0x4 + ldr r2, [r0, #0x10] + ldr r0, [r0, #0x14] + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0x0] + add r0, r5, #0x0 + mov r2, #0x2 + add r3, sp, #0xc + bl FUN_0204AA5C + cmp r0, #0x0 + bne _02064BEC + bl FUN_02020C2C +_02064BEC: + ldr r1, [sp, #0xc] + add r0, sp, #0x10 + bl FUN_021E7EA0 + mov r0, #0x1 + ldr r1, [sp, #0x14] + lsl r0, r0, #0xc + sub r1, r1, r0 + str r1, [sp, #0x14] + ldr r0, [r4, #0x4] + cmp r1, r0 + bgt _02064C12 + str r0, [sp, #0x14] + ldr r0, [r4, #0xc] + bl FUN_02064C84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] +_02064C12: + ldr r0, [r5, #0x38] + ldr r1, [sp, #0x14] + bl FUN_02055540 + ldr r0, [sp, #0xc] + add r1, sp, #0x10 + bl FUN_021E7EB0 + b _02064C52 +_02064C24: + add r2, r5, #0x0 + add r2, #0x9c + ldr r1, [r4, #0x4] + ldr r2, [r2, #0x0] + mov r0, #0x0 + bl FUN_021F4594 + ldr r0, [r5, #0x38] + mov r1, #0x1 + bl FUN_0205557C + ldr r0, _02064C60 ; =0x0000061A + bl FUN_020054C8 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _02064C52 +_02064C48: + bl FUN_02016A18 + add sp, #0x1c + mov r0, #0x1 + pop {r4-r5, pc} +_02064C52: + mov r0, #0x0 + add sp, #0x1c + pop {r4-r5, pc} + .balign 4 +_02064C58: .word 0x00000102 +_02064C5C: .word 0x020F7D4C +_02064C60: .word 0x0000061A thumb_func_start FUN_02064C64 FUN_02064C64: ; 0x02064C64 @@ -191115,20 +213509,31 @@ _020655DE: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r1, #0 - lsl r6, r5, #0 - lsl r6, r2, #0 - lsl r2, r4, #0 - lsl r2, r1, #0 +_020655FC: ; jump table (using 16-bit offset) + .short _02065608 - _020655FC - 2; case 0 + .short _02065608 - _020655FC - 2; case 1 + .short _0206562C - _020655FC - 2; case 2 + .short _02065614 - _020655FC - 2; case 3 + .short _02065620 - _020655FC - 2; case 4 + .short _02065608 - _020655FC - 2; case 5 +_02065608: ldr r1, _0206563C ; =FUN_02065674 ldr r2, _02065640 ; =FUN_020654B0 add r0, r4, #0x0 bl FUN_02065FE4 pop {r4-r6, pc} _02065614: - .byte 0x0C, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xE3, 0xFC, 0x70, 0xBD - .byte 0x0A, 0x49, 0x0B, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xFC, 0x70, 0xBD + ldr r1, _02065648 ; =FUN_02065710 + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02065FE4 + pop {r4-r6, pc} +_02065620: + ldr r1, _0206564C ; =FUN_02065894 + ldr r2, _02065650 ; =FUN_02065938 + add r0, r4, #0x0 + bl FUN_02065FE4 + pop {r4-r6, pc} _0206562C: ldr r1, _02065654 ; =FUN_02065690 add r0, r6, #0x0 @@ -191140,9 +213545,9 @@ _02065638: .word 0x021C48B8 _0206563C: .word FUN_02065674 + 1 _02065640: .word FUN_020654B0 + 1 _02065644: .word 0x000005DC -_02065648: - .byte 0x11, 0x57, 0x06, 0x02, 0x95, 0x58, 0x06, 0x02 - .byte 0x39, 0x59, 0x06, 0x02 +_02065648: .word FUN_02065710 + 1 +_0206564C: .word FUN_02065894 + 1 +_02065650: .word FUN_02065938 + 1 _02065654: .word FUN_02065690 + 1 thumb_func_start FUN_02065658 @@ -191187,10 +213592,12 @@ FUN_02065690: ; 0x02065690 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r0, r5, #0 - lsl r4, r6, #0 +_020656A8: ; jump table (using 16-bit offset) + .short _020656B0 - _020656A8 - 2; case 0 + .short _020656C6 - _020656A8 - 2; case 1 + .short _020656D2 - _020656A8 - 2; case 2 + .short _020656DE - _020656A8 - 2; case 3 +_020656B0: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 @@ -191201,19 +213608,41 @@ FUN_02065690: ; 0x02065690 bl FUN_02066634 b _02065704 _020656C6: - .byte 0x20, 0x1C, 0x01, 0xF0, 0x2E, 0xF8, 0x00, 0x28, 0x19, 0xD1 - .byte 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x74, 0xFF, 0x00, 0x28, 0x13, 0xD1, 0x38, 0xBD, 0x20, 0x1C - .byte 0x01, 0x21, 0x00, 0xF0, 0x49, 0xFF, 0x00, 0x28, 0x0F, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x22, 0xFE - .byte 0x20, 0x1C, 0x00, 0xF0, 0xFF, 0xF9, 0x00, 0x20, 0x20, 0x82, 0x04, 0x49, 0x28, 0x1C, 0xB5, 0xF7 - .byte 0xE1, 0xFF, 0x38, 0xBD + add r0, r4, #0x0 + bl FUN_02066728 + cmp r0, #0x0 + bne _02065704 + pop {r3-r5, pc} +_020656D2: + add r0, r4, #0x0 + bl FUN_020665C0 + cmp r0, #0x0 + bne _02065704 + pop {r3-r5, pc} +_020656DE: + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02066578 + cmp r0, #0x0 + beq _0206570A + add r0, r4, #0x0 + bl FUN_02066334 + add r0, r4, #0x0 + bl FUN_02065AF4 + mov r0, #0x0 + strh r0, [r4, #0x10] + ldr r1, _0206570C ; =FUN_020654D0 + add r0, r5, #0x0 + bl FUN_0201B6C4 + pop {r3-r5, pc} _02065704: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _0206570A: pop {r3-r5, pc} -_0206570C: - .byte 0xD1, 0x54, 0x06, 0x02 + .balign 4 +_0206570C: .word FUN_020654D0 + 1 thumb_func_start FUN_02065710 FUN_02065710: ; 0x02065710 @@ -191229,12 +213658,14 @@ FUN_02065710: ; 0x02065710 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r3, #0 - lsl r4, r5, #0 - lsl r6, r2, #0x1 - lsl r6, r5, #0x1 - lsl r0, r0, #0x2 +_02065728: ; jump table (using 16-bit offset) + .short _02065734 - _02065728 - 2; case 0 + .short _02065744 - _02065728 - 2; case 1 + .short _02065756 - _02065728 - 2; case 2 + .short _02065780 - _02065728 - 2; case 3 + .short _02065798 - _02065728 - 2; case 4 + .short _020657AA - _02065728 - 2; case 5 +_02065734: mov r1, #0x1 str r1, [sp, #0x0] ldrb r2, [r4, #0x16] @@ -191243,25 +213674,88 @@ FUN_02065710: ; 0x02065710 bl FUN_02066404 b _020657DA _02065744: - .byte 0x20, 0x1C, 0x00, 0xF0, 0xD5, 0xFE, 0x00, 0x28, 0x48, 0xD0, 0x20, 0x1C - .byte 0x00, 0xF0, 0xE6, 0xFE, 0x41, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xF8, 0xFE, 0x00, 0x28, 0x3F, 0xDB - .byte 0x0A, 0xD0, 0x00, 0x23, 0x00, 0x93, 0xA2, 0x7D, 0x20, 0x1C, 0x02, 0x21, 0x00, 0xF0, 0x4A, 0xFE - .byte 0x04, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x03, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD - .byte 0x20, 0x1C, 0x00, 0xF0, 0xA9, 0xFE, 0x17, 0x49, 0x17, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x2A, 0xFC - .byte 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0xAB, 0xFE, 0x00, 0x28 - .byte 0x1E, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xBC, 0xFE, 0x17, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0xCE, 0xFE - .byte 0x00, 0x28, 0x15, 0xDB, 0x05, 0xD0, 0x0D, 0x49, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x12, 0xFC - .byte 0x04, 0xE0, 0x0B, 0x49, 0x07, 0x4A, 0x20, 0x1C, 0x00, 0xF0, 0x0C, 0xFC, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x83, 0xFE, 0x00, 0x20, 0x01, 0xB0, 0x20, 0x82, 0x18, 0xBD + add r0, r4, #0x0 + bl FUN_020664F4 + cmp r0, #0x0 + beq _020657E0 + add r0, r4, #0x0 + bl FUN_02066520 + b _020657DA +_02065756: + add r0, r4, #0x0 + bl FUN_0206654C + cmp r0, #0x0 + blt _020657E0 + beq _02065778 + mov r3, #0x0 + str r3, [sp, #0x0] + ldrb r2, [r4, #0x16] + add r0, r4, #0x0 + mov r1, #0x2 + bl FUN_02066404 + mov r0, #0x4 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} +_02065778: + mov r0, #0x3 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} +_02065780: + add r0, r4, #0x0 + bl FUN_020664D8 + ldr r1, _020657E4 ; =FUN_02065674 + ldr r2, _020657E8 ; =FUN_020654B0 + add r0, r4, #0x0 + bl FUN_02065FE4 + mov r0, #0x0 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} +_02065798: + add r0, r4, #0x0 + bl FUN_020664F4 + cmp r0, #0x0 + beq _020657E0 + add r0, r4, #0x0 + bl FUN_02066520 + b _020657DA +_020657AA: + add r0, r4, #0x0 + bl FUN_0206654C + cmp r0, #0x0 + blt _020657E0 + beq _020657C2 + ldr r1, _020657EC ; =FUN_020659B8 + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02065FE4 + b _020657CC +_020657C2: + ldr r1, _020657F0 ; =FUN_020657F4 + ldr r2, _020657E4 ; =FUN_02065674 + add r0, r4, #0x0 + bl FUN_02065FE4 +_020657CC: + add r0, r4, #0x0 + bl FUN_020664D8 + mov r0, #0x0 + add sp, #0x4 + strh r0, [r4, #0x10] + pop {r3-r4, pc} _020657DA: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] +_020657E0: add sp, #0x4 pop {r3-r4, pc} -_020657E4: - .byte 0x75, 0x56, 0x06, 0x02, 0xB1, 0x54, 0x06, 0x02, 0xB9, 0x59, 0x06, 0x02 - .byte 0xF5, 0x57, 0x06, 0x02 + .balign 4 +_020657E4: .word FUN_02065674 + 1 +_020657E8: .word FUN_020654B0 + 1 +_020657EC: .word FUN_020659B8 + 1 +_020657F0: .word FUN_020657F4 + 1 thumb_func_start FUN_020657F4 FUN_020657F4: ; 0x020657F4 @@ -191356,10 +213850,12 @@ FUN_02065894: ; 0x02065894 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r4, r3, #0 - lsl r2, r5, #0 - lsl r6, r6, #0 +_020658AA: ; jump table (using 16-bit offset) + .short _020658B2 - _020658AA - 2; case 0 + .short _020658C8 - _020658AA - 2; case 1 + .short _020658D6 - _020658AA - 2; case 2 + .short _020658E2 - _020658AA - 2; case 3 +_020658B2: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 @@ -191370,21 +213866,60 @@ FUN_02065894: ; 0x02065894 bl FUN_02066634 b _0206592C _020658C8: - .byte 0x20, 0x1C, 0x0E, 0x21, 0x00, 0xF0, 0xCA, 0xFE - .byte 0x00, 0x28, 0x2B, 0xD1, 0x38, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFE, 0x00, 0x28, 0x25, 0xD1 - .byte 0x38, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x47, 0xFE, 0x00, 0x28, 0x21, 0xD0, 0x6D, 0x20 - .byte 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0xB1, 0xF7, 0x8D, 0xF8, 0x07, 0x2D - .byte 0x07, 0xD1, 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6C, 0xFB, 0x00, 0x20, 0x20, 0x82 - .byte 0x38, 0xBD, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x6E, 0xFC, 0x05, 0x49, 0x20, 0x1C - .byte 0x00, 0x22, 0x00, 0xF0, 0x5F, 0xFB, 0x00, 0x20, 0x20, 0x82, 0x38, 0xBD + add r0, r4, #0x0 + mov r1, #0xe + bl FUN_02066664 + cmp r0, #0x0 + bne _0206592C + pop {r3-r5, pc} +_020658D6: + add r0, r4, #0x0 + bl FUN_020665C0 + cmp r0, #0x0 + bne _0206592C + pop {r3-r5, pc} +_020658E2: + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02066578 + cmp r0, #0x0 + beq _02065932 + mov r0, #0x6d + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, r0, #0x0 + add r1, #0x22 + ldrb r5, [r1, #0x0] + bl FUN_02016A18 + cmp r5, #0x7 + bne _02065912 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02065FE4 + mov r0, #0x0 + strh r0, [r4, #0x10] + pop {r3-r5, pc} +_02065912: + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl FUN_020661F8 + ldr r1, _02065934 ; =FUN_020654B0 + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02065FE4 + mov r0, #0x0 + strh r0, [r4, #0x10] + pop {r3-r5, pc} _0206592C: ldrh r0, [r4, #0x10] add r0, r0, #0x1 strh r0, [r4, #0x10] _02065932: pop {r3-r5, pc} -_02065934: - .byte 0xB1, 0x54, 0x06, 0x02 + .balign 4 +_02065934: .word FUN_020654B0 + 1 thumb_func_start FUN_02065938 FUN_02065938: ; 0x02065938 @@ -191464,12 +213999,14 @@ _020659C4: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r2, #0x1 - lsl r6, r2, #0x2 - lsl r4, r6, #0x2 - lsl r6, r4, #0x3 - lsl r2, r6, #0x3 +_020659D0: ; jump table (using 16-bit offset) + .short _020659DC - _020659D0 - 2; case 0 + .short _02065A24 - _020659D0 - 2; case 1 + .short _02065A68 - _020659D0 - 2; case 2 + .short _02065A86 - _020659D0 - 2; case 3 + .short _02065AB8 - _020659D0 - 2; case 4 + .short _02065AC4 - _020659D0 - 2; case 5 +_020659DC: add r0, r4, #0x0 mov r1, #0x0 bl FUN_02066578 @@ -191505,18 +214042,98 @@ _02065A1A: strb r2, [r4, r1] b _02065AE0 _02065A24: - .byte 0x20, 0x1C, 0x09, 0x21, 0x00, 0xF0, 0x1C, 0xFE, 0x00, 0x28, 0x5A, 0xD0 - .byte 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0x01, 0x1C, 0x22, 0x31, 0x0D, 0x78, 0x01, 0x1C, 0x23, 0x31 - .byte 0x0E, 0x78, 0xB0, 0xF7, 0xE9, 0xFF, 0x06, 0x2E, 0x01, 0xD1, 0x07, 0x2D, 0x04, 0xD1, 0x27, 0x48 - .byte 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD, 0xE5, 0x75, 0x21, 0x7E, 0x0C, 0x20, 0x00, 0x22 - .byte 0x48, 0x43, 0x20, 0x18, 0x42, 0x77, 0x3B, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x5D, 0xFE, 0x00, 0x28 - .byte 0x39, 0xD0, 0x01, 0x28, 0x04, 0xD1, 0x1D, 0x48, 0xE0, 0x60, 0x04, 0x20, 0x20, 0x82, 0x70, 0xBD - .byte 0x1B, 0x48, 0xE0, 0x60, 0x2C, 0xE0, 0x20, 0x1C, 0x0B, 0x21, 0x00, 0xF0, 0xEB, 0xFD, 0x00, 0x28 - .byte 0x29, 0xD0, 0x6D, 0x20, 0x80, 0x00, 0x20, 0x58, 0xB0, 0xF7, 0xBE, 0xFF, 0x12, 0x4A, 0xE1, 0x7D - .byte 0xA2, 0x5C, 0x20, 0x1C, 0x12, 0x06, 0x92, 0x0F, 0x00, 0xF0, 0xA6, 0xFB, 0x0E, 0x49, 0xC0, 0x20 - .byte 0x62, 0x5C, 0x82, 0x43, 0x62, 0x54, 0x13, 0xE0, 0x20, 0x1C, 0x00, 0xF0, 0x81, 0xFD, 0x00, 0x28 - .byte 0x0E, 0xD1, 0x70, 0xBD, 0x20, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x56, 0xFD, 0x00, 0x28, 0x0A, 0xD0 - .byte 0xE1, 0x68, 0x20, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0x85, 0xFA, 0x00, 0x20, 0x20, 0x82, 0x70, 0xBD + add r0, r4, #0x0 + mov r1, #0x9 + bl FUN_02066664 + cmp r0, #0x0 + beq _02065AE6 + mov r0, #0x6d + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, r0, #0x0 + add r1, #0x22 + ldrb r5, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x23 + ldrb r6, [r1, #0x0] + bl FUN_02016A18 + cmp r6, #0x6 + bne _02065A4E + cmp r5, #0x7 + bne _02065A58 +_02065A4E: + ldr r0, _02065AEC ; =FUN_020657F4 + str r0, [r4, #0xc] + mov r0, #0x4 + strh r0, [r4, #0x10] + pop {r4-r6, pc} +_02065A58: + strb r5, [r4, #0x17] + ldrb r1, [r4, #0x18] + mov r0, #0xc + mov r2, #0x0 + mul r0, r1 + add r0, r4, r0 + strb r2, [r0, #0x1d] + b _02065AE0 +_02065A68: + add r0, r4, #0x0 + bl FUN_02066728 + cmp r0, #0x0 + beq _02065AE6 + cmp r0, #0x1 + bne _02065A80 + ldr r0, _02065AEC ; =FUN_020657F4 + str r0, [r4, #0xc] + mov r0, #0x4 + strh r0, [r4, #0x10] + pop {r4-r6, pc} +_02065A80: + ldr r0, _02065AF0 ; =FUN_020654B0 + str r0, [r4, #0xc] + b _02065AE0 +_02065A86: + add r0, r4, #0x0 + mov r1, #0xb + bl FUN_02066664 + cmp r0, #0x0 + beq _02065AE6 + mov r0, #0x6d + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + bl FUN_02016A18 + ldr r2, _02065AE8 ; =0x0000013B + ldrb r1, [r4, #0x17] + ldrb r2, [r4, r2] + add r0, r4, #0x0 + lsl r2, r2, #0x18 + lsr r2, r2, #0x1e + bl FUN_020661F8 + ldr r1, _02065AE8 ; =0x0000013B + mov r0, #0xc0 + ldrb r2, [r4, r1] + bic r2, r0 + strb r2, [r4, r1] + b _02065AE0 +_02065AB8: + add r0, r4, #0x0 + bl FUN_020665C0 + cmp r0, #0x0 + bne _02065AE0 + pop {r4-r6, pc} +_02065AC4: + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02066578 + cmp r0, #0x0 + beq _02065AE6 + ldr r1, [r4, #0xc] + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02065FE4 + mov r0, #0x0 + strh r0, [r4, #0x10] + pop {r4-r6, pc} _02065AE0: ldrh r0, [r4, #0x10] add r0, r0, #0x1 @@ -191525,9 +214142,8 @@ _02065AE6: pop {r4-r6, pc} .balign 4 _02065AE8: .word 0x0000013B -_02065AEC: - .byte 0xF5, 0x57, 0x06, 0x02 - .byte 0xB1, 0x54, 0x06, 0x02 +_02065AEC: .word FUN_020657F4 + 1 +_02065AF0: .word FUN_020654B0 + 1 thumb_func_start FUN_02065AF4 FUN_02065AF4: ; 0x02065AF4 @@ -194409,28 +217025,71 @@ FUN_02067234: ; 0x02067234 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r6, r2, #0 - lsl r4, r3, #0 - lsl r2, r4, #0 - lsl r0, r5, #0 - lsl r6, r5, #0 - lsl r4, r6, #0 - lsl r2, r7, #0 - lsl r0, r0, #0x1 - lsl r6, r0, #0x1 - lsl r4, r1, #0x1 - lsl r2, r2, #0x1 - lsl r6, r3, #0x1 +_0206724A: ; jump table (using 16-bit offset) + .short _02067262 - _0206724A - 2; case 0 + .short _02067268 - _0206724A - 2; case 1 + .short _0206726E - _0206724A - 2; case 2 + .short _02067274 - _0206724A - 2; case 3 + .short _0206727A - _0206724A - 2; case 4 + .short _02067280 - _0206724A - 2; case 5 + .short _02067286 - _0206724A - 2; case 6 + .short _0206728C - _0206724A - 2; case 7 + .short _02067292 - _0206724A - 2; case 8 + .short _02067298 - _0206724A - 2; case 9 + .short _0206729E - _0206724A - 2; case 10 + .short _020672AA - _0206724A - 2; case 11 +_02067262: add r0, #0x88 ldr r0, [r0, #0x0] pop {r3, pc} _02067268: - .byte 0x8C, 0x30, 0x00, 0x78, 0x08, 0xBD, 0x8D, 0x30 - .byte 0x00, 0x78, 0x08, 0xBD, 0x8E, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x90, 0x30, 0x00, 0x88, 0x08, 0xBD - .byte 0x92, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x94, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x96, 0x30, 0x00, 0x88 - .byte 0x08, 0xBD, 0x98, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9A, 0x30, 0x00, 0x88, 0x08, 0xBD, 0x9C, 0x30 - .byte 0x11, 0x1C, 0xBE, 0xF7, 0x15, 0xFA, 0x01, 0x20, 0x08, 0xBD, 0xD4, 0x30, 0x11, 0x1C, 0xC2, 0xF7 - .byte 0xE1, 0xFC, 0x01, 0x20, 0x08, 0xBD + add r0, #0x8c + ldrb r0, [r0, #0x0] + pop {r3, pc} +_0206726E: + add r0, #0x8d + ldrb r0, [r0, #0x0] + pop {r3, pc} +_02067274: + add r0, #0x8e + ldrh r0, [r0, #0x0] + pop {r3, pc} +_0206727A: + add r0, #0x90 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_02067280: + add r0, #0x92 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_02067286: + add r0, #0x94 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_0206728C: + add r0, #0x96 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_02067292: + add r0, #0x98 + ldrh r0, [r0, #0x0] + pop {r3, pc} +_02067298: + add r0, #0x9a + ldrh r0, [r0, #0x0] + pop {r3, pc} +_0206729E: + add r0, #0x9c + add r1, r2, #0x0 + bl FUN_020256D0 + mov r0, #0x1 + pop {r3, pc} +_020672AA: + add r0, #0xd4 + add r1, r2, #0x0 + bl FUN_02029C74 + mov r0, #0x1 + pop {r3, pc} _020672B6: bl FUN_0206731C pop {r3, pc} @@ -194526,248 +217185,684 @@ _02067366: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r5, #0x5 - lsl r6, r5, #0x5 - lsl r0, r7, #0x5 - lsl r2, r0, #0x6 - lsl r4, r1, #0x6 - lsl r0, r3, #0x7 - lsl r2, r5, #0x7 - lsl r6, r5, #0x7 - lsl r2, r6, #0x7 - lsl r6, r6, #0x7 - lsl r2, r7, #0x7 - lsl r6, r7, #0x7 - lsl r2, r0, #0x8 - lsl r6, r0, #0x8 - lsl r2, r1, #0x8 - lsl r6, r1, #0x8 - lsl r2, r2, #0x8 - lsl r6, r2, #0x8 - lsl r2, r3, #0x8 - lsl r6, r3, #0x8 - lsl r2, r4, #0x8 - lsl r6, r4, #0x8 - lsl r2, r5, #0x8 - lsl r6, r5, #0x8 - lsl r2, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r6, r6, #0x8 - lsl r4, r3, #0x9 - lsl r4, r3, #0x9 - lsl r4, r3, #0x9 - lsl r4, r3, #0x9 - lsl r0, r5, #0x9 - lsl r0, r5, #0x9 - lsl r0, r5, #0x9 - lsl r0, r5, #0x9 - lsl r4, r6, #0x9 - lsl r4, r6, #0x9 - lsl r4, r6, #0x9 - lsl r4, r6, #0x9 - lsl r0, r0, #0xa - lsl r0, r0, #0xa - lsl r0, r0, #0xa - lsl r0, r0, #0xa - lsl r0, r3, #0xa - lsl r0, r4, #0xa - lsl r0, r5, #0xa - lsl r0, r6, #0xa - lsl r0, r7, #0xa - lsl r0, r0, #0xb - lsl r0, r1, #0xb - lsl r2, r3, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r4, #0xb - lsl r0, r1, #0xc - lsl r0, r2, #0xc - lsl r0, r3, #0xc +_02067372: ; jump table (using 16-bit offset) + .short _020674DC - _02067372 - 2; case 0 + .short _020674E2 - _02067372 - 2; case 1 + .short _020674EC - _02067372 - 2; case 2 + .short _020674F6 - _02067372 - 2; case 3 + .short _02067500 - _02067372 - 2; case 4 + .short _0206754C - _02067372 - 2; case 5 + .short _0206755E - _02067372 - 2; case 6 + .short _02067562 - _02067372 - 2; case 7 + .short _02067566 - _02067372 - 2; case 8 + .short _0206756A - _02067372 - 2; case 9 + .short _0206756E - _02067372 - 2; case 10 + .short _02067572 - _02067372 - 2; case 11 + .short _02067576 - _02067372 - 2; case 12 + .short _0206757A - _02067372 - 2; case 13 + .short _0206757E - _02067372 - 2; case 14 + .short _02067582 - _02067372 - 2; case 15 + .short _02067586 - _02067372 - 2; case 16 + .short _0206758A - _02067372 - 2; case 17 + .short _0206758E - _02067372 - 2; case 18 + .short _02067592 - _02067372 - 2; case 19 + .short _02067596 - _02067372 - 2; case 20 + .short _0206759A - _02067372 - 2; case 21 + .short _0206759E - _02067372 - 2; case 22 + .short _020675A2 - _02067372 - 2; case 23 + .short _020675A6 - _02067372 - 2; case 24 + .short _020675AA - _02067372 - 2; case 25 + .short _020675AA - _02067372 - 2; case 26 + .short _020675AA - _02067372 - 2; case 27 + .short _020675AA - _02067372 - 2; case 28 + .short _020675AA - _02067372 - 2; case 29 + .short _020675AA - _02067372 - 2; case 30 + .short _020675AA - _02067372 - 2; case 31 + .short _020675AA - _02067372 - 2; case 32 + .short _020675AA - _02067372 - 2; case 33 + .short _020675AA - _02067372 - 2; case 34 + .short _020675AA - _02067372 - 2; case 35 + .short _020675AA - _02067372 - 2; case 36 + .short _020675AA - _02067372 - 2; case 37 + .short _020675AA - _02067372 - 2; case 38 + .short _020675AA - _02067372 - 2; case 39 + .short _020675AA - _02067372 - 2; case 40 + .short _020675AA - _02067372 - 2; case 41 + .short _020675AA - _02067372 - 2; case 42 + .short _020675AA - _02067372 - 2; case 43 + .short _020675AA - _02067372 - 2; case 44 + .short _020675AA - _02067372 - 2; case 45 + .short _020675AA - _02067372 - 2; case 46 + .short _020675AA - _02067372 - 2; case 47 + .short _020675AA - _02067372 - 2; case 48 + .short _020675AA - _02067372 - 2; case 49 + .short _020675AA - _02067372 - 2; case 50 + .short _020675AA - _02067372 - 2; case 51 + .short _020675AA - _02067372 - 2; case 52 + .short _020675AA - _02067372 - 2; case 53 + .short _020675D0 - _02067372 - 2; case 54 + .short _020675D0 - _02067372 - 2; case 55 + .short _020675D0 - _02067372 - 2; case 56 + .short _020675D0 - _02067372 - 2; case 57 + .short _020675DC - _02067372 - 2; case 58 + .short _020675DC - _02067372 - 2; case 59 + .short _020675DC - _02067372 - 2; case 60 + .short _020675DC - _02067372 - 2; case 61 + .short _020675E8 - _02067372 - 2; case 62 + .short _020675E8 - _02067372 - 2; case 63 + .short _020675E8 - _02067372 - 2; case 64 + .short _020675E8 - _02067372 - 2; case 65 + .short _020675F4 - _02067372 - 2; case 66 + .short _020675F4 - _02067372 - 2; case 67 + .short _020675F4 - _02067372 - 2; case 68 + .short _020675F4 - _02067372 - 2; case 69 + .short _0206760C - _02067372 - 2; case 70 + .short _02067614 - _02067372 - 2; case 71 + .short _0206761C - _02067372 - 2; case 72 + .short _02067624 - _02067372 - 2; case 73 + .short _0206762C - _02067372 - 2; case 74 + .short _02067634 - _02067372 - 2; case 75 + .short _0206763C - _02067372 - 2; case 76 + .short _0206764E - _02067372 - 2; case 77 + .short _02067654 - _02067372 - 2; case 78 + .short _02067654 - _02067372 - 2; case 79 + .short _02067654 - _02067372 - 2; case 80 + .short _02067654 - _02067372 - 2; case 81 + .short _02067654 - _02067372 - 2; case 82 + .short _02067654 - _02067372 - 2; case 83 + .short _02067654 - _02067372 - 2; case 84 + .short _02067654 - _02067372 - 2; case 85 + .short _02067654 - _02067372 - 2; case 86 + .short _02067654 - _02067372 - 2; case 87 + .short _02067654 - _02067372 - 2; case 88 + .short _02067654 - _02067372 - 2; case 89 + .short _02067654 - _02067372 - 2; case 90 + .short _02067654 - _02067372 - 2; case 91 + .short _02067654 - _02067372 - 2; case 92 + .short _02067654 - _02067372 - 2; case 93 + .short _02067654 - _02067372 - 2; case 94 + .short _02067654 - _02067372 - 2; case 95 + .short _02067654 - _02067372 - 2; case 96 + .short _02067654 - _02067372 - 2; case 97 + .short _02067654 - _02067372 - 2; case 98 + .short _02067654 - _02067372 - 2; case 99 + .short _02067654 - _02067372 - 2; case 100 + .short _02067654 - _02067372 - 2; case 101 + .short _02067654 - _02067372 - 2; case 102 + .short _02067654 - _02067372 - 2; case 103 + .short _02067654 - _02067372 - 2; case 104 + .short _02067654 - _02067372 - 2; case 105 + .short _02067654 - _02067372 - 2; case 106 + .short _02067654 - _02067372 - 2; case 107 + .short _02067654 - _02067372 - 2; case 108 + .short _02067654 - _02067372 - 2; case 109 + .short _0206767C - _02067372 - 2; case 110 + .short _02067684 - _02067372 - 2; case 111 + .short _0206768C - _02067372 - 2; case 112 + .short _02067694 - _02067372 - 2; case 113 + .short _02067698 - _02067372 - 2; case 114 + .short _020674D8 - _02067372 - 2; case 115 + .short _0206769C - _02067372 - 2; case 116 + .short _020674D8 - _02067372 - 2; case 117 + .short _020676D0 - _02067372 - 2; case 118 + .short _020676CC - _02067372 - 2; case 119 + .short _020676FE - _02067372 - 2; case 120 + .short _02067702 - _02067372 - 2; case 121 + .short _02067706 - _02067372 - 2; case 122 + .short _02067706 - _02067372 - 2; case 123 + .short _02067706 - _02067372 - 2; case 124 + .short _02067706 - _02067372 - 2; case 125 + .short _02067706 - _02067372 - 2; case 126 + .short _02067706 - _02067372 - 2; case 127 + .short _02067706 - _02067372 - 2; case 128 + .short _02067706 - _02067372 - 2; case 129 + .short _02067706 - _02067372 - 2; case 130 + .short _02067706 - _02067372 - 2; case 131 + .short _02067706 - _02067372 - 2; case 132 + .short _02067706 - _02067372 - 2; case 133 + .short _02067706 - _02067372 - 2; case 134 + .short _02067706 - _02067372 - 2; case 135 + .short _02067706 - _02067372 - 2; case 136 + .short _02067706 - _02067372 - 2; case 137 + .short _02067706 - _02067372 - 2; case 138 + .short _02067706 - _02067372 - 2; case 139 + .short _02067706 - _02067372 - 2; case 140 + .short _02067706 - _02067372 - 2; case 141 + .short _02067706 - _02067372 - 2; case 142 + .short _0206772C - _02067372 - 2; case 143 + .short _02067746 - _02067372 - 2; case 144 + .short _0206774E - _02067372 - 2; case 145 + .short _02067752 - _02067372 - 2; case 146 + .short _02067756 - _02067372 - 2; case 147 + .short _0206775A - _02067372 - 2; case 148 + .short _0206775E - _02067372 - 2; case 149 + .short _02067762 - _02067372 - 2; case 150 + .short _02067766 - _02067372 - 2; case 151 + .short _0206776A - _02067372 - 2; case 152 + .short _0206776E - _02067372 - 2; case 153 + .short _02067772 - _02067372 - 2; case 154 + .short _02067776 - _02067372 - 2; case 155 + .short _0206777E - _02067372 - 2; case 156 + .short _02067786 - _02067372 - 2; case 157 + .short _0206778A - _02067372 - 2; case 158 + .short _020674D8 - _02067372 - 2; case 159 + .short _02067540 - _02067372 - 2; case 160 + .short _020674D8 - _02067372 - 2; case 161 + .short _020674D8 - _02067372 - 2; case 162 + .short _020674D8 - _02067372 - 2; case 163 + .short _020674D8 - _02067372 - 2; case 164 + .short _020674D8 - _02067372 - 2; case 165 + .short _020674D8 - _02067372 - 2; case 166 + .short _020674D8 - _02067372 - 2; case 167 + .short _020674D8 - _02067372 - 2; case 168 + .short _020674D8 - _02067372 - 2; case 169 + .short _020674D8 - _02067372 - 2; case 170 + .short _02067506 - _02067372 - 2; case 171 + .short _02067510 - _02067372 - 2; case 172 + .short _02067522 - _02067372 - 2; case 173 + .short _0206778E - _02067372 - 2; case 174 + .short _020677C0 - _02067372 - 2; case 175 + .short _020677D8 - _02067372 - 2; case 176 + .short _020677D8 - _02067372 - 2; case 177 + .short _02067810 - _02067372 - 2; case 178 +_020674D8: + mov r4, #0x0 + b _0206781A +_020674DC: + ldr r0, [sp, #0x0] + ldr r4, [r0, #0x0] + b _0206781A +_020674E2: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1f + lsr r4, r0, #0x1f + b _0206781A +_020674EC: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1e + lsr r4, r0, #0x1f + b _0206781A +_020674F6: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1f + b _0206781A +_02067500: + ldr r0, [sp, #0x0] + ldrh r4, [r0, #0x6] + b _0206781A +_02067506: + ldrh r0, [r5, #0x0] + cmp r0, #0x0 + beq _0206753A + mov r4, #0x1 + b _0206781A +_02067510: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1f + bne _0206753A + ldr r0, [r6, #0x10] + lsl r0, r0, #0x1 + lsr r4, r0, #0x1f + b _0206781A +_02067522: + ldrh r4, [r5, #0x0] + cmp r4, #0x0 + beq _0206753A + ldr r0, [r6, #0x10] + lsl r0, r0, #0x1 + lsr r0, r0, #0x1f + bne _0206753C + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bne _0206753C +_0206753A: + b _0206781A +_0206753C: + ldr r4, _02067820 ; =0x000001EE + b _0206781A +_02067540: + ldrh r0, [r5, #0x0] + ldr r1, [r5, #0x8] + bl FUN_02068800 + add r4, r0, #0x0 + b _0206781A +_0206754C: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _0206755A + ldr r4, _02067820 ; =0x000001EE + b _0206781A +_0206755A: + ldrh r4, [r5, #0x0] + b _0206781A +_0206755E: + ldrh r4, [r5, #0x2] + b _0206781A +_02067562: + ldr r4, [r5, #0x4] + b _0206781A +_02067566: + ldr r4, [r5, #0x8] + b _0206781A +_0206756A: + ldrb r4, [r5, #0xc] + b _0206781A +_0206756E: + ldrb r4, [r5, #0xd] + b _0206781A +_02067572: + ldrb r4, [r5, #0xe] + b _0206781A +_02067576: + ldrb r4, [r5, #0xf] + b _0206781A +_0206757A: + ldrb r4, [r5, #0x10] + b _0206781A +_0206757E: + ldrb r4, [r5, #0x11] + b _0206781A +_02067582: + ldrb r4, [r5, #0x12] + b _0206781A +_02067586: + ldrb r4, [r5, #0x13] + b _0206781A +_0206758A: + ldrb r4, [r5, #0x14] + b _0206781A +_0206758E: + ldrb r4, [r5, #0x15] + b _0206781A +_02067592: + ldrb r4, [r5, #0x16] + b _0206781A +_02067596: + ldrb r4, [r5, #0x17] + b _0206781A +_0206759A: + ldrb r4, [r5, #0x18] + b _0206781A +_0206759E: + ldrb r4, [r5, #0x19] + b _0206781A +_020675A2: + ldrb r4, [r5, #0x1a] + b _0206781A +_020675A6: + ldrb r4, [r5, #0x1b] + b _0206781A +_020675AA: + ldr r2, [sp, #0x4] + mov r0, #0x1 + sub r2, #0x19 + add r1, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + ldr r2, [r5, #0x1c] + add r3, r4, #0x0 + and r3, r1 + and r2, r0 + mov r1, #0x0 + mov r0, #0x0 + eor r1, r3 + eor r0, r2 + orr r0, r1 + beq _02067676 + mov r4, #0x1 + b _0206781A +_020675D0: + ldr r0, [sp, #0x4] + sub r0, #0x36 + str r0, [sp, #0x4] + lsl r0, r0, #0x1 + ldrh r4, [r6, r0] + b _0206781A +_020675DC: + ldr r0, [sp, #0x4] + sub r0, #0x3a + str r0, [sp, #0x4] + add r0, r6, r0 + ldrb r4, [r0, #0x8] + b _0206781A +_020675E8: + ldr r0, [sp, #0x4] + sub r0, #0x3e + str r0, [sp, #0x4] + add r0, r6, r0 + ldrb r4, [r0, #0xc] + b _0206781A +_020675F4: + ldr r0, [sp, #0x4] + sub r0, #0x42 + str r0, [sp, #0x4] + ldr r1, [sp, #0x4] + lsl r0, r0, #0x1 + add r1, r6, r1 + ldrh r0, [r6, r0] + ldrb r1, [r1, #0xc] + bl FUN_0206AB30 + add r4, r0, #0x0 + b _0206781A +_0206760C: + ldr r0, [r6, #0x10] + lsl r0, r0, #0x1b + lsr r4, r0, #0x1b + b _0206781A +_02067614: + ldr r0, [r6, #0x10] + lsl r0, r0, #0x16 + lsr r4, r0, #0x1b + b _0206781A +_0206761C: + ldr r0, [r6, #0x10] + lsl r0, r0, #0x11 + lsr r4, r0, #0x1b + b _0206781A +_02067624: + ldr r0, [r6, #0x10] + lsl r0, r0, #0xc + lsr r4, r0, #0x1b + b _0206781A +_0206762C: + ldr r0, [r6, #0x10] + lsl r0, r0, #0x7 + lsr r4, r0, #0x1b + b _0206781A +_02067634: + ldr r0, [r6, #0x10] + lsl r0, r0, #0x2 + lsr r4, r0, #0x1b + b _0206781A +_0206763C: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1f + bne _02067676 + ldr r0, [r6, #0x10] + lsl r0, r0, #0x1 + lsr r4, r0, #0x1f + b _0206781A +_0206764E: + ldr r0, [r6, #0x10] + lsr r4, r0, #0x1f + b _0206781A +_02067654: + ldr r2, [sp, #0x4] + mov r0, #0x1 + sub r2, #0x4e + add r1, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + ldr r2, [r6, #0x14] + add r3, r4, #0x0 + and r3, r1 + and r2, r0 + mov r1, #0x0 + mov r0, #0x0 + eor r1, r3 + eor r0, r2 + orr r0, r1 + bne _02067678 +_02067676: + b _0206781A +_02067678: + mov r4, #0x1 + b _0206781A +_0206767C: + ldrb r0, [r6, #0x18] + lsl r0, r0, #0x1f + lsr r4, r0, #0x1f + b _0206781A +_02067684: + ldrb r0, [r6, #0x18] + lsl r0, r0, #0x1d + lsr r4, r0, #0x1e + b _0206781A +_0206768C: + ldrb r0, [r6, #0x18] + lsl r0, r0, #0x18 + lsr r4, r0, #0x1b + b _0206781A +_02067694: + ldrb r4, [r6, #0x19] + b _0206781A +_02067698: + ldrh r4, [r6, #0x1a] + b _0206781A +_0206769C: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _020676B2 + ldr r0, _02067824 ; =0x000001EF + ldr r2, [sp, #0x8] + add r1, r4, #0x0 + bl FUN_0200A99C + b _0206781A +_020676B2: + ldr r1, [sp, #0x8] +_020676B4: + ldrh r0, [r7, #0x0] + add r4, r4, #0x1 + add r7, r7, #0x2 + strh r0, [r1, #0x0] + add r1, r1, #0x2 + cmp r4, #0xa + blo _020676B4 + ldr r2, _02067828 ; =0x0000FFFF + ldr r0, [sp, #0x8] + lsl r1, r4, #0x1 + strh r2, [r0, r1] + b _0206781A +_020676CC: + ldr r0, [r6, #0x10] + lsr r4, r0, #0x1f +_020676D0: + ldr r0, [sp, #0x0] + ldrh r0, [r0, #0x4] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + beq _020676F4 + ldr r0, _02067824 ; =0x000001EF + mov r1, #0x0 + bl FUN_0200AA50 + add r5, r0, #0x0 + ldr r0, [sp, #0x8] + add r1, r5, #0x0 + bl FUN_02021A74 + add r0, r5, #0x0 + bl FUN_02021A20 + b _0206781A +_020676F4: + ldr r0, [sp, #0x8] + add r1, r7, #0x0 + bl FUN_02021E28 + b _0206781A +_020676FE: + ldrb r4, [r7, #0x16] + b _0206781A +_02067702: + ldrb r4, [r7, #0x17] + b _0206781A +_02067706: + ldr r2, [sp, #0x4] + mov r0, #0x1 + sub r2, #0x7a + add r1, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + ldr r3, [r7, #0x18] + ldr r2, [r7, #0x1c] + and r3, r0 + and r2, r1 + mov r1, #0x0 + mov r0, #0x0 + eor r1, r2 + eor r0, r3 + orr r0, r1 + beq _0206781A + mov r4, #0x1 + b _0206781A +_0206772C: + ldr r2, [sp, #0x8] +_0206772E: + ldrh r0, [r1, #0x0] + add r4, r4, #0x1 + add r1, r1, #0x2 + strh r0, [r2, #0x0] + add r2, r2, #0x2 + cmp r4, #0x7 + blo _0206772E + ldr r2, _02067828 ; =0x0000FFFF + ldr r0, [sp, #0x8] + lsl r1, r4, #0x1 + strh r2, [r0, r1] + b _0206781A +_02067746: + ldr r0, [sp, #0x8] + bl FUN_02021E28 + b _0206781A +_0206774E: + ldrb r4, [r1, #0x10] + b _0206781A +_02067752: + ldrb r4, [r1, #0x11] + b _0206781A +_02067756: + ldrb r4, [r1, #0x12] + b _0206781A +_0206775A: + ldrb r4, [r1, #0x13] + b _0206781A +_0206775E: + ldrb r4, [r1, #0x14] + b _0206781A +_02067762: + ldrb r4, [r1, #0x15] + b _0206781A +_02067766: + ldrh r4, [r1, #0x16] + b _0206781A +_0206776A: + ldrh r4, [r1, #0x18] + b _0206781A +_0206776E: + ldrb r4, [r1, #0x1a] + b _0206781A +_02067772: + ldrb r4, [r1, #0x1b] + b _0206781A +_02067776: + ldrb r0, [r1, #0x1c] + lsl r0, r0, #0x19 + lsr r4, r0, #0x19 + b _0206781A +_0206777E: + ldrb r0, [r1, #0x1c] + lsl r0, r0, #0x18 + lsr r4, r0, #0x1f + b _0206781A +_02067786: + ldrb r4, [r1, #0x1d] + b _0206781A +_0206778A: + ldrh r4, [r1, #0x1e] + b _0206781A +_0206778E: + ldr r4, [r6, #0x10] + lsl r0, r4, #0x2 + lsr r0, r0, #0x1b + lsl r5, r0, #0x19 + lsl r0, r4, #0x7 + lsr r0, r0, #0x1b + lsl r3, r0, #0x14 lsl r0, r4, #0xc - lsl r4, r4, #0xc - lsl r4, r4, #0x5 - lsl r0, r5, #0xc - lsl r4, r4, #0x5 - lsl r4, r3, #0xd - lsl r0, r3, #0xd - lsl r2, r1, #0xe - lsl r6, r1, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r2, r2, #0xe - lsl r0, r7, #0xe - lsl r2, r2, #0xf - lsl r2, r3, #0xf - lsl r6, r3, #0xf - lsl r2, r4, #0xf - lsl r6, r4, #0xf - lsl r2, r5, #0xf - lsl r6, r5, #0xf - lsl r2, r6, #0xf - lsl r6, r6, #0xf - lsl r2, r7, #0xf - lsl r6, r7, #0xf - lsl r2, r0, #0x10 - lsl r2, r1, #0x10 - lsl r2, r2, #0x10 - lsl r6, r2, #0x10 - lsl r4, r4, #0x5 - lsl r4, r1, #0x7 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 - lsl r4, r4, #0x5 + lsr r0, r0, #0x1b + lsl r2, r0, #0xf + lsl r0, r4, #0x11 + lsr r0, r0, #0x1b + lsl r1, r0, #0xa + lsl r0, r4, #0x1b + lsl r4, r4, #0x16 + lsr r4, r4, #0x1b + lsr r0, r0, #0x1b lsl r4, r4, #0x5 - lsl r2, r2, #0x6 - lsl r4, r3, #0x6 - lsl r6, r5, #0x6 - lsl r2, r3, #0x10 - lsl r4, r1, #0x11 - lsl r4, r4, #0x11 - lsl r4, r4, #0x11 - lsl r4, r3, #0x12 -_020674D8: + orr r0, r4 + orr r0, r1 + orr r0, r2 + orr r0, r3 + add r4, r5, #0x0 + orr r4, r0 + b _0206781A +_020677C0: + ldrh r0, [r5, #0x0] + cmp r0, #0x1d + beq _020677CA + cmp r0, #0x20 + bne _020677D4 +_020677CA: + ldr r0, [r6, #0x10] + lsr r0, r0, #0x1f + bne _020677D4 mov r4, #0x0 b _0206781A -_020674DC: - .byte 0x00, 0x98, 0x04, 0x68 - .byte 0x9B, 0xE1, 0x00, 0x98, 0x80, 0x88, 0xC0, 0x07, 0xC4, 0x0F, 0x96, 0xE1, 0x00, 0x98, 0x80, 0x88 - .byte 0x80, 0x07, 0xC4, 0x0F, 0x91, 0xE1, 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x8C, 0xE1 - .byte 0x00, 0x98, 0xC4, 0x88, 0x89, 0xE1, 0x28, 0x88, 0x00, 0x28, 0x16, 0xD0, 0x01, 0x24, 0x84, 0xE1 - .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC4, 0x0F, 0x0F, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F - .byte 0x7B, 0xE1, 0x2C, 0x88, 0x00, 0x2C, 0x08, 0xD0, 0x30, 0x69, 0x40, 0x00, 0xC0, 0x0F, 0x05, 0xD1 - .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x00, 0xD1, 0x6E, 0xE1, 0xB8, 0x4C, 0x6C, 0xE1 - .byte 0x28, 0x88, 0xA9, 0x68, 0x01, 0xF0, 0x5C, 0xF9, 0x04, 0x1C, 0x66, 0xE1, 0x00, 0x98, 0x80, 0x88 - .byte 0x40, 0x07, 0xC0, 0x0F, 0x01, 0xD0, 0xB2, 0x4C, 0x5F, 0xE1, 0x2C, 0x88, 0x5D, 0xE1, 0x6C, 0x88 - .byte 0x5B, 0xE1, 0x6C, 0x68, 0x59, 0xE1, 0xAC, 0x68, 0x57, 0xE1, 0x2C, 0x7B, 0x55, 0xE1, 0x6C, 0x7B - .byte 0x53, 0xE1, 0xAC, 0x7B, 0x51, 0xE1, 0xEC, 0x7B, 0x4F, 0xE1, 0x2C, 0x7C, 0x4D, 0xE1, 0x6C, 0x7C - .byte 0x4B, 0xE1, 0xAC, 0x7C, 0x49, 0xE1, 0xEC, 0x7C, 0x47, 0xE1, 0x2C, 0x7D, 0x45, 0xE1, 0x6C, 0x7D - .byte 0x43, 0xE1, 0xAC, 0x7D, 0x41, 0xE1, 0xEC, 0x7D, 0x3F, 0xE1, 0x2C, 0x7E, 0x3D, 0xE1, 0x6C, 0x7E - .byte 0x3B, 0xE1, 0xAC, 0x7E, 0x39, 0xE1, 0xEC, 0x7E, 0x37, 0xE1, 0x01, 0x9A, 0x01, 0x20, 0x19, 0x3A - .byte 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0, 0x4C, 0xEB, 0xEA, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40 - .byte 0x00, 0x21, 0x00, 0x20, 0x59, 0x40, 0x50, 0x40, 0x08, 0x43, 0x54, 0xD0, 0x01, 0x24, 0x24, 0xE1 - .byte 0x01, 0x98, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00, 0x34, 0x5A, 0x1E, 0xE1, 0x01, 0x98, 0x3A, 0x38 - .byte 0x01, 0x90, 0x30, 0x18, 0x04, 0x7A, 0x18, 0xE1, 0x01, 0x98, 0x3E, 0x38, 0x01, 0x90, 0x30, 0x18 - .byte 0x04, 0x7B, 0x12, 0xE1, 0x01, 0x98, 0x42, 0x38, 0x01, 0x90, 0x01, 0x99, 0x40, 0x00, 0x71, 0x18 - .byte 0x30, 0x5A, 0x09, 0x7B, 0x03, 0xF0, 0x94, 0xFA, 0x04, 0x1C, 0x06, 0xE1, 0x30, 0x69, 0xC0, 0x06 - .byte 0xC4, 0x0E, 0x02, 0xE1, 0x30, 0x69, 0x80, 0x05, 0xC4, 0x0E, 0xFE, 0xE0, 0x30, 0x69, 0x40, 0x04 - .byte 0xC4, 0x0E, 0xFA, 0xE0, 0x30, 0x69, 0x00, 0x03, 0xC4, 0x0E, 0xF6, 0xE0, 0x30, 0x69, 0xC0, 0x01 - .byte 0xC4, 0x0E, 0xF2, 0xE0, 0x30, 0x69, 0x80, 0x00, 0xC4, 0x0E, 0xEE, 0xE0, 0x00, 0x98, 0x80, 0x88 - .byte 0x40, 0x07, 0xC4, 0x0F, 0x17, 0xD1, 0x30, 0x69, 0x40, 0x00, 0xC4, 0x0F, 0xE5, 0xE0, 0x30, 0x69 - .byte 0xC4, 0x0F, 0xE2, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x4E, 0x3A, 0x21, 0x1C, 0x01, 0x92, 0x84, 0xF0 - .byte 0xF8, 0xEA, 0x72, 0x69, 0x23, 0x1C, 0x0B, 0x40, 0x02, 0x40, 0x00, 0x21, 0x00, 0x20, 0x59, 0x40 - .byte 0x50, 0x40, 0x08, 0x43, 0x00, 0xD1, 0xD0, 0xE0, 0x01, 0x24, 0xCE, 0xE0, 0x30, 0x7E, 0xC0, 0x07 - .byte 0xC4, 0x0F, 0xCA, 0xE0, 0x30, 0x7E, 0x40, 0x07, 0x84, 0x0F, 0xC6, 0xE0, 0x30, 0x7E, 0x00, 0x06 - .byte 0xC4, 0x0E, 0xC2, 0xE0, 0x74, 0x7E, 0xC0, 0xE0, 0x74, 0x8B, 0xBE, 0xE0, 0x00, 0x98, 0x80, 0x88 - .byte 0x40, 0x07, 0xC0, 0x0F, 0x05, 0xD0, 0x5F, 0x48, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0x76, 0xF9 - .byte 0xB3, 0xE0, 0x02, 0x99, 0x38, 0x88, 0x64, 0x1C, 0xBF, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x0A, 0x2C - .byte 0xF8, 0xD3, 0x59, 0x4A, 0x02, 0x98, 0x61, 0x00, 0x42, 0x52, 0xA6, 0xE0, 0x30, 0x69, 0xC4, 0x0F - .byte 0x00, 0x98, 0x80, 0x88, 0x40, 0x07, 0xC0, 0x0F, 0x0C, 0xD0, 0x52, 0x48, 0x00, 0x21, 0xA3, 0xF7 - .byte 0xB7, 0xF9, 0x05, 0x1C, 0x02, 0x98, 0x29, 0x1C, 0xBA, 0xF7, 0xC4, 0xF9, 0x28, 0x1C, 0xBA, 0xF7 - .byte 0x97, 0xF9, 0x92, 0xE0, 0x02, 0x98, 0x39, 0x1C, 0xBA, 0xF7, 0x96, 0xFB, 0x8D, 0xE0, 0xBC, 0x7D - .byte 0x8B, 0xE0, 0xFC, 0x7D, 0x89, 0xE0, 0x01, 0x9A, 0x01, 0x20, 0x7A, 0x3A, 0x21, 0x1C, 0x01, 0x92 - .byte 0x84, 0xF0, 0x9E, 0xEA, 0xBB, 0x69, 0xFA, 0x69, 0x03, 0x40, 0x0A, 0x40, 0x00, 0x21, 0x00, 0x20 - .byte 0x51, 0x40, 0x58, 0x40, 0x08, 0x43, 0x78, 0xD0, 0x01, 0x24, 0x76, 0xE0, 0x02, 0x9A, 0x08, 0x88 - .byte 0x64, 0x1C, 0x89, 0x1C, 0x10, 0x80, 0x92, 0x1C, 0x07, 0x2C, 0xF8, 0xD3, 0x3A, 0x4A, 0x02, 0x98 - .byte 0x61, 0x00, 0x42, 0x52, 0x69, 0xE0, 0x02, 0x98, 0xBA, 0xF7, 0x6E, 0xFB, 0x65, 0xE0, 0x0C, 0x7C - .byte 0x63, 0xE0, 0x4C, 0x7C, 0x61, 0xE0, 0x8C, 0x7C, 0x5F, 0xE0, 0xCC, 0x7C, 0x5D, 0xE0, 0x0C, 0x7D - .byte 0x5B, 0xE0, 0x4C, 0x7D, 0x59, 0xE0, 0xCC, 0x8A, 0x57, 0xE0, 0x0C, 0x8B, 0x55, 0xE0, 0x8C, 0x7E - .byte 0x53, 0xE0, 0xCC, 0x7E, 0x51, 0xE0, 0x08, 0x7F, 0x40, 0x06, 0x44, 0x0E, 0x4D, 0xE0, 0x08, 0x7F - .byte 0x00, 0x06, 0xC4, 0x0F, 0x49, 0xE0, 0x4C, 0x7F, 0x47, 0xE0, 0xCC, 0x8B, 0x45, 0xE0, 0x34, 0x69 - .byte 0xA0, 0x00, 0xC0, 0x0E, 0x45, 0x06, 0xE0, 0x01, 0xC0, 0x0E, 0x03, 0x05, 0x20, 0x03, 0xC0, 0x0E - .byte 0xC2, 0x03, 0x60, 0x04, 0xC0, 0x0E, 0x81, 0x02, 0xE0, 0x06, 0xA4, 0x05, 0xE4, 0x0E, 0xC0, 0x0E - .byte 0x64, 0x01, 0x20, 0x43, 0x08, 0x43, 0x10, 0x43, 0x18, 0x43, 0x2C, 0x1C, 0x04, 0x43, 0x2C, 0xE0 - .byte 0x28, 0x88, 0x1D, 0x28, 0x01, 0xD0, 0x20, 0x28, 0x04, 0xD1, 0x30, 0x69, 0xC0, 0x0F, 0x01, 0xD1 - .byte 0x00, 0x24, 0x22, 0xE0, 0x01, 0x24, 0x20, 0xE0, 0x28, 0x88, 0x14, 0x49, 0x88, 0x42, 0x0D, 0xD1 - .byte 0x69, 0x7B, 0x79, 0x29, 0x0A, 0xD1, 0x68, 0x88, 0x01, 0x21, 0x22, 0x1C, 0x06, 0xF0, 0xE4, 0xFF - .byte 0x00, 0x04, 0x00, 0x0C, 0x02, 0xF0, 0x96, 0xFB, 0x04, 0x1C, 0x0E, 0xE0, 0x31, 0x7E, 0x01, 0x9A - .byte 0x09, 0x06, 0xAA, 0x3A, 0xC9, 0x0E, 0x01, 0x92, 0x00, 0xF0, 0x24, 0xFF, 0x04, 0x1C, 0x04, 0xE0 - .byte 0x28, 0x88, 0x02, 0x9A, 0x21, 0x1C, 0xA3, 0xF7, 0xC1, 0xF8 +_020677D4: + mov r4, #0x1 + b _0206781A +_020677D8: + ldrh r0, [r5, #0x0] + ldr r1, _0206782C ; =0x000001ED + cmp r0, r1 + bne _020677FC + ldrb r1, [r5, #0xd] + cmp r1, #0x79 + bne _020677FC + ldrh r0, [r5, #0x2] + mov r1, #0x1 + add r2, r4, #0x0 + bl FUN_0206E7B8 + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02069F24 + add r4, r0, #0x0 + b _0206781A +_020677FC: + ldrb r1, [r6, #0x18] + ldr r2, [sp, #0x4] + lsl r1, r1, #0x18 + sub r2, #0xaa + lsr r1, r1, #0x1b + str r2, [sp, #0x4] + bl FUN_02068654 + add r4, r0, #0x0 + b _0206781A +_02067810: + ldrh r0, [r5, #0x0] + ldr r2, [sp, #0x8] + add r1, r4, #0x0 + bl FUN_0200A99C _0206781A: add r0, r4, #0x0 add sp, #0xc pop {r4-r7, pc} -_02067820: - .byte 0xEE, 0x01, 0x00, 0x00, 0xEF, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xED, 0x01, 0x00, 0x00 + .balign 4 +_02067820: .word 0x000001EE +_02067824: .word 0x000001EF +_02067828: .word 0x0000FFFF +_0206782C: .word 0x000001ED thumb_func_start FUN_02067830 FUN_02067830: ; 0x02067830 @@ -194852,30 +217947,81 @@ FUN_020678C0: ; 0x020678C0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 - lsl r6, r5, #0 - lsl r6, r6, #0 - lsl r6, r7, #0 - lsl r6, r0, #0x1 - lsl r6, r1, #0x1 - lsl r6, r2, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r2, r6, #0x1 +_020678D8: ; jump table (using 16-bit offset) + .short _020678F0 - _020678D8 - 2; case 0 + .short _020678F8 - _020678D8 - 2; case 1 + .short _02067900 - _020678D8 - 2; case 2 + .short _02067908 - _020678D8 - 2; case 3 + .short _02067910 - _020678D8 - 2; case 4 + .short _02067918 - _020678D8 - 2; case 5 + .short _02067920 - _020678D8 - 2; case 6 + .short _02067928 - _020678D8 - 2; case 7 + .short _02067930 - _020678D8 - 2; case 8 + .short _02067938 - _020678D8 - 2; case 9 + .short _02067940 - _020678D8 - 2; case 10 + .short _0206794C - _020678D8 - 2; case 11 +_020678F0: ldr r0, [r2, #0x0] add r3, #0x88 str r0, [r3, #0x0] pop {r3, pc} _020678F8: - .byte 0x10, 0x78, 0x8C, 0x33, 0x18, 0x70, 0x08, 0xBD - .byte 0x10, 0x78, 0x8D, 0x33, 0x18, 0x70, 0x08, 0xBD, 0x10, 0x88, 0x8E, 0x33, 0x18, 0x80, 0x08, 0xBD - .byte 0x10, 0x88, 0x90, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x92, 0x33, 0x18, 0x80, 0x08, 0xBD - .byte 0x10, 0x88, 0x94, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x96, 0x33, 0x18, 0x80, 0x08, 0xBD - .byte 0x10, 0x88, 0x98, 0x33, 0x18, 0x80, 0x08, 0xBD, 0x10, 0x88, 0x9A, 0x33, 0x18, 0x80, 0x08, 0xBD - .byte 0x9C, 0x33, 0x10, 0x1C, 0x19, 0x1C, 0xBD, 0xF7, 0xC3, 0xFE, 0x08, 0xBD, 0xD4, 0x33, 0x10, 0x1C - .byte 0x19, 0x1C, 0xC2, 0xF7, 0x8F, 0xF9, 0x08, 0xBD + ldrb r0, [r2, #0x0] + add r3, #0x8c + strb r0, [r3, #0x0] + pop {r3, pc} +_02067900: + ldrb r0, [r2, #0x0] + add r3, #0x8d + strb r0, [r3, #0x0] + pop {r3, pc} +_02067908: + ldrh r0, [r2, #0x0] + add r3, #0x8e + strh r0, [r3, #0x0] + pop {r3, pc} +_02067910: + ldrh r0, [r2, #0x0] + add r3, #0x90 + strh r0, [r3, #0x0] + pop {r3, pc} +_02067918: + ldrh r0, [r2, #0x0] + add r3, #0x92 + strh r0, [r3, #0x0] + pop {r3, pc} +_02067920: + ldrh r0, [r2, #0x0] + add r3, #0x94 + strh r0, [r3, #0x0] + pop {r3, pc} +_02067928: + ldrh r0, [r2, #0x0] + add r3, #0x96 + strh r0, [r3, #0x0] + pop {r3, pc} +_02067930: + ldrh r0, [r2, #0x0] + add r3, #0x98 + strh r0, [r3, #0x0] + pop {r3, pc} +_02067938: + ldrh r0, [r2, #0x0] + add r3, #0x9a + strh r0, [r3, #0x0] + pop {r3, pc} +_02067940: + add r3, #0x9c + add r0, r2, #0x0 + add r1, r3, #0x0 + bl FUN_020256D0 + pop {r3, pc} +_0206794C: + add r3, #0xd4 + add r0, r2, #0x0 + add r1, r3, #0x0 + bl FUN_02029C74 + pop {r3, pc} _02067958: add r0, r3, #0x0 bl FUN_020679D8 @@ -194981,270 +218127,817 @@ _02067A20: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r4, #0x5 - lsl r6, r5, #0x5 - lsl r4, r1, #0x6 - lsl r0, r5, #0x6 - lsl r0, r0, #0x7 - lsl r2, r1, #0x7 - lsl r2, r2, #0x7 - lsl r2, r3, #0x7 - lsl r2, r4, #0x7 - lsl r2, r5, #0x7 - lsl r2, r6, #0x7 - lsl r2, r7, #0x7 - lsl r2, r0, #0x8 - lsl r2, r1, #0x8 - lsl r2, r2, #0x8 - lsl r2, r3, #0x8 - lsl r2, r4, #0x8 - lsl r2, r5, #0x8 - lsl r2, r6, #0x8 - lsl r2, r7, #0x8 - lsl r2, r0, #0x9 - lsl r2, r1, #0x9 - lsl r2, r2, #0x9 - lsl r2, r3, #0x9 - lsl r2, r4, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r2, r5, #0x9 - lsl r0, r3, #0xa - lsl r0, r3, #0xa - lsl r0, r3, #0xa - lsl r0, r3, #0xa - lsl r0, r5, #0xa - lsl r0, r5, #0xa - lsl r0, r5, #0xa - lsl r0, r5, #0xa - lsl r0, r7, #0xa - lsl r0, r7, #0xa - lsl r0, r7, #0xa - lsl r0, r7, #0xa - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0xb - lsl r4, r3, #0xb - lsl r0, r6, #0xb - lsl r4, r0, #0xc - lsl r0, r3, #0xc - lsl r4, r5, #0xc - lsl r0, r0, #0xd - lsl r4, r2, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r6, r4, #0xd - lsl r4, r2, #0xe - lsl r0, r5, #0xe - lsl r4, r7, #0xe - lsl r0, r2, #0xf - lsl r0, r3, #0xf - lsl r0, r1, #0x17 - lsl r6, r7, #0xf - lsl r0, r4, #0xf - lsl r6, r7, #0x10 - lsl r2, r2, #0x10 - lsl r4, r1, #0x11 - lsl r4, r2, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r4, r3, #0x11 - lsl r0, r4, #0x12 - lsl r4, r6, #0x12 - lsl r0, r0, #0x13 - lsl r0, r1, #0x13 - lsl r0, r2, #0x13 - lsl r0, r3, #0x13 - lsl r0, r4, #0x13 - lsl r0, r5, #0x13 - lsl r0, r6, #0x13 - lsl r0, r7, #0x13 - lsl r0, r0, #0x14 - lsl r0, r1, #0x14 - lsl r0, r2, #0x14 - lsl r4, r4, #0x14 - lsl r0, r7, #0x14 - lsl r0, r0, #0x15 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x15 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r1, #0x17 - lsl r0, r6, #0x16 +_02067A2C: ; jump table (using 16-bit offset) + .short _02067B92 - _02067A2C - 2; case 0 + .short _02067B9C - _02067A2C - 2; case 1 + .short _02067BBA - _02067A2C - 2; case 2 + .short _02067BD6 - _02067A2C - 2; case 3 + .short _02067BEE - _02067A2C - 2; case 4 + .short _02067BF8 - _02067A2C - 2; case 5 + .short _02067C00 - _02067A2C - 2; case 6 + .short _02067C08 - _02067A2C - 2; case 7 + .short _02067C10 - _02067A2C - 2; case 8 + .short _02067C18 - _02067A2C - 2; case 9 + .short _02067C20 - _02067A2C - 2; case 10 + .short _02067C28 - _02067A2C - 2; case 11 + .short _02067C30 - _02067A2C - 2; case 12 + .short _02067C38 - _02067A2C - 2; case 13 + .short _02067C40 - _02067A2C - 2; case 14 + .short _02067C48 - _02067A2C - 2; case 15 + .short _02067C50 - _02067A2C - 2; case 16 + .short _02067C58 - _02067A2C - 2; case 17 + .short _02067C60 - _02067A2C - 2; case 18 + .short _02067C68 - _02067A2C - 2; case 19 + .short _02067C70 - _02067A2C - 2; case 20 + .short _02067C78 - _02067A2C - 2; case 21 + .short _02067C80 - _02067A2C - 2; case 22 + .short _02067C88 - _02067A2C - 2; case 23 + .short _02067C90 - _02067A2C - 2; case 24 + .short _02067C98 - _02067A2C - 2; case 25 + .short _02067C98 - _02067A2C - 2; case 26 + .short _02067C98 - _02067A2C - 2; case 27 + .short _02067C98 - _02067A2C - 2; case 28 + .short _02067C98 - _02067A2C - 2; case 29 + .short _02067C98 - _02067A2C - 2; case 30 + .short _02067C98 - _02067A2C - 2; case 31 + .short _02067C98 - _02067A2C - 2; case 32 + .short _02067C98 - _02067A2C - 2; case 33 + .short _02067C98 - _02067A2C - 2; case 34 + .short _02067C98 - _02067A2C - 2; case 35 + .short _02067C98 - _02067A2C - 2; case 36 + .short _02067C98 - _02067A2C - 2; case 37 + .short _02067C98 - _02067A2C - 2; case 38 + .short _02067C98 - _02067A2C - 2; case 39 + .short _02067C98 - _02067A2C - 2; case 40 + .short _02067C98 - _02067A2C - 2; case 41 + .short _02067C98 - _02067A2C - 2; case 42 + .short _02067C98 - _02067A2C - 2; case 43 + .short _02067C98 - _02067A2C - 2; case 44 + .short _02067C98 - _02067A2C - 2; case 45 + .short _02067C98 - _02067A2C - 2; case 46 + .short _02067C98 - _02067A2C - 2; case 47 + .short _02067C98 - _02067A2C - 2; case 48 + .short _02067C98 - _02067A2C - 2; case 49 + .short _02067C98 - _02067A2C - 2; case 50 + .short _02067C98 - _02067A2C - 2; case 51 + .short _02067C98 - _02067A2C - 2; case 52 + .short _02067C98 - _02067A2C - 2; case 53 + .short _02067CC6 - _02067A2C - 2; case 54 + .short _02067CC6 - _02067A2C - 2; case 55 + .short _02067CC6 - _02067A2C - 2; case 56 + .short _02067CC6 - _02067A2C - 2; case 57 + .short _02067CD6 - _02067A2C - 2; case 58 + .short _02067CD6 - _02067A2C - 2; case 59 + .short _02067CD6 - _02067A2C - 2; case 60 + .short _02067CD6 - _02067A2C - 2; case 61 + .short _02067CE6 - _02067A2C - 2; case 62 + .short _02067CE6 - _02067A2C - 2; case 63 + .short _02067CE6 - _02067A2C - 2; case 64 + .short _02067CE6 - _02067A2C - 2; case 65 + .short _02067FF6 - _02067A2C - 2; case 66 + .short _02067FF6 - _02067A2C - 2; case 67 + .short _02067FF6 - _02067A2C - 2; case 68 + .short _02067FF6 - _02067A2C - 2; case 69 + .short _02067CF6 - _02067A2C - 2; case 70 + .short _02067D0A - _02067A2C - 2; case 71 + .short _02067D1E - _02067A2C - 2; case 72 + .short _02067D32 - _02067A2C - 2; case 73 + .short _02067D46 - _02067A2C - 2; case 74 + .short _02067D5A - _02067A2C - 2; case 75 + .short _02067D6E - _02067A2C - 2; case 76 + .short _02067D82 - _02067A2C - 2; case 77 + .short _02067D94 - _02067A2C - 2; case 78 + .short _02067D94 - _02067A2C - 2; case 79 + .short _02067D94 - _02067A2C - 2; case 80 + .short _02067D94 - _02067A2C - 2; case 81 + .short _02067D94 - _02067A2C - 2; case 82 + .short _02067D94 - _02067A2C - 2; case 83 + .short _02067D94 - _02067A2C - 2; case 84 + .short _02067D94 - _02067A2C - 2; case 85 + .short _02067D94 - _02067A2C - 2; case 86 + .short _02067D94 - _02067A2C - 2; case 87 + .short _02067D94 - _02067A2C - 2; case 88 + .short _02067D94 - _02067A2C - 2; case 89 + .short _02067D94 - _02067A2C - 2; case 90 + .short _02067D94 - _02067A2C - 2; case 91 + .short _02067D94 - _02067A2C - 2; case 92 + .short _02067D94 - _02067A2C - 2; case 93 + .short _02067D94 - _02067A2C - 2; case 94 + .short _02067D94 - _02067A2C - 2; case 95 + .short _02067D94 - _02067A2C - 2; case 96 + .short _02067D94 - _02067A2C - 2; case 97 + .short _02067D94 - _02067A2C - 2; case 98 + .short _02067D94 - _02067A2C - 2; case 99 + .short _02067D94 - _02067A2C - 2; case 100 + .short _02067D94 - _02067A2C - 2; case 101 + .short _02067D94 - _02067A2C - 2; case 102 + .short _02067D94 - _02067A2C - 2; case 103 + .short _02067D94 - _02067A2C - 2; case 104 + .short _02067D94 - _02067A2C - 2; case 105 + .short _02067D94 - _02067A2C - 2; case 106 + .short _02067D94 - _02067A2C - 2; case 107 + .short _02067D94 - _02067A2C - 2; case 108 + .short _02067D94 - _02067A2C - 2; case 109 + .short _02067DC2 - _02067A2C - 2; case 110 + .short _02067DD6 - _02067A2C - 2; case 111 + .short _02067DEA - _02067A2C - 2; case 112 + .short _02067DFE - _02067A2C - 2; case 113 + .short _02067E06 - _02067A2C - 2; case 114 + .short _02067FF6 - _02067A2C - 2; case 115 + .short _02067E2C - _02067A2C - 2; case 116 + .short _02067E0E - _02067A2C - 2; case 117 + .short _02067E6C - _02067A2C - 2; case 118 + .short _02067E40 - _02067A2C - 2; case 119 + .short _02067E7A - _02067A2C - 2; case 120 + .short _02067E82 - _02067A2C - 2; case 121 + .short _02067E8A - _02067A2C - 2; case 122 + .short _02067E8A - _02067A2C - 2; case 123 + .short _02067E8A - _02067A2C - 2; case 124 + .short _02067E8A - _02067A2C - 2; case 125 + .short _02067E8A - _02067A2C - 2; case 126 + .short _02067E8A - _02067A2C - 2; case 127 + .short _02067E8A - _02067A2C - 2; case 128 + .short _02067E8A - _02067A2C - 2; case 129 + .short _02067E8A - _02067A2C - 2; case 130 + .short _02067E8A - _02067A2C - 2; case 131 + .short _02067E8A - _02067A2C - 2; case 132 + .short _02067E8A - _02067A2C - 2; case 133 + .short _02067E8A - _02067A2C - 2; case 134 + .short _02067E8A - _02067A2C - 2; case 135 + .short _02067E8A - _02067A2C - 2; case 136 + .short _02067E8A - _02067A2C - 2; case 137 + .short _02067E8A - _02067A2C - 2; case 138 + .short _02067E8A - _02067A2C - 2; case 139 + .short _02067E8A - _02067A2C - 2; case 140 + .short _02067E8A - _02067A2C - 2; case 141 + .short _02067E8A - _02067A2C - 2; case 142 + .short _02067ECE - _02067A2C - 2; case 143 + .short _02067EE2 - _02067A2C - 2; case 144 + .short _02067EEE - _02067A2C - 2; case 145 + .short _02067EF6 - _02067A2C - 2; case 146 + .short _02067EFE - _02067A2C - 2; case 147 + .short _02067F06 - _02067A2C - 2; case 148 + .short _02067F0E - _02067A2C - 2; case 149 + .short _02067F16 - _02067A2C - 2; case 150 + .short _02067F1E - _02067A2C - 2; case 151 + .short _02067F26 - _02067A2C - 2; case 152 + .short _02067F2E - _02067A2C - 2; case 153 + .short _02067F36 - _02067A2C - 2; case 154 + .short _02067F3E - _02067A2C - 2; case 155 + .short _02067F52 - _02067A2C - 2; case 156 + .short _02067F66 - _02067A2C - 2; case 157 + .short _02067F6E - _02067A2C - 2; case 158 + .short _02067FF6 - _02067A2C - 2; case 159 + .short _02067FF6 - _02067A2C - 2; case 160 + .short _02067FF6 - _02067A2C - 2; case 161 + .short _02067FF6 - _02067A2C - 2; case 162 + .short _02067FF6 - _02067A2C - 2; case 163 + .short _02067FF6 - _02067A2C - 2; case 164 + .short _02067FF6 - _02067A2C - 2; case 165 + .short _02067FF6 - _02067A2C - 2; case 166 + .short _02067FF6 - _02067A2C - 2; case 167 + .short _02067FF6 - _02067A2C - 2; case 168 + .short _02067FF6 - _02067A2C - 2; case 169 + .short _02067FF6 - _02067A2C - 2; case 170 + .short _02067FF6 - _02067A2C - 2; case 171 + .short _02067FF6 - _02067A2C - 2; case 172 + .short _02067FF6 - _02067A2C - 2; case 173 + .short _02067F76 - _02067A2C - 2; case 174 + .short _02067FF6 - _02067A2C - 2; case 175 + .short _02067FF6 - _02067A2C - 2; case 176 + .short _02067FF6 - _02067A2C - 2; case 177 + .short _02067FDE - _02067A2C - 2; case 178 +_02067B92: ldr r0, [sp, #0x0] ldr r1, [r4, #0x0] add sp, #0x4c str r1, [r0, #0x0] pop {r4-r7, pc} _02067B9C: - .byte 0xB9, 0xF7, 0x46, 0xF8 - .byte 0x00, 0x98, 0x21, 0x78, 0x82, 0x88, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x11, 0x1C - .byte 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0xB9, 0xF7, 0x37, 0xF8, 0x00, 0x98 - .byte 0x81, 0x88, 0x02, 0x20, 0x81, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x80, 0x0F, 0x01, 0x43, 0x00, 0x98 - .byte 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x00, 0x98, 0x81, 0x88, 0x04, 0x20, 0x81, 0x43, 0x20, 0x78 - .byte 0xC0, 0x07, 0x40, 0x0F, 0x01, 0x43, 0x00, 0x98, 0x13, 0xB0, 0x81, 0x80, 0xF0, 0xBD, 0x21, 0x88 - .byte 0x00, 0x98, 0x13, 0xB0, 0xC1, 0x80, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x38, 0x80, 0xF0, 0xBD - .byte 0x20, 0x88, 0x13, 0xB0, 0x78, 0x80, 0xF0, 0xBD, 0x20, 0x68, 0x13, 0xB0, 0x78, 0x60, 0xF0, 0xBD - .byte 0x20, 0x68, 0x13, 0xB0, 0xB8, 0x60, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x73, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x73, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x73, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x74, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x74, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x75, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x75, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x38, 0x76, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0x78, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB8, 0x76, 0xF0, 0xBD - .byte 0x20, 0x78, 0x13, 0xB0, 0xF8, 0x76, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x19, 0x3A - .byte 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xD4, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0xF9, 0x69, 0x13, 0xB0 - .byte 0x08, 0x43, 0xF8, 0x61, 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0xFA, 0x69, 0x48, 0x40, 0x10, 0x40 - .byte 0x13, 0xB0, 0xF8, 0x61, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x88, 0x36, 0x38, 0x01, 0x90, 0x40, 0x00 - .byte 0x13, 0xB0, 0x29, 0x52, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3A, 0x38, 0x01, 0x90, 0x28, 0x18 - .byte 0x01, 0x72, 0x13, 0xB0, 0xF0, 0xBD, 0x01, 0x98, 0x21, 0x78, 0x3E, 0x38, 0x01, 0x90, 0x28, 0x18 - .byte 0x01, 0x73, 0x13, 0xB0, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x78, 0x1F, 0x20 - .byte 0x13, 0xB0, 0x08, 0x40, 0x10, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xBB, 0x48, 0x13, 0xB0 - .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x0D, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 - .byte 0xB7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x28, 0x61 - .byte 0xF0, 0xBD, 0x29, 0x69, 0xB3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0B - .byte 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAF, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78 - .byte 0xC0, 0x06, 0xC0, 0x09, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xAB, 0x48, 0x13, 0xB0 - .byte 0x01, 0x40, 0x20, 0x78, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 - .byte 0xA7, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x40, 0x08, 0x08, 0x43, 0x28, 0x61 - .byte 0xF0, 0xBD, 0x29, 0x69, 0xA3, 0x48, 0x13, 0xB0, 0x01, 0x40, 0x20, 0x78, 0xC0, 0x07, 0x08, 0x43 - .byte 0x28, 0x61, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21, 0x4E, 0x3A, 0x20, 0x1C, 0x01, 0x92 - .byte 0x83, 0xF0, 0x56, 0xEF, 0x00, 0x2C, 0x04, 0xD0, 0x69, 0x69, 0x13, 0xB0, 0x08, 0x43, 0x68, 0x61 - .byte 0xF0, 0xBD, 0x00, 0x21, 0x49, 0x1E, 0x6A, 0x69, 0x48, 0x40, 0x10, 0x40, 0x13, 0xB0, 0x68, 0x61 - .byte 0xF0, 0xBD, 0x2A, 0x7E, 0x21, 0x78, 0x01, 0x20, 0x82, 0x43, 0x01, 0x20, 0x08, 0x40, 0x10, 0x43 - .byte 0x13, 0xB0, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0x06, 0x20, 0x13, 0xB0, 0x81, 0x43, 0x20, 0x78 - .byte 0x80, 0x07, 0x40, 0x0F, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x29, 0x7E, 0xF8, 0x20, 0x13, 0xB0 - .byte 0x81, 0x43, 0x20, 0x78, 0xC0, 0x06, 0x00, 0x0E, 0x08, 0x43, 0x28, 0x76, 0xF0, 0xBD, 0x20, 0x78 - .byte 0x13, 0xB0, 0x68, 0x76, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x68, 0x83, 0xF0, 0xBD, 0x38, 0x88 - .byte 0x00, 0x21, 0x0D, 0xAA, 0xA2, 0xF7, 0xC2, 0xFD, 0x0D, 0xA8, 0x21, 0x1C, 0x9A, 0xF7, 0x42, 0xFA - .byte 0x2A, 0x69, 0x7C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x00, 0x21, 0x20, 0x88 - .byte 0x49, 0x1C, 0xA4, 0x1C, 0x30, 0x80, 0xB6, 0x1C, 0x0B, 0x29, 0xF8, 0xD3, 0x13, 0xB0, 0xF0, 0xBD - .byte 0x38, 0x88, 0x07, 0xAA, 0x00, 0x21, 0x02, 0x32, 0xA2, 0xF7, 0xA8, 0xFD, 0x20, 0x1C, 0x02, 0xA9 - .byte 0x0B, 0x22, 0xBA, 0xF7, 0x4D, 0xF8, 0x07, 0xA8, 0x02, 0x30, 0x02, 0xA9, 0x9A, 0xF7, 0x22, 0xFA - .byte 0x2A, 0x69, 0x6C, 0x49, 0xC0, 0x07, 0x11, 0x40, 0x08, 0x43, 0x28, 0x61, 0x20, 0x1C, 0x31, 0x1C - .byte 0x0B, 0x22, 0xBA, 0xF7, 0x3D, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xB0, 0x75 - .byte 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xF0, 0x75, 0xF0, 0xBD, 0x24, 0x78, 0x01, 0x9A, 0x00, 0x21 - .byte 0x7A, 0x3A, 0x20, 0x1C, 0x01, 0x92, 0x83, 0xF0, 0xDC, 0xEE, 0x00, 0x2C, 0x09, 0xD0, 0x34, 0x1C - .byte 0x18, 0x34, 0xB3, 0x69, 0x62, 0x68, 0x18, 0x43, 0x11, 0x43, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60 - .byte 0xF0, 0xBD, 0x34, 0x1C, 0x00, 0x25, 0xED, 0x43, 0x18, 0x34, 0xB3, 0x69, 0x68, 0x40, 0x62, 0x68 - .byte 0x69, 0x40, 0x18, 0x40, 0x11, 0x40, 0xB0, 0x61, 0x13, 0xB0, 0x61, 0x60, 0xF0, 0xBD, 0x00, 0x22 - .byte 0x20, 0x88, 0x52, 0x1C, 0xA4, 0x1C, 0x08, 0x80, 0x89, 0x1C, 0x08, 0x2A, 0xF8, 0xD3, 0x13, 0xB0 - .byte 0xF0, 0xBD, 0x20, 0x1C, 0x08, 0x22, 0xBA, 0xF7, 0x03, 0xF8, 0x13, 0xB0, 0xF0, 0xBD, 0x20, 0x78 - .byte 0x13, 0xB0, 0x08, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x74, 0xF0, 0xBD, 0x20, 0x78 - .byte 0x13, 0xB0, 0x88, 0x74, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x74, 0xF0, 0xBD, 0x20, 0x78 - .byte 0x13, 0xB0, 0x08, 0x75, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x75, 0xF0, 0xBD, 0x20, 0x88 - .byte 0x13, 0xB0, 0xC8, 0x82, 0xF0, 0xBD, 0x20, 0x88, 0x13, 0xB0, 0x08, 0x83, 0xF0, 0xBD, 0x20, 0x78 - .byte 0x13, 0xB0, 0x88, 0x76, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0xC8, 0x76, 0xF0, 0xBD, 0x0B, 0x7F - .byte 0x22, 0x78, 0x7F, 0x20, 0x83, 0x43, 0x7F, 0x20, 0x10, 0x40, 0x18, 0x43, 0x08, 0x77, 0x13, 0xB0 - .byte 0xF0, 0xBD, 0x0A, 0x7F, 0x80, 0x20, 0x13, 0xB0, 0x82, 0x43, 0x20, 0x78, 0xC0, 0x07, 0x00, 0x0E - .byte 0x10, 0x43, 0x08, 0x77, 0xF0, 0xBD, 0x20, 0x78, 0x13, 0xB0, 0x48, 0x77, 0xF0, 0xBD, 0x20, 0x88 - .byte 0x13, 0xB0, 0xC8, 0x83, 0xF0, 0xBD, 0x2A, 0x69, 0x1F, 0x20, 0x82, 0x43, 0x21, 0x68, 0x1F, 0x20 - .byte 0x01, 0x40, 0x08, 0x40, 0x11, 0x1C, 0x01, 0x43, 0x1C, 0x48, 0x29, 0x61, 0x01, 0x40, 0x20, 0x68 - .byte 0x13, 0xB0, 0x40, 0x09, 0xC0, 0x06, 0x80, 0x0D, 0x01, 0x43, 0x19, 0x48, 0x29, 0x61, 0x01, 0x40 - .byte 0x20, 0x68, 0x80, 0x0A, 0xC0, 0x06, 0x40, 0x0C, 0x01, 0x43, 0x16, 0x48, 0x29, 0x61, 0x01, 0x40 - .byte 0x20, 0x68, 0xC0, 0x0B, 0xC0, 0x06, 0x00, 0x0B, 0x01, 0x43, 0x13, 0x48, 0x29, 0x61, 0x01, 0x40 - .byte 0x20, 0x68, 0x00, 0x0D, 0xC0, 0x06, 0xC0, 0x09, 0x01, 0x43, 0x10, 0x48, 0x29, 0x61, 0x01, 0x40 - .byte 0x20, 0x68, 0x40, 0x0E, 0xC0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x28, 0x61, 0xF0, 0xBD, 0x38, 0x88 - .byte 0x00, 0x21, 0xA2, 0xF7, 0x35, 0xFD, 0x04, 0x1C, 0x31, 0x1C, 0x0B, 0x22, 0xB9, 0xF7, 0x80, 0xFF - .byte 0x20, 0x1C, 0xB9, 0xF7, 0x15, 0xFD + bl FUN_02020C2C + ldr r0, [sp, #0x0] + ldrb r1, [r4, #0x0] + ldrh r2, [r0, #0x4] + mov r0, #0x1 + bic r2, r0 + mov r0, #0x1 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, [sp, #0x0] + add sp, #0x4c + strh r1, [r0, #0x4] + pop {r4-r7, pc} +_02067BBA: + bl FUN_02020C2C + ldr r0, [sp, #0x0] + ldrh r1, [r0, #0x4] + mov r0, #0x2 + bic r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1e + orr r1, r0 + ldr r0, [sp, #0x0] + add sp, #0x4c + strh r1, [r0, #0x4] + pop {r4-r7, pc} +_02067BD6: + ldr r0, [sp, #0x0] + ldrh r1, [r0, #0x4] + mov r0, #0x4 + bic r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1d + orr r1, r0 + ldr r0, [sp, #0x0] + add sp, #0x4c + strh r1, [r0, #0x4] + pop {r4-r7, pc} +_02067BEE: + ldrh r1, [r4, #0x0] + ldr r0, [sp, #0x0] + add sp, #0x4c + strh r1, [r0, #0x6] + pop {r4-r7, pc} +_02067BF8: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r7, #0x0] + pop {r4-r7, pc} +_02067C00: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r7, #0x2] + pop {r4-r7, pc} +_02067C08: + ldr r0, [r4, #0x0] + add sp, #0x4c + str r0, [r7, #0x4] + pop {r4-r7, pc} +_02067C10: + ldr r0, [r4, #0x0] + add sp, #0x4c + str r0, [r7, #0x8] + pop {r4-r7, pc} +_02067C18: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0xc] + pop {r4-r7, pc} +_02067C20: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0xd] + pop {r4-r7, pc} +_02067C28: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0xe] + pop {r4-r7, pc} +_02067C30: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0xf] + pop {r4-r7, pc} +_02067C38: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x10] + pop {r4-r7, pc} +_02067C40: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x11] + pop {r4-r7, pc} +_02067C48: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x12] + pop {r4-r7, pc} +_02067C50: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x13] + pop {r4-r7, pc} +_02067C58: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x14] + pop {r4-r7, pc} +_02067C60: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x15] + pop {r4-r7, pc} +_02067C68: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x16] + pop {r4-r7, pc} +_02067C70: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x17] + pop {r4-r7, pc} +_02067C78: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x18] + pop {r4-r7, pc} +_02067C80: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x19] + pop {r4-r7, pc} +_02067C88: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x1a] + pop {r4-r7, pc} +_02067C90: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r7, #0x1b] + pop {r4-r7, pc} +_02067C98: + ldrb r4, [r4, #0x0] + ldr r2, [sp, #0x4] + mov r1, #0x0 + sub r2, #0x19 + add r0, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + cmp r4, #0x0 + beq _02067CB6 + ldr r1, [r7, #0x1c] + add sp, #0x4c + orr r0, r1 + str r0, [r7, #0x1c] + pop {r4-r7, pc} +_02067CB6: + mov r1, #0x0 + sub r1, r1, #0x1 + ldr r2, [r7, #0x1c] + eor r0, r1 + and r0, r2 + add sp, #0x4c + str r0, [r7, #0x1c] + pop {r4-r7, pc} +_02067CC6: + ldr r0, [sp, #0x4] + ldrh r1, [r4, #0x0] + sub r0, #0x36 + str r0, [sp, #0x4] + lsl r0, r0, #0x1 + add sp, #0x4c + strh r1, [r5, r0] + pop {r4-r7, pc} +_02067CD6: + ldr r0, [sp, #0x4] + ldrb r1, [r4, #0x0] + sub r0, #0x3a + str r0, [sp, #0x4] + add r0, r5, r0 + strb r1, [r0, #0x8] + add sp, #0x4c + pop {r4-r7, pc} +_02067CE6: + ldr r0, [sp, #0x4] + ldrb r1, [r4, #0x0] + sub r0, #0x3e + str r0, [sp, #0x4] + add r0, r5, r0 + strb r1, [r0, #0xc] + add sp, #0x4c + pop {r4-r7, pc} +_02067CF6: + ldr r2, [r5, #0x10] + mov r0, #0x1f + bic r2, r0 + ldrb r1, [r4, #0x0] + mov r0, #0x1f + add sp, #0x4c + and r0, r1 + orr r0, r2 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D0A: + ldr r1, [r5, #0x10] + ldr r0, _02067FFC ; =0xFFFFFC1F + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x16 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D1E: + ldr r1, [r5, #0x10] + ldr r0, _02068000 ; =0xFFFF83FF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x11 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D32: + ldr r1, [r5, #0x10] + ldr r0, _02068004 ; =0xFFF07FFF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0xc + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D46: + ldr r1, [r5, #0x10] + ldr r0, _02068008 ; =0xFE0FFFFF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x7 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D5A: + ldr r1, [r5, #0x10] + ldr r0, _0206800C ; =0xC1FFFFFF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x2 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D6E: + ldr r1, [r5, #0x10] + ldr r0, _02068010 ; =0xBFFFFFFF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D82: + ldr r1, [r5, #0x10] + ldr r0, _02068014 ; =0x7FFFFFFF + add sp, #0x4c + and r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1f + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067D94: + ldrb r4, [r4, #0x0] + ldr r2, [sp, #0x4] + mov r1, #0x0 + sub r2, #0x4e + add r0, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + cmp r4, #0x0 + beq _02067DB2 + ldr r1, [r5, #0x14] + add sp, #0x4c + orr r0, r1 + str r0, [r5, #0x14] + pop {r4-r7, pc} +_02067DB2: + mov r1, #0x0 + sub r1, r1, #0x1 + ldr r2, [r5, #0x14] + eor r0, r1 + and r0, r2 + add sp, #0x4c + str r0, [r5, #0x14] + pop {r4-r7, pc} +_02067DC2: + ldrb r2, [r5, #0x18] + ldrb r1, [r4, #0x0] + mov r0, #0x1 + bic r2, r0 + mov r0, #0x1 + and r0, r1 + orr r0, r2 + add sp, #0x4c + strb r0, [r5, #0x18] + pop {r4-r7, pc} +_02067DD6: + ldrb r1, [r5, #0x18] + mov r0, #0x6 + add sp, #0x4c + bic r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1d + orr r0, r1 + strb r0, [r5, #0x18] + pop {r4-r7, pc} +_02067DEA: + ldrb r1, [r5, #0x18] + mov r0, #0xf8 + add sp, #0x4c + bic r1, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x18 + orr r0, r1 + strb r0, [r5, #0x18] + pop {r4-r7, pc} +_02067DFE: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r5, #0x19] + pop {r4-r7, pc} +_02067E06: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r5, #0x1a] + pop {r4-r7, pc} +_02067E0E: + ldrh r0, [r7, #0x0] + mov r1, #0x0 + add r2, sp, #0x34 + bl FUN_0200A99C + add r0, sp, #0x34 + add r1, r4, #0x0 + bl FUN_020022A4 + ldr r2, [r5, #0x10] + ldr r1, _02068014 ; =0x7FFFFFFF + lsl r0, r0, #0x1f + and r1, r2 + orr r0, r1 + str r0, [r5, #0x10] +_02067E2C: + mov r1, #0x0 +_02067E2E: + ldrh r0, [r4, #0x0] + add r1, r1, #0x1 + add r4, r4, #0x2 + strh r0, [r6, #0x0] + add r6, r6, #0x2 + cmp r1, #0xb + blo _02067E2E + add sp, #0x4c + pop {r4-r7, pc} +_02067E40: + ldrh r0, [r7, #0x0] + add r2, sp, #0x1c + mov r1, #0x0 + add r2, #0x2 + bl FUN_0200A99C + add r0, r4, #0x0 + add r1, sp, #0x8 + mov r2, #0xb + bl FUN_02021EF0 + add r0, sp, #0x1c + add r0, #0x2 + add r1, sp, #0x8 + bl FUN_020022A4 + ldr r2, [r5, #0x10] + ldr r1, _02068014 ; =0x7FFFFFFF + lsl r0, r0, #0x1f + and r1, r2 + orr r0, r1 + str r0, [r5, #0x10] +_02067E6C: + add r0, r4, #0x0 + add r1, r6, #0x0 + mov r2, #0xb + bl FUN_02021EF0 + add sp, #0x4c + pop {r4-r7, pc} +_02067E7A: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r6, #0x16] + pop {r4-r7, pc} +_02067E82: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r6, #0x17] + pop {r4-r7, pc} +_02067E8A: + ldrb r4, [r4, #0x0] + ldr r2, [sp, #0x4] + mov r1, #0x0 + sub r2, #0x7a + add r0, r4, #0x0 + str r2, [sp, #0x4] + blx FUN_020EBC50 + cmp r4, #0x0 + beq _02067EB2 + add r4, r6, #0x0 + add r4, #0x18 + ldr r3, [r6, #0x18] + ldr r2, [r4, #0x4] + orr r0, r3 + orr r1, r2 + str r0, [r6, #0x18] + add sp, #0x4c + str r1, [r4, #0x4] + pop {r4-r7, pc} +_02067EB2: + add r4, r6, #0x0 + mov r5, #0x0 + mvn r5, r5 + add r4, #0x18 + ldr r3, [r6, #0x18] + eor r0, r5 + ldr r2, [r4, #0x4] + eor r1, r5 + and r0, r3 + and r1, r2 + str r0, [r6, #0x18] + add sp, #0x4c + str r1, [r4, #0x4] + pop {r4-r7, pc} +_02067ECE: + mov r2, #0x0 +_02067ED0: + ldrh r0, [r4, #0x0] + add r2, r2, #0x1 + add r4, r4, #0x2 + strh r0, [r1, #0x0] + add r1, r1, #0x2 + cmp r2, #0x8 + blo _02067ED0 + add sp, #0x4c + pop {r4-r7, pc} +_02067EE2: + add r0, r4, #0x0 + mov r2, #0x8 + bl FUN_02021EF0 + add sp, #0x4c + pop {r4-r7, pc} +_02067EEE: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x10] + pop {r4-r7, pc} +_02067EF6: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x11] + pop {r4-r7, pc} +_02067EFE: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x12] + pop {r4-r7, pc} +_02067F06: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x13] + pop {r4-r7, pc} +_02067F0E: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x14] + pop {r4-r7, pc} +_02067F16: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x15] + pop {r4-r7, pc} +_02067F1E: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r1, #0x16] + pop {r4-r7, pc} +_02067F26: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r1, #0x18] + pop {r4-r7, pc} +_02067F2E: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x1a] + pop {r4-r7, pc} +_02067F36: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x1b] + pop {r4-r7, pc} +_02067F3E: + ldrb r3, [r1, #0x1c] + ldrb r2, [r4, #0x0] + mov r0, #0x7f + bic r3, r0 + mov r0, #0x7f + and r0, r2 + orr r0, r3 + strb r0, [r1, #0x1c] + add sp, #0x4c + pop {r4-r7, pc} +_02067F52: + ldrb r2, [r1, #0x1c] + mov r0, #0x80 + add sp, #0x4c + bic r2, r0 + ldrb r0, [r4, #0x0] + lsl r0, r0, #0x1f + lsr r0, r0, #0x18 + orr r0, r2 + strb r0, [r1, #0x1c] + pop {r4-r7, pc} +_02067F66: + ldrb r0, [r4, #0x0] + add sp, #0x4c + strb r0, [r1, #0x1d] + pop {r4-r7, pc} +_02067F6E: + ldrh r0, [r4, #0x0] + add sp, #0x4c + strh r0, [r1, #0x1e] + pop {r4-r7, pc} +_02067F76: + ldr r2, [r5, #0x10] + mov r0, #0x1f + bic r2, r0 + ldr r1, [r4, #0x0] + mov r0, #0x1f + and r1, r0 + and r0, r1 + add r1, r2, #0x0 + orr r1, r0 + ldr r0, _02067FFC ; =0xFFFFFC1F + str r1, [r5, #0x10] + and r1, r0 + ldr r0, [r4, #0x0] + add sp, #0x4c + lsr r0, r0, #0x5 + lsl r0, r0, #0x1b + lsr r0, r0, #0x16 + orr r1, r0 + ldr r0, _02068000 ; =0xFFFF83FF + str r1, [r5, #0x10] + and r1, r0 + ldr r0, [r4, #0x0] + lsr r0, r0, #0xa + lsl r0, r0, #0x1b + lsr r0, r0, #0x11 + orr r1, r0 + ldr r0, _02068004 ; =0xFFF07FFF + str r1, [r5, #0x10] + and r1, r0 + ldr r0, [r4, #0x0] + lsr r0, r0, #0xf + lsl r0, r0, #0x1b + lsr r0, r0, #0xc + orr r1, r0 + ldr r0, _02068008 ; =0xFE0FFFFF + str r1, [r5, #0x10] + and r1, r0 + ldr r0, [r4, #0x0] + lsr r0, r0, #0x14 + lsl r0, r0, #0x1b + lsr r0, r0, #0x7 + orr r1, r0 + ldr r0, _0206800C ; =0xC1FFFFFF + str r1, [r5, #0x10] + and r1, r0 + ldr r0, [r4, #0x0] + lsr r0, r0, #0x19 + lsl r0, r0, #0x1b + lsr r0, r0, #0x2 + orr r0, r1 + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02067FDE: + ldrh r0, [r7, #0x0] + mov r1, #0x0 + bl FUN_0200AA50 + add r4, r0, #0x0 + add r1, r6, #0x0 + mov r2, #0xb + bl FUN_02021EF0 + add r0, r4, #0x0 + bl FUN_02021A20 _02067FF6: add sp, #0x4c pop {r4-r7, pc} nop -_02067FFC: - .byte 0x1F, 0xFC, 0xFF, 0xFF - .byte 0xFF, 0x83, 0xFF, 0xFF, 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 - .byte 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0x7F +_02067FFC: .word 0xFFFFFC1F +_02068000: .word 0xFFFF83FF +_02068004: .word 0xFFF07FFF +_02068008: .word 0xFE0FFFFF +_0206800C: .word 0xC1FFFFFF +_02068010: .word 0xBFFFFFFF +_02068014: .word 0x7FFFFFFF thumb_func_start FUN_02068018 FUN_02068018: ; 0x02068018 @@ -195324,17 +219017,19 @@ FUN_020680A0: ; 0x020680A0 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r4, r2, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 - lsl r2, r7, #0 +_020680B6: ; jump table (using 16-bit offset) + .short _020680F2 - _020680B6 - 2; case 0 + .short _020680F2 - _020680B6 - 2; case 1 + .short _020680F2 - _020680B6 - 2; case 2 + .short _020680CC - _020680B6 - 2; case 3 + .short _020680F2 - _020680B6 - 2; case 4 + .short _020680F2 - _020680B6 - 2; case 5 + .short _020680F2 - _020680B6 - 2; case 6 + .short _020680F2 - _020680B6 - 2; case 7 + .short _020680F2 - _020680B6 - 2; case 8 + .short _020680F2 - _020680B6 - 2; case 9 + .short _020680F2 - _020680B6 - 2; case 10 +_020680CC: add r1, r0, #0x0 add r1, #0x90 ldrh r3, [r1, #0x0] @@ -195356,7 +219051,8 @@ _020680E4: strh r1, [r0, #0x0] pop {r3, pc} _020680F2: - .byte 0xB8, 0xF7, 0x9B, 0xFD, 0x08, 0xBD + bl FUN_02020C2C + pop {r3, pc} _020680F8: bl FUN_02068100 pop {r3, pc} @@ -195400,185 +219096,187 @@ _02068142: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r4, r4, #0x5 - lsl r0, r1, #0x6 - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r6, r3, #0x6 - lsl r0, r5, #0x6 - lsl r2, r6, #0x6 - lsl r4, r7, #0x6 - lsl r6, r0, #0x7 - lsl r0, r2, #0x7 - lsl r2, r3, #0x7 - lsl r0, r6, #0x7 - lsl r6, r0, #0x8 - lsl r4, r3, #0x8 - lsl r2, r6, #0x8 - lsl r0, r1, #0x9 - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r6, r3, #0x9 - lsl r6, r3, #0x9 - lsl r6, r3, #0x9 - lsl r6, r3, #0x9 - lsl r2, r3, #0xa - lsl r2, r3, #0xa - lsl r2, r3, #0xa - lsl r2, r3, #0xa - lsl r4, r6, #0xe - lsl r4, r6, #0xe - lsl r4, r6, #0xe - lsl r4, r6, #0xe - lsl r4, r6, #0xa - lsl r6, r3, #0xb - lsl r0, r1, #0xc - lsl r2, r6, #0xc - lsl r4, r3, #0xd - lsl r6, r0, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe - lsl r0, r6, #0xe +_0206814E: ; jump table (using 16-bit offset) + .short _02068500 - _0206814E - 2; case 0 + .short _02068500 - _0206814E - 2; case 1 + .short _02068500 - _0206814E - 2; case 2 + .short _02068500 - _0206814E - 2; case 3 + .short _02068500 - _0206814E - 2; case 4 + .short _02068500 - _0206814E - 2; case 5 + .short _02068500 - _0206814E - 2; case 6 + .short _02068500 - _0206814E - 2; case 7 + .short _020682B4 - _0206814E - 2; case 8 + .short _020682D8 - _0206814E - 2; case 9 + .short _02068500 - _0206814E - 2; case 10 + .short _02068500 - _0206814E - 2; case 11 + .short _02068500 - _0206814E - 2; case 12 + .short _020682EE - _0206814E - 2; case 13 + .short _020682F8 - _0206814E - 2; case 14 + .short _02068302 - _0206814E - 2; case 15 + .short _0206830C - _0206814E - 2; case 16 + .short _02068316 - _0206814E - 2; case 17 + .short _02068320 - _0206814E - 2; case 18 + .short _0206832A - _0206814E - 2; case 19 + .short _02068340 - _0206814E - 2; case 20 + .short _02068356 - _0206814E - 2; case 21 + .short _0206836C - _0206814E - 2; case 22 + .short _02068382 - _0206814E - 2; case 23 + .short _02068398 - _0206814E - 2; case 24 + .short _02068500 - _0206814E - 2; case 25 + .short _02068500 - _0206814E - 2; case 26 + .short _02068500 - _0206814E - 2; case 27 + .short _02068500 - _0206814E - 2; case 28 + .short _02068500 - _0206814E - 2; case 29 + .short _02068500 - _0206814E - 2; case 30 + .short _02068500 - _0206814E - 2; case 31 + .short _02068500 - _0206814E - 2; case 32 + .short _02068500 - _0206814E - 2; case 33 + .short _02068500 - _0206814E - 2; case 34 + .short _02068500 - _0206814E - 2; case 35 + .short _02068500 - _0206814E - 2; case 36 + .short _02068500 - _0206814E - 2; case 37 + .short _02068500 - _0206814E - 2; case 38 + .short _02068500 - _0206814E - 2; case 39 + .short _02068500 - _0206814E - 2; case 40 + .short _02068500 - _0206814E - 2; case 41 + .short _02068500 - _0206814E - 2; case 42 + .short _02068500 - _0206814E - 2; case 43 + .short _02068500 - _0206814E - 2; case 44 + .short _02068500 - _0206814E - 2; case 45 + .short _02068500 - _0206814E - 2; case 46 + .short _02068500 - _0206814E - 2; case 47 + .short _02068500 - _0206814E - 2; case 48 + .short _02068500 - _0206814E - 2; case 49 + .short _02068500 - _0206814E - 2; case 50 + .short _02068500 - _0206814E - 2; case 51 + .short _02068500 - _0206814E - 2; case 52 + .short _02068500 - _0206814E - 2; case 53 + .short _02068500 - _0206814E - 2; case 54 + .short _02068500 - _0206814E - 2; case 55 + .short _02068500 - _0206814E - 2; case 56 + .short _02068500 - _0206814E - 2; case 57 + .short _020683AE - _0206814E - 2; case 58 + .short _020683AE - _0206814E - 2; case 59 + .short _020683AE - _0206814E - 2; case 60 + .short _020683AE - _0206814E - 2; case 61 + .short _020683EA - _0206814E - 2; case 62 + .short _020683EA - _0206814E - 2; case 63 + .short _020683EA - _0206814E - 2; case 64 + .short _020683EA - _0206814E - 2; case 65 + .short _02068504 - _0206814E - 2; case 66 + .short _02068504 - _0206814E - 2; case 67 + .short _02068504 - _0206814E - 2; case 68 + .short _02068504 - _0206814E - 2; case 69 + .short _02068404 - _0206814E - 2; case 70 + .short _0206842E - _0206814E - 2; case 71 + .short _02068458 - _0206814E - 2; case 72 + .short _02068482 - _0206814E - 2; case 73 + .short _020684AC - _0206814E - 2; case 74 + .short _020684D6 - _0206814E - 2; case 75 + .short _02068500 - _0206814E - 2; case 76 + .short _02068500 - _0206814E - 2; case 77 + .short _02068500 - _0206814E - 2; case 78 + .short _02068500 - _0206814E - 2; case 79 + .short _02068500 - _0206814E - 2; case 80 + .short _02068500 - _0206814E - 2; case 81 + .short _02068500 - _0206814E - 2; case 82 + .short _02068500 - _0206814E - 2; case 83 + .short _02068500 - _0206814E - 2; case 84 + .short _02068500 - _0206814E - 2; case 85 + .short _02068500 - _0206814E - 2; case 86 + .short _02068500 - _0206814E - 2; case 87 + .short _02068500 - _0206814E - 2; case 88 + .short _02068500 - _0206814E - 2; case 89 + .short _02068500 - _0206814E - 2; case 90 + .short _02068500 - _0206814E - 2; case 91 + .short _02068500 - _0206814E - 2; case 92 + .short _02068500 - _0206814E - 2; case 93 + .short _02068500 - _0206814E - 2; case 94 + .short _02068500 - _0206814E - 2; case 95 + .short _02068500 - _0206814E - 2; case 96 + .short _02068500 - _0206814E - 2; case 97 + .short _02068500 - _0206814E - 2; case 98 + .short _02068500 - _0206814E - 2; case 99 + .short _02068500 - _0206814E - 2; case 100 + .short _02068500 - _0206814E - 2; case 101 + .short _02068500 - _0206814E - 2; case 102 + .short _02068500 - _0206814E - 2; case 103 + .short _02068500 - _0206814E - 2; case 104 + .short _02068500 - _0206814E - 2; case 105 + .short _02068500 - _0206814E - 2; case 106 + .short _02068500 - _0206814E - 2; case 107 + .short _02068500 - _0206814E - 2; case 108 + .short _02068500 - _0206814E - 2; case 109 + .short _02068500 - _0206814E - 2; case 110 + .short _02068500 - _0206814E - 2; case 111 + .short _02068500 - _0206814E - 2; case 112 + .short _02068500 - _0206814E - 2; case 113 + .short _02068500 - _0206814E - 2; case 114 + .short _02068500 - _0206814E - 2; case 115 + .short _02068500 - _0206814E - 2; case 116 + .short _02068500 - _0206814E - 2; case 117 + .short _02068500 - _0206814E - 2; case 118 + .short _02068500 - _0206814E - 2; case 119 + .short _02068500 - _0206814E - 2; case 120 + .short _02068500 - _0206814E - 2; case 121 + .short _02068500 - _0206814E - 2; case 122 + .short _02068500 - _0206814E - 2; case 123 + .short _02068500 - _0206814E - 2; case 124 + .short _02068500 - _0206814E - 2; case 125 + .short _02068500 - _0206814E - 2; case 126 + .short _02068500 - _0206814E - 2; case 127 + .short _02068500 - _0206814E - 2; case 128 + .short _02068500 - _0206814E - 2; case 129 + .short _02068500 - _0206814E - 2; case 130 + .short _02068500 - _0206814E - 2; case 131 + .short _02068500 - _0206814E - 2; case 132 + .short _02068500 - _0206814E - 2; case 133 + .short _02068500 - _0206814E - 2; case 134 + .short _02068500 - _0206814E - 2; case 135 + .short _02068500 - _0206814E - 2; case 136 + .short _02068500 - _0206814E - 2; case 137 + .short _02068500 - _0206814E - 2; case 138 + .short _02068500 - _0206814E - 2; case 139 + .short _02068500 - _0206814E - 2; case 140 + .short _02068500 - _0206814E - 2; case 141 + .short _02068500 - _0206814E - 2; case 142 + .short _02068500 - _0206814E - 2; case 143 + .short _02068500 - _0206814E - 2; case 144 + .short _02068500 - _0206814E - 2; case 145 + .short _02068500 - _0206814E - 2; case 146 + .short _02068500 - _0206814E - 2; case 147 + .short _02068500 - _0206814E - 2; case 148 + .short _02068500 - _0206814E - 2; case 149 + .short _02068500 - _0206814E - 2; case 150 + .short _02068500 - _0206814E - 2; case 151 + .short _02068500 - _0206814E - 2; case 152 + .short _02068500 - _0206814E - 2; case 153 + .short _02068500 - _0206814E - 2; case 154 + .short _02068500 - _0206814E - 2; case 155 + .short _02068500 - _0206814E - 2; case 156 + .short _02068500 - _0206814E - 2; case 157 + .short _02068500 - _0206814E - 2; case 158 + .short _02068500 - _0206814E - 2; case 159 + .short _02068500 - _0206814E - 2; case 160 + .short _02068500 - _0206814E - 2; case 161 + .short _02068500 - _0206814E - 2; case 162 + .short _02068500 - _0206814E - 2; case 163 + .short _02068500 - _0206814E - 2; case 164 + .short _02068500 - _0206814E - 2; case 165 + .short _02068500 - _0206814E - 2; case 166 + .short _02068500 - _0206814E - 2; case 167 + .short _02068500 - _0206814E - 2; case 168 + .short _02068500 - _0206814E - 2; case 169 + .short _02068500 - _0206814E - 2; case 170 + .short _02068500 - _0206814E - 2; case 171 + .short _02068500 - _0206814E - 2; case 172 + .short _02068500 - _0206814E - 2; case 173 + .short _02068500 - _0206814E - 2; case 174 + .short _02068500 - _0206814E - 2; case 175 + .short _02068500 - _0206814E - 2; case 176 + .short _02068500 - _0206814E - 2; case 177 + .short _02068500 - _0206814E - 2; case 178 +_020682B4: ldrh r0, [r4, #0x0] mov r1, #0x64 bl FUN_02068758 @@ -195597,48 +219295,326 @@ _020682D2: str r1, [r4, #0x8] pop {r4-r7, pc} _020682D8: - .byte 0x20, 0x7B, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD - .byte 0xFF, 0x20, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x73, 0xF0, 0xBD, 0x20, 0x7C - .byte 0x03, 0xB0, 0x80, 0x19, 0x20, 0x74, 0xF0, 0xBD, 0x60, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x74 - .byte 0xF0, 0xBD, 0xA0, 0x7C, 0x03, 0xB0, 0x80, 0x19, 0xA0, 0x74, 0xF0, 0xBD, 0xE0, 0x7C, 0x03, 0xB0 - .byte 0x80, 0x19, 0xE0, 0x74, 0xF0, 0xBD, 0x20, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x20, 0x75, 0xF0, 0xBD - .byte 0x60, 0x7D, 0x03, 0xB0, 0x80, 0x19, 0x60, 0x75, 0xF0, 0xBD, 0xA0, 0x7D, 0x80, 0x19, 0xFF, 0x28 - .byte 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x75, 0xF0, 0xBD - .byte 0xE0, 0x7D, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD - .byte 0x03, 0xB0, 0xE0, 0x75, 0xF0, 0xBD, 0x20, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20 - .byte 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x20, 0x76, 0xF0, 0xBD, 0x60, 0x7E, 0x80, 0x19 - .byte 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0x60, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0x60, 0x76 - .byte 0xF0, 0xBD, 0xA0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD, 0xFF, 0x20, 0x03, 0xB0, 0xA0, 0x76 - .byte 0xF0, 0xBD, 0x03, 0xB0, 0xA0, 0x76, 0xF0, 0xBD, 0xE0, 0x7E, 0x80, 0x19, 0xFF, 0x28, 0x03, 0xDD - .byte 0xFF, 0x20, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x03, 0xB0, 0xE0, 0x76, 0xF0, 0xBD, 0x28, 0x1C - .byte 0x01, 0x90, 0x0C, 0x30, 0x01, 0x90, 0x3A, 0x3F, 0x01, 0x99, 0x78, 0x00, 0x02, 0x90, 0x2C, 0x1C - .byte 0x28, 0x5A, 0xC9, 0x5D, 0x08, 0x34, 0x02, 0xF0, 0xB3, 0xFB, 0xE1, 0x5D, 0x71, 0x18, 0x81, 0x42 - .byte 0x08, 0xDD, 0x02, 0x98, 0x01, 0x99, 0x28, 0x5A, 0xC9, 0x5D, 0x02, 0xF0, 0xA9, 0xFB, 0x03, 0xB0 - .byte 0xE0, 0x55, 0xF0, 0xBD, 0x03, 0xB0, 0xE1, 0x55, 0xF0, 0xBD, 0x0C, 0x35, 0x3E, 0x3F, 0xE8, 0x5D - .byte 0x30, 0x18, 0x03, 0x28, 0x03, 0xDD, 0x03, 0x20, 0x03, 0xB0, 0xE8, 0x55, 0xF0, 0xBD, 0x03, 0xB0 - .byte 0xE8, 0x55, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x06, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x06, 0xD9 - .byte 0x1F, 0x20, 0x81, 0x43, 0x1F, 0x20, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x1F, 0x20 - .byte 0x81, 0x43, 0x1F, 0x20, 0x10, 0x40, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69 - .byte 0x88, 0x05, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x33, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20 - .byte 0x00, 0x01, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x0D - .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x48, 0x04, 0xC0, 0x0E, 0x82, 0x19 - .byte 0x1F, 0x2A, 0x2A, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x80, 0x02, 0x08, 0x43, 0x03, 0xB0 - .byte 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x40, 0x0C, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61 - .byte 0xF0, 0xBD, 0x29, 0x69, 0x08, 0x03, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x20, 0x48, 0x06, 0xD9 - .byte 0x01, 0x40, 0x3E, 0x20, 0x80, 0x03, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40 - .byte 0xD0, 0x06, 0x00, 0x0B, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0xC8, 0x01 - .byte 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A, 0x17, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x1F, 0x20, 0x00, 0x05 - .byte 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0xC0, 0x09, 0x08, 0x43 - .byte 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD, 0x29, 0x69, 0x88, 0x00, 0xC0, 0x0E, 0x82, 0x19, 0x1F, 0x2A - .byte 0x0D, 0x48, 0x06, 0xD9, 0x01, 0x40, 0x3E, 0x20, 0x00, 0x06, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61 - .byte 0xF0, 0xBD, 0x01, 0x40, 0xD0, 0x06, 0x80, 0x08, 0x08, 0x43, 0x03, 0xB0, 0x28, 0x61, 0xF0, 0xBD + ldrb r0, [r4, #0xc] + add r0, r0, r6 + cmp r0, #0xff + ble _020682E8 + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0xc] + pop {r4-r7, pc} +_020682E8: + add sp, #0xc + strb r0, [r4, #0xc] + pop {r4-r7, pc} +_020682EE: + ldrb r0, [r4, #0x10] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x10] + pop {r4-r7, pc} +_020682F8: + ldrb r0, [r4, #0x11] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x11] + pop {r4-r7, pc} +_02068302: + ldrb r0, [r4, #0x12] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x12] + pop {r4-r7, pc} +_0206830C: + ldrb r0, [r4, #0x13] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x13] + pop {r4-r7, pc} +_02068316: + ldrb r0, [r4, #0x14] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x14] + pop {r4-r7, pc} +_02068320: + ldrb r0, [r4, #0x15] + add sp, #0xc + add r0, r0, r6 + strb r0, [r4, #0x15] + pop {r4-r7, pc} +_0206832A: + ldrb r0, [r4, #0x16] + add r0, r0, r6 + cmp r0, #0xff + ble _0206833A + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x16] + pop {r4-r7, pc} +_0206833A: + add sp, #0xc + strb r0, [r4, #0x16] + pop {r4-r7, pc} +_02068340: + ldrb r0, [r4, #0x17] + add r0, r0, r6 + cmp r0, #0xff + ble _02068350 + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x17] + pop {r4-r7, pc} +_02068350: + add sp, #0xc + strb r0, [r4, #0x17] + pop {r4-r7, pc} +_02068356: + ldrb r0, [r4, #0x18] + add r0, r0, r6 + cmp r0, #0xff + ble _02068366 + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x18] + pop {r4-r7, pc} +_02068366: + add sp, #0xc + strb r0, [r4, #0x18] + pop {r4-r7, pc} +_0206836C: + ldrb r0, [r4, #0x19] + add r0, r0, r6 + cmp r0, #0xff + ble _0206837C + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x19] + pop {r4-r7, pc} +_0206837C: + add sp, #0xc + strb r0, [r4, #0x19] + pop {r4-r7, pc} +_02068382: + ldrb r0, [r4, #0x1a] + add r0, r0, r6 + cmp r0, #0xff + ble _02068392 + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x1a] + pop {r4-r7, pc} +_02068392: + add sp, #0xc + strb r0, [r4, #0x1a] + pop {r4-r7, pc} +_02068398: + ldrb r0, [r4, #0x1b] + add r0, r0, r6 + cmp r0, #0xff + ble _020683A8 + mov r0, #0xff + add sp, #0xc + strb r0, [r4, #0x1b] + pop {r4-r7, pc} +_020683A8: + add sp, #0xc + strb r0, [r4, #0x1b] + pop {r4-r7, pc} +_020683AE: + add r0, r5, #0x0 + str r0, [sp, #0x4] + add r0, #0xc + str r0, [sp, #0x4] + sub r7, #0x3a + ldr r1, [sp, #0x4] + lsl r0, r7, #0x1 + str r0, [sp, #0x8] + add r4, r5, #0x0 + ldrh r0, [r5, r0] + ldrb r1, [r1, r7] + add r4, #0x8 + bl FUN_0206AB30 + ldrb r1, [r4, r7] + add r1, r6, r1 + cmp r1, r0 + ble _020683E4 + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + ldrh r0, [r5, r0] + ldrb r1, [r1, r7] + bl FUN_0206AB30 + add sp, #0xc + strb r0, [r4, r7] + pop {r4-r7, pc} +_020683E4: + add sp, #0xc + strb r1, [r4, r7] + pop {r4-r7, pc} +_020683EA: + add r5, #0xc + sub r7, #0x3e + ldrb r0, [r5, r7] + add r0, r6, r0 + cmp r0, #0x3 + ble _020683FE + mov r0, #0x3 + add sp, #0xc + strb r0, [r5, r7] + pop {r4-r7, pc} +_020683FE: + add sp, #0xc + strb r0, [r5, r7] + pop {r4-r7, pc} +_02068404: + ldr r1, [r5, #0x10] + lsl r0, r1, #0x1b + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + bls _0206841E + mov r0, #0x1f + bic r1, r0 + mov r0, #0x1f + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_0206841E: + mov r0, #0x1f + bic r1, r0 + mov r0, #0x1f + and r0, r2 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_0206842E: + ldr r1, [r5, #0x10] + lsl r0, r1, #0x16 + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + ldr r0, _02068508 ; =0xFFFFFC1F + bls _0206844A + and r1, r0 + mov r0, #0x3e + lsl r0, r0, #0x4 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_0206844A: + and r1, r0 + lsl r0, r2, #0x1b + lsr r0, r0, #0x16 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02068458: + ldr r1, [r5, #0x10] + lsl r0, r1, #0x11 + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + ldr r0, _0206850C ; =0xFFFF83FF + bls _02068474 + and r1, r0 + mov r0, #0x1f + lsl r0, r0, #0xa + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02068474: + and r1, r0 + lsl r0, r2, #0x1b + lsr r0, r0, #0x11 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_02068482: + ldr r1, [r5, #0x10] + lsl r0, r1, #0xc + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + ldr r0, _02068510 ; =0xFFF07FFF + bls _0206849E + and r1, r0 + mov r0, #0x3e + lsl r0, r0, #0xe + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_0206849E: + and r1, r0 + lsl r0, r2, #0x1b + lsr r0, r0, #0xc + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_020684AC: + ldr r1, [r5, #0x10] + lsl r0, r1, #0x7 + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + ldr r0, _02068514 ; =0xFE0FFFFF + bls _020684C8 + and r1, r0 + mov r0, #0x1f + lsl r0, r0, #0x14 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_020684C8: + and r1, r0 + lsl r0, r2, #0x1b + lsr r0, r0, #0x7 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_020684D6: + ldr r1, [r5, #0x10] + lsl r0, r1, #0x2 + lsr r0, r0, #0x1b + add r2, r0, r6 + cmp r2, #0x1f + ldr r0, _02068518 ; =0xC1FFFFFF + bls _020684F2 + and r1, r0 + mov r0, #0x3e + lsl r0, r0, #0x18 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} +_020684F2: + and r1, r0 + lsl r0, r2, #0x1b + lsr r0, r0, #0x2 + orr r0, r1 + add sp, #0xc + str r0, [r5, #0x10] + pop {r4-r7, pc} _02068500: bl FUN_02020C2C +_02068504: add sp, #0xc pop {r4-r7, pc} -_02068508: - .byte 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x83, 0xFF, 0xFF - .byte 0xFF, 0x7F, 0xF0, 0xFF, 0xFF, 0xFF, 0x0F, 0xFE, 0xFF, 0xFF, 0xFF, 0xC1 + .balign 4 +_02068508: .word 0xFFFFFC1F +_0206850C: .word 0xFFFF83FF +_02068510: .word 0xFFF07FFF +_02068514: .word 0xFE0FFFFF +_02068518: .word 0xC1FFFFFF thumb_func_start FUN_0206851C FUN_0206851C: ; 0x0206851C @@ -195672,53 +219648,154 @@ _02068546: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r0, #0x1 - lsl r4, r0, #0x1 - lsl r0, r1, #0x1 - lsl r4, r1, #0x1 - lsl r0, r2, #0x1 - lsl r4, r2, #0x1 - lsl r0, r3, #0x1 - lsl r4, r3, #0x1 - lsl r0, r4, #0x1 - lsl r4, r4, #0x1 - lsl r0, r5, #0x1 - lsl r0, r6, #0x1 - lsl r0, r7, #0x1 - lsl r0, r0, #0x2 - lsl r0, r1, #0x2 - lsl r0, r2, #0x2 - lsl r0, r3, #0x2 - lsl r4, r3, #0x2 - lsl r0, r4, #0x2 - lsl r4, r4, #0x2 - lsl r0, r5, #0x2 - lsl r4, r5, #0x2 - lsl r0, r6, #0x2 - lsl r4, r6, #0x2 - lsl r0, r7, #0x2 - lsl r4, r7, #0x2 - lsl r0, r0, #0x3 - lsl r4, r0, #0x3 - lsl r4, r1, #0x3 - lsl r4, r2, #0x3 - lsl r0, r3, #0x3 - lsl r4, r3, #0x3 - lsl r0, r4, #0x3 +_02068556: ; jump table (using 16-bit offset) + .short _02068598 - _02068556 - 2; case 0 + .short _0206859C - _02068556 - 2; case 1 + .short _020685A0 - _02068556 - 2; case 2 + .short _020685A4 - _02068556 - 2; case 3 + .short _020685A8 - _02068556 - 2; case 4 + .short _020685AC - _02068556 - 2; case 5 + .short _020685B0 - _02068556 - 2; case 6 + .short _020685B4 - _02068556 - 2; case 7 + .short _020685B8 - _02068556 - 2; case 8 + .short _020685BC - _02068556 - 2; case 9 + .short _020685C0 - _02068556 - 2; case 10 + .short _020685C8 - _02068556 - 2; case 11 + .short _020685D0 - _02068556 - 2; case 12 + .short _020685D8 - _02068556 - 2; case 13 + .short _020685E0 - _02068556 - 2; case 14 + .short _020685E8 - _02068556 - 2; case 15 + .short _020685F0 - _02068556 - 2; case 16 + .short _020685F4 - _02068556 - 2; case 17 + .short _020685F8 - _02068556 - 2; case 18 + .short _020685FC - _02068556 - 2; case 19 + .short _02068600 - _02068556 - 2; case 20 + .short _02068604 - _02068556 - 2; case 21 + .short _02068608 - _02068556 - 2; case 22 + .short _0206860C - _02068556 - 2; case 23 + .short _02068610 - _02068556 - 2; case 24 + .short _02068614 - _02068556 - 2; case 25 + .short _02068618 - _02068556 - 2; case 26 + .short _0206861C - _02068556 - 2; case 27 + .short _02068624 - _02068556 - 2; case 28 + .short _0206862C - _02068556 - 2; case 29 + .short _02068630 - _02068556 - 2; case 30 + .short _02068634 - _02068556 - 2; case 31 + .short _02068638 - _02068556 - 2; case 32 +_02068598: ldrb r5, [r4, #0x0] b _0206863A _0206859C: - .byte 0x65, 0x78, 0x4C, 0xE0 - .byte 0xA5, 0x78, 0x4A, 0xE0, 0xE5, 0x78, 0x48, 0xE0, 0x25, 0x79, 0x46, 0xE0, 0x65, 0x79, 0x44, 0xE0 - .byte 0xA5, 0x79, 0x42, 0xE0, 0xE5, 0x79, 0x40, 0xE0, 0x25, 0x7A, 0x3E, 0xE0, 0x65, 0x7A, 0x3C, 0xE0 - .byte 0x60, 0x89, 0x80, 0x07, 0x85, 0x0F, 0x38, 0xE0, 0x60, 0x89, 0x00, 0x07, 0x85, 0x0F, 0x34, 0xE0 - .byte 0x60, 0x89, 0x80, 0x06, 0x85, 0x0F, 0x30, 0xE0, 0x60, 0x89, 0x00, 0x06, 0x85, 0x0F, 0x2C, 0xE0 - .byte 0x60, 0x89, 0x80, 0x05, 0x85, 0x0F, 0x28, 0xE0, 0x60, 0x89, 0x00, 0x05, 0x85, 0x0F, 0x24, 0xE0 - .byte 0xA5, 0x89, 0x22, 0xE0, 0xE5, 0x89, 0x20, 0xE0, 0x25, 0x7C, 0x1E, 0xE0, 0x65, 0x7C, 0x1C, 0xE0 - .byte 0xA5, 0x7C, 0x1A, 0xE0, 0xE5, 0x7C, 0x18, 0xE0, 0x25, 0x7D, 0x16, 0xE0, 0x65, 0x7D, 0x14, 0xE0 - .byte 0xA5, 0x7D, 0x12, 0xE0, 0xE5, 0x7D, 0x10, 0xE0, 0x25, 0x7E, 0x0E, 0xE0, 0x60, 0x7E, 0x40, 0x06 - .byte 0x45, 0x0E, 0x0A, 0xE0, 0x60, 0x7E, 0x00, 0x06, 0xC5, 0x0F, 0x06, 0xE0, 0xE5, 0x69, 0x04, 0xE0 - .byte 0x25, 0x6A, 0x02, 0xE0, 0x65, 0x6A, 0x00, 0xE0, 0xA5, 0x6A + ldrb r5, [r4, #0x1] + b _0206863A +_020685A0: + ldrb r5, [r4, #0x2] + b _0206863A +_020685A4: + ldrb r5, [r4, #0x3] + b _0206863A +_020685A8: + ldrb r5, [r4, #0x4] + b _0206863A +_020685AC: + ldrb r5, [r4, #0x5] + b _0206863A +_020685B0: + ldrb r5, [r4, #0x6] + b _0206863A +_020685B4: + ldrb r5, [r4, #0x7] + b _0206863A +_020685B8: + ldrb r5, [r4, #0x8] + b _0206863A +_020685BC: + ldrb r5, [r4, #0x9] + b _0206863A +_020685C0: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x1e + lsr r5, r0, #0x1e + b _0206863A +_020685C8: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x1c + lsr r5, r0, #0x1e + b _0206863A +_020685D0: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x1a + lsr r5, r0, #0x1e + b _0206863A +_020685D8: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x18 + lsr r5, r0, #0x1e + b _0206863A +_020685E0: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x16 + lsr r5, r0, #0x1e + b _0206863A +_020685E8: + ldrh r0, [r4, #0xa] + lsl r0, r0, #0x14 + lsr r5, r0, #0x1e + b _0206863A +_020685F0: + ldrh r5, [r4, #0xc] + b _0206863A +_020685F4: + ldrh r5, [r4, #0xe] + b _0206863A +_020685F8: + ldrb r5, [r4, #0x10] + b _0206863A +_020685FC: + ldrb r5, [r4, #0x11] + b _0206863A +_02068600: + ldrb r5, [r4, #0x12] + b _0206863A +_02068604: + ldrb r5, [r4, #0x13] + b _0206863A +_02068608: + ldrb r5, [r4, #0x14] + b _0206863A +_0206860C: + ldrb r5, [r4, #0x15] + b _0206863A +_02068610: + ldrb r5, [r4, #0x16] + b _0206863A +_02068614: + ldrb r5, [r4, #0x17] + b _0206863A +_02068618: + ldrb r5, [r4, #0x18] + b _0206863A +_0206861C: + ldrb r0, [r4, #0x19] + lsl r0, r0, #0x19 + lsr r5, r0, #0x19 + b _0206863A +_02068624: + ldrb r0, [r4, #0x19] + lsl r0, r0, #0x18 + lsr r5, r0, #0x1f + b _0206863A +_0206862C: + ldr r5, [r4, #0x1c] + b _0206863A +_02068630: + ldr r5, [r4, #0x20] + b _0206863A +_02068634: + ldr r5, [r4, #0x24] + b _0206863A +_02068638: + ldr r5, [r4, #0x28] _0206863A: add r0, r5, #0x0 pop {r4-r6, pc} @@ -197352,10 +221429,12 @@ _02069202: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r6, #0x9 - lsl r6, r5, #0xa - lsl r6, r5, #0xa +_0206920E: ; jump table (using 16-bit offset) + .short _02069216 - _0206920E - 2; case 0 + .short _02069486 - _0206920E - 2; case 1 + .short _020694BE - _0206920E - 2; case 2 + .short _020694BE - _0206920E - 2; case 3 +_02069216: add r0, r7, #0x0 mov r1, #0xa0 mov r2, #0x0 @@ -197389,33 +221468,35 @@ _0206924E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r2, #0x8 - lsl r4, r6, #0 - lsl r2, r0, #0x1 - lsl r0, r3, #0x1 - lsl r6, r5, #0x1 - lsl r6, r2, #0x8 - lsl r6, r2, #0x8 - lsl r6, r2, #0x8 - lsl r6, r7, #0x1 - lsl r2, r5, #0x2 - lsl r6, r2, #0x3 - lsl r2, r0, #0x4 - lsl r2, r3, #0x4 - lsl r0, r6, #0x4 - lsl r0, r0, #0x5 - lsl r6, r0, #0x5 - lsl r6, r2, #0x8 - lsl r6, r2, #0x8 - lsl r6, r2, #0x5 - lsl r6, r5, #0x5 - lsl r6, r0, #0x6 - lsl r2, r3, #0x6 - lsl r2, r6, #0x6 - lsl r0, r2, #0x7 - lsl r6, r5, #0x7 - lsl r4, r7, #0x7 - lsl r2, r1, #0x8 +_0206925A: ; jump table (using 16-bit offset) + .short _02069472 - _0206925A - 2; case 0 + .short _02069290 - _0206925A - 2; case 1 + .short _0206929E - _0206925A - 2; case 2 + .short _020692B4 - _0206925A - 2; case 3 + .short _020692CA - _0206925A - 2; case 4 + .short _02069472 - _0206925A - 2; case 5 + .short _02069472 - _0206925A - 2; case 6 + .short _02069472 - _0206925A - 2; case 7 + .short _020692DA - _0206925A - 2; case 8 + .short _02069306 - _0206925A - 2; case 9 + .short _02069332 - _0206925A - 2; case 10 + .short _0206935E - _0206925A - 2; case 11 + .short _02069376 - _0206925A - 2; case 12 + .short _0206938C - _0206925A - 2; case 13 + .short _0206939C - _0206925A - 2; case 14 + .short _020693A2 - _0206925A - 2; case 15 + .short _02069472 - _0206925A - 2; case 16 + .short _02069472 - _0206925A - 2; case 17 + .short _020693B2 - _0206925A - 2; case 18 + .short _020693CA - _0206925A - 2; case 19 + .short _020693E2 - _0206925A - 2; case 20 + .short _020693F6 - _0206925A - 2; case 21 + .short _0206940E - _0206925A - 2; case 22 + .short _0206942C - _0206925A - 2; case 23 + .short _0206944A - _0206925A - 2; case 24 + .short _02069458 - _0206925A - 2; case 25 + .short _02069466 - _0206925A - 2; case 26 +_02069290: ldr r0, [sp, #0x20] cmp r0, #0xdc blo _0206936C @@ -197424,41 +221505,247 @@ _0206924E: str r0, [r5, #0x0] b _02069472 _0206929E: - .byte 0xA9, 0xF7 - .byte 0x6D, 0xFA, 0x00, 0x28, 0x62, 0xD1, 0x08, 0x98, 0xDC, 0x28, 0x5F, 0xD3, 0xA6, 0x88, 0x02, 0x20 - .byte 0x28, 0x60, 0xDE, 0xE0, 0xA9, 0xF7, 0x62, 0xFA, 0x01, 0x28, 0x57, 0xD1, 0x08, 0x98, 0xDC, 0x28 - .byte 0x54, 0xD3, 0xA6, 0x88, 0x03, 0x20, 0x28, 0x60, 0xD3, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 - .byte 0x4C, 0xDC, 0xA6, 0x88, 0x04, 0x20, 0x28, 0x60, 0xCB, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 - .byte 0x44, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x68, 0xFF, 0x0D, 0x90, 0x38, 0x1C - .byte 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x62, 0xFF, 0x0D, 0x99, 0x81, 0x42, 0x36, 0xD9, 0xA6, 0x88 - .byte 0x08, 0x20, 0x28, 0x60, 0xB5, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x2E, 0xDC, 0x38, 0x1C - .byte 0xA4, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x52, 0xFF, 0x0E, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22 - .byte 0xFD, 0xF7, 0x4C, 0xFF, 0x0E, 0x99, 0x81, 0x42, 0x20, 0xD1, 0xA6, 0x88, 0x09, 0x20, 0x28, 0x60 - .byte 0x9F, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x18, 0xDC, 0x38, 0x1C, 0xA4, 0x21, 0x00, 0x22 - .byte 0xFD, 0xF7, 0x3C, 0xFF, 0x0F, 0x90, 0x38, 0x1C, 0xA5, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x36, 0xFF - .byte 0x0F, 0x99, 0x81, 0x42, 0x0A, 0xD2, 0xA6, 0x88, 0x0A, 0x20, 0x28, 0x60, 0x89, 0xE0, 0x61, 0x88 - .byte 0x05, 0x98, 0x81, 0x42, 0x02, 0xDC, 0x02, 0x98, 0x05, 0x28, 0x00, 0xDB + bl FUN_0201277C + cmp r0, #0x0 + bne _0206936C + ldr r0, [sp, #0x20] + cmp r0, #0xdc + blo _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x2 + str r0, [r5, #0x0] + b _02069472 +_020692B4: + bl FUN_0201277C + cmp r0, #0x1 + bne _0206936C + ldr r0, [sp, #0x20] + cmp r0, #0xdc + blo _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x3 + str r0, [r5, #0x0] + b _02069472 +_020692CA: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x4 + str r0, [r5, #0x0] + b _02069472 +_020692DA: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _0206936C + add r0, r7, #0x0 + mov r1, #0xa4 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x34] + add r0, r7, #0x0 + mov r1, #0xa5 + mov r2, #0x0 + bl FUN_020671BC + ldr r1, [sp, #0x34] + cmp r1, r0 + bls _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x8 + str r0, [r5, #0x0] + b _02069472 +_02069306: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _0206936C + add r0, r7, #0x0 + mov r1, #0xa4 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x38] + add r0, r7, #0x0 + mov r1, #0xa5 + mov r2, #0x0 + bl FUN_020671BC + ldr r1, [sp, #0x38] + cmp r1, r0 + bne _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0x9 + str r0, [r5, #0x0] + b _02069472 +_02069332: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _0206936C + add r0, r7, #0x0 + mov r1, #0xa4 + mov r2, #0x0 + bl FUN_020671BC + str r0, [sp, #0x3c] + add r0, r7, #0x0 + mov r1, #0xa5 + mov r2, #0x0 + bl FUN_020671BC + ldr r1, [sp, #0x3c] + cmp r1, r0 + bhs _0206936C + ldrh r6, [r4, #0x4] + mov r0, #0xa + str r0, [r5, #0x0] + b _02069472 +_0206935E: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _0206936C + ldr r0, [sp, #0x8] + cmp r0, #0x5 + blt _0206936E _0206936C: b _02069472 _0206936E: - .byte 0xA6, 0x88 - .byte 0x0B, 0x20, 0x28, 0x60, 0x7D, 0xE0, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42, 0x79, 0xDC, 0x02, 0x98 - .byte 0x05, 0x28, 0x76, 0xDB, 0xA6, 0x88, 0x0C, 0x20, 0x28, 0x60, 0x72, 0xE0, 0x61, 0x88, 0x05, 0x98 - .byte 0x81, 0x42, 0x6E, 0xDC, 0xA6, 0x88, 0x0D, 0x20, 0x28, 0x60, 0x6A, 0xE0, 0x0E, 0x20, 0x28, 0x60 - .byte 0x67, 0xE0, 0x61, 0x88, 0x04, 0x98, 0x81, 0x42, 0x63, 0xDC, 0xA6, 0x88, 0x0F, 0x20, 0x28, 0x60 - .byte 0x5F, 0xE0, 0xA9, 0xF7, 0xE3, 0xF9, 0x00, 0x28, 0x5B, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42 - .byte 0x57, 0xD1, 0xA6, 0x88, 0x12, 0x20, 0x28, 0x60, 0x53, 0xE0, 0xA9, 0xF7, 0xD7, 0xF9, 0x01, 0x28 - .byte 0x4F, 0xD1, 0x61, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x4B, 0xD1, 0xA6, 0x88, 0x13, 0x20, 0x28, 0x60 - .byte 0x47, 0xE0, 0x61, 0x88, 0x38, 0x1C, 0x00, 0xF0, 0x27, 0xFB, 0x01, 0x28, 0x41, 0xD1, 0xA6, 0x88 - .byte 0x14, 0x20, 0x28, 0x60, 0x3D, 0xE0, 0x00, 0x98, 0x00, 0x28, 0x3A, 0xD0, 0x61, 0x88, 0x02, 0xF0 - .byte 0x71, 0xFB, 0x01, 0x28, 0x35, 0xD1, 0xA6, 0x88, 0x15, 0x20, 0x28, 0x60, 0x31, 0xE0, 0x38, 0x1C - .byte 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0xD2, 0xFE, 0x00, 0x28, 0x2A, 0xD1, 0x61, 0x88, 0x05, 0x98 - .byte 0x81, 0x42, 0x26, 0xDC, 0xA6, 0x88, 0x16, 0x20, 0x28, 0x60, 0x22, 0xE0, 0x38, 0x1C, 0x6F, 0x21 - .byte 0x00, 0x22, 0xFD, 0xF7, 0xC3, 0xFE, 0x01, 0x28, 0x1B, 0xD1, 0x61, 0x88, 0x05, 0x98, 0x81, 0x42 - .byte 0x17, 0xDC, 0xA6, 0x88, 0x17, 0x20, 0x28, 0x60, 0x13, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x10, 0xD1 - .byte 0xA6, 0x88, 0x18, 0x20, 0x28, 0x60, 0x0C, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x09, 0xD1, 0xA6, 0x88 - .byte 0x19, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x01, 0x99, 0x81, 0x42, 0x02, 0xD1, 0xA6, 0x88, 0x1A, 0x20 - .byte 0x28, 0x60 + ldrh r6, [r4, #0x4] + mov r0, #0xb + str r0, [r5, #0x0] + b _02069472 +_02069376: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _02069472 + ldr r0, [sp, #0x8] + cmp r0, #0x5 + blt _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0xc + str r0, [r5, #0x0] + b _02069472 +_0206938C: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0xd + str r0, [r5, #0x0] + b _02069472 +_0206939C: + mov r0, #0xe + str r0, [r5, #0x0] + b _02069472 +_020693A2: + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x10] + cmp r1, r0 + bgt _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0xf + str r0, [r5, #0x0] + b _02069472 +_020693B2: + bl FUN_0201277C + cmp r0, #0x0 + bne _02069472 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x28] + cmp r0, r1 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x12 + str r0, [r5, #0x0] + b _02069472 +_020693CA: + bl FUN_0201277C + cmp r0, #0x1 + bne _02069472 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x28] + cmp r0, r1 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x13 + str r0, [r5, #0x0] + b _02069472 +_020693E2: + ldrh r1, [r4, #0x2] + add r0, r7, #0x0 + bl FUN_02069A38 + cmp r0, #0x1 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x14 + str r0, [r5, #0x0] + b _02069472 +_020693F6: + ldr r0, [sp, #0x0] + cmp r0, #0x0 + beq _02069472 + ldrh r1, [r4, #0x2] + bl FUN_0206BAE4 + cmp r0, #0x1 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x15 + str r0, [r5, #0x0] + b _02069472 +_0206940E: + add r0, r7, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02069472 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x16 + str r0, [r5, #0x0] + b _02069472 +_0206942C: + add r0, r7, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x1 + bne _02069472 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x14] + cmp r1, r0 + bgt _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x17 + str r0, [r5, #0x0] + b _02069472 +_0206944A: + ldr r1, [sp, #0x4] + cmp r1, r0 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x18 + str r0, [r5, #0x0] + b _02069472 +_02069458: + ldr r1, [sp, #0x4] + cmp r1, r0 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x19 + str r0, [r5, #0x0] + b _02069472 +_02069466: + ldr r1, [sp, #0x4] + cmp r1, r0 + bne _02069472 + ldrh r6, [r4, #0x4] + mov r0, #0x1a + str r0, [r5, #0x0] _02069472: cmp r6, #0x0 bne _0206954A @@ -197472,21 +221759,111 @@ _02069472: _02069484: b _0206954A _02069486: - .byte 0x06, 0x9B, 0x00, 0x24, 0x06, 0x27, 0x05, 0x22, 0x18, 0x88 - .byte 0x05, 0x28, 0x02, 0xD0, 0x06, 0x28, 0x05, 0xD0, 0x0A, 0xE0, 0x9E, 0x88, 0x2A, 0x60, 0x07, 0xE0 + ldr r3, [sp, #0x18] + mov r4, #0x0 + mov r7, #0x6 + mov r2, #0x5 +_0206948E: + ldrh r0, [r3, #0x0] + cmp r0, #0x5 + beq _0206949A + cmp r0, #0x6 + beq _020694A4 + b _020694B0 +_0206949A: + ldrh r6, [r3, #0x4] + str r2, [r5, #0x0] + b _020694B0 + .balign 4 _020694A0: .word 0xFFFF0000 _020694A4: - .byte 0x59, 0x88, 0x0A, 0x98, 0x88, 0x42, 0x01, 0xD1, 0x9E, 0x88, 0x2F, 0x60 - .byte 0x00, 0x2E, 0x4A, 0xD1, 0x64, 0x1C, 0x9B, 0x1D, 0x07, 0x2C, 0xE8, 0xDB, 0x45, 0xE0, 0x00, 0x20 - .byte 0x06, 0x9C, 0x03, 0x90, 0x22, 0x88, 0x07, 0x2A, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42 - .byte 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20 - .byte 0x28, 0x60, 0x32, 0xE0, 0x10, 0x2A, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7 - .byte 0x65, 0xFE, 0x00, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98 - .byte 0x06, 0x21, 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x1C, 0xE0 - .byte 0x20, 0x88, 0x11, 0x28, 0x13, 0xD1, 0x38, 0x1C, 0x6F, 0x21, 0x00, 0x22, 0xFD, 0xF7, 0x4E, 0xFE - .byte 0x01, 0x28, 0x0C, 0xD1, 0x61, 0x88, 0x01, 0x98, 0x88, 0x42, 0x08, 0xD1, 0x03, 0x98, 0x06, 0x21 - .byte 0x41, 0x43, 0x06, 0x98, 0x40, 0x18, 0x86, 0x88, 0x00, 0x20, 0x28, 0x60, 0x05, 0xE0, 0x03, 0x98 - .byte 0xA4, 0x1D, 0x40, 0x1C, 0x03, 0x90, 0x07, 0x28, 0xBC, 0xDB + ldrh r1, [r3, #0x2] + ldr r0, [sp, #0x28] + cmp r0, r1 + bne _020694B0 + ldrh r6, [r3, #0x4] + str r7, [r5, #0x0] +_020694B0: + cmp r6, #0x0 + bne _0206954A + add r4, r4, #0x1 + add r3, r3, #0x6 + cmp r4, #0x7 + blt _0206948E + b _0206954A +_020694BE: + mov r0, #0x0 + ldr r4, [sp, #0x18] + str r0, [sp, #0xc] +_020694C4: + ldrh r2, [r4, #0x0] + cmp r2, #0x7 + bne _020694E4 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x4] + cmp r0, r1 + bne _020694E4 + ldr r0, [sp, #0xc] + mov r1, #0x6 + mul r1, r0 + ldr r0, [sp, #0x18] + add r0, r0, r1 + ldrh r6, [r0, #0x4] + mov r0, #0x0 + str r0, [r5, #0x0] + b _0206954A +_020694E4: + cmp r2, #0x10 + bne _02069510 + add r0, r7, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _02069510 + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x4] + cmp r0, r1 + bne _02069510 + ldr r0, [sp, #0xc] + mov r1, #0x6 + mul r1, r0 + ldr r0, [sp, #0x18] + add r0, r0, r1 + ldrh r6, [r0, #0x4] + mov r0, #0x0 + str r0, [r5, #0x0] + b _0206954A +_02069510: + ldrh r0, [r4, #0x0] + cmp r0, #0x11 + bne _0206953E + add r0, r7, #0x0 + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x1 + bne _0206953E + ldrh r1, [r4, #0x2] + ldr r0, [sp, #0x4] + cmp r0, r1 + bne _0206953E + ldr r0, [sp, #0xc] + mov r1, #0x6 + mul r1, r0 + ldr r0, [sp, #0x18] + add r0, r0, r1 + ldrh r6, [r0, #0x4] + mov r0, #0x0 + str r0, [r5, #0x0] + b _0206954A +_0206953E: + ldr r0, [sp, #0xc] + add r4, r4, #0x6 + add r0, r0, #0x1 + str r0, [sp, #0xc] + cmp r0, #0x7 + blt _020694C4 _0206954A: ldr r0, [sp, #0x18] bl FUN_02016A18 @@ -198785,30 +223162,71 @@ FUN_02069F24: ; 0x02069F24 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r6, r6, #0 - lsl r2, r7, #0 - lsl r6, r7, #0 - lsl r2, r0, #0x1 - lsl r6, r0, #0x1 - lsl r2, r1, #0x1 - lsl r6, r1, #0x1 - lsl r2, r2, #0x1 - lsl r6, r2, #0x1 - lsl r2, r3, #0x1 +_02069F36: ; jump table (using 16-bit offset) + .short _02069F56 - _02069F36 - 2; case 0 + .short _02069F5A - _02069F36 - 2; case 1 + .short _02069F5E - _02069F36 - 2; case 2 + .short _02069F62 - _02069F36 - 2; case 3 + .short _02069F66 - _02069F36 - 2; case 4 + .short _02069F6A - _02069F36 - 2; case 5 + .short _02069F6E - _02069F36 - 2; case 6 + .short _02069F72 - _02069F36 - 2; case 7 + .short _02069F76 - _02069F36 - 2; case 8 + .short _02069F7A - _02069F36 - 2; case 9 + .short _02069F7E - _02069F36 - 2; case 10 + .short _02069F82 - _02069F36 - 2; case 11 + .short _02069F86 - _02069F36 - 2; case 12 + .short _02069F8A - _02069F36 - 2; case 13 + .short _02069F8E - _02069F36 - 2; case 14 + .short _02069F92 - _02069F36 - 2; case 15 +_02069F56: mov r0, #0xa bx lr _02069F5A: - .byte 0x0B, 0x20, 0x70, 0x47, 0x0D, 0x20 - .byte 0x70, 0x47, 0x0C, 0x20, 0x70, 0x47, 0x0F, 0x20, 0x70, 0x47, 0x01, 0x20, 0x70, 0x47, 0x03, 0x20 - .byte 0x70, 0x47, 0x04, 0x20, 0x70, 0x47, 0x02, 0x20, 0x70, 0x47, 0x0E, 0x20, 0x70, 0x47, 0x06, 0x20 - .byte 0x70, 0x47, 0x05, 0x20, 0x70, 0x47, 0x07, 0x20, 0x70, 0x47, 0x10, 0x20, 0x70, 0x47, 0x11, 0x20 - .byte 0x70, 0x47, 0x08, 0x20, 0x70, 0x47 + mov r0, #0xb + bx lr +_02069F5E: + mov r0, #0xd + bx lr +_02069F62: + mov r0, #0xc + bx lr +_02069F66: + mov r0, #0xf + bx lr +_02069F6A: + mov r0, #0x1 + bx lr +_02069F6E: + mov r0, #0x3 + bx lr +_02069F72: + mov r0, #0x4 + bx lr +_02069F76: + mov r0, #0x2 + bx lr +_02069F7A: + mov r0, #0xe + bx lr +_02069F7E: + mov r0, #0x6 + bx lr +_02069F82: + mov r0, #0x5 + bx lr +_02069F86: + mov r0, #0x7 + bx lr +_02069F8A: + mov r0, #0x10 + bx lr +_02069F8E: + mov r0, #0x11 + bx lr +_02069F92: + mov r0, #0x8 + bx lr _02069F96: mov r0, #0x0 bx lr @@ -199412,38 +223830,40 @@ FUN_0206A418: ; 0x0206A418 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r6, r7, #0 - lsl r0, r6, #0x1 - lsl r0, r4, #0x2 - lsl r0, r2, #0x3 - lsl r0, r0, #0x4 - lsl r0, r6, #0x4 - lsl r0, r4, #0x5 - lsl r2, r2, #0x6 - lsl r2, r0, #0x7 - lsl r2, r6, #0x7 - lsl r2, r4, #0x8 - lsl r2, r2, #0x9 - lsl r2, r0, #0xa - lsl r4, r6, #0xa - lsl r4, r4, #0xb - lsl r4, r2, #0xc - lsl r4, r0, #0xd - lsl r4, r6, #0xd - lsl r4, r4, #0xe - lsl r6, r2, #0xf - lsl r6, r0, #0x10 - lsl r6, r6, #0x10 - lsl r6, r4, #0x11 - lsl r6, r2, #0x12 - lsl r6, r7, #0 - lsl r0, r6, #0x1 - lsl r0, r4, #0x2 - lsl r0, r2, #0x3 - lsl r0, r0, #0x4 - lsl r0, r6, #0x4 - lsl r0, r4, #0x5 - lsl r2, r2, #0x6 +_0206A432: ; jump table (using 16-bit offset) + .short _0206A472 - _0206A432 - 2; case 0 + .short _0206A4A4 - _0206A432 - 2; case 1 + .short _0206A4D4 - _0206A432 - 2; case 2 + .short _0206A504 - _0206A432 - 2; case 3 + .short _0206A534 - _0206A432 - 2; case 4 + .short _0206A564 - _0206A432 - 2; case 5 + .short _0206A594 - _0206A432 - 2; case 6 + .short _0206A5C6 - _0206A432 - 2; case 7 + .short _0206A5F6 - _0206A432 - 2; case 8 + .short _0206A626 - _0206A432 - 2; case 9 + .short _0206A656 - _0206A432 - 2; case 10 + .short _0206A686 - _0206A432 - 2; case 11 + .short _0206A6B6 - _0206A432 - 2; case 12 + .short _0206A6E8 - _0206A432 - 2; case 13 + .short _0206A718 - _0206A432 - 2; case 14 + .short _0206A748 - _0206A432 - 2; case 15 + .short _0206A778 - _0206A432 - 2; case 16 + .short _0206A7A8 - _0206A432 - 2; case 17 + .short _0206A7D8 - _0206A432 - 2; case 18 + .short _0206A80A - _0206A432 - 2; case 19 + .short _0206A83A - _0206A432 - 2; case 20 + .short _0206A86A - _0206A432 - 2; case 21 + .short _0206A89A - _0206A432 - 2; case 22 + .short _0206A8CA - _0206A432 - 2; case 23 + .short _0206A472 - _0206A432 - 2; case 24 + .short _0206A4A4 - _0206A432 - 2; case 25 + .short _0206A4D4 - _0206A432 - 2; case 26 + .short _0206A504 - _0206A432 - 2; case 27 + .short _0206A534 - _0206A432 - 2; case 28 + .short _0206A564 - _0206A432 - 2; case 29 + .short _0206A594 - _0206A432 - 2; case 30 + .short _0206A5C6 - _0206A432 - 2; case 31 +_0206A472: add r0, #0x8 cmp r2, #0x3 bls _0206A47A @@ -199456,84 +223876,724 @@ _0206A47A: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 +_0206A486: ; jump table (using 16-bit offset) + .short _0206A48E - _0206A486 - 2; case 0 + .short _0206A492 - _0206A486 - 2; case 1 + .short _0206A498 - _0206A486 - 2; case 2 + .short _0206A49E - _0206A486 - 2; case 3 +_0206A48E: add r1, r0, #0x0 b _0206A8F8 _0206A492: - .byte 0x01, 0x1C, 0x20, 0x31, 0x2F, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0x2C, 0xE2, 0x01, 0x1C - .byte 0x60, 0x31, 0x29, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 - .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C - .byte 0x1A, 0xE2, 0x01, 0x1C, 0x20, 0x31, 0x17, 0xE2, 0x01, 0x1C, 0x60, 0x31, 0x14, 0xE2, 0x01, 0x1C - .byte 0x40, 0x31, 0x11, 0xE2, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 - .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C - .byte 0x02, 0xE2, 0x01, 0x1C, 0x40, 0x31, 0xFF, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xFC, 0xE1, 0x01, 0x1C - .byte 0x60, 0x31, 0xF9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 - .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C - .byte 0xEA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xE7, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0xE4, 0xE1, 0x01, 0x1C - .byte 0x40, 0x31, 0xE1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 - .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C - .byte 0xD2, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xCF, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xCC, 0xE1, 0x01, 0x1C - .byte 0x20, 0x31, 0xC9, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88 - .byte 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x10, 0x00, 0x16, 0x00, 0x01, 0x1C - .byte 0xBA, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0xB7, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0xB4, 0xE1, 0x01, 0x1C - .byte 0x20, 0x31, 0xB1, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0xAD, 0xE1, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x20, 0x31, 0xA0, 0xE1, 0x01, 0x1C, 0x9E, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x9B, 0xE1 - .byte 0x01, 0x1C, 0x60, 0x31, 0x98, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x20, 0x31, 0x88, 0xE1, 0x01, 0x1C, 0x86, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x83, 0xE1 - .byte 0x01, 0x1C, 0x40, 0x31, 0x80, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x40, 0x31, 0x70, 0xE1, 0x01, 0x1C, 0x6E, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x6B, 0xE1 - .byte 0x01, 0x1C, 0x60, 0x31, 0x68, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x60, 0x31, 0x58, 0xE1, 0x01, 0x1C, 0x56, 0xE1, 0x01, 0x1C, 0x20, 0x31, 0x53, 0xE1 - .byte 0x01, 0x1C, 0x40, 0x31, 0x50, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x40, 0x31, 0x40, 0xE1, 0x01, 0x1C, 0x3E, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x3B, 0xE1 - .byte 0x01, 0x1C, 0x20, 0x31, 0x38, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18, 0x7A, 0x44 - .byte 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x10, 0x00, 0x16, 0x00 - .byte 0x01, 0x1C, 0x60, 0x31, 0x28, 0xE1, 0x01, 0x1C, 0x26, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x23, 0xE1 - .byte 0x01, 0x1C, 0x20, 0x31, 0x20, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x1C, 0xE1, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x0F, 0xE1, 0x01, 0x1C, 0x40, 0x31, 0x0C, 0xE1, 0x01, 0x1C - .byte 0x0A, 0xE1, 0x01, 0x1C, 0x60, 0x31, 0x07, 0xE1, 0x08, 0x30, 0x03, 0x2A, 0x77, 0xD8, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x20, 0x31, 0xF7, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xF4, 0xE0, 0x01, 0x1C - .byte 0xF2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xEF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5F, 0xD8, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xDF, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xDC, 0xE0, 0x01, 0x1C - .byte 0xDA, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xD7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x47, 0xD8, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0xC7, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xC4, 0xE0, 0x01, 0x1C - .byte 0xC2, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0xBF, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2F, 0xD8, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x40, 0x31, 0xAF, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0xAC, 0xE0, 0x01, 0x1C - .byte 0xAA, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0xA7, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x17, 0xD8, 0x92, 0x18 - .byte 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00, 0x12, 0x00 - .byte 0x16, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x97, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x94, 0xE0, 0x01, 0x1C - .byte 0x92, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x8F, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x00, 0xD9, 0x8B, 0xE0 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x7E, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x7B, 0xE0 - .byte 0x01, 0x1C, 0x60, 0x31, 0x78, 0xE0, 0x01, 0x1C, 0x76, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x73, 0xD8 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x20, 0x31, 0x66, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x63, 0xE0 - .byte 0x01, 0x1C, 0x40, 0x31, 0x60, 0xE0, 0x01, 0x1C, 0x5E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x5B, 0xD8 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x4E, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x4B, 0xE0 - .byte 0x01, 0x1C, 0x60, 0x31, 0x48, 0xE0, 0x01, 0x1C, 0x46, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x43, 0xD8 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x36, 0xE0, 0x01, 0x1C, 0x20, 0x31, 0x33, 0xE0 - .byte 0x01, 0x1C, 0x40, 0x31, 0x30, 0xE0, 0x01, 0x1C, 0x2E, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x2B, 0xD8 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x40, 0x31, 0x1E, 0xE0, 0x01, 0x1C, 0x60, 0x31, 0x1B, 0xE0 - .byte 0x01, 0x1C, 0x20, 0x31, 0x18, 0xE0, 0x01, 0x1C, 0x16, 0xE0, 0x08, 0x30, 0x03, 0x2A, 0x13, 0xD8 - .byte 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44, 0x06, 0x00, 0x0C, 0x00 - .byte 0x12, 0x00, 0x18, 0x00, 0x01, 0x1C, 0x60, 0x31, 0x06, 0xE0, 0x01, 0x1C, 0x40, 0x31, 0x03, 0xE0 - .byte 0x01, 0x1C, 0x20, 0x31, 0x00, 0xE0, 0x01, 0x1C + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A498: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A49E: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A4A4: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A59A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A4B6: ; jump table (using 16-bit offset) + .short _0206A4BE - _0206A4B6 - 2; case 0 + .short _0206A4C2 - _0206A4B6 - 2; case 1 + .short _0206A4C8 - _0206A4B6 - 2; case 2 + .short _0206A4CE - _0206A4B6 - 2; case 3 +_0206A4BE: + add r1, r0, #0x0 + b _0206A8F8 +_0206A4C2: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A4C8: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A4CE: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A4D4: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A59A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A4E6: ; jump table (using 16-bit offset) + .short _0206A4EE - _0206A4E6 - 2; case 0 + .short _0206A4F2 - _0206A4E6 - 2; case 1 + .short _0206A4F8 - _0206A4E6 - 2; case 2 + .short _0206A4FE - _0206A4E6 - 2; case 3 +_0206A4EE: + add r1, r0, #0x0 + b _0206A8F8 +_0206A4F2: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A4F8: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A4FE: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A504: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A59A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A516: ; jump table (using 16-bit offset) + .short _0206A51E - _0206A516 - 2; case 0 + .short _0206A522 - _0206A516 - 2; case 1 + .short _0206A528 - _0206A516 - 2; case 2 + .short _0206A52E - _0206A516 - 2; case 3 +_0206A51E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A522: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A528: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A52E: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A534: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A59A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A546: ; jump table (using 16-bit offset) + .short _0206A54E - _0206A546 - 2; case 0 + .short _0206A552 - _0206A546 - 2; case 1 + .short _0206A558 - _0206A546 - 2; case 2 + .short _0206A55E - _0206A546 - 2; case 3 +_0206A54E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A552: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A558: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A55E: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A564: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A59A + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A576: ; jump table (using 16-bit offset) + .short _0206A57E - _0206A576 - 2; case 0 + .short _0206A582 - _0206A576 - 2; case 1 + .short _0206A588 - _0206A576 - 2; case 2 + .short _0206A58E - _0206A576 - 2; case 3 +_0206A57E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A582: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A588: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A58E: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A594: + add r0, #0x8 + cmp r2, #0x3 + bls _0206A59C +_0206A59A: + b _0206A8F8 +_0206A59C: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A5A8: ; jump table (using 16-bit offset) + .short _0206A5B0 - _0206A5A8 - 2; case 0 + .short _0206A5B6 - _0206A5A8 - 2; case 1 + .short _0206A5BA - _0206A5A8 - 2; case 2 + .short _0206A5C0 - _0206A5A8 - 2; case 3 +_0206A5B0: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A5B6: + add r1, r0, #0x0 + b _0206A8F8 +_0206A5BA: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A5C0: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A5C6: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A6BC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A5D8: ; jump table (using 16-bit offset) + .short _0206A5E0 - _0206A5D8 - 2; case 0 + .short _0206A5E6 - _0206A5D8 - 2; case 1 + .short _0206A5EA - _0206A5D8 - 2; case 2 + .short _0206A5F0 - _0206A5D8 - 2; case 3 +_0206A5E0: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A5E6: + add r1, r0, #0x0 + b _0206A8F8 +_0206A5EA: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A5F0: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A5F6: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A6BC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A608: ; jump table (using 16-bit offset) + .short _0206A610 - _0206A608 - 2; case 0 + .short _0206A616 - _0206A608 - 2; case 1 + .short _0206A61A - _0206A608 - 2; case 2 + .short _0206A620 - _0206A608 - 2; case 3 +_0206A610: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A616: + add r1, r0, #0x0 + b _0206A8F8 +_0206A61A: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A620: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A626: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A6BC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A638: ; jump table (using 16-bit offset) + .short _0206A640 - _0206A638 - 2; case 0 + .short _0206A646 - _0206A638 - 2; case 1 + .short _0206A64A - _0206A638 - 2; case 2 + .short _0206A650 - _0206A638 - 2; case 3 +_0206A640: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A646: + add r1, r0, #0x0 + b _0206A8F8 +_0206A64A: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A650: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A656: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A6BC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A668: ; jump table (using 16-bit offset) + .short _0206A670 - _0206A668 - 2; case 0 + .short _0206A676 - _0206A668 - 2; case 1 + .short _0206A67A - _0206A668 - 2; case 2 + .short _0206A680 - _0206A668 - 2; case 3 +_0206A670: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A676: + add r1, r0, #0x0 + b _0206A8F8 +_0206A67A: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A680: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A686: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A6BC + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A698: ; jump table (using 16-bit offset) + .short _0206A6A0 - _0206A698 - 2; case 0 + .short _0206A6A6 - _0206A698 - 2; case 1 + .short _0206A6AA - _0206A698 - 2; case 2 + .short _0206A6B0 - _0206A698 - 2; case 3 +_0206A6A0: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A6A6: + add r1, r0, #0x0 + b _0206A8F8 +_0206A6AA: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A6B0: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A6B6: + add r0, #0x8 + cmp r2, #0x3 + bls _0206A6BE +_0206A6BC: + b _0206A8F8 +_0206A6BE: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A6CA: ; jump table (using 16-bit offset) + .short _0206A6D2 - _0206A6CA - 2; case 0 + .short _0206A6D8 - _0206A6CA - 2; case 1 + .short _0206A6DE - _0206A6CA - 2; case 2 + .short _0206A6E2 - _0206A6CA - 2; case 3 +_0206A6D2: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A6D8: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A6DE: + add r1, r0, #0x0 + b _0206A8F8 +_0206A6E2: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A6E8: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A7DE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A6FA: ; jump table (using 16-bit offset) + .short _0206A702 - _0206A6FA - 2; case 0 + .short _0206A708 - _0206A6FA - 2; case 1 + .short _0206A70E - _0206A6FA - 2; case 2 + .short _0206A712 - _0206A6FA - 2; case 3 +_0206A702: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A708: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A70E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A712: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A718: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A7DE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A72A: ; jump table (using 16-bit offset) + .short _0206A732 - _0206A72A - 2; case 0 + .short _0206A738 - _0206A72A - 2; case 1 + .short _0206A73E - _0206A72A - 2; case 2 + .short _0206A742 - _0206A72A - 2; case 3 +_0206A732: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A738: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A73E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A742: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A748: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A7DE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A75A: ; jump table (using 16-bit offset) + .short _0206A762 - _0206A75A - 2; case 0 + .short _0206A768 - _0206A75A - 2; case 1 + .short _0206A76E - _0206A75A - 2; case 2 + .short _0206A772 - _0206A75A - 2; case 3 +_0206A762: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A768: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A76E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A772: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A778: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A7DE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A78A: ; jump table (using 16-bit offset) + .short _0206A792 - _0206A78A - 2; case 0 + .short _0206A798 - _0206A78A - 2; case 1 + .short _0206A79E - _0206A78A - 2; case 2 + .short _0206A7A2 - _0206A78A - 2; case 3 +_0206A792: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A798: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A79E: + add r1, r0, #0x0 + b _0206A8F8 +_0206A7A2: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A7A8: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A7DE + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A7BA: ; jump table (using 16-bit offset) + .short _0206A7C2 - _0206A7BA - 2; case 0 + .short _0206A7C8 - _0206A7BA - 2; case 1 + .short _0206A7CE - _0206A7BA - 2; case 2 + .short _0206A7D2 - _0206A7BA - 2; case 3 +_0206A7C2: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A7C8: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A7CE: + add r1, r0, #0x0 + b _0206A8F8 +_0206A7D2: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A7D8: + add r0, #0x8 + cmp r2, #0x3 + bls _0206A7E0 +_0206A7DE: + b _0206A8F8 +_0206A7E0: + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A7EC: ; jump table (using 16-bit offset) + .short _0206A7F4 - _0206A7EC - 2; case 0 + .short _0206A7FA - _0206A7EC - 2; case 1 + .short _0206A800 - _0206A7EC - 2; case 2 + .short _0206A806 - _0206A7EC - 2; case 3 +_0206A7F4: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A7FA: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A800: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A806: + add r1, r0, #0x0 + b _0206A8F8 +_0206A80A: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A8F8 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A81C: ; jump table (using 16-bit offset) + .short _0206A824 - _0206A81C - 2; case 0 + .short _0206A82A - _0206A81C - 2; case 1 + .short _0206A830 - _0206A81C - 2; case 2 + .short _0206A836 - _0206A81C - 2; case 3 +_0206A824: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A82A: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A830: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A836: + add r1, r0, #0x0 + b _0206A8F8 +_0206A83A: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A8F8 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A84C: ; jump table (using 16-bit offset) + .short _0206A854 - _0206A84C - 2; case 0 + .short _0206A85A - _0206A84C - 2; case 1 + .short _0206A860 - _0206A84C - 2; case 2 + .short _0206A866 - _0206A84C - 2; case 3 +_0206A854: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A85A: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A860: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A866: + add r1, r0, #0x0 + b _0206A8F8 +_0206A86A: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A8F8 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A87C: ; jump table (using 16-bit offset) + .short _0206A884 - _0206A87C - 2; case 0 + .short _0206A88A - _0206A87C - 2; case 1 + .short _0206A890 - _0206A87C - 2; case 2 + .short _0206A896 - _0206A87C - 2; case 3 +_0206A884: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A88A: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A890: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A896: + add r1, r0, #0x0 + b _0206A8F8 +_0206A89A: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A8F8 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A8AC: ; jump table (using 16-bit offset) + .short _0206A8B4 - _0206A8AC - 2; case 0 + .short _0206A8BA - _0206A8AC - 2; case 1 + .short _0206A8C0 - _0206A8AC - 2; case 2 + .short _0206A8C6 - _0206A8AC - 2; case 3 +_0206A8B4: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A8BA: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A8C0: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A8C6: + add r1, r0, #0x0 + b _0206A8F8 +_0206A8CA: + add r0, #0x8 + cmp r2, #0x3 + bhi _0206A8F8 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_0206A8DC: ; jump table (using 16-bit offset) + .short _0206A8E4 - _0206A8DC - 2; case 0 + .short _0206A8EA - _0206A8DC - 2; case 1 + .short _0206A8F0 - _0206A8DC - 2; case 2 + .short _0206A8F6 - _0206A8DC - 2; case 3 +_0206A8E4: + add r1, r0, #0x0 + add r1, #0x60 + b _0206A8F8 +_0206A8EA: + add r1, r0, #0x0 + add r1, #0x40 + b _0206A8F8 +_0206A8F0: + add r1, r0, #0x0 + add r1, #0x20 + b _0206A8F8 +_0206A8F6: + add r1, r0, #0x0 _0206A8F8: add r0, r1, #0x0 pop {r3, pc} @@ -199740,10 +224800,11 @@ _0206AA50: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r2, r1, #0 - lsl r2, r1, #0 - lsl r2, r1, #0 +_0206AA64: ; jump table (using 16-bit offset) + .short _0206AA70 - _0206AA64 - 2; case 0 + .short _0206AA70 - _0206AA64 - 2; case 1 + .short _0206AA70 - _0206AA64 - 2; case 2 + .short _0206AA70 - _0206AA64 - 2; case 3 _0206AA6C: mov r0, #0x2 pop {r3, pc} @@ -199882,24 +224943,55 @@ FUN_0206AB58: ; 0x0206AB58 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 - lsl r2, r4, #0 - lsl r6, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 - lsl r2, r6, #0 - lsl r6, r6, #0 - lsl r4, r7, #0 - lsl r0, r0, #0x1 - lsl r4, r0, #0x1 +_0206AB68: ; jump table (using 16-bit offset) + .short _0206AB80 - _0206AB68 - 2; case 0 + .short _0206AB84 - _0206AB68 - 2; case 1 + .short _0206AB88 - _0206AB68 - 2; case 2 + .short _0206AB8C - _0206AB68 - 2; case 3 + .short _0206AB90 - _0206AB68 - 2; case 4 + .short _0206AB94 - _0206AB68 - 2; case 5 + .short _0206AB98 - _0206AB68 - 2; case 6 + .short _0206AB9C - _0206AB68 - 2; case 7 + .short _0206ABA0 - _0206AB68 - 2; case 8 + .short _0206ABA6 - _0206AB68 - 2; case 9 + .short _0206ABAA - _0206AB68 - 2; case 10 + .short _0206ABAE - _0206AB68 - 2; case 11 +_0206AB80: ldrh r0, [r0, #0x0] bx lr _0206AB84: - .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78, 0x70, 0x47, 0x00, 0x79, 0x70, 0x47 - .byte 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79, 0x70, 0x47, 0x00, 0x89, 0x70, 0x47 - .byte 0x0A, 0x21, 0x40, 0x56, 0x70, 0x47, 0xC0, 0x7A, 0x70, 0x47, 0x00, 0x7B, 0x70, 0x47, 0x40, 0x7B + ldrb r0, [r0, #0x2] + bx lr +_0206AB88: + ldrb r0, [r0, #0x3] + bx lr +_0206AB8C: + ldrb r0, [r0, #0x4] + bx lr +_0206AB90: + ldrb r0, [r0, #0x5] + bx lr +_0206AB94: + ldrb r0, [r0, #0x6] + bx lr +_0206AB98: + ldrb r0, [r0, #0x7] + bx lr +_0206AB9C: + ldrh r0, [r0, #0x8] + bx lr +_0206ABA0: + mov r1, #0xa + ldrsb r0, [r0, r1] + bx lr +_0206ABA6: + ldrb r0, [r0, #0xb] + bx lr +_0206ABAA: + ldrb r0, [r0, #0xc] + bx lr +_0206ABAE: + ldrb r0, [r0, #0xd] _0206ABB0: bx lr .balign 4 @@ -200014,23 +225106,44 @@ FUN_0206AC74: ; 0x0206AC74 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r2, #0 - lsl r0, r3, #0 - lsl r6, r3, #0 - lsl r4, r4, #0 - lsl r2, r5, #0 - lsl r2, r5, #0 - lsl r2, r5, #0 - lsl r2, r5, #0 - lsl r4, r6, #0 - lsl r0, r7, #0 +_0206AC90: ; jump table (using 16-bit offset) + .short _0206ACA4 - _0206AC90 - 2; case 0 + .short _0206ACAA - _0206AC90 - 2; case 1 + .short _0206ACB0 - _0206AC90 - 2; case 2 + .short _0206ACB6 - _0206AC90 - 2; case 3 + .short _0206ACBC - _0206AC90 - 2; case 4 + .short _0206ACBC - _0206AC90 - 2; case 5 + .short _0206ACBC - _0206AC90 - 2; case 6 + .short _0206ACBC - _0206AC90 - 2; case 7 + .short _0206ACC6 - _0206AC90 - 2; case 8 + .short _0206ACCA - _0206AC90 - 2; case 9 +_0206ACA4: add r0, sp, #0x0 ldrb r4, [r0, #0x0] b _0206ACCC _0206ACAA: - .byte 0x00, 0xA8, 0x44, 0x78, 0x0D, 0xE0 - .byte 0x00, 0xA8, 0x84, 0x78, 0x0A, 0xE0, 0x00, 0xA8, 0xC4, 0x78, 0x07, 0xE0, 0x28, 0x1F, 0x41, 0x00 - .byte 0x01, 0xA8, 0x44, 0x5A, 0x02, 0xE0, 0x03, 0x9C, 0x00, 0xE0, 0x04, 0x9C + add r0, sp, #0x0 + ldrb r4, [r0, #0x1] + b _0206ACCC +_0206ACB0: + add r0, sp, #0x0 + ldrb r4, [r0, #0x2] + b _0206ACCC +_0206ACB6: + add r0, sp, #0x0 + ldrb r4, [r0, #0x3] + b _0206ACCC +_0206ACBC: + sub r0, r5, #0x4 + lsl r1, r0, #0x1 + add r0, sp, #0x4 + ldrh r4, [r0, r1] + b _0206ACCC +_0206ACC6: + ldr r4, [sp, #0xc] + b _0206ACCC +_0206ACCA: + ldr r4, [sp, #0x10] _0206ACCC: add r0, r4, #0x0 add sp, #0x34 @@ -200251,10 +225364,12 @@ _0206AE62: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r5, #0x2 - lsl r6, r5, #0x5 - lsl r2, r2, #0x8 +_0206AE78: ; jump table (using 16-bit offset) + .short _0206AE80 - _0206AE78 - 2; case 0 + .short _0206AF28 - _0206AE78 - 2; case 1 + .short _0206AFE8 - _0206AE78 - 2; case 2 + .short _0206B08C - _0206AE78 - 2; case 3 +_0206AE80: mov r0, #0x0 str r0, [sp, #0x48] add r0, r4, r5 @@ -200339,42 +225454,281 @@ _0206AECE: _0206AF26: b _0206B156 _0206AF28: - .byte 0x00, 0x20, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30 - .byte 0x00, 0x78, 0x00, 0x28, 0x57, 0xDD, 0x13, 0x98, 0x0C, 0x90, 0xA0, 0x19, 0x0B, 0x90, 0x0B, 0x98 - .byte 0x0C, 0x9A, 0x81, 0x69, 0x0C, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88, 0x9A, 0x18, 0x80, 0x18 - .byte 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x44, 0xFD, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26 - .byte 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x42, 0xFD, 0x07, 0x1C, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78 - .byte 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18, 0x0C, 0x98, 0x01, 0x88 - .byte 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0x7C, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90 - .byte 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0x0C, 0x99, 0x0C, 0x9A - .byte 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0x90, 0xFD, 0x0C, 0x9F, 0x00, 0x26 - .byte 0xF9, 0x88, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x08, 0xFC, 0x76, 0x1C, 0xBF, 0x1C - .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0B, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0x99, 0xFC, 0x0C, 0x98 - .byte 0x0E, 0x30, 0x0C, 0x90, 0x06, 0x98, 0x40, 0x1C, 0x06, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78 - .byte 0x06, 0x98, 0x88, 0x42, 0xAB, 0xDB, 0xB6, 0xE0, 0x00, 0x20, 0x07, 0x90, 0x60, 0x19, 0x2B, 0x30 - .byte 0x00, 0x78, 0x00, 0x28, 0x49, 0xDD, 0xA0, 0x19, 0x13, 0x9F, 0x0D, 0x90, 0x0D, 0x98, 0x3B, 0x88 - .byte 0x7A, 0x88, 0x81, 0x69, 0xB8, 0x88, 0x9A, 0x18, 0x80, 0x18, 0x08, 0x18, 0x05, 0x90, 0xB0, 0xF7 - .byte 0xE7, 0xFC, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7 - .byte 0xE5, 0xFC, 0x05, 0x90, 0x60, 0x19, 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB - .byte 0x05, 0x98, 0x01, 0x02, 0x04, 0x98, 0x0E, 0x18, 0x39, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21 - .byte 0x80, 0xF0, 0x1E, 0xEE, 0x03, 0x1C, 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20 - .byte 0x02, 0x90, 0x00, 0x20, 0x03, 0x90, 0xB9, 0x88, 0x7A, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7 - .byte 0x35, 0xFD, 0x10, 0x98, 0x06, 0x21, 0xBA, 0x1D, 0xFC, 0xF7, 0xE2, 0xFB, 0x0D, 0x98, 0x10, 0x99 - .byte 0x40, 0x68, 0x00, 0xF0, 0x45, 0xFC, 0x07, 0x98, 0x08, 0x37, 0x40, 0x1C, 0x07, 0x90, 0x60, 0x19 - .byte 0x2B, 0x30, 0x01, 0x78, 0x07, 0x98, 0x88, 0x42, 0xB8, 0xDB, 0x64, 0xE0, 0x00, 0x20, 0x08, 0x90 - .byte 0x60, 0x19, 0x2B, 0x30, 0x00, 0x78, 0x00, 0x28, 0x5D, 0xDD, 0x13, 0x98, 0x0F, 0x90, 0xA0, 0x19 - .byte 0x0E, 0x90, 0x0E, 0x98, 0x0F, 0x9A, 0x81, 0x69, 0x0F, 0x98, 0x13, 0x88, 0x52, 0x88, 0x80, 0x88 - .byte 0x9A, 0x18, 0x80, 0x18, 0x0F, 0x18, 0x38, 0x1C, 0xB0, 0xF7, 0x92, 0xFC, 0x60, 0x19, 0x29, 0x30 - .byte 0x00, 0x78, 0x00, 0x26, 0x00, 0x28, 0x08, 0xDD, 0xB0, 0xF7, 0x90, 0xFC, 0x07, 0x1C, 0x60, 0x19 - .byte 0x29, 0x30, 0x00, 0x78, 0x76, 0x1C, 0x86, 0x42, 0xF6, 0xDB, 0x04, 0x98, 0x39, 0x02, 0x0E, 0x18 - .byte 0x0F, 0x98, 0x01, 0x88, 0x1F, 0x20, 0x48, 0x43, 0xFF, 0x21, 0x80, 0xF0, 0xCA, 0xED, 0x03, 0x1C - .byte 0x01, 0x20, 0x00, 0x90, 0x1B, 0x06, 0x01, 0x96, 0x02, 0x20, 0x02, 0x90, 0x00, 0x20, 0x03, 0x90 - .byte 0x0F, 0x99, 0x0F, 0x9A, 0x89, 0x88, 0x52, 0x88, 0x10, 0x98, 0x1B, 0x0E, 0xFB, 0xF7, 0xDE, 0xFC - .byte 0x0F, 0x9A, 0x10, 0x98, 0x06, 0x21, 0x92, 0x1D, 0xFC, 0xF7, 0x8A, 0xFB, 0x0F, 0x9F, 0x00, 0x26 - .byte 0x39, 0x89, 0x32, 0x06, 0x10, 0x98, 0x12, 0x0E, 0xFE, 0xF7, 0x50, 0xFB, 0x76, 0x1C, 0xBF, 0x1C - .byte 0x04, 0x2E, 0xF5, 0xDB, 0x0E, 0x98, 0x10, 0x99, 0x40, 0x68, 0x00, 0xF0, 0xE1, 0xFB, 0x0F, 0x98 - .byte 0x10, 0x30, 0x0F, 0x90, 0x08, 0x98, 0x40, 0x1C, 0x08, 0x90, 0x60, 0x19, 0x2B, 0x30, 0x01, 0x78 - .byte 0x08, 0x98, 0x88, 0x42, 0xA5, 0xDB + mov r0, #0x0 + str r0, [sp, #0x18] + add r0, r4, r5 + add r0, #0x2b + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ble _0206AFE6 + ldr r0, [sp, #0x4c] + str r0, [sp, #0x30] + add r0, r4, r6 + str r0, [sp, #0x2c] +_0206AF3E: + ldr r0, [sp, #0x2c] + ldr r2, [sp, #0x30] + ldr r1, [r0, #0x18] + ldr r0, [sp, #0x30] + ldrh r3, [r2, #0x0] + ldrh r2, [r2, #0x2] + ldrh r0, [r0, #0x4] + add r2, r3, r2 + add r0, r0, r2 + add r7, r1, r0 + add r0, r7, #0x0 + bl FUN_0201B9E0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + ble _0206AF76 +_0206AF64: + bl FUN_0201B9EC + add r7, r0, #0x0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + add r6, r6, #0x1 + cmp r6, r0 + blt _0206AF64 +_0206AF76: + ldr r0, [sp, #0x10] + lsl r1, r7, #0x8 + add r6, r1, r0 + ldr r0, [sp, #0x30] + ldrh r1, [r0, #0x0] + mov r0, #0x1f + mul r0, r1 + mov r1, #0xff + blx FUN_020EBC80 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + lsl r3, r3, #0x18 + str r6, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r1, [sp, #0x30] + ldr r2, [sp, #0x30] + ldrh r1, [r1, #0x4] + ldrh r2, [r2, #0x2] + ldr r0, [sp, #0x40] + lsr r3, r3, #0x18 + bl FUN_02066ACC + ldr r7, [sp, #0x30] + mov r6, #0x0 +_0206AFB0: + ldrh r1, [r7, #0x6] + lsl r2, r6, #0x18 + ldr r0, [sp, #0x40] + lsr r2, r2, #0x18 + bl FUN_020697CC + add r6, r6, #0x1 + add r7, r7, #0x2 + cmp r6, #0x4 + blt _0206AFB0 + ldr r0, [sp, #0x2c] + ldr r1, [sp, #0x40] + ldr r0, [r0, #0x4] + bl FUN_0206B900 + ldr r0, [sp, #0x30] + add r0, #0xe + str r0, [sp, #0x30] + ldr r0, [sp, #0x18] + add r0, r0, #0x1 + str r0, [sp, #0x18] + add r0, r4, r5 + add r0, #0x2b + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x18] + cmp r0, r1 + blt _0206AF3E +_0206AFE6: + b _0206B156 +_0206AFE8: + mov r0, #0x0 + str r0, [sp, #0x1c] + add r0, r4, r5 + add r0, #0x2b + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ble _0206B08A + add r0, r4, r6 + ldr r7, [sp, #0x4c] + str r0, [sp, #0x34] +_0206AFFC: + ldr r0, [sp, #0x34] + ldrh r3, [r7, #0x0] + ldrh r2, [r7, #0x2] + ldr r1, [r0, #0x18] + ldrh r0, [r7, #0x4] + add r2, r3, r2 + add r0, r0, r2 + add r0, r1, r0 + str r0, [sp, #0x14] + bl FUN_0201B9E0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + ble _0206B030 +_0206B01E: + bl FUN_0201B9EC + str r0, [sp, #0x14] + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + add r6, r6, #0x1 + cmp r6, r0 + blt _0206B01E +_0206B030: + ldr r0, [sp, #0x14] + lsl r1, r0, #0x8 + ldr r0, [sp, #0x10] + add r6, r1, r0 + ldrh r1, [r7, #0x0] + mov r0, #0x1f + mul r0, r1 + mov r1, #0xff + blx FUN_020EBC80 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + lsl r3, r3, #0x18 + str r6, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldrh r1, [r7, #0x4] + ldrh r2, [r7, #0x2] + ldr r0, [sp, #0x40] + lsr r3, r3, #0x18 + bl FUN_02066ACC + ldr r0, [sp, #0x40] + mov r1, #0x6 + add r2, r7, #0x6 + bl FUN_02067830 + ldr r0, [sp, #0x34] + ldr r1, [sp, #0x40] + ldr r0, [r0, #0x4] + bl FUN_0206B900 + ldr r0, [sp, #0x1c] + add r7, #0x8 + add r0, r0, #0x1 + str r0, [sp, #0x1c] + add r0, r4, r5 + add r0, #0x2b + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x1c] + cmp r0, r1 + blt _0206AFFC +_0206B08A: + b _0206B156 +_0206B08C: + mov r0, #0x0 + str r0, [sp, #0x20] + add r0, r4, r5 + add r0, #0x2b + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + ble _0206B156 + ldr r0, [sp, #0x4c] + str r0, [sp, #0x3c] + add r0, r4, r6 + str r0, [sp, #0x38] +_0206B0A2: + ldr r0, [sp, #0x38] + ldr r2, [sp, #0x3c] + ldr r1, [r0, #0x18] + ldr r0, [sp, #0x3c] + ldrh r3, [r2, #0x0] + ldrh r2, [r2, #0x2] + ldrh r0, [r0, #0x4] + add r2, r3, r2 + add r0, r0, r2 + add r7, r1, r0 + add r0, r7, #0x0 + bl FUN_0201B9E0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + mov r6, #0x0 + cmp r0, #0x0 + ble _0206B0DA +_0206B0C8: + bl FUN_0201B9EC + add r7, r0, #0x0 + add r0, r4, r5 + add r0, #0x29 + ldrb r0, [r0, #0x0] + add r6, r6, #0x1 + cmp r6, r0 + blt _0206B0C8 +_0206B0DA: + ldr r0, [sp, #0x10] + lsl r1, r7, #0x8 + add r6, r1, r0 + ldr r0, [sp, #0x3c] + ldrh r1, [r0, #0x0] + mov r0, #0x1f + mul r0, r1 + mov r1, #0xff + blx FUN_020EBC80 + add r3, r0, #0x0 + mov r0, #0x1 + str r0, [sp, #0x0] + lsl r3, r3, #0x18 + str r6, [sp, #0x4] + mov r0, #0x2 + str r0, [sp, #0x8] + mov r0, #0x0 + str r0, [sp, #0xc] + ldr r1, [sp, #0x3c] + ldr r2, [sp, #0x3c] + ldrh r1, [r1, #0x4] + ldrh r2, [r2, #0x2] + ldr r0, [sp, #0x40] + lsr r3, r3, #0x18 + bl FUN_02066ACC + ldr r2, [sp, #0x3c] + ldr r0, [sp, #0x40] + mov r1, #0x6 + add r2, r2, #0x6 + bl FUN_02067830 + ldr r7, [sp, #0x3c] + mov r6, #0x0 +_0206B120: + ldrh r1, [r7, #0x8] + lsl r2, r6, #0x18 + ldr r0, [sp, #0x40] + lsr r2, r2, #0x18 + bl FUN_020697CC + add r6, r6, #0x1 + add r7, r7, #0x2 + cmp r6, #0x4 + blt _0206B120 + ldr r0, [sp, #0x38] + ldr r1, [sp, #0x40] + ldr r0, [r0, #0x4] + bl FUN_0206B900 + ldr r0, [sp, #0x3c] + add r0, #0x10 + str r0, [sp, #0x3c] + ldr r0, [sp, #0x20] + add r0, r0, #0x1 + str r0, [sp, #0x20] + add r0, r4, r5 + add r0, #0x2b + ldrb r1, [r0, #0x0] + ldr r0, [sp, #0x20] + cmp r0, r1 + blt _0206B0A2 _0206B156: ldr r0, [sp, #0x4c] bl FUN_02016A18 @@ -203478,144 +228832,1388 @@ FUN_0206C700: ; 0x0206C700 str r0, [r4, #0x28] bl FUN_020671BC add r1, r4, #0x0 - add r1, #0x60 - strh r0, [r1, #0x0] + add r1, #0x60 + strh r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x62 + strh r7, [r0, #0x0] + str r5, [r4, #0x5c] + add r0, r5, #0x0 + bl FUN_02002FD0 + str r0, [r4, #0x14] + mov r1, #0x1 + bl FUN_020038F0 + mov r2, #0x2 + ldr r0, [r4, #0x14] + mov r1, #0x0 + lsl r2, r2, #0x8 + add r3, r5, #0x0 + bl FUN_02003008 + mov r1, #0x1 + ldr r0, [r4, #0x14] + lsl r2, r1, #0x9 + add r3, r5, #0x0 + bl FUN_02003008 + mov r2, #0x7 + ldr r0, [r4, #0x14] + mov r1, #0x2 + lsl r2, r2, #0x6 + add r3, r5, #0x0 + bl FUN_02003008 + mov r2, #0x2 + ldr r0, [r4, #0x14] + mov r1, #0x3 + lsl r2, r2, #0x8 + add r3, r5, #0x0 + bl FUN_02003008 + add r0, r5, #0x0 + bl FUN_02016B94 + str r0, [r4, #0x0] + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_02018FF4 + str r0, [r4, #0x4] + ldr r0, [sp, #0x18] + str r0, [r4, #0x2c] + add r0, r5, #0x0 + bl FUN_0206DE78 + str r0, [r4, #0x34] + bl FUN_0206DE24 + bl FUN_0206DE4C + bl FUN_0206DF18 + ldr r1, [r4, #0x0] + add r0, r4, #0x0 + bl FUN_0206D9B4 + mov r0, #0x13 + str r0, [sp, #0x0] + mov r0, #0x1b + str r0, [sp, #0x4] + mov r0, #0x4 + str r0, [sp, #0x8] + mov r0, #0xb + str r0, [sp, #0xc] + mov r0, #0x1f + str r0, [sp, #0x10] + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x4] + mov r2, #0x1 + mov r3, #0x2 + bl FUN_02019064 + ldr r0, [r4, #0x4] + mov r1, #0xff + bl FUN_02019620 + ldr r0, [r4, #0x4] + mov r1, #0x0 + mov r2, #0x1 + mov r3, #0xa + bl FUN_0200D0BC + add r0, r5, #0x0 + bl FUN_02006D98 + str r0, [r4, #0x18] + add r0, r5, #0x0 + mov r1, #0x1 + mov r2, #0x0 + bl FUN_02014BF4 + str r0, [r4, #0x44] + add r0, r4, #0x0 + mov r2, #0x51 + mov r1, #0x0 + add r0, #0x67 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x2 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x1 + mov r1, #0x1a + lsl r2, r2, #0x2 + add r3, r5, #0x0 + bl FUN_0200A86C + str r0, [r4, #0x8] + add r0, r5, #0x0 + bl FUN_0200AA80 + str r0, [r4, #0xc] + mov r0, #0x5 + lsl r0, r0, #0x6 + add r1, r5, #0x0 + bl FUN_020219F4 + str r0, [r4, #0x10] + add r0, r5, #0x0 + mov r1, #0x30 + bl FUN_02016998 + str r0, [r4, #0x3c] + ldr r1, [r4, #0x3c] + mov r0, #0x0 + mov r2, #0x30 + blx FUN_020CE240 + ldr r1, [sp, #0x38] + ldr r0, [r4, #0x3c] + str r1, [r0, #0x2c] + ldr r0, [sp, #0x3c] + str r0, [r4, #0x48] + ldr r0, [sp, #0x40] + str r0, [r4, #0x4c] + ldr r0, [sp, #0x44] + str r0, [r4, #0x50] + ldr r0, [sp, #0x48] + str r0, [r4, #0x54] + ldr r0, [sp, #0x4c] + str r0, [r4, #0x78] + ldr r0, [sp, #0x50] + str r0, [r4, #0x7c] + add r0, r4, #0x0 + bl FUN_0206DC80 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + ldr r2, _0206C8E4 ; =0x0000FFFF + mov r1, #0xf + mov r3, #0x1 + bl FUN_02003210 + mov r2, #0x0 + str r2, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r1, #0x10 + add r3, r2, #0x0 + bl FUN_02007E98 + ldr r0, [r4, #0x14] + mov r1, #0x0 + mov r2, #0xb + add r3, r5, #0x0 + bl FUN_020142EC + mov r1, #0x1 + str r0, [r4, #0x58] + bl FUN_020143A8 + ldr r0, _0206C8E8 ; =FUN_0206C8EC + add r1, r4, #0x0 + mov r2, #0x0 + bl FUN_0200CA44 + mov r0, #0x1 + bl FUN_02002B60 + bl FUN_02033E74 + add r0, r4, #0x0 + add sp, #0x24 + pop {r4-r7, pc} + nop +_0206C8E4: .word 0x0000FFFF +_0206C8E8: .word FUN_0206C8EC + 1 + + thumb_func_start FUN_0206C8EC +FUN_0206C8EC: ; 0x0206C8EC + push {r3-r5, lr} + add r5, r1, #0x0 + add r4, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0206C9C0 + ldr r0, [r5, #0x18] + bl FUN_02006ED4 + bl FUN_0206DF58 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_020222B4 + add r5, #0x67 + ldrb r0, [r5, #0x0] + cmp r0, #0x0 + beq _0206C918 + add r0, r4, #0x0 + bl FUN_0200CAB4 +_0206C918: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_0206C91C +FUN_0206C91C: ; 0x0206C91C + add r0, #0x67 + ldrb r0, [r0, #0x0] + cmp r0, #0x1 + bne _0206C928 + mov r0, #0x1 + bx lr +_0206C928: + mov r0, #0x0 + bx lr + + thumb_func_start FUN_0206C92C +FUN_0206C92C: ; 0x0206C92C + push {r4, lr} + add r4, r0, #0x0 + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0200E3A0 + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_02015F10 + ldr r0, [r4, #0x4] + mov r1, #0x1 + bl FUN_020191A4 + ldr r0, [r4, #0x14] + mov r1, #0x0 + bl FUN_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x1 + bl FUN_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x2 + bl FUN_02003038 + ldr r0, [r4, #0x14] + mov r1, #0x3 + bl FUN_02003038 + ldr r0, [r4, #0x14] + bl FUN_02002FEC + ldr r0, [r4, #0x18] + bl FUN_020072E8 + ldr r0, [r4, #0x44] + bl FUN_02014C28 + ldr r0, [r4, #0x34] + bl FUN_020223BC + ldr r0, [r4, #0x0] + bl FUN_0206DC48 + ldr r0, [r4, #0x8] + bl FUN_0200A8B8 + ldr r0, [r4, #0xc] + bl FUN_0200AB18 + ldr r0, [r4, #0x10] + bl FUN_02016A18 + ldr r0, [r4, #0x3c] + bl FUN_02016A18 + ldr r0, [r4, #0x58] + bl FUN_020143D0 + ldr r0, [r4, #0x0] + bl FUN_02016A18 + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x0 + bl FUN_02002B60 + pop {r4, pc} + + thumb_func_start FUN_0206C9C0 +FUN_0206C9C0: ; 0x0206C9C0 + push {r3-r4, lr} + sub sp, #0x54 + add r4, r0, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + cmp r1, #0x0 + beq _0206CA9C + mov r0, #0x1 + tst r0, r1 + ldr r0, [r4, #0x1c] + bne _0206CA2E + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + mov r1, #0xc + neg r2, r2 + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x1c] + mov r1, #0xd + neg r2, r2 + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xc + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xd + bl FUN_020079E0 + ldr r0, [r4, #0x1c] + mov r1, #0xc + bl FUN_0200782C + cmp r0, #0x0 + bne _0206CA9C + add r0, r4, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + eor r1, r0 + add r0, r4, #0x0 + add r0, #0x70 + strb r1, [r0, #0x0] + b _0206CA9C +_0206CA2E: + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + mov r1, #0xc + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x1c] + mov r1, #0xd + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xc + neg r2, r2 + bl FUN_020079E0 + add r2, r4, #0x0 + add r2, #0x71 + ldrb r2, [r2, #0x0] + ldr r0, [r4, #0x20] + mov r1, #0xd + neg r2, r2 + bl FUN_020079E0 + ldr r0, [r4, #0x20] + mov r1, #0xc + bl FUN_0200782C + cmp r0, #0x0 + bne _0206CA9C + add r0, r4, #0x0 + add r0, #0x70 + ldrb r1, [r0, #0x0] + mov r0, #0x1 + eor r1, r0 + add r0, r4, #0x0 + add r0, #0x70 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x71 + ldrb r0, [r0, #0x0] + cmp r0, #0x40 + bhs _0206CA9C + add r0, r4, #0x0 + add r0, #0x71 + ldrb r0, [r0, #0x0] + lsl r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x71 + strb r1, [r0, #0x0] +_0206CA9C: + ldr r1, [r4, #0x7c] + mov r0, #0x1 + tst r0, r1 + beq _0206CAD6 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + cmp r0, #0x8 + bne _0206CAD6 + ldr r0, _0206CE0C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x2 + tst r0, r1 + beq _0206CAD6 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + ldr r0, _0206CE10 ; =0x00007FFF + ldr r2, _0206CE14 ; =0x0000F3FF + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + mov r1, #0xf + bl FUN_02003210 + add r0, r4, #0x0 + mov r1, #0x29 + add r0, #0x64 + strb r1, [r0, #0x0] +_0206CAD6: + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + cmp r0, #0x2d + bhi _0206CBA8 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0206CAEC: ; jump table (using 16-bit offset) + .short _0206CB48 - _0206CAEC - 2; case 0 + .short _0206CB70 - _0206CAEC - 2; case 1 + .short _0206CB9E - _0206CAEC - 2; case 2 + .short _0206CBCC - _0206CAEC - 2; case 3 + .short _0206CBE4 - _0206CAEC - 2; case 4 + .short _0206CC66 - _0206CAEC - 2; case 5 + .short _0206CCB2 - _0206CAEC - 2; case 6 + .short _0206CD34 - _0206CAEC - 2; case 7 + .short _0206CDC8 - _0206CAEC - 2; case 8 + .short _0206CE8A - _0206CAEC - 2; case 9 + .short _0206CF18 - _0206CAEC - 2; case 10 + .short _0206CF7E - _0206CAEC - 2; case 11 + .short _0206CFFA - _0206CAEC - 2; case 12 + .short _0206D06E - _0206CAEC - 2; case 13 + .short _0206D0E8 - _0206CAEC - 2; case 14 + .short _0206D188 - _0206CAEC - 2; case 15 + .short _0206D12C - _0206CAEC - 2; case 16 + .short _0206D188 - _0206CAEC - 2; case 17 + .short _0206D162 - _0206CAEC - 2; case 18 + .short _0206D188 - _0206CAEC - 2; case 19 + .short _0206D1C0 - _0206CAEC - 2; case 20 + .short _0206D20E - _0206CAEC - 2; case 21 + .short _0206D260 - _0206CAEC - 2; case 22 + .short _0206D2E2 - _0206CAEC - 2; case 23 + .short _0206D360 - _0206CAEC - 2; case 24 + .short _0206D480 - _0206CAEC - 2; case 25 + .short _0206D188 - _0206CAEC - 2; case 26 + .short _0206D4A6 - _0206CAEC - 2; case 27 + .short _0206D188 - _0206CAEC - 2; case 28 + .short _0206D4F8 - _0206CAEC - 2; case 29 + .short _0206D188 - _0206CAEC - 2; case 30 + .short _0206D51E - _0206CAEC - 2; case 31 + .short _0206D398 - _0206CAEC - 2; case 32 + .short _0206D188 - _0206CAEC - 2; case 33 + .short _0206D3CC - _0206CAEC - 2; case 34 + .short _0206D3EE - _0206CAEC - 2; case 35 + .short _0206D44E - _0206CAEC - 2; case 36 + .short _0206D5AA - _0206CAEC - 2; case 37 + .short _0206D5C8 - _0206CAEC - 2; case 38 + .short _0206D5F4 - _0206CAEC - 2; case 39 + .short _0206D628 - _0206CAEC - 2; case 40 + .short _0206D648 - _0206CAEC - 2; case 41 + .short _0206D6EE - _0206CAEC - 2; case 42 + .short _0206D748 - _0206CAEC - 2; case 43 + .short _0206D79C - _0206CAEC - 2; case 44 + .short _0206D7F6 - _0206CAEC - 2; case 45 +_0206CB48: + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0206CBA8 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CB70: + mov r0, #0x0 + bl FUN_0200E394 + mov r0, #0x1 + bl FUN_0200E394 + ldr r0, [r4, #0x58] + mov r1, #0x0 + bl FUN_020143A8 + ldr r1, [r4, #0x7c] + mov r0, #0x2 + tst r1, r0 + beq _0206CB94 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CB94: + mov r0, #0x4 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CB9E: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + beq _0206CBAC +_0206CBA8: + bl _0206D806 +_0206CBAC: + mov r1, #0xe5 + add r0, r4, #0x0 + lsl r1, r1, #0x2 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CBCC: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _0206CCCA + mov r0, #0x4 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CBE4: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206CCCA + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + add r2, #0x60 + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0x44] + ldr r1, [r4, #0x1c] + mov r3, #0x2 + bl FUN_02069038 + add r1, r4, #0x0 + add r1, #0x60 + ldrh r1, [r1, #0x0] + add r0, sp, #0x40 + bl FUN_02069010 + ldr r0, [r4, #0x1c] + add r1, sp, #0x40 + bl FUN_0200737C + ldr r0, [r4, #0x1c] + mov r1, #0x0 + bl FUN_02007314 + add r0, r4, #0x0 + add r0, #0x60 + ldrh r0, [r0, #0x0] + bl FUN_02005578 + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + ldr r1, [r4, #0x7c] + mov r0, #0x2 + tst r0, r1 + beq _0206CC4E + ldr r1, _0206CE18 ; =0x00000395 + add r0, r4, #0x0 + bl FUN_0206DD6C + b _0206CC56 +_0206CC4E: + ldr r1, _0206CE1C ; =0x00000393 + add r0, r4, #0x0 + bl FUN_0206DD6C +_0206CC56: + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + mov r0, #0x5 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CC66: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _0206CCCA + bl FUN_02005670 + cmp r0, #0x0 + bne _0206CCCA + ldr r0, [r4, #0x44] + mov r1, #0x0 + bl FUN_02014D7C + cmp r0, #0x1 + bne _0206CCCA + ldr r0, [r4, #0x1c] + bl FUN_02007390 + cmp r0, #0x0 + bne _0206CCCA + ldr r0, [r4, #0x58] + mov r1, #0x1 + bl FUN_020143A8 + ldr r0, _0206CE20 ; =0x00000475 + bl FUN_020051F4 + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x6 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CCB2: + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206CCCE +_0206CCCA: + bl _0206D806 +_0206CCCE: + ldr r0, [r4, #0x5c] + str r0, [sp, #0x10] + mov r0, #0x0 + str r0, [sp, #0x14] + add r0, sp, #0x10 + bl FUN_0206E07C + mov r1, #0x0 + str r0, [r4, #0x30] + bl FUN_0206E0AC + ldr r0, _0206CE10 ; =0x00007FFF + mov r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x1c] + mov r2, #0x10 + mov r3, #0x4 + bl FUN_02007E68 + ldr r0, _0206CE10 ; =0x00007FFF + mov r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x20] + mov r2, #0x10 + mov r3, #0x4 + bl FUN_02007E68 + ldr r0, [r4, #0x5c] + bl FUN_02016AF8 + mov r1, #0x2 + lsl r1, r1, #0xe + cmp r0, r1 + bhi _0206CD16 + bl FUN_02020C2C +_0206CD16: + ldr r0, _0206CE24 ; =0x000005F9 + bl FUN_020054C8 + add r0, r4, #0x0 + mov r1, #0x28 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CD34: + add r0, r4, #0x0 + add r0, #0x73 + ldrb r0, [r0, #0x0] + cmp r0, #0x28 + bhs _0206CD5A + add r0, r4, #0x0 + add r0, #0x73 + ldrb r0, [r0, #0x0] + add r1, r0, #0x2 + add r0, r4, #0x0 + add r0, #0x73 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x75 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x2 + add r0, r4, #0x0 + add r0, #0x75 + strb r1, [r0, #0x0] +_0206CD5A: + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0206CDD2 + ldr r0, [r4, #0x30] + mov r1, #0x1 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x2 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x7 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x8 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x9 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0xb + bl FUN_0206E0AC + ldr r0, _0206CE28 ; =0x000005FA + bl FUN_020054C8 + add r0, r4, #0x0 + mov r1, #0x10 + add r0, #0x70 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x8 + add r0, #0x71 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CDC8: + ldr r0, [r4, #0x30] + bl FUN_0206E0C8 + cmp r0, #0x0 + beq _0206CDD6 +_0206CDD2: + bl _0206D806 +_0206CDD6: + ldr r0, [r4, #0x30] + mov r1, #0x3 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x4 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x5 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0x6 + bl FUN_0206E0AC + ldr r0, [r4, #0x30] + mov r1, #0xa + bl FUN_0206E0AC + mov r0, #0x0 + str r0, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + ldr r0, _0206CE10 ; =0x00007FFF + ldr r2, _0206CE14 ; =0x0000F3FF + b _0206CE2C + .balign 4 +_0206CE0C: .word 0x021C48B8 +_0206CE10: .word 0x00007FFF +_0206CE14: .word 0x0000F3FF +_0206CE18: .word 0x00000395 +_0206CE1C: .word 0x00000393 +_0206CE20: .word 0x00000475 +_0206CE24: .word 0x000005F9 +_0206CE28: .word 0x000005FA +_0206CE2C: + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + mov r1, #0xf + mov r3, #0x2 + bl FUN_02003210 + ldr r0, [r4, #0x1c] + mov r1, #0xc + mov r2, #0x0 + bl FUN_02007558 + ldr r0, [r4, #0x1c] + mov r1, #0xd + mov r2, #0x0 + bl FUN_02007558 + mov r1, #0xc + add r2, r1, #0x0 + ldr r0, [r4, #0x20] + add r2, #0xf4 + bl FUN_02007558 + mov r1, #0xd + add r2, r1, #0x0 + ldr r0, [r4, #0x20] + add r2, #0xf3 + bl FUN_02007558 + ldr r0, _0206D1C8 ; =0x000005FB + bl FUN_020054C8 + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x70 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0x8 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CE8A: + add r0, r4, #0x0 + add r0, #0x73 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206CEB0 + add r0, r4, #0x0 + add r0, #0x73 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x2 + add r0, r4, #0x0 + add r0, #0x73 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x75 + ldrb r0, [r0, #0x0] + add r1, r0, #0x2 + add r0, r4, #0x0 + add r0, #0x75 + strb r1, [r0, #0x0] +_0206CEB0: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206CF2C + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0206CF2C + ldr r0, [r4, #0x30] + mov r1, #0xc + bl FUN_0206E0AC + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x0 + str r0, [sp, #0x4] + ldr r0, _0206D1CC ; =0x00007FFF + ldr r2, _0206D1D0 ; =0x0000F3FF + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + mov r1, #0xf + mov r3, #0x4 + bl FUN_02003210 + ldr r0, _0206D1CC ; =0x00007FFF + mov r1, #0x10 + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r2, #0x0 + mov r3, #0x3 + bl FUN_02007E98 + ldr r0, _0206D1D4 ; =0x000005FC + bl FUN_020054C8 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CF18: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206CF2C + ldr r0, [r4, #0x30] + bl FUN_0206E0C8 + cmp r0, #0x0 + beq _0206CF30 +_0206CF2C: + bl _0206D806 +_0206CF30: + mov r0, #0x0 + str r0, [sp, #0x0] + str r0, [sp, #0x4] + str r0, [sp, #0x8] + add r2, r4, #0x0 + add r2, #0x62 + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0x44] + ldr r1, [r4, #0x20] + mov r3, #0x2 + bl FUN_02069038 + add r1, r4, #0x0 + add r1, #0x62 + ldrh r1, [r1, #0x0] + add r0, sp, #0x2c + bl FUN_02069010 + ldr r0, [r4, #0x20] + add r1, sp, #0x2c + bl FUN_0200737C + ldr r0, [r4, #0x20] + mov r1, #0x0 + bl FUN_02007314 + add r0, r4, #0x0 + add r0, #0x62 + ldrh r0, [r0, #0x0] + bl FUN_02005578 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CF7E: + bl FUN_02005670 + cmp r0, #0x0 + bne _0206D084 + ldr r0, [r4, #0x44] + mov r1, #0x0 + bl FUN_02014D7C + cmp r0, #0x1 + bne _0206D084 + ldr r0, [r4, #0x20] + bl FUN_02007390 + cmp r0, #0x0 + bne _0206D084 + add r2, r4, #0x0 + ldr r0, [r4, #0x28] + mov r1, #0x5 + add r2, #0x62 + bl FUN_02067830 + ldr r0, [r4, #0x28] + bl FUN_0206A1C4 + ldr r0, [r4, #0x28] + bl FUN_02066ED8 + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl FUN_0200AC60 + ldr r1, _0206D1D8 ; =0x00000396 + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x28 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206CFFA: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _0206D084 + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + bne _0206D084 + ldr r0, [r4, #0x48] + ldr r1, [r4, #0x28] + bl FUN_02024AF0 + ldr r0, [r4, #0x50] + mov r1, #0xc + bl FUN_0202A0E8 + ldr r0, [r4, #0x50] + mov r1, #0x16 + bl FUN_0202A170 + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r1, r0, #0x0 + ldr r0, [r4, #0x54] + bl FUN_0204C104 + ldr r0, [r4, #0x28] + mov r1, #0x4d + mov r2, #0x0 + bl FUN_020671BC + cmp r0, #0x0 + bne _0206D05E + ldr r0, [r4, #0x28] + mov r1, #0xb2 + mov r2, #0x0 + bl FUN_02067830 +_0206D05E: + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D06E: + add r1, r4, #0x0 + ldr r0, [r4, #0x28] + add r1, #0x68 + add r2, sp, #0xc + bl FUN_02069818 + cmp r0, #0x0 + beq _0206D08E + ldr r1, _0206D1DC ; =0x0000FFFE + cmp r0, r1 + bne _0206D086 +_0206D084: + b _0206D806 +_0206D086: + add r1, r1, #0x1 + cmp r0, r1 + beq _0206D098 + b _0206D0AC +_0206D08E: + mov r0, #0x27 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D098: + add r0, sp, #0xc + ldrh r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x6c + strh r1, [r0, #0x0] + mov r0, #0xe + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D0AC: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + add r2, sp, #0xc + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl FUN_0200AD5C + add r0, r4, #0x0 + mov r1, #0x4 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x25 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D0E8: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + add r2, r4, #0x0 + add r2, #0x6c + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl FUN_0200AD5C + ldr r1, _0206D1E0 ; =0x000004A9 + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D12C: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + ldr r1, _0206D1E4 ; =0x000004AA + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D162: + ldr r1, _0206D1E8 ; =0x000004AB + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] add r0, r4, #0x0 - add r0, #0x62 - strh r7, [r0, #0x0] - str r5, [r4, #0x5c] - add r0, r5, #0x0 - bl FUN_02002FD0 - str r0, [r4, #0x14] mov r1, #0x1 - bl FUN_020038F0 - mov r2, #0x2 - ldr r0, [r4, #0x14] - mov r1, #0x0 - lsl r2, r2, #0x8 - add r3, r5, #0x0 - bl FUN_02003008 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D188: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _0206D1AE + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206D1B0 +_0206D1AE: + b _0206D806 +_0206D1B0: + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D1C0: + ldr r0, [r4, #0x5c] + ldr r1, _0206D1EC ; =0x020F8320 + b _0206D1F0 + nop +_0206D1C8: .word 0x000005FB +_0206D1CC: .word 0x00007FFF +_0206D1D0: .word 0x0000F3FF +_0206D1D4: .word 0x000005FC +_0206D1D8: .word 0x00000396 +_0206D1DC: .word 0x0000FFFE +_0206D1E0: .word 0x000004A9 +_0206D1E4: .word 0x000004AA +_0206D1E8: .word 0x000004AB +_0206D1EC: .word 0x020F8320 +_0206D1F0: + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + mov r2, #0x1 + mov r3, #0x8 + bl FUN_02002198 + str r0, [r4, #0x40] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D20E: + ldr r0, [r4, #0x40] + ldr r1, [r4, #0x5c] + bl FUN_020021AC + cmp r0, #0x0 + beq _0206D226 mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _0206D256 + add sp, #0x54 + pop {r3-r4, pc} +_0206D226: + add r0, r4, #0x0 + mov r1, #0x16 + add r0, #0x64 + strb r1, [r0, #0x0] + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + str r1, [sp, #0x8] ldr r0, [r4, #0x14] - lsl r2, r1, #0x9 - add r3, r5, #0x0 - bl FUN_02003008 - mov r2, #0x7 + ldr r2, _0206D540 ; =0x0000FFFF + mov r1, #0xf + mov r3, #0x1 + bl FUN_02003210 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r2, #0x10 + add r3, r1, #0x0 + bl FUN_02007E98 + add sp, #0x54 + pop {r3-r4, pc} +_0206D256: + mov r0, #0x20 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D260: ldr r0, [r4, #0x14] - mov r1, #0x2 - lsl r2, r2, #0x6 - add r3, r5, #0x0 - bl FUN_02003008 + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206D2EC + mov r0, #0x0 + add r1, r0, #0x0 + bl FUN_0200E3A0 + mov r0, #0x1 + mov r1, #0x0 + bl FUN_0200E3A0 + ldr r0, [r4, #0x0] + bl FUN_0206DC48 + ldr r0, [r4, #0x1c] + mov r1, #0x6 + mov r2, #0x1 + bl FUN_02007558 + ldr r0, [r4, #0x20] + mov r1, #0x6 + mov r2, #0x1 + bl FUN_02007558 + ldr r1, [r4, #0x28] + ldr r0, [r4, #0x3c] + mov r2, #0x1 + str r1, [r0, #0x0] + ldr r1, [r4, #0x2c] + ldr r0, [r4, #0x3c] + str r1, [r0, #0x4] + ldr r1, [r4, #0x3c] + mov r0, #0x0 + strb r0, [r1, #0x11] + ldr r1, [r4, #0x3c] + strb r0, [r1, #0x14] + ldr r1, [r4, #0x3c] + strb r2, [r1, #0x13] + add r1, r4, #0x0 + add r1, #0x6c + ldrh r2, [r1, #0x0] + ldr r1, [r4, #0x3c] + strh r2, [r1, #0x18] + ldr r1, [r4, #0x3c] mov r2, #0x2 - ldr r0, [r4, #0x14] - mov r1, #0x3 - lsl r2, r2, #0x8 - add r3, r5, #0x0 - bl FUN_02003008 - add r0, r5, #0x0 - bl FUN_02016B94 - str r0, [r4, #0x0] - add r0, r5, #0x0 - mov r1, #0x1 - bl FUN_02018FF4 - str r0, [r4, #0x4] - ldr r0, [sp, #0x18] - str r0, [r4, #0x2c] - add r0, r5, #0x0 - bl FUN_0206DE78 - str r0, [r4, #0x34] - bl FUN_0206DE24 - bl FUN_0206DE4C - bl FUN_0206DF18 + strb r2, [r1, #0x12] + ldr r1, [r4, #0x3c] + str r0, [r1, #0x28] + ldr r0, [r4, #0x3c] + ldr r1, _0206D544 ; =0x020F831C + bl FUN_0207B000 + add r0, r4, #0x0 + bl FUN_0206DE0C + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D2E2: + ldr r0, [r4, #0x38] + bl FUN_02006290 + cmp r0, #0x0 + bne _0206D2EE +_0206D2EC: + b _0206D806 +_0206D2EE: + ldr r0, [r4, #0x38] + bl FUN_02006260 ldr r1, [r4, #0x0] add r0, r4, #0x0 bl FUN_0206D9B4 - mov r0, #0x13 - str r0, [sp, #0x0] - mov r0, #0x1b - str r0, [sp, #0x4] - mov r0, #0x4 - str r0, [sp, #0x8] - mov r0, #0xb - str r0, [sp, #0xc] - mov r0, #0x1f - str r0, [sp, #0x10] - ldr r0, [r4, #0x0] - ldr r1, [r4, #0x4] - mov r2, #0x1 - mov r3, #0x2 - bl FUN_02019064 - ldr r0, [r4, #0x4] - mov r1, #0xff - bl FUN_02019620 ldr r0, [r4, #0x4] mov r1, #0x0 mov r2, #0x1 mov r3, #0xa bl FUN_0200D0BC - add r0, r5, #0x0 - bl FUN_02006D98 - str r0, [r4, #0x18] - add r0, r5, #0x0 - mov r1, #0x1 + ldr r0, [r4, #0x1c] + mov r1, #0x6 mov r2, #0x0 - bl FUN_02014BF4 - str r0, [r4, #0x44] - add r0, r4, #0x0 - mov r2, #0x51 - mov r1, #0x0 - add r0, #0x67 - strb r1, [r0, #0x0] - add r0, r4, #0x0 - mov r1, #0x2 - add r0, #0x66 - strb r1, [r0, #0x0] - mov r0, #0x1 - mov r1, #0x1a - lsl r2, r2, #0x2 - add r3, r5, #0x0 - bl FUN_0200A86C - str r0, [r4, #0x8] - add r0, r5, #0x0 - bl FUN_0200AA80 - str r0, [r4, #0xc] - mov r0, #0x5 - lsl r0, r0, #0x6 - add r1, r5, #0x0 - bl FUN_020219F4 - str r0, [r4, #0x10] - add r0, r5, #0x0 - mov r1, #0x30 - bl FUN_02016998 - str r0, [r4, #0x3c] - ldr r1, [r4, #0x3c] - mov r0, #0x0 - mov r2, #0x30 - blx FUN_020CE240 - ldr r1, [sp, #0x38] - ldr r0, [r4, #0x3c] - str r1, [r0, #0x2c] - ldr r0, [sp, #0x3c] - str r0, [r4, #0x48] - ldr r0, [sp, #0x40] - str r0, [r4, #0x4c] - ldr r0, [sp, #0x44] - str r0, [r4, #0x50] - ldr r0, [sp, #0x48] - str r0, [r4, #0x54] - ldr r0, [sp, #0x4c] - str r0, [r4, #0x78] - ldr r0, [sp, #0x50] - str r0, [r4, #0x7c] - add r0, r4, #0x0 - bl FUN_0206DC80 + bl FUN_02007558 + ldr r0, [r4, #0x20] + mov r1, #0x6 + mov r2, #0x0 + bl FUN_02007558 + ldr r0, [r4, #0x1c] + bl FUN_020080D0 + ldr r0, [r4, #0x20] + bl FUN_020080D0 mov r0, #0x10 str r0, [sp, #0x0] mov r0, #0x0 str r0, [sp, #0x4] str r0, [sp, #0x8] ldr r0, [r4, #0x14] - ldr r2, _0206C8E4 ; =0x0000FFFF + ldr r2, _0206D540 ; =0x0000FFFF mov r1, #0xf mov r3, #0x1 bl FUN_02003210 @@ -203625,309 +230223,529 @@ FUN_0206C700: ; 0x0206C700 mov r1, #0x10 add r3, r2, #0x0 bl FUN_02007E98 + bl FUN_02033E74 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D360: + mov r0, #0x0 + bl FUN_0200E394 + mov r0, #0x1 + bl FUN_0200E394 ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206D474 + ldr r0, [r4, #0x3c] + ldrb r1, [r0, #0x16] + cmp r1, #0x4 + bne _0206D388 + mov r0, #0x20 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D388: + add r0, r4, #0x0 + add r0, #0x6e + strb r1, [r0, #0x0] + mov r0, #0x19 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D398: + add r2, r4, #0x0 + add r2, #0x6c + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0xc] mov r1, #0x0 - mov r2, #0xb - add r3, r5, #0x0 - bl FUN_020142EC - mov r1, #0x1 - str r0, [r4, #0x58] - bl FUN_020143A8 - ldr r0, _0206C8E8 ; =FUN_0206C8EC + bl FUN_0200AD5C + ldr r1, _0206D548 ; =0x000004AD + add r0, r4, #0x0 + bl FUN_0206DD6C add r1, r4, #0x0 - mov r2, #0x0 - bl FUN_0200CA44 - mov r0, #0x1 - bl FUN_02002B60 - bl FUN_02033E74 + add r1, #0x65 + strb r0, [r1, #0x0] add r0, r4, #0x0 - add sp, #0x24 - pop {r4-r7, pc} - nop -_0206C8E4: .word 0x0000FFFF -_0206C8E8: .word FUN_0206C8EC + 1 - - thumb_func_start FUN_0206C8EC -FUN_0206C8EC: ; 0x0206C8EC - push {r3-r5, lr} - add r5, r1, #0x0 - add r4, r0, #0x0 - add r0, r5, #0x0 - bl FUN_0206C9C0 - ldr r0, [r5, #0x18] - bl FUN_02006ED4 - bl FUN_0206DF58 - mov r0, #0x1 + mov r1, #0x1 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D3CC: + ldr r0, [r4, #0x5c] + ldr r1, _0206D54C ; =0x020F8320 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + mov r2, #0x1 + mov r3, #0x8 + bl FUN_02002198 + str r0, [r4, #0x40] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D3EE: + ldr r0, [r4, #0x40] + ldr r1, [r4, #0x5c] + bl FUN_020021AC + cmp r0, #0x0 + beq _0206D406 + mov r1, #0x1 + mvn r1, r1 + cmp r0, r1 + beq _0206D444 + add sp, #0x54 + pop {r3-r4, pc} +_0206D406: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] mov r1, #0x0 - bl FUN_020222B4 - add r5, #0x67 - ldrb r0, [r5, #0x0] + bl FUN_0200ACF8 + add r2, r4, #0x0 + add r2, #0x6c + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0xc] + mov r1, #0x1 + bl FUN_0200AD5C + ldr r1, _0206D550 ; =0x000004AE + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x24 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D444: + mov r0, #0xe + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D44E: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 cmp r0, #0x0 - beq _0206C918 + bne _0206D474 add r0, r4, #0x0 - bl FUN_0200CAB4 -_0206C918: - pop {r3-r5, pc} - .balign 4 - - thumb_func_start FUN_0206C91C -FUN_0206C91C: ; 0x0206C91C - add r0, #0x67 + add r0, #0x66 ldrb r0, [r0, #0x0] - cmp r0, #0x1 - bne _0206C928 - mov r0, #0x1 - bx lr -_0206C928: - mov r0, #0x0 - bx lr - - thumb_func_start FUN_0206C92C -FUN_0206C92C: ; 0x0206C92C - push {r4, lr} - add r4, r0, #0x0 - mov r0, #0x0 - add r1, r0, #0x0 - bl FUN_0200E3A0 - mov r0, #0x1 + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206D476 +_0206D474: + b _0206D806 +_0206D476: + mov r0, #0xd + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D480: + ldr r1, _0206D554 ; =0x000004AF + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D4A6: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] mov r1, #0x0 - bl FUN_0200E3A0 - mov r0, #0x0 - add r1, r0, #0x0 - bl FUN_02015F10 - ldr r0, [r4, #0x4] + bl FUN_0200ACF8 + add r1, r4, #0x0 + add r1, #0x6e + ldrb r1, [r1, #0x0] + ldr r0, [r4, #0x28] + mov r2, #0x0 + add r1, #0x36 + bl FUN_020671BC + add r2, r0, #0x0 + ldr r0, [r4, #0xc] mov r1, #0x1 - bl FUN_020191A4 - ldr r0, [r4, #0x14] + bl FUN_0200AD5C + mov r1, #0x4b + add r0, r4, #0x0 + lsl r1, r1, #0x4 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D4F8: + ldr r1, _0206D558 ; =0x000004B1 + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D51E: + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] mov r1, #0x0 - bl FUN_02003038 - ldr r0, [r4, #0x14] - mov r1, #0x1 - bl FUN_02003038 - ldr r0, [r4, #0x14] - mov r1, #0x2 - bl FUN_02003038 - ldr r0, [r4, #0x14] - mov r1, #0x3 - bl FUN_02003038 - ldr r0, [r4, #0x14] - bl FUN_02002FEC - ldr r0, [r4, #0x18] - bl FUN_020072E8 - ldr r0, [r4, #0x44] - bl FUN_02014C28 - ldr r0, [r4, #0x34] - bl FUN_020223BC - ldr r0, [r4, #0x0] - bl FUN_0206DC48 - ldr r0, [r4, #0x8] - bl FUN_0200A8B8 + bl FUN_0200ACF8 + add r2, r4, #0x0 + add r2, #0x6c + ldrh r2, [r2, #0x0] ldr r0, [r4, #0xc] - bl FUN_0200AB18 - ldr r0, [r4, #0x10] - bl FUN_02016A18 - ldr r0, [r4, #0x3c] - bl FUN_02016A18 - ldr r0, [r4, #0x58] - bl FUN_020143D0 - ldr r0, [r4, #0x0] - bl FUN_02016A18 + mov r1, #0x1 + bl FUN_0200AD5C + ldr r1, _0206D55C ; =0x000004B2 + b _0206D560 + .balign 4 +_0206D540: .word 0x0000FFFF +_0206D544: .word 0x020F831C +_0206D548: .word 0x000004AD +_0206D54C: .word 0x020F8320 +_0206D550: .word 0x000004AE +_0206D554: .word 0x000004AF +_0206D558: .word 0x000004B1 +_0206D55C: .word 0x000004B2 +_0206D560: + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] add r0, r4, #0x0 - bl FUN_02016A18 - mov r0, #0x0 - bl FUN_02002B60 - pop {r4, pc} - - thumb_func_start FUN_0206C9C0 -FUN_0206C9C0: ; 0x0206C9C0 - push {r3-r4, lr} - sub sp, #0x54 - add r4, r0, #0x0 - add r0, #0x70 - ldrb r1, [r0, #0x0] - cmp r1, #0x0 - beq _0206CA9C - mov r0, #0x1 - tst r0, r1 - ldr r0, [r4, #0x1c] - bne _0206CA2E - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] - mov r1, #0xc - neg r2, r2 - bl FUN_020079E0 - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] - ldr r0, [r4, #0x1c] - mov r1, #0xd - neg r2, r2 - bl FUN_020079E0 add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] - ldr r0, [r4, #0x20] - mov r1, #0xc - bl FUN_020079E0 + mov r1, #0x0 + add r0, #0x66 + strb r1, [r0, #0x0] + add r1, r4, #0x0 + add r1, #0x6e + ldrb r1, [r1, #0x0] + ldr r0, [r4, #0x28] + add r2, #0x66 + add r1, #0x3e + bl FUN_02067830 + add r1, r4, #0x0 add r2, r4, #0x0 - add r2, #0x71 + add r1, #0x6c + add r2, #0x6e + ldrh r1, [r1, #0x0] ldrb r2, [r2, #0x0] - ldr r0, [r4, #0x20] - mov r1, #0xd - bl FUN_020079E0 - ldr r0, [r4, #0x1c] - mov r1, #0xc - bl FUN_0200782C + ldr r0, [r4, #0x28] + bl FUN_020697CC + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 + strb r1, [r0, #0x0] + mov r0, #0x25 + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D5AA: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 cmp r0, #0x0 - bne _0206CA9C + bne _0206D5E8 add r0, r4, #0x0 - add r0, #0x70 - ldrb r1, [r0, #0x0] - mov r0, #0x1 - eor r1, r0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D5C8: + bl FUN_02005CBC + cmp r0, #0x0 + bne _0206D5E8 add r0, r4, #0x0 - add r0, #0x70 + add r0, #0x66 + ldrb r0, [r0, #0x0] + sub r1, r0, #0x1 + add r0, r4, #0x0 + add r0, #0x66 strb r1, [r0, #0x0] - b _0206CA9C -_0206CA2E: - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] + add r0, r4, #0x0 + add r0, #0x66 + ldrb r0, [r0, #0x0] + cmp r0, #0x0 + beq _0206D5EA +_0206D5E8: + b _0206D806 +_0206D5EA: + mov r0, #0xd + add r4, #0x64 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D5F4: + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r4, #0x14] + ldr r2, _0206D80C ; =0x0000FFFF + mov r1, #0xf + mov r3, #0x1 + bl FUN_02003210 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r2, #0x10 + add r3, r1, #0x0 + bl FUN_02007E98 + add r0, r4, #0x0 + add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D628: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206D6F8 + ldr r0, [r4, #0x30] + bl FUN_0206E0DC + add r0, r4, #0x0 + bl FUN_0206D820 + mov r0, #0x1 + add r4, #0x67 + add sp, #0x54 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D648: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206D6F8 mov r1, #0xc - bl FUN_020079E0 - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] + add r2, r1, #0x0 ldr r0, [r4, #0x1c] + add r2, #0xf4 + bl FUN_02007558 mov r1, #0xd - bl FUN_020079E0 - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] + add r2, r1, #0x0 + ldr r0, [r4, #0x1c] + add r2, #0xf3 + bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xc - neg r2, r2 - bl FUN_020079E0 - add r2, r4, #0x0 - add r2, #0x71 - ldrb r2, [r2, #0x0] + mov r2, #0x0 + bl FUN_02007558 ldr r0, [r4, #0x20] mov r1, #0xd - neg r2, r2 - bl FUN_020079E0 + mov r2, #0x0 + bl FUN_02007558 ldr r0, [r4, #0x20] - mov r1, #0xc - bl FUN_0200782C - cmp r0, #0x0 - bne _0206CA9C + mov r1, #0x6 + mov r2, #0x1 + bl FUN_02007558 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r0, _0206D810 ; =0x00007FFF + str r3, [sp, #0x4] + str r0, [sp, #0x8] + ldr r0, [r4, #0x14] + ldr r2, _0206D814 ; =0x0000F3FF + mov r1, #0xf + bl FUN_02003210 + ldr r0, _0206D810 ; =0x00007FFF + mov r2, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r1, #0x10 + add r3, r2, #0x0 + bl FUN_02007E98 add r0, r4, #0x0 - add r0, #0x70 - ldrb r1, [r0, #0x0] - mov r0, #0x1 - eor r1, r0 + mov r1, #0x0 + add r0, #0x72 + strb r1, [r0, #0x0] add r0, r4, #0x0 - add r0, #0x70 + add r0, #0x73 strb r1, [r0, #0x0] add r0, r4, #0x0 - add r0, #0x71 - ldrb r0, [r0, #0x0] - cmp r0, #0x40 - bhs _0206CA9C + mov r2, #0xff + add r0, #0x74 + strb r2, [r0, #0x0] add r0, r4, #0x0 - add r0, #0x71 - ldrb r0, [r0, #0x0] - lsl r1, r0, #0x1 + mov r2, #0xa0 + add r0, #0x75 + strb r2, [r0, #0x0] add r0, r4, #0x0 - add r0, #0x71 + add r0, #0x70 strb r1, [r0, #0x0] -_0206CA9C: - ldr r1, [r4, #0x7c] - mov r0, #0x1 - tst r0, r1 - beq _0206CAD6 + ldr r0, _0206D818 ; =0x00000475 + bl FUN_02005350 + ldr r0, [r4, #0x30] + bl FUN_0206E0DC add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] - cmp r0, #0x8 - bne _0206CAD6 - ldr r0, _0206CE0C ; =0x021C48B8 - ldr r1, [r0, #0x48] - mov r0, #0x2 - tst r0, r1 - beq _0206CAD6 - mov r3, #0x0 - str r3, [sp, #0x0] - mov r0, #0x10 + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D6EE: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + beq _0206D6FA +_0206D6F8: + b _0206D806 +_0206D6FA: + mov r0, #0x0 + str r0, [sp, #0x0] str r0, [sp, #0x4] - ldr r0, _0206CE10 ; =0x00007FFF - ldr r2, _0206CE14 ; =0x0000F3FF str r0, [sp, #0x8] - ldr r0, [r4, #0x14] - mov r1, #0xf - bl FUN_02003210 + add r2, r4, #0x0 + add r2, #0x60 + ldrh r2, [r2, #0x0] + ldr r0, [r4, #0x44] + ldr r1, [r4, #0x1c] + mov r3, #0x2 + bl FUN_02069038 + add r1, r4, #0x0 + add r1, #0x60 + ldrh r1, [r1, #0x0] + add r0, sp, #0x18 + bl FUN_02069010 + ldr r0, [r4, #0x1c] + add r1, sp, #0x18 + bl FUN_0200737C + ldr r0, [r4, #0x1c] + mov r1, #0x0 + bl FUN_02007314 + add r0, r4, #0x0 + add r0, #0x60 + ldrh r0, [r0, #0x0] + bl FUN_02005578 add r0, r4, #0x0 - mov r1, #0x29 add r0, #0x64 + ldrb r0, [r0, #0x0] + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D748: + bl FUN_02005670 + cmp r0, #0x0 + bne _0206D806 + ldr r0, [r4, #0x44] + mov r1, #0x0 + bl FUN_02014D7C + cmp r0, #0x1 + bne _0206D806 + ldr r0, [r4, #0x1c] + bl FUN_02007390 + cmp r0, #0x0 + bne _0206D806 + ldr r0, [r4, #0x28] + bl FUN_020690E4 + add r2, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x0 + bl FUN_0200ACF8 + ldr r1, _0206D81C ; =0x00000397 + add r0, r4, #0x0 + bl FUN_0206DD6C + add r1, r4, #0x0 + add r1, #0x65 + strb r0, [r1, #0x0] + add r0, r4, #0x0 + mov r1, #0x14 + add r0, #0x66 strb r1, [r0, #0x0] -_0206CAD6: add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] - cmp r0, #0x2d - bhi _0206CBA8 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #0x6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 - lsl r2, r3, #0x1 - lsl r2, r0, #0x2 - lsl r0, r6, #0x2 - lsl r6, r3, #0x3 - lsl r6, r6, #0x3 - lsl r0, r7, #0x5 - lsl r4, r0, #0x7 - lsl r6, r0, #0x9 - lsl r2, r3, #0xb - lsl r4, r3, #0xe - lsl r2, r5, #0x10 - lsl r0, r2, #0x12 - lsl r4, r1, #0x14 - lsl r0, r0, #0x16 - lsl r2, r7, #0x17 - lsl r2, r3, #0x1a - lsl r6, r7, #0x18 - lsl r2, r3, #0x1a - lsl r4, r6, #0x19 - lsl r2, r3, #0x1a - lsl r2, r2, #0x1b - lsl r0, r4, #0x1c - lsl r2, r6, #0x1d - lsl r4, r6, #0x1f - lsr r2, r6, #0x1 - lsr r2, r2, #0x6 - lsl r2, r3, #0x1a - lsr r0, r7, #0x6 - lsl r2, r3, #0x1a - lsr r2, r1, #0x8 - lsl r2, r3, #0x1a - lsr r0, r6, #0x8 - lsr r2, r5, #0x2 - lsl r2, r3, #0x1a - lsr r6, r3, #0x3 - lsr r0, r0, #0x4 - lsr r0, r4, #0x5 - lsr r4, r7, #0xa - lsr r2, r3, #0xb - lsr r6, r0, #0xc - lsr r2, r7, #0xc - lsr r2, r3, #0xd - lsr r0, r0, #0x10 - lsr r2, r3, #0x11 - lsr r6, r5, #0x12 - lsr r0, r1, #0x14 + add r4, #0x64 + add sp, #0x54 + add r0, r0, #0x1 + strb r0, [r4, #0x0] + pop {r3-r4, pc} +_0206D79C: + add r0, r4, #0x0 + add r0, #0x65 + ldrb r0, [r0, #0x0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _0206D806 add r0, r4, #0x0 add r0, #0x66 ldrb r0, [r0, #0x0] @@ -203939,7 +230757,23 @@ _0206CAD6: add r0, #0x66 ldrb r0, [r0, #0x0] cmp r0, #0x0 - bne _0206CBA8 + bne _0206D806 + mov r1, #0x0 + str r1, [sp, #0x0] + mov r0, #0x10 + str r0, [sp, #0x4] + str r1, [sp, #0x8] + ldr r0, [r4, #0x14] + ldr r2, _0206D80C ; =0x0000FFFF + mov r1, #0xf + mov r3, #0x1 + bl FUN_02003210 + mov r1, #0x0 + str r1, [sp, #0x0] + ldr r0, [r4, #0x18] + mov r2, #0x10 + add r3, r1, #0x0 + bl FUN_02007E98 add r0, r4, #0x0 add r0, #0x64 ldrb r0, [r0, #0x0] @@ -203948,239 +230782,23 @@ _0206CAD6: add r0, r0, #0x1 strb r0, [r4, #0x0] pop {r3-r4, pc} -_0206CB70: - .byte 0x00, 0x20, 0xA1, 0xF7, 0x0F, 0xFC, 0x01, 0x20, 0xA1, 0xF7, 0x0C, 0xFC, 0xA0, 0x6D, 0x00, 0x21 - .byte 0xA7, 0xF7, 0x12, 0xFC, 0xE1, 0x6F, 0x02, 0x20, 0x01, 0x42, 0x03, 0xD0, 0x64, 0x34, 0x15, 0xB0 - .byte 0x20, 0x70, 0x18, 0xBD, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69 - .byte 0x96, 0xF7, 0xA0, 0xFE, 0x00, 0x28, 0x01, 0xD0 -_0206CBA8: - bl FUN_0206D806 - mov r1, #0xe5 - add r0, r4, #0x0 - lsl r1, r1, #0x2 - bl FUN_0206DD6C - add r1, r4, #0x0 - add r1, #0x65 - strb r0, [r1, #0x0] - add r0, r4, #0x0 - add r0, #0x64 - ldrb r0, [r0, #0x0] - add r4, #0x64 - add sp, #0x54 - add r0, r0, #0x1 +_0206D7F6: + ldr r0, [r4, #0x14] + bl FUN_020038E4 + cmp r0, #0x0 + bne _0206D806 + mov r0, #0x1 + add r4, #0x67 strb r0, [r4, #0x0] - pop {r3-r4, pc} -_0206CBCC: - .byte 0x20, 0x1C, 0x65, 0x30 - .byte 0x00, 0x78, 0xAF, 0xF7, 0xCD, 0xF8, 0x00, 0x28, 0x77, 0xD1, 0x04, 0x20, 0x64, 0x34, 0x15, 0xB0 - .byte 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x7D, 0xFE, 0x00, 0x28, 0x6D, 0xD1, 0x00, 0x20 - .byte 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69 - .byte 0x02, 0x23, 0xFC, 0xF7, 0x19, 0xFA, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x10, 0xA8, 0xFC, 0xF7 - .byte 0xFF, 0xF9, 0xE0, 0x69, 0x10, 0xA9, 0x9A, 0xF7, 0xB1, 0xFB, 0xE0, 0x69, 0x00, 0x21, 0x9A, 0xF7 - .byte 0x79, 0xFB, 0x20, 0x1C, 0x60, 0x30, 0x00, 0x88, 0x98, 0xF7, 0xA6, 0xFC, 0xA0, 0x6A, 0xFC, 0xF7 - .byte 0x59, 0xFA, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9E, 0xF7, 0x5E, 0xF8, 0xE1, 0x6F, 0x02, 0x20 - .byte 0x08, 0x42, 0x04, 0xD0, 0x74, 0x49, 0x20, 0x1C, 0x01, 0xF0, 0x90, 0xF8, 0x03, 0xE0, 0x73, 0x49 - .byte 0x20, 0x1C, 0x01, 0xF0, 0x8B, 0xF8, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x05, 0x20, 0x64, 0x34 - .byte 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAF, 0xF7, 0x80, 0xF8 - .byte 0x00, 0x28, 0x2A, 0xD1, 0x98, 0xF7, 0xFC, 0xFC, 0x00, 0x28, 0x26, 0xD1, 0x60, 0x6C, 0x00, 0x21 - .byte 0xA8, 0xF7, 0x7C, 0xF8, 0x01, 0x28, 0x20, 0xD1, 0xE0, 0x69, 0x9A, 0xF7, 0x81, 0xFB, 0x00, 0x28 - .byte 0x1B, 0xD1, 0xA0, 0x6D, 0x01, 0x21, 0xA7, 0xF7, 0x87, 0xFB, 0x61, 0x48, 0x98, 0xF7, 0xAA, 0xFA - .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x06, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70 - .byte 0x18, 0xBD, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70 - .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x9C, 0xFD, 0xE0, 0x6D - .byte 0x04, 0x90, 0x00, 0x20, 0x05, 0x90, 0x04, 0xA8, 0x01, 0xF0, 0xD0, 0xF9, 0x00, 0x21, 0x20, 0x63 - .byte 0x01, 0xF0, 0xE4, 0xF9, 0x4A, 0x48, 0x00, 0x21, 0x00, 0x90, 0xE0, 0x69, 0x10, 0x22, 0x04, 0x23 - .byte 0x9B, 0xF7, 0xBA, 0xF8, 0x46, 0x48, 0x00, 0x21, 0x00, 0x90, 0x20, 0x6A, 0x10, 0x22, 0x04, 0x23 - .byte 0x9B, 0xF7, 0xB2, 0xF8, 0xE0, 0x6D, 0xA9, 0xF7, 0xF7, 0xFE, 0x02, 0x21, 0x89, 0x03, 0x88, 0x42 - .byte 0x01, 0xD8, 0xB3, 0xF7, 0x8B, 0xFF, 0x43, 0x48, 0x98, 0xF7, 0xD6, 0xFB, 0x20, 0x1C, 0x28, 0x21 - .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C - .byte 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x28, 0x28, 0x0D, 0xD2, 0x20, 0x1C - .byte 0x73, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30 - .byte 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 - .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 - .byte 0x2F, 0xD1, 0x20, 0x6B, 0x01, 0x21, 0x01, 0xF0, 0x99, 0xF9, 0x20, 0x6B, 0x02, 0x21, 0x01, 0xF0 - .byte 0x95, 0xF9, 0x20, 0x6B, 0x07, 0x21, 0x01, 0xF0, 0x91, 0xF9, 0x20, 0x6B, 0x08, 0x21, 0x01, 0xF0 - .byte 0x8D, 0xF9, 0x20, 0x6B, 0x09, 0x21, 0x01, 0xF0, 0x89, 0xF9, 0x20, 0x6B, 0x0B, 0x21, 0x01, 0xF0 - .byte 0x85, 0xF9, 0x21, 0x48, 0x98, 0xF7, 0x90, 0xFB, 0x20, 0x1C, 0x10, 0x21, 0x70, 0x30, 0x01, 0x70 - .byte 0x20, 0x1C, 0x08, 0x21, 0x71, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6B, 0x01, 0xF0, 0x7D, 0xF9, 0x00, 0x28 - .byte 0x01, 0xD0, 0x00, 0xF0, 0x18, 0xFD, 0x20, 0x6B, 0x03, 0x21, 0x01, 0xF0, 0x67, 0xF9, 0x20, 0x6B - .byte 0x04, 0x21, 0x01, 0xF0, 0x63, 0xF9, 0x20, 0x6B, 0x05, 0x21, 0x01, 0xF0, 0x5F, 0xF9, 0x20, 0x6B - .byte 0x06, 0x21, 0x01, 0xF0, 0x5B, 0xF9, 0x20, 0x6B, 0x0A, 0x21, 0x01, 0xF0, 0x57, 0xF9, 0x00, 0x20 - .byte 0x00, 0x90, 0x10, 0x20, 0x01, 0x90, 0x02, 0x48, 0x02, 0x4A, 0x0F, 0xE0 -_0206CE0C: .word 0x021C48B8 -_0206CE10: .word 0x00007FFF -_0206CE14: .word 0x0000F3FF -_0206CE18: - .byte 0x95, 0x03, 0x00, 0x00, 0x93, 0x03, 0x00, 0x00 - .byte 0x75, 0x04, 0x00, 0x00, 0xF9, 0x05, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x00, 0x02, 0x90, 0x60, 0x69 - .byte 0x0F, 0x21, 0x02, 0x23, 0x96, 0xF7, 0xEC, 0xF9, 0xE0, 0x69, 0x0C, 0x21, 0x00, 0x22, 0x9A, 0xF7 - .byte 0x8B, 0xFB, 0xE0, 0x69, 0x0D, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x86, 0xFB, 0x0C, 0x21, 0x0A, 0x1C - .byte 0x20, 0x6A, 0xF4, 0x32, 0x9A, 0xF7, 0x80, 0xFB, 0x0D, 0x21, 0x0A, 0x1C, 0x20, 0x6A, 0xF3, 0x32 - .byte 0x9A, 0xF7, 0x7A, 0xFB, 0xD8, 0x48, 0x98, 0xF7, 0x2F, 0xFB, 0x20, 0x1C, 0x00, 0x21, 0x70, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x08, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78 - .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78 - .byte 0x00, 0x28, 0x0D, 0xD0, 0x20, 0x1C, 0x73, 0x30, 0x00, 0x78, 0x81, 0x1E, 0x20, 0x1C, 0x73, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x75, 0x30, 0x00, 0x78, 0x81, 0x1C, 0x20, 0x1C, 0x75, 0x30, 0x01, 0x70 - .byte 0x60, 0x69, 0x96, 0xF7, 0x17, 0xFD, 0x00, 0x28, 0x38, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 - .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 - .byte 0x2C, 0xD1, 0x20, 0x6B, 0x0C, 0x21, 0x01, 0xF0, 0xE9, 0xF8, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20 - .byte 0x01, 0x90, 0xBA, 0x48, 0xBA, 0x4A, 0x02, 0x90, 0x60, 0x69, 0x0F, 0x21, 0x04, 0x23, 0x96, 0xF7 - .byte 0x8F, 0xF9, 0xB6, 0x48, 0x10, 0x21, 0x00, 0x90, 0xA0, 0x69, 0x00, 0x22, 0x03, 0x23, 0x9A, 0xF7 - .byte 0xCB, 0xFF, 0xB4, 0x48, 0x98, 0xF7, 0xE0, 0xFA, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0xE3, 0xFC, 0x00, 0x28 - .byte 0x04, 0xD1, 0x20, 0x6B, 0x01, 0xF0, 0xD0, 0xF8, 0x00, 0x28, 0x01, 0xD0, 0x00, 0xF0, 0x6B, 0xFC - .byte 0x00, 0x20, 0x00, 0x90, 0x01, 0x90, 0x02, 0x90, 0x22, 0x1C, 0x62, 0x32, 0x12, 0x88, 0x60, 0x6C - .byte 0x21, 0x6A, 0x02, 0x23, 0xFC, 0xF7, 0x78, 0xF8, 0x21, 0x1C, 0x62, 0x31, 0x09, 0x88, 0x0B, 0xA8 - .byte 0xFC, 0xF7, 0x5E, 0xF8, 0x20, 0x6A, 0x0B, 0xA9, 0x9A, 0xF7, 0x10, 0xFA, 0x20, 0x6A, 0x00, 0x21 - .byte 0x9A, 0xF7, 0xD8, 0xF9, 0x20, 0x1C, 0x62, 0x30, 0x00, 0x88, 0x98, 0xF7, 0x05, 0xFB, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7 - .byte 0x77, 0xFB, 0x00, 0x28, 0x7E, 0xD1, 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0xF7, 0xFE, 0x01, 0x28 - .byte 0x78, 0xD1, 0x20, 0x6A, 0x9A, 0xF7, 0xFC, 0xF9, 0x00, 0x28, 0x73, 0xD1, 0x22, 0x1C, 0xA0, 0x6A - .byte 0x05, 0x21, 0x62, 0x32, 0xFA, 0xF7, 0x44, 0xFC, 0xA0, 0x6A, 0xFD, 0xF7, 0x0B, 0xF9, 0xA0, 0x6A - .byte 0xF9, 0xF7, 0x92, 0xFF, 0xA0, 0x6A, 0xFC, 0xF7, 0x95, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21 - .byte 0x9D, 0xF7, 0x9A, 0xFE, 0xA0, 0x6A, 0xFC, 0xF7, 0x8D, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21 - .byte 0x9D, 0xF7, 0x46, 0xFE, 0x80, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xC8, 0xFE, 0x21, 0x1C, 0x65, 0x31 - .byte 0x08, 0x70, 0x20, 0x1C, 0x28, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78 - .byte 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78 - .byte 0xAE, 0xF7, 0xB6, 0xFE, 0x00, 0x28, 0x3D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E - .byte 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x31, 0xD1 - .byte 0xA0, 0x6C, 0xA1, 0x6A, 0xB7, 0xF7, 0x64, 0xFD, 0x20, 0x6D, 0x0C, 0x21, 0xBD, 0xF7, 0x5C, 0xF8 - .byte 0x20, 0x6D, 0x16, 0x21, 0xBD, 0xF7, 0x9C, 0xF8, 0xA0, 0x6A, 0xFC, 0xF7, 0x53, 0xF8, 0x01, 0x1C - .byte 0x60, 0x6D, 0xDF, 0xF7, 0x5F, 0xF8, 0xA0, 0x6A, 0x4D, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xB6, 0xF8 - .byte 0x00, 0x28, 0x04, 0xD1, 0xA0, 0x6A, 0xB2, 0x21, 0x00, 0x22, 0xFA, 0xF7, 0xE9, 0xFB, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x21, 0x1C - .byte 0xA0, 0x6A, 0x68, 0x31, 0x03, 0xAA, 0xFC, 0xF7, 0xCF, 0xFB, 0x00, 0x28, 0x07, 0xD0, 0x57, 0x49 - .byte 0x88, 0x42, 0x00, 0xD1, 0xBF, 0xE3, 0x49, 0x1C, 0x88, 0x42, 0x05, 0xD0, 0x0E, 0xE0, 0x27, 0x20 - .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x03, 0xA8, 0x01, 0x88, 0x20, 0x1C, 0x6C, 0x30 - .byte 0x01, 0x80, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFC, 0xF7 - .byte 0x19, 0xF8, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x1E, 0xFE, 0x03, 0xAA, 0x12, 0x88 - .byte 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x4A, 0xFE, 0x20, 0x1C, 0x04, 0x21, 0x00, 0xF0, 0x4E, 0xFE - .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x25, 0x20 - .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0xFB, 0xFF, 0x02, 0x1C - .byte 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0x00, 0xFE, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68 - .byte 0x01, 0x21, 0x9D, 0xF7, 0x2B, 0xFE, 0x36, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x2F, 0xFE, 0x21, 0x1C - .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 - .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7 - .byte 0xD9, 0xFF, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xDE, 0xFD, 0x29, 0x49, 0x20, 0x1C - .byte 0x00, 0xF0, 0x14, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30 - .byte 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70 - .byte 0x18, 0xBD, 0x21, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x01, 0xFE, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70 - .byte 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7 - .byte 0xEF, 0xFD, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C - .byte 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x2A, 0xE3 - .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD - .byte 0xE0, 0x6D, 0x0A, 0x49, 0x14, 0xE0, 0xC0, 0x46, 0xFB, 0x05, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x00 - .byte 0xFF, 0xF3, 0x00, 0x00, 0xFC, 0x05, 0x00, 0x00, 0x96, 0x03, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00 - .byte 0xA9, 0x04, 0x00, 0x00, 0xAA, 0x04, 0x00, 0x00, 0xAB, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02 - .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xCE, 0xFF, 0x20, 0x64, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C - .byte 0xE1, 0x6D, 0x94, 0xF7, 0xCB, 0xFF, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42 - .byte 0x19, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x1C, 0x16, 0x21, 0x64, 0x30, 0x01, 0x70, 0x00, 0x21 - .byte 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0xC1, 0x4A, 0x0F, 0x21, 0x01, 0x23 - .byte 0x95, 0xF7, 0xE6, 0xFF, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7 - .byte 0x23, 0xFE, 0x15, 0xB0, 0x18, 0xBD, 0x20, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD - .byte 0x60, 0x69, 0x96, 0xF7, 0x3F, 0xFB, 0x00, 0x28, 0x40, 0xD1, 0x00, 0x20, 0x01, 0x1C, 0xA1, 0xF7 - .byte 0x97, 0xF8, 0x01, 0x20, 0x00, 0x21, 0xA1, 0xF7, 0x93, 0xF8, 0x20, 0x68, 0x00, 0xF0, 0xE4, 0xFC - .byte 0xE0, 0x69, 0x06, 0x21, 0x01, 0x22, 0x9A, 0xF7, 0x67, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x01, 0x22 - .byte 0x9A, 0xF7, 0x62, 0xF9, 0xA1, 0x6A, 0xE0, 0x6B, 0x01, 0x22, 0x01, 0x60, 0xE1, 0x6A, 0xE0, 0x6B - .byte 0x41, 0x60, 0xE1, 0x6B, 0x00, 0x20, 0x48, 0x74, 0xE1, 0x6B, 0x08, 0x75, 0xE1, 0x6B, 0xCA, 0x74 - .byte 0x21, 0x1C, 0x6C, 0x31, 0x0A, 0x88, 0xE1, 0x6B, 0x0A, 0x83, 0xE1, 0x6B, 0x02, 0x22, 0x8A, 0x74 - .byte 0xE1, 0x6B, 0x88, 0x62, 0xE0, 0x6B, 0x9F, 0x49, 0x0D, 0xF0, 0x9A, 0xFE, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x9D, 0xFD, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70 - .byte 0x18, 0xBD, 0xA0, 0x6B, 0x98, 0xF7, 0xD4, 0xFF, 0x00, 0x28, 0x00, 0xD1, 0x8B, 0xE2, 0xA0, 0x6B - .byte 0x98, 0xF7, 0xB6, 0xFF, 0x21, 0x68, 0x20, 0x1C, 0x00, 0xF0, 0x5C, 0xFB, 0x60, 0x68, 0x00, 0x21 - .byte 0x01, 0x22, 0x0A, 0x23, 0x9F, 0xF7, 0xDA, 0xFE, 0xE0, 0x69, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7 - .byte 0x23, 0xF9, 0x20, 0x6A, 0x06, 0x21, 0x00, 0x22, 0x9A, 0xF7, 0x1E, 0xF9, 0xE0, 0x69, 0x9A, 0xF7 - .byte 0xD7, 0xFE, 0x20, 0x6A, 0x9A, 0xF7, 0xD4, 0xFE, 0x10, 0x20, 0x00, 0x90, 0x00, 0x20, 0x01, 0x90 - .byte 0x02, 0x90, 0x60, 0x69, 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x69, 0xFF, 0x00, 0x22 - .byte 0x00, 0x92, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xA6, 0xFD, 0xC6, 0xF7, 0x92, 0xFD - .byte 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD - .byte 0x00, 0x20, 0xA1, 0xF7, 0x17, 0xF8, 0x01, 0x20, 0xA1, 0xF7, 0x14, 0xF8, 0x60, 0x69, 0x96, 0xF7 - .byte 0xB9, 0xFA, 0x00, 0x28, 0x7E, 0xD1, 0xE0, 0x6B, 0x81, 0x7D, 0x04, 0x29, 0x04, 0xD1, 0x20, 0x20 - .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x6E, 0x30, 0x01, 0x70, 0x19, 0x20 - .byte 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68 - .byte 0x00, 0x21, 0x9D, 0xF7, 0xDB, 0xFC, 0x68, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xDF, 0xFC, 0x21, 0x1C - .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x01, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 - .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xE0, 0x6D, 0x5F, 0x49 - .byte 0x00, 0x90, 0x20, 0x68, 0x01, 0x22, 0x08, 0x23, 0x94, 0xF7, 0xDE, 0xFE, 0x20, 0x64, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x6C - .byte 0xE1, 0x6D, 0x94, 0xF7, 0xDB, 0xFE, 0x00, 0x28, 0x05, 0xD0, 0x01, 0x21, 0xC9, 0x43, 0x88, 0x42 - .byte 0x20, 0xD0, 0x15, 0xB0, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x6C, 0xFE, 0x02, 0x1C, 0xE0, 0x68 - .byte 0x00, 0x21, 0x9D, 0xF7, 0x71, 0xFC, 0x22, 0x1C, 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21 - .byte 0x9D, 0xF7, 0x9C, 0xFC, 0x4A, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xA0, 0xFC, 0x21, 0x1C, 0x65, 0x31 - .byte 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x24, 0x20, 0x64, 0x34, 0x15, 0xB0 - .byte 0x20, 0x70, 0x18, 0xBD, 0x0E, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C - .byte 0x65, 0x30, 0x00, 0x78, 0xAE, 0xF7, 0x8C, 0xFC, 0x00, 0x28, 0x0B, 0xD1, 0x20, 0x1C, 0x66, 0x30 - .byte 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 - .byte 0x00, 0x28, 0x00, 0xD0, 0xC7, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD - .byte 0x34, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x72, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C - .byte 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0 - .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A, 0xFB, 0xF7, 0x1C, 0xFE, 0x02, 0x1C, 0xE0, 0x68 - .byte 0x00, 0x21, 0x9D, 0xF7, 0x21, 0xFC, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x00, 0x22 - .byte 0x36, 0x31, 0xF9, 0xF7, 0x7B, 0xFE, 0x02, 0x1C, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x46, 0xFC - .byte 0x4B, 0x21, 0x20, 0x1C, 0x09, 0x01, 0x00, 0xF0, 0x49, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70 - .byte 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x17, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0x36, 0xFC - .byte 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0xA0, 0x6A - .byte 0xFB, 0xF7, 0xE0, 0xFD, 0x02, 0x1C, 0xE0, 0x68, 0x00, 0x21, 0x9D, 0xF7, 0xE5, 0xFB, 0x22, 0x1C - .byte 0x6C, 0x32, 0x12, 0x88, 0xE0, 0x68, 0x01, 0x21, 0x9D, 0xF7, 0x10, 0xFC, 0x07, 0x49, 0x0F, 0xE0 - .byte 0xFF, 0xFF, 0x00, 0x00, 0x1C, 0x83, 0x0F, 0x02, 0xAD, 0x04, 0x00, 0x00, 0x20, 0x83, 0x0F, 0x02 - .byte 0xAE, 0x04, 0x00, 0x00, 0xAF, 0x04, 0x00, 0x00, 0xB1, 0x04, 0x00, 0x00, 0xB2, 0x04, 0x00, 0x00 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x03, 0xFC, 0x21, 0x1C, 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x22, 0x1C - .byte 0x00, 0x21, 0x66, 0x30, 0x01, 0x70, 0x21, 0x1C, 0x6E, 0x31, 0x09, 0x78, 0xA0, 0x6A, 0x66, 0x32 - .byte 0x3E, 0x31, 0xFA, 0xF7, 0x55, 0xF9, 0x21, 0x1C, 0x22, 0x1C, 0x6C, 0x31, 0x6E, 0x32, 0x09, 0x88 - .byte 0x12, 0x78, 0xA0, 0x6A, 0xFC, 0xF7, 0x1A, 0xF9, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70 - .byte 0x25, 0x20, 0x64, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30, 0x00, 0x78 - .byte 0xAE, 0xF7, 0xDE, 0xFB, 0x00, 0x28, 0x17, 0xD1, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x98, 0xF7, 0x78, 0xFB, 0x00, 0x28, 0x0B, 0xD1 - .byte 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C - .byte 0x66, 0x30, 0x00, 0x78, 0x00, 0x28, 0x00, 0xD0, 0x0D, 0xE1, 0x0D, 0x20, 0x64, 0x34, 0x15, 0xB0 - .byte 0x20, 0x70, 0x18, 0xBD, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69 - .byte 0x82, 0x4A, 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x03, 0xFE, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69 - .byte 0x10, 0x22, 0x0B, 0x1C, 0x9A, 0xF7, 0x40, 0xFC, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x5B, 0xF9, 0x00, 0x28 - .byte 0x62, 0xD1, 0x20, 0x6B, 0x00, 0xF0, 0x52, 0xFD, 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xF8, 0x01, 0x20 - .byte 0x67, 0x34, 0x15, 0xB0, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x4B, 0xF9, 0x00, 0x28 - .byte 0x52, 0xD1, 0x0C, 0x21, 0x0A, 0x1C, 0xE0, 0x69, 0xF4, 0x32, 0x99, 0xF7, 0x7D, 0xFF, 0x0D, 0x21 - .byte 0x0A, 0x1C, 0xE0, 0x69, 0xF3, 0x32, 0x99, 0xF7, 0x77, 0xFF, 0x20, 0x6A, 0x0C, 0x21, 0x00, 0x22 - .byte 0x99, 0xF7, 0x72, 0xFF, 0x20, 0x6A, 0x0D, 0x21, 0x00, 0x22, 0x99, 0xF7, 0x6D, 0xFF, 0x20, 0x6A - .byte 0x06, 0x21, 0x01, 0x22, 0x99, 0xF7, 0x68, 0xFF, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x60, 0x48 - .byte 0x01, 0x93, 0x02, 0x90, 0x60, 0x69, 0x5F, 0x4A, 0x0F, 0x21, 0x95, 0xF7, 0xB9, 0xFD, 0x5C, 0x48 - .byte 0x00, 0x22, 0x00, 0x90, 0xA0, 0x69, 0x10, 0x21, 0x13, 0x1C, 0x9A, 0xF7, 0xF5, 0xFB, 0x20, 0x1C - .byte 0x00, 0x21, 0x72, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x73, 0x30, 0x01, 0x70, 0x20, 0x1C, 0xFF, 0x22 - .byte 0x74, 0x30, 0x02, 0x70, 0x20, 0x1C, 0xA0, 0x22, 0x75, 0x30, 0x02, 0x70, 0x20, 0x1C, 0x70, 0x30 - .byte 0x01, 0x70, 0x51, 0x48, 0x97, 0xF7, 0x3C, 0xFE, 0x20, 0x6B, 0x00, 0xF0, 0xFF, 0xFC, 0x20, 0x1C - .byte 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69 - .byte 0x96, 0xF7, 0xF8, 0xF8, 0x00, 0x28, 0x00, 0xD0, 0x85, 0xE0, 0x00, 0x20, 0x00, 0x90, 0x01, 0x90 - .byte 0x02, 0x90, 0x22, 0x1C, 0x60, 0x32, 0x12, 0x88, 0x60, 0x6C, 0xE1, 0x69, 0x02, 0x23, 0xFB, 0xF7 - .byte 0x93, 0xFC, 0x21, 0x1C, 0x60, 0x31, 0x09, 0x88, 0x06, 0xA8, 0xFB, 0xF7, 0x79, 0xFC, 0xE0, 0x69 - .byte 0x06, 0xA9, 0x99, 0xF7, 0x2B, 0xFE, 0xE0, 0x69, 0x00, 0x21, 0x99, 0xF7, 0xF3, 0xFD, 0x20, 0x1C - .byte 0x60, 0x30, 0x00, 0x88, 0x97, 0xF7, 0x20, 0xFF, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34 - .byte 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x97, 0xF7, 0x92, 0xFF, 0x00, 0x28, 0x5A, 0xD1 - .byte 0x60, 0x6C, 0x00, 0x21, 0xA7, 0xF7, 0x12, 0xFB, 0x01, 0x28, 0x54, 0xD1, 0xE0, 0x69, 0x99, 0xF7 - .byte 0x17, 0xFE, 0x00, 0x28, 0x4F, 0xD1, 0xA0, 0x6A, 0xFB, 0xF7, 0xBC, 0xFC, 0x02, 0x1C, 0xE0, 0x68 - .byte 0x00, 0x21, 0x9D, 0xF7, 0xC1, 0xFA, 0x29, 0x49, 0x20, 0x1C, 0x00, 0xF0, 0xF7, 0xFA, 0x21, 0x1C - .byte 0x65, 0x31, 0x08, 0x70, 0x20, 0x1C, 0x14, 0x21, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x64, 0x30 - .byte 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0, 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x20, 0x1C, 0x65, 0x30 - .byte 0x00, 0x78, 0xAE, 0xF7, 0xE5, 0xFA, 0x00, 0x28, 0x2D, 0xD1, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78 - .byte 0x41, 0x1E, 0x20, 0x1C, 0x66, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x66, 0x30, 0x00, 0x78, 0x00, 0x28 - .byte 0x21, 0xD1, 0x00, 0x21, 0x00, 0x91, 0x10, 0x20, 0x01, 0x90, 0x02, 0x91, 0x60, 0x69, 0x0F, 0x4A - .byte 0x0F, 0x21, 0x01, 0x23, 0x95, 0xF7, 0x1C, 0xFD, 0x00, 0x21, 0x00, 0x91, 0xA0, 0x69, 0x10, 0x22 - .byte 0x0B, 0x1C, 0x9A, 0xF7, 0x59, 0xFB, 0x20, 0x1C, 0x64, 0x30, 0x00, 0x78, 0x64, 0x34, 0x15, 0xB0 - .byte 0x40, 0x1C, 0x20, 0x70, 0x18, 0xBD, 0x60, 0x69, 0x96, 0xF7, 0x74, 0xF8, 0x00, 0x28, 0x02, 0xD1 - .byte 0x01, 0x20, 0x67, 0x34, 0x20, 0x70 - - non_word_aligned_thumb_func_start FUN_0206D806 -FUN_0206D806: ; 0x0206D806 +_0206D806: add sp, #0x54 pop {r3-r4, pc} nop -_0206D80C: - .byte 0xFF, 0xFF, 0x00, 0x00 - .byte 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0xF3, 0x00, 0x00, 0x75, 0x04, 0x00, 0x00, 0x97, 0x03, 0x00, 0x00 +_0206D80C: .word 0x0000FFFF +_0206D810: .word 0x00007FFF +_0206D814: .word 0x0000F3FF +_0206D818: .word 0x00000475 +_0206D81C: .word 0x00000397 thumb_func_start FUN_0206D820 FUN_0206D820: ; 0x0206D820 @@ -204205,13 +230823,15 @@ _0206D834: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r4, r1, #0 - lsl r6, r4, #0x5 - lsl r6, r4, #0x5 - lsl r6, r4, #0x5 - lsl r0, r3, #0x5 - lsl r0, r3, #0x5 +_0206D846: ; jump table (using 16-bit offset) + .short _0206D854 - _0206D846 - 2; case 0 + .short _0206D854 - _0206D846 - 2; case 1 + .short _0206D9AE - _0206D846 - 2; case 2 + .short _0206D9AE - _0206D846 - 2; case 3 + .short _0206D9AE - _0206D846 - 2; case 4 + .short _0206D9A0 - _0206D846 - 2; case 5 + .short _0206D9A0 - _0206D846 - 2; case 6 +_0206D854: ldr r0, [r4, #0x4c] ldr r2, [r4, #0x5c] mov r1, #0x4 @@ -204836,25 +231456,39 @@ FUN_0206DDB4: ; 0x0206DDB4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r6, #0 - lsl r2, r1, #0 - lsl r2, r2, #0 - lsl r2, r3, #0 - lsl r2, r4, #0 - lsl r2, r5, #0 +_0206DDC8: ; jump table (using 16-bit offset) + .short _0206DDFA - _0206DDC8 - 2; case 0 + .short _0206DDD4 - _0206DDC8 - 2; case 1 + .short _0206DDDC - _0206DDC8 - 2; case 2 + .short _0206DDE4 - _0206DDC8 - 2; case 3 + .short _0206DDEC - _0206DDC8 - 2; case 4 + .short _0206DDF4 - _0206DDC8 - 2; case 5 +_0206DDD4: bl FUN_02005514 add r4, r0, #0x0 b _0206DDFA _0206DDDC: - .byte 0x97, 0xF7, 0x6E, 0xFF - .byte 0x04, 0x1C, 0x0A, 0xE0, 0x06, 0x48, 0x97, 0xF7, 0x1F, 0xFF, 0x06, 0xE0, 0x05, 0x48, 0x97, 0xF7 - .byte 0x6B, 0xFB, 0x02, 0xE0, 0x04, 0x48, 0x97, 0xF7, 0x17, 0xFF + bl FUN_02005CBC + add r4, r0, #0x0 + b _0206DDFA +_0206DDE4: + ldr r0, _0206DE00 ; =0x00000484 + bl FUN_02005C28 + b _0206DDFA +_0206DDEC: + ldr r0, _0206DE04 ; =0x000005E6 + bl FUN_020054C8 + b _0206DDFA +_0206DDF4: + ldr r0, _0206DE08 ; =0x00000483 + bl FUN_02005C28 _0206DDFA: add r0, r4, #0x0 pop {r4, pc} nop -_0206DE00: - .byte 0x84, 0x04, 0x00, 0x00, 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 +_0206DE00: .word 0x00000484 +_0206DE04: .word 0x000005E6 +_0206DE08: .word 0x00000483 thumb_func_start FUN_0206DE0C FUN_0206DE0C: ; 0x0206DE0C @@ -205985,10 +232619,12 @@ FUN_0206E640: ; 0x0206E640 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r0, r3, #0 - lsl r2, r6, #0 - lsl r6, r1, #0x1 +_0206E650: ; jump table (using 16-bit offset) + .short _0206E658 - _0206E650 - 2; case 0 + .short _0206E66A - _0206E650 - 2; case 1 + .short _0206E684 - _0206E650 - 2; case 2 + .short _0206E6A0 - _0206E650 - 2; case 3 +_0206E658: cmp r0, #0x0 beq _0206E6B2 ldr r1, _0206E6B8 ; =0x0000FFFF @@ -205999,21 +232635,60 @@ FUN_0206E640: ; 0x0206E640 ldrh r0, [r0, r1] bx lr _0206E66A: - .byte 0x00, 0x28, 0x01, 0xD1, 0x14, 0x48 - .byte 0x70, 0x47, 0x11, 0x49, 0x88, 0x42, 0x01, 0xD1, 0x12, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x12, 0x48 - .byte 0x40, 0x5A, 0x70, 0x47, 0x00, 0x28, 0x02, 0xD1, 0xAF, 0x20, 0x80, 0x00, 0x70, 0x47, 0x0A, 0x49 - .byte 0x88, 0x42, 0x01, 0xD1, 0x0D, 0x48, 0x70, 0x47, 0xC1, 0x00, 0x0D, 0x48, 0x40, 0x5A, 0x70, 0x47 - .byte 0x00, 0x28, 0x06, 0xD0, 0x04, 0x49, 0x88, 0x42, 0x03, 0xD0, 0xC1, 0x00, 0x09, 0x48, 0x40, 0x5A - .byte 0x70, 0x47 + cmp r0, #0x0 + bne _0206E672 + ldr r0, _0206E6C0 ; =0x000002BB + bx lr +_0206E672: + ldr r1, _0206E6B8 ; =0x0000FFFF + cmp r0, r1 + bne _0206E67C + ldr r0, _0206E6C4 ; =0x000002BD + bx lr +_0206E67C: + lsl r1, r0, #0x3 + ldr r0, _0206E6C8 ; =0x020F85B6 + ldrh r0, [r0, r1] + bx lr +_0206E684: + cmp r0, #0x0 + bne _0206E68E + mov r0, #0xaf + lsl r0, r0, #0x2 + bx lr +_0206E68E: + ldr r1, _0206E6B8 ; =0x0000FFFF + cmp r0, r1 + bne _0206E698 + ldr r0, _0206E6CC ; =0x000002BE + bx lr +_0206E698: + lsl r1, r0, #0x3 + ldr r0, _0206E6D0 ; =0x020F85B8 + ldrh r0, [r0, r1] + bx lr +_0206E6A0: + cmp r0, #0x0 + beq _0206E6B2 + ldr r1, _0206E6B8 ; =0x0000FFFF + cmp r0, r1 + beq _0206E6B2 + lsl r1, r0, #0x3 + ldr r0, _0206E6D4 ; =0x020F85BA + ldrh r0, [r0, r1] + bx lr _0206E6B2: mov r0, #0x0 bx lr nop _0206E6B8: .word 0x0000FFFF _0206E6BC: .word 0x020F85B4 -_0206E6C0: - .byte 0xBB, 0x02, 0x00, 0x00, 0xBD, 0x02, 0x00, 0x00, 0xB6, 0x85, 0x0F, 0x02, 0xBE, 0x02, 0x00, 0x00 - .byte 0xB8, 0x85, 0x0F, 0x02, 0xBA, 0x85, 0x0F, 0x02 +_0206E6C0: .word 0x000002BB +_0206E6C4: .word 0x000002BD +_0206E6C8: .word 0x020F85B6 +_0206E6CC: .word 0x000002BE +_0206E6D0: .word 0x020F85B8 +_0206E6D4: .word 0x020F85BA thumb_func_start FUN_0206E6D8 FUN_0206E6D8: ; 0x0206E6D8 @@ -206168,29 +232843,77 @@ FUN_0206E7DC: ; 0x0206E7DC lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r0, r6, #0 - lsl r0, r7, #0 - lsl r0, r0, #0x1 - lsl r4, r0, #0x1 - lsl r0, r1, #0x1 - lsl r4, r1, #0x1 - lsl r0, r2, #0x1 - lsl r4, r2, #0x1 - lsl r0, r3, #0x1 - lsl r0, r4, #0x1 - lsl r0, r5, #0x1 +_0206E7EE: ; jump table (using 16-bit offset) + .short _0206E80C - _0206E7EE - 2; case 0 + .short _0206E810 - _0206E7EE - 2; case 1 + .short _0206E814 - _0206E7EE - 2; case 2 + .short _0206E818 - _0206E7EE - 2; case 3 + .short _0206E820 - _0206E7EE - 2; case 4 + .short _0206E828 - _0206E7EE - 2; case 5 + .short _0206E830 - _0206E7EE - 2; case 6 + .short _0206E834 - _0206E7EE - 2; case 7 + .short _0206E838 - _0206E7EE - 2; case 8 + .short _0206E83C - _0206E7EE - 2; case 9 + .short _0206E840 - _0206E7EE - 2; case 10 + .short _0206E844 - _0206E7EE - 2; case 11 + .short _0206E848 - _0206E7EE - 2; case 12 + .short _0206E850 - _0206E7EE - 2; case 13 + .short _0206E858 - _0206E7EE - 2; case 14 +_0206E80C: ldrh r0, [r0, #0x0] pop {r3, pc} _0206E810: - .byte 0x80, 0x78, 0x08, 0xBD, 0xC0, 0x78, 0x08, 0xBD, 0x00, 0x89, 0x80, 0x06, 0xC0, 0x0F, 0x08, 0xBD - .byte 0x00, 0x89, 0x40, 0x06, 0xC0, 0x0F, 0x08, 0xBD, 0x00, 0x89, 0x40, 0x05, 0x00, 0x0F, 0x08, 0xBD - .byte 0x80, 0x7A, 0x08, 0xBD, 0xC0, 0x7A, 0x08, 0xBD, 0x00, 0x79, 0x08, 0xBD, 0x40, 0x79, 0x08, 0xBD - .byte 0x80, 0x79, 0x08, 0xBD, 0xC0, 0x79, 0x08, 0xBD, 0x00, 0x89, 0xC0, 0x06, 0xC0, 0x0E, 0x08, 0xBD - .byte 0x00, 0x89, 0x00, 0x04, 0xC0, 0x0E, 0x08, 0xBD, 0x00, 0x7B, 0x08, 0xBD + ldrb r0, [r0, #0x2] + pop {r3, pc} +_0206E814: + ldrb r0, [r0, #0x3] + pop {r3, pc} +_0206E818: + ldrh r0, [r0, #0x8] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + pop {r3, pc} +_0206E820: + ldrh r0, [r0, #0x8] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + pop {r3, pc} +_0206E828: + ldrh r0, [r0, #0x8] + lsl r0, r0, #0x15 + lsr r0, r0, #0x1c + pop {r3, pc} +_0206E830: + ldrb r0, [r0, #0xa] + pop {r3, pc} +_0206E834: + ldrb r0, [r0, #0xb] + pop {r3, pc} +_0206E838: + ldrb r0, [r0, #0x4] + pop {r3, pc} +_0206E83C: + ldrb r0, [r0, #0x5] + pop {r3, pc} +_0206E840: + ldrb r0, [r0, #0x6] + pop {r3, pc} +_0206E844: + ldrb r0, [r0, #0x7] + pop {r3, pc} +_0206E848: + ldrh r0, [r0, #0x8] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1b + pop {r3, pc} +_0206E850: + ldrh r0, [r0, #0x8] + lsl r0, r0, #0x10 + lsr r0, r0, #0x1b + pop {r3, pc} +_0206E858: + ldrb r0, [r0, #0xc] + pop {r3, pc} _0206E85C: ldrb r2, [r0, #0xc] cmp r2, #0x0 @@ -206222,76 +232945,258 @@ _0206E880: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r2, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r6, r5, #0x1 - lsl r6, r6, #0x1 - lsl r6, r7, #0x1 - lsl r6, r0, #0x2 - lsl r6, r1, #0x2 - lsl r6, r2, #0x2 - lsl r6, r3, #0x2 - lsl r6, r4, #0x2 - lsl r6, r5, #0x2 - lsl r6, r6, #0x2 - lsl r6, r7, #0x2 - lsl r6, r0, #0x3 - lsl r6, r1, #0x3 - lsl r6, r2, #0x3 - lsl r6, r3, #0x3 - lsl r6, r4, #0x3 - lsl r6, r5, #0x3 - lsl r6, r6, #0x3 - lsl r6, r7, #0x3 - lsl r6, r0, #0x4 - lsl r6, r1, #0x4 - lsl r6, r2, #0x4 - lsl r6, r3, #0x4 - lsl r6, r4, #0x4 - lsl r6, r5, #0x4 - lsl r6, r6, #0x4 - lsl r6, r7, #0x4 - lsl r6, r0, #0x5 - lsl r6, r1, #0x5 - lsl r6, r2, #0x5 - lsl r6, r3, #0x5 - lsl r4, r4, #0x5 - lsl r2, r5, #0x5 - lsl r0, r6, #0x5 - lsl r6, r6, #0x5 - lsl r4, r7, #0x5 - lsl r2, r0, #0x6 - lsl r6, r0, #0x6 - lsl r2, r1, #0x6 - lsl r0, r2, #0x6 - lsl r6, r2, #0x6 +_0206E88C: ; jump table (using 16-bit offset) + .short _0206E8E4 - _0206E88C - 2; case 0 + .short _0206E8EC - _0206E88C - 2; case 1 + .short _0206E8F4 - _0206E88C - 2; case 2 + .short _0206E8FC - _0206E88C - 2; case 3 + .short _0206E904 - _0206E88C - 2; case 4 + .short _0206E90C - _0206E88C - 2; case 5 + .short _0206E914 - _0206E88C - 2; case 6 + .short _0206E91C - _0206E88C - 2; case 7 + .short _0206E924 - _0206E88C - 2; case 8 + .short _0206E92C - _0206E88C - 2; case 9 + .short _0206E934 - _0206E88C - 2; case 10 + .short _0206E93C - _0206E88C - 2; case 11 + .short _0206E944 - _0206E88C - 2; case 12 + .short _0206E94C - _0206E88C - 2; case 13 + .short _0206E954 - _0206E88C - 2; case 14 + .short _0206E95C - _0206E88C - 2; case 15 + .short _0206E964 - _0206E88C - 2; case 16 + .short _0206E96C - _0206E88C - 2; case 17 + .short _0206E974 - _0206E88C - 2; case 18 + .short _0206E97C - _0206E88C - 2; case 19 + .short _0206E984 - _0206E88C - 2; case 20 + .short _0206E98C - _0206E88C - 2; case 21 + .short _0206E994 - _0206E88C - 2; case 22 + .short _0206E99C - _0206E88C - 2; case 23 + .short _0206E9A4 - _0206E88C - 2; case 24 + .short _0206E9AC - _0206E88C - 2; case 25 + .short _0206E9B4 - _0206E88C - 2; case 26 + .short _0206E9BC - _0206E88C - 2; case 27 + .short _0206E9C4 - _0206E88C - 2; case 28 + .short _0206E9CC - _0206E88C - 2; case 29 + .short _0206E9D4 - _0206E88C - 2; case 30 + .short _0206E9DC - _0206E88C - 2; case 31 + .short _0206E9E4 - _0206E88C - 2; case 32 + .short _0206E9EC - _0206E88C - 2; case 33 + .short _0206E9F2 - _0206E88C - 2; case 34 + .short _0206E9F8 - _0206E88C - 2; case 35 + .short _0206E9FE - _0206E88C - 2; case 36 + .short _0206EA04 - _0206E88C - 2; case 37 + .short _0206EA0A - _0206E88C - 2; case 38 + .short _0206EA10 - _0206E88C - 2; case 39 + .short _0206EA14 - _0206E88C - 2; case 40 + .short _0206EA18 - _0206E88C - 2; case 41 + .short _0206EA1E - _0206E88C - 2; case 42 + .short _0206EA24 - _0206E88C - 2; case 43 +_0206E8E4: ldrb r0, [r0, #0x0] lsl r0, r0, #0x1f lsr r0, r0, #0x1f bx lr _0206E8EC: - .byte 0x00, 0x78, 0x80, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0xC0, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x80, 0x06 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x40, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x78, 0x00, 0x06 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0xC0, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x80, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x40, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x07 - .byte 0x00, 0x0F, 0x70, 0x47, 0x80, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x07 - .byte 0x00, 0x0F, 0x70, 0x47, 0xC0, 0x78, 0x00, 0x06, 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x07 - .byte 0x00, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x80, 0x06, 0x80, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x40, 0x06 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x00, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0xC0, 0x06 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x80, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x40, 0x06 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x40, 0x79, 0x00, 0x06, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0xC0, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x80, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x40, 0x07 - .byte 0xC0, 0x0F, 0x70, 0x47, 0x80, 0x79, 0x00, 0x07, 0xC0, 0x0F, 0x70, 0x47, 0x07, 0x21, 0x40, 0x56 - .byte 0x70, 0x47, 0x08, 0x21, 0x40, 0x56, 0x70, 0x47, 0x09, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0A, 0x21 - .byte 0x40, 0x56, 0x70, 0x47, 0x0B, 0x21, 0x40, 0x56, 0x70, 0x47, 0x0C, 0x21, 0x40, 0x56, 0x70, 0x47 - .byte 0x40, 0x7B, 0x70, 0x47, 0x80, 0x7B, 0x70, 0x47, 0x0F, 0x21, 0x40, 0x56, 0x70, 0x47, 0x10, 0x21 - .byte 0x40, 0x56, 0x70, 0x47, 0x11, 0x21, 0x40, 0x56, 0x70, 0x47 + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr +_0206E8F4: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr +_0206E8FC: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr +_0206E904: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bx lr +_0206E90C: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + bx lr +_0206E914: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr +_0206E91C: + ldrb r0, [r0, #0x0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr +_0206E924: + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr +_0206E92C: + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr +_0206E934: + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr +_0206E93C: + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr +_0206E944: + ldrb r0, [r0, #0x1] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + bx lr +_0206E94C: + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr +_0206E954: + ldrb r0, [r0, #0x2] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + bx lr +_0206E95C: + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr +_0206E964: + ldrb r0, [r0, #0x3] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1c + bx lr +_0206E96C: + ldrb r0, [r0, #0x4] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1c + bx lr +_0206E974: + ldrb r0, [r0, #0x4] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1e + bx lr +_0206E97C: + ldrb r0, [r0, #0x4] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr +_0206E984: + ldrb r0, [r0, #0x4] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr +_0206E98C: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr +_0206E994: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr +_0206E99C: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr +_0206E9A4: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr +_0206E9AC: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1b + lsr r0, r0, #0x1f + bx lr +_0206E9B4: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x1a + lsr r0, r0, #0x1f + bx lr +_0206E9BC: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x19 + lsr r0, r0, #0x1f + bx lr +_0206E9C4: + ldrb r0, [r0, #0x5] + lsl r0, r0, #0x18 + lsr r0, r0, #0x1f + bx lr +_0206E9CC: + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x1f + lsr r0, r0, #0x1f + bx lr +_0206E9D4: + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x1e + lsr r0, r0, #0x1f + bx lr +_0206E9DC: + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x1d + lsr r0, r0, #0x1f + bx lr +_0206E9E4: + ldrb r0, [r0, #0x6] + lsl r0, r0, #0x1c + lsr r0, r0, #0x1f + bx lr +_0206E9EC: + mov r1, #0x7 + ldrsb r0, [r0, r1] + bx lr +_0206E9F2: + mov r1, #0x8 + ldrsb r0, [r0, r1] + bx lr +_0206E9F8: + mov r1, #0x9 + ldrsb r0, [r0, r1] + bx lr +_0206E9FE: + mov r1, #0xa + ldrsb r0, [r0, r1] + bx lr +_0206EA04: + mov r1, #0xb + ldrsb r0, [r0, r1] + bx lr +_0206EA0A: + mov r1, #0xc + ldrsb r0, [r0, r1] + bx lr +_0206EA10: + ldrb r0, [r0, #0xd] + bx lr +_0206EA14: + ldrb r0, [r0, #0xe] + bx lr +_0206EA18: + mov r1, #0xf + ldrsb r0, [r0, r1] + bx lr +_0206EA1E: + mov r1, #0x10 + ldrsb r0, [r0, r1] + bx lr +_0206EA24: + mov r1, #0x11 + ldrsb r0, [r0, r1] + bx lr _0206EA2A: mov r0, #0x0 bx lr @@ -206583,14 +233488,16 @@ FUN_0206EBD4: ; 0x0206EBD4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r3, #0 - lsl r0, r6, #0 - lsl r4, r7, #0 - lsl r0, r4, #0x1 - lsl r4, r4, #0 - lsl r4, r2, #0x1 - lsl r0, r1, #0x1 - lsl r6, r1, #0 +_0206EBF6: ; jump table (using 16-bit offset) + .short _0206EC14 - _0206EBF6 - 2; case 0 + .short _0206EC28 - _0206EBF6 - 2; case 1 + .short _0206EC34 - _0206EBF6 - 2; case 2 + .short _0206EC58 - _0206EBF6 - 2; case 3 + .short _0206EC1C - _0206EBF6 - 2; case 4 + .short _0206EC4C - _0206EBF6 - 2; case 5 + .short _0206EC40 - _0206EBF6 - 2; case 6 + .short _0206EC06 - _0206EBF6 - 2; case 7 +_0206EC06: mov r1, #0xa5 lsl r1, r1, #0x2 add r1, r4, r1 @@ -206599,18 +233506,60 @@ FUN_0206EBD4: ; 0x0206EBD4 str r1, [r6, #0x0] pop {r4-r6, pc} _0206EC14: - .byte 0x2C, 0x60, 0xA5, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x12, 0x49, 0x61, 0x18 - .byte 0x29, 0x60, 0x40, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x10, 0x49, 0x61, 0x18, 0x29, 0x60, 0x28, 0x21 - .byte 0x31, 0x60, 0x70, 0xBD, 0x0E, 0x49, 0x61, 0x18, 0x29, 0x60, 0x0F, 0x21, 0x31, 0x60, 0x70, 0xBD - .byte 0x0C, 0x49, 0x61, 0x18, 0x29, 0x60, 0x1E, 0x21, 0x31, 0x60, 0x70, 0xBD, 0x0A, 0x49, 0x61, 0x18 - .byte 0x29, 0x60, 0x0C, 0x21, 0x31, 0x60, 0x70, 0xBD, 0xD7, 0x21, 0x89, 0x00, 0x61, 0x18, 0x29, 0x60 - .byte 0x64, 0x21, 0x31, 0x60 + str r4, [r5, #0x0] + mov r1, #0xa5 + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC1C: + ldr r1, _0206EC68 ; =0x000005BC + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0x40 + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC28: + ldr r1, _0206EC6C ; =0x0000051C + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0x28 + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC34: + ldr r1, _0206EC70 ; =0x000006BC + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0xf + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC40: + ldr r1, _0206EC74 ; =0x000006F8 + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0x1e + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC4C: + ldr r1, _0206EC78 ; =0x000004EC + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0xc + str r1, [r6, #0x0] + pop {r4-r6, pc} +_0206EC58: + mov r1, #0xd7 + lsl r1, r1, #0x2 + add r1, r4, r1 + str r1, [r5, #0x0] + mov r1, #0x64 + str r1, [r6, #0x0] _0206EC64: pop {r4-r6, pc} nop -_0206EC68: - .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00 - .byte 0xBC, 0x06, 0x00, 0x00, 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 +_0206EC68: .word 0x000005BC +_0206EC6C: .word 0x0000051C +_0206EC70: .word 0x000006BC +_0206EC74: .word 0x000006F8 +_0206EC78: .word 0x000004EC thumb_func_start FUN_0206EC7C FUN_0206EC7C: ; 0x0206EC7C @@ -206896,25 +233845,55 @@ FUN_0206EE64: ; 0x0206EE64 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r3, #0 - lsl r4, r4, #0 - lsl r4, r5, #0 - lsl r4, r0, #0x1 - lsl r4, r3, #0 - lsl r4, r7, #0 - lsl r4, r6, #0 - lsl r6, r1, #0 +_0206EE74: ; jump table (using 16-bit offset) + .short _0206EE8E - _0206EE74 - 2; case 0 + .short _0206EE9A - _0206EE74 - 2; case 1 + .short _0206EEA2 - _0206EE74 - 2; case 2 + .short _0206EEBA - _0206EE74 - 2; case 3 + .short _0206EE92 - _0206EE74 - 2; case 4 + .short _0206EEB2 - _0206EE74 - 2; case 5 + .short _0206EEAA - _0206EE74 - 2; case 6 + .short _0206EE84 - _0206EE74 - 2; case 7 +_0206EE84: mov r1, #0xa5 lsl r1, r1, #0x2 add r0, r0, r1 mov r2, #0x32 b _0206EEC8 _0206EE8E: - .byte 0xA5, 0x22 - .byte 0x1A, 0xE0, 0x14, 0x49, 0x40, 0x22, 0x40, 0x18, 0x16, 0xE0, 0x13, 0x49, 0x28, 0x22, 0x40, 0x18 - .byte 0x12, 0xE0, 0x12, 0x49, 0x0F, 0x22, 0x40, 0x18, 0x0E, 0xE0, 0x11, 0x49, 0x1E, 0x22, 0x40, 0x18 - .byte 0x0A, 0xE0, 0x10, 0x49, 0x0C, 0x22, 0x40, 0x18, 0x06, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x40, 0x18 - .byte 0x64, 0x22, 0x01, 0xE0 + mov r2, #0xa5 + b _0206EEC8 +_0206EE92: + ldr r1, _0206EEE4 ; =0x000005BC + mov r2, #0x40 + add r0, r0, r1 + b _0206EEC8 +_0206EE9A: + ldr r1, _0206EEE8 ; =0x0000051C + mov r2, #0x28 + add r0, r0, r1 + b _0206EEC8 +_0206EEA2: + ldr r1, _0206EEEC ; =0x000006BC + mov r2, #0xf + add r0, r0, r1 + b _0206EEC8 +_0206EEAA: + ldr r1, _0206EEF0 ; =0x000006F8 + mov r2, #0x1e + add r0, r0, r1 + b _0206EEC8 +_0206EEB2: + ldr r1, _0206EEF4 ; =0x000004EC + mov r2, #0xc + add r0, r0, r1 + b _0206EEC8 +_0206EEBA: + mov r1, #0xd7 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r2, #0x64 + b _0206EEC8 _0206EEC4: mov r0, #0x0 bx lr @@ -206936,9 +233915,12 @@ _0206EED8: _0206EEE0: mov r0, #0x0 bx lr -_0206EEE4: - .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 - .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + .balign 4 +_0206EEE4: .word 0x000005BC +_0206EEE8: .word 0x0000051C +_0206EEEC: .word 0x000006BC +_0206EEF0: .word 0x000006F8 +_0206EEF4: .word 0x000004EC thumb_func_start FUN_0206EEF8 FUN_0206EEF8: ; 0x0206EEF8 @@ -207109,14 +234091,16 @@ _0206F004: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r4, #0 - lsl r4, r0, #0x1 - lsl r6, r2, #0x1 - lsl r4, r1, #0x2 - lsl r2, r6, #0 - lsl r2, r7, #0x1 - lsl r0, r5, #0x1 - lsl r6, r1, #0 +_0206F016: ; jump table (using 16-bit offset) + .short _0206F03A - _0206F016 - 2; case 0 + .short _0206F05C - _0206F016 - 2; case 1 + .short _0206F06E - _0206F016 - 2; case 2 + .short _0206F0A4 - _0206F016 - 2; case 3 + .short _0206F04A - _0206F016 - 2; case 4 + .short _0206F092 - _0206F016 - 2; case 5 + .short _0206F080 - _0206F016 - 2; case 6 + .short _0206F026 - _0206F016 - 2; case 7 +_0206F026: mov r1, #0xa5 lsl r1, r1, #0x2 lsl r3, r4, #0x18 @@ -207127,15 +234111,67 @@ _0206F004: bl FUN_0206E330 b _0206F0B6 _0206F03A: - .byte 0x23, 0x06, 0x30, 0x1C, 0x29, 0x1C - .byte 0x00, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x74, 0xF9, 0x35, 0xE0, 0x1E, 0x49, 0x23, 0x06, 0x30, 0x1C - .byte 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x6B, 0xF9, 0x2C, 0xE0, 0x1A, 0x49, 0x23, 0x06 - .byte 0x30, 0x1C, 0x69, 0x18, 0x01, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x62, 0xF9, 0x23, 0xE0, 0x17, 0x49 - .byte 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x02, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x59, 0xF9, 0x1A, 0xE0 - .byte 0x13, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x06, 0x22, 0x1B, 0x0E, 0xFF, 0xF7, 0x50, 0xF9 - .byte 0x11, 0xE0, 0x10, 0x49, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x05, 0x22, 0x1B, 0x0E, 0xFF, 0xF7 - .byte 0x47, 0xF9, 0x08, 0xE0, 0xD7, 0x21, 0x89, 0x00, 0x23, 0x06, 0x30, 0x1C, 0x69, 0x18, 0x03, 0x22 - .byte 0x1B, 0x0E, 0xFF, 0xF7, 0x3D, 0xF9 + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F04A: + ldr r1, _0206F0C4 ; =0x000005BC + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x4 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F05C: + ldr r1, _0206F0C8 ; =0x0000051C + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x1 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F06E: + ldr r1, _0206F0CC ; =0x000006BC + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x2 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F080: + ldr r1, _0206F0D0 ; =0x000006F8 + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x6 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F092: + ldr r1, _0206F0D4 ; =0x000004EC + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x5 + lsr r3, r3, #0x18 + bl FUN_0206E330 + b _0206F0B6 +_0206F0A4: + mov r1, #0xd7 + lsl r1, r1, #0x2 + lsl r3, r4, #0x18 + add r0, r6, #0x0 + add r1, r5, r1 + mov r2, #0x3 + lsr r3, r3, #0x18 + bl FUN_0206E330 _0206F0B6: add r4, r4, #0x1 ldrb r0, [r7, r4] @@ -207145,9 +234181,11 @@ _0206F0BE: add r0, r6, #0x0 pop {r3-r7, pc} nop -_0206F0C4: - .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 - .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 +_0206F0C4: .word 0x000005BC +_0206F0C8: .word 0x0000051C +_0206F0CC: .word 0x000006BC +_0206F0D0: .word 0x000006F8 +_0206F0D4: .word 0x000004EC thumb_func_start FUN_0206F0D8 FUN_0206F0D8: ; 0x0206F0D8 @@ -207159,24 +234197,54 @@ FUN_0206F0D8: ; 0x0206F0D8 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r3, #0 - lsl r4, r4, #0 - lsl r4, r5, #0 - lsl r4, r0, #0x1 - lsl r4, r3, #0 - lsl r4, r7, #0 - lsl r4, r6, #0 - lsl r6, r1, #0 +_0206F0E8: ; jump table (using 16-bit offset) + .short _0206F102 - _0206F0E8 - 2; case 0 + .short _0206F10E - _0206F0E8 - 2; case 1 + .short _0206F116 - _0206F0E8 - 2; case 2 + .short _0206F12E - _0206F0E8 - 2; case 3 + .short _0206F106 - _0206F0E8 - 2; case 4 + .short _0206F126 - _0206F0E8 - 2; case 5 + .short _0206F11E - _0206F0E8 - 2; case 6 + .short _0206F0F8 - _0206F0E8 - 2; case 7 +_0206F0F8: mov r1, #0xa5 lsl r1, r1, #0x2 add r0, r0, r1 mov r3, #0x32 b _0206F136 _0206F102: - .byte 0xA5, 0x23, 0x17, 0xE0, 0x0F, 0x49, 0x40, 0x23, 0x40, 0x18, 0x13, 0xE0, 0x0E, 0x49 - .byte 0x28, 0x23, 0x40, 0x18, 0x0F, 0xE0, 0x0D, 0x49, 0x0F, 0x23, 0x40, 0x18, 0x0B, 0xE0, 0x0C, 0x49 - .byte 0x1E, 0x23, 0x40, 0x18, 0x07, 0xE0, 0x0B, 0x49, 0x0C, 0x23, 0x40, 0x18, 0x03, 0xE0, 0xD7, 0x21 - .byte 0x89, 0x00, 0x40, 0x18, 0x64, 0x23 + mov r3, #0xa5 + b _0206F136 +_0206F106: + ldr r1, _0206F144 ; =0x000005BC + mov r3, #0x40 + add r0, r0, r1 + b _0206F136 +_0206F10E: + ldr r1, _0206F148 ; =0x0000051C + mov r3, #0x28 + add r0, r0, r1 + b _0206F136 +_0206F116: + ldr r1, _0206F14C ; =0x000006BC + mov r3, #0xf + add r0, r0, r1 + b _0206F136 +_0206F11E: + ldr r1, _0206F150 ; =0x000006F8 + mov r3, #0x1e + add r0, r0, r1 + b _0206F136 +_0206F126: + ldr r1, _0206F154 ; =0x000004EC + mov r3, #0xc + add r0, r0, r1 + b _0206F136 +_0206F12E: + mov r1, #0xd7 + lsl r1, r1, #0x2 + add r0, r0, r1 + mov r3, #0x64 _0206F136: cmp r2, r3 blo _0206F13E @@ -207186,9 +234254,12 @@ _0206F13E: lsl r1, r2, #0x2 add r0, r0, r1 bx lr -_0206F144: - .byte 0xBC, 0x05, 0x00, 0x00, 0x1C, 0x05, 0x00, 0x00, 0xBC, 0x06, 0x00, 0x00 - .byte 0xF8, 0x06, 0x00, 0x00, 0xEC, 0x04, 0x00, 0x00 + .balign 4 +_0206F144: .word 0x000005BC +_0206F148: .word 0x0000051C +_0206F14C: .word 0x000006BC +_0206F150: .word 0x000006F8 +_0206F154: .word 0x000004EC thumb_func_start FUN_0206F158 FUN_0206F158: ; 0x0206F158 @@ -207324,21 +234395,24 @@ _0206F20A: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0 - lsl r4, r3, #0 - lsl r2, r0, #0x1 - lsl r4, r2, #0x1 - lsl r2, r0, #0x4 - lsl r0, r3, #0x4 - lsl r6, r3, #0x4 - lsl r4, r5, #0x4 - lsl r2, r6, #0x4 - lsl r6, r1, #0x5 - lsl r6, r1, #0x5 - lsl r6, r1, #0x5 +_0206F216: ; jump table (using 16-bit offset) + .short _0206F22E - _0206F216 - 2; case 0 + .short _0206F234 - _0206F216 - 2; case 1 + .short _0206F25A - _0206F216 - 2; case 2 + .short _0206F26C - _0206F216 - 2; case 3 + .short _0206F31A - _0206F216 - 2; case 4 + .short _0206F330 - _0206F216 - 2; case 5 + .short _0206F336 - _0206F216 - 2; case 6 + .short _0206F344 - _0206F216 - 2; case 7 + .short _0206F34A - _0206F216 - 2; case 8 + .short _0206F366 - _0206F216 - 2; case 9 + .short _0206F366 - _0206F216 - 2; case 10 + .short _0206F366 - _0206F216 - 2; case 11 +_0206F22E: ldr r1, [r5, #0xc] ldr r0, [r4, #0x0] str r1, [r0, #0x0] +_0206F234: ldr r0, [r4, #0x4] add r0, r0, #0x1 str r0, [r4, #0x4] @@ -207360,33 +234434,167 @@ _0206F24E: strh r1, [r0, #0x0] b _0206F380 _0206F25A: - .byte 0x4A, 0x49, 0x22, 0x68, 0x30, 0x1C - .byte 0xD7, 0xF7, 0x4E, 0xF9, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x89, 0xE0, 0xE8, 0x68, 0xC4, 0xF7 - .byte 0xED, 0xFA, 0x00, 0x28, 0x04, 0xD0, 0xE8, 0x68, 0xD7, 0xF7, 0x18, 0xF8, 0xF0, 0xF7, 0x42, 0xF8 - .byte 0x20, 0x68, 0x40, 0x68, 0x0A, 0x28, 0x7B, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04 - .byte 0x00, 0x14, 0x87, 0x44, 0xEA, 0x00, 0x22, 0x00, 0x30, 0x00, 0x14, 0x00, 0x4A, 0x00, 0x58, 0x00 - .byte 0x3E, 0x00, 0x66, 0x00, 0x78, 0x00, 0x7E, 0x00, 0x6C, 0x00, 0x00, 0x20, 0x20, 0x73, 0x01, 0x20 - .byte 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x63, 0xE0, 0x32, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73 - .byte 0x04, 0x20, 0x60, 0x60, 0x5C, 0xE0, 0x64, 0x20, 0x20, 0x73, 0x01, 0x20, 0x60, 0x73, 0x04, 0x20 - .byte 0x60, 0x60, 0x55, 0xE0, 0x00, 0x20, 0x20, 0x73, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x4F, 0xE0 - .byte 0x32, 0x20, 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x48, 0xE0, 0x64, 0x20 - .byte 0x20, 0x73, 0x00, 0x20, 0x60, 0x73, 0x04, 0x20, 0x60, 0x60, 0x41, 0xE0, 0x06, 0x20, 0x60, 0x60 - .byte 0x3E, 0xE0, 0xA0, 0x68, 0x01, 0x21, 0x01, 0x80, 0x0B, 0x20, 0x60, 0x60, 0x38, 0xE0, 0x09, 0x20 - .byte 0x60, 0x60, 0x35, 0xE0, 0x08, 0x20, 0x60, 0x60, 0x32, 0xE0, 0x21, 0x68, 0x22, 0x7B, 0x63, 0x7B - .byte 0x89, 0x68, 0x30, 0x1C, 0xD7, 0xF7, 0x4C, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x27, 0xE0 - .byte 0x02, 0x20, 0x60, 0x60, 0x24, 0xE0, 0x30, 0x1C, 0xC9, 0xF7, 0x4E, 0xF8, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x1A, 0xE0, 0x0F, 0x4A, 0x03, 0x20, 0x36, 0x21 - .byte 0xA7, 0xF7, 0x64, 0xFA, 0x19, 0xF0, 0x90, 0xFA, 0x36, 0x20, 0xA2, 0xF1, 0x81, 0xFD, 0x00, 0x20 - .byte 0x5E, 0xF0, 0x28, 0xE8, 0x0C, 0xE0, 0x20, 0x68, 0xA7, 0xF7, 0x56, 0xFB, 0x20, 0x1C, 0xA7, 0xF7 - .byte 0x53, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x01, 0x20, 0x70, 0xBD + ldr r1, _0206F384 ; =0x020F943C + ldr r2, [r4, #0x0] + add r0, r6, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206F380 +_0206F26C: + ldr r0, [r5, #0xc] + bl FUN_0203384C + cmp r0, #0x0 + beq _0206F280 + ldr r0, [r5, #0xc] + bl FUN_020462AC + bl FUN_0205F304 +_0206F280: + ldr r0, [r4, #0x0] + ldr r0, [r0, #0x4] + cmp r0, #0xa + bhi _0206F380 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0206F294: ; jump table (using 16-bit offset) + .short _0206F380 - _0206F294 - 2; case 0 + .short _0206F2B8 - _0206F294 - 2; case 1 + .short _0206F2C6 - _0206F294 - 2; case 2 + .short _0206F2AA - _0206F294 - 2; case 3 + .short _0206F2E0 - _0206F294 - 2; case 4 + .short _0206F2EE - _0206F294 - 2; case 5 + .short _0206F2D4 - _0206F294 - 2; case 6 + .short _0206F2FC - _0206F294 - 2; case 7 + .short _0206F30E - _0206F294 - 2; case 8 + .short _0206F314 - _0206F294 - 2; case 9 + .short _0206F302 - _0206F294 - 2; case 10 +_0206F2AA: + mov r0, #0x0 + strb r0, [r4, #0xc] + mov r0, #0x1 + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2B8: + mov r0, #0x32 + strb r0, [r4, #0xc] + mov r0, #0x1 + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2C6: + mov r0, #0x64 + strb r0, [r4, #0xc] + mov r0, #0x1 + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2D4: + mov r0, #0x0 + strb r0, [r4, #0xc] + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2E0: + mov r0, #0x32 + strb r0, [r4, #0xc] + mov r0, #0x0 + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2EE: + mov r0, #0x64 + strb r0, [r4, #0xc] + mov r0, #0x0 + strb r0, [r4, #0xd] + mov r0, #0x4 + str r0, [r4, #0x4] + b _0206F380 +_0206F2FC: + mov r0, #0x6 + str r0, [r4, #0x4] + b _0206F380 +_0206F302: + ldr r0, [r4, #0x8] + mov r1, #0x1 + strh r1, [r0, #0x0] + mov r0, #0xb + str r0, [r4, #0x4] + b _0206F380 +_0206F30E: + mov r0, #0x9 + str r0, [r4, #0x4] + b _0206F380 +_0206F314: + mov r0, #0x8 + str r0, [r4, #0x4] + b _0206F380 +_0206F31A: + ldr r1, [r4, #0x0] + ldrb r2, [r4, #0xc] + ldrb r3, [r4, #0xd] + ldr r1, [r1, #0x8] + add r0, r6, #0x0 + bl FUN_020471C0 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206F380 +_0206F330: + mov r0, #0x2 + str r0, [r4, #0x4] + b _0206F380 +_0206F336: + add r0, r6, #0x0 + bl FUN_020383D8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _0206F380 +_0206F344: + mov r0, #0x2 + str r0, [r4, #0x4] + b _0206F380 +_0206F34A: + ldr r2, _0206F388 ; =0x00040100 + mov r0, #0x3 + mov r1, #0x36 + bl FUN_0201681C + bl FUN_02088878 + mov r0, #0x36 + bl FUN_02211E60 + mov r0, #0x0 + blx FUN_020CD3B4 + b _0206F380 +_0206F366: + ldr r0, [r4, #0x0] + bl FUN_02016A18 + add r0, r4, #0x0 + bl FUN_02016A18 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + mov r0, #0x1 + pop {r4-r6, pc} _0206F37C: mov r0, #0x1 pop {r4-r6, pc} _0206F380: mov r0, #0x0 pop {r4-r6, pc} -_0206F384: - .byte 0x3C, 0x94, 0x0F, 0x02, 0x00, 0x01, 0x04, 0x00 + .balign 4 +_0206F384: .word 0x020F943C +_0206F388: .word 0x00040100 thumb_func_start FUN_0206F38C FUN_0206F38C: ; 0x0206F38C @@ -207649,62 +234857,184 @@ FUN_0206F5AC: ; 0x0206F5AC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r7, #0 - lsl r0, r0, #0x1 - lsl r0, r1, #0x1 - lsl r2, r3, #0x1 - lsl r2, r4, #0x1 - lsl r2, r5, #0x1 - lsl r4, r6, #0x1 - lsl r4, r7, #0x1 - lsl r4, r0, #0x2 - lsl r4, r1, #0x2 - lsl r4, r2, #0x2 - lsl r4, r3, #0x2 - lsl r4, r4, #0x2 - lsl r4, r5, #0x2 - lsl r4, r6, #0x2 - lsl r4, r7, #0x2 - lsl r4, r0, #0x3 - lsl r4, r1, #0x3 - lsl r4, r2, #0x3 - lsl r4, r3, #0x3 - lsl r4, r4, #0x3 - lsl r4, r5, #0x3 - lsl r4, r6, #0x3 - lsl r4, r7, #0x3 - lsl r4, r0, #0x4 - lsl r4, r3, #0x4 - lsl r2, r5, #0x4 - lsl r2, r6, #0x4 - lsl r0, r0, #0x5 +_0206F5C8: ; jump table (using 16-bit offset) + .short _0206F602 - _0206F5C8 - 2; case 0 + .short _0206F60A - _0206F5C8 - 2; case 1 + .short _0206F612 - _0206F5C8 - 2; case 2 + .short _0206F624 - _0206F5C8 - 2; case 3 + .short _0206F62C - _0206F5C8 - 2; case 4 + .short _0206F634 - _0206F5C8 - 2; case 5 + .short _0206F63E - _0206F5C8 - 2; case 6 + .short _0206F646 - _0206F5C8 - 2; case 7 + .short _0206F64E - _0206F5C8 - 2; case 8 + .short _0206F656 - _0206F5C8 - 2; case 9 + .short _0206F65E - _0206F5C8 - 2; case 10 + .short _0206F666 - _0206F5C8 - 2; case 11 + .short _0206F66E - _0206F5C8 - 2; case 12 + .short _0206F676 - _0206F5C8 - 2; case 13 + .short _0206F67E - _0206F5C8 - 2; case 14 + .short _0206F686 - _0206F5C8 - 2; case 15 + .short _0206F68E - _0206F5C8 - 2; case 16 + .short _0206F696 - _0206F5C8 - 2; case 17 + .short _0206F69E - _0206F5C8 - 2; case 18 + .short _0206F6A6 - _0206F5C8 - 2; case 19 + .short _0206F6AE - _0206F5C8 - 2; case 20 + .short _0206F6B6 - _0206F5C8 - 2; case 21 + .short _0206F6BE - _0206F5C8 - 2; case 22 + .short _0206F6C6 - _0206F5C8 - 2; case 23 + .short _0206F6CE - _0206F5C8 - 2; case 24 + .short _0206F6E6 - _0206F5C8 - 2; case 25 + .short _0206F6F4 - _0206F5C8 - 2; case 26 + .short _0206F6FC - _0206F5C8 - 2; case 27 + .short _0206F70A - _0206F5C8 - 2; case 28 +_0206F602: bl FUN_0206F750 str r0, [r4, #0x0] b _0206F722 _0206F60A: - .byte 0x00, 0xF0, 0xE5, 0xF8, 0x20, 0x60 - .byte 0x87, 0xE0, 0x21, 0x1C, 0x02, 0xF0, 0x5A, 0xF9, 0x01, 0x28, 0x00, 0xD0 + bl FUN_0206F7D8 + str r0, [r4, #0x0] + b _0206F722 +_0206F612: + add r1, r4, #0x0 + bl FUN_020718CC + cmp r0, #0x1 + beq _0206F61E _0206F61C: b _0206F722 _0206F61E: - .byte 0x01, 0x20 - .byte 0x20, 0x60, 0x7E, 0xE0, 0x05, 0xF0, 0x54, 0xFF, 0x20, 0x60, 0x7A, 0xE0, 0x00, 0xF0, 0x22, 0xF9 - .byte 0x20, 0x60, 0x76, 0xE0, 0x42, 0x49, 0x69, 0x58, 0x88, 0x47, 0x20, 0x60, 0x71, 0xE0, 0x07, 0xF0 - .byte 0x67, 0xFD, 0x20, 0x60, 0x6D, 0xE0, 0x06, 0xF0, 0xAB, 0xFD, 0x20, 0x60, 0x69, 0xE0, 0x00, 0xF0 - .byte 0x31, 0xF9, 0x20, 0x60, 0x65, 0xE0, 0x02, 0xF0, 0x8B, 0xFD, 0x20, 0x60, 0x61, 0xE0, 0x02, 0xF0 - .byte 0x99, 0xFD, 0x20, 0x60, 0x5D, 0xE0, 0x02, 0xF0, 0x6B, 0xFD, 0x20, 0x60, 0x59, 0xE0, 0x02, 0xF0 - .byte 0x4D, 0xFE, 0x20, 0x60, 0x55, 0xE0, 0x00, 0xF0, 0x3D, 0xF9, 0x20, 0x60, 0x51, 0xE0, 0x02, 0xF0 - .byte 0x6B, 0xFC, 0x20, 0x60, 0x4D, 0xE0, 0x04, 0xF0, 0xE9, 0xFC, 0x20, 0x60, 0x49, 0xE0, 0x04, 0xF0 - .byte 0x6D, 0xFE, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0xBD, 0xF9, 0x20, 0x60, 0x41, 0xE0, 0x07, 0xF0 - .byte 0x4D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x05, 0xF0, 0x61, 0xFC, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0 - .byte 0x67, 0xF9, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x75, 0xF9, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0 - .byte 0x83, 0xF9, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x85, 0xF9, 0x20, 0x60, 0x29, 0xE0, 0x01, 0xF0 - .byte 0xFF, 0xFE, 0x00, 0x28, 0x02, 0xD1, 0x19, 0x20, 0x20, 0x60, 0x22, 0xE0, 0x03, 0x28, 0x20, 0xD1 - .byte 0x01, 0x20, 0x20, 0x60, 0x1D, 0xE0, 0x04, 0xF0, 0xF5, 0xFF, 0x01, 0x28, 0x19, 0xD1, 0x01, 0x20 - .byte 0x20, 0x60, 0x16, 0xE0, 0x02, 0xF0, 0x3C, 0xF9, 0x20, 0x60, 0x12, 0xE0, 0x01, 0x20, 0x0C, 0x21 - .byte 0x0A, 0xF0, 0xB6, 0xF9, 0x1C, 0x20, 0x20, 0x60, 0x0B, 0xE0, 0x9E, 0xF7, 0xFD, 0xFD, 0x01, 0x28 - .byte 0x07, 0xD1, 0x0C, 0x48, 0x29, 0x5C, 0x0C, 0x48, 0x28, 0x58, 0x22, 0x30, 0x01, 0x70, 0x01, 0x20 - .byte 0x38, 0xBD + mov r0, #0x1 + str r0, [r4, #0x0] + b _0206F722 +_0206F624: + bl FUN_020754D0 + str r0, [r4, #0x0] + b _0206F722 +_0206F62C: + bl FUN_0206F874 + str r0, [r4, #0x0] + b _0206F722 +_0206F634: + ldr r1, _0206F740 ; =0x00000B14 + ldr r1, [r5, r1] + blx r1 + str r0, [r4, #0x0] + b _0206F722 +_0206F63E: + bl FUN_02077110 + str r0, [r4, #0x0] + b _0206F722 +_0206F646: + bl FUN_020761A0 + str r0, [r4, #0x0] + b _0206F722 +_0206F64E: + bl FUN_0206F8B4 + str r0, [r4, #0x0] + b _0206F722 +_0206F656: + bl FUN_02072170 + str r0, [r4, #0x0] + b _0206F722 +_0206F65E: + bl FUN_02072194 + str r0, [r4, #0x0] + b _0206F722 +_0206F666: + bl FUN_02072140 + str r0, [r4, #0x0] + b _0206F722 +_0206F66E: + bl FUN_0207230C + str r0, [r4, #0x0] + b _0206F722 +_0206F676: + bl FUN_0206F8F4 + str r0, [r4, #0x0] + b _0206F722 +_0206F67E: + bl FUN_02071F58 + str r0, [r4, #0x0] + b _0206F722 +_0206F686: + bl FUN_0207405C + str r0, [r4, #0x0] + b _0206F722 +_0206F68E: + bl FUN_0207436C + str r0, [r4, #0x0] + b _0206F722 +_0206F696: + bl FUN_0206FA14 + str r0, [r4, #0x0] + b _0206F722 +_0206F69E: + bl FUN_02076D3C + str r0, [r4, #0x0] + b _0206F722 +_0206F6A6: + bl FUN_02074F6C + str r0, [r4, #0x0] + b _0206F722 +_0206F6AE: + bl FUN_0206F980 + str r0, [r4, #0x0] + b _0206F722 +_0206F6B6: + bl FUN_0206F9A4 + str r0, [r4, #0x0] + b _0206F722 +_0206F6BE: + bl FUN_0206F9C8 + str r0, [r4, #0x0] + b _0206F722 +_0206F6C6: + bl FUN_0206F9D4 + str r0, [r4, #0x0] + b _0206F722 +_0206F6CE: + bl FUN_020714D0 + cmp r0, #0x0 + bne _0206F6DC + mov r0, #0x19 + str r0, [r4, #0x0] + b _0206F722 +_0206F6DC: + cmp r0, #0x3 + bne _0206F722 + mov r0, #0x1 + str r0, [r4, #0x0] + b _0206F722 +_0206F6E6: + bl FUN_020746D4 + cmp r0, #0x1 + bne _0206F722 + mov r0, #0x1 + str r0, [r4, #0x0] + b _0206F722 +_0206F6F4: + bl FUN_02071970 + str r0, [r4, #0x0] + b _0206F722 +_0206F6FC: + mov r0, #0x1 + mov r1, #0xc + bl FUN_02079A70 + mov r0, #0x1c + str r0, [r4, #0x0] + b _0206F722 +_0206F70A: + bl FUN_0200E308 + cmp r0, #0x1 + bne _0206F722 + ldr r0, _0206F744 ; =0x00000B25 + ldrb r1, [r5, r0] + ldr r0, _0206F748 ; =0x000005A4 + ldr r0, [r5, r0] + add r0, #0x22 + strb r1, [r0, #0x0] + mov r0, #0x1 + pop {r3-r5, pc} _0206F722: add r0, r5, #0x0 bl FUN_02073BEC @@ -207717,8 +235047,10 @@ _0206F722: bl FUN_0200BC1C mov r0, #0x0 pop {r3-r5, pc} -_0206F740: - .byte 0x14, 0x0B, 0x00, 0x00, 0x25, 0x0B, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 + .balign 4 +_0206F740: .word 0x00000B14 +_0206F744: .word 0x00000B25 +_0206F748: .word 0x000005A4 _0206F74C: .word 0x000005AC thumb_func_start FUN_0206F750 @@ -209123,11 +236455,13 @@ _020702B2: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r0, r7, #0 - lsl r0, r5, #0x1 - lsl r0, r3, #0x2 - lsl r0, r1, #0x3 +_020702BE: ; jump table (using 16-bit offset) + .short _020702C8 - _020702BE - 2; case 0 + .short _020702F8 - _020702BE - 2; case 1 + .short _02070328 - _020702BE - 2; case 2 + .short _02070358 - _020702BE - 2; case 3 + .short _02070388 - _020702BE - 2; case 4 +_020702C8: mov r1, #0x7a mov r2, #0x0 bl FUN_020671BC @@ -209149,19 +236483,88 @@ _020702B2: add r4, r4, r0 b _020703B6 _020702F8: - .byte 0x7E, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x5E, 0xFF - .byte 0x04, 0x1C, 0x28, 0x1C, 0x7F, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x58, 0xFF, 0x24, 0x18, 0x28, 0x1C - .byte 0x80, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x52, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x81, 0x21, 0x00, 0x22 - .byte 0xF6, 0xF7, 0x4C, 0xFF, 0x24, 0x18, 0x46, 0xE0, 0x82, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x46, 0xFF - .byte 0x04, 0x1C, 0x28, 0x1C, 0x83, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x40, 0xFF, 0x24, 0x18, 0x28, 0x1C - .byte 0x84, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x3A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x85, 0x21, 0x00, 0x22 - .byte 0xF6, 0xF7, 0x34, 0xFF, 0x24, 0x18, 0x2E, 0xE0, 0x86, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x2E, 0xFF - .byte 0x04, 0x1C, 0x28, 0x1C, 0x87, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x28, 0xFF, 0x24, 0x18, 0x28, 0x1C - .byte 0x88, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x22, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x89, 0x21, 0x00, 0x22 - .byte 0xF6, 0xF7, 0x1C, 0xFF, 0x24, 0x18, 0x16, 0xE0, 0x8A, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x16, 0xFF - .byte 0x04, 0x1C, 0x28, 0x1C, 0x8B, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x10, 0xFF, 0x24, 0x18, 0x28, 0x1C - .byte 0x8C, 0x21, 0x00, 0x22, 0xF6, 0xF7, 0x0A, 0xFF, 0x24, 0x18, 0x28, 0x1C, 0x8D, 0x21, 0x00, 0x22 - .byte 0xF6, 0xF7, 0x04, 0xFF, 0x24, 0x18 + mov r1, #0x7e + mov r2, #0x0 + bl FUN_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x7f + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x80 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x81 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + b _020703B6 +_02070328: + mov r1, #0x82 + mov r2, #0x0 + bl FUN_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x83 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x84 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x85 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + b _020703B6 +_02070358: + mov r1, #0x86 + mov r2, #0x0 + bl FUN_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x87 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x88 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x89 + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + b _020703B6 +_02070388: + mov r1, #0x8a + mov r2, #0x0 + bl FUN_020671BC + add r4, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x8b + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x8c + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 + add r0, r5, #0x0 + mov r1, #0x8d + mov r2, #0x0 + bl FUN_020671BC + add r4, r4, r0 _020703B6: add r0, r4, #0x0 pop {r3-r5, pc} @@ -211433,22 +238836,44 @@ _02071574: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r4, r1, #0 - lsl r0, r3, #0 - lsl r4, r4, #0 - lsl r0, r6, #0 - lsl r4, r7, #0 +_02071596: ; jump table (using 16-bit offset) + .short _020715E0 - _02071596 - 2; case 0 + .short _020715E0 - _02071596 - 2; case 1 + .short _020715A4 - _02071596 - 2; case 2 + .short _020715B0 - _02071596 - 2; case 3 + .short _020715BC - _02071596 - 2; case 4 + .short _020715C8 - _02071596 - 2; case 5 + .short _020715D4 - _02071596 - 2; case 6 +_020715A4: add r0, r4, #0x0 mov r1, #0x6b mov r2, #0x1 bl FUN_020731E8 b _020715EA _020715B0: - .byte 0x20, 0x1C, 0x77, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x17, 0xFE, 0x16, 0xE0, 0x20, 0x1C, 0x78, 0x21 - .byte 0x01, 0x22, 0x01, 0xF0, 0x11, 0xFE, 0x10, 0xE0, 0x20, 0x1C, 0x79, 0x21, 0x01, 0x22, 0x01, 0xF0 - .byte 0x0B, 0xFE, 0x0A, 0xE0, 0x20, 0x1C, 0x7A, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x05, 0xFE, 0x04, 0xE0 + add r0, r4, #0x0 + mov r1, #0x77 + mov r2, #0x1 + bl FUN_020731E8 + b _020715EA +_020715BC: + add r0, r4, #0x0 + mov r1, #0x78 + mov r2, #0x1 + bl FUN_020731E8 + b _020715EA +_020715C8: + add r0, r4, #0x0 + mov r1, #0x79 + mov r2, #0x1 + bl FUN_020731E8 + b _020715EA +_020715D4: + add r0, r4, #0x0 + mov r1, #0x7a + mov r2, #0x1 + bl FUN_020731E8 + b _020715EA _020715E0: add r0, r4, #0x0 mov r1, #0x1d @@ -211486,10 +238911,12 @@ _02071606: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r4, #0x2 - lsl r6, r0, #0 - lsl r0, r5, #0x1 - lsl r4, r0, #0x2 +_02071628: ; jump table (using 16-bit offset) + .short _020716CA - _02071628 - 2; case 0 + .short _02071630 - _02071628 - 2; case 1 + .short _02071692 - _02071628 - 2; case 2 + .short _020716AE - _02071628 - 2; case 3 +_02071630: ldr r0, _02071748 ; =0x0000069C mov r1, #0xb8 ldr r0, [r4, r0] @@ -211533,10 +238960,31 @@ _02071606: mov r0, #0x14 pop {r3-r5, pc} _02071692: - .byte 0x20, 0x1C, 0xB6, 0x21, 0x01, 0x22, 0x01, 0xF0, 0xA6, 0xFD, 0x27, 0x48, 0x13, 0x21 - .byte 0x21, 0x54, 0x27, 0x48, 0x93, 0xF7, 0x10, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD, 0x20, 0x1C - .byte 0xB7, 0x21, 0x01, 0x22, 0x01, 0xF0, 0x98, 0xFD, 0x20, 0x48, 0x13, 0x21, 0x21, 0x54, 0x20, 0x48 - .byte 0x93, 0xF7, 0x02, 0xFF, 0x02, 0xB0, 0x14, 0x20, 0x38, 0xBD + add r0, r4, #0x0 + mov r1, #0xb6 + mov r2, #0x1 + bl FUN_020731E8 + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl FUN_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} +_020716AE: + add r0, r4, #0x0 + mov r1, #0xb7 + mov r2, #0x1 + bl FUN_020731E8 + ldr r0, _0207173C ; =0x00000B22 + mov r1, #0x13 + strb r1, [r4, r0] + ldr r0, _02071740 ; =0x000005F2 + bl FUN_020054C8 + add sp, #0x8 + mov r0, #0x14 + pop {r3-r5, pc} _020716CA: ldr r0, _02071738 ; =0x000005A4 ldr r0, [r4, r0] @@ -211902,11 +239350,13 @@ FUN_02071970: ; 0x02071970 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r1, #0 - lsl r6, r0, #0x5 - lsl r0, r0, #0x6 - lsl r0, r5, #0x6 - lsl r4, r2, #0x9 +_0207198A: ; jump table (using 16-bit offset) + .short _02071994 - _0207198A - 2; case 0 + .short _02071AD2 - _0207198A - 2; case 1 + .short _02071B0C - _0207198A - 2; case 2 + .short _02071B34 - _0207198A - 2; case 3 + .short _02071BE0 - _0207198A - 2; case 4 +_02071994: ldr r2, _02071C1C ; =0x021C48B8 ldr r3, [r2, #0x48] mov r2, #0x1 @@ -212065,27 +239515,149 @@ _02071AC6: mov r0, #0x1a pop {r4-r6, pc} _02071AD2: - .byte 0x52, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x00, 0xD1, 0x99, 0xE0, 0x50, 0x48 - .byte 0x93, 0xF7, 0xF2, 0xFC, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0xF8, 0xFA - .byte 0x4D, 0x48, 0x00, 0x21, 0x20, 0x58, 0x9A, 0xF7, 0xB5, 0xFD, 0x20, 0x1C, 0x24, 0x21, 0x01, 0x22 - .byte 0x01, 0xF0, 0x5E, 0xFB, 0x44, 0x48, 0x00, 0x21, 0x21, 0x52, 0x82, 0xE0, 0xC9, 0x1F, 0x61, 0x5C - .byte 0x00, 0x22, 0xD2, 0x43, 0x89, 0x06, 0x89, 0x0E, 0x00, 0xF0, 0xCC, 0xF8, 0x01, 0x28, 0x78, 0xD1 - .byte 0x40, 0x48, 0x93, 0xF7, 0xD1, 0xFC, 0x3C, 0x48, 0x03, 0x21, 0x21, 0x52, 0x00, 0x21, 0x80, 0x1C - .byte 0x21, 0x52, 0x6E, 0xE0, 0x49, 0x1F, 0x61, 0x5C, 0x01, 0x22, 0x00, 0xF0, 0xBB, 0xF8, 0x01, 0x28 - .byte 0x67, 0xD1, 0x3D, 0x48, 0x39, 0x49, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF9, 0xF7, 0x30, 0xFF - .byte 0x06, 0x1C, 0x3A, 0x48, 0x40, 0x21, 0x20, 0x58, 0x98, 0xF7, 0xDC, 0xFE, 0x05, 0x1C, 0x30, 0x1C - .byte 0xF7, 0xF7, 0xC0, 0xFA, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x99, 0xF7 - .byte 0xC3, 0xF8, 0x00, 0x20, 0x00, 0x90, 0x01, 0x21, 0x6A, 0x20, 0x31, 0x4A, 0x01, 0x91, 0x00, 0x01 - .byte 0xA2, 0x5A, 0x20, 0x58, 0x03, 0x23, 0x99, 0xF7, 0xD7, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 - .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x99, 0xF7, 0x0F, 0xFE, 0x28, 0x1C, 0xAF, 0xF7, 0x40, 0xFF - .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0x01, 0xF0, 0x1E, 0xFB, 0x25, 0x48, 0x00, 0x21 - .byte 0x20, 0x5A, 0x0C, 0x22, 0x00, 0x06, 0x00, 0x0E, 0xB7, 0xF7, 0xC8, 0xFA, 0x01, 0x1C, 0x1E, 0x48 - .byte 0x01, 0x22, 0x20, 0x58, 0xC0, 0x69, 0x98, 0x30, 0x00, 0x68, 0xB6, 0xF7, 0x83, 0xFF, 0x12, 0x48 - .byte 0x04, 0x21, 0x21, 0x52, 0x1A, 0x21, 0x08, 0x38, 0x21, 0x54, 0x02, 0xB0, 0x14, 0x20, 0x70, 0xBD - .byte 0x0E, 0x48, 0x81, 0x6C, 0x03, 0x20, 0x08, 0x42, 0x13, 0xD0, 0x0D, 0x48, 0x93, 0xF7, 0x6C, 0xFC - .byte 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0x9B, 0xF7, 0x72, 0xFA, 0x0A, 0x48, 0x00, 0x21 - .byte 0x20, 0x58, 0x9A, 0xF7, 0x2F, 0xFD, 0x20, 0x1C, 0x02, 0xF0, 0x96, 0xFC, 0x02, 0xB0, 0x01, 0x20 - .byte 0x70, 0xBD + ldr r0, _02071C1C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + bne _02071ADE + b _02071C12 +_02071ADE: + ldr r0, _02071C20 ; =0x000005DC + bl FUN_020054C8 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl FUN_0200D0E0 + ldr r0, _02071C28 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl FUN_0200C664 + add r0, r4, #0x0 + mov r1, #0x24 + mov r2, #0x1 + bl FUN_020731C0 + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x0 + strh r1, [r4, r0] + b _02071C12 +_02071B0C: + sub r1, r1, #0x7 + ldrb r1, [r4, r1] + mov r2, #0x0 + mvn r2, r2 + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl FUN_02071CB4 + cmp r0, #0x1 + bne _02071C12 + ldr r0, _02071C24 ; =0x000005EC + bl FUN_020054C8 + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x3 + strh r1, [r4, r0] + mov r1, #0x0 + add r0, r0, #0x2 + strh r1, [r4, r0] + b _02071C12 +_02071B34: + sub r1, r1, #0x5 + ldrb r1, [r4, r1] + mov r2, #0x1 + bl FUN_02071CB4 + cmp r0, #0x1 + bne _02071C12 + ldr r0, _02071C38 ; =0x000005A4 + ldr r1, _02071C2C ; =0x00000B25 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl FUN_0206B9B0 + add r6, r0, #0x0 + ldr r0, _02071C3C ; =0x0000069C + mov r1, #0x40 + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl FUN_0200ACF8 + mov r0, #0x0 + str r0, [sp, #0x0] + mov r1, #0x1 + mov r0, #0x6a + ldr r2, _02071C40 ; =0x00000B2C + str r1, [sp, #0x4] + lsl r0, r0, #0x4 + ldrh r2, [r4, r2] + ldr r0, [r4, r0] + mov r3, #0x3 + bl FUN_0200AD38 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl FUN_020731E8 + ldr r0, _02071C44 ; =0x00000B2E + mov r1, #0x0 + ldrh r0, [r4, r0] + mov r2, #0xc + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0202914C + add r1, r0, #0x0 + ldr r0, _02071C38 ; =0x000005A4 + mov r2, #0x1 + ldr r0, [r4, r0] + ldr r0, [r0, #0x1c] + add r0, #0x98 + ldr r0, [r0, #0x0] + bl FUN_02028AD4 + ldr r0, _02071C18 ; =0x00000B2A + mov r1, #0x4 + strh r1, [r4, r0] + mov r1, #0x1a + sub r0, #0x8 + strb r1, [r4, r0] + add sp, #0x8 + mov r0, #0x14 + pop {r4-r6, pc} +_02071BE0: + ldr r0, _02071C1C ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02071C12 + ldr r0, _02071C20 ; =0x000005DC + bl FUN_020054C8 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl FUN_0200D0E0 + ldr r0, _02071C28 ; =0x000005C8 + mov r1, #0x0 + ldr r0, [r4, r0] + bl FUN_0200C664 + add r0, r4, #0x0 + bl FUN_02074538 + add sp, #0x8 + mov r0, #0x1 + pop {r4-r6, pc} _02071C12: mov r0, #0x1a add sp, #0x8 @@ -212099,9 +239671,10 @@ _02071C28: .word 0x000005C8 _02071C2C: .word 0x00000B25 _02071C30: .word 0x00000708 _02071C34: .word 0x000005F2 -_02071C38: - .byte 0xA4, 0x05, 0x00, 0x00, 0x9C, 0x06, 0x00, 0x00 - .byte 0x2C, 0x0B, 0x00, 0x00, 0x2E, 0x0B, 0x00, 0x00 +_02071C38: .word 0x000005A4 +_02071C3C: .word 0x0000069C +_02071C40: .word 0x00000B2C +_02071C44: .word 0x00000B2E thumb_func_start FUN_02071C48 FUN_02071C48: ; 0x02071C48 @@ -214074,21 +241647,52 @@ FUN_02072C28: ; 0x02072C28 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r2, r0, #0x1 - lsl r2, r5, #0 - lsl r2, r2, #0 - lsl r2, r2, #0 +_02072C64: ; jump table (using 16-bit offset) + .short _02072C6E - _02072C64 - 2; case 0 + .short _02072CA8 - _02072C64 - 2; case 1 + .short _02072C90 - _02072C64 - 2; case 2 + .short _02072C78 - _02072C64 - 2; case 3 + .short _02072C78 - _02072C64 - 2; case 4 +_02072C6E: add r0, r4, #0x0 bl FUN_02019220 add sp, #0xc pop {r4-r7, pc} _02072C78: - .byte 0x63, 0x7A, 0x25, 0x49, 0x01, 0x20, 0x1B, 0x01 - .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x93, 0xF9, 0x16, 0xE0 - .byte 0x63, 0x7A, 0x20, 0x49, 0x01, 0x20, 0x1B, 0x01, 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22 - .byte 0x1B, 0x0C, 0xA5, 0xF7, 0x87, 0xF9, 0x0A, 0xE0, 0x63, 0x7A, 0x1B, 0x49, 0x01, 0x20, 0x1B, 0x01 - .byte 0x09, 0x33, 0x5B, 0x04, 0x69, 0x18, 0x04, 0x22, 0x1B, 0x0C, 0xA5, 0xF7, 0x7B, 0xF9 + ldrb r3, [r4, #0x9] + ldr r1, _02072D10 ; =0x000004B6 + mov r0, #0x1 + lsl r3, r3, #0x4 + add r3, #0x9 + lsl r3, r3, #0x11 + add r1, r5, r1 + mov r2, #0x4 + lsr r3, r3, #0x10 + bl FUN_02017FB4 + b _02072CBE +_02072C90: + ldrb r3, [r4, #0x9] + ldr r1, _02072D14 ; =0x000004D6 + mov r0, #0x1 + lsl r3, r3, #0x4 + add r3, #0x9 + lsl r3, r3, #0x11 + add r1, r5, r1 + mov r2, #0x4 + lsr r3, r3, #0x10 + bl FUN_02017FB4 + b _02072CBE +_02072CA8: + ldrb r3, [r4, #0x9] + ldr r1, _02072D18 ; =0x000004F6 + mov r0, #0x1 + lsl r3, r3, #0x4 + add r3, #0x9 + lsl r3, r3, #0x11 + add r1, r5, r1 + mov r2, #0x4 + lsr r3, r3, #0x10 + bl FUN_02017FB4 _02072CBE: ldr r0, [sp, #0x8] ldrh r1, [r7, r6] @@ -214126,8 +241730,9 @@ _02072CBE: pop {r4-r7, pc} .balign 4 _02072D0C: .word 0x00000708 -_02072D10: - .byte 0xB6, 0x04, 0x00, 0x00, 0xD6, 0x04, 0x00, 0x00, 0xF6, 0x04, 0x00, 0x00 +_02072D10: .word 0x000004B6 +_02072D14: .word 0x000004D6 +_02072D18: .word 0x000004F6 thumb_func_start FUN_02072D1C FUN_02072D1C: ; 0x02072D1C @@ -214800,23 +242405,37 @@ FUN_0207327C: ; 0x0207327C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r5, #0 - lsl r2, r1, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 +_0207328E: ; jump table (using 16-bit offset) + .short _020732BE - _0207328E - 2; case 0 + .short _0207329A - _0207328E - 2; case 1 + .short _020732A0 - _0207328E - 2; case 2 + .short _020732A6 - _0207328E - 2; case 3 + .short _020732AE - _0207328E - 2; case 4 + .short _020732B6 - _0207328E - 2; case 5 +_0207329A: bl FUN_02005514 pop {r3, pc} _020732A0: - .byte 0x92, 0xF7, 0x0C, 0xFD, 0x08, 0xBD, 0x07, 0x48, 0x92, 0xF7, 0x0E, 0xF9, 0x07, 0xE0, 0x06, 0x48 - .byte 0x92, 0xF7, 0xBA, 0xFC, 0x03, 0xE0, 0x03, 0x48, 0x92, 0xF7, 0x26, 0xF9, 0x08, 0xBD + bl FUN_02005CBC + pop {r3, pc} +_020732A6: + ldr r0, _020732C4 ; =0x000005E6 + bl FUN_020054C8 + b _020732BE +_020732AE: + ldr r0, _020732C8 ; =0x00000483 + bl FUN_02005C28 + b _020732BE +_020732B6: + ldr r0, _020732C4 ; =0x000005E6 + bl FUN_02005508 + pop {r3, pc} _020732BE: mov r0, #0x0 pop {r3, pc} nop -_020732C4: - .byte 0xE6, 0x05, 0x00, 0x00, 0x83, 0x04, 0x00, 0x00 +_020732C4: .word 0x000005E6 +_020732C8: .word 0x00000483 thumb_func_start FUN_020732CC FUN_020732CC: ; 0x020732CC @@ -215909,16 +243528,24 @@ _02073BB4: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r3, #0 - lsl r4, r2, #0 - lsl r0, r2, #0 - lsl r4, r1, #0 - lsl r0, r1, #0 +_02073BCC: ; jump table (using 16-bit offset) + .short _02073BE6 - _02073BCC - 2; case 0 + .short _02073BE2 - _02073BCC - 2; case 1 + .short _02073BDE - _02073BCC - 2; case 2 + .short _02073BDA - _02073BCC - 2; case 3 + .short _02073BD6 - _02073BCC - 2; case 4 +_02073BD6: mov r0, #0x1 pop {r3, pc} _02073BDA: - .byte 0x02, 0x20, 0x08, 0xBD, 0x03, 0x20 - .byte 0x08, 0xBD, 0x04, 0x20, 0x08, 0xBD + mov r0, #0x2 + pop {r3, pc} +_02073BDE: + mov r0, #0x3 + pop {r3, pc} +_02073BE2: + mov r0, #0x4 + pop {r3, pc} _02073BE6: mov r0, #0x0 pop {r3, pc} @@ -217239,11 +244866,13 @@ _020746E6: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r0, r3, #0 - lsl r0, r5, #0x1 - lsl r4, r7, #0x1 - lsl r2, r3, #0x3 +_020746F2: ; jump table (using 16-bit offset) + .short _020746FC - _020746F2 - 2; case 0 + .short _0207470C - _020746F2 - 2; case 1 + .short _0207475C - _020746F2 - 2; case 2 + .short _02074770 - _020746F2 - 2; case 3 + .short _020747CE - _020746F2 - 2; case 4 +_020746FC: mov r0, #0x6a lsl r0, r0, #0x4 bl FUN_020054C8 @@ -217252,34 +244881,141 @@ _020746E6: strb r1, [r4, r0] b _02074822 _0207470C: - .byte 0x51, 0x1C, 0x61, 0x5C - .byte 0x4B, 0x1C, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x28, 0x1C, 0x01, 0x21 - .byte 0x00, 0xF0, 0x92, 0xF8, 0x42, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x00, 0x21, 0x00, 0xF0, 0x36, 0xF9 - .byte 0x40, 0x4A, 0x28, 0x1C, 0xA2, 0x5C, 0x01, 0x21, 0x00, 0xF0, 0x30, 0xF9, 0x28, 0x68, 0x02, 0x21 - .byte 0xA6, 0xF7, 0x92, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x8E, 0xFA, 0x3A, 0x48, 0x21, 0x5C - .byte 0x10, 0x29, 0x66, 0xD1, 0x02, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x62, 0xE0, 0x00, 0xF0, 0xCA, 0xF9 - .byte 0x6A, 0x20, 0x00, 0x01, 0x90, 0xF7, 0xB0, 0xFE, 0x30, 0x48, 0x03, 0x21, 0x21, 0x54, 0x58, 0xE0 - .byte 0x51, 0x1C, 0x61, 0x5C, 0x4B, 0x1E, 0x51, 0x1C, 0x63, 0x54, 0x00, 0x21, 0x00, 0xF0, 0x64, 0xF8 - .byte 0x28, 0x1C, 0x01, 0x21, 0x00, 0xF0, 0x60, 0xF8, 0x29, 0x4A, 0x28, 0x1C, 0xA3, 0x5C, 0x01, 0x22 - .byte 0x00, 0x21, 0x5A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0x00, 0xF9, 0x25, 0x4A, 0x01, 0x21 - .byte 0xA2, 0x5C, 0x28, 0x1C, 0x4A, 0x40, 0x12, 0x06, 0x12, 0x0E, 0x00, 0xF0, 0xF7, 0xF8, 0x28, 0x68 - .byte 0x02, 0x21, 0xA6, 0xF7, 0x59, 0xFA, 0x28, 0x68, 0x01, 0x21, 0xA6, 0xF7, 0x55, 0xFA, 0x1E, 0x48 - .byte 0x21, 0x5C, 0x00, 0x29, 0x2D, 0xD1, 0x04, 0x21, 0x40, 0x1E, 0x21, 0x54, 0x29, 0xE0, 0x1B, 0x48 - .byte 0x51, 0x1F, 0x28, 0x58, 0x12, 0x1F, 0x61, 0x5C, 0xA2, 0x5C, 0x00, 0x68, 0xF7, 0xF7, 0x2C, 0xF9 - .byte 0x17, 0x48, 0x01, 0x21, 0x28, 0x58, 0xAB, 0xF7, 0x5B, 0xFC, 0xC1, 0x20, 0x00, 0x21, 0x80, 0x00 - .byte 0x21, 0x54, 0x14, 0x49, 0x40, 0x20, 0x6A, 0x5C, 0x82, 0x43, 0x6A, 0x54, 0x89, 0x1C, 0x69, 0x5C - .byte 0x28, 0x1C, 0xFC, 0xF7, 0xFB, 0xF8, 0x0F, 0x49, 0x28, 0x1C, 0x69, 0x5C, 0x89, 0x06, 0x89, 0x0E - .byte 0xFC, 0xF7, 0xF4, 0xF8, 0x28, 0x1C, 0x1D, 0x21, 0x00, 0x22, 0xFE, 0xF7, 0xD1, 0xFC, 0x01, 0x20 - .byte 0x38, 0xBD + add r1, r2, #0x1 + ldrb r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x1 + strb r3, [r4, r1] + mov r1, #0x0 + bl FUN_02074848 + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_02074848 + ldr r2, _02074830 ; =0x00000302 + add r0, r5, #0x0 + ldrb r2, [r4, r2] + mov r1, #0x0 + bl FUN_0207499C + ldr r2, _02074834 ; =0x00000303 + add r0, r5, #0x0 + ldrb r2, [r4, r2] + mov r1, #0x1 + bl FUN_0207499C + ldr r0, [r5, #0x0] + mov r1, #0x2 + bl FUN_0201AC68 + ldr r0, [r5, #0x0] + mov r1, #0x1 + bl FUN_0201AC68 + ldr r0, _02074838 ; =0x00000306 + ldrb r1, [r4, r0] + cmp r1, #0x10 + bne _02074822 + mov r1, #0x2 + sub r0, r0, #0x1 + strb r1, [r4, r0] + b _02074822 +_0207475C: + bl FUN_02074AF4 + mov r0, #0x6a + lsl r0, r0, #0x4 + bl FUN_020054C8 + ldr r0, _0207482C ; =0x00000305 + mov r1, #0x3 + strb r1, [r4, r0] + b _02074822 +_02074770: + add r1, r2, #0x1 + ldrb r1, [r4, r1] + sub r3, r1, #0x1 + add r1, r2, #0x1 + strb r3, [r4, r1] + mov r1, #0x0 + bl FUN_02074848 + add r0, r5, #0x0 + mov r1, #0x1 + bl FUN_02074848 + ldr r2, _02074830 ; =0x00000302 + add r0, r5, #0x0 + ldrb r3, [r4, r2] + mov r2, #0x1 + mov r1, #0x0 + eor r2, r3 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl FUN_0207499C + ldr r2, _02074834 ; =0x00000303 + mov r1, #0x1 + ldrb r2, [r4, r2] + add r0, r5, #0x0 + eor r2, r1 + lsl r2, r2, #0x18 + lsr r2, r2, #0x18 + bl FUN_0207499C + ldr r0, [r5, #0x0] + mov r1, #0x2 + bl FUN_0201AC68 + ldr r0, [r5, #0x0] + mov r1, #0x1 + bl FUN_0201AC68 + ldr r0, _02074838 ; =0x00000306 + ldrb r1, [r4, r0] + cmp r1, #0x0 + bne _02074822 + mov r1, #0x4 + sub r0, r0, #0x1 + strb r1, [r4, r0] + b _02074822 +_020747CE: + ldr r0, _0207483C ; =0x000005A4 + sub r1, r2, #0x5 + ldr r0, [r5, r0] + sub r2, r2, #0x4 + ldrb r1, [r4, r1] + ldrb r2, [r4, r2] + ldr r0, [r0, #0x0] + bl FUN_0206BA38 + ldr r0, _02074840 ; =0x000005C8 + mov r1, #0x1 + ldr r0, [r5, r0] + bl FUN_020200A0 + mov r0, #0xc1 + mov r1, #0x0 + lsl r0, r0, #0x2 + strb r1, [r4, r0] + ldr r1, _02074844 ; =0x00000B23 + mov r0, #0x40 + ldrb r2, [r5, r1] + bic r2, r0 + strb r2, [r5, r1] + add r1, r1, #0x2 + ldrb r1, [r5, r1] + add r0, r5, #0x0 + bl FUN_020709FC + ldr r1, _02074844 ; =0x00000B23 + add r0, r5, #0x0 + ldrb r1, [r5, r1] + lsl r1, r1, #0x1a + lsr r1, r1, #0x1a + bl FUN_020709FC + add r0, r5, #0x0 + mov r1, #0x1d + mov r2, #0x0 + bl FUN_020731C0 + mov r0, #0x1 + pop {r3-r5, pc} _02074822: mov r0, #0x0 pop {r3-r5, pc} nop _02074828: .word 0x0000080C _0207482C: .word 0x00000305 -_02074830: - .byte 0x02, 0x03, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x06, 0x03, 0x00, 0x00, 0xA4, 0x05, 0x00, 0x00 - .byte 0xC8, 0x05, 0x00, 0x00, 0x23, 0x0B, 0x00, 0x00 +_02074830: .word 0x00000302 +_02074834: .word 0x00000303 +_02074838: .word 0x00000306 +_0207483C: .word 0x000005A4 +_02074840: .word 0x000005C8 +_02074844: .word 0x00000B23 thumb_func_start FUN_02074848 FUN_02074848: ; 0x02074848 @@ -218127,21 +245863,42 @@ _02074EFA: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r0, #0x1 - lsl r2, r1, #0 - lsl r6, r2, #0 - lsl r2, r4, #0 - lsl r6, r5, #0 - lsl r2, r7, #0 +_02074F0A: ; jump table (using 16-bit offset) + .short _02074F50 - _02074F0A - 2; case 0 + .short _02074F16 - _02074F0A - 2; case 1 + .short _02074F22 - _02074F0A - 2; case 2 + .short _02074F2E - _02074F0A - 2; case 3 + .short _02074F3A - _02074F0A - 2; case 4 + .short _02074F46 - _02074F0A - 2; case 5 +_02074F16: add r0, r5, #0x0 mov r1, #0x7b mov r2, #0x1 bl FUN_020731E8 b _02074F50 _02074F22: - .byte 0x28, 0x1C, 0x64, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x5E, 0xF9, 0x10, 0xE0, 0x28, 0x1C - .byte 0x7C, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x58, 0xF9, 0x0A, 0xE0, 0x28, 0x1C, 0x7D, 0x21, 0x01, 0x22 - .byte 0xFE, 0xF7, 0x52, 0xF9, 0x04, 0xE0, 0x28, 0x1C, 0x7E, 0x21, 0x01, 0x22, 0xFE, 0xF7, 0x4C, 0xF9 + add r0, r5, #0x0 + mov r1, #0x64 + mov r2, #0x1 + bl FUN_020731E8 + b _02074F50 +_02074F2E: + add r0, r5, #0x0 + mov r1, #0x7c + mov r2, #0x1 + bl FUN_020731E8 + b _02074F50 +_02074F3A: + add r0, r5, #0x0 + mov r1, #0x7d + mov r2, #0x1 + bl FUN_020731E8 + b _02074F50 +_02074F46: + add r0, r5, #0x0 + mov r1, #0x7e + mov r2, #0x1 + bl FUN_020731E8 _02074F50: ldr r0, _02074F68 ; =0x00000B22 mov r1, #0x13 @@ -218460,11 +246217,13 @@ _020751CA: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 +_020751DA: ; jump table (using 16-bit offset) + .short _020751E4 - _020751DA - 2; case 0 + .short _020751FC - _020751DA - 2; case 1 + .short _02075200 - _020751DA - 2; case 2 + .short _02075204 - _020751DA - 2; case 3 + .short _02075208 - _020751DA - 2; case 4 +_020751E4: ldr r0, _02075238 ; =0x000006FC mov r1, #0x0 ldr r0, [r4, r0] @@ -218476,8 +246235,16 @@ _020751CA: str r0, [r6, #0x0] pop {r4-r6, pc} _020751FC: - .byte 0x68, 0x25, 0x04, 0xE0 - .byte 0x4C, 0x25, 0x02, 0xE0, 0xC4, 0x25, 0x00, 0xE0, 0x66, 0x25 + mov r5, #0x68 + b _0207520A +_02075200: + mov r5, #0x4c + b _0207520A +_02075204: + mov r5, #0xc4 + b _0207520A +_02075208: + mov r5, #0x66 _0207520A: mov r0, #0x85 lsl r0, r0, #0x2 @@ -218975,15 +246742,16 @@ _020755B6: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r7, #0x1 - lsl r6, r3, #0 - lsl r0, r5, #0 - lsl r2, r7, #0x1 - lsl r2, r6, #0 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r2, r7, #0x1 - lsl r4, r7, #0 +_02075612: ; jump table (using 16-bit offset) + .short _0207568E - _02075612 - 2; case 0 + .short _02075632 - _02075612 - 2; case 1 + .short _0207563C - _02075612 - 2; case 2 + .short _0207568E - _02075612 - 2; case 3 + .short _02075646 - _02075612 - 2; case 4 + .short _0207568E - _02075612 - 2; case 5 + .short _0207568E - _02075612 - 2; case 6 + .short _0207568E - _02075612 - 2; case 7 + .short _02075650 - _02075612 - 2; case 8 _02075624: cmp r5, #0x20 bgt _0207562C @@ -218994,9 +246762,25 @@ _0207562C: beq _0207566E b _0207568E _02075632: - .byte 0x20, 0x1C, 0xA1, 0xF7, 0xF0, 0xF9, 0x03, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7 - .byte 0xEB, 0xF9, 0x04, 0x20, 0x38, 0xBD, 0x20, 0x1C, 0xA1, 0xF7, 0xE6, 0xF9, 0x05, 0x20, 0x38, 0xBD - .byte 0x20, 0x1C, 0xA1, 0xF7, 0xE1, 0xF9, 0x06, 0x20, 0x38, 0xBD + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x3 + pop {r3-r5, pc} +_0207563C: + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x4 + pop {r3-r5, pc} +_02075646: + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x5 + pop {r3-r5, pc} +_02075650: + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x6 + pop {r3-r5, pc} _0207565A: add r0, r4, #0x0 bl FUN_02016A18 @@ -219221,34 +247005,36 @@ _02075828: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0x10 - lsl r2, r1, #0x10 - lsl r2, r1, #0x10 - lsl r2, r3, #0x1 - lsl r6, r6, #0 - lsl r6, r7, #0x1 - lsl r2, r4, #0x2 - lsl r6, r0, #0x3 - lsl r2, r5, #0x3 - lsl r2, r6, #0x4 - lsl r6, r1, #0x4 - lsl r2, r1, #0x10 - lsl r6, r2, #0x5 - lsl r0, r1, #0x6 - lsl r2, r7, #0x6 - lsl r4, r5, #0x7 - lsl r6, r3, #0x8 - lsl r0, r2, #0x9 - lsl r2, r0, #0xa - lsl r6, r6, #0xa - lsl r2, r5, #0xb - lsl r6, r3, #0xc - lsl r2, r2, #0xd - lsl r4, r2, #0xe - lsl r2, r1, #0x10 - lsl r0, r1, #0xf - lsl r0, r1, #0xf - lsl r2, r7, #0xf +_02075834: ; jump table (using 16-bit offset) + .short _02075C40 - _02075834 - 2; case 0 + .short _02075C40 - _02075834 - 2; case 1 + .short _02075C40 - _02075834 - 2; case 2 + .short _02075890 - _02075834 - 2; case 3 + .short _0207586C - _02075834 - 2; case 4 + .short _020758B4 - _02075834 - 2; case 5 + .short _020758D8 - _02075834 - 2; case 6 + .short _020758FC - _02075834 - 2; case 7 + .short _02075920 - _02075834 - 2; case 8 + .short _02075968 - _02075834 - 2; case 9 + .short _02075944 - _02075834 - 2; case 10 + .short _02075C40 - _02075834 - 2; case 11 + .short _0207598C - _02075834 - 2; case 12 + .short _020759BE - _02075834 - 2; case 13 + .short _020759F0 - _02075834 - 2; case 14 + .short _02075A22 - _02075834 - 2; case 15 + .short _02075A54 - _02075834 - 2; case 16 + .short _02075A86 - _02075834 - 2; case 17 + .short _02075AB8 - _02075834 - 2; case 18 + .short _02075AEC - _02075834 - 2; case 19 + .short _02075B20 - _02075834 - 2; case 20 + .short _02075B54 - _02075834 - 2; case 21 + .short _02075B88 - _02075834 - 2; case 22 + .short _02075BCA - _02075834 - 2; case 23 + .short _02075C40 - _02075834 - 2; case 24 + .short _02075BFE - _02075834 - 2; case 25 + .short _02075BFE - _02075834 - 2; case 26 + .short _02075C30 - _02075834 - 2; case 27 +_0207586C: ldr r0, _02075B94 ; =0x0000069C mov r1, #0x41 ldr r0, [r4, r0] @@ -219265,69 +247051,423 @@ _02075828: bl FUN_02021A20 pop {r4-r6, pc} _02075890: - .byte 0xC0, 0x48, 0x5B, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x3D, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 - .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x86, 0xFF, 0x28, 0x1C, 0xAC, 0xF7 - .byte 0xB7, 0xF8, 0x70, 0xBD, 0xB7, 0x48, 0x43, 0x21, 0x20, 0x58, 0x95, 0xF7, 0x2B, 0xF8, 0x6A, 0x21 - .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x74, 0xFF - .byte 0x28, 0x1C, 0xAC, 0xF7, 0xA5, 0xF8, 0x70, 0xBD, 0xAE, 0x48, 0x44, 0x21, 0x20, 0x58, 0x95, 0xF7 - .byte 0x19, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C - .byte 0x95, 0xF7, 0x62, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x93, 0xF8, 0x70, 0xBD, 0xA5, 0x48, 0x42, 0x21 - .byte 0x20, 0x58, 0x95, 0xF7, 0x07, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D - .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x81, 0xF8, 0x70, 0xBD - .byte 0x9C, 0x48, 0x49, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xF5, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 - .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x3E, 0xFF, 0x28, 0x1C, 0xAC, 0xF7 - .byte 0x6F, 0xF8, 0x70, 0xBD, 0x93, 0x48, 0x4A, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xE3, 0xFF, 0x6A, 0x21 - .byte 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x2C, 0xFF - .byte 0x28, 0x1C, 0xAC, 0xF7, 0x5D, 0xF8, 0x70, 0xBD, 0x8A, 0x48, 0x47, 0x21, 0x20, 0x58, 0x94, 0xF7 - .byte 0xD1, 0xFF, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C - .byte 0x95, 0xF7, 0x1A, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x4B, 0xF8, 0x70, 0xBD, 0x81, 0x48, 0x4B, 0x21 - .byte 0x20, 0x58, 0x94, 0xF7, 0xBF, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21 - .byte 0x00, 0x22, 0x95, 0xF7, 0xD5, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 - .byte 0x2A, 0x1C, 0x95, 0xF7, 0x01, 0xFF, 0x28, 0x1C, 0xAC, 0xF7, 0x32, 0xF8, 0x70, 0xBD, 0x75, 0x48 - .byte 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0xA6, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21 - .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0xBC, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D - .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xE8, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x19, 0xF8, 0x70, 0xBD - .byte 0x68, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x8D, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01 - .byte 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0xA3, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 - .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xCF, 0xFE, 0x28, 0x1C, 0xAC, 0xF7, 0x00, 0xF8 - .byte 0x70, 0xBD, 0x5C, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x74, 0xFF, 0x05, 0x1C, 0x6A, 0x20 - .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0x8A, 0xFA, 0x6A, 0x21, 0x09, 0x01 - .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0xB6, 0xFE, 0x28, 0x1C, 0xAB, 0xF7 - .byte 0xE7, 0xFF, 0x70, 0xBD, 0x4F, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x5B, 0xFF, 0x05, 0x1C - .byte 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7, 0x71, 0xFA, 0x6A, 0x21 - .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x9D, 0xFE, 0x28, 0x1C - .byte 0xAB, 0xF7, 0xCE, 0xFF, 0x70, 0xBD, 0x43, 0x48, 0x4B, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x42, 0xFF - .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x05, 0x22, 0x95, 0xF7, 0x58, 0xFA - .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x84, 0xFE - .byte 0x28, 0x1C, 0xAB, 0xF7, 0xB5, 0xFF, 0x70, 0xBD, 0x36, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C - .byte 0x94, 0xF7, 0x28, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x00, 0x22 - .byte 0x95, 0xF7, 0x3E, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C - .byte 0x95, 0xF7, 0x6A, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x9B, 0xFF, 0x70, 0xBD, 0x29, 0x48, 0x6E, 0x35 - .byte 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0x0E, 0xFF, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x01, 0x21 - .byte 0x20, 0x58, 0x0A, 0x1C, 0x95, 0xF7, 0x24, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D - .byte 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x50, 0xFE, 0x28, 0x1C, 0xAB, 0xF7, 0x81, 0xFF, 0x70, 0xBD - .byte 0x1C, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xF4, 0xFE, 0x05, 0x1C, 0x6A, 0x20 - .byte 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x02, 0x22, 0x95, 0xF7, 0x0A, 0xFA, 0x6A, 0x21, 0x09, 0x01 - .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x36, 0xFE, 0x28, 0x1C, 0xAB, 0xF7 - .byte 0x67, 0xFF, 0x70, 0xBD, 0x0F, 0x48, 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7, 0xDA, 0xFE - .byte 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x03, 0x22, 0x95, 0xF7, 0xF0, 0xF9 - .byte 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x1C, 0xFE - .byte 0x28, 0x1C, 0xAB, 0xF7, 0x4D, 0xFF, 0x70, 0xBD, 0x02, 0x48, 0x05, 0xE0 + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x5b + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_020758B4: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x43 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_020758D8: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x44 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_020758FC: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x42 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075920: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x49 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075944: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4a + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075968: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x47 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_0207598C: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x0 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_020759BE: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + mov r1, #0x1 + ldr r0, [r4, r0] + add r2, r1, #0x0 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_020759F0: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x2 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075A22: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x3 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075A54: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x4 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075A86: + ldr r0, _02075B94 ; =0x0000069C + mov r1, #0x4b + ldr r0, [r4, r0] + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x5 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075AB8: + ldr r0, _02075B94 ; =0x0000069C + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x0 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075AEC: + ldr r0, _02075B94 ; =0x0000069C + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + mov r1, #0x1 + ldr r0, [r4, r0] + add r2, r1, #0x0 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075B20: + ldr r0, _02075B94 ; =0x0000069C + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x2 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075B54: + ldr r0, _02075B94 ; =0x0000069C + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x3 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075B88: + ldr r0, _02075B94 ; =0x0000069C + b _02075B98 + .balign 4 _02075B8C: .word 0x000005A4 _02075B90: .word 0x00000B25 _02075B94: .word 0x0000069C _02075B98: - .byte 0x6E, 0x35, 0x20, 0x58, 0x29, 0x1C, 0x94, 0xF7 - .byte 0xB9, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21, 0x04, 0x22, 0x95, 0xF7 - .byte 0xCF, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7 - .byte 0xFB, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x2C, 0xFF, 0x70, 0xBD, 0x21, 0x48, 0x6E, 0x35, 0x20, 0x58 - .byte 0x29, 0x1C, 0x94, 0xF7, 0x9F, 0xFE, 0x05, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x01, 0x21 - .byte 0x05, 0x22, 0x95, 0xF7, 0xB5, 0xF9, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 - .byte 0x2A, 0x1C, 0x95, 0xF7, 0xE1, 0xFD, 0x28, 0x1C, 0xAB, 0xF7, 0x12, 0xFF, 0x70, 0xBD, 0x14, 0x48 - .byte 0x48, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x86, 0xFE, 0x06, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58 - .byte 0x00, 0x21, 0x2A, 0x1C, 0x95, 0xF7, 0xA2, 0xF8, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D - .byte 0x61, 0x58, 0x32, 0x1C, 0x95, 0xF7, 0xC8, 0xFD, 0x30, 0x1C, 0xAB, 0xF7, 0xF9, 0xFE, 0x70, 0xBD - .byte 0x07, 0x4A, 0x45, 0x21, 0xA0, 0x58, 0x08, 0x32, 0xA2, 0x58, 0x94, 0xF7, 0x51, 0xFE, 0x70, 0xBD + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x4 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075BCA: + ldr r0, _02075C50 ; =0x0000069C + add r5, #0x6e + ldr r0, [r4, r0] + add r1, r5, #0x0 + bl FUN_0200A914 + add r5, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x1 + mov r2, #0x5 + bl FUN_0200AF50 + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075BFE: + ldr r0, _02075C50 ; =0x0000069C + mov r1, #0x48 + ldr r0, [r4, r0] + bl FUN_0200A914 + add r6, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + add r2, r5, #0x0 + bl FUN_0200AD5C + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r6, #0x0 + bl FUN_0200B7B8 + add r0, r6, #0x0 + bl FUN_02021A20 + pop {r4-r6, pc} +_02075C30: + ldr r2, _02075C50 ; =0x0000069C + mov r1, #0x45 + ldr r0, [r4, r2] + add r2, #0x8 + ldr r2, [r4, r2] + bl FUN_0200A8E0 + pop {r4-r6, pc} _02075C40: ldr r2, _02075C50 ; =0x0000069C mov r1, #0x69 @@ -219355,51 +247495,64 @@ FUN_02075C54: ; 0x02075C54 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0x1 - lsl r6, r2, #0x1 - lsl r0, r7, #0 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r2, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r0, r1, #0x1 - lsl r6, r2, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r0, r0, #0x1 - lsl r6, r2, #0x1 +_02075C72: ; jump table (using 16-bit offset) + .short _02075CCA - _02075C72 - 2; case 0 + .short _02075CCA - _02075C72 - 2; case 1 + .short _02075CAC - _02075C72 - 2; case 2 + .short _02075CB4 - _02075C72 - 2; case 3 + .short _02075CB4 - _02075C72 - 2; case 4 + .short _02075CB4 - _02075C72 - 2; case 5 + .short _02075CB4 - _02075C72 - 2; case 6 + .short _02075CB4 - _02075C72 - 2; case 7 + .short _02075CB4 - _02075C72 - 2; case 8 + .short _02075CB4 - _02075C72 - 2; case 9 + .short _02075CB4 - _02075C72 - 2; case 10 + .short _02075CC4 - _02075C72 - 2; case 11 + .short _02075CB4 - _02075C72 - 2; case 12 + .short _02075CB4 - _02075C72 - 2; case 13 + .short _02075CB4 - _02075C72 - 2; case 14 + .short _02075CB4 - _02075C72 - 2; case 15 + .short _02075CB4 - _02075C72 - 2; case 16 + .short _02075CB4 - _02075C72 - 2; case 17 + .short _02075CBC - _02075C72 - 2; case 18 + .short _02075CBC - _02075C72 - 2; case 19 + .short _02075CBC - _02075C72 - 2; case 20 + .short _02075CBC - _02075C72 - 2; case 21 + .short _02075CBC - _02075C72 - 2; case 22 + .short _02075CBC - _02075C72 - 2; case 23 + .short _02075CCA - _02075C72 - 2; case 24 + .short _02075CB4 - _02075C72 - 2; case 25 + .short _02075CB4 - _02075C72 - 2; case 26 + .short _02075CB4 - _02075C72 - 2; case 27 + .short _02075CCA - _02075C72 - 2; case 28 +_02075CAC: ldr r1, _02075CD0 ; =FUN_0207640C ldr r0, _02075CD4 ; =0x00000B14 str r1, [r4, r0] pop {r4, pc} _02075CB4: - .byte 0x08, 0x49, 0x07, 0x48, 0x21, 0x50, 0x10, 0xBD, 0x07, 0x49, 0x05, 0x48 - .byte 0x21, 0x50, 0x10, 0xBD, 0x06, 0x49, 0x03, 0x48, 0x21, 0x50 + ldr r1, _02075CD8 ; =FUN_02075D20 + ldr r0, _02075CD4 ; =0x00000B14 + str r1, [r4, r0] + pop {r4, pc} +_02075CBC: + ldr r1, _02075CDC ; =FUN_02075DC0 + ldr r0, _02075CD4 ; =0x00000B14 + str r1, [r4, r0] + pop {r4, pc} +_02075CC4: + ldr r1, _02075CE0 ; =FUN_02075F60 + ldr r0, _02075CD4 ; =0x00000B14 + str r1, [r4, r0] _02075CCA: pop {r4, pc} .balign 4 _02075CCC: .word 0x000005A4 _02075CD0: .word FUN_0207640C + 1 _02075CD4: .word 0x00000B14 -_02075CD8: - .byte 0x21, 0x5D, 0x07, 0x02, 0xC1, 0x5D, 0x07, 0x02 - .byte 0x61, 0x5F, 0x07, 0x02 +_02075CD8: .word FUN_02075D20 + 1 +_02075CDC: .word FUN_02075DC0 + 1 +_02075CE0: .word FUN_02075F60 + 1 thumb_func_start FUN_02075CE4 FUN_02075CE4: ; 0x02075CE4 @@ -219977,10 +248130,12 @@ _020761AE: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r0, #0 - lsl r6, r2, #0x1 - lsl r0, r4, #0x4 - lsl r4, r4, #0x6 +_020761BA: ; jump table (using 16-bit offset) + .short _020761C2 - _020761BA - 2; case 0 + .short _02076212 - _020761BA - 2; case 1 + .short _020762DC - _020761BA - 2; case 2 + .short _02076360 - _020761BA - 2; case 3 +_020761C2: mov r1, #0x0 bl FUN_0207615C ldr r1, _020763E0 ; =0x00000B25 @@ -220106,23 +248261,120 @@ _02076212: strb r1, [r4, r0] b _020763D6 _020762DC: - .byte 0x44, 0x48, 0xC9, 0x1C - .byte 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x63, 0xFB, 0xA2, 0x21, 0x00, 0x22, 0xF0, 0xF7 - .byte 0x65, 0xFF, 0x3B, 0x4A, 0x05, 0x1C, 0x42, 0x48, 0xA3, 0x5C, 0x21, 0x18, 0x2C, 0x20, 0x58, 0x43 - .byte 0x0B, 0x5A, 0x5B, 0x1C, 0x0B, 0x52, 0xA1, 0x5C, 0x20, 0x1C, 0xFC, 0xF7, 0x57, 0xFC, 0x34, 0x49 - .byte 0x20, 0x1D, 0x62, 0x5C, 0x91, 0x00, 0x51, 0x18, 0xC9, 0x1C, 0x09, 0x01, 0x40, 0x18, 0x00, 0x21 - .byte 0xA3, 0xF7, 0x7E, 0xF9, 0x2E, 0x49, 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x27, 0xFC, 0x2C, 0x49 - .byte 0x20, 0x1C, 0x61, 0x5C, 0xFC, 0xF7, 0x78, 0xFC, 0x29, 0x48, 0x2C, 0x21, 0x20, 0x5C, 0x02, 0x1C - .byte 0x4A, 0x43, 0x2F, 0x48, 0xA2, 0x18, 0x10, 0x5A, 0x85, 0x42, 0x44, 0xD1, 0x20, 0x1C, 0x2D, 0x39 - .byte 0x01, 0x22, 0xFC, 0xF7, 0x49, 0xFF, 0x21, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x3A, 0xE0 - .byte 0x88, 0x1C, 0x20, 0x5C, 0xA5, 0xF7, 0x04, 0xFD, 0x00, 0x28, 0x34, 0xD1, 0x25, 0x48, 0x81, 0x6C - .byte 0x03, 0x20, 0x08, 0x42, 0x2F, 0xD0, 0x24, 0x48, 0x8F, 0xF7, 0xA6, 0xF8, 0x18, 0x48, 0x25, 0x5C - .byte 0x20, 0x1C, 0x69, 0x1C, 0x09, 0x06, 0x09, 0x0E, 0xFF, 0xF7, 0xE8, 0xFE, 0x14, 0x49, 0x60, 0x54 - .byte 0x60, 0x5C, 0xFF, 0x28, 0x0D, 0xD0, 0x89, 0x20, 0x80, 0x00, 0x20, 0x18, 0x00, 0x21, 0x96, 0xF7 - .byte 0x9F, 0xFE, 0x20, 0x1C, 0x29, 0x1C, 0xFA, 0xF7, 0x29, 0xFB, 0x0C, 0x48, 0x01, 0x21, 0x21, 0x54 - .byte 0x11, 0xE0, 0x0F, 0x48, 0x01, 0x22, 0x21, 0x58, 0x0C, 0x23, 0x48, 0x68, 0x89, 0x8C, 0xF8, 0xF7 - .byte 0x09, 0xFD, 0x0B, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x04, 0x48, 0x07, 0x21 - .byte 0x21, 0x54, 0x1B, 0x20, 0xF8, 0xBD + ldr r0, _020763F0 ; =0x000005A4 + add r1, r1, #0x3 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl FUN_0206B9B0 + mov r1, #0xa2 + mov r2, #0x0 + bl FUN_020671BC + ldr r2, _020763E0 ; =0x00000B25 + add r5, r0, #0x0 + ldr r0, _02076400 ; =0x00000706 + ldrb r3, [r4, r2] + add r1, r4, r0 + mov r0, #0x2c + mul r0, r3 + ldrh r3, [r1, r0] + add r3, r3, #0x1 + strh r3, [r1, r0] + ldrb r1, [r4, r2] + add r0, r4, #0x0 + bl FUN_02072BBC + ldr r1, _020763E0 ; =0x00000B25 + add r0, r4, #0x4 + ldrb r2, [r4, r1] + lsl r1, r2, #0x2 + add r1, r2, r1 + add r1, r1, #0x3 + lsl r1, r1, #0x4 + add r0, r0, r1 + mov r1, #0x0 + bl FUN_02019620 + ldr r1, _020763E0 ; =0x00000B25 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + bl FUN_02072B7C + ldr r1, _020763E0 ; =0x00000B25 + add r0, r4, #0x0 + ldrb r1, [r4, r1] + bl FUN_02072C28 + ldr r0, _020763E0 ; =0x00000B25 + mov r1, #0x2c + ldrb r0, [r4, r0] + add r2, r0, #0x0 + mul r2, r1 + ldr r0, _02076400 ; =0x00000706 + add r2, r4, r2 + ldrh r0, [r2, r0] + cmp r5, r0 + bne _020763D6 + add r0, r4, #0x0 + sub r1, #0x2d + mov r2, #0x1 + bl FUN_020731E8 + ldr r0, _020763DC ; =0x00000B22 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + b _020763D6 +_02076360: + add r0, r1, #0x2 + ldrb r0, [r4, r0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _020763D6 + ldr r0, _02076404 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _020763D6 + ldr r0, _02076408 ; =0x000005DC + bl FUN_020054C8 + ldr r0, _020763E0 ; =0x00000B25 + ldrb r5, [r4, r0] + add r0, r4, #0x0 + add r1, r5, #0x1 + lsl r1, r1, #0x18 + lsr r1, r1, #0x18 + bl FUN_0207615C + ldr r1, _020763E0 ; =0x00000B25 + strb r0, [r4, r1] + ldrb r0, [r4, r1] + cmp r0, #0xff + beq _020763B2 + mov r0, #0x89 + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x0 + bl FUN_0200D0E0 + add r0, r4, #0x0 + add r1, r5, #0x0 + bl FUN_020709FC + ldr r0, _020763DC ; =0x00000B22 + mov r1, #0x1 + strb r1, [r4, r0] + b _020763D6 +_020763B2: + ldr r0, _020763F0 ; =0x000005A4 + mov r2, #0x1 + ldr r1, [r4, r0] + mov r3, #0xc + ldr r0, [r1, #0x4] + ldrh r1, [r1, #0x24] + bl FUN_0206EDD4 + ldr r0, _020763F0 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _020763E0 ; =0x00000B25 + mov r1, #0x7 + strb r1, [r4, r0] + mov r0, #0x1b + pop {r3-r7, pc} _020763D6: mov r0, #0x7 pop {r3-r7, pc} @@ -220136,8 +248388,9 @@ _020763F0: .word 0x000005A4 _020763F4: .word 0x0000070E _020763F8: .word 0xFFFFF000 _020763FC: .word 0x000005EC -_02076400: - .byte 0x06, 0x07, 0x00, 0x00, 0xB8, 0x48, 0x1C, 0x02, 0xDC, 0x05, 0x00, 0x00 +_02076400: .word 0x00000706 +_02076404: .word 0x021C48B8 +_02076408: .word 0x000005DC thumb_func_start FUN_0207640C FUN_0207640C: ; 0x0207640C @@ -220358,13 +248611,15 @@ FUN_020765EC: ; 0x020765EC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r6, r6, #0 - lsl r4, r2, #0x1 - lsl r2, r7, #0x1 - lsl r2, r7, #0x5 - lsl r6, r3, #0x6 - lsl r6, r1, #0x8 +_02076604: ; jump table (using 16-bit offset) + .short _02076612 - _02076604 - 2; case 0 + .short _0207663C - _02076604 - 2; case 1 + .short _0207665A - _02076604 - 2; case 2 + .short _02076680 - _02076604 - 2; case 3 + .short _02076780 - _02076604 - 2; case 4 + .short _020767A4 - _02076604 - 2; case 5 + .short _02076814 - _02076604 - 2; case 6 +_02076612: sub r0, r1, #0x3 ldrb r0, [r4, r0] bl FUN_0201BD70 @@ -220384,46 +248639,264 @@ FUN_020765EC: ; 0x020765EC strb r1, [r4, r0] b _02076868 _0207663C: - .byte 0x8C, 0x48, 0x81, 0x6C - .byte 0x03, 0x20, 0x08, 0x42, 0x30, 0xD0, 0x8B, 0x48, 0x8E, 0xF7, 0x3E, 0xFF, 0x20, 0x1C, 0xFC, 0xF7 - .byte 0xF5, 0xFF, 0x86, 0x48, 0x02, 0x21, 0x21, 0x54, 0x06, 0xE1, 0x85, 0x48, 0x81, 0x6C, 0x03, 0x20 - .byte 0x08, 0x42, 0x21, 0xD0, 0x83, 0x48, 0x8E, 0xF7, 0x2F, 0xFF, 0x20, 0x1C, 0xFD, 0xF7, 0x42, 0xF8 - .byte 0x7E, 0x48, 0x03, 0x21, 0x21, 0x54, 0x80, 0x48, 0x00, 0x21, 0x20, 0x58, 0x41, 0x63, 0xF3, 0xE0 - .byte 0x7D, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0x91, 0xF9, 0x7A, 0x49 - .byte 0x05, 0x1C, 0x62, 0x58, 0x11, 0x1C, 0x34, 0x31, 0x26, 0x32, 0xF3, 0xF7, 0xBD, 0xF8, 0x00, 0x28 - .byte 0x07, 0xD0, 0x76, 0x49, 0x88, 0x42, 0x00, 0xD1 + ldr r0, _02076870 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _020766A8 + ldr r0, _02076874 ; =0x000005DC + bl FUN_020054C8 + add r0, r4, #0x0 + bl FUN_0207363C + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x2 + strb r1, [r4, r0] + b _02076868 +_0207665A: + ldr r0, _02076870 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _020766A8 + ldr r0, _02076874 ; =0x000005DC + bl FUN_020054C8 + add r0, r4, #0x0 + bl FUN_020736F4 + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x3 + strb r1, [r4, r0] + ldr r0, _02076878 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + str r1, [r0, #0x34] + b _02076868 +_02076680: + ldr r0, _02076878 ; =0x000005A4 + sub r1, r1, #0x2 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl FUN_0206B9B0 + ldr r1, _02076878 ; =0x000005A4 + add r5, r0, #0x0 + ldr r2, [r4, r1] + add r1, r2, #0x0 + add r1, #0x34 + add r2, #0x26 + bl FUN_02069818 + cmp r0, #0x0 + beq _020766B2 + ldr r1, _0207687C ; =0x0000FFFE + cmp r0, r1 + bne _020766AA _020766A8: b _02076868 _020766AA: - .byte 0x49, 0x1C, 0x88, 0x42, 0x04, 0xD0 - .byte 0x38, 0xE0, 0x6E, 0x48, 0x06, 0x21, 0x21, 0x54, 0xD6, 0xE0, 0x28, 0x1C, 0xF2, 0xF7, 0x12, 0xFD - .byte 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01, 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0x15, 0xFB, 0x6A, 0x22 - .byte 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A, 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x3E, 0xFB - .byte 0x67, 0x48, 0x34, 0x21, 0x20, 0x58, 0x94, 0xF7, 0x15, 0xF9, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01 - .byte 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x95, 0xF7, 0x5E, 0xF8, 0x28, 0x1C, 0xAB, 0xF7 - .byte 0x8F, 0xF9, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x6D, 0xFD, 0x5D, 0x48 - .byte 0x5D, 0x49, 0x5E, 0x4A, 0x60, 0x50, 0x08, 0x1D, 0x22, 0x50, 0x16, 0x20, 0x0A, 0x31, 0x60, 0x54 - .byte 0x14, 0x20, 0x38, 0xBD, 0x28, 0x1C, 0xF2, 0xF7, 0xDD, 0xFC, 0x02, 0x1C, 0x6A, 0x20, 0x00, 0x01 - .byte 0x20, 0x58, 0x00, 0x21, 0x94, 0xF7, 0xE0, 0xFA, 0x6A, 0x22, 0x12, 0x01, 0xA0, 0x58, 0xFC, 0x3A - .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0x09, 0xFB, 0x4D, 0x48, 0xC2, 0x21, 0x20, 0x58 - .byte 0x94, 0xF7, 0xE0, 0xF8, 0x6A, 0x21, 0x05, 0x1C, 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58 - .byte 0x2A, 0x1C, 0x95, 0xF7, 0x29, 0xF8, 0x28, 0x1C, 0xAB, 0xF7, 0x5A, 0xF9, 0x00, 0x21, 0x20, 0x1C - .byte 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0x38, 0xFD, 0x3C, 0x48, 0x04, 0x21, 0x21, 0x54, 0x73, 0xE0 - .byte 0xC8, 0x1E, 0x20, 0x5C, 0xA5, 0xF7, 0xF4, 0xFA, 0x00, 0x28, 0x6D, 0xD1, 0x38, 0x48, 0x81, 0x6C - .byte 0x03, 0x20, 0x08, 0x42, 0x68, 0xD0, 0x37, 0x48, 0x8E, 0xF7, 0x96, 0xFE, 0x33, 0x48, 0x03, 0x21 - .byte 0x21, 0x54, 0x61, 0xE0, 0x32, 0x48, 0x82, 0x6C, 0x03, 0x20, 0x10, 0x42, 0x5C, 0xD0, 0x32, 0x48 - .byte 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7, 0xFA, 0xF8, 0x2E, 0x4A, 0x01, 0x1C - .byte 0xA2, 0x58, 0x20, 0x1C, 0x28, 0x32, 0x12, 0x78, 0x00, 0xF0, 0xB0, 0xFB, 0x2C, 0x48, 0x3D, 0x21 - .byte 0x20, 0x58, 0x94, 0xF7, 0x9F, 0xF8, 0x6A, 0x22, 0x12, 0x01, 0x05, 0x1C, 0xA0, 0x58, 0xFC, 0x3A - .byte 0xA2, 0x58, 0x01, 0x21, 0xD2, 0x8C, 0x94, 0xF7, 0xB9, 0xFA, 0x6A, 0x21, 0x09, 0x01, 0x60, 0x58 - .byte 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0xDF, 0xFF, 0x28, 0x1C, 0xAB, 0xF7, 0x10, 0xF9 - .byte 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x00, 0x22, 0xFC, 0xF7, 0xEE, 0xFC, 0x17, 0x48, 0x04, 0x21 - .byte 0x21, 0x54, 0x29, 0xE0, 0x18, 0x48, 0x89, 0x1E, 0x20, 0x58, 0x61, 0x5C, 0x00, 0x68, 0xF5, 0xF7 - .byte 0xC7, 0xF8, 0x05, 0x1C, 0x14, 0x48, 0x20, 0x58, 0xC0, 0x69, 0xC0, 0x69, 0x00, 0x68, 0xBE, 0xF7 - .byte 0xE9, 0xF8, 0x03, 0x1C, 0x10, 0x48, 0x1B, 0x04, 0x21, 0x58, 0x00, 0x22, 0x08, 0x1C, 0x3C, 0x30 - .byte 0x00, 0x90, 0x08, 0x68, 0x29, 0x1C, 0x1B, 0x0C, 0xF2, 0xF7, 0x8E, 0xFC, 0x0A, 0x49, 0x62, 0x58 - .byte 0x10, 0x87, 0x61, 0x58, 0x08, 0x8F, 0x00, 0x28, 0x01, 0xD0, 0x09, 0x20, 0x00, 0xE0, 0x00, 0x20 - .byte 0x23, 0x31, 0x08, 0x70, 0x1B, 0x20, 0x38, 0xBD + add r1, r1, #0x1 + cmp r0, r1 + beq _020766BA + b _02076724 +_020766B2: + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x6 + strb r1, [r4, r0] + b _02076868 +_020766BA: + add r0, r5, #0x0 + bl FUN_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl FUN_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + ldr r0, [r4, r2] + sub r2, #0xfc + ldr r2, [r4, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x26] + bl FUN_0200AD5C + ldr r0, _02076880 ; =0x0000069C + mov r1, #0x34 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl FUN_020731E8 + ldr r0, _02076884 ; =FUN_02076950 + ldr r1, _02076888 ; =0x00000B18 + ldr r2, _0207688C ; =FUN_020769A4 + str r0, [r4, r1] + add r0, r1, #0x4 + str r2, [r4, r0] + mov r0, #0x16 + add r1, #0xa + strb r0, [r4, r1] + mov r0, #0x14 + pop {r3-r5, pc} +_02076724: + add r0, r5, #0x0 + bl FUN_020690E4 + add r2, r0, #0x0 + mov r0, #0x6a + lsl r0, r0, #0x4 + ldr r0, [r4, r0] + mov r1, #0x0 + bl FUN_0200ACF8 + mov r2, #0x6a + lsl r2, r2, #0x4 + ldr r0, [r4, r2] + sub r2, #0xfc + ldr r2, [r4, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x26] + bl FUN_0200AD5C + ldr r0, _02076880 ; =0x0000069C + mov r1, #0xc2 + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl FUN_020731E8 + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x4 + strb r1, [r4, r0] + b _02076868 +_02076780: + sub r0, r1, #0x3 + ldrb r0, [r4, r0] + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02076868 + ldr r0, _02076870 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x3 + tst r0, r1 + beq _02076868 + ldr r0, _02076874 ; =0x000005DC + bl FUN_020054C8 + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x3 + strb r1, [r4, r0] + b _02076868 +_020767A4: + ldr r0, _02076870 ; =0x021C48B8 + ldr r2, [r0, #0x48] + mov r0, #0x3 + tst r0, r2 + beq _02076868 + ldr r0, _02076878 ; =0x000005A4 + sub r1, r1, #0x2 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl FUN_0206B9B0 + ldr r2, _02076878 ; =0x000005A4 + add r1, r0, #0x0 + ldr r2, [r4, r2] + add r0, r4, #0x0 + add r2, #0x28 + ldrb r2, [r2, #0x0] + bl FUN_02076F2C + ldr r0, _02076880 ; =0x0000069C + mov r1, #0x3d + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r2, #0x6a + lsl r2, r2, #0x4 + add r5, r0, #0x0 + ldr r0, [r4, r2] + sub r2, #0xfc + ldr r2, [r4, r2] + mov r1, #0x1 + ldrh r2, [r2, #0x26] + bl FUN_0200AD5C + mov r1, #0x6a + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x0 + bl FUN_020731E8 + ldr r0, _0207686C ; =0x00000B27 + mov r1, #0x4 + strb r1, [r4, r0] + b _02076868 +_02076814: + ldr r0, _02076878 ; =0x000005A4 + sub r1, r1, #0x2 + ldr r0, [r4, r0] + ldrb r1, [r4, r1] + ldr r0, [r0, #0x0] + bl FUN_0206B9B0 + add r5, r0, #0x0 + ldr r0, _02076878 ; =0x000005A4 + ldr r0, [r4, r0] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034A04 + add r3, r0, #0x0 + ldr r0, _02076878 ; =0x000005A4 + lsl r3, r3, #0x10 + ldr r1, [r4, r0] + mov r2, #0x0 + add r0, r1, #0x0 + add r0, #0x3c + str r0, [sp, #0x0] + ldr r0, [r1, #0x0] + add r1, r5, #0x0 + lsr r3, r3, #0x10 + bl FUN_02069168 + ldr r1, _02076878 ; =0x000005A4 + ldr r2, [r4, r1] + strh r0, [r2, #0x38] + ldr r1, [r4, r1] + ldrh r0, [r1, #0x38] + cmp r0, #0x0 + beq _0207685E + mov r0, #0x9 + b _02076860 +_0207685E: + mov r0, #0x0 +_02076860: + add r1, #0x23 + strb r0, [r1, #0x0] + mov r0, #0x1b + pop {r3-r5, pc} _02076868: mov r0, #0x5 pop {r3-r5, pc} @@ -220431,9 +248904,12 @@ _02076868: _0207686C: .word 0x00000B27 _02076870: .word 0x021C48B8 _02076874: .word 0x000005DC -_02076878: - .byte 0xA4, 0x05, 0x00, 0x00, 0xFE, 0xFF, 0x00, 0x00 - .byte 0x9C, 0x06, 0x00, 0x00, 0x51, 0x69, 0x07, 0x02, 0x18, 0x0B, 0x00, 0x00, 0xA5, 0x69, 0x07, 0x02 +_02076878: .word 0x000005A4 +_0207687C: .word 0x0000FFFE +_02076880: .word 0x0000069C +_02076884: .word FUN_02076950 + 1 +_02076888: .word 0x00000B18 +_0207688C: .word FUN_020769A4 + 1 thumb_func_start FUN_02076890 FUN_02076890: ; 0x02076890 @@ -220763,10 +249239,11 @@ FUN_02076AF8: ; 0x02076AF8 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r4, r2, #0 +_02076B52: ; jump table (using 16-bit offset) + .short _02076B68 - _02076B52 - 2; case 0 + .short _02076B68 - _02076B52 - 2; case 1 + .short _02076B68 - _02076B52 - 2; case 2 + .short _02076B68 - _02076B52 - 2; case 3 _02076B5A: cmp r5, #0xfe bhi _02076B62 @@ -220778,12 +249255,38 @@ _02076B62: beq _02076C34 b _02076C72 _02076B68: - .byte 0x20, 0x1C, 0x31, 0x1C, 0x2A, 0x1C, 0x00, 0xF0 - .byte 0xDD, 0xF9, 0x43, 0x48, 0x3D, 0x21, 0x20, 0x58, 0x93, 0xF7, 0xCC, 0xFE, 0x6A, 0x21, 0x05, 0x1C - .byte 0x09, 0x01, 0x60, 0x58, 0x09, 0x1D, 0x61, 0x58, 0x2A, 0x1C, 0x94, 0xF7, 0x15, 0xFE, 0x28, 0x1C - .byte 0xAA, 0xF7, 0x46, 0xFF, 0x00, 0x21, 0x20, 0x1C, 0xC9, 0x43, 0x01, 0x22, 0xFC, 0xF7, 0x24, 0xFB - .byte 0x35, 0x48, 0x00, 0x21, 0x20, 0x58, 0x23, 0x30, 0x01, 0x70, 0x36, 0x48, 0x15, 0x21, 0x21, 0x54 - .byte 0x5F, 0xE0 + add r0, r4, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl FUN_02076F2C + ldr r0, _02076C80 ; =0x0000069C + mov r1, #0x3d + ldr r0, [r4, r0] + bl FUN_0200A914 + mov r1, #0x6a + add r5, r0, #0x0 + lsl r1, r1, #0x4 + ldr r0, [r4, r1] + add r1, r1, #0x4 + ldr r1, [r4, r1] + add r2, r5, #0x0 + bl FUN_0200B7B8 + add r0, r5, #0x0 + bl FUN_02021A20 + mov r1, #0x0 + add r0, r4, #0x0 + mvn r1, r1 + mov r2, #0x1 + bl FUN_020731E8 + ldr r0, _02076C78 ; =0x000005A4 + mov r1, #0x0 + ldr r0, [r4, r0] + add r0, #0x23 + strb r1, [r0, #0x0] + ldr r0, _02076C84 ; =0x00000B22 + mov r1, #0x15 + strb r1, [r4, r0] + b _02076C72 _02076BB2: ldr r0, _02076C80 ; =0x0000069C mov r1, #0x3f @@ -221867,10 +250370,12 @@ FUN_020774EC: ; 0x020774EC lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r0, #0 - lsl r2, r3, #0 - lsl r6, r1, #0x1 - lsl r4, r7, #0x5 +_0207750C: ; jump table (using 16-bit offset) + .short _02077514 - _0207750C - 2; case 0 + .short _02077528 - _0207750C - 2; case 1 + .short _0207755C - _0207750C - 2; case 2 + .short _0207768A - _0207750C - 2; case 3 +_02077514: bl FUN_0200E308 cmp r0, #0x0 beq _02077550 @@ -221881,33 +250386,185 @@ FUN_020774EC: ; 0x020774EC str r1, [r4, r0] b _02077698 _02077528: - .byte 0x5F, 0x49, 0x62, 0x58, 0x52, 0x1C, 0x62, 0x50 - .byte 0x02, 0xF0, 0xC8, 0xF9, 0x49, 0x22, 0x12, 0x01, 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00 - .byte 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0x76, 0xF9, 0x57, 0x48, 0x21, 0x58, 0x05, 0x29, 0x00, 0xDC + ldr r1, _020776A8 ; =0x000005CC + ldr r2, [r4, r1] + add r2, r2, #0x1 + str r2, [r4, r1] + bl FUN_020798C4 + mov r2, #0x49 + lsl r2, r2, #0x4 + add r0, r4, r2 + mov r1, #0xcb + sub r2, #0x30 + lsl r1, r1, #0x2 + ldr r2, [r4, r2] + add r1, r4, r1 + bl FUN_02079834 + ldr r0, _020776A8 ; =0x000005CC + ldr r1, [r4, r0] + cmp r1, #0x5 + bgt _02077552 _02077550: b _02077698 _02077552: - .byte 0x02, 0x21, 0x29, 0x60, 0x00, 0x21, 0x21, 0x50, 0x9D, 0xE0, 0x53, 0x4B, 0xE2, 0x58 - .byte 0x07, 0x2A, 0x68, 0xD8, 0x92, 0x18, 0x7A, 0x44, 0xD2, 0x88, 0x12, 0x04, 0x12, 0x14, 0x97, 0x44 - .byte 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0xC4, 0x00, 0x0E, 0x00, 0x22, 0x00, 0x6E, 0x00, 0x9A, 0x00 - .byte 0x62, 0x6B, 0x00, 0x2A, 0x02, 0xD1, 0x00, 0xF0, 0x9D, 0xF8, 0x28, 0x60, 0x20, 0x1C, 0x02, 0xF0 - .byte 0x99, 0xF9, 0x50, 0xE0, 0x31, 0x1C, 0x00, 0xF0, 0x7B, 0xFC, 0x45, 0x48, 0x0F, 0x21, 0x20, 0x18 - .byte 0xA2, 0xF7, 0x3E, 0xF8, 0x42, 0x48, 0x01, 0x22, 0x20, 0x18, 0x00, 0x21, 0x12, 0x02, 0x0A, 0x23 - .byte 0x95, 0xF7, 0x84, 0xFD, 0x00, 0x23, 0x06, 0x22, 0x3D, 0x48, 0x00, 0x93, 0x01, 0x21, 0x01, 0x91 - .byte 0x02, 0x93, 0x92, 0x01, 0xA2, 0x58, 0x20, 0x18, 0xA4, 0xF7, 0xDC, 0xFB, 0x39, 0x49, 0x60, 0x50 - .byte 0x10, 0x39, 0x60, 0x18, 0xA1, 0xF7, 0xFC, 0xFD, 0x34, 0x48, 0x06, 0x21, 0x21, 0x50, 0x2A, 0xE0 - .byte 0x18, 0x1F, 0x20, 0x58, 0x00, 0x06, 0x00, 0x0E, 0xA4, 0xF7, 0xC2, 0xFB, 0x00, 0x28, 0x22, 0xD1 - .byte 0x31, 0x48, 0x8D, 0xF7, 0x69, 0xFF, 0x31, 0x49, 0x00, 0x22, 0x60, 0x58, 0x40, 0x1C, 0x60, 0x50 - .byte 0x29, 0x48, 0x4C, 0x39, 0x22, 0x50, 0x07, 0x20, 0x60, 0x50, 0x14, 0xE0, 0x26, 0x48, 0x21, 0x58 - .byte 0x49, 0x1C, 0x21, 0x50, 0x20, 0x58, 0x1E, 0x28, 0x0D, 0xDD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x21 - .byte 0x01, 0x20, 0x01, 0x90, 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x96, 0xF7 - .byte 0xCF, 0xFD, 0x03, 0x20, 0x28, 0x60, 0x22, 0x4B, 0xCB, 0x21, 0xE0, 0x18, 0x00, 0x90, 0x18, 0x1D - .byte 0x20, 0x18, 0x89, 0x00, 0x01, 0x90, 0x60, 0x18, 0x02, 0x90, 0x18, 0x1C, 0x4C, 0x30, 0x20, 0x58 - .byte 0x1A, 0x1C, 0x40, 0x69, 0x8C, 0x31, 0x03, 0x90, 0x16, 0x20, 0x00, 0x01, 0x1B, 0x1F, 0x08, 0x3A - .byte 0x20, 0x58, 0xE3, 0x58, 0x61, 0x18, 0xA2, 0x18, 0x01, 0xF0, 0x22, 0xF8, 0x49, 0x22, 0x12, 0x01 - .byte 0xA0, 0x18, 0xCB, 0x21, 0x30, 0x3A, 0x89, 0x00, 0xA2, 0x58, 0x61, 0x18, 0x02, 0xF0, 0xDA, 0xF8 - .byte 0x20, 0x1C, 0x38, 0x30, 0x01, 0xF0, 0xDA, 0xFB, 0x06, 0xE0, 0x96, 0xF7, 0x3D, 0xFE, 0x00, 0x28 - .byte 0x02, 0xD0, 0x04, 0xB0, 0x01, 0x20, 0x70, 0xBD + mov r1, #0x2 + str r1, [r5, #0x0] + mov r1, #0x0 + str r1, [r4, r0] + b _02077698 +_0207755C: + ldr r3, _020776AC ; =0x0000045C + ldr r2, [r4, r3] + cmp r2, #0x7 + bhi _02077636 + add r2, r2, r2 + add r2, pc + ldrh r2, [r2, #0x6] + lsl r2, r2, #0x10 + asr r2, r2, #0x10 + add pc, r2 +_02077570: ; jump table (using 16-bit offset) + .short _02077636 - _02077570 - 2; case 0 + .short _02077636 - _02077570 - 2; case 1 + .short _02077636 - _02077570 - 2; case 2 + .short _02077636 - _02077570 - 2; case 3 + .short _02077580 - _02077570 - 2; case 4 + .short _02077594 - _02077570 - 2; case 5 + .short _020775E0 - _02077570 - 2; case 6 + .short _0207760C - _02077570 - 2; case 7 +_02077580: + ldr r2, [r4, #0x34] + cmp r2, #0x0 + bne _0207758C + bl FUN_020776C4 + str r0, [r5, #0x0] +_0207758C: + add r0, r4, #0x0 + bl FUN_020798C4 + b _02077636 +_02077594: + add r1, r6, #0x0 + bl FUN_02077E90 + ldr r0, _020776B0 ; =0x00000448 + mov r1, #0xf + add r0, r4, r0 + bl FUN_02019620 + ldr r0, _020776B0 ; =0x00000448 + mov r2, #0x1 + add r0, r4, r0 + mov r1, #0x0 + lsl r2, r2, #0x8 + mov r3, #0xa + bl FUN_0200D0BC + mov r3, #0x0 + mov r2, #0x6 + ldr r0, _020776B0 ; =0x00000448 + str r3, [sp, #0x0] + mov r1, #0x1 + str r1, [sp, #0x4] + str r3, [sp, #0x8] + lsl r2, r2, #0x6 + ldr r2, [r4, r2] + add r0, r4, r0 + bl FUN_0201BD84 + ldr r1, _020776B4 ; =0x00000458 + str r0, [r4, r1] + sub r1, #0x10 + add r0, r4, r1 + bl FUN_020191D0 + ldr r0, _020776AC ; =0x0000045C + mov r1, #0x6 + str r1, [r4, r0] + b _02077636 +_020775E0: + sub r0, r3, #0x4 + ldr r0, [r4, r0] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02077636 + ldr r0, _020776B8 ; =0x000005E2 + bl FUN_020054C8 + ldr r1, _020776BC ; =0x000004A8 + mov r2, #0x0 + ldr r0, [r4, r1] + add r0, r0, #0x1 + str r0, [r4, r1] + ldr r0, _020776A8 ; =0x000005CC + sub r1, #0x4c + str r2, [r4, r0] + mov r0, #0x7 + str r0, [r4, r1] + b _02077636 +_0207760C: + ldr r0, _020776A8 ; =0x000005CC + ldr r1, [r4, r0] + add r1, r1, #0x1 + str r1, [r4, r0] + ldr r0, [r4, r0] + cmp r0, #0x1e + ble _02077636 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r1, #0x0 + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x12 + str r0, [sp, #0x8] + mov r0, #0x2 + add r2, r1, #0x0 + add r3, r1, #0x0 + bl FUN_0200E1D0 + mov r0, #0x3 + str r0, [r5, #0x0] +_02077636: + ldr r3, _020776C0 ; =0x00000464 + mov r1, #0xcb + add r0, r4, r3 + str r0, [sp, #0x0] + add r0, r3, #0x4 + add r0, r4, r0 + lsl r1, r1, #0x2 + str r0, [sp, #0x4] + add r0, r4, r1 + str r0, [sp, #0x8] + add r0, r3, #0x0 + add r0, #0x4c + ldr r0, [r4, r0] + add r2, r3, #0x0 + ldr r0, [r0, #0x14] + add r1, #0x8c + str r0, [sp, #0xc] + mov r0, #0x16 + lsl r0, r0, #0x4 + sub r3, r3, #0x4 + sub r2, #0x8 + ldr r0, [r4, r0] + ldr r3, [r4, r3] + add r1, r4, r1 + add r2, r4, r2 + bl FUN_020786B0 + mov r2, #0x49 + lsl r2, r2, #0x4 + add r0, r4, r2 + mov r1, #0xcb + sub r2, #0x30 + lsl r1, r1, #0x2 + ldr r2, [r4, r2] + add r1, r4, r1 + bl FUN_02079834 + add r0, r4, #0x0 + add r0, #0x38 + bl FUN_02078E3C + b _02077698 +_0207768A: + bl FUN_0200E308 + cmp r0, #0x0 + beq _02077698 + add sp, #0x10 + mov r0, #0x1 + pop {r4-r6, pc} _02077698: mov r0, #0x62 lsl r0, r0, #0x2 @@ -221918,10 +250575,12 @@ _02077698: pop {r4-r6, pc} .balign 4 _020776A8: .word 0x000005CC -_020776AC: - .byte 0x5C, 0x04, 0x00, 0x00 - .byte 0x48, 0x04, 0x00, 0x00, 0x58, 0x04, 0x00, 0x00, 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00 - .byte 0x64, 0x04, 0x00, 0x00 +_020776AC: .word 0x0000045C +_020776B0: .word 0x00000448 +_020776B4: .word 0x00000458 +_020776B8: .word 0x000005E2 +_020776BC: .word 0x000004A8 +_020776C0: .word 0x00000464 thumb_func_start FUN_020776C4 FUN_020776C4: ; 0x020776C4 @@ -223678,14 +252337,16 @@ FUN_02078530: ; 0x02078530 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r6, r6, #0x1 - lsl r0, r5, #0x1 - lsl r0, r6, #0 - lsl r2, r3, #0x1 - lsl r4, r1, #0x1 - lsl r6, r7, #0 - lsl r2, r3, #0x1 +_02078568: ; jump table (using 16-bit offset) + .short _02078578 - _02078568 - 2; case 0 + .short _020785E0 - _02078568 - 2; case 1 + .short _020785D2 - _02078568 - 2; case 2 + .short _0207859A - _02078568 - 2; case 3 + .short _020785C4 - _02078568 - 2; case 4 + .short _020785B6 - _02078568 - 2; case 5 + .short _020785A8 - _02078568 - 2; case 6 + .short _020785C4 - _02078568 - 2; case 7 +_02078578: ldr r0, [r4, #0x4] cmp r0, #0x0 bne _0207858C @@ -223703,16 +252364,73 @@ _0207858C: bl FUN_02020130 pop {r3-r5, pc} _0207859A: - .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58 - .byte 0x33, 0x21, 0xA7, 0xF7, 0xC5, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x37, 0x21 - .byte 0xA7, 0xF7, 0xBE, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x36, 0x21, 0xA7, 0xF7 - .byte 0xB7, 0xFD, 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x35, 0x21, 0xA7, 0xF7, 0xB0, 0xFD - .byte 0x38, 0xBD, 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x2F, 0x21, 0xA7, 0xF7, 0xA9, 0xFD, 0x38, 0xBD - .byte 0xE5, 0x20, 0x80, 0x00, 0x20, 0x58, 0x32, 0x21, 0xA7, 0xF7, 0xA2, 0xFD, 0x20, 0x69, 0x02, 0x28 - .byte 0x19, 0xD0, 0xE1, 0x68, 0x0D, 0x20, 0x48, 0x43, 0x50, 0x30, 0x00, 0x03, 0xA8, 0x60, 0x1B, 0x20 - .byte 0x00, 0x03, 0xE8, 0x60, 0x28, 0x1C, 0xA7, 0xF7, 0x45, 0xFC, 0xE6, 0x21, 0x89, 0x00, 0x60, 0x50 - .byte 0x20, 0x69, 0x00, 0x28, 0x60, 0x58, 0x03, 0xD1, 0x2D, 0x21, 0xA7, 0xF7, 0x89, 0xFD, 0x38, 0xBD - .byte 0x2E, 0x21, 0xA7, 0xF7, 0x85, 0xFD + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x33 + bl FUN_02020130 + pop {r3-r5, pc} +_020785A8: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x37 + bl FUN_02020130 + pop {r3-r5, pc} +_020785B6: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x36 + bl FUN_02020130 + pop {r3-r5, pc} +_020785C4: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x35 + bl FUN_02020130 + pop {r3-r5, pc} +_020785D2: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x2f + bl FUN_02020130 + pop {r3-r5, pc} +_020785E0: + mov r0, #0xe5 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + mov r1, #0x32 + bl FUN_02020130 + ldr r0, [r4, #0x10] + cmp r0, #0x2 + beq _02078626 + ldr r1, [r4, #0xc] + mov r0, #0xd + mul r0, r1 + add r0, #0x50 + lsl r0, r0, #0xc + str r0, [r5, #0x8] + mov r0, #0x1b + lsl r0, r0, #0xc + str r0, [r5, #0xc] + add r0, r5, #0x0 + bl FUN_0201FE94 + mov r1, #0xe6 + lsl r1, r1, #0x2 + str r0, [r4, r1] + ldr r0, [r4, #0x10] + cmp r0, #0x0 + ldr r0, [r4, r1] + bne _02078620 + mov r1, #0x2d + bl FUN_02020130 + pop {r3-r5, pc} +_02078620: + mov r1, #0x2e + bl FUN_02020130 _02078626: pop {r3-r5, pc} @@ -223735,13 +252453,15 @@ FUN_02078628: ; 0x02078628 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r2, r3, #0x1 - lsl r0, r4, #0 - lsl r2, r3, #0x1 - lsl r4, r6, #0 - lsl r2, r3, #0x1 - lsl r0, r1, #0x1 +_0207864A: ; jump table (using 16-bit offset) + .short _02078658 - _0207864A - 2; case 0 + .short _020786A6 - _0207864A - 2; case 1 + .short _0207866C - _0207864A - 2; case 2 + .short _020786A6 - _0207864A - 2; case 3 + .short _02078680 - _0207864A - 2; case 4 + .short _020786A6 - _0207864A - 2; case 5 + .short _02078694 - _0207864A - 2; case 6 +_02078658: mov r0, #0x1 ldr r1, [r4, #0x8] lsl r0, r0, #0xe @@ -223752,11 +252472,33 @@ FUN_02078628: ; 0x02078628 bl FUN_02020044 b _020786A6 _0207866C: - .byte 0x03, 0x20, 0xA1, 0x68 - .byte 0x00, 0x03, 0x08, 0x1A, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7, 0xE3, 0xFC, 0x12, 0xE0 - .byte 0x02, 0x20, 0xA1, 0x68, 0x00, 0x03, 0x08, 0x18, 0x00, 0x90, 0x20, 0x68, 0x00, 0xA9, 0xA7, 0xF7 - .byte 0xD9, 0xFC, 0x08, 0xE0, 0xA0, 0x68, 0x00, 0xA9, 0x00, 0x90, 0x20, 0x68, 0xA7, 0xF7, 0xD2, 0xFC - .byte 0x28, 0x1C, 0x8D, 0xF7, 0xBB, 0xFD + mov r0, #0x3 + ldr r1, [r4, #0x8] + lsl r0, r0, #0xc + sub r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + add r1, sp, #0x0 + bl FUN_02020044 + b _020786A6 +_02078680: + mov r0, #0x2 + ldr r1, [r4, #0x8] + lsl r0, r0, #0xc + add r0, r1, r0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + add r1, sp, #0x0 + bl FUN_02020044 + b _020786A6 +_02078694: + ldr r0, [r4, #0x8] + add r1, sp, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + bl FUN_02020044 + add r0, r5, #0x0 + bl FUN_0200621C _020786A6: ldr r0, [r4, #0x4] add r0, r0, #0x1 @@ -223794,11 +252536,13 @@ _020786DA: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r4, r2, #0x1 - lsl r2, r7, #0x1 - lsl r4, r2, #0x4 - lsl r6, r2, #0x6 +_020786E6: ; jump table (using 16-bit offset) + .short _020786F0 - _020786E6 - 2; case 0 + .short _0207873C - _020786E6 - 2; case 1 + .short _02078762 - _020786E6 - 2; case 2 + .short _020787FC - _020786E6 - 2; case 3 + .short _0207887E - _020786E6 - 2; case 4 +_020786F0: mov r0, #0x0 str r0, [sp, #0x0] mov r0, #0xe @@ -223835,36 +252579,168 @@ _020786DA: str r0, [r5, #0x0] pop {r3-r7, pc} _0207873C: - .byte 0x31, 0x06, 0x09, 0x0E - .byte 0x00, 0x22, 0xEE, 0x23, 0x9F, 0xF7, 0x4C, 0xF9, 0x03, 0x22, 0x31, 0x06, 0x13, 0x1C, 0x04, 0x98 - .byte 0x09, 0x0E, 0x53, 0x3B, 0x9F, 0xF7, 0x44, 0xF9, 0x28, 0x68, 0x0A, 0xB0, 0x40, 0x1C, 0x28, 0x60 - .byte 0xF8, 0xBD, 0x0C, 0x21, 0x30, 0x1C, 0x48, 0x43, 0x22, 0x58, 0x07, 0x90, 0x18, 0x3A, 0x22, 0x50 - .byte 0x20, 0x58, 0x0D, 0x39, 0x88, 0x42, 0x20, 0xDA, 0x44, 0x48, 0x10, 0x21, 0x00, 0x22, 0x12, 0x23 - .byte 0x8D, 0xF7, 0x32, 0xFD, 0xA2, 0xF7, 0xA0, 0xFF, 0x07, 0x1C, 0x12, 0x98, 0xC0, 0x69, 0x38, 0x60 - .byte 0x00, 0x20, 0x78, 0x60, 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xC0, 0xFC, 0x00, 0x68, 0xB8, 0x60 - .byte 0x12, 0x98, 0xC0, 0x69, 0xA7, 0xF7, 0xBA, 0xFC, 0x40, 0x68, 0x0A, 0x21, 0xF8, 0x60, 0x07, 0x98 - .byte 0xC9, 0x43, 0x21, 0x50, 0x28, 0x68, 0x40, 0x1C, 0x28, 0x60, 0x06, 0x98, 0x0C, 0x21, 0x07, 0x1C - .byte 0x25, 0x1D, 0x4F, 0x43, 0xE8, 0x59, 0x0A, 0x38, 0xE8, 0x51, 0x08, 0x1C, 0xEA, 0x59, 0xD0, 0x38 - .byte 0x82, 0x42, 0x01, 0xDA, 0xD0, 0x39, 0xE9, 0x51, 0x07, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58 - .byte 0x09, 0x0E, 0x00, 0x22, 0x9F, 0xF7, 0xFC, 0xF8, 0x06, 0x99, 0x04, 0x98, 0x09, 0x06, 0xEB, 0x59 - .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xF4, 0xF8, 0x0A, 0xB0, 0xF8, 0xBD, 0x06, 0x99, 0x0C, 0x20 - .byte 0x0A, 0x1C, 0x42, 0x43, 0x08, 0x92, 0x27, 0x1D, 0xBA, 0x58, 0x08, 0x99, 0x0A, 0x3A, 0x7A, 0x50 - .byte 0x7A, 0x58, 0x01, 0x1C, 0xD0, 0x39, 0x8A, 0x42, 0x02, 0xDA, 0x08, 0x99, 0xD0, 0x38, 0x78, 0x50 - .byte 0x0C, 0x20, 0x70, 0x43, 0x09, 0x90, 0x09, 0x9B, 0x31, 0x06, 0x04, 0x98, 0xE3, 0x58, 0x09, 0x0E - .byte 0x00, 0x22, 0x9F, 0xF7, 0xD5, 0xF8, 0x06, 0x99, 0x08, 0x9B, 0x09, 0x06, 0x04, 0x98, 0xFB, 0x58 - .byte 0x09, 0x0E, 0x03, 0x22, 0x9F, 0xF7, 0xCC, 0xF8, 0x09, 0x98, 0x0A, 0x21, 0x20, 0x58, 0xC9, 0x43 - .byte 0x88, 0x42, 0x14, 0xD1, 0x08, 0x98, 0xB9, 0x39, 0x38, 0x58, 0x88, 0x42, 0x0F, 0xD1, 0x28, 0x68 - .byte 0x22, 0x1C, 0x40, 0x1C, 0x28, 0x60, 0x10, 0x98, 0x01, 0x68, 0x01, 0x20, 0x41, 0x40, 0x10, 0x98 - .byte 0x01, 0x60, 0x04, 0x98, 0x00, 0xF0, 0x88, 0xF9, 0x05, 0x48, 0x8C, 0xF7, 0x25, 0xFE + lsl r1, r6, #0x18 + lsr r1, r1, #0x18 + mov r2, #0x0 + mov r3, #0xee + bl FUN_020179E0 + mov r2, #0x3 + lsl r1, r6, #0x18 + add r3, r2, #0x0 + ldr r0, [sp, #0x10] + lsr r1, r1, #0x18 + sub r3, #0x53 + bl FUN_020179E0 + ldr r0, [r5, #0x0] + add sp, #0x28 + add r0, r0, #0x1 + str r0, [r5, #0x0] + pop {r3-r7, pc} +_02078762: + mov r1, #0xc + add r0, r6, #0x0 + mul r0, r1 + ldr r2, [r4, r0] + str r0, [sp, #0x1c] + sub r2, #0x18 + str r2, [r4, r0] + ldr r0, [r4, r0] + sub r1, #0xd + cmp r0, r1 + bge _020787BA + ldr r0, _0207888C ; =FUN_02078628 + mov r1, #0x10 + mov r2, #0x0 + mov r3, #0x12 + bl FUN_020061E8 + bl FUN_0201B6C8 + add r7, r0, #0x0 + ldr r0, [sp, #0x48] + ldr r0, [r0, #0x1c] + str r0, [r7, #0x0] + mov r0, #0x0 + str r0, [r7, #0x4] + ldr r0, [sp, #0x48] + ldr r0, [r0, #0x1c] + bl FUN_0202011C + ldr r0, [r0, #0x0] + str r0, [r7, #0x8] + ldr r0, [sp, #0x48] + ldr r0, [r0, #0x1c] + bl FUN_0202011C + ldr r0, [r0, #0x4] + mov r1, #0xa + str r0, [r7, #0xc] + ldr r0, [sp, #0x1c] + mvn r1, r1 + str r1, [r4, r0] + ldr r0, [r5, #0x0] + add r0, r0, #0x1 + str r0, [r5, #0x0] +_020787BA: + ldr r0, [sp, #0x18] + mov r1, #0xc + add r7, r0, #0x0 + add r5, r4, #0x4 + mul r7, r1 + ldr r0, [r5, r7] + sub r0, #0xa + str r0, [r5, r7] + add r0, r1, #0x0 + ldr r2, [r5, r7] + sub r0, #0xd0 + cmp r2, r0 + bge _020787D8 + sub r1, #0xd0 + str r1, [r5, r7] +_020787D8: + ldr r3, [sp, #0x1c] + lsl r1, r6, #0x18 + ldr r0, [sp, #0x10] + ldr r3, [r4, r3] + lsr r1, r1, #0x18 + mov r2, #0x0 + bl FUN_020179E0 + ldr r1, [sp, #0x18] + ldr r0, [sp, #0x10] + lsl r1, r1, #0x18 + ldr r3, [r5, r7] + lsr r1, r1, #0x18 + mov r2, #0x3 + bl FUN_020179E0 + add sp, #0x28 + pop {r3-r7, pc} +_020787FC: + ldr r1, [sp, #0x18] + mov r0, #0xc + add r2, r1, #0x0 + mul r2, r0 + str r2, [sp, #0x20] + add r7, r4, #0x4 + ldr r2, [r7, r2] + ldr r1, [sp, #0x20] + sub r2, #0xa + str r2, [r7, r1] + ldr r2, [r7, r1] + add r1, r0, #0x0 + sub r1, #0xd0 + cmp r2, r1 + bge _02078820 + ldr r1, [sp, #0x20] + sub r0, #0xd0 + str r0, [r7, r1] +_02078820: + mov r0, #0xc + mul r0, r6 + str r0, [sp, #0x24] + ldr r3, [sp, #0x24] + lsl r1, r6, #0x18 + ldr r0, [sp, #0x10] + ldr r3, [r4, r3] + lsr r1, r1, #0x18 + mov r2, #0x0 + bl FUN_020179E0 + ldr r1, [sp, #0x18] + ldr r3, [sp, #0x20] + lsl r1, r1, #0x18 + ldr r0, [sp, #0x10] + ldr r3, [r7, r3] + lsr r1, r1, #0x18 + mov r2, #0x3 + bl FUN_020179E0 + ldr r0, [sp, #0x24] + mov r1, #0xa + ldr r0, [r4, r0] + mvn r1, r1 + cmp r0, r1 + bne _0207887E + ldr r0, [sp, #0x20] + sub r1, #0xb9 + ldr r0, [r7, r0] + cmp r0, r1 + bne _0207887E + ldr r0, [r5, #0x0] + add r2, r4, #0x0 + add r0, r0, #0x1 + str r0, [r5, #0x0] + ldr r0, [sp, #0x40] + ldr r1, [r0, #0x0] + mov r0, #0x1 + eor r1, r0 + ldr r0, [sp, #0x40] + str r1, [r0, #0x0] + ldr r0, [sp, #0x10] + bl FUN_02078B88 + ldr r0, _02078890 ; =0x0000069B + bl FUN_020054C8 _0207887E: add sp, #0x28 pop {r3-r7, pc} nop _02078884: .word 0x020F9D2C _02078888: .word 0x000E0F00 -_0207888C: - .byte 0x29, 0x86, 0x07, 0x02 - .byte 0x9B, 0x06, 0x00, 0x00 +_0207888C: .word FUN_02078628 + 1 +_02078890: .word 0x0000069B thumb_func_start FUN_02078894 FUN_02078894: ; 0x02078894 @@ -224876,10 +253752,11 @@ _0207908C: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r6, #0 - lsl r4, r6, #0 - lsl r4, r6, #0 - lsl r4, r6, #0 +_020790AC: ; jump table (using 16-bit offset) + .short _020790E2 - _020790AC - 2; case 0 + .short _020790E2 - _020790AC - 2; case 1 + .short _020790E2 - _020790AC - 2; case 2 + .short _020790E2 - _020790AC - 2; case 3 _020790B4: ldr r2, _02079164 ; =0x0000E002 cmp r1, r2 @@ -224902,10 +253779,11 @@ _020790C6: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r6, r0, #0 +_020790DA: ; jump table (using 16-bit offset) + .short _020790E2 - _020790DA - 2; case 0 + .short _020790E2 - _020790DA - 2; case 1 + .short _020790E2 - _020790DA - 2; case 2 + .short _020790E2 - _020790DA - 2; case 3 _020790E2: mov r1, #0x1 _020790E4: @@ -225081,12 +253959,13 @@ _02079212: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r7, #0x3 - lsl r4, r7, #0x3 - lsl r4, r7, #0x3 - lsl r2, r5, #0x2 - lsl r6, r7, #0x4 - lsl r6, r5, #0x7 +_0207921E: ; jump table (using 16-bit offset) + .short _0207931C - _0207921E - 2; case 0 + .short _0207931C - _0207921E - 2; case 1 + .short _0207931C - _0207921E - 2; case 2 + .short _020792CA - _0207921E - 2; case 3 + .short _0207935E - _0207921E - 2; case 4 + .short _0207940E - _0207921E - 2; case 5 _0207922A: add r0, r4, #0x0 add r0, #0xd8 @@ -225163,12 +254042,43 @@ _0207927C: bl FUN_020054C8 b _02079526 _020792CA: - .byte 0x56, 0x23, 0x9B, 0x00, 0xE3, 0x5A - .byte 0x22, 0x1C, 0x00, 0x20, 0x52, 0x21, 0xD8, 0x32, 0x00, 0xF0, 0x5A, 0xF9, 0x00, 0x28, 0x43, 0xD0 - .byte 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x9A, 0xF9, 0x0C, 0x20, 0x00, 0x90 - .byte 0x00, 0x22, 0x21, 0x1C, 0x92, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18 - .byte 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0xB9, 0xFD, 0x4A, 0x20, 0x00, 0x01, 0x21, 0x58 - .byte 0x49, 0x1C, 0x21, 0x50, 0x8B, 0x48, 0x8C, 0xF7, 0xD7, 0xF8, 0x04, 0xE1 + mov r3, #0x56 + lsl r3, r3, #0x2 + ldrh r3, [r4, r3] + add r2, r4, #0x0 + mov r0, #0x0 + mov r1, #0x52 + add r2, #0xd8 + bl FUN_02079590 + cmp r0, #0x0 + beq _02079368 + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl FUN_02019620 + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + add r1, r4, #0x0 + ldr r0, _02079540 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + add r1, #0xd8 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl FUN_02078E7C + mov r0, #0x4a + lsl r0, r0, #0x4 + ldr r1, [r4, r0] + add r1, r1, #0x1 + str r1, [r4, r0] + ldr r0, _02079544 ; =0x000005EB + bl FUN_020054C8 + b _02079526 _0207931C: mov r2, #0x46 lsl r2, r2, #0x4 @@ -225201,27 +254111,128 @@ _0207931C: bl FUN_020200A0 b _02079526 _0207935E: - .byte 0x56, 0x21 - .byte 0x89, 0x00, 0x60, 0x5A, 0x00, 0x28, 0x00, 0xD1 + mov r1, #0x56 + lsl r1, r1, #0x2 + ldrh r0, [r4, r1] + cmp r0, #0x0 + bne _0207936A _02079368: b _02079526 _0207936A: - .byte 0x40, 0x1E, 0x40, 0x00, 0x20, 0x18 - .byte 0x76, 0x4A, 0xD8, 0x30, 0x02, 0x80, 0x60, 0x5A, 0x40, 0x1E, 0x60, 0x52, 0xFA, 0x20, 0x80, 0x00 - .byte 0x20, 0x18, 0x01, 0x21, 0xA0, 0xF7, 0x4C, 0xF9, 0x56, 0x20, 0x80, 0x00, 0x20, 0x5A, 0x00, 0x28 - .byte 0x05, 0xD1, 0xFA, 0x20, 0x80, 0x00, 0x20, 0x18, 0x9F, 0xF7, 0x1A, 0xFF, 0x0E, 0xE0, 0x0C, 0x20 - .byte 0x00, 0x90, 0x00, 0x22, 0x66, 0x48, 0x01, 0x92, 0x02, 0x90, 0xFA, 0x20, 0x80, 0x00, 0x21, 0x1C - .byte 0x20, 0x18, 0xD8, 0x31, 0x13, 0x1C, 0x03, 0x92, 0xFF, 0xF7, 0x60, 0xFD, 0x64, 0x48, 0x5F, 0x23 - .byte 0x21, 0x18, 0x9B, 0x00, 0x00, 0x91, 0xE1, 0x58, 0x1A, 0x1C, 0x01, 0x91, 0x24, 0x3A, 0xCC, 0x38 - .byte 0x21, 0x1C, 0x22, 0x3B, 0xA2, 0x5A, 0x20, 0x18, 0xD8, 0x31, 0xE3, 0x18, 0xFF, 0xF7, 0x4E, 0xFE - .byte 0x56, 0x21, 0x89, 0x00, 0xD9, 0x20, 0x80, 0x00, 0x61, 0x5A, 0xE2, 0x68, 0x20, 0x18, 0x00, 0xF0 - .byte 0x8F, 0xF9, 0x58, 0x48, 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x57, 0x48, 0x8C, 0xF7, 0x64, 0xF8 - .byte 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7, 0x4A, 0xFE, 0x8B, 0xE0, 0x53, 0x48 - .byte 0x20, 0x58, 0x9A, 0xF7, 0xDD, 0xFF, 0xD3, 0x20, 0x80, 0x00, 0x20, 0x58, 0x31, 0x1C, 0xA6, 0xF7 - .byte 0x3F, 0xFE, 0x60, 0x69, 0x00, 0x28, 0x15, 0xD1, 0x4D, 0x48, 0x8C, 0xF7, 0x4D, 0xF8, 0x4D, 0x48 - .byte 0x21, 0x58, 0x49, 0x1C, 0x21, 0x50, 0x00, 0x21, 0x10, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90 - .byte 0x12, 0x20, 0x02, 0x90, 0x02, 0x20, 0x0A, 0x1C, 0x0B, 0x1C, 0x94, 0xF7, 0xC1, 0xFE, 0x04, 0xB0 - .byte 0x03, 0x20, 0x70, 0xBD, 0x44, 0x48, 0x05, 0x21, 0x21, 0x50, 0x64, 0xE0 + sub r0, r0, #0x1 + lsl r0, r0, #0x1 + add r0, r4, r0 + ldr r2, _0207954C ; =0x0000FFFF + add r0, #0xd8 + strh r2, [r0, #0x0] + ldrh r0, [r4, r1] + sub r0, r0, #0x1 + strh r0, [r4, r1] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + mov r1, #0x1 + bl FUN_02019620 + mov r0, #0x56 + lsl r0, r0, #0x2 + ldrh r0, [r4, r0] + cmp r0, #0x0 + bne _0207939E + mov r0, #0xfa + lsl r0, r0, #0x2 + add r0, r4, r0 + bl FUN_020191D0 + b _020793BC +_0207939E: + mov r0, #0xc + str r0, [sp, #0x0] + mov r2, #0x0 + ldr r0, _02079540 ; =0x000E0F01 + str r2, [sp, #0x4] + str r0, [sp, #0x8] + mov r0, #0xfa + lsl r0, r0, #0x2 + add r1, r4, #0x0 + add r0, r4, r0 + add r1, #0xd8 + add r3, r2, #0x0 + str r2, [sp, #0xc] + bl FUN_02078E7C +_020793BC: + ldr r0, _02079550 ; =0x000004C4 + mov r3, #0x5f + add r1, r4, r0 + lsl r3, r3, #0x2 + str r1, [sp, #0x0] + ldr r1, [r4, r3] + add r2, r3, #0x0 + str r1, [sp, #0x4] + sub r2, #0x24 + sub r0, #0xcc + add r1, r4, #0x0 + sub r3, #0x22 + ldrh r2, [r4, r2] + add r0, r4, r0 + add r1, #0xd8 + add r3, r4, r3 + bl FUN_0207907C + mov r1, #0x56 + lsl r1, r1, #0x2 + mov r0, #0xd9 + lsl r0, r0, #0x2 + ldrh r1, [r4, r1] + ldr r2, [r4, #0xc] + add r0, r4, r0 + bl FUN_02079710 + ldr r0, _02079554 ; =0x000004A4 + ldr r1, [r4, r0] + add r1, r1, #0x1 + str r1, [r4, r0] + ldr r0, _02079558 ; =0x000005DC + bl FUN_020054C8 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, r6, #0x0 + bl FUN_020200A0 + b _02079526 +_0207940E: + ldr r0, _0207955C ; =0x000005C4 + ldr r0, [r4, r0] + bl FUN_020143D0 + mov r0, #0xd3 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + add r1, r6, #0x0 + bl FUN_020200A0 + ldr r0, [r4, #0x14] + cmp r0, #0x0 + bne _02079454 + ldr r0, _02079560 ; =0x000005E2 + bl FUN_020054C8 + ldr r0, _02079564 ; =0x000004A8 + ldr r1, [r4, r0] + add r1, r1, #0x1 + str r1, [r4, r0] + mov r1, #0x0 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + mov r0, #0x12 + str r0, [sp, #0x8] + mov r0, #0x2 + add r2, r1, #0x0 + add r3, r1, #0x0 + bl FUN_0200E1D0 + add sp, #0x10 + mov r0, #0x3 + pop {r4-r6, pc} +_02079454: + ldr r0, _02079568 ; =0x0000045C + mov r1, #0x5 + str r1, [r4, r0] + b _02079526 _0207945C: mov r0, #0x46 lsl r0, r0, #0x4 @@ -225329,12 +254340,14 @@ _0207953C: .word 0x0000D001 _02079540: .word 0x000E0F01 _02079544: .word 0x000005EB _02079548: .word 0x0000069E -_0207954C: - .byte 0xFF, 0xFF, 0x00, 0x00 +_0207954C: .word 0x0000FFFF _02079550: .word 0x000004C4 -_02079554: - .byte 0xA4, 0x04, 0x00, 0x00, 0xDC, 0x05, 0x00, 0x00, 0xC4, 0x05, 0x00, 0x00 - .byte 0xE2, 0x05, 0x00, 0x00, 0xA8, 0x04, 0x00, 0x00, 0x5C, 0x04, 0x00, 0x00 +_02079554: .word 0x000004A4 +_02079558: .word 0x000005DC +_0207955C: .word 0x000005C4 +_02079560: .word 0x000005E2 +_02079564: .word 0x000004A8 +_02079568: .word 0x0000045C _0207956C: .word 0x04000050 thumb_func_start FUN_02079570 @@ -226446,26 +255459,28 @@ FUN_02079DB4: ; 0x02079DB4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r4, #0 - lsl r4, r6, #0 - lsl r4, r7, #0 - lsl r4, r0, #0x1 - lsl r4, r1, #0x1 - lsl r4, r2, #0x1 - lsl r4, r3, #0x1 - lsl r4, r4, #0x1 - lsl r4, r5, #0x1 - lsl r4, r6, #0x1 - lsl r4, r7, #0x1 - lsl r4, r0, #0x2 - lsl r4, r1, #0x2 - lsl r4, r2, #0x2 - lsl r4, r3, #0x2 - lsl r4, r4, #0x2 - lsl r4, r5, #0x2 - lsl r4, r6, #0x2 - lsl r4, r7, #0x2 - lsl r4, r0, #0x3 +_02079DD0: ; jump table (using 16-bit offset) + .short _02079DF8 - _02079DD0 - 2; case 0 + .short _02079E06 - _02079DD0 - 2; case 1 + .short _02079E0E - _02079DD0 - 2; case 2 + .short _02079E16 - _02079DD0 - 2; case 3 + .short _02079E1E - _02079DD0 - 2; case 4 + .short _02079E26 - _02079DD0 - 2; case 5 + .short _02079E2E - _02079DD0 - 2; case 6 + .short _02079E36 - _02079DD0 - 2; case 7 + .short _02079E3E - _02079DD0 - 2; case 8 + .short _02079E46 - _02079DD0 - 2; case 9 + .short _02079E4E - _02079DD0 - 2; case 10 + .short _02079E56 - _02079DD0 - 2; case 11 + .short _02079E5E - _02079DD0 - 2; case 12 + .short _02079E66 - _02079DD0 - 2; case 13 + .short _02079E6E - _02079DD0 - 2; case 14 + .short _02079E76 - _02079DD0 - 2; case 15 + .short _02079E7E - _02079DD0 - 2; case 16 + .short _02079E86 - _02079DD0 - 2; case 17 + .short _02079E8E - _02079DD0 - 2; case 18 + .short _02079E96 - _02079DD0 - 2; case 19 +_02079DF8: mov r0, #0x0 mov r1, #0x13 bl FUN_02079A70 @@ -226473,17 +255488,83 @@ FUN_02079DB4: ; 0x02079DB4 str r0, [r4, #0x0] b _02079EA2 _02079E06: - .byte 0x00, 0xF0, 0x67, 0xFA, 0x20, 0x60, 0x49, 0xE0, 0x00, 0xF0 - .byte 0x7F, 0xFA, 0x20, 0x60, 0x45, 0xE0, 0x00, 0xF0, 0x17, 0xFB, 0x20, 0x60, 0x41, 0xE0, 0x00, 0xF0 - .byte 0x1D, 0xFB, 0x20, 0x60, 0x3D, 0xE0, 0x00, 0xF0, 0x23, 0xFB, 0x20, 0x60, 0x39, 0xE0, 0x00, 0xF0 - .byte 0x29, 0xFB, 0x20, 0x60, 0x35, 0xE0, 0x00, 0xF0, 0x2F, 0xFB, 0x20, 0x60, 0x31, 0xE0, 0x00, 0xF0 - .byte 0x9D, 0xFB, 0x20, 0x60, 0x2D, 0xE0, 0x00, 0xF0, 0x05, 0xFC, 0x20, 0x60, 0x29, 0xE0, 0x00, 0xF0 - .byte 0x87, 0xFC, 0x20, 0x60, 0x25, 0xE0, 0x00, 0xF0, 0x91, 0xFC, 0x20, 0x60, 0x21, 0xE0, 0x00, 0xF0 - .byte 0x97, 0xFC, 0x20, 0x60, 0x1D, 0xE0, 0x00, 0xF0, 0x9D, 0xFC, 0x20, 0x60, 0x19, 0xE0, 0x00, 0xF0 - .byte 0xD3, 0xFC, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0x05, 0xFD, 0x20, 0x60, 0x11, 0xE0, 0x00, 0xF0 - .byte 0xCF, 0xFD, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0xF3, 0xFD, 0x20, 0x60, 0x09, 0xE0, 0x00, 0xF0 - .byte 0xFB, 0xFD, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0xFF, 0xFD, 0x01, 0x28, 0x01, 0xD1, 0x01, 0x20 - .byte 0x38, 0xBD + bl FUN_0207A2D8 + str r0, [r4, #0x0] + b _02079EA2 +_02079E0E: + bl FUN_0207A310 + str r0, [r4, #0x0] + b _02079EA2 +_02079E16: + bl FUN_0207A448 + str r0, [r4, #0x0] + b _02079EA2 +_02079E1E: + bl FUN_0207A45C + str r0, [r4, #0x0] + b _02079EA2 +_02079E26: + bl FUN_0207A470 + str r0, [r4, #0x0] + b _02079EA2 +_02079E2E: + bl FUN_0207A484 + str r0, [r4, #0x0] + b _02079EA2 +_02079E36: + bl FUN_0207A498 + str r0, [r4, #0x0] + b _02079EA2 +_02079E3E: + bl FUN_0207A57C + str r0, [r4, #0x0] + b _02079EA2 +_02079E46: + bl FUN_0207A654 + str r0, [r4, #0x0] + b _02079EA2 +_02079E4E: + bl FUN_0207A760 + str r0, [r4, #0x0] + b _02079EA2 +_02079E56: + bl FUN_0207A77C + str r0, [r4, #0x0] + b _02079EA2 +_02079E5E: + bl FUN_0207A790 + str r0, [r4, #0x0] + b _02079EA2 +_02079E66: + bl FUN_0207A7A4 + str r0, [r4, #0x0] + b _02079EA2 +_02079E6E: + bl FUN_0207A818 + str r0, [r4, #0x0] + b _02079EA2 +_02079E76: + bl FUN_0207A884 + str r0, [r4, #0x0] + b _02079EA2 +_02079E7E: + bl FUN_0207AA20 + str r0, [r4, #0x0] + b _02079EA2 +_02079E86: + bl FUN_0207AA70 + str r0, [r4, #0x0] + b _02079EA2 +_02079E8E: + bl FUN_0207AA88 + str r0, [r4, #0x0] + b _02079EA2 +_02079E96: + bl FUN_0207AA98 + cmp r0, #0x1 + bne _02079EA2 + mov r0, #0x1 + pop {r3-r5, pc} _02079EA2: add r0, r5, #0x0 bl FUN_0207C3F4 @@ -228552,11 +257633,13 @@ FUN_0207AF58: ; 0x0207AF58 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r1, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 - lsl r0, r5, #0 +_0207AF74: ; jump table (using 16-bit offset) + .short _0207AF7E - _0207AF74 - 2; case 0 + .short _0207AF7E - _0207AF74 - 2; case 1 + .short _0207AF96 - _0207AF74 - 2; case 2 + .short _0207AF9E - _0207AF74 - 2; case 3 + .short _0207AF9E - _0207AF74 - 2; case 4 +_0207AF7E: add r1, #0x54 ldr r0, [r4, r1] lsl r0, r0, #0x3 @@ -228571,8 +257654,14 @@ _0207AF90: strb r1, [r4, r0] b _0207AFA4 _0207AF96: - .byte 0x19, 0x48, 0x03, 0x21, 0x21, 0x54, 0x02, 0xE0, 0x17, 0x48 - .byte 0x04, 0x21, 0x21, 0x54 + ldr r0, _0207AFFC ; =0x0000068C + mov r1, #0x3 + strb r1, [r4, r0] + b _0207AFA4 +_0207AF9E: + ldr r0, _0207AFFC ; =0x0000068C + mov r1, #0x4 + strb r1, [r4, r0] _0207AFA4: add r0, r4, #0x0 mov r1, #0x0 @@ -228988,15 +258077,21 @@ FUN_0207B2B0: ; 0x0207B2B0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r4, r1, #0 - lsl r0, r1, #0 - lsl r0, r1, #0 +_0207B2D6: ; jump table (using 16-bit offset) + .short _0207B2E0 - _0207B2D6 - 2; case 0 + .short _0207B2E8 - _0207B2D6 - 2; case 1 + .short _0207B2E4 - _0207B2D6 - 2; case 2 + .short _0207B2E0 - _0207B2D6 - 2; case 3 + .short _0207B2E0 - _0207B2D6 - 2; case 4 +_0207B2E0: ldr r7, _0207B35C ; =0x0000A0C0 b _0207B2EC _0207B2E4: - .byte 0x1E, 0x4F, 0x01, 0xE0, 0xA1, 0x27, 0x3F, 0x02 + ldr r7, _0207B360 ; =0x0000A0E0 + b _0207B2EC +_0207B2E8: + mov r7, #0xa1 + lsl r7, r7, #0x8 _0207B2EC: mov r1, #0x9d lsl r1, r1, #0x2 @@ -229057,8 +258152,7 @@ _0207B344: pop {r4-r7, pc} nop _0207B35C: .word 0x0000A0C0 -_0207B360: - .byte 0xE0, 0xA0, 0x00, 0x00 +_0207B360: .word 0x0000A0E0 thumb_func_start FUN_0207B364 FUN_0207B364: ; 0x0207B364 @@ -232197,11 +261291,13 @@ _0207CC9E: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r1, #0 - lsl r4, r5, #0 - lsl r4, r3, #0x2 - lsl r4, r7, #0x2 - lsl r6, r2, #0x4 +_0207CCB2: ; jump table (using 16-bit offset) + .short _0207CCBC - _0207CCB2 - 2; case 0 + .short _0207CCE0 - _0207CCB2 - 2; case 1 + .short _0207CD50 - _0207CCB2 - 2; case 2 + .short _0207CD70 - _0207CCB2 - 2; case 3 + .short _0207CDCA - _0207CCB2 - 2; case 4 +_0207CCBC: add r1, r0, #0x7 ldrb r1, [r4, r1] add r2, r1, #0x1 @@ -232223,23 +261319,136 @@ _0207CCCE: strb r2, [r4, r0] b _0207CDE8 _0207CCE0: - .byte 0xC1, 0x1D, 0x61, 0x5C, 0x00, 0x29, 0x2A, 0xD1, 0x80, 0x1D, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00 - .byte 0x21, 0x18, 0x52, 0x48, 0x08, 0x58, 0x01, 0x21, 0xA3, 0xF7, 0xD2, 0xF9, 0x50, 0x48, 0x20, 0x5C - .byte 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x4D, 0x48, 0x08, 0x58, 0x00, 0x21, 0xA3, 0xF7, 0x7C, 0xFA - .byte 0x4B, 0x48, 0x20, 0x5C, 0x1D, 0x30, 0x80, 0x00, 0x21, 0x18, 0x48, 0x48, 0x08, 0x58, 0x00, 0x21 - .byte 0xA3, 0xF7, 0x06, 0xFA, 0x46, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x41, 0x1E, 0x22, 0x5C - .byte 0x61, 0x5C, 0x8A, 0x42, 0x03, 0xD1, 0x02, 0x21, 0x80, 0x1E, 0x21, 0x54, 0x54, 0xE0, 0x41, 0x48 - .byte 0x0A, 0x21, 0x20, 0x5C, 0x40, 0x1C, 0x6E, 0xF0, 0x9C, 0xEF, 0x3E, 0x48, 0x21, 0x54, 0x4B, 0xE0 - .byte 0x1C, 0x31, 0x88, 0x00, 0x21, 0x18, 0x39, 0x48, 0x08, 0x58, 0xA3, 0xF7, 0xE5, 0xF9, 0x00, 0x28 - .byte 0x42, 0xD1, 0x38, 0x48, 0x00, 0x21, 0x21, 0x54, 0x03, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x3B, 0xE0 - .byte 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C, 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x33, 0xD1 - .byte 0x40, 0x1D, 0x20, 0x5C, 0x1D, 0x26, 0x1D, 0x30, 0x1D, 0x28, 0x17, 0xD9, 0x25, 0x1C, 0x2E, 0x4F - .byte 0x74, 0x35, 0x2A, 0x48, 0x01, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0x82, 0xF9, 0x27, 0x48, 0x00, 0x21 - .byte 0x28, 0x58, 0xA3, 0xF7, 0x31, 0xFA, 0x25, 0x48, 0x00, 0x21, 0x28, 0x58, 0xA3, 0xF7, 0xC0, 0xF9 - .byte 0xE0, 0x5D, 0x76, 0x1C, 0x2D, 0x1D, 0x1D, 0x30, 0x86, 0x42, 0xEA, 0xD3, 0x21, 0x48, 0x00, 0x21 - .byte 0x21, 0x54, 0x04, 0x21, 0xC0, 0x1E, 0x21, 0x54, 0x0E, 0xE0, 0xC1, 0x1D, 0x61, 0x5C, 0x4A, 0x1C - .byte 0xC1, 0x1D, 0x62, 0x54, 0x61, 0x5C, 0x20, 0x29, 0x06, 0xD1, 0x00, 0x22, 0x01, 0x1D, 0x62, 0x54 - .byte 0xC1, 0x1D, 0x62, 0x54, 0x80, 0x1D, 0x22, 0x54 + add r1, r0, #0x7 + ldrb r1, [r4, r1] + cmp r1, #0x0 + bne _0207CD3E + add r0, r0, #0x6 + ldrb r0, [r4, r0] + add r0, #0x1d + lsl r0, r0, #0x2 + add r1, r4, r0 + ldr r0, _0207CE3C ; =0x00000408 + ldr r0, [r1, r0] + mov r1, #0x1 + bl FUN_020200A0 + ldr r0, _0207CE40 ; =0x00000692 + ldrb r0, [r4, r0] + add r0, #0x1d + lsl r0, r0, #0x2 + add r1, r4, r0 + ldr r0, _0207CE3C ; =0x00000408 + ldr r0, [r1, r0] + mov r1, #0x0 + bl FUN_02020208 + ldr r0, _0207CE40 ; =0x00000692 + ldrb r0, [r4, r0] + add r0, #0x1d + lsl r0, r0, #0x2 + add r1, r4, r0 + ldr r0, _0207CE3C ; =0x00000408 + ldr r0, [r1, r0] + mov r1, #0x0 + bl FUN_02020130 + ldr r0, _0207CE40 ; =0x00000692 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + sub r1, r0, #0x1 + ldrb r2, [r4, r0] + ldrb r1, [r4, r1] + cmp r2, r1 + bne _0207CD3E + mov r1, #0x2 + sub r0, r0, #0x2 + strb r1, [r4, r0] + b _0207CDE8 +_0207CD3E: + ldr r0, _0207CE44 ; =0x00000693 + mov r1, #0xa + ldrb r0, [r4, r0] + add r0, r0, #0x1 + blx FUN_020EBC80 + ldr r0, _0207CE44 ; =0x00000693 + strb r1, [r4, r0] + b _0207CDE8 +_0207CD50: + add r1, #0x1c + lsl r0, r1, #0x2 + add r1, r4, r0 + ldr r0, _0207CE3C ; =0x00000408 + ldr r0, [r1, r0] + bl FUN_02020128 + cmp r0, #0x0 + bne _0207CDE8 + ldr r0, _0207CE44 ; =0x00000693 + mov r1, #0x0 + strb r1, [r4, r0] + mov r1, #0x3 + sub r0, r0, #0x3 + strb r1, [r4, r0] + b _0207CDE8 +_0207CD70: + add r1, r0, #0x7 + ldrb r1, [r4, r1] + add r2, r1, #0x1 + add r1, r0, #0x7 + strb r2, [r4, r1] + ldrb r1, [r4, r1] + cmp r1, #0x20 + bne _0207CDE8 + add r0, r0, #0x5 + ldrb r0, [r4, r0] + mov r6, #0x1d + add r0, #0x1d + cmp r0, #0x1d + bls _0207CDBC + add r5, r4, #0x0 + ldr r7, _0207CE48 ; =0x00000691 + add r5, #0x74 +_0207CD92: + ldr r0, _0207CE3C ; =0x00000408 + mov r1, #0x1 + ldr r0, [r5, r0] + bl FUN_020200A0 + ldr r0, _0207CE3C ; =0x00000408 + mov r1, #0x0 + ldr r0, [r5, r0] + bl FUN_02020208 + ldr r0, _0207CE3C ; =0x00000408 + mov r1, #0x0 + ldr r0, [r5, r0] + bl FUN_02020130 + ldrb r0, [r4, r7] + add r6, r6, #0x1 + add r5, r5, #0x4 + add r0, #0x1d + cmp r6, r0 + blo _0207CD92 +_0207CDBC: + ldr r0, _0207CE44 ; =0x00000693 + mov r1, #0x0 + strb r1, [r4, r0] + mov r1, #0x4 + sub r0, r0, #0x3 + strb r1, [r4, r0] + b _0207CDE8 +_0207CDCA: + add r1, r0, #0x7 + ldrb r1, [r4, r1] + add r2, r1, #0x1 + add r1, r0, #0x7 + strb r2, [r4, r1] + ldrb r1, [r4, r1] + cmp r1, #0x20 + bne _0207CDE8 + mov r2, #0x0 + add r1, r0, #0x4 + strb r2, [r4, r1] + add r1, r0, #0x7 + strb r2, [r4, r1] + add r0, r0, #0x6 + strb r2, [r4, r0] _0207CDE8: ldr r0, _0207CE48 ; =0x00000691 mov r6, #0x1d @@ -232282,8 +261491,8 @@ _0207CE34: nop _0207CE38: .word 0x0000068C _0207CE3C: .word 0x00000408 -_0207CE40: - .byte 0x92, 0x06, 0x00, 0x00, 0x93, 0x06, 0x00, 0x00 +_0207CE40: .word 0x00000692 +_0207CE44: .word 0x00000693 _0207CE48: .word 0x00000691 thumb_func_start FUN_0207CE4C @@ -233250,14 +262459,16 @@ FUN_0207D604: ; 0x0207D604 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r2, r3, #0 - lsl r6, r4, #0 - lsl r2, r6, #0 - lsl r6, r2, #0x1 - lsl r6, r7, #0 - lsl r2, r1, #0x1 - lsl r6, r2, #0x1 +_0207D61C: ; jump table (using 16-bit offset) + .short _0207D62C - _0207D61C - 2; case 0 + .short _0207D638 - _0207D61C - 2; case 1 + .short _0207D644 - _0207D61C - 2; case 2 + .short _0207D650 - _0207D61C - 2; case 3 + .short _0207D674 - _0207D61C - 2; case 4 + .short _0207D65C - _0207D61C - 2; case 5 + .short _0207D668 - _0207D61C - 2; case 6 + .short _0207D674 - _0207D61C - 2; case 7 +_0207D62C: mov r0, #0x92 mov r1, #0x6 lsl r0, r0, #0x2 @@ -233265,12 +262476,57 @@ FUN_0207D604: ; 0x0207D604 str r1, [r4, r0] b _0207D692 _0207D638: - .byte 0x92, 0x20, 0x01, 0x21, 0x80, 0x00, 0x28, 0x4D - .byte 0x21, 0x50, 0x26, 0xE0, 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x26, 0x4D, 0x21, 0x50, 0x20, 0xE0 - .byte 0x92, 0x20, 0x08, 0x21, 0x80, 0x00, 0x24, 0x4D, 0x21, 0x50, 0x1A, 0xE0, 0x92, 0x20, 0x06, 0x21 - .byte 0x80, 0x00, 0x22, 0x4D, 0x21, 0x50, 0x14, 0xE0, 0x92, 0x20, 0x04, 0x21, 0x80, 0x00, 0x20, 0x4D - .byte 0x21, 0x50, 0x0E, 0xE0, 0x93, 0x20, 0x80, 0x00, 0x20, 0x58, 0x80, 0x7C, 0x03, 0x28, 0x01, 0xD0 - .byte 0x04, 0x28, 0x27, 0xD1, 0x92, 0x20, 0x03, 0x21, 0x80, 0x00, 0x1A, 0x4D, 0x21, 0x50, 0x00, 0xE0 + mov r0, #0x92 + mov r1, #0x1 + lsl r0, r0, #0x2 + ldr r5, _0207D6E0 ; =0x020FB38C + str r1, [r4, r0] + b _0207D692 +_0207D644: + mov r0, #0x92 + mov r1, #0x8 + lsl r0, r0, #0x2 + ldr r5, _0207D6E4 ; =0x020FB42C + str r1, [r4, r0] + b _0207D692 +_0207D650: + mov r0, #0x92 + mov r1, #0x8 + lsl r0, r0, #0x2 + ldr r5, _0207D6E8 ; =0x020FB46C + str r1, [r4, r0] + b _0207D692 +_0207D65C: + mov r0, #0x92 + mov r1, #0x6 + lsl r0, r0, #0x2 + ldr r5, _0207D6EC ; =0x020FB3CC + str r1, [r4, r0] + b _0207D692 +_0207D668: + mov r0, #0x92 + mov r1, #0x4 + lsl r0, r0, #0x2 + ldr r5, _0207D6F0 ; =0x020FB3AC + str r1, [r4, r0] + b _0207D692 +_0207D674: + mov r0, #0x93 + lsl r0, r0, #0x2 + ldr r0, [r4, r0] + ldrb r0, [r0, #0x12] + cmp r0, #0x3 + beq _0207D684 + cmp r0, #0x4 + bne _0207D6D4 +_0207D684: + mov r0, #0x92 + mov r1, #0x3 + lsl r0, r0, #0x2 + ldr r5, _0207D6F4 ; =0x020FB394 + str r1, [r4, r0] + b _0207D692 +_0207D690: .byte 0xF8, 0xBD _0207D692: mov r1, #0x92 @@ -233310,9 +262566,12 @@ _0207D6D4: nop _0207D6D8: .word 0x0000068C _0207D6DC: .word 0x020FB3FC -_0207D6E0: - .byte 0x8C, 0xB3, 0x0F, 0x02, 0x2C, 0xB4, 0x0F, 0x02, 0x6C, 0xB4, 0x0F, 0x02, 0xCC, 0xB3, 0x0F, 0x02 - .byte 0xAC, 0xB3, 0x0F, 0x02, 0x94, 0xB3, 0x0F, 0x02 +_0207D6E0: .word 0x020FB38C +_0207D6E4: .word 0x020FB42C +_0207D6E8: .word 0x020FB46C +_0207D6EC: .word 0x020FB3CC +_0207D6F0: .word 0x020FB3AC +_0207D6F4: .word 0x020FB394 thumb_func_start FUN_0207D6F8 FUN_0207D6F8: ; 0x0207D6F8 @@ -233328,14 +262587,16 @@ FUN_0207D6F8: ; 0x0207D6F8 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r6, r1, #0 - lsl r0, r4, #0 - lsl r0, r4, #0 - lsl r6, r1, #0 +_0207D710: ; jump table (using 16-bit offset) + .short _0207D732 - _0207D710 - 2; case 0 + .short _0207D732 - _0207D710 - 2; case 1 + .short _0207D732 - _0207D710 - 2; case 2 + .short _0207D732 - _0207D710 - 2; case 3 + .short _0207D720 - _0207D710 - 2; case 4 + .short _0207D732 - _0207D710 - 2; case 5 + .short _0207D732 - _0207D710 - 2; case 6 + .short _0207D720 - _0207D710 - 2; case 7 +_0207D720: mov r0, #0x93 lsl r0, r0, #0x2 ldr r0, [r1, r0] @@ -234147,24 +263408,53 @@ FUN_0207DD88: ; 0x0207DD88 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r0, r3, #0 - lsl r2, r4, #0 - lsl r6, r6, #0 - lsl r4, r5, #0 - lsl r0, r0, #0x1 - lsl r2, r1, #0x1 - lsl r4, r2, #0x1 +_0207DDD8: ; jump table (using 16-bit offset) + .short _0207DDE8 - _0207DDD8 - 2; case 0 + .short _0207DDF2 - _0207DDD8 - 2; case 1 + .short _0207DDFC - _0207DDD8 - 2; case 2 + .short _0207DE10 - _0207DDD8 - 2; case 3 + .short _0207DE06 - _0207DDD8 - 2; case 4 + .short _0207DE1A - _0207DDD8 - 2; case 5 + .short _0207DE24 - _0207DDD8 - 2; case 6 + .short _0207DE2E - _0207DDD8 - 2; case 7 +_0207DDE8: add r0, r4, #0x0 bl FUN_0207DE3C add sp, #0x10 pop {r4, pc} _0207DDF2: - .byte 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0 - .byte 0xFF, 0xF9, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x4A, 0xFB, 0x04, 0xB0, 0x10, 0xBD - .byte 0x20, 0x1C, 0x00, 0xF0, 0xBF, 0xFB, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x18, 0xFC - .byte 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C, 0x00, 0xF0, 0x71, 0xFC, 0x04, 0xB0, 0x10, 0xBD, 0x20, 0x1C - .byte 0x00, 0xF0, 0xAA, 0xFC + add r0, r4, #0x0 + bl FUN_0207E190 + add sp, #0x10 + pop {r4, pc} +_0207DDFC: + add r0, r4, #0x0 + bl FUN_0207E200 + add sp, #0x10 + pop {r4, pc} +_0207DE06: + add r0, r4, #0x0 + bl FUN_0207E4A0 + add sp, #0x10 + pop {r4, pc} +_0207DE10: + add r0, r4, #0x0 + bl FUN_0207E594 + add sp, #0x10 + pop {r4, pc} +_0207DE1A: + add r0, r4, #0x0 + bl FUN_0207E650 + add sp, #0x10 + pop {r4, pc} +_0207DE24: + add r0, r4, #0x0 + bl FUN_0207E70C + add sp, #0x10 + pop {r4, pc} +_0207DE2E: + add r0, r4, #0x0 + bl FUN_0207E788 _0207DE34: add sp, #0x10 pop {r4, pc} @@ -236111,18 +265401,31 @@ FUN_0207EECC: ; 0x0207EECC lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r1, #0 - lsl r2, r2, #0 - lsl r6, r2, #0 - lsl r2, r3, #0 - lsl r6, r3, #0 +_0207EEE6: ; jump table (using 16-bit offset) + .short _0207EEF6 - _0207EEE6 - 2; case 0 + .short _0207EEFA - _0207EEE6 - 2; case 1 + .short _0207EEFE - _0207EEE6 - 2; case 2 + .short _0207EF02 - _0207EEE6 - 2; case 3 + .short _0207EF06 - _0207EEE6 - 2; case 4 _0207EEF0: cmp r1, #0xfe beq _0207EF0A b _0207EF0E _0207EEF6: - .byte 0xAC, 0x25, 0x0A, 0xE0, 0xAE, 0x25, 0x08, 0xE0, 0xAF, 0x25 - .byte 0x06, 0xE0, 0xB0, 0x25, 0x04, 0xE0, 0xAD, 0x25, 0x02, 0xE0 + mov r5, #0xac + b _0207EF10 +_0207EEFA: + mov r5, #0xae + b _0207EF10 +_0207EEFE: + mov r5, #0xaf + b _0207EF10 +_0207EF02: + mov r5, #0xb0 + b _0207EF10 +_0207EF06: + mov r5, #0xad + b _0207EF10 _0207EF0A: mov r5, #0xb1 b _0207EF10 @@ -236288,9 +265591,6 @@ FUN_0207F068: ; 0x0207F068 lsl r0, r0, #0x2 ldr r0, [r4, r0] bl FUN_0201EB70 - - non_word_aligned_thumb_func_start FUN_0207F076 -FUN_0207F076: ; 0x0207F076 mov r0, #0x2d lsl r0, r0, #0x4 ldr r0, [r4, r0] @@ -237364,10 +266664,12 @@ FUN_0207F95C: ; 0x0207F95C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r2, r6, #0 - lsl r2, r6, #0 +_0207F978: ; jump table (using 16-bit offset) + .short _0207F980 - _0207F978 - 2; case 0 + .short _0207F980 - _0207F978 - 2; case 1 + .short _0207F9AC - _0207F978 - 2; case 2 + .short _0207F9AC - _0207F978 - 2; case 3 +_0207F980: ldr r0, [r0, #0x2c] ldr r1, _0207F9C4 ; =0x0000068F cmp r0, #0x0 @@ -237754,27 +267056,51 @@ FUN_0207FC5C: ; 0x0207FC5C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r2, r2, #0 - lsl r4, r3, #0 - lsl r6, r4, #0 - lsl r0, r6, #0 +_0207FC6C: ; jump table (using 16-bit offset) + .short _0207FC76 - _0207FC6C - 2; case 0 + .short _0207FC80 - _0207FC6C - 2; case 1 + .short _0207FC8A - _0207FC6C - 2; case 2 + .short _0207FC94 - _0207FC6C - 2; case 3 + .short _0207FC9E - _0207FC6C - 2; case 4 +_0207FC76: mov r1, #0xc mul r1, r0 ldr r0, _0207FCAC ; =0x020FB788 ldr r0, [r0, r1] bx lr _0207FC80: - .byte 0x0C, 0x21, 0x41, 0x43, 0x0A, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x09, 0x48 - .byte 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21, 0x41, 0x43, 0x07, 0x48, 0x40, 0x5A, 0x70, 0x47, 0x0C, 0x21 - .byte 0x41, 0x43, 0x06, 0x48, 0x40, 0x5A, 0x70, 0x47 + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCB0 ; =0x020FB78C + ldrh r0, [r0, r1] + bx lr +_0207FC8A: + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCB4 ; =0x020FB78E + ldrh r0, [r0, r1] + bx lr +_0207FC94: + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCB8 ; =0x020FB790 + ldrh r0, [r0, r1] + bx lr +_0207FC9E: + mov r1, #0xc + mul r1, r0 + ldr r0, _0207FCBC ; =0x020FB792 + ldrh r0, [r0, r1] + bx lr _0207FCA8: mov r0, #0x0 bx lr .balign 4 _0207FCAC: .word 0x020FB788 -_0207FCB0: - .byte 0x8C, 0xB7, 0x0F, 0x02, 0x8E, 0xB7, 0x0F, 0x02, 0x90, 0xB7, 0x0F, 0x02, 0x92, 0xB7, 0x0F, 0x02 +_0207FCB0: .word 0x020FB78C +_0207FCB4: .word 0x020FB78E +_0207FCB8: .word 0x020FB790 +_0207FCBC: .word 0x020FB792 thumb_func_start FUN_0207FCC0 FUN_0207FCC0: ; 0x0207FCC0 @@ -237865,27 +267191,29 @@ _0207FD5A: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r5, #0 - lsl r4, r2, #0x1 - lsl r0, r0, #0x2 - lsl r4, r5, #0x2 - lsl r0, r3, #0x3 - lsl r4, r0, #0x4 - lsl r0, r6, #0x4 - lsl r4, r3, #0x5 - lsl r0, r1, #0x6 - lsl r4, r6, #0x6 - lsl r6, r2, #0x7 - lsl r0, r7, #0x7 - lsl r2, r3, #0x8 - lsl r4, r7, #0x8 - lsl r6, r3, #0x9 - lsl r0, r0, #0xa - lsl r4, r5, #0xa - lsl r6, r0, #0xb - lsl r6, r3, #0xb - lsl r0, r7, #0xb - lsl r0, r2, #0xc +_0207FD66: ; jump table (using 16-bit offset) + .short _0207FD90 - _0207FD66 - 2; case 0 + .short _0207FDBC - _0207FD66 - 2; case 1 + .short _0207FDE8 - _0207FD66 - 2; case 2 + .short _0207FE14 - _0207FD66 - 2; case 3 + .short _0207FE40 - _0207FD66 - 2; case 4 + .short _0207FE6C - _0207FD66 - 2; case 5 + .short _0207FE98 - _0207FD66 - 2; case 6 + .short _0207FEC4 - _0207FD66 - 2; case 7 + .short _0207FEF0 - _0207FD66 - 2; case 8 + .short _0207FF1C - _0207FD66 - 2; case 9 + .short _0207FF3E - _0207FD66 - 2; case 10 + .short _0207FF60 - _0207FD66 - 2; case 11 + .short _0207FF82 - _0207FD66 - 2; case 12 + .short _0207FFA4 - _0207FD66 - 2; case 13 + .short _0207FFC6 - _0207FD66 - 2; case 14 + .short _0207FFE8 - _0207FD66 - 2; case 15 + .short _02080014 - _0207FD66 - 2; case 16 + .short _0208002E - _0207FD66 - 2; case 17 + .short _02080046 - _0207FD66 - 2; case 18 + .short _02080060 - _0207FD66 - 2; case 19 + .short _02080078 - _0207FD66 - 2; case 20 +_0207FD90: mov r0, #0x1 str r0, [r4, #0x14] add r0, r4, #0x0 @@ -237905,52 +267233,323 @@ _0207FD5A: bl FUN_02080678 b _02080090 _0207FDBC: - .byte 0x01, 0x20, 0x60, 0x61 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x8D, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x32, 0x21, 0x00, 0xF0 - .byte 0x9B, 0xF9, 0x06, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x58, 0xFB, 0x07, 0x20, 0xE0, 0x62 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x49, 0xFC, 0x53, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x77, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x33, 0x21, 0x00, 0xF0, 0x85, 0xF9, 0x06, 0x20 - .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFB, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x33, 0xFC, 0x3D, 0xE1, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x61, 0xF9, 0x02, 0x20 - .byte 0xE0, 0x61, 0x20, 0x1C, 0x34, 0x21, 0x00, 0xF0, 0x6F, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C - .byte 0x00, 0xF0, 0x2C, 0xFB, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x1D, 0xFC, 0x27, 0xE1 - .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x4B, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C - .byte 0x35, 0x21, 0x00, 0xF0, 0x59, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x16, 0xFB - .byte 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x07, 0xFC, 0x11, 0xE1, 0x01, 0x20, 0x60, 0x61 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x35, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x36, 0x21, 0x00, 0xF0 - .byte 0x43, 0xF9, 0x08, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x00, 0xFB, 0x09, 0x20, 0xE0, 0x62 - .byte 0x20, 0x1C, 0x00, 0xF0, 0xF1, 0xFB, 0xFB, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x1F, 0xF9, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x37, 0x21, 0x00, 0xF0, 0x2D, 0xF9, 0x08, 0x20 - .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xEA, 0xFA, 0x09, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 - .byte 0xDB, 0xFB, 0xE5, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x09, 0xF9, 0x02, 0x20 - .byte 0xE0, 0x61, 0x20, 0x1C, 0x38, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C - .byte 0x00, 0xF0, 0xD4, 0xFA, 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xC5, 0xFB, 0xCF, 0xE0 - .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xF3, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C - .byte 0x39, 0x21, 0x00, 0xF0, 0x01, 0xF9, 0x07, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xBE, 0xFA - .byte 0x08, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xAF, 0xFB, 0xB9, 0xE0, 0x01, 0x20, 0x60, 0x61 - .byte 0x20, 0x1C, 0x00, 0xF0, 0xDD, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3A, 0x21, 0x00, 0xF0 - .byte 0xEB, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0xA8, 0xFA, 0xA8, 0xE0, 0x01, 0x20 - .byte 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xCC, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3B, 0x21 - .byte 0x00, 0xF0, 0xDA, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x97, 0xFA, 0x97, 0xE0 - .byte 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xBB, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C - .byte 0x3C, 0x21, 0x00, 0xF0, 0xC9, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x86, 0xFA - .byte 0x86, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF8, 0x02, 0x20, 0xE0, 0x61 - .byte 0x20, 0x1C, 0x3D, 0x21, 0x00, 0xF0, 0xB8, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x75, 0xFA, 0x75, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x99, 0xF8, 0x02, 0x20 - .byte 0xE0, 0x61, 0x20, 0x1C, 0x3E, 0x21, 0x00, 0xF0, 0xA7, 0xF8, 0x09, 0x20, 0x60, 0x62, 0x20, 0x1C - .byte 0x00, 0xF0, 0x64, 0xFA, 0x64, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8 - .byte 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x3F, 0x21, 0x00, 0xF0, 0x96, 0xF8, 0x09, 0x20, 0x60, 0x62 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xFA, 0x53, 0xE0, 0x01, 0x20, 0x60, 0x61, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x77, 0xF8, 0x02, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x40, 0x21, 0x00, 0xF0, 0x15, 0xF9, 0x06, 0x20 - .byte 0x60, 0x62, 0x20, 0x1C, 0x00, 0xF0, 0x42, 0xFA, 0x07, 0x20, 0xE0, 0x62, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x33, 0xFB, 0x3D, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x65, 0x21, 0x00, 0x22, 0x00, 0xF0 - .byte 0xB1, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x44, 0xFB, 0x30, 0xE0, 0x01, 0x22 - .byte 0x20, 0x1C, 0x66, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0xA5, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C - .byte 0x00, 0xF0, 0x38, 0xFB, 0x24, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x67, 0x21, 0x00, 0x22 - .byte 0x00, 0xF0, 0x98, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x2B, 0xFB, 0x17, 0xE0 - .byte 0x01, 0x22, 0x20, 0x1C, 0x67, 0x21, 0xE2, 0x61, 0x00, 0xF0, 0x8C, 0xF9, 0x06, 0x20, 0x60, 0x63 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x1F, 0xFB, 0x0B, 0xE0, 0x01, 0x20, 0xE0, 0x61, 0x20, 0x1C, 0x68, 0x21 - .byte 0x00, 0x22, 0x00, 0xF0, 0x7F, 0xF9, 0x06, 0x20, 0x60, 0x63, 0x20, 0x1C, 0x00, 0xF0, 0x12, 0xFB + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x32 + bl FUN_02080108 + mov r0, #0x6 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x7 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FDE8: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x33 + bl FUN_02080108 + mov r0, #0x6 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x7 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FE14: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x34 + bl FUN_02080108 + mov r0, #0x8 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x9 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FE40: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x35 + bl FUN_02080108 + mov r0, #0x8 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x9 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FE6C: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x36 + bl FUN_02080108 + mov r0, #0x8 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x9 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FE98: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x37 + bl FUN_02080108 + mov r0, #0x8 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x9 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FEC4: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x38 + bl FUN_02080108 + mov r0, #0x7 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x8 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FEF0: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x39 + bl FUN_02080108 + mov r0, #0x7 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x8 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_0207FF1C: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3a + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FF3E: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3b + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FF60: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3c + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FF82: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3d + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FFA4: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3e + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FFC6: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x3f + bl FUN_02080108 + mov r0, #0x9 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + b _02080090 +_0207FFE8: + mov r0, #0x1 + str r0, [r4, #0x14] + add r0, r4, #0x0 + bl FUN_020800E0 + mov r0, #0x2 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x40 + bl FUN_02080228 + mov r0, #0x6 + str r0, [r4, #0x24] + add r0, r4, #0x0 + bl FUN_0208048C + mov r0, #0x7 + str r0, [r4, #0x2c] + add r0, r4, #0x0 + bl FUN_02080678 + b _02080090 +_02080014: + mov r0, #0x1 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x65 + mov r2, #0x0 + bl FUN_02080384 + mov r0, #0x6 + str r0, [r4, #0x34] + add r0, r4, #0x0 + bl FUN_020806B4 + b _02080090 +_0208002E: + mov r2, #0x1 + add r0, r4, #0x0 + mov r1, #0x66 + str r2, [r4, #0x1c] + bl FUN_02080384 + mov r0, #0x6 + str r0, [r4, #0x34] + add r0, r4, #0x0 + bl FUN_020806B4 + b _02080090 +_02080046: + mov r0, #0x1 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x67 + mov r2, #0x0 + bl FUN_02080384 + mov r0, #0x6 + str r0, [r4, #0x34] + add r0, r4, #0x0 + bl FUN_020806B4 + b _02080090 +_02080060: + mov r2, #0x1 + add r0, r4, #0x0 + mov r1, #0x67 + str r2, [r4, #0x1c] + bl FUN_02080384 + mov r0, #0x6 + str r0, [r4, #0x34] + add r0, r4, #0x0 + bl FUN_020806B4 + b _02080090 +_02080078: + mov r0, #0x1 + str r0, [r4, #0x1c] + add r0, r4, #0x0 + mov r1, #0x68 + mov r2, #0x0 + bl FUN_02080384 + mov r0, #0x6 + str r0, [r4, #0x34] + add r0, r4, #0x0 + bl FUN_020806B4 _02080090: add r0, r4, #0x0 pop {r3-r7, pc} @@ -238216,22 +267815,23 @@ FUN_02080228: ; 0x02080228 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r3, #0 - lsl r2, r3, #0x1 - lsl r2, r3, #0x1 - lsl r2, r3, #0x1 - lsl r2, r6, #0 - lsl r2, r6, #0 - lsl r6, r3, #0 - lsl r6, r0, #0x1 - lsl r6, r0, #0x1 - lsl r6, r3, #0 - lsl r2, r0, #0x2 - lsl r2, r0, #0x2 - lsl r6, r3, #0 - lsl r6, r3, #0 - lsl r6, r3, #0 - lsl r6, r5, #0x1 +_020802D8: ; jump table (using 16-bit offset) + .short _020802F8 - _020802D8 - 2; case 0 + .short _02080334 - _020802D8 - 2; case 1 + .short _02080334 - _020802D8 - 2; case 2 + .short _02080334 - _020802D8 - 2; case 3 + .short _0208030C - _020802D8 - 2; case 4 + .short _0208030C - _020802D8 - 2; case 5 + .short _020802F8 - _020802D8 - 2; case 6 + .short _02080320 - _020802D8 - 2; case 7 + .short _02080320 - _020802D8 - 2; case 8 + .short _020802F8 - _020802D8 - 2; case 9 + .short _0208035C - _020802D8 - 2; case 10 + .short _0208035C - _020802D8 - 2; case 11 + .short _020802F8 - _020802D8 - 2; case 12 + .short _020802F8 - _020802D8 - 2; case 13 + .short _020802F8 - _020802D8 - 2; case 14 + .short _02080348 - _020802D8 - 2; case 15 _020802F8: mov r0, #0x1 mov r1, #0x7 @@ -238242,13 +267842,49 @@ _020802F8: bl FUN_0200B59C b _0208036E _0208030C: - .byte 0x01, 0x20, 0x03, 0x21 - .byte 0x95, 0xF7, 0xF2, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x3F, 0xF9, 0x26, 0xE0 - .byte 0x01, 0x20, 0x04, 0x21, 0x95, 0xF7, 0xE8, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7 - .byte 0x35, 0xF9, 0x1C, 0xE0, 0x01, 0x20, 0x05, 0x21, 0x95, 0xF7, 0xDE, 0xFC, 0x02, 0x1C, 0xA0, 0x68 - .byte 0x04, 0x21, 0x8B, 0xF7, 0x2B, 0xF9, 0x12, 0xE0, 0x01, 0x20, 0x08, 0x21, 0x95, 0xF7, 0xD4, 0xFC - .byte 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x21, 0xF9, 0x08, 0xE0, 0x01, 0x20, 0x07, 0x21 - .byte 0x95, 0xF7, 0xCA, 0xFC, 0x02, 0x1C, 0xA0, 0x68, 0x04, 0x21, 0x8B, 0xF7, 0x17, 0xF9 + mov r0, #0x1 + mov r1, #0x3 + bl FUN_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_0200B59C + b _0208036E +_02080320: + mov r0, #0x1 + mov r1, #0x4 + bl FUN_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_0200B59C + b _0208036E +_02080334: + mov r0, #0x1 + mov r1, #0x5 + bl FUN_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_0200B59C + b _0208036E +_02080348: + mov r0, #0x1 + mov r1, #0x8 + bl FUN_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_0200B59C + b _0208036E +_0208035C: + mov r0, #0x1 + mov r1, #0x7 + bl FUN_02015CF8 + add r2, r0, #0x0 + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_0200B59C _0208036E: ldr r0, [r4, #0x8] ldr r1, [r4, #0x20] @@ -238429,12 +268065,13 @@ FUN_0208048C: ; 0x0208048C lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r1, #0 - lsl r2, r0, #0x1 - lsl r0, r7, #0x1 - lsl r6, r5, #0x2 - lsl r4, r4, #0x3 - lsl r2, r3, #0x4 +_02080504: ; jump table (using 16-bit offset) + .short _02080510 - _02080504 - 2; case 0 + .short _02080548 - _02080504 - 2; case 1 + .short _0208057E - _02080504 - 2; case 2 + .short _020805B4 - _02080504 - 2; case 3 + .short _020805EA - _02080504 - 2; case 4 + .short _02080620 - _02080504 - 2; case 5 _02080510: ldr r0, [sp, #0xc] ldr r1, [sp, #0x8] @@ -238470,24 +268107,164 @@ _02080542: add r0, r6, #0x0 b _02080654 _02080548: - .byte 0x02, 0x98, 0x01, 0x99, 0x02, 0x1C, 0x01, 0x25 - .byte 0x8A, 0x42, 0x01, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25 - .byte 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25 - .byte 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x6D, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x6A, 0xE0, 0x01, 0x98 - .byte 0x00, 0x99, 0x02, 0x1C, 0x02, 0x25, 0x8A, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42 - .byte 0x01, 0xDA, 0x04, 0x25, 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99 - .byte 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x52, 0xDA, 0x01, 0x25 - .byte 0x08, 0x1C, 0x4F, 0xE0, 0x00, 0x98, 0x03, 0x25, 0x01, 0x1C, 0xB9, 0x42, 0x01, 0xDA, 0x04, 0x25 - .byte 0x38, 0x1C, 0xB0, 0x42, 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA - .byte 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99 - .byte 0x88, 0x42, 0x37, 0xDA, 0x02, 0x25, 0x08, 0x1C, 0x34, 0xE0, 0x04, 0x25, 0x38, 0x1C, 0xB7, 0x42 - .byte 0x01, 0xDA, 0x05, 0x25, 0x30, 0x1C, 0x03, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C - .byte 0x02, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA - .byte 0x02, 0x25, 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x1C, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0x19, 0xE0 - .byte 0x03, 0x99, 0x05, 0x25, 0x30, 0x1C, 0x8E, 0x42, 0x01, 0xDA, 0x00, 0x25, 0x08, 0x1C, 0x02, 0x99 - .byte 0x88, 0x42, 0x01, 0xDA, 0x01, 0x25, 0x08, 0x1C, 0x01, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x02, 0x25 - .byte 0x08, 0x1C, 0x00, 0x99, 0x88, 0x42, 0x01, 0xDA, 0x03, 0x25, 0x08, 0x1C, 0xB8, 0x42, 0x01, 0xDA - .byte 0x04, 0x25, 0x38, 0x1C + ldr r0, [sp, #0x8] + ldr r1, [sp, #0x4] + add r2, r0, #0x0 + mov r5, #0x1 + cmp r2, r1 + bge _02080558 + mov r5, #0x2 + add r0, r1, #0x0 +_02080558: + ldr r1, [sp, #0x0] + cmp r0, r1 + bge _02080562 + mov r5, #0x3 + add r0, r1, #0x0 +_02080562: + cmp r0, r7 + bge _0208056A + mov r5, #0x4 + add r0, r7, #0x0 +_0208056A: + cmp r0, r6 + bge _02080572 + mov r5, #0x5 + add r0, r6, #0x0 +_02080572: + ldr r1, [sp, #0xc] + cmp r0, r1 + bge _02080654 + mov r5, #0x0 + add r0, r1, #0x0 + b _02080654 +_0208057E: + ldr r0, [sp, #0x4] + ldr r1, [sp, #0x0] + add r2, r0, #0x0 + mov r5, #0x2 + cmp r2, r1 + bge _0208058E + mov r5, #0x3 + add r0, r1, #0x0 +_0208058E: + cmp r0, r7 + bge _02080596 + mov r5, #0x4 + add r0, r7, #0x0 +_02080596: + cmp r0, r6 + bge _0208059E + mov r5, #0x5 + add r0, r6, #0x0 +_0208059E: + ldr r1, [sp, #0xc] + cmp r0, r1 + bge _020805A8 + mov r5, #0x0 + add r0, r1, #0x0 +_020805A8: + ldr r1, [sp, #0x8] + cmp r0, r1 + bge _02080654 + mov r5, #0x1 + add r0, r1, #0x0 + b _02080654 +_020805B4: + ldr r0, [sp, #0x0] + mov r5, #0x3 + add r1, r0, #0x0 + cmp r1, r7 + bge _020805C2 + mov r5, #0x4 + add r0, r7, #0x0 +_020805C2: + cmp r0, r6 + bge _020805CA + mov r5, #0x5 + add r0, r6, #0x0 +_020805CA: + ldr r1, [sp, #0xc] + cmp r0, r1 + bge _020805D4 + mov r5, #0x0 + add r0, r1, #0x0 +_020805D4: + ldr r1, [sp, #0x8] + cmp r0, r1 + bge _020805DE + mov r5, #0x1 + add r0, r1, #0x0 +_020805DE: + ldr r1, [sp, #0x4] + cmp r0, r1 + bge _02080654 + mov r5, #0x2 + add r0, r1, #0x0 + b _02080654 +_020805EA: + mov r5, #0x4 + add r0, r7, #0x0 + cmp r7, r6 + bge _020805F6 + mov r5, #0x5 + add r0, r6, #0x0 +_020805F6: + ldr r1, [sp, #0xc] + cmp r0, r1 + bge _02080600 + mov r5, #0x0 + add r0, r1, #0x0 +_02080600: + ldr r1, [sp, #0x8] + cmp r0, r1 + bge _0208060A + mov r5, #0x1 + add r0, r1, #0x0 +_0208060A: + ldr r1, [sp, #0x4] + cmp r0, r1 + bge _02080614 + mov r5, #0x2 + add r0, r1, #0x0 +_02080614: + ldr r1, [sp, #0x0] + cmp r0, r1 + bge _02080654 + mov r5, #0x3 + add r0, r1, #0x0 + b _02080654 +_02080620: + ldr r1, [sp, #0xc] + mov r5, #0x5 + add r0, r6, #0x0 + cmp r6, r1 + bge _0208062E + mov r5, #0x0 + add r0, r1, #0x0 +_0208062E: + ldr r1, [sp, #0x8] + cmp r0, r1 + bge _02080638 + mov r5, #0x1 + add r0, r1, #0x0 +_02080638: + ldr r1, [sp, #0x4] + cmp r0, r1 + bge _02080642 + mov r5, #0x2 + add r0, r1, #0x0 +_02080642: + ldr r1, [sp, #0x0] + cmp r0, r1 + bge _0208064C + mov r5, #0x3 + add r0, r1, #0x0 +_0208064C: + cmp r0, r7 + bge _02080654 + mov r5, #0x4 + add r0, r7, #0x0 _02080654: mov r1, #0x5 blx FUN_020EBC80 @@ -238813,13 +268590,15 @@ _020808BC: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r4, r1, #0 - lsl r0, r4, #0x1 - lsl r2, r5, #0x2 - lsl r2, r1, #0x3 - lsl r6, r4, #0x3 - lsl r6, r5, #0x5 - lsl r6, r1, #0x6 +_020808C8: ; jump table (using 16-bit offset) + .short _020808D6 - _020808C8 - 2; case 0 + .short _0208092A - _020808C8 - 2; case 1 + .short _02080974 - _020808C8 - 2; case 2 + .short _02080994 - _020808C8 - 2; case 3 + .short _020809B0 - _020808C8 - 2; case 4 + .short _02080A38 - _020808C8 - 2; case 5 + .short _02080A58 - _020808C8 - 2; case 6 +_020808D6: mov r0, #0x1 mov r1, #0x0 bl FUN_02015CF8 @@ -238858,34 +268637,193 @@ _0208091E: bl FUN_02080AE4 pop {r3-r7, pc} _0208092A: - .byte 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7 - .byte 0xC5, 0xFC, 0x00, 0x28, 0x10, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x35, 0xF9, 0x01, 0x20 - .byte 0x01, 0x1C, 0x95, 0xF7, 0xD9, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xF0, 0xF8 - .byte 0x20, 0x1C, 0x00, 0xF0, 0x59, 0xF9, 0xF8, 0xBD, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0x24, 0xF9 - .byte 0x01, 0x20, 0x01, 0x1C, 0x95, 0xF7, 0xC8, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0 - .byte 0xDF, 0xF8, 0xF8, 0xBD, 0x00, 0x21, 0x00, 0xF0, 0x17, 0xF9, 0x00, 0x20, 0x37, 0x21, 0x95, 0xF7 - .byte 0xBB, 0xF9, 0x01, 0x1C, 0x20, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xD2, 0xF8, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x3B, 0xF9, 0xF8, 0xBD, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xCA, 0xF8, 0x20, 0x1C, 0x01, 0x21 - .byte 0x00, 0xF0, 0x02, 0xF9, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x9B, 0xF8, 0xF8, 0xBD - .byte 0x32, 0x1C, 0xE9, 0xF7, 0xFB, 0xFF, 0x01, 0x28, 0x1D, 0xD1, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22 - .byte 0xE6, 0xF7, 0x7C, 0xFC, 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xEC, 0xF8 - .byte 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0xAB, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x14, 0xF9 - .byte 0x26, 0xE0, 0x20, 0x1C, 0x29, 0x1C, 0x00, 0x22, 0x00, 0xF0, 0xA2, 0xF8, 0x20, 0x1C, 0x01, 0x21 - .byte 0x00, 0xF0, 0xDA, 0xF8, 0x1C, 0xE0, 0x20, 0x1C, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x5E, 0xFC - .byte 0x00, 0x28, 0x0C, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0x00, 0xF0, 0xCE, 0xF8, 0x20, 0x1C, 0x29, 0x1C - .byte 0x01, 0x22, 0x00, 0xF0, 0x8D, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0xF6, 0xF8, 0x08, 0xE0, 0x20, 0x1C - .byte 0x00, 0x21, 0x00, 0xF0, 0xC1, 0xF8, 0x20, 0x1C, 0x29, 0x1C, 0x01, 0x22, 0x00, 0xF0, 0x80, 0xF8 - .byte 0x20, 0x1C, 0x00, 0xF0, 0xF9, 0xF8, 0xF8, 0xBD, 0x4C, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x3E, 0xFC - .byte 0x00, 0x28, 0x4D, 0xD0, 0x01, 0x20, 0x02, 0x21, 0x95, 0xF7, 0x56, 0xF9, 0x01, 0x1C, 0x20, 0x1C - .byte 0x01, 0x22, 0x00, 0xF0, 0x6D, 0xF8, 0xF8, 0xBD, 0x01, 0x20, 0x00, 0x21, 0x95, 0xF7, 0x4C, 0xF9 - .byte 0x85, 0x42, 0x00, 0xDD, 0x00, 0x25, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0xE9, 0xF7, 0x9E, 0xFF - .byte 0x00, 0x28, 0x2B, 0xD1, 0x20, 0x1C, 0x98, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x1F, 0xFC, 0x00, 0x90 - .byte 0x20, 0x1C, 0x97, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x6B, 0xFF, 0x20, 0x1C, 0x94, 0x21, 0x00, 0x22 - .byte 0xE6, 0xF7, 0x14, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x91, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x60, 0xFF - .byte 0x20, 0x1C, 0x95, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0x09, 0xFC, 0x00, 0x90, 0x20, 0x1C, 0x92, 0x21 - .byte 0x00, 0xAA, 0xE6, 0xF7, 0x55, 0xFF, 0x20, 0x1C, 0x96, 0x21, 0x00, 0x22, 0xE6, 0xF7, 0xFE, 0xFB - .byte 0x00, 0x90, 0x20, 0x1C, 0x93, 0x21, 0x00, 0xAA, 0xE6, 0xF7, 0x4A, 0xFF, 0x20, 0x1C, 0x29, 0x1C - .byte 0x01, 0x22, 0x00, 0xF0, 0x2D, 0xF8, 0x20, 0x1C, 0x39, 0x1C, 0x32, 0x1C, 0x00, 0xF0, 0x02, 0xF8 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _02080958 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02080BA8 + mov r0, #0x1 + add r1, r0, #0x0 + bl FUN_02015CF8 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + add r0, r4, #0x0 + bl FUN_02080C08 + pop {r3-r7, pc} +_02080958: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02080BA8 + mov r0, #0x1 + add r1, r0, #0x0 + bl FUN_02015CF8 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + pop {r3-r7, pc} +_02080974: + mov r1, #0x0 + bl FUN_02080BA8 + mov r0, #0x0 + mov r1, #0x37 + bl FUN_02015CF8 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + add r0, r4, #0x0 + bl FUN_02080C08 + pop {r3-r7, pc} +_02080994: + add r1, r5, #0x0 + mov r2, #0x0 + bl FUN_02080B30 + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02080BA8 + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_02080AE4 + pop {r3-r7, pc} +_020809B0: + add r2, r6, #0x0 + bl FUN_0206A9AC + cmp r0, #0x1 + bne _020809F6 + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _020809E2 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02080BA8 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + add r0, r4, #0x0 + bl FUN_02080C08 + b _02080A30 +_020809E2: + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x0 + bl FUN_02080B30 + add r0, r4, #0x0 + mov r1, #0x1 + bl FUN_02080BA8 + b _02080A30 +_020809F6: + add r0, r4, #0x0 + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + bne _02080A1E + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02080BA8 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + add r0, r4, #0x0 + bl FUN_02080C08 + b _02080A30 +_02080A1E: + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02080BA8 + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl FUN_02080B30 +_02080A30: + add r0, r4, #0x0 + bl FUN_02080C28 + pop {r3-r7, pc} +_02080A38: + mov r1, #0x4c + mov r2, #0x0 + bl FUN_020672BC + cmp r0, #0x0 + beq _02080AE0 + mov r0, #0x1 + mov r1, #0x2 + bl FUN_02015CF8 + add r1, r0, #0x0 + add r0, r4, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + pop {r3-r7, pc} +_02080A58: + mov r0, #0x1 + mov r1, #0x0 + bl FUN_02015CF8 + cmp r5, r0 + ble _02080A66 + mov r5, #0x0 +_02080A66: + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_0206A9AC + cmp r0, #0x0 + bne _02080ACC + add r0, r4, #0x0 + mov r1, #0x98 + mov r2, #0x0 + bl FUN_020672BC + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x97 + add r2, sp, #0x0 + bl FUN_02067960 + add r0, r4, #0x0 + mov r1, #0x94 + mov r2, #0x0 + bl FUN_020672BC + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x91 + add r2, sp, #0x0 + bl FUN_02067960 + add r0, r4, #0x0 + mov r1, #0x95 + mov r2, #0x0 + bl FUN_020672BC + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x92 + add r2, sp, #0x0 + bl FUN_02067960 + add r0, r4, #0x0 + mov r1, #0x96 + mov r2, #0x0 + bl FUN_020672BC + str r0, [sp, #0x0] + add r0, r4, #0x0 + mov r1, #0x93 + add r2, sp, #0x0 + bl FUN_02067960 +_02080ACC: + add r0, r4, #0x0 + add r1, r5, #0x0 + mov r2, #0x1 + bl FUN_02080B30 + add r0, r4, #0x0 + add r1, r7, #0x0 + add r2, r6, #0x0 + bl FUN_02080AE4 _02080AE0: pop {r3-r7, pc} .balign 4 @@ -239090,21 +269028,23 @@ _02080C7C: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r3, #0 - lsl r2, r5, #0 - lsl r4, r1, #0x2 - lsl r6, r3, #0x2 - lsl r4, r5, #0x2 - lsl r6, r7, #0x2 - lsl r2, r3, #0x3 - lsl r6, r5, #0x3 - lsl r0, r0, #0x4 - lsl r2, r2, #0x4 - lsl r4, r4, #0x4 - lsl r6, r6, #0x4 - lsl r4, r0, #0x5 - lsl r2, r1, #0x5 - lsl r4, r3, #0x5 +_02080C88: ; jump table (using 16-bit offset) + .short _02080CA6 - _02080C88 - 2; case 0 + .short _02080CB4 - _02080C88 - 2; case 1 + .short _02080D16 - _02080C88 - 2; case 2 + .short _02080D28 - _02080C88 - 2; case 3 + .short _02080D36 - _02080C88 - 2; case 4 + .short _02080D48 - _02080C88 - 2; case 5 + .short _02080D64 - _02080C88 - 2; case 6 + .short _02080D78 - _02080C88 - 2; case 7 + .short _02080D8A - _02080C88 - 2; case 8 + .short _02080D9C - _02080C88 - 2; case 9 + .short _02080DAE - _02080C88 - 2; case 10 + .short _02080DC0 - _02080C88 - 2; case 11 + .short _02080DCE - _02080C88 - 2; case 12 + .short _02080DD4 - _02080C88 - 2; case 13 + .short _02080DE6 - _02080C88 - 2; case 14 +_02080CA6: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] @@ -239112,28 +269052,149 @@ _02080C7C: str r0, [r4, #0x4] b _02080DF2 _02080CB4: - .byte 0xF0, 0x68, 0xEA, 0xF7, 0x31, 0xFF, 0x00, 0x21, 0xEA, 0xF7, 0x78, 0xFE - .byte 0x07, 0x1C, 0x30, 0x1C, 0xB6, 0xF7, 0x72, 0xFD, 0xA2, 0xF7, 0x14, 0xFE, 0x0B, 0x21, 0x00, 0x90 - .byte 0xA2, 0xF7, 0x66, 0xFE, 0x05, 0x1C, 0x00, 0x21, 0x01, 0xA8, 0x01, 0x70, 0x41, 0x70, 0x02, 0x21 - .byte 0x81, 0x70, 0x00, 0x98, 0x03, 0x97, 0x04, 0x95, 0x05, 0x90, 0xF0, 0x68, 0xA7, 0xF7, 0x9A, 0xF8 - .byte 0x06, 0x90, 0xF0, 0x68, 0xA2, 0xF7, 0x04, 0xFE, 0x07, 0x90, 0x01, 0xA8, 0x00, 0xF0, 0x8A, 0xFA - .byte 0x20, 0x60, 0x28, 0x1C, 0xA0, 0xF7, 0x8C, 0xFE, 0x20, 0x68, 0x01, 0xF0, 0x5B, 0xF8, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xCE, 0xF8, 0x01, 0x28, 0x68, 0xD1 - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x64, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x2D, 0xFC, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x5D, 0xE0, 0x01, 0x20, 0xB0, 0xF7, 0x4E, 0xFC, 0x01, 0x28, 0x58, 0xD1 - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x54, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x41, 0xFC, 0x23, 0x68 - .byte 0x29, 0x4A, 0x2A, 0x49, 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0xD2, 0xFB, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x46, 0xE0, 0x20, 0x68, 0x00, 0xF0, 0x7F, 0xFC, 0x20, 0x68, 0x01, 0xF0, 0xB2, 0xF8 - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x3C, 0xE0, 0x20, 0x68, 0x01, 0xF0, 0xA1, 0xF8, 0x01, 0x28 - .byte 0x37, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x33, 0xE0, 0x1D, 0x49, 0x22, 0x68, 0x28, 0x1C - .byte 0xC5, 0xF7, 0xB6, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x2A, 0xE0, 0x19, 0x49, 0x22, 0x68 - .byte 0x28, 0x1C, 0xC5, 0xF7, 0xAD, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x21, 0xE0, 0x16, 0x49 - .byte 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0xA4, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x18, 0xE0 - .byte 0x20, 0x68, 0x00, 0xF0, 0x91, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x11, 0xE0, 0x40, 0x1C - .byte 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xCA, 0xF7, 0xD5, 0xF8, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 - .byte 0x07, 0xE0 + ldr r0, [r6, #0xc] + bl FUN_0206BB1C + mov r1, #0x0 + bl FUN_0206B9B0 + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_020377AC + bl FUN_020238F4 + mov r1, #0xb + str r0, [sp, #0x0] + bl FUN_020239A0 + add r5, r0, #0x0 + mov r1, #0x0 + add r0, sp, #0x4 + strb r1, [r0, #0x0] + strb r1, [r0, #0x1] + mov r1, #0x2 + strb r1, [r0, #0x2] + ldr r0, [sp, #0x0] + str r7, [sp, #0xc] + str r5, [sp, #0x10] + str r0, [sp, #0x14] + ldr r0, [r6, #0xc] + bl FUN_02027E24 + str r0, [sp, #0x18] + ldr r0, [r6, #0xc] + bl FUN_02023900 + str r0, [sp, #0x1c] + add r0, sp, #0x4 + bl FUN_02081214 + str r0, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02021A20 + ldr r0, [r4, #0x0] + bl FUN_02081DC4 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D16: + ldr r0, [r4, #0x0] + bl FUN_02081EB8 + cmp r0, #0x1 + bne _02080DF2 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D28: + mov r0, #0x1 + bl FUN_02031588 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D36: + mov r0, #0x1 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02080DF2 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D48: + ldr r0, [r4, #0x0] + bl FUN_020815D0 + ldr r3, [r4, #0x0] + ldr r2, _02080DF8 ; =0x000019B8 + ldr r1, _02080DFC ; =0x020FBBD8 + ldr r2, [r3, r2] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D64: + ldr r0, [r4, #0x0] + bl FUN_02081668 + ldr r0, [r4, #0x0] + bl FUN_02081ED4 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D78: + ldr r0, [r4, #0x0] + bl FUN_02081EC0 + cmp r0, #0x1 + bne _02080DF2 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D8A: + ldr r1, _02080E00 ; =0x020FBBC8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080D9C: + ldr r1, _02080E04 ; =0x020FBBF8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080DAE: + ldr r1, _02080E08 ; =0x020FBBE8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080DC0: + ldr r0, [r4, #0x0] + bl FUN_020814E8 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080DCE: + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 +_02080DD4: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080DF2 _02080DE2: bl FUN_02020C2C +_02080DE6: add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x28 @@ -239143,9 +269204,12 @@ _02080DF2: mov r0, #0x0 add sp, #0x28 pop {r3-r7, pc} -_02080DF8: - .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02 - .byte 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02 + .balign 4 +_02080DF8: .word 0x000019B8 +_02080DFC: .word 0x020FBBD8 +_02080E00: .word 0x020FBBC8 +_02080E04: .word 0x020FBBF8 +_02080E08: .word 0x020FBBE8 thumb_func_start FUN_02080E0C FUN_02080E0C: ; 0x02080E0C @@ -239204,20 +269268,22 @@ _02080E74: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r3, #0 - lsl r0, r5, #0 - lsl r4, r0, #0x1 - lsl r4, r3, #0x1 - lsl r6, r7, #0x1 - lsl r2, r3, #0x2 - lsl r4, r7, #0x2 - lsl r6, r2, #0x3 - lsl r0, r5, #0x3 - lsl r0, r1, #0x4 - lsl r6, r4, #0x4 - lsl r0, r7, #0x4 - lsl r6, r7, #0x4 - lsl r0, r2, #0x5 +_02080E80: ; jump table (using 16-bit offset) + .short _02080E9C - _02080E80 - 2; case 0 + .short _02080EAA - _02080E80 - 2; case 1 + .short _02080EC6 - _02080E80 - 2; case 2 + .short _02080EDE - _02080E80 - 2; case 3 + .short _02080F00 - _02080E80 - 2; case 4 + .short _02080F1C - _02080E80 - 2; case 5 + .short _02080F3E - _02080E80 - 2; case 6 + .short _02080F58 - _02080E80 - 2; case 7 + .short _02080F6A - _02080E80 - 2; case 8 + .short _02080F8A - _02080E80 - 2; case 9 + .short _02080FA8 - _02080E80 - 2; case 10 + .short _02080FBA - _02080E80 - 2; case 11 + .short _02080FC0 - _02080E80 - 2; case 12 + .short _02080FD2 - _02080E80 - 2; case 13 +_02080E9C: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] @@ -239225,27 +269291,161 @@ _02080E74: str r0, [r4, #0x4] b _02080FDC _02080EAA: - .byte 0x20, 0x68, 0x4C, 0x49, 0x41, 0x5C - .byte 0x00, 0x29, 0x04, 0xD0, 0x01, 0xF0, 0x04, 0xF8, 0x01, 0x28, 0x00, 0xD0, 0x8E, 0xE0, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x8A, 0xE0, 0x21, 0x68, 0x45, 0x48, 0x08, 0x5C, 0x01, 0x28, 0x02, 0xD1 - .byte 0x00, 0x20, 0xB0, 0xF7, 0x59, 0xFB, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x7E, 0xE0, 0x22, 0x68 - .byte 0x3F, 0x49, 0x51, 0x5C, 0x01, 0x29, 0x08, 0xD1, 0x00, 0x20, 0xB0, 0xF7, 0x75, 0xFB, 0x01, 0x28 - .byte 0x74, 0xD1, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x70, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x6D, 0xE0 - .byte 0x20, 0x68, 0x00, 0xF0, 0x65, 0xFB, 0x23, 0x68, 0x36, 0x4A, 0x37, 0x49, 0x9A, 0x58, 0x28, 0x1C - .byte 0xC5, 0xF7, 0xF6, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x5F, 0xE0, 0x20, 0x68, 0x00, 0xF0 - .byte 0xA3, 0xFB, 0x20, 0x68, 0x2E, 0x49, 0x41, 0x5C, 0x01, 0x29, 0x05, 0xD1, 0x00, 0xF0, 0xD2, 0xFF - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x51, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x4E, 0xE0, 0x20, 0x68 - .byte 0x27, 0x49, 0x41, 0x5C, 0x00, 0x29, 0x03, 0xD0, 0x00, 0xF0, 0xBA, 0xFF, 0x01, 0x28, 0x45, 0xD1 - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x41, 0xE0, 0x24, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7 - .byte 0xCF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x38, 0xE0, 0x22, 0x68, 0x20, 0x48, 0x10, 0x5C - .byte 0xFF, 0x30, 0x00, 0x06, 0x00, 0x0E, 0x01, 0x28, 0x03, 0xD8, 0x1E, 0x49, 0x28, 0x1C, 0xC5, 0xF7 - .byte 0xBF, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x28, 0xE0, 0x22, 0x68, 0x18, 0x48, 0x10, 0x5C - .byte 0x00, 0x28, 0x01, 0xD0, 0x02, 0x28, 0x03, 0xD1, 0x17, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0xB0, 0xFA - .byte 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x19, 0xE0, 0x14, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7 - .byte 0xA7, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x10, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x0D, 0xE0 - .byte 0x28, 0x1C, 0xC9, 0xF7, 0xDF, 0xFF, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x06, 0xE0 + ldr r0, [r4, #0x0] + ldr r1, _02080FE0 ; =0x00000171 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _02080EBE + bl FUN_02081EC0 + cmp r0, #0x1 + beq _02080EBE + b _02080FDC +_02080EBE: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080EC6: + ldr r1, [r4, #0x0] + ldr r0, _02080FE0 ; =0x00000171 + ldrb r0, [r1, r0] + cmp r0, #0x1 + bne _02080ED6 + mov r0, #0x0 + bl FUN_02031588 +_02080ED6: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080EDE: + ldr r2, [r4, #0x0] + ldr r1, _02080FE0 ; =0x00000171 + ldrb r1, [r2, r1] + cmp r1, #0x1 + bne _02080EFA + mov r0, #0x0 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02080FDC + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080EFA: + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F00: + ldr r0, [r4, #0x0] + bl FUN_020815D0 + ldr r3, [r4, #0x0] + ldr r2, _02080FE4 ; =0x000019B8 + ldr r1, _02080FE8 ; =0x020FBBD8 + ldr r2, [r3, r2] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F1C: + ldr r0, [r4, #0x0] + bl FUN_02081668 + ldr r0, [r4, #0x0] + ldr r1, _02080FE0 ; =0x00000171 + ldrb r1, [r0, r1] + cmp r1, #0x1 + bne _02080F38 + bl FUN_02081ED4 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F38: + mov r0, #0x6 + str r0, [r4, #0x4] + b _02080FDC +_02080F3E: + ldr r0, [r4, #0x0] + ldr r1, _02080FE0 ; =0x00000171 + ldrb r1, [r0, r1] + cmp r1, #0x0 + beq _02080F50 + bl FUN_02081EC0 + cmp r0, #0x1 + bne _02080FDC +_02080F50: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F58: + ldr r1, _02080FEC ; =0x020FBBC8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F6A: + ldr r2, [r4, #0x0] + ldr r0, _02080FF0 ; =0x00000121 + ldrb r0, [r2, r0] + add r0, #0xff + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + cmp r0, #0x1 + bhi _02080F82 + ldr r1, _02080FF4 ; =0x020FBBF8 + add r0, r5, #0x0 + bl FUN_02046500 +_02080F82: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080F8A: + ldr r2, [r4, #0x0] + ldr r0, _02080FF0 ; =0x00000121 + ldrb r0, [r2, r0] + cmp r0, #0x0 + beq _02080F98 + cmp r0, #0x2 + bne _02080FA0 +_02080F98: + ldr r1, _02080FF8 ; =0x020FBBE8 + add r0, r5, #0x0 + bl FUN_02046500 +_02080FA0: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080FA8: + ldr r1, _02080FFC ; =0x020FBBB8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080FBA: + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC +_02080FC0: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _02080FDC _02080FCE: bl FUN_02020C2C +_02080FD2: add r0, r4, #0x0 bl FUN_02016A18 mov r0, #0x1 @@ -239253,9 +269453,15 @@ _02080FCE: _02080FDC: mov r0, #0x0 pop {r3-r5, pc} -_02080FE0: - .byte 0x71, 0x01, 0x00, 0x00, 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02 - .byte 0x21, 0x01, 0x00, 0x00, 0xF8, 0xBB, 0x0F, 0x02, 0xE8, 0xBB, 0x0F, 0x02, 0xB8, 0xBB, 0x0F, 0x02 + .balign 4 +_02080FE0: .word 0x00000171 +_02080FE4: .word 0x000019B8 +_02080FE8: .word 0x020FBBD8 +_02080FEC: .word 0x020FBBC8 +_02080FF0: .word 0x00000121 +_02080FF4: .word 0x020FBBF8 +_02080FF8: .word 0x020FBBE8 +_02080FFC: .word 0x020FBBB8 thumb_func_start FUN_02081000 FUN_02081000: ; 0x02081000 @@ -239277,16 +269483,18 @@ _0208101A: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r2, #0 - lsl r0, r4, #0 - lsl r0, r1, #0x1 - lsl r2, r4, #0x1 - lsl r0, r5, #0x1 - lsl r6, r0, #0x2 - lsl r2, r5, #0x2 - lsl r0, r1, #0x3 - lsl r6, r5, #0x5 - lsl r0, r0, #0x6 +_02081026: ; jump table (using 16-bit offset) + .short _0208103A - _02081026 - 2; case 0 + .short _02081048 - _02081026 - 2; case 1 + .short _02081070 - _02081026 - 2; case 2 + .short _0208108A - _02081026 - 2; case 3 + .short _02081090 - _02081026 - 2; case 4 + .short _020810AE - _02081026 - 2; case 5 + .short _020810D2 - _02081026 - 2; case 6 + .short _020810F0 - _02081026 - 2; case 7 + .short _02081196 - _02081026 - 2; case 8 + .short _020811A8 - _02081026 - 2; case 9 +_0208103A: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r4, #0x4] @@ -239294,31 +269502,200 @@ _0208101A: str r0, [r4, #0x4] b _020811B4 _02081048: - .byte 0x20, 0x68, 0x5C, 0x49, 0x41, 0x5C, 0x03, 0x29 - .byte 0x01, 0xD0, 0x04, 0x29, 0x08, 0xD1, 0x00, 0xF0, 0xBB, 0xFA, 0x23, 0x68, 0x58, 0x4A, 0x59, 0x49 - .byte 0x9A, 0x58, 0x28, 0x1C, 0xC5, 0xF7, 0x4C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0xA1, 0xE0 - .byte 0x20, 0x68, 0x52, 0x49, 0x41, 0x5C, 0x03, 0x29, 0x01, 0xD0, 0x04, 0x29, 0x01, 0xD1, 0x00, 0xF0 - .byte 0xF3, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x94, 0xE0, 0x40, 0x1C, 0x60, 0x60, 0x91, 0xE0 - .byte 0x22, 0x68, 0x4A, 0x48, 0x10, 0x5C, 0x03, 0x28, 0x01, 0xD0, 0x04, 0x28, 0x03, 0xD1, 0x4A, 0x49 - .byte 0x28, 0x1C, 0xC5, 0xF7, 0x2D, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x82, 0xE0, 0x20, 0x68 - .byte 0x42, 0x49, 0x41, 0x5C, 0x05, 0x29, 0x01, 0xD0, 0x06, 0x29, 0x06, 0xD1, 0x01, 0xF0, 0x2C, 0xFE - .byte 0x42, 0x49, 0x22, 0x68, 0x28, 0x1C, 0xC5, 0xF7, 0x1B, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60 - .byte 0x70, 0xE0, 0x22, 0x68, 0x39, 0x48, 0x10, 0x5C, 0x07, 0x28, 0x01, 0xD0, 0x08, 0x28, 0x03, 0xD1 - .byte 0x3B, 0x49, 0x28, 0x1C, 0xC5, 0xF7, 0x0C, 0xFA, 0x60, 0x68, 0x40, 0x1C, 0x60, 0x60, 0x61, 0xE0 - .byte 0x21, 0x68, 0x32, 0x48, 0x08, 0x5C, 0x08, 0x28, 0x39, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88 - .byte 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x10, 0x00, 0x10, 0x00 - .byte 0x32, 0x00, 0x32, 0x00, 0x4E, 0x00, 0x4E, 0x00, 0x00, 0x25, 0x00, 0xAE, 0x20, 0x68, 0x29, 0x1C - .byte 0x02, 0xF0, 0xF2, 0xF8, 0x07, 0x1C, 0x20, 0x68, 0x29, 0x1C, 0x02, 0xF0, 0x1F, 0xF9, 0x38, 0x18 - .byte 0x6D, 0x1C, 0x01, 0xC6, 0x04, 0x2D, 0xF1, 0xDB, 0x19, 0xE0, 0x00, 0x22, 0x4B, 0x23, 0x10, 0x1C - .byte 0x00, 0xA9, 0x9B, 0x00, 0x25, 0x68, 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A - .byte 0x20, 0xC1, 0xF7, 0xDB, 0x0B, 0xE0, 0x00, 0x22, 0x1E, 0x4B, 0x10, 0x1C, 0x00, 0xA9, 0x25, 0x68 - .byte 0x52, 0x1C, 0x2D, 0x18, 0xED, 0x5E, 0x0C, 0x30, 0x04, 0x2A, 0x20, 0xC1, 0xF7, 0xDB, 0x00, 0x99 - .byte 0x00, 0x22, 0x01, 0x25, 0x01, 0xAB, 0x18, 0x68, 0x81, 0x42, 0x00, 0xDA, 0x52, 0x1C, 0x6D, 0x1C - .byte 0x1B, 0x1D, 0x04, 0x2D, 0xF7, 0xDB, 0x13, 0x20, 0x21, 0x68, 0x00, 0x01, 0x0A, 0x54, 0x60, 0x68 - .byte 0x40, 0x1C, 0x60, 0x60, 0x0E, 0xE0, 0x28, 0x1C, 0xC9, 0xF7, 0xF4, 0xFE, 0x60, 0x68, 0x40, 0x1C - .byte 0x60, 0x60, 0x07, 0xE0 + ldr r0, [r4, #0x0] + ldr r1, _020811BC ; =0x00000121 + ldrb r1, [r0, r1] + cmp r1, #0x3 + beq _02081056 + cmp r1, #0x4 + bne _02081068 +_02081056: + bl FUN_020815D0 + ldr r3, [r4, #0x0] + ldr r2, _020811C0 ; =0x000019B8 + ldr r1, _020811C4 ; =0x020FBBD8 + ldr r2, [r3, r2] + add r0, r5, #0x0 + bl FUN_02046500 +_02081068: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_02081070: + ldr r0, [r4, #0x0] + ldr r1, _020811BC ; =0x00000121 + ldrb r1, [r0, r1] + cmp r1, #0x3 + beq _0208107E + cmp r1, #0x4 + bne _02081082 +_0208107E: + bl FUN_02081668 +_02081082: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_0208108A: + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_02081090: + ldr r2, [r4, #0x0] + ldr r0, _020811BC ; =0x00000121 + ldrb r0, [r2, r0] + cmp r0, #0x3 + beq _0208109E + cmp r0, #0x4 + bne _020810A6 +_0208109E: + ldr r1, _020811C8 ; =0x020FBBC8 + add r0, r5, #0x0 + bl FUN_02046500 +_020810A6: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_020810AE: + ldr r0, [r4, #0x0] + ldr r1, _020811BC ; =0x00000121 + ldrb r1, [r0, r1] + cmp r1, #0x5 + beq _020810BC + cmp r1, #0x6 + bne _020810CA +_020810BC: + bl FUN_02082D18 + ldr r1, _020811CC ; =0x020FBBF8 + ldr r2, [r4, #0x0] + add r0, r5, #0x0 + bl FUN_02046500 +_020810CA: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_020810D2: + ldr r2, [r4, #0x0] + ldr r0, _020811BC ; =0x00000121 + ldrb r0, [r2, r0] + cmp r0, #0x7 + beq _020810E0 + cmp r0, #0x8 + bne _020810E8 +_020810E0: + ldr r1, _020811D0 ; =0x020FBBE8 + add r0, r5, #0x0 + bl FUN_02046500 +_020810E8: + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_020810F0: + ldr r1, [r4, #0x0] + ldr r0, _020811BC ; =0x00000121 + ldrb r0, [r1, r0] + cmp r0, #0x8 + bhi _0208116E + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02081106: ; jump table (using 16-bit offset) + .short _0208116E - _02081106 - 2; case 0 + .short _0208116E - _02081106 - 2; case 1 + .short _0208116E - _02081106 - 2; case 2 + .short _02081118 - _02081106 - 2; case 3 + .short _02081118 - _02081106 - 2; case 4 + .short _0208113A - _02081106 - 2; case 5 + .short _0208113A - _02081106 - 2; case 6 + .short _02081156 - _02081106 - 2; case 7 + .short _02081156 - _02081106 - 2; case 8 +_02081118: + mov r5, #0x0 + add r6, sp, #0x0 +_0208111C: + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl FUN_02083308 + add r7, r0, #0x0 + ldr r0, [r4, #0x0] + add r1, r5, #0x0 + bl FUN_0208336C + add r0, r7, r0 + add r5, r5, #0x1 + stmia r6!, {r0} + cmp r5, #0x4 + blt _0208111C + b _0208116E +_0208113A: + mov r2, #0x0 + mov r3, #0x4b + add r0, r2, #0x0 + add r1, sp, #0x0 + lsl r3, r3, #0x2 +_02081144: + ldr r5, [r4, #0x0] + add r2, r2, #0x1 + add r5, r5, r0 + ldrsh r5, [r5, r3] + add r0, #0xc + cmp r2, #0x4 + stmia r1!, {r5} + blt _02081144 + b _0208116E +_02081156: + mov r2, #0x0 + ldr r3, _020811D4 ; =0x0000012E + add r0, r2, #0x0 + add r1, sp, #0x0 +_0208115E: + ldr r5, [r4, #0x0] + add r2, r2, #0x1 + add r5, r5, r0 + ldrsh r5, [r5, r3] + add r0, #0xc + cmp r2, #0x4 + stmia r1!, {r5} + blt _0208115E +_0208116E: + ldr r1, [sp, #0x0] + mov r2, #0x0 + mov r5, #0x1 + add r3, sp, #0x4 +_02081176: + ldr r0, [r3, #0x0] + cmp r1, r0 + bge _0208117E + add r2, r2, #0x1 +_0208117E: + add r5, r5, #0x1 + add r3, r3, #0x4 + cmp r5, #0x4 + blt _02081176 + mov r0, #0x13 + ldr r1, [r4, #0x0] + lsl r0, r0, #0x4 + strb r2, [r1, r0] + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 +_02081196: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x4] + add r0, r0, #0x1 + str r0, [r4, #0x4] + b _020811B4 _020811A4: bl FUN_02020C2C +_020811A8: add r0, r4, #0x0 bl FUN_02016A18 add sp, #0x10 @@ -239329,10 +269706,13 @@ _020811B4: add sp, #0x10 pop {r3-r7, pc} nop -_020811BC: - .byte 0x21, 0x01, 0x00, 0x00 - .byte 0xB8, 0x19, 0x00, 0x00, 0xD8, 0xBB, 0x0F, 0x02, 0xC8, 0xBB, 0x0F, 0x02, 0xF8, 0xBB, 0x0F, 0x02 - .byte 0xE8, 0xBB, 0x0F, 0x02, 0x2E, 0x01, 0x00, 0x00 +_020811BC: .word 0x00000121 +_020811C0: .word 0x000019B8 +_020811C4: .word 0x020FBBD8 +_020811C8: .word 0x020FBBC8 +_020811CC: .word 0x020FBBF8 +_020811D0: .word 0x020FBBE8 +_020811D4: .word 0x0000012E thumb_func_start FUN_020811D8 FUN_020811D8: ; 0x020811D8 @@ -239779,11 +270159,13 @@ _0208154C: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r3, #0 - lsl r0, r5, #0 - lsl r0, r7, #0 - lsl r0, r1, #0x1 +_0208155C: ; jump table (using 16-bit offset) + .short _02081566 - _0208155C - 2; case 0 + .short _02081576 - _0208155C - 2; case 1 + .short _02081586 - _0208155C - 2; case 2 + .short _02081596 - _0208155C - 2; case 3 + .short _020815A6 - _0208155C - 2; case 4 +_02081566: add r1, r4, #0x0 add r0, r5, #0x0 add r1, #0x7a @@ -239792,11 +270174,37 @@ _0208154C: add r6, r0, #0x0 b _020815BA _02081576: - .byte 0x21, 0x1C, 0x28, 0x1C, 0x7E, 0x31, 0x00, 0x22, 0xE5, 0xF7 - .byte 0x1D, 0xFE, 0x06, 0x1C, 0x19, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x82, 0x31, 0x00, 0x22, 0xE5, 0xF7 - .byte 0x15, 0xFE, 0x06, 0x1C, 0x11, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x86, 0x31, 0x00, 0x22, 0xE5, 0xF7 - .byte 0x0D, 0xFE, 0x06, 0x1C, 0x09, 0xE0, 0x21, 0x1C, 0x28, 0x1C, 0x8A, 0x31, 0x00, 0x22, 0xE5, 0xF7 - .byte 0x05, 0xFE, 0x06, 0x1C, 0x01, 0xE0 + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x7e + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + b _020815BA +_02081586: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x82 + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + b _020815BA +_02081596: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x86 + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + b _020815BA +_020815A6: + add r1, r4, #0x0 + add r0, r5, #0x0 + add r1, #0x8a + mov r2, #0x0 + bl FUN_020671BC + add r6, r0, #0x0 + b _020815BA _020815B6: bl FUN_02020C2C _020815BA: @@ -239919,54 +270327,56 @@ _02081692: lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r6, r3, #0x1 - lsl r6, r6, #0x1 - lsl r4, r1, #0x2 - lsl r2, r4, #0x2 - lsl r6, r7, #0x2 - lsl r6, r2, #0x3 - lsl r4, r5, #0x3 - lsl r0, r1, #0x4 - lsl r4, r4, #0x4 - lsl r4, r7, #0x4 - lsl r2, r2, #0x5 - lsl r2, r0, #0x6 - lsl r0, r3, #0x6 - lsl r0, r6, #0x6 - lsl r6, r0, #0x7 - lsl r4, r4, #0x7 - lsl r0, r0, #0x8 - lsl r0, r3, #0x8 - lsl r6, r5, #0x8 - lsl r2, r5, #0x9 - lsl r0, r4, #0xa - lsl r0, r7, #0xa - lsl r6, r1, #0xb - lsl r6, r5, #0xb - lsl r6, r7, #0xc - lsl r4, r4, #0xd - lsl r2, r7, #0xd - lsl r4, r6, #0xe - lsl r2, r5, #0xf - lsl r6, r2, #0x10 - lsl r4, r5, #0x10 - lsl r0, r1, #0x11 - lsl r4, r4, #0x11 - lsl r4, r7, #0x11 - lsl r2, r2, #0x12 - lsl r4, r1, #0x13 - lsl r2, r0, #0x14 - lsl r2, r3, #0x14 - lsl r0, r6, #0x14 - lsl r2, r3, #0x15 - lsl r6, r6, #0x15 - lsl r6, r1, #0x16 - lsl r4, r4, #0x16 - lsl r6, r4, #0x17 - lsl r4, r3, #0x18 - lsl r4, r6, #0x18 - lsl r2, r1, #0x19 - lsl r0, r5, #0x19 +_0208169E: ; jump table (using 16-bit offset) + .short _020816FE - _0208169E - 2; case 0 + .short _02081716 - _0208169E - 2; case 1 + .short _0208172C - _0208169E - 2; case 2 + .short _02081742 - _0208169E - 2; case 3 + .short _0208175E - _0208169E - 2; case 4 + .short _02081776 - _0208169E - 2; case 5 + .short _0208178C - _0208169E - 2; case 6 + .short _020817A8 - _0208169E - 2; case 7 + .short _020817C4 - _0208169E - 2; case 8 + .short _020817DC - _0208169E - 2; case 9 + .short _020817F2 - _0208169E - 2; case 10 + .short _02081822 - _0208169E - 2; case 11 + .short _02081838 - _0208169E - 2; case 12 + .short _02081850 - _0208169E - 2; case 13 + .short _02081866 - _0208169E - 2; case 14 + .short _02081884 - _0208169E - 2; case 15 + .short _020818A0 - _0208169E - 2; case 16 + .short _020818B8 - _0208169E - 2; case 17 + .short _020818CE - _0208169E - 2; case 18 + .short _0208190A - _0208169E - 2; case 19 + .short _02081940 - _0208169E - 2; case 20 + .short _02081958 - _0208169E - 2; case 21 + .short _0208196E - _0208169E - 2; case 22 + .short _0208198E - _0208169E - 2; case 23 + .short _020819DE - _0208169E - 2; case 24 + .short _02081A04 - _0208169E - 2; case 25 + .short _02081A1A - _0208169E - 2; case 26 + .short _02081A54 - _0208169E - 2; case 27 + .short _02081A8A - _0208169E - 2; case 28 + .short _02081AB6 - _0208169E - 2; case 29 + .short _02081ACC - _0208169E - 2; case 30 + .short _02081AE8 - _0208169E - 2; case 31 + .short _02081B04 - _0208169E - 2; case 32 + .short _02081B1C - _0208169E - 2; case 33 + .short _02081B32 - _0208169E - 2; case 34 + .short _02081B6C - _0208169E - 2; case 35 + .short _02081BA2 - _0208169E - 2; case 36 + .short _02081BBA - _0208169E - 2; case 37 + .short _02081BD0 - _0208169E - 2; case 38 + .short _02081BFA - _0208169E - 2; case 39 + .short _02081C16 - _0208169E - 2; case 40 + .short _02081C2E - _0208169E - 2; case 41 + .short _02081C44 - _0208169E - 2; case 42 + .short _02081C86 - _0208169E - 2; case 43 + .short _02081CBC - _0208169E - 2; case 44 + .short _02081CD4 - _0208169E - 2; case 45 + .short _02081CEA - _0208169E - 2; case 46 + .short _02081D08 - _0208169E - 2; case 47 +_020816FE: mov r0, #0x5 bl FUN_02031588 ldr r0, _020819EC ; =0x00000584 @@ -239979,113 +270389,813 @@ _02081692: strb r1, [r4, r0] pop {r3-r7, pc} _02081716: - .byte 0x05, 0x20, 0xAF, 0xF7, 0x5E, 0xFF, 0x01, 0x28, 0x75, 0xD1 - .byte 0xB1, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x20, 0x1C, 0x01, 0xF0 - .byte 0x7F, 0xFF, 0x01, 0x28, 0x6A, 0xD1, 0xAC, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 - .byte 0xF8, 0xBD, 0xAA, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x5D, 0xD3 - .byte 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x06, 0x20 - .byte 0xAF, 0xF7, 0x12, 0xFF, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C - .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x06, 0x20, 0xAF, 0xF7, 0x2E, 0xFF, 0x01, 0x28, 0x45, 0xD1 - .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C - .byte 0x22, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x92, 0xFF, 0x01, 0x28, 0x37, 0xD1, 0x92, 0x48, 0x04, 0xB0 - .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C - .byte 0x61, 0x5C, 0x8B, 0x42, 0x2A, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C - .byte 0xA0, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7, 0xDF, 0xFE, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54 - .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x07, 0x20, 0xAF, 0xF7 - .byte 0xFB, 0xFE, 0x01, 0x28, 0x12, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 - .byte 0xF8, 0xBD, 0x13, 0x1C, 0x53, 0x3B, 0xE5, 0x5C, 0x13, 0x1C, 0x5A, 0x3B, 0xE3, 0x5C, 0x9D, 0x42 - .byte 0x0B, 0xD1, 0x20, 0x1C, 0x01, 0xF0, 0x9A, 0xFF, 0x01, 0x28, 0x00, 0xD0, 0xD6, 0xE2, 0x76, 0x48 - .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54 - .byte 0xF8, 0xBD, 0x72, 0x48, 0x21, 0x5C, 0x00, 0x29, 0x73, 0xD0, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C - .byte 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x08, 0x20, 0xAF, 0xF7, 0xA5, 0xFE, 0x6B, 0x48 - .byte 0x00, 0x21, 0x21, 0x54, 0x68, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD - .byte 0x08, 0x20, 0xAF, 0xF7, 0xC1, 0xFE, 0x01, 0x28, 0x5B, 0xD1, 0x63, 0x48, 0x04, 0xB0, 0x21, 0x5C - .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C, 0x20, 0x1C, 0x10, 0x32 - .byte 0x01, 0xF0, 0xA0, 0xFF, 0x01, 0x28, 0x4C, 0xD1, 0x5B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C - .byte 0x21, 0x54, 0xF8, 0xBD, 0x59, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42 - .byte 0x3F, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD - .byte 0x09, 0x20, 0xAF, 0xF7, 0x71, 0xFE, 0x51, 0x48, 0x00, 0x21, 0x21, 0x54, 0x4E, 0x48, 0x04, 0xB0 - .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x09, 0x20, 0xAF, 0xF7, 0x8D, 0xFE, 0x01, 0x28 - .byte 0x27, 0xD1, 0x49, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C - .byte 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x11, 0xD1, 0x90, 0x1C - .byte 0x21, 0x58, 0x23, 0x1C, 0x30, 0x22, 0x10, 0x33, 0x4A, 0x43, 0x20, 0x1C, 0x9A, 0x18, 0x01, 0xF0 - .byte 0x61, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x3C, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 - .byte 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x38, 0x49, 0x60, 0x5C, 0x00, 0x28 - .byte 0x00, 0xD1, 0x53, 0xE2, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C - .byte 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54 - .byte 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD - .byte 0x0A, 0x20, 0xAF, 0xF7, 0x21, 0xFE, 0x29, 0x48, 0x00, 0x21, 0x21, 0x54, 0x26, 0x48, 0x04, 0xB0 - .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0A, 0x20, 0xAF, 0xF7, 0x3D, 0xFE, 0x01, 0x28 - .byte 0x7C, 0xD1, 0x21, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A - .byte 0xA1, 0x5C, 0x22, 0x1C, 0xE8, 0x32, 0x12, 0x68, 0x20, 0x1C, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0x28 - .byte 0x6C, 0xD1, 0x19, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x17, 0x48 - .byte 0x4F, 0x3A, 0xA1, 0x5C, 0x20, 0x5C, 0x88, 0x42, 0x60, 0xD3, 0x00, 0x25, 0x00, 0x29, 0x15, 0xDD - .byte 0x26, 0x1C, 0x28, 0x1C, 0xAC, 0xF7, 0xFE, 0xFA, 0x07, 0x1C, 0x30, 0x1C, 0xE8, 0x30, 0x00, 0x68 - .byte 0xA0, 0xF7, 0x4C, 0xF8, 0x31, 0x1C, 0xE8, 0x31, 0x09, 0x68, 0x38, 0x1C, 0xA1, 0xF7, 0xE8, 0xFF - .byte 0x0B, 0x48, 0x6D, 0x1C, 0x20, 0x5C, 0x36, 0x1D, 0x85, 0x42, 0xEA, 0xDB, 0x07, 0x48, 0x00, 0x21 - .byte 0x21, 0x54, 0x05, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20 - .byte 0xAF, 0xF7, 0xD2, 0xFD, 0x01, 0x48, 0x05, 0xE0 + mov r0, #0x5 + bl FUN_020315D8 + cmp r0, #0x1 + bne _0208180C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_0208172C: + add r0, r4, #0x0 + bl FUN_02083630 + cmp r0, #0x1 + bne _0208180C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081742: + ldr r0, _020819EC ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _0208180C + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_0208175E: + mov r0, #0x6 + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081776: + mov r0, #0x6 + bl FUN_020315D8 + cmp r0, #0x1 + bne _0208180C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_0208178C: + sub r2, #0x53 + ldrb r1, [r4, r2] + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + bl FUN_020836BC + cmp r0, #0x1 + bne _0208180C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020817A8: + ldr r0, _020819EC ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _0208180C + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_020817C4: + mov r0, #0x7 + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020817DC: + mov r0, #0x7 + bl FUN_020315D8 + cmp r0, #0x1 + bne _0208180C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020817F2: + add r3, r2, #0x0 + sub r3, #0x53 + ldrb r5, [r4, r3] + add r3, r2, #0x0 + sub r3, #0x5a + ldrb r3, [r4, r3] + cmp r5, r3 + bne _0208181A + add r0, r4, #0x0 + bl FUN_0208373C + cmp r0, #0x1 + beq _0208180E +_0208180C: + b _02081DBC +_0208180E: + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_0208181A: + add r0, r0, #0x1 + add sp, #0x10 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081822: + ldr r0, _020819EC ; =0x00000584 + ldrb r1, [r4, r0] + cmp r1, #0x0 + beq _02081912 + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081838: + mov r0, #0x8 + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081850: + mov r0, #0x8 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081912 + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081866: + sub r2, #0x53 + ldrb r1, [r4, r2] + add r2, r4, #0x0 + add r0, r4, #0x0 + add r2, #0x10 + bl FUN_020837B4 + cmp r0, #0x1 + bne _02081912 + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081884: + ldr r0, _020819EC ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _02081912 + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_020818A0: + mov r0, #0x9 + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020818B8: + mov r0, #0x9 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081912 + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020818CE: + add r1, r2, #0x0 + sub r1, #0x53 + ldrb r3, [r4, r1] + add r1, r2, #0x0 + sub r1, #0x5a + ldrb r1, [r4, r1] + cmp r3, r1 + bne _02081902 + add r0, r2, #0x2 + ldr r1, [r4, r0] + add r3, r4, #0x0 + mov r2, #0x30 + add r3, #0x10 + mul r2, r1 + add r0, r4, #0x0 + add r2, r3, r2 + bl FUN_020837B4 + cmp r0, #0x1 + bne _02081912 + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081902: + add r0, r0, #0x1 + add sp, #0x10 + strb r0, [r4, r2] + pop {r3-r7, pc} +_0208190A: + ldr r1, _020819EC ; =0x00000584 + ldrb r0, [r4, r1] + cmp r0, #0x0 + bne _02081914 +_02081912: + b _02081DBC +_02081914: + mov r0, #0x0 + strb r0, [r4, r1] + add r1, r2, #0x2 + ldr r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x2 + str r3, [r4, r1] + ldr r1, [r4, r1] + cmp r1, #0x4 + bge _02081932 + ldrb r0, [r4, r2] + add sp, #0x10 + sub r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081932: + add r1, r2, #0x2 + str r0, [r4, r1] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081940: + mov r0, #0xa + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081958: + mov r0, #0xa + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081A5C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_0208196E: + sub r2, #0x53 + ldrb r1, [r4, r2] + add r2, r4, #0x0 + add r2, #0xe8 + ldr r2, [r2, #0x0] + add r0, r4, #0x0 + bl FUN_020838B4 + cmp r0, #0x1 + bne _02081A5C + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_0208198E: + ldr r0, _020819EC ; =0x00000584 + sub r2, #0x4f + ldrb r1, [r4, r2] + ldrb r0, [r4, r0] + cmp r0, r1 + blo _02081A5C + mov r5, #0x0 + cmp r1, #0x0 + ble _020819CC + add r6, r4, #0x0 +_020819A2: + add r0, r5, #0x0 + bl FUN_0202DFA4 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r0, #0xe8 + ldr r0, [r0, #0x0] + bl FUN_02021A4C + add r1, r6, #0x0 + add r1, #0xe8 + ldr r1, [r1, #0x0] + add r0, r7, #0x0 + bl FUN_02023990 + ldr r0, _020819F0 ; =0x00000127 + add r5, r5, #0x1 + ldrb r0, [r4, r0] + add r6, r6, #0x4 + cmp r5, r0 + blt _020819A2 +_020819CC: + ldr r0, _020819EC ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _020819E8 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_020819DE: + mov r0, #0xb + bl FUN_02031588 + ldr r0, _020819EC ; =0x00000584 + b _020819F4 + .balign 4 _020819E8: .word 0x00000176 _020819EC: .word 0x00000584 -_020819F0: - .byte 0x27, 0x01, 0x00, 0x00, 0x00, 0x21, 0x21, 0x54, 0xCB, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C - .byte 0x21, 0x54, 0xF8, 0xBD, 0x0B, 0x20, 0xAF, 0xF7, 0xE7, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0xC6, 0x48 - .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C - .byte 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42, 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x20, 0x1C - .byte 0x8A, 0x00, 0xA2, 0x18, 0xE8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0x3C, 0xFF, 0x01, 0x28, 0x0D, 0xD1 - .byte 0xB9, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0 - .byte 0xA0, 0x54, 0xF8, 0xBD, 0xB5, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0xAE, 0xE1, 0x00, 0x20 - .byte 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29 - .byte 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50 - .byte 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0xA8, 0xF7, 0x1B, 0xFA, 0x02, 0x1C - .byte 0x57, 0x20, 0x80, 0x00, 0xA6, 0x49, 0x20, 0x58, 0x61, 0x18, 0x4C, 0xF0, 0xA2, 0xEC, 0x0C, 0x20 - .byte 0xAF, 0xF7, 0x72, 0xFD, 0xA1, 0x48, 0x00, 0x21, 0x21, 0x54, 0x9F, 0x48, 0x04, 0xB0, 0x21, 0x5C - .byte 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0C, 0x20, 0xAF, 0xF7, 0x8E, 0xFD, 0x01, 0x28, 0x59, 0xD1 - .byte 0x99, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C - .byte 0x20, 0x1C, 0x00, 0x22, 0x01, 0xF0, 0xFE, 0xFF, 0x01, 0x28, 0x4B, 0xD1, 0x92, 0x48, 0x04, 0xB0 - .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x90, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C - .byte 0x61, 0x5C, 0x8B, 0x42, 0x3E, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C - .byte 0xA0, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7, 0x3F, 0xFD, 0x88, 0x48, 0x00, 0x21, 0x21, 0x54 - .byte 0x85, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0D, 0x20, 0xAF, 0xF7 - .byte 0x5B, 0xFD, 0x01, 0x28, 0x26, 0xD1, 0x80, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54 - .byte 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C, 0x8B, 0x42 - .byte 0x10, 0xD1, 0x90, 0x1C, 0x21, 0x58, 0x1A, 0x3A, 0x8B, 0x00, 0xE3, 0x18, 0x9A, 0x58, 0x20, 0x1C - .byte 0x01, 0xF0, 0xC0, 0xFF, 0x01, 0x28, 0x0D, 0xD1, 0x73, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C - .byte 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C, 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x6F, 0x49, 0x60, 0x5C - .byte 0x00, 0x28, 0x00, 0xD1, 0x22, 0xE1, 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C - .byte 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58, 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E - .byte 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C, 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54 - .byte 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0xF0, 0xFC, 0x60, 0x48, 0x00, 0x21, 0x21, 0x54, 0x5E, 0x48 - .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0E, 0x20, 0xAF, 0xF7, 0x0C, 0xFD - .byte 0x01, 0x28, 0x64, 0xD1, 0x58, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD - .byte 0x02, 0xAA, 0x20, 0x1C, 0x00, 0x21, 0x02, 0x32, 0x00, 0xF0, 0x5C, 0xFE, 0x55, 0x49, 0x02, 0xAA - .byte 0x61, 0x5C, 0x20, 0x1C, 0x02, 0x32, 0x01, 0xF0, 0xAF, 0xFF, 0x01, 0x28, 0x4F, 0xD1, 0x4E, 0x48 - .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x4C, 0x48, 0x11, 0x1C, 0x4F, 0x39 - .byte 0x23, 0x5C, 0x61, 0x5C, 0x8B, 0x42, 0x42, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0 - .byte 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x0F, 0x20, 0xAF, 0xF7, 0xB6, 0xFC, 0x43, 0x48, 0x00, 0x21 - .byte 0x21, 0x54, 0x41, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x0F, 0x20 - .byte 0xAF, 0xF7, 0xD2, 0xFC, 0x01, 0x28, 0x2A, 0xD1, 0x3B, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C - .byte 0x21, 0x54, 0xF8, 0xBD, 0x11, 0x1C, 0x53, 0x39, 0x63, 0x5C, 0x11, 0x1C, 0x5A, 0x39, 0x61, 0x5C - .byte 0x8B, 0x42, 0x14, 0xD1, 0x91, 0x1C, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x00, 0xF0, 0x1A, 0xFE - .byte 0x5E, 0x21, 0x89, 0x00, 0x61, 0x58, 0x20, 0x1C, 0x01, 0xAA, 0x01, 0xF0, 0x6D, 0xFF, 0x01, 0x28 - .byte 0x0D, 0xD1, 0x2D, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x40, 0x1C - .byte 0x04, 0xB0, 0xA0, 0x54, 0xF8, 0xBD, 0x29, 0x49, 0x60, 0x5C, 0x00, 0x28, 0x00, 0xD1, 0x95, 0xE0 - .byte 0x00, 0x20, 0x60, 0x54, 0x91, 0x1C, 0x61, 0x58, 0x4B, 0x1C, 0x91, 0x1C, 0x63, 0x50, 0x61, 0x58 - .byte 0x04, 0x29, 0x04, 0xDA, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1E, 0xA0, 0x54, 0xF8, 0xBD, 0x91, 0x1C - .byte 0x60, 0x50, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C, 0xA0, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7 - .byte 0x63, 0xFC, 0x1A, 0x48, 0x00, 0x21, 0x21, 0x54, 0x17, 0x48, 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C - .byte 0x21, 0x54, 0xF8, 0xBD, 0x10, 0x20, 0xAF, 0xF7, 0x7F, 0xFC, 0x01, 0x28, 0x6E, 0xD1, 0x12, 0x48 - .byte 0x04, 0xB0, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x53, 0x3A, 0xA1, 0x5C, 0x22, 0x1C - .byte 0x20, 0x1C, 0xD0, 0x32, 0x01, 0xF0, 0x9E, 0xFD, 0x01, 0x28, 0x5F, 0xD1, 0x0A, 0x48, 0x04, 0xB0 - .byte 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0xF8, 0xBD, 0x08, 0x48, 0x11, 0x1C, 0x4F, 0x39, 0x23, 0x5C - .byte 0x61, 0x5C, 0x8B, 0x42, 0x52, 0xD3, 0x00, 0x21, 0x21, 0x54, 0xA0, 0x5C, 0x04, 0xB0, 0x40, 0x1C - .byte 0xA0, 0x54, 0xF8, 0xBD +_020819F0: .word 0x00000127 +_020819F4: + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081A04: + mov r0, #0xb + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081A5C + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081A1A: + add r1, r2, #0x0 + sub r1, #0x53 + ldrb r3, [r4, r1] + add r1, r2, #0x0 + sub r1, #0x5a + ldrb r1, [r4, r1] + cmp r3, r1 + bne _02081A4C + add r0, r2, #0x2 + ldr r1, [r4, r0] + add r0, r4, #0x0 + lsl r2, r1, #0x2 + add r2, r4, r2 + add r2, #0xe8 + ldr r2, [r2, #0x0] + bl FUN_020838B4 + cmp r0, #0x1 + bne _02081A5C + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081A4C: + add r0, r0, #0x1 + add sp, #0x10 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081A54: + ldr r1, _02081D2C ; =0x00000584 + ldrb r0, [r4, r1] + cmp r0, #0x0 + bne _02081A5E +_02081A5C: + b _02081DBC +_02081A5E: + mov r0, #0x0 + strb r0, [r4, r1] + add r1, r2, #0x2 + ldr r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x2 + str r3, [r4, r1] + ldr r1, [r4, r1] + cmp r1, #0x4 + bge _02081A7C + ldrb r0, [r4, r2] + add sp, #0x10 + sub r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081A7C: + add r1, r2, #0x2 + str r0, [r4, r1] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081A8A: + bl FUN_02029EC4 + add r2, r0, #0x0 + mov r0, #0x57 + lsl r0, r0, #0x2 + ldr r1, _02081D30 ; =0x00000585 + ldr r0, [r4, r0] + add r1, r4, r1 + blx FUN_020CE3E0 + mov r0, #0xc + bl FUN_02031588 + ldr r0, _02081D2C ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081AB6: + mov r0, #0xc + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081B74 + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081ACC: + sub r2, #0x53 + ldrb r1, [r4, r2] + add r0, r4, #0x0 + mov r2, #0x0 + bl FUN_02083AD4 + cmp r0, #0x1 + bne _02081B74 + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081AE8: + ldr r0, _02081D2C ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _02081B74 + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081B04: + mov r0, #0xd + bl FUN_02031588 + ldr r0, _02081D2C ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081B1C: + mov r0, #0xd + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081B74 + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081B32: + add r1, r2, #0x0 + sub r1, #0x53 + ldrb r3, [r4, r1] + add r1, r2, #0x0 + sub r1, #0x5a + ldrb r1, [r4, r1] + cmp r3, r1 + bne _02081B64 + add r0, r2, #0x2 + ldr r1, [r4, r0] + sub r2, #0x1a + lsl r3, r1, #0x2 + add r3, r4, r3 + ldr r2, [r3, r2] + add r0, r4, #0x0 + bl FUN_02083AD4 + cmp r0, #0x1 + bne _02081B74 + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081B64: + add r0, r0, #0x1 + add sp, #0x10 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081B6C: + ldr r1, _02081D2C ; =0x00000584 + ldrb r0, [r4, r1] + cmp r0, #0x0 + bne _02081B76 +_02081B74: + b _02081DBC +_02081B76: + mov r0, #0x0 + strb r0, [r4, r1] + add r1, r2, #0x2 + ldr r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x2 + str r3, [r4, r1] + ldr r1, [r4, r1] + cmp r1, #0x4 + bge _02081B94 + ldrb r0, [r4, r2] + add sp, #0x10 + sub r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081B94: + add r1, r2, #0x2 + str r0, [r4, r1] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081BA2: + mov r0, #0xe + bl FUN_02031588 + ldr r0, _02081D2C ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081BBA: + mov r0, #0xe + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081C8E + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081BD0: + add r2, sp, #0x8 + add r0, r4, #0x0 + mov r1, #0x0 + add r2, #0x2 + bl FUN_02082894 + ldr r1, _02081D34 ; =0x00000123 + add r2, sp, #0x8 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + add r2, #0x2 + bl FUN_02083B48 + cmp r0, #0x1 + bne _02081C8E + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081BFA: + ldr r0, _02081D2C ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _02081C8E + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081C16: + mov r0, #0xf + bl FUN_02031588 + ldr r0, _02081D2C ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081C2E: + mov r0, #0xf + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081C8E + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081C44: + add r1, r2, #0x0 + sub r1, #0x53 + ldrb r3, [r4, r1] + add r1, r2, #0x0 + sub r1, #0x5a + ldrb r1, [r4, r1] + cmp r3, r1 + bne _02081C7E + add r1, r2, #0x2 + ldr r1, [r4, r1] + add r0, r4, #0x0 + add r2, sp, #0x4 + bl FUN_02082894 + mov r1, #0x5e + lsl r1, r1, #0x2 + ldr r1, [r4, r1] + add r0, r4, #0x0 + add r2, sp, #0x4 + bl FUN_02083B48 + cmp r0, #0x1 + bne _02081C8E + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081C7E: + add r0, r0, #0x1 + add sp, #0x10 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081C86: + ldr r1, _02081D2C ; =0x00000584 + ldrb r0, [r4, r1] + cmp r0, #0x0 + bne _02081C90 +_02081C8E: + b _02081DBC +_02081C90: + mov r0, #0x0 + strb r0, [r4, r1] + add r1, r2, #0x2 + ldr r1, [r4, r1] + add r3, r1, #0x1 + add r1, r2, #0x2 + str r3, [r4, r1] + ldr r1, [r4, r1] + cmp r1, #0x4 + bge _02081CAE + ldrb r0, [r4, r2] + add sp, #0x10 + sub r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081CAE: + add r1, r2, #0x2 + str r0, [r4, r1] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} +_02081CBC: + mov r0, #0x10 + bl FUN_02031588 + ldr r0, _02081D2C ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081CD4: + mov r0, #0x10 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02081DBC + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081CEA: + sub r2, #0x53 + ldrb r1, [r4, r2] + add r2, r4, #0x0 + add r0, r4, #0x0 + add r2, #0xd0 + bl FUN_02083834 + cmp r0, #0x1 + bne _02081DBC + ldr r0, _02081D28 ; =0x00000176 + add sp, #0x10 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r3-r7, pc} +_02081D08: + ldr r0, _02081D2C ; =0x00000584 + add r1, r2, #0x0 + sub r1, #0x4f + ldrb r3, [r4, r0] + ldrb r1, [r4, r1] + cmp r3, r1 + blo _02081DBC + mov r1, #0x0 + strb r1, [r4, r0] + ldrb r0, [r4, r2] + add sp, #0x10 + add r0, r0, #0x1 + strb r0, [r4, r2] + pop {r3-r7, pc} _02081D24: ldr r0, _02081D38 ; =0x00000127 b _02081D3C -_02081D28: - .byte 0x76, 0x01, 0x00, 0x00, 0x84, 0x05, 0x00, 0x00 - .byte 0x85, 0x05, 0x00, 0x00, 0x23, 0x01, 0x00, 0x00 + .balign 4 +_02081D28: .word 0x00000176 +_02081D2C: .word 0x00000584 +_02081D30: .word 0x00000585 +_02081D34: .word 0x00000123 _02081D38: .word 0x00000127 _02081D3C: mov r5, #0x0 @@ -240153,6 +271263,7 @@ _02081D86: strb r2, [r4, r0] ldr r0, [sp, #0x0] bl FUN_0200CAB4 +_02081DBC: add sp, #0x10 pop {r3-r7, pc} .balign 4 @@ -240338,14 +271449,16 @@ FUN_02081F08: ; 0x02081F08 lsl r3, r3, #0x10 asr r3, r3, #0x10 add pc, r3 - lsl r6, r1, #0 - lsl r4, r4, #0 - lsl r0, r7, #0 - lsl r0, r3, #0x1 - lsl r2, r6, #0x1 - lsl r0, r1, #0x2 - lsl r4, r3, #0x2 - lsl r2, r1, #0x3 +_02081F20: ; jump table (using 16-bit offset) + .short _02081F30 - _02081F20 - 2; case 0 + .short _02081F46 - _02081F20 - 2; case 1 + .short _02081F5A - _02081F20 - 2; case 2 + .short _02081F7A - _02081F20 - 2; case 3 + .short _02081F94 - _02081F20 - 2; case 4 + .short _02081FAA - _02081F20 - 2; case 5 + .short _02081FBE - _02081F20 - 2; case 6 + .short _02081FEC - _02081F20 - 2; case 7 +_02081F30: mov r0, #0x11 bl FUN_02031588 ldr r0, _02082018 ; =0x00000584 @@ -240357,18 +271470,101 @@ FUN_02081F08: ; 0x02081F08 strb r1, [r4, r0] pop {r4, pc} _02081F46: - .byte 0x11, 0x20, 0xAF, 0xF7, 0x46, 0xFB, 0x01, 0x28, 0x5F, 0xD1 - .byte 0x30, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x53, 0x39, 0x61, 0x5C, 0x20, 0x1C - .byte 0x8A, 0x00, 0xA2, 0x18, 0xF8, 0x32, 0x12, 0x68, 0x01, 0xF0, 0xE2, 0xFC, 0x01, 0x28, 0x4F, 0xD1 - .byte 0x28, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x27, 0x48, 0x0A, 0x1C, 0x4F, 0x3A - .byte 0x23, 0x5C, 0xA2, 0x5C, 0x93, 0x42, 0x43, 0xD3, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C - .byte 0x60, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0xF7, 0xFA, 0x1F, 0x48, 0x00, 0x21, 0x21, 0x54 - .byte 0x1C, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x12, 0x20, 0xAF, 0xF7, 0x14, 0xFB - .byte 0x01, 0x28, 0x2D, 0xD1, 0x17, 0x48, 0x21, 0x5C, 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x08, 0x1C - .byte 0x53, 0x38, 0x23, 0x5C, 0x08, 0x1C, 0x5A, 0x38, 0x20, 0x5C, 0x83, 0x42, 0x0B, 0xD1, 0x21, 0x1C - .byte 0x20, 0x1C, 0xF8, 0x31, 0x01, 0xF0, 0xF4, 0xFC, 0x01, 0x28, 0x19, 0xD1, 0x0D, 0x48, 0x21, 0x5C - .byte 0x49, 0x1C, 0x21, 0x54, 0x10, 0xBD, 0x50, 0x1C, 0x60, 0x54, 0x10, 0xBD, 0x0A, 0x48, 0x22, 0x5C - .byte 0x00, 0x2A, 0x0D, 0xD0, 0x00, 0x22, 0x22, 0x54, 0x60, 0x5C, 0x40, 0x1C, 0x60, 0x54, 0x10, 0xBD + mov r0, #0x11 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02082010 + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081F5A: + sub r1, #0x53 + ldrb r1, [r4, r1] + add r0, r4, #0x0 + lsl r2, r1, #0x2 + add r2, r4, r2 + add r2, #0xf8 + ldr r2, [r2, #0x0] + bl FUN_02083930 + cmp r0, #0x1 + bne _02082010 + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081F7A: + ldr r0, _02082018 ; =0x00000584 + add r2, r1, #0x0 + sub r2, #0x4f + ldrb r3, [r4, r0] + ldrb r2, [r4, r2] + cmp r3, r2 + blo _02082010 + mov r2, #0x0 + strb r2, [r4, r0] + ldrb r0, [r4, r1] + add r0, r0, #0x1 + strb r0, [r4, r1] + pop {r4, pc} +_02081F94: + mov r0, #0x12 + bl FUN_02031588 + ldr r0, _02082018 ; =0x00000584 + mov r1, #0x0 + strb r1, [r4, r0] + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081FAA: + mov r0, #0x12 + bl FUN_020315D8 + cmp r0, #0x1 + bne _02082010 + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081FBE: + add r0, r1, #0x0 + sub r0, #0x53 + ldrb r3, [r4, r0] + add r0, r1, #0x0 + sub r0, #0x5a + ldrb r0, [r4, r0] + cmp r3, r0 + bne _02081FE6 + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0xf8 + bl FUN_020839C0 + cmp r0, #0x1 + bne _02082010 + ldr r0, _02082014 ; =0x00000176 + ldrb r1, [r4, r0] + add r1, r1, #0x1 + strb r1, [r4, r0] + pop {r4, pc} +_02081FE6: + add r0, r2, #0x1 + strb r0, [r4, r1] + pop {r4, pc} +_02081FEC: + ldr r0, _02082018 ; =0x00000584 + ldrb r2, [r4, r0] + cmp r2, #0x0 + beq _02082010 + mov r2, #0x0 + strb r2, [r4, r0] + ldrb r0, [r4, r1] + add r0, r0, #0x1 + strb r0, [r4, r1] + pop {r4, pc} _02082000: mov r1, #0x6 mov r2, #0x0 @@ -240377,6 +271573,7 @@ _02082000: sub r1, #0xa strb r2, [r4, r1] bl FUN_0200CAB4 +_02082010: pop {r4, pc} nop _02082014: .word 0x00000176 @@ -240749,18 +271946,37 @@ FUN_02082284: ; 0x02082284 lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r0, r1, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 +_0208229E: ; jump table (using 16-bit offset) + .short _020822A8 - _0208229E - 2; case 0 + .short _020822B0 - _0208229E - 2; case 1 + .short _020822B8 - _0208229E - 2; case 2 + .short _020822C0 - _0208229E - 2; case 3 + .short _020822C8 - _0208229E - 2; case 4 +_020822A8: add r1, r1, #0x1 ldrb r0, [r0, r1] add r0, #0x21 b _020822D6 _020822B0: - .byte 0x49, 0x1C, 0x40, 0x5C, 0x25, 0x30, 0x0E, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x29, 0x30, 0x0A, 0xE0 - .byte 0x49, 0x1C, 0x40, 0x5C, 0x2D, 0x30, 0x06, 0xE0, 0x49, 0x1C, 0x40, 0x5C, 0x31, 0x30, 0x02, 0xE0 + add r1, r1, #0x1 + ldrb r0, [r0, r1] + add r0, #0x25 + b _020822D6 +_020822B8: + add r1, r1, #0x1 + ldrb r0, [r0, r1] + add r0, #0x29 + b _020822D6 +_020822C0: + add r1, r1, #0x1 + ldrb r0, [r0, r1] + add r0, #0x2d + b _020822D6 +_020822C8: + add r1, r1, #0x1 + ldrb r0, [r0, r1] + add r0, #0x31 + b _020822D6 _020822D0: bl FUN_02020C2C pop {r3-r5, pc} @@ -240807,11 +272023,13 @@ _02082310: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r6, r6, #0 - lsl r4, r4, #0x1 - lsl r2, r2, #0x2 - lsl r0, r0, #0x3 +_02082326: ; jump table (using 16-bit offset) + .short _02082330 - _02082326 - 2; case 0 + .short _0208235E - _02082326 - 2; case 1 + .short _0208238C - _02082326 - 2; case 2 + .short _020823BA - _02082326 - 2; case 3 + .short _020823E8 - _02082326 - 2; case 4 +_02082330: add r0, r4, #0x0 add r0, #0xbc ldrb r0, [r5, r0] @@ -240823,26 +272041,138 @@ _02082310: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02082346: ; jump table (using 16-bit offset) + .short _0208234E - _02082346 - 2; case 0 + .short _02082352 - _02082346 - 2; case 1 + .short _02082356 - _02082346 - 2; case 2 + .short _0208235A - _02082346 - 2; case 3 +_0208234E: mov r4, #0x49 b _02082414 _02082352: - .byte 0x4E, 0x24, 0x5E, 0xE0, 0x53, 0x24, 0x5C, 0xE0, 0x58, 0x24, 0x5A, 0xE0, 0x20, 0x1C - .byte 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28, 0x55, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04 - .byte 0x00, 0x14, 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4A, 0x24, 0x49, 0xE0 - .byte 0x4F, 0x24, 0x47, 0xE0, 0x54, 0x24, 0x45, 0xE0, 0x59, 0x24, 0x43, 0xE0, 0x20, 0x1C, 0xBC, 0x30 - .byte 0x28, 0x5C, 0x03, 0x28, 0x3E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14 - .byte 0x87, 0x44, 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x48, 0x24, 0x32, 0xE0, 0x4D, 0x24 - .byte 0x30, 0xE0, 0x52, 0x24, 0x2E, 0xE0, 0x57, 0x24, 0x2C, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C - .byte 0x03, 0x28, 0x27, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44 - .byte 0x06, 0x00, 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4C, 0x24, 0x1B, 0xE0, 0x51, 0x24, 0x19, 0xE0 - .byte 0x56, 0x24, 0x17, 0xE0, 0x5B, 0x24, 0x15, 0xE0, 0x20, 0x1C, 0xBC, 0x30, 0x28, 0x5C, 0x03, 0x28 - .byte 0x10, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x06, 0x00 - .byte 0x0A, 0x00, 0x0E, 0x00, 0x12, 0x00, 0x4B, 0x24, 0x04, 0xE0, 0x50, 0x24, 0x02, 0xE0, 0x55, 0x24 - .byte 0x00, 0xE0, 0x5A, 0x24 + mov r4, #0x4e + b _02082414 +_02082356: + mov r4, #0x53 + b _02082414 +_0208235A: + mov r4, #0x58 + b _02082414 +_0208235E: + add r0, r4, #0x0 + add r0, #0xbc + ldrb r0, [r5, r0] + cmp r0, #0x3 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02082374: ; jump table (using 16-bit offset) + .short _0208237C - _02082374 - 2; case 0 + .short _02082380 - _02082374 - 2; case 1 + .short _02082384 - _02082374 - 2; case 2 + .short _02082388 - _02082374 - 2; case 3 +_0208237C: + mov r4, #0x4a + b _02082414 +_02082380: + mov r4, #0x4f + b _02082414 +_02082384: + mov r4, #0x54 + b _02082414 +_02082388: + mov r4, #0x59 + b _02082414 +_0208238C: + add r0, r4, #0x0 + add r0, #0xbc + ldrb r0, [r5, r0] + cmp r0, #0x3 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020823A2: ; jump table (using 16-bit offset) + .short _020823AA - _020823A2 - 2; case 0 + .short _020823AE - _020823A2 - 2; case 1 + .short _020823B2 - _020823A2 - 2; case 2 + .short _020823B6 - _020823A2 - 2; case 3 +_020823AA: + mov r4, #0x48 + b _02082414 +_020823AE: + mov r4, #0x4d + b _02082414 +_020823B2: + mov r4, #0x52 + b _02082414 +_020823B6: + mov r4, #0x57 + b _02082414 +_020823BA: + add r0, r4, #0x0 + add r0, #0xbc + ldrb r0, [r5, r0] + cmp r0, #0x3 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020823D0: ; jump table (using 16-bit offset) + .short _020823D8 - _020823D0 - 2; case 0 + .short _020823DC - _020823D0 - 2; case 1 + .short _020823E0 - _020823D0 - 2; case 2 + .short _020823E4 - _020823D0 - 2; case 3 +_020823D8: + mov r4, #0x4c + b _02082414 +_020823DC: + mov r4, #0x51 + b _02082414 +_020823E0: + mov r4, #0x56 + b _02082414 +_020823E4: + mov r4, #0x5b + b _02082414 +_020823E8: + add r0, r4, #0x0 + add r0, #0xbc + ldrb r0, [r5, r0] + cmp r0, #0x3 + bhi _02082414 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_020823FE: ; jump table (using 16-bit offset) + .short _02082406 - _020823FE - 2; case 0 + .short _0208240A - _020823FE - 2; case 1 + .short _0208240E - _020823FE - 2; case 2 + .short _02082412 - _020823FE - 2; case 3 +_02082406: + mov r4, #0x4b + b _02082414 +_0208240A: + mov r4, #0x50 + b _02082414 +_0208240E: + mov r4, #0x55 + b _02082414 +_02082412: + mov r4, #0x5a _02082414: cmp r4, #0x64 bne _0208241C @@ -240916,10 +272246,12 @@ _02082494: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r2, #0 - lsl r4, r3, #0 - lsl r0, r5, #0 +_020824A8: ; jump table (using 16-bit offset) + .short _020824B0 - _020824A8 - 2; case 0 + .short _020824BC - _020824A8 - 2; case 1 + .short _020824C6 - _020824A8 - 2; case 2 + .short _020824D2 - _020824A8 - 2; case 3 +_020824B0: lsl r1, r0, #0x1 ldr r2, _020824F8 ; =0x020FBB90 add r0, r0, r1 @@ -240927,9 +272259,18 @@ _02082494: str r0, [r4, #0x4] b _020824DC _020824BC: - .byte 0x0F, 0x49, 0x80, 0x00 - .byte 0x08, 0x18, 0x60, 0x60, 0x0A, 0xE0, 0x81, 0x00, 0x0D, 0x4A, 0x40, 0x18, 0x10, 0x18, 0x60, 0x60 - .byte 0x04, 0xE0 + ldr r1, _020824FC ; =0x020FBB98 + lsl r0, r0, #0x2 + add r0, r1, r0 + str r0, [r4, #0x4] + b _020824DC +_020824C6: + lsl r1, r0, #0x2 + ldr r2, _02082500 ; =0x020FBBA0 + add r0, r0, r1 + add r0, r2, r0 + str r0, [r4, #0x4] + b _020824DC _020824D2: mov r1, #0x6 ldr r2, _020824F4 ; =0x020FBBAC @@ -240949,9 +272290,8 @@ _020824DC: _020824F0: .word 0x000019BC _020824F4: .word 0x020FBBAC _020824F8: .word 0x020FBB90 -_020824FC: - .byte 0x98, 0xBB, 0x0F, 0x02 - .byte 0xA0, 0xBB, 0x0F, 0x02 +_020824FC: .word 0x020FBB98 +_02082500: .word 0x020FBBA0 _02082504: .word FUN_0208251C + 1 thumb_func_start FUN_02082508 @@ -241089,21 +272429,24 @@ _020825EA: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r3, #0 - lsl r4, r3, #0 - lsl r4, r3, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r2, #0 - lsl r0, r3, #0 +_02082606: ; jump table (using 16-bit offset) + .short _02082624 - _02082606 - 2; case 0 + .short _02082624 - _02082606 - 2; case 1 + .short _02082624 - _02082606 - 2; case 2 + .short _02082618 - _02082606 - 2; case 3 + .short _02082620 - _02082606 - 2; case 4 + .short _02082618 - _02082606 - 2; case 5 + .short _02082620 - _02082606 - 2; case 6 + .short _02082618 - _02082606 - 2; case 7 + .short _02082620 - _02082606 - 2; case 8 +_02082618: mov r0, #0x1 add sp, #0xc str r0, [r6, #0x0] pop {r4-r7, pc} _02082620: - .byte 0x01, 0x20, 0x38, 0x60 + mov r0, #0x1 + str r0, [r7, #0x0] _02082624: add sp, #0xc pop {r4-r7, pc} @@ -241129,15 +272472,17 @@ FUN_02082630: ; 0x02082630 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r4, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 - lsl r0, r2, #0 +_02082650: ; jump table (using 16-bit offset) + .short _02082666 - _02082650 - 2; case 0 + .short _02082666 - _02082650 - 2; case 1 + .short _02082666 - _02082650 - 2; case 2 + .short _02082662 - _02082650 - 2; case 3 + .short _02082662 - _02082650 - 2; case 4 + .short _02082662 - _02082650 - 2; case 5 + .short _02082662 - _02082650 - 2; case 6 + .short _02082662 - _02082650 - 2; case 7 + .short _02082662 - _02082650 - 2; case 8 +_02082662: add sp, #0xc pop {r4-r7, pc} _02082666: @@ -241466,20 +272811,23 @@ FUN_020828E4: ; 0x020828E4 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r3, #0 - lsl r2, r3, #0 - lsl r2, r3, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 - lsl r0, r2, #0 - lsl r6, r2, #0 +_0208290E: ; jump table (using 16-bit offset) + .short _0208292A - _0208290E - 2; case 0 + .short _0208292A - _0208290E - 2; case 1 + .short _0208292A - _0208290E - 2; case 2 + .short _02082920 - _0208290E - 2; case 3 + .short _02082926 - _0208290E - 2; case 4 + .short _02082920 - _0208290E - 2; case 5 + .short _02082926 - _0208290E - 2; case 6 + .short _02082920 - _0208290E - 2; case 7 + .short _02082926 - _0208290E - 2; case 8 +_02082920: mov r0, #0x1 str r0, [sp, #0x18] b _0208292A _02082926: - .byte 0x01, 0x20, 0x07, 0x90 + mov r0, #0x1 + str r0, [sp, #0x1c] _0208292A: mov r0, #0x1 mov r1, #0x0 @@ -241869,29 +273217,79 @@ _02082BE0: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r2, #0 - lsl r6, r3, #0 - lsl r6, r4, #0 - lsl r6, r5, #0 - lsl r6, r6, #0 - lsl r6, r7, #0 - lsl r6, r0, #0x1 - lsl r6, r1, #0x1 - lsl r6, r2, #0x1 - lsl r6, r3, #0x1 - lsl r6, r4, #0x1 - lsl r6, r5, #0x1 +_02082BF6: ; jump table (using 16-bit offset) + .short _02082C0E - _02082BF6 - 2; case 0 + .short _02082C16 - _02082BF6 - 2; case 1 + .short _02082C1E - _02082BF6 - 2; case 2 + .short _02082C26 - _02082BF6 - 2; case 3 + .short _02082C2E - _02082BF6 - 2; case 4 + .short _02082C36 - _02082BF6 - 2; case 5 + .short _02082C3E - _02082BF6 - 2; case 6 + .short _02082C46 - _02082BF6 - 2; case 7 + .short _02082C4E - _02082BF6 - 2; case 8 + .short _02082C56 - _02082BF6 - 2; case 9 + .short _02082C5E - _02082BF6 - 2; case 10 + .short _02082C66 - _02082BF6 - 2; case 11 +_02082C0E: add r0, r7, #0x0 add r0, #0x32 ldrb r2, [r0, #0x0] b _02082C74 _02082C16: - .byte 0x38, 0x1C, 0x33, 0x30, 0x02, 0x78, 0x2A, 0xE0, 0x38, 0x1C - .byte 0x34, 0x30, 0x02, 0x78, 0x26, 0xE0, 0x38, 0x1C, 0x35, 0x30, 0x02, 0x78, 0x22, 0xE0, 0x38, 0x1C - .byte 0x36, 0x30, 0x02, 0x78, 0x1E, 0xE0, 0x38, 0x1C, 0x37, 0x30, 0x02, 0x78, 0x1A, 0xE0, 0x38, 0x1C - .byte 0x38, 0x30, 0x02, 0x78, 0x16, 0xE0, 0x38, 0x1C, 0x39, 0x30, 0x02, 0x78, 0x12, 0xE0, 0x38, 0x1C - .byte 0x3A, 0x30, 0x02, 0x78, 0x0E, 0xE0, 0x38, 0x1C, 0x3B, 0x30, 0x02, 0x78, 0x0A, 0xE0, 0x38, 0x1C - .byte 0x3C, 0x30, 0x02, 0x78, 0x06, 0xE0, 0x38, 0x1C, 0x3D, 0x30, 0x02, 0x78, 0x02, 0xE0 + add r0, r7, #0x0 + add r0, #0x33 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C1E: + add r0, r7, #0x0 + add r0, #0x34 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C26: + add r0, r7, #0x0 + add r0, #0x35 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C2E: + add r0, r7, #0x0 + add r0, #0x36 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C36: + add r0, r7, #0x0 + add r0, #0x37 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C3E: + add r0, r7, #0x0 + add r0, #0x38 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C46: + add r0, r7, #0x0 + add r0, #0x39 + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C4E: + add r0, r7, #0x0 + add r0, #0x3a + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C56: + add r0, r7, #0x0 + add r0, #0x3b + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C5E: + add r0, r7, #0x0 + add r0, #0x3c + ldrb r2, [r0, #0x0] + b _02082C74 +_02082C66: + add r0, r7, #0x0 + add r0, #0x3d + ldrb r2, [r0, #0x0] + b _02082C74 _02082C6E: bl FUN_02020C2C mov r2, #0x0 @@ -242551,11 +273949,12 @@ _02083182: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r4, r3, #0 - lsl r0, r6, #0 - lsl r4, r0, #0x1 - lsl r0, r3, #0x1 +_02083192: ; jump table (using 16-bit offset) + .short _0208319C - _02083192 - 2; case 0 + .short _020831B0 - _02083192 - 2; case 1 + .short _020831C4 - _02083192 - 2; case 2 + .short _020831D8 - _02083192 - 2; case 3 + .short _020831EC - _02083192 - 2; case 4 _0208319C: mov r0, #0x1a add r1, r4, #0x0 @@ -242567,9 +273966,7 @@ _0208319C: ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} - - thumb_func_start FUN_020831B0 -FUN_020831B0: ; 0x020831B0 +_020831B0: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242580,9 +273977,7 @@ FUN_020831B0: ; 0x020831B0 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} - - thumb_func_start FUN_020831C4 -FUN_020831C4: ; 0x020831C4 +_020831C4: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242593,9 +273988,7 @@ FUN_020831C4: ; 0x020831C4 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} - - thumb_func_start FUN_020831D8 -FUN_020831D8: ; 0x020831D8 +_020831D8: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242606,9 +273999,7 @@ FUN_020831D8: ; 0x020831D8 ldrb r0, [r0, r1] str r0, [r6, #0x0] pop {r3-r7, pc} - - thumb_func_start FUN_020831EC -FUN_020831EC: ; 0x020831EC +_020831EC: mov r0, #0x1a add r1, r4, #0x0 mul r1, r0 @@ -242656,15 +274047,20 @@ _02083240: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r2, r1, #0 - lsl r6, r1, #0 - lsl r2, r2, #0 +_02083250: ; jump table (using 16-bit offset) + .short _02083258 - _02083250 - 2; case 0 + .short _0208325C - _02083250 - 2; case 1 + .short _02083260 - _02083250 - 2; case 2 + .short _02083264 - _02083250 - 2; case 3 +_02083258: mov r0, #0x2e bx lr _0208325C: - .byte 0x2F, 0x20, 0x70, 0x47 - .byte 0x30, 0x20, 0x70, 0x47 + mov r0, #0x2f + bx lr +_02083260: + mov r0, #0x30 + bx lr _02083264: mov r0, #0x31 bx lr @@ -242679,16 +274075,24 @@ FUN_02083268: ; 0x02083268 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 +_02083278: ; jump table (using 16-bit offset) + .short _02083282 - _02083278 - 2; case 0 + .short _02083286 - _02083278 - 2; case 1 + .short _0208328A - _02083278 - 2; case 2 + .short _0208328E - _02083278 - 2; case 3 + .short _02083292 - _02083278 - 2; case 4 +_02083282: mov r0, #0x2e bx lr _02083286: - .byte 0x2F, 0x20, 0x70, 0x47, 0x30, 0x20, 0x70, 0x47, 0x31, 0x20 - .byte 0x70, 0x47 + mov r0, #0x2f + bx lr +_0208328A: + mov r0, #0x30 + bx lr +_0208328E: + mov r0, #0x31 + bx lr _02083292: mov r0, #0x33 bx lr @@ -242717,16 +274121,24 @@ _020832AC: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 +_020832BC: ; jump table (using 16-bit offset) + .short _020832C6 - _020832BC - 2; case 0 + .short _020832CA - _020832BC - 2; case 1 + .short _020832CE - _020832BC - 2; case 2 + .short _020832D2 - _020832BC - 2; case 3 + .short _020832D6 - _020832BC - 2; case 4 +_020832C6: mov r0, #0x29 bx lr _020832CA: - .byte 0x2A, 0x20, 0x70, 0x47, 0x2B, 0x20 - .byte 0x70, 0x47, 0x2C, 0x20, 0x70, 0x47 + mov r0, #0x2a + bx lr +_020832CE: + mov r0, #0x2b + bx lr +_020832D2: + mov r0, #0x2c + bx lr _020832D6: mov r0, #0x2d bx lr @@ -242926,16 +274338,27 @@ FUN_0208341C: ; 0x0208341C lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r1, #0 - lsl r4, r1, #0 - lsl r0, r2, #0 - lsl r4, r2, #0 - lsl r0, r3, #0 +_0208342E: ; jump table (using 16-bit offset) + .short _02083438 - _0208342E - 2; case 0 + .short _0208343C - _0208342E - 2; case 1 + .short _02083440 - _0208342E - 2; case 2 + .short _02083444 - _0208342E - 2; case 3 + .short _02083448 - _0208342E - 2; case 4 +_02083438: add r0, #0x7a pop {r3, pc} _0208343C: - .byte 0x7E, 0x30, 0x08, 0xBD - .byte 0x82, 0x30, 0x08, 0xBD, 0x86, 0x30, 0x08, 0xBD, 0x8A, 0x30, 0x08, 0xBD + add r0, #0x7e + pop {r3, pc} +_02083440: + add r0, #0x82 + pop {r3, pc} +_02083444: + add r0, #0x86 + pop {r3, pc} +_02083448: + add r0, #0x8a + pop {r3, pc} _0208344C: bl FUN_02020C2C mov r0, #0x7a @@ -246964,24 +278387,51 @@ FUN_02085290: ; 0x02085290 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r2, #0 - lsl r0, r3, #0 - lsl r4, r3, #0 - lsl r0, r4, #0 - lsl r4, r4, #0 - lsl r0, r5, #0 - lsl r4, r5, #0 - lsl r0, r6, #0 - lsl r4, r6, #0 - lsl r0, r7, #0 - lsl r4, r7, #0 +_020852A0: ; jump table (using 16-bit offset) + .short _020852B6 - _020852A0 - 2; case 0 + .short _020852BA - _020852A0 - 2; case 1 + .short _020852BE - _020852A0 - 2; case 2 + .short _020852C2 - _020852A0 - 2; case 3 + .short _020852C6 - _020852A0 - 2; case 4 + .short _020852CA - _020852A0 - 2; case 5 + .short _020852CE - _020852A0 - 2; case 6 + .short _020852D2 - _020852A0 - 2; case 7 + .short _020852D6 - _020852A0 - 2; case 8 + .short _020852DA - _020852A0 - 2; case 9 + .short _020852DE - _020852A0 - 2; case 10 +_020852B6: ldrh r0, [r0, #0x0] bx lr _020852BA: - .byte 0x80, 0x78, 0x70, 0x47, 0xC0, 0x78 - .byte 0x70, 0x47, 0x00, 0x79, 0x70, 0x47, 0x40, 0x79, 0x70, 0x47, 0x80, 0x79, 0x70, 0x47, 0xC0, 0x79 - .byte 0x70, 0x47, 0x00, 0x7A, 0x70, 0x47, 0x40, 0x7A, 0x70, 0x47, 0x80, 0x7A, 0x70, 0x47, 0xC0, 0x7A - .byte 0x70, 0x47 + ldrb r0, [r0, #0x2] + bx lr +_020852BE: + ldrb r0, [r0, #0x3] + bx lr +_020852C2: + ldrb r0, [r0, #0x4] + bx lr +_020852C6: + ldrb r0, [r0, #0x5] + bx lr +_020852CA: + ldrb r0, [r0, #0x6] + bx lr +_020852CE: + ldrb r0, [r0, #0x7] + bx lr +_020852D2: + ldrb r0, [r0, #0x8] + bx lr +_020852D6: + ldrb r0, [r0, #0x9] + bx lr +_020852DA: + ldrb r0, [r0, #0xa] + bx lr +_020852DE: + ldrb r0, [r0, #0xb] + bx lr _020852E2: mov r0, #0x0 bx lr @@ -247770,11 +279220,13 @@ _02085878: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r4, #0 - lsl r4, r1, #0x1 - lsl r2, r7, #0x1 - lsl r0, r3, #0x3 +_02085884: ; jump table (using 16-bit offset) + .short _0208588E - _02085884 - 2; case 0 + .short _020858A6 - _02085884 - 2; case 1 + .short _020858D2 - _02085884 - 2; case 2 + .short _02085900 - _02085884 - 2; case 3 + .short _0208595E - _02085884 - 2; case 4 +_0208588E: ldrh r1, [r6, #0x0] ldr r0, [r4, #0x10] strh r1, [r0, #0x0] @@ -247787,28 +279239,126 @@ _02085878: str r0, [r5, #0x0] b _02085990 _020858A6: - .byte 0x20, 0x1C, 0x0C, 0x30, 0xFF, 0xF7, 0x93, 0xFF, 0x00, 0x28 - .byte 0x6E, 0xD0, 0x20, 0x69, 0x01, 0x88, 0x03, 0x29, 0x05, 0xD0, 0x37, 0x48, 0x81, 0x42, 0x05, 0xD1 - .byte 0x02, 0x20, 0x28, 0x60, 0x64, 0xE0, 0x02, 0x20, 0x28, 0x60, 0x61, 0xE0, 0x03, 0x20, 0x28, 0x60 - .byte 0x5E, 0xE0, 0x30, 0x88, 0x01, 0x28, 0x11, 0xD1, 0x21, 0x69, 0x08, 0x88, 0x03, 0x28, 0x0B, 0xD1 - .byte 0x70, 0x69, 0xFF, 0xF7, 0x5F, 0xFF, 0x30, 0x69, 0xA4, 0xF7, 0x6E, 0xFB, 0x02, 0x21, 0xA4, 0xF7 - .byte 0x3F, 0xFC, 0x01, 0x20, 0x70, 0x60, 0x01, 0xE0, 0x00, 0x20, 0x70, 0x60, 0x01, 0x20, 0x70, 0xBD - .byte 0x32, 0x69, 0x23, 0x68, 0x02, 0x20, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFD, 0xA0, 0x60, 0x20, 0x69 - .byte 0x01, 0x1C, 0x80, 0x78, 0x1A, 0x31, 0xC0, 0x00, 0x08, 0x18, 0x8D, 0xF7, 0x9F, 0xFF, 0x00, 0x28 - .byte 0x0A, 0xD0, 0x21, 0x69, 0x20, 0x1C, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0x14, 0x30, 0xC9, 0x00 - .byte 0x51, 0x18, 0x8E, 0xF7, 0x15, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x14, 0x30, 0x03, 0x21, 0x8D, 0xF7 - .byte 0xFD, 0xFE, 0x21, 0x1C, 0xA0, 0x68, 0x14, 0x31, 0xFF, 0xF7, 0x38, 0xFD, 0x13, 0x48, 0xA1, 0x68 - .byte 0x22, 0x68, 0x80, 0xF7, 0x6F, 0xFC, 0xE0, 0x60, 0x04, 0x20, 0x28, 0x60, 0x18, 0xE0, 0x20, 0x1C - .byte 0x0C, 0x30, 0xFF, 0xF7, 0x37, 0xFF, 0x00, 0x28, 0x12, 0xD0, 0xA0, 0x68, 0xFF, 0xF7, 0x3A, 0xFD - .byte 0x00, 0x28, 0x08, 0xD1, 0x21, 0x69, 0xA0, 0x68, 0x0A, 0x1C, 0x89, 0x78, 0x1A, 0x32, 0xC9, 0x00 - .byte 0x51, 0x18, 0xFF, 0xF7, 0x3B, 0xFD, 0xA0, 0x68, 0xFF, 0xF7, 0x0E, 0xFD, 0x00, 0x20, 0x28, 0x60 + add r0, r4, #0x0 + add r0, #0xc + bl FUN_020857D4 + cmp r0, #0x0 + beq _02085990 + ldr r0, [r4, #0x10] + ldrh r1, [r0, #0x0] + cmp r1, #0x3 + beq _020858C6 + ldr r0, _02085998 ; =0x0000FFFF + cmp r1, r0 + bne _020858CC + mov r0, #0x2 + str r0, [r5, #0x0] + b _02085990 +_020858C6: + mov r0, #0x2 + str r0, [r5, #0x0] + b _02085990 +_020858CC: + mov r0, #0x3 + str r0, [r5, #0x0] + b _02085990 +_020858D2: + ldrh r0, [r6, #0x0] + cmp r0, #0x1 + bne _020858FC + ldr r1, [r4, #0x10] + ldrh r0, [r1, #0x0] + cmp r0, #0x3 + bne _020858F8 + ldr r0, [r6, #0x14] + bl FUN_020857A4 + ldr r0, [r6, #0x10] + bl FUN_02029FC8 + mov r1, #0x2 + bl FUN_0202A170 + mov r0, #0x1 + str r0, [r6, #0x4] + b _020858FC +_020858F8: + mov r0, #0x0 + str r0, [r6, #0x4] +_020858FC: + mov r0, #0x1 + pop {r4-r6, pc} +_02085900: + ldr r2, [r6, #0x10] + ldr r3, [r4, #0x0] + mov r0, #0x2 + mov r1, #0x0 + bl FUN_02085338 + str r0, [r4, #0x8] + ldr r0, [r4, #0x10] + add r1, r0, #0x0 + ldrb r0, [r0, #0x2] + add r1, #0x1a + lsl r0, r0, #0x3 + add r0, r1, r0 + bl FUN_0201385C + cmp r0, #0x0 + beq _02085938 + ldr r1, [r4, #0x10] + add r0, r4, #0x0 + add r2, r1, #0x0 + ldrb r1, [r1, #0x2] + add r2, #0x1a + add r0, #0x14 + lsl r1, r1, #0x3 + add r1, r2, r1 + bl FUN_02013960 + b _02085942 +_02085938: + add r0, r4, #0x0 + add r0, #0x14 + mov r1, #0x3 + bl FUN_0201373C +_02085942: + add r1, r4, #0x0 + ldr r0, [r4, #0x8] + add r1, #0x14 + bl FUN_020853BC + ldr r0, _0208599C ; =0x020FCAB8 + ldr r1, [r4, #0x8] + ldr r2, [r4, #0x0] + bl FUN_02006234 + str r0, [r4, #0xc] + mov r0, #0x4 + str r0, [r5, #0x0] + b _02085990 +_0208595E: + add r0, r4, #0x0 + add r0, #0xc + bl FUN_020857D4 + cmp r0, #0x0 + beq _02085990 + ldr r0, [r4, #0x8] + bl FUN_020853E4 + cmp r0, #0x0 + bne _02085986 + ldr r1, [r4, #0x10] + ldr r0, [r4, #0x8] + add r2, r1, #0x0 + ldrb r1, [r1, #0x2] + add r2, #0x1a + lsl r1, r1, #0x3 + add r1, r2, r1 + bl FUN_020853FC +_02085986: + ldr r0, [r4, #0x8] + bl FUN_020853A8 + mov r0, #0x0 + str r0, [r5, #0x0] _02085990: mov r0, #0x0 pop {r4-r6, pc} .balign 4 _02085994: .word 0x020FCAA8 -_02085998: - .byte 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0xCA, 0x0F, 0x02 +_02085998: .word 0x0000FFFF +_0208599C: .word 0x020FCAB8 thumb_func_start FUN_020859A0 FUN_020859A0: ; 0x020859A0 @@ -248293,13 +279843,15 @@ _02085DC2: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r4, r1, #0 - lsl r0, r5, #0x1 - lsl r0, r7, #0x1 - lsl r6, r2, #0x2 - lsl r6, r2, #0x3 - lsl r4, r0, #0x5 - lsl r0, r2, #0x5 +_02085DCE: ; jump table (using 16-bit offset) + .short _02085DDC - _02085DCE - 2; case 0 + .short _02085E38 - _02085DCE - 2; case 1 + .short _02085E48 - _02085DCE - 2; case 2 + .short _02085E66 - _02085DCE - 2; case 3 + .short _02085EA6 - _02085DCE - 2; case 4 + .short _02085F14 - _02085DCE - 2; case 5 + .short _02085F20 - _02085DCE - 2; case 6 +_02085DDC: add r0, r5, #0x0 bl FUN_0204AF3C ldr r0, [r6, #0x10] @@ -248345,30 +279897,128 @@ _02085E32: str r0, [r6, #0x14] b _02085F38 _02085E38: - .byte 0x41, 0x49, 0x28, 0x1C, 0x3A, 0x1C, 0xC0, 0xF7 - .byte 0x5F, 0xFB, 0x02, 0x20, 0x70, 0x61, 0x77, 0xE0, 0xB0, 0x68, 0xFF, 0xF7, 0xA3, 0xFF, 0x00, 0x28 - .byte 0x03, 0xD0, 0x01, 0x28, 0x04, 0xD0, 0x9A, 0xF7, 0xE9, 0xFE, 0x05, 0x20, 0x70, 0x61, 0x6B, 0xE0 - .byte 0x03, 0x20, 0x70, 0x61, 0x68, 0xE0, 0xF4, 0x68, 0xF8, 0x69, 0x20, 0x60, 0x30, 0x69, 0xE9, 0xF7 - .byte 0x73, 0xF9, 0x60, 0x60, 0x30, 0x69, 0x9F, 0xF7, 0xDF, 0xFC, 0xA0, 0x60, 0x20, 0x1C, 0x00, 0x21 - .byte 0x22, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x21, 0x30, 0x01, 0x70, 0x20, 0x1C, 0x0F, 0x21, 0x20, 0x30 - .byte 0x01, 0x70, 0x78, 0x6A, 0x2B, 0x49, 0xE0, 0x60, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x30, 0xFB - .byte 0x04, 0x20, 0x70, 0x61, 0x48, 0xE0, 0xB0, 0x68, 0xF4, 0x68, 0xFF, 0xF7, 0x6B, 0xFF, 0x40, 0x1C - .byte 0x02, 0x90, 0x22, 0x34, 0x21, 0x78, 0x07, 0x29, 0x29, 0xD0, 0xB0, 0x68, 0xFF, 0xF7, 0x56, 0xFF - .byte 0xA1, 0x21, 0x02, 0xAA, 0x05, 0x1C, 0xE1, 0xF7, 0xB3, 0xFC, 0x02, 0x99, 0x38, 0x6A, 0x49, 0x1E - .byte 0xA3, 0xF7, 0xDC, 0xFE, 0x02, 0x1C, 0x28, 0x1C, 0xAA, 0x21, 0xE1, 0xF7, 0xA9, 0xFC, 0x02, 0x99 - .byte 0x38, 0x6A, 0x49, 0x1E, 0xA3, 0xF7, 0xD2, 0xFE, 0x00, 0x21, 0xA3, 0xF7, 0xED, 0xFE, 0xA3, 0xF7 - .byte 0xF7, 0xFE, 0x00, 0x06, 0x00, 0x0E, 0x00, 0xF0, 0x6B, 0xF8, 0x04, 0x1C, 0x01, 0x98, 0xC0, 0x68 - .byte 0x9C, 0xF7, 0x00, 0xFB, 0x22, 0x06, 0x29, 0x1C, 0x12, 0x0E, 0xDB, 0xF7, 0x45, 0xFC, 0x01, 0x20 - .byte 0x70, 0x61, 0x11, 0xE0, 0x28, 0x1C, 0xC5, 0xF7, 0x35, 0xF8, 0x06, 0x20, 0x70, 0x61, 0x0B, 0xE0 - .byte 0xF0, 0x68, 0x90, 0xF7, 0x79, 0xFD, 0xB0, 0x68, 0x90, 0xF7, 0x76, 0xFD, 0x30, 0x1C, 0x90, 0xF7 - .byte 0x73, 0xFD, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD + ldr r1, _02085F40 ; =0x020FCAD8 + add r0, r5, #0x0 + add r2, r7, #0x0 + bl FUN_02046500 + mov r0, #0x2 + str r0, [r6, #0x14] + b _02085F38 +_02085E48: + ldr r0, [r6, #0x8] + bl FUN_02085D94 + cmp r0, #0x0 + beq _02085E5A + cmp r0, #0x1 + beq _02085E60 + bl FUN_02020C2C +_02085E5A: + mov r0, #0x5 + str r0, [r6, #0x14] + b _02085F38 +_02085E60: + mov r0, #0x3 + str r0, [r6, #0x14] + b _02085F38 +_02085E66: + ldr r4, [r6, #0xc] + ldr r0, [r7, #0x1c] + str r0, [r4, #0x0] + ldr r0, [r6, #0x10] + bl FUN_0206F158 + str r0, [r4, #0x4] + ldr r0, [r6, #0x10] + bl FUN_02025838 + str r0, [r4, #0x8] + add r0, r4, #0x0 + mov r1, #0x0 + add r0, #0x22 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + add r0, #0x21 + strb r1, [r0, #0x0] + add r0, r4, #0x0 + mov r1, #0xf + add r0, #0x20 + strb r1, [r0, #0x0] + ldr r0, [r7, #0x24] + ldr r1, _02085F44 ; =0x020F96DC + str r0, [r4, #0xc] + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_02046500 + mov r0, #0x4 + str r0, [r6, #0x14] + b _02085F38 +_02085EA6: + ldr r0, [r6, #0x8] + ldr r4, [r6, #0xc] + bl FUN_02085D84 + add r0, r0, #0x1 + str r0, [sp, #0x8] + add r4, #0x22 + ldrb r1, [r4, #0x0] + cmp r1, #0x7 + beq _02085F0E + ldr r0, [r6, #0x8] + bl FUN_02085D6C + mov r1, #0xa1 + add r2, sp, #0x8 + add r5, r0, #0x0 + bl FUN_02067830 + ldr r1, [sp, #0x8] + ldr r0, [r7, #0x20] + sub r1, r1, #0x1 + bl FUN_02029C8C + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0xaa + bl FUN_02067830 + ldr r1, [sp, #0x8] + ldr r0, [r7, #0x20] + sub r1, r1, #0x1 + bl FUN_02029C8C + mov r1, #0x0 + bl FUN_02029CC8 + bl FUN_02029CE0 + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_02085FD0 + add r4, r0, #0x0 + ldr r0, [sp, #0x4] + ldr r0, [r0, #0xc] + bl FUN_02022504 + lsl r2, r4, #0x18 + add r1, r5, #0x0 + lsr r2, r2, #0x18 + bl FUN_02061798 +_02085F0E: + mov r0, #0x1 + str r0, [r6, #0x14] + b _02085F38 +_02085F14: + add r0, r5, #0x0 + bl FUN_0204AF84 + mov r0, #0x6 + str r0, [r6, #0x14] + b _02085F38 +_02085F20: + ldr r0, [r6, #0xc] + bl FUN_02016A18 + ldr r0, [r6, #0x8] + bl FUN_02016A18 + add r0, r6, #0x0 + bl FUN_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} _02085F38: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} nop -_02085F40: - .byte 0xD8, 0xCA, 0x0F, 0x02, 0xDC, 0x96, 0x0F, 0x02 +_02085F40: .word 0x020FCAD8 +_02085F44: .word 0x020F96DC thumb_func_start FUN_02085F48 FUN_02085F48: ; 0x02085F48 @@ -248761,13 +280411,15 @@ _02086294: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0 - lsl r2, r4, #0 - lsl r4, r6, #0 - lsl r0, r3, #0x2 - lsl r4, r6, #0x3 - lsl r4, r2, #0x4 - lsl r2, r4, #0x4 +_020862A0: ; jump table (using 16-bit offset) + .short _020862AE - _020862A0 - 2; case 0 + .short _020862C4 - _020862A0 - 2; case 1 + .short _020862D6 - _020862A0 - 2; case 2 + .short _0208633A - _020862A0 - 2; case 3 + .short _02086396 - _020862A0 - 2; case 4 + .short _020863B6 - _020862A0 - 2; case 5 + .short _020863C4 - _020862A0 - 2; case 6 +_020862AE: ldr r0, [r4, #0xc] mov r1, #0xb bl FUN_021ED940 @@ -248778,29 +280430,131 @@ _02086294: str r0, [r4, #0x0] b _020863CE _020862C4: - .byte 0x43, 0x49, 0x28, 0x1C, 0x22, 0x1C, 0xC0, 0xF7, 0x19, 0xF9, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x7B, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0x26, 0xF9, 0x06, 0x1C, 0xE5, 0x68 - .byte 0xB1, 0xF7, 0x64, 0xFA, 0x9D, 0xF7, 0x06, 0xFB, 0x07, 0x1C, 0xF0, 0x69, 0x00, 0x68, 0xAE, 0xF7 - .byte 0x99, 0xFA, 0x01, 0x90, 0x00, 0x20, 0x02, 0x90, 0x28, 0x1C, 0x4C, 0x21, 0x02, 0xAA, 0xE1, 0xF7 - .byte 0x97, 0xFA, 0x0B, 0x20, 0x00, 0x90, 0x01, 0x9B, 0x28, 0x1C, 0x39, 0x1C, 0x06, 0x22, 0xFA, 0xF7 - .byte 0xC5, 0xFA, 0x28, 0x1C, 0xB2, 0x21, 0x00, 0x22, 0xE1, 0xF7, 0x8A, 0xFA, 0x30, 0x1C, 0xB1, 0xF7 - .byte 0x45, 0xFA, 0xE1, 0x68, 0xA5, 0xF7, 0x0E, 0xFF, 0x60, 0x68, 0x01, 0x28, 0x02, 0xD1, 0x03, 0x20 - .byte 0x20, 0x60, 0x4C, 0xE0, 0x05, 0x20, 0x20, 0x60, 0x49, 0xE0, 0x28, 0x1C, 0xC0, 0xF7, 0xF4, 0xF8 - .byte 0x06, 0x1C, 0xE0, 0x68, 0x05, 0x21, 0x00, 0x22, 0xE0, 0xF7, 0x38, 0xFF, 0x07, 0x1C, 0x30, 0x1C - .byte 0xB1, 0xF7, 0x2C, 0xFA, 0x9D, 0xF7, 0xD4, 0xFA, 0x00, 0x90, 0x0B, 0x20, 0x01, 0x21, 0x3A, 0x1C - .byte 0x0A, 0x23, 0xF1, 0xF7, 0x8F, 0xFB, 0xA0, 0x60, 0xE0, 0x68, 0x6F, 0x21, 0x00, 0x22, 0xE0, 0xF7 - .byte 0x25, 0xFF, 0xA1, 0x68, 0x00, 0x22, 0x08, 0x61, 0xE0, 0x68, 0x70, 0x21, 0xE0, 0xF7, 0x1E, 0xFF - .byte 0xA1, 0x68, 0x88, 0x60, 0x14, 0x49, 0xA2, 0x68, 0x28, 0x1C, 0xC0, 0xF7, 0xB9, 0xF8, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x1B, 0xE0, 0xA2, 0x68, 0x50, 0x69, 0x00, 0x28, 0x04, 0xD1, 0xE0, 0x68 - .byte 0x92, 0x69, 0x77, 0x21, 0xE1, 0xF7, 0x44, 0xFA, 0xA0, 0x68, 0xF1, 0xF7, 0x8B, 0xFB, 0x20, 0x68 - .byte 0x40, 0x1C, 0x20, 0x60, 0x0B, 0xE0, 0x28, 0x1C, 0xC4, 0xF7, 0xE4, 0xFD, 0x20, 0x68, 0x40, 0x1C - .byte 0x20, 0x60, 0x04, 0xE0, 0x90, 0xF7, 0x28, 0xFB, 0x03, 0xB0, 0x01, 0x20, 0xF0, 0xBD + ldr r1, _020863D4 ; =0x020FCE14 + add r0, r5, #0x0 + add r2, r4, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020863CE +_020862D6: + add r0, r5, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + ldr r5, [r4, #0xc] + bl FUN_020377AC + bl FUN_020238F4 + add r7, r0, #0x0 + ldr r0, [r6, #0x1c] + ldr r0, [r0, #0x0] + bl FUN_02034824 + str r0, [sp, #0x4] + mov r0, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + mov r1, #0x4c + add r2, sp, #0x8 + bl FUN_02067830 + mov r0, #0xb + str r0, [sp, #0x0] + ldr r3, [sp, #0x4] + add r0, r5, #0x0 + add r1, r7, #0x0 + mov r2, #0x6 + bl FUN_0208089C + add r0, r5, #0x0 + mov r1, #0xb2 + mov r2, #0x0 + bl FUN_02067830 + add r0, r6, #0x0 + bl FUN_020377AC + ldr r1, [r4, #0xc] + bl FUN_0202C144 + ldr r0, [r4, #0x4] + cmp r0, #0x1 + bne _02086334 + mov r0, #0x3 + str r0, [r4, #0x0] + b _020863CE +_02086334: + mov r0, #0x5 + str r0, [r4, #0x0] + b _020863CE +_0208633A: + add r0, r5, #0x0 + bl FUN_02046528 + add r6, r0, #0x0 + ldr r0, [r4, #0xc] + mov r1, #0x5 + mov r2, #0x0 + bl FUN_020671BC + add r7, r0, #0x0 + add r0, r6, #0x0 + bl FUN_020377AC + bl FUN_02023900 + str r0, [sp, #0x0] + mov r0, #0xb + mov r1, #0x1 + add r2, r7, #0x0 + mov r3, #0xa + bl FUN_02077A84 + str r0, [r4, #0x8] + ldr r0, [r4, #0xc] + mov r1, #0x6f + mov r2, #0x0 + bl FUN_020671BC + ldr r1, [r4, #0x8] + mov r2, #0x0 + str r0, [r1, #0x10] + ldr r0, [r4, #0xc] + mov r1, #0x70 + bl FUN_020671BC + ldr r1, [r4, #0x8] + str r0, [r1, #0x8] + ldr r1, _020863D8 ; =0x020FA5FC + ldr r2, [r4, #0x8] + add r0, r5, #0x0 + bl FUN_02046500 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020863CE +_02086396: + ldr r2, [r4, #0x8] + ldr r0, [r2, #0x14] + cmp r0, #0x0 + bne _020863A8 + ldr r0, [r4, #0xc] + ldr r2, [r2, #0x18] + mov r1, #0x77 + bl FUN_02067830 +_020863A8: + ldr r0, [r4, #0x8] + bl FUN_02077AC4 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020863CE +_020863B6: + add r0, r5, #0x0 + bl FUN_0204AF84 + ldr r0, [r4, #0x0] + add r0, r0, #0x1 + str r0, [r4, #0x0] + b _020863CE +_020863C4: + bl FUN_02016A18 + add sp, #0xc + mov r0, #0x1 + pop {r4-r7, pc} _020863CE: mov r0, #0x0 add sp, #0xc pop {r4-r7, pc} -_020863D4: - .byte 0x14, 0xCE, 0x0F, 0x02, 0xFC, 0xA5, 0x0F, 0x02 + .balign 4 +_020863D4: .word 0x020FCE14 +_020863D8: .word 0x020FA5FC thumb_func_start FUN_020863DC FUN_020863DC: ; 0x020863DC @@ -250294,24 +282048,26 @@ _02086FCC: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r4, #0 - lsl r0, r2, #0x2 - lsl r2, r3, #0x2 - lsl r0, r7, #0x2 - lsl r0, r1, #0x3 - lsl r0, r3, #0x3 - lsl r0, r5, #0x3 - lsl r0, r7, #0x3 - lsl r4, r6, #0x4 - lsl r0, r1, #0x5 - lsl r0, r3, #0x5 - lsl r6, r7, #0x5 - lsl r0, r2, #0x7 - lsl r0, r1, #0x8 - lsl r4, r2, #0x8 - lsl r2, r3, #0x8 - lsl r4, r4, #0x8 - lsl r4, r6, #0x8 +_02086FD8: ; jump table (using 16-bit offset) + .short _02086FFC - _02086FD8 - 2; case 0 + .short _0208706A - _02086FD8 - 2; case 1 + .short _02087074 - _02086FD8 - 2; case 2 + .short _02087092 - _02086FD8 - 2; case 3 + .short _020870A2 - _02086FD8 - 2; case 4 + .short _020870B2 - _02086FD8 - 2; case 5 + .short _020870C2 - _02086FD8 - 2; case 6 + .short _020870D2 - _02086FD8 - 2; case 7 + .short _0208710E - _02086FD8 - 2; case 8 + .short _02087122 - _02086FD8 - 2; case 9 + .short _02087132 - _02086FD8 - 2; case 10 + .short _02087158 - _02086FD8 - 2; case 11 + .short _020871AA - _02086FD8 - 2; case 12 + .short _020871E2 - _02086FD8 - 2; case 13 + .short _020871EE - _02086FD8 - 2; case 14 + .short _020871F4 - _02086FD8 - 2; case 15 + .short _020871FE - _02086FD8 - 2; case 16 + .short _0208720E - _02086FD8 - 2; case 17 +_02086FFC: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_0208699C @@ -250359,33 +282115,211 @@ _02086FCC: str r0, [r4, #0x5c] b _02087232 _0208706A: - .byte 0xFF, 0xF7, 0x27, 0xFB, 0xE0, 0x6D - .byte 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7, 0x48, 0xF9, 0x01, 0x28, 0x56, 0xD1, 0x7E, 0xF7, 0xCE, 0xF9 - .byte 0x6F, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x59, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xCF, 0xE0, 0x00, 0xF0, 0x03, 0xFA, 0x00, 0x28, 0x47, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xC7, 0xE0, 0x00, 0xF0, 0x1F, 0xFA, 0x00, 0x28, 0x3F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xBF, 0xE0, 0x00, 0xF0, 0x4F, 0xFA, 0x00, 0x28, 0x37, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xB7, 0xE0, 0x00, 0xF0, 0x73, 0xFA, 0x00, 0x28, 0x2F, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xAF, 0xE0, 0x00, 0xF0, 0x9D, 0xFA, 0x00, 0x28, 0x27, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x36, 0xFF - .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xE0, 0xF7, 0x68, 0xF8, 0x00, 0x04, 0x00, 0x0C - .byte 0x7E, 0xF7, 0x42, 0xFA, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21 - .byte 0xFF, 0xF7, 0x74, 0xFB, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x91, 0xE0, 0x7E, 0xF7 - .byte 0xAF, 0xFA, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x86, 0xFD, 0xE0, 0x6D, 0x40, 0x1C - .byte 0xE0, 0x65, 0x7E, 0xF7, 0xCB, 0xFD, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0, 0xE0, 0x6D, 0x40, 0x1C - .byte 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0x1A, 0xFE, 0x00, 0x28, 0x78, 0xD1 - .byte 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21, 0xFF, 0xF7, 0x4E, 0xFB - .byte 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7 - .byte 0x07, 0xFE, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7, 0x07, 0xFE, 0x01, 0x28 - .byte 0x5F, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x0C, 0xF9, 0x00, 0x28, 0x5A, 0xD1, 0x19, 0x20, 0x00, 0x90 - .byte 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90, 0xA7, 0x20, 0x04, 0x90 - .byte 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32, 0x01, 0x23, 0xFF, 0xF7 - .byte 0x6B, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C, 0x7A, 0xF7, 0x64, 0xFD - .byte 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0, 0x06, 0xE0, 0x20, 0x68 - .byte 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0, 0x00, 0x28, 0x01, 0xD1 - .byte 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0x27, 0xE0, 0xFF, 0xF7, 0xBD, 0xFB, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x21, 0xE0, 0x48, 0x1C - .byte 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x72, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x87, 0xF7 - .byte 0x83, 0xF8, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x11, 0xE0 + bl FUN_020866BC + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087074: + bl FUN_0200E308 + cmp r0, #0x1 + bne _0208712A + bl FUN_0200541C + ldr r1, _02087240 ; =0x00000475 + mov r0, #0xd + mov r2, #0x1 + bl FUN_0200433C + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_02087092: + bl FUN_0208749C + cmp r0, #0x0 + bne _0208712A + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020870A2: + bl FUN_020874E4 + cmp r0, #0x0 + bne _0208712A + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020870B2: + bl FUN_02087554 + cmp r0, #0x0 + bne _0208712A + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020870C2: + bl FUN_020875AC + cmp r0, #0x0 + bne _0208712A + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020870D2: + bl FUN_02087610 + cmp r0, #0x0 + bne _0208712A + add r0, r4, #0x0 + bl FUN_02086F4C + ldr r0, [r4, #0x0] + mov r1, #0x5 + ldr r0, [r0, #0xc] + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02005578 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0xc] + ldr r3, [r4, #0x10] + add r0, #0x18 + mov r1, #0x0 + bl FUN_020867EC + str r0, [r4, #0xc] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_0208710E: + bl FUN_02005670 + cmp r0, #0x0 + bne _0208712A + ldr r0, _02087244 ; =0x00000484 + bl FUN_02005C28 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087122: + bl FUN_02005CBC + cmp r0, #0x0 + beq _0208712C +_0208712A: + b _02087232 +_0208712C: + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087132: + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02087232 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0xc] + ldr r3, [r4, #0x10] + add r0, #0x18 + mov r1, #0x1 + bl FUN_020867EC + str r0, [r4, #0xc] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087158: + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02087232 + ldr r0, [r4, #0x54] + mov r1, #0x0 + bl FUN_02014D7C + cmp r0, #0x1 + bne _02087232 + ldr r0, [r4, #0x68] + bl FUN_02007390 + cmp r0, #0x0 + bne _02087232 + mov r0, #0x19 + str r0, [sp, #0x0] + mov r0, #0xd + str r0, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + mov r0, #0x4 + str r0, [sp, #0xc] + mov r0, #0xa7 + str r0, [sp, #0x10] + mov r0, #0xe + str r0, [sp, #0x14] + add r2, r4, #0x0 + ldr r1, [r4, #0x4] + add r0, r4, #0x0 + add r2, #0x28 + mov r3, #0x1 + bl FUN_02086878 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020871AA: + ldr r0, [r4, #0x48] + bl FUN_02001C78 + sub r1, r5, #0x3 + cmp r0, r1 + beq _020871BE + add r1, r1, #0x1 + cmp r0, r1 + beq _02087232 + b _020871CC +_020871BE: + ldr r0, [r4, #0x0] + mov r1, #0x0 + str r1, [r0, #0x4] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020871CC: + cmp r0, #0x0 + bne _020871D4 + add r1, r5, #0x0 + b _020871D6 +_020871D4: + mov r1, #0x0 +_020871D6: + ldr r0, [r4, #0x0] + str r1, [r0, #0x4] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020871E2: + bl FUN_02086960 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020871EE: + add r0, r1, #0x1 + str r0, [r4, #0x5c] + b _02087232 +_020871F4: + bl FUN_020866DC + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_020871FE: + bl FUN_0200E308 + cmp r0, #0x1 + bne _02087232 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087232 _0208720E: add r0, r4, #0x0 bl FUN_02086F8C @@ -250407,8 +282341,8 @@ _02087232: add sp, #0x20 pop {r3-r5, pc} nop -_02087240: - .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 +_02087240: .word 0x00000475 +_02087244: .word 0x00000484 thumb_func_start FUN_02087248 FUN_02087248: ; 0x02087248 @@ -250427,24 +282361,26 @@ _02087258: lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 - lsl r2, r4, #0 - lsl r0, r3, #0x2 - lsl r2, r4, #0x2 - lsl r4, r7, #0x2 - lsl r6, r6, #0x3 - lsl r6, r6, #0x3 - lsl r6, r6, #0x3 - lsl r6, r6, #0x3 - lsl r4, r7, #0x3 - lsl r0, r2, #0x4 - lsl r0, r4, #0x4 - lsl r6, r0, #0x5 - lsl r0, r3, #0x6 - lsl r0, r2, #0x7 - lsl r4, r3, #0x7 - lsl r2, r4, #0x7 - lsl r4, r5, #0x7 - lsl r4, r7, #0x7 +_02087264: ; jump table (using 16-bit offset) + .short _02087288 - _02087264 - 2; case 0 + .short _020872FE - _02087264 - 2; case 1 + .short _02087308 - _02087264 - 2; case 2 + .short _02087322 - _02087264 - 2; case 3 + .short _0208735C - _02087264 - 2; case 4 + .short _0208735C - _02087264 - 2; case 5 + .short _0208735C - _02087264 - 2; case 6 + .short _0208735C - _02087264 - 2; case 7 + .short _02087362 - _02087264 - 2; case 8 + .short _02087376 - _02087264 - 2; case 9 + .short _02087386 - _02087264 - 2; case 10 + .short _020873AC - _02087264 - 2; case 11 + .short _020873FE - _02087264 - 2; case 12 + .short _02087436 - _02087264 - 2; case 13 + .short _02087442 - _02087264 - 2; case 14 + .short _02087448 - _02087264 - 2; case 15 + .short _02087452 - _02087264 - 2; case 16 + .short _02087462 - _02087264 - 2; case 17 +_02087288: ldr r0, [r4, #0x4] ldr r1, [r4, #0x8] bl FUN_0208699C @@ -250495,30 +282431,180 @@ _02087258: str r0, [r4, #0x5c] b _02087486 _020872FE: - .byte 0xFF, 0xF7 - .byte 0xDD, 0xF9, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x86, 0xF7, 0xFE, 0xFF, 0x01, 0x28, 0x36, 0xD1 - .byte 0x60, 0x49, 0x0D, 0x20, 0x01, 0x22, 0x7D, 0xF7, 0x11, 0xF8, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0xB1, 0xE0, 0x00, 0xF0, 0x7D, 0xFA, 0x00, 0x28, 0x29, 0xD1, 0x20, 0x1C, 0xFF, 0xF7, 0x0E, 0xFE - .byte 0x20, 0x68, 0x05, 0x21, 0xC0, 0x68, 0x00, 0x22, 0xDF, 0xF7, 0x40, 0xFF, 0x00, 0x04, 0x00, 0x0C - .byte 0x7E, 0xF7, 0x1A, 0xF9, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x00, 0x21 - .byte 0xFF, 0xF7, 0x4C, 0xFA, 0xE0, 0x60, 0x08, 0x20, 0xE0, 0x65, 0x94, 0xE0, 0x99, 0xF7, 0x66, 0xFC - .byte 0x91, 0xE0, 0x7E, 0xF7, 0x85, 0xF9, 0x00, 0x28, 0x09, 0xD1, 0x4B, 0x48, 0x7E, 0xF7, 0x5C, 0xFC - .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x7E, 0xF7, 0xA1, 0xFC, 0x00, 0x28, 0x00, 0xD0, 0x82, 0xE0 - .byte 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06, 0x00, 0x0E, 0x94, 0xF7, 0xF0, 0xFC - .byte 0x00, 0x28, 0x78, 0xD1, 0x22, 0x68, 0x20, 0x1C, 0xD2, 0x68, 0x23, 0x69, 0x18, 0x30, 0x01, 0x21 - .byte 0xFF, 0xF7, 0x24, 0xFA, 0xE0, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0xE0, 0x68, 0x00, 0x06 - .byte 0x00, 0x0E, 0x94, 0xF7, 0xDD, 0xFC, 0x00, 0x28, 0x65, 0xD1, 0x60, 0x6D, 0x00, 0x21, 0x8D, 0xF7 - .byte 0xDD, 0xFC, 0x01, 0x28, 0x5F, 0xD1, 0xA0, 0x6E, 0x7F, 0xF7, 0xE2, 0xFF, 0x00, 0x28, 0x5A, 0xD1 - .byte 0x19, 0x20, 0x00, 0x90, 0x0D, 0x20, 0x01, 0x90, 0x06, 0x20, 0x02, 0x90, 0x04, 0x20, 0x03, 0x90 - .byte 0xA7, 0x20, 0x04, 0x90, 0x0E, 0x20, 0x05, 0x90, 0x22, 0x1C, 0x61, 0x68, 0x20, 0x1C, 0x28, 0x32 - .byte 0x01, 0x23, 0xFF, 0xF7, 0x41, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x43, 0xE0, 0xA0, 0x6C - .byte 0x7A, 0xF7, 0x3A, 0xFC, 0xE9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x49, 0x1C, 0x88, 0x42, 0x3A, 0xD0 - .byte 0x06, 0xE0, 0x20, 0x68, 0x00, 0x21, 0x41, 0x60, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65, 0x32, 0xE0 - .byte 0x00, 0x28, 0x01, 0xD1, 0x29, 0x1C, 0x00, 0xE0, 0x00, 0x21, 0x20, 0x68, 0x41, 0x60, 0xE0, 0x6D - .byte 0x40, 0x1C, 0xE0, 0x65, 0x27, 0xE0, 0xFF, 0xF7, 0x93, 0xFA, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0x21, 0xE0, 0x48, 0x1C, 0xE0, 0x65, 0x1E, 0xE0, 0xFF, 0xF7, 0x48, 0xF9, 0xE0, 0x6D, 0x40, 0x1C - .byte 0xE0, 0x65, 0x86, 0xF7, 0x59, 0xFF, 0x01, 0x28, 0x15, 0xD1, 0xE0, 0x6D, 0x40, 0x1C, 0xE0, 0x65 - .byte 0x11, 0xE0 + bl FUN_020866BC + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087308: + bl FUN_0200E308 + cmp r0, #0x1 + bne _0208737E + ldr r1, _02087494 ; =0x00000475 + mov r0, #0xd + mov r2, #0x1 + bl FUN_0200433C + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_02087322: + bl FUN_02087820 + cmp r0, #0x0 + bne _0208737E + add r0, r4, #0x0 + bl FUN_02086F4C + ldr r0, [r4, #0x0] + mov r1, #0x5 + ldr r0, [r0, #0xc] + mov r2, #0x0 + bl FUN_020671BC + lsl r0, r0, #0x10 + lsr r0, r0, #0x10 + bl FUN_02005578 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0xc] + ldr r3, [r4, #0x10] + add r0, #0x18 + mov r1, #0x0 + bl FUN_020867EC + str r0, [r4, #0xc] + mov r0, #0x8 + str r0, [r4, #0x5c] + b _02087486 +_0208735C: + bl FUN_02020C2C + b _02087486 +_02087362: + bl FUN_02005670 + cmp r0, #0x0 + bne _0208737E + ldr r0, _02087498 ; =0x00000484 + bl FUN_02005C28 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087376: + bl FUN_02005CBC + cmp r0, #0x0 + beq _02087380 +_0208737E: + b _02087486 +_02087380: + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087386: + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02087486 + ldr r2, [r4, #0x0] + add r0, r4, #0x0 + ldr r2, [r2, #0xc] + ldr r3, [r4, #0x10] + add r0, #0x18 + mov r1, #0x1 + bl FUN_020867EC + str r0, [r4, #0xc] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_020873AC: + ldr r0, [r4, #0xc] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_0201BD70 + cmp r0, #0x0 + bne _02087486 + ldr r0, [r4, #0x54] + mov r1, #0x0 + bl FUN_02014D7C + cmp r0, #0x1 + bne _02087486 + ldr r0, [r4, #0x68] + bl FUN_02007390 + cmp r0, #0x0 + bne _02087486 + mov r0, #0x19 + str r0, [sp, #0x0] + mov r0, #0xd + str r0, [sp, #0x4] + mov r0, #0x6 + str r0, [sp, #0x8] + mov r0, #0x4 + str r0, [sp, #0xc] + mov r0, #0xa7 + str r0, [sp, #0x10] + mov r0, #0xe + str r0, [sp, #0x14] + add r2, r4, #0x0 + ldr r1, [r4, #0x4] + add r0, r4, #0x0 + add r2, #0x28 + mov r3, #0x1 + bl FUN_02086878 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_020873FE: + ldr r0, [r4, #0x48] + bl FUN_02001C78 + sub r1, r5, #0x3 + cmp r0, r1 + beq _02087412 + add r1, r1, #0x1 + cmp r0, r1 + beq _02087486 + b _02087420 +_02087412: + ldr r0, [r4, #0x0] + mov r1, #0x0 + str r1, [r0, #0x4] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_02087420: + cmp r0, #0x0 + bne _02087428 + add r1, r5, #0x0 + b _0208742A +_02087428: + mov r1, #0x0 +_0208742A: + ldr r0, [r4, #0x0] + str r1, [r0, #0x4] + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_02087436: + bl FUN_02086960 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_02087442: + add r0, r1, #0x1 + str r0, [r4, #0x5c] + b _02087486 +_02087448: + bl FUN_020866DC + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] +_02087452: + bl FUN_0200E308 + cmp r0, #0x1 + bne _02087486 + ldr r0, [r4, #0x5c] + add r0, r0, #0x1 + str r0, [r4, #0x5c] + b _02087486 _02087462: add r0, r4, #0x0 bl FUN_02086F8C @@ -250540,8 +282626,8 @@ _02087486: add sp, #0x20 pop {r3-r5, pc} nop -_02087494: - .byte 0x75, 0x04, 0x00, 0x00, 0x84, 0x04, 0x00, 0x00 +_02087494: .word 0x00000475 +_02087498: .word 0x00000484 thumb_func_start FUN_0208749C FUN_0208749C: ; 0x0208749C @@ -250757,12 +282843,14 @@ _0208761E: lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r4, r5, #0 - lsl r6, r5, #0x1 - lsl r6, r2, #0x3 - lsl r0, r5, #0x5 - lsl r4, r6, #0x6 +_0208762A: ; jump table (using 16-bit offset) + .short _02087636 - _0208762A - 2; case 0 + .short _02087658 - _0208762A - 2; case 1 + .short _0208769A - _0208762A - 2; case 2 + .short _02087702 - _0208762A - 2; case 3 + .short _02087794 - _0208762A - 2; case 4 + .short _020877E0 - _0208762A - 2; case 5 +_02087636: ldr r0, [r4, #0x40] bl FUN_02086B8C cmp r0, #0x1 @@ -250778,37 +282866,200 @@ _0208761E: str r0, [r4, #0x64] b _02087810 _02087658: - .byte 0x03, 0x21, 0xFF, 0xF7, 0xD3, 0xFB, 0x05, 0x1C - .byte 0x01, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x05, 0x21, 0x84, 0xF7, 0xD8, 0xFF, 0x6A, 0x48, 0x7D, 0xF7 - .byte 0x2B, 0xFF, 0x20, 0x6C, 0x02, 0x21, 0xFF, 0xF7, 0x7B, 0xFA, 0x20, 0x6C, 0x03, 0x21, 0xFF, 0xF7 - .byte 0x77, 0xFA, 0x02, 0x2D, 0x0E, 0xD1, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0xDB, 0xFF, 0x00, 0x20 - .byte 0x20, 0x66, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0xBA, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66 - .byte 0x0A, 0x28, 0x00, 0xDA + mov r1, #0x3 + bl FUN_02086E04 + add r5, r0, #0x0 + cmp r5, #0x1 + bne _02087682 + ldr r0, [r4, #0x6c] + mov r1, #0x5 + bl FUN_0200C61C + ldr r0, _02087818 ; =0x00000707 + bl FUN_020054C8 + ldr r0, [r4, #0x40] + mov r1, #0x2 + bl FUN_02086B70 + ldr r0, [r4, #0x40] + mov r1, #0x3 + bl FUN_02086B70 +_02087682: + cmp r5, #0x2 + bne _020876A4 + ldr r0, [r4, #0x6c] + mov r1, #0x0 + bl FUN_0200C644 + mov r0, #0x0 + str r0, [r4, #0x60] + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 +_0208769A: + ldr r0, [r4, #0x60] + add r0, r0, #0x1 + str r0, [r4, #0x60] + cmp r0, #0xa + bge _020876A6 _020876A4: b _02087810 _020876A6: - .byte 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5B, 0x4A - .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFD, 0x20, 0x6F, 0x00, 0x68 - .byte 0x98, 0xF7, 0x48, 0xFE, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFD, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26 - .byte 0x00, 0x93, 0x10, 0x20, 0x51, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04 - .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFD, 0x4C, 0x48, 0x00, 0x21, 0x00, 0x90 - .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFB, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66 - .byte 0x86, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x85, 0xF7, 0x48, 0xF8 - .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F - .byte 0x0A, 0x1F, 0x85, 0xF7, 0x83, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31 - .byte 0x03, 0xAA, 0x85, 0xF7, 0x35, 0xF8, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA - .byte 0x60, 0x6F, 0x04, 0x22, 0x85, 0xF7, 0x72, 0xF8, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7C, 0xF7 - .byte 0xC9, 0xF8, 0x00, 0x28, 0x5C, 0xD1, 0x02, 0x2D, 0x5A, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFB - .byte 0x00, 0x28, 0x55, 0xD1, 0x02, 0x20, 0x01, 0x21, 0x96, 0xF7, 0xBC, 0xFF, 0x20, 0x1C, 0x00, 0x21 - .byte 0xFF, 0xF7, 0x12, 0xFC, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFF, 0x20, 0x6F, 0x00, 0x21 - .byte 0x84, 0xF7, 0x60, 0xFF, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFF, 0x60, 0x6E, 0x40, 0x1C - .byte 0x60, 0x66, 0x3D, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x38, 0xDB, 0x00, 0x22 - .byte 0x1E, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFB - .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x19, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21 - .byte 0x7B, 0xF7, 0x26, 0xFD, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x14, 0x4A, 0x01, 0x93, 0x02, 0x92 - .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFD, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x17, 0xE0 - .byte 0xA0, 0x68, 0x7C, 0xF7, 0x7F, 0xF8, 0x00, 0x28, 0x12, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFB - .byte 0x00, 0x28, 0x0D, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x09, 0xE0 + mov r3, #0x0 + str r3, [r4, #0x60] + str r3, [sp, #0x0] + mov r0, #0x10 + ldr r2, _0208781C ; =0x0000FFFF + str r0, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl FUN_02003210 + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + bl FUN_02020354 + mov r1, #0x1 + bl FUN_0201E28C + add r5, r0, #0x0 + mov r3, #0x0 + mov r6, #0x1 + str r3, [sp, #0x0] + mov r0, #0x10 + ldr r2, _0208781C ; =0x0000FFFF + str r0, [sp, #0x4] + str r2, [sp, #0x8] + lsl r6, r5 + eor r2, r6 + lsl r2, r2, #0x10 + ldr r0, [r4, #0x8] + mov r1, #0x4 + lsr r2, r2, #0x10 + bl FUN_02003210 + ldr r0, _0208781C ; =0x0000FFFF + mov r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x68] + mov r2, #0x10 + add r3, r1, #0x0 + bl FUN_02007E68 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 +_02087702: + add r1, sp, #0xc + ldr r0, [r4, #0x70] + mov r5, #0x0 + add r1, #0x2 + add r2, sp, #0xc + bl FUN_0200C7A0 + add r0, sp, #0xc + add r1, r5, #0x0 + ldrsh r2, [r0, r1] + add r0, r1, #0x0 + sub r0, #0x30 + cmp r2, r0 + ble _02087728 + ldr r0, [r4, #0x70] + sub r2, r1, #0x4 + bl FUN_0200C82C + b _0208772A +_02087728: + add r5, r5, #0x1 +_0208772A: + add r1, sp, #0xc + ldr r0, [r4, #0x74] + add r1, #0x2 + add r2, sp, #0xc + bl FUN_0200C7A0 + add r0, sp, #0xc + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, #0xc0 + bge _0208774A + ldr r0, [r4, #0x74] + mov r2, #0x4 + bl FUN_0200C82C + b _0208774C +_0208774A: + add r5, r5, #0x1 +_0208774C: + ldr r0, [r4, #0x8] + bl FUN_020038E4 + cmp r0, #0x0 + bne _02087810 + cmp r5, #0x2 + bne _02087810 + ldr r0, [r4, #0x68] + bl FUN_02007F20 + cmp r0, #0x0 + bne _02087810 + mov r0, #0x2 + mov r1, #0x1 + bl FUN_0201E6E4 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02086F98 + ldr r0, [r4, #0x6c] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x70] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x74] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 +_02087794: + ldr r0, [r4, #0x60] + add r0, r0, #0x1 + str r0, [r4, #0x60] + cmp r0, #0x19 + blt _02087810 + mov r2, #0x0 + ldr r0, _0208781C ; =0x0000FFFF + str r2, [r4, #0x60] + str r0, [sp, #0x0] + ldr r0, [r4, #0x68] + mov r1, #0x10 + add r3, r2, #0x0 + bl FUN_02007E68 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r2, _0208781C ; =0x0000FFFF + str r3, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl FUN_02003210 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r2, _0208781C ; =0x0000FFFF + str r3, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_02003210 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 +_020877E0: + ldr r0, [r4, #0x8] + bl FUN_020038E4 + cmp r0, #0x0 + bne _02087810 + ldr r0, [r4, #0x68] + bl FUN_02007F20 + cmp r0, #0x0 + bne _02087810 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087810 _020877FC: ldr r0, [r4, #0x40] bl FUN_02086B8C @@ -250824,8 +283075,8 @@ _02087810: add sp, #0x10 pop {r4-r6, pc} nop -_02087818: - .byte 0x07, 0x07, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 +_02087818: .word 0x00000707 +_0208781C: .word 0x0000FFFF thumb_func_start FUN_02087820 FUN_02087820: ; 0x02087820 @@ -250843,11 +283094,13 @@ _0208782E: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r0, r7, #0 - lsl r6, r0, #0x3 - lsl r0, r3, #0x5 - lsl r4, r4, #0x6 +_0208783A: ; jump table (using 16-bit offset) + .short _02087844 - _0208783A - 2; case 0 + .short _02087874 - _0208783A - 2; case 1 + .short _02087902 - _0208783A - 2; case 2 + .short _02087994 - _0208783A - 2; case 3 + .short _020879E0 - _0208783A - 2; case 4 +_02087844: ldr r0, [r4, #0x40] mov r1, #0x0 bl FUN_02086B70 @@ -250868,31 +283121,190 @@ _0208782E: str r0, [r4, #0x64] b _02087A06 _02087874: - .byte 0x20, 0x6E, 0x19, 0x28, 0x04, 0xD0, 0x50, 0x28, 0x06, 0xD0, 0x8E, 0x28 - .byte 0x08, 0xD0, 0x0A, 0xE0, 0x61, 0x48, 0x7D, 0xF7, 0x1F, 0xFE, 0x06, 0xE0, 0x60, 0x48, 0x7D, 0xF7 - .byte 0x1B, 0xFE, 0x02, 0xE0, 0x5F, 0x48, 0x7D, 0xF7, 0x17, 0xFE, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66 - .byte 0xA0, 0x28, 0x00, 0xDA, 0xAF, 0xE0, 0x00, 0x23, 0x23, 0x66, 0x00, 0x93, 0x10, 0x20, 0x5A, 0x4A - .byte 0x01, 0x90, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21, 0x7B, 0xF7, 0xAA, 0xFC, 0x20, 0x6F, 0x00, 0x68 - .byte 0x98, 0xF7, 0x48, 0xFD, 0x01, 0x21, 0x96, 0xF7, 0xE1, 0xFC, 0x05, 0x1C, 0x00, 0x23, 0x01, 0x26 - .byte 0x00, 0x93, 0x10, 0x20, 0x50, 0x4A, 0x01, 0x90, 0x02, 0x92, 0xAE, 0x40, 0x72, 0x40, 0x12, 0x04 - .byte 0xA0, 0x68, 0x04, 0x21, 0x12, 0x0C, 0x7B, 0xF7, 0x93, 0xFC, 0x4B, 0x48, 0x00, 0x21, 0x00, 0x90 - .byte 0xA0, 0x6E, 0x10, 0x22, 0x0B, 0x1C, 0x80, 0xF7, 0xB7, 0xFA, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66 - .byte 0x81, 0xE0, 0x03, 0xA9, 0x20, 0x6F, 0x00, 0x25, 0x02, 0x31, 0x03, 0xAA, 0x84, 0xF7, 0x48, 0xFF - .byte 0x03, 0xA8, 0x29, 0x1C, 0x42, 0x5E, 0x08, 0x1C, 0x30, 0x38, 0x82, 0x42, 0x04, 0xDD, 0x20, 0x6F - .byte 0x0A, 0x1F, 0x84, 0xF7, 0x83, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0x03, 0xA9, 0x60, 0x6F, 0x02, 0x31 - .byte 0x03, 0xAA, 0x84, 0xF7, 0x35, 0xFF, 0x03, 0xA8, 0x00, 0x21, 0x40, 0x5E, 0xC0, 0x28, 0x04, 0xDA - .byte 0x60, 0x6F, 0x04, 0x22, 0x84, 0xF7, 0x72, 0xFF, 0x00, 0xE0, 0x6D, 0x1C, 0xA0, 0x68, 0x7B, 0xF7 - .byte 0xC9, 0xFF, 0x00, 0x28, 0x57, 0xD1, 0x02, 0x2D, 0x55, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0xE0, 0xFA - .byte 0x00, 0x28, 0x50, 0xD1, 0x20, 0x1C, 0x00, 0x21, 0xFF, 0xF7, 0x16, 0xFB, 0x02, 0x20, 0x01, 0x21 - .byte 0x96, 0xF7, 0xB8, 0xFE, 0xE0, 0x6E, 0x00, 0x21, 0x84, 0xF7, 0x64, 0xFE, 0x20, 0x6F, 0x00, 0x21 - .byte 0x84, 0xF7, 0x60, 0xFE, 0x60, 0x6F, 0x00, 0x21, 0x84, 0xF7, 0x5C, 0xFE, 0x60, 0x6E, 0x40, 0x1C - .byte 0x60, 0x66, 0x38, 0xE0, 0x20, 0x6E, 0x40, 0x1C, 0x20, 0x66, 0x19, 0x28, 0x33, 0xDB, 0x00, 0x22 - .byte 0x1D, 0x48, 0x22, 0x66, 0x00, 0x90, 0xA0, 0x6E, 0x10, 0x21, 0x13, 0x1C, 0x80, 0xF7, 0x5C, 0xFA - .byte 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x18, 0x4A, 0x01, 0x93, 0x02, 0x92, 0xA0, 0x68, 0x01, 0x21 - .byte 0x7B, 0xF7, 0x26, 0xFC, 0x10, 0x20, 0x00, 0x90, 0x00, 0x23, 0x13, 0x4A, 0x01, 0x93, 0x02, 0x92 - .byte 0xA0, 0x68, 0x04, 0x21, 0x7B, 0xF7, 0x1C, 0xFC, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x12, 0xE0 - .byte 0xA0, 0x68, 0x7B, 0xF7, 0x7F, 0xFF, 0x00, 0x28, 0x0D, 0xD1, 0xA0, 0x6E, 0x80, 0xF7, 0x98, 0xFA - .byte 0x00, 0x28, 0x08, 0xD1, 0x60, 0x6E, 0x40, 0x1C, 0x60, 0x66, 0x04, 0xE0 + ldr r0, [r4, #0x60] + cmp r0, #0x19 + beq _02087884 + cmp r0, #0x50 + beq _0208788C + cmp r0, #0x8e + beq _02087894 + b _0208789A +_02087884: + ldr r0, _02087A0C ; =0x00000806 + bl FUN_020054C8 + b _0208789A +_0208788C: + ldr r0, _02087A10 ; =0x000007AA + bl FUN_020054C8 + b _0208789A +_02087894: + ldr r0, _02087A14 ; =0x00000815 + bl FUN_020054C8 +_0208789A: + ldr r0, [r4, #0x60] + add r0, r0, #0x1 + str r0, [r4, #0x60] + cmp r0, #0xa0 + bge _020878A6 + b _02087A06 +_020878A6: + mov r3, #0x0 + str r3, [r4, #0x60] + str r3, [sp, #0x0] + mov r0, #0x10 + ldr r2, _02087A18 ; =0x0000FFFF + str r0, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl FUN_02003210 + ldr r0, [r4, #0x70] + ldr r0, [r0, #0x0] + bl FUN_02020354 + mov r1, #0x1 + bl FUN_0201E28C + add r5, r0, #0x0 + mov r3, #0x0 + mov r6, #0x1 + str r3, [sp, #0x0] + mov r0, #0x10 + ldr r2, _02087A18 ; =0x0000FFFF + str r0, [sp, #0x4] + str r2, [sp, #0x8] + lsl r6, r5 + eor r2, r6 + lsl r2, r2, #0x10 + ldr r0, [r4, #0x8] + mov r1, #0x4 + lsr r2, r2, #0x10 + bl FUN_02003210 + ldr r0, _02087A18 ; =0x0000FFFF + mov r1, #0x0 + str r0, [sp, #0x0] + ldr r0, [r4, #0x68] + mov r2, #0x10 + add r3, r1, #0x0 + bl FUN_02007E68 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087A06 +_02087902: + add r1, sp, #0xc + ldr r0, [r4, #0x70] + mov r5, #0x0 + add r1, #0x2 + add r2, sp, #0xc + bl FUN_0200C7A0 + add r0, sp, #0xc + add r1, r5, #0x0 + ldrsh r2, [r0, r1] + add r0, r1, #0x0 + sub r0, #0x30 + cmp r2, r0 + ble _02087928 + ldr r0, [r4, #0x70] + sub r2, r1, #0x4 + bl FUN_0200C82C + b _0208792A +_02087928: + add r5, r5, #0x1 +_0208792A: + add r1, sp, #0xc + ldr r0, [r4, #0x74] + add r1, #0x2 + add r2, sp, #0xc + bl FUN_0200C7A0 + add r0, sp, #0xc + mov r1, #0x0 + ldrsh r0, [r0, r1] + cmp r0, #0xc0 + bge _0208794A + ldr r0, [r4, #0x74] + mov r2, #0x4 + bl FUN_0200C82C + b _0208794C +_0208794A: + add r5, r5, #0x1 +_0208794C: + ldr r0, [r4, #0x8] + bl FUN_020038E4 + cmp r0, #0x0 + bne _02087A06 + cmp r5, #0x2 + bne _02087A06 + ldr r0, [r4, #0x68] + bl FUN_02007F20 + cmp r0, #0x0 + bne _02087A06 + add r0, r4, #0x0 + mov r1, #0x0 + bl FUN_02086F98 + mov r0, #0x2 + mov r1, #0x1 + bl FUN_0201E6E4 + ldr r0, [r4, #0x6c] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x70] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x74] + mov r1, #0x0 + bl FUN_0200C644 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087A06 +_02087994: + ldr r0, [r4, #0x60] + add r0, r0, #0x1 + str r0, [r4, #0x60] + cmp r0, #0x19 + blt _02087A06 + mov r2, #0x0 + ldr r0, _02087A18 ; =0x0000FFFF + str r2, [r4, #0x60] + str r0, [sp, #0x0] + ldr r0, [r4, #0x68] + mov r1, #0x10 + add r3, r2, #0x0 + bl FUN_02007E68 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r2, _02087A18 ; =0x0000FFFF + str r3, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x1 + bl FUN_02003210 + mov r0, #0x10 + str r0, [sp, #0x0] + mov r3, #0x0 + ldr r2, _02087A18 ; =0x0000FFFF + str r3, [sp, #0x4] + str r2, [sp, #0x8] + ldr r0, [r4, #0x8] + mov r1, #0x4 + bl FUN_02003210 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087A06 +_020879E0: + ldr r0, [r4, #0x8] + bl FUN_020038E4 + cmp r0, #0x0 + bne _02087A06 + ldr r0, [r4, #0x68] + bl FUN_02007F20 + cmp r0, #0x0 + bne _02087A06 + ldr r0, [r4, #0x64] + add r0, r0, #0x1 + str r0, [r4, #0x64] + b _02087A06 _020879FC: mov r0, #0x0 str r0, [r4, #0x64] @@ -250903,9 +283315,11 @@ _02087A06: mov r0, #0x1 add sp, #0x10 pop {r4-r6, pc} -_02087A0C: - .byte 0x06, 0x08, 0x00, 0x00 - .byte 0xAA, 0x07, 0x00, 0x00, 0x15, 0x08, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00 + .balign 4 +_02087A0C: .word 0x00000806 +_02087A10: .word 0x000007AA +_02087A14: .word 0x00000815 +_02087A18: .word 0x0000FFFF thumb_func_start FUN_02087A1C FUN_02087A1C: ; 0x02087A1C @@ -251509,24 +283923,51 @@ FUN_02087E74: ; 0x02087E74 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r0, r2, #0 - lsl r0, r3, #0 - lsl r0, r4, #0 - lsl r0, r5, #0 - lsl r0, r6, #0 - lsl r0, r7, #0 - lsl r0, r0, #0x1 - lsl r0, r1, #0x1 - lsl r0, r2, #0x1 +_02087E8E: ; jump table (using 16-bit offset) + .short _02087EA0 - _02087E8E - 2; case 0 + .short _02087EA8 - _02087E8E - 2; case 1 + .short _02087EB0 - _02087E8E - 2; case 2 + .short _02087EB8 - _02087E8E - 2; case 3 + .short _02087EC0 - _02087E8E - 2; case 4 + .short _02087EC8 - _02087E8E - 2; case 5 + .short _02087ED0 - _02087E8E - 2; case 6 + .short _02087ED8 - _02087E8E - 2; case 7 + .short _02087EE0 - _02087E8E - 2; case 8 +_02087EA0: bl FUN_02087F50 str r0, [r4, #0x0] b _02087EE4 _02087EA8: - .byte 0x00, 0xF0, 0x5E, 0xF8, 0x20, 0x60, 0x19, 0xE0 - .byte 0x00, 0xF0, 0x90, 0xF8, 0x20, 0x60, 0x15, 0xE0, 0x00, 0xF0, 0xD0, 0xF8, 0x20, 0x60, 0x11, 0xE0 - .byte 0x00, 0xF0, 0xEE, 0xF8, 0x20, 0x60, 0x0D, 0xE0, 0x00, 0xF0, 0x20, 0xF9, 0x20, 0x60, 0x09, 0xE0 - .byte 0x00, 0xF0, 0x2E, 0xF9, 0x20, 0x60, 0x05, 0xE0, 0x00, 0xF0, 0x68, 0xF9, 0x20, 0x60, 0x01, 0xE0 - .byte 0x01, 0x20, 0x10, 0xBD + bl FUN_02087F68 + str r0, [r4, #0x0] + b _02087EE4 +_02087EB0: + bl FUN_02087FD4 + str r0, [r4, #0x0] + b _02087EE4 +_02087EB8: + bl FUN_0208805C + str r0, [r4, #0x0] + b _02087EE4 +_02087EC0: + bl FUN_020880A0 + str r0, [r4, #0x0] + b _02087EE4 +_02087EC8: + bl FUN_0208810C + str r0, [r4, #0x0] + b _02087EE4 +_02087ED0: + bl FUN_02088130 + str r0, [r4, #0x0] + b _02087EE4 +_02087ED8: + bl FUN_020881AC + str r0, [r4, #0x0] + b _02087EE4 +_02087EE0: + mov r0, #0x1 + pop {r4, pc} _02087EE4: mov r0, #0x0 pop {r4, pc} @@ -252996,11 +285437,13 @@ FUN_02088A00: ; 0x02088A00 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r0, r1, #0 - lsl r6, r2, #0 - lsl r4, r4, #0 - lsl r2, r6, #0 - lsl r0, r0, #0x1 +_02088A24: ; jump table (using 16-bit offset) + .short _02088A2E - _02088A24 - 2; case 0 + .short _02088A3C - _02088A24 - 2; case 1 + .short _02088A4A - _02088A24 - 2; case 2 + .short _02088A58 - _02088A24 - 2; case 3 + .short _02088A66 - _02088A24 - 2; case 4 +_02088A2E: add r1, r6, #0x0 add r0, r6, #0x0 add r1, #0x14 @@ -253008,10 +285451,29 @@ FUN_02088A00: ; 0x02088A00 str r0, [r4, #0x0] b _02088A6A _02088A3C: - .byte 0x31, 0x1C, 0x30, 0x1C - .byte 0x14, 0x31, 0x00, 0xF0, 0x5B, 0xF8, 0x20, 0x60, 0x0F, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31 - .byte 0x00, 0xF0, 0x6A, 0xF8, 0x20, 0x60, 0x08, 0xE0, 0x31, 0x1C, 0x30, 0x1C, 0x14, 0x31, 0x00, 0xF0 - .byte 0x73, 0xF8, 0x20, 0x60, 0x01, 0xE0, 0x01, 0x20, 0x70, 0xBD + add r1, r6, #0x0 + add r0, r6, #0x0 + add r1, #0x14 + bl FUN_02088AFC + str r0, [r4, #0x0] + b _02088A6A +_02088A4A: + add r1, r6, #0x0 + add r0, r6, #0x0 + add r1, #0x14 + bl FUN_02088B28 + str r0, [r4, #0x0] + b _02088A6A +_02088A58: + add r1, r6, #0x0 + add r0, r6, #0x0 + add r1, #0x14 + bl FUN_02088B48 + str r0, [r4, #0x0] + b _02088A6A +_02088A66: + mov r0, #0x1 + pop {r4-r6, pc} _02088A6A: ldr r0, [r4, #0x0] cmp r5, r0 @@ -253058,19 +285520,35 @@ FUN_02088AAC: ; 0x02088AAC lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r2, r2, #0 - lsl r2, r3, #0 - lsl r2, r4, #0 - lsl r2, r5, #0 - lsl r6, r5, #0 +_02088AC2: ; jump table (using 16-bit offset) + .short _02088ACE - _02088AC2 - 2; case 0 + .short _02088AD6 - _02088AC2 - 2; case 1 + .short _02088ADE - _02088AC2 - 2; case 2 + .short _02088AE6 - _02088AC2 - 2; case 3 + .short _02088AEE - _02088AC2 - 2; case 4 + .short _02088AF2 - _02088AC2 - 2; case 5 +_02088ACE: bl FUN_02088B4C str r0, [r4, #0x0] b _02088AF6 _02088AD6: - .byte 0x00, 0xF0, 0x67, 0xF8, 0x20, 0x60, 0x0B, 0xE0, 0x00, 0xF0 - .byte 0xAD, 0xF8, 0x20, 0x60, 0x07, 0xE0, 0x00, 0xF0, 0xF9, 0xF8, 0x20, 0x60, 0x03, 0xE0, 0x01, 0x20 - .byte 0x10, 0xBD, 0x04, 0x20, 0x10, 0xBD + bl FUN_02088BA8 + str r0, [r4, #0x0] + b _02088AF6 +_02088ADE: + bl FUN_02088C3C + str r0, [r4, #0x0] + b _02088AF6 +_02088AE6: + bl FUN_02088CDC + str r0, [r4, #0x0] + b _02088AF6 +_02088AEE: + mov r0, #0x1 + pop {r4, pc} +_02088AF2: + mov r0, #0x4 + pop {r4, pc} _02088AF6: mov r0, #0x0 pop {r4, pc} @@ -253211,20 +285689,24 @@ _02088BBA: lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r2, r3, #0 - lsl r2, r1, #0 - lsl r2, r3, #0 - lsl r2, r3, #0 - lsl r2, r3, #0 - lsl r6, r1, #0 +_02088C02: ; jump table (using 16-bit offset) + .short _02088C1E - _02088C02 - 2; case 0 + .short _02088C0E - _02088C02 - 2; case 1 + .short _02088C1E - _02088C02 - 2; case 2 + .short _02088C1E - _02088C02 - 2; case 3 + .short _02088C1E - _02088C02 - 2; case 4 + .short _02088C12 - _02088C02 - 2; case 5 +_02088C0E: mov r0, #0x2 pop {r3-r5, pc} _02088C12: - .byte 0x05, 0x20, 0x38, 0xBD + mov r0, #0x5 + pop {r3-r5, pc} _02088C16: bl FUN_02020C2C mov r0, #0x95 str r0, [r4, #0x8] +_02088C1E: ldr r0, [r4, #0x10] ldr r1, [r4, #0x8] ldr r0, [r0, #0x14] @@ -254451,10 +286933,12 @@ FUN_020894D4: ; 0x020894D4 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r6, r0, #0 - lsl r2, r2, #0x2 - lsl r0, r4, #0x2 - lsl r6, r0, #0x3 +_020894F4: ; jump table (using 16-bit offset) + .short _020894FC - _020894F4 - 2; case 0 + .short _02089588 - _020894F4 - 2; case 1 + .short _02089596 - _020894F4 - 2; case 2 + .short _020895BC - _020894F4 - 2; case 3 +_020894FC: ldr r0, _020895E0 ; =0x00000495 add r1, r6, #0x0 bl FUN_02005350 @@ -254511,12 +286995,42 @@ FUN_020894D4: ; 0x020894D4 str r0, [r5, #0x0] b _020895DA _02089588: - .byte 0x84, 0xF7, 0xBE, 0xFE, 0x01, 0x28, 0x24, 0xD1 - .byte 0x02, 0x20, 0x28, 0x60, 0x21, 0xE0, 0x00, 0xF0, 0xFB, 0xF8, 0x01, 0x28, 0x1D, 0xD1, 0x06, 0x20 - .byte 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90, 0x30, 0x1C, 0x01, 0x1C, 0x02, 0x1C - .byte 0x03, 0x1C, 0x84, 0xF7, 0x0D, 0xFE, 0x03, 0x20, 0x28, 0x60, 0x0E, 0xE0, 0x84, 0xF7, 0xA4, 0xFE - .byte 0x01, 0x28, 0x0A, 0xD1, 0x20, 0x1C, 0x00, 0xF0, 0xD9, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x88, 0xF8 - .byte 0x30, 0x1C, 0x01, 0x1C, 0x8C, 0xF7, 0x9C, 0xFC, 0x01, 0x26 + bl FUN_0200E308 + cmp r0, #0x1 + bne _020895DA + mov r0, #0x2 + str r0, [r5, #0x0] + b _020895DA +_02089596: + bl FUN_02089790 + cmp r0, #0x1 + bne _020895DA + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + str r0, [sp, #0x8] + add r0, r6, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x3 + str r0, [r5, #0x0] + b _020895DA +_020895BC: + bl FUN_0200E308 + cmp r0, #0x1 + bne _020895DA + add r0, r4, #0x0 + bl FUN_0208977C + add r0, r4, #0x0 + bl FUN_020896E0 + add r0, r6, #0x0 + add r1, r0, #0x0 + bl FUN_02015F10 + mov r6, #0x1 _020895DA: add r0, r6, #0x0 add sp, #0xc @@ -254731,13 +287245,15 @@ FUN_02089790: ; 0x02089790 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r4, r1, #0 - lsl r6, r6, #0 - lsl r6, r2, #0x1 - lsl r0, r0, #0x2 - lsl r0, r4, #0x2 - lsl r0, r0, #0x3 - lsl r2, r2, #0x3 +_020897AA: ; jump table (using 16-bit offset) + .short _020897B8 - _020897AA - 2; case 0 + .short _020897E2 - _020897AA - 2; case 1 + .short _02089802 - _020897AA - 2; case 2 + .short _0208982C - _020897AA - 2; case 3 + .short _0208984C - _020897AA - 2; case 4 + .short _0208986C - _020897AA - 2; case 5 + .short _0208987E - _020897AA - 2; case 6 +_020897B8: add r1, r5, #0x0 mov r2, #0x1 mov r3, #0x4 @@ -254758,17 +287274,89 @@ FUN_02089790: ; 0x02089790 str r0, [r4, #0x4] b _02089888 _020897E2: - .byte 0xE0, 0x6A, 0x21, 0x68, 0x78, 0xF7, 0xE1, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E - .byte 0x88, 0x42, 0x03, 0xD0, 0x48, 0xE0, 0x02, 0x20, 0x60, 0x60, 0x45, 0xE0, 0x06, 0x20, 0x60, 0x60 - .byte 0x42, 0xE0, 0x01, 0x21, 0x0A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x48, 0xF8, 0x01, 0x28, 0x3B, 0xD1 - .byte 0x01, 0x20, 0x00, 0x90, 0x20, 0x68, 0x1E, 0x49, 0x01, 0x90, 0x60, 0x69, 0x1D, 0x4A, 0x03, 0x23 - .byte 0x78, 0xF7, 0x64, 0xFC, 0xE0, 0x62, 0x03, 0x20, 0x60, 0x60, 0x2D, 0xE0, 0xE0, 0x6A, 0x21, 0x68 - .byte 0x78, 0xF7, 0xBC, 0xFC, 0x00, 0x28, 0x03, 0xD0, 0xA9, 0x1E, 0x88, 0x42, 0x03, 0xD0, 0x23, 0xE0 - .byte 0x04, 0x20, 0x60, 0x60, 0x20, 0xE0, 0x06, 0x20, 0x60, 0x60, 0x1D, 0xE0, 0x02, 0x21, 0x01, 0x22 - .byte 0x2B, 0x1C, 0x00, 0xF0, 0x23, 0xF8, 0x01, 0x28, 0x16, 0xD1, 0x20, 0x1C, 0x0E, 0x49, 0x1C, 0x30 - .byte 0x83, 0xF7, 0xFA, 0xFF, 0x60, 0x63, 0x05, 0x20, 0x60, 0x60, 0x0D, 0xE0, 0x20, 0x6B, 0x98, 0xF7 - .byte 0xE5, 0xFE, 0x60, 0x6B, 0x84, 0xF7, 0xC2, 0xF9, 0x06, 0x20, 0x60, 0x60, 0x04, 0xE0, 0x60, 0x69 - .byte 0x29, 0x1C, 0x8E, 0xF7, 0x5F, 0xFF, 0x01, 0x25 + ldr r0, [r4, #0x2c] + ldr r1, [r4, #0x0] + bl FUN_020021AC + cmp r0, #0x0 + beq _020897F6 + sub r1, r5, #0x2 + cmp r0, r1 + beq _020897FC + b _02089888 +_020897F6: + mov r0, #0x2 + str r0, [r4, #0x4] + b _02089888 +_020897FC: + mov r0, #0x6 + str r0, [r4, #0x4] + b _02089888 +_02089802: + mov r1, #0x1 + add r2, r1, #0x0 + mov r3, #0x4 + bl FUN_0208989C + cmp r0, #0x1 + bne _02089888 + mov r0, #0x1 + str r0, [sp, #0x0] + ldr r0, [r4, #0x0] + ldr r1, _02089890 ; =0x020FF30C + str r0, [sp, #0x4] + ldr r0, [r4, #0x14] + ldr r2, _02089894 ; =0x000001D9 + mov r3, #0x3 + bl FUN_020020EC + str r0, [r4, #0x2c] + mov r0, #0x3 + str r0, [r4, #0x4] + b _02089888 +_0208982C: + ldr r0, [r4, #0x2c] + ldr r1, [r4, #0x0] + bl FUN_020021AC + cmp r0, #0x0 + beq _02089840 + sub r1, r5, #0x2 + cmp r0, r1 + beq _02089846 + b _02089888 +_02089840: + mov r0, #0x4 + str r0, [r4, #0x4] + b _02089888 +_02089846: + mov r0, #0x6 + str r0, [r4, #0x4] + b _02089888 +_0208984C: + mov r1, #0x2 + mov r2, #0x1 + add r3, r5, #0x0 + bl FUN_0208989C + cmp r0, #0x1 + bne _02089888 + add r0, r4, #0x0 + ldr r1, _02089898 ; =0x000001E2 + add r0, #0x1c + bl FUN_0200D858 + str r0, [r4, #0x34] + mov r0, #0x5 + str r0, [r4, #0x4] + b _02089888 +_0208986C: + ldr r0, [r4, #0x30] + bl FUN_0202263C + ldr r0, [r4, #0x34] + bl FUN_0200DBFC + mov r0, #0x6 + str r0, [r4, #0x4] + b _02089888 +_0208987E: + ldr r0, [r4, #0x14] + add r1, r5, #0x0 + bl FUN_02018744 + mov r5, #0x1 _02089888: add r0, r5, #0x0 add sp, #0x8 @@ -254776,8 +287364,7 @@ _02089888: nop _02089890: .word 0x020FF30C _02089894: .word 0x000001D9 -_02089898: - .byte 0xE2, 0x01, 0x00, 0x00 +_02089898: .word 0x000001E2 thumb_func_start FUN_0208989C FUN_0208989C: ; 0x0208989C @@ -255178,12 +287765,14 @@ FUN_02089BE0: ; 0x02089BE0 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r1, #0 - lsl r0, r0, #0x1 - lsl r4, r5, #0x1 - lsl r2, r7, #0x1 - lsl r6, r4, #0x2 - lsl r4, r0, #0x3 +_02089BFA: ; jump table (using 16-bit offset) + .short _02089C06 - _02089BFA - 2; case 0 + .short _02089C3C - _02089BFA - 2; case 1 + .short _02089C68 - _02089BFA - 2; case 2 + .short _02089C76 - _02089BFA - 2; case 3 + .short _02089CA2 - _02089BFA - 2; case 4 + .short _02089CC0 - _02089BFA - 2; case 5 +_02089C06: ldr r0, [r4, #0x34] bl FUN_02022800 cmp r0, #0x3 @@ -255194,31 +287783,95 @@ FUN_02089BE0: ; 0x02089BE0 lsl r0, r0, #0x10 asr r0, r0, #0x10 add pc, r0 - lsl r6, r0, #0 - lsl r6, r0, #0 - lsl r4, r1, #0 - lsl r6, r2, #0 +_02089C1C: ; jump table (using 16-bit offset) + .short _02089C24 - _02089C1C - 2; case 0 + .short _02089C24 - _02089C1C - 2; case 1 + .short _02089C2A - _02089C1C - 2; case 2 + .short _02089C34 - _02089C1C - 2; case 3 +_02089C24: mov r0, #0x5 str r0, [r4, #0x4] b _02089CC2 _02089C2A: - .byte 0x28, 0x1C, 0xA0, 0x60, 0x01, 0x20 - .byte 0x60, 0x60, 0x46, 0xE0, 0x01, 0x20, 0xA0, 0x60, 0x60, 0x60, 0x42, 0xE0, 0x22, 0x49, 0x28, 0x1C - .byte 0x8E, 0xF7, 0xD0, 0xF9, 0x20, 0x49, 0x04, 0x20, 0x8E, 0xF7, 0xCC, 0xF9, 0x06, 0x20, 0x01, 0x21 - .byte 0x00, 0x90, 0x01, 0x91, 0x20, 0x68, 0x0A, 0x1C, 0x02, 0x90, 0x28, 0x1C, 0x03, 0x1C, 0x84, 0xF7 - .byte 0xB7, 0xFA, 0x02, 0x20, 0x60, 0x60, 0x2C, 0xE0, 0x84, 0xF7, 0x4E, 0xFB, 0x01, 0x28, 0x28, 0xD1 - .byte 0x03, 0x20, 0x60, 0x60, 0x25, 0xE0, 0xA1, 0x68, 0x2A, 0x1C, 0x04, 0x23, 0x00, 0xF0, 0x26, 0xF8 - .byte 0x01, 0x28, 0x1E, 0xD1, 0x06, 0x20, 0x00, 0x90, 0x01, 0x20, 0x01, 0x90, 0x20, 0x68, 0x02, 0x90 - .byte 0x28, 0x1C, 0x01, 0x1C, 0x02, 0x1C, 0x03, 0x1C, 0x84, 0xF7, 0x9A, 0xFA, 0x04, 0x20, 0x60, 0x60 - .byte 0x0F, 0xE0, 0x84, 0xF7, 0x31, 0xFB, 0x01, 0x28, 0x0B, 0xD1, 0x28, 0x1C, 0x01, 0x1C, 0x8E, 0xF7 - .byte 0x99, 0xF9, 0x04, 0x20, 0x29, 0x1C, 0x8E, 0xF7, 0x95, 0xF9, 0x05, 0x20, 0x60, 0x60, 0x00, 0xE0 - .byte 0x01, 0x25 + add r0, r5, #0x0 + str r0, [r4, #0x8] + mov r0, #0x1 + str r0, [r4, #0x4] + b _02089CC2 +_02089C34: + mov r0, #0x1 + str r0, [r4, #0x8] + str r0, [r4, #0x4] + b _02089CC2 +_02089C3C: + ldr r1, _02089CC8 ; =0x00006C21 + add r0, r5, #0x0 + bl FUN_02017FE4 + ldr r1, _02089CC8 ; =0x00006C21 + mov r0, #0x4 + bl FUN_02017FE4 + mov r0, #0x6 + mov r1, #0x1 + str r0, [sp, #0x0] + str r1, [sp, #0x4] + ldr r0, [r4, #0x0] + add r2, r1, #0x0 + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x2 + str r0, [r4, #0x4] + b _02089CC2 +_02089C68: + bl FUN_0200E308 + cmp r0, #0x1 + bne _02089CC2 + mov r0, #0x3 + str r0, [r4, #0x4] + b _02089CC2 +_02089C76: + ldr r1, [r4, #0x8] + add r2, r5, #0x0 + mov r3, #0x4 + bl FUN_02089CCC + cmp r0, #0x1 + bne _02089CC2 + mov r0, #0x6 + str r0, [sp, #0x0] + mov r0, #0x1 + str r0, [sp, #0x4] + ldr r0, [r4, #0x0] + str r0, [sp, #0x8] + add r0, r5, #0x0 + add r1, r0, #0x0 + add r2, r0, #0x0 + add r3, r0, #0x0 + bl FUN_0200E1D0 + mov r0, #0x4 + str r0, [r4, #0x4] + b _02089CC2 +_02089CA2: + bl FUN_0200E308 + cmp r0, #0x1 + bne _02089CC2 + add r0, r5, #0x0 + add r1, r0, #0x0 + bl FUN_02017FE4 + mov r0, #0x4 + add r1, r5, #0x0 + bl FUN_02017FE4 + mov r0, #0x5 + str r0, [r4, #0x4] + b _02089CC2 +_02089CC0: + mov r5, #0x1 _02089CC2: add r0, r5, #0x0 add sp, #0xc pop {r4-r5, pc} -_02089CC8: - .byte 0x21, 0x6C, 0x00, 0x00 + .balign 4 +_02089CC8: .word 0x00006C21 thumb_func_start FUN_02089CCC FUN_02089CCC: ; 0x02089CCC @@ -256076,20 +288729,22 @@ FUN_0208A458: ; 0x0208A458 lsl r1, r1, #0x10 asr r1, r1, #0x10 add pc, r1 - lsl r2, r3, #0 - lsl r0, r5, #0 - lsl r4, r0, #0x1 - lsl r2, r4, #0x3 - lsl r2, r6, #0x3 - lsl r6, r0, #0x4 - lsl r2, r6, #0x4 - lsl r2, r1, #0x5 - lsl r0, r4, #0x5 - lsl r0, r4, #0x6 - lsl r4, r6, #0x6 - lsl r0, r4, #0x8 - lsl r6, r5, #0x8 - lsl r4, r1, #0x9 +_0208A472: ; jump table (using 16-bit offset) + .short _0208A48E - _0208A472 - 2; case 0 + .short _0208A49C - _0208A472 - 2; case 1 + .short _0208A4B8 - _0208A472 - 2; case 2 + .short _0208A556 - _0208A472 - 2; case 3 + .short _0208A566 - _0208A472 - 2; case 4 + .short _0208A57A - _0208A472 - 2; case 5 + .short _0208A5A6 - _0208A472 - 2; case 6 + .short _0208A5BE - _0208A472 - 2; case 7 + .short _0208A5D4 - _0208A472 - 2; case 8 + .short _0208A614 - _0208A472 - 2; case 9 + .short _0208A628 - _0208A472 - 2; case 10 + .short _0208A694 - _0208A472 - 2; case 11 + .short _0208A6A2 - _0208A472 - 2; case 12 + .short _0208A6C0 - _0208A472 - 2; case 13 +_0208A48E: mov r1, #0x0 add r2, r1, #0x0 bl FUN_0208A6D4 @@ -256097,52 +288752,272 @@ FUN_0208A458: ; 0x0208A458 str r0, [r4, #0x54] b _0208A6C8 _0208A49C: - .byte 0x00, 0xF0, 0x58, 0xF9 - .byte 0x00, 0x28, 0x00, 0xD1 + bl FUN_0208A750 + cmp r0, #0x0 + bne _0208A4A6 _0208A4A4: b _0208A6C8 _0208A4A6: - .byte 0x20, 0x1C, 0x00, 0xF0, 0x5A, 0xF9, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x65, 0xF9, 0x02, 0x20, 0x60, 0x65, 0x07, 0xE1, 0x00, 0xF0, 0x10, 0xFA, 0x00, 0x21, 0xC9, 0x43 - .byte 0x60, 0x66, 0x88, 0x42, 0x74, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0xAA, 0xF9, 0x60, 0x6E, 0x04, 0x28 - .byte 0x6E, 0xD8, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14, 0x87, 0x44, 0x08, 0x00 - .byte 0x22, 0x00, 0x3C, 0x00, 0x56, 0x00, 0x70, 0x00, 0x20, 0x68, 0x00, 0x21, 0xC0, 0x68, 0xA0, 0xF7 - .byte 0x81, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x32, 0xFA, 0x03, 0x20, 0x60, 0x65 - .byte 0xE2, 0xE0, 0x20, 0x68, 0x01, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x74, 0xF8, 0x01, 0x1C, 0x20, 0x1C - .byte 0x48, 0x30, 0x89, 0xF7, 0x25, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xD5, 0xE0, 0x20, 0x68, 0x02, 0x21 - .byte 0xC0, 0x68, 0xA0, 0xF7, 0x67, 0xF8, 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x18, 0xFA - .byte 0x03, 0x20, 0x60, 0x65, 0xC8, 0xE0, 0x20, 0x68, 0x03, 0x21, 0xC0, 0x68, 0xA0, 0xF7, 0x5A, 0xF8 - .byte 0x01, 0x1C, 0x20, 0x1C, 0x48, 0x30, 0x89, 0xF7, 0x0B, 0xFA, 0x03, 0x20, 0x60, 0x65, 0xBB, 0xE0 - .byte 0x0B, 0x20, 0x60, 0x65, 0xB8, 0xE0, 0x61, 0x6E, 0x00, 0x22, 0x49, 0x1C, 0x00, 0xF0, 0xBA, 0xF8 - .byte 0x04, 0x20, 0x60, 0x65, 0xB0, 0xE0, 0x00, 0xF0, 0xF3, 0xF8, 0x00, 0x28, 0x20, 0xD0, 0x00, 0x20 - .byte 0x4D, 0xF1, 0x98, 0xFB, 0x05, 0x20, 0x60, 0x65, 0xA6, 0xE0, 0x83, 0xF7, 0xC5, 0xFE, 0x00, 0x28 - .byte 0x16, 0xD0, 0x21, 0x1C, 0x20, 0x6D, 0x48, 0x31, 0xFA, 0xF7, 0x18, 0xFF, 0x20, 0x6D, 0xFA, 0xF7 - .byte 0x1F, 0xFF, 0x20, 0x1C, 0xFF, 0xF7, 0x34, 0xFF, 0x20, 0x68, 0x21, 0x6D, 0xAD, 0xF7, 0x70, 0xFC - .byte 0x06, 0x20, 0x60, 0x65, 0x90, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x68, 0xFF, 0x00, 0x28, 0x00, 0xD0 - .byte 0x8A, 0xE0, 0x20, 0x68, 0xBB, 0xF7, 0x72, 0xFF, 0x07, 0x20, 0x60, 0x65, 0x84, 0xE0, 0x20, 0x68 - .byte 0xBB, 0xF7, 0x70, 0xFF, 0x00, 0x28, 0x7F, 0xD0, 0x01, 0x20, 0x4D, 0xF1, 0x6B, 0xFB, 0x08, 0x20 - .byte 0x60, 0x65, 0x79, 0xE0, 0x83, 0xF7, 0x98, 0xFE, 0x00, 0x28, 0x75, 0xD0, 0x20, 0x6D, 0xFA, 0xF7 - .byte 0x01, 0xFF, 0x00, 0x28, 0x02, 0xD0, 0x0B, 0x20, 0x60, 0x65, 0x6D, 0xE0, 0x21, 0x1C, 0x20, 0x6D - .byte 0x48, 0x31, 0xFA, 0xF7, 0x03, 0xFF, 0x20, 0x68, 0x22, 0x1C, 0xC0, 0x68, 0x61, 0x6E, 0x48, 0x32 - .byte 0x9F, 0xF7, 0xE8, 0xFF, 0x20, 0x1C, 0x06, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x63, 0xF8, 0x09, 0x20 - .byte 0x60, 0x65, 0x59, 0xE0, 0x00, 0xF0, 0x9C, 0xF8, 0x00, 0x28, 0x55, 0xD0, 0x20, 0x1C, 0x00, 0xF0 - .byte 0x05, 0xF9, 0x0A, 0x20, 0x60, 0x65, 0x4F, 0xE0, 0x00, 0xF0, 0x58, 0xF9, 0x00, 0x21, 0xC9, 0x43 - .byte 0x60, 0x66, 0x88, 0x42, 0x48, 0xD0, 0x00, 0x28, 0x01, 0xD0, 0x01, 0x28, 0x0B, 0xE0, 0x20, 0x1C - .byte 0x00, 0xF0, 0x46, 0xF9, 0x20, 0x1C, 0x00, 0xF0, 0x8B, 0xF8, 0x20, 0x1C, 0x00, 0xF0, 0x96, 0xF8 - .byte 0x02, 0x20, 0x60, 0x65, 0x38, 0xE0, 0x20, 0x1C, 0x48, 0x30, 0x00, 0x21, 0x89, 0xF7, 0x5C, 0xF9 - .byte 0x05, 0x1C, 0x20, 0x1C, 0x00, 0xF0, 0x34, 0xF9, 0x18, 0x48, 0x85, 0x42, 0x0A, 0xD0, 0xE0, 0x68 - .byte 0x00, 0x21, 0x2A, 0x1C, 0x80, 0xF7, 0x50, 0xFF, 0x20, 0x1C, 0x08, 0x21, 0x01, 0x22, 0x00, 0xF0 - .byte 0x29, 0xF8, 0x04, 0xE0, 0x20, 0x1C, 0x07, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x23, 0xF8, 0x0C, 0x20 - .byte 0x60, 0x65, 0x19, 0xE0, 0x05, 0x21, 0x00, 0x22, 0x00, 0xF0, 0x1C, 0xF8, 0x0C, 0x20, 0x60, 0x65 - .byte 0x12, 0xE0, 0x00, 0xF0, 0x55, 0xF8, 0x00, 0x28, 0x0E, 0xD0, 0x09, 0x48, 0x81, 0x6C, 0xF3, 0x20 - .byte 0x08, 0x42, 0x09, 0xD0, 0x20, 0x1C, 0x00, 0xF0, 0x53, 0xF8, 0x0D, 0x20, 0x60, 0x65, 0x03, 0xE0 - .byte 0xFF, 0xF7, 0x82, 0xFE, 0x01, 0x20, 0x38, 0xBD + add r0, r4, #0x0 + bl FUN_0208A760 + add r0, r4, #0x0 + bl FUN_0208A77C + mov r0, #0x2 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A4B8: + bl FUN_0208A8DC + mov r1, #0x0 + mvn r1, r1 + str r0, [r4, #0x64] + cmp r0, r1 + beq _0208A5B0 + add r0, r4, #0x0 + bl FUN_0208A820 + ldr r0, [r4, #0x64] + cmp r0, #0x4 + bhi _0208A5B0 + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_0208A4DE: ; jump table (using 16-bit offset) + .short _0208A4E8 - _0208A4DE - 2; case 0 + .short _0208A502 - _0208A4DE - 2; case 1 + .short _0208A51C - _0208A4DE - 2; case 2 + .short _0208A536 - _0208A4DE - 2; case 3 + .short _0208A550 - _0208A4DE - 2; case 4 +_0208A4E8: + ldr r0, [r4, #0x0] + mov r1, #0x0 + ldr r0, [r0, #0xc] + bl FUN_0202A5F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x48 + bl FUN_02013960 + mov r0, #0x3 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A502: + ldr r0, [r4, #0x0] + mov r1, #0x1 + ldr r0, [r0, #0xc] + bl FUN_0202A5F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x48 + bl FUN_02013960 + mov r0, #0x3 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A51C: + ldr r0, [r4, #0x0] + mov r1, #0x2 + ldr r0, [r0, #0xc] + bl FUN_0202A5F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x48 + bl FUN_02013960 + mov r0, #0x3 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A536: + ldr r0, [r4, #0x0] + mov r1, #0x3 + ldr r0, [r0, #0xc] + bl FUN_0202A5F4 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x48 + bl FUN_02013960 + mov r0, #0x3 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A550: + mov r0, #0xb + str r0, [r4, #0x54] + b _0208A6C8 +_0208A556: + ldr r1, [r4, #0x64] + mov r2, #0x0 + add r1, r1, #0x1 + bl FUN_0208A6D4 + mov r0, #0x4 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A566: + bl FUN_0208A750 + cmp r0, #0x0 + beq _0208A5B0 + mov r0, #0x0 + bl FUN_021D7CA4 + mov r0, #0x5 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A57A: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0208A5B0 + add r1, r4, #0x0 + ldr r0, [r4, #0x50] + add r1, #0x48 + bl FUN_020853BC + ldr r0, [r4, #0x50] + bl FUN_020853D0 + add r0, r4, #0x0 + bl FUN_0208A400 + ldr r0, [r4, #0x0] + ldr r1, [r4, #0x50] + bl FUN_02037E80 + mov r0, #0x6 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A5A6: + ldr r0, [r4, #0x0] + bl FUN_0204647C + cmp r0, #0x0 + beq _0208A5B2 +_0208A5B0: + b _0208A6C8 +_0208A5B2: + ldr r0, [r4, #0x0] + bl FUN_0204649C + mov r0, #0x7 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A5BE: + ldr r0, [r4, #0x0] + bl FUN_020464A4 + cmp r0, #0x0 + beq _0208A6C8 + mov r0, #0x1 + bl FUN_021D7CA4 + mov r0, #0x8 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A5D4: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0208A6C8 + ldr r0, [r4, #0x50] + bl FUN_020853E4 + cmp r0, #0x0 + beq _0208A5EC + mov r0, #0xb + str r0, [r4, #0x54] + b _0208A6C8 +_0208A5EC: + add r1, r4, #0x0 + ldr r0, [r4, #0x50] + add r1, #0x48 + bl FUN_020853FC + ldr r0, [r4, #0x0] + add r2, r4, #0x0 + ldr r0, [r0, #0xc] + ldr r1, [r4, #0x64] + add r2, #0x48 + bl FUN_0202A5D4 + add r0, r4, #0x0 + mov r1, #0x6 + mov r2, #0x0 + bl FUN_0208A6D4 + mov r0, #0x9 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A614: + bl FUN_0208A750 + cmp r0, #0x0 + beq _0208A6C8 + add r0, r4, #0x0 + bl FUN_0208A82C + mov r0, #0xa + str r0, [r4, #0x54] + b _0208A6C8 +_0208A628: + bl FUN_0208A8DC + mov r1, #0x0 + mvn r1, r1 + str r0, [r4, #0x64] + cmp r0, r1 + beq _0208A6C8 + cmp r0, #0x0 + beq _0208A63E + cmp r0, #0x1 + b _0208A656 +_0208A63E: + add r0, r4, #0x0 + bl FUN_0208A8D0 + add r0, r4, #0x0 + bl FUN_0208A760 + add r0, r4, #0x0 + bl FUN_0208A77C + mov r0, #0x2 + str r0, [r4, #0x54] + b _0208A6C8 +_0208A656: + add r0, r4, #0x0 + add r0, #0x48 + mov r1, #0x0 + bl FUN_02013918 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0208A8D0 + ldr r0, _0208A6CC ; =0x0000FFFF + cmp r5, r0 + beq _0208A684 + ldr r0, [r4, #0xc] + mov r1, #0x0 + add r2, r5, #0x0 + bl FUN_0200B518 + add r0, r4, #0x0 + mov r1, #0x8 + mov r2, #0x1 + bl FUN_0208A6D4 + b _0208A68E +_0208A684: + add r0, r4, #0x0 + mov r1, #0x7 + mov r2, #0x0 + bl FUN_0208A6D4 +_0208A68E: + mov r0, #0xc + str r0, [r4, #0x54] + b _0208A6C8 +_0208A694: + mov r1, #0x5 + mov r2, #0x0 + bl FUN_0208A6D4 + mov r0, #0xc + str r0, [r4, #0x54] + b _0208A6C8 +_0208A6A2: + bl FUN_0208A750 + cmp r0, #0x0 + beq _0208A6C8 + ldr r0, _0208A6D0 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0xf3 + tst r0, r1 + beq _0208A6C8 + add r0, r4, #0x0 + bl FUN_0208A760 + mov r0, #0xd + str r0, [r4, #0x54] + b _0208A6C8 +_0208A6C0: + bl FUN_0208A3C8 + mov r0, #0x1 + pop {r3-r5, pc} _0208A6C8: mov r0, #0x0 pop {r3-r5, pc} -_0208A6CC: - .byte 0xFF, 0xFF, 0x00, 0x00 - .byte 0xB8, 0x48, 0x1C, 0x02 + .balign 4 +_0208A6CC: .word 0x0000FFFF +_0208A6D0: .word 0x021C48B8 thumb_func_start FUN_0208A6D4 FUN_0208A6D4: ; 0x0208A6D4 diff --git a/global.inc b/global.inc index 4019a457..5a116af1 100644 --- a/global.inc +++ b/global.inc @@ -1,13 +1,40 @@ .extern FUN_0200019E -.extern NitroMain .extern FUN_02000DF4 .extern FUN_02000E0C .extern FUN_02000E7C -.extern FUN_02000E7C .extern FUN_02000EE8 .extern FUN_02000F18 .extern FUN_02000FA4 .extern FUN_02000FE8 +.extern FUN_02002C14 +.extern FUN_02002C50 +.extern FUN_02003B98 +.extern FUN_02003C10 +.extern FUN_0200A2AC +.extern FUN_0200A318 +.extern FUN_0200E2D8 +.extern FUN_0201259C +.extern FUN_020125D4 +.extern FUN_02015E30 +.extern FUN_02015E60 +.extern FUN_02016014 +.extern FUN_02016148 +.extern FUN_020163BC +.extern FUN_02016438 +.extern FUN_02016464 +.extern FUN_0201B5CC +.extern FUN_02020AFC +.extern FUN_02020C2C +.extern FUN_02022294 +.extern FUN_020222C4 +.extern FUN_0202254C +.extern FUN_020227FC +.extern FUN_02023900 +.extern FUN_02029EF8 +.extern FUN_0202FB80 +.extern FUN_020337E8 +.extern FUN_02034188 +.extern FUN_02089D90 .extern FUN_0208ACEC .extern FUN_0208AD80 .extern FUN_0208AF80 @@ -21,41 +48,26 @@ .extern FUN_02096B14 .extern FUN_02096B78 .extern FUN_02096CCC -.extern FUN_02096CCC .extern FUN_02096D2C .extern FUN_02096DA0 -.extern FUN_02096DA0 -.extern FUN_02096DA0 -.extern FUN_02096DA0 -.extern FUN_02096DA0 -.extern FUN_02096DA0 -.extern FUN_02096DA0 .extern FUN_02096E90 .extern FUN_02096F18 .extern FUN_02096F80 .extern FUN_02096FB0 .extern FUN_02096FF4 .extern FUN_0209700C -.extern FUN_0209700C -.extern FUN_0209700C -.extern FUN_0209700C .extern FUN_020973B4 .extern FUN_020ADDC0 .extern FUN_020ADDC8 .extern FUN_020ADDF0 -.extern FUN_020ADDF0 -.extern FUN_020ADDF0 .extern FUN_020ADE2C .extern FUN_020ADFA0 -.extern FUN_020ADFA0 .extern FUN_020ADFDC .extern FUN_020ADFE8 -.extern FUN_020ADFE8 .extern FUN_020AE82C .extern FUN_020AE8CC .extern FUN_020AE918 .extern FUN_020AEB70 -.extern FUN_020AEB70 .extern FUN_020AEC7C .extern FUN_020AEC98 .extern FUN_020AEE40 @@ -68,97 +80,31 @@ .extern FUN_020AFBA8 .extern FUN_020AFBFC .extern FUN_020AFC04 -.extern FUN_020AFC04 -.extern FUN_020AFC04 -.extern FUN_020AFC04 -.extern FUN_020AFC04 .extern FUN_020AFD88 .extern FUN_020AFD94 -.extern FUN_020AFD94 -.extern FUN_020AFD94 -.extern FUN_020AFEB8 .extern FUN_020AFEB8 .extern FUN_020AFFD8 .extern FUN_020B0030 -.extern FUN_020B0030 -.extern FUN_020B0030 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 -.extern FUN_020B0088 .extern FUN_020B0088 .extern FUN_020B00F0 .extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0138 -.extern FUN_020B0180 -.extern FUN_020B0180 .extern FUN_020B0180 -.extern FUN_020B0180 -.extern FUN_020B0180 -.extern FUN_020B0180 -.extern FUN_020B0250 -.extern FUN_020B0250 -.extern FUN_020B0250 .extern FUN_020B0250 .extern FUN_020B02C8 .extern FUN_020B0448 -.extern FUN_020B0448 -.extern FUN_020B0870 .extern FUN_020B0870 .extern FUN_020B0BB0 -.extern FUN_020B0BB0 -.extern FUN_020B0C7C .extern FUN_020B0C7C .extern FUN_020B0E34 -.extern FUN_020B0E34 -.extern FUN_020B0FC0 .extern FUN_020B0FC0 .extern FUN_020B10E8 .extern FUN_020B1240 -.extern FUN_020B1240 -.extern FUN_020B1240 -.extern FUN_020B1240 -.extern FUN_020B1240 .extern FUN_020B1340 .extern FUN_020B1528 -.extern FUN_020B1528 -.extern FUN_020B1528 .extern FUN_020B1768 .extern FUN_020B19C4 -.extern FUN_020B19C4 -.extern FUN_020B19C4 -.extern FUN_020B19C4 -.extern FUN_020B19C4 -.extern FUN_020B19DC -.extern FUN_020B19DC .extern FUN_020B19DC -.extern FUN_020B19DC -.extern FUN_020B1A14 -.extern FUN_020B1A14 -.extern FUN_020B1A14 .extern FUN_020B1A14 -.extern FUN_020B1A14 -.extern FUN_020B1A14 -.extern FUN_020B1A14 -.extern FUN_020B1A24 -.extern FUN_020B1A24 -.extern FUN_020B1A24 -.extern FUN_020B1A24 .extern FUN_020B1A24 .extern FUN_020B1EA4 .extern FUN_020B1EC4 @@ -170,13 +116,10 @@ .extern FUN_020B224C .extern FUN_020B23D8 .extern FUN_020B242C -.extern FUN_020B242C .extern FUN_020B2780 .extern FUN_020B2794 .extern FUN_020B28B4 .extern FUN_020B2A08 -.extern FUN_020B2A08 -.extern FUN_020B2A08 .extern FUN_020B2B08 .extern FUN_020B2B58 .extern FUN_020B2D9C @@ -191,94 +134,31 @@ .extern FUN_020B442C .extern FUN_020B4568 .extern FUN_020B4F38 -.extern FUN_020B4F38 -.extern FUN_020B4F38 -.extern FUN_020B502C .extern FUN_020B502C .extern FUN_020B772C .extern FUN_020B7790 -.extern FUN_020B7790 .extern FUN_020B7C58 -.extern FUN_020B7C58 -.extern FUN_020B7C78 .extern FUN_020B7C78 .extern FUN_020B7CDC -.extern FUN_020B7CDC -.extern FUN_020B7CDC -.extern FUN_020B7CE4 -.extern FUN_020B7CE4 -.extern FUN_020B7CE4 -.extern FUN_020B7CE4 .extern FUN_020B7CE4 .extern FUN_020B7CF0 -.extern FUN_020B7CF0 -.extern FUN_020B7D28 .extern FUN_020B7D28 .extern FUN_020B7DFC -.extern FUN_020B7DFC -.extern FUN_020B7DFC -.extern FUN_020B7E10 -.extern FUN_020B7E10 .extern FUN_020B7E10 -.extern FUN_020B7E10 -.extern FUN_020B7E10 -.extern FUN_020B7E1C -.extern FUN_020B7E1C .extern FUN_020B7E1C -.extern FUN_020B7E1C -.extern FUN_020B7E1C -.extern FUN_020B80B4 -.extern FUN_020B80B4 .extern FUN_020B80B4 -.extern FUN_020B80B4 -.extern FUN_020B844C .extern FUN_020B844C -.extern FUN_020B844C -.extern FUN_020B8474 .extern FUN_020B8474 -.extern FUN_020B8474 -.extern FUN_020B8474 -.extern FUN_020B849C -.extern FUN_020B849C -.extern FUN_020B849C -.extern FUN_020B849C -.extern FUN_020B849C -.extern FUN_020B849C -.extern FUN_020B849C .extern FUN_020B849C .extern FUN_020BAC98 .extern FUN_020BAFB8 .extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB1C0 -.extern FUN_020BB394 -.extern FUN_020BB394 .extern FUN_020BB394 -.extern FUN_020BB394 -.extern FUN_020BB59C .extern FUN_020BB59C .extern FUN_020BB7F4 -.extern FUN_020BB7F4 -.extern FUN_020BC0FC .extern FUN_020BC0FC -.extern FUN_020BC0FC -.extern FUN_020BC0FC -.extern FUN_020BC0FC -.extern FUN_020BC0FC -.extern FUN_020BC13C -.extern FUN_020BC13C -.extern FUN_020BC13C -.extern FUN_020BC13C .extern FUN_020BC13C .extern FUN_020BC2A0 -.extern FUN_020BC2A0 .extern FUN_020C0174 .extern FUN_020C01A0 .extern FUN_020C01D0 @@ -286,34 +166,24 @@ .extern FUN_020C041C .extern FUN_020C044C .extern FUN_020C04DC -.extern FUN_020C04DC .extern FUN_020C0510 .extern FUN_020C054C .extern FUN_020C0670 -.extern FUN_020C0670 -.extern FUN_020C0688 .extern FUN_020C0688 .extern FUN_020C0DD4 .extern FUN_020C0E14 .extern FUN_020C0E7C -.extern FUN_020C0E7C -.extern FUN_020C0E7C .extern FUN_020C0EA4 .extern FUN_020C0EF4 .extern FUN_020C0F30 .extern FUN_020C0F50 .extern FUN_020C0F68 -.extern FUN_020C0F68 .extern FUN_020C0F80 .extern FUN_020C0F8C .extern FUN_020C0F9C .extern FUN_020C0FDC .extern FUN_020C1040 .extern FUN_020C10A4 -.extern FUN_020C10A4 -.extern FUN_020C10A4 -.extern FUN_020C10A4 -.extern FUN_020C10A4 .extern FUN_020C1148 .extern FUN_020C1180 .extern FUN_020C1E58 @@ -326,11 +196,8 @@ .extern FUN_020C2104 .extern FUN_020C217C .extern FUN_020C226C -.extern FUN_020C226C .extern FUN_020C22D0 .extern FUN_020C23FC -.extern FUN_020C23FC -.extern FUN_020C23FC .extern FUN_020C26F8 .extern FUN_020C2828 .extern FUN_020C290C @@ -341,72 +208,36 @@ .extern FUN_020C3674 .extern FUN_020C36A8 .extern FUN_020C3910 -.extern FUN_020C3910 -.extern FUN_020C3910 -.extern FUN_020C3910 -.extern FUN_020C3980 -.extern FUN_020C3980 -.extern FUN_020C3980 -.extern FUN_020C3980 .extern FUN_020C3980 .extern FUN_020C39CC .extern FUN_020C3EA4 .extern FUN_020C3EB0 .extern FUN_020C3F14 -.extern FUN_020C3F14 .extern FUN_020C3F38 -.extern FUN_020C3F38 -.extern FUN_020C3F54 .extern FUN_020C3F54 .extern FUN_020C3F70 -.extern FUN_020C3F70 -.extern FUN_020C400C -.extern FUN_020C400C -.extern FUN_020C400C .extern FUN_020C400C .extern FUN_020C504C -.extern FUN_020C504C -.extern FUN_020C50B8 .extern FUN_020C50B8 -.extern FUN_020C50B8 -.extern FUN_020C5288 -.extern FUN_020C5288 .extern FUN_020C5288 .extern FUN_020C53C8 .extern FUN_020C5588 .extern FUN_020C5600 -.extern FUN_020C5600 -.extern FUN_020C5600 -.extern FUN_020C5634 -.extern FUN_020C5634 -.extern FUN_020C5634 .extern FUN_020C5634 .extern FUN_020C5668 .extern FUN_020C5974 .extern FUN_020C5978 -.extern FUN_020C5978 -.extern FUN_020C59A4 .extern FUN_020C59A4 .extern FUN_020C59C0 -.extern FUN_020C59C0 .extern FUN_020C5A34 .extern FUN_020C5A80 .extern FUN_020C5AC8 .extern FUN_020C5AF8 -.extern FUN_020C5AF8 .extern FUN_020C5B28 .extern FUN_020C5D2C .extern FUN_020C5D4C -.extern FUN_020C5D4C .extern FUN_020C5D9C .extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC -.extern FUN_020C5DBC .extern FUN_020C5E54 .extern FUN_020C600C .extern FUN_020C6034 @@ -429,624 +260,126 @@ .extern FUN_020C6970 .extern FUN_020C6A84 .extern FUN_020C6BF0 +.extern FUN_020C6F60 +.extern FUN_020C6FB0 +.extern FUN_020C7010 +.extern FUN_020C7058 +.extern FUN_020C70B0 +.extern FUN_020C70D0 +.extern FUN_020C7104 .extern FUN_020C7124 .extern FUN_020C74B8 -.extern FUN_020C74B8 -.extern FUN_020C74B8 -.extern FUN_020C74B8 -.extern FUN_020C74B8 -.extern FUN_020C74B8 -.extern FUN_020C74DC .extern FUN_020C74DC -.extern FUN_020C74DC -.extern FUN_020C74DC -.extern FUN_020C74DC -.extern FUN_020C74DC -.extern FUN_020C74F8 -.extern FUN_020C74F8 -.extern FUN_020C74F8 -.extern FUN_020C74F8 .extern FUN_020C74F8 .extern FUN_020C7A14 .extern FUN_020C7B3C -.extern FUN_020C7B3C -.extern FUN_020C7B3C -.extern FUN_020C7B3C -.extern FUN_020C7B3C -.extern FUN_020C7C28 -.extern FUN_020C7C28 -.extern FUN_020C7C28 -.extern FUN_020C7C28 .extern FUN_020C7C28 .extern FUN_020C7D28 -.extern FUN_020C7D28 .extern FUN_020C7E0C .extern FUN_020C7E94 .extern FUN_020C7FF0 -.extern FUN_020C7FF0 .extern FUN_020C802C .extern FUN_020C8068 .extern FUN_020C80A4 .extern FUN_020C823C .extern FUN_020C8538 +.extern FUN_020C8728 +.extern FUN_020C8774 +.extern FUN_020C87E8 +.extern FUN_020C880C +.extern FUN_020C8858 +.extern FUN_020C88CC +.extern FUN_020C88F0 +.extern FUN_020C8948 +.extern FUN_020C89BC .extern FUN_020C8A2C +.extern FUN_020C8A90 .extern FUN_020C8B10 +.extern FUN_020C8C14 +.extern FUN_020C8C7C +.extern FUN_020C8CE4 +.extern FUN_020C8D4C +.extern FUN_020C8DB4 +.extern FUN_020C8E1C +.extern FUN_020C8E84 .extern FUN_020C8EEC +.extern FUN_020C8F54 +.extern FUN_020C8FBC +.extern FUN_020C9024 +.extern FUN_020C908C +.extern FUN_020C90F4 +.extern FUN_020C915C +.extern FUN_020C91C4 .extern FUN_020C922C .extern FUN_020C9294 -.extern FUN_020C9294 -.extern FUN_020C9294 -.extern FUN_020C9294 -.extern FUN_020C92F4 -.extern FUN_020C92F4 -.extern FUN_020C92F4 .extern FUN_020C92F4 .extern FUN_020C9354 .extern FUN_020C93BC .extern FUN_020C9418 .extern FUN_020C9480 -.extern FUN_020C9480 -.extern FUN_020C9480 -.extern FUN_020C9480 -.extern FUN_020C94E8 .extern FUN_020C94E8 -.extern FUN_020C94E8 -.extern FUN_020C94E8 -.extern FUN_020C9550 -.extern FUN_020C9550 .extern FUN_020C9550 -.extern FUN_020C9550 -.extern FUN_020C9550 -.extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9C0C .extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9C0C -.extern FUN_020C9E14 -.extern FUN_020C9E14 .extern FUN_020C9E14 -.extern FUN_020C9E14 -.extern FUN_020C9E5C -.extern FUN_020C9E5C -.extern FUN_020C9E5C .extern FUN_020C9E5C -.extern FUN_020C9E5C -.extern FUN_020C9E5C -.extern FUN_020C9E5C -.extern FUN_020C9FEC -.extern FUN_020C9FEC -.extern FUN_020C9FEC -.extern FUN_020C9FEC -.extern FUN_020C9FEC .extern FUN_020C9FEC .extern FUN_020CA0A0 -.extern FUN_020CA0A0 -.extern FUN_020CA0A0 -.extern FUN_020CA0F8 -.extern FUN_020CA0F8 .extern FUN_020CA0F8 -.extern FUN_020CA0F8 -.extern FUN_020CC124 .extern FUN_020CC124 .extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C -.extern FUN_020CC15C .extern FUN_020CC180 .extern FUN_020CC1B4 .extern FUN_020CC204 .extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C -.extern FUN_020CC26C .extern FUN_020CC2F4 .extern FUN_020CC308 .extern FUN_020CC31C .extern FUN_020CC408 +.extern FUN_020CCC1C .extern FUN_020CCD64 .extern FUN_020CD310 -.extern FUN_020CD310 -.extern FUN_020CD310 -.extern FUN_020CD324 .extern FUN_020CD324 -.extern FUN_020CD324 -.extern FUN_020CD374 .extern FUN_020CD374 -.extern FUN_020CD374 -.extern FUN_020CD374 -.extern FUN_020CD374 -.extern FUN_020CD3B4 -.extern FUN_020CD3B4 -.extern FUN_020CD3B4 -.extern FUN_020CD3B4 -.extern FUN_020CD3B4 .extern FUN_020CD3B4 .extern FUN_020CD510 -.extern FUN_020CD510 -.extern FUN_020CD510 -.extern FUN_020CD510 .extern FUN_020CD524 .extern FUN_020CD5A0 -.extern FUN_020CD5A0 -.extern FUN_020CD5A0 -.extern FUN_020CD5A0 -.extern FUN_020CD5A0 -.extern FUN_020CD5A0 .extern FUN_020CD754 .extern FUN_020CD850 -.extern FUN_020CD850 -.extern FUN_020CD850 -.extern FUN_020CD850 .extern FUN_020CD998 .extern FUN_020CDA1C -.extern FUN_020CDA1C .extern FUN_020CDD90 .extern FUN_020CDE04 .extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1C8 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 .extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1E0 -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC .extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE1FC -.extern FUN_020CE210 -.extern FUN_020CE210 -.extern FUN_020CE210 -.extern FUN_020CE210 .extern FUN_020CE210 .extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE240 -.extern FUN_020CE28C -.extern FUN_020CE28C -.extern FUN_020CE28C -.extern FUN_020CE28C -.extern FUN_020CE28C -.extern FUN_020CE28C -.extern FUN_020CE28C .extern FUN_020CE28C .extern FUN_020CE2E0 -.extern FUN_020CE2E0 -.extern FUN_020CE2E0 -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C .extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE34C -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 .extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE3E0 -.extern FUN_020CE528 -.extern FUN_020CE528 -.extern FUN_020CE528 .extern FUN_020CE528 .extern FUN_020CF768 .extern FUN_020D1148 .extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D17A0 -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C -.extern FUN_020D180C .extern FUN_020D180C .extern FUN_020D182C .extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D18FC -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1944 .extern FUN_020D1944 -.extern FUN_020D1944 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 -.extern FUN_020D1C94 .extern FUN_020D1C94 .extern FUN_020D1CC4 .extern FUN_020D1CD4 .extern FUN_020D1D10 -.extern FUN_020D1D10 -.extern FUN_020D1D30 .extern FUN_020D1D30 .extern FUN_020D2040 .extern FUN_020D2094 .extern FUN_020D2210 -.extern FUN_020D2210 .extern FUN_020D23B4 .extern FUN_020D2454 .extern FUN_020D24EC -.extern FUN_020D24EC -.extern FUN_020D24EC -.extern FUN_020D24EC -.extern FUN_020D36C4 .extern FUN_020D36C4 .extern FUN_020D36D8 -.extern FUN_020D36D8 -.extern FUN_020D36F0 .extern FUN_020D36F0 .extern FUN_020D3A90 .extern FUN_020D3AA0 @@ -1055,7 +388,6 @@ .extern FUN_020D3DCC .extern FUN_020D3E24 .extern FUN_020D3EC4 -.extern FUN_020D3EC4 .extern FUN_020D400C .extern FUN_020D40B8 .extern FUN_020D4718 @@ -1068,34 +400,18 @@ .extern FUN_020D5168 .extern FUN_020D5180 .extern FUN_020D526C -.extern FUN_020D526C .extern FUN_020D5F40 .extern FUN_020D614C .extern FUN_020D6320 -.extern FUN_020D6320 -.extern FUN_020D6578 .extern FUN_020D6578 -.extern FUN_020D6578 -.extern FUN_020D6578 -.extern FUN_020D660C -.extern FUN_020D660C .extern FUN_020D660C -.extern FUN_020D660C -.extern FUN_020D660C -.extern FUN_020D66A0 -.extern FUN_020D66A0 .extern FUN_020D66A0 -.extern FUN_020D66A0 -.extern FUN_020D66B0 -.extern FUN_020D66B0 .extern FUN_020D66B0 .extern FUN_020D6700 +.extern FUN_020D6D7C .extern FUN_020D6DAC .extern FUN_020D6DB8 .extern FUN_020D6DC4 -.extern FUN_020D6DC4 -.extern FUN_020D6F20 -.extern FUN_020D6F20 .extern FUN_020D6F20 .extern FUN_020D7228 .extern FUN_020D7D18 @@ -1104,11 +420,9 @@ .extern FUN_020D8AF0 .extern FUN_020D8B94 .extern FUN_020D8C3C -.extern FUN_020D8C3C .extern FUN_020D8F34 .extern FUN_020D9014 .extern FUN_020D9060 -.extern FUN_020D9060 .extern FUN_020D9168 .extern FUN_020D9244 .extern FUN_020D940C @@ -1119,675 +433,128 @@ .extern FUN_020D9774 .extern FUN_020D97B4 .extern FUN_020D9960 -.extern FUN_020D9960 .extern FUN_020D99EC .extern FUN_020D9B48 -.extern FUN_020D9B48 .extern FUN_020DAD74 .extern FUN_020DADD4 .extern FUN_020DAF30 .extern FUN_020DB7A8 .extern FUN_020DDC5C -.extern FUN_020DDC5C .extern FUN_020DDCE4 .extern FUN_020DDD28 -.extern FUN_020DDD28 .extern FUN_020DDD60 -.extern FUN_020DDD60 -.extern FUN_020DDE44 .extern FUN_020DDE44 .extern FUN_020DDF60 .extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DE3F0 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 .extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF438 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 -.extern FUN_020DF4A4 .extern FUN_020DF4A4 .extern FUN_020DF510 .extern FUN_020E2EAC .extern FUN_020E2EC8 -.extern FUN_020E2EC8 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 .extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EA980 -.extern FUN_020EAEF0 -.extern FUN_020EAEF0 .extern FUN_020EAEF0 .extern FUN_020EB010 .extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB084 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 .extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4C0 -.extern FUN_020EB4F4 .extern FUN_020EB4F4 .extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 -.extern FUN_020EB534 .extern FUN_020EB57C -.extern FUN_020EB57C -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 .extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB5C4 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 .extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EB7B0 -.extern FUN_020EBA38 .extern FUN_020EBA38 .extern FUN_020EBBE8 -.extern FUN_020EBBE8 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 .extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC30 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 +.extern FUN_020EBC50 .extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBC80 -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C -.extern FUN_020EBE8C .extern FUN_020EBE8C .extern FUN_020EC5CC .extern FUN_020EC694 -.extern FUN_021D78FC -.extern FUN_021D78FC -.extern FUN_021D79B4 -.extern FUN_021D79B4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 -.extern FUN_021D7CA4 +.extern FUN_021D74E0 +.extern FUN_021D76AC +.extern FUN_021D77C4 +.extern FUN_021D7800 +.extern FUN_021D78FC +.extern FUN_021D79B4 .extern FUN_021D7CA4 .extern FUN_021D7F8C .extern FUN_021D8018 -.extern FUN_021D8018 .extern FUN_021D8164 .extern FUN_021D82BC .extern FUN_021D8320 .extern FUN_021D836C -.extern FUN_021D83C0 +.extern FUN_021D83A8 .extern FUN_021D83C0 .extern FUN_021D844C +.extern FUN_021D8494 .extern FUN_021D85FC .extern FUN_021D8624 -.extern FUN_021D88E4 -.extern FUN_021D88E4 -.extern FUN_021D88E4 -.extern FUN_021D88E4 +.extern FUN_021D865C +.extern FUN_021D8758 +.extern FUN_021D8820 .extern FUN_021D88E4 .extern FUN_021D89CC .extern FUN_021D8B64 -.extern FUN_021D8B64 -.extern FUN_021D8B64 -.extern FUN_021D8B64 -.extern FUN_021D8B64 -.extern FUN_021D8B64 .extern FUN_021D8C24 .extern FUN_021D917C .extern FUN_021D959C -.extern FUN_021D959C -.extern FUN_021D959C -.extern FUN_021D959C .extern FUN_021D967C -.extern FUN_021D967C -.extern FUN_021D967C -.extern FUN_021D967C -.extern FUN_021D96F4 .extern FUN_021D96F4 -.extern FUN_021D96F4 -.extern FUN_021D96F4 -.extern FUN_021D96F4 -.extern FUN_021D9708 .extern FUN_021D9708 -.extern FUN_021D9708 -.extern FUN_021D9708 -.extern FUN_021D9708 -.extern FUN_021D971C .extern FUN_021D971C -.extern FUN_021D971C -.extern FUN_021D971C -.extern FUN_021D971C -.extern FUN_021D9820 .extern FUN_021D9820 -.extern FUN_021D9820 -.extern FUN_021D9820 -.extern FUN_021D9820 -.extern FUN_021D99F8 -.extern FUN_021D99F8 -.extern FUN_021D99F8 .extern FUN_021D99F8 .extern FUN_021DA464 +.extern FUN_021DA4EC +.extern FUN_021DA54C .extern FUN_021DA58C .extern FUN_021DA5B8 -.extern FUN_021DA5B8 .extern FUN_021DA5C8 .extern FUN_021DA5D0 -.extern FUN_021DA5D0 +.extern FUN_021DA5D8 +.extern FUN_021DA7B4 +.extern FUN_021DAAA4 .extern FUN_021DAC70 .extern FUN_021DAE40 .extern FUN_021DAED4 .extern FUN_021DAF28 .extern FUN_021DAF78 .extern FUN_021DAF98 -.extern FUN_021DAF98 -.extern FUN_021DB030 -.extern FUN_021DB030 .extern FUN_021DB030 .extern FUN_021DB7E8 .extern FUN_021DB858 .extern FUN_021DC174 -.extern FUN_021DC174 .extern FUN_021DD6F0 .extern FUN_021DD718 -.extern FUN_021DD718 .extern FUN_021DDB08 .extern FUN_021E1374 .extern FUN_021E1858 .extern FUN_021E1994 .extern FUN_021E1BF8 -.extern FUN_021E1BF8 .extern FUN_021E1C4C -.extern FUN_021E1C4C -.extern FUN_021E1C54 .extern FUN_021E1C54 .extern FUN_021E1ECC .extern FUN_021E1F34 -.extern FUN_021E1F34 .extern FUN_021E1F58 .extern FUN_021E1F60 .extern FUN_021E2464 .extern FUN_021E2608 .extern FUN_021E26CC +.extern FUN_021E27E8 +.extern FUN_021E288C +.extern FUN_021E28A0 +.extern FUN_021E2950 +.extern FUN_021E29B4 +.extern FUN_021E29C8 +.extern FUN_021E2A70 +.extern FUN_021E2AD4 .extern FUN_021E2B80 .extern FUN_021E2B9C .extern FUN_021E2BB8 -.extern FUN_021E2BB8 -.extern FUN_021E2BB8 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 -.extern FUN_021E2BD0 .extern FUN_021E2BD0 .extern FUN_021E2C24 -.extern FUN_021E2C24 -.extern FUN_021E2C58 -.extern FUN_021E2C58 .extern FUN_021E2C58 .extern FUN_021E2CBC .extern FUN_021E32F0 -.extern FUN_021E32F0 -.extern FUN_021E331C -.extern FUN_021E331C .extern FUN_021E331C .extern FUN_021E3424 .extern FUN_021E3444 @@ -1795,21 +562,11 @@ .extern FUN_021E4C54 .extern FUN_021E4C60 .extern FUN_021E4DE4 +.extern FUN_021E5614 +.extern FUN_021E57D4 .extern FUN_021E5970 .extern FUN_021E5B30 -.extern FUN_021E5B30 -.extern FUN_021E5B30 -.extern FUN_021E5B30 -.extern FUN_021E5FD8 -.extern FUN_021E5FD8 -.extern FUN_021E5FD8 .extern FUN_021E5FD8 -.extern FUN_021E5FD8 -.extern FUN_021E5FE0 -.extern FUN_021E5FE0 -.extern FUN_021E5FE0 -.extern FUN_021E5FE0 -.extern FUN_021E5FE0 .extern FUN_021E5FE0 .extern FUN_021E6410 .extern FUN_021E643C @@ -1819,42 +576,23 @@ .extern FUN_021E7030 .extern FUN_021E70F0 .extern FUN_021E7138 -.extern FUN_021E7138 -.extern FUN_021E7138 .extern FUN_021E7184 .extern FUN_021E71E8 .extern FUN_021E7750 -.extern FUN_021E7750 -.extern FUN_021E799C .extern FUN_021E799C .extern FUN_021E7AC0 -.extern FUN_021E7AC0 -.extern FUN_021E7EA0 .extern FUN_021E7EA0 -.extern FUN_021E7EA0 -.extern FUN_021E7EB0 .extern FUN_021E7EB0 .extern FUN_021E7EC4 -.extern FUN_021E7EC4 -.extern FUN_021E7EC4 -.extern FUN_021E7EC4 .extern FUN_021E7EC8 .extern FUN_021E7ED0 -.extern FUN_021E7ED0 -.extern FUN_021E7ED0 -.extern FUN_021E7ED0 .extern FUN_021E7ED8 .extern FUN_021E7FBC .extern FUN_021E8128 -.extern FUN_021E8128 -.extern FUN_021E8130 .extern FUN_021E8130 -.extern FUN_021E8130 -.extern FUN_021E8140 .extern FUN_021E8140 .extern FUN_021E8144 .extern FUN_021E8148 -.extern FUN_021E8148 .extern FUN_021E8158 .extern FUN_021E81BC .extern FUN_021E84F4 @@ -1862,62 +600,56 @@ .extern FUN_021E8588 .extern FUN_021E85E4 .extern FUN_021E85FC +.extern FUN_021EC57C +.extern FUN_021EC71C +.extern FUN_021EC854 +.extern FUN_021EC864 +.extern FUN_021ECD64 .extern FUN_021ECF14 +.extern FUN_021ED0CC .extern FUN_021ED49C +.extern FUN_021ED4E0 +.extern FUN_021ED52C +.extern FUN_021ED5C4 +.extern FUN_021ED5EC +.extern FUN_021ED644 .extern FUN_021ED940 .extern FUN_021EDA48 .extern FUN_021EDBC8 .extern FUN_021EF5E0 -.extern FUN_021EF5E0 -.extern FUN_021EF604 -.extern FUN_021EF604 -.extern FUN_021EF604 .extern FUN_021EF604 .extern FUN_021EF620 .extern FUN_021EF654 .extern FUN_021EF824 -.extern FUN_021EF824 -.extern FUN_021EF824 -.extern FUN_021EF844 .extern FUN_021EF844 .extern FUN_021EF8C8 .extern FUN_021EF8DC .extern FUN_021EFA9C -.extern FUN_021EFA9C .extern FUN_021F02C4 .extern FUN_021F1D8C .extern FUN_021F1DC8 -.extern FUN_021F1DC8 -.extern FUN_021F1DC8 -.extern FUN_021F1DC8 -.extern FUN_021F1DC8 .extern FUN_021F1DFC .extern FUN_021F1EC0 -.extern FUN_021F1EC0 -.extern FUN_021F1EC0 -.extern FUN_021F1F78 .extern FUN_021F1F78 .extern FUN_021F2094 -.extern FUN_021F2094 -.extern FUN_021F2094 .extern FUN_021F20D8 .extern FUN_021F20F8 .extern FUN_021F2AF4 .extern FUN_021F2E0C .extern FUN_021F2E28 -.extern FUN_021F2E28 -.extern FUN_021F2E28 -.extern FUN_021F2F48 .extern FUN_021F2F48 .extern FUN_021F2F6C +.extern FUN_021F3A18 +.extern FUN_021F3AB4 +.extern FUN_021F3B4C +.extern FUN_021F3B7C .extern FUN_021F3DA4 .extern FUN_021F44D8 .extern FUN_021F4520 .extern FUN_021F4568 -.extern FUN_021F45E8 +.extern FUN_021F4594 .extern FUN_021F45E8 .extern FUN_021F4608 -.extern FUN_021F4608 .extern FUN_021F4BD0 .extern FUN_021F4C88 .extern FUN_021F4D80 @@ -1925,12 +657,10 @@ .extern FUN_021F4E7C .extern FUN_021F57EC .extern FUN_021F5C44 -.extern FUN_021F5C44 -.extern FUN_021F5C44 -.extern FUN_021F5C44 -.extern FUN_021F5C44 -.extern FUN_021F5C44 +.extern FUN_021F61DC +.extern FUN_021F61E8 .extern FUN_02211E60 +.extern FUN_0222D5C0 .extern FUN_0222DAEC .extern FUN_0222DD1C .extern FUN_0222DD38 @@ -1943,23 +673,16 @@ .extern FUN_0222EDBC .extern FUN_0222F440 .extern FUN_0222F480 -.extern FUN_0222F480 .extern FUN_0222F7E0 .extern FUN_0222F990 .extern FUN_022300D4 -.extern FUN_022300D4 -.extern FUN_022300DC .extern FUN_022300DC .extern FUN_022300E4 .extern FUN_022300E8 .extern FUN_022300F4 -.extern FUN_022300F4 -.extern FUN_02230100 .extern FUN_02230100 .extern FUN_0223010C .extern FUN_02230118 -.extern FUN_02230118 -.extern FUN_02230124 .extern FUN_02230124 .extern FUN_02230F3C .extern FUN_02230F70 @@ -1971,240 +694,215 @@ .extern FUN_02231374 .extern FUN_02239944 .extern FUN_02239AAC +.extern FUN_0223CACC .extern FUN_0223CB08 .extern FUN_0223CCDC .extern FUN_0223CD7C -.extern FUN_0223CD7C .extern FUN_0223D3D0 -.extern FUN_0223D3D0 -.extern FUN_0223D3D0 -.extern FUN_0223D3D0 -.extern FUN_0223D638 .extern FUN_0223D638 .extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 -.extern FUN_0223D648 +.extern FUN_0223DFB4 .extern FUN_0223E060 +.extern FUN_0223E118 +.extern FUN_0223E154 +.extern FUN_0223E1A4 .extern FUN_0223E1E0 +.extern FUN_0223E2AC .extern FUN_0223E4A8 .extern FUN_0223E4D4 .extern FUN_0223E554 .extern FUN_0223E6B8 .extern FUN_0223E734 -.extern FUN_0223E734 +.extern FUN_0223E7FC .extern FUN_0223EB8C .extern FUN_0223EF7C +.extern FUN_0223F4D8 +.extern FUN_0223F4F4 .extern FUN_0223F8D8 +.extern FUN_0223FCE8 .extern FUN_02240790 +.extern FUN_022407CC .extern FUN_022407DC .extern FUN_022407F8 +.extern FUN_02240834 .extern FUN_02240844 .extern FUN_0224089C -.extern FUN_0224089C +.extern FUN_022408FC +.extern FUN_022411F4 .extern FUN_02241230 .extern FUN_02241914 .extern FUN_02242A38 +.extern FUN_02242BE0 +.extern FUN_0224312C +.extern FUN_022432E4 +.extern FUN_0224339C +.extern FUN_022433A8 +.extern FUN_022433B0 +.extern FUN_022433B8 +.extern FUN_022433F8 +.extern FUN_02243408 +.extern FUN_02243428 +.extern FUN_02243448 +.extern FUN_0224345C +.extern FUN_022434AC +.extern FUN_022434BC +.extern FUN_022434D0 +.extern FUN_02243694 +.extern FUN_022436C8 +.extern FUN_022436E8 +.extern FUN_02243780 +.extern FUN_02243838 +.extern FUN_022438DC +.extern FUN_022438E0 +.extern FUN_022438FC +.extern FUN_02243920 +.extern FUN_022439F8 +.extern FUN_02243AD8 +.extern FUN_02243BA8 +.extern FUN_02243C5C +.extern FUN_02243D3C +.extern FUN_02243DA0 +.extern FUN_02243DB8 +.extern FUN_02243DC0 +.extern FUN_02243DC4 +.extern FUN_02243DD8 +.extern FUN_02243DE0 +.extern FUN_02243E34 +.extern FUN_02243E74 +.extern FUN_02243F18 +.extern FUN_02243F50 +.extern FUN_02243F9C .extern FUN_02244210 .extern FUN_02244558 .extern FUN_02244660 .extern FUN_022446BC .extern FUN_022446E0 +.extern FUN_022446FC +.extern FUN_02244758 +.extern FUN_02244770 +.extern FUN_02244824 +.extern FUN_0224484C +.extern FUN_02244D1C +.extern FUN_02244D20 .extern FUN_02244D3C .extern FUN_02244D40 -.extern FUN_02244D40 -.extern FUN_02244D40 -.extern FUN_02244D40 .extern FUN_02244D58 .extern FUN_02244D98 -.extern FUN_02244D98 .extern FUN_02244DA0 .extern FUN_02244DB0 -.extern FUN_02244DB0 +.extern FUN_02244DBC +.extern FUN_02244DC4 +.extern FUN_02244EF8 +.extern FUN_02244F18 +.extern FUN_02244F24 +.extern FUN_02244F2C +.extern FUN_02245088 .extern FUN_02245114 +.extern FUN_02245190 .extern FUN_02245198 .extern FUN_022451F0 +.extern FUN_0224525C +.extern FUN_022452A4 +.extern FUN_02245324 +.extern FUN_02245340 .extern FUN_02245358 .extern FUN_0224566C +.extern FUN_022456E8 .extern FUN_02245844 .extern FUN_02245910 -.extern FUN_02245910 .extern FUN_02245F1C .extern FUN_02245F4C .extern FUN_02245FA0 +.extern FUN_022461A4 +.extern FUN_022461B8 .extern FUN_0224666C -.extern FUN_0224666C -.extern FUN_022466A0 .extern FUN_022466A0 .extern FUN_022466AC -.extern FUN_022466AC .extern FUN_02246F1C .extern FUN_02247294 .extern FUN_022472AC .extern FUN_02247544 .extern FUN_02247614 +.extern FUN_02247728 +.extern FUN_02247808 +.extern FUN_02247970 .extern FUN_02247A34 .extern FUN_022483BC .extern FUN_022483E0 .extern FUN_022483EC +.extern FUN_02248724 +.extern FUN_0224884C +.extern FUN_022488CC +.extern FUN_022488EC +.extern FUN_022488F4 .extern FUN_022488FC .extern FUN_0224891C .extern FUN_02248B54 .extern FUN_02248B58 -.extern FUN_02248B58 -.extern FUN_02248B58 .extern FUN_02248B5C .extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 -.extern FUN_02248B60 .extern FUN_02248B6C +.extern FUN_02248CC0 .extern FUN_02248CD0 .extern FUN_02248DF8 +.extern FUN_02248F70 +.extern FUN_02248FE0 +.extern FUN_02249038 +.extern FUN_022490A0 +.extern FUN_022491FC .extern FUN_022494C8 .extern FUN_02249508 .extern FUN_02249668 -.extern FUN_02249668 -.extern FUN_02249668 -.extern FUN_02249668 -.extern FUN_022497E8 .extern FUN_022497E8 .extern FUN_02249E6C .extern FUN_02249E78 .extern FUN_02249E84 .extern FUN_02249E90 .extern FUN_0224A310 -.extern FUN_0224A310 -.extern FUN_0224A528 .extern FUN_0224A528 .extern FUN_0224A7C8 .extern FUN_0224ABAC .extern FUN_0224B124 -.extern FUN_0224B124 .extern FUN_0224B2C4 -.extern FUN_0224B2C4 -.extern FUN_0224B568 .extern FUN_0224B568 .extern FUN_0224B818 -.extern FUN_0224B818 -.extern FUN_0224B818 .extern FUN_0224B86C .extern FUN_0224B9E0 .extern FUN_0224BBEC .extern FUN_0224BD90 -.extern FUN_0224BD90 -.extern FUN_0224C038 .extern FUN_0224C038 +.extern FUN_0224C27C +.extern FUN_0224C520 .extern FUN_0224C678 .extern FUN_0224C6E8 +.extern FUN_0224C6F4 .extern FUN_0224C700 .extern FUN_0224C8C8 .extern FUN_0224CA2C .extern FUN_0224CA54 .extern FUN_0224CA58 .extern FUN_0224CA88 +.extern FUN_0224CA94 +.extern FUN_0224CAA0 +.extern FUN_0224CAB4 .extern FUN_0224CB30 +.extern FUN_0224CBB0 +.extern FUN_0224CC24 .extern FUN_0224CECC -.extern FUN_0224CECC +.extern FUN_0224D14C .extern FUN_0224D2E0 .extern FUN_0224D3E8 .extern FUN_0224D70C .extern FUN_0224D76C .extern FUN_0224D79C .extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 -.extern FUN_0224DCB8 .extern FUN_0224DD94 .extern FUN_0224DDB8 -.extern FUN_0224DDB8 .extern FUN_0224E554 .extern FUN_0224E764 .extern FUN_0224E7C4 .extern FUN_0224F12C -.extern FUN_0224F12C -.extern FUN_0224F12C .extern FUN_02252534 .extern FUN_02252538 .extern FUN_022567E0 -.extern FUN_02002C14 -.extern FUN_02002C50 -.extern FUN_02002C50 -.extern FUN_02002C50 -.extern FUN_02003B98 -.extern FUN_02003C10 -.extern FUN_0200A2AC -.extern FUN_0200A318 -.extern FUN_0200E2D8 -.extern FUN_0201259C -.extern FUN_020125D4 -.extern FUN_02015E30 -.extern FUN_02015E60 -.extern FUN_02016014 -.extern FUN_02016148 -.extern FUN_020163BC -.extern FUN_02016438 -.extern FUN_02016464 -.extern FUN_0201B5CC -.extern FUN_02020AFC -.extern FUN_02020C2C -.extern FUN_02022294 -.extern FUN_020222C4 -.extern FUN_0202254C -.extern FUN_020227FC -.extern FUN_02023900 -.extern FUN_02029EF8 -.extern FUN_0202FB80 -.extern FUN_020337E8 -.extern FUN_02034188 -.extern FUN_02089D90 +.extern NitroMain \ No newline at end of file diff --git a/undefined_syms.txt b/undefined_syms.txt index 4013a244..43538862 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -1,18 +1,13 @@ -gUnknown2106FA0 = 0x2106FA0; -FUN_0200019E = 0x0200019E; FUN_0200019E = 0x0200019E; FUN_02000DF4 = 0x02000DF4; FUN_02000E0C = 0x02000E0C; FUN_02000E7C = 0x02000E7C; -FUN_02000E7C = 0x02000E7C; FUN_02000EE8 = 0x02000EE8; FUN_02000F18 = 0x02000F18; FUN_02000FA4 = 0x02000FA4; FUN_02000FE8 = 0x02000FE8; FUN_02002C14 = 0x02002C14; FUN_02002C50 = 0x02002C50; -FUN_02002C50 = 0x02002C50; -FUN_02002C50 = 0x02002C50; FUN_02003B98 = 0x02003B98; FUN_02003C10 = 0x02003C10; FUN_0200A2AC = 0x0200A2AC; @@ -48,429 +43,120 @@ FUN_0208B05C = 0x0208B05C; FUN_0208B128 = 0x0208B128; FUN_0208B4A0 = 0x0208B4A0; FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090CC8 = 0x02090CC8; -FUN_02090DB8 = 0x02090DB8; -FUN_02090DB8 = 0x02090DB8; -FUN_02090DB8 = 0x02090DB8; -FUN_02090DB8 = 0x02090DB8; -FUN_02090DB8 = 0x02090DB8; -FUN_02090DB8 = 0x02090DB8; FUN_02090DB8 = 0x02090DB8; FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B14 = 0x02096B14; -FUN_02096B78 = 0x02096B78; -FUN_02096B78 = 0x02096B78; FUN_02096B78 = 0x02096B78; -FUN_02096B78 = 0x02096B78; -FUN_02096B78 = 0x02096B78; -FUN_02096B78 = 0x02096B78; -FUN_02096B78 = 0x02096B78; -FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; -FUN_02096CCC = 0x02096CCC; -FUN_02096D2C = 0x02096D2C; -FUN_02096D2C = 0x02096D2C; -FUN_02096D2C = 0x02096D2C; -FUN_02096D2C = 0x02096D2C; -FUN_02096D2C = 0x02096D2C; FUN_02096D2C = 0x02096D2C; -FUN_02096D2C = 0x02096D2C; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096DA0 = 0x02096DA0; -FUN_02096E90 = 0x02096E90; -FUN_02096E90 = 0x02096E90; -FUN_02096E90 = 0x02096E90; FUN_02096E90 = 0x02096E90; -FUN_02096E90 = 0x02096E90; -FUN_02096E90 = 0x02096E90; -FUN_02096E90 = 0x02096E90; -FUN_02096F18 = 0x02096F18; -FUN_02096F18 = 0x02096F18; -FUN_02096F18 = 0x02096F18; -FUN_02096F18 = 0x02096F18; -FUN_02096F18 = 0x02096F18; FUN_02096F18 = 0x02096F18; -FUN_02096F18 = 0x02096F18; -FUN_02096F80 = 0x02096F80; -FUN_02096F80 = 0x02096F80; -FUN_02096F80 = 0x02096F80; FUN_02096F80 = 0x02096F80; -FUN_02096F80 = 0x02096F80; -FUN_02096F80 = 0x02096F80; -FUN_02096F80 = 0x02096F80; -FUN_02096FB0 = 0x02096FB0; FUN_02096FB0 = 0x02096FB0; -FUN_02096FB0 = 0x02096FB0; -FUN_02096FB0 = 0x02096FB0; -FUN_02096FB0 = 0x02096FB0; -FUN_02096FB0 = 0x02096FB0; -FUN_02096FB0 = 0x02096FB0; -FUN_02096FF4 = 0x02096FF4; -FUN_02096FF4 = 0x02096FF4; -FUN_02096FF4 = 0x02096FF4; FUN_02096FF4 = 0x02096FF4; -FUN_02096FF4 = 0x02096FF4; -FUN_02096FF4 = 0x02096FF4; -FUN_02096FF4 = 0x02096FF4; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_0209700C = 0x0209700C; -FUN_020973B4 = 0x020973B4; -FUN_020973B4 = 0x020973B4; -FUN_020973B4 = 0x020973B4; -FUN_020973B4 = 0x020973B4; -FUN_020973B4 = 0x020973B4; -FUN_020973B4 = 0x020973B4; FUN_020973B4 = 0x020973B4; FUN_020ADDC0 = 0x020ADDC0; FUN_020ADDC8 = 0x020ADDC8; FUN_020ADDF0 = 0x020ADDF0; -FUN_020ADDF0 = 0x020ADDF0; -FUN_020ADDF0 = 0x020ADDF0; FUN_020ADE2C = 0x020ADE2C; FUN_020ADFA0 = 0x020ADFA0; -FUN_020ADFA0 = 0x020ADFA0; FUN_020ADFDC = 0x020ADFDC; FUN_020ADFE8 = 0x020ADFE8; -FUN_020ADFE8 = 0x020ADFE8; FUN_020AE82C = 0x020AE82C; FUN_020AE8CC = 0x020AE8CC; FUN_020AE918 = 0x020AE918; FUN_020AEB70 = 0x020AEB70; -FUN_020AEB70 = 0x020AEB70; -FUN_020AEB70 = 0x020AEB70; FUN_020AEC7C = 0x020AEC7C; FUN_020AEC98 = 0x020AEC98; FUN_020AEE40 = 0x020AEE40; -FUN_020AEE40 = 0x020AEE40; -FUN_020AEEB8 = 0x020AEEB8; FUN_020AEEB8 = 0x020AEEB8; FUN_020AEF1C = 0x020AEF1C; -FUN_020AEF1C = 0x020AEF1C; FUN_020AF894 = 0x020AF894; FUN_020AF9C4 = 0x020AF9C4; -FUN_020AF9C4 = 0x020AF9C4; -FUN_020AFA28 = 0x020AFA28; FUN_020AFA28 = 0x020AFA28; FUN_020AFA80 = 0x020AFA80; FUN_020AFBA8 = 0x020AFBA8; -FUN_020AFBA8 = 0x020AFBA8; FUN_020AFBFC = 0x020AFBFC; -FUN_020AFBFC = 0x020AFBFC; -FUN_020AFC04 = 0x020AFC04; -FUN_020AFC04 = 0x020AFC04; -FUN_020AFC04 = 0x020AFC04; -FUN_020AFC04 = 0x020AFC04; -FUN_020AFC04 = 0x020AFC04; FUN_020AFC04 = 0x020AFC04; FUN_020AFD88 = 0x020AFD88; FUN_020AFD94 = 0x020AFD94; -FUN_020AFD94 = 0x020AFD94; -FUN_020AFD94 = 0x020AFD94; -FUN_020AFD94 = 0x020AFD94; -FUN_020AFEB8 = 0x020AFEB8; FUN_020AFEB8 = 0x020AFEB8; FUN_020AFFD8 = 0x020AFFD8; FUN_020B0030 = 0x020B0030; -FUN_020B0030 = 0x020B0030; -FUN_020B0030 = 0x020B0030; -FUN_020B0030 = 0x020B0030; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; -FUN_020B0088 = 0x020B0088; FUN_020B0088 = 0x020B0088; FUN_020B00F0 = 0x020B00F0; FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0138 = 0x020B0138; -FUN_020B0180 = 0x020B0180; -FUN_020B0180 = 0x020B0180; -FUN_020B0180 = 0x020B0180; FUN_020B0180 = 0x020B0180; -FUN_020B0180 = 0x020B0180; -FUN_020B0180 = 0x020B0180; -FUN_020B0180 = 0x020B0180; -FUN_020B0250 = 0x020B0250; -FUN_020B0250 = 0x020B0250; -FUN_020B0250 = 0x020B0250; FUN_020B0250 = 0x020B0250; FUN_020B02C8 = 0x020B02C8; -FUN_020B02C8 = 0x020B02C8; -FUN_020B0448 = 0x020B0448; FUN_020B0448 = 0x020B0448; -FUN_020B0448 = 0x020B0448; -FUN_020B0870 = 0x020B0870; FUN_020B0870 = 0x020B0870; FUN_020B0BB0 = 0x020B0BB0; -FUN_020B0BB0 = 0x020B0BB0; -FUN_020B0C7C = 0x020B0C7C; FUN_020B0C7C = 0x020B0C7C; FUN_020B0E34 = 0x020B0E34; -FUN_020B0E34 = 0x020B0E34; -FUN_020B0FC0 = 0x020B0FC0; -FUN_020B0FC0 = 0x020B0FC0; FUN_020B0FC0 = 0x020B0FC0; FUN_020B10E8 = 0x020B10E8; FUN_020B1240 = 0x020B1240; -FUN_020B1240 = 0x020B1240; -FUN_020B1240 = 0x020B1240; -FUN_020B1240 = 0x020B1240; -FUN_020B1240 = 0x020B1240; -FUN_020B1240 = 0x020B1240; FUN_020B1340 = 0x020B1340; -FUN_020B1340 = 0x020B1340; -FUN_020B1528 = 0x020B1528; -FUN_020B1528 = 0x020B1528; -FUN_020B1528 = 0x020B1528; FUN_020B1528 = 0x020B1528; FUN_020B1768 = 0x020B1768; -FUN_020B1768 = 0x020B1768; -FUN_020B19C4 = 0x020B19C4; -FUN_020B19C4 = 0x020B19C4; -FUN_020B19C4 = 0x020B19C4; FUN_020B19C4 = 0x020B19C4; -FUN_020B19C4 = 0x020B19C4; -FUN_020B19C4 = 0x020B19C4; -FUN_020B19DC = 0x020B19DC; -FUN_020B19DC = 0x020B19DC; FUN_020B19DC = 0x020B19DC; -FUN_020B19DC = 0x020B19DC; -FUN_020B19DC = 0x020B19DC; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A14 = 0x020B1A14; -FUN_020B1A24 = 0x020B1A24; -FUN_020B1A24 = 0x020B1A24; -FUN_020B1A24 = 0x020B1A24; -FUN_020B1A24 = 0x020B1A24; -FUN_020B1A24 = 0x020B1A24; FUN_020B1A24 = 0x020B1A24; FUN_020B1EA4 = 0x020B1EA4; -FUN_020B1EA4 = 0x020B1EA4; -FUN_020B1EC4 = 0x020B1EC4; FUN_020B1EC4 = 0x020B1EC4; FUN_020B1EE4 = 0x020B1EE4; -FUN_020B1EE4 = 0x020B1EE4; -FUN_020B1EFC = 0x020B1EFC; FUN_020B1EFC = 0x020B1EFC; FUN_020B1F80 = 0x020B1F80; -FUN_020B1F80 = 0x020B1F80; -FUN_020B20C8 = 0x020B20C8; FUN_020B20C8 = 0x020B20C8; FUN_020B2194 = 0x020B2194; -FUN_020B2194 = 0x020B2194; -FUN_020B224C = 0x020B224C; FUN_020B224C = 0x020B224C; FUN_020B23D8 = 0x020B23D8; -FUN_020B23D8 = 0x020B23D8; -FUN_020B242C = 0x020B242C; FUN_020B242C = 0x020B242C; -FUN_020B242C = 0x020B242C; -FUN_020B2780 = 0x020B2780; FUN_020B2780 = 0x020B2780; FUN_020B2794 = 0x020B2794; -FUN_020B2794 = 0x020B2794; -FUN_020B28B4 = 0x020B28B4; FUN_020B28B4 = 0x020B28B4; FUN_020B2A08 = 0x020B2A08; -FUN_020B2A08 = 0x020B2A08; -FUN_020B2A08 = 0x020B2A08; -FUN_020B2A08 = 0x020B2A08; -FUN_020B2B08 = 0x020B2B08; FUN_020B2B08 = 0x020B2B08; FUN_020B2B58 = 0x020B2B58; -FUN_020B2B58 = 0x020B2B58; -FUN_020B2D9C = 0x020B2D9C; FUN_020B2D9C = 0x020B2D9C; FUN_020B317C = 0x020B317C; -FUN_020B317C = 0x020B317C; -FUN_020B31F0 = 0x020B31F0; FUN_020B31F0 = 0x020B31F0; FUN_020B326C = 0x020B326C; -FUN_020B326C = 0x020B326C; -FUN_020B3334 = 0x020B3334; FUN_020B3334 = 0x020B3334; FUN_020B3390 = 0x020B3390; -FUN_020B3390 = 0x020B3390; -FUN_020B33A0 = 0x020B33A0; FUN_020B33A0 = 0x020B33A0; FUN_020B4358 = 0x020B4358; -FUN_020B4358 = 0x020B4358; -FUN_020B43A4 = 0x020B43A4; FUN_020B43A4 = 0x020B43A4; FUN_020B442C = 0x020B442C; -FUN_020B442C = 0x020B442C; -FUN_020B4568 = 0x020B4568; FUN_020B4568 = 0x020B4568; FUN_020B4F38 = 0x020B4F38; -FUN_020B4F38 = 0x020B4F38; -FUN_020B4F38 = 0x020B4F38; -FUN_020B4F38 = 0x020B4F38; -FUN_020B502C = 0x020B502C; FUN_020B502C = 0x020B502C; -FUN_020B502C = 0x020B502C; -FUN_020B772C = 0x020B772C; FUN_020B772C = 0x020B772C; FUN_020B7790 = 0x020B7790; -FUN_020B7790 = 0x020B7790; -FUN_020B7790 = 0x020B7790; FUN_020B7C58 = 0x020B7C58; -FUN_020B7C58 = 0x020B7C58; -FUN_020B7C58 = 0x020B7C58; -FUN_020B7C78 = 0x020B7C78; -FUN_020B7C78 = 0x020B7C78; FUN_020B7C78 = 0x020B7C78; FUN_020B7CDC = 0x020B7CDC; -FUN_020B7CDC = 0x020B7CDC; -FUN_020B7CDC = 0x020B7CDC; -FUN_020B7CDC = 0x020B7CDC; -FUN_020B7CE4 = 0x020B7CE4; -FUN_020B7CE4 = 0x020B7CE4; -FUN_020B7CE4 = 0x020B7CE4; -FUN_020B7CE4 = 0x020B7CE4; -FUN_020B7CE4 = 0x020B7CE4; FUN_020B7CE4 = 0x020B7CE4; FUN_020B7CF0 = 0x020B7CF0; -FUN_020B7CF0 = 0x020B7CF0; -FUN_020B7CF0 = 0x020B7CF0; -FUN_020B7D28 = 0x020B7D28; -FUN_020B7D28 = 0x020B7D28; FUN_020B7D28 = 0x020B7D28; FUN_020B7DFC = 0x020B7DFC; -FUN_020B7DFC = 0x020B7DFC; -FUN_020B7DFC = 0x020B7DFC; -FUN_020B7DFC = 0x020B7DFC; -FUN_020B7E10 = 0x020B7E10; -FUN_020B7E10 = 0x020B7E10; -FUN_020B7E10 = 0x020B7E10; -FUN_020B7E10 = 0x020B7E10; -FUN_020B7E10 = 0x020B7E10; FUN_020B7E10 = 0x020B7E10; FUN_020B7E1C = 0x020B7E1C; -FUN_020B7E1C = 0x020B7E1C; -FUN_020B7E1C = 0x020B7E1C; -FUN_020B7E1C = 0x020B7E1C; -FUN_020B7E1C = 0x020B7E1C; -FUN_020B7E1C = 0x020B7E1C; -FUN_020B80B4 = 0x020B80B4; -FUN_020B80B4 = 0x020B80B4; -FUN_020B80B4 = 0x020B80B4; FUN_020B80B4 = 0x020B80B4; -FUN_020B80B4 = 0x020B80B4; -FUN_020B844C = 0x020B844C; -FUN_020B844C = 0x020B844C; -FUN_020B844C = 0x020B844C; FUN_020B844C = 0x020B844C; FUN_020B8474 = 0x020B8474; -FUN_020B8474 = 0x020B8474; -FUN_020B8474 = 0x020B8474; -FUN_020B8474 = 0x020B8474; -FUN_020B8474 = 0x020B8474; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; -FUN_020B849C = 0x020B849C; FUN_020B849C = 0x020B849C; FUN_020BAC98 = 0x020BAC98; -FUN_020BAC98 = 0x020BAC98; -FUN_020BAFB8 = 0x020BAFB8; FUN_020BAFB8 = 0x020BAFB8; FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB1C0 = 0x020BB1C0; -FUN_020BB394 = 0x020BB394; -FUN_020BB394 = 0x020BB394; -FUN_020BB394 = 0x020BB394; -FUN_020BB394 = 0x020BB394; FUN_020BB394 = 0x020BB394; FUN_020BB59C = 0x020BB59C; -FUN_020BB59C = 0x020BB59C; -FUN_020BB59C = 0x020BB59C; -FUN_020BB7F4 = 0x020BB7F4; -FUN_020BB7F4 = 0x020BB7F4; FUN_020BB7F4 = 0x020BB7F4; FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC0FC = 0x020BC0FC; -FUN_020BC13C = 0x020BC13C; -FUN_020BC13C = 0x020BC13C; FUN_020BC13C = 0x020BC13C; -FUN_020BC13C = 0x020BC13C; -FUN_020BC13C = 0x020BC13C; -FUN_020BC13C = 0x020BC13C; -FUN_020BC2A0 = 0x020BC2A0; -FUN_020BC2A0 = 0x020BC2A0; FUN_020BC2A0 = 0x020BC2A0; FUN_020C0174 = 0x020C0174; FUN_020C01A0 = 0x020C01A0; @@ -479,58 +165,38 @@ FUN_020C03B8 = 0x020C03B8; FUN_020C041C = 0x020C041C; FUN_020C044C = 0x020C044C; FUN_020C04DC = 0x020C04DC; -FUN_020C04DC = 0x020C04DC; FUN_020C0510 = 0x020C0510; FUN_020C054C = 0x020C054C; FUN_020C0670 = 0x020C0670; -FUN_020C0670 = 0x020C0670; -FUN_020C0688 = 0x020C0688; FUN_020C0688 = 0x020C0688; FUN_020C0DD4 = 0x020C0DD4; FUN_020C0E14 = 0x020C0E14; -FUN_020C0E14 = 0x020C0E14; -FUN_020C0E7C = 0x020C0E7C; -FUN_020C0E7C = 0x020C0E7C; FUN_020C0E7C = 0x020C0E7C; FUN_020C0EA4 = 0x020C0EA4; FUN_020C0EF4 = 0x020C0EF4; FUN_020C0F30 = 0x020C0F30; FUN_020C0F50 = 0x020C0F50; FUN_020C0F68 = 0x020C0F68; -FUN_020C0F68 = 0x020C0F68; FUN_020C0F80 = 0x020C0F80; FUN_020C0F8C = 0x020C0F8C; FUN_020C0F9C = 0x020C0F9C; FUN_020C0FDC = 0x020C0FDC; -FUN_020C0FDC = 0x020C0FDC; FUN_020C1040 = 0x020C1040; FUN_020C10A4 = 0x020C10A4; -FUN_020C10A4 = 0x020C10A4; -FUN_020C10A4 = 0x020C10A4; -FUN_020C10A4 = 0x020C10A4; -FUN_020C10A4 = 0x020C10A4; FUN_020C1148 = 0x020C1148; FUN_020C1180 = 0x020C1180; -FUN_020C1180 = 0x020C1180; FUN_020C1E58 = 0x020C1E58; -FUN_020C1E58 = 0x020C1E58; -FUN_020C1E68 = 0x020C1E68; FUN_020C1E68 = 0x020C1E68; FUN_020C1EA4 = 0x020C1EA4; FUN_020C1F54 = 0x020C1F54; -FUN_020C1F54 = 0x020C1F54; -FUN_020C1FA4 = 0x020C1FA4; FUN_020C1FA4 = 0x020C1FA4; FUN_020C1FF0 = 0x020C1FF0; FUN_020C20DC = 0x020C20DC; FUN_020C2104 = 0x020C2104; FUN_020C217C = 0x020C217C; FUN_020C226C = 0x020C226C; -FUN_020C226C = 0x020C226C; FUN_020C22D0 = 0x020C22D0; FUN_020C23FC = 0x020C23FC; -FUN_020C23FC = 0x020C23FC; -FUN_020C23FC = 0x020C23FC; FUN_020C26F8 = 0x020C26F8; FUN_020C2828 = 0x020C2828; FUN_020C290C = 0x020C290C; @@ -541,2423 +207,699 @@ FUN_020C3640 = 0x020C3640; FUN_020C3674 = 0x020C3674; FUN_020C36A8 = 0x020C36A8; FUN_020C3910 = 0x020C3910; -FUN_020C3910 = 0x020C3910; -FUN_020C3910 = 0x020C3910; -FUN_020C3910 = 0x020C3910; -FUN_020C3980 = 0x020C3980; -FUN_020C3980 = 0x020C3980; -FUN_020C3980 = 0x020C3980; -FUN_020C3980 = 0x020C3980; FUN_020C3980 = 0x020C3980; FUN_020C39CC = 0x020C39CC; FUN_020C3EA4 = 0x020C3EA4; -FUN_020C3EA4 = 0x020C3EA4; -FUN_020C3EB0 = 0x020C3EB0; FUN_020C3EB0 = 0x020C3EB0; FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F14 = 0x020C3F14; -FUN_020C3F38 = 0x020C3F38; FUN_020C3F38 = 0x020C3F38; -FUN_020C3F38 = 0x020C3F38; -FUN_020C3F54 = 0x020C3F54; FUN_020C3F54 = 0x020C3F54; -FUN_020C3F54 = 0x020C3F54; -FUN_020C3F70 = 0x020C3F70; FUN_020C3F70 = 0x020C3F70; -FUN_020C3F70 = 0x020C3F70; -FUN_020C400C = 0x020C400C; FUN_020C400C = 0x020C400C; -FUN_020C400C = 0x020C400C; -FUN_020C400C = 0x020C400C; -FUN_020C400C = 0x020C400C; -FUN_020C504C = 0x020C504C; FUN_020C504C = 0x020C504C; -FUN_020C504C = 0x020C504C; -FUN_020C50B8 = 0x020C50B8; -FUN_020C50B8 = 0x020C50B8; -FUN_020C50B8 = 0x020C50B8; FUN_020C50B8 = 0x020C50B8; FUN_020C5288 = 0x020C5288; -FUN_020C5288 = 0x020C5288; -FUN_020C5288 = 0x020C5288; -FUN_020C5288 = 0x020C5288; -FUN_020C53C8 = 0x020C53C8; FUN_020C53C8 = 0x020C53C8; FUN_020C5588 = 0x020C5588; -FUN_020C5588 = 0x020C5588; -FUN_020C5600 = 0x020C5600; -FUN_020C5600 = 0x020C5600; -FUN_020C5600 = 0x020C5600; FUN_020C5600 = 0x020C5600; FUN_020C5634 = 0x020C5634; -FUN_020C5634 = 0x020C5634; -FUN_020C5634 = 0x020C5634; -FUN_020C5634 = 0x020C5634; -FUN_020C5634 = 0x020C5634; -FUN_020C5668 = 0x020C5668; FUN_020C5668 = 0x020C5668; FUN_020C5974 = 0x020C5974; FUN_020C5978 = 0x020C5978; -FUN_020C5978 = 0x020C5978; FUN_020C59A4 = 0x020C59A4; -FUN_020C59A4 = 0x020C59A4; -FUN_020C59C0 = 0x020C59C0; FUN_020C59C0 = 0x020C59C0; FUN_020C5A34 = 0x020C5A34; -FUN_020C5A34 = 0x020C5A34; FUN_020C5A80 = 0x020C5A80; FUN_020C5AC8 = 0x020C5AC8; FUN_020C5AF8 = 0x020C5AF8; -FUN_020C5AF8 = 0x020C5AF8; FUN_020C5B28 = 0x020C5B28; FUN_020C5D2C = 0x020C5D2C; -FUN_020C5D2C = 0x020C5D2C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; -FUN_020C5D4C = 0x020C5D4C; FUN_020C5D4C = 0x020C5D4C; FUN_020C5D9C = 0x020C5D9C; -FUN_020C5D9C = 0x020C5D9C; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; -FUN_020C5DBC = 0x020C5DBC; FUN_020C5DBC = 0x020C5DBC; FUN_020C5E54 = 0x020C5E54; FUN_020C600C = 0x020C600C; -FUN_020C600C = 0x020C600C; -FUN_020C6034 = 0x020C6034; FUN_020C6034 = 0x020C6034; FUN_020C605C = 0x020C605C; -FUN_020C605C = 0x020C605C; -FUN_020C6070 = 0x020C6070; FUN_020C6070 = 0x020C6070; FUN_020C6098 = 0x020C6098; -FUN_020C6098 = 0x020C6098; -FUN_020C60AC = 0x020C60AC; FUN_020C60AC = 0x020C60AC; FUN_020C60C0 = 0x020C60C0; -FUN_020C60C0 = 0x020C60C0; -FUN_020C60E4 = 0x020C60E4; FUN_020C60E4 = 0x020C60E4; FUN_020C6108 = 0x020C6108; -FUN_020C6108 = 0x020C6108; -FUN_020C611C = 0x020C611C; FUN_020C611C = 0x020C611C; FUN_020C6168 = 0x020C6168; -FUN_020C6168 = 0x020C6168; -FUN_020C61F4 = 0x020C61F4; FUN_020C61F4 = 0x020C61F4; FUN_020C6280 = 0x020C6280; -FUN_020C6280 = 0x020C6280; -FUN_020C62FC = 0x020C62FC; FUN_020C62FC = 0x020C62FC; FUN_020C63A8 = 0x020C63A8; FUN_020C65C0 = 0x020C65C0; -FUN_020C65C0 = 0x020C65C0; -FUN_020C66B4 = 0x020C66B4; FUN_020C66B4 = 0x020C66B4; FUN_020C68B8 = 0x020C68B8; -FUN_020C68B8 = 0x020C68B8; -FUN_020C6970 = 0x020C6970; FUN_020C6970 = 0x020C6970; FUN_020C6A84 = 0x020C6A84; -FUN_020C6A84 = 0x020C6A84; -FUN_020C6BF0 = 0x020C6BF0; FUN_020C6BF0 = 0x020C6BF0; +FUN_020C6F60 = 0x020C6F60; +FUN_020C6FB0 = 0x020C6FB0; +FUN_020C7010 = 0x020C7010; +FUN_020C7058 = 0x020C7058; +FUN_020C70B0 = 0x020C70B0; +FUN_020C70D0 = 0x020C70D0; +FUN_020C7104 = 0x020C7104; FUN_020C7124 = 0x020C7124; -FUN_020C7124 = 0x020C7124; -FUN_020C74B8 = 0x020C74B8; -FUN_020C74B8 = 0x020C74B8; -FUN_020C74B8 = 0x020C74B8; FUN_020C74B8 = 0x020C74B8; -FUN_020C74B8 = 0x020C74B8; -FUN_020C74B8 = 0x020C74B8; -FUN_020C74DC = 0x020C74DC; -FUN_020C74DC = 0x020C74DC; FUN_020C74DC = 0x020C74DC; -FUN_020C74DC = 0x020C74DC; -FUN_020C74DC = 0x020C74DC; -FUN_020C74DC = 0x020C74DC; -FUN_020C74DC = 0x020C74DC; -FUN_020C74F8 = 0x020C74F8; -FUN_020C74F8 = 0x020C74F8; -FUN_020C74F8 = 0x020C74F8; -FUN_020C74F8 = 0x020C74F8; FUN_020C74F8 = 0x020C74F8; -FUN_020C74F8 = 0x020C74F8; -FUN_020C7A14 = 0x020C7A14; FUN_020C7A14 = 0x020C7A14; FUN_020C7B3C = 0x020C7B3C; -FUN_020C7B3C = 0x020C7B3C; -FUN_020C7B3C = 0x020C7B3C; -FUN_020C7B3C = 0x020C7B3C; -FUN_020C7B3C = 0x020C7B3C; -FUN_020C7B3C = 0x020C7B3C; -FUN_020C7C28 = 0x020C7C28; -FUN_020C7C28 = 0x020C7C28; -FUN_020C7C28 = 0x020C7C28; -FUN_020C7C28 = 0x020C7C28; -FUN_020C7C28 = 0x020C7C28; FUN_020C7C28 = 0x020C7C28; FUN_020C7D28 = 0x020C7D28; -FUN_020C7D28 = 0x020C7D28; -FUN_020C7D28 = 0x020C7D28; FUN_020C7E0C = 0x020C7E0C; -FUN_020C7E0C = 0x020C7E0C; -FUN_020C7E94 = 0x020C7E94; FUN_020C7E94 = 0x020C7E94; FUN_020C7FF0 = 0x020C7FF0; -FUN_020C7FF0 = 0x020C7FF0; FUN_020C802C = 0x020C802C; FUN_020C8068 = 0x020C8068; FUN_020C80A4 = 0x020C80A4; -FUN_020C80A4 = 0x020C80A4; FUN_020C823C = 0x020C823C; -FUN_020C823C = 0x020C823C; -FUN_020C8538 = 0x020C8538; FUN_020C8538 = 0x020C8538; +FUN_020C8728 = 0x020C8728; +FUN_020C8774 = 0x020C8774; +FUN_020C87E8 = 0x020C87E8; +FUN_020C880C = 0x020C880C; +FUN_020C8858 = 0x020C8858; +FUN_020C88CC = 0x020C88CC; +FUN_020C88F0 = 0x020C88F0; +FUN_020C8948 = 0x020C8948; +FUN_020C89BC = 0x020C89BC; FUN_020C8A2C = 0x020C8A2C; +FUN_020C8A90 = 0x020C8A90; FUN_020C8B10 = 0x020C8B10; +FUN_020C8C14 = 0x020C8C14; +FUN_020C8C7C = 0x020C8C7C; +FUN_020C8CE4 = 0x020C8CE4; +FUN_020C8D4C = 0x020C8D4C; +FUN_020C8DB4 = 0x020C8DB4; +FUN_020C8E1C = 0x020C8E1C; +FUN_020C8E84 = 0x020C8E84; FUN_020C8EEC = 0x020C8EEC; -FUN_020C8EEC = 0x020C8EEC; -FUN_020C922C = 0x020C922C; +FUN_020C8F54 = 0x020C8F54; +FUN_020C8FBC = 0x020C8FBC; +FUN_020C9024 = 0x020C9024; +FUN_020C908C = 0x020C908C; +FUN_020C90F4 = 0x020C90F4; +FUN_020C915C = 0x020C915C; +FUN_020C91C4 = 0x020C91C4; FUN_020C922C = 0x020C922C; FUN_020C9294 = 0x020C9294; -FUN_020C9294 = 0x020C9294; -FUN_020C9294 = 0x020C9294; -FUN_020C9294 = 0x020C9294; -FUN_020C9294 = 0x020C9294; -FUN_020C92F4 = 0x020C92F4; -FUN_020C92F4 = 0x020C92F4; -FUN_020C92F4 = 0x020C92F4; -FUN_020C92F4 = 0x020C92F4; FUN_020C92F4 = 0x020C92F4; FUN_020C9354 = 0x020C9354; -FUN_020C9354 = 0x020C9354; -FUN_020C93BC = 0x020C93BC; FUN_020C93BC = 0x020C93BC; FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9418 = 0x020C9418; -FUN_020C9480 = 0x020C9480; -FUN_020C9480 = 0x020C9480; FUN_020C9480 = 0x020C9480; -FUN_020C9480 = 0x020C9480; -FUN_020C9480 = 0x020C9480; -FUN_020C94E8 = 0x020C94E8; -FUN_020C94E8 = 0x020C94E8; FUN_020C94E8 = 0x020C94E8; -FUN_020C94E8 = 0x020C94E8; -FUN_020C94E8 = 0x020C94E8; -FUN_020C9550 = 0x020C9550; -FUN_020C9550 = 0x020C9550; FUN_020C9550 = 0x020C9550; -FUN_020C9550 = 0x020C9550; -FUN_020C9550 = 0x020C9550; -FUN_020C9550 = 0x020C9550; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9C0C = 0x020C9C0C; -FUN_020C9E14 = 0x020C9E14; -FUN_020C9E14 = 0x020C9E14; -FUN_020C9E14 = 0x020C9E14; -FUN_020C9E14 = 0x020C9E14; FUN_020C9E14 = 0x020C9E14; FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9E5C = 0x020C9E5C; -FUN_020C9FEC = 0x020C9FEC; FUN_020C9FEC = 0x020C9FEC; -FUN_020C9FEC = 0x020C9FEC; -FUN_020C9FEC = 0x020C9FEC; -FUN_020C9FEC = 0x020C9FEC; -FUN_020C9FEC = 0x020C9FEC; -FUN_020C9FEC = 0x020C9FEC; -FUN_020CA0A0 = 0x020CA0A0; -FUN_020CA0A0 = 0x020CA0A0; -FUN_020CA0A0 = 0x020CA0A0; FUN_020CA0A0 = 0x020CA0A0; FUN_020CA0F8 = 0x020CA0F8; -FUN_020CA0F8 = 0x020CA0F8; -FUN_020CA0F8 = 0x020CA0F8; -FUN_020CA0F8 = 0x020CA0F8; -FUN_020CA0F8 = 0x020CA0F8; FUN_020CC124 = 0x020CC124; -FUN_020CC124 = 0x020CC124; -FUN_020CC124 = 0x020CC124; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC15C = 0x020CC15C; -FUN_020CC180 = 0x020CC180; -FUN_020CC180 = 0x020CC180; -FUN_020CC180 = 0x020CC180; -FUN_020CC180 = 0x020CC180; -FUN_020CC180 = 0x020CC180; -FUN_020CC180 = 0x020CC180; FUN_020CC180 = 0x020CC180; FUN_020CC1B4 = 0x020CC1B4; FUN_020CC204 = 0x020CC204; FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; -FUN_020CC26C = 0x020CC26C; FUN_020CC2F4 = 0x020CC2F4; -FUN_020CC2F4 = 0x020CC2F4; -FUN_020CC308 = 0x020CC308; FUN_020CC308 = 0x020CC308; FUN_020CC31C = 0x020CC31C; -FUN_020CC31C = 0x020CC31C; -FUN_020CC408 = 0x020CC408; FUN_020CC408 = 0x020CC408; +FUN_020CCC1C = 0x020CCC1C; FUN_020CCD64 = 0x020CCD64; FUN_020CD310 = 0x020CD310; -FUN_020CD310 = 0x020CD310; -FUN_020CD310 = 0x020CD310; -FUN_020CD310 = 0x020CD310; -FUN_020CD324 = 0x020CD324; -FUN_020CD324 = 0x020CD324; -FUN_020CD324 = 0x020CD324; FUN_020CD324 = 0x020CD324; FUN_020CD374 = 0x020CD374; -FUN_020CD374 = 0x020CD374; -FUN_020CD374 = 0x020CD374; -FUN_020CD374 = 0x020CD374; -FUN_020CD374 = 0x020CD374; -FUN_020CD374 = 0x020CD374; -FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD3B4 = 0x020CD3B4; FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD3B4 = 0x020CD3B4; -FUN_020CD510 = 0x020CD510; FUN_020CD510 = 0x020CD510; -FUN_020CD510 = 0x020CD510; -FUN_020CD510 = 0x020CD510; -FUN_020CD510 = 0x020CD510; -FUN_020CD524 = 0x020CD524; FUN_020CD524 = 0x020CD524; FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; -FUN_020CD5A0 = 0x020CD5A0; FUN_020CD754 = 0x020CD754; FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; -FUN_020CD850 = 0x020CD850; FUN_020CD998 = 0x020CD998; FUN_020CDA1C = 0x020CDA1C; -FUN_020CDA1C = 0x020CDA1C; -FUN_020CDA1C = 0x020CDA1C; FUN_020CDD90 = 0x020CDD90; FUN_020CDE04 = 0x020CDE04; FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1C8 = 0x020CE1C8; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1E0 = 0x020CE1E0; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE1FC = 0x020CE1FC; -FUN_020CE210 = 0x020CE210; -FUN_020CE210 = 0x020CE210; -FUN_020CE210 = 0x020CE210; FUN_020CE210 = 0x020CE210; -FUN_020CE210 = 0x020CE210; -FUN_020CE210 = 0x020CE210; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE240 = 0x020CE240; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; -FUN_020CE28C = 0x020CE28C; FUN_020CE28C = 0x020CE28C; FUN_020CE2E0 = 0x020CE2E0; -FUN_020CE2E0 = 0x020CE2E0; -FUN_020CE2E0 = 0x020CE2E0; -FUN_020CE2E0 = 0x020CE2E0; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE34C = 0x020CE34C; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE3E0 = 0x020CE3E0; -FUN_020CE528 = 0x020CE528; -FUN_020CE528 = 0x020CE528; -FUN_020CE528 = 0x020CE528; -FUN_020CE528 = 0x020CE528; FUN_020CE528 = 0x020CE528; FUN_020CF768 = 0x020CF768; FUN_020D1148 = 0x020D1148; -FUN_020D1148 = 0x020D1148; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D17A0 = 0x020D17A0; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; -FUN_020D180C = 0x020D180C; FUN_020D180C = 0x020D180C; FUN_020D182C = 0x020D182C; FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D18FC = 0x020D18FC; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1944 = 0x020D1944; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; FUN_020D1C94 = 0x020D1C94; -FUN_020D1C94 = 0x020D1C94; -FUN_020D1CC4 = 0x020D1CC4; FUN_020D1CC4 = 0x020D1CC4; FUN_020D1CD4 = 0x020D1CD4; FUN_020D1D10 = 0x020D1D10; -FUN_020D1D10 = 0x020D1D10; -FUN_020D1D30 = 0x020D1D30; FUN_020D1D30 = 0x020D1D30; FUN_020D2040 = 0x020D2040; FUN_020D2094 = 0x020D2094; -FUN_020D2094 = 0x020D2094; -FUN_020D2210 = 0x020D2210; FUN_020D2210 = 0x020D2210; FUN_020D23B4 = 0x020D23B4; FUN_020D2454 = 0x020D2454; FUN_020D24EC = 0x020D24EC; -FUN_020D24EC = 0x020D24EC; -FUN_020D24EC = 0x020D24EC; -FUN_020D24EC = 0x020D24EC; -FUN_020D36C4 = 0x020D36C4; FUN_020D36C4 = 0x020D36C4; -FUN_020D36C4 = 0x020D36C4; -FUN_020D36D8 = 0x020D36D8; FUN_020D36D8 = 0x020D36D8; -FUN_020D36D8 = 0x020D36D8; -FUN_020D36F0 = 0x020D36F0; FUN_020D36F0 = 0x020D36F0; -FUN_020D36F0 = 0x020D36F0; -FUN_020D3A90 = 0x020D3A90; FUN_020D3A90 = 0x020D3A90; FUN_020D3AA0 = 0x020D3AA0; FUN_020D3C14 = 0x020D3C14; -FUN_020D3C14 = 0x020D3C14; -FUN_020D3CB8 = 0x020D3CB8; FUN_020D3CB8 = 0x020D3CB8; FUN_020D3DCC = 0x020D3DCC; FUN_020D3E24 = 0x020D3E24; FUN_020D3EC4 = 0x020D3EC4; -FUN_020D3EC4 = 0x020D3EC4; FUN_020D400C = 0x020D400C; FUN_020D40B8 = 0x020D40B8; FUN_020D4718 = 0x020D4718; FUN_020D47CC = 0x020D47CC; -FUN_020D47CC = 0x020D47CC; FUN_020D4980 = 0x020D4980; FUN_020D4A5C = 0x020D4A5C; FUN_020D4E68 = 0x020D4E68; FUN_020D50D8 = 0x020D50D8; -FUN_020D50D8 = 0x020D50D8; FUN_020D5150 = 0x020D5150; FUN_020D5168 = 0x020D5168; FUN_020D5180 = 0x020D5180; FUN_020D526C = 0x020D526C; -FUN_020D526C = 0x020D526C; FUN_020D5F40 = 0x020D5F40; FUN_020D614C = 0x020D614C; FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6320 = 0x020D6320; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D6578 = 0x020D6578; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; -FUN_020D660C = 0x020D660C; FUN_020D660C = 0x020D660C; FUN_020D66A0 = 0x020D66A0; -FUN_020D66A0 = 0x020D66A0; -FUN_020D66A0 = 0x020D66A0; -FUN_020D66A0 = 0x020D66A0; -FUN_020D66A0 = 0x020D66A0; FUN_020D66B0 = 0x020D66B0; -FUN_020D66B0 = 0x020D66B0; -FUN_020D66B0 = 0x020D66B0; -FUN_020D66B0 = 0x020D66B0; -FUN_020D6700 = 0x020D6700; FUN_020D6700 = 0x020D6700; +FUN_020D6D7C = 0x020D6D7C; FUN_020D6DAC = 0x020D6DAC; FUN_020D6DB8 = 0x020D6DB8; -FUN_020D6DB8 = 0x020D6DB8; -FUN_020D6DC4 = 0x020D6DC4; -FUN_020D6DC4 = 0x020D6DC4; -FUN_020D6DC4 = 0x020D6DC4; -FUN_020D6F20 = 0x020D6F20; -FUN_020D6F20 = 0x020D6F20; -FUN_020D6F20 = 0x020D6F20; -FUN_020D6F20 = 0x020D6F20; -FUN_020D7228 = 0x020D7228; -FUN_020D7228 = 0x020D7228; -FUN_020D7D18 = 0x020D7D18; -FUN_020D7E9C = 0x020D7E9C; -FUN_020D7E9C = 0x020D7E9C; -FUN_020D8A4C = 0x020D8A4C; -FUN_020D8A4C = 0x020D8A4C; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8AF0 = 0x020D8AF0; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8B94 = 0x020D8B94; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8C3C = 0x020D8C3C; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D8F34 = 0x020D8F34; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9014 = 0x020D9014; -FUN_020D9060 = 0x020D9060; -FUN_020D9060 = 0x020D9060; -FUN_020D9060 = 0x020D9060; -FUN_020D9168 = 0x020D9168; -FUN_020D9168 = 0x020D9168; -FUN_020D9244 = 0x020D9244; -FUN_020D9244 = 0x020D9244; -FUN_020D940C = 0x020D940C; -FUN_020D940C = 0x020D940C; -FUN_020D950C = 0x020D950C; -FUN_020D950C = 0x020D950C; -FUN_020D9554 = 0x020D9554; -FUN_020D9554 = 0x020D9554; -FUN_020D9624 = 0x020D9624; -FUN_020D9624 = 0x020D9624; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D972C = 0x020D972C; -FUN_020D9774 = 0x020D9774; -FUN_020D9774 = 0x020D9774; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D97B4 = 0x020D97B4; -FUN_020D9960 = 0x020D9960; -FUN_020D9960 = 0x020D9960; -FUN_020D9960 = 0x020D9960; -FUN_020D99EC = 0x020D99EC; -FUN_020D99EC = 0x020D99EC; -FUN_020D9B48 = 0x020D9B48; -FUN_020D9B48 = 0x020D9B48; -FUN_020D9B48 = 0x020D9B48; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DAD74 = 0x020DAD74; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DADD4 = 0x020DADD4; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DAF30 = 0x020DAF30; -FUN_020DB7A8 = 0x020DB7A8; -FUN_020DDC5C = 0x020DDC5C; -FUN_020DDC5C = 0x020DDC5C; -FUN_020DDC5C = 0x020DDC5C; -FUN_020DDCE4 = 0x020DDCE4; -FUN_020DDD28 = 0x020DDD28; -FUN_020DDD28 = 0x020DDD28; -FUN_020DDD28 = 0x020DDD28; -FUN_020DDD60 = 0x020DDD60; -FUN_020DDD60 = 0x020DDD60; -FUN_020DDD60 = 0x020DDD60; -FUN_020DDE44 = 0x020DDE44; -FUN_020DDE44 = 0x020DDE44; -FUN_020DDE44 = 0x020DDE44; -FUN_020DDF60 = 0x020DDF60; -FUN_020DDF60 = 0x020DDF60; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DE3F0 = 0x020DE3F0; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF438 = 0x020DF438; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF4A4 = 0x020DF4A4; -FUN_020DF510 = 0x020DF510; -FUN_020DF510 = 0x020DF510; -FUN_020E2EAC = 0x020E2EAC; -FUN_020E2EC8 = 0x020E2EC8; -FUN_020E2EC8 = 0x020E2EC8; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EA980 = 0x020EA980; -FUN_020EAEF0 = 0x020EAEF0; -FUN_020EAEF0 = 0x020EAEF0; -FUN_020EAEF0 = 0x020EAEF0; -FUN_020EAEF0 = 0x020EAEF0; -FUN_020EB010 = 0x020EB010; -FUN_020EB010 = 0x020EB010; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB084 = 0x020EB084; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4C0 = 0x020EB4C0; -FUN_020EB4F4 = 0x020EB4F4; -FUN_020EB4F4 = 0x020EB4F4; -FUN_020EB4F4 = 0x020EB4F4; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB534 = 0x020EB534; -FUN_020EB57C = 0x020EB57C; -FUN_020EB57C = 0x020EB57C; -FUN_020EB57C = 0x020EB57C; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB5C4 = 0x020EB5C4; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EB7B0 = 0x020EB7B0; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBA38 = 0x020EBA38; -FUN_020EBBE8 = 0x020EBBE8; -FUN_020EBBE8 = 0x020EBBE8; -FUN_020EBBE8 = 0x020EBBE8; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; -FUN_020EBC30 = 0x020EBC30; +FUN_020D6DC4 = 0x020D6DC4; +FUN_020D6F20 = 0x020D6F20; +FUN_020D7228 = 0x020D7228; +FUN_020D7D18 = 0x020D7D18; +FUN_020D7E9C = 0x020D7E9C; +FUN_020D8A4C = 0x020D8A4C; +FUN_020D8AF0 = 0x020D8AF0; +FUN_020D8B94 = 0x020D8B94; +FUN_020D8C3C = 0x020D8C3C; +FUN_020D8F34 = 0x020D8F34; +FUN_020D9014 = 0x020D9014; +FUN_020D9060 = 0x020D9060; +FUN_020D9168 = 0x020D9168; +FUN_020D9244 = 0x020D9244; +FUN_020D940C = 0x020D940C; +FUN_020D950C = 0x020D950C; +FUN_020D9554 = 0x020D9554; +FUN_020D9624 = 0x020D9624; +FUN_020D972C = 0x020D972C; +FUN_020D9774 = 0x020D9774; +FUN_020D97B4 = 0x020D97B4; +FUN_020D9960 = 0x020D9960; +FUN_020D99EC = 0x020D99EC; +FUN_020D9B48 = 0x020D9B48; +FUN_020DAD74 = 0x020DAD74; +FUN_020DADD4 = 0x020DADD4; +FUN_020DAF30 = 0x020DAF30; +FUN_020DB7A8 = 0x020DB7A8; +FUN_020DDC5C = 0x020DDC5C; +FUN_020DDCE4 = 0x020DDCE4; +FUN_020DDD28 = 0x020DDD28; +FUN_020DDD60 = 0x020DDD60; +FUN_020DDE44 = 0x020DDE44; +FUN_020DDF60 = 0x020DDF60; +FUN_020DE3F0 = 0x020DE3F0; +FUN_020DF438 = 0x020DF438; +FUN_020DF4A4 = 0x020DF4A4; +FUN_020DF510 = 0x020DF510; +FUN_020E2EAC = 0x020E2EAC; +FUN_020E2EC8 = 0x020E2EC8; +FUN_020EA980 = 0x020EA980; +FUN_020EAEF0 = 0x020EAEF0; +FUN_020EB010 = 0x020EB010; +FUN_020EB084 = 0x020EB084; +FUN_020EB4C0 = 0x020EB4C0; +FUN_020EB4F4 = 0x020EB4F4; +FUN_020EB534 = 0x020EB534; +FUN_020EB57C = 0x020EB57C; +FUN_020EB5C4 = 0x020EB5C4; +FUN_020EB7B0 = 0x020EB7B0; +FUN_020EBA38 = 0x020EBA38; +FUN_020EBBE8 = 0x020EBBE8; FUN_020EBC30 = 0x020EBC30; +FUN_020EBC50 = 0x020EBC50; FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBC80 = 0x020EBC80; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_020EBE8C = 0x020EBE8C; -FUN_021D78FC = 0x021D78FC; +FUN_021D74E0 = 0x021D74E0; +FUN_021D76AC = 0x021D76AC; +FUN_021D77C4 = 0x021D77C4; +FUN_021D7800 = 0x021D7800; FUN_021D78FC = 0x021D78FC; -FUN_021D78FC = 0x021D78FC; -FUN_021D79B4 = 0x021D79B4; FUN_021D79B4 = 0x021D79B4; -FUN_021D79B4 = 0x021D79B4; -FUN_021D7CA4 = 0x021D7CA4; FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7CA4 = 0x021D7CA4; -FUN_021D7F8C = 0x021D7F8C; FUN_021D7F8C = 0x021D7F8C; FUN_021D8018 = 0x021D8018; -FUN_021D8018 = 0x021D8018; -FUN_021D8018 = 0x021D8018; FUN_021D8164 = 0x021D8164; -FUN_021D8164 = 0x021D8164; -FUN_021D82BC = 0x021D82BC; FUN_021D82BC = 0x021D82BC; FUN_021D8320 = 0x021D8320; -FUN_021D8320 = 0x021D8320; -FUN_021D836C = 0x021D836C; FUN_021D836C = 0x021D836C; -FUN_021D83C0 = 0x021D83C0; -FUN_021D83C0 = 0x021D83C0; +FUN_021D83A8 = 0x021D83A8; FUN_021D83C0 = 0x021D83C0; FUN_021D844C = 0x021D844C; -FUN_021D844C = 0x021D844C; -FUN_021D85FC = 0x021D85FC; +FUN_021D8494 = 0x021D8494; FUN_021D85FC = 0x021D85FC; FUN_021D8624 = 0x021D8624; -FUN_021D8624 = 0x021D8624; -FUN_021D88E4 = 0x021D88E4; -FUN_021D88E4 = 0x021D88E4; -FUN_021D88E4 = 0x021D88E4; -FUN_021D88E4 = 0x021D88E4; -FUN_021D88E4 = 0x021D88E4; +FUN_021D865C = 0x021D865C; +FUN_021D8758 = 0x021D8758; +FUN_021D8820 = 0x021D8820; FUN_021D88E4 = 0x021D88E4; FUN_021D89CC = 0x021D89CC; -FUN_021D89CC = 0x021D89CC; -FUN_021D8B64 = 0x021D8B64; -FUN_021D8B64 = 0x021D8B64; -FUN_021D8B64 = 0x021D8B64; FUN_021D8B64 = 0x021D8B64; -FUN_021D8B64 = 0x021D8B64; -FUN_021D8B64 = 0x021D8B64; -FUN_021D8B64 = 0x021D8B64; -FUN_021D8C24 = 0x021D8C24; FUN_021D8C24 = 0x021D8C24; FUN_021D917C = 0x021D917C; -FUN_021D917C = 0x021D917C; -FUN_021D959C = 0x021D959C; -FUN_021D959C = 0x021D959C; -FUN_021D959C = 0x021D959C; FUN_021D959C = 0x021D959C; -FUN_021D959C = 0x021D959C; -FUN_021D967C = 0x021D967C; -FUN_021D967C = 0x021D967C; -FUN_021D967C = 0x021D967C; FUN_021D967C = 0x021D967C; -FUN_021D967C = 0x021D967C; -FUN_021D96F4 = 0x021D96F4; -FUN_021D96F4 = 0x021D96F4; -FUN_021D96F4 = 0x021D96F4; FUN_021D96F4 = 0x021D96F4; -FUN_021D96F4 = 0x021D96F4; -FUN_021D96F4 = 0x021D96F4; -FUN_021D9708 = 0x021D9708; -FUN_021D9708 = 0x021D9708; FUN_021D9708 = 0x021D9708; -FUN_021D9708 = 0x021D9708; -FUN_021D9708 = 0x021D9708; -FUN_021D9708 = 0x021D9708; -FUN_021D971C = 0x021D971C; -FUN_021D971C = 0x021D971C; -FUN_021D971C = 0x021D971C; -FUN_021D971C = 0x021D971C; -FUN_021D971C = 0x021D971C; FUN_021D971C = 0x021D971C; FUN_021D9820 = 0x021D9820; -FUN_021D9820 = 0x021D9820; -FUN_021D9820 = 0x021D9820; -FUN_021D9820 = 0x021D9820; -FUN_021D9820 = 0x021D9820; -FUN_021D9820 = 0x021D9820; -FUN_021D99F8 = 0x021D99F8; -FUN_021D99F8 = 0x021D99F8; -FUN_021D99F8 = 0x021D99F8; FUN_021D99F8 = 0x021D99F8; -FUN_021D99F8 = 0x021D99F8; -FUN_021DA464 = 0x021DA464; FUN_021DA464 = 0x021DA464; +FUN_021DA4EC = 0x021DA4EC; +FUN_021DA54C = 0x021DA54C; FUN_021DA58C = 0x021DA58C; -FUN_021DA58C = 0x021DA58C; -FUN_021DA5B8 = 0x021DA5B8; FUN_021DA5B8 = 0x021DA5B8; -FUN_021DA5B8 = 0x021DA5B8; -FUN_021DA5C8 = 0x021DA5C8; FUN_021DA5C8 = 0x021DA5C8; FUN_021DA5D0 = 0x021DA5D0; -FUN_021DA5D0 = 0x021DA5D0; -FUN_021DA5D0 = 0x021DA5D0; +FUN_021DA5D8 = 0x021DA5D8; +FUN_021DA7B4 = 0x021DA7B4; +FUN_021DAAA4 = 0x021DAAA4; FUN_021DAC70 = 0x021DAC70; -FUN_021DAC70 = 0x021DAC70; -FUN_021DAE40 = 0x021DAE40; FUN_021DAE40 = 0x021DAE40; FUN_021DAED4 = 0x021DAED4; -FUN_021DAED4 = 0x021DAED4; -FUN_021DAF28 = 0x021DAF28; FUN_021DAF28 = 0x021DAF28; FUN_021DAF78 = 0x021DAF78; -FUN_021DAF78 = 0x021DAF78; -FUN_021DAF98 = 0x021DAF98; FUN_021DAF98 = 0x021DAF98; -FUN_021DAF98 = 0x021DAF98; -FUN_021DB030 = 0x021DB030; -FUN_021DB030 = 0x021DB030; -FUN_021DB030 = 0x021DB030; FUN_021DB030 = 0x021DB030; FUN_021DB7E8 = 0x021DB7E8; -FUN_021DB7E8 = 0x021DB7E8; -FUN_021DB858 = 0x021DB858; FUN_021DB858 = 0x021DB858; FUN_021DC174 = 0x021DC174; -FUN_021DC174 = 0x021DC174; -FUN_021DC174 = 0x021DC174; -FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD6F0 = 0x021DD6F0; FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD6F0 = 0x021DD6F0; -FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; -FUN_021DD718 = 0x021DD718; -FUN_021DDB08 = 0x021DDB08; -FUN_021DDB08 = 0x021DDB08; -FUN_021DDB08 = 0x021DDB08; -FUN_021DDB08 = 0x021DDB08; -FUN_021DDB08 = 0x021DDB08; FUN_021DDB08 = 0x021DDB08; -FUN_021DDB08 = 0x021DDB08; -FUN_021E1374 = 0x021E1374; FUN_021E1374 = 0x021E1374; FUN_021E1858 = 0x021E1858; -FUN_021E1858 = 0x021E1858; -FUN_021E1994 = 0x021E1994; FUN_021E1994 = 0x021E1994; FUN_021E1BF8 = 0x021E1BF8; -FUN_021E1BF8 = 0x021E1BF8; -FUN_021E1BF8 = 0x021E1BF8; -FUN_021E1C4C = 0x021E1C4C; -FUN_021E1C4C = 0x021E1C4C; FUN_021E1C4C = 0x021E1C4C; FUN_021E1C54 = 0x021E1C54; -FUN_021E1C54 = 0x021E1C54; -FUN_021E1C54 = 0x021E1C54; FUN_021E1ECC = 0x021E1ECC; -FUN_021E1ECC = 0x021E1ECC; -FUN_021E1F34 = 0x021E1F34; FUN_021E1F34 = 0x021E1F34; -FUN_021E1F34 = 0x021E1F34; -FUN_021E1F58 = 0x021E1F58; FUN_021E1F58 = 0x021E1F58; FUN_021E1F60 = 0x021E1F60; -FUN_021E1F60 = 0x021E1F60; -FUN_021E2464 = 0x021E2464; FUN_021E2464 = 0x021E2464; FUN_021E2608 = 0x021E2608; -FUN_021E2608 = 0x021E2608; -FUN_021E26CC = 0x021E26CC; FUN_021E26CC = 0x021E26CC; +FUN_021E27E8 = 0x021E27E8; +FUN_021E288C = 0x021E288C; +FUN_021E28A0 = 0x021E28A0; +FUN_021E2950 = 0x021E2950; +FUN_021E29B4 = 0x021E29B4; +FUN_021E29C8 = 0x021E29C8; +FUN_021E2A70 = 0x021E2A70; +FUN_021E2AD4 = 0x021E2AD4; FUN_021E2B80 = 0x021E2B80; -FUN_021E2B80 = 0x021E2B80; -FUN_021E2B9C = 0x021E2B9C; FUN_021E2B9C = 0x021E2B9C; FUN_021E2BB8 = 0x021E2BB8; -FUN_021E2BB8 = 0x021E2BB8; -FUN_021E2BB8 = 0x021E2BB8; -FUN_021E2BB8 = 0x021E2BB8; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2BD0 = 0x021E2BD0; -FUN_021E2C24 = 0x021E2C24; FUN_021E2C24 = 0x021E2C24; -FUN_021E2C24 = 0x021E2C24; -FUN_021E2C58 = 0x021E2C58; -FUN_021E2C58 = 0x021E2C58; -FUN_021E2C58 = 0x021E2C58; FUN_021E2C58 = 0x021E2C58; FUN_021E2CBC = 0x021E2CBC; -FUN_021E2CBC = 0x021E2CBC; -FUN_021E32F0 = 0x021E32F0; FUN_021E32F0 = 0x021E32F0; -FUN_021E32F0 = 0x021E32F0; -FUN_021E331C = 0x021E331C; -FUN_021E331C = 0x021E331C; -FUN_021E331C = 0x021E331C; FUN_021E331C = 0x021E331C; FUN_021E3424 = 0x021E3424; -FUN_021E3424 = 0x021E3424; -FUN_021E3444 = 0x021E3444; FUN_021E3444 = 0x021E3444; FUN_021E495C = 0x021E495C; -FUN_021E495C = 0x021E495C; -FUN_021E4C54 = 0x021E4C54; FUN_021E4C54 = 0x021E4C54; FUN_021E4C60 = 0x021E4C60; -FUN_021E4C60 = 0x021E4C60; -FUN_021E4DE4 = 0x021E4DE4; FUN_021E4DE4 = 0x021E4DE4; +FUN_021E5614 = 0x021E5614; +FUN_021E57D4 = 0x021E57D4; FUN_021E5970 = 0x021E5970; -FUN_021E5970 = 0x021E5970; -FUN_021E5B30 = 0x021E5B30; FUN_021E5B30 = 0x021E5B30; -FUN_021E5B30 = 0x021E5B30; -FUN_021E5B30 = 0x021E5B30; -FUN_021E5B30 = 0x021E5B30; -FUN_021E5FD8 = 0x021E5FD8; FUN_021E5FD8 = 0x021E5FD8; -FUN_021E5FD8 = 0x021E5FD8; -FUN_021E5FD8 = 0x021E5FD8; -FUN_021E5FD8 = 0x021E5FD8; -FUN_021E5FD8 = 0x021E5FD8; -FUN_021E5FE0 = 0x021E5FE0; -FUN_021E5FE0 = 0x021E5FE0; -FUN_021E5FE0 = 0x021E5FE0; -FUN_021E5FE0 = 0x021E5FE0; -FUN_021E5FE0 = 0x021E5FE0; -FUN_021E5FE0 = 0x021E5FE0; FUN_021E5FE0 = 0x021E5FE0; FUN_021E6410 = 0x021E6410; -FUN_021E6410 = 0x021E6410; -FUN_021E643C = 0x021E643C; FUN_021E643C = 0x021E643C; FUN_021E6990 = 0x021E6990; -FUN_021E6990 = 0x021E6990; -FUN_021E69BC = 0x021E69BC; FUN_021E69BC = 0x021E69BC; FUN_021E6BF4 = 0x021E6BF4; -FUN_021E6BF4 = 0x021E6BF4; -FUN_021E7030 = 0x021E7030; FUN_021E7030 = 0x021E7030; FUN_021E70F0 = 0x021E70F0; -FUN_021E70F0 = 0x021E70F0; -FUN_021E7138 = 0x021E7138; -FUN_021E7138 = 0x021E7138; -FUN_021E7138 = 0x021E7138; FUN_021E7138 = 0x021E7138; FUN_021E7184 = 0x021E7184; -FUN_021E7184 = 0x021E7184; -FUN_021E71E8 = 0x021E71E8; FUN_021E71E8 = 0x021E71E8; FUN_021E7750 = 0x021E7750; -FUN_021E7750 = 0x021E7750; -FUN_021E7750 = 0x021E7750; FUN_021E799C = 0x021E799C; -FUN_021E799C = 0x021E799C; -FUN_021E799C = 0x021E799C; -FUN_021E7AC0 = 0x021E7AC0; -FUN_021E7AC0 = 0x021E7AC0; FUN_021E7AC0 = 0x021E7AC0; FUN_021E7EA0 = 0x021E7EA0; -FUN_021E7EA0 = 0x021E7EA0; -FUN_021E7EA0 = 0x021E7EA0; -FUN_021E7EA0 = 0x021E7EA0; -FUN_021E7EB0 = 0x021E7EB0; FUN_021E7EB0 = 0x021E7EB0; -FUN_021E7EB0 = 0x021E7EB0; -FUN_021E7EC4 = 0x021E7EC4; -FUN_021E7EC4 = 0x021E7EC4; -FUN_021E7EC4 = 0x021E7EC4; FUN_021E7EC4 = 0x021E7EC4; -FUN_021E7EC4 = 0x021E7EC4; -FUN_021E7EC8 = 0x021E7EC8; FUN_021E7EC8 = 0x021E7EC8; FUN_021E7ED0 = 0x021E7ED0; -FUN_021E7ED0 = 0x021E7ED0; -FUN_021E7ED0 = 0x021E7ED0; -FUN_021E7ED0 = 0x021E7ED0; -FUN_021E7ED0 = 0x021E7ED0; FUN_021E7ED8 = 0x021E7ED8; -FUN_021E7ED8 = 0x021E7ED8; -FUN_021E7FBC = 0x021E7FBC; FUN_021E7FBC = 0x021E7FBC; FUN_021E8128 = 0x021E8128; -FUN_021E8128 = 0x021E8128; -FUN_021E8128 = 0x021E8128; -FUN_021E8130 = 0x021E8130; -FUN_021E8130 = 0x021E8130; FUN_021E8130 = 0x021E8130; -FUN_021E8130 = 0x021E8130; -FUN_021E8140 = 0x021E8140; FUN_021E8140 = 0x021E8140; -FUN_021E8140 = 0x021E8140; -FUN_021E8144 = 0x021E8144; FUN_021E8144 = 0x021E8144; FUN_021E8148 = 0x021E8148; -FUN_021E8148 = 0x021E8148; -FUN_021E8148 = 0x021E8148; FUN_021E8158 = 0x021E8158; -FUN_021E8158 = 0x021E8158; -FUN_021E81BC = 0x021E81BC; FUN_021E81BC = 0x021E81BC; FUN_021E84F4 = 0x021E84F4; -FUN_021E84F4 = 0x021E84F4; -FUN_021E856C = 0x021E856C; FUN_021E856C = 0x021E856C; FUN_021E8588 = 0x021E8588; -FUN_021E8588 = 0x021E8588; -FUN_021E85E4 = 0x021E85E4; FUN_021E85E4 = 0x021E85E4; FUN_021E85FC = 0x021E85FC; -FUN_021E85FC = 0x021E85FC; -FUN_021ECF14 = 0x021ECF14; +FUN_021EC57C = 0x021EC57C; +FUN_021EC71C = 0x021EC71C; +FUN_021EC854 = 0x021EC854; +FUN_021EC864 = 0x021EC864; +FUN_021ECD64 = 0x021ECD64; FUN_021ECF14 = 0x021ECF14; +FUN_021ED0CC = 0x021ED0CC; FUN_021ED49C = 0x021ED49C; -FUN_021ED49C = 0x021ED49C; -FUN_021ED940 = 0x021ED940; +FUN_021ED4E0 = 0x021ED4E0; +FUN_021ED52C = 0x021ED52C; +FUN_021ED5C4 = 0x021ED5C4; +FUN_021ED5EC = 0x021ED5EC; +FUN_021ED644 = 0x021ED644; FUN_021ED940 = 0x021ED940; FUN_021EDA48 = 0x021EDA48; -FUN_021EDA48 = 0x021EDA48; -FUN_021EDBC8 = 0x021EDBC8; FUN_021EDBC8 = 0x021EDBC8; FUN_021EF5E0 = 0x021EF5E0; -FUN_021EF5E0 = 0x021EF5E0; -FUN_021EF5E0 = 0x021EF5E0; -FUN_021EF604 = 0x021EF604; -FUN_021EF604 = 0x021EF604; -FUN_021EF604 = 0x021EF604; -FUN_021EF604 = 0x021EF604; FUN_021EF604 = 0x021EF604; FUN_021EF620 = 0x021EF620; -FUN_021EF620 = 0x021EF620; -FUN_021EF654 = 0x021EF654; FUN_021EF654 = 0x021EF654; FUN_021EF824 = 0x021EF824; -FUN_021EF824 = 0x021EF824; -FUN_021EF824 = 0x021EF824; -FUN_021EF824 = 0x021EF824; -FUN_021EF844 = 0x021EF844; FUN_021EF844 = 0x021EF844; -FUN_021EF844 = 0x021EF844; -FUN_021EF8C8 = 0x021EF8C8; FUN_021EF8C8 = 0x021EF8C8; FUN_021EF8DC = 0x021EF8DC; -FUN_021EF8DC = 0x021EF8DC; -FUN_021EFA9C = 0x021EFA9C; FUN_021EFA9C = 0x021EFA9C; -FUN_021EFA9C = 0x021EFA9C; -FUN_021F02C4 = 0x021F02C4; FUN_021F02C4 = 0x021F02C4; FUN_021F1D8C = 0x021F1D8C; -FUN_021F1D8C = 0x021F1D8C; -FUN_021F1DC8 = 0x021F1DC8; -FUN_021F1DC8 = 0x021F1DC8; -FUN_021F1DC8 = 0x021F1DC8; -FUN_021F1DC8 = 0x021F1DC8; -FUN_021F1DC8 = 0x021F1DC8; FUN_021F1DC8 = 0x021F1DC8; FUN_021F1DFC = 0x021F1DFC; -FUN_021F1DFC = 0x021F1DFC; -FUN_021F1EC0 = 0x021F1EC0; FUN_021F1EC0 = 0x021F1EC0; -FUN_021F1EC0 = 0x021F1EC0; -FUN_021F1EC0 = 0x021F1EC0; -FUN_021F1F78 = 0x021F1F78; -FUN_021F1F78 = 0x021F1F78; FUN_021F1F78 = 0x021F1F78; FUN_021F2094 = 0x021F2094; -FUN_021F2094 = 0x021F2094; -FUN_021F2094 = 0x021F2094; -FUN_021F2094 = 0x021F2094; -FUN_021F20D8 = 0x021F20D8; FUN_021F20D8 = 0x021F20D8; FUN_021F20F8 = 0x021F20F8; -FUN_021F20F8 = 0x021F20F8; -FUN_021F2AF4 = 0x021F2AF4; FUN_021F2AF4 = 0x021F2AF4; FUN_021F2E0C = 0x021F2E0C; -FUN_021F2E0C = 0x021F2E0C; -FUN_021F2E28 = 0x021F2E28; FUN_021F2E28 = 0x021F2E28; -FUN_021F2E28 = 0x021F2E28; -FUN_021F2E28 = 0x021F2E28; -FUN_021F2F48 = 0x021F2F48; -FUN_021F2F48 = 0x021F2F48; FUN_021F2F48 = 0x021F2F48; FUN_021F2F6C = 0x021F2F6C; -FUN_021F2F6C = 0x021F2F6C; -FUN_021F3DA4 = 0x021F3DA4; +FUN_021F3A18 = 0x021F3A18; +FUN_021F3AB4 = 0x021F3AB4; +FUN_021F3B4C = 0x021F3B4C; +FUN_021F3B7C = 0x021F3B7C; FUN_021F3DA4 = 0x021F3DA4; FUN_021F44D8 = 0x021F44D8; -FUN_021F44D8 = 0x021F44D8; -FUN_021F4520 = 0x021F4520; FUN_021F4520 = 0x021F4520; FUN_021F4568 = 0x021F4568; -FUN_021F4568 = 0x021F4568; -FUN_021F45E8 = 0x021F45E8; +FUN_021F4594 = 0x021F4594; FUN_021F45E8 = 0x021F45E8; -FUN_021F45E8 = 0x021F45E8; -FUN_021F4608 = 0x021F4608; FUN_021F4608 = 0x021F4608; -FUN_021F4608 = 0x021F4608; -FUN_021F4BD0 = 0x021F4BD0; FUN_021F4BD0 = 0x021F4BD0; FUN_021F4C88 = 0x021F4C88; -FUN_021F4C88 = 0x021F4C88; -FUN_021F4D80 = 0x021F4D80; FUN_021F4D80 = 0x021F4D80; FUN_021F4DC8 = 0x021F4DC8; -FUN_021F4DC8 = 0x021F4DC8; -FUN_021F4E7C = 0x021F4E7C; FUN_021F4E7C = 0x021F4E7C; FUN_021F57EC = 0x021F57EC; -FUN_021F57EC = 0x021F57EC; -FUN_021F5C44 = 0x021F5C44; -FUN_021F5C44 = 0x021F5C44; -FUN_021F5C44 = 0x021F5C44; -FUN_021F5C44 = 0x021F5C44; -FUN_021F5C44 = 0x021F5C44; FUN_021F5C44 = 0x021F5C44; -FUN_021F5C44 = 0x021F5C44; -FUN_02211E60 = 0x02211E60; +FUN_021F61DC = 0x021F61DC; +FUN_021F61E8 = 0x021F61E8; FUN_02211E60 = 0x02211E60; +FUN_0222D5C0 = 0x0222D5C0; FUN_0222DAEC = 0x0222DAEC; -FUN_0222DAEC = 0x0222DAEC; -FUN_0222DD1C = 0x0222DD1C; FUN_0222DD1C = 0x0222DD1C; FUN_0222DD38 = 0x0222DD38; -FUN_0222DD38 = 0x0222DD38; -FUN_0222E2BC = 0x0222E2BC; FUN_0222E2BC = 0x0222E2BC; FUN_0222E360 = 0x0222E360; -FUN_0222E360 = 0x0222E360; -FUN_0222E3A0 = 0x0222E3A0; FUN_0222E3A0 = 0x0222E3A0; FUN_0222E7E8 = 0x0222E7E8; -FUN_0222E7E8 = 0x0222E7E8; -FUN_0222E874 = 0x0222E874; FUN_0222E874 = 0x0222E874; FUN_0222ED34 = 0x0222ED34; -FUN_0222ED34 = 0x0222ED34; -FUN_0222EDBC = 0x0222EDBC; FUN_0222EDBC = 0x0222EDBC; FUN_0222F440 = 0x0222F440; -FUN_0222F440 = 0x0222F440; -FUN_0222F480 = 0x0222F480; FUN_0222F480 = 0x0222F480; -FUN_0222F480 = 0x0222F480; -FUN_0222F7E0 = 0x0222F7E0; FUN_0222F7E0 = 0x0222F7E0; FUN_0222F990 = 0x0222F990; -FUN_0222F990 = 0x0222F990; -FUN_022300D4 = 0x022300D4; FUN_022300D4 = 0x022300D4; -FUN_022300D4 = 0x022300D4; -FUN_022300DC = 0x022300DC; FUN_022300DC = 0x022300DC; -FUN_022300DC = 0x022300DC; -FUN_022300E4 = 0x022300E4; FUN_022300E4 = 0x022300E4; FUN_022300E8 = 0x022300E8; -FUN_022300E8 = 0x022300E8; -FUN_022300F4 = 0x022300F4; FUN_022300F4 = 0x022300F4; -FUN_022300F4 = 0x022300F4; -FUN_02230100 = 0x02230100; FUN_02230100 = 0x02230100; -FUN_02230100 = 0x02230100; -FUN_0223010C = 0x0223010C; FUN_0223010C = 0x0223010C; FUN_02230118 = 0x02230118; -FUN_02230118 = 0x02230118; -FUN_02230118 = 0x02230118; -FUN_02230124 = 0x02230124; -FUN_02230124 = 0x02230124; FUN_02230124 = 0x02230124; FUN_02230F3C = 0x02230F3C; -FUN_02230F3C = 0x02230F3C; -FUN_02230F70 = 0x02230F70; FUN_02230F70 = 0x02230F70; FUN_02230F80 = 0x02230F80; -FUN_02230F80 = 0x02230F80; -FUN_02231344 = 0x02231344; FUN_02231344 = 0x02231344; FUN_02231350 = 0x02231350; -FUN_02231350 = 0x02231350; -FUN_0223135C = 0x0223135C; FUN_0223135C = 0x0223135C; FUN_02231368 = 0x02231368; -FUN_02231368 = 0x02231368; -FUN_02231374 = 0x02231374; FUN_02231374 = 0x02231374; FUN_02239944 = 0x02239944; -FUN_02239944 = 0x02239944; -FUN_02239AAC = 0x02239AAC; FUN_02239AAC = 0x02239AAC; +FUN_0223CACC = 0x0223CACC; FUN_0223CB08 = 0x0223CB08; -FUN_0223CB08 = 0x0223CB08; -FUN_0223CCDC = 0x0223CCDC; FUN_0223CCDC = 0x0223CCDC; FUN_0223CD7C = 0x0223CD7C; -FUN_0223CD7C = 0x0223CD7C; -FUN_0223CD7C = 0x0223CD7C; -FUN_0223D3D0 = 0x0223D3D0; -FUN_0223D3D0 = 0x0223D3D0; FUN_0223D3D0 = 0x0223D3D0; -FUN_0223D3D0 = 0x0223D3D0; -FUN_0223D3D0 = 0x0223D3D0; -FUN_0223D638 = 0x0223D638; -FUN_0223D638 = 0x0223D638; FUN_0223D638 = 0x0223D638; FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223D648 = 0x0223D648; -FUN_0223E060 = 0x0223E060; +FUN_0223DFB4 = 0x0223DFB4; FUN_0223E060 = 0x0223E060; +FUN_0223E118 = 0x0223E118; +FUN_0223E154 = 0x0223E154; +FUN_0223E1A4 = 0x0223E1A4; FUN_0223E1E0 = 0x0223E1E0; -FUN_0223E1E0 = 0x0223E1E0; -FUN_0223E4A8 = 0x0223E4A8; +FUN_0223E2AC = 0x0223E2AC; FUN_0223E4A8 = 0x0223E4A8; FUN_0223E4D4 = 0x0223E4D4; -FUN_0223E4D4 = 0x0223E4D4; -FUN_0223E554 = 0x0223E554; FUN_0223E554 = 0x0223E554; FUN_0223E6B8 = 0x0223E6B8; -FUN_0223E6B8 = 0x0223E6B8; -FUN_0223E734 = 0x0223E734; FUN_0223E734 = 0x0223E734; -FUN_0223E734 = 0x0223E734; -FUN_0223EB8C = 0x0223EB8C; +FUN_0223E7FC = 0x0223E7FC; FUN_0223EB8C = 0x0223EB8C; FUN_0223EF7C = 0x0223EF7C; -FUN_0223EF7C = 0x0223EF7C; -FUN_0223F8D8 = 0x0223F8D8; +FUN_0223F4D8 = 0x0223F4D8; +FUN_0223F4F4 = 0x0223F4F4; FUN_0223F8D8 = 0x0223F8D8; +FUN_0223FCE8 = 0x0223FCE8; FUN_02240790 = 0x02240790; -FUN_02240790 = 0x02240790; -FUN_022407DC = 0x022407DC; +FUN_022407CC = 0x022407CC; FUN_022407DC = 0x022407DC; FUN_022407F8 = 0x022407F8; -FUN_022407F8 = 0x022407F8; -FUN_02240844 = 0x02240844; +FUN_02240834 = 0x02240834; FUN_02240844 = 0x02240844; FUN_0224089C = 0x0224089C; -FUN_0224089C = 0x0224089C; -FUN_0224089C = 0x0224089C; +FUN_022408FC = 0x022408FC; +FUN_022411F4 = 0x022411F4; FUN_02241230 = 0x02241230; -FUN_02241230 = 0x02241230; -FUN_02241914 = 0x02241914; FUN_02241914 = 0x02241914; FUN_02242A38 = 0x02242A38; -FUN_02242A38 = 0x02242A38; -FUN_02244210 = 0x02244210; +FUN_02242BE0 = 0x02242BE0; +FUN_0224312C = 0x0224312C; +FUN_022432E4 = 0x022432E4; +FUN_0224339C = 0x0224339C; +FUN_022433A8 = 0x022433A8; +FUN_022433B0 = 0x022433B0; +FUN_022433B8 = 0x022433B8; +FUN_022433F8 = 0x022433F8; +FUN_02243408 = 0x02243408; +FUN_02243428 = 0x02243428; +FUN_02243448 = 0x02243448; +FUN_0224345C = 0x0224345C; +FUN_022434AC = 0x022434AC; +FUN_022434BC = 0x022434BC; +FUN_022434D0 = 0x022434D0; +FUN_02243694 = 0x02243694; +FUN_022436C8 = 0x022436C8; +FUN_022436E8 = 0x022436E8; +FUN_02243780 = 0x02243780; +FUN_02243838 = 0x02243838; +FUN_022438DC = 0x022438DC; +FUN_022438E0 = 0x022438E0; +FUN_022438FC = 0x022438FC; +FUN_02243920 = 0x02243920; +FUN_022439F8 = 0x022439F8; +FUN_02243AD8 = 0x02243AD8; +FUN_02243BA8 = 0x02243BA8; +FUN_02243C5C = 0x02243C5C; +FUN_02243D3C = 0x02243D3C; +FUN_02243DA0 = 0x02243DA0; +FUN_02243DB8 = 0x02243DB8; +FUN_02243DC0 = 0x02243DC0; +FUN_02243DC4 = 0x02243DC4; +FUN_02243DD8 = 0x02243DD8; +FUN_02243DE0 = 0x02243DE0; +FUN_02243E34 = 0x02243E34; +FUN_02243E74 = 0x02243E74; +FUN_02243F18 = 0x02243F18; +FUN_02243F50 = 0x02243F50; +FUN_02243F9C = 0x02243F9C; FUN_02244210 = 0x02244210; FUN_02244558 = 0x02244558; -FUN_02244558 = 0x02244558; -FUN_02244660 = 0x02244660; FUN_02244660 = 0x02244660; FUN_022446BC = 0x022446BC; -FUN_022446BC = 0x022446BC; -FUN_022446E0 = 0x022446E0; FUN_022446E0 = 0x022446E0; +FUN_022446FC = 0x022446FC; +FUN_02244758 = 0x02244758; +FUN_02244770 = 0x02244770; +FUN_02244824 = 0x02244824; +FUN_0224484C = 0x0224484C; +FUN_02244D1C = 0x02244D1C; +FUN_02244D20 = 0x02244D20; FUN_02244D3C = 0x02244D3C; -FUN_02244D3C = 0x02244D3C; -FUN_02244D40 = 0x02244D40; -FUN_02244D40 = 0x02244D40; -FUN_02244D40 = 0x02244D40; FUN_02244D40 = 0x02244D40; -FUN_02244D40 = 0x02244D40; -FUN_02244D58 = 0x02244D58; FUN_02244D58 = 0x02244D58; FUN_02244D98 = 0x02244D98; -FUN_02244D98 = 0x02244D98; -FUN_02244D98 = 0x02244D98; FUN_02244DA0 = 0x02244DA0; -FUN_02244DA0 = 0x02244DA0; -FUN_02244DB0 = 0x02244DB0; FUN_02244DB0 = 0x02244DB0; -FUN_02244DB0 = 0x02244DB0; -FUN_02245114 = 0x02245114; +FUN_02244DBC = 0x02244DBC; +FUN_02244DC4 = 0x02244DC4; +FUN_02244EF8 = 0x02244EF8; +FUN_02244F18 = 0x02244F18; +FUN_02244F24 = 0x02244F24; +FUN_02244F2C = 0x02244F2C; +FUN_02245088 = 0x02245088; FUN_02245114 = 0x02245114; +FUN_02245190 = 0x02245190; FUN_02245198 = 0x02245198; -FUN_02245198 = 0x02245198; -FUN_022451F0 = 0x022451F0; FUN_022451F0 = 0x022451F0; +FUN_0224525C = 0x0224525C; +FUN_022452A4 = 0x022452A4; +FUN_02245324 = 0x02245324; +FUN_02245340 = 0x02245340; FUN_02245358 = 0x02245358; -FUN_02245358 = 0x02245358; -FUN_0224566C = 0x0224566C; FUN_0224566C = 0x0224566C; +FUN_022456E8 = 0x022456E8; FUN_02245844 = 0x02245844; -FUN_02245844 = 0x02245844; -FUN_02245910 = 0x02245910; FUN_02245910 = 0x02245910; -FUN_02245910 = 0x02245910; -FUN_02245F1C = 0x02245F1C; FUN_02245F1C = 0x02245F1C; FUN_02245F4C = 0x02245F4C; -FUN_02245F4C = 0x02245F4C; -FUN_02245FA0 = 0x02245FA0; FUN_02245FA0 = 0x02245FA0; -FUN_0224666C = 0x0224666C; -FUN_0224666C = 0x0224666C; +FUN_022461A4 = 0x022461A4; +FUN_022461B8 = 0x022461B8; FUN_0224666C = 0x0224666C; FUN_022466A0 = 0x022466A0; -FUN_022466A0 = 0x022466A0; -FUN_022466A0 = 0x022466A0; -FUN_022466AC = 0x022466AC; -FUN_022466AC = 0x022466AC; FUN_022466AC = 0x022466AC; FUN_02246F1C = 0x02246F1C; -FUN_02246F1C = 0x02246F1C; -FUN_02247294 = 0x02247294; FUN_02247294 = 0x02247294; FUN_022472AC = 0x022472AC; -FUN_022472AC = 0x022472AC; -FUN_02247544 = 0x02247544; FUN_02247544 = 0x02247544; FUN_02247614 = 0x02247614; -FUN_02247614 = 0x02247614; -FUN_02247A34 = 0x02247A34; +FUN_02247728 = 0x02247728; +FUN_02247808 = 0x02247808; +FUN_02247970 = 0x02247970; FUN_02247A34 = 0x02247A34; FUN_022483BC = 0x022483BC; -FUN_022483BC = 0x022483BC; -FUN_022483E0 = 0x022483E0; FUN_022483E0 = 0x022483E0; FUN_022483EC = 0x022483EC; -FUN_022483EC = 0x022483EC; -FUN_022488FC = 0x022488FC; +FUN_02248724 = 0x02248724; +FUN_0224884C = 0x0224884C; +FUN_022488CC = 0x022488CC; +FUN_022488EC = 0x022488EC; +FUN_022488F4 = 0x022488F4; FUN_022488FC = 0x022488FC; FUN_0224891C = 0x0224891C; -FUN_0224891C = 0x0224891C; -FUN_02248B54 = 0x02248B54; FUN_02248B54 = 0x02248B54; FUN_02248B58 = 0x02248B58; -FUN_02248B58 = 0x02248B58; -FUN_02248B58 = 0x02248B58; -FUN_02248B58 = 0x02248B58; -FUN_02248B5C = 0x02248B5C; FUN_02248B5C = 0x02248B5C; FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B60 = 0x02248B60; -FUN_02248B6C = 0x02248B6C; FUN_02248B6C = 0x02248B6C; +FUN_02248CC0 = 0x02248CC0; FUN_02248CD0 = 0x02248CD0; -FUN_02248CD0 = 0x02248CD0; -FUN_02248DF8 = 0x02248DF8; FUN_02248DF8 = 0x02248DF8; +FUN_02248F70 = 0x02248F70; +FUN_02248FE0 = 0x02248FE0; +FUN_02249038 = 0x02249038; +FUN_022490A0 = 0x022490A0; +FUN_022491FC = 0x022491FC; FUN_022494C8 = 0x022494C8; -FUN_022494C8 = 0x022494C8; -FUN_02249508 = 0x02249508; FUN_02249508 = 0x02249508; FUN_02249668 = 0x02249668; -FUN_02249668 = 0x02249668; -FUN_02249668 = 0x02249668; -FUN_02249668 = 0x02249668; -FUN_02249668 = 0x02249668; -FUN_022497E8 = 0x022497E8; -FUN_022497E8 = 0x022497E8; FUN_022497E8 = 0x022497E8; FUN_02249E6C = 0x02249E6C; -FUN_02249E6C = 0x02249E6C; -FUN_02249E78 = 0x02249E78; FUN_02249E78 = 0x02249E78; FUN_02249E84 = 0x02249E84; -FUN_02249E84 = 0x02249E84; -FUN_02249E90 = 0x02249E90; FUN_02249E90 = 0x02249E90; FUN_0224A310 = 0x0224A310; -FUN_0224A310 = 0x0224A310; -FUN_0224A310 = 0x0224A310; -FUN_0224A528 = 0x0224A528; -FUN_0224A528 = 0x0224A528; FUN_0224A528 = 0x0224A528; FUN_0224A7C8 = 0x0224A7C8; -FUN_0224A7C8 = 0x0224A7C8; -FUN_0224ABAC = 0x0224ABAC; FUN_0224ABAC = 0x0224ABAC; FUN_0224B124 = 0x0224B124; -FUN_0224B124 = 0x0224B124; -FUN_0224B124 = 0x0224B124; FUN_0224B2C4 = 0x0224B2C4; -FUN_0224B2C4 = 0x0224B2C4; -FUN_0224B2C4 = 0x0224B2C4; -FUN_0224B568 = 0x0224B568; -FUN_0224B568 = 0x0224B568; FUN_0224B568 = 0x0224B568; FUN_0224B818 = 0x0224B818; -FUN_0224B818 = 0x0224B818; -FUN_0224B818 = 0x0224B818; -FUN_0224B818 = 0x0224B818; -FUN_0224B86C = 0x0224B86C; FUN_0224B86C = 0x0224B86C; FUN_0224B9E0 = 0x0224B9E0; -FUN_0224B9E0 = 0x0224B9E0; -FUN_0224BBEC = 0x0224BBEC; FUN_0224BBEC = 0x0224BBEC; FUN_0224BD90 = 0x0224BD90; -FUN_0224BD90 = 0x0224BD90; -FUN_0224BD90 = 0x0224BD90; -FUN_0224C038 = 0x0224C038; -FUN_0224C038 = 0x0224C038; FUN_0224C038 = 0x0224C038; +FUN_0224C27C = 0x0224C27C; +FUN_0224C520 = 0x0224C520; FUN_0224C678 = 0x0224C678; -FUN_0224C678 = 0x0224C678; -FUN_0224C6E8 = 0x0224C6E8; FUN_0224C6E8 = 0x0224C6E8; +FUN_0224C6F4 = 0x0224C6F4; FUN_0224C700 = 0x0224C700; -FUN_0224C700 = 0x0224C700; -FUN_0224C8C8 = 0x0224C8C8; FUN_0224C8C8 = 0x0224C8C8; FUN_0224CA2C = 0x0224CA2C; -FUN_0224CA2C = 0x0224CA2C; -FUN_0224CA54 = 0x0224CA54; FUN_0224CA54 = 0x0224CA54; FUN_0224CA58 = 0x0224CA58; -FUN_0224CA58 = 0x0224CA58; -FUN_0224CA88 = 0x0224CA88; FUN_0224CA88 = 0x0224CA88; +FUN_0224CA94 = 0x0224CA94; +FUN_0224CAA0 = 0x0224CAA0; +FUN_0224CAB4 = 0x0224CAB4; FUN_0224CB30 = 0x0224CB30; -FUN_0224CB30 = 0x0224CB30; -FUN_0224CECC = 0x0224CECC; +FUN_0224CBB0 = 0x0224CBB0; +FUN_0224CC24 = 0x0224CC24; FUN_0224CECC = 0x0224CECC; -FUN_0224CECC = 0x0224CECC; -FUN_0224D2E0 = 0x0224D2E0; +FUN_0224D14C = 0x0224D14C; FUN_0224D2E0 = 0x0224D2E0; FUN_0224D3E8 = 0x0224D3E8; -FUN_0224D3E8 = 0x0224D3E8; -FUN_0224D70C = 0x0224D70C; FUN_0224D70C = 0x0224D70C; FUN_0224D76C = 0x0224D76C; -FUN_0224D76C = 0x0224D76C; -FUN_0224D79C = 0x0224D79C; FUN_0224D79C = 0x0224D79C; FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; -FUN_0224DCB8 = 0x0224DCB8; FUN_0224DD94 = 0x0224DD94; -FUN_0224DD94 = 0x0224DD94; -FUN_0224DDB8 = 0x0224DDB8; FUN_0224DDB8 = 0x0224DDB8; -FUN_0224DDB8 = 0x0224DDB8; -FUN_0224E554 = 0x0224E554; FUN_0224E554 = 0x0224E554; FUN_0224E764 = 0x0224E764; -FUN_0224E764 = 0x0224E764; -FUN_0224E7C4 = 0x0224E7C4; FUN_0224E7C4 = 0x0224E7C4; FUN_0224F12C = 0x0224F12C; -FUN_0224F12C = 0x0224F12C; -FUN_0224F12C = 0x0224F12C; -FUN_0224F12C = 0x0224F12C; -FUN_02252534 = 0x02252534; FUN_02252534 = 0x02252534; FUN_02252538 = 0x02252538; -FUN_02252538 = 0x02252538; -FUN_022567E0 = 0x022567E0; FUN_022567E0 = 0x022567E0; +gUnknown2106FA0 = 0x2106FA0; \ No newline at end of file -- cgit v1.2.3 From f88f463f88c68a80f46affd304297c78da4cb904 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Fri, 17 Apr 2020 11:50:53 -0400 Subject: plug remaining holes. --- asm/arm9_thumb.s | 565 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 483 insertions(+), 82 deletions(-) diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s index 99146fa9..82e25175 100644 --- a/asm/arm9_thumb.s +++ b/asm/arm9_thumb.s @@ -24475,9 +24475,15 @@ _0200C596: mov r0, #0x0 pop {r3-r7, pc} .balign 4 -_0200C59C: - .byte 0x01, 0x4B, 0x01, 0x21 - .byte 0x09, 0x03, 0x18, 0x47, 0xE5, 0x01, 0x02, 0x02 + + thumb_func_start FUN_0200C59C +FUN_0200C59C: ; 0x0200C59C + ldr r3, _0200C5A4 ; =FUN_020201E4 + mov r1, #0x1 + lsl r1, r1, #0xc + bx r3 + .balign 4 +_0200C5A4: .word FUN_020201E4 + 1 thumb_func_start FUN_0200C5A8 FUN_0200C5A8: ; 0x0200C5A8 @@ -24555,8 +24561,13 @@ FUN_0200C608: ; 0x0200C608 bx r3 nop _0200C610: .word FUN_0200C600 + 1 -_0200C614: - .byte 0x00, 0x4B, 0x18, 0x47, 0x09, 0x02, 0x02, 0x02 + + thumb_func_start FUN_0200C614 +FUN_0200C614: ; 0x0200C614 + ldr r3, _0200C618 ; =FUN_02020208 + bx r3 + .balign 4 +_0200C618: .word FUN_02020208 + 1 thumb_func_start FUN_0200C61C FUN_0200C61C: ; 0x0200C61C @@ -24892,8 +24903,13 @@ FUN_0200C82C: ; 0x0200C82C bx r3 nop _0200C834: .word FUN_0200C7FC + 1 -_0200C838: - .byte 0x00, 0x4B, 0x18, 0x47, 0xED, 0x00, 0x02, 0x02 + + thumb_func_start FUN_0200C838 +FUN_0200C838: ; 0x0200C838 + ldr r3, _0200C83C ; =FUN_020200EC + bx r3 + .balign 4 +_0200C83C: .word FUN_020200EC + 1 thumb_func_start FUN_0200C840 FUN_0200C840: ; 0x0200C840 @@ -42975,9 +42991,15 @@ _02014F16: add r0, r4, #0x0 pop {r4, pc} .balign 4 -_02014F1C: - .byte 0x01, 0x4B, 0x0A, 0x1C - .byte 0x00, 0x21, 0x18, 0x47, 0x09, 0x4F, 0x01, 0x02 + + thumb_func_start FUN_02014F1C +FUN_02014F1C: ; 0x02014F1C + ldr r3, _02014F24 ; =FUN_02014F08 + add r2, r1, #0x0 + mov r1, #0x0 + bx r3 + .balign 4 +_02014F24: .word FUN_02014F08 + 1 thumb_func_start FUN_02014F28 FUN_02014F28: ; 0x02014F28 @@ -56907,11 +56929,32 @@ _0201B53C: add r0, r2, #0x0 bx lr .balign 4 -_0201B54C: - .byte 0x42, 0x88, 0x00, 0x2A - .byte 0x01, 0xD1, 0x00, 0x20, 0x70, 0x47, 0x08, 0x60, 0x02, 0x1D, 0x8A, 0x60, 0x4A, 0x60, 0x00, 0x22 - .byte 0xCA, 0x60, 0x0A, 0x61, 0x4A, 0x61, 0x42, 0x88, 0x52, 0x1E, 0x42, 0x80, 0x02, 0x6A, 0x40, 0x88 - .byte 0x80, 0x00, 0x11, 0x50, 0x01, 0x20, 0x70, 0x47 + + thumb_func_start FUN_0201B54C +FUN_0201B54C: ; 0x0201B54C + ldrh r2, [r0, #0x2] + cmp r2, #0x0 + bne _0201B556 + mov r0, #0x0 + bx lr +_0201B556: + str r0, [r1, #0x0] + add r2, r0, #0x4 + str r2, [r1, #0x8] + str r2, [r1, #0x4] + mov r2, #0x0 + str r2, [r1, #0xc] + str r2, [r1, #0x10] + str r2, [r1, #0x14] + ldrh r2, [r0, #0x2] + sub r2, r2, #0x1 + strh r2, [r0, #0x2] + ldr r2, [r0, #0x20] + ldrh r0, [r0, #0x2] + lsl r0, r0, #0x2 + str r1, [r2, r0] + mov r0, #0x1 + bx lr thumb_func_start FUN_0201B578 FUN_0201B578: ; 0x0201B578 @@ -59053,14 +59096,60 @@ FUN_0201C500: ; 0x0201C500 bx r3 .balign 4 _0201C508: .word 0x0201C541 -_0201C50C: - .byte 0x18, 0xB4, 0x02, 0x1C - .byte 0x42, 0x32, 0x12, 0x88, 0x04, 0x1C, 0x3C, 0x34, 0xA3, 0x18, 0xA2, 0x5A, 0x1B, 0x1D, 0x51, 0x43 - .byte 0x5B, 0x18, 0x02, 0xD1, 0x00, 0x20, 0x18, 0xBC, 0x70, 0x47, 0x41, 0x69, 0x42, 0x18, 0x19, 0x68 - .byte 0x80, 0x68, 0x09, 0x04, 0x09, 0x0C, 0x08, 0x18, 0xC0, 0x00, 0x10, 0x18, 0x18, 0xBC, 0x70, 0x47 - .byte 0x18, 0xB4, 0x82, 0x8E, 0x84, 0x18, 0xE2, 0x88, 0xA3, 0x18, 0xA2, 0x5A, 0x1B, 0x1D, 0x51, 0x43 - .byte 0x5A, 0x18, 0x02, 0xD1, 0x00, 0x20, 0x18, 0xBC, 0x70, 0x47, 0x81, 0x6B, 0x41, 0x18, 0x10, 0x88 - .byte 0xC0, 0x00, 0x08, 0x18, 0x18, 0xBC, 0x70, 0x47 + + thumb_func_start FUN_0201C50C +FUN_0201C50C: ; 0x0201C50C + push {r3-r4} + add r2, r0, #0x0 + add r2, #0x42 + ldrh r2, [r2, #0x0] + add r4, r0, #0x0 + add r4, #0x3c + add r3, r4, r2 + ldrh r2, [r4, r2] + add r3, r3, #0x4 + mul r1, r2 + add r3, r3, r1 + bne _0201C52A + mov r0, #0x0 + pop {r3-r4} + bx lr +_0201C52A: + ldr r1, [r0, #0x14] + add r2, r0, r1 + ldr r1, [r3, #0x0] + ldr r0, [r0, #0x8] + lsl r1, r1, #0x10 + lsr r1, r1, #0x10 + add r0, r1, r0 + lsl r0, r0, #0x3 + add r0, r2, r0 + pop {r3-r4} + bx lr + + thumb_func_start FUN_0201C540 +FUN_0201C540: ; 0x0201C540 + push {r3-r4} + ldrh r2, [r0, #0x34] + add r4, r0, r2 + ldrh r2, [r4, #0x6] + add r3, r4, r2 + ldrh r2, [r4, r2] + add r3, r3, #0x4 + mul r1, r2 + add r2, r3, r1 + bne _0201C55A + mov r0, #0x0 + pop {r3-r4} + bx lr +_0201C55A: + ldr r1, [r0, #0x38] + add r1, r0, r1 + ldrh r0, [r2, #0x0] + lsl r0, r0, #0x3 + add r0, r1, r0 + pop {r3-r4} + bx lr thumb_func_start FUN_0201C568 FUN_0201C568: ; 0x0201C568 @@ -62770,10 +62859,29 @@ _0201E060: pop {r3-r7, pc} nop _0201E064: .word 0x021C5998 -_0201E068: - .byte 0x01, 0x29, 0x05, 0xD1, 0x06, 0x49, 0x0A, 0x68 - .byte 0x91, 0x8C, 0x08, 0x43, 0x90, 0x84, 0x70, 0x47, 0x02, 0x29, 0x04, 0xD1, 0x02, 0x49, 0x0A, 0x68 - .byte 0xD1, 0x8C, 0x08, 0x43, 0xD0, 0x84, 0x70, 0x47, 0x98, 0x59, 0x1C, 0x02 + + thumb_func_start FUN_0201E068 +FUN_0201E068: ; 0x0201E068 + cmp r1, #0x1 + bne _0201E078 + ldr r1, _0201E088 ; =0x021C5998 + ldr r2, [r1, #0x0] + ldrh r1, [r2, #0x24] + orr r0, r1 + strh r0, [r2, #0x24] + bx lr +_0201E078: + cmp r1, #0x2 + bne _0201E086 + ldr r1, _0201E088 ; =0x021C5998 + ldr r2, [r1, #0x0] + ldrh r1, [r2, #0x26] + orr r0, r1 + strh r0, [r2, #0x26] +_0201E086: + bx lr + .balign 4 +_0201E088: .word 0x021C5998 thumb_func_start FUN_0201E08C FUN_0201E08C: ; 0x0201E08C @@ -67478,8 +67586,13 @@ FUN_02020238: ; 0x02020238 strb r1, [r0, #0x0] bx lr .balign 4 -_02020240: - .byte 0xF2, 0x30, 0x00, 0x78, 0x70, 0x47, 0x00, 0x00 + + thumb_func_start FUN_02020240 +FUN_02020240: ; 0x02020240 + add r0, #0xf2 + ldrb r0, [r0, #0x0] + bx lr + .balign 4 thumb_func_start FUN_02020248 FUN_02020248: ; 0x02020248 @@ -67644,10 +67757,30 @@ FUN_02020350: ; 0x02020350 FUN_02020354: ; 0x02020354 add r0, #0xd8 bx lr -_02020358: - .byte 0xC1, 0x62, 0x01, 0x29, 0x07, 0xD1, 0x01, 0x1C - .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x28, 0x30, 0x11, 0x43, 0x01, 0x70, 0x70, 0x47, 0x01, 0x1C - .byte 0x28, 0x31, 0x0A, 0x78, 0x04, 0x21, 0x51, 0x40, 0x28, 0x30, 0x01, 0x70, 0x70, 0x47, 0x00, 0x00 + + thumb_func_start FUN_02020358 +FUN_02020358: ; 0x02020358 + str r1, [r0, #0x2c] + cmp r1, #0x1 + bne _0202036E + add r1, r0, #0x0 + add r1, #0x28 + ldrb r2, [r1, #0x0] + mov r1, #0x4 + add r0, #0x28 + orr r1, r2 + strb r1, [r0, #0x0] + bx lr +_0202036E: + add r1, r0, #0x0 + add r1, #0x28 + ldrb r2, [r1, #0x0] + mov r1, #0x4 + eor r1, r2 + add r0, #0x28 + strb r1, [r0, #0x0] + bx lr + .balign 4 thumb_func_start FUN_02020380 FUN_02020380: ; 0x02020380 @@ -72455,8 +72588,13 @@ _0202261E: pop {r3-r5, pc} .balign 4 _02022630: .word 0x0002022C -_02022634: - .byte 0x00, 0x4B, 0x18, 0x47, 0x11, 0x26, 0x02, 0x02 + + thumb_func_start FUN_02022634 +FUN_02022634: ; 0x02022634 + ldr r3, _02022638 ; =FUN_02022610 + bx r3 + .balign 4 +_02022638: .word FUN_02022610 + 1 thumb_func_start FUN_0202263C FUN_0202263C: ; 0x0202263C @@ -159680,8 +159818,11 @@ _0204BE0A: add r0, r4, #0x0 pop {r4-r7} bx lr -_0204BE10: - .byte 0x80, 0x6C, 0x70, 0x47 + + thumb_func_start FUN_0204BE10 +FUN_0204BE10: ; 0x0204BE10 + ldr r0, [r0, #0x48] + bx lr thumb_func_start FUN_0204BE14 FUN_0204BE14: ; 0x0204BE14 @@ -171511,8 +171652,14 @@ _020519BA: bl FUN_02051810 pop {r4, pc} .balign 4 -_020519E4: - .byte 0x01, 0x4B, 0x00, 0x69, 0x18, 0x47, 0xC0, 0x46, 0x2D, 0x65, 0x04, 0x02 + + thumb_func_start FUN_020519E4 +FUN_020519E4: ; 0x020519E4 + ldr r3, _020519EC ; =FUN_0204652C + ldr r0, [r0, #0x10] + bx r3 + nop +_020519EC: .word FUN_0204652C + 1 thumb_func_start FUN_020519F0 FUN_020519F0: ; 0x020519F0 @@ -172069,10 +172216,27 @@ FUN_02051E24: ; 0x02051E24 bx r3 .balign 4 _02051E2C: .word FUN_0200CCF8 + 1 -_02051E30: - .byte 0x10, 0xB5, 0x04, 0x1C, 0x18, 0x1C, 0xFF, 0xF7, 0xD5, 0xFD, 0x01, 0x1C, 0x86, 0x31, 0x09, 0x88 - .byte 0xA1, 0x42, 0x06, 0xD0, 0x01, 0x1C, 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43 - .byte 0x01, 0x70, 0x10, 0xBD + + thumb_func_start FUN_02051E30 +FUN_02051E30: ; 0x02051E30 + push {r4, lr} + add r4, r0, #0x0 + add r0, r3, #0x0 + bl FUN_020519E4 + add r1, r0, #0x0 + add r1, #0x86 + ldrh r1, [r1, #0x0] + cmp r1, r4 + beq _02051E52 + add r1, r0, #0x0 + add r1, #0x89 + ldrb r2, [r1, #0x0] + mov r1, #0x2 + add r0, #0x89 + orr r1, r2 + strb r1, [r0, #0x0] +_02051E52: + pop {r4, pc} thumb_func_start FUN_02051E54 FUN_02051E54: ; 0x02051E54 @@ -172083,44 +172247,281 @@ FUN_02051E54: ; 0x02051E54 add r0, r0, #0x4 pop {r3, pc} .balign 4 -_02051E64: - .byte 0x10, 0xB5, 0x04, 0x1C, 0x08, 0x1C, 0xFF, 0xF7, 0xBB, 0xFD, 0x01, 0x1C - .byte 0x86, 0x31, 0x09, 0x88, 0xA1, 0x42, 0x01, 0xD0, 0x80, 0x6C, 0x10, 0xBD, 0x00, 0x20, 0x10, 0xBD - .byte 0x38, 0xB5, 0x05, 0x1C, 0x18, 0x1C, 0x14, 0x1C, 0xFF, 0xF7, 0xAC, 0xFD, 0x01, 0x1C, 0x86, 0x31 - .byte 0x09, 0x88, 0xA9, 0x42, 0x0A, 0xD0, 0x22, 0x78, 0x01, 0x1C, 0x85, 0x31, 0x0A, 0x70, 0x01, 0x1C - .byte 0x89, 0x31, 0x0A, 0x78, 0x02, 0x21, 0x89, 0x30, 0x11, 0x43, 0x01, 0x70, 0x38, 0xBD, 0x00, 0x00 - .byte 0x70, 0xB5, 0x04, 0x1C, 0xF4, 0xF7, 0x38, 0xFB, 0x05, 0x1C, 0x20, 0x1C, 0xF4, 0xF7, 0x36, 0xFB - .byte 0x04, 0x1C, 0x00, 0x21, 0x60, 0x6A, 0x0A, 0x1C, 0xFE, 0xF7, 0x96, 0xFE, 0x06, 0x1C, 0xA0, 0x6A - .byte 0x07, 0x28, 0x00, 0xD9, 0xAF, 0xE0, 0x00, 0x18, 0x78, 0x44, 0xC0, 0x88, 0x00, 0x04, 0x00, 0x14 - .byte 0x87, 0x44, 0x0E, 0x00, 0x98, 0x00, 0xE8, 0x00, 0xF8, 0x00, 0x08, 0x01, 0x1A, 0x01, 0x28, 0x01 - .byte 0x44, 0x01, 0x04, 0x20, 0xB8, 0xF7, 0xC4, 0xFD, 0xA0, 0x61, 0x00, 0x20, 0x1A, 0x21, 0x09, 0x22 - .byte 0x04, 0x23, 0xB8, 0xF7, 0xB3, 0xFC, 0xE0, 0x61, 0xC8, 0x20, 0x04, 0x21, 0xCF, 0xF7, 0x72, 0xFD - .byte 0x20, 0x60, 0xC8, 0x20, 0x04, 0x21, 0xCF, 0xF7, 0x6D, 0xFD, 0x60, 0x60, 0xF1, 0x78, 0xE0, 0x69 - .byte 0x22, 0x68, 0x89, 0x1C, 0xB8, 0xF7, 0xDC, 0xFC, 0x60, 0x6A, 0xDC, 0xF7, 0x3B, 0xF8, 0x02, 0x1C - .byte 0xA0, 0x69, 0x00, 0x21, 0xB8, 0xF7, 0x44, 0xFE, 0xA0, 0x69, 0x61, 0x68, 0x22, 0x68, 0xB9, 0xF7 - .byte 0x3B, 0xFC, 0x21, 0x1C, 0xA8, 0x68, 0x08, 0x31, 0x03, 0x22, 0x02, 0xF0, 0x35, 0xFB, 0xE8, 0x68 - .byte 0xD1, 0xF7, 0xD6, 0xFC, 0x01, 0x1C, 0x20, 0x1C, 0x08, 0x30, 0x02, 0xF0, 0x55, 0xFB, 0xE8, 0x68 - .byte 0xD1, 0xF7, 0xCE, 0xFC, 0x02, 0x1C, 0x20, 0x1C, 0x61, 0x68, 0x08, 0x30, 0x01, 0x23, 0x02, 0xF0 - .byte 0x73, 0xFB, 0x20, 0x62, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x5E, 0xE0, 0x20, 0x6A, 0x00, 0x06 - .byte 0x00, 0x0E, 0x02, 0xF0, 0xA1, 0xFB, 0x00, 0x28, 0x57, 0xD0, 0x2D, 0x48, 0x81, 0x6C, 0x01, 0x20 - .byte 0x08, 0x42, 0x52, 0xD0, 0xE0, 0x69, 0xB8, 0xF7, 0x8F, 0xFC, 0xA0, 0x69, 0xB8, 0xF7, 0xBC, 0xFD - .byte 0x20, 0x68, 0xCF, 0xF7, 0x3D, 0xFD, 0x60, 0x68, 0xCF, 0xF7, 0x3A, 0xFD, 0x20, 0x1C, 0x08, 0x30 - .byte 0x00, 0x21, 0xBB, 0xF7, 0x95, 0xF8, 0x20, 0x1C, 0x08, 0x30, 0xC7, 0xF7, 0xDD, 0xF8, 0x00, 0x20 - .byte 0x85, 0xF1, 0x70, 0xFE, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x36, 0xE0, 0xBC, 0xF7, 0x9C, 0xF9 - .byte 0x00, 0x28, 0x32, 0xD0, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x2E, 0xE0, 0x28, 0x1C, 0x31, 0x1C - .byte 0xE6, 0xF7, 0x4E, 0xFB, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x26, 0xE0, 0x28, 0x1C, 0xF4, 0xF7 - .byte 0x45, 0xFA, 0x00, 0x28, 0x21, 0xD1, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x1D, 0xE0, 0x28, 0x1C - .byte 0xF4, 0xF7, 0x4C, 0xFA, 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x16, 0xE0, 0x28, 0x1C, 0xF4, 0xF7 - .byte 0x49, 0xFA, 0x00, 0x28, 0x11, 0xD1, 0x01, 0x20, 0x85, 0xF1, 0x44, 0xFE, 0xFA, 0xF7, 0x3E, 0xFE - .byte 0xA0, 0x6A, 0x40, 0x1C, 0xA0, 0x62, 0x08, 0xE0, 0xFD, 0xF7, 0xE8, 0xFB, 0x20, 0x1C, 0xC4, 0xF7 - .byte 0xF3, 0xFC, 0x01, 0x20, 0x70, 0xBD, 0x01, 0x20, 0x70, 0xBD, 0x00, 0x20, 0x70, 0xBD, 0xC0, 0x46 - .byte 0xB8, 0x48, 0x1C, 0x02, 0xF8, 0xB5, 0x00, 0x90, 0xDF, 0xF7, 0xA2, 0xF8, 0x05, 0x1C, 0xFC, 0xF7 - .byte 0x41, 0xFA, 0x07, 0x1C, 0x28, 0x1C, 0xFC, 0xF7, 0x59, 0xFA, 0x06, 0x1C, 0x00, 0x24, 0xDE, 0xF7 - .byte 0x5F, 0xFF, 0x00, 0x28, 0x1F, 0xDD, 0xAC, 0x42, 0x18, 0xD0, 0x20, 0x1C, 0xFC, 0xF7, 0xBE, 0xF9 - .byte 0x87, 0x42, 0x13, 0xD1, 0x20, 0x1C, 0xFC, 0xF7, 0xE3, 0xF9, 0x86, 0x42, 0x0E, 0xD1, 0x0B, 0x20 - .byte 0x2C, 0x21, 0xC4, 0xF7, 0xA9, 0xFC, 0x02, 0x1C, 0x54, 0x62, 0x00, 0x20, 0x90, 0x62, 0x00, 0x98 - .byte 0x05, 0x49, 0xF4, 0xF7, 0x9B, 0xF9, 0xE5, 0xF7, 0x63, 0xFB, 0xF8, 0xBD, 0x64, 0x1C, 0xDE, 0xF7 - .byte 0x3F, 0xFF, 0x84, 0x42, 0xDF, 0xDB, 0xF8, 0xBD, 0xB1, 0x1E, 0x05, 0x02 + + thumb_func_start FUN_02051E64 +FUN_02051E64: ; 0x02051E64 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + bl FUN_020519E4 + add r1, r0, #0x0 + add r1, #0x86 + ldrh r1, [r1, #0x0] + cmp r1, r4 + beq _02051E7C + ldr r0, [r0, #0x48] + pop {r4, pc} +_02051E7C: + mov r0, #0x0 + pop {r4, pc} + + thumb_func_start FUN_02051E80 +FUN_02051E80: ; 0x02051E80 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r3, #0x0 + add r4, r2, #0x0 + bl FUN_020519E4 + add r1, r0, #0x0 + add r1, #0x86 + ldrh r1, [r1, #0x0] + cmp r1, r5 + beq _02051EAC + ldrb r2, [r4, #0x0] + add r1, r0, #0x0 + add r1, #0x85 + strb r2, [r1, #0x0] + add r1, r0, #0x0 + add r1, #0x89 + ldrb r2, [r1, #0x0] + mov r1, #0x2 + add r0, #0x89 + orr r1, r2 + strb r1, [r0, #0x0] +_02051EAC: + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02051EB0 +FUN_02051EB0: ; 0x02051EB0 + push {r4-r6, lr} + add r4, r0, #0x0 + bl FUN_02046528 + add r5, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0204652C + add r4, r0, #0x0 + mov r1, #0x0 + ldr r0, [r4, #0x24] + add r2, r1, #0x0 + bl FUN_02050BF8 + add r6, r0, #0x0 + ldr r0, [r4, #0x28] + cmp r0, #0x7 + bls _02051ED6 + b _02052036 +_02051ED6: + add r0, r0, r0 + add r0, pc + ldrh r0, [r0, #0x6] + lsl r0, r0, #0x10 + asr r0, r0, #0x10 + add pc, r0 +_02051EE2: ; jump table (using 16-bit offset) + .short _02051EF2 - _02051EE2 - 2; case 0 + .short _02051F7C - _02051EE2 - 2; case 1 + .short _02051FCC - _02051EE2 - 2; case 2 + .short _02051FDC - _02051EE2 - 2; case 3 + .short _02051FEC - _02051EE2 - 2; case 4 + .short _02051FFE - _02051EE2 - 2; case 5 + .short _0205200C - _02051EE2 - 2; case 6 + .short _02052028 - _02051EE2 - 2; case 7 +_02051EF2: + mov r0, #0x4 + bl FUN_0200AA80 + str r0, [r4, #0x18] + mov r0, #0x0 + mov r1, #0x1a + mov r2, #0x9 + mov r3, #0x4 + bl FUN_0200A86C + str r0, [r4, #0x1c] + mov r0, #0xc8 + mov r1, #0x4 + bl FUN_020219F4 + str r0, [r4, #0x0] + mov r0, #0xc8 + mov r1, #0x4 + bl FUN_020219F4 + str r0, [r4, #0x4] + ldrb r1, [r6, #0x3] + ldr r0, [r4, #0x1c] + ldr r2, [r4, #0x0] + add r1, r1, #0x2 + bl FUN_0200A8E0 + ldr r0, [r4, #0x24] + bl FUN_0202DFA4 + add r2, r0, #0x0 + ldr r0, [r4, #0x18] + mov r1, #0x0 + bl FUN_0200ABC0 + ldr r0, [r4, #0x18] + ldr r1, [r4, #0x4] + ldr r2, [r4, #0x0] + bl FUN_0200B7B8 + add r1, r4, #0x0 + ldr r0, [r5, #0x8] + add r1, #0x8 + mov r2, #0x3 + bl FUN_020545B8 + ldr r0, [r5, #0xc] + bl FUN_02023900 + add r1, r0, #0x0 + add r0, r4, #0x0 + add r0, #0x8 + bl FUN_02054608 + ldr r0, [r5, #0xc] + bl FUN_02023900 + add r2, r0, #0x0 + add r0, r4, #0x0 + ldr r1, [r4, #0x4] + add r0, #0x8 + mov r3, #0x1 + bl FUN_02054658 + str r0, [r4, #0x20] + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02051F7C: + ldr r0, [r4, #0x20] + lsl r0, r0, #0x18 + lsr r0, r0, #0x18 + bl FUN_020546C8 + cmp r0, #0x0 + beq _0205203A + ldr r0, _02052040 ; =0x021C48B8 + ldr r1, [r0, #0x48] + mov r0, #0x1 + tst r0, r1 + beq _0205203A + ldr r0, [r4, #0x1c] + bl FUN_0200A8B8 + ldr r0, [r4, #0x18] + bl FUN_0200AB18 + ldr r0, [r4, #0x0] + bl FUN_02021A20 + ldr r0, [r4, #0x4] + bl FUN_02021A20 + add r0, r4, #0x0 + add r0, #0x8 + mov r1, #0x0 + bl FUN_0200D0E0 + add r0, r4, #0x0 + add r0, #0x8 + bl FUN_02019178 + mov r0, #0x0 + bl FUN_021D7CA4 + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02051FCC: + bl FUN_0200E308 + cmp r0, #0x0 + beq _0205203A + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02051FDC: + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02038680 + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02051FEC: + add r0, r5, #0x0 + bl FUN_0204647C + cmp r0, #0x0 + bne _0205203A + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02051FFE: + add r0, r5, #0x0 + bl FUN_0204649C + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_0205200C: + add r0, r5, #0x0 + bl FUN_020464A4 + cmp r0, #0x0 + bne _0205203A + mov r0, #0x1 + bl FUN_021D7CA4 + bl FUN_0204CC9C + ldr r0, [r4, #0x28] + add r0, r0, #0x1 + str r0, [r4, #0x28] + b _0205203A +_02052028: + bl FUN_0204F7FC + add r0, r4, #0x0 + bl FUN_02016A18 + mov r0, #0x1 + pop {r4-r6, pc} +_02052036: + mov r0, #0x1 + pop {r4-r6, pc} +_0205203A: + mov r0, #0x0 + pop {r4-r6, pc} + nop +_02052040: .word 0x021C48B8 + + thumb_func_start FUN_02052044 +FUN_02052044: ; 0x02052044 + push {r3-r7, lr} + str r0, [sp, #0x0] + bl FUN_02031190 + add r5, r0, #0x0 + bl FUN_0204E4D4 + add r7, r0, #0x0 + add r0, r5, #0x0 + bl FUN_0204E50C + add r6, r0, #0x0 + mov r4, #0x0 + bl FUN_02030F20 + cmp r0, #0x0 + ble _020520A6 +_02052066: + cmp r4, r5 + beq _0205209C + add r0, r4, #0x0 + bl FUN_0204E3EC + cmp r7, r0 + bne _0205209C + add r0, r4, #0x0 + bl FUN_0204E440 + cmp r6, r0 + bne _0205209C + mov r0, #0xb + mov r1, #0x2c + bl FUN_020169D8 + add r2, r0, #0x0 + str r4, [r2, #0x24] + mov r0, #0x0 + str r0, [r2, #0x28] + ldr r0, [sp, #0x0] + ldr r1, _020520A8 ; =FUN_02051EB0 + bl FUN_020463CC + bl FUN_02037760 + pop {r3-r7, pc} +_0205209C: + add r4, r4, #0x1 + bl FUN_02030F20 + cmp r4, r0 + blt _02052066 +_020520A6: + pop {r3-r7, pc} + .balign 4 +_020520A8: .word FUN_02051EB0 + 1 thumb_func_start FUN_020520AC FUN_020520AC: ; 0x020520AC @@ -262527,7 +262928,7 @@ _0207D684: str r1, [r4, r0] b _0207D692 _0207D690: - .byte 0xF8, 0xBD + pop {r3-r7, pc} _0207D692: mov r1, #0x92 lsl r1, r1, #0x2 -- cgit v1.2.3